@docx-editor.dev/vue 2.8.0 → 2.9.0

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/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var vue=require('vue'),i18n=require('@docx-editor.dev/i18n'),editor=require('@docx-editor.dev/core/editor'),jsxRuntime=require('vue/jsx-runtime'),editor$1=require('@docx-editor.dev/core/contracts/editor');var as={version:"2.8.0"};var Op=as.version;var Aa=Symbol("locale"),Ha=Symbol("lang"),Zn=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(Aa,vue.shallowRef(i18n.en)),n=vue.inject(Ha,vue.shallowRef("en")),r=vue.computed(()=>typeof e.i18n?._lang=="string"?e.i18n._lang:n.value),a=vue.computed(()=>i18n.deepMerge(o.value,e.i18n)),l=vue.shallowRef(a.value),i=vue.shallowRef(r.value);return vue.watch([a,r],()=>{l.value=a.value,i.value=r.value;}),vue.provide(Aa,l),vue.provide(Ha,i),()=>t.default?.()}});function D(){let e=vue.inject(Aa,vue.shallowRef(i18n.en)),t=vue.inject(Ha,vue.shallowRef("en")),o=vue.shallowRef(i18n.createT(e.value,t.value));return vue.watch([e,t],()=>{o.value=i18n.createT(e.value,t.value);}),{catalogue:e,get t(){return o.value}}}function cs(e){let{t}=D();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var ps="(prefers-color-scheme: dark)";function ms(){return typeof window<"u"&&typeof window.matchMedia=="function"}function fs(){return ms()?window.matchMedia(ps).matches:false}function gs(e,t){return e==="dark"||e==="system"&&t}function Oa(e){if(!ms())return ()=>{};let t=window.matchMedia(ps);e(t.matches);let o=n=>e(n.matches);return t.addEventListener("change",o),()=>t.removeEventListener("change",o)}function j(e){vue.getCurrentScope()&&vue.onScopeDispose(e);}var Va=Symbol("docxEditor"),za=Symbol("editorStateTick"),Up=vue.shallowRef(null);function R(){return vue.inject(Va,Up)}function jt(){return vue.inject(za,vue.shallowRef(0))}var Zt=Symbol("ReviewRailContext");function Yt(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(Zt,e)}var $a=0;function Yp(){return $a}function I(e,t=Object.is,o){let n=R(),r=jt(),a=false,l,i,d=s=>{if(a&&s===l)return i;let c=e(s);return a&&t(i,c)?(l=s,i):(a=true,l=s,i=c,c)},u=()=>{let s=n.value;return d(s?s.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&($a++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{a=false;let s=u();t(p.value,s)||(p.value=s);},{flush:"post"}),j(()=>{$a--,o?.onUnsubscribe?.();})),p}function Fo(e){return e.paragraphId===""}var St=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),em=e=>e;function tm(){let e=o=>!!o&&(o.width>0||o.height>0);if(typeof document<"u"){let n=document.querySelector("[data-docx-caret]")?.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom}}let t=typeof window>"u"?null:window.getSelection();if(t&&t.rangeCount>0){let o=t.getRangeAt(0),n=o.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom};let r=o.startContainer,l=(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.getBoundingClientRect();if(e(l))return {left:l.left,top:l.bottom}}return null}var Ua=Symbol("HyperlinkPopupContext");function Te(){let e=vue.inject(Ua,null),t=Yn(e===null);return e??t}function Yn(e=true){let t=R(),o=vue.ref(St),n=vue.shallowRef(null),r=I(em),a=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),l=()=>{let v=n.value;v&&(v.editor.releaseSelection(v.pin),n.value=null);};j(l);let i=(v,P)=>{l();let T=t.value;o.value={mode:v?"reading":"editing",link:v??null,anchor:P??null,text:v?.text??"",url:v?v.kind==="internal"?`#${v.anchor??""}`:v.authored:"",copied:false,error:false,canEdit:T?t.value.can({type:"insertText",text:""}).ok:false};},d=()=>{l(),o.value=St;},u=()=>{let v=t.value,P=tm();l();let T=v?.surface?.hyperlinks.linkAtCaret()??v?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(T&&Fo(T)){i(T,P);return}if(T){o.value={mode:"editing",link:T,anchor:P,text:T.text,url:T.kind==="internal"?`#${T.anchor??""}`:T.authored,copied:false,error:false,canEdit:v?t.value.can({type:"insertText",text:""}).ok:false};return}let m=v?.query({type:"selectedText"})??"",C=v?.retainSelection()??null;v&&C&&(n.value={editor:v,pin:C}),o.value={mode:"editing",link:null,anchor:P,text:m,url:"",copied:false,error:false,canEdit:v?t.value.can({type:"insertText",text:""}).ok:false};};j(vue.watch(()=>[t.value,e],([v,P],T,m)=>{if(!v||!P)return;let C=v.setHyperlinkChrome({onPopover:S=>i(S.link,{left:S.rect.left,top:S.rect.bottom}),onRequest:u});m(C);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let v=o.value,P=t.value;if(v.mode==="reading"&&v.link){let T=Fo(v.link)?P?.surface?.hyperlinks.fieldLinkAtCaret()??null:P?.surface?.hyperlinks.linkAtCaret()??null;if(T&&T.id===v.link.id)return;o.value=St;return}if(v.mode==="editing"&&!v.link){let T=P?.surface;if(!T||T.retainedSelection())return;o.value=St;}});let p=async()=>{let v=o.value.link?.href;if(!v)return false;try{await navigator.clipboard.writeText(v);}catch{return false}return o.value={...o.value,copied:true},true},s=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=v=>{o.value={...o.value,text:v,copied:false,error:false};},g=v=>{o.value={...o.value,url:v,copied:false,error:false};},f=()=>{let v=t.value,P=o.value,T=v?.surface?.hyperlinks;if(!T)return false;let m=P.url.trim();if(m.length===0)return o.value={...P,error:true},false;let C=m.startsWith("#");return T.applyHyperlink({...C?{anchor:m.slice(1)}:{url:m},...P.text.trim().length>0?{text:P.text}:{}})?(d(),true):(o.value={...P,error:true},false)},b=()=>{let v=t.value?.surface?.hyperlinks,P=o.value.link;if(!v)return false;let T=v.removeHyperlink(P?.id);return T&&d(),T},h=()=>{let v=t.value?.surface?.navigation,P=o.value.link;if(!v||!P)return false;if(P.kind==="internal"){let m=P.anchor?v.goToBookmark(P.anchor):false;return m&&(o.value=St),m}let T=v.openExternal(P.href);return T&&(o.value=St),T};return {state:vue.computed(()=>o.value.mode==="closed"?St:{...o.value,canEdit:a.value}),open:i,openAtCaret:u,close:d,copy:p,beginEdit:s,setText:c,setUrl:g,commitEdit:f,unlink:b,openTarget:h}}var Se={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function rm(e){return e==="sdtLocked"||e==="sdtContentLocked"}function am(e){return e==="contentLocked"||e==="sdtContentLocked"}function qa(e,t){return !e.ok&&e.code===t}function Ve(){let e=vue.inject(Ga,null),t=Xn();return e??t}function Xn(){let e=R(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=I(b=>b),a=vue.computed(()=>e.value?.surface??null),l=vue.computed(()=>a.value?.contentControls??null);vue.watch([r,l,a],()=>{let b=l.value,h=a.value;o.value=b?.showAll()??h?.state().contentControls.showAll??false,n.value=b?.formFill()??h?.state().contentControls.formFill??false;},{immediate:true,flush:"post"});let i=vue.computed(()=>{r.value;let b=l.value;if(!e.value)return null;let h=b?.atCaret()??null;if(h){let C=b?.disabledReason(h.id,"edit")??null,S=b?.disabledReason(h.id,"remove")??null;return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:am(h.effectiveLock)||C==="locked",removalLocked:rm(h.effectiveLock)||S==="locked",placeholder:h.placeholder,bound:h.bound||C==="bound",effectiveLock:h.effectiveLock}}let y=e.value?.query({type:"contentControlAt"});if(!y||!e.value)return null;let v=b?.disabledReason(y.id,"edit")??null,P=b?.disabledReason(y.id,"remove")??null,T=e.value.can({type:"setContentControlValue",value:""}),m=e.value.can({type:"removeContentControl"});return {id:y.id,tag:y.tag??null,alias:y.alias??null,controlType:y.controlType,locked:y.locked===true||v==="locked"||qa(T,"locked"),removalLocked:P==="locked"||qa(m,"locked"),placeholder:false,bound:v==="bound"||qa(T,"bound"),effectiveLock:null}}),d=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=b=>{l.value?.setShowAll(b),o.value=b;},p=b=>{l.value?.setFormFill(b),n.value=b;},s=vue.computed(()=>{let b=i.value,h=l.value;if(!b)return "no content control at the current selection";if(h){let v=h.disabledReason(b.id,"edit");return v==="locked"?"the content control is locked":v==="bound"?"the content control is bound to external data":v==="notFound"?"the content control was not found":v}if(b.locked)return "the content control is locked";if(b.bound)return "the content control is bound to external data";if(!e.value)return "no document is loaded";let y=e.value.can({type:"setContentControlValue",value:""});return y.ok?null:y.reason}),c=vue.computed(()=>{let b=i.value,h=l.value;if(!b)return "no content control at the current selection";if(h){let v=h.disabledReason(b.id,"remove");return v==="locked"?"the content control is locked":v==="notFound"?"the content control was not found":v}if(b.removalLocked)return "the content control is locked";if(!e.value)return "no document is loaded";let y=e.value.can({type:"removeContentControl"});return y.ok?null:y.reason}),g=b=>{let h=l.value,y=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(h&&y){let v=h.disabledReason(y.id,"edit");if(v)return {ok:false,code:v==="bound"?"bound":v==="locked"?"locked":"notFound",reason:v==="bound"?"the content control is bound to external data":v==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:b})},f=()=>{let b=l.value,h=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(b){let y=h?.id;if(!y)return {ok:false,code:"notFound",reason:"no content control at the current selection"};let v=b.disabledReason(y,"remove");return v?{ok:false,code:v==="locked"?"locked":"notFound",reason:v==="locked"?"the content control is locked":"the content control was not found"}:b.remove(y)?{ok:true,changed:true}:{ok:false,code:"unsupported",reason:"the edit was refused"}}return e.value.exec({type:"removeContentControl"})};return {control:i,controls:d,showAll:vue.computed(()=>o.value),formFill:vue.computed(()=>n.value),inspectorOpen:vue.computed(()=>t.value),canSetValue:vue.computed(()=>s.value===null&&i.value!==null),canRemove:vue.computed(()=>c.value===null&&i.value!==null),setValueDisabledReason:s,removeDisabledReason:c,setShowAll:u,toggleShowAll:()=>u(!o.value),setFormFill:p,toggleFormFill:()=>p(!n.value),openInspector:()=>{t.value=true;},closeInspector:()=>{t.value=false;},toggleInspector:()=>{t.value=!t.value;},remove:f,setValue:g}}var Ga=Symbol("ContentControlContext");function pe(e){return e==null||e===false?[]:Array.isArray(e)?e.flatMap(pe):vue.isVNode(e)?e.type===vue.Fragment?pe(e.children):[e]:[]}var hs=12700,bs=96;function cm(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function pm(e,t,o,n){let r=e*72/o,a=t*72/n;return {widthPoints:Math.max(1,Math.round(r*100)/100),heightPoints:Math.max(1,Math.round(a*100)/100)}}function Jn(e){let t=editor.DEFAULT_IMAGE_RESOURCE_LIMITS;if(e.byteLength===0)return {ok:false,reasonKey:"imageInsert.errors.emptyFile"};if(e.byteLength>t.maxEncodedBytes)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let o=editor.sniffImageMime(e);if(!cm(o))return o==="image/svg+xml"||o==="image/tiff"?{ok:false,reasonKey:"imageInsert.errors.unsupportedFormat"}:{ok:false,reasonKey:"imageInsert.errors.invalidSignature"};let n=editor.validateRasterHeader(e,o);if(!n)return {ok:false,reasonKey:"imageInsert.errors.invalidSignature"};if(n.pixelWidth*n.pixelHeight>t.maxPixels||n.pixelWidth>t.maxDimension||n.pixelHeight>t.maxDimension)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let{widthPoints:a,heightPoints:l}=pm(n.pixelWidth,n.pixelHeight,bs,bs);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:a,heightPoints:l})}function at(e){return Math.round(e/hs*100)/100}function Ao(e){return Math.round(e*hs)}var Qn=Symbol("ToolbarContext"),ym={t:void 0,onSave:void 0};function er(){let e=vue.inject(Qn,ym);return vue.computed(()=>vue.unref(e))}function K(){let e=er(),{t}=D();return o=>e.value.t?.(o)??t(o)}function vm(e){let{t}=D();return o=>e?.(o)??t(o)}function ke(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}function Sm(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason}function ja(e){return typeof e=="string"}function W(e){let t=e,o=R(),{t:n}=D(),r=vue.shallowRef(vue.toValue(t));vue.watch(()=>vue.toValue(t),u=>{r.value=u;},{flush:"sync"});let a=vue.computed(()=>{let u=r.value;return ja(u)?u:editor.editorCommandKey(u)}),i=I(u=>{let p=r.value;if(ja(p)){let c=editor.toolbarCommandState(o.value,p);return {active:c.active,enabled:c.enabled,disabledReason:i18n.localizeDisabledReason(c.disabledReason,n)}}if(!o.value)return {active:false,enabled:false,disabledReason:null};let s=o.value.can(p);return {active:o.value.isActive(p),enabled:s.ok,disabledReason:s.ok?null:i18n.localizeDisabledReason(s.reason??null,n)}},Sm,{extraDeps:a});return a.value,{execute:()=>{let u=r.value;return ja(u)?editor.runToolbarCommand(o.value,u).ok:o.value?o.value.exec(u).ok:false},isActive:vue.computed(()=>i.value.active),isEnabled:vue.computed(()=>i.value.enabled),disabledReason:vue.computed(()=>i.value.disabledReason)}}function Za(...e){let t=[],o=n=>{n&&(typeof n=="string"?t.push(n):Array.isArray(n)&&n.forEach(o));};return e.forEach(o),t.join(" ")}function Ts(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:Za(typeof o.class=="string"?o.class:"",t)}}function Dm(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function Nm(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=Dm(t[n],e[n]):n==="class"?o[n]=Za(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var H=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,a=i=>{let d=n?.vnode.ref,p=(Array.isArray(d)?d[0]:d)?.r;typeof p=="function"?p(i,{}):vue.isRef(p)&&(p.value=i);},l=()=>a(r);return vue.onMounted(l),vue.onUpdated(l),vue.onBeforeUnmount(()=>a(null)),()=>{let i=o.default?.()??[];if(i.length!==1)return null;let d=i[0];if(!d||typeof d!="object")return null;let u=Nm(Ts(t),Ts(d.props??{}));return vue.cloneVNode(d,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});function V(e){for(let t of editor.CHROME_GROUPS)for(let o of t.controls)if(editor.chromeSlotId(t,o)===e)return o;return null}function $(e){return e?vue.h("svg",{viewBox:"0 -960 960 960",width:18,height:18,ariaHidden:"true",focusable:"false"},e.map(t=>vue.h("path",{key:t,d:t,fill:"currentColor"}))):null}function _(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Pt=vue.defineComponent({name:"ToolbarButton",props:{slot:{type:String,required:true},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0},class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=K(),n=W(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let r=V(e.slot),a=o(r?.labelKey??e.slot),l=editor.commandForSlot(e.slot),i=l?.type==="toggleMark"||l?.type==="setAlignment",d={onClick:()=>n.execute(),onMousedown:_,disabled:!n.isEnabled.value,"data-slot":e.slot,class:ke("docx-toolbar__button",e.class,e.className),...n.isActive.value?{"data-active":""}:{},...n.isEnabled.value?{}:{"data-disabled":""},...i?{"aria-pressed":n.isActive.value}:{},"aria-label":a,title:n.disabledReason.value??a},u=e.icon??t.default?.()??$(r?.paths);return e.asChild?vue.h(H,d,t.default):vue.h("button",{type:"button",...d},u??void 0)}}});Pt.docxToolbarPart=true;var Um="image/png,image/jpeg,image/gif",Ya=Symbol("ImageInsertContext");function nr(){let e=vue.inject(Ya,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function Xa(){return vue.inject(Ya,null)}var rr=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=R(),{t:n}=D(),r=vue.ref(null),a=vue.ref(false),l=I(()=>editor.toolbarCommandState(o.value,"image.insert"),(g,f)=>g.enabled===f.enabled&&g.disabledReason===f.disabledReason),i=async g=>{let f=o.value;if(!f||a.value)return;let b=Jn(g);if(!b.ok){window.alert(n(b.reasonKey));return}let h={type:"insertImage",data:b.bytes,mime:b.mime,widthPoints:b.widthPoints,heightPoints:b.heightPoints},y=f.canExecuteImageCommand?.(h);if(y&&!y.ok){window.alert(y.reason??n("imageInsert.errors.refused"));return}a.value=true;try{let v=await editor.executeImageCommand(f,h);v.ok?f.focus():window.alert(v.reason??n("imageInsert.errors.refused"));}finally{a.value=false;}},d=async g=>{let f=g?.[0];if(!f)return;let b=await f.arrayBuffer();await i(new Uint8Array(b));},u=async g=>{if(!g)return;let f=[...g.files].find(b=>b.type.startsWith("image/"));if(f){await d([f]);return}for(let b of g.items){if(b.kind!=="file"||!b.type.startsWith("image/"))continue;let h=b.getAsFile();if(!h)continue;let y=await h.arrayBuffer();await i(new Uint8Array(y));return}},p=()=>{l.value.enabled&&r.value?.click();},s=async g=>{let f=g.currentTarget;await d(f.files),f.value="";};return vue.provide(Ya,{openFilePicker:p,insertFromFileList:d,insertFromDataTransfer:u,get isEnabled(){return l.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(l.value.disabledReason,n)},inputRef:r,onInputChange:s}),()=>[vue.h("input",{ref:r,type:"file",accept:Um,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:s,onMousedown:g=>g.stopPropagation()}),...pe(t.default?.()??[])]}}),ar=vue.defineComponent({name:"ImageInsertTrigger",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=nr(),n=K();return ()=>{if(e.hidden)return null;let r=V("image.insert"),a=n(r?.labelKey??"toolbar.image"),l={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.insert",disabled:!o.isEnabled,...o.isEnabled?{}:{"data-disabled":""},"aria-label":a,title:o.disabledReason??a,onMousedown:_,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(H,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??$(r?.paths)})}}});ar.docxSlot="image.insert";var lr=Object.assign(ar,{docxSlot:"image.insert"});var Ja=0,Qa=false,el=false;function Rs(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(Qa||(Qa=true,Ja+=1,queueMicrotask(()=>{Qa=false;}),el||(el=true,setTimeout(()=>{el=false,Ja=0;},0))),Ja>16)}function Ms(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};Rs()?setTimeout(o,0):queueMicrotask(o);}}function ks(){let e=0,t=0,o=null,n=new Set,r=new Set,a=new Set,l=i=>{for(let d of [...i])d();};return {getShift:()=>e,setShift(i){let d=Math.max(0,Math.round(i));d!==e&&(e=d,l(n));},subscribeShift(i){return n.add(i),()=>n.delete(i)},getReservation:()=>t,setReservation(i){let d=Math.max(0,Math.round(i));d!==t&&(t=d,l(r));},subscribeReservation(i){return r.add(i),()=>r.delete(i)},getViewport:()=>o,setViewport(i){i!==o&&(o=i,l(a));},subscribeViewport(i){return a.add(i),()=>a.delete(i)}}}var nl=Symbol("navigationLayout");function Et(){return vue.inject(nl,null)}function wt(){let e=Et(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,a)=>{if(!n){t.value=0;return}let l=()=>{t.value=n.getShift();};l();let i=n.subscribeShift(l);a(i);},{immediate:true,flush:"post"});return j(o),t}function _s(){let e=Et(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,a)=>{if(!n){t.value=0;return}let l=()=>{t.value=n.getReservation();};l();let i=n.subscribeReservation(l);a(i);},{immediate:true,flush:"post"});return j(o),t}function Je(){let e=Et(),t=vue.shallowRef(null),o=vue.watch(()=>e,(n,r,a)=>{if(!n){t.value=null;return}let l=()=>{t.value=n.getViewport();};l();let i=n.subscribeViewport(l);a(i);},{immediate:true,flush:"post"});return j(o),t}function Is(){let e=new Set,t=new Map,o=new Map,n=0,r=null,a=false,l=null,i=false;function d(){if(e.size===0&&t.size===0)return;if(t.size===0)return "kind";let c=Object.create(null),g=[...t].sort((f,b)=>(o.get(f[0])??0)-(o.get(b[0])??0));for(let[,{author:f,style:b}]of g)c[f]=b;return {authors:c,others:e.size>0?"kind":"author"}}function u(c){if(c===void 0)return "none";if(typeof c=="string")return c;let g=Object.entries(c.authors).map(([f,b])=>`${f}\0${JSON.stringify(b)}`).sort();return `${c.others??"kind"}${g.join("")}`}function p(){if(!r)return;let c=d(),g=u(c);if(g!==l){if(c===void 0){a&&(r.setRevisionStyles("author"),a=false,l=g);return}r.setRevisionStyles(c),a=true,l=g;}}function s(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),s();},register(c,g,f){o.has(c)||o.set(c,n++),t.set(c,{author:g,style:f}),s();},unregister(c){(e.delete(c)||t.delete(c))&&s();},connect(c){r=c;let g=d();a=c!==null&&g!==void 0,l=c===null?null:u(g),s();},current:d}}var Ho=Symbol("RevisionStyleRegistry");var Ds=Symbol("docxEditorRootOwner"),ll=Symbol("docxEditorRootHostEmit");function Qm(e,t){if(e===t)return true;let o=editor.resolveZoomMode(e),n=editor.resolveZoomMode(t);return o!==null&&n!==null&&editor.sameZoomMode(o,n)}function il(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(Va,o),vue.provide(za,n),vue.provide(nl,ks()),vue.provide(Ds,true);let r=Is();vue.provide(Ho,r);let{t:a,catalogue:l}=D(),i=vue.computed(()=>{l.value;let m=vue.toValue(e).translate;if(m)return m;let C=a;return (S,x)=>C(S,x)}),d=vue.shallowRef(0),u=[],p=m=>(u.push(m),()=>{let C=u.indexOf(m);C!==-1&&u.splice(C,1);}),s=()=>{let m=u.at(-1);return m?(m(),true):false},c=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:p,requestCommentDraft:s});vue.watch(d,m=>{c.value={mounted:m,register:()=>(d.value++,()=>{d.value=Math.max(0,d.value-1);}),registerCommentDraft:p,requestCommentDraft:s};},{immediate:true}),vue.provide(Zt,c);let g=[],f=false,b=()=>{for(let C of g.splice(0))C();let m=o.value;m&&(r.connect(null),m.destroy(),o.value=null),f=false;},h=m=>{f||(f=true,t.ready(m));},y=m=>{t.change(m);},v=m=>{t.fontError(m);},P=()=>{if(typeof window>"u")return;b();let m=vue.toValue(e),C=editor.createDocxEditor({...m.document!==void 0?{document:m.document}:{},...m.fonts?{fonts:m.fonts}:{},...m.author!==void 0?{author:m.author}:{},...m.locale!==void 0?{locale:m.locale}:{},translate:i.value,...m.mode!==void 0?{mode:m.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...m.modules!==void 0?{modules:m.modules}:{},...m.zoom!==void 0?{zoom:m.zoom}:{},...m.zoomMode!==void 0?{zoomMode:m.zoomMode}:{},...m.tableInteractionLabel?{tableInteractionLabel:m.tableInteractionLabel}:{},...m.imageDecodePort?{imageDecodePort:m.imageDecodePort}:{},onFontError:v}),S=Ms(()=>{n.value++;});g.push(C.on("change",x=>{y(x),S();})),g.push(C.on("selectionChange",S)),g.push(C.on("error",S)),r.connect(C),o.value=C;};vue.onMounted(()=>{vue.watch(o,m=>{if(!m)return;if(!m.snapshot().isOpening){h(m);return}let C=m.on("change",()=>{C(),h(m);});g.push(C);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,l.value,vue.toValue(e).imageDecodePort],P,{immediate:true,flush:"post"}),vue.onUnmounted(b);let T={zoom:void 0,mode:void 0};return vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,m,C])=>{if(!o.value)return;let S=o.value;m!==void 0&&m!==T.zoom&&(T.zoom=m,S.setZoom(m));let x=C!==void 0&&(T.mode===void 0||!Qm(T.mode,C)),E=C===void 0?null:editor.resolveZoomMode(C),w=m!==void 0&&C!==void 0&&E!==null&&E.type==="fit";(x||w)&&(T.mode=C,S.setZoomMode(C));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([m,C])=>{m&&m.setTableInteractionLabel(C??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:i}}function Ns(){return vue.inject(Ds,false)}var of=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=Yn(true);return vue.provide(Ua,o),()=>t.default?.()}}),nf=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=Xn();return vue.provide(Ga,o),()=>t.default?.()}}),Fs={ready:()=>{},change:()=>{},fontError:()=>{}};function rf(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,a=vue.shallowRef({...r}),l={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...Fs});vue.provide(ll,i);let{editorRef:d}=il(a,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Bo,rootProps:a,rootListeners:l,editorRef:d}}var Bo=vue.defineComponent({name:"DocxEditorRoot",props:{document:{type:[String,Object,Uint8Array,ArrayBuffer],default:void 0},fonts:{type:[Object,Function],default:void 0},author:{type:String,default:void 0},locale:{type:String,default:void 0},translate:{type:Function,default:void 0},modules:{type:Array,default:void 0},mode:{type:String,default:void 0},zoom:{type:Number,default:void 0},zoomMode:{type:[Object,String],default:void 0},tableInteractionLabel:{type:Function,default:void 0},imageDecodePort:{type:Object,default:void 0}},emits:{ready:e=>true,change:e=>true,fontError:e=>true},setup(e,{emit:t,slots:o}){let n=Ns(),r=vue.inject(ll,null);return n&&r?(r.value={ready:a=>t("ready",a),change:a=>t("change",a),fontError:a=>t("fontError",a)},vue.onUnmounted(()=>{r.value={...Fs};})):n||il(e,{ready:a=>t("ready",a),change:a=>t("change",a),fontError:a=>t("fontError",a)}),()=>vue.h(of,null,{default:()=>vue.h(nf,null,{default:()=>vue.h(rr,null,{default:()=>o.default?.()})})})}});var Ko=Symbol("ScopedByAncestorContext");function Re(){return vue.inject(Ko,false)?"":"docx-editor "}var sr=[.25,.5,.75,1,1.25,1.5,2];function Vo(e,t){return t==="in"?sr.find(n=>n>e+.001)??null:[...sr].reverse().find(n=>n<e-.001)??null}function As(e,t){return e==="0"?1:e==="+"||e==="="?Vo(t,"in")??t:e==="-"?Vo(t,"out")??t:null}function ae(e){return e/1440*96}function dr(e){return e/96*1440}function O(e){return `${Math.round(e*100)/100}px`}var pl=316,cl=44,df=24,ur={inlineStart:0,inlineEnd:pl},Hs={inlineStart:cl,inlineEnd:cl},Os={inlineStart:0,inlineEnd:0};function Vs({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return Hs;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return ur;let a=Number.isFinite(n)&&n>0?n:0;return t-a-o-2*df>=pl?ur:Hs}var uf=e=>{let t=e.zoomMode;return {pageSetup:e.pageSetup??null,reviewPaneOpen:e.reviewPaneOpen??true,entitledZoom:t?.type==="fit"?t.maxZoom!==void 0&&t.maxZoom<editor.ZOOM_MAX?t.maxZoom:null:e.zoom}},cf=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function zs(){let e=Je(),t=vue.shallowRef(null),o=vue.watch(e,(n,r,a)=>{if(!n){t.value=null;return}let l=()=>{t.value=n.clientWidth;};if(l(),typeof ResizeObserver>"u")return;let i=new ResizeObserver(l);i.observe(n),a(()=>i.disconnect());},{immediate:true,flush:"post"});return j(o),t}function Jt(){let e=Yt(),t=I(uf,cf),o=Je(),n=_s(),r=vue.ref(null),a=vue.shallowRef(Os),l=vue.watch([e,t,o,n],([i,d,u,p],s,c)=>{d.pageSetup&&(r.value=d.pageSetup.pageWidthTwips);let g=()=>{if((i.mounted??0)===0)return Os;let h=d.pageSetup?.pageWidthTwips??r.value;return Vs({open:d.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:h===null||d.entitledZoom===null?0:ae(h)*d.entitledZoom,inlineStartReservation:p,docked:d.entitledZoom===null})},f=()=>{let h=g();h!==a.value&&(a.value=h);};if(f(),!u||typeof ResizeObserver>"u")return;let b=new ResizeObserver(f);b.observe(u),c(()=>b.disconnect());},{immediate:true,flush:"post"});return j(l),a}var hf=e=>e.reviewPaneOpen??true,xf=e=>e.zoomMode?.type==="fit",cr=vue.defineComponent({name:"DocxEditorViewport",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){vue.provide(Ko,true);let o=Re(),n=R(),r=I(hf),a=I(xf),l=Yt(),i=vue.computed(()=>(l.value.mounted??0)>0),d=Jt(),u=wt(),p=Et(),s=null;vue.onMounted(()=>{s&&p?.setViewport(s);}),vue.onUnmounted(()=>{p?.setViewport(null);}),vue.watch(u,g=>{s&&s.style.setProperty("--docx-nav-shift",`${g}px`),p?.setViewport(s);});let c=g=>{let f=n.value;if(!f||!(g.metaKey||g.ctrlKey)||g.altKey)return;let b=g.target;if(b instanceof Element&&b.closest('input, textarea, select, [role="dialog"]'))return;let h=As(g.key,f.getZoom());h!==null&&(g.preventDefault(),f.setZoom(h));};return ()=>{let g={ref:f=>{s=f instanceof HTMLElement?f:null,p?.setViewport(s),s&&s.style.setProperty("--docx-nav-shift",`${u.value}px`);},"data-testid":"docx-editor-scroll",onKeydownCapture:c,class:ke(`${o}docx-editor-one-surface docx-editor-one-surface__viewport docx-editor__scroll-container`,e.class,e.className),style:{...e.style,"--docx-nav-shift":`${u.value}px`,...i.value?{"--docx-review-gutter":`${d.value.inlineEnd}px`,"--docx-review-gutter-start":`${d.value.inlineStart}px`}:{}}};return i.value&&(g["data-review-pane"]=r.value?"open":"closed"),a.value&&(g["data-zoom-fit"]=""),vue.h("div",g,t.default?.())}}});var Df=["nw","n","ne","e","se","s","sw","w"],Gs=40,js=12;function Nf(e){return `imageOverlay.handle.${e}`}function Lf(e){switch(e){case "nw":case "se":return "nwse-resize";case "ne":case "sw":return "nesw-resize";case "n":case "s":return "ns-resize";default:return "ew-resize"}}function Ff(e){return {nw:{x:"0%",y:"0%"},n:{x:"50%",y:"0%"},ne:{x:"100%",y:"0%"},e:{x:"100%",y:"50%"},se:{x:"100%",y:"100%"},s:{x:"50%",y:"100%"},sw:{x:"0%",y:"100%"},w:{x:"0%",y:"50%"}}[e]}function Af(e,t){return e>0&&t>0?"se":e>0&&t<0?"ne":e<0&&t>0?"sw":e<0&&t<0?"nw":e>0?"e":e<0?"w":t>0?"s":"n"}var Zs=vue.defineComponent({name:"ImageSelectionOverlay",props:{containerRef:{type:Object,required:true},portalRef:{type:Object,required:true},scrollPort:{type:Object,default:void 0}},setup(e){let t=R(),{t:o}=D(),n=vue.ref(null),r=vue.ref(null),a=vue.shallowRef(null);vue.watch(r,h=>{a.value=h;},{flush:"sync"});let l=vue.shallowRef(null),i=vue.shallowRef(null),d=vue.shallowRef(null),u=vue.shallowRef(null),p=vue.shallowRef(null);vue.watch([()=>e.containerRef.value,()=>n.value?.id],([h],y,v)=>{if(!h)return;let P=T=>{let C=(T.target instanceof Element?T.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");u.value=C??null,C&&C===n.value?.id&&queueMicrotask(()=>d.value?.focus({preventScroll:true}));};h.addEventListener("pointerdown",P,{capture:true}),v(()=>h.removeEventListener("pointerdown",P,{capture:true}));},{flush:"post"}),vue.watch(t,(h,y,v)=>{if(!h){n.value=null;return}let P=()=>{n.value=editor.selectedDrawingOverlayTargetOf(h.surface);},T=()=>{queueMicrotask(P);};P();let m=[h.on("change",T),h.on("selectionChange",P)];v(()=>{for(let C of m)C();});},{immediate:true,flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([h,y,v],P,T)=>{if(h){p.value=h;return}if(!y||!v?.surface)return;let m=y.closest(".docx-editor__scroll-container");if(!m)return;let C=v.surface.overlayCoordinates();p.value=editor.createImageOverlayScrollPort(m,C.paintScale),T(()=>{p.value=null;});},{flush:"post"});let s=()=>{r.value=null,l.value=null;let h=i.value;if(i.value=null,h)try{h.releasePointerCapture(h._lastPointerId??0);}catch{}},c=(h,y,v,P,T,m,C)=>{let S=t.value;if(!S?.surface)return;let x=editor.captureImageMutationPreconditions(S);if(!x)return;let E=S.surface.publishedLayout();l.value=Object.freeze({x:P,y:T}),i.value=m,m._lastPointerId=C;try{m.setPointerCapture(C);}catch{}r.value={session:Object.freeze({drawingNodeId:v.id,startBounds:Object.freeze({x:v.x,y:v.y,width:v.width,height:v.height}),startWidthEmu:v.widthEmu,startHeightEmu:v.heightEmu,startPosition:v.position,anchorFrameOrigin:v.anchorFrameOrigin,transform:v.transform,mode:h,handle:y,preconditions:x,layoutRevision:E.revision,packageRevision:S.surface.session.packageRevision(),kind:v.kind}),bounds:v,accumulatedScrollPt:0},d.value?.focus({preventScroll:true});},g=(h,y,v,P,T)=>{let m=t.value;if(m){if(editor.isStaleImageInteractionCommit(m,h)){s();return}h.mode==="resize"?m.exec({type:"setImageProperties",widthEmu:y,heightEmu:v,...T?.mode==="simple"?{horizontalEmu:T.horizontalEmu,verticalEmu:T.verticalEmu}:{},...T?.mode==="frame"?{...T.horizontalEmu!==void 0?{horizontalEmu:T.horizontalEmu}:{},...T.verticalEmu!==void 0?{verticalEmu:T.verticalEmu}:{}}:{}}):h.mode==="move"&&T&&m.exec({type:"setImagePosition",...T}),s();}},f=h=>{let y=t.value;if(!y)return;let v=a.value?.bounds??editor.selectedDrawingOverlayTargetOf(y.surface);if(!v)return;if(a.value&&h.key==="Escape"){h.preventDefault(),h.stopPropagation(),s();return}if(a.value)return;let P=h.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(h.key==="Delete"||h.key==="Backspace"){h.preventDefault(),h.stopPropagation(),y.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(h.key))return;h.preventDefault(),h.stopPropagation();let T=h.key==="ArrowLeft"?-P:h.key==="ArrowRight"?P:0,m=h.key==="ArrowUp"?-P:h.key==="ArrowDown"?P:0;if(h.altKey){if(!v.canResize)return;let S=Af(T,m),x=editor.computeImageResizeResult({handle:S,startWidthEmu:v.widthEmu,startHeightEmu:v.heightEmu,startBounds:{x:v.x,y:v.y,width:v.width,height:v.height},startPosition:v.position,anchorFrameOrigin:v.anchorFrameOrigin,deltaXPt:T,deltaYPt:m,transform:v.transform,preserveAspect:editor.resizePreservesAspect(S,v.aspectLocked,h.shiftKey),kind:v.kind});y.exec({type:"setImageProperties",widthEmu:x.widthEmu,heightEmu:x.heightEmu,...x.position?.mode==="simple"?{horizontalEmu:x.position.horizontalEmu,verticalEmu:x.position.verticalEmu}:{},...x.position?.mode==="frame"?{...x.position.horizontalEmu!==void 0?{horizontalEmu:x.position.horizontalEmu}:{},...x.position.verticalEmu!==void 0?{verticalEmu:x.position.verticalEmu}:{}}:{}});return}if(v.kind!=="anchored"||!v.canMove||!v.position)return;let C=editor.computeMovedImagePosition(v.position,T,m);y.exec({type:"setImagePosition",...C});};vue.watch([r,t,()=>e.containerRef.value],([h,y,v],P,T)=>{if(!h||!y?.surface)return;let m=y.surface.overlayCoordinates(),C=x=>{let E=a.value,w=l.value;if(!E||!w)return;let M=editor.cssPixelsToLayoutPoints(x.clientX-w.x,m.paintScale),U=editor.cssPixelsToLayoutPoints(x.clientY-w.y,m.paintScale);if(E.session.mode==="move"){let B=0,ue=p.value,ce=v?.closest(".docx-editor__scroll-container");if(ue&&ce){let Q=ce.getBoundingClientRect();x.clientY>Q.bottom-Gs?B=js:x.clientY<Q.top+Gs&&(B=-js),B!==0&&(B=ue.scrollBy(B));}let X=E.accumulatedScrollPt+B;r.value={...E,accumulatedScrollPt:X,bounds:Object.freeze({...E.bounds,x:E.session.startBounds.x+M,y:E.session.startBounds.y+U+X})};return}if(!E.session.handle)return;let k=editor.computeImageResizeResult({handle:E.session.handle,startWidthEmu:E.session.startWidthEmu,startHeightEmu:E.session.startHeightEmu,startBounds:E.session.startBounds,startPosition:E.session.startPosition,anchorFrameOrigin:E.session.anchorFrameOrigin,deltaXPt:M,deltaYPt:U,transform:E.session.transform,preserveAspect:editor.resizePreservesAspect(E.session.handle,E.bounds.aspectLocked,x.shiftKey),kind:E.session.kind});r.value={...E,bounds:Object.freeze({...E.bounds,x:k.previewBounds.x,y:k.previewBounds.y,width:k.previewBounds.width,height:k.previewBounds.height,widthEmu:k.widthEmu,heightEmu:k.heightEmu})};},S=x=>{let E=a.value;if(E)if(x.type==="pointerup"){let w=editor.cssPixelsToLayoutPoints(x.clientX-(l.value?.x??x.clientX),m.paintScale),M=editor.cssPixelsToLayoutPoints(x.clientY-(l.value?.y??x.clientY),m.paintScale),U=editor.finalizeImageOverlayInteraction({session:E.session,deltaXPt:w,deltaYPt:M,accumulatedScrollPt:E.accumulatedScrollPt,aspectLocked:E.bounds.aspectLocked,shiftKey:x.shiftKey,anchorFrameOrigin:E.session.anchorFrameOrigin});g(E.session,U.widthEmu,U.heightEmu,U.previewBounds,U.position);}else s();};window.addEventListener("pointermove",C),window.addEventListener("pointerup",S),window.addEventListener("pointercancel",S),T(()=>{window.removeEventListener("pointermove",C),window.removeEventListener("pointerup",S),window.removeEventListener("pointercancel",S);});},{flush:"post"}),vue.watch(n,h=>{!h||u.value!==h.id||(u.value=null,d.value?.focus({preventScroll:true}));},{flush:"post"});let b=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let h=t.value,y=b.value,v=e.portalRef.value;if(!h?.surface||!y||!v)return null;let P=h.surface.publishedLayout(),T=h.surface.overlayCoordinates(),m=editor.overlayFrameToSheetCssPixels(P,{pageIndex:y.pageIndex,x:y.x,y:y.y,width:y.width,height:y.height},T),C=y.canResize,S=y.kind==="anchored"&&y.canMove;return jsxRuntime.jsx(vue.Teleport,{to:v,children:jsxRuntime.jsxs("div",{ref:x=>{d.value=x instanceof HTMLDivElement?x:null;},class:"docx-image-selection-overlay","data-drawing-node-id":y.id,tabindex:0,onKeydown:f,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${S?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${m.left}px`,top:`${m.top}px`,width:`${m.width}px`,height:`${m.height}px`,cursor:S?"move":"default"},onPointerdown:x=>{_(x),!(!S||!y.position)&&x.button===0&&(x.preventDefault(),x.stopPropagation(),c("move",null,y,x.clientX,x.clientY,x.currentTarget,x.pointerId));}}),C?Df.map(x=>{let E=Ff(x);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(Nf(x)),tabindex:0,style:{left:`calc(${m.left}px + ${m.width}px * ${parseFloat(E.x)/100} - 5px)`,top:`calc(${m.top}px + ${m.height}px * ${parseFloat(E.y)/100} - 5px)`,cursor:Lf(x)},onPointerdown:w=>{_(w),w.button===0&&(w.preventDefault(),w.stopPropagation(),c("resize",x,y,w.clientX,w.clientY,w.currentTarget,w.pointerId));}},x)}):null]})})}}});function gl(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var mr=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=R(),o=Xa(),n=vue.shallowRef(null),r=vue.shallowRef(null),a=()=>{let p=t.value,s=n.value;p&&s&&p.attach(s);},l=()=>t.value?.detach();vue.watch([t,n],a,{immediate:true,flush:"post"}),vue.onDeactivated(l),vue.onActivated(a),vue.onUnmounted(l);let i=p=>{let s=o;if(!s?.isEnabled)return;let c=p.clipboardData;c&&gl(c)&&(p.preventDefault(),s.insertFromDataTransfer(c));},d=p=>{!o?.isEnabled||!p.dataTransfer||!gl(p.dataTransfer)||p.preventDefault();},u=p=>{let s=o;if(!s?.isEnabled)return;let c=p.dataTransfer;c&&gl(c)&&(p.preventDefault(),s.insertFromDataTransfer(c));};return ()=>vue.h("div",{ref:p=>{r.value=p instanceof HTMLDivElement?p:null;},class:"docx-content-mount"},[vue.h("div",{ref:p=>{n.value=p instanceof HTMLDivElement?p:null;},class:ke("docx-paginated-surface",e.class,e.className),onPaste:i,onDragover:d,onDrop:u}),t.value?vue.h(Zs,{containerRef:n,portalRef:r}):null])}});var $f=e=>e.isLoading||e.isOpening===true,yl=vue.defineComponent({name:"DocxEditorLoadingSpinner",props:{className:{type:String,default:void 0}},setup(e){return ()=>vue.h("span",{class:`docx-editor__loading-spinner${e.className?` ${e.className}`:""}`,ariaHidden:"true"})}}),Uf=vue.defineComponent({name:"DocxEditorLoading",props:{when:{type:Boolean,default:false},overlay:{type:Boolean,default:false},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let o=I($f),{t:n}=D();return ()=>{if(!e.when&&!o.value)return null;let r=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:r,style:e.style,role:"status",ariaLive:"polite"},t.default?.()??[vue.h(yl),vue.h("span",{class:"docx-editor-sr-only"},n("loading.label"))])}}}),gr=Object.assign(Uf,{Spinner:yl});function qf(e){let t=e.children;if(Array.isArray(t))return t.filter(vue.isVNode);if(typeof t=="object"&&t!==null&&"default"in t){let o=t.default;return o?.().filter(vue.isVNode)??[]}return []}function yr(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=qf(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function vr(e){if(!vue.isVNode(e))return null;let t=e.type;if(typeof t=="object"&&t!==null&&"docxSlot"in t){let o=t.docxSlot;return typeof o=="string"?o:null}return null}function br({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:a}){if(!o)return t;let l=new Map,i=[];for(let s of t){if(!vue.isVNode(s))continue;let c=r(s);c?l.set(c,s):i.push(s);}let d=e.map((s,c)=>{let g=n(s,c),f=l.get(g);return f||a(s,c)}),u=new Set(e.map(n)),p=[...l.entries()].filter(([s])=>!u.has(s)).map(([,s])=>s);return [...d,...p,...i]}var Js=new WeakMap;function re(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=Js.get(o)??0;return Js.set(o,n+1),`docx-${n}-${e}`}var jf=["zoom","script","format","list","alignment","styles","font","text","history"],vl=new Set(["review"]),bl=24,ed=new Set;function td(e,t=jf){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function Qs(e,t){let{widths:o,groups:n,order:r,fixed:a,more:l}=e,i=a;for(let u of n)i+=o.get(u)??0;if(i<=t)return ed;i+=l;let d=new Set;for(let u of r){if(i<=t)break;let p=o.get(u);p===void 0||d.has(u)||(d.add(u),i-=p);}return d}function od(e,t){if(e===t)return true;if(e.size!==t.size)return false;for(let o of e)if(!t.has(o))return false;return true}var nd=od;function rd(e){if(!(e.available>0))return ed;let t=Qs(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=Qs(e,e.available-(e.hysteresis));return od(n,o)?o:n}function ad(e,t,o,n){return e+t+o+n*2}function ld(e,t){return e+t}function xl(e,t){return e+t}function id(e){let t=Number.parseFloat(e.marginInlineStart||e.marginLeft),o=Number.parseFloat(e.marginInlineEnd||e.marginRight);return {start:Number.isFinite(t)?t:0,end:Number.isFinite(o)?o:0}}function hl(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function sd(e){return hl(e.columnGap)}function dd(e,t){return e.clientWidth-hl(t.paddingLeft)-hl(t.paddingRight)}var $o="data-toolbar-group",Uo="data-toolbar-fixed",Tl="data-toolbar-more",Qf=34,ud=new Set;function cd(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),a=vue.shallowRef(Qf),l=vue.ref(ud),i=0,d,u=()=>typeof e=="function"?e():e.value,p=()=>typeof t=="function"?t():t.value,s=()=>typeof o=="function"?o():o.value,c=()=>{let b=n.value;if(!b||!u())return;let h=getComputedStyle(b),y=sd(h),v=dd(b,h),P=b.querySelector(".docx-toolbar__separator"),T=y*2;if(P){let w=getComputedStyle(P),M=id(w);T=ad(P.offsetWidth,M.start,M.end,y);}let m=new Map(r.value);for(let w of b.querySelectorAll(`[${$o}]`)){let M=w.getAttribute($o);M&&w.offsetWidth>0&&m.set(M,ld(w.offsetWidth,T));}r.value=m;let C=0;for(let w of b.querySelectorAll(`[${Uo}]`))w.offsetWidth>0&&(C+=xl(w.offsetWidth,y));let S=b.querySelector(`[${Tl}]`);S&&S.offsetWidth>0&&(a.value=xl(S.offsetWidth,y));let x={available:v,widths:m,groups:p(),order:s(),fixed:C,more:a.value,previous:l.value,hysteresis:bl},E=rd(x);nd(E,l.value)||(l.value=E);},g=b=>{n.value=b;},f=()=>{d?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let b=n.value;if(!(!u()||!b||typeof ResizeObserver>"u")){d=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),d.observe(b);for(let h of b.querySelectorAll(`[${$o}], [${Uo}]`))d.observe(h);}};return vue.watch([n,l,()=>u(),()=>p().join(","),()=>s().join(",")],()=>{if(!u()){l.value.size>0&&(l.value=ud),d?.disconnect();return}c(),f();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),d?.disconnect();}),{attach:g,overflow:l}}var rg=["M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"],md=Symbol("OverflowPanelContext");function ag(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var fd=vue.defineComponent({name:"ToolbarOverflowControl",props:{label:{type:String,required:true}},setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__more-control"},[vue.h("span",{class:"docx-toolbar__more-control-label"},e.label),vue.h("span",{class:"docx-toolbar__more-control-body"},t.default?.())])}}),gd=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=K(),o=vue.inject(md,{close:()=>{}}),n=W(vue.computed(()=>e.slot));return ()=>{let r=V(e.slot),a=editor.commandForSlot(e.slot),l=a?.type==="toggleMark"||a?.type==="setAlignment",i=t(r?.labelKey??e.slot);return vue.h("button",{type:"button",class:"docx-toolbar__more-command","data-slot":e.slot,disabled:!n.isEnabled.value,...n.disabledReason.value?{title:n.disabledReason.value}:{},...l?{"aria-pressed":n.isActive.value}:{},...n.isActive.value?{"data-active":""}:{},onMousedown:_,onClick:d=>{n.execute(),o.close(d.detail===0);}},[vue.h("span",{class:"docx-toolbar__more-command-icon",ariaHidden:"true"},[$(r?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),yd=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=K(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=re("toolbar-overflow"),d=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(md,{close:u}),vue.watch(o,(p,s,c)=>{if(!p)return;let g=f=>{let b=f.target;b instanceof Node&&n.value?.contains(b)||(o.value=false);};document.addEventListener("mousedown",g,true),c(()=>document.removeEventListener("mousedown",g,true));}),vue.watch(o,p=>{if(!p||!l.value)return;l.value=false;let s=a.value;s&&ag(s);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[Tl]:""},[vue.h("button",{ref:r,type:"button",class:"docx-toolbar__button docx-toolbar__more-trigger","data-slot":"toolbar.more","aria-haspopup":"dialog","aria-expanded":o.value,"aria-controls":o.value?i:void 0,"aria-label":d,title:d,...o.value?{"data-active":""}:{},onMousedown:_,onClick:()=>{o.value=!o.value;},onKeydown:p=>{p.key==="ArrowDown"&&(p.preventDefault(),l.value=true,o.value=true);}},[$(rg)]),o.value?vue.h("div",{ref:a,id:i,role:"dialog","aria-label":d,class:"docx-toolbar__more-panel","data-testid":"toolbar-overflow-panel",onKeydown:p=>{p.key!=="Escape"||p.defaultPrevented||(p.preventDefault(),u(true));}},e.sections.map(p=>vue.h("div",{key:p.id,class:"docx-toolbar__more-section",role:"group","aria-label":t(p.labelKey)},[vue.h("span",{class:"docx-toolbar__more-heading",ariaHidden:"true"},t(p.labelKey)),...p.children??[]]))):null])}});function dg(e,t){return e.value===t.value&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason}function qo(e){let t=R(),o=vue.shallowRef(e);o.value=e;let r=I(a=>{let l=editor.toolbarCommandState(t.value,o.value);return {value:l.value??null,enabled:l.enabled,disabledReason:l.disabledReason}},dg);return e==="image.wrap"?{execute:a=>editor.runToolbarCommand(t.value,"image.wrap",a),value:vue.computed(()=>r.value.value??null),options:vue.computed(()=>editor.IMAGE_WRAP_TARGETS),isEnabled:vue.computed(()=>r.value.enabled),disabledReason:vue.computed(()=>r.value.disabledReason)}:{execute:a=>editor.runToolbarCommand(t.value,"image.altText",a),value:vue.computed(()=>r.value.value),options:vue.computed(()=>[]),isEnabled:vue.computed(()=>r.value.enabled),disabledReason:vue.computed(()=>r.value.disabledReason)}}var El=[{value:"inline",labelKey:"imageWrap.menu.inLineWithText",iconName:"wrap_text"},{value:"square",labelKey:"imageWrap.square",iconName:"crop_square"},{value:"squareLeft",labelKey:"imageWrap.menu.squareLeft",iconName:"format_image_left"},{value:"squareRight",labelKey:"imageWrap.menu.squareRight",iconName:"format_image_right"},{value:"tight",labelKey:"imageWrap.tight",iconName:"wrap_text"},{value:"through",labelKey:"imageWrap.through",iconName:"wrap_text"},{value:"topAndBottom",labelKey:"imageWrap.topAndBottom",iconName:"vertical_align_center"},{value:"behind",labelKey:"imageWrap.behindText",iconName:"flip_to_back"},{value:"inFront",labelKey:"imageWrap.inFrontOfText",iconName:"flip_to_front"}],xr=vue.defineComponent({name:"ImageWrap",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{t:o}=D(),n=K(),r=qo("image.wrap"),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),d=re("image-wrap"),u=vue.computed(()=>El.find(g=>g.value===r.value.value)??El[0]),p=V("image.wrap"),s=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(a,(g,f,b)=>{if(!g)return;let h=v=>{let P=l.value;P&&v.target instanceof Node&&P.contains(v.target)||(a.value=false);},y=v=>{v.key==="Escape"&&(v.preventDefault(),a.value=false,i.value?.focus());};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",y),b(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",y);});});let c=g=>{a.value=false,r.execute(g);};return ()=>{if(e.hidden)return null;let g=o("imageWrap.tooltipPrefix",{label:o(u.value.labelKey)}),f={type:"button",ref:i,class:`docx-toolbar__button docx-toolbar__image-wrap-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.wrap",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":a.value,"aria-controls":a.value?d:void 0,"aria-label":s,title:r.disabledReason.value??g,onMousedown:_,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:l,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(H,{...f,children:t.default?.()}):jsxRuntime.jsx("button",{...f,children:t.default?.()??$(p?.paths)}),a.value?jsxRuntime.jsx("div",{id:d,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:b=>b.stopPropagation(),children:El.map(b=>jsxRuntime.jsx("button",{type:"button",role:"menuitemradio",class:"docx-toolbar__image-wrap-item","aria-checked":r.value.value===b.value,...r.value.value===b.value?{"data-active":""}:{},onMousedown:_,onClick:()=>c(b.value),children:o(b.labelKey)},b.value))}):null]})}}});xr.docxSlot="image.wrap";var Cr=Object.assign(xr,{docxSlot:"image.wrap"});var Sr=vue.defineComponent({name:"ImageAltText",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{t:o}=D(),n=K(),r=qo("image.altText"),a=vue.ref(false),l=vue.ref(""),i=vue.ref(null),d=vue.ref(null),u=re("image-alt");vue.watch([a,()=>r.value.value],([s,c])=>{s&&(l.value=c??"");}),vue.watch(a,(s,c,g)=>{if(!s)return;let f=h=>{let y=i.value;y&&h.target instanceof Node&&y.contains(h.target)||(a.value=false);},b=h=>{h.key==="Escape"&&(h.preventDefault(),a.value=false,d.value?.focus());};document.addEventListener("mousedown",f,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",f,true),document.removeEventListener("keydown",b);});});let p=()=>{r.execute(l.value),a.value=false;};return ()=>{if(e.hidden)return null;let s=V("image.altText"),c=n(s?.labelKey??"formattingBar.altText"),g={type:"button",ref:d,class:`docx-toolbar__button docx-toolbar__alt-text-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.altText",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"dialog","aria-expanded":a.value,"aria-controls":a.value?u:void 0,"aria-label":c,title:r.disabledReason.value??c,onMousedown:_,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(H,{...g,children:t.default?.()}):jsxRuntime.jsx("button",{...g,children:t.default?.()??c}),a.value?jsxRuntime.jsxs("div",{id:u,role:"dialog","aria-label":o("imageAltText.panelTitle"),class:"docx-toolbar__alt-text-panel",onMousedown:f=>f.stopPropagation(),children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${u}-description`,children:o("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:`${u}-description`,class:"docx-dialog__textarea",value:l.value,onInput:f=>{l.value=f.target.value;},placeholder:o("dialogs.imageProperties.altTextPlaceholder")}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>a.value=false,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:p,children:o("common.apply")})]})]}):null]})}}});Sr.docxSlot="image.altText";var Pr=Object.assign(Sr,{docxSlot:"image.altText"});function hd(e){return {get current(){return e.value}}}var Sd=e=>e.image;function Cd(e){return Array.from(e.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(t=>t.offsetParent!==null||t===document.activeElement)}function Tg(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function Ml(e){let t=e.position;return !t||e.kind!=="anchored"?{positionMode:"frame",horizontalPoints:"",verticalPoints:"",relativeToH:"page",relativeToV:"line"}:t.mode==="simple"?{positionMode:"simple",horizontalPoints:t.horizontalEmu!==void 0?String(at(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(at(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(at(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(at(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function Sg(e,t){let o=Ml(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Er(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Ao(t);return Number.isInteger(o)?o:null}function Pg(e,t){let o=Ml(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,s=u?Er(e.horizontalPoints):t.position?.horizontalEmu,c=p?Er(e.verticalPoints):t.position?.verticalEmu;return u&&s===null?{ok:false}:p&&c===null?{ok:false}:s===void 0||c===void 0?{ok:false}:{ok:true,value:{horizontalEmu:s,verticalEmu:c}}}let n=e.horizontalPoints!==o.horizontalPoints,r=e.verticalPoints!==o.verticalPoints,a=e.relativeToH!==o.relativeToH,l=e.relativeToV!==o.relativeToV,i=n?Er(e.horizontalPoints):t.position?.horizontalEmu,d=r?Er(e.verticalPoints):t.position?.verticalEmu;return n&&i===null?{ok:false}:r&&d===null?{ok:false}:{ok:true,value:{...typeof i=="number"?{horizontalEmu:i}:{},...typeof d=="number"?{verticalEmu:d}:{},...a||n||r?{relativeToH:e.relativeToH}:{},...l||n||r?{relativeToV:e.relativeToV}:{}}}}function wr(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function Rr(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var kl=vue.defineComponent({name:"DocxEditorImagePropertiesDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},triggerRef:{type:Object,default:void 0}},setup(e){let t=R(),{t:o}=D(),n=I(Sd),r=re("image-prop-title"),a=re("image-prop-wrap"),l=re("image-prop-hyperlink"),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null);vue.watch([()=>e.open,()=>n.value?.id,()=>n.value?.widthEmu,()=>n.value?.heightEmu,t],()=>{if(!e.open){d.value=null,u.value=null,p.value=null;return}let m=n.value;if(m){if(d.value=m,t.value?.surface){let{anchor:C}=t.value.surface.state().selection;u.value={paragraphId:C.paragraphId,offset:C.offset},p.value=t.value.surface.session.packageRevision();}c.value=null,s.value={widthPoints:String(at(m.widthEmu)),heightPoints:String(at(m.heightEmu)),cropLeft:String(m.crop.left),cropTop:String(m.crop.top),cropRight:String(m.crop.right),cropBottom:String(m.crop.bottom),title:m.title,description:m.description,hyperlink:m.hyperlink??"",wrap:m.wrap,lockAspect:m.locks.changeAspect,...Ml(m)};}},{flush:"post"});let g=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},f=()=>{e.onClose(),g();};vue.watch(()=>[e.open,i.value],async([m,C],S,x)=>{if(!m||!C)return;let E=false,w=null;if(x(()=>{E=true,w&&document.removeEventListener("keydown",w);}),await vue.nextTick(),E||!e.open||i.value!==C)return;let M=Cd(C);(M.find(k=>k.id==="image-prop-width"&&!k.hasAttribute("disabled"))??M.find(k=>!k.hasAttribute("disabled"))??C).focus(),w=k=>{if(k.key==="Escape"){k.preventDefault(),f();return}if(k.key!=="Tab")return;let B=Cd(C);if(B.length===0)return;let ue=document.activeElement,ce=B.findIndex(Q=>Q===ue);if(ce===-1)return;k.preventDefault();let X=k.shiftKey?(ce-1+B.length)%B.length:(ce+1)%B.length;B[X]?.focus();},document.addEventListener("keydown",w);},{flush:"post"});let b=vue.computed(()=>{let m=d.value??n.value;return !m||m.widthEmu<=0?1:m.widthEmu/m.heightEmu}),h=m=>{let C=s.value;if(!C)return;if(!C.lockAspect){s.value={...C,widthPoints:m};return}let S=Rr(m);if(S===null){s.value={...C,widthPoints:m};return}let x=Math.round(S/b.value*100)/100;s.value={...C,widthPoints:m,heightPoints:String(x)};},y=m=>{let C=s.value;if(!C)return;if(!C.lockAspect){s.value={...C,heightPoints:m};return}let S=Rr(m);if(S===null){s.value={...C,heightPoints:m};return}let x=Math.round(S*b.value*100)/100;s.value={...C,widthPoints:String(x),heightPoints:m};},v=()=>{let m=d.value;if(!m?.intrinsic)return;let C=m.intrinsic.pixelWidth*72/m.intrinsic.dpiX,S=m.intrinsic.pixelHeight*72/m.intrinsic.dpiY,x=s.value;x&&(s.value={...x,widthPoints:String(Math.round(C*100)/100),heightPoints:String(Math.round(S*100)/100)});},P=m=>{s.value&&(s.value={...s.value,...m});},T=()=>{let m=d.value,C=u.value,S=p.value,x=s.value;if(!t.value||!m||!x||!C||S===null)return;let E=m.canResize===false,w=m.canCrop===false,M={type:"setImageProperties",drawingNodeId:m.id,expectedPackageRevision:S,selectionParagraphId:C.paragraphId,selectionOffset:C.offset};if(!E){let X=Rr(x.widthPoints),Q=Rr(x.heightPoints);if(X===null||Q===null){c.value="imageProperties.errors.invalidDimensions";return}let G=Ao(X),Xe=Ao(Q);G!==m.widthEmu&&(M.widthEmu=G),Xe!==m.heightEmu&&(M.heightEmu=Xe);}if(m.canCrop&&!w){let X=wr(x.cropLeft),Q=wr(x.cropTop),G=wr(x.cropRight),Xe=wr(x.cropBottom);if(X===null||Q===null||G===null||Xe===null){c.value="imageProperties.errors.invalidCrop";return}let Ke=m.crop;(X!==Ke.left||Q!==Ke.top||G!==Ke.right||Xe!==Ke.bottom)&&(M.crop={left:X,top:Q,right:G,bottom:Xe});}x.title!==m.title&&(M.title=x.title),x.description!==m.description&&(M.description=x.description);let U=x.hyperlink.trim();if(U!==(m.hyperlink??"")&&(M.hyperlink=U===""?null:U),m.canChangeWrap&&x.wrap!==m.wrap&&(M.wrap=x.wrap),m.kind==="anchored"&&m.canMove&&Sg(x,m)){let X=Pg(x,m);if(!X.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(X.value,m))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(M,X.value);}if(!(M.widthEmu!==void 0||M.heightEmu!==void 0||M.title!==void 0||M.description!==void 0||M.hyperlink!==void 0||M.crop!==void 0||M.wrap!==void 0||M.horizontalEmu!==void 0||M.verticalEmu!==void 0||M.relativeToH!==void 0||M.relativeToV!==void 0)){f();return}if(!t.value.can(M).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(M).ok){c.value="imageProperties.errors.refused";return}f();};return ()=>{if(!e.open||!s.value)return null;let m=s.value,C=d.value,S=C?.canCrop===false,x=C?.canResize===false,E=C?.locks.changeAspect===true,w=C?.kind==="anchored"&&C.canMove===true,M=C?.kind==="inline",U=C?.kind==="anchored"&&C.canMove===false;return jsxRuntime.jsx("div",{class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:f,onMousedown:k=>{k.stopPropagation(),Tg(k);},children:jsxRuntime.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":r,class:"docx-dialog docx-image-properties-dialog",onClick:k=>k.stopPropagation(),onMousedown:k=>k.stopPropagation(),children:[jsxRuntime.jsx("div",{id:r,class:"docx-dialog__header",children:o("dialogs.imageProperties.title")}),jsxRuntime.jsxs("div",{class:"docx-dialog__body",children:[c.value?jsxRuntime.jsx("p",{class:"docx-dialog__error",children:o(c.value)}):null,jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.dimensions")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-width",children:o("dialogs.imageProperties.widthLabel")}),jsxRuntime.jsx("input",{id:"image-prop-width",class:"docx-dialog__input",value:m.widthPoints,disabled:x,onChange:k=>h(k.target.value)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-height",children:o("dialogs.imageProperties.heightLabel")}),jsxRuntime.jsx("input",{id:"image-prop-height",class:"docx-dialog__input",value:m.heightPoints,disabled:x,onChange:k=>y(k.target.value)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("label",{class:"docx-dialog__checkbox-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:m.lockAspect,disabled:E,onChange:k=>s.value=s.value?{...s.value,lockAspect:k.target.checked}:s.value}),o("dialogs.imageProperties.lockAspectRatio")]}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__link-button",disabled:S||!C?.intrinsic,onClick:v,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),M?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,U?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,w?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m.positionMode==="frame"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-rel-h",children:o("imageProperties.relativeToHorizontal")}),jsxRuntime.jsx("select",{id:"image-pos-rel-h",class:"docx-dialog__select",value:m.relativeToH??"page",onChange:k=>s.value=s.value?{...s.value,relativeToH:k.target.value}:s.value,children:editor.DRAWING_REL_FROM_H.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`dialogs.imagePosition.relativeOptions.${k}`)},k))})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-rel-v",children:o("imageProperties.relativeToVertical")}),jsxRuntime.jsx("select",{id:"image-pos-rel-v",class:"docx-dialog__select",value:m.relativeToV??"line",onChange:k=>s.value=s.value?{...s.value,relativeToV:k.target.value}:s.value,children:editor.DRAWING_REL_FROM_V.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`dialogs.imagePosition.relativeOptions.${k}`)},k))})]})]}):null,jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-h",children:o("imageProperties.horizontalOffset")}),jsxRuntime.jsx("input",{id:"image-pos-h",class:"docx-dialog__input",value:m.horizontalPoints,onChange:k=>P({horizontalPoints:k.target.value})}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-v",children:o("imageProperties.verticalOffset")}),jsxRuntime.jsx("input",{id:"image-pos-v",class:"docx-dialog__input",value:m.verticalPoints,onChange:k=>P({verticalPoints:k.target.value})}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]})]}):null]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.altText")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-title",children:o("imageAltText.title")}),jsxRuntime.jsx("input",{id:"image-prop-title",class:"docx-dialog__input",value:m.title,onChange:k=>P({title:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-description",children:o("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:"image-prop-description",class:"docx-dialog__textarea",value:m.description,onChange:k=>P({description:k.target.value}),placeholder:o("dialogs.imageProperties.altTextPlaceholder")})]})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.hyperlink")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:l,children:o("hyperlinkPopup.urlLabel")}),jsxRuntime.jsx("input",{id:l,class:"docx-dialog__input docx-dialog__input--full",value:m.hyperlink,onChange:k=>P({hyperlink:k.target.value}),placeholder:o("hyperlinkPopup.urlPlaceholder")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.textWrapping")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:a,children:o("formattingBar.imageWrap")}),jsxRuntime.jsx("select",{id:a,class:"docx-dialog__select docx-dialog__input--full",value:m.wrap,disabled:C?.canChangeWrap===false,onChange:k=>P({wrap:k.target.value}),children:editor.IMAGE_WRAP_TARGETS.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`imageWrap.targets.${k}`)},k))})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.crop")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-left",children:o("imageProperties.cropLeft")}),jsxRuntime.jsx("input",{id:"image-crop-left",class:"docx-dialog__input",disabled:S,value:m.cropLeft,onChange:k=>P({cropLeft:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-top",children:o("imageProperties.cropTop")}),jsxRuntime.jsx("input",{id:"image-crop-top",class:"docx-dialog__input",disabled:S,value:m.cropTop,onChange:k=>P({cropTop:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-right",children:o("imageProperties.cropRight")}),jsxRuntime.jsx("input",{id:"image-crop-right",class:"docx-dialog__input",disabled:S,value:m.cropRight,onChange:k=>P({cropRight:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-bottom",children:o("imageProperties.cropBottom")}),jsxRuntime.jsx("input",{id:"image-crop-bottom",class:"docx-dialog__input",disabled:S,value:m.cropBottom,onChange:k=>P({cropBottom:k.target.value})})]}),S?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.nonPictureHint")}):null]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:f,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:T,children:o("common.apply")})]})]})})}}}),Mr=vue.defineComponent({name:"ImagePropertiesTrigger",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=R(),{t:n}=D(),r=I(Sd),a=vue.ref(false),l=vue.ref(null),i={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let d=o.value&&r.value?o.value.can(i):null,u=d?.ok===true,p=d&&!d.ok?d.reason:null,s=V("image.properties"),c={type:"button",ref:l,class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.properties",disabled:!u,...u?{}:{"data-disabled":""},"aria-label":n("formattingBar.imagePropertiesShortcut"),title:p??n("formattingBar.imagePropertiesShortcut"),onMousedown:_,onClick:()=>{a.value=true;}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(H,{...c,children:t.default?.()}):jsxRuntime.jsx("button",{...c,children:t.default?.()??$(s?.paths)}),jsxRuntime.jsx(kl,{open:a.value,onClose:()=>{a.value=false;},triggerRef:hd(l)})]})}}});Mr.docxSlot="image.properties";var kr=Object.assign(Mr,{docxSlot:"image.properties"});function me(e){let t=vue.defineComponent({name:`ToolbarPart_${e.replace(/\./g,"_")}`,props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(o,{slots:n}){return ()=>vue.h(Pt,{slot:e,...o},n)}});return t.docxSlot=e,t}var Pd=me("history.undo"),Ed=me("history.redo"),wd=me("text.bold"),Rd=me("text.italic"),Md=me("text.underline"),kd=me("text.strike"),_d=me("format.clear"),Id=me("script.super"),Dd=me("script.sub"),Nd=me("alignment.left"),Ld=me("alignment.center"),Fd=me("alignment.right"),Ad=me("alignment.justify"),Hd=me("list.bullet"),Od=me("list.numbered"),Bd=me("list.outdent"),Kd=me("list.indent"),Vd=me("table.insert"),zd=me("review.comments"),Ir=vue.defineComponent({name:"ToolbarLink",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(e,{slots:t}){let o=R(),n=jt(),{openAtCaret:r}=Te(),a=K(),{t:l}=D();return ()=>{if(e.hidden)return null;n.value;let i=editor.chromeProbeForSlot("text.link"),d=o.value&&i?o.value.can(i):null,u=d?.ok===true,p=i18n.localizeDisabledReason(d&&!d.ok?d.reason:null,l),s=V("text.link"),c=a(s?.labelKey??"text.link"),g={class:ke("docx-toolbar__button",e.class,e.className),"data-slot":"text.link",disabled:!u,...u?{}:{"data-disabled":""},"aria-label":c,title:p??c,onMousedown:_,onClick:()=>r()},f=e.icon??t.default?.()??$(s?.paths);return e.asChild?vue.h(H,g,t.default):vue.h("button",{type:"button",...g},f??void 0)}}});Ir.docxSlot="text.link";var Dr=vue.defineComponent({name:"ToolbarSave",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=er(),n=K();return ()=>{if(e.hidden)return null;let r=V("file.save"),a=n(r?.labelKey??"file.save"),l=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:ke("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:l,...l?{"data-disabled":""}:{},"aria-label":a,title:a,onMousedown:_,onClick:()=>o.value.onSave?.()},[$(r?.paths)])}}});Dr.docxSlot="file.save";var oo=vue.defineComponent({name:"ToolbarSeparator",props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){return ()=>vue.h("div",{role:"separator","aria-orientation":"vertical",class:ke("docx-toolbar__separator",e.class,e.className)})}});function no(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}var Mg=e=>({zoom:e.zoom,mode:e.zoomMode}),kg=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,$d={type:"fixed"};function _l(){let e=R(),t=I(Mg,kg),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??$d),a=vue.computed(()=>Vo(t.value.zoom,"out")),l=vue.computed(()=>Vo(t.value.zoom,"in"));return {zoom:vue.computed(()=>t.value.zoom),mode:r,isFit:vue.computed(()=>r.value.type==="fit"),setZoom:o,setMode:n,fitToWidth:()=>n(editor.FIT_WIDTH_ZOOM_MODE),auto:()=>n("auto"),reset:()=>{n($d),o(1);},zoomIn:()=>l.value!==null&&o(l.value),zoomOut:()=>a.value!==null&&o(a.value),canZoomIn:vue.computed(()=>!!e.value&&l.value!==null),canZoomOut:vue.computed(()=>!!e.value&&a.value!==null),levels:sr}}var Zo=2,Yo=3276,jo=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],Dg=e=>e.formatting?.fontSizePt??null;function qd(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function Gd(e,t,o){for(let n=t.length-1;n>=0;n-=1)if(t[n]<e)return t[n];return Math.max(e-1,o)}function Ng(e){let t=e.trim().replace(/pt$/i,"").trim();if(t==="")return null;let o=Number(t);if(!Number.isFinite(o))return null;let n=Math.round(o*2);return n<Zo||n>Yo?null:n}function Lg(e){(no(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}var Zd=vue.defineComponent({name:"StepperShell",props:{slotId:{type:String,default:void 0},groupLabel:{type:String,required:true},decreaseLabel:{type:String,required:true},increaseLabel:{type:String,required:true},canDecrease:{type:Boolean,required:true},canIncrease:{type:Boolean,required:true},title:{type:String,default:void 0},className:{type:String,default:void 0}},emits:["decrease","increase"],setup(e,{emit:t,slots:o}){return ()=>jsxRuntime.jsxs("span",{class:`docx-toolbar__stepper${e.className?` ${e.className}`:""}`,...e.slotId!==void 0?{"data-slot":e.slotId}:{},role:"group","aria-label":e.groupLabel,title:e.title??e.groupLabel,children:[jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__stepper-button",disabled:!e.canDecrease,"aria-label":e.decreaseLabel,onMousedown:_,onClick:()=>t("decrease"),children:"\u2212"}),o.default?.(),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__stepper-button",disabled:!e.canIncrease,"aria-label":e.increaseLabel,onMousedown:_,onClick:()=>t("increase"),children:"+"})]})}}),Nr=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=I(Dg),n=W("font.size"),r=K(),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),d=vue.ref(null),u=c=>{let g=t.value;if(!g)return;let f=editor.commandForSlotValue("font.size",c);f&&g.can(f).ok&&g.exec(f);},p=c=>{u(Math.min(Yo,Math.max(Zo,Math.round(c*2))));},s=c=>{a.value=false,l.value=null,d.value?.blur(),Lg(i.value);};return vue.watch(a,(c,g,f)=>{if(!c)return;let b=h=>{let y=i.value;y&&h.target instanceof Node&&y.contains(h.target)||(a.value=false,l.value=null);};document.addEventListener("mousedown",b),f(()=>document.removeEventListener("mousedown",b));}),()=>{if(e.hidden)return null;let c=n.isEnabled.value&&o.value!==null,g=o.value===null?"\u2014":String(Math.round(o.value*2)/2),f=l.value??g,b=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(l.value===null)return;let y=Ng(l.value);y!==null&&u(y);};return jsxRuntime.jsxs("span",{ref:i,class:"docx-toolbar__font-size","data-slot":"font.size",title:n.disabledReason.value??void 0,children:[jsxRuntime.jsx(Zd,{class:e.className,slotId:"font.size",groupLabel:r("fontSize.label"),decreaseLabel:r("fontSize.decrease"),increaseLabel:r("fontSize.increase"),canDecrease:c&&Math.round(o.value*2)>Zo,canIncrease:c&&Math.round(o.value*2)<Yo,onDecrease:()=>p(Gd(o.value??0,jo,Zo/2)),onIncrease:()=>p(qd(o.value??0,jo,Yo/2)),children:jsxRuntime.jsx("input",{ref:d,type:"text",inputmode:"decimal",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--boxed docx-toolbar__font-size-input",value:f,disabled:!n.isEnabled.value,role:"combobox","aria-expanded":a.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),autocomplete:"off",onInput:y=>{l.value=y.target.value,a.value=true;},onFocus:y=>{y.target.select(),a.value=true;},onClick:()=>{a.value=true;},onKeydown:y=>{y.key==="Enter"?(y.preventDefault(),h(),s()):y.key==="Escape"?(y.preventDefault(),s()):(y.key==="ArrowDown"||y.key==="ArrowUp")&&(y.preventDefault(),a.value=true,o.value!==null&&p(y.key==="ArrowDown"?Gd(o.value,jo,Zo/2):qd(o.value,jo,Yo/2)));},onBlur:()=>{h(),l.value=null;}})}),a.value&&n.isEnabled.value?jsxRuntime.jsx("div",{class:"docx-toolbar__menu docx-toolbar__font-size-menu",role:"listbox","aria-label":r("fontSize.listLabel"),children:jo.map(y=>{let v=b===y;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":v,...v?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>{p(y),s();},children:y},y)})}):null]})}}});Nr.docxSlot="font.size";var Lr=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=_l(),n=K(),r=vue.ref(false),a=vue.ref(null);return vue.watch(r,(l,i,d)=>{if(!l)return;let u=p=>{let s=a.value;s&&p.target instanceof Node&&s.contains(p.target)||(r.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));}),()=>{if(e.hidden)return null;let l=`${Math.round(o.zoom.value*100)}%`,i=editor.sameZoomMode(o.mode.value,editor.AUTO_ZOOM_MODE),d=editor.sameZoomMode(o.mode.value,editor.FIT_WIDTH_ZOOM_MODE);return jsxRuntime.jsxs("span",{ref:a,class:"docx-toolbar__zoom","data-slot":"zoom.level",children:[jsxRuntime.jsx(Zd,{class:e.className,groupLabel:n("zoom.zoomLevel"),decreaseLabel:n("zoom.zoomOut"),increaseLabel:n("zoom.zoomIn"),canDecrease:o.canZoomOut.value,canIncrease:o.canZoomIn.value,onDecrease:o.zoomOut,onIncrease:o.zoomIn,children:jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--menu",disabled:!t.value,"aria-haspopup":"listbox","aria-expanded":r.value,"aria-label":n("zoom.zoomLevel"),onMousedown:_,onClick:()=>{r.value=!r.value;},children:[l,jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]})}),r.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__zoom-menu",role:"listbox","aria-label":n("zoom.zoomLevel"),children:[jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":i,...i?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>{r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":d,...d?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>{r.value=false,o.setMode(editor.FIT_WIDTH_ZOOM_MODE);},children:n("zoom.fitWidth")}),jsxRuntime.jsx("hr",{class:"docx-toolbar__menu-separator",role:"presentation"}),o.levels.map(u=>{let p=!o.isFit.value&&Math.abs(u-o.zoom.value)<.001;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":p,...p?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>{r.value=false,o.setZoom(u);},children:`${Math.round(u*100)}%`},u)})]}):null]})}}});Lr.docxSlot="zoom.level";var Fg={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},Ag=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??Fg;return {alignment:t.alignment==="both"?"justify":t.alignment??null,spaceBeforePt:t.spaceBeforePt??null,spaceAfterPt:t.spaceAfterPt??null,lineSpacing:t.lineSpacing??null,indentLeftTwips:o&&!o.mixed.left?o.left:null,indentRightTwips:o&&!o.mixed.right?o.right:null,indentFirstLineTwips:o&&!o.mixed.firstLine?o.firstLine:null,contextualSpacing:n.contextualSpacing,keepNext:n.keepNext,keepLines:n.keepLines,widowControl:n.widowControl,pageBreakBefore:n.pageBreakBefore,tabStops:t.tabStops??null,indentUnknown:!o,disagrees:{alignment:t.disagrees?.alignment??false,spaceBeforePt:t.disagrees?.spaceBeforePt??false,spaceAfterPt:t.disagrees?.spaceAfterPt??false,lineSpacing:t.disagrees?.lineSpacing??false,tabStops:t.disagrees?.tabStops??false,indentLeft:o?.mixed.left??false,indentRight:o?.mixed.right??false,indentFirstLine:o?.mixed.firstLine??false}}},Hg=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],Og=(e,t)=>Hg.every(o=>e.disagrees[o]===t.disagrees[o]),Bg=(e,t)=>e===null||t===null?e===t:e.alignment===t.alignment&&e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value&&e.indentLeftTwips===t.indentLeftTwips&&e.indentRightTwips===t.indentRightTwips&&e.indentFirstLineTwips===t.indentFirstLineTwips&&e.contextualSpacing===t.contextualSpacing&&e.keepNext===t.keepNext&&e.keepLines===t.keepLines&&e.widowControl===t.widowControl&&e.pageBreakBefore===t.pageBreakBefore&&Og(e,t)&&e.indentUnknown===t.indentUnknown&&e.tabStops?.length===t.tabStops?.length&&(e.tabStops??[]).every((o,n)=>o.positionTwips===t.tabStops?.[n]?.positionTwips&&o.alignment===t.tabStops?.[n]?.alignment&&(o.leader??"none")===(t.tabStops?.[n]?.leader??"none")),Kg=e=>e.editable;function Dl(){let e=R(),t=I(Ag,Bg),o=I(Kg),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setParagraphFormat",alignment:"left"}).ok),r=a=>{if(!e.value)return false;let l={type:"setParagraphFormat",...a};return e.value.can(l).ok?e.value.exec(l).ok:false};return {format:vue.computed(()=>t.value),isEnabled:n,apply:r}}var Nl=e=>Math.round(e/1440*100)/100,Ll=e=>Nl(e).toLocaleString(void 0,{maximumFractionDigits:2}),Xd=e=>Math.round(e*1440),Jd={left:"dialogs.paragraph.tabAlignLeft",center:"dialogs.paragraph.tabAlignCenter",right:"dialogs.paragraph.tabAlignRight",decimal:"dialogs.paragraph.tabAlignDecimal",bar:"dialogs.paragraph.tabAlignBar"},Vg=e=>e===null||e===0?"none":e<0?"hanging":"firstLine",zg=(e,t)=>e==="none"?0:e==="hanging"?-Math.abs(t):Math.abs(t);function Qd(e){let t=e.indentFirstLineTwips;return {alignment:e.alignment??"left",indentLeft:e.indentLeftTwips??0,indentRight:e.indentRightTwips??0,special:Vg(t),specialBy:Math.abs(t??0),spaceBefore:e.spaceBeforePt??0,spaceAfter:e.spaceAfterPt??0,lineRule:e.lineSpacing?.rule??"multiple",lineValue:e.lineSpacing?.value??1.08,contextualSpacing:e.contextualSpacing===true,keepNext:e.keepNext===true,keepLines:e.keepLines===true,widowControl:e.widowControl!==false,pageBreakBefore:e.pageBreakBefore===true,tabStops:e.tabStops??[],clearedAllTabStops:false}}var Fr={contextualSpacing:false,keepNext:false,keepLines:false,widowControl:false,pageBreakBefore:false,tabStops:false,alignment:false,indentLeft:false,indentRight:false,special:false,spaceBefore:false,spaceAfter:false,lineSpacing:false};function eu(e){return {contextualSpacing:e.contextualSpacing===null,keepNext:e.keepNext===null,keepLines:e.keepLines===null,widowControl:e.widowControl===null,pageBreakBefore:e.pageBreakBefore===null,tabStops:e.disagrees.tabStops,alignment:e.disagrees.alignment,indentLeft:e.disagrees.indentLeft||e.indentUnknown,indentRight:e.disagrees.indentRight||e.indentUnknown,special:e.disagrees.indentFirstLine||e.indentUnknown,spaceBefore:e.disagrees.spaceBeforePt,spaceAfter:e.disagrees.spaceAfterPt,lineSpacing:e.disagrees.lineSpacing}}function $g(e,t){return e===t?true:e.length!==t.length?false:e.every((o,n)=>{let r=t[n];return r!==void 0&&o.positionTwips===r.positionTwips&&o.alignment===r.alignment&&(o.leader??"none")===(r.leader??"none")})}function tu(e,t,o=Fr,n=o){let r={},a=false,l=(d,u)=>{r[d]=u,a=true;},i=d=>o[d]&&!n[d];return (e.alignment!==t.alignment||i("alignment"))&&l("alignment",t.alignment),(e.indentLeft!==t.indentLeft||i("indentLeft"))&&l("indentLeftTwips",t.indentLeft),(e.indentRight!==t.indentRight||i("indentRight"))&&l("indentRightTwips",t.indentRight),(e.special!==t.special||e.specialBy!==t.specialBy||i("special"))&&l("indentFirstLineTwips",zg(t.special,t.specialBy)),(e.spaceBefore!==t.spaceBefore||i("spaceBefore"))&&l("spaceBeforePt",t.spaceBefore),(e.spaceAfter!==t.spaceAfter||i("spaceAfter"))&&l("spaceAfterPt",t.spaceAfter),!n.lineSpacing&&(e.lineRule!==t.lineRule||e.lineValue!==t.lineValue||i("lineSpacing"))&&l("lineSpacing",{rule:t.lineRule,value:t.lineValue}),(e.contextualSpacing!==t.contextualSpacing||i("contextualSpacing"))&&l("contextualSpacing",t.contextualSpacing),(e.keepNext!==t.keepNext||i("keepNext"))&&l("keepNext",t.keepNext),(e.keepLines!==t.keepLines||i("keepLines"))&&l("keepLines",t.keepLines),(e.widowControl!==t.widowControl||i("widowControl"))&&l("widowControl",t.widowControl),(e.pageBreakBefore!==t.pageBreakBefore||i("pageBreakBefore"))&&l("pageBreakBefore",t.pageBreakBefore),(!$g(e.tabStops,t.tabStops)||i("tabStops")&&t.clearedAllTabStops)&&l("tabStops",t.tabStops),a?r:null}function ou(e,t){return [...e.filter(n=>n.positionTwips!==t.positionTwips),t].sort((n,r)=>n.positionTwips-r.positionTwips)}function nu(e,t){if(t.key!=="Tab")return false;let o=[...e.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(l=>!l.hasAttribute("disabled")&&l.tabIndex!==-1);if(o.length===0)return false;let n=o[0],r=o[o.length-1],a=e.ownerDocument.activeElement;return t.shiftKey&&(a===n||a===e)?(r.focus(),true):!t.shiftKey&&a===r?(n.focus(),true):false}var Zg={marginRight:"auto",fontSize:"12px",color:"var(--doc-danger)"},Yg={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},Xg={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"620px",maxWidth:"720px",width:"100%",margin:"20px",maxHeight:"90vh",display:"flex",flexDirection:"column",minHeight:0},Jg={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",flexShrink:0,fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},Qg={padding:"16px 20px",overflowY:"auto",minHeight:0},ey={display:"grid",gridTemplateColumns:"1fr 1fr",gap:"28px"},ru={display:"flex",flexDirection:"column",gap:"14px",minWidth:0},Jo={fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},ze={display:"flex",alignItems:"center",gap:"12px"},Qe={width:"92px",fontSize:"13px",color:"var(--doc-text-muted)"},dt={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Fl={fontSize:"11px",color:"var(--doc-text-muted)",width:"20px"},ty={display:"flex",alignItems:"center",gap:"8px",fontSize:"13px",color:"var(--doc-text)"},oy={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",flexShrink:0},Qo={padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Mt=vue.defineComponent({name:"DocxEditorParagraphDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Dl(),n=vue.ref("left"),r=vue.ref(0),a=vue.ref(0),l=vue.ref("none"),i=vue.ref(0),d=vue.ref(0),u=vue.ref(0),p=vue.ref("multiple"),s=vue.ref(1.08),c=vue.ref(false),g=vue.ref(false),f=vue.ref(false),b=vue.ref(true),h=vue.ref(false),y=vue.ref([]),v=vue.ref(false),P=vue.ref(0),T=vue.ref("left"),m=vue.ref("none"),C=vue.ref(false),S=vue.ref(null),x=vue.ref(Fr),E=vue.ref(false),w=vue.ref(Fr),M=vue.getCurrentInstance(),U=()=>document.querySelector('[role="dialog"][aria-label="'+t("dialogs.paragraph.title")+'"]'),k=vue.ref(false),B=`docx-paragraph-${M?.uid??0}`;vue.watch(()=>[e.open,o.format.value],([X,Q])=>{if(!X){C.value=false;return}if(C.value||Q===null)return;let G=Qd(Q);n.value=G.alignment,r.value=G.indentLeft,a.value=G.indentRight,l.value=G.special,i.value=G.specialBy,d.value=G.spaceBefore,u.value=G.spaceAfter,p.value=G.lineRule,s.value=G.lineValue,c.value=G.contextualSpacing,g.value=G.keepNext,f.value=G.keepLines,b.value=G.widowControl,h.value=G.pageBreakBefore,y.value=G.tabStops,v.value=false,x.value=eu(Q),E.value=Q.indentUnknown,P.value=0,T.value="left",m.value="none",w.value=x.value,k.value=false,S.value=G,C.value=true,vue.nextTick(()=>U()?.focus());},{immediate:true});let ue=()=>{let X=Math.round(P.value);return X<=0?false:(x.value={...x.value,tabStops:false},y.value=ou(y.value,{positionTwips:X,alignment:T.value,...m.value!=="none"?{leader:m.value}:{}}),P.value=0,T.value="left",m.value="none",true)},ce=()=>{let X=S.value,Q=X===null?null:tu(X,{alignment:n.value,indentLeft:r.value,indentRight:a.value,special:l.value,specialBy:i.value,spaceBefore:d.value,spaceAfter:u.value,lineRule:p.value,lineValue:s.value,contextualSpacing:c.value,keepNext:g.value,keepLines:f.value,widowControl:b.value,pageBreakBefore:h.value,tabStops:y.value,clearedAllTabStops:v.value},w.value,x.value);if(Q===null){e.onClose();return}if(o.apply(Q)){k.value=false,e.onClose();return}k.value=true;};return ()=>{if(!e.open)return null;let X=N=>E.value&&(N==="indentLeft"||N==="indentRight"||N==="special")?t("dialogs.paragraph.notShown"):t("dialogs.paragraph.mixed"),Q=N=>{x.value={...x.value,[N]:false};},G=(N,he,Ct,xe)=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${B}-${N}`,type:"number",style:dt,min:"0",step:"0.1",...N==="tabPosition"?{"data-docx-tab-entry":""}:{},value:xe&&x.value[xe]?"":Nl(he),placeholder:xe&&x.value[xe]?X(xe):void 0,onInput:Fa=>{xe&&Q(xe),Ct(Xd(Number(Fa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Fl,children:t("dialogs.paragraph.unitInches")})]}),Xe=(N,he,Ct,xe)=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${B}-${N}`,type:"number",style:dt,min:"0",step:"1",value:x.value[xe]?"":he,placeholder:x.value[xe]?X(xe):void 0,onInput:Fa=>{Q(xe),Ct(Math.max(0,Number(Fa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Fl,children:t("dialogs.paragraph.unitPoints")})]}),Ke=(N,he,Ct)=>jsxRuntime.jsxs("label",{style:ty,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:he,".indeterminate":x.value[N],onChange:xe=>{x.value={...x.value,[N]:false},Ct(xe.target.checked);}}),t(`dialogs.paragraph.${N}`)]}),Ap=`docx-editor${(typeof document<"u"?document.querySelector(".docx-editor"):null)?.classList.contains("dark")?" dark":""}`;return jsxRuntime.jsx(vue.Teleport,{to:"body",children:jsxRuntime.jsx("div",{class:`${Ap}${e.className?` ${e.className}`:""}`,style:Yg,onClick:e.onClose,onKeydown:N=>{N.key==="Escape"&&e.onClose();let he=U();he&&nu(he,N)&&N.preventDefault();let Ct=N.target instanceof HTMLButtonElement||N.target instanceof HTMLSelectElement;if(N.key==="Enter"&&!Ct){let xe=N.target;if(xe instanceof HTMLElement&&xe.dataset.docxTabEntry!==void 0){ue();return}o.isEnabled.value&&ce();}},children:jsxRuntime.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":t("dialogs.paragraph.title"),tabindex:-1,style:Xg,onClick:N=>N.stopPropagation(),onMousedown:N=>N.stopPropagation(),children:[jsxRuntime.jsx("div",{style:Jg,children:t("dialogs.paragraph.title")}),jsxRuntime.jsx("div",{style:Qg,children:jsxRuntime.jsxs("div",{style:ey,children:[jsxRuntime.jsxs("div",{style:ru,children:[jsxRuntime.jsx("div",{style:Jo,children:t("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-alignment`,children:t("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${B}-alignment`,style:dt,value:x.value.alignment?"":n.value,onChange:N=>{Q("alignment"),n.value=N.target.value;},"aria-label":t("dialogs.paragraph.alignment"),children:[x.value.alignment?jsxRuntime.jsx("option",{value:"",children:t("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"left",children:t("dialogs.paragraph.alignLeft")}),jsxRuntime.jsx("option",{value:"center",children:t("dialogs.paragraph.alignCenter")}),jsxRuntime.jsx("option",{value:"right",children:t("dialogs.paragraph.alignRight")}),jsxRuntime.jsx("option",{value:"justify",children:t("dialogs.paragraph.alignJustify")})]})]}),jsxRuntime.jsx("div",{style:Jo,children:t("dialogs.paragraph.indentation")}),G("beforeText",r.value,N=>{r.value=N;},"indentLeft"),G("afterText",a.value,N=>{a.value=N;},"indentRight"),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-special`,children:t("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${B}-special`,style:dt,value:x.value.special?"":l.value,onChange:N=>{Q("special"),l.value=N.target.value;},"aria-label":t("dialogs.paragraph.special"),children:[x.value.special?jsxRuntime.jsx("option",{value:"",children:X("special")}):null,jsxRuntime.jsx("option",{value:"none",children:t("dialogs.paragraph.specialNone")}),jsxRuntime.jsx("option",{value:"firstLine",children:t("dialogs.paragraph.specialFirstLine")}),jsxRuntime.jsx("option",{value:"hanging",children:t("dialogs.paragraph.specialHanging")})]})]}),l.value!=="none"?G("by",i.value,N=>{i.value=Math.max(0,N);},"special"):null,jsxRuntime.jsx("div",{style:Jo,children:t("dialogs.paragraph.tabStops")}),y.value.length===0?jsxRuntime.jsx("div",{style:{fontSize:"12px",color:"var(--doc-text-muted)"},children:t(x.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):y.value.map(N=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("span",{style:{...Qe,color:"var(--doc-text)"},children:t("dialogs.paragraph.tabPositionLabel",{position:Ll(N.positionTwips)})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:"13px",color:"var(--doc-text-muted)"},children:t(Jd[N.alignment])}),jsxRuntime.jsx("button",{type:"button",style:Qo,onClick:()=>{y.value=y.value.filter(he=>he!==N);},"aria-label":t("dialogs.paragraph.tabRemoveAt",{position:Ll(N.positionTwips)}),children:t("dialogs.paragraph.tabRemove")})]},N.positionTwips)),G("tabPosition",P.value,N=>{P.value=Math.max(0,N);}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-tabAlignment`,children:t("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${B}-tabAlignment`,style:dt,value:T.value,onChange:N=>{T.value=N.target.value;},"aria-label":t("dialogs.paragraph.tabAlignment"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"left",children:t("dialogs.paragraph.tabAlignLeft")}),jsxRuntime.jsx("option",{value:"center",children:t("dialogs.paragraph.tabAlignCenter")}),jsxRuntime.jsx("option",{value:"right",children:t("dialogs.paragraph.tabAlignRight")}),jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.paragraph.tabAlignDecimal")})]})]}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-tabLeader`,children:t("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${B}-tabLeader`,style:dt,value:m.value,onChange:N=>{m.value=N.target.value;},"aria-label":t("dialogs.paragraph.tabLeader"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"none",children:t("dialogs.paragraph.tabNone")}),jsxRuntime.jsx("option",{value:"dot",children:t("dialogs.paragraph.tabLeaderDot")}),jsxRuntime.jsx("option",{value:"hyphen",children:t("dialogs.paragraph.tabLeaderHyphen")}),jsxRuntime.jsx("option",{value:"underscore",children:t("dialogs.paragraph.tabLeaderUnderscore")})]})]}),jsxRuntime.jsxs("div",{style:{...ze,justifyContent:"flex-end"},children:[jsxRuntime.jsx("button",{type:"button",style:Qo,onClick:ue,children:t("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",style:Qo,onClick:()=>{x.value={...x.value,tabStops:false},y.value=[];},children:t("dialogs.paragraph.tabClearAll")})]})]}),jsxRuntime.jsxs("div",{style:ru,children:[jsxRuntime.jsx("div",{style:Jo,children:t("dialogs.paragraph.spacing")}),Xe("spaceBefore",d.value,N=>{d.value=N;},"spaceBefore"),Xe("spaceAfter",u.value,N=>{u.value=N;},"spaceAfter"),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-lineSpacing`,children:t("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${B}-lineSpacing`,style:dt,value:x.value.lineSpacing?"":p.value,onChange:N=>{let he=N.target.value;Q("lineSpacing"),p.value=he,s.value=he===S.value?.lineRule?S.value.lineValue:he==="multiple"?1.08:12;},"aria-label":t("dialogs.paragraph.lineSpacing"),children:[x.value.lineSpacing?jsxRuntime.jsx("option",{value:"",children:t("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"multiple",children:t("dialogs.paragraph.ruleMultiple")}),jsxRuntime.jsx("option",{value:"atLeast",children:t("dialogs.paragraph.ruleAtLeast")}),jsxRuntime.jsx("option",{value:"exact",children:t("dialogs.paragraph.ruleExactly")})]})]}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-at`,children:t("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${B}-at`,type:"number",style:dt,disabled:x.value.lineSpacing,min:"0.01",step:p.value==="multiple"?"0.01":"1",value:x.value.lineSpacing?"":s.value,onInput:N=>{let he=N.target.value.trim();s.value=he===""?p.value==="multiple"?1.08:12:Number(he)||0;},"aria-label":t("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{style:Fl,children:p.value==="multiple"?"":t("dialogs.paragraph.unitPoints")})]}),Ke("contextualSpacing",c.value,N=>{c.value=N;}),jsxRuntime.jsx("div",{style:Jo,children:t("dialogs.paragraph.pagination")}),Ke("keepNext",g.value,N=>{g.value=N;}),Ke("widowControl",b.value,N=>{b.value=N;}),Ke("keepLines",f.value,N=>{f.value=N;}),Ke("pageBreakBefore",h.value,N=>{h.value=N;})]})]})}),jsxRuntime.jsxs("div",{style:oy,children:[k.value?jsxRuntime.jsx("span",{role:"alert",style:Zg,children:t("dialogs.paragraph.refused")}):null,jsxRuntime.jsx("button",{type:"button",style:Qo,onClick:e.onClose,children:t("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{...Qo,backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",borderColor:"var(--doc-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:ce,children:t("dialogs.paragraph.ok")})]})]})})})}}});var lu=Symbol("docx.paragraphDialog"),iu=vue.defineComponent({name:"DocxEditorParagraphDialogHost",setup(e,{slots:t}){let o=vue.ref(false),n=vue.ref(null);vue.provide(lu,{open:a=>{n.value=a??(document.activeElement instanceof HTMLElement?document.activeElement:null),o.value=true;}});let r=()=>{o.value=false;let a=n.value;n.value=null,a?.isConnected&&a.focus({preventScroll:true});};return ()=>[...t.default?.()??[],vue.h(Mt,{open:o.value,onClose:r})]}});function su(){return vue.inject(lu,null)}var uy=[1,1.15,1.5,2,2.5,3],uu=10,cu=0,cy=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),py=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,Ar=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=I(cy,py),n=W("list.lineSpacing"),r=W("paragraph.dialog"),a=su(),l=K(),i=vue.ref(false),d=vue.ref(null);vue.watch(i,(s,c,g)=>{if(!s)return;let f=b=>{let h=d.value;h&&b.target instanceof Node&&h.contains(b.target)||(i.value=false);};document.addEventListener("mousedown",f),g(()=>document.removeEventListener("mousedown",f));});let u=s=>{if(i.value=false,!t.value)return;let c=editor.commandForSlotValue("list.lineSpacing",s);c&&t.value.can(c).ok&&t.value.exec(c);},p=(s,c)=>{if(i.value=false,!t.value)return;let g={type:"setParagraphSpacing",[s]:c};t.value.can(g).ok&&t.value.exec(g);};return ()=>{if(e.hidden)return null;let s=V("list.lineSpacing"),c=(o.value.spaceBeforePt??0)>0,g=(o.value.spaceAfterPt??0)>0,f=o.value.lineSpacing?.rule==="multiple"?o.value.lineSpacing?.value??null:null;return jsxRuntime.jsxs("span",{ref:d,class:"docx-toolbar__line-spacing","data-slot":"list.lineSpacing",children:[jsxRuntime.jsxs("button",{type:"button",class:`docx-toolbar__button docx-toolbar__line-spacing-trigger${e.className?` ${e.className}`:""}`,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":i.value,"aria-label":l("lineSpacing.label"),title:n.disabledReason.value??l("lineSpacing.label"),onMousedown:_,onClick:()=>{i.value=!i.value;},children:[$(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),i.value&&n.isEnabled.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__line-spacing-menu",role:"menu",children:[uy.map(b=>{let h=f===b;return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":h,...h?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>u(b),children:Number.isInteger(b*10)?b.toFixed(1):b.toFixed(2)},b)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item","data-slot":"paragraph.dialog",disabled:!r.isEnabled.value,title:r.disabledReason.value??void 0,onMousedown:_,onClick:()=>{i.value=false;let b=d.value?.querySelector(".docx-toolbar__line-spacing-trigger");a?.open(b instanceof HTMLElement?b:null);},children:l("lineSpacing.options")}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>p("beforePt",c?cu:uu),children:l(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:_,onClick:()=>p("afterPt",g?cu:uu),children:l(g?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});Ar.docxSlot="list.lineSpacing";var yy=[{value:"C00000",labelKey:"colorPicker.colors.darkRed",css:"#c00000"},{value:"FF0000",labelKey:"colorPicker.colors.red",css:"#ff0000"},{value:"FFC000",labelKey:"colorPicker.colors.orange",css:"#ffc000"},{value:"FFFF00",labelKey:"colorPicker.colors.yellow",css:"#ffff00"},{value:"92D050",labelKey:"colorPicker.colors.lightGreen",css:"#92d050"},{value:"00B050",labelKey:"colorPicker.colors.green",css:"#00b050"},{value:"00B0F0",labelKey:"colorPicker.colors.lightBlue",css:"#00b0f0"},{value:"0070C0",labelKey:"colorPicker.colors.blue",css:"#0070c0"},{value:"002060",labelKey:"colorPicker.colors.darkBlue",css:"#002060"},{value:"7030A0",labelKey:"colorPicker.colors.purple",css:"#7030a0"}],pu=[{value:"yellow",labelKey:"colorPicker.colors.yellow",css:"#ffff00"},{value:"green",labelKey:"colorPicker.colors.brightGreen",css:"#00ff00"},{value:"cyan",labelKey:"colorPicker.colors.cyan",css:"#00ffff"},{value:"magenta",labelKey:"colorPicker.colors.magenta",css:"#ff00ff"},{value:"blue",labelKey:"colorPicker.colors.blue",css:"#0000ff"},{value:"red",labelKey:"colorPicker.colors.red",css:"#ff0000"},{value:"darkBlue",labelKey:"colorPicker.colors.darkBlue",css:"#000080"},{value:"darkCyan",labelKey:"colorPicker.colors.darkCyan",css:"#008080"},{value:"darkGreen",labelKey:"colorPicker.colors.darkGreen",css:"#008000"},{value:"darkMagenta",labelKey:"colorPicker.colors.darkMagenta",css:"#800080"},{value:"darkRed",labelKey:"colorPicker.colors.darkRed",css:"#800000"},{value:"darkYellow",labelKey:"colorPicker.colors.darkYellow",css:"#808000"},{value:"darkGray",labelKey:"colorPicker.colors.darkGray",css:"#808080"},{value:"lightGray",labelKey:"colorPicker.colors.lightGray",css:"#c0c0c0"},{value:"black",labelKey:"colorPicker.colors.black",css:"#000000"},{value:"white",labelKey:"colorPicker.colors.white",css:"#ffffff"}],mu=["FFFFFF","000000","E7E6E6","44546A","4472C4","ED7D31","A5A5A5","FFC000","5B9BD5","70AD47"],Or=["colorPicker.theme.background1","colorPicker.theme.text1","colorPicker.theme.background2","colorPicker.theme.text2","colorPicker.theme.accent1","colorPicker.theme.accent2","colorPicker.theme.accent3","colorPicker.theme.accent4","colorPicker.theme.accent5","colorPicker.theme.accent6"],ut=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),Ie=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function vy(e){let t=[0,2,4].map(n=>parseInt(e.slice(n,n+2),16)),o=(Math.max(...t)+Math.min(...t))/2/255;return o===1?[Ie(5),Ie(15),Ie(25),Ie(35),Ie(50)]:o===0?[ut(50),ut(35),ut(25),ut(15),ut(5)]:o>=.8?[Ie(10),Ie(25),Ie(50),Ie(75),Ie(90)]:[ut(80),ut(60),ut(40),Ie(25),Ie(50)]}var by=/^[0-9A-Fa-f]{6}$/;function hy(e,t){let o="";for(let n=0;n<6;n+=2){let r=Math.round(t(parseInt(e.slice(n,n+2),16)));o+=Math.max(0,Math.min(255,r)).toString(16).padStart(2,"0");}return o.toUpperCase()}function xy(e){let t=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16);return .299*t+.587*o+.114*n>230}var Br=vue.defineComponent({name:"ColorSwatch",props:{value:{type:String,required:true},css:{type:String,required:true},title:{type:String,required:true},selected:{type:Boolean,required:true},apply:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__swatch",style:{backgroundColor:e.css},"aria-label":e.title,title:e.title,"data-value":e.value,...e.selected?{"data-selected":""}:{},...xy(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:_,onClick:()=>e.apply(e.value)})}}),Cy=vue.defineComponent({name:"ThemeMatrix",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null},themeHexes:{type:Array,required:true}},setup(e){return ()=>{let t=e.themeHexes.map(vy),o=[0,1,2,3,4];return jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.themeColors")}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-grid docx-toolbar__swatch-grid--theme",role:"group",children:[e.themeHexes.map((n,r)=>jsxRuntime.jsx(Br,{value:n,css:`#${n.toLowerCase()}`,title:e.label(Or[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,a)=>{let l=t[a][n],i=hy(r,l.apply);return jsxRuntime.jsx(Br,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(Or[a])}, ${e.label(l.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${a}`)}))]})]})}}}),Ty=vue.defineComponent({name:"FontColorBody",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null},themeHexes:{type:Array,required:true}},setup(e){let t=vue.ref("");return ()=>{let o=by.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Cy,{...e}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.standardColors")}),jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-grid",role:"group",children:yy.map(n=>jsxRuntime.jsx(Br,{value:n.value,css:n.css,title:e.label(n.labelKey),selected:e.current===n.value,apply:e.apply},n.value))})]}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.customColor")}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-custom",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__swatch-hash","aria-hidden":"true",children:"#"}),jsxRuntime.jsx("input",{type:"text",class:"docx-toolbar__swatch-hex",value:t.value,maxlength:6,spellcheck:false,"aria-label":e.label("colorPicker.customColor"),onInput:n=>{t.value=n.target.value.replace(/[^0-9A-Fa-f]/g,"").slice(0,6);},onKeydown:n=>{n.key==="Enter"&&o&&e.apply(t.value.toUpperCase());}}),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__swatch-apply",disabled:!o,onMousedown:_,onClick:()=>e.apply(t.value.toUpperCase()),children:e.label("colorPicker.apply")})]})]})]})}}}),Hl=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=R(),o=K();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===Or.length?n.map(l=>l.hex):mu,a=e.current?.toUpperCase()??null;return jsxRuntime.jsx(Ty,{apply:e.apply,label:o,current:a,themeHexes:r})}}}),Sy=pu.filter(e=>e.value!=="white"),Py=vue.defineComponent({name:"HighlightBody",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null}},setup(e){return ()=>jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.highlightColors")}),jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-grid docx-toolbar__swatch-grid--highlight",role:"group",children:Sy.map(t=>jsxRuntime.jsx(Br,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function fu(e){let{slot:t,defaultValue:o,cssOf:n,clear:r,body:a}=e,l=t==="text.color",i=vue.defineComponent({name:`ToolbarColorSplit_${t.replace(/\./g,"_")}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(d){let u=R(),p=W(t),s=K(),c=vue.ref(false),g=vue.ref(o),f=vue.ref(null),b=I(v=>{if(l){let P=v.formatting?.color;return P&&P.kind==="hex"?P.value.toUpperCase():null}return v.formatting?.highlight??null}),h=vue.computed(()=>{let v=u.value?.getDocumentThemeColors()??[];return v.length===Or.length?v.map(P=>P.hex):mu});vue.watch(c,(v,P,T)=>{if(!v)return;let m=C=>{let S=f.value;S&&C.target instanceof Node&&S.contains(C.target)||(c.value=false);};document.addEventListener("mousedown",m),T(()=>document.removeEventListener("mousedown",m));});let y=v=>{c.value=false;let P=u.value;if(!P)return;let T=editor.commandForSlotValue(t,v);T&&P.can(T).ok&&(P.exec(T),v!==r.value&&(g.value=v));};return ()=>{if(d.hidden)return null;let v=V(t),P=s(v?.labelKey??t);return jsxRuntime.jsxs("div",{ref:f,class:`docx-toolbar__colorsplit${d.className?` ${d.className}`:""}`,"data-slot":t,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__button docx-toolbar__colorsplit-main",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-label":P,title:p.disabledReason.value??P,onMousedown:_,onClick:()=>y(g.value),children:[d.icon??$(v?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:n(g.value)},"aria-hidden":"true"})]}),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__colorsplit-caret",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":c.value,"aria-label":P,title:p.disabledReason.value??P,onMousedown:_,onClick:()=>{c.value=!c.value;},children:"\u25BE"}),c.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-popup",role:"dialog","aria-label":P,onMousedown:_,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:_,onClick:()=>y(r.value),children:[jsxRuntime.jsx("span",{class:`docx-toolbar__swatch-clear-chip${r.value==="none"?" docx-toolbar__swatch-clear-chip--none":""}`,"aria-hidden":"true"}),s(r.labelKey)]}),a({apply:y,label:s,current:b.value,themeHexes:h.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var Ey=new Map(pu.map(e=>[e.value,e.css])),Ol=fu({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(Hl,{apply:e.apply,current:e.current})}),Bl=fu({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>Ey.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(Py,{...e})});var ky=["alignment.left","alignment.center","alignment.right","alignment.justify"],tn=vue.defineComponent({name:"ToolbarAlignment",props:{class:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=W("alignment.left"),o=W("alignment.center"),n=W("alignment.right"),r=W("alignment.justify"),a=K(),l=vue.ref(false),i=vue.ref(null),d=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(l.value=false);};return vue.watch(l,(u,p,s)=>{u&&(document.addEventListener("mousedown",d),s(()=>document.removeEventListener("mousedown",d)));}),()=>{if(e.hidden)return null;let u=[t,o,n,r],p=ky.map((f,b)=>({slot:f,control:V(f),state:u[b]})),s=p.find(f=>f.state.isActive.value)??p[0],c=p.some(f=>f.state.isEnabled.value),g=a(s.control?.labelKey??s.slot);return vue.h("div",{ref:i,class:`docx-toolbar__alignment${e.class?` ${e.class}`:""}`,"data-slot":"alignment"},[vue.h("button",{type:"button",class:"docx-toolbar__button docx-toolbar__alignment-trigger",disabled:!c,...c?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":l.value,"aria-label":g,title:c?g:s.state.disabledReason.value??g,onMousedown:_,onClick:()=>{l.value=!l.value;}},[$(s.control?.paths),vue.h("span",{class:"docx-toolbar__picker-caret",ariaHidden:"true"},"\u25BE")]),l.value?vue.h("div",{class:"docx-toolbar__menu docx-toolbar__alignment-popup"},p.map(f=>{let b=a(f.control?.labelKey??f.slot);return vue.h("button",{key:f.slot,type:"button",class:"docx-toolbar__button docx-toolbar__alignment-option","data-slot":f.slot,disabled:!f.state.isEnabled.value,...f.state.isActive.value?{"data-active":""}:{},"aria-pressed":f.state.isActive.value,"aria-label":b,title:f.state.disabledReason.value??b,onMousedown:_,onClick:()=>{f.state.execute(),l.value=false;}},[$(f.control?.paths)])})):null])}}});tn.docxSlot="alignment";var Kl=vue.defineComponent({name:"ToolbarAction",props:{label:{type:String,required:true},icon:{type:Object,default:void 0},active:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},disabledReason:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},class:{type:String,default:void 0},className:{type:String,default:void 0}},emits:["select"],setup(e,{emit:t,slots:o}){return ()=>{let n={type:"button",class:ke("docx-toolbar__button",e.class,e.className),disabled:e.disabled,...e.active?{"data-active":""}:{},...e.disabled?{"data-disabled":""}:{},...e.active!==void 0?{"aria-pressed":e.active}:{},"aria-label":e.label,title:e.disabled?e.disabledReason??e.label:e.label,onMousedown:_,onClick:e.disabled?void 0:()=>t("select")},r=e.icon??o.default?.();return e.asChild?vue.h(H,n,o.default):vue.h("button",n,r??void 0)}}});var Dy=Object.freeze([]),Ny=e=>e.formatting?.fontFamily??null,Ly=e=>e;function on(){let e=R(),t=I(Ny),o=I(Ly),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():Dy),r=W("font.family"),a=l=>{if(!e.value)return;let i=editor.commandForSlotValue("font.family",l);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:a,options:n,isEnabled:r.isEnabled}}var By=new Map([["arial","sansSerif"],["calibri","sansSerif"],["helvetica","sansSerif"],["verdana","sansSerif"],["open sans","sansSerif"],["roboto","sansSerif"],["times new roman","serif"],["georgia","serif"],["cambria","serif"],["garamond","serif"],["courier new","monospace"],["consolas","monospace"]]),Ky=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],hu=Symbol("FontFamilyContext");function Vl(){return vue.inject(hu,null)}var zl=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Vl(),n=K();return ()=>{if(!o)return null;let r=n(V("font.family")?.labelKey??"font.family"),a={onClick:()=>o.setOpen(!o.open.value),onMousedown:_,disabled:!o.isEnabled.value,class:`docx-toolbar__font-family-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":r,title:r},l=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(H,{...a,children:l}):jsxRuntime.jsx("button",{type:"button",...a,children:l})}}});zl.docxToolbarPart=true;var xu=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Vl(),n=K();return ()=>{if(!o||!o.open.value)return null;let r={role:"listbox",class:`docx-toolbar__menu docx-toolbar__font-family-content${e.className?` ${e.className}`:""}`,style:{position:"absolute",top:"100%",left:0,zIndex:30,minWidth:"100%",maxHeight:"300px",overflowY:"auto"}},a;return t.default?a=t.default():a=Ky.map(i=>({...i,fonts:o.options.value.filter(d=>(By.get(d.toLowerCase())??"other")===i.category)})).filter(i=>i.fonts.length>0).flatMap((i,d)=>{let u=[];d>0&&u.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"})),i.labelKey&&u.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-label",children:n(i.labelKey)}));for(let p of i.fonts)u.push(jsxRuntime.jsx(Cu,{value:p},p));return u}),e.asChild?jsxRuntime.jsx(H,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),Cu=vue.defineComponent({name:"FontFamilyItem",props:{value:{type:String,required:true},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Vl();return ()=>{if(!o)return null;let n=o.value.value===e.value,r={role:"option","aria-selected":n,...n?{"data-selected":""}:{},onMousedown:_,onClick:()=>{o.setValue(e.value),o.setOpen(false);},class:`docx-toolbar__font-family-item${e.className?` ${e.className}`:""}`},a=t.default?.()??[jsxRuntime.jsx("span",{style:{fontFamily:e.value},children:e.value})];return e.asChild?jsxRuntime.jsx(H,{...r,children:a}):jsxRuntime.jsxs("button",{type:"button",...r,children:[a,n?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),Vy=vue.defineComponent({name:"FontFamily",props:{hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=on(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,d)=>{if(!l)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(hu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family",style:{position:"relative",display:"inline-block"}},i=t.default?.()??[jsxRuntime.jsx(zl,{}),jsxRuntime.jsx(xu,{})];return e.asChild?jsxRuntime.jsx(H,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),$l=Object.assign(Vy,{docxSlot:"font.family",Trigger:zl,Content:xu,Item:Cu});var $y=/^heading ([1-9])$/;function Tu(e,t){let o=e||t,n=$y.exec(o);return n?`Heading ${n[1]}`:o}var Wy=Object.freeze([]),qy=e=>e.formatting?.styleId??null,Gy=e=>e;function nn(){let e=R(),t=I(qy),o=I(Gy),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(l=>l.type==="paragraph").map(l=>({styleId:l.styleId,name:Tu(l.name,l.styleId),preview:l.preview})):Wy),r=W("styles.style"),a=l=>{if(!e.value)return;let i=editor.commandForSlotValue("styles.style",l);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:a,options:n,isEnabled:r.isEnabled}}function Jy(e){let t=e.fontSizePt;return {...e.fontFamily?{fontFamily:e.fontFamily}:{},...t?{fontSize:`${Math.min(Math.max(t,9),20)}px`}:{},...e.bold?{fontWeight:700}:{},...e.italic?{fontStyle:"italic"}:{},...e.color?{color:`#${e.color}`}:{}}}var Eu=Symbol("ParagraphStyleContext");function Ul(){return vue.inject(Eu,null)}var Wl=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Ul(),n=K();return ()=>{if(!o)return null;let r=V("styles.style"),a=n(r?.labelKey??"styles.style"),l={onClick:()=>o.setOpen(!o.open.value),onMousedown:_,disabled:!o.isEnabled.value,class:`docx-toolbar__style-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":a,title:a},i=o.options.value.find(u=>u.styleId===o.value.value),d=t.default?.()??(o.value.value===null?[jsxRuntime.jsx("span",{children:r?.valueKey?n(r.valueKey):"\u2014"})]:[jsxRuntime.jsx("span",{children:i?.name??o.value.value})]);return e.asChild?jsxRuntime.jsx(H,{...l,children:d}):jsxRuntime.jsx("button",{type:"button",...l,children:d})}}});Wl.docxToolbarPart=true;var wu=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Ul();return ()=>{if(!o||!o.open.value)return null;let n={role:"listbox",class:`docx-toolbar__menu docx-toolbar__style-content${e.className?` ${e.className}`:""}`,style:{position:"absolute",top:"100%",left:0,zIndex:30,minWidth:"100%",maxHeight:"300px",overflowY:"auto"}},r=t.default?.()??o.options.value.map(a=>jsxRuntime.jsx(Ru,{value:a.styleId},a.styleId));return e.asChild?jsxRuntime.jsx(H,{...n,children:r}):jsxRuntime.jsx("div",{...n,children:r})}}}),Ru=vue.defineComponent({name:"ParagraphStyleItem",props:{value:{type:String,required:true},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Ul();return ()=>{if(!o)return null;let n=o.value.value===e.value,r=o.options.value.find(i=>i.styleId===e.value),a={role:"option","aria-selected":n,...n?{"data-selected":""}:{},onMousedown:_,onClick:()=>{o.setValue(e.value),o.setOpen(false);},class:`docx-toolbar__style-item${e.className?` ${e.className}`:""}`},l=t.default?.()??[jsxRuntime.jsx("span",{style:r?Jy(r.preview):void 0,children:r?.name??e.value})];return e.asChild?jsxRuntime.jsx(H,{...a,children:l}):jsxRuntime.jsxs("button",{type:"button",...a,children:[l,n?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),Qy=vue.defineComponent({name:"ParagraphStyle",props:{hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=nn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,d)=>{if(!l)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(Eu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style",style:{position:"relative",display:"inline-block"}},i=t.default?.()??[jsxRuntime.jsx(Wl,{}),jsxRuntime.jsx(wu,{})];return e.asChild?jsxRuntime.jsx(H,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),ql=Object.assign(Qy,{docxSlot:"styles.style",Trigger:Wl,Content:wu,Item:Ru});function Mu(e,t){let o=e,n=vue.defineComponent({name:`ContentControlToggle_${t}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(r,{slots:a}){let l=W(o),i=Ve(),d=K();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=V(o),s=d(p?.labelKey??e),c={type:"button",class:`docx-toolbar__button${r.className?` ${r.className}`:""}`,"data-slot":e,disabled:!l.isEnabled.value,...l.isEnabled.value?{}:{"data-disabled":""},...u?{"data-active":""}:{},"aria-pressed":u,"aria-label":s,title:l.disabledReason.value??s,onMousedown:_,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},g=r.icon??a.default?.()??$(p?.paths);return r.asChild?vue.h(H,c,a.default):vue.h("button",c,g??void 0)}}});return n.docxSlot=o,n}var zr=Mu(Se.showAll,"showAll"),$r=Mu(Se.formFill,"formFill"),rn=vue.defineComponent({name:"ToolbarContentControlInspector",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Se.inspector,n=W(o),{inspectorOpen:r,openInspector:a}=Ve(),l=K();return ()=>{if(e.hidden)return null;let i=V(o),d=l(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Se.inspector,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},...r.value?{"data-active":""}:{},"aria-pressed":r.value,"aria-label":d,title:n.disabledReason.value??d,onMousedown:_,onClick:()=>a()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(H,u,t.default):vue.h("button",u,p??void 0)}}});rn.docxSlot=Se.inspector;var an=vue.defineComponent({name:"ToolbarContentControlRemove",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r}=Ve(),a=K();return ()=>{if(e.hidden)return null;let l=Se.remove,i=V(l),d=a(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Se.remove,disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":d,title:n.value??d,onMousedown:_,onClick:()=>r()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(H,u,t.default):vue.h("button",u,p??void 0)}}});an.docxSlot=Se.remove;var ku={[Se.showAll]:zr,[Se.formFill]:$r,[Se.inspector]:rn,[Se.remove]:an};function jl(e,t){let o=R(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,a,l)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),d=o.value.on(e,i);l(d);},{immediate:true,flush:"post"});}var pv=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],Zl=Symbol("TableChromeContext");function Lu(){let e=vue.inject(Zl,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function fv(e,t){let o=t.table,r=(e?.getSelectedTable()??null)?.blockId??"",a=o?`${r}|${o.rows}|${o.columns}|${o.rowIndex}|${o.columnIndex}`:"",l=t.selection,i=l?`${l.from&&"paraId"in l.from?l.from.paraId:""}|${l.to&&"paraId"in l.to?l.to.paraId:""}|${t.selectionCollapsed}`:"",d=e?.getTableCellSelection()??null,u=d?`${d.tableId}|${d.rows.from}-${d.rows.to}|${d.columns.from}-${d.columns.to}|${d.cellIds.join(",")}`:"";return {tableKey:a,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function gv(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function yv(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var Du={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function vv(e,t){let o={};for(let n of pv){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var Yl=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=R(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(Du);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let a=I(s=>({table:s.table,editable:s.editable,editingMode:s.editingMode??"editing",headParagraphId:s.selection?.to&&"paraId"in s.selection.to?s.selection.to.paraId:s.selection?.from&&"paraId"in s.selection.from?s.selection.from.paraId:""}),gv,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),l=()=>{let s=o.value;if(!s){r.value=Du;return}let c=fv(s,s.snapshot());yv(r.value,c)||(r.value=c);};vue.watch([o,a],l,{immediate:true,flush:"post"}),jl("selectionChange",l);let i=vue.computed(()=>r.value.tableKey!==""),d=vue.computed(()=>{let s=o.value;return s?vv(s,n.value):{}}),u=(s,c)=>{let g=o.value;if(!g)return;let{result:f,nextDraft:b}=editor.runTableChromeCommand(g,s,c,n.value);f.ok&&b&&(n.value=b);},p={visible:i,draft:vue.computed(()=>n.value),setDraft:s=>{n.value=s;},slotState:s=>d.value[s]??{enabled:false,disabledReason:"editor is not ready"},apply:u};return vue.provide(Zl,p),()=>t.default?.()}});function bv(){let e=vue.inject(Zl,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function Xl(e){let t=bv(),o=vue.computed(()=>t.slotState(e));return {visible:t.visible,enabled:vue.computed(()=>o.value.enabled),disabledReason:vue.computed(()=>o.value.disabledReason),draft:t.draft,apply:n=>t.apply(e,n)}}var hv='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function ct(e){return [...e.querySelectorAll(hv)].filter(t=>t.closest('[role="menu"]')===e)}function Jl(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function De(e,t,o){if(e.length===0)return false;let n=t?e.indexOf(t):-1,r=n===-1?o>0?0:e.length-1:(n+o+e.length)%e.length;return e[r]?.focus(),true}function Ne(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}function ei(e){(no(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function ti(e,t,o){vue.watch(e,(n,r,a)=>{if(!n)return;let l=i=>{let d=o.value;d&&i.target instanceof Node&&d.contains(i.target)||t(false);};document.addEventListener("mousedown",l),a(()=>document.removeEventListener("mousedown",l));});}function Ur({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=D(),r=i18n.localizeDisabledReason(t,n),a=re("table-chrome-reason"),l=!e&&r?a:void 0;return {reasonId:a,shared:{type:"button",onMousedown:_,"aria-label":o,...l?{"aria-describedby":l}:{},...r?{title:r}:{},...e?{}:{"data-disabled":"","aria-disabled":true}},reasonNode:l&&r?vue.h("span",{id:a,class:"docx-editor-sr-only"},r):null}}var Tv='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function Au(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(Tv)].filter(c=>c.closest('[role="menu"]')===i);queueMicrotask(()=>{let c=u();(c.find(f=>f.hasAttribute("data-selected")||f.hasAttribute("data-active"))??c[0])?.focus();});let s=c=>{let g=u();if(c.key==="Escape"){c.preventDefault(),t(false),d?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),De(g,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),De(g,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ne(g,"first");return}if(c.key==="End"){c.preventDefault(),Ne(g,"last");return}if(c.key==="Enter"||c.key===" "){let f=document.activeElement;f instanceof HTMLElement&&g.includes(f)&&(c.preventDefault(),f.click());}};i.addEventListener("keydown",s),l(()=>i.removeEventListener("keydown",s));},{flush:"post"});}function Hu(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll('button:not([aria-disabled="true"])')].filter(s=>s.closest('[role="dialog"]')===i);queueMicrotask(()=>{u()[0]?.focus();});let p=s=>{if(s.key==="Escape"){s.preventDefault(),t(false),d?.focus();return}if(s.key==="Enter"||s.key===" "){let c=document.activeElement,g=u();c instanceof HTMLElement&&g.includes(c)&&(s.preventDefault(),c.click());}};i.addEventListener("keydown",p),l(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var Rv=e=>e;function oi(){let e=R(),t=K(),o=I(Rv);return vue.computed(()=>{o.value;let r=editor.toolbarCommandState(e.value,"table.borderTarget").value??editor.DEFAULT_TABLE_CHROME_DRAFT.activeTarget;return t(editor.tableChromeLabelKeyForTarget(r))})}function Iv(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function Dv(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function Nv(e){return $(editor.tableChromeIconPaths(e))}function ni(e,t,o){let n=Symbol(`table-menu-${e}`),r=vue.defineComponent({name:`TableChromeRoot_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=Xl(e),p=vue.ref(false),s=vue.ref(null),c=vue.ref(null),g=f=>{p.value=f;};return ti(p,g,s),vue.provide(n,{get open(){return p.value},setOpen:g,get enabled(){return u.enabled.value},get disabledReason(){return u.disabledReason.value},apply:u.apply,draft:u.draft,triggerRef:c}),()=>{if(i.hidden||!u.visible.value)return null;let f={class:`${t}${i.className?` ${i.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},b=d.default?.()??[jsxRuntime.jsx(a,{}),jsxRuntime.jsx(l,{})];return i.asChild?jsxRuntime.jsx(H,{...f,ref:s,children:b}):jsxRuntime.jsx("div",{ref:s,...f,children:b})}}}),a=vue.defineComponent({name:`TableChromeTrigger_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=V(e),c=p(s?.labelKey??o);return ()=>{let{shared:g,reasonNode:f}=Ur({enabled:u.enabled,disabledReason:u.disabledReason,ariaLabel:c}),b={...g,ref:u.triggerRef,class:`docx-toolbar__button docx-table-chrome__trigger${i.className?` ${i.className}`:""}`,"aria-haspopup":"menu","aria-expanded":u.open,onClick:u.enabled?()=>u.setOpen(!u.open):void 0,...i.asChild?{tabIndex:u.enabled?0:-1,role:"button",onKeydown:Dv(u.enabled,u.open,u.setOpen)}:{}},h=d.default?.()??[$(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})];return i.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...b,children:h}),f]}):jsxRuntime.jsxs("button",{...b,children:[h,f]})}}});a.docxToolbarPart=true;let l=vue.defineComponent({name:`TableChromeContent_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=vue.ref(null);return Au(()=>u.open&&u.enabled,u.setOpen,s,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=V(e),g=p(c?.labelKey??o),f={ref:s,role:"menu","aria-label":g,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:_};return i.asChild?jsxRuntime.jsx(H,{...f,children:d.default?.()}):jsxRuntime.jsx("div",{...f,children:d.default?.()})}}});return {Root:r,Trigger:a,Content:l,CtxKey:n}}var sn=ni("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),Uu=vue.defineComponent({name:"TableBorderTargetItem",props:{value:{type:String,required:true},className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=vue.inject(sn.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let a=r.value==="none"?false:r.value===o.draft.value.activeTarget,l={type:"button",role:"menuitemradio","aria-checked":a,"data-value":r.value,class:`docx-table-chrome__target-btn${e.className?` ${e.className}`:""}`,...a?{"data-active":""}:{},"aria-label":n(r.labelKey),title:n(r.labelKey),onMousedown:_,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[Nv(r.icon)];return e.asChild?jsxRuntime.jsx(H,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),Wu=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(sn.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(Uu,{value:o.value},o.value))})})}}),Lv=vue.defineComponent({name:"ToolbarTableBorderTarget",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(sn.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(sn.Trigger,{}),jsxRuntime.jsx(Wu,{})]})}}),dn=Object.assign(Lv,{docxSlot:"table.borderTarget",Trigger:sn.Trigger,Content:Wu,Item:Uu}),so=ni("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),Ou=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(so.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let a=r.value===o.draft.value.spec.style,l={type:"button",role:"menuitemradio","aria-checked":a,...a?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:_,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[jsxRuntime.jsx("span",{class:`docx-table-line ${r.previewClass}`,"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(r.labelKey)})];return e.asChild?jsxRuntime.jsx(H,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),un=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(so.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(so.Trigger,{}),jsxRuntime.jsx(so.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(Ou,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:so.Trigger,Content:so.Content,Item:Ou}),uo=ni("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),Bu=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(uo.CtxKey),n=K();return ()=>{let r=Number(e.value),a=editor.TABLE_BORDER_WIDTH_OPTIONS.find(u=>u.size===r);if(!a)return null;let l=a.size===o.draft.value.spec.size,i={type:"button",role:"menuitemradio","aria-checked":l,...l?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:_,onClick:()=>{o.setOpen(false),o.apply(a.size);}},d=t.default?.()??[jsxRuntime.jsx("span",{class:"docx-table-line docx-table-line--single",style:{height:`${a.previewThickness}px`},"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(a.labelKey)})];return e.asChild?jsxRuntime.jsx(H,{...i,children:d}):jsxRuntime.jsx("button",{...i,children:d})}}}),cn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(uo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(uo.Trigger,{}),jsxRuntime.jsx(uo.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx(Bu,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:uo.Trigger,Content:uo.Content,Item:Bu});function qu(e,t,o){let n=o?.defaultHex??"FF0000",r=Symbol(`table-color-${e}`),a=vue.defineComponent({name:`TableColorRoot_${e}`,props:{className:String,hidden:Boolean,asChild:Boolean},setup(u,{slots:p}){let s=Xl(e),c=vue.ref(false),g=vue.ref(n),f=vue.ref(null),b=vue.ref(null),h=v=>{c.value=v;},y=v=>{g.value=v;};return ti(c,h,f),vue.provide(r,{get open(){return c.value},setOpen:h,get enabled(){return s.enabled.value},get disabledReason(){return s.disabledReason.value},apply:s.apply,draft:s.draft,triggerRef:b,get lastHex(){return g.value},setLastHex:y}),()=>{if(u.hidden||!s.visible.value)return null;let v={class:`docx-toolbar__colorsplit docx-table-chrome${u.className?` ${u.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},P=p.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(d,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(H,{...v,ref:f,children:P}):jsxRuntime.jsx("div",{ref:f,...v,children:P})}}}),l=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),c=K(),g=V(e),f=c(g?.labelKey??t);return ()=>{let{shared:b,reasonNode:h}=Ur({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:f}),y=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,v={...b,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:s.enabled?()=>s.apply({kind:"hex",value:y}):void 0},P=p.default?.()??[$(g?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:Iv(y,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...v,children:P}),h]}):jsxRuntime.jsxs("button",{...v,children:[P,h]})}}});l.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),g=K()(t);return ()=>{let{shared:f,reasonNode:b}=Ur({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:g}),h={...f,ref:s.triggerRef,class:`docx-toolbar__colorsplit-caret${u.className?` ${u.className}`:""}`,"aria-haspopup":"dialog","aria-expanded":s.open,onClick:s.enabled?()=>s.setOpen(!s.open):void 0},y=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...h,children:y}),b]}):jsxRuntime.jsxs("button",{...h,children:[y,b]})}}});i.docxToolbarPart=true;let d=vue.defineComponent({name:`TableColorContent_${e}`,props:{className:String,asChild:Boolean,clearFill:{type:Boolean,required:true}},setup(u,{slots:p}){let s=vue.inject(r),c=K(),g=vue.ref(null);return Hu(()=>s.open&&s.enabled,s.setOpen,g,s.triggerRef),()=>{if(!s.open||!s.enabled)return null;let f=c(t),b=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,h={ref:g,role:"dialog","aria-label":f,class:`docx-toolbar__swatch-popup docx-table-chrome__panel${u.className?` ${u.className}`:""}`,onMousedown:_},y=p.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u.clearFill?jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:_,onClick:()=>{s.setOpen(false),s.apply(null),ei(s.triggerRef.value);},children:[jsxRuntime.jsx("span",{class:"docx-toolbar__swatch-clear-chip docx-toolbar__swatch-clear-chip--none","aria-hidden":"true"}),c("table.clearCellFill")]}):null,jsxRuntime.jsx(Hl,{apply:v=>{s.setOpen(false),s.setLastHex?.(v),s.apply({kind:"hex",value:v}),ei(s.triggerRef.value);},current:b})]});return u.asChild?jsxRuntime.jsx(H,{...h,children:y}):jsxRuntime.jsx("div",{...h,children:y})}}});return {Root:a,Main:l,Trigger:i,Content:d,CtxKey:r}}var _t=qu("table.borderColor","table.borderColor",{defaultHex:"000000"}),pn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(_t.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(_t.Main,{}),jsxRuntime.jsx(_t.Trigger,{}),jsxRuntime.jsx(_t.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:_t.Trigger,Content:_t.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:_t.Main}),It=qu("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),mn=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(It.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(It.Main,{}),jsxRuntime.jsx(It.Trigger,{}),jsxRuntime.jsx(It.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:It.Trigger,Content:It.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:It.Main});var Gu=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map}},setup(e){let t=Lu();return ()=>t.value?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(oo,{}),[dn,pn,un,cn,mn].map(n=>{let r=e.overrides.get(n.docxSlot);return r?jsxRuntime.jsx(vue.Fragment,{children:r},n.docxSlot):vue.h(n,{key:n.docxSlot})})]}):null}});var Kv=e=>e.editingMode??"editing",ai=[{mode:"editing",labelKey:"editingMode.editing",hintKey:"editingMode.editingHint",path:"M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"},{mode:"suggesting",labelKey:"editingMode.suggesting",hintKey:"editingMode.suggestingHint",path:"M240-400h122l40-40H240v40Zm0-100h222l40-40H240v40Zm0-100h322l40-40H240v40ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v320h-80v-320H160v525l46-45h274v80H240L80-80Zm520-80v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T943-380L723-160H600Zm300-263-37-37 37 37ZM660-220h38l121-122-19-18-18-19-122 121v38Zm140-141-18-19 37 37-19-18Z"},{mode:"viewing",labelKey:"editingMode.viewing",hintKey:"editingMode.viewingHint",path:"M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200Z"}],Vv="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function li(e){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:18,height:18,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})})}var qr=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=I(Kv),n=K(),{t:r}=D(),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null);vue.watch(a,s=>{if(!s)return;let c=i.value?.querySelectorAll('[role="menuitemradio"]');(i.value?.querySelector('[aria-checked="true"]')??c?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(a,(s,c,g)=>{if(!s)return;let f=h=>{let y=l.value;y&&h.target instanceof Node&&y.contains(h.target)||(a.value=false);},b=h=>{h.key==="Escape"&&(h.preventDefault(),a.value=false);};document.addEventListener("mousedown",f,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",f,true),document.removeEventListener("keydown",b);});});let d=s=>{let c=[...i.value?.querySelectorAll('[role="menuitemradio"]')??[]],g=c.indexOf(document.activeElement),f=b=>{s.preventDefault(),c[(b+c.length)%c.length]?.focus();};s.key==="ArrowDown"?f(g+1):s.key==="ArrowUp"?f(g-1):s.key==="Home"?f(0):s.key==="End"&&f(c.length-1);},u=s=>{a.value=false,editor.runToolbarCommand(t.value,"review.editingMode",s),t.value?.focus();},p=vue.computed(()=>ai.find(s=>s.mode===o.value)??ai[0]);return ()=>{if(e.hidden)return null;let s=V("review.editingMode"),c=editor.toolbarCommandState(t.value,"review.editingMode"),g=i18n.localizeDisabledReason(c.disabledReason,r);return jsxRuntime.jsxs("div",{ref:l,class:`docx-toolbar__mode${e.className?` ${e.className}`:""}`,"data-slot":"review.editingMode",children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__picker","data-testid":"editing-mode-trigger","data-mode":o.value,"aria-haspopup":"menu","aria-expanded":a.value,"aria-label":n(s?.labelKey??"editingMode.label"),disabled:!c.enabled,...g?{title:g}:{},onMousedown:_,onClick:()=>{a.value=!a.value;},children:[li(p.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:n(p.value.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),a.value?jsxRuntime.jsx("div",{ref:i,class:"docx-toolbar__mode-menu",role:"menu","aria-label":n(s?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:d,children:ai.map(f=>jsxRuntime.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":f.mode===o.value,class:"docx-toolbar__mode-item","data-testid":`editing-mode-${f.mode}`,onMousedown:_,onClick:()=>u(f.mode),children:[li(f.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:n(f.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:n(f.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:f.mode===o.value?li(Vv):null})]},f.mode))}):null]})}}});qr.docxSlot="review.editingMode";var Ju=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],Qu={"zoom.level":Lr,"styles.style":ql,"font.family":$l,"font.size":Nr,"text.color":Ol,"text.highlight":Bl,"text.link":Ir,"list.lineSpacing":Ar,"review.editingMode":qr,"file.save":Dr,...ku,"table.borderTarget":dn,"table.borderColor":pn,"table.borderStyle":un,"table.borderWidth":cn,"table.cellFill":mn,"image.insert":lr,"image.wrap":Cr,"image.altText":Pr},Yu=new Map;function Wv(e){let t=Yu.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h(Pt,{slot:e,hidden:o.hidden})}}),Yu.set(e,t)),t}function qv(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:tn}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:Qu[n]??Wv(n)}})})}var Gv=e=>e.image;function jv(e){return e==="alignment"||e in Qu}function si(e){let t=yr(e,si);if(t!==null)return t;let o=vr(e);if(o)return o;let n=e.type;if(typeof n=="object"&&n!==null&&"docxToolbarPart"in n){let r=e.props?.slot;if(typeof r=="string")return r}return null}function Zv(e){return e?!!e.props?.hidden:false}function ec(e){for(let t of e){let o=si(t);if(o!=null&&Ju.includes(o))return true;if(t.children){let n=pe(t.children);if(ec(n))return true}}return false}var Yv=vue.defineComponent({name:"DocxEditorToolbar",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},onSave:{type:Function,default:void 0},preset:{type:Boolean,default:true},overflow:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Re();vue.provide(Qn,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=K(),r=I(Gv),a=vue.computed(()=>qv(r.value)),l=vue.computed(()=>new Set(a.value.flatMap(c=>c.entries.map(g=>g.slot)))),i=vue.computed(()=>a.value.map(c=>c.id).filter(c=>!vl.has(c))),d=vue.computed(()=>td(i.value)),u=vue.computed(()=>e.preset&&e.overflow),{attach:p,overflow:s}=cd(()=>u.value,()=>i.value,()=>d.value);return ()=>{let c=pe(t.default?.()),g;if(!e.preset)g=c;else {let h=new Map,y=new Map,v=[];for(let S of c){let x=si(S);x&&l.value.has(x)?h.set(x,S):x&&Ju.includes(x)?y.set(x,S):v.push(S);}let P=S=>{let x=h.get(S.slot);return x||vue.h(S.Part)},T=[],m=[],C=0;for(let S of a.value){if(s.value.has(S.id)){let E=S.entries.flatMap(w=>{let M=h.get(w.slot);if(Zv(M))return [];let U=M||jv(w.slot)?jsxRuntime.jsx(fd,{label:Xv(n,w,S.labelKey),children:P(w)}):jsxRuntime.jsx(gd,{slot:w.slot});return [jsxRuntime.jsx(vue.Fragment,{children:U},w.slot)]});if(E.length===0)continue;m.push({id:S.id,labelKey:S.labelKey,children:E});continue}C>0&&T.push(vue.h(oo,{key:`separator-${S.id}`})),C+=1;let x=vl.has(S.id);T.push(vue.h("div",{key:S.id,class:"docx-toolbar__group",...x?{[Uo]:""}:{[$o]:S.id}},S.entries.map(E=>vue.h(vue.Fragment,{key:E.slot},[P(E)]))));}g=[...T,vue.h(Gu,{overrides:y}),...v.length>0?[vue.h("div",{class:"docx-toolbar__group",[Uo]:""},v)]:[],...m.length>0?[vue.h(yd,{sections:m})]:[]];}let b=e.preset||ec(c)?vue.h(Yl,null,{default:()=>Array.isArray(g)?g:[g]}):g;return vue.h("div",{ref:h=>p(h),role:"toolbar","data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...u.value?{"data-overflow":""}:{},onMousedown:_},[vue.h(iu,null,{default:()=>[b]})])}}});function Xv(e,t,o){let n=t.slot==="alignment"?null:V(t.slot);return e(n?.labelKey??o)}var fn=Object.assign(Yv,{Button:Pt,Action:Kl,Separator:oo,Undo:Pd,Redo:Ed,Bold:wd,Italic:Rd,Underline:Md,Strike:kd,Link:Ir,ClearFormatting:_d,Superscript:Id,Subscript:Dd,Alignment:tn,AlignLeft:Nd,AlignCenter:Ld,AlignRight:Fd,AlignJustify:Ad,LineSpacing:Ar,BulletList:Hd,NumberedList:Od,Outdent:Bd,Indent:Kd,ImageInsert:lr,ImageWrap:Cr,ImageAltText:Pr,ImageProperties:kr,TableInsert:Vd,TableBorderTarget:dn,TableBorderColor:pn,TableBorderStyle:un,TableBorderWidth:cn,TableCellFill:mn,Comments:zd,FontFamily:$l,FontSize:Nr,FontColor:Ol,Highlight:Bl,Zoom:Lr,StylePicker:ql,EditingMode:qr,Save:Dr,ContentControlShowAll:zr,ContentControlFormFill:$r,ContentControlInspector:rn,ContentControlRemove:an});var Jv=e=>e.pageSetup??null,Qv=e=>e.editable;function Dt(){let e=R(),t=I(Jv),o=I(Qv),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setPageSetup",marginTop:0}).ok),r=a=>e.value?e.value.exec({...a.pageWidthTwips!==void 0?{pageWidth:a.pageWidthTwips}:{},...a.pageHeightTwips!==void 0?{pageHeight:a.pageHeightTwips}:{},...a.orientation!==void 0?{orientation:a.orientation}:{},...a.marginTopTwips!==void 0?{marginTop:a.marginTopTwips}:{},...a.marginRightTwips!==void 0?{marginRight:a.marginRightTwips}:{},...a.marginBottomTwips!==void 0?{marginBottom:a.marginBottomTwips}:{},...a.marginLeftTwips!==void 0?{marginLeft:a.marginLeftTwips}:{},...a.scope!==void 0?{scope:a.scope}:{},type:"setPageSetup"}).ok:false;return {pageSetup:vue.computed(()=>t.value),isEnabled:n,apply:r}}var di=[{labelKey:"dialogs.pageSetup.pageSizes.letter",width:12240,height:15840},{labelKey:"dialogs.pageSetup.pageSizes.a4",width:11906,height:16838},{labelKey:"dialogs.pageSetup.pageSizes.legal",width:12240,height:20160},{labelKey:"dialogs.pageSetup.pageSizes.a3",width:16838,height:23811},{labelKey:"dialogs.pageSetup.pageSizes.a5",width:8391,height:11906},{labelKey:"dialogs.pageSetup.pageSizes.b5",width:9979,height:14175},{labelKey:"dialogs.pageSetup.pageSizes.executive",width:10440,height:15120}],ac=1440,nc=12240,rc=15840,ft=1440,tb=e=>Math.round(e/ac*100)/100,ob=e=>Math.round(e*ac);function nb(e,t){let o=Math.min(e,t),n=Math.max(e,t);return di.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var rb={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},ab={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"400px",maxWidth:"480px",width:"100%",margin:"20px"},gn=vue.defineComponent({name:"DocxEditorPageSetupDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Dt(),n=vue.ref(nc),r=vue.ref(rc),a=vue.ref("portrait"),l=vue.ref(ft),i=vue.ref(ft),d=vue.ref(ft),u=vue.ref(ft),p=vue.ref("document"),s=vue.ref(null),c=vue.ref("no");vue.watch([()=>e.open,()=>o.pageSetup.value],([h])=>{if(!h){c.value="no";return}let y=o.pageSetup.value;if(c.value==="yes"&&y===null){c.value="no";return}c.value==="yes"||c.value==="loading"&&y===null||(n.value=y?.pageWidthTwips??nc,r.value=y?.pageHeightTwips??rc,a.value=y?.orientation??"portrait",l.value=y?.marginsTwips.top??ft,i.value=y?.marginsTwips.bottom??ft,d.value=y?.marginsTwips.left??ft,u.value=y?.marginsTwips.right??ft,p.value="document",c.value=y===null?"loading":"yes");},{flush:"post"}),vue.watch(()=>e.open,h=>{h&&s.value?.focus();},{flush:"post"});let g=h=>{let y=di[h];y&&(n.value=a.value==="landscape"?y.height:y.width,r.value=a.value==="landscape"?y.width:y.height);},f=h=>{if(h===a.value)return;let y=n.value,v=r.value;a.value=h,n.value=v,r.value=y;},b=()=>{o.apply({pageWidthTwips:n.value,pageHeightTwips:r.value,orientation:a.value,marginTopTwips:l.value,marginRightTwips:u.value,marginBottomTwips:i.value,marginLeftTwips:d.value,scope:p.value})&&e.onClose();};return ()=>{if(!e.open)return null;let h=nb(n.value,r.value),y={display:"flex",alignItems:"center",gap:"12px"},v={width:"80px",fontSize:"13px",color:"var(--doc-text-muted)"},P={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},T=(m,C,S)=>jsxRuntime.jsxs("div",{style:y,children:[jsxRuntime.jsx("label",{style:v,children:t(`dialogs.pageSetup.${m}`)}),jsxRuntime.jsx("input",{type:"number",style:P,min:0,max:22,step:.1,value:tb(C),onInput:x=>S(Math.max(0,ob(Number(x.target.value)||0))),"aria-label":t(`dialogs.pageSetup.${m}`)}),jsxRuntime.jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted)",width:"16px"},children:"in"})]});return jsxRuntime.jsx("div",{class:e.className,style:rb,onClick:e.onClose,onKeydown:m=>{m.key==="Escape"&&e.onClose(),m.key==="Enter"&&b();},children:jsxRuntime.jsxs("div",{ref:s,tabindex:-1,style:ab,onClick:m=>m.stopPropagation(),onMousedown:m=>m.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":t("dialogs.pageSetup.title"),children:[jsxRuntime.jsx("div",{style:{padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},children:t("dialogs.pageSetup.title")}),jsxRuntime.jsxs("div",{style:{padding:"16px 20px",display:"flex",flexDirection:"column",gap:"14px"},children:[jsxRuntime.jsx("div",{style:{fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},children:t("dialogs.pageSetup.pageSize")}),jsxRuntime.jsxs("div",{style:y,children:[jsxRuntime.jsx("label",{style:v,children:t("dialogs.pageSetup.sizeLabel")}),jsxRuntime.jsxs("select",{style:P,value:h,onChange:m=>g(Number(m.target.value)),"aria-label":t("dialogs.pageSetup.sizeLabel"),children:[di.map((m,C)=>jsxRuntime.jsx("option",{value:C,children:t(m.labelKey)},m.labelKey)),h<0&&jsxRuntime.jsx("option",{value:-1,children:t("dialogs.pageSetup.custom")})]})]}),jsxRuntime.jsxs("div",{style:y,children:[jsxRuntime.jsx("label",{style:v,children:t("dialogs.pageSetup.orientation")}),jsxRuntime.jsxs("select",{style:P,value:a.value,onChange:m=>f(m.target.value),"aria-label":t("dialogs.pageSetup.orientation"),children:[jsxRuntime.jsx("option",{value:"portrait",children:t("dialogs.pageSetup.portrait")}),jsxRuntime.jsx("option",{value:"landscape",children:t("dialogs.pageSetup.landscape")})]})]}),jsxRuntime.jsx("div",{style:{fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginTop:"4px"},children:t("dialogs.pageSetup.margins")}),T("top",l.value,m=>{l.value=m;}),T("bottom",i.value,m=>{i.value=m;}),T("left",d.value,m=>{d.value=m;}),T("right",u.value,m=>{u.value=m;}),jsxRuntime.jsxs("div",{style:y,children:[jsxRuntime.jsx("label",{style:v,children:t("dialogs.pageSetup.applyTo")}),jsxRuntime.jsxs("select",{style:P,value:p.value,onChange:m=>{p.value=m.target.value;},"aria-label":t("dialogs.pageSetup.applyTo"),children:[jsxRuntime.jsx("option",{value:"document",children:t("dialogs.pageSetup.applyToDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("dialogs.pageSetup.applyToSection")})]})]})]}),jsxRuntime.jsxs("div",{style:{padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:"8px"},children:[jsxRuntime.jsx("button",{type:"button",style:{padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-primary)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:b,children:t("common.apply")})]})]})})}}});var yn=Symbol("MenuContext"),db={t:void 0,openMenu:null,setOpenMenu:()=>{},activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0};function Ee(){let e=vue.inject(yn,db);return vue.computed(()=>vue.unref(e))}function de(){let e=Ee(),{t}=D();return o=>e.value.t?.(o)??t(o)}var ub=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,cb=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var lc=new TextEncoder;function pb(e,t){if(lc.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let a=lc.encode(r).length;if(o+a>t)break;o+=a,n+=r;}return n}function ic(e){let t=pb((e??"").replace(/\.docx$/i,"").replace(cb," ").replace(/\s+/g," ").trim().replace(/^[.\s]+/,"").replace(/[.\s]+$/,""),200).trim();return !t||ub.test(t)?"document.docx":`${t}.docx`}function sc(e,t){let o=URL.createObjectURL(new Blob([e],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"})),n=document.createElement("a");n.href=o,n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(o),0);}var mb="https://github.com/eigenpal/docx-editor/issues/new";function fb(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function gb(e={}){let t=e.userAgent??(typeof navigator<"u"?navigator.userAgent:"unknown"),o=e.viewport??(typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}),r=["### What happened","","### Steps to reproduce","1. ","2. ","3. ","","### Expected","","### Actual","","### Attach the DOCX","Please drag the `.docx` file that reproduces this onto the issue (below this text box). Bugs are much faster to fix with a real file.","","### Environment",`- URL: ${e.pageUrl??fb()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
- `),a=new URLSearchParams({title:"[Bug] ",body:r});return `${mb}?${a.toString()}`}function dc(e){typeof window>"u"||window.open(gb(e),"_blank","noopener,noreferrer");}var ui=6,uc=6,vn=8,ot=vue.defineComponent({name:"MenuSubmenu",props:{labelKey:{type:String,required:true},paths:{type:null,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=de(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(null),l=re("menu-flyout"),i=vue.ref(null);return vue.watch(n,d=>{if(!d){i.value=null;return}let u=r.value,p=a.value,s=u?.ownerDocument.defaultView;if(!u||!p||!s)return;let c=u.getBoundingClientRect(),g=p.offsetWidth,f=p.offsetHeight,b=c.right+g>s.innerWidth-vn;i.value={left:b?Math.max(vn,c.left-g):Math.min(c.right,s.innerWidth-g-vn),top:Math.max(vn,Math.min(c.top-4,s.innerHeight-f-vn))};},{flush:"post"}),()=>{let d=o(e.labelKey);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__submenu${e.className?` ${e.className}`:""}`,onMouseenter:()=>{n.value=true;},onMouseleave:()=>{n.value=false;},onKeydown:u=>{u.key==="ArrowRight"&&document.activeElement===r.value?(u.preventDefault(),n.value=true,queueMicrotask(()=>{a.value&&Ne(ct(a.value),"first");})):(u.key==="ArrowLeft"||u.key==="Escape")&&n.value&&(u.preventDefault(),u.stopPropagation(),n.value=false,r.value?.focus());},onBlur:u=>{u.currentTarget?.contains(u.relatedTarget)||(n.value=false);},children:[jsxRuntime.jsxs("button",{ref:r,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":n.value,"aria-controls":n.value?l:void 0,class:"docx-toolbar__menu-item docx-menubar__item",tabindex:-1,...n.value?{"data-open":""}:{},onMousedown:_,onFocus:()=>{n.value=true;},onClick:()=>{n.value=true;},children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:$(e.paths)}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:d}),jsxRuntime.jsx("span",{class:"docx-menubar__item-caret","aria-hidden":"true",children:"\u203A"})]}),n.value?jsxRuntime.jsx("div",{ref:a,id:l,class:"docx-toolbar__menu docx-menubar__menu docx-menubar__submenu-panel",role:"menu","aria-label":d,style:i.value?{position:"fixed",left:O(i.value.left),top:O(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=a.value;if(!p)return;let s=ct(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),De(s,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),De(s,document.activeElement,-1));},children:t.default?.()}):null]})}}}),bn=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=R(),o=W(vue.computed(()=>e.slot??"table.insert")),n=Ee(),r=de(),a=vue.ref(null),l=vue.ref({rows:1,cols:1}),i=vue.ref(null),d=(p,s)=>{if(!t.value||!o.isEnabled.value)return;let c={type:"insertTable",rows:p,cols:s};t.value.can(c).ok&&(t.value.exec(c),n.value.setOpenMenu(null),t.value.focus());},u=p=>{let s=l.value,c={rows:Math.min(uc,Math.max(1,s.rows+(p.rows??0))),cols:Math.min(ui,Math.max(1,p.toCol??s.cols+(p.cols??0)))};l.value=c,a.value=c,queueMicrotask(()=>i.value?.querySelector(`[data-cell="${c.rows}x${c.cols}"]`)?.focus());};return ()=>{let p=[];for(let s=1;s<=uc;s+=1){let c=[];for(let g=1;g<=ui;g+=1){let f=!!a.value&&s<=a.value.rows&&g<=a.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${s}x${g}`,class:"docx-menubar__grid-cell",tabindex:l.value.rows===s&&l.value.cols===g?0:-1,...f?{"data-filled":""}:{},"aria-label":`${g} \xD7 ${s}`,onMousedown:_,onMouseenter:()=>{a.value={rows:s,cols:g};},onFocus:()=>{a.value={rows:s,cols:g};},onClick:()=>d(s,g)},g));}p.push(jsxRuntime.jsx("div",{role:"row",class:"docx-menubar__grid-row",children:c},s));}return jsxRuntime.jsxs("div",{ref:i,role:"grid",class:`docx-menubar__grid${e.className?` ${e.className}`:""}`,"aria-label":r("toolbar.insertTable"),onKeydown:s=>{if(s.key==="ArrowRight")u({cols:1});else if(s.key==="ArrowLeft")u({cols:-1});else if(s.key==="ArrowDown")u({rows:1});else if(s.key==="ArrowUp")u({rows:-1});else if(s.key==="Home")u({toCol:1});else if(s.key==="End")u({toCol:ui});else if(s.key==="Enter"||s.key===" ")s.preventDefault(),d(l.value.rows,l.value.cols);else return;s.preventDefault(),s.stopPropagation();},children:[jsxRuntime.jsx("div",{class:"docx-menubar__grid-cells",children:p}),jsxRuntime.jsx("div",{class:"docx-menubar__grid-caption","aria-hidden":"true",children:a.value?`${a.value.cols} \xD7 ${a.value.rows}`:""})]})}}}),cc=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=W(e.entry.slot),o=V(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(ot,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(bn,{slot:e.entry.slot})}):jsxRuntime.jsx(We,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function Le(e){return {rowSlot:e}}var ve=vue.defineComponent({name:"MenuRow",props:{icon:{type:null,default:void 0},shortcut:{type:String,default:void 0},disabled:{type:Boolean,default:void 0},title:{type:String,default:void 0},active:{type:Boolean,default:void 0},selected:{type:Boolean,default:void 0},rowSlot:{type:String,default:void 0},slot:{type:String,default:void 0},"data-slot":{type:String,default:void 0},selectHandler:{type:Function,default:void 0},onSelect:{type:Function,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=re("menu-reason");return ()=>{let{icon:n,shortcut:r,disabled:a,title:l,active:i,selected:d,className:u}=e,p=e.selectHandler??e.onSelect,s=e.rowSlot??e.slot??e["data-slot"]??void 0,c=a&&l?o:void 0;return jsxRuntime.jsxs("button",{type:"button",role:i===void 0?"menuitem":d===void 0?"menuitemcheckbox":"menuitemradio",class:`docx-toolbar__menu-item docx-menubar__item${u?` ${u}`:""}`,tabindex:-1,...s?{"data-slot":s}:{},...i?{"data-active":""}:{},...a?{"data-disabled":"","aria-disabled":true}:{},...i!==void 0?{"aria-checked":i}:{},...c?{"aria-describedby":c}:{},...l?{title:l}:{},onMousedown:_,onClick:a?void 0:p,children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:n}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:t.default?.()}),r?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:r}):null,c?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:l}):null]})}}}),xn=vue.defineComponent({name:"MenuGroup",props:{labelKey:{type:String,default:void 0},literal:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=de();return ()=>{if(e.hidden)return null;let n=e.literal??(e.labelKey===void 0?void 0:o(e.labelKey));return jsxRuntime.jsxs("div",{role:"group",class:`docx-menubar__group${e.className?` ${e.className}`:""}`,...n?{"aria-label":n}:{},children:[n?jsxRuntime.jsx("div",{class:"docx-menubar__group-label","aria-hidden":"true",children:n}):null,t.default?.()]})}}}),We=vue.defineComponent({name:"MenuItem",props:{slot:{type:String,required:true},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=vue.computed(()=>e.slot),o=W(t),n=Ee(),r=de();return ()=>{if(e.hidden)return null;let{setOpenMenu:a}=n.value,l=t.value,i=V(l),d=r(e.labelKey??i?.labelKey??l),u=editor.commandForSlot(l),p=u?.type==="toggleMark"||u?.type==="setAlignment",s=u?.type==="setAlignment";return jsxRuntime.jsx(ve,{...Le(l),icon:$(i?.paths)??void 0,...e.shortcutKey?{shortcut:r(e.shortcutKey)}:{},disabled:!o.isEnabled.value,...o.disabledReason.value?{title:o.disabledReason.value}:{},...p?{active:o.isActive.value}:{},...s?{selected:true}:{},selectHandler:()=>{o.execute(),a(null);},...e.className?{className:e.className}:{},children:d})}}});We.docxMenuRow=true;function mc(e,t,o,n){let r=vue.defineComponent({name:`MenuAction_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(a){let l=Ee(),i=de();return ()=>{let d=l.value,u=n(d);if(a.hidden)return null;let p=V(e),s=i(t??p?.labelKey??e);return jsxRuntime.jsx(ve,{...Le(e),icon:$(p?.paths)??void 0,...o?{shortcut:i(o)}:{},disabled:!u,selectHandler:()=>{u?.(),d.setOpenMenu(null);},...a.className?{className:a.className}:{},children:s})}}});return Object.assign(r,{docxSlot:e})}var jr=mc("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),Zr=mc("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),Sb=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=Ee(),n=de();return ()=>{if(e.hidden)return null;let r=o.value,a=editor.chromeProbeForSlot("file.pageSetup"),l=t.value&&a?t.value.can(a):null,i=l?.ok===true,d=l&&!l.ok?l.reason:null,u=V("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),s=i&&!!r.onPageSetup;return jsxRuntime.jsx(ve,{...Le("file.pageSetup"),icon:$(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onPageSetup?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Pb=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),o=Ee(),n=de();return ()=>{if(e.hidden)return null;let r=o.value,a=editor.chromeProbeForSlot("paragraph.dialog"),l=t.value&&a?t.value.can(a):null,i=l?.ok===true,d=l&&!l.ok?l.reason:null,u=V("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),s=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ve,{...Le("paragraph.dialog"),icon:$(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onParagraphDialog?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Eb=Object.assign(Pb,{docxSlot:"paragraph.dialog"}),Yr=Object.assign(Sb,{docxSlot:"file.pageSetup"}),wb=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let{openFilePicker:t,isEnabled:o,disabledReason:n}=nr(),r=Ee(),a=de();return ()=>{if(e.hidden)return null;let l=r.value,i=V("image.insert"),d=a(i?.labelKey??"toolbar.image");return jsxRuntime.jsx(ve,{...Le("image.insert"),icon:$(i?.paths)??void 0,disabled:!o,...n?{title:n}:{},selectHandler:()=>{t(),l.setOpenMenu(null);},...e.className?{className:e.className}:{},children:d})}}}),Rb=Object.assign(wb,{docxSlot:"image.insert"}),Lt=vue.defineComponent({name:"MenuSeparator",props:{className:{type:String,default:void 0}},setup(e){return ()=>jsxRuntime.jsx("div",{role:"separator",class:`docx-toolbar__menu-separator${e.className?` ${e.className}`:""}`})}}),Cn=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e){return ()=>{let t=e.entry;return t.kind==="separator"?jsxRuntime.jsx(Lt,{}):t.kind==="submenu"?jsxRuntime.jsx(ot,{labelKey:t.labelKey,paths:t.paths,children:t.items.map((o,n)=>jsxRuntime.jsx(Cn,{entry:o},n))}):t.slot==="file.open"?jsxRuntime.jsx(jr,{}):t.slot==="file.save"?jsxRuntime.jsx(Zr,{}):t.slot==="file.pageSetup"?jsxRuntime.jsx(Yr,{}):t.slot==="paragraph.dialog"?jsxRuntime.jsx(Eb,{}):t.slot==="image.insert"?jsxRuntime.jsx(Rb,{}):t.picker==="tableGrid"?jsxRuntime.jsx(cc,{entry:t}):jsxRuntime.jsx(We,{slot:t.slot,...t.labelKey?{labelKey:t.labelKey}:{},...t.shortcutKey?{shortcutKey:t.shortcutKey}:{}})}}});function fc(e){if(!vue.isVNode(e))return null;let t=yr(e,fc);if(t!==null)return t;let o=vr(e);if(o)return o;let n=e.type;if(typeof n=="object"&&n!==null&&n.docxMenuRow===true){let r=e.props?.slot;if(typeof r=="string")return r}return null}function Mb(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function kb(e,t,o){return br({entries:e??[],children:t,preset:o,keyOfEntry:Mb,keyOfChild:fc,renderEntry:n=>jsxRuntime.jsx(Cn,{entry:n})})}var po=vue.defineComponent({name:"Menu",props:{id:{type:String,required:true},labelKey:{type:String,default:void 0},label:{type:String,default:void 0},icon:{type:null,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Ee(),n=de(),r=re("menu-panel"),a=vue.ref(null),l=vue.ref(null),i=vue.ref(false),d=vue.ref(false),u=()=>{o.value.setOpenMenu(null),a.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:s,activeMenu:c}=o.value,g=editor.CHROME_MENUS.find(y=>y.id===e.id),f=p===e.id,b=e.label??n(e.labelKey??g?.labelKey??e.id),h=kb(g?.entries,pe(t.default?.()??[]),e.preset);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__menu-root${e.className?` ${e.className}`:""}`,"data-menu":e.id,children:[jsxRuntime.jsxs("button",{ref:a,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":f,"aria-controls":f?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...f?{"data-open":""}:{},onMousedown:_,onKeydown:y=>{y.key==="ArrowDown"||y.key==="Enter"||y.key===" "||y.key==="ArrowUp"?(y.preventDefault(),i.value=true,s(e.id)):y.key==="Escape"&&f&&(y.preventDefault(),u());},onClick:()=>{if(d.value){d.value=false;return}s(f?null:e.id);},onMouseenter:()=>{p!==null&&p!==e.id&&(d.value=true,s(e.id));},onMouseleave:()=>{d.value=false;},children:[e.icon?jsxRuntime.jsx("span",{class:"docx-menubar__trigger-icon","aria-hidden":"true",children:e.icon}):null,b]}),f?jsxRuntime.jsx("div",{ref:y=>{l.value=y,y&&i.value&&(i.value=false,Ne(ct(y),"first"));},id:r,role:"menu","aria-label":b,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:y=>{let v=l.value;if(!v)return;let P=ct(v),T=document.activeElement;y.key==="ArrowDown"?(y.preventDefault(),De(P,T,1)):y.key==="ArrowUp"?(y.preventDefault(),De(P,T,-1)):y.key==="Home"?(y.preventDefault(),Ne(P,"first")):y.key==="End"?(y.preventDefault(),Ne(P,"last")):y.key==="Escape"?(y.preventDefault(),y.stopPropagation(),u()):y.key==="Tab"&&s(null);},children:h}):null]})}}});function mi(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(po,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var Xr=mi("file"),Jr=mi("format"),Qr=mi("insert"),_b=vue.defineComponent({name:"MenuReportIssueImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},onSelect:{type:Function,default:void 0}},setup(e){let t=Ee(),o=de();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:a}=t.value;if(e.hidden||a===false)return null;let l=e.onSelect??r??dc;return jsxRuntime.jsx(ve,{...Le("help.reportIssue"),selectHandler:()=>{l(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),ea=Object.assign(_b,{docxSlot:"help.reportIssue"}),Ib=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Ee();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(po,{id:"help",...t,children:[jsxRuntime.jsx(ea,{}),o.default?.()]})}}}),ta=Object.assign(Ib,{docxMenu:"help"});var Lb={file:Xr,format:Jr,insert:Qr,help:ta},Fb=new Set(editor.CHROME_MENUS.map(e=>e.id));function Ab(e){return e!=null&&typeof e=="object"&&"type"in e}function hc(e){if(!Ab(e))return null;if(e.type===vue.Fragment){let n=pe(e.children??[]).map(hc).filter(r=>r!==null);return n.length===1?n[0]:null}let t=e.type;if((typeof t=="function"||typeof t=="object")&&typeof t.docxMenu=="string")return t.docxMenu;if(e.type===po){let o=e.props?.id;if(typeof o=="string"&&Fb.has(o))return o}return null}var Hb=vue.defineComponent({name:"DocxEditorMenu",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},fileName:{type:String,default:void 0},onOpen:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onOpenFile:{type:Function,default:void 0},onSave:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},onPageSetup:{type:Function,default:void 0},onReportIssue:{type:Function,default:void 0},reportIssue:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Re(),n=R(),{t:r}=D(),a=vue.ref(null),l=vue.ref(null),i=vue.ref(null),d=vue.ref(false),u=vue.ref(false),p=vue.ref(null),s=vue.ref(null),c=S=>{a.value=S,S!==null&&(i.value=S);};vue.watch(a,(S,x,E)=>{if(S===null)return;let w=U=>{let k=p.value;k&&U.target instanceof Node&&k.contains(U.target)||(a.value=null);},M=U=>{U.key==="Escape"&&(a.value=null);};document.addEventListener("mousedown",w),document.addEventListener("keydown",M),E(()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",M);});});let g=()=>s.value?.click(),f=()=>{let S=n.value;S&&S.save().then(x=>sc(x,ic(e.fileName??l.value??void 0))).catch(x=>{console.error("[docx-editor] save failed",x);});},b=()=>{d.value=true;},h=()=>{u.value=true;},y=vue.computed(()=>n.value?e.openHandler??e.onOpen??g:void 0),v=vue.computed(()=>n.value?e.saveHandler??e.onSave??f:void 0),P=vue.computed(()=>n.value?e.onPageSetup??b:void 0);vue.watch(()=>[y.value,v.value],([S,x],E,w)=>{let M=U=>{if(!(U.metaKey||U.ctrlKey)||U.altKey||U.shiftKey)return;let k=U.key.toLowerCase();if(k!=="s"&&k!=="o")return;let B=U.target,ue=no(p.value)??p.value,ce=p.value;!B||!((ue?.contains(B)??false)||(ce?.contains(B)??false))||(k==="s"&&x?(U.preventDefault(),x()):k==="o"&&S&&(U.preventDefault(),S()));};document.addEventListener("keydown",M),w(()=>document.removeEventListener("keydown",M));},{flush:"post"});let T=vue.computed(()=>({t:e.t,openMenu:a.value,setOpenMenu:c,activeMenu:i.value,onOpen:y.value,onSave:v.value,onPageSetup:P.value,onParagraphDialog:n.value?h:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(yn,T);let m=S=>{if(p.value=S,S&&i.value===null){let x=Jl(S)[0]?.closest("[data-menu]")?.getAttribute("data-menu");x&&(i.value=x);}},C=S=>{let x=S.target,E=x.files?.[0];x.value="";let w=n.value;!E||!w||(l.value=E.name,e.onOpenFile?.(E),E.arrayBuffer().then(M=>w.load(new Uint8Array(M))).catch(M=>{console.error("[docx-editor] could not open the file",M);}));};return ()=>{let S;if(e.preset===false)S=t.default?pe(t.default()):void 0;else {let x=new Map,E=[];for(let w of pe(t.default?.()??[])){let M=hc(w);M?x.set(M,w):E.push(w);}S=[...editor.CHROME_MENUS.flatMap(w=>{let M=x.get(w.id);if(M)return [vue.h(vue.Fragment,{key:w.id},[M])];let U=Lb[w.id];return [vue.h(U,{key:w.id})]}),...E];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:m,role:"menubar","aria-label":e.t?.("titleBar.menuBarAriaLabel")??r("titleBar.menuBarAriaLabel"),"data-testid":"docx-menubar",class:`${o}docx-menubar${e.className?` ${e.className}`:""}`,onMousedown:_,onKeydown:x=>{if(x.key!=="ArrowLeft"&&x.key!=="ArrowRight")return;let E=p.value;if(!E)return;let w=Jl(E),M=w.indexOf(document.activeElement);if(M===-1)return;x.preventDefault();let U=x.key==="ArrowRight"?1:-1,k=w[(M+U+w.length)%w.length],B=k?.closest("[data-menu]")?.getAttribute("data-menu");B&&(i.value=B,k?.focus(),a.value!==null&&(a.value=B));},children:S}),jsxRuntime.jsx("input",{ref:s,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:C}),jsxRuntime.jsx(gn,{open:d.value,onClose:()=>{d.value=false;}}),jsxRuntime.jsx(Mt,{open:u.value,onClose:()=>{u.value=false;}})]})}}}),At=Object.assign(Hb,{Menu:po,File:Xr,Format:Jr,Insert:Qr,Help:ta,Item:We,Row:ve,Group:xn,Separator:Lt,Submenu:ot,TableGrid:bn,Entry:Cn,Open:jr,Save:Zr,PageSetup:Yr,ReportIssue:ea});var Ub=12240,Tc=1440,Ec=1440,wc=567,Ht=20,gi=6,Wb=Ht+gi+2,qb="var(--doc-text-muted)",Gb="var(--doc-text-subtle)",Sc="var(--doc-shadow-subtle)",jb="var(--doc-primary)",Zb="var(--doc-primary-hover)",Yb="var(--doc-text-subtle)",Pn=5,Sn=7,Xb={left:0,right:0,firstLine:0};function Pc(e,t){return t==="inch"?(e/Ec).toFixed(2)+'"':(e/wc).toFixed(1)+" cm"}function Jb(e,t){return t?1:Math.round(e==="cm"?editor.SNAP_TWIPS_CM:editor.SNAP_TWIPS_INCH)}var vi=vue.defineComponent({name:"HorizontalRuler",props:{pageSetup:{type:null,default:null},zoom:{type:Number,default:1},editable:{type:Boolean,default:false},onLeftMarginChange:{type:Function,default:void 0},onRightMarginChange:{type:Function,default:void 0},onMarginDragEnd:{type:Function,default:void 0},showIndentHandles:{type:Boolean,default:false},indent:{type:null,default:null},indentEditable:{type:Boolean,default:false},onIndentChange:{type:Function,default:void 0},onIndentDragEnd:{type:Function,default:void 0},unit:{type:String,default:"inch"},className:{type:String,default:""},style:{type:null,default:void 0},tabMarks:{type:null,default:null},onTabMarkRemove:{type:Function,default:void 0}},setup(e){let{t}=D(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),a=vue.ref(null),l=vue.ref(null),i=vue.computed(()=>{let c=e.pageSetup?.pageWidthTwips??Ub,g=e.pageSetup?.marginsTwips.left??Tc,f=e.pageSetup?.marginsTwips.right??Tc,b=e.zoom??1;return {pageWidthTwips:c,leftMarginTwips:g,rightMarginTwips:f,gutterTwips:e.pageSetup?.gutterTwips??0,page:{pageWidth:c,leftMargin:g,rightMargin:f},current:e.indent??Xb,pageWidthPx:ae(c)*b,leftMarginPx:ae(g)*b,rightMarginPx:ae(f)*b}}),d=c=>{let g=l.value?.getBoundingClientRect();return g?dr((c-g.left)/(e.zoom??1)):null},u=(c,g,f)=>{let b=d(g);if(b===null)return;let{pageWidthTwips:h,leftMarginTwips:y,rightMarginTwips:v,gutterTwips:P,page:T,current:m}=i.value;a.value=ae(b)*(e.zoom??1);let C=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let x=h-v-P-720,E=Math.round(Math.max(0,Math.min(b,x)));r.value=E,e.onLeftMarginChange?.(E);}else {let x=h-b,E=h-y-P-720,w=Math.round(Math.max(0,Math.min(x,E)));r.value=w,e.onRightMarginChange?.(w);}return}let S=editor.dragIndent(c,b,m,T,{unit:C,precise:f});r.value=c==="right"?S.right:c==="firstLine"?S.firstLine:S.left,e.onIndentChange?.(S);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,a.value=null;},s=(c,g,f)=>{let b=e.unit??"inch",{current:h,page:y}=i.value,v=editor.handlePosition(c,h,y),P=editor.dragIndent(c,v+g*Jb(b,f),h,y,{unit:b,precise:true});e.onIndentChange?.(P),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,g=e.unit??"inch",{pageWidthTwips:f,page:b,current:h,pageWidthPx:y,leftMarginPx:v,rightMarginPx:P}=i.value,T=rh(f,c,g),m=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,C=x=>ae(editor.handlePosition(x,h,b))*c,S=(x,E,w)=>({positionPx:C(x),editable:m,isDragging:o.value===x,isHovered:n.value===x,onPointerEnter:()=>{n.value=x;},onPointerLeave:()=>{n.value=null;},onPointerDown:M=>{m&&(M.preventDefault(),M.stopPropagation(),M.currentTarget.setPointerCapture(M.pointerId),o.value=x);},onPointerMove:M=>{o.value===x&&u(x,M.clientX,M.altKey);},onPointerUp:M=>{o.value===x&&(M.currentTarget.releasePointerCapture(M.pointerId),p(x));},onKeyDown:M=>{m&&(M.key!=="ArrowLeft"&&M.key!=="ArrowRight"||(M.preventDefault(),s(x,M.key==="ArrowLeft"?-1:1,M.shiftKey)));},label:t(E),valueNow:w,valueText:Pc(w,g),pageWidthTwips:f});return jsxRuntime.jsxs("div",{ref:l,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:O(y),height:O(Wb),backgroundColor:"transparent",overflow:"visible",userSelect:"none",touchAction:"none",cursor:o.value?"ew-resize":"default",flexShrink:0,marginInline:"auto",...e.style??{}},role:"group","aria-label":t("ruler.horizontal"),children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,width:O(v),height:O(Ht),backgroundColor:Sc,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?x=>{x.preventDefault(),x.currentTarget.setPointerCapture(x.pointerId),o.value="leftMargin";}:void 0,onPointermove:x=>o.value==="leftMargin"&&u("leftMargin",x.clientX,x.altKey),onPointerup:x=>{o.value==="leftMargin"&&(x.currentTarget.releasePointerCapture(x.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:O(P),height:O(Ht),backgroundColor:Sc,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?x=>{x.preventDefault(),x.currentTarget.setPointerCapture(x.pointerId),o.value="rightMargin";}:void 0,onPointermove:x=>o.value==="rightMargin"&&u("rightMargin",x.clientX,x.altKey),onPointerup:x=>{o.value==="rightMargin"&&(x.currentTarget.releasePointerCapture(x.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:O(Ht),pointerEvents:"none"},children:T.map((x,E)=>jsxRuntime.jsx(Qb,{tick:x},E))}),e.tabMarks?.map(x=>jsxRuntime.jsx(nh,{tabMark:x,positionPx:ae(x.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(x.position)},x.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fi,{direction:"down",anchor:"top",...S("firstLine","ruler.firstLineIndent",h.firstLine)}),jsxRuntime.jsx(fi,{direction:"up",anchor:"strip",...S("hanging","ruler.hangingIndent",h.left)}),jsxRuntime.jsx(eh,{...S("left","ruler.leftIndent",h.left)}),jsxRuntime.jsx(fi,{direction:"up",anchor:"strip",...S("right","ruler.rightIndent",h.right)})]}),o.value&&r.value!==null&&a.value!==null&&jsxRuntime.jsx(th,{value:Pc(r.value,g),positionPx:a.value})]})}}});function Qb({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:O(e.position),bottom:0,width:"1px",height:O(e.height),backgroundColor:Gb}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:O(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:qb,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function Rc(e){return e.editable?e.isDragging||e.isHovered?Zb:jb:Yb}function Mc(e,t,o){return {position:"absolute",left:O(e.positionPx-t/2),width:O(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function kc(e){return {role:"slider","aria-label":e.label,"aria-orientation":"horizontal","aria-valuenow":e.valueNow,"aria-valuemin":-e.pageWidthTwips,"aria-valuemax":e.pageWidthTwips,"aria-valuetext":e.valueText,"aria-disabled":e.editable?void 0:true,tabIndex:e.editable?0:-1}}function fi({direction:e,anchor:t,...o}){let n=Rc(o),r=t==="top"?{top:0,height:O(Sn+1)}:{top:O(Ht-Sn),height:O(Sn)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:Mc(o,Pn*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...kc(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${Pn}px solid transparent`,borderRight:`${Pn}px solid transparent`,...e==="down"?{top:0,borderTop:`${Sn}px solid ${n}`}:{bottom:0,borderBottom:`${Sn}px solid ${n}`},transition:"border-color 0.1s"}})})}function eh(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:Mc(e,Pn*2,{top:O(Ht+1),height:O(gi)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...kc(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:O(Pn*2-2),height:O(gi),backgroundColor:Rc(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function th({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:O(t),top:"-22px",transform:"translateX(-50%)",backgroundColor:"var(--doc-text)",color:"var(--doc-on-primary)",fontSize:"10px",fontFamily:"sans-serif",padding:"2px 6px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20},children:e})}var oh={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function nh({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:O(t-5),top:O(Ht-12),width:"10px",height:"12px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px",fontWeight:700,color:"var(--doc-text-muted)",cursor:"pointer",userSelect:"none"},onDblclick:n=>{n.stopPropagation(),o();},title:`${e.alignment} tab at ${(e.position/1440).toFixed(2)}"`,children:oh[e.alignment]||"L"})}function rh(e,t,o){let n=[];if(o==="inch"){let r=Ec/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let d=ae(i)*t;l%8===0?n.push({position:d,height:8,label:l/8>0?String(l/8):void 0}):l%4===0?n.push({position:d,height:5}):l%2===0?n.push({position:d,height:3}):n.push({position:d,height:2});}}else {let r=wc/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let d=ae(i)*t;l%10===0?n.push({position:d,height:8,label:l/10>0?String(l/10):void 0}):l%5===0?n.push({position:d,height:5}):n.push({position:d,height:3});}}return n}var Ic=15840,ra=1440,ih=1440,sh=567,hi=20,dh="var(--doc-text-muted)",uh="var(--doc-text-subtle)",ch="var(--doc-primary)",ph="var(--doc-primary)",mh="var(--doc-primary-hover)",xi=vue.defineComponent({name:"VerticalRuler",props:{pageSetup:{type:null,default:null},zoom:{type:Number,default:1},editable:{type:Boolean,default:false},onTopMarginChange:{type:Function,default:void 0},onBottomMarginChange:{type:Function,default:void 0},onMarginDragEnd:{type:Function,default:void 0},unit:{type:String,default:"inch"},className:{type:String,default:""},style:{type:null,default:void 0}},setup(e){let{t}=D(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),a=(d,u)=>{e.editable&&(d.preventDefault(),o.value=u);},l=d=>{let u=o.value,p=r.value;if(!u||!p)return;let s=e.pageSetup?.pageHeightTwips??Ic,c=e.pageSetup?.marginsTwips.top??ra,g=e.pageSetup?.marginsTwips.bottom??ra,f=p.getBoundingClientRect(),b=d.clientY-f.top,h=dr(b/(e.zoom??1));if(u==="topMargin"){let y=s-g-720,v=Math.max(0,Math.min(h,y));e.onTopMarginChange?.(Math.round(v));}else if(u==="bottomMargin"){let y=s-h,v=s-c-720,P=Math.max(0,Math.min(y,v));e.onBottomMarginChange?.(Math.round(P));}},i=()=>{o.value!==null&&e.onMarginDragEnd?.(),o.value=null;};return vue.watch(o,(d,u,p)=>{d&&(document.addEventListener("mousemove",l),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",i);}));}),()=>{let d=e.pageSetup?.pageHeightTwips??Ic,u=e.pageSetup?.marginsTwips.top??ra,p=e.pageSetup?.marginsTwips.bottom??ra,s=e.zoom??1,c=ae(d)*s,g=ae(u)*s,f=ae(p)*s,b=gh(d,s,e.unit??"inch"),h={position:"relative",width:O(hi),height:O(c),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:o.value?"ns-resize":"default",...e.style};return jsxRuntime.jsxs("div",{ref:r,class:`docx-vertical-ruler ${e.className??""}`,style:h,role:"slider","aria-label":t("ruler.vertical"),"aria-orientation":"vertical",children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:b.map((y,v)=>jsxRuntime.jsx(fh,{tick:y},v))}),jsxRuntime.jsx(Dc,{type:"topMargin",position:g,editable:e.editable??false,isDragging:o.value==="topMargin",isHovered:n.value==="topMargin",onMouseenter:()=>{n.value="topMargin";},onMouseleave:()=>{n.value=null;},onMousedown:y=>a(y,"topMargin")}),jsxRuntime.jsx(Dc,{type:"bottomMargin",position:c-f,editable:e.editable??false,isDragging:o.value==="bottomMargin",isHovered:n.value==="bottomMargin",onMouseenter:()=>{n.value="bottomMargin";},onMouseleave:()=>{n.value=null;},onMousedown:y=>a(y,"bottomMargin")})]})}}});function fh(e){let t={position:"absolute",top:O(e.tick.position),right:0,height:"1px",width:O(e.tick.width),backgroundColor:uh},o={position:"absolute",top:O(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:dh,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:t}),e.tick.label?jsxRuntime.jsx("div",{style:o,children:e.tick.label}):null]})}function Dc(e){let{t}=D(),o=e.isDragging?mh:e.isHovered?ph:ch,n={position:"absolute",top:O(e.position-5),right:0,width:O(hi),height:"10px",cursor:e.editable?"ns-resize":"default",zIndex:e.isDragging?10:1},r={position:"absolute",top:0,right:"2px",width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${o}`,transition:"border-right-color 0.1s"};return jsxRuntime.jsx("div",{class:`docx-ruler-marker docx-ruler-marker-${e.type}`,style:n,onMouseenter:e.onMouseenter,onMouseleave:e.onMouseleave,onMousedown:e.onMousedown,role:"slider","aria-label":e.type==="topMargin"?t("ruler.topMargin"):t("ruler.bottomMargin"),"aria-orientation":"vertical",tabindex:e.editable?0:-1,children:jsxRuntime.jsx("div",{style:r})})}function gh(e,t,o){let n=[];if(o==="inch"){let r=ih/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let d=ae(i)*t;if(l%8===0){let u=l/8;n.push({position:d,width:10,label:u>0?String(u):void 0});}else l%4===0?n.push({position:d,width:6}):l%2===0?n.push({position:d,width:4}):n.push({position:d,width:2});}}else {let r=sh/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let d=ae(i)*t;if(l%10===0){let u=l/10;n.push({position:d,width:10,label:u>0?String(u):void 0});}else l%5===0?n.push({position:d,width:6}):n.push({position:d,width:3});}}return n}var Ot=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var vh=e=>e.formatting?.indent??null,bh=e=>e.editable;function Ci(){let e=R(),t=I(vh),o=I(bh),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setIndent",left:0}).ok),r=a=>e.value?e.value.exec({...a.left!==void 0?{left:a.left}:{},...a.right!==void 0?{right:a.right}:{},...a.firstLine!==void 0?{firstLine:a.firstLine}:{},type:"setIndent"}).ok:false;return {indent:vue.computed(()=>t.value),isEnabled:n,apply:r}}var Hc=e=>e.zoom;function Oc(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function Bc(){let{apply:e}=Dt(),t=vue.ref({}),o=vue.ref({});return {pending:t,preview:a=>l=>{o.value={...o.value,[a]:Math.round(l)},t.value={...o.value};},commit:()=>{let a=o.value;o.value={},t.value={},Object.keys(a).length!==0&&e({...a.top!==void 0?{marginTopTwips:a.top}:{},...a.right!==void 0?{marginRightTwips:a.right}:{},...a.bottom!==void 0?{marginBottomTwips:a.bottom}:{},...a.left!==void 0?{marginLeftTwips:a.left}:{},scope:"section"});}}}function Ch(){let e=R(),{indent:t,isEnabled:o,apply:n}=Ci(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(null),i=p=>{l.value===null&&(l.value=Fc(e.value)),a.value=p,r.value=p;},d=()=>{let p=a.value,s=l.value;a.value=null,l.value=null,r.value=null,p&&(s!==null&&s!==Fc(e.value)||n({left:p.left,right:p.right,firstLine:p.firstLine}));};return {indent:vue.computed(()=>r.value??(t.value?{left:t.value.left,right:t.value.right,firstLine:t.value.firstLine}:null)),isEnabled:o,preview:i,commit:d}}function Fc(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var aa=vue.defineComponent({name:"DocxEditorHorizontalRuler",props:{unit:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:null,default:void 0}},setup(e){let t=I(Ot),{pageSetup:o,isEnabled:n}=Dt(),r=I(Hc),a=Bc(),l=Ch(),i=wt(),d=Jt(),u=vue.ref(0),p=Je();return vue.watch(p,(s,c,g)=>{if(!s){u.value=0;return}let f=()=>{u.value=s.scrollLeft;};f(),s.addEventListener("scroll",f,{passive:true}),g(()=>s.removeEventListener("scroll",f));},{flush:"post",immediate:true}),()=>t.value?null:jsxRuntime.jsx("div",{class:"docx-ruler-frame",style:{paddingInlineStart:O(i.value+d.value.inlineStart),paddingRight:O(d.value.inlineEnd)},children:jsxRuntime.jsx(vi,{pageSetup:Oc(o.value,a.pending.value),zoom:r.value,editable:n.value,onLeftMarginChange:a.preview("left"),onRightMarginChange:a.preview("right"),onMarginDragEnd:a.commit,showIndentHandles:l.indent.value!==null,indent:l.indent.value,indentEditable:l.isEnabled.value,onIndentChange:l.preview,onIndentDragEnd:l.commit,unit:e.unit??"inch",className:e.className??"",style:{...e.style,transform:`${e.style?.transform?`${e.style.transform} `:""}translateX(${-u.value}px)`,clipPath:i.value>0&&u.value>0?`inset(0 0 0 ${u.value}px)`:e.style?.clipPath}})})}}),la=vue.defineComponent({name:"DocxEditorVerticalRuler",props:{unit:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:null,default:void 0}},setup(e){let t=I(Ot),{pageSetup:o,isEnabled:n}=Dt(),r=I(Hc),a=Bc(),l=wt(),i=Jt(),d=zs();return ()=>t.value||d.value!==null&&d.value>0&&o.value&&ae(o.value.pageWidthTwips)*r.value>d.value-l.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(xi,{pageSetup:Oc(o.value,a.pending.value),zoom:r.value,editable:n.value,onTopMarginChange:a.preview("top"),onBottomMarginChange:a.preview("bottom"),onMarginDragEnd:a.commit,unit:e.unit??"inch",className:e.className??"",style:e.style})}});var Ph=20,Kc=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:Ph},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(e,{slots:t}){return ()=>vue.h("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 -960 960 960",fill:"currentColor",class:e.className,style:{display:"inline-flex",flexShrink:0,...e.style},ariaHidden:"true"},t.default?.())}});function fo(e){return vue.defineComponent({name:"Icon",props:{size:{type:Number,default:20},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(t){return ()=>vue.h(Kc,t,()=>vue.h("path",{d:e}))}})}var Eh=fo("M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"),wh=fo("M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"),Rh=fo("m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"),Mh=fo("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),kh=fo("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),_h=fo("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),Ih={arrow_back:Eh,search:wh,close:Rh,keyboard_arrow_up:Mh,keyboard_arrow_down:kh,toc:_h},nt=vue.defineComponent({name:"MaterialSymbol",props:{name:{type:String,required:true},size:{type:Number,default:20},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(e){return ()=>{let t=Ih[e.name];return t?vue.h(t,{size:e.size,className:e.className,style:e.style}):(console.warn(`Icon not found: ${e.name}`),vue.h("span",{class:e.className,style:{fontSize:`${e.size}px`,width:`${e.size}px`,height:`${e.size}px`,...e.style}},e.name))}}});var Pi=12,Si=240,zc=16,Fh=24,Ah=Pi+Si+zc,$c=12,Hh=36,Oh=$c+Hh+zc,Ei=vue.defineComponent({name:"DocumentOutline",props:{headings:{type:Array,required:true},onHeadingClick:{type:Function,required:true},onClose:{type:Function,required:true},topOffset:{type:Number,default:0},scrollLeft:{type:Number,default:0},leftOffset:{type:Number,default:Pi}},setup(e){let{t}=D(),o=vue.ref(false);return vue.onMounted(()=>{requestAnimationFrame(()=>{o.value=true;});}),()=>{let n=e.headings.length?Math.min(...e.headings.map(r=>r.level)):0;return vue.h("nav",{class:"docx-outline-nav",role:"navigation","aria-label":t("documentOutline.ariaLabel"),style:{position:"absolute",top:`${e.topOffset}px`,left:`${e.leftOffset-e.scrollLeft}px`,bottom:0,width:`${Si}px`,paddingTop:`${Fh}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+Si}px)`,transition:"transform 0.15s ease-out"},onMousedown:r=>r.stopPropagation()},[vue.h("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"16px 16px 12px 0"}},[vue.h("button",{onClick:e.onClose,"aria-label":t("documentOutline.closeAriaLabel"),title:t("documentOutline.closeTitle"),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:"50%",display:"flex",alignItems:"center",color:"var(--doc-text-muted)"}},[vue.h(nt,{name:"arrow_back",size:20})]),vue.h("span",{style:{fontWeight:400,fontSize:"14px",color:"var(--doc-text)",letterSpacing:"0.01em"}},t("documentOutline.title"))]),vue.h("div",{style:{overflowY:"auto",flex:1,paddingLeft:"4px"}},e.headings.length===0?vue.h("div",{style:{padding:"8px 16px",color:"var(--doc-text-subtle)",fontSize:"13px",lineHeight:"20px"}},t("documentOutline.noHeadings")):e.headings.map((r,a)=>vue.h("div",{key:`${r.blockId}-${a}`,style:{marginLeft:`${(r.level-n)*16}px`}},[vue.h("button",{class:"docx-outline-heading-btn",onClick:()=>e.onHeadingClick(r.blockId),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 8px",fontSize:"13px",fontWeight:400,color:"var(--doc-text)",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:r.text},r.text)])))])}}});var zh=e=>e,$h=Object.freeze([]),Uh=()=>{},wi=vue.defineComponent({name:"DocxEditorDocumentOutline",props:{onClose:{type:Function,default:void 0},topOffset:{type:Number,default:0},leftOffset:{type:Number,default:void 0}},setup(e){let t=R(),o=I(zh),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():$h),r=a=>{let l=t.value;if(!l)return;l.focus();let i={paragraphId:a,offset:0};l.exec({type:"setSelection",range:{anchor:i,head:i}}),l.scrollToBlock(a);};return ()=>Ot(o.value)?null:vue.h(Ei,{headings:n.value,onHeadingClick:r,onClose:e.onClose??Uh,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var Ri=Symbol("NavigationContext");function yt(e){let t=vue.inject(Ri,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var sa=280,da=32,Uc=16;function Bt(e=280){return 32+e+16}function ua({viewportWidth:e,pageWidthPx:t,reservation:o,inlineEndReservation:n=0,inlineStartReservation:r=0,docked:a=false}){if(!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0||!Number.isFinite(n)||n<0||!Number.isFinite(r)||r<0)return 0;let l=(e-n-t)/2,i=l>=o?0:!a&&o<=2*l?2*(o-l):o;return Math.ceil(Math.max(0,i-r))}var jh=Object.freeze([]),Zh=e=>e;function pa(){let e=R(),t=I(Zh),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():jh),r=vue.computed(()=>{let l=n.value;if(l.length===0)return [];let i=l[0].level;for(let d of l)d.level<i&&(i=d.level);return l.map(d=>({heading:d,depth:d.level-i}))}),a=l=>{let i=e.value;if(!i||typeof l!="string"||l.length===0)return;e.value.focus();let d={paragraphId:l,offset:0};e.value.exec({type:"setSelection",range:{anchor:d,head:d}}),i.scrollToBlock(l),o.value=l;};return {headings:n,items:r,selectedBlockId:vue.computed(()=>o.value),goTo:a,isEmpty:vue.computed(()=>n.value.length===0)}}var _i=150,Ii=2e3,ki=Object.freeze([]),Yh=e=>e;function ma(){let e=R(),t=I(Yh),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),a=vue.ref(false),l=vue.ref(ki),i=vue.ref(-1);j(vue.watch([o,n],([s,c],g,f)=>{if(s===c)return;let b=setTimeout(()=>{n.value=s;},_i);f(()=>clearTimeout(b));}));let d=vue.computed(()=>({matchCase:r.value,wholeWord:a.value}));j(vue.watch([e,n,d,t],()=>{let s=e.value,c=n.value;if(!s||c.length===0){l.value=ki,i.value=-1;return}let g=s.findMatches(c,d.value);l.value!==g&&(l.value=g);},{flush:"post"})),j(vue.watch(l,(s,c)=>{c!==s&&(i.value=i.value>=0&&i.value<s.length?i.value:-1);}));let u=s=>{let c=l.value[s];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=s);},p=s=>{if(l.value.length===0)return;let g=((i.value<0?s>0?-1:0:i.value)+s+l.value.length)%l.value.length;u(g);};return {query:vue.computed(()=>o.value),setQuery:s=>{o.value=s;},matchCase:vue.computed(()=>r.value),setMatchCase:s=>{r.value=s;},wholeWord:vue.computed(()=>a.value),setWholeWord:s=>{a.value=s;},matches:vue.computed(()=>l.value),truncated:vue.computed(()=>l.value.length>=Ii),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",l.value=ki,i.value=-1;},isPending:vue.computed(()=>o.value!==n.value)}}var ox=e=>{let t=e.zoomMode;return {pageSetup:e.pageSetup??null,zoom:e.zoom,reviewPaneOpen:e.reviewPaneOpen??true,fitting:t?.type==="fit"&&e.zoom<(t.maxZoom??editor.ZOOM_MAX)&&e.zoom>(t.minZoom??editor.ZOOM_MIN)}},nx=(e,t)=>e.zoom===t.zoom&&e.reviewPaneOpen===t.reviewPaneOpen&&e.fitting===t.fitting&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function fa(e={}){let t=vue.computed(()=>vue.toValue(e)),o=vue.ref(t.value.defaultOpen??false),n=vue.ref(t.value.defaultTab??"headings");vue.watch(()=>t.value.defaultOpen,m=>{m!==void 0&&(o.value=m);},{immediate:true}),vue.watch(()=>t.value.defaultTab,m=>{m!==void 0&&(n.value=m);},{immediate:true});let r=vue.computed(()=>t.value.open??o.value),a=vue.computed(()=>t.value.tab??n.value),l=vue.computed(()=>t.value.open!==void 0),i=vue.computed(()=>t.value.tab!==void 0),d=vue.computed(()=>t.value.paneWidth??280),u=m=>{l.value||(o.value=m),t.value.onOpenChange?.(m);},p=()=>u(!r.value),s=m=>{i.value||(n.value=m),t.value.onTabChange?.(m);},c=Et(),g=Je(),f=vue.inject(Zt,vue.shallowRef({mounted:0,register:()=>()=>{}})),b=I(ox,nx),h=vue.ref(0),y=vue.ref(0),v=vue.ref(0);j(vue.watch([g,r,()=>b.value.reviewPaneOpen,()=>f.value.mounted],(m,C,S)=>{let x=g.value;if(!x){h.value=0,y.value=0,v.value=0;return}let E=()=>{h.value=x.clientWidth;let M=getComputedStyle(x),U=Number.parseFloat(M.paddingInlineEnd);y.value=Number.isFinite(U)?U:0;let k=Number.parseFloat(M.getPropertyValue("--docx-review-gutter-start"));v.value=Number.isFinite(k)?k:0;};if(E(),typeof ResizeObserver>"u")return;let w=new ResizeObserver(E);w.observe(x),S(()=>w.disconnect());},{flush:"post"}));let P=vue.ref(null);vue.watch(()=>b.value.pageSetup,m=>{m&&(P.value=m.pageWidthTwips);},{immediate:true});let T=vue.computed(()=>{if(!r.value)return 0;let m=b.value.pageSetup?.pageWidthTwips??P.value;return m===null?0:ua({viewportWidth:h.value,pageWidthPx:ae(m)*b.value.zoom,reservation:Bt(d.value),inlineEndReservation:y.value,inlineStartReservation:v.value,docked:b.value.fitting})});return j(vue.watch([()=>c,T],()=>{c&&c.setShift(T.value);},{immediate:true,flush:"post"})),j(()=>c?.setShift(0)),j(vue.watch([()=>c,r,d],()=>{c?.setReservation(r.value?Bt(d.value):0);},{immediate:true,flush:"post"})),j(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:a,setTab:s,paneWidth:d,shift:T}}var En=["headings","find"],Ge=(...e)=>e.filter(Boolean).join(" "),wn=vue.defineComponent({name:"NavigationHeader",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){return ()=>jsxRuntime.jsx("div",{class:Ge("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Rn,{}),jsxRuntime.jsx(Mn,{})]})})}}),Rn=vue.defineComponent({name:"NavigationClose",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=yt("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__close",e.className),style:e.style,"aria-label":n("navigation.closeAriaLabel"),title:n("navigation.closeTitle"),onClick:()=>o.setOpen(false),children:t.default?.()??jsxRuntime.jsx(nt,{name:"arrow_back",size:20})})}}),Mn=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=yt("Title");return ()=>jsxRuntime.jsx("h2",{class:Ge("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),kn=vue.defineComponent({name:"NavigationTabs",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=yt("Tabs"),r=a=>{let l=a.key==="ArrowRight"?1:a.key==="ArrowLeft"?-1:0;if(l===0)return;a.preventDefault();let i=En.indexOf(o.tab.value);o.setTab(En[(i+l+En.length)%En.length]);};return ()=>jsxRuntime.jsx("div",{class:Ge("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??En.map(a=>jsxRuntime.jsx(_n,{value:a},a))})}}),_n=vue.defineComponent({name:"NavigationTab",props:{value:{type:String,required:true},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=yt("Tab");return ()=>{let r=o.tab.value===e.value;return jsxRuntime.jsx("button",{type:"button",role:"tab",id:`docx-nav-tab-${e.value}`,"aria-selected":r,"aria-controls":`docx-nav-panel-${e.value}`,tabindex:r?0:-1,class:Ge("docx-nav__tab",r&&"docx-nav__tab--selected",e.className),style:e.style,onClick:()=>o.setTab(e.value),children:t.default?.()??n(`navigation.tabs.${e.value}`)})}}}),Wc=vue.defineComponent({name:"SearchBox",props:{value:{type:String,required:true},onChange:{type:Function,required:true},onClear:{type:Function,required:true},placeholder:{type:String,required:true},label:{type:String,required:true},clearLabel:{type:String,required:true},autoFocus:{type:Boolean,default:void 0}},setup(e){return ()=>jsxRuntime.jsxs("div",{class:"docx-nav__searchbox",children:[jsxRuntime.jsx(nt,{name:"search",size:18,className:"docx-nav__search-icon"}),jsxRuntime.jsx("input",{type:"search",class:"docx-nav__search-input",value:e.value,placeholder:e.placeholder,"aria-label":e.label,autofocus:e.autoFocus,onInput:t=>e.onChange(t.target.value)}),e.value.length>0&&jsxRuntime.jsx("button",{type:"button",class:"docx-nav__search-clear","aria-label":e.clearLabel,onClick:e.onClear,children:jsxRuntime.jsx(nt,{name:"close",size:16})})]})}}),In=vue.defineComponent({name:"NavigationHeadings",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let{pane:t,outline:o,t:n}=yt("Headings"),r=vue.ref(""),a=I(Ot),l=vue.computed(()=>{let i=r.value.trim().toLowerCase();return i.length===0?o.items.value:o.items.value.filter(d=>d.heading.text.toLowerCase().includes(i))});return ()=>{let i=t.tab.value!=="headings";return jsxRuntime.jsxs("div",{class:Ge("docx-nav__panel",e.className),style:e.style,role:"tabpanel",id:"docx-nav-panel-headings","aria-labelledby":"docx-nav-tab-headings",hidden:i,children:[jsxRuntime.jsx(Wc,{value:r.value,onChange:d=>{r.value=d;},onClear:()=>{r.value="";},placeholder:n("navigation.find.placeholder"),label:n("navigation.find.inputAriaLabel"),clearLabel:n("navigation.find.clearAriaLabel")}),a.value?null:o.isEmpty.value?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.headings.noHeadings")}):l.value.length===0?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.find.noResults")}):jsxRuntime.jsx("ul",{class:"docx-nav__list",children:l.value.map((d,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__heading",o.selectedBlockId.value===d.heading.blockId&&"docx-nav__heading--current"),style:{paddingInlineStart:`${8+d.depth*14}px`},title:d.heading.text,onClick:()=>o.goTo(d.heading.blockId),children:d.heading.text})},`${d.heading.blockId}-${u}`))})]})}}}),lx=vue.defineComponent({name:"ResultRow",props:{match:{type:Object,required:true},active:{type:Boolean,required:true},onSelect:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__result",e.active&&"docx-nav__result--active"),"aria-current":e.active?"true":void 0,onClick:e.onSelect,children:jsxRuntime.jsxs("span",{class:"docx-nav__result-text",children:[e.match.contextBefore,jsxRuntime.jsx("mark",{class:"docx-nav__result-hit",children:e.match.text}),e.match.contextAfter]})})})}}),Dn=vue.defineComponent({name:"NavigationFind",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let{pane:t,search:o,t:n}=yt("Find");return ()=>{let r=t.tab.value!=="find",a=o.query.value.trim().length>0,l=o.matches.value.length===0?null:o.activeIndex.value<0?n(o.truncated.value?"navigation.find.totalTruncated":"navigation.find.total",{total:o.matches.value.length}):n(o.truncated.value?"navigation.find.counterTruncated":"navigation.find.counter",{current:o.activeIndex.value+1,total:o.matches.value.length});return jsxRuntime.jsxs("div",{class:Ge("docx-nav__panel",e.className),style:e.style,role:"tabpanel",id:"docx-nav-panel-find","aria-labelledby":"docx-nav-tab-find",hidden:r,children:[jsxRuntime.jsx(Wc,{value:o.query.value,onChange:o.setQuery,onClear:o.clear,placeholder:n("navigation.find.placeholder"),label:n("navigation.find.inputAriaLabel"),clearLabel:n("navigation.find.clearAriaLabel")}),jsxRuntime.jsxs("div",{class:"docx-nav__options",role:"group","aria-label":n("navigation.find.optionsAriaLabel"),children:[jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.matchCase.value,onChange:i=>o.setMatchCase(i.target.checked)}),n("navigation.find.matchCase")]}),jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.wholeWord.value,onChange:i=>o.setWholeWord(i.target.checked)}),n("navigation.find.wholeWord")]})]}),jsxRuntime.jsxs("div",{class:"docx-nav__resultbar",children:[jsxRuntime.jsx("span",{class:"docx-nav__count","aria-live":"polite",children:a?o.isPending.value?n("navigation.find.searching"):l??n("navigation.find.noResults"):""}),jsxRuntime.jsxs("span",{class:"docx-nav__steppers",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-nav__stepper","aria-label":n("navigation.find.previousAriaLabel"),disabled:o.matches.value.length===0,onClick:o.previous,children:jsxRuntime.jsx(nt,{name:"keyboard_arrow_up",size:18})}),jsxRuntime.jsx("button",{type:"button",class:"docx-nav__stepper","aria-label":n("navigation.find.nextAriaLabel"),disabled:o.matches.value.length===0,onClick:o.next,children:jsxRuntime.jsx(nt,{name:"keyboard_arrow_down",size:18})})]})]}),o.matches.value.length>0&&jsxRuntime.jsx("ul",{class:"docx-nav__list","aria-label":n("navigation.find.resultsAriaLabel"),children:o.matches.value.map((i,d)=>jsxRuntime.jsx(lx,{match:i,active:d===o.activeIndex.value,onSelect:()=>o.goTo(d)},`${i.blockId}-${i.start}-${d}`))})]})}}}),Nn=vue.defineComponent({name:"NavigationToggle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=yt("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__toggle",e.className),style:e.style,"aria-label":n("navigation.openAriaLabel"),"aria-expanded":o.open.value,title:n("navigation.openTitle"),onMousedown:r=>r.preventDefault(),onClick:o.toggle,children:t.default?.()??jsxRuntime.jsx(nt,{name:"toc",size:20})})}});var ux=vue.defineComponent({name:"DocxEditorNavigation",props:{t:{type:Function,default:void 0},toggle:{type:[Boolean,Object],default:true},className:{type:String,default:void 0},style:{type:Object,default:void 0},paneWidth:{type:Number,default:void 0},defaultOpen:{type:Boolean,default:void 0},defaultTab:{type:String,default:void 0},open:{type:Boolean,default:void 0},tab:{type:String,default:void 0},onOpenChange:{type:Function,default:void 0},onTabChange:{type:Function,default:void 0}},setup(e,{slots:t}){let o=Re(),r=fa(()=>({...e.paneWidth!==void 0?{paneWidth:e.paneWidth}:{},...e.defaultOpen!==void 0?{defaultOpen:e.defaultOpen}:{},...e.defaultTab!==void 0?{defaultTab:e.defaultTab}:{},...e.open!==void 0?{open:e.open}:{},...e.tab!==void 0?{tab:e.tab}:{},...e.onOpenChange?{onOpenChange:e.onOpenChange}:{},...e.onTabChange?{onTabChange:e.onTabChange}:{}})),a=pa(),l=ma(),{t:i}=D(),d=vue.computed(()=>({pane:r,outline:a,search:l,t:e.t??((p,s)=>i(p,s))}));vue.provide(Ri,d);let u=vue.computed(()=>r.paneWidth.value);return ()=>jsxRuntime.jsxs("div",{class:`${o}docx-nav${r.open.value?" docx-nav--open":""}${e.className?` ${e.className}`:""}`,"data-open":r.open.value?"true":"false",style:{"--docx-nav-width":`${u.value}px`,"--docx-nav-inset":`${32}px`,"--docx-nav-reservation":`${Bt(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Nn,{...typeof e.toggle=="object"?e.toggle:{}}),jsxRuntime.jsx("aside",{class:"docx-nav__panel-shell","aria-label":d.value.t("navigation.ariaLabel"),inert:!r.open.value,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(wn,{}),jsxRuntime.jsx(kn,{}),jsxRuntime.jsx(In,{}),jsxRuntime.jsx(Dn,{})]})})]})}}),Ln=Object.assign(ux,{Header:wn,Close:Rn,Title:Mn,Tabs:kn,Tab:_n,Headings:In,Find:Dn,Toggle:Nn});var yx=600,vx=e=>e.page.total,ga=Symbol("PageNumberTranslationContext"),ya=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=Re(),o=R(),n=Je(),r=I(vx),{t:a}=D(),l=vue.inject(ga,null),i=vue.ref(1),d=vue.ref(false);return vue.watch([o,r,n],([u,p,s],c,g)=>{if(d.value=false,!u||!s||p<=1)return;i.value=u.getCurrentPage("viewport");let f=null,b=()=>{i.value=u.getCurrentPage("viewport"),d.value=true,f&&clearTimeout(f),f=setTimeout(()=>{d.value=false;},yx);};s.addEventListener("scroll",b,{passive:true}),g(()=>{s.removeEventListener("scroll",b),f&&clearTimeout(f);});},{flush:"post"}),()=>{if(r.value<=1)return null;let u=l?l("viewer.pageIndicator").replace(/\{current\}/g,String(i.value)).replace(/\{total\}/g,String(r.value)):a("viewer.pageIndicator",{current:i.value,total:r.value});return vue.h("div",{class:`${t}docx-editor-shell__page-indicator-chip docx-editor__page-number${e.className?` ${e.className}`:""}`,style:e.style,"data-visible":d.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var xx=[],Cx=e=>e.fontSubstitutions??xx,va=vue.defineComponent({name:"DocxEditorFontNotice",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0},t:{type:Function,default:void 0}},setup(e){let t=I(Cx),{t:o}=D(),n=vue.ref(null);return ()=>{let r=t.value;if(r.length===0)return null;let a=r.join("\0");if(n.value===a)return null;let l=e.t??o,i=r.join(", ");return vue.h("div",{class:e.className?`docx-font-notice ${e.className}`:"docx-font-notice",role:"status",...e.style?{style:e.style}:{}},[vue.h("span",{class:"docx-font-notice__text"},l("editor.fontSubstitutionNotice",{fonts:i}).replace("{fonts}",i)),vue.h("button",{type:"button",class:"docx-font-notice__dismiss",onClick:()=>{n.value=a;}},l("common.dismiss"))])}}});var Vt={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function Ni(e){return Math.round(e/1440*100)/100}function Zc(e){return Math.round(e*1440)}function Tx(e,t){return e===t?true:!e||!t?false:e.editing===t.editing&&e.sectionIndex===t.sectionIndex&&e.variant===t.variant&&e.rId===t.rId&&e.partName===t.partName&&e.inherited===t.inherited&&e.titlePage===t.titlePage&&e.evenAndOddHeaders===t.evenAndOddHeaders&&e.headerDistanceTwips===t.headerDistanceTwips&&e.footerDistanceTwips===t.footerDistanceTwips}function Li(){let e=R();return I(o=>e.value?.getHeaderFooterState()??null,Tx)}function ba(e,t,o){let n=e.getBoundingClientRect();return {left:t-n.left-e.clientLeft+e.scrollLeft,top:o-n.top-e.clientTop+e.scrollTop}}function Fn(e,t){let o=vue.ref(null),n=vue.ref({visibility:"hidden"}),r=a=>{o.value=a;};return vue.watch([o,()=>e,()=>t],([a],l,i)=>{let d=a?.closest(".docx-editor__scroll-container"),u=d??a?.parentElement?.querySelector(".docx-editor__scroll-container");if(!a||!u)return;let p=0,s=null,c=new ResizeObserver(()=>f()),g=()=>{p=0;let h=e(u);if(h!==s&&(c.disconnect(),c.observe(u),c.observe(a),h&&c.observe(h),s=h),!h||!h.isConnected){n.value={visibility:"hidden"};return}let y=h.getBoundingClientRect(),v=t==="story-label"?Math.max(a.offsetHeight,28):a.offsetHeight,P=t==="story-label"?6:4,T=d===u,m=t==="after"?y.bottom+6:y.top-v-P,C=T?ba(u,y.left,m):{left:y.left,top:m},S=C.left,x=C.top,E=T?u.scrollLeft+8:8;n.value={position:T?"absolute":"fixed",left:O(t==="story-label"?S:Math.max(E,S+8)),top:O(t==="story-label"?x:Math.max(T?u.scrollTop+8:8,x)),...t==="story-label"?{width:O(Math.max(240,Math.min(y.width,u.clientWidth-16)))}:{maxWidth:O(Math.max(240,Math.min(y.width-16,u.clientWidth-16)))},visibility:"visible"};},f=()=>{p||(p=requestAnimationFrame(g));};c.observe(u),c.observe(a);let b=new MutationObserver(f);b.observe(u,{subtree:true,childList:true,attributes:true,attributeFilter:["data-docx-hf-active","data-docx-note-scope"]}),u.addEventListener("scroll",f,{passive:true}),window.addEventListener("resize",f),g(),i(()=>{p&&cancelAnimationFrame(p),c.disconnect(),b.disconnect(),u.removeEventListener("scroll",f),window.removeEventListener("resize",f);});},{flush:"post"}),j(()=>{n.value={visibility:"hidden"};}),{ref:r,style:n}}function Px(e,t){return t==="first"?e==="header"?"headerFooter.firstPageHeader":"headerFooter.firstPageFooter":t==="even"?e==="header"?"headerFooter.evenPageHeader":"headerFooter.evenPageFooter":e==="header"?"headerFooter.header":"headerFooter.footer"}var Ex=[{field:"PAGE",labelKey:"headerFooter.insertPageNumber"},{field:"NUMPAGES",labelKey:"headerFooter.insertTotalPages"},{field:"SECTIONPAGES",labelKey:"headerFooter.insertSectionPages"},{field:"PAGE_X_OF_Y",labelKey:"headerFooter.insertPageXofY"}];function Hn(e){let t=R();return vue.computed(()=>{if(!t.value)return {enabled:false,reason:"editor is not ready"};let o=t.value.can(e);return o.ok?{enabled:true,reason:null}:{enabled:false,reason:o.reason??null}})}var wx=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=D(),o=R(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(""),l=vue.ref("");vue.watch(n,(v,P,T)=>{if(!v)return;let m=C=>{r.value?.contains(C.target)||(n.value=false);};document.addEventListener("mousedown",m),T(()=>document.removeEventListener("mousedown",m));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([v,P,T])=>{v&&(P===void 0||T===void 0||(a.value=String(Ni(P)),l.value=String(Ni(T))));});let i=vue.computed(()=>({type:"setHeaderFooterOptions",titlePage:!e.state.titlePage})),d=vue.computed(()=>({type:"setHeaderFooterOptions",evenAndOddHeaders:!e.state.evenAndOddHeaders})),u=vue.computed(()=>({type:"linkHeaderFooterToPrevious"})),p=vue.computed(()=>({type:"unlinkHeaderFooterFromPrevious"})),s=vue.computed(()=>({type:"removeHeaderFooter",position:e.state.editing})),c=Hn(i.value),g=Hn(d.value),f=Hn(u.value),b=Hn(p.value),h=Hn(s.value),y=(v,P)=>{if(!o.value)return;let T=Number.parseFloat(P);Number.isFinite(T)&&o.value.exec({type:"setHeaderFooterOptions",[v]:Zc(T)});};return ()=>jsxRuntime.jsxs("div",{ref:r,class:"docx-hf-chrome__options",onMousedown:e.onChromeMousedown,children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","aria-expanded":n.value,"aria-haspopup":"menu",onClick:()=>{n.value=!n.value;},onMousedown:e.onChromeMousedown,children:t("headerFooter.options")}),n.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:e.onChromeMousedown,children:[Ex.map(v=>{let P={type:"insertPageField",field:v.field},T=o.value?.can(P);return jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!T?.ok,title:T&&!T.ok?T.reason:void 0,onClick:()=>{o.value?.exec(P),n.value=false;},onMousedown:e.onChromeMousedown,children:t(v.labelKey)},v.field)}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:e.state.titlePage===true,disabled:!c.value.enabled,title:c.value.reason??void 0,onChange:()=>o.value?.exec(i.value)}),jsxRuntime.jsx("span",{children:t("headerFooter.differentFirstPage")})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:e.state.evenAndOddHeaders===true,disabled:!g.value.enabled,title:g.value.reason??void 0,onChange:()=>o.value?.exec(d.value)}),jsxRuntime.jsxs("span",{children:[t("headerFooter.differentOddEven"),jsxRuntime.jsx("span",{class:"docx-hf-chrome__menu-hint",children:t("headerFooter.differentOddEvenHint")})]})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),e.state.inherited?jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!b.value.enabled,title:b.value.reason??void 0,onClick:()=>o.value?.exec(p.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.unlinkFromPrevious")}):jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!f.value.enabled,title:f.value.reason??void 0,onClick:()=>o.value?.exec(u.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.linkToPrevious")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.headerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.headerDistance"),value:a.value,onInput:v=>{a.value=v.target.value;},onBlur:()=>y("headerDistanceTwips",a.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.footerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.footerDistance"),value:l.value,onInput:v=>{l.value=v.target.value;},onBlur:()=>y("footerDistanceTwips",l.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!h.value.enabled,title:h.value.reason??void 0,onClick:()=>o.value?.exec(s.value),onMousedown:e.onChromeMousedown,children:e.state.editing==="header"?t("headerFooter.removeHeader"):t("headerFooter.removeFooter")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-hf-close",onClick:()=>{o.value?.exec({type:"exitHeaderFooter"}),n.value=false;},onMousedown:e.onChromeMousedown,children:t("common.close")})]}):null]})}}),xa=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Li(),r=Fn(l=>l.querySelector("[data-docx-hf-active]"),"story-label"),a=_;return ()=>{if(!o.value?.editing)return null;let l=Px(o.value.editing,o.value.variant);return vue.h("div",{ref:i=>{r.ref(i instanceof HTMLDivElement?i:null);},class:`docx-context-bar docx-hf-chrome${e.className?` ${e.className}`:""}`,role:"region","aria-label":t("headerFooter.chromeAriaLabel"),"data-testid":"docx-hf-chrome",onMousedown:a,style:{...r.style.value,zIndex:Vt.hfInlineEditor}},[vue.h("div",{class:"docx-context-bar__label"},[vue.h("span",{class:"docx-context-bar__title"},t(l)),o.value.inherited?vue.h("span",{class:"docx-context-bar__status","data-testid":"docx-hf-inherited",title:t("headerFooter.sameAsPreviousHint")},t("headerFooter.sameAsPrevious")):null]),vue.h(wx,{state:o.value,onChromeMousedown:a})])}}});function Ut(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Ca=e=>jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})}),_x="M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z",Ix="M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z",Dx="M770-302 656-416l57-57 114 114-57 57ZM603-469 469-603l57-57 134 134-57 57ZM280-280h133v80H280q-83 0-141.5-58.5T80-400q0-83 58.5-141.5T280-600h133v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35Zm40-80v-80h101l80 80H320Zm493-15-57-57q23-11 33.5-32t10.5-36q0-50-35-85t-85-35H547v-80h133q83 0 141.5 58.5T880-400q0 32-11 61.5T813-375ZM792-56 56-792l56-56 736 736-56 56Z",Nx="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z";function Lx(e){let t={},o=[],n=r=>{for(let a of r){if(!vue.isVNode(a))continue;if(a.type===vue.Fragment){n(pe(a.children));continue}let l=a.type.docxHyperLinkPart;l?t[l]=a:o.push(a);}};return n(e),o.length>0&&(t.__extra=o),t}var Oi=vue.defineComponent({name:"HyperLinkUrl",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{let r=o.state.value;if(e.hidden||!r.link)return null;let a=!r.link.href,l=r.link.kind==="internal",i=l?`#${r.link.anchor??""}`:r.link.authored,d=n(a?"hyperlinkPopup.inertTarget":l?"hyperlinkPopup.bookmarkTarget":"hyperlinkPopup.openLink"),u={class:`docx-hyperlink-popup__url${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-url",...a?{"data-inert":""}:{},title:d,onMousedown:Ut,...a?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(H,{...u,children:p}):a?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:d})]}):jsxRuntime.jsxs("button",{...u,children:[p,Ca(Nx)]})}}});Oi.docxHyperLinkPart="Url";var Bi=vue.defineComponent({name:"HyperLinkCopy",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{let r=o.state.value;if(e.hidden||!r.link?.href)return null;let a=r.copied?n("editor.linkCopied"):n("hyperlinkPopup.copyLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-copy",...r.copied?{"data-copied":""}:{},"aria-label":a,title:a,onMousedown:Ut,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??Ca(_x);return e.asChild?jsxRuntime.jsx(H,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}});Bi.docxHyperLinkPart="Copy";var Ki=vue.defineComponent({name:"HyperLinkEdit",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.editLink"),a={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-edit","aria-label":r,title:r,onMousedown:Ut,onClick:()=>o.beginEdit()},l=e.icon??t.default?.()??Ca(Ix);return e.asChild?jsxRuntime.jsx(H,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});Ki.docxHyperLinkPart="Edit";var Vi=vue.defineComponent({name:"HyperLinkUnlink",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.removeLink"),a={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-unlink","aria-label":r,title:r,onMousedown:Ut,onClick:()=>o.unlink()},l=e.icon??t.default?.()??Ca(Dx);return e.asChild?jsxRuntime.jsx(H,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});Vi.docxHyperLinkPart="Unlink";var zi=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Te(),{t:o}=D(),n=vue.ref(null),r=re("hyperlink-text"),a=re("hyperlink-url"),l=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(l),vue.watch(()=>t.state.value.mode,d=>{d==="editing"&&l();},{flush:"post"});let i=d=>{if(d.key==="Enter"){d.preventDefault(),t.commitEdit();return}d.key==="Escape"&&(d.preventDefault(),t.close());};return ()=>{if(e.hidden)return null;let d=t.state.value;return jsxRuntime.jsxs("div",{class:`docx-hyperlink-popup__fields${e.className?` ${e.className}`:""}`,children:[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:o("hyperlinkPopup.displayTextPlaceholder")}),jsxRuntime.jsx("input",{id:r,"data-testid":"hyperlink-popup-text",class:"docx-hyperlink-popup__input",value:d.text,placeholder:o("hyperlinkPopup.displayTextPlaceholder"),onInput:u=>t.setText(u.target.value),onKeydown:i}),jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:a,children:o("hyperlinkPopup.urlPlaceholder")}),jsxRuntime.jsx("input",{id:a,ref:n,"data-testid":"hyperlink-popup-url-input",class:"docx-hyperlink-popup__input",value:d.url,placeholder:o("hyperlinkPopup.urlPlaceholder"),onInput:u=>t.setUrl(u.target.value),onKeydown:i})]})}}});zi.docxHyperLinkPart="Fields";var $i=vue.defineComponent({name:"HyperLinkApply",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=o.state.value,a=n("hyperlinkPopup.apply"),l={type:"button",class:`docx-hyperlink-popup__apply${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-apply",disabled:r.url.trim().length===0,onMousedown:Ut,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(H,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??a})}}});$i.docxHyperLinkPart="Apply";var Ui=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Te(),{t:o}=D();return ()=>{let n=t.state.value;return e.hidden||!n.error?null:jsxRuntime.jsx("div",{class:`docx-hyperlink-popup__error${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-error",role:"alert",children:o("hyperlinkPopup.refused")})}}});Ui.docxHyperLinkPart="Error";var Wi=vue.defineComponent({name:"HyperLinkCancel",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Te(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.cancel"),a={type:"button",class:`docx-hyperlink-popup__cancel${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-cancel",onMousedown:Ut,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(H,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??r})}}});Wi.docxHyperLinkPart="Cancel";var Fx=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=Te();return ()=>{let n=o.state.value,r=Lx(pe(t.default?.()??[])),a=(i,d)=>i in r?r[i]:d;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Fields",jsxRuntime.jsx(zi,{})),a("Error",jsxRuntime.jsx(Ui,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Apply",jsxRuntime.jsx($i,{})),a("Cancel",jsxRuntime.jsx(Wi,{}))]}),r.__extra]});let l=n.canEdit&&!(n.link&&Fo(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Url",jsxRuntime.jsx(Oi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Copy",jsxRuntime.jsx(Bi,{})),l?a("Edit",jsxRuntime.jsx(Ki,{})):null,l?a("Unlink",jsxRuntime.jsx(Vi,{})):null]}),r.__extra]})}}}),Ax=vue.defineComponent({name:"DocxEditorHyperLink",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Te(),n=vue.ref(null),r=vue.ref(null),{t:a}=D();return vue.watch(()=>o.state.value.mode,(l,i,d)=>{if(l==="closed")return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.close());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.close();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch(()=>o.state.value.anchor,()=>{let l=o.state.value.anchor,i=n.value;if(!l||!i){r.value=null;return}let d=i.offsetParent;if(!d){r.value=null;return}let{left:u,top:p}=ba(d,l.left,l.top),s=Math.max(0,d.scrollWidth-i.offsetWidth);r.value={left:O(Math.max(0,Math.min(u,s))),top:O(p)};},{flush:"post"}),()=>{let l=o.state.value,i=l.mode==="editing"?a(l.link?"hyperlinkPopup.editTitle":"hyperlinkPopup.insertTitle"):a("hyperlinkPopup.editLink");if(e.hidden)return l.mode==="closed"?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.default?.()});if(l.mode==="closed")return null;let d=e.preset?jsxRuntime.jsx(Fx,{children:t.default?.()}):t.default?.(),u={ref:n,class:`docx-hyperlink-popup${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup","data-mode":l.mode,role:"dialog","aria-modal":false,onMousedown:Ut,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(H,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),Ta=Object.assign(Ax,{Url:Oi,Copy:Bi,Edit:Ki,Unlink:Vi,Fields:zi,Error:Ui,Apply:$i,Cancel:Wi});function Hx(e,t){return e===t?true:!e||!t||e.kind!==t.kind?false:e.kind==="note"&&t.kind==="note"?e.id===t.id:e.kind==="headerFooter"&&t.kind==="headerFooter"?e.rId===t.rId:true}function qi(){let e=R();return I(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},Hx)}function Qc(e,t){return e===t?true:!e||!t?false:e.pos===t.pos&&e.numFmt===t.numFmt&&e.numStart===t.numStart&&e.numRestart===t.numRestart}function ep(e,t){return e.resolved.pos===t.resolved.pos&&e.resolved.numFmt===t.resolved.numFmt&&e.resolved.numStart===t.resolved.numStart&&e.resolved.numRestart===t.resolved.numRestart&&Qc(e.documentAuthored,t.documentAuthored)&&Qc(e.sectionAuthored,t.sectionAuthored)}function Ox(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&ep(e.footnote,t.footnote)&&ep(e.endnote,t.endnote)}function Gi(){let e=R();return I(o=>e.value?.getNotePropertiesState()??null,Ox)}var Kx=/^(footnote|endnote):(-?\d{1,10})$/;function tp(e){let t=Kx.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function Vx(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function ji(e){let t=R();return vue.computed(()=>{if(!t.value)return {enabled:false,reason:"editor is not ready"};let o=t.value.can(e);return o.ok?{enabled:true,reason:null}:{enabled:false,reason:o.reason??null}})}var zx=vue.defineComponent({name:"NoteStoryOptions",props:{onOpenProperties:{type:Function,required:true},onClose:{type:Function,required:true}},setup(e){let{t}=D(),o=vue.ref(false),n=vue.ref(null);return vue.watch(o,(r,a,l)=>{if(!r)return;let i=d=>{n.value?.contains(d.target)||(o.value=false);};document.addEventListener("mousedown",i),l(()=>document.removeEventListener("mousedown",i));}),()=>jsxRuntime.jsxs("div",{ref:n,class:"docx-hf-chrome__options",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","data-testid":"docx-notes-options","aria-expanded":o.value,"aria-haspopup":"menu",onMousedown:_,onClick:()=>{o.value=!o.value;},children:t("headerFooter.options")}),o.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:_,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-properties",onClick:()=>{e.onOpenProperties(),o.value=false;},children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-close",onClick:()=>{e.onClose(),o.value=false;},children:t("common.close")})]}):null]})}}),$x=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=D(),o=R(),n=Gi(),r=vue.ref("document"),a=vue.ref("decimal"),l=vue.ref("continuous"),i=vue.ref("pageBottom"),d=vue.ref("decimal"),u=vue.ref("continuous"),p=vue.ref("docEnd");return vue.watch(n,s=>{s&&(a.value=s.footnote.resolved.numFmt,l.value=s.footnote.resolved.numRestart,i.value=s.footnote.resolved.pos,d.value=s.endnote.resolved.numFmt,u.value=s.endnote.resolved.numRestart,p.value=s.endnote.resolved.pos);}),()=>{let s=n.value,c=!s?.footnote.documentAuthored&&!s?.footnote.sectionAuthored,g=!s?.endnote.documentAuthored&&!s?.endnote.sectionAuthored;return jsxRuntime.jsx("div",{class:"docx-note-properties",role:"dialog","aria-modal":"true","aria-label":t("dialogs.footnoteProperties.title"),"data-testid":"docx-notes-properties-dialog",style:{zIndex:Vt.modal},onClick:e.onClose,onKeydown:f=>{f.key==="Escape"&&e.onClose();},children:jsxRuntime.jsxs("div",{class:"docx-note-properties__panel",onClick:f=>f.stopPropagation(),onMousedown:f=>f.stopPropagation(),children:[jsxRuntime.jsx("h2",{class:"docx-note-properties__title",children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsxs("div",{class:"docx-note-properties__body",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__scope",children:[jsxRuntime.jsx("span",{children:t("notes.scope")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:r.value,onChange:f=>{r.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:t("notes.scopeDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("notes.scopeSection")})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.footnotes")}),c?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:a.value,onChange:f=>{a.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:l.value,onChange:f=>{l.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:i.value,onChange:f=>{i.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"pageBottom",children:t("dialogs.footnoteProperties.footnotePositions.bottomOfPage")}),jsxRuntime.jsx("option",{value:"beneathText",children:t("dialogs.footnoteProperties.footnotePositions.belowText")})]})]})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.endnotes")}),g?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:d.value,onChange:f=>{d.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:u.value,onChange:f=>{u.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:p.value,"data-testid":"docx-notes-endnote-position",onChange:f=>{p.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"docEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfDocument")}),jsxRuntime.jsx("option",{value:"sectEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfSection")})]})]})]})]})]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__footer",children:[jsxRuntime.jsx("button",{class:"docx-note-properties__button",type:"button",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{class:"docx-note-properties__button docx-note-properties__button--primary",type:"button","data-testid":"docx-notes-properties-apply",onClick:()=>{let f=o.value;if(!f)return;let b={type:"setNoteProperties",scope:r.value,sectionIndex:r.value==="section"?s?.sectionIndex:void 0,footnote:{numFmt:a.value,numRestart:l.value,position:i.value},endnote:{numFmt:d.value,numRestart:u.value,position:p.value}};f.can(b).ok&&e.onApply(b);},children:t("common.apply")})]})]})})}}}),Sa=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=R(),n=qi(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=vue.ref(null),d=vue.ref(null),u=()=>d.value?.closest(".docx-editor")??null,s=Fn(C=>{let S=n.value;if(!S)return null;let E=[...C.querySelectorAll("[data-docx-note-scope]")].find(w=>w.matches("[data-docx-note]")&&w.dataset.docxNoteScope===S.id)??null;return E?.closest("[data-docx-notes]")??E},"story-label"),c=()=>{i.value&&clearTimeout(i.value),i.value=null,r.value=null;};vue.watch([o,d],([C],S,x)=>{if(!C)return;let E=u();if(!E)return;let w=k=>{let B=k.target;if(!B)return;let ue=B.closest("[data-docx-note-ref]");if(ue?.dataset.docxNoteScope){k.preventDefault(),c(),a.value=null,C.setActiveScope({kind:"note",id:ue.dataset.docxNoteScope});return}B.closest("[data-docx-note-mark-back]")&&(k.preventDefault(),c(),a.value=null,C.setActiveScope({kind:"body"}));},M=k=>{let B=k,ce=B.target?.closest("[data-docx-note-scope]");ce?.dataset.docxNoteScope&&(B.preventDefault(),a.value={scopeId:ce.dataset.docxNoteScope,x:B.clientX,y:B.clientY});},U=k=>{if(Vx())return;let ue=k.target?.closest("[data-docx-note-ref]");if(!ue?.dataset.docxNoteScope){c();return}let ce=ue.dataset.docxNoteScope,Q=C.getNotePreviewText(ce)??ue.getAttribute("aria-description")??t("notes.previewFallback"),G=ue.getBoundingClientRect();i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{r.value={scopeId:ce,text:Q,x:G.left,y:G.bottom+4};},400);};E.addEventListener("click",w),E.addEventListener("contextmenu",M),E.addEventListener("pointerover",U),E.addEventListener("scroll",c,true),x(()=>{E.removeEventListener("click",w),E.removeEventListener("contextmenu",M),E.removeEventListener("pointerover",U),E.removeEventListener("scroll",c,true),c();});},{flush:"post"});let g=C=>{o.value?.exec(C),a.value=null;},f=vue.computed(()=>a.value?tp(a.value.scopeId):null),b=vue.computed(()=>f.value?{type:"deleteNote",noteKind:f.value.noteKind,noteId:f.value.noteId}:null),h=vue.computed(()=>f.value?{type:"convertNote",fromKind:f.value.noteKind,noteId:f.value.noteId}:null),y=vue.computed(()=>f.value?{type:"convertAllNotes",fromKind:f.value.noteKind}:null),v=ji(b.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),P=ji(h.value??{type:"convertNote",fromKind:"footnote",noteId:0}),T=ji(y.value??{type:"convertAllNotes",fromKind:"footnote"}),m=vue.computed(()=>({position:"fixed",left:O(r.value?.x??0),top:O(r.value?.y??0),zIndex:Vt.popover,maxWidth:"280px",maxHeight:"40vh",overflowY:"auto",padding:"8px 10px",background:"var(--doc-popover-bg, #fff)",color:"var(--doc-popover-fg, #111)",border:"1px solid var(--doc-border, #ddd)",boxShadow:"var(--doc-shadow, 0 4px 16px rgba(0,0,0,.12))",fontSize:"12px",lineHeight:1.4,pointerEvents:"none"}));return ()=>{if(!o.value)return null;let C=n.value?tp(n.value.id):null,S=C?t("notes.editingRegion",{kind:C.noteKind==="footnote"?t("notes.footnoteKind"):t("notes.endnoteKind"),number:C.noteId}):null;return vue.h("div",{ref:x=>{d.value=x instanceof HTMLDivElement?x:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":n.value?void 0:true},[n.value&&C?jsxRuntime.jsxs("div",{ref:s.ref,class:"docx-context-bar docx-notes-chrome__banner",role:"region","aria-label":t("notes.chromeAriaLabel"),"data-testid":"docx-notes-banner","data-note-scope":n.value.id,style:{...s.style.value,zIndex:Vt.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:S}),jsxRuntime.jsx(zx,{onOpenProperties:()=>{l.value=true;},onClose:()=>{o.value?.setActiveScope({kind:"body"});}})]}):null,r.value?jsxRuntime.jsx("div",{role:"tooltip","data-testid":"docx-notes-preview",style:m.value,children:r.value.text}):null,a.value&&f.value?jsxRuntime.jsxs("div",{role:"menu","data-testid":"docx-notes-menu",style:{position:"fixed",left:O(a.value.x),top:O(a.value.y),zIndex:Vt.popover,minWidth:"160px",background:"var(--doc-popover-bg, #fff)",border:"1px solid var(--doc-border, #ddd)",boxShadow:"var(--doc-shadow, 0 4px 16px rgba(0,0,0,.12))",padding:"4px"},onMousedown:_,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-delete",disabled:!v.value.enabled,title:v.value.reason??void 0,onClick:()=>b.value&&g(b.value),children:t("notes.delete")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert",disabled:!P.value.enabled,title:P.value.reason??void 0,onClick:()=>h.value&&g(h.value),children:f.value.noteKind==="footnote"?t("notes.convertToEndnote"):t("notes.convertToFootnote")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert-all",disabled:!T.value.enabled,title:T.value.reason??void 0,onClick:()=>y.value&&g(y.value),children:f.value.noteKind==="footnote"?t("notes.convertAllFootnotes"):t("notes.convertAllEndnotes")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",onClick:()=>l.value=true,children:t("dialogs.footnoteProperties.title")})]}):null,l.value?jsxRuntime.jsx($x,{onClose:()=>{l.value=false;},onApply:x=>{g(x),l.value=false;}}):null])}}});var On=Symbol("ContextMenuContext"),rp={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function bt(){return vue.unref(vue.inject(On,rp))}function ap(){return vue.unref(vue.inject(On,rp))?.target??null}var lp=["M760-120 480-400l-94 94q8 15 11 32t3 34q0 66-47 113T240-80q-66 0-113-47T80-240q0-66 47-113t113-47q17 0 34 3t32 11l94-94-94-94q-15 8-32 11t-34 3q-66 0-113-47T80-720q0-66 47-113t113-47q66 0 113 47t47 113q0 17-3 34t-11 32l494 494v40H760ZM600-560l-80-80 240-240h120v40L600-560ZM240-640q33 0 56.5-23.5T320-720q0-33-23.5-56.5T240-800q-33 0-56.5 23.5T160-720q0 33 23.5 56.5T240-640Zm240 180q8 0 14-6t6-14q0-8-6-14t-14-6q-8 0-14 6t-6 14q0 8 6 14t14 6Zm-240 300q33 0 56.5-23.5T320-240q0-33-23.5-56.5T240-320q-33 0-56.5 23.5T160-240q0 33 23.5 56.5T240-160Z"],ip=["M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"],sp=["M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560h-80v120H280v-120h-80v560Zm280-560q17 0 28.5-11.5T520-800q0-17-11.5-28.5T480-840q-17 0-28.5 11.5T440-800q0 17 11.5 28.5T480-760Z"],dp=["M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"],up=["M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"],cp=["M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"],pp=["M280-280v-400h400v400H280Zm80-80h240v-240H360v240ZM200-120q-33 0-56.5-23.5T120-200h80v80Zm-80-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160q0-33 23.5-56.5T200-840v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80q0 33-23.5 56.5T760-120Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80q33 0 56.5 23.5T840-760h-80Z"];function Pa(e,t,o){let n=vue.defineComponent({name:`ContextMenu_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let a=R(),{close:l}=bt(),i=de(),d=W(t);return ()=>r.hidden?null:jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??$(o.paths)??void 0,shortcut:i(r.shortcutKey??o.shortcutKey),disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},onSelect:()=>{a.value?.exec(t),l(true);},...r.className?{className:r.className}:{},children:i(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Bn=Pa("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:lp}),Kn=Pa("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:ip}),Vn=Pa("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:dp}),zn=Pa("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:pp}),To=vue.defineComponent({name:"ContextMenuPaste",props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=R(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=bt(),a=de(),l=W({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ve,{...Le("edit.paste"),icon:e.icon??$(sp)??void 0,shortcut:a(e.shortcutKey??"contextMenu.pasteShortcut"),disabled:!l.isEnabled.value||i,...n??l.disabledReason.value?{title:n??l.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let d=await navigator.clipboard.readText();d&&t.value?.exec({type:"paste",text:d});}catch(d){r(d instanceof Error?d.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:a(e.labelKey??"contextMenu.paste")})}}});To.docxRow="edit.paste";function qt(e,t,o){let n=vue.defineComponent({name:`ContextMenuTable_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},destructive:{type:Boolean,default:void 0}},setup(r){let{close:a}=bt(),l=de(),i=$n(),d=W(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??$(o.paths)??void 0,disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},class:`${u?"docx-table-chrome__destructive-row":""}${r.className?` ${r.className}`:""}`,onSelect:()=>{d.execute()&&a(true);},children:l(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var So=qt("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),Po=qt("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),Eo=qt("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),wo=qt("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),Ro=qt("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),Mo=qt("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),ko=qt("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),qx=[{alignment:"top",labelKey:"tableAdvanced.top",icon:"vertical_align_top"},{alignment:"center",labelKey:"tableAdvanced.middle",icon:"vertical_align_center"},{alignment:"bottom",labelKey:"tableAdvanced.bottom",icon:"vertical_align_bottom"}],Gt=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=bt(),o=de(),n=$n(),r=W({type:"setTableCellVerticalAlignment",alignment:"top"}),a=W({type:"setTableCellVerticalAlignment",alignment:"center"}),l=W({type:"setTableCellVerticalAlignment",alignment:"bottom"}),i=[r,a,l];return ()=>e.hidden||!n.value?null:jsxRuntime.jsxs("div",{class:"docx-contextmenu__table-align",children:[jsxRuntime.jsx("span",{class:"docx-contextmenu__table-align-label",children:o("tableAdvanced.verticalAlignment")}),jsxRuntime.jsx("div",{class:"docx-contextmenu__table-align-buttons",role:"group","aria-label":o("tableAdvanced.verticalAlignment"),children:qx.map((d,u)=>{let p=i[u];return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":false,"aria-label":o(d.labelKey),title:p.disabledReason.value??o(d.labelKey),"aria-disabled":!p.isEnabled.value,class:"docx-contextmenu__table-align-button",onMousedown:s=>{s.preventDefault(),s.stopPropagation();},onClick:()=>{p.execute()&&t(true);},children:$(editor.tableChromeIconPaths(d.icon))},d.alignment)})})]})}});Gt.docxRow="table.cellVerticalAlignment";function mp(e,t,o){let n=vue.defineComponent({name:`ContextMenuToc_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let a=R(),{close:l,tocId:i}=bt(),d=de(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=W(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??$(o.paths)??void 0,disabled:!p.isEnabled.value,...p.disabledReason.value?{title:p.disabledReason.value}:{},onSelect:()=>{a.value?.exec(u.value),l(true);},...r.className?{className:r.className}:{},children:d(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var _o=mp("toc.refresh","entire",{labelKey:"toc.refresh",paths:up}),Io=mp("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:cp});function $n(){return I(e=>e.table!=null,(e,t)=>e===t)}var Ea=vue.defineComponent({name:"ContextMenuItem",props:{label:{type:String,required:true},icon:{type:null,default:void 0},shortcut:{type:String,default:void 0},disabled:{type:Boolean,default:void 0},disabledReason:{type:String,default:void 0},active:{type:Boolean,default:void 0},onSelect:{type:Function,default:void 0},className:{type:String,default:void 0}},setup(e){let{close:t}=bt();return ()=>vue.h(ve,{...e.icon?{icon:e.icon}:{},...e.shortcut?{shortcut:e.shortcut}:{},...e.disabled?{disabled:e.disabled}:{},...e.disabled&&e.disabledReason?{title:e.disabledReason}:{},...e.active!==void 0?{active:e.active}:{},onSelect:()=>{e.onSelect?.(),t(true);},...e.className?{className:e.className}:{}},{default:()=>e.label})}});var wa=8,Jx=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=R(),t=Yt(),o=Ee(),n=de();return ()=>{let r=e.value,a=r?.can({type:"toggleReviewPane"}),l=!a?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=V("review.comments");return jsxRuntime.jsx(ve,{icon:$(i?.paths)??void 0,rowSlot:"review.comments",disabled:l,title:a&&!a.ok?a.reason:void 0,selectHandler:()=>{t.value.requestCommentDraft()&&o.value.setOpenMenu(null);},children:n("comments.addComment")})}}}),Qx=[{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(Bn,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx(Kn,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(To,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(Vn,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(zn,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(We,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(Jx,{})}];function eC(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:So.docxRow,render:()=>jsxRuntime.jsx(So,{})},{kind:"row",id:Po.docxRow,render:()=>jsxRuntime.jsx(Po,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:Eo.docxRow,render:()=>jsxRuntime.jsx(Eo,{})},{kind:"row",id:wo.docxRow,render:()=>jsxRuntime.jsx(wo,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:Ro.docxRow,render:()=>jsxRuntime.jsx(Ro,{})},{kind:"row",id:Mo.docxRow,render:()=>jsxRuntime.jsx(Mo,{})},{kind:"row",id:ko.docxRow,render:()=>jsxRuntime.jsx(ko,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:Gt.docxRow,render:()=>jsxRuntime.jsx(Gt,{})}]}function tC(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:_o.docxRow,render:()=>jsxRuntime.jsx(_o,{})},{kind:"row",id:Io.docxRow,render:()=>jsxRuntime.jsx(Io,{})}]}function bp(e,t=false){return [...Qx,...e?eC():[],...t?tC():[]]}function hp(e){return e!=null&&typeof e=="object"&&"type"in e}function xp(e){if(!hp(e))return null;if(e.type===vue.Fragment){let n=pe(e.children??[]).map(xp).filter(r=>r!==null);return n.length===1?n[0]:null}let t=e.type;if(typeof t!="function"&&typeof t!="object")return null;if(typeof t.docxRow=="string")return t.docxRow;if(typeof t.docxSlot=="string")return t.docxSlot;if(t.docxMenuRow===true){let o=e.props.slot;if(typeof o=="string")return o}return null}function yp(e){if(!hp(e))return false;let t=e.type;return typeof t!="function"&&typeof t!="object"?false:t.docxRowPlacement==="start"}function oC(e){return e?.closest(".docx-editor__scroll-container")??null}var No=vue.defineComponent({name:"DocxEditorContextMenu",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},preset:{type:Boolean,default:true},disabled:{type:Boolean,default:void 0},onOpenChange:{type:Function,default:void 0}},setup(e,{slots:t}){let o=Re(),n=R(),r=jt(),{t:a}=D(),l=$n(),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null),g=vue.ref(null),f=vue.ref(false),b=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,T=>{b.value=T;});let h=vue.computed(()=>bp(l.value,p.value!==null)),y=(T=false)=>{u.value=null,c.value=null,p.value=null,s.value=null,T&&n.value?.focus();};vue.watch(()=>e.disabled,T=>{T&&y();}),vue.watchEffect(T=>{if(r.value,e.disabled)return;let m=oC(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!m)return;let C=S=>{S.preventDefault();let x=S.button===-1||S.clientX===0&&S.clientY===0,E=m.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,s.value=x||!(S.target instanceof HTMLElement)?null:S.target,u.value=x?{x:E.left+16,y:E.top+16}:{x:S.clientX,y:S.clientY};};m.addEventListener("contextmenu",C),T(()=>m.removeEventListener("contextmenu",C));}),vue.watch(u,(T,m,C)=>{if(!T)return;let S=w=>{d.value?.contains(w.target)||y();},x=w=>{w.key==="Escape"?(w.preventDefault(),y(true)):w.key==="Tab"&&y();},E=()=>y();document.addEventListener("pointerdown",S,true),document.addEventListener("keydown",x),document.addEventListener("scroll",E,{capture:true,passive:true}),window.addEventListener("blur",E),window.addEventListener("resize",E),C(()=>{document.removeEventListener("pointerdown",S,true),document.removeEventListener("keydown",x),document.removeEventListener("scroll",E,true),window.removeEventListener("blur",E),window.removeEventListener("resize",E);});},{flush:"sync"}),vue.watch(u,async T=>{if(c.value=null,!T)return;await vue.nextTick();let m=d.value;if(!m||!u.value)return;let{width:C,height:S}=m.getBoundingClientRect(),x=window.innerWidth-C-wa,E=window.innerHeight-S-wa,w=Math.max(wa,u.value.x>x?u.value.x-C:u.value.x),M=Math.max(wa,u.value.y>E?u.value.y-S:u.value.y);c.value={x:w,y:M};},{flush:"post"}),vue.watch(c,T=>{T&&d.value?.focus({preventScroll:true});}),vue.watch(u,T=>{let m=T!==null;m!==f.value&&(f.value=m,b.value?.(m));});let v=vue.computed(()=>({t:e.t,openMenu:null,setOpenMenu:()=>y(true),activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0})),P=vue.computed(()=>({close:y,anchor:u.value,tocId:p.value,target:s.value,clipboardRefusal:g.value,reportClipboardRefusal:T=>{g.value=T;}}));return vue.provide(yn,v),vue.provide(On,P),()=>{let T={position:"fixed",left:`${(c.value??u.value)?.x??0}px`,top:`${(c.value??u.value)?.y??0}px`,visibility:c.value?"visible":"hidden",pointerEvents:"auto"},m=pe(t.default?.()??[]),C=m.filter(yp),S=m.filter(E=>!yp(E)),x=e.preset===false?m:[...C,...br({entries:h.value,children:S,preset:e.preset,keyOfEntry:E=>E.id,keyOfChild:xp,renderEntry:E=>E.kind==="separator"?jsxRuntime.jsx(Lt,{}):E.render()})];return vue.h("div",{ref:E=>{i.value=E instanceof HTMLDivElement?E:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:E=>{d.value=E instanceof HTMLDivElement?E:null;},role:"menu","aria-label":e.t?.("contextMenu.ariaLabel")??a("contextMenu.ariaLabel"),tabindex:-1,class:`${o}docx-toolbar__menu docx-contextmenu${e.className?` ${e.className}`:""}`,style:T,onKeydown:E=>{let w=d.value;if(!w)return;let M=ct(w);E.key==="ArrowDown"?(E.preventDefault(),De(M,document.activeElement,1)):E.key==="ArrowUp"?(E.preventDefault(),De(M,document.activeElement,-1)):E.key==="Home"?(E.preventDefault(),Ne(M,"first")):E.key==="End"&&(E.preventDefault(),Ne(M,"last"));}},x)]:[])}}});Object.assign(No,{Cut:Bn,Copy:Kn,Paste:To,Delete:Vn,SelectAll:zn,InsertRowAbove:So,InsertRowBelow:Po,InsertColumnLeft:Eo,InsertColumnRight:wo,DeleteTableRow:Ro,DeleteTableColumn:Mo,DeleteTable:ko,CellVerticalAlignment:Gt,RefreshToc:_o,RefreshTocPageNumbers:Io,Item:Ea,Slot:We,Row:ve,Group:xn,Separator:Lt,Submenu:ot});function Ji(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Tp=e=>jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})}),aC="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z",lC="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z",iC={position:"absolute",zIndex:20,minWidth:"240px",maxWidth:"320px",top:"12px",right:"12px",padding:"12px",borderRadius:"8px",border:"1px solid var(--doc-border)",backgroundColor:"var(--doc-surface)",boxShadow:"0 4px 16px var(--doc-shadow)",color:"var(--doc-text)",fontSize:"13px",display:"flex",flexDirection:"column",gap:"10px"},sC={display:"flex",justifyContent:"space-between",gap:"12px",alignItems:"baseline"},dC={color:"var(--doc-text-muted)",flexShrink:0},uC={textAlign:"right",wordBreak:"break-word"},cC={display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontWeight:600},pC={display:"flex",gap:"8px",marginTop:"4px"},Sp={display:"inline-flex",alignItems:"center",gap:"6px",padding:"4px 10px",borderRadius:"4px",border:"1px solid var(--doc-border)",backgroundColor:"var(--doc-bg)",color:"var(--doc-text)",font:"inherit",cursor:"pointer"};function mC(e){switch(e){case "plainText":return "contentControl.types.plainText";case "checkbox":return "contentControl.types.checkbox";case "dropdown":return "contentControl.types.dropdown";case "comboBox":return "contentControl.types.comboBox";case "date":return "contentControl.types.date";case "picture":return "contentControl.types.picture";case "repeatingSection":return "contentControl.types.repeatingSection";default:return "contentControl.types.richText"}}function fC(e){return e.effectiveLock==="sdtContentLocked"?"contentControl.lock.sdtContentLocked":e.effectiveLock==="contentLocked"||e.locked?"contentControl.lock.contentLocked":e.effectiveLock==="sdtLocked"||e.removalLocked?"contentControl.lock.sdtLocked":"contentControl.lock.unlocked"}var Lo=vue.defineComponent({name:"ContentControlField",props:{label:{type:String,required:true},value:{type:String,required:true},testId:{type:String,required:true}},setup(e){return ()=>jsxRuntime.jsxs("div",{style:sC,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:dC,children:e.label}),jsxRuntime.jsx("span",{style:uC,children:e.value})]})}}),Pp=vue.defineComponent({name:"ContentControlHeader",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{closeInspector:o}=Ve(),{t:n}=D();return ()=>{if(e.hidden)return null;let r={style:cC,class:e.className??void 0,"data-testid":"content-control-inspector-header"},a=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{children:t.default?.()??n("contentControl.inspectorPanel.title")}),jsxRuntime.jsx("button",{type:"button","data-testid":"content-control-inspector-close","aria-label":n("common.close"),title:n("common.close"),style:{...Sp,padding:"4px",border:"none",background:"transparent"},onMousedown:Ji,onClick:()=>o(),children:Tp(aC)})]});return e.asChild?jsxRuntime.jsx(H,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),Ep=vue.defineComponent({name:"ContentControlFields",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{control:o}=Ve(),{t:n}=D();return ()=>{let r=o.value;if(e.hidden||!r)return null;let a=n("contentControl.inspectorPanel.empty"),l=n("contentControl.inspectorPanel.yes"),i=n("contentControl.inspectorPanel.no"),d=t.default?.()??[jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??a,testId:"content-control-inspector-alias"}),jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??a,testId:"content-control-inspector-tag"}),jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.type"),value:n(mC(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.lock"),value:n(fC(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?l:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx(Lo,{label:n("contentControl.inspectorPanel.bound"),value:r.bound?l:i,testId:"content-control-inspector-bound"}),r.bound?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-bound-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},children:n("contentControl.inspectorPanel.boundNote")}):null,r.locked?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-locked-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},"aria-live":"polite",children:n("contentControl.inspectorPanel.lockedNote")}):null],u={class:e.className??void 0,"data-testid":"content-control-inspector-fields",style:{display:"flex",flexDirection:"column",gap:"8px"}};return e.asChild?jsxRuntime.jsx(H,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),wp=vue.defineComponent({name:"ContentControlRemove",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r,closeInspector:a}=Ve(),{t:l}=D();return ()=>{if(e.hidden)return null;let i=l("contentControl.remove"),d={type:"button",class:`docx-content-control-inspector__remove${e.className?` ${e.className}`:""}`,"data-testid":"content-control-inspector-remove","data-slot":"contentControl.remove",disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":i,title:n.value??i,style:Sp,onMousedown:Ji,onClick:()=>{r().ok&&a();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??Tp(lC),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(H,{...d,children:u}):jsxRuntime.jsx("button",{...d,children:u})}}}),gC=vue.defineComponent({name:"DocxEditorContentControl",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Ve(),n=vue.ref(null),r=re("content-control-title"),{t:a}=D();return vue.watch(()=>o.inspectorOpen.value,(l,i,d)=>{if(!l)return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.closeInspector());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.closeInspector();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch([()=>o.inspectorOpen.value,()=>o.control.value],([l,i])=>{l&&!i&&o.closeInspector();}),()=>{let l=o.control.value;if(e.hidden||!o.inspectorOpen.value||!l)return null;let i=e.preset?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Pp,{}),jsxRuntime.jsx(Ep,{}),jsxRuntime.jsx("div",{style:pC,children:jsxRuntime.jsx(wp,{})}),t.default?.()]}):t.default?.(),d={ref:n,role:"dialog","aria-modal":false,"aria-labelledby":r,"data-testid":"content-control-inspector","data-control-id":l.id,"data-control-type":l.controlType,...l.locked?{"data-locked":""}:{},...l.bound?{"data-bound":""}:{},...l.placeholder?{"data-placeholder":""}:{},class:`docx-content-control-inspector${e.className?` ${e.className}`:""}`,style:iC,onMousedown:p=>{Ji(p),p.stopPropagation();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{id:r,class:"docx-editor-sr-only",children:a("contentControl.inspectorPanel.title")}),i]});return e.asChild?jsxRuntime.jsx(H,{...d,children:u}):jsxRuntime.jsx("div",{...d,children:u})}}}),Ma=Object.assign(gC,{Header:Pp,Fields:Ep,Remove:wp});var Qi=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(Ho,null),t=Symbol("revision-style-declaration");return e?.registerScheme(t),vue.onUnmounted(()=>e?.unregister(t)),()=>null}}),es=vue.defineComponent({name:"DocxEditorAuthorStyle",props:{author:{type:String,required:true},color:{type:String,default:void 0},background:{type:String,default:void 0},spanClassName:{type:String,default:void 0},avatarUrl:{type:String,default:void 0}},setup(e){let t=vue.inject(Ho,null),o=Symbol("revision-style-declaration");return vue.watch(()=>[e.author,e.color,e.background,e.spanClassName,e.avatarUrl],([n,r,a,l,i])=>{t?.register(o,n,{...r!==void 0?{color:r}:{},...a!==void 0?{background:a}:{},...l!==void 0?{spanClassName:l}:{},...i!==void 0?{avatarUrl:i}:{}});},{immediate:true}),vue.onUnmounted(()=>t?.unregister(o)),()=>null}});var bC=editor.LOADING_SNAPSHOT;function ka(e){return {load:t=>{e()?.load(t);},save:()=>e()?.save()??Promise.resolve(null),getDocumentHandle:()=>e()?.getDocumentHandle()??null,getEditor:()=>e(),focus:()=>{e()?.focus();},exec:(t,o)=>e()?.exec(t,o)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:t=>e()?.snapshot(t)??bC}}var SC={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)"},PC={flex:1,minHeight:0,minWidth:0,overflowAnchor:"none"},EC={position:"relative",display:"flex",flex:1,minHeight:0,minWidth:0},wC={flex:"none",minHeight:"34px",padding:"6px 0 2px",overflow:"hidden",scrollbarGutter:"stable both-edges",backgroundColor:"var(--doc-bg)"},RC={position:"absolute",top:"40px",left:0,zIndex:10,pointerEvents:"none"},MC={flex:"none",display:"flex",flexDirection:"column",position:"relative",zIndex:30,backgroundColor:"var(--doc-surface)",borderBottomWidth:"1px",borderBottomStyle:"solid",borderBottomColor:"var(--doc-border)",boxShadow:"0 1px 3px var(--doc-shadow-subtle)"},kC={padding:"8px 12px"},_C={display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px 0",color:"var(--doc-text)"},IC={display:"flex",flexDirection:"column",flex:1,minWidth:0,gap:"2px"},DC={flex:1,minWidth:0,font:"inherit",color:"inherit",backgroundColor:"transparent",border:"1px solid transparent",borderRadius:"4px",padding:"2px 6px"},NC=vue.defineComponent({name:"ScopedChrome",props:{scoped:{type:Boolean,required:true}},setup(e,{slots:t}){return vue.provide(Ko,e.scoped),()=>t.default?.()}}),Dp={document:{type:[String,Object,Uint8Array,ArrayBuffer],default:void 0},fonts:{type:[Object,Function],default:void 0},class:{type:String,default:void 0},t:{type:Function,default:void 0},colorMode:{type:String,default:"light"},chrome:{type:Boolean,default:void 0},title:{type:String,default:void 0},menu:{type:[Boolean,Object],default:void 0},hyperlinkPopup:{type:Boolean,default:void 0},contextMenu:{type:[Boolean,Object],default:void 0},navigation:{type:Boolean,default:void 0},rulers:{type:Boolean,default:void 0},mode:{type:String,default:void 0},zoom:{type:Number,default:void 0},zoomMode:{type:[Object,String],default:void 0},locale:{type:String,default:void 0},author:{type:String,default:void 0},modules:{type:Array,default:void 0},onSave:{type:Function,default:void 0},onOpen:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onTitleChange:{type:Function,default:void 0}},LC={...Dp,i18n:{type:Object,default:void 0},onSave:{type:Function,default:void 0},onOpen:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onTitleChange:{type:Function,default:void 0}},FC=vue.defineComponent({name:"DocxEditorFrame",inheritAttrs:false,props:Dp,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let a=vue.computed(()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave),l=vue.computed(()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen),i=vue.computed(()=>e.onTitleChange??t.onTitleChange),d=vue.computed(()=>e.chrome??true),u=vue.computed(()=>e.menu??true),p=vue.computed(()=>e.navigation??true),s=vue.computed(()=>e.rulers??true),c=vue.computed(()=>e.contextMenu??true),g=vue.computed(()=>e.hyperlinkPopup??true),f=vue.ref(fs()),b;vue.onMounted(()=>{e.colorMode==="system"&&(b=Oa(C=>{f.value=C;}));}),vue.onUnmounted(()=>b?.()),vue.watch(()=>e.colorMode,(C,S,x)=>{b?.(),b=void 0,C==="system"&&(b=Oa(E=>{f.value=E;}),x(()=>b?.()));});let h=vue.computed(()=>gs(e.colorMode,f.value)),{t:y}=D(),v=(C,S)=>e.t?e.t(C,S):y(C,S),P=C=>v(C);vue.provide(ga,v);let T=vue.shallowRef(null);r({load:C=>T.value?.load(C),save:()=>T.value?.save()??Promise.resolve(null),getDocumentHandle:()=>T.value?.getDocumentHandle()??null,getEditor:()=>T.value?.getEditor()??null,focus:()=>T.value?.focus(),exec:(C,S)=>T.value?.exec(C,S)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:C=>T.value?.snapshot(C)??ka(()=>null).snapshot(C)});let m=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let C=R();return T.value=ka(()=>C.value),()=>null}});return ()=>{let C=d.value&&h.value?"dark":d.value?void 0:e.class,S=vue.h(cr,{class:C,style:d.value?PC:void 0,...!d.value&&e.class?{}:{}},{default:()=>[d.value?vue.h(xa):null,d.value?vue.h(Sa):null,vue.h(mr),vue.h(Ta,{hidden:g.value===false}),c.value===false?null:vue.h(No,{t:v,...typeof c.value=="object"?c.value:{}}),vue.h(Ma),s.value&&d.value?vue.h("div",{style:RC,"aria-hidden":"true"},[vue.h(la)]):null,n.default?.()]}),x=typeof u.value=="object"?u.value:{},E=d.value?vue.h("div",{class:`docx-editor${h.value?" dark":""}${e.class?` ${e.class}`:""}`,style:SC},[vue.h("div",{style:MC},[vue.h("div",{style:_C},[n.titleBarLeft?.(),vue.h("div",{style:IC},[i.value!==void 0?vue.h("input",{"aria-label":v("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:v("titleBar.untitled"),style:DC,onInput:w=>{let M=w.target.value;i.value?.(M),o("titleChange",M);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??v("titleBar.untitled")),u.value!==false?vue.h(At,{t:v,...e.title!==void 0?{fileName:e.title}:{},...l.value!==void 0?{openHandler:l.value}:{},...a.value!==void 0?{saveHandler:a.value}:{},...x}):null]),n.titleBarRight?.()]),vue.h("div",{style:kC},[vue.h(fn,{t:v})])]),s.value?vue.h("div",{style:wC,"data-testid":"docx-editor-ruler-row"},[vue.h(aa)]):null,vue.h(va,{t:v}),vue.h("div",{style:EC},[p.value?vue.h(Ln,{t:v}):null,S,vue.h(ya),vue.h(gr,{overlay:true})])]):S;return vue.h(Bo,{...e.document!==void 0?{document:e.document}:{},...e.fonts?{fonts:e.fonts}:{},...e.author!==void 0?{author:e.author}:{},...e.locale!==void 0?{locale:e.locale}:{},translate:v,...e.mode!==void 0?{mode:e.mode}:{mode:"edit"},...e.modules!==void 0?{modules:e.modules}:{},...e.zoom!==void 0?{zoom:e.zoom}:{},...e.zoomMode!==void 0?{zoomMode:e.zoomMode}:{},tableInteractionLabel:P,onReady:w=>o("ready",w),onChange:w=>o("change",w),onFontError:w=>o("fontError",w)},{default:()=>[vue.h(m),vue.h(NC,{scoped:d.value},{default:()=>E})]})}}}),AC=vue.defineComponent({name:"DocxEditor",inheritAttrs:false,props:LC,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let a=()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave,l=()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen,i=()=>e.onTitleChange??t.onTitleChange,d=vue.shallowRef(null);r({load:s=>d.value?.load(s),save:()=>d.value?.save()??Promise.resolve(null),getDocumentHandle:()=>d.value?.getDocumentHandle()??null,getEditor:()=>d.value?.getEditor()??null,focus:()=>d.value?.focus(),exec:(s,c)=>d.value?.exec(s,c)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:s=>d.value?.snapshot(s)??ka(()=>null).snapshot(s)});let{i18n:u,...p}=e;return ()=>vue.h(Zn,u!==void 0?{i18n:u}:{},{default:()=>vue.h(FC,{...p,ref:s=>{d.value=s&&typeof s=="object"&&"load"in s?s:null;},onReady:s=>o("ready",s),onChange:s=>o("change",s),onFontError:s=>o("fontError",s),saveHandler:a()!==void 0?()=>{a()(),o("save");}:void 0,openHandler:l()!==void 0?()=>{l()(),o("open");}:void 0,onTitleChange:i()!==void 0?s=>{i()(s),o("titleChange",s);}:void 0},{default:n.default,titleBarLeft:n.titleBarLeft,titleBarRight:n.titleBarRight})})}}),ts=Object.assign(AC,{Root:Bo,Viewport:cr,Content:mr,Toolbar:fn,Menu:At,Loading:gr,HorizontalRuler:aa,VerticalRuler:la,DocumentOutline:wi,Navigation:Ln,PageSetupDialog:gn,ParagraphDialog:Mt,PageNumber:ya,FontNotice:va,HeaderFooterChrome:xa,NotesChrome:Sa,HyperLink:Ta,ContextMenu:No,ContentControl:Ma,AuthorStyle:es,ColorByChangeType:Qi});var HC=[];function OC(){let e=R();return I(()=>e.value?.getReviewAuthors()??HC)}function VC(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function zC(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function $C(){let e=R(),t=vue.shallowRef(null),o=null,n=()=>{let a=VC(e.value),l=o;return (a===null?l===null:l!==null&&zC(l,a))?l:(o=a,a)};t.value=n();let r=vue.watch(()=>e.value,(a,l,i)=>{if(t.value=n(),!a)return;let d=()=>{let s=n();t.value!==s&&(t.value=s);},u=a.on("selectionChange",d),p=a.on("change",d);i(()=>{u(),p();});},{immediate:true,flush:"post"});return j(r),t}function GC(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,a,l)=>{if(!r)return;let i=()=>{o.value++;},d=r.on("change",i),u=r.on("selectionChange",i);i(),l(()=>{d(),u();});},{immediate:true,flush:"post"});return j(n),o}function ZC(e,...t){let o=e,n=t,r=()=>({source:vue.toValue(o),fragments:n.map(l=>vue.toValue(l))});return async l=>{let i=r(),u=[typeof i.source=="function"?await i.source(l):await i.source,...i.fragments].filter(c=>c!==void 0);if(u.length===0)return;let{epoch:p,...s}=editor.composeFontConfiguration(u[0],...u.slice(1));return s}}function XC(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}async function JC(e){return typeof e=="function"?e():e}function QC(e,t={}){let o=e,n=t,r=vue.ref(void 0),a=vue.ref(void 0),l=vue.ref(null),i=vue.ref(vue.toValue(o)!=null),d=vue.ref(vue.toValue(t).fonts===void 0),u=0;return j(vue.watch(()=>vue.toValue(n).fonts,(p,s,c)=>{if(p===void 0){a.value=void 0,d.value=true;return}let g=true;a.value=void 0,d.value=false,(async()=>{try{let f=await JC(p);g&&(a.value=editor.composeFontConfiguration(f));}catch{}finally{g&&(d.value=true);}})(),c(()=>{g=false;});},{immediate:true})),j(vue.watch(()=>vue.toValue(o),(p,s,c)=>{u+=1;let g=u;if(p==null){r.value=void 0,l.value=null,i.value=false;return}let f=XC(p);if(f){r.value=f,l.value=null,i.value=false;return}let b=true,h=new AbortController;r.value=void 0,i.value=true,l.value=null,(async()=>{try{let y=await fetch(String(p),{...vue.toValue(n).fetchOptions,signal:h.signal});if(!y.ok)throw new Error(`could not open the document: ${y.status} ${y.statusText}`);let v=new Uint8Array(await y.arrayBuffer());if(!b||g!==u)return;r.value=v,i.value=!1;}catch(y){if(!b||g!==u||y instanceof Error&&y.name==="AbortError")return;r.value=void 0,l.value=y instanceof Error?y:new Error("could not open the document"),i.value=false;}})(),c(()=>{b=false,h.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>d.value?r.value:void 0),fonts:vue.computed(()=>a.value),error:vue.computed(()=>l.value),isLoading:vue.computed(()=>i.value||!d.value)}}var aT=vue.defineComponent({name:"PaginatedDocxEditor",props:{source:{type:Object,required:true},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},className:{type:String,default:void 0},documentFontFamily:{type:String,default:void 0}},setup(e,{expose:t}){let o=vue.ref(null),n=vue.shallowRef(null),r=vue.shallowRef(null),a=vue.shallowRef(e.onStateChange),l=vue.shallowRef(e.onError);vue.watch(()=>e.onStateChange,c=>{a.value=c;}),vue.watch(()=>e.onError,c=>{l.value=c;});let i=()=>{let c=o.value;if(!c)return;let g=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:b=>{r.value=b,a.value?.(b);}});if(!g.ok){l.value?.(g.reason,g.detail);return}n.value=g.surface;let f=g.surface.state();return r.value=f,a.value?.(f),()=>{g.surface.destroy(),n.value=null;}},d=vue.computed(()=>r.value?.pageCount??0),u=vue.computed(()=>r.value?.revision??0),p,s=()=>{p?.(),p=i();};return vue.watch(()=>[e.source,e.measurer],()=>{o.value&&s();}),vue.onUnmounted(()=>{p?.();}),t({focus:()=>n.value?.focus(),type:c=>n.value?.type(c),undo:()=>n.value?.undo(),redo:()=>n.value?.redo(),selectAll:()=>n.value?.selectAll(),navigate:(c,g)=>n.value?.navigate(c,g),toggleRunProperty:(c,g)=>n.value?.toggleRunProperty(c,g),setRunProperty:(c,g)=>n.value?.setRunProperty(c,g),setParagraphProperty:(c,g,f)=>n.value?.setParagraphProperty(c,g,f),formatting:()=>n.value?.formatting()??null,sectionProperties:()=>n.value?.sectionProperties()??null,save:()=>{let c=n.value;return c?(c.flushPendingInput(),c.session.save()):null}}),()=>vue.h("div",{onVnodeMounted:c=>{o.value=c.el,s();},onVnodeBeforeUnmount:()=>{p?.(),p=void 0;},class:e.className?`docx-paginated-surface ${e.className}`:"docx-paginated-surface",style:{margin:"24px auto",...e.documentFontFamily?{fontFamily:e.documentFontFamily}:{}},"data-revision":u.value,"data-page-count":d.value})}});var sT=vue.defineComponent({name:"PaginatedDocxEditorShell",props:{source:{type:Object,required:true},documentName:{type:String,default:void 0},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},onSave:{type:Function,default:void 0},colorMode:{type:String,default:void 0},onZoomChange:{type:Function,default:void 0},documentFontFamily:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e,{expose:t,slots:o}){return t({}),()=>vue.h("div",{class:["docx-editor docx-paginated-shell",e.colorMode==="dark"?"dark":"",e.className??""].filter(Boolean).join(" "),"data-testid":"paginated-shell"},o.default?.())}});var cT=vue.defineComponent({name:"PageIndicator",props:{currentPage:{type:Number,required:true},totalPages:{type:Number,required:true},visible:{type:Boolean,required:true}},setup(e){let{t}=D();return ()=>vue.h("div",{style:{position:"absolute",right:"24px",top:"50%",transform:"translateY(-50%)",backgroundColor:"var(--doc-overlay)",color:"#fff",padding:"6px 12px",borderRadius:"4px",fontSize:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontWeight:500,whiteSpace:"nowrap",pointerEvents:"none",zIndex:1e3,opacity:e.visible?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status"},t("viewer.pageIndicator",{current:e.currentPage,total:e.totalPages}))}});var vT=vue.defineComponent({name:"Toolbar",props:{className:{type:String,default:void 0}},setup(e,{slots:t}){return ()=>vue.h("div",{class:["docx-toolbar",e.className].filter(Boolean).join(" "),role:"toolbar"},t.default?.())}}),bT=vue.defineComponent({name:"LegacyToolbarButton",props:{active:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},title:{type:String,default:void 0},className:{type:String,default:void 0},ariaLabel:{type:String,default:void 0}},emits:["click"],setup(e,{emit:t,slots:o}){return ()=>vue.h("button",{type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,disabled:e.disabled,title:e.title,"aria-label":e.ariaLabel,onClick:()=>t("click")},o.default?.())}}),hT=vue.defineComponent({name:"ToolbarGroup",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__group",role:"group"},t.default?.())}});var xT=ts;var CT=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),TT=At,ST=vue.defineComponent({name:"DocumentName",props:{value:{type:String,default:""},onChange:{type:Function,default:void 0}},setup(e){return ()=>vue.h("input",{class:"docx-document-name",value:e.value,onInput:t=>e.onChange?.(t.target.value)})}}),PT=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),ET=vue.defineComponent({name:"TitleBarRight",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar-right"},t.default?.())}});
3
- Object.defineProperty(exports,"CHROME_GROUPS",{enumerable:true,get:function(){return editor.CHROME_GROUPS}});Object.defineProperty(exports,"CHROME_MENUS",{enumerable:true,get:function(){return editor.CHROME_MENUS}});Object.defineProperty(exports,"LOADING_SNAPSHOT",{enumerable:true,get:function(){return editor.LOADING_SNAPSHOT}});Object.defineProperty(exports,"MAX_RESOLVER_FAMILIES",{enumerable:true,get:function(){return editor.MAX_RESOLVER_FAMILIES}});Object.defineProperty(exports,"PX_PER_CM",{enumerable:true,get:function(){return editor.PX_PER_CM}});Object.defineProperty(exports,"PX_PER_INCH",{enumerable:true,get:function(){return editor.PX_PER_INCH}});Object.defineProperty(exports,"WORD_DEFAULT_FONT",{enumerable:true,get:function(){return editor.WORD_DEFAULT_FONT}});Object.defineProperty(exports,"chromeMenuSlots",{enumerable:true,get:function(){return editor.chromeMenuSlots}});Object.defineProperty(exports,"commandForSlot",{enumerable:true,get:function(){return editor.commandForSlot}});Object.defineProperty(exports,"composeFontConfiguration",{enumerable:true,get:function(){return editor.composeFontConfiguration}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return editor.createFontSource}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return editor.generateRulerTicks}});Object.defineProperty(exports,"loadFonts",{enumerable:true,get:function(){return editor.loadFonts}});Object.defineProperty(exports,"rulerPageBox",{enumerable:true,get:function(){return editor.rulerPageBox}});Object.defineProperty(exports,"runToolbarCommand",{enumerable:true,get:function(){return editor.runToolbarCommand}});Object.defineProperty(exports,"toolbarCommandState",{enumerable:true,get:function(){return editor.toolbarCommandState}});Object.defineProperty(exports,"EditorFontError",{enumerable:true,get:function(){return editor$1.EditorFontError}});exports.CONTENT_CONTROL_SLOTS=Se;exports.ContextMenuCellVerticalAlignment=Gt;exports.ContextMenuCopy=Kn;exports.ContextMenuCut=Bn;exports.ContextMenuDelete=Vn;exports.ContextMenuDeleteTable=ko;exports.ContextMenuDeleteTableColumn=Mo;exports.ContextMenuDeleteTableRow=Ro;exports.ContextMenuInsertColumnLeft=Eo;exports.ContextMenuInsertColumnRight=wo;exports.ContextMenuInsertRowAbove=So;exports.ContextMenuInsertRowBelow=Po;exports.ContextMenuItem=Ea;exports.ContextMenuPaste=To;exports.ContextMenuRefreshToc=_o;exports.ContextMenuRefreshTocPageNumbers=Io;exports.ContextMenuSelectAll=zn;exports.DocumentName=ST;exports.DocumentOutline=Ei;exports.DocxEditor=ts;exports.DocxEditorAuthorStyle=es;exports.DocxEditorColorByChangeType=Qi;exports.DocxEditorContent=mr;exports.DocxEditorContentControl=Ma;exports.DocxEditorContextMenu=No;exports.DocxEditorDocumentOutline=wi;exports.DocxEditorFontNotice=va;exports.DocxEditorHeaderFooterChrome=xa;exports.DocxEditorHorizontalRuler=aa;exports.DocxEditorHyperLink=Ta;exports.DocxEditorImagePropertiesDialog=kl;exports.DocxEditorLoading=gr;exports.DocxEditorLoadingSpinner=yl;exports.DocxEditorMenu=At;exports.DocxEditorNavigation=Ln;exports.DocxEditorNotesChrome=Sa;exports.DocxEditorPageNumber=ya;exports.DocxEditorPageSetupDialog=gn;exports.DocxEditorParagraphDialog=Mt;exports.DocxEditorRoot=Bo;exports.DocxEditorShell=xT;exports.DocxEditorToolbar=fn;exports.DocxEditorVerticalRuler=la;exports.DocxEditorViewport=cr;exports.HorizontalRuler=vi;exports.ImageAltText=Sr;exports.ImageInsertProvider=rr;exports.ImageInsertTrigger=ar;exports.ImagePropertiesTrigger=Mr;exports.ImageWrap=xr;exports.LocaleProvider=Zn;exports.Logo=PT;exports.MenuBar=TT;exports.NAVIGATION_PANE_GAP=Uc;exports.NAVIGATION_PANE_INSET=da;exports.NAVIGATION_PANE_WIDTH=sa;exports.NavigationClose=Rn;exports.NavigationFind=Dn;exports.NavigationHeader=wn;exports.NavigationHeadings=In;exports.NavigationTab=_n;exports.NavigationTabs=kn;exports.NavigationTitle=Mn;exports.NavigationToggle=Nn;exports.OUTLINE_BUTTON_LEFT_OFFSET=$c;exports.OUTLINE_BUTTON_RESERVED_SPACE=Oh;exports.OUTLINE_LEFT_OFFSET=Pi;exports.OUTLINE_RESERVED_SPACE=Ah;exports.PageIndicator=cT;exports.PageNumberTranslationContext=ga;exports.PaginatedDocxEditor=aT;exports.PaginatedDocxEditorShell=sT;exports.REVIEW_MARKERS_GUTTER=cl;exports.REVIEW_PANE_GUTTER=pl;exports.RULER_WIDTH=hi;exports.ReviewRailContext=Zt;exports.SEARCH_DEBOUNCE_MS=_i;exports.SEARCH_MATCH_LIMIT=Ii;exports.Slot=H;exports.TitleBar=CT;exports.TitleBarRight=ET;exports.Toolbar=vT;exports.ToolbarButton=bT;exports.ToolbarContext=Qn;exports.ToolbarGroup=hT;exports.ToolbarImageProperties=kr;exports.VERSION=Op;exports.VerticalRuler=xi;exports.editorStateActiveSubscriptionCount=Yp;exports.isFieldLink=Fo;exports.navigationPaneReservation=Bt;exports.navigationShift=ua;exports.normalizeImageBytes=Jn;exports.notificationYieldsToTask=Rs;exports.provideDocxEditor=rf;exports.reviewGutter=Vs;exports.useChromeTranslate=cs;exports.useContentControl=Ve;exports.useContentControlInstance=Xn;exports.useContextMenuTarget=ap;exports.useDocumentOutline=pa;exports.useDocumentSearch=ma;exports.useDocxEditor=R;exports.useDocxSource=QC;exports.useEditorCaret=$C;exports.useEditorCommand=W;exports.useEditorEvent=jl;exports.useEditorSnapshot=GC;exports.useEditorState=I;exports.useEditorValueCommand=qo;exports.useFontFamily=on;exports.useFonts=ZC;exports.useHeaderFooterState=Li;exports.useHyperlinkPopup=Te;exports.useHyperlinkPopupInstance=Yn;exports.useNavigationPane=fa;exports.useNavigationShift=wt;exports.useNotePropertiesState=Gi;exports.useNoteScopeState=qi;exports.usePageSetup=Dt;exports.useParagraphFormat=Dl;exports.useParagraphIndent=Ci;exports.useParagraphStyle=nn;exports.useReviewAuthors=OC;exports.useReviewGutter=Jt;exports.useScopeClassName=Re;exports.useScopedChromeAnchor=Fn;exports.useTableBorderTargetLabel=oi;exports.useToolbarContext=er;exports.useToolbarLabel=K;exports.useToolbarLabelFor=vm;exports.useTranslation=D;exports.useZoom=_l;
1
+ 'use strict';var vue=require('vue'),i18n=require('@docx-editor.dev/i18n'),editor=require('@docx-editor.dev/core/editor'),jsxRuntime=require('vue/jsx-runtime'),editor$1=require('@docx-editor.dev/core/contracts/editor');var ds={version:"2.9.0"};var qp=ds.version;var Ba=Symbol("locale"),Ka=Symbol("lang"),Jn=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(Ba,vue.shallowRef(i18n.en)),n=vue.inject(Ka,vue.shallowRef("en")),r=vue.computed(()=>typeof e.i18n?._lang=="string"?e.i18n._lang:n.value),l=vue.computed(()=>i18n.deepMerge(o.value,e.i18n)),a=vue.shallowRef(l.value),i=vue.shallowRef(r.value);return vue.watch([l,r],()=>{a.value=l.value,i.value=r.value;}),vue.provide(Ba,a),vue.provide(Ka,i),()=>t.default?.()}});function D(){let e=vue.inject(Ba,vue.shallowRef(i18n.en)),t=vue.inject(Ka,vue.shallowRef("en")),o=vue.shallowRef(i18n.createT(e.value,t.value));return vue.watch([e,t],()=>{o.value=i18n.createT(e.value,t.value);}),{catalogue:e,get t(){return o.value}}}function gs(e){let{t}=D();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var ys="(prefers-color-scheme: dark)";function vs(){return typeof window<"u"&&typeof window.matchMedia=="function"}function bs(){return vs()?window.matchMedia(ys).matches:false}function hs(e,t){return e==="dark"||e==="system"&&t}function Va(e){if(!vs())return ()=>{};let t=window.matchMedia(ys);e(t.matches);let o=n=>e(n.matches);return t.addEventListener("change",o),()=>t.removeEventListener("change",o)}function j(e){vue.getCurrentScope()&&vue.onScopeDispose(e);}var qa=Symbol("docxEditor"),Ua=Symbol("editorStateTick"),Yp=vue.shallowRef(null);function M(){return vue.inject(qa,Yp)}function Zt(){return vue.inject(Ua,vue.shallowRef(0))}var Yt=Symbol("ReviewRailContext");function Xt(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(Yt,e)}var Wa=0;function om(){return Wa}function _(e,t=Object.is,o){let n=M(),r=Zt(),l=false,a,i,d=s=>{if(l&&s===a)return i;let c=e(s);return l&&t(i,c)?(a=s,i):(l=true,a=s,i=c,c)},u=()=>{let s=n.value;return d(s?s.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&(Wa++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{l=false;let s=u();t(p.value,s)||(p.value=s);},{flush:"post"}),j(()=>{Wa--,o?.onUnsubscribe?.();})),p}function Ho(e){return e.paragraphId===""}var Et=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),lm=e=>e;function im(){let e=o=>!!o&&(o.width>0||o.height>0);if(typeof document<"u"){let n=document.querySelector("[data-docx-caret]")?.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom}}let t=typeof window>"u"?null:window.getSelection();if(t&&t.rangeCount>0){let o=t.getRangeAt(0),n=o.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom};let r=o.startContainer,a=(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.getBoundingClientRect();if(e(a))return {left:a.left,top:a.bottom}}return null}var Ga=Symbol("HyperlinkPopupContext");function Se(){let e=vue.inject(Ga,null),t=Qn(e===null);return e??t}function Qn(e=true){let t=M(),o=vue.ref(Et),n=vue.shallowRef(null),r=_(lm),l=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),a=()=>{let b=n.value;b&&(b.editor.releaseSelection(b.pin),n.value=null);};j(a);let i=(b,T)=>{a();let S=t.value;o.value={mode:b?"reading":"editing",link:b??null,anchor:T??null,text:b?.text??"",url:b?b.kind==="internal"?`#${b.anchor??""}`:b.authored:"",copied:false,error:false,canEdit:S?t.value.can({type:"insertText",text:""}).ok:false};},d=()=>{a(),o.value=Et;},u=()=>{let b=t.value,T=im();a();let S=b?.surface?.hyperlinks.linkAtCaret()??b?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(S&&Ho(S)){i(S,T);return}if(S){o.value={mode:"editing",link:S,anchor:T,text:S.text,url:S.kind==="internal"?`#${S.anchor??""}`:S.authored,copied:false,error:false,canEdit:b?t.value.can({type:"insertText",text:""}).ok:false};return}let m=b?.query({type:"selectedText"})??"",C=b?.retainSelection()??null;b&&C&&(n.value={editor:b,pin:C}),o.value={mode:"editing",link:null,anchor:T,text:m,url:"",copied:false,error:false,canEdit:b?t.value.can({type:"insertText",text:""}).ok:false};};j(vue.watch(()=>[t.value,e],([b,T],S,m)=>{if(!b||!T)return;let C=b.setHyperlinkChrome({onPopover:E=>i(E.link,{left:E.rect.left,top:E.rect.bottom}),onRequest:u});m(C);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let b=o.value,T=t.value;if(b.mode==="reading"&&b.link){let S=Ho(b.link)?T?.surface?.hyperlinks.fieldLinkAtCaret()??null:T?.surface?.hyperlinks.linkAtCaret()??null;if(S&&S.id===b.link.id)return;o.value=Et;return}if(b.mode==="editing"&&!b.link){let S=T?.surface;if(!S||S.retainedSelection())return;o.value=Et;}});let p=async()=>{let b=o.value.link?.href;if(!b)return false;try{await navigator.clipboard.writeText(b);}catch{return false}return o.value={...o.value,copied:true},true},s=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=b=>{o.value={...o.value,text:b,copied:false,error:false};},v=b=>{o.value={...o.value,url:b,copied:false,error:false};},y=()=>{let b=t.value,T=o.value,S=b?.surface?.hyperlinks;if(!S)return false;let m=T.url.trim();if(m.length===0)return o.value={...T,error:true},false;let C=m.startsWith("#");return S.applyHyperlink({...C?{anchor:m.slice(1)}:{url:m},...T.text.trim().length>0?{text:T.text}:{}})?(d(),true):(o.value={...T,error:true},false)},g=()=>{let b=t.value?.surface?.hyperlinks,T=o.value.link;if(!b)return false;let S=b.removeHyperlink(T?.id);return S&&d(),S},h=()=>{let b=t.value?.surface?.navigation,T=o.value.link;if(!b||!T)return false;if(T.kind==="internal"){let m=T.anchor?b.goToBookmark(T.anchor):false;return m&&(o.value=Et),m}let S=b.openExternal(T.href);return S&&(o.value=Et),S};return {state:vue.computed(()=>o.value.mode==="closed"?Et:{...o.value,canEdit:l.value}),open:i,openAtCaret:u,close:d,copy:p,beginEdit:s,setText:c,setUrl:v,commitEdit:y,unlink:g,openTarget:h}}var Te={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function um(e){return e==="sdtLocked"||e==="sdtContentLocked"}function cm(e){return e==="contentLocked"||e==="sdtContentLocked"}function Za(e,t){return !e.ok&&e.code===t}function Ve(){let e=vue.inject(Ya,null),t=er();return e??t}function er(){let e=M(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=_(g=>g),l=vue.computed(()=>e.value?.surface??null),a=vue.computed(()=>l.value?.contentControls??null);vue.watch([r,a,l],()=>{let g=a.value,h=l.value;o.value=g?.showAll()??h?.state().contentControls.showAll??false,n.value=g?.formFill()??h?.state().contentControls.formFill??false;},{immediate:true,flush:"post"});let i=vue.computed(()=>{r.value;let g=a.value;if(!e.value)return null;let h=g?.atCaret()??null;if(h){let C=g?.disabledReason(h.id,"edit")??null,E=g?.disabledReason(h.id,"remove")??null;return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:cm(h.effectiveLock)||C==="locked",removalLocked:um(h.effectiveLock)||E==="locked",placeholder:h.placeholder,bound:h.bound||C==="bound",effectiveLock:h.effectiveLock}}let f=e.value?.query({type:"contentControlAt"});if(!f||!e.value)return null;let b=g?.disabledReason(f.id,"edit")??null,T=g?.disabledReason(f.id,"remove")??null,S=e.value.can({type:"setContentControlValue",value:""}),m=e.value.can({type:"removeContentControl"});return {id:f.id,tag:f.tag??null,alias:f.alias??null,controlType:f.controlType,locked:f.locked===true||b==="locked"||Za(S,"locked"),removalLocked:T==="locked"||Za(m,"locked"),placeholder:false,bound:b==="bound"||Za(S,"bound"),effectiveLock:null}}),d=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=g=>{a.value?.setShowAll(g),o.value=g;},p=g=>{a.value?.setFormFill(g),n.value=g;},s=vue.computed(()=>{let g=i.value,h=a.value;if(!g)return "no content control at the current selection";if(h){let b=h.disabledReason(g.id,"edit");return b==="locked"?"the content control is locked":b==="bound"?"the content control is bound to external data":b==="notFound"?"the content control was not found":b}if(g.locked)return "the content control is locked";if(g.bound)return "the content control is bound to external data";if(!e.value)return "no document is loaded";let f=e.value.can({type:"setContentControlValue",value:""});return f.ok?null:f.reason}),c=vue.computed(()=>{let g=i.value,h=a.value;if(!g)return "no content control at the current selection";if(h){let b=h.disabledReason(g.id,"remove");return b==="locked"?"the content control is locked":b==="notFound"?"the content control was not found":b}if(g.removalLocked)return "the content control is locked";if(!e.value)return "no document is loaded";let f=e.value.can({type:"removeContentControl"});return f.ok?null:f.reason}),v=g=>{let h=a.value,f=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(h&&f){let b=h.disabledReason(f.id,"edit");if(b)return {ok:false,code:b==="bound"?"bound":b==="locked"?"locked":"notFound",reason:b==="bound"?"the content control is bound to external data":b==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:g})},y=()=>{let g=a.value,h=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(g){let f=h?.id;if(!f)return {ok:false,code:"notFound",reason:"no content control at the current selection"};let b=g.disabledReason(f,"remove");return b?{ok:false,code:b==="locked"?"locked":"notFound",reason:b==="locked"?"the content control is locked":"the content control was not found"}:g.remove(f)?{ok:true,changed:true}:{ok:false,code:"unsupported",reason:"the edit was refused"}}return e.value.exec({type:"removeContentControl"})};return {control:i,controls:d,showAll:vue.computed(()=>o.value),formFill:vue.computed(()=>n.value),inspectorOpen:vue.computed(()=>t.value),canSetValue:vue.computed(()=>s.value===null&&i.value!==null),canRemove:vue.computed(()=>c.value===null&&i.value!==null),setValueDisabledReason:s,removeDisabledReason:c,setShowAll:u,toggleShowAll:()=>u(!o.value),setFormFill:p,toggleFormFill:()=>p(!n.value),openInspector:()=>{t.value=true;},closeInspector:()=>{t.value=false;},toggleInspector:()=>{t.value=!t.value;},remove:y,setValue:v}}var Ya=Symbol("ContentControlContext");function pe(e){return e==null||e===false?[]:Array.isArray(e)?e.flatMap(pe):vue.isVNode(e)?e.type===vue.Fragment?pe(e.children):[e]:[]}var Ts=12700,Ss=96;function vm(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function bm(e,t,o,n){let r=e*72/o,l=t*72/n;return {widthPoints:Math.max(1,Math.round(r*100)/100),heightPoints:Math.max(1,Math.round(l*100)/100)}}function tr(e){let t=editor.DEFAULT_IMAGE_RESOURCE_LIMITS;if(e.byteLength===0)return {ok:false,reasonKey:"imageInsert.errors.emptyFile"};if(e.byteLength>t.maxEncodedBytes)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let o=editor.sniffImageMime(e);if(!vm(o))return o==="image/svg+xml"||o==="image/tiff"?{ok:false,reasonKey:"imageInsert.errors.unsupportedFormat"}:{ok:false,reasonKey:"imageInsert.errors.invalidSignature"};let n=editor.validateRasterHeader(e,o);if(!n)return {ok:false,reasonKey:"imageInsert.errors.invalidSignature"};if(n.pixelWidth*n.pixelHeight>t.maxPixels||n.pixelWidth>t.maxDimension||n.pixelHeight>t.maxDimension)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let{widthPoints:l,heightPoints:a}=bm(n.pixelWidth,n.pixelHeight,Ss,Ss);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:l,heightPoints:a})}function at(e){return Math.round(e/Ts*100)/100}function Oo(e){return Math.round(e*Ts)}var or=Symbol("ToolbarContext"),Sm={t:void 0,onSave:void 0};function nr(){let e=vue.inject(or,Sm);return vue.computed(()=>vue.unref(e))}function K(){let e=nr(),{t}=D();return o=>e.value.t?.(o)??t(o)}function Tm(e){let{t}=D();return o=>e?.(o)??t(o)}function ke(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}function km(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason}function Xa(e){return typeof e=="string"}function U(e){let t=e,o=M(),{t:n}=D(),r=vue.shallowRef(vue.toValue(t));vue.watch(()=>vue.toValue(t),u=>{r.value=u;},{flush:"sync"});let l=vue.computed(()=>{let u=r.value;return Xa(u)?u:editor.editorCommandKey(u)}),i=_(u=>{let p=r.value;if(Xa(p)){let c=editor.toolbarCommandState(o.value,p);return {active:c.active,enabled:c.enabled,disabledReason:i18n.localizeDisabledReason(c.disabledReason,n)}}if(!o.value)return {active:false,enabled:false,disabledReason:null};let s=o.value.can(p);return {active:o.value.isActive(p),enabled:s.ok,disabledReason:s.ok?null:i18n.localizeDisabledReason(s.reason??null,n)}},km,{extraDeps:l});return l.value,{execute:()=>{let u=r.value;return Xa(u)?editor.runToolbarCommand(o.value,u).ok:o.value?o.value.exec(u).ok:false},isActive:vue.computed(()=>i.value.active),isEnabled:vue.computed(()=>i.value.enabled),disabledReason:vue.computed(()=>i.value.disabledReason)}}function Ja(...e){let t=[],o=n=>{n&&(typeof n=="string"?t.push(n):Array.isArray(n)&&n.forEach(o));};return e.forEach(o),t.join(" ")}function ws(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:Ja(typeof o.class=="string"?o.class:"",t)}}function Om(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function Bm(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=Om(t[n],e[n]):n==="class"?o[n]=Ja(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var H=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,l=i=>{let d=n?.vnode.ref,p=(Array.isArray(d)?d[0]:d)?.r;typeof p=="function"?p(i,{}):vue.isRef(p)&&(p.value=i);},a=()=>l(r);return vue.onMounted(a),vue.onUpdated(a),vue.onBeforeUnmount(()=>l(null)),()=>{let i=o.default?.()??[];if(i.length!==1)return null;let d=i[0];if(!d||typeof d!="object")return null;let u=Bm(ws(t),ws(d.props??{}));return vue.cloneVNode(d,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});function V(e){for(let t of editor.CHROME_GROUPS)for(let o of t.controls)if(editor.chromeSlotId(t,o)===e)return o;return null}function q(e){return e?vue.h("svg",{viewBox:"0 -960 960 960",width:18,height:18,ariaHidden:"true",focusable:"false"},e.map(t=>vue.h("path",{key:t,d:t,fill:"currentColor"}))):null}function I(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Pt=vue.defineComponent({name:"ToolbarButton",props:{slot:{type:String,required:true},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0},class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=K(),n=U(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let r=V(e.slot),l=o(r?.labelKey??e.slot),a=editor.commandForSlot(e.slot),i=a?.type==="toggleMark"||a?.type==="setAlignment",d={onClick:()=>n.execute(),onMousedown:I,disabled:!n.isEnabled.value,"data-slot":e.slot,class:ke("docx-toolbar__button",e.class,e.className),...n.isActive.value?{"data-active":""}:{},...n.isEnabled.value?{}:{"data-disabled":""},...i?{"aria-pressed":n.isActive.value}:{},"aria-label":l,title:n.disabledReason.value??l},u=e.icon??t.default?.()??q(r?.paths);return e.asChild?vue.h(H,d,t.default):vue.h("button",{type:"button",...d},u??void 0)}}});Pt.docxToolbarPart=true;var Ym="image/png,image/jpeg,image/gif",Qa=Symbol("ImageInsertContext");function lr(){let e=vue.inject(Qa,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function el(){return vue.inject(Qa,null)}var ir=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=M(),{t:n}=D(),r=vue.ref(null),l=vue.ref(false),a=_(()=>editor.toolbarCommandState(o.value,"image.insert"),(v,y)=>v.enabled===y.enabled&&v.disabledReason===y.disabledReason),i=async v=>{let y=o.value;if(!y||l.value)return;let g=tr(v);if(!g.ok){window.alert(n(g.reasonKey));return}let h={type:"insertImage",data:g.bytes,mime:g.mime,widthPoints:g.widthPoints,heightPoints:g.heightPoints},f=y.canExecuteImageCommand?.(h);if(f&&!f.ok){window.alert(f.reason??n("imageInsert.errors.refused"));return}l.value=true;try{let b=await editor.executeImageCommand(y,h);b.ok?y.focus():window.alert(b.reason??n("imageInsert.errors.refused"));}finally{l.value=false;}},d=async v=>{let y=v?.[0];if(!y)return;let g=await y.arrayBuffer();await i(new Uint8Array(g));},u=async v=>{if(!v)return;let y=[...v.files].find(g=>g.type.startsWith("image/"));if(y){await d([y]);return}for(let g of v.items){if(g.kind!=="file"||!g.type.startsWith("image/"))continue;let h=g.getAsFile();if(!h)continue;let f=await h.arrayBuffer();await i(new Uint8Array(f));return}},p=()=>{a.value.enabled&&r.value?.click();},s=async v=>{let y=v.currentTarget;await d(y.files),y.value="";};return vue.provide(Qa,{openFilePicker:p,insertFromFileList:d,insertFromDataTransfer:u,get isEnabled(){return a.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(a.value.disabledReason,n)},inputRef:r,onInputChange:s}),()=>[vue.h("input",{ref:r,type:"file",accept:Ym,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:s,onMousedown:v=>v.stopPropagation()}),...pe(t.default?.()??[])]}}),sr=vue.defineComponent({name:"ImageInsertTrigger",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=lr(),n=K();return ()=>{if(e.hidden)return null;let r=V("image.insert"),l=n(r?.labelKey??"toolbar.image"),a={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.insert",disabled:!o.isEnabled,...o.isEnabled?{}:{"data-disabled":""},"aria-label":l,title:o.disabledReason??l,onMousedown:I,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(H,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??q(r?.paths)})}}});sr.docxSlot="image.insert";var dr=Object.assign(sr,{docxSlot:"image.insert"});var tl=0,ol=false,nl=false;function Is(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(ol||(ol=true,tl+=1,queueMicrotask(()=>{ol=false;}),nl||(nl=true,setTimeout(()=>{nl=false,tl=0;},0))),tl>16)}function Ds(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};Is()?setTimeout(o,0):queueMicrotask(o);}}function Ns(){let e=0,t=0,o=null,n=new Set,r=new Set,l=new Set,a=i=>{for(let d of [...i])d();};return {getShift:()=>e,setShift(i){let d=Math.max(0,Math.round(i));d!==e&&(e=d,a(n));},subscribeShift(i){return n.add(i),()=>n.delete(i)},getReservation:()=>t,setReservation(i){let d=Math.max(0,Math.round(i));d!==t&&(t=d,a(r));},subscribeReservation(i){return r.add(i),()=>r.delete(i)},getViewport:()=>o,setViewport(i){i!==o&&(o=i,a(l));},subscribeViewport(i){return l.add(i),()=>l.delete(i)}}}var ll=Symbol("navigationLayout");function wt(){return vue.inject(ll,null)}function Rt(){let e=wt(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getShift();};a();let i=n.subscribeShift(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function Ls(){let e=wt(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getReservation();};a();let i=n.subscribeReservation(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function Je(){let e=wt(),t=vue.shallowRef(null),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.getViewport();};a();let i=n.subscribeViewport(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function Fs(){let e=new Set,t=new Map,o=new Map,n=0,r=null,l=false,a=null,i=false;function d(){if(e.size===0&&t.size===0)return;if(t.size===0)return "kind";let c=Object.create(null),v=[...t].sort((y,g)=>(o.get(y[0])??0)-(o.get(g[0])??0));for(let[,{author:y,style:g}]of v)c[y]=g;return {authors:c,others:e.size>0?"kind":"author"}}function u(c){if(c===void 0)return "none";if(typeof c=="string")return c;let v=Object.entries(c.authors).map(([y,g])=>`${y}\0${JSON.stringify(g)}`).sort();return `${c.others??"kind"}${v.join("")}`}function p(){if(!r)return;let c=d(),v=u(c);if(v!==a){if(c===void 0){l&&(r.setRevisionStyles("author"),l=false,a=v);return}r.setRevisionStyles(c),l=true,a=v;}}function s(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),s();},register(c,v,y){o.has(c)||o.set(c,n++),t.set(c,{author:v,style:y}),s();},unregister(c){(e.delete(c)||t.delete(c))&&s();},connect(c){r=c;let v=d();l=c!==null&&v!==void 0,a=c===null?null:u(v),s();},current:d}}var Bo=Symbol("RevisionStyleRegistry");var As=Symbol("docxEditorRootOwner"),dl=Symbol("docxEditorRootHostEmit");function af(e,t){if(e===t)return true;let o=editor.resolveZoomMode(e),n=editor.resolveZoomMode(t);return o!==null&&n!==null&&editor.sameZoomMode(o,n)}function ul(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(qa,o),vue.provide(Ua,n),vue.provide(ll,Ns()),vue.provide(As,true);let r=Fs();vue.provide(Bo,r);let{t:l,catalogue:a}=D(),i=vue.computed(()=>{a.value;let m=vue.toValue(e).translate;if(m)return m;let C=l;return (E,x)=>C(E,x)}),d=vue.shallowRef(0),u=[],p=m=>(u.push(m),()=>{let C=u.indexOf(m);C!==-1&&u.splice(C,1);}),s=()=>{let m=u.at(-1);return m?(m(),true):false},c=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:p,requestCommentDraft:s});vue.watch(d,m=>{c.value={mounted:m,register:()=>(d.value++,()=>{d.value=Math.max(0,d.value-1);}),registerCommentDraft:p,requestCommentDraft:s};},{immediate:true}),vue.provide(Yt,c);let v=[],y=false,g=()=>{for(let C of v.splice(0))C();let m=o.value;m&&(r.connect(null),m.destroy(),o.value=null),y=false;},h=m=>{y||(y=true,t.ready(m));},f=m=>{t.change(m);},b=m=>{t.fontError(m);},T=()=>{if(typeof window>"u")return;g();let m=vue.toValue(e),C=editor.createDocxEditor({...m.document!==void 0?{document:m.document}:{},...m.fonts?{fonts:m.fonts}:{},...m.author!==void 0?{author:m.author}:{},...m.locale!==void 0?{locale:m.locale}:{},translate:i.value,...m.mode!==void 0?{mode:m.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...m.modules!==void 0?{modules:m.modules}:{},...m.zoom!==void 0?{zoom:m.zoom}:{},...m.zoomMode!==void 0?{zoomMode:m.zoomMode}:{},...m.tableInteractionLabel?{tableInteractionLabel:m.tableInteractionLabel}:{},...m.imageDecodePort?{imageDecodePort:m.imageDecodePort}:{},onFontError:b}),E=Ds(()=>{n.value++;});v.push(C.on("change",x=>{f(x),E();})),v.push(C.on("selectionChange",E)),v.push(C.on("error",E)),r.connect(C),o.value=C;};vue.onMounted(()=>{vue.watch(o,m=>{if(!m)return;if(!m.snapshot().isOpening){h(m);return}let C=m.on("change",()=>{C(),h(m);});v.push(C);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,a.value,vue.toValue(e).imageDecodePort],T,{immediate:true,flush:"post"}),vue.onUnmounted(g);let S={zoom:void 0,mode:void 0};return vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,m,C])=>{if(!o.value)return;let E=o.value;m!==void 0&&m!==S.zoom&&(S.zoom=m,E.setZoom(m));let x=C!==void 0&&(S.mode===void 0||!af(S.mode,C)),P=C===void 0?null:editor.resolveZoomMode(C),w=m!==void 0&&C!==void 0&&P!==null&&P.type==="fit";(x||w)&&(S.mode=C,E.setZoomMode(C));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([m,C])=>{m&&m.setTableInteractionLabel(C??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:i}}function Hs(){return vue.inject(As,false)}var df=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=Qn(true);return vue.provide(Ga,o),()=>t.default?.()}}),uf=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=er();return vue.provide(Ya,o),()=>t.default?.()}}),Bs={ready:()=>{},change:()=>{},fontError:()=>{}};function cf(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,l=vue.shallowRef({...r}),a={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...Bs});vue.provide(dl,i);let{editorRef:d}=ul(l,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Vo,rootProps:l,rootListeners:a,editorRef:d}}var Vo=vue.defineComponent({name:"DocxEditorRoot",props:{document:{type:[String,Object,Uint8Array,ArrayBuffer],default:void 0},fonts:{type:[Object,Function],default:void 0},author:{type:String,default:void 0},locale:{type:String,default:void 0},translate:{type:Function,default:void 0},modules:{type:Array,default:void 0},mode:{type:String,default:void 0},zoom:{type:Number,default:void 0},zoomMode:{type:[Object,String],default:void 0},tableInteractionLabel:{type:Function,default:void 0},imageDecodePort:{type:Object,default:void 0}},emits:{ready:e=>true,change:e=>true,fontError:e=>true},setup(e,{emit:t,slots:o}){let n=Hs(),r=vue.inject(dl,null);return n&&r?(r.value={ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)},vue.onUnmounted(()=>{r.value={...Bs};})):n||ul(e,{ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)}),()=>vue.h(df,null,{default:()=>vue.h(uf,null,{default:()=>vue.h(ir,null,{default:()=>o.default?.()})})})}});var zo=Symbol("ScopedByAncestorContext");function Re(){return vue.inject(zo,false)?"":"docx-editor "}var cr=[.25,.5,.75,1,1.25,1.5,2];function $o(e,t){return t==="in"?cr.find(n=>n>e+.001)??null:[...cr].reverse().find(n=>n<e-.001)??null}function Ks(e,t){return e==="0"?1:e==="+"||e==="="?$o(t,"in")??t:e==="-"?$o(t,"out")??t:null}function ae(e){return e/1440*96}function pr(e){return e/96*1440}function O(e){return `${Math.round(e*100)/100}px`}var gl=316,fl=44,gf=24,mr={inlineStart:0,inlineEnd:gl},Vs={inlineStart:fl,inlineEnd:fl},zs={inlineStart:0,inlineEnd:0};function Us({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return Vs;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return mr;let l=Number.isFinite(n)&&n>0?n:0;return t-l-o-2*gf>=gl?mr:Vs}var yf=e=>{let t=e.zoomMode;return {pageSetup:e.pageSetup??null,reviewPaneOpen:e.reviewPaneOpen??true,entitledZoom:t?.type==="fit"?t.maxZoom!==void 0&&t.maxZoom<editor.ZOOM_MAX?t.maxZoom:null:e.zoom}},vf=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function Ws(){let e=Je(),t=vue.shallowRef(null),o=vue.watch(e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.clientWidth;};if(a(),typeof ResizeObserver>"u")return;let i=new ResizeObserver(a);i.observe(n),l(()=>i.disconnect());},{immediate:true,flush:"post"});return j(o),t}function Qt(){let e=Xt(),t=_(yf,vf),o=Je(),n=Ls(),r=vue.ref(null),l=vue.shallowRef(zs),a=vue.watch([e,t,o,n],([i,d,u,p],s,c)=>{d.pageSetup&&(r.value=d.pageSetup.pageWidthTwips);let v=()=>{if((i.mounted??0)===0)return zs;let h=d.pageSetup?.pageWidthTwips??r.value;return Us({open:d.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:h===null||d.entitledZoom===null?0:ae(h)*d.entitledZoom,inlineStartReservation:p,docked:d.entitledZoom===null})},y=()=>{let h=v();h!==l.value&&(l.value=h);};if(y(),!u||typeof ResizeObserver>"u")return;let g=new ResizeObserver(y);g.observe(u),c(()=>g.disconnect());},{immediate:true,flush:"post"});return j(a),l}var Pf=e=>e.reviewPaneOpen??true,wf=e=>e.zoomMode?.type==="fit",fr=vue.defineComponent({name:"DocxEditorViewport",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){vue.provide(zo,true);let o=Re(),n=M(),r=_(Pf),l=_(wf),a=Xt(),i=vue.computed(()=>(a.value.mounted??0)>0),d=Qt(),u=Rt(),p=wt(),s=null;vue.onMounted(()=>{s&&p?.setViewport(s);}),vue.onUnmounted(()=>{p?.setViewport(null);}),vue.watch(u,v=>{s&&s.style.setProperty("--docx-nav-shift",`${v}px`),p?.setViewport(s);});let c=v=>{let y=n.value;if(!y||!(v.metaKey||v.ctrlKey)||v.altKey)return;let g=v.target;if(g instanceof Element&&g.closest('input, textarea, select, [role="dialog"]'))return;let h=Ks(v.key,y.getZoom());h!==null&&(v.preventDefault(),y.setZoom(h));};return ()=>{let v={ref:y=>{s=y instanceof HTMLElement?y:null,p?.setViewport(s),s&&s.style.setProperty("--docx-nav-shift",`${u.value}px`);},"data-testid":"docx-editor-scroll",onKeydownCapture:c,class:ke(`${o}docx-editor-one-surface docx-editor-one-surface__viewport docx-editor__scroll-container`,e.class,e.className),style:{...e.style,"--docx-nav-shift":`${u.value}px`,...i.value?{"--docx-review-gutter":`${d.value.inlineEnd}px`,"--docx-review-gutter-start":`${d.value.inlineStart}px`}:{}}};return i.value&&(v["data-review-pane"]=r.value?"open":"closed"),l.value&&(v["data-zoom-fit"]=""),vue.h("div",v,t.default?.())}}});var Of=["nw","n","ne","e","se","s","sw","w"],Xs=40,Js=12;function Bf(e){return `imageOverlay.handle.${e}`}function Kf(e){switch(e){case "nw":case "se":return "nwse-resize";case "ne":case "sw":return "nesw-resize";case "n":case "s":return "ns-resize";default:return "ew-resize"}}function Vf(e){return {nw:{x:"0%",y:"0%"},n:{x:"50%",y:"0%"},ne:{x:"100%",y:"0%"},e:{x:"100%",y:"50%"},se:{x:"100%",y:"100%"},s:{x:"50%",y:"100%"},sw:{x:"0%",y:"100%"},w:{x:"0%",y:"50%"}}[e]}function zf(e,t){return e>0&&t>0?"se":e>0&&t<0?"ne":e<0&&t>0?"sw":e<0&&t<0?"nw":e>0?"e":e<0?"w":t>0?"s":"n"}var Qs=vue.defineComponent({name:"ImageSelectionOverlay",props:{containerRef:{type:Object,required:true},portalRef:{type:Object,required:true},scrollPort:{type:Object,default:void 0}},setup(e){let t=M(),{t:o}=D(),n=vue.ref(null),r=vue.ref(null),l=vue.shallowRef(null);vue.watch(r,h=>{l.value=h;},{flush:"sync"});let a=vue.shallowRef(null),i=vue.shallowRef(null),d=vue.shallowRef(null),u=vue.shallowRef(null),p=vue.shallowRef(null);vue.watch([()=>e.containerRef.value,()=>n.value?.id],([h],f,b)=>{if(!h)return;let T=S=>{let C=(S.target instanceof Element?S.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");u.value=C??null,C&&C===n.value?.id&&queueMicrotask(()=>d.value?.focus({preventScroll:true}));};h.addEventListener("pointerdown",T,{capture:true}),b(()=>h.removeEventListener("pointerdown",T,{capture:true}));},{flush:"post"}),vue.watch(t,(h,f,b)=>{if(!h){n.value=null;return}let T=()=>{n.value=editor.selectedDrawingOverlayTargetOf(h.surface);},S=()=>{queueMicrotask(T);};T();let m=[h.on("change",S),h.on("selectionChange",T)];b(()=>{for(let C of m)C();});},{immediate:true,flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([h,f,b],T,S)=>{if(h){p.value=h;return}if(!f||!b?.surface)return;let m=f.closest(".docx-editor__scroll-container");if(!m)return;let C=b.surface.overlayCoordinates();p.value=editor.createImageOverlayScrollPort(m,C.paintScale),S(()=>{p.value=null;});},{flush:"post"});let s=()=>{r.value=null,a.value=null;let h=i.value;if(i.value=null,h)try{h.releasePointerCapture(h._lastPointerId??0);}catch{}},c=(h,f,b,T,S,m,C)=>{let E=t.value;if(!E?.surface)return;let x=editor.captureImageMutationPreconditions(E);if(!x)return;let P=E.surface.publishedLayout();a.value=Object.freeze({x:T,y:S}),i.value=m,m._lastPointerId=C;try{m.setPointerCapture(C);}catch{}r.value={session:Object.freeze({drawingNodeId:b.id,startBounds:Object.freeze({x:b.x,y:b.y,width:b.width,height:b.height}),startWidthEmu:b.widthEmu,startHeightEmu:b.heightEmu,startPosition:b.position,anchorFrameOrigin:b.anchorFrameOrigin,transform:b.transform,mode:h,handle:f,preconditions:x,layoutRevision:P.revision,packageRevision:E.surface.session.packageRevision(),kind:b.kind}),bounds:b,accumulatedScrollPt:0},d.value?.focus({preventScroll:true});},v=(h,f,b,T,S)=>{let m=t.value;if(m){if(editor.isStaleImageInteractionCommit(m,h)){s();return}h.mode==="resize"?m.exec({type:"setImageProperties",widthEmu:f,heightEmu:b,...S?.mode==="simple"?{horizontalEmu:S.horizontalEmu,verticalEmu:S.verticalEmu}:{},...S?.mode==="frame"?{...S.horizontalEmu!==void 0?{horizontalEmu:S.horizontalEmu}:{},...S.verticalEmu!==void 0?{verticalEmu:S.verticalEmu}:{}}:{}}):h.mode==="move"&&S&&m.exec({type:"setImagePosition",...S}),s();}},y=h=>{let f=t.value;if(!f)return;let b=l.value?.bounds??editor.selectedDrawingOverlayTargetOf(f.surface);if(!b)return;if(l.value&&h.key==="Escape"){h.preventDefault(),h.stopPropagation(),s();return}if(l.value)return;let T=h.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(h.key==="Delete"||h.key==="Backspace"){h.preventDefault(),h.stopPropagation(),f.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(h.key))return;h.preventDefault(),h.stopPropagation();let S=h.key==="ArrowLeft"?-T:h.key==="ArrowRight"?T:0,m=h.key==="ArrowUp"?-T:h.key==="ArrowDown"?T:0;if(h.altKey){if(!b.canResize)return;let E=zf(S,m),x=editor.computeImageResizeResult({handle:E,startWidthEmu:b.widthEmu,startHeightEmu:b.heightEmu,startBounds:{x:b.x,y:b.y,width:b.width,height:b.height},startPosition:b.position,anchorFrameOrigin:b.anchorFrameOrigin,deltaXPt:S,deltaYPt:m,transform:b.transform,preserveAspect:editor.resizePreservesAspect(E,b.aspectLocked,h.shiftKey),kind:b.kind});f.exec({type:"setImageProperties",widthEmu:x.widthEmu,heightEmu:x.heightEmu,...x.position?.mode==="simple"?{horizontalEmu:x.position.horizontalEmu,verticalEmu:x.position.verticalEmu}:{},...x.position?.mode==="frame"?{...x.position.horizontalEmu!==void 0?{horizontalEmu:x.position.horizontalEmu}:{},...x.position.verticalEmu!==void 0?{verticalEmu:x.position.verticalEmu}:{}}:{}});return}if(b.kind!=="anchored"||!b.canMove||!b.position)return;let C=editor.computeMovedImagePosition(b.position,S,m);f.exec({type:"setImagePosition",...C});};vue.watch([r,t,()=>e.containerRef.value],([h,f,b],T,S)=>{if(!h||!f?.surface)return;let m=f.surface.overlayCoordinates(),C=x=>{let P=l.value,w=a.value;if(!P||!w)return;let R=editor.cssPixelsToLayoutPoints(x.clientX-w.x,m.paintScale),$=editor.cssPixelsToLayoutPoints(x.clientY-w.y,m.paintScale);if(P.session.mode==="move"){let B=0,ue=p.value,ce=b?.closest(".docx-editor__scroll-container");if(ue&&ce){let Q=ce.getBoundingClientRect();x.clientY>Q.bottom-Xs?B=Js:x.clientY<Q.top+Xs&&(B=-Js),B!==0&&(B=ue.scrollBy(B));}let X=P.accumulatedScrollPt+B;r.value={...P,accumulatedScrollPt:X,bounds:Object.freeze({...P.bounds,x:P.session.startBounds.x+R,y:P.session.startBounds.y+$+X})};return}if(!P.session.handle)return;let k=editor.computeImageResizeResult({handle:P.session.handle,startWidthEmu:P.session.startWidthEmu,startHeightEmu:P.session.startHeightEmu,startBounds:P.session.startBounds,startPosition:P.session.startPosition,anchorFrameOrigin:P.session.anchorFrameOrigin,deltaXPt:R,deltaYPt:$,transform:P.session.transform,preserveAspect:editor.resizePreservesAspect(P.session.handle,P.bounds.aspectLocked,x.shiftKey),kind:P.session.kind});r.value={...P,bounds:Object.freeze({...P.bounds,x:k.previewBounds.x,y:k.previewBounds.y,width:k.previewBounds.width,height:k.previewBounds.height,widthEmu:k.widthEmu,heightEmu:k.heightEmu})};},E=x=>{let P=l.value;if(P)if(x.type==="pointerup"){let w=editor.cssPixelsToLayoutPoints(x.clientX-(a.value?.x??x.clientX),m.paintScale),R=editor.cssPixelsToLayoutPoints(x.clientY-(a.value?.y??x.clientY),m.paintScale),$=editor.finalizeImageOverlayInteraction({session:P.session,deltaXPt:w,deltaYPt:R,accumulatedScrollPt:P.accumulatedScrollPt,aspectLocked:P.bounds.aspectLocked,shiftKey:x.shiftKey,anchorFrameOrigin:P.session.anchorFrameOrigin});v(P.session,$.widthEmu,$.heightEmu,$.previewBounds,$.position);}else s();};window.addEventListener("pointermove",C),window.addEventListener("pointerup",E),window.addEventListener("pointercancel",E),S(()=>{window.removeEventListener("pointermove",C),window.removeEventListener("pointerup",E),window.removeEventListener("pointercancel",E);});},{flush:"post"}),vue.watch(n,h=>{!h||u.value!==h.id||(u.value=null,d.value?.focus({preventScroll:true}));},{flush:"post"});let g=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let h=t.value,f=g.value,b=e.portalRef.value;if(!h?.surface||!f||!b)return null;let T=h.surface.publishedLayout(),S=h.surface.overlayCoordinates(),m=editor.overlayFrameToSheetCssPixels(T,{pageIndex:f.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height},S),C=f.canResize,E=f.kind==="anchored"&&f.canMove;return jsxRuntime.jsx(vue.Teleport,{to:b,children:jsxRuntime.jsxs("div",{ref:x=>{d.value=x instanceof HTMLDivElement?x:null;},class:"docx-image-selection-overlay","data-drawing-node-id":f.id,tabindex:0,onKeydown:y,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${E?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${m.left}px`,top:`${m.top}px`,width:`${m.width}px`,height:`${m.height}px`,cursor:E?"move":"default"},onPointerdown:x=>{I(x),!(!E||!f.position)&&x.button===0&&(x.preventDefault(),x.stopPropagation(),c("move",null,f,x.clientX,x.clientY,x.currentTarget,x.pointerId));}}),C?Of.map(x=>{let P=Vf(x);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(Bf(x)),tabindex:0,style:{left:`calc(${m.left}px + ${m.width}px * ${parseFloat(P.x)/100} - 5px)`,top:`calc(${m.top}px + ${m.height}px * ${parseFloat(P.y)/100} - 5px)`,cursor:Kf(x)},onPointerdown:w=>{I(w),w.button===0&&(w.preventDefault(),w.stopPropagation(),c("resize",x,f,w.clientX,w.clientY,w.currentTarget,w.pointerId));}},x)}):null]})})}}});function bl(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var yr=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=M(),o=el(),n=vue.shallowRef(null),r=vue.shallowRef(null),l=()=>{let p=t.value,s=n.value;p&&s&&p.attach(s);},a=()=>t.value?.detach();vue.watch([t,n],l,{immediate:true,flush:"post"}),vue.onDeactivated(a),vue.onActivated(l),vue.onUnmounted(a);let i=p=>{let s=o;if(!s?.isEnabled)return;let c=p.clipboardData;c&&bl(c)&&(p.preventDefault(),s.insertFromDataTransfer(c));},d=p=>{!o?.isEnabled||!p.dataTransfer||!bl(p.dataTransfer)||p.preventDefault();},u=p=>{let s=o;if(!s?.isEnabled)return;let c=p.dataTransfer;c&&bl(c)&&(p.preventDefault(),s.insertFromDataTransfer(c));};return ()=>vue.h("div",{ref:p=>{r.value=p instanceof HTMLDivElement?p:null;},class:"docx-content-mount"},[vue.h("div",{ref:p=>{n.value=p instanceof HTMLDivElement?p:null;},class:ke("docx-paginated-surface",e.class,e.className),onPaste:i,onDragover:d,onDrop:u}),t.value?vue.h(Qs,{containerRef:n,portalRef:r}):null])}});var Zf=e=>e.isLoading||e.isOpening===true,Yf=e=>({width:ae(e.pageSetup?.pageWidthTwips??12240)*e.zoom,height:ae(e.pageSetup?.pageHeightTwips??15840)*e.zoom}),hl=vue.defineComponent({name:"DocxEditorLoadingSpinner",props:{className:{type:String,default:void 0}},setup(e){return ()=>vue.h("span",{class:`docx-editor__loading-spinner${e.className?` ${e.className}`:""}`,ariaHidden:"true"})}}),Xf=vue.defineComponent({name:"DocxEditorLoading",props:{when:{type:Boolean,default:false},overlay:{type:Boolean,default:false},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let o=_(Zf),n=_(Yf),{t:r}=D();return ()=>{if(!e.when&&!o.value)return null;let l=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:l,style:e.style,role:"status",ariaLive:"polite"},t.default?.()??vue.h("div",{class:"docx-paginated-surface docx-editor__loading-surface",style:{width:`${n.value.width}px`,height:`${n.value.height}px`}},[vue.h("div",{class:"docx-pages"},[vue.h("div",{class:"docx-page docx-editor__loading-page"},[vue.h("div",{class:"docx-editor__loading-page-status"},[vue.h(hl),vue.h("span",{class:"docx-editor-sr-only"},r("loading.label"))])])])]))}}}),vr=Object.assign(Xf,{Spinner:hl});function Qf(e){let t=e.children;if(Array.isArray(t))return t.filter(vue.isVNode);if(typeof t=="object"&&t!==null&&"default"in t){let o=t.default;return o?.().filter(vue.isVNode)??[]}return []}function br(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=Qf(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function hr(e){if(!vue.isVNode(e))return null;let t=e.type;if(typeof t=="object"&&t!==null&&"docxSlot"in t){let o=t.docxSlot;return typeof o=="string"?o:null}return null}function xr({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:l}){if(!o)return t;let a=new Map,i=[];for(let s of t){if(!vue.isVNode(s))continue;let c=r(s);c?a.set(c,s):i.push(s);}let d=e.map((s,c)=>{let v=n(s,c),y=a.get(v);return y||l(s,c)}),u=new Set(e.map(n)),p=[...a.entries()].filter(([s])=>!u.has(s)).map(([,s])=>s);return [...d,...p,...i]}var od=new WeakMap;function te(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=od.get(o)??0;return od.set(o,n+1),`docx-${n}-${e}`}var tg=["zoom","script","format","list","alignment","styles","font","text","history"],xl=new Set(["review"]),Cl=24,rd=new Set;function ad(e,t=tg){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function nd(e,t){let{widths:o,groups:n,order:r,fixed:l,more:a}=e,i=l;for(let u of n)i+=o.get(u)??0;if(i<=t)return rd;i+=a;let d=new Set;for(let u of r){if(i<=t)break;let p=o.get(u);p===void 0||d.has(u)||(d.add(u),i-=p);}return d}function ld(e,t){if(e===t)return true;if(e.size!==t.size)return false;for(let o of e)if(!t.has(o))return false;return true}var id=ld;function sd(e){if(!(e.available>0))return rd;let t=nd(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=nd(e,e.available-(e.hysteresis));return ld(n,o)?o:n}function dd(e,t,o,n){return e+t+o+n*2}function ud(e,t){return e+t}function Tl(e,t){return e+t}function cd(e){let t=Number.parseFloat(e.marginInlineStart||e.marginLeft),o=Number.parseFloat(e.marginInlineEnd||e.marginRight);return {start:Number.isFinite(t)?t:0,end:Number.isFinite(o)?o:0}}function Sl(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function pd(e){return Sl(e.columnGap)}function md(e,t){return e.clientWidth-Sl(t.paddingLeft)-Sl(t.paddingRight)}var Uo="data-toolbar-group",Wo="data-toolbar-fixed",Pl="data-toolbar-more",lg=34,fd=new Set;function gd(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),l=vue.shallowRef(lg),a=vue.ref(fd),i=0,d,u=()=>typeof e=="function"?e():e.value,p=()=>typeof t=="function"?t():t.value,s=()=>typeof o=="function"?o():o.value,c=()=>{let g=n.value;if(!g||!u())return;let h=getComputedStyle(g),f=pd(h),b=md(g,h),T=g.querySelector(".docx-toolbar__separator"),S=f*2;if(T){let w=getComputedStyle(T),R=cd(w);S=dd(T.offsetWidth,R.start,R.end,f);}let m=new Map(r.value);for(let w of g.querySelectorAll(`[${Uo}]`)){let R=w.getAttribute(Uo);R&&w.offsetWidth>0&&m.set(R,ud(w.offsetWidth,S));}r.value=m;let C=0;for(let w of g.querySelectorAll(`[${Wo}]`))w.offsetWidth>0&&(C+=Tl(w.offsetWidth,f));let E=g.querySelector(`[${Pl}]`);E&&E.offsetWidth>0&&(l.value=Tl(E.offsetWidth,f));let x={available:b,widths:m,groups:p(),order:s(),fixed:C,more:l.value,previous:a.value,hysteresis:Cl},P=sd(x);id(P,a.value)||(a.value=P);},v=g=>{n.value=g;},y=()=>{d?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let g=n.value;if(!(!u()||!g||typeof ResizeObserver>"u")){d=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),d.observe(g);for(let h of g.querySelectorAll(`[${Uo}], [${Wo}]`))d.observe(h);}};return vue.watch([n,a,()=>u(),()=>p().join(","),()=>s().join(",")],()=>{if(!u()){a.value.size>0&&(a.value=fd),d?.disconnect();return}c(),y();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),d?.disconnect();}),{attach:v,overflow:a}}var cg=["M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"],vd=Symbol("OverflowPanelContext");function pg(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var bd=vue.defineComponent({name:"ToolbarOverflowControl",props:{label:{type:String,required:true}},setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__more-control"},[vue.h("span",{class:"docx-toolbar__more-control-label"},e.label),vue.h("span",{class:"docx-toolbar__more-control-body"},t.default?.())])}}),hd=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=K(),o=vue.inject(vd,{close:()=>{}}),n=U(vue.computed(()=>e.slot));return ()=>{let r=V(e.slot),l=editor.commandForSlot(e.slot),a=l?.type==="toggleMark"||l?.type==="setAlignment",i=t(r?.labelKey??e.slot);return vue.h("button",{type:"button",class:"docx-toolbar__more-command","data-slot":e.slot,disabled:!n.isEnabled.value,...n.disabledReason.value?{title:n.disabledReason.value}:{},...a?{"aria-pressed":n.isActive.value}:{},...n.isActive.value?{"data-active":""}:{},onMousedown:I,onClick:d=>{n.execute(),o.close(d.detail===0);}},[vue.h("span",{class:"docx-toolbar__more-command-icon",ariaHidden:"true"},[q(r?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),xd=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=K(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(false),i=te("toolbar-overflow"),d=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(vd,{close:u}),vue.watch(o,(p,s,c)=>{if(!p)return;let v=y=>{let g=y.target;g instanceof Node&&n.value?.contains(g)||(o.value=false);};document.addEventListener("mousedown",v,true),c(()=>document.removeEventListener("mousedown",v,true));}),vue.watch(o,p=>{if(!p||!a.value)return;a.value=false;let s=l.value;s&&pg(s);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[Pl]:""},[vue.h("button",{ref:r,type:"button",class:"docx-toolbar__button docx-toolbar__more-trigger","data-slot":"toolbar.more","aria-haspopup":"dialog","aria-expanded":o.value,"aria-controls":o.value?i:void 0,"aria-label":d,title:d,...o.value?{"data-active":""}:{},onMousedown:I,onClick:()=>{o.value=!o.value;},onKeydown:p=>{p.key==="ArrowDown"&&(p.preventDefault(),a.value=true,o.value=true);}},[q(cg)]),o.value?vue.h("div",{ref:l,id:i,role:"dialog","aria-label":d,class:"docx-toolbar__more-panel","data-testid":"toolbar-overflow-panel",onKeydown:p=>{p.key!=="Escape"||p.defaultPrevented||(p.preventDefault(),u(true));}},e.sections.map(p=>vue.h("div",{key:p.id,class:"docx-toolbar__more-section",role:"group","aria-label":t(p.labelKey)},[vue.h("span",{class:"docx-toolbar__more-heading",ariaHidden:"true"},t(p.labelKey)),...p.children??[]]))):null])}});function yg(e,t){return e.value===t.value&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason}function jo(e){let t=M(),o=vue.shallowRef(e);o.value=e;let r=_(l=>{let a=editor.toolbarCommandState(t.value,o.value);return {value:a.value??null,enabled:a.enabled,disabledReason:a.disabledReason}},yg);return e==="image.wrap"?{execute:l=>editor.runToolbarCommand(t.value,"image.wrap",l),value:vue.computed(()=>r.value.value??null),options:vue.computed(()=>editor.IMAGE_WRAP_TARGETS),isEnabled:vue.computed(()=>r.value.enabled),disabledReason:vue.computed(()=>r.value.disabledReason)}:{execute:l=>editor.runToolbarCommand(t.value,"image.altText",l),value:vue.computed(()=>r.value.value),options:vue.computed(()=>[]),isEnabled:vue.computed(()=>r.value.enabled),disabledReason:vue.computed(()=>r.value.disabledReason)}}var Ml=[{value:"inline",labelKey:"imageWrap.menu.inLineWithText",iconName:"wrap_text"},{value:"square",labelKey:"imageWrap.square",iconName:"crop_square"},{value:"squareLeft",labelKey:"imageWrap.menu.squareLeft",iconName:"format_image_left"},{value:"squareRight",labelKey:"imageWrap.menu.squareRight",iconName:"format_image_right"},{value:"tight",labelKey:"imageWrap.tight",iconName:"wrap_text"},{value:"through",labelKey:"imageWrap.through",iconName:"wrap_text"},{value:"topAndBottom",labelKey:"imageWrap.topAndBottom",iconName:"vertical_align_center"},{value:"behind",labelKey:"imageWrap.behindText",iconName:"flip_to_back"},{value:"inFront",labelKey:"imageWrap.inFrontOfText",iconName:"flip_to_front"}],Sr=vue.defineComponent({name:"ImageWrap",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{t:o}=D(),n=K(),r=jo("image.wrap"),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null),d=te("image-wrap"),u=vue.computed(()=>Ml.find(v=>v.value===r.value.value)??Ml[0]),p=V("image.wrap"),s=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(l,(v,y,g)=>{if(!v)return;let h=b=>{let T=a.value;T&&b.target instanceof Node&&T.contains(b.target)||(l.value=false);},f=b=>{b.key==="Escape"&&(b.preventDefault(),l.value=false,i.value?.focus());};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",f),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",f);});});let c=v=>{l.value=false,r.execute(v);};return ()=>{if(e.hidden)return null;let v=o("imageWrap.tooltipPrefix",{label:o(u.value.labelKey)}),y={type:"button",ref:i,class:`docx-toolbar__button docx-toolbar__image-wrap-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.wrap",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":l.value,"aria-controls":l.value?d:void 0,"aria-label":s,title:r.disabledReason.value??v,onMousedown:I,onClick:()=>{l.value=!l.value;}};return jsxRuntime.jsxs("div",{ref:a,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(H,{...y,children:t.default?.()}):jsxRuntime.jsx("button",{...y,children:t.default?.()??q(p?.paths)}),l.value?jsxRuntime.jsx("div",{id:d,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:g=>g.stopPropagation(),children:Ml.map(g=>jsxRuntime.jsx("button",{type:"button",role:"menuitemradio",class:"docx-toolbar__image-wrap-item","aria-checked":r.value.value===g.value,...r.value.value===g.value?{"data-active":""}:{},onMousedown:I,onClick:()=>c(g.value),children:o(g.labelKey)},g.value))}):null]})}}});Sr.docxSlot="image.wrap";var Tr=Object.assign(Sr,{docxSlot:"image.wrap"});var Pr=vue.defineComponent({name:"ImageAltText",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{t:o}=D(),n=K(),r=jo("image.altText"),l=vue.ref(false),a=vue.ref(""),i=vue.ref(null),d=vue.ref(null),u=te("image-alt");vue.watch([l,()=>r.value.value],([s,c])=>{s&&(a.value=c??"");}),vue.watch(l,(s,c,v)=>{if(!s)return;let y=h=>{let f=i.value;f&&h.target instanceof Node&&f.contains(h.target)||(l.value=false);},g=h=>{h.key==="Escape"&&(h.preventDefault(),l.value=false,d.value?.focus());};document.addEventListener("mousedown",y,true),document.addEventListener("keydown",g),v(()=>{document.removeEventListener("mousedown",y,true),document.removeEventListener("keydown",g);});});let p=()=>{r.execute(a.value),l.value=false;};return ()=>{if(e.hidden)return null;let s=V("image.altText"),c=n(s?.labelKey??"formattingBar.altText"),v={type:"button",ref:d,class:`docx-toolbar__button docx-toolbar__alt-text-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.altText",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"dialog","aria-expanded":l.value,"aria-controls":l.value?u:void 0,"aria-label":c,title:r.disabledReason.value??c,onMousedown:I,onClick:()=>{l.value=!l.value;}};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(H,{...v,children:t.default?.()}):jsxRuntime.jsx("button",{...v,children:t.default?.()??c}),l.value?jsxRuntime.jsxs("div",{id:u,role:"dialog","aria-label":o("imageAltText.panelTitle"),class:"docx-toolbar__alt-text-panel",onMousedown:y=>y.stopPropagation(),children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${u}-description`,children:o("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:`${u}-description`,class:"docx-dialog__textarea",value:a.value,onInput:y=>{a.value=y.target.value;},placeholder:o("dialogs.imageProperties.altTextPlaceholder")}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>l.value=false,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:p,children:o("common.apply")})]})]}):null]})}}});Pr.docxSlot="image.altText";var wr=Object.assign(Pr,{docxSlot:"image.altText"});function Td(e){return {get current(){return e.value}}}var Rd=e=>e.image;function Pd(e){return Array.from(e.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(t=>t.offsetParent!==null||t===document.activeElement)}function kg(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function Il(e){let t=e.position;return !t||e.kind!=="anchored"?{positionMode:"frame",horizontalPoints:"",verticalPoints:"",relativeToH:"page",relativeToV:"line"}:t.mode==="simple"?{positionMode:"simple",horizontalPoints:t.horizontalEmu!==void 0?String(at(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(at(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(at(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(at(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function _g(e,t){let o=Il(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Rr(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Oo(t);return Number.isInteger(o)?o:null}function Ig(e,t){let o=Il(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,s=u?Rr(e.horizontalPoints):t.position?.horizontalEmu,c=p?Rr(e.verticalPoints):t.position?.verticalEmu;return u&&s===null?{ok:false}:p&&c===null?{ok:false}:s===void 0||c===void 0?{ok:false}:{ok:true,value:{horizontalEmu:s,verticalEmu:c}}}let n=e.horizontalPoints!==o.horizontalPoints,r=e.verticalPoints!==o.verticalPoints,l=e.relativeToH!==o.relativeToH,a=e.relativeToV!==o.relativeToV,i=n?Rr(e.horizontalPoints):t.position?.horizontalEmu,d=r?Rr(e.verticalPoints):t.position?.verticalEmu;return n&&i===null?{ok:false}:r&&d===null?{ok:false}:{ok:true,value:{...typeof i=="number"?{horizontalEmu:i}:{},...typeof d=="number"?{verticalEmu:d}:{},...l||n||r?{relativeToH:e.relativeToH}:{},...a||n||r?{relativeToV:e.relativeToV}:{}}}}function Mr(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function kr(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var Dl=vue.defineComponent({name:"DocxEditorImagePropertiesDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},triggerRef:{type:Object,default:void 0}},setup(e){let t=M(),{t:o}=D(),n=_(Rd),r=te("image-prop-title"),l=te("image-prop-wrap"),a=te("image-prop-hyperlink"),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null);vue.watch([()=>e.open,()=>n.value?.id,()=>n.value?.widthEmu,()=>n.value?.heightEmu,t],()=>{if(!e.open){d.value=null,u.value=null,p.value=null;return}let m=n.value;if(m){if(d.value=m,t.value?.surface){let{anchor:C}=t.value.surface.state().selection;u.value={paragraphId:C.paragraphId,offset:C.offset},p.value=t.value.surface.session.packageRevision();}c.value=null,s.value={widthPoints:String(at(m.widthEmu)),heightPoints:String(at(m.heightEmu)),cropLeft:String(m.crop.left),cropTop:String(m.crop.top),cropRight:String(m.crop.right),cropBottom:String(m.crop.bottom),title:m.title,description:m.description,hyperlink:m.hyperlink??"",wrap:m.wrap,lockAspect:m.locks.changeAspect,...Il(m)};}},{flush:"post"});let v=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},y=()=>{e.onClose(),v();};vue.watch(()=>[e.open,i.value],async([m,C],E,x)=>{if(!m||!C)return;let P=false,w=null;if(x(()=>{P=true,w&&document.removeEventListener("keydown",w);}),await vue.nextTick(),P||!e.open||i.value!==C)return;let R=Pd(C);(R.find(k=>k.id==="image-prop-width"&&!k.hasAttribute("disabled"))??R.find(k=>!k.hasAttribute("disabled"))??C).focus(),w=k=>{if(k.key==="Escape"){k.preventDefault(),y();return}if(k.key!=="Tab")return;let B=Pd(C);if(B.length===0)return;let ue=document.activeElement,ce=B.findIndex(Q=>Q===ue);if(ce===-1)return;k.preventDefault();let X=k.shiftKey?(ce-1+B.length)%B.length:(ce+1)%B.length;B[X]?.focus();},document.addEventListener("keydown",w);},{flush:"post"});let g=vue.computed(()=>{let m=d.value??n.value;return !m||m.widthEmu<=0?1:m.widthEmu/m.heightEmu}),h=m=>{let C=s.value;if(!C)return;if(!C.lockAspect){s.value={...C,widthPoints:m};return}let E=kr(m);if(E===null){s.value={...C,widthPoints:m};return}let x=Math.round(E/g.value*100)/100;s.value={...C,widthPoints:m,heightPoints:String(x)};},f=m=>{let C=s.value;if(!C)return;if(!C.lockAspect){s.value={...C,heightPoints:m};return}let E=kr(m);if(E===null){s.value={...C,heightPoints:m};return}let x=Math.round(E*g.value*100)/100;s.value={...C,widthPoints:String(x),heightPoints:m};},b=()=>{let m=d.value;if(!m?.intrinsic)return;let C=m.intrinsic.pixelWidth*72/m.intrinsic.dpiX,E=m.intrinsic.pixelHeight*72/m.intrinsic.dpiY,x=s.value;x&&(s.value={...x,widthPoints:String(Math.round(C*100)/100),heightPoints:String(Math.round(E*100)/100)});},T=m=>{s.value&&(s.value={...s.value,...m});},S=()=>{let m=d.value,C=u.value,E=p.value,x=s.value;if(!t.value||!m||!x||!C||E===null)return;let P=m.canResize===false,w=m.canCrop===false,R={type:"setImageProperties",drawingNodeId:m.id,expectedPackageRevision:E,selectionParagraphId:C.paragraphId,selectionOffset:C.offset};if(!P){let X=kr(x.widthPoints),Q=kr(x.heightPoints);if(X===null||Q===null){c.value="imageProperties.errors.invalidDimensions";return}let G=Oo(X),Xe=Oo(Q);G!==m.widthEmu&&(R.widthEmu=G),Xe!==m.heightEmu&&(R.heightEmu=Xe);}if(m.canCrop&&!w){let X=Mr(x.cropLeft),Q=Mr(x.cropTop),G=Mr(x.cropRight),Xe=Mr(x.cropBottom);if(X===null||Q===null||G===null||Xe===null){c.value="imageProperties.errors.invalidCrop";return}let Ke=m.crop;(X!==Ke.left||Q!==Ke.top||G!==Ke.right||Xe!==Ke.bottom)&&(R.crop={left:X,top:Q,right:G,bottom:Xe});}x.title!==m.title&&(R.title=x.title),x.description!==m.description&&(R.description=x.description);let $=x.hyperlink.trim();if($!==(m.hyperlink??"")&&(R.hyperlink=$===""?null:$),m.canChangeWrap&&x.wrap!==m.wrap&&(R.wrap=x.wrap),m.kind==="anchored"&&m.canMove&&_g(x,m)){let X=Ig(x,m);if(!X.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(X.value,m))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(R,X.value);}if(!(R.widthEmu!==void 0||R.heightEmu!==void 0||R.title!==void 0||R.description!==void 0||R.hyperlink!==void 0||R.crop!==void 0||R.wrap!==void 0||R.horizontalEmu!==void 0||R.verticalEmu!==void 0||R.relativeToH!==void 0||R.relativeToV!==void 0)){y();return}if(!t.value.can(R).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(R).ok){c.value="imageProperties.errors.refused";return}y();};return ()=>{if(!e.open||!s.value)return null;let m=s.value,C=d.value,E=C?.canCrop===false,x=C?.canResize===false,P=C?.locks.changeAspect===true,w=C?.kind==="anchored"&&C.canMove===true,R=C?.kind==="inline",$=C?.kind==="anchored"&&C.canMove===false;return jsxRuntime.jsx("div",{class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:y,onMousedown:k=>{k.stopPropagation(),kg(k);},children:jsxRuntime.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":r,class:"docx-dialog docx-image-properties-dialog",onClick:k=>k.stopPropagation(),onMousedown:k=>k.stopPropagation(),children:[jsxRuntime.jsx("div",{id:r,class:"docx-dialog__header",children:o("dialogs.imageProperties.title")}),jsxRuntime.jsxs("div",{class:"docx-dialog__body",children:[c.value?jsxRuntime.jsx("p",{class:"docx-dialog__error",children:o(c.value)}):null,jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.dimensions")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-width",children:o("dialogs.imageProperties.widthLabel")}),jsxRuntime.jsx("input",{id:"image-prop-width",class:"docx-dialog__input",value:m.widthPoints,disabled:x,onChange:k=>h(k.target.value)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-height",children:o("dialogs.imageProperties.heightLabel")}),jsxRuntime.jsx("input",{id:"image-prop-height",class:"docx-dialog__input",value:m.heightPoints,disabled:x,onChange:k=>f(k.target.value)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("label",{class:"docx-dialog__checkbox-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:m.lockAspect,disabled:P,onChange:k=>s.value=s.value?{...s.value,lockAspect:k.target.checked}:s.value}),o("dialogs.imageProperties.lockAspectRatio")]}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__link-button",disabled:E||!C?.intrinsic,onClick:b,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),R?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,$?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,w?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m.positionMode==="frame"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-rel-h",children:o("imageProperties.relativeToHorizontal")}),jsxRuntime.jsx("select",{id:"image-pos-rel-h",class:"docx-dialog__select",value:m.relativeToH??"page",onChange:k=>s.value=s.value?{...s.value,relativeToH:k.target.value}:s.value,children:editor.DRAWING_REL_FROM_H.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`dialogs.imagePosition.relativeOptions.${k}`)},k))})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-rel-v",children:o("imageProperties.relativeToVertical")}),jsxRuntime.jsx("select",{id:"image-pos-rel-v",class:"docx-dialog__select",value:m.relativeToV??"line",onChange:k=>s.value=s.value?{...s.value,relativeToV:k.target.value}:s.value,children:editor.DRAWING_REL_FROM_V.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`dialogs.imagePosition.relativeOptions.${k}`)},k))})]})]}):null,jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-h",children:o("imageProperties.horizontalOffset")}),jsxRuntime.jsx("input",{id:"image-pos-h",class:"docx-dialog__input",value:m.horizontalPoints,onChange:k=>T({horizontalPoints:k.target.value})}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-pos-v",children:o("imageProperties.verticalOffset")}),jsxRuntime.jsx("input",{id:"image-pos-v",class:"docx-dialog__input",value:m.verticalPoints,onChange:k=>T({verticalPoints:k.target.value})}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("imageProperties.units.points")})]})]}):null]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.altText")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-title",children:o("imageAltText.title")}),jsxRuntime.jsx("input",{id:"image-prop-title",class:"docx-dialog__input",value:m.title,onChange:k=>T({title:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-prop-description",children:o("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:"image-prop-description",class:"docx-dialog__textarea",value:m.description,onChange:k=>T({description:k.target.value}),placeholder:o("dialogs.imageProperties.altTextPlaceholder")})]})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.hyperlink")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:a,children:o("hyperlinkPopup.urlLabel")}),jsxRuntime.jsx("input",{id:a,class:"docx-dialog__input docx-dialog__input--full",value:m.hyperlink,onChange:k=>T({hyperlink:k.target.value}),placeholder:o("hyperlinkPopup.urlPlaceholder")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.textWrapping")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:l,children:o("formattingBar.imageWrap")}),jsxRuntime.jsx("select",{id:l,class:"docx-dialog__select docx-dialog__input--full",value:m.wrap,disabled:C?.canChangeWrap===false,onChange:k=>T({wrap:k.target.value}),children:editor.IMAGE_WRAP_TARGETS.map(k=>jsxRuntime.jsx("option",{value:k,children:o(`imageWrap.targets.${k}`)},k))})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.crop")}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-left",children:o("imageProperties.cropLeft")}),jsxRuntime.jsx("input",{id:"image-crop-left",class:"docx-dialog__input",disabled:E,value:m.cropLeft,onChange:k=>T({cropLeft:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-top",children:o("imageProperties.cropTop")}),jsxRuntime.jsx("input",{id:"image-crop-top",class:"docx-dialog__input",disabled:E,value:m.cropTop,onChange:k=>T({cropTop:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-right",children:o("imageProperties.cropRight")}),jsxRuntime.jsx("input",{id:"image-crop-right",class:"docx-dialog__input",disabled:E,value:m.cropRight,onChange:k=>T({cropRight:k.target.value})})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:"image-crop-bottom",children:o("imageProperties.cropBottom")}),jsxRuntime.jsx("input",{id:"image-crop-bottom",class:"docx-dialog__input",disabled:E,value:m.cropBottom,onChange:k=>T({cropBottom:k.target.value})})]}),E?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.nonPictureHint")}):null]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:y,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:S,children:o("common.apply")})]})]})})}}}),_r=vue.defineComponent({name:"ImagePropertiesTrigger",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=M(),{t:n}=D(),r=_(Rd),l=vue.ref(false),a=vue.ref(null),i={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let d=o.value&&r.value?o.value.can(i):null,u=d?.ok===true,p=d&&!d.ok?d.reason:null,s=V("image.properties"),c={type:"button",ref:a,class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.properties",disabled:!u,...u?{}:{"data-disabled":""},"aria-label":n("formattingBar.imagePropertiesShortcut"),title:p??n("formattingBar.imagePropertiesShortcut"),onMousedown:I,onClick:()=>{l.value=true;}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(H,{...c,children:t.default?.()}):jsxRuntime.jsx("button",{...c,children:t.default?.()??q(s?.paths)}),jsxRuntime.jsx(Dl,{open:l.value,onClose:()=>{l.value=false;},triggerRef:Td(a)})]})}}});_r.docxSlot="image.properties";var Ir=Object.assign(_r,{docxSlot:"image.properties"});function me(e){let t=vue.defineComponent({name:`ToolbarPart_${e.replace(/\./g,"_")}`,props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(o,{slots:n}){return ()=>vue.h(Pt,{slot:e,...o},n)}});return t.docxSlot=e,t}var Md=me("history.undo"),kd=me("history.redo"),_d=me("text.bold"),Id=me("text.italic"),Dd=me("text.underline"),Nd=me("text.strike"),Ld=me("format.clear"),Fd=me("script.super"),Ad=me("script.sub"),Hd=me("alignment.left"),Od=me("alignment.center"),Bd=me("alignment.right"),Kd=me("alignment.justify"),Vd=me("list.bullet"),zd=me("list.numbered"),$d=me("list.outdent"),qd=me("list.indent"),Ud=me("table.insert"),Wd=me("review.comments"),Nr=vue.defineComponent({name:"ToolbarLink",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(e,{slots:t}){let o=M(),n=Zt(),{openAtCaret:r}=Se(),l=K(),{t:a}=D();return ()=>{if(e.hidden)return null;n.value;let i=editor.chromeProbeForSlot("text.link"),d=o.value&&i?o.value.can(i):null,u=d?.ok===true,p=i18n.localizeDisabledReason(d&&!d.ok?d.reason:null,a),s=V("text.link"),c=l(s?.labelKey??"text.link"),v={class:ke("docx-toolbar__button",e.class,e.className),"data-slot":"text.link",disabled:!u,...u?{}:{"data-disabled":""},"aria-label":c,title:p??c,onMousedown:I,onClick:()=>r()},y=e.icon??t.default?.()??q(s?.paths);return e.asChild?vue.h(H,v,t.default):vue.h("button",{type:"button",...v},y??void 0)}}});Nr.docxSlot="text.link";var Lr=vue.defineComponent({name:"ToolbarSave",props:{class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=nr(),n=K();return ()=>{if(e.hidden)return null;let r=V("file.save"),l=n(r?.labelKey??"file.save"),a=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:ke("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:a,...a?{"data-disabled":""}:{},"aria-label":l,title:l,onMousedown:I,onClick:()=>o.value.onSave?.()},[q(r?.paths)])}}});Lr.docxSlot="file.save";var no=vue.defineComponent({name:"ToolbarSeparator",props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){return ()=>vue.h("div",{role:"separator","aria-orientation":"vertical",class:ke("docx-toolbar__separator",e.class,e.className)})}});function ro(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}var Fg=e=>({zoom:e.zoom,mode:e.zoomMode}),Ag=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,Gd={type:"fixed"};function Nl(){let e=M(),t=_(Fg,Ag),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??Gd),l=vue.computed(()=>$o(t.value.zoom,"out")),a=vue.computed(()=>$o(t.value.zoom,"in"));return {zoom:vue.computed(()=>t.value.zoom),mode:r,isFit:vue.computed(()=>r.value.type==="fit"),setZoom:o,setMode:n,fitToWidth:()=>n(editor.FIT_WIDTH_ZOOM_MODE),auto:()=>n("auto"),reset:()=>{n(Gd),o(1);},zoomIn:()=>a.value!==null&&o(a.value),zoomOut:()=>l.value!==null&&o(l.value),canZoomIn:vue.computed(()=>!!e.value&&a.value!==null),canZoomOut:vue.computed(()=>!!e.value&&l.value!==null),levels:cr}}var Xo=2,Jo=3276,Yo=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],Bg=e=>e.formatting?.fontSizePt??null;function Yd(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function Xd(e,t,o){for(let n=t.length-1;n>=0;n-=1)if(t[n]<e)return t[n];return Math.max(e-1,o)}function Kg(e){let t=e.trim().replace(/pt$/i,"").trim();if(t==="")return null;let o=Number(t);if(!Number.isFinite(o))return null;let n=Math.round(o*2);return n<Xo||n>Jo?null:n}function Vg(e){(ro(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}var Qd=vue.defineComponent({name:"StepperShell",props:{slotId:{type:String,default:void 0},groupLabel:{type:String,required:true},decreaseLabel:{type:String,required:true},increaseLabel:{type:String,required:true},canDecrease:{type:Boolean,required:true},canIncrease:{type:Boolean,required:true},title:{type:String,default:void 0},className:{type:String,default:void 0}},emits:["decrease","increase"],setup(e,{emit:t,slots:o}){return ()=>jsxRuntime.jsxs("span",{class:`docx-toolbar__stepper${e.className?` ${e.className}`:""}`,...e.slotId!==void 0?{"data-slot":e.slotId}:{},role:"group","aria-label":e.groupLabel,title:e.title??e.groupLabel,children:[jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__stepper-button",disabled:!e.canDecrease,"aria-label":e.decreaseLabel,onMousedown:I,onClick:()=>t("decrease"),children:"\u2212"}),o.default?.(),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__stepper-button",disabled:!e.canIncrease,"aria-label":e.increaseLabel,onMousedown:I,onClick:()=>t("increase"),children:"+"})]})}}),Fr=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=_(Bg),n=U("font.size"),r=K(),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null),d=vue.ref(null),u=c=>{let v=t.value;if(!v)return;let y=editor.commandForSlotValue("font.size",c);y&&v.can(y).ok&&v.exec(y);},p=c=>{u(Math.min(Jo,Math.max(Xo,Math.round(c*2))));},s=c=>{l.value=false,a.value=null,d.value?.blur(),Vg(i.value);};return vue.watch(l,(c,v,y)=>{if(!c)return;let g=h=>{let f=i.value;f&&h.target instanceof Node&&f.contains(h.target)||(l.value=false,a.value=null);};document.addEventListener("mousedown",g),y(()=>document.removeEventListener("mousedown",g));}),()=>{if(e.hidden)return null;let c=n.isEnabled.value&&o.value!==null,v=o.value===null?"\u2014":String(Math.round(o.value*2)/2),y=a.value??v,g=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(a.value===null)return;let f=Kg(a.value);f!==null&&u(f);};return jsxRuntime.jsxs("span",{ref:i,class:"docx-toolbar__font-size","data-slot":"font.size",title:n.disabledReason.value??void 0,children:[jsxRuntime.jsx(Qd,{class:e.className,slotId:"font.size",groupLabel:r("fontSize.label"),decreaseLabel:r("fontSize.decrease"),increaseLabel:r("fontSize.increase"),canDecrease:c&&Math.round(o.value*2)>Xo,canIncrease:c&&Math.round(o.value*2)<Jo,onDecrease:()=>p(Xd(o.value??0,Yo,Xo/2)),onIncrease:()=>p(Yd(o.value??0,Yo,Jo/2)),children:jsxRuntime.jsx("input",{ref:d,type:"text",inputmode:"decimal",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--boxed docx-toolbar__font-size-input",value:y,disabled:!n.isEnabled.value,role:"combobox","aria-expanded":l.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),autocomplete:"off",onInput:f=>{a.value=f.target.value,l.value=true;},onFocus:f=>{f.target.select(),l.value=true;},onClick:()=>{l.value=true;},onKeydown:f=>{f.key==="Enter"?(f.preventDefault(),h(),s()):f.key==="Escape"?(f.preventDefault(),s()):(f.key==="ArrowDown"||f.key==="ArrowUp")&&(f.preventDefault(),l.value=true,o.value!==null&&p(f.key==="ArrowDown"?Xd(o.value,Yo,Xo/2):Yd(o.value,Yo,Jo/2)));},onBlur:()=>{h(),a.value=null;}})}),l.value&&n.isEnabled.value?jsxRuntime.jsx("div",{class:"docx-toolbar__menu docx-toolbar__font-size-menu",role:"listbox","aria-label":r("fontSize.listLabel"),children:Yo.map(f=>{let b=g===f;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":b,...b?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{p(f),s();},children:f},f)})}):null]})}}});Fr.docxSlot="font.size";var Ar=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=Nl(),n=K(),r=vue.ref(false),l=vue.ref(null);return vue.watch(r,(a,i,d)=>{if(!a)return;let u=p=>{let s=l.value;s&&p.target instanceof Node&&s.contains(p.target)||(r.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));}),()=>{if(e.hidden)return null;let a=`${Math.round(o.zoom.value*100)}%`,i=editor.sameZoomMode(o.mode.value,editor.AUTO_ZOOM_MODE),d=editor.sameZoomMode(o.mode.value,editor.FIT_WIDTH_ZOOM_MODE);return jsxRuntime.jsxs("span",{ref:l,class:"docx-toolbar__zoom","data-slot":"zoom.level",children:[jsxRuntime.jsx(Qd,{class:e.className,groupLabel:n("zoom.zoomLevel"),decreaseLabel:n("zoom.zoomOut"),increaseLabel:n("zoom.zoomIn"),canDecrease:o.canZoomOut.value,canIncrease:o.canZoomIn.value,onDecrease:o.zoomOut,onIncrease:o.zoomIn,children:jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--menu",disabled:!t.value,"aria-haspopup":"listbox","aria-expanded":r.value,"aria-label":n("zoom.zoomLevel"),onMousedown:I,onClick:()=>{r.value=!r.value;},children:[a,jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]})}),r.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__zoom-menu",role:"listbox","aria-label":n("zoom.zoomLevel"),children:[jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":i,...i?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":d,...d?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setMode(editor.FIT_WIDTH_ZOOM_MODE);},children:n("zoom.fitWidth")}),jsxRuntime.jsx("hr",{class:"docx-toolbar__menu-separator",role:"presentation"}),o.levels.map(u=>{let p=!o.isFit.value&&Math.abs(u-o.zoom.value)<.001;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":p,...p?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setZoom(u);},children:`${Math.round(u*100)}%`},u)})]}):null]})}}});Ar.docxSlot="zoom.level";var zg={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},$g=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??zg;return {alignment:t.alignment==="both"?"justify":t.alignment??null,spaceBeforePt:t.spaceBeforePt??null,spaceAfterPt:t.spaceAfterPt??null,lineSpacing:t.lineSpacing??null,indentLeftTwips:o&&!o.mixed.left?o.left:null,indentRightTwips:o&&!o.mixed.right?o.right:null,indentFirstLineTwips:o&&!o.mixed.firstLine?o.firstLine:null,contextualSpacing:n.contextualSpacing,keepNext:n.keepNext,keepLines:n.keepLines,widowControl:n.widowControl,pageBreakBefore:n.pageBreakBefore,tabStops:t.tabStops??null,indentUnknown:!o,disagrees:{alignment:t.disagrees?.alignment??false,spaceBeforePt:t.disagrees?.spaceBeforePt??false,spaceAfterPt:t.disagrees?.spaceAfterPt??false,lineSpacing:t.disagrees?.lineSpacing??false,tabStops:t.disagrees?.tabStops??false,indentLeft:o?.mixed.left??false,indentRight:o?.mixed.right??false,indentFirstLine:o?.mixed.firstLine??false}}},qg=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],Ug=(e,t)=>qg.every(o=>e.disagrees[o]===t.disagrees[o]),Wg=(e,t)=>e===null||t===null?e===t:e.alignment===t.alignment&&e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value&&e.indentLeftTwips===t.indentLeftTwips&&e.indentRightTwips===t.indentRightTwips&&e.indentFirstLineTwips===t.indentFirstLineTwips&&e.contextualSpacing===t.contextualSpacing&&e.keepNext===t.keepNext&&e.keepLines===t.keepLines&&e.widowControl===t.widowControl&&e.pageBreakBefore===t.pageBreakBefore&&Ug(e,t)&&e.indentUnknown===t.indentUnknown&&e.tabStops?.length===t.tabStops?.length&&(e.tabStops??[]).every((o,n)=>o.positionTwips===t.tabStops?.[n]?.positionTwips&&o.alignment===t.tabStops?.[n]?.alignment&&(o.leader??"none")===(t.tabStops?.[n]?.leader??"none")),Gg=e=>e.editable;function Fl(){let e=M(),t=_($g,Wg),o=_(Gg),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setParagraphFormat",alignment:"left"}).ok),r=l=>{if(!e.value)return false;let a={type:"setParagraphFormat",...l};return e.value.can(a).ok?e.value.exec(a).ok:false};return {format:vue.computed(()=>t.value),isEnabled:n,apply:r}}var Al=e=>Math.round(e/1440*100)/100,Hl=e=>Al(e).toLocaleString(void 0,{maximumFractionDigits:2}),tu=e=>Math.round(e*1440),ou={left:"dialogs.paragraph.tabAlignLeft",center:"dialogs.paragraph.tabAlignCenter",right:"dialogs.paragraph.tabAlignRight",decimal:"dialogs.paragraph.tabAlignDecimal",bar:"dialogs.paragraph.tabAlignBar"},jg=e=>e===null||e===0?"none":e<0?"hanging":"firstLine",Zg=(e,t)=>e==="none"?0:e==="hanging"?-Math.abs(t):Math.abs(t);function nu(e){let t=e.indentFirstLineTwips;return {alignment:e.alignment??"left",indentLeft:e.indentLeftTwips??0,indentRight:e.indentRightTwips??0,special:jg(t),specialBy:Math.abs(t??0),spaceBefore:e.spaceBeforePt??0,spaceAfter:e.spaceAfterPt??0,lineRule:e.lineSpacing?.rule??"multiple",lineValue:e.lineSpacing?.value??1.08,contextualSpacing:e.contextualSpacing===true,keepNext:e.keepNext===true,keepLines:e.keepLines===true,widowControl:e.widowControl!==false,pageBreakBefore:e.pageBreakBefore===true,tabStops:e.tabStops??[],clearedAllTabStops:false}}var Hr={contextualSpacing:false,keepNext:false,keepLines:false,widowControl:false,pageBreakBefore:false,tabStops:false,alignment:false,indentLeft:false,indentRight:false,special:false,spaceBefore:false,spaceAfter:false,lineSpacing:false};function ru(e){return {contextualSpacing:e.contextualSpacing===null,keepNext:e.keepNext===null,keepLines:e.keepLines===null,widowControl:e.widowControl===null,pageBreakBefore:e.pageBreakBefore===null,tabStops:e.disagrees.tabStops,alignment:e.disagrees.alignment,indentLeft:e.disagrees.indentLeft||e.indentUnknown,indentRight:e.disagrees.indentRight||e.indentUnknown,special:e.disagrees.indentFirstLine||e.indentUnknown,spaceBefore:e.disagrees.spaceBeforePt,spaceAfter:e.disagrees.spaceAfterPt,lineSpacing:e.disagrees.lineSpacing}}function Yg(e,t){return e===t?true:e.length!==t.length?false:e.every((o,n)=>{let r=t[n];return r!==void 0&&o.positionTwips===r.positionTwips&&o.alignment===r.alignment&&(o.leader??"none")===(r.leader??"none")})}function au(e,t,o=Hr,n=o){let r={},l=false,a=(d,u)=>{r[d]=u,l=true;},i=d=>o[d]&&!n[d];return (e.alignment!==t.alignment||i("alignment"))&&a("alignment",t.alignment),(e.indentLeft!==t.indentLeft||i("indentLeft"))&&a("indentLeftTwips",t.indentLeft),(e.indentRight!==t.indentRight||i("indentRight"))&&a("indentRightTwips",t.indentRight),(e.special!==t.special||e.specialBy!==t.specialBy||i("special"))&&a("indentFirstLineTwips",Zg(t.special,t.specialBy)),(e.spaceBefore!==t.spaceBefore||i("spaceBefore"))&&a("spaceBeforePt",t.spaceBefore),(e.spaceAfter!==t.spaceAfter||i("spaceAfter"))&&a("spaceAfterPt",t.spaceAfter),!n.lineSpacing&&(e.lineRule!==t.lineRule||e.lineValue!==t.lineValue||i("lineSpacing"))&&a("lineSpacing",{rule:t.lineRule,value:t.lineValue}),(e.contextualSpacing!==t.contextualSpacing||i("contextualSpacing"))&&a("contextualSpacing",t.contextualSpacing),(e.keepNext!==t.keepNext||i("keepNext"))&&a("keepNext",t.keepNext),(e.keepLines!==t.keepLines||i("keepLines"))&&a("keepLines",t.keepLines),(e.widowControl!==t.widowControl||i("widowControl"))&&a("widowControl",t.widowControl),(e.pageBreakBefore!==t.pageBreakBefore||i("pageBreakBefore"))&&a("pageBreakBefore",t.pageBreakBefore),(!Yg(e.tabStops,t.tabStops)||i("tabStops")&&t.clearedAllTabStops)&&a("tabStops",t.tabStops),l?r:null}function lu(e,t){return [...e.filter(n=>n.positionTwips!==t.positionTwips),t].sort((n,r)=>n.positionTwips-r.positionTwips)}function iu(e,t){if(t.key!=="Tab")return false;let o=[...e.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(a=>!a.hasAttribute("disabled")&&a.tabIndex!==-1);if(o.length===0)return false;let n=o[0],r=o[o.length-1],l=e.ownerDocument.activeElement;return t.shiftKey&&(l===n||l===e)?(r.focus(),true):!t.shiftKey&&l===r?(n.focus(),true):false}var oy={marginRight:"auto",fontSize:"12px",color:"var(--doc-danger)"},ny={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},ry={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"620px",maxWidth:"720px",width:"100%",margin:"20px",maxHeight:"90vh",display:"flex",flexDirection:"column",minHeight:0},ay={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",flexShrink:0,fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},ly={padding:"16px 20px",overflowY:"auto",minHeight:0},iy={display:"grid",gridTemplateColumns:"1fr 1fr",gap:"28px"},su={display:"flex",flexDirection:"column",gap:"14px",minWidth:0},en={fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},ze={display:"flex",alignItems:"center",gap:"12px"},Qe={width:"92px",fontSize:"13px",color:"var(--doc-text-muted)"},ut={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Ol={fontSize:"11px",color:"var(--doc-text-muted)",width:"20px"},sy={display:"flex",alignItems:"center",gap:"8px",fontSize:"13px",color:"var(--doc-text)"},dy={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",flexShrink:0},tn={padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},kt=vue.defineComponent({name:"DocxEditorParagraphDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Fl(),n=vue.ref("left"),r=vue.ref(0),l=vue.ref(0),a=vue.ref("none"),i=vue.ref(0),d=vue.ref(0),u=vue.ref(0),p=vue.ref("multiple"),s=vue.ref(1.08),c=vue.ref(false),v=vue.ref(false),y=vue.ref(false),g=vue.ref(true),h=vue.ref(false),f=vue.ref([]),b=vue.ref(false),T=vue.ref(0),S=vue.ref("left"),m=vue.ref("none"),C=vue.ref(false),E=vue.ref(null),x=vue.ref(Hr),P=vue.ref(false),w=vue.ref(Hr),R=vue.getCurrentInstance(),$=()=>document.querySelector('[role="dialog"][aria-label="'+t("dialogs.paragraph.title")+'"]'),k=vue.ref(false),B=`docx-paragraph-${R?.uid??0}`;vue.watch(()=>[e.open,o.format.value],([X,Q])=>{if(!X){C.value=false;return}if(C.value||Q===null)return;let G=nu(Q);n.value=G.alignment,r.value=G.indentLeft,l.value=G.indentRight,a.value=G.special,i.value=G.specialBy,d.value=G.spaceBefore,u.value=G.spaceAfter,p.value=G.lineRule,s.value=G.lineValue,c.value=G.contextualSpacing,v.value=G.keepNext,y.value=G.keepLines,g.value=G.widowControl,h.value=G.pageBreakBefore,f.value=G.tabStops,b.value=false,x.value=ru(Q),P.value=Q.indentUnknown,T.value=0,S.value="left",m.value="none",w.value=x.value,k.value=false,E.value=G,C.value=true,vue.nextTick(()=>$()?.focus());},{immediate:true});let ue=()=>{let X=Math.round(T.value);return X<=0?false:(x.value={...x.value,tabStops:false},f.value=lu(f.value,{positionTwips:X,alignment:S.value,...m.value!=="none"?{leader:m.value}:{}}),T.value=0,S.value="left",m.value="none",true)},ce=()=>{let X=E.value,Q=X===null?null:au(X,{alignment:n.value,indentLeft:r.value,indentRight:l.value,special:a.value,specialBy:i.value,spaceBefore:d.value,spaceAfter:u.value,lineRule:p.value,lineValue:s.value,contextualSpacing:c.value,keepNext:v.value,keepLines:y.value,widowControl:g.value,pageBreakBefore:h.value,tabStops:f.value,clearedAllTabStops:b.value},w.value,x.value);if(Q===null){e.onClose();return}if(o.apply(Q)){k.value=false,e.onClose();return}k.value=true;};return ()=>{if(!e.open)return null;let X=N=>P.value&&(N==="indentLeft"||N==="indentRight"||N==="special")?t("dialogs.paragraph.notShown"):t("dialogs.paragraph.mixed"),Q=N=>{x.value={...x.value,[N]:false};},G=(N,he,St,xe)=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${B}-${N}`,type:"number",style:ut,min:"0",step:"0.1",...N==="tabPosition"?{"data-docx-tab-entry":""}:{},value:xe&&x.value[xe]?"":Al(he),placeholder:xe&&x.value[xe]?X(xe):void 0,onInput:Oa=>{xe&&Q(xe),St(tu(Number(Oa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ol,children:t("dialogs.paragraph.unitInches")})]}),Xe=(N,he,St,xe)=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${B}-${N}`,type:"number",style:ut,min:"0",step:"1",value:x.value[xe]?"":he,placeholder:x.value[xe]?X(xe):void 0,onInput:Oa=>{Q(xe),St(Math.max(0,Number(Oa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ol,children:t("dialogs.paragraph.unitPoints")})]}),Ke=(N,he,St)=>jsxRuntime.jsxs("label",{style:sy,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:he,".indeterminate":x.value[N],onChange:xe=>{x.value={...x.value,[N]:false},St(xe.target.checked);}}),t(`dialogs.paragraph.${N}`)]}),zp=`docx-editor${(typeof document<"u"?document.querySelector(".docx-editor"):null)?.classList.contains("dark")?" dark":""}`;return jsxRuntime.jsx(vue.Teleport,{to:"body",children:jsxRuntime.jsx("div",{class:`${zp}${e.className?` ${e.className}`:""}`,style:ny,onClick:e.onClose,onKeydown:N=>{N.key==="Escape"&&e.onClose();let he=$();he&&iu(he,N)&&N.preventDefault();let St=N.target instanceof HTMLButtonElement||N.target instanceof HTMLSelectElement;if(N.key==="Enter"&&!St){let xe=N.target;if(xe instanceof HTMLElement&&xe.dataset.docxTabEntry!==void 0){ue();return}o.isEnabled.value&&ce();}},children:jsxRuntime.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":t("dialogs.paragraph.title"),tabindex:-1,style:ry,onClick:N=>N.stopPropagation(),onMousedown:N=>N.stopPropagation(),children:[jsxRuntime.jsx("div",{style:ay,children:t("dialogs.paragraph.title")}),jsxRuntime.jsx("div",{style:ly,children:jsxRuntime.jsxs("div",{style:iy,children:[jsxRuntime.jsxs("div",{style:su,children:[jsxRuntime.jsx("div",{style:en,children:t("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-alignment`,children:t("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${B}-alignment`,style:ut,value:x.value.alignment?"":n.value,onChange:N=>{Q("alignment"),n.value=N.target.value;},"aria-label":t("dialogs.paragraph.alignment"),children:[x.value.alignment?jsxRuntime.jsx("option",{value:"",children:t("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"left",children:t("dialogs.paragraph.alignLeft")}),jsxRuntime.jsx("option",{value:"center",children:t("dialogs.paragraph.alignCenter")}),jsxRuntime.jsx("option",{value:"right",children:t("dialogs.paragraph.alignRight")}),jsxRuntime.jsx("option",{value:"justify",children:t("dialogs.paragraph.alignJustify")})]})]}),jsxRuntime.jsx("div",{style:en,children:t("dialogs.paragraph.indentation")}),G("beforeText",r.value,N=>{r.value=N;},"indentLeft"),G("afterText",l.value,N=>{l.value=N;},"indentRight"),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-special`,children:t("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${B}-special`,style:ut,value:x.value.special?"":a.value,onChange:N=>{Q("special"),a.value=N.target.value;},"aria-label":t("dialogs.paragraph.special"),children:[x.value.special?jsxRuntime.jsx("option",{value:"",children:X("special")}):null,jsxRuntime.jsx("option",{value:"none",children:t("dialogs.paragraph.specialNone")}),jsxRuntime.jsx("option",{value:"firstLine",children:t("dialogs.paragraph.specialFirstLine")}),jsxRuntime.jsx("option",{value:"hanging",children:t("dialogs.paragraph.specialHanging")})]})]}),a.value!=="none"?G("by",i.value,N=>{i.value=Math.max(0,N);},"special"):null,jsxRuntime.jsx("div",{style:en,children:t("dialogs.paragraph.tabStops")}),f.value.length===0?jsxRuntime.jsx("div",{style:{fontSize:"12px",color:"var(--doc-text-muted)"},children:t(x.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):f.value.map(N=>jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("span",{style:{...Qe,color:"var(--doc-text)"},children:t("dialogs.paragraph.tabPositionLabel",{position:Hl(N.positionTwips)})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:"13px",color:"var(--doc-text-muted)"},children:t(ou[N.alignment])}),jsxRuntime.jsx("button",{type:"button",style:tn,onClick:()=>{f.value=f.value.filter(he=>he!==N);},"aria-label":t("dialogs.paragraph.tabRemoveAt",{position:Hl(N.positionTwips)}),children:t("dialogs.paragraph.tabRemove")})]},N.positionTwips)),G("tabPosition",T.value,N=>{T.value=Math.max(0,N);}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-tabAlignment`,children:t("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${B}-tabAlignment`,style:ut,value:S.value,onChange:N=>{S.value=N.target.value;},"aria-label":t("dialogs.paragraph.tabAlignment"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"left",children:t("dialogs.paragraph.tabAlignLeft")}),jsxRuntime.jsx("option",{value:"center",children:t("dialogs.paragraph.tabAlignCenter")}),jsxRuntime.jsx("option",{value:"right",children:t("dialogs.paragraph.tabAlignRight")}),jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.paragraph.tabAlignDecimal")})]})]}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-tabLeader`,children:t("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${B}-tabLeader`,style:ut,value:m.value,onChange:N=>{m.value=N.target.value;},"aria-label":t("dialogs.paragraph.tabLeader"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"none",children:t("dialogs.paragraph.tabNone")}),jsxRuntime.jsx("option",{value:"dot",children:t("dialogs.paragraph.tabLeaderDot")}),jsxRuntime.jsx("option",{value:"hyphen",children:t("dialogs.paragraph.tabLeaderHyphen")}),jsxRuntime.jsx("option",{value:"underscore",children:t("dialogs.paragraph.tabLeaderUnderscore")})]})]}),jsxRuntime.jsxs("div",{style:{...ze,justifyContent:"flex-end"},children:[jsxRuntime.jsx("button",{type:"button",style:tn,onClick:ue,children:t("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",style:tn,onClick:()=>{x.value={...x.value,tabStops:false},f.value=[];},children:t("dialogs.paragraph.tabClearAll")})]})]}),jsxRuntime.jsxs("div",{style:su,children:[jsxRuntime.jsx("div",{style:en,children:t("dialogs.paragraph.spacing")}),Xe("spaceBefore",d.value,N=>{d.value=N;},"spaceBefore"),Xe("spaceAfter",u.value,N=>{u.value=N;},"spaceAfter"),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-lineSpacing`,children:t("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${B}-lineSpacing`,style:ut,value:x.value.lineSpacing?"":p.value,onChange:N=>{let he=N.target.value;Q("lineSpacing"),p.value=he,s.value=he===E.value?.lineRule?E.value.lineValue:he==="multiple"?1.08:12;},"aria-label":t("dialogs.paragraph.lineSpacing"),children:[x.value.lineSpacing?jsxRuntime.jsx("option",{value:"",children:t("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"multiple",children:t("dialogs.paragraph.ruleMultiple")}),jsxRuntime.jsx("option",{value:"atLeast",children:t("dialogs.paragraph.ruleAtLeast")}),jsxRuntime.jsx("option",{value:"exact",children:t("dialogs.paragraph.ruleExactly")})]})]}),jsxRuntime.jsxs("div",{style:ze,children:[jsxRuntime.jsx("label",{style:Qe,for:`${B}-at`,children:t("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${B}-at`,type:"number",style:ut,disabled:x.value.lineSpacing,min:"0.01",step:p.value==="multiple"?"0.01":"1",value:x.value.lineSpacing?"":s.value,onInput:N=>{let he=N.target.value.trim();s.value=he===""?p.value==="multiple"?1.08:12:Number(he)||0;},"aria-label":t("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{style:Ol,children:p.value==="multiple"?"":t("dialogs.paragraph.unitPoints")})]}),Ke("contextualSpacing",c.value,N=>{c.value=N;}),jsxRuntime.jsx("div",{style:en,children:t("dialogs.paragraph.pagination")}),Ke("keepNext",v.value,N=>{v.value=N;}),Ke("widowControl",g.value,N=>{g.value=N;}),Ke("keepLines",y.value,N=>{y.value=N;}),Ke("pageBreakBefore",h.value,N=>{h.value=N;})]})]})}),jsxRuntime.jsxs("div",{style:dy,children:[k.value?jsxRuntime.jsx("span",{role:"alert",style:oy,children:t("dialogs.paragraph.refused")}):null,jsxRuntime.jsx("button",{type:"button",style:tn,onClick:e.onClose,children:t("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{...tn,backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",borderColor:"var(--doc-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:ce,children:t("dialogs.paragraph.ok")})]})]})})})}}});var uu=Symbol("docx.paragraphDialog"),cu=vue.defineComponent({name:"DocxEditorParagraphDialogHost",setup(e,{slots:t}){let o=vue.ref(false),n=vue.ref(null);vue.provide(uu,{open:l=>{n.value=l??(document.activeElement instanceof HTMLElement?document.activeElement:null),o.value=true;}});let r=()=>{o.value=false;let l=n.value;n.value=null,l?.isConnected&&l.focus({preventScroll:true});};return ()=>[...t.default?.()??[],vue.h(kt,{open:o.value,onClose:r})]}});function pu(){return vue.inject(uu,null)}var vy=[1,1.15,1.5,2,2.5,3],fu=10,gu=0,by=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),hy=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,Or=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=_(by,hy),n=U("list.lineSpacing"),r=U("paragraph.dialog"),l=pu(),a=K(),i=vue.ref(false),d=vue.ref(null);vue.watch(i,(s,c,v)=>{if(!s)return;let y=g=>{let h=d.value;h&&g.target instanceof Node&&h.contains(g.target)||(i.value=false);};document.addEventListener("mousedown",y),v(()=>document.removeEventListener("mousedown",y));});let u=s=>{if(i.value=false,!t.value)return;let c=editor.commandForSlotValue("list.lineSpacing",s);c&&t.value.can(c).ok&&t.value.exec(c);},p=(s,c)=>{if(i.value=false,!t.value)return;let v={type:"setParagraphSpacing",[s]:c};t.value.can(v).ok&&t.value.exec(v);};return ()=>{if(e.hidden)return null;let s=V("list.lineSpacing"),c=(o.value.spaceBeforePt??0)>0,v=(o.value.spaceAfterPt??0)>0,y=o.value.lineSpacing?.rule==="multiple"?o.value.lineSpacing?.value??null:null;return jsxRuntime.jsxs("span",{ref:d,class:"docx-toolbar__line-spacing","data-slot":"list.lineSpacing",children:[jsxRuntime.jsxs("button",{type:"button",class:`docx-toolbar__button docx-toolbar__line-spacing-trigger${e.className?` ${e.className}`:""}`,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":i.value,"aria-label":a("lineSpacing.label"),title:n.disabledReason.value??a("lineSpacing.label"),onMousedown:I,onClick:()=>{i.value=!i.value;},children:[q(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),i.value&&n.isEnabled.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__line-spacing-menu",role:"menu",children:[vy.map(g=>{let h=y===g;return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":h,...h?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>u(g),children:Number.isInteger(g*10)?g.toFixed(1):g.toFixed(2)},g)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item","data-slot":"paragraph.dialog",disabled:!r.isEnabled.value,title:r.disabledReason.value??void 0,onMousedown:I,onClick:()=>{i.value=false;let g=d.value?.querySelector(".docx-toolbar__line-spacing-trigger");l?.open(g instanceof HTMLElement?g:null);},children:a("lineSpacing.options")}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("beforePt",c?gu:fu),children:a(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("afterPt",v?gu:fu),children:a(v?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});Or.docxSlot="list.lineSpacing";var Ty=[{value:"C00000",labelKey:"colorPicker.colors.darkRed",css:"#c00000"},{value:"FF0000",labelKey:"colorPicker.colors.red",css:"#ff0000"},{value:"FFC000",labelKey:"colorPicker.colors.orange",css:"#ffc000"},{value:"FFFF00",labelKey:"colorPicker.colors.yellow",css:"#ffff00"},{value:"92D050",labelKey:"colorPicker.colors.lightGreen",css:"#92d050"},{value:"00B050",labelKey:"colorPicker.colors.green",css:"#00b050"},{value:"00B0F0",labelKey:"colorPicker.colors.lightBlue",css:"#00b0f0"},{value:"0070C0",labelKey:"colorPicker.colors.blue",css:"#0070c0"},{value:"002060",labelKey:"colorPicker.colors.darkBlue",css:"#002060"},{value:"7030A0",labelKey:"colorPicker.colors.purple",css:"#7030a0"}],yu=[{value:"yellow",labelKey:"colorPicker.colors.yellow",css:"#ffff00"},{value:"green",labelKey:"colorPicker.colors.brightGreen",css:"#00ff00"},{value:"cyan",labelKey:"colorPicker.colors.cyan",css:"#00ffff"},{value:"magenta",labelKey:"colorPicker.colors.magenta",css:"#ff00ff"},{value:"blue",labelKey:"colorPicker.colors.blue",css:"#0000ff"},{value:"red",labelKey:"colorPicker.colors.red",css:"#ff0000"},{value:"darkBlue",labelKey:"colorPicker.colors.darkBlue",css:"#000080"},{value:"darkCyan",labelKey:"colorPicker.colors.darkCyan",css:"#008080"},{value:"darkGreen",labelKey:"colorPicker.colors.darkGreen",css:"#008000"},{value:"darkMagenta",labelKey:"colorPicker.colors.darkMagenta",css:"#800080"},{value:"darkRed",labelKey:"colorPicker.colors.darkRed",css:"#800000"},{value:"darkYellow",labelKey:"colorPicker.colors.darkYellow",css:"#808000"},{value:"darkGray",labelKey:"colorPicker.colors.darkGray",css:"#808080"},{value:"lightGray",labelKey:"colorPicker.colors.lightGray",css:"#c0c0c0"},{value:"black",labelKey:"colorPicker.colors.black",css:"#000000"},{value:"white",labelKey:"colorPicker.colors.white",css:"#ffffff"}],vu=["FFFFFF","000000","E7E6E6","44546A","4472C4","ED7D31","A5A5A5","FFC000","5B9BD5","70AD47"],Kr=["colorPicker.theme.background1","colorPicker.theme.text1","colorPicker.theme.background2","colorPicker.theme.text2","colorPicker.theme.accent1","colorPicker.theme.accent2","colorPicker.theme.accent3","colorPicker.theme.accent4","colorPicker.theme.accent5","colorPicker.theme.accent6"],ct=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),Ie=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function Ey(e){let t=[0,2,4].map(n=>parseInt(e.slice(n,n+2),16)),o=(Math.max(...t)+Math.min(...t))/2/255;return o===1?[Ie(5),Ie(15),Ie(25),Ie(35),Ie(50)]:o===0?[ct(50),ct(35),ct(25),ct(15),ct(5)]:o>=.8?[Ie(10),Ie(25),Ie(50),Ie(75),Ie(90)]:[ct(80),ct(60),ct(40),Ie(25),Ie(50)]}var Py=/^[0-9A-Fa-f]{6}$/;function wy(e,t){let o="";for(let n=0;n<6;n+=2){let r=Math.round(t(parseInt(e.slice(n,n+2),16)));o+=Math.max(0,Math.min(255,r)).toString(16).padStart(2,"0");}return o.toUpperCase()}function Ry(e){let t=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16);return .299*t+.587*o+.114*n>230}var Vr=vue.defineComponent({name:"ColorSwatch",props:{value:{type:String,required:true},css:{type:String,required:true},title:{type:String,required:true},selected:{type:Boolean,required:true},apply:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__swatch",style:{backgroundColor:e.css},"aria-label":e.title,title:e.title,"data-value":e.value,...e.selected?{"data-selected":""}:{},...Ry(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:I,onClick:()=>e.apply(e.value)})}}),My=vue.defineComponent({name:"ThemeMatrix",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null},themeHexes:{type:Array,required:true}},setup(e){return ()=>{let t=e.themeHexes.map(Ey),o=[0,1,2,3,4];return jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.themeColors")}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-grid docx-toolbar__swatch-grid--theme",role:"group",children:[e.themeHexes.map((n,r)=>jsxRuntime.jsx(Vr,{value:n,css:`#${n.toLowerCase()}`,title:e.label(Kr[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,l)=>{let a=t[l][n],i=wy(r,a.apply);return jsxRuntime.jsx(Vr,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(Kr[l])}, ${e.label(a.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${l}`)}))]})]})}}}),ky=vue.defineComponent({name:"FontColorBody",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null},themeHexes:{type:Array,required:true}},setup(e){let t=vue.ref("");return ()=>{let o=Py.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(My,{...e}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.standardColors")}),jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-grid",role:"group",children:Ty.map(n=>jsxRuntime.jsx(Vr,{value:n.value,css:n.css,title:e.label(n.labelKey),selected:e.current===n.value,apply:e.apply},n.value))})]}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.customColor")}),jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-custom",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__swatch-hash","aria-hidden":"true",children:"#"}),jsxRuntime.jsx("input",{type:"text",class:"docx-toolbar__swatch-hex",value:t.value,maxlength:6,spellcheck:false,"aria-label":e.label("colorPicker.customColor"),onInput:n=>{t.value=n.target.value.replace(/[^0-9A-Fa-f]/g,"").slice(0,6);},onKeydown:n=>{n.key==="Enter"&&o&&e.apply(t.value.toUpperCase());}}),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__swatch-apply",disabled:!o,onMousedown:I,onClick:()=>e.apply(t.value.toUpperCase()),children:e.label("colorPicker.apply")})]})]})]})}}}),Kl=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=M(),o=K();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===Kr.length?n.map(a=>a.hex):vu,l=e.current?.toUpperCase()??null;return jsxRuntime.jsx(ky,{apply:e.apply,label:o,current:l,themeHexes:r})}}}),_y=yu.filter(e=>e.value!=="white"),Iy=vue.defineComponent({name:"HighlightBody",props:{apply:{type:Function,required:true},label:{type:Function,required:true},current:{type:String,default:null}},setup(e){return ()=>jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-section",children:[jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-heading",children:e.label("colorPicker.highlightColors")}),jsxRuntime.jsx("div",{class:"docx-toolbar__swatch-grid docx-toolbar__swatch-grid--highlight",role:"group",children:_y.map(t=>jsxRuntime.jsx(Vr,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function bu(e){let{slot:t,defaultValue:o,cssOf:n,clear:r,body:l}=e,a=t==="text.color",i=vue.defineComponent({name:`ToolbarColorSplit_${t.replace(/\./g,"_")}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(d){let u=M(),p=U(t),s=K(),c=vue.ref(false),v=vue.ref(o),y=vue.ref(null),g=_(b=>{if(a){let T=b.formatting?.color;return T&&T.kind==="hex"?T.value.toUpperCase():null}return b.formatting?.highlight??null}),h=vue.computed(()=>{let b=u.value?.getDocumentThemeColors()??[];return b.length===Kr.length?b.map(T=>T.hex):vu});vue.watch(c,(b,T,S)=>{if(!b)return;let m=C=>{let E=y.value;E&&C.target instanceof Node&&E.contains(C.target)||(c.value=false);};document.addEventListener("mousedown",m),S(()=>document.removeEventListener("mousedown",m));});let f=b=>{c.value=false;let T=u.value;if(!T)return;let S=editor.commandForSlotValue(t,b);S&&T.can(S).ok&&(T.exec(S),b!==r.value&&(v.value=b));};return ()=>{if(d.hidden)return null;let b=V(t),T=s(b?.labelKey??t);return jsxRuntime.jsxs("div",{ref:y,class:`docx-toolbar__colorsplit${d.className?` ${d.className}`:""}`,"data-slot":t,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__button docx-toolbar__colorsplit-main",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-label":T,title:p.disabledReason.value??T,onMousedown:I,onClick:()=>f(v.value),children:[d.icon??q(b?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:n(v.value)},"aria-hidden":"true"})]}),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__colorsplit-caret",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":c.value,"aria-label":T,title:p.disabledReason.value??T,onMousedown:I,onClick:()=>{c.value=!c.value;},children:"\u25BE"}),c.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-popup",role:"dialog","aria-label":T,onMousedown:I,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>f(r.value),children:[jsxRuntime.jsx("span",{class:`docx-toolbar__swatch-clear-chip${r.value==="none"?" docx-toolbar__swatch-clear-chip--none":""}`,"aria-hidden":"true"}),s(r.labelKey)]}),l({apply:f,label:s,current:g.value,themeHexes:h.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var Dy=new Map(yu.map(e=>[e.value,e.css])),Vl=bu({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(Kl,{apply:e.apply,current:e.current})}),zl=bu({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>Dy.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(Iy,{...e})});var Ay=["alignment.left","alignment.center","alignment.right","alignment.justify"],nn=vue.defineComponent({name:"ToolbarAlignment",props:{class:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=U("alignment.left"),o=U("alignment.center"),n=U("alignment.right"),r=U("alignment.justify"),l=K(),a=vue.ref(false),i=vue.ref(null),d=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(a.value=false);};return vue.watch(a,(u,p,s)=>{u&&(document.addEventListener("mousedown",d),s(()=>document.removeEventListener("mousedown",d)));}),()=>{if(e.hidden)return null;let u=[t,o,n,r],p=Ay.map((y,g)=>({slot:y,control:V(y),state:u[g]})),s=p.find(y=>y.state.isActive.value)??p[0],c=p.some(y=>y.state.isEnabled.value),v=l(s.control?.labelKey??s.slot);return vue.h("div",{ref:i,class:`docx-toolbar__alignment${e.class?` ${e.class}`:""}`,"data-slot":"alignment"},[vue.h("button",{type:"button",class:"docx-toolbar__button docx-toolbar__alignment-trigger",disabled:!c,...c?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":a.value,"aria-label":v,title:c?v:s.state.disabledReason.value??v,onMousedown:I,onClick:()=>{a.value=!a.value;}},[q(s.control?.paths),vue.h("span",{class:"docx-toolbar__picker-caret",ariaHidden:"true"},"\u25BE")]),a.value?vue.h("div",{class:"docx-toolbar__menu docx-toolbar__alignment-popup"},p.map(y=>{let g=l(y.control?.labelKey??y.slot);return vue.h("button",{key:y.slot,type:"button",class:"docx-toolbar__button docx-toolbar__alignment-option","data-slot":y.slot,disabled:!y.state.isEnabled.value,...y.state.isActive.value?{"data-active":""}:{},"aria-pressed":y.state.isActive.value,"aria-label":g,title:y.state.disabledReason.value??g,onMousedown:I,onClick:()=>{y.state.execute(),a.value=false;}},[q(y.control?.paths)])})):null])}}});nn.docxSlot="alignment";var $l=vue.defineComponent({name:"ToolbarAction",props:{label:{type:String,required:true},icon:{type:Object,default:void 0},active:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},disabledReason:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},class:{type:String,default:void 0},className:{type:String,default:void 0}},emits:["select"],setup(e,{emit:t,slots:o}){return ()=>{let n={type:"button",class:ke("docx-toolbar__button",e.class,e.className),disabled:e.disabled,...e.active?{"data-active":""}:{},...e.disabled?{"data-disabled":""}:{},...e.active!==void 0?{"aria-pressed":e.active}:{},"aria-label":e.label,title:e.disabled?e.disabledReason??e.label:e.label,onMousedown:I,onClick:e.disabled?void 0:()=>t("select")},r=e.icon??o.default?.();return e.asChild?vue.h(H,n,o.default):vue.h("button",n,r??void 0)}}});var By=Object.freeze([]),Ky=e=>e.formatting?.fontFamily??null,Vy=e=>e;function rn(){let e=M(),t=_(Ky),o=_(Vy),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():By),r=U("font.family"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("font.family",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}var Wy=new Map([["arial","sansSerif"],["calibri","sansSerif"],["helvetica","sansSerif"],["verdana","sansSerif"],["open sans","sansSerif"],["roboto","sansSerif"],["times new roman","serif"],["georgia","serif"],["cambria","serif"],["garamond","serif"],["courier new","monospace"],["consolas","monospace"]]),Gy=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],Tu=Symbol("FontFamilyContext");function ql(){return vue.inject(Tu,null)}var Ul=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ql(),n=K();return ()=>{if(!o)return null;let r=n(V("font.family")?.labelKey??"font.family"),l={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__font-family-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":r,title:r},a=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(H,{...l,children:a}):jsxRuntime.jsx("button",{type:"button",...l,children:a})}}});Ul.docxToolbarPart=true;var Eu=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ql(),n=K();return ()=>{if(!o||!o.open.value)return null;let r={role:"listbox",class:`docx-toolbar__menu docx-toolbar__font-family-content${e.className?` ${e.className}`:""}`,style:{position:"absolute",top:"100%",left:0,zIndex:30,minWidth:"100%",maxHeight:"300px",overflowY:"auto"}},l;return t.default?l=t.default():l=Gy.map(i=>({...i,fonts:o.options.value.filter(d=>(Wy.get(d.toLowerCase())??"other")===i.category)})).filter(i=>i.fonts.length>0).flatMap((i,d)=>{let u=[];d>0&&u.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"})),i.labelKey&&u.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-label",children:n(i.labelKey)}));for(let p of i.fonts)u.push(jsxRuntime.jsx(Pu,{value:p},p));return u}),e.asChild?jsxRuntime.jsx(H,{...r,children:l}):jsxRuntime.jsx("div",{...r,children:l})}}}),Pu=vue.defineComponent({name:"FontFamilyItem",props:{value:{type:String,required:true},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ql();return ()=>{if(!o)return null;let n=o.value.value===e.value,r={role:"option","aria-selected":n,...n?{"data-selected":""}:{},onMousedown:I,onClick:()=>{o.setValue(e.value),o.setOpen(false);},class:`docx-toolbar__font-family-item${e.className?` ${e.className}`:""}`},l=t.default?.()??[jsxRuntime.jsx("span",{style:{fontFamily:e.value},children:e.value})];return e.asChild?jsxRuntime.jsx(H,{...r,children:l}):jsxRuntime.jsxs("button",{type:"button",...r,children:[l,n?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),jy=vue.defineComponent({name:"FontFamily",props:{hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=rn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(a,i,d)=>{if(!a)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(Tu,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family",style:{position:"relative",display:"inline-block"}},i=t.default?.()??[jsxRuntime.jsx(Ul,{}),jsxRuntime.jsx(Eu,{})];return e.asChild?jsxRuntime.jsx(H,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),Wl=Object.assign(jy,{docxSlot:"font.family",Trigger:Ul,Content:Eu,Item:Pu});var Yy=/^heading ([1-9])$/;function wu(e,t){let o=e||t,n=Yy.exec(o);return n?`Heading ${n[1]}`:o}var Jy=Object.freeze([]),Qy=e=>e.formatting?.styleId??null,ev=e=>e;function an(){let e=M(),t=_(Qy),o=_(ev),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(a=>a.type==="paragraph").map(a=>({styleId:a.styleId,name:wu(a.name,a.styleId),preview:a.preview})):Jy),r=U("styles.style"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("styles.style",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}function av(e){let t=e.fontSizePt;return {...e.fontFamily?{fontFamily:e.fontFamily}:{},...t?{fontSize:`${Math.min(Math.max(t,9),20)}px`}:{},...e.bold?{fontWeight:700}:{},...e.italic?{fontStyle:"italic"}:{},...e.color?{color:`#${e.color}`}:{}}}var ku=Symbol("ParagraphStyleContext");function Gl(){return vue.inject(ku,null)}var jl=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Gl(),n=K();return ()=>{if(!o)return null;let r=V("styles.style"),l=n(r?.labelKey??"styles.style"),a={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__style-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":l,title:l},i=o.options.value.find(u=>u.styleId===o.value.value),d=t.default?.()??(o.value.value===null?[jsxRuntime.jsx("span",{children:r?.valueKey?n(r.valueKey):"\u2014"})]:[jsxRuntime.jsx("span",{children:i?.name??o.value.value})]);return e.asChild?jsxRuntime.jsx(H,{...a,children:d}):jsxRuntime.jsx("button",{type:"button",...a,children:d})}}});jl.docxToolbarPart=true;var _u=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Gl();return ()=>{if(!o||!o.open.value)return null;let n={role:"listbox",class:`docx-toolbar__menu docx-toolbar__style-content${e.className?` ${e.className}`:""}`,style:{position:"absolute",top:"100%",left:0,zIndex:30,minWidth:"100%",maxHeight:"300px",overflowY:"auto"}},r=t.default?.()??o.options.value.map(l=>jsxRuntime.jsx(Iu,{value:l.styleId},l.styleId));return e.asChild?jsxRuntime.jsx(H,{...n,children:r}):jsxRuntime.jsx("div",{...n,children:r})}}}),Iu=vue.defineComponent({name:"ParagraphStyleItem",props:{value:{type:String,required:true},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Gl();return ()=>{if(!o)return null;let n=o.value.value===e.value,r=o.options.value.find(i=>i.styleId===e.value),l={role:"option","aria-selected":n,...n?{"data-selected":""}:{},onMousedown:I,onClick:()=>{o.setValue(e.value),o.setOpen(false);},class:`docx-toolbar__style-item${e.className?` ${e.className}`:""}`},a=t.default?.()??[jsxRuntime.jsx("span",{style:r?av(r.preview):void 0,children:r?.name??e.value})];return e.asChild?jsxRuntime.jsx(H,{...l,children:a}):jsxRuntime.jsxs("button",{type:"button",...l,children:[a,n?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),lv=vue.defineComponent({name:"ParagraphStyle",props:{hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=an(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(a,i,d)=>{if(!a)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(ku,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style",style:{position:"relative",display:"inline-block"}},i=t.default?.()??[jsxRuntime.jsx(jl,{}),jsxRuntime.jsx(_u,{})];return e.asChild?jsxRuntime.jsx(H,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),Zl=Object.assign(lv,{docxSlot:"styles.style",Trigger:jl,Content:_u,Item:Iu});function Du(e,t){let o=e,n=vue.defineComponent({name:`ContentControlToggle_${t}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(r,{slots:l}){let a=U(o),i=Ve(),d=K();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=V(o),s=d(p?.labelKey??e),c={type:"button",class:`docx-toolbar__button${r.className?` ${r.className}`:""}`,"data-slot":e,disabled:!a.isEnabled.value,...a.isEnabled.value?{}:{"data-disabled":""},...u?{"data-active":""}:{},"aria-pressed":u,"aria-label":s,title:a.disabledReason.value??s,onMousedown:I,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},v=r.icon??l.default?.()??q(p?.paths);return r.asChild?vue.h(H,c,l.default):vue.h("button",c,v??void 0)}}});return n.docxSlot=o,n}var qr=Du(Te.showAll,"showAll"),Ur=Du(Te.formFill,"formFill"),ln=vue.defineComponent({name:"ToolbarContentControlInspector",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Te.inspector,n=U(o),{inspectorOpen:r,openInspector:l}=Ve(),a=K();return ()=>{if(e.hidden)return null;let i=V(o),d=a(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Te.inspector,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},...r.value?{"data-active":""}:{},"aria-pressed":r.value,"aria-label":d,title:n.disabledReason.value??d,onMousedown:I,onClick:()=>l()},p=e.icon??t.default?.()??q(i?.paths);return e.asChild?vue.h(H,u,t.default):vue.h("button",u,p??void 0)}}});ln.docxSlot=Te.inspector;var sn=vue.defineComponent({name:"ToolbarContentControlRemove",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r}=Ve(),l=K();return ()=>{if(e.hidden)return null;let a=Te.remove,i=V(a),d=l(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Te.remove,disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":d,title:n.value??d,onMousedown:I,onClick:()=>r()},p=e.icon??t.default?.()??q(i?.paths);return e.asChild?vue.h(H,u,t.default):vue.h("button",u,p??void 0)}}});sn.docxSlot=Te.remove;var Nu={[Te.showAll]:qr,[Te.formFill]:Ur,[Te.inspector]:ln,[Te.remove]:sn};function Xl(e,t){let o=M(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,l,a)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),d=o.value.on(e,i);a(d);},{immediate:true,flush:"post"});}var hv=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],Jl=Symbol("TableChromeContext");function Ou(){let e=vue.inject(Jl,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function Cv(e,t){let o=t.table,r=(e?.getSelectedTable()??null)?.blockId??"",l=o?`${r}|${o.rows}|${o.columns}|${o.rowIndex}|${o.columnIndex}`:"",a=t.selection,i=a?`${a.from&&"paraId"in a.from?a.from.paraId:""}|${a.to&&"paraId"in a.to?a.to.paraId:""}|${t.selectionCollapsed}`:"",d=e?.getTableCellSelection()??null,u=d?`${d.tableId}|${d.rows.from}-${d.rows.to}|${d.columns.from}-${d.columns.to}|${d.cellIds.join(",")}`:"";return {tableKey:l,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function Sv(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function Tv(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var Au={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function Ev(e,t){let o={};for(let n of hv){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var Ql=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=M(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(Au);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let l=_(s=>({table:s.table,editable:s.editable,editingMode:s.editingMode??"editing",headParagraphId:s.selection?.to&&"paraId"in s.selection.to?s.selection.to.paraId:s.selection?.from&&"paraId"in s.selection.from?s.selection.from.paraId:""}),Sv,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),a=()=>{let s=o.value;if(!s){r.value=Au;return}let c=Cv(s,s.snapshot());Tv(r.value,c)||(r.value=c);};vue.watch([o,l],a,{immediate:true,flush:"post"}),Xl("selectionChange",a);let i=vue.computed(()=>r.value.tableKey!==""),d=vue.computed(()=>{let s=o.value;return s?Ev(s,n.value):{}}),u=(s,c)=>{let v=o.value;if(!v)return;let{result:y,nextDraft:g}=editor.runTableChromeCommand(v,s,c,n.value);y.ok&&g&&(n.value=g);},p={visible:i,draft:vue.computed(()=>n.value),setDraft:s=>{n.value=s;},slotState:s=>d.value[s]??{enabled:false,disabledReason:"editor is not ready"},apply:u};return vue.provide(Jl,p),()=>t.default?.()}});function Pv(){let e=vue.inject(Jl,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function ei(e){let t=Pv(),o=vue.computed(()=>t.slotState(e));return {visible:t.visible,enabled:vue.computed(()=>o.value.enabled),disabledReason:vue.computed(()=>o.value.disabledReason),draft:t.draft,apply:n=>t.apply(e,n)}}var wv='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function pt(e){return [...e.querySelectorAll(wv)].filter(t=>t.closest('[role="menu"]')===e)}function ti(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function De(e,t,o){if(e.length===0)return false;let n=t?e.indexOf(t):-1,r=n===-1?o>0?0:e.length-1:(n+o+e.length)%e.length;return e[r]?.focus(),true}function Ne(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}function ni(e){(ro(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function ri(e,t,o){vue.watch(e,(n,r,l)=>{if(!n)return;let a=i=>{let d=o.value;d&&i.target instanceof Node&&d.contains(i.target)||t(false);};document.addEventListener("mousedown",a),l(()=>document.removeEventListener("mousedown",a));});}function Wr({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=D(),r=i18n.localizeDisabledReason(t,n),l=te("table-chrome-reason"),a=!e&&r?l:void 0;return {reasonId:l,shared:{type:"button",onMousedown:I,"aria-label":o,...a?{"aria-describedby":a}:{},...r?{title:r}:{},...e?{}:{"data-disabled":"","aria-disabled":true}},reasonNode:a&&r?vue.h("span",{id:l,class:"docx-editor-sr-only"},r):null}}var kv='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function Ku(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(kv)].filter(c=>c.closest('[role="menu"]')===i);queueMicrotask(()=>{let c=u();(c.find(y=>y.hasAttribute("data-selected")||y.hasAttribute("data-active"))??c[0])?.focus();});let s=c=>{let v=u();if(c.key==="Escape"){c.preventDefault(),t(false),d?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),De(v,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),De(v,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ne(v,"first");return}if(c.key==="End"){c.preventDefault(),Ne(v,"last");return}if(c.key==="Enter"||c.key===" "){let y=document.activeElement;y instanceof HTMLElement&&v.includes(y)&&(c.preventDefault(),y.click());}};i.addEventListener("keydown",s),a(()=>i.removeEventListener("keydown",s));},{flush:"post"});}function Vu(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll('button:not([aria-disabled="true"])')].filter(s=>s.closest('[role="dialog"]')===i);queueMicrotask(()=>{u()[0]?.focus();});let p=s=>{if(s.key==="Escape"){s.preventDefault(),t(false),d?.focus();return}if(s.key==="Enter"||s.key===" "){let c=document.activeElement,v=u();c instanceof HTMLElement&&v.includes(c)&&(s.preventDefault(),c.click());}};i.addEventListener("keydown",p),a(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var Lv=e=>e;function ai(){let e=M(),t=K(),o=_(Lv);return vue.computed(()=>{o.value;let r=editor.toolbarCommandState(e.value,"table.borderTarget").value??editor.DEFAULT_TABLE_CHROME_DRAFT.activeTarget;return t(editor.tableChromeLabelKeyForTarget(r))})}function Ov(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function Bv(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function Kv(e){return q(editor.tableChromeIconPaths(e))}function li(e,t,o){let n=Symbol(`table-menu-${e}`),r=vue.defineComponent({name:`TableChromeRoot_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=ei(e),p=vue.ref(false),s=vue.ref(null),c=vue.ref(null),v=y=>{p.value=y;};return ri(p,v,s),vue.provide(n,{get open(){return p.value},setOpen:v,get enabled(){return u.enabled.value},get disabledReason(){return u.disabledReason.value},apply:u.apply,draft:u.draft,triggerRef:c}),()=>{if(i.hidden||!u.visible.value)return null;let y={class:`${t}${i.className?` ${i.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},g=d.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(a,{})];return i.asChild?jsxRuntime.jsx(H,{...y,ref:s,children:g}):jsxRuntime.jsx("div",{ref:s,...y,children:g})}}}),l=vue.defineComponent({name:`TableChromeTrigger_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=V(e),c=p(s?.labelKey??o);return ()=>{let{shared:v,reasonNode:y}=Wr({enabled:u.enabled,disabledReason:u.disabledReason,ariaLabel:c}),g={...v,ref:u.triggerRef,class:`docx-toolbar__button docx-table-chrome__trigger${i.className?` ${i.className}`:""}`,"aria-haspopup":"menu","aria-expanded":u.open,onClick:u.enabled?()=>u.setOpen(!u.open):void 0,...i.asChild?{tabIndex:u.enabled?0:-1,role:"button",onKeydown:Bv(u.enabled,u.open,u.setOpen)}:{}},h=d.default?.()??[q(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})];return i.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...g,children:h}),y]}):jsxRuntime.jsxs("button",{...g,children:[h,y]})}}});l.docxToolbarPart=true;let a=vue.defineComponent({name:`TableChromeContent_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=vue.ref(null);return Ku(()=>u.open&&u.enabled,u.setOpen,s,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=V(e),v=p(c?.labelKey??o),y={ref:s,role:"menu","aria-label":v,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:I};return i.asChild?jsxRuntime.jsx(H,{...y,children:d.default?.()}):jsxRuntime.jsx("div",{...y,children:d.default?.()})}}});return {Root:r,Trigger:l,Content:a,CtxKey:n}}var un=li("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),ju=vue.defineComponent({name:"TableBorderTargetItem",props:{value:{type:String,required:true},className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=vue.inject(un.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let l=r.value==="none"?false:r.value===o.draft.value.activeTarget,a={type:"button",role:"menuitemradio","aria-checked":l,"data-value":r.value,class:`docx-table-chrome__target-btn${e.className?` ${e.className}`:""}`,...l?{"data-active":""}:{},"aria-label":n(r.labelKey),title:n(r.labelKey),onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[Kv(r.icon)];return e.asChild?jsxRuntime.jsx(H,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),Zu=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(un.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(ju,{value:o.value},o.value))})})}}),Vv=vue.defineComponent({name:"ToolbarTableBorderTarget",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(un.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(un.Trigger,{}),jsxRuntime.jsx(Zu,{})]})}}),cn=Object.assign(Vv,{docxSlot:"table.borderTarget",Trigger:un.Trigger,Content:Zu,Item:ju}),uo=li("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),zu=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(uo.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let l=r.value===o.draft.value.spec.style,a={type:"button",role:"menuitemradio","aria-checked":l,...l?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[jsxRuntime.jsx("span",{class:`docx-table-line ${r.previewClass}`,"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(r.labelKey)})];return e.asChild?jsxRuntime.jsx(H,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),pn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(uo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(uo.Trigger,{}),jsxRuntime.jsx(uo.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(zu,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:uo.Trigger,Content:uo.Content,Item:zu}),co=li("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),$u=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(co.CtxKey),n=K();return ()=>{let r=Number(e.value),l=editor.TABLE_BORDER_WIDTH_OPTIONS.find(u=>u.size===r);if(!l)return null;let a=l.size===o.draft.value.spec.size,i={type:"button",role:"menuitemradio","aria-checked":a,...a?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(l.size);}},d=t.default?.()??[jsxRuntime.jsx("span",{class:"docx-table-line docx-table-line--single",style:{height:`${l.previewThickness}px`},"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(l.labelKey)})];return e.asChild?jsxRuntime.jsx(H,{...i,children:d}):jsxRuntime.jsx("button",{...i,children:d})}}}),mn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(co.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(co.Trigger,{}),jsxRuntime.jsx(co.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx($u,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:co.Trigger,Content:co.Content,Item:$u});function Yu(e,t,o){let n=o?.defaultHex??"FF0000",r=Symbol(`table-color-${e}`),l=vue.defineComponent({name:`TableColorRoot_${e}`,props:{className:String,hidden:Boolean,asChild:Boolean},setup(u,{slots:p}){let s=ei(e),c=vue.ref(false),v=vue.ref(n),y=vue.ref(null),g=vue.ref(null),h=b=>{c.value=b;},f=b=>{v.value=b;};return ri(c,h,y),vue.provide(r,{get open(){return c.value},setOpen:h,get enabled(){return s.enabled.value},get disabledReason(){return s.disabledReason.value},apply:s.apply,draft:s.draft,triggerRef:g,get lastHex(){return v.value},setLastHex:f}),()=>{if(u.hidden||!s.visible.value)return null;let b={class:`docx-toolbar__colorsplit docx-table-chrome${u.className?` ${u.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},T=p.default?.()??[jsxRuntime.jsx(a,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(d,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(H,{...b,ref:y,children:T}):jsxRuntime.jsx("div",{ref:y,...b,children:T})}}}),a=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),c=K(),v=V(e),y=c(v?.labelKey??t);return ()=>{let{shared:g,reasonNode:h}=Wr({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:y}),f=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,b={...g,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:s.enabled?()=>s.apply({kind:"hex",value:f}):void 0},T=p.default?.()??[q(v?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:Ov(f,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...b,children:T}),h]}):jsxRuntime.jsxs("button",{...b,children:[T,h]})}}});a.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),v=K()(t);return ()=>{let{shared:y,reasonNode:g}=Wr({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:v}),h={...y,ref:s.triggerRef,class:`docx-toolbar__colorsplit-caret${u.className?` ${u.className}`:""}`,"aria-haspopup":"dialog","aria-expanded":s.open,onClick:s.enabled?()=>s.setOpen(!s.open):void 0},f=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(H,{...h,children:f}),g]}):jsxRuntime.jsxs("button",{...h,children:[f,g]})}}});i.docxToolbarPart=true;let d=vue.defineComponent({name:`TableColorContent_${e}`,props:{className:String,asChild:Boolean,clearFill:{type:Boolean,required:true}},setup(u,{slots:p}){let s=vue.inject(r),c=K(),v=vue.ref(null);return Vu(()=>s.open&&s.enabled,s.setOpen,v,s.triggerRef),()=>{if(!s.open||!s.enabled)return null;let y=c(t),g=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,h={ref:v,role:"dialog","aria-label":y,class:`docx-toolbar__swatch-popup docx-table-chrome__panel${u.className?` ${u.className}`:""}`,onMousedown:I},f=p.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u.clearFill?jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>{s.setOpen(false),s.apply(null),ni(s.triggerRef.value);},children:[jsxRuntime.jsx("span",{class:"docx-toolbar__swatch-clear-chip docx-toolbar__swatch-clear-chip--none","aria-hidden":"true"}),c("table.clearCellFill")]}):null,jsxRuntime.jsx(Kl,{apply:b=>{s.setOpen(false),s.setLastHex?.(b),s.apply({kind:"hex",value:b}),ni(s.triggerRef.value);},current:g})]});return u.asChild?jsxRuntime.jsx(H,{...h,children:f}):jsxRuntime.jsx("div",{...h,children:f})}}});return {Root:l,Main:a,Trigger:i,Content:d,CtxKey:r}}var It=Yu("table.borderColor","table.borderColor",{defaultHex:"000000"}),fn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(It.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(It.Main,{}),jsxRuntime.jsx(It.Trigger,{}),jsxRuntime.jsx(It.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:It.Trigger,Content:It.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:It.Main}),Dt=Yu("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),gn=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Dt.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Dt.Main,{}),jsxRuntime.jsx(Dt.Trigger,{}),jsxRuntime.jsx(Dt.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:Dt.Trigger,Content:Dt.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:Dt.Main});var Xu=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map}},setup(e){let t=Ou();return ()=>t.value?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(no,{}),[cn,fn,pn,mn,gn].map(n=>{let r=e.overrides.get(n.docxSlot);return r?jsxRuntime.jsx(vue.Fragment,{children:r},n.docxSlot):vue.h(n,{key:n.docxSlot})})]}):null}});var Gv=e=>e.editingMode??"editing",jv=e=>e.isLoading||e.isOpening===true,si=[{mode:"editing",labelKey:"editingMode.editing",hintKey:"editingMode.editingHint",path:"M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"},{mode:"suggesting",labelKey:"editingMode.suggesting",hintKey:"editingMode.suggestingHint",path:"M240-400h122l40-40H240v40Zm0-100h222l40-40H240v40Zm0-100h322l40-40H240v40ZM80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v320h-80v-320H160v525l46-45h274v80H240L80-80Zm520-80v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T943-380L723-160H600Zm300-263-37-37 37 37ZM660-220h38l121-122-19-18-18-19-122 121v38Zm140-141-18-19 37 37-19-18Z"},{mode:"viewing",labelKey:"editingMode.viewing",hintKey:"editingMode.viewingHint",path:"M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200Z"}],Zv="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function di(e){return jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:18,height:18,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})})}var jr=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=_(Gv),n=_(jv),r=K(),{t:l}=D(),a=vue.ref(false),i=vue.ref(null),d=vue.ref(null);vue.watch(a,c=>{if(!c)return;let v=d.value?.querySelectorAll('[role="menuitemradio"]');(d.value?.querySelector('[aria-checked="true"]')??v?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(a,(c,v,y)=>{if(!c)return;let g=f=>{let b=i.value;b&&f.target instanceof Node&&b.contains(f.target)||(a.value=false);},h=f=>{f.key==="Escape"&&(f.preventDefault(),a.value=false);};document.addEventListener("mousedown",g,true),document.addEventListener("keydown",h),y(()=>{document.removeEventListener("mousedown",g,true),document.removeEventListener("keydown",h);});});let u=c=>{let v=[...d.value?.querySelectorAll('[role="menuitemradio"]')??[]],y=v.indexOf(document.activeElement),g=h=>{c.preventDefault(),v[(h+v.length)%v.length]?.focus();};c.key==="ArrowDown"?g(y+1):c.key==="ArrowUp"?g(y-1):c.key==="Home"?g(0):c.key==="End"&&g(v.length-1);},p=c=>{a.value=false,editor.runToolbarCommand(t.value,"review.editingMode",c),t.value?.focus();},s=vue.computed(()=>si.find(c=>c.mode===o.value)??si[0]);return ()=>{if(e.hidden)return null;let c=V("review.editingMode"),v=editor.toolbarCommandState(t.value,"review.editingMode"),y=i18n.localizeDisabledReason(v.disabledReason,l);return jsxRuntime.jsxs("div",{ref:i,class:`docx-toolbar__mode${e.className?` ${e.className}`:""}`,"data-slot":"review.editingMode",children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__picker","data-testid":"editing-mode-trigger","data-mode":o.value,"aria-haspopup":"menu","aria-expanded":a.value,"aria-label":r(c?.labelKey??"editingMode.label"),disabled:n.value||!v.enabled,...y?{title:y}:{},onMousedown:I,onClick:()=>{a.value=!a.value;},children:[di(s.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:r(s.value.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),a.value?jsxRuntime.jsx("div",{ref:d,class:"docx-toolbar__mode-menu",role:"menu","aria-label":r(c?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:u,children:si.map(g=>jsxRuntime.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":g.mode===o.value,class:"docx-toolbar__mode-item","data-testid":`editing-mode-${g.mode}`,onMousedown:I,onClick:()=>p(g.mode),children:[di(g.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:r(g.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:r(g.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:g.mode===o.value?di(Zv):null})]},g.mode))}):null]})}}});jr.docxSlot="review.editingMode";var oc=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],nc={"zoom.level":Ar,"styles.style":Zl,"font.family":Wl,"font.size":Fr,"text.color":Vl,"text.highlight":zl,"text.link":Nr,"list.lineSpacing":Or,"review.editingMode":jr,"file.save":Lr,...Nu,"table.borderTarget":cn,"table.borderColor":fn,"table.borderStyle":pn,"table.borderWidth":mn,"table.cellFill":gn,"image.insert":dr,"image.wrap":Tr,"image.altText":wr},ec=new Map;function Qv(e){let t=ec.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h(Pt,{slot:e,hidden:o.hidden})}}),ec.set(e,t)),t}function eb(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:nn}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:nc[n]??Qv(n)}})})}var tb=e=>e.image,ob=e=>e.isLoading||e.isOpening===true;function nb(e){return e==="alignment"||e in nc}function ci(e){let t=br(e,ci);if(t!==null)return t;let o=hr(e);if(o)return o;let n=e.type;if(typeof n=="object"&&n!==null&&"docxToolbarPart"in n){let r=e.props?.slot;if(typeof r=="string")return r}return null}function rb(e){return e?!!e.props?.hidden:false}function rc(e){for(let t of e){let o=ci(t);if(o!=null&&oc.includes(o))return true;if(t.children){let n=pe(t.children);if(rc(n))return true}}return false}var ab=vue.defineComponent({name:"DocxEditorToolbar",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},onSave:{type:Function,default:void 0},preset:{type:Boolean,default:true},overflow:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Re();vue.provide(or,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=K(),r=_(tb),l=_(ob),a=vue.computed(()=>eb(r.value)),i=vue.computed(()=>new Set(a.value.flatMap(v=>v.entries.map(y=>y.slot)))),d=vue.computed(()=>a.value.map(v=>v.id).filter(v=>!xl.has(v))),u=vue.computed(()=>ad(d.value)),p=vue.computed(()=>e.preset&&e.overflow),{attach:s,overflow:c}=gd(()=>p.value,()=>d.value,()=>u.value);return ()=>{let v=pe(t.default?.()),y;if(!e.preset)y=v;else {let f=new Map,b=new Map,T=[];for(let x of v){let P=ci(x);P&&i.value.has(P)?f.set(P,x):P&&oc.includes(P)?b.set(P,x):T.push(x);}let S=x=>{let P=f.get(x.slot);return P||vue.h(x.Part)},m=[],C=[],E=0;for(let x of a.value){if(c.value.has(x.id)){let w=x.entries.flatMap(R=>{let $=f.get(R.slot);if(rb($))return [];let k=$||nb(R.slot)?jsxRuntime.jsx(bd,{label:lb(n,R,x.labelKey),children:S(R)}):jsxRuntime.jsx(hd,{slot:R.slot});return [jsxRuntime.jsx(vue.Fragment,{children:k},R.slot)]});if(w.length===0)continue;C.push({id:x.id,labelKey:x.labelKey,children:w});continue}E>0&&m.push(vue.h(no,{key:`separator-${x.id}`})),E+=1;let P=xl.has(x.id);m.push(vue.h("div",{key:x.id,class:"docx-toolbar__group",...P?{[Wo]:""}:{[Uo]:x.id}},x.entries.map(w=>vue.h(vue.Fragment,{key:w.slot},[S(w)]))));}y=[...m,vue.h(Xu,{overrides:b}),...T.length>0?[vue.h("div",{class:"docx-toolbar__group",[Wo]:""},T)]:[],...C.length>0?[vue.h(xd,{sections:C})]:[]];}let h=e.preset||rc(v)?vue.h(Ql,null,{default:()=>Array.isArray(y)?y:[y]}):y;return vue.h("fieldset",{ref:f=>s(f),disabled:l.value,role:"toolbar","data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...p.value?{"data-overflow":""}:{},onMousedown:I},[vue.h(cu,null,{default:()=>[h]})])}}});function lb(e,t,o){let n=t.slot==="alignment"?null:V(t.slot);return e(n?.labelKey??o)}var yn=Object.assign(ab,{Button:Pt,Action:$l,Separator:no,Undo:Md,Redo:kd,Bold:_d,Italic:Id,Underline:Dd,Strike:Nd,Link:Nr,ClearFormatting:Ld,Superscript:Fd,Subscript:Ad,Alignment:nn,AlignLeft:Hd,AlignCenter:Od,AlignRight:Bd,AlignJustify:Kd,LineSpacing:Or,BulletList:Vd,NumberedList:zd,Outdent:$d,Indent:qd,ImageInsert:dr,ImageWrap:Tr,ImageAltText:wr,ImageProperties:Ir,TableInsert:Ud,TableBorderTarget:cn,TableBorderColor:fn,TableBorderStyle:pn,TableBorderWidth:mn,TableCellFill:gn,Comments:Wd,FontFamily:Wl,FontSize:Fr,FontColor:Vl,Highlight:zl,Zoom:Ar,StylePicker:Zl,EditingMode:jr,Save:Lr,ContentControlShowAll:qr,ContentControlFormFill:Ur,ContentControlInspector:ln,ContentControlRemove:sn});var ib=e=>e.pageSetup??null,sb=e=>e.editable;function Nt(){let e=M(),t=_(ib),o=_(sb),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setPageSetup",marginTop:0}).ok),r=l=>e.value?e.value.exec({...l.pageWidthTwips!==void 0?{pageWidth:l.pageWidthTwips}:{},...l.pageHeightTwips!==void 0?{pageHeight:l.pageHeightTwips}:{},...l.orientation!==void 0?{orientation:l.orientation}:{},...l.marginTopTwips!==void 0?{marginTop:l.marginTopTwips}:{},...l.marginRightTwips!==void 0?{marginRight:l.marginRightTwips}:{},...l.marginBottomTwips!==void 0?{marginBottom:l.marginBottomTwips}:{},...l.marginLeftTwips!==void 0?{marginLeft:l.marginLeftTwips}:{},...l.scope!==void 0?{scope:l.scope}:{},type:"setPageSetup"}).ok:false;return {pageSetup:vue.computed(()=>t.value),isEnabled:n,apply:r}}var pi=[{labelKey:"dialogs.pageSetup.pageSizes.letter",width:12240,height:15840},{labelKey:"dialogs.pageSetup.pageSizes.a4",width:11906,height:16838},{labelKey:"dialogs.pageSetup.pageSizes.legal",width:12240,height:20160},{labelKey:"dialogs.pageSetup.pageSizes.a3",width:16838,height:23811},{labelKey:"dialogs.pageSetup.pageSizes.a5",width:8391,height:11906},{labelKey:"dialogs.pageSetup.pageSizes.b5",width:9979,height:14175},{labelKey:"dialogs.pageSetup.pageSizes.executive",width:10440,height:15120}],dc=1440,ic=12240,sc=15840,gt=1440,ub=e=>Math.round(e/dc*100)/100,cb=e=>Math.round(e*dc);function pb(e,t){let o=Math.min(e,t),n=Math.max(e,t);return pi.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var mb={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},fb={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"400px",maxWidth:"480px",width:"100%",margin:"20px"},vn=vue.defineComponent({name:"DocxEditorPageSetupDialog",props:{open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Nt(),n=vue.ref(ic),r=vue.ref(sc),l=vue.ref("portrait"),a=vue.ref(gt),i=vue.ref(gt),d=vue.ref(gt),u=vue.ref(gt),p=vue.ref("document"),s=vue.ref(null),c=vue.ref("no");vue.watch([()=>e.open,()=>o.pageSetup.value],([h])=>{if(!h){c.value="no";return}let f=o.pageSetup.value;if(c.value==="yes"&&f===null){c.value="no";return}c.value==="yes"||c.value==="loading"&&f===null||(n.value=f?.pageWidthTwips??ic,r.value=f?.pageHeightTwips??sc,l.value=f?.orientation??"portrait",a.value=f?.marginsTwips.top??gt,i.value=f?.marginsTwips.bottom??gt,d.value=f?.marginsTwips.left??gt,u.value=f?.marginsTwips.right??gt,p.value="document",c.value=f===null?"loading":"yes");},{flush:"post"}),vue.watch(()=>e.open,h=>{h&&s.value?.focus();},{flush:"post"});let v=h=>{let f=pi[h];f&&(n.value=l.value==="landscape"?f.height:f.width,r.value=l.value==="landscape"?f.width:f.height);},y=h=>{if(h===l.value)return;let f=n.value,b=r.value;l.value=h,n.value=b,r.value=f;},g=()=>{o.apply({pageWidthTwips:n.value,pageHeightTwips:r.value,orientation:l.value,marginTopTwips:a.value,marginRightTwips:u.value,marginBottomTwips:i.value,marginLeftTwips:d.value,scope:p.value})&&e.onClose();};return ()=>{if(!e.open)return null;let h=pb(n.value,r.value),f={display:"flex",alignItems:"center",gap:"12px"},b={width:"80px",fontSize:"13px",color:"var(--doc-text-muted)"},T={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},S=(m,C,E)=>jsxRuntime.jsxs("div",{style:f,children:[jsxRuntime.jsx("label",{style:b,children:t(`dialogs.pageSetup.${m}`)}),jsxRuntime.jsx("input",{type:"number",style:T,min:0,max:22,step:.1,value:ub(C),onInput:x=>E(Math.max(0,cb(Number(x.target.value)||0))),"aria-label":t(`dialogs.pageSetup.${m}`)}),jsxRuntime.jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted)",width:"16px"},children:"in"})]});return jsxRuntime.jsx("div",{class:e.className,style:mb,onClick:e.onClose,onKeydown:m=>{m.key==="Escape"&&e.onClose(),m.key==="Enter"&&g();},children:jsxRuntime.jsxs("div",{ref:s,tabindex:-1,style:fb,onClick:m=>m.stopPropagation(),onMousedown:m=>m.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":t("dialogs.pageSetup.title"),children:[jsxRuntime.jsx("div",{style:{padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},children:t("dialogs.pageSetup.title")}),jsxRuntime.jsxs("div",{style:{padding:"16px 20px",display:"flex",flexDirection:"column",gap:"14px"},children:[jsxRuntime.jsx("div",{style:{fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},children:t("dialogs.pageSetup.pageSize")}),jsxRuntime.jsxs("div",{style:f,children:[jsxRuntime.jsx("label",{style:b,children:t("dialogs.pageSetup.sizeLabel")}),jsxRuntime.jsxs("select",{style:T,value:h,onChange:m=>v(Number(m.target.value)),"aria-label":t("dialogs.pageSetup.sizeLabel"),children:[pi.map((m,C)=>jsxRuntime.jsx("option",{value:C,children:t(m.labelKey)},m.labelKey)),h<0&&jsxRuntime.jsx("option",{value:-1,children:t("dialogs.pageSetup.custom")})]})]}),jsxRuntime.jsxs("div",{style:f,children:[jsxRuntime.jsx("label",{style:b,children:t("dialogs.pageSetup.orientation")}),jsxRuntime.jsxs("select",{style:T,value:l.value,onChange:m=>y(m.target.value),"aria-label":t("dialogs.pageSetup.orientation"),children:[jsxRuntime.jsx("option",{value:"portrait",children:t("dialogs.pageSetup.portrait")}),jsxRuntime.jsx("option",{value:"landscape",children:t("dialogs.pageSetup.landscape")})]})]}),jsxRuntime.jsx("div",{style:{fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginTop:"4px"},children:t("dialogs.pageSetup.margins")}),S("top",a.value,m=>{a.value=m;}),S("bottom",i.value,m=>{i.value=m;}),S("left",d.value,m=>{d.value=m;}),S("right",u.value,m=>{u.value=m;}),jsxRuntime.jsxs("div",{style:f,children:[jsxRuntime.jsx("label",{style:b,children:t("dialogs.pageSetup.applyTo")}),jsxRuntime.jsxs("select",{style:T,value:p.value,onChange:m=>{p.value=m.target.value;},"aria-label":t("dialogs.pageSetup.applyTo"),children:[jsxRuntime.jsx("option",{value:"document",children:t("dialogs.pageSetup.applyToDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("dialogs.pageSetup.applyToSection")})]})]})]}),jsxRuntime.jsxs("div",{style:{padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",justifyContent:"flex-end",gap:"8px"},children:[jsxRuntime.jsx("button",{type:"button",style:{padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-primary)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:g,children:t("common.apply")})]})]})})}}});var bn=Symbol("MenuContext"),bb={t:void 0,openMenu:null,setOpenMenu:()=>{},activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0};function Pe(){let e=vue.inject(bn,bb);return vue.computed(()=>vue.unref(e))}function de(){let e=Pe(),{t}=D();return o=>e.value.t?.(o)??t(o)}var hb=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,xb=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var uc=new TextEncoder;function Cb(e,t){if(uc.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let l=uc.encode(r).length;if(o+l>t)break;o+=l,n+=r;}return n}function cc(e){let t=Cb((e??"").replace(/\.docx$/i,"").replace(xb," ").replace(/\s+/g," ").trim().replace(/^[.\s]+/,"").replace(/[.\s]+$/,""),200).trim();return !t||hb.test(t)?"document.docx":`${t}.docx`}function pc(e,t){let o=URL.createObjectURL(new Blob([e],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"})),n=document.createElement("a");n.href=o,n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(o),0);}var Sb="https://github.com/eigenpal/docx-editor/issues/new";function Tb(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function Eb(e={}){let t=e.userAgent??(typeof navigator<"u"?navigator.userAgent:"unknown"),o=e.viewport??(typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0}),r=["### What happened","","### Steps to reproduce","1. ","2. ","3. ","","### Expected","","### Actual","","### Attach the DOCX","Please drag the `.docx` file that reproduces this onto the issue (below this text box). Bugs are much faster to fix with a real file.","","### Environment",`- URL: ${e.pageUrl??Tb()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
+ `),l=new URLSearchParams({title:"[Bug] ",body:r});return `${Sb}?${l.toString()}`}function mc(e){typeof window>"u"||window.open(Eb(e),"_blank","noopener,noreferrer");}var mi=6,fc=6,hn=8,ot=vue.defineComponent({name:"MenuSubmenu",props:{labelKey:{type:String,required:true},paths:{type:null,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=de(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(null),a=te("menu-flyout"),i=vue.ref(null);return vue.watch(n,d=>{if(!d){i.value=null;return}let u=r.value,p=l.value,s=u?.ownerDocument.defaultView;if(!u||!p||!s)return;let c=u.getBoundingClientRect(),v=p.offsetWidth,y=p.offsetHeight,g=c.right+v>s.innerWidth-hn;i.value={left:g?Math.max(hn,c.left-v):Math.min(c.right,s.innerWidth-v-hn),top:Math.max(hn,Math.min(c.top-4,s.innerHeight-y-hn))};},{flush:"post"}),()=>{let d=o(e.labelKey);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__submenu${e.className?` ${e.className}`:""}`,onMouseenter:()=>{n.value=true;},onMouseleave:()=>{n.value=false;},onKeydown:u=>{u.key==="ArrowRight"&&document.activeElement===r.value?(u.preventDefault(),n.value=true,queueMicrotask(()=>{l.value&&Ne(pt(l.value),"first");})):(u.key==="ArrowLeft"||u.key==="Escape")&&n.value&&(u.preventDefault(),u.stopPropagation(),n.value=false,r.value?.focus());},onBlur:u=>{u.currentTarget?.contains(u.relatedTarget)||(n.value=false);},children:[jsxRuntime.jsxs("button",{ref:r,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":n.value,"aria-controls":n.value?a:void 0,class:"docx-toolbar__menu-item docx-menubar__item",tabindex:-1,...n.value?{"data-open":""}:{},onMousedown:I,onFocus:()=>{n.value=true;},onClick:()=>{n.value=true;},children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:q(e.paths)}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:d}),jsxRuntime.jsx("span",{class:"docx-menubar__item-caret","aria-hidden":"true",children:"\u203A"})]}),n.value?jsxRuntime.jsx("div",{ref:l,id:a,class:"docx-toolbar__menu docx-menubar__menu docx-menubar__submenu-panel",role:"menu","aria-label":d,style:i.value?{position:"fixed",left:O(i.value.left),top:O(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=l.value;if(!p)return;let s=pt(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),De(s,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),De(s,document.activeElement,-1));},children:t.default?.()}):null]})}}}),xn=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=M(),o=U(vue.computed(()=>e.slot??"table.insert")),n=Pe(),r=de(),l=vue.ref(null),a=vue.ref({rows:1,cols:1}),i=vue.ref(null),d=(p,s)=>{if(!t.value||!o.isEnabled.value)return;let c={type:"insertTable",rows:p,cols:s};t.value.can(c).ok&&(t.value.exec(c),n.value.setOpenMenu(null),t.value.focus());},u=p=>{let s=a.value,c={rows:Math.min(fc,Math.max(1,s.rows+(p.rows??0))),cols:Math.min(mi,Math.max(1,p.toCol??s.cols+(p.cols??0)))};a.value=c,l.value=c,queueMicrotask(()=>i.value?.querySelector(`[data-cell="${c.rows}x${c.cols}"]`)?.focus());};return ()=>{let p=[];for(let s=1;s<=fc;s+=1){let c=[];for(let v=1;v<=mi;v+=1){let y=!!l.value&&s<=l.value.rows&&v<=l.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${s}x${v}`,class:"docx-menubar__grid-cell",tabindex:a.value.rows===s&&a.value.cols===v?0:-1,...y?{"data-filled":""}:{},"aria-label":`${v} \xD7 ${s}`,onMousedown:I,onMouseenter:()=>{l.value={rows:s,cols:v};},onFocus:()=>{l.value={rows:s,cols:v};},onClick:()=>d(s,v)},v));}p.push(jsxRuntime.jsx("div",{role:"row",class:"docx-menubar__grid-row",children:c},s));}return jsxRuntime.jsxs("div",{ref:i,role:"grid",class:`docx-menubar__grid${e.className?` ${e.className}`:""}`,"aria-label":r("toolbar.insertTable"),onKeydown:s=>{if(s.key==="ArrowRight")u({cols:1});else if(s.key==="ArrowLeft")u({cols:-1});else if(s.key==="ArrowDown")u({rows:1});else if(s.key==="ArrowUp")u({rows:-1});else if(s.key==="Home")u({toCol:1});else if(s.key==="End")u({toCol:mi});else if(s.key==="Enter"||s.key===" ")s.preventDefault(),d(a.value.rows,a.value.cols);else return;s.preventDefault(),s.stopPropagation();},children:[jsxRuntime.jsx("div",{class:"docx-menubar__grid-cells",children:p}),jsxRuntime.jsx("div",{class:"docx-menubar__grid-caption","aria-hidden":"true",children:l.value?`${l.value.cols} \xD7 ${l.value.rows}`:""})]})}}}),gc=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=U(e.entry.slot),o=V(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(ot,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(xn,{slot:e.entry.slot})}):jsxRuntime.jsx(Ue,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function Le(e){return {rowSlot:e}}var ve=vue.defineComponent({name:"MenuRow",props:{icon:{type:null,default:void 0},shortcut:{type:String,default:void 0},disabled:{type:Boolean,default:void 0},title:{type:String,default:void 0},active:{type:Boolean,default:void 0},selected:{type:Boolean,default:void 0},rowSlot:{type:String,default:void 0},slot:{type:String,default:void 0},"data-slot":{type:String,default:void 0},selectHandler:{type:Function,default:void 0},onSelect:{type:Function,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=te("menu-reason");return ()=>{let{icon:n,shortcut:r,disabled:l,title:a,active:i,selected:d,className:u}=e,p=e.selectHandler??e.onSelect,s=e.rowSlot??e.slot??e["data-slot"]??void 0,c=l&&a?o:void 0;return jsxRuntime.jsxs("button",{type:"button",role:i===void 0?"menuitem":d===void 0?"menuitemcheckbox":"menuitemradio",class:`docx-toolbar__menu-item docx-menubar__item${u?` ${u}`:""}`,tabindex:-1,...s?{"data-slot":s}:{},...i?{"data-active":""}:{},...l?{"data-disabled":"","aria-disabled":true}:{},...i!==void 0?{"aria-checked":i}:{},...c?{"aria-describedby":c}:{},...a?{title:a}:{},onMousedown:I,onClick:l?void 0:p,children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:n}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:t.default?.()}),r?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:r}):null,c?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:a}):null]})}}}),Sn=vue.defineComponent({name:"MenuGroup",props:{labelKey:{type:String,default:void 0},literal:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=de();return ()=>{if(e.hidden)return null;let n=e.literal??(e.labelKey===void 0?void 0:o(e.labelKey));return jsxRuntime.jsxs("div",{role:"group",class:`docx-menubar__group${e.className?` ${e.className}`:""}`,...n?{"aria-label":n}:{},children:[n?jsxRuntime.jsx("div",{class:"docx-menubar__group-label","aria-hidden":"true",children:n}):null,t.default?.()]})}}}),Ue=vue.defineComponent({name:"MenuItem",props:{slot:{type:String,required:true},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=vue.computed(()=>e.slot),o=U(t),n=Pe(),r=de();return ()=>{if(e.hidden)return null;let{setOpenMenu:l}=n.value,a=t.value,i=V(a),d=r(e.labelKey??i?.labelKey??a),u=editor.commandForSlot(a),p=u?.type==="toggleMark"||u?.type==="setAlignment",s=u?.type==="setAlignment";return jsxRuntime.jsx(ve,{...Le(a),icon:q(i?.paths)??void 0,...e.shortcutKey?{shortcut:r(e.shortcutKey)}:{},disabled:!o.isEnabled.value,...o.disabledReason.value?{title:o.disabledReason.value}:{},...p?{active:o.isActive.value}:{},...s?{selected:true}:{},selectHandler:()=>{o.execute(),l(null);},...e.className?{className:e.className}:{},children:d})}}});Ue.docxMenuRow=true;function vc(e,t,o,n){let r=vue.defineComponent({name:`MenuAction_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(l){let a=Pe(),i=de();return ()=>{let d=a.value,u=n(d);if(l.hidden)return null;let p=V(e),s=i(t??p?.labelKey??e);return jsxRuntime.jsx(ve,{...Le(e),icon:q(p?.paths)??void 0,...o?{shortcut:i(o)}:{},disabled:!u,selectHandler:()=>{u?.(),d.setOpenMenu(null);},...l.className?{className:l.className}:{},children:s})}}});return Object.assign(r,{docxSlot:e})}var Yr=vc("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),Xr=vc("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),Db=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=Pe(),n=de();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("file.pageSetup"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,d=a&&!a.ok?a.reason:null,u=V("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),s=i&&!!r.onPageSetup;return jsxRuntime.jsx(ve,{...Le("file.pageSetup"),icon:q(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onPageSetup?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Nb=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),o=Pe(),n=de();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("paragraph.dialog"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,d=a&&!a.ok?a.reason:null,u=V("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),s=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ve,{...Le("paragraph.dialog"),icon:q(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onParagraphDialog?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Lb=Object.assign(Nb,{docxSlot:"paragraph.dialog"}),Jr=Object.assign(Db,{docxSlot:"file.pageSetup"}),Fb=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let{openFilePicker:t,isEnabled:o,disabledReason:n}=lr(),r=Pe(),l=de();return ()=>{if(e.hidden)return null;let a=r.value,i=V("image.insert"),d=l(i?.labelKey??"toolbar.image");return jsxRuntime.jsx(ve,{...Le("image.insert"),icon:q(i?.paths)??void 0,disabled:!o,...n?{title:n}:{},selectHandler:()=>{t(),a.setOpenMenu(null);},...e.className?{className:e.className}:{},children:d})}}}),Ab=Object.assign(Fb,{docxSlot:"image.insert"}),Ft=vue.defineComponent({name:"MenuSeparator",props:{className:{type:String,default:void 0}},setup(e){return ()=>jsxRuntime.jsx("div",{role:"separator",class:`docx-toolbar__menu-separator${e.className?` ${e.className}`:""}`})}}),Tn=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e){return ()=>{let t=e.entry;return t.kind==="separator"?jsxRuntime.jsx(Ft,{}):t.kind==="submenu"?jsxRuntime.jsx(ot,{labelKey:t.labelKey,paths:t.paths,children:t.items.map((o,n)=>jsxRuntime.jsx(Tn,{entry:o},n))}):t.slot==="file.open"?jsxRuntime.jsx(Yr,{}):t.slot==="file.save"?jsxRuntime.jsx(Xr,{}):t.slot==="file.pageSetup"?jsxRuntime.jsx(Jr,{}):t.slot==="paragraph.dialog"?jsxRuntime.jsx(Lb,{}):t.slot==="image.insert"?jsxRuntime.jsx(Ab,{}):t.picker==="tableGrid"?jsxRuntime.jsx(gc,{entry:t}):jsxRuntime.jsx(Ue,{slot:t.slot,...t.labelKey?{labelKey:t.labelKey}:{},...t.shortcutKey?{shortcutKey:t.shortcutKey}:{}})}}});function bc(e){if(!vue.isVNode(e))return null;let t=br(e,bc);if(t!==null)return t;let o=hr(e);if(o)return o;let n=e.type;if(typeof n=="object"&&n!==null&&n.docxMenuRow===true){let r=e.props?.slot;if(typeof r=="string")return r}return null}function Hb(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function Ob(e,t,o){return xr({entries:e??[],children:t,preset:o,keyOfEntry:Hb,keyOfChild:bc,renderEntry:n=>jsxRuntime.jsx(Tn,{entry:n})})}var mo=vue.defineComponent({name:"Menu",props:{id:{type:String,required:true},labelKey:{type:String,default:void 0},label:{type:String,default:void 0},icon:{type:null,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Pe(),n=de(),r=te("menu-panel"),l=vue.ref(null),a=vue.ref(null),i=vue.ref(false),d=vue.ref(false),u=()=>{o.value.setOpenMenu(null),l.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:s,activeMenu:c}=o.value,v=editor.CHROME_MENUS.find(f=>f.id===e.id),y=p===e.id,g=e.label??n(e.labelKey??v?.labelKey??e.id),h=Ob(v?.entries,pe(t.default?.()??[]),e.preset);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__menu-root${e.className?` ${e.className}`:""}`,"data-menu":e.id,children:[jsxRuntime.jsxs("button",{ref:l,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":y,"aria-controls":y?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...y?{"data-open":""}:{},onMousedown:I,onKeydown:f=>{f.key==="ArrowDown"||f.key==="Enter"||f.key===" "||f.key==="ArrowUp"?(f.preventDefault(),i.value=true,s(e.id)):f.key==="Escape"&&y&&(f.preventDefault(),u());},onClick:()=>{if(d.value){d.value=false;return}s(y?null:e.id);},onMouseenter:()=>{p!==null&&p!==e.id&&(d.value=true,s(e.id));},onMouseleave:()=>{d.value=false;},children:[e.icon?jsxRuntime.jsx("span",{class:"docx-menubar__trigger-icon","aria-hidden":"true",children:e.icon}):null,g]}),y?jsxRuntime.jsx("div",{ref:f=>{a.value=f,f&&i.value&&(i.value=false,Ne(pt(f),"first"));},id:r,role:"menu","aria-label":g,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:f=>{let b=a.value;if(!b)return;let T=pt(b),S=document.activeElement;f.key==="ArrowDown"?(f.preventDefault(),De(T,S,1)):f.key==="ArrowUp"?(f.preventDefault(),De(T,S,-1)):f.key==="Home"?(f.preventDefault(),Ne(T,"first")):f.key==="End"?(f.preventDefault(),Ne(T,"last")):f.key==="Escape"?(f.preventDefault(),f.stopPropagation(),u()):f.key==="Tab"&&s(null);},children:h}):null]})}}});function yi(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(mo,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var Qr=yi("file"),ea=yi("format"),ta=yi("insert"),Bb=vue.defineComponent({name:"MenuReportIssueImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},onSelect:{type:Function,default:void 0}},setup(e){let t=Pe(),o=de();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:l}=t.value;if(e.hidden||l===false)return null;let a=e.onSelect??r??mc;return jsxRuntime.jsx(ve,{...Le("help.reportIssue"),selectHandler:()=>{a(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),oa=Object.assign(Bb,{docxSlot:"help.reportIssue"}),Kb=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Pe();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(mo,{id:"help",...t,children:[jsxRuntime.jsx(oa,{}),o.default?.()]})}}}),na=Object.assign(Kb,{docxMenu:"help"});var $b={file:Qr,format:ea,insert:ta,help:na},qb=new Set(editor.CHROME_MENUS.map(e=>e.id));function Ub(e){return e!=null&&typeof e=="object"&&"type"in e}function Tc(e){if(!Ub(e))return null;if(e.type===vue.Fragment){let n=pe(e.children??[]).map(Tc).filter(r=>r!==null);return n.length===1?n[0]:null}let t=e.type;if((typeof t=="function"||typeof t=="object")&&typeof t.docxMenu=="string")return t.docxMenu;if(e.type===mo){let o=e.props?.id;if(typeof o=="string"&&qb.has(o))return o}return null}var Wb=vue.defineComponent({name:"DocxEditorMenu",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},fileName:{type:String,default:void 0},onOpen:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onOpenFile:{type:Function,default:void 0},onSave:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},onPageSetup:{type:Function,default:void 0},onReportIssue:{type:Function,default:void 0},reportIssue:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Re(),n=M(),{t:r}=D(),l=vue.ref(null),a=vue.ref(null),i=vue.ref(null),d=vue.ref(false),u=vue.ref(false),p=vue.ref(null),s=vue.ref(null),c=E=>{l.value=E,E!==null&&(i.value=E);};vue.watch(l,(E,x,P)=>{if(E===null)return;let w=$=>{let k=p.value;k&&$.target instanceof Node&&k.contains($.target)||(l.value=null);},R=$=>{$.key==="Escape"&&(l.value=null);};document.addEventListener("mousedown",w),document.addEventListener("keydown",R),P(()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",R);});});let v=()=>s.value?.click(),y=()=>{let E=n.value;E&&E.save().then(x=>pc(x,cc(e.fileName??a.value??void 0))).catch(x=>{console.error("[docx-editor] save failed",x);});},g=()=>{d.value=true;},h=()=>{u.value=true;},f=vue.computed(()=>n.value?e.openHandler??e.onOpen??v:void 0),b=vue.computed(()=>n.value?e.saveHandler??e.onSave??y:void 0),T=vue.computed(()=>n.value?e.onPageSetup??g:void 0);vue.watch(()=>[f.value,b.value],([E,x],P,w)=>{let R=$=>{if(!($.metaKey||$.ctrlKey)||$.altKey||$.shiftKey)return;let k=$.key.toLowerCase();if(k!=="s"&&k!=="o")return;let B=$.target,ue=ro(p.value)??p.value,ce=p.value;!B||!((ue?.contains(B)??false)||(ce?.contains(B)??false))||(k==="s"&&x?($.preventDefault(),x()):k==="o"&&E&&($.preventDefault(),E()));};document.addEventListener("keydown",R),w(()=>document.removeEventListener("keydown",R));},{flush:"post"});let S=vue.computed(()=>({t:e.t,openMenu:l.value,setOpenMenu:c,activeMenu:i.value,onOpen:f.value,onSave:b.value,onPageSetup:T.value,onParagraphDialog:n.value?h:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(bn,S);let m=E=>{if(p.value=E,E&&i.value===null){let x=ti(E)[0]?.closest("[data-menu]")?.getAttribute("data-menu");x&&(i.value=x);}},C=E=>{let x=E.target,P=x.files?.[0];x.value="";let w=n.value;!P||!w||(a.value=P.name,e.onOpenFile?.(P),P.arrayBuffer().then(R=>w.load(new Uint8Array(R))).catch(R=>{console.error("[docx-editor] could not open the file",R);}));};return ()=>{let E;if(e.preset===false)E=t.default?pe(t.default()):void 0;else {let x=new Map,P=[];for(let w of pe(t.default?.()??[])){let R=Tc(w);R?x.set(R,w):P.push(w);}E=[...editor.CHROME_MENUS.flatMap(w=>{let R=x.get(w.id);if(R)return [vue.h(vue.Fragment,{key:w.id},[R])];let $=$b[w.id];return [vue.h($,{key:w.id})]}),...P];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:m,role:"menubar","aria-label":e.t?.("titleBar.menuBarAriaLabel")??r("titleBar.menuBarAriaLabel"),"data-testid":"docx-menubar",class:`${o}docx-menubar${e.className?` ${e.className}`:""}`,onMousedown:I,onKeydown:x=>{if(x.key!=="ArrowLeft"&&x.key!=="ArrowRight")return;let P=p.value;if(!P)return;let w=ti(P),R=w.indexOf(document.activeElement);if(R===-1)return;x.preventDefault();let $=x.key==="ArrowRight"?1:-1,k=w[(R+$+w.length)%w.length],B=k?.closest("[data-menu]")?.getAttribute("data-menu");B&&(i.value=B,k?.focus(),l.value!==null&&(l.value=B));},children:E}),jsxRuntime.jsx("input",{ref:s,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:C}),jsxRuntime.jsx(vn,{open:d.value,onClose:()=>{d.value=false;}}),jsxRuntime.jsx(kt,{open:u.value,onClose:()=>{u.value=false;}})]})}}}),Ht=Object.assign(Wb,{Menu:mo,File:Qr,Format:ea,Insert:ta,Help:na,Item:Ue,Row:ve,Group:Sn,Separator:Ft,Submenu:ot,TableGrid:xn,Entry:Tn,Open:Yr,Save:Xr,PageSetup:Jr,ReportIssue:oa});var Qb=12240,wc=1440,kc=1440,_c=567,Ot=20,bi=6,eh=Ot+bi+2,th="var(--doc-text-muted)",oh="var(--doc-text-subtle)",Rc="var(--doc-shadow-subtle)",nh="var(--doc-primary)",rh="var(--doc-primary-hover)",ah="var(--doc-text-subtle)",wn=5,Pn=7,lh={left:0,right:0,firstLine:0};function Mc(e,t){return t==="inch"?(e/kc).toFixed(2)+'"':(e/_c).toFixed(1)+" cm"}function ih(e,t){return t?1:Math.round(e==="cm"?editor.SNAP_TWIPS_CM:editor.SNAP_TWIPS_INCH)}var xi=vue.defineComponent({name:"HorizontalRuler",props:{pageSetup:{type:null,default:null},zoom:{type:Number,default:1},editable:{type:Boolean,default:false},onLeftMarginChange:{type:Function,default:void 0},onRightMarginChange:{type:Function,default:void 0},onMarginDragEnd:{type:Function,default:void 0},showIndentHandles:{type:Boolean,default:false},indent:{type:null,default:null},indentEditable:{type:Boolean,default:false},onIndentChange:{type:Function,default:void 0},onIndentDragEnd:{type:Function,default:void 0},unit:{type:String,default:"inch"},className:{type:String,default:""},style:{type:null,default:void 0},tabMarks:{type:null,default:null},onTabMarkRemove:{type:Function,default:void 0}},setup(e){let{t}=D(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=vue.computed(()=>{let c=e.pageSetup?.pageWidthTwips??Qb,v=e.pageSetup?.marginsTwips.left??wc,y=e.pageSetup?.marginsTwips.right??wc,g=e.zoom??1;return {pageWidthTwips:c,leftMarginTwips:v,rightMarginTwips:y,gutterTwips:e.pageSetup?.gutterTwips??0,page:{pageWidth:c,leftMargin:v,rightMargin:y},current:e.indent??lh,pageWidthPx:ae(c)*g,leftMarginPx:ae(v)*g,rightMarginPx:ae(y)*g}}),d=c=>{let v=a.value?.getBoundingClientRect();return v?pr((c-v.left)/(e.zoom??1)):null},u=(c,v,y)=>{let g=d(v);if(g===null)return;let{pageWidthTwips:h,leftMarginTwips:f,rightMarginTwips:b,gutterTwips:T,page:S,current:m}=i.value;l.value=ae(g)*(e.zoom??1);let C=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let x=h-b-T-720,P=Math.round(Math.max(0,Math.min(g,x)));r.value=P,e.onLeftMarginChange?.(P);}else {let x=h-g,P=h-f-T-720,w=Math.round(Math.max(0,Math.min(x,P)));r.value=w,e.onRightMarginChange?.(w);}return}let E=editor.dragIndent(c,g,m,S,{unit:C,precise:y});r.value=c==="right"?E.right:c==="firstLine"?E.firstLine:E.left,e.onIndentChange?.(E);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,l.value=null;},s=(c,v,y)=>{let g=e.unit??"inch",{current:h,page:f}=i.value,b=editor.handlePosition(c,h,f),T=editor.dragIndent(c,b+v*ih(g,y),h,f,{unit:g,precise:true});e.onIndentChange?.(T),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,v=e.unit??"inch",{pageWidthTwips:y,page:g,current:h,pageWidthPx:f,leftMarginPx:b,rightMarginPx:T}=i.value,S=mh(y,c,v),m=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,C=x=>ae(editor.handlePosition(x,h,g))*c,E=(x,P,w)=>({positionPx:C(x),editable:m,isDragging:o.value===x,isHovered:n.value===x,onPointerEnter:()=>{n.value=x;},onPointerLeave:()=>{n.value=null;},onPointerDown:R=>{m&&(R.preventDefault(),R.stopPropagation(),R.currentTarget.setPointerCapture(R.pointerId),o.value=x);},onPointerMove:R=>{o.value===x&&u(x,R.clientX,R.altKey);},onPointerUp:R=>{o.value===x&&(R.currentTarget.releasePointerCapture(R.pointerId),p(x));},onKeyDown:R=>{m&&(R.key!=="ArrowLeft"&&R.key!=="ArrowRight"||(R.preventDefault(),s(x,R.key==="ArrowLeft"?-1:1,R.shiftKey)));},label:t(P),valueNow:w,valueText:Mc(w,v),pageWidthTwips:y});return jsxRuntime.jsxs("div",{ref:a,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:O(f),height:O(eh),backgroundColor:"transparent",overflow:"visible",userSelect:"none",touchAction:"none",cursor:o.value?"ew-resize":"default",flexShrink:0,marginInline:"auto",...e.style??{}},role:"group","aria-label":t("ruler.horizontal"),children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,width:O(b),height:O(Ot),backgroundColor:Rc,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?x=>{x.preventDefault(),x.currentTarget.setPointerCapture(x.pointerId),o.value="leftMargin";}:void 0,onPointermove:x=>o.value==="leftMargin"&&u("leftMargin",x.clientX,x.altKey),onPointerup:x=>{o.value==="leftMargin"&&(x.currentTarget.releasePointerCapture(x.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:O(T),height:O(Ot),backgroundColor:Rc,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?x=>{x.preventDefault(),x.currentTarget.setPointerCapture(x.pointerId),o.value="rightMargin";}:void 0,onPointermove:x=>o.value==="rightMargin"&&u("rightMargin",x.clientX,x.altKey),onPointerup:x=>{o.value==="rightMargin"&&(x.currentTarget.releasePointerCapture(x.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:O(Ot),pointerEvents:"none"},children:S.map((x,P)=>jsxRuntime.jsx(sh,{tick:x},P))}),e.tabMarks?.map(x=>jsxRuntime.jsx(ph,{tabMark:x,positionPx:ae(x.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(x.position)},x.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(vi,{direction:"down",anchor:"top",...E("firstLine","ruler.firstLineIndent",h.firstLine)}),jsxRuntime.jsx(vi,{direction:"up",anchor:"strip",...E("hanging","ruler.hangingIndent",h.left)}),jsxRuntime.jsx(dh,{...E("left","ruler.leftIndent",h.left)}),jsxRuntime.jsx(vi,{direction:"up",anchor:"strip",...E("right","ruler.rightIndent",h.right)})]}),o.value&&r.value!==null&&l.value!==null&&jsxRuntime.jsx(uh,{value:Mc(r.value,v),positionPx:l.value})]})}}});function sh({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:O(e.position),bottom:0,width:"1px",height:O(e.height),backgroundColor:oh}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:O(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:th,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function Ic(e){return e.editable?e.isDragging||e.isHovered?rh:nh:ah}function Dc(e,t,o){return {position:"absolute",left:O(e.positionPx-t/2),width:O(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function Nc(e){return {role:"slider","aria-label":e.label,"aria-orientation":"horizontal","aria-valuenow":e.valueNow,"aria-valuemin":-e.pageWidthTwips,"aria-valuemax":e.pageWidthTwips,"aria-valuetext":e.valueText,"aria-disabled":e.editable?void 0:true,tabIndex:e.editable?0:-1}}function vi({direction:e,anchor:t,...o}){let n=Ic(o),r=t==="top"?{top:0,height:O(Pn+1)}:{top:O(Ot-Pn),height:O(Pn)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:Dc(o,wn*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...Nc(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${wn}px solid transparent`,borderRight:`${wn}px solid transparent`,...e==="down"?{top:0,borderTop:`${Pn}px solid ${n}`}:{bottom:0,borderBottom:`${Pn}px solid ${n}`},transition:"border-color 0.1s"}})})}function dh(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:Dc(e,wn*2,{top:O(Ot+1),height:O(bi)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...Nc(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:O(wn*2-2),height:O(bi),backgroundColor:Ic(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function uh({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:O(t),top:"-22px",transform:"translateX(-50%)",backgroundColor:"var(--doc-text)",color:"var(--doc-on-primary)",fontSize:"10px",fontFamily:"sans-serif",padding:"2px 6px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20},children:e})}var ch={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function ph({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:O(t-5),top:O(Ot-12),width:"10px",height:"12px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px",fontWeight:700,color:"var(--doc-text-muted)",cursor:"pointer",userSelect:"none"},onDblclick:n=>{n.stopPropagation(),o();},title:`${e.alignment} tab at ${(e.position/1440).toFixed(2)}"`,children:ch[e.alignment]||"L"})}function mh(e,t,o){let n=[];if(o==="inch"){let r=kc/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=ae(i)*t;a%8===0?n.push({position:d,height:8,label:a/8>0?String(a/8):void 0}):a%4===0?n.push({position:d,height:5}):a%2===0?n.push({position:d,height:3}):n.push({position:d,height:2});}}else {let r=_c/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=ae(i)*t;a%10===0?n.push({position:d,height:8,label:a/10>0?String(a/10):void 0}):a%5===0?n.push({position:d,height:5}):n.push({position:d,height:3});}}return n}var Fc=15840,la=1440,yh=1440,vh=567,Si=20,bh="var(--doc-text-muted)",hh="var(--doc-text-subtle)",xh="var(--doc-primary)",Ch="var(--doc-primary)",Sh="var(--doc-primary-hover)",Ti=vue.defineComponent({name:"VerticalRuler",props:{pageSetup:{type:null,default:null},zoom:{type:Number,default:1},editable:{type:Boolean,default:false},onTopMarginChange:{type:Function,default:void 0},onBottomMarginChange:{type:Function,default:void 0},onMarginDragEnd:{type:Function,default:void 0},unit:{type:String,default:"inch"},className:{type:String,default:""},style:{type:null,default:void 0}},setup(e){let{t}=D(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=(d,u)=>{e.editable&&(d.preventDefault(),o.value=u);},a=d=>{let u=o.value,p=r.value;if(!u||!p)return;let s=e.pageSetup?.pageHeightTwips??Fc,c=e.pageSetup?.marginsTwips.top??la,v=e.pageSetup?.marginsTwips.bottom??la,y=p.getBoundingClientRect(),g=d.clientY-y.top,h=pr(g/(e.zoom??1));if(u==="topMargin"){let f=s-v-720,b=Math.max(0,Math.min(h,f));e.onTopMarginChange?.(Math.round(b));}else if(u==="bottomMargin"){let f=s-h,b=s-c-720,T=Math.max(0,Math.min(f,b));e.onBottomMarginChange?.(Math.round(T));}},i=()=>{o.value!==null&&e.onMarginDragEnd?.(),o.value=null;};return vue.watch(o,(d,u,p)=>{d&&(document.addEventListener("mousemove",a),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i);}));}),()=>{let d=e.pageSetup?.pageHeightTwips??Fc,u=e.pageSetup?.marginsTwips.top??la,p=e.pageSetup?.marginsTwips.bottom??la,s=e.zoom??1,c=ae(d)*s,v=ae(u)*s,y=ae(p)*s,g=Eh(d,s,e.unit??"inch"),h={position:"relative",width:O(Si),height:O(c),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:o.value?"ns-resize":"default",...e.style};return jsxRuntime.jsxs("div",{ref:r,class:`docx-vertical-ruler ${e.className??""}`,style:h,role:"slider","aria-label":t("ruler.vertical"),"aria-orientation":"vertical",children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:g.map((f,b)=>jsxRuntime.jsx(Th,{tick:f},b))}),jsxRuntime.jsx(Ac,{type:"topMargin",position:v,editable:e.editable??false,isDragging:o.value==="topMargin",isHovered:n.value==="topMargin",onMouseenter:()=>{n.value="topMargin";},onMouseleave:()=>{n.value=null;},onMousedown:f=>l(f,"topMargin")}),jsxRuntime.jsx(Ac,{type:"bottomMargin",position:c-y,editable:e.editable??false,isDragging:o.value==="bottomMargin",isHovered:n.value==="bottomMargin",onMouseenter:()=>{n.value="bottomMargin";},onMouseleave:()=>{n.value=null;},onMousedown:f=>l(f,"bottomMargin")})]})}}});function Th(e){let t={position:"absolute",top:O(e.tick.position),right:0,height:"1px",width:O(e.tick.width),backgroundColor:hh},o={position:"absolute",top:O(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:bh,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:t}),e.tick.label?jsxRuntime.jsx("div",{style:o,children:e.tick.label}):null]})}function Ac(e){let{t}=D(),o=e.isDragging?Sh:e.isHovered?Ch:xh,n={position:"absolute",top:O(e.position-5),right:0,width:O(Si),height:"10px",cursor:e.editable?"ns-resize":"default",zIndex:e.isDragging?10:1},r={position:"absolute",top:0,right:"2px",width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${o}`,transition:"border-right-color 0.1s"};return jsxRuntime.jsx("div",{class:`docx-ruler-marker docx-ruler-marker-${e.type}`,style:n,onMouseenter:e.onMouseenter,onMouseleave:e.onMouseleave,onMousedown:e.onMousedown,role:"slider","aria-label":e.type==="topMargin"?t("ruler.topMargin"):t("ruler.bottomMargin"),"aria-orientation":"vertical",tabindex:e.editable?0:-1,children:jsxRuntime.jsx("div",{style:r})})}function Eh(e,t,o){let n=[];if(o==="inch"){let r=yh/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=ae(i)*t;if(a%8===0){let u=a/8;n.push({position:d,width:10,label:u>0?String(u):void 0});}else a%4===0?n.push({position:d,width:6}):a%2===0?n.push({position:d,width:4}):n.push({position:d,width:2});}}else {let r=vh/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=ae(i)*t;if(a%10===0){let u=a/10;n.push({position:d,width:10,label:u>0?String(u):void 0});}else a%5===0?n.push({position:d,width:6}):n.push({position:d,width:3});}}return n}var Bt=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var wh=e=>e.formatting?.indent??null,Rh=e=>e.editable;function Ei(){let e=M(),t=_(wh),o=_(Rh),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setIndent",left:0}).ok),r=l=>e.value?e.value.exec({...l.left!==void 0?{left:l.left}:{},...l.right!==void 0?{right:l.right}:{},...l.firstLine!==void 0?{firstLine:l.firstLine}:{},type:"setIndent"}).ok:false;return {indent:vue.computed(()=>t.value),isEnabled:n,apply:r}}var Vc=e=>e.zoom,_h=e=>e.isOpening===true;function zc(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function $c(){let{apply:e}=Nt(),t=vue.ref({}),o=vue.ref({});return {pending:t,preview:l=>a=>{o.value={...o.value,[l]:Math.round(a)},t.value={...o.value};},commit:()=>{let l=o.value;o.value={},t.value={},Object.keys(l).length!==0&&e({...l.top!==void 0?{marginTopTwips:l.top}:{},...l.right!==void 0?{marginRightTwips:l.right}:{},...l.bottom!==void 0?{marginBottomTwips:l.bottom}:{},...l.left!==void 0?{marginLeftTwips:l.left}:{},scope:"section"});}}}function Ih(){let e=M(),{indent:t,isEnabled:o,apply:n}=Ei(),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=p=>{a.value===null&&(a.value=Bc(e.value)),l.value=p,r.value=p;},d=()=>{let p=l.value,s=a.value;l.value=null,a.value=null,r.value=null,p&&(s!==null&&s!==Bc(e.value)||n({left:p.left,right:p.right,firstLine:p.firstLine}));};return {indent:vue.computed(()=>r.value??(t.value?{left:t.value.left,right:t.value.right,firstLine:t.value.firstLine}:null)),isEnabled:o,preview:i,commit:d}}function Bc(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var ia=vue.defineComponent({name:"DocxEditorHorizontalRuler",props:{unit:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:null,default:void 0}},setup(e){let t=_(Bt),o=_(_h),{pageSetup:n,isEnabled:r}=Nt(),l=_(Vc),a=$c(),i=Ih(),d=Rt(),u=Qt(),p=vue.ref(0),s=Je();return vue.watch(s,(c,v,y)=>{if(!c){p.value=0;return}let g=()=>{p.value=c.scrollLeft;};g(),c.addEventListener("scroll",g,{passive:true}),y(()=>c.removeEventListener("scroll",g));},{flush:"post",immediate:true}),()=>t.value?null:jsxRuntime.jsx("div",{class:`docx-ruler-frame${o.value?" docx-ruler-frame--opening":""}`,style:{paddingInlineStart:O(d.value+u.value.inlineStart),paddingRight:O(u.value.inlineEnd)},children:jsxRuntime.jsx(xi,{pageSetup:zc(n.value,a.pending.value),zoom:l.value,editable:r.value,onLeftMarginChange:a.preview("left"),onRightMarginChange:a.preview("right"),onMarginDragEnd:a.commit,showIndentHandles:i.indent.value!==null,indent:i.indent.value,indentEditable:i.isEnabled.value,onIndentChange:i.preview,onIndentDragEnd:i.commit,unit:e.unit??"inch",className:e.className??"",style:{...e.style,transform:`${e.style?.transform?`${e.style.transform} `:""}translateX(${-p.value}px)`,clipPath:d.value>0&&p.value>0?`inset(0 0 0 ${p.value}px)`:e.style?.clipPath}})})}}),sa=vue.defineComponent({name:"DocxEditorVerticalRuler",props:{unit:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:null,default:void 0}},setup(e){let t=_(Bt),{pageSetup:o,isEnabled:n}=Nt(),r=_(Vc),l=$c(),a=Rt(),i=Qt(),d=Ws();return ()=>t.value||d.value!==null&&d.value>0&&o.value&&ae(o.value.pageWidthTwips)*r.value>d.value-a.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(Ti,{pageSetup:zc(o.value,l.pending.value),zoom:r.value,editable:n.value,onTopMarginChange:l.preview("top"),onBottomMarginChange:l.preview("bottom"),onMarginDragEnd:l.commit,unit:e.unit??"inch",className:e.className??"",style:e.style})}});var Lh=20,qc=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:Lh},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(e,{slots:t}){return ()=>vue.h("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 -960 960 960",fill:"currentColor",class:e.className,style:{display:"inline-flex",flexShrink:0,...e.style},ariaHidden:"true"},t.default?.())}});function go(e){return vue.defineComponent({name:"Icon",props:{size:{type:Number,default:20},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(t){return ()=>vue.h(qc,t,()=>vue.h("path",{d:e}))}})}var Fh=go("M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"),Ah=go("M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"),Hh=go("m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"),Oh=go("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),Bh=go("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),Kh=go("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),Vh={arrow_back:Fh,search:Ah,close:Hh,keyboard_arrow_up:Oh,keyboard_arrow_down:Bh,toc:Kh},nt=vue.defineComponent({name:"MaterialSymbol",props:{name:{type:String,required:true},size:{type:Number,default:20},className:{type:String,default:""},style:{type:Object,default:void 0}},setup(e){return ()=>{let t=Vh[e.name];return t?vue.h(t,{size:e.size,className:e.className,style:e.style}):(console.warn(`Icon not found: ${e.name}`),vue.h("span",{class:e.className,style:{fontSize:`${e.size}px`,width:`${e.size}px`,height:`${e.size}px`,...e.style}},e.name))}}});var Ri=12,wi=240,Wc=16,Uh=24,Wh=Ri+wi+Wc,Gc=12,Gh=36,jh=Gc+Gh+Wc,Mi=vue.defineComponent({name:"DocumentOutline",props:{headings:{type:Array,required:true},onHeadingClick:{type:Function,required:true},onClose:{type:Function,required:true},topOffset:{type:Number,default:0},scrollLeft:{type:Number,default:0},leftOffset:{type:Number,default:Ri}},setup(e){let{t}=D(),o=vue.ref(false);return vue.onMounted(()=>{requestAnimationFrame(()=>{o.value=true;});}),()=>{let n=e.headings.length?Math.min(...e.headings.map(r=>r.level)):0;return vue.h("nav",{class:"docx-outline-nav",role:"navigation","aria-label":t("documentOutline.ariaLabel"),style:{position:"absolute",top:`${e.topOffset}px`,left:`${e.leftOffset-e.scrollLeft}px`,bottom:0,width:`${wi}px`,paddingTop:`${Uh}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+wi}px)`,transition:"transform 0.15s ease-out"},onMousedown:r=>r.stopPropagation()},[vue.h("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"16px 16px 12px 0"}},[vue.h("button",{onClick:e.onClose,"aria-label":t("documentOutline.closeAriaLabel"),title:t("documentOutline.closeTitle"),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:"50%",display:"flex",alignItems:"center",color:"var(--doc-text-muted)"}},[vue.h(nt,{name:"arrow_back",size:20})]),vue.h("span",{style:{fontWeight:400,fontSize:"14px",color:"var(--doc-text)",letterSpacing:"0.01em"}},t("documentOutline.title"))]),vue.h("div",{style:{overflowY:"auto",flex:1,paddingLeft:"4px"}},e.headings.length===0?vue.h("div",{style:{padding:"8px 16px",color:"var(--doc-text-subtle)",fontSize:"13px",lineHeight:"20px"}},t("documentOutline.noHeadings")):e.headings.map((r,l)=>vue.h("div",{key:`${r.blockId}-${l}`,style:{marginLeft:`${(r.level-n)*16}px`}},[vue.h("button",{class:"docx-outline-heading-btn",onClick:()=>e.onHeadingClick(r.blockId),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 8px",fontSize:"13px",fontWeight:400,color:"var(--doc-text)",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:r.text},r.text)])))])}}});var Jh=e=>e,Qh=Object.freeze([]),ex=()=>{},ki=vue.defineComponent({name:"DocxEditorDocumentOutline",props:{onClose:{type:Function,default:void 0},topOffset:{type:Number,default:0},leftOffset:{type:Number,default:void 0}},setup(e){let t=M(),o=_(Jh),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():Qh),r=l=>{let a=t.value;if(!a)return;a.focus();let i={paragraphId:l,offset:0};a.exec({type:"setSelection",range:{anchor:i,head:i}}),a.scrollToBlock(l);};return ()=>Bt(o.value)?null:vue.h(Mi,{headings:n.value,onHeadingClick:r,onClose:e.onClose??ex,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var _i=Symbol("NavigationContext");function vt(e){let t=vue.inject(_i,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var ua=280,ca=32,jc=16;function Kt(e=280){return 32+e+16}function pa({viewportWidth:e,pageWidthPx:t,reservation:o,inlineEndReservation:n=0,inlineStartReservation:r=0,docked:l=false}){if(!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0||!Number.isFinite(n)||n<0||!Number.isFinite(r)||r<0)return 0;let a=(e-n-t)/2,i=a>=o?0:!l&&o<=2*a?2*(o-a):o;return Math.ceil(Math.max(0,i-r))}var rx=Object.freeze([]),ax=e=>e;function fa(){let e=M(),t=_(ax),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():rx),r=vue.computed(()=>{let a=n.value;if(a.length===0)return [];let i=a[0].level;for(let d of a)d.level<i&&(i=d.level);return a.map(d=>({heading:d,depth:d.level-i}))}),l=a=>{let i=e.value;if(!i||typeof a!="string"||a.length===0)return;e.value.focus();let d={paragraphId:a,offset:0};e.value.exec({type:"setSelection",range:{anchor:d,head:d}}),i.scrollToBlock(a),o.value=a;};return {headings:n,items:r,selectedBlockId:vue.computed(()=>o.value),goTo:l,isEmpty:vue.computed(()=>n.value.length===0)}}var Ni=150,Li=2e3,Di=Object.freeze([]),lx=e=>e;function ga(){let e=M(),t=_(lx),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),l=vue.ref(false),a=vue.ref(Di),i=vue.ref(-1);j(vue.watch([o,n],([s,c],v,y)=>{if(s===c)return;let g=setTimeout(()=>{n.value=s;},Ni);y(()=>clearTimeout(g));}));let d=vue.computed(()=>({matchCase:r.value,wholeWord:l.value}));j(vue.watch([e,n,d,t],()=>{let s=e.value,c=n.value;if(!s||c.length===0){a.value=Di,i.value=-1;return}let v=s.findMatches(c,d.value);a.value!==v&&(a.value=v);},{flush:"post"})),j(vue.watch(a,(s,c)=>{c!==s&&(i.value=i.value>=0&&i.value<s.length?i.value:-1);}));let u=s=>{let c=a.value[s];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=s);},p=s=>{if(a.value.length===0)return;let v=((i.value<0?s>0?-1:0:i.value)+s+a.value.length)%a.value.length;u(v);};return {query:vue.computed(()=>o.value),setQuery:s=>{o.value=s;},matchCase:vue.computed(()=>r.value),setMatchCase:s=>{r.value=s;},wholeWord:vue.computed(()=>l.value),setWholeWord:s=>{l.value=s;},matches:vue.computed(()=>a.value),truncated:vue.computed(()=>a.value.length>=Li),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",a.value=Di,i.value=-1;},isPending:vue.computed(()=>o.value!==n.value)}}var px=e=>{let t=e.zoomMode;return {pageSetup:e.pageSetup??null,zoom:e.zoom,reviewPaneOpen:e.reviewPaneOpen??true,fitting:t?.type==="fit"&&e.zoom<(t.maxZoom??editor.ZOOM_MAX)&&e.zoom>(t.minZoom??editor.ZOOM_MIN)}},mx=(e,t)=>e.zoom===t.zoom&&e.reviewPaneOpen===t.reviewPaneOpen&&e.fitting===t.fitting&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function ya(e={}){let t=vue.computed(()=>vue.toValue(e)),o=vue.ref(t.value.defaultOpen??false),n=vue.ref(t.value.defaultTab??"headings");vue.watch(()=>t.value.defaultOpen,m=>{m!==void 0&&(o.value=m);},{immediate:true}),vue.watch(()=>t.value.defaultTab,m=>{m!==void 0&&(n.value=m);},{immediate:true});let r=vue.computed(()=>t.value.open??o.value),l=vue.computed(()=>t.value.tab??n.value),a=vue.computed(()=>t.value.open!==void 0),i=vue.computed(()=>t.value.tab!==void 0),d=vue.computed(()=>t.value.paneWidth??280),u=m=>{a.value||(o.value=m),t.value.onOpenChange?.(m);},p=()=>u(!r.value),s=m=>{i.value||(n.value=m),t.value.onTabChange?.(m);},c=wt(),v=Je(),y=vue.inject(Yt,vue.shallowRef({mounted:0,register:()=>()=>{}})),g=_(px,mx),h=vue.ref(0),f=vue.ref(0),b=vue.ref(0);j(vue.watch([v,r,()=>g.value.reviewPaneOpen,()=>y.value.mounted],(m,C,E)=>{let x=v.value;if(!x){h.value=0,f.value=0,b.value=0;return}let P=()=>{h.value=x.clientWidth;let R=getComputedStyle(x),$=Number.parseFloat(R.paddingInlineEnd);f.value=Number.isFinite($)?$:0;let k=Number.parseFloat(R.getPropertyValue("--docx-review-gutter-start"));b.value=Number.isFinite(k)?k:0;};if(P(),typeof ResizeObserver>"u")return;let w=new ResizeObserver(P);w.observe(x),E(()=>w.disconnect());},{flush:"post"}));let T=vue.ref(null);vue.watch(()=>g.value.pageSetup,m=>{m&&(T.value=m.pageWidthTwips);},{immediate:true});let S=vue.computed(()=>{if(!r.value)return 0;let m=g.value.pageSetup?.pageWidthTwips??T.value;return m===null?0:pa({viewportWidth:h.value,pageWidthPx:ae(m)*g.value.zoom,reservation:Kt(d.value),inlineEndReservation:f.value,inlineStartReservation:b.value,docked:g.value.fitting})});return j(vue.watch([()=>c,S],()=>{c&&c.setShift(S.value);},{immediate:true,flush:"post"})),j(()=>c?.setShift(0)),j(vue.watch([()=>c,r,d],()=>{c?.setReservation(r.value?Kt(d.value):0);},{immediate:true,flush:"post"})),j(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:l,setTab:s,paneWidth:d,shift:S}}var Rn=["headings","find"],Ge=(...e)=>e.filter(Boolean).join(" "),Mn=vue.defineComponent({name:"NavigationHeader",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){return ()=>jsxRuntime.jsx("div",{class:Ge("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(kn,{}),jsxRuntime.jsx(_n,{})]})})}}),kn=vue.defineComponent({name:"NavigationClose",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=vt("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__close",e.className),style:e.style,"aria-label":n("navigation.closeAriaLabel"),title:n("navigation.closeTitle"),onClick:()=>o.setOpen(false),children:t.default?.()??jsxRuntime.jsx(nt,{name:"arrow_back",size:20})})}}),_n=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=vt("Title");return ()=>jsxRuntime.jsx("h2",{class:Ge("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),In=vue.defineComponent({name:"NavigationTabs",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=vt("Tabs"),r=l=>{let a=l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0;if(a===0)return;l.preventDefault();let i=Rn.indexOf(o.tab.value);o.setTab(Rn[(i+a+Rn.length)%Rn.length]);};return ()=>jsxRuntime.jsx("div",{class:Ge("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??Rn.map(l=>jsxRuntime.jsx(Dn,{value:l},l))})}}),Dn=vue.defineComponent({name:"NavigationTab",props:{value:{type:String,required:true},className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=vt("Tab");return ()=>{let r=o.tab.value===e.value;return jsxRuntime.jsx("button",{type:"button",role:"tab",id:`docx-nav-tab-${e.value}`,"aria-selected":r,"aria-controls":`docx-nav-panel-${e.value}`,tabindex:r?0:-1,class:Ge("docx-nav__tab",r&&"docx-nav__tab--selected",e.className),style:e.style,onClick:()=>o.setTab(e.value),children:t.default?.()??n(`navigation.tabs.${e.value}`)})}}}),Zc=vue.defineComponent({name:"SearchBox",props:{value:{type:String,required:true},onChange:{type:Function,required:true},onClear:{type:Function,required:true},placeholder:{type:String,required:true},label:{type:String,required:true},clearLabel:{type:String,required:true},autoFocus:{type:Boolean,default:void 0}},setup(e){return ()=>jsxRuntime.jsxs("div",{class:"docx-nav__searchbox",children:[jsxRuntime.jsx(nt,{name:"search",size:18,className:"docx-nav__search-icon"}),jsxRuntime.jsx("input",{type:"search",class:"docx-nav__search-input",value:e.value,placeholder:e.placeholder,"aria-label":e.label,autofocus:e.autoFocus,onInput:t=>e.onChange(t.target.value)}),e.value.length>0&&jsxRuntime.jsx("button",{type:"button",class:"docx-nav__search-clear","aria-label":e.clearLabel,onClick:e.onClear,children:jsxRuntime.jsx(nt,{name:"close",size:16})})]})}}),Nn=vue.defineComponent({name:"NavigationHeadings",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let{pane:t,outline:o,t:n}=vt("Headings"),r=vue.ref(""),l=_(Bt),a=vue.computed(()=>{let i=r.value.trim().toLowerCase();return i.length===0?o.items.value:o.items.value.filter(d=>d.heading.text.toLowerCase().includes(i))});return ()=>{let i=t.tab.value!=="headings";return jsxRuntime.jsxs("div",{class:Ge("docx-nav__panel",e.className),style:e.style,role:"tabpanel",id:"docx-nav-panel-headings","aria-labelledby":"docx-nav-tab-headings",hidden:i,children:[jsxRuntime.jsx(Zc,{value:r.value,onChange:d=>{r.value=d;},onClear:()=>{r.value="";},placeholder:n("navigation.find.placeholder"),label:n("navigation.find.inputAriaLabel"),clearLabel:n("navigation.find.clearAriaLabel")}),l.value?null:o.isEmpty.value?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.headings.noHeadings")}):a.value.length===0?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.find.noResults")}):jsxRuntime.jsx("ul",{class:"docx-nav__list",children:a.value.map((d,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__heading",o.selectedBlockId.value===d.heading.blockId&&"docx-nav__heading--current"),style:{paddingInlineStart:`${8+d.depth*14}px`},title:d.heading.text,onClick:()=>o.goTo(d.heading.blockId),children:d.heading.text})},`${d.heading.blockId}-${u}`))})]})}}}),yx=vue.defineComponent({name:"ResultRow",props:{match:{type:Object,required:true},active:{type:Boolean,required:true},onSelect:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__result",e.active&&"docx-nav__result--active"),"aria-current":e.active?"true":void 0,onClick:e.onSelect,children:jsxRuntime.jsxs("span",{class:"docx-nav__result-text",children:[e.match.contextBefore,jsxRuntime.jsx("mark",{class:"docx-nav__result-hit",children:e.match.text}),e.match.contextAfter]})})})}}),Ln=vue.defineComponent({name:"NavigationFind",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let{pane:t,search:o,t:n}=vt("Find");return ()=>{let r=t.tab.value!=="find",l=o.query.value.trim().length>0,a=o.matches.value.length===0?null:o.activeIndex.value<0?n(o.truncated.value?"navigation.find.totalTruncated":"navigation.find.total",{total:o.matches.value.length}):n(o.truncated.value?"navigation.find.counterTruncated":"navigation.find.counter",{current:o.activeIndex.value+1,total:o.matches.value.length});return jsxRuntime.jsxs("div",{class:Ge("docx-nav__panel",e.className),style:e.style,role:"tabpanel",id:"docx-nav-panel-find","aria-labelledby":"docx-nav-tab-find",hidden:r,children:[jsxRuntime.jsx(Zc,{value:o.query.value,onChange:o.setQuery,onClear:o.clear,placeholder:n("navigation.find.placeholder"),label:n("navigation.find.inputAriaLabel"),clearLabel:n("navigation.find.clearAriaLabel")}),jsxRuntime.jsxs("div",{class:"docx-nav__options",role:"group","aria-label":n("navigation.find.optionsAriaLabel"),children:[jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.matchCase.value,onChange:i=>o.setMatchCase(i.target.checked)}),n("navigation.find.matchCase")]}),jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.wholeWord.value,onChange:i=>o.setWholeWord(i.target.checked)}),n("navigation.find.wholeWord")]})]}),jsxRuntime.jsxs("div",{class:"docx-nav__resultbar",children:[jsxRuntime.jsx("span",{class:"docx-nav__count","aria-live":"polite",children:l?o.isPending.value?n("navigation.find.searching"):a??n("navigation.find.noResults"):""}),jsxRuntime.jsxs("span",{class:"docx-nav__steppers",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-nav__stepper","aria-label":n("navigation.find.previousAriaLabel"),disabled:o.matches.value.length===0,onClick:o.previous,children:jsxRuntime.jsx(nt,{name:"keyboard_arrow_up",size:18})}),jsxRuntime.jsx("button",{type:"button",class:"docx-nav__stepper","aria-label":n("navigation.find.nextAriaLabel"),disabled:o.matches.value.length===0,onClick:o.next,children:jsxRuntime.jsx(nt,{name:"keyboard_arrow_down",size:18})})]})]}),o.matches.value.length>0&&jsxRuntime.jsx("ul",{class:"docx-nav__list","aria-label":n("navigation.find.resultsAriaLabel"),children:o.matches.value.map((i,d)=>jsxRuntime.jsx(yx,{match:i,active:d===o.activeIndex.value,onSelect:()=>o.goTo(d)},`${i.blockId}-${i.start}-${d}`))})]})}}}),Fn=vue.defineComponent({name:"NavigationToggle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{pane:o,t:n}=vt("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ge("docx-nav__toggle",e.className),style:e.style,"aria-label":n("navigation.openAriaLabel"),"aria-expanded":o.open.value,title:n("navigation.openTitle"),onMousedown:r=>r.preventDefault(),onClick:o.toggle,children:t.default?.()??jsxRuntime.jsx(nt,{name:"toc",size:20})})}});var xx=vue.defineComponent({name:"DocxEditorNavigation",props:{t:{type:Function,default:void 0},toggle:{type:[Boolean,Object],default:true},className:{type:String,default:void 0},style:{type:Object,default:void 0},paneWidth:{type:Number,default:void 0},defaultOpen:{type:Boolean,default:void 0},defaultTab:{type:String,default:void 0},open:{type:Boolean,default:void 0},tab:{type:String,default:void 0},onOpenChange:{type:Function,default:void 0},onTabChange:{type:Function,default:void 0}},setup(e,{slots:t}){let o=Re(),r=ya(()=>({...e.paneWidth!==void 0?{paneWidth:e.paneWidth}:{},...e.defaultOpen!==void 0?{defaultOpen:e.defaultOpen}:{},...e.defaultTab!==void 0?{defaultTab:e.defaultTab}:{},...e.open!==void 0?{open:e.open}:{},...e.tab!==void 0?{tab:e.tab}:{},...e.onOpenChange?{onOpenChange:e.onOpenChange}:{},...e.onTabChange?{onTabChange:e.onTabChange}:{}})),l=fa(),a=ga(),{t:i}=D(),d=vue.computed(()=>({pane:r,outline:l,search:a,t:e.t??((p,s)=>i(p,s))}));vue.provide(_i,d);let u=vue.computed(()=>r.paneWidth.value);return ()=>jsxRuntime.jsxs("div",{class:`${o}docx-nav${r.open.value?" docx-nav--open":""}${e.className?` ${e.className}`:""}`,"data-open":r.open.value?"true":"false",style:{"--docx-nav-width":`${u.value}px`,"--docx-nav-inset":`${32}px`,"--docx-nav-reservation":`${Kt(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Fn,{...typeof e.toggle=="object"?e.toggle:{}}),jsxRuntime.jsx("aside",{class:"docx-nav__panel-shell","aria-label":d.value.t("navigation.ariaLabel"),inert:!r.open.value,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Mn,{}),jsxRuntime.jsx(In,{}),jsxRuntime.jsx(Nn,{}),jsxRuntime.jsx(Ln,{})]})})]})}}),An=Object.assign(xx,{Header:Mn,Close:kn,Title:_n,Tabs:In,Tab:Dn,Headings:Nn,Find:Ln,Toggle:Fn});var wx=600,Rx=e=>e.page.total,va=Symbol("PageNumberTranslationContext"),ba=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=Re(),o=M(),n=Je(),r=_(Rx),{t:l}=D(),a=vue.inject(va,null),i=vue.ref(1),d=vue.ref(false);return vue.watch([o,r,n],([u,p,s],c,v)=>{if(d.value=false,!u||!s||p<=1)return;i.value=u.getCurrentPage("viewport");let y=null,g=()=>{i.value=u.getCurrentPage("viewport"),d.value=true,y&&clearTimeout(y),y=setTimeout(()=>{d.value=false;},wx);};s.addEventListener("scroll",g,{passive:true}),v(()=>{s.removeEventListener("scroll",g),y&&clearTimeout(y);});},{flush:"post"}),()=>{if(r.value<=1)return null;let u=a?a("viewer.pageIndicator").replace(/\{current\}/g,String(i.value)).replace(/\{total\}/g,String(r.value)):l("viewer.pageIndicator",{current:i.value,total:r.value});return vue.h("div",{class:`${t}docx-editor-shell__page-indicator-chip docx-editor__page-number${e.className?` ${e.className}`:""}`,style:e.style,"data-visible":d.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var _x=[],Ix=e=>e.fontSubstitutions??_x,ha=vue.defineComponent({name:"DocxEditorFontNotice",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0},t:{type:Function,default:void 0}},setup(e){let t=_(Ix),{t:o}=D(),n=vue.ref(null);return ()=>{let r=t.value;if(r.length===0)return null;let l=r.join("\0");if(n.value===l)return null;let a=e.t??o,i=r.join(", ");return vue.h("div",{class:e.className?`docx-font-notice ${e.className}`:"docx-font-notice",role:"status",...e.style?{style:e.style}:{}},[vue.h("span",{class:"docx-font-notice__text"},a("editor.fontSubstitutionNotice",{fonts:i}).replace("{fonts}",i)),vue.h("button",{type:"button",class:"docx-font-notice__dismiss",onClick:()=>{n.value=l;}},a("common.dismiss"))])}}});var zt={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function Ai(e){return Math.round(e/1440*100)/100}function Qc(e){return Math.round(e*1440)}function Dx(e,t){return e===t?true:!e||!t?false:e.editing===t.editing&&e.sectionIndex===t.sectionIndex&&e.variant===t.variant&&e.rId===t.rId&&e.partName===t.partName&&e.inherited===t.inherited&&e.titlePage===t.titlePage&&e.evenAndOddHeaders===t.evenAndOddHeaders&&e.headerDistanceTwips===t.headerDistanceTwips&&e.footerDistanceTwips===t.footerDistanceTwips}function Hi(){let e=M();return _(o=>e.value?.getHeaderFooterState()??null,Dx)}function xo(e,t,o){let n=e.getBoundingClientRect();return {left:t-n.left-e.clientLeft+e.scrollLeft,top:o-n.top-e.clientTop+e.scrollTop}}function Hn(e,t){let o=vue.ref(null),n=vue.ref({visibility:"hidden"}),r=l=>{o.value=l;};return vue.watch([o,()=>e,()=>t],([l],a,i)=>{let d=l?.closest(".docx-editor__scroll-container"),u=d??l?.parentElement?.querySelector(".docx-editor__scroll-container");if(!l||!u)return;let p=0,s=null,c=new ResizeObserver(()=>y()),v=()=>{p=0;let h=e(u);if(h!==s&&(c.disconnect(),c.observe(u),c.observe(l),h&&c.observe(h),s=h),!h||!h.isConnected){n.value={visibility:"hidden"};return}let f=h.getBoundingClientRect(),b=t==="story-label"?Math.max(l.offsetHeight,28):l.offsetHeight,T=t==="story-label"?6:4,S=d===u,m=t==="after"?f.bottom+6:f.top-b-T,C=S?xo(u,f.left,m):{left:f.left,top:m},E=C.left,x=C.top,P=S?u.scrollLeft+8:8;n.value={position:S?"absolute":"fixed",left:O(t==="story-label"?E:Math.max(P,E+8)),top:O(t==="story-label"?x:Math.max(S?u.scrollTop+8:8,x)),...t==="story-label"?{width:O(Math.max(240,Math.min(f.width,u.clientWidth-16)))}:{maxWidth:O(Math.max(240,Math.min(f.width-16,u.clientWidth-16)))},visibility:"visible"};},y=()=>{p||(p=requestAnimationFrame(v));};c.observe(u),c.observe(l);let g=new MutationObserver(y);g.observe(u,{subtree:true,childList:true,attributes:true,attributeFilter:["data-docx-hf-active","data-docx-note-scope"]}),u.addEventListener("scroll",y,{passive:true}),window.addEventListener("resize",y),v(),i(()=>{p&&cancelAnimationFrame(p),c.disconnect(),g.disconnect(),u.removeEventListener("scroll",y),window.removeEventListener("resize",y);});},{flush:"post"}),j(()=>{n.value={visibility:"hidden"};}),{ref:r,style:n}}function Lx(e,t){return t==="first"?e==="header"?"headerFooter.firstPageHeader":"headerFooter.firstPageFooter":t==="even"?e==="header"?"headerFooter.evenPageHeader":"headerFooter.evenPageFooter":e==="header"?"headerFooter.header":"headerFooter.footer"}var Fx=[{field:"PAGE",labelKey:"headerFooter.insertPageNumber"},{field:"NUMPAGES",labelKey:"headerFooter.insertTotalPages"},{field:"SECTIONPAGES",labelKey:"headerFooter.insertSectionPages"},{field:"PAGE_X_OF_Y",labelKey:"headerFooter.insertPageXofY"}];function Bn(e){let t=M();return vue.computed(()=>{if(!t.value)return {enabled:false,reason:"editor is not ready"};let o=t.value.can(e);return o.ok?{enabled:true,reason:null}:{enabled:false,reason:o.reason??null}})}var Ax=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=D(),o=M(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(""),a=vue.ref("");vue.watch(n,(b,T,S)=>{if(!b)return;let m=C=>{r.value?.contains(C.target)||(n.value=false);};document.addEventListener("mousedown",m),S(()=>document.removeEventListener("mousedown",m));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([b,T,S])=>{b&&(T===void 0||S===void 0||(l.value=String(Ai(T)),a.value=String(Ai(S))));});let i=vue.computed(()=>({type:"setHeaderFooterOptions",titlePage:!e.state.titlePage})),d=vue.computed(()=>({type:"setHeaderFooterOptions",evenAndOddHeaders:!e.state.evenAndOddHeaders})),u=vue.computed(()=>({type:"linkHeaderFooterToPrevious"})),p=vue.computed(()=>({type:"unlinkHeaderFooterFromPrevious"})),s=vue.computed(()=>({type:"removeHeaderFooter",position:e.state.editing})),c=Bn(i.value),v=Bn(d.value),y=Bn(u.value),g=Bn(p.value),h=Bn(s.value),f=(b,T)=>{if(!o.value)return;let S=Number.parseFloat(T);Number.isFinite(S)&&o.value.exec({type:"setHeaderFooterOptions",[b]:Qc(S)});};return ()=>jsxRuntime.jsxs("div",{ref:r,class:"docx-hf-chrome__options",onMousedown:e.onChromeMousedown,children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","aria-expanded":n.value,"aria-haspopup":"menu",onClick:()=>{n.value=!n.value;},onMousedown:e.onChromeMousedown,children:t("headerFooter.options")}),n.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:e.onChromeMousedown,children:[Fx.map(b=>{let T={type:"insertPageField",field:b.field},S=o.value?.can(T);return jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!S?.ok,title:S&&!S.ok?S.reason:void 0,onClick:()=>{o.value?.exec(T),n.value=false;},onMousedown:e.onChromeMousedown,children:t(b.labelKey)},b.field)}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:e.state.titlePage===true,disabled:!c.value.enabled,title:c.value.reason??void 0,onChange:()=>o.value?.exec(i.value)}),jsxRuntime.jsx("span",{children:t("headerFooter.differentFirstPage")})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:e.state.evenAndOddHeaders===true,disabled:!v.value.enabled,title:v.value.reason??void 0,onChange:()=>o.value?.exec(d.value)}),jsxRuntime.jsxs("span",{children:[t("headerFooter.differentOddEven"),jsxRuntime.jsx("span",{class:"docx-hf-chrome__menu-hint",children:t("headerFooter.differentOddEvenHint")})]})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),e.state.inherited?jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!g.value.enabled,title:g.value.reason??void 0,onClick:()=>o.value?.exec(p.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.unlinkFromPrevious")}):jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!y.value.enabled,title:y.value.reason??void 0,onClick:()=>o.value?.exec(u.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.linkToPrevious")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.headerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.headerDistance"),value:l.value,onInput:b=>{l.value=b.target.value;},onBlur:()=>f("headerDistanceTwips",l.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.footerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.footerDistance"),value:a.value,onInput:b=>{a.value=b.target.value;},onBlur:()=>f("footerDistanceTwips",a.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!h.value.enabled,title:h.value.reason??void 0,onClick:()=>o.value?.exec(s.value),onMousedown:e.onChromeMousedown,children:e.state.editing==="header"?t("headerFooter.removeHeader"):t("headerFooter.removeFooter")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-hf-close",onClick:()=>{o.value?.exec({type:"exitHeaderFooter"}),n.value=false;},onMousedown:e.onChromeMousedown,children:t("common.close")})]}):null]})}}),Ca=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=Hi(),r=Hn(a=>a.querySelector("[data-docx-hf-active]"),"story-label"),l=I;return ()=>{if(!o.value?.editing)return null;let a=Lx(o.value.editing,o.value.variant);return vue.h("div",{ref:i=>{r.ref(i instanceof HTMLDivElement?i:null);},class:`docx-context-bar docx-hf-chrome${e.className?` ${e.className}`:""}`,role:"region","aria-label":t("headerFooter.chromeAriaLabel"),"data-testid":"docx-hf-chrome",onMousedown:l,style:{...r.style.value,zIndex:zt.hfInlineEditor}},[vue.h("div",{class:"docx-context-bar__label"},[vue.h("span",{class:"docx-context-bar__title"},t(a)),o.value.inherited?vue.h("span",{class:"docx-context-bar__status","data-testid":"docx-hf-inherited",title:t("headerFooter.sameAsPreviousHint")},t("headerFooter.sameAsPrevious")):null]),vue.h(Ax,{state:o.value,onChromeMousedown:l})])}}});function Ut(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Sa=e=>jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})}),Kx="M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z",Vx="M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z",zx="M770-302 656-416l57-57 114 114-57 57ZM603-469 469-603l57-57 134 134-57 57ZM280-280h133v80H280q-83 0-141.5-58.5T80-400q0-83 58.5-141.5T280-600h133v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35Zm40-80v-80h101l80 80H320Zm493-15-57-57q23-11 33.5-32t10.5-36q0-50-35-85t-85-35H547v-80h133q83 0 141.5 58.5T880-400q0 32-11 61.5T813-375ZM792-56 56-792l56-56 736 736-56 56Z",$x="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z";function qx(e){let t={},o=[],n=r=>{for(let l of r){if(!vue.isVNode(l))continue;if(l.type===vue.Fragment){n(pe(l.children));continue}let a=l.type.docxHyperLinkPart;a?t[a]=l:o.push(l);}};return n(e),o.length>0&&(t.__extra=o),t}var Vi=vue.defineComponent({name:"HyperLinkUrl",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{let r=o.state.value;if(e.hidden||!r.link)return null;let l=!r.link.href,a=r.link.kind==="internal",i=a?`#${r.link.anchor??""}`:r.link.authored,d=n(l?"hyperlinkPopup.inertTarget":a?"hyperlinkPopup.bookmarkTarget":"hyperlinkPopup.openLink"),u={class:`docx-hyperlink-popup__url${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-url",...l?{"data-inert":""}:{},title:d,onMousedown:Ut,...l?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(H,{...u,children:p}):l?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:d})]}):jsxRuntime.jsxs("button",{...u,children:[p,Sa($x)]})}}});Vi.docxHyperLinkPart="Url";var zi=vue.defineComponent({name:"HyperLinkCopy",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{let r=o.state.value;if(e.hidden||!r.link?.href)return null;let l=r.copied?n("editor.linkCopied"):n("hyperlinkPopup.copyLink"),a={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-copy",...r.copied?{"data-copied":""}:{},"aria-label":l,title:l,onMousedown:Ut,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??Sa(Kx);return e.asChild?jsxRuntime.jsx(H,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}});zi.docxHyperLinkPart="Copy";var $i=vue.defineComponent({name:"HyperLinkEdit",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.editLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-edit","aria-label":r,title:r,onMousedown:Ut,onClick:()=>o.beginEdit()},a=e.icon??t.default?.()??Sa(Vx);return e.asChild?jsxRuntime.jsx(H,{...l,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});$i.docxHyperLinkPart="Edit";var qi=vue.defineComponent({name:"HyperLinkUnlink",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.removeLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-unlink","aria-label":r,title:r,onMousedown:Ut,onClick:()=>o.unlink()},a=e.icon??t.default?.()??Sa(zx);return e.asChild?jsxRuntime.jsx(H,{...l,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});qi.docxHyperLinkPart="Unlink";var Ui=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Se(),{t:o}=D(),n=vue.ref(null),r=te("hyperlink-text"),l=te("hyperlink-url"),a=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(a),vue.watch(()=>t.state.value.mode,d=>{d==="editing"&&a();},{flush:"post"});let i=d=>{if(d.key==="Enter"){d.preventDefault(),t.commitEdit();return}d.key==="Escape"&&(d.preventDefault(),t.close());};return ()=>{if(e.hidden)return null;let d=t.state.value;return jsxRuntime.jsxs("div",{class:`docx-hyperlink-popup__fields${e.className?` ${e.className}`:""}`,children:[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:o("hyperlinkPopup.displayTextPlaceholder")}),jsxRuntime.jsx("input",{id:r,"data-testid":"hyperlink-popup-text",class:"docx-hyperlink-popup__input",value:d.text,placeholder:o("hyperlinkPopup.displayTextPlaceholder"),onInput:u=>t.setText(u.target.value),onKeydown:i}),jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:l,children:o("hyperlinkPopup.urlPlaceholder")}),jsxRuntime.jsx("input",{id:l,ref:n,"data-testid":"hyperlink-popup-url-input",class:"docx-hyperlink-popup__input",value:d.url,placeholder:o("hyperlinkPopup.urlPlaceholder"),onInput:u=>t.setUrl(u.target.value),onKeydown:i})]})}}});Ui.docxHyperLinkPart="Fields";var Wi=vue.defineComponent({name:"HyperLinkApply",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=o.state.value,l=n("hyperlinkPopup.apply"),a={type:"button",class:`docx-hyperlink-popup__apply${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-apply",disabled:r.url.trim().length===0,onMousedown:Ut,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(H,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??l})}}});Wi.docxHyperLinkPart="Apply";var Gi=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Se(),{t:o}=D();return ()=>{let n=t.state.value;return e.hidden||!n.error?null:jsxRuntime.jsx("div",{class:`docx-hyperlink-popup__error${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-error",role:"alert",children:o("hyperlinkPopup.refused")})}}});Gi.docxHyperLinkPart="Error";var ji=vue.defineComponent({name:"HyperLinkCancel",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=Se(),{t:n}=D();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.cancel"),l={type:"button",class:`docx-hyperlink-popup__cancel${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-cancel",onMousedown:Ut,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(H,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??r})}}});ji.docxHyperLinkPart="Cancel";var Ux=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=Se();return ()=>{let n=o.state.value,r=qx(pe(t.default?.()??[])),l=(i,d)=>i in r?r[i]:d;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Fields",jsxRuntime.jsx(Ui,{})),l("Error",jsxRuntime.jsx(Gi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Apply",jsxRuntime.jsx(Wi,{})),l("Cancel",jsxRuntime.jsx(ji,{}))]}),r.__extra]});let a=n.canEdit&&!(n.link&&Ho(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Url",jsxRuntime.jsx(Vi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Copy",jsxRuntime.jsx(zi,{})),a?l("Edit",jsxRuntime.jsx($i,{})):null,a?l("Unlink",jsxRuntime.jsx(qi,{})):null]}),r.__extra]})}}}),Wx=vue.defineComponent({name:"DocxEditorHyperLink",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Se(),n=vue.ref(null),r=vue.ref(null),{t:l}=D();return vue.watch(()=>o.state.value.mode,(a,i,d)=>{if(a==="closed")return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.close());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.close();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch(()=>o.state.value.anchor,()=>{let a=o.state.value.anchor,i=n.value;if(!a||!i){r.value=null;return}let d=i.offsetParent;if(!d){r.value=null;return}let{left:u,top:p}=xo(d,a.left,a.top),s=Math.max(0,d.scrollWidth-i.offsetWidth);r.value={left:O(Math.max(0,Math.min(u,s))),top:O(p)};},{flush:"post"}),()=>{let a=o.state.value,i=a.mode==="editing"?l(a.link?"hyperlinkPopup.editTitle":"hyperlinkPopup.insertTitle"):l("hyperlinkPopup.editLink");if(e.hidden)return a.mode==="closed"?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.default?.()});if(a.mode==="closed")return null;let d=e.preset?jsxRuntime.jsx(Ux,{children:t.default?.()}):t.default?.(),u={ref:n,class:`docx-hyperlink-popup${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup","data-mode":a.mode,role:"dialog","aria-modal":false,onMousedown:Ut,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(H,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),Ta=Object.assign(Wx,{Url:Vi,Copy:zi,Edit:$i,Unlink:qi,Fields:Ui,Error:Gi,Apply:Wi,Cancel:ji});function Zi(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Pa=vue.defineComponent({name:"DocxEditorEquation",setup(){let e=M(),{t}=D(),o=vue.ref(null),n=vue.ref(null),r=te("equation-input"),l=te("equation-error"),a=te("equation-disabled-reason"),i=null,d=null,u=null,p=_(g=>g),s=vue.computed(()=>{p.value;let g=e.value,h=o.value?.activation;if(!g?.surface||!h)return {replaceEnabled:false,removeEnabled:false,reason:null};let f=g.surface.equations.can(h.equation.id,"replace"),b=g.surface.equations.can(h.equation.id,"remove"),T=f.ok?b.ok?null:b.reason:f.reason;return {replaceEnabled:f.ok,removeEnabled:b.ok,reason:T?i18n.localizeDisabledReason(T,t):null}}),c=(g=false)=>{let h=e.value;u?.(),u=null,o.value=null,g&&h&&queueMicrotask(()=>h.focus());};vue.watch(e,(g,h,f)=>{if(!g)return;let b=g.setEquationChrome({onPopover:T=>{u?.();let S=g.surface;if(S&&typeof S.retainSelection=="function"){let m=S.retainSelection();u=()=>S.releaseSelection(m);}else u=null;o.value={activation:T,mountGeneration:g.mountGeneration,draft:T.equation.linear,error:false};}});f(()=>{b(),c();});},{immediate:true,flush:"post"}),vue.watch([e,p,()=>o.value?.activation.equation.id],()=>{let g=o.value,h=e.value;if(!g||!h?.surface)return;(h.mountGeneration!==g.mountGeneration||!h.surface.equations.equationById(g.activation.equation.id))&&c();},{flush:"post"}),vue.watch(o,(g,h,f)=>{if(!g)return;let b=false,T=null,S=null,m=null;queueMicrotask(()=>{if(b)return;let C=i;T=C?.ownerDocument??null;let E=T?.defaultView;!C||!T||!E||(S=x=>{x.key==="Escape"&&(x.preventDefault(),c(true));},m=x=>{x.target instanceof E.Node&&C.contains(x.target)||c();},T.addEventListener("keydown",S),T.addEventListener("pointerdown",m,true));}),f(()=>{b=true,T&&S&&T.removeEventListener("keydown",S),T&&m&&T.removeEventListener("pointerdown",m,true);});},{flush:"post"}),vue.watch(()=>o.value?.activation,g=>{if(!g){n.value=null;return}let h=i;if(!h)return;let f=h.offsetParent;if(f){let b=xo(f,g.rect.left,g.rect.bottom),T=Math.max(0,f.scrollWidth-h.offsetWidth);n.value={left:O(Math.max(0,Math.min(b.left,T))),top:O(b.top)};}else n.value=null;d?.focus({preventScroll:true}),d?.select();},{flush:"post"});let v=g=>{let h=o.value,f=e.value?.surface?.equations;if(!h||!f||!s.value.replaceEnabled)return false;let b=f.applyEquation(h.activation.equation.id,g??h.draft);return b?c(true):o.value={...h,error:true},b},y=()=>{let g=o.value,h=e.value?.surface?.equations;if(!g||!h||!s.value.removeEnabled)return false;let f=h.removeEquation(g.activation.equation.id);return f?c(true):o.value={...g,error:true},f};return ()=>{let g=o.value;if(!g)return null;let h=vue.h("input",{id:r,onVnodeMounted:f=>{d=f.el;},onVnodeUnmounted:()=>{d=null;},class:"docx-equation-popup__input","data-testid":"equation-popup-input",value:g.draft,placeholder:t("equationPopup.placeholder"),spellcheck:false,"aria-describedby":[g.error?l:null,s.value.reason?a:null].filter(Boolean).join(" ")||void 0,onInput:f=>{let b=o.value;b&&(o.value={...b,draft:f.target.value,error:false});},onKeydown:f=>{f.key!=="Enter"||f.isComposing||(f.preventDefault(),v(f.currentTarget.value));}});return vue.h("div",{onVnodeMounted:f=>{i=f.el;},onVnodeUnmounted:()=>{i=null;},class:"docx-equation-popup","data-testid":"equation-popup",role:"dialog","aria-modal":false,"aria-label":t("equationPopup.title"),style:n.value??void 0,onMousedown:Zi},[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:t("equationPopup.inputLabel")}),h,g.error?jsxRuntime.jsx("div",{id:l,class:"docx-equation-popup__error","data-testid":"equation-popup-error",role:"alert",children:t("equationPopup.refused")}):null,s.value.reason?jsxRuntime.jsx("div",{id:a,class:"docx-equation-popup__error","data-testid":"equation-popup-disabled-reason",role:"status",children:s.value.reason}):null,jsxRuntime.jsxs("div",{class:"docx-equation-popup__actions",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__apply","data-testid":"equation-popup-apply",disabled:!s.value.replaceEnabled,title:s.value.reason??void 0,onMousedown:Zi,onClick:()=>v(d?.value),children:t("equationPopup.apply")}),jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__delete","data-testid":"equation-popup-delete",disabled:!s.value.removeEnabled,title:s.value.reason??void 0,onMousedown:Zi,onClick:y,children:t("equationPopup.delete")})]})])}}});function Xx(e,t){return e===t?true:!e||!t||e.kind!==t.kind?false:e.kind==="note"&&t.kind==="note"?e.id===t.id:e.kind==="headerFooter"&&t.kind==="headerFooter"?e.rId===t.rId:true}function Yi(){let e=M();return _(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},Xx)}function ap(e,t){return e===t?true:!e||!t?false:e.pos===t.pos&&e.numFmt===t.numFmt&&e.numStart===t.numStart&&e.numRestart===t.numRestart}function lp(e,t){return e.resolved.pos===t.resolved.pos&&e.resolved.numFmt===t.resolved.numFmt&&e.resolved.numStart===t.resolved.numStart&&e.resolved.numRestart===t.resolved.numRestart&&ap(e.documentAuthored,t.documentAuthored)&&ap(e.sectionAuthored,t.sectionAuthored)}function Jx(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&lp(e.footnote,t.footnote)&&lp(e.endnote,t.endnote)}function Xi(){let e=M();return _(o=>e.value?.getNotePropertiesState()??null,Jx)}var eC=/^(footnote|endnote):(-?\d{1,10})$/;function ip(e){let t=eC.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function tC(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function Ji(e){let t=M();return vue.computed(()=>{if(!t.value)return {enabled:false,reason:"editor is not ready"};let o=t.value.can(e);return o.ok?{enabled:true,reason:null}:{enabled:false,reason:o.reason??null}})}var oC=vue.defineComponent({name:"NoteStoryOptions",props:{onOpenProperties:{type:Function,required:true},onClose:{type:Function,required:true}},setup(e){let{t}=D(),o=vue.ref(false),n=vue.ref(null);return vue.watch(o,(r,l,a)=>{if(!r)return;let i=d=>{n.value?.contains(d.target)||(o.value=false);};document.addEventListener("mousedown",i),a(()=>document.removeEventListener("mousedown",i));}),()=>jsxRuntime.jsxs("div",{ref:n,class:"docx-hf-chrome__options",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","data-testid":"docx-notes-options","aria-expanded":o.value,"aria-haspopup":"menu",onMousedown:I,onClick:()=>{o.value=!o.value;},children:t("headerFooter.options")}),o.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:I,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-properties",onClick:()=>{e.onOpenProperties(),o.value=false;},children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-close",onClick:()=>{e.onClose(),o.value=false;},children:t("common.close")})]}):null]})}}),nC=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=D(),o=M(),n=Xi(),r=vue.ref("document"),l=vue.ref("decimal"),a=vue.ref("continuous"),i=vue.ref("pageBottom"),d=vue.ref("decimal"),u=vue.ref("continuous"),p=vue.ref("docEnd");return vue.watch(n,s=>{s&&(l.value=s.footnote.resolved.numFmt,a.value=s.footnote.resolved.numRestart,i.value=s.footnote.resolved.pos,d.value=s.endnote.resolved.numFmt,u.value=s.endnote.resolved.numRestart,p.value=s.endnote.resolved.pos);}),()=>{let s=n.value,c=!s?.footnote.documentAuthored&&!s?.footnote.sectionAuthored,v=!s?.endnote.documentAuthored&&!s?.endnote.sectionAuthored;return jsxRuntime.jsx("div",{class:"docx-note-properties",role:"dialog","aria-modal":"true","aria-label":t("dialogs.footnoteProperties.title"),"data-testid":"docx-notes-properties-dialog",style:{zIndex:zt.modal},onClick:e.onClose,onKeydown:y=>{y.key==="Escape"&&e.onClose();},children:jsxRuntime.jsxs("div",{class:"docx-note-properties__panel",onClick:y=>y.stopPropagation(),onMousedown:y=>y.stopPropagation(),children:[jsxRuntime.jsx("h2",{class:"docx-note-properties__title",children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsxs("div",{class:"docx-note-properties__body",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__scope",children:[jsxRuntime.jsx("span",{children:t("notes.scope")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:r.value,onChange:y=>{r.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:t("notes.scopeDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("notes.scopeSection")})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.footnotes")}),c?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:l.value,onChange:y=>{l.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:a.value,onChange:y=>{a.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:i.value,onChange:y=>{i.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"pageBottom",children:t("dialogs.footnoteProperties.footnotePositions.bottomOfPage")}),jsxRuntime.jsx("option",{value:"beneathText",children:t("dialogs.footnoteProperties.footnotePositions.belowText")})]})]})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.endnotes")}),v?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:d.value,onChange:y=>{d.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:u.value,onChange:y=>{u.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:p.value,"data-testid":"docx-notes-endnote-position",onChange:y=>{p.value=y.target.value;},children:[jsxRuntime.jsx("option",{value:"docEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfDocument")}),jsxRuntime.jsx("option",{value:"sectEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfSection")})]})]})]})]})]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__footer",children:[jsxRuntime.jsx("button",{class:"docx-note-properties__button",type:"button",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{class:"docx-note-properties__button docx-note-properties__button--primary",type:"button","data-testid":"docx-notes-properties-apply",onClick:()=>{let y=o.value;if(!y)return;let g={type:"setNoteProperties",scope:r.value,sectionIndex:r.value==="section"?s?.sectionIndex:void 0,footnote:{numFmt:l.value,numRestart:a.value,position:i.value},endnote:{numFmt:d.value,numRestart:u.value,position:p.value}};y.can(g).ok&&e.onApply(g);},children:t("common.apply")})]})]})})}}}),wa=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=M(),n=Yi(),r=vue.ref(null),l=vue.ref(null),a=vue.ref(false),i=vue.ref(null),d=vue.ref(null),u=()=>d.value?.closest(".docx-editor")??null,s=Hn(C=>{let E=n.value;if(!E)return null;let P=[...C.querySelectorAll("[data-docx-note-scope]")].find(w=>w.matches("[data-docx-note]")&&w.dataset.docxNoteScope===E.id)??null;return P?.closest("[data-docx-notes]")??P},"story-label"),c=()=>{i.value&&clearTimeout(i.value),i.value=null,r.value=null;};vue.watch([o,d],([C],E,x)=>{if(!C)return;let P=u();if(!P)return;let w=k=>{let B=k.target;if(!B)return;let ue=B.closest("[data-docx-note-ref]");if(ue?.dataset.docxNoteScope){k.preventDefault(),c(),l.value=null,C.setActiveScope({kind:"note",id:ue.dataset.docxNoteScope});return}B.closest("[data-docx-note-mark-back]")&&(k.preventDefault(),c(),l.value=null,C.setActiveScope({kind:"body"}));},R=k=>{let B=k,ce=B.target?.closest("[data-docx-note-scope]");ce?.dataset.docxNoteScope&&(B.preventDefault(),l.value={scopeId:ce.dataset.docxNoteScope,x:B.clientX,y:B.clientY});},$=k=>{if(tC())return;let ue=k.target?.closest("[data-docx-note-ref]");if(!ue?.dataset.docxNoteScope){c();return}let ce=ue.dataset.docxNoteScope,Q=C.getNotePreviewText(ce)??ue.getAttribute("aria-description")??t("notes.previewFallback"),G=ue.getBoundingClientRect();i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{r.value={scopeId:ce,text:Q,x:G.left,y:G.bottom+4};},400);};P.addEventListener("click",w),P.addEventListener("contextmenu",R),P.addEventListener("pointerover",$),P.addEventListener("scroll",c,true),x(()=>{P.removeEventListener("click",w),P.removeEventListener("contextmenu",R),P.removeEventListener("pointerover",$),P.removeEventListener("scroll",c,true),c();});},{flush:"post"});let v=C=>{o.value?.exec(C),l.value=null;},y=vue.computed(()=>l.value?ip(l.value.scopeId):null),g=vue.computed(()=>y.value?{type:"deleteNote",noteKind:y.value.noteKind,noteId:y.value.noteId}:null),h=vue.computed(()=>y.value?{type:"convertNote",fromKind:y.value.noteKind,noteId:y.value.noteId}:null),f=vue.computed(()=>y.value?{type:"convertAllNotes",fromKind:y.value.noteKind}:null),b=Ji(g.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),T=Ji(h.value??{type:"convertNote",fromKind:"footnote",noteId:0}),S=Ji(f.value??{type:"convertAllNotes",fromKind:"footnote"}),m=vue.computed(()=>({position:"fixed",left:O(r.value?.x??0),top:O(r.value?.y??0),zIndex:zt.popover,maxWidth:"280px",maxHeight:"40vh",overflowY:"auto",padding:"8px 10px",background:"var(--doc-popover-bg, #fff)",color:"var(--doc-popover-fg, #111)",border:"1px solid var(--doc-border, #ddd)",boxShadow:"var(--doc-shadow, 0 4px 16px rgba(0,0,0,.12))",fontSize:"12px",lineHeight:1.4,pointerEvents:"none"}));return ()=>{if(!o.value)return null;let C=n.value?ip(n.value.id):null,E=C?t("notes.editingRegion",{kind:C.noteKind==="footnote"?t("notes.footnoteKind"):t("notes.endnoteKind"),number:C.noteId}):null;return vue.h("div",{ref:x=>{d.value=x instanceof HTMLDivElement?x:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":n.value?void 0:true},[n.value&&C?jsxRuntime.jsxs("div",{ref:s.ref,class:"docx-context-bar docx-notes-chrome__banner",role:"region","aria-label":t("notes.chromeAriaLabel"),"data-testid":"docx-notes-banner","data-note-scope":n.value.id,style:{...s.style.value,zIndex:zt.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:E}),jsxRuntime.jsx(oC,{onOpenProperties:()=>{a.value=true;},onClose:()=>{o.value?.setActiveScope({kind:"body"});}})]}):null,r.value?jsxRuntime.jsx("div",{role:"tooltip","data-testid":"docx-notes-preview",style:m.value,children:r.value.text}):null,l.value&&y.value?jsxRuntime.jsxs("div",{role:"menu","data-testid":"docx-notes-menu",style:{position:"fixed",left:O(l.value.x),top:O(l.value.y),zIndex:zt.popover,minWidth:"160px",background:"var(--doc-popover-bg, #fff)",border:"1px solid var(--doc-border, #ddd)",boxShadow:"var(--doc-shadow, 0 4px 16px rgba(0,0,0,.12))",padding:"4px"},onMousedown:I,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-delete",disabled:!b.value.enabled,title:b.value.reason??void 0,onClick:()=>g.value&&v(g.value),children:t("notes.delete")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert",disabled:!T.value.enabled,title:T.value.reason??void 0,onClick:()=>h.value&&v(h.value),children:y.value.noteKind==="footnote"?t("notes.convertToEndnote"):t("notes.convertToFootnote")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert-all",disabled:!S.value.enabled,title:S.value.reason??void 0,onClick:()=>f.value&&v(f.value),children:y.value.noteKind==="footnote"?t("notes.convertAllFootnotes"):t("notes.convertAllEndnotes")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",onClick:()=>a.value=true,children:t("dialogs.footnoteProperties.title")})]}):null,a.value?jsxRuntime.jsx(nC,{onClose:()=>{a.value=false;},onApply:x=>{v(x),a.value=false;}}):null])}}});var Vn=Symbol("ContextMenuContext"),up={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function ht(){return vue.unref(vue.inject(Vn,up))}function cp(){return vue.unref(vue.inject(Vn,up))?.target??null}var pp=["M760-120 480-400l-94 94q8 15 11 32t3 34q0 66-47 113T240-80q-66 0-113-47T80-240q0-66 47-113t113-47q17 0 34 3t32 11l94-94-94-94q-15 8-32 11t-34 3q-66 0-113-47T80-720q0-66 47-113t113-47q66 0 113 47t47 113q0 17-3 34t-11 32l494 494v40H760ZM600-560l-80-80 240-240h120v40L600-560ZM240-640q33 0 56.5-23.5T320-720q0-33-23.5-56.5T240-800q-33 0-56.5 23.5T160-720q0 33 23.5 56.5T240-640Zm240 180q8 0 14-6t6-14q0-8-6-14t-14-6q-8 0-14 6t-6 14q0 8 6 14t14 6Zm-240 300q33 0 56.5-23.5T320-240q0-33-23.5-56.5T240-320q-33 0-56.5 23.5T160-240q0 33 23.5 56.5T240-160Z"],mp=["M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"],fp=["M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560h-80v120H280v-120h-80v560Zm280-560q17 0 28.5-11.5T520-800q0-17-11.5-28.5T480-840q-17 0-28.5 11.5T440-800q0 17 11.5 28.5T480-760Z"],gp=["M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"],yp=["M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"],vp=["M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"],bp=["M280-280v-400h400v400H280Zm80-80h240v-240H360v240ZM200-120q-33 0-56.5-23.5T120-200h80v80Zm-80-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160q0-33 23.5-56.5T200-840v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80v80h-80Zm0-640v-80h80v80h-80Zm160 640v-80h80q0 33-23.5 56.5T760-120Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80h80v80h-80Zm0-160v-80q33 0 56.5 23.5T840-760h-80Z"];function Ra(e,t,o){let n=vue.defineComponent({name:`ContextMenu_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let l=M(),{close:a}=ht(),i=de(),d=U(t);return ()=>r.hidden?null:jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??q(o.paths)??void 0,shortcut:i(r.shortcutKey??o.shortcutKey),disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},onSelect:()=>{l.value?.exec(t),a(true);},...r.className?{className:r.className}:{},children:i(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var zn=Ra("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:pp}),$n=Ra("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:mp}),qn=Ra("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:gp}),Un=Ra("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:bp}),Eo=vue.defineComponent({name:"ContextMenuPaste",props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=M(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=ht(),l=de(),a=U({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ve,{...Le("edit.paste"),icon:e.icon??q(fp)??void 0,shortcut:l(e.shortcutKey??"contextMenu.pasteShortcut"),disabled:!a.isEnabled.value||i,...n??a.disabledReason.value?{title:n??a.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let d=await navigator.clipboard.readText();d&&t.value?.exec({type:"paste",text:d});}catch(d){r(d instanceof Error?d.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:l(e.labelKey??"contextMenu.paste")})}}});Eo.docxRow="edit.paste";function Gt(e,t,o){let n=vue.defineComponent({name:`ContextMenuTable_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},destructive:{type:Boolean,default:void 0}},setup(r){let{close:l}=ht(),a=de(),i=Wn(),d=U(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??q(o.paths)??void 0,disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},class:`${u?"docx-table-chrome__destructive-row":""}${r.className?` ${r.className}`:""}`,onSelect:()=>{d.execute()&&l(true);},children:a(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var Po=Gt("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),wo=Gt("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),Ro=Gt("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),Mo=Gt("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),ko=Gt("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),_o=Gt("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),Io=Gt("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),lC=[{alignment:"top",labelKey:"tableAdvanced.top",icon:"vertical_align_top"},{alignment:"center",labelKey:"tableAdvanced.middle",icon:"vertical_align_center"},{alignment:"bottom",labelKey:"tableAdvanced.bottom",icon:"vertical_align_bottom"}],jt=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=ht(),o=de(),n=Wn(),r=U({type:"setTableCellVerticalAlignment",alignment:"top"}),l=U({type:"setTableCellVerticalAlignment",alignment:"center"}),a=U({type:"setTableCellVerticalAlignment",alignment:"bottom"}),i=[r,l,a];return ()=>e.hidden||!n.value?null:jsxRuntime.jsxs("div",{class:"docx-contextmenu__table-align",children:[jsxRuntime.jsx("span",{class:"docx-contextmenu__table-align-label",children:o("tableAdvanced.verticalAlignment")}),jsxRuntime.jsx("div",{class:"docx-contextmenu__table-align-buttons",role:"group","aria-label":o("tableAdvanced.verticalAlignment"),children:lC.map((d,u)=>{let p=i[u];return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":false,"aria-label":o(d.labelKey),title:p.disabledReason.value??o(d.labelKey),"aria-disabled":!p.isEnabled.value,class:"docx-contextmenu__table-align-button",onMousedown:s=>{s.preventDefault(),s.stopPropagation();},onClick:()=>{p.execute()&&t(true);},children:q(editor.tableChromeIconPaths(d.icon))},d.alignment)})})]})}});jt.docxRow="table.cellVerticalAlignment";function hp(e,t,o){let n=vue.defineComponent({name:`ContextMenuToc_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let l=M(),{close:a,tocId:i}=ht(),d=de(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=U(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ve,{...Le(e),icon:r.icon??q(o.paths)??void 0,disabled:!p.isEnabled.value,...p.disabledReason.value?{title:p.disabledReason.value}:{},onSelect:()=>{l.value?.exec(u.value),a(true);},...r.className?{className:r.className}:{},children:d(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Do=hp("toc.refresh","entire",{labelKey:"toc.refresh",paths:yp}),No=hp("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:vp});function Wn(){return _(e=>e.table!=null,(e,t)=>e===t)}var Ma=vue.defineComponent({name:"ContextMenuItem",props:{label:{type:String,required:true},icon:{type:null,default:void 0},shortcut:{type:String,default:void 0},disabled:{type:Boolean,default:void 0},disabledReason:{type:String,default:void 0},active:{type:Boolean,default:void 0},onSelect:{type:Function,default:void 0},className:{type:String,default:void 0}},setup(e){let{close:t}=ht();return ()=>vue.h(ve,{...e.icon?{icon:e.icon}:{},...e.shortcut?{shortcut:e.shortcut}:{},...e.disabled?{disabled:e.disabled}:{},...e.disabled&&e.disabledReason?{title:e.disabledReason}:{},...e.active!==void 0?{active:e.active}:{},onSelect:()=>{e.onSelect?.(),t(true);},...e.className?{className:e.className}:{}},{default:()=>e.label})}});var ka=8,pC=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=M(),t=Xt(),o=Pe(),n=de();return ()=>{let r=e.value,l=r?.can({type:"toggleReviewPane"}),a=!l?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=V("review.comments");return jsxRuntime.jsx(ve,{icon:q(i?.paths)??void 0,rowSlot:"review.comments",disabled:a,title:l&&!l.ok?l.reason:void 0,selectHandler:()=>{t.value.requestCommentDraft()&&o.value.setOpenMenu(null);},children:n("comments.addComment")})}}}),mC=[{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(zn,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx($n,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(Eo,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(qn,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(Un,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(Ue,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(pC,{})}];function fC(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:Po.docxRow,render:()=>jsxRuntime.jsx(Po,{})},{kind:"row",id:wo.docxRow,render:()=>jsxRuntime.jsx(wo,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:Ro.docxRow,render:()=>jsxRuntime.jsx(Ro,{})},{kind:"row",id:Mo.docxRow,render:()=>jsxRuntime.jsx(Mo,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:ko.docxRow,render:()=>jsxRuntime.jsx(ko,{})},{kind:"row",id:_o.docxRow,render:()=>jsxRuntime.jsx(_o,{})},{kind:"row",id:Io.docxRow,render:()=>jsxRuntime.jsx(Io,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:jt.docxRow,render:()=>jsxRuntime.jsx(jt,{})}]}function gC(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:Do.docxRow,render:()=>jsxRuntime.jsx(Do,{})},{kind:"row",id:No.docxRow,render:()=>jsxRuntime.jsx(No,{})}]}function Ep(e,t=false){return [...mC,...e?fC():[],...t?gC():[]]}function Pp(e){return e!=null&&typeof e=="object"&&"type"in e}function wp(e){if(!Pp(e))return null;if(e.type===vue.Fragment){let n=pe(e.children??[]).map(wp).filter(r=>r!==null);return n.length===1?n[0]:null}let t=e.type;if(typeof t!="function"&&typeof t!="object")return null;if(typeof t.docxRow=="string")return t.docxRow;if(typeof t.docxSlot=="string")return t.docxSlot;if(t.docxMenuRow===true){let o=e.props.slot;if(typeof o=="string")return o}return null}function Sp(e){if(!Pp(e))return false;let t=e.type;return typeof t!="function"&&typeof t!="object"?false:t.docxRowPlacement==="start"}function yC(e){return e?.closest(".docx-editor__scroll-container")??null}var Fo=vue.defineComponent({name:"DocxEditorContextMenu",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},preset:{type:Boolean,default:true},disabled:{type:Boolean,default:void 0},onOpenChange:{type:Function,default:void 0}},setup(e,{slots:t}){let o=Re(),n=M(),r=Zt(),{t:l}=D(),a=Wn(),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null),v=vue.ref(null),y=vue.ref(false),g=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,S=>{g.value=S;});let h=vue.computed(()=>Ep(a.value,p.value!==null)),f=(S=false)=>{u.value=null,c.value=null,p.value=null,s.value=null,S&&n.value?.focus();};vue.watch(()=>e.disabled,S=>{S&&f();}),vue.watchEffect(S=>{if(r.value,e.disabled)return;let m=yC(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!m)return;let C=E=>{E.preventDefault();let x=E.button===-1||E.clientX===0&&E.clientY===0,P=m.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,s.value=x||!(E.target instanceof HTMLElement)?null:E.target,u.value=x?{x:P.left+16,y:P.top+16}:{x:E.clientX,y:E.clientY};};m.addEventListener("contextmenu",C),S(()=>m.removeEventListener("contextmenu",C));}),vue.watch(u,(S,m,C)=>{if(!S)return;let E=w=>{d.value?.contains(w.target)||f();},x=w=>{w.key==="Escape"?(w.preventDefault(),f(true)):w.key==="Tab"&&f();},P=()=>f();document.addEventListener("pointerdown",E,true),document.addEventListener("keydown",x),document.addEventListener("scroll",P,{capture:true,passive:true}),window.addEventListener("blur",P),window.addEventListener("resize",P),C(()=>{document.removeEventListener("pointerdown",E,true),document.removeEventListener("keydown",x),document.removeEventListener("scroll",P,true),window.removeEventListener("blur",P),window.removeEventListener("resize",P);});},{flush:"sync"}),vue.watch(u,async S=>{if(c.value=null,!S)return;await vue.nextTick();let m=d.value;if(!m||!u.value)return;let{width:C,height:E}=m.getBoundingClientRect(),x=window.innerWidth-C-ka,P=window.innerHeight-E-ka,w=Math.max(ka,u.value.x>x?u.value.x-C:u.value.x),R=Math.max(ka,u.value.y>P?u.value.y-E:u.value.y);c.value={x:w,y:R};},{flush:"post"}),vue.watch(c,S=>{S&&d.value?.focus({preventScroll:true});}),vue.watch(u,S=>{let m=S!==null;m!==y.value&&(y.value=m,g.value?.(m));});let b=vue.computed(()=>({t:e.t,openMenu:null,setOpenMenu:()=>f(true),activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0})),T=vue.computed(()=>({close:f,anchor:u.value,tocId:p.value,target:s.value,clipboardRefusal:v.value,reportClipboardRefusal:S=>{v.value=S;}}));return vue.provide(bn,b),vue.provide(Vn,T),()=>{let S={position:"fixed",left:`${(c.value??u.value)?.x??0}px`,top:`${(c.value??u.value)?.y??0}px`,visibility:c.value?"visible":"hidden",pointerEvents:"auto"},m=pe(t.default?.()??[]),C=m.filter(Sp),E=m.filter(P=>!Sp(P)),x=e.preset===false?m:[...C,...xr({entries:h.value,children:E,preset:e.preset,keyOfEntry:P=>P.id,keyOfChild:wp,renderEntry:P=>P.kind==="separator"?jsxRuntime.jsx(Ft,{}):P.render()})];return vue.h("div",{ref:P=>{i.value=P instanceof HTMLDivElement?P:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:P=>{d.value=P instanceof HTMLDivElement?P:null;},role:"menu","aria-label":e.t?.("contextMenu.ariaLabel")??l("contextMenu.ariaLabel"),tabindex:-1,class:`${o}docx-toolbar__menu docx-contextmenu${e.className?` ${e.className}`:""}`,style:S,onKeydown:P=>{let w=d.value;if(!w)return;let R=pt(w);P.key==="ArrowDown"?(P.preventDefault(),De(R,document.activeElement,1)):P.key==="ArrowUp"?(P.preventDefault(),De(R,document.activeElement,-1)):P.key==="Home"?(P.preventDefault(),Ne(R,"first")):P.key==="End"&&(P.preventDefault(),Ne(R,"last"));}},x)]:[])}}});Object.assign(Fo,{Cut:zn,Copy:$n,Paste:Eo,Delete:qn,SelectAll:Un,InsertRowAbove:Po,InsertRowBelow:wo,InsertColumnLeft:Ro,InsertColumnRight:Mo,DeleteTableRow:ko,DeleteTableColumn:_o,DeleteTable:Io,CellVerticalAlignment:jt,RefreshToc:Do,RefreshTocPageNumbers:No,Item:Ma,Slot:Ue,Row:ve,Group:Sn,Separator:Ft,Submenu:ot});function os(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Mp=e=>jsxRuntime.jsx("svg",{viewBox:"0 -960 960 960",width:16,height:16,"aria-hidden":"true",focusable:"false",children:jsxRuntime.jsx("path",{d:e,fill:"currentColor"})}),hC="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z",xC="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z",CC={position:"absolute",zIndex:20,minWidth:"240px",maxWidth:"320px",top:"12px",right:"12px",padding:"12px",borderRadius:"8px",border:"1px solid var(--doc-border)",backgroundColor:"var(--doc-surface)",boxShadow:"0 4px 16px var(--doc-shadow)",color:"var(--doc-text)",fontSize:"13px",display:"flex",flexDirection:"column",gap:"10px"},SC={display:"flex",justifyContent:"space-between",gap:"12px",alignItems:"baseline"},TC={color:"var(--doc-text-muted)",flexShrink:0},EC={textAlign:"right",wordBreak:"break-word"},PC={display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontWeight:600},wC={display:"flex",gap:"8px",marginTop:"4px"},kp={display:"inline-flex",alignItems:"center",gap:"6px",padding:"4px 10px",borderRadius:"4px",border:"1px solid var(--doc-border)",backgroundColor:"var(--doc-bg)",color:"var(--doc-text)",font:"inherit",cursor:"pointer"};function RC(e){switch(e){case "plainText":return "contentControl.types.plainText";case "checkbox":return "contentControl.types.checkbox";case "dropdown":return "contentControl.types.dropdown";case "comboBox":return "contentControl.types.comboBox";case "date":return "contentControl.types.date";case "picture":return "contentControl.types.picture";case "repeatingSection":return "contentControl.types.repeatingSection";default:return "contentControl.types.richText"}}function MC(e){return e.effectiveLock==="sdtContentLocked"?"contentControl.lock.sdtContentLocked":e.effectiveLock==="contentLocked"||e.locked?"contentControl.lock.contentLocked":e.effectiveLock==="sdtLocked"||e.removalLocked?"contentControl.lock.sdtLocked":"contentControl.lock.unlocked"}var Ao=vue.defineComponent({name:"ContentControlField",props:{label:{type:String,required:true},value:{type:String,required:true},testId:{type:String,required:true}},setup(e){return ()=>jsxRuntime.jsxs("div",{style:SC,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:TC,children:e.label}),jsxRuntime.jsx("span",{style:EC,children:e.value})]})}}),_p=vue.defineComponent({name:"ContentControlHeader",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{closeInspector:o}=Ve(),{t:n}=D();return ()=>{if(e.hidden)return null;let r={style:PC,class:e.className??void 0,"data-testid":"content-control-inspector-header"},l=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{children:t.default?.()??n("contentControl.inspectorPanel.title")}),jsxRuntime.jsx("button",{type:"button","data-testid":"content-control-inspector-close","aria-label":n("common.close"),title:n("common.close"),style:{...kp,padding:"4px",border:"none",background:"transparent"},onMousedown:os,onClick:()=>o(),children:Mp(hC)})]});return e.asChild?jsxRuntime.jsx(H,{...r,children:l}):jsxRuntime.jsx("div",{...r,children:l})}}}),Ip=vue.defineComponent({name:"ContentControlFields",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let{control:o}=Ve(),{t:n}=D();return ()=>{let r=o.value;if(e.hidden||!r)return null;let l=n("contentControl.inspectorPanel.empty"),a=n("contentControl.inspectorPanel.yes"),i=n("contentControl.inspectorPanel.no"),d=t.default?.()??[jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??l,testId:"content-control-inspector-alias"}),jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??l,testId:"content-control-inspector-tag"}),jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.type"),value:n(RC(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.lock"),value:n(MC(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?a:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx(Ao,{label:n("contentControl.inspectorPanel.bound"),value:r.bound?a:i,testId:"content-control-inspector-bound"}),r.bound?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-bound-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},children:n("contentControl.inspectorPanel.boundNote")}):null,r.locked?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-locked-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},"aria-live":"polite",children:n("contentControl.inspectorPanel.lockedNote")}):null],u={class:e.className??void 0,"data-testid":"content-control-inspector-fields",style:{display:"flex",flexDirection:"column",gap:"8px"}};return e.asChild?jsxRuntime.jsx(H,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),Dp=vue.defineComponent({name:"ContentControlRemove",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r,closeInspector:l}=Ve(),{t:a}=D();return ()=>{if(e.hidden)return null;let i=a("contentControl.remove"),d={type:"button",class:`docx-content-control-inspector__remove${e.className?` ${e.className}`:""}`,"data-testid":"content-control-inspector-remove","data-slot":"contentControl.remove",disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":i,title:n.value??i,style:kp,onMousedown:os,onClick:()=>{r().ok&&l();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??Mp(xC),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(H,{...d,children:u}):jsxRuntime.jsx("button",{...d,children:u})}}}),kC=vue.defineComponent({name:"DocxEditorContentControl",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},preset:{type:Boolean,default:true}},setup(e,{slots:t}){let o=Ve(),n=vue.ref(null),r=te("content-control-title"),{t:l}=D();return vue.watch(()=>o.inspectorOpen.value,(a,i,d)=>{if(!a)return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.closeInspector());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.closeInspector();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch([()=>o.inspectorOpen.value,()=>o.control.value],([a,i])=>{a&&!i&&o.closeInspector();}),()=>{let a=o.control.value;if(e.hidden||!o.inspectorOpen.value||!a)return null;let i=e.preset?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(_p,{}),jsxRuntime.jsx(Ip,{}),jsxRuntime.jsx("div",{style:wC,children:jsxRuntime.jsx(Dp,{})}),t.default?.()]}):t.default?.(),d={ref:n,role:"dialog","aria-modal":false,"aria-labelledby":r,"data-testid":"content-control-inspector","data-control-id":a.id,"data-control-type":a.controlType,...a.locked?{"data-locked":""}:{},...a.bound?{"data-bound":""}:{},...a.placeholder?{"data-placeholder":""}:{},class:`docx-content-control-inspector${e.className?` ${e.className}`:""}`,style:CC,onMousedown:p=>{os(p),p.stopPropagation();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{id:r,class:"docx-editor-sr-only",children:l("contentControl.inspectorPanel.title")}),i]});return e.asChild?jsxRuntime.jsx(H,{...d,children:u}):jsxRuntime.jsx("div",{...d,children:u})}}}),Ia=Object.assign(kC,{Header:_p,Fields:Ip,Remove:Dp});var ns=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(Bo,null),t=Symbol("revision-style-declaration");return e?.registerScheme(t),vue.onUnmounted(()=>e?.unregister(t)),()=>null}}),rs=vue.defineComponent({name:"DocxEditorAuthorStyle",props:{author:{type:String,required:true},color:{type:String,default:void 0},background:{type:String,default:void 0},spanClassName:{type:String,default:void 0},avatarUrl:{type:String,default:void 0}},setup(e){let t=vue.inject(Bo,null),o=Symbol("revision-style-declaration");return vue.watch(()=>[e.author,e.color,e.background,e.spanClassName,e.avatarUrl],([n,r,l,a,i])=>{t?.register(o,n,{...r!==void 0?{color:r}:{},...l!==void 0?{background:l}:{},...a!==void 0?{spanClassName:a}:{},...i!==void 0?{avatarUrl:i}:{}});},{immediate:true}),vue.onUnmounted(()=>t?.unregister(o)),()=>null}});var DC=editor.LOADING_SNAPSHOT;function Da(e){return {load:t=>{e()?.load(t);},save:()=>e()?.save()??Promise.resolve(null),getDocumentHandle:()=>e()?.getDocumentHandle()??null,getEditor:()=>e(),focus:()=>{e()?.focus();},exec:(t,o)=>e()?.exec(t,o)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:t=>e()?.snapshot(t)??DC}}var HC={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)"},OC={flex:1,minHeight:0,minWidth:0,overflowAnchor:"none"},BC={position:"relative",display:"flex",flex:1,minHeight:0,minWidth:0},KC={flex:"none",minHeight:"34px",padding:"6px 0 2px",overflow:"hidden",scrollbarGutter:"stable both-edges",backgroundColor:"var(--doc-bg)"},VC={position:"absolute",top:"40px",left:0,zIndex:10,pointerEvents:"none"},zC={flex:"none",display:"flex",flexDirection:"column",position:"relative",zIndex:30,backgroundColor:"var(--doc-surface)",borderBottomWidth:"1px",borderBottomStyle:"solid",borderBottomColor:"var(--doc-border)",boxShadow:"0 1px 3px var(--doc-shadow-subtle)"},$C={padding:"8px 12px"},qC={display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px 0",color:"var(--doc-text)"},UC={display:"flex",flexDirection:"column",flex:1,minWidth:0,gap:"2px"},WC={flex:1,minWidth:0,font:"inherit",color:"inherit",backgroundColor:"transparent",border:"1px solid transparent",borderRadius:"4px",padding:"2px 6px"},GC=vue.defineComponent({name:"ScopedChrome",props:{scoped:{type:Boolean,required:true}},setup(e,{slots:t}){return vue.provide(zo,e.scoped),()=>t.default?.()}}),Op={document:{type:[String,Object,Uint8Array,ArrayBuffer],default:void 0},fonts:{type:[Object,Function],default:void 0},class:{type:String,default:void 0},t:{type:Function,default:void 0},colorMode:{type:String,default:"light"},chrome:{type:Boolean,default:void 0},title:{type:String,default:void 0},menu:{type:[Boolean,Object],default:void 0},hyperlinkPopup:{type:Boolean,default:void 0},contextMenu:{type:[Boolean,Object],default:void 0},navigation:{type:Boolean,default:void 0},rulers:{type:Boolean,default:void 0},mode:{type:String,default:void 0},zoom:{type:Number,default:void 0},zoomMode:{type:[Object,String],default:void 0},locale:{type:String,default:void 0},author:{type:String,default:void 0},modules:{type:Array,default:void 0},onSave:{type:Function,default:void 0},onOpen:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onTitleChange:{type:Function,default:void 0}},jC={...Op,i18n:{type:Object,default:void 0},onSave:{type:Function,default:void 0},onOpen:{type:Function,default:void 0},saveHandler:{type:Function,default:void 0},openHandler:{type:Function,default:void 0},onTitleChange:{type:Function,default:void 0}},ZC=vue.defineComponent({name:"DocxEditorFrame",inheritAttrs:false,props:Op,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=vue.computed(()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave),a=vue.computed(()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen),i=vue.computed(()=>e.onTitleChange??t.onTitleChange),d=vue.computed(()=>e.chrome??true),u=vue.computed(()=>e.menu??true),p=vue.computed(()=>e.navigation??true),s=vue.computed(()=>e.rulers??true),c=vue.computed(()=>e.contextMenu??true),v=vue.computed(()=>e.hyperlinkPopup??true),y=vue.ref(bs()),g;vue.onMounted(()=>{e.colorMode==="system"&&(g=Va(C=>{y.value=C;}));}),vue.onUnmounted(()=>g?.()),vue.watch(()=>e.colorMode,(C,E,x)=>{g?.(),g=void 0,C==="system"&&(g=Va(P=>{y.value=P;}),x(()=>g?.()));});let h=vue.computed(()=>hs(e.colorMode,y.value)),{t:f}=D(),b=(C,E)=>e.t?e.t(C,E):f(C,E),T=C=>b(C);vue.provide(va,b);let S=vue.shallowRef(null);r({load:C=>S.value?.load(C),save:()=>S.value?.save()??Promise.resolve(null),getDocumentHandle:()=>S.value?.getDocumentHandle()??null,getEditor:()=>S.value?.getEditor()??null,focus:()=>S.value?.focus(),exec:(C,E)=>S.value?.exec(C,E)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:C=>S.value?.snapshot(C)??Da(()=>null).snapshot(C)});let m=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let C=M();return S.value=Da(()=>C.value),()=>null}});return ()=>{let C=d.value&&h.value?"dark":d.value?void 0:e.class,E=vue.h(fr,{class:C,style:d.value?OC:void 0,...!d.value&&e.class?{}:{}},{default:()=>[d.value?vue.h(Ca):null,d.value?vue.h(wa):null,vue.h(yr),vue.h(Ta,{hidden:v.value===false}),vue.h(Pa),c.value===false?null:vue.h(Fo,{t:b,...typeof c.value=="object"?c.value:{}}),vue.h(Ia),s.value&&d.value?vue.h("div",{style:VC,"aria-hidden":"true"},[vue.h(sa)]):null,n.default?.()]}),x=typeof u.value=="object"?u.value:{},P=d.value?vue.h("div",{class:`docx-editor${h.value?" dark":""}${e.class?` ${e.class}`:""}`,style:HC},[vue.h("div",{style:zC},[vue.h("div",{style:qC},[n.titleBarLeft?.(),vue.h("div",{style:UC},[i.value!==void 0?vue.h("input",{"aria-label":b("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:b("titleBar.untitled"),style:WC,onInput:w=>{let R=w.target.value;i.value?.(R),o("titleChange",R);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??b("titleBar.untitled")),u.value!==false?vue.h(Ht,{t:b,...e.title!==void 0?{fileName:e.title}:{},...a.value!==void 0?{openHandler:a.value}:{},...l.value!==void 0?{saveHandler:l.value}:{},...x}):null]),n.titleBarRight?.()]),vue.h("div",{style:$C},[vue.h(yn,{t:b})])]),s.value?vue.h("div",{style:KC,"data-testid":"docx-editor-ruler-row"},[vue.h(ia)]):null,vue.h(ha,{t:b}),vue.h("div",{style:BC},[p.value?vue.h(An,{t:b}):null,E,vue.h(ba),vue.h(vr,{overlay:true})])]):E;return vue.h(Vo,{...e.document!==void 0?{document:e.document}:{},...e.fonts?{fonts:e.fonts}:{},...e.author!==void 0?{author:e.author}:{},...e.locale!==void 0?{locale:e.locale}:{},translate:b,...e.mode!==void 0?{mode:e.mode}:{mode:"edit"},...e.modules!==void 0?{modules:e.modules}:{},...e.zoom!==void 0?{zoom:e.zoom}:{},...e.zoomMode!==void 0?{zoomMode:e.zoomMode}:{},tableInteractionLabel:T,onReady:w=>o("ready",w),onChange:w=>o("change",w),onFontError:w=>o("fontError",w)},{default:()=>[vue.h(m),vue.h(GC,{scoped:d.value},{default:()=>P})]})}}}),YC=vue.defineComponent({name:"DocxEditor",inheritAttrs:false,props:jC,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave,a=()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen,i=()=>e.onTitleChange??t.onTitleChange,d=vue.shallowRef(null);r({load:s=>d.value?.load(s),save:()=>d.value?.save()??Promise.resolve(null),getDocumentHandle:()=>d.value?.getDocumentHandle()??null,getEditor:()=>d.value?.getEditor()??null,focus:()=>d.value?.focus(),exec:(s,c)=>d.value?.exec(s,c)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:s=>d.value?.snapshot(s)??Da(()=>null).snapshot(s)});let{i18n:u,...p}=e;return ()=>vue.h(Jn,u!==void 0?{i18n:u}:{},{default:()=>vue.h(ZC,{...p,ref:s=>{d.value=s&&typeof s=="object"&&"load"in s?s:null;},onReady:s=>o("ready",s),onChange:s=>o("change",s),onFontError:s=>o("fontError",s),saveHandler:l()!==void 0?()=>{l()(),o("save");}:void 0,openHandler:a()!==void 0?()=>{a()(),o("open");}:void 0,onTitleChange:i()!==void 0?s=>{i()(s),o("titleChange",s);}:void 0},{default:n.default,titleBarLeft:n.titleBarLeft,titleBarRight:n.titleBarRight})})}}),as=Object.assign(YC,{Root:Vo,Viewport:fr,Content:yr,Toolbar:yn,Menu:Ht,Loading:vr,HorizontalRuler:ia,VerticalRuler:sa,DocumentOutline:ki,Navigation:An,PageSetupDialog:vn,ParagraphDialog:kt,PageNumber:ba,FontNotice:ha,HeaderFooterChrome:Ca,NotesChrome:wa,Equation:Pa,HyperLink:Ta,ContextMenu:Fo,ContentControl:Ia,AuthorStyle:rs,ColorByChangeType:ns});var XC=[];function JC(){let e=M();return _(()=>e.value?.getReviewAuthors()??XC)}function tS(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function oS(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function nS(){let e=M(),t=vue.shallowRef(null),o=null,n=()=>{let l=tS(e.value),a=o;return (l===null?a===null:a!==null&&oS(a,l))?a:(o=l,l)};t.value=n();let r=vue.watch(()=>e.value,(l,a,i)=>{if(t.value=n(),!l)return;let d=()=>{let s=n();t.value!==s&&(t.value=s);},u=l.on("selectionChange",d),p=l.on("change",d);i(()=>{u(),p();});},{immediate:true,flush:"post"});return j(r),t}function iS(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,l,a)=>{if(!r)return;let i=()=>{o.value++;},d=r.on("change",i),u=r.on("selectionChange",i);i(),a(()=>{d(),u();});},{immediate:true,flush:"post"});return j(n),o}function dS(e,...t){let o=e,n=t,r=()=>({source:vue.toValue(o),fragments:n.map(a=>vue.toValue(a))});return async a=>{let i=r(),u=[typeof i.source=="function"?await i.source(a):await i.source,...i.fragments].filter(c=>c!==void 0);if(u.length===0)return;let{epoch:p,...s}=editor.composeFontConfiguration(u[0],...u.slice(1));return s}}function cS(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}async function pS(e){return typeof e=="function"?e():e}function mS(e,t={}){let o=e,n=t,r=vue.ref(void 0),l=vue.ref(void 0),a=vue.ref(null),i=vue.ref(vue.toValue(o)!=null),d=vue.ref(vue.toValue(t).fonts===void 0),u=0;return j(vue.watch(()=>vue.toValue(n).fonts,(p,s,c)=>{if(p===void 0){l.value=void 0,d.value=true;return}let v=true;l.value=void 0,d.value=false,(async()=>{try{let y=await pS(p);v&&(l.value=editor.composeFontConfiguration(y));}catch{}finally{v&&(d.value=true);}})(),c(()=>{v=false;});},{immediate:true})),j(vue.watch(()=>vue.toValue(o),(p,s,c)=>{u+=1;let v=u;if(p==null){r.value=void 0,a.value=null,i.value=false;return}let y=cS(p);if(y){r.value=y,a.value=null,i.value=false;return}let g=true,h=new AbortController;r.value=void 0,i.value=true,a.value=null,(async()=>{try{let f=await fetch(String(p),{...vue.toValue(n).fetchOptions,signal:h.signal});if(!f.ok)throw new Error(`could not open the document: ${f.status} ${f.statusText}`);let b=new Uint8Array(await f.arrayBuffer());if(!g||v!==u)return;r.value=b,i.value=!1;}catch(f){if(!g||v!==u||f instanceof Error&&f.name==="AbortError")return;r.value=void 0,a.value=f instanceof Error?f:new Error("could not open the document"),i.value=false;}})(),c(()=>{g=false,h.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>d.value?r.value:void 0),fonts:vue.computed(()=>l.value),error:vue.computed(()=>a.value),isLoading:vue.computed(()=>i.value||!d.value)}}var hS=vue.defineComponent({name:"PaginatedDocxEditor",props:{source:{type:Object,required:true},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},className:{type:String,default:void 0},documentFontFamily:{type:String,default:void 0}},setup(e,{expose:t}){let o=vue.ref(null),n=vue.shallowRef(null),r=vue.shallowRef(null),l=vue.shallowRef(e.onStateChange),a=vue.shallowRef(e.onError);vue.watch(()=>e.onStateChange,c=>{l.value=c;}),vue.watch(()=>e.onError,c=>{a.value=c;});let i=()=>{let c=o.value;if(!c)return;let v=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:g=>{r.value=g,l.value?.(g);}});if(!v.ok){a.value?.(v.reason,v.detail);return}n.value=v.surface;let y=v.surface.state();return r.value=y,l.value?.(y),()=>{v.surface.destroy(),n.value=null;}},d=vue.computed(()=>r.value?.pageCount??0),u=vue.computed(()=>r.value?.revision??0),p,s=()=>{p?.(),p=i();};return vue.watch(()=>[e.source,e.measurer],()=>{o.value&&s();}),vue.onUnmounted(()=>{p?.();}),t({focus:()=>n.value?.focus(),type:c=>n.value?.type(c),undo:()=>n.value?.undo(),redo:()=>n.value?.redo(),selectAll:()=>n.value?.selectAll(),navigate:(c,v)=>n.value?.navigate(c,v),toggleRunProperty:(c,v)=>n.value?.toggleRunProperty(c,v),setRunProperty:(c,v)=>n.value?.setRunProperty(c,v),setParagraphProperty:(c,v,y)=>n.value?.setParagraphProperty(c,v,y),formatting:()=>n.value?.formatting()??null,sectionProperties:()=>n.value?.sectionProperties()??null,save:()=>{let c=n.value;return c?(c.flushPendingInput(),c.session.save()):null}}),()=>vue.h("div",{onVnodeMounted:c=>{o.value=c.el,s();},onVnodeBeforeUnmount:()=>{p?.(),p=void 0;},class:e.className?`docx-paginated-surface ${e.className}`:"docx-paginated-surface",style:{margin:"24px auto",...e.documentFontFamily?{fontFamily:e.documentFontFamily}:{}},"data-revision":u.value,"data-page-count":d.value})}});var SS=vue.defineComponent({name:"PaginatedDocxEditorShell",props:{source:{type:Object,required:true},documentName:{type:String,default:void 0},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},onSave:{type:Function,default:void 0},colorMode:{type:String,default:void 0},onZoomChange:{type:Function,default:void 0},documentFontFamily:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e,{expose:t,slots:o}){return t({}),()=>vue.h("div",{class:["docx-editor docx-paginated-shell",e.colorMode==="dark"?"dark":"",e.className??""].filter(Boolean).join(" "),"data-testid":"paginated-shell"},o.default?.())}});var PS=vue.defineComponent({name:"PageIndicator",props:{currentPage:{type:Number,required:true},totalPages:{type:Number,required:true},visible:{type:Boolean,required:true}},setup(e){let{t}=D();return ()=>vue.h("div",{style:{position:"absolute",right:"24px",top:"50%",transform:"translateY(-50%)",backgroundColor:"var(--doc-overlay)",color:"#fff",padding:"6px 12px",borderRadius:"4px",fontSize:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontWeight:500,whiteSpace:"nowrap",pointerEvents:"none",zIndex:1e3,opacity:e.visible?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status"},t("viewer.pageIndicator",{current:e.currentPage,total:e.totalPages}))}});var IS=vue.defineComponent({name:"Toolbar",props:{className:{type:String,default:void 0}},setup(e,{slots:t}){return ()=>vue.h("div",{class:["docx-toolbar",e.className].filter(Boolean).join(" "),role:"toolbar"},t.default?.())}}),DS=vue.defineComponent({name:"LegacyToolbarButton",props:{active:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},title:{type:String,default:void 0},className:{type:String,default:void 0},ariaLabel:{type:String,default:void 0}},emits:["click"],setup(e,{emit:t,slots:o}){return ()=>vue.h("button",{type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,disabled:e.disabled,title:e.title,"aria-label":e.ariaLabel,onClick:()=>t("click")},o.default?.())}}),NS=vue.defineComponent({name:"ToolbarGroup",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__group",role:"group"},t.default?.())}});var LS=as;var FS=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),AS=Ht,HS=vue.defineComponent({name:"DocumentName",props:{value:{type:String,default:""},onChange:{type:Function,default:void 0}},setup(e){return ()=>vue.h("input",{class:"docx-document-name",value:e.value,onInput:t=>e.onChange?.(t.target.value)})}}),OS=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),BS=vue.defineComponent({name:"TitleBarRight",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar-right"},t.default?.())}});
3
+ Object.defineProperty(exports,"CHROME_GROUPS",{enumerable:true,get:function(){return editor.CHROME_GROUPS}});Object.defineProperty(exports,"CHROME_MENUS",{enumerable:true,get:function(){return editor.CHROME_MENUS}});Object.defineProperty(exports,"LOADING_SNAPSHOT",{enumerable:true,get:function(){return editor.LOADING_SNAPSHOT}});Object.defineProperty(exports,"MAX_RESOLVER_FAMILIES",{enumerable:true,get:function(){return editor.MAX_RESOLVER_FAMILIES}});Object.defineProperty(exports,"PX_PER_CM",{enumerable:true,get:function(){return editor.PX_PER_CM}});Object.defineProperty(exports,"PX_PER_INCH",{enumerable:true,get:function(){return editor.PX_PER_INCH}});Object.defineProperty(exports,"WORD_DEFAULT_FONT",{enumerable:true,get:function(){return editor.WORD_DEFAULT_FONT}});Object.defineProperty(exports,"chromeMenuSlots",{enumerable:true,get:function(){return editor.chromeMenuSlots}});Object.defineProperty(exports,"commandForSlot",{enumerable:true,get:function(){return editor.commandForSlot}});Object.defineProperty(exports,"composeFontConfiguration",{enumerable:true,get:function(){return editor.composeFontConfiguration}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return editor.createFontSource}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return editor.generateRulerTicks}});Object.defineProperty(exports,"loadFonts",{enumerable:true,get:function(){return editor.loadFonts}});Object.defineProperty(exports,"rulerPageBox",{enumerable:true,get:function(){return editor.rulerPageBox}});Object.defineProperty(exports,"runToolbarCommand",{enumerable:true,get:function(){return editor.runToolbarCommand}});Object.defineProperty(exports,"toolbarCommandState",{enumerable:true,get:function(){return editor.toolbarCommandState}});Object.defineProperty(exports,"EditorFontError",{enumerable:true,get:function(){return editor$1.EditorFontError}});exports.CONTENT_CONTROL_SLOTS=Te;exports.ContextMenuCellVerticalAlignment=jt;exports.ContextMenuCopy=$n;exports.ContextMenuCut=zn;exports.ContextMenuDelete=qn;exports.ContextMenuDeleteTable=Io;exports.ContextMenuDeleteTableColumn=_o;exports.ContextMenuDeleteTableRow=ko;exports.ContextMenuInsertColumnLeft=Ro;exports.ContextMenuInsertColumnRight=Mo;exports.ContextMenuInsertRowAbove=Po;exports.ContextMenuInsertRowBelow=wo;exports.ContextMenuItem=Ma;exports.ContextMenuPaste=Eo;exports.ContextMenuRefreshToc=Do;exports.ContextMenuRefreshTocPageNumbers=No;exports.ContextMenuSelectAll=Un;exports.DocumentName=HS;exports.DocumentOutline=Mi;exports.DocxEditor=as;exports.DocxEditorAuthorStyle=rs;exports.DocxEditorColorByChangeType=ns;exports.DocxEditorContent=yr;exports.DocxEditorContentControl=Ia;exports.DocxEditorContextMenu=Fo;exports.DocxEditorDocumentOutline=ki;exports.DocxEditorEquation=Pa;exports.DocxEditorFontNotice=ha;exports.DocxEditorHeaderFooterChrome=Ca;exports.DocxEditorHorizontalRuler=ia;exports.DocxEditorHyperLink=Ta;exports.DocxEditorImagePropertiesDialog=Dl;exports.DocxEditorLoading=vr;exports.DocxEditorLoadingSpinner=hl;exports.DocxEditorMenu=Ht;exports.DocxEditorNavigation=An;exports.DocxEditorNotesChrome=wa;exports.DocxEditorPageNumber=ba;exports.DocxEditorPageSetupDialog=vn;exports.DocxEditorParagraphDialog=kt;exports.DocxEditorRoot=Vo;exports.DocxEditorShell=LS;exports.DocxEditorToolbar=yn;exports.DocxEditorVerticalRuler=sa;exports.DocxEditorViewport=fr;exports.HorizontalRuler=xi;exports.ImageAltText=Pr;exports.ImageInsertProvider=ir;exports.ImageInsertTrigger=sr;exports.ImagePropertiesTrigger=_r;exports.ImageWrap=Sr;exports.LocaleProvider=Jn;exports.Logo=OS;exports.MenuBar=AS;exports.NAVIGATION_PANE_GAP=jc;exports.NAVIGATION_PANE_INSET=ca;exports.NAVIGATION_PANE_WIDTH=ua;exports.NavigationClose=kn;exports.NavigationFind=Ln;exports.NavigationHeader=Mn;exports.NavigationHeadings=Nn;exports.NavigationTab=Dn;exports.NavigationTabs=In;exports.NavigationTitle=_n;exports.NavigationToggle=Fn;exports.OUTLINE_BUTTON_LEFT_OFFSET=Gc;exports.OUTLINE_BUTTON_RESERVED_SPACE=jh;exports.OUTLINE_LEFT_OFFSET=Ri;exports.OUTLINE_RESERVED_SPACE=Wh;exports.PageIndicator=PS;exports.PageNumberTranslationContext=va;exports.PaginatedDocxEditor=hS;exports.PaginatedDocxEditorShell=SS;exports.REVIEW_MARKERS_GUTTER=fl;exports.REVIEW_PANE_GUTTER=gl;exports.RULER_WIDTH=Si;exports.ReviewRailContext=Yt;exports.SEARCH_DEBOUNCE_MS=Ni;exports.SEARCH_MATCH_LIMIT=Li;exports.Slot=H;exports.TitleBar=FS;exports.TitleBarRight=BS;exports.Toolbar=IS;exports.ToolbarButton=DS;exports.ToolbarContext=or;exports.ToolbarGroup=NS;exports.ToolbarImageProperties=Ir;exports.VERSION=qp;exports.VerticalRuler=Ti;exports.editorStateActiveSubscriptionCount=om;exports.isFieldLink=Ho;exports.navigationPaneReservation=Kt;exports.navigationShift=pa;exports.normalizeImageBytes=tr;exports.notificationYieldsToTask=Is;exports.provideDocxEditor=cf;exports.reviewGutter=Us;exports.useChromeTranslate=gs;exports.useContentControl=Ve;exports.useContentControlInstance=er;exports.useContextMenuTarget=cp;exports.useDocumentOutline=fa;exports.useDocumentSearch=ga;exports.useDocxEditor=M;exports.useDocxSource=mS;exports.useEditorCaret=nS;exports.useEditorCommand=U;exports.useEditorEvent=Xl;exports.useEditorSnapshot=iS;exports.useEditorState=_;exports.useEditorValueCommand=jo;exports.useFontFamily=rn;exports.useFonts=dS;exports.useHeaderFooterState=Hi;exports.useHyperlinkPopup=Se;exports.useHyperlinkPopupInstance=Qn;exports.useNavigationPane=ya;exports.useNavigationShift=Rt;exports.useNotePropertiesState=Xi;exports.useNoteScopeState=Yi;exports.usePageSetup=Nt;exports.useParagraphFormat=Fl;exports.useParagraphIndent=Ei;exports.useParagraphStyle=an;exports.useReviewAuthors=JC;exports.useReviewGutter=Qt;exports.useScopeClassName=Re;exports.useScopedChromeAnchor=Hn;exports.useTableBorderTargetLabel=ai;exports.useToolbarContext=nr;exports.useToolbarLabel=K;exports.useToolbarLabelFor=Tm;exports.useTranslation=D;exports.useZoom=Nl;