@docx-editor.dev/vue 2.16.2 → 2.17.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 Ns={version:"2.16.2"};var hm=Ns.version;var el=Symbol("locale"),tl=Symbol("lang"),sr=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(el,vue.shallowRef(i18n.en)),n=vue.inject(tl,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(el,l),vue.provide(tl,i),()=>t.default?.()}});function D(){let e=vue.inject(el,vue.shallowRef(i18n.en)),t=vue.inject(tl,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 Bs(e){let{t}=D();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var Ks="(prefers-color-scheme: dark)";function Vs(){return typeof window<"u"&&typeof window.matchMedia=="function"}function zs(){return Vs()?window.matchMedia(Ks).matches:false}function $s(e,t){return e==="dark"||e==="system"&&t}function ol(e){if(!Vs())return ()=>{};let t=window.matchMedia(Ks);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 al=Symbol("docxEditor"),ll=Symbol("editorStateTick"),Pm=vue.shallowRef(null);function k(){return vue.inject(al,Pm)}function st(){return vue.inject(ll,vue.shallowRef(0))}var no=Symbol("ReviewRailContext");function ro(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(no,e)}var il=0;function Im(){return il}function _(e,t=Object.is,o){let n=k(),r=st(),a=false,l,i,s=d=>{if(a&&d===l)return i;let c=e(d);return a&&t(i,c)?(l=d,i):(a=true,l=d,i=c,c)},u=()=>{let d=n.value;return s(d?d.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&(il++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{a=false;let d=u();t(p.value,d)||(p.value=d);},{flush:"post"}),j(()=>{il--,o?.onUnsubscribe?.();})),p}function Uo(e){return e.paragraphId===""}var _t=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),Fm=e=>e;function Am(){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 sl=Symbol("HyperlinkPopupContext");function Ee(){let e=vue.inject(sl,null),t=dr(e===null);return e??t}function dr(e=true){let t=k(),o=vue.ref(_t),n=vue.shallowRef(null),r=_(Fm),a=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),l=()=>{let m=n.value;m&&(m.editor.releaseSelection(m.pin),n.value=null);};j(l);let i=(m,C)=>{l();let T=t.value;o.value={mode:m?"reading":"editing",link:m??null,anchor:C??null,text:m?.text??"",url:m?m.kind==="internal"?`#${m.anchor??""}`:m.authored:"",copied:false,error:false,canEdit:T?t.value.can({type:"insertText",text:""}).ok:false};},s=()=>{l(),o.value=_t;},u=()=>{let m=t.value,C=Am();l();let T=m?.surface?.hyperlinks.linkAtCaret()??m?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(T&&Uo(T)){i(T,C);return}if(T){o.value={mode:"editing",link:T,anchor:C,text:T.text,url:T.kind==="internal"?`#${T.anchor??""}`:T.authored,copied:false,error:false,canEdit:m?t.value.can({type:"insertText",text:""}).ok:false};return}let f=m?.query({type:"selectedText"})??"",x=m?.retainSelection()??null;m&&x&&(n.value={editor:m,pin:x}),o.value={mode:"editing",link:null,anchor:C,text:f,url:"",copied:false,error:false,canEdit:m?t.value.can({type:"insertText",text:""}).ok:false};};j(vue.watch(()=>[t.value,e],([m,C],T,f)=>{if(!m||!C)return;let x=m.setHyperlinkChrome({onPopover:P=>i(P.link,{left:P.rect.left,top:P.rect.bottom}),onRequest:u});f(x);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let m=o.value,C=t.value;if(m.mode==="reading"&&m.link){let T=Uo(m.link)?C?.surface?.hyperlinks.fieldLinkAtCaret()??null:C?.surface?.hyperlinks.linkAtCaret()??null;if(T&&T.id===m.link.id)return;o.value=_t;return}if(m.mode==="editing"&&!m.link){let T=C?.surface;if(!T||T.retainedSelection())return;o.value=_t;}});let p=async()=>{let m=o.value.link?.href;if(!m)return false;try{await navigator.clipboard.writeText(m);}catch{return false}return o.value={...o.value,copied:true},true},d=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=m=>{o.value={...o.value,text:m,copied:false,error:false};},v=m=>{o.value={...o.value,url:m,copied:false,error:false};},y=()=>{let m=t.value,C=o.value,T=m?.surface?.hyperlinks;if(!T)return false;let f=C.url.trim();if(f.length===0)return o.value={...C,error:true},false;let x=f.startsWith("#");return T.applyHyperlink({...x?{anchor:f.slice(1)}:{url:f},...C.text.trim().length>0?{text:C.text}:{}})?(s(),true):(o.value={...C,error:true},false)},g=()=>{let m=t.value?.surface?.hyperlinks,C=o.value.link;if(!m)return false;let T=m.removeHyperlink(C?.id);return T&&s(),T},h=()=>{let m=t.value?.surface?.navigation,C=o.value.link;if(!m||!C)return false;if(C.kind==="internal"){let f=C.anchor?m.goToBookmark(C.anchor):false;return f&&(o.value=_t),f}let T=m.openExternal(C.href);return T&&(o.value=_t),T};return {state:vue.computed(()=>o.value.mode==="closed"?_t:{...o.value,canEdit:a.value}),open:i,openAtCaret:u,close:s,copy:p,beginEdit:d,setText:c,setUrl:v,commitEdit:y,unlink:g,openTarget:h}}var Pe={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function Bm(e){return e==="sdtLocked"||e==="sdtContentLocked"}function Km(e){return e==="contentLocked"||e==="sdtContentLocked"}function ul(e,t){return !e.ok&&e.code===t}function Ue(){let e=vue.inject(cl,null),t=ur();return e??t}function ur(){let e=k(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=_(g=>g),a=vue.computed(()=>e.value?.surface??null),l=vue.computed(()=>a.value?.contentControls??null);vue.watch([r,l,a],()=>{let g=l.value,h=a.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=l.value;if(!e.value)return null;let h=g?.atCaret()??null;if(h){let x=g?.disabledReason(h.id,"edit")??null,P=g?.disabledReason(h.id,"remove")??null;return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:Km(h.effectiveLock)||x==="locked",removalLocked:Bm(h.effectiveLock)||P==="locked",placeholder:h.placeholder,bound:h.bound||x==="bound",effectiveLock:h.effectiveLock}}let b=e.value?.query({type:"contentControlAt"});if(!b||!e.value)return null;let m=g?.disabledReason(b.id,"edit")??null,C=g?.disabledReason(b.id,"remove")??null,T=e.value.can({type:"setContentControlValue",value:""}),f=e.value.can({type:"removeContentControl"});return {id:b.id,tag:b.tag??null,alias:b.alias??null,controlType:b.controlType,locked:b.locked===true||m==="locked"||ul(T,"locked"),removalLocked:C==="locked"||ul(f,"locked"),placeholder:false,bound:m==="bound"||ul(T,"bound"),effectiveLock:null}}),s=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=g=>{l.value?.setShowAll(g),o.value=g;},p=g=>{l.value?.setFormFill(g),n.value=g;},d=vue.computed(()=>{let g=i.value,h=l.value;if(!g)return "no content control at the current selection";if(h){let m=h.disabledReason(g.id,"edit");return m==="locked"?"the content control is locked":m==="bound"?"the content control is bound to external data":m==="notFound"?"the content control was not found":m}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 b=e.value.can({type:"setContentControlValue",value:""});return b.ok?null:b.reason}),c=vue.computed(()=>{let g=i.value,h=l.value;if(!g)return "no content control at the current selection";if(h){let m=h.disabledReason(g.id,"remove");return m==="locked"?"the content control is locked":m==="notFound"?"the content control was not found":m}if(g.removalLocked)return "the content control is locked";if(!e.value)return "no document is loaded";let b=e.value.can({type:"removeContentControl"});return b.ok?null:b.reason}),v=g=>{let h=l.value,b=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(h&&b){let m=h.disabledReason(b.id,"edit");if(m)return {ok:false,code:m==="bound"?"bound":m==="locked"?"locked":"notFound",reason:m==="bound"?"the content control is bound to external data":m==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:g})},y=()=>{let g=l.value,h=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(g){let b=h?.id;if(!b)return {ok:false,code:"notFound",reason:"no content control at the current selection"};let m=g.disabledReason(b,"remove");return m?{ok:false,code:m==="locked"?"locked":"notFound",reason:m==="locked"?"the content control is locked":"the content control was not found"}:g.remove(b)?{ok:true,changed:true}:{ok:false,code:"unsupported",reason:"the edit was refused"}}return e.value.exec({type:"removeContentControl"})};return {control:i,controls:s,showAll:vue.computed(()=>o.value),formFill:vue.computed(()=>n.value),inspectorOpen:vue.computed(()=>t.value),canSetValue:vue.computed(()=>d.value===null&&i.value!==null),canRemove:vue.computed(()=>c.value===null&&i.value!==null),setValueDisabledReason:d,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 cl=Symbol("ContentControlContext");function fe(e){return e==null||e===false?[]:Array.isArray(e)?e.flatMap(fe):vue.isVNode(e)?e.type===vue.Fragment?fe(e.children):[e]:[]}var Gs=12700,Ws=96;function Wm(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function Gm(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 cr(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(!Wm(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}=Gm(n.pixelWidth,n.pixelHeight,n.dpiX??Ws,n.dpiY??Ws);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:a,heightPoints:l})}function dt(e){return Math.round(e/Gs*100)/100}function Wo(e){return Math.round(e*Gs)}var pr=Symbol("ToolbarContext"),Ym={t:void 0,onSave:void 0};function mr(){let e=vue.inject(pr,Ym);return vue.computed(()=>vue.unref(e))}function V(){let e=mr(),{t}=D();return o=>e.value.t?.(o)??t(o)}function Jm(e){let{t}=D();return o=>e?.(o)??t(o)}function De(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}function rf(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason&&e.value===t.value}function pl(e){return typeof e=="string"}function U(e){let t=e,o=k(),{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 pl(u)?u:editor.editorCommandKey(u)}),i=_(u=>{let p=r.value;if(pl(p)){let c=editor.toolbarCommandState(o.value,p);return {active:c.active,enabled:c.enabled,disabledReason:i18n.localizeDisabledReason(c.disabledReason,n),value:c.value??null}}if(!o.value)return {active:false,enabled:false,disabledReason:null,value:null};let d=o.value.can(p);return {active:o.value.isActive(p),enabled:d.ok,disabledReason:d.ok?null:i18n.localizeDisabledReason(d.reason??null,n),value:null}},rf,{extraDeps:a});return a.value,{execute:()=>{let u=r.value;return pl(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),value:vue.computed(()=>i.value.value)}}function ao(){let e=vue.ref(false);return vue.onMounted(()=>{e.value=true;}),t=>e.value?i18n.platformShortcut(t):t}function ml(...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 Xs(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:ml(typeof o.class=="string"?o.class:"",t)}}function vf(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function bf(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=vf(t[n],e[n]):n==="class"?o[n]=ml(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var B=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,a=i=>{let s=n?.vnode.ref,p=(Array.isArray(s)?s[0]:s)?.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 s=i[0];if(!s||typeof s!="object")return null;let u=bf(Xs(t),Xs(s.props??{}));return vue.cloneVNode(s,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});function z(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 I(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var It=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=V(),n=ao(),r=U(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let a=z(e.slot),l=n(o(a?.labelKey??e.slot)),i=editor.chromeSlotIsToggle(e.slot),s={onClick:()=>r.execute(),onMousedown:I,disabled:!r.isEnabled.value,"data-slot":e.slot,class:De("docx-toolbar__button",e.class,e.className),...r.isActive.value?{"data-active":""}:{},...r.isEnabled.value?{}:{"data-disabled":""},...i?{"aria-pressed":r.isActive.value}:{},...r.value.value!==null?{"data-value":r.value.value}:{},"aria-label":l,title:r.disabledReason.value??l},u=e.icon??t.default?.()??$(a?.paths);return e.asChild?vue.h(B,s,t.default):vue.h("button",{type:"button",...s},u??void 0)}}});It.docxToolbarPart=true;var kf="image/png,image/jpeg,image/gif",fl=Symbol("ImageInsertContext");function td(){let e=vue.inject(fl,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function jo(){return vue.inject(fl,null)}var gr=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=k(),{t:n}=D(),r=vue.ref(null),a=vue.ref(false),l=_(()=>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||a.value)return;let g=cr(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},b=y.canExecuteImageCommand?.(h);if(b&&!b.ok){window.alert(b.reason??n("imageInsert.errors.refused"));return}a.value=true;try{let m=await editor.executeImageCommand(y,h);m.ok?y.focus():window.alert(m.reason??n("imageInsert.errors.refused"));}finally{a.value=false;}},s=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 s([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 b=await h.arrayBuffer();await i(new Uint8Array(b));return}},p=()=>{l.value.enabled&&r.value?.click();},d=async v=>{let y=v.currentTarget;await s(y.files),y.value="";};return vue.provide(fl,{openFilePicker:p,insertFromFileList:s,insertFromDataTransfer:u,get isEnabled(){return l.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(l.value.disabledReason,n)},inputRef:r,onInputChange:d}),()=>[vue.h("input",{ref:r,type:"file",accept:kf,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:d,onMousedown:v=>v.stopPropagation()}),...fe(t.default?.()??[])]}}),yr=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=td(),n=V();return ()=>{if(e.hidden)return null;let r=z("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:I,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(B,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??$(r?.paths)})}}});yr.docxSlot="image.insert";var vr=Object.assign(yr,{docxSlot:"image.insert"});var gl=0,yl=false,vl=false;function od(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(yl||(yl=true,gl+=1,queueMicrotask(()=>{yl=false;}),vl||(vl=true,setTimeout(()=>{vl=false,gl=0;},0))),gl>16)}function nd(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};od()?setTimeout(o,0):queueMicrotask(o);}}function rd(){let e=0,t=0,o=null,n=new Set,r=new Set,a=new Set,l=i=>{for(let s of [...i])s();};return {getShift:()=>e,setShift(i){let s=Math.max(0,Math.round(i));s!==e&&(e=s,l(n));},subscribeShift(i){return n.add(i),()=>n.delete(i)},getReservation:()=>t,setReservation(i){let s=Math.max(0,Math.round(i));s!==t&&(t=s,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 xl=Symbol("navigationLayout");function Dt(){return vue.inject(xl,null)}function Nt(){let e=Dt(),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 ad(){let e=Dt(),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 et(){let e=Dt(),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 ld(){let e=new Set,t=new Map,o=new Map,n=0,r=null,a=false,l=null,i=false;function s(){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=s(),v=u(c);if(v!==l){if(c===void 0){a&&(r.setRevisionStyles("author"),a=false,l=v);return}r.setRevisionStyles(c),a=true,l=v;}}function d(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),d();},register(c,v,y){o.has(c)||o.set(c,n++),t.set(c,{author:v,style:y}),d();},unregister(c){(e.delete(c)||t.delete(c))&&d();},connect(c){r=c;let v=s();a=c!==null&&v!==void 0,l=c===null?null:u(v),d();},current:s}}var Zo=Symbol("RevisionStyleRegistry");var id=Symbol("docxEditorRootOwner"),Tl=Symbol("docxEditorRootHostEmit");function Of(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 El(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(al,o),vue.provide(ll,n),vue.provide(xl,rd()),vue.provide(id,true);let r=ld();vue.provide(Zo,r);let a=D(),l=vue.computed(()=>{a.catalogue.value;let f=vue.toValue(e).translate;return (x,P)=>f?f(x,P):a.t(x,P)}),i=vue.shallowRef(0),s=[],u=f=>(s.push(f),()=>{let x=s.indexOf(f);x!==-1&&s.splice(x,1);}),p=()=>{let f=s.at(-1);return f?(f(),true):false},d=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:u,requestCommentDraft:p});vue.watch(i,f=>{d.value={mounted:f,register:()=>(i.value++,()=>{i.value=Math.max(0,i.value-1);}),registerCommentDraft:u,requestCommentDraft:p};},{immediate:true}),vue.provide(no,d);let c=[],v=false,y=()=>{for(let x of c.splice(0))x();let f=o.value;f&&(r.connect(null),f.destroy(),o.value=null),v=false;},g=f=>{v||(v=true,t.ready(f));},h=f=>{t.change(f);},b=f=>{t.fontError(f);},m=()=>{if(typeof window>"u")return;y();let f=vue.toValue(e),x=editor.createDocxEditor({...f.document!==void 0?{document:f.document}:{},...f.fonts?{fonts:f.fonts}:{},...f.author!==void 0?{author:f.author}:{},...f.locale!==void 0?{locale:f.locale}:{},translate:l.value,...f.mode!==void 0?{mode:f.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...f.modules!==void 0?{modules:f.modules}:{},...f.zoom!==void 0?{zoom:f.zoom}:{},...f.zoomMode!==void 0?{zoomMode:f.zoomMode}:{},...f.tableInteractionLabel?{tableInteractionLabel:f.tableInteractionLabel}:{},...f.imageDecodePort?{imageDecodePort:f.imageDecodePort}:{},onFontError:b}),P=nd(()=>{n.value++;});c.push(x.on("change",S=>{h(S),P();})),c.push(x.on("selectionChange",P)),c.push(x.on("error",P)),r.connect(x),o.value=x;};vue.onMounted(()=>{vue.watch(o,f=>{if(!f)return;if(!f.snapshot().isOpening){g(f);return}let x=f.on("change",()=>{x(),g(f);});c.push(x);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,vue.toValue(e).imageDecodePort],m,{immediate:true,flush:"post"}),vue.onUnmounted(y);let C={zoom:void 0,mode:void 0};vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,f,x])=>{if(!o.value)return;let P=o.value;f!==void 0&&f!==C.zoom&&(C.zoom=f,P.setZoom(f));let S=x!==void 0&&(C.mode===void 0||!Of(C.mode,x)),w=x===void 0?null:editor.resolveZoomMode(x),M=f!==void 0&&x!==void 0&&w!==null&&w.type==="fit";(S||M)&&(C.mode=x,P.setZoomMode(x));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).author],([f,x])=>{f&&f.setAuthor(x);},{flush:"post"});let T={editor:null,value:void 0};return vue.watch(()=>[o.value,vue.toValue(e).mode],([f,x])=>{if(f){if(T.editor!==f){T.editor=f,T.value=x;return}T.value!==x&&(T.value=x,f.setMode(x));}},{flush:"post",immediate:true}),vue.watch(()=>[o.value,l.value],([f,x])=>{f&&f.setTranslate(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).locale],([f,x])=>{f&&f.setLocale(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([f,x])=>{f&&f.setTableInteractionLabel(x??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:l}}function sd(){return vue.inject(id,false)}var Vf=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=dr(true);return vue.provide(sl,o),()=>t.default?.()}}),zf=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=ur();return vue.provide(cl,o),()=>t.default?.()}}),ud={ready:()=>{},change:()=>{},fontError:()=>{}};function $f(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,a=vue.shallowRef({...r}),l={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...ud});vue.provide(Tl,i);let{editorRef:s}=El(a,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Xo,rootProps:a,rootListeners:l,editorRef:s}}var Xo=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=sd(),r=vue.inject(Tl,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={...ud};})):n||El(e,{ready:a=>t("ready",a),change:a=>t("change",a),fontError:a=>t("fontError",a)}),()=>vue.h(Vf,null,{default:()=>vue.h(zf,null,{default:()=>vue.h(gr,null,{default:()=>o.default?.()})})})}});var Yo=Symbol("ScopedByAncestorContext");function ke(){return vue.inject(Yo,false)?"":"docx-editor "}var hr=[.25,.5,.75,1,1.25,1.5,2];function Jo(e,t){return t==="in"?hr.find(n=>n>e+.001)??null:[...hr].reverse().find(n=>n<e-.001)??null}function cd(e,t){return e==="0"?1:e==="+"||e==="="?Jo(t,"in")??t:e==="-"?Jo(t,"out")??t:null}function ie(e){return e/1440*96}function xr(e){return e/96*1440}function K(e){return `${Math.round(e*100)/100}px`}var kl=316,Ml=44,Gf=24,Sr={inlineStart:0,inlineEnd:kl},pd={inlineStart:Ml,inlineEnd:Ml},md={inlineStart:0,inlineEnd:0};function yd({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return pd;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return Sr;let a=Number.isFinite(n)&&n>0?n:0;return t-a-o-2*Gf>=kl?Sr:pd}var jf=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}},Zf=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function vd(){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.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 io(){let e=ro(),t=_(jf,Zf),o=et(),n=ad(),r=vue.ref(null),a=vue.shallowRef(md),l=vue.watch([e,t,o,n],([i,s,u,p],d,c)=>{s.pageSetup&&(r.value=s.pageSetup.pageWidthTwips);let v=()=>{if((i.mounted??0)===0)return md;let h=s.pageSetup?.pageWidthTwips??r.value;return yd({open:s.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:h===null||s.entitledZoom===null?0:ie(h)*s.entitledZoom,inlineStartReservation:p,docked:s.entitledZoom===null})},y=()=>{let h=v();h!==a.value&&(a.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(l),a}var ng=e=>e.reviewPaneOpen??true,rg=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(Yo,true);let o=ke(),n=k(),r=_(ng),a=_(rg),l=ro(),i=vue.computed(()=>(l.value.mounted??0)>0),s=io(),u=Nt(),p=Dt(),d=null;vue.onMounted(()=>{d&&p?.setViewport(d);}),vue.onUnmounted(()=>{p?.setViewport(null);}),vue.watch(u,v=>{d&&d.style.setProperty("--docx-nav-shift",`${v}px`),p?.setViewport(d);});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=cd(v.key,y.getZoom());h!==null&&(v.preventDefault(),y.setZoom(h));};return ()=>{let v={ref:y=>{d=y instanceof HTMLElement?y:null,p?.setViewport(d),d&&d.style.setProperty("--docx-nav-shift",`${u.value}px`);},"data-testid":"docx-editor-scroll",onKeydownCapture:c,class:De(`${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":`${s.value.inlineEnd}px`,"--docx-review-gutter-start":`${s.value.inlineStart}px`}:{}}};return i.value&&(v["data-review-pane"]=r.value?"open":"closed"),a.value&&(v["data-zoom-fit"]=""),vue.h("div",v,t.default?.())}}});var vg=["nw","n","ne","e","se","s","sw","w"],Cd=40,Td=12;function bg(e){return `imageOverlay.handle.${e}`}function hg(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 xg(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 Sg(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 Ed=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=k(),{t:o}=D(),n=vue.ref(null),r=vue.ref(null),a=vue.shallowRef({left:0,top:0}),l=()=>{let m=editor.overlayHostOrigin(e.containerRef.value);(m.left!==a.value.left||m.top!==a.value.top)&&(a.value=m);},i=vue.shallowRef(null);vue.watch(r,m=>{i.value=m;},{flush:"sync"});let s=vue.shallowRef(null),u=vue.shallowRef(null),p=vue.shallowRef(null),d=vue.shallowRef(null),c=vue.shallowRef(null);vue.watch([()=>e.containerRef.value,()=>n.value?.id],([m],C,T)=>{if(!m)return;let f=x=>{let S=(x.target instanceof Element?x.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");d.value=S??null,S&&S===n.value?.id&&queueMicrotask(()=>p.value?.focus({preventScroll:true}));};m.addEventListener("pointerdown",f,{capture:true}),T(()=>m.removeEventListener("pointerdown",f,{capture:true}));},{flush:"post"}),vue.watch(t,(m,C,T)=>{if(!m){n.value=null;return}let f=()=>{n.value=editor.selectedDrawingOverlayTargetOf(m.surface);},x=()=>{queueMicrotask(f);};f();let P=[m.on("change",x),m.on("selectionChange",f)];T(()=>{for(let S of P)S();});},{immediate:true,flush:"post"}),vue.watch([()=>e.portalRef.value,()=>e.containerRef.value],([m,C],T,f)=>{if(l(),!m&&!C||typeof ResizeObserver!="function")return;let x=new ResizeObserver(l);m&&x.observe(m),C&&x.observe(C),f(()=>x.disconnect());},{immediate:true,flush:"post"}),vue.watch(n,l,{flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([m,C,T],f,x)=>{if(m){c.value=m;return}if(!C||!T?.surface)return;let P=C.closest(".docx-editor__scroll-container");if(!P)return;let S=T.surface.overlayCoordinates();c.value=editor.createImageOverlayScrollPort(P,S.paintScale),x(()=>{c.value=null;});},{flush:"post"});let v=()=>{r.value=null,s.value=null;let m=u.value;if(u.value=null,m)try{m.releasePointerCapture(m._lastPointerId??0);}catch{}},y=(m,C,T,f,x,P,S)=>{let w=t.value;if(!w?.surface)return;let M=w.surface.layout(),E=editor.captureImageMutationPreconditions(w);if(E){s.value=Object.freeze({x:f,y:x}),u.value=P,P._lastPointerId=S;try{P.setPointerCapture(S);}catch{}r.value={session:Object.freeze({drawingNodeId:T.id,startBounds:Object.freeze({x:T.x,y:T.y,width:T.width,height:T.height}),startWidthEmu:T.widthEmu,startHeightEmu:T.heightEmu,startPosition:T.position,anchorFrameOrigin:T.anchorFrameOrigin,transform:T.transform,mode:m,handle:C,preconditions:E,layoutRevision:M.revision,packageRevision:w.surface.session.packageRevision(),kind:T.kind}),bounds:T,accumulatedScrollPt:0},p.value?.focus({preventScroll:true});}},g=(m,C,T,f,x)=>{let P=t.value;if(P){if(editor.isStaleImageInteractionCommit(P,m)){v();return}m.mode==="resize"?P.exec({type:"setImageProperties",widthEmu:C,heightEmu:T,...x?.mode==="simple"?{horizontalEmu:x.horizontalEmu,verticalEmu:x.verticalEmu}:{},...x?.mode==="frame"?{...x.horizontalEmu!==void 0?{horizontalEmu:x.horizontalEmu}:{},...x.verticalEmu!==void 0?{verticalEmu:x.verticalEmu}:{}}:{}}):m.mode==="move"&&x&&P.exec({type:"setImagePosition",...x}),v();}},h=m=>{let C=t.value;if(!C)return;let T=i.value?.bounds??editor.selectedDrawingOverlayTargetOf(C.surface);if(!T)return;if(i.value&&m.key==="Escape"){m.preventDefault(),m.stopPropagation(),v();return}if(i.value)return;let f=m.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(m.key==="Delete"||m.key==="Backspace"){m.preventDefault(),m.stopPropagation(),C.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(m.key))return;m.preventDefault(),m.stopPropagation();let x=m.key==="ArrowLeft"?-f:m.key==="ArrowRight"?f:0,P=m.key==="ArrowUp"?-f:m.key==="ArrowDown"?f:0;if(m.altKey){if(!T.canResize)return;let w=Sg(x,P),M=editor.computeImageResizeResult({handle:w,startWidthEmu:T.widthEmu,startHeightEmu:T.heightEmu,startBounds:{x:T.x,y:T.y,width:T.width,height:T.height},startPosition:T.position,anchorFrameOrigin:T.anchorFrameOrigin,deltaXPt:x,deltaYPt:P,transform:T.transform,preserveAspect:editor.resizePreservesAspect(w,T.aspectLocked,m.shiftKey),kind:T.kind});C.exec({type:"setImageProperties",widthEmu:M.widthEmu,heightEmu:M.heightEmu,...M.position?.mode==="simple"?{horizontalEmu:M.position.horizontalEmu,verticalEmu:M.position.verticalEmu}:{},...M.position?.mode==="frame"?{...M.position.horizontalEmu!==void 0?{horizontalEmu:M.position.horizontalEmu}:{},...M.position.verticalEmu!==void 0?{verticalEmu:M.position.verticalEmu}:{}}:{}});return}if(T.kind!=="anchored"||!T.canMove||!T.position)return;let S=editor.computeMovedImagePosition(T.position,x,P);C.exec({type:"setImagePosition",...S});};vue.watch([r,t,()=>e.containerRef.value],([m,C,T],f,x)=>{if(!m||!C?.surface)return;let P=C.surface.overlayCoordinates(),S=M=>{let E=i.value,L=s.value;if(!E||!L)return;let R=editor.cssPixelsToLayoutPoints(M.clientX-L.x,P.paintScale),F=editor.cssPixelsToLayoutPoints(M.clientY-L.y,P.paintScale);if(E.session.mode==="move"){let re=0,Y=c.value,Q=T?.closest(".docx-editor__scroll-container");if(Y&&Q){let Ie=Q.getBoundingClientRect();M.clientY>Ie.bottom-Cd?re=Td:M.clientY<Ie.top+Cd&&(re=-Td),re!==0&&(re=Y.scrollBy(re));}let W=E.accumulatedScrollPt+re;r.value={...E,accumulatedScrollPt:W,bounds:Object.freeze({...E.bounds,x:E.session.startBounds.x+R,y:E.session.startBounds.y+F+W})};return}if(!E.session.handle)return;let te=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:R,deltaYPt:F,transform:E.session.transform,preserveAspect:editor.resizePreservesAspect(E.session.handle,E.bounds.aspectLocked,M.shiftKey),kind:E.session.kind});r.value={...E,bounds:Object.freeze({...E.bounds,x:te.previewBounds.x,y:te.previewBounds.y,width:te.previewBounds.width,height:te.previewBounds.height,widthEmu:te.widthEmu,heightEmu:te.heightEmu})};},w=M=>{let E=i.value;if(E)if(M.type==="pointerup"){let L=editor.cssPixelsToLayoutPoints(M.clientX-(s.value?.x??M.clientX),P.paintScale),R=editor.cssPixelsToLayoutPoints(M.clientY-(s.value?.y??M.clientY),P.paintScale),F=editor.finalizeImageOverlayInteraction({session:E.session,deltaXPt:L,deltaYPt:R,accumulatedScrollPt:E.accumulatedScrollPt,aspectLocked:E.bounds.aspectLocked,shiftKey:M.shiftKey,anchorFrameOrigin:E.session.anchorFrameOrigin});g(E.session,F.widthEmu,F.heightEmu,F.previewBounds,F.position);}else v();};window.addEventListener("pointermove",S),window.addEventListener("pointerup",w),window.addEventListener("pointercancel",w),x(()=>{window.removeEventListener("pointermove",S),window.removeEventListener("pointerup",w),window.removeEventListener("pointercancel",w);});},{flush:"post"}),vue.watch(n,m=>{!m||d.value!==m.id||(d.value=null,p.value?.focus({preventScroll:true}));},{flush:"post"});let b=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let m=t.value,C=b.value,T=e.portalRef.value;if(!m?.surface||!C||!T)return null;let f=m.surface.publishedLayout(),x=m.surface.overlayCoordinates(),P=editor.overlayFrameToSheetCssPixels(f,{pageIndex:C.pageIndex,x:C.x,y:C.y,width:C.width,height:C.height},x),S={left:P.left+a.value.left,top:P.top+a.value.top,width:P.width,height:P.height},w=C.canResize,M=C.kind==="anchored"&&C.canMove;return jsxRuntime.jsx(vue.Teleport,{to:T,children:jsxRuntime.jsxs("div",{ref:E=>{p.value=E instanceof HTMLDivElement?E:null;},class:"docx-image-selection-overlay","data-drawing-node-id":C.id,tabindex:0,onKeydown:h,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${M?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${S.left}px`,top:`${S.top}px`,width:`${S.width}px`,height:`${S.height}px`,cursor:M?"move":"default"},onPointerdown:E=>{I(E),!(!M||!C.position)&&E.button===0&&(E.preventDefault(),E.stopPropagation(),y("move",null,C,E.clientX,E.clientY,E.currentTarget,E.pointerId));}}),w?vg.map(E=>{let L=xg(E);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(bg(E)),tabindex:0,style:{left:`calc(${S.left}px + ${S.width}px * ${parseFloat(L.x)/100} - 5px)`,top:`calc(${S.top}px + ${S.height}px * ${parseFloat(L.y)/100} - 5px)`,cursor:hg(E)},onPointerdown:R=>{I(R),R.button===0&&(R.preventDefault(),R.stopPropagation(),y("resize",E,C,R.clientX,R.clientY,R.currentTarget,R.pointerId));}},E)}):null]})})}}});function Dl(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var Er=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=k(),o=jo(),n=vue.shallowRef(null),r=vue.shallowRef(null),a=()=>{let p=t.value,d=n.value;p&&d&&p.attach(d);},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 d=o;if(!d?.isEnabled)return;let c=p.clipboardData;c&&Dl(c)&&(editor.clipboardPasteLandsContent(c)||(p.preventDefault(),d.insertFromDataTransfer(c)));},s=p=>{!o?.isEnabled||!p.dataTransfer||!Dl(p.dataTransfer)||p.preventDefault();},u=p=>{let d=o;if(!d?.isEnabled)return;let c=p.dataTransfer;if(c&&Dl(c)){if(editor.clipboardDropLandsText(c)){if((p.target instanceof Element?p.target:null)?.closest("[contenteditable]")?.getAttribute("contenteditable")==="true")return;p.preventDefault();return}p.preventDefault(),d.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:De("docx-paginated-surface",e.class,e.className),onPaste:i,onDragover:s,onDrop:u}),t.value?vue.h(Ed,{containerRef:n,portalRef:r}):null])}});var _g=e=>e.isLoading||e.isOpening===true,Ig=e=>({width:ie(e.pageSetup?.pageWidthTwips??12240)*e.zoom,height:ie(e.pageSetup?.pageHeightTwips??15840)*e.zoom}),Nl=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"})}}),Dg=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=_(_g),n=_(Ig),{t:r}=D();return ()=>{if(!e.when&&!o.value)return null;let a=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:a,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(Nl),vue.h("span",{class:"docx-editor-sr-only"},r("loading.label"))])])])]))}}}),Pr=Object.assign(Dg,{Spinner:Nl});function Lg(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 wr(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=Lg(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function Rr(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 Mr({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:a}){if(!o)return t;let l=new Map,i=[];for(let d of t){if(!vue.isVNode(d))continue;let c=r(d);c?l.set(c,d):i.push(d);}let s=e.map((d,c)=>{let v=n(d,c),y=l.get(v);return y||a(d,c)}),u=new Set(e.map(n)),p=[...l.entries()].filter(([d])=>!u.has(d)).map(([,d])=>d);return [...s,...p,...i]}var Rd=new WeakMap;function oe(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=Rd.get(o)??0;return Rd.set(o,n+1),`docx-${n}-${e}`}var Ag=["zoom","script","format","list","alignment","styles","font","text","history"],Ll=new Set(["review"]),Fl=24,kd=new Set;function _d(e,t=Ag){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function Md(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 kd;i+=l;let s=new Set;for(let u of r){if(i<=t)break;let p=o.get(u);p===void 0||s.has(u)||(s.add(u),i-=p);}return s}function Id(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 Dd=Id;function Nd(e){if(!(e.available>0))return kd;let t=Md(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=Md(e,e.available-(e.hysteresis));return Id(n,o)?o:n}function Ld(e,t,o,n){return e+t+o+n*2}function Fd(e,t){return e+t}function Hl(e,t){return e+t}function Ad(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 Al(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function Hd(e){return Al(e.columnGap)}function Od(e,t){return e.clientWidth-Al(t.paddingLeft)-Al(t.paddingRight)}var so="data-toolbar-group",en="data-toolbar-fixed",Bl="data-toolbar-more",Vg=34,Bd=new Set;function Kd(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),a=vue.shallowRef(Vg),l=vue.ref(Bd),i=0,s,u=()=>typeof e=="function"?e():e.value,p=()=>typeof t=="function"?t():t.value,d=()=>typeof o=="function"?o():o.value,c=()=>{let g=n.value;if(!g||!u())return;let h=getComputedStyle(g),b=Hd(h),m=Od(g,h),C=g.querySelector(".docx-toolbar__separator"),T=b*2;if(C){let M=getComputedStyle(C),E=Ad(M);T=Ld(C.offsetWidth,E.start,E.end,b);}let f=new Map(r.value);for(let M of g.querySelectorAll(`[${so}]`)){let E=M.getAttribute(so);E&&M.offsetWidth>0&&f.set(E,Fd(M.offsetWidth,T));}r.value=f;let x=0;for(let M of g.querySelectorAll(`[${en}]`))M.offsetWidth>0&&(x+=Hl(M.offsetWidth,b));let P=g.querySelector(`[${Bl}]`);P&&P.offsetWidth>0&&(a.value=Hl(P.offsetWidth,b));let S={available:m,widths:f,groups:p(),order:d(),fixed:x,more:a.value,previous:l.value,hysteresis:Fl},w=Nd(S);Dd(w,l.value)||(l.value=w);},v=g=>{n.value=g;},y=()=>{s?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let g=n.value;if(!(!u()||!g||typeof ResizeObserver>"u")){s=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),s.observe(g);for(let h of g.querySelectorAll(`[${so}], [${en}]`))s.observe(h);}};return vue.watch([n,l,()=>u(),()=>p().join(","),()=>d().join(",")],()=>{if(!u()){l.value.size>0&&(l.value=Bd),s?.disconnect();return}c(),y();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),s?.disconnect();}),{attach:v,overflow:l}}var Wg=["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"],zd=Symbol("OverflowPanelContext");function Gg(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var Vl=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?.())])}}),$d=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=V(),o=ao(),n=vue.inject(zd,{close:()=>{}}),r=U(vue.computed(()=>e.slot));return ()=>{let a=z(e.slot),l=editor.chromeSlotIsToggle(e.slot),i=o(t(a?.labelKey??e.slot));return vue.h("button",{type:"button",class:"docx-toolbar__more-command","data-slot":e.slot,disabled:!r.isEnabled.value,...r.disabledReason.value?{title:r.disabledReason.value}:{},...l?{"aria-pressed":r.isActive.value}:{},...r.isActive.value?{"data-active":""}:{},...r.value.value!==null?{"data-value":r.value.value}:{},onMousedown:I,onClick:s=>{r.execute(),n.close(s.detail===0);}},[vue.h("span",{class:"docx-toolbar__more-command-icon",ariaHidden:"true"},[$(a?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),qd=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=V(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=oe("toolbar-overflow"),s=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(zd,{close:u}),vue.watch(o,(p,d,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||!l.value)return;l.value=false;let d=a.value;d&&Gg(d);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[Bl]:""},[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":s,title:s,...o.value?{"data-active":""}:{},onMousedown:I,onClick:()=>{o.value=!o.value;},onKeydown:p=>{p.key==="ArrowDown"&&(p.preventDefault(),l.value=true,o.value=true);}},[$(Wg)]),o.value?vue.h("div",{ref:a,id:i,role:"dialog","aria-label":s,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 on(e){let t=k(),o=vue.shallowRef(e);o.value=e;let r=_(a=>{let l=editor.toolbarCommandState(t.value,o.value);return {value:l.value??null,enabled:l.enabled,disabledReason:l.disabledReason}},Yg);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 $l=[{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"}],_r=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=V(),r=on("image.wrap"),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),s=oe("image-wrap"),u=vue.computed(()=>$l.find(v=>v.value===r.value.value)??$l[0]),p=z("image.wrap"),d=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(a,(v,y,g)=>{if(!v)return;let h=m=>{let C=l.value;C&&m.target instanceof Node&&C.contains(m.target)||(a.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),a.value=false,i.value?.focus());};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});});let c=v=>{a.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":a.value,"aria-controls":a.value?s:void 0,"aria-label":d,title:r.disabledReason.value??v,onMousedown:I,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:l,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(B,{...y,children:t.default?.()}):jsxRuntime.jsx("button",{...y,children:t.default?.()??$(p?.paths)}),a.value?jsxRuntime.jsx("div",{id:s,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:g=>g.stopPropagation(),children:$l.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]})}}});_r.docxSlot="image.wrap";var Ir=Object.assign(_r,{docxSlot:"image.wrap"});var Nr=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=V(),r=on("image.altText"),a=vue.ref(false),l=vue.ref(""),i=vue.ref(null),s=vue.ref(null),u=oe("image-alt");vue.watch([a,()=>r.value.value],([d,c])=>{d&&(l.value=c??"");}),vue.watch(a,(d,c,v)=>{if(!d)return;let y=h=>{let b=i.value;b&&h.target instanceof Node&&b.contains(h.target)||(a.value=false);},g=h=>{h.key==="Escape"&&(h.preventDefault(),a.value=false,s.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(l.value),a.value=false;};return ()=>{if(e.hidden)return null;let d=z("image.altText"),c=n(d?.labelKey??"formattingBar.altText"),v={type:"button",ref:s,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:I,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(B,{...v,children:t.default?.()}):jsxRuntime.jsx("button",{...v,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: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:l.value,onInput:y=>{l.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:()=>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]})}}});Nr.docxSlot="image.altText";var Lr=Object.assign(Nr,{docxSlot:"image.altText"});function Gd(e){return {get current(){return e.value}}}var Yd=e=>e.image;function Zd(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 uy(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function Wl(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(dt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(dt(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(dt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(dt(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function cy(e,t){let o=Wl(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Fr(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Wo(t);return Number.isInteger(o)?o:null}function py(e,t){let o=Wl(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,d=u?Fr(e.horizontalPoints):t.position?.horizontalEmu,c=p?Fr(e.verticalPoints):t.position?.verticalEmu;return u&&d===null?{ok:false}:p&&c===null?{ok:false}:d===void 0||c===void 0?{ok:false}:{ok:true,value:{horizontalEmu:d,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?Fr(e.horizontalPoints):t.position?.horizontalEmu,s=r?Fr(e.verticalPoints):t.position?.verticalEmu;return n&&i===null?{ok:false}:r&&s===null?{ok:false}:{ok:true,value:{...typeof i=="number"?{horizontalEmu:i}:{},...typeof s=="number"?{verticalEmu:s}:{},...a||n||r?{relativeToH:e.relativeToH}:{},...l||n||r?{relativeToV:e.relativeToV}:{}}}}function Ar(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function Hr(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var Gl=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=k(),{t:o}=D(),n=_(Yd),r=oe("image-prop-title"),a=oe("image-prop-wrap"),l=oe("image-prop-hyperlink"),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=vue.ref(null),d=vue.ref(null),c=vue.ref(null);vue.watch([()=>e.open,()=>n.value?.id,()=>n.value?.widthEmu,()=>n.value?.heightEmu,t],()=>{if(!e.open){s.value=null,u.value=null,p.value=null;return}let f=n.value;if(f){if(s.value=f,t.value?.surface){let{anchor:x}=t.value.surface.state().selection;u.value={paragraphId:x.paragraphId,offset:x.offset},p.value=t.value.surface.session.packageRevision();}c.value=null,d.value={widthPoints:String(dt(f.widthEmu)),heightPoints:String(dt(f.heightEmu)),cropLeft:String(f.crop.left),cropTop:String(f.crop.top),cropRight:String(f.crop.right),cropBottom:String(f.crop.bottom),title:f.title,description:f.description,hyperlink:f.hyperlink??"",wrap:f.wrap,lockAspect:f.locks.changeAspect,...Wl(f)};}},{flush:"post"});let v=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},y=()=>{e.onClose(),v();};vue.watch(()=>[e.open,i.value],async([f,x],P,S)=>{if(!f||!x)return;let w=false,M=null;if(S(()=>{w=true,M&&document.removeEventListener("keydown",M);}),await vue.nextTick(),w||!e.open||i.value!==x)return;let E=Zd(x);(E.find(R=>R.id==="image-prop-width"&&!R.hasAttribute("disabled"))??E.find(R=>!R.hasAttribute("disabled"))??x).focus(),M=R=>{if(R.key==="Escape"){R.preventDefault(),y();return}if(R.key!=="Tab")return;let F=Zd(x);if(F.length===0)return;let te=document.activeElement,re=F.findIndex(Q=>Q===te);if(re===-1)return;R.preventDefault();let Y=R.shiftKey?(re-1+F.length)%F.length:(re+1)%F.length;F[Y]?.focus();},document.addEventListener("keydown",M);},{flush:"post"});let g=vue.computed(()=>{let f=s.value??n.value;return !f||f.widthEmu<=0?1:f.widthEmu/f.heightEmu}),h=f=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,widthPoints:f};return}let P=Hr(f);if(P===null){d.value={...x,widthPoints:f};return}let S=Math.round(P/g.value*100)/100;d.value={...x,widthPoints:f,heightPoints:String(S)};},b=f=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,heightPoints:f};return}let P=Hr(f);if(P===null){d.value={...x,heightPoints:f};return}let S=Math.round(P*g.value*100)/100;d.value={...x,widthPoints:String(S),heightPoints:f};},m=()=>{let f=s.value;if(!f?.intrinsic)return;let x=f.intrinsic.pixelWidth*72/f.intrinsic.dpiX,P=f.intrinsic.pixelHeight*72/f.intrinsic.dpiY,S=d.value;S&&(d.value={...S,widthPoints:String(Math.round(x*100)/100),heightPoints:String(Math.round(P*100)/100)});},C=f=>{d.value&&(d.value={...d.value,...f});},T=()=>{let f=s.value,x=u.value,P=p.value,S=d.value;if(!t.value||!f||!S||!x||P===null)return;let w=f.canResize===false,M=f.canCrop===false,E={type:"setImageProperties",drawingNodeId:f.id,expectedPackageRevision:P,selectionParagraphId:x.paragraphId,selectionOffset:x.offset};if(!w){let Y=Hr(S.widthPoints),Q=Hr(S.heightPoints);if(Y===null||Q===null){c.value="imageProperties.errors.invalidDimensions";return}let W=Wo(Y),Ie=Wo(Q);W!==f.widthEmu&&(E.widthEmu=W),Ie!==f.heightEmu&&(E.heightEmu=Ie);}if(f.canCrop&&!M){let Y=Ar(S.cropLeft),Q=Ar(S.cropTop),W=Ar(S.cropRight),Ie=Ar(S.cropBottom);if(Y===null||Q===null||W===null||Ie===null){c.value="imageProperties.errors.invalidCrop";return}let qe=f.crop;(Y!==qe.left||Q!==qe.top||W!==qe.right||Ie!==qe.bottom)&&(E.crop={left:Y,top:Q,right:W,bottom:Ie});}S.title!==f.title&&(E.title=S.title),S.description!==f.description&&(E.description=S.description);let L=S.hyperlink.trim();if(L!==(f.hyperlink??"")&&(E.hyperlink=L===""?null:L),f.canChangeWrap&&S.wrap!==f.wrap&&(E.wrap=S.wrap),f.kind==="anchored"&&f.canMove&&cy(S,f)){let Y=py(S,f);if(!Y.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(Y.value,f))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(E,Y.value);}if(!(E.widthEmu!==void 0||E.heightEmu!==void 0||E.title!==void 0||E.description!==void 0||E.hyperlink!==void 0||E.crop!==void 0||E.wrap!==void 0||E.horizontalEmu!==void 0||E.verticalEmu!==void 0||E.relativeToH!==void 0||E.relativeToV!==void 0)){y();return}if(!t.value.can(E).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(E).ok){c.value="imageProperties.errors.refused";return}y();};return ()=>{if(!e.open||!d.value)return null;let f=d.value,x=s.value,P=x?.canCrop===false,S=x?.canResize===false,w=x?.locks.changeAspect===true,M=x?.kind==="anchored"&&x.canMove===true,E=x?.kind==="inline",L=x?.kind==="anchored"&&x.canMove===false;return jsxRuntime.jsx("div",{class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:y,onMousedown:R=>{R.stopPropagation(),uy(R);},children:jsxRuntime.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":r,class:"docx-dialog docx-image-properties-dialog",onClick:R=>R.stopPropagation(),onMousedown:R=>R.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:f.widthPoints,disabled:S,onChange:R=>h(R.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:f.heightPoints,disabled:S,onChange:R=>b(R.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:f.lockAspect,disabled:w,onChange:R=>d.value=d.value?{...d.value,lockAspect:R.target.checked}:d.value}),o("dialogs.imageProperties.lockAspectRatio")]}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__link-button",disabled:P||!x?.intrinsic,onClick:m,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),E?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,L?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,M?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[f.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:f.relativeToH??"page",onChange:R=>d.value=d.value?{...d.value,relativeToH:R.target.value}:d.value,children:editor.DRAWING_REL_FROM_H.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`dialogs.imagePosition.relativeOptions.${R}`)},R))})]}),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:f.relativeToV??"line",onChange:R=>d.value=d.value?{...d.value,relativeToV:R.target.value}:d.value,children:editor.DRAWING_REL_FROM_V.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`dialogs.imagePosition.relativeOptions.${R}`)},R))})]})]}):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:f.horizontalPoints,onChange:R=>C({horizontalPoints:R.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:f.verticalPoints,onChange:R=>C({verticalPoints:R.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:f.title,onChange:R=>C({title:R.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:f.description,onChange:R=>C({description:R.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:f.hyperlink,onChange:R=>C({hyperlink:R.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:f.wrap,disabled:x?.canChangeWrap===false,onChange:R=>C({wrap:R.target.value}),children:editor.IMAGE_WRAP_TARGETS.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`imageWrap.targets.${R}`)},R))})]}),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:P,value:f.cropLeft,onChange:R=>C({cropLeft:R.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:P,value:f.cropTop,onChange:R=>C({cropTop:R.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:P,value:f.cropRight,onChange:R=>C({cropRight:R.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:P,value:f.cropBottom,onChange:R=>C({cropBottom:R.target.value})})]}),P?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:T,children:o("common.apply")})]})]})})}}}),Or=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=k(),{t:n}=D(),r=_(Yd),a=vue.ref(false),l=vue.ref(null),i={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let s=o.value&&r.value?o.value.can(i):null,u=s?.ok===true,p=s&&!s.ok?s.reason:null,d=z("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:I,onClick:()=>{a.value=true;}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(B,{...c,children:t.default?.()}):jsxRuntime.jsx("button",{...c,children:t.default?.()??$(d?.paths)}),jsxRuntime.jsx(Gl,{open:a.value,onClose:()=>{a.value=false;},triggerRef:Gd(l)})]})}}});Or.docxSlot="image.properties";var Br=Object.assign(Or,{docxSlot:"image.properties"});function ge(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(It,{slot:e,...o},n)}});return t.docxSlot=e,t}var Jd=ge("history.undo"),Qd=ge("history.redo"),eu=ge("text.bold"),tu=ge("text.italic"),ou=ge("text.underline"),nu=ge("text.strike"),ru=ge("format.clear"),au=ge("script.super"),lu=ge("script.sub"),iu=ge("alignment.left"),su=ge("alignment.center"),du=ge("alignment.right"),uu=ge("alignment.justify"),cu=ge("list.bullet"),pu=ge("list.numbered"),mu=ge("list.outdent"),fu=ge("list.indent"),gu=ge("table.insert"),yu=ge("review.comments"),Vr=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=k(),n=st(),{openAtCaret:r}=Ee(),a=V(),{t:l}=D();return ()=>{if(e.hidden)return null;n.value;let i=editor.chromeProbeForSlot("text.link"),s=o.value&&i?o.value.can(i):null,u=s?.ok===true,p=i18n.localizeDisabledReason(s&&!s.ok?s.reason:null,l),d=z("text.link"),c=a(d?.labelKey??"text.link"),v={class:De("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?.()??$(d?.paths);return e.asChild?vue.h(B,v,t.default):vue.h("button",{type:"button",...v},y??void 0)}}});Vr.docxSlot="text.link";var zr=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=k(),o=mr(),n=V();return ()=>{if(e.hidden)return null;let r=z("file.save"),a=n(r?.labelKey??"file.save"),l=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:De("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:l,...l?{"data-disabled":""}:{},"aria-label":a,title:a,onMousedown:I,onClick:()=>o.value.onSave?.()},[$(r?.paths)])}}});zr.docxSlot="file.save";var Ft=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:De("docx-toolbar__separator",e.class,e.className)})}});function co(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}var yy=e=>({zoom:e.zoom,mode:e.zoomMode}),vy=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,vu={type:"fixed"};function jl(){let e=k(),t=_(yy,vy),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??vu),a=vue.computed(()=>Jo(t.value.zoom,"out")),l=vue.computed(()=>Jo(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(vu),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:hr}}var an=2,ln=3276,rn=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],xy=e=>e.formatting?.fontSizePt??null;function xu(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function Su(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 Sy(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<an||n>ln?null:n}function Cy(e){(co(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}var Tu=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:"+"})]})}}),$r=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(xy),n=U("font.size"),r=V(),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),s=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(ln,Math.max(an,Math.round(c*2))));},d=c=>{a.value=false,l.value=null,s.value?.blur(),Cy(i.value);};return vue.watch(a,(c,v,y)=>{if(!c)return;let g=h=>{let b=i.value;b&&h.target instanceof Node&&b.contains(h.target)||(a.value=false,l.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=l.value??v,g=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(l.value===null)return;let b=Sy(l.value);b!==null&&u(b);};return jsxRuntime.jsxs("span",{ref:i,class:"docx-toolbar__font-size","data-slot":"font.size",title:n.disabledReason.value??void 0,children:[jsxRuntime.jsx(Tu,{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)>an,canIncrease:c&&Math.round(o.value*2)<ln,onDecrease:()=>p(Su(o.value??0,rn,an/2)),onIncrease:()=>p(xu(o.value??0,rn,ln/2)),children:jsxRuntime.jsx("input",{ref:s,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":a.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),autocomplete:"off",onInput:b=>{l.value=b.target.value,a.value=true;},onFocus:b=>{b.target.select(),a.value=true;},onClick:()=>{a.value=true;},onKeydown:b=>{b.key==="Enter"?(b.preventDefault(),h(),d()):b.key==="Escape"?(b.preventDefault(),d()):(b.key==="ArrowDown"||b.key==="ArrowUp")&&(b.preventDefault(),a.value=true,o.value!==null&&p(b.key==="ArrowDown"?Su(o.value,rn,an/2):xu(o.value,rn,ln/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:rn.map(b=>{let m=g===b;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":m,...m?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{p(b),d();},children:b},b)})}):null]})}}});$r.docxSlot="font.size";var qr=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=jl(),n=V(),r=vue.ref(false),a=vue.ref(null);return vue.watch(r,(l,i,s)=>{if(!l)return;let u=p=>{let d=a.value;d&&p.target instanceof Node&&d.contains(p.target)||(r.value=false);};document.addEventListener("mousedown",u),s(()=>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),s=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(Tu,{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:[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:I,onClick:()=>{r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":s,...s?{"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]})}}});qr.docxSlot="zoom.level";var Ty={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},Ey=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??Ty;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}}},Py=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],wy=(e,t)=>Py.every(o=>e.disagrees[o]===t.disagrees[o]),Ry=(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&&wy(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")),My=e=>e.editable;function Xl(){let e=k(),t=_(Ey,Ry),o=_(My),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 Yl=e=>Math.round(e/1440*100)/100,Jl=e=>Yl(e).toLocaleString(void 0,{maximumFractionDigits:2}),Pu=e=>Math.round(e*1440),wu={left:"dialogs.paragraph.tabAlignLeft",center:"dialogs.paragraph.tabAlignCenter",right:"dialogs.paragraph.tabAlignRight",decimal:"dialogs.paragraph.tabAlignDecimal",bar:"dialogs.paragraph.tabAlignBar"},ky=e=>e===null||e===0?"none":e<0?"hanging":"firstLine",_y=(e,t)=>e==="none"?0:e==="hanging"?-Math.abs(t):Math.abs(t);function Ru(e){let t=e.indentFirstLineTwips;return {alignment:e.alignment??"left",indentLeft:e.indentLeftTwips??0,indentRight:e.indentRightTwips??0,special:ky(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 Ur={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 Mu(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 Iy(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 ku(e,t,o=Ur,n=o){let r={},a=false,l=(s,u)=>{r[s]=u,a=true;},i=s=>o[s]&&!n[s];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",_y(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),(!Iy(e.tabStops,t.tabStops)||i("tabStops")&&t.clearedAllTabStops)&&l("tabStops",t.tabStops),a?r:null}function _u(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(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 Hy={marginRight:"auto",fontSize:"12px",color:"var(--doc-danger)"},Oy={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},By={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},Ky={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",flexShrink:0,fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},Vy={padding:"16px 20px",overflowY:"auto",minHeight:0},zy={display:"grid",gridTemplateColumns:"1fr 1fr",gap:"28px"},Du={display:"flex",flexDirection:"column",gap:"14px",minWidth:0},dn={fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},We={display:"flex",alignItems:"center",gap:"12px"},ot={width:"92px",fontSize:"13px",color:"var(--doc-text-muted)"},ft={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Ql={fontSize:"11px",color:"var(--doc-text-muted)",width:"20px"},$y={display:"flex",alignItems:"center",gap:"8px",fontSize:"13px",color:"var(--doc-text)"},qy={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",flexShrink:0},un={padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Ht=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=Xl(),n=vue.ref("left"),r=vue.ref(0),a=vue.ref(0),l=vue.ref("none"),i=vue.ref(0),s=vue.ref(0),u=vue.ref(0),p=vue.ref("multiple"),d=vue.ref(1.08),c=vue.ref(false),v=vue.ref(false),y=vue.ref(false),g=vue.ref(true),h=vue.ref(false),b=vue.ref([]),m=vue.ref(false),C=vue.ref(0),T=vue.ref("left"),f=vue.ref("none"),x=vue.ref(false),P=vue.ref(null),S=vue.ref(Ur),w=vue.ref(false),M=vue.ref(Ur),E=vue.getCurrentInstance(),L=()=>document.querySelector('[role="dialog"][aria-label="'+t("dialogs.paragraph.title")+'"]'),R=vue.ref(false),F=`docx-paragraph-${E?.uid??0}`;vue.watch(()=>[e.open,o.format.value],([Y,Q])=>{if(!Y){x.value=false;return}if(x.value||Q===null)return;let W=Ru(Q);n.value=W.alignment,r.value=W.indentLeft,a.value=W.indentRight,l.value=W.special,i.value=W.specialBy,s.value=W.spaceBefore,u.value=W.spaceAfter,p.value=W.lineRule,d.value=W.lineValue,c.value=W.contextualSpacing,v.value=W.keepNext,y.value=W.keepLines,g.value=W.widowControl,h.value=W.pageBreakBefore,b.value=W.tabStops,m.value=false,S.value=Mu(Q),w.value=Q.indentUnknown,C.value=0,T.value="left",f.value="none",M.value=S.value,R.value=false,P.value=W,x.value=true,vue.nextTick(()=>L()?.focus());},{immediate:true});let te=()=>{let Y=Math.round(C.value);return Y<=0?false:(S.value={...S.value,tabStops:false},b.value=_u(b.value,{positionTwips:Y,alignment:T.value,...f.value!=="none"?{leader:f.value}:{}}),C.value=0,T.value="left",f.value="none",true)},re=()=>{let Y=P.value,Q=Y===null?null:ku(Y,{alignment:n.value,indentLeft:r.value,indentRight:a.value,special:l.value,specialBy:i.value,spaceBefore:s.value,spaceAfter:u.value,lineRule:p.value,lineValue:d.value,contextualSpacing:c.value,keepNext:v.value,keepLines:y.value,widowControl:g.value,pageBreakBefore:h.value,tabStops:b.value,clearedAllTabStops:m.value},M.value,S.value);if(Q===null){e.onClose();return}if(o.apply(Q)){R.value=false,e.onClose();return}R.value=true;};return ()=>{if(!e.open)return null;let Y=N=>w.value&&(N==="indentLeft"||N==="indentRight"||N==="special")?t("dialogs.paragraph.notShown"):t("dialogs.paragraph.mixed"),Q=N=>{S.value={...S.value,[N]:false};},W=(N,he,Mt,xe)=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${F}-${N}`,type:"number",style:ft,min:"0",step:"0.1",...N==="tabPosition"?{"data-docx-tab-entry":""}:{},value:xe&&S.value[xe]?"":Yl(he),placeholder:xe&&S.value[xe]?Y(xe):void 0,onInput:Qa=>{xe&&Q(xe),Mt(Pu(Number(Qa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ql,children:t("dialogs.paragraph.unitInches")})]}),Ie=(N,he,Mt,xe)=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${F}-${N}`,type:"number",style:ft,min:"0",step:"1",value:S.value[xe]?"":he,placeholder:S.value[xe]?Y(xe):void 0,onInput:Qa=>{Q(xe),Mt(Math.max(0,Number(Qa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ql,children:t("dialogs.paragraph.unitPoints")})]}),qe=(N,he,Mt)=>jsxRuntime.jsxs("label",{style:$y,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:he,".indeterminate":S.value[N],onChange:xe=>{S.value={...S.value,[N]:false},Mt(xe.target.checked);}}),t(`dialogs.paragraph.${N}`)]}),vm=`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:`${vm}${e.className?` ${e.className}`:""}`,style:Oy,onClick:e.onClose,onKeydown:N=>{N.key==="Escape"&&e.onClose();let he=L();he&&Iu(he,N)&&N.preventDefault();let Mt=N.target instanceof HTMLButtonElement||N.target instanceof HTMLSelectElement;if(N.key==="Enter"&&!Mt){let xe=N.target;if(xe instanceof HTMLElement&&xe.dataset.docxTabEntry!==void 0){te();return}o.isEnabled.value&&re();}},children:jsxRuntime.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":t("dialogs.paragraph.title"),tabindex:-1,style:By,onClick:N=>N.stopPropagation(),onMousedown:N=>N.stopPropagation(),children:[jsxRuntime.jsx("div",{style:Ky,children:t("dialogs.paragraph.title")}),jsxRuntime.jsx("div",{style:Vy,children:jsxRuntime.jsxs("div",{style:zy,children:[jsxRuntime.jsxs("div",{style:Du,children:[jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-alignment`,children:t("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${F}-alignment`,style:ft,value:S.value.alignment?"":n.value,onChange:N=>{Q("alignment"),n.value=N.target.value;},"aria-label":t("dialogs.paragraph.alignment"),children:[S.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:dn,children:t("dialogs.paragraph.indentation")}),W("beforeText",r.value,N=>{r.value=N;},"indentLeft"),W("afterText",a.value,N=>{a.value=N;},"indentRight"),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-special`,children:t("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${F}-special`,style:ft,value:S.value.special?"":l.value,onChange:N=>{Q("special"),l.value=N.target.value;},"aria-label":t("dialogs.paragraph.special"),children:[S.value.special?jsxRuntime.jsx("option",{value:"",children:Y("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"?W("by",i.value,N=>{i.value=Math.max(0,N);},"special"):null,jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.tabStops")}),b.value.length===0?jsxRuntime.jsx("div",{style:{fontSize:"12px",color:"var(--doc-text-muted)"},children:t(S.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):b.value.map(N=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("span",{style:{...ot,color:"var(--doc-text)"},children:t("dialogs.paragraph.tabPositionLabel",{position:Jl(N.positionTwips)})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:"13px",color:"var(--doc-text-muted)"},children:t(wu[N.alignment])}),jsxRuntime.jsx("button",{type:"button",style:un,onClick:()=>{b.value=b.value.filter(he=>he!==N);},"aria-label":t("dialogs.paragraph.tabRemoveAt",{position:Jl(N.positionTwips)}),children:t("dialogs.paragraph.tabRemove")})]},N.positionTwips)),W("tabPosition",C.value,N=>{C.value=Math.max(0,N);}),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-tabAlignment`,children:t("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${F}-tabAlignment`,style:ft,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:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-tabLeader`,children:t("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${F}-tabLeader`,style:ft,value:f.value,onChange:N=>{f.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:{...We,justifyContent:"flex-end"},children:[jsxRuntime.jsx("button",{type:"button",style:un,onClick:te,children:t("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",style:un,onClick:()=>{S.value={...S.value,tabStops:false},b.value=[];},children:t("dialogs.paragraph.tabClearAll")})]})]}),jsxRuntime.jsxs("div",{style:Du,children:[jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.spacing")}),Ie("spaceBefore",s.value,N=>{s.value=N;},"spaceBefore"),Ie("spaceAfter",u.value,N=>{u.value=N;},"spaceAfter"),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-lineSpacing`,children:t("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${F}-lineSpacing`,style:ft,value:S.value.lineSpacing?"":p.value,onChange:N=>{let he=N.target.value;Q("lineSpacing"),p.value=he,d.value=he===P.value?.lineRule?P.value.lineValue:he==="multiple"?1.08:12;},"aria-label":t("dialogs.paragraph.lineSpacing"),children:[S.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:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-at`,children:t("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${F}-at`,type:"number",style:ft,disabled:S.value.lineSpacing,min:"0.01",step:p.value==="multiple"?"0.01":"1",value:S.value.lineSpacing?"":d.value,onInput:N=>{let he=N.target.value.trim();d.value=he===""?p.value==="multiple"?1.08:12:Number(he)||0;},"aria-label":t("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{style:Ql,children:p.value==="multiple"?"":t("dialogs.paragraph.unitPoints")})]}),qe("contextualSpacing",c.value,N=>{c.value=N;}),jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.pagination")}),qe("keepNext",v.value,N=>{v.value=N;}),qe("widowControl",g.value,N=>{g.value=N;}),qe("keepLines",y.value,N=>{y.value=N;}),qe("pageBreakBefore",h.value,N=>{h.value=N;})]})]})}),jsxRuntime.jsxs("div",{style:qy,children:[R.value?jsxRuntime.jsx("span",{role:"alert",style:Hy,children:t("dialogs.paragraph.refused")}):null,jsxRuntime.jsx("button",{type:"button",style:un,onClick:e.onClose,children:t("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{...un,backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",borderColor:"var(--doc-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:re,children:t("dialogs.paragraph.ok")})]})]})})})}}});var Lu=Symbol("docx.paragraphDialog"),Fu=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(Ht,{open:o.value,onClose:r})]}});function Au(){return vue.inject(Lu,null)}var Jy=[1,1.15,1.5,2,2.5,3],Ou=10,Bu=0,Qy=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),ev=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,Wr=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(Qy,ev),n=U("list.lineSpacing"),r=U("paragraph.dialog"),a=Au(),l=V(),i=vue.ref(false),s=vue.ref(null);vue.watch(i,(d,c,v)=>{if(!d)return;let y=g=>{let h=s.value;h&&g.target instanceof Node&&h.contains(g.target)||(i.value=false);};document.addEventListener("mousedown",y),v(()=>document.removeEventListener("mousedown",y));});let u=d=>{if(i.value=false,!t.value)return;let c=editor.commandForSlotValue("list.lineSpacing",d);c&&t.value.can(c).ok&&t.value.exec(c);},p=(d,c)=>{if(i.value=false,!t.value)return;let v={type:"setParagraphSpacing",[d]:c};t.value.can(v).ok&&t.value.exec(v);};return ()=>{if(e.hidden)return null;let d=z("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:s,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:I,onClick:()=>{i.value=!i.value;},children:[$(d?.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:[Jy.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=s.value?.querySelector(".docx-toolbar__line-spacing-trigger");a?.open(g instanceof HTMLElement?g: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:I,onClick:()=>p("beforePt",c?Bu:Ou),children:l(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("afterPt",v?Bu:Ou),children:l(v?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});Wr.docxSlot="list.lineSpacing";var rv=[{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"}],Ku=[{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"],jr=["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"],gt=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),Le=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function av(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?[Le(5),Le(15),Le(25),Le(35),Le(50)]:o===0?[gt(50),gt(35),gt(25),gt(15),gt(5)]:o>=.8?[Le(10),Le(25),Le(50),Le(75),Le(90)]:[gt(80),gt(60),gt(40),Le(25),Le(50)]}var lv=/^[0-9A-Fa-f]{6}$/;function iv(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 sv(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 Zr=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":""}:{},...sv(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:I,onClick:()=>e.apply(e.value)})}}),dv=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(av),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(Zr,{value:n,css:`#${n.toLowerCase()}`,title:e.label(jr[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,a)=>{let l=t[a][n],i=iv(r,l.apply);return jsxRuntime.jsx(Zr,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(jr[a])}, ${e.label(l.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${a}`)}))]})]})}}}),uv=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=lv.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(dv,{...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:rv.map(n=>jsxRuntime.jsx(Zr,{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")})]})]})]})}}}),ti=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=k(),o=V();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===jr.length?n.map(l=>l.hex):Vu,a=e.current?.toUpperCase()??null;return jsxRuntime.jsx(uv,{apply:e.apply,label:o,current:a,themeHexes:r})}}}),cv=Ku.filter(e=>e.value!=="white"),pv=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:cv.map(t=>jsxRuntime.jsx(Zr,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function zu(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(s){let u=k(),p=U(t),d=V(),c=vue.ref(false),v=vue.ref(o),y=vue.ref(null),g=_(m=>{if(l){let C=m.formatting?.color;return C&&C.kind==="hex"?C.value.toUpperCase():null}return m.formatting?.highlight??null}),h=vue.computed(()=>{let m=u.value?.getDocumentThemeColors()??[];return m.length===jr.length?m.map(C=>C.hex):Vu});vue.watch(c,(m,C,T)=>{if(!m)return;let f=x=>{let P=y.value;P&&x.target instanceof Node&&P.contains(x.target)||(c.value=false);};document.addEventListener("mousedown",f),T(()=>document.removeEventListener("mousedown",f));});let b=m=>{c.value=false;let C=u.value;if(!C)return;let T=editor.commandForSlotValue(t,m);T&&C.can(T).ok&&(C.exec(T),m!==r.value&&(v.value=m));};return ()=>{if(s.hidden)return null;let m=z(t),C=d(m?.labelKey??t);return jsxRuntime.jsxs("div",{ref:y,class:`docx-toolbar__colorsplit${s.className?` ${s.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":C,title:p.disabledReason.value??C,onMousedown:I,onClick:()=>b(v.value),children:[s.icon??$(m?.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":C,title:p.disabledReason.value??C,onMousedown:I,onClick:()=>{c.value=!c.value;},children:"\u25BE"}),c.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-popup",role:"dialog","aria-label":C,onMousedown:I,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>b(r.value),children:[jsxRuntime.jsx("span",{class:`docx-toolbar__swatch-clear-chip${r.value==="none"?" docx-toolbar__swatch-clear-chip--none":""}`,"aria-hidden":"true"}),d(r.labelKey)]}),a({apply:b,label:d,current:g.value,themeHexes:h.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var mv=new Map(Ku.map(e=>[e.value,e.css])),oi=zu({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(ti,{apply:e.apply,current:e.current})}),ni=zu({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>mv.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(pv,{...e})});var vv=["alignment.left","alignment.center","alignment.right","alignment.justify"],pn=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"),a=V(),l=vue.ref(false),i=vue.ref(null),s=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(l.value=false);};return vue.watch(l,(u,p,d)=>{u&&(document.addEventListener("mousedown",s),d(()=>document.removeEventListener("mousedown",s)));}),()=>{if(e.hidden)return null;let u=[t,o,n,r],p=vv.map((y,g)=>({slot:y,control:z(y),state:u[g]})),d=p.find(y=>y.state.isActive.value)??p[0],c=p.some(y=>y.state.isEnabled.value),v=a(d.control?.labelKey??d.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":v,title:c?v:d.state.disabledReason.value??v,onMousedown:I,onClick:()=>{l.value=!l.value;}},[$(d.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(y=>{let g=a(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(),l.value=false;}},[$(y.control?.paths)])})):null])}}});pn.docxSlot="alignment";var ri=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:De("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(B,n,o.default):vue.h("button",n,r??void 0)}}});var xv=Object.freeze([]),Sv=e=>e.formatting?.fontFamily??null,Cv=e=>e;function mn(){let e=k(),t=_(Sv),o=_(Cv),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():xv),r=U("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 Rv=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"]]),Mv=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],Gu=Symbol("FontFamilyContext");function ai(){return vue.inject(Gu,null)}var li=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ai(),n=V();return ()=>{if(!o)return null;let r=n(z("font.family")?.labelKey??"font.family"),a={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},l=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{type:"button",...a,children:l})}}});li.docxToolbarPart=true;var ju=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ai(),n=V();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}`:""}`},a;return t.default?a=t.default():a=Mv.map(i=>({...i,fonts:o.options.value.filter(s=>(Rv.get(s.toLowerCase())??"other")===i.category)})).filter(i=>i.fonts.length>0).flatMap((i,s)=>{let u=[];s>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(Zu,{value:p},p));return u}),e.asChild?jsxRuntime.jsx(B,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),Zu=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=ai();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}`:""}`},a=t.default?.()??[jsxRuntime.jsx("span",{style:{fontFamily:e.value},children:e.value})];return e.asChild?jsxRuntime.jsx(B,{...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]})}}}),kv=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=mn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,s)=>{if(!l)return;let u=p=>{let d=r.value;d&&p.target instanceof Node&&d.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),s(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(Gu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family"},i=t.default?.()??[jsxRuntime.jsx(li,{}),jsxRuntime.jsx(ju,{})];return e.asChild?jsxRuntime.jsx(B,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),ii=Object.assign(kv,{docxSlot:"font.family",Trigger:li,Content:ju,Item:Zu});var Iv=/^heading ([1-9])$/;function Xu(e,t){let o=e||t,n=Iv.exec(o);return n?`Heading ${n[1]}`:o}var Nv=Object.freeze([]),Lv=e=>e.formatting?.styleId??null,Fv=e=>e;function fn(){let e=k(),t=_(Lv),o=_(Fv),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(l=>l.type==="paragraph").map(l=>({styleId:l.styleId,name:Xu(l.name,l.styleId),preview:l.preview})):Nv),r=U("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 Kv(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 Qu=Symbol("ParagraphStyleContext");function si(){return vue.inject(Qu,null)}var di=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=si(),n=V();return ()=>{if(!o)return null;let r=z("styles.style"),a=n(r?.labelKey??"styles.style"),l={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":a,title:a},i=o.options.value.find(u=>u.styleId===o.value.value),s=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(B,{...l,children:s}):jsxRuntime.jsx("button",{type:"button",...l,children:s})}}});di.docxToolbarPart=true;var ec=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=si();return ()=>{if(!o||!o.open.value)return null;let n={role:"listbox",class:`docx-toolbar__menu docx-toolbar__style-content${e.className?` ${e.className}`:""}`},r=t.default?.()??o.options.value.map(a=>jsxRuntime.jsx(tc,{value:a.styleId},a.styleId));return e.asChild?jsxRuntime.jsx(B,{...n,children:r}):jsxRuntime.jsx("div",{...n,children:r})}}}),tc=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=si();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:I,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?Kv(r.preview):void 0,children:r?.name??e.value})];return e.asChild?jsxRuntime.jsx(B,{...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]})}}}),Vv=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=fn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,s)=>{if(!l)return;let u=p=>{let d=r.value;d&&p.target instanceof Node&&d.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),s(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(Qu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style"},i=t.default?.()??[jsxRuntime.jsx(di,{}),jsxRuntime.jsx(ec,{})];return e.asChild?jsxRuntime.jsx(B,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),ui=Object.assign(Vv,{docxSlot:"styles.style",Trigger:di,Content:ec,Item:tc});function oc(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=U(o),i=Ue(),s=V();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=z(o),d=s(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":d,title:l.disabledReason.value??d,onMousedown:I,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},v=r.icon??a.default?.()??$(p?.paths);return r.asChild?vue.h(B,c,a.default):vue.h("button",c,v??void 0)}}});return n.docxSlot=o,n}var Jr=oc(Pe.showAll,"showAll"),Qr=oc(Pe.formFill,"formFill"),gn=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=Pe.inspector,n=U(o),{inspectorOpen:r,openInspector:a}=Ue(),l=V();return ()=>{if(e.hidden)return null;let i=z(o),s=l(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Pe.inspector,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},...r.value?{"data-active":""}:{},"aria-pressed":r.value,"aria-label":s,title:n.disabledReason.value??s,onMousedown:I,onClick:()=>a()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(B,u,t.default):vue.h("button",u,p??void 0)}}});gn.docxSlot=Pe.inspector;var yn=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}=Ue(),a=V();return ()=>{if(e.hidden)return null;let l=Pe.remove,i=z(l),s=a(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Pe.remove,disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":s,title:n.value??s,onMousedown:I,onClick:()=>r()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(B,u,t.default):vue.h("button",u,p??void 0)}}});yn.docxSlot=Pe.remove;var nc={[Pe.showAll]:Jr,[Pe.formFill]:Qr,[Pe.inspector]:gn,[Pe.remove]:yn};function pi(e,t){let o=k(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,a,l)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),s=o.value.on(e,i);l(s);},{immediate:true,flush:"post"});}var eb=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],mi=Symbol("TableChromeContext");function sc(){let e=vue.inject(mi,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function ob(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}`:"",s=e?.getTableCellSelection()??null,u=s?`${s.tableId}|${s.rows.from}-${s.rows.to}|${s.columns.from}-${s.columns.to}|${s.cellIds.join(",")}`:"";return {tableKey:a,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function nb(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function rb(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var lc={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function ab(e,t){let o={};for(let n of eb){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var fi=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=k(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(lc);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let a=_(d=>({table:d.table,editable:d.editable,editingMode:d.editingMode??"editing",headParagraphId:d.selection?.to&&"paraId"in d.selection.to?d.selection.to.paraId:d.selection?.from&&"paraId"in d.selection.from?d.selection.from.paraId:""}),nb,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),l=()=>{let d=o.value;if(!d){r.value=lc;return}let c=ob(d,d.snapshot());rb(r.value,c)||(r.value=c);};vue.watch([o,a],l,{immediate:true,flush:"post"}),pi("selectionChange",l);let i=vue.computed(()=>r.value.tableKey!==""),s=vue.computed(()=>{let d=o.value;return d?ab(d,n.value):{}}),u=(d,c)=>{let v=o.value;if(!v)return;let{result:y,nextDraft:g}=editor.runTableChromeCommand(v,d,c,n.value);y.ok&&g&&(n.value=g);},p={visible:i,draft:vue.computed(()=>n.value),setDraft:d=>{n.value=d;},slotState:d=>s.value[d]??{enabled:false,disabledReason:"editor is not ready"},apply:u};return vue.provide(mi,p),()=>t.default?.()}});function lb(){let e=vue.inject(mi,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function gi(e){let t=lb(),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 ib='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function yt(e){return [...e.querySelectorAll(ib)].filter(t=>t.closest('[role="menu"]')===e)}function yi(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function Fe(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 Ae(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}function bi(e){(co(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function hi(e,t,o){vue.watch(e,(n,r,a)=>{if(!n)return;let l=i=>{let s=o.value;s&&i.target instanceof Node&&s.contains(i.target)||t(false);};document.addEventListener("mousedown",l),a(()=>document.removeEventListener("mousedown",l));});}function ea({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=D(),r=i18n.localizeDisabledReason(t,n),a=oe("table-chrome-reason"),l=!e&&r?a:void 0;return {reasonId:a,shared:{type:"button",onMousedown:I,"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 ub='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function uc(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,s=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(ub)].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 d=c=>{let v=u();if(c.key==="Escape"){c.preventDefault(),t(false),s?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),Fe(v,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),Fe(v,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ae(v,"first");return}if(c.key==="End"){c.preventDefault(),Ae(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",d),l(()=>i.removeEventListener("keydown",d));},{flush:"post"});}function cc(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,s=n.value;if(!i)return;let u=()=>[...i.querySelectorAll('button:not([aria-disabled="true"])')].filter(d=>d.closest('[role="dialog"]')===i);queueMicrotask(()=>{u()[0]?.focus();});let p=d=>{if(d.key==="Escape"){d.preventDefault(),t(false),s?.focus();return}if(d.key==="Enter"||d.key===" "){let c=document.activeElement,v=u();c instanceof HTMLElement&&v.includes(c)&&(d.preventDefault(),c.click());}};i.addEventListener("keydown",p),l(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var gb=e=>e;function xi(){let e=k(),t=V(),o=_(gb);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 hb(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function xb(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function Sb(e){return $(editor.tableChromeIconPaths(e))}function Si(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:s}){let u=gi(e),p=vue.ref(false),d=vue.ref(null),c=vue.ref(null),v=y=>{p.value=y;};return hi(p,v,d),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=s.default?.()??[jsxRuntime.jsx(a,{}),jsxRuntime.jsx(l,{})];return i.asChild?jsxRuntime.jsx(B,{...y,ref:d,children:g}):jsxRuntime.jsx("div",{ref:d,...y,children:g})}}}),a=vue.defineComponent({name:`TableChromeTrigger_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:s}){let u=vue.inject(n),p=V(),d=z(e),c=p(d?.labelKey??o);return ()=>{let{shared:v,reasonNode:y}=ea({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:xb(u.enabled,u.open,u.setOpen)}:{}},h=s.default?.()??[$(d?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})];return i.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...g,children:h}),y]}):jsxRuntime.jsxs("button",{...g,children:[h,y]})}}});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:s}){let u=vue.inject(n),p=V(),d=vue.ref(null);return uc(()=>u.open&&u.enabled,u.setOpen,d,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=z(e),v=p(c?.labelKey??o),y={ref:d,role:"menu","aria-label":v,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:I};return i.asChild?jsxRuntime.jsx(B,{...y,children:s.default?.()}):jsxRuntime.jsx("div",{...y,children:s.default?.()})}}});return {Root:r,Trigger:a,Content:l,CtxKey:n}}var bn=Si("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),bc=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(bn.CtxKey),n=V();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(s=>s.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:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[Sb(r.icon)];return e.asChild?jsxRuntime.jsx(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),hc=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(bn.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(bc,{value:o.value},o.value))})})}}),Cb=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(bn.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(bn.Trigger,{}),jsxRuntime.jsx(hc,{})]})}}),hn=Object.assign(Cb,{docxSlot:"table.borderTarget",Trigger:bn.Trigger,Content:hc,Item:bc}),yo=Si("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),pc=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(yo.CtxKey),n=V();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(s=>s.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: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(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),xn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(yo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(yo.Trigger,{}),jsxRuntime.jsx(yo.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(pc,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:yo.Trigger,Content:yo.Content,Item:pc}),vo=Si("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),mc=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(vo.CtxKey),n=V();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:I,onClick:()=>{o.setOpen(false),o.apply(a.size);}},s=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(B,{...i,children:s}):jsxRuntime.jsx("button",{...i,children:s})}}}),Sn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(vo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(vo.Trigger,{}),jsxRuntime.jsx(vo.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx(mc,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:vo.Trigger,Content:vo.Content,Item:mc});function xc(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 d=gi(e),c=vue.ref(false),v=vue.ref(n),y=vue.ref(null),g=vue.ref(null),h=m=>{c.value=m;},b=m=>{v.value=m;};return hi(c,h,y),vue.provide(r,{get open(){return c.value},setOpen:h,get enabled(){return d.enabled.value},get disabledReason(){return d.disabledReason.value},apply:d.apply,draft:d.draft,triggerRef:g,get lastHex(){return v.value},setLastHex:b}),()=>{if(u.hidden||!d.visible.value)return null;let m={class:`docx-toolbar__colorsplit docx-table-chrome${u.className?` ${u.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},C=p.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(s,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(B,{...m,ref:y,children:C}):jsxRuntime.jsx("div",{ref:y,...m,children:C})}}}),l=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),c=V(),v=z(e),y=c(v?.labelKey??t);return ()=>{let{shared:g,reasonNode:h}=ea({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:y}),b=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.lastHex??n,m={...g,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:d.enabled?()=>d.apply({kind:"hex",value:b}):void 0},C=p.default?.()??[$(v?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:hb(b,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...m,children:C}),h]}):jsxRuntime.jsxs("button",{...m,children:[C,h]})}}});l.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),v=V()(t);return ()=>{let{shared:y,reasonNode:g}=ea({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:v}),h={...y,ref:d.triggerRef,class:`docx-toolbar__colorsplit-caret${u.className?` ${u.className}`:""}`,"aria-haspopup":"dialog","aria-expanded":d.open,onClick:d.enabled?()=>d.setOpen(!d.open):void 0},b=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...h,children:b}),g]}):jsxRuntime.jsxs("button",{...h,children:[b,g]})}}});i.docxToolbarPart=true;let s=vue.defineComponent({name:`TableColorContent_${e}`,props:{className:String,asChild:Boolean,clearFill:{type:Boolean,required:true}},setup(u,{slots:p}){let d=vue.inject(r),c=V(),v=vue.ref(null);return cc(()=>d.open&&d.enabled,d.setOpen,v,d.triggerRef),()=>{if(!d.open||!d.enabled)return null;let y=c(t),g=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.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},b=p.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u.clearFill?jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>{d.setOpen(false),d.apply(null),bi(d.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(ti,{apply:m=>{d.setOpen(false),d.setLastHex?.(m),d.apply({kind:"hex",value:m}),bi(d.triggerRef.value);},current:g})]});return u.asChild?jsxRuntime.jsx(B,{...h,children:b}):jsxRuntime.jsx("div",{...h,children:b})}}});return {Root:a,Main:l,Trigger:i,Content:s,CtxKey:r}}var Bt=xc("table.borderColor","table.borderColor",{defaultHex:"000000"}),Cn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Bt.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Bt.Main,{}),jsxRuntime.jsx(Bt.Trigger,{}),jsxRuntime.jsx(Bt.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:Bt.Trigger,Content:Bt.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:Bt.Main}),Kt=xc("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),Tn=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Kt.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Kt.Main,{}),jsxRuntime.jsx(Kt.Trigger,{}),jsxRuntime.jsx(Kt.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:Kt.Trigger,Content:Kt.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:Kt.Main});var Sc=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map},separator:{type:Boolean,default:true}},setup(e){let t=sc();return ()=>{if(!t.value)return null;let o=[hn,Cn,xn,Sn,Tn];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.separator?jsxRuntime.jsx(Ft,{}):null,o.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})})]})}}});var Rb=e=>e.editingMode??"editing",Ti='[role="menuitemradio"]:not([disabled])',Mb=(e,t)=>e.length===t.length&&e.every((o,n)=>o===t[n]),kb=e=>e.isLoading||e.isOpening===true,En=[{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"}],_b=Object.freeze(En.map(()=>null));function Ib(e){return e?En.map(t=>{let o=e.can({type:"setEditingMode",mode:t.mode});return o.ok?null:o.reason}):_b}var Db="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function Ei(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 oa=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(Rb),n=_(kb),r=_(()=>Ib(t.value),Mb),a=V(),{t:l}=D(),i=vue.ref(false),s=vue.ref(null),u=vue.ref(null);vue.watch(i,v=>{if(!v)return;let y=u.value?.querySelectorAll(Ti);(u.value?.querySelector(`${Ti}[aria-checked="true"]`)??y?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(i,(v,y,g)=>{if(!v)return;let h=m=>{let C=s.value;C&&m.target instanceof Node&&C.contains(m.target)||(i.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),i.value=false);};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});});let p=v=>{let y=[...u.value?.querySelectorAll(Ti)??[]],g=y.indexOf(document.activeElement),h=b=>{v.preventDefault(),y[(b+y.length)%y.length]?.focus();};v.key==="ArrowDown"?h(g+1):v.key==="ArrowUp"?h(g-1):v.key==="Home"?h(0):v.key==="End"&&h(y.length-1);},d=v=>{i.value=false,editor.runToolbarCommand(t.value,"review.editingMode",v),t.value?.focus();},c=vue.computed(()=>En.find(v=>v.mode===o.value)??En[0]);return ()=>{if(e.hidden)return null;let v=z("review.editingMode"),y=editor.toolbarCommandState(t.value,"review.editingMode"),g=i18n.localizeDisabledReason(y.disabledReason,l);return jsxRuntime.jsxs("div",{ref:s,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":i.value,"aria-label":a(v?.labelKey??"editingMode.label"),disabled:n.value||!y.enabled,...g?{title:g}:{},onMousedown:I,onClick:()=>{i.value=!i.value;},children:[Ei(c.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:a(c.value.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),i.value?jsxRuntime.jsx("div",{ref:u,class:"docx-toolbar__mode-menu",role:"menu","aria-label":a(v?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:p,children:En.map((h,b)=>{let m=i18n.localizeDisabledReason(r.value[b]??null,l);return jsxRuntime.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":h.mode===o.value,class:"docx-toolbar__mode-item","data-testid":`editing-mode-${h.mode}`,disabled:m!==null,...m?{title:m}:{},onMousedown:I,onClick:()=>d(h.mode),children:[Ei(h.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:a(h.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:a(h.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:h.mode===o.value?Ei(Db):null})]},h.mode)})}):null]})}}});oa.docxSlot="review.editingMode";var Pc=[];function Pn(){let e=k(),t=st(),o=vue.shallowRef(Pc),n=()=>{o.value=e.value?.getReviewAuthors()??Pc;};return vue.watch([e,t],()=>{n(),vue.nextTick(n);},{immediate:true,flush:"post"}),vue.onMounted(()=>{vue.nextTick(n);}),o}var Vb=e=>e.hiddenReviewAuthors??[],Pi=Object.assign(vue.defineComponent({name:"ToolbarReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(e,{slots:t}){let o=k(),n=Pn(),r=_(Vb),a=vue.computed(()=>new Set(r.value)),l=vue.ref(false),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=V(),{t:d}=D();vue.watch(l,(v,y,g)=>{if(!v)return;u.value?.querySelector('[role="menuitemcheckbox"]')?.focus();let h=m=>{i.value?.contains(m.target)||(l.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),l.value=false,vue.nextTick(()=>s.value?.focus()));};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});},{flush:"post"});let c=v=>{let y=[...u.value?.querySelectorAll('[role="menuitemcheckbox"]')??[]],g=y.indexOf(document.activeElement),h=b=>{v.preventDefault(),y[(b+y.length)%y.length]?.focus();};v.key==="ArrowDown"?h(g+1):v.key==="ArrowUp"?h(g-1):v.key==="Home"?h(0):v.key==="End"?h(y.length-1):v.key==="Tab"&&(l.value=false);};return ()=>{if(e.hidden)return null;let v=n.value,y=z("review.authors"),g=editor.toolbarCommandState(o.value,"review.authors"),h=i18n.localizeDisabledReason(g.disabledReason,d),b=p(y?.labelKey??"reviewers.label");return jsxRuntime.jsxs("div",{ref:i,class:`docx-toolbar__reviewers${e.className?` ${e.className}`:""}`,"data-slot":"review.authors",children:[jsxRuntime.jsxs("button",{ref:s,type:"button",class:"docx-toolbar__picker","data-testid":"reviewers-trigger","aria-haspopup":"menu","aria-expanded":l.value,"aria-label":b,disabled:!g.enabled,title:h??b,onMousedown:I,onClick:()=>{l.value=!l.value;},children:[e.icon??t.default?.()??$(y?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:b}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),l.value?jsxRuntime.jsxs("div",{ref:u,class:"docx-toolbar__reviewers-menu",role:"menu","aria-label":b,"data-testid":"reviewers-menu",onKeydown:c,children:[jsxRuntime.jsx(wc,{checked:v.every(m=>!a.value.has(m.author)),label:d("reviewers.all"),testId:"reviewer-all",onChoose:()=>o.value?.setAllReviewAuthorsVisible(!v.every(m=>!a.value.has(m.author)))}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),v.map(m=>jsxRuntime.jsx(wc,{checked:!a.value.has(m.author),label:m.author||"\u2014",testId:`reviewer-${m.slot}`,color:m.color,onChoose:()=>o.value?.setReviewAuthorVisible(m.author,a.value.has(m.author))},m.author))]}):null]})}}}),{docxSlot:"review.authors"}),wc=vue.defineComponent({name:"ReviewerRow",props:{checked:{type:Boolean,required:true},label:{type:String,required:true},testId:{type:String,required:true},color:{type:String,default:void 0},onChoose:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsxs("button",{type:"button",role:"menuitemcheckbox","aria-checked":e.checked,class:"docx-toolbar__reviewer-item","data-testid":e.testId,onMousedown:I,onClick:e.onChoose,children:[jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:e.checked?"\u2713":""}),e.color?jsxRuntime.jsx("span",{class:"docx-toolbar__reviewer-swatch",style:{background:e.color}}):null,jsxRuntime.jsx("span",{class:"docx-toolbar__reviewer-name",children:e.label})]})}});var Ri=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],la="contextual-table",Mi={"zoom.level":qr,"styles.style":ui,"font.family":ii,"font.size":$r,"text.color":oi,"text.highlight":ni,"text.link":Vr,"list.lineSpacing":Wr,"review.editingMode":oa,"review.authors":Pi,"file.save":zr,...nc,"table.borderTarget":hn,"table.borderColor":Cn,"table.borderStyle":xn,"table.borderWidth":Sn,"table.cellFill":Tn,"image.insert":vr,"image.wrap":Ir,"image.altText":Lr},aa={id:la,labelKey:"formattingBar.groups.table",entries:Ri.map(e=>({slot:e,Part:Mi[e]}))},Mc=new Map;function Ub(e){let t=Mc.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h(It,{slot:e,hidden:o.hidden})}}),Mc.set(e,t)),t}function Wb(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:pn}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:Mi[n]??Ub(n)}})})}var Gb=e=>e.image,jb=e=>e.isLoading||e.isOpening===true,Zb=e=>e.table!==null;function Xb(e){return e==="alignment"||e in Mi}function ki(e){let t=wr(e,ki);if(t!==null)return t;let o=Rr(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 kc(e){return e?!!e.props?.hidden:false}function Dc(e){for(let t of e){let o=ki(t);if(o!=null&&Ri.includes(o))return true;if(t.children){let n=fe(t.children);if(Dc(n))return true}}return false}var Yb=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=ke();vue.provide(pr,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=V(),r=_(Gb),a=_(jb),l=_(Zb),i=vue.computed(()=>Wb(r.value)),s=vue.computed(()=>new Set(i.value.flatMap(y=>y.entries.map(g=>g.slot)))),u=vue.computed(()=>[...i.value.map(y=>y.id).filter(y=>!Ll.has(y)),...l.value?[la]:[]]),p=vue.computed(()=>_d(u.value)),d=vue.computed(()=>e.preset&&e.overflow),{attach:c,overflow:v}=Kd(()=>d.value,()=>u.value,()=>p.value);return ()=>{let y=fe(t.default?.()),g;if(!e.preset)g=y;else {let m=new Map,C=new Map,T=[];for(let E of y){let L=ki(E);L&&s.value.has(L)?m.set(L,E):L&&Ri.includes(L)?C.set(L,E):T.push(E);}let f=E=>{let L=m.get(E.slot);return L||vue.h(E.Part)},x=E=>{let L=C.get(E.slot);return L||vue.h(E.Part)},P=[],S=[],w=0;for(let E of i.value){if(v.value.has(E.id)){let R=E.entries.flatMap(F=>{let te=m.get(F.slot);if(kc(te))return [];let re=te||Xb(F.slot)?jsxRuntime.jsx(Vl,{label:_c(n,F,E.labelKey),children:f(F)}):jsxRuntime.jsx($d,{slot:F.slot});return [jsxRuntime.jsx(vue.Fragment,{children:re},F.slot)]});if(R.length===0)continue;S.push({id:E.id,labelKey:E.labelKey,children:R});continue}w>0&&P.push(vue.h(Ft,{key:`separator-${E.id}`})),w+=1;let L=Ll.has(E.id);P.push(vue.h("div",{key:E.id,class:"docx-toolbar__group",...L?{[en]:""}:{[so]:E.id}},E.entries.map(R=>vue.h(vue.Fragment,{key:R.slot},[f(R)]))));}let M=v.value.has(la);if(l.value&&M){let E=aa.entries.flatMap(L=>{let R=C.get(L.slot);return kc(R)?[]:[jsxRuntime.jsx(vue.Fragment,{children:jsxRuntime.jsx(Vl,{label:_c(n,L,aa.labelKey),children:x(L)})},L.slot)]});E.length>0&&S.unshift({id:aa.id,labelKey:aa.labelKey,children:E});}g=[...P,...l.value&&!M?[vue.h(Ft,{key:"separator-contextual-table"})]:[],...M?[]:[vue.h("div",{class:"docx-toolbar__contextual",[so]:la},vue.h(Sc,{overrides:C,separator:false}))],...T.length>0?[vue.h("div",{class:"docx-toolbar__group",[en]:""},T)]:[],...S.length>0?[vue.h(qd,{sections:S})]:[]];}let b=e.preset||Dc(y)?vue.h(fi,null,{default:()=>Array.isArray(g)?g:[g]}):g;return vue.h("fieldset",{ref:m=>c(m),disabled:a.value,role:"toolbar","data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...d.value?{"data-overflow":""}:{},onMousedown:I},[vue.h(Fu,null,{default:()=>[b]})])}}});function _c(e,t,o){let n=t.slot==="alignment"?null:z(t.slot);return e(n?.labelKey??o)}var Rn=Object.assign(Yb,{Button:It,Action:ri,Separator:Ft,Undo:Jd,Redo:Qd,Bold:eu,Italic:tu,Underline:ou,Strike:nu,Link:Vr,ClearFormatting:ru,Superscript:au,Subscript:lu,Alignment:pn,AlignLeft:iu,AlignCenter:su,AlignRight:du,AlignJustify:uu,LineSpacing:Wr,BulletList:cu,NumberedList:pu,Outdent:mu,Indent:fu,ImageInsert:vr,ImageWrap:Ir,ImageAltText:Lr,ImageProperties:Br,TableInsert:gu,TableBorderTarget:hn,TableBorderColor:Cn,TableBorderStyle:xn,TableBorderWidth:Sn,TableCellFill:Tn,Comments:yu,FontFamily:ii,FontSize:$r,FontColor:oi,Highlight:ni,Zoom:qr,StylePicker:ui,EditingMode:oa,Reviewers:Pi,Save:zr,ContentControlShowAll:Jr,ContentControlFormFill:Qr,ContentControlInspector:gn,ContentControlRemove:yn});var Jb=e=>e.pageSetup??null,Qb=e=>e.editable;function Vt(){let e=k(),t=_(Jb),o=_(Qb),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 _i=[{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}],Hc=1440,Fc=12240,Ac=15840,xt=1440,th=e=>Math.round(e/Hc*100)/100,oh=e=>Math.round(e*Hc);function nh(e,t){let o=Math.min(e,t),n=Math.max(e,t);return _i.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var rh={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},ah={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"400px",maxWidth:"480px",width:"100%",margin:"20px"},Mn=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=Vt(),n=vue.ref(Fc),r=vue.ref(Ac),a=vue.ref("portrait"),l=vue.ref(xt),i=vue.ref(xt),s=vue.ref(xt),u=vue.ref(xt),p=vue.ref("document"),d=vue.ref(null),c=vue.ref("no");vue.watch([()=>e.open,()=>o.pageSetup.value],([h])=>{if(!h){c.value="no";return}let b=o.pageSetup.value;if(c.value==="yes"&&b===null){c.value="no";return}c.value==="yes"||c.value==="loading"&&b===null||(n.value=b?.pageWidthTwips??Fc,r.value=b?.pageHeightTwips??Ac,a.value=b?.orientation??"portrait",l.value=b?.marginsTwips.top??xt,i.value=b?.marginsTwips.bottom??xt,s.value=b?.marginsTwips.left??xt,u.value=b?.marginsTwips.right??xt,p.value="document",c.value=b===null?"loading":"yes");},{flush:"post"}),vue.watch(()=>e.open,h=>{h&&d.value?.focus();},{flush:"post"});let v=h=>{let b=_i[h];b&&(n.value=a.value==="landscape"?b.height:b.width,r.value=a.value==="landscape"?b.width:b.height);},y=h=>{if(h===a.value)return;let b=n.value,m=r.value;a.value=h,n.value=m,r.value=b;},g=()=>{o.apply({pageWidthTwips:n.value,pageHeightTwips:r.value,orientation:a.value,marginTopTwips:l.value,marginRightTwips:u.value,marginBottomTwips:i.value,marginLeftTwips:s.value,scope:p.value})&&e.onClose();};return ()=>{if(!e.open)return null;let h=nh(n.value,r.value),b={display:"flex",alignItems:"center",gap:"12px"},m={width:"80px",fontSize:"13px",color:"var(--doc-text-muted)"},C={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},T=(f,x,P)=>jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t(`dialogs.pageSetup.${f}`)}),jsxRuntime.jsx("input",{type:"number",style:C,min:0,max:22,step:.1,value:th(x),onInput:S=>P(Math.max(0,oh(Number(S.target.value)||0))),"aria-label":t(`dialogs.pageSetup.${f}`)}),jsxRuntime.jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted)",width:"16px"},children:"in"})]});return jsxRuntime.jsx("div",{class:e.className,style:rh,onClick:e.onClose,onKeydown:f=>{f.key==="Escape"&&e.onClose(),f.key==="Enter"&&g();},children:jsxRuntime.jsxs("div",{ref:d,tabindex:-1,style:ah,onClick:f=>f.stopPropagation(),onMousedown:f=>f.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:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.sizeLabel")}),jsxRuntime.jsxs("select",{style:C,value:h,onChange:f=>v(Number(f.target.value)),"aria-label":t("dialogs.pageSetup.sizeLabel"),children:[_i.map((f,x)=>jsxRuntime.jsx("option",{value:x,children:t(f.labelKey)},f.labelKey)),h<0&&jsxRuntime.jsx("option",{value:-1,children:t("dialogs.pageSetup.custom")})]})]}),jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.orientation")}),jsxRuntime.jsxs("select",{style:C,value:a.value,onChange:f=>y(f.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,f=>{l.value=f;}),T("bottom",i.value,f=>{i.value=f;}),T("left",s.value,f=>{s.value=f;}),T("right",u.value,f=>{u.value=f;}),jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.applyTo")}),jsxRuntime.jsxs("select",{style:C,value:p.value,onChange:f=>{p.value=f.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 kn=Symbol("MenuContext"),dh={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 Te(){let e=vue.inject(kn,dh);return vue.computed(()=>vue.unref(e))}function se(){let e=Te(),{t}=D();return o=>e.value.t?.(o)??t(o)}var uh=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,ch=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var Oc=new TextEncoder;function ph(e,t){if(Oc.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let a=Oc.encode(r).length;if(o+a>t)break;o+=a,n+=r;}return n}function Bc(e){let t=ph((e??"").replace(/\.docx$/i,"").replace(ch," ").replace(/\s+/g," ").trim().replace(/^[.\s]+/,"").replace(/[.\s]+$/,""),200).trim();return !t||uh.test(t)?"document.docx":`${t}.docx`}function Kc(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 mh="https://github.com/eigenpal/docx-editor/issues/new";function fh(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function gh(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??fh()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
- `),a=new URLSearchParams({title:"[Bug] ",body:r});return `${mh}?${a.toString()}`}function Vc(e){typeof window>"u"||window.open(gh(e),"_blank","noopener,noreferrer");}var Ii=6,zc=6,_n=8,He=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=se(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(null),l=oe("menu-flyout"),i=vue.ref(null);return vue.watch(n,s=>{if(!s){i.value=null;return}let u=r.value,p=a.value,d=u?.ownerDocument.defaultView;if(!u||!p||!d)return;let c=u.getBoundingClientRect(),v=p.offsetWidth,y=p.offsetHeight,g=c.right+v>d.innerWidth-_n;i.value={left:g?Math.max(_n,c.left-v):Math.min(c.right,d.innerWidth-v-_n),top:Math.max(_n,Math.min(c.top-4,d.innerHeight-y-_n))};},{flush:"post"}),()=>{let s=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&&Ae(yt(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:I,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:s}),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":s,style:i.value?{position:"fixed",left:K(i.value.left),top:K(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=a.value;if(!p)return;let d=yt(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),Fe(d,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),Fe(d,document.activeElement,-1));},children:t.default?.()}):null]})}}}),In=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=k(),o=U(vue.computed(()=>e.slot??"table.insert")),n=Te(),r=se(),a=vue.ref(null),l=vue.ref({rows:1,cols:1}),i=vue.ref(null),s=(p,d)=>{if(!t.value||!o.isEnabled.value)return;let c={type:"insertTable",rows:p,cols:d};t.value.can(c).ok&&(t.value.exec(c),n.value.setOpenMenu(null),t.value.focus());},u=p=>{let d=l.value,c={rows:Math.min(zc,Math.max(1,d.rows+(p.rows??0))),cols:Math.min(Ii,Math.max(1,p.toCol??d.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 d=1;d<=zc;d+=1){let c=[];for(let v=1;v<=Ii;v+=1){let y=!!a.value&&d<=a.value.rows&&v<=a.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${d}x${v}`,class:"docx-menubar__grid-cell",tabindex:l.value.rows===d&&l.value.cols===v?0:-1,...y?{"data-filled":""}:{},"aria-label":`${v} \xD7 ${d}`,onMousedown:I,onMouseenter:()=>{a.value={rows:d,cols:v};},onFocus:()=>{a.value={rows:d,cols:v};},onClick:()=>s(d,v)},v));}p.push(jsxRuntime.jsx("div",{role:"row",class:"docx-menubar__grid-row",children:c},d));}return jsxRuntime.jsxs("div",{ref:i,role:"grid",class:`docx-menubar__grid${e.className?` ${e.className}`:""}`,"aria-label":r("toolbar.insertTable"),onKeydown:d=>{if(d.key==="ArrowRight")u({cols:1});else if(d.key==="ArrowLeft")u({cols:-1});else if(d.key==="ArrowDown")u({rows:1});else if(d.key==="ArrowUp")u({rows:-1});else if(d.key==="Home")u({toCol:1});else if(d.key==="End")u({toCol:Ii});else if(d.key==="Enter"||d.key===" ")d.preventDefault(),s(l.value.rows,l.value.cols);else return;d.preventDefault(),d.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}`:""})]})}}}),$c=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=U(e.entry.slot),o=z(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(He,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(In,{slot:e.entry.slot})}):jsxRuntime.jsx(Ze,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function Se(e){return {rowSlot:e}}var ue=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=oe("menu-reason"),n=ao();return ()=>{let{icon:r,shortcut:a,disabled:l,title:i,active:s,selected:u,className:p}=e,d=e.selectHandler??e.onSelect,c=e.rowSlot??e.slot??e["data-slot"]??void 0,v=l&&i?o:void 0;return jsxRuntime.jsxs("button",{type:"button",role:s===void 0?"menuitem":u===void 0?"menuitemcheckbox":"menuitemradio",class:`docx-toolbar__menu-item docx-menubar__item${p?` ${p}`:""}`,tabindex:-1,...c?{"data-slot":c}:{},...s?{"data-active":""}:{},...l?{"data-disabled":"","aria-disabled":true}:{},...s!==void 0?{"aria-checked":s}:{},...v?{"aria-describedby":v}:{},...i?{title:i}:{},onMousedown:I,onClick:l?void 0:d,children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:r}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:t.default?.()}),a?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:n(a)}):null,v?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:i}):null]})}}}),Nn=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=se();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?.()]})}}}),Ze=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=Te(),r=se();return ()=>{if(e.hidden)return null;let{setOpenMenu:a}=n.value,l=t.value,i=z(l),s=r(e.labelKey??i?.labelKey??l),u=editor.chromeSlotIsToggle(l),p=["setAlignment","setReviewDisplayMode"].includes(editor.commandForSlot(l)?.type??"");return jsxRuntime.jsx(ue,{...Se(l),icon:$(i?.paths)??void 0,...e.shortcutKey?{shortcut:r(e.shortcutKey)}:{},disabled:!o.isEnabled.value,...o.disabledReason.value?{title:o.disabledReason.value}:{},...u?{active:o.isActive.value}:{},...p?{selected:true}:{},...o.value.value!==null?{"data-value":o.value.value}:{},selectHandler:()=>{o.execute(),a(null);},...e.className?{className:e.className}:{},children:s})}}});Ze.docxMenuRow=true;function Uc(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=Te(),i=se();return ()=>{let s=l.value,u=n(s);if(a.hidden)return null;let p=z(e),d=i(t??p?.labelKey??e);return jsxRuntime.jsx(ue,{...Se(e),icon:$(p?.paths)??void 0,...o?{shortcut:i(o)}:{},disabled:!u,selectHandler:()=>{u?.(),s.setOpenMenu(null);},...a.className?{className:a.className}:{},children:d})}}});return Object.assign(r,{docxSlot:e})}var sa=Uc("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),da=Uc("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),Eh=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Te(),n=se();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,s=l&&!l.ok?l.reason:null,u=z("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),d=i&&!!r.onPageSetup;return jsxRuntime.jsx(ue,{...Se("file.pageSetup"),icon:$(u?.paths)??void 0,disabled:!d,...s?{title:s}:{},selectHandler:()=>{r.onPageSetup?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Ph=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Te(),n=se();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,s=l&&!l.ok?l.reason:null,u=z("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),d=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ue,{...Se("paragraph.dialog"),icon:$(u?.paths)??void 0,disabled:!d,...s?{title:s}:{},selectHandler:()=>{r.onParagraphDialog?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),wh=Object.assign(Ph,{docxSlot:"paragraph.dialog"}),ua=Object.assign(Eh,{docxSlot:"file.pageSetup"}),Rh=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let t=jo(),o=Te(),n=se();return ()=>{if(e.hidden)return null;let r=o.value,a=z("image.insert"),l=n(a?.labelKey??"toolbar.image"),i=t?.isEnabled??false,s=t?.disabledReason??null;return jsxRuntime.jsx(ue,{...Se("image.insert"),icon:$(a?.paths)??void 0,disabled:!i,...s?{title:s}:{},selectHandler:()=>{t?.openFilePicker(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:l})}}}),Li=Object.assign(Rh,{docxSlot:"image.insert"}),$t=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}`:""}`})}}),Ln=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e){return ()=>{let t=e.entry;return t.kind==="separator"?jsxRuntime.jsx($t,{}):t.kind==="submenu"?jsxRuntime.jsx(He,{labelKey:t.labelKey,paths:t.paths,children:t.items.map((o,n)=>jsxRuntime.jsx(Ln,{entry:o},n))}):t.slot==="file.open"?jsxRuntime.jsx(sa,{}):t.slot==="file.save"?jsxRuntime.jsx(da,{}):t.slot==="file.pageSetup"?jsxRuntime.jsx(ua,{}):t.slot==="paragraph.dialog"?jsxRuntime.jsx(wh,{}):t.slot==="image.insert"?jsxRuntime.jsx(Li,{}):t.picker==="tableGrid"?jsxRuntime.jsx($c,{entry:t}):jsxRuntime.jsx(Ze,{slot:t.slot,...t.labelKey?{labelKey:t.labelKey}:{},...t.shortcutKey?{shortcutKey:t.shortcutKey}:{}})}}});function Wc(e){if(!vue.isVNode(e))return null;let t=wr(e,Wc);if(t!==null)return t;let o=Rr(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 Mh(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function kh(e,t,o){return Mr({entries:e??[],children:t,preset:o,keyOfEntry:Mh,keyOfChild:Wc,renderEntry:n=>jsxRuntime.jsx(Ln,{entry:n})})}var St=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=Te(),n=se(),r=oe("menu-panel"),a=vue.ref(null),l=vue.ref(null),i=vue.ref(false),s=vue.ref(false),u=()=>{o.value.setOpenMenu(null),a.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:d,activeMenu:c}=o.value,v=editor.CHROME_MENUS.find(b=>b.id===e.id),y=p===e.id,g=e.label??n(e.labelKey??v?.labelKey??e.id),h=kh(v?.entries,fe(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":y,"aria-controls":y?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...y?{"data-open":""}:{},onMousedown:I,onKeydown:b=>{b.key==="ArrowDown"||b.key==="Enter"||b.key===" "||b.key==="ArrowUp"?(b.preventDefault(),i.value=true,d(e.id)):b.key==="Escape"&&y&&(b.preventDefault(),u());},onClick:()=>{if(s.value){s.value=false;return}d(y?null:e.id);},onMouseenter:()=>{p!==null&&p!==e.id&&(s.value=true,d(e.id));},onMouseleave:()=>{s.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:b=>{l.value=b,b&&i.value&&(i.value=false,Ae(yt(b),"first"));},id:r,role:"menu","aria-label":g,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:b=>{let m=l.value;if(!m)return;let C=yt(m),T=document.activeElement;b.key==="ArrowDown"?(b.preventDefault(),Fe(C,T,1)):b.key==="ArrowUp"?(b.preventDefault(),Fe(C,T,-1)):b.key==="Home"?(b.preventDefault(),Ae(C,"first")):b.key==="End"?(b.preventDefault(),Ae(C,"last")):b.key==="Escape"?(b.preventDefault(),b.stopPropagation(),u()):b.key==="Tab"&&d(null);},children:h}):null]})}}});function Fi(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(St,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var ca=Fi("file"),pa=Fi("format"),ma=Fi("insert"),_h=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=Te(),o=se();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:a}=t.value;if(e.hidden||a===false)return null;let l=e.onSelect??r??Vc;return jsxRuntime.jsx(ue,{...Se("help.reportIssue"),selectHandler:()=>{l(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),fa=Object.assign(_h,{docxSlot:"help.reportIssue"}),Ih=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Te();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(St,{id:"help",...t,children:[jsxRuntime.jsx(fa,{}),o.default?.()]})}}}),ga=Object.assign(Ih,{docxMenu:"help"});var Lh=e=>e.hiddenReviewAuthors??[],ya=vue.defineComponent({name:"MenuReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Pn(),n=_(Lh),r=se(),{t:a}=D();return ()=>{if(e.hidden)return null;let l=r("reviewers.label"),i=editor.toolbarCommandState(t.value,"review.authors"),s=i18n.localizeDisabledReason(i.disabledReason,a);if(!i.enabled)return jsxRuntime.jsx(ue,{disabled:true,title:s??void 0,...Se("review.authors"),children:l});let u=new Set(n.value),p=o.value,d=p.every(c=>!u.has(c.author));return jsxRuntime.jsxs(He,{labelKey:"reviewers.label",className:e.className,children:[jsxRuntime.jsx(Gc,{checked:d,label:r("reviewers.all"),rowSlot:"reviewer-all",onChoose:()=>t.value?.setAllReviewAuthorsVisible(!d)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),p.map(c=>jsxRuntime.jsx(Gc,{checked:!u.has(c.author),label:c.author||"\u2014",rowSlot:`reviewer-${c.slot}`,onChoose:()=>t.value?.setReviewAuthorVisible(c.author,u.has(c.author))},c.author))]})}}}),Gc=vue.defineComponent({name:"MenuReviewerRow",props:{checked:{type:Boolean,required:true},label:{type:String,required:true},rowSlot:{type:String,required:true},onChoose:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx(ue,{active:e.checked,...Se(e.rowSlot),className:"docx-menubar__reviewer-item",icon:jsxRuntime.jsx("span",{class:"docx-menubar__reviewer-check",children:e.checked?"\u2713":""}),selectHandler:e.onChoose,children:e.label})}}),Fh=vue.defineComponent({name:"MenuReview",inheritAttrs:false,setup(e,{attrs:t,slots:o}){return ()=>vue.h(St,{id:"review",...t},{default:()=>[vue.h(He,{labelKey:"reviewers.markupOptions",className:"docx-menubar__markup-options"},{default:()=>vue.h(ya,{className:"docx-menubar__reviewers-submenu"})}),...o.default?.()??[]]})}}),va=Object.assign(Fh,{docxMenu:"review"});var Bh={file:ca,format:pa,insert:ma,review:va,help:ga},Kh=new Set(editor.CHROME_MENUS.map(e=>e.id));function Vh(e){return e!=null&&typeof e=="object"&&"type"in e}function Jc(e){if(!Vh(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(Jc).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===St){let o=e.props?.id;if(typeof o=="string"&&Kh.has(o))return o}return null}var zh=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=ke(),n=k(),{t:r}=D(),a=vue.ref(null),l=vue.ref(null),i=vue.ref(null),s=vue.ref(false),u=vue.ref(false),p=vue.ref(null),d=vue.ref(null),c=P=>{a.value=P,P!==null&&(i.value=P);};vue.watch(a,(P,S,w)=>{if(P===null)return;let M=L=>{let R=p.value;R&&L.target instanceof Node&&R.contains(L.target)||(a.value=null);},E=L=>{L.key==="Escape"&&(a.value=null);};document.addEventListener("mousedown",M),document.addEventListener("keydown",E),w(()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",E);});});let v=()=>d.value?.click(),y=()=>{let P=n.value;P&&P.save().then(S=>Kc(S,Bc(e.fileName??l.value??void 0))).catch(S=>{console.error("[docx-editor] save failed",S);});},g=()=>{s.value=true;},h=()=>{u.value=true;},b=vue.computed(()=>n.value?e.openHandler??e.onOpen??v:void 0),m=vue.computed(()=>n.value?e.saveHandler??e.onSave??y:void 0),C=vue.computed(()=>n.value?e.onPageSetup??g:void 0);vue.watch(()=>[b.value,m.value],([P,S],w,M)=>{let E=L=>{if(!(L.metaKey||L.ctrlKey)||L.altKey||L.shiftKey)return;let R=L.key.toLowerCase();if(R!=="s"&&R!=="o")return;let F=L.target,te=co(p.value)??p.value,re=p.value;!F||!((te?.contains(F)??false)||(re?.contains(F)??false))||(R==="s"&&S?(L.preventDefault(),S()):R==="o"&&P&&(L.preventDefault(),P()));};document.addEventListener("keydown",E),M(()=>document.removeEventListener("keydown",E));},{flush:"post"});let T=vue.computed(()=>({t:e.t,openMenu:a.value,setOpenMenu:c,activeMenu:i.value,onOpen:b.value,onSave:m.value,onPageSetup:C.value,onParagraphDialog:n.value?h:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(kn,T);let f=P=>{if(p.value=P,P&&i.value===null){let S=yi(P)[0]?.closest("[data-menu]")?.getAttribute("data-menu");S&&(i.value=S);}},x=P=>{let S=P.target,w=S.files?.[0];S.value="";let M=n.value;!w||!M||(l.value=w.name,e.onOpenFile?.(w),w.arrayBuffer().then(E=>M.load(new Uint8Array(E))).catch(E=>{console.error("[docx-editor] could not open the file",E);}));};return ()=>{let P;if(e.preset===false)P=t.default?fe(t.default()):void 0;else {let S=new Map,w=[];for(let M of fe(t.default?.()??[])){let E=Jc(M);E?S.set(E,M):w.push(M);}P=[...editor.CHROME_MENUS.flatMap(M=>{let E=S.get(M.id);if(E)return [vue.h(vue.Fragment,{key:M.id},[E])];let L=Bh[M.id];return [vue.h(L,{key:M.id})]}),...w];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:f,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:S=>{if(S.key!=="ArrowLeft"&&S.key!=="ArrowRight")return;let w=p.value;if(!w)return;let M=yi(w),E=M.indexOf(document.activeElement);if(E===-1)return;S.preventDefault();let L=S.key==="ArrowRight"?1:-1,R=M[(E+L+M.length)%M.length],F=R?.closest("[data-menu]")?.getAttribute("data-menu");F&&(i.value=F,R?.focus(),a.value!==null&&(a.value=F));},children:P}),jsxRuntime.jsx("input",{ref:d,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:x}),jsxRuntime.jsx(Mn,{open:s.value,onClose:()=>{s.value=false;}}),jsxRuntime.jsx(Ht,{open:u.value,onClose:()=>{u.value=false;}})]})}}}),Ut=Object.assign(zh,{Menu:St,File:ca,Format:pa,Insert:ma,Review:va,Help:ga,Item:Ze,Row:ue,Group:Nn,Separator:$t,Submenu:He,TableGrid:In,Entry:Ln,Open:sa,Save:da,PageSetup:ua,ImageInsert:Li,Reviewers:ya,ReportIssue:fa});var Zh=12240,tp=1440,rp=1440,ap=567,Wt=20,Bi=6,Xh=Wt+Bi+2,Yh="var(--doc-text-muted)",Jh="var(--doc-text-subtle)",op="var(--doc-shadow-subtle)",Qh="var(--doc-primary)",ex="var(--doc-primary-hover)",tx="var(--doc-text-subtle)",Hn=5,An=7,ox={left:0,right:0,firstLine:0};function np(e,t){return t==="inch"?(e/rp).toFixed(2)+'"':(e/ap).toFixed(1)+" cm"}function nx(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??Zh,v=e.pageSetup?.marginsTwips.left??tp,y=e.pageSetup?.marginsTwips.right??tp,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??ox,pageWidthPx:ie(c)*g,leftMarginPx:ie(v)*g,rightMarginPx:ie(y)*g}}),s=c=>{let v=l.value?.getBoundingClientRect();return v?xr((c-v.left)/(e.zoom??1)):null},u=(c,v,y)=>{let g=s(v);if(g===null)return;let{pageWidthTwips:h,leftMarginTwips:b,rightMarginTwips:m,gutterTwips:C,page:T,current:f}=i.value;a.value=ie(g)*(e.zoom??1);let x=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let S=h-m-C-720,w=Math.round(Math.max(0,Math.min(g,S)));r.value=w,e.onLeftMarginChange?.(w);}else {let S=h-g,w=h-b-C-720,M=Math.round(Math.max(0,Math.min(S,w)));r.value=M,e.onRightMarginChange?.(M);}return}let P=editor.dragIndent(c,g,f,T,{unit:x,precise:y});r.value=c==="right"?P.right:c==="firstLine"?P.firstLine:P.left,e.onIndentChange?.(P);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,a.value=null;},d=(c,v,y)=>{let g=e.unit??"inch",{current:h,page:b}=i.value,m=editor.handlePosition(c,h,b),C=editor.dragIndent(c,m+v*nx(g,y),h,b,{unit:g,precise:true});e.onIndentChange?.(C),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,v=e.unit??"inch",{pageWidthTwips:y,page:g,current:h,pageWidthPx:b,leftMarginPx:m,rightMarginPx:C}=i.value,T=dx(y,c,v),f=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,x=S=>ie(editor.handlePosition(S,h,g))*c,P=(S,w,M)=>({positionPx:x(S),editable:f,isDragging:o.value===S,isHovered:n.value===S,onPointerEnter:()=>{n.value=S;},onPointerLeave:()=>{n.value=null;},onPointerDown:E=>{f&&(E.preventDefault(),E.stopPropagation(),E.currentTarget.setPointerCapture(E.pointerId),o.value=S);},onPointerMove:E=>{o.value===S&&u(S,E.clientX,E.altKey);},onPointerUp:E=>{o.value===S&&(E.currentTarget.releasePointerCapture(E.pointerId),p(S));},onKeyDown:E=>{f&&(E.key!=="ArrowLeft"&&E.key!=="ArrowRight"||(E.preventDefault(),d(S,E.key==="ArrowLeft"?-1:1,E.shiftKey)));},label:t(w),valueNow:M,valueText:np(M,v),pageWidthTwips:y});return jsxRuntime.jsxs("div",{ref:l,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:K(b),height:K(Xh),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:K(m),height:K(Wt),backgroundColor:op,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?S=>{S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId),o.value="leftMargin";}:void 0,onPointermove:S=>o.value==="leftMargin"&&u("leftMargin",S.clientX,S.altKey),onPointerup:S=>{o.value==="leftMargin"&&(S.currentTarget.releasePointerCapture(S.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:K(C),height:K(Wt),backgroundColor:op,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?S=>{S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId),o.value="rightMargin";}:void 0,onPointermove:S=>o.value==="rightMargin"&&u("rightMargin",S.clientX,S.altKey),onPointerup:S=>{o.value==="rightMargin"&&(S.currentTarget.releasePointerCapture(S.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:K(Wt),pointerEvents:"none"},children:T.map((S,w)=>jsxRuntime.jsx(rx,{tick:S},w))}),e.tabMarks?.map(S=>jsxRuntime.jsx(sx,{tabMark:S,positionPx:ie(S.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(S.position)},S.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Oi,{direction:"down",anchor:"top",...P("firstLine","ruler.firstLineIndent",h.firstLine)}),jsxRuntime.jsx(Oi,{direction:"up",anchor:"strip",...P("hanging","ruler.hangingIndent",h.left)}),jsxRuntime.jsx(ax,{...P("left","ruler.leftIndent",h.left)}),jsxRuntime.jsx(Oi,{direction:"up",anchor:"strip",...P("right","ruler.rightIndent",h.right)})]}),o.value&&r.value!==null&&a.value!==null&&jsxRuntime.jsx(lx,{value:np(r.value,v),positionPx:a.value})]})}}});function rx({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:K(e.position),bottom:0,width:"1px",height:K(e.height),backgroundColor:Jh}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:K(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:Yh,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function lp(e){return e.editable?e.isDragging||e.isHovered?ex:Qh:tx}function ip(e,t,o){return {position:"absolute",left:K(e.positionPx-t/2),width:K(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function sp(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 Oi({direction:e,anchor:t,...o}){let n=lp(o),r=t==="top"?{top:0,height:K(An+1)}:{top:K(Wt-An),height:K(An)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:ip(o,Hn*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...sp(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${Hn}px solid transparent`,borderRight:`${Hn}px solid transparent`,...e==="down"?{top:0,borderTop:`${An}px solid ${n}`}:{bottom:0,borderBottom:`${An}px solid ${n}`},transition:"border-color 0.1s"}})})}function ax(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:ip(e,Hn*2,{top:K(Wt+1),height:K(Bi)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...sp(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:K(Hn*2-2),height:K(Bi),backgroundColor:lp(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function lx({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:K(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 ix={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function sx({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:K(t-5),top:K(Wt-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:ix[e.alignment]||"L"})}function dx(e,t,o){let n=[];if(o==="inch"){let r=rp/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;l%8===0?n.push({position:s,height:8,label:l/8>0?String(l/8):void 0}):l%4===0?n.push({position:s,height:5}):l%2===0?n.push({position:s,height:3}):n.push({position:s,height:2});}}else {let r=ap/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;l%10===0?n.push({position:s,height:8,label:l/10>0?String(l/10):void 0}):l%5===0?n.push({position:s,height:5}):n.push({position:s,height:3});}}return n}var up=15840,xa=1440,px=1440,mx=567,$i=20,fx="var(--doc-text-muted)",gx="var(--doc-text-subtle)",yx="var(--doc-primary)",vx="var(--doc-primary)",bx="var(--doc-primary-hover)",qi=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=(s,u)=>{e.editable&&(s.preventDefault(),o.value=u);},l=s=>{let u=o.value,p=r.value;if(!u||!p)return;let d=e.pageSetup?.pageHeightTwips??up,c=e.pageSetup?.marginsTwips.top??xa,v=e.pageSetup?.marginsTwips.bottom??xa,y=p.getBoundingClientRect(),g=s.clientY-y.top,h=xr(g/(e.zoom??1));if(u==="topMargin"){let b=d-v-720,m=Math.max(0,Math.min(h,b));e.onTopMarginChange?.(Math.round(m));}else if(u==="bottomMargin"){let b=d-h,m=d-c-720,C=Math.max(0,Math.min(b,m));e.onBottomMarginChange?.(Math.round(C));}},i=()=>{o.value!==null&&e.onMarginDragEnd?.(),o.value=null;};return vue.watch(o,(s,u,p)=>{s&&(document.addEventListener("mousemove",l),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",i);}));}),()=>{let s=e.pageSetup?.pageHeightTwips??up,u=e.pageSetup?.marginsTwips.top??xa,p=e.pageSetup?.marginsTwips.bottom??xa,d=e.zoom??1,c=ie(s)*d,v=ie(u)*d,y=ie(p)*d,g=xx(s,d,e.unit??"inch"),h={position:"relative",width:K($i),height:K(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((b,m)=>jsxRuntime.jsx(hx,{tick:b},m))}),jsxRuntime.jsx(cp,{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:b=>a(b,"topMargin")}),jsxRuntime.jsx(cp,{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:b=>a(b,"bottomMargin")})]})}}});function hx(e){let t={position:"absolute",top:K(e.tick.position),right:0,height:"1px",width:K(e.tick.width),backgroundColor:gx},o={position:"absolute",top:K(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:fx,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 cp(e){let{t}=D(),o=e.isDragging?bx:e.isHovered?vx:yx,n={position:"absolute",top:K(e.position-5),right:0,width:K($i),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 xx(e,t,o){let n=[];if(o==="inch"){let r=px/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;if(l%8===0){let u=l/8;n.push({position:s,width:10,label:u>0?String(u):void 0});}else l%4===0?n.push({position:s,width:6}):l%2===0?n.push({position:s,width:4}):n.push({position:s,width:2});}}else {let r=mx/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;if(l%10===0){let u=l/10;n.push({position:s,width:10,label:u>0?String(u):void 0});}else l%5===0?n.push({position:s,width:6}):n.push({position:s,width:3});}}return n}var Gt=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var Cx=e=>e.formatting?.indent??null,Tx=e=>e.editable;function Ui(){let e=k(),t=_(Cx),o=_(Tx),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 yp=e=>e.zoom,wx=e=>e.isOpening===true;function vp(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function bp(){let{apply:e}=Vt(),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 Rx(){let e=k(),{indent:t,isEnabled:o,apply:n}=Ui(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(null),i=p=>{l.value===null&&(l.value=fp(e.value)),a.value=p,r.value=p;},s=()=>{let p=a.value,d=l.value;a.value=null,l.value=null,r.value=null,p&&(d!==null&&d!==fp(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:s}}function fp(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var Sa=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=_(Gt),o=_(wx),{pageSetup:n,isEnabled:r}=Vt(),a=_(yp),l=bp(),i=Rx(),s=Nt(),u=io(),p=vue.ref(0),d=et();return vue.watch(d,(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:K(s.value+u.value.inlineStart),paddingRight:K(u.value.inlineEnd)},children:jsxRuntime.jsx(Vi,{pageSetup:vp(n.value,l.pending.value),zoom:a.value,editable:r.value,onLeftMarginChange:l.preview("left"),onRightMarginChange:l.preview("right"),onMarginDragEnd:l.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:s.value>0&&p.value>0?`inset(0 0 0 ${p.value}px)`:e.style?.clipPath}})})}}),Ca=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=_(Gt),{pageSetup:o,isEnabled:n}=Vt(),r=_(yp),a=bp(),l=Nt(),i=io(),s=vd();return ()=>t.value||s.value!==null&&s.value>0&&o.value&&ie(o.value.pageWidthTwips)*r.value>s.value-l.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(qi,{pageSetup:vp(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 _x=20,hp=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:_x},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 So(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(hp,t,()=>vue.h("path",{d:e}))}})}var Ix=So("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"),Dx=So("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"),Nx=So("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"),Lx=So("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),Fx=So("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),Ax=So("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),Hx={arrow_back:Ix,search:Dx,close:Nx,keyboard_arrow_up:Lx,keyboard_arrow_down:Fx,toc:Ax},at=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=Hx[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 ji=12,Gi=240,Sp=16,Vx=24,zx=ji+Gi+Sp,Cp=12,$x=36,qx=Cp+$x+Sp,Zi=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:ji}},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:`${Gi}px`,paddingTop:`${Vx}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+Gi}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(at,{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 jx=e=>e,Zx=Object.freeze([]),Xx=()=>{},Xi=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=k(),o=_(jx),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():Zx),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 ()=>Gt(o.value)?null:vue.h(Zi,{headings:n.value,onHeadingClick:r,onClose:e.onClose??Xx,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var Yi=Symbol("NavigationContext");function Tt(e){let t=vue.inject(Yi,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var Ea=280,Pa=32,Tp=16;function jt(e=280){return 32+e+16}function wa({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 eS=Object.freeze([]),tS=e=>e;function Ma(){let e=k(),t=_(tS),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():eS),r=vue.computed(()=>{let l=n.value;if(l.length===0)return [];let i=l[0].level;for(let s of l)s.level<i&&(i=s.level);return l.map(s=>({heading:s,depth:s.level-i}))}),a=l=>{let i=e.value;if(!i||typeof l!="string"||l.length===0)return;e.value.focus();let s={paragraphId:l,offset:0};e.value.exec({type:"setSelection",range:{anchor:s,head:s}}),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 es=150,ts=2e3,Qi=Object.freeze([]),oS=e=>e;function ka(){let e=k(),t=_(oS),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),a=vue.ref(false),l=vue.ref(Qi),i=vue.ref(-1);j(vue.watch([o,n],([d,c],v,y)=>{if(d===c)return;let g=setTimeout(()=>{n.value=d;},es);y(()=>clearTimeout(g));}));let s=vue.computed(()=>({matchCase:r.value,wholeWord:a.value}));j(vue.watch([e,n,s,t],()=>{let d=e.value,c=n.value;if(!d||c.length===0){l.value=Qi,i.value=-1;return}let v=d.findMatches(c,s.value);l.value!==v&&(l.value=v);},{flush:"post"})),j(vue.watch(l,(d,c)=>{c!==d&&(i.value=i.value>=0&&i.value<d.length?i.value:-1);}));let u=d=>{let c=l.value[d];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=d);},p=d=>{if(l.value.length===0)return;let v=((i.value<0?d>0?-1:0:i.value)+d+l.value.length)%l.value.length;u(v);};return {query:vue.computed(()=>o.value),setQuery:d=>{o.value=d;},matchCase:vue.computed(()=>r.value),setMatchCase:d=>{r.value=d;},wholeWord:vue.computed(()=>a.value),setWholeWord:d=>{a.value=d;},matches:vue.computed(()=>l.value),truncated:vue.computed(()=>l.value.length>=ts),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",l.value=Qi,i.value=-1;},isPending:vue.computed(()=>o.value!==n.value)}}var sS=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)}},dS=(e,t)=>e.zoom===t.zoom&&e.reviewPaneOpen===t.reviewPaneOpen&&e.fitting===t.fitting&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function _a(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,f=>{f!==void 0&&(o.value=f);},{immediate:true}),vue.watch(()=>t.value.defaultTab,f=>{f!==void 0&&(n.value=f);},{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),s=vue.computed(()=>t.value.paneWidth??280),u=f=>{l.value||(o.value=f),t.value.onOpenChange?.(f);},p=()=>u(!r.value),d=f=>{i.value||(n.value=f),t.value.onTabChange?.(f);},c=Dt(),v=et(),y=vue.inject(no,vue.shallowRef({mounted:0,register:()=>()=>{}})),g=_(sS,dS),h=vue.ref(0),b=vue.ref(0),m=vue.ref(0);j(vue.watch([v,r,()=>g.value.reviewPaneOpen,()=>y.value.mounted],(f,x,P)=>{let S=v.value;if(!S){h.value=0,b.value=0,m.value=0;return}let w=()=>{h.value=S.clientWidth;let E=getComputedStyle(S),L=Number.parseFloat(E.paddingInlineEnd);b.value=Number.isFinite(L)?L:0;let R=Number.parseFloat(E.getPropertyValue("--docx-review-gutter-start"));m.value=Number.isFinite(R)?R:0;};if(w(),typeof ResizeObserver>"u")return;let M=new ResizeObserver(w);M.observe(S),P(()=>M.disconnect());},{flush:"post"}));let C=vue.ref(null);vue.watch(()=>g.value.pageSetup,f=>{f&&(C.value=f.pageWidthTwips);},{immediate:true});let T=vue.computed(()=>{if(!r.value)return 0;let f=g.value.pageSetup?.pageWidthTwips??C.value;return f===null?0:wa({viewportWidth:h.value,pageWidthPx:ie(f)*g.value.zoom,reservation:jt(s.value),inlineEndReservation:b.value,inlineStartReservation:m.value,docked:g.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,s],()=>{c?.setReservation(r.value?jt(s.value):0);},{immediate:true,flush:"post"})),j(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:a,setTab:d,paneWidth:s,shift:T}}var On=["headings","find"],Ye=(...e)=>e.filter(Boolean).join(" "),Bn=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:Ye("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Kn,{}),jsxRuntime.jsx(Vn,{})]})})}}),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}=Tt("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ye("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(at,{name:"arrow_back",size:20})})}}),Vn=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=Tt("Title");return ()=>jsxRuntime.jsx("h2",{class:Ye("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),zn=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}=Tt("Tabs"),r=a=>{let l=a.key==="ArrowRight"?1:a.key==="ArrowLeft"?-1:0;if(l===0)return;a.preventDefault();let i=On.indexOf(o.tab.value);o.setTab(On[(i+l+On.length)%On.length]);};return ()=>jsxRuntime.jsx("div",{class:Ye("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??On.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}=Tt("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:Ye("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}`)})}}}),Ep=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(at,{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(at,{name:"close",size:16})})]})}}),qn=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}=Tt("Headings"),r=vue.ref(""),a=_(Gt),l=vue.computed(()=>{let i=r.value.trim().toLowerCase();return i.length===0?o.items.value:o.items.value.filter(s=>s.heading.text.toLowerCase().includes(i))});return ()=>{let i=t.tab.value!=="headings";return jsxRuntime.jsxs("div",{class:Ye("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(Ep,{value:r.value,onChange:s=>{r.value=s;},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((s,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ye("docx-nav__heading",o.selectedBlockId.value===s.heading.blockId&&"docx-nav__heading--current"),style:{paddingInlineStart:`${8+s.depth*14}px`},title:s.heading.text,onClick:()=>o.goTo(s.heading.blockId),children:s.heading.text})},`${s.heading.blockId}-${u}`))})]})}}}),pS=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:Ye("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]})})})}}),Un=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}=Tt("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:Ye("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(Ep,{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(at,{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(at,{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,s)=>jsxRuntime.jsx(pS,{match:i,active:s===o.activeIndex.value,onSelect:()=>o.goTo(s)},`${i.blockId}-${i.start}-${s}`))})]})}}}),Wn=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}=Tt("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ye("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(at,{name:"toc",size:20})})}});var yS=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=ke(),r=_a(()=>({...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=Ma(),l=ka(),{t:i}=D(),s=vue.computed(()=>({pane:r,outline:a,search:l,t:e.t??((p,d)=>i(p,d))}));vue.provide(Yi,s);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":`${jt(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Wn,{...typeof e.toggle=="object"?e.toggle:{}}),jsxRuntime.jsx("aside",{class:"docx-nav__panel-shell","aria-label":s.value.t("navigation.ariaLabel"),inert:!r.open.value,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Bn,{}),jsxRuntime.jsx(zn,{}),jsxRuntime.jsx(qn,{}),jsxRuntime.jsx(Un,{})]})})]})}}),Gn=Object.assign(yS,{Header:Bn,Close:Kn,Title:Vn,Tabs:zn,Tab:$n,Headings:qn,Find:Un,Toggle:Wn});var CS=600,TS=e=>e.page.total,Ia=Symbol("PageNumberTranslationContext"),Da=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=ke(),o=k(),n=et(),r=_(TS),{t:a}=D(),l=vue.inject(Ia,null),i=vue.ref(1),s=vue.ref(false);return vue.watch([o,r,n],([u,p,d],c,v)=>{if(s.value=false,!u||!d||p<=1)return;i.value=u.getCurrentPage("viewport");let y=null,g=()=>{i.value=u.getCurrentPage("viewport"),s.value=true,y&&clearTimeout(y),y=setTimeout(()=>{s.value=false;},CS);};d.addEventListener("scroll",g,{passive:true}),v(()=>{d.removeEventListener("scroll",g),y&&clearTimeout(y);});},{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":s.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var wS=[],RS=e=>e.fontSubstitutions??wS,Na=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=_(RS),{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 Xt={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function ns(e){return Math.round(e/1440*100)/100}function Mp(e){return Math.round(e*1440)}function MS(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 rs(){let e=k();return _(o=>e.value?.getHeaderFooterState()??null,MS)}function wo(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 jn(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 s=a?.closest(".docx-editor__scroll-container"),u=s??a?.parentElement?.querySelector(".docx-editor__scroll-container");if(!a||!u)return;let p=0,d=null,c=new ResizeObserver(()=>y()),v=()=>{p=0;let h=e(u);if(h!==d&&(c.disconnect(),c.observe(u),c.observe(a),h&&c.observe(h),d=h),!h||!h.isConnected){n.value={visibility:"hidden"};return}let b=h.getBoundingClientRect(),m=t==="story-label"?Math.max(a.offsetHeight,28):a.offsetHeight,C=t==="story-label"?6:4,T=s===u,f=t==="after"?b.bottom+6:b.top-m-C,x=T?wo(u,b.left,f):{left:b.left,top:f},P=x.left,S=x.top,w=T?u.scrollLeft+8:8;n.value={position:T?"absolute":"fixed",left:K(t==="story-label"?P:Math.max(w,P+8)),top:K(t==="story-label"?S:Math.max(T?u.scrollTop+8:8,S)),...t==="story-label"?{width:K(Math.max(240,Math.min(b.width,u.clientWidth-16)))}:{maxWidth:K(Math.max(240,Math.min(b.width-16,u.clientWidth-16)))},visibility:"visible"};},y=()=>{p||(p=requestAnimationFrame(v));};c.observe(u),c.observe(a);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 _S(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 IS=[{field:"PAGE",labelKey:"headerFooter.insertPageNumber"},{field:"NUMPAGES",labelKey:"headerFooter.insertTotalPages"},{field:"SECTIONPAGES",labelKey:"headerFooter.insertSectionPages"},{field:"PAGE_X_OF_Y",labelKey:"headerFooter.insertPageXofY"}];function Xn(e){let t=k();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 DS=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=D(),o=k(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(""),l=vue.ref("");vue.watch(n,(m,C,T)=>{if(!m)return;let f=x=>{r.value?.contains(x.target)||(n.value=false);};document.addEventListener("mousedown",f),T(()=>document.removeEventListener("mousedown",f));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([m,C,T])=>{m&&(C===void 0||T===void 0||(a.value=String(ns(C)),l.value=String(ns(T))));});let i=vue.computed(()=>({type:"setHeaderFooterOptions",titlePage:!e.state.titlePage})),s=vue.computed(()=>({type:"setHeaderFooterOptions",evenAndOddHeaders:!e.state.evenAndOddHeaders})),u=vue.computed(()=>({type:"linkHeaderFooterToPrevious"})),p=vue.computed(()=>({type:"unlinkHeaderFooterFromPrevious"})),d=vue.computed(()=>({type:"removeHeaderFooter",position:e.state.editing})),c=Xn(i.value),v=Xn(s.value),y=Xn(u.value),g=Xn(p.value),h=Xn(d.value),b=(m,C)=>{if(!o.value)return;let T=Number.parseFloat(C);Number.isFinite(T)&&o.value.exec({type:"setHeaderFooterOptions",[m]:Mp(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:[IS.map(m=>{let C={type:"insertPageField",field:m.field},T=o.value?.can(C);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(C),n.value=false;},onMousedown:e.onChromeMousedown,children:t(m.labelKey)},m.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(s.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:a.value,onInput:m=>{a.value=m.target.value;},onBlur:()=>b("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:m=>{l.value=m.target.value;},onBlur:()=>b("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(d.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]})}}),Fa=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=rs(),r=jn(l=>l.querySelector("[data-docx-hf-active]"),"story-label"),a=I;return ()=>{if(!o.value?.editing)return null;let l=_S(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:Xt.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(DS,{state:o.value,onChromeMousedown:a})])}}});function Qt(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Aa=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"})}),AS="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",HS="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",OS="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",BS="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 KS(e){let t={},o=[],n=r=>{for(let a of r){if(!vue.isVNode(a))continue;if(a.type===vue.Fragment){n(fe(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 ss=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=Ee(),{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,s=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:s,onMousedown:Qt,...a?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(B,{...u,children:p}):a?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:s})]}):jsxRuntime.jsxs("button",{...u,children:[p,Aa(BS)]})}}});ss.docxHyperLinkPart="Url";var ds=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=Ee(),{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:Qt,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??Aa(AS);return e.asChild?jsxRuntime.jsx(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}});ds.docxHyperLinkPart="Copy";var us=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=Ee(),{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:Qt,onClick:()=>o.beginEdit()},l=e.icon??t.default?.()??Aa(HS);return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});us.docxHyperLinkPart="Edit";var cs=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=Ee(),{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:Qt,onClick:()=>o.unlink()},l=e.icon??t.default?.()??Aa(OS);return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});cs.docxHyperLinkPart="Unlink";var ps=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Ee(),{t:o}=D(),n=vue.ref(null),r=oe("hyperlink-text"),a=oe("hyperlink-url"),l=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(l),vue.watch(()=>t.state.value.mode,s=>{s==="editing"&&l();},{flush:"post"});let i=s=>{if(s.key==="Enter"){s.preventDefault(),t.commitEdit();return}s.key==="Escape"&&(s.preventDefault(),t.close());};return ()=>{if(e.hidden)return null;let s=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:s.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:s.url,placeholder:o("hyperlinkPopup.urlPlaceholder"),onInput:u=>t.setUrl(u.target.value),onKeydown:i})]})}}});ps.docxHyperLinkPart="Fields";var ms=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=Ee(),{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:Qt,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(B,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??a})}}});ms.docxHyperLinkPart="Apply";var fs=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Ee(),{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")})}}});fs.docxHyperLinkPart="Error";var gs=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=Ee(),{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:Qt,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(B,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??r})}}});gs.docxHyperLinkPart="Cancel";var VS=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=Ee();return ()=>{let n=o.state.value,r=KS(fe(t.default?.()??[])),a=(i,s)=>i in r?r[i]:s;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Fields",jsxRuntime.jsx(ps,{})),a("Error",jsxRuntime.jsx(fs,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Apply",jsxRuntime.jsx(ms,{})),a("Cancel",jsxRuntime.jsx(gs,{}))]}),r.__extra]});let l=n.canEdit&&!(n.link&&Uo(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Url",jsxRuntime.jsx(ss,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Copy",jsxRuntime.jsx(ds,{})),l?a("Edit",jsxRuntime.jsx(us,{})):null,l?a("Unlink",jsxRuntime.jsx(cs,{})):null]}),r.__extra]})}}}),zS=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=Ee(),n=vue.ref(null),r=vue.ref(null),{t:a}=D();return vue.watch(()=>o.state.value.mode,(l,i,s)=>{if(l==="closed")return;let u=d=>{d.key==="Escape"&&(d.preventDefault(),o.close());},p=d=>{let c=n.value;c&&d.target instanceof Node&&c.contains(d.target)||o.close();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),s(()=>{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 s=i.offsetParent;if(!s){r.value=null;return}let{left:u,top:p}=wo(s,l.left,l.top),d=Math.max(0,s.scrollWidth-i.offsetWidth);r.value={left:K(Math.max(0,Math.min(u,d))),top:K(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 s=e.preset?jsxRuntime.jsx(VS,{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:Qt,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(B,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),Ha=Object.assign(zS,{Url:ss,Copy:ds,Edit:us,Unlink:cs,Fields:ps,Error:fs,Apply:ms,Cancel:gs});function ys(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Ba=vue.defineComponent({name:"DocxEditorEquation",setup(){let e=k(),{t}=D(),o=vue.ref(null),n=vue.ref(null),r=oe("equation-input"),a=oe("equation-error"),l=oe("equation-disabled-reason"),i=null,s=null,u=null,p=_(g=>g),d=vue.computed(()=>{p.value;let g=e.value,h=o.value?.activation;if(!g?.surface||!h)return {replaceEnabled:false,removeEnabled:false,reason:null};let b=g.surface.equations.can(h.equation.id,"replace"),m=g.surface.equations.can(h.equation.id,"remove"),C=b.ok?m.ok?null:m.reason:b.reason;return {replaceEnabled:b.ok,removeEnabled:m.ok,reason:C?i18n.localizeDisabledReason(C,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,b)=>{if(!g)return;let m=g.setEquationChrome({onPopover:C=>{u?.();let T=g.surface;if(T&&typeof T.retainSelection=="function"){let f=T.retainSelection();u=()=>T.releaseSelection(f);}else u=null;o.value={activation:C,mountGeneration:g.mountGeneration,draft:C.equation.linear,error:false};}});b(()=>{m(),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,b)=>{if(!g)return;let m=false,C=null,T=null,f=null;queueMicrotask(()=>{if(m)return;let x=i;C=x?.ownerDocument??null;let P=C?.defaultView;!x||!C||!P||(T=S=>{S.key==="Escape"&&(S.preventDefault(),c(true));},f=S=>{S.target instanceof P.Node&&x.contains(S.target)||c();},C.addEventListener("keydown",T),C.addEventListener("pointerdown",f,true));}),b(()=>{m=true,C&&T&&C.removeEventListener("keydown",T),C&&f&&C.removeEventListener("pointerdown",f,true);});},{flush:"post"}),vue.watch(()=>o.value?.activation,g=>{if(!g){n.value=null;return}let h=i;if(!h)return;let b=h.offsetParent;if(b){let m=wo(b,g.rect.left,g.rect.bottom),C=Math.max(0,b.scrollWidth-h.offsetWidth);n.value={left:K(Math.max(0,Math.min(m.left,C))),top:K(m.top)};}else n.value=null;s?.focus({preventScroll:true}),s?.select();},{flush:"post"});let v=g=>{let h=o.value,b=e.value?.surface?.equations;if(!h||!b||!d.value.replaceEnabled)return false;let m=b.applyEquation(h.activation.equation.id,g??h.draft);return m?c(true):o.value={...h,error:true},m},y=()=>{let g=o.value,h=e.value?.surface?.equations;if(!g||!h||!d.value.removeEnabled)return false;let b=h.removeEquation(g.activation.equation.id);return b?c(true):o.value={...g,error:true},b};return ()=>{let g=o.value;if(!g)return null;let h=vue.h("input",{id:r,onVnodeMounted:b=>{s=b.el;},onVnodeUnmounted:()=>{s=null;},class:"docx-equation-popup__input","data-testid":"equation-popup-input",value:g.draft,placeholder:t("equationPopup.placeholder"),spellcheck:false,"aria-describedby":[g.error?a:null,d.value.reason?l:null].filter(Boolean).join(" ")||void 0,onInput:b=>{let m=o.value;m&&(o.value={...m,draft:b.target.value,error:false});},onKeydown:b=>{b.key!=="Enter"||b.isComposing||(b.preventDefault(),v(b.currentTarget.value));}});return vue.h("div",{onVnodeMounted:b=>{i=b.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:ys},[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:t("equationPopup.inputLabel")}),h,g.error?jsxRuntime.jsx("div",{id:a,class:"docx-equation-popup__error","data-testid":"equation-popup-error",role:"alert",children:t("equationPopup.refused")}):null,d.value.reason?jsxRuntime.jsx("div",{id:l,class:"docx-equation-popup__error","data-testid":"equation-popup-disabled-reason",role:"status",children:d.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:!d.value.replaceEnabled,title:d.value.reason??void 0,onMousedown:ys,onClick:()=>v(s?.value),children:t("equationPopup.apply")}),jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__delete","data-testid":"equation-popup-delete",disabled:!d.value.removeEnabled,title:d.value.reason??void 0,onMousedown:ys,onClick:y,children:t("equationPopup.delete")})]})])}}});function GS(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 vs(){let e=k();return _(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},GS)}function Lp(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 Fp(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&&Lp(e.documentAuthored,t.documentAuthored)&&Lp(e.sectionAuthored,t.sectionAuthored)}function jS(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&Fp(e.footnote,t.footnote)&&Fp(e.endnote,t.endnote)}function bs(){let e=k();return _(o=>e.value?.getNotePropertiesState()??null,jS)}var XS=/^(footnote|endnote):(-?\d{1,10})$/;function Ap(e){let t=XS.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function YS(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function hs(e){let t=k();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 JS=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=s=>{n.value?.contains(s.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: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]})}}),QS=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=D(),o=k(),n=bs(),r=vue.ref("document"),a=vue.ref("decimal"),l=vue.ref("continuous"),i=vue.ref("pageBottom"),s=vue.ref("decimal"),u=vue.ref("continuous"),p=vue.ref("docEnd");return vue.watch(n,d=>{d&&(a.value=d.footnote.resolved.numFmt,l.value=d.footnote.resolved.numRestart,i.value=d.footnote.resolved.pos,s.value=d.endnote.resolved.numFmt,u.value=d.endnote.resolved.numRestart,p.value=d.endnote.resolved.pos);}),()=>{let d=n.value,c=!d?.footnote.documentAuthored&&!d?.footnote.sectionAuthored,v=!d?.endnote.documentAuthored&&!d?.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:Xt.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:a.value,onChange:y=>{a.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:l.value,onChange:y=>{l.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:s.value,onChange:y=>{s.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"?d?.sectionIndex:void 0,footnote:{numFmt:a.value,numRestart:l.value,position:i.value},endnote:{numFmt:s.value,numRestart:u.value,position:p.value}};y.can(g).ok&&e.onApply(g);},children:t("common.apply")})]})]})})}}}),Ka=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=k(),n=vs(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=vue.ref(null),s=vue.ref(null),u=()=>s.value?.closest(".docx-editor")??null,d=jn(x=>{let P=n.value;if(!P)return null;let w=[...x.querySelectorAll("[data-docx-note-scope]")].find(M=>M.matches("[data-docx-note]")&&M.dataset.docxNoteScope===P.id)??null;return w?.closest("[data-docx-notes]")??w},"story-label"),c=()=>{i.value&&clearTimeout(i.value),i.value=null,r.value=null;};vue.watch([o,s],([x],P,S)=>{if(!x)return;let w=u();if(!w)return;let M=R=>{let F=R.target;if(!F)return;let te=F.closest("[data-docx-note-ref]");if(te?.dataset.docxNoteScope){R.preventDefault(),c(),a.value=null,x.setActiveScope({kind:"note",id:te.dataset.docxNoteScope});return}F.closest("[data-docx-note-mark-back]")&&(R.preventDefault(),c(),a.value=null,x.setActiveScope({kind:"body"}));},E=R=>{let F=R,re=F.target?.closest("[data-docx-note-scope]");re?.dataset.docxNoteScope&&(F.preventDefault(),a.value={scopeId:re.dataset.docxNoteScope,x:F.clientX,y:F.clientY});},L=R=>{if(YS())return;let te=R.target?.closest("[data-docx-note-ref]");if(!te?.dataset.docxNoteScope){c();return}let re=te.dataset.docxNoteScope,Q=x.getNotePreviewText(re)??te.getAttribute("aria-description")??t("notes.previewFallback"),W=te.getBoundingClientRect();i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{r.value={scopeId:re,text:Q,x:W.left,y:W.bottom+4};},400);};w.addEventListener("click",M),w.addEventListener("contextmenu",E),w.addEventListener("pointerover",L),w.addEventListener("scroll",c,true),S(()=>{w.removeEventListener("click",M),w.removeEventListener("contextmenu",E),w.removeEventListener("pointerover",L),w.removeEventListener("scroll",c,true),c();});},{flush:"post"});let v=x=>{o.value?.exec(x),a.value=null;},y=vue.computed(()=>a.value?Ap(a.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),b=vue.computed(()=>y.value?{type:"convertAllNotes",fromKind:y.value.noteKind}:null),m=hs(g.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),C=hs(h.value??{type:"convertNote",fromKind:"footnote",noteId:0}),T=hs(b.value??{type:"convertAllNotes",fromKind:"footnote"}),f=vue.computed(()=>({position:"fixed",left:K(r.value?.x??0),top:K(r.value?.y??0),zIndex:Xt.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 x=n.value?Ap(n.value.id):null,P=x?t("notes.editingRegion",{kind:x.noteKind==="footnote"?t("notes.footnoteKind"):t("notes.endnoteKind"),number:x.noteId}):null;return vue.h("div",{ref:S=>{s.value=S instanceof HTMLDivElement?S:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":n.value?void 0:true},[n.value&&x?jsxRuntime.jsxs("div",{ref:d.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:{...d.style.value,zIndex:Xt.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:P}),jsxRuntime.jsx(JS,{onOpenProperties:()=>{l.value=true;},onClose:()=>{o.value?.setActiveScope({kind:"body"});}})]}):null,r.value?jsxRuntime.jsx("div",{role:"tooltip","data-testid":"docx-notes-preview",style:f.value,children:r.value.text}):null,a.value&&y.value?jsxRuntime.jsxs("div",{role:"menu","data-testid":"docx-notes-menu",style:{position:"fixed",left:K(a.value.x),top:K(a.value.y),zIndex:Xt.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:!m.value.enabled,title:m.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:!C.value.enabled,title:C.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:!T.value.enabled,title:T.value.reason??void 0,onClick:()=>b.value&&v(b.value),children:y.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(QS,{onClose:()=>{l.value=false;},onApply:S=>{v(S),l.value=false;}}):null])}}});var Jn=Symbol("ContextMenuContext"),Bp={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function it(){return vue.unref(vue.inject(Jn,Bp))}function Kp(){return vue.unref(vue.inject(Jn,Bp))?.target??null}var Vp=["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"],zp=["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"],Cs=["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"],$p=["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"],qp=["M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"],Up=["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"],Wp=["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 ko(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=k(),{close:l}=it(),i=se(),s=U(t);return ()=>r.hidden?null:jsxRuntime.jsx(ue,{...Se(e),icon:r.icon??$(o.paths)??void 0,shortcut:i(r.shortcutKey??o.shortcutKey),disabled:!s.isEnabled.value,...s.disabledReason.value?{title:s.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 Qn=ko("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:Vp}),er=ko("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:zp}),tr=ko("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:$p}),or=ko("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:Wp}),_o=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=k(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),a=se(),l=U({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ue,{...Se("edit.paste"),icon:e.icon??$(Cs)??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{text:s,html:u}=await oC();(s||u)&&t.value?.exec({type:"paste",text:s,...u?{html:u}:{}});}catch(s){r(s instanceof Error?s.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:a(e.labelKey??"contextMenu.paste")})}}});_o.docxRow="edit.paste";async function oC(){let e=navigator.clipboard;if(typeof e.read=="function"&&typeof ClipboardItem<"u")try{let t=await e.read(),o="",n=null;for(let r of t)r.types.includes("text/plain")&&(o=await(await r.getType("text/plain")).text()),r.types.includes("text/html")&&(n=await(await r.getType("text/html")).text());if(o||n)return {text:o,html:n}}catch{}return {text:await e.readText(),html:null}}var Io=vue.defineComponent({name:"ContextMenuPasteWithoutFormatting",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=k(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),a=se(),l=U({type:"pasteWithoutFormatting",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ue,{...Se("edit.pasteWithoutFormatting"),icon:e.icon??$(Cs)??void 0,shortcut:a(e.shortcutKey??"contextMenu.pasteWithoutFormattingShortcut"),disabled:!l.isEnabled.value||i,...n??l.disabledReason.value?{title:n??l.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let s=await navigator.clipboard.readText();s&&t.value?.exec({type:"pasteWithoutFormatting",text:s});}catch(s){r(s instanceof Error?s.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:a(e.labelKey??"contextMenu.pasteWithoutFormatting")})}}});Io.docxRow="edit.pasteWithoutFormatting";var Gp=z("format.painter")?.paths??[],Va=ko("format.copyFormatting",{type:"copyFormatting"},{labelKey:"contextMenu.copyFormatting",shortcutKey:"contextMenu.copyFormattingShortcut",paths:Gp}),za=ko("format.pasteFormatting",{type:"pasteFormatting"},{labelKey:"contextMenu.pasteFormatting",shortcutKey:"contextMenu.pasteFormattingShortcut",paths:Gp});function to(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}=it(),l=se(),i=nr(),s=U(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ue,{...Se(e),icon:r.icon??$(o.paths)??void 0,disabled:!s.isEnabled.value,...s.disabledReason.value?{title:s.disabledReason.value}:{},class:`${u?"docx-table-chrome__destructive-row":""}${r.className?` ${r.className}`:""}`,onSelect:()=>{s.execute()&&a(true);},children:l(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var Do=to("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),No=to("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),Lo=to("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),Fo=to("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),Ao=to("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),Ho=to("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),Oo=to("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),nC=[{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"}],oo=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=it(),o=se(),n=nr(),r=U({type:"setTableCellVerticalAlignment",alignment:"top"}),a=U({type:"setTableCellVerticalAlignment",alignment:"center"}),l=U({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:nC.map((s,u)=>{let p=i[u];return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":false,"aria-label":o(s.labelKey),title:p.disabledReason.value??o(s.labelKey),"aria-disabled":!p.isEnabled.value,class:"docx-contextmenu__table-align-button",onMousedown:d=>{d.preventDefault(),d.stopPropagation();},onClick:()=>{p.execute()&&t(true);},children:$(editor.tableChromeIconPaths(s.icon))},s.alignment)})})]})}});oo.docxRow="table.cellVerticalAlignment";function jp(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=k(),{close:l,tocId:i}=it(),s=se(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=U(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ue,{...Se(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:s(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Bo=jp("toc.refresh","entire",{labelKey:"toc.refresh",paths:qp}),Ko=jp("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:Up});function nr(){return _(e=>e.table!=null,(e,t)=>e===t)}var $a=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}=it();return ()=>vue.h(ue,{...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 qa=8,dC=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=k(),t=ro(),o=Te(),n=se();return ()=>{let r=e.value,a=r?.can({type:"toggleReviewPane"}),l=!a?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=z("review.comments");return jsxRuntime.jsx(ue,{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")})}}}),uC=vue.defineComponent({name:"ContextMenuEditField",setup(){let e=k(),t=Te(),o=se();return ()=>e.value?.can({type:"editTextFormField"}).ok?jsxRuntime.jsx(ue,{rowSlot:"field.edit",onSelect:()=>{t.value.setOpenMenu(null),e.value?.exec({type:"editTextFormField"});},children:o("textFormField.edit")}):null}}),cC=[{kind:"row",id:"field.edit",render:()=>jsxRuntime.jsx(uC,{})},{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(Qn,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx(er,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(_o,{})},{kind:"row",id:"edit.pasteWithoutFormatting",render:()=>jsxRuntime.jsx(Io,{})},{kind:"row",id:"format.copyFormatting",render:()=>jsxRuntime.jsx(Va,{})},{kind:"row",id:"format.pasteFormatting",render:()=>jsxRuntime.jsx(za,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(tr,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(or,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(Ze,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(dC,{})}];function pC(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:Do.docxRow,render:()=>jsxRuntime.jsx(Do,{})},{kind:"row",id:No.docxRow,render:()=>jsxRuntime.jsx(No,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:Lo.docxRow,render:()=>jsxRuntime.jsx(Lo,{})},{kind:"row",id:Fo.docxRow,render:()=>jsxRuntime.jsx(Fo,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:Ao.docxRow,render:()=>jsxRuntime.jsx(Ao,{})},{kind:"row",id:Ho.docxRow,render:()=>jsxRuntime.jsx(Ho,{})},{kind:"row",id:Oo.docxRow,render:()=>jsxRuntime.jsx(Oo,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:oo.docxRow,render:()=>jsxRuntime.jsx(oo,{})}]}function mC(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:Bo.docxRow,render:()=>jsxRuntime.jsx(Bo,{})},{kind:"row",id:Ko.docxRow,render:()=>jsxRuntime.jsx(Ko,{})}]}function Jp(e,t=false){return [...cC,...e?pC():[],...t?mC():[]]}function Qp(e){return e!=null&&typeof e=="object"&&"type"in e}function em(e){if(!Qp(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(em).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(!Qp(e))return false;let t=e.type;return typeof t!="function"&&typeof t!="object"?false:t.docxRowPlacement==="start"}function fC(e){return e?.closest(".docx-editor__scroll-container")??null}var zo=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=ke(),n=k(),r=st(),{t:a}=D(),l=nr(),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=vue.ref(null),d=vue.ref(null),c=vue.ref(null),v=vue.ref(null),y=vue.ref(false),g=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,T=>{g.value=T;});let h=vue.computed(()=>Jp(l.value,p.value!==null)),b=(T=false)=>{u.value=null,c.value=null,p.value=null,d.value=null,T&&n.value?.focus();};vue.watch(()=>e.disabled,T=>{T&&b();}),vue.watchEffect(T=>{if(r.value,e.disabled)return;let f=fC(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!f)return;let x=P=>{P.preventDefault();let S=P.button===-1||P.clientX===0&&P.clientY===0,w=f.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,d.value=S||!(P.target instanceof HTMLElement)?null:P.target,u.value=S?{x:w.left+16,y:w.top+16}:{x:P.clientX,y:P.clientY};};f.addEventListener("contextmenu",x),T(()=>f.removeEventListener("contextmenu",x));}),vue.watch(u,(T,f,x)=>{if(!T)return;let P=M=>{s.value?.contains(M.target)||b();},S=M=>{M.key==="Escape"?(M.preventDefault(),b(true)):M.key==="Tab"&&b();},w=()=>b();document.addEventListener("pointerdown",P,true),document.addEventListener("keydown",S),document.addEventListener("scroll",w,{capture:true,passive:true}),window.addEventListener("blur",w),window.addEventListener("resize",w),x(()=>{document.removeEventListener("pointerdown",P,true),document.removeEventListener("keydown",S),document.removeEventListener("scroll",w,true),window.removeEventListener("blur",w),window.removeEventListener("resize",w);});},{flush:"sync"}),vue.watch(u,async T=>{if(c.value=null,!T)return;await vue.nextTick();let f=s.value;if(!f||!u.value)return;let{width:x,height:P}=f.getBoundingClientRect(),S=window.innerWidth-x-qa,w=window.innerHeight-P-qa,M=Math.max(qa,u.value.x>S?u.value.x-x:u.value.x),E=Math.max(qa,u.value.y>w?u.value.y-P:u.value.y);c.value={x:M,y:E};},{flush:"post"}),vue.watch(c,T=>{T&&s.value?.focus({preventScroll:true});}),vue.watch(u,T=>{let f=T!==null;f!==y.value&&(y.value=f,g.value?.(f));});let m=vue.computed(()=>({t:e.t,openMenu:null,setOpenMenu:()=>b(true),activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0})),C=vue.computed(()=>({close:b,anchor:u.value,tocId:p.value,target:d.value,clipboardRefusal:v.value,reportClipboardRefusal:T=>{v.value=T;}}));return vue.provide(kn,m),vue.provide(Jn,C),()=>{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"},f=fe(t.default?.()??[]),x=f.filter(Yp),P=f.filter(w=>!Yp(w)),S=e.preset===false?f:[...x,...Mr({entries:h.value,children:P,preset:e.preset,keyOfEntry:w=>w.id,keyOfChild:em,renderEntry:w=>w.kind==="separator"?jsxRuntime.jsx($t,{}):w.render()})];return vue.h("div",{ref:w=>{i.value=w instanceof HTMLDivElement?w:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:w=>{s.value=w instanceof HTMLDivElement?w: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:w=>{let M=s.value;if(!M)return;let E=yt(M);w.key==="ArrowDown"?(w.preventDefault(),Fe(E,document.activeElement,1)):w.key==="ArrowUp"?(w.preventDefault(),Fe(E,document.activeElement,-1)):w.key==="Home"?(w.preventDefault(),Ae(E,"first")):w.key==="End"&&(w.preventDefault(),Ae(E,"last"));}},S)]:[])}}});Object.assign(zo,{Cut:Qn,Copy:er,Paste:_o,PasteWithoutFormatting:Io,Delete:tr,SelectAll:or,InsertRowAbove:Do,InsertRowBelow:No,InsertColumnLeft:Lo,InsertColumnRight:Fo,DeleteTableRow:Ao,DeleteTableColumn:Ho,DeleteTable:Oo,CellVerticalAlignment:oo,RefreshToc:Bo,RefreshTocPageNumbers:Ko,Item:$a,Slot:Ze,Row:ue,Group:Nn,Separator:$t,Submenu:He});function Ps(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var om=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"})}),vC="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",bC="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",hC={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"},xC={display:"flex",justifyContent:"space-between",gap:"12px",alignItems:"baseline"},SC={color:"var(--doc-text-muted)",flexShrink:0},CC={textAlign:"right",wordBreak:"break-word"},TC={display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontWeight:600},EC={display:"flex",gap:"8px",marginTop:"4px"},nm={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 PC(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 wC(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 $o=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:xC,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:SC,children:e.label}),jsxRuntime.jsx("span",{style:CC,children:e.value})]})}}),rm=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}=Ue(),{t:n}=D();return ()=>{if(e.hidden)return null;let r={style:TC,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:{...nm,padding:"4px",border:"none",background:"transparent"},onMousedown:Ps,onClick:()=>o(),children:om(vC)})]});return e.asChild?jsxRuntime.jsx(B,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),am=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}=Ue(),{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"),s=t.default?.()??[jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??a,testId:"content-control-inspector-alias"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??a,testId:"content-control-inspector-tag"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.type"),value:n(PC(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.lock"),value:n(wC(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?l:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx($o,{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(B,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),lm=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}=Ue(),{t:l}=D();return ()=>{if(e.hidden)return null;let i=l("contentControl.remove"),s={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:nm,onMousedown:Ps,onClick:()=>{r().ok&&a();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??om(bC),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(B,{...s,children:u}):jsxRuntime.jsx("button",{...s,children:u})}}}),RC=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=Ue(),n=vue.ref(null),r=oe("content-control-title"),{t:a}=D();return vue.watch(()=>o.inspectorOpen.value,(l,i,s)=>{if(!l)return;let u=d=>{d.key==="Escape"&&(d.preventDefault(),o.closeInspector());},p=d=>{let c=n.value;c&&d.target instanceof Node&&c.contains(d.target)||o.closeInspector();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),s(()=>{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(rm,{}),jsxRuntime.jsx(am,{}),jsxRuntime.jsx("div",{style:EC,children:jsxRuntime.jsx(lm,{})}),t.default?.()]}):t.default?.(),s={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:hC,onMousedown:p=>{Ps(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(B,{...s,children:u}):jsxRuntime.jsx("div",{...s,children:u})}}}),Wa=Object.assign(RC,{Header:rm,Fields:am,Remove:lm});var ws=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(Zo,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(Zo,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 _C=editor.LOADING_SNAPSHOT;function Ga(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)??_C}}var FC={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)"},AC={flex:1,minHeight:0,minWidth:0,overflowAnchor:"none"},HC={position:"relative",display:"flex",flex:1,minHeight:0,minWidth:0},OC={flex:"none",minHeight:"34px",padding:"6px 0 2px",overflow:"hidden",scrollbarGutter:"stable both-edges",backgroundColor:"var(--doc-bg)"},BC={position:"absolute",top:"40px",left:0,zIndex:10,pointerEvents:"none"},KC={flex:"none",display:"flex",flexDirection:"column",position:"relative",zIndex:"var(--doc-z-overlay)",backgroundColor:"var(--doc-surface)",borderBottomWidth:"1px",borderBottomStyle:"solid",borderBottomColor:"var(--doc-border)",boxShadow:"0 1px 3px var(--doc-shadow-subtle)"},VC={padding:"8px 12px"},zC={display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px 0",color:"var(--doc-text)"},$C={display:"flex",flexDirection:"column",flex:1,minWidth:0,gap:"2px"},qC={flex:1,minWidth:0,font:"inherit",color:"inherit",backgroundColor:"transparent",border:"1px solid transparent",borderRadius:"4px",padding:"2px 6px"},UC=vue.defineComponent({name:"ScopedChrome",props:{scoped:{type:Boolean,required:true}},setup(e,{slots:t}){return vue.provide(Yo,e.scoped),()=>t.default?.()}}),pm={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}},WC={...pm,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}},GC=vue.defineComponent({name:"DocxEditorFrame",inheritAttrs:false,props:pm,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),s=vue.computed(()=>e.chrome??true),u=vue.computed(()=>e.menu??true),p=vue.computed(()=>e.navigation??true),d=vue.computed(()=>e.rulers??true),c=vue.computed(()=>e.contextMenu??true),v=vue.computed(()=>e.hyperlinkPopup??true),y=vue.ref(zs()),g;vue.onMounted(()=>{e.colorMode==="system"&&(g=ol(x=>{y.value=x;}));}),vue.onUnmounted(()=>g?.()),vue.watch(()=>e.colorMode,(x,P,S)=>{g?.(),g=void 0,x==="system"&&(g=ol(w=>{y.value=w;}),S(()=>g?.()));});let h=vue.computed(()=>$s(e.colorMode,y.value)),b=D(),m=vue.computed(()=>{let x=e.t,P=b.t;return (S,w)=>x?x(S,w):P(S,w)}),C=x=>m.value(x);vue.provide(Ia,x=>m.value(x));let T=vue.shallowRef(null);r({load:x=>T.value?.load(x),save:()=>T.value?.save()??Promise.resolve(null),getDocumentHandle:()=>T.value?.getDocumentHandle()??null,getEditor:()=>T.value?.getEditor()??null,focus:()=>T.value?.focus(),exec:(x,P)=>T.value?.exec(x,P)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:x=>T.value?.snapshot(x)??Ga(()=>null).snapshot(x)});let f=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let x=k();return T.value=Ga(()=>x.value),()=>null}});return ()=>{let x=m.value,P=s.value&&h.value?"dark":s.value?void 0:e.class,S=vue.h(Cr,{class:P,style:s.value?AC:void 0,...!s.value&&e.class?{}:{}},{default:()=>[s.value?vue.h(Fa):null,s.value?vue.h(Ka):null,vue.h(Er),vue.h(Ha,{hidden:v.value===false}),vue.h(Ba),c.value===false?null:vue.h(zo,{t:x,...typeof c.value=="object"?c.value:{}}),vue.h(Wa),d.value&&s.value?vue.h("div",{style:BC,"aria-hidden":"true"},[vue.h(Ca)]):null,n.default?.()]}),w=typeof u.value=="object"?u.value:{},M=s.value?vue.h("div",{class:`docx-editor${h.value?" dark":""}${e.class?` ${e.class}`:""}`,style:FC},[vue.h("div",{style:KC},[vue.h("div",{style:zC},[n.titleBarLeft?.(),vue.h("div",{style:$C},[i.value!==void 0?vue.h("input",{"aria-label":x("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:x("titleBar.untitled"),style:qC,onInput:E=>{let L=E.target.value;i.value?.(L),o("titleChange",L);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??x("titleBar.untitled")),u.value!==false?vue.h(Ut,{t:x,...e.title!==void 0?{fileName:e.title}:{},...l.value!==void 0?{openHandler:l.value}:{},...a.value!==void 0?{saveHandler:a.value}:{},...w}):null]),n.titleBarRight?.()]),vue.h("div",{style:VC},[vue.h(Rn,{t:x})])]),d.value?vue.h("div",{style:OC,"data-testid":"docx-editor-ruler-row"},[vue.h(Sa)]):null,vue.h(Na,{t:x}),vue.h("div",{style:HC},[p.value?vue.h(Gn,{t:x}):null,S,vue.h(Da),vue.h(Pr,{overlay:true})])]):S;return vue.h(Xo,{...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:x,...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:C,onReady:E=>o("ready",E),onChange:E=>o("change",E),onFontError:E=>o("fontError",E)},{default:()=>[vue.h(f),vue.h(UC,{scoped:s.value},{default:()=>M})]})}}}),jC=vue.defineComponent({name:"DocxEditor",inheritAttrs:false,props:WC,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,s=vue.shallowRef(null);return r({load:u=>s.value?.load(u),save:()=>s.value?.save()??Promise.resolve(null),getDocumentHandle:()=>s.value?.getDocumentHandle()??null,getEditor:()=>s.value?.getEditor()??null,focus:()=>s.value?.focus(),exec:(u,p)=>s.value?.exec(u,p)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:u=>s.value?.snapshot(u)??Ga(()=>null).snapshot(u)}),()=>{let{i18n:u,...p}=e;return vue.h(sr,u!==void 0?{i18n:u}:{},{default:()=>vue.h(GC,{...p,ref:d=>{s.value=d&&typeof d=="object"&&"load"in d?d:null;},onReady:d=>o("ready",d),onChange:d=>o("change",d),onFontError:d=>o("fontError",d),saveHandler:a()!==void 0?()=>{a()(),o("save");}:void 0,openHandler:l()!==void 0?()=>{l()(),o("open");}:void 0,onTitleChange:i()!==void 0?d=>{i()(d),o("titleChange",d);}:void 0},{default:n.default,titleBarLeft:n.titleBarLeft,titleBarRight:n.titleBarRight})})}}}),Ms=Object.assign(jC,{Root:Xo,Viewport:Cr,Content:Er,Toolbar:Rn,Menu:Ut,Loading:Pr,HorizontalRuler:Sa,VerticalRuler:Ca,DocumentOutline:Xi,Navigation:Gn,PageSetupDialog:Mn,ParagraphDialog:Ht,PageNumber:Da,FontNotice:Na,HeaderFooterChrome:Fa,NotesChrome:Ka,Equation:Ba,HyperLink:Ha,ContextMenu:zo,ContentControl:Wa,AuthorStyle:Rs,ColorByChangeType:ws});function YC(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function JC(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function QC(){let e=k(),t=vue.shallowRef(null),o=null,n=()=>{let a=YC(e.value),l=o;return (a===null?l===null:l!==null&&JC(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 s=()=>{let d=n();t.value!==d&&(t.value=d);},u=a.on("selectionChange",s),p=a.on("change",s);i(()=>{u(),p();});},{immediate:true,flush:"post"});return j(r),t}function nT(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,a,l)=>{if(!r)return;let i=()=>{o.value++;},s=r.on("change",i),u=r.on("selectionChange",i);i(),l(()=>{s(),u();});},{immediate:true,flush:"post"});return j(n),o}var iT=e=>typeof e=="function"?e:vue.toValue(e);function sT(...e){let t=e,o=()=>t.map(iT);return editor.defineFontResolver(n=>editor.composeFontOrigins(o(),n))}function cT(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}function ks(e){return Array.isArray(e)?e:[e]}function pT(e){if(typeof e!="function"||editor.isFontResolver(e))return e;let t=e;return editor.defineFontResolver(async()=>t())}function mT(e){return e!==void 0&&ks(e).some(t=>editor.isFontResolver(t))}async function fT(e){return typeof e!="function"?await e:await e()}function gT(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),s=vue.ref(vue.toValue(t).fonts===void 0),u=0,p=editor.defineFontResolver(d=>editor.composeFontOrigins(ks(vue.toValue(n).fonts??[]).map(pT),d));return j(vue.watch(()=>vue.toValue(n).fonts,(d,c,v)=>{if(d===void 0){a.value=void 0,s.value=true;return}if(mT(d)){a.value=p,s.value=true;return}let y=true;a.value=void 0,s.value=false,(async()=>{try{let g=await Promise.allSettled(ks(d).map(fT)),h=[];for(let b of g){if(b.status==="rejected"){console.warn("[fonts] font loading failed for one origin; the others still compose",b.reason);continue}b.value!==void 0&&h.push(b.value);}y&&h.length>0&&(a.value=editor.composeFontConfiguration(h[0],...h.slice(1)));}catch(g){console.warn("[fonts] font loading failed; the fixed measurer stays in effect",g);}finally{y&&(s.value=true);}})(),v(()=>{y=false;});},{immediate:true})),j(vue.watch(()=>vue.toValue(o),(d,c,v)=>{u+=1;let y=u;if(d==null){r.value=void 0,l.value=null,i.value=false;return}let g=cT(d);if(g){r.value=g,l.value=null,i.value=false;return}let h=true,b=new AbortController;r.value=void 0,i.value=true,l.value=null,(async()=>{try{let m=await fetch(String(d),{...vue.toValue(n).fetchOptions,signal:b.signal});if(!m.ok)throw new Error(`could not open the document: ${m.status} ${m.statusText}`);let C=new Uint8Array(await m.arrayBuffer());if(!h||y!==u)return;r.value=C,i.value=!1;}catch(m){if(!h||y!==u||m instanceof Error&&m.name==="AbortError")return;r.value=void 0,l.value=m instanceof Error?m:new Error("could not open the document"),i.value=false;}})(),v(()=>{h=false,b.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>s.value?r.value:void 0),fonts:vue.computed(()=>a.value),error:vue.computed(()=>l.value),isLoading:vue.computed(()=>i.value||!s.value)}}var ST=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 v=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:g=>{r.value=g,a.value?.(g);}});if(!v.ok){l.value?.(v.reason,v.detail);return}n.value=v.surface;let y=v.surface.state();return r.value=y,a.value?.(y),()=>{v.surface.destroy(),n.value=null;}},s=vue.computed(()=>r.value?.pageCount??0),u=vue.computed(()=>r.value?.revision??0),p,d=()=>{p?.(),p=i();};return vue.watch(()=>[e.source,e.measurer],()=>{o.value&&d();}),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:()=>n.value?.save()??null}),()=>vue.h("div",{onVnodeMounted:c=>{o.value=c.el,d();},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":s.value})}});var ET=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 RT=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 NT=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?.())}}),LT=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?.())}}),FT=vue.defineComponent({name:"ToolbarGroup",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__group",role:"group"},t.default?.())}});var AT=Ms;var HT=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),OT=Ut,BT=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)})}}),KT=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),VT=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,"composeFontOrigins",{enumerable:true,get:function(){return editor.composeFontOrigins}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return editor.createFontSource}});Object.defineProperty(exports,"defineFontResolver",{enumerable:true,get:function(){return editor.defineFontResolver}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return editor.generateRulerTicks}});Object.defineProperty(exports,"isFontResolver",{enumerable:true,get:function(){return editor.isFontResolver}});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=Pe;exports.ContextMenuCellVerticalAlignment=oo;exports.ContextMenuCopy=er;exports.ContextMenuCopyFormatting=Va;exports.ContextMenuCut=Qn;exports.ContextMenuDelete=tr;exports.ContextMenuDeleteTable=Oo;exports.ContextMenuDeleteTableColumn=Ho;exports.ContextMenuDeleteTableRow=Ao;exports.ContextMenuInsertColumnLeft=Lo;exports.ContextMenuInsertColumnRight=Fo;exports.ContextMenuInsertRowAbove=Do;exports.ContextMenuInsertRowBelow=No;exports.ContextMenuItem=$a;exports.ContextMenuPaste=_o;exports.ContextMenuPasteFormatting=za;exports.ContextMenuPasteWithoutFormatting=Io;exports.ContextMenuRefreshToc=Bo;exports.ContextMenuRefreshTocPageNumbers=Ko;exports.ContextMenuSelectAll=or;exports.DocumentName=BT;exports.DocumentOutline=Zi;exports.DocxEditor=Ms;exports.DocxEditorAuthorStyle=Rs;exports.DocxEditorColorByChangeType=ws;exports.DocxEditorContent=Er;exports.DocxEditorContentControl=Wa;exports.DocxEditorContextMenu=zo;exports.DocxEditorDocumentOutline=Xi;exports.DocxEditorEquation=Ba;exports.DocxEditorFontNotice=Na;exports.DocxEditorHeaderFooterChrome=Fa;exports.DocxEditorHorizontalRuler=Sa;exports.DocxEditorHyperLink=Ha;exports.DocxEditorImagePropertiesDialog=Gl;exports.DocxEditorLoading=Pr;exports.DocxEditorLoadingSpinner=Nl;exports.DocxEditorMenu=Ut;exports.DocxEditorNavigation=Gn;exports.DocxEditorNotesChrome=Ka;exports.DocxEditorPageNumber=Da;exports.DocxEditorPageSetupDialog=Mn;exports.DocxEditorParagraphDialog=Ht;exports.DocxEditorRoot=Xo;exports.DocxEditorShell=AT;exports.DocxEditorToolbar=Rn;exports.DocxEditorVerticalRuler=Ca;exports.DocxEditorViewport=Cr;exports.HorizontalRuler=Vi;exports.ImageAltText=Nr;exports.ImageInsertProvider=gr;exports.ImageInsertTrigger=yr;exports.ImagePropertiesTrigger=Or;exports.ImageWrap=_r;exports.LocaleProvider=sr;exports.Logo=KT;exports.MenuBar=OT;exports.NAVIGATION_PANE_GAP=Tp;exports.NAVIGATION_PANE_INSET=Pa;exports.NAVIGATION_PANE_WIDTH=Ea;exports.NavigationClose=Kn;exports.NavigationFind=Un;exports.NavigationHeader=Bn;exports.NavigationHeadings=qn;exports.NavigationTab=$n;exports.NavigationTabs=zn;exports.NavigationTitle=Vn;exports.NavigationToggle=Wn;exports.OUTLINE_BUTTON_LEFT_OFFSET=Cp;exports.OUTLINE_BUTTON_RESERVED_SPACE=qx;exports.OUTLINE_LEFT_OFFSET=ji;exports.OUTLINE_RESERVED_SPACE=zx;exports.PageIndicator=RT;exports.PageNumberTranslationContext=Ia;exports.PaginatedDocxEditor=ST;exports.PaginatedDocxEditorShell=ET;exports.REVIEW_MARKERS_GUTTER=Ml;exports.REVIEW_PANE_GUTTER=kl;exports.RULER_WIDTH=$i;exports.ReviewRailContext=no;exports.SEARCH_DEBOUNCE_MS=es;exports.SEARCH_MATCH_LIMIT=ts;exports.Slot=B;exports.TitleBar=HT;exports.TitleBarRight=VT;exports.Toolbar=NT;exports.ToolbarButton=LT;exports.ToolbarContext=pr;exports.ToolbarGroup=FT;exports.ToolbarImageProperties=Br;exports.VERSION=hm;exports.VerticalRuler=qi;exports.editorStateActiveSubscriptionCount=Im;exports.isFieldLink=Uo;exports.navigationPaneReservation=jt;exports.navigationShift=wa;exports.normalizeImageBytes=cr;exports.notificationYieldsToTask=od;exports.provideDocxEditor=$f;exports.reviewGutter=yd;exports.useChromeTranslate=Bs;exports.useContentControl=Ue;exports.useContentControlInstance=ur;exports.useContextMenuTarget=Kp;exports.useDocumentOutline=Ma;exports.useDocumentSearch=ka;exports.useDocxEditor=k;exports.useDocxSource=gT;exports.useEditorCaret=QC;exports.useEditorCommand=U;exports.useEditorEvent=pi;exports.useEditorSnapshot=nT;exports.useEditorState=_;exports.useEditorValueCommand=on;exports.useFontFamily=mn;exports.useFonts=sT;exports.useHeaderFooterState=rs;exports.useHyperlinkPopup=Ee;exports.useHyperlinkPopupInstance=dr;exports.useNavigationPane=_a;exports.useNavigationShift=Nt;exports.useNotePropertiesState=bs;exports.useNoteScopeState=vs;exports.usePageSetup=Vt;exports.useParagraphFormat=Xl;exports.useParagraphIndent=Ui;exports.useParagraphStyle=fn;exports.useReviewAuthors=Pn;exports.useReviewGutter=io;exports.useScopeClassName=ke;exports.useScopedChromeAnchor=jn;exports.useTableBorderTargetLabel=xi;exports.useToolbarContext=mr;exports.useToolbarLabel=V;exports.useToolbarLabelFor=Jm;exports.useTranslation=D;exports.useZoom=jl;
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 Ns={version:"2.17.0"};var xm=Ns.version;var el=Symbol("locale"),tl=Symbol("lang"),sr=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(el,vue.shallowRef(i18n.en)),n=vue.inject(tl,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(el,l),vue.provide(tl,i),()=>t.default?.()}});function D(){let e=vue.inject(el,vue.shallowRef(i18n.en)),t=vue.inject(tl,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 Bs(e){let{t}=D();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var Ks="(prefers-color-scheme: dark)";function Vs(){return typeof window<"u"&&typeof window.matchMedia=="function"}function zs(){return Vs()?window.matchMedia(Ks).matches:false}function $s(e,t){return e==="dark"||e==="system"&&t}function ol(e){if(!Vs())return ()=>{};let t=window.matchMedia(Ks);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 al=Symbol("docxEditor"),ll=Symbol("editorStateTick"),wm=vue.shallowRef(null);function k(){return vue.inject(al,wm)}function st(){return vue.inject(ll,vue.shallowRef(0))}var no=Symbol("ReviewRailContext");function ro(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(no,e)}var il=0;function Dm(){return il}function _(e,t=Object.is,o){let n=k(),r=st(),a=false,l,i,s=d=>{if(a&&d===l)return i;let c=e(d);return a&&t(i,c)?(l=d,i):(a=true,l=d,i=c,c)},u=()=>{let d=n.value;return s(d?d.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&(il++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{a=false;let d=u();t(p.value,d)||(p.value=d);},{flush:"post"}),j(()=>{il--,o?.onUnsubscribe?.();})),p}function Uo(e){return e.paragraphId===""}var _t=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),Am=e=>e;function Hm(){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 sl=Symbol("HyperlinkPopupContext");function Ee(){let e=vue.inject(sl,null),t=dr(e===null);return e??t}function dr(e=true){let t=k(),o=vue.ref(_t),n=vue.shallowRef(null),r=_(Am),a=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),l=()=>{let m=n.value;m&&(m.editor.releaseSelection(m.pin),n.value=null);};j(l);let i=(m,C)=>{l();let T=t.value;o.value={mode:m?"reading":"editing",link:m??null,anchor:C??null,text:m?.text??"",url:m?m.kind==="internal"?`#${m.anchor??""}`:m.authored:"",copied:false,error:false,canEdit:T?t.value.can({type:"insertText",text:""}).ok:false};},s=()=>{l(),o.value=_t;},u=()=>{let m=t.value,C=Hm();l();let T=m?.surface?.hyperlinks.linkAtCaret()??m?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(T&&Uo(T)){i(T,C);return}if(T){o.value={mode:"editing",link:T,anchor:C,text:T.text,url:T.kind==="internal"?`#${T.anchor??""}`:T.authored,copied:false,error:false,canEdit:m?t.value.can({type:"insertText",text:""}).ok:false};return}let f=m?.query({type:"selectedText"})??"",x=m?.retainSelection()??null;m&&x&&(n.value={editor:m,pin:x}),o.value={mode:"editing",link:null,anchor:C,text:f,url:"",copied:false,error:false,canEdit:m?t.value.can({type:"insertText",text:""}).ok:false};};j(vue.watch(()=>[t.value,e],([m,C],T,f)=>{if(!m||!C)return;let x=m.setHyperlinkChrome({onPopover:P=>i(P.link,{left:P.rect.left,top:P.rect.bottom}),onRequest:u});f(x);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let m=o.value,C=t.value;if(m.mode==="reading"&&m.link){let T=Uo(m.link)?C?.surface?.hyperlinks.fieldLinkAtCaret()??null:C?.surface?.hyperlinks.linkAtCaret()??null;if(T&&T.id===m.link.id)return;o.value=_t;return}if(m.mode==="editing"&&!m.link){let T=C?.surface;if(!T||T.retainedSelection())return;o.value=_t;}});let p=async()=>{let m=o.value.link?.href;if(!m)return false;try{await navigator.clipboard.writeText(m);}catch{return false}return o.value={...o.value,copied:true},true},d=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=m=>{o.value={...o.value,text:m,copied:false,error:false};},v=m=>{o.value={...o.value,url:m,copied:false,error:false};},y=()=>{let m=t.value,C=o.value,T=m?.surface?.hyperlinks;if(!T)return false;let f=C.url.trim();if(f.length===0)return o.value={...C,error:true},false;let x=f.startsWith("#");return T.applyHyperlink({...x?{anchor:f.slice(1)}:{url:f},...C.text.trim().length>0?{text:C.text}:{}})?(s(),true):(o.value={...C,error:true},false)},g=()=>{let m=t.value?.surface?.hyperlinks,C=o.value.link;if(!m)return false;let T=m.removeHyperlink(C?.id);return T&&s(),T},h=()=>{let m=t.value?.surface?.navigation,C=o.value.link;if(!m||!C)return false;if(C.kind==="internal"){let f=C.anchor?m.goToBookmark(C.anchor):false;return f&&(o.value=_t),f}let T=m.openExternal(C.href);return T&&(o.value=_t),T};return {state:vue.computed(()=>o.value.mode==="closed"?_t:{...o.value,canEdit:a.value}),open:i,openAtCaret:u,close:s,copy:p,beginEdit:d,setText:c,setUrl:v,commitEdit:y,unlink:g,openTarget:h}}var Pe={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function Km(e){return e==="sdtLocked"||e==="sdtContentLocked"}function Vm(e){return e==="contentLocked"||e==="sdtContentLocked"}function ul(e,t){return !e.ok&&e.code===t}function Ue(){let e=vue.inject(cl,null),t=ur();return e??t}function ur(){let e=k(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=_(g=>g),a=vue.computed(()=>e.value?.surface??null),l=vue.computed(()=>a.value?.contentControls??null);vue.watch([r,l,a],()=>{let g=l.value,h=a.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=l.value;if(!e.value)return null;let h=g?.atCaret()??null;if(h){let x=g?.disabledReason(h.id,"edit")??null,P=g?.disabledReason(h.id,"remove")??null;return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:Vm(h.effectiveLock)||x==="locked",removalLocked:Km(h.effectiveLock)||P==="locked",placeholder:h.placeholder,bound:h.bound||x==="bound",effectiveLock:h.effectiveLock}}let b=e.value?.query({type:"contentControlAt"});if(!b||!e.value)return null;let m=g?.disabledReason(b.id,"edit")??null,C=g?.disabledReason(b.id,"remove")??null,T=e.value.can({type:"setContentControlValue",value:""}),f=e.value.can({type:"removeContentControl"});return {id:b.id,tag:b.tag??null,alias:b.alias??null,controlType:b.controlType,locked:b.locked===true||m==="locked"||ul(T,"locked"),removalLocked:C==="locked"||ul(f,"locked"),placeholder:false,bound:m==="bound"||ul(T,"bound"),effectiveLock:null}}),s=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=g=>{l.value?.setShowAll(g),o.value=g;},p=g=>{l.value?.setFormFill(g),n.value=g;},d=vue.computed(()=>{let g=i.value,h=l.value;if(!g)return "no content control at the current selection";if(h){let m=h.disabledReason(g.id,"edit");return m==="locked"?"the content control is locked":m==="bound"?"the content control is bound to external data":m==="notFound"?"the content control was not found":m}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 b=e.value.can({type:"setContentControlValue",value:""});return b.ok?null:b.reason}),c=vue.computed(()=>{let g=i.value,h=l.value;if(!g)return "no content control at the current selection";if(h){let m=h.disabledReason(g.id,"remove");return m==="locked"?"the content control is locked":m==="notFound"?"the content control was not found":m}if(g.removalLocked)return "the content control is locked";if(!e.value)return "no document is loaded";let b=e.value.can({type:"removeContentControl"});return b.ok?null:b.reason}),v=g=>{let h=l.value,b=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(h&&b){let m=h.disabledReason(b.id,"edit");if(m)return {ok:false,code:m==="bound"?"bound":m==="locked"?"locked":"notFound",reason:m==="bound"?"the content control is bound to external data":m==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:g})},y=()=>{let g=l.value,h=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(g){let b=h?.id;if(!b)return {ok:false,code:"notFound",reason:"no content control at the current selection"};let m=g.disabledReason(b,"remove");return m?{ok:false,code:m==="locked"?"locked":"notFound",reason:m==="locked"?"the content control is locked":"the content control was not found"}:g.remove(b)?{ok:true,changed:true}:{ok:false,code:"unsupported",reason:"the edit was refused"}}return e.value.exec({type:"removeContentControl"})};return {control:i,controls:s,showAll:vue.computed(()=>o.value),formFill:vue.computed(()=>n.value),inspectorOpen:vue.computed(()=>t.value),canSetValue:vue.computed(()=>d.value===null&&i.value!==null),canRemove:vue.computed(()=>c.value===null&&i.value!==null),setValueDisabledReason:d,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 cl=Symbol("ContentControlContext");function fe(e){return e==null||e===false?[]:Array.isArray(e)?e.flatMap(fe):vue.isVNode(e)?e.type===vue.Fragment?fe(e.children):[e]:[]}var Gs=12700,Ws=96;function Gm(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function jm(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 cr(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(!Gm(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}=jm(n.pixelWidth,n.pixelHeight,n.dpiX??Ws,n.dpiY??Ws);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:a,heightPoints:l})}function dt(e){return Math.round(e/Gs*100)/100}function Wo(e){return Math.round(e*Gs)}var pr=Symbol("ToolbarContext"),Jm={t:void 0,onSave:void 0};function mr(){let e=vue.inject(pr,Jm);return vue.computed(()=>vue.unref(e))}function V(){let e=mr(),{t}=D();return o=>e.value.t?.(o)??t(o)}function Qm(e){let{t}=D();return o=>e?.(o)??t(o)}function De(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}function af(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason&&e.value===t.value}function pl(e){return typeof e=="string"}function U(e){let t=e,o=k(),{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 pl(u)?u:editor.editorCommandKey(u)}),i=_(u=>{let p=r.value;if(pl(p)){let c=editor.toolbarCommandState(o.value,p);return {active:c.active,enabled:c.enabled,disabledReason:i18n.localizeDisabledReason(c.disabledReason,n),value:c.value??null}}if(!o.value)return {active:false,enabled:false,disabledReason:null,value:null};let d=o.value.can(p);return {active:o.value.isActive(p),enabled:d.ok,disabledReason:d.ok?null:i18n.localizeDisabledReason(d.reason??null,n),value:null}},af,{extraDeps:a});return a.value,{execute:()=>{let u=r.value;return pl(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),value:vue.computed(()=>i.value.value)}}function ao(){let e=vue.ref(false);return vue.onMounted(()=>{e.value=true;}),t=>e.value?i18n.platformShortcut(t):t}function ml(...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 Xs(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:ml(typeof o.class=="string"?o.class:"",t)}}function bf(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function hf(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=bf(t[n],e[n]):n==="class"?o[n]=ml(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var B=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,a=i=>{let s=n?.vnode.ref,p=(Array.isArray(s)?s[0]:s)?.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 s=i[0];if(!s||typeof s!="object")return null;let u=hf(Xs(t),Xs(s.props??{}));return vue.cloneVNode(s,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});function z(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 I(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var It=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=V(),n=ao(),r=U(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let a=z(e.slot),l=n(o(a?.labelKey??e.slot)),i=editor.chromeSlotIsToggle(e.slot),s={onClick:()=>r.execute(),onMousedown:I,disabled:!r.isEnabled.value,"data-slot":e.slot,class:De("docx-toolbar__button",e.class,e.className),...r.isActive.value?{"data-active":""}:{},...r.isEnabled.value?{}:{"data-disabled":""},...i?{"aria-pressed":r.isActive.value}:{},...r.value.value!==null?{"data-value":r.value.value}:{},"aria-label":l,title:r.disabledReason.value??l},u=e.icon??t.default?.()??$(a?.paths);return e.asChild?vue.h(B,s,t.default):vue.h("button",{type:"button",...s},u??void 0)}}});It.docxToolbarPart=true;var _f="image/png,image/jpeg,image/gif",fl=Symbol("ImageInsertContext");function td(){let e=vue.inject(fl,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function jo(){return vue.inject(fl,null)}var gr=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=k(),{t:n}=D(),r=vue.ref(null),a=vue.ref(false),l=_(()=>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||a.value)return;let g=cr(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},b=y.canExecuteImageCommand?.(h);if(b&&!b.ok){window.alert(b.reason??n("imageInsert.errors.refused"));return}a.value=true;try{let m=await editor.executeImageCommand(y,h);m.ok?y.focus():window.alert(m.reason??n("imageInsert.errors.refused"));}finally{a.value=false;}},s=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 s([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 b=await h.arrayBuffer();await i(new Uint8Array(b));return}},p=()=>{l.value.enabled&&r.value?.click();},d=async v=>{let y=v.currentTarget;await s(y.files),y.value="";};return vue.provide(fl,{openFilePicker:p,insertFromFileList:s,insertFromDataTransfer:u,get isEnabled(){return l.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(l.value.disabledReason,n)},inputRef:r,onInputChange:d}),()=>[vue.h("input",{ref:r,type:"file",accept:_f,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:d,onMousedown:v=>v.stopPropagation()}),...fe(t.default?.()??[])]}}),yr=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=td(),n=V();return ()=>{if(e.hidden)return null;let r=z("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:I,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(B,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??$(r?.paths)})}}});yr.docxSlot="image.insert";var vr=Object.assign(yr,{docxSlot:"image.insert"});var gl=0,yl=false,vl=false;function od(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(yl||(yl=true,gl+=1,queueMicrotask(()=>{yl=false;}),vl||(vl=true,setTimeout(()=>{vl=false,gl=0;},0))),gl>16)}function nd(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};od()?setTimeout(o,0):queueMicrotask(o);}}function rd(){let e=0,t=0,o=null,n=new Set,r=new Set,a=new Set,l=i=>{for(let s of [...i])s();};return {getShift:()=>e,setShift(i){let s=Math.max(0,Math.round(i));s!==e&&(e=s,l(n));},subscribeShift(i){return n.add(i),()=>n.delete(i)},getReservation:()=>t,setReservation(i){let s=Math.max(0,Math.round(i));s!==t&&(t=s,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 xl=Symbol("navigationLayout");function Dt(){return vue.inject(xl,null)}function Nt(){let e=Dt(),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 ad(){let e=Dt(),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 et(){let e=Dt(),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 ld(){let e=new Set,t=new Map,o=new Map,n=0,r=null,a=false,l=null,i=false;function s(){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=s(),v=u(c);if(v!==l){if(c===void 0){a&&(r.setRevisionStyles("author"),a=false,l=v);return}r.setRevisionStyles(c),a=true,l=v;}}function d(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),d();},register(c,v,y){o.has(c)||o.set(c,n++),t.set(c,{author:v,style:y}),d();},unregister(c){(e.delete(c)||t.delete(c))&&d();},connect(c){r=c;let v=s();a=c!==null&&v!==void 0,l=c===null?null:u(v),d();},current:s}}var Zo=Symbol("RevisionStyleRegistry");var id=Symbol("docxEditorRootOwner"),Tl=Symbol("docxEditorRootHostEmit");function Bf(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 El(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(al,o),vue.provide(ll,n),vue.provide(xl,rd()),vue.provide(id,true);let r=ld();vue.provide(Zo,r);let a=D(),l=vue.computed(()=>{a.catalogue.value;let f=vue.toValue(e).translate;return (x,P)=>f?f(x,P):a.t(x,P)}),i=vue.shallowRef(0),s=[],u=f=>(s.push(f),()=>{let x=s.indexOf(f);x!==-1&&s.splice(x,1);}),p=()=>{let f=s.at(-1);return f?(f(),true):false},d=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:u,requestCommentDraft:p});vue.watch(i,f=>{d.value={mounted:f,register:()=>(i.value++,()=>{i.value=Math.max(0,i.value-1);}),registerCommentDraft:u,requestCommentDraft:p};},{immediate:true}),vue.provide(no,d);let c=[],v=false,y=()=>{for(let x of c.splice(0))x();let f=o.value;f&&(r.connect(null),f.destroy(),o.value=null),v=false;},g=f=>{v||(v=true,t.ready(f));},h=f=>{t.change(f);},b=f=>{t.fontError(f);},m=()=>{if(typeof window>"u")return;y();let f=vue.toValue(e),x=editor.createDocxEditor({...f.document!==void 0?{document:f.document}:{},...f.fonts?{fonts:f.fonts}:{},...f.author!==void 0?{author:f.author}:{},...f.locale!==void 0?{locale:f.locale}:{},translate:l.value,...f.mode!==void 0?{mode:f.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...f.modules!==void 0?{modules:f.modules}:{},...f.zoom!==void 0?{zoom:f.zoom}:{},...f.zoomMode!==void 0?{zoomMode:f.zoomMode}:{},...f.tableInteractionLabel?{tableInteractionLabel:f.tableInteractionLabel}:{},...f.imageDecodePort?{imageDecodePort:f.imageDecodePort}:{},onFontError:b}),P=nd(()=>{n.value++;});c.push(x.on("change",S=>{h(S),P();})),c.push(x.on("selectionChange",P)),c.push(x.on("error",P)),r.connect(x),o.value=x;};vue.onMounted(()=>{vue.watch(o,f=>{if(!f)return;if(!f.snapshot().isOpening){g(f);return}let x=f.on("change",()=>{x(),g(f);});c.push(x);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,vue.toValue(e).imageDecodePort],m,{immediate:true,flush:"post"}),vue.onUnmounted(y);let C={zoom:void 0,mode:void 0};vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,f,x])=>{if(!o.value)return;let P=o.value;f!==void 0&&f!==C.zoom&&(C.zoom=f,P.setZoom(f));let S=x!==void 0&&(C.mode===void 0||!Bf(C.mode,x)),w=x===void 0?null:editor.resolveZoomMode(x),M=f!==void 0&&x!==void 0&&w!==null&&w.type==="fit";(S||M)&&(C.mode=x,P.setZoomMode(x));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).author],([f,x])=>{f&&f.setAuthor(x);},{flush:"post"});let T={editor:null,value:void 0};return vue.watch(()=>[o.value,vue.toValue(e).mode],([f,x])=>{if(f){if(T.editor!==f){T.editor=f,T.value=x;return}T.value!==x&&(T.value=x,f.setMode(x));}},{flush:"post",immediate:true}),vue.watch(()=>[o.value,l.value],([f,x])=>{f&&f.setTranslate(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).locale],([f,x])=>{f&&f.setLocale(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([f,x])=>{f&&f.setTableInteractionLabel(x??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:l}}function sd(){return vue.inject(id,false)}var zf=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=dr(true);return vue.provide(sl,o),()=>t.default?.()}}),$f=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=ur();return vue.provide(cl,o),()=>t.default?.()}}),ud={ready:()=>{},change:()=>{},fontError:()=>{}};function qf(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,a=vue.shallowRef({...r}),l={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...ud});vue.provide(Tl,i);let{editorRef:s}=El(a,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Xo,rootProps:a,rootListeners:l,editorRef:s}}var Xo=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=sd(),r=vue.inject(Tl,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={...ud};})):n||El(e,{ready:a=>t("ready",a),change:a=>t("change",a),fontError:a=>t("fontError",a)}),()=>vue.h(zf,null,{default:()=>vue.h($f,null,{default:()=>vue.h(gr,null,{default:()=>o.default?.()})})})}});var Yo=Symbol("ScopedByAncestorContext");function ke(){return vue.inject(Yo,false)?"":"docx-editor "}var hr=[.25,.5,.75,1,1.25,1.5,2];function Jo(e,t){return t==="in"?hr.find(n=>n>e+.001)??null:[...hr].reverse().find(n=>n<e-.001)??null}function cd(e,t){return e==="0"?1:e==="+"||e==="="?Jo(t,"in")??t:e==="-"?Jo(t,"out")??t:null}function ie(e){return e/1440*96}function xr(e){return e/96*1440}function K(e){return `${Math.round(e*100)/100}px`}var kl=316,Ml=44,jf=24,Sr={inlineStart:0,inlineEnd:kl},pd={inlineStart:Ml,inlineEnd:Ml},md={inlineStart:0,inlineEnd:0};function yd({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return pd;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return Sr;let a=Number.isFinite(n)&&n>0?n:0;return t-a-o-2*jf>=kl?Sr:pd}var Zf=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}},Xf=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function vd(){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.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 io(){let e=ro(),t=_(Zf,Xf),o=et(),n=ad(),r=vue.ref(null),a=vue.shallowRef(md),l=vue.watch([e,t,o,n],([i,s,u,p],d,c)=>{s.pageSetup&&(r.value=s.pageSetup.pageWidthTwips);let v=()=>{if((i.mounted??0)===0)return md;let h=s.pageSetup?.pageWidthTwips??r.value;return yd({open:s.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:h===null||s.entitledZoom===null?0:ie(h)*s.entitledZoom,inlineStartReservation:p,docked:s.entitledZoom===null})},y=()=>{let h=v();h!==a.value&&(a.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(l),a}var rg=e=>e.reviewPaneOpen??true,ag=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(Yo,true);let o=ke(),n=k(),r=_(rg),a=_(ag),l=ro(),i=vue.computed(()=>(l.value.mounted??0)>0),s=io(),u=Nt(),p=Dt(),d=null;vue.onMounted(()=>{d&&p?.setViewport(d);}),vue.onUnmounted(()=>{p?.setViewport(null);}),vue.watch(u,v=>{d&&d.style.setProperty("--docx-nav-shift",`${v}px`),p?.setViewport(d);});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=cd(v.key,y.getZoom());h!==null&&(v.preventDefault(),y.setZoom(h));};return ()=>{let v={ref:y=>{d=y instanceof HTMLElement?y:null,p?.setViewport(d),d&&d.style.setProperty("--docx-nav-shift",`${u.value}px`);},"data-testid":"docx-editor-scroll",onKeydownCapture:c,class:De(`${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":`${s.value.inlineEnd}px`,"--docx-review-gutter-start":`${s.value.inlineStart}px`}:{}}};return i.value&&(v["data-review-pane"]=r.value?"open":"closed"),a.value&&(v["data-zoom-fit"]=""),vue.h("div",v,t.default?.())}}});var bg=["nw","n","ne","e","se","s","sw","w"],Cd=40,Td=12;function hg(e){return `imageOverlay.handle.${e}`}function xg(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 Sg(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 Cg(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 Ed=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=k(),{t:o}=D(),n=vue.ref(null),r=vue.ref(null),a=vue.shallowRef({left:0,top:0}),l=()=>{let m=editor.overlayHostOrigin(e.containerRef.value);(m.left!==a.value.left||m.top!==a.value.top)&&(a.value=m);},i=vue.shallowRef(null);vue.watch(r,m=>{i.value=m;},{flush:"sync"});let s=vue.shallowRef(null),u=vue.shallowRef(null),p=vue.shallowRef(null),d=vue.shallowRef(null),c=vue.shallowRef(null);vue.watch([()=>e.containerRef.value,()=>n.value?.id],([m],C,T)=>{if(!m)return;let f=x=>{let S=(x.target instanceof Element?x.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");d.value=S??null,S&&S===n.value?.id&&queueMicrotask(()=>p.value?.focus({preventScroll:true}));};m.addEventListener("pointerdown",f,{capture:true}),T(()=>m.removeEventListener("pointerdown",f,{capture:true}));},{flush:"post"}),vue.watch(t,(m,C,T)=>{if(!m){n.value=null;return}let f=()=>{n.value=editor.selectedDrawingOverlayTargetOf(m.surface);},x=()=>{queueMicrotask(f);};f();let P=[m.on("change",x),m.on("selectionChange",f)];T(()=>{for(let S of P)S();});},{immediate:true,flush:"post"}),vue.watch([()=>e.portalRef.value,()=>e.containerRef.value],([m,C],T,f)=>{if(l(),!m&&!C||typeof ResizeObserver!="function")return;let x=new ResizeObserver(l);m&&x.observe(m),C&&x.observe(C),f(()=>x.disconnect());},{immediate:true,flush:"post"}),vue.watch(n,l,{flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([m,C,T],f,x)=>{if(m){c.value=m;return}if(!C||!T?.surface)return;let P=C.closest(".docx-editor__scroll-container");if(!P)return;let S=T.surface.overlayCoordinates();c.value=editor.createImageOverlayScrollPort(P,S.paintScale),x(()=>{c.value=null;});},{flush:"post"});let v=()=>{r.value=null,s.value=null;let m=u.value;if(u.value=null,m)try{m.releasePointerCapture(m._lastPointerId??0);}catch{}},y=(m,C,T,f,x,P,S)=>{let w=t.value;if(!w?.surface)return;let M=w.surface.layout(),E=editor.captureImageMutationPreconditions(w);if(E){s.value=Object.freeze({x:f,y:x}),u.value=P,P._lastPointerId=S;try{P.setPointerCapture(S);}catch{}r.value={session:Object.freeze({drawingNodeId:T.id,startBounds:Object.freeze({x:T.x,y:T.y,width:T.width,height:T.height}),startWidthEmu:T.widthEmu,startHeightEmu:T.heightEmu,startPosition:T.position,anchorFrameOrigin:T.anchorFrameOrigin,transform:T.transform,mode:m,handle:C,preconditions:E,layoutRevision:M.revision,packageRevision:w.surface.session.packageRevision(),kind:T.kind}),bounds:T,accumulatedScrollPt:0},p.value?.focus({preventScroll:true});}},g=(m,C,T,f,x)=>{let P=t.value;if(P){if(editor.isStaleImageInteractionCommit(P,m)){v();return}m.mode==="resize"?P.exec({type:"setImageProperties",widthEmu:C,heightEmu:T,...x?.mode==="simple"?{horizontalEmu:x.horizontalEmu,verticalEmu:x.verticalEmu}:{},...x?.mode==="frame"?{...x.horizontalEmu!==void 0?{horizontalEmu:x.horizontalEmu}:{},...x.verticalEmu!==void 0?{verticalEmu:x.verticalEmu}:{}}:{}}):m.mode==="move"&&x&&P.exec({type:"setImagePosition",...x}),v();}},h=m=>{let C=t.value;if(!C)return;let T=i.value?.bounds??editor.selectedDrawingOverlayTargetOf(C.surface);if(!T)return;if(i.value&&m.key==="Escape"){m.preventDefault(),m.stopPropagation(),v();return}if(i.value)return;let f=m.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(m.key==="Delete"||m.key==="Backspace"){m.preventDefault(),m.stopPropagation(),C.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(m.key))return;m.preventDefault(),m.stopPropagation();let x=m.key==="ArrowLeft"?-f:m.key==="ArrowRight"?f:0,P=m.key==="ArrowUp"?-f:m.key==="ArrowDown"?f:0;if(m.altKey){if(!T.canResize)return;let w=Cg(x,P),M=editor.computeImageResizeResult({handle:w,startWidthEmu:T.widthEmu,startHeightEmu:T.heightEmu,startBounds:{x:T.x,y:T.y,width:T.width,height:T.height},startPosition:T.position,anchorFrameOrigin:T.anchorFrameOrigin,deltaXPt:x,deltaYPt:P,transform:T.transform,preserveAspect:editor.resizePreservesAspect(w,T.aspectLocked,m.shiftKey),kind:T.kind});C.exec({type:"setImageProperties",widthEmu:M.widthEmu,heightEmu:M.heightEmu,...M.position?.mode==="simple"?{horizontalEmu:M.position.horizontalEmu,verticalEmu:M.position.verticalEmu}:{},...M.position?.mode==="frame"?{...M.position.horizontalEmu!==void 0?{horizontalEmu:M.position.horizontalEmu}:{},...M.position.verticalEmu!==void 0?{verticalEmu:M.position.verticalEmu}:{}}:{}});return}if(T.kind!=="anchored"||!T.canMove||!T.position)return;let S=editor.computeMovedImagePosition(T.position,x,P);C.exec({type:"setImagePosition",...S});};vue.watch([r,t,()=>e.containerRef.value],([m,C,T],f,x)=>{if(!m||!C?.surface)return;let P=C.surface.overlayCoordinates(),S=M=>{let E=i.value,L=s.value;if(!E||!L)return;let R=editor.cssPixelsToLayoutPoints(M.clientX-L.x,P.paintScale),F=editor.cssPixelsToLayoutPoints(M.clientY-L.y,P.paintScale);if(E.session.mode==="move"){let re=0,Y=c.value,Q=T?.closest(".docx-editor__scroll-container");if(Y&&Q){let Ie=Q.getBoundingClientRect();M.clientY>Ie.bottom-Cd?re=Td:M.clientY<Ie.top+Cd&&(re=-Td),re!==0&&(re=Y.scrollBy(re));}let W=E.accumulatedScrollPt+re;r.value={...E,accumulatedScrollPt:W,bounds:Object.freeze({...E.bounds,x:E.session.startBounds.x+R,y:E.session.startBounds.y+F+W})};return}if(!E.session.handle)return;let te=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:R,deltaYPt:F,transform:E.session.transform,preserveAspect:editor.resizePreservesAspect(E.session.handle,E.bounds.aspectLocked,M.shiftKey),kind:E.session.kind});r.value={...E,bounds:Object.freeze({...E.bounds,x:te.previewBounds.x,y:te.previewBounds.y,width:te.previewBounds.width,height:te.previewBounds.height,widthEmu:te.widthEmu,heightEmu:te.heightEmu})};},w=M=>{let E=i.value;if(E)if(M.type==="pointerup"){let L=editor.cssPixelsToLayoutPoints(M.clientX-(s.value?.x??M.clientX),P.paintScale),R=editor.cssPixelsToLayoutPoints(M.clientY-(s.value?.y??M.clientY),P.paintScale),F=editor.finalizeImageOverlayInteraction({session:E.session,deltaXPt:L,deltaYPt:R,accumulatedScrollPt:E.accumulatedScrollPt,aspectLocked:E.bounds.aspectLocked,shiftKey:M.shiftKey,anchorFrameOrigin:E.session.anchorFrameOrigin});g(E.session,F.widthEmu,F.heightEmu,F.previewBounds,F.position);}else v();};window.addEventListener("pointermove",S),window.addEventListener("pointerup",w),window.addEventListener("pointercancel",w),x(()=>{window.removeEventListener("pointermove",S),window.removeEventListener("pointerup",w),window.removeEventListener("pointercancel",w);});},{flush:"post"}),vue.watch(n,m=>{!m||d.value!==m.id||(d.value=null,p.value?.focus({preventScroll:true}));},{flush:"post"});let b=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let m=t.value,C=b.value,T=e.portalRef.value;if(!m?.surface||!C||!T)return null;let f=m.surface.publishedLayout(),x=m.surface.overlayCoordinates(),P=editor.overlayFrameToSheetCssPixels(f,{pageIndex:C.pageIndex,x:C.x,y:C.y,width:C.width,height:C.height},x),S={left:P.left+a.value.left,top:P.top+a.value.top,width:P.width,height:P.height},w=C.canResize,M=C.kind==="anchored"&&C.canMove;return jsxRuntime.jsx(vue.Teleport,{to:T,children:jsxRuntime.jsxs("div",{ref:E=>{p.value=E instanceof HTMLDivElement?E:null;},class:"docx-image-selection-overlay","data-drawing-node-id":C.id,tabindex:0,onKeydown:h,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${M?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${S.left}px`,top:`${S.top}px`,width:`${S.width}px`,height:`${S.height}px`,cursor:M?"move":"default"},onPointerdown:E=>{I(E),!(!M||!C.position)&&E.button===0&&(E.preventDefault(),E.stopPropagation(),y("move",null,C,E.clientX,E.clientY,E.currentTarget,E.pointerId));}}),w?bg.map(E=>{let L=Sg(E);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(hg(E)),tabindex:0,style:{left:`calc(${S.left}px + ${S.width}px * ${parseFloat(L.x)/100} - 5px)`,top:`calc(${S.top}px + ${S.height}px * ${parseFloat(L.y)/100} - 5px)`,cursor:xg(E)},onPointerdown:R=>{I(R),R.button===0&&(R.preventDefault(),R.stopPropagation(),y("resize",E,C,R.clientX,R.clientY,R.currentTarget,R.pointerId));}},E)}):null]})})}}});function Dl(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var Er=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=k(),o=jo(),n=vue.shallowRef(null),r=vue.shallowRef(null),a=()=>{let p=t.value,d=n.value;p&&d&&p.attach(d);},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 d=o;if(!d?.isEnabled)return;let c=p.clipboardData;c&&Dl(c)&&(editor.clipboardPasteLandsContent(c)||(p.preventDefault(),d.insertFromDataTransfer(c)));},s=p=>{!o?.isEnabled||!p.dataTransfer||!Dl(p.dataTransfer)||p.preventDefault();},u=p=>{let d=o;if(!d?.isEnabled)return;let c=p.dataTransfer;if(c&&Dl(c)){if(editor.clipboardDropLandsText(c)){if((p.target instanceof Element?p.target:null)?.closest("[contenteditable]")?.getAttribute("contenteditable")==="true")return;p.preventDefault();return}p.preventDefault(),d.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:De("docx-paginated-surface",e.class,e.className),onPaste:i,onDragover:s,onDrop:u}),t.value?vue.h(Ed,{containerRef:n,portalRef:r}):null])}});var Ig=e=>e.isLoading||e.isOpening===true,Dg=e=>({width:ie(e.pageSetup?.pageWidthTwips??12240)*e.zoom,height:ie(e.pageSetup?.pageHeightTwips??15840)*e.zoom}),Nl=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"})}}),Ng=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=_(Ig),n=_(Dg),{t:r}=D();return ()=>{if(!e.when&&!o.value)return null;let a=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:a,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(Nl),vue.h("span",{class:"docx-editor-sr-only"},r("loading.label"))])])])]))}}}),Pr=Object.assign(Ng,{Spinner:Nl});function Fg(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 wr(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=Fg(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function Rr(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 Mr({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:a}){if(!o)return t;let l=new Map,i=[];for(let d of t){if(!vue.isVNode(d))continue;let c=r(d);c?l.set(c,d):i.push(d);}let s=e.map((d,c)=>{let v=n(d,c),y=l.get(v);return y||a(d,c)}),u=new Set(e.map(n)),p=[...l.entries()].filter(([d])=>!u.has(d)).map(([,d])=>d);return [...s,...p,...i]}var Rd=new WeakMap;function oe(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=Rd.get(o)??0;return Rd.set(o,n+1),`docx-${n}-${e}`}var Hg=["zoom","script","format","list","alignment","styles","font","text","history"],Ll=new Set(["review"]),Fl=24,kd=new Set;function _d(e,t=Hg){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function Md(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 kd;i+=l;let s=new Set;for(let u of r){if(i<=t)break;let p=o.get(u);p===void 0||s.has(u)||(s.add(u),i-=p);}return s}function Id(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 Dd=Id;function Nd(e){if(!(e.available>0))return kd;let t=Md(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=Md(e,e.available-(e.hysteresis));return Id(n,o)?o:n}function Ld(e,t,o,n){return e+t+o+n*2}function Fd(e,t){return e+t}function Hl(e,t){return e+t}function Ad(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 Al(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function Hd(e){return Al(e.columnGap)}function Od(e,t){return e.clientWidth-Al(t.paddingLeft)-Al(t.paddingRight)}var so="data-toolbar-group",en="data-toolbar-fixed",Bl="data-toolbar-more",zg=34,Bd=new Set;function Kd(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),a=vue.shallowRef(zg),l=vue.ref(Bd),i=0,s,u=()=>typeof e=="function"?e():e.value,p=()=>typeof t=="function"?t():t.value,d=()=>typeof o=="function"?o():o.value,c=()=>{let g=n.value;if(!g||!u())return;let h=getComputedStyle(g),b=Hd(h),m=Od(g,h),C=g.querySelector(".docx-toolbar__separator"),T=b*2;if(C){let M=getComputedStyle(C),E=Ad(M);T=Ld(C.offsetWidth,E.start,E.end,b);}let f=new Map(r.value);for(let M of g.querySelectorAll(`[${so}]`)){let E=M.getAttribute(so);E&&M.offsetWidth>0&&f.set(E,Fd(M.offsetWidth,T));}r.value=f;let x=0;for(let M of g.querySelectorAll(`[${en}]`))M.offsetWidth>0&&(x+=Hl(M.offsetWidth,b));let P=g.querySelector(`[${Bl}]`);P&&P.offsetWidth>0&&(a.value=Hl(P.offsetWidth,b));let S={available:m,widths:f,groups:p(),order:d(),fixed:x,more:a.value,previous:l.value,hysteresis:Fl},w=Nd(S);Dd(w,l.value)||(l.value=w);},v=g=>{n.value=g;},y=()=>{s?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let g=n.value;if(!(!u()||!g||typeof ResizeObserver>"u")){s=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),s.observe(g);for(let h of g.querySelectorAll(`[${so}], [${en}]`))s.observe(h);}};return vue.watch([n,l,()=>u(),()=>p().join(","),()=>d().join(",")],()=>{if(!u()){l.value.size>0&&(l.value=Bd),s?.disconnect();return}c(),y();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),s?.disconnect();}),{attach:v,overflow:l}}var Gg=["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"],zd=Symbol("OverflowPanelContext");function jg(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var Vl=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?.())])}}),$d=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=V(),o=ao(),n=vue.inject(zd,{close:()=>{}}),r=U(vue.computed(()=>e.slot));return ()=>{let a=z(e.slot),l=editor.chromeSlotIsToggle(e.slot),i=o(t(a?.labelKey??e.slot));return vue.h("button",{type:"button",class:"docx-toolbar__more-command","data-slot":e.slot,disabled:!r.isEnabled.value,...r.disabledReason.value?{title:r.disabledReason.value}:{},...l?{"aria-pressed":r.isActive.value}:{},...r.isActive.value?{"data-active":""}:{},...r.value.value!==null?{"data-value":r.value.value}:{},onMousedown:I,onClick:s=>{r.execute(),n.close(s.detail===0);}},[vue.h("span",{class:"docx-toolbar__more-command-icon",ariaHidden:"true"},[$(a?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),qd=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=V(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=oe("toolbar-overflow"),s=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(zd,{close:u}),vue.watch(o,(p,d,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||!l.value)return;l.value=false;let d=a.value;d&&jg(d);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[Bl]:""},[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":s,title:s,...o.value?{"data-active":""}:{},onMousedown:I,onClick:()=>{o.value=!o.value;},onKeydown:p=>{p.key==="ArrowDown"&&(p.preventDefault(),l.value=true,o.value=true);}},[$(Gg)]),o.value?vue.h("div",{ref:a,id:i,role:"dialog","aria-label":s,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 Jg(e,t){return e.value===t.value&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason}function on(e){let t=k(),o=vue.shallowRef(e);o.value=e;let r=_(a=>{let l=editor.toolbarCommandState(t.value,o.value);return {value:l.value??null,enabled:l.enabled,disabledReason:l.disabledReason}},Jg);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 $l=[{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"}],_r=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=V(),r=on("image.wrap"),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),s=oe("image-wrap"),u=vue.computed(()=>$l.find(v=>v.value===r.value.value)??$l[0]),p=z("image.wrap"),d=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(a,(v,y,g)=>{if(!v)return;let h=m=>{let C=l.value;C&&m.target instanceof Node&&C.contains(m.target)||(a.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),a.value=false,i.value?.focus());};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});});let c=v=>{a.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":a.value,"aria-controls":a.value?s:void 0,"aria-label":d,title:r.disabledReason.value??v,onMousedown:I,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:l,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(B,{...y,children:t.default?.()}):jsxRuntime.jsx("button",{...y,children:t.default?.()??$(p?.paths)}),a.value?jsxRuntime.jsx("div",{id:s,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:g=>g.stopPropagation(),children:$l.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]})}}});_r.docxSlot="image.wrap";var Ir=Object.assign(_r,{docxSlot:"image.wrap"});var Nr=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=V(),r=on("image.altText"),a=vue.ref(false),l=vue.ref(""),i=vue.ref(null),s=vue.ref(null),u=oe("image-alt");vue.watch([a,()=>r.value.value],([d,c])=>{d&&(l.value=c??"");}),vue.watch(a,(d,c,v)=>{if(!d)return;let y=h=>{let b=i.value;b&&h.target instanceof Node&&b.contains(h.target)||(a.value=false);},g=h=>{h.key==="Escape"&&(h.preventDefault(),a.value=false,s.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(l.value),a.value=false;};return ()=>{if(e.hidden)return null;let d=z("image.altText"),c=n(d?.labelKey??"formattingBar.altText"),v={type:"button",ref:s,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:I,onClick:()=>{a.value=!a.value;}};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(B,{...v,children:t.default?.()}):jsxRuntime.jsx("button",{...v,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: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:l.value,onInput:y=>{l.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:()=>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]})}}});Nr.docxSlot="image.altText";var Lr=Object.assign(Nr,{docxSlot:"image.altText"});function Gd(e){return {get current(){return e.value}}}var Yd=e=>e.image;function Zd(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 cy(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function Wl(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(dt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(dt(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(dt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(dt(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function py(e,t){let o=Wl(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Fr(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Wo(t);return Number.isInteger(o)?o:null}function my(e,t){let o=Wl(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,d=u?Fr(e.horizontalPoints):t.position?.horizontalEmu,c=p?Fr(e.verticalPoints):t.position?.verticalEmu;return u&&d===null?{ok:false}:p&&c===null?{ok:false}:d===void 0||c===void 0?{ok:false}:{ok:true,value:{horizontalEmu:d,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?Fr(e.horizontalPoints):t.position?.horizontalEmu,s=r?Fr(e.verticalPoints):t.position?.verticalEmu;return n&&i===null?{ok:false}:r&&s===null?{ok:false}:{ok:true,value:{...typeof i=="number"?{horizontalEmu:i}:{},...typeof s=="number"?{verticalEmu:s}:{},...a||n||r?{relativeToH:e.relativeToH}:{},...l||n||r?{relativeToV:e.relativeToV}:{}}}}function Ar(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function Hr(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var Gl=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=k(),{t:o}=D(),n=_(Yd),r=oe("image-prop-title"),a=oe("image-prop-wrap"),l=oe("image-prop-hyperlink"),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=vue.ref(null),d=vue.ref(null),c=vue.ref(null);vue.watch([()=>e.open,()=>n.value?.id,()=>n.value?.widthEmu,()=>n.value?.heightEmu,t],()=>{if(!e.open){s.value=null,u.value=null,p.value=null;return}let f=n.value;if(f){if(s.value=f,t.value?.surface){let{anchor:x}=t.value.surface.state().selection;u.value={paragraphId:x.paragraphId,offset:x.offset},p.value=t.value.surface.session.packageRevision();}c.value=null,d.value={widthPoints:String(dt(f.widthEmu)),heightPoints:String(dt(f.heightEmu)),cropLeft:String(f.crop.left),cropTop:String(f.crop.top),cropRight:String(f.crop.right),cropBottom:String(f.crop.bottom),title:f.title,description:f.description,hyperlink:f.hyperlink??"",wrap:f.wrap,lockAspect:f.locks.changeAspect,...Wl(f)};}},{flush:"post"});let v=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},y=()=>{e.onClose(),v();};vue.watch(()=>[e.open,i.value],async([f,x],P,S)=>{if(!f||!x)return;let w=false,M=null;if(S(()=>{w=true,M&&document.removeEventListener("keydown",M);}),await vue.nextTick(),w||!e.open||i.value!==x)return;let E=Zd(x);(E.find(R=>R.id==="image-prop-width"&&!R.hasAttribute("disabled"))??E.find(R=>!R.hasAttribute("disabled"))??x).focus(),M=R=>{if(R.key==="Escape"){R.preventDefault(),y();return}if(R.key!=="Tab")return;let F=Zd(x);if(F.length===0)return;let te=document.activeElement,re=F.findIndex(Q=>Q===te);if(re===-1)return;R.preventDefault();let Y=R.shiftKey?(re-1+F.length)%F.length:(re+1)%F.length;F[Y]?.focus();},document.addEventListener("keydown",M);},{flush:"post"});let g=vue.computed(()=>{let f=s.value??n.value;return !f||f.widthEmu<=0?1:f.widthEmu/f.heightEmu}),h=f=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,widthPoints:f};return}let P=Hr(f);if(P===null){d.value={...x,widthPoints:f};return}let S=Math.round(P/g.value*100)/100;d.value={...x,widthPoints:f,heightPoints:String(S)};},b=f=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,heightPoints:f};return}let P=Hr(f);if(P===null){d.value={...x,heightPoints:f};return}let S=Math.round(P*g.value*100)/100;d.value={...x,widthPoints:String(S),heightPoints:f};},m=()=>{let f=s.value;if(!f?.intrinsic)return;let x=f.intrinsic.pixelWidth*72/f.intrinsic.dpiX,P=f.intrinsic.pixelHeight*72/f.intrinsic.dpiY,S=d.value;S&&(d.value={...S,widthPoints:String(Math.round(x*100)/100),heightPoints:String(Math.round(P*100)/100)});},C=f=>{d.value&&(d.value={...d.value,...f});},T=()=>{let f=s.value,x=u.value,P=p.value,S=d.value;if(!t.value||!f||!S||!x||P===null)return;let w=f.canResize===false,M=f.canCrop===false,E={type:"setImageProperties",drawingNodeId:f.id,expectedPackageRevision:P,selectionParagraphId:x.paragraphId,selectionOffset:x.offset};if(!w){let Y=Hr(S.widthPoints),Q=Hr(S.heightPoints);if(Y===null||Q===null){c.value="imageProperties.errors.invalidDimensions";return}let W=Wo(Y),Ie=Wo(Q);W!==f.widthEmu&&(E.widthEmu=W),Ie!==f.heightEmu&&(E.heightEmu=Ie);}if(f.canCrop&&!M){let Y=Ar(S.cropLeft),Q=Ar(S.cropTop),W=Ar(S.cropRight),Ie=Ar(S.cropBottom);if(Y===null||Q===null||W===null||Ie===null){c.value="imageProperties.errors.invalidCrop";return}let qe=f.crop;(Y!==qe.left||Q!==qe.top||W!==qe.right||Ie!==qe.bottom)&&(E.crop={left:Y,top:Q,right:W,bottom:Ie});}S.title!==f.title&&(E.title=S.title),S.description!==f.description&&(E.description=S.description);let L=S.hyperlink.trim();if(L!==(f.hyperlink??"")&&(E.hyperlink=L===""?null:L),f.canChangeWrap&&S.wrap!==f.wrap&&(E.wrap=S.wrap),f.kind==="anchored"&&f.canMove&&py(S,f)){let Y=my(S,f);if(!Y.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(Y.value,f))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(E,Y.value);}if(!(E.widthEmu!==void 0||E.heightEmu!==void 0||E.title!==void 0||E.description!==void 0||E.hyperlink!==void 0||E.crop!==void 0||E.wrap!==void 0||E.horizontalEmu!==void 0||E.verticalEmu!==void 0||E.relativeToH!==void 0||E.relativeToV!==void 0)){y();return}if(!t.value.can(E).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(E).ok){c.value="imageProperties.errors.refused";return}y();};return ()=>{if(!e.open||!d.value)return null;let f=d.value,x=s.value,P=x?.canCrop===false,S=x?.canResize===false,w=x?.locks.changeAspect===true,M=x?.kind==="anchored"&&x.canMove===true,E=x?.kind==="inline",L=x?.kind==="anchored"&&x.canMove===false;return jsxRuntime.jsx("div",{class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:y,onMousedown:R=>{R.stopPropagation(),cy(R);},children:jsxRuntime.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":r,class:"docx-dialog docx-image-properties-dialog",onClick:R=>R.stopPropagation(),onMousedown:R=>R.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:f.widthPoints,disabled:S,onChange:R=>h(R.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:f.heightPoints,disabled:S,onChange:R=>b(R.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:f.lockAspect,disabled:w,onChange:R=>d.value=d.value?{...d.value,lockAspect:R.target.checked}:d.value}),o("dialogs.imageProperties.lockAspectRatio")]}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__link-button",disabled:P||!x?.intrinsic,onClick:m,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),E?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,L?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,M?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[f.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:f.relativeToH??"page",onChange:R=>d.value=d.value?{...d.value,relativeToH:R.target.value}:d.value,children:editor.DRAWING_REL_FROM_H.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`dialogs.imagePosition.relativeOptions.${R}`)},R))})]}),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:f.relativeToV??"line",onChange:R=>d.value=d.value?{...d.value,relativeToV:R.target.value}:d.value,children:editor.DRAWING_REL_FROM_V.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`dialogs.imagePosition.relativeOptions.${R}`)},R))})]})]}):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:f.horizontalPoints,onChange:R=>C({horizontalPoints:R.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:f.verticalPoints,onChange:R=>C({verticalPoints:R.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:f.title,onChange:R=>C({title:R.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:f.description,onChange:R=>C({description:R.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:f.hyperlink,onChange:R=>C({hyperlink:R.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:f.wrap,disabled:x?.canChangeWrap===false,onChange:R=>C({wrap:R.target.value}),children:editor.IMAGE_WRAP_TARGETS.map(R=>jsxRuntime.jsx("option",{value:R,children:o(`imageWrap.targets.${R}`)},R))})]}),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:P,value:f.cropLeft,onChange:R=>C({cropLeft:R.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:P,value:f.cropTop,onChange:R=>C({cropTop:R.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:P,value:f.cropRight,onChange:R=>C({cropRight:R.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:P,value:f.cropBottom,onChange:R=>C({cropBottom:R.target.value})})]}),P?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:T,children:o("common.apply")})]})]})})}}}),Or=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=k(),{t:n}=D(),r=_(Yd),a=vue.ref(false),l=vue.ref(null),i={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let s=o.value&&r.value?o.value.can(i):null,u=s?.ok===true,p=s&&!s.ok?s.reason:null,d=z("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:I,onClick:()=>{a.value=true;}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(B,{...c,children:t.default?.()}):jsxRuntime.jsx("button",{...c,children:t.default?.()??$(d?.paths)}),jsxRuntime.jsx(Gl,{open:a.value,onClose:()=>{a.value=false;},triggerRef:Gd(l)})]})}}});Or.docxSlot="image.properties";var Br=Object.assign(Or,{docxSlot:"image.properties"});function ge(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(It,{slot:e,...o},n)}});return t.docxSlot=e,t}var Jd=ge("history.undo"),Qd=ge("history.redo"),eu=ge("text.bold"),tu=ge("text.italic"),ou=ge("text.underline"),nu=ge("text.strike"),ru=ge("format.clear"),au=ge("script.super"),lu=ge("script.sub"),iu=ge("alignment.left"),su=ge("alignment.center"),du=ge("alignment.right"),uu=ge("alignment.justify"),cu=ge("list.bullet"),pu=ge("list.numbered"),mu=ge("list.outdent"),fu=ge("list.indent"),gu=ge("table.insert"),yu=ge("review.comments"),Vr=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=k(),n=st(),{openAtCaret:r}=Ee(),a=V(),{t:l}=D();return ()=>{if(e.hidden)return null;n.value;let i=editor.chromeProbeForSlot("text.link"),s=o.value&&i?o.value.can(i):null,u=s?.ok===true,p=i18n.localizeDisabledReason(s&&!s.ok?s.reason:null,l),d=z("text.link"),c=a(d?.labelKey??"text.link"),v={class:De("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?.()??$(d?.paths);return e.asChild?vue.h(B,v,t.default):vue.h("button",{type:"button",...v},y??void 0)}}});Vr.docxSlot="text.link";var zr=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=k(),o=mr(),n=V();return ()=>{if(e.hidden)return null;let r=z("file.save"),a=n(r?.labelKey??"file.save"),l=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:De("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:l,...l?{"data-disabled":""}:{},"aria-label":a,title:a,onMousedown:I,onClick:()=>o.value.onSave?.()},[$(r?.paths)])}}});zr.docxSlot="file.save";var Ft=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:De("docx-toolbar__separator",e.class,e.className)})}});function co(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}var vy=e=>({zoom:e.zoom,mode:e.zoomMode}),by=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,vu={type:"fixed"};function jl(){let e=k(),t=_(vy,by),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??vu),a=vue.computed(()=>Jo(t.value.zoom,"out")),l=vue.computed(()=>Jo(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(vu),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:hr}}var an=2,ln=3276,rn=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],Sy=e=>e.formatting?.fontSizePt??null;function xu(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function Su(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 Cy(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<an||n>ln?null:n}function Ty(e){(co(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}var Tu=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:"+"})]})}}),$r=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(Sy),n=U("font.size"),r=V(),a=vue.ref(false),l=vue.ref(null),i=vue.ref(null),s=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(ln,Math.max(an,Math.round(c*2))));},d=c=>{a.value=false,l.value=null,s.value?.blur(),Ty(i.value);};return vue.watch(a,(c,v,y)=>{if(!c)return;let g=h=>{let b=i.value;b&&h.target instanceof Node&&b.contains(h.target)||(a.value=false,l.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=l.value??v,g=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(l.value===null)return;let b=Cy(l.value);b!==null&&u(b);};return jsxRuntime.jsxs("span",{ref:i,class:"docx-toolbar__font-size","data-slot":"font.size",title:n.disabledReason.value??void 0,children:[jsxRuntime.jsx(Tu,{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)>an,canIncrease:c&&Math.round(o.value*2)<ln,onDecrease:()=>p(Su(o.value??0,rn,an/2)),onIncrease:()=>p(xu(o.value??0,rn,ln/2)),children:jsxRuntime.jsx("input",{ref:s,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":a.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),autocomplete:"off",onInput:b=>{l.value=b.target.value,a.value=true;},onFocus:b=>{b.target.select(),a.value=true;},onClick:()=>{a.value=true;},onKeydown:b=>{b.key==="Enter"?(b.preventDefault(),h(),d()):b.key==="Escape"?(b.preventDefault(),d()):(b.key==="ArrowDown"||b.key==="ArrowUp")&&(b.preventDefault(),a.value=true,o.value!==null&&p(b.key==="ArrowDown"?Su(o.value,rn,an/2):xu(o.value,rn,ln/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:rn.map(b=>{let m=g===b;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":m,...m?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{p(b),d();},children:b},b)})}):null]})}}});$r.docxSlot="font.size";var qr=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=jl(),n=V(),r=vue.ref(false),a=vue.ref(null);return vue.watch(r,(l,i,s)=>{if(!l)return;let u=p=>{let d=a.value;d&&p.target instanceof Node&&d.contains(p.target)||(r.value=false);};document.addEventListener("mousedown",u),s(()=>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),s=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(Tu,{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:[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:I,onClick:()=>{r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":s,...s?{"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]})}}});qr.docxSlot="zoom.level";var Ey={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},Py=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??Ey;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}}},wy=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],Ry=(e,t)=>wy.every(o=>e.disagrees[o]===t.disagrees[o]),My=(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&&Ry(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")),ky=e=>e.editable;function Xl(){let e=k(),t=_(Py,My),o=_(ky),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 Yl=e=>Math.round(e/1440*100)/100,Jl=e=>Yl(e).toLocaleString(void 0,{maximumFractionDigits:2}),Pu=e=>Math.round(e*1440),wu={left:"dialogs.paragraph.tabAlignLeft",center:"dialogs.paragraph.tabAlignCenter",right:"dialogs.paragraph.tabAlignRight",decimal:"dialogs.paragraph.tabAlignDecimal",bar:"dialogs.paragraph.tabAlignBar"},_y=e=>e===null||e===0?"none":e<0?"hanging":"firstLine",Iy=(e,t)=>e==="none"?0:e==="hanging"?-Math.abs(t):Math.abs(t);function Ru(e){let t=e.indentFirstLineTwips;return {alignment:e.alignment??"left",indentLeft:e.indentLeftTwips??0,indentRight:e.indentRightTwips??0,special:_y(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 Ur={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 Mu(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 Dy(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 ku(e,t,o=Ur,n=o){let r={},a=false,l=(s,u)=>{r[s]=u,a=true;},i=s=>o[s]&&!n[s];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",Iy(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),(!Dy(e.tabStops,t.tabStops)||i("tabStops")&&t.clearedAllTabStops)&&l("tabStops",t.tabStops),a?r:null}function _u(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(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 Oy={marginRight:"auto",fontSize:"12px",color:"var(--doc-danger)"},By={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},Ky={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},Vy={padding:"16px 20px 12px",borderBottom:"1px solid var(--doc-border)",flexShrink:0,fontSize:"16px",fontWeight:600,color:"var(--doc-text)"},zy={padding:"16px 20px",overflowY:"auto",minHeight:0},$y={display:"grid",gridTemplateColumns:"1fr 1fr",gap:"28px"},Du={display:"flex",flexDirection:"column",gap:"14px",minWidth:0},dn={fontSize:"12px",fontWeight:600,color:"var(--doc-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px"},We={display:"flex",alignItems:"center",gap:"12px"},ot={width:"92px",fontSize:"13px",color:"var(--doc-text-muted)"},ft={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Ql={fontSize:"11px",color:"var(--doc-text-muted)",width:"20px"},qy={display:"flex",alignItems:"center",gap:"8px",fontSize:"13px",color:"var(--doc-text)"},Uy={padding:"12px 20px 16px",borderTop:"1px solid var(--doc-border)",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",flexShrink:0},un={padding:"6px 16px",fontSize:"13px",border:"1px solid var(--doc-border)",borderRadius:"4px",cursor:"pointer",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},Ht=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=Xl(),n=vue.ref("left"),r=vue.ref(0),a=vue.ref(0),l=vue.ref("none"),i=vue.ref(0),s=vue.ref(0),u=vue.ref(0),p=vue.ref("multiple"),d=vue.ref(1.08),c=vue.ref(false),v=vue.ref(false),y=vue.ref(false),g=vue.ref(true),h=vue.ref(false),b=vue.ref([]),m=vue.ref(false),C=vue.ref(0),T=vue.ref("left"),f=vue.ref("none"),x=vue.ref(false),P=vue.ref(null),S=vue.ref(Ur),w=vue.ref(false),M=vue.ref(Ur),E=vue.getCurrentInstance(),L=()=>document.querySelector('[role="dialog"][aria-label="'+t("dialogs.paragraph.title")+'"]'),R=vue.ref(false),F=`docx-paragraph-${E?.uid??0}`;vue.watch(()=>[e.open,o.format.value],([Y,Q])=>{if(!Y){x.value=false;return}if(x.value||Q===null)return;let W=Ru(Q);n.value=W.alignment,r.value=W.indentLeft,a.value=W.indentRight,l.value=W.special,i.value=W.specialBy,s.value=W.spaceBefore,u.value=W.spaceAfter,p.value=W.lineRule,d.value=W.lineValue,c.value=W.contextualSpacing,v.value=W.keepNext,y.value=W.keepLines,g.value=W.widowControl,h.value=W.pageBreakBefore,b.value=W.tabStops,m.value=false,S.value=Mu(Q),w.value=Q.indentUnknown,C.value=0,T.value="left",f.value="none",M.value=S.value,R.value=false,P.value=W,x.value=true,vue.nextTick(()=>L()?.focus());},{immediate:true});let te=()=>{let Y=Math.round(C.value);return Y<=0?false:(S.value={...S.value,tabStops:false},b.value=_u(b.value,{positionTwips:Y,alignment:T.value,...f.value!=="none"?{leader:f.value}:{}}),C.value=0,T.value="left",f.value="none",true)},re=()=>{let Y=P.value,Q=Y===null?null:ku(Y,{alignment:n.value,indentLeft:r.value,indentRight:a.value,special:l.value,specialBy:i.value,spaceBefore:s.value,spaceAfter:u.value,lineRule:p.value,lineValue:d.value,contextualSpacing:c.value,keepNext:v.value,keepLines:y.value,widowControl:g.value,pageBreakBefore:h.value,tabStops:b.value,clearedAllTabStops:m.value},M.value,S.value);if(Q===null){e.onClose();return}if(o.apply(Q)){R.value=false,e.onClose();return}R.value=true;};return ()=>{if(!e.open)return null;let Y=N=>w.value&&(N==="indentLeft"||N==="indentRight"||N==="special")?t("dialogs.paragraph.notShown"):t("dialogs.paragraph.mixed"),Q=N=>{S.value={...S.value,[N]:false};},W=(N,he,Mt,xe)=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${F}-${N}`,type:"number",style:ft,min:"0",step:"0.1",...N==="tabPosition"?{"data-docx-tab-entry":""}:{},value:xe&&S.value[xe]?"":Yl(he),placeholder:xe&&S.value[xe]?Y(xe):void 0,onInput:Qa=>{xe&&Q(xe),Mt(Pu(Number(Qa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ql,children:t("dialogs.paragraph.unitInches")})]}),Ie=(N,he,Mt,xe)=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-${N}`,children:t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${F}-${N}`,type:"number",style:ft,min:"0",step:"1",value:S.value[xe]?"":he,placeholder:S.value[xe]?Y(xe):void 0,onInput:Qa=>{Q(xe),Mt(Math.max(0,Number(Qa.target.value)||0));},"aria-label":t(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{style:Ql,children:t("dialogs.paragraph.unitPoints")})]}),qe=(N,he,Mt)=>jsxRuntime.jsxs("label",{style:qy,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:he,".indeterminate":S.value[N],onChange:xe=>{S.value={...S.value,[N]:false},Mt(xe.target.checked);}}),t(`dialogs.paragraph.${N}`)]}),bm=`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:`${bm}${e.className?` ${e.className}`:""}`,style:By,onClick:e.onClose,onKeydown:N=>{N.key==="Escape"&&e.onClose();let he=L();he&&Iu(he,N)&&N.preventDefault();let Mt=N.target instanceof HTMLButtonElement||N.target instanceof HTMLSelectElement;if(N.key==="Enter"&&!Mt){let xe=N.target;if(xe instanceof HTMLElement&&xe.dataset.docxTabEntry!==void 0){te();return}o.isEnabled.value&&re();}},children:jsxRuntime.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":t("dialogs.paragraph.title"),tabindex:-1,style:Ky,onClick:N=>N.stopPropagation(),onMousedown:N=>N.stopPropagation(),children:[jsxRuntime.jsx("div",{style:Vy,children:t("dialogs.paragraph.title")}),jsxRuntime.jsx("div",{style:zy,children:jsxRuntime.jsxs("div",{style:$y,children:[jsxRuntime.jsxs("div",{style:Du,children:[jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-alignment`,children:t("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${F}-alignment`,style:ft,value:S.value.alignment?"":n.value,onChange:N=>{Q("alignment"),n.value=N.target.value;},"aria-label":t("dialogs.paragraph.alignment"),children:[S.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:dn,children:t("dialogs.paragraph.indentation")}),W("beforeText",r.value,N=>{r.value=N;},"indentLeft"),W("afterText",a.value,N=>{a.value=N;},"indentRight"),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-special`,children:t("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${F}-special`,style:ft,value:S.value.special?"":l.value,onChange:N=>{Q("special"),l.value=N.target.value;},"aria-label":t("dialogs.paragraph.special"),children:[S.value.special?jsxRuntime.jsx("option",{value:"",children:Y("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"?W("by",i.value,N=>{i.value=Math.max(0,N);},"special"):null,jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.tabStops")}),b.value.length===0?jsxRuntime.jsx("div",{style:{fontSize:"12px",color:"var(--doc-text-muted)"},children:t(S.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):b.value.map(N=>jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("span",{style:{...ot,color:"var(--doc-text)"},children:t("dialogs.paragraph.tabPositionLabel",{position:Jl(N.positionTwips)})}),jsxRuntime.jsx("span",{style:{flex:1,fontSize:"13px",color:"var(--doc-text-muted)"},children:t(wu[N.alignment])}),jsxRuntime.jsx("button",{type:"button",style:un,onClick:()=>{b.value=b.value.filter(he=>he!==N);},"aria-label":t("dialogs.paragraph.tabRemoveAt",{position:Jl(N.positionTwips)}),children:t("dialogs.paragraph.tabRemove")})]},N.positionTwips)),W("tabPosition",C.value,N=>{C.value=Math.max(0,N);}),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-tabAlignment`,children:t("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${F}-tabAlignment`,style:ft,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:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-tabLeader`,children:t("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${F}-tabLeader`,style:ft,value:f.value,onChange:N=>{f.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:{...We,justifyContent:"flex-end"},children:[jsxRuntime.jsx("button",{type:"button",style:un,onClick:te,children:t("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",style:un,onClick:()=>{S.value={...S.value,tabStops:false},b.value=[];},children:t("dialogs.paragraph.tabClearAll")})]})]}),jsxRuntime.jsxs("div",{style:Du,children:[jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.spacing")}),Ie("spaceBefore",s.value,N=>{s.value=N;},"spaceBefore"),Ie("spaceAfter",u.value,N=>{u.value=N;},"spaceAfter"),jsxRuntime.jsxs("div",{style:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-lineSpacing`,children:t("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${F}-lineSpacing`,style:ft,value:S.value.lineSpacing?"":p.value,onChange:N=>{let he=N.target.value;Q("lineSpacing"),p.value=he,d.value=he===P.value?.lineRule?P.value.lineValue:he==="multiple"?1.08:12;},"aria-label":t("dialogs.paragraph.lineSpacing"),children:[S.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:We,children:[jsxRuntime.jsx("label",{style:ot,for:`${F}-at`,children:t("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${F}-at`,type:"number",style:ft,disabled:S.value.lineSpacing,min:"0.01",step:p.value==="multiple"?"0.01":"1",value:S.value.lineSpacing?"":d.value,onInput:N=>{let he=N.target.value.trim();d.value=he===""?p.value==="multiple"?1.08:12:Number(he)||0;},"aria-label":t("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{style:Ql,children:p.value==="multiple"?"":t("dialogs.paragraph.unitPoints")})]}),qe("contextualSpacing",c.value,N=>{c.value=N;}),jsxRuntime.jsx("div",{style:dn,children:t("dialogs.paragraph.pagination")}),qe("keepNext",v.value,N=>{v.value=N;}),qe("widowControl",g.value,N=>{g.value=N;}),qe("keepLines",y.value,N=>{y.value=N;}),qe("pageBreakBefore",h.value,N=>{h.value=N;})]})]})}),jsxRuntime.jsxs("div",{style:Uy,children:[R.value?jsxRuntime.jsx("span",{role:"alert",style:Oy,children:t("dialogs.paragraph.refused")}):null,jsxRuntime.jsx("button",{type:"button",style:un,onClick:e.onClose,children:t("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{type:"button",style:{...un,backgroundColor:"var(--doc-primary)",color:"var(--doc-on-primary)",borderColor:"var(--doc-primary)",opacity:o.isEnabled.value?1:.5},disabled:!o.isEnabled.value,onClick:re,children:t("dialogs.paragraph.ok")})]})]})})})}}});var Lu=Symbol("docx.paragraphDialog"),Fu=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(Ht,{open:o.value,onClose:r})]}});function Au(){return vue.inject(Lu,null)}var Qy=[1,1.15,1.5,2,2.5,3],Ou=10,Bu=0,ev=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),tv=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,Wr=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(ev,tv),n=U("list.lineSpacing"),r=U("paragraph.dialog"),a=Au(),l=V(),i=vue.ref(false),s=vue.ref(null);vue.watch(i,(d,c,v)=>{if(!d)return;let y=g=>{let h=s.value;h&&g.target instanceof Node&&h.contains(g.target)||(i.value=false);};document.addEventListener("mousedown",y),v(()=>document.removeEventListener("mousedown",y));});let u=d=>{if(i.value=false,!t.value)return;let c=editor.commandForSlotValue("list.lineSpacing",d);c&&t.value.can(c).ok&&t.value.exec(c);},p=(d,c)=>{if(i.value=false,!t.value)return;let v={type:"setParagraphSpacing",[d]:c};t.value.can(v).ok&&t.value.exec(v);};return ()=>{if(e.hidden)return null;let d=z("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:s,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:I,onClick:()=>{i.value=!i.value;},children:[$(d?.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:[Qy.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=s.value?.querySelector(".docx-toolbar__line-spacing-trigger");a?.open(g instanceof HTMLElement?g: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:I,onClick:()=>p("beforePt",c?Bu:Ou),children:l(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("afterPt",v?Bu:Ou),children:l(v?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});Wr.docxSlot="list.lineSpacing";var av=[{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"}],Ku=[{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"],jr=["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"],gt=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),Le=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function lv(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?[Le(5),Le(15),Le(25),Le(35),Le(50)]:o===0?[gt(50),gt(35),gt(25),gt(15),gt(5)]:o>=.8?[Le(10),Le(25),Le(50),Le(75),Le(90)]:[gt(80),gt(60),gt(40),Le(25),Le(50)]}var iv=/^[0-9A-Fa-f]{6}$/;function sv(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 dv(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 Zr=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":""}:{},...dv(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:I,onClick:()=>e.apply(e.value)})}}),uv=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(lv),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(Zr,{value:n,css:`#${n.toLowerCase()}`,title:e.label(jr[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,a)=>{let l=t[a][n],i=sv(r,l.apply);return jsxRuntime.jsx(Zr,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(jr[a])}, ${e.label(l.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${a}`)}))]})]})}}}),cv=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=iv.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(uv,{...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:av.map(n=>jsxRuntime.jsx(Zr,{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")})]})]})]})}}}),ti=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=k(),o=V();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===jr.length?n.map(l=>l.hex):Vu,a=e.current?.toUpperCase()??null;return jsxRuntime.jsx(cv,{apply:e.apply,label:o,current:a,themeHexes:r})}}}),pv=Ku.filter(e=>e.value!=="white"),mv=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:pv.map(t=>jsxRuntime.jsx(Zr,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function zu(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(s){let u=k(),p=U(t),d=V(),c=vue.ref(false),v=vue.ref(o),y=vue.ref(null),g=_(m=>{if(l){let C=m.formatting?.color;return C&&C.kind==="hex"?C.value.toUpperCase():null}return m.formatting?.highlight??null}),h=vue.computed(()=>{let m=u.value?.getDocumentThemeColors()??[];return m.length===jr.length?m.map(C=>C.hex):Vu});vue.watch(c,(m,C,T)=>{if(!m)return;let f=x=>{let P=y.value;P&&x.target instanceof Node&&P.contains(x.target)||(c.value=false);};document.addEventListener("mousedown",f),T(()=>document.removeEventListener("mousedown",f));});let b=m=>{c.value=false;let C=u.value;if(!C)return;let T=editor.commandForSlotValue(t,m);T&&C.can(T).ok&&(C.exec(T),m!==r.value&&(v.value=m));};return ()=>{if(s.hidden)return null;let m=z(t),C=d(m?.labelKey??t);return jsxRuntime.jsxs("div",{ref:y,class:`docx-toolbar__colorsplit${s.className?` ${s.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":C,title:p.disabledReason.value??C,onMousedown:I,onClick:()=>b(v.value),children:[s.icon??$(m?.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":C,title:p.disabledReason.value??C,onMousedown:I,onClick:()=>{c.value=!c.value;},children:"\u25BE"}),c.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-popup",role:"dialog","aria-label":C,onMousedown:I,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>b(r.value),children:[jsxRuntime.jsx("span",{class:`docx-toolbar__swatch-clear-chip${r.value==="none"?" docx-toolbar__swatch-clear-chip--none":""}`,"aria-hidden":"true"}),d(r.labelKey)]}),a({apply:b,label:d,current:g.value,themeHexes:h.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var fv=new Map(Ku.map(e=>[e.value,e.css])),oi=zu({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(ti,{apply:e.apply,current:e.current})}),ni=zu({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>fv.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(mv,{...e})});var bv=["alignment.left","alignment.center","alignment.right","alignment.justify"],pn=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"),a=V(),l=vue.ref(false),i=vue.ref(null),s=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(l.value=false);};return vue.watch(l,(u,p,d)=>{u&&(document.addEventListener("mousedown",s),d(()=>document.removeEventListener("mousedown",s)));}),()=>{if(e.hidden)return null;let u=[t,o,n,r],p=bv.map((y,g)=>({slot:y,control:z(y),state:u[g]})),d=p.find(y=>y.state.isActive.value)??p[0],c=p.some(y=>y.state.isEnabled.value),v=a(d.control?.labelKey??d.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":v,title:c?v:d.state.disabledReason.value??v,onMousedown:I,onClick:()=>{l.value=!l.value;}},[$(d.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(y=>{let g=a(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(),l.value=false;}},[$(y.control?.paths)])})):null])}}});pn.docxSlot="alignment";var ri=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:De("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(B,n,o.default):vue.h("button",n,r??void 0)}}});var Sv=Object.freeze([]),Cv=e=>e.formatting?.fontFamily??null,Tv=e=>e;function mn(){let e=k(),t=_(Cv),o=_(Tv),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():Sv),r=U("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 Mv=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"]]),kv=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],Gu=Symbol("FontFamilyContext");function ai(){return vue.inject(Gu,null)}var li=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ai(),n=V();return ()=>{if(!o)return null;let r=n(z("font.family")?.labelKey??"font.family"),a={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},l=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{type:"button",...a,children:l})}}});li.docxToolbarPart=true;var ju=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ai(),n=V();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}`:""}`},a;return t.default?a=t.default():a=kv.map(i=>({...i,fonts:o.options.value.filter(s=>(Mv.get(s.toLowerCase())??"other")===i.category)})).filter(i=>i.fonts.length>0).flatMap((i,s)=>{let u=[];s>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(Zu,{value:p},p));return u}),e.asChild?jsxRuntime.jsx(B,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),Zu=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=ai();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}`:""}`},a=t.default?.()??[jsxRuntime.jsx("span",{style:{fontFamily:e.value},children:e.value})];return e.asChild?jsxRuntime.jsx(B,{...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]})}}}),_v=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=mn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,s)=>{if(!l)return;let u=p=>{let d=r.value;d&&p.target instanceof Node&&d.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),s(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(Gu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family"},i=t.default?.()??[jsxRuntime.jsx(li,{}),jsxRuntime.jsx(ju,{})];return e.asChild?jsxRuntime.jsx(B,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),ii=Object.assign(_v,{docxSlot:"font.family",Trigger:li,Content:ju,Item:Zu});var Dv=/^heading ([1-9])$/;function Xu(e,t){let o=e||t,n=Dv.exec(o);return n?`Heading ${n[1]}`:o}var Lv=Object.freeze([]),Fv=e=>e.formatting?.styleId??null,Av=e=>e;function fn(){let e=k(),t=_(Fv),o=_(Av),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(l=>l.type==="paragraph").map(l=>({styleId:l.styleId,name:Xu(l.name,l.styleId),preview:l.preview})):Lv),r=U("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 Vv(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 Qu=Symbol("ParagraphStyleContext");function si(){return vue.inject(Qu,null)}var di=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=si(),n=V();return ()=>{if(!o)return null;let r=z("styles.style"),a=n(r?.labelKey??"styles.style"),l={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":a,title:a},i=o.options.value.find(u=>u.styleId===o.value.value),s=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(B,{...l,children:s}):jsxRuntime.jsx("button",{type:"button",...l,children:s})}}});di.docxToolbarPart=true;var ec=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=si();return ()=>{if(!o||!o.open.value)return null;let n={role:"listbox",class:`docx-toolbar__menu docx-toolbar__style-content${e.className?` ${e.className}`:""}`},r=t.default?.()??o.options.value.map(a=>jsxRuntime.jsx(tc,{value:a.styleId},a.styleId));return e.asChild?jsxRuntime.jsx(B,{...n,children:r}):jsxRuntime.jsx("div",{...n,children:r})}}}),tc=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=si();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:I,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?Vv(r.preview):void 0,children:r?.name??e.value})];return e.asChild?jsxRuntime.jsx(B,{...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]})}}}),zv=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=fn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(l,i,s)=>{if(!l)return;let u=p=>{let d=r.value;d&&p.target instanceof Node&&d.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),s(()=>document.removeEventListener("mousedown",u));});let a={...o,open:vue.computed(()=>n.value),setOpen:l=>{n.value=l;}};return vue.provide(Qu,a),()=>{if(e.hidden)return null;let l={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style"},i=t.default?.()??[jsxRuntime.jsx(di,{}),jsxRuntime.jsx(ec,{})];return e.asChild?jsxRuntime.jsx(B,{...l,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...l,children:i})}}}),ui=Object.assign(zv,{docxSlot:"styles.style",Trigger:di,Content:ec,Item:tc});function oc(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=U(o),i=Ue(),s=V();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=z(o),d=s(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":d,title:l.disabledReason.value??d,onMousedown:I,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},v=r.icon??a.default?.()??$(p?.paths);return r.asChild?vue.h(B,c,a.default):vue.h("button",c,v??void 0)}}});return n.docxSlot=o,n}var Jr=oc(Pe.showAll,"showAll"),Qr=oc(Pe.formFill,"formFill"),gn=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=Pe.inspector,n=U(o),{inspectorOpen:r,openInspector:a}=Ue(),l=V();return ()=>{if(e.hidden)return null;let i=z(o),s=l(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Pe.inspector,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},...r.value?{"data-active":""}:{},"aria-pressed":r.value,"aria-label":s,title:n.disabledReason.value??s,onMousedown:I,onClick:()=>a()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(B,u,t.default):vue.h("button",u,p??void 0)}}});gn.docxSlot=Pe.inspector;var yn=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}=Ue(),a=V();return ()=>{if(e.hidden)return null;let l=Pe.remove,i=z(l),s=a(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Pe.remove,disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":s,title:n.value??s,onMousedown:I,onClick:()=>r()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(B,u,t.default):vue.h("button",u,p??void 0)}}});yn.docxSlot=Pe.remove;var nc={[Pe.showAll]:Jr,[Pe.formFill]:Qr,[Pe.inspector]:gn,[Pe.remove]:yn};function pi(e,t){let o=k(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,a,l)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),s=o.value.on(e,i);l(s);},{immediate:true,flush:"post"});}var tb=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],mi=Symbol("TableChromeContext");function sc(){let e=vue.inject(mi,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function nb(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}`:"",s=e?.getTableCellSelection()??null,u=s?`${s.tableId}|${s.rows.from}-${s.rows.to}|${s.columns.from}-${s.columns.to}|${s.cellIds.join(",")}`:"";return {tableKey:a,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function rb(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function ab(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var lc={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function lb(e,t){let o={};for(let n of tb){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var fi=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=k(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(lc);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let a=_(d=>({table:d.table,editable:d.editable,editingMode:d.editingMode??"editing",headParagraphId:d.selection?.to&&"paraId"in d.selection.to?d.selection.to.paraId:d.selection?.from&&"paraId"in d.selection.from?d.selection.from.paraId:""}),rb,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),l=()=>{let d=o.value;if(!d){r.value=lc;return}let c=nb(d,d.snapshot());ab(r.value,c)||(r.value=c);};vue.watch([o,a],l,{immediate:true,flush:"post"}),pi("selectionChange",l);let i=vue.computed(()=>r.value.tableKey!==""),s=vue.computed(()=>{let d=o.value;return d?lb(d,n.value):{}}),u=(d,c)=>{let v=o.value;if(!v)return;let{result:y,nextDraft:g}=editor.runTableChromeCommand(v,d,c,n.value);y.ok&&g&&(n.value=g);},p={visible:i,draft:vue.computed(()=>n.value),setDraft:d=>{n.value=d;},slotState:d=>s.value[d]??{enabled:false,disabledReason:"editor is not ready"},apply:u};return vue.provide(mi,p),()=>t.default?.()}});function ib(){let e=vue.inject(mi,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function gi(e){let t=ib(),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 sb='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function yt(e){return [...e.querySelectorAll(sb)].filter(t=>t.closest('[role="menu"]')===e)}function yi(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function Fe(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 Ae(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}function bi(e){(co(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function hi(e,t,o){vue.watch(e,(n,r,a)=>{if(!n)return;let l=i=>{let s=o.value;s&&i.target instanceof Node&&s.contains(i.target)||t(false);};document.addEventListener("mousedown",l),a(()=>document.removeEventListener("mousedown",l));});}function ea({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=D(),r=i18n.localizeDisabledReason(t,n),a=oe("table-chrome-reason"),l=!e&&r?a:void 0;return {reasonId:a,shared:{type:"button",onMousedown:I,"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 cb='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function uc(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,s=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(cb)].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 d=c=>{let v=u();if(c.key==="Escape"){c.preventDefault(),t(false),s?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),Fe(v,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),Fe(v,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ae(v,"first");return}if(c.key==="End"){c.preventDefault(),Ae(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",d),l(()=>i.removeEventListener("keydown",d));},{flush:"post"});}function cc(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,a,l)=>{if(!r)return;let i=o.value,s=n.value;if(!i)return;let u=()=>[...i.querySelectorAll('button:not([aria-disabled="true"])')].filter(d=>d.closest('[role="dialog"]')===i);queueMicrotask(()=>{u()[0]?.focus();});let p=d=>{if(d.key==="Escape"){d.preventDefault(),t(false),s?.focus();return}if(d.key==="Enter"||d.key===" "){let c=document.activeElement,v=u();c instanceof HTMLElement&&v.includes(c)&&(d.preventDefault(),c.click());}};i.addEventListener("keydown",p),l(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var yb=e=>e;function xi(){let e=k(),t=V(),o=_(yb);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 xb(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function Sb(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function Cb(e){return $(editor.tableChromeIconPaths(e))}function Si(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:s}){let u=gi(e),p=vue.ref(false),d=vue.ref(null),c=vue.ref(null),v=y=>{p.value=y;};return hi(p,v,d),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=s.default?.()??[jsxRuntime.jsx(a,{}),jsxRuntime.jsx(l,{})];return i.asChild?jsxRuntime.jsx(B,{...y,ref:d,children:g}):jsxRuntime.jsx("div",{ref:d,...y,children:g})}}}),a=vue.defineComponent({name:`TableChromeTrigger_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:s}){let u=vue.inject(n),p=V(),d=z(e),c=p(d?.labelKey??o);return ()=>{let{shared:v,reasonNode:y}=ea({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:Sb(u.enabled,u.open,u.setOpen)}:{}},h=s.default?.()??[$(d?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})];return i.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...g,children:h}),y]}):jsxRuntime.jsxs("button",{...g,children:[h,y]})}}});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:s}){let u=vue.inject(n),p=V(),d=vue.ref(null);return uc(()=>u.open&&u.enabled,u.setOpen,d,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=z(e),v=p(c?.labelKey??o),y={ref:d,role:"menu","aria-label":v,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:I};return i.asChild?jsxRuntime.jsx(B,{...y,children:s.default?.()}):jsxRuntime.jsx("div",{...y,children:s.default?.()})}}});return {Root:r,Trigger:a,Content:l,CtxKey:n}}var bn=Si("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),bc=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(bn.CtxKey),n=V();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(s=>s.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:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[Cb(r.icon)];return e.asChild?jsxRuntime.jsx(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),hc=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(bn.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(bc,{value:o.value},o.value))})})}}),Tb=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(bn.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(bn.Trigger,{}),jsxRuntime.jsx(hc,{})]})}}),hn=Object.assign(Tb,{docxSlot:"table.borderTarget",Trigger:bn.Trigger,Content:hc,Item:bc}),yo=Si("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),pc=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(yo.CtxKey),n=V();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(s=>s.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: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(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}}),xn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(yo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(yo.Trigger,{}),jsxRuntime.jsx(yo.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(pc,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:yo.Trigger,Content:yo.Content,Item:pc}),vo=Si("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),mc=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(vo.CtxKey),n=V();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:I,onClick:()=>{o.setOpen(false),o.apply(a.size);}},s=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(B,{...i,children:s}):jsxRuntime.jsx("button",{...i,children:s})}}}),Sn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(vo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(vo.Trigger,{}),jsxRuntime.jsx(vo.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx(mc,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:vo.Trigger,Content:vo.Content,Item:mc});function xc(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 d=gi(e),c=vue.ref(false),v=vue.ref(n),y=vue.ref(null),g=vue.ref(null),h=m=>{c.value=m;},b=m=>{v.value=m;};return hi(c,h,y),vue.provide(r,{get open(){return c.value},setOpen:h,get enabled(){return d.enabled.value},get disabledReason(){return d.disabledReason.value},apply:d.apply,draft:d.draft,triggerRef:g,get lastHex(){return v.value},setLastHex:b}),()=>{if(u.hidden||!d.visible.value)return null;let m={class:`docx-toolbar__colorsplit docx-table-chrome${u.className?` ${u.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},C=p.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(s,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(B,{...m,ref:y,children:C}):jsxRuntime.jsx("div",{ref:y,...m,children:C})}}}),l=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),c=V(),v=z(e),y=c(v?.labelKey??t);return ()=>{let{shared:g,reasonNode:h}=ea({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:y}),b=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.lastHex??n,m={...g,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:d.enabled?()=>d.apply({kind:"hex",value:b}):void 0},C=p.default?.()??[$(v?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:xb(b,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...m,children:C}),h]}):jsxRuntime.jsxs("button",{...m,children:[C,h]})}}});l.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),v=V()(t);return ()=>{let{shared:y,reasonNode:g}=ea({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:v}),h={...y,ref:d.triggerRef,class:`docx-toolbar__colorsplit-caret${u.className?` ${u.className}`:""}`,"aria-haspopup":"dialog","aria-expanded":d.open,onClick:d.enabled?()=>d.setOpen(!d.open):void 0},b=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(B,{...h,children:b}),g]}):jsxRuntime.jsxs("button",{...h,children:[b,g]})}}});i.docxToolbarPart=true;let s=vue.defineComponent({name:`TableColorContent_${e}`,props:{className:String,asChild:Boolean,clearFill:{type:Boolean,required:true}},setup(u,{slots:p}){let d=vue.inject(r),c=V(),v=vue.ref(null);return cc(()=>d.open&&d.enabled,d.setOpen,v,d.triggerRef),()=>{if(!d.open||!d.enabled)return null;let y=c(t),g=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.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},b=p.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[u.clearFill?jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>{d.setOpen(false),d.apply(null),bi(d.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(ti,{apply:m=>{d.setOpen(false),d.setLastHex?.(m),d.apply({kind:"hex",value:m}),bi(d.triggerRef.value);},current:g})]});return u.asChild?jsxRuntime.jsx(B,{...h,children:b}):jsxRuntime.jsx("div",{...h,children:b})}}});return {Root:a,Main:l,Trigger:i,Content:s,CtxKey:r}}var Bt=xc("table.borderColor","table.borderColor",{defaultHex:"000000"}),Cn=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Bt.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Bt.Main,{}),jsxRuntime.jsx(Bt.Trigger,{}),jsxRuntime.jsx(Bt.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:Bt.Trigger,Content:Bt.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:Bt.Main}),Kt=xc("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),Tn=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Kt.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Kt.Main,{}),jsxRuntime.jsx(Kt.Trigger,{}),jsxRuntime.jsx(Kt.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:Kt.Trigger,Content:Kt.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:Kt.Main});var Sc=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map},separator:{type:Boolean,default:true}},setup(e){let t=sc();return ()=>{if(!t.value)return null;let o=[hn,Cn,xn,Sn,Tn];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.separator?jsxRuntime.jsx(Ft,{}):null,o.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})})]})}}});var Mb=e=>e.editingMode??"editing",Ti='[role="menuitemradio"]:not([disabled])',kb=(e,t)=>e.length===t.length&&e.every((o,n)=>o===t[n]),_b=e=>e.isLoading||e.isOpening===true,En=[{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"}],Ib=Object.freeze(En.map(()=>null));function Db(e){return e?En.map(t=>{let o=e.can({type:"setEditingMode",mode:t.mode});return o.ok?null:o.reason}):Ib}var Nb="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function Ei(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 oa=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=_(Mb),n=_(_b),r=_(()=>Db(t.value),kb),a=V(),{t:l}=D(),i=vue.ref(false),s=vue.ref(null),u=vue.ref(null);vue.watch(i,v=>{if(!v)return;let y=u.value?.querySelectorAll(Ti);(u.value?.querySelector(`${Ti}[aria-checked="true"]`)??y?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(i,(v,y,g)=>{if(!v)return;let h=m=>{let C=s.value;C&&m.target instanceof Node&&C.contains(m.target)||(i.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),i.value=false);};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});});let p=v=>{let y=[...u.value?.querySelectorAll(Ti)??[]],g=y.indexOf(document.activeElement),h=b=>{v.preventDefault(),y[(b+y.length)%y.length]?.focus();};v.key==="ArrowDown"?h(g+1):v.key==="ArrowUp"?h(g-1):v.key==="Home"?h(0):v.key==="End"&&h(y.length-1);},d=v=>{i.value=false,editor.runToolbarCommand(t.value,"review.editingMode",v),t.value?.focus();},c=vue.computed(()=>En.find(v=>v.mode===o.value)??En[0]);return ()=>{if(e.hidden)return null;let v=z("review.editingMode"),y=editor.toolbarCommandState(t.value,"review.editingMode"),g=i18n.localizeDisabledReason(y.disabledReason,l);return jsxRuntime.jsxs("div",{ref:s,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":i.value,"aria-label":a(v?.labelKey??"editingMode.label"),disabled:n.value||!y.enabled,...g?{title:g}:{},onMousedown:I,onClick:()=>{i.value=!i.value;},children:[Ei(c.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:a(c.value.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),i.value?jsxRuntime.jsx("div",{ref:u,class:"docx-toolbar__mode-menu",role:"menu","aria-label":a(v?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:p,children:En.map((h,b)=>{let m=i18n.localizeDisabledReason(r.value[b]??null,l);return jsxRuntime.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":h.mode===o.value,class:"docx-toolbar__mode-item","data-testid":`editing-mode-${h.mode}`,disabled:m!==null,...m?{title:m}:{},onMousedown:I,onClick:()=>d(h.mode),children:[Ei(h.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:a(h.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:a(h.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:h.mode===o.value?Ei(Nb):null})]},h.mode)})}):null]})}}});oa.docxSlot="review.editingMode";var Pc=[];function Pn(){let e=k(),t=st(),o=vue.shallowRef(Pc),n=()=>{o.value=e.value?.getReviewAuthors()??Pc;};return vue.watch([e,t],()=>{n(),vue.nextTick(n);},{immediate:true,flush:"post"}),vue.onMounted(()=>{vue.nextTick(n);}),o}var zb=e=>e.hiddenReviewAuthors??[],Pi=Object.assign(vue.defineComponent({name:"ToolbarReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(e,{slots:t}){let o=k(),n=Pn(),r=_(zb),a=vue.computed(()=>new Set(r.value)),l=vue.ref(false),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=V(),{t:d}=D();vue.watch(l,(v,y,g)=>{if(!v)return;u.value?.querySelector('[role="menuitemcheckbox"]')?.focus();let h=m=>{i.value?.contains(m.target)||(l.value=false);},b=m=>{m.key==="Escape"&&(m.preventDefault(),l.value=false,vue.nextTick(()=>s.value?.focus()));};document.addEventListener("mousedown",h,true),document.addEventListener("keydown",b),g(()=>{document.removeEventListener("mousedown",h,true),document.removeEventListener("keydown",b);});},{flush:"post"});let c=v=>{let y=[...u.value?.querySelectorAll('[role="menuitemcheckbox"]')??[]],g=y.indexOf(document.activeElement),h=b=>{v.preventDefault(),y[(b+y.length)%y.length]?.focus();};v.key==="ArrowDown"?h(g+1):v.key==="ArrowUp"?h(g-1):v.key==="Home"?h(0):v.key==="End"?h(y.length-1):v.key==="Tab"&&(l.value=false);};return ()=>{if(e.hidden)return null;let v=n.value,y=z("review.authors"),g=editor.toolbarCommandState(o.value,"review.authors"),h=i18n.localizeDisabledReason(g.disabledReason,d),b=p(y?.labelKey??"reviewers.label");return jsxRuntime.jsxs("div",{ref:i,class:`docx-toolbar__reviewers${e.className?` ${e.className}`:""}`,"data-slot":"review.authors",children:[jsxRuntime.jsxs("button",{ref:s,type:"button",class:"docx-toolbar__picker","data-testid":"reviewers-trigger","aria-haspopup":"menu","aria-expanded":l.value,"aria-label":b,disabled:!g.enabled,title:h??b,onMousedown:I,onClick:()=>{l.value=!l.value;},children:[e.icon??t.default?.()??$(y?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:b}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),l.value?jsxRuntime.jsxs("div",{ref:u,class:"docx-toolbar__reviewers-menu",role:"menu","aria-label":b,"data-testid":"reviewers-menu",onKeydown:c,children:[jsxRuntime.jsx(wc,{checked:v.every(m=>!a.value.has(m.author)),label:d("reviewers.all"),testId:"reviewer-all",onChoose:()=>o.value?.setAllReviewAuthorsVisible(!v.every(m=>!a.value.has(m.author)))}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),v.map(m=>jsxRuntime.jsx(wc,{checked:!a.value.has(m.author),label:m.author||"\u2014",testId:`reviewer-${m.slot}`,color:m.color,onChoose:()=>o.value?.setReviewAuthorVisible(m.author,a.value.has(m.author))},m.author))]}):null]})}}}),{docxSlot:"review.authors"}),wc=vue.defineComponent({name:"ReviewerRow",props:{checked:{type:Boolean,required:true},label:{type:String,required:true},testId:{type:String,required:true},color:{type:String,default:void 0},onChoose:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsxs("button",{type:"button",role:"menuitemcheckbox","aria-checked":e.checked,class:"docx-toolbar__reviewer-item","data-testid":e.testId,onMousedown:I,onClick:e.onChoose,children:[jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:e.checked?"\u2713":""}),e.color?jsxRuntime.jsx("span",{class:"docx-toolbar__reviewer-swatch",style:{background:e.color}}):null,jsxRuntime.jsx("span",{class:"docx-toolbar__reviewer-name",children:e.label})]})}});var Ri=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],la="contextual-table",Mi={"zoom.level":qr,"styles.style":ui,"font.family":ii,"font.size":$r,"text.color":oi,"text.highlight":ni,"text.link":Vr,"list.lineSpacing":Wr,"review.editingMode":oa,"review.authors":Pi,"file.save":zr,...nc,"table.borderTarget":hn,"table.borderColor":Cn,"table.borderStyle":xn,"table.borderWidth":Sn,"table.cellFill":Tn,"image.insert":vr,"image.wrap":Ir,"image.altText":Lr},aa={id:la,labelKey:"formattingBar.groups.table",entries:Ri.map(e=>({slot:e,Part:Mi[e]}))},Mc=new Map;function Wb(e){let t=Mc.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h(It,{slot:e,hidden:o.hidden})}}),Mc.set(e,t)),t}function Gb(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:pn}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:Mi[n]??Wb(n)}})})}var jb=e=>e.image,Zb=e=>e.isLoading||e.isOpening===true,Xb=e=>e.table!==null;function Yb(e){return e==="alignment"||e in Mi}function ki(e){let t=wr(e,ki);if(t!==null)return t;let o=Rr(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 kc(e){return e?!!e.props?.hidden:false}function Dc(e){for(let t of e){let o=ki(t);if(o!=null&&Ri.includes(o))return true;if(t.children){let n=fe(t.children);if(Dc(n))return true}}return false}var Jb=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=ke();vue.provide(pr,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=V(),r=_(jb),a=_(Zb),l=_(Xb),i=vue.computed(()=>Gb(r.value)),s=vue.computed(()=>new Set(i.value.flatMap(y=>y.entries.map(g=>g.slot)))),u=vue.computed(()=>[...i.value.map(y=>y.id).filter(y=>!Ll.has(y)),...l.value?[la]:[]]),p=vue.computed(()=>_d(u.value)),d=vue.computed(()=>e.preset&&e.overflow),{attach:c,overflow:v}=Kd(()=>d.value,()=>u.value,()=>p.value);return ()=>{let y=fe(t.default?.()),g;if(!e.preset)g=y;else {let m=new Map,C=new Map,T=[];for(let E of y){let L=ki(E);L&&s.value.has(L)?m.set(L,E):L&&Ri.includes(L)?C.set(L,E):T.push(E);}let f=E=>{let L=m.get(E.slot);return L||vue.h(E.Part)},x=E=>{let L=C.get(E.slot);return L||vue.h(E.Part)},P=[],S=[],w=0;for(let E of i.value){if(v.value.has(E.id)){let R=E.entries.flatMap(F=>{let te=m.get(F.slot);if(kc(te))return [];let re=te||Yb(F.slot)?jsxRuntime.jsx(Vl,{label:_c(n,F,E.labelKey),children:f(F)}):jsxRuntime.jsx($d,{slot:F.slot});return [jsxRuntime.jsx(vue.Fragment,{children:re},F.slot)]});if(R.length===0)continue;S.push({id:E.id,labelKey:E.labelKey,children:R});continue}w>0&&P.push(vue.h(Ft,{key:`separator-${E.id}`})),w+=1;let L=Ll.has(E.id);P.push(vue.h("div",{key:E.id,class:"docx-toolbar__group",...L?{[en]:""}:{[so]:E.id}},E.entries.map(R=>vue.h(vue.Fragment,{key:R.slot},[f(R)]))));}let M=v.value.has(la);if(l.value&&M){let E=aa.entries.flatMap(L=>{let R=C.get(L.slot);return kc(R)?[]:[jsxRuntime.jsx(vue.Fragment,{children:jsxRuntime.jsx(Vl,{label:_c(n,L,aa.labelKey),children:x(L)})},L.slot)]});E.length>0&&S.unshift({id:aa.id,labelKey:aa.labelKey,children:E});}g=[...P,...l.value&&!M?[vue.h(Ft,{key:"separator-contextual-table"})]:[],...M?[]:[vue.h("div",{class:"docx-toolbar__contextual",[so]:la},vue.h(Sc,{overrides:C,separator:false}))],...T.length>0?[vue.h("div",{class:"docx-toolbar__group",[en]:""},T)]:[],...S.length>0?[vue.h(qd,{sections:S})]:[]];}let b=e.preset||Dc(y)?vue.h(fi,null,{default:()=>Array.isArray(g)?g:[g]}):g;return vue.h("fieldset",{ref:m=>c(m),disabled:a.value,role:"toolbar","data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...d.value?{"data-overflow":""}:{},onMousedown:I},[vue.h(Fu,null,{default:()=>[b]})])}}});function _c(e,t,o){let n=t.slot==="alignment"?null:z(t.slot);return e(n?.labelKey??o)}var Rn=Object.assign(Jb,{Button:It,Action:ri,Separator:Ft,Undo:Jd,Redo:Qd,Bold:eu,Italic:tu,Underline:ou,Strike:nu,Link:Vr,ClearFormatting:ru,Superscript:au,Subscript:lu,Alignment:pn,AlignLeft:iu,AlignCenter:su,AlignRight:du,AlignJustify:uu,LineSpacing:Wr,BulletList:cu,NumberedList:pu,Outdent:mu,Indent:fu,ImageInsert:vr,ImageWrap:Ir,ImageAltText:Lr,ImageProperties:Br,TableInsert:gu,TableBorderTarget:hn,TableBorderColor:Cn,TableBorderStyle:xn,TableBorderWidth:Sn,TableCellFill:Tn,Comments:yu,FontFamily:ii,FontSize:$r,FontColor:oi,Highlight:ni,Zoom:qr,StylePicker:ui,EditingMode:oa,Reviewers:Pi,Save:zr,ContentControlShowAll:Jr,ContentControlFormFill:Qr,ContentControlInspector:gn,ContentControlRemove:yn});var Qb=e=>e.pageSetup??null,eh=e=>e.editable;function Vt(){let e=k(),t=_(Qb),o=_(eh),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 _i=[{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}],Hc=1440,Fc=12240,Ac=15840,xt=1440,oh=e=>Math.round(e/Hc*100)/100,nh=e=>Math.round(e*Hc);function rh(e,t){let o=Math.min(e,t),n=Math.max(e,t);return _i.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var ah={position:"fixed",inset:0,backgroundColor:"var(--doc-overlay)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e4},lh={backgroundColor:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 4px 20px var(--doc-shadow)",minWidth:"400px",maxWidth:"480px",width:"100%",margin:"20px"},Mn=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=Vt(),n=vue.ref(Fc),r=vue.ref(Ac),a=vue.ref("portrait"),l=vue.ref(xt),i=vue.ref(xt),s=vue.ref(xt),u=vue.ref(xt),p=vue.ref("document"),d=vue.ref(null),c=vue.ref("no");vue.watch([()=>e.open,()=>o.pageSetup.value],([h])=>{if(!h){c.value="no";return}let b=o.pageSetup.value;if(c.value==="yes"&&b===null){c.value="no";return}c.value==="yes"||c.value==="loading"&&b===null||(n.value=b?.pageWidthTwips??Fc,r.value=b?.pageHeightTwips??Ac,a.value=b?.orientation??"portrait",l.value=b?.marginsTwips.top??xt,i.value=b?.marginsTwips.bottom??xt,s.value=b?.marginsTwips.left??xt,u.value=b?.marginsTwips.right??xt,p.value="document",c.value=b===null?"loading":"yes");},{flush:"post"}),vue.watch(()=>e.open,h=>{h&&d.value?.focus();},{flush:"post"});let v=h=>{let b=_i[h];b&&(n.value=a.value==="landscape"?b.height:b.width,r.value=a.value==="landscape"?b.width:b.height);},y=h=>{if(h===a.value)return;let b=n.value,m=r.value;a.value=h,n.value=m,r.value=b;},g=()=>{o.apply({pageWidthTwips:n.value,pageHeightTwips:r.value,orientation:a.value,marginTopTwips:l.value,marginRightTwips:u.value,marginBottomTwips:i.value,marginLeftTwips:s.value,scope:p.value})&&e.onClose();};return ()=>{if(!e.open)return null;let h=rh(n.value,r.value),b={display:"flex",alignItems:"center",gap:"12px"},m={width:"80px",fontSize:"13px",color:"var(--doc-text-muted)"},C={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border)",borderRadius:"4px",fontSize:"13px",backgroundColor:"var(--doc-surface)",color:"var(--doc-text)"},T=(f,x,P)=>jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t(`dialogs.pageSetup.${f}`)}),jsxRuntime.jsx("input",{type:"number",style:C,min:0,max:22,step:.1,value:oh(x),onInput:S=>P(Math.max(0,nh(Number(S.target.value)||0))),"aria-label":t(`dialogs.pageSetup.${f}`)}),jsxRuntime.jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted)",width:"16px"},children:"in"})]});return jsxRuntime.jsx("div",{class:e.className,style:ah,onClick:e.onClose,onKeydown:f=>{f.key==="Escape"&&e.onClose(),f.key==="Enter"&&g();},children:jsxRuntime.jsxs("div",{ref:d,tabindex:-1,style:lh,onClick:f=>f.stopPropagation(),onMousedown:f=>f.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:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.sizeLabel")}),jsxRuntime.jsxs("select",{style:C,value:h,onChange:f=>v(Number(f.target.value)),"aria-label":t("dialogs.pageSetup.sizeLabel"),children:[_i.map((f,x)=>jsxRuntime.jsx("option",{value:x,children:t(f.labelKey)},f.labelKey)),h<0&&jsxRuntime.jsx("option",{value:-1,children:t("dialogs.pageSetup.custom")})]})]}),jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.orientation")}),jsxRuntime.jsxs("select",{style:C,value:a.value,onChange:f=>y(f.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,f=>{l.value=f;}),T("bottom",i.value,f=>{i.value=f;}),T("left",s.value,f=>{s.value=f;}),T("right",u.value,f=>{u.value=f;}),jsxRuntime.jsxs("div",{style:b,children:[jsxRuntime.jsx("label",{style:m,children:t("dialogs.pageSetup.applyTo")}),jsxRuntime.jsxs("select",{style:C,value:p.value,onChange:f=>{p.value=f.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 kn=Symbol("MenuContext"),uh={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 Te(){let e=vue.inject(kn,uh);return vue.computed(()=>vue.unref(e))}function se(){let e=Te(),{t}=D();return o=>e.value.t?.(o)??t(o)}var ch=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,ph=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var Oc=new TextEncoder;function mh(e,t){if(Oc.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let a=Oc.encode(r).length;if(o+a>t)break;o+=a,n+=r;}return n}function Bc(e){let t=mh((e??"").replace(/\.docx$/i,"").replace(ph," ").replace(/\s+/g," ").trim().replace(/^[.\s]+/,"").replace(/[.\s]+$/,""),200).trim();return !t||ch.test(t)?"document.docx":`${t}.docx`}function Kc(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 fh="https://github.com/eigenpal/docx-editor/issues/new";function gh(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function yh(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??gh()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
+ `),a=new URLSearchParams({title:"[Bug] ",body:r});return `${fh}?${a.toString()}`}function Vc(e){typeof window>"u"||window.open(yh(e),"_blank","noopener,noreferrer");}var Ii=6,zc=6,_n=8,He=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=se(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(null),l=oe("menu-flyout"),i=vue.ref(null);return vue.watch(n,s=>{if(!s){i.value=null;return}let u=r.value,p=a.value,d=u?.ownerDocument.defaultView;if(!u||!p||!d)return;let c=u.getBoundingClientRect(),v=p.offsetWidth,y=p.offsetHeight,g=c.right+v>d.innerWidth-_n;i.value={left:g?Math.max(_n,c.left-v):Math.min(c.right,d.innerWidth-v-_n),top:Math.max(_n,Math.min(c.top-4,d.innerHeight-y-_n))};},{flush:"post"}),()=>{let s=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&&Ae(yt(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:I,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:s}),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":s,style:i.value?{position:"fixed",left:K(i.value.left),top:K(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=a.value;if(!p)return;let d=yt(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),Fe(d,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),Fe(d,document.activeElement,-1));},children:t.default?.()}):null]})}}}),In=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=k(),o=U(vue.computed(()=>e.slot??"table.insert")),n=Te(),r=se(),a=vue.ref(null),l=vue.ref({rows:1,cols:1}),i=vue.ref(null),s=(p,d)=>{if(!t.value||!o.isEnabled.value)return;let c={type:"insertTable",rows:p,cols:d};t.value.can(c).ok&&(t.value.exec(c),n.value.setOpenMenu(null),t.value.focus());},u=p=>{let d=l.value,c={rows:Math.min(zc,Math.max(1,d.rows+(p.rows??0))),cols:Math.min(Ii,Math.max(1,p.toCol??d.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 d=1;d<=zc;d+=1){let c=[];for(let v=1;v<=Ii;v+=1){let y=!!a.value&&d<=a.value.rows&&v<=a.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${d}x${v}`,class:"docx-menubar__grid-cell",tabindex:l.value.rows===d&&l.value.cols===v?0:-1,...y?{"data-filled":""}:{},"aria-label":`${v} \xD7 ${d}`,onMousedown:I,onMouseenter:()=>{a.value={rows:d,cols:v};},onFocus:()=>{a.value={rows:d,cols:v};},onClick:()=>s(d,v)},v));}p.push(jsxRuntime.jsx("div",{role:"row",class:"docx-menubar__grid-row",children:c},d));}return jsxRuntime.jsxs("div",{ref:i,role:"grid",class:`docx-menubar__grid${e.className?` ${e.className}`:""}`,"aria-label":r("toolbar.insertTable"),onKeydown:d=>{if(d.key==="ArrowRight")u({cols:1});else if(d.key==="ArrowLeft")u({cols:-1});else if(d.key==="ArrowDown")u({rows:1});else if(d.key==="ArrowUp")u({rows:-1});else if(d.key==="Home")u({toCol:1});else if(d.key==="End")u({toCol:Ii});else if(d.key==="Enter"||d.key===" ")d.preventDefault(),s(l.value.rows,l.value.cols);else return;d.preventDefault(),d.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}`:""})]})}}}),$c=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=U(e.entry.slot),o=z(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(He,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(In,{slot:e.entry.slot})}):jsxRuntime.jsx(Ze,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function Se(e){return {rowSlot:e}}var ue=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=oe("menu-reason"),n=ao();return ()=>{let{icon:r,shortcut:a,disabled:l,title:i,active:s,selected:u,className:p}=e,d=e.selectHandler??e.onSelect,c=e.rowSlot??e.slot??e["data-slot"]??void 0,v=l&&i?o:void 0;return jsxRuntime.jsxs("button",{type:"button",role:s===void 0?"menuitem":u===void 0?"menuitemcheckbox":"menuitemradio",class:`docx-toolbar__menu-item docx-menubar__item${p?` ${p}`:""}`,tabindex:-1,...c?{"data-slot":c}:{},...s?{"data-active":""}:{},...l?{"data-disabled":"","aria-disabled":true}:{},...s!==void 0?{"aria-checked":s}:{},...v?{"aria-describedby":v}:{},...i?{title:i}:{},onMousedown:I,onClick:l?void 0:d,children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:r}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:t.default?.()}),a?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:n(a)}):null,v?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:i}):null]})}}}),Nn=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=se();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?.()]})}}}),Ze=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=Te(),r=se();return ()=>{if(e.hidden)return null;let{setOpenMenu:a}=n.value,l=t.value,i=z(l),s=r(e.labelKey??i?.labelKey??l),u=editor.chromeSlotIsToggle(l),p=["setAlignment","setReviewDisplayMode"].includes(editor.commandForSlot(l)?.type??"");return jsxRuntime.jsx(ue,{...Se(l),icon:$(i?.paths)??void 0,...e.shortcutKey?{shortcut:r(e.shortcutKey)}:{},disabled:!o.isEnabled.value,...o.disabledReason.value?{title:o.disabledReason.value}:{},...u?{active:o.isActive.value}:{},...p?{selected:true}:{},...o.value.value!==null?{"data-value":o.value.value}:{},selectHandler:()=>{o.execute(),a(null);},...e.className?{className:e.className}:{},children:s})}}});Ze.docxMenuRow=true;function Uc(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=Te(),i=se();return ()=>{let s=l.value,u=n(s);if(a.hidden)return null;let p=z(e),d=i(t??p?.labelKey??e);return jsxRuntime.jsx(ue,{...Se(e),icon:$(p?.paths)??void 0,...o?{shortcut:i(o)}:{},disabled:!u,selectHandler:()=>{u?.(),s.setOpenMenu(null);},...a.className?{className:a.className}:{},children:d})}}});return Object.assign(r,{docxSlot:e})}var sa=Uc("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),da=Uc("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),Ph=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Te(),n=se();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,s=l&&!l.ok?l.reason:null,u=z("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),d=i&&!!r.onPageSetup;return jsxRuntime.jsx(ue,{...Se("file.pageSetup"),icon:$(u?.paths)??void 0,disabled:!d,...s?{title:s}:{},selectHandler:()=>{r.onPageSetup?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),wh=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Te(),n=se();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,s=l&&!l.ok?l.reason:null,u=z("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),d=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ue,{...Se("paragraph.dialog"),icon:$(u?.paths)??void 0,disabled:!d,...s?{title:s}:{},selectHandler:()=>{r.onParagraphDialog?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Rh=Object.assign(wh,{docxSlot:"paragraph.dialog"}),ua=Object.assign(Ph,{docxSlot:"file.pageSetup"}),Mh=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let t=jo(),o=Te(),n=se();return ()=>{if(e.hidden)return null;let r=o.value,a=z("image.insert"),l=n(a?.labelKey??"toolbar.image"),i=t?.isEnabled??false,s=t?.disabledReason??null;return jsxRuntime.jsx(ue,{...Se("image.insert"),icon:$(a?.paths)??void 0,disabled:!i,...s?{title:s}:{},selectHandler:()=>{t?.openFilePicker(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:l})}}}),Li=Object.assign(Mh,{docxSlot:"image.insert"}),$t=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}`:""}`})}}),Ln=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e){return ()=>{let t=e.entry;return t.kind==="separator"?jsxRuntime.jsx($t,{}):t.kind==="submenu"?jsxRuntime.jsx(He,{labelKey:t.labelKey,paths:t.paths,children:t.items.map((o,n)=>jsxRuntime.jsx(Ln,{entry:o},n))}):t.slot==="file.open"?jsxRuntime.jsx(sa,{}):t.slot==="file.save"?jsxRuntime.jsx(da,{}):t.slot==="file.pageSetup"?jsxRuntime.jsx(ua,{}):t.slot==="paragraph.dialog"?jsxRuntime.jsx(Rh,{}):t.slot==="image.insert"?jsxRuntime.jsx(Li,{}):t.picker==="tableGrid"?jsxRuntime.jsx($c,{entry:t}):jsxRuntime.jsx(Ze,{slot:t.slot,...t.labelKey?{labelKey:t.labelKey}:{},...t.shortcutKey?{shortcutKey:t.shortcutKey}:{}})}}});function Wc(e){if(!vue.isVNode(e))return null;let t=wr(e,Wc);if(t!==null)return t;let o=Rr(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 kh(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function _h(e,t,o){return Mr({entries:e??[],children:t,preset:o,keyOfEntry:kh,keyOfChild:Wc,renderEntry:n=>jsxRuntime.jsx(Ln,{entry:n})})}var St=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=Te(),n=se(),r=oe("menu-panel"),a=vue.ref(null),l=vue.ref(null),i=vue.ref(false),s=vue.ref(false),u=()=>{o.value.setOpenMenu(null),a.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:d,activeMenu:c}=o.value,v=editor.CHROME_MENUS.find(b=>b.id===e.id),y=p===e.id,g=e.label??n(e.labelKey??v?.labelKey??e.id),h=_h(v?.entries,fe(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":y,"aria-controls":y?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...y?{"data-open":""}:{},onMousedown:I,onKeydown:b=>{b.key==="ArrowDown"||b.key==="Enter"||b.key===" "||b.key==="ArrowUp"?(b.preventDefault(),i.value=true,d(e.id)):b.key==="Escape"&&y&&(b.preventDefault(),u());},onClick:()=>{if(s.value){s.value=false;return}d(y?null:e.id);},onMouseenter:()=>{p!==null&&p!==e.id&&(s.value=true,d(e.id));},onMouseleave:()=>{s.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:b=>{l.value=b,b&&i.value&&(i.value=false,Ae(yt(b),"first"));},id:r,role:"menu","aria-label":g,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:b=>{let m=l.value;if(!m)return;let C=yt(m),T=document.activeElement;b.key==="ArrowDown"?(b.preventDefault(),Fe(C,T,1)):b.key==="ArrowUp"?(b.preventDefault(),Fe(C,T,-1)):b.key==="Home"?(b.preventDefault(),Ae(C,"first")):b.key==="End"?(b.preventDefault(),Ae(C,"last")):b.key==="Escape"?(b.preventDefault(),b.stopPropagation(),u()):b.key==="Tab"&&d(null);},children:h}):null]})}}});function Fi(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(St,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var ca=Fi("file"),pa=Fi("format"),ma=Fi("insert"),Ih=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=Te(),o=se();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:a}=t.value;if(e.hidden||a===false)return null;let l=e.onSelect??r??Vc;return jsxRuntime.jsx(ue,{...Se("help.reportIssue"),selectHandler:()=>{l(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),fa=Object.assign(Ih,{docxSlot:"help.reportIssue"}),Dh=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Te();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(St,{id:"help",...t,children:[jsxRuntime.jsx(fa,{}),o.default?.()]})}}}),ga=Object.assign(Dh,{docxMenu:"help"});var Fh=e=>e.hiddenReviewAuthors??[],ya=vue.defineComponent({name:"MenuReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=k(),o=Pn(),n=_(Fh),r=se(),{t:a}=D();return ()=>{if(e.hidden)return null;let l=r("reviewers.label"),i=editor.toolbarCommandState(t.value,"review.authors"),s=i18n.localizeDisabledReason(i.disabledReason,a);if(!i.enabled)return jsxRuntime.jsx(ue,{disabled:true,title:s??void 0,...Se("review.authors"),children:l});let u=new Set(n.value),p=o.value,d=p.every(c=>!u.has(c.author));return jsxRuntime.jsxs(He,{labelKey:"reviewers.label",className:e.className,children:[jsxRuntime.jsx(Gc,{checked:d,label:r("reviewers.all"),rowSlot:"reviewer-all",onChoose:()=>t.value?.setAllReviewAuthorsVisible(!d)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),p.map(c=>jsxRuntime.jsx(Gc,{checked:!u.has(c.author),label:c.author||"\u2014",rowSlot:`reviewer-${c.slot}`,onChoose:()=>t.value?.setReviewAuthorVisible(c.author,u.has(c.author))},c.author))]})}}}),Gc=vue.defineComponent({name:"MenuReviewerRow",props:{checked:{type:Boolean,required:true},label:{type:String,required:true},rowSlot:{type:String,required:true},onChoose:{type:Function,required:true}},setup(e){return ()=>jsxRuntime.jsx(ue,{active:e.checked,...Se(e.rowSlot),className:"docx-menubar__reviewer-item",icon:jsxRuntime.jsx("span",{class:"docx-menubar__reviewer-check",children:e.checked?"\u2713":""}),selectHandler:e.onChoose,children:e.label})}}),Ah=vue.defineComponent({name:"MenuReview",inheritAttrs:false,setup(e,{attrs:t,slots:o}){return ()=>vue.h(St,{id:"review",...t},{default:()=>[vue.h(He,{labelKey:"reviewers.markupOptions",className:"docx-menubar__markup-options"},{default:()=>vue.h(ya,{className:"docx-menubar__reviewers-submenu"})}),...o.default?.()??[]]})}}),va=Object.assign(Ah,{docxMenu:"review"});var Kh={file:ca,format:pa,insert:ma,review:va,help:ga},Vh=new Set(editor.CHROME_MENUS.map(e=>e.id));function zh(e){return e!=null&&typeof e=="object"&&"type"in e}function Jc(e){if(!zh(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(Jc).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===St){let o=e.props?.id;if(typeof o=="string"&&Vh.has(o))return o}return null}var $h=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=ke(),n=k(),{t:r}=D(),a=vue.ref(null),l=vue.ref(null),i=vue.ref(null),s=vue.ref(false),u=vue.ref(false),p=vue.ref(null),d=vue.ref(null),c=P=>{a.value=P,P!==null&&(i.value=P);};vue.watch(a,(P,S,w)=>{if(P===null)return;let M=L=>{let R=p.value;R&&L.target instanceof Node&&R.contains(L.target)||(a.value=null);},E=L=>{L.key==="Escape"&&(a.value=null);};document.addEventListener("mousedown",M),document.addEventListener("keydown",E),w(()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",E);});});let v=()=>d.value?.click(),y=()=>{let P=n.value;P&&P.save().then(S=>Kc(S,Bc(e.fileName??l.value??void 0))).catch(S=>{console.error("[docx-editor] save failed",S);});},g=()=>{s.value=true;},h=()=>{u.value=true;},b=vue.computed(()=>n.value?e.openHandler??e.onOpen??v:void 0),m=vue.computed(()=>n.value?e.saveHandler??e.onSave??y:void 0),C=vue.computed(()=>n.value?e.onPageSetup??g:void 0);vue.watch(()=>[b.value,m.value],([P,S],w,M)=>{let E=L=>{if(!(L.metaKey||L.ctrlKey)||L.altKey||L.shiftKey)return;let R=L.key.toLowerCase();if(R!=="s"&&R!=="o")return;let F=L.target,te=co(p.value)??p.value,re=p.value;!F||!((te?.contains(F)??false)||(re?.contains(F)??false))||(R==="s"&&S?(L.preventDefault(),S()):R==="o"&&P&&(L.preventDefault(),P()));};document.addEventListener("keydown",E),M(()=>document.removeEventListener("keydown",E));},{flush:"post"});let T=vue.computed(()=>({t:e.t,openMenu:a.value,setOpenMenu:c,activeMenu:i.value,onOpen:b.value,onSave:m.value,onPageSetup:C.value,onParagraphDialog:n.value?h:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(kn,T);let f=P=>{if(p.value=P,P&&i.value===null){let S=yi(P)[0]?.closest("[data-menu]")?.getAttribute("data-menu");S&&(i.value=S);}},x=P=>{let S=P.target,w=S.files?.[0];S.value="";let M=n.value;!w||!M||(l.value=w.name,e.onOpenFile?.(w),w.arrayBuffer().then(E=>M.load(new Uint8Array(E))).catch(E=>{console.error("[docx-editor] could not open the file",E);}));};return ()=>{let P;if(e.preset===false)P=t.default?fe(t.default()):void 0;else {let S=new Map,w=[];for(let M of fe(t.default?.()??[])){let E=Jc(M);E?S.set(E,M):w.push(M);}P=[...editor.CHROME_MENUS.flatMap(M=>{let E=S.get(M.id);if(E)return [vue.h(vue.Fragment,{key:M.id},[E])];let L=Kh[M.id];return [vue.h(L,{key:M.id})]}),...w];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:f,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:S=>{if(S.key!=="ArrowLeft"&&S.key!=="ArrowRight")return;let w=p.value;if(!w)return;let M=yi(w),E=M.indexOf(document.activeElement);if(E===-1)return;S.preventDefault();let L=S.key==="ArrowRight"?1:-1,R=M[(E+L+M.length)%M.length],F=R?.closest("[data-menu]")?.getAttribute("data-menu");F&&(i.value=F,R?.focus(),a.value!==null&&(a.value=F));},children:P}),jsxRuntime.jsx("input",{ref:d,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:x}),jsxRuntime.jsx(Mn,{open:s.value,onClose:()=>{s.value=false;}}),jsxRuntime.jsx(Ht,{open:u.value,onClose:()=>{u.value=false;}})]})}}}),Ut=Object.assign($h,{Menu:St,File:ca,Format:pa,Insert:ma,Review:va,Help:ga,Item:Ze,Row:ue,Group:Nn,Separator:$t,Submenu:He,TableGrid:In,Entry:Ln,Open:sa,Save:da,PageSetup:ua,ImageInsert:Li,Reviewers:ya,ReportIssue:fa});var Xh=12240,tp=1440,rp=1440,ap=567,Wt=20,Bi=6,Yh=Wt+Bi+2,Jh="var(--doc-text-muted)",Qh="var(--doc-text-subtle)",op="var(--doc-shadow-subtle)",ex="var(--doc-primary)",tx="var(--doc-primary-hover)",ox="var(--doc-text-subtle)",Hn=5,An=7,nx={left:0,right:0,firstLine:0};function np(e,t){return t==="inch"?(e/rp).toFixed(2)+'"':(e/ap).toFixed(1)+" cm"}function rx(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??Xh,v=e.pageSetup?.marginsTwips.left??tp,y=e.pageSetup?.marginsTwips.right??tp,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??nx,pageWidthPx:ie(c)*g,leftMarginPx:ie(v)*g,rightMarginPx:ie(y)*g}}),s=c=>{let v=l.value?.getBoundingClientRect();return v?xr((c-v.left)/(e.zoom??1)):null},u=(c,v,y)=>{let g=s(v);if(g===null)return;let{pageWidthTwips:h,leftMarginTwips:b,rightMarginTwips:m,gutterTwips:C,page:T,current:f}=i.value;a.value=ie(g)*(e.zoom??1);let x=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let S=h-m-C-720,w=Math.round(Math.max(0,Math.min(g,S)));r.value=w,e.onLeftMarginChange?.(w);}else {let S=h-g,w=h-b-C-720,M=Math.round(Math.max(0,Math.min(S,w)));r.value=M,e.onRightMarginChange?.(M);}return}let P=editor.dragIndent(c,g,f,T,{unit:x,precise:y});r.value=c==="right"?P.right:c==="firstLine"?P.firstLine:P.left,e.onIndentChange?.(P);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,a.value=null;},d=(c,v,y)=>{let g=e.unit??"inch",{current:h,page:b}=i.value,m=editor.handlePosition(c,h,b),C=editor.dragIndent(c,m+v*rx(g,y),h,b,{unit:g,precise:true});e.onIndentChange?.(C),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,v=e.unit??"inch",{pageWidthTwips:y,page:g,current:h,pageWidthPx:b,leftMarginPx:m,rightMarginPx:C}=i.value,T=ux(y,c,v),f=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,x=S=>ie(editor.handlePosition(S,h,g))*c,P=(S,w,M)=>({positionPx:x(S),editable:f,isDragging:o.value===S,isHovered:n.value===S,onPointerEnter:()=>{n.value=S;},onPointerLeave:()=>{n.value=null;},onPointerDown:E=>{f&&(E.preventDefault(),E.stopPropagation(),E.currentTarget.setPointerCapture(E.pointerId),o.value=S);},onPointerMove:E=>{o.value===S&&u(S,E.clientX,E.altKey);},onPointerUp:E=>{o.value===S&&(E.currentTarget.releasePointerCapture(E.pointerId),p(S));},onKeyDown:E=>{f&&(E.key!=="ArrowLeft"&&E.key!=="ArrowRight"||(E.preventDefault(),d(S,E.key==="ArrowLeft"?-1:1,E.shiftKey)));},label:t(w),valueNow:M,valueText:np(M,v),pageWidthTwips:y});return jsxRuntime.jsxs("div",{ref:l,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:K(b),height:K(Yh),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:K(m),height:K(Wt),backgroundColor:op,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?S=>{S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId),o.value="leftMargin";}:void 0,onPointermove:S=>o.value==="leftMargin"&&u("leftMargin",S.clientX,S.altKey),onPointerup:S=>{o.value==="leftMargin"&&(S.currentTarget.releasePointerCapture(S.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:K(C),height:K(Wt),backgroundColor:op,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?S=>{S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId),o.value="rightMargin";}:void 0,onPointermove:S=>o.value==="rightMargin"&&u("rightMargin",S.clientX,S.altKey),onPointerup:S=>{o.value==="rightMargin"&&(S.currentTarget.releasePointerCapture(S.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:K(Wt),pointerEvents:"none"},children:T.map((S,w)=>jsxRuntime.jsx(ax,{tick:S},w))}),e.tabMarks?.map(S=>jsxRuntime.jsx(dx,{tabMark:S,positionPx:ie(S.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(S.position)},S.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Oi,{direction:"down",anchor:"top",...P("firstLine","ruler.firstLineIndent",h.firstLine)}),jsxRuntime.jsx(Oi,{direction:"up",anchor:"strip",...P("hanging","ruler.hangingIndent",h.left)}),jsxRuntime.jsx(lx,{...P("left","ruler.leftIndent",h.left)}),jsxRuntime.jsx(Oi,{direction:"up",anchor:"strip",...P("right","ruler.rightIndent",h.right)})]}),o.value&&r.value!==null&&a.value!==null&&jsxRuntime.jsx(ix,{value:np(r.value,v),positionPx:a.value})]})}}});function ax({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:K(e.position),bottom:0,width:"1px",height:K(e.height),backgroundColor:Qh}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:K(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:Jh,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function lp(e){return e.editable?e.isDragging||e.isHovered?tx:ex:ox}function ip(e,t,o){return {position:"absolute",left:K(e.positionPx-t/2),width:K(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function sp(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 Oi({direction:e,anchor:t,...o}){let n=lp(o),r=t==="top"?{top:0,height:K(An+1)}:{top:K(Wt-An),height:K(An)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:ip(o,Hn*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...sp(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${Hn}px solid transparent`,borderRight:`${Hn}px solid transparent`,...e==="down"?{top:0,borderTop:`${An}px solid ${n}`}:{bottom:0,borderBottom:`${An}px solid ${n}`},transition:"border-color 0.1s"}})})}function lx(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:ip(e,Hn*2,{top:K(Wt+1),height:K(Bi)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...sp(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:K(Hn*2-2),height:K(Bi),backgroundColor:lp(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function ix({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:K(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 sx={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function dx({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:K(t-5),top:K(Wt-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:sx[e.alignment]||"L"})}function ux(e,t,o){let n=[];if(o==="inch"){let r=rp/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;l%8===0?n.push({position:s,height:8,label:l/8>0?String(l/8):void 0}):l%4===0?n.push({position:s,height:5}):l%2===0?n.push({position:s,height:3}):n.push({position:s,height:2});}}else {let r=ap/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;l%10===0?n.push({position:s,height:8,label:l/10>0?String(l/10):void 0}):l%5===0?n.push({position:s,height:5}):n.push({position:s,height:3});}}return n}var up=15840,xa=1440,mx=1440,fx=567,$i=20,gx="var(--doc-text-muted)",yx="var(--doc-text-subtle)",vx="var(--doc-primary)",bx="var(--doc-primary)",hx="var(--doc-primary-hover)",qi=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=(s,u)=>{e.editable&&(s.preventDefault(),o.value=u);},l=s=>{let u=o.value,p=r.value;if(!u||!p)return;let d=e.pageSetup?.pageHeightTwips??up,c=e.pageSetup?.marginsTwips.top??xa,v=e.pageSetup?.marginsTwips.bottom??xa,y=p.getBoundingClientRect(),g=s.clientY-y.top,h=xr(g/(e.zoom??1));if(u==="topMargin"){let b=d-v-720,m=Math.max(0,Math.min(h,b));e.onTopMarginChange?.(Math.round(m));}else if(u==="bottomMargin"){let b=d-h,m=d-c-720,C=Math.max(0,Math.min(b,m));e.onBottomMarginChange?.(Math.round(C));}},i=()=>{o.value!==null&&e.onMarginDragEnd?.(),o.value=null;};return vue.watch(o,(s,u,p)=>{s&&(document.addEventListener("mousemove",l),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",i);}));}),()=>{let s=e.pageSetup?.pageHeightTwips??up,u=e.pageSetup?.marginsTwips.top??xa,p=e.pageSetup?.marginsTwips.bottom??xa,d=e.zoom??1,c=ie(s)*d,v=ie(u)*d,y=ie(p)*d,g=Sx(s,d,e.unit??"inch"),h={position:"relative",width:K($i),height:K(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((b,m)=>jsxRuntime.jsx(xx,{tick:b},m))}),jsxRuntime.jsx(cp,{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:b=>a(b,"topMargin")}),jsxRuntime.jsx(cp,{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:b=>a(b,"bottomMargin")})]})}}});function xx(e){let t={position:"absolute",top:K(e.tick.position),right:0,height:"1px",width:K(e.tick.width),backgroundColor:yx},o={position:"absolute",top:K(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:gx,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 cp(e){let{t}=D(),o=e.isDragging?hx:e.isHovered?bx:vx,n={position:"absolute",top:K(e.position-5),right:0,width:K($i),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 Sx(e,t,o){let n=[];if(o==="inch"){let r=mx/8,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;if(l%8===0){let u=l/8;n.push({position:s,width:10,label:u>0?String(u):void 0});}else l%4===0?n.push({position:s,width:6}):l%2===0?n.push({position:s,width:4}):n.push({position:s,width:2});}}else {let r=fx/10,a=Math.ceil(e/r);for(let l=0;l<=a;l++){let i=l*r;if(i>e)break;let s=ie(i)*t;if(l%10===0){let u=l/10;n.push({position:s,width:10,label:u>0?String(u):void 0});}else l%5===0?n.push({position:s,width:6}):n.push({position:s,width:3});}}return n}var Gt=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var Tx=e=>e.formatting?.indent??null,Ex=e=>e.editable;function Ui(){let e=k(),t=_(Tx),o=_(Ex),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 yp=e=>e.zoom,Rx=e=>e.isOpening===true;function vp(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function bp(){let{apply:e}=Vt(),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 Mx(){let e=k(),{indent:t,isEnabled:o,apply:n}=Ui(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(null),i=p=>{l.value===null&&(l.value=fp(e.value)),a.value=p,r.value=p;},s=()=>{let p=a.value,d=l.value;a.value=null,l.value=null,r.value=null,p&&(d!==null&&d!==fp(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:s}}function fp(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var Sa=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=_(Gt),o=_(Rx),{pageSetup:n,isEnabled:r}=Vt(),a=_(yp),l=bp(),i=Mx(),s=Nt(),u=io(),p=vue.ref(0),d=et();return vue.watch(d,(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:K(s.value+u.value.inlineStart),paddingRight:K(u.value.inlineEnd)},children:jsxRuntime.jsx(Vi,{pageSetup:vp(n.value,l.pending.value),zoom:a.value,editable:r.value,onLeftMarginChange:l.preview("left"),onRightMarginChange:l.preview("right"),onMarginDragEnd:l.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:s.value>0&&p.value>0?`inset(0 0 0 ${p.value}px)`:e.style?.clipPath}})})}}),Ca=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=_(Gt),{pageSetup:o,isEnabled:n}=Vt(),r=_(yp),a=bp(),l=Nt(),i=io(),s=vd();return ()=>t.value||s.value!==null&&s.value>0&&o.value&&ie(o.value.pageWidthTwips)*r.value>s.value-l.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(qi,{pageSetup:vp(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 Ix=20,hp=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:Ix},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 So(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(hp,t,()=>vue.h("path",{d:e}))}})}var Dx=So("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"),Nx=So("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"),Lx=So("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"),Fx=So("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),Ax=So("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),Hx=So("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),Ox={arrow_back:Dx,search:Nx,close:Lx,keyboard_arrow_up:Fx,keyboard_arrow_down:Ax,toc:Hx},at=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=Ox[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 ji=12,Gi=240,Sp=16,zx=24,$x=ji+Gi+Sp,Cp=12,qx=36,Ux=Cp+qx+Sp,Zi=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:ji}},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:`${Gi}px`,paddingTop:`${zx}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+Gi}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(at,{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 Zx=e=>e,Xx=Object.freeze([]),Yx=()=>{},Xi=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=k(),o=_(Zx),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():Xx),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 ()=>Gt(o.value)?null:vue.h(Zi,{headings:n.value,onHeadingClick:r,onClose:e.onClose??Yx,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var Yi=Symbol("NavigationContext");function Tt(e){let t=vue.inject(Yi,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var Ea=280,Pa=32,Tp=16;function jt(e=280){return 32+e+16}function wa({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 tS=Object.freeze([]),oS=e=>e;function Ma(){let e=k(),t=_(oS),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():tS),r=vue.computed(()=>{let l=n.value;if(l.length===0)return [];let i=l[0].level;for(let s of l)s.level<i&&(i=s.level);return l.map(s=>({heading:s,depth:s.level-i}))}),a=l=>{let i=e.value;if(!i||typeof l!="string"||l.length===0)return;e.value.focus();let s={paragraphId:l,offset:0};e.value.exec({type:"setSelection",range:{anchor:s,head:s}}),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 es=150,ts=2e3,Qi=Object.freeze([]),nS=e=>e;function ka(){let e=k(),t=_(nS),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),a=vue.ref(false),l=vue.ref(Qi),i=vue.ref(-1);j(vue.watch([o,n],([d,c],v,y)=>{if(d===c)return;let g=setTimeout(()=>{n.value=d;},es);y(()=>clearTimeout(g));}));let s=vue.computed(()=>({matchCase:r.value,wholeWord:a.value}));j(vue.watch([e,n,s,t],()=>{let d=e.value,c=n.value;if(!d||c.length===0){l.value=Qi,i.value=-1;return}let v=d.findMatches(c,s.value);l.value!==v&&(l.value=v);},{flush:"post"})),j(vue.watch(l,(d,c)=>{c!==d&&(i.value=i.value>=0&&i.value<d.length?i.value:-1);}));let u=d=>{let c=l.value[d];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=d);},p=d=>{if(l.value.length===0)return;let v=((i.value<0?d>0?-1:0:i.value)+d+l.value.length)%l.value.length;u(v);};return {query:vue.computed(()=>o.value),setQuery:d=>{o.value=d;},matchCase:vue.computed(()=>r.value),setMatchCase:d=>{r.value=d;},wholeWord:vue.computed(()=>a.value),setWholeWord:d=>{a.value=d;},matches:vue.computed(()=>l.value),truncated:vue.computed(()=>l.value.length>=ts),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",l.value=Qi,i.value=-1;},isPending:vue.computed(()=>o.value!==n.value)}}var dS=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)}},uS=(e,t)=>e.zoom===t.zoom&&e.reviewPaneOpen===t.reviewPaneOpen&&e.fitting===t.fitting&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function _a(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,f=>{f!==void 0&&(o.value=f);},{immediate:true}),vue.watch(()=>t.value.defaultTab,f=>{f!==void 0&&(n.value=f);},{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),s=vue.computed(()=>t.value.paneWidth??280),u=f=>{l.value||(o.value=f),t.value.onOpenChange?.(f);},p=()=>u(!r.value),d=f=>{i.value||(n.value=f),t.value.onTabChange?.(f);},c=Dt(),v=et(),y=vue.inject(no,vue.shallowRef({mounted:0,register:()=>()=>{}})),g=_(dS,uS),h=vue.ref(0),b=vue.ref(0),m=vue.ref(0);j(vue.watch([v,r,()=>g.value.reviewPaneOpen,()=>y.value.mounted],(f,x,P)=>{let S=v.value;if(!S){h.value=0,b.value=0,m.value=0;return}let w=()=>{h.value=S.clientWidth;let E=getComputedStyle(S),L=Number.parseFloat(E.paddingInlineEnd);b.value=Number.isFinite(L)?L:0;let R=Number.parseFloat(E.getPropertyValue("--docx-review-gutter-start"));m.value=Number.isFinite(R)?R:0;};if(w(),typeof ResizeObserver>"u")return;let M=new ResizeObserver(w);M.observe(S),P(()=>M.disconnect());},{flush:"post"}));let C=vue.ref(null);vue.watch(()=>g.value.pageSetup,f=>{f&&(C.value=f.pageWidthTwips);},{immediate:true});let T=vue.computed(()=>{if(!r.value)return 0;let f=g.value.pageSetup?.pageWidthTwips??C.value;return f===null?0:wa({viewportWidth:h.value,pageWidthPx:ie(f)*g.value.zoom,reservation:jt(s.value),inlineEndReservation:b.value,inlineStartReservation:m.value,docked:g.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,s],()=>{c?.setReservation(r.value?jt(s.value):0);},{immediate:true,flush:"post"})),j(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:a,setTab:d,paneWidth:s,shift:T}}var On=["headings","find"],Ye=(...e)=>e.filter(Boolean).join(" "),Bn=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:Ye("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Kn,{}),jsxRuntime.jsx(Vn,{})]})})}}),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}=Tt("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ye("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(at,{name:"arrow_back",size:20})})}}),Vn=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=Tt("Title");return ()=>jsxRuntime.jsx("h2",{class:Ye("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),zn=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}=Tt("Tabs"),r=a=>{let l=a.key==="ArrowRight"?1:a.key==="ArrowLeft"?-1:0;if(l===0)return;a.preventDefault();let i=On.indexOf(o.tab.value);o.setTab(On[(i+l+On.length)%On.length]);};return ()=>jsxRuntime.jsx("div",{class:Ye("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??On.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}=Tt("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:Ye("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}`)})}}}),Pp=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){let t=vue.ref(null),o=()=>{e.autoFocus&&t.value?.focus();};return vue.onMounted(o),vue.watch(()=>e.autoFocus,o,{flush:"post"}),()=>jsxRuntime.jsxs("div",{class:"docx-nav__searchbox",children:[jsxRuntime.jsx(at,{name:"search",size:18,className:"docx-nav__search-icon"}),jsxRuntime.jsx("input",{ref:t,type:"search",class:"docx-nav__search-input",value:e.value,placeholder:e.placeholder,"aria-label":e.label,autofocus:e.autoFocus,onInput:n=>e.onChange(n.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(at,{name:"close",size:16})})]})}}),qn=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}=Tt("Headings"),r=vue.ref(""),a=_(Gt),l=vue.computed(()=>{let i=r.value.trim().toLowerCase();return i.length===0?o.items.value:o.items.value.filter(s=>s.heading.text.toLowerCase().includes(i))});return ()=>{let i=t.tab.value!=="headings";return jsxRuntime.jsxs("div",{class:Ye("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(Pp,{value:r.value,onChange:s=>{r.value=s;},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((s,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:Ye("docx-nav__heading",o.selectedBlockId.value===s.heading.blockId&&"docx-nav__heading--current"),style:{paddingInlineStart:`${8+s.depth*14}px`},title:s.heading.text,onClick:()=>o.goTo(s.heading.blockId),children:s.heading.text})},`${s.heading.blockId}-${u}`))})]})}}}),fS=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:Ye("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]})})})}}),Un=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}=Tt("Find");return ()=>{let r=t.tab.value!=="find",a=t.open.value&&!r,l=o.query.value.trim().length>0,i=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:Ye("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(Pp,{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"),autoFocus:a}),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:s=>o.setMatchCase(s.target.checked)}),n("navigation.find.matchCase")]}),jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.wholeWord.value,onChange:s=>o.setWholeWord(s.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"):i??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(at,{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(at,{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((s,u)=>jsxRuntime.jsx(fS,{match:s,active:u===o.activeIndex.value,onSelect:()=>o.goTo(u)},`${s.blockId}-${s.start}-${u}`))})]})}}}),Wn=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}=Tt("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:Ye("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(at,{name:"toc",size:20})})}});var bS=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=ke(),r=_a(()=>({...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=Ma(),l=ka(),{t:i}=D(),s=vue.computed(()=>({pane:r,outline:a,search:l,t:e.t??((p,d)=>i(p,d))}));vue.provide(Yi,s);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":`${jt(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Wn,{...typeof e.toggle=="object"?e.toggle:{}}),jsxRuntime.jsx("aside",{class:"docx-nav__panel-shell","aria-label":s.value.t("navigation.ariaLabel"),inert:!r.open.value,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Bn,{}),jsxRuntime.jsx(zn,{}),jsxRuntime.jsx(qn,{}),jsxRuntime.jsx(Un,{})]})})]})}}),Gn=Object.assign(bS,{Header:Bn,Close:Kn,Title:Vn,Tabs:zn,Tab:$n,Headings:qn,Find:Un,Toggle:Wn});var ES=600,PS=e=>e.page.total,Ia=Symbol("PageNumberTranslationContext"),Da=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=ke(),o=k(),n=et(),r=_(PS),{t:a}=D(),l=vue.inject(Ia,null),i=vue.ref(1),s=vue.ref(false);return vue.watch([o,r,n],([u,p,d],c,v)=>{if(s.value=false,!u||!d||p<=1)return;i.value=u.getCurrentPage("viewport");let y=null,g=()=>{i.value=u.getCurrentPage("viewport"),s.value=true,y&&clearTimeout(y),y=setTimeout(()=>{s.value=false;},ES);};d.addEventListener("scroll",g,{passive:true}),v(()=>{d.removeEventListener("scroll",g),y&&clearTimeout(y);});},{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":s.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var MS=[],kS=e=>e.fontSubstitutions??MS,Na=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=_(kS),{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 Xt={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function ns(e){return Math.round(e/1440*100)/100}function kp(e){return Math.round(e*1440)}function _S(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 rs(){let e=k();return _(o=>e.value?.getHeaderFooterState()??null,_S)}function wo(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 jn(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 s=a?.closest(".docx-editor__scroll-container"),u=s??a?.parentElement?.querySelector(".docx-editor__scroll-container");if(!a||!u)return;let p=0,d=null,c=new ResizeObserver(()=>y()),v=()=>{p=0;let h=e(u);if(h!==d&&(c.disconnect(),c.observe(u),c.observe(a),h&&c.observe(h),d=h),!h||!h.isConnected){n.value={visibility:"hidden"};return}let b=h.getBoundingClientRect(),m=t==="story-label"?Math.max(a.offsetHeight,28):a.offsetHeight,C=t==="story-label"?6:4,T=s===u,f=t==="after"?b.bottom+6:b.top-m-C,x=T?wo(u,b.left,f):{left:b.left,top:f},P=x.left,S=x.top,w=T?u.scrollLeft+8:8;n.value={position:T?"absolute":"fixed",left:K(t==="story-label"?P:Math.max(w,P+8)),top:K(t==="story-label"?S:Math.max(T?u.scrollTop+8:8,S)),...t==="story-label"?{width:K(Math.max(240,Math.min(b.width,u.clientWidth-16)))}:{maxWidth:K(Math.max(240,Math.min(b.width-16,u.clientWidth-16)))},visibility:"visible"};},y=()=>{p||(p=requestAnimationFrame(v));};c.observe(u),c.observe(a);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 DS(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 NS=[{field:"PAGE",labelKey:"headerFooter.insertPageNumber"},{field:"NUMPAGES",labelKey:"headerFooter.insertTotalPages"},{field:"SECTIONPAGES",labelKey:"headerFooter.insertSectionPages"},{field:"PAGE_X_OF_Y",labelKey:"headerFooter.insertPageXofY"}];function Xn(e){let t=k();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 LS=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=D(),o=k(),n=vue.ref(false),r=vue.ref(null),a=vue.ref(""),l=vue.ref("");vue.watch(n,(m,C,T)=>{if(!m)return;let f=x=>{r.value?.contains(x.target)||(n.value=false);};document.addEventListener("mousedown",f),T(()=>document.removeEventListener("mousedown",f));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([m,C,T])=>{m&&(C===void 0||T===void 0||(a.value=String(ns(C)),l.value=String(ns(T))));});let i=vue.computed(()=>({type:"setHeaderFooterOptions",titlePage:!e.state.titlePage})),s=vue.computed(()=>({type:"setHeaderFooterOptions",evenAndOddHeaders:!e.state.evenAndOddHeaders})),u=vue.computed(()=>({type:"linkHeaderFooterToPrevious"})),p=vue.computed(()=>({type:"unlinkHeaderFooterFromPrevious"})),d=vue.computed(()=>({type:"removeHeaderFooter",position:e.state.editing})),c=Xn(i.value),v=Xn(s.value),y=Xn(u.value),g=Xn(p.value),h=Xn(d.value),b=(m,C)=>{if(!o.value)return;let T=Number.parseFloat(C);Number.isFinite(T)&&o.value.exec({type:"setHeaderFooterOptions",[m]:kp(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:[NS.map(m=>{let C={type:"insertPageField",field:m.field},T=o.value?.can(C);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(C),n.value=false;},onMousedown:e.onChromeMousedown,children:t(m.labelKey)},m.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(s.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:a.value,onInput:m=>{a.value=m.target.value;},onBlur:()=>b("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:m=>{l.value=m.target.value;},onBlur:()=>b("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(d.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]})}}),Fa=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=rs(),r=jn(l=>l.querySelector("[data-docx-hf-active]"),"story-label"),a=I;return ()=>{if(!o.value?.editing)return null;let l=DS(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:Xt.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(LS,{state:o.value,onChromeMousedown:a})])}}});function Qt(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Aa=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"})}),OS="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",BS="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",KS="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",VS="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 zS(e){let t={},o=[],n=r=>{for(let a of r){if(!vue.isVNode(a))continue;if(a.type===vue.Fragment){n(fe(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 ss=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=Ee(),{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,s=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:s,onMousedown:Qt,...a?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(B,{...u,children:p}):a?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:s})]}):jsxRuntime.jsxs("button",{...u,children:[p,Aa(VS)]})}}});ss.docxHyperLinkPart="Url";var ds=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=Ee(),{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:Qt,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??Aa(OS);return e.asChild?jsxRuntime.jsx(B,{...l,children:i}):jsxRuntime.jsx("button",{...l,children:i})}}});ds.docxHyperLinkPart="Copy";var us=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=Ee(),{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:Qt,onClick:()=>o.beginEdit()},l=e.icon??t.default?.()??Aa(BS);return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});us.docxHyperLinkPart="Edit";var cs=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=Ee(),{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:Qt,onClick:()=>o.unlink()},l=e.icon??t.default?.()??Aa(KS);return e.asChild?jsxRuntime.jsx(B,{...a,children:l}):jsxRuntime.jsx("button",{...a,children:l})}}});cs.docxHyperLinkPart="Unlink";var ps=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Ee(),{t:o}=D(),n=vue.ref(null),r=oe("hyperlink-text"),a=oe("hyperlink-url"),l=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(l),vue.watch(()=>t.state.value.mode,s=>{s==="editing"&&l();},{flush:"post"});let i=s=>{if(s.key==="Enter"){s.preventDefault(),t.commitEdit();return}s.key==="Escape"&&(s.preventDefault(),t.close());};return ()=>{if(e.hidden)return null;let s=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:s.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:s.url,placeholder:o("hyperlinkPopup.urlPlaceholder"),onInput:u=>t.setUrl(u.target.value),onKeydown:i})]})}}});ps.docxHyperLinkPart="Fields";var ms=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=Ee(),{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:Qt,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(B,{...l,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??a})}}});ms.docxHyperLinkPart="Apply";var fs=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=Ee(),{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")})}}});fs.docxHyperLinkPart="Error";var gs=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=Ee(),{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:Qt,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(B,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??r})}}});gs.docxHyperLinkPart="Cancel";var $S=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=Ee();return ()=>{let n=o.state.value,r=zS(fe(t.default?.()??[])),a=(i,s)=>i in r?r[i]:s;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Fields",jsxRuntime.jsx(ps,{})),a("Error",jsxRuntime.jsx(fs,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Apply",jsxRuntime.jsx(ms,{})),a("Cancel",jsxRuntime.jsx(gs,{}))]}),r.__extra]});let l=n.canEdit&&!(n.link&&Uo(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a("Url",jsxRuntime.jsx(ss,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[a("Copy",jsxRuntime.jsx(ds,{})),l?a("Edit",jsxRuntime.jsx(us,{})):null,l?a("Unlink",jsxRuntime.jsx(cs,{})):null]}),r.__extra]})}}}),qS=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=Ee(),n=vue.ref(null),r=vue.ref(null),{t:a}=D();return vue.watch(()=>o.state.value.mode,(l,i,s)=>{if(l==="closed")return;let u=d=>{d.key==="Escape"&&(d.preventDefault(),o.close());},p=d=>{let c=n.value;c&&d.target instanceof Node&&c.contains(d.target)||o.close();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),s(()=>{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 s=i.offsetParent;if(!s){r.value=null;return}let{left:u,top:p}=wo(s,l.left,l.top),d=Math.max(0,s.scrollWidth-i.offsetWidth);r.value={left:K(Math.max(0,Math.min(u,d))),top:K(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 s=e.preset?jsxRuntime.jsx($S,{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:Qt,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(B,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),Ha=Object.assign(qS,{Url:ss,Copy:ds,Edit:us,Unlink:cs,Fields:ps,Error:fs,Apply:ms,Cancel:gs});function ys(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Ba=vue.defineComponent({name:"DocxEditorEquation",setup(){let e=k(),{t}=D(),o=vue.ref(null),n=vue.ref(null),r=oe("equation-input"),a=oe("equation-error"),l=oe("equation-disabled-reason"),i=null,s=null,u=null,p=_(g=>g),d=vue.computed(()=>{p.value;let g=e.value,h=o.value?.activation;if(!g?.surface||!h)return {replaceEnabled:false,removeEnabled:false,reason:null};let b=g.surface.equations.can(h.equation.id,"replace"),m=g.surface.equations.can(h.equation.id,"remove"),C=b.ok?m.ok?null:m.reason:b.reason;return {replaceEnabled:b.ok,removeEnabled:m.ok,reason:C?i18n.localizeDisabledReason(C,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,b)=>{if(!g)return;let m=g.setEquationChrome({onPopover:C=>{u?.();let T=g.surface;if(T&&typeof T.retainSelection=="function"){let f=T.retainSelection();u=()=>T.releaseSelection(f);}else u=null;o.value={activation:C,mountGeneration:g.mountGeneration,draft:C.equation.linear,error:false};}});b(()=>{m(),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,b)=>{if(!g)return;let m=false,C=null,T=null,f=null;queueMicrotask(()=>{if(m)return;let x=i;C=x?.ownerDocument??null;let P=C?.defaultView;!x||!C||!P||(T=S=>{S.key==="Escape"&&(S.preventDefault(),c(true));},f=S=>{S.target instanceof P.Node&&x.contains(S.target)||c();},C.addEventListener("keydown",T),C.addEventListener("pointerdown",f,true));}),b(()=>{m=true,C&&T&&C.removeEventListener("keydown",T),C&&f&&C.removeEventListener("pointerdown",f,true);});},{flush:"post"}),vue.watch(()=>o.value?.activation,g=>{if(!g){n.value=null;return}let h=i;if(!h)return;let b=h.offsetParent;if(b){let m=wo(b,g.rect.left,g.rect.bottom),C=Math.max(0,b.scrollWidth-h.offsetWidth);n.value={left:K(Math.max(0,Math.min(m.left,C))),top:K(m.top)};}else n.value=null;s?.focus({preventScroll:true}),s?.select();},{flush:"post"});let v=g=>{let h=o.value,b=e.value?.surface?.equations;if(!h||!b||!d.value.replaceEnabled)return false;let m=b.applyEquation(h.activation.equation.id,g??h.draft);return m?c(true):o.value={...h,error:true},m},y=()=>{let g=o.value,h=e.value?.surface?.equations;if(!g||!h||!d.value.removeEnabled)return false;let b=h.removeEquation(g.activation.equation.id);return b?c(true):o.value={...g,error:true},b};return ()=>{let g=o.value;if(!g)return null;let h=vue.h("input",{id:r,onVnodeMounted:b=>{s=b.el;},onVnodeUnmounted:()=>{s=null;},class:"docx-equation-popup__input","data-testid":"equation-popup-input",value:g.draft,placeholder:t("equationPopup.placeholder"),spellcheck:false,"aria-describedby":[g.error?a:null,d.value.reason?l:null].filter(Boolean).join(" ")||void 0,onInput:b=>{let m=o.value;m&&(o.value={...m,draft:b.target.value,error:false});},onKeydown:b=>{b.key!=="Enter"||b.isComposing||(b.preventDefault(),v(b.currentTarget.value));}});return vue.h("div",{onVnodeMounted:b=>{i=b.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:ys},[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:t("equationPopup.inputLabel")}),h,g.error?jsxRuntime.jsx("div",{id:a,class:"docx-equation-popup__error","data-testid":"equation-popup-error",role:"alert",children:t("equationPopup.refused")}):null,d.value.reason?jsxRuntime.jsx("div",{id:l,class:"docx-equation-popup__error","data-testid":"equation-popup-disabled-reason",role:"status",children:d.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:!d.value.replaceEnabled,title:d.value.reason??void 0,onMousedown:ys,onClick:()=>v(s?.value),children:t("equationPopup.apply")}),jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__delete","data-testid":"equation-popup-delete",disabled:!d.value.removeEnabled,title:d.value.reason??void 0,onMousedown:ys,onClick:y,children:t("equationPopup.delete")})]})])}}});function ZS(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 vs(){let e=k();return _(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},ZS)}function Fp(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 Ap(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&&Fp(e.documentAuthored,t.documentAuthored)&&Fp(e.sectionAuthored,t.sectionAuthored)}function XS(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&Ap(e.footnote,t.footnote)&&Ap(e.endnote,t.endnote)}function bs(){let e=k();return _(o=>e.value?.getNotePropertiesState()??null,XS)}var JS=/^(footnote|endnote):(-?\d{1,10})$/;function Hp(e){let t=JS.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function QS(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function hs(e){let t=k();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 eC=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=s=>{n.value?.contains(s.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: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]})}}),tC=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=D(),o=k(),n=bs(),r=vue.ref("document"),a=vue.ref("decimal"),l=vue.ref("continuous"),i=vue.ref("pageBottom"),s=vue.ref("decimal"),u=vue.ref("continuous"),p=vue.ref("docEnd");return vue.watch(n,d=>{d&&(a.value=d.footnote.resolved.numFmt,l.value=d.footnote.resolved.numRestart,i.value=d.footnote.resolved.pos,s.value=d.endnote.resolved.numFmt,u.value=d.endnote.resolved.numRestart,p.value=d.endnote.resolved.pos);}),()=>{let d=n.value,c=!d?.footnote.documentAuthored&&!d?.footnote.sectionAuthored,v=!d?.endnote.documentAuthored&&!d?.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:Xt.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:a.value,onChange:y=>{a.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:l.value,onChange:y=>{l.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:s.value,onChange:y=>{s.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"?d?.sectionIndex:void 0,footnote:{numFmt:a.value,numRestart:l.value,position:i.value},endnote:{numFmt:s.value,numRestart:u.value,position:p.value}};y.can(g).ok&&e.onApply(g);},children:t("common.apply")})]})]})})}}}),Ka=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=D(),o=k(),n=vs(),r=vue.ref(null),a=vue.ref(null),l=vue.ref(false),i=vue.ref(null),s=vue.ref(null),u=()=>s.value?.closest(".docx-editor")??null,d=jn(x=>{let P=n.value;if(!P)return null;let w=[...x.querySelectorAll("[data-docx-note-scope]")].find(M=>M.matches("[data-docx-note]")&&M.dataset.docxNoteScope===P.id)??null;return w?.closest("[data-docx-notes]")??w},"story-label"),c=()=>{i.value&&clearTimeout(i.value),i.value=null,r.value=null;};vue.watch([o,s],([x],P,S)=>{if(!x)return;let w=u();if(!w)return;let M=R=>{let F=R.target;if(!F)return;let te=F.closest("[data-docx-note-ref]");if(te?.dataset.docxNoteScope){R.preventDefault(),c(),a.value=null,x.setActiveScope({kind:"note",id:te.dataset.docxNoteScope});return}F.closest("[data-docx-note-mark-back]")&&(R.preventDefault(),c(),a.value=null,x.setActiveScope({kind:"body"}));},E=R=>{let F=R,re=F.target?.closest("[data-docx-note-scope]");re?.dataset.docxNoteScope&&(F.preventDefault(),a.value={scopeId:re.dataset.docxNoteScope,x:F.clientX,y:F.clientY});},L=R=>{if(QS())return;let te=R.target?.closest("[data-docx-note-ref]");if(!te?.dataset.docxNoteScope){c();return}let re=te.dataset.docxNoteScope,Q=x.getNotePreviewText(re)??te.getAttribute("aria-description")??t("notes.previewFallback"),W=te.getBoundingClientRect();i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{r.value={scopeId:re,text:Q,x:W.left,y:W.bottom+4};},400);};w.addEventListener("click",M),w.addEventListener("contextmenu",E),w.addEventListener("pointerover",L),w.addEventListener("scroll",c,true),S(()=>{w.removeEventListener("click",M),w.removeEventListener("contextmenu",E),w.removeEventListener("pointerover",L),w.removeEventListener("scroll",c,true),c();});},{flush:"post"});let v=x=>{o.value?.exec(x),a.value=null;},y=vue.computed(()=>a.value?Hp(a.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),b=vue.computed(()=>y.value?{type:"convertAllNotes",fromKind:y.value.noteKind}:null),m=hs(g.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),C=hs(h.value??{type:"convertNote",fromKind:"footnote",noteId:0}),T=hs(b.value??{type:"convertAllNotes",fromKind:"footnote"}),f=vue.computed(()=>({position:"fixed",left:K(r.value?.x??0),top:K(r.value?.y??0),zIndex:Xt.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 x=n.value?Hp(n.value.id):null,P=x?t("notes.editingRegion",{kind:x.noteKind==="footnote"?t("notes.footnoteKind"):t("notes.endnoteKind"),number:x.noteId}):null;return vue.h("div",{ref:S=>{s.value=S instanceof HTMLDivElement?S:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":n.value?void 0:true},[n.value&&x?jsxRuntime.jsxs("div",{ref:d.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:{...d.style.value,zIndex:Xt.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:P}),jsxRuntime.jsx(eC,{onOpenProperties:()=>{l.value=true;},onClose:()=>{o.value?.setActiveScope({kind:"body"});}})]}):null,r.value?jsxRuntime.jsx("div",{role:"tooltip","data-testid":"docx-notes-preview",style:f.value,children:r.value.text}):null,a.value&&y.value?jsxRuntime.jsxs("div",{role:"menu","data-testid":"docx-notes-menu",style:{position:"fixed",left:K(a.value.x),top:K(a.value.y),zIndex:Xt.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:!m.value.enabled,title:m.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:!C.value.enabled,title:C.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:!T.value.enabled,title:T.value.reason??void 0,onClick:()=>b.value&&v(b.value),children:y.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(tC,{onClose:()=>{l.value=false;},onApply:S=>{v(S),l.value=false;}}):null])}}});var Jn=Symbol("ContextMenuContext"),Kp={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function it(){return vue.unref(vue.inject(Jn,Kp))}function Vp(){return vue.unref(vue.inject(Jn,Kp))?.target??null}var zp=["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"],$p=["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"],Cs=["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"],qp=["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"],Wp=["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"],Gp=["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 ko(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=k(),{close:l}=it(),i=se(),s=U(t);return ()=>r.hidden?null:jsxRuntime.jsx(ue,{...Se(e),icon:r.icon??$(o.paths)??void 0,shortcut:i(r.shortcutKey??o.shortcutKey),disabled:!s.isEnabled.value,...s.disabledReason.value?{title:s.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 Qn=ko("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:zp}),er=ko("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:$p}),tr=ko("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:qp}),or=ko("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:Gp}),_o=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=k(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),a=se(),l=U({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ue,{...Se("edit.paste"),icon:e.icon??$(Cs)??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{text:s,html:u}=await rC();(s||u)&&t.value?.exec({type:"paste",text:s,...u?{html:u}:{}});}catch(s){r(s instanceof Error?s.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:a(e.labelKey??"contextMenu.paste")})}}});_o.docxRow="edit.paste";async function rC(){let e=navigator.clipboard;if(typeof e.read=="function"&&typeof ClipboardItem<"u")try{let t=await e.read(),o="",n=null;for(let r of t)r.types.includes("text/plain")&&(o=await(await r.getType("text/plain")).text()),r.types.includes("text/html")&&(n=await(await r.getType("text/html")).text());if(o||n)return {text:o,html:n}}catch{}return {text:await e.readText(),html:null}}var Io=vue.defineComponent({name:"ContextMenuPasteWithoutFormatting",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=k(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),a=se(),l=U({type:"pasteWithoutFormatting",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ue,{...Se("edit.pasteWithoutFormatting"),icon:e.icon??$(Cs)??void 0,shortcut:a(e.shortcutKey??"contextMenu.pasteWithoutFormattingShortcut"),disabled:!l.isEnabled.value||i,...n??l.disabledReason.value?{title:n??l.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let s=await navigator.clipboard.readText();s&&t.value?.exec({type:"pasteWithoutFormatting",text:s});}catch(s){r(s instanceof Error?s.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:a(e.labelKey??"contextMenu.pasteWithoutFormatting")})}}});Io.docxRow="edit.pasteWithoutFormatting";var jp=z("format.painter")?.paths??[],Va=ko("format.copyFormatting",{type:"copyFormatting"},{labelKey:"contextMenu.copyFormatting",shortcutKey:"contextMenu.copyFormattingShortcut",paths:jp}),za=ko("format.pasteFormatting",{type:"pasteFormatting"},{labelKey:"contextMenu.pasteFormatting",shortcutKey:"contextMenu.pasteFormattingShortcut",paths:jp});function to(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}=it(),l=se(),i=nr(),s=U(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ue,{...Se(e),icon:r.icon??$(o.paths)??void 0,disabled:!s.isEnabled.value,...s.disabledReason.value?{title:s.disabledReason.value}:{},class:`${u?"docx-table-chrome__destructive-row":""}${r.className?` ${r.className}`:""}`,onSelect:()=>{s.execute()&&a(true);},children:l(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var Do=to("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),No=to("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),Lo=to("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),Fo=to("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),Ao=to("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),Ho=to("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),Oo=to("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),aC=[{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"}],oo=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=it(),o=se(),n=nr(),r=U({type:"setTableCellVerticalAlignment",alignment:"top"}),a=U({type:"setTableCellVerticalAlignment",alignment:"center"}),l=U({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:aC.map((s,u)=>{let p=i[u];return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":false,"aria-label":o(s.labelKey),title:p.disabledReason.value??o(s.labelKey),"aria-disabled":!p.isEnabled.value,class:"docx-contextmenu__table-align-button",onMousedown:d=>{d.preventDefault(),d.stopPropagation();},onClick:()=>{p.execute()&&t(true);},children:$(editor.tableChromeIconPaths(s.icon))},s.alignment)})})]})}});oo.docxRow="table.cellVerticalAlignment";function Zp(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=k(),{close:l,tocId:i}=it(),s=se(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=U(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ue,{...Se(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:s(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Bo=Zp("toc.refresh","entire",{labelKey:"toc.refresh",paths:Up}),Ko=Zp("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:Wp});function nr(){return _(e=>e.table!=null,(e,t)=>e===t)}var $a=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}=it();return ()=>vue.h(ue,{...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 qa=8,cC=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=k(),t=ro(),o=Te(),n=se();return ()=>{let r=e.value,a=r?.can({type:"toggleReviewPane"}),l=!a?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=z("review.comments");return jsxRuntime.jsx(ue,{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")})}}}),pC=vue.defineComponent({name:"ContextMenuEditField",setup(){let e=k(),t=Te(),o=se();return ()=>e.value?.can({type:"editTextFormField"}).ok?jsxRuntime.jsx(ue,{rowSlot:"field.edit",onSelect:()=>{t.value.setOpenMenu(null),e.value?.exec({type:"editTextFormField"});},children:o("textFormField.edit")}):null}}),mC=[{kind:"row",id:"field.edit",render:()=>jsxRuntime.jsx(pC,{})},{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(Qn,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx(er,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(_o,{})},{kind:"row",id:"edit.pasteWithoutFormatting",render:()=>jsxRuntime.jsx(Io,{})},{kind:"row",id:"format.copyFormatting",render:()=>jsxRuntime.jsx(Va,{})},{kind:"row",id:"format.pasteFormatting",render:()=>jsxRuntime.jsx(za,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(tr,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(or,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(Ze,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(cC,{})}];function fC(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:Do.docxRow,render:()=>jsxRuntime.jsx(Do,{})},{kind:"row",id:No.docxRow,render:()=>jsxRuntime.jsx(No,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:Lo.docxRow,render:()=>jsxRuntime.jsx(Lo,{})},{kind:"row",id:Fo.docxRow,render:()=>jsxRuntime.jsx(Fo,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:Ao.docxRow,render:()=>jsxRuntime.jsx(Ao,{})},{kind:"row",id:Ho.docxRow,render:()=>jsxRuntime.jsx(Ho,{})},{kind:"row",id:Oo.docxRow,render:()=>jsxRuntime.jsx(Oo,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:oo.docxRow,render:()=>jsxRuntime.jsx(oo,{})}]}function gC(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:Bo.docxRow,render:()=>jsxRuntime.jsx(Bo,{})},{kind:"row",id:Ko.docxRow,render:()=>jsxRuntime.jsx(Ko,{})}]}function Qp(e,t=false){return [...mC,...e?fC():[],...t?gC():[]]}function em(e){return e!=null&&typeof e=="object"&&"type"in e}function tm(e){if(!em(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(tm).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 Jp(e){if(!em(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 zo=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=ke(),n=k(),r=st(),{t:a}=D(),l=nr(),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=vue.ref(null),d=vue.ref(null),c=vue.ref(null),v=vue.ref(null),y=vue.ref(false),g=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,T=>{g.value=T;});let h=vue.computed(()=>Qp(l.value,p.value!==null)),b=(T=false)=>{u.value=null,c.value=null,p.value=null,d.value=null,T&&n.value?.focus();};vue.watch(()=>e.disabled,T=>{T&&b();}),vue.watchEffect(T=>{if(r.value,e.disabled)return;let f=yC(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!f)return;let x=P=>{P.preventDefault();let S=P.button===-1||P.clientX===0&&P.clientY===0,w=f.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,d.value=S||!(P.target instanceof HTMLElement)?null:P.target,u.value=S?{x:w.left+16,y:w.top+16}:{x:P.clientX,y:P.clientY};};f.addEventListener("contextmenu",x),T(()=>f.removeEventListener("contextmenu",x));}),vue.watch(u,(T,f,x)=>{if(!T)return;let P=M=>{s.value?.contains(M.target)||b();},S=M=>{M.key==="Escape"?(M.preventDefault(),b(true)):M.key==="Tab"&&b();},w=()=>b();document.addEventListener("pointerdown",P,true),document.addEventListener("keydown",S),document.addEventListener("scroll",w,{capture:true,passive:true}),window.addEventListener("blur",w),window.addEventListener("resize",w),x(()=>{document.removeEventListener("pointerdown",P,true),document.removeEventListener("keydown",S),document.removeEventListener("scroll",w,true),window.removeEventListener("blur",w),window.removeEventListener("resize",w);});},{flush:"sync"}),vue.watch(u,async T=>{if(c.value=null,!T)return;await vue.nextTick();let f=s.value;if(!f||!u.value)return;let{width:x,height:P}=f.getBoundingClientRect(),S=window.innerWidth-x-qa,w=window.innerHeight-P-qa,M=Math.max(qa,u.value.x>S?u.value.x-x:u.value.x),E=Math.max(qa,u.value.y>w?u.value.y-P:u.value.y);c.value={x:M,y:E};},{flush:"post"}),vue.watch(c,T=>{T&&s.value?.focus({preventScroll:true});}),vue.watch(u,T=>{let f=T!==null;f!==y.value&&(y.value=f,g.value?.(f));});let m=vue.computed(()=>({t:e.t,openMenu:null,setOpenMenu:()=>b(true),activeMenu:null,onOpen:void 0,onSave:void 0,onPageSetup:void 0,onParagraphDialog:void 0,onReportIssue:void 0,reportIssue:void 0})),C=vue.computed(()=>({close:b,anchor:u.value,tocId:p.value,target:d.value,clipboardRefusal:v.value,reportClipboardRefusal:T=>{v.value=T;}}));return vue.provide(kn,m),vue.provide(Jn,C),()=>{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"},f=fe(t.default?.()??[]),x=f.filter(Jp),P=f.filter(w=>!Jp(w)),S=e.preset===false?f:[...x,...Mr({entries:h.value,children:P,preset:e.preset,keyOfEntry:w=>w.id,keyOfChild:tm,renderEntry:w=>w.kind==="separator"?jsxRuntime.jsx($t,{}):w.render()})];return vue.h("div",{ref:w=>{i.value=w instanceof HTMLDivElement?w:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:w=>{s.value=w instanceof HTMLDivElement?w: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:w=>{let M=s.value;if(!M)return;let E=yt(M);w.key==="ArrowDown"?(w.preventDefault(),Fe(E,document.activeElement,1)):w.key==="ArrowUp"?(w.preventDefault(),Fe(E,document.activeElement,-1)):w.key==="Home"?(w.preventDefault(),Ae(E,"first")):w.key==="End"&&(w.preventDefault(),Ae(E,"last"));}},S)]:[])}}});Object.assign(zo,{Cut:Qn,Copy:er,Paste:_o,PasteWithoutFormatting:Io,Delete:tr,SelectAll:or,InsertRowAbove:Do,InsertRowBelow:No,InsertColumnLeft:Lo,InsertColumnRight:Fo,DeleteTableRow:Ao,DeleteTableColumn:Ho,DeleteTable:Oo,CellVerticalAlignment:oo,RefreshToc:Bo,RefreshTocPageNumbers:Ko,Item:$a,Slot:Ze,Row:ue,Group:Nn,Separator:$t,Submenu:He});function Ps(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var nm=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",SC={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"},CC={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"},rm={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 $o=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:CC,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:TC,children:e.label}),jsxRuntime.jsx("span",{style:EC,children:e.value})]})}}),am=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}=Ue(),{t:n}=D();return ()=>{if(e.hidden)return null;let r={style:PC,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:{...rm,padding:"4px",border:"none",background:"transparent"},onMousedown:Ps,onClick:()=>o(),children:nm(hC)})]});return e.asChild?jsxRuntime.jsx(B,{...r,children:a}):jsxRuntime.jsx("div",{...r,children:a})}}}),lm=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}=Ue(),{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"),s=t.default?.()??[jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??a,testId:"content-control-inspector-alias"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??a,testId:"content-control-inspector-tag"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.type"),value:n(RC(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.lock"),value:n(MC(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx($o,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?l:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx($o,{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(B,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),im=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}=Ue(),{t:l}=D();return ()=>{if(e.hidden)return null;let i=l("contentControl.remove"),s={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:rm,onMousedown:Ps,onClick:()=>{r().ok&&a();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??nm(xC),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(B,{...s,children:u}):jsxRuntime.jsx("button",{...s,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=Ue(),n=vue.ref(null),r=oe("content-control-title"),{t:a}=D();return vue.watch(()=>o.inspectorOpen.value,(l,i,s)=>{if(!l)return;let u=d=>{d.key==="Escape"&&(d.preventDefault(),o.closeInspector());},p=d=>{let c=n.value;c&&d.target instanceof Node&&c.contains(d.target)||o.closeInspector();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),s(()=>{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(am,{}),jsxRuntime.jsx(lm,{}),jsxRuntime.jsx("div",{style:wC,children:jsxRuntime.jsx(im,{})}),t.default?.()]}):t.default?.(),s={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:SC,onMousedown:p=>{Ps(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(B,{...s,children:u}):jsxRuntime.jsx("div",{...s,children:u})}}}),Wa=Object.assign(kC,{Header:am,Fields:lm,Remove:im});var ws=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(Zo,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(Zo,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 DC=editor.LOADING_SNAPSHOT;function Ga(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:"var(--doc-z-overlay)",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(Yo,e.scoped),()=>t.default?.()}}),mm={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,Object],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={...mm,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:mm,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),s=vue.computed(()=>e.chrome??true),u=vue.computed(()=>e.menu??true),p=vue.computed(()=>e.navigation??true),d=vue.computed(()=>e.rulers??true),c=vue.computed(()=>e.contextMenu??true),v=vue.computed(()=>e.hyperlinkPopup??true),y=vue.ref(zs()),g;vue.onMounted(()=>{e.colorMode==="system"&&(g=ol(x=>{y.value=x;}));}),vue.onUnmounted(()=>g?.()),vue.watch(()=>e.colorMode,(x,P,S)=>{g?.(),g=void 0,x==="system"&&(g=ol(w=>{y.value=w;}),S(()=>g?.()));});let h=vue.computed(()=>$s(e.colorMode,y.value)),b=D(),m=vue.computed(()=>{let x=e.t,P=b.t;return (S,w)=>x?x(S,w):P(S,w)}),C=x=>m.value(x);vue.provide(Ia,x=>m.value(x));let T=vue.shallowRef(null);r({load:x=>T.value?.load(x),save:()=>T.value?.save()??Promise.resolve(null),getDocumentHandle:()=>T.value?.getDocumentHandle()??null,getEditor:()=>T.value?.getEditor()??null,focus:()=>T.value?.focus(),exec:(x,P)=>T.value?.exec(x,P)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:x=>T.value?.snapshot(x)??Ga(()=>null).snapshot(x)});let f=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let x=k();return T.value=Ga(()=>x.value),()=>null}});return ()=>{let x=m.value,P=s.value&&h.value?"dark":s.value?void 0:e.class,S=vue.h(Cr,{class:P,style:s.value?OC:void 0,...!s.value&&e.class?{}:{}},{default:()=>[s.value?vue.h(Fa):null,s.value?vue.h(Ka):null,vue.h(Er),vue.h(Ha,{hidden:v.value===false}),vue.h(Ba),c.value===false?null:vue.h(zo,{t:x,...typeof c.value=="object"?c.value:{}}),vue.h(Wa),d.value&&s.value?vue.h("div",{style:VC,"aria-hidden":"true"},[vue.h(Ca)]):null,n.default?.()]}),w=typeof u.value=="object"?u.value:{},M=s.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":x("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:x("titleBar.untitled"),style:WC,onInput:E=>{let L=E.target.value;i.value?.(L),o("titleChange",L);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??x("titleBar.untitled")),u.value!==false?vue.h(Ut,{t:x,...e.title!==void 0?{fileName:e.title}:{},...l.value!==void 0?{openHandler:l.value}:{},...a.value!==void 0?{saveHandler:a.value}:{},...w}):null]),n.titleBarRight?.()]),vue.h("div",{style:$C},[vue.h(Rn,{t:x})])]),d.value?vue.h("div",{style:KC,"data-testid":"docx-editor-ruler-row"},[vue.h(Sa)]):null,vue.h(Na,{t:x}),vue.h("div",{style:BC},[p.value===false?null:vue.h(Gn,{t:x,...typeof p.value=="object"?p.value:{}}),S,vue.h(Da),vue.h(Pr,{overlay:true})])]):S;return vue.h(Xo,{...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:x,...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:C,onReady:E=>o("ready",E),onChange:E=>o("change",E),onFontError:E=>o("fontError",E)},{default:()=>[vue.h(f),vue.h(GC,{scoped:s.value},{default:()=>M})]})}}}),XC=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 a=()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave,l=()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen,i=()=>e.onTitleChange??t.onTitleChange,s=vue.shallowRef(null);return r({load:u=>s.value?.load(u),save:()=>s.value?.save()??Promise.resolve(null),getDocumentHandle:()=>s.value?.getDocumentHandle()??null,getEditor:()=>s.value?.getEditor()??null,focus:()=>s.value?.focus(),exec:(u,p)=>s.value?.exec(u,p)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:u=>s.value?.snapshot(u)??Ga(()=>null).snapshot(u)}),()=>{let{i18n:u,...p}=e;return vue.h(sr,u!==void 0?{i18n:u}:{},{default:()=>vue.h(ZC,{...p,ref:d=>{s.value=d&&typeof d=="object"&&"load"in d?d:null;},onReady:d=>o("ready",d),onChange:d=>o("change",d),onFontError:d=>o("fontError",d),saveHandler:a()!==void 0?()=>{a()(),o("save");}:void 0,openHandler:l()!==void 0?()=>{l()(),o("open");}:void 0,onTitleChange:i()!==void 0?d=>{i()(d),o("titleChange",d);}:void 0},{default:n.default,titleBarLeft:n.titleBarLeft,titleBarRight:n.titleBarRight})})}}}),Ms=Object.assign(XC,{Root:Xo,Viewport:Cr,Content:Er,Toolbar:Rn,Menu:Ut,Loading:Pr,HorizontalRuler:Sa,VerticalRuler:Ca,DocumentOutline:Xi,Navigation:Gn,PageSetupDialog:Mn,ParagraphDialog:Ht,PageNumber:Da,FontNotice:Na,HeaderFooterChrome:Fa,NotesChrome:Ka,Equation:Ba,HyperLink:Ha,ContextMenu:zo,ContentControl:Wa,AuthorStyle:Rs,ColorByChangeType:ws});function QC(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function eT(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function tT(){let e=k(),t=vue.shallowRef(null),o=null,n=()=>{let a=QC(e.value),l=o;return (a===null?l===null:l!==null&&eT(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 s=()=>{let d=n();t.value!==d&&(t.value=d);},u=a.on("selectionChange",s),p=a.on("change",s);i(()=>{u(),p();});},{immediate:true,flush:"post"});return j(r),t}function aT(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,a,l)=>{if(!r)return;let i=()=>{o.value++;},s=r.on("change",i),u=r.on("selectionChange",i);i(),l(()=>{s(),u();});},{immediate:true,flush:"post"});return j(n),o}var dT=e=>typeof e=="function"?e:vue.toValue(e);function uT(...e){let t=e,o=()=>t.map(dT);return editor.defineFontResolver(n=>editor.composeFontOrigins(o(),n))}function mT(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}function ks(e){return Array.isArray(e)?e:[e]}function fT(e){if(typeof e!="function"||editor.isFontResolver(e))return e;let t=e;return editor.defineFontResolver(async()=>t())}function gT(e){return e!==void 0&&ks(e).some(t=>editor.isFontResolver(t))}async function yT(e){return typeof e!="function"?await e:await e()}function vT(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),s=vue.ref(vue.toValue(t).fonts===void 0),u=0,p=editor.defineFontResolver(d=>editor.composeFontOrigins(ks(vue.toValue(n).fonts??[]).map(fT),d));return j(vue.watch(()=>vue.toValue(n).fonts,(d,c,v)=>{if(d===void 0){a.value=void 0,s.value=true;return}if(gT(d)){a.value=p,s.value=true;return}let y=true;a.value=void 0,s.value=false,(async()=>{try{let g=await Promise.allSettled(ks(d).map(yT)),h=[];for(let b of g){if(b.status==="rejected"){console.warn("[fonts] font loading failed for one origin; the others still compose",b.reason);continue}b.value!==void 0&&h.push(b.value);}y&&h.length>0&&(a.value=editor.composeFontConfiguration(h[0],...h.slice(1)));}catch(g){console.warn("[fonts] font loading failed; the fixed measurer stays in effect",g);}finally{y&&(s.value=true);}})(),v(()=>{y=false;});},{immediate:true})),j(vue.watch(()=>vue.toValue(o),(d,c,v)=>{u+=1;let y=u;if(d==null){r.value=void 0,l.value=null,i.value=false;return}let g=mT(d);if(g){r.value=g,l.value=null,i.value=false;return}let h=true,b=new AbortController;r.value=void 0,i.value=true,l.value=null,(async()=>{try{let m=await fetch(String(d),{...vue.toValue(n).fetchOptions,signal:b.signal});if(!m.ok)throw new Error(`could not open the document: ${m.status} ${m.statusText}`);let C=new Uint8Array(await m.arrayBuffer());if(!h||y!==u)return;r.value=C,i.value=!1;}catch(m){if(!h||y!==u||m instanceof Error&&m.name==="AbortError")return;r.value=void 0,l.value=m instanceof Error?m:new Error("could not open the document"),i.value=false;}})(),v(()=>{h=false,b.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>s.value?r.value:void 0),fonts:vue.computed(()=>a.value),error:vue.computed(()=>l.value),isLoading:vue.computed(()=>i.value||!s.value)}}var TT=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 v=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:g=>{r.value=g,a.value?.(g);}});if(!v.ok){l.value?.(v.reason,v.detail);return}n.value=v.surface;let y=v.surface.state();return r.value=y,a.value?.(y),()=>{v.surface.destroy(),n.value=null;}},s=vue.computed(()=>r.value?.pageCount??0),u=vue.computed(()=>r.value?.revision??0),p,d=()=>{p?.(),p=i();};return vue.watch(()=>[e.source,e.measurer],()=>{o.value&&d();}),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:()=>n.value?.save()??null}),()=>vue.h("div",{onVnodeMounted:c=>{o.value=c.el,d();},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":s.value})}});var wT=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 kT=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 FT=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?.())}}),AT=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 OT=Ms;var BT=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),KT=Ut,VT=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)})}}),zT=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),$T=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,"composeFontOrigins",{enumerable:true,get:function(){return editor.composeFontOrigins}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return editor.createFontSource}});Object.defineProperty(exports,"defineFontResolver",{enumerable:true,get:function(){return editor.defineFontResolver}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return editor.generateRulerTicks}});Object.defineProperty(exports,"isFontResolver",{enumerable:true,get:function(){return editor.isFontResolver}});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=Pe;exports.ContextMenuCellVerticalAlignment=oo;exports.ContextMenuCopy=er;exports.ContextMenuCopyFormatting=Va;exports.ContextMenuCut=Qn;exports.ContextMenuDelete=tr;exports.ContextMenuDeleteTable=Oo;exports.ContextMenuDeleteTableColumn=Ho;exports.ContextMenuDeleteTableRow=Ao;exports.ContextMenuInsertColumnLeft=Lo;exports.ContextMenuInsertColumnRight=Fo;exports.ContextMenuInsertRowAbove=Do;exports.ContextMenuInsertRowBelow=No;exports.ContextMenuItem=$a;exports.ContextMenuPaste=_o;exports.ContextMenuPasteFormatting=za;exports.ContextMenuPasteWithoutFormatting=Io;exports.ContextMenuRefreshToc=Bo;exports.ContextMenuRefreshTocPageNumbers=Ko;exports.ContextMenuSelectAll=or;exports.DocumentName=VT;exports.DocumentOutline=Zi;exports.DocxEditor=Ms;exports.DocxEditorAuthorStyle=Rs;exports.DocxEditorColorByChangeType=ws;exports.DocxEditorContent=Er;exports.DocxEditorContentControl=Wa;exports.DocxEditorContextMenu=zo;exports.DocxEditorDocumentOutline=Xi;exports.DocxEditorEquation=Ba;exports.DocxEditorFontNotice=Na;exports.DocxEditorHeaderFooterChrome=Fa;exports.DocxEditorHorizontalRuler=Sa;exports.DocxEditorHyperLink=Ha;exports.DocxEditorImagePropertiesDialog=Gl;exports.DocxEditorLoading=Pr;exports.DocxEditorLoadingSpinner=Nl;exports.DocxEditorMenu=Ut;exports.DocxEditorNavigation=Gn;exports.DocxEditorNotesChrome=Ka;exports.DocxEditorPageNumber=Da;exports.DocxEditorPageSetupDialog=Mn;exports.DocxEditorParagraphDialog=Ht;exports.DocxEditorRoot=Xo;exports.DocxEditorShell=OT;exports.DocxEditorToolbar=Rn;exports.DocxEditorVerticalRuler=Ca;exports.DocxEditorViewport=Cr;exports.HorizontalRuler=Vi;exports.ImageAltText=Nr;exports.ImageInsertProvider=gr;exports.ImageInsertTrigger=yr;exports.ImagePropertiesTrigger=Or;exports.ImageWrap=_r;exports.LocaleProvider=sr;exports.Logo=zT;exports.MenuBar=KT;exports.NAVIGATION_PANE_GAP=Tp;exports.NAVIGATION_PANE_INSET=Pa;exports.NAVIGATION_PANE_WIDTH=Ea;exports.NavigationClose=Kn;exports.NavigationFind=Un;exports.NavigationHeader=Bn;exports.NavigationHeadings=qn;exports.NavigationTab=$n;exports.NavigationTabs=zn;exports.NavigationTitle=Vn;exports.NavigationToggle=Wn;exports.OUTLINE_BUTTON_LEFT_OFFSET=Cp;exports.OUTLINE_BUTTON_RESERVED_SPACE=Ux;exports.OUTLINE_LEFT_OFFSET=ji;exports.OUTLINE_RESERVED_SPACE=$x;exports.PageIndicator=kT;exports.PageNumberTranslationContext=Ia;exports.PaginatedDocxEditor=TT;exports.PaginatedDocxEditorShell=wT;exports.REVIEW_MARKERS_GUTTER=Ml;exports.REVIEW_PANE_GUTTER=kl;exports.RULER_WIDTH=$i;exports.ReviewRailContext=no;exports.SEARCH_DEBOUNCE_MS=es;exports.SEARCH_MATCH_LIMIT=ts;exports.Slot=B;exports.TitleBar=BT;exports.TitleBarRight=$T;exports.Toolbar=FT;exports.ToolbarButton=AT;exports.ToolbarContext=pr;exports.ToolbarGroup=HT;exports.ToolbarImageProperties=Br;exports.VERSION=xm;exports.VerticalRuler=qi;exports.editorStateActiveSubscriptionCount=Dm;exports.isFieldLink=Uo;exports.navigationPaneReservation=jt;exports.navigationShift=wa;exports.normalizeImageBytes=cr;exports.notificationYieldsToTask=od;exports.provideDocxEditor=qf;exports.reviewGutter=yd;exports.useChromeTranslate=Bs;exports.useContentControl=Ue;exports.useContentControlInstance=ur;exports.useContextMenuTarget=Vp;exports.useDocumentOutline=Ma;exports.useDocumentSearch=ka;exports.useDocxEditor=k;exports.useDocxSource=vT;exports.useEditorCaret=tT;exports.useEditorCommand=U;exports.useEditorEvent=pi;exports.useEditorSnapshot=aT;exports.useEditorState=_;exports.useEditorValueCommand=on;exports.useFontFamily=mn;exports.useFonts=uT;exports.useHeaderFooterState=rs;exports.useHyperlinkPopup=Ee;exports.useHyperlinkPopupInstance=dr;exports.useNavigationPane=_a;exports.useNavigationShift=Nt;exports.useNotePropertiesState=bs;exports.useNoteScopeState=vs;exports.usePageSetup=Vt;exports.useParagraphFormat=Xl;exports.useParagraphIndent=Ui;exports.useParagraphStyle=fn;exports.useReviewAuthors=Pn;exports.useReviewGutter=io;exports.useScopeClassName=ke;exports.useScopedChromeAnchor=jn;exports.useTableBorderTargetLabel=xi;exports.useToolbarContext=mr;exports.useToolbarLabel=V;exports.useToolbarLabelFor=Qm;exports.useTranslation=D;exports.useZoom=jl;