@docx-editor.dev/vue 2.21.0 → 2.22.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'),editor=require('@docx-editor.dev/core/editor'),i18n=require('@docx-editor.dev/i18n'),store=require('@docx-editor.dev/core/store'),jsxRuntime=require('vue/jsx-runtime'),editor$1=require('@docx-editor.dev/core/contracts/editor');var Ud={version:"2.21.0"};var ug=Ud.version;var Ll=Symbol("locale"),Al=Symbol("lang"),Fr=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(Ll,vue.shallowRef(i18n.en)),n=vue.inject(Al,vue.shallowRef("en")),r=vue.computed(()=>typeof e.i18n?._lang=="string"?e.i18n._lang:n.value),l=vue.computed(()=>i18n.deepMerge(o.value,e.i18n)),a=vue.shallowRef(l.value),i=vue.shallowRef(r.value);return vue.watch([l,r],()=>{a.value=l.value,i.value=r.value;}),vue.provide(Ll,a),vue.provide(Al,i),()=>t.default?.()}});function k(){let e=vue.inject(Ll,vue.shallowRef(i18n.en)),t=vue.inject(Al,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 Jd(e){let{t}=k();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var Ol=Symbol("formControlTranslate");function Xe(){let e=vue.inject(Ol,void 0),t=k();return (o,n)=>{let r=e?.value(o,n);return r===void 0||r===o?t.t(o,n):r}}function j(e){vue.getCurrentScope()&&vue.onScopeDispose(e);}var Kl=Symbol("docxEditor"),Vl=Symbol("editorStateTick"),vg=vue.shallowRef(null);function D(){return vue.inject(Kl,vg)}function mt(){return vue.inject(Vl,vue.shallowRef(0))}var fo=Symbol("ReviewRailContext");function go(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(fo,e)}var Wl=0;function Eg(){return Wl}function _(e,t=Object.is,o){let n=D(),r=mt(),l=false,a,i,d=s=>{if(l&&s===a)return i;let c=e(s);return l&&t(i,c)?(a=s,i):(l=true,a=s,i=c,c)},u=()=>{let s=n.value;return d(s?s.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&(Wl++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{l=false;let s=u();t(p.value,s)||(p.value=s);},{flush:"post"}),j(()=>{Wl--,o?.onUnsubscribe?.();})),p}var ru=Symbol("docx-content-control-widget");function au(e){vue.provide(ru,e);}function ft(){let e=vue.inject(ru,null);if(!e)throw new globalThis.Error("useContentControlWidget must be used inside DocxEditorContentControlWidget.");return e}function nu(e){return e.kind==="date"?editor.parseIsoDate(e.value)?e.value.slice(0,10):"":e.value}function lu(e){let t=`docx-cc-list-${vue.useId()}`,o=vue.ref(nu(e.value)),n=vue.ref(false),r=vue.ref(editor.calendarDateText(e.value.value,e.value.locale)),l=editor.createContentControlListNavigation(e.value.locale),a={keyDown:(m,f)=>l.keyDown(m,f),reset:()=>l.reset()},i=vue.ref(null),d=vue.shallowRef({year:0,month:0}),u=m=>{let g=(m.kind==="date"?editor.parseIsoDate(m.value):null)??new Date;d.value={year:g.getFullYear(),month:g.getMonth()};};u(e.value),vue.watch(e,m=>{o.value=nu(m),n.value=false,r.value=editor.calendarDateText(m.value,m.locale),l=editor.createContentControlListNavigation(m.locale),i.value=null,u(m);});let p=_(()=>e.value.canApply(),Object.is,{extraDeps:()=>e.value}),s=m=>{let f=e.value.apply(m??o.value);return n.value=!f,f},c=vue.computed(()=>editor.calendarMonth(d.value.year,d.value.month,{locale:e.value.locale,selected:e.value.kind==="date"?e.value.value:null}));return {session:e,dateText:r,setDateText:m=>{r.value=m,n.value=false;},applyDateText:()=>{let m=editor.calendarDateFromText(r.value,e.value.locale);return m?s(m):(n.value=true,false)},showMonth:(m,f)=>{!Number.isInteger(m)||m<100||m>9999||!Number.isInteger(f)||f<0||f>11||(d.value={year:m,month:f},i.value=null);},listNavigation:a,listId:t,kind:vue.computed(()=>e.value.kind),items:vue.computed(()=>e.value.items),value:o,setValue:m=>{o.value=m;},isEnabled:p,refused:n,apply:s,cancel:()=>e.value.cancel(),accept:editor.CONTENT_CONTROL_PICTURE_ACCEPT,replaceImage:async m=>{let f=e.value;if(!f.replaceImage)return n.value=true,false;try{let g=m instanceof Uint8Array?m.byteLength:m.size;if(!f.canApply()||g>store.DEFAULT_IMAGE_RESOURCE_LIMITS.maxEncodedBytes)return n.value=!0,!1;let h=m instanceof Uint8Array?m:new Uint8Array(await m.arrayBuffer()),b=await f.replaceImage(h);return n.value=!b,b}catch{return n.value=true,false}},calendar:c,previousMonth:()=>{d.value=editor.shiftMonth(d.value.year,d.value.month,-1),i.value=null;},nextMonth:()=>{d.value=editor.shiftMonth(d.value.year,d.value.month,1),i.value=null;},selectDay:m=>s(m),selectToday:()=>s(editor.isoDateOf(new Date)),focusIso:i,focusDay:m=>{let f=editor.parseIsoDate(m);f&&(d.value={year:f.getFullYear(),month:f.getMonth()},i.value=editor.isoDateOf(f));}}}function ue(e){return e==null||e===false?[]:Array.isArray(e)?e.flatMap(ue):vue.isVNode(e)?e.type===vue.Fragment?ue(e.children):[e]:[]}function $l(...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 iu(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:$l(typeof o.class=="string"?o.class:"",t)}}function qg(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function zg(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=qg(t[n],e[n]):n==="class"?o[n]=$l(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var L=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,l=i=>{let d=n?.vnode.ref,p=(Array.isArray(d)?d[0]:d)?.r;typeof p=="function"?p(i,{}):vue.isRef(p)&&(p.value=i);},a=()=>l(r);return vue.onMounted(a),vue.onUpdated(a),vue.onBeforeUnmount(()=>l(null)),()=>{let i=ue(o.default?.());if(i.length!==1)return null;let d=i[0];if(!d||typeof d!="object")return null;let u=zg(iu(t),iu(d.props??{}));return vue.cloneVNode(d,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});function _e(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}var vo={class:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:Object,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},children:{type:[Object,Array,String],default:void 0}};function bo(e,t,o,n,r){if(t.hidden)return null;let l=n??t.children??r.content(),a=[t.class,t.className].filter(Boolean).join(" ")||void 0,i=Object.fromEntries(["id","title","aria-label"].filter(d=>o[d]!==void 0).map(d=>[d,o[d]]));if(t.asChild){let{class:d,style:u,...p}=r.wiring;return vue.h(L,{...o,...p,...i,class:a,style:{...u,...t.style}},()=>l)}return vue.h(e,{...o,...r.wiring,...i,class:_e(r.wiring.class,a),style:{...r.wiring.style,...t.style}},e==="input"?void 0:l??void 0)}function we(e,t,o){return vue.defineComponent({name:e,inheritAttrs:false,props:vo,setup(n,{slots:r,attrs:l}){let a=ft(),i=Xe();return ()=>bo(t,n,l,r.default?.(),o(a,i))}})}var At=e=>e.stopPropagation(),Ul=we("DocxEditorContentControlWidgetPreviousMonth","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-nav","data-docx-part":"previousMonth","aria-label":t("contentControl.calendar.previousMonth"),onMousedown:At,onClick:()=>e.previousMonth()},content:()=>"\u2039"})),Gl=we("DocxEditorContentControlWidgetNextMonth","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-nav","data-docx-part":"nextMonth","aria-label":t("contentControl.calendar.nextMonth"),onMousedown:At,onClick:()=>e.nextMonth()},content:()=>"\u203A"})),jl=we("DocxEditorContentControlWidgetTitle","div",e=>({wiring:{class:"docx-content-control-calendar-title","data-docx-part":"title","aria-live":"polite"},content:()=>e.calendar.value.title})),Zl=we("DocxEditorContentControlWidgetHeader","div",()=>({wiring:{class:"docx-content-control-calendar-header","data-docx-part":"header"},content:()=>[vue.h(Ul),vue.h(ni),vue.h(Gl),vue.h(jl,{className:"docx-content-control-calendar-announcement"})]})),Yl=we("DocxEditorContentControlWidgetWeekdays","div",e=>({wiring:{class:"docx-content-control-calendar-weekdays","data-docx-part":"weekdays"},content:()=>e.calendar.value.weekdays.map(t=>vue.h("span",t))})),Xl=vue.defineComponent({name:"DocxEditorContentControlWidgetDay",inheritAttrs:false,props:{...vo,day:{type:Object,required:true}},setup(e,{slots:t,attrs:o}){let n=ft(),r=l=>{if(l.isComposing||l.altKey||l.ctrlKey||l.metaKey)return;let a=editor.calendarDateForKey(e.day.iso,l.key,n.session.value.locale,l.shiftKey);a&&(l.preventDefault(),n.focusDay(a));};return ()=>{let l=e.day,a=n.calendar.value.days.find(i=>i.iso===n.focusIso.value)??n.calendar.value.days.find(i=>i.selected)??n.calendar.value.days.find(i=>i.today&&!i.otherMonth)??n.calendar.value.days.find(i=>!i.otherMonth);return bo("button",e,o,t.default?.(),{wiring:{type:"button",class:"docx-content-control-calendar-day","data-docx-part":"day","data-iso":l.iso,role:"gridcell",tabindex:l.iso===a?.iso?0:-1,"aria-label":l.label,...l.selected?{"data-selected":"","aria-selected":"true"}:{},"aria-current":l.today?"date":void 0,"aria-selected":l.selected,...l.today?{"data-today":""}:{},...l.otherMonth?{"data-other-month":""}:{},disabled:!n.isEnabled.value,onMousedown:At,onClick:()=>n.selectDay(l.iso),onKeydown:r},content:()=>String(l.day)})}}}),Jl=vue.defineComponent({name:"DocxEditorContentControlWidgetGrid",inheritAttrs:false,props:vo,setup(e,{slots:t,attrs:o}){let n=ft(),r=vue.ref(null),l=()=>{let a=r.value;if(!a||a.ownerDocument.activeElement?.closest("[data-docx-part=previousMonth],[data-docx-part=nextMonth],[data-docx-part=month],[data-docx-part=year]"))return;let i=n.focusIso.value;((i?a.querySelector(`[data-iso="${i}"]`):null)??a.querySelector("[data-selected]")??a.querySelector("[data-today]:not([data-other-month])")??a.querySelector('[data-docx-part="day"]:not([data-other-month])'))?.focus({preventScroll:true});};return vue.watch([r,n.focusIso,n.calendar],l,{flush:"post"}),()=>bo("div",e,o,t.default?.(),{wiring:{ref:r,class:"docx-content-control-calendar-grid","data-docx-part":"grid",role:"grid","aria-label":n.calendar.value.title},content:()=>Array.from({length:6},(a,i)=>jsxRuntime.jsx("div",{role:"row",class:"docx-content-control-calendar-week",children:n.calendar.value.days.slice(i*7,i*7+7).map(d=>vue.h(Xl,{key:d.iso,day:d}))},i))})}}),Ql=we("DocxEditorContentControlWidgetToday","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-today","data-docx-part":"today",disabled:!e.isEnabled.value,onMousedown:At,onClick:()=>e.selectToday()},content:()=>t("contentControl.calendar.today")})),ei=we("DocxEditorContentControlWidgetCalendar","div",()=>({wiring:{class:"docx-content-control-calendar","data-docx-part":"calendar"},content:()=>[vue.h(Zl),vue.h(Yl),vue.h(Jl),vue.h("div",{class:"docx-content-control-calendar-entry","data-docx-part":"dateEntry"},[vue.h(Ql),vue.h(Or)]),vue.h(ho),vue.h(Br)]})),ti=vue.defineComponent({name:"DocxEditorContentControlWidgetItem",inheritAttrs:false,props:{...vo,item:{type:Object,required:true}},setup(e,{slots:t,attrs:o}){let n=ft();return ()=>bo("button",e,o,t.default?.(),{wiring:{type:"button",class:"docx-content-control-menu-item","data-docx-part":"item","data-value":e.item.value,role:"option",tabindex:n.items.value.findIndex(r=>r.value===n.value.value)<0?n.items.value[0]===e.item?0:-1:n.value.value===e.item.value?0:-1,"aria-selected":n.value.value===e.item.value?"true":"false",disabled:!n.isEnabled.value,onMousedown:At,onClick:()=>n.apply(e.item.value)},content:()=>e.item.displayText})}}),Ar=we("DocxEditorContentControlWidgetList","div",(e,t)=>({wiring:{class:"docx-content-control-menu-list","data-docx-part":"list",role:"listbox",id:e.listId,"aria-label":t(`contentControl.types.${e.kind.value}`)},content:()=>e.kind.value==="buildingBlockGallery"&&e.items.value.length===0?jsxRuntime.jsx("div",{class:"docx-content-control-menu-empty","data-docx-part":"empty",role:"note",tabindex:0,children:t("contentControl.gallery.empty")}):e.items.value.map((o,n)=>vue.h(ti,{key:n,item:o}))})),Or=we("DocxEditorContentControlWidgetInput","input",(e,t)=>({wiring:{type:"text",class:"docx-content-control-menu-input","data-docx-part":"input","aria-label":t(`contentControl.types.${e.kind.value}`),value:e.kind.value==="date"?e.dateText.value:e.value.value,placeholder:e.kind.value==="date"?editor.calendarDateText("2006-11-22",e.session.value.locale):void 0,"aria-invalid":e.refused.value||void 0,role:e.kind.value==="comboBox"?"combobox":void 0,"aria-expanded":e.kind.value==="comboBox"?true:void 0,"aria-controls":e.kind.value==="comboBox"?e.listId:void 0,"aria-autocomplete":e.kind.value==="comboBox"?"list":void 0,onKeydown:o=>{o.key!=="Enter"||o.isComposing||(o.preventDefault(),o.stopPropagation(),e.kind.value==="date"?e.applyDateText():e.apply());},onMousedown:At,onInput:o=>(e.kind.value==="date"?e.setDateText:e.setValue)(o.target.value)},content:()=>null})),ho=vue.defineComponent({name:"DocxEditorContentControlWidgetError",inheritAttrs:false,props:vo,setup(e,{slots:t,attrs:o}){let n=ft(),r=Xe();return ()=>n.refused.value?bo("div",e,o,t.default?.(),{wiring:{class:"docx-content-control-widget-error","data-docx-part":"error",role:"alert"},content:()=>r("disabledReason.invalidValue")}):null}}),oi=we("DocxEditorContentControlWidgetApply","button",(e,t)=>({wiring:{type:"button",class:"docx-dialog__button docx-dialog__button--primary","data-docx-part":"apply",disabled:!e.isEnabled.value,onClick:()=>e.kind.value==="date"?e.applyDateText():e.apply()},content:()=>t("common.apply")})),Hr=we("DocxEditorContentControlWidgetCancel","button",(e,t)=>({wiring:{type:"button",class:"docx-dialog__button","data-docx-part":"cancel",onClick:()=>e.cancel()},content:()=>t("common.cancel")})),Br=we("DocxEditorContentControlWidgetFooter","div",()=>({wiring:{class:"docx-dialog__footer","data-docx-part":"footer"},content:()=>[vue.h(Hr),vue.h(oi)]})),ni=we("DocxEditorContentControlWidgetNavigation","div",()=>({wiring:{class:"docx-content-control-calendar-navigation","data-docx-part":"navigation"},content:()=>[vue.h(ri),vue.h(ai)]})),ri=we("DocxEditorContentControlWidgetMonth","select",(e,t)=>({wiring:{class:"docx-content-control-calendar-month","data-docx-part":"month","aria-label":t("contentControl.calendar.month"),value:e.calendar.value.month,onChange:o=>e.showMonth(e.calendar.value.year,Number(o.target.value))},content:()=>editor.calendarMonthNames(e.session.value.locale).map((o,n)=>vue.h("option",{value:n},o))})),ai=we("DocxEditorContentControlWidgetYear","input",(e,t)=>({wiring:{type:"number",min:100,max:9999,class:"docx-content-control-calendar-year","data-docx-part":"year","aria-label":t("contentControl.calendar.year"),key:e.calendar.value.year,onKeydown:o=>{o.key==="Enter"&&!o.isComposing&&(o.preventDefault(),o.currentTarget.blur());},value:e.calendar.value.year,onChange:o=>{let n=o.target,r=Number(n.value);if(!Number.isInteger(r)||r<100||r>9999){n.value=String(e.calendar.value.year);return}e.showMonth(r,e.calendar.value.month);}},content:()=>null})),li=vue.defineComponent({name:"DocxEditorContentControlWidgetPicture",inheritAttrs:false,props:{...vo,autoOpen:{type:Boolean,default:void 0}},setup(e,{slots:t,attrs:o}){let n=ft(),r=Xe(),l=vue.ref(null);return vue.onMounted(()=>{e.autoOpen!==false&&l.value?.click();}),()=>bo("input",e,o,t.default?.(),{wiring:{ref:l,type:"file",accept:n.accept,class:"docx-content-control-picture-input","data-docx-part":"picture","aria-label":r("contentControl.types.picture"),"aria-invalid":n.refused.value||void 0,onMousedown:At,onCancel:()=>n.cancel(),onChange:a=>{let i=a.target.files?.[0];a.target.value="",i&&n.replaceImage(i);}},content:()=>null})}});function oy(e){let t=e.kind.value;return t==="date"?jsxRuntime.jsx(ei,{}):t==="picture"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(li,{}),jsxRuntime.jsx(ho,{}),jsxRuntime.jsx(Hr,{})]}):t==="comboBox"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Or,{}),jsxRuntime.jsx(Ar,{}),jsxRuntime.jsx(ho,{}),jsxRuntime.jsx(Br,{})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ar,{}),jsxRuntime.jsx(ho,{})]})}var ny=vue.defineComponent({name:"DocxEditorContentControlWidget",props:{session:{type:Object,required:true},className:String,style:Object,children:[Object,Array,String]},setup(e,{slots:t}){let o=Xe(),n=vue.toRef(e,"session"),r=lu(n);au(r);let l=vue.ref(e.session.signal.aborted),a=vue.ref(null),i=vue.computed(()=>e.session.kind==="checkbox"&&!t.default&&e.children===void 0),d=editor.contentControlPopupOpener(e.session.anchor),u=null,p=()=>{let s=d,c=u;if(d=null,u=null,!s?.isConnected||!c)return;let m=c.ownerDocument.activeElement;(m===c.ownerDocument.body||m&&c.contains(m))&&s.focus({preventScroll:true});};return vue.onBeforeUnmount(p),vue.watch(n,(s,c,m)=>{l.value=s.signal.aborted;let f=()=>{l.value=true;};s.signal.addEventListener("abort",f,{once:true}),m(()=>s.signal.removeEventListener("abort",f)),i.value&&!s.signal.aborted&&s.apply(s.value==="true"?"false":"true");},{immediate:true}),vue.watch([a,n],([s,c],m,f)=>{if(!s){p();return}u&&(p(),d=editor.contentControlPopupOpener(c.anchor)),u=s,c.anchor&&f(editor.observeContentControlPopup(s,c.anchor)),s.querySelector('[data-docx-part="grid"]')||(s.querySelector("input")??s.querySelector('[role=option][tabindex="0"]')??s.querySelector("select,button,[data-docx-part=empty]"))?.focus({preventScroll:true});},{flush:"post"}),vue.watch([a,l],([s,c],m,f)=>{if(!s||c)return;let g=h=>{s.contains(h.target)||e.session.cancel();};s.ownerDocument.addEventListener("pointerdown",g,true),f(()=>s.ownerDocument.removeEventListener("pointerdown",g,true));},{flush:"post"}),()=>{if(l.value||i.value)return null;let s=e.session,c=o(`contentControl.types.${s.kind}`);return jsxRuntime.jsx("div",{ref:a,role:"dialog","aria-label":c,class:["docx-content-control-widget-popup",e.className],style:e.style,"data-docx-popup":"contentControlWidget","data-docx-part":"popup","data-kind":s.kind,onPointerdown:m=>m.stopPropagation(),onKeydown:m=>{editor.contentControlPopupKeyDown(m.currentTarget,m,s.cancel),r.listNavigation.keyDown(m,m.currentTarget);},children:t.default?.()??e.children??oy(r)})}}}),ui=Object.assign(ny,{Navigation:ni,Month:ri,Year:ai,Calendar:ei,Header:Zl,PreviousMonth:Ul,Title:jl,NextMonth:Gl,Weekdays:Yl,Grid:Jl,Day:Xl,Today:Ql,List:Ar,Item:ti,Input:Or,Picture:li,Error:ho,Footer:Br,Apply:oi,Cancel:Hr});var sy={className:String,style:Object,hidden:Boolean,asChild:Boolean};function xo(e){let t=Symbol(e),o=Symbol(`${e}.parts`);function n(){let i=vue.inject(t);if(!i)throw new Error(`${e} parts must be rendered inside ${e}.`);return i}function r(i){return Object.assign(vue.defineComponent({name:`${e}${i}`,inheritAttrs:false,props:{...sy,name:{type:String,default:void 0}},setup(d,{attrs:u,slots:p}){let s=n(),c=vue.inject(o);return ()=>{if(d.hidden)return null;let m=i==="Field"?`Field:${d.name}`:i,f=c.defaults.value.get(m),g=p.default?.(),h=i==="Apply"?{type:"button",disabled:!s.isEnabled.value,onClick:s.apply}:i==="Cancel"?{type:"button",onClick:s.cancel}:{},b={...u,...f?.props,...h,class:[f?.props?.class,u.class,d.className],style:{...f?.props?.style,...d.style},"data-docx-part":i.toLowerCase(),...d.name?{"data-docx-field":d.name}:{}};return d.asChild?vue.h(L,{...b,class:[u.class,d.className],style:d.style},{default:()=>g}):f?g?vue.createVNode(f.type,b,g):vue.cloneVNode(f,b):i==="Error"&&!Object.keys(s.errors.value).length&&!g?null:vue.h(i==="Apply"||i==="Cancel"?"button":i==="Title"?"h2":"div",{...b,...i==="Error"?{role:"alert"}:{}},g??(i==="Error"?Object.values(s.errors.value).join(" "):void 0))}}}),{docxDialogPart:i})}let l={Header:r("Header"),Title:r("Title"),Body:r("Body"),Footer:r("Footer"),Apply:r("Apply"),Cancel:r("Cancel"),Error:r("Error"),Field:r("Field")};function a(i){vue.provide(t,i);let d={defaults:vue.shallowRef(new Map),overrides:new Map};return vue.provide(o,d),(u,p,s)=>{let c=new Map;d.overrides.clear();let m=[];for(let b of ue(p)){let y=b.type.docxDialogPart;y?d.overrides.set(y==="Field"?`Field:${b.props?.name}`:y,b):m.push(b);}let f=b=>b.flatMap(y=>Array.isArray(y)?f(y):[y]),g=(b,y)=>{let T=b.props?.["data-docx-part"],C=T==="field"?`Field:${b.props?.["data-docx-field"]}`:typeof T=="string"?T[0].toUpperCase()+T.slice(1):void 0,v=vue.cloneVNode(b);return Array.isArray(b.children)&&(v.children=f(b.children).map(x=>vue.isVNode(x)?g(x,y):x)),C&&(c.set(C,v),y&&d.overrides.has(C))?d.overrides.get(C):v},h=g(u,s);return d.defaults.value=c,s?[h,...m]:p}}return {parts:l,useContext:n,provideContext:a}}var gt=vue.defineComponent({name:"DocxNativeDialog",inheritAttrs:false,props:{onClose:{type:Function,required:true},label:{type:String,required:true},kind:{type:String,required:true},role:String,onKeydown:Function,dismissOutside:{type:Boolean,default:true},restoreFocus:{type:Boolean,default:true},sessionSignal:Object,content:Function},setup(e,{attrs:t,slots:o}){let n=vue.ref(),r=vue.ref(false),l=null;return vue.watch([n,()=>e.sessionSignal],([a,i],d,u)=>{if(!a)return;r.value=!a.parentElement?.closest(".docx-editor"),l=document.activeElement instanceof HTMLElement?document.activeElement:null;let p=()=>{a.open&&a.close?.();};i?.addEventListener("abort",p,{once:true}),u(()=>i?.removeEventListener("abort",p)),!a.open&&typeof a.showModal=="function"?a.showModal():a.setAttribute("open",""),(a.querySelector("input:not([disabled]),select:not([disabled]),button:not([disabled])")??a).focus({preventScroll:true});},{flush:"post"}),vue.onBeforeUnmount(()=>{n.value?.open&&n.value.close?.(),e.restoreFocus&&l?.isConnected&&l.focus({preventScroll:true});}),()=>vue.h("dialog",{...t,onKeydown:a=>{if(a.stopPropagation(),!(a.isComposing||a.defaultPrevented)){if(n.value&&editor.trapTabWithin(n.value,a)){a.preventDefault();return}a.key==="Escape"?(a.preventDefault(),e.onClose()):e.onKeydown?.(a);}},ref:n,role:e.role??"dialog","aria-modal":true,"aria-label":e.label,"data-docx-dialog":e.kind,class:["docx-dialog",r.value?"docx-editor":void 0,t.class],onCancel:a=>{a.preventDefault(),e.onClose();},onClick:a=>{if(a.stopPropagation(),e.dismissOutside&&a.target===n.value){let i=n.value.getBoundingClientRect();(a.clientX<i.left||a.clientX>i.right||a.clientY<i.top||a.clientY>i.bottom)&&e.onClose();}},onMousedown:a=>a.stopPropagation()},e.content?.()??o.default?.())}});function Kr(e,t){let o=D(),n=_(()=>o.value?.mountGeneration??0),r=null;return vue.watch([e,n],([l,a])=>{if(!l){r=null;return}if(r!==null&&r!==a){t();return}o.value?.surface&&(r=a);},{immediate:true,flush:"post"}),()=>r!==null&&o.value?.surface&&r===o.value.mountGeneration?true:(t(),false)}var fi=vue.defineComponent({name:"DocxEditorInvalidTextFormFieldDialog",props:{session:{type:Object,required:true},className:String,style:Object,children:Object},setup(e,{slots:t}){let o=Xe(),n=vue.ref(false);return vue.watch(()=>e.session,(r,l,a)=>{n.value=r.signal.aborted;let i=()=>{n.value=true;};r.signal.addEventListener("abort",i,{once:true}),a(()=>r.signal.removeEventListener("abort",i));},{immediate:true}),()=>n.value?null:jsxRuntime.jsx(gt,{kind:"invalidTextFormField",label:o("textFormField.invalidTitle"),role:"alertdialog",class:e.className,style:e.style,onClose:()=>e.session.acknowledge(),sessionSignal:e.session.signal,restoreFocus:false,dismissOutside:false,onKeydown:r=>{r.key==="Enter"&&!r.isComposing&&(r.preventDefault(),e.session.acknowledge());},content:()=>t.default?.()??e.children??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("header",{class:"docx-dialog__header",children:jsxRuntime.jsx("h2",{class:"docx-dialog__title",children:o("textFormField.invalidTitle")})}),jsxRuntime.jsx("div",{class:"docx-dialog__body",children:o(e.session.type==="number"?"textFormField.invalidNumber":"textFormField.invalidDate")}),jsxRuntime.jsx("footer",{class:"docx-dialog__footer",children:jsxRuntime.jsx("button",{class:"docx-dialog__button docx-dialog__button--primary",type:"button",onClick:()=>e.session.acknowledge(),children:o("textFormField.apply")})})]})})}});function gy(e){return t=>vue.h(e,t)}var wu=new WeakMap,yy=0;function ge(e,t,o){if(e===false)return null;let n;o&&(n=wu.get(o),n===void 0&&(n=++yy,wu.set(o,n)));let r=e(t);return o?vue.h(vue.Fragment,{key:n},[r]):r}function un(e){return {get current(){return e.value}}}var Mu=new WeakMap;function Q(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=Mu.get(o)??0;return Mu.set(o,n+1),`docx-${n}-${e}`}function le(e){return e/1440*96}function Vr(e){return e/96*1440}function B(e){return `${Math.round(e*100)/100}px`}function To(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 cn(e){return e.paragraphId===""}var Ot=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),Cy=e=>e;function Ty(){let e=o=>!!o&&(o.width>0||o.height>0);if(typeof document<"u"){let n=document.querySelector("[data-docx-caret]")?.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom}}let t=typeof window>"u"?null:window.getSelection();if(t&&t.rangeCount>0){let o=t.getRangeAt(0),n=o.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom};let r=o.startContainer,a=(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.getBoundingClientRect();if(e(a))return {left:a.left,top:a.bottom}}return null}var gi=Symbol("HyperlinkPopupContext");function ke(){let e=vue.inject(gi,null),t=Wr(e===null);return e??t}function Wr(e=true){let t=D(),o=vue.ref(Ot),n=vue.shallowRef(null),r=_(Cy),l=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),a=()=>{let y=n.value;y&&(y.editor.releaseSelection(y.pin),n.value=null);};j(a);let i=(y,T)=>{a();let C=t.value;o.value={mode:y?"reading":"editing",link:y??null,anchor:T??null,text:y?.text??"",url:y?y.kind==="internal"?`#${y.anchor??""}`:y.authored:"",copied:false,error:false,canEdit:C?t.value.can({type:"insertText",text:""}).ok:false};},d=()=>{a(),o.value=Ot;},u=()=>{let y=t.value,T=Ty();a();let C=y?.surface?.hyperlinks.linkAtCaret()??y?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(C&&cn(C)){i(C,T);return}if(C){o.value={mode:"editing",link:C,anchor:T,text:C.text,url:C.kind==="internal"?`#${C.anchor??""}`:C.authored,copied:false,error:false,canEdit:y?t.value.can({type:"insertText",text:""}).ok:false};return}let v=y?.query({type:"selectedText"})??"",x=y?.retainSelection()??null;y&&x&&(n.value={editor:y,pin:x}),o.value={mode:"editing",link:null,anchor:T,text:v,url:"",copied:false,error:false,canEdit:y?t.value.can({type:"insertText",text:""}).ok:false};};j(vue.watch(()=>[t.value,e],([y,T],C,v)=>{if(!y||!T)return;let x=y.setHyperlinkChrome({onPopover:w=>i(w.link,{left:w.rect.left,top:w.rect.bottom}),onRequest:u});v(x);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let y=o.value,T=t.value;if(y.mode==="reading"&&y.link){let C=cn(y.link)?T?.surface?.hyperlinks.fieldLinkAtCaret()??null:T?.surface?.hyperlinks.linkAtCaret()??null;if(C&&C.id===y.link.id)return;o.value=Ot;return}if(y.mode==="editing"&&!y.link){let C=T?.surface;if(!C||C.retainedSelection())return;o.value=Ot;}});let p=async()=>{let y=o.value.link?.href;if(!y)return false;try{await navigator.clipboard.writeText(y);}catch{return false}return o.value={...o.value,copied:true},true},s=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=y=>{o.value={...o.value,text:y,copied:false,error:false};},m=y=>{o.value={...o.value,url:y,copied:false,error:false};},f=()=>{let y=t.value,T=o.value,C=y?.surface?.hyperlinks;if(!C)return false;let v=T.url.trim();if(v.length===0)return o.value={...T,error:true},false;let x=v.startsWith("#");return C.applyHyperlink({...x?{anchor:v.slice(1)}:{url:v},...T.text.trim().length>0?{text:T.text}:{}})?(d(),true):(o.value={...T,error:true},false)},g=()=>{let y=t.value?.surface?.hyperlinks,T=o.value.link;if(!y)return false;let C=y.removeHyperlink(T?.id);return C&&d(),C},h=()=>{let y=t.value?.surface?.navigation,T=o.value.link;if(!y||!T)return false;if(T.kind==="internal"){let v=T.anchor?y.goToBookmark(T.anchor):false;return v&&(o.value=Ot),v}let C=y.openExternal(T.href);return C&&(o.value=Ot),C};return {state:vue.computed(()=>o.value.mode==="closed"?Ot:{...o.value,canEdit:l.value}),open:i,openAtCaret:u,close:d,copy:p,beginEdit:s,setText:c,setUrl:m,commitEdit:f,unlink:g,openTarget:h}}function Bt(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var qr=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"})}),wy="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",Ry="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",My="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",Dy="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 _y(e){let t={},o=[],n=r=>{for(let l of r){if(!vue.isVNode(l))continue;if(l.type===vue.Fragment){n(ue(l.children));continue}let a=l.type.docxHyperLinkPart;a?t[a]=l:o.push(l);}};return n(e),o.length>0&&(t.__extra=o),t}var hi=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=ke(),{t:n}=k();return ()=>{let r=o.state.value;if(e.hidden||!r.link)return null;let l=!r.link.href,a=r.link.kind==="internal",i=a?`#${r.link.anchor??""}`:r.link.authored,d=n(l?"hyperlinkPopup.inertTarget":a?"hyperlinkPopup.bookmarkTarget":"hyperlinkPopup.openLink"),u={class:`docx-hyperlink-popup__url${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-url",...l?{"data-inert":""}:{},title:d,onMousedown:Bt,...l?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(L,{...u,class:e.className,children:p}):l?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:d})]}):jsxRuntime.jsxs("button",{...u,children:[p,qr(Dy)]})}}});hi.docxHyperLinkPart="Url";var xi=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=ke(),{t:n}=k();return ()=>{let r=o.state.value;if(e.hidden||!r.link?.href)return null;let l=r.copied?n("editor.linkCopied"):n("hyperlinkPopup.copyLink"),a={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-copy",...r.copied?{"data-copied":""}:{},"aria-label":l,title:l,onMousedown:Bt,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??qr(wy);return e.asChild?jsxRuntime.jsx(L,{...a,class:e.className,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}});xi.docxHyperLinkPart="Copy";var Ci=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=ke(),{t:n}=k();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.editLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-edit","aria-label":r,title:r,onMousedown:Bt,onClick:()=>o.beginEdit()},a=e.icon??t.default?.()??qr(Ry);return e.asChild?jsxRuntime.jsx(L,{...l,class:e.className,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});Ci.docxHyperLinkPart="Edit";var Ti=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=ke(),{t:n}=k();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.removeLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-unlink","aria-label":r,title:r,onMousedown:Bt,onClick:()=>o.unlink()},a=e.icon??t.default?.()??qr(My);return e.asChild?jsxRuntime.jsx(L,{...l,class:e.className,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});Ti.docxHyperLinkPart="Unlink";var Ei=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=ke(),{t:o}=k(),n=vue.ref(null),r=Q("hyperlink-text"),l=Q("hyperlink-url"),a=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(a),vue.watch(()=>t.state.value.mode,d=>{d==="editing"&&a();},{flush:"post"});let i=d=>{if(d.key==="Enter"){d.preventDefault(),t.commitEdit();return}d.key==="Escape"&&(d.preventDefault(),t.close());};return ()=>{if(e.hidden)return null;let d=t.state.value;return jsxRuntime.jsxs("div",{class:`docx-hyperlink-popup__fields${e.className?` ${e.className}`:""}`,children:[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:o("hyperlinkPopup.displayTextPlaceholder")}),jsxRuntime.jsx("input",{id:r,"data-testid":"hyperlink-popup-text",class:"docx-hyperlink-popup__input",value:d.text,placeholder:o("hyperlinkPopup.displayTextPlaceholder"),onInput:u=>t.setText(u.target.value),onKeydown:i}),jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:l,children:o("hyperlinkPopup.urlPlaceholder")}),jsxRuntime.jsx("input",{id:l,ref:n,"data-testid":"hyperlink-popup-url-input",class:"docx-hyperlink-popup__input",value:d.url,placeholder:o("hyperlinkPopup.urlPlaceholder"),onInput:u=>t.setUrl(u.target.value),onKeydown:i})]})}}});Ei.docxHyperLinkPart="Fields";var Si=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=ke(),{t:n}=k();return ()=>{if(e.hidden)return null;let r=o.state.value,l=n("hyperlinkPopup.apply"),a={type:"button",class:`docx-hyperlink-popup__apply${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-apply",disabled:r.url.trim().length===0,onMousedown:Bt,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(L,{...a,class:e.className,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??l})}}});Si.docxHyperLinkPart="Apply";var Pi=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=ke(),{t:o}=k();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")})}}});Pi.docxHyperLinkPart="Error";var wi=vue.defineComponent({name:"HyperLinkCancel",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=ke(),{t:n}=k();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.cancel"),l={type:"button",class:`docx-hyperlink-popup__cancel${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-cancel",onMousedown:Bt,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(L,{...l,class:e.className,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??r})}}});wi.docxHyperLinkPart="Cancel";var ky=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=ke();return ()=>{let n=o.state.value,r=_y(ue(t.default?.()??[])),l=(i,d)=>i in r?r[i]:d;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Fields",jsxRuntime.jsx(Ei,{})),l("Error",jsxRuntime.jsx(Pi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Apply",jsxRuntime.jsx(Si,{})),l("Cancel",jsxRuntime.jsx(wi,{}))]}),r.__extra]});let a=n.canEdit&&!(n.link&&cn(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Url",jsxRuntime.jsx(hi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Copy",jsxRuntime.jsx(xi,{})),a?l("Edit",jsxRuntime.jsx(Ci,{})):null,a?l("Unlink",jsxRuntime.jsx(Ti,{})):null]}),r.__extra]})}}}),Iy=vue.defineComponent({name:"DocxEditorHyperLink",props:{children:Object,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=ke(),n=vue.ref(null),r=vue.ref(null),{t:l}=k();return vue.watch(()=>o.state.value.mode,(a,i,d)=>{if(a==="closed")return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.close());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.close();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch(()=>o.state.value.anchor,()=>{let a=o.state.value.anchor,i=n.value;if(!a||!i){r.value=null;return}let d=i.offsetParent;if(!d){r.value=null;return}let{left:u,top:p}=To(d,a.left,a.top),s=Math.max(0,d.scrollWidth-i.offsetWidth);r.value={left:B(Math.max(0,Math.min(u,s))),top:B(p)};},{flush:"post"}),()=>{let a=o.state.value,i=a.mode==="editing"?l(a.link?"hyperlinkPopup.editTitle":"hyperlinkPopup.insertTitle"):l("hyperlinkPopup.editLink");if(e.hidden)return a.mode==="closed"?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.default?.()});if(a.mode==="closed")return null;let d=e.preset?jsxRuntime.jsx(ky,{children:t.default?.()}):t.default?.(),u={ref:n,class:`docx-hyperlink-popup${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup","data-mode":a.mode,role:"dialog","aria-modal":false,onMousedown:Bt,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(L,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),pn=Object.assign(Iy,{Url:hi,Copy:xi,Edit:Ci,Unlink:Ti,Fields:Ei,Error:Pi,Apply:Si,Cancel:wi});var Ie={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function Ly(e){return e==="sdtLocked"||e==="sdtContentLocked"}function Ay(e){return e==="contentLocked"||e==="sdtContentLocked"}function Mi(e,t){return !e.ok&&e.code===t}function Qe(){let e=vue.inject(Di,null),t=zr();return e??t}function zr(){let e=D(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=_(g=>g),l=vue.computed(()=>e.value?.surface??null),a=vue.computed(()=>l.value?.contentControls??null);vue.watch([r,a,l],()=>{let g=a.value,h=l.value;o.value=g?.showAll()??h?.state().contentControls.showAll??false,n.value=g?.formFill()??h?.state().contentControls.formFill??false;},{immediate:true,flush:"post"});let i=vue.computed(()=>{r.value;let g=a.value;if(!e.value)return null;let h=g?.atCaret()??null;if(h){let x=g?.disabledReason(h.id,"edit")??null,w=g?.disabledReason(h.id,"remove")??null;return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:Ay(h.effectiveLock)||x==="locked",removalLocked:Ly(h.effectiveLock)||w==="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 y=g?.disabledReason(b.id,"edit")??null,T=g?.disabledReason(b.id,"remove")??null,C=e.value.can({type:"setContentControlValue",value:""}),v=e.value.can({type:"removeContentControl"});return {id:b.id,tag:b.tag??null,alias:b.alias??null,controlType:b.controlType,locked:b.locked===true||y==="locked"||Mi(C,"locked"),removalLocked:T==="locked"||Mi(v,"locked"),placeholder:false,bound:y==="bound"||Mi(C,"bound"),effectiveLock:null}}),d=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=g=>{a.value?.setShowAll(g),o.value=g;},p=g=>{a.value?.setFormFill(g),n.value=g;},s=vue.computed(()=>{let g=i.value,h=a.value;if(!g)return "no content control at the current selection";if(h){let y=h.disabledReason(g.id,"edit");return y==="locked"?"the content control is locked":y==="bound"?"the content control is bound to external data":y==="notFound"?"the content control was not found":y}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=a.value;if(!g)return "no content control at the current selection";if(h){let y=h.disabledReason(g.id,"remove");return y==="locked"?"the content control is locked":y==="notFound"?"the content control was not found":y}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}),m=g=>{let h=a.value,b=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(h&&b){let y=h.disabledReason(b.id,"edit");if(y)return {ok:false,code:y==="bound"?"bound":y==="locked"?"locked":"notFound",reason:y==="bound"?"the content control is bound to external data":y==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:g})},f=()=>{let g=a.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 y=g.disabledReason(b,"remove");return y?{ok:false,code:y==="locked"?"locked":"notFound",reason:y==="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:d,showAll:vue.computed(()=>o.value),formFill:vue.computed(()=>n.value),inspectorOpen:vue.computed(()=>t.value),canSetValue:vue.computed(()=>s.value===null&&i.value!==null),canRemove:vue.computed(()=>c.value===null&&i.value!==null),setValueDisabledReason:s,removeDisabledReason:c,setShowAll:u,toggleShowAll:()=>u(!o.value),setFormFill:p,toggleFormFill:()=>p(!n.value),openInspector:()=>{t.value=true;},closeInspector:()=>{t.value=false;},toggleInspector:()=>{t.value=!t.value;},remove:f,setValue:m}}var Di=Symbol("ContentControlContext");function _i(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Iu=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"})}),Hy="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",By="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",Ky={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"},Vy={display:"flex",justifyContent:"space-between",gap:"12px",alignItems:"baseline"},Wy={color:"var(--doc-text-muted)",flexShrink:0},qy={textAlign:"right",wordBreak:"break-word"},zy={display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontWeight:600},$y={display:"flex",gap:"8px",marginTop:"4px"},Nu={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 Uy(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 "buildingBlockGallery":return "contentControl.types.buildingBlockGallery";case "repeatingSection":return "contentControl.types.repeatingSection";default:return "contentControl.types.richText"}}function Gy(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 Eo=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:Vy,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:Wy,children:e.label}),jsxRuntime.jsx("span",{style:qy,children:e.value})]})}}),Fu=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}=Qe(),{t:n}=k();return ()=>{if(e.hidden)return null;let r={style:zy,class:e.className??void 0,"data-testid":"content-control-inspector-header"},l=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{children:t.default?.()??n("contentControl.inspectorPanel.title")}),jsxRuntime.jsx("button",{type:"button","data-testid":"content-control-inspector-close","aria-label":n("common.close"),title:n("common.close"),style:{...Nu,padding:"4px",border:"none",background:"transparent"},onMousedown:_i,onClick:()=>o(),children:Iu(Hy)})]});return e.asChild?jsxRuntime.jsx(L,{...r,children:l}):jsxRuntime.jsx("div",{...r,children:l})}}}),Lu=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}=Qe(),{t:n}=k();return ()=>{let r=o.value;if(e.hidden||!r)return null;let l=n("contentControl.inspectorPanel.empty"),a=n("contentControl.inspectorPanel.yes"),i=n("contentControl.inspectorPanel.no"),d=t.default?.()??[jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??l,testId:"content-control-inspector-alias"}),jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??l,testId:"content-control-inspector-tag"}),jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.type"),value:n(Uy(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.lock"),value:n(Gy(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?a:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx(Eo,{label:n("contentControl.inspectorPanel.bound"),value:r.bound?a:i,testId:"content-control-inspector-bound"}),r.bound?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-bound-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},children:n("contentControl.inspectorPanel.boundNote")}):null,r.locked?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-locked-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},"aria-live":"polite",children:n("contentControl.inspectorPanel.lockedNote")}):null],u={class:e.className??void 0,"data-testid":"content-control-inspector-fields",style:{display:"flex",flexDirection:"column",gap:"8px"}};return e.asChild?jsxRuntime.jsx(L,{...u,children:d}):jsxRuntime.jsx("div",{...u,children:d})}}}),Au=vue.defineComponent({name:"ContentControlRemove",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r,closeInspector:l}=Qe(),{t:a}=k();return ()=>{if(e.hidden)return null;let i=a("contentControl.remove"),d={type:"button",class:`docx-content-control-inspector__remove${e.className?` ${e.className}`:""}`,"data-testid":"content-control-inspector-remove","data-slot":"contentControl.remove",disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":i,title:n.value??i,style:Nu,onMousedown:_i,onClick:()=>{r().ok&&l();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??Iu(By),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(L,{...d,children:u}):jsxRuntime.jsx("button",{...d,children:u})}}}),jy=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=Qe(),n=vue.ref(null),r=Q("content-control-title"),{t:l}=k();return vue.watch(()=>o.inspectorOpen.value,(a,i,d)=>{if(!a)return;let u=s=>{s.key==="Escape"&&(s.preventDefault(),o.closeInspector());},p=s=>{let c=n.value;c&&s.target instanceof Node&&c.contains(s.target)||o.closeInspector();};document.addEventListener("keydown",u),document.addEventListener("mousedown",p,true),d(()=>{document.removeEventListener("keydown",u),document.removeEventListener("mousedown",p,true);});}),vue.watch([()=>o.inspectorOpen.value,()=>o.control.value],([a,i])=>{a&&!i&&o.closeInspector();}),()=>{let a=o.control.value;if(e.hidden||!o.inspectorOpen.value||!a)return null;let i=e.preset?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Fu,{}),jsxRuntime.jsx(Lu,{}),jsxRuntime.jsx("div",{style:$y,children:jsxRuntime.jsx(Au,{})}),t.default?.()]}):t.default?.(),d={ref:n,role:"dialog","aria-modal":false,"aria-labelledby":r,"data-testid":"content-control-inspector","data-control-id":a.id,"data-control-type":a.controlType,...a.locked?{"data-locked":""}:{},...a.bound?{"data-bound":""}:{},...a.placeholder?{"data-placeholder":""}:{},class:`docx-content-control-inspector${e.className?` ${e.className}`:""}`,style:Ky,onMousedown:p=>{_i(p),p.stopPropagation();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{id:r,class:"docx-editor-sr-only",children:l("contentControl.inspectorPanel.title")}),i]});return e.asChild?jsxRuntime.jsx(L,{...d,children:u}):jsxRuntime.jsx("div",{...d,children:u})}}}),gn=Object.assign(jy,{Header:Fu,Fields:Lu,Remove:Au});function ki(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var vn=vue.defineComponent({name:"DocxEditorEquation",setup(){let e=D(),{t}=k(),o=vue.ref(null),n=vue.ref(null),r=Q("equation-input"),l=Q("equation-error"),a=Q("equation-disabled-reason"),i=null,d=null,u=null,p=_(g=>g),s=vue.computed(()=>{p.value;let g=e.value,h=o.value?.activation;if(!g?.surface||!h)return {replaceEnabled:false,removeEnabled:false,reason:null};let b=g.surface.equations.can(h.equation.id,"replace"),y=g.surface.equations.can(h.equation.id,"remove"),T=b.ok?y.ok?null:y.reason:b.reason;return {replaceEnabled:b.ok,removeEnabled:y.ok,reason:T?i18n.localizeDisabledReason(T,t):null}}),c=(g=false)=>{let h=e.value;u?.(),u=null,o.value=null,g&&h&&queueMicrotask(()=>h.focus());};vue.watch(e,(g,h,b)=>{if(!g)return;let y=g.setEquationChrome({onPopover:T=>{u?.();let C=g.surface;if(C&&typeof C.retainSelection=="function"){let v=C.retainSelection();u=()=>C.releaseSelection(v);}else u=null;o.value={activation:T,mountGeneration:g.mountGeneration,draft:T.equation.linear,error:false};}});b(()=>{y(),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 y=false,T=null,C=null,v=null;queueMicrotask(()=>{if(y)return;let x=i;T=x?.ownerDocument??null;let w=T?.defaultView;!x||!T||!w||(C=E=>{E.key==="Escape"&&(E.preventDefault(),c(true));},v=E=>{E.target instanceof w.Node&&x.contains(E.target)||c();},T.addEventListener("keydown",C),T.addEventListener("pointerdown",v,true));}),b(()=>{y=true,T&&C&&T.removeEventListener("keydown",C),T&&v&&T.removeEventListener("pointerdown",v,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 y=To(b,g.rect.left,g.rect.bottom),T=Math.max(0,b.scrollWidth-h.offsetWidth);n.value={left:B(Math.max(0,Math.min(y.left,T))),top:B(y.top)};}else n.value=null;d?.focus({preventScroll:true}),d?.select();},{flush:"post"});let m=g=>{let h=o.value,b=e.value?.surface?.equations;if(!h||!b||!s.value.replaceEnabled)return false;let y=b.applyEquation(h.activation.equation.id,g??h.draft);return y?c(true):o.value={...h,error:true},y},f=()=>{let g=o.value,h=e.value?.surface?.equations;if(!g||!h||!s.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=>{d=b.el;},onVnodeUnmounted:()=>{d=null;},class:"docx-equation-popup__input","data-testid":"equation-popup-input",value:g.draft,placeholder:t("equationPopup.placeholder"),spellcheck:false,"aria-describedby":[g.error?l:null,s.value.reason?a:null].filter(Boolean).join(" ")||void 0,onInput:b=>{let y=o.value;y&&(o.value={...y,draft:b.target.value,error:false});},onKeydown:b=>{b.key!=="Enter"||b.isComposing||(b.preventDefault(),m(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:ki},[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:t("equationPopup.inputLabel")}),h,g.error?jsxRuntime.jsx("div",{id:l,class:"docx-equation-popup__error","data-testid":"equation-popup-error",role:"alert",children:t("equationPopup.refused")}):null,s.value.reason?jsxRuntime.jsx("div",{id:a,class:"docx-equation-popup__error","data-testid":"equation-popup-disabled-reason",role:"status",children:s.value.reason}):null,jsxRuntime.jsxs("div",{class:"docx-equation-popup__actions",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__apply","data-testid":"equation-popup-apply",disabled:!s.value.replaceEnabled,title:s.value.reason??void 0,onMousedown:ki,onClick:()=>m(d?.value),children:t("equationPopup.apply")}),jsxRuntime.jsx("button",{type:"button",class:"docx-equation-popup__delete","data-testid":"equation-popup-delete",disabled:!s.value.removeEnabled,title:s.value.reason??void 0,onMousedown:ki,onClick:f,children:t("equationPopup.delete")})]})])}}});function ev(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 Gr(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=ev(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function jr(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 Zr({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:l}){if(!o)return t;let a=new Map,i=[];for(let s of t){if(!vue.isVNode(s))continue;let c=r(s);c?a.set(c,s):i.push(s);}let d=e.map((s,c)=>{let m=n(s,c),f=a.get(m);return f||l(s,c)}),u=new Set(e.map(n)),p=[...a.entries()].filter(([s])=>!u.has(s)).map(([,s])=>s);return [...d,...p,...i]}var hn=Symbol("MenuContext"),rv={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 Re(){let e=vue.inject(hn,rv);return vue.computed(()=>vue.unref(e))}function ie(){let e=Re(),{t}=k();return o=>e.value.t?.(o)??t(o)}var av='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function yt(e){return [...e.querySelectorAll(av)].filter(t=>t.closest('[role="menu"]')===e)}function Ii(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function Be(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 Ke(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}var lv="https://github.com/eigenpal/docx-editor/issues/new";function iv(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function sv(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??iv()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
- `),l=new URLSearchParams({title:"[Bug] ",body:r});return `${lv}?${l.toString()}`}function Bu(e){typeof window>"u"||window.open(sv(e),"_blank","noopener,noreferrer");}function gv(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason&&e.value===t.value}function Ni(e){return typeof e=="string"}function U(e){let t=e,o=D(),{t:n}=k(),r=vue.shallowRef(vue.toValue(t));vue.watch(()=>vue.toValue(t),u=>{r.value=u;},{flush:"sync"});let l=vue.computed(()=>{let u=r.value;return Ni(u)?u:editor.editorCommandKey(u)}),i=_(u=>{let p=r.value;if(Ni(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 s=o.value.can(p);return {active:o.value.isActive(p),enabled:s.ok,disabledReason:s.ok?null:i18n.localizeDisabledReason(s.reason??null,n),value:null}},gv,{extraDeps:l});return l.value,{execute:u=>{let p=editor.commandExecOptions(u),s=r.value;return Ni(s)?editor.runToolbarCommand(o.value,s,void 0,p??{}).ok:o.value?o.value.exec(s,p).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 So(){let e=vue.ref(false);return vue.onMounted(()=>{e.value=true;}),t=>e.value?i18n.platformShortcut(t):t}var Yr=Symbol("ToolbarContext"),Tv={t:void 0,onSave:void 0};function Xr(){let e=vue.inject(Yr,Tv);return vue.computed(()=>vue.unref(e))}function K(){let e=Xr(),{t}=k();return o=>e.value.t?.(o)??t(o)}function Ev(e){let{t}=k();return o=>e?.(o)??t(o)}function V(e){for(let t of editor.CHROME_GROUPS)for(let o of t.controls)if(editor.chromeSlotId(t,o)===e)return o;return null}function q(e){return e?vue.h("svg",{viewBox:"0 -960 960 960",width:18,height:18,ariaHidden:"true",focusable:"false"},e.map(t=>vue.h("path",{key:t,d:t,fill:"currentColor"}))):null}function I(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Kt=vue.defineComponent({name:"ToolbarButton",props:{slot:{type:String,required:true},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0},class:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e,{slots:t}){let o=K(),n=So(),r=U(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let l=V(e.slot),a=n(o(l?.labelKey??e.slot)),i=editor.chromeSlotIsToggle(e.slot),d={onClick:()=>r.execute(),onMousedown:I,disabled:!r.isEnabled.value,"data-slot":e.slot,class:_e("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":a,title:r.disabledReason.value??a},u=e.icon??t.default?.()??q(l?.paths);return e.asChild?vue.h(L,d,t.default):vue.h("button",{type:"button",...d},u??void 0)}}});Kt.docxToolbarPart=true;var qu=12700,Wu=96;function Iv(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function Nv(e,t,o,n){let r=e*72/o,l=t*72/n;return {widthPoints:Math.max(1,Math.round(r*100)/100),heightPoints:Math.max(1,Math.round(l*100)/100)}}function Qr(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(!Iv(o))return o==="image/svg+xml"||o==="image/tiff"?{ok:false,reasonKey:"imageInsert.errors.unsupportedFormat"}:{ok:false,reasonKey:"imageInsert.errors.invalidSignature"};let n=editor.validateRasterHeader(e,o);if(!n)return {ok:false,reasonKey:"imageInsert.errors.invalidSignature"};if(n.pixelWidth*n.pixelHeight>t.maxPixels||n.pixelWidth>t.maxDimension||n.pixelHeight>t.maxDimension)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let{widthPoints:l,heightPoints:a}=Nv(n.pixelWidth,n.pixelHeight,n.dpiX??Wu,n.dpiY??Wu);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:l,heightPoints:a})}function vt(e){return Math.round(e/qu*100)/100}function Cn(e){return Math.round(e*qu)}var Bv="image/png,image/jpeg,image/gif",Fi=Symbol("ImageInsertContext");function ju(){let e=vue.inject(Fi,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function Tn(){return vue.inject(Fi,null)}var ea=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=D(),{t:n}=k(),r=vue.ref(null),l=vue.ref(false),a=_(()=>editor.toolbarCommandState(o.value,"image.insert"),(m,f)=>m.enabled===f.enabled&&m.disabledReason===f.disabledReason),i=async m=>{let f=o.value;if(!f||l.value)return;let g=Qr(m);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=f.canExecuteImageCommand?.(h);if(b&&!b.ok){window.alert(b.reason??n("imageInsert.errors.refused"));return}l.value=true;try{let y=await editor.executeImageCommand(f,h);y.ok?f.focus():window.alert(y.reason??n("imageInsert.errors.refused"));}finally{l.value=false;}},d=async m=>{let f=m?.[0];if(!f)return;let g=await f.arrayBuffer();await i(new Uint8Array(g));},u=async m=>{if(!m)return;let f=[...m.files].find(g=>g.type.startsWith("image/"));if(f){await d([f]);return}for(let g of m.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=()=>{a.value.enabled&&r.value?.click();},s=async m=>{let f=m.currentTarget;await d(f.files),f.value="";};return vue.provide(Fi,{openFilePicker:p,insertFromFileList:d,insertFromDataTransfer:u,get isEnabled(){return a.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(a.value.disabledReason,n)},inputRef:r,onInputChange:s}),()=>[vue.h("input",{ref:r,type:"file",accept:Bv,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:s,onMousedown:m=>m.stopPropagation()}),...ue(t.default?.()??[])]}}),ta=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=ju(),n=K();return ()=>{if(e.hidden)return null;let r=V("image.insert"),l=n(r?.labelKey??"toolbar.image"),a={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.insert",disabled:!o.isEnabled,...o.isEnabled?{}:{"data-disabled":""},"aria-label":l,title:o.disabledReason??l,onMousedown:I,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(L,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??q(r?.paths)})}}});ta.docxSlot="image.insert";var oa=Object.assign(ta,{docxSlot:"image.insert"});var Li=6,Zu=6,En=8,Ve=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=ie(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(null),a=Q("menu-flyout"),i=vue.ref(null);return vue.watch(n,d=>{if(!d){i.value=null;return}let u=r.value,p=l.value,s=u?.ownerDocument.defaultView;if(!u||!p||!s)return;let c=u.getBoundingClientRect(),m=p.offsetWidth,f=p.offsetHeight,g=c.right+m>s.innerWidth-En;i.value={left:g?Math.max(En,c.left-m):Math.min(c.right,s.innerWidth-m-En),top:Math.max(En,Math.min(c.top-4,s.innerHeight-f-En))};},{flush:"post"}),()=>{let d=o(e.labelKey);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__submenu${e.className?` ${e.className}`:""}`,onMouseenter:()=>{n.value=true;},onMouseleave:()=>{n.value=false;},onKeydown:u=>{u.key==="ArrowRight"&&document.activeElement===r.value?(u.preventDefault(),n.value=true,queueMicrotask(()=>{l.value&&Ke(yt(l.value),"first");})):(u.key==="ArrowLeft"||u.key==="Escape")&&n.value&&(u.preventDefault(),u.stopPropagation(),n.value=false,r.value?.focus());},onBlur:u=>{u.currentTarget?.contains(u.relatedTarget)||(n.value=false);},children:[jsxRuntime.jsxs("button",{ref:r,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":n.value,"aria-controls":n.value?a:void 0,class:"docx-toolbar__menu-item docx-menubar__item",tabindex:-1,...n.value?{"data-open":""}:{},onMousedown:I,onFocus:()=>{n.value=true;},onClick:()=>{n.value=true;},children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:q(e.paths)}),jsxRuntime.jsx("span",{class:"docx-menubar__item-label",children:d}),jsxRuntime.jsx("span",{class:"docx-menubar__item-caret","aria-hidden":"true",children:"\u203A"})]}),n.value?jsxRuntime.jsx("div",{ref:l,id:a,class:"docx-toolbar__menu docx-menubar__menu docx-menubar__submenu-panel",role:"menu","aria-label":d,style:i.value?{position:"fixed",left:B(i.value.left),top:B(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=l.value;if(!p)return;let s=yt(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),Be(s,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),Be(s,document.activeElement,-1));},children:t.default?.()}):null]})}}}),Sn=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=D(),o=U(vue.computed(()=>e.slot??"table.insert")),n=Re(),r=ie(),l=vue.ref(null),a=vue.ref({rows:1,cols:1}),i=vue.ref(null),d=(p,s)=>{if(!t.value||!o.isEnabled.value)return;let c={type:"insertTable",rows:p,cols:s};t.value.can(c).ok&&(t.value.exec(c),n.value.setOpenMenu(null),t.value.focus());},u=p=>{let s=a.value,c={rows:Math.min(Zu,Math.max(1,s.rows+(p.rows??0))),cols:Math.min(Li,Math.max(1,p.toCol??s.cols+(p.cols??0)))};a.value=c,l.value=c,queueMicrotask(()=>i.value?.querySelector(`[data-cell="${c.rows}x${c.cols}"]`)?.focus());};return ()=>{let p=[];for(let s=1;s<=Zu;s+=1){let c=[];for(let m=1;m<=Li;m+=1){let f=!!l.value&&s<=l.value.rows&&m<=l.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${s}x${m}`,class:"docx-menubar__grid-cell",tabindex:a.value.rows===s&&a.value.cols===m?0:-1,...f?{"data-filled":""}:{},"aria-label":`${m} \xD7 ${s}`,onMousedown:I,onMouseenter:()=>{l.value={rows:s,cols:m};},onFocus:()=>{l.value={rows:s,cols:m};},onClick:()=>d(s,m)},m));}p.push(jsxRuntime.jsx("div",{role:"row",class:"docx-menubar__grid-row",children:c},s));}return jsxRuntime.jsxs("div",{ref:i,role:"grid",class:`docx-menubar__grid${e.className?` ${e.className}`:""}`,"aria-label":r("toolbar.insertTable"),onKeydown:s=>{if(s.key==="ArrowRight")u({cols:1});else if(s.key==="ArrowLeft")u({cols:-1});else if(s.key==="ArrowDown")u({rows:1});else if(s.key==="ArrowUp")u({rows:-1});else if(s.key==="Home")u({toCol:1});else if(s.key==="End")u({toCol:Li});else if(s.key==="Enter"||s.key===" ")s.preventDefault(),d(a.value.rows,a.value.cols);else return;s.preventDefault(),s.stopPropagation();},children:[jsxRuntime.jsx("div",{class:"docx-menubar__grid-cells",children:p}),jsxRuntime.jsx("div",{class:"docx-menubar__grid-caption","aria-hidden":"true",children:l.value?`${l.value.cols} \xD7 ${l.value.rows}`:""})]})}}}),Yu=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=U(e.entry.slot),o=V(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(Ve,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(Sn,{slot:e.entry.slot})}):jsxRuntime.jsx(et,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function Pe(e){return {rowSlot:e}}var ce=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=Q("menu-reason"),n=So();return ()=>{let{icon:r,shortcut:l,disabled:a,title:i,active:d,selected:u,className:p}=e,s=e.selectHandler??e.onSelect,c=e.rowSlot??e.slot??e["data-slot"]??void 0,m=a&&i?o:void 0;return jsxRuntime.jsxs("button",{type:"button",role:d===void 0?"menuitem":u===void 0?"menuitemcheckbox":"menuitemradio",class:`docx-toolbar__menu-item docx-menubar__item${p?` ${p}`:""}`,tabindex:-1,...c?{"data-slot":c}:{},...d?{"data-active":""}:{},...a?{"data-disabled":"","aria-disabled":true}:{},...d!==void 0?{"aria-checked":d}:{},...m?{"aria-describedby":m}:{},...i?{title:i}:{},onMousedown:I,onClick:a?void 0:s,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?.()}),l?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:n(l)}):null,m?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:i}):null]})}}}),wn=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=ie();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?.()]})}}}),et=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=Re(),r=ie();return ()=>{if(e.hidden)return null;let{setOpenMenu:l}=n.value,a=t.value,i=V(a),d=r(e.labelKey??i?.labelKey??a),u=editor.chromeSlotIsToggle(a),p=["setAlignment","setReviewDisplayMode"].includes(editor.commandForSlot(a)?.type??"");return jsxRuntime.jsx(ce,{...Pe(a),icon:q(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(),l(null);},...e.className?{className:e.className}:{},children:d})}}});et.docxMenuRow=true;function Ju(e,t,o,n){let r=vue.defineComponent({name:`MenuAction_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(l){let a=Re(),i=ie();return ()=>{let d=a.value,u=n(d);if(l.hidden)return null;let p=V(e),s=i(t??p?.labelKey??e);return jsxRuntime.jsx(ce,{...Pe(e),icon:q(p?.paths)??void 0,...o?{shortcut:i(o)}:{},disabled:!u,selectHandler:()=>{u?.(),d.setOpenMenu(null);},...l.className?{className:l.className}:{},children:s})}}});return Object.assign(r,{docxSlot:e})}var ra=Ju("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),aa=Ju("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),jv=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Re(),n=ie();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("file.pageSetup"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,d=a&&!a.ok?a.reason:null,u=V("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),s=i&&!!r.onPageSetup;return jsxRuntime.jsx(ce,{...Pe("file.pageSetup"),icon:q(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onPageSetup?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Zv=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Re(),n=ie();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("paragraph.dialog"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,d=a&&!a.ok?a.reason:null,u=V("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),s=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ce,{...Pe("paragraph.dialog"),icon:q(u?.paths)??void 0,disabled:!s,...d?{title:d}:{},selectHandler:()=>{r.onParagraphDialog?.(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:p})}}}),Yv=Object.assign(Zv,{docxSlot:"paragraph.dialog"}),la=Object.assign(jv,{docxSlot:"file.pageSetup"}),Xv=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let t=Tn(),o=Re(),n=ie();return ()=>{if(e.hidden)return null;let r=o.value,l=V("image.insert"),a=n(l?.labelKey??"toolbar.image"),i=t?.isEnabled??false,d=t?.disabledReason??null;return jsxRuntime.jsx(ce,{...Pe("image.insert"),icon:q(l?.paths)??void 0,disabled:!i,...d?{title:d}:{},selectHandler:()=>{t?.openFilePicker(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:a})}}}),Hi=Object.assign(Xv,{docxSlot:"image.insert"}),Wt=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}`:""}`})}}),Rn=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e){return ()=>{let t=e.entry;return t.kind==="separator"?jsxRuntime.jsx(Wt,{}):t.kind==="submenu"?jsxRuntime.jsx(Ve,{labelKey:t.labelKey,paths:t.paths,children:t.items.map((o,n)=>jsxRuntime.jsx(Rn,{entry:o},n))}):t.slot==="file.open"?jsxRuntime.jsx(ra,{}):t.slot==="file.save"?jsxRuntime.jsx(aa,{}):t.slot==="file.pageSetup"?jsxRuntime.jsx(la,{}):t.slot==="paragraph.dialog"?jsxRuntime.jsx(Yv,{}):t.slot==="image.insert"?jsxRuntime.jsx(Hi,{}):t.picker==="tableGrid"?jsxRuntime.jsx(Yu,{entry:t}):jsxRuntime.jsx(et,{slot:t.slot,...t.labelKey?{labelKey:t.labelKey}:{},...t.shortcutKey?{shortcutKey:t.shortcutKey}:{}})}}});function Qu(e){if(!vue.isVNode(e))return null;let t=Gr(e,Qu);if(t!==null)return t;let o=jr(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 Jv(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function Qv(e,t,o){return Zr({entries:e??[],children:t,preset:o,keyOfEntry:Jv,keyOfChild:Qu,renderEntry:n=>jsxRuntime.jsx(Rn,{entry:n})})}var bt=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=Re(),n=ie(),r=Q("menu-panel"),l=vue.ref(null),a=vue.ref(null),i=vue.ref(false),d=vue.ref(false),u=()=>{o.value.setOpenMenu(null),l.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:s,activeMenu:c}=o.value,m=editor.CHROME_MENUS.find(b=>b.id===e.id),f=p===e.id,g=e.label??n(e.labelKey??m?.labelKey??e.id),h=Qv(m?.entries,ue(t.default?.()??[]),e.preset);return jsxRuntime.jsxs("div",{role:"none",class:`docx-menubar__menu-root${e.className?` ${e.className}`:""}`,"data-menu":e.id,children:[jsxRuntime.jsxs("button",{ref:l,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":f,"aria-controls":f?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...f?{"data-open":""}:{},onMousedown:I,onKeydown:b=>{b.key==="ArrowDown"||b.key==="Enter"||b.key===" "||b.key==="ArrowUp"?(b.preventDefault(),i.value=true,s(e.id)):b.key==="Escape"&&f&&(b.preventDefault(),u());},onClick:()=>{if(d.value){d.value=false;return}s(f?null:e.id);},onMouseenter:()=>{p!==null&&p!==e.id&&(d.value=true,s(e.id));},onMouseleave:()=>{d.value=false;},children:[e.icon?jsxRuntime.jsx("span",{class:"docx-menubar__trigger-icon","aria-hidden":"true",children:e.icon}):null,g]}),f?jsxRuntime.jsx("div",{ref:b=>{a.value=b,b&&i.value&&(i.value=false,Ke(yt(b),"first"));},id:r,role:"menu","aria-label":g,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:b=>{let y=a.value;if(!y)return;let T=yt(y),C=document.activeElement;b.key==="ArrowDown"?(b.preventDefault(),Be(T,C,1)):b.key==="ArrowUp"?(b.preventDefault(),Be(T,C,-1)):b.key==="Home"?(b.preventDefault(),Ke(T,"first")):b.key==="End"?(b.preventDefault(),Ke(T,"last")):b.key==="Escape"?(b.preventDefault(),b.stopPropagation(),u()):b.key==="Tab"&&s(null);},children:h}):null]})}}});function Bi(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(bt,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var ia=Bi("file"),sa=Bi("format"),da=Bi("insert"),eb=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=Re(),o=ie();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:l}=t.value;if(e.hidden||l===false)return null;let a=e.onSelect??r??Bu;return jsxRuntime.jsx(ce,{...Pe("help.reportIssue"),selectHandler:()=>{a(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),ua=Object.assign(eb,{docxSlot:"help.reportIssue"}),tb=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Re();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(bt,{id:"help",...t,children:[jsxRuntime.jsx(ua,{}),o.default?.()]})}}}),ca=Object.assign(tb,{docxMenu:"help"});var Mn=Symbol("ContextMenuContext"),oc={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function at(){return vue.unref(vue.inject(Mn,oc))}function nc(){return vue.unref(vue.inject(Mn,oc))?.target??null}var rc=["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"],ac=["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"],Ki=["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"],lc=["M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"],ic=["M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"],sc=["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"],dc=["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 Po(e,t,o){let n=vue.defineComponent({name:`ContextMenu_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},shortcutKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let l=D(),{close:a}=at(),i=ie(),d=U(t);return ()=>r.hidden?null:jsxRuntime.jsx(ce,{...Pe(e),icon:r.icon??q(o.paths)??void 0,shortcut:i(r.shortcutKey??o.shortcutKey),disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},onSelect:()=>{l.value?.exec(t),a(true);},...r.className?{className:r.className}:{},children:i(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Dn=Po("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:rc}),_n=Po("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:ac}),kn=Po("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:lc}),In=Po("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:dc}),wo=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=D(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=at(),l=ie(),a=U({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ce,{...Pe("edit.paste"),icon:e.icon??q(Ki)??void 0,shortcut:l(e.shortcutKey??"contextMenu.pasteShortcut"),disabled:!a.isEnabled.value||i,...n??a.disabledReason.value?{title:n??a.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let{text:d,html:u}=await rb();(d||u)&&t.value?.exec({type:"paste",text:d,...u?{html:u}:{}});}catch(d){r(d instanceof Error?d.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:l(e.labelKey??"contextMenu.paste")})}}});wo.docxRow="edit.paste";async function rb(){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 Ro=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=D(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=at(),l=ie(),a=U({type:"pasteWithoutFormatting",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ce,{...Pe("edit.pasteWithoutFormatting"),icon:e.icon??q(Ki)??void 0,shortcut:l(e.shortcutKey??"contextMenu.pasteWithoutFormattingShortcut"),disabled:!a.isEnabled.value||i,...n??a.disabledReason.value?{title:n??a.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let d=await navigator.clipboard.readText();d&&t.value?.exec({type:"pasteWithoutFormatting",text:d});}catch(d){r(d instanceof Error?d.message:"the clipboard is not readable");}finally{o(true);}})();},...e.className?{className:e.className}:{},children:l(e.labelKey??"contextMenu.pasteWithoutFormatting")})}}});Ro.docxRow="edit.pasteWithoutFormatting";var uc=V("format.painter")?.paths??[],pa=Po("format.copyFormatting",{type:"copyFormatting"},{labelKey:"contextMenu.copyFormatting",shortcutKey:"contextMenu.copyFormattingShortcut",paths:uc}),ma=Po("format.pasteFormatting",{type:"pasteFormatting"},{labelKey:"contextMenu.pasteFormatting",shortcutKey:"contextMenu.pasteFormattingShortcut",paths:uc});function zt(e,t,o){let n=vue.defineComponent({name:`ContextMenuTable_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},destructive:{type:Boolean,default:void 0}},setup(r){let{close:l}=at(),a=ie(),i=Nn(),d=U(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ce,{...Pe(e),icon:r.icon??q(o.paths)??void 0,disabled:!d.isEnabled.value,...d.disabledReason.value?{title:d.disabledReason.value}:{},class:`${u?"docx-table-chrome__destructive-row":""}${r.className?` ${r.className}`:""}`,onSelect:()=>{d.execute()&&l(true);},children:a(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var Mo=zt("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),Do=zt("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),_o=zt("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),ko=zt("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),Io=zt("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),No=zt("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),Fo=zt("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),ab=[{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"}],$t=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=at(),o=ie(),n=Nn(),r=U({type:"setTableCellVerticalAlignment",alignment:"top"}),l=U({type:"setTableCellVerticalAlignment",alignment:"center"}),a=U({type:"setTableCellVerticalAlignment",alignment:"bottom"}),i=[r,l,a];return ()=>e.hidden||!n.value?null:jsxRuntime.jsxs("div",{class:"docx-contextmenu__table-align",children:[jsxRuntime.jsx("span",{class:"docx-contextmenu__table-align-label",children:o("tableAdvanced.verticalAlignment")}),jsxRuntime.jsx("div",{class:"docx-contextmenu__table-align-buttons",role:"group","aria-label":o("tableAdvanced.verticalAlignment"),children:ab.map((d,u)=>{let p=i[u];return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":false,"aria-label":o(d.labelKey),title:p.disabledReason.value??o(d.labelKey),"aria-disabled":!p.isEnabled.value,class:"docx-contextmenu__table-align-button",onMousedown:s=>{s.preventDefault(),s.stopPropagation();},onClick:()=>{p.execute()&&t(true);},children:q(editor.tableChromeIconPaths(d.icon))},d.alignment)})})]})}});$t.docxRow="table.cellVerticalAlignment";function cc(e,t,o){let n=vue.defineComponent({name:`ContextMenuToc_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let l=D(),{close:a,tocId:i}=at(),d=ie(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=U(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ce,{...Pe(e),icon:r.icon??q(o.paths)??void 0,disabled:!p.isEnabled.value,...p.disabledReason.value?{title:p.disabledReason.value}:{},onSelect:()=>{l.value?.exec(u.value),a(true);},...r.className?{className:r.className}:{},children:d(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Lo=cc("toc.refresh","entire",{labelKey:"toc.refresh",paths:ic}),Ao=cc("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:sc});function Nn(){return _(e=>e.table!=null,(e,t)=>e===t)}var fa=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}=at();return ()=>vue.h(ce,{...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 Fn=Symbol("ScopedByAncestorContext");function He(){return vue.inject(Fn,false)?"":"docx-editor "}var ga=8,pb=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=D(),t=go(),o=Re(),n=ie();return ()=>{let r=e.value,l=r?.can({type:"toggleReviewPane"}),a=!l?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=V("review.comments");return jsxRuntime.jsx(ce,{icon:q(i?.paths)??void 0,rowSlot:"review.comments",disabled:a,title:l&&!l.ok?l.reason:void 0,selectHandler:()=>{t.value.requestCommentDraft()&&o.value.setOpenMenu(null);},children:n("comments.addComment")})}}}),mb=vue.defineComponent({name:"ContextMenuEditField",setup(){let e=D(),t=Re(),o=ie();return ()=>e.value?.can({type:"editTextFormField"}).ok?jsxRuntime.jsx(ce,{rowSlot:"field.edit",onSelect:()=>{t.value.setOpenMenu(null),e.value?.exec({type:"editTextFormField"});},children:o("textFormField.edit")}):null}}),fb=[{kind:"row",id:"field.edit",render:()=>jsxRuntime.jsx(mb,{})},{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(Dn,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx(_n,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(wo,{})},{kind:"row",id:"edit.pasteWithoutFormatting",render:()=>jsxRuntime.jsx(Ro,{})},{kind:"row",id:"format.copyFormatting",render:()=>jsxRuntime.jsx(pa,{})},{kind:"row",id:"format.pasteFormatting",render:()=>jsxRuntime.jsx(ma,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(kn,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(In,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(et,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(pb,{})}];function gb(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:Mo.docxRow,render:()=>jsxRuntime.jsx(Mo,{})},{kind:"row",id:Do.docxRow,render:()=>jsxRuntime.jsx(Do,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:_o.docxRow,render:()=>jsxRuntime.jsx(_o,{})},{kind:"row",id:ko.docxRow,render:()=>jsxRuntime.jsx(ko,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:Io.docxRow,render:()=>jsxRuntime.jsx(Io,{})},{kind:"row",id:No.docxRow,render:()=>jsxRuntime.jsx(No,{})},{kind:"row",id:Fo.docxRow,render:()=>jsxRuntime.jsx(Fo,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:$t.docxRow,render:()=>jsxRuntime.jsx($t,{})}]}function yb(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:Lo.docxRow,render:()=>jsxRuntime.jsx(Lo,{})},{kind:"row",id:Ao.docxRow,render:()=>jsxRuntime.jsx(Ao,{})}]}function gc(e,t=false){return [...fb,...e?gb():[],...t?yb():[]]}function yc(e){return e!=null&&typeof e=="object"&&"type"in e}function vc(e){if(!yc(e))return null;if(e.type===vue.Fragment){let n=ue(e.children??[]).map(vc).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 fc(e){if(!yc(e))return false;let t=e.type;return typeof t!="function"&&typeof t!="object"?false:t.docxRowPlacement==="start"}function vb(e){return e?.closest(".docx-editor__scroll-container")??null}var Ut=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=He(),n=D(),r=mt(),{t:l}=k(),a=Nn(),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null),m=vue.ref(null),f=vue.ref(false),g=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,C=>{g.value=C;});let h=vue.computed(()=>gc(a.value,p.value!==null)),b=(C=false)=>{u.value=null,c.value=null,p.value=null,s.value=null,C&&n.value?.focus();};vue.watch(()=>e.disabled,C=>{C&&b();}),vue.watchEffect(C=>{if(r.value,e.disabled)return;let v=vb(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!v)return;let x=w=>{w.preventDefault();let E=w.button===-1||w.clientX===0&&w.clientY===0,P=v.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,s.value=E||!(w.target instanceof HTMLElement)?null:w.target,u.value=E?{x:P.left+16,y:P.top+16}:{x:w.clientX,y:w.clientY};};v.addEventListener("contextmenu",x),C(()=>v.removeEventListener("contextmenu",x));}),vue.watch(u,(C,v,x)=>{if(!C)return;let w=R=>{d.value?.contains(R.target)||b();},E=R=>{R.key==="Escape"?(R.preventDefault(),b(true)):R.key==="Tab"&&b();},P=()=>b();document.addEventListener("pointerdown",w,true),document.addEventListener("keydown",E),document.addEventListener("scroll",P,{capture:true,passive:true}),window.addEventListener("blur",P),window.addEventListener("resize",P),x(()=>{document.removeEventListener("pointerdown",w,true),document.removeEventListener("keydown",E),document.removeEventListener("scroll",P,true),window.removeEventListener("blur",P),window.removeEventListener("resize",P);});},{flush:"sync"}),vue.watch(u,async C=>{if(c.value=null,!C)return;await vue.nextTick();let v=d.value;if(!v||!u.value)return;let{width:x,height:w}=v.getBoundingClientRect(),E=window.innerWidth-x-ga,P=window.innerHeight-w-ga,R=Math.max(ga,u.value.x>E?u.value.x-x:u.value.x),S=Math.max(ga,u.value.y>P?u.value.y-w:u.value.y);c.value={x:R,y:S};},{flush:"post"}),vue.watch(c,C=>{C&&d.value?.focus({preventScroll:true});}),vue.watch(u,C=>{let v=C!==null;v!==f.value&&(f.value=v,g.value?.(v));});let y=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})),T=vue.computed(()=>({close:b,anchor:u.value,tocId:p.value,target:s.value,clipboardRefusal:m.value,reportClipboardRefusal:C=>{m.value=C;}}));return vue.provide(hn,y),vue.provide(Mn,T),()=>{let C={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"},v=ue(t.default?.()??[]),x=v.filter(fc),w=v.filter(P=>!fc(P)),E=e.preset===false?v:[...x,...Zr({entries:h.value,children:w,preset:e.preset,keyOfEntry:P=>P.id,keyOfChild:vc,renderEntry:P=>P.kind==="separator"?jsxRuntime.jsx(Wt,{}):P.render()})];return vue.h("div",{ref:P=>{i.value=P instanceof HTMLDivElement?P:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:P=>{d.value=P instanceof HTMLDivElement?P:null;},role:"menu","aria-label":e.t?.("contextMenu.ariaLabel")??l("contextMenu.ariaLabel"),tabindex:-1,class:`${o}docx-toolbar__menu docx-contextmenu${e.className?` ${e.className}`:""}`,style:C,onKeydown:P=>{let R=d.value;if(!R)return;let S=yt(R);P.key==="ArrowDown"?(P.preventDefault(),Be(S,document.activeElement,1)):P.key==="ArrowUp"?(P.preventDefault(),Be(S,document.activeElement,-1)):P.key==="Home"?(P.preventDefault(),Ke(S,"first")):P.key==="End"&&(P.preventDefault(),Ke(S,"last"));}},E)]:[])}}});Object.assign(Ut,{Cut:Dn,Copy:_n,Paste:wo,PasteWithoutFormatting:Ro,Delete:kn,SelectAll:In,InsertRowAbove:Mo,InsertRowBelow:Do,InsertColumnLeft:_o,InsertColumnRight:ko,DeleteTableRow:Io,DeleteTableColumn:No,DeleteTable:Fo,CellVerticalAlignment:$t,RefreshToc:Lo,RefreshTocPageNumbers:Ao,Item:fa,Slot:et,Row:ce,Group:wn,Separator:Wt,Submenu:Ve});var zi=Symbol("docx.popups");function Tt(){return vue.inject(zi,vue.computed(()=>{}))}var xc=vue.defineComponent({name:"DocxPopupConfigProvider",props:{popups:Object},setup(e,{slots:t}){return vue.provide(zi,vue.computed(()=>e.popups)),()=>t.default?.()}}),Cc=vue.defineComponent({name:"DocxConfiguredPopups",setup(){let e=vue.inject(zi,vue.computed(()=>{})),{t}=k();return ()=>{let o=e.value;return [o?.hyperlink?ge(o.hyperlink,{}):null,o?.contentControl?ge(o.contentControl,{}):null,o?.equation?ge(o.equation,{}):null,o?.contextMenu?ge(o.contextMenu,{t:n=>t(n)}):null]}}});function Tc(e,t,o,n){let r=e?.contextMenu;return {...e,hyperlink:e?.hyperlink!==void 0?e.hyperlink:t===false?false:l=>vue.h(pn,l),contentControl:e?.contentControl!==void 0?e.contentControl:l=>vue.h(gn,l),equation:e?.equation!==void 0?e.equation:()=>vue.h(vn),contextMenu:r!==void 0?r===false?false:l=>ge(r,{...l,t:n}):o===false?false:l=>vue.h(Ut,{...l,t:n,...typeof o=="object"?o:{}})}}function Ln(e){let t=D(),o=_(()=>editor.toolbarCommandState(t.value,e),(n,r)=>n.value===r.value&&n.enabled===r.enabled&&n.disabledReason===r.disabledReason);return {execute:(n,r)=>editor.runToolbarCommand(t.value,e,n,r),value:vue.computed(()=>o.value.value===void 0?null:e==="font.size"||e==="list.lineSpacing"?Number(o.value.value):o.value.value),options:vue.computed(()=>e==="image.wrap"?editor.IMAGE_WRAP_TARGETS:[]),isEnabled:vue.computed(()=>o.value.enabled),disabledReason:vue.computed(()=>o.value.disabledReason)}}var ha=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 o=Tt(),n=K(),r=Ln("image.altText"),l=vue.ref(false);vue.watch(()=>o.value?.imageAltText,s=>{s===false&&(l.value=false);});let a=vue.ref(""),i=vue.ref(null),d=vue.ref(null),u=Q("image-alt");vue.watch([l,()=>r.value.value],([s,c])=>{s&&(a.value=c??"");}),vue.watch(l,(s,c,m)=>{if(!s)return;let f=h=>{let b=i.value;h.target instanceof Node&&(b?.contains(h.target)||document.getElementById(u)?.contains(h.target))||(l.value=false);},g=h=>{h.key==="Escape"&&(h.preventDefault(),l.value=false,d.value?.focus());};document.addEventListener("mousedown",f,true),document.addEventListener("keydown",g),m(()=>{document.removeEventListener("mousedown",f,true),document.removeEventListener("keydown",g);});});let p=()=>{r.execute(a.value),l.value=false;};return ()=>{if(e.hidden)return null;let s=V("image.altText"),c=n(s?.labelKey??"formattingBar.altText"),m={type:"button",ref:d,class:`docx-toolbar__button docx-toolbar__alt-text-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.altText",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"dialog","aria-expanded":l.value,"aria-controls":l.value?u:void 0,"aria-label":c,title:r.disabledReason.value??c,onMousedown:I,onClick:()=>{o.value?.imageAltText!==false&&(l.value=!l.value);}},f={id:u,value:a.value,onValueChange:g=>{a.value=g;},onApply:p,onClose:()=>{l.value=false;},isEnabled:r.isEnabled.value,anchorRef:un(d)};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(L,{...m,children:t.default?.()}):jsxRuntime.jsx("button",{...m,children:t.default?.()??c}),l.value&&o.value?.imageAltText!==false?o.value?.imageAltText?ge(o.value.imageAltText,f):jsxRuntime.jsx(Ca,{...f}):null]})}}});ha.docxSlot="image.altText";var xa=Object.assign(ha,{docxSlot:"image.altText"}),Ca=vue.defineComponent({name:"DocxEditorImageAltTextPopup",props:{id:{type:String,required:true},value:{type:String,required:true},onValueChange:{type:Function,required:true},onApply:{type:Function,required:true},onClose:{type:Function,required:true},isEnabled:{type:Boolean,required:true},className:String,anchorRef:Object},setup(e){let{t}=k();return ()=>jsxRuntime.jsxs("div",{id:e.id,role:"dialog","aria-label":t("imageAltText.panelTitle"),class:["docx-toolbar__alt-text-panel",e.className],onMousedown:o=>o.stopPropagation(),children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${e.id}-description`,children:t("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:`${e.id}-description`,class:"docx-dialog__textarea",value:e.value,onInput:o=>{e.onValueChange(o.target.value);},placeholder:t("dialogs.imageProperties.altTextPlaceholder")}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",disabled:!e.isEnabled,onClick:e.onApply,children:t("common.apply")})]})]})}});var wc=e=>e.image;function Sc(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 _b(e){e instanceof HTMLElement&&!e.closest(".docx-editor")&&e.classList.add("docx-editor");}function kb(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function Zi(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(vt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(vt(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(vt(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(vt(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function Ib(e,t){let o=Zi(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Ta(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Cn(t);return Number.isInteger(o)?o:null}function Nb(e,t){let o=Zi(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,s=u?Ta(e.horizontalPoints):t.position?.horizontalEmu,c=p?Ta(e.verticalPoints):t.position?.verticalEmu;return u&&s===null?{ok:false}:p&&c===null?{ok:false}:s===void 0||c===void 0?{ok:false}:{ok:true,value:{horizontalEmu:s,verticalEmu:c}}}let n=e.horizontalPoints!==o.horizontalPoints,r=e.verticalPoints!==o.verticalPoints,l=e.relativeToH!==o.relativeToH,a=e.relativeToV!==o.relativeToV,i=n?Ta(e.horizontalPoints):t.position?.horizontalEmu,d=r?Ta(e.verticalPoints):t.position?.verticalEmu;return n&&i===null?{ok:false}:r&&d===null?{ok:false}:{ok:true,value:{...typeof i=="number"?{horizontalEmu:i}:{},...typeof d=="number"?{verticalEmu:d}:{},...l||n||r?{relativeToH:e.relativeToH}:{},...a||n||r?{relativeToV:e.relativeToV}:{}}}}function Ea(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function Sa(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var An=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=D(),{t:o}=k(),n=_(wc),r=Q("image-prop-title"),l=Q("image-prop-wrap"),a=Q("image-prop-hyperlink"),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=vue.ref(null),s=vue.ref(null),c=vue.ref(null);vue.watch([()=>e.open,()=>n.value?.id,()=>n.value?.widthEmu,()=>n.value?.heightEmu,t],()=>{if(!e.open){d.value=null,u.value=null,p.value=null;return}let v=n.value;if(v){if(d.value=v,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,s.value={widthPoints:String(vt(v.widthEmu)),heightPoints:String(vt(v.heightEmu)),cropLeft:String(v.crop.left),cropTop:String(v.crop.top),cropRight:String(v.crop.right),cropBottom:String(v.crop.bottom),title:v.title,description:v.description,hyperlink:v.hyperlink??"",wrap:v.wrap,lockAspect:v.locks.changeAspect,...Zi(v)};}},{flush:"post"});let m=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},f=()=>{e.onClose(),m();};vue.watch(()=>[e.open,i.value],async([v,x],w,E)=>{if(!v||!x)return;let P=false,R=null;if(E(()=>{P=true,R&&document.removeEventListener("keydown",R);}),await vue.nextTick(),P||!e.open||i.value!==x)return;let S=Sc(x);(S.find(M=>M.id==="image-prop-width"&&!M.hasAttribute("disabled"))??S.find(M=>!M.hasAttribute("disabled"))??x).focus(),R=M=>{if(M.key==="Escape"){M.preventDefault(),f();return}if(M.key!=="Tab")return;let W=Sc(x);if(W.length===0)return;let z=document.activeElement,oe=W.findIndex(Ce=>Ce===z);if(oe===-1)return;M.preventDefault();let pe=M.shiftKey?(oe-1+W.length)%W.length:(oe+1)%W.length;W[pe]?.focus();},document.addEventListener("keydown",R);},{flush:"post"});let g=vue.computed(()=>{let v=d.value??n.value;return !v||v.widthEmu<=0?1:v.widthEmu/v.heightEmu}),h=v=>{let x=s.value;if(!x)return;if(!x.lockAspect){s.value={...x,widthPoints:v};return}let w=Sa(v);if(w===null){s.value={...x,widthPoints:v};return}let E=Math.round(w/g.value*100)/100;s.value={...x,widthPoints:v,heightPoints:String(E)};},b=v=>{let x=s.value;if(!x)return;if(!x.lockAspect){s.value={...x,heightPoints:v};return}let w=Sa(v);if(w===null){s.value={...x,heightPoints:v};return}let E=Math.round(w*g.value*100)/100;s.value={...x,widthPoints:String(E),heightPoints:v};},y=()=>{let v=d.value;if(!v?.intrinsic)return;let x=v.intrinsic.pixelWidth*72/v.intrinsic.dpiX,w=v.intrinsic.pixelHeight*72/v.intrinsic.dpiY,E=s.value;E&&(s.value={...E,widthPoints:String(Math.round(x*100)/100),heightPoints:String(Math.round(w*100)/100)});},T=v=>{s.value&&(s.value={...s.value,...v});},C=()=>{let v=d.value,x=u.value,w=p.value,E=s.value;if(!t.value||!v||!E||!x||w===null)return;let P=v.canResize===false,R=v.canCrop===false,S={type:"setImageProperties",drawingNodeId:v.id,expectedPackageRevision:w,selectionParagraphId:x.paragraphId,selectionOffset:x.offset};if(!P){let pe=Sa(E.widthPoints),Ce=Sa(E.heightPoints);if(pe===null||Ce===null){c.value="imageProperties.errors.invalidDimensions";return}let Me=Cn(pe),Y=Cn(Ce);Me!==v.widthEmu&&(S.widthEmu=Me),Y!==v.heightEmu&&(S.heightEmu=Y);}if(v.canCrop&&!R){let pe=Ea(E.cropLeft),Ce=Ea(E.cropTop),Me=Ea(E.cropRight),Y=Ea(E.cropBottom);if(pe===null||Ce===null||Me===null||Y===null){c.value="imageProperties.errors.invalidCrop";return}let ae=v.crop;(pe!==ae.left||Ce!==ae.top||Me!==ae.right||Y!==ae.bottom)&&(S.crop={left:pe,top:Ce,right:Me,bottom:Y});}E.title!==v.title&&(S.title=E.title),E.description!==v.description&&(S.description=E.description);let F=E.hyperlink.trim();if(F!==(v.hyperlink??"")&&(S.hyperlink=F===""?null:F),v.canChangeWrap&&E.wrap!==v.wrap&&(S.wrap=E.wrap),v.kind==="anchored"&&v.canMove&&Ib(E,v)){let pe=Nb(E,v);if(!pe.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(pe.value,v))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(S,pe.value);}if(!(S.widthEmu!==void 0||S.heightEmu!==void 0||S.title!==void 0||S.description!==void 0||S.hyperlink!==void 0||S.crop!==void 0||S.wrap!==void 0||S.horizontalEmu!==void 0||S.verticalEmu!==void 0||S.relativeToH!==void 0||S.relativeToV!==void 0)){f();return}if(!t.value.can(S).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(S).ok){c.value="imageProperties.errors.refused";return}f();};return ()=>{if(!e.open||!s.value)return null;let v=s.value,x=d.value,w=x?.canCrop===false,E=x?.canResize===false,P=x?.locks.changeAspect===true,R=x?.kind==="anchored"&&x.canMove===true,S=x?.kind==="inline",F=x?.kind==="anchored"&&x.canMove===false;return jsxRuntime.jsx("div",{ref:_b,class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:f,onMousedown:M=>{M.stopPropagation(),kb(M);},children:jsxRuntime.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":r,class:"docx-dialog docx-image-properties-dialog",onClick:M=>M.stopPropagation(),onMousedown:M=>M.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:v.widthPoints,disabled:E,onChange:M=>h(M.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:v.heightPoints,disabled:E,onChange:M=>b(M.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:v.lockAspect,disabled:P,onChange:M=>s.value=s.value?{...s.value,lockAspect:M.target.checked}:s.value}),o("dialogs.imageProperties.lockAspectRatio")]}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__link-button",disabled:w||!x?.intrinsic,onClick:y,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),S?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,F?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,R?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[v.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:v.relativeToH??"page",onChange:M=>s.value=s.value?{...s.value,relativeToH:M.target.value}:s.value,children:editor.DRAWING_REL_FROM_H.map(M=>jsxRuntime.jsx("option",{value:M,children:o(`dialogs.imagePosition.relativeOptions.${M}`)},M))})]}),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:v.relativeToV??"line",onChange:M=>s.value=s.value?{...s.value,relativeToV:M.target.value}:s.value,children:editor.DRAWING_REL_FROM_V.map(M=>jsxRuntime.jsx("option",{value:M,children:o(`dialogs.imagePosition.relativeOptions.${M}`)},M))})]})]}):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:v.horizontalPoints,onChange:M=>T({horizontalPoints:M.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:v.verticalPoints,onChange:M=>T({verticalPoints:M.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:v.title,onChange:M=>T({title:M.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:v.description,onChange:M=>T({description:M.target.value}),placeholder:o("dialogs.imageProperties.altTextPlaceholder")})]})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.hyperlink")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:a,children:o("hyperlinkPopup.urlLabel")}),jsxRuntime.jsx("input",{id:a,class:"docx-dialog__input docx-dialog__input--full",value:v.hyperlink,onChange:M=>T({hyperlink:M.target.value}),placeholder:o("hyperlinkPopup.urlPlaceholder")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.imageProperties.textWrapping")}),jsxRuntime.jsx("label",{class:"docx-dialog__field-label",for:l,children:o("formattingBar.imageWrap")}),jsxRuntime.jsx("select",{id:l,class:"docx-dialog__select docx-dialog__input--full",value:v.wrap,disabled:x?.canChangeWrap===false,onChange:M=>T({wrap:M.target.value}),children:editor.IMAGE_WRAP_TARGETS.map(M=>jsxRuntime.jsx("option",{value:M,children:o(`imageWrap.targets.${M}`)},M))})]}),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:w,value:v.cropLeft,onChange:M=>T({cropLeft:M.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:w,value:v.cropTop,onChange:M=>T({cropTop:M.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:w,value:v.cropRight,onChange:M=>T({cropRight:M.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:w,value:v.cropBottom,onChange:M=>T({cropBottom:M.target.value})})]}),w?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.nonPictureHint")}):null]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:f,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:C,children:o("common.apply")})]})]})})}}}),Pa=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=Tt(),n=D(),{t:r}=k(),l=_(wc),a=vue.ref(false);vue.watch(()=>o.value?.imageProperties,u=>{u===false&&(a.value=false);});let i=vue.ref(null),d={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let u=n.value&&l.value?n.value.can(d):null,p=u?.ok===true,s=u&&!u.ok?u.reason:null,c=V("image.properties"),m={type:"button",ref:i,class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.properties",disabled:!p,...p?{}:{"data-disabled":""},"aria-label":r("formattingBar.imagePropertiesShortcut"),title:s??r("formattingBar.imagePropertiesShortcut"),onMousedown:I,onClick:()=>{o.value?.imageProperties!==false&&(a.value=true);}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(L,{...m,children:t.default?.()}):jsxRuntime.jsx("button",{...m,children:t.default?.()??q(c?.paths)}),o.value?.imageProperties===false?null:o.value?.imageProperties?ge(o.value.imageProperties,{open:a.value,onClose:()=>{a.value=false;},triggerRef:un(i)}):jsxRuntime.jsx(An,{open:a.value,onClose:()=>{a.value=false;},triggerRef:un(i)})]})}}});Pa.docxSlot="image.properties";var wa=Object.assign(Pa,{docxSlot:"image.properties"});var Xi=xo("TextFormFieldDialog");function Bb(){return Xi.useContext()}var Kb=vue.defineComponent({name:"DocxEditorTextFormFieldDialog",props:{children:Object,session:{type:Object,default:null},preset:{type:Boolean,default:true},className:String,style:Object},setup(e,{slots:t}){let o=Xe(),n=vue.ref({defaultText:"",type:"regular",maxLength:0,format:"",enabled:true}),r=vue.ref(false),l=vue.ref(false);vue.watch(()=>e.session,(p,s,c)=>{if(r.value=false,l.value=false,!p)return;let{defaultText:m,type:f,maxLength:g,format:h,enabled:b}=p.field;n.value={defaultText:m,type:f,maxLength:g,format:h,enabled:b};let y=()=>{l.value=true;};p.signal.addEventListener("abort",y,{once:true}),c(()=>p.signal.removeEventListener("abort",y));},{immediate:true});let a=_(()=>e.session?.canApply()??false,Object.is,{extraDeps:()=>e.session}),i=()=>e.session?.cancel(),d=()=>{if(!e.session?.canApply()){r.value=true;return}let{defaultText:p,...s}=n.value;r.value=!e.session?.apply(p,s);},u=Xi.provideContext({values:n,errors:vue.computed(()=>r.value?{form:o("textFormField.invalidOptions")}:{}),isEnabled:a,setValue:(p,s)=>{n.value={...n.value,[p]:s,...p==="type"?{format:""}:{}};},apply:d,cancel:i});return ()=>{if(!e.session||e.session.signal.aborted||l.value)return null;let p=n.value,s=(h,b)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":h,class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label",children:o(`textFormField.${h}`)}),b]}),c={Uppercase:"textFormField.uppercase",Lowercase:"textFormField.lowercase","First capital":"textFormField.firstCapital","Title case":"textFormField.titleCase"},m=h=>{let b=c[h];return b?o(b):h||o("textFormField.noFormat")},f=editor.TEXT_FORM_FORMATS[p.type]??[],g=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("textFormField.title")})}),jsxRuntime.jsxs("div",{"data-docx-part":"body",class:"docx-dialog__body",children:[s("defaultText",jsxRuntime.jsx("input",{class:"docx-dialog__input",value:p.defaultText,onInput:h=>{p.defaultText=h.target.value;}})),s("type",jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:p.type,onChange:h=>{p.type=h.target.value,p.format="";},children:[["regular","number","date"].map(h=>jsxRuntime.jsx("option",{value:h,children:o(`textFormField.${h}`)})),["regular","number","date"].includes(p.type)?null:jsxRuntime.jsx("option",{value:p.type,disabled:true,children:o("textFormField.preservedType")})]})),s("maxLength",jsxRuntime.jsx("input",{class:"docx-dialog__input",type:"number",min:0,max:32767,step:1,value:p.maxLength,onInput:h=>{p.maxLength=Number(h.target.value);}})),s("format",jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:p.format,onChange:h=>{p.format=h.target.value;},children:[f.map(h=>jsxRuntime.jsx("option",{value:h,children:m(h)})),f.includes(p.format)?null:jsxRuntime.jsx("option",{value:p.format,disabled:true,children:p.format})]})),s("enabled",jsxRuntime.jsx("input",{type:"checkbox",checked:p.enabled,onChange:h=>{p.enabled=h.target.checked;}}))]}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",role:"alert",class:"docx-dialog__error",children:r.value?o("textFormField.invalidOptions"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",class:"docx-dialog__button docx-dialog__cancel",type:"button",onClick:i,children:o("common.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",class:"docx-dialog__button docx-dialog__apply",type:"button",disabled:!a.value,onClick:d,children:o("common.apply")})]})]});return jsxRuntime.jsx(gt,{restoreFocus:false,sessionSignal:e.session.signal,dismissOutside:false,kind:"textFormField",label:o("textFormField.title"),onClose:i,class:e.className,style:e.style,onKeydown:h=>{h.key==="Enter"&&!h.isComposing&&!(h.target instanceof HTMLButtonElement)&&!(h.target instanceof HTMLSelectElement)&&(h.preventDefault(),d());},content:()=>u(g,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),On=Object.assign(Kb,Xi.parts);var Rc="(prefers-color-scheme: dark)";function Mc(){return typeof window<"u"&&typeof window.matchMedia=="function"}function Dc(){return Mc()?window.matchMedia(Rc).matches:false}function _c(e,t){return e==="dark"||e==="system"&&t}function Ji(e){if(!Mc())return ()=>{};let t=window.matchMedia(Rc);e(t.matches);let o=n=>e(n.matches);return t.addEventListener("change",o),()=>t.removeEventListener("change",o)}var Vb=e=>e.pageSetup??null,Wb=e=>e.editable;function jt(){let e=D(),t=_(Vb),o=_(Wb),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setPageSetup",marginTop:0}).ok),r=l=>e.value?e.value.exec({...l.pageWidthTwips!==void 0?{pageWidth:l.pageWidthTwips}:{},...l.pageHeightTwips!==void 0?{pageHeight:l.pageHeightTwips}:{},...l.orientation!==void 0?{orientation:l.orientation}:{},...l.marginTopTwips!==void 0?{marginTop:l.marginTopTwips}:{},...l.marginRightTwips!==void 0?{marginRight:l.marginRightTwips}:{},...l.marginBottomTwips!==void 0?{marginBottom:l.marginBottomTwips}:{},...l.marginLeftTwips!==void 0?{marginLeft:l.marginLeftTwips}:{},...l.scope!==void 0?{scope:l.scope}:{},type:"setPageSetup"}).ok:false;return {pageSetup:vue.computed(()=>t.value),isEnabled:n,apply:r}}var Qi=[{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}],Lc=1440,Nc=12240,Fc=15840,St=1440,Gb=e=>Math.round(e/Lc*100)/100,jb=e=>Math.round(e*Lc);function Zb(e,t){let o=Math.min(e,t),n=Math.max(e,t);return Qi.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var es=xo("PageSetupDialog");function Yb(){return es.useContext()}var Xb=vue.defineComponent({name:"DocxEditorPageSetupDialog",props:{children:Object,open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},style:Object,preset:{type:Boolean,default:true}},setup(e,{slots:t}){let{t:o}=k(),n=Kr(()=>e.open,e.onClose),r=jt(),l=vue.ref(Nc),a=vue.ref(Fc),i=vue.ref("portrait"),d=vue.ref(St),u=vue.ref(St),p=vue.ref(St),s=vue.ref(St),c=vue.ref("document"),m=vue.ref(false),f=vue.ref("no");vue.watch([()=>e.open,()=>r.pageSetup.value],([C])=>{if(!C){m.value=false,f.value="no";return}let v=r.pageSetup.value;if(f.value==="yes"&&v===null){f.value="no";return}f.value==="yes"||f.value==="loading"&&v===null||(l.value=v?.pageWidthTwips??Nc,a.value=v?.pageHeightTwips??Fc,i.value=v?.orientation??"portrait",d.value=v?.marginsTwips.top??St,u.value=v?.marginsTwips.bottom??St,p.value=v?.marginsTwips.left??St,s.value=v?.marginsTwips.right??St,c.value="document",f.value=v===null?"loading":"yes");},{flush:"post",immediate:true});let g=C=>{let v=Qi[C];v&&(l.value=i.value==="landscape"?v.height:v.width,a.value=i.value==="landscape"?v.width:v.height);},h=C=>{if(C===i.value)return;let v=l.value,x=a.value;i.value=C,l.value=x,a.value=v;},b=()=>{if(!n())return;let C=r.apply({pageWidthTwips:l.value,pageHeightTwips:a.value,orientation:i.value,marginTopTwips:d.value,marginRightTwips:s.value,marginBottomTwips:u.value,marginLeftTwips:p.value,scope:c.value});m.value=!C,C&&e.onClose();},y={pageWidth:l,pageHeight:a,orientation:i,marginTop:d,marginBottom:u,marginLeft:p,marginRight:s,scope:c},T=es.provideContext({values:vue.computed(()=>({...Object.fromEntries(Object.entries(y).map(([C,v])=>[C,v.value]))})),errors:vue.computed(()=>m.value?{form:o("dialogs.paragraph.refused")}:{}),isEnabled:r.isEnabled,setValue:(C,v)=>{C==="orientation"?h(v):y[C].value=v;},apply:b,cancel:e.onClose});return ()=>{if(!e.open)return null;let C=Zb(l.value,a.value),v=(E,P,R)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":E,class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label",children:P}),vue.cloneVNode(R,{"aria-label":P}),E.startsWith("margin")?jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:"in"}):null]}),x=["top","bottom","left","right"],w=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("dialogs.pageSetup.title")})}),jsxRuntime.jsxs("div",{"data-docx-part":"body",class:"docx-dialog__body",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.pageSetup.pageSize")}),v("pageSize",o("dialogs.pageSetup.sizeLabel"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:C,onChange:E=>g(Number(E.target.value)),children:[Qi.map((E,P)=>jsxRuntime.jsx("option",{value:P,children:o(E.labelKey)})),C<0?jsxRuntime.jsx("option",{value:-1,children:o("dialogs.pageSetup.custom")}):null]})),v("orientation",o("dialogs.pageSetup.orientation"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:i.value,onChange:E=>h(E.target.value),children:[jsxRuntime.jsx("option",{value:"portrait",children:o("dialogs.pageSetup.portrait")}),jsxRuntime.jsx("option",{value:"landscape",children:o("dialogs.pageSetup.landscape")})]})),jsxRuntime.jsx("div",{class:"docx-dialog__section-label docx-dialog__section-label--spaced",children:o("dialogs.pageSetup.margins")}),x.map(E=>{let P=`margin${E[0].toUpperCase()}${E.slice(1)}`;return v(P,o(`dialogs.pageSetup.${E}`),jsxRuntime.jsx("input",{class:"docx-dialog__input",type:"number",min:0,max:22,step:.1,value:Gb(y[P].value),onInput:R=>{y[P].value=Math.max(0,jb(Number(R.target.value)||0));}}))}),v("scope",o("dialogs.pageSetup.applyTo"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:c.value,onChange:E=>{c.value=E.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:o("dialogs.pageSetup.applyToDocument")}),jsxRuntime.jsx("option",{value:"section",children:o("dialogs.pageSetup.applyToSection")})]}))]}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",class:"docx-dialog__error",role:"alert",children:m.value?o("dialogs.paragraph.refused"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",class:"docx-dialog__button docx-dialog__cancel",type:"button",onClick:e.onClose,children:o("common.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",class:"docx-dialog__button docx-dialog__apply",type:"button",disabled:!r.isEnabled.value,onClick:b,children:o("common.apply")})]})]});return jsxRuntime.jsx(gt,{kind:"pageSetup",label:o("dialogs.pageSetup.title"),onClose:e.onClose,class:e.className,style:e.style,onKeydown:E=>{E.key==="Enter"&&!E.isComposing&&!(E.target instanceof HTMLButtonElement)&&!(E.target instanceof HTMLSelectElement)&&r.isEnabled.value&&(E.preventDefault(),b());},content:()=>T(w,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),Yt=Object.assign(Xb,es.parts);var Jb={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},Qb=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??Jb;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}}},eh=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],th=(e,t)=>eh.every(o=>e.disagrees[o]===t.disagrees[o]),oh=(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&&th(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")),nh=e=>e.editable;function ts(){let e=D(),t=_(Qb,oh),o=_(nh),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setParagraphFormat",alignment:"left"}).ok),r=l=>{if(!e.value)return false;let a={type:"setParagraphFormat",...l};return e.value.can(a).ok?e.value.exec(a).ok:false};return {format:vue.computed(()=>t.value),isEnabled:n,apply:r}}var os=xo("ParagraphDialog");function sh(){return os.useContext()}var dh=vue.defineComponent({name:"DocxEditorParagraphDialog",props:{children:Object,open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},style:Object,preset:{type:Boolean,default:true}},setup(e,{slots:t}){let{t:o}=k(),n=Kr(()=>e.open,e.onClose),r=ts(),l=vue.ref("left"),a=vue.ref(0),i=vue.ref(0),d=vue.ref("none"),u=vue.ref(0),p=vue.ref(0),s=vue.ref(0),c=vue.ref("multiple"),m=vue.ref(1.08),f=vue.ref(false),g=vue.ref(false),h=vue.ref(false),b=vue.ref(true),y=vue.ref(false),T=vue.ref([]),C=vue.ref(false),v=vue.ref(0),x=vue.ref("left"),w=vue.ref("none"),E=vue.ref(false),P=vue.ref(null),R=vue.ref(editor.NO_MIXED_FIELDS),S=vue.ref(false),F=vue.ref(editor.NO_MIXED_FIELDS),M=vue.getCurrentInstance(),W=vue.ref(false),z=`docx-paragraph-${M?.uid??0}`;vue.watch(()=>[e.open,r.format.value],([Y,ae])=>{if(!Y){E.value=false;return}if(E.value||ae===null)return;let de=editor.seedFields(ae);l.value=de.alignment,a.value=de.indentLeft,i.value=de.indentRight,d.value=de.special,u.value=de.specialBy,p.value=de.spaceBefore,s.value=de.spaceAfter,c.value=de.lineRule,m.value=de.lineValue,f.value=de.contextualSpacing,g.value=de.keepNext,h.value=de.keepLines,b.value=de.widowControl,y.value=de.pageBreakBefore,T.value=de.tabStops,C.value=false,R.value=editor.mixedFieldsOf(ae),S.value=ae.indentUnknown,v.value=0,x.value="left",w.value="none",F.value=R.value,W.value=false,P.value=de,E.value=true;},{immediate:true});let oe=()=>{let Y=Math.round(v.value);return Y<=0?false:(R.value={...R.value,tabStops:false},T.value=editor.withTabStop(T.value,{positionTwips:Y,alignment:x.value,...w.value!=="none"?{leader:w.value}:{}}),v.value=0,x.value="left",w.value="none",true)},pe=()=>{if(!n())return;let Y=P.value,ae=Y===null?null:editor.changedFields(Y,{alignment:l.value,indentLeft:a.value,indentRight:i.value,special:d.value,specialBy:u.value,spaceBefore:p.value,spaceAfter:s.value,lineRule:c.value,lineValue:m.value,contextualSpacing:f.value,keepNext:g.value,keepLines:h.value,widowControl:b.value,pageBreakBefore:y.value,tabStops:T.value,clearedAllTabStops:C.value},F.value,R.value);if(ae===null){e.onClose();return}if(r.apply(ae)){W.value=false,e.onClose();return}W.value=true;},Ce={alignment:l,indentLeft:a,indentRight:i,special:d,specialBy:u,spaceBefore:p,spaceAfter:s,lineRule:c,lineValue:m,contextualSpacing:f,keepNext:g,keepLines:h,widowControl:b,pageBreakBefore:y,tabStops:T,clearedAllTabStops:C},Me=os.provideContext({mixed:R,values:vue.computed(()=>Object.fromEntries(Object.entries(Ce).map(([Y,ae])=>[Y,ae.value]))),errors:vue.computed(()=>W.value?{form:o("dialogs.paragraph.refused")}:{}),isEnabled:r.isEnabled,setValue:(Y,ae)=>{Ce[Y].value=ae,Y==="lineRule"&&(m.value=ae===P.value?.lineRule?P.value.lineValue:ae==="multiple"?1.08:12);let de=Y==="lineRule"?"lineSpacing":Y==="specialBy"?"special":Y;Y!=="lineValue"&&(R.value={...R.value,[de]:false});},apply:pe,cancel:e.onClose});return ()=>{if(!e.open)return null;let Y=N=>S.value&&(N==="indentLeft"||N==="indentRight"||N==="special")?o("dialogs.paragraph.notShown"):o("dialogs.paragraph.mixed"),ae=N=>{R.value={...R.value,[N]:false};},de=(N,De,dn,Se)=>jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":N==="by"?"specialBy":Se??N,class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-${N}`,children:o(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${z}-${N}`,type:"number",class:"docx-dialog__input",min:"0",step:"0.1",...N==="tabPosition"?{"data-docx-tab-entry":""}:{},value:Se&&R.value[Se]?"":editor.twipsToInches(De),placeholder:Se&&R.value[Se]?Y(Se):void 0,onInput:Fl=>{Se&&ae(Se),dn(editor.inchesToTwips(Number(Fl.target.value)||0));},"aria-label":o(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("dialogs.paragraph.unitInches")})]}),$d=(N,De,dn,Se)=>jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":Se,class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-${N}`,children:o(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("input",{id:`${z}-${N}`,type:"number",class:"docx-dialog__input",min:"0",step:"1",value:R.value[Se]?"":De,placeholder:R.value[Se]?Y(Se):void 0,onInput:Fl=>{ae(Se),dn(Math.max(0,Number(Fl.target.value)||0));},"aria-label":o(`dialogs.paragraph.${N}`)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("dialogs.paragraph.unitPoints")})]}),sn=(N,De,dn)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":N,class:"docx-dialog__checkbox-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:De,".indeterminate":R.value[N],onChange:Se=>{R.value={...R.value,[N]:false},dn(Se.target.checked);}}),o(`dialogs.paragraph.${N}`)]}),sg=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("dialogs.paragraph.title")})}),jsxRuntime.jsx("div",{"data-docx-part":"body",class:"docx-dialog__body",children:jsxRuntime.jsxs("div",{class:"docx-dialog__columns",children:[jsxRuntime.jsxs("div",{class:"docx-dialog__column",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"alignment",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-alignment`,children:o("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${z}-alignment`,class:"docx-dialog__input",value:R.value.alignment?"":l.value,onChange:N=>{ae("alignment"),l.value=N.target.value;},"aria-label":o("dialogs.paragraph.alignment"),children:[R.value.alignment?jsxRuntime.jsx("option",{value:"",children:o("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"left",children:o("dialogs.paragraph.alignLeft")}),jsxRuntime.jsx("option",{value:"center",children:o("dialogs.paragraph.alignCenter")}),jsxRuntime.jsx("option",{value:"right",children:o("dialogs.paragraph.alignRight")}),jsxRuntime.jsx("option",{value:"justify",children:o("dialogs.paragraph.alignJustify")})]})]}),jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.indentation")}),de("beforeText",a.value,N=>{a.value=N;},"indentLeft"),de("afterText",i.value,N=>{i.value=N;},"indentRight"),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"special",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-special`,children:o("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${z}-special`,class:"docx-dialog__input",value:R.value.special?"":d.value,onChange:N=>{ae("special"),d.value=N.target.value;},"aria-label":o("dialogs.paragraph.special"),children:[R.value.special?jsxRuntime.jsx("option",{value:"",children:Y("special")}):null,jsxRuntime.jsx("option",{value:"none",children:o("dialogs.paragraph.specialNone")}),jsxRuntime.jsx("option",{value:"firstLine",children:o("dialogs.paragraph.specialFirstLine")}),jsxRuntime.jsx("option",{value:"hanging",children:o("dialogs.paragraph.specialHanging")})]})]}),d.value!=="none"?de("by",u.value,N=>{u.value=Math.max(0,N);},"special"):null,jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"tabStops",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.tabStops")}),T.value.length===0?jsxRuntime.jsx("div",{class:"docx-dialog__note",children:o(R.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):T.value.map(N=>jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label docx-dialog__tab-position",children:o("dialogs.paragraph.tabPositionLabel",{position:editor.formatInches(N.positionTwips)})}),jsxRuntime.jsx("span",{class:"docx-dialog__tab-description",children:o(editor.TAB_ALIGNMENT_LABELS[N.alignment])}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>{T.value=T.value.filter(De=>De!==N);},"aria-label":o("dialogs.paragraph.tabRemoveAt",{position:editor.formatInches(N.positionTwips)}),children:o("dialogs.paragraph.tabRemove")})]},N.positionTwips)),de("tabPosition",v.value,N=>{v.value=Math.max(0,N);}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-tabAlignment`,children:o("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${z}-tabAlignment`,class:"docx-dialog__input",value:x.value,onChange:N=>{x.value=N.target.value;},"aria-label":o("dialogs.paragraph.tabAlignment"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"left",children:o("dialogs.paragraph.tabAlignLeft")}),jsxRuntime.jsx("option",{value:"center",children:o("dialogs.paragraph.tabAlignCenter")}),jsxRuntime.jsx("option",{value:"right",children:o("dialogs.paragraph.tabAlignRight")}),jsxRuntime.jsx("option",{value:"decimal",children:o("dialogs.paragraph.tabAlignDecimal")})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-tabLeader`,children:o("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${z}-tabLeader`,class:"docx-dialog__input",value:w.value,onChange:N=>{w.value=N.target.value;},"aria-label":o("dialogs.paragraph.tabLeader"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"none",children:o("dialogs.paragraph.tabNone")}),jsxRuntime.jsx("option",{value:"dot",children:o("dialogs.paragraph.tabLeaderDot")}),jsxRuntime.jsx("option",{value:"hyphen",children:o("dialogs.paragraph.tabLeaderHyphen")}),jsxRuntime.jsx("option",{value:"underscore",children:o("dialogs.paragraph.tabLeaderUnderscore")})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row docx-dialog__row--actions",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:oe,children:o("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>{R.value={...R.value,tabStops:false},T.value=[];},children:o("dialogs.paragraph.tabClearAll")})]})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__column",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.spacing")}),$d("spaceBefore",p.value,N=>{p.value=N;},"spaceBefore"),$d("spaceAfter",s.value,N=>{s.value=N;},"spaceAfter"),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"lineRule",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-lineSpacing`,children:o("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${z}-lineSpacing`,class:"docx-dialog__input",value:R.value.lineSpacing?"":c.value,onChange:N=>{let De=N.target.value;ae("lineSpacing"),c.value=De,m.value=De===P.value?.lineRule?P.value.lineValue:De==="multiple"?1.08:12;},"aria-label":o("dialogs.paragraph.lineSpacing"),children:[R.value.lineSpacing?jsxRuntime.jsx("option",{value:"",children:o("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"multiple",children:o("dialogs.paragraph.ruleMultiple")}),jsxRuntime.jsx("option",{value:"atLeast",children:o("dialogs.paragraph.ruleAtLeast")}),jsxRuntime.jsx("option",{value:"exact",children:o("dialogs.paragraph.ruleExactly")})]})]}),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"lineValue",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${z}-at`,children:o("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${z}-at`,type:"number",class:"docx-dialog__input",disabled:R.value.lineSpacing,min:"0.01",step:c.value==="multiple"?"0.01":"1",value:R.value.lineSpacing?"":m.value,onInput:N=>{let De=N.target.value.trim();m.value=De===""?c.value==="multiple"?1.08:12:Number(De)||0;},"aria-label":o("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:c.value==="multiple"?"":o("dialogs.paragraph.unitPoints")})]}),sn("contextualSpacing",f.value,N=>{f.value=N;}),jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.pagination")}),sn("keepNext",g.value,N=>{g.value=N;}),sn("widowControl",b.value,N=>{b.value=N;}),sn("keepLines",h.value,N=>{h.value=N;}),sn("pageBreakBefore",y.value,N=>{y.value=N;})]})]})}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",role:"alert",class:"docx-dialog__error",children:W.value?o("dialogs.paragraph.refused"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",type:"button",class:"docx-dialog__button docx-dialog__cancel",onClick:e.onClose,children:o("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",type:"button",class:"docx-dialog__button docx-dialog__apply",disabled:!r.isEnabled.value,onClick:pe,children:o("dialogs.paragraph.ok")})]})]});return jsxRuntime.jsx(gt,{kind:"paragraph",label:o("dialogs.paragraph.title"),onClose:e.onClose,class:e.className,style:e.style,onKeydown:N=>{if(!(N.key!=="Enter"||N.isComposing||N.target instanceof HTMLButtonElement||N.target instanceof HTMLSelectElement)){if(N.preventDefault(),N.target instanceof HTMLElement&&N.target.dataset.docxTabEntry!==void 0){oe();return}r.isEnabled.value&&pe();}},content:()=>Me(sg,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),lt=Object.assign(dh,os.parts);var Hc=Symbol("docx.dialogs");function gh(e){let t=vue.shallowRef(null),o=vue.shallowRef(null),n=vue.shallowRef(null),r=null,l=()=>{o.value=null,n.value?.cancel(),n.value=null;let i=r;r=null,vue.nextTick(()=>{!o.value&&!n.value&&i?.isConnected&&i.focus({preventScroll:true});});};return {target:t,active:o,session:n,open:(i,d)=>{l(),e()?.[i]!==false&&(r=d??(document.activeElement instanceof HTMLElement?document.activeElement:null),o.value=i);},close:l,get ownsPageSetup(){return e()?.pageSetup!==void 0}}}var Bo=()=>vue.inject(Hc,null),Bc=vue.defineComponent({name:"DocxDialogHost",props:{popups:Object},setup(e,{slots:t}){let o=gh(()=>e.popups);vue.provide(Hc,o),vue.watch(()=>e.popups,l=>{(o.active.value&&l?.[o.active.value]===false||o.session.value&&l?.textFormField===false)&&o.close();},{deep:true});let n=D(),r=_(()=>n.value?.mountGeneration??0);return vue.watch(r,(l,a)=>{l!==a&&o.close();}),vue.watch(o.target,l=>{l||o.close();}),vue.watch(n,(l,a,i)=>{if(o.close(),!l)return;let d=l.setTextFormFieldChrome({onRequest:u=>{if(o.close(),e.popups?.textFormField===false){u.cancel();return}o.session.value=u,u.signal.addEventListener("abort",()=>{o.session.value===u&&(o.session.value=null);},{once:true});}},{fallback:true});i(()=>{d(),o.close();});},{immediate:true}),()=>[t.default?.(),o.target.value?vue.h(vue.Teleport,{to:o.target.value},[o.active.value==="pageSetup"&&e.popups?.pageSetup!==false?e.popups?.pageSetup?ge(e.popups.pageSetup,{open:true,onClose:o.close}):vue.h(Yt,{open:true,onClose:o.close}):null,o.active.value==="paragraph"&&e.popups?.paragraph!==false?e.popups?.paragraph?ge(e.popups.paragraph,{open:true,onClose:o.close}):vue.h(lt,{open:true,onClose:o.close}):null,o.session.value&&e.popups?.textFormField!==false?e.popups?.textFormField?ge(e.popups.textFormField,{session:o.session.value},o.session.value):vue.h(On,{session:o.session.value}):null]):null]}});var rs=0,as=false,ls=false;function Kc(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(as||(as=true,rs+=1,queueMicrotask(()=>{as=false;}),ls||(ls=true,setTimeout(()=>{ls=false,rs=0;},0))),rs>16)}function Vc(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};Kc()?setTimeout(o,0):queueMicrotask(o);}}function Wc(){let e=0,t=0,o=null,n=new Set,r=new Set,l=new Set,a=i=>{for(let d of [...i])d();};return {getShift:()=>e,setShift(i){let d=Math.max(0,Math.round(i));d!==e&&(e=d,a(n));},subscribeShift(i){return n.add(i),()=>n.delete(i)},getReservation:()=>t,setReservation(i){let d=Math.max(0,Math.round(i));d!==t&&(t=d,a(r));},subscribeReservation(i){return r.add(i),()=>r.delete(i)},getViewport:()=>o,setViewport(i){i!==o&&(o=i,a(l));},subscribeViewport(i){return l.add(i),()=>l.delete(i)}}}var ds=Symbol("navigationLayout");function Xt(){return vue.inject(ds,null)}function Jt(){let e=Xt(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getShift();};a();let i=n.subscribeShift(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function qc(){let e=Xt(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getReservation();};a();let i=n.subscribeReservation(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function it(){let e=Xt(),t=vue.shallowRef(null),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.getViewport();};a();let i=n.subscribeViewport(a);l(i);},{immediate:true,flush:"post"});return j(o),t}function zc(){let e=new Set,t=new Map,o=new Map,n=0,r=null,l=false,a=null,i=false;function d(){if(e.size===0&&t.size===0)return;if(t.size===0)return "kind";let c=Object.create(null),m=[...t].sort((f,g)=>(o.get(f[0])??0)-(o.get(g[0])??0));for(let[,{author:f,style:g}]of m)c[f]=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 m=Object.entries(c.authors).map(([f,g])=>`${f}\0${JSON.stringify(g)}`).sort();return `${c.others??"kind"}${m.join("")}`}function p(){if(!r)return;let c=d(),m=u(c);if(m!==a){if(c===void 0){l&&(r.setRevisionStyles("author"),l=false,a=m);return}r.setRevisionStyles(c),l=true,a=m;}}function s(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),s();},register(c,m,f){o.has(c)||o.set(c,n++),t.set(c,{author:m,style:f}),s();},unregister(c){(e.delete(c)||t.delete(c))&&s();},connect(c){r=c;let m=d();l=c!==null&&m!==void 0,a=c===null?null:u(m),s();},current:d}}var Hn=Symbol("RevisionStyleRegistry");var $c=Symbol("docxEditorRootOwner"),ps=Symbol("docxEditorRootHostEmit");function Sh(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 ms(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(Kl,o),vue.provide(Vl,n),vue.provide(ds,Wc()),vue.provide($c,true);let r=zc();vue.provide(Hn,r);let l=k(),a=vue.computed(()=>{l.catalogue.value;let v=vue.toValue(e).translate;return (x,w)=>v?v(x,w):l.t(x,w)});vue.provide(Ol,a);let i=vue.shallowRef(0),d=[],u=v=>(d.push(v),()=>{let x=d.indexOf(v);x!==-1&&d.splice(x,1);}),p=()=>{let v=d.at(-1);return v?(v(),true):false},s=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:u,requestCommentDraft:p});vue.watch(i,v=>{s.value={mounted:v,register:()=>(i.value++,()=>{i.value=Math.max(0,i.value-1);}),registerCommentDraft:u,requestCommentDraft:p};},{immediate:true}),vue.provide(fo,s);let c=[],m=false,f=()=>{for(let x of c.splice(0))x();let v=o.value;v&&(r.connect(null),v.destroy(),o.value=null),m=false;},g=v=>{m||(m=true,t.ready(v));},h=v=>{t.change(v);},b=v=>{t.fontError(v);},y=()=>{if(typeof window>"u")return;f();let v=vue.toValue(e),x=editor.createDocxEditor({...v.document!==void 0?{document:v.document}:{},...v.fonts?{fonts:v.fonts}:{},...v.author!==void 0?{author:v.author}:{},...v.locale!==void 0?{locale:v.locale}:{},translate:a.value,...v.mode!==void 0?{mode:v.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...v.modules!==void 0?{modules:v.modules}:{},...v.zoom!==void 0?{zoom:v.zoom}:{},...v.zoomMode!==void 0?{zoomMode:v.zoomMode}:{},...v.tableInteractionLabel?{tableInteractionLabel:v.tableInteractionLabel}:{},...v.imageDecodePort?{imageDecodePort:v.imageDecodePort}:{},onFontError:b}),w=Vc(()=>{n.value++;});c.push(x.on("change",E=>{h(E),w();})),c.push(x.on("selectionChange",w)),c.push(x.on("error",w)),r.connect(x),o.value=x;};vue.onMounted(()=>{vue.watch(o,v=>{if(!v)return;if(!v.snapshot().isOpening){g(v);return}let x=v.on("change",()=>{x(),g(v);});c.push(x);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,vue.toValue(e).imageDecodePort],y,{immediate:true,flush:"post"}),vue.onUnmounted(f);let T={zoom:void 0,mode:void 0};vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,v,x])=>{if(!o.value)return;let w=o.value;v!==void 0&&v!==T.zoom&&(T.zoom=v,w.setZoom(v));let E=x!==void 0&&(T.mode===void 0||!Sh(T.mode,x)),P=x===void 0?null:editor.resolveZoomMode(x),R=v!==void 0&&x!==void 0&&P!==null&&P.type==="fit";(E||R)&&(T.mode=x,w.setZoomMode(x));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).author],([v,x])=>{v&&v.setAuthor(x);},{flush:"post"});let C={editor:null,value:void 0};return vue.watch(()=>[o.value,vue.toValue(e).mode],([v,x])=>{if(v){if(C.editor!==v){C.editor=v,C.value=x;return}C.value!==x&&(C.value=x,v.setMode(x));}},{flush:"post",immediate:true}),vue.watch(()=>[o.value,a.value],([v,x])=>{v&&v.setTranslate(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).locale],([v,x])=>{v&&v.setLocale(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([v,x])=>{v&&v.setTableInteractionLabel(x??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:a}}function Uc(){return vue.inject($c,false)}var Rh=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=Wr(true);return vue.provide(gi,o),()=>t.default?.()}}),Mh=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=zr();return vue.provide(Di,o),()=>t.default?.()}}),jc={ready:()=>{},change:()=>{},fontError:()=>{}};function Dh(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,l=vue.shallowRef({...r}),a={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...jc});vue.provide(ps,i);let{editorRef:d}=ms(l,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Kn,rootProps:l,rootListeners:a,editorRef:d}}var Kn=vue.defineComponent({name:"DocxEditorRoot",props:{popups:Object,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=Uc(),r=vue.inject(ps,null);return n&&r?(r.value={ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)},vue.onUnmounted(()=>{r.value={...jc};})):n||ms(e,{ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)}),()=>vue.h(Rh,null,{default:()=>vue.h(Mh,null,{default:()=>vue.h(ea,null,{default:()=>vue.h(xc,{popups:e.popups},{default:()=>vue.h(Bc,{popups:e.popups},{default:()=>o.default?.()})})})})})}});var _a=[.25,.5,.75,1,1.25,1.5,2];function Vn(e,t){return t==="in"?_a.find(n=>n>e+.001)??null:[..._a].reverse().find(n=>n<e-.001)??null}function Zc(e,t){return e==="0"?1:e==="+"||e==="="?Vn(t,"in")??t:e==="-"?Vn(t,"out")??t:null}var vs=316,ys=44,Ih=24,ka={inlineStart:0,inlineEnd:vs},Yc={inlineStart:ys,inlineEnd:ys},Xc={inlineStart:0,inlineEnd:0};function ep({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return Yc;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return ka;let l=Number.isFinite(n)&&n>0?n:0;return t-l-o-2*Ih>=vs?ka:Yc}var Nh=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}},Fh=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function tp(){let e=it(),t=vue.shallowRef(null),o=vue.watch(e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.clientWidth;};if(a(),typeof ResizeObserver>"u")return;let i=new ResizeObserver(a);i.observe(n),l(()=>i.disconnect());},{immediate:true,flush:"post"});return j(o),t}function Ko(){let e=go(),t=_(Nh,Fh),o=it(),n=qc(),r=vue.ref(null),l=vue.shallowRef(Xc),a=vue.watch([e,t,o,n],([i,d,u,p],s,c)=>{d.pageSetup&&(r.value=d.pageSetup.pageWidthTwips);let m=()=>{if((i.mounted??0)===0)return Xc;let h=d.pageSetup?.pageWidthTwips??r.value;return ep({open:d.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:h===null||d.entitledZoom===null?0:le(h)*d.entitledZoom,inlineStartReservation:p,docked:d.entitledZoom===null})},f=()=>{let h=m();h!==l.value&&(l.value=h);};if(f(),!u||typeof ResizeObserver>"u")return;let g=new ResizeObserver(f);g.observe(u),c(()=>g.disconnect());},{immediate:true,flush:"post"});return j(a),l}var Wh=e=>e.reviewPaneOpen??true,qh=e=>e.zoomMode?.type==="fit",Ia=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(Fn,true);let o=He(),n=D(),r=_(Wh),l=_(qh),a=go(),i=vue.computed(()=>(a.value.mounted??0)>0),d=Ko(),u=Jt(),p=Xt(),s=null;vue.onMounted(()=>{s&&p?.setViewport(s);}),vue.onUnmounted(()=>{p?.setViewport(null);}),vue.watch(u,m=>{s&&s.style.setProperty("--docx-nav-shift",`${m}px`),p?.setViewport(s);});let c=m=>{let f=n.value;if(!f||!(m.metaKey||m.ctrlKey)||m.altKey)return;let g=m.target;if(g instanceof Element&&g.closest('input, textarea, select, [role="dialog"]'))return;let h=Zc(m.key,f.getZoom());h!==null&&(m.preventDefault(),f.setZoom(h));};return ()=>{let m={ref:f=>{s=f instanceof HTMLElement?f:null,p?.setViewport(s),s&&s.style.setProperty("--docx-nav-shift",`${u.value}px`);},"data-testid":"docx-editor-scroll",onKeydownCapture:c,class:_e(`${o}docx-editor-one-surface docx-editor-one-surface__viewport docx-editor__scroll-container`,e.class,e.className),style:{...e.style,"--docx-nav-shift":`${u.value}px`,...i.value?{"--docx-review-gutter":`${d.value.inlineEnd}px`,"--docx-review-gutter-start":`${d.value.inlineStart}px`}:{}}};return i.value&&(m["data-review-pane"]=r.value?"open":"closed"),l.value&&(m["data-zoom-fit"]=""),vue.h("div",m,t.default?.())}}});function bs(e){return e==="checkbox"?"contentControlCheckbox":e==="picture"?"contentControlPicture":"contentControlWidget"}var rp=vue.defineComponent({name:"DocxConfiguredEnginePopups",setup(){let e=Tt(),t=D(),o=vue.shallowRef(null),n=vue.shallowRef(null);return vue.watch([t,()=>e.value?.contentControlWidget!==void 0,()=>e.value?.contentControlCheckbox!==void 0,()=>e.value?.contentControlPicture!==void 0],([r,l,a,i],d,u)=>{if(!r||!l&&!a&&!i)return;let p=[...l?["dropdown","comboBox","date","buildingBlockGallery"]:[],...a?["checkbox"]:[],...i?["picture"]:[]],s=r.setContentControlWidgetChrome({kinds:p,onRequest:c=>{if(e.value?.[bs(c.kind)]===false){c.cancel();return}o.value=c,c.signal.addEventListener("abort",()=>{o.value===c&&(o.value=null);},{once:true});}},{fallback:true});u(()=>{s(),o.value=null;});},{immediate:true}),vue.watch([t,()=>e.value?.invalidTextFormField===void 0?void 0:e.value.invalidTextFormField!==false],([r,l],a,i)=>{if(!r||l===void 0)return;let d=r.setInvalidTextFormFieldChrome({onRequest:u=>{if(e.value?.invalidTextFormField===false){u.cancel();return}n.value=u,u.signal.addEventListener("abort",()=>{n.value===u&&(n.value=null);},{once:true});}},{fallback:true});i(()=>{d(),n.value=null;});},{immediate:true}),()=>[o.value&&e.value?.[bs(o.value.kind)]?ge(e.value[bs(o.value.kind)],{session:o.value},o.value):null,n.value&&e.value?.invalidTextFormField?ge(e.value.invalidTextFormField,{session:n.value},n.value):null]}});var nx=["nw","n","ne","e","se","s","sw","w"],dp=40,up=12;function rx(e){return `imageOverlay.handle.${e}`}function ax(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 lx(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 ix(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 cp=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=D(),{t:o}=k(),n=vue.ref(null),r=vue.ref(null),l=vue.shallowRef({left:0,top:0}),a=()=>{let y=editor.overlayHostOrigin(e.containerRef.value);(y.left!==l.value.left||y.top!==l.value.top)&&(l.value=y);},i=vue.shallowRef(null);vue.watch(r,y=>{i.value=y;},{flush:"sync"});let d=vue.shallowRef(null),u=vue.shallowRef(null),p=vue.shallowRef(null),s=vue.shallowRef(null),c=vue.shallowRef(null);vue.watch([()=>e.containerRef.value,()=>n.value?.id],([y],T,C)=>{if(!y)return;let v=x=>{let E=(x.target instanceof Element?x.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");s.value=E??null,E&&E===n.value?.id&&queueMicrotask(()=>p.value?.focus({preventScroll:true}));};y.addEventListener("pointerdown",v,{capture:true}),C(()=>y.removeEventListener("pointerdown",v,{capture:true}));},{flush:"post"}),vue.watch(t,(y,T,C)=>{if(!y){n.value=null;return}let v=()=>{n.value=editor.selectedDrawingOverlayTargetOf(y.surface);},x=()=>{queueMicrotask(v);};v();let w=[y.on("change",x),y.on("selectionChange",v)];C(()=>{for(let E of w)E();});},{immediate:true,flush:"post"}),vue.watch([()=>e.portalRef.value,()=>e.containerRef.value],([y,T],C,v)=>{if(a(),!y&&!T||typeof ResizeObserver!="function")return;let x=new ResizeObserver(a);y&&x.observe(y),T&&x.observe(T),v(()=>x.disconnect());},{immediate:true,flush:"post"}),vue.watch(n,a,{flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([y,T,C],v,x)=>{if(y){c.value=y;return}if(!T||!C?.surface)return;let w=T.closest(".docx-editor__scroll-container");if(!w)return;let E=C.surface.overlayCoordinates();c.value=editor.createImageOverlayScrollPort(w,E.paintScale),x(()=>{c.value=null;});},{flush:"post"});let m=()=>{r.value=null,d.value=null;let y=u.value;if(u.value=null,y)try{y.releasePointerCapture(y._lastPointerId??0);}catch{}},f=(y,T,C,v,x,w,E)=>{let P=t.value;if(!P?.surface)return;let R=P.surface.layout(),S=editor.captureImageMutationPreconditions(P);if(S){d.value=Object.freeze({x:v,y:x}),u.value=w,w._lastPointerId=E;try{w.setPointerCapture(E);}catch{}r.value={session:Object.freeze({drawingNodeId:C.id,startBounds:Object.freeze({x:C.x,y:C.y,width:C.width,height:C.height}),startWidthEmu:C.widthEmu,startHeightEmu:C.heightEmu,startPosition:C.position,anchorFrameOrigin:C.anchorFrameOrigin,transform:C.transform,mode:y,handle:T,preconditions:S,layoutRevision:R.revision,packageRevision:P.surface.session.packageRevision(),kind:C.kind}),bounds:C,accumulatedScrollPt:0},p.value?.focus({preventScroll:true});}},g=(y,T,C,v,x)=>{let w=t.value;if(w){if(editor.isStaleImageInteractionCommit(w,y)){m();return}y.mode==="resize"?w.exec({type:"setImageProperties",widthEmu:T,heightEmu:C,...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}:{}}:{}}):y.mode==="move"&&x&&w.exec({type:"setImagePosition",...x}),m();}},h=y=>{let T=t.value;if(!T)return;let C=i.value?.bounds??editor.selectedDrawingOverlayTargetOf(T.surface);if(!C)return;if(i.value&&y.key==="Escape"){y.preventDefault(),y.stopPropagation(),m();return}if(i.value)return;let v=y.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(y.key==="Delete"||y.key==="Backspace"){y.preventDefault(),y.stopPropagation(),T.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(y.key))return;y.preventDefault(),y.stopPropagation();let x=y.key==="ArrowLeft"?-v:y.key==="ArrowRight"?v:0,w=y.key==="ArrowUp"?-v:y.key==="ArrowDown"?v:0;if(y.altKey){if(!C.canResize)return;let P=ix(x,w),R=editor.computeImageResizeResult({handle:P,startWidthEmu:C.widthEmu,startHeightEmu:C.heightEmu,startBounds:{x:C.x,y:C.y,width:C.width,height:C.height},startPosition:C.position,anchorFrameOrigin:C.anchorFrameOrigin,deltaXPt:x,deltaYPt:w,transform:C.transform,preserveAspect:editor.resizePreservesAspect(P,C.aspectLocked,y.shiftKey),kind:C.kind});T.exec({type:"setImageProperties",widthEmu:R.widthEmu,heightEmu:R.heightEmu,...R.position?.mode==="simple"?{horizontalEmu:R.position.horizontalEmu,verticalEmu:R.position.verticalEmu}:{},...R.position?.mode==="frame"?{...R.position.horizontalEmu!==void 0?{horizontalEmu:R.position.horizontalEmu}:{},...R.position.verticalEmu!==void 0?{verticalEmu:R.position.verticalEmu}:{}}:{}});return}if(C.kind!=="anchored"||!C.canMove||!C.position)return;let E=editor.computeMovedImagePosition(C.position,x,w);T.exec({type:"setImagePosition",...E});};vue.watch([r,t,()=>e.containerRef.value],([y,T,C],v,x)=>{if(!y||!T?.surface)return;let w=T.surface.overlayCoordinates(),E=R=>{let S=i.value,F=d.value;if(!S||!F)return;let M=editor.cssPixelsToLayoutPoints(R.clientX-F.x,w.paintScale),W=editor.cssPixelsToLayoutPoints(R.clientY-F.y,w.paintScale);if(S.session.mode==="move"){let oe=0,pe=c.value,Ce=C?.closest(".docx-editor__scroll-container");if(pe&&Ce){let Y=Ce.getBoundingClientRect();R.clientY>Y.bottom-dp?oe=up:R.clientY<Y.top+dp&&(oe=-up),oe!==0&&(oe=pe.scrollBy(oe));}let Me=S.accumulatedScrollPt+oe;r.value={...S,accumulatedScrollPt:Me,bounds:Object.freeze({...S.bounds,x:S.session.startBounds.x+M,y:S.session.startBounds.y+W+Me})};return}if(!S.session.handle)return;let z=editor.computeImageResizeResult({handle:S.session.handle,startWidthEmu:S.session.startWidthEmu,startHeightEmu:S.session.startHeightEmu,startBounds:S.session.startBounds,startPosition:S.session.startPosition,anchorFrameOrigin:S.session.anchorFrameOrigin,deltaXPt:M,deltaYPt:W,transform:S.session.transform,preserveAspect:editor.resizePreservesAspect(S.session.handle,S.bounds.aspectLocked,R.shiftKey),kind:S.session.kind});r.value={...S,bounds:Object.freeze({...S.bounds,x:z.previewBounds.x,y:z.previewBounds.y,width:z.previewBounds.width,height:z.previewBounds.height,widthEmu:z.widthEmu,heightEmu:z.heightEmu})};},P=R=>{let S=i.value;if(S)if(R.type==="pointerup"){let F=editor.cssPixelsToLayoutPoints(R.clientX-(d.value?.x??R.clientX),w.paintScale),M=editor.cssPixelsToLayoutPoints(R.clientY-(d.value?.y??R.clientY),w.paintScale),W=editor.finalizeImageOverlayInteraction({session:S.session,deltaXPt:F,deltaYPt:M,accumulatedScrollPt:S.accumulatedScrollPt,aspectLocked:S.bounds.aspectLocked,shiftKey:R.shiftKey,anchorFrameOrigin:S.session.anchorFrameOrigin});g(S.session,W.widthEmu,W.heightEmu,W.previewBounds,W.position);}else m();};window.addEventListener("pointermove",E),window.addEventListener("pointerup",P),window.addEventListener("pointercancel",P),x(()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",P),window.removeEventListener("pointercancel",P);});},{flush:"post"}),vue.watch(n,y=>{!y||s.value!==y.id||(s.value=null,p.value?.focus({preventScroll:true}));},{flush:"post"});let b=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let y=t.value,T=b.value,C=e.portalRef.value;if(!y?.surface||!T||!C)return null;let v=y.surface.publishedLayout(),x=y.surface.overlayCoordinates(),w=editor.overlayFrameToSheetCssPixels(v,{pageIndex:T.pageIndex,x:T.x,y:T.y,width:T.width,height:T.height},x),E={left:w.left+l.value.left,top:w.top+l.value.top,width:w.width,height:w.height},P=T.canResize,R=T.kind==="anchored"&&T.canMove;return jsxRuntime.jsx(vue.Teleport,{to:C,children:jsxRuntime.jsxs("div",{ref:S=>{p.value=S instanceof HTMLDivElement?S:null;},class:"docx-image-selection-overlay","data-drawing-node-id":T.id,tabindex:0,onKeydown:h,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${R?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${E.left}px`,top:`${E.top}px`,width:`${E.width}px`,height:`${E.height}px`,cursor:R?"move":"default"},onPointerdown:S=>{I(S),!(!R||!T.position)&&S.button===0&&(S.preventDefault(),S.stopPropagation(),f("move",null,T,S.clientX,S.clientY,S.currentTarget,S.pointerId));}}),P?nx.map(S=>{let F=lx(S);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(rx(S)),tabindex:0,style:{left:`calc(${E.left}px + ${E.width}px * ${parseFloat(F.x)/100} - 5px)`,top:`calc(${E.top}px + ${E.height}px * ${parseFloat(F.y)/100} - 5px)`,cursor:ax(S)},onPointerdown:M=>{I(M),M.button===0&&(M.preventDefault(),M.stopPropagation(),f("resize",S,T,M.clientX,M.clientY,M.currentTarget,M.pointerId));}},S)}):null]})})}}});function xs(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var Fa=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=Bo(),o=D(),n=Tn(),r=vue.shallowRef(null),l=vue.shallowRef(null),a=()=>{let s=o.value,c=r.value;s&&c&&s.attach(c);},i=()=>o.value?.detach();vue.watch([o,r],a,{immediate:true,flush:"post"}),vue.onDeactivated(i),vue.onActivated(a),vue.onUnmounted(i);let d=s=>{let c=n;if(!c?.isEnabled)return;let m=s.clipboardData;m&&xs(m)&&(editor.clipboardPasteLandsContent(m)||(s.preventDefault(),c.insertFromDataTransfer(m)));},u=s=>{!n?.isEnabled||!s.dataTransfer||!xs(s.dataTransfer)||s.preventDefault();},p=s=>{let c=n;if(!c?.isEnabled)return;let m=s.dataTransfer;if(m&&xs(m)){if(editor.clipboardDropLandsText(m)){if((s.target instanceof Element?s.target:null)?.closest("[contenteditable]")?.getAttribute("contenteditable")==="true")return;s.preventDefault();return}s.preventDefault(),c.insertFromDataTransfer(m);}};return ()=>vue.h("div",{ref:s=>{l.value=s instanceof HTMLDivElement?s:null,t&&(t.target.value=l.value);},class:"docx-content-mount"},[vue.h("div",{ref:s=>{r.value=s instanceof HTMLDivElement?s:null;},class:_e("docx-paginated-surface",e.class,e.className),onPaste:d,onDragover:u,onDrop:p}),vue.h(Cc),vue.h(rp),o.value?vue.h(cp,{containerRef:r,portalRef:l}):null])}});var yx=e=>e.isLoading||e.isOpening===true,vx=e=>({width:le(e.pageSetup?.pageWidthTwips??12240)*e.zoom,height:le(e.pageSetup?.pageHeightTwips??15840)*e.zoom}),Cs=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"})}}),bx=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=_(yx),n=_(vx),{t:r}=k();return ()=>{if(!e.when&&!o.value)return null;let l=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:l,style:e.style,role:"status",ariaLive:"polite"},t.default?.()??vue.h("div",{class:"docx-paginated-surface docx-editor__loading-surface",style:{width:`${n.value.width}px`,height:`${n.value.height}px`}},[vue.h("div",{class:"docx-pages"},[vue.h("div",{class:"docx-page docx-editor__loading-page"},[vue.h("div",{class:"docx-editor__loading-page-status"},[vue.h(Cs),vue.h("span",{class:"docx-editor-sr-only"},r("loading.label"))])])])]))}}}),La=Object.assign(bx,{Spinner:Cs});var hx=["zoom","script","format","list","alignment","styles","font","text","history"],Ts=new Set(["review"]),Es=24,gp=new Set;function yp(e,t=hx){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function fp(e,t){let{widths:o,groups:n,order:r,fixed:l,more:a}=e,i=l;for(let u of n)i+=o.get(u)??0;if(i<=t)return gp;i+=a;let d=new Set;for(let u of r){if(i<=t)break;let p=o.get(u);p===void 0||d.has(u)||(d.add(u),i-=p);}return d}function vp(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 bp=vp;function hp(e){if(!(e.available>0))return gp;let t=fp(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=fp(e,e.available-(e.hysteresis));return vp(n,o)?o:n}function xp(e,t,o,n){return e+t+o+n*2}function Cp(e,t){return e+t}function Ps(e,t){return e+t}function Tp(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 Ss(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function Ep(e){return Ss(e.columnGap)}function Sp(e,t){return e.clientWidth-Ss(t.paddingLeft)-Ss(t.paddingRight)}var Vo="data-toolbar-group",qn="data-toolbar-fixed",Rs="data-toolbar-more",Sx=34,Pp=new Set;function wp(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),l=vue.shallowRef(Sx),a=vue.ref(Pp),i=0,d,u=()=>typeof e=="function"?e():e.value,p=()=>typeof t=="function"?t():t.value,s=()=>typeof o=="function"?o():o.value,c=()=>{let g=n.value;if(!g||!u())return;let h=getComputedStyle(g),b=Ep(h),y=Sp(g,h),T=g.querySelector(".docx-toolbar__separator"),C=b*2;if(T){let R=getComputedStyle(T),S=Tp(R);C=xp(T.offsetWidth,S.start,S.end,b);}let v=new Map(r.value);for(let R of g.querySelectorAll(`[${Vo}]`)){let S=R.getAttribute(Vo);S&&R.offsetWidth>0&&v.set(S,Cp(R.offsetWidth,C));}r.value=v;let x=0;for(let R of g.querySelectorAll(`[${qn}]`))R.offsetWidth>0&&(x+=Ps(R.offsetWidth,b));let w=g.querySelector(`[${Rs}]`);w&&w.offsetWidth>0&&(l.value=Ps(w.offsetWidth,b));let E={available:y,widths:v,groups:p(),order:s(),fixed:x,more:l.value,previous:a.value,hysteresis:Es},P=hp(E);bp(P,a.value)||(a.value=P);},m=g=>{n.value=g;},f=()=>{d?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let g=n.value;if(!(!u()||!g||typeof ResizeObserver>"u")){d=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),d.observe(g);for(let h of g.querySelectorAll(`[${Vo}], [${qn}]`))d.observe(h);}};return vue.watch([n,a,()=>u(),()=>p().join(","),()=>s().join(",")],()=>{if(!u()){a.value.size>0&&(a.value=Pp),d?.disconnect();return}c(),f();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),d?.disconnect();}),{attach:m,overflow:a}}var Dx=["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"],Mp=Symbol("OverflowPanelContext");function _x(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var Ds=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?.())])}}),Dp=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=K(),o=So(),n=vue.inject(Mp,{close:()=>{}}),r=U(vue.computed(()=>e.slot));return ()=>{let l=V(e.slot),a=editor.chromeSlotIsToggle(e.slot),i=o(t(l?.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}:{},...a?{"aria-pressed":r.isActive.value}:{},...r.isActive.value?{"data-active":""}:{},...r.value.value!==null?{"data-value":r.value.value}:{},onMousedown:I,onClick:d=>{r.execute(),n.close(d.detail===0);}},[vue.h("span",{class:"docx-toolbar__more-command-icon",ariaHidden:"true"},[q(l?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),_p=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=K(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(false),i=Q("toolbar-overflow"),d=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(Mp,{close:u}),vue.watch(o,(p,s,c)=>{if(!p)return;let m=f=>{let g=f.target;g instanceof Node&&n.value?.contains(g)||(o.value=false);};document.addEventListener("mousedown",m,true),c(()=>document.removeEventListener("mousedown",m,true));}),vue.watch(o,p=>{if(!p||!a.value)return;a.value=false;let s=l.value;s&&_x(s);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[Rs]:""},[vue.h("button",{ref:r,type:"button",class:"docx-toolbar__button docx-toolbar__more-trigger","data-slot":"toolbar.more","aria-haspopup":"dialog","aria-expanded":o.value,"aria-controls":o.value?i:void 0,"aria-label":d,title:d,...o.value?{"data-active":""}:{},onMousedown:I,onClick:()=>{o.value=!o.value;},onKeydown:p=>{p.key==="ArrowDown"&&(p.preventDefault(),a.value=true,o.value=true);}},[q(Dx)]),o.value?vue.h("div",{ref:l,id:i,role:"dialog","aria-label":d,class:"docx-toolbar__more-panel","data-testid":"toolbar-overflow-panel",onKeydown:p=>{p.key!=="Escape"||p.defaultPrevented||(p.preventDefault(),u(true));}},e.sections.map(p=>vue.h("div",{key:p.id,class:"docx-toolbar__more-section",role:"group","aria-label":t(p.labelKey)},[vue.h("span",{class:"docx-toolbar__more-heading",ariaHidden:"true"},t(p.labelKey)),...p.children??[]]))):null])}});var ks=[{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"}],Oa=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}=k(),n=K(),r=Ln("image.wrap"),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null),d=Q("image-wrap"),u=vue.computed(()=>ks.find(m=>m.value===r.value.value)??ks[0]),p=V("image.wrap"),s=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(l,(m,f,g)=>{if(!m)return;let h=y=>{let T=a.value;T&&y.target instanceof Node&&T.contains(y.target)||(l.value=false);},b=y=>{y.key==="Escape"&&(y.preventDefault(),l.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=m=>{l.value=false,r.execute(m);};return ()=>{if(e.hidden)return null;let m=o("imageWrap.tooltipPrefix",{label:o(u.value.labelKey)}),f={type:"button",ref:i,class:`docx-toolbar__button docx-toolbar__image-wrap-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.wrap",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":l.value,"aria-controls":l.value?d:void 0,"aria-label":s,title:r.disabledReason.value??m,onMousedown:I,onClick:()=>{l.value=!l.value;}};return jsxRuntime.jsxs("div",{ref:a,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(L,{...f,children:t.default?.()}):jsxRuntime.jsx("button",{...f,children:t.default?.()??q(p?.paths)}),l.value?jsxRuntime.jsx("div",{id:d,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:g=>g.stopPropagation(),children:ks.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]})}}});Oa.docxSlot="image.wrap";var Ha=Object.assign(Oa,{docxSlot:"image.wrap"});function be(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(Kt,{slot:e,...o},n)}});return t.docxSlot=e,t}var kp=be("history.undo"),Ip=be("history.redo"),Np=be("text.bold"),Fp=be("text.italic"),Lp=be("text.underline"),Ap=be("text.strike"),Op=be("format.clear"),Hp=be("script.super"),Bp=be("script.sub"),Kp=be("alignment.left"),Vp=be("alignment.center"),Wp=be("alignment.right"),qp=be("alignment.justify"),zp=be("list.bullet"),$p=be("list.numbered"),Up=be("list.outdent"),Gp=be("list.indent"),jp=be("table.insert"),Zp=be("review.comments"),Ka=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=D(),n=mt(),{openAtCaret:r}=ke(),l=K(),{t:a}=k();return ()=>{if(e.hidden)return null;n.value;let i=editor.chromeProbeForSlot("text.link"),d=o.value&&i?o.value.can(i):null,u=d?.ok===true,p=i18n.localizeDisabledReason(d&&!d.ok?d.reason:null,a),s=V("text.link"),c=l(s?.labelKey??"text.link"),m={class:_e("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()},f=e.icon??t.default?.()??q(s?.paths);return e.asChild?vue.h(L,m,t.default):vue.h("button",{type:"button",...m},f??void 0)}}});Ka.docxSlot="text.link";var Va=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=D(),o=Xr(),n=K();return ()=>{if(e.hidden)return null;let r=V("file.save"),l=n(r?.labelKey??"file.save"),a=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:_e("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:a,...a?{"data-disabled":""}:{},"aria-label":l,title:l,onMousedown:I,onClick:()=>o.value.onSave?.()},[q(r?.paths)])}}});Va.docxSlot="file.save";var to=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:_e("docx-toolbar__separator",e.class,e.className)})}});var Hx=e=>({zoom:e.zoom,mode:e.zoomMode}),Bx=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,Yp={type:"fixed"};function Is(){let e=D(),t=_(Hx,Bx),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??Yp),l=vue.computed(()=>Vn(t.value.zoom,"out")),a=vue.computed(()=>Vn(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(Yp),o(1);},zoomIn:()=>a.value!==null&&o(a.value),zoomOut:()=>l.value!==null&&o(l.value),canZoomIn:vue.computed(()=>!!e.value&&a.value!==null),canZoomOut:vue.computed(()=>!!e.value&&l.value!==null),levels:_a}}var Gn=2,jn=3276,Un=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],Wx=e=>e.formatting?.fontSizePt??null;function Qp(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function em(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 qx(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<Gn||n>jn?null:n}var om=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:"+"})]})}}),Wa=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=_(Wx),n=U("font.size"),r=K(),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null),d=vue.ref(null),u=c=>{let m=t.value;if(!m)return;let f=editor.commandForSlotValue("font.size",c);f&&m.can(f).ok&&m.exec(f);},p=c=>{u(Math.min(jn,Math.max(Gn,Math.round(c*2))));},s=c=>{l.value=false,a.value=null,d.value?.blur(),t.value?.focus();};return vue.watch(l,(c,m,f)=>{if(!c)return;let g=h=>{let b=i.value;b&&h.target instanceof Node&&b.contains(h.target)||(l.value=false,a.value=null);};document.addEventListener("mousedown",g),f(()=>document.removeEventListener("mousedown",g));}),()=>{if(e.hidden)return null;let c=n.isEnabled.value&&o.value!==null,m=o.value===null?"\u2014":String(Math.round(o.value*2)/2),f=a.value??m,g=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(a.value===null)return;let b=qx(a.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(om,{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)>Gn,canIncrease:c&&Math.round(o.value*2)<jn,onDecrease:()=>p(em(o.value??0,Un,Gn/2)),onIncrease:()=>p(Qp(o.value??0,Un,jn/2)),children:jsxRuntime.jsx("input",{ref:d,type:"text",inputmode:"decimal",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--boxed docx-toolbar__font-size-input",value:f,disabled:!n.isEnabled.value,role:"combobox","aria-expanded":l.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),autocomplete:"off",onInput:b=>{a.value=b.target.value,l.value=true;},onFocus:b=>{b.target.select(),l.value=true;},onClick:()=>{l.value=true;},onKeydown:b=>{b.key==="Enter"?(b.preventDefault(),h(),s()):b.key==="Escape"?(b.preventDefault(),s()):(b.key==="ArrowDown"||b.key==="ArrowUp")&&(b.preventDefault(),l.value=true,o.value!==null&&p(b.key==="ArrowDown"?em(o.value,Un,Gn/2):Qp(o.value,Un,jn/2)));},onBlur:()=>{h(),a.value=null;}})}),l.value&&n.isEnabled.value?jsxRuntime.jsx("div",{class:"docx-toolbar__menu docx-toolbar__font-size-menu",role:"listbox","aria-label":r("fontSize.listLabel"),children:Un.map(b=>{let y=g===b;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":y,...y?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{p(b),s();},children:b},b)})}):null]})}}});Wa.docxSlot="font.size";var qa=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Is(),n=K(),r=vue.ref(false),l=vue.ref(null);return vue.watch(r,(a,i,d)=>{if(!a)return;let u=p=>{let s=l.value;s&&p.target instanceof Node&&s.contains(p.target)||(r.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));}),()=>{if(e.hidden)return null;let a=`${Math.round(o.zoom.value*100)}%`,i=editor.sameZoomMode(o.mode.value,editor.AUTO_ZOOM_MODE),d=editor.sameZoomMode(o.mode.value,editor.FIT_WIDTH_ZOOM_MODE);return jsxRuntime.jsxs("span",{ref:l,class:"docx-toolbar__zoom","data-slot":"zoom.level",children:[jsxRuntime.jsx(om,{class:e.className,groupLabel:n("zoom.zoomLevel"),decreaseLabel:n("zoom.zoomOut"),increaseLabel:n("zoom.zoomIn"),canDecrease:o.canZoomOut.value,canIncrease:o.canZoomIn.value,onDecrease:o.zoomOut,onIncrease:o.zoomIn,children:jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__stepper-value docx-toolbar__stepper-value--menu",disabled:!t.value,"aria-haspopup":"listbox","aria-expanded":r.value,"aria-label":n("zoom.zoomLevel"),onMousedown:I,onClick:()=>{r.value=!r.value;},children:[a,jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]})}),r.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__zoom-menu",role:"listbox","aria-label":n("zoom.zoomLevel"),children:[jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":i,...i?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":d,...d?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setMode(editor.FIT_WIDTH_ZOOM_MODE);},children:n("zoom.fitWidth")}),jsxRuntime.jsx("hr",{class:"docx-toolbar__menu-separator",role:"presentation"}),o.levels.map(u=>{let p=!o.isFit.value&&Math.abs(u-o.zoom.value)<.001;return jsxRuntime.jsx("button",{type:"button",role:"option","aria-selected":p,...p?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{r.value=false,o.setZoom(u);},children:`${Math.round(u*100)}%`},u)})]}):null]})}}});qa.docxSlot="zoom.level";var Fs=Symbol("docx.paragraphDialog"),am=vue.defineComponent({name:"DocxEditorParagraphDialogHost",setup(e,{slots:t}){let o=Bo();if(o)return vue.provide(Fs,{open:a=>o.open("paragraph",a)}),()=>t.default?.();let n=vue.ref(false),r=vue.ref(null);vue.provide(Fs,{open:a=>{r.value=a??(document.activeElement instanceof HTMLElement?document.activeElement:null),n.value=true;}});let l=()=>{n.value=false;let a=r.value;r.value=null,a?.isConnected&&a.focus({preventScroll:true});};return ()=>[...t.default?.()??[],vue.h(lt,{open:n.value,onClose:l})]}});function lm(){return vue.inject(Fs,null)}var Yx=[1,1.15,1.5,2,2.5,3],sm=10,dm=0,Xx=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),Jx=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,za=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=_(Xx,Jx),n=U("list.lineSpacing"),r=U("paragraph.dialog"),l=lm(),a=K(),i=vue.ref(false),d=vue.ref(null);vue.watch(i,(s,c,m)=>{if(!s)return;let f=g=>{let h=d.value;h&&g.target instanceof Node&&h.contains(g.target)||(i.value=false);};document.addEventListener("mousedown",f),m(()=>document.removeEventListener("mousedown",f));});let u=s=>{if(i.value=false,!t.value)return;let c=editor.commandForSlotValue("list.lineSpacing",s);c&&t.value.can(c).ok&&t.value.exec(c);},p=(s,c)=>{if(i.value=false,!t.value)return;let m={type:"setParagraphSpacing",[s]:c};t.value.can(m).ok&&t.value.exec(m);};return ()=>{if(e.hidden)return null;let s=V("list.lineSpacing"),c=(o.value.spaceBeforePt??0)>0,m=(o.value.spaceAfterPt??0)>0,f=o.value.lineSpacing?.rule==="multiple"?o.value.lineSpacing?.value??null:null;return jsxRuntime.jsxs("span",{ref:d,class:"docx-toolbar__line-spacing","data-slot":"list.lineSpacing",children:[jsxRuntime.jsxs("button",{type:"button",class:`docx-toolbar__button docx-toolbar__line-spacing-trigger${e.className?` ${e.className}`:""}`,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":i.value,"aria-label":a("lineSpacing.label"),title:n.disabledReason.value??a("lineSpacing.label"),onMousedown:I,onClick:()=>{i.value=!i.value;},children:[q(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),i.value&&n.isEnabled.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__line-spacing-menu",role:"menu",children:[Yx.map(g=>{let h=f===g;return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":h,...h?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>u(g),children:Number.isInteger(g*10)?g.toFixed(1):g.toFixed(2)},g)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item","data-slot":"paragraph.dialog",disabled:!r.isEnabled.value,title:r.disabledReason.value??void 0,onMousedown:I,onClick:()=>{i.value=false;let g=d.value?.querySelector(".docx-toolbar__line-spacing-trigger");l?.open(g instanceof HTMLElement?g:null);},children:a("lineSpacing.options")}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("beforePt",c?dm:sm),children:a(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("afterPt",m?dm:sm),children:a(m?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});za.docxSlot="list.lineSpacing";var oC=[{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"}],um=[{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"}],cm=["FFFFFF","000000","E7E6E6","44546A","4472C4","ED7D31","A5A5A5","FFC000","5B9BD5","70AD47"],Ua=["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"],Rt=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),qe=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function nC(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?[qe(5),qe(15),qe(25),qe(35),qe(50)]:o===0?[Rt(50),Rt(35),Rt(25),Rt(15),Rt(5)]:o>=.8?[qe(10),qe(25),qe(50),qe(75),qe(90)]:[Rt(80),Rt(60),Rt(40),qe(25),qe(50)]}var rC=/^[0-9A-Fa-f]{6}$/;function aC(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 lC(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 Ga=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":""}:{},...lC(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:I,onClick:()=>e.apply(e.value)})}}),iC=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(nC),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(Ga,{value:n,css:`#${n.toLowerCase()}`,title:e.label(Ua[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,l)=>{let a=t[l][n],i=aC(r,a.apply);return jsxRuntime.jsx(Ga,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(Ua[l])}, ${e.label(a.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${l}`)}))]})]})}}}),sC=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=rC.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(iC,{...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:oC.map(n=>jsxRuntime.jsx(Ga,{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")})]})]})]})}}}),As=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=D(),o=K();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===Ua.length?n.map(a=>a.hex):cm,l=e.current?.toUpperCase()??null;return jsxRuntime.jsx(sC,{apply:e.apply,label:o,current:l,themeHexes:r})}}}),dC=um.filter(e=>e.value!=="white"),uC=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:dC.map(t=>jsxRuntime.jsx(Ga,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function pm(e){let{slot:t,defaultValue:o,cssOf:n,clear:r,body:l}=e,a=t==="text.color",i=vue.defineComponent({name:`ToolbarColorSplit_${t.replace(/\./g,"_")}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(d){let u=D(),p=U(t),s=K(),c=vue.ref(false),m=vue.ref(o),f=vue.ref(null),g=_(y=>{if(a){let T=y.formatting?.color;return T&&T.kind==="hex"?T.value.toUpperCase():null}return y.formatting?.highlight??null}),h=vue.computed(()=>{let y=u.value?.getDocumentThemeColors()??[];return y.length===Ua.length?y.map(T=>T.hex):cm});vue.watch(c,(y,T,C)=>{if(!y)return;let v=x=>{let w=f.value;w&&x.target instanceof Node&&w.contains(x.target)||(c.value=false);};document.addEventListener("mousedown",v),C(()=>document.removeEventListener("mousedown",v));});let b=y=>{c.value=false;let T=u.value;if(!T)return;let C=editor.commandForSlotValue(t,y);C&&T.can(C).ok&&(T.exec(C),y!==r.value&&(m.value=y));};return ()=>{if(d.hidden)return null;let y=V(t),T=s(y?.labelKey??t);return jsxRuntime.jsxs("div",{ref:f,class:`docx-toolbar__colorsplit${d.className?` ${d.className}`:""}`,"data-slot":t,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__button docx-toolbar__colorsplit-main",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-label":T,title:p.disabledReason.value??T,onMousedown:I,onClick:()=>b(m.value),children:[d.icon??q(y?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:n(m.value)},"aria-hidden":"true"})]}),jsxRuntime.jsx("button",{type:"button",class:"docx-toolbar__colorsplit-caret",disabled:!p.isEnabled.value,...p.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":c.value,"aria-label":T,title:p.disabledReason.value??T,onMousedown:I,onClick:()=>{c.value=!c.value;},children:"\u25BE"}),c.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__swatch-popup",role:"dialog","aria-label":T,onMousedown:I,children:[jsxRuntime.jsxs("button",{type:"button",class:"docx-toolbar__swatch-clear",onMousedown:I,onClick:()=>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"}),s(r.labelKey)]}),l({apply:b,label:s,current:g.value,themeHexes:h.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var cC=new Map(um.map(e=>[e.value,e.css])),Os=pm({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(As,{apply:e.apply,current:e.current})}),Hs=pm({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>cC.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(uC,{...e})});var gC=["alignment.left","alignment.center","alignment.right","alignment.justify"],Xn=vue.defineComponent({name:"ToolbarAlignment",props:{class:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=U("alignment.left"),o=U("alignment.center"),n=U("alignment.right"),r=U("alignment.justify"),l=K(),a=vue.ref(false),i=vue.ref(null),d=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(a.value=false);};return vue.watch(a,(u,p,s)=>{u&&(document.addEventListener("mousedown",d),s(()=>document.removeEventListener("mousedown",d)));}),()=>{if(e.hidden)return null;let u=[t,o,n,r],p=gC.map((f,g)=>({slot:f,control:V(f),state:u[g]})),s=p.find(f=>f.state.isActive.value)??p[0],c=p.some(f=>f.state.isEnabled.value),m=l(s.control?.labelKey??s.slot);return vue.h("div",{ref:i,class:`docx-toolbar__alignment${e.class?` ${e.class}`:""}`,"data-slot":"alignment"},[vue.h("button",{type:"button",class:"docx-toolbar__button docx-toolbar__alignment-trigger",disabled:!c,...c?{}:{"data-disabled":""},"aria-haspopup":"true","aria-expanded":a.value,"aria-label":m,title:c?m:s.state.disabledReason.value??m,onMousedown:I,onClick:()=>{a.value=!a.value;}},[q(s.control?.paths),vue.h("span",{class:"docx-toolbar__picker-caret",ariaHidden:"true"},"\u25BE")]),a.value?vue.h("div",{class:"docx-toolbar__menu docx-toolbar__alignment-popup"},p.map(f=>{let g=l(f.control?.labelKey??f.slot);return vue.h("button",{key:f.slot,type:"button",class:"docx-toolbar__button docx-toolbar__alignment-option","data-slot":f.slot,disabled:!f.state.isEnabled.value,...f.state.isActive.value?{"data-active":""}:{},"aria-pressed":f.state.isActive.value,"aria-label":g,title:f.state.disabledReason.value??g,onMousedown:I,onClick:()=>{f.state.execute(),a.value=false;}},[q(f.control?.paths)])})):null])}}});Xn.docxSlot="alignment";var Bs=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:_e("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(L,n,o.default):vue.h("button",n,r??void 0)}}});var bC=Object.freeze([]),hC=e=>e.formatting?.fontFamily??null,xC=e=>e;function Jn(){let e=D(),t=_(hC),o=_(xC),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():bC),r=U("font.family"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("font.family",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}var SC=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"]]),PC=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],vm=Symbol("FontFamilyContext");function Vs(){return vue.inject(vm,null)}var Ws=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Vs(),n=K();return ()=>{if(!o)return null;let r=n(V("font.family")?.labelKey??"font.family"),l={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__font-family-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":r,title:r},a=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(L,{...l,children:a}):jsxRuntime.jsx("button",{type:"button",...l,children:a})}}});Ws.docxToolbarPart=true;var bm=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=Vs(),n=K(),r=vue.ref("");return vue.watch(()=>o?.open.value,l=>{l||(r.value="");}),()=>{if(!o||!o.open.value)return null;let l={role:"listbox",class:`docx-toolbar__menu docx-toolbar__font-family-content${e.className?` ${e.className}`:""}`},a;return t.default?a=t.default():a=PC.map(d=>({...d,fonts:o.options.value.filter(u=>u.toLowerCase().includes(r.value.toLowerCase())&&(SC.get(u.toLowerCase())??"other")===d.category)})).filter(d=>d.fonts.length>0).flatMap((d,u)=>{let p=[];u>0&&p.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"})),d.labelKey&&p.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-label",children:n(d.labelKey)}));for(let s of d.fonts)p.push(jsxRuntime.jsx(hm,{value:s},s));return p}),e.asChild?jsxRuntime.jsx(L,{...l,children:a}):t.default?jsxRuntime.jsx("div",{...l,children:a}):jsxRuntime.jsxs("div",{class:l.class,children:[jsxRuntime.jsx("input",{type:"search",class:"docx-toolbar__font-search","aria-label":n("font.search"),placeholder:n("font.search"),value:r.value,onInput:i=>{r.value=i.target.value;}}),jsxRuntime.jsx("div",{role:"listbox",class:"docx-toolbar__font-options",children:a})]})}}}),hm=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=D(),n=Vs();return ()=>{if(!n)return null;let r=n.value.value===e.value,l={role:"option","aria-selected":r,...r?{"data-selected":""}:{},onMousedown:I,onClick:()=>{n.setValue(e.value),n.setOpen(false),o.value?.focus();},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(L,{...l,children:a}):jsxRuntime.jsxs("button",{type:"button",...l,children:[a,r?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),wC=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=Jn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(a,i,d)=>{if(!a)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(vm,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family"},i=t.default?.()??[jsxRuntime.jsx(Ws,{}),jsxRuntime.jsx(bm,{})];return e.asChild?jsxRuntime.jsx(L,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),qs=Object.assign(wC,{docxSlot:"font.family",Trigger:Ws,Content:bm,Item:hm});var RC=/^heading ([1-9])$/;function Cm(e,t){let o=e||t,n=RC.exec(o);return n?`Heading ${n[1]}`:o}var DC=Object.freeze([]),_C=e=>e.formatting?.styleId??null,kC=e=>e;function Qn(){let e=D(),t=_(_C),o=_(kC),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(a=>a.type==="paragraph").map(a=>({styleId:a.styleId,name:Cm(a.name,a.styleId),preview:a.preview})):DC),r=U("styles.style"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("styles.style",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}function AC(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 Sm=Symbol("ParagraphStyleContext");function zs(){return vue.inject(Sm,null)}var $s=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=zs(),n=K();return ()=>{if(!o)return null;let r=V("styles.style"),l=n(r?.labelKey??"styles.style"),a={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__style-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":l,title:l},i=o.options.value.find(u=>u.styleId===o.value.value),d=t.default?.()??(o.value.value===null?[jsxRuntime.jsx("span",{children:r?.valueKey?n(r.valueKey):"\u2014"})]:[jsxRuntime.jsx("span",{children:i?.name??o.value.value})]);return e.asChild?jsxRuntime.jsx(L,{...a,children:d}):jsxRuntime.jsx("button",{type:"button",...a,children:d})}}});$s.docxToolbarPart=true;var Pm=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=zs();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(l=>jsxRuntime.jsx(wm,{value:l.styleId},l.styleId));return e.asChild?jsxRuntime.jsx(L,{...n,children:r}):jsxRuntime.jsx("div",{...n,children:r})}}}),wm=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=zs();return ()=>{if(!o)return null;let n=o.value.value===e.value,r=o.options.value.find(i=>i.styleId===e.value),l={role:"option","aria-selected":n,...n?{"data-selected":""}:{},onMousedown:I,onClick:()=>{o.setValue(e.value),o.setOpen(false);},class:`docx-toolbar__style-item${e.className?` ${e.className}`:""}`},a=t.default?.()??[jsxRuntime.jsx("span",{style:r?AC(r.preview):void 0,children:r?.name??e.value})];return e.asChild?jsxRuntime.jsx(L,{...l,children:a}):jsxRuntime.jsxs("button",{type:"button",...l,children:[a,n?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),OC=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=Qn(),n=vue.ref(false),r=vue.ref(null);vue.watch(n,(a,i,d)=>{if(!a)return;let u=p=>{let s=r.value;s&&p.target instanceof Node&&s.contains(p.target)||(n.value=false);};document.addEventListener("mousedown",u),d(()=>document.removeEventListener("mousedown",u));});let l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(Sm,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style"},i=t.default?.()??[jsxRuntime.jsx($s,{}),jsxRuntime.jsx(Pm,{})];return e.asChild?jsxRuntime.jsx(L,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),Us=Object.assign(OC,{docxSlot:"styles.style",Trigger:$s,Content:Pm,Item:wm});function Rm(e,t){let o=e,n=vue.defineComponent({name:`ContentControlToggle_${t}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(r,{slots:l}){let a=U(o),i=Qe(),d=K();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=V(o),s=d(p?.labelKey??e),c={type:"button",class:`docx-toolbar__button${r.className?` ${r.className}`:""}`,"data-slot":e,disabled:!a.isEnabled.value,...a.isEnabled.value?{}:{"data-disabled":""},...u?{"data-active":""}:{},"aria-pressed":u,"aria-label":s,title:a.disabledReason.value??s,onMousedown:I,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},m=r.icon??l.default?.()??q(p?.paths);return r.asChild?vue.h(L,c,l.default):vue.h("button",c,m??void 0)}}});return n.docxSlot=o,n}var Ya=Rm(Ie.showAll,"showAll"),Xa=Rm(Ie.formFill,"formFill"),er=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=Ie.inspector,n=U(o),{inspectorOpen:r,openInspector:l}=Qe(),a=K();return ()=>{if(e.hidden)return null;let i=V(o),d=a(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Ie.inspector,disabled:!n.isEnabled.value,...n.isEnabled.value?{}:{"data-disabled":""},...r.value?{"data-active":""}:{},"aria-pressed":r.value,"aria-label":d,title:n.disabledReason.value??d,onMousedown:I,onClick:()=>l()},p=e.icon??t.default?.()??q(i?.paths);return e.asChild?vue.h(L,u,t.default):vue.h("button",u,p??void 0)}}});er.docxSlot=Ie.inspector;var tr=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}=Qe(),l=K();return ()=>{if(e.hidden)return null;let a=Ie.remove,i=V(a),d=l(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Ie.remove,disabled:!o.value,...o.value?{}:{"data-disabled":""},"aria-label":d,title:n.value??d,onMousedown:I,onClick:()=>r()},p=e.icon??t.default?.()??q(i?.paths);return e.asChild?vue.h(L,u,t.default):vue.h("button",u,p??void 0)}}});tr.docxSlot=Ie.remove;var Mm={[Ie.showAll]:Ya,[Ie.formFill]:Xa,[Ie.inspector]:er,[Ie.remove]:tr};function js(e,t){let o=D(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,l,a)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),d=o.value.on(e,i);a(d);},{immediate:true,flush:"post"});}var YC=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],Zs=Symbol("TableChromeContext");function Nm(){let e=vue.inject(Zs,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function JC(e,t){let o=t.table,r=(e?.getSelectedTable()??null)?.blockId??"",l=o?`${r}|${o.rows}|${o.columns}|${o.rowIndex}|${o.columnIndex}`:"",a=t.selection,i=a?`${a.from&&"paraId"in a.from?a.from.paraId:""}|${a.to&&"paraId"in a.to?a.to.paraId:""}|${t.selectionCollapsed}`:"",d=e?.getTableCellSelection()??null,u=d?`${d.tableId}|${d.rows.from}-${d.rows.to}|${d.columns.from}-${d.columns.to}|${d.cellIds.join(",")}`:"";return {tableKey:l,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function QC(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function eT(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var km={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function tT(e,t){let o={};for(let n of YC){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var Ys=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=D(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(km);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let l=_(s=>({table:s.table,editable:s.editable,editingMode:s.editingMode??"editing",headParagraphId:s.selection?.to&&"paraId"in s.selection.to?s.selection.to.paraId:s.selection?.from&&"paraId"in s.selection.from?s.selection.from.paraId:""}),QC,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),a=()=>{let s=o.value;if(!s){r.value=km;return}let c=JC(s,s.snapshot());eT(r.value,c)||(r.value=c);};vue.watch([o,l],a,{immediate:true,flush:"post"}),js("selectionChange",a);let i=vue.computed(()=>r.value.tableKey!==""),d=vue.computed(()=>{let s=o.value;return s?tT(s,n.value):{}}),u=(s,c)=>{let m=o.value;if(!m)return;let{result:f,nextDraft:g}=editor.runTableChromeCommand(m,s,c,n.value);f.ok&&g&&(n.value=g);},p={visible:i,draft:vue.computed(()=>n.value),setDraft:s=>{n.value=s;},slotState:s=>d.value[s]??{enabled:false,disabledReason:"editor is not ready"},apply:u};return vue.provide(Zs,p),()=>t.default?.()}});function oT(){let e=vue.inject(Zs,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function Xs(e){let t=oT(),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)}}function Ja(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}function Qs(e){(Ja(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function ed(e,t,o){vue.watch(e,(n,r,l)=>{if(!n)return;let a=i=>{let d=o.value;d&&i.target instanceof Node&&d.contains(i.target)||t(false);};document.addEventListener("mousedown",a),l(()=>document.removeEventListener("mousedown",a));});}function Qa({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=k(),r=i18n.localizeDisabledReason(t,n),l=Q("table-chrome-reason"),a=!e&&r?l:void 0;return {reasonId:l,shared:{type:"button",onMousedown:I,"aria-label":o,...a?{"aria-describedby":a}:{},...r?{title:r}:{},...e?{}:{"data-disabled":"","aria-disabled":true}},reasonNode:a&&r?vue.h("span",{id:l,class:"docx-editor-sr-only"},r):null}}var aT='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function Lm(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(aT)].filter(c=>c.closest('[role="menu"]')===i);queueMicrotask(()=>{let c=u();(c.find(f=>f.hasAttribute("data-selected")||f.hasAttribute("data-active"))??c[0])?.focus();});let s=c=>{let m=u();if(c.key==="Escape"){c.preventDefault(),t(false),d?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),Be(m,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),Be(m,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ke(m,"first");return}if(c.key==="End"){c.preventDefault(),Ke(m,"last");return}if(c.key==="Enter"||c.key===" "){let f=document.activeElement;f instanceof HTMLElement&&m.includes(f)&&(c.preventDefault(),f.click());}};i.addEventListener("keydown",s),a(()=>i.removeEventListener("keydown",s));},{flush:"post"});}function Am(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{if(!r)return;let i=o.value,d=n.value;if(!i)return;let u=()=>[...i.querySelectorAll('button:not([aria-disabled="true"])')].filter(s=>s.closest('[role="dialog"]')===i);queueMicrotask(()=>{u()[0]?.focus();});let p=s=>{if(s.key==="Escape"){s.preventDefault(),t(false),d?.focus();return}if(s.key==="Enter"||s.key===" "){let c=document.activeElement,m=u();c instanceof HTMLElement&&m.includes(c)&&(s.preventDefault(),c.click());}};i.addEventListener("keydown",p),a(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var uT=e=>e;function td(){let e=D(),t=K(),o=_(uT);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 fT(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function gT(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function yT(e){return q(editor.tableChromeIconPaths(e))}function od(e,t,o){let n=Symbol(`table-menu-${e}`),r=vue.defineComponent({name:`TableChromeRoot_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=Xs(e),p=vue.ref(false),s=vue.ref(null),c=vue.ref(null),m=f=>{p.value=f;};return ed(p,m,s),vue.provide(n,{get open(){return p.value},setOpen:m,get enabled(){return u.enabled.value},get disabledReason(){return u.disabledReason.value},apply:u.apply,draft:u.draft,triggerRef:c}),()=>{if(i.hidden||!u.visible.value)return null;let f={class:`${t}${i.className?` ${i.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},g=d.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(a,{})];return i.asChild?jsxRuntime.jsx(L,{...f,ref:s,children:g}):jsxRuntime.jsx("div",{ref:s,...f,children:g})}}}),l=vue.defineComponent({name:`TableChromeTrigger_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=V(e),c=p(s?.labelKey??o);return ()=>{let{shared:m,reasonNode:f}=Qa({enabled:u.enabled,disabledReason:u.disabledReason,ariaLabel:c}),g={...m,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:gT(u.enabled,u.open,u.setOpen)}:{}},h=d.default?.()??[q(s?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})];return i.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(L,{...g,children:h}),f]}):jsxRuntime.jsxs("button",{...g,children:[h,f]})}}});l.docxToolbarPart=true;let a=vue.defineComponent({name:`TableChromeContent_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:d}){let u=vue.inject(n),p=K(),s=vue.ref(null);return Lm(()=>u.open&&u.enabled,u.setOpen,s,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=V(e),m=p(c?.labelKey??o),f={ref:s,role:"menu","aria-label":m,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:I};return i.asChild?jsxRuntime.jsx(L,{...f,children:d.default?.()}):jsxRuntime.jsx("div",{...f,children:d.default?.()})}}});return {Root:r,Trigger:l,Content:a,CtxKey:n}}var nr=od("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),qm=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(nr.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let l=r.value==="none"?false:r.value===o.draft.value.activeTarget,a={type:"button",role:"menuitemradio","aria-checked":l,"data-value":r.value,class:`docx-table-chrome__target-btn${e.className?` ${e.className}`:""}`,...l?{"data-active":""}:{},"aria-label":n(r.labelKey),title:n(r.labelKey),onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[yT(r.icon)];return e.asChild?jsxRuntime.jsx(L,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),zm=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(nr.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(qm,{value:o.value},o.value))})})}}),vT=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(nr.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(nr.Trigger,{}),jsxRuntime.jsx(zm,{})]})}}),rr=Object.assign(vT,{docxSlot:"table.borderTarget",Trigger:nr.Trigger,Content:zm,Item:qm}),Uo=od("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),Om=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(Uo.CtxKey),n=K();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(d=>d.value===e.value);if(!r)return null;let l=r.value===o.draft.value.spec.style,a={type:"button",role:"menuitemradio","aria-checked":l,...l?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[jsxRuntime.jsx("span",{class:`docx-table-line ${r.previewClass}`,"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(r.labelKey)})];return e.asChild?jsxRuntime.jsx(L,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),ar=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Uo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Uo.Trigger,{}),jsxRuntime.jsx(Uo.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(Om,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:Uo.Trigger,Content:Uo.Content,Item:Om}),Go=od("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),Hm=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(Go.CtxKey),n=K();return ()=>{let r=Number(e.value),l=editor.TABLE_BORDER_WIDTH_OPTIONS.find(u=>u.size===r);if(!l)return null;let a=l.size===o.draft.value.spec.size,i={type:"button",role:"menuitemradio","aria-checked":a,...a?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(l.size);}},d=t.default?.()??[jsxRuntime.jsx("span",{class:"docx-table-line docx-table-line--single",style:{height:`${l.previewThickness}px`},"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(l.labelKey)})];return e.asChild?jsxRuntime.jsx(L,{...i,children:d}):jsxRuntime.jsx("button",{...i,children:d})}}}),lr=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Go.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Go.Trigger,{}),jsxRuntime.jsx(Go.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx(Hm,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:Go.Trigger,Content:Go.Content,Item:Hm});function $m(e,t,o){let n=o?.defaultHex??"FF0000",r=Symbol(`table-color-${e}`),l=vue.defineComponent({name:`TableColorRoot_${e}`,props:{className:String,hidden:Boolean,asChild:Boolean},setup(u,{slots:p}){let s=Xs(e),c=vue.ref(false),m=vue.ref(n),f=vue.ref(null),g=vue.ref(null),h=y=>{c.value=y;},b=y=>{m.value=y;};return ed(c,h,f),vue.provide(r,{get open(){return c.value},setOpen:h,get enabled(){return s.enabled.value},get disabledReason(){return s.disabledReason.value},apply:s.apply,draft:s.draft,triggerRef:g,get lastHex(){return m.value},setLastHex:b}),()=>{if(u.hidden||!s.visible.value)return null;let y={class:`docx-toolbar__colorsplit docx-table-chrome${u.className?` ${u.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},T=p.default?.()??[jsxRuntime.jsx(a,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(d,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(L,{...y,ref:f,children:T}):jsxRuntime.jsx("div",{ref:f,...y,children:T})}}}),a=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),c=K(),m=V(e),f=c(m?.labelKey??t);return ()=>{let{shared:g,reasonNode:h}=Qa({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:f}),b=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,y={...g,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:s.enabled?()=>s.apply({kind:"hex",value:b}):void 0},T=p.default?.()??[q(m?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:fT(b,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(L,{...y,children:T}),h]}):jsxRuntime.jsxs("button",{...y,children:[T,h]})}}});a.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let s=vue.inject(r),m=K()(t);return ()=>{let{shared:f,reasonNode:g}=Qa({enabled:s.enabled,disabledReason:s.disabledReason,ariaLabel:m}),h={...f,ref:s.triggerRef,class:`docx-toolbar__colorsplit-caret${u.className?` ${u.className}`:""}`,"aria-haspopup":"dialog","aria-expanded":s.open,onClick:s.enabled?()=>s.setOpen(!s.open):void 0},b=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(L,{...h,children:b}),g]}):jsxRuntime.jsxs("button",{...h,children:[b,g]})}}});i.docxToolbarPart=true;let d=vue.defineComponent({name:`TableColorContent_${e}`,props:{className:String,asChild:Boolean,clearFill:{type:Boolean,required:true}},setup(u,{slots:p}){let s=vue.inject(r),c=K(),m=vue.ref(null);return Am(()=>s.open&&s.enabled,s.setOpen,m,s.triggerRef),()=>{if(!s.open||!s.enabled)return null;let f=c(t),g=e==="table.borderColor"&&s.draft.value.spec.color.kind==="hex"?s.draft.value.spec.color.value:s.lastHex??n,h={ref:m,role:"dialog","aria-label":f,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:()=>{s.setOpen(false),s.apply(null),Qs(s.triggerRef.value);},children:[jsxRuntime.jsx("span",{class:"docx-toolbar__swatch-clear-chip docx-toolbar__swatch-clear-chip--none","aria-hidden":"true"}),c("table.clearCellFill")]}):null,jsxRuntime.jsx(As,{apply:y=>{s.setOpen(false),s.setLastHex?.(y),s.apply({kind:"hex",value:y}),Qs(s.triggerRef.value);},current:g})]});return u.asChild?jsxRuntime.jsx(L,{...h,children:b}):jsxRuntime.jsx("div",{...h,children:b})}}});return {Root:l,Main:a,Trigger:i,Content:d,CtxKey:r}}var ro=$m("table.borderColor","table.borderColor",{defaultHex:"000000"}),ir=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(ro.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(ro.Main,{}),jsxRuntime.jsx(ro.Trigger,{}),jsxRuntime.jsx(ro.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:ro.Trigger,Content:ro.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:ro.Main}),ao=$m("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),sr=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(ao.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(ao.Main,{}),jsxRuntime.jsx(ao.Trigger,{}),jsxRuntime.jsx(ao.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:ao.Trigger,Content:ao.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:ao.Main});var Um=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map},separator:{type:Boolean,default:true}},setup(e){let t=Nm();return ()=>{if(!t.value)return null;let o=[rr,ir,ar,lr,sr];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.separator?jsxRuntime.jsx(to,{}):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 TT=e=>e.editingMode??"editing",rd='[role="menuitemradio"]:not([disabled])',ET=(e,t)=>e.length===t.length&&e.every((o,n)=>o===t[n]),ST=e=>e.isLoading||e.isOpening===true,dr=[{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"}],PT=Object.freeze(dr.map(()=>null));function wT(e){return e?dr.map(t=>{let o=e.can({type:"setEditingMode",mode:t.mode});return o.ok?null:o.reason}):PT}var RT="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function ad(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 tl=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=_(TT),n=_(ST),r=_(()=>wT(t.value),ET),l=K(),{t:a}=k(),i=vue.ref(false),d=vue.ref(null),u=vue.ref(null);vue.watch(i,m=>{if(!m)return;let f=u.value?.querySelectorAll(rd);(u.value?.querySelector(`${rd}[aria-checked="true"]`)??f?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(i,(m,f,g)=>{if(!m)return;let h=y=>{let T=d.value;T&&y.target instanceof Node&&T.contains(y.target)||(i.value=false);},b=y=>{y.key==="Escape"&&(y.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=m=>{let f=[...u.value?.querySelectorAll(rd)??[]],g=f.indexOf(document.activeElement),h=b=>{m.preventDefault(),f[(b+f.length)%f.length]?.focus();};m.key==="ArrowDown"?h(g+1):m.key==="ArrowUp"?h(g-1):m.key==="Home"?h(0):m.key==="End"&&h(f.length-1);},s=m=>{i.value=false,editor.runToolbarCommand(t.value,"review.editingMode",m),t.value?.focus();},c=vue.computed(()=>dr.find(m=>m.mode===o.value)??dr[0]);return ()=>{if(e.hidden)return null;let m=V("review.editingMode"),f=editor.toolbarCommandState(t.value,"review.editingMode"),g=i18n.localizeDisabledReason(f.disabledReason,a);return jsxRuntime.jsxs("div",{ref:d,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":l(m?.labelKey??"editingMode.label"),disabled:n.value||!f.enabled,...g?{title:g}:{},onMousedown:I,onClick:()=>{i.value=!i.value;},children:[ad(c.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:l(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":l(m?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:p,children:dr.map((h,b)=>{let y=i18n.localizeDisabledReason(r.value[b]??null,a);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:y!==null,...y?{title:y}:{},onMousedown:I,onClick:()=>s(h.mode),children:[ad(h.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:l(h.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:l(h.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:h.mode===o.value?ad(RT):null})]},h.mode)})}):null]})}}});tl.docxSlot="review.editingMode";var Ym=[];function ur(){let e=D(),t=mt(),o=vue.shallowRef(Ym),n=()=>{o.value=e.value?.getReviewAuthors()??Ym;};return vue.watch([e,t],()=>{n(),vue.nextTick(n);},{immediate:true,flush:"post"}),vue.onMounted(()=>{vue.nextTick(n);}),o}var AT=e=>e.hiddenReviewAuthors??[],ld=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=D(),n=ur(),r=_(AT),l=vue.computed(()=>new Set(r.value)),a=vue.ref(false),i=vue.ref(null),d=vue.ref(null),u=vue.ref(null),p=K(),{t:s}=k();vue.watch(a,(m,f,g)=>{if(!m)return;u.value?.querySelector('[role="menuitemcheckbox"]')?.focus();let h=y=>{i.value?.contains(y.target)||(a.value=false);},b=y=>{y.key==="Escape"&&(y.preventDefault(),a.value=false,vue.nextTick(()=>d.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=m=>{let f=[...u.value?.querySelectorAll('[role="menuitemcheckbox"]')??[]],g=f.indexOf(document.activeElement),h=b=>{m.preventDefault(),f[(b+f.length)%f.length]?.focus();};m.key==="ArrowDown"?h(g+1):m.key==="ArrowUp"?h(g-1):m.key==="Home"?h(0):m.key==="End"?h(f.length-1):m.key==="Tab"&&(a.value=false);};return ()=>{if(e.hidden)return null;let m=n.value,f=V("review.authors"),g=editor.toolbarCommandState(o.value,"review.authors"),h=i18n.localizeDisabledReason(g.disabledReason,s),b=p(f?.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:d,type:"button",class:"docx-toolbar__picker","data-testid":"reviewers-trigger","aria-haspopup":"menu","aria-expanded":a.value,"aria-label":b,disabled:!g.enabled,title:h??b,onMousedown:I,onClick:()=>{a.value=!a.value;},children:[e.icon??t.default?.()??q(f?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:b}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),a.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(Xm,{checked:m.every(y=>!l.value.has(y.author)),label:s("reviewers.all"),testId:"reviewer-all",onChoose:()=>o.value?.setAllReviewAuthorsVisible(!m.every(y=>!l.value.has(y.author)))}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),m.map(y=>jsxRuntime.jsx(Xm,{checked:!l.value.has(y.author),label:y.author||"\u2014",testId:`reviewer-${y.slot}`,color:y.color,onChoose:()=>o.value?.setReviewAuthorVisible(y.author,l.value.has(y.author))},y.author))]}):null]})}}}),{docxSlot:"review.authors"}),Xm=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 sd=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],al="contextual-table",dd={"zoom.level":qa,"styles.style":Us,"font.family":qs,"font.size":Wa,"text.color":Os,"text.highlight":Hs,"text.link":Ka,"list.lineSpacing":za,"review.editingMode":tl,"review.authors":ld,"file.save":Va,...Mm,"table.borderTarget":rr,"table.borderColor":ir,"table.borderStyle":ar,"table.borderWidth":lr,"table.cellFill":sr,"image.insert":oa,"image.wrap":Ha,"image.altText":xa},rl={id:al,labelKey:"formattingBar.groups.table",entries:sd.map(e=>({slot:e,Part:dd[e]}))},Qm=new Map;function KT(e){let t=Qm.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h(Kt,{slot:e,hidden:o.hidden})}}),Qm.set(e,t)),t}function VT(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:Xn}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:dd[n]??KT(n)}})})}var WT=e=>e.image,qT=e=>e.isLoading||e.isOpening===true,zT=e=>e.table!==null;function $T(e){return e==="alignment"||e in dd}function ud(e){let t=Gr(e,ud);if(t!==null)return t;let o=jr(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 ef(e){return e?!!e.props?.hidden:false}function nf(e){for(let t of e){let o=ud(t);if(o!=null&&sd.includes(o))return true;if(t.children){let n=ue(t.children);if(nf(n))return true}}return false}var UT=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=He();vue.provide(Yr,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=K(),r=_(WT),l=_(qT),a=_(zT),i=vue.computed(()=>VT(r.value)),d=vue.computed(()=>new Set(i.value.flatMap(f=>f.entries.map(g=>g.slot)))),u=vue.computed(()=>[...i.value.map(f=>f.id).filter(f=>!Ts.has(f)),...a.value?[al]:[]]),p=vue.computed(()=>yp(u.value)),s=vue.computed(()=>e.preset&&e.overflow),{attach:c,overflow:m}=wp(()=>s.value,()=>u.value,()=>p.value);return ()=>{let f=ue(t.default?.()),g;if(!e.preset)g=f;else {let y=new Map,T=new Map,C=[];for(let S of f){let F=ud(S);F&&d.value.has(F)?y.set(F,S):F&&sd.includes(F)?T.set(F,S):C.push(S);}let v=S=>{let F=y.get(S.slot);return F||vue.h(S.Part)},x=S=>{let F=T.get(S.slot);return F||vue.h(S.Part)},w=[],E=[],P=0;for(let S of i.value){if(m.value.has(S.id)){let M=S.entries.flatMap(W=>{let z=y.get(W.slot);if(ef(z))return [];let oe=z||$T(W.slot)?jsxRuntime.jsx(Ds,{label:tf(n,W,S.labelKey),children:v(W)}):jsxRuntime.jsx(Dp,{slot:W.slot});return [jsxRuntime.jsx(vue.Fragment,{children:oe},W.slot)]});if(M.length===0)continue;E.push({id:S.id,labelKey:S.labelKey,children:M});continue}P>0&&w.push(vue.h(to,{key:`separator-${S.id}`})),P+=1;let F=Ts.has(S.id);w.push(vue.h("div",{key:S.id,class:"docx-toolbar__group",...F?{[qn]:""}:{[Vo]:S.id}},S.entries.map(M=>vue.h(vue.Fragment,{key:M.slot},[v(M)]))));}let R=m.value.has(al);if(a.value&&R){let S=rl.entries.flatMap(F=>{let M=T.get(F.slot);return ef(M)?[]:[jsxRuntime.jsx(vue.Fragment,{children:jsxRuntime.jsx(Ds,{label:tf(n,F,rl.labelKey),children:x(F)})},F.slot)]});S.length>0&&E.unshift({id:rl.id,labelKey:rl.labelKey,children:S});}g=[...w,...a.value&&!R?[vue.h(to,{key:"separator-contextual-table"})]:[],...R?[]:[vue.h("div",{class:"docx-toolbar__contextual",[Vo]:al},vue.h(Um,{overrides:T,separator:false}))],...C.length>0?[vue.h("div",{class:"docx-toolbar__group",[qn]:""},C)]:[],...E.length>0?[vue.h(_p,{sections:E})]:[]];}let b=e.preset||nf(f)?vue.h(Ys,null,{default:()=>Array.isArray(g)?g:[g]}):g;return vue.h("fieldset",{ref:y=>c(y),disabled:l.value,role:"toolbar","data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...s.value?{"data-overflow":""}:{},onMousedown:I},[vue.h(am,null,{default:()=>[b]})])}}});function tf(e,t,o){let n=t.slot==="alignment"?null:V(t.slot);return e(n?.labelKey??o)}var pr=Object.assign(UT,{Button:Kt,Action:Bs,Separator:to,Undo:kp,Redo:Ip,Bold:Np,Italic:Fp,Underline:Lp,Strike:Ap,Link:Ka,ClearFormatting:Op,Superscript:Hp,Subscript:Bp,Alignment:Xn,AlignLeft:Kp,AlignCenter:Vp,AlignRight:Wp,AlignJustify:qp,LineSpacing:za,BulletList:zp,NumberedList:$p,Outdent:Up,Indent:Gp,ImageInsert:oa,ImageWrap:Ha,ImageAltText:xa,ImageProperties:wa,TableInsert:jp,TableBorderTarget:rr,TableBorderColor:ir,TableBorderStyle:ar,TableBorderWidth:lr,TableCellFill:sr,Comments:Zp,FontFamily:qs,FontSize:Wa,FontColor:Os,Highlight:Hs,Zoom:qa,StylePicker:Us,EditingMode:tl,Reviewers:ld,Save:Va,ContentControlShowAll:Ya,ContentControlFormFill:Xa,ContentControlInspector:er,ContentControlRemove:tr});var GT=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,jT=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var rf=new TextEncoder;function ZT(e,t){if(rf.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let l=rf.encode(r).length;if(o+l>t)break;o+=l,n+=r;}return n}function af(e){let t=ZT((e??"").replace(/\.docx$/i,"").replace(jT," ").replace(/\s+/g," ").trim().replace(/^[.\s]+/,"").replace(/[.\s]+$/,""),200).trim();return !t||GT.test(t)?"document.docx":`${t}.docx`}function lf(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 JT=e=>e.hiddenReviewAuthors??[],ll=vue.defineComponent({name:"MenuReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=ur(),n=_(JT),r=ie(),{t:l}=k();return ()=>{if(e.hidden)return null;let a=r("reviewers.label"),i=editor.toolbarCommandState(t.value,"review.authors"),d=i18n.localizeDisabledReason(i.disabledReason,l);if(!i.enabled)return jsxRuntime.jsx(ce,{disabled:true,title:d??void 0,...Pe("review.authors"),children:a});let u=new Set(n.value),p=o.value,s=p.every(c=>!u.has(c.author));return jsxRuntime.jsxs(Ve,{labelKey:"reviewers.label",className:e.className,children:[jsxRuntime.jsx(sf,{checked:s,label:r("reviewers.all"),rowSlot:"reviewer-all",onChoose:()=>t.value?.setAllReviewAuthorsVisible(!s)}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),p.map(c=>jsxRuntime.jsx(sf,{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))]})}}}),sf=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(ce,{active:e.checked,...Pe(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})}}),QT=vue.defineComponent({name:"MenuReview",inheritAttrs:false,setup(e,{attrs:t,slots:o}){return ()=>vue.h(bt,{id:"review",...t},{default:()=>[vue.h(Ve,{labelKey:"reviewers.markupOptions",className:"docx-menubar__markup-options"},{default:()=>vue.h(ll,{className:"docx-menubar__reviewers-submenu"})}),...o.default?.()??[]]})}}),il=Object.assign(QT,{docxMenu:"review"});var nE={file:ia,format:sa,insert:da,review:il,help:ca},rE=new Set(editor.CHROME_MENUS.map(e=>e.id));function aE(e){return e!=null&&typeof e=="object"&&"type"in e}function mf(e){if(!aE(e))return null;if(e.type===vue.Fragment){let n=ue(e.children??[]).map(mf).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===bt){let o=e.props?.id;if(typeof o=="string"&&rE.has(o))return o}return null}var lE=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=Bo(),n=He(),r=D(),{t:l}=k(),a=vue.ref(null),i=vue.ref(null),d=vue.ref(null),u=vue.ref(false),p=vue.ref(false),s=vue.ref(null),c=vue.ref(null),m=E=>{a.value=E,E!==null&&(d.value=E);};vue.watch(a,(E,P,R)=>{if(E===null)return;let S=M=>{let W=s.value;W&&M.target instanceof Node&&W.contains(M.target)||(a.value=null);},F=M=>{M.key==="Escape"&&(a.value=null);};document.addEventListener("mousedown",S),document.addEventListener("keydown",F),R(()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",F);});});let f=()=>c.value?.click(),g=()=>{let E=r.value;E&&E.save().then(P=>lf(P,af(e.fileName??i.value??void 0))).catch(P=>{console.error("[docx-editor] save failed",P);});},h=()=>{o?o.open("pageSetup",s.value?.querySelector('[data-menu="file"] .docx-menubar__trigger')):u.value=true;},b=()=>{o?o.open("paragraph",s.value?.querySelector('[data-menu="format"] .docx-menubar__trigger')):p.value=true;},y=vue.computed(()=>r.value?e.openHandler??e.onOpen??f:void 0),T=vue.computed(()=>r.value?e.saveHandler??e.onSave??g:void 0),C=vue.computed(()=>r.value?o?.ownsPageSetup?h:e.onPageSetup??h:void 0);vue.watch(()=>[y.value,T.value],([E,P],R,S)=>{let F=M=>{if(!(M.metaKey||M.ctrlKey)||M.altKey||M.shiftKey)return;let W=M.key.toLowerCase();if(W!=="s"&&W!=="o")return;let z=M.target,oe=Ja(s.value)??s.value,pe=s.value;!z||!((oe?.contains(z)??false)||(pe?.contains(z)??false))||(W==="s"&&P?(M.preventDefault(),P()):W==="o"&&E&&(M.preventDefault(),E()));};document.addEventListener("keydown",F),S(()=>document.removeEventListener("keydown",F));},{flush:"post"});let v=vue.computed(()=>({t:e.t,openMenu:a.value,setOpenMenu:m,activeMenu:d.value,onOpen:y.value,onSave:T.value,onPageSetup:C.value,onParagraphDialog:r.value?b:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(hn,v);let x=E=>{if(s.value=E,E&&d.value===null){let P=Ii(E)[0]?.closest("[data-menu]")?.getAttribute("data-menu");P&&(d.value=P);}},w=E=>{let P=E.target,R=P.files?.[0];P.value="";let S=r.value;!R||!S||(i.value=R.name,e.onOpenFile?.(R),R.arrayBuffer().then(F=>S.load(new Uint8Array(F))).catch(F=>{console.error("[docx-editor] could not open the file",F);}));};return ()=>{let E;if(e.preset===false)E=t.default?ue(t.default()):void 0;else {let P=new Map,R=[];for(let S of ue(t.default?.()??[])){let F=mf(S);F?P.set(F,S):R.push(S);}E=[...editor.CHROME_MENUS.flatMap(S=>{let F=P.get(S.id);if(F)return [vue.h(vue.Fragment,{key:S.id},[F])];let M=nE[S.id];return [vue.h(M,{key:S.id})]}),...R];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:x,role:"menubar","aria-label":e.t?.("titleBar.menuBarAriaLabel")??l("titleBar.menuBarAriaLabel"),"data-testid":"docx-menubar",class:`${n}docx-menubar${e.className?` ${e.className}`:""}`,onMousedown:I,onKeydown:P=>{if(P.key!=="ArrowLeft"&&P.key!=="ArrowRight")return;let R=s.value;if(!R)return;let S=Ii(R),F=S.indexOf(document.activeElement);if(F===-1)return;P.preventDefault();let M=P.key==="ArrowRight"?1:-1,W=S[(F+M+S.length)%S.length],z=W?.closest("[data-menu]")?.getAttribute("data-menu");z&&(d.value=z,W?.focus(),a.value!==null&&(a.value=z));},children:E}),jsxRuntime.jsx("input",{ref:c,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:w}),jsxRuntime.jsx(Yt,{open:u.value,onClose:()=>{u.value=false;}}),jsxRuntime.jsx(lt,{open:p.value,onClose:()=>{p.value=false;}})]})}}}),io=Object.assign(lE,{Menu:bt,File:ia,Format:sa,Insert:da,Review:il,Help:ca,Item:et,Row:ce,Group:wn,Separator:Wt,Submenu:Ve,TableGrid:Sn,Entry:Rn,Open:ra,Save:aa,PageSetup:la,ImageInsert:Hi,Reviewers:ll,ReportIssue:ua});var mE=12240,yf=1440,hf=1440,xf=567,so=20,fd=6,fE=so+fd+2,gE="var(--doc-text-muted)",yE="var(--doc-text-subtle)",vf="var(--doc-shadow-subtle)",vE="var(--doc-primary)",bE="var(--doc-primary-hover)",hE="var(--doc-text-subtle)",gr=5,fr=7,xE={left:0,right:0,firstLine:0};function bf(e,t){return t==="inch"?(e/hf).toFixed(2)+'"':(e/xf).toFixed(1)+" cm"}function CE(e,t){return t?1:Math.round(e==="cm"?editor.SNAP_TWIPS_CM:editor.SNAP_TWIPS_INCH)}var yd=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}=k(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=vue.computed(()=>{let c=e.pageSetup?.pageWidthTwips??mE,m=e.pageSetup?.marginsTwips.left??yf,f=e.pageSetup?.marginsTwips.right??yf,g=e.zoom??1;return {pageWidthTwips:c,leftMarginTwips:m,rightMarginTwips:f,gutterTwips:e.pageSetup?.gutterTwips??0,page:{pageWidth:c,leftMargin:m,rightMargin:f},current:e.indent??xE,pageWidthPx:le(c)*g,leftMarginPx:le(m)*g,rightMarginPx:le(f)*g}}),d=c=>{let m=a.value?.getBoundingClientRect();return m?Vr((c-m.left)/(e.zoom??1)):null},u=(c,m,f)=>{let g=d(m);if(g===null)return;let{pageWidthTwips:h,leftMarginTwips:b,rightMarginTwips:y,gutterTwips:T,page:C,current:v}=i.value;l.value=le(g)*(e.zoom??1);let x=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let E=h-y-T-720,P=Math.round(Math.max(0,Math.min(g,E)));r.value=P,e.onLeftMarginChange?.(P);}else {let E=h-g,P=h-b-T-720,R=Math.round(Math.max(0,Math.min(E,P)));r.value=R,e.onRightMarginChange?.(R);}return}let w=editor.dragIndent(c,g,v,C,{unit:x,precise:f});r.value=c==="right"?w.right:c==="firstLine"?w.firstLine:w.left,e.onIndentChange?.(w);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,l.value=null;},s=(c,m,f)=>{let g=e.unit??"inch",{current:h,page:b}=i.value,y=editor.handlePosition(c,h,b),T=editor.dragIndent(c,y+m*CE(g,f),h,b,{unit:g,precise:true});e.onIndentChange?.(T),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,m=e.unit??"inch",{pageWidthTwips:f,page:g,current:h,pageWidthPx:b,leftMarginPx:y,rightMarginPx:T}=i.value,C=RE(f,c,m),v=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,x=E=>le(editor.handlePosition(E,h,g))*c,w=(E,P,R)=>({positionPx:x(E),editable:v,isDragging:o.value===E,isHovered:n.value===E,onPointerEnter:()=>{n.value=E;},onPointerLeave:()=>{n.value=null;},onPointerDown:S=>{v&&(S.preventDefault(),S.stopPropagation(),S.currentTarget.setPointerCapture(S.pointerId),o.value=E);},onPointerMove:S=>{o.value===E&&u(E,S.clientX,S.altKey);},onPointerUp:S=>{o.value===E&&(S.currentTarget.releasePointerCapture(S.pointerId),p(E));},onKeyDown:S=>{v&&(S.key!=="ArrowLeft"&&S.key!=="ArrowRight"||(S.preventDefault(),s(E,S.key==="ArrowLeft"?-1:1,S.shiftKey)));},label:t(P),valueNow:R,valueText:bf(R,m),pageWidthTwips:f});return jsxRuntime.jsxs("div",{ref:a,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:B(b),height:B(fE),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:B(y),height:B(so),backgroundColor:vf,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?E=>{E.preventDefault(),E.currentTarget.setPointerCapture(E.pointerId),o.value="leftMargin";}:void 0,onPointermove:E=>o.value==="leftMargin"&&u("leftMargin",E.clientX,E.altKey),onPointerup:E=>{o.value==="leftMargin"&&(E.currentTarget.releasePointerCapture(E.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:B(T),height:B(so),backgroundColor:vf,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?E=>{E.preventDefault(),E.currentTarget.setPointerCapture(E.pointerId),o.value="rightMargin";}:void 0,onPointermove:E=>o.value==="rightMargin"&&u("rightMargin",E.clientX,E.altKey),onPointerup:E=>{o.value==="rightMargin"&&(E.currentTarget.releasePointerCapture(E.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:B(so),pointerEvents:"none"},children:C.map((E,P)=>jsxRuntime.jsx(TE,{tick:E},P))}),e.tabMarks?.map(E=>jsxRuntime.jsx(wE,{tabMark:E,positionPx:le(E.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(E.position)},E.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(md,{direction:"down",anchor:"top",...w("firstLine","ruler.firstLineIndent",h.firstLine)}),jsxRuntime.jsx(md,{direction:"up",anchor:"strip",...w("hanging","ruler.hangingIndent",h.left)}),jsxRuntime.jsx(EE,{...w("left","ruler.leftIndent",h.left)}),jsxRuntime.jsx(md,{direction:"up",anchor:"strip",...w("right","ruler.rightIndent",h.right)})]}),o.value&&r.value!==null&&l.value!==null&&jsxRuntime.jsx(SE,{value:bf(r.value,m),positionPx:l.value})]})}}});function TE({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:B(e.position),bottom:0,width:"1px",height:B(e.height),backgroundColor:yE}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:B(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:gE,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function Cf(e){return e.editable?e.isDragging||e.isHovered?bE:vE:hE}function Tf(e,t,o){return {position:"absolute",left:B(e.positionPx-t/2),width:B(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function Ef(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 md({direction:e,anchor:t,...o}){let n=Cf(o),r=t==="top"?{top:0,height:B(fr+1)}:{top:B(so-fr),height:B(fr)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:Tf(o,gr*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...Ef(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${gr}px solid transparent`,borderRight:`${gr}px solid transparent`,...e==="down"?{top:0,borderTop:`${fr}px solid ${n}`}:{bottom:0,borderBottom:`${fr}px solid ${n}`},transition:"border-color 0.1s"}})})}function EE(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:Tf(e,gr*2,{top:B(so+1),height:B(fd)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...Ef(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:B(gr*2-2),height:B(fd),backgroundColor:Cf(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function SE({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:B(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 PE={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function wE({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:B(t-5),top:B(so-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:PE[e.alignment]||"L"})}function RE(e,t,o){let n=[];if(o==="inch"){let r=hf/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=le(i)*t;a%8===0?n.push({position:d,height:8,label:a/8>0?String(a/8):void 0}):a%4===0?n.push({position:d,height:5}):a%2===0?n.push({position:d,height:3}):n.push({position:d,height:2});}}else {let r=xf/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=le(i)*t;a%10===0?n.push({position:d,height:8,label:a/10>0?String(a/10):void 0}):a%5===0?n.push({position:d,height:5}):n.push({position:d,height:3});}}return n}var Pf=15840,ul=1440,_E=1440,kE=567,bd=20,IE="var(--doc-text-muted)",NE="var(--doc-text-subtle)",FE="var(--doc-primary)",LE="var(--doc-primary)",AE="var(--doc-primary-hover)",hd=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}=k(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=(d,u)=>{e.editable&&(d.preventDefault(),o.value=u);},a=d=>{let u=o.value,p=r.value;if(!u||!p)return;let s=e.pageSetup?.pageHeightTwips??Pf,c=e.pageSetup?.marginsTwips.top??ul,m=e.pageSetup?.marginsTwips.bottom??ul,f=p.getBoundingClientRect(),g=d.clientY-f.top,h=Vr(g/(e.zoom??1));if(u==="topMargin"){let b=s-m-720,y=Math.max(0,Math.min(h,b));e.onTopMarginChange?.(Math.round(y));}else if(u==="bottomMargin"){let b=s-h,y=s-c-720,T=Math.max(0,Math.min(b,y));e.onBottomMarginChange?.(Math.round(T));}},i=()=>{o.value!==null&&e.onMarginDragEnd?.(),o.value=null;};return vue.watch(o,(d,u,p)=>{d&&(document.addEventListener("mousemove",a),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i);}));}),()=>{let d=e.pageSetup?.pageHeightTwips??Pf,u=e.pageSetup?.marginsTwips.top??ul,p=e.pageSetup?.marginsTwips.bottom??ul,s=e.zoom??1,c=le(d)*s,m=le(u)*s,f=le(p)*s,g=HE(d,s,e.unit??"inch"),h={position:"relative",width:B(bd),height:B(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,y)=>jsxRuntime.jsx(OE,{tick:b},y))}),jsxRuntime.jsx(wf,{type:"topMargin",position:m,editable:e.editable??false,isDragging:o.value==="topMargin",isHovered:n.value==="topMargin",onMouseenter:()=>{n.value="topMargin";},onMouseleave:()=>{n.value=null;},onMousedown:b=>l(b,"topMargin")}),jsxRuntime.jsx(wf,{type:"bottomMargin",position:c-f,editable:e.editable??false,isDragging:o.value==="bottomMargin",isHovered:n.value==="bottomMargin",onMouseenter:()=>{n.value="bottomMargin";},onMouseleave:()=>{n.value=null;},onMousedown:b=>l(b,"bottomMargin")})]})}}});function OE(e){let t={position:"absolute",top:B(e.tick.position),right:0,height:"1px",width:B(e.tick.width),backgroundColor:NE},o={position:"absolute",top:B(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:IE,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 wf(e){let{t}=k(),o=e.isDragging?AE:e.isHovered?LE:FE,n={position:"absolute",top:B(e.position-5),right:0,width:B(bd),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 HE(e,t,o){let n=[];if(o==="inch"){let r=_E/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=le(i)*t;if(a%8===0){let u=a/8;n.push({position:d,width:10,label:u>0?String(u):void 0});}else a%4===0?n.push({position:d,width:6}):a%2===0?n.push({position:d,width:4}):n.push({position:d,width:2});}}else {let r=kE/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let d=le(i)*t;if(a%10===0){let u=a/10;n.push({position:d,width:10,label:u>0?String(u):void 0});}else a%5===0?n.push({position:d,width:6}):n.push({position:d,width:3});}}return n}var uo=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var KE=e=>e.formatting?.indent??null,VE=e=>e.editable;function xd(){let e=D(),t=_(KE),o=_(VE),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setIndent",left:0}).ok),r=l=>e.value?e.value.exec({...l.left!==void 0?{left:l.left}:{},...l.right!==void 0?{right:l.right}:{},...l.firstLine!==void 0?{firstLine:l.firstLine}:{},type:"setIndent"}).ok:false;return {indent:vue.computed(()=>t.value),isEnabled:n,apply:r}}var kf=e=>e.zoom,zE=e=>e.isOpening===true;function If(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function Nf(){let{apply:e}=jt(),t=vue.ref({}),o=vue.ref({});return {pending:t,preview:l=>a=>{o.value={...o.value,[l]:Math.round(a)},t.value={...o.value};},commit:()=>{let l=o.value;o.value={},t.value={},Object.keys(l).length!==0&&e({...l.top!==void 0?{marginTopTwips:l.top}:{},...l.right!==void 0?{marginRightTwips:l.right}:{},...l.bottom!==void 0?{marginBottomTwips:l.bottom}:{},...l.left!==void 0?{marginLeftTwips:l.left}:{},scope:"section"});}}}function $E(){let e=D(),{indent:t,isEnabled:o,apply:n}=xd(),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=p=>{a.value===null&&(a.value=Df(e.value)),l.value=p,r.value=p;},d=()=>{let p=l.value,s=a.value;l.value=null,a.value=null,r.value=null,p&&(s!==null&&s!==Df(e.value)||n({left:p.left,right:p.right,firstLine:p.firstLine}));};return {indent:vue.computed(()=>r.value??(t.value?{left:t.value.left,right:t.value.right,firstLine:t.value.firstLine}:null)),isEnabled:o,preview:i,commit:d}}function Df(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var cl=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=_(uo),o=_(zE),{pageSetup:n,isEnabled:r}=jt(),l=_(kf),a=Nf(),i=$E(),d=Jt(),u=Ko(),p=vue.ref(0),s=it();return vue.watch(s,(c,m,f)=>{if(!c){p.value=0;return}let g=()=>{p.value=c.scrollLeft;};g(),c.addEventListener("scroll",g,{passive:true}),f(()=>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:B(d.value+u.value.inlineStart),paddingRight:B(u.value.inlineEnd)},children:jsxRuntime.jsx(yd,{pageSetup:If(n.value,a.pending.value),zoom:l.value,editable:r.value,onLeftMarginChange:a.preview("left"),onRightMarginChange:a.preview("right"),onMarginDragEnd:a.commit,showIndentHandles:i.indent.value!==null,indent:i.indent.value,indentEditable:i.isEnabled.value,onIndentChange:i.preview,onIndentDragEnd:i.commit,unit:e.unit??"inch",className:e.className??"",style:{...e.style,transform:`${e.style?.transform?`${e.style.transform} `:""}translateX(${-p.value}px)`,clipPath:d.value>0&&p.value>0?`inset(0 0 0 ${p.value}px)`:e.style?.clipPath}})})}}),pl=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=_(uo),{pageSetup:o,isEnabled:n}=jt(),r=_(kf),l=Nf(),a=Jt(),i=Ko(),d=tp();return ()=>t.value||d.value!==null&&d.value>0&&o.value&&le(o.value.pageWidthTwips)*r.value>d.value-a.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(hd,{pageSetup:If(o.value,l.pending.value),zoom:r.value,editable:n.value,onTopMarginChange:l.preview("top"),onBottomMarginChange:l.preview("bottom"),onMarginDragEnd:l.commit,unit:e.unit??"inch",className:e.className??"",style:e.style})}});var jE=20,Ff=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:jE},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 Xo(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(Ff,t,()=>vue.h("path",{d:e}))}})}var ZE=Xo("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"),YE=Xo("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"),XE=Xo("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"),JE=Xo("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),QE=Xo("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),eS=Xo("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),tS={arrow_back:ZE,search:YE,close:XE,keyboard_arrow_up:JE,keyboard_arrow_down:QE,toc:eS},ct=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=tS[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 Ed=12,Td=240,Af=16,aS=24,lS=Ed+Td+Af,Of=12,iS=36,sS=Of+iS+Af,Sd=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:Ed}},setup(e){let{t}=k(),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:`${Td}px`,paddingTop:`${aS}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+Td}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(ct,{name:"arrow_back",size:20})]),vue.h("span",{style:{fontWeight:400,fontSize:"14px",color:"var(--doc-text)",letterSpacing:"0.01em"}},t("documentOutline.title"))]),vue.h("div",{style:{overflowY:"auto",flex:1,paddingLeft:"4px"}},e.headings.length===0?vue.h("div",{style:{padding:"8px 16px",color:"var(--doc-text-subtle)",fontSize:"13px",lineHeight:"20px"}},t("documentOutline.noHeadings")):e.headings.map((r,l)=>vue.h("div",{key:`${r.blockId}-${l}`,style:{marginLeft:`${(r.level-n)*16}px`}},[vue.h("button",{class:"docx-outline-heading-btn",onClick:()=>e.onHeadingClick(r.blockId),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 8px",fontSize:"13px",fontWeight:400,color:"var(--doc-text)",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:r.text},r.text)])))])}}});var pS=e=>e,mS=Object.freeze([]),fS=()=>{},Pd=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=D(),o=_(pS),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():mS),r=l=>{let a=t.value;if(!a)return;a.focus();let i={paragraphId:l,offset:0};a.exec({type:"setSelection",range:{anchor:i,head:i}}),a.scrollToBlock(l);};return ()=>uo(o.value)?null:vue.h(Sd,{headings:n.value,onHeadingClick:r,onClose:e.onClose??fS,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var wd=Symbol("NavigationContext");function It(e){let t=vue.inject(wd,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var fl=280,gl=32,Hf=16;function co(e=280){return 32+e+16}function yl({viewportWidth:e,pageWidthPx:t,reservation:o,inlineEndReservation:n=0,inlineStartReservation:r=0,docked:l=false}){if(!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0||!Number.isFinite(n)||n<0||!Number.isFinite(r)||r<0)return 0;let a=(e-n-t)/2,i=a>=o?0:!l&&o<=2*a?2*(o-a):o;return Math.ceil(Math.max(0,i-r))}var bS=Object.freeze([]),hS=e=>e;function bl(){let e=D(),t=_(hS),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():bS),r=vue.computed(()=>{let a=n.value;if(a.length===0)return [];let i=a[0].level;for(let d of a)d.level<i&&(i=d.level);return a.map(d=>({heading:d,depth:d.level-i}))}),l=a=>{let i=e.value;if(!i||typeof a!="string"||a.length===0)return;e.value.focus();let d={paragraphId:a,offset:0};e.value.exec({type:"setSelection",range:{anchor:d,head:d}}),i.scrollToBlock(a),o.value=a;};return {headings:n,items:r,selectedBlockId:vue.computed(()=>o.value),goTo:l,isEmpty:vue.computed(()=>n.value.length===0)}}var Dd=150,_d=2e3,Md=Object.freeze([]),xS=e=>e;function hl(){let e=D(),t=_(xS),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),l=vue.ref(false),a=vue.ref(Md),i=vue.ref(-1);j(vue.watch([o,n],([s,c],m,f)=>{if(s===c)return;let g=setTimeout(()=>{n.value=s;},Dd);f(()=>clearTimeout(g));}));let d=vue.computed(()=>({matchCase:r.value,wholeWord:l.value}));j(vue.watch([e,n,d,t],()=>{let s=e.value,c=n.value;if(!s||c.length===0){a.value=Md,i.value=-1;return}let m=s.findMatches(c,d.value);a.value!==m&&(a.value=m);},{flush:"post"})),j(vue.watch(a,(s,c)=>{c!==s&&(i.value=i.value>=0&&i.value<s.length?i.value:-1);}));let u=s=>{let c=a.value[s];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=s);},p=s=>{if(a.value.length===0)return;let m=((i.value<0?s>0?-1:0:i.value)+s+a.value.length)%a.value.length;u(m);};return {query:vue.computed(()=>o.value),setQuery:s=>{o.value=s;},matchCase:vue.computed(()=>r.value),setMatchCase:s=>{r.value=s;},wholeWord:vue.computed(()=>l.value),setWholeWord:s=>{l.value=s;},matches:vue.computed(()=>a.value),truncated:vue.computed(()=>a.value.length>=_d),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",a.value=Md,i.value=-1;},isPending:vue.computed(()=>o.value!==n.value)}}var wS=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)}},RS=(e,t)=>e.zoom===t.zoom&&e.reviewPaneOpen===t.reviewPaneOpen&&e.fitting===t.fitting&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function xl(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,v=>{v!==void 0&&(o.value=v);},{immediate:true}),vue.watch(()=>t.value.defaultTab,v=>{v!==void 0&&(n.value=v);},{immediate:true});let r=vue.computed(()=>t.value.open??o.value),l=vue.computed(()=>t.value.tab??n.value),a=vue.computed(()=>t.value.open!==void 0),i=vue.computed(()=>t.value.tab!==void 0),d=vue.computed(()=>t.value.paneWidth??280),u=v=>{a.value||(o.value=v),t.value.onOpenChange?.(v);},p=()=>u(!r.value),s=v=>{i.value||(n.value=v),t.value.onTabChange?.(v);},c=Xt(),m=it(),f=vue.inject(fo,vue.shallowRef({mounted:0,register:()=>()=>{}})),g=_(wS,RS),h=vue.ref(0),b=vue.ref(0),y=vue.ref(0);j(vue.watch([m,r,()=>g.value.reviewPaneOpen,()=>f.value.mounted],(v,x,w)=>{let E=m.value;if(!E){h.value=0,b.value=0,y.value=0;return}let P=()=>{h.value=E.clientWidth;let S=getComputedStyle(E),F=Number.parseFloat(S.paddingInlineEnd);b.value=Number.isFinite(F)?F:0;let M=Number.parseFloat(S.getPropertyValue("--docx-review-gutter-start"));y.value=Number.isFinite(M)?M:0;};if(P(),typeof ResizeObserver>"u")return;let R=new ResizeObserver(P);R.observe(E),w(()=>R.disconnect());},{flush:"post"}));let T=vue.ref(null);vue.watch(()=>g.value.pageSetup,v=>{v&&(T.value=v.pageWidthTwips);},{immediate:true});let C=vue.computed(()=>{if(!r.value)return 0;let v=g.value.pageSetup?.pageWidthTwips??T.value;return v===null?0:yl({viewportWidth:h.value,pageWidthPx:le(v)*g.value.zoom,reservation:co(d.value),inlineEndReservation:b.value,inlineStartReservation:y.value,docked:g.value.fitting})});return j(vue.watch([()=>c,C],()=>{c&&c.setShift(C.value);},{immediate:true,flush:"post"})),j(()=>c?.setShift(0)),j(vue.watch([()=>c,r,d],()=>{c?.setReservation(r.value?co(d.value):0);},{immediate:true,flush:"post"})),j(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:l,setTab:s,paneWidth:d,shift:C}}var yr=["headings","find"],nt=(...e)=>e.filter(Boolean).join(" "),vr=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:nt("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(br,{}),jsxRuntime.jsx(hr,{})]})})}}),br=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}=It("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:nt("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(ct,{name:"arrow_back",size:20})})}}),hr=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=It("Title");return ()=>jsxRuntime.jsx("h2",{class:nt("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),xr=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}=It("Tabs"),r=l=>{let a=l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0;if(a===0)return;l.preventDefault();let i=yr.indexOf(o.tab.value);o.setTab(yr[(i+a+yr.length)%yr.length]);};return ()=>jsxRuntime.jsx("div",{class:nt("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??yr.map(l=>jsxRuntime.jsx(Cr,{value:l},l))})}}),Cr=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}=It("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:nt("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}`)})}}}),Kf=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(ct,{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(ct,{name:"close",size:16})})]})}}),Tr=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}=It("Headings"),r=vue.ref(""),l=_(uo),a=vue.computed(()=>{let i=r.value.trim().toLowerCase();return i.length===0?o.items.value:o.items.value.filter(d=>d.heading.text.toLowerCase().includes(i))});return ()=>{let i=t.tab.value!=="headings";return jsxRuntime.jsxs("div",{class:nt("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(Kf,{value:r.value,onChange:d=>{r.value=d;},onClear:()=>{r.value="";},placeholder:n("navigation.find.placeholder"),label:n("navigation.find.inputAriaLabel"),clearLabel:n("navigation.find.clearAriaLabel")}),l.value?null:o.isEmpty.value?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.headings.noHeadings")}):a.value.length===0?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.find.noResults")}):jsxRuntime.jsx("ul",{class:"docx-nav__list",children:a.value.map((d,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:nt("docx-nav__heading",o.selectedBlockId.value===d.heading.blockId&&"docx-nav__heading--current"),style:{paddingInlineStart:`${8+d.depth*14}px`},title:d.heading.text,onClick:()=>o.goTo(d.heading.blockId),children:d.heading.text})},`${d.heading.blockId}-${u}`))})]})}}}),kS=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:nt("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]})})})}}),Er=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}=It("Find");return ()=>{let r=t.tab.value!=="find",l=t.open.value&&!r,a=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:nt("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(Kf,{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:l}),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:d=>o.setMatchCase(d.target.checked)}),n("navigation.find.matchCase")]}),jsxRuntime.jsxs("label",{class:"docx-nav__option",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:o.wholeWord.value,onChange:d=>o.setWholeWord(d.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"):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(ct,{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(ct,{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((d,u)=>jsxRuntime.jsx(kS,{match:d,active:u===o.activeIndex.value,onSelect:()=>o.goTo(u)},`${d.blockId}-${d.start}-${u}`))})]})}}}),Sr=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}=It("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:nt("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(ct,{name:"toc",size:20})})}});var LS=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=He(),r=xl(()=>({...e.paneWidth!==void 0?{paneWidth:e.paneWidth}:{},...e.defaultOpen!==void 0?{defaultOpen:e.defaultOpen}:{},...e.defaultTab!==void 0?{defaultTab:e.defaultTab}:{},...e.open!==void 0?{open:e.open}:{},...e.tab!==void 0?{tab:e.tab}:{},...e.onOpenChange?{onOpenChange:e.onOpenChange}:{},...e.onTabChange?{onTabChange:e.onTabChange}:{}})),l=bl(),a=hl(),{t:i}=k(),d=vue.computed(()=>({pane:r,outline:l,search:a,t:e.t??((p,s)=>i(p,s))}));vue.provide(wd,d);let u=vue.computed(()=>r.paneWidth.value);return ()=>jsxRuntime.jsxs("div",{class:`${o}docx-nav${r.open.value?" docx-nav--open":""}${e.className?` ${e.className}`:""}`,"data-open":r.open.value?"true":"false",style:{"--docx-nav-width":`${u.value}px`,"--docx-nav-inset":`${32}px`,"--docx-nav-reservation":`${co(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Sr,{...typeof e.toggle=="object"?e.toggle:{}}),jsxRuntime.jsx("aside",{class:"docx-nav__panel-shell","aria-label":d.value.t("navigation.ariaLabel"),inert:!r.open.value,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(vr,{}),jsxRuntime.jsx(xr,{}),jsxRuntime.jsx(Tr,{}),jsxRuntime.jsx(Er,{})]})})]})}}),Pr=Object.assign(LS,{Header:vr,Close:br,Title:hr,Tabs:xr,Tab:Cr,Headings:Tr,Find:Er,Toggle:Sr});var VS=600,WS=e=>e.page.total,Cl=Symbol("PageNumberTranslationContext"),Tl=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=He(),o=D(),n=it(),r=_(WS),{t:l}=k(),a=vue.inject(Cl,null),i=vue.ref(1),d=vue.ref(false);return vue.watch([o,r,n],([u,p,s],c,m)=>{if(d.value=false,!u||!s||p<=1)return;i.value=u.getCurrentPage("viewport");let f=null,g=()=>{i.value=u.getCurrentPage("viewport"),d.value=true,f&&clearTimeout(f),f=setTimeout(()=>{d.value=false;},VS);};s.addEventListener("scroll",g,{passive:true}),m(()=>{s.removeEventListener("scroll",g),f&&clearTimeout(f);});},{flush:"post"}),()=>{if(r.value<=1)return null;let u=a?a("viewer.pageIndicator").replace(/\{current\}/g,String(i.value)).replace(/\{total\}/g,String(r.value)):l("viewer.pageIndicator",{current:i.value,total:r.value});return vue.h("div",{class:`${t}docx-editor-shell__page-indicator-chip docx-editor__page-number${e.className?` ${e.className}`:""}`,style:e.style,"data-visible":d.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var $S=[],US=e=>e.fontSubstitutions??$S,El=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=_(US),{t:o}=k(),n=vue.ref(null);return ()=>{let r=t.value;if(r.length===0)return null;let l=r.join("\0");if(n.value===l)return null;let a=e.t??o,i=r.join(", ");return vue.h("div",{class:e.className?`docx-font-notice ${e.className}`:"docx-font-notice",role:"status",...e.style?{style:e.style}:{}},[vue.h("span",{class:"docx-font-notice__text"},a("editor.fontSubstitutionNotice",{fonts:i}).replace("{fonts}",i)),vue.h("button",{type:"button",class:"docx-font-notice__dismiss",onClick:()=>{n.value=l;}},a("common.dismiss"))])}}});var Ft={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function Id(e){return Math.round(e/1440*100)/100}function zf(e){return Math.round(e*1440)}function GS(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 Nd(){let e=D();return _(o=>e.value?.getHeaderFooterState()??null,GS)}function wr(e,t){let o=vue.ref(null),n=vue.ref({visibility:"hidden"}),r=l=>{o.value=l;};return vue.watch([o,()=>e,()=>t],([l],a,i)=>{let d=l?.closest(".docx-editor__scroll-container"),u=d??l?.parentElement?.querySelector(".docx-editor__scroll-container");if(!l||!u)return;let p=0,s=null,c=new ResizeObserver(()=>f()),m=()=>{p=0;let h=e(u);if(h!==s&&(c.disconnect(),c.observe(u),c.observe(l),h&&c.observe(h),s=h),!h||!h.isConnected){n.value={visibility:"hidden"};return}let b=h.getBoundingClientRect(),y=t==="story-label"?Math.max(l.offsetHeight,28):l.offsetHeight,T=t==="story-label"?6:4,C=d===u,v=t==="after"?b.bottom+6:b.top-y-T,x=C?To(u,b.left,v):{left:b.left,top:v},w=x.left,E=x.top,P=C?u.scrollLeft+8:8;n.value={position:C?"absolute":"fixed",left:B(t==="story-label"?w:Math.max(P,w+8)),top:B(t==="story-label"?E:Math.max(C?u.scrollTop+8:8,E)),...t==="story-label"?{width:B(Math.max(240,Math.min(b.width,u.clientWidth-16)))}:{maxWidth:B(Math.max(240,Math.min(b.width-16,u.clientWidth-16)))},visibility:"visible"};},f=()=>{p||(p=requestAnimationFrame(m));};c.observe(u),c.observe(l);let g=new MutationObserver(f);g.observe(u,{subtree:true,childList:true,attributes:true,attributeFilter:["data-docx-hf-active","data-docx-note-scope"]}),u.addEventListener("scroll",f,{passive:true}),window.addEventListener("resize",f),m(),i(()=>{p&&cancelAnimationFrame(p),c.disconnect(),g.disconnect(),u.removeEventListener("scroll",f),window.removeEventListener("resize",f);});},{flush:"post"}),j(()=>{n.value={visibility:"hidden"};}),{ref:r,style:n}}function ZS(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 YS=[{field:"PAGE",labelKey:"headerFooter.insertPageNumber"},{field:"NUMPAGES",labelKey:"headerFooter.insertTotalPages"},{field:"SECTIONPAGES",labelKey:"headerFooter.insertSectionPages"},{field:"PAGE_X_OF_Y",labelKey:"headerFooter.insertPageXofY"}];function Mr(e){let t=D();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 XS=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=k(),o=D(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(""),a=vue.ref("");vue.watch(n,(y,T,C)=>{if(!y)return;let v=x=>{r.value?.contains(x.target)||(n.value=false);};document.addEventListener("mousedown",v),C(()=>document.removeEventListener("mousedown",v));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([y,T,C])=>{y&&(T===void 0||C===void 0||(l.value=String(Id(T)),a.value=String(Id(C))));});let i=vue.computed(()=>({type:"setHeaderFooterOptions",titlePage:!e.state.titlePage})),d=vue.computed(()=>({type:"setHeaderFooterOptions",evenAndOddHeaders:!e.state.evenAndOddHeaders})),u=vue.computed(()=>({type:"linkHeaderFooterToPrevious"})),p=vue.computed(()=>({type:"unlinkHeaderFooterFromPrevious"})),s=vue.computed(()=>({type:"removeHeaderFooter",position:e.state.editing})),c=Mr(i.value),m=Mr(d.value),f=Mr(u.value),g=Mr(p.value),h=Mr(s.value),b=(y,T)=>{if(!o.value)return;let C=Number.parseFloat(T);Number.isFinite(C)&&o.value.exec({type:"setHeaderFooterOptions",[y]:zf(C)});};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:[YS.map(y=>{let T={type:"insertPageField",field:y.field},C=o.value?.can(T);return jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!C?.ok,title:C&&!C.ok?C.reason:void 0,onClick:()=>{o.value?.exec(T),n.value=false;},onMousedown:e.onChromeMousedown,children:t(y.labelKey)},y.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:!m.value.enabled,title:m.value.reason??void 0,onChange:()=>o.value?.exec(d.value)}),jsxRuntime.jsxs("span",{children:[t("headerFooter.differentOddEven"),jsxRuntime.jsx("span",{class:"docx-hf-chrome__menu-hint",children:t("headerFooter.differentOddEvenHint")})]})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),e.state.inherited?jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!g.value.enabled,title:g.value.reason??void 0,onClick:()=>o.value?.exec(p.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.unlinkFromPrevious")}):jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!f.value.enabled,title:f.value.reason??void 0,onClick:()=>o.value?.exec(u.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.linkToPrevious")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.headerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.headerDistance"),value:l.value,onInput:y=>{l.value=y.target.value;},onBlur:()=>b("headerDistanceTwips",l.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.footerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.footerDistance"),value:a.value,onInput:y=>{a.value=y.target.value;},onBlur:()=>b("footerDistanceTwips",a.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!h.value.enabled,title:h.value.reason??void 0,onClick:()=>o.value?.exec(s.value),onMousedown:e.onChromeMousedown,children:e.state.editing==="header"?t("headerFooter.removeHeader"):t("headerFooter.removeFooter")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-hf-close",onClick:()=>{o.value?.exec({type:"exitHeaderFooter"}),n.value=false;},onMousedown:e.onChromeMousedown,children:t("common.close")})]}):null]})}}),Pl=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=k(),o=Nd(),r=wr(a=>a.querySelector("[data-docx-hf-active]"),"story-label"),l=I;return ()=>{if(!o.value?.editing)return null;let a=ZS(o.value.editing,o.value.variant);return vue.h("div",{ref:i=>{r.ref(i instanceof HTMLDivElement?i:null);},class:`docx-context-bar docx-hf-chrome${e.className?` ${e.className}`:""}`,role:"region","aria-label":t("headerFooter.chromeAriaLabel"),"data-testid":"docx-hf-chrome",onMousedown:l,style:{...r.style.value,zIndex:Ft.hfInlineEditor}},[vue.h("div",{class:"docx-context-bar__label"},[vue.h("span",{class:"docx-context-bar__title"},t(a)),o.value.inherited?vue.h("span",{class:"docx-context-bar__status","data-testid":"docx-hf-inherited",title:t("headerFooter.sameAsPreviousHint")},t("headerFooter.sameAsPrevious")):null]),vue.h(XS,{state:o.value,onChromeMousedown:l})])}}});var nn=vue.defineComponent({name:"DocxEditorNotePreview",props:{scopeId:{type:String,required:true},text:{type:String,required:true},x:{type:Number,required:true},y:{type:Number,required:true},className:String},setup(e){return ()=>jsxRuntime.jsx("div",{role:"tooltip",class:e.className,"data-testid":"docx-notes-preview",style:{position:"fixed",left:B(e.x),top:B(e.y),zIndex:Ft.popover,maxWidth:"280px",maxHeight:"40vh",overflowY:"auto",padding:"8px 10px",background:"var(--doc-popover-bg)",color:"var(--doc-popover-fg)",border:"1px solid var(--doc-border)",boxShadow:"0 4px 16px var(--doc-shadow)",fontSize:"12px",lineHeight:1.4,pointerEvents:"none"},children:e.text})}}),Dr={type:Function,required:true},rn=vue.defineComponent({name:"DocxEditorNotesContextMenu",props:{scopeId:{type:String,required:true},noteKind:{type:String,required:true},noteId:{type:Number,required:true},x:{type:Number,required:true},y:{type:Number,required:true},onDelete:Dr,onConvert:Dr,onConvertAll:Dr,onOpenProperties:Dr,onClose:Dr,deleteEnabled:Boolean,convertEnabled:Boolean,convertAllEnabled:Boolean,deleteDisabledReason:String,convertDisabledReason:String,convertAllDisabledReason:String,className:String},setup(e){let{t}=k();return ()=>jsxRuntime.jsxs("div",{role:"menu",class:e.className,"data-testid":"docx-notes-menu",style:{position:"fixed",left:B(e.x),top:B(e.y),zIndex:Ft.popover,minWidth:"160px",background:"var(--doc-popover-bg)",border:"1px solid var(--doc-border)",boxShadow:"0 4px 16px var(--doc-shadow)",padding:"4px"},onMousedown:I,onKeydown:o=>{o.key==="Escape"&&e.onClose();},children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-delete",disabled:!e.deleteEnabled,title:e.deleteDisabledReason,onClick:e.onDelete,children:t("notes.delete")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert",disabled:!e.convertEnabled,title:e.convertDisabledReason,onClick:e.onConvert,children:e.noteKind==="footnote"?t("notes.convertToEndnote"):t("notes.convertToFootnote")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert-all",disabled:!e.convertAllEnabled,title:e.convertAllDisabledReason,onClick:e.onConvertAll,children:e.noteKind==="footnote"?t("notes.convertAllFootnotes"):t("notes.convertAllEndnotes")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",onClick:e.onOpenProperties,children:t("dialogs.footnoteProperties.title")})]})}});function QS(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 Fd(){let e=D();return _(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},QS)}function Zf(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 Yf(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&&Zf(e.documentAuthored,t.documentAuthored)&&Zf(e.sectionAuthored,t.sectionAuthored)}function eP(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&Yf(e.footnote,t.footnote)&&Yf(e.endnote,t.endnote)}function Ld(){let e=D();return _(o=>e.value?.getNotePropertiesState()??null,eP)}var oP=/^(footnote|endnote):(-?\d{1,10})$/;function Xf(e){let t=oP.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function nP(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function Ad(e){let t=D();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 rP=vue.defineComponent({name:"NoteStoryOptions",props:{onOpenProperties:{type:Function,required:true},onClose:{type:Function,required:true}},setup(e){let{t}=k(),o=vue.ref(false),n=vue.ref(null);return vue.watch(o,(r,l,a)=>{if(!r)return;let i=d=>{n.value?.contains(d.target)||(o.value=false);};document.addEventListener("mousedown",i),a(()=>document.removeEventListener("mousedown",i));}),()=>jsxRuntime.jsxs("div",{ref:n,class:"docx-hf-chrome__options",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","data-testid":"docx-notes-options","aria-expanded":o.value,"aria-haspopup":"menu",onMousedown:I,onClick:()=>{o.value=!o.value;},children:t("headerFooter.options")}),o.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:I,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-properties",onClick:()=>{e.onOpenProperties(),o.value=false;},children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-close",onClick:()=>{e.onClose(),o.value=false;},children:t("common.close")})]}):null]})}}),wl=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=k(),o=D(),n=Ld(),r=vue.ref("document"),l=vue.ref("decimal"),a=vue.ref("continuous"),i=vue.ref("pageBottom"),d=vue.ref("decimal"),u=vue.ref("continuous"),p=vue.ref("docEnd");return vue.watch(n,s=>{s&&(l.value=s.footnote.resolved.numFmt,a.value=s.footnote.resolved.numRestart,i.value=s.footnote.resolved.pos,d.value=s.endnote.resolved.numFmt,u.value=s.endnote.resolved.numRestart,p.value=s.endnote.resolved.pos);}),()=>{let s=n.value,c=!s?.footnote.documentAuthored&&!s?.footnote.sectionAuthored,m=!s?.endnote.documentAuthored&&!s?.endnote.sectionAuthored;return jsxRuntime.jsx("div",{class:"docx-note-properties",role:"dialog","aria-modal":"true","aria-label":t("dialogs.footnoteProperties.title"),"data-testid":"docx-notes-properties-dialog",style:{zIndex:Ft.modal},onClick:e.onClose,onKeydown:f=>{f.key==="Escape"&&e.onClose();},children:jsxRuntime.jsxs("div",{class:"docx-note-properties__panel",onClick:f=>f.stopPropagation(),onMousedown:f=>f.stopPropagation(),children:[jsxRuntime.jsx("h2",{class:"docx-note-properties__title",children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsxs("div",{class:"docx-note-properties__body",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__scope",children:[jsxRuntime.jsx("span",{children:t("notes.scope")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:r.value,onChange:f=>{r.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:t("notes.scopeDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("notes.scopeSection")})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.footnotes")}),c?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:l.value,onChange:f=>{l.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:a.value,onChange:f=>{a.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:i.value,onChange:f=>{i.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"pageBottom",children:t("dialogs.footnoteProperties.footnotePositions.bottomOfPage")}),jsxRuntime.jsx("option",{value:"beneathText",children:t("dialogs.footnoteProperties.footnotePositions.belowText")})]})]})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.endnotes")}),m?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:d.value,onChange:f=>{d.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:u.value,onChange:f=>{u.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"continuous",children:t("dialogs.footnoteProperties.numberingOptions.continuous")}),jsxRuntime.jsx("option",{value:"eachSect",children:t("dialogs.footnoteProperties.numberingOptions.restartSection")}),jsxRuntime.jsx("option",{value:"eachPage",children:t("dialogs.footnoteProperties.numberingOptions.restartPage")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.position")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:p.value,"data-testid":"docx-notes-endnote-position",onChange:f=>{p.value=f.target.value;},children:[jsxRuntime.jsx("option",{value:"docEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfDocument")}),jsxRuntime.jsx("option",{value:"sectEnd",children:t("dialogs.footnoteProperties.endnotePositions.endOfSection")})]})]})]})]})]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__footer",children:[jsxRuntime.jsx("button",{class:"docx-note-properties__button",type:"button",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{class:"docx-note-properties__button docx-note-properties__button--primary",type:"button","data-testid":"docx-notes-properties-apply",onClick:()=>{let f=o.value;if(!f)return;let g={type:"setNoteProperties",scope:r.value,sectionIndex:r.value==="section"?s?.sectionIndex:void 0,footnote:{numFmt:l.value,numRestart:a.value,position:i.value},endnote:{numFmt:d.value,numRestart:u.value,position:p.value}};f.can(g).ok&&e.onApply(g);},children:t("common.apply")})]})]})})}}}),Rl=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let t=Tt(),{t:o}=k(),n=D(),r=Fd(),l=vue.ref(null),a=vue.ref(null),i=vue.ref(false);vue.watch(()=>t.value?.noteProperties,x=>{x===false&&(i.value=false);}),vue.watch(()=>t.value?.notesContextMenu,x=>{x===false&&(a.value=null);}),vue.watch(()=>t.value?.notePreview,x=>{x===false&&(l.value=null);});let d=vue.ref(null),u=vue.ref(null),p=()=>u.value?.closest(".docx-editor__scroll-container")??u.value?.closest(".docx-editor")??null,c=wr(x=>{let w=r.value;if(!w)return null;let P=[...x.querySelectorAll("[data-docx-note-scope]")].find(R=>R.matches("[data-docx-note]")&&R.dataset.docxNoteScope===w.id)??null;return P?.closest("[data-docx-notes]")??P},"story-label"),m=()=>{d.value&&clearTimeout(d.value),d.value=null,l.value=null;};vue.watch([n,u],([x],w,E)=>{if(!x)return;let P=p();if(!P)return;let R=M=>{let W=M.target;if(!W)return;let z=W.closest("[data-docx-note-ref]");if(z?.dataset.docxNoteScope){M.preventDefault(),m(),a.value=null,x.setActiveScope({kind:"note",id:z.dataset.docxNoteScope});return}W.closest("[data-docx-note-mark-back]")&&(M.preventDefault(),m(),a.value=null,x.setActiveScope({kind:"body"}));},S=M=>{let W=M,oe=W.target?.closest("[data-docx-note-scope]");oe?.dataset.docxNoteScope&&(W.preventDefault(),a.value={scopeId:oe.dataset.docxNoteScope,x:W.clientX,y:W.clientY});},F=M=>{if(nP())return;let z=M.target?.closest("[data-docx-note-ref]");if(!z?.dataset.docxNoteScope){m();return}let oe=z.dataset.docxNoteScope,Ce=x.getNotePreviewText(oe)??z.getAttribute("aria-description")??o("notes.previewFallback"),Me=z.getBoundingClientRect();d.value&&clearTimeout(d.value),d.value=setTimeout(()=>{l.value={scopeId:oe,text:Ce,x:Me.left,y:Me.bottom+4};},400);};P.addEventListener("click",R),P.addEventListener("contextmenu",S),P.addEventListener("pointerover",F),P.addEventListener("scroll",m,true),E(()=>{P.removeEventListener("click",R),P.removeEventListener("contextmenu",S),P.removeEventListener("pointerover",F),P.removeEventListener("scroll",m,true),m();});},{flush:"post"});let f=x=>{n.value?.exec(x),a.value=null;},g=vue.computed(()=>a.value?Xf(a.value.scopeId):null),h=vue.computed(()=>g.value?{type:"deleteNote",noteKind:g.value.noteKind,noteId:g.value.noteId}:null),b=vue.computed(()=>g.value?{type:"convertNote",fromKind:g.value.noteKind,noteId:g.value.noteId}:null),y=vue.computed(()=>g.value?{type:"convertAllNotes",fromKind:g.value.noteKind}:null),T=Ad(h.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),C=Ad(b.value??{type:"convertNote",fromKind:"footnote",noteId:0}),v=Ad(y.value??{type:"convertAllNotes",fromKind:"footnote"});return ()=>{if(!n.value)return null;let x=r.value?Xf(r.value.id):null,w=x?o("notes.editingRegion",{kind:x.noteKind==="footnote"?o("notes.footnoteKind"):o("notes.endnoteKind"),number:x.noteId}):null,E={onClose:()=>{i.value=false;},onApply:R=>{f(R),i.value=false;}},P=a.value&&g.value?{...a.value,...g.value,onDelete:()=>{h.value&&f(h.value);},onConvert:()=>{b.value&&f(b.value);},onConvertAll:()=>{y.value&&f(y.value);},onOpenProperties:()=>{t.value?.noteProperties!==false&&(i.value=true);},onClose:()=>{a.value=null;},deleteEnabled:T.value.enabled,convertEnabled:C.value.enabled,convertAllEnabled:v.value.enabled,deleteDisabledReason:T.value.reason??void 0,convertDisabledReason:C.value.reason??void 0,convertAllDisabledReason:v.value.reason??void 0}:null;return vue.h("div",{ref:R=>{u.value=R instanceof HTMLDivElement?R:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":r.value?void 0:true},[r.value&&x?jsxRuntime.jsxs("div",{ref:c.ref,class:"docx-context-bar docx-notes-chrome__banner",role:"region","aria-label":o("notes.chromeAriaLabel"),"data-testid":"docx-notes-banner","data-note-scope":r.value.id,style:{...c.style.value,zIndex:Ft.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:w}),jsxRuntime.jsx(rP,{onOpenProperties:()=>{t.value?.noteProperties!==false&&(i.value=true);},onClose:()=>{n.value?.setActiveScope({kind:"body"});}})]}):null,l.value&&t.value?.notePreview!==false?t.value?.notePreview?ge(t.value.notePreview,l.value):jsxRuntime.jsx(nn,{...l.value}):null,P&&t.value?.notesContextMenu!==false?t.value?.notesContextMenu?ge(t.value.notesContextMenu,P):jsxRuntime.jsx(rn,{...P}):null,i.value&&t.value?.noteProperties!==false?t.value?.noteProperties?ge(t.value.noteProperties,E):jsxRuntime.jsx(wl,{...E}):null])}}});var Hd=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(Hn,null),t=Symbol("revision-style-declaration");return e?.registerScheme(t),vue.onUnmounted(()=>e?.unregister(t)),()=>null}}),Bd=vue.defineComponent({name:"DocxEditorAuthorStyle",props:{author:{type:String,required:true},color:{type:String,default:void 0},background:{type:String,default:void 0},activeBackground:{type:String,default:void 0},spanClassName:{type:String,default:void 0},avatarUrl:{type:String,default:void 0}},setup(e){let t=vue.inject(Hn,null),o=Symbol("revision-style-declaration");return vue.watch(()=>[e.author,e.color,e.background,e.activeBackground,e.spanClassName,e.avatarUrl],([n,r,l,a,i,d])=>{t?.register(o,n,{...r!==void 0?{color:r}:{},...l!==void 0?{background:l}:{},...a!==void 0?{activeBackground:a}:{},...i!==void 0?{spanClassName:i}:{},...d!==void 0?{avatarUrl:d}:{}});},{immediate:true}),vue.onUnmounted(()=>t?.unregister(o)),()=>null}});var iP=editor.LOADING_SNAPSHOT;function Ml(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)??iP}}var pP={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)"},mP={flex:1,minHeight:0,minWidth:0,overflowAnchor:"none"},fP={position:"relative",display:"flex",flex:1,minHeight:0,minWidth:0},gP={flex:"none",minHeight:"34px",padding:"6px 0 2px",overflow:"hidden",scrollbarGutter:"stable both-edges",backgroundColor:"var(--doc-bg)"},yP={position:"absolute",top:"40px",left:0,zIndex:10,pointerEvents:"none"},vP={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)"},bP={padding:"8px 12px"},hP={display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px 0",color:"var(--doc-text)"},xP={display:"flex",flexDirection:"column",flex:1,minWidth:0,gap:"2px"},CP={flex:1,minWidth:0,font:"inherit",color:"inherit",backgroundColor:"transparent",border:"1px solid transparent",borderRadius:"4px",padding:"2px 6px"},TP=vue.defineComponent({name:"ScopedChrome",props:{scoped:{type:Boolean,required:true}},setup(e,{slots:t}){return vue.provide(Fn,e.scoped),()=>t.default?.()}}),ng={popups:Object,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}},EP={...ng,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}},SP=vue.defineComponent({name:"DocxEditorFrame",inheritAttrs:false,props:ng,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=vue.computed(()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave),a=vue.computed(()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen),i=vue.computed(()=>e.onTitleChange??t.onTitleChange),d=vue.computed(()=>e.chrome??true),u=vue.computed(()=>e.menu??true),p=vue.computed(()=>e.navigation??true),s=vue.computed(()=>e.rulers??true),c=vue.computed(()=>e.contextMenu??true),m=vue.computed(()=>e.hyperlinkPopup??true),f=vue.ref(Dc()),g;vue.onMounted(()=>{e.colorMode==="system"&&(g=Ji(x=>{f.value=x;}));}),vue.onUnmounted(()=>g?.()),vue.watch(()=>e.colorMode,(x,w,E)=>{g?.(),g=void 0,x==="system"&&(g=Ji(P=>{f.value=P;}),E(()=>g?.()));});let h=vue.computed(()=>_c(e.colorMode,f.value)),b=k(),y=vue.computed(()=>{let x=e.t,w=b.t;return (E,P)=>x?x(E,P):w(E,P)}),T=x=>y.value(x);vue.provide(Cl,x=>y.value(x));let C=vue.shallowRef(null);r({load:x=>C.value?.load(x),save:()=>C.value?.save()??Promise.resolve(null),getDocumentHandle:()=>C.value?.getDocumentHandle()??null,getEditor:()=>C.value?.getEditor()??null,focus:()=>C.value?.focus(),exec:(x,w)=>C.value?.exec(x,w)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:x=>C.value?.snapshot(x)??Ml(()=>null).snapshot(x)});let v=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let x=D();return C.value=Ml(()=>x.value),()=>null}});return ()=>{let x=y.value,w=d.value&&h.value?"dark":d.value?void 0:e.class,E=vue.h(Ia,{class:w,style:d.value?mP:void 0,...!d.value&&e.class?{}:{}},{default:()=>[d.value?vue.h(Pl):null,d.value?vue.h(Rl):null,vue.h(Fa),s.value&&d.value?vue.h("div",{style:yP,"aria-hidden":"true"},[vue.h(pl)]):null,n.default?.()]}),P=typeof u.value=="object"?u.value:{},R=d.value?vue.h("div",{class:`docx-editor${h.value?" dark":""}${e.class?` ${e.class}`:""}`,style:pP},[vue.h("div",{style:vP},[vue.h("div",{style:hP},[n.titleBarLeft?.(),vue.h("div",{style:xP},[i.value!==void 0?vue.h("input",{"aria-label":x("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:x("titleBar.untitled"),style:CP,onInput:S=>{let F=S.target.value;i.value?.(F),o("titleChange",F);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??x("titleBar.untitled")),u.value!==false?vue.h(io,{t:x,...e.title!==void 0?{fileName:e.title}:{},...a.value!==void 0?{openHandler:a.value}:{},...l.value!==void 0?{saveHandler:l.value}:{},...P}):null]),n.titleBarRight?.()]),vue.h("div",{style:bP},[vue.h(pr,{t:x})])]),s.value?vue.h("div",{style:gP,"data-testid":"docx-editor-ruler-row"},[vue.h(cl)]):null,vue.h(El,{t:x}),vue.h("div",{style:fP},[p.value===false?null:vue.h(Pr,{t:x,...typeof p.value=="object"?p.value:{}}),E,vue.h(Tl),vue.h(La,{overlay:true})])]):E;return vue.h(Kn,{...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}:{},popups:Tc(e.popups,m.value,c.value,x),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:T,onReady:S=>o("ready",S),onChange:S=>o("change",S),onFontError:S=>o("fontError",S)},{default:()=>[vue.h(v),vue.h(TP,{scoped:d.value},{default:()=>R})]})}}}),PP=vue.defineComponent({name:"DocxEditor",inheritAttrs:false,props:EP,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave,a=()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen,i=()=>e.onTitleChange??t.onTitleChange,d=vue.shallowRef(null);return r({load:u=>d.value?.load(u),save:()=>d.value?.save()??Promise.resolve(null),getDocumentHandle:()=>d.value?.getDocumentHandle()??null,getEditor:()=>d.value?.getEditor()??null,focus:()=>d.value?.focus(),exec:(u,p)=>d.value?.exec(u,p)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:u=>d.value?.snapshot(u)??Ml(()=>null).snapshot(u)}),()=>{let{i18n:u,...p}=e;return vue.h(Fr,u!==void 0?{i18n:u}:{},{default:()=>vue.h(SP,{...p,ref:s=>{d.value=s&&typeof s=="object"&&"load"in s?s:null;},onReady:s=>o("ready",s),onChange:s=>o("change",s),onFontError:s=>o("fontError",s),saveHandler:l()!==void 0?()=>{l()(),o("save");}:void 0,openHandler:a()!==void 0?()=>{a()(),o("open");}:void 0,onTitleChange:i()!==void 0?s=>{i()(s),o("titleChange",s);}:void 0},{default:n.default,titleBarLeft:n.titleBarLeft,titleBarRight:n.titleBarRight})})}}}),Kd=Object.assign(PP,{TextFormFieldDialog:On,ContentControlWidget:ui,InvalidTextFormFieldDialog:fi,ImageAltTextPopup:Ca,ImagePropertiesDialog:An,NotePropertiesDialog:wl,NotesContextMenu:rn,NotePreview:nn,Root:Kn,Viewport:Ia,Content:Fa,Toolbar:pr,Menu:io,Loading:La,HorizontalRuler:cl,VerticalRuler:pl,DocumentOutline:Pd,Navigation:Pr,PageSetupDialog:Yt,ParagraphDialog:lt,PageNumber:Tl,FontNotice:El,HeaderFooterChrome:Pl,NotesChrome:Rl,Equation:vn,HyperLink:pn,ContextMenu:Ut,ContentControl:gn,AuthorStyle:Bd,ColorByChangeType:Hd});function MP(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function DP(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function _P(){let e=D(),t=vue.shallowRef(null),o=null,n=()=>{let l=MP(e.value),a=o;return (l===null?a===null:a!==null&&DP(a,l))?a:(o=l,l)};t.value=n();let r=vue.watch(()=>e.value,(l,a,i)=>{if(t.value=n(),!l)return;let d=()=>{let s=n();t.value!==s&&(t.value=s);},u=l.on("selectionChange",d),p=l.on("change",d);i(()=>{u(),p();});},{immediate:true,flush:"post"});return j(r),t}function FP(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,l,a)=>{if(!r)return;let i=()=>{o.value++;},d=r.on("change",i),u=r.on("selectionChange",i);i(),a(()=>{d(),u();});},{immediate:true,flush:"post"});return j(n),o}var HP=e=>typeof e=="function"?e:vue.toValue(e);function BP(...e){let t=e,o=()=>t.map(HP);return editor.defineFontResolver(n=>editor.composeFontOrigins(o(),n))}function WP(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}function Vd(e){return Array.isArray(e)?e:[e]}function qP(e){if(typeof e!="function"||editor.isFontResolver(e))return e;let t=e;return editor.defineFontResolver(async()=>t())}function zP(e){return e!==void 0&&Vd(e).some(t=>editor.isFontResolver(t))}async function $P(e){return typeof e!="function"?await e:await e()}function UP(e,t={}){let o=e,n=t,r=vue.ref(void 0),l=vue.ref(void 0),a=vue.ref(null),i=vue.ref(vue.toValue(o)!=null),d=vue.ref(vue.toValue(t).fonts===void 0),u=0,p=editor.defineFontResolver(s=>editor.composeFontOrigins(Vd(vue.toValue(n).fonts??[]).map(qP),s));return j(vue.watch(()=>vue.toValue(n).fonts,(s,c,m)=>{if(s===void 0){l.value=void 0,d.value=true;return}if(zP(s)){l.value=p,d.value=true;return}let f=true;l.value=void 0,d.value=false,(async()=>{try{let g=await Promise.allSettled(Vd(s).map($P)),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);}f&&h.length>0&&(l.value=editor.composeFontConfiguration(h[0],...h.slice(1)));}catch(g){console.warn("[fonts] font loading failed; the fixed measurer stays in effect",g);}finally{f&&(d.value=true);}})(),m(()=>{f=false;});},{immediate:true})),j(vue.watch(()=>vue.toValue(o),(s,c,m)=>{u+=1;let f=u;if(s==null){r.value=void 0,a.value=null,i.value=false;return}let g=WP(s);if(g){r.value=g,a.value=null,i.value=false;return}let h=true,b=new AbortController;r.value=void 0,i.value=true,a.value=null,(async()=>{try{let y=await fetch(String(s),{...vue.toValue(n).fetchOptions,signal:b.signal});if(!y.ok)throw new Error(`could not open the document: ${y.status} ${y.statusText}`);let T=new Uint8Array(await y.arrayBuffer());if(!h||f!==u)return;r.value=T,i.value=!1;}catch(y){if(!h||f!==u||y instanceof Error&&y.name==="AbortError")return;r.value=void 0,a.value=y instanceof Error?y:new Error("could not open the document"),i.value=false;}})(),m(()=>{h=false,b.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>d.value?r.value:void 0),fonts:vue.computed(()=>l.value),error:vue.computed(()=>a.value),isLoading:vue.computed(()=>i.value||!d.value)}}var JP=vue.defineComponent({name:"PaginatedDocxEditor",props:{source:{type:Object,required:true},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},className:{type:String,default:void 0},documentFontFamily:{type:String,default:void 0}},setup(e,{expose:t}){let o=vue.ref(null),n=vue.shallowRef(null),r=vue.shallowRef(null),l=vue.shallowRef(e.onStateChange),a=vue.shallowRef(e.onError);vue.watch(()=>e.onStateChange,c=>{l.value=c;}),vue.watch(()=>e.onError,c=>{a.value=c;});let i=()=>{let c=o.value;if(!c)return;let m=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:g=>{r.value=g,l.value?.(g);}});if(!m.ok){a.value?.(m.reason,m.detail);return}n.value=m.surface;let f=m.surface.state();return r.value=f,l.value?.(f),()=>{m.surface.destroy(),n.value=null;}},d=vue.computed(()=>r.value?.pageCount??0),u=vue.computed(()=>r.value?.revision??0),p,s=()=>{p?.(),p=i();};return vue.watch(()=>[e.source,e.measurer],()=>{o.value&&s();}),vue.onUnmounted(()=>{p?.();}),t({focus:()=>n.value?.focus(),type:c=>n.value?.type(c),undo:()=>n.value?.undo(),redo:()=>n.value?.redo(),selectAll:()=>n.value?.selectAll(),navigate:(c,m)=>n.value?.navigate(c,m),toggleRunProperty:(c,m)=>n.value?.toggleRunProperty(c,m),setRunProperty:(c,m)=>n.value?.setRunProperty(c,m),setParagraphProperty:(c,m,f)=>n.value?.setParagraphProperty(c,m,f),formatting:()=>n.value?.formatting()??null,sectionProperties:()=>n.value?.sectionProperties()??null,save:()=>n.value?.save()??null}),()=>vue.h("div",{onVnodeMounted:c=>{o.value=c.el,s();},onVnodeBeforeUnmount:()=>{p?.(),p=void 0;},class:e.className?`docx-paginated-surface ${e.className}`:"docx-paginated-surface",style:{margin:"24px auto",...e.documentFontFamily?{fontFamily:e.documentFontFamily}:{}},"data-revision":u.value,"data-page-count":d.value})}});var tw=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 rw=vue.defineComponent({name:"PageIndicator",props:{currentPage:{type:Number,required:true},totalPages:{type:Number,required:true},visible:{type:Boolean,required:true}},setup(e){let{t}=k();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 uw=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?.())}}),cw=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?.())}}),pw=vue.defineComponent({name:"ToolbarGroup",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__group",role:"group"},t.default?.())}});var mw=Kd;var fw=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),gw=io,yw=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)})}}),vw=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),bw=vue.defineComponent({name:"TitleBarRight",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar-right"},t.default?.())}});function Tw({kind:e}){let t=D(),o=vue.shallowRef(null),n=null;return vue.watch([t,o],([r,l],a,i)=>{if(!r||!l)return;let d=editor.bindHistoryGroup(r,l,{kind:e});n=d,i(()=>{d.dispose(),n=null;});},{immediate:true,flush:"sync"}),{ref:r=>{o.value=r;},options(){if(!n)throw new Error("history group control is not mounted");return n.options()}}}
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=Ie;exports.ContextMenuCellVerticalAlignment=$t;exports.ContextMenuCopy=_n;exports.ContextMenuCopyFormatting=pa;exports.ContextMenuCut=Dn;exports.ContextMenuDelete=kn;exports.ContextMenuDeleteTable=Fo;exports.ContextMenuDeleteTableColumn=No;exports.ContextMenuDeleteTableRow=Io;exports.ContextMenuInsertColumnLeft=_o;exports.ContextMenuInsertColumnRight=ko;exports.ContextMenuInsertRowAbove=Mo;exports.ContextMenuInsertRowBelow=Do;exports.ContextMenuItem=fa;exports.ContextMenuPaste=wo;exports.ContextMenuPasteFormatting=ma;exports.ContextMenuPasteWithoutFormatting=Ro;exports.ContextMenuRefreshToc=Lo;exports.ContextMenuRefreshTocPageNumbers=Ao;exports.ContextMenuSelectAll=In;exports.DocumentName=yw;exports.DocumentOutline=Sd;exports.DocxEditor=Kd;exports.DocxEditorAuthorStyle=Bd;exports.DocxEditorColorByChangeType=Hd;exports.DocxEditorContent=Fa;exports.DocxEditorContentControl=gn;exports.DocxEditorContentControlWidget=ui;exports.DocxEditorContextMenu=Ut;exports.DocxEditorDocumentOutline=Pd;exports.DocxEditorEquation=vn;exports.DocxEditorFontNotice=El;exports.DocxEditorHeaderFooterChrome=Pl;exports.DocxEditorHorizontalRuler=cl;exports.DocxEditorHyperLink=pn;exports.DocxEditorImageAltTextPopup=Ca;exports.DocxEditorImagePropertiesDialog=An;exports.DocxEditorInvalidTextFormFieldDialog=fi;exports.DocxEditorLoading=La;exports.DocxEditorLoadingSpinner=Cs;exports.DocxEditorMenu=io;exports.DocxEditorNavigation=Pr;exports.DocxEditorNotePreview=nn;exports.DocxEditorNotePropertiesDialog=wl;exports.DocxEditorNotesChrome=Rl;exports.DocxEditorNotesContextMenu=rn;exports.DocxEditorPageNumber=Tl;exports.DocxEditorPageSetupDialog=Yt;exports.DocxEditorParagraphDialog=lt;exports.DocxEditorRoot=Kn;exports.DocxEditorShell=mw;exports.DocxEditorTextFormFieldDialog=On;exports.DocxEditorToolbar=pr;exports.DocxEditorVerticalRuler=pl;exports.DocxEditorViewport=Ia;exports.HorizontalRuler=yd;exports.ImageAltText=ha;exports.ImageInsertProvider=ea;exports.ImageInsertTrigger=ta;exports.ImagePropertiesTrigger=Pa;exports.ImageWrap=Oa;exports.LocaleProvider=Fr;exports.Logo=vw;exports.MenuBar=gw;exports.NAVIGATION_PANE_GAP=Hf;exports.NAVIGATION_PANE_INSET=gl;exports.NAVIGATION_PANE_WIDTH=fl;exports.NavigationClose=br;exports.NavigationFind=Er;exports.NavigationHeader=vr;exports.NavigationHeadings=Tr;exports.NavigationTab=Cr;exports.NavigationTabs=xr;exports.NavigationTitle=hr;exports.NavigationToggle=Sr;exports.OUTLINE_BUTTON_LEFT_OFFSET=Of;exports.OUTLINE_BUTTON_RESERVED_SPACE=sS;exports.OUTLINE_LEFT_OFFSET=Ed;exports.OUTLINE_RESERVED_SPACE=lS;exports.PageIndicator=rw;exports.PageNumberTranslationContext=Cl;exports.PaginatedDocxEditor=JP;exports.PaginatedDocxEditorShell=tw;exports.REVIEW_MARKERS_GUTTER=ys;exports.REVIEW_PANE_GUTTER=vs;exports.RULER_WIDTH=bd;exports.ReviewRailContext=fo;exports.SEARCH_DEBOUNCE_MS=Dd;exports.SEARCH_MATCH_LIMIT=_d;exports.Slot=L;exports.TitleBar=fw;exports.TitleBarRight=bw;exports.Toolbar=uw;exports.ToolbarButton=cw;exports.ToolbarContext=Yr;exports.ToolbarGroup=pw;exports.ToolbarImageProperties=wa;exports.VERSION=ug;exports.VerticalRuler=hd;exports.definePopup=gy;exports.editorStateActiveSubscriptionCount=Eg;exports.isFieldLink=cn;exports.navigationPaneReservation=co;exports.navigationShift=yl;exports.normalizeImageBytes=Qr;exports.notificationYieldsToTask=Kc;exports.provideDocxEditor=Dh;exports.reviewGutter=ep;exports.useChromeTranslate=Jd;exports.useContentControl=Qe;exports.useContentControlInstance=zr;exports.useContentControlWidget=ft;exports.useContextMenuTarget=nc;exports.useDocumentOutline=bl;exports.useDocumentSearch=hl;exports.useDocxEditor=D;exports.useDocxSource=UP;exports.useEditorCaret=_P;exports.useEditorCommand=U;exports.useEditorEvent=js;exports.useEditorSnapshot=FP;exports.useEditorState=_;exports.useEditorValueCommand=Ln;exports.useFontFamily=Jn;exports.useFonts=BP;exports.useHeaderFooterState=Nd;exports.useHistoryGroup=Tw;exports.useHyperlinkPopup=ke;exports.useHyperlinkPopupInstance=Wr;exports.useNavigationPane=xl;exports.useNavigationShift=Jt;exports.useNotePropertiesState=Ld;exports.useNoteScopeState=Fd;exports.usePageSetup=jt;exports.usePageSetupDialog=Yb;exports.useParagraphDialog=sh;exports.useParagraphFormat=ts;exports.useParagraphIndent=xd;exports.useParagraphStyle=Qn;exports.useReviewAuthors=ur;exports.useReviewGutter=Ko;exports.useScopeClassName=He;exports.useScopedChromeAnchor=wr;exports.useTableBorderTargetLabel=td;exports.useTextFormFieldDialog=Bb;exports.useToolbarContext=Xr;exports.useToolbarLabel=K;exports.useToolbarLabelFor=Ev;exports.useTranslation=k;exports.useZoom=Is;
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'),store=require('@docx-editor.dev/core/store'),editor$1=require('@docx-editor.dev/core/contracts/editor');var uu={version:"2.22.0"};var Lg=uu.version;var Gl=Symbol("locale"),Zl=Symbol("lang"),zr=vue.defineComponent({name:"LocaleProvider",props:{i18n:{type:Object,default:void 0}},setup(e,{slots:t}){let o=vue.inject(Gl,vue.shallowRef(i18n.en)),n=vue.inject(Zl,vue.shallowRef("en")),r=vue.computed(()=>typeof e.i18n?._lang=="string"?e.i18n._lang:n.value),l=vue.computed(()=>i18n.deepMerge(o.value,e.i18n)),a=vue.shallowRef(l.value),i=vue.shallowRef(r.value);return vue.watch([l,r],()=>{a.value=l.value,i.value=r.value;}),vue.provide(Gl,a),vue.provide(Zl,i),()=>t.default?.()}});function _(){let e=vue.inject(Gl,vue.shallowRef(i18n.en)),t=vue.inject(Zl,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 yu(e){let{t}=_();return vue.computed(()=>(o,n)=>e?.get(o)??t(o,n))}var Jl=Symbol("docxEditor"),Ql=Symbol("editorStateTick"),Bg=vue.shallowRef(null);function D(){return vue.inject(Jl,Bg)}function yt(){return vue.inject(Ql,vue.shallowRef(0))}var xo=Symbol("ReviewRailContext");function Co(){let e=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:()=>()=>{},requestCommentDraft:()=>false});return vue.inject(xo,e)}function J(e){vue.getCurrentScope()&&vue.onScopeDispose(e);}var ei=0;function jg(){return ei}function k(e,t=Object.is,o){let n=D(),r=yt(),l=false,a,i,s=d=>{if(l&&d===a)return i;let c=e(d);return l&&t(i,c)?(a=d,i):(l=true,a=d,i=c,c)},u=()=>{let d=n.value;return s(d?d.snapshot():editor.LOADING_SNAPSHOT)},p=vue.shallowRef(u());return vue.getCurrentScope()&&(ei++,o?.onSubscribe?.(),vue.watch([n,r,()=>o?.extraDeps!==void 0?vue.toValue(o.extraDeps):null],()=>{l=false;let d=u();t(p.value,d)||(p.value=d);},{flush:"post"}),J(()=>{ei--,o?.onUnsubscribe?.();})),p}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]:[]}function ti(...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 vu(e){let{className:t,...o}=e;return typeof t!="string"?o:{...o,class:ti(typeof o.class=="string"?o.class:"",t)}}function ry(e,t){return typeof t!="function"?e:typeof e!="function"?t:o=>{e(o),o.defaultPrevented||t(o);}}function ay(e,t){let o=vue.mergeProps(e,t);for(let n of Object.keys(e))/^on[A-Z]/.test(n)?o[n]=ry(t[n],e[n]):n==="class"?o[n]=ti(typeof e[n]=="string"?e[n]:"",typeof t[n]=="string"?t[n]:""):n==="style"&&(o[n]={...e[n],...t[n]});return o}var A=vue.defineComponent({name:"DocxSlot",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=vue.getCurrentInstance(),r=null,l=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);},a=()=>l(r);return vue.onMounted(a),vue.onUpdated(a),vue.onBeforeUnmount(()=>l(null)),()=>{let i=fe(o.default?.());if(i.length!==1)return null;let s=i[0];if(!s||typeof s!="object")return null;let u=ay(vu(t),vu(s.props??{}));return vue.cloneVNode(s,{...u,ref:p=>{r=p instanceof Element?p:p?.$el instanceof Element?p.$el:null;}},true)}}});var uy={className:String,style:Object,hidden:Boolean,asChild:Boolean};function To(e){let t=Symbol(e),o=Symbol(`${e}.parts`);function n(){let i=vue.inject(t);if(!i)throw new Error(`${e} parts must be rendered inside ${e}.`);return i}function r(i){return Object.assign(vue.defineComponent({name:`${e}${i}`,inheritAttrs:false,props:{...uy,name:{type:String,default:void 0}},setup(s,{attrs:u,slots:p}){let d=n(),c=vue.inject(o);return ()=>{if(s.hidden)return null;let m=i==="Field"?`Field:${s.name}`:i,g=c.defaults.value.get(m),y=p.default?.(),b=i==="Apply"?{type:"button",disabled:!d.isEnabled.value,onClick:d.apply}:i==="Cancel"?{type:"button",onClick:d.cancel}:{},h={...u,...g?.props,...b,class:[g?.props?.class,u.class,s.className],style:{...g?.props?.style,...s.style},"data-docx-part":i.toLowerCase(),...s.name?{"data-docx-field":s.name}:{}};return s.asChild?vue.h(A,{...h,class:[u.class,s.className],style:s.style},{default:()=>y}):g?y?vue.createVNode(g.type,h,y):vue.cloneVNode(g,h):i==="Error"&&!Object.keys(d.errors.value).length&&!y?null:vue.h(i==="Apply"||i==="Cancel"?"button":i==="Title"?"h2":"div",{...h,...i==="Error"?{role:"alert"}:{}},y??(i==="Error"?Object.values(d.errors.value).join(" "):void 0))}}}),{docxDialogPart:i})}let l={Header:r("Header"),Title:r("Title"),Body:r("Body"),Footer:r("Footer"),Apply:r("Apply"),Cancel:r("Cancel"),Error:r("Error"),Field:r("Field")};function a(i){vue.provide(t,i);let s={defaults:vue.shallowRef(new Map),overrides:new Map};return vue.provide(o,s),(u,p,d)=>{let c=new Map;s.overrides.clear();let m=[];for(let h of fe(p)){let f=h.type.docxDialogPart;f?s.overrides.set(f==="Field"?`Field:${h.props?.name}`:f,h):m.push(h);}let g=h=>h.flatMap(f=>Array.isArray(f)?g(f):[f]),y=(h,f)=>{let C=h.props?.["data-docx-part"],T=C==="field"?`Field:${h.props?.["data-docx-field"]}`:typeof C=="string"?C[0].toUpperCase()+C.slice(1):void 0,v=vue.cloneVNode(h);return Array.isArray(h.children)&&(v.children=g(h.children).map(x=>vue.isVNode(x)?y(x,f):x)),T&&(c.set(T,v),f&&s.overrides.has(T))?s.overrides.get(T):v},b=y(u,d);return s.defaults.value=c,d?[b,...m]:p}}return {parts:l,useContext:n,provideContext:a}}var Be=vue.defineComponent({name:"DocxNativeDialog",inheritAttrs:false,props:{onClose:{type:Function,required:true},label:{type:String,required:true},kind:{type:String,required:true},role:String,onKeydown:Function,dismissOutside:{type:Boolean,default:true},restoreFocus:{type:Boolean,default:true},sessionSignal:Object,content:Function},setup(e,{attrs:t,slots:o}){let n=vue.ref(),r=vue.ref(false),l=null;return vue.watch([n,()=>e.sessionSignal],([a,i],s,u)=>{if(!a)return;r.value=!a.parentElement?.closest(".docx-editor"),l=document.activeElement instanceof HTMLElement?document.activeElement:null;let p=()=>{a.open&&a.close?.();};i?.addEventListener("abort",p,{once:true}),u(()=>i?.removeEventListener("abort",p)),!a.open&&typeof a.showModal=="function"?a.showModal():a.setAttribute("open",""),(a.querySelector("input:not([disabled]),select:not([disabled]),button:not([disabled])")??a).focus({preventScroll:true});},{flush:"post"}),vue.onBeforeUnmount(()=>{n.value?.open&&n.value.close?.(),e.restoreFocus&&l?.isConnected&&l.focus({preventScroll:true});}),()=>vue.h("dialog",{...t,onKeydown:a=>{if(a.stopPropagation(),!(a.isComposing||a.defaultPrevented)){if(n.value&&editor.trapTabWithin(n.value,a)){a.preventDefault();return}a.key==="Escape"?(a.preventDefault(),e.onClose()):e.onKeydown?.(a);}},ref:n,role:e.role??"dialog","aria-modal":true,"aria-label":e.label,"data-docx-dialog":e.kind,class:["docx-dialog",r.value?"docx-editor":void 0,t.class],onCancel:a=>{a.preventDefault(),e.onClose();},onClick:a=>{if(a.stopPropagation(),e.dismissOutside&&a.target===n.value){let i=n.value.getBoundingClientRect();(a.clientX<i.left||a.clientX>i.right||a.clientY<i.top||a.clientY>i.bottom)&&e.onClose();}},onMousedown:a=>a.stopPropagation()},e.content?.()??o.default?.())}});function jr(e,t){let o=D(),n=k(()=>o.value?.mountGeneration??0),r=null;return vue.watch([e,n],([l,a])=>{if(!l){r=null;return}if(r!==null&&r!==a){t();return}o.value?.surface&&(r=a);},{immediate:true,flush:"post"}),()=>r!==null&&o.value?.surface&&r===o.value.mountGeneration?true:(t(),false)}var fn=vue.defineComponent({name:"DocxEditorExportDialog",inheritAttrs:false,props:{open:{type:Boolean,required:true},pending:{type:Boolean,required:true},className:String,style:Object,children:Object,format:{type:String,required:true},error:{type:String,required:true},onClose:{type:Function,required:true}},setup(e,{attrs:t,slots:o}){let{t:n}=_();return ()=>{if(!e.open)return null;let r=e.error?n(e.format==="pdf"?"toolbar.exportPdfFailed":"toolbar.exportMarkdownFailed"):n(e.format==="pdf"?"toolbar.exportingPdf":"toolbar.exportingMarkdown");return jsxRuntime.jsx(Be,{kind:"export",label:r,role:e.error?"alertdialog":"dialog",class:["docx-export-dialog",e.pending&&"docx-export-dialog--pending",e.className,t.class],style:e.style,dismissOutside:false,onClose:e.onClose,content:()=>o.default?.()??e.children??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("header",{class:"docx-dialog__header",children:[e.pending&&jsxRuntime.jsx("div",{class:"docx-export-dialog__progress","aria-hidden":"true",children:jsxRuntime.jsx("span",{class:"docx-export-dialog__spinner"})}),jsxRuntime.jsx("h2",{class:"docx-dialog__title",children:r})]}),jsxRuntime.jsx("div",{class:"docx-dialog__body",children:jsxRuntime.jsx("p",{class:"docx-export-dialog__message",role:e.error?"alert":"status",children:e.error||n("toolbar.exportDownloadHint")})}),jsxRuntime.jsx("footer",{class:"docx-dialog__footer",children:jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:e.onClose,children:n(e.error?"common.close":"toolbar.exportContinueEditing")})})]})})}}});var gn=vue.defineComponent({name:"DocxEditorPrintDialog",inheritAttrs:false,props:{open:{type:Boolean,required:true},pending:{type:Boolean,required:true},className:String,style:Object,children:Object,error:{type:String,required:true},url:{type:String,required:true},onClose:{type:Function,required:true}},setup(e,{attrs:t,slots:o}){let{t:n}=_();return ()=>{if(!e.open)return null;let r=n(e.error?"toolbar.printFailed":"toolbar.printPreparing"),l=e.url.startsWith("blob:")?e.url:"";return jsxRuntime.jsx(Be,{kind:"print",label:r,role:e.error?"alertdialog":"dialog",class:["docx-export-dialog","docx-print-dialog",e.pending&&"docx-export-dialog--pending",e.className,t.class],style:e.style,dismissOutside:false,onClose:e.onClose,onKeydown:a=>{editor.isChromePrintShortcut(a)&&a.preventDefault();},content:()=>o.default?.()??e.children??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("header",{class:"docx-dialog__header",children:[e.pending&&jsxRuntime.jsx("div",{class:"docx-export-dialog__progress","aria-hidden":"true",children:jsxRuntime.jsx("span",{class:"docx-export-dialog__spinner"})}),jsxRuntime.jsx("h2",{class:"docx-dialog__title",children:r})]}),e.error&&jsxRuntime.jsx("div",{class:"docx-dialog__body",children:jsxRuntime.jsx("p",{class:"docx-export-dialog__message",role:"alert",children:e.error})}),jsxRuntime.jsxs("footer",{class:"docx-dialog__footer",children:[e.error&&l&&jsxRuntime.jsx("a",{class:"docx-dialog__link-button docx-print-dialog__open",href:l,target:"_blank",rel:"noopener noreferrer",children:n("toolbar.printOpenPdf")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:e.onClose,children:n(e.error?"common.close":"common.cancel")})]})]})})}}});var li=Symbol("formControlTranslate");function Je(){let e=vue.inject(li,void 0),t=_();return (o,n)=>{let r=e?.value(o,n);return r===void 0||r===o?t.t(o,n):r}}var Ou=Symbol("docx-content-control-widget");function Bu(e){vue.provide(Ou,e);}function ht(){let e=vue.inject(Ou,null);if(!e)throw new globalThis.Error("useContentControlWidget must be used inside DocxEditorContentControlWidget.");return e}function Hu(e){return e.kind==="date"?editor.parseIsoDate(e.value)?e.value.slice(0,10):"":e.value}function Ku(e){let t=`docx-cc-list-${vue.useId()}`,o=vue.ref(Hu(e.value)),n=vue.ref(false),r=vue.ref(editor.calendarDateText(e.value.value,e.value.locale)),l=editor.createContentControlListNavigation(e.value.locale),a={keyDown:(m,g)=>l.keyDown(m,g),reset:()=>l.reset()},i=vue.ref(null),s=vue.shallowRef({year:0,month:0}),u=m=>{let y=(m.kind==="date"?editor.parseIsoDate(m.value):null)??new Date;s.value={year:y.getFullYear(),month:y.getMonth()};};u(e.value),vue.watch(e,m=>{o.value=Hu(m),n.value=false,r.value=editor.calendarDateText(m.value,m.locale),l=editor.createContentControlListNavigation(m.locale),i.value=null,u(m);});let p=k(()=>e.value.canApply(),Object.is,{extraDeps:()=>e.value}),d=m=>{let g=e.value.apply(m??o.value);return n.value=!g,g},c=vue.computed(()=>editor.calendarMonth(s.value.year,s.value.month,{locale:e.value.locale,selected:e.value.kind==="date"?e.value.value:null}));return {session:e,dateText:r,setDateText:m=>{r.value=m,n.value=false;},applyDateText:()=>{let m=editor.calendarDateFromText(r.value,e.value.locale);return m?d(m):(n.value=true,false)},showMonth:(m,g)=>{!Number.isInteger(m)||m<100||m>9999||!Number.isInteger(g)||g<0||g>11||(s.value={year:m,month:g},i.value=null);},listNavigation:a,listId:t,kind:vue.computed(()=>e.value.kind),items:vue.computed(()=>e.value.items),value:o,setValue:m=>{o.value=m;},isEnabled:p,refused:n,apply:d,cancel:()=>e.value.cancel(),accept:editor.CONTENT_CONTROL_PICTURE_ACCEPT,replaceImage:async m=>{let g=e.value;if(!g.replaceImage)return n.value=true,false;try{let y=m instanceof Uint8Array?m.byteLength:m.size;if(!g.canApply()||y>store.DEFAULT_IMAGE_RESOURCE_LIMITS.maxEncodedBytes)return n.value=!0,!1;let b=m instanceof Uint8Array?m:new Uint8Array(await m.arrayBuffer()),h=await g.replaceImage(b);return n.value=!h,h}catch{return n.value=true,false}},calendar:c,previousMonth:()=>{s.value=editor.shiftMonth(s.value.year,s.value.month,-1),i.value=null;},nextMonth:()=>{s.value=editor.shiftMonth(s.value.year,s.value.month,1),i.value=null;},selectDay:m=>d(m),selectToday:()=>d(editor.isoDateOf(new Date)),focusIso:i,focusDay:m=>{let g=editor.parseIsoDate(m);g&&(s.value={year:g.getFullYear(),month:g.getMonth()},i.value=editor.isoDateOf(g));}}}function _e(e,t,o){let n=[t,o].filter(Boolean).join(" ").trim();return n?`${e} ${n}`:e}var Po={class:{type:String,default:void 0},className:{type:String,default:void 0},style:{type:Object,default:void 0},hidden:{type:Boolean,default:void 0},asChild:{type:Boolean,default:void 0},children:{type:[Object,Array,String],default:void 0}};function So(e,t,o,n,r){if(t.hidden)return null;let l=n??t.children??r.content(),a=[t.class,t.className].filter(Boolean).join(" ")||void 0,i=Object.fromEntries(["id","title","aria-label"].filter(s=>o[s]!==void 0).map(s=>[s,o[s]]));if(t.asChild){let{class:s,style:u,...p}=r.wiring;return vue.h(A,{...o,...p,...i,class:a,style:{...u,...t.style}},()=>l)}return vue.h(e,{...o,...r.wiring,...i,class:_e(r.wiring.class,a),style:{...r.wiring.style,...t.style}},e==="input"?void 0:l??void 0)}function Me(e,t,o){return vue.defineComponent({name:e,inheritAttrs:false,props:Po,setup(n,{slots:r,attrs:l}){let a=ht(),i=Je();return ()=>So(t,n,l,r.default?.(),o(a,i))}})}var Kt=e=>e.stopPropagation(),di=Me("DocxEditorContentControlWidgetPreviousMonth","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-nav","data-docx-part":"previousMonth","aria-label":t("contentControl.calendar.previousMonth"),onMousedown:Kt,onClick:()=>e.previousMonth()},content:()=>"\u2039"})),ui=Me("DocxEditorContentControlWidgetNextMonth","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-nav","data-docx-part":"nextMonth","aria-label":t("contentControl.calendar.nextMonth"),onMousedown:Kt,onClick:()=>e.nextMonth()},content:()=>"\u203A"})),ci=Me("DocxEditorContentControlWidgetTitle","div",e=>({wiring:{class:"docx-content-control-calendar-title","data-docx-part":"title","aria-live":"polite"},content:()=>e.calendar.value.title})),pi=Me("DocxEditorContentControlWidgetHeader","div",()=>({wiring:{class:"docx-content-control-calendar-header","data-docx-part":"header"},content:()=>[vue.h(di),vue.h(xi),vue.h(ui),vue.h(ci,{className:"docx-content-control-calendar-announcement"})]})),mi=Me("DocxEditorContentControlWidgetWeekdays","div",e=>({wiring:{class:"docx-content-control-calendar-weekdays","data-docx-part":"weekdays"},content:()=>e.calendar.value.weekdays.map(t=>vue.h("span",t))})),fi=vue.defineComponent({name:"DocxEditorContentControlWidgetDay",inheritAttrs:false,props:{...Po,day:{type:Object,required:true}},setup(e,{slots:t,attrs:o}){let n=ht(),r=l=>{if(l.isComposing||l.altKey||l.ctrlKey||l.metaKey)return;let a=editor.calendarDateForKey(e.day.iso,l.key,n.session.value.locale,l.shiftKey);a&&(l.preventDefault(),n.focusDay(a));};return ()=>{let l=e.day,a=n.calendar.value.days.find(i=>i.iso===n.focusIso.value)??n.calendar.value.days.find(i=>i.selected)??n.calendar.value.days.find(i=>i.today&&!i.otherMonth)??n.calendar.value.days.find(i=>!i.otherMonth);return So("button",e,o,t.default?.(),{wiring:{type:"button",class:"docx-content-control-calendar-day","data-docx-part":"day","data-iso":l.iso,role:"gridcell",tabindex:l.iso===a?.iso?0:-1,"aria-label":l.label,...l.selected?{"data-selected":"","aria-selected":"true"}:{},"aria-current":l.today?"date":void 0,"aria-selected":l.selected,...l.today?{"data-today":""}:{},...l.otherMonth?{"data-other-month":""}:{},disabled:!n.isEnabled.value,onMousedown:Kt,onClick:()=>n.selectDay(l.iso),onKeydown:r},content:()=>String(l.day)})}}}),gi=vue.defineComponent({name:"DocxEditorContentControlWidgetGrid",inheritAttrs:false,props:Po,setup(e,{slots:t,attrs:o}){let n=ht(),r=vue.ref(null),l=()=>{let a=r.value;if(!a||a.ownerDocument.activeElement?.closest("[data-docx-part=previousMonth],[data-docx-part=nextMonth],[data-docx-part=month],[data-docx-part=year]"))return;let i=n.focusIso.value;((i?a.querySelector(`[data-iso="${i}"]`):null)??a.querySelector("[data-selected]")??a.querySelector("[data-today]:not([data-other-month])")??a.querySelector('[data-docx-part="day"]:not([data-other-month])'))?.focus({preventScroll:true});};return vue.watch([r,n.focusIso,n.calendar],l,{flush:"post"}),()=>So("div",e,o,t.default?.(),{wiring:{ref:r,class:"docx-content-control-calendar-grid","data-docx-part":"grid",role:"grid","aria-label":n.calendar.value.title},content:()=>Array.from({length:6},(a,i)=>jsxRuntime.jsx("div",{role:"row",class:"docx-content-control-calendar-week",children:n.calendar.value.days.slice(i*7,i*7+7).map(s=>vue.h(fi,{key:s.iso,day:s}))},i))})}}),yi=Me("DocxEditorContentControlWidgetToday","button",(e,t)=>({wiring:{type:"button",class:"docx-content-control-calendar-today","data-docx-part":"today",disabled:!e.isEnabled.value,onMousedown:Kt,onClick:()=>e.selectToday()},content:()=>t("contentControl.calendar.today")})),vi=Me("DocxEditorContentControlWidgetCalendar","div",()=>({wiring:{class:"docx-content-control-calendar","data-docx-part":"calendar"},content:()=>[vue.h(pi),vue.h(mi),vue.h(gi),vue.h("div",{class:"docx-content-control-calendar-entry","data-docx-part":"dateEntry"},[vue.h(yi),vue.h(Yr)]),vue.h(wo),vue.h(Jr)]})),bi=vue.defineComponent({name:"DocxEditorContentControlWidgetItem",inheritAttrs:false,props:{...Po,item:{type:Object,required:true}},setup(e,{slots:t,attrs:o}){let n=ht();return ()=>So("button",e,o,t.default?.(),{wiring:{type:"button",class:"docx-content-control-menu-item","data-docx-part":"item","data-value":e.item.value,role:"option",tabindex:n.items.value.findIndex(r=>r.value===n.value.value)<0?n.items.value[0]===e.item?0:-1:n.value.value===e.item.value?0:-1,"aria-selected":n.value.value===e.item.value?"true":"false",disabled:!n.isEnabled.value,onMousedown:Kt,onClick:()=>n.apply(e.item.value)},content:()=>e.item.displayText})}}),Zr=Me("DocxEditorContentControlWidgetList","div",(e,t)=>({wiring:{class:"docx-content-control-menu-list","data-docx-part":"list",role:"listbox",id:e.listId,"aria-label":t(`contentControl.types.${e.kind.value}`)},content:()=>e.kind.value==="buildingBlockGallery"&&e.items.value.length===0?jsxRuntime.jsx("div",{class:"docx-content-control-menu-empty","data-docx-part":"empty",role:"note",tabindex:0,children:t("contentControl.gallery.empty")}):e.items.value.map((o,n)=>vue.h(bi,{key:n,item:o}))})),Yr=Me("DocxEditorContentControlWidgetInput","input",(e,t)=>({wiring:{type:"text",class:"docx-content-control-menu-input","data-docx-part":"input","aria-label":t(`contentControl.types.${e.kind.value}`),value:e.kind.value==="date"?e.dateText.value:e.value.value,placeholder:e.kind.value==="date"?editor.calendarDateText("2006-11-22",e.session.value.locale):void 0,"aria-invalid":e.refused.value||void 0,role:e.kind.value==="comboBox"?"combobox":void 0,"aria-expanded":e.kind.value==="comboBox"?true:void 0,"aria-controls":e.kind.value==="comboBox"?e.listId:void 0,"aria-autocomplete":e.kind.value==="comboBox"?"list":void 0,onKeydown:o=>{o.key!=="Enter"||o.isComposing||(o.preventDefault(),o.stopPropagation(),e.kind.value==="date"?e.applyDateText():e.apply());},onMousedown:Kt,onInput:o=>(e.kind.value==="date"?e.setDateText:e.setValue)(o.target.value)},content:()=>null})),wo=vue.defineComponent({name:"DocxEditorContentControlWidgetError",inheritAttrs:false,props:Po,setup(e,{slots:t,attrs:o}){let n=ht(),r=Je();return ()=>n.refused.value?So("div",e,o,t.default?.(),{wiring:{class:"docx-content-control-widget-error","data-docx-part":"error",role:"alert"},content:()=>r("disabledReason.invalidValue")}):null}}),hi=Me("DocxEditorContentControlWidgetApply","button",(e,t)=>({wiring:{type:"button",class:"docx-dialog__button docx-dialog__button--primary","data-docx-part":"apply",disabled:!e.isEnabled.value,onClick:()=>e.kind.value==="date"?e.applyDateText():e.apply()},content:()=>t("common.apply")})),Xr=Me("DocxEditorContentControlWidgetCancel","button",(e,t)=>({wiring:{type:"button",class:"docx-dialog__button","data-docx-part":"cancel",onClick:()=>e.cancel()},content:()=>t("common.cancel")})),Jr=Me("DocxEditorContentControlWidgetFooter","div",()=>({wiring:{class:"docx-dialog__footer","data-docx-part":"footer"},content:()=>[vue.h(Xr),vue.h(hi)]})),xi=Me("DocxEditorContentControlWidgetNavigation","div",()=>({wiring:{class:"docx-content-control-calendar-navigation","data-docx-part":"navigation"},content:()=>[vue.h(Ci),vue.h(Ti)]})),Ci=Me("DocxEditorContentControlWidgetMonth","select",(e,t)=>({wiring:{class:"docx-content-control-calendar-month","data-docx-part":"month","aria-label":t("contentControl.calendar.month"),value:e.calendar.value.month,onChange:o=>e.showMonth(e.calendar.value.year,Number(o.target.value))},content:()=>editor.calendarMonthNames(e.session.value.locale).map((o,n)=>vue.h("option",{value:n},o))})),Ti=Me("DocxEditorContentControlWidgetYear","input",(e,t)=>({wiring:{type:"number",min:100,max:9999,class:"docx-content-control-calendar-year","data-docx-part":"year","aria-label":t("contentControl.calendar.year"),key:e.calendar.value.year,onKeydown:o=>{o.key==="Enter"&&!o.isComposing&&(o.preventDefault(),o.currentTarget.blur());},value:e.calendar.value.year,onChange:o=>{let n=o.target,r=Number(n.value);if(!Number.isInteger(r)||r<100||r>9999){n.value=String(e.calendar.value.year);return}e.showMonth(r,e.calendar.value.month);}},content:()=>null})),Ei=vue.defineComponent({name:"DocxEditorContentControlWidgetPicture",inheritAttrs:false,props:{...Po,autoOpen:{type:Boolean,default:void 0}},setup(e,{slots:t,attrs:o}){let n=ht(),r=Je(),l=vue.ref(null);return vue.onMounted(()=>{e.autoOpen!==false&&l.value?.click();}),()=>So("input",e,o,t.default?.(),{wiring:{ref:l,type:"file",accept:n.accept,class:"docx-content-control-picture-input","data-docx-part":"picture","aria-label":r("contentControl.types.picture"),"aria-invalid":n.refused.value||void 0,onMousedown:Kt,onCancel:()=>n.cancel(),onChange:a=>{let i=a.target.files?.[0];a.target.value="",i&&n.replaceImage(i);}},content:()=>null})}});function Hy(e){let t=e.kind.value;return t==="date"?jsxRuntime.jsx(vi,{}):t==="picture"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Ei,{}),jsxRuntime.jsx(wo,{}),jsxRuntime.jsx(Xr,{})]}):t==="comboBox"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Yr,{}),jsxRuntime.jsx(Zr,{}),jsxRuntime.jsx(wo,{}),jsxRuntime.jsx(Jr,{})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Zr,{}),jsxRuntime.jsx(wo,{})]})}var Oy=vue.defineComponent({name:"DocxEditorContentControlWidget",props:{session:{type:Object,required:true},className:String,style:Object,children:[Object,Array,String]},setup(e,{slots:t}){let o=Je(),n=vue.toRef(e,"session"),r=Ku(n);Bu(r);let l=vue.ref(e.session.signal.aborted),a=vue.ref(null),i=vue.computed(()=>e.session.kind==="checkbox"&&!t.default&&e.children===void 0),s=editor.contentControlPopupOpener(e.session.anchor),u=null,p=()=>{let d=s,c=u;if(s=null,u=null,!d?.isConnected||!c)return;let m=c.ownerDocument.activeElement;(m===c.ownerDocument.body||m&&c.contains(m))&&d.focus({preventScroll:true});};return vue.onBeforeUnmount(p),vue.watch(n,(d,c,m)=>{l.value=d.signal.aborted;let g=()=>{l.value=true;};d.signal.addEventListener("abort",g,{once:true}),m(()=>d.signal.removeEventListener("abort",g)),i.value&&!d.signal.aborted&&d.apply(d.value==="true"?"false":"true");},{immediate:true}),vue.watch([a,n],([d,c],m,g)=>{if(!d){p();return}u&&(p(),s=editor.contentControlPopupOpener(c.anchor)),u=d,c.anchor&&g(editor.observeContentControlPopup(d,c.anchor)),d.querySelector('[data-docx-part="grid"]')||(d.querySelector("input")??d.querySelector('[role=option][tabindex="0"]')??d.querySelector("select,button,[data-docx-part=empty]"))?.focus({preventScroll:true});},{flush:"post"}),vue.watch([a,l],([d,c],m,g)=>{if(!d||c)return;let y=b=>{d.contains(b.target)||e.session.cancel();};d.ownerDocument.addEventListener("pointerdown",y,true),g(()=>d.ownerDocument.removeEventListener("pointerdown",y,true));},{flush:"post"}),()=>{if(l.value||i.value)return null;let d=e.session,c=o(`contentControl.types.${d.kind}`);return jsxRuntime.jsx("div",{ref:a,role:"dialog","aria-label":c,class:["docx-content-control-widget-popup",e.className],style:e.style,"data-docx-popup":"contentControlWidget","data-docx-part":"popup","data-kind":d.kind,onPointerdown:m=>m.stopPropagation(),onKeydown:m=>{editor.contentControlPopupKeyDown(m.currentTarget,m,d.cancel),r.listNavigation.keyDown(m,m.currentTarget);},children:t.default?.()??e.children??Hy(r)})}}}),Mi=Object.assign(Oy,{Navigation:xi,Month:Ci,Year:Ti,Calendar:vi,Header:pi,PreviousMonth:di,Title:ci,NextMonth:ui,Weekdays:mi,Grid:gi,Day:fi,Today:yi,List:Zr,Item:bi,Input:Yr,Picture:Ei,Error:wo,Footer:Jr,Apply:hi,Cancel:Xr});var Ri=vue.defineComponent({name:"DocxEditorInvalidTextFormFieldDialog",props:{session:{type:Object,required:true},className:String,style:Object,children:Object},setup(e,{slots:t}){let o=Je(),n=vue.ref(false);return vue.watch(()=>e.session,(r,l,a)=>{n.value=r.signal.aborted;let i=()=>{n.value=true;};r.signal.addEventListener("abort",i,{once:true}),a(()=>r.signal.removeEventListener("abort",i));},{immediate:true}),()=>n.value?null:jsxRuntime.jsx(Be,{kind:"invalidTextFormField",label:o("textFormField.invalidTitle"),role:"alertdialog",class:e.className,style:e.style,onClose:()=>e.session.acknowledge(),sessionSignal:e.session.signal,restoreFocus:false,dismissOutside:false,onKeydown:r=>{r.key==="Enter"&&!r.isComposing&&(r.preventDefault(),e.session.acknowledge());},content:()=>t.default?.()??e.children??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("header",{class:"docx-dialog__header",children:jsxRuntime.jsx("h2",{class:"docx-dialog__title",children:o("textFormField.invalidTitle")})}),jsxRuntime.jsx("div",{class:"docx-dialog__body",children:o(e.session.type==="number"?"textFormField.invalidNumber":"textFormField.invalidDate")}),jsxRuntime.jsx("footer",{class:"docx-dialog__footer",children:jsxRuntime.jsx("button",{class:"docx-dialog__button docx-dialog__button--primary",type:"button",onClick:()=>e.session.acknowledge(),children:o("textFormField.apply")})})]})})}});function Uy(e){return t=>vue.h(e,t)}var Uu=new WeakMap,zy=0;function de(e,t,o){if(e===false)return null;let n;o&&(n=Uu.get(o),n===void 0&&(n=++zy,Uu.set(o,n)));let r=e(t);return o?vue.h(vue.Fragment,{key:n},[r]):r}function yn(e){return {get current(){return e.value}}}var ju=new WeakMap;function re(e){let t=vue.getCurrentInstance();if(!t)throw new Error("useStableDocxId must run during component setup");let o=t.appContext,n=ju.get(o)??0;return ju.set(o,n+1),`docx-${n}-${e}`}function ue(e){return e/1440*96}function Qr(e){return e/96*1440}function V(e){return `${Math.round(e*100)/100}px`}function Ro(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 vn(e){return e.paragraphId===""}var Vt=Object.freeze({mode:"closed",link:null,anchor:null,text:"",url:"",copied:false,error:false,canEdit:true}),Xy=e=>e;function Jy(){let e=o=>!!o&&(o.width>0||o.height>0);if(typeof document<"u"){let n=document.querySelector("[data-docx-caret]")?.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom}}let t=typeof window>"u"?null:window.getSelection();if(t&&t.rangeCount>0){let o=t.getRangeAt(0),n=o.getBoundingClientRect();if(e(n))return {left:n.left,top:n.bottom};let r=o.startContainer,a=(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.getBoundingClientRect();if(e(a))return {left:a.left,top:a.bottom}}return null}var Di=Symbol("HyperlinkPopupContext");function ke(){let e=vue.inject(Di,null),t=ea(e===null);return e??t}function ea(e=true){let t=D(),o=vue.ref(Vt),n=vue.shallowRef(null),r=k(Xy),l=vue.computed(()=>t.value?t.value.can({type:"insertText",text:""}).ok:false),a=()=>{let f=n.value;f&&(f.editor.releaseSelection(f.pin),n.value=null);};J(a);let i=(f,C)=>{a();let T=t.value;o.value={mode:f?"reading":"editing",link:f??null,anchor:C??null,text:f?.text??"",url:f?f.kind==="internal"?`#${f.anchor??""}`:f.authored:"",copied:false,error:false,canEdit:T?t.value.can({type:"insertText",text:""}).ok:false};},s=()=>{a(),o.value=Vt;},u=()=>{let f=t.value,C=Jy();a();let T=f?.surface?.hyperlinks.linkAtCaret()??f?.surface?.hyperlinks.fieldLinkAtCaret()??null;if(T&&vn(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:f?t.value.can({type:"insertText",text:""}).ok:false};return}let v=f?.query({type:"selectedText"})??"",x=f?.retainSelection()??null;f&&x&&(n.value={editor:f,pin:x}),o.value={mode:"editing",link:null,anchor:C,text:v,url:"",copied:false,error:false,canEdit:f?t.value.can({type:"insertText",text:""}).ok:false};};J(vue.watch(()=>[t.value,e],([f,C],T,v)=>{if(!f||!C)return;let x=f.setHyperlinkChrome({onPopover:S=>i(S.link,{left:S.rect.left,top:S.rect.bottom}),onRequest:u});v(x);},{immediate:true,flush:"post"})),vue.watch([r,t],()=>{let f=o.value,C=t.value;if(f.mode==="reading"&&f.link){let T=vn(f.link)?C?.surface?.hyperlinks.fieldLinkAtCaret()??null:C?.surface?.hyperlinks.linkAtCaret()??null;if(T&&T.id===f.link.id)return;o.value=Vt;return}if(f.mode==="editing"&&!f.link){let T=C?.surface;if(!T||T.retainedSelection())return;o.value=Vt;}});let p=async()=>{let f=o.value.link?.href;if(!f)return false;try{await navigator.clipboard.writeText(f);}catch{return false}return o.value={...o.value,copied:true},true},d=()=>{o.value={...o.value,mode:"editing",copied:false,error:false};},c=f=>{o.value={...o.value,text:f,copied:false,error:false};},m=f=>{o.value={...o.value,url:f,copied:false,error:false};},g=()=>{let f=t.value,C=o.value,T=f?.surface?.hyperlinks;if(!T)return false;let v=C.url.trim();if(v.length===0)return o.value={...C,error:true},false;let x=v.startsWith("#");return T.applyHyperlink({...x?{anchor:v.slice(1)}:{url:v},...C.text.trim().length>0?{text:C.text}:{}})?(s(),true):(o.value={...C,error:true},false)},y=()=>{let f=t.value?.surface?.hyperlinks,C=o.value.link;if(!f)return false;let T=f.removeHyperlink(C?.id);return T&&s(),T},b=()=>{let f=t.value?.surface?.navigation,C=o.value.link;if(!f||!C)return false;if(C.kind==="internal"){let v=C.anchor?f.goToBookmark(C.anchor):false;return v&&(o.value=Vt),v}let T=f.openExternal(C.href);return T&&(o.value=Vt),T};return {state:vue.computed(()=>o.value.mode==="closed"?Vt:{...o.value,canEdit:l.value}),open:i,openAtCaret:u,close:s,copy:p,beginEdit:d,setText:c,setUrl:m,commitEdit:g,unlink:y,openTarget:b}}function qt(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var ta=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"})}),ov="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",nv="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",rv="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",av="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 lv(e){let t={},o=[],n=r=>{for(let l of r){if(!vue.isVNode(l))continue;if(l.type===vue.Fragment){n(fe(l.children));continue}let a=l.type.docxHyperLinkPart;a?t[a]=l:o.push(l);}};return n(e),o.length>0&&(t.__extra=o),t}var Ni=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=ke(),{t:n}=_();return ()=>{let r=o.state.value;if(e.hidden||!r.link)return null;let l=!r.link.href,a=r.link.kind==="internal",i=a?`#${r.link.anchor??""}`:r.link.authored,s=n(l?"hyperlinkPopup.inertTarget":a?"hyperlinkPopup.bookmarkTarget":"hyperlinkPopup.openLink"),u={class:`docx-hyperlink-popup__url${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-url",...l?{"data-inert":""}:{},title:s,onMousedown:qt,...l?{}:{onClick:()=>o.openTarget(),type:"button"}},p=t.default?.()??i;return e.asChild?jsxRuntime.jsx(A,{...u,class:e.className,children:p}):l?jsxRuntime.jsxs("span",{...u,children:[p,jsxRuntime.jsx("span",{class:"docx-editor-sr-only",children:s})]}):jsxRuntime.jsxs("button",{...u,children:[p,ta(av)]})}}});Ni.docxHyperLinkPart="Url";var Fi=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=ke(),{t:n}=_();return ()=>{let r=o.state.value;if(e.hidden||!r.link?.href)return null;let l=r.copied?n("editor.linkCopied"):n("hyperlinkPopup.copyLink"),a={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-copy",...r.copied?{"data-copied":""}:{},"aria-label":l,title:l,onMousedown:qt,onClick:()=>{o.copy();}},i=e.icon??t.default?.()??ta(ov);return e.asChild?jsxRuntime.jsx(A,{...a,class:e.className,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}});Fi.docxHyperLinkPart="Copy";var Li=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=ke(),{t:n}=_();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.editLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-edit","aria-label":r,title:r,onMousedown:qt,onClick:()=>o.beginEdit()},a=e.icon??t.default?.()??ta(nv);return e.asChild?jsxRuntime.jsx(A,{...l,class:e.className,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});Li.docxHyperLinkPart="Edit";var Ai=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=ke(),{t:n}=_();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.removeLink"),l={type:"button",class:`docx-hyperlink-popup__action${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-unlink","aria-label":r,title:r,onMousedown:qt,onClick:()=>o.unlink()},a=e.icon??t.default?.()??ta(rv);return e.asChild?jsxRuntime.jsx(A,{...l,class:e.className,children:a}):jsxRuntime.jsx("button",{...l,children:a})}}});Ai.docxHyperLinkPart="Unlink";var Hi=vue.defineComponent({name:"HyperLinkFields",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=ke(),{t:o}=_(),n=vue.ref(null),r=re("hyperlink-text"),l=re("hyperlink-url"),a=()=>{n.value?.focus({preventScroll:true}),n.value?.select();};vue.onMounted(a),vue.watch(()=>t.state.value.mode,s=>{s==="editing"&&a();},{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:l,children:o("hyperlinkPopup.urlPlaceholder")}),jsxRuntime.jsx("input",{id:l,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})]})}}});Hi.docxHyperLinkPart="Fields";var Oi=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=ke(),{t:n}=_();return ()=>{if(e.hidden)return null;let r=o.state.value,l=n("hyperlinkPopup.apply"),a={type:"button",class:`docx-hyperlink-popup__apply${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-apply",disabled:r.url.trim().length===0,onMousedown:qt,onClick:()=>o.commitEdit()};return e.asChild?jsxRuntime.jsx(A,{...a,class:e.className,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??l})}}});Oi.docxHyperLinkPart="Apply";var Bi=vue.defineComponent({name:"HyperLinkError",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=ke(),{t:o}=_();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")})}}});Bi.docxHyperLinkPart="Error";var Ki=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=ke(),{t:n}=_();return ()=>{if(e.hidden)return null;let r=n("hyperlinkPopup.cancel"),l={type:"button",class:`docx-hyperlink-popup__cancel${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup-cancel",onMousedown:qt,onClick:()=>o.close()};return e.asChild?jsxRuntime.jsx(A,{...l,class:e.className,children:t.default?.()}):jsxRuntime.jsx("button",{...l,children:t.default?.()??r})}}});Ki.docxHyperLinkPart="Cancel";var iv=vue.defineComponent({name:"HyperLinkPreset",setup(e,{slots:t}){let o=ke();return ()=>{let n=o.state.value,r=lv(fe(t.default?.()??[])),l=(i,s)=>i in r?r[i]:s;if(n.mode==="editing")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Fields",jsxRuntime.jsx(Hi,{})),l("Error",jsxRuntime.jsx(Bi,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Apply",jsxRuntime.jsx(Oi,{})),l("Cancel",jsxRuntime.jsx(Ki,{}))]}),r.__extra]});let a=n.canEdit&&!(n.link&&vn(n.link));return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l("Url",jsxRuntime.jsx(Ni,{})),jsxRuntime.jsxs("div",{class:"docx-hyperlink-popup__actions",children:[l("Copy",jsxRuntime.jsx(Fi,{})),a?l("Edit",jsxRuntime.jsx(Li,{})):null,a?l("Unlink",jsxRuntime.jsx(Ai,{})):null]}),r.__extra]})}}}),sv=vue.defineComponent({name:"DocxEditorHyperLink",props:{children:Object,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=ke(),n=vue.ref(null),r=vue.ref(null),{t:l}=_();return vue.watch(()=>o.state.value.mode,(a,i,s)=>{if(a==="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 a=o.state.value.anchor,i=n.value;if(!a||!i){r.value=null;return}let s=i.offsetParent;if(!s){r.value=null;return}let{left:u,top:p}=Ro(s,a.left,a.top),d=Math.max(0,s.scrollWidth-i.offsetWidth);r.value={left:V(Math.max(0,Math.min(u,d))),top:V(p)};},{flush:"post"}),()=>{let a=o.state.value,i=a.mode==="editing"?l(a.link?"hyperlinkPopup.editTitle":"hyperlinkPopup.insertTitle"):l("hyperlinkPopup.editLink");if(e.hidden)return a.mode==="closed"?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.default?.()});if(a.mode==="closed")return null;let s=e.preset?jsxRuntime.jsx(iv,{children:t.default?.()}):t.default?.(),u={ref:n,class:`docx-hyperlink-popup${e.className?` ${e.className}`:""}`,"data-testid":"hyperlink-popup","data-mode":a.mode,role:"dialog","aria-modal":false,onMousedown:qt,style:r.value??void 0,"aria-label":i};return e.asChild?jsxRuntime.jsx(A,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),bn=Object.assign(sv,{Url:Ni,Copy:Fi,Edit:Li,Unlink:Ai,Fields:Hi,Error:Bi,Apply:Oi,Cancel:Ki});var Ie={showAll:"contentControl.showAll",formFill:"contentControl.formFill",inspector:"contentControl.inspector",remove:"contentControl.remove"};function cv(e){return e==="sdtLocked"||e==="sdtContentLocked"}function pv(e){return e==="contentLocked"||e==="sdtContentLocked"}function Wi(e,t){return !e.ok&&e.code===t}function et(){let e=vue.inject(qi,null),t=oa();return e??t}function oa(){let e=D(),t=vue.ref(false),o=vue.ref(false),n=vue.ref(false),r=k(y=>y),l=vue.computed(()=>e.value?.surface??null),a=vue.computed(()=>l.value?.contentControls??null);vue.watch([r,a,l],()=>{let y=a.value,b=l.value;o.value=y?.showAll()??b?.state().contentControls.showAll??false,n.value=y?.formFill()??b?.state().contentControls.formFill??false;},{immediate:true,flush:"post"});let i=vue.computed(()=>{r.value;let y=a.value;if(!e.value)return null;let b=y?.atCaret()??null;if(b){let x=y?.disabledReason(b.id,"edit")??null,S=y?.disabledReason(b.id,"remove")??null;return {id:b.id,tag:b.tag??null,alias:b.alias??null,controlType:b.controlType,locked:pv(b.effectiveLock)||x==="locked",removalLocked:cv(b.effectiveLock)||S==="locked",placeholder:b.placeholder,bound:b.bound||x==="bound",effectiveLock:b.effectiveLock}}let h=e.value?.query({type:"contentControlAt"});if(!h||!e.value)return null;let f=y?.disabledReason(h.id,"edit")??null,C=y?.disabledReason(h.id,"remove")??null,T=e.value.can({type:"setContentControlValue",value:""}),v=e.value.can({type:"removeContentControl"});return {id:h.id,tag:h.tag??null,alias:h.alias??null,controlType:h.controlType,locked:h.locked===true||f==="locked"||Wi(T,"locked"),removalLocked:C==="locked"||Wi(v,"locked"),placeholder:false,bound:f==="bound"||Wi(T,"bound"),effectiveLock:null}}),s=vue.computed(()=>(r.value,e.value?.query({type:"contentControls"})??[])),u=y=>{a.value?.setShowAll(y),o.value=y;},p=y=>{a.value?.setFormFill(y),n.value=y;},d=vue.computed(()=>{let y=i.value,b=a.value;if(!y)return "no content control at the current selection";if(b){let f=b.disabledReason(y.id,"edit");return f==="locked"?"the content control is locked":f==="bound"?"the content control is bound to external data":f==="notFound"?"the content control was not found":f}if(y.locked)return "the content control is locked";if(y.bound)return "the content control is bound to external data";if(!e.value)return "no document is loaded";let h=e.value.can({type:"setContentControlValue",value:""});return h.ok?null:h.reason}),c=vue.computed(()=>{let y=i.value,b=a.value;if(!y)return "no content control at the current selection";if(b){let f=b.disabledReason(y.id,"remove");return f==="locked"?"the content control is locked":f==="notFound"?"the content control was not found":f}if(y.removalLocked)return "the content control is locked";if(!e.value)return "no document is loaded";let h=e.value.can({type:"removeContentControl"});return h.ok?null:h.reason}),m=y=>{let b=a.value,h=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(b&&h){let f=b.disabledReason(h.id,"edit");if(f)return {ok:false,code:f==="bound"?"bound":f==="locked"?"locked":"notFound",reason:f==="bound"?"the content control is bound to external data":f==="locked"?"the content control is locked":"the content control was not found"}}return e.value.exec({type:"setContentControlValue",value:y})},g=()=>{let y=a.value,b=i.value;if(!e.value)return {ok:false,code:"notFound",reason:"no document is loaded"};if(y){let h=b?.id;if(!h)return {ok:false,code:"notFound",reason:"no content control at the current selection"};let f=y.disabledReason(h,"remove");return f?{ok:false,code:f==="locked"?"locked":"notFound",reason:f==="locked"?"the content control is locked":"the content control was not found"}:y.remove(h)?{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:g,setValue:m}}var qi=Symbol("ContentControlContext");function $i(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var Xu=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"})}),fv="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",gv="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",yv={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"},vv={display:"flex",justifyContent:"space-between",gap:"12px",alignItems:"baseline"},bv={color:"var(--doc-text-muted)",flexShrink:0},hv={textAlign:"right",wordBreak:"break-word"},xv={display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontWeight:600},Cv={display:"flex",gap:"8px",marginTop:"4px"},Ju={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 Tv(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 "buildingBlockGallery":return "contentControl.types.buildingBlockGallery";case "repeatingSection":return "contentControl.types.repeatingSection";default:return "contentControl.types.richText"}}function Ev(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 Do=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:vv,"data-testid":e.testId,children:[jsxRuntime.jsx("span",{style:bv,children:e.label}),jsxRuntime.jsx("span",{style:hv,children:e.value})]})}}),Qu=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}=et(),{t:n}=_();return ()=>{if(e.hidden)return null;let r={style:xv,class:e.className??void 0,"data-testid":"content-control-inspector-header"},l=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{children:t.default?.()??n("contentControl.inspectorPanel.title")}),jsxRuntime.jsx("button",{type:"button","data-testid":"content-control-inspector-close","aria-label":n("common.close"),title:n("common.close"),style:{...Ju,padding:"4px",border:"none",background:"transparent"},onMousedown:$i,onClick:()=>o(),children:Xu(fv)})]});return e.asChild?jsxRuntime.jsx(A,{...r,children:l}):jsxRuntime.jsx("div",{...r,children:l})}}}),ec=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}=et(),{t:n}=_();return ()=>{let r=o.value;if(e.hidden||!r)return null;let l=n("contentControl.inspectorPanel.empty"),a=n("contentControl.inspectorPanel.yes"),i=n("contentControl.inspectorPanel.no"),s=t.default?.()??[jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.alias"),value:r.alias??l,testId:"content-control-inspector-alias"}),jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.tag"),value:r.tag??l,testId:"content-control-inspector-tag"}),jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.type"),value:n(Tv(r.controlType)),testId:"content-control-inspector-type"}),jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.lock"),value:n(Ev(r)),testId:"content-control-inspector-lock"}),jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.placeholder"),value:r.placeholder?a:i,testId:"content-control-inspector-placeholder"}),jsxRuntime.jsx(Do,{label:n("contentControl.inspectorPanel.bound"),value:r.bound?a:i,testId:"content-control-inspector-bound"}),r.bound?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-bound-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},children:n("contentControl.inspectorPanel.boundNote")}):null,r.locked?jsxRuntime.jsx("p",{"data-testid":"content-control-inspector-locked-note",style:{margin:0,color:"var(--doc-text-muted)",fontSize:"12px"},"aria-live":"polite",children:n("contentControl.inspectorPanel.lockedNote")}):null],u={class:e.className??void 0,"data-testid":"content-control-inspector-fields",style:{display:"flex",flexDirection:"column",gap:"8px"}};return e.asChild?jsxRuntime.jsx(A,{...u,children:s}):jsxRuntime.jsx("div",{...u,children:s})}}}),tc=vue.defineComponent({name:"ContentControlRemove",props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:null,default:void 0}},setup(e,{slots:t}){let{canRemove:o,removeDisabledReason:n,remove:r,closeInspector:l}=et(),{t:a}=_();return ()=>{if(e.hidden)return null;let i=a("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:Ju,onMousedown:$i,onClick:()=>{r().ok&&l();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.icon??t.default?.()??Xu(gv),jsxRuntime.jsx("span",{children:i})]});return e.asChild?jsxRuntime.jsx(A,{...s,children:u}):jsxRuntime.jsx("button",{...s,children:u})}}}),Pv=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=et(),n=vue.ref(null),r=re("content-control-title"),{t:l}=_();return vue.watch(()=>o.inspectorOpen.value,(a,i,s)=>{if(!a)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],([a,i])=>{a&&!i&&o.closeInspector();}),()=>{let a=o.control.value;if(e.hidden||!o.inspectorOpen.value||!a)return null;let i=e.preset?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Qu,{}),jsxRuntime.jsx(ec,{}),jsxRuntime.jsx("div",{style:Cv,children:jsxRuntime.jsx(tc,{})}),t.default?.()]}):t.default?.(),s={ref:n,role:"dialog","aria-modal":false,"aria-labelledby":r,"data-testid":"content-control-inspector","data-control-id":a.id,"data-control-type":a.controlType,...a.locked?{"data-locked":""}:{},...a.bound?{"data-bound":""}:{},...a.placeholder?{"data-placeholder":""}:{},class:`docx-content-control-inspector${e.className?` ${e.className}`:""}`,style:yv,onMousedown:p=>{$i(p),p.stopPropagation();}},u=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{id:r,class:"docx-editor-sr-only",children:l("contentControl.inspectorPanel.title")}),i]});return e.asChild?jsxRuntime.jsx(A,{...s,children:u}):jsxRuntime.jsx("div",{...s,children:u})}}}),Cn=Object.assign(Pv,{Header:Qu,Fields:ec,Remove:tc});function Ui(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}var En=vue.defineComponent({name:"DocxEditorEquation",setup(){let e=D(),{t}=_(),o=vue.ref(null),n=vue.ref(null),r=re("equation-input"),l=re("equation-error"),a=re("equation-disabled-reason"),i=null,s=null,u=null,p=k(y=>y),d=vue.computed(()=>{p.value;let y=e.value,b=o.value?.activation;if(!y?.surface||!b)return {replaceEnabled:false,removeEnabled:false,reason:null};let h=y.surface.equations.can(b.equation.id,"replace"),f=y.surface.equations.can(b.equation.id,"remove"),C=h.ok?f.ok?null:f.reason:h.reason;return {replaceEnabled:h.ok,removeEnabled:f.ok,reason:C?i18n.localizeDisabledReason(C,t):null}}),c=(y=false)=>{let b=e.value;u?.(),u=null,o.value=null,y&&b&&queueMicrotask(()=>b.focus());};vue.watch(e,(y,b,h)=>{if(!y)return;let f=y.setEquationChrome({onPopover:C=>{u?.();let T=y.surface;if(T&&typeof T.retainSelection=="function"){let v=T.retainSelection();u=()=>T.releaseSelection(v);}else u=null;o.value={activation:C,mountGeneration:y.mountGeneration,draft:C.equation.linear,error:false};}});h(()=>{f(),c();});},{immediate:true,flush:"post"}),vue.watch([e,p,()=>o.value?.activation.equation.id],()=>{let y=o.value,b=e.value;if(!y||!b?.surface)return;(b.mountGeneration!==y.mountGeneration||!b.surface.equations.equationById(y.activation.equation.id))&&c();},{flush:"post"}),vue.watch(o,(y,b,h)=>{if(!y)return;let f=false,C=null,T=null,v=null;queueMicrotask(()=>{if(f)return;let x=i;C=x?.ownerDocument??null;let S=C?.defaultView;!x||!C||!S||(T=E=>{E.key==="Escape"&&(E.preventDefault(),c(true));},v=E=>{E.target instanceof S.Node&&x.contains(E.target)||c();},C.addEventListener("keydown",T),C.addEventListener("pointerdown",v,true));}),h(()=>{f=true,C&&T&&C.removeEventListener("keydown",T),C&&v&&C.removeEventListener("pointerdown",v,true);});},{flush:"post"}),vue.watch(()=>o.value?.activation,y=>{if(!y){n.value=null;return}let b=i;if(!b)return;let h=b.offsetParent;if(h){let f=Ro(h,y.rect.left,y.rect.bottom),C=Math.max(0,h.scrollWidth-b.offsetWidth);n.value={left:V(Math.max(0,Math.min(f.left,C))),top:V(f.top)};}else n.value=null;s?.focus({preventScroll:true}),s?.select();},{flush:"post"});let m=y=>{let b=o.value,h=e.value?.surface?.equations;if(!b||!h||!d.value.replaceEnabled)return false;let f=h.applyEquation(b.activation.equation.id,y??b.draft);return f?c(true):o.value={...b,error:true},f},g=()=>{let y=o.value,b=e.value?.surface?.equations;if(!y||!b||!d.value.removeEnabled)return false;let h=b.removeEquation(y.activation.equation.id);return h?c(true):o.value={...y,error:true},h};return ()=>{let y=o.value;if(!y)return null;let b=vue.h("input",{id:r,onVnodeMounted:h=>{s=h.el;},onVnodeUnmounted:()=>{s=null;},class:"docx-equation-popup__input","data-testid":"equation-popup-input",value:y.draft,placeholder:t("equationPopup.placeholder"),spellcheck:false,"aria-describedby":[y.error?l:null,d.value.reason?a:null].filter(Boolean).join(" ")||void 0,onInput:h=>{let f=o.value;f&&(o.value={...f,draft:h.target.value,error:false});},onKeydown:h=>{h.key!=="Enter"||h.isComposing||(h.preventDefault(),m(h.currentTarget.value));}});return vue.h("div",{onVnodeMounted:h=>{i=h.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:Ui},[jsxRuntime.jsx("label",{class:"docx-editor-sr-only",for:r,children:t("equationPopup.inputLabel")}),b,y.error?jsxRuntime.jsx("div",{id:l,class:"docx-equation-popup__error","data-testid":"equation-popup-error",role:"alert",children:t("equationPopup.refused")}):null,d.value.reason?jsxRuntime.jsx("div",{id:a,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:Ui,onClick:()=>m(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:Ui,onClick:g,children:t("equationPopup.delete")})]})])}}});function _v(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 aa(e,t){if(!vue.isVNode(e)||e.type!==vue.Fragment)return null;let n=_v(e).map(t).filter(r=>r!==null);return n.length===1?n[0]:null}function la(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 ia({entries:e,children:t,preset:o,keyOfEntry:n,keyOfChild:r,renderEntry:l,childrenOfEntry:a}){if(!o)return t;let i=new Map,s=[];for(let m of t){if(!vue.isVNode(m))continue;let g=r(m);g?i.set(g,m):s.push(m);}let u=new Set,p=m=>m.map((g,y)=>{let b=n(g,y);u.add(b);let h=a?.(g),f=h?p(h):void 0;return i.get(b)??l(g,y,f)}),d=p(e),c=[...i.entries()].filter(([m])=>!u.has(m)).map(([,m])=>m);return [...d,...c,...s]}var Sn=Symbol("MenuContext"),Fv={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 Re(){let e=vue.inject(Sn,Fv);return vue.computed(()=>vue.unref(e))}function ce(){let e=Re(),{t}=_();return o=>e.value.t?.(o)??t(o)}var Lv='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]';function xt(e){return [...e.querySelectorAll(Lv)].filter(t=>t.closest('[role="menu"]')===e)}function zi(e){return [...e.querySelectorAll(".docx-menubar__trigger")]}function Ke(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 Ve(e,t){let o=t==="first"?e[0]:e[e.length-1];return o?(o.focus(),true):false}function ji(e){let t=e?.ownerDocument.activeElement;((t&&e?.contains(t)?t.closest("[data-menu]"):null)?.querySelector(':scope > [role="menuitem"]')??e?.querySelector('.docx-menubar__trigger[aria-expanded="true"]'))?.focus({preventScroll:true});}var Av="https://github.com/eigenpal/docx-editor/issues/new";function Hv(){if(typeof window>"u")return "";try{let e=new URL(window.location.href);return `${e.origin}${e.pathname}`}catch{return ""}}function Ov(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??Hv()}`,`- Viewport: ${o.width} x ${o.height}`,`- User agent: ${t}`,""].join(`
2
+ `),l=new URLSearchParams({title:"[Bug] ",body:r});return `${Av}?${l.toString()}`}function rc(e){typeof window>"u"||window.open(Ov(e),"_blank","noopener,noreferrer");}function Uv(e,t){return e.active===t.active&&e.enabled===t.enabled&&e.disabledReason===t.disabledReason&&e.value===t.value}function Gi(e){return typeof e=="string"}function j(e){let t=e,o=D(),{t:n}=_(),r=vue.shallowRef(vue.toValue(t));vue.watch(()=>vue.toValue(t),u=>{r.value=u;},{flush:"sync"});let l=vue.computed(()=>{let u=r.value;return Gi(u)?u:editor.editorCommandKey(u)}),i=k(u=>{let p=r.value;if(Gi(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}},Uv,{extraDeps:l});return l.value,{execute:u=>{let p=editor.commandExecOptions(u),d=r.value;return Gi(d)?editor.runToolbarCommand(o.value,d,void 0,p??{}).ok:o.value?o.value.exec(d,p).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 _o(){let e=vue.ref(false);return vue.onMounted(()=>{e.value=true;}),t=>e.value?i18n.platformShortcut(t):t}var sa=Symbol("ToolbarContext"),Jv={t:void 0,onSave:void 0};function da(){let e=vue.inject(sa,Jv);return vue.computed(()=>vue.unref(e))}function W(){let e=da(),t=_();return o=>e.value.t?.(o)??t.t(o)}function Qv(e){let t=_();return o=>e?.(o)??t.t(o)}function q(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 $t=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=W(),n=_o(),r=j(vue.computed(()=>e.slot));return ()=>{if(e.hidden)return null;let l=q(e.slot),a=n(o(l?.labelKey??e.slot)),i=editor.chromeSlotIsToggle(e.slot),s={onClick:()=>r.execute(),onMousedown:I,disabled:!r.isEnabled.value,"data-slot":e.slot,class:_e("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":a,title:r.disabledReason.value??a},u=e.icon??t.default?.()??$(l?.paths);return e.asChild?vue.h(A,s,t.default):vue.h("button",{type:"button",...s},u??void 0)}}});$t.docxToolbarPart=true;var sc=12700,ic=96;function sb(e){return e==="image/png"||e==="image/jpeg"||e==="image/gif"}function db(e,t,o,n){let r=e*72/o,l=t*72/n;return {widthPoints:Math.max(1,Math.round(r*100)/100),heightPoints:Math.max(1,Math.round(l*100)/100)}}function ca(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(!sb(o))return o==="image/svg+xml"||o==="image/tiff"?{ok:false,reasonKey:"imageInsert.errors.unsupportedFormat"}:{ok:false,reasonKey:"imageInsert.errors.invalidSignature"};let n=editor.validateRasterHeader(e,o);if(!n)return {ok:false,reasonKey:"imageInsert.errors.invalidSignature"};if(n.pixelWidth*n.pixelHeight>t.maxPixels||n.pixelWidth>t.maxDimension||n.pixelHeight>t.maxDimension)return {ok:false,reasonKey:"imageInsert.errors.oversize"};let{widthPoints:l,heightPoints:a}=db(n.pixelWidth,n.pixelHeight,n.dpiX??ic,n.dpiY??ic);return Object.freeze({ok:true,bytes:e,mime:o,widthPoints:l,heightPoints:a})}function Ct(e){return Math.round(e/sc*100)/100}function Mn(e){return Math.round(e*sc)}var gb="image/png,image/jpeg,image/gif",Zi=Symbol("ImageInsertContext");function mc(){let e=vue.inject(Zi,null);if(!e)throw new Error("useImageInsert must be used within ImageInsertProvider");return e}function Rn(){return vue.inject(Zi,null)}var pa=vue.defineComponent({name:"ImageInsertProvider",setup(e,{slots:t}){let o=D(),{t:n}=_(),r=vue.ref(null),l=vue.ref(false),a=k(()=>editor.toolbarCommandState(o.value,"image.insert"),(m,g)=>m.enabled===g.enabled&&m.disabledReason===g.disabledReason),i=async m=>{let g=o.value;if(!g||l.value)return;let y=ca(m);if(!y.ok){window.alert(n(y.reasonKey));return}let b={type:"insertImage",data:y.bytes,mime:y.mime,widthPoints:y.widthPoints,heightPoints:y.heightPoints},h=g.canExecuteImageCommand?.(b);if(h&&!h.ok){window.alert(h.reason??n("imageInsert.errors.refused"));return}l.value=true;try{let f=await editor.executeImageCommand(g,b);f.ok?g.focus():window.alert(f.reason??n("imageInsert.errors.refused"));}finally{l.value=false;}},s=async m=>{let g=m?.[0];if(!g)return;let y=await g.arrayBuffer();await i(new Uint8Array(y));},u=async m=>{if(!m)return;let g=[...m.files].find(y=>y.type.startsWith("image/"));if(g){await s([g]);return}for(let y of m.items){if(y.kind!=="file"||!y.type.startsWith("image/"))continue;let b=y.getAsFile();if(!b)continue;let h=await b.arrayBuffer();await i(new Uint8Array(h));return}},p=()=>{a.value.enabled&&r.value?.click();},d=async m=>{let g=m.currentTarget;await s(g.files),g.value="";};return vue.provide(Zi,{openFilePicker:p,insertFromFileList:s,insertFromDataTransfer:u,get isEnabled(){return a.value.enabled},get disabledReason(){return i18n.localizeDisabledReason(a.value.disabledReason,n)},inputRef:r,onInputChange:d}),()=>[vue.h("input",{ref:r,type:"file",accept:gb,class:"docx-image-insert__input",tabindex:-1,"aria-hidden":"true",onChange:d,onMousedown:m=>m.stopPropagation()}),...fe(t.default?.()??[])]}}),ma=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=mc(),n=W();return ()=>{if(e.hidden)return null;let r=q("image.insert"),l=n(r?.labelKey??"toolbar.image"),a={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.insert",disabled:!o.isEnabled,...o.isEnabled?{}:{"data-disabled":""},"aria-label":l,title:o.disabledReason??l,onMousedown:I,onClick:o.openFilePicker};return e.asChild?jsxRuntime.jsx(A,{...a,children:t.default?.()}):jsxRuntime.jsx("button",{...a,children:t.default?.()??$(r?.paths)})}}});ma.docxSlot="image.insert";var fa=Object.assign(ma,{docxSlot:"image.insert"});var Yi=6,fc=6,Dn=8,We=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=ce(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(null),a=re("menu-flyout"),i=vue.ref(null);return vue.watch(n,s=>{if(!s){i.value=null;return}let u=r.value,p=l.value,d=u?.ownerDocument.defaultView;if(!u||!p||!d)return;let c=u.getBoundingClientRect(),m=p.offsetWidth,g=p.offsetHeight,y=c.right+m>d.innerWidth-Dn;i.value={left:y?Math.max(Dn,c.left-m):Math.min(c.right,d.innerWidth-m-Dn),top:Math.max(Dn,Math.min(c.top-4,d.innerHeight-g-Dn))};},{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(()=>{l.value&&Ve(xt(l.value),"first");})):(u.key==="ArrowLeft"||u.key==="Escape")&&n.value&&(u.preventDefault(),u.stopPropagation(),n.value=false,r.value?.focus());},onBlur:u=>{u.currentTarget?.contains(u.relatedTarget)||(n.value=false);},children:[jsxRuntime.jsxs("button",{ref:r,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":n.value,"aria-controls":n.value?a:void 0,class:"docx-toolbar__menu-item docx-menubar__item",tabindex:-1,...n.value?{"data-open":""}:{},onMousedown:I,onFocus:()=>{n.value=true;},onClick:()=>{n.value=true;},children:[jsxRuntime.jsx("span",{class:"docx-menubar__item-icon","aria-hidden":"true",children:$(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:l,id:a,class:"docx-toolbar__menu docx-menubar__menu docx-menubar__submenu-panel",role:"menu","aria-label":s,style:i.value?{position:"fixed",left:V(i.value.left),top:V(i.value.top)}:{position:"fixed",visibility:"hidden"},onKeydown:u=>{let p=l.value;if(!p)return;let d=xt(p);u.key==="ArrowDown"?(u.preventDefault(),u.stopPropagation(),Ke(d,document.activeElement,1)):u.key==="ArrowUp"&&(u.preventDefault(),u.stopPropagation(),Ke(d,document.activeElement,-1));},children:t.default?.()}):null]})}}}),_n=vue.defineComponent({name:"MenuTableGrid",props:{slot:{type:String,default:void 0},className:{type:null,default:void 0}},setup(e){let t=D(),o=j(vue.computed(()=>e.slot??"table.insert")),n=Re(),r=ce(),l=vue.ref(null),a=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=a.value,c={rows:Math.min(fc,Math.max(1,d.rows+(p.rows??0))),cols:Math.min(Yi,Math.max(1,p.toCol??d.cols+(p.cols??0)))};a.value=c,l.value=c,queueMicrotask(()=>i.value?.querySelector(`[data-cell="${c.rows}x${c.cols}"]`)?.focus());};return ()=>{let p=[];for(let d=1;d<=fc;d+=1){let c=[];for(let m=1;m<=Yi;m+=1){let g=!!l.value&&d<=l.value.rows&&m<=l.value.cols;c.push(jsxRuntime.jsx("button",{type:"button",role:"gridcell","data-cell":`${d}x${m}`,class:"docx-menubar__grid-cell",tabindex:a.value.rows===d&&a.value.cols===m?0:-1,...g?{"data-filled":""}:{},"aria-label":`${m} \xD7 ${d}`,onMousedown:I,onMouseenter:()=>{l.value={rows:d,cols:m};},onFocus:()=>{l.value={rows:d,cols:m};},onClick:()=>s(d,m)},m));}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:Yi});else if(d.key==="Enter"||d.key===" ")d.preventDefault(),s(a.value.rows,a.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:l.value?`${l.value.cols} \xD7 ${l.value.rows}`:""})]})}}}),gc=vue.defineComponent({name:"MenuTablePicker",props:{entry:{type:Object,required:true}},setup(e){let t=j(e.entry.slot),o=q(e.entry.slot);return ()=>t.isEnabled.value?jsxRuntime.jsx(We,{labelKey:e.entry.labelKey??o?.labelKey??e.entry.slot,paths:o?.paths,children:jsxRuntime.jsx(_n,{slot:e.entry.slot})}):jsxRuntime.jsx(tt,{slot:e.entry.slot,...e.entry.labelKey?{labelKey:e.entry.labelKey}:{}})}});function we(e){return {rowSlot:e}}var ge=vue.defineComponent({name:"MenuRow",props:{icon:{type:null,default:void 0},shortcut:{type:String,default:void 0},disabled:{type:Boolean,default:void 0},title:{type:String,default:void 0},active:{type:Boolean,default:void 0},selected:{type:Boolean,default:void 0},rowSlot:{type:String,default:void 0},slot:{type:String,default:void 0},"data-slot":{type:String,default:void 0},selectHandler:{type:Function,default:void 0},onSelect:{type:Function,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=re("menu-reason"),n=_o();return ()=>{let{icon:r,shortcut:l,disabled:a,title:i,active:s,selected:u,className:p}=e,d=e.selectHandler??e.onSelect,c=e.rowSlot??e.slot??e["data-slot"]??void 0,m=a&&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":""}:{},...a?{"data-disabled":"","aria-disabled":true}:{},...s!==void 0?{"aria-checked":s}:{},...m?{"aria-describedby":m}:{},...i?{title:i}:{},onMousedown:I,onClick:a?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?.()}),l?jsxRuntime.jsx("span",{class:"docx-menubar__item-shortcut",children:n(l)}):null,m?jsxRuntime.jsx("span",{id:o,class:"docx-editor-sr-only",children:i}):null]})}}}),In=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=ce();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?.()]})}}}),tt=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=j(t),n=Re(),r=ce();return ()=>{if(e.hidden)return null;let{setOpenMenu:l}=n.value,a=t.value,i=q(a),s=r(e.labelKey??i?.labelKey??a),u=editor.chromeSlotIsToggle(a),p=["setAlignment","setReviewDisplayMode"].includes(editor.commandForSlot(a)?.type??"");return jsxRuntime.jsx(ge,{...we(a),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(),l(null);},...e.className?{className:e.className}:{},children:s})}}});tt.docxMenuRow=true;function Nn(e,t,o,n,r=()=>true){let l=vue.defineComponent({name:`MenuAction_${e}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(a){let i=Re(),s=ce();return ()=>{let u=i.value,p=n(u);if(a.hidden)return null;let d=q(e),c=s(t??d?.labelKey??e),m=o&&r(u)?o:void 0;return jsxRuntime.jsx(ge,{...we(e),icon:$(d?.paths)??void 0,...m?{shortcut:s(m)}:{},disabled:!p,selectHandler:()=>{p?.(),u.setOpenMenu(null);},...a.className?{className:a.className}:{},children:c})}}});return Object.assign(l,{docxSlot:e})}var ya=Nn("file.open","toolbar.open","toolbar.openShortcut",e=>e.onOpen),va=Nn("file.save","toolbar.save","toolbar.saveShortcut",e=>e.onSave),Qi=Nn("file.exportMarkdown",void 0,void 0,e=>e.onExport?()=>e.onExport?.("markdown"):void 0),es=Nn("file.exportPdf",void 0,void 0,e=>e.onExport?()=>e.onExport?.("pdf"):void 0),ts=Nn("file.print",void 0,"toolbar.printShortcut",e=>e.onPrint,e=>e.printShortcut===true),Eb=vue.defineComponent({name:"MenuPageSetupImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Re(),n=ce();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("file.pageSetup"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,s=a&&!a.ok?a.reason:null,u=q("file.pageSetup"),p=n(u?.labelKey??"file.pageSetup"),d=i&&!!r.onPageSetup;return jsxRuntime.jsx(ge,{...we("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})}}}),Pb=vue.defineComponent({name:"MenuParagraphDialogImpl",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Re(),n=ce();return ()=>{if(e.hidden)return null;let r=o.value,l=editor.chromeProbeForSlot("paragraph.dialog"),a=t.value&&l?t.value.can(l):null,i=a?.ok===true,s=a&&!a.ok?a.reason:null,u=q("paragraph.dialog"),p=n(u?.labelKey??"lineSpacing.options"),d=i&&!!r.onParagraphDialog;return jsxRuntime.jsx(ge,{...we("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})}}}),Sb=Object.assign(Pb,{docxSlot:"paragraph.dialog"}),ba=Object.assign(Eb,{docxSlot:"file.pageSetup"}),wb=vue.defineComponent({name:"MenuImageInsertImpl",props:{className:{type:null,default:void 0},hidden:{type:null,default:void 0}},setup(e){let t=Rn(),o=Re(),n=ce();return ()=>{if(e.hidden)return null;let r=o.value,l=q("image.insert"),a=n(l?.labelKey??"toolbar.image"),i=t?.isEnabled??false,s=t?.disabledReason??null;return jsxRuntime.jsx(ge,{...we("image.insert"),icon:$(l?.paths)??void 0,disabled:!i,...s?{title:s}:{},selectHandler:()=>{t?.openFilePicker(),r.setOpenMenu(null);},...e.className?{className:e.className}:{},children:a})}}}),os=Object.assign(wb,{docxSlot:"image.insert"}),zt=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}`:""}`})}}),Fn=vue.defineComponent({name:"MenuEntry",props:{entry:{type:Object,required:true}},setup(e,{slots:t}){return ()=>{let o=e.entry;return o.kind==="separator"?jsxRuntime.jsx(zt,{}):o.kind==="submenu"?jsxRuntime.jsx(We,{labelKey:o.labelKey,paths:o.paths,children:t.default?.()??o.items.map((n,r)=>jsxRuntime.jsx(Fn,{entry:n},r))}):o.slot==="file.open"?jsxRuntime.jsx(ya,{}):o.slot==="file.save"?jsxRuntime.jsx(va,{}):o.slot==="file.exportMarkdown"?jsxRuntime.jsx(Qi,{}):o.slot==="file.exportPdf"?jsxRuntime.jsx(es,{}):o.slot==="file.print"?jsxRuntime.jsx(ts,{}):o.slot==="file.pageSetup"?jsxRuntime.jsx(ba,{}):o.slot==="paragraph.dialog"?jsxRuntime.jsx(Sb,{}):o.slot==="image.insert"?jsxRuntime.jsx(os,{}):o.picker==="tableGrid"?jsxRuntime.jsx(gc,{entry:o}):jsxRuntime.jsx(tt,{slot:o.slot,...o.labelKey?{labelKey:o.labelKey}:{},...o.shortcutKey?{shortcutKey:o.shortcutKey}:{}})}}});function bc(e){if(!vue.isVNode(e))return null;let t=aa(e,bc);if(t!==null)return t;let o=la(e);if(o)return o;let n=e.type;if(typeof n=="object"&&n!==null&&n.docxMenuRow===true){let r=e.props?.slot;if(typeof r=="string")return r}return null}function Mb(e,t){return e.kind==="item"?e.slot:e.kind==="submenu"?`submenu:${e.labelKey}`:`separator:${t}`}function Rb(e,t,o){return ia({entries:e??[],children:t,preset:o,keyOfEntry:Mb,keyOfChild:bc,childrenOfEntry:n=>n.kind==="submenu"?n.items:void 0,renderEntry:(n,r,l)=>vue.h(Fn,{entry:n},l?{default:()=>l}:void 0)})}var Tt=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=Re(),n=ce(),r=re("menu-panel"),l=vue.ref(null),a=vue.ref(null),i=vue.ref(false),s=vue.ref(false),u=()=>{o.value.setOpenMenu(null),l.value?.focus();};return ()=>{if(e.hidden)return null;let{openMenu:p,setOpenMenu:d,activeMenu:c}=o.value,m=editor.CHROME_MENUS.find(h=>h.id===e.id),g=p===e.id,y=e.label??n(e.labelKey??m?.labelKey??e.id),b=Rb(m?.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:l,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":g,"aria-controls":g?r:void 0,class:"docx-menubar__trigger",tabindex:c===e.id?0:-1,...g?{"data-open":""}:{},onMousedown:I,onKeydown:h=>{h.key==="ArrowDown"||h.key==="Enter"||h.key===" "||h.key==="ArrowUp"?(h.preventDefault(),i.value=true,d(e.id)):h.key==="Escape"&&g&&(h.preventDefault(),u());},onClick:()=>{if(s.value){s.value=false;return}d(g?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,y]}),g?jsxRuntime.jsx("div",{ref:h=>{a.value=h,h&&i.value&&(i.value=false,Ve(xt(h),"first"));},id:r,role:"menu","aria-label":y,class:"docx-toolbar__menu docx-menubar__menu",onKeydown:h=>{let f=a.value;if(!f)return;let C=xt(f),T=document.activeElement;h.key==="ArrowDown"?(h.preventDefault(),Ke(C,T,1)):h.key==="ArrowUp"?(h.preventDefault(),Ke(C,T,-1)):h.key==="Home"?(h.preventDefault(),Ve(C,"first")):h.key==="End"?(h.preventDefault(),Ve(C,"last")):h.key==="Escape"?(h.preventDefault(),h.stopPropagation(),u()):h.key==="Tab"&&d(null);},children:b}):null]})}}});function ns(e){let t=vue.defineComponent({name:`Menu_${e}`,inheritAttrs:false,setup(o,{attrs:n,slots:r}){return ()=>vue.h(Tt,{id:e,...n},r.default?{default:r.default}:void 0)}});return Object.assign(t,{docxMenu:e})}var ha=ns("file"),xa=ns("format"),Ca=ns("insert"),Db=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=Re(),o=ce();return ()=>{let{setOpenMenu:n,onReportIssue:r,reportIssue:l}=t.value;if(e.hidden||l===false)return null;let a=e.onSelect??r??rc;return jsxRuntime.jsx(ge,{...we("help.reportIssue"),selectHandler:()=>{a(),n(null);},...e.className?{className:e.className}:{},children:o("toolbar.reportIssue")})}}}),Ta=Object.assign(Db,{docxSlot:"help.reportIssue"}),_b=vue.defineComponent({name:"MenuHelpImpl",inheritAttrs:false,setup(e,{attrs:t,slots:o}){let n=Re();return ()=>{let{reportIssue:r}=n.value;return o.default===void 0&&r===false?null:jsxRuntime.jsxs(Tt,{id:"help",...t,children:[jsxRuntime.jsx(Ta,{}),o.default?.()]})}}}),Ea=Object.assign(_b,{docxMenu:"help"});var Ln=Symbol("ContextMenuContext"),Cc={close:()=>{},anchor:null,tocId:null,target:null,clipboardRefusal:null,reportClipboardRefusal:()=>{}};function it(){return vue.unref(vue.inject(Ln,Cc))}function Tc(){return vue.unref(vue.inject(Ln,Cc))?.target??null}var Ec=["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"],Pc=["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"],rs=["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"],Sc=["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"],wc=["M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"],Mc=["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"],Rc=["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 l=D(),{close:a}=it(),i=ce(),s=j(t);return ()=>r.hidden?null:jsxRuntime.jsx(ge,{...we(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:()=>{l.value?.exec(t),a(true);},...r.className?{className:r.className}:{},children:i(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var An=ko("edit.cut",{type:"cut"},{labelKey:"contextMenu.cut",shortcutKey:"contextMenu.cutShortcut",paths:Ec}),Hn=ko("edit.copy",{type:"copy"},{labelKey:"contextMenu.copy",shortcutKey:"contextMenu.copyShortcut",paths:Pc}),On=ko("edit.delete",{type:"deleteText"},{labelKey:"contextMenu.delete",shortcutKey:"contextMenu.deleteShortcut",paths:Sc}),Bn=ko("edit.selectAll",{type:"selectAll"},{labelKey:"contextMenu.selectAll",shortcutKey:"contextMenu.selectAllShortcut",paths:Rc}),Io=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=D(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),l=ce(),a=j({type:"paste",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ge,{...we("edit.paste"),icon:e.icon??$(rs)??void 0,shortcut:l(e.shortcutKey??"contextMenu.pasteShortcut"),disabled:!a.isEnabled.value||i,...n??a.disabledReason.value?{title:n??a.disabledReason.value??""}:{},onSelect:()=>{(async()=>{try{let{text:s,html:u}=await Nb();(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:l(e.labelKey??"contextMenu.paste")})}}});Io.docxRow="edit.paste";async function Nb(){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 No=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=D(),{close:o,clipboardRefusal:n,reportClipboardRefusal:r}=it(),l=ce(),a=j({type:"pasteWithoutFormatting",text:" "});return ()=>{if(e.hidden)return null;let i=n!==null;return jsxRuntime.jsx(ge,{...we("edit.pasteWithoutFormatting"),icon:e.icon??$(rs)??void 0,shortcut:l(e.shortcutKey??"contextMenu.pasteWithoutFormattingShortcut"),disabled:!a.isEnabled.value||i,...n??a.disabledReason.value?{title:n??a.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:l(e.labelKey??"contextMenu.pasteWithoutFormatting")})}}});No.docxRow="edit.pasteWithoutFormatting";var Dc=q("format.painter")?.paths??[],Pa=ko("format.copyFormatting",{type:"copyFormatting"},{labelKey:"contextMenu.copyFormatting",shortcutKey:"contextMenu.copyFormattingShortcut",paths:Dc}),Sa=ko("format.pasteFormatting",{type:"pasteFormatting"},{labelKey:"contextMenu.pasteFormatting",shortcutKey:"contextMenu.pasteFormattingShortcut",paths:Dc});function Gt(e,t,o){let n=vue.defineComponent({name:`ContextMenuTable_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},destructive:{type:Boolean,default:void 0}},setup(r){let{close:l}=it(),a=ce(),i=Kn(),s=j(t);return ()=>{if(r.hidden||!i.value)return null;let u=r.destructive??o.destructive;return jsxRuntime.jsx(ge,{...we(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()&&l(true);},children:a(r.labelKey??o.labelKey)})}}});return Object.assign(n,{docxRow:e})}var Fo=Gt("table.insertRowAbove",{type:"insertRow",where:"above"},{labelKey:"table.insertRowAbove",paths:editor.tableChromeIconPaths("table_rows")}),Lo=Gt("table.insertRowBelow",{type:"insertRow",where:"below"},{labelKey:"table.insertRowBelow",paths:editor.tableChromeIconPaths("table_rows")}),Ao=Gt("table.insertColumnLeft",{type:"insertColumn",where:"left"},{labelKey:"table.insertColumnLeft",paths:editor.tableChromeIconPaths("view_column")}),Ho=Gt("table.insertColumnRight",{type:"insertColumn",where:"right"},{labelKey:"table.insertColumnRight",paths:editor.tableChromeIconPaths("view_column")}),Oo=Gt("table.deleteRow",{type:"deleteRow"},{labelKey:"table.deleteRow",paths:editor.tableChromeIconPaths("delete_sweep"),destructive:true}),Bo=Gt("table.deleteColumn",{type:"deleteColumn"},{labelKey:"table.deleteColumn",paths:editor.tableChromeIconPaths("view_column"),destructive:true}),Ko=Gt("table.deleteTable",{type:"deleteTable"},{labelKey:"table.deleteTable",paths:editor.tableChromeIconPaths("delete"),destructive:true}),Fb=[{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"}],Zt=vue.defineComponent({name:"ContextMenuCellVerticalAlignment",props:{hidden:{type:Boolean,default:void 0}},setup(e){let{close:t}=it(),o=ce(),n=Kn(),r=j({type:"setTableCellVerticalAlignment",alignment:"top"}),l=j({type:"setTableCellVerticalAlignment",alignment:"center"}),a=j({type:"setTableCellVerticalAlignment",alignment:"bottom"}),i=[r,l,a];return ()=>e.hidden||!n.value?null:jsxRuntime.jsxs("div",{class:"docx-contextmenu__table-align",children:[jsxRuntime.jsx("span",{class:"docx-contextmenu__table-align-label",children:o("tableAdvanced.verticalAlignment")}),jsxRuntime.jsx("div",{class:"docx-contextmenu__table-align-buttons",role:"group","aria-label":o("tableAdvanced.verticalAlignment"),children:Fb.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)})})]})}});Zt.docxRow="table.cellVerticalAlignment";function _c(e,t,o){let n=vue.defineComponent({name:`ContextMenuToc_${e.replace(/\./g,"_")}`,props:{icon:{type:null,default:void 0},labelKey:{type:String,default:void 0},className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(r){let l=D(),{close:a,tocId:i}=it(),s=ce(),u=vue.computed(()=>({type:"refreshToc",mode:t,...i?{tocId:i}:{}})),p=j(u);return ()=>r.hidden||i===null?null:jsxRuntime.jsx(ge,{...we(e),icon:r.icon??$(o.paths)??void 0,disabled:!p.isEnabled.value,...p.disabledReason.value?{title:p.disabledReason.value}:{},onSelect:()=>{l.value?.exec(u.value),a(true);},...r.className?{className:r.className}:{},children:s(r.labelKey??o.labelKey)})}});return Object.assign(n,{docxRow:e})}var Vo=_c("toc.refresh","entire",{labelKey:"toc.refresh",paths:wc}),Wo=_c("toc.refreshPageNumbers","pageNumbers",{labelKey:"toc.refreshPageNumbers",paths:Mc});function Kn(){return k(e=>e.table!=null,(e,t)=>e===t)}var wa=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(ge,{...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 Vn=Symbol("ScopedByAncestorContext");function Oe(){return vue.inject(Vn,false)?"":"docx-editor "}var Ma=8,Vb=vue.defineComponent({name:"ContextMenuAddComment",setup(){let e=D(),t=Co(),o=Re(),n=ce();return ()=>{let r=e.value,l=r?.can({type:"toggleReviewPane"}),a=!l?.ok||t.value.mounted===0||r?.getSelectionPlacement()===null,i=q("review.comments");return jsxRuntime.jsx(ge,{icon:$(i?.paths)??void 0,rowSlot:"review.comments",disabled:a,title:l&&!l.ok?l.reason:void 0,selectHandler:()=>{t.value.requestCommentDraft()&&o.value.setOpenMenu(null);},children:n("comments.addComment")})}}}),Wb=vue.defineComponent({name:"ContextMenuEditField",setup(){let e=D(),t=Re(),o=ce();return ()=>e.value?.can({type:"editTextFormField"}).ok?jsxRuntime.jsx(ge,{rowSlot:"field.edit",onSelect:()=>{t.value.setOpenMenu(null),e.value?.exec({type:"editTextFormField"});},children:o("textFormField.edit")}):null}}),qb=[{kind:"row",id:"field.edit",render:()=>jsxRuntime.jsx(Wb,{})},{kind:"row",id:"edit.cut",render:()=>jsxRuntime.jsx(An,{})},{kind:"row",id:"edit.copy",render:()=>jsxRuntime.jsx(Hn,{})},{kind:"row",id:"edit.paste",render:()=>jsxRuntime.jsx(Io,{})},{kind:"row",id:"edit.pasteWithoutFormatting",render:()=>jsxRuntime.jsx(No,{})},{kind:"row",id:"format.copyFormatting",render:()=>jsxRuntime.jsx(Pa,{})},{kind:"row",id:"format.pasteFormatting",render:()=>jsxRuntime.jsx(Sa,{})},{kind:"separator",id:"sep.clipboard"},{kind:"row",id:"edit.delete",render:()=>jsxRuntime.jsx(On,{})},{kind:"row",id:"edit.selectAll",render:()=>jsxRuntime.jsx(Bn,{})},{kind:"separator",id:"sep.selection"},{kind:"row",id:"text.link",render:()=>jsxRuntime.jsx(tt,{slot:"text.link",labelKey:"formattingBar.insertLink"})},{kind:"row",id:"review.comments",render:()=>jsxRuntime.jsx(Vb,{})}];function $b(){return [{kind:"separator",id:"sep.table"},{kind:"row",id:Fo.docxRow,render:()=>jsxRuntime.jsx(Fo,{})},{kind:"row",id:Lo.docxRow,render:()=>jsxRuntime.jsx(Lo,{})},{kind:"separator",id:"sep.table.columns"},{kind:"row",id:Ao.docxRow,render:()=>jsxRuntime.jsx(Ao,{})},{kind:"row",id:Ho.docxRow,render:()=>jsxRuntime.jsx(Ho,{})},{kind:"separator",id:"sep.table.destructive"},{kind:"row",id:Oo.docxRow,render:()=>jsxRuntime.jsx(Oo,{})},{kind:"row",id:Bo.docxRow,render:()=>jsxRuntime.jsx(Bo,{})},{kind:"row",id:Ko.docxRow,render:()=>jsxRuntime.jsx(Ko,{})},{kind:"separator",id:"sep.table.alignment"},{kind:"row",id:Zt.docxRow,render:()=>jsxRuntime.jsx(Zt,{})}]}function Ub(){return [{kind:"separator",id:"sep.toc"},{kind:"row",id:Vo.docxRow,render:()=>jsxRuntime.jsx(Vo,{})},{kind:"row",id:Wo.docxRow,render:()=>jsxRuntime.jsx(Wo,{})}]}function Fc(e,t=false){return [...qb,...e?$b():[],...t?Ub():[]]}function Lc(e){return e!=null&&typeof e=="object"&&"type"in e}function Ac(e){if(!Lc(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(Ac).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 Nc(e){if(!Lc(e))return false;let t=e.type;return typeof t!="function"&&typeof t!="object"?false:t.docxRowPlacement==="start"}function zb(e){return e?.closest(".docx-editor__scroll-container")??null}var Yt=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=Oe(),n=D(),r=yt(),{t:l}=_(),a=Kn(),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=vue.ref(null),d=vue.ref(null),c=vue.ref(null),m=vue.ref(null),g=vue.ref(false),y=vue.shallowRef(e.onOpenChange);vue.watch(()=>e.onOpenChange,T=>{y.value=T;});let b=vue.computed(()=>Fc(a.value,p.value!==null)),h=(T=false)=>{u.value=null,c.value=null,p.value=null,d.value=null,T&&n.value?.focus();};vue.watch(()=>e.disabled,T=>{T&&h();}),vue.watchEffect(T=>{if(r.value,e.disabled)return;let v=zb(i.value)??(typeof document<"u"?document.querySelector(".docx-editor__scroll-container"):null);if(!v)return;let x=S=>{S.preventDefault();let E=S.button===-1||S.clientX===0&&S.clientY===0,M=v.getBoundingClientRect();p.value=n.value?.snapshot().tocContext?.id??null,d.value=E||!(S.target instanceof HTMLElement)?null:S.target,u.value=E?{x:M.left+16,y:M.top+16}:{x:S.clientX,y:S.clientY};};v.addEventListener("contextmenu",x),T(()=>v.removeEventListener("contextmenu",x));}),vue.watch(u,(T,v,x)=>{if(!T)return;let S=w=>{s.value?.contains(w.target)||h();},E=w=>{w.key==="Escape"?(w.preventDefault(),h(true)):w.key==="Tab"&&h();},M=()=>h();document.addEventListener("pointerdown",S,true),document.addEventListener("keydown",E),document.addEventListener("scroll",M,{capture:true,passive:true}),window.addEventListener("blur",M),window.addEventListener("resize",M),x(()=>{document.removeEventListener("pointerdown",S,true),document.removeEventListener("keydown",E),document.removeEventListener("scroll",M,true),window.removeEventListener("blur",M),window.removeEventListener("resize",M);});},{flush:"sync"}),vue.watch(u,async T=>{if(c.value=null,!T)return;await vue.nextTick();let v=s.value;if(!v||!u.value)return;let{width:x,height:S}=v.getBoundingClientRect(),E=window.innerWidth-x-Ma,M=window.innerHeight-S-Ma,w=Math.max(Ma,u.value.x>E?u.value.x-x:u.value.x),P=Math.max(Ma,u.value.y>M?u.value.y-S:u.value.y);c.value={x:w,y:P};},{flush:"post"}),vue.watch(c,T=>{T&&s.value?.focus({preventScroll:true});}),vue.watch(u,T=>{let v=T!==null;v!==g.value&&(g.value=v,y.value?.(v));});let f=vue.computed(()=>({t:e.t,openMenu:null,setOpenMenu:()=>h(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:h,anchor:u.value,tocId:p.value,target:d.value,clipboardRefusal:m.value,reportClipboardRefusal:T=>{m.value=T;}}));return vue.provide(Sn,f),vue.provide(Ln,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"},v=fe(t.default?.()??[]),x=v.filter(Nc),S=v.filter(M=>!Nc(M)),E=e.preset===false?v:[...x,...ia({entries:b.value,children:S,preset:e.preset,keyOfEntry:M=>M.id,keyOfChild:Ac,renderEntry:M=>M.kind==="separator"?jsxRuntime.jsx(zt,{}):M.render()})];return vue.h("div",{ref:M=>{i.value=M instanceof HTMLDivElement?M:null;},class:"docx-contextmenu-host",style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"none"}},u.value?[vue.h("div",{ref:M=>{s.value=M instanceof HTMLDivElement?M:null;},role:"menu","aria-label":e.t?.("contextMenu.ariaLabel")??l("contextMenu.ariaLabel"),tabindex:-1,class:`${o}docx-toolbar__menu docx-contextmenu${e.className?` ${e.className}`:""}`,style:T,onKeydown:M=>{let w=s.value;if(!w)return;let P=xt(w);M.key==="ArrowDown"?(M.preventDefault(),Ke(P,document.activeElement,1)):M.key==="ArrowUp"?(M.preventDefault(),Ke(P,document.activeElement,-1)):M.key==="Home"?(M.preventDefault(),Ve(P,"first")):M.key==="End"&&(M.preventDefault(),Ve(P,"last"));}},E)]:[])}}});Object.assign(Yt,{Cut:An,Copy:Hn,Paste:Io,PasteWithoutFormatting:No,Delete:On,SelectAll:Bn,InsertRowAbove:Fo,InsertRowBelow:Lo,InsertColumnLeft:Ao,InsertColumnRight:Ho,DeleteTableRow:Oo,DeleteTableColumn:Bo,DeleteTable:Ko,CellVerticalAlignment:Zt,RefreshToc:Vo,RefreshTocPageNumbers:Wo,Item:wa,Slot:tt,Row:ge,Group:In,Separator:zt,Submenu:We});var ss=Symbol("docx.popups");function ot(){return vue.inject(ss,vue.computed(()=>{}))}var Bc=vue.defineComponent({name:"DocxPopupConfigProvider",props:{popups:Object},setup(e,{slots:t}){return vue.provide(ss,vue.computed(()=>e.popups)),()=>t.default?.()}}),Kc=vue.defineComponent({name:"DocxConfiguredPopups",setup(){let e=vue.inject(ss,vue.computed(()=>{})),{t}=_();return ()=>{let o=e.value;return [o?.hyperlink?de(o.hyperlink,{}):null,o?.contentControl?de(o.contentControl,{}):null,o?.equation?de(o.equation,{}):null,o?.contextMenu?de(o.contextMenu,{t:n=>t(n)}):null]}}});function Vc(e,t,o,n){let r=e?.contextMenu;return {...e,hyperlink:e?.hyperlink!==void 0?e.hyperlink:t===false?false:l=>vue.h(bn,l),contentControl:e?.contentControl!==void 0?e.contentControl:l=>vue.h(Cn,l),equation:e?.equation!==void 0?e.equation:()=>vue.h(En),contextMenu:r!==void 0?r===false?false:l=>de(r,{...l,t:n}):o===false?false:l=>vue.h(Yt,{...l,t:n,...typeof o=="object"?o:{}})}}function Wn(e){let t=D(),o=k(()=>editor.toolbarCommandState(t.value,e),(n,r)=>n.value===r.value&&n.enabled===r.enabled&&n.disabledReason===r.disabledReason);return {execute:(n,r)=>editor.runToolbarCommand(t.value,e,n,r),value:vue.computed(()=>o.value.value===void 0?null:e==="font.size"||e==="list.lineSpacing"?Number(o.value.value):o.value.value),options:vue.computed(()=>e==="image.wrap"?editor.IMAGE_WRAP_TARGETS:[]),isEnabled:vue.computed(()=>o.value.enabled),disabledReason:vue.computed(()=>o.value.disabledReason)}}var ka=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 o=ot(),n=W(),r=Wn("image.altText"),l=vue.ref(false);vue.watch(()=>o.value?.imageAltText,d=>{d===false&&(l.value=false);});let a=vue.ref(""),i=vue.ref(null),s=vue.ref(null),u=re("image-alt");vue.watch([l,()=>r.value.value],([d,c])=>{d&&(a.value=c??"");}),vue.watch(l,(d,c,m)=>{if(!d)return;let g=b=>{let h=i.value;b.target instanceof Node&&(h?.contains(b.target)||document.getElementById(u)?.contains(b.target))||(l.value=false);},y=b=>{b.key==="Escape"&&(b.preventDefault(),l.value=false,s.value?.focus());};document.addEventListener("mousedown",g,true),document.addEventListener("keydown",y),m(()=>{document.removeEventListener("mousedown",g,true),document.removeEventListener("keydown",y);});});let p=()=>{r.execute(a.value),l.value=false;};return ()=>{if(e.hidden)return null;let d=q("image.altText"),c=n(d?.labelKey??"formattingBar.altText"),m={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":l.value,"aria-controls":l.value?u:void 0,"aria-label":c,title:r.disabledReason.value??c,onMousedown:I,onClick:()=>{o.value?.imageAltText!==false&&(l.value=!l.value);}},g={id:u,value:a.value,onValueChange:y=>{a.value=y;},onApply:p,onClose:()=>{l.value=false;},isEnabled:r.isEnabled.value,anchorRef:yn(s)};return jsxRuntime.jsxs("div",{ref:i,class:"docx-toolbar__alt-text",children:[e.asChild?jsxRuntime.jsx(A,{...m,children:t.default?.()}):jsxRuntime.jsx("button",{...m,children:t.default?.()??c}),l.value&&o.value?.imageAltText!==false?o.value?.imageAltText?de(o.value.imageAltText,g):jsxRuntime.jsx(Na,{...g}):null]})}}});ka.docxSlot="image.altText";var Ia=Object.assign(ka,{docxSlot:"image.altText"}),Na=vue.defineComponent({name:"DocxEditorImageAltTextPopup",props:{id:{type:String,required:true},value:{type:String,required:true},onValueChange:{type:Function,required:true},onApply:{type:Function,required:true},onClose:{type:Function,required:true},isEnabled:{type:Boolean,required:true},className:String,anchorRef:Object},setup(e){let{t}=_();return ()=>jsxRuntime.jsxs("div",{id:e.id,role:"dialog","aria-label":t("imageAltText.panelTitle"),class:["docx-toolbar__alt-text-panel",e.className],onMousedown:o=>o.stopPropagation(),children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${e.id}-description`,children:t("imageAltText.description")}),jsxRuntime.jsx("textarea",{id:`${e.id}-description`,class:"docx-dialog__textarea",value:e.value,onInput:o=>{e.onValueChange(o.target.value);},placeholder:t("dialogs.imageProperties.altTextPlaceholder")}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",disabled:!e.isEnabled,onClick:e.onApply,children:t("common.apply")})]})]})}});var Uc=e=>e.image;function qc(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 ah(e){e instanceof HTMLElement&&!e.closest(".docx-editor")&&e.classList.add("docx-editor");}function lh(e){let t=e.target?.tagName;t==="INPUT"||t==="SELECT"||t==="TEXTAREA"||e.preventDefault();}function ms(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(Ct(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(Ct(t.verticalEmu)):"",relativeToH:"page",relativeToV:"line"}:{positionMode:"frame",horizontalPoints:t.horizontalEmu!==void 0?String(Ct(t.horizontalEmu)):"",verticalPoints:t.verticalEmu!==void 0?String(Ct(t.verticalEmu)):"",relativeToH:t.relativeToH??"page",relativeToV:t.relativeToV??"line"}}function ih(e,t){let o=ms(t);return e.horizontalPoints!==o.horizontalPoints||e.verticalPoints!==o.verticalPoints||e.relativeToH!==o.relativeToH||e.relativeToV!==o.relativeToV}function Fa(e){if(e.trim()==="")return null;let t=Number(e);if(!Number.isFinite(t))return null;let o=Mn(t);return Number.isInteger(o)?o:null}function sh(e,t){let o=ms(t);if(e.positionMode==="simple"||t.position?.mode==="simple"){let u=e.horizontalPoints!==o.horizontalPoints,p=e.verticalPoints!==o.verticalPoints,d=u?Fa(e.horizontalPoints):t.position?.horizontalEmu,c=p?Fa(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,l=e.relativeToH!==o.relativeToH,a=e.relativeToV!==o.relativeToV,i=n?Fa(e.horizontalPoints):t.position?.horizontalEmu,s=r?Fa(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}:{},...l||n||r?{relativeToH:e.relativeToH}:{},...a||n||r?{relativeToV:e.relativeToV}:{}}}}function La(e){let t=Number(e);return !Number.isFinite(t)||t<0||t>100?null:t}function Aa(e){let t=Number(e);return !Number.isFinite(t)||t<=0?null:t}var qn=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=D(),{t:o}=_(),n=k(Uc),r=re("image-prop-title"),l=re("image-prop-wrap"),a=re("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 v=n.value;if(v){if(s.value=v,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(Ct(v.widthEmu)),heightPoints:String(Ct(v.heightEmu)),cropLeft:String(v.crop.left),cropTop:String(v.crop.top),cropRight:String(v.crop.right),cropBottom:String(v.crop.bottom),title:v.title,description:v.description,hyperlink:v.hyperlink??"",wrap:v.wrap,lockAspect:v.locks.changeAspect,...ms(v)};}},{flush:"post"});let m=()=>{e.triggerRef?.current?.focus(),t.value?.focus();},g=()=>{e.onClose(),m();};vue.watch(()=>[e.open,i.value],async([v,x],S,E)=>{if(!v||!x)return;let M=false,w=null;if(E(()=>{M=true,w&&document.removeEventListener("keydown",w);}),await vue.nextTick(),M||!e.open||i.value!==x)return;let P=qc(x);(P.find(R=>R.id==="image-prop-width"&&!R.hasAttribute("disabled"))??P.find(R=>!R.hasAttribute("disabled"))??x).focus(),w=R=>{if(R.key==="Escape"){R.preventDefault(),g();return}if(R.key!=="Tab")return;let H=qc(x);if(H.length===0)return;let L=document.activeElement,z=H.findIndex(Z=>Z===L);if(z===-1)return;R.preventDefault();let X=R.shiftKey?(z-1+H.length)%H.length:(z+1)%H.length;H[X]?.focus();},document.addEventListener("keydown",w);},{flush:"post"});let y=vue.computed(()=>{let v=s.value??n.value;return !v||v.widthEmu<=0?1:v.widthEmu/v.heightEmu}),b=v=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,widthPoints:v};return}let S=Aa(v);if(S===null){d.value={...x,widthPoints:v};return}let E=Math.round(S/y.value*100)/100;d.value={...x,widthPoints:v,heightPoints:String(E)};},h=v=>{let x=d.value;if(!x)return;if(!x.lockAspect){d.value={...x,heightPoints:v};return}let S=Aa(v);if(S===null){d.value={...x,heightPoints:v};return}let E=Math.round(S*y.value*100)/100;d.value={...x,widthPoints:String(E),heightPoints:v};},f=()=>{let v=s.value;if(!v?.intrinsic)return;let x=v.intrinsic.pixelWidth*72/v.intrinsic.dpiX,S=v.intrinsic.pixelHeight*72/v.intrinsic.dpiY,E=d.value;E&&(d.value={...E,widthPoints:String(Math.round(x*100)/100),heightPoints:String(Math.round(S*100)/100)});},C=v=>{d.value&&(d.value={...d.value,...v});},T=()=>{let v=s.value,x=u.value,S=p.value,E=d.value;if(!t.value||!v||!E||!x||S===null)return;let M=v.canResize===false,w=v.canCrop===false,P={type:"setImageProperties",drawingNodeId:v.id,expectedPackageRevision:S,selectionParagraphId:x.paragraphId,selectionOffset:x.offset};if(!M){let X=Aa(E.widthPoints),Z=Aa(E.heightPoints);if(X===null||Z===null){c.value="imageProperties.errors.invalidDimensions";return}let me=Mn(X),Y=Mn(Z);me!==v.widthEmu&&(P.widthEmu=me),Y!==v.heightEmu&&(P.heightEmu=Y);}if(v.canCrop&&!w){let X=La(E.cropLeft),Z=La(E.cropTop),me=La(E.cropRight),Y=La(E.cropBottom);if(X===null||Z===null||me===null||Y===null){c.value="imageProperties.errors.invalidCrop";return}let ee=v.crop;(X!==ee.left||Z!==ee.top||me!==ee.right||Y!==ee.bottom)&&(P.crop={left:X,top:Z,right:me,bottom:Y});}E.title!==v.title&&(P.title=E.title),E.description!==v.description&&(P.description=E.description);let N=E.hyperlink.trim();if(N!==(v.hyperlink??"")&&(P.hyperlink=N===""?null:N),v.canChangeWrap&&E.wrap!==v.wrap&&(P.wrap=E.wrap),v.kind==="anchored"&&v.canMove&&ih(E,v)){let X=sh(E,v);if(!X.ok){c.value="imageProperties.errors.invalidPosition";return}if(!editor.validateDrawingPositionInput(editor.positionInputFromPropertiesCommand(X.value,v))){c.value="imageProperties.errors.invalidPosition";return}Object.assign(P,X.value);}if(!(P.widthEmu!==void 0||P.heightEmu!==void 0||P.title!==void 0||P.description!==void 0||P.hyperlink!==void 0||P.crop!==void 0||P.wrap!==void 0||P.horizontalEmu!==void 0||P.verticalEmu!==void 0||P.relativeToH!==void 0||P.relativeToV!==void 0)){g();return}if(!t.value.can(P).ok){c.value="imageProperties.errors.refused";return}if(!t.value.exec(P).ok){c.value="imageProperties.errors.refused";return}g();};return ()=>{if(!e.open||!d.value)return null;let v=d.value,x=s.value,S=x?.canCrop===false,E=x?.canResize===false,M=x?.locks.changeAspect===true,w=x?.kind==="anchored"&&x.canMove===true,P=x?.kind==="inline",N=x?.kind==="anchored"&&x.canMove===false;return jsxRuntime.jsx("div",{ref:ah,class:`docx-dialog-overlay${e.className?` ${e.className}`:""}`,onClick:g,onMousedown:R=>{R.stopPropagation(),lh(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:v.widthPoints,disabled:E,onChange:R=>b(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:v.heightPoints,disabled:E,onChange:R=>h(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:v.lockAspect,disabled:M,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:S||!x?.intrinsic,onClick:f,children:o("imageProperties.resetNaturalSize")})]}),jsxRuntime.jsxs("section",{class:"docx-dialog__section",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("imageProperties.position")}),P?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionUnavailable")}):null,N?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.positionLocked")}):null,w?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[v.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:v.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:v.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:v.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:v.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:v.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:v.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:a,children:o("hyperlinkPopup.urlLabel")}),jsxRuntime.jsx("input",{id:a,class:"docx-dialog__input docx-dialog__input--full",value:v.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:l,children:o("formattingBar.imageWrap")}),jsxRuntime.jsx("select",{id:l,class:"docx-dialog__select docx-dialog__input--full",value:v.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:S,value:v.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:S,value:v.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:S,value:v.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:S,value:v.cropBottom,onChange:R=>C({cropBottom:R.target.value})})]}),S?jsxRuntime.jsx("p",{class:"docx-dialog__hint",children:o("imageProperties.nonPictureHint")}):null]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__footer",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:g,children:o("common.cancel")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button docx-dialog__button--primary",onClick:T,children:o("common.apply")})]})]})})}}}),Ha=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=ot(),n=D(),{t:r}=_(),l=k(Uc),a=vue.ref(false);vue.watch(()=>o.value?.imageProperties,u=>{u===false&&(a.value=false);});let i=vue.ref(null),s={type:"setImageProperties",description:"probe"};return ()=>{if(e.hidden)return null;let u=n.value&&l.value?n.value.can(s):null,p=u?.ok===true,d=u&&!u.ok?u.reason:null,c=q("image.properties"),m={type:"button",ref:i,class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":"image.properties",disabled:!p,...p?{}:{"data-disabled":""},"aria-label":r("formattingBar.imagePropertiesShortcut"),title:d??r("formattingBar.imagePropertiesShortcut"),onMousedown:I,onClick:()=>{o.value?.imageProperties!==false&&(a.value=true);}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.asChild?jsxRuntime.jsx(A,{...m,children:t.default?.()}):jsxRuntime.jsx("button",{...m,children:t.default?.()??$(c?.paths)}),o.value?.imageProperties===false?null:o.value?.imageProperties?de(o.value.imageProperties,{open:a.value,onClose:()=>{a.value=false;},triggerRef:yn(i)}):jsxRuntime.jsx(qn,{open:a.value,onClose:()=>{a.value=false;},triggerRef:yn(i)})]})}}});Ha.docxSlot="image.properties";var Oa=Object.assign(Ha,{docxSlot:"image.properties"});var gs=To("TextFormFieldDialog");function fh(){return gs.useContext()}var gh=vue.defineComponent({name:"DocxEditorTextFormFieldDialog",props:{children:Object,session:{type:Object,default:null},preset:{type:Boolean,default:true},className:String,style:Object},setup(e,{slots:t}){let o=Je(),n=vue.ref({defaultText:"",type:"regular",maxLength:0,format:"",enabled:true}),r=vue.ref(false),l=vue.ref(false);vue.watch(()=>e.session,(p,d,c)=>{if(r.value=false,l.value=false,!p)return;let{defaultText:m,type:g,maxLength:y,format:b,enabled:h}=p.field;n.value={defaultText:m,type:g,maxLength:y,format:b,enabled:h};let f=()=>{l.value=true;};p.signal.addEventListener("abort",f,{once:true}),c(()=>p.signal.removeEventListener("abort",f));},{immediate:true});let a=k(()=>e.session?.canApply()??false,Object.is,{extraDeps:()=>e.session}),i=()=>e.session?.cancel(),s=()=>{if(!e.session?.canApply()){r.value=true;return}let{defaultText:p,...d}=n.value;r.value=!e.session?.apply(p,d);},u=gs.provideContext({values:n,errors:vue.computed(()=>r.value?{form:o("textFormField.invalidOptions")}:{}),isEnabled:a,setValue:(p,d)=>{n.value={...n.value,[p]:d,...p==="type"?{format:""}:{}};},apply:s,cancel:i});return ()=>{if(!e.session||e.session.signal.aborted||l.value)return null;let p=n.value,d=(b,h)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":b,class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label",children:o(`textFormField.${b}`)}),h]}),c={Uppercase:"textFormField.uppercase",Lowercase:"textFormField.lowercase","First capital":"textFormField.firstCapital","Title case":"textFormField.titleCase"},m=b=>{let h=c[b];return h?o(h):b||o("textFormField.noFormat")},g=editor.TEXT_FORM_FORMATS[p.type]??[],y=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("textFormField.title")})}),jsxRuntime.jsxs("div",{"data-docx-part":"body",class:"docx-dialog__body",children:[d("defaultText",jsxRuntime.jsx("input",{class:"docx-dialog__input",value:p.defaultText,onInput:b=>{p.defaultText=b.target.value;}})),d("type",jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:p.type,onChange:b=>{p.type=b.target.value,p.format="";},children:[["regular","number","date"].map(b=>jsxRuntime.jsx("option",{value:b,children:o(`textFormField.${b}`)})),["regular","number","date"].includes(p.type)?null:jsxRuntime.jsx("option",{value:p.type,disabled:true,children:o("textFormField.preservedType")})]})),d("maxLength",jsxRuntime.jsx("input",{class:"docx-dialog__input",type:"number",min:0,max:32767,step:1,value:p.maxLength,onInput:b=>{p.maxLength=Number(b.target.value);}})),d("format",jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:p.format,onChange:b=>{p.format=b.target.value;},children:[g.map(b=>jsxRuntime.jsx("option",{value:b,children:m(b)})),g.includes(p.format)?null:jsxRuntime.jsx("option",{value:p.format,disabled:true,children:p.format})]})),d("enabled",jsxRuntime.jsx("input",{type:"checkbox",checked:p.enabled,onChange:b=>{p.enabled=b.target.checked;}}))]}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",role:"alert",class:"docx-dialog__error",children:r.value?o("textFormField.invalidOptions"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",class:"docx-dialog__button docx-dialog__cancel",type:"button",onClick:i,children:o("common.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",class:"docx-dialog__button docx-dialog__apply",type:"button",disabled:!a.value,onClick:s,children:o("common.apply")})]})]});return jsxRuntime.jsx(Be,{restoreFocus:false,sessionSignal:e.session.signal,dismissOutside:false,kind:"textFormField",label:o("textFormField.title"),onClose:i,class:e.className,style:e.style,onKeydown:b=>{b.key==="Enter"&&!b.isComposing&&!(b.target instanceof HTMLButtonElement)&&!(b.target instanceof HTMLSelectElement)&&(b.preventDefault(),s());},content:()=>u(y,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),$n=Object.assign(gh,gs.parts);var zc="(prefers-color-scheme: dark)";function jc(){return typeof window<"u"&&typeof window.matchMedia=="function"}function Gc(){return jc()?window.matchMedia(zc).matches:false}function Zc(e,t){return e==="dark"||e==="system"&&t}function ys(e){if(!jc())return ()=>{};let t=window.matchMedia(zc);e(t.matches);let o=n=>e(n.matches);return t.addEventListener("change",o),()=>t.removeEventListener("change",o)}var yh=e=>e.pageSetup??null,vh=e=>e.editable;function Jt(){let e=D(),t=k(yh),o=k(vh),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setPageSetup",marginTop:0}).ok),r=l=>e.value?e.value.exec({...l.pageWidthTwips!==void 0?{pageWidth:l.pageWidthTwips}:{},...l.pageHeightTwips!==void 0?{pageHeight:l.pageHeightTwips}:{},...l.orientation!==void 0?{orientation:l.orientation}:{},...l.marginTopTwips!==void 0?{marginTop:l.marginTopTwips}:{},...l.marginRightTwips!==void 0?{marginRight:l.marginRightTwips}:{},...l.marginBottomTwips!==void 0?{marginBottom:l.marginBottomTwips}:{},...l.marginLeftTwips!==void 0?{marginLeft:l.marginLeftTwips}:{},...l.scope!==void 0?{scope:l.scope}:{},type:"setPageSetup"}).ok:false;return {pageSetup:vue.computed(()=>t.value),isEnabled:n,apply:r}}var vs=[{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}],ep=1440,Jc=12240,Qc=15840,Mt=1440,Th=e=>Math.round(e/ep*100)/100,Eh=e=>Math.round(e*ep);function Ph(e,t){let o=Math.min(e,t),n=Math.max(e,t);return vs.findIndex(r=>Math.abs(r.width-o)<20&&Math.abs(r.height-n)<20)}var bs=To("PageSetupDialog");function Sh(){return bs.useContext()}var wh=vue.defineComponent({name:"DocxEditorPageSetupDialog",props:{children:Object,open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},style:Object,preset:{type:Boolean,default:true}},setup(e,{slots:t}){let{t:o}=_(),n=jr(()=>e.open,e.onClose),r=Jt(),l=vue.ref(Jc),a=vue.ref(Qc),i=vue.ref("portrait"),s=vue.ref(Mt),u=vue.ref(Mt),p=vue.ref(Mt),d=vue.ref(Mt),c=vue.ref("document"),m=vue.ref(false),g=vue.ref("no");vue.watch([()=>e.open,()=>r.pageSetup.value],([T])=>{if(!T){m.value=false,g.value="no";return}let v=r.pageSetup.value;if(g.value==="yes"&&v===null){g.value="no";return}g.value==="yes"||g.value==="loading"&&v===null||(l.value=v?.pageWidthTwips??Jc,a.value=v?.pageHeightTwips??Qc,i.value=v?.orientation??"portrait",s.value=v?.marginsTwips.top??Mt,u.value=v?.marginsTwips.bottom??Mt,p.value=v?.marginsTwips.left??Mt,d.value=v?.marginsTwips.right??Mt,c.value="document",g.value=v===null?"loading":"yes");},{flush:"post",immediate:true});let y=T=>{let v=vs[T];v&&(l.value=i.value==="landscape"?v.height:v.width,a.value=i.value==="landscape"?v.width:v.height);},b=T=>{if(T===i.value)return;let v=l.value,x=a.value;i.value=T,l.value=x,a.value=v;},h=()=>{if(!n())return;let T=r.apply({pageWidthTwips:l.value,pageHeightTwips:a.value,orientation:i.value,marginTopTwips:s.value,marginRightTwips:d.value,marginBottomTwips:u.value,marginLeftTwips:p.value,scope:c.value});m.value=!T,T&&e.onClose();},f={pageWidth:l,pageHeight:a,orientation:i,marginTop:s,marginBottom:u,marginLeft:p,marginRight:d,scope:c},C=bs.provideContext({values:vue.computed(()=>({...Object.fromEntries(Object.entries(f).map(([T,v])=>[T,v.value]))})),errors:vue.computed(()=>m.value?{form:o("dialogs.paragraph.refused")}:{}),isEnabled:r.isEnabled,setValue:(T,v)=>{T==="orientation"?b(v):f[T].value=v;},apply:h,cancel:e.onClose});return ()=>{if(!e.open)return null;let T=Ph(l.value,a.value),v=(E,M,w)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":E,class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label",children:M}),vue.cloneVNode(w,{"aria-label":M}),E.startsWith("margin")?jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:"in"}):null]}),x=["top","bottom","left","right"],S=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("dialogs.pageSetup.title")})}),jsxRuntime.jsxs("div",{"data-docx-part":"body",class:"docx-dialog__body",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.pageSetup.pageSize")}),v("pageSize",o("dialogs.pageSetup.sizeLabel"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:T,onChange:E=>y(Number(E.target.value)),children:[vs.map((E,M)=>jsxRuntime.jsx("option",{value:M,children:o(E.labelKey)})),T<0?jsxRuntime.jsx("option",{value:-1,children:o("dialogs.pageSetup.custom")}):null]})),v("orientation",o("dialogs.pageSetup.orientation"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:i.value,onChange:E=>b(E.target.value),children:[jsxRuntime.jsx("option",{value:"portrait",children:o("dialogs.pageSetup.portrait")}),jsxRuntime.jsx("option",{value:"landscape",children:o("dialogs.pageSetup.landscape")})]})),jsxRuntime.jsx("div",{class:"docx-dialog__section-label docx-dialog__section-label--spaced",children:o("dialogs.pageSetup.margins")}),x.map(E=>{let M=`margin${E[0].toUpperCase()}${E.slice(1)}`;return v(M,o(`dialogs.pageSetup.${E}`),jsxRuntime.jsx("input",{class:"docx-dialog__input",type:"number",min:0,max:22,step:.1,value:Th(f[M].value),onInput:w=>{f[M].value=Math.max(0,Eh(Number(w.target.value)||0));}}))}),v("scope",o("dialogs.pageSetup.applyTo"),jsxRuntime.jsxs("select",{class:"docx-dialog__input",value:c.value,onChange:E=>{c.value=E.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:o("dialogs.pageSetup.applyToDocument")}),jsxRuntime.jsx("option",{value:"section",children:o("dialogs.pageSetup.applyToSection")})]}))]}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",class:"docx-dialog__error",role:"alert",children:m.value?o("dialogs.paragraph.refused"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",class:"docx-dialog__button docx-dialog__cancel",type:"button",onClick:e.onClose,children:o("common.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",class:"docx-dialog__button docx-dialog__apply",type:"button",disabled:!r.isEnabled.value,onClick:h,children:o("common.apply")})]})]});return jsxRuntime.jsx(Be,{kind:"pageSetup",label:o("dialogs.pageSetup.title"),onClose:e.onClose,class:e.className,style:e.style,onKeydown:E=>{E.key==="Enter"&&!E.isComposing&&!(E.target instanceof HTMLButtonElement)&&!(E.target instanceof HTMLSelectElement)&&r.isEnabled.value&&(E.preventDefault(),h());},content:()=>C(S,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),eo=Object.assign(wh,bs.parts);var Mh={contextualSpacing:null,keepNext:null,keepLines:null,widowControl:null,pageBreakBefore:null},Rh=e=>{let t=e.formatting??null;if(!t)return null;let o=t.indent,n=t.paragraphFlags??Mh;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}}},Dh=["alignment","spaceBeforePt","spaceAfterPt","lineSpacing","tabStops","indentLeft","indentRight","indentFirstLine"],_h=(e,t)=>Dh.every(o=>e.disagrees[o]===t.disagrees[o]),kh=(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&&_h(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")),Ih=e=>e.editable;function hs(){let e=D(),t=k(Rh,kh),o=k(Ih),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setParagraphFormat",alignment:"left"}).ok),r=l=>{if(!e.value)return false;let a={type:"setParagraphFormat",...l};return e.value.can(a).ok?e.value.exec(a).ok:false};return {format:vue.computed(()=>t.value),isEnabled:n,apply:r}}var xs=To("ParagraphDialog");function Hh(){return xs.useContext()}var Oh=vue.defineComponent({name:"DocxEditorParagraphDialog",props:{children:Object,open:{type:Boolean,required:true},onClose:{type:Function,required:true},className:{type:String,default:void 0},style:Object,preset:{type:Boolean,default:true}},setup(e,{slots:t}){let{t:o}=_(),n=jr(()=>e.open,e.onClose),r=hs(),l=vue.ref("left"),a=vue.ref(0),i=vue.ref(0),s=vue.ref("none"),u=vue.ref(0),p=vue.ref(0),d=vue.ref(0),c=vue.ref("multiple"),m=vue.ref(1.08),g=vue.ref(false),y=vue.ref(false),b=vue.ref(false),h=vue.ref(true),f=vue.ref(false),C=vue.ref([]),T=vue.ref(false),v=vue.ref(0),x=vue.ref("left"),S=vue.ref("none"),E=vue.ref(false),M=vue.ref(null),w=vue.ref(editor.NO_MIXED_FIELDS),P=vue.ref(false),N=vue.ref(editor.NO_MIXED_FIELDS),R=vue.getCurrentInstance(),H=vue.ref(false),L=`docx-paragraph-${R?.uid??0}`;vue.watch(()=>[e.open,r.format.value],([Y,ee])=>{if(!Y){E.value=false;return}if(E.value||ee===null)return;let le=editor.seedFields(ee);l.value=le.alignment,a.value=le.indentLeft,i.value=le.indentRight,s.value=le.special,u.value=le.specialBy,p.value=le.spaceBefore,d.value=le.spaceAfter,c.value=le.lineRule,m.value=le.lineValue,g.value=le.contextualSpacing,y.value=le.keepNext,b.value=le.keepLines,h.value=le.widowControl,f.value=le.pageBreakBefore,C.value=le.tabStops,T.value=false,w.value=editor.mixedFieldsOf(ee),P.value=ee.indentUnknown,v.value=0,x.value="left",S.value="none",N.value=w.value,H.value=false,M.value=le,E.value=true;},{immediate:true});let z=()=>{let Y=Math.round(v.value);return Y<=0?false:(w.value={...w.value,tabStops:false},C.value=editor.withTabStop(C.value,{positionTwips:Y,alignment:x.value,...S.value!=="none"?{leader:S.value}:{}}),v.value=0,x.value="left",S.value="none",true)},X=()=>{if(!n())return;let Y=M.value,ee=Y===null?null:editor.changedFields(Y,{alignment:l.value,indentLeft:a.value,indentRight:i.value,special:s.value,specialBy:u.value,spaceBefore:p.value,spaceAfter:d.value,lineRule:c.value,lineValue:m.value,contextualSpacing:g.value,keepNext:y.value,keepLines:b.value,widowControl:h.value,pageBreakBefore:f.value,tabStops:C.value,clearedAllTabStops:T.value},N.value,w.value);if(ee===null){e.onClose();return}if(r.apply(ee)){H.value=false,e.onClose();return}H.value=true;},Z={alignment:l,indentLeft:a,indentRight:i,special:s,specialBy:u,spaceBefore:p,spaceAfter:d,lineRule:c,lineValue:m,contextualSpacing:g,keepNext:y,keepLines:b,widowControl:h,pageBreakBefore:f,tabStops:C,clearedAllTabStops:T},me=xs.provideContext({mixed:w,values:vue.computed(()=>Object.fromEntries(Object.entries(Z).map(([Y,ee])=>[Y,ee.value]))),errors:vue.computed(()=>H.value?{form:o("dialogs.paragraph.refused")}:{}),isEnabled:r.isEnabled,setValue:(Y,ee)=>{Z[Y].value=ee,Y==="lineRule"&&(m.value=ee===M.value?.lineRule?M.value.lineValue:ee==="multiple"?1.08:12);let le=Y==="lineRule"?"lineSpacing":Y==="specialBy"?"special":Y;Y!=="lineValue"&&(w.value={...w.value,[le]:false});},apply:X,cancel:e.onClose});return ()=>{if(!e.open)return null;let Y=F=>P.value&&(F==="indentLeft"||F==="indentRight"||F==="special")?o("dialogs.paragraph.notShown"):o("dialogs.paragraph.mixed"),ee=F=>{w.value={...w.value,[F]:false};},le=(F,De,mn,Se)=>jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":F==="by"?"specialBy":Se??F,class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-${F}`,children:o(`dialogs.paragraph.${F}`)}),jsxRuntime.jsx("input",{id:`${L}-${F}`,type:"number",class:"docx-dialog__input",min:"0",step:"0.1",...F==="tabPosition"?{"data-docx-tab-entry":""}:{},value:Se&&w.value[Se]?"":editor.twipsToInches(De),placeholder:Se&&w.value[Se]?Y(Se):void 0,onInput:jl=>{Se&&ee(Se),mn(editor.inchesToTwips(Number(jl.target.value)||0));},"aria-label":o(`dialogs.paragraph.${F}`)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("dialogs.paragraph.unitInches")})]}),$r=(F,De,mn,Se)=>jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":Se,class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-${F}`,children:o(`dialogs.paragraph.${F}`)}),jsxRuntime.jsx("input",{id:`${L}-${F}`,type:"number",class:"docx-dialog__input",min:"0",step:"1",value:w.value[Se]?"":De,placeholder:w.value[Se]?Y(Se):void 0,onInput:jl=>{ee(Se),mn(Math.max(0,Number(jl.target.value)||0));},"aria-label":o(`dialogs.paragraph.${F}`)}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:o("dialogs.paragraph.unitPoints")})]}),ho=(F,De,mn)=>jsxRuntime.jsxs("label",{"data-docx-part":"field","data-docx-field":F,class:"docx-dialog__checkbox-row",children:[jsxRuntime.jsx("input",{type:"checkbox",checked:De,".indeterminate":w.value[F],onChange:Se=>{w.value={...w.value,[F]:false},mn(Se.target.checked);}}),o(`dialogs.paragraph.${F}`)]}),Ng=jsxRuntime.jsxs(vue.Fragment,{children:[jsxRuntime.jsx("div",{"data-docx-part":"header",class:"docx-dialog__header",children:jsxRuntime.jsx("span",{"data-docx-part":"title",class:"docx-dialog__title",children:o("dialogs.paragraph.title")})}),jsxRuntime.jsx("div",{"data-docx-part":"body",class:"docx-dialog__body",children:jsxRuntime.jsxs("div",{class:"docx-dialog__columns",children:[jsxRuntime.jsxs("div",{class:"docx-dialog__column",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.general")}),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"alignment",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-alignment`,children:o("dialogs.paragraph.alignment")}),jsxRuntime.jsxs("select",{id:`${L}-alignment`,class:"docx-dialog__input",value:w.value.alignment?"":l.value,onChange:F=>{ee("alignment"),l.value=F.target.value;},"aria-label":o("dialogs.paragraph.alignment"),children:[w.value.alignment?jsxRuntime.jsx("option",{value:"",children:o("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"left",children:o("dialogs.paragraph.alignLeft")}),jsxRuntime.jsx("option",{value:"center",children:o("dialogs.paragraph.alignCenter")}),jsxRuntime.jsx("option",{value:"right",children:o("dialogs.paragraph.alignRight")}),jsxRuntime.jsx("option",{value:"justify",children:o("dialogs.paragraph.alignJustify")})]})]}),jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.indentation")}),le("beforeText",a.value,F=>{a.value=F;},"indentLeft"),le("afterText",i.value,F=>{i.value=F;},"indentRight"),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"special",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-special`,children:o("dialogs.paragraph.special")}),jsxRuntime.jsxs("select",{id:`${L}-special`,class:"docx-dialog__input",value:w.value.special?"":s.value,onChange:F=>{ee("special"),s.value=F.target.value;},"aria-label":o("dialogs.paragraph.special"),children:[w.value.special?jsxRuntime.jsx("option",{value:"",children:Y("special")}):null,jsxRuntime.jsx("option",{value:"none",children:o("dialogs.paragraph.specialNone")}),jsxRuntime.jsx("option",{value:"firstLine",children:o("dialogs.paragraph.specialFirstLine")}),jsxRuntime.jsx("option",{value:"hanging",children:o("dialogs.paragraph.specialHanging")})]})]}),s.value!=="none"?le("by",u.value,F=>{u.value=Math.max(0,F);},"special"):null,jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"tabStops",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.tabStops")}),C.value.length===0?jsxRuntime.jsx("div",{class:"docx-dialog__note",children:o(w.value.tabStops?"dialogs.paragraph.tabMixed":"dialogs.paragraph.tabEmpty")}):C.value.map(F=>jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("span",{class:"docx-dialog__label docx-dialog__tab-position",children:o("dialogs.paragraph.tabPositionLabel",{position:editor.formatInches(F.positionTwips)})}),jsxRuntime.jsx("span",{class:"docx-dialog__tab-description",children:o(editor.TAB_ALIGNMENT_LABELS[F.alignment])}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>{C.value=C.value.filter(De=>De!==F);},"aria-label":o("dialogs.paragraph.tabRemoveAt",{position:editor.formatInches(F.positionTwips)}),children:o("dialogs.paragraph.tabRemove")})]},F.positionTwips)),le("tabPosition",v.value,F=>{v.value=Math.max(0,F);}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-tabAlignment`,children:o("dialogs.paragraph.tabAlignment")}),jsxRuntime.jsxs("select",{id:`${L}-tabAlignment`,class:"docx-dialog__input",value:x.value,onChange:F=>{x.value=F.target.value;},"aria-label":o("dialogs.paragraph.tabAlignment"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"left",children:o("dialogs.paragraph.tabAlignLeft")}),jsxRuntime.jsx("option",{value:"center",children:o("dialogs.paragraph.tabAlignCenter")}),jsxRuntime.jsx("option",{value:"right",children:o("dialogs.paragraph.tabAlignRight")}),jsxRuntime.jsx("option",{value:"decimal",children:o("dialogs.paragraph.tabAlignDecimal")})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-tabLeader`,children:o("dialogs.paragraph.tabLeader")}),jsxRuntime.jsxs("select",{id:`${L}-tabLeader`,class:"docx-dialog__input",value:S.value,onChange:F=>{S.value=F.target.value;},"aria-label":o("dialogs.paragraph.tabLeader"),"data-docx-tab-entry":"",children:[jsxRuntime.jsx("option",{value:"none",children:o("dialogs.paragraph.tabNone")}),jsxRuntime.jsx("option",{value:"dot",children:o("dialogs.paragraph.tabLeaderDot")}),jsxRuntime.jsx("option",{value:"hyphen",children:o("dialogs.paragraph.tabLeaderHyphen")}),jsxRuntime.jsx("option",{value:"underscore",children:o("dialogs.paragraph.tabLeaderUnderscore")})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__row docx-dialog__row--actions",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:z,children:o("dialogs.paragraph.tabAdd")}),jsxRuntime.jsx("button",{type:"button",class:"docx-dialog__button",onClick:()=>{w.value={...w.value,tabStops:false},C.value=[];},children:o("dialogs.paragraph.tabClearAll")})]})]})]}),jsxRuntime.jsxs("div",{class:"docx-dialog__column",children:[jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.spacing")}),$r("spaceBefore",p.value,F=>{p.value=F;},"spaceBefore"),$r("spaceAfter",d.value,F=>{d.value=F;},"spaceAfter"),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"lineRule",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-lineSpacing`,children:o("dialogs.paragraph.lineSpacing")}),jsxRuntime.jsxs("select",{id:`${L}-lineSpacing`,class:"docx-dialog__input",value:w.value.lineSpacing?"":c.value,onChange:F=>{let De=F.target.value;ee("lineSpacing"),c.value=De,m.value=De===M.value?.lineRule?M.value.lineValue:De==="multiple"?1.08:12;},"aria-label":o("dialogs.paragraph.lineSpacing"),children:[w.value.lineSpacing?jsxRuntime.jsx("option",{value:"",children:o("dialogs.paragraph.mixed")}):null,jsxRuntime.jsx("option",{value:"multiple",children:o("dialogs.paragraph.ruleMultiple")}),jsxRuntime.jsx("option",{value:"atLeast",children:o("dialogs.paragraph.ruleAtLeast")}),jsxRuntime.jsx("option",{value:"exact",children:o("dialogs.paragraph.ruleExactly")})]})]}),jsxRuntime.jsxs("div",{"data-docx-part":"field","data-docx-field":"lineValue",class:"docx-dialog__row",children:[jsxRuntime.jsx("label",{class:"docx-dialog__label",for:`${L}-at`,children:o("dialogs.paragraph.at")}),jsxRuntime.jsx("input",{id:`${L}-at`,type:"number",class:"docx-dialog__input",disabled:w.value.lineSpacing,min:"0.01",step:c.value==="multiple"?"0.01":"1",value:w.value.lineSpacing?"":m.value,onInput:F=>{let De=F.target.value.trim();m.value=De===""?c.value==="multiple"?1.08:12:Number(De)||0;},"aria-label":o("dialogs.paragraph.at")}),jsxRuntime.jsx("span",{class:"docx-dialog__unit",children:c.value==="multiple"?"":o("dialogs.paragraph.unitPoints")})]}),ho("contextualSpacing",g.value,F=>{g.value=F;}),jsxRuntime.jsx("div",{class:"docx-dialog__section-label",children:o("dialogs.paragraph.pagination")}),ho("keepNext",y.value,F=>{y.value=F;}),ho("widowControl",h.value,F=>{h.value=F;}),ho("keepLines",b.value,F=>{b.value=F;}),ho("pageBreakBefore",f.value,F=>{f.value=F;})]})]})}),jsxRuntime.jsxs("div",{"data-docx-part":"footer",class:"docx-dialog__footer",children:[jsxRuntime.jsx("span",{"data-docx-part":"error",role:"alert",class:"docx-dialog__error",children:H.value?o("dialogs.paragraph.refused"):null}),jsxRuntime.jsx("button",{"data-docx-part":"cancel",type:"button",class:"docx-dialog__button docx-dialog__cancel",onClick:e.onClose,children:o("dialogs.paragraph.cancel")}),jsxRuntime.jsx("button",{"data-docx-part":"apply",type:"button",class:"docx-dialog__button docx-dialog__apply",disabled:!r.isEnabled.value,onClick:X,children:o("dialogs.paragraph.ok")})]})]});return jsxRuntime.jsx(Be,{kind:"paragraph",label:o("dialogs.paragraph.title"),onClose:e.onClose,class:e.className,style:e.style,onKeydown:F=>{if(!(F.key!=="Enter"||F.isComposing||F.target instanceof HTMLButtonElement||F.target instanceof HTMLSelectElement)){if(F.preventDefault(),F.target instanceof HTMLElement&&F.target.dataset.docxTabEntry!==void 0){z();return}r.isEnabled.value&&X();}},content:()=>me(Ng,t.default?.()??(e.children?[e.children]:[]),e.preset)})}}}),st=Object.assign(Oh,xs.parts);var ap=Symbol("docx.dialogs");function Wh(e){let t=vue.shallowRef(null),o=vue.shallowRef(null),n=vue.shallowRef(null),r=null,l=()=>{o.value=null,n.value?.cancel(),n.value=null;let i=r;r=null,vue.nextTick(()=>{!o.value&&!n.value&&i?.isConnected&&i.focus({preventScroll:true});});};return {target:t,active:o,session:n,open:(i,s)=>{l(),e()?.[i]!==false&&(r=s??(document.activeElement instanceof HTMLElement?document.activeElement:null),o.value=i);},close:l,get ownsPageSetup(){return e()?.pageSetup!==void 0}}}var to=()=>vue.inject(ap,null),lp=vue.defineComponent({name:"DocxDialogHost",props:{popups:Object},setup(e,{slots:t}){let o=Wh(()=>e.popups);vue.provide(ap,o),vue.watch(()=>e.popups,l=>{(o.active.value&&l?.[o.active.value]===false||o.session.value&&l?.textFormField===false)&&o.close();},{deep:true});let n=D(),r=k(()=>n.value?.mountGeneration??0);return vue.watch(r,(l,a)=>{l!==a&&o.close();}),vue.watch(o.target,l=>{l||o.close();}),vue.watch(n,(l,a,i)=>{if(o.close(),!l)return;let s=l.setTextFormFieldChrome({onRequest:u=>{if(o.close(),e.popups?.textFormField===false){u.cancel();return}o.session.value=u,u.signal.addEventListener("abort",()=>{o.session.value===u&&(o.session.value=null);},{once:true});}},{fallback:true});i(()=>{s(),o.close();});},{immediate:true}),()=>[t.default?.(),o.target.value?vue.h(vue.Teleport,{to:o.target.value},[o.active.value==="pageSetup"&&e.popups?.pageSetup!==false?e.popups?.pageSetup?de(e.popups.pageSetup,{open:true,onClose:o.close}):vue.h(eo,{open:true,onClose:o.close}):null,o.active.value==="paragraph"&&e.popups?.paragraph!==false?e.popups?.paragraph?de(e.popups.paragraph,{open:true,onClose:o.close}):vue.h(st,{open:true,onClose:o.close}):null,o.session.value&&e.popups?.textFormField!==false?e.popups?.textFormField?de(e.popups.textFormField,{session:o.session.value},o.session.value):vue.h($n,{session:o.session.value}):null]):null]}}),Ts=vue.defineComponent({name:"DocxDialogPortal",props:{content:{type:Function,required:true}},setup(e){let t=to();return ()=>t?.target.value?vue.h(vue.Teleport,{to:t.target.value},[e.content()]):e.content()}});var Es=0,Ps=false,Ss=false;function ip(){let e=globalThis.navigator?.scheduling;return typeof e?.isInputPending!="function"?false:e.isInputPending({includeContinuous:true})?true:(Ps||(Ps=true,Es+=1,queueMicrotask(()=>{Ps=false;}),Ss||(Ss=true,setTimeout(()=>{Ss=false,Es=0;},0))),Es>16)}function sp(e){let t=false;return ()=>{if(t)return;t=true;let o=()=>{t=false,e();};ip()?setTimeout(o,0):queueMicrotask(o);}}function dp(){let e=0,t=0,o=null,n=new Set,r=new Set,l=new Set,a=i=>{for(let s of [...i])s();};return {getShift:()=>e,setShift(i){let s=Math.max(0,Math.round(i));s!==e&&(e=s,a(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,a(r));},subscribeReservation(i){return r.add(i),()=>r.delete(i)},getViewport:()=>o,setViewport(i){i!==o&&(o=i,a(l));},subscribeViewport(i){return l.add(i),()=>l.delete(i)}}}var Rs=Symbol("navigationLayout");function oo(){return vue.inject(Rs,null)}function no(){let e=oo(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getShift();};a();let i=n.subscribeShift(a);l(i);},{immediate:true,flush:"post"});return J(o),t}function up(){let e=oo(),t=vue.shallowRef(0),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=0;return}let a=()=>{t.value=n.getReservation();};a();let i=n.subscribeReservation(a);l(i);},{immediate:true,flush:"post"});return J(o),t}function dt(){let e=oo(),t=vue.shallowRef(null),o=vue.watch(()=>e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.getViewport();};a();let i=n.subscribeViewport(a);l(i);},{immediate:true,flush:"post"});return J(o),t}function cp(){let e=new Set,t=new Map,o=new Map,n=0,r=null,l=false,a=null,i=false;function s(){if(e.size===0&&t.size===0)return;if(t.size===0)return "kind";let c=Object.create(null),m=[...t].sort((g,y)=>(o.get(g[0])??0)-(o.get(y[0])??0));for(let[,{author:g,style:y}]of m)c[g]=y;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 m=Object.entries(c.authors).map(([g,y])=>`${g}\0${JSON.stringify(y)}`).sort();return `${c.others??"kind"}${m.join("")}`}function p(){if(!r)return;let c=s(),m=u(c);if(m!==a){if(c===void 0){l&&(r.setRevisionStyles("author"),l=false,a=m);return}r.setRevisionStyles(c),l=true,a=m;}}function d(){!r||i||(i=true,queueMicrotask(()=>{i=false,p();}));}return {registerScheme(c){e.add(c),d();},register(c,m,g){o.has(c)||o.set(c,n++),t.set(c,{author:m,style:g}),d();},unregister(c){(e.delete(c)||t.delete(c))&&d();},connect(c){r=c;let m=s();l=c!==null&&m!==void 0,a=c===null?null:u(m),d();},current:s}}var zn=Symbol("RevisionStyleRegistry");var pp=Symbol("docxEditorRootOwner"),ks=Symbol("docxEditorRootHostEmit");function Xh(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 Is(e,t){let o=vue.shallowRef(null),n=vue.shallowRef(0);vue.provide(Jl,o),vue.provide(Ql,n),vue.provide(Rs,dp()),vue.provide(pp,true);let r=cp();vue.provide(zn,r);let l=_(),a=vue.computed(()=>{l.catalogue.value;let v=vue.toValue(e).translate;return (x,S)=>v?v(x,S):l.t(x,S)});vue.provide(li,a);let i=vue.shallowRef(0),s=[],u=v=>(s.push(v),()=>{let x=s.indexOf(v);x!==-1&&s.splice(x,1);}),p=()=>{let v=s.at(-1);return v?(v(),true):false},d=vue.shallowRef({mounted:0,register:()=>()=>{},registerCommentDraft:u,requestCommentDraft:p});vue.watch(i,v=>{d.value={mounted:v,register:()=>(i.value++,()=>{i.value=Math.max(0,i.value-1);}),registerCommentDraft:u,requestCommentDraft:p};},{immediate:true}),vue.provide(xo,d);let c=[],m=false,g=()=>{for(let x of c.splice(0))x();let v=o.value;v&&(r.connect(null),v.destroy(),o.value=null),m=false;},y=v=>{m||(m=true,t.ready(v));},b=v=>{t.change(v);},h=v=>{t.fontError(v);},f=()=>{if(typeof window>"u")return;g();let v=vue.toValue(e),x=editor.createDocxEditor({...v.document!==void 0?{document:v.document}:{},...v.fonts?{fonts:v.fonts}:{},...v.author!==void 0?{author:v.author}:{},...v.locale!==void 0?{locale:v.locale}:{},translate:a.value,...v.mode!==void 0?{mode:v.mode}:{},...r.current()!==void 0?{revisionStyles:r.current()}:{},...v.modules!==void 0?{modules:v.modules}:{},...v.zoom!==void 0?{zoom:v.zoom}:{},...v.zoomMode!==void 0?{zoomMode:v.zoomMode}:{},...v.tableInteractionLabel?{tableInteractionLabel:v.tableInteractionLabel}:{},...v.imageDecodePort?{imageDecodePort:v.imageDecodePort}:{},onFontError:h}),S=sp(()=>{n.value++;});c.push(x.on("change",E=>{b(E),S();})),c.push(x.on("selectionChange",S)),c.push(x.on("error",S)),r.connect(x),o.value=x;};vue.onMounted(()=>{vue.watch(o,v=>{if(!v)return;if(!v.snapshot().isOpening){y(v);return}let x=v.on("change",()=>{x(),y(v);});c.push(x);},{flush:"post",immediate:true});}),typeof window<"u"&&vue.watch(()=>[vue.toValue(e).document,vue.toValue(e).fonts,vue.toValue(e).imageDecodePort],f,{immediate:true,flush:"post"}),vue.onUnmounted(g);let C={zoom:void 0,mode:void 0};vue.watch(()=>[o.value,vue.toValue(e).zoom,vue.toValue(e).zoomMode],([,v,x])=>{if(!o.value)return;let S=o.value;v!==void 0&&v!==C.zoom&&(C.zoom=v,S.setZoom(v));let E=x!==void 0&&(C.mode===void 0||!Xh(C.mode,x)),M=x===void 0?null:editor.resolveZoomMode(x),w=v!==void 0&&x!==void 0&&M!==null&&M.type==="fit";(E||w)&&(C.mode=x,S.setZoomMode(x));},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).author],([v,x])=>{v&&v.setAuthor(x);},{flush:"post"});let T={editor:null,value:void 0};return vue.watch(()=>[o.value,vue.toValue(e).mode],([v,x])=>{if(v){if(T.editor!==v){T.editor=v,T.value=x;return}T.value!==x&&(T.value=x,v.setMode(x));}},{flush:"post",immediate:true}),vue.watch(()=>[o.value,a.value],([v,x])=>{v&&v.setTranslate(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).locale],([v,x])=>{v&&v.setLocale(x);},{flush:"post"}),vue.watch(()=>[o.value,vue.toValue(e).tableInteractionLabel],([v,x])=>{v&&v.setTableInteractionLabel(x??editor.defaultTableLabel);},{flush:"post"}),{editorRef:o,translateResolver:a}}function mp(){return vue.inject(pp,false)}var ex=vue.defineComponent({name:"HyperlinkPopupProvider",setup(e,{slots:t}){let o=ea(true);return vue.provide(Di,o),()=>t.default?.()}}),tx=vue.defineComponent({name:"ContentControlProvider",setup(e,{slots:t}){let o=oa();return vue.provide(qi,o),()=>t.default?.()}}),gp={ready:()=>{},change:()=>{},fontError:()=>{}};function ox(e){let{onReady:t,onChange:o,onFontError:n,...r}=e,l=vue.shallowRef({...r}),a={onReady:t,onChange:o,onFontError:n},i=vue.shallowRef({...gp});vue.provide(ks,i);let{editorRef:s}=Is(l,{ready:u=>i.value.ready(u),change:u=>i.value.change(u),fontError:u=>i.value.fontError(u)});return {DocxEditorRoot:Gn,rootProps:l,rootListeners:a,editorRef:s}}var Gn=vue.defineComponent({name:"DocxEditorRoot",props:{popups:Object,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=mp(),r=vue.inject(ks,null);return n&&r?(r.value={ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)},vue.onUnmounted(()=>{r.value={...gp};})):n||Is(e,{ready:l=>t("ready",l),change:l=>t("change",l),fontError:l=>t("fontError",l)}),()=>vue.h(ex,null,{default:()=>vue.h(tx,null,{default:()=>vue.h(pa,null,{default:()=>vue.h(Bc,{popups:e.popups},{default:()=>vue.h(lp,{popups:e.popups},{default:()=>o.default?.()})})})})})}});var Va=[.25,.5,.75,1,1.25,1.5,2];function Zn(e,t){return t==="in"?Va.find(n=>n>e+.001)??null:[...Va].reverse().find(n=>n<e-.001)??null}function yp(e,t){return e==="0"?1:e==="+"||e==="="?Zn(t,"in")??t:e==="-"?Zn(t,"out")??t:null}var As=316,Ls=44,ax=24,Wa={inlineStart:0,inlineEnd:As},vp={inlineStart:Ls,inlineEnd:Ls},bp={inlineStart:0,inlineEnd:0};function Cp({open:e,viewportWidth:t,pageWidthPx:o,inlineStartReservation:n=0,docked:r=false}){if(!e)return vp;if(r||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0)return Wa;let l=Number.isFinite(n)&&n>0?n:0;return t-l-o-2*ax>=As?Wa:vp}var lx=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}},ix=(e,t)=>e.reviewPaneOpen===t.reviewPaneOpen&&e.entitledZoom===t.entitledZoom&&e.pageSetup?.pageWidthTwips===t.pageSetup?.pageWidthTwips;function Tp(){let e=dt(),t=vue.shallowRef(null),o=vue.watch(e,(n,r,l)=>{if(!n){t.value=null;return}let a=()=>{t.value=n.clientWidth;};if(a(),typeof ResizeObserver>"u")return;let i=new ResizeObserver(a);i.observe(n),l(()=>i.disconnect());},{immediate:true,flush:"post"});return J(o),t}function Uo(){let e=Co(),t=k(lx,ix),o=dt(),n=up(),r=vue.ref(null),l=vue.shallowRef(bp),a=vue.watch([e,t,o,n],([i,s,u,p],d,c)=>{s.pageSetup&&(r.value=s.pageSetup.pageWidthTwips);let m=()=>{if((i.mounted??0)===0)return bp;let b=s.pageSetup?.pageWidthTwips??r.value;return Cp({open:s.reviewPaneOpen,viewportWidth:u?.clientWidth??0,pageWidthPx:b===null||s.entitledZoom===null?0:ue(b)*s.entitledZoom,inlineStartReservation:p,docked:s.entitledZoom===null})},g=()=>{let b=m();b!==l.value&&(l.value=b);};if(g(),!u||typeof ResizeObserver>"u")return;let y=new ResizeObserver(g);y.observe(u),c(()=>y.disconnect());},{immediate:true,flush:"post"});return J(a),l}var gx=e=>e.reviewPaneOpen??true,yx=e=>e.zoomMode?.type==="fit",qa=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}){let o=_();vue.provide(Vn,true);let n=Oe(),r=D(),l=k(gx),a=k(yx),i=Co(),s=vue.computed(()=>(i.value.mounted??0)>0),u=Uo(),p=no(),d=oo(),c=null;vue.onMounted(()=>{c&&d?.setViewport(c);}),vue.onUnmounted(()=>{d?.setViewport(null);}),vue.watch(p,g=>{c&&c.style.setProperty("--docx-nav-shift",`${g}px`),d?.setViewport(c);});let m=g=>{let y=r.value;if(!y||!(g.metaKey||g.ctrlKey)||g.altKey)return;let b=g.target;if(b instanceof Element&&b.closest('input, textarea, select, [role="dialog"]'))return;let h=yp(g.key,y.getZoom());h!==null&&(g.preventDefault(),y.setZoom(h));};return ()=>{let g={ref:y=>{c=y instanceof HTMLElement?y:null,d?.setViewport(c),c&&c.style.setProperty("--docx-nav-shift",`${p.value}px`);},"data-testid":"docx-editor-scroll",tabindex:0,role:"region","aria-label":o.t("editor.documentViewport"),onKeydownCapture:m,class:_e(`${n}docx-editor-one-surface docx-editor-one-surface__viewport docx-editor__scroll-container`,e.class,e.className),style:{...e.style,"--docx-nav-shift":`${p.value}px`,...s.value?{"--docx-review-gutter":`${u.value.inlineEnd}px`,"--docx-review-gutter-start":`${u.value.inlineStart}px`}:{}}};return s.value&&(g["data-review-pane"]=l.value?"open":"closed"),a.value&&(g["data-zoom-fit"]=""),vue.h("div",g,t.default?.())}}});function Hs(e){return e==="checkbox"?"contentControlCheckbox":e==="picture"?"contentControlPicture":"contentControlWidget"}var Sp=vue.defineComponent({name:"DocxConfiguredEnginePopups",setup(){let e=ot(),t=D(),o=vue.shallowRef(null),n=vue.shallowRef(null);return vue.watch([t,()=>e.value?.contentControlWidget!==void 0,()=>e.value?.contentControlCheckbox!==void 0,()=>e.value?.contentControlPicture!==void 0],([r,l,a,i],s,u)=>{if(!r||!l&&!a&&!i)return;let p=[...l?["dropdown","comboBox","date","buildingBlockGallery"]:[],...a?["checkbox"]:[],...i?["picture"]:[]],d=r.setContentControlWidgetChrome({kinds:p,onRequest:c=>{if(e.value?.[Hs(c.kind)]===false){c.cancel();return}o.value=c,c.signal.addEventListener("abort",()=>{o.value===c&&(o.value=null);},{once:true});}},{fallback:true});u(()=>{d(),o.value=null;});},{immediate:true}),vue.watch([t,()=>e.value?.invalidTextFormField===void 0?void 0:e.value.invalidTextFormField!==false],([r,l],a,i)=>{if(!r||l===void 0)return;let s=r.setInvalidTextFormFieldChrome({onRequest:u=>{if(e.value?.invalidTextFormField===false){u.cancel();return}n.value=u,u.signal.addEventListener("abort",()=>{n.value===u&&(n.value=null);},{once:true});}},{fallback:true});i(()=>{s(),n.value=null;});},{immediate:true}),()=>[o.value&&e.value?.[Hs(o.value.kind)]?de(e.value[Hs(o.value.kind)],{session:o.value},o.value):null,n.value&&e.value?.invalidTextFormField?de(e.value.invalidTextFormField,{session:n.value},n.value):null]}});var _x=["nw","n","ne","e","se","s","sw","w"],_p=40,kp=12;function kx(e){return `imageOverlay.handle.${e}`}function Ix(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 Nx(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 Fx(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 Ip=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=D(),{t:o}=_(),n=vue.ref(null),r=vue.ref(null),l=vue.shallowRef({left:0,top:0}),a=()=>{let f=editor.overlayHostOrigin(e.containerRef.value);(f.left!==l.value.left||f.top!==l.value.top)&&(l.value=f);},i=vue.shallowRef(null);vue.watch(r,f=>{i.value=f;},{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],([f],C,T)=>{if(!f)return;let v=x=>{let E=(x.target instanceof Element?x.target:null)?.closest("[data-drawing-node-id]")?.getAttribute("data-drawing-node-id");d.value=E??null,E&&E===n.value?.id&&queueMicrotask(()=>p.value?.focus({preventScroll:true}));};f.addEventListener("pointerdown",v,{capture:true}),T(()=>f.removeEventListener("pointerdown",v,{capture:true}));},{flush:"post"}),vue.watch(t,(f,C,T)=>{if(!f){n.value=null;return}let v=()=>{n.value=editor.selectedDrawingOverlayTargetOf(f.surface);},x=()=>{queueMicrotask(v);};v();let S=[f.on("change",x),f.on("selectionChange",v)];T(()=>{for(let E of S)E();});},{immediate:true,flush:"post"}),vue.watch([()=>e.portalRef.value,()=>e.containerRef.value],([f,C],T,v)=>{if(a(),!f&&!C||typeof ResizeObserver!="function")return;let x=new ResizeObserver(a);f&&x.observe(f),C&&x.observe(C),v(()=>x.disconnect());},{immediate:true,flush:"post"}),vue.watch(n,a,{flush:"post"}),vue.watch([()=>e.scrollPort,()=>e.containerRef.value,t],([f,C,T],v,x)=>{if(f){c.value=f;return}if(!C||!T?.surface)return;let S=C.closest(".docx-editor__scroll-container");if(!S)return;let E=T.surface.overlayCoordinates();c.value=editor.createImageOverlayScrollPort(S,E.paintScale),x(()=>{c.value=null;});},{flush:"post"});let m=()=>{r.value=null,s.value=null;let f=u.value;if(u.value=null,f)try{f.releasePointerCapture(f._lastPointerId??0);}catch{}},g=(f,C,T,v,x,S,E)=>{let M=t.value;if(!M?.surface)return;let w=M.surface.layout(),P=editor.captureImageMutationPreconditions(M);if(P){s.value=Object.freeze({x:v,y:x}),u.value=S,S._lastPointerId=E;try{S.setPointerCapture(E);}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:f,handle:C,preconditions:P,layoutRevision:w.revision,packageRevision:M.surface.session.packageRevision(),kind:T.kind}),bounds:T,accumulatedScrollPt:0},p.value?.focus({preventScroll:true});}},y=(f,C,T,v,x)=>{let S=t.value;if(S){if(editor.isStaleImageInteractionCommit(S,f)){m();return}f.mode==="resize"?S.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}:{}}:{}}):f.mode==="move"&&x&&S.exec({type:"setImagePosition",...x}),m();}},b=f=>{let C=t.value;if(!C)return;let T=i.value?.bounds??editor.selectedDrawingOverlayTargetOf(C.surface);if(!T)return;if(i.value&&f.key==="Escape"){f.preventDefault(),f.stopPropagation(),m();return}if(i.value)return;let v=f.shiftKey?editor.IMAGE_OVERLAY_NUDGE_SHIFT_PT:editor.IMAGE_OVERLAY_NUDGE_PT;if(f.key==="Delete"||f.key==="Backspace"){f.preventDefault(),f.stopPropagation(),C.exec({type:"deleteImage"});return}if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(f.key))return;f.preventDefault(),f.stopPropagation();let x=f.key==="ArrowLeft"?-v:f.key==="ArrowRight"?v:0,S=f.key==="ArrowUp"?-v:f.key==="ArrowDown"?v:0;if(f.altKey){if(!T.canResize)return;let M=Fx(x,S),w=editor.computeImageResizeResult({handle:M,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:S,transform:T.transform,preserveAspect:editor.resizePreservesAspect(M,T.aspectLocked,f.shiftKey),kind:T.kind});C.exec({type:"setImageProperties",widthEmu:w.widthEmu,heightEmu:w.heightEmu,...w.position?.mode==="simple"?{horizontalEmu:w.position.horizontalEmu,verticalEmu:w.position.verticalEmu}:{},...w.position?.mode==="frame"?{...w.position.horizontalEmu!==void 0?{horizontalEmu:w.position.horizontalEmu}:{},...w.position.verticalEmu!==void 0?{verticalEmu:w.position.verticalEmu}:{}}:{}});return}if(T.kind!=="anchored"||!T.canMove||!T.position)return;let E=editor.computeMovedImagePosition(T.position,x,S);C.exec({type:"setImagePosition",...E});};vue.watch([r,t,()=>e.containerRef.value],([f,C,T],v,x)=>{if(!f||!C?.surface)return;let S=C.surface.overlayCoordinates(),E=w=>{let P=i.value,N=s.value;if(!P||!N)return;let R=editor.cssPixelsToLayoutPoints(w.clientX-N.x,S.paintScale),H=editor.cssPixelsToLayoutPoints(w.clientY-N.y,S.paintScale);if(P.session.mode==="move"){let z=0,X=c.value,Z=T?.closest(".docx-editor__scroll-container");if(X&&Z){let Y=Z.getBoundingClientRect();w.clientY>Y.bottom-_p?z=kp:w.clientY<Y.top+_p&&(z=-kp),z!==0&&(z=X.scrollBy(z));}let me=P.accumulatedScrollPt+z;r.value={...P,accumulatedScrollPt:me,bounds:Object.freeze({...P.bounds,x:P.session.startBounds.x+R,y:P.session.startBounds.y+H+me})};return}if(!P.session.handle)return;let L=editor.computeImageResizeResult({handle:P.session.handle,startWidthEmu:P.session.startWidthEmu,startHeightEmu:P.session.startHeightEmu,startBounds:P.session.startBounds,startPosition:P.session.startPosition,anchorFrameOrigin:P.session.anchorFrameOrigin,deltaXPt:R,deltaYPt:H,transform:P.session.transform,preserveAspect:editor.resizePreservesAspect(P.session.handle,P.bounds.aspectLocked,w.shiftKey),kind:P.session.kind});r.value={...P,bounds:Object.freeze({...P.bounds,x:L.previewBounds.x,y:L.previewBounds.y,width:L.previewBounds.width,height:L.previewBounds.height,widthEmu:L.widthEmu,heightEmu:L.heightEmu})};},M=w=>{let P=i.value;if(P)if(w.type==="pointerup"){let N=editor.cssPixelsToLayoutPoints(w.clientX-(s.value?.x??w.clientX),S.paintScale),R=editor.cssPixelsToLayoutPoints(w.clientY-(s.value?.y??w.clientY),S.paintScale),H=editor.finalizeImageOverlayInteraction({session:P.session,deltaXPt:N,deltaYPt:R,accumulatedScrollPt:P.accumulatedScrollPt,aspectLocked:P.bounds.aspectLocked,shiftKey:w.shiftKey,anchorFrameOrigin:P.session.anchorFrameOrigin});y(P.session,H.widthEmu,H.heightEmu,H.previewBounds,H.position);}else m();};window.addEventListener("pointermove",E),window.addEventListener("pointerup",M),window.addEventListener("pointercancel",M),x(()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",M),window.removeEventListener("pointercancel",M);});},{flush:"post"}),vue.watch(n,f=>{!f||d.value!==f.id||(d.value=null,p.value?.focus({preventScroll:true}));},{flush:"post"});let h=vue.computed(()=>r.value?.bounds??n.value);return ()=>{let f=t.value,C=h.value,T=e.portalRef.value;if(!f?.surface||!C||!T)return null;let v=f.surface.publishedLayout(),x=f.surface.overlayCoordinates(),S=editor.overlayFrameToSheetCssPixels(v,{pageIndex:C.pageIndex,x:C.x,y:C.y,width:C.width,height:C.height},x),E={left:S.left+l.value.left,top:S.top+l.value.top,width:S.width,height:S.height},M=C.canResize,w=C.kind==="anchored"&&C.canMove;return jsxRuntime.jsx(vue.Teleport,{to:T,children:jsxRuntime.jsxs("div",{ref:P=>{p.value=P instanceof HTMLDivElement?P:null;},class:"docx-image-selection-overlay","data-drawing-node-id":C.id,tabindex:0,onKeydown:b,children:[jsxRuntime.jsx("div",{class:`docx-image-selection-overlay__frame${w?" docx-editor-one-surface__overlay-control":""}`,role:"group","aria-label":o("imageOverlay.selection"),style:{left:`${E.left}px`,top:`${E.top}px`,width:`${E.width}px`,height:`${E.height}px`,cursor:w?"move":"default"},onPointerdown:P=>{I(P),!(!w||!C.position)&&P.button===0&&(P.preventDefault(),P.stopPropagation(),g("move",null,C,P.clientX,P.clientY,P.currentTarget,P.pointerId));}}),M?_x.map(P=>{let N=Nx(P);return jsxRuntime.jsx("button",{type:"button",class:"docx-image-selection-overlay__handle","aria-label":o(kx(P)),tabindex:0,style:{left:`calc(${E.left}px + ${E.width}px * ${parseFloat(N.x)/100} - 5px)`,top:`calc(${E.top}px + ${E.height}px * ${parseFloat(N.y)/100} - 5px)`,cursor:Ix(P)},onPointerdown:R=>{I(R),R.button===0&&(R.preventDefault(),R.stopPropagation(),g("resize",P,C,R.clientX,R.clientY,R.currentTarget,R.pointerId));}},P)}):null]})})}}});function Bs(e){return [...e.items].some(t=>t.kind==="file"&&t.type.startsWith("image/"))}var Ua=vue.defineComponent({name:"DocxEditorContent",inheritAttrs:false,props:{class:{type:String,default:void 0},className:{type:String,default:void 0}},setup(e){let t=to(),o=D(),n=Rn(),r=vue.shallowRef(null),l=vue.shallowRef(null),a=()=>{let d=o.value,c=r.value;d&&c&&d.attach(c);},i=()=>o.value?.detach();vue.watch([o,r],a,{immediate:true,flush:"post"}),vue.onDeactivated(i),vue.onActivated(a),vue.onUnmounted(i);let s=d=>{let c=n;if(!c?.isEnabled)return;let m=d.clipboardData;m&&Bs(m)&&(editor.clipboardPasteLandsContent(m)||(d.preventDefault(),c.insertFromDataTransfer(m)));},u=d=>{!n?.isEnabled||!d.dataTransfer||!Bs(d.dataTransfer)||d.preventDefault();},p=d=>{let c=n;if(!c?.isEnabled)return;let m=d.dataTransfer;if(m&&Bs(m)){if(editor.clipboardDropLandsText(m)){if((d.target instanceof Element?d.target:null)?.closest("[contenteditable]")?.getAttribute("contenteditable")==="true")return;d.preventDefault();return}d.preventDefault(),c.insertFromDataTransfer(m);}};return ()=>vue.h("div",{ref:d=>{l.value=d instanceof HTMLDivElement?d:null,t&&(t.target.value=l.value);},class:"docx-content-mount"},[vue.h("div",{ref:d=>{r.value=d instanceof HTMLDivElement?d:null;},class:_e("docx-paginated-surface",e.class,e.className),onPaste:s,onDragover:u,onDrop:p}),vue.h(Kc),vue.h(Sp),o.value?vue.h(Ip,{containerRef:r,portalRef:l}):null])}});var qx=e=>e.isLoading||e.isOpening===true,$x=e=>({width:ue(e.pageSetup?.pageWidthTwips??12240)*e.zoom,height:ue(e.pageSetup?.pageHeightTwips??15840)*e.zoom}),Ks=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"})}}),Ux=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=k(qx),n=k($x),{t:r}=_();return ()=>{if(!e.when&&!o.value)return null;let l=`docx-editor docx-editor__loading${e.overlay?" docx-editor__loading--overlay":""}${e.className?` ${e.className}`:""}`;return vue.h("div",{class:l,style:e.style,role:"status",ariaLive:"polite"},t.default?.()??vue.h("div",{class:"docx-paginated-surface docx-editor__loading-surface",style:{width:`${n.value.width}px`,height:`${n.value.height}px`}},[vue.h("div",{class:"docx-pages"},[vue.h("div",{class:"docx-page docx-editor__loading-page"},[vue.h("div",{class:"docx-editor__loading-page-status"},[vue.h(Ks),vue.h("span",{class:"docx-editor-sr-only"},r("loading.label"))])])])]))}}}),za=Object.assign(Ux,{Spinner:Ks});var zx=["zoom","script","format","list","alignment","styles","font","text","history"],Vs=new Set(["review"]),Ws=24,Ap=new Set;function Hp(e,t=zx){let o=t.filter(r=>e.includes(r));return [...e.filter(r=>!t.includes(r)).reverse(),...o]}function Lp(e,t){let{widths:o,groups:n,order:r,fixed:l,more:a}=e,i=l;for(let u of n)i+=o.get(u)??0;if(i<=t)return Ap;i+=a;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 Op(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 Bp=Op;function Kp(e){if(!(e.available>0))return Ap;let t=Lp(e,e.available),o=e.previous;if(!o||o.size===0||t.size>=o.size)return t;let n=Lp(e,e.available-(e.hysteresis));return Op(n,o)?o:n}function Vp(e,t,o,n){return e+t+o+n*2}function Wp(e,t){return e+t}function $s(e,t){return e+t}function qp(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 qs(e){let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function $p(e){return qs(e.columnGap)}function Up(e,t){return e.clientWidth-qs(t.paddingLeft)-qs(t.paddingRight)}var zo="data-toolbar-group",Xn="data-toolbar-fixed",zs="data-toolbar-more",Xx=34,zp=new Set;function jp(e,t,o){let n=vue.shallowRef(null),r=vue.shallowRef(new Map),l=vue.shallowRef(Xx),a=vue.ref(zp),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 y=n.value;if(!y||!u())return;let b=getComputedStyle(y),h=$p(b),f=Up(y,b),C=y.querySelector(".docx-toolbar__separator"),T=h*2;if(C){let w=getComputedStyle(C),P=qp(w);T=Vp(C.offsetWidth,P.start,P.end,h);}let v=new Map(r.value);for(let w of y.querySelectorAll(`[${zo}]`)){let P=w.getAttribute(zo);P&&w.offsetWidth>0&&v.set(P,Wp(w.offsetWidth,T));}r.value=v;let x=0;for(let w of y.querySelectorAll(`[${Xn}]`))w.offsetWidth>0&&(x+=$s(w.offsetWidth,h));let S=y.querySelector(`[${zs}]`);S&&S.offsetWidth>0&&(l.value=$s(S.offsetWidth,h));let E={available:f,widths:v,groups:p(),order:d(),fixed:x,more:l.value,previous:a.value,hysteresis:Ws},M=Kp(E);Bp(M,a.value)||(a.value=M);},m=y=>{n.value=y;},g=()=>{s?.disconnect(),i!==0&&(cancelAnimationFrame(i),i=0);let y=n.value;if(!(!u()||!y||typeof ResizeObserver>"u")){s=new ResizeObserver(()=>{i===0&&(i=requestAnimationFrame(()=>{i=0,c();}));}),s.observe(y);for(let b of y.querySelectorAll(`[${zo}], [${Xn}]`))s.observe(b);}};return vue.watch([n,a,()=>u(),()=>p().join(","),()=>d().join(",")],()=>{if(!u()){a.value.size>0&&(a.value=zp),s?.disconnect();return}c(),g();},{flush:"post"}),vue.onMounted(()=>{u()&&c();}),vue.onBeforeUnmount(()=>{i!==0&&cancelAnimationFrame(i),s?.disconnect();}),{attach:m,overflow:a}}var oC=["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"],Zp=Symbol("OverflowPanelContext");function nC(e){e.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus();}var Gs=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?.())])}}),Yp=vue.defineComponent({name:"ToolbarOverflowItem",props:{slot:{type:String,required:true}},setup(e){let t=W(),o=_o(),n=vue.inject(Zp,{close:()=>{}}),r=j(vue.computed(()=>e.slot));return ()=>{let l=q(e.slot),a=editor.chromeSlotIsToggle(e.slot),i=o(t(l?.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}:{},...a?{"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"},[$(l?.paths)]),vue.h("span",{class:"docx-toolbar__more-command-label"},i)])}}}),Xp=vue.defineComponent({name:"ToolbarOverflow",props:{sections:{type:Array,required:true},class:{type:String,default:void 0}},setup(e){let t=W(),o=vue.ref(false),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(false),i=re("toolbar-overflow"),s=t("formattingBar.more"),u=p=>{o.value=false,p&&r.value?.focus();};return vue.provide(Zp,{close:u}),vue.watch(o,(p,d,c)=>{if(!p)return;let m=g=>{let y=g.target;y instanceof Node&&n.value?.contains(y)||(o.value=false);};document.addEventListener("mousedown",m,true),c(()=>document.removeEventListener("mousedown",m,true));}),vue.watch(o,p=>{if(!p||!a.value)return;a.value=false;let d=l.value;d&&nC(d);},{flush:"post"}),()=>vue.h("div",{ref:n,class:`docx-toolbar__more${e.class?` ${e.class}`:""}`,[zs]:""},[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(),a.value=true,o.value=true);}},[$(oC)]),o.value?vue.h("div",{ref:l,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])}});var Ys=[{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"}],Ga=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}=_(),n=W(),r=Wn("image.wrap"),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null),s=re("image-wrap"),u=vue.computed(()=>Ys.find(m=>m.value===r.value.value)??Ys[0]),p=q("image.wrap"),d=n(p?.labelKey??"formattingBar.imageWrap");vue.watch(l,(m,g,y)=>{if(!m)return;let b=f=>{let C=a.value;C&&f.target instanceof Node&&C.contains(f.target)||(l.value=false);},h=f=>{f.key==="Escape"&&(f.preventDefault(),l.value=false,i.value?.focus());};document.addEventListener("mousedown",b,true),document.addEventListener("keydown",h),y(()=>{document.removeEventListener("mousedown",b,true),document.removeEventListener("keydown",h);});});let c=m=>{l.value=false,r.execute(m);};return ()=>{if(e.hidden)return null;let m=o("imageWrap.tooltipPrefix",{label:o(u.value.labelKey)}),g={type:"button",ref:i,class:`docx-toolbar__button docx-toolbar__image-wrap-trigger${e.className?` ${e.className}`:""}`,"data-slot":"image.wrap",disabled:!r.isEnabled.value,...r.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"menu","aria-expanded":l.value,"aria-controls":l.value?s:void 0,"aria-label":d,title:r.disabledReason.value??m,onMousedown:I,onClick:()=>{l.value=!l.value;}};return jsxRuntime.jsxs("div",{ref:a,class:"docx-toolbar__image-wrap",children:[e.asChild?jsxRuntime.jsx(A,{...g,children:t.default?.()}):jsxRuntime.jsx("button",{...g,children:t.default?.()??$(p?.paths)}),l.value?jsxRuntime.jsx("div",{id:s,role:"menu",class:"docx-toolbar__image-wrap-menu","aria-label":o("imageWrap.menu.ariaLabel"),onMousedown:y=>y.stopPropagation(),children:Ys.map(y=>jsxRuntime.jsx("button",{type:"button",role:"menuitemradio",class:"docx-toolbar__image-wrap-item","aria-checked":r.value.value===y.value,...r.value.value===y.value?{"data-active":""}:{},onMousedown:I,onClick:()=>c(y.value),children:o(y.labelKey)},y.value))}):null]})}}});Ga.docxSlot="image.wrap";var Za=Object.assign(Ga,{docxSlot:"image.wrap"});function xe(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($t,{slot:e,...o},n)}});return t.docxSlot=e,t}var Jp=xe("history.undo"),Qp=xe("history.redo"),em=xe("text.bold"),tm=xe("text.italic"),om=xe("text.underline"),nm=xe("text.strike"),rm=xe("format.clear"),am=xe("script.super"),lm=xe("script.sub"),im=xe("alignment.left"),sm=xe("alignment.center"),dm=xe("alignment.right"),um=xe("alignment.justify"),cm=xe("list.bullet"),pm=xe("list.numbered"),mm=xe("list.outdent"),fm=xe("list.indent"),gm=xe("table.insert"),ym=xe("review.comments"),Xa=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=D(),n=yt(),{openAtCaret:r}=ke(),l=W(),{t:a}=_();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,a),d=q("text.link"),c=l(d?.labelKey??"text.link"),m={class:_e("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()},g=e.icon??t.default?.()??$(d?.paths);return e.asChild?vue.h(A,m,t.default):vue.h("button",{type:"button",...m},g??void 0)}}});Xa.docxSlot="text.link";var Ja=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=D(),o=da(),n=W();return ()=>{if(e.hidden)return null;let r=q("file.save"),l=n(r?.labelKey??"file.save"),a=!t.value||!o.value.onSave;return vue.h("button",{type:"button",class:_e("docx-toolbar__button",e.class,e.className),"data-slot":"file.save",disabled:a,...a?{"data-disabled":""}:{},"aria-label":l,title:l,onMousedown:I,onClick:()=>o.value.onSave?.()},[$(r?.paths)])}}});Ja.docxSlot="file.save";var lo=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:_e("docx-toolbar__separator",e.class,e.className)})}});function ct(e,t){vue.watch([e,t],([o,n],r,l)=>{!n||!o||l(cC(o,()=>{t.value=false;}));},{flush:"post"});}function cC(e,t){let o=r=>{if(r.defaultPrevented||r.altKey||r.ctrlKey||r.metaKey)return;let l=r.target;if(l.matches('input[role="combobox"]'))return;let a=e.querySelector("[aria-haspopup]");if(r.key==="Escape"){r.preventDefault(),r.stopPropagation(),a?.focus(),t();return}if(l.matches("input, textarea, select")&&r.key!=="ArrowDown"&&r.key!=="ArrowUp")return;let s=Array.from(e.querySelectorAll('[role="option"]')).filter(d=>!d.matches(':disabled, [aria-disabled="true"]'));if(s.length===0)return;let u=s.indexOf(l),p;if(r.key==="Home")p=0;else if(r.key==="End")p=s.length-1;else if(r.key==="ArrowDown")p=(u+1)%s.length;else if(r.key==="ArrowUp")p=u<0?s.length-1:(u-1+s.length)%s.length;else return;r.preventDefault(),r.stopPropagation(),s[p]?.focus();},n=r=>{r.relatedTarget instanceof Node&&!e.contains(r.relatedTarget)&&t();};return e.addEventListener("keydown",o),e.addEventListener("focusout",n),()=>{e.removeEventListener("keydown",o),e.removeEventListener("focusout",n);}}var mC=e=>({zoom:e.zoom,mode:e.zoomMode}),fC=(e,t)=>e.zoom===t.zoom&&e.mode===t.mode,vm={type:"fixed"};function Xs(){let e=D(),t=k(mC,fC),o=i=>{e.value?.setZoom(i);},n=i=>{e.value?.setZoomMode(i);},r=vue.computed(()=>t.value.mode??vm),l=vue.computed(()=>Zn(t.value.zoom,"out")),a=vue.computed(()=>Zn(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(vm),o(1);},zoomIn:()=>a.value!==null&&o(a.value),zoomOut:()=>l.value!==null&&o(l.value),canZoomIn:vue.computed(()=>!!e.value&&a.value!==null),canZoomOut:vue.computed(()=>!!e.value&&l.value!==null),levels:Va}}var tr=2,or=3276,er=[8,9,10,11,12,14,16,18,20,24,28,36,48,72],bC=e=>e.formatting?.fontSizePt??null;function xm(e,t,o){for(let n of t)if(n>e)return n;return Math.min(e+1,o)}function Cm(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 hC(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<tr||n>or?null:n}var Em=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:"+"})]})}}),Qa=vue.defineComponent({name:"ToolbarFontSize",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=k(bC),n=j("font.size"),r=W(),l=vue.ref(false),a=vue.ref(null),i=vue.ref(null);ct(i,l);let s=vue.ref(null),u=vue.useId(),p=m=>{let g=t.value;if(!g)return;let y=editor.commandForSlotValue("font.size",m);y&&g.can(y).ok&&g.exec(y);},d=m=>{p(Math.min(or,Math.max(tr,Math.round(m*2))));},c=m=>{l.value=false,a.value=null,s.value?.blur(),t.value?.focus();};return vue.watch(l,(m,g,y)=>{if(!m)return;let b=h=>{let f=i.value;f&&h.target instanceof Node&&f.contains(h.target)||(l.value=false,a.value=null);};document.addEventListener("mousedown",b),y(()=>document.removeEventListener("mousedown",b));}),()=>{if(e.hidden)return null;let m=n.isEnabled.value&&o.value!==null,g=o.value===null?"\u2014":String(Math.round(o.value*2)/2),y=a.value??g,b=o.value===null?null:Math.round(o.value*2)/2,h=()=>{if(a.value===null)return;let f=hC(a.value);f!==null&&p(f);};return jsxRuntime.jsxs("span",{ref:i,class:"docx-toolbar__font-size","data-slot":"font.size",title:n.disabledReason.value??void 0,children:[jsxRuntime.jsx(Em,{class:e.className,slotId:"font.size",groupLabel:r("fontSize.label"),decreaseLabel:r("fontSize.decrease"),increaseLabel:r("fontSize.increase"),canDecrease:m&&Math.round(o.value*2)>tr,canIncrease:m&&Math.round(o.value*2)<or,onDecrease:()=>d(Cm(o.value??0,er,tr/2)),onIncrease:()=>d(xm(o.value??0,er,or/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":l.value,"aria-haspopup":"listbox","aria-label":r("fontSize.label"),"aria-controls":l.value?u:void 0,autocomplete:"off",onInput:f=>{a.value=f.target.value,l.value=true;},onFocus:f=>{f.target.select(),l.value=true;},onClick:()=>{l.value=true;},onKeydown:f=>{f.key==="Enter"?(f.preventDefault(),h(),c()):f.key==="Escape"?(f.preventDefault(),c()):(f.key==="ArrowDown"||f.key==="ArrowUp")&&(f.preventDefault(),l.value=true,o.value!==null&&d(f.key==="ArrowDown"?Cm(o.value,er,tr/2):xm(o.value,er,or/2)));},onBlur:()=>{h(),a.value=null;}})}),l.value&&n.isEnabled.value?jsxRuntime.jsx("div",{class:"docx-toolbar__menu docx-toolbar__font-size-menu",role:"listbox",tabindex:0,"aria-label":r("fontSize.listLabel"),id:u,children:er.map(f=>{let C=b===f;return jsxRuntime.jsx("button",{type:"button",role:"option",tabindex:-1,"aria-selected":C,...C?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{d(f),c();},children:f},f)})}):null]})}}});Qa.docxSlot="font.size";var el=vue.defineComponent({name:"ToolbarZoom",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=Xs(),n=W(),r=vue.ref(false),l=vue.ref(null);return ct(l,r),vue.watch(r,(a,i,s)=>{if(!a)return;let u=p=>{let d=l.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 a=`${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:l,class:"docx-toolbar__zoom","data-slot":"zoom.level",children:[jsxRuntime.jsx(Em,{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")}: ${a}`,onMousedown:I,onClick:()=>{r.value=!r.value;},children:[a,jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]})}),r.value?jsxRuntime.jsxs("div",{class:"docx-toolbar__menu docx-toolbar__zoom-menu",role:"listbox",tabindex:0,"aria-label":n("zoom.zoomLevel"),children:[jsxRuntime.jsx("button",{type:"button",role:"option",tabindex:-1,"aria-selected":i,...i?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{l.value?.querySelector("[aria-haspopup]")?.focus(),r.value=false,o.setMode("auto");},children:n("zoom.automatic")}),jsxRuntime.jsx("button",{type:"button",role:"option",tabindex:-1,"aria-selected":s,...s?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{l.value?.querySelector("[aria-haspopup]")?.focus(),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",tabindex:-1,"aria-selected":p,...p?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>{l.value?.querySelector("[aria-haspopup]")?.focus(),r.value=false,o.setZoom(u);},children:`${Math.round(u*100)}%`},u)})]}):null]})}}});el.docxSlot="zoom.level";var Qs=Symbol("docx.paragraphDialog"),wm=vue.defineComponent({name:"DocxEditorParagraphDialogHost",setup(e,{slots:t}){let o=to();if(o)return vue.provide(Qs,{open:a=>o.open("paragraph",a)}),()=>t.default?.();let n=vue.ref(false),r=vue.ref(null);vue.provide(Qs,{open:a=>{r.value=a??(document.activeElement instanceof HTMLElement?document.activeElement:null),n.value=true;}});let l=()=>{n.value=false;let a=r.value;r.value=null,a?.isConnected&&a.focus({preventScroll:true});};return ()=>[...t.default?.()??[],vue.h(st,{open:n.value,onClose:l})]}});function Mm(){return vue.inject(Qs,null)}var wC=[1,1.15,1.5,2,2.5,3],Dm=10,_m=0,MC=e=>({lineSpacing:e.formatting?.lineSpacing??null,spaceBeforePt:e.formatting?.spaceBeforePt??null,spaceAfterPt:e.formatting?.spaceAfterPt??null}),RC=(e,t)=>e.spaceBeforePt===t.spaceBeforePt&&e.spaceAfterPt===t.spaceAfterPt&&e.lineSpacing?.rule===t.lineSpacing?.rule&&e.lineSpacing?.value===t.lineSpacing?.value,tl=vue.defineComponent({name:"ToolbarLineSpacing",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=k(MC,RC),n=j("list.lineSpacing"),r=j("paragraph.dialog"),l=Mm(),a=W(),i=vue.ref(false),s=vue.ref(null);vue.watch(i,(d,c,m)=>{if(!d)return;let g=y=>{let b=s.value;b&&y.target instanceof Node&&b.contains(y.target)||(i.value=false);};document.addEventListener("mousedown",g),m(()=>document.removeEventListener("mousedown",g));});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 m={type:"setParagraphSpacing",[d]:c};t.value.can(m).ok&&t.value.exec(m);};return ()=>{if(e.hidden)return null;let d=q("list.lineSpacing"),c=(o.value.spaceBeforePt??0)>0,m=(o.value.spaceAfterPt??0)>0,g=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":a("lineSpacing.label"),title:n.disabledReason.value??a("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:[wC.map(y=>{let b=g===y;return jsxRuntime.jsx("button",{type:"button",role:"menuitemradio","aria-checked":b,...b?{"data-selected":""}:{},class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>u(y),children:Number.isInteger(y*10)?y.toFixed(1):y.toFixed(2)},y)}),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 y=s.value?.querySelector(".docx-toolbar__line-spacing-trigger");l?.open(y instanceof HTMLElement?y:null);},children:a("lineSpacing.options")}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("beforePt",c?_m:Dm),children:a(c?"lineSpacing.removeSpaceBefore":"lineSpacing.addSpaceBefore")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-toolbar__menu-item",onMousedown:I,onClick:()=>p("afterPt",m?_m:Dm),children:a(m?"lineSpacing.removeSpaceAfter":"lineSpacing.addSpaceAfter")})]}):null]})}}});tl.docxSlot="list.lineSpacing";var IC=[{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"}],km=[{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"}],Im=["FFFFFF","000000","E7E6E6","44546A","4472C4","ED7D31","A5A5A5","FFC000","5B9BD5","70AD47"],nl=["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"],_t=e=>({labelKey:`colorPicker.theme.lighter${e}`,apply:t=>t+(255-t)*(e/100)}),$e=e=>({labelKey:`colorPicker.theme.darker${e}`,apply:t=>t*(1-e/100)});function NC(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?[$e(5),$e(15),$e(25),$e(35),$e(50)]:o===0?[_t(50),_t(35),_t(25),_t(15),_t(5)]:o>=.8?[$e(10),$e(25),$e(50),$e(75),$e(90)]:[_t(80),_t(60),_t(40),$e(25),$e(50)]}var FC=/^[0-9A-Fa-f]{6}$/;function LC(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 AC(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 rl=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":""}:{},...AC(e.css.replace("#",""))?{"data-light":""}:{},onMousedown:I,onClick:()=>e.apply(e.value)})}}),HC=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(NC),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(rl,{value:n,css:`#${n.toLowerCase()}`,title:e.label(nl[r]),selected:e.current===n,apply:e.apply},`base-${r}`)),o.flatMap(n=>e.themeHexes.map((r,l)=>{let a=t[l][n],i=LC(r,a.apply);return jsxRuntime.jsx(rl,{value:i,css:`#${i.toLowerCase()}`,title:`${e.label(nl[l])}, ${e.label(a.labelKey)}`,selected:e.current===i,apply:e.apply},`${n}-${l}`)}))]})]})}}}),OC=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=FC.test(t.value);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(HC,{...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:IC.map(n=>jsxRuntime.jsx(rl,{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")})]})]})]})}}}),td=vue.defineComponent({name:"ToolbarHexColorPickerBody",props:{apply:{type:Function,required:true},current:{type:String,default:null}},setup(e){let t=D(),o=W();return ()=>{let n=t.value?.getDocumentThemeColors()??[],r=n.length===nl.length?n.map(a=>a.hex):Im,l=e.current?.toUpperCase()??null;return jsxRuntime.jsx(OC,{apply:e.apply,label:o,current:l,themeHexes:r})}}}),BC=km.filter(e=>e.value!=="white"),KC=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:BC.map(t=>jsxRuntime.jsx(rl,{value:t.value,css:t.css,title:e.label(t.labelKey),selected:e.current===t.value,apply:e.apply},t.value))})]})}});function Nm(e){let{slot:t,defaultValue:o,cssOf:n,clear:r,body:l}=e,a=t==="text.color",i=vue.defineComponent({name:`ToolbarColorSplit_${t.replace(/\./g,"_")}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0}},setup(s){let u=D(),p=j(t),d=W(),c=vue.ref(false),m=vue.ref(o),g=vue.ref(null);ct(g,c);let y=k(f=>{if(a){let C=f.formatting?.color;return C&&C.kind==="hex"?C.value.toUpperCase():null}return f.formatting?.highlight??null}),b=vue.computed(()=>{let f=u.value?.getDocumentThemeColors()??[];return f.length===nl.length?f.map(C=>C.hex):Im});vue.watch(c,(f,C,T)=>{if(!f)return;let v=x=>{let S=g.value;S&&x.target instanceof Node&&S.contains(x.target)||(c.value=false);};document.addEventListener("mousedown",v),T(()=>document.removeEventListener("mousedown",v));});let h=f=>{c.value=false;let C=u.value;if(!C)return;C.focus();let T=editor.commandForSlotValue(t,f);T&&C.can(T).ok&&(C.exec(T),f!==r.value&&(m.value=f));};return ()=>{if(s.hidden)return null;let f=q(t),C=d(f?.labelKey??t);return jsxRuntime.jsxs("div",{ref:g,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:()=>h(m.value),children:[s.icon??$(f?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:n(m.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":"dialog","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:()=>h(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)]}),l({apply:h,label:d,current:y.value,themeHexes:b.value})]}):null]})}}});return Object.assign(i,{docxSlot:t})}var VC=new Map(km.map(e=>[e.value,e.css])),od=Nm({slot:"text.color",defaultValue:"FF0000",cssOf:e=>e==="auto"?"#000000":`#${e}`,clear:{value:"auto",labelKey:"colorPicker.automatic"},body:e=>jsxRuntime.jsx(td,{apply:e.apply,current:e.current})}),nd=Nm({slot:"text.highlight",defaultValue:"yellow",cssOf:e=>VC.get(e)??"#ffff00",clear:{value:"none",labelKey:"colorPicker.noColor"},body:e=>jsxRuntime.jsx(KC,{...e})});var UC=["alignment.left","alignment.center","alignment.right","alignment.justify"],ar=vue.defineComponent({name:"ToolbarAlignment",props:{class:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=j("alignment.left"),o=j("alignment.center"),n=j("alignment.right"),r=j("alignment.justify"),l=W(),a=vue.ref(false),i=vue.ref(null),s=u=>{let p=i.value;p&&u.target instanceof Node&&p.contains(u.target)||(a.value=false);};return vue.watch(a,(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=UC.map((g,y)=>({slot:g,control:q(g),state:u[y]})),d=p.find(g=>g.state.isActive.value)??p[0],c=p.some(g=>g.state.isEnabled.value),m=l(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":a.value,"aria-label":m,title:c?m:d.state.disabledReason.value??m,onMousedown:I,onClick:()=>{a.value=!a.value;}},[$(d.control?.paths),vue.h("span",{class:"docx-toolbar__picker-caret",ariaHidden:"true"},"\u25BE")]),a.value?vue.h("div",{class:"docx-toolbar__menu docx-toolbar__alignment-popup"},p.map(g=>{let y=l(g.control?.labelKey??g.slot);return vue.h("button",{key:g.slot,type:"button",class:"docx-toolbar__button docx-toolbar__alignment-option","data-slot":g.slot,disabled:!g.state.isEnabled.value,...g.state.isActive.value?{"data-active":""}:{},"aria-pressed":g.state.isActive.value,"aria-label":y,title:g.state.disabledReason.value??y,onMousedown:I,onClick:()=>{g.state.execute(),a.value=false;}},[$(g.control?.paths)])})):null])}}});ar.docxSlot="alignment";var rd=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:_e("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(A,n,o.default):vue.h("button",n,r??void 0)}}});var GC=Object.freeze([]),ZC=e=>e.formatting?.fontFamily??null,YC=e=>e;function lr(){let e=D(),t=k(ZC),o=k(YC),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getAvailableFonts():GC),r=j("font.family"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("font.family",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}var eT=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"]]),tT=[{category:"sansSerif",labelKey:"font.sansSerif"},{category:"serif",labelKey:"font.serif"},{category:"monospace",labelKey:"font.monospace"},{category:"other",labelKey:null}],Om=Symbol("FontFamilyContext");function ld(){return vue.inject(Om,null)}var id=vue.defineComponent({name:"FontFamilyTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ld(),n=W();return ()=>{if(!o)return null;let r=n(q("font.family")?.labelKey??"font.family"),l={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__font-family-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,"aria-label":t.default?void 0:`${r}: ${o.value.value??"\u2014"}`,title:r},a=t.default?.()??[jsxRuntime.jsx("span",{children:o.value.value??"\u2014"})];return e.asChild?jsxRuntime.jsx(A,{...l,children:a}):jsxRuntime.jsx("button",{type:"button",...l,children:a})}}});id.docxToolbarPart=true;var Bm=vue.defineComponent({name:"FontFamilyContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=ld(),n=W(),r=vue.ref("");return vue.watch(()=>o?.open.value,l=>{l||(r.value="");}),()=>{if(!o||!o.open.value)return null;let l={role:"listbox",tabindex:0,"aria-label":n("font.selectAriaLabel"),class:`docx-toolbar__menu docx-toolbar__font-family-content${e.className?` ${e.className}`:""}`},a;return t.default?a=t.default():a=tT.map(s=>({...s,fonts:o.options.value.filter(u=>u.toLowerCase().includes(r.value.toLowerCase())&&(eT.get(u.toLowerCase())??"other")===s.category)})).filter(s=>s.fonts.length>0).flatMap((s,u)=>{let p=[];u>0&&p.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator","aria-hidden":"true"})),s.labelKey&&p.push(jsxRuntime.jsx("div",{class:"docx-toolbar__menu-label",children:n(s.labelKey)}));for(let d of s.fonts)p.push(jsxRuntime.jsx(Km,{value:d},d));return p}),e.asChild?jsxRuntime.jsx(A,{...l,children:a}):t.default?jsxRuntime.jsx("div",{...l,children:a}):jsxRuntime.jsxs("div",{class:l.class,children:[jsxRuntime.jsx("input",{type:"search",class:"docx-toolbar__font-search","aria-label":n("font.search"),placeholder:n("font.search"),value:r.value,onInput:i=>{r.value=i.target.value;}}),jsxRuntime.jsx("div",{role:"listbox",tabindex:0,"aria-label":n("font.selectAriaLabel"),class:"docx-toolbar__font-options",children:a})]})}}}),Km=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=D(),n=ld();return ()=>{if(!n)return null;let r=n.value.value===e.value,l={role:"option",tabindex:-1,"aria-selected":r,...r?{"data-selected":""}:{},onMousedown:I,onClick:()=>{n.setValue(e.value),n.setOpen(false),o.value?.focus();},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(A,{...l,children:a}):jsxRuntime.jsxs("button",{type:"button",...l,children:[a,r?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),oT=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=lr(),n=vue.ref(false),r=vue.ref(null);ct(r,n),vue.watch(n,(a,i,s)=>{if(!a)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 l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(Om,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__font-family${e.className?` ${e.className}`:""}`,"data-slot":"font.family"},i=t.default?.()??[jsxRuntime.jsx(id,{}),jsxRuntime.jsx(Bm,{})];return e.asChild?jsxRuntime.jsx(A,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),sd=Object.assign(oT,{docxSlot:"font.family",Trigger:id,Content:Bm,Item:Km});var nT=/^heading ([1-9])$/;function Wm(e,t){let o=e||t,n=nT.exec(o);return n?`Heading ${n[1]}`:o}var aT=Object.freeze([]),lT=e=>e.formatting?.styleId??null,iT=e=>e;function ir(){let e=D(),t=k(lT),o=k(iT),n=vue.computed(()=>e.value&&!o.value.isLoading?e.value.getDocumentStyles().filter(a=>a.type==="paragraph").map(a=>({styleId:a.styleId,name:Wm(a.name,a.styleId),preview:a.preview})):aT),r=j("styles.style"),l=a=>{if(!e.value)return;let i=editor.commandForSlotValue("styles.style",a);i&&e.value.can(i).ok&&e.value.exec(i);};return {value:vue.computed(()=>t.value),setValue:l,options:n,isEnabled:r.isEnabled}}function pT(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 Um=Symbol("ParagraphStyleContext");function dd(){return vue.inject(Um,null)}var ud=vue.defineComponent({name:"ParagraphStyleTrigger",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=dd(),n=W();return ()=>{if(!o)return null;let r=q("styles.style"),l=n(r?.labelKey??"styles.style"),a={onClick:()=>o.setOpen(!o.open.value),onMousedown:I,disabled:!o.isEnabled.value,class:`docx-toolbar__style-trigger${e.className?` ${e.className}`:""}`,...o.isEnabled.value?{}:{"data-disabled":""},"aria-haspopup":"listbox","aria-expanded":o.open.value,title:l},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(A,{...a,children:s}):jsxRuntime.jsx("button",{type:"button",...a,children:s})}}});ud.docxToolbarPart=true;var zm=vue.defineComponent({name:"ParagraphStyleContent",props:{asChild:{type:Boolean,default:void 0},className:{type:String,default:void 0}},setup(e,{slots:t}){let o=dd(),n=W();return ()=>{if(!o||!o.open.value)return null;let r={role:"listbox",tabindex:0,"aria-label":n("styles.selectAriaLabel"),class:`docx-toolbar__menu docx-toolbar__style-content${e.className?` ${e.className}`:""}`},l=t.default?.()??o.options.value.map(a=>jsxRuntime.jsx(jm,{value:a.styleId},a.styleId));return e.asChild?jsxRuntime.jsx(A,{...r,children:l}):jsxRuntime.jsx("div",{...r,children:l})}}}),jm=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=dd(),n=D();return ()=>{if(!o)return null;let r=o.value.value===e.value,l=o.options.value.find(s=>s.styleId===e.value),a={role:"option",tabindex:-1,"aria-selected":r,...r?{"data-selected":""}:{},onMousedown:I,onClick:()=>{o.setValue(e.value),o.setOpen(false),n.value?.focus();},class:`docx-toolbar__style-item${e.className?` ${e.className}`:""}`},i=t.default?.()??[jsxRuntime.jsx("span",{style:l?pT(l.preview):void 0,children:l?.name??e.value})];return e.asChild?jsxRuntime.jsx(A,{...a,children:i}):jsxRuntime.jsxs("button",{type:"button",...a,children:[i,r?jsxRuntime.jsx("span",{class:"docx-toolbar__menu-check","aria-hidden":"true",children:"\u2713"}):null]})}}}),mT=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=ir(),n=vue.ref(false),r=vue.ref(null);ct(r,n),vue.watch(n,(a,i,s)=>{if(!a)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 l={...o,open:vue.computed(()=>n.value),setOpen:a=>{n.value=a;}};return vue.provide(Um,l),()=>{if(e.hidden)return null;let a={class:`docx-toolbar__style${e.className?` ${e.className}`:""}`,"data-slot":"styles.style"},i=t.default?.()??[jsxRuntime.jsx(ud,{}),jsxRuntime.jsx(zm,{})];return e.asChild?jsxRuntime.jsx(A,{...a,ref:r,children:i}):jsxRuntime.jsx("div",{ref:r,...a,children:i})}}}),cd=Object.assign(mT,{docxSlot:"styles.style",Trigger:ud,Content:zm,Item:jm});function Gm(e,t){let o=e,n=vue.defineComponent({name:`ContentControlToggle_${t}`,props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0},icon:{type:Object,default:void 0},asChild:{type:Boolean,default:void 0}},setup(r,{slots:l}){let a=j(o),i=et(),s=W();return ()=>{if(r.hidden)return null;let u=t==="showAll"?i.showAll.value:i.formFill.value,p=q(o),d=s(p?.labelKey??e),c={type:"button",class:`docx-toolbar__button${r.className?` ${r.className}`:""}`,"data-slot":e,disabled:!a.isEnabled.value,...a.isEnabled.value?{}:{"data-disabled":""},...u?{"data-active":""}:{},"aria-pressed":u,"aria-label":d,title:a.disabledReason.value??d,onMousedown:I,onClick:()=>{t==="showAll"?i.toggleShowAll():i.toggleFormFill();}},m=r.icon??l.default?.()??$(p?.paths);return r.asChild?vue.h(A,c,l.default):vue.h("button",c,m??void 0)}}});return n.docxSlot=o,n}var il=Gm(Ie.showAll,"showAll"),sl=Gm(Ie.formFill,"formFill"),sr=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=Ie.inspector,n=j(o),{inspectorOpen:r,openInspector:l}=et(),a=W();return ()=>{if(e.hidden)return null;let i=q(o),s=a(i?.labelKey??"contentControl.inspector"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Ie.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:()=>l()},p=e.icon??t.default?.()??$(i?.paths);return e.asChild?vue.h(A,u,t.default):vue.h("button",u,p??void 0)}}});sr.docxSlot=Ie.inspector;var dr=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}=et(),l=W();return ()=>{if(e.hidden)return null;let a=Ie.remove,i=q(a),s=l(i?.labelKey??"contentControl.remove"),u={type:"button",class:`docx-toolbar__button${e.className?` ${e.className}`:""}`,"data-slot":Ie.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(A,u,t.default):vue.h("button",u,p??void 0)}}});dr.docxSlot=Ie.remove;var Zm={[Ie.showAll]:il,[Ie.formFill]:sl,[Ie.inspector]:sr,[Ie.remove]:dr};function md(e,t){let o=D(),n={current:t};n.current=t,vue.watch(()=>o.value,(r,l,a)=>{if(!o.value)return;let i=((...u)=>{n.current(...u);}),s=o.value.on(e,i);a(s);},{immediate:true,flush:"post"});}var wT=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],fd=Symbol("TableChromeContext");function ef(){let e=vue.inject(fd,null);if(!e)throw new Error("table chrome group must render inside TableChromeProvider");return e.visible}function RT(e,t){let o=t.table,r=(e?.getSelectedTable()??null)?.blockId??"",l=o?`${r}|${o.rows}|${o.columns}|${o.rowIndex}|${o.columnIndex}`:"",a=t.selection,i=a?`${a.from&&"paraId"in a.from?a.from.paraId:""}|${a.to&&"paraId"in a.to?a.to.paraId:""}|${t.selectionCollapsed}`:"",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:l,selectionKey:i,cellSelectionKey:u,editable:t.editable,editingMode:t.editingMode??"editing"}}function DT(e,t){return e.table===t.table&&e.editable===t.editable&&e.editingMode===t.editingMode&&e.headParagraphId===t.headParagraphId}function _T(e,t){return e.tableKey===t.tableKey&&e.selectionKey===t.selectionKey&&e.cellSelectionKey===t.cellSelectionKey&&e.editable===t.editable&&e.editingMode===t.editingMode}var Jm={tableKey:"",selectionKey:"",cellSelectionKey:"",editable:false,editingMode:"editing"};function kT(e,t){let o={};for(let n of wT){let r=editor.tableChromeToolbarState(e,n,t);o[n]={enabled:r.enabled,disabledReason:r.disabledReason};}return o}var gd=vue.defineComponent({name:"TableChromeProvider",setup(e,{slots:t}){let o=D(),n=vue.ref(editor.DEFAULT_TABLE_CHROME_DRAFT),r=vue.shallowRef(Jm);vue.onMounted(()=>{}),vue.onUnmounted(()=>{});let l=k(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:""}),DT,{onSubscribe:()=>{},onUnsubscribe:()=>{}}),a=()=>{let d=o.value;if(!d){r.value=Jm;return}let c=RT(d,d.snapshot());_T(r.value,c)||(r.value=c);};vue.watch([o,l],a,{immediate:true,flush:"post"}),md("selectionChange",a);let i=vue.computed(()=>r.value.tableKey!==""),s=vue.computed(()=>{let d=o.value;return d?kT(d,n.value):{}}),u=(d,c)=>{let m=o.value;if(!m)return;let{result:g,nextDraft:y}=editor.runTableChromeCommand(m,d,c,n.value);g.ok&&y&&(n.value=y);},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(fd,p),()=>t.default?.()}});function IT(){let e=vue.inject(fd,null);if(!e)throw new Error("table chrome parts must render inside TableChromeProvider");return e}function yd(e){let t=IT(),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)}}function ur(e){let t=e?.closest(".docx-editor")??null;for(;t&&!t.querySelector(".docx-pages");)t=t.parentElement?.closest(".docx-editor")??null;return t}function bd(e){(ur(e)??e?.ownerDocument?.body)?.querySelector(".docx-pages")?.focus();}function hd(e,t,o){vue.watch(e,(n,r,l)=>{if(!n)return;let a=i=>{let s=o.value;s&&i.target instanceof Node&&s.contains(i.target)||t(false);};document.addEventListener("mousedown",a),l(()=>document.removeEventListener("mousedown",a));});}function dl({enabled:e,disabledReason:t,ariaLabel:o}){let{t:n}=_(),r=i18n.localizeDisabledReason(t,n),l=re("table-chrome-reason"),a=!e&&r?l:void 0;return {reasonId:l,shared:{type:"button",onMousedown:I,"aria-label":o,...a?{"aria-describedby":a}:{},...r?{title:r}:{},...e?{}:{"data-disabled":"","aria-disabled":true}},reasonNode:a&&r?vue.h("span",{id:l,class:"docx-editor-sr-only"},r):null}}var LT='[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]';function of(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{if(!r)return;let i=o.value,s=n.value;if(!i)return;let u=()=>[...i.querySelectorAll(LT)].filter(c=>c.closest('[role="menu"]')===i);queueMicrotask(()=>{let c=u();(c.find(g=>g.hasAttribute("data-selected")||g.hasAttribute("data-active"))??c[0])?.focus();});let d=c=>{let m=u();if(c.key==="Escape"){c.preventDefault(),t(false),s?.focus();return}if(c.key==="ArrowDown"){c.preventDefault(),Ke(m,document.activeElement,1);return}if(c.key==="ArrowUp"){c.preventDefault(),Ke(m,document.activeElement,-1);return}if(c.key==="Home"){c.preventDefault(),Ve(m,"first");return}if(c.key==="End"){c.preventDefault(),Ve(m,"last");return}if(c.key==="Enter"||c.key===" "){let g=document.activeElement;g instanceof HTMLElement&&m.includes(g)&&(c.preventDefault(),g.click());}};i.addEventListener("keydown",d),a(()=>i.removeEventListener("keydown",d));},{flush:"post"});}function nf(e,t,o,n){vue.watch(()=>vue.toValue(e),(r,l,a)=>{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,m=u();c instanceof HTMLElement&&m.includes(c)&&(d.preventDefault(),c.click());}};i.addEventListener("keydown",p),a(()=>i.removeEventListener("keydown",p));},{flush:"post"});}var KT=e=>e;function xd(){let e=D(),t=W(),o=k(KT);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 $T(e,t){let o=e.replace(/^#/,"").trim();return /^[0-9a-fA-F]{6}$/.test(o)?`#${o.toLowerCase()}`:`#${t.toLowerCase()}`}function UT(e,t,o){if(e)return n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),o(!t));}}function zT(e){return $(editor.tableChromeIconPaths(e))}function Cd(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=yd(e),p=vue.ref(false),d=vue.ref(null),c=vue.ref(null),m=g=>{p.value=g;};return hd(p,m,d),vue.provide(n,{get open(){return p.value},setOpen:m,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 g={class:`${t}${i.className?` ${i.className}`:""}`,"data-slot":e,style:{position:"relative",display:"inline-flex",alignItems:"center",verticalAlign:"middle"}},y=s.default?.()??[jsxRuntime.jsx(l,{}),jsxRuntime.jsx(a,{})];return i.asChild?jsxRuntime.jsx(A,{...g,ref:d,children:y}):jsxRuntime.jsx("div",{ref:d,...g,children:y})}}}),l=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=W(),d=q(e),c=p(d?.labelKey??o);return ()=>{let{shared:m,reasonNode:g}=dl({enabled:u.enabled,disabledReason:u.disabledReason,ariaLabel:c}),y={...m,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:UT(u.enabled,u.open,u.setOpen)}:{}},b=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(A,{...y,children:b}),g]}):jsxRuntime.jsxs("button",{...y,children:[b,g]})}}});l.docxToolbarPart=true;let a=vue.defineComponent({name:`TableChromeContent_${e}`,props:{className:{type:String,default:void 0},asChild:{type:Boolean,default:void 0}},setup(i,{slots:s}){let u=vue.inject(n),p=W(),d=vue.ref(null);return of(()=>u.open&&u.enabled,u.setOpen,d,u.triggerRef),()=>{if(!u.open||!u.enabled)return null;let c=q(e),m=p(c?.labelKey??o),g={ref:d,role:"menu","aria-label":m,class:`docx-table-chrome__panel${i.className?` ${i.className}`:""}`,onMousedown:I};return i.asChild?jsxRuntime.jsx(A,{...g,children:s.default?.()}):jsxRuntime.jsx("div",{...g,children:s.default?.()})}}});return {Root:r,Trigger:l,Content:a,CtxKey:n}}var pr=Cd("table.borderTarget","docx-table-chrome docx-table-chrome--target","table.borders.tooltip"),cf=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(pr.CtxKey),n=W();return ()=>{let r=editor.TABLE_BORDER_TARGET_OPTIONS.find(s=>s.value===e.value);if(!r)return null;let l=r.value==="none"?false:r.value===o.draft.value.activeTarget,a={type:"button",role:"menuitemradio","aria-checked":l,"data-value":r.value,class:`docx-table-chrome__target-btn${e.className?` ${e.className}`:""}`,...l?{"data-active":""}:{},"aria-label":n(r.labelKey),title:n(r.labelKey),onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[zT(r.icon)];return e.asChild?jsxRuntime.jsx(A,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),pf=vue.defineComponent({name:"TableBorderTargetContent",setup(e,{slots:t}){return ()=>jsxRuntime.jsx(pr.Content,{children:t.default?.()??jsxRuntime.jsx("div",{class:"docx-table-chrome__target-grid",children:editor.TABLE_BORDER_TARGET_OPTIONS.map(o=>jsxRuntime.jsx(cf,{value:o.value},o.value))})})}}),jT=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(pr.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(pr.Trigger,{}),jsxRuntime.jsx(pf,{})]})}}),mr=Object.assign(jT,{docxSlot:"table.borderTarget",Trigger:pr.Trigger,Content:pf,Item:cf}),Xo=Cd("table.borderStyle","docx-table-chrome docx-table-chrome--style","table.borders.styleAriaLabel"),rf=vue.defineComponent({name:"TableBorderStyleItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(Xo.CtxKey),n=W();return ()=>{let r=editor.TABLE_BORDER_STYLE_OPTIONS.find(s=>s.value===e.value);if(!r)return null;let l=r.value===o.draft.value.spec.style,a={type:"button",role:"menuitemradio","aria-checked":l,...l?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(r.value);}},i=t.default?.()??[jsxRuntime.jsx("span",{class:`docx-table-line ${r.previewClass}`,"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(r.labelKey)})];return e.asChild?jsxRuntime.jsx(A,{...a,children:i}):jsxRuntime.jsx("button",{...a,children:i})}}}),fr=Object.assign(vue.defineComponent({name:"ToolbarTableBorderStyle",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Xo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Xo.Trigger,{}),jsxRuntime.jsx(Xo.Content,{children:editor.TABLE_BORDER_STYLE_OPTIONS.map(o=>jsxRuntime.jsx(rf,{value:o.value},o.value))})]})}}),{docxSlot:"table.borderStyle",Trigger:Xo.Trigger,Content:Xo.Content,Item:rf}),Jo=Cd("table.borderWidth","docx-table-chrome docx-table-chrome--width","table.borderWidth"),af=vue.defineComponent({name:"TableBorderWidthItem",props:{value:{type:String,required:true},className:String,asChild:Boolean},setup(e,{slots:t}){let o=vue.inject(Jo.CtxKey),n=W();return ()=>{let r=Number(e.value),l=editor.TABLE_BORDER_WIDTH_OPTIONS.find(u=>u.size===r);if(!l)return null;let a=l.size===o.draft.value.spec.size,i={type:"button",role:"menuitemradio","aria-checked":a,...a?{"data-selected":""}:{},class:`docx-table-chrome__width-row${e.className?` ${e.className}`:""}`,onMousedown:I,onClick:()=>{o.setOpen(false),o.apply(l.size);}},s=t.default?.()??[jsxRuntime.jsx("span",{class:"docx-table-line docx-table-line--single",style:{height:`${l.previewThickness}px`},"aria-hidden":"true"}),jsxRuntime.jsx("span",{children:n(l.labelKey)})];return e.asChild?jsxRuntime.jsx(A,{...i,children:s}):jsxRuntime.jsx("button",{...i,children:s})}}}),gr=Object.assign(vue.defineComponent({name:"ToolbarTableBorderWidth",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(Jo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(Jo.Trigger,{}),jsxRuntime.jsx(Jo.Content,{children:editor.TABLE_BORDER_WIDTH_OPTIONS.map(o=>jsxRuntime.jsx(af,{value:String(o.size)},o.size))})]})}}),{docxSlot:"table.borderWidth",Trigger:Jo.Trigger,Content:Jo.Content,Item:af});function mf(e,t,o){let n=o?.defaultHex??"FF0000",r=Symbol(`table-color-${e}`),l=vue.defineComponent({name:`TableColorRoot_${e}`,props:{className:String,hidden:Boolean,asChild:Boolean},setup(u,{slots:p}){let d=yd(e),c=vue.ref(false),m=vue.ref(n),g=vue.ref(null),y=vue.ref(null),b=f=>{c.value=f;},h=f=>{m.value=f;};return hd(c,b,g),vue.provide(r,{get open(){return c.value},setOpen:b,get enabled(){return d.enabled.value},get disabledReason(){return d.disabledReason.value},apply:d.apply,draft:d.draft,triggerRef:y,get lastHex(){return m.value},setLastHex:h}),()=>{if(u.hidden||!d.visible.value)return null;let f={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(a,{}),jsxRuntime.jsx(i,{}),jsxRuntime.jsx(s,{clearFill:o?.clearFill??false})];return u.asChild?jsxRuntime.jsx(A,{...f,ref:g,children:C}):jsxRuntime.jsx("div",{ref:g,...f,children:C})}}}),a=vue.defineComponent({name:`TableColorMain_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),c=W(),m=q(e),g=c(m?.labelKey??t);return ()=>{let{shared:y,reasonNode:b}=dl({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:g}),h=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.lastHex??n,f={...y,class:`docx-toolbar__button docx-toolbar__colorsplit-main${u.className?` ${u.className}`:""}`,onClick:d.enabled?()=>d.apply({kind:"hex",value:h}):void 0},C=p.default?.()??[$(m?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__colorsplit-bar",style:{backgroundColor:$T(h,n)},"aria-hidden":"true"})];return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(A,{...f,children:C}),b]}):jsxRuntime.jsxs("button",{...f,children:[C,b]})}}});a.docxToolbarPart=true;let i=vue.defineComponent({name:`TableColorTrigger_${e}`,props:{className:String,asChild:Boolean},setup(u,{slots:p}){let d=vue.inject(r),m=W()(t);return ()=>{let{shared:g,reasonNode:y}=dl({enabled:d.enabled,disabledReason:d.disabledReason,ariaLabel:m}),b={...g,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},h=p.default?.()??"\u25BE";return u.asChild?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(A,{...b,children:h}),y]}):jsxRuntime.jsxs("button",{...b,children:[h,y]})}}});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=W(),m=vue.ref(null);return nf(()=>d.open&&d.enabled,d.setOpen,m,d.triggerRef),()=>{if(!d.open||!d.enabled)return null;let g=c(t),y=e==="table.borderColor"&&d.draft.value.spec.color.kind==="hex"?d.draft.value.spec.color.value:d.lastHex??n,b={ref:m,role:"dialog","aria-label":g,class:`docx-toolbar__swatch-popup docx-table-chrome__panel${u.className?` ${u.className}`:""}`,onMousedown:I},h=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),bd(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(td,{apply:f=>{d.setOpen(false),d.setLastHex?.(f),d.apply({kind:"hex",value:f}),bd(d.triggerRef.value);},current:y})]});return u.asChild?jsxRuntime.jsx(A,{...b,children:h}):jsxRuntime.jsx("div",{...b,children:h})}}});return {Root:l,Main:a,Trigger:i,Content:s,CtxKey:r}}var uo=mf("table.borderColor","table.borderColor",{defaultHex:"000000"}),yr=Object.assign(vue.defineComponent({name:"ToolbarTableBorderColor",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(uo.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(uo.Main,{}),jsxRuntime.jsx(uo.Trigger,{}),jsxRuntime.jsx(uo.Content,{clearFill:false})]})}}),{docxSlot:"table.borderColor",Trigger:uo.Trigger,Content:uo.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:uo.Main}),co=mf("table.cellFill","table.cellFillColor",{clearFill:true,defaultHex:"FFFF00"}),vr=Object.assign(vue.defineComponent({name:"ToolbarTableCellFill",props:{className:String,hidden:Boolean,asChild:Boolean},setup(e,{slots:t}){return ()=>jsxRuntime.jsx(co.Root,{...e,children:t.default?.()??[jsxRuntime.jsx(co.Main,{}),jsxRuntime.jsx(co.Trigger,{}),jsxRuntime.jsx(co.Content,{clearFill:true})]})}}),{docxSlot:"table.cellFill",Trigger:co.Trigger,Content:co.Content,Item:vue.defineComponent({setup:()=>()=>null}),Main:co.Main});var ff=vue.defineComponent({name:"TableChromeGroup",props:{overrides:{type:Object,default:()=>new Map},separator:{type:Boolean,default:true}},setup(e){let t=ef();return ()=>{if(!t.value)return null;let o=[mr,yr,fr,gr,vr];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.separator?jsxRuntime.jsx(lo,{}):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 JT=e=>e.editingMode??"editing",Ed='[role="menuitemradio"]:not([disabled])',QT=(e,t)=>e.length===t.length&&e.every((o,n)=>o===t[n]),eE=e=>e.isLoading||e.isOpening===true,br=[{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"}],tE=Object.freeze(br.map(()=>null));function oE(e){return e?br.map(t=>{let o=e.can({type:"setEditingMode",mode:t.mode});return o.ok?null:o.reason}):tE}var nE="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z";function Pd(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 cl=vue.defineComponent({name:"ToolbarEditingMode",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=k(JT),n=k(eE),r=k(()=>oE(t.value),QT),l=W(),{t:a}=_(),i=vue.ref(false),s=vue.ref(null),u=vue.ref(null);vue.watch(i,m=>{if(!m)return;let g=u.value?.querySelectorAll(Ed);(u.value?.querySelector(`${Ed}[aria-checked="true"]`)??g?.[0]??void 0)?.focus();},{flush:"post"}),vue.watch(i,(m,g,y)=>{if(!m)return;let b=f=>{let C=s.value;C&&f.target instanceof Node&&C.contains(f.target)||(i.value=false);},h=f=>{f.key==="Escape"&&(f.preventDefault(),i.value=false);};document.addEventListener("mousedown",b,true),document.addEventListener("keydown",h),y(()=>{document.removeEventListener("mousedown",b,true),document.removeEventListener("keydown",h);});});let p=m=>{let g=[...u.value?.querySelectorAll(Ed)??[]],y=g.indexOf(document.activeElement),b=h=>{m.preventDefault(),g[(h+g.length)%g.length]?.focus();};m.key==="ArrowDown"?b(y+1):m.key==="ArrowUp"?b(y-1):m.key==="Home"?b(0):m.key==="End"&&b(g.length-1);},d=m=>{i.value=false,editor.runToolbarCommand(t.value,"review.editingMode",m),t.value?.focus();},c=vue.computed(()=>br.find(m=>m.mode===o.value)??br[0]);return ()=>{if(e.hidden)return null;let m=q("review.editingMode"),g=editor.toolbarCommandState(t.value,"review.editingMode"),y=i18n.localizeDisabledReason(g.disabledReason,a);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":l(m?.labelKey??"editingMode.label"),disabled:n.value||!g.enabled,...y?{title:y}:{},onMousedown:I,onClick:()=>{i.value=!i.value;},children:[Pd(c.value.path),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:l(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":l(m?.labelKey??"editingMode.label"),"data-testid":"editing-mode-menu",onKeydown:p,children:br.map((b,h)=>{let f=i18n.localizeDisabledReason(r.value[h]??null,a);return jsxRuntime.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":b.mode===o.value,class:"docx-toolbar__mode-item","data-testid":`editing-mode-${b.mode}`,disabled:f!==null,...f?{title:f}:{},onMousedown:I,onClick:()=>d(b.mode),children:[Pd(b.path),jsxRuntime.jsxs("span",{class:"docx-toolbar__mode-text",children:[jsxRuntime.jsx("span",{class:"docx-toolbar__mode-label",children:l(b.labelKey)}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-hint",children:l(b.hintKey)})]}),jsxRuntime.jsx("span",{class:"docx-toolbar__mode-check","aria-hidden":"true",children:b.mode===o.value?Pd(nE):null})]},b.mode)})}):null]})}}});cl.docxSlot="review.editingMode";var bf=[];function hr(){let e=D(),t=yt(),o=vue.shallowRef(bf),n=()=>{o.value=e.value?.getReviewAuthors()??bf;};return vue.watch([e,t],()=>{n(),vue.nextTick(n);},{immediate:true,flush:"post"}),vue.onMounted(()=>{vue.nextTick(n);}),o}var pE=e=>e.hiddenReviewAuthors??[],Sd=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=D(),n=hr(),r=k(pE),l=vue.computed(()=>new Set(r.value)),a=vue.ref(false),i=vue.ref(null),s=vue.ref(null),u=vue.ref(null),p=W(),{t:d}=_();vue.watch(a,(m,g,y)=>{if(!m)return;u.value?.querySelector('[role="menuitemcheckbox"]')?.focus();let b=f=>{i.value?.contains(f.target)||(a.value=false);},h=f=>{f.key==="Escape"&&(f.preventDefault(),a.value=false,vue.nextTick(()=>s.value?.focus()));};document.addEventListener("mousedown",b,true),document.addEventListener("keydown",h),y(()=>{document.removeEventListener("mousedown",b,true),document.removeEventListener("keydown",h);});},{flush:"post"});let c=m=>{let g=[...u.value?.querySelectorAll('[role="menuitemcheckbox"]')??[]],y=g.indexOf(document.activeElement),b=h=>{m.preventDefault(),g[(h+g.length)%g.length]?.focus();};m.key==="ArrowDown"?b(y+1):m.key==="ArrowUp"?b(y-1):m.key==="Home"?b(0):m.key==="End"?b(g.length-1):m.key==="Tab"&&(a.value=false);};return ()=>{if(e.hidden)return null;let m=n.value,g=q("review.authors"),y=editor.toolbarCommandState(o.value,"review.authors"),b=i18n.localizeDisabledReason(y.disabledReason,d),h=p(g?.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":a.value,"aria-label":h,disabled:!y.enabled,title:b??h,onMousedown:I,onClick:()=>{a.value=!a.value;},children:[e.icon??t.default?.()??$(g?.paths),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-value",children:h}),jsxRuntime.jsx("span",{class:"docx-toolbar__picker-caret","aria-hidden":"true",children:"\u25BE"})]}),a.value?jsxRuntime.jsxs("div",{ref:u,class:"docx-toolbar__reviewers-menu",role:"menu","aria-label":h,"data-testid":"reviewers-menu",onKeydown:c,children:[jsxRuntime.jsx(hf,{checked:m.every(f=>!l.value.has(f.author)),label:d("reviewers.all"),testId:"reviewer-all",onChoose:()=>o.value?.setAllReviewAuthorsVisible(!m.every(f=>!l.value.has(f.author)))}),jsxRuntime.jsx("div",{class:"docx-toolbar__menu-separator",role:"separator"}),m.map(f=>jsxRuntime.jsx(hf,{checked:!l.value.has(f.author),label:f.author||"\u2014",testId:`reviewer-${f.slot}`,color:f.color,onChoose:()=>o.value?.setReviewAuthorVisible(f.author,l.value.has(f.author))},f.author))]}):null]})}}}),{docxSlot:"review.authors"}),hf=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 Md=["table.borderTarget","table.borderColor","table.borderStyle","table.borderWidth","table.cellFill"],gl="contextual-table",Rd={"zoom.level":el,"styles.style":cd,"font.family":sd,"font.size":Qa,"text.color":od,"text.highlight":nd,"text.link":Xa,"list.lineSpacing":tl,"review.editingMode":cl,"review.authors":Sd,"file.save":Ja,...Zm,"table.borderTarget":mr,"table.borderColor":yr,"table.borderStyle":fr,"table.borderWidth":gr,"table.cellFill":vr,"image.insert":fa,"image.wrap":Za,"image.altText":Ia},fl={id:gl,labelKey:"formattingBar.groups.table",entries:Md.map(e=>({slot:e,Part:Rd[e]}))},Cf=new Map;function yE(e){let t=Cf.get(e);return t||(t=vue.defineComponent({name:`ToolbarIconPart_${e.replace(/\./g,"_")}`,props:{hidden:{type:Boolean,default:void 0}},setup(o){return ()=>vue.h($t,{slot:e,hidden:o.hidden})}}),Cf.set(e,t)),t}function vE(e){return editor.formattingBarChromeGroups(e).map(t=>t.id==="alignment"?{id:t.id,labelKey:t.labelKey,entries:[{slot:"alignment",Part:ar}]}:{id:t.id,labelKey:t.labelKey,entries:t.controls.map(o=>{let n=editor.chromeSlotId(t,o);return {slot:n,Part:Rd[n]??yE(n)}})})}var bE=e=>e.image,hE=e=>e.isLoading||e.isOpening===true,xE=e=>e.table!==null;function CE(e){return e==="alignment"||e in Rd}function Dd(e){let t=aa(e,Dd);if(t!==null)return t;let o=la(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 Tf(e){return e?!!e.props?.hidden:false}function Sf(e){for(let t of e){let o=Dd(t);if(o!=null&&Md.includes(o))return true;if(t.children){let n=fe(t.children);if(Sf(n))return true}}return false}var TE=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=Oe();vue.provide(sa,vue.computed(()=>({t:e.t,onSave:e.onSave})));let n=W(),r=k(bE),l=k(hE),a=k(xE),i=vue.computed(()=>vE(r.value)),s=vue.computed(()=>new Set(i.value.flatMap(g=>g.entries.map(y=>y.slot)))),u=vue.computed(()=>[...i.value.map(g=>g.id).filter(g=>!Vs.has(g)),...a.value?[gl]:[]]),p=vue.computed(()=>Hp(u.value)),d=vue.computed(()=>e.preset&&e.overflow),{attach:c,overflow:m}=jp(()=>d.value,()=>u.value,()=>p.value);return ()=>{let g=fe(t.default?.()),y;if(!e.preset)y=g;else {let f=new Map,C=new Map,T=[];for(let P of g){let N=Dd(P);N&&s.value.has(N)?f.set(N,P):N&&Md.includes(N)?C.set(N,P):T.push(P);}let v=P=>{let N=f.get(P.slot);return N||vue.h(P.Part)},x=P=>{let N=C.get(P.slot);return N||vue.h(P.Part)},S=[],E=[],M=0;for(let P of i.value){if(m.value.has(P.id)){let R=P.entries.flatMap(H=>{let L=f.get(H.slot);if(Tf(L))return [];let z=L||CE(H.slot)?jsxRuntime.jsx(Gs,{label:Ef(n,H,P.labelKey),children:v(H)}):jsxRuntime.jsx(Yp,{slot:H.slot});return [jsxRuntime.jsx(vue.Fragment,{children:z},H.slot)]});if(R.length===0)continue;E.push({id:P.id,labelKey:P.labelKey,children:R});continue}M>0&&S.push(vue.h(lo,{key:`separator-${P.id}`})),M+=1;let N=Vs.has(P.id);S.push(vue.h("div",{key:P.id,class:"docx-toolbar__group",...N?{[Xn]:""}:{[zo]:P.id}},P.entries.map(R=>vue.h(vue.Fragment,{key:R.slot},[v(R)]))));}let w=m.value.has(gl);if(a.value&&w){let P=fl.entries.flatMap(N=>{let R=C.get(N.slot);return Tf(R)?[]:[jsxRuntime.jsx(vue.Fragment,{children:jsxRuntime.jsx(Gs,{label:Ef(n,N,fl.labelKey),children:x(N)})},N.slot)]});P.length>0&&E.unshift({id:fl.id,labelKey:fl.labelKey,children:P});}y=[...S,...a.value&&!w?[vue.h(lo,{key:"separator-contextual-table"})]:[],...w?[]:[vue.h("div",{class:"docx-toolbar__contextual",[zo]:gl},vue.h(ff,{overrides:C,separator:false}))],...T.length>0?[vue.h("div",{class:"docx-toolbar__group",[Xn]:""},T)]:[],...E.length>0?[vue.h(Xp,{sections:E})]:[]];}let h=e.preset||Sf(g)?vue.h(gd,null,{default:()=>Array.isArray(y)?y:[y]}):y;return vue.h("fieldset",{ref:f=>c(f),disabled:l.value,"aria-label":e.t?.("formattingBar.label")??n("formattingBar.label"),"data-testid":"docx-toolbar",class:`${o}docx-toolbar${e.className?` ${e.className}`:""}`,...d.value?{"data-overflow":""}:{},onMousedown:I},[vue.h(wm,null,{default:()=>[h]})])}}});function Ef(e,t,o){let n=t.slot==="alignment"?null:q(t.slot);return e(n?.labelKey??o)}var Cr=Object.assign(TE,{Button:$t,Action:rd,Separator:lo,Undo:Jp,Redo:Qp,Bold:em,Italic:tm,Underline:om,Strike:nm,Link:Xa,ClearFormatting:rm,Superscript:am,Subscript:lm,Alignment:ar,AlignLeft:im,AlignCenter:sm,AlignRight:dm,AlignJustify:um,LineSpacing:tl,BulletList:cm,NumberedList:pm,Outdent:mm,Indent:fm,ImageInsert:fa,ImageWrap:Za,ImageAltText:Ia,ImageProperties:Oa,TableInsert:gm,TableBorderTarget:mr,TableBorderColor:yr,TableBorderStyle:fr,TableBorderWidth:gr,TableCellFill:vr,Comments:ym,FontFamily:sd,FontSize:Qa,FontColor:od,Highlight:nd,Zoom:el,StylePicker:cd,EditingMode:cl,Reviewers:Sd,Save:Ja,ContentControlShowAll:il,ContentControlFormFill:sl,ContentControlInspector:sr,ContentControlRemove:dr});var wf=/^(con|prn|aux|nul|conin\$|conout\$|com[0-9¹²³]|lpt[0-9¹²³])$/i,EE=/[\u0000-\u001f\u007f-\u009f\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff<>:"/\\|?*]/g;var Mf=new TextEncoder;function PE(e,t){if(Mf.encode(e).length<=t)return e;let o=0,n="";for(let r of e){let l=Mf.encode(r).length;if(o+l>t)break;o+=l,n+=r;}return n}function Rf(e){let t=e.length;for(;t>0;){let o=e.charCodeAt(t-1);if(o!==46&&o!==32)break;t-=1;}return e.slice(0,t)}function Df(e){return Rf(Rf(e).replace(/\.docx$/i,""))}function yl(e){let t=(e??"").replace(EE," ").replace(/\s+/g," ").trim(),o=Df(t).replace(/^[. ]+/,""),n=PE(o,200),r=n===o?o:Df(n);return !r||wf.test(r)?"document.docx":wf.test(r.split(".",1)[0].trim())?`_${r}.docx`:`${r}.docx`}function vl(e,t,o="application/vnd.openxmlformats-officedocument.wordprocessingml.document"){let n=URL.createObjectURL(new Blob([e],{type:o})),r=document.createElement("a");r.href=n,r.download=t,r.click(),setTimeout(()=>URL.revokeObjectURL(n),0);}function _f(e,t,o){let{t:n}=_(),r=vue.ref(false),l=vue.ref(""),a=vue.ref("pdf"),i=vue.ref(false),s=vue.shallowRef({});return {pending:r,error:l,format:a,visible:i,session:s,dismiss:()=>{i.value=false;},execute:async p=>{if(!e.value||r.value)return;let d=o();s.value={},a.value=p,i.value=true,r.value=true,l.value="";try{let c=await editor.runChromeExport(e.value,p,t());vl(c.bytes.slice().buffer,yl(d).replace(/\.docx$/,`.${c.extension}`),c.mimeType),i.value=!1;}catch(c){i.value=true,l.value=c instanceof editor.ChromeExportError?n(c.format==="markdown"?"toolbar.exportMarkdownMissing":"toolbar.exportPdfMissing"):n("toolbar.exportFailed",{message:c instanceof Error?c.message:String(c)});}finally{r.value=false;}}}}function If(e,t,o){let{t:n}=_(),r=null,l=null,a=vue.ref(false),i=vue.ref(""),s=vue.ref(""),u=vue.ref(false),p=vue.ref(false),d=vue.shallowRef({}),c=y=>{if(y instanceof editor.ChromeExportError)return n("toolbar.printPdfMissing");if(y instanceof editor.ChromePrintError){if(y.code==="pdf-viewer-unavailable")return n("toolbar.printNoViewer");if(y.code==="pdf-load-failed")return n("toolbar.printLoadFailed");if(y.code==="print-refused")return n("toolbar.printRefused")}return n("toolbar.printFailedMessage",{message:y instanceof Error?y.message:String(y)})},m=()=>{r=null,p.value=false,u.value=false,a.value=false;},g=async y=>{if(!e.value||r)return;let b={};r=b,l?.dispose(),l=null,d.value=b,p.value=true,u.value=true,a.value=true,i.value="",s.value="";try{let h=await editor.runChromePrint(e.value,t(),y??document);if(r!==b){h.dispose();return}l=h,await h.print({beforePrint:async()=>{if(r!==b)throw new editor.ChromePrintError("print-ended");u.value=!1,await vue.nextTick();}}),r===b&&m();}catch(h){if(r!==b)return;if(!o()){console.error("[docx-editor] print failed",h),m();return}a.value=false,s.value=l?.url??"",i.value=c(h),u.value=true;}};return vue.onScopeDispose(()=>{r=null,l?.dispose(),l=null;}),{pending:a,error:i,url:s,visible:u,active:p,session:d,execute:g,close:m}}var LE=e=>e.hiddenReviewAuthors??[],hl=vue.defineComponent({name:"MenuReviewers",props:{className:{type:String,default:void 0},hidden:{type:Boolean,default:void 0}},setup(e){let t=D(),o=hr(),n=k(LE),r=ce(),{t:l}=_();return ()=>{if(e.hidden)return null;let a=r("reviewers.label"),i=editor.toolbarCommandState(t.value,"review.authors"),s=i18n.localizeDisabledReason(i.disabledReason,l);if(!i.enabled)return jsxRuntime.jsx(ge,{disabled:true,title:s??void 0,...we("review.authors"),children:a});let u=new Set(n.value),p=o.value,d=p.every(c=>!u.has(c.author));return jsxRuntime.jsxs(We,{labelKey:"reviewers.label",className:e.className,children:[jsxRuntime.jsx(Nf,{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(Nf,{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))]})}}}),Nf=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(ge,{active:e.checked,...we(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})}}),AE=vue.defineComponent({name:"MenuReview",inheritAttrs:false,setup(e,{attrs:t,slots:o}){return ()=>vue.h(Tt,{id:"review",...t},{default:()=>[vue.h(We,{labelKey:"reviewers.markupOptions",className:"docx-menubar__markup-options"},{default:()=>vue.h(hl,{className:"docx-menubar__reviewers-submenu"})}),...o.default?.()??[]]})}}),xl=Object.assign(AE,{docxMenu:"review"});var VE={file:ha,format:xa,insert:Ca,review:xl,help:Ea},WE=new Set(editor.CHROME_MENUS.map(e=>e.id));function qE(e){return e!=null&&typeof e=="object"&&"type"in e}function Of(e){if(!qE(e))return null;if(e.type===vue.Fragment){let n=fe(e.children??[]).map(Of).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===Tt){let o=e.props?.id;if(typeof o=="string"&&WE.has(o))return o}return null}var $E=vue.defineComponent({name:"DocxEditorMenu",props:{className:{type:String,default:void 0},t:{type:Function,default:void 0},exporters:{type:Object,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=to(),n=ot(),r=Oe(),l=D(),{t:a}=_(),i=vue.ref(null),s=vue.ref(null),u=_f(l,()=>e.exporters,()=>e.fileName??s.value??void 0),p=If(l,()=>e.exporters,()=>n.value?.print!==false),d=vue.ref(null),c=vue.ref(false),m=vue.ref(false),g=vue.ref(null),y=vue.ref(null),b=N=>{i.value=N,N!==null&&(d.value=N);};vue.watch(i,(N,R,H)=>{if(N===null)return;let L=X=>{let Z=g.value;Z&&X.target instanceof Node&&Z.contains(X.target)||(i.value=null);},z=X=>{X.key==="Escape"&&(i.value=null);};document.addEventListener("mousedown",L),document.addEventListener("keydown",z),H(()=>{document.removeEventListener("mousedown",L),document.removeEventListener("keydown",z);});});let h=()=>y.value?.click(),f=()=>{let N=l.value;N&&N.save().then(R=>vl(R,yl(e.fileName??s.value??void 0))).catch(R=>{console.error("[docx-editor] save failed",R);});},C=()=>{o?o.open("pageSetup",g.value?.querySelector('[data-menu="file"] .docx-menubar__trigger')):c.value=true;},T=()=>{o?o.open("paragraph",g.value?.querySelector('[data-menu="format"] .docx-menubar__trigger')):m.value=true;},v=vue.computed(()=>l.value?e.openHandler??e.onOpen??h:void 0),x=vue.computed(()=>l.value?e.saveHandler??e.onSave??f:void 0),S=vue.computed(()=>l.value&&!p.active.value?()=>{ji(g.value),p.execute(ur(g.value)??g.value??void 0);}:void 0),E=vue.computed(()=>l.value?o?.ownsPageSetup?C:e.onPageSetup??C:void 0);vue.watch(()=>[v.value,x.value,S.value],([N,R,H],L,z)=>{if(typeof document>"u")return;let X=Z=>{if(!(Z.metaKey||Z.ctrlKey)||Z.altKey||Z.shiftKey)return;let me=Z.key.toLowerCase(),Y=editor.isChromePrintShortcut(Z);if(me!=="s"&&me!=="o"&&!Y)return;let ee=Z.target,le=ur(g.value)??g.value,$r=g.value;if(!(!ee||!((le?.contains(ee)??false)||($r?.contains(ee)??false))))if(Y){if(!e.exporters?.pdf||!l.value||!H&&!(p.visible.value&&n.value?.print!==false))return;Z.preventDefault(),H?.();}else me==="s"&&R?(Z.preventDefault(),R()):me==="o"&&N&&(Z.preventDefault(),N());};document.addEventListener("keydown",X),z(()=>document.removeEventListener("keydown",X));},{flush:"post",immediate:true});let M=vue.computed(()=>({t:e.t,openMenu:i.value,setOpenMenu:b,activeMenu:d.value,onOpen:v.value,onSave:x.value,onExport:l.value&&!u.pending.value?N=>(ji(g.value),u.execute(N)):void 0,onPrint:S.value,printShortcut:!!e.exporters?.pdf,onPageSetup:E.value,onParagraphDialog:l.value?T:void 0,onReportIssue:e.onReportIssue,reportIssue:e.reportIssue}));vue.provide(Sn,M);let w=N=>{if(g.value=N,N&&d.value===null){let R=zi(N)[0]?.closest("[data-menu]")?.getAttribute("data-menu");R&&(d.value=R);}},P=N=>{let R=N.target,H=R.files?.[0];R.value="";let L=l.value;!H||!L||(s.value=H.name,e.onOpenFile?.(H),H.arrayBuffer().then(z=>L.load(new Uint8Array(z))).catch(z=>{console.error("[docx-editor] could not open the file",z);}));};return ()=>{let N;if(e.preset===false)N=t.default?fe(t.default()):void 0;else {let R=new Map,H=[];for(let L of fe(t.default?.()??[])){let z=Of(L);z?R.set(z,L):H.push(L);}N=[...editor.CHROME_MENUS.flatMap(L=>{let z=R.get(L.id);if(z)return [vue.h(vue.Fragment,{key:L.id},[z])];let X=VE[L.id];return [vue.h(X,{key:L.id})]}),...H];}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:w,role:"menubar","aria-label":e.t?.("titleBar.menuBarAriaLabel")??a("titleBar.menuBarAriaLabel"),"data-testid":"docx-menubar",class:`${r}docx-menubar${e.className?` ${e.className}`:""}`,onMousedown:I,onKeydown:R=>{if(R.key!=="ArrowLeft"&&R.key!=="ArrowRight")return;let H=g.value;if(!H)return;let L=zi(H),z=L.indexOf(document.activeElement);if(z===-1)return;R.preventDefault();let X=R.key==="ArrowRight"?1:-1,Z=L[(z+X+L.length)%L.length],me=Z?.closest("[data-menu]")?.getAttribute("data-menu");me&&(d.value=me,Z?.focus(),i.value!==null&&(i.value=me));},children:N}),jsxRuntime.jsx(Ts,{content:()=>u.visible.value&&n.value?.export!==false?n.value?.export?de(n.value.export,{open:true,format:u.format.value,pending:u.pending.value,error:u.error.value,onClose:u.dismiss},u.session.value):jsxRuntime.jsx(fn,{open:true,format:u.format.value,pending:u.pending.value,error:u.error.value,onClose:u.dismiss}):null}),jsxRuntime.jsx(Ts,{content:()=>p.visible.value&&n.value?.print!==false?n.value?.print?de(n.value.print,{open:true,pending:p.pending.value,error:p.error.value,url:p.url.value,onClose:p.close},p.session.value):jsxRuntime.jsx(gn,{open:true,pending:p.pending.value,error:p.error.value,url:p.url.value,onClose:p.close}):null}),jsxRuntime.jsx("input",{ref:y,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:P}),jsxRuntime.jsx(eo,{open:c.value,onClose:()=>{c.value=false;}}),jsxRuntime.jsx(st,{open:m.value,onClose:()=>{m.value=false;}})]})}}}),mo=Object.assign($E,{Menu:Tt,File:ha,Format:xa,Insert:Ca,Review:xl,Help:Ea,Item:tt,Row:ge,Group:In,Separator:zt,Submenu:We,TableGrid:_n,Entry:Fn,Open:ya,Save:va,ExportMarkdown:Qi,ExportPdf:es,Print:ts,PageSetup:ba,ImageInsert:os,Reviewers:hl,ReportIssue:Ta});var XE=12240,Vf=1440,$f=1440,Uf=567,fo=20,Nd=6,JE=fo+Nd+2,QE="var(--doc-text-muted)",eP="var(--doc-text-subtle)",Wf="var(--doc-shadow-subtle)",tP="var(--doc-primary)",oP="var(--doc-primary-hover)",nP="var(--doc-text-subtle)",wr=5,Sr=7,rP={left:0,right:0,firstLine:0};function qf(e,t){return t==="inch"?(e/$f).toFixed(2)+'"':(e/Uf).toFixed(1)+" cm"}function aP(e,t){return t?1:Math.round(e==="cm"?editor.SNAP_TWIPS_CM:editor.SNAP_TWIPS_INCH)}var Ld=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}=_(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=vue.computed(()=>{let c=e.pageSetup?.pageWidthTwips??XE,m=e.pageSetup?.marginsTwips.left??Vf,g=e.pageSetup?.marginsTwips.right??Vf,y=e.zoom??1;return {pageWidthTwips:c,leftMarginTwips:m,rightMarginTwips:g,gutterTwips:e.pageSetup?.gutterTwips??0,page:{pageWidth:c,leftMargin:m,rightMargin:g},current:e.indent??rP,pageWidthPx:ue(c)*y,leftMarginPx:ue(m)*y,rightMarginPx:ue(g)*y}}),s=c=>{let m=a.value?.getBoundingClientRect();return m?Qr((c-m.left)/(e.zoom??1)):null},u=(c,m,g)=>{let y=s(m);if(y===null)return;let{pageWidthTwips:b,leftMarginTwips:h,rightMarginTwips:f,gutterTwips:C,page:T,current:v}=i.value;l.value=ue(y)*(e.zoom??1);let x=e.unit??"inch";if(c==="leftMargin"||c==="rightMargin"){if(c==="leftMargin"){let E=b-f-C-720,M=Math.round(Math.max(0,Math.min(y,E)));r.value=M,e.onLeftMarginChange?.(M);}else {let E=b-y,M=b-h-C-720,w=Math.round(Math.max(0,Math.min(E,M)));r.value=w,e.onRightMarginChange?.(w);}return}let S=editor.dragIndent(c,y,v,T,{unit:x,precise:g});r.value=c==="right"?S.right:c==="firstLine"?S.firstLine:S.left,e.onIndentChange?.(S);},p=c=>{c==="leftMargin"||c==="rightMargin"?e.onMarginDragEnd?.():e.onIndentDragEnd?.(),o.value=null,r.value=null,l.value=null;},d=(c,m,g)=>{let y=e.unit??"inch",{current:b,page:h}=i.value,f=editor.handlePosition(c,b,h),C=editor.dragIndent(c,f+m*aP(y,g),b,h,{unit:y,precise:true});e.onIndentChange?.(C),e.onIndentDragEnd?.();};return ()=>{let c=e.zoom??1,m=e.unit??"inch",{pageWidthTwips:g,page:y,current:b,pageWidthPx:h,leftMarginPx:f,rightMarginPx:C}=i.value,T=cP(g,c,m),v=(e.showIndentHandles??false)&&(e.indentEditable??false)&&e.onIndentChange!==void 0,x=E=>ue(editor.handlePosition(E,b,y))*c,S=(E,M,w)=>({positionPx:x(E),editable:v,isDragging:o.value===E,isHovered:n.value===E,onPointerEnter:()=>{n.value=E;},onPointerLeave:()=>{n.value=null;},onPointerDown:P=>{v&&(P.preventDefault(),P.stopPropagation(),P.currentTarget.setPointerCapture(P.pointerId),o.value=E);},onPointerMove:P=>{o.value===E&&u(E,P.clientX,P.altKey);},onPointerUp:P=>{o.value===E&&(P.currentTarget.releasePointerCapture(P.pointerId),p(E));},onKeyDown:P=>{v&&(P.key!=="ArrowLeft"&&P.key!=="ArrowRight"||(P.preventDefault(),d(E,P.key==="ArrowLeft"?-1:1,P.shiftKey)));},label:t(M),valueNow:w,valueText:qf(w,m),pageWidthTwips:g});return jsxRuntime.jsxs("div",{ref:a,class:`docx-horizontal-ruler ${e.className??""}`,style:{position:"relative",width:V(h),height:V(JE),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:V(f),height:V(fo),backgroundColor:Wf,borderRight:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onLeftMarginChange?E=>{E.preventDefault(),E.currentTarget.setPointerCapture(E.pointerId),o.value="leftMargin";}:void 0,onPointermove:E=>o.value==="leftMargin"&&u("leftMargin",E.clientX,E.altKey),onPointerup:E=>{o.value==="leftMargin"&&(E.currentTarget.releasePointerCapture(E.pointerId),p("leftMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,right:0,width:V(C),height:V(fo),backgroundColor:Wf,borderLeft:"1px solid var(--doc-shadow-subtle)",cursor:e.editable??false?"ew-resize":"default",zIndex:1},onPointerdown:(e.editable??false)&&e.onRightMarginChange?E=>{E.preventDefault(),E.currentTarget.setPointerCapture(E.pointerId),o.value="rightMargin";}:void 0,onPointermove:E=>o.value==="rightMargin"&&u("rightMargin",E.clientX,E.altKey),onPointerup:E=>{o.value==="rightMargin"&&(E.currentTarget.releasePointerCapture(E.pointerId),p("rightMargin"));}}),jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:V(fo),pointerEvents:"none"},children:T.map((E,M)=>jsxRuntime.jsx(lP,{tick:E},M))}),e.tabMarks?.map(E=>jsxRuntime.jsx(uP,{tabMark:E,positionPx:ue(E.position)*c,onDoubleClick:()=>e.onTabMarkRemove?.(E.position)},E.position)),(e.showIndentHandles??false)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Id,{direction:"down",anchor:"top",...S("firstLine","ruler.firstLineIndent",b.firstLine)}),jsxRuntime.jsx(Id,{direction:"up",anchor:"strip",...S("hanging","ruler.hangingIndent",b.left)}),jsxRuntime.jsx(iP,{...S("left","ruler.leftIndent",b.left)}),jsxRuntime.jsx(Id,{direction:"up",anchor:"strip",...S("right","ruler.rightIndent",b.right)})]}),o.value&&r.value!==null&&l.value!==null&&jsxRuntime.jsx(sP,{value:qf(r.value,m),positionPx:l.value})]})}}});function lP({tick:e}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:{position:"absolute",left:V(e.position),bottom:0,width:"1px",height:V(e.height),backgroundColor:eP}}),e.label&&jsxRuntime.jsx("div",{style:{position:"absolute",left:V(e.position),top:"2px",transform:"translateX(-50%)",fontSize:"9px",color:QE,fontFamily:"sans-serif",whiteSpace:"nowrap"},children:e.label})]})}function zf(e){return e.editable?e.isDragging||e.isHovered?oP:tP:nP}function jf(e,t,o){return {position:"absolute",left:V(e.positionPx-t/2),width:V(t),cursor:e.editable?"ew-resize":"default",zIndex:e.isDragging?10:4,touchAction:"none",...o}}function Gf(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 Id({direction:e,anchor:t,...o}){let n=zf(o),r=t==="top"?{top:0,height:V(Sr+1)}:{top:V(fo-Sr),height:V(Sr)};return jsxRuntime.jsx("div",{class:"docx-ruler-indent",style:jf(o,wr*2,r),onPointerenter:o.onPointerEnter,onPointerleave:o.onPointerLeave,onPointerdown:o.onPointerDown,onPointermove:o.onPointerMove,onPointerup:o.onPointerUp,onKeydown:o.onKeyDown,...Gf(o),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:0,width:0,height:0,borderLeft:`${wr}px solid transparent`,borderRight:`${wr}px solid transparent`,...e==="down"?{top:0,borderTop:`${Sr}px solid ${n}`}:{bottom:0,borderBottom:`${Sr}px solid ${n}`},transition:"border-color 0.1s"}})})}function iP(e){return jsxRuntime.jsx("div",{class:"docx-ruler-indent docx-ruler-indent--box",style:jf(e,wr*2,{top:V(fo+1),height:V(Nd)}),onPointerenter:e.onPointerEnter,onPointerleave:e.onPointerLeave,onPointerdown:e.onPointerDown,onPointermove:e.onPointerMove,onPointerup:e.onPointerUp,onKeydown:e.onKeyDown,...Gf(e),children:jsxRuntime.jsx("div",{style:{position:"absolute",left:"1px",top:0,width:V(wr*2-2),height:V(Nd),backgroundColor:zf(e),borderRadius:"1px",transition:"background-color 0.1s"}})})}function sP({value:e,positionPx:t}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:V(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 dP={left:"L",center:"C",right:"R",decimal:"D",bar:"|"};function uP({tabMark:e,positionPx:t,onDoubleClick:o}){return jsxRuntime.jsx("div",{style:{position:"absolute",left:V(t-5),top:V(fo-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:dP[e.alignment]||"L"})}function cP(e,t,o){let n=[];if(o==="inch"){let r=$f/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let s=ue(i)*t;a%8===0?n.push({position:s,height:8,label:a/8>0?String(a/8):void 0}):a%4===0?n.push({position:s,height:5}):a%2===0?n.push({position:s,height:3}):n.push({position:s,height:2});}}else {let r=Uf/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let s=ue(i)*t;a%10===0?n.push({position:s,height:8,label:a/10>0?String(a/10):void 0}):a%5===0?n.push({position:s,height:5}):n.push({position:s,height:3});}}return n}var Yf=15840,Cl=1440,Tl=1440,El=567,Hd=20,fP="var(--doc-text-muted)",gP="var(--doc-text-subtle)",yP="var(--doc-primary)",vP="var(--doc-primary)",bP="var(--doc-primary-hover)",Od=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=_(),o=vue.ref(null),n=vue.ref(null),r=vue.ref(null),l=(s,u)=>{e.editable&&(s.preventDefault(),o.value=u);},a=s=>{let u=o.value,p=r.value;if(!u||!p)return;let d=e.pageSetup?.pageHeightTwips??Yf,c=e.pageSetup?.marginsTwips.top??Cl,m=e.pageSetup?.marginsTwips.bottom??Cl,g=p.getBoundingClientRect(),y=s.clientY-g.top,b=Qr(y/(e.zoom??1));if(u==="topMargin"){let h=d-m-720,f=Math.max(0,Math.min(b,h));e.onTopMarginChange?.(Math.round(f));}else if(u==="bottomMargin"){let h=d-b,f=d-c-720,C=Math.max(0,Math.min(h,f));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",a),document.addEventListener("mouseup",i),p(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i);}));}),()=>{let s=e.pageSetup?.pageHeightTwips??Yf,u=e.pageSetup?.marginsTwips.top??Cl,p=e.pageSetup?.marginsTwips.bottom??Cl,d=(f,C)=>{if(!e.editable||f.altKey||f.ctrlKey||f.metaKey||!["ArrowUp","ArrowDown","Home","End"].includes(f.key))return;f.preventDefault();let T=C==="topMargin"?u:p,x=Math.max(0,s-(C==="topMargin"?p:u)-720),S=f.shiftKey?1:Math.round(e.unit==="cm"?El/10:Tl/8),E=f.key==="Home"?0:f.key==="End"?x:Math.max(0,Math.min(x,T+(f.key==="ArrowUp"?S:-S)));E!==T&&((C==="topMargin"?e.onTopMarginChange:e.onBottomMarginChange)?.(E),e.onMarginDragEnd?.());},c=e.zoom??1,m=ue(s)*c,g=ue(u)*c,y=ue(p)*c,b=xP(s,c,e.unit??"inch"),h={position:"relative",width:V(Hd),height:V(m),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:"group","aria-label":t.t("ruler.vertical"),children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:b.map((f,C)=>jsxRuntime.jsx(hP,{tick:f},C))}),jsxRuntime.jsx(Xf,{type:"topMargin",value:u,maximum:Math.max(0,s-p-720),valueText:u/(e.unit==="cm"?El:Tl),unit:e.unit,onKeydown:f=>d(f,"topMargin"),position:g,editable:e.editable??false,isDragging:o.value==="topMargin",isHovered:n.value==="topMargin",onMouseenter:()=>{n.value="topMargin";},onMouseleave:()=>{n.value=null;},onMousedown:f=>l(f,"topMargin")}),jsxRuntime.jsx(Xf,{type:"bottomMargin",value:p,maximum:Math.max(0,s-u-720),valueText:p/(e.unit==="cm"?El:Tl),unit:e.unit,onKeydown:f=>d(f,"bottomMargin"),position:m-y,editable:e.editable??false,isDragging:o.value==="bottomMargin",isHovered:n.value==="bottomMargin",onMouseenter:()=>{n.value="bottomMargin";},onMouseleave:()=>{n.value=null;},onMousedown:f=>l(f,"bottomMargin")})]})}}});function hP(e){let t={position:"absolute",top:V(e.tick.position),right:0,height:"1px",width:V(e.tick.width),backgroundColor:gP},o={position:"absolute",top:V(e.tick.position),left:"2px",transform:"translateY(-50%)",fontSize:"9px",color:fP,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 Xf(e){let t=_(),o=e.isDragging?bP:e.isHovered?vP:yP,n={position:"absolute",top:V(e.position-5),right:0,width:V(Hd),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.t("ruler.topMargin"):t.t("ruler.bottomMargin"),"aria-orientation":"vertical","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.maximum,"aria-valuetext":`${e.valueText.toFixed(2)} ${e.unit==="cm"?"cm":"in"}`,"aria-disabled":!e.editable,onKeydown:e.onKeydown,tabindex:e.editable?0:-1,children:jsxRuntime.jsx("div",{style:r})})}function xP(e,t,o){let n=[];if(o==="inch"){let r=Tl/8,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let s=ue(i)*t;if(a%8===0){let u=a/8;n.push({position:s,width:10,label:u>0?String(u):void 0});}else a%4===0?n.push({position:s,width:6}):a%2===0?n.push({position:s,width:4}):n.push({position:s,width:2});}}else {let r=El/10,l=Math.ceil(e/r);for(let a=0;a<=l;a++){let i=a*r;if(i>e)break;let s=ue(i)*t;if(a%10===0){let u=a/10;n.push({position:s,width:10,label:u>0?String(u):void 0});}else a%5===0?n.push({position:s,width:6}):n.push({position:s,width:3});}}return n}var go=e=>e.isLoading||e.parseError!==null||e.pageSetup==null;var TP=e=>e.formatting?.indent??null,EP=e=>e.editable;function Bd(){let e=D(),t=k(TP),o=k(EP),n=vue.computed(()=>o.value&&e.value!==null&&e.value.can({type:"setIndent",left:0}).ok),r=l=>e.value?e.value.exec({...l.left!==void 0?{left:l.left}:{},...l.right!==void 0?{right:l.right}:{},...l.firstLine!==void 0?{firstLine:l.firstLine}:{},type:"setIndent"}).ok:false;return {indent:vue.computed(()=>t.value),isEnabled:n,apply:r}}var og=e=>e.zoom,wP=e=>e.isOpening===true;function ng(e,t){return !e||Object.keys(t).length===0?e:{...e,marginsTwips:{...e.marginsTwips,...t}}}function rg(){let{apply:e}=Jt(),t=vue.ref({}),o=vue.ref({});return {pending:t,preview:l=>a=>{o.value={...o.value,[l]:Math.round(a)},t.value={...o.value};},commit:()=>{let l=o.value;o.value={},t.value={},Object.keys(l).length!==0&&e({...l.top!==void 0?{marginTopTwips:l.top}:{},...l.right!==void 0?{marginRightTwips:l.right}:{},...l.bottom!==void 0?{marginBottomTwips:l.bottom}:{},...l.left!==void 0?{marginLeftTwips:l.left}:{},scope:"section"});}}}function MP(){let e=D(),{indent:t,isEnabled:o,apply:n}=Bd(),r=vue.ref(null),l=vue.ref(null),a=vue.ref(null),i=p=>{a.value===null&&(a.value=eg(e.value)),l.value=p,r.value=p;},s=()=>{let p=l.value,d=a.value;l.value=null,a.value=null,r.value=null,p&&(d!==null&&d!==eg(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 eg(e){let t=e?.snapshot().selection??null;return t?JSON.stringify(t):""}var Pl=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=k(go),o=k(wP),{pageSetup:n,isEnabled:r}=Jt(),l=k(og),a=rg(),i=MP(),s=no(),u=Uo(),p=vue.ref(0),d=dt();return vue.watch(d,(c,m,g)=>{if(!c){p.value=0;return}let y=()=>{p.value=c.scrollLeft;};y(),c.addEventListener("scroll",y,{passive:true}),g(()=>c.removeEventListener("scroll",y));},{flush:"post",immediate:true}),()=>t.value?null:jsxRuntime.jsx("div",{class:`docx-ruler-frame${o.value?" docx-ruler-frame--opening":""}`,style:{paddingInlineStart:V(s.value+u.value.inlineStart),paddingRight:V(u.value.inlineEnd)},children:jsxRuntime.jsx(Ld,{pageSetup:ng(n.value,a.pending.value),zoom:l.value,editable:r.value,onLeftMarginChange:a.preview("left"),onRightMarginChange:a.preview("right"),onMarginDragEnd:a.commit,showIndentHandles:i.indent.value!==null,indent:i.indent.value,indentEditable:i.isEnabled.value,onIndentChange:i.preview,onIndentDragEnd:i.commit,unit:e.unit??"inch",className:e.className??"",style:{...e.style,transform:`${e.style?.transform?`${e.style.transform} `:""}translateX(${-p.value}px)`,clipPath:s.value>0&&p.value>0?`inset(0 0 0 ${p.value}px)`:e.style?.clipPath}})})}}),Sl=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=k(go),{pageSetup:o,isEnabled:n}=Jt(),r=k(og),l=rg(),a=no(),i=Uo(),s=Tp();return ()=>t.value||s.value!==null&&s.value>0&&o.value&&ue(o.value.pageWidthTwips)*r.value>s.value-a.value-i.value.inlineStart-i.value.inlineEnd?null:jsxRuntime.jsx(Od,{pageSetup:ng(o.value,l.pending.value),zoom:r.value,editable:n.value,onTopMarginChange:l.preview("top"),onBottomMarginChange:l.preview("bottom"),onMarginDragEnd:l.commit,unit:e.unit??"inch",className:e.className??"",style:e.style})}});var _P=20,ag=vue.defineComponent({name:"SvgIcon",props:{size:{type:Number,default:_P},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 on(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(ag,t,()=>vue.h("path",{d:e}))}})}var kP=on("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"),IP=on("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"),NP=on("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"),FP=on("M480-560 280-360l56-56 144-144 144 144 56 56-200 200-200-200Z"),LP=on("M480-360 280-560l56-56 144 144 144-144 56 56-200 200-200-200Z"),AP=on("M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"),HP={arrow_back:kP,search:IP,close:NP,keyboard_arrow_up:FP,keyboard_arrow_down:LP,toc:AP},ft=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=HP[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 Wd=12,Vd=240,ig=16,VP=24,WP=Wd+Vd+ig,sg=12,qP=36,$P=sg+qP+ig,qd=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:Wd}},setup(e){let{t}=_(),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:`${Vd}px`,paddingTop:`${VP}px`,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:o.value?"translateX(0)":`translateX(-${e.leftOffset+Vd}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(ft,{name:"arrow_back",size:20})]),vue.h("span",{style:{fontWeight:400,fontSize:"14px",color:"var(--doc-text)",letterSpacing:"0.01em"}},t("documentOutline.title"))]),vue.h("div",{style:{overflowY:"auto",flex:1,paddingLeft:"4px"}},e.headings.length===0?vue.h("div",{style:{padding:"8px 16px",color:"var(--doc-text-subtle)",fontSize:"13px",lineHeight:"20px"}},t("documentOutline.noHeadings")):e.headings.map((r,l)=>vue.h("div",{key:`${r.blockId}-${l}`,style:{marginLeft:`${(r.level-n)*16}px`}},[vue.h("button",{class:"docx-outline-heading-btn",onClick:()=>e.onHeadingClick(r.blockId),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 8px",fontSize:"13px",fontWeight:400,color:"var(--doc-text)",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:r.text},r.text)])))])}}});var GP=e=>e,ZP=Object.freeze([]),YP=()=>{},$d=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=D(),o=k(GP),n=vue.computed(()=>t.value&&!o.value.isLoading?t.value.getOutline():ZP),r=l=>{let a=t.value;if(!a)return;a.focus();let i={paragraphId:l,offset:0};a.exec({type:"setSelection",range:{anchor:i,head:i}}),a.scrollToBlock(l);};return ()=>go(o.value)?null:vue.h(qd,{headings:n.value,onHeadingClick:r,onClose:e.onClose??YP,topOffset:e.topOffset??0,...e.leftOffset!==void 0?{leftOffset:e.leftOffset}:{}})}});var Ud=Symbol("NavigationContext");function At(e){let t=vue.inject(Ud,null);if(!t)throw new Error(`<DocxEditor.Navigation.${e}> must be rendered inside <DocxEditor.Navigation>`);return vue.unref(t)}var Ml=280,Rl=32,dg=16;function yo(e=280){return 32+e+16}function Dl({viewportWidth:e,pageWidthPx:t,reservation:o,inlineEndReservation:n=0,inlineStartReservation:r=0,docked:l=false}){if(!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0||!Number.isFinite(o)||o<=0||!Number.isFinite(n)||n<0||!Number.isFinite(r)||r<0)return 0;let a=(e-n-t)/2,i=a>=o?0:!l&&o<=2*a?2*(o-a):o;return Math.ceil(Math.max(0,i-r))}var eS=Object.freeze([]),tS=e=>e;function kl(){let e=D(),t=k(tS),o=vue.ref(null),n=vue.computed(()=>e.value&&!t.value.isLoading?e.value.getOutline():eS),r=vue.computed(()=>{let a=n.value;if(a.length===0)return [];let i=a[0].level;for(let s of a)s.level<i&&(i=s.level);return a.map(s=>({heading:s,depth:s.level-i}))}),l=a=>{let i=e.value;if(!i||typeof a!="string"||a.length===0)return;e.value.focus();let s={paragraphId:a,offset:0};e.value.exec({type:"setSelection",range:{anchor:s,head:s}}),i.scrollToBlock(a),o.value=a;};return {headings:n,items:r,selectedBlockId:vue.computed(()=>o.value),goTo:l,isEmpty:vue.computed(()=>n.value.length===0)}}var Gd=150,Zd=2e3,jd=Object.freeze([]),oS=e=>e;function Il(){let e=D(),t=k(oS),o=vue.ref(""),n=vue.ref(""),r=vue.ref(false),l=vue.ref(false),a=vue.ref(jd),i=vue.ref(-1);J(vue.watch([o,n],([d,c],m,g)=>{if(d===c)return;let y=setTimeout(()=>{n.value=d;},Gd);g(()=>clearTimeout(y));}));let s=vue.computed(()=>({matchCase:r.value,wholeWord:l.value}));J(vue.watch([e,n,s,t],()=>{let d=e.value,c=n.value;if(!d||c.length===0){a.value=jd,i.value=-1;return}let m=d.findMatches(c,s.value);a.value!==m&&(a.value=m);},{flush:"post"})),J(vue.watch(a,(d,c)=>{c!==d&&(i.value=i.value>=0&&i.value<d.length?i.value:-1);}));let u=d=>{let c=a.value[d];if(!c||!e.value)return;e.value.focus(),e.value.selectMatch(c).ok&&(i.value=d);},p=d=>{if(a.value.length===0)return;let m=((i.value<0?d>0?-1:0:i.value)+d+a.value.length)%a.value.length;u(m);};return {query:vue.computed(()=>o.value),setQuery:d=>{o.value=d;},matchCase:vue.computed(()=>r.value),setMatchCase:d=>{r.value=d;},wholeWord:vue.computed(()=>l.value),setWholeWord:d=>{l.value=d;},matches:vue.computed(()=>a.value),truncated:vue.computed(()=>a.value.length>=Zd),activeIndex:vue.computed(()=>i.value),goTo:u,next:()=>p(1),previous:()=>p(-1),clear:()=>{o.value="",n.value="",a.value=jd,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 Nl(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,v=>{v!==void 0&&(o.value=v);},{immediate:true}),vue.watch(()=>t.value.defaultTab,v=>{v!==void 0&&(n.value=v);},{immediate:true});let r=vue.computed(()=>t.value.open??o.value),l=vue.computed(()=>t.value.tab??n.value),a=vue.computed(()=>t.value.open!==void 0),i=vue.computed(()=>t.value.tab!==void 0),s=vue.computed(()=>t.value.paneWidth??280),u=v=>{a.value||(o.value=v),t.value.onOpenChange?.(v);},p=()=>u(!r.value),d=v=>{i.value||(n.value=v),t.value.onTabChange?.(v);},c=oo(),m=dt(),g=vue.inject(xo,vue.shallowRef({mounted:0,register:()=>()=>{}})),y=k(sS,dS),b=vue.ref(0),h=vue.ref(0),f=vue.ref(0);J(vue.watch([m,r,()=>y.value.reviewPaneOpen,()=>g.value.mounted],(v,x,S)=>{let E=m.value;if(!E){b.value=0,h.value=0,f.value=0;return}let M=()=>{b.value=E.clientWidth;let P=getComputedStyle(E),N=Number.parseFloat(P.paddingInlineEnd);h.value=Number.isFinite(N)?N:0;let R=Number.parseFloat(P.getPropertyValue("--docx-review-gutter-start"));f.value=Number.isFinite(R)?R:0;};if(M(),typeof ResizeObserver>"u")return;let w=new ResizeObserver(M);w.observe(E),S(()=>w.disconnect());},{flush:"post"}));let C=vue.ref(null);vue.watch(()=>y.value.pageSetup,v=>{v&&(C.value=v.pageWidthTwips);},{immediate:true});let T=vue.computed(()=>{if(!r.value)return 0;let v=y.value.pageSetup?.pageWidthTwips??C.value;return v===null?0:Dl({viewportWidth:b.value,pageWidthPx:ue(v)*y.value.zoom,reservation:yo(s.value),inlineEndReservation:h.value,inlineStartReservation:f.value,docked:y.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?yo(s.value):0);},{immediate:true,flush:"post"})),J(()=>c?.setReservation(0)),{open:r,setOpen:u,toggle:p,tab:l,setTab:d,paneWidth:s,shift:T}}var Mr=["headings","find"],at=(...e)=>e.filter(Boolean).join(" "),Rr=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:at("docx-nav__header",e.className),style:e.style,children:t.default?.()??jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Dr,{}),jsxRuntime.jsx(_r,{})]})})}}),Dr=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}=At("Close");return ()=>jsxRuntime.jsx("button",{type:"button",class:at("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(ft,{name:"arrow_back",size:20})})}}),_r=vue.defineComponent({name:"NavigationTitle",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e,{slots:t}){let{t:o}=At("Title");return ()=>jsxRuntime.jsx("h2",{class:at("docx-nav__title",e.className),style:e.style,children:t.default?.()??o("navigation.title")})}}),kr=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}=At("Tabs"),r=l=>{let a=l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0;if(a===0)return;l.preventDefault();let i=Mr.indexOf(o.tab.value);o.setTab(Mr[(i+a+Mr.length)%Mr.length]);};return ()=>jsxRuntime.jsx("div",{class:at("docx-nav__tabs",e.className),style:e.style,role:"tablist","aria-label":n("navigation.title"),onKeydown:r,children:t.default?.()??Mr.map(l=>jsxRuntime.jsx(Ir,{value:l},l))})}}),Ir=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}=At("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:at("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}`)})}}}),cg=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(ft,{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(ft,{name:"close",size:16})})]})}}),Nr=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}=At("Headings"),r=vue.ref(""),l=k(go),a=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:at("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(cg,{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")}),l.value?null:o.isEmpty.value?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.headings.noHeadings")}):a.value.length===0?jsxRuntime.jsx("p",{class:"docx-nav__empty",children:n("navigation.find.noResults")}):jsxRuntime.jsx("ul",{class:"docx-nav__list",children:a.value.map((s,u)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx("button",{type:"button",class:at("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}`))})]})}}}),mS=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:at("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]})})})}}),Fr=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}=At("Find");return ()=>{let r=t.tab.value!=="find",l=t.open.value&&!r,a=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:at("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(cg,{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:l}),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:a?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(ft,{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(ft,{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(mS,{match:s,active:u===o.activeIndex.value,onSelect:()=>o.goTo(u)},`${s.blockId}-${s.start}-${u}`))})]})}}}),Lr=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}=At("Toggle");return ()=>jsxRuntime.jsx("button",{type:"button",class:at("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(ft,{name:"toc",size:20})})}});var vS=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=Oe(),r=Nl(()=>({...e.paneWidth!==void 0?{paneWidth:e.paneWidth}:{},...e.defaultOpen!==void 0?{defaultOpen:e.defaultOpen}:{},...e.defaultTab!==void 0?{defaultTab:e.defaultTab}:{},...e.open!==void 0?{open:e.open}:{},...e.tab!==void 0?{tab:e.tab}:{},...e.onOpenChange?{onOpenChange:e.onOpenChange}:{},...e.onTabChange?{onTabChange:e.onTabChange}:{}})),l=kl(),a=Il(),{t:i}=_(),s=vue.computed(()=>({pane:r,outline:l,search:a,t:e.t??((p,d)=>i(p,d))}));vue.provide(Ud,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":`${yo(u.value)}px`,...e.style},children:[e.toggle!==false&&!r.open.value&&jsxRuntime.jsx(Lr,{...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(Rr,{}),jsxRuntime.jsx(kr,{}),jsxRuntime.jsx(Nr,{}),jsxRuntime.jsx(Fr,{})]})})]})}}),Ar=Object.assign(vS,{Header:Rr,Close:Dr,Title:_r,Tabs:kr,Tab:Ir,Headings:Nr,Find:Fr,Toggle:Lr});var ES=600,PS=e=>e.page.total,Fl=Symbol("PageNumberTranslationContext"),Ll=vue.defineComponent({name:"DocxEditorPageNumber",props:{className:{type:String,default:void 0},style:{type:Object,default:void 0}},setup(e){let t=Oe(),o=D(),n=dt(),r=k(PS),{t:l}=_(),a=vue.inject(Fl,null),i=vue.ref(1),s=vue.ref(false);return vue.watch([o,r,n],([u,p,d],c,m)=>{if(s.value=false,!u||!d||p<=1)return;i.value=u.getCurrentPage("viewport");let g=null,y=()=>{i.value=u.getCurrentPage("viewport"),s.value=true,g&&clearTimeout(g),g=setTimeout(()=>{s.value=false;},ES);};d.addEventListener("scroll",y,{passive:true}),m(()=>{d.removeEventListener("scroll",y),g&&clearTimeout(g);});},{flush:"post"}),()=>{if(r.value<=1)return null;let u=a?a("viewer.pageIndicator").replace(/\{current\}/g,String(i.value)).replace(/\{total\}/g,String(r.value)):l("viewer.pageIndicator",{current:i.value,total:r.value});return vue.h("div",{class:`${t}docx-editor-shell__page-indicator-chip docx-editor__page-number${e.className?` ${e.className}`:""}`,style:e.style,"data-visible":s.value?"true":"false",role:"status",ariaLive:"polite"},u)}}});var MS=[],RS=e=>e.fontSubstitutions??MS,Al=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=k(RS),{t:o}=_(),n=vue.ref(null);return ()=>{let r=t.value;if(r.length===0)return null;let l=r.join("\0");if(n.value===l)return null;let a=e.t??o,i=r.join(", ");return vue.h("div",{class:e.className?`docx-font-notice ${e.className}`:"docx-font-notice",role:"status",...e.style?{style:e.style}:{}},[vue.h("span",{class:"docx-font-notice__text"},a("editor.fontSubstitutionNotice",{fonts:i}).replace("{fonts}",i)),vue.h("button",{type:"button",class:"docx-font-notice__dismiss",onClick:()=>{n.value=l;}},a("common.dismiss"))])}}});var Ot={hfInlineEditor:10,chrome:50,popover:100,modal:1e4};function Xd(e){return Math.round(e/1440*100)/100}function gg(e){return Math.round(e*1440)}function DS(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 Jd(){let e=D();return k(o=>e.value?.getHeaderFooterState()??null,DS)}function Hr(e,t){let o=vue.ref(null),n=vue.ref({visibility:"hidden"}),r=l=>{o.value=l;};return vue.watch([o,()=>e,()=>t],([l],a,i)=>{let s=l?.closest(".docx-editor__scroll-container"),u=s??l?.parentElement?.querySelector(".docx-editor__scroll-container");if(!l||!u)return;let p=0,d=null,c=new ResizeObserver(()=>g()),m=()=>{p=0;let b=e(u);if(b!==d&&(c.disconnect(),c.observe(u),c.observe(l),b&&c.observe(b),d=b),!b||!b.isConnected){n.value={visibility:"hidden"};return}let h=b.getBoundingClientRect(),f=t==="story-label"?Math.max(l.offsetHeight,28):l.offsetHeight,C=t==="story-label"?6:4,T=s===u,v=t==="after"?h.bottom+6:h.top-f-C,x=T?Ro(u,h.left,v):{left:h.left,top:v},S=x.left,E=x.top,M=T?u.scrollLeft+8:8;n.value={position:T?"absolute":"fixed",left:V(t==="story-label"?S:Math.max(M,S+8)),top:V(t==="story-label"?E:Math.max(T?u.scrollTop+8:8,E)),...t==="story-label"?{width:V(Math.max(240,Math.min(h.width,u.clientWidth-16)))}:{maxWidth:V(Math.max(240,Math.min(h.width-16,u.clientWidth-16)))},visibility:"visible"};},g=()=>{p||(p=requestAnimationFrame(m));};c.observe(u),c.observe(l);let y=new MutationObserver(g);y.observe(u,{subtree:true,childList:true,attributes:true,attributeFilter:["data-docx-hf-active","data-docx-note-scope"]}),u.addEventListener("scroll",g,{passive:true}),window.addEventListener("resize",g),m(),i(()=>{p&&cancelAnimationFrame(p),c.disconnect(),y.disconnect(),u.removeEventListener("scroll",g),window.removeEventListener("resize",g);});},{flush:"post"}),J(()=>{n.value={visibility:"hidden"};}),{ref:r,style:n}}function kS(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 Br(e){let t=D();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 NS=vue.defineComponent({name:"HeaderFooterOptionsMenu",props:{state:{type:Object,required:true},onChromeMousedown:{type:Function,required:true}},setup(e){let{t}=_(),o=D(),n=vue.ref(false),r=vue.ref(null),l=vue.ref(""),a=vue.ref("");vue.watch(n,(f,C,T)=>{if(!f)return;let v=x=>{r.value?.contains(x.target)||(n.value=false);};document.addEventListener("mousedown",v),T(()=>document.removeEventListener("mousedown",v));}),vue.watch(()=>[n.value,e.state.headerDistanceTwips,e.state.footerDistanceTwips],([f,C,T])=>{f&&(C===void 0||T===void 0||(l.value=String(Xd(C)),a.value=String(Xd(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=Br(i.value),m=Br(s.value),g=Br(u.value),y=Br(p.value),b=Br(d.value),h=(f,C)=>{if(!o.value)return;let T=Number.parseFloat(C);Number.isFinite(T)&&o.value.exec({type:"setHeaderFooterOptions",[f]:gg(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(f=>{let C={type:"insertPageField",field:f.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(f.labelKey)},f.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:!m.value.enabled,title:m.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:!y.value.enabled,title:y.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:!g.value.enabled,title:g.value.reason??void 0,onClick:()=>o.value?.exec(u.value),onMousedown:e.onChromeMousedown,children:t("headerFooter.linkToPrevious")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.headerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.headerDistance"),value:l.value,onInput:f=>{l.value=f.target.value;},onBlur:()=>h("headerDistanceTwips",l.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsxs("label",{class:"docx-hf-chrome__menu-row docx-hf-chrome__menu-row--distance",children:[jsxRuntime.jsx("span",{children:t("headerFooter.footerDistance")}),jsxRuntime.jsx("input",{type:"number",min:0,step:.01,"aria-label":t("headerFooter.footerDistance"),value:a.value,onInput:f=>{a.value=f.target.value;},onBlur:()=>h("footerDistanceTwips",a.value)}),jsxRuntime.jsx("span",{class:"docx-hf-chrome__unit",children:"in"})]}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item",disabled:!b.value.enabled,title:b.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]})}}),Ol=vue.defineComponent({name:"DocxEditorHeaderFooterChrome",props:{className:{type:String,default:void 0}},setup(e){let{t}=_(),o=Jd(),r=Hr(a=>a.querySelector("[data-docx-hf-active]"),"story-label"),l=I;return ()=>{if(!o.value?.editing)return null;let a=kS(o.value.editing,o.value.variant);return vue.h("div",{ref:i=>{r.ref(i instanceof HTMLDivElement?i:null);},class:`docx-context-bar docx-hf-chrome${e.className?` ${e.className}`:""}`,role:"region","aria-label":t("headerFooter.chromeAriaLabel"),"data-testid":"docx-hf-chrome",onMousedown:l,style:{...r.style.value,zIndex:Ot.hfInlineEditor}},[vue.h("div",{class:"docx-context-bar__label"},[vue.h("span",{class:"docx-context-bar__title"},t(a)),o.value.inherited?vue.h("span",{class:"docx-context-bar__status","data-testid":"docx-hf-inherited",title:t("headerFooter.sameAsPreviousHint")},t("headerFooter.sameAsPrevious")):null]),vue.h(NS,{state:o.value,onChromeMousedown:l})])}}});var dn=vue.defineComponent({name:"DocxEditorNotePreview",props:{scopeId:{type:String,required:true},text:{type:String,required:true},x:{type:Number,required:true},y:{type:Number,required:true},className:String},setup(e){return ()=>jsxRuntime.jsx("div",{role:"tooltip",class:e.className,"data-testid":"docx-notes-preview",style:{position:"fixed",left:V(e.x),top:V(e.y),zIndex:Ot.popover,maxWidth:"280px",maxHeight:"40vh",overflowY:"auto",padding:"8px 10px",background:"var(--doc-popover-bg)",color:"var(--doc-popover-fg)",border:"1px solid var(--doc-border)",boxShadow:"0 4px 16px var(--doc-shadow)",fontSize:"12px",lineHeight:1.4,pointerEvents:"none"},children:e.text})}}),Kr={type:Function,required:true},un=vue.defineComponent({name:"DocxEditorNotesContextMenu",props:{scopeId:{type:String,required:true},noteKind:{type:String,required:true},noteId:{type:Number,required:true},x:{type:Number,required:true},y:{type:Number,required:true},onDelete:Kr,onConvert:Kr,onConvertAll:Kr,onOpenProperties:Kr,onClose:Kr,deleteEnabled:Boolean,convertEnabled:Boolean,convertAllEnabled:Boolean,deleteDisabledReason:String,convertDisabledReason:String,convertAllDisabledReason:String,className:String},setup(e){let{t}=_();return ()=>jsxRuntime.jsxs("div",{role:"menu",class:e.className,"data-testid":"docx-notes-menu",style:{position:"fixed",left:V(e.x),top:V(e.y),zIndex:Ot.popover,minWidth:"160px",background:"var(--doc-popover-bg)",border:"1px solid var(--doc-border)",boxShadow:"0 4px 16px var(--doc-shadow)",padding:"4px"},onMousedown:I,onKeydown:o=>{o.key==="Escape"&&e.onClose();},children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-delete",disabled:!e.deleteEnabled,title:e.deleteDisabledReason,onClick:e.onDelete,children:t("notes.delete")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert",disabled:!e.convertEnabled,title:e.convertDisabledReason,onClick:e.onConvert,children:e.noteKind==="footnote"?t("notes.convertToEndnote"):t("notes.convertToFootnote")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem","data-testid":"docx-notes-menu-convert-all",disabled:!e.convertAllEnabled,title:e.convertAllDisabledReason,onClick:e.onConvertAll,children:e.noteKind==="footnote"?t("notes.convertAllFootnotes"):t("notes.convertAllEndnotes")}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",onClick:e.onOpenProperties,children:t("dialogs.footnoteProperties.title")})]})}});function LS(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 Qd(){let e=D();return k(o=>{let n=e.value?.getActiveScope();return n?.kind==="note"?n:null},LS)}function xg(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 Cg(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&&xg(e.documentAuthored,t.documentAuthored)&&xg(e.sectionAuthored,t.sectionAuthored)}function AS(e,t){return e===t?true:!e||!t?false:e.sectionIndex===t.sectionIndex&&Cg(e.footnote,t.footnote)&&Cg(e.endnote,t.endnote)}function eu(){let e=D();return k(o=>e.value?.getNotePropertiesState()??null,AS)}var OS=/^(footnote|endnote):(-?\d{1,10})$/;function Tg(e){let t=OS.exec(e);if(!t)return null;let o=Number(t[2]);return Number.isInteger(o)?{noteKind:t[1],noteId:o}:null}function BS(){return typeof window>"u"?false:window.matchMedia("(pointer: coarse)").matches}function tu(e){let t=D();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 KS=vue.defineComponent({name:"NoteStoryOptions",props:{onOpenProperties:{type:Function,required:true},onClose:{type:Function,required:true}},setup(e){let{t}=_(),o=vue.ref(false),n=vue.ref(null);return vue.watch(o,(r,l,a)=>{if(!r)return;let i=s=>{n.value?.contains(s.target)||(o.value=false);};document.addEventListener("mousedown",i),a(()=>document.removeEventListener("mousedown",i));}),()=>jsxRuntime.jsxs("div",{ref:n,class:"docx-hf-chrome__options",children:[jsxRuntime.jsx("button",{type:"button",class:"docx-context-bar__options-trigger","data-testid":"docx-notes-options","aria-expanded":o.value,"aria-haspopup":"menu",onMousedown:I,onClick:()=>{o.value=!o.value;},children:t("headerFooter.options")}),o.value?jsxRuntime.jsxs("div",{class:"docx-hf-chrome__options-menu",role:"menu",onMousedown:I,children:[jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-properties",onClick:()=>{e.onOpenProperties(),o.value=false;},children:t("dialogs.footnoteProperties.title")}),jsxRuntime.jsx("div",{class:"docx-hf-chrome__menu-separator",role:"separator"}),jsxRuntime.jsx("button",{type:"button",role:"menuitem",class:"docx-hf-chrome__menu-item","data-testid":"docx-notes-close",onClick:()=>{e.onClose(),o.value=false;},children:t("common.close")})]}):null]})}}),Bl=vue.defineComponent({name:"NotePropertiesDialog",props:{onClose:{type:Function,required:true},onApply:{type:Function,required:true}},setup(e){let{t}=_(),o=D(),n=eu(),r=vue.ref("document"),l=vue.ref("decimal"),a=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&&(l.value=d.footnote.resolved.numFmt,a.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,m=!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:Ot.modal},onClick:e.onClose,onKeydown:g=>{g.key==="Escape"&&e.onClose();},children:jsxRuntime.jsxs("div",{class:"docx-note-properties__panel",onClick:g=>g.stopPropagation(),onMousedown:g=>g.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:g=>{r.value=g.target.value;},children:[jsxRuntime.jsx("option",{value:"document",children:t("notes.scopeDocument")}),jsxRuntime.jsx("option",{value:"section",children:t("notes.scopeSection")})]})]}),jsxRuntime.jsxs("fieldset",{class:"docx-note-properties__section",children:[jsxRuntime.jsxs("legend",{class:"docx-note-properties__legend",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.footnotes")}),c?jsxRuntime.jsx("span",{class:"docx-note-properties__badge",children:t("notes.inheritedValue")}):null]}),jsxRuntime.jsxs("div",{class:"docx-note-properties__fields",children:[jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numberFormat")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:l.value,onChange:g=>{l.value=g.target.value;},children:[jsxRuntime.jsx("option",{value:"decimal",children:t("dialogs.footnoteProperties.formats.decimal")}),jsxRuntime.jsx("option",{value:"lowerRoman",children:t("dialogs.footnoteProperties.formats.lowerRoman")}),jsxRuntime.jsx("option",{value:"upperRoman",children:t("dialogs.footnoteProperties.formats.upperRoman")})]})]}),jsxRuntime.jsxs("label",{class:"docx-note-properties__field",children:[jsxRuntime.jsx("span",{children:t("dialogs.footnoteProperties.numbering")}),jsxRuntime.jsxs("select",{class:"docx-note-properties__select",value:a.value,onChange:g=>{a.value=g.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:g=>{i.value=g.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")}),m?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:g=>{s.value=g.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:g=>{u.value=g.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:g=>{p.value=g.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 g=o.value;if(!g)return;let y={type:"setNoteProperties",scope:r.value,sectionIndex:r.value==="section"?d?.sectionIndex:void 0,footnote:{numFmt:l.value,numRestart:a.value,position:i.value},endnote:{numFmt:s.value,numRestart:u.value,position:p.value}};g.can(y).ok&&e.onApply(y);},children:t("common.apply")})]})]})})}}}),Kl=vue.defineComponent({name:"DocxEditorNotesChrome",props:{className:{type:String,default:void 0}},setup(e){let t=ot(),{t:o}=_(),n=D(),r=Qd(),l=vue.ref(null),a=vue.ref(null),i=vue.ref(false);vue.watch(()=>t.value?.noteProperties,x=>{x===false&&(i.value=false);}),vue.watch(()=>t.value?.notesContextMenu,x=>{x===false&&(a.value=null);}),vue.watch(()=>t.value?.notePreview,x=>{x===false&&(l.value=null);});let s=vue.ref(null),u=vue.ref(null),p=()=>u.value?.closest(".docx-editor__scroll-container")??u.value?.closest(".docx-editor")??null,c=Hr(x=>{let S=r.value;if(!S)return null;let M=[...x.querySelectorAll("[data-docx-note-scope]")].find(w=>w.matches("[data-docx-note]")&&w.dataset.docxNoteScope===S.id)??null;return M?.closest("[data-docx-notes]")??M},"story-label"),m=()=>{s.value&&clearTimeout(s.value),s.value=null,l.value=null;};vue.watch([n,u],([x],S,E)=>{if(!x)return;let M=p();if(!M)return;let w=R=>{let H=R.target;if(!H)return;let L=H.closest("[data-docx-note-ref]");if(L?.dataset.docxNoteScope){R.preventDefault(),m(),a.value=null,x.setActiveScope({kind:"note",id:L.dataset.docxNoteScope});return}H.closest("[data-docx-note-mark-back]")&&(R.preventDefault(),m(),a.value=null,x.setActiveScope({kind:"body"}));},P=R=>{let H=R,z=H.target?.closest("[data-docx-note-scope]");z?.dataset.docxNoteScope&&(H.preventDefault(),a.value={scopeId:z.dataset.docxNoteScope,x:H.clientX,y:H.clientY});},N=R=>{if(BS())return;let L=R.target?.closest("[data-docx-note-ref]");if(!L?.dataset.docxNoteScope){m();return}let z=L.dataset.docxNoteScope,Z=x.getNotePreviewText(z)??L.getAttribute("aria-description")??o("notes.previewFallback"),me=L.getBoundingClientRect();s.value&&clearTimeout(s.value),s.value=setTimeout(()=>{l.value={scopeId:z,text:Z,x:me.left,y:me.bottom+4};},400);};M.addEventListener("click",w),M.addEventListener("contextmenu",P),M.addEventListener("pointerover",N),M.addEventListener("scroll",m,true),E(()=>{M.removeEventListener("click",w),M.removeEventListener("contextmenu",P),M.removeEventListener("pointerover",N),M.removeEventListener("scroll",m,true),m();});},{flush:"post"});let g=x=>{n.value?.exec(x),a.value=null;},y=vue.computed(()=>a.value?Tg(a.value.scopeId):null),b=vue.computed(()=>y.value?{type:"deleteNote",noteKind:y.value.noteKind,noteId:y.value.noteId}:null),h=vue.computed(()=>y.value?{type:"convertNote",fromKind:y.value.noteKind,noteId:y.value.noteId}:null),f=vue.computed(()=>y.value?{type:"convertAllNotes",fromKind:y.value.noteKind}:null),C=tu(b.value??{type:"deleteNote",noteKind:"footnote",noteId:0}),T=tu(h.value??{type:"convertNote",fromKind:"footnote",noteId:0}),v=tu(f.value??{type:"convertAllNotes",fromKind:"footnote"});return ()=>{if(!n.value)return null;let x=r.value?Tg(r.value.id):null,S=x?o("notes.editingRegion",{kind:x.noteKind==="footnote"?o("notes.footnoteKind"):o("notes.endnoteKind"),number:x.noteId}):null,E={onClose:()=>{i.value=false;},onApply:w=>{g(w),i.value=false;}},M=a.value&&y.value?{...a.value,...y.value,onDelete:()=>{b.value&&g(b.value);},onConvert:()=>{h.value&&g(h.value);},onConvertAll:()=>{f.value&&g(f.value);},onOpenProperties:()=>{t.value?.noteProperties!==false&&(i.value=true);},onClose:()=>{a.value=null;},deleteEnabled:C.value.enabled,convertEnabled:T.value.enabled,convertAllEnabled:v.value.enabled,deleteDisabledReason:C.value.reason??void 0,convertDisabledReason:T.value.reason??void 0,convertAllDisabledReason:v.value.reason??void 0}:null;return vue.h("div",{ref:w=>{u.value=w instanceof HTMLDivElement?w:null;},class:e.className,"data-docx-notes-chrome":"","data-testid":"docx-notes-chrome","aria-hidden":r.value?void 0:true},[r.value&&x?jsxRuntime.jsxs("div",{ref:c.ref,class:"docx-context-bar docx-notes-chrome__banner",role:"region","aria-label":o("notes.chromeAriaLabel"),"data-testid":"docx-notes-banner","data-note-scope":r.value.id,style:{...c.style.value,zIndex:Ot.chrome},children:[jsxRuntime.jsx("span",{class:"docx-context-bar__title",children:S}),jsxRuntime.jsx(KS,{onOpenProperties:()=>{t.value?.noteProperties!==false&&(i.value=true);},onClose:()=>{n.value?.setActiveScope({kind:"body"});}})]}):null,l.value&&t.value?.notePreview!==false?t.value?.notePreview?de(t.value.notePreview,l.value):jsxRuntime.jsx(dn,{...l.value}):null,M&&t.value?.notesContextMenu!==false?t.value?.notesContextMenu?de(t.value.notesContextMenu,M):jsxRuntime.jsx(un,{...M}):null,i.value&&t.value?.noteProperties!==false?t.value?.noteProperties?de(t.value.noteProperties,E):jsxRuntime.jsx(Bl,{...E}):null])}}});var nu=vue.defineComponent({name:"DocxEditorColorByChangeType",setup(){let e=vue.inject(zn,null),t=Symbol("revision-style-declaration");return e?.registerScheme(t),vue.onUnmounted(()=>e?.unregister(t)),()=>null}}),ru=vue.defineComponent({name:"DocxEditorAuthorStyle",props:{author:{type:String,required:true},color:{type:String,default:void 0},background:{type:String,default:void 0},activeBackground:{type:String,default:void 0},spanClassName:{type:String,default:void 0},avatarUrl:{type:String,default:void 0}},setup(e){let t=vue.inject(zn,null),o=Symbol("revision-style-declaration");return vue.watch(()=>[e.author,e.color,e.background,e.activeBackground,e.spanClassName,e.avatarUrl],([n,r,l,a,i,s])=>{t?.register(o,n,{...r!==void 0?{color:r}:{},...l!==void 0?{background:l}:{},...a!==void 0?{activeBackground:a}:{},...i!==void 0?{spanClassName:i}:{},...s!==void 0?{avatarUrl:s}:{}});},{immediate:true}),vue.onUnmounted(()=>t?.unregister(o)),()=>null}});var qS=editor.LOADING_SNAPSHOT;function Vl(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)??qS}}var GS={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)"},ZS={flex:1,minHeight:0,minWidth:0,overflowAnchor:"none"},YS={position:"relative",display:"flex",flex:1,minHeight:0,minWidth:0},XS={flex:"none",minHeight:"34px",padding:"6px 0 2px",overflow:"hidden",scrollbarGutter:"stable both-edges",backgroundColor:"var(--doc-bg)"},JS={position:"absolute",top:"40px",left:0,zIndex:10,pointerEvents:"none"},QS={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)"},ew={padding:"8px 12px"},tw={display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px 0",color:"var(--doc-text)"},ow={display:"flex",flexDirection:"column",flex:1,minWidth:0,gap:"2px"},nw={flex:1,minWidth:0,font:"inherit",color:"inherit",backgroundColor:"transparent",border:"1px solid transparent",borderRadius:"4px",padding:"2px 6px"},rw=vue.defineComponent({name:"ScopedChrome",props:{scoped:{type:Boolean,required:true}},setup(e,{slots:t}){return vue.provide(Vn,e.scoped),()=>t.default?.()}}),Rg={popups:Object,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}},aw={...Rg,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}},lw=vue.defineComponent({name:"DocxEditorFrame",inheritAttrs:false,props:Rg,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=vue.computed(()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave),a=vue.computed(()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen),i=vue.computed(()=>e.onTitleChange??t.onTitleChange),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),m=vue.computed(()=>e.hyperlinkPopup??true),g=vue.ref(Gc()),y;vue.onMounted(()=>{e.colorMode==="system"&&(y=ys(x=>{g.value=x;}));}),vue.onUnmounted(()=>y?.()),vue.watch(()=>e.colorMode,(x,S,E)=>{y?.(),y=void 0,x==="system"&&(y=ys(M=>{g.value=M;}),E(()=>y?.()));});let b=vue.computed(()=>Zc(e.colorMode,g.value)),h=_(),f=vue.computed(()=>{let x=e.t,S=h.t;return (E,M)=>x?x(E,M):S(E,M)}),C=x=>f.value(x);vue.provide(Fl,x=>f.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,S)=>T.value?.exec(x,S)??{ok:false,code:"notFound",reason:"no editor is mounted"},snapshot:x=>T.value?.snapshot(x)??Vl(()=>null).snapshot(x)});let v=vue.defineComponent({name:"DocxEditorRefBridge",setup(){let x=D();return T.value=Vl(()=>x.value),()=>null}});return ()=>{let x=f.value,S=s.value&&b.value?"dark":s.value?void 0:e.class,E=vue.h(qa,{class:S,style:s.value?ZS:void 0,...!s.value&&e.class?{}:{}},{default:()=>[s.value?vue.h(Ol):null,s.value?vue.h(Kl):null,vue.h(Ua),d.value&&s.value?vue.h("div",{style:JS},[vue.h(Sl)]):null,n.default?.()]}),M=typeof u.value=="object"?u.value:{},w=s.value?vue.h("div",{class:`docx-editor${b.value?" dark":""}${e.class?` ${e.class}`:""}`,style:GS},[vue.h("div",{style:QS},[vue.h("div",{style:tw},[n.titleBarLeft?.(),vue.h("div",{style:ow},[i.value!==void 0?vue.h("input",{"aria-label":x("titleBar.documentNameAriaLabel"),value:e.title??"",placeholder:x("titleBar.untitled"),style:nw,onInput:P=>{let N=P.target.value;i.value?.(N),o("titleChange",N);}}):vue.h("span",{style:{minWidth:0,padding:"2px 6px"}},e.title??x("titleBar.untitled")),u.value!==false?vue.h(mo,{t:x,...e.title!==void 0?{fileName:e.title}:{},...a.value!==void 0?{openHandler:a.value}:{},...l.value!==void 0?{saveHandler:l.value}:{},...M}):null]),n.titleBarRight?.()]),vue.h("div",{style:ew},[vue.h(Cr,{t:x})])]),d.value?vue.h("div",{style:XS,"data-testid":"docx-editor-ruler-row"},[vue.h(Pl)]):null,vue.h(Al,{t:x}),vue.h("div",{style:YS},[p.value===false?null:vue.h(Ar,{t:x,...typeof p.value=="object"?p.value:{}}),E,vue.h(Ll),vue.h(za,{overlay:true})])]):E;return vue.h(Gn,{...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}:{},popups:Vc(e.popups,m.value,c.value,x),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:P=>o("ready",P),onChange:P=>o("change",P),onFontError:P=>o("fontError",P)},{default:()=>[vue.h(v),vue.h(rw,{scoped:s.value},{default:()=>w})]})}}}),iw=vue.defineComponent({name:"DocxEditor",inheritAttrs:false,props:aw,emits:["ready","change","fontError","save","open","titleChange"],setup(e,{attrs:t,emit:o,slots:n,expose:r}){let l=()=>e.saveHandler??e.onSave??t.saveHandler??t.onSave,a=()=>e.openHandler??e.onOpen??t.openHandler??t.onOpen,i=()=>e.onTitleChange??t.onTitleChange,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)??Vl(()=>null).snapshot(u)}),()=>{let{i18n:u,...p}=e;return vue.h(zr,u!==void 0?{i18n:u}:{},{default:()=>vue.h(lw,{...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:l()!==void 0?()=>{l()(),o("save");}:void 0,openHandler:a()!==void 0?()=>{a()(),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})})}}}),au=Object.assign(iw,{TextFormFieldDialog:$n,ContentControlWidget:Mi,InvalidTextFormFieldDialog:Ri,ImageAltTextPopup:Na,ImagePropertiesDialog:qn,NotePropertiesDialog:Bl,NotesContextMenu:un,NotePreview:dn,Root:Gn,Viewport:qa,Content:Ua,Toolbar:Cr,Menu:mo,Loading:za,HorizontalRuler:Pl,VerticalRuler:Sl,DocumentOutline:$d,Navigation:Ar,ExportDialog:fn,PrintDialog:gn,PageSetupDialog:eo,ParagraphDialog:st,PageNumber:Ll,FontNotice:Al,HeaderFooterChrome:Ol,NotesChrome:Kl,Equation:En,HyperLink:bn,ContextMenu:Yt,ContentControl:Cn,AuthorStyle:ru,ColorByChangeType:nu});function uw(e){let o=e?.surface?.state?.().selection?.head;return o&&typeof o.paragraphId=="string"&&Number.isFinite(o.offset)?o:null}function cw(e,t){return e.paragraphId===t.paragraphId&&e.offset===t.offset}function pw(){let e=D(),t=vue.shallowRef(null),o=null,n=()=>{let l=uw(e.value),a=o;return (l===null?a===null:a!==null&&cw(a,l))?a:(o=l,l)};t.value=n();let r=vue.watch(()=>e.value,(l,a,i)=>{if(t.value=n(),!l)return;let s=()=>{let d=n();t.value!==d&&(t.value=d);},u=l.on("selectionChange",s),p=l.on("change",s);i(()=>{u(),p();});},{immediate:true,flush:"post"});return J(r),t}function yw(e){let t=e,o=vue.ref(0),n=vue.watch(()=>vue.toValue(t),(r,l,a)=>{if(!r)return;let i=()=>{o.value++;},s=r.on("change",i),u=r.on("selectionChange",i);i(),a(()=>{s(),u();});},{immediate:true,flush:"post"});return J(n),o}var xw=e=>typeof e=="function"?e:vue.toValue(e);function Cw(...e){let t=e,o=()=>t.map(xw);return editor.defineFontResolver(n=>editor.composeFontOrigins(o(),n))}function Pw(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):null}function lu(e){return Array.isArray(e)?e:[e]}function Sw(e){if(typeof e!="function"||editor.isFontResolver(e))return e;let t=e;return editor.defineFontResolver(async()=>t())}function ww(e){return e!==void 0&&lu(e).some(t=>editor.isFontResolver(t))}async function Mw(e){return typeof e!="function"?await e:await e()}function Rw(e,t={}){let o=e,n=t,r=vue.ref(void 0),l=vue.ref(void 0),a=vue.ref(null),i=vue.ref(vue.toValue(o)!=null),s=vue.ref(vue.toValue(t).fonts===void 0),u=0,p=editor.defineFontResolver(d=>editor.composeFontOrigins(lu(vue.toValue(n).fonts??[]).map(Sw),d));return J(vue.watch(()=>vue.toValue(n).fonts,(d,c,m)=>{if(d===void 0){l.value=void 0,s.value=true;return}if(ww(d)){l.value=p,s.value=true;return}let g=true;l.value=void 0,s.value=false,(async()=>{try{let y=await Promise.allSettled(lu(d).map(Mw)),b=[];for(let h of y){if(h.status==="rejected"){console.warn("[fonts] font loading failed for one origin; the others still compose",h.reason);continue}h.value!==void 0&&b.push(h.value);}g&&b.length>0&&(l.value=editor.composeFontConfiguration(b[0],...b.slice(1)));}catch(y){console.warn("[fonts] font loading failed; the fixed measurer stays in effect",y);}finally{g&&(s.value=true);}})(),m(()=>{g=false;});},{immediate:true})),J(vue.watch(()=>vue.toValue(o),(d,c,m)=>{u+=1;let g=u;if(d==null){r.value=void 0,a.value=null,i.value=false;return}let y=Pw(d);if(y){r.value=y,a.value=null,i.value=false;return}let b=true,h=new AbortController;r.value=void 0,i.value=true,a.value=null,(async()=>{try{let f=await fetch(String(d),{...vue.toValue(n).fetchOptions,signal:h.signal});if(!f.ok)throw new Error(`could not open the document: ${f.status} ${f.statusText}`);let C=new Uint8Array(await f.arrayBuffer());if(!b||g!==u)return;r.value=C,i.value=!1;}catch(f){if(!b||g!==u||f instanceof Error&&f.name==="AbortError")return;r.value=void 0,a.value=f instanceof Error?f:new Error("could not open the document"),i.value=false;}})(),m(()=>{b=false,h.abort();});},{immediate:true,flush:"post"})),{document:vue.computed(()=>s.value?r.value:void 0),fonts:vue.computed(()=>l.value),error:vue.computed(()=>a.value),isLoading:vue.computed(()=>i.value||!s.value)}}var Fw=vue.defineComponent({name:"PaginatedDocxEditor",props:{source:{type:Object,required:true},scale:{type:Number,default:void 0},measurer:{type:Object,default:void 0},onStateChange:{type:Function,default:void 0},onError:{type:Function,default:void 0},className:{type:String,default:void 0},documentFontFamily:{type:String,default:void 0}},setup(e,{expose:t}){let o=vue.ref(null),n=vue.shallowRef(null),r=vue.shallowRef(null),l=vue.shallowRef(e.onStateChange),a=vue.shallowRef(e.onError);vue.watch(()=>e.onStateChange,c=>{l.value=c;}),vue.watch(()=>e.onError,c=>{a.value=c;});let i=()=>{let c=o.value;if(!c)return;let m=editor.mountPaginatedSurface(c,e.source,{...e.scale===void 0?{}:{scale:e.scale},...e.measurer?{measurer:e.measurer}:{},onChange:y=>{r.value=y,l.value?.(y);}});if(!m.ok){a.value?.(m.reason,m.detail);return}n.value=m.surface;let g=m.surface.state();return r.value=g,l.value?.(g),()=>{m.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,m)=>n.value?.navigate(c,m),toggleRunProperty:(c,m)=>n.value?.toggleRunProperty(c,m),setRunProperty:(c,m)=>n.value?.setRunProperty(c,m),setParagraphProperty:(c,m,g)=>n.value?.setParagraphProperty(c,m,g),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 Hw=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 Kw=vue.defineComponent({name:"PageIndicator",props:{currentPage:{type:Number,required:true},totalPages:{type:Number,required:true},visible:{type:Boolean,required:true}},setup(e){let{t}=_();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 zw=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?.())}}),jw=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?.())}}),Gw=vue.defineComponent({name:"ToolbarGroup",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-toolbar__group",role:"group"},t.default?.())}});var Zw=au;var Yw=vue.defineComponent({name:"TitleBar",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar"},t.default?.())}}),Xw=mo,Jw=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)})}}),Qw=vue.defineComponent({name:"Logo",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-logo"},t.default?.())}}),eM=vue.defineComponent({name:"TitleBarRight",setup(e,{slots:t}){return ()=>vue.h("div",{class:"docx-title-bar-right"},t.default?.())}});function rM({kind:e}){let t=D(),o=vue.shallowRef(null),n=null;return vue.watch([t,o],([r,l],a,i)=>{if(!r||!l)return;let s=editor.bindHistoryGroup(r,l,{kind:e});n=s,i(()=>{s.dispose(),n=null;});},{immediate:true,flush:"sync"}),{ref:r=>{o.value=r;},options(){if(!n)throw new Error("history group control is not mounted");return n.options()}}}
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,"DocumentRefreshError",{enumerable:true,get:function(){return editor.DocumentRefreshError}});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,"createDocumentRefresh",{enumerable:true,get:function(){return editor.createDocumentRefresh}});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=Ie;exports.ContextMenuCellVerticalAlignment=Zt;exports.ContextMenuCopy=Hn;exports.ContextMenuCopyFormatting=Pa;exports.ContextMenuCut=An;exports.ContextMenuDelete=On;exports.ContextMenuDeleteTable=Ko;exports.ContextMenuDeleteTableColumn=Bo;exports.ContextMenuDeleteTableRow=Oo;exports.ContextMenuInsertColumnLeft=Ao;exports.ContextMenuInsertColumnRight=Ho;exports.ContextMenuInsertRowAbove=Fo;exports.ContextMenuInsertRowBelow=Lo;exports.ContextMenuItem=wa;exports.ContextMenuPaste=Io;exports.ContextMenuPasteFormatting=Sa;exports.ContextMenuPasteWithoutFormatting=No;exports.ContextMenuRefreshToc=Vo;exports.ContextMenuRefreshTocPageNumbers=Wo;exports.ContextMenuSelectAll=Bn;exports.DocumentName=Jw;exports.DocumentOutline=qd;exports.DocxEditor=au;exports.DocxEditorAuthorStyle=ru;exports.DocxEditorColorByChangeType=nu;exports.DocxEditorContent=Ua;exports.DocxEditorContentControl=Cn;exports.DocxEditorContentControlWidget=Mi;exports.DocxEditorContextMenu=Yt;exports.DocxEditorDocumentOutline=$d;exports.DocxEditorEquation=En;exports.DocxEditorExportDialog=fn;exports.DocxEditorFontNotice=Al;exports.DocxEditorHeaderFooterChrome=Ol;exports.DocxEditorHorizontalRuler=Pl;exports.DocxEditorHyperLink=bn;exports.DocxEditorImageAltTextPopup=Na;exports.DocxEditorImagePropertiesDialog=qn;exports.DocxEditorInvalidTextFormFieldDialog=Ri;exports.DocxEditorLoading=za;exports.DocxEditorLoadingSpinner=Ks;exports.DocxEditorMenu=mo;exports.DocxEditorNavigation=Ar;exports.DocxEditorNotePreview=dn;exports.DocxEditorNotePropertiesDialog=Bl;exports.DocxEditorNotesChrome=Kl;exports.DocxEditorNotesContextMenu=un;exports.DocxEditorPageNumber=Ll;exports.DocxEditorPageSetupDialog=eo;exports.DocxEditorParagraphDialog=st;exports.DocxEditorPrintDialog=gn;exports.DocxEditorRoot=Gn;exports.DocxEditorShell=Zw;exports.DocxEditorTextFormFieldDialog=$n;exports.DocxEditorToolbar=Cr;exports.DocxEditorVerticalRuler=Sl;exports.DocxEditorViewport=qa;exports.HorizontalRuler=Ld;exports.ImageAltText=ka;exports.ImageInsertProvider=pa;exports.ImageInsertTrigger=ma;exports.ImagePropertiesTrigger=Ha;exports.ImageWrap=Ga;exports.LocaleProvider=zr;exports.Logo=Qw;exports.MenuBar=Xw;exports.NAVIGATION_PANE_GAP=dg;exports.NAVIGATION_PANE_INSET=Rl;exports.NAVIGATION_PANE_WIDTH=Ml;exports.NavigationClose=Dr;exports.NavigationFind=Fr;exports.NavigationHeader=Rr;exports.NavigationHeadings=Nr;exports.NavigationTab=Ir;exports.NavigationTabs=kr;exports.NavigationTitle=_r;exports.NavigationToggle=Lr;exports.OUTLINE_BUTTON_LEFT_OFFSET=sg;exports.OUTLINE_BUTTON_RESERVED_SPACE=$P;exports.OUTLINE_LEFT_OFFSET=Wd;exports.OUTLINE_RESERVED_SPACE=WP;exports.PageIndicator=Kw;exports.PageNumberTranslationContext=Fl;exports.PaginatedDocxEditor=Fw;exports.PaginatedDocxEditorShell=Hw;exports.REVIEW_MARKERS_GUTTER=Ls;exports.REVIEW_PANE_GUTTER=As;exports.RULER_WIDTH=Hd;exports.ReviewRailContext=xo;exports.SEARCH_DEBOUNCE_MS=Gd;exports.SEARCH_MATCH_LIMIT=Zd;exports.Slot=A;exports.TitleBar=Yw;exports.TitleBarRight=eM;exports.Toolbar=zw;exports.ToolbarButton=jw;exports.ToolbarContext=sa;exports.ToolbarGroup=Gw;exports.ToolbarImageProperties=Oa;exports.VERSION=Lg;exports.VerticalRuler=Od;exports.definePopup=Uy;exports.editorStateActiveSubscriptionCount=jg;exports.isFieldLink=vn;exports.navigationPaneReservation=yo;exports.navigationShift=Dl;exports.normalizeImageBytes=ca;exports.notificationYieldsToTask=ip;exports.provideDocxEditor=ox;exports.reviewGutter=Cp;exports.useChromeTranslate=yu;exports.useContentControl=et;exports.useContentControlInstance=oa;exports.useContentControlWidget=ht;exports.useContextMenuTarget=Tc;exports.useDocumentOutline=kl;exports.useDocumentSearch=Il;exports.useDocxEditor=D;exports.useDocxSource=Rw;exports.useEditorCaret=pw;exports.useEditorCommand=j;exports.useEditorEvent=md;exports.useEditorSnapshot=yw;exports.useEditorState=k;exports.useEditorValueCommand=Wn;exports.useFontFamily=lr;exports.useFonts=Cw;exports.useHeaderFooterState=Jd;exports.useHistoryGroup=rM;exports.useHyperlinkPopup=ke;exports.useHyperlinkPopupInstance=ea;exports.useNavigationPane=Nl;exports.useNavigationShift=no;exports.useNotePropertiesState=eu;exports.useNoteScopeState=Qd;exports.usePageSetup=Jt;exports.usePageSetupDialog=Sh;exports.useParagraphDialog=Hh;exports.useParagraphFormat=hs;exports.useParagraphIndent=Bd;exports.useParagraphStyle=ir;exports.useReviewAuthors=hr;exports.useReviewGutter=Uo;exports.useScopeClassName=Oe;exports.useScopedChromeAnchor=Hr;exports.useTableBorderTargetLabel=xd;exports.useTextFormFieldDialog=fh;exports.useToolbarContext=da;exports.useToolbarLabel=W;exports.useToolbarLabelFor=Qv;exports.useTranslation=_;exports.useZoom=Xs;