@eigenpal/docx-editor-react 1.0.3 → 1.1.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.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import {h,d,g as g$1,F,i,o,E,C,A}from'./chunk-SW2JOSQG.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,g,c,b as b$4}from'./chunk-6AX4I76A.mjs';import {b as b$1}from'./chunk-TN5C2ZYV.mjs';import {b as b$3}from'./chunk-IVFYCMAM.mjs';import'./chunk-AJ2BNSGR.mjs';import {b as b$2,a as a$2}from'./chunk-OHNO4NRQ.mjs';import {m}from'./chunk-ICVBXT6V.mjs';import {b,a as a$3}from'./chunk-ZFZJRL2R.mjs';export{a as LocaleProvider,b as useTranslation}from'./chunk-ZFZJRL2R.mjs';import {b as b$5}from'./chunk-BMBP5UFA.mjs';import Rl,{lazy,forwardRef,useRef,useCallback,useEffect,useImperativeHandle,memo,useState,useMemo,useLayoutEffect,createContext,Suspense,useSyncExternalStore,Component}from'react';import {onFontsLoaded,collectHeadings,findWordBoundaries,pixelsToEmu,loadDocumentFonts,readDocxFileFromInput,resolveColorToHex,twipsToPixels,pixelsToTwips,formatPx}from'@eigenpal/docx-editor-core/utils';import {createStyleResolver,schema,extractSelectionState,findStartPosForParaId,addRowBelow,addColumnRight,getTableContext,setCellFillColor,setTableBorderColor,setTableBorderWidth,setCellBorder,setCellVerticalAlign,setCellMargins,setCellTextDirection,toggleNoWrap,setRowHeight,toggleHeaderRow,distributeColumns,autoFitContents,applyTableStyle,removeTableBorders,setInsideTableBorders,setOutsideTableBorders,setAllTableBorders,mergeCells,selectColumn,selectRow,selectTable,deleteTable,deleteColumn,deleteRow,addColumnLeft,addRowAbove,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1}from'@eigenpal/docx-editor-core/prosemirror';import {parseDocx,injectReplyRangeMarkers,injectTCReplyRangeMarkers}from'@eigenpal/docx-editor-core/docx';import {ExtensionManager,createStarterKit,hasUntrackedChanges,hasStructuralChanges,getChangedParagraphIds,clearTrackedChanges}from'@eigenpal/docx-editor-core/prosemirror/extensions';import {rejectChange,acceptChange,setImageWrapType,getSplitCellDialogConfig,splitActiveTableCell,toggleBold,toggleItalic,toggleUnderline,toggleStrike,toggleSuperscript,toggleSubscript,toggleBulletList,toggleNumberedList,increaseListLevel,increaseIndent,decreaseListLevel,decreaseIndent,clearFormatting,setRtl,setLtr,getSelectedText,getHyperlinkAttrs,applyStyle,setLineSpacing,setFontFamily,setFontSize,setHighlight,setTextColor,clearTextColor,setAlignment,insertTable,insertPageBreak,generateTOC,insertHyperlink,setHyperlink,removeHyperlink,findHyperlinkRangeAt,setIndentLeft,setIndentRight,setIndentFirstLine,removeTabStop,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {toast,Toaster}from'sonner';import {DocumentAgent,executeCommand}from'@eigenpal/docx-editor-core/agent';import {NodeSelection,TextSelection,EditorState}from'prosemirror-state';import {LayoutPainter,renderPages,findImageElement,hitTestImage,captureInlinePositionEmu,toolbarValueToLayoutTarget,deriveLayoutChoice,IMAGE_LAYOUT_OPTIONS,isImageLayoutOptionEnabled}from'@eigenpal/docx-editor-core/layout-painter';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,toFlowBlocks,collectFootnoteRefs,convertHeaderFooterToContent,buildFootnoteContentMap,stabilizeFootnoteLayout,buildFootnoteRenderItems,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,measureBlocksWithFloats,findBodyPmSpans,findBodyEmptyRuns,resetCanvasContext,clearAllCaches,findBodyPmAnchors,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {headerFooterToProseDoc,proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';import {en as en$1}from'@eigenpal/docx-editor-i18n';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {EditorView}from'prosemirror-view';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {LayoutSelectionGate}from'@eigenpal/docx-editor-core/prosemirror/utils/LayoutSelectionGate';import {SIDEBAR_DOCUMENT_SHIFT,SIDEBAR_WIDTH,SIDEBAR_PAGE_GAP}from'@eigenpal/docx-editor-core/utils/sidebarConstants';import {layoutDocument,findPageIndexContainingPmPos,collectSectionConfigs,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {resolveItemPositions}from'@eigenpal/docx-editor-core/plugin-api/resolveItemPositions';import {ErrorManager}from'@eigenpal/docx-editor-core';export{createDocumentWithText,createEmptyDocument}from'@eigenpal/docx-editor-core';import {AgentPanel}from'@eigenpal/docx-editor-agents/react';import {getInitials,formatDate,getCommentText,truncateText,getAvatarColor}from'@eigenpal/docx-editor-core/utils/comments';import {CARD_STYLE_EXPANDED,CARD_STYLE_COLLAPSED}from'@eigenpal/docx-editor-core/utils/cardStyles';import {extractTrackedChanges}from'@eigenpal/docx-editor-core/prosemirror/utils/extractTrackedChanges';import {createSuggestionModePlugin,setSuggestionMode}from'@eigenpal/docx-editor-core/prosemirror/plugins';import {createRoot}from'react-dom/client';function ii({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,d]=useState(e),s=useRef(false);s.current=n;let[i,u]=useState([]);useEffect(()=>{if(d(e),e){let h=t.current?.getView();h&&u(collectHeadings(h.state.doc));}},[e,t]);let l=useRef(null),p=useRef(null),[f,a]=useState(0),S=useCallback(h=>{if(p.current=h,l.current&&(l.current.disconnect(),l.current=null),!h){a(0);return}a(h.offsetHeight);let R=new ResizeObserver(()=>{a(h.offsetHeight);});R.observe(h),l.current=R;},[]);useEffect(()=>()=>{l.current?.disconnect();},[]);let[m,g]=useState(0);return useEffect(()=>{let h=o.current;if(!h)return;let R=0,b=()=>{R=0,g(h.scrollLeft);},c=()=>{R===0&&(R=requestAnimationFrame(b));};return b(),h.addEventListener("scroll",c,{passive:true}),()=>{h.removeEventListener("scroll",c),R!==0&&cancelAnimationFrame(R);}},[r,o]),{showOutline:n,setShowOutline:d,showOutlineRef:s,outlineHeadings:i,setHeadingInfos:u,toolbarHeight:f,toolbarRefCallback:S,editorScrollLeft:m}}function ai({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let d=s=>{let u=navigator.platform.toUpperCase().indexOf("MAC")>=0?s.metaKey:s.ctrlKey;if(!u&&!s.shiftKey&&!s.altKey&&(s.key==="Delete"||s.key==="Backspace")){let l=e.current?.getView();if(l){let p=l.state.selection;if("$anchorCell"in p&&typeof p.forEachCell=="function"){let a=getTableContext(l.state);if(a.isInTable&&a.table){let S=0;a.table.descendants(g=>{(g.type.name==="tableCell"||g.type.name==="tableHeader")&&(S+=1);});let m=0;if(p.forEachCell(()=>{m+=1;}),S>0&&m>=S){s.preventDefault(),deleteTable(l.state,l.dispatch);return}}}}if(n.state.tableIndex!==null){s.preventDefault(),n.handleAction("deleteTable");return}}if(u&&!s.shiftKey&&!s.altKey){if(s.key.toLowerCase()==="f"){if(t)return;s.preventDefault();let l=window.getSelection(),p=l&&!l.isCollapsed?l.toString():"";o.openFind(p);}else if(s.key.toLowerCase()==="h"){if(t)return;s.preventDefault();let l=window.getSelection(),p=l&&!l.isCollapsed?l.toString():"";o.openReplace(p);}else if(s.key.toLowerCase()==="k"){s.preventDefault();let l=e.current?.getView();if(l){let p=getSelectedText$1(l.state),f=getHyperlinkAttrs$1(l.state);f?r.openEdit({url:f.href,displayText:p,tooltip:f.tooltip}):r.openInsert(p);}}}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d);}},[e,t,o,r,n]);}function li({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:d,onError:s,onPrint:i,onDocumentNameChange:u,loadBuffer:l,getActiveEditorView:p,focusActiveEditor:f}){let a=useRef(null),S=useRef(null),m=useCallback(async C=>{if(!e.current)return null;try{let y=e.current.getDocument(),w=t.current?.getDocument();w?.package?.document&&(y.package.document.content=w.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=C?.selective!==!1,x=t.current?.getView(),E;if(P&&x){let I=x.state,k=r.some(L=>L.parentId!=null);E={selective:{changedParaIds:getChangedParagraphIds(I),structuralChange:hasStructuralChanges(I)||k,hasUntrackedChanges:hasUntrackedChanges(I)}};}let T=await e.current.toBuffer(E);return x&&x.dispatch(clearTrackedChanges(x.state)),d?.(T),T}catch(y){return s?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,d,s]),g=useCallback(()=>{let C=o.current?.querySelector(".paged-editor__pages");if(!C){window.print(),i?.();return}let y=window.open("","_blank");if(!y){window.print(),i?.();return}let w=[];for(let x of Array.from(document.styleSheets))try{for(let E of Array.from(x.cssRules))E instanceof CSSFontFaceRule&&w.push(E.cssText);}catch{}let P=C.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let x of Array.from(P.querySelectorAll(".layout-page"))){let E=x;E.style.boxShadow="none",E.style.margin="0";}y.document.write(`<!DOCTYPE html>
1
+ import {h,d as d$1,g,F,i as i$1,o,E,C,A}from'./chunk-SW2JOSQG.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,d,i,e,b as b$4}from'./chunk-T65QFB7S.mjs';import {b as b$1}from'./chunk-TN5C2ZYV.mjs';import {b as b$3}from'./chunk-IVFYCMAM.mjs';import'./chunk-AYHZMFCQ.mjs';import {b as b$2,a as a$3}from'./chunk-OHNO4NRQ.mjs';import {m}from'./chunk-ICVBXT6V.mjs';import {b,a as a$2}from'./chunk-ZFZJRL2R.mjs';export{a as LocaleProvider,b as useTranslation}from'./chunk-ZFZJRL2R.mjs';import {b as b$5}from'./chunk-BMBP5UFA.mjs';import Fl,{lazy,forwardRef,useRef,useCallback,useEffect,useImperativeHandle,memo,useMemo,useState,useLayoutEffect,createContext,Suspense,useSyncExternalStore,Component}from'react';import {collectHeadings,findWordBoundaries,pixelsToEmu,loadDocumentFonts,readDocxFileFromInput,loadFontDefinitions,onFontsLoaded,onFontError,resolveColorToHex,twipsToPixels,pixelsToTwips,formatPx}from'@eigenpal/docx-editor-core/utils';import {createStyleResolver,extractSelectionState,schema,findStartPosForParaId,addRowBelow,addColumnRight,getTableContext,setCellFillColor,setTableBorderColor,setTableBorderWidth,setCellBorder,setCellVerticalAlign,setCellMargins,setCellTextDirection,toggleNoWrap,setRowHeight,toggleHeaderRow,distributeColumns,autoFitContents,applyTableStyle,removeTableBorders,setInsideTableBorders,setOutsideTableBorders,setAllTableBorders,mergeCells,selectColumn,selectRow,selectTable,deleteTable,deleteColumn,deleteRow,addColumnLeft,addRowAbove,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1}from'@eigenpal/docx-editor-core/prosemirror';import {parseDocx,injectReplyRangeMarkers,injectTCReplyRangeMarkers}from'@eigenpal/docx-editor-core/docx';import {ExtensionManager,createStarterKit,hasUntrackedChanges,hasStructuralChanges,getChangedParagraphIds,clearTrackedChanges}from'@eigenpal/docx-editor-core/prosemirror/extensions';import {rejectChangeById,acceptChangeById,rejectChange,acceptChange,insertImageNode,setImageWrapType,getSplitCellDialogConfig,splitActiveTableCell,toggleBold,toggleItalic,toggleUnderline,toggleStrike,toggleSuperscript,toggleSubscript,toggleBulletList,toggleNumberedList,increaseListLevel,increaseIndent,decreaseListLevel,decreaseIndent,clearFormatting,setRtl,setLtr,getSelectedText,getHyperlinkAttrs,applyStyle,setLineSpacing,setFontFamily,setFontSize,setHighlight,setTextColor,clearTextColor,setAlignment,insertTable,insertPageBreak,generateTOC,insertHyperlink,setHyperlink,removeHyperlink,findHyperlinkRangeAt,setIndentLeft,setIndentRight,setIndentFirstLine,removeTabStop,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {toast,Toaster}from'sonner';import {NodeSelection,TextSelection,EditorState}from'prosemirror-state';import {LayoutPainter,renderPages,findImageElement,hitTestImage,captureInlinePositionEmu,toolbarValueToLayoutTarget,deriveLayoutChoice,IMAGE_LAYOUT_OPTIONS,isImageLayoutOptionEnabled}from'@eigenpal/docx-editor-core/layout-painter';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,toFlowBlocks,collectFootnoteRefs,convertHeaderFooterPmDocToContent,convertHeaderFooterToContent,buildFootnoteContentMap,stabilizeFootnoteLayout,buildFootnoteRenderItems,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,invalidateHfDomCache,measureBlocksWithFloats,findBodyPmSpans,findBodyEmptyRuns,resetCanvasContext,clearAllCaches,findBodyPmAnchors,computeHfSelectionRectsFromView,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';import {DocumentAgent}from'@eigenpal/docx-editor-core/agent';import {en}from'@eigenpal/docx-editor-i18n';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {EditorView}from'prosemirror-view';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {LayoutSelectionGate}from'@eigenpal/docx-editor-core/prosemirror/utils/LayoutSelectionGate';import {SIDEBAR_DOCUMENT_SHIFT,SIDEBAR_WIDTH,SIDEBAR_PAGE_GAP}from'@eigenpal/docx-editor-core/utils/sidebarConstants';import {layoutDocument,findPageIndexContainingPmPos,collectSectionConfigs,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {resolveItemPositions}from'@eigenpal/docx-editor-core/plugin-api/resolveItemPositions';import {ErrorManager}from'@eigenpal/docx-editor-core';export{createDocumentWithText,createEmptyDocument}from'@eigenpal/docx-editor-core';import {AgentPanel}from'@eigenpal/docx-editor-agents/react';import {getInitials,formatDate,getCommentText,truncateText,getAvatarColor}from'@eigenpal/docx-editor-core/utils/comments';import {CARD_STYLE_EXPANDED,CARD_STYLE_COLLAPSED}from'@eigenpal/docx-editor-core/utils/cardStyles';import {createSuggestionModePlugin,setSuggestionMode}from'@eigenpal/docx-editor-core/prosemirror/plugins';import {createRoot}from'react-dom/client';function gi({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,d]=useState(e),c=useRef(false);c.current=n;let[i,h]=useState([]);useEffect(()=>{if(d(e),e){let b=t.current?.getView();b&&h(collectHeadings(b.state.doc));}},[e,t]);let l=useRef(null),a=useRef(null),[m,s]=useState(0),S=useCallback(b=>{if(a.current=b,l.current&&(l.current.disconnect(),l.current=null),!b){s(0);return}s(b.offsetHeight);let x=new ResizeObserver(()=>{s(b.offsetHeight);});x.observe(b),l.current=x;},[]);useEffect(()=>()=>{l.current?.disconnect();},[]);let[u,g]=useState(0);return useEffect(()=>{let b=o.current;if(!b)return;let x=0,f=()=>{x=0,g(b.scrollLeft);},p=()=>{x===0&&(x=requestAnimationFrame(f));};return f(),b.addEventListener("scroll",p,{passive:true}),()=>{b.removeEventListener("scroll",p),x!==0&&cancelAnimationFrame(x);}},[r,o]),{showOutline:n,setShowOutline:d,showOutlineRef:c,outlineHeadings:i,setHeadingInfos:h,toolbarHeight:m,toolbarRefCallback:S,editorScrollLeft:u}}function hi({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let d=c=>{let h=navigator.platform.toUpperCase().indexOf("MAC")>=0?c.metaKey:c.ctrlKey;if(!h&&!c.shiftKey&&!c.altKey&&(c.key==="Delete"||c.key==="Backspace")){let l=e.current?.getView();if(l){let a=l.state.selection;if("$anchorCell"in a&&typeof a.forEachCell=="function"){let s=getTableContext(l.state);if(s.isInTable&&s.table){let S=0;s.table.descendants(g=>{(g.type.name==="tableCell"||g.type.name==="tableHeader")&&(S+=1);});let u=0;if(a.forEachCell(()=>{u+=1;}),S>0&&u>=S){c.preventDefault(),deleteTable(l.state,l.dispatch);return}}}}if(n.state.tableIndex!==null){c.preventDefault(),n.handleAction("deleteTable");return}}if(h&&!c.shiftKey&&!c.altKey){if(c.key.toLowerCase()==="f"){if(t)return;c.preventDefault();let l=window.getSelection(),a=l&&!l.isCollapsed?l.toString():"";o.openFind(a);}else if(c.key.toLowerCase()==="h"){if(t)return;c.preventDefault();let l=window.getSelection(),a=l&&!l.isCollapsed?l.toString():"";o.openReplace(a);}else if(c.key.toLowerCase()==="k"){c.preventDefault();let l=e.current?.getView();if(l){let a=getSelectedText$1(l.state),m=getHyperlinkAttrs$1(l.state);m?r.openEdit({url:m.href,displayText:a,tooltip:m.tooltip}):r.openInsert(a);}}}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d);}},[e,t,o,r,n]);}function yi({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:d,onError:c,onPrint:i,onDocumentNameChange:h,loadBuffer:l,getActiveEditorView:a,focusActiveEditor:m}){let s=useRef(null),S=useRef(null),u=useCallback(async C=>{if(!e.current)return null;try{let y=e.current.getDocument(),R=t.current?.getDocument();R?.package?.document&&(y.package.document.content=R.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=C?.selective!==!1,T=t.current?.getView(),w;if(P&&T){let E=T.state,M=r.some(H=>H.parentId!=null);w={selective:{changedParaIds:getChangedParagraphIds(E),structuralChange:hasStructuralChanges(E)||M,hasUntrackedChanges:hasUntrackedChanges(E)}};}let I=await e.current.toBuffer(w);return T&&T.dispatch(clearTrackedChanges(T.state)),d?.(I),I}catch(y){return c?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,d,c]),g=useCallback(()=>{let C=o.current?.querySelector(".paged-editor__pages");if(!C){window.print(),i?.();return}let y=window.open("","_blank");if(!y){window.print(),i?.();return}let R=[];for(let T of Array.from(document.styleSheets))try{for(let w of Array.from(T.cssRules))w instanceof CSSFontFaceRule&&R.push(w.cssText);}catch{}let P=C.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let T of Array.from(P.querySelectorAll(".layout-page"))){let w=T;w.style.boxShadow="none",w.style.margin="0";}y.document.write(`<!DOCTYPE html>
2
2
  <html><head><title>Print</title>
3
3
  <style>
4
- ${w.join(`
4
+ ${R.join(`
5
5
  `)}
6
6
  * { margin: 0; padding: 0; }
7
7
  body { background: white; }
@@ -9,8 +9,8 @@ body { background: white; }
9
9
  .layout-page:last-child { break-after: auto; }
10
10
  @page { margin: 0; size: auto; }
11
11
  </style>
12
- </head><body>${P.outerHTML}</body></html>`),y.document.close(),y.onload=()=>{y.print(),y.close();},setTimeout(()=>{y.closed||(y.print(),y.close());},1e3),i?.();},[o,i]),h=useCallback(async()=>{let C=await m();if(!C)return;let y=new Blob([C],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),w=URL.createObjectURL(y),P=window.document.createElement("a");P.href=w,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(w),0);},[m,n]),R=useCallback(()=>{S.current?.click();},[]),b=useCallback(async C=>{try{let y=await readDocxFileFromInput(C.nativeEvent);if(!y)return;await l(y.buffer),u?.(y.name);}catch(y){s?.(y instanceof Error?y:new Error("Failed to open document"));}},[l,u,s]),c=useCallback(()=>{a.current?.click();},[]),v=useCallback(C=>{let y=C.target.files?.[0];if(!y)return;let w=p();if(!w)return;let P=new FileReader;P.onload=()=>{let x=P.result,E=new Image;E.onload=()=>{let T=E.naturalWidth,I=E.naturalHeight,k=612;if(T>k){let _=k/T;T=k,I=Math.round(I*_);}let L=`rId_img_${Date.now()}`,B=w.state.schema.nodes.image.create({src:x,alt:y.name,width:T,height:I,rId:L,wrapType:"inline",displayMode:"inline"}),{from:A}=w.state.selection,j=w.state.tr.insert(A,B);w.dispatch(j.scrollIntoView()),f();},E.src=x;},P.readAsDataURL(y),C.target.value="";},[p,f]);return {imageInputRef:a,docxInputRef:S,handleSave:m,handleDirectPrint:g,handleDownloadDocument:h,handleOpenDocument:R,handleDocxFileChange:b,handleInsertImageClick:c,handleImageFileChange:v}}function di({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,d]=useState(false),s=useCallback(()=>d(true),[]),i=useCallback(R=>b=>{if(!e||t)return;let c={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[R]:b}}}};o(c);},[e,t,o]),u=useMemo(()=>i("marginLeft"),[i]),l=useMemo(()=>i("marginRight"),[i]),p=useMemo(()=>i("marginTop"),[i]),f=useMemo(()=>i("marginBottom"),[i]),a=useCallback(R=>{if(!e||t)return;let b={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...R}}}};o(b);},[e,t,o]),S=useCallback(R=>{let b=r();b&&setIndentLeft(R)(b.state,b.dispatch);},[r]),m=useCallback(R=>{let b=r();b&&setIndentRight(R)(b.state,b.dispatch);},[r]),g=useCallback(R=>{let b=r();b&&(R<0?setIndentFirstLine(-R,true)(b.state,b.dispatch):setIndentFirstLine(R,false)(b.state,b.dispatch));},[r]),h=useCallback(R=>{let b=r();b&&removeTabStop(R)(b.state,b.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:d,handleOpenPageSetup:s,handleLeftMarginChange:u,handleRightMarginChange:l,handleTopMarginChange:p,handleBottomMarginChange:f,handlePageSetupApply:a,handleIndentLeftChange:S,handleIndentRightChange:m,handleFirstLineIndentChange:g,handleTabStopRemove:h}}function mi({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),d=useCallback(m=>{let g=t();if(!g)return;let h=m.url||"",R=m.tooltip,{empty:b}=g.state.selection;b&&m.displayText?insertHyperlink(m.displayText,h,R)(g.state,g.dispatch):b?m.displayText&&insertHyperlink(m.displayText,h,R)(g.state,g.dispatch):setHyperlink(h,R)(g.state,g.dispatch),e.close(),o();},[e,t,o]),s=useCallback(()=>{let m=t();m&&(removeHyperlink(m.state,m.dispatch),o());},[t,o]),i=useCallback(()=>{s(),e.close();},[e,s]),u=useCallback(m=>n(m),[]),l=useCallback(m=>{window.open(m,"_blank","noopener,noreferrer");},[]),p=useCallback(m=>{navigator.clipboard.writeText(m).catch(()=>{let g=document.createElement("textarea");g.value=m,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g);});},[]),f=useCallback((m,g)=>{let h=t();if(!h)return;let R=findHyperlinkRangeAt(h.state);if(R){let b=h.state.schema.marks.hyperlink,{$from:c}=h.state.selection,v=b.create({href:g,tooltip:R.mark.attrs.tooltip}),C=h.state.schema.text(m,[...c.marks().filter(w=>w.type!==b),v]),y=h.state.tr.replaceWith(R.start,R.end,C);h.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),a=useCallback(()=>{let m=t();if(!m)return;let g=findHyperlinkRangeAt(m.state,r?.href);if(!g)return;let h=m.state.schema.marks.hyperlink;m.dispatch(m.state.tr.removeMark(g.start,g.end,h).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:d,handleHyperlinkRemove:i,handleHyperlinkClick:u,handleHyperlinkPopupNavigate:l,handleHyperlinkPopupCopy:p,handleHyperlinkPopupEdit:f,handleHyperlinkPopupRemove:a,handleHyperlinkPopupClose:S}}function gi({document:e,containerRef:t,findReplace:o,handleDocumentChange:r}){let n=useRef(null),d=useCallback((p,f)=>{if(!e||!p.trim())return n.current=null,null;let a=(0, a$2.findInDocument)(e,p,f),S={matches:a,totalCount:a.length,currentIndex:0};return n.current=S,o.setMatches(a,0),a.length>0&&t.current&&(0, a$2.scrollToMatch)(t.current,a[0]),S},[e,t,o]),s=useCallback(()=>{if(!n.current||n.current.matches.length===0)return null;let p=o.goToNextMatch(),f=n.current.matches[p];return f&&t.current&&(0, a$2.scrollToMatch)(t.current,f),f||null},[t,o]),i=useCallback(()=>{if(!n.current||n.current.matches.length===0)return null;let p=o.goToPreviousMatch(),f=n.current.matches[p];return f&&t.current&&(0, a$2.scrollToMatch)(t.current,f),f||null},[t,o]),u=useCallback(p=>{if(!e||!n.current||n.current.matches.length===0)return false;let f=n.current.matches[n.current.currentIndex];if(!f)return false;try{let a=executeCommand(e,{type:"replaceText",range:{start:{paragraphIndex:f.paragraphIndex,offset:f.startOffset},end:{paragraphIndex:f.paragraphIndex,offset:f.endOffset}},text:p});return r(a),!0}catch(a){return console.error("Replace failed:",a),false}},[e,r]),l=useCallback((p,f,a)=>{if(!e||!p.trim())return 0;let S=(0, a$2.findInDocument)(e,p,a);if(S.length===0)return 0;let m=e,g=[...S].sort((h,R)=>h.paragraphIndex!==R.paragraphIndex?R.paragraphIndex-h.paragraphIndex:R.startOffset-h.startOffset);for(let h of g)try{m=executeCommand(m,{type:"replaceText",range:{start:{paragraphIndex:h.paragraphIndex,offset:h.startOffset},end:{paragraphIndex:h.paragraphIndex,offset:h.endOffset}},text:f});}catch(R){console.error("Replace failed for match:",h,R);}return r(m),n.current=null,o.setMatches([],0),S.length},[e,r,o]);return {findResultRef:n,handleFind:d,handleFindNext:s,handleFindPrevious:i,handleReplace:u,handleReplaceAll:l}}function yi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:d$1,getCachedStyleResolver:s}){let i=useCallback(f=>{let a=e();if(!a)return;a.focus();let S=a===o.current?.getView(),{from:m,to:g}=a.state.selection,h=r.current;if(S&&h&&(m!==h.from||g!==h.to))try{let R=a.state.tr.setSelection(TextSelection.create(a.state.doc,h.from,h.to));a.dispatch(R);}catch(R){console.warn("Could not restore selection:",R);}if(f==="bold")return void toggleBold(a.state,a.dispatch);if(f==="italic")return void toggleItalic(a.state,a.dispatch);if(f==="underline")return void toggleUnderline(a.state,a.dispatch);if(f==="strikethrough")return void toggleStrike(a.state,a.dispatch);if(f==="superscript")return void toggleSuperscript(a.state,a.dispatch);if(f==="subscript")return void toggleSubscript(a.state,a.dispatch);if(f==="bulletList")return void toggleBulletList(a.state,a.dispatch);if(f==="numberedList")return void toggleNumberedList(a.state,a.dispatch);if(f==="indent"){increaseListLevel(a.state,a.dispatch)||increaseIndent()(a.state,a.dispatch);return}if(f==="outdent"){decreaseListLevel(a.state,a.dispatch)||decreaseIndent()(a.state,a.dispatch);return}if(f==="clearFormatting")return void clearFormatting(a.state,a.dispatch);if(f==="setRtl")return void setRtl(a.state,a.dispatch);if(f==="setLtr")return void setLtr(a.state,a.dispatch);if(f==="insertLink"){let R=getSelectedText(a.state),b=getHyperlinkAttrs(a.state);b?n.openEdit({url:b.href,displayText:R,tooltip:b.tooltip}):n.openInsert(R);return}if(typeof f=="object")switch(f.type){case "alignment":setAlignment(f.value)(a.state,a.dispatch);break;case "textColor":{let R=f.value;typeof R=="string"?setTextColor({rgb:R.replace("#","")})(a.state,a.dispatch):R.auto?clearTextColor(a.state,a.dispatch):setTextColor(R)(a.state,a.dispatch);break}case "highlightColor":{let R=f.value?g$1(f.value):"";setHighlight(R||f.value)(a.state,a.dispatch);break}case "fontSize":setFontSize(d(f.value))(a.state,a.dispatch);break;case "fontFamily":setFontFamily(f.value)(a.state,a.dispatch);break;case "lineSpacing":setLineSpacing(f.value)(a.state,a.dispatch);break;case "applyStyle":{let R=d$1.current,b=R?.package.styles?s(R.package.styles):null;if(b){let c=b.resolveParagraphStyle(f.value);applyStyle(f.value,{paragraphFormatting:c.paragraphFormatting,runFormatting:c.runFormatting})(a.state,a.dispatch);}else applyStyle(f.value)(a.state,a.dispatch);break}}},[e,o,r,n,d$1,s]),u=useCallback((f,a)=>{let S=e();S&&(insertTable(f,a)(S.state,S.dispatch),t());},[e,t]),l=useCallback(()=>{let f=e();f&&(insertPageBreak(f.state,f.dispatch),t());},[e,t]),p=useCallback(()=>{let f=e();f&&(generateTOC(f.state,f.dispatch),t());},[e,t]);return {handleFormat:i,handleInsertTable:u,handleInsertPageBreak:l,handleInsertTOC:p}}function vi({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:d}){let[s,i]=useState(false),[u,l]=useState(false),[p,f]=useState(false),a=useCallback(b=>{let c=r();if(!c||!t)return;let v=t.pos,C=c.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=toolbarValueToLayoutTarget(b);if(!y)return;let w;if(C.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${v}"]`),x=P?captureInlinePositionEmu(P,o):void 0;x&&(w={initialPositionEmu:x});}setImageWrapType(v,y,w)(c.state,c.dispatch),n();},[r,n,t,o]),S=useCallback(b=>{let c=r();if(!c||!t)return;let v=t.pos,C=c.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=C.attrs.transform||"",w=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=w?parseFloat(w[1]):0,x=/scaleX\(-1\)/.test(y),E=/scaleY\(-1\)/.test(y);switch(b){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":x=!x;break;case "flipV":E=!E;break}let T=[];P!==0&&T.push(`rotate(${P}deg)`),x&&T.push("scaleX(-1)"),E&&T.push("scaleY(-1)");let I=T.length>0?T.join(" "):null,k=c.state.tr.setNodeMarkup(v,void 0,{...C.attrs,transform:I});c.dispatch(k.scrollIntoView()),n();},[r,n,t]),m=useCallback(b=>{let c=r();if(!c||!t)return;let v=t.pos,C=c.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=c.state.tr.setNodeMarkup(v,void 0,{...C.attrs,position:{horizontal:b.horizontal,vertical:b.vertical},distTop:b.distTop??C.attrs.distTop,distBottom:b.distBottom??C.attrs.distBottom,distLeft:b.distLeft??C.attrs.distLeft,distRight:b.distRight??C.attrs.distRight});c.dispatch(y.scrollIntoView()),n();},[r,n,t]),g=useCallback(()=>{l(true);},[]),h=useCallback(b=>{let c=r();if(!c||!t)return;let v=t.pos,C=c.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=c.state.tr.setNodeMarkup(v,void 0,{...C.attrs,alt:b.alt??null,borderWidth:b.borderWidth??null,borderColor:b.borderColor??null,borderStyle:b.borderStyle??null,width:b.width??null,height:b.height??null});c.dispatch(y.scrollIntoView()),n();},[r,n,t]),R=useCallback((b,c)=>{if(!e?.package)return;let v={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:b,endnotePr:c}};d({...e,package:{...e.package,document:v}});},[e,d]);return {imagePositionOpen:s,setImagePositionOpen:i,imagePropsOpen:u,setImagePropsOpen:l,footnotePropsOpen:p,setFootnotePropsOpen:f,handleImageWrapType:a,handleImageTransform:S,handleApplyImagePosition:m,handleOpenImageProperties:g,handleApplyImageProperties:h,handleApplyFootnoteProperties:R}}function Qo(e,t,o){if(!e||!t)return null;let r=e.querySelector(".paged-editor__pages");if(!r)return null;for(let n of findBodyPmAnchors(r)){let d=Number(n.dataset.pmStart),s=Number(n.dataset.pmEnd);if(o>=d&&o<=s)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Ci(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function go(e,t){if(!t||!t.trim())return null;let o=null;return e.descendants((r,n)=>o!==null?false:r.isTextblock&&r.attrs?.paraId===t?(o={from:n,to:n+r.nodeSize},false):true),o}function $n(e){let t=[];return e.descendants(o=>!o.isText||!o.text?true:o.marks.some(r=>r.type.name==="insertion")?false:(t.push(o.text),true)),t.join("")}function Jo(e,t,o){if(t>=o)return "";let r=[];return e.nodesBetween(t,o,(n,d)=>{if(!n.isText||!n.text||n.marks.some(u=>u.type.name==="insertion"))return;let s=Math.max(t,d),i=Math.min(o,d+n.text.length);s<i&&r.push(n.text.slice(s-d,i-d));}),r.join("")}function en(e,t,o,r){if(!r)return null;let n="",d=[];e.nodesBetween(t,o,(f,a)=>{!f.isText||!f.text||f.marks.some(S=>S.type.name==="insertion")||(d.push({pos:a,len:f.text.length}),n+=f.text);});let s=n.indexOf(r);if(s===-1||n.indexOf(r,s+1)!==-1)return null;let u=0,l=t,p=t;for(let f of d){let a=u+f.len;if(u<=s&&s<a&&(l=f.pos+(s-u)),u<=s+r.length&&s+r.length<=a){p=f.pos+(s+r.length-u);break}u=a;}return {from:l,to:p}}var Gn=1,lt=-1,tn=new Map;function Kn(){return Gn++}function Si(e){e>=Gn&&(Gn=e+1);}function Wt(e,t,o){return {id:Kn(),author:t,date:new Date().toISOString(),content:[{type:"paragraph",formatting:{},content:[{type:"run",formatting:{},content:[{type:"text",text:e}]}]}],...o!==void 0&&{parentId:o}}}function Ri({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:d$1,handleDirectPrint:s,zoom:i,setZoom:u,scrollPageInfo:l,loadParsedDocument:p,loadBuffer:f,comments:a,setComments:S,setShowCommentsSidebar:m,contentChangeSubscribersRef:g,selectionChangeSubscribersRef:h,getCachedStyleResolver:R}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:d$1,setZoom:u,getZoom:()=>i,focus:()=>{n.current?.focus();},getCurrentPage:()=>l.currentPage,getTotalPages:()=>l.totalPages,scrollToPage:b=>{n.current?.scrollToPage(b);},scrollToPosition:b=>{n.current?.scrollToPosition(b);},openPrintPreview:s,print:s,loadDocument:p,loadDocumentBuffer:f,addComment:b=>{let c=n.current?.getView();if(!c)return null;let{schema:v}=c.state;if(!v.marks.comment)return null;let C=go(c.state.doc,b.paraId);if(!C)return null;let y=C.from,w=C.to;if(b.search){let E=en(c.state.doc,C.from,C.to,b.search);if(!E)return null;y=E.from,w=E.to;}let P=Wt(b.text,b.author),x=v.marks.comment.create({commentId:P.id});return c.dispatch(c.state.tr.addMark(y,w,x)),S(E=>[...E,P]),m(true),P.id},replyToComment:(b,c,v)=>{if(!a.some(y=>y.id===b))return null;let C=Wt(c,v,b);return S(y=>[...y,C]),C.id},resolveComment:b=>{S(c=>c.map(v=>v.id===b?{...v,done:true}:v));},proposeChange:b=>{let c=n.current?.getView();if(!c)return false;let{schema:v}=c.state;if(!v.marks.deletion||!v.marks.insertion)return false;let C=go(c.state.doc,b.paraId);if(!C)return false;let y=b.search==="",w=b.replaceWith==="",P,x;if(y)P=C.to-1,x=C.to-1;else {let A=en(c.state.doc,C.from,C.to,b.search);if(!A)return false;P=A.from,x=A.to;}let E=false;if(P<x&&(c.state.doc.nodesBetween(P,x,A=>{for(let j of A.marks)if(j.type===v.marks.insertion||j.type===v.marks.deletion)return E=true,false;return true}),E))return false;let T=Kn(),I=new Date().toISOString(),k=v.marks.deletion.create({revisionId:T,author:b.author,date:I}),L=v.marks.insertion.create({revisionId:T,author:b.author,date:I}),B=c.state.tr;if(y||(B=B.addMark(P,x,k)),!w){let A=v.text(b.replaceWith,[L]);B=B.insert(x,A);}return y&&w?false:(c.dispatch(B),m(true),true)},applyFormatting:b=>{let c=n.current?.getView();if(!c)return false;let{schema:v}=c.state,C=go(c.state.doc,b.paraId);if(!C)return false;let y=C.from+1,w=C.to-1;if(b.search){let E=en(c.state.doc,C.from,C.to,b.search);if(!E)return false;y=E.from,w=E.to;}if(y>=w)return true;let P=c.state.tr,x=b.marks;if(x.bold!==void 0&&v.marks.bold&&(P=x.bold?P.addMark(y,w,v.marks.bold.create()):P.removeMark(y,w,v.marks.bold)),x.italic!==void 0&&v.marks.italic&&(P=x.italic?P.addMark(y,w,v.marks.italic.create()):P.removeMark(y,w,v.marks.italic)),x.underline!==void 0&&v.marks.underline)if(x.underline){let E=typeof x.underline=="object"?x.underline.style:void 0;P=P.addMark(y,w,v.marks.underline.create({style:E??"single"}));}else P=P.removeMark(y,w,v.marks.underline);if(x.strike!==void 0&&v.marks.strike&&(P=x.strike?P.addMark(y,w,v.marks.strike.create()):P.removeMark(y,w,v.marks.strike)),x.color!==void 0&&v.marks.textColor&&(x.color&&(x.color.rgb||x.color.themeColor)?P=P.addMark(y,w,v.marks.textColor.create({rgb:x.color.rgb??null,themeColor:x.color.themeColor??null})):P=P.removeMark(y,w,v.marks.textColor)),x.highlight!==void 0&&v.marks.highlight)if(x.highlight){let E=g$1(x.highlight);P=P.addMark(y,w,v.marks.highlight.create({color:E||x.highlight}));}else P=P.removeMark(y,w,v.marks.highlight);return x.fontSize!==void 0&&v.marks.fontSize&&(x.fontSize>0?P=P.addMark(y,w,v.marks.fontSize.create({size:d(x.fontSize)})):P=P.removeMark(y,w,v.marks.fontSize)),x.fontFamily!==void 0&&v.marks.fontFamily&&(x.fontFamily&&(x.fontFamily.ascii||x.fontFamily.hAnsi)?P=P.addMark(y,w,v.marks.fontFamily.create({ascii:x.fontFamily.ascii??null,hAnsi:x.fontFamily.hAnsi??x.fontFamily.ascii??null})):P=P.removeMark(y,w,v.marks.fontFamily)),c.dispatch(P),true},setParagraphStyle:b=>{let c=n.current?.getView();if(!c)return false;let v=go(c.state.doc,b.paraId);if(!v)return false;let C=r.current,y=C?.package?.styles?R(C.package.styles):null;if(y&&!y.hasParagraphStyle(b.styleId))return false;let w=c.state.doc.resolve(v.from+1),P=c.state.doc.resolve(v.to-1),x=TextSelection.between(w,P),E=c.state.apply(c.state.tr.setSelection(x)),T=y?(()=>{let k=y.resolveParagraphStyle(b.styleId);return applyStyle(b.styleId,{paragraphFormatting:k.paragraphFormatting,runFormatting:k.runFormatting})})():applyStyle(b.styleId),I=false;return T(E,k=>{I=true,k.setSelection(c.state.selection.map(k.doc,k.mapping)),c.dispatch(k);}),I},getPageContent:b=>{let c=n.current?.getLayout();if(!c)return null;let v=c.pages[b-1];if(!v)return null;let C=n.current?.getView();if(!C)return null;let y=C.state.doc,w=new Set,P=[];for(let E of v.fragments){if(E.kind!=="paragraph")continue;let T=E.pmStart;if(T==null)continue;let I=y.nodeAt(T);if(!I||!I.isTextblock)continue;let k=I.attrs?.paraId;!k||w.has(k)||(w.add(k),P.push({paraId:k,text:$n(I),styleId:I.attrs?.styleId??void 0}));}let x=P.map(E=>`[${E.paraId}] ${E.text}`).join(`
13
- `);return {pageNumber:b,text:x,paragraphs:P}},scrollToParaId:b=>n.current?.scrollToParaId(b)??false,findInDocument:(b,c)=>{let v=n.current?.getView();if(!v||!b)return [];let C=c?.caseSensitive??false,y=c?.limit??20,w=C?b:b.toLowerCase(),P=[];return v.state.doc.descendants(x=>{if(P.length>=y)return false;if(!x.isTextblock)return true;let E=x.attrs?.paraId;if(!E)return false;let T=$n(x),I=C?T:T.toLowerCase(),k=I.indexOf(w);if(k===-1||I.indexOf(w,k+1)!==-1)return false;let L=T.slice(k,k+b.length),B=40;return P.push({paraId:E,match:L,before:T.slice(Math.max(0,k-B),k),after:T.slice(k+b.length,k+b.length+B)}),false}),P},getSelectionInfo:()=>{let b=n.current?.getView();if(!b)return null;let{selection:c,doc:v}=b.state,C=c.$from,y=C.depth;for(;y>0&&!C.node(y).isTextblock;)y--;let w=y>0?C.node(y):null;if(!w)return null;let P=w.attrs?.paraId??null,x=C.start(y),E=x+w.content.size,T=Jo(v,x,c.from),I=Jo(v,c.from,c.to),k=Jo(v,c.to,E);return {paraId:P,selectedText:I,paragraphText:T+I+k,before:T,after:k}},getComments:()=>a,onContentChange:b=>(g.current.add(b),()=>{g.current.delete(b);}),onSelectionChange:b=>(h.current.add(b),()=>{h.current.delete(b);})}),[o,i,l,d$1,s,p,f,a]);}var G=e=>({style:"single",size:4,color:{rgb:e}}),fu=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:G("000000"),bottom:G("000000"),left:G("000000"),right:G("000000"),insideH:G("000000"),insideV:G("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:G("BFBFBF"),bottom:G("BFBFBF"),left:G("BFBFBF"),right:G("BFBFBF"),insideH:G("BFBFBF"),insideV:G("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:G("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:G("BFBFBF"),bottom:G("BFBFBF"),insideH:G("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true}}},{id:"PlainTable2",name:"Plain Table 2",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:G("7F7F7F")}},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"PlainTable3",name:"Plain Table 3",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#E7E7E7"}}},{id:"PlainTable4",name:"Plain Table 4",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#000000"},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"GridTable1Light-Accent1",name:"Grid Table 1 Light",tableBorders:{top:G("B4C6E7"),bottom:G("B4C6E7"),left:G("B4C6E7"),right:G("B4C6E7"),insideH:G("B4C6E7"),insideV:G("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:G("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:G("4472C4"),bottom:G("4472C4"),left:G("4472C4"),right:G("4472C4"),insideH:G("4472C4"),insideV:G("4472C4")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"}}},{id:"GridTable5Dark-Accent1",name:"Grid Table 5 Dark",tableBorders:{top:G("FFFFFF"),bottom:G("FFFFFF"),left:G("FFFFFF"),right:G("FFFFFF"),insideH:G("FFFFFF"),insideV:G("FFFFFF")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"},band2Horz:{backgroundColor:"#B4C6E7"}}},{id:"ListTable3-Accent2",name:"List Table 3 Accent 2",tableBorders:{top:G("ED7D31"),bottom:G("ED7D31")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#ED7D31"},band1Horz:{backgroundColor:"#FBE4D5"}}},{id:"ListTable4-Accent3",name:"List Table 4 Accent 3",tableBorders:{top:G("A5A5A5"),bottom:G("A5A5A5"),insideH:G("A5A5A5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#EDEDED"}}},{id:"GridTable4-Accent5",name:"Grid Table 4 Accent 5",tableBorders:{top:G("5B9BD5"),bottom:G("5B9BD5"),left:G("5B9BD5"),right:G("5B9BD5"),insideH:G("5B9BD5"),insideV:G("5B9BD5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#5B9BD5"},band1Horz:{backgroundColor:"#DEEAF6"}}},{id:"GridTable4-Accent6",name:"Grid Table 4 Accent 6",tableBorders:{top:G("70AD47"),bottom:G("70AD47"),left:G("70AD47"),right:G("70AD47"),insideH:G("70AD47"),insideV:G("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function Pi(e){return fu.find(t=>t.id===e)}function wi({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:d}){let[s,i]=useState(false),[u,l]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),p=useCallback(()=>{let m=e(),g=m?getSplitCellDialogConfig(m.state):null,h=g?null:o.getSplitCellConfig(),R=g??h;R&&l({isOpen:true,...R,source:g?"pm":"legacy",capturedCellRow:g?.capturedCellRow??null,capturedCellCol:g?.capturedCellCol??null});},[e,o]),f=useCallback(m=>{let g=e();if(!g){m==="splitCell"?p():typeof m!="object"&&o.handleAction(m);return}switch(m){case "addRowAbove":addRowAbove(g.state,g.dispatch);break;case "addRowBelow":addRowBelow(g.state,g.dispatch);break;case "addColumnLeft":addColumnLeft(g.state,g.dispatch);break;case "addColumnRight":addColumnRight(g.state,g.dispatch);break;case "deleteRow":deleteRow(g.state,g.dispatch);break;case "deleteColumn":deleteColumn(g.state,g.dispatch);break;case "deleteTable":deleteTable(g.state,g.dispatch);break;case "selectTable":selectTable(g.state,g.dispatch);break;case "selectRow":selectRow(g.state,g.dispatch);break;case "selectColumn":selectColumn(g.state,g.dispatch);break;case "mergeCells":mergeCells(g.state,g.dispatch);break;case "splitCell":p();break;case "borderAll":setAllTableBorders(g.state,g.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(g.state,g.dispatch,r.current);break;case "borderInside":setInsideTableBorders(g.state,g.dispatch,r.current);break;case "borderNone":removeTableBorders(g.state,g.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(g.state,g.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(g.state,g.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(g.state,g.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(g.state,g.dispatch);break;default:if(typeof m=="object"){if(m.type==="cellFillColor")setCellFillColor(m.color)(g.state,g.dispatch);else if(m.type==="borderColor"){let h=m.color.replace(/^#/,"");r.current={...r.current,color:{rgb:h}},setTableBorderColor(m.color)(g.state,g.dispatch);}else if(m.type==="borderWidth")r.current={...r.current,size:m.size},setTableBorderWidth(m.size)(g.state,g.dispatch);else if(m.type==="cellBorder")setCellBorder(m.side,{style:m.style,size:m.size,color:{rgb:m.color.replace(/^#/,"")}})(g.state,g.dispatch);else if(m.type==="cellVerticalAlign")setCellVerticalAlign(m.align)(g.state,g.dispatch);else if(m.type==="cellMargins")setCellMargins(m.margins)(g.state,g.dispatch);else if(m.type==="cellTextDirection")setCellTextDirection(m.direction)(g.state,g.dispatch);else if(m.type==="toggleNoWrap")toggleNoWrap()(g.state,g.dispatch);else if(m.type==="rowHeight")setRowHeight(m.height,m.rule)(g.state,g.dispatch);else if(m.type==="toggleHeaderRow")toggleHeaderRow()(g.state,g.dispatch);else if(m.type==="distributeColumns")distributeColumns()(g.state,g.dispatch);else if(m.type==="autoFitContents")autoFitContents()(g.state,g.dispatch);else if(m.type==="openTableProperties")i(true);else if(m.type==="applyTableStyle"){let h=Pi(m.styleId),R=n.current;if(!h&&R?.package.styles){let c=d(R.package.styles).getStyle(m.styleId);if(c){if(h={id:c.styleId,name:c.name??c.styleId},c.tblPr?.borders){let v=c.tblPr.borders;h.tableBorders={};for(let C of ["top","bottom","left","right","insideH","insideV"]){let y=v[C];y&&(h.tableBorders[C]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(c.tblStylePr){h.conditionals={};for(let v of c.tblStylePr){let C={};if(v.tcPr?.shading?.fill&&(C.backgroundColor=`#${v.tcPr.shading.fill}`),v.tcPr?.borders){let y={};for(let w of ["top","bottom","left","right"]){let P=v.tcPr.borders[w];P&&(y[w]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}C.borders=y;}v.rPr?.bold&&(C.bold=true),v.rPr?.color?.rgb&&(C.color=`#${v.rPr.color.rgb}`),h.conditionals[v.type]=C;}}h.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}h&&applyTableStyle({styleId:h.id,tableBorders:h.tableBorders,conditionals:h.conditionals,look:h.look})(g.state,g.dispatch);}}else o.handleAction(m);}t();},[o,e,t,p,r,n,d]),a=useCallback(()=>{l(m=>({...m,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((m,g)=>{if(u.source==="legacy"){o.applySplitCell(m,g),t();return}let h=e();h&&(splitActiveTableCell(h.state,h.dispatch,m,g,u.capturedCellRow??void 0,u.capturedCellCol??void 0),t());},[t,e,u.source,u.capturedCellRow,u.capturedCellCol,o]);return {tablePropsOpen:s,setTablePropsOpen:i,splitCellDialogState:u,openSplitCellDialog:p,handleTableAction:f,handleSplitCellDialogClose:a,handleSplitCellDialogApply:S}}function Ei({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:d,hfEditPosition:s,setHfEditPosition:i,hfEditIsFirstPage:u,setHfEditIsFirstPage:l}){let{headerContent:p,footerContent:f,firstPageHeaderContent:a,firstPageFooterContent:S}=useMemo(()=>{let{header:c,footer:v,firstHeader:C,firstFooter:y}=resolveHeaderFooter(e??null,d??n);return {headerContent:c,footerContent:v,firstPageHeaderContent:C,firstPageFooterContent:y}},[e,n,d]),m=useCallback((c,v)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(v??1)===1,w=y?c==="header"?a:S:c==="header"?p:f;if(l(y),w){i(c);return}if(!e?.package)return;let P=e.package,x=P.document?.finalSectionProperties;if(!x)return;let E=y?"first":"default",T=`rId_new_${c}_${E}`,I={type:c==="header"?"header":"footer",hdrFtrType:E,content:[{type:"paragraph",content:[]}]},k=c==="header"?"headers":"footers",L=new Map(P[k]??[]);L.set(T,I);let B=c==="header"?"headerReferences":"footerReferences",A=x[B]??[],j={type:E,rId:T},_=P.relationships,V=new Set;for(let ne of _?.values()??[])ne.target&&V.add(ne.target);let oe=1;for(;V.has(`${c}${oe}.xml`);)oe++;let ie=c==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",Q=new Map(_);Q.set(T,{id:T,type:ie,target:`${c}${oe}.xml`});let ae={...e,package:{...P,[k]:L,relationships:Q,document:P.document?{...P.document,finalSectionProperties:{...x,[B]:[...A,j]}}:P.document}};t(ae),i(c);},[p,f,a,S,e,t,i,l]),g=useCallback(c=>{if(!s||!e?.package){i(null);return}let v=e.package,C=v.document?.finalSectionProperties,y=s==="header"?C?.headerReferences:C?.footerReferences,w=u?"first":"default",P=y?.find(T=>T.type===w)??y?.find(T=>T.type==="default")??y?.find(T=>T.type==="first")??y?.[0],x=s==="header"?"headers":"footers",E=v[x];if(P?.rId&&E){let T=E.get(P.rId),I={type:s,hdrFtrType:P.type,...T,content:c},k=new Map(E);k.set(P.rId,I);let L={...e,package:{...v,[x]:k}};t(L);}i(null);},[s,u,e,t,i]),h=useCallback(()=>{if(!s)return;let c=o.current?.getView();if(c){let v=proseDocToBlocks(c.state.doc);g(v);}else i(null);},[s,g,o,i]),R=useCallback(()=>{if(!s||!e?.package){i(null);return}let c=e.package,v=c.document?.finalSectionProperties,C=s==="header"?"headerReferences":"footerReferences",y=s==="header"?"headers":"footers",w=v?.[C],P=u?"first":"default",x=w?.find(E=>E.type===P)??w?.find(E=>E.type==="default")??w?.find(E=>E.type==="first")??w?.[0];if(x?.rId){let E=new Map(c[y]??[]);E.delete(x.rId);let T=(w??[]).filter(k=>k.rId!==x.rId),I={...e,package:{...c,[y]:E,document:c.document?{...c.document,finalSectionProperties:{...v,[C]:T}}:c.document}};t(I);}i(null);},[s,u,e,t,i]),b=useCallback(c=>{let v=r.current?.querySelector(".paged-editor__pages");if(!v)return null;let C=c==="header"?".layout-page-header":".layout-page-footer";return v.querySelector(C)},[r]);return {headerContent:p,footerContent:f,firstPageHeaderContent:a,firstPageFooterContent:S,handleHeaderFooterDoubleClick:m,handleHeaderFooterSave:g,handleBodyClick:h,handleRemoveHeaderFooter:R,getHfTargetElement:b}}function ki({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:d,setLoadingState:s,setComments:i,setShowCommentsSidebar:u,onError:l,resetForNewDocument:p,commentsLoadedRef:f}){let a=useRef(0),S=useCallback(g=>{p(),r.reset(g),s({isLoading:false,parseError:null}),loadDocumentFonts(g).catch(h=>{console.warn("Failed to load document fonts:",h);});},[p,r,s]),m=useCallback(async g=>{let h=++a.current;p(),s({isLoading:true,parseError:null});try{let R=await parseDocx(g);if(a.current!==h)return;S(R);}catch(R){if(a.current!==h)return;let b=R instanceof Error?R.message:"Failed to parse document";s({isLoading:false,parseError:b}),l?.(R instanceof Error?R:new Error(b));}},[p,S,l,s]);return useEffect(()=>{if(!o){if(!e){t&&S(t);return}m(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(f.current)return;let g=r.state;if(!g)return;let h=g.package?.document?.comments;if(h&&h.length>0){i(h),u(true),f.current=true;let R=h.reduce((c,v)=>Math.max(c,v.id),0),b=d.current?.getView();b&&b.state.doc.descendants(c=>{for(let v of c.marks)v.attrs.revisionId!=null&&(R=Math.max(R,v.attrs.revisionId));}),Si(R);}},[r.state,d,i,u,f]),{loadParsedDocument:S,loadBuffer:m}}var ep={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},yo=18,Li=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:d,onTextAction:s,onOpenProperties:i,onClose:u})=>{let{t:l}=b(),p=useRef(null),[f,a]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),m=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(c=>isImageLayoutOptionEnabled(c,o)),[o]),g=useMemo(()=>(d??[]).filter(c=>!c.disabled),[d]),h$1=i?1:0,R=h$1+m.length+g.length;useEffect(()=>{if(!e)return;let c=C=>{p.current&&!p.current.contains(C.target)&&u();},v=setTimeout(()=>{document.addEventListener("mousedown",c);},0);return ()=>{clearTimeout(v),document.removeEventListener("mousedown",c);}},[e,u]),useEffect(()=>{if(!e)return;let c=v=>{if(v.key==="Escape"){v.preventDefault(),u();return}let C=Math.max(1,R);if(v.key==="ArrowDown")v.preventDefault(),a(y=>(y+1)%C);else if(v.key==="ArrowUp")v.preventDefault(),a(y=>(y-1+C)%C);else if(v.key==="Enter"){if(v.preventDefault(),h$1&&f===0)i?.(),u();else if(f<h$1+m.length)n(m[f-h$1].choice),u();else if(s){let y=g[f-h$1-m.length];y&&(s(y.action),u());}}};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e,f,m,g,R,h$1,n,i,s,u]),useEffect(()=>{if(!e)return;let c=S?m.findIndex(v=>v.choice===S):-1;a(c>=0?h$1+c:0);},[e,S,m,h$1]);let b$2=useCallback(()=>{let v=IMAGE_LAYOUT_OPTIONS.length,C=d?.length??0,y=v*36+C*32+(C>0?9:0)+16,w=t.x,P=t.y;return typeof window<"u"&&(w+260>window.innerWidth&&(w=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),w<10&&(w=10),P<10&&(P=10)),{position:"fixed",top:P,left:w,minWidth:260,background:"white",border:"1px solid var(--doc-border-light, #e0e0e0)",borderRadius:"8px",boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",zIndex:h.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,d]);return e?jsxs("div",{ref:p,className:"docx-image-context-menu",style:b$2(),role:"menu","aria-label":l("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[i&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{i(),u();},onMouseEnter:()=>a(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:f===0?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text, #222)",textAlign:"left"},children:[jsx("span",{style:{display:"flex",color:"var(--doc-text-muted, #666)",width:yo},children:jsx(b$1,{name:"settings",size:yo})}),jsx("span",{style:{flex:1},children:l("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]}),IMAGE_LAYOUT_OPTIONS.map(c=>{let v=c.choice===S,C=isImageLayoutOptionEnabled(c,o),y=C?h$1+m.findIndex(x=>x.choice===c.choice):-1,w=y>=0&&y===f,P=l(`imageWrap.menuDesc.${c.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":c.choice,"data-current":v?"true":"false","data-disabled":C?"false":"true",disabled:!C,onClick:()=>{C&&(n(c.choice),u());},onMouseEnter:()=>{y>=0&&a(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:w?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:C?"pointer":"not-allowed",fontSize:"13px",color:C?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:C?1:.55},children:[jsx("span",{style:{display:"flex",color:v?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:yo},children:jsx(b$1,{name:ep[c.iconHint],size:yo})}),jsx("span",{style:{flex:1},children:l(`imageWrap.menu.${c.i18nLabelKey}`)}),v&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":l("toolbar.imageWrap.current"),children:"\u25CF"})]},c.choice)}),d&&d.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),d.map((c,v)=>{let C=c.disabled?-1:h$1+m.length+g.findIndex(w=>w.action===c.action),y=C===f&&!c.disabled;return jsxs(Rl.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":c.action,"data-disabled":c.disabled?"true":"false",disabled:c.disabled,onClick:()=>{c.disabled||!s||(s(c.action),u());},onMouseEnter:()=>{C>=0&&a(C);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:y?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:c.disabled?"not-allowed":"pointer",fontSize:"13px",color:c.disabled?"var(--doc-text-placeholder, #999)":"var(--doc-text, #222)",textAlign:"left",opacity:c.disabled?.55:1},children:[jsx("span",{style:{width:yo},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:c.label}),c.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted, #888)",fontFamily:"monospace"},children:c.shortcut})]}),c.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]},`${c.action}-${v}`)})]})]}):null};function Hi(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,d]=useState("inline"),[s,i]=useState(null),[u,l]=useState(null),[p,f]=useState(null),a=useCallback(m=>{r({x:m.x,y:m.y}),d(m.wrapType),i(m.cssFloat??null),l(m.pos),f(m.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),l(null),f(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:s,imagePos:u,inlinePositionEmu:p,openForImage:a,closeMenu:S}}function Ni({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:d,onAddComment:s}){let{t:i}=b(),[u,l]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),p=Hi(),f=useCallback(b=>{let c=b.target;if(c?.closest(".paged-editor__pages")&&!c.closest(".hf-inline-editor"))return;b.preventDefault(),b.stopPropagation();let v=e(),C=v?getTableContext(v.state):{isInTable:false},{from:y,to:w}=v?.state.selection??{from:0,to:0},P=y!==w;l({isOpen:true,position:{x:b.clientX,y:b.clientY},hasSelection:P,cursorInTable:C.isInTable,tableContext:C.isInTable?C:null});},[e]),a=useCallback(b=>{if(b.image){p.openForImage({x:b.x,y:b.y,wrapType:b.image.wrapType,cssFloat:b.image.cssFloat,pos:b.image.pos,inlinePositionEmu:b.image.inlinePositionEmu});return}let c=e(),v=c?getTableContext(c.state):{isInTable:false};l({isOpen:true,position:b,hasSelection:b.hasSelection,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e,p]),S=useCallback(b=>{let c=e();if(!c||p.imagePos===null)return;let v=p.inlinePositionEmu?{initialPositionEmu:p.inlinePositionEmu}:void 0;setImageWrapType(p.imagePos,b,v)(c.state,c.dispatch);},[e,p.imagePos,p.inlinePositionEmu]),m=useMemo(()=>[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut"))}],[i]),g=useCallback(()=>{l({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),h=useMemo(()=>{let b=[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:i("contextMenu.pastePlainText"),shortcut:a$1(i("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut")),dividerAfter:!u.hasSelection&&!u.cursorInTable}];return u.hasSelection&&b.push({action:"addComment",label:"Comment",dividerAfter:!u.cursorInTable}),u.cursorInTable&&b.push({action:"addRowAbove",label:"Insert row above"},{action:"addRowBelow",label:"Insert row below"},{action:"deleteRow",label:"Delete row",dividerAfter:true},{action:"addColumnLeft",label:"Insert column left"},{action:"addColumnRight",label:"Insert column right"},{action:"deleteColumn",label:"Delete column"},{action:"mergeCells",label:d?.table?.mergeCells??en$1.table.mergeCells,disabled:!u.tableContext?.hasMultiCellSelection},{action:"splitCell",label:d?.table?.splitCell??en$1.table.splitCell,disabled:!u.tableContext?.canSplitCell,dividerAfter:true}),b.push({action:"selectAll",label:i("contextMenu.selectAll"),shortcut:a$1(i("contextMenu.selectAllShortcut"))}),b},[u.hasSelection,u.cursorInTable,u.tableContext,d,i]),R=useCallback(async b=>{let c=e();if(c)switch(t(),b){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let v=await navigator.clipboard.read(),C="",y="";for(let x of v)x.types.includes("text/html")&&(C=await(await x.getType("text/html")).text()),x.types.includes("text/plain")&&(y=await(await x.getType("text/plain")).text());let w=new DataTransfer;C&&w.items.add(C,"text/html"),y&&w.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:w,bubbles:!0,cancelable:!0});c.dom.dispatchEvent(P);}catch{try{let v=await navigator.clipboard.readText();v&&c.dispatch(c.state.tr.insertText(v));}catch{}}break}case "pasteAsPlainText":try{let v=await navigator.clipboard.readText();v&&c.dispatch(c.state.tr.insertText(v));}catch{}break;case "delete":{let{from:v,to:C}=c.state.selection;v!==C&&c.dispatch(c.state.tr.deleteRange(v,C));break}case "selectAll":c.dispatch(c.state.tr.setSelection(TextSelection.create(c.state.doc,0,c.state.doc.content.size)));break;case "addRowAbove":addRowAbove(c.state,c.dispatch);break;case "addRowBelow":addRowBelow(c.state,c.dispatch);break;case "deleteRow":deleteRow(c.state,c.dispatch);break;case "addColumnLeft":addColumnLeft(c.state,c.dispatch);break;case "addColumnRight":addColumnRight(c.state,c.dispatch);break;case "deleteColumn":deleteColumn(c.state,c.dispatch);break;case "mergeCells":mergeCells(c.state,c.dispatch);break;case "splitCell":o();break;case "addComment":{let{from:v,to:C}=c.state.selection;if(v===C)break;let y=Qo(r.current,n.current,v),w=c.state.schema.marks.comment.create({commentId:lt}),P=c.state.tr.addMark(v,C,w);P.setSelection(TextSelection.create(P.doc,C)),c.dispatch(P),s({from:v,to:C,yPos:y});break}}},[e,t,o,r,n,s]);return {contextMenu:u,imageContextMenu:p,handleEditorContextMenu:f,handleContextMenu:a,handleContextMenuClose:g,handleImageWrapApply:S,imageContextMenuTextActions:m,contextMenuItems:h,handleContextMenuAction:R}}function _i({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,d]=useState([]),s=e!==void 0,i=s?e:n,[u,l]=useState(false),[p,f]=useState(null),[a,S]=useState(null),[m,g]=useState(null),h=useRef(null),R=useRef(i);R.current=i;let b=useRef(u);b.current=u;let c=useRef(t);c.current=t;let v=useRef(o);v.current=o;let C=useCallback(w=>{let P=typeof w=="function"?w(R.current):w;P!==R.current&&(s||(R.current=P,d(P)),v.current?.(P));},[s]),y=useCallback(()=>{if(b.current)return;let w=r.current?.getView();if(!w)return;let{doc:P,schema:x}=w.state,E=x.marks.comment;if(!E)return;let T=new Set;P.descendants(L=>{for(let B of L.marks)if(B.type===E){let A=B.attrs.commentId;A!==lt&&T.add(A);}});let I=R.current,k=new Set;for(let L of I)L.parentId==null&&!T.has(L.id)&&k.add(L.id);if(k.size!==0){for(let L of I)k.has(L.id)&&c.current?.(L);C(L=>L.filter(B=>!k.has(B.id)&&!k.has(B.parentId)));}},[r,C]);return useEffect(()=>()=>{h.current&&clearTimeout(h.current);},[]),{comments:i,setComments:C,isAddingComment:u,setIsAddingComment:l,isAddingCommentRef:b,commentSelectionRange:p,setCommentSelectionRange:f,addCommentYPosition:a,setAddCommentYPosition:S,floatingCommentBtn:m,setFloatingCommentBtn:g,cleanOrphanedCommentsTimerRef:h,cleanOrphanedComments:y}}function Vi({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:d,trackedChangesLoadedRef:s}){useEffect(()=>{e.size!==0&&t(i=>{let u=false,l=i.map(p=>{if(p.parentId!=null)return p;let f=e.get(p.id);return f!=null?(u=true,{...p,parentId:f}):p});return u?l:i});},[e,t]),useEffect(()=>{s.current||r||!o||(s.current=true,n>0&&d(true));},[o,r,n,d,s]);}function $i({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:d,setFloatingCommentBtn:s,applySelectionDelta:i,recomputeFloatingCommentBtn:u,onSelectionChange:l,selectionChangeSubscribersRef:p}){return {handleSelectionChange:useCallback(a=>{let S=e();if(S){let{from:x,to:E}=S.state.selection;t.current={from:x,to:E};}let m=null;if(S&&(m=getTableContext(S.state),m.isInTable||(m=null)),m?.cellBorderColor){let x=resolveColorToHex(m.cellBorderColor,r??void 0);x&&(o.current={...o.current,color:{rgb:x}});}let g=null;if(S){let x=S.state.selection,E=x.node;E?.type.name==="image"&&(g={pos:x.from,wrapType:E.attrs.wrapType??"inline",displayMode:E.attrs.displayMode??"inline",cssFloat:E.attrs.cssFloat??null,transform:E.attrs.transform??null,alt:E.attrs.alt??null,borderWidth:E.attrs.borderWidth??null,borderColor:E.attrs.borderColor??null,borderStyle:E.attrs.borderStyle??null,width:E.attrs.width??null,height:E.attrs.height??null});}if(!a){s(null),i({selectionFormatting:{},pmTableContext:m,pmImageContext:g});return}let{textFormatting:h,paragraphFormatting:R}=a,b=h.fontFamily?.ascii||h.fontFamily?.hAnsi,c=h.fontSize;if(!b||!c){let x=n.current,E=a.styleId;if(x?.package.styles&&E){let I=d(x.package.styles).resolveParagraphStyle(E);!b&&I.runFormatting?.fontFamily&&(b=I.runFormatting.fontFamily.ascii||I.runFormatting.fontFamily.hAnsi),!c&&I.runFormatting?.fontSize&&(c=I.runFormatting.fontSize);}}let v=resolveColorToHex(h.color,r??void 0),C=v?`#${v}`:void 0,y=R.numPr,w=y?{type:y.numId===1?"bullet":"numbered",level:y.ilvl??0,isInList:true,numId:y.numId}:void 0,P={bold:h.bold,italic:h.italic,underline:!!h.underline,strike:h.strike,superscript:h.vertAlign==="superscript",subscript:h.vertAlign==="subscript",fontFamily:b,fontSize:c,color:C,highlight:h.highlight,alignment:R.alignment,lineSpacing:R.lineSpacing,listState:w,styleId:a.styleId??void 0,indentLeft:R.indentLeft,bidi:!!R.bidi};i({selectionFormatting:P,paragraphIndentLeft:R.indentLeft??0,paragraphIndentRight:R.indentRight??0,paragraphFirstLineIndent:R.indentFirstLine??0,paragraphHangingIndent:R.hangingIndent??false,paragraphTabs:R.tabs??null,pmTableContext:m,pmImageContext:g}),u(),l?.(a);for(let x of p.current)try{x(a);}catch(E){console.error("selectionChange subscriber threw:",E);}},[e,t,o,r,n,d,s,i,u,l,p])}}function Ki({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:d,isLoading:s,zoom:i}){let u=useRef(false);u.current=d;let l=useCallback(()=>{let p=e.current?.getView();if(!p)return;if(r.current||u.current){n(null);return}let{from:f,to:a}=p.state.selection;if(f===a){n(null);return}let S=t.current,m=o.current;if(!S||!m)return;let g=Qo(S,m,f);if(g==null)return;let R=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),b=R?R.getBoundingClientRect().right-m.getBoundingClientRect().left:m.getBoundingClientRect().width/2+408;n({top:g,left:b});},[e,t,o,r,n]);return useEffect(()=>{let p=t.current;if(!p)return;let f=new ResizeObserver(()=>l());f.observe(p);let a=()=>l();return window.addEventListener("resize",a),()=>{f.disconnect(),window.removeEventListener("resize",a);}},[s,l,t]),useEffect(()=>{l();},[i,l]),{recomputeFloatingCommentBtn:l}}function Yi({hfEditPosition:e,hfEditorRef:t,pagedEditorRef:o}){let r=useCallback(()=>e&&t.current?t.current.getView():o.current?.getView(),[e,t,o]),n=useCallback(()=>{e&&t.current?t.current.focus():o.current?.focus();},[e,t,o]),d=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),s=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:d,redoActiveEditor:s}}function ji({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),d=e.current;return useEffect(()=>{if(!d)return;let s=()=>{let i=t.current?.getLayout();if(!i||i.pages.length===0)return;let u=d.scrollTop,l=i.pages.length,p=24,f=24,a=u+d.clientHeight/2,S=f,m=1;for(let g=0;g<i.pages.length;g++){let h=i.pages[g].size.h,R=S+h;if(a<R){m=g+1;break}S=R+p,m=g+2;}m=Math.min(m,l),r({currentPage:m,totalPages:l,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(g=>({...g,visible:false}));},600);};return d.addEventListener("scroll",s,{passive:true}),()=>{d.removeEventListener("scroll",s),n.current&&clearTimeout(n.current);}},[d,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function Xi({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:d,imageContextMenuTextActions:s,onOpenImageProperties:i$1,readOnly:u}){return jsxs(Fragment,{children:[jsx(i,{isOpen:e.isOpen,position:e.position,hasSelection:e.hasSelection,isEditable:!u,items:t,onAction:o,onClose:r}),jsx(Li,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:d,textActions:s,onTextAction:o,onOpenProperties:i$1,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var Rp=lazy(()=>import('./FindReplaceDialog-6D74QA4V.mjs')),Pp=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),Tp=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),wp=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),Ep=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),Ip=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),kp=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),Mp=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog})));function qi({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:d,onReplaceAll:s,hyperlinkDialog:i,onHyperlinkSubmit:u,onHyperlinkRemove:l,tablePropsOpen:p,onTablePropsClose:f,pmTableContext:a,getActiveEditorView:S,splitCellDialogState:m,onSplitCellDialogClose:g,onSplitCellDialogApply:h,imagePositionOpen:R,onImagePositionClose:b,onApplyImagePosition:c,imagePropsOpen:v,onImagePropsClose:C,onApplyImageProperties:y,pmImageContext:w,showPageSetup:P,onPageSetupClose:x,onPageSetupApply:E,document:T,footnotePropsOpen:I,onFootnotePropsClose:k,onApplyFootnoteProperties:L}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(Rp,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:d,onReplaceAll:s,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),i.state.isOpen&&jsx(Pp,{isOpen:i.state.isOpen,onClose:i.close,onSubmit:u,onRemove:i.state.isEditing?l:void 0,initialData:i.state.initialData,selectedText:i.state.selectedText,isEditing:i.state.isEditing}),p&&jsx(Tp,{isOpen:p,onClose:f,onApply:B=>{let A=S();A&&setTableProperties(B)(A.state,A.dispatch);},currentProps:a?.table?.attrs}),m.isOpen&&jsx(wp,{isOpen:m.isOpen,onClose:g,onApply:h,initialRows:m.initialRows,initialCols:m.initialCols,minRows:m.minRows,minCols:m.minCols}),R&&jsx(Ep,{isOpen:R,onClose:b,onApply:c}),v&&jsx(Ip,{isOpen:v,onClose:C,onApply:y,currentData:w?{alt:w.alt??void 0,borderWidth:w.borderWidth??void 0,borderColor:w.borderColor??void 0,borderStyle:w.borderStyle??void 0,width:w.width??void 0,height:w.height??void 0}:void 0}),P&&jsx(Mp,{isOpen:P,onClose:x,onApply:E,currentProps:T?.package.document?.finalSectionProperties}),I&&jsx(kp,{isOpen:I,onClose:k,onApply:L,footnotePr:T?.package.document?.finalSectionProperties?.footnotePr,endnotePr:T?.package.document?.finalSectionProperties?.endnotePr})]})}function Qi({active:e,onClick:t}){let{t:o}=b(),r=o("editor.toggleCommentsSidebar");return jsx(A,{onClick:t,active:e,title:r,ariaLabel:r,children:jsx(b$1,{name:"comment",size:20})})}var Jn=[{value:"editing",labelKey:"editor.editing",icon:"edit_note",descKey:"editor.editingDescription"},{value:"suggesting",labelKey:"editor.suggesting",icon:"rate_review",descKey:"editor.suggestingDescription"},{value:"viewing",labelKey:"editor.viewing",icon:"visibility",descKey:"editor.viewingDescription"}];function ea({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[d,s]=useState(false),i=useRef(null),u=useRef(null),[l,p]=useState({top:0,left:0}),f=Jn.find(a=>a.value===e);return useEffect(()=>{let a=window.matchMedia("(max-width: 1400px)");s(a.matches);let S=m=>s(m.matches);return a.addEventListener("change",S),()=>a.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!i.current)return;let a=i.current.getBoundingClientRect();p({top:a.bottom+2,left:a.right-220});},[r]),useEffect(()=>{if(!r)return;let a=m=>{!i.current?.contains(m.target)&&!u.current?.contains(m.target)&&n(false);},S=m=>{m.key==="Escape"&&n(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",S);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:i,type:"button",onMouseDown:a=>a.preventDefault(),onClick:()=>n(!r),title:`${o(f.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:d?0:4,padding:d?"2px 4px":"2px 6px 2px 4px",border:"none",background:r?"var(--doc-hover, #f3f4f6)":"transparent",borderRadius:4,cursor:"pointer",fontSize:13,fontWeight:400,color:"var(--doc-text, #374151)",whiteSpace:"nowrap",height:28},children:[jsx(b$1,{name:f.icon,size:18}),!d&&jsx("span",{children:o(f.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:u,onMouseDown:a=>a.preventDefault(),style:{position:"fixed",top:l.top,left:l.left,backgroundColor:"white",border:"1px solid var(--doc-border, #d1d5db)",borderRadius:8,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.12)",padding:"4px 0",zIndex:1e4,minWidth:220},children:Jn.map(a=>jsxs("button",{type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>{t(a.value),n(false);},onMouseOver:S=>{S.currentTarget.style.backgroundColor="var(--doc-hover, #f3f4f6)";},onMouseOut:S=>{S.currentTarget.style.backgroundColor="transparent";},style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"none",background:"transparent",cursor:"pointer",fontSize:13,color:"var(--doc-text, #374151)",width:"100%",textAlign:"left"},children:[jsx(b$1,{name:a.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(a.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:o(a.descKey)})]}),a.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},a.value))})]})}function ta({active:e,onClick:t,badge:o}){let{t:r}=b(),n=r("agentPanel.toggle");return jsx(A,{onClick:t,active:e,title:n,ariaLabel:n,children:jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[jsx(b$1,{name:"agent-sparkle",size:20}),o!=null&&jsx("span",{"data-testid":"agent-panel-toggle-badge",style:{position:"absolute",top:-4,right:-6,display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:14,height:14,padding:"0 3px",borderRadius:7,fontSize:10,fontWeight:600,background:"#ef4444",color:"#fff",lineHeight:1},children:o})]})})}function oa({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:d,selectionFormatting:s,tableContext:i,imageContext:u,readOnly:l,editingMode:p,setEditingMode:f,setShowCommentsSidebar:a,setExpandedSidebarItem:S,showCommentsSidebar:m,agentPanel:g,renderLogo:h,documentName:R,onDocumentNameChange:b,documentNameEditable:c,renderTitleBarRight:v,toolbarExtra:C$1,fontFamilies:y,zoom:w,showZoomControl:P,onFormat:x,onUndo:E$1,onRedo:T,onPrint:I,onOpen:k,onSave:L,onZoomChange:B,onRefocusEditor:A,onInsertTable:j,onInsertImage:_,onInsertPageBreak:V,onInsertTOC:oe,onImageWrapType:ie,onImageTransform:Q,onOpenImageProperties:ae,onPageSetup:ne,onTableAction:ge}){return jsx("div",{ref:e,className:"z-50 flex flex-col gap-0 flex-shrink-0",children:jsxs(E,{className:t?"rounded-br-2xl":void 0,style:{transition:"border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1)"},currentFormatting:s,onFormat:x,onUndo:E$1,onRedo:T,canUndo:d?undoDepth(d)>0:false,canRedo:d?redoDepth(d)>0:false,disabled:l,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:I,onOpen:k,onSave:L,showZoomControl:P,zoom:w,onZoomChange:B,onRefocusEditor:A,onInsertTable:j,showTableInsert:true,onInsertImage:_,onInsertPageBreak:V,onInsertTOC:oe,imageContext:u,onImageWrapType:ie,onImageTransform:Q,onOpenImageProperties:ae,onPageSetup:ne,tableContext:i,onTableAction:ge,children:[jsxs(E.TitleBar,{children:[h&&jsx(E.Logo,{children:h()}),R!==void 0&&jsx(E.DocumentName,{value:R,onChange:b,editable:c}),v&&jsx(E.TitleBarRight,{children:v()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(Qi,{active:m,onClick:()=>{a(J=>!J),S(null);}}),jsx(C,{}),jsx(ea,{mode:p,onModeChange:J=>{f(J),J==="suggesting"&&a(true);}}),g&&g.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(ta,{active:t,badge:g.toolbarBadge,onClick:()=>o(!t)})]}),C$1]})]})})}var la=4,aa=false;function Xp(e){if(!aa){aa=true;try{let t=e.scrollIntoView();(typeof t.updated!="number"||(t.updated&la)===0)&&console.warn("[HiddenProseMirror] prosemirror-state UPDATED_SCROLL bit shape changed; paginated scroll suppression may be stale. Update PM_UPDATED_SCROLL.");}catch{}}}var qp={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function sa(e,t,o,r=[]){let n=o?.getSchema()??schema,d=e?toProseDoc(e,{styles:t??void 0}):createEmptyDoc(),s=[...r,...o?.getPlugins()??[]];return EditorState.create({doc:d,schema:n,plugins:s})}function Zp(e,t){return t?fromProseDoc(e.doc,t):null}var Qp=forwardRef(function(t,o){let{document:r,styles:n,theme:d,widthPx:s=612,readOnly:i=false,onTransaction:u,onSelectionChange:l,externalPlugins:p=[],extensionManager:f,onEditorViewReady:a,onEditorViewDestroy:S,onKeyDown:m}=t,g=useRef(null),h=useRef(null),R=useRef(r),b=useRef(false),c=useRef(null),v=useRef(false),C=useRef(u),y=useRef(l),w=useRef(a),P=useRef(S),x=useRef(m);C.current=u,y.current=l,w.current=a,P.current=S,x.current=m,R.current=r;let E=A=>{if(!A)return "empty";let j=A.package?.properties;return `${j?.created||""}-${j?.modified||""}-${j?.title||""}`},T=useCallback(()=>{if(!g.current||b.current)return;let j={state:sa(r,n,f,p),editable:()=>!i,attributes:{style:"overflow-anchor: none"},dispatchTransaction(V){if(b.current)return;h.current||(h.current=this),Xp(this.state.tr);let oe=V;typeof oe.updated=="number"&&(oe.updated&=~la);let ie=this.state.apply(V);this.updateState(ie),C.current?.(V,ie),(V.selectionSet||V.docChanged)&&y.current?.(ie);},handleKeyDown:(V,oe)=>x.current?.(V,oe)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};h.current=new EditorView(g.current,j);let _=h.current.dom;_.style.overflowAnchor="none",v.current=true,c.current=E(r),w.current?.(h.current);},[r,n,p,f,i]),I=useCallback(()=>{h.current&&!b.current&&(b.current=true,P.current?.(),h.current.destroy(),h.current=null,b.current=false);},[]);useEffect(()=>(T(),()=>I()),[]),useEffect(()=>{if(!h.current||b.current)return;let A=E(r);if(v.current&&A===c.current)return;v.current=true,c.current=A;let j=sa(r,n,f,p);h.current.updateState(j),y.current?.(j);},[r,n,f,p]),useEffect(()=>{h.current;},[i]),useImperativeHandle(o,()=>({getState(){return h.current?.state??null},getView(){return h.current??null},getDocument(){return h.current?Zp(h.current.state,R.current):null},focus(){h.current?.focus();},blur(){h.current?.hasFocus()&&h.current.dom.blur();},isFocused(){return h.current?.hasFocus()??false},dispatch(A){h.current&&!b.current&&h.current.dispatch(A);},executeCommand(A){return h.current?A(h.current.state,h.current.dispatch,h.current):false},undo(){return h.current?undo(h.current.state,h.current.dispatch):false},redo(){return h.current?redo(h.current.state,h.current.dispatch):false},canUndo(){return h.current?undo(h.current.state):false},canRedo(){return h.current?redo(h.current.state):false},setSelection(A,j){if(!h.current)return;let{state:_,dispatch:V}=h.current,oe=_.doc.resolve(A),ie=j!==void 0?_.doc.resolve(j):oe,Q=TextSelection.between(oe,ie);V(_.tr.setSelection(Q));},setNodeSelection(A){if(!h.current)return;let{state:j,dispatch:_}=h.current;try{let V=NodeSelection.create(j.doc,A);_(j.tr.setSelection(V));}catch{this.setSelection(A);}},setCellSelection(A,j){if(!h.current)return;let{state:_,dispatch:V}=h.current;try{let oe=CellSelection.create(_.doc,A,j);V(_.tr.setSelection(oe));}catch{this.setSelection(A,j);}},scrollToSelection(){}}),[]);let k=jsx("div",{ref:g,className:"paged-editor__hidden-pm",style:{...qp,width:s>0?`${s}px`:void 0}}),L=globalThis.document,B=L&&"body"in L&&L.body!=null?L.body:null;return B?createPortal(k,B):k}),ca=memo(Qp);var om="#000",nm="rgba(66, 133, 244, 0.3)",rm=2,im=530,am={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},sm=(e,t,o,r)=>({position:"absolute",left:e.x,top:e.y,width:o,height:e.height,backgroundColor:t,opacity:r?1:0,transition:"opacity 0.05s ease-out",pointerEvents:"none"}),lm=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),cm=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[d,s]=useState(n),i=useRef(null);return useEffect(()=>(i.current&&(window.clearInterval(i.current),i.current=null),n&&r>0?(s(true),i.current=window.setInterval(()=>{s(u=>!u);},r)):s(false),()=>{i.current&&window.clearInterval(i.current);}),[n,r]),useEffect(()=>{if(n)return s(true),i.current&&window.clearInterval(i.current),r>0&&(i.current=window.setInterval(()=>{s(u=>!u);},r)),()=>{i.current&&window.clearInterval(i.current);}},[e.x,e.y,n,r]),jsx("div",{style:sm(e,t,o,d),"data-testid":"caret"})},dm=({rect:e,color:t,index:o})=>jsx("div",{style:lm(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),ua=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=om,selectionColor:d=nm,caretWidth:s=rm,blinkInterval:i=im})=>{if(r)return null;let u=e.length>0,l=t!==null&&!u;return jsxs("div",{style:am,"data-testid":"selection-overlay",children:[u&&e.map((p,f)=>jsx(dm,{rect:p,color:d,index:f},`sel-${p.pageIndex}-${p.x}-${p.y}-${f}`)),l&&t&&jsx(cm,{position:t,color:n,width:s,blinkInterval:i,isFocused:o})]})};var ir=10,xt=ir/2,Ro=2,ga="#2563eb",ma={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},pm={position:"absolute",border:`${Ro}px solid ${ga}`,pointerEvents:"none",boxSizing:"border-box"},mm={position:"absolute",width:`${ir}px`,height:`${ir}px`,backgroundColor:ga,border:"1px solid white",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.3)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},fm={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.75)",color:"white",fontSize:"11px",fontFamily:"system-ui, sans-serif",padding:"2px 8px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20,transform:"translateX(-50%)"},gm={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function hm(e,t,o,r,n,d){let s=e.includes("w")?-1:1,i=e.includes("n")?-1:1,u=r+t*s,l=n+o*i;if(d){let p=Math.max(u/r,l/n);u=r*p,l=n*p;}return {width:Math.max(20,Math.min(2e3,u)),height:Math.max(20,Math.min(2e3,l))}}function ha({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:d,onDragMove:s,onDragStart:i,onDragEnd:u,onContextMenu:l}){let[p,f]=useState(false),[a,S]=useState(false),[m,g]=useState(0),[h,R]=useState(0),[b,c]=useState(null),v=useRef(null),C=useRef(null),y=useRef(r),w=useRef(n),P=useRef(d),x=useRef(s),E=useRef(i),T=useRef(u);y.current=r,w.current=n,P.current=d,x.current=s,E.current=i,T.current=u;let I=useRef(e),k=useRef(t);I.current=e,k.current=t;let L=useCallback(()=>{if(!e||!C.current){c(null);return}let Q=C.current.offsetParent;if(!Q){c(null);return}let ae=Q.getBoundingClientRect(),ne=e.element.getBoundingClientRect();c({left:(ne.left-ae.left)/t,top:(ne.top-ae.top)/t,width:ne.width/t,height:ne.height/t});},[e,t]);useEffect(()=>{L();},[L]),useEffect(()=>{if(!e)return;let Q=C.current?.closest('[style*="overflow"]')??C.current?.closest(".paged-editor__container");if(!Q)return;let ae=()=>{v.current&&cancelAnimationFrame(v.current),v.current=requestAnimationFrame(L);};return Q.addEventListener("scroll",ae,{passive:true}),window.addEventListener("resize",ae,{passive:true}),()=>{Q.removeEventListener("scroll",ae),window.removeEventListener("resize",ae),v.current&&cancelAnimationFrame(v.current);}},[e,L]);let B=useCallback((Q,ae)=>{if(!e||!b)return;ae.preventDefault(),ae.stopPropagation();let ne=b.width,ge=b.height,he=ae.clientX,J=ae.clientY,D=Math.round(ne),H=Math.round(ge);f(true),g(D),R(H),w.current?.();let N=F=>{let U=k.current,q=(F.clientX-he)/U,re=(F.clientY-J)/U,Z=!F.shiftKey,te=hm(Q,q,re,ne,ge,Z);D=Math.round(te.width),H=Math.round(te.height),g(D),R(H),c(K=>{if(!K)return K;let O={...K};return Q.includes("w")&&(O.left=K.left+(K.width-te.width)),Q.includes("n")&&(O.top=K.top+(K.height-te.height)),O.width=te.width,O.height=te.height,O});},W=()=>{window.removeEventListener("mousemove",N),window.removeEventListener("mouseup",W),f(false);let F=I.current;F&&y.current?.(F.pmPos,D,H),P.current?.();};window.addEventListener("mousemove",N),window.addEventListener("mouseup",W);},[e,b]),A=useCallback(Q=>{if(!e||!b)return;Q.preventDefault(),Q.stopPropagation();let ae=4,ne=Q.clientX,ge=Q.clientY,he=false,J=null,D=N=>{let W=N.clientX-ne,F=N.clientY-ge;!he&&Math.sqrt(W*W+F*F)<ae||(he||(he=true,S(true),E.current?.(),J=document.createElement("div"),J.style.cssText="position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);",J.style.width=`${b.width}px`,J.style.height=`${b.height}px`,document.body.appendChild(J)),J&&(J.style.left=`${N.clientX-b.width/2}px`,J.style.top=`${N.clientY-b.height/2}px`));},H=N=>{if(window.removeEventListener("mousemove",D),window.removeEventListener("mouseup",H),J&&(J.remove(),J=null),S(false),he){let W=I.current;W&&x.current?.(W.pmPos,N.clientX,N.clientY),T.current?.();}};window.addEventListener("mousemove",D),window.addEventListener("mouseup",H);},[e,b]);if(!!!(e&&b&&o))return jsx("div",{ref:C,style:{...ma,visibility:"hidden"},className:"image-selection-overlay"});let{left:_,top:V,width:oe,height:ie}=b;return jsxs("div",{ref:C,style:ma,className:"image-selection-overlay",children:[jsx("div",{style:{...pm,left:_-Ro,top:V-Ro,width:oe+Ro*2,height:ie+Ro*2}}),jsx("div",{style:{position:"absolute",left:_,top:V,width:oe,height:ie,cursor:a?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:A,onContextMenu:l}),jsx(ln,{handle:"nw",style:{left:_-xt,top:V-xt},onMouseDown:B}),jsx(ln,{handle:"ne",style:{left:_+oe-xt,top:V-xt},onMouseDown:B}),jsx(ln,{handle:"se",style:{left:_+oe-xt,top:V+ie-xt},onMouseDown:B}),jsx(ln,{handle:"sw",style:{left:_-xt,top:V+ie-xt},onMouseDown:B}),p&&jsxs("div",{style:{...fm,left:_+oe/2,top:V+ie+12},children:[m," \xD7 ",h]})]})}function ln({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...mm,...t,cursor:gm[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var ym={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function va({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let d=useRef(null),s=useRef(null),[i,u]=useState(0);return useEffect(()=>n.onRender(()=>u(l=>l+1)),[n]),useEffect(()=>(s.current!==null&&cancelAnimationFrame(s.current),s.current=requestAnimationFrame(()=>{s.current=null;let l=e(),p=t(),f=d.current;!l||!p||!f||n.isSafeToRender()&&vm(l,p,f,o);}),()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null);}),[o,r,i]),jsx("div",{ref:d,className:"paged-editor__decoration-overlay",style:ym,"aria-hidden":"true"})}function vm(e,t,o,r){let n=Cm(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let d=b$3(t,r),s=d.getContainerOffset(),i=document.createDocumentFragment();for(let{decoration:u,from:l,to:p}of n){if(l===p){let S=Sm(u,e);if(!S)continue;let m=d.getCoordinatesForPosition(l);if(!m)continue;let g=document.createElement("div");g.style.cssText=`position:absolute;left:${m.x+s.x}px;top:${m.y+s.y}px;height:${m.height}px;`,g.appendChild(S),i.appendChild(g);continue}let f=xm(u);if(!f)continue;let a=d.getRectsForRange(l,p);for(let S of a){let m=document.createElement("div");for(let[h,R]of Object.entries(f))h!=="nodeName"&&m.setAttribute(h,R);let g=`position:absolute;left:${S.x+s.x}px;top:${S.y+s.y}px;width:${S.width}px;height:${S.height}px;`;m.style.cssText=g+(f.style??""),i.appendChild(m);}}o.replaceChildren(i);}function Cm(e){let t=[];for(let o of e.plugins){let r=o.props.decorations;if(!r)continue;let n=r.call(o,e);n&&n.forEachSet(d=>{d.find().forEach(s=>{s.spec?.noOverlay||t.push({decoration:s,from:s.from,to:s.to});});});}return t}function Sm(e,t){let o=e.type;if(!o)return null;let r=o.toDOM;return typeof r=="function"?r(t,()=>e.from):r instanceof HTMLElement?r.cloneNode(true):null}function xm(e){return e.type?.attrs??null}var Ra=[];var Pa={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Ta={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},wa={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Ea={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function cn(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),d=n.top+n.height/2,s=r.top+r.height/2,i=d-s,u=Math.max(0,t.scrollHeight-t.clientHeight),l=Math.max(0,Math.min(u,t.scrollTop+i));t.scrollTop=l;}function dn(e,t){if(t.aborted)return;let o=requestAnimationFrame(()=>{if(t.aborted)return;let r=requestAnimationFrame(()=>{if(t.aborted)return;let n=requestAnimationFrame(()=>{t.aborted||e();});t.addEventListener("abort",()=>cancelAnimationFrame(n),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(r),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(o),{once:true});}function ka(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let d=r[n].dataset.pmStart;if(d==null)continue;let s=Number(d);Number.isNaN(s)||s<=t&&(o===null||s>o)&&(o=s);}return o}function un(e,t){let o=e.pages.length;return e.pages.reduce((n,d)=>n+d.size.h,0)+Math.max(0,o-1)*t+24+24}function Ma(e,t,o,r,n){let d=new Map;if(!e?.state)return d;let{doc:s,schema:i}=e.state,u=i.marks.comment,l=i.marks.insertion,p=i.marks.deletion;if(!u&&!l&&!p)return d;let f=new Set,a=24+n;return s.descendants((S,m)=>{if(S.isText)for(let g of S.marks){let h=null;if(u&&g.type===u?h=`comment-${g.attrs.commentId}`:(l&&g.type===l||p&&g.type===p)&&(h=`revision-${g.attrs.revisionId}`),!h||f.has(h))continue;f.add(h);let R=getCaretPosition(t,o,r,m);if(R){d.set(h,R.y+a);continue}for(let b=0;b<t.pages.length;b++){let c=t.pages[b],v=false;for(let C of c.fragments){let y=C.pmStart??0,w=C.pmEnd??y;if(m<y||m>w)continue;let P=C.kind==="table"?Em(o,r,C,m):0;d.set(h,C.y+P+getPageTop(t,b)+a),v=true;break}if(v)break}}}),d}function Em(e,t,o,r){let n=e.findIndex(u=>u.id===o.blockId);if(n===-1)return 0;let d=e[n],s=t[n];if(d.kind!=="table"||s.kind!=="table")return 0;let i=0;for(let u=o.fromRow;u<o.toRow;u++){let l=d.rows[u];if(!l||l.cells.some(f=>f.blocks.some(a=>{let S=a.pmStart??0,m=a.pmEnd??S;return r>=S&&r<=m})))break;i+=s.rows[u]?.height??0;}return i}function pn(e){return Math.round(e/1440*96)}function sr(e){let t=e?.columnCount??1;if(t<=1)return;let o=pn(e?.columnSpace??720);return {count:t,gap:o,equalWidth:e?.equalWidth??true,separator:e?.separator}}function km(e){let t=e.pageSize.w-e.margins.left-e.margins.right,o=e.columns;return !o||o.count<=1?t:Math.floor((t-(o.count-1)*o.gap)/o.count)}function Da(e,t,o){let{configs:r,breakIndices:n}=collectSectionConfigs(e,t,o),d=0,s=[];for(let i=0;i<e.length;i++)s.push(km(r[d]??t)),d<n.length&&i===n[d]&&d++;return s}function Fa(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let s=getCachedParagraphMeasure(n,t);if(s)return s}let d=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,d),d}case "table":return measureTableBlock(e,t,Fa);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,d=n.margins??DEFAULT_TEXTBOX_MARGINS,s=(n.width??DEFAULT_TEXTBOX_WIDTH)-d.left-d.right,i=n.content.map(p=>measureParagraph(p,s)),u=i.reduce((p,f)=>p+f.totalHeight,0),l=n.height??u+d.top+d.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:l,innerMeasures:i}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function mn(e,t){return measureBlocksWithFloats(e,t,Fa)}function Oa(e,t,o){t.style.overflowAnchor||t.style.setProperty("overflow-anchor","none");let r=Math.max(1,t.scrollHeight-t.clientHeight),n=t.scrollTop/r,d=ka(e,o),s=0;if(d!=null){let i=findBodyPmAnchor(e,d);if(i){let u=i.getBoundingClientRect(),l=t.getBoundingClientRect();s=u.top-l.top;}else d=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:d,domAnchorOffsetInScroller:s}}function Ba(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let d=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/d;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function lr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:d,domAnchorPmStart:s,domAnchorOffsetInScroller:i}=e;if(r==="incremental"&&d!=null){let l=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,d),l);return}if(r!=="incremental"&&s!=null){let l=findBodyPmAnchor(t,s);if(l){let p=o.getBoundingClientRect(),f=l.getBoundingClientRect().top-p.top;o.scrollTop+=i-f;return}}let u=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*u;}function Na(e,t,o,r){if(e?.renderKind!=="incremental"||e.scrollTopSnapshot==null||r&&o>32||!t?.isConnected)return;let n=Math.max(1,t.scrollHeight-t.clientHeight),d=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-d)>.5&&(t.scrollTop=d);}function Ua(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:d,headerContent:s,footerContent:i,firstPageHeaderContent:u,firstPageFooterContent:l,pageGap:p,zoom:f,resolvedCommentIds:a,pagesContainerRef:S,viewportLayoutRef:m,hiddenPMRef:g,syncCoordinator:h,getScrollContainer:R,onTotalPagesChange:b,onAnchorPositionsChange:c,onRenderedDomContextReady:v}=e,[C,y]=useState(null),[w,P]=useState([]),[x,E]=useState([]),[T,I]=useState(0),k=useCallback(()=>I(F=>F+1),[]),L=useRef(b),B=useRef(c),A=useRef(v);L.current=b,B.current=c,A.current=v;let j=useRef(0);useEffect(()=>{let F=C?.pages.length??0;F!==j.current&&(j.current=F,L.current?.(F));},[C]);let _=useMemo(()=>getPageSize(n),[n]),V=useMemo(()=>getMargins(n),[n]),oe=useMemo(()=>sr(n),[n]),{finalPageSize:ie,finalMargins:Q,finalColumns:ae}=useMemo(()=>{let F=d??n;return {finalPageSize:getPageSize(F),finalMargins:getMargins(F),finalColumns:sr(F)}},[d,n]),ne=_.w-V.left-V.right,ge=useMemo(()=>new LayoutPainter({pageGap:p,showShadow:true,pageBackground:"#fff"}),[p]),he=useRef(null);he.current=ge;let J=useRef(null),D=useRef(0),H=useCallback(F=>{let U=performance.now(),q=h.getStateSeq();h.onLayoutStart();let re=Z=>{let te=S.current,K=te?R()??findVerticalScrollParentOrRoot(te):null,O=performance.now()-D.current;Na(J.current,K,O,Z);};re(true);try{let Z=performance.now(),te=_.h-V.top-V.bottom,K=toFlowBlocks(F.doc,{theme:r,pageContentHeight:te}),O=performance.now()-Z;O>500&&console.warn(`[PagedEditor] toFlowBlocks took ${Math.round(O)}ms (${K.length} blocks)`),P(K),Z=performance.now();let Se=Da(K,{pageSize:_,margins:V,columns:oe},{pageSize:ie,margins:Q,columns:ae}),ce=mn(K,Se);O=performance.now()-Z,O>1e3&&console.warn(`[PagedEditor] measureBlocks took ${Math.round(O)}ms (${K.length} blocks)`),E(ce);let Be=collectFootnoteRefs(K),fe=Be.length>0&&t?.package?.footnotes,ye={section:"header",pageSize:_,margins:V},Te={section:"footer",pageSize:_,margins:V},ve=F.doc.attrs?.defaultTabStopTwips,Ee={styles:o,theme:r,measureBlocks:mn,defaultTabStopTwips:ve},De=convertHeaderFooterToContent(s,ne,ye,Ee),se=convertHeaderFooterToContent(i,ne,Te,Ee),Ie=n?.titlePg===!0,ke=Ie?convertHeaderFooterToContent(u,ne,ye,Ee):void 0,It=Ie?convertHeaderFooterToContent(l,ne,Te,Ee):void 0,$e=V.header??48,Ge=V.footer??48,mt=V.top-$e,et=V.bottom-Ge,kt=de=>de?de.visualBottom??de.height:0,Ke=de=>de?Math.max((de.visualBottom??de.height)-(de.visualTop??0),de.height):0,jt=Math.max(kt(De),kt(ke)),Ye=Math.max(Ke(se),Ke(It)),tt=jt>mt,Mt=Ye>et,ot=V,ft=Q;if(tt||Mt){let de=Re=>{let be={...Re};return tt&&(be.top=Math.max(Re.top,$e+jt)),Mt&&(be.bottom=Math.max(Re.bottom,Ge+Ye)),be};ot=de(V),ft=de(Q);for(let Re of K){if(Re.kind!=="sectionBreak")continue;let be=Re;be.margins&&(be.margins=de(be.margins));}}Z=performance.now();let xe,Xt=new Map,Dt=new Map,qt=d?.sectionStart,Lt={pageSize:_,margins:ot,finalPageSize:ie,finalMargins:ft,columns:ae,bodyBreakType:qt,pageGap:p};if(fe){let de=layoutDocument(K,ce,Lt);Dt=buildFootnoteContentMap(t.package.footnotes,Be,ne,{styles:o??void 0,theme:r??null,measureBlocks:mn,defaultTabStopTwips:ve});let Re=stabilizeFootnoteLayout({blocks:K,measures:ce,layoutOpts:Lt,footnoteRefs:Be,footnoteContentMap:Dt,initialLayout:de});xe=Re.layout,Xt=Re.pageFootnoteMap;}else xe=layoutDocument(K,ce,Lt);if(O=performance.now()-Z,O>500&&console.warn(`[PagedEditor] layoutDocument took ${Math.round(O)}ms (${xe.pages.length} pages)`),y(xe),S.current&&he.current){Z=performance.now(),J.current=null,D.current=0;let de=S.current,Re=R()??findVerticalScrollParentOrRoot(de),be=Re?.isConnected?Oa(de,Re,F.selection.head):null,Ht=new Map;for(let Pe=0;Pe<K.length;Pe++){let gt=K[Pe],rt=ce[Pe];gt&&rt&&Ht.set(String(gt.id),{block:gt,measure:rt});}he.current.setBlockLookup(Ht);let Qt=fe?buildFootnoteRenderItems(Xt,Dt,t):void 0,Ft=renderPages(xe.pages,S.current,{pageGap:p,showShadow:!0,pageBackground:"#fff",blockLookup:Ht,headerContent:De,footerContent:se,firstPageHeaderContent:ke,firstPageFooterContent:It,titlePg:Ie,headerDistance:n?.headerDistance?pn(n.headerDistance):void 0,footerDistance:n?.footerDistance?pn(n.footerDistance):void 0,pageBorders:n?.pageBorders,theme:r,footnotesByPage:Qt?.size?Qt:void 0,resolvedCommentIds:a}),nt=m.current;if(nt){let Pe=un(xe,p);nt.style.minHeight=`${Pe}px`,f!==1?nt.style.marginBottom=`${Pe*(f-1)}px`:nt.style.marginBottom="";}if(Re?.isConnected&&be){let Pe=Ba(Ft,Re,be);J.current=Pe,Pe.renderKind==="incremental"&&Pe.scrollTopSnapshot!=null&&(D.current=performance.now());}if(O=performance.now()-Z,O>500&&console.warn(`[PagedEditor] renderPages took ${Math.round(O)}ms`),A.current){let Pe=b$3(S.current,f);A.current(Pe);}}else J.current=null,D.current=0;if(B.current){let de=Ma(g.current?.getView()??null,xe,K,ce,p);B.current(de);}re(!1);let Zt=performance.now()-U;Zt>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(Zt)}ms total (${K.length} blocks, ${ce.length} measures)`);}catch(Z){console.error("[PagedEditor] Layout pipeline error:",Z);}h.onLayoutComplete(q),re(false);},[ne,oe,_,V,ie,Q,ae,p,f,h,s,i,u,l,n,d,t,a,R,g,S,o,r,m]);useLayoutEffect(()=>{let F=J.current;if(!F)return;J.current=null,D.current=0;let U=S.current,q=R()??(U?findVerticalScrollParentOrRoot(U):null);if(!U||!q?.isConnected)return;lr(F,U,q);let re=requestAnimationFrame(()=>{q.isConnected&&lr(F,U,q);});return ()=>cancelAnimationFrame(re)},[C,R,S]);let N=useRef(null),W=useCallback(F=>{if(N.current){N.current.state=F;return}let U=requestAnimationFrame(()=>{let q=N.current;N.current=null,q&&H(q.state);});N.current={rafId:U,state:F};},[H]);return useEffect(()=>()=>{N.current&&(cancelAnimationFrame(N.current.rafId),N.current=null);},[]),{layout:C,blocks:w,measures:x,decorationSyncToken:T,notifyDecorationLayer:k,contentWidth:ne,runLayoutPipeline:H,scheduleLayout:W}}function Ga(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),d=findBodyPmSpans(e);for(let i of d){let u=Number(i.dataset.pmStart),l=Number(i.dataset.pmEnd);if(i.classList.contains("layout-run-tab")){if(t>=u&&t<l){let p=i.getBoundingClientRect(),f=i.closest(".layout-page"),a=f?Number(f.dataset.pageNumber)-1:0,S=i.closest(".layout-line"),m=S?S.offsetHeight:16;return {x:(p.left-n.left)/o,y:(p.top-n.top)/o,height:m,pageIndex:a}}continue}if(t>=u&&t<=l&&i.firstChild?.nodeType===Node.TEXT_NODE){let p=i.firstChild,f=Math.min(t-u,p.length),a=i.ownerDocument;if(!a)continue;let S=a.createRange();S.setStart(p,f),S.setEnd(p,f);let m=S.getBoundingClientRect(),g=i.closest(".layout-page"),h=g?Number(g.dataset.pageNumber)-1:0,R=i.closest(".layout-line"),b=R?R.offsetHeight:16;return {x:(m.left-n.left)/o,y:(m.top-n.top)/o,height:b,pageIndex:h}}}let s=findBodyEmptyRuns(e);for(let i of s){let u=i.closest(".layout-paragraph");if(!u)continue;let l=Number(u.dataset.pmStart),p=Number(u.dataset.pmEnd);if(t>=l&&t<=p){let f=i.getBoundingClientRect(),a=u.closest(".layout-page"),S=a?Number(a.dataset.pageNumber)-1:0,m=i.closest(".layout-line"),g=m?m.offsetHeight:16;return {x:(f.left-n.left)/o,y:(f.top-n.top)/o,height:g,pageIndex:S}}}return null}function Ka(e,t,o,r,n){let d=[],s=findBodyPmSpans(e);for(let i of s){let u=Number(i.dataset.pmStart);if(Number(i.dataset.pmEnd)<=o||u>=r)continue;if(i.classList.contains("layout-run-tab")){let h=i.getBoundingClientRect(),R=i.closest(".layout-page"),b=R?Number(R.dataset.pageNumber)-1:0;d.push({x:(h.left-t.left)/n,y:(h.top-t.top)/n,width:h.width/n,height:h.height/n,pageIndex:b});continue}let p=null;if(i.firstChild?.nodeType===Node.TEXT_NODE?p=i.firstChild:i.firstChild?.nodeType===Node.ELEMENT_NODE&&i.firstChild.tagName==="A"&&i.firstChild.firstChild?.nodeType===Node.TEXT_NODE&&(p=i.firstChild.firstChild),!p)continue;let f=i.ownerDocument;if(!f)continue;let a=Math.max(0,o-u),S=Math.min(p.length,r-u);if(a>=S)continue;let m=f.createRange();m.setStart(p,a),m.setEnd(p,S);let g=m.getClientRects();for(let h of Array.from(g)){let R=i.closest(".layout-page"),b=R?Number(R.dataset.pageNumber)-1:0;d.push({x:(h.left-t.left)/n,y:(h.top-t.top)/n,width:h.width/n,height:h.height/n,pageIndex:b});}}return d}function Ya(e,t){let o=e.querySelectorAll(".layout-table-cell-selected");for(let i of Array.from(o))i.classList.remove("layout-table-cell-selected");let r=t.selection;if(!("$anchorCell"in r&&typeof r.forEachCell=="function")||!r.forEachCell)return;let d=[];r.forEachCell((i,u)=>{d.push([u,u+i.nodeSize]);});let s=e.querySelectorAll(".layout-table-cell");for(let i of Array.from(s)){let u=i,l=u.dataset.pmStart;if(l===void 0)continue;let p=Number(l);for(let[f,a]of d)if(p>=f&&p<a){u.classList.add("layout-table-cell-selected");break}}}function qa(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:d,pagesContainerRef:s,hiddenPMRef:i,syncCoordinator:u,isImageInteractingRef:l,onSelectionChangeRef:p}=e,[f,a]=useState([]),[S,m]=useState(null),[g,h]=useState(null),R=useRef(null),b=useCallback((C,y)=>{let w=C.tagName==="IMG"?C:C.querySelector("img"),P=(w??C).getBoundingClientRect();return {element:w??C,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),c=useCallback(C=>{let{from:y,to:w}=C.selection;R.current!==C&&(R.current=C,p.current?.(y,w));let P=s.current;if(P&&Ya(P,C),!(!t||o.length===0))if(y===w){let x=P?Ga(P,y,n):null;if(x)m(x);else {let E=s.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),T=s.current?.querySelector(".layout-page");if(E&&T){let I=E.getBoundingClientRect(),k=T.getBoundingClientRect(),L=getCaretPosition(t,o,r,y);m(L?{...L,x:L.x+(k.left-I.left)/n,y:L.y+(k.top-I.top)/n}:null);}else m(null);}a([]);}else {let x=s.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(x&&s.current){let E=x.getBoundingClientRect(),T=Ka(s.current,E,y,w,n);if(T.length>0)a(T);else {let I=s.current.querySelector(".layout-page");if(I){let k=I.getBoundingClientRect(),L=(k.left-E.left)/n,B=(k.top-E.top)/n,j=selectionToRects(t,o,r,y,w).map(_=>({..._,x:_.x+L,y:_.y+B}));a(j);}else a([]);}}else a([]);m(null);}},[t,o,r,n,p,s]),v=useCallback(C=>{let{selection:y}=C;y instanceof NodeSelection&&y.node.type.name==="image"?(a([]),m(null)):u.isSafeToRender()&&c(C),requestAnimationFrame(()=>{let w=i.current?.getView();if(!w){h(null);return}let{selection:P}=w.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let x=P.from,E=s.current?findBodyPmAnchor(s.current,x):null;if(E){h(b(E,x));return}}l.current||h(null);});},[c,b,u,i,l,s]);return useEffect(()=>{let C=d.current;if(!C)return;let y=new ResizeObserver(()=>{let w=i.current?.getState();w&&c(w);});return y.observe(C),()=>y.disconnect()},[c,d,i]),useEffect(()=>{let C=i.current?.getState();t&&C&&c(C);},[t,c,i]),{selectionRects:f,caretPosition:S,selectedImageInfo:g,setSelectionRects:a,setCaretPosition:m,setSelectedImageInfo:h,buildImageSelectionInfo:b,updateSelectionOverlay:c,handleSelectionChange:v}}function Qa(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:d}=e,s=useCallback((a,S,m)=>{let g=o.current?.getView();if(g)try{let h=g.state.doc.nodeAt(a);if(!h||h.type.name!=="image")return;let R=g.state.tr.setNodeMarkup(a,void 0,{...h.attrs,width:S,height:m});g.dispatch(R),o.current?.setNodeSelection(a);}catch{}},[o]),i=useCallback(()=>{n.current=true;},[n]),u=useCallback(()=>{n.current=false;},[n]),l=useCallback((a,S,m)=>{let g=o.current?.getView();if(g)try{let h=g.state.doc.nodeAt(a);if(!h||h.type.name!=="image")return;if(h.attrs.displayMode==="float"||h.attrs.wrapType&&["square","tight","through"].includes(h.attrs.wrapType)){let b=t.current?.querySelectorAll(".layout-page");if(!b||b.length===0)return;let c=null;for(let T of b){let I=T.getBoundingClientRect();if(m>=I.top&&m<=I.bottom){c=T.querySelector(".layout-page-content");break}}if(c||(c=b[b.length-1].querySelector(".layout-page-content")),!c)return;let v=c.getBoundingClientRect(),C=(S-v.left)/r,y=(m-v.top)/r,w=pixelsToEmu(C),P=pixelsToEmu(y),x={horizontal:{posOffset:w,relativeTo:"margin"},vertical:{posOffset:P,relativeTo:"margin"}},E=g.state.tr.setNodeMarkup(a,void 0,{...h.attrs,position:x});g.dispatch(E),o.current?.setNodeSelection(a);}else {let b=d(S,m);if(b===null||b===a||b===a+1)return;let c=g.state.tr;if(b<=a)c=c.delete(a,a+h.nodeSize),c=c.insert(b,h),o.current?.setNodeSelection(b);else {c=c.delete(a,a+h.nodeSize);let v=b-h.nodeSize;c=c.insert(Math.min(v,c.doc.content.size),h),o.current?.setNodeSelection(Math.min(v,c.doc.content.size-1));}g.dispatch(c);}}catch{}},[d,r,o,t]),p=useCallback(()=>{n.current=true;},[n]),f=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:s,handleImageResizeStart:i,handleImageResizeEnd:u,handleImageDragMove:l,handleImageDragStart:p,handleImageDragEnd:f}}function ts(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:d,getScrollContainer:s}=e,i=useRef(null);useEffect(()=>()=>{i.current?.abort(),i.current=null;},[]);let u=useCallback((f,a=false)=>{if(!Number.isInteger(f)||f<0)return;let S=n.current;if(!S)return;i.current?.abort();let m=new AbortController;i.current=m;let{signal:g}=m,h=()=>findBodyPmAnchor(S,f);if(!a){let E={block:"center",inline:"nearest",behavior:"smooth"},T=h();if(T){T.scrollIntoView(E);return}let I=t,k=o,L=r;if(!I||k.length===0||L.length!==k.length)return;let B=null,A=getCaretPosition(I,k,L,f);if(A?B=A.pageIndex:B=findPageIndexContainingPmPos(I,f),B==null)return;let _=S.querySelectorAll(".layout-page")[B];if(!_)return;_.scrollIntoView(E),dn(()=>{if(!S.isConnected)return;let V=h();V&&V.scrollIntoView(E);},g);return}let R=s()??findVerticalScrollParentOrRoot(S),b=()=>{let E=h();return E?(cn(E,R),true):false};if(b())return;let c=t,v=o,C=r;if(!c||v.length===0||C.length!==v.length)return;let y=null,w=getCaretPosition(c,v,C,f);if(w?y=w.pageIndex:y=findPageIndexContainingPmPos(c,f),y==null)return;let x=S.querySelectorAll(".layout-page")[y];x&&(cn(x,R),dn(()=>{if(!S.isConnected)return;let E=h();E?cn(E,R):b();},g));},[t,o,r,s,n]),l=useCallback(f=>{if(!Number.isInteger(f)||f<1||!t||f>t.pages.length)return;let a=t.pages[f-1];for(let m of a.fragments)if(typeof m.pmStart=="number"){u(m.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[f-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,u,n]),p=useCallback(f=>{let a=d.current?.getState();if(!a)return false;let S=findStartPosForParaId(a.doc,f);if(S==null||S<0)return false;u(S,true);let m=i.current?.signal;if(!m)return true;let g=a.doc.nodeAt(S),h=g?.isTextblock===true?Math.min(S+1+g.content.size,a.doc.content.size):Math.min(S+1,a.doc.content.size);return dn(()=>{d.current&&(d.current.setSelection(h),d.current.focus());},m),true},[u,d]);return {scrollToPositionImpl:u,scrollToPageImpl:l,scrollToParaIdImpl:p}}function oo(e,t){try{let o=e.state.doc.resolve(t+1);for(let r=o.depth;r>=0;r--){let n=o.node(r);if(n.type.name==="table")return {node:n,tablePos:o.before(r)}}}catch{}return null}function os(e,t,o){let r=oo(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0||n[o+1]===void 0?null:{left:n[o],right:n[o+1]}}function ns(e,t,o){let r=oo(e,t);if(!r)return null;let n=null,d=0;return r.node.forEach(s=>{if(d===o){let i=s.attrs.height;i&&(n=i);}d++;}),n}function rs(e,t,o){let r=oo(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0?null:n[o]}function is(e,t){let{pmStart:o,colIdx:r,newLeft:n,newRight:d}=t,s=oo(e,o);if(!s)return;let{node:i,tablePos:u}=s,l=e.state.tr,p=[...i.attrs.columnWidths??[]];p[r]=n,p[r+1]=d,l.setNodeMarkup(u,void 0,{...i.attrs,columnWidths:p});let f=u+1;i.forEach(a=>{let S=f+1,m=0;a.forEach(g=>{let h=g.attrs.colspan||1;if(m===r||m===r+1){let R=m===r?n:d;l.setNodeMarkup(l.mapping.map(S),void 0,{...g.attrs,width:R,widthType:"dxa",colwidth:null});}S+=g.nodeSize,m+=h;}),f+=a.nodeSize;}),e.dispatch(l);}function as(e,t){let{pmStart:o,rowIdx:r,newHeight:n}=t,d=oo(e,o);if(!d)return;let{node:s,tablePos:i}=d,u=e.state.tr,l=i+1,p=0;s.forEach(f=>{p===r&&u.setNodeMarkup(u.mapping.map(l),void 0,{...f.attrs,height:n,heightRule:"atLeast"}),l+=f.nodeSize,p++;}),e.dispatch(u);}function ss(e,t){let{pmStart:o,colIdx:r,newWidth:n}=t,d=oo(e,o);if(!d)return;let{node:s,tablePos:i}=d,u=e.state.tr,l=[...s.attrs.columnWidths??[]];l[r]=n,u.setNodeMarkup(i,void 0,{...s.attrs,columnWidths:l});let p=i+1;s.forEach(f=>{let a=p+1,S=0;f.forEach(m=>{let g=m.attrs.colspan||1;S===r&&u.setNodeMarkup(u.mapping.map(a),void 0,{...m.attrs,width:n,widthType:"dxa",colwidth:null}),a+=m.nodeSize,S+=g;}),p+=f.nodeSize;}),e.dispatch(u);}var bn=15,fr=300,ef=200;function ls(e){let{hiddenPMRef:t}=e,o=useRef(false),r=useRef(0),n=useRef(0),d=useRef(0),s=useRef({left:0,right:0}),i=useRef(null),u=useRef(false),l=useRef(0),p=useRef(0),f=useRef(0),a=useRef(0),S=useRef(null),m=useRef(false),g=useRef(false),h=useRef(0),R=useRef(0),b=useRef(0),c=useRef(0),v=useRef(null),C=useCallback((x,E)=>{if(x.classList.contains("layout-table-resize-handle")){E.preventDefault(),E.stopPropagation(),o.current=true,r.current=E.clientX,i.current=x,x.classList.add("dragging");let T=parseInt(x.dataset.columnIndex??"0",10);n.current=T,d.current=parseInt(x.dataset.tablePmStart??"0",10);let I=t.current?.getView();if(I){let k=os(I,d.current,T);k&&(s.current=k);}return true}if(x.classList.contains("layout-table-row-resize-handle")||x.classList.contains("layout-table-edge-handle-bottom")){E.preventDefault(),E.stopPropagation(),u.current=true,l.current=E.clientY,S.current=x,m.current=x.dataset.isEdge==="bottom",x.classList.add("dragging");let T=parseInt(x.dataset.rowIndex??"0",10);p.current=T,f.current=parseInt(x.dataset.tablePmStart??"0",10);let I=t.current?.getView();if(I){let k=ns(I,f.current,T);if(k!=null)a.current=k;else {let B=x.closest(".layout-table")?.querySelector(`[data-row-index="${T}"]`),A=B?B.getBoundingClientRect().height:30;a.current=Math.round(A*bn);}}return true}if(x.classList.contains("layout-table-edge-handle-right")){E.preventDefault(),E.stopPropagation(),g.current=true,h.current=E.clientX,v.current=x,x.classList.add("dragging");let T=parseInt(x.dataset.columnIndex??"0",10);R.current=T,b.current=parseInt(x.dataset.tablePmStart??"0",10);let I=t.current?.getView();if(I){let k=rs(I,b.current,T);k!=null&&(c.current=k);}return true}return false},[t]),y=useCallback(x=>{if(o.current){x.preventDefault();let E=x.clientX-r.current;if(i.current){let T=parseFloat(i.current.style.left);i.current.style.left=`${T+E}px`,r.current=x.clientX;let I=Math.round(E*bn),k=s.current.left+I,L=s.current.right-I;k>=fr&&L>=fr&&(s.current={left:k,right:L});}return true}if(u.current){x.preventDefault();let E=x.clientY-l.current;if(S.current){let T=parseFloat(S.current.style.top);S.current.style.top=`${T+E}px`,l.current=x.clientY;let I=Math.round(E*bn),k=a.current+I;k>=ef&&(a.current=k);}return true}if(g.current){x.preventDefault();let E=x.clientX-h.current;if(v.current){let T=parseFloat(v.current.style.left);v.current.style.left=`${T+E}px`,h.current=x.clientX;let I=Math.round(E*bn),k=c.current+I;k>=fr&&(c.current=k);}return true}return false},[]),w=useCallback(()=>{if(o.current){o.current=false,i.current&&(i.current.classList.remove("dragging"),i.current=null);let x=t.current?.getView();if(x){let{left:E,right:T}=s.current;is(x,{pmStart:d.current,colIdx:n.current,newLeft:E,newRight:T});}return true}if(u.current){u.current=false,S.current&&(S.current.classList.remove("dragging"),S.current=null);let x=t.current?.getView();return x&&as(x,{pmStart:f.current,rowIdx:p.current,newHeight:a.current}),true}if(g.current){g.current=false,v.current&&(v.current.classList.remove("dragging"),v.current=null);let x=t.current?.getView();return x&&ss(x,{pmStart:b.current,colIdx:R.current,newWidth:c.current}),true}return false},[t]),P=useCallback(()=>o.current||u.current||g.current,[]);return {tryStartFromMouseDown:C,handleMouseMoveUpdate:y,tryCommit:w,isAnyResizeActive:P}}var gf=5;function ps(e){let{pagesContainerRef:t,hiddenPMRef:o,layout:r,blocks:n,measures:d,zoom:s,readOnly:i,hfEditMode:u,onBodyClick:l,onContextMenu:p,onHyperlinkClick:f,onHeaderFooterDoubleClick:a,setSelectedImageInfo:S,setSelectionRects:m,setCaretPosition:g,buildImageSelectionInfo:h,setIsFocused:R,scrollToPositionImpl:b}=e,c=useRef(false),v=useRef(null),C=ls({hiddenPMRef:o}),y=useRef(false),w=useRef(null),P=useRef(null),x=useRef(null),[E,T]=useState(null),I=useRef(null),k=useCallback(()=>{I.current&&(clearTimeout(I.current),I.current=null);},[]);useEffect(()=>()=>{I.current&&clearTimeout(I.current);},[]);let L=useRef(()=>{}),B=useCallback((D,H)=>{L.current(D,H);},[]),{updateMousePosition:A,stopAutoScroll:j}=b$4({pagesContainerRef:t,onScrollExtendSelection:B}),_=useCallback((D,H)=>{if(!t.current||!r)return null;let N=clickToPositionDom(t.current,D,H,s);if(N!==null)return N;let W=t.current.querySelectorAll(".layout-page"),F=-1,U=null;for(let O=0;O<W.length;O++){let ce=W[O].getBoundingClientRect();if(D>=ce.left&&D<=ce.right&&H>=ce.top&&H<=ce.bottom){F=O,U=ce;break}}if(F<0||!U)return null;let q=(D-U.left)/s,re=(H-U.top)/s,Z=r.pages[F];if(!Z)return null;let te={pageIndex:F,page:Z,pageY:re},K=hitTestFragment(te,n,d,{x:q,y:re});if(!K)return null;if(K.fragment.kind==="table"){let O=hitTestTableCell(te,n,d,{x:q,y:re});return clickToPosition(K,O)}return clickToPosition(K)},[r,n,d,s,t]),V=useCallback(D=>{let H=o.current?.getView();if(!H)return null;try{let N=H.state.doc.resolve(D);for(let W=N.depth;W>0;W--){let F=N.node(W);if(F.type.name==="tableCell"||F.type.name==="tableHeader")return N.before(W)}}catch{}return null},[o]),oe=useCallback(D=>{if(!o.current)return;if(D.button===2){D.preventDefault();return}if(D.button!==0||(T(null),k(),D.target.closest("a[href]")&&D.preventDefault(),i))return;if(u&&l){let U=D.target;if(!(U.closest(".layout-page-header")||U.closest(".layout-page-footer")||U.closest(".hf-inline-editor"))){D.preventDefault(),D.stopPropagation(),l();return}}if(!u){let U=D.target;if(U.closest(".layout-page-header")||U.closest(".layout-page-footer")){D.preventDefault(),o.current.setSelection(0),o.current.focus(),R(true);return}}let N=D.target;if(C.tryStartFromMouseDown(N,D))return;let W=findImageElement(N);if(W){D.preventDefault(),D.stopPropagation();let U=W.dataset.pmStart;if(U!==void 0){let q=parseInt(U,10);o.current.setNodeSelection(q),S(h(W,q)),m([]),g(null);}o.current.focus(),R(true);return}S(null),D.preventDefault();let F=_(D.clientX,D.clientY);if(F!==null){let U=V(F);w.current=U,y.current=false,P.current=null,x.current=null,c.current=true,v.current=F,o.current.setSelection(F);}else {w.current=null,y.current=false;let U=o.current.getView();if(U){let q=Math.max(0,U.state.doc.content.size-1);o.current.setSelection(q),v.current=q,c.current=true;}}o.current.focus(),R(true);},[o,i,u,l,_,V,k,S,m,g,h,R]);L.current=(D,H)=>{if(!c.current||v.current===null||!o.current)return;let N=_(D,H);N!==null&&o.current.setSelection(v.current,N);};let ie=useCallback(D=>{if(C.handleMouseMoveUpdate(D)||!c.current||v.current===null||!o.current||!t.current)return;A(D.clientX,D.clientY);let H=_(D.clientX,D.clientY);if(H===null)return;if(w.current!==null){if(y.current){let F=V(H);if(F!==null){o.current.setCellSelection(w.current,F);return}}let W=V(H);if(W!==null&&W!==w.current){y.current=true,o.current.setCellSelection(w.current,W),x.current=null;return}if(P.current!==null&&H===P.current){if(x.current===null)x.current=D.clientX;else if(Math.abs(D.clientX-x.current)>=gf){y.current=true,o.current.setCellSelection(w.current,w.current),x.current=null;return}}else x.current=null,P.current=H;}let N=v.current;o.current.setSelection(N,H);},[_,V,A,o,t]),Q=useCallback(()=>{C.tryCommit()||(c.current=false,y.current=false,P.current=null,x.current=null,j());},[j,C]);useEffect(()=>(window.addEventListener("mousemove",ie),window.addEventListener("mouseup",Q),()=>{window.removeEventListener("mousemove",ie),window.removeEventListener("mouseup",Q);}),[ie,Q]);let ae=useCallback(D=>{if(i||c.current||y.current||C.isAnyResizeActive())return;let H=t.current;if(!H)return;let N=detectTableInsertHover({mouseX:D.clientX,mouseY:D.clientY,pagesContainer:H,target:D.target,hfEditMode:u??null});if(!N){I.current||(I.current=setTimeout(()=>{T(null),I.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let W=H.parentElement;if(!W)return;let F=W.getBoundingClientRect();T({type:N.type,x:N.clientX-F.left,y:N.clientY-F.top,cellPmPos:N.cellPmPos}),k();},[i,k,u,t]),ne=useCallback(D=>{if(D.preventDefault(),D.stopPropagation(),!E||!o.current)return;let H=o.current.getView();if(!H)return;let{type:N,cellPmPos:W}=E,F=H.state.tr.setSelection(TextSelection.create(H.state.doc,W+1));H.dispatch(F),N==="row"?addRowBelow(H.state,H.dispatch):addColumnRight(H.state,H.dispatch),T(null),o.current.focus();},[E,o]),ge=useCallback(D=>{let H=D.target.closest("a[href]");if(H){D.preventDefault();let N=H.getAttribute("href")||"";if(N.startsWith("#")){let W=N.substring(1);if(W&&o.current){let F=o.current.getView();if(F){let U=null;F.state.doc.descendants((q,re)=>{if(U!==null)return false;if(q.type.name==="paragraph"&&q.attrs.bookmarks?.some(te=>te.name===W))return U=re,false}),U!==null&&(b(U),o.current.setSelection(U+1));}}}else if(f){let W=o.current?.getView();if(!(W&&W.state.selection.from!==W.state.selection.to)){let U=H.textContent||"",q=H.getAttribute("title")||void 0,re=H.closest(".ep-root.paged-editor");if(re){let Z=re.getBoundingClientRect(),te=H.getBoundingClientRect(),K={top:te.bottom-Z.top+4,left:te.left-Z.left};f({href:N,displayText:U,tooltip:q,position:K});}}}return}if(D.detail===2&&a){let N=D.target,W=N.closest(".layout-page-header"),F=N.closest(".layout-page-footer");if(W||F){let U=N.closest("[data-page-number]"),q=U?Number(U.dataset.pageNumber):1;if(W){D.preventDefault(),D.stopPropagation(),a("header",q);return}if(F){D.preventDefault(),D.stopPropagation(),a("footer",q);return}}}if(D.detail===2&&o.current){let N=_(D.clientX,D.clientY);if(N!==null){let W=V(N);if(W!==null){D.preventDefault(),D.stopPropagation(),o.current.setCellSelection(W,W);return}let F=o.current.getView();if(F){let{doc:U}=F.state,q=U.resolve(N),re=q.parent;if(re.isTextblock){let Z=re.textContent,te=q.parentOffset,[K,O]=findWordBoundaries(Z,te),Se=q.start()+K,ce=q.start()+O;Se<ce&&o.current.setSelection(Se,ce);}}}}if(D.detail===3&&o.current){let N=_(D.clientX,D.clientY);if(N!==null){let W=o.current.getView();if(W){let{doc:F}=W.state,U=F.resolve(N),q=U.start(U.depth),re=U.end(U.depth);o.current.setSelection(q,re);}}}},[_,a,f,o,V,b]),he=useCallback(D=>{if(!p)return;D.preventDefault();let H=o.current?.getView();if(!H)return;let N=K=>{let O=H.state.doc.nodeAt(K);if(!O||O.type.name!=="image")return null;let Se=O.attrs.wrapType??"inline",ce=O.attrs.cssFloat;return {pos:K,wrapType:Se,cssFloat:ce}},W=null,F=hitTestImage(D.target);if(F&&(W=N(F.pos),W&&(W.inlinePositionEmu=captureInlinePositionEmu(F.imageEl,s))),!W){let K=H.state.selection;if(K instanceof NodeSelection&&K.node.type.name==="image"&&(W=N(K.from),W)){let O=t.current?.querySelector(`.layout-run-image[data-pm-start="${K.from}"]`);O&&(W.inlinePositionEmu=captureInlinePositionEmu(O,s));}}let{from:U,to:q}=H.state.selection,re=_(D.clientX,D.clientY);re!==null&&(U===q||re<U||re>q)&&(o.current?.setSelection(re),o.current?.focus(),R(true));let Z=o.current?.getState(),te=Z?Z.selection.from!==Z.selection.to:false;p({x:D.clientX,y:D.clientY,hasSelection:te,image:W});},[p,_,s,o,t,R]),J=useCallback(()=>T(null),[]);return {handlePagesMouseDown:oe,handlePagesMouseMove:ae,handlePagesClick:ge,handlePagesContextMenu:he,handleTableInsertClick:ne,tableInsertButton:E,clearTableInsertTimer:k,hideTableInsertButton:J,getPositionFromMouse:_}}function ms(e){let{hiddenPMRef:t,layout:o,runLayoutPipeline:r,scrollToPositionImpl:n,scrollToParaIdImpl:d,scrollToPageImpl:s,setIsFocused:i}=e;return {getDocument:()=>t.current?.getDocument()??null,getState:()=>t.current?.getState()??null,getView:()=>t.current?.getView()??null,focus:()=>{t.current?.focus(),i(true);},blur:()=>{t.current?.blur(),i(false);},isFocused:()=>t.current?.isFocused()??false,dispatch:u=>t.current?.dispatch(u),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(u,l)=>t.current?.setSelection(u,l),getLayout:()=>o,relayout:()=>{let u=t.current?.getState();u&&r(u);},scrollToPosition:n,scrollToParaId:d,scrollToPage:s}}function fs(e){let{ref:t,hiddenPMRef:o,layout:r,runLayoutPipeline:n,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:i,setIsFocused:u,onReadyRef:l}=e;useImperativeHandle(t,()=>ms({hiddenPMRef:o,layout:r,runLayoutPipeline:n,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:i,setIsFocused:u}),[r,n,d,s,i]),useEffect(()=>{l.current&&o.current&&l.current(ms({hiddenPMRef:o,layout:r,runLayoutPipeline:n,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:i,setIsFocused:u}));},[r,n,s,i]);}function hs(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:d,firstPageHeaderContent:s,firstPageFooterContent:i}=e;useEffect(()=>{let l=()=>{let p=t.current?.getView();p&&(resetCanvasContext(),clearAllCaches(),o(p.state),r(p.state));};return window.document.fonts.addEventListener("loadingdone",l),()=>{window.document.fonts.removeEventListener("loadingdone",l);}},[]);let u=useRef(0);useEffect(()=>{if(u.current===0){u.current=1;return}let l=t.current?.getView();l&&o(l.state);},[n,d,s,i,o,t]);}function bs({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:d}){let s=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:d,style:{position:"absolute",left:t,top:o,width:20,height:20,borderRadius:"4px",border:"1px solid #dadce0",backgroundColor:"#f8f9fa",color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:200,padding:0,boxShadow:"none"},title:s,"aria-label":s,children:jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M6 1v10M1 6h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})}var Ss={position:"absolute",zIndex:1e4,background:"white",borderRadius:"8px",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.08)",border:"1px solid #dadce0",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px"},xf={...Ss,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Rf={...Ss,padding:"12px",width:"320px"},br={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},Pf={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},Tf={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},wf={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},vs={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Cs={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},Ef={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},no={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function If(){return jsxs("svg",{...no,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M2 12h20"}),jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}function kf(){return jsxs("svg",{...no,children:[jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function Mf(){return jsx("svg",{...no,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Df(){return jsxs("svg",{...no,children:[jsx("path",{d:"M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),jsx("path",{d:"M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]})}function Lf(){return jsxs("svg",{...no,children:[jsx("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),jsx("line",{x1:"4",y1:"15",x2:"20",y2:"15"}),jsx("line",{x1:"10",y1:"3",x2:"8",y2:"21"}),jsx("line",{x1:"16",y1:"3",x2:"14",y2:"21"})]})}function Hf(){return jsxs("svg",{...no,children:[jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function yr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:Tf,title:e,onClick:t,children:o})}function xs({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:d,readOnly:s}){let{t:i}=b(),[u,l]=useState("view"),[p,f]=useState(""),[a,S]=useState(""),m=useRef(null),g=useRef(null);useEffect(()=>{e&&(l("view"),f(e.displayText),S(e.href));},[e]),useEffect(()=>{u==="edit"&&requestAnimationFrame(()=>{g.current?.focus(),g.current?.select();});},[u]),useEffect(()=>{if(!e)return;let y=false,w=x=>{m.current&&!m.current.contains(x.target)&&d();},P=setTimeout(()=>{y||document.addEventListener("mousedown",w);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",w);}},[e,d]),useEffect(()=>{if(!e)return;let y=w=>{w.key==="Escape"&&(u==="edit"?l("view"):d());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,u,d]);let h=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),R=useCallback(()=>{e&&(f(e.displayText),S(e.href),l("edit"));},[e]),b$1=useCallback(()=>{let y=a.trim();y&&r(p.trim()||y,y);},[p,a,r]),c=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),b$1());},[b$1]);if(!e)return null;let v=e.position.top,C=e.position.left;return u==="edit"?jsxs("div",{ref:m,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...Rf,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:vs,children:[jsx("span",{style:br,children:jsx(Lf,{})}),jsx("input",{ref:g,type:"text",style:Cs,value:p,onChange:y=>f(y.target.value),onKeyDown:c,placeholder:i("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...vs,marginBottom:0},children:[jsx("span",{style:br,children:jsx(Hf,{})}),jsx("input",{type:"text",style:Cs,value:a,onChange:y=>S(y.target.value),onKeyDown:c,placeholder:i("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...Ef,opacity:a.trim()?1:.5,cursor:a.trim()?"pointer":"default"},onClick:b$1,disabled:!a.trim(),children:i("common.apply")})]})]}):jsxs("div",{ref:m,className:"ep-hyperlink-popup",style:{...xf,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:br,children:jsx(If,{})}),jsx("a",{href:e.href,style:Pf,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:wf}),jsx(yr,{title:i("hyperlinkPopup.copyLink"),onClick:h,children:jsx(kf,{})}),!s&&jsxs(Fragment,{children:[jsx(yr,{title:i("hyperlinkPopup.editLink"),onClick:R,children:jsx(Mf,{})}),jsx(yr,{title:i("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Df,{})})]})]})}var _f=forwardRef(function(t,o){let{document:r,styles:n,theme:d,sectionProperties:s,finalSectionProperties:i,headerContent:u,footerContent:l,firstPageHeaderContent:p,firstPageFooterContent:f,readOnly:a$1=false,pageGap:S=24,zoom:m=1,onDocumentChange:g,onSelectionChange:h,externalPlugins:R=Ra,extensionManager:b,onReady:c,onRenderedDomContextReady:v,pluginOverlays:C,onHeaderFooterDoubleClick:y,hfEditMode:w,onBodyClick:P,className:x,style:E,commentsSidebarOpen:T=false,sidebarOverlay:I,scrollContainerRef:k,onHyperlinkClick:L,onContextMenu:B,onAnchorPositionsChange:A,onTotalPagesChange:j,resolvedCommentIds:_,hyperlinkPopupData:V,onHyperlinkPopupNavigate:oe,onHyperlinkPopupCopy:ie,onHyperlinkPopupEdit:Q,onHyperlinkPopupRemove:ae,onHyperlinkPopupClose:ne}=t,ge=useCallback(()=>k&&typeof k=="object"?k.current:he.current,[k]),he=useRef(null),J=useRef(null),D=useRef(null),H=useRef(null),{handlePMKeyDown:N}=a({pagesContainerRef:J}),W=useRef(h),F=useRef(g),U=useRef(c),q=useRef(v);W.current=h,F.current=g,U.current=c,q.current=v;let[re,Z]=useState(false),te=useRef(false),K=useMemo(()=>new LayoutSelectionGate,[]),{layout:O,blocks:Se,measures:ce,decorationSyncToken:Be,notifyDecorationLayer:fe,contentWidth:ye,runLayoutPipeline:Te,scheduleLayout:ve}=Ua({document:r,styles:n,theme:d,sectionProperties:s,finalSectionProperties:i,headerContent:u,footerContent:l,firstPageHeaderContent:p,firstPageFooterContent:f,pageGap:S,zoom:m,resolvedCommentIds:_,pagesContainerRef:J,viewportLayoutRef:D,hiddenPMRef:H,syncCoordinator:K,getScrollContainer:ge,onTotalPagesChange:j,onAnchorPositionsChange:A,onRenderedDomContextReady:v}),{selectionRects:Ee,caretPosition:De,selectedImageInfo:se,setSelectionRects:Ie,setCaretPosition:ke,setSelectedImageInfo:It,buildImageSelectionInfo:$e,updateSelectionOverlay:Ge,handleSelectionChange:mt}=qa({layout:O,blocks:Se,measures:ce,zoom:m,containerRef:he,pagesContainerRef:J,hiddenPMRef:H,syncCoordinator:K,isImageInteractingRef:te,onSelectionChangeRef:W}),et=useCallback(($,pe)=>{if(fe(),$.docChanged){K.incrementStateSeq(),ve(pe);let At=H.current?.getDocument();At&&F.current?.(At);}K.requestRender(),$.docChanged||Ge(pe);},[ve,Ge,K,fe]),{scrollToPositionImpl:kt,scrollToPageImpl:Ke,scrollToParaIdImpl:jt}=ts({layout:O,blocks:Se,measures:ce,pagesContainerRef:J,hiddenPMRef:H,getScrollContainer:ge}),{handlePagesMouseDown:Ye,handlePagesMouseMove:tt,handlePagesClick:Mt,handlePagesContextMenu:ot,handleTableInsertClick:ft,tableInsertButton:xe,clearTableInsertTimer:Xt,hideTableInsertButton:Dt,getPositionFromMouse:qt}=ps({pagesContainerRef:J,hiddenPMRef:H,layout:O,blocks:Se,measures:ce,zoom:m,readOnly:a$1,hfEditMode:w,onBodyClick:P,onContextMenu:B,onHyperlinkClick:L,onHeaderFooterDoubleClick:y,setSelectedImageInfo:It,setSelectionRects:Ie,setCaretPosition:ke,buildImageSelectionInfo:$e,setIsFocused:Z,scrollToPositionImpl:kt}),Lt=useCallback($=>{if(a$1)return;let pe=$.target;pe.closest(".docx-comments-sidebar")||pe.closest(".docx-unified-sidebar")||(H.current?.focus(),Z(true));},[a$1]),Zt=useCallback($=>{let pe=$.relatedTarget;pe&&he.current?.contains(pe)||pe?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||Z(false);},[]),{handleImageResize:de,handleImageResizeStart:Re,handleImageResizeEnd:be,handleImageDragMove:Ht,handleImageDragStart:Qt,handleImageDragEnd:Ft}=Qa({pagesContainerRef:J,hiddenPMRef:H,zoom:m,isImageInteractingRef:te,getPositionFromMouse:qt}),nt=useCallback($=>{if(!a$1){if(H.current?.isFocused()||(H.current?.focus(),Z(true)),$.key===" "&&!$.ctrlKey&&!$.metaKey&&!$.nativeEvent.isComposing){$.preventDefault();let pe=H.current?.getView();if(pe){let{from:At,to:Fn}=pe.state.selection;pe.someProp("handleTextInput",co=>co(pe,At,Fn," "))||pe.dispatch(pe.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes($.key)&&!$.metaKey&&$.ctrlKey,$.key==="Home"&&($.metaKey||$.ctrlKey)){let pe=ge();pe&&(pe.scrollTop=0);}if($.key==="End"&&($.metaKey||$.ctrlKey)){let pe=ge();pe&&(pe.scrollTop=pe.scrollHeight);}}},[a$1,ge]),Pe=useCallback($=>{a$1||$.target.closest(".docx-comments-sidebar")||$.target.closest(".docx-unified-sidebar")||H.current?.isFocused()||(H.current?.focus(),Z(true));},[a$1]),gt=useCallback($=>{Te($.state),Ge($.state),a$1||requestAnimationFrame(()=>{$.focus(),Z(true);});},[Te,Ge,a$1]);hs({hiddenPMRef:H,runLayoutPipeline:Te,updateSelectionOverlay:Ge,headerContent:u,footerContent:l,firstPageHeaderContent:p,firstPageFooterContent:f}),fs({ref:o,hiddenPMRef:H,layout:O,runLayoutPipeline:Te,scrollToPositionImpl:kt,scrollToParaIdImpl:jt,scrollToPageImpl:Ke,setIsFocused:Z,onReadyRef:U});let rt=useMemo(()=>O?un(O,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[O,S]);return jsxs("div",{ref:he,className:`ep-root paged-editor ${x??""}`,style:{...Pa,...E},tabIndex:0,onFocus:Lt,onBlur:Zt,onKeyDown:nt,onMouseDown:Pe,children:[jsx(ca,{ref:H,document:r,styles:n,widthPx:ye,readOnly:a$1,onTransaction:et,onSelectionChange:mt,externalPlugins:R,extensionManager:b,onEditorViewReady:gt,onKeyDown:N}),jsxs("div",{ref:D,style:{...Ta,minHeight:rt,marginBottom:m!==1?rt*(m-1):void 0,transform:(()=>{let $=[];return T&&$.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),m!==1&&$.push(`scale(${m})`),$.length>0?$.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:J,className:`paged-editor__pages${a$1?" paged-editor--readonly":""}${w?` paged-editor--hf-editing paged-editor--editing-${w}`:""}`,style:wa,onMouseDown:Ye,onMouseMove:tt,onClick:Mt,onContextMenu:ot,"aria-hidden":"true"}),jsx(ua,{selectionRects:Ee,caretPosition:De,isFocused:re,pageGap:S,readOnly:a$1}),jsx(ha,{imageInfo:se,zoom:m,isFocused:re,onResize:de,onResizeStart:Re,onResizeEnd:be,onDragMove:Ht,onDragStart:Qt,onDragEnd:Ft,onContextMenu:ot}),xe&&jsx(bs,{type:xe.type,x:xe.x,y:xe.y,onMouseDown:ft,onMouseEnter:Xt,onMouseLeave:Dt}),C&&jsx("div",{className:"paged-editor__plugin-overlays",style:Ea,children:C}),jsx(va,{getView:()=>H.current?.getView()??null,getPagesContainer:()=>J.current,zoom:m,decorationSyncToken:Be,syncCoordinator:K})]}),I&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:rt*m,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:I})}),V&&oe&&ie&&Q&&ae&&ne&&jsx(xs,{data:V,onNavigate:oe,onCopy:ie,onEdit:Q,onRemove:ae,onClose:ne,readOnly:a$1})]})}),ws=memo(_f);var ks={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 0",fontSize:11,color:"#4285f4",userSelect:"none"},Ms={fontWeight:500,letterSpacing:.3},eg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},tg={position:"absolute",right:0,top:"100%",background:"white",border:"1px solid #dadce0",borderRadius:4,boxShadow:"0 2px 6px rgba(0,0,0,0.15)",zIndex:h.dropdown,minWidth:160,padding:"4px 0"},Sn={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},Hs=forwardRef(function({headerFooter:t,position:o,styles:r,targetElement:n,parentElement:d,onSave:s,onClose:i,onSelectionChange:u,onRemove:l},p){let f=useRef(null),a=useRef(null),[S,m]=useState(false),g=useRef(u);g.current=u;let h$1=useMemo(()=>{if(!r)return 11;let I=createStyleResolver(r).resolveParagraphStyle(void 0);return I.runFormatting?.fontSize?I.runFormatting.fontSize/2:11},[r]),[R,b$1]=useState(false),c=useRef(null),[v,C]=useState(null);useLayoutEffect(()=>{let T=()=>{let k=d.getBoundingClientRect(),L=n.getBoundingClientRect();C({top:L.top-k.top+d.scrollTop,left:L.left-k.left+d.scrollLeft,width:L.width});};T();let I=d.closest('[style*="overflow"]')||d;return I.addEventListener("scroll",T),window.addEventListener("resize",T),()=>{I.removeEventListener("scroll",T),window.removeEventListener("resize",T);}},[n,d]),useEffect(()=>{if(!f.current||a.current)return;let T=headerFooterToProseDoc(t.content,{styles:r||void 0}),I=new ExtensionManager(createStarterKit());I.buildSchema(),I.initializeRuntime();let k=I.getPlugins(),L=EditorState.create({doc:T,schema:schema,plugins:k}),B=new EditorView(f.current,{state:L,dispatchTransaction(A){let j=B.state.apply(A);if(B.updateState(j),A.docChanged&&m(true),A.selectionSet||A.docChanged){let _=extractSelectionState(j);g.current?.(_);}}});return a.current=B,requestAnimationFrame(()=>{B.focus();let A=extractSelectionState(B.state);g.current?.(A);}),()=>{B.destroy(),a.current=null;}},[v]);let y=useCallback(()=>{if(!a.current)return;let T=proseDocToBlocks(a.current.state.doc);s(T);},[s]),w=useCallback(()=>{S?y():i();},[S,y,i]);useEffect(()=>{function T(I){I.key==="Escape"&&(I.preventDefault(),I.stopPropagation(),w());}return document.addEventListener("keydown",T,true),()=>document.removeEventListener("keydown",T,true)},[w]),useEffect(()=>{if(!R)return;function T(I){c.current&&!c.current.contains(I.target)&&b$1(false);}return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[R]),useImperativeHandle(p,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let T=a.current;return T?undo(T.state,T.dispatch):false},redo:()=>{let T=a.current;return T?redo(T.state,T.dispatch):false}}));let{t:P}=b(),x=P(o==="header"?"headerFooter.header":"headerFooter.footer");if(!v)return null;let E={position:"absolute",top:v.top,left:v.left,width:v.width,zIndex:h.hfInlineEditor};return jsxs("div",{className:"hf-inline-editor",style:E,onMouseDown:T=>{T.stopPropagation();},children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:ks,children:[jsx("span",{style:Ms,children:x}),jsx(Ds,{label:x,showOptions:R,setShowOptions:b$1,optionsRef:c,onRemove:l,onClose:w,viewRef:a})]}),jsx("div",{ref:f,className:"hf-editor-pm prosemirror-editor",style:{minHeight:40,outline:"none",fontSize:`${h$1}pt`}}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:ks,children:[jsx("span",{style:Ms,children:x}),jsx(Ds,{label:x,showOptions:R,setShowOptions:b$1,optionsRef:c,onRemove:l,onClose:w,viewRef:a})]})]})});function Ds({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:d,viewRef:s}){let{t:i}=b(),u=l=>{let p=s.current;if(!p)return;let{$from:f,from:a}=p.state.selection,S=p.state.storedMarks||f.marks(),m=schema.nodes.field.create({fieldType:l,instruction:` ${l} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),g=p.state.tr.insert(a,m.mark(S));p.dispatch(g),p.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:eg,onClick:l=>{l.stopPropagation(),o(p=>!p);},onMouseDown:l=>l.stopPropagation(),children:[i("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:tg,children:[jsx("button",{type:"button",style:Sn,onClick:()=>{o(false),u("PAGE");},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:Sn,onClick:()=>{o(false),u("NUMPAGES");},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:Sn,onClick:()=>{o(false),n();},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:Sn,onClick:()=>{o(false),d();},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Fs=resolveItemPositions;function Bs({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:d,onExpandedItemChange:s,activeItemId:i}){let{t:u}=b(),l=i??null,p=useRef(l);p.current=l;let[f,a]=useState(false),S=useRef(new Map),m=useRef(new Map),g=useRef(new Set),h=useRef(null),R=useRef(new Map),b$1=useRef(new Map),[c,v]=useState(0),C=useMemo(()=>Fs(e,t,o,n,S.current,m.current),[e,t,o,n,c]),y=C.length>0,w=useMemo(()=>{let T=new Map;for(let I of C)T.set(I.item.id,I.y);return T},[C]);useEffect(()=>{for(let T of C)g.current.add(T.item.id);},[C]);let P=useCallback(()=>{let T=false;for(let[I,k]of R.current){let L=k.offsetHeight;S.current.get(I)!==L&&(S.current.set(I,L),T=true);}T&&v(I=>I+1);},[]);useEffect(()=>{let T=requestAnimationFrame(P),I=setTimeout(()=>{P(),a(true);},400);return ()=>{cancelAnimationFrame(T),clearTimeout(I);}},[e.length,P]),useEffect(()=>{let T=d?.current;if(!T)return;let I=new ResizeObserver(()=>{requestAnimationFrame(()=>v(k=>k+1));});return I.observe(T),()=>I.disconnect()},[d]),useEffect(()=>{let T=requestAnimationFrame(P);return ()=>cancelAnimationFrame(T)},[l,P]),useEffect(()=>{if(!l)return;let T=R.current.get(l);if(!T){let L=requestAnimationFrame(()=>v(B=>B+1));return ()=>cancelAnimationFrame(L)}let I,k=new ResizeObserver(()=>{cancelAnimationFrame(I),I=requestAnimationFrame(()=>{S.current.set(l,T.offsetHeight),v(L=>L+1);});});return k.observe(T),()=>{cancelAnimationFrame(I),k.disconnect();}},[l]);let x=useCallback(T=>{let I=b$1.current.get(T);return I||(I=k=>{k?(R.current.set(T,k),S.current.set(T,k.offsetHeight)):(R.current.delete(T),S.current.delete(T));},b$1.current.set(T,I)),I},[]),E=useCallback(T=>{s?.(p.current===T?null:T);},[s]);return e.length===0?null:jsx("aside",{ref:h,className:"docx-unified-sidebar",role:"complementary","aria-label":u("sidebar.ariaLabel"),style:{position:"absolute",top:0,left:`calc(50% - ${SIDEBAR_DOCUMENT_SHIFT}px + ${r*n/2+SIDEBAR_PAGE_GAP}px)`,width:SIDEBAR_WIDTH,fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,backgroundColor:"transparent",overflowY:"visible",overflowX:"visible",opacity:y?1:0,transition:"opacity 0.15s ease"},onMouseDown:T=>T.stopPropagation(),children:jsx("div",{style:{position:"relative"},children:e.map(T=>{let I=w.get(T.id),k=l===T.id,B=!g.current.has(T.id)&&I!==void 0,A=y&&!w.has(T.id),j=y?I!==void 0?{position:"absolute",top:I,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},_=A?"none":B||T.isTemporary?"opacity 0.2s ease":f?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...j,transition:_},children:T.render({isExpanded:k,onToggleExpand:()=>E(T.id),measureRef:x(T.id)})},T.id)})})})}function Ns({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:d,onMarkerClick:s}){let{t:i}=b(),l=e.filter(p=>p.parentId==null).map(p=>{let f=d.has(p.id);if(!f&&n||f&&n)return null;let a=t.get(`comment-${p.id}`);return a==null?null:{comment:p,isResolved:f,y:a}}).filter(Boolean);return l.length===0?null:jsx("div",{className:"docx-comment-margin-markers",style:{position:"absolute",top:0,left:`calc(50% + ${r*o/2+6}px)`,zIndex:30,pointerEvents:"none"},onMouseDown:p=>p.stopPropagation(),children:l.map(({comment:p,isResolved:f,y:a})=>jsx("button",{onClick:()=>s(p.id),title:i(f?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:a*o,left:0,width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:4,background:"transparent",cursor:"pointer",pointerEvents:"auto",color:"#5f6368",padding:0,fontFamily:"inherit"},onMouseOver:S=>{S.currentTarget.style.opacity="0.7";},onMouseOut:S=>{S.currentTarget.style.opacity="1";},children:jsx(b$1,{name:f?"chat_bubble_check":"chat_bubble_outline",size:18})},p.id))})}function Ws({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:d,initialSectionProperties:s,finalSectionProperties:i,headerContent:u,footerContent:l,firstPageHeaderContent:p,firstPageFooterContent:f,hfEditPosition:a,setHfEditPosition:S,hfEditIsFirstPage:m,onHeaderFooterDoubleClick:g,onHeaderFooterSave:h,onRemoveHeaderFooter:R,onBodyClick:b,getHfTargetElement:c,zoom:v,readOnly:C,extensionManager:y,externalPlugins:w,onDocumentChange:P,onSelectionChange:x,onPagedSelectionChange:E,onReady:T,onEditorViewReady:I,onRenderedDomContextReady:k,pluginOverlays:L,onHyperlinkClick:B,hyperlinkPopupData:A,onHyperlinkPopupNavigate:j,onHyperlinkPopupCopy:_,onHyperlinkPopupEdit:V,onHyperlinkPopupRemove:oe,onHyperlinkPopupClose:ie,onContextMenu:Q,sidebarOpen:ae,sidebarItems:ne,anchorPositions:ge,onAnchorPositionsChange:he,pluginRenderedDomContext:J,pageWidthPx:D,expandedSidebarItem:H,setExpandedSidebarItem:N,comments:W,resolvedCommentIds:F,resolvedIdsForRender:U,setShowCommentsSidebar:q,onTotalPagesChange:re,floatingCommentBtn:Z,isAddingComment:te,setCommentSelectionRange:K,setAddCommentYPosition:O,setIsAddingComment:Se,setFloatingCommentBtn:ce}){let Be=a?m?a==="header"?p:f:a==="header"?u:l:null;return jsxs(Fragment,{children:[jsx(ws,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||d,sectionProperties:s,finalSectionProperties:i,headerContent:u,footerContent:l,firstPageHeaderContent:p,firstPageFooterContent:f,onHeaderFooterDoubleClick:g,hfEditMode:a,onBodyClick:b,zoom:v,readOnly:C,extensionManager:y,onDocumentChange:P,onSelectionChange:E,externalPlugins:w,onReady:fe=>{T(fe);let ye=fe.getView();ye&&I?.(ye);},onRenderedDomContextReady:k,pluginOverlays:L,onHyperlinkClick:B,hyperlinkPopupData:A,onHyperlinkPopupNavigate:j,onHyperlinkPopupCopy:_,onHyperlinkPopupEdit:V,onHyperlinkPopupRemove:oe,onHyperlinkPopupClose:ie,onContextMenu:Q,commentsSidebarOpen:ae,onAnchorPositionsChange:he,onTotalPagesChange:re,resolvedCommentIds:U,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[ne.length>0&&jsx(Bs,{items:ne,anchorPositions:ge,renderedDomContext:J??null,pageWidth:D,zoom:v,editorContainerRef:o$1,onExpandedItemChange:N,activeItemId:H}),jsx(Ns,{comments:W,anchorPositions:ge,zoom:v,pageWidth:D,sidebarOpen:ae,resolvedCommentIds:F,onMarkerClick:()=>q(true)})]})}),Z!=null&&!te&&!C&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:fe=>{fe.preventDefault(),fe.stopPropagation();let ye=e.current?.getView();if(ye){let{from:Te,to:ve}=ye.state.selection;if(Te!==ve){K({from:Te,to:ve});let Ee=ye.state.schema.marks.comment.create({commentId:lt}),De=ye.state.tr.addMark(Te,ve,Ee);De.setSelection(TextSelection.create(De.doc,ve)),ye.dispatch(De);}}O(Z.top),q(true),Se(true),ce(null);},style:{position:"absolute",top:Z.top,left:Z.left,transform:"translate(-50%, -50%)",zIndex:50,width:28,height:28,borderRadius:6,border:"1px solid rgba(26, 115, 232, 0.3)",backgroundColor:"#fff",color:"#1a73e8",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 1px 3px rgba(60,64,67,0.2)",transition:"background-color 0.15s ease, box-shadow 0.15s ease"},onMouseOver:fe=>{fe.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",fe.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:fe=>{fe.currentTarget.style.backgroundColor="#fff",fe.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),a&&Be&&(()=>{let fe=c(a),ye=r.current;return !fe||!ye?null:jsx(Hs,{ref:t,headerFooter:Be,position:a,styles:n?.package.styles,targetElement:fe,parentElement:ye,onSave:h,onClose:()=>S(null),onSelectionChange:x,onRemove:R})})()]})}function Vs({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:d,setCommentSelectionRange:s,setAddCommentYPosition:i,setFloatingCommentBtn:u,setHfEditPosition:l,setHfEditIsFirstPage:p,setAnchorPositions:f,clearFindReplaceMatches:a,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),d(false),s(null),i(null),u(null),l(null),p(false),f(tn),a(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,d,s,i,u,l,p,f,a,S])}}var dg=createContext(null);function $s({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((l,p)=>{t.showError(l,p);},[t]),n=useCallback((l,p)=>{t.showWarning(l,p);},[t]),d=useCallback((l,p)=>{t.showInfo(l,p);},[t]),s=useCallback(l=>{t.dismiss(l);},[t]),i=useCallback(()=>{t.clearAll();},[t]),u=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:d,dismissNotification:s,clearNotifications:i}),[o.notifications,r,n,d,s,i]);return jsxs(dg.Provider,{value:u,children:[e,jsx(ug,{notifications:o.notifications,onDismiss:s})]})}function ug({notifications:e,onDismiss:t}){let o=e.filter(n=>!n.dismissed);return o.length===0?null:jsx("div",{className:"docx-notification-container",style:{position:"fixed",top:"16px",right:"16px",zIndex:10001,display:"flex",flexDirection:"column",gap:"8px",maxWidth:"400px"},children:o.map(n=>jsx(pg,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function pg({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),s=(g=>{switch(g){case "error":return {bg:"var(--doc-error-bg)",border:"#f5c6cb",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"#ffeeba",text:"#856404",icon:"var(--doc-warning)"};case "info":return {bg:"#e8f4fd",border:"#b8daff",text:"#0c5460",icon:"var(--doc-primary)"}}})(e.severity),i={background:s.bg,border:`1px solid ${s.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},u={display:"flex",alignItems:"flex-start",gap:"8px"},l={color:s.icon,flexShrink:0},p={flex:1,minWidth:0},f={color:s.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},a={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:s.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:s.text},m=g=>{switch(g){case "error":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 6v5M10 13v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "warning":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("path",{d:"M10 3L18 17H2L10 3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),jsx("path",{d:"M10 8v4M10 14v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "info":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 9v5M10 6v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return jsxs("div",{className:`docx-notification-toast docx-notification-${e.severity}`,style:i,children:[jsx("style",{children:`
12
+ </head><body>${P.outerHTML}</body></html>`),y.document.close(),y.onload=()=>{y.print(),y.close();},setTimeout(()=>{y.closed||(y.print(),y.close());},1e3),i?.();},[o,i]),b=useCallback(async()=>{let C=await u();if(!C)return;let y=new Blob([C],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),R=URL.createObjectURL(y),P=window.document.createElement("a");P.href=R,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(R),0);},[u,n]),x=useCallback(()=>{S.current?.click();},[]),f=useCallback(async C=>{try{let y=await readDocxFileFromInput(C.nativeEvent);if(!y)return;await l(y.buffer),h?.(y.name);}catch(y){c?.(y instanceof Error?y:new Error("Failed to open document"));}},[l,h,c]),p=useCallback(()=>{s.current?.click();},[]),v=useCallback(C=>{let y=C.target.files?.[0];if(!y)return;let R=a();if(!R)return;let P=new FileReader;P.onload=()=>{let T=P.result,w=new Image;w.onload=()=>{let I=w.naturalWidth,E=w.naturalHeight,M=612;if(I>M){let z=M/I;I=M,E=Math.round(E*z);}let H=`rId_img_${Date.now()}`,L=R.state.schema.nodes.image.create({src:T,alt:y.name,width:I,height:E,rId:H,wrapType:"inline",displayMode:"inline"});insertImageNode(R.state,R.dispatch,L,R.state.selection.from),m();},w.src=T;},P.readAsDataURL(y),C.target.value="";},[a,m]);return {imageInputRef:s,docxInputRef:S,handleSave:u,handleDirectPrint:g,handleDownloadDocument:b,handleOpenDocument:x,handleDocxFileChange:f,handleInsertImageClick:p,handleImageFileChange:v}}function Ci({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,d]=useState(false),c=useCallback(()=>d(true),[]),i=useCallback(x=>f=>{if(!e||t)return;let p={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[x]:f}}}};o(p);},[e,t,o]),h=useMemo(()=>i("marginLeft"),[i]),l=useMemo(()=>i("marginRight"),[i]),a=useMemo(()=>i("marginTop"),[i]),m=useMemo(()=>i("marginBottom"),[i]),s=useCallback(x=>{if(!e||t)return;let f={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...x}}}};o(f);},[e,t,o]),S=useCallback(x=>{let f=r();f&&setIndentLeft(x)(f.state,f.dispatch);},[r]),u=useCallback(x=>{let f=r();f&&setIndentRight(x)(f.state,f.dispatch);},[r]),g=useCallback(x=>{let f=r();f&&(x<0?setIndentFirstLine(-x,true)(f.state,f.dispatch):setIndentFirstLine(x,false)(f.state,f.dispatch));},[r]),b=useCallback(x=>{let f=r();f&&removeTabStop(x)(f.state,f.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:d,handleOpenPageSetup:c,handleLeftMarginChange:h,handleRightMarginChange:l,handleTopMarginChange:a,handleBottomMarginChange:m,handlePageSetupApply:s,handleIndentLeftChange:S,handleIndentRightChange:u,handleFirstLineIndentChange:g,handleTabStopRemove:b}}function Ri({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),d=useCallback(u=>{let g=t();if(!g)return;let b=u.url||"",x=u.tooltip,{empty:f}=g.state.selection;f&&u.displayText?insertHyperlink(u.displayText,b,x)(g.state,g.dispatch):f?u.displayText&&insertHyperlink(u.displayText,b,x)(g.state,g.dispatch):setHyperlink(b,x)(g.state,g.dispatch),e.close(),o();},[e,t,o]),c=useCallback(()=>{let u=t();u&&(removeHyperlink(u.state,u.dispatch),o());},[t,o]),i=useCallback(()=>{c(),e.close();},[e,c]),h=useCallback(u=>n(u),[]),l=useCallback(u=>{window.open(u,"_blank","noopener,noreferrer");},[]),a=useCallback(u=>{navigator.clipboard.writeText(u).catch(()=>{let g=document.createElement("textarea");g.value=u,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g);});},[]),m=useCallback((u,g)=>{let b=t();if(!b)return;let x=findHyperlinkRangeAt(b.state);if(x){let f=b.state.schema.marks.hyperlink,{$from:p}=b.state.selection,v=f.create({href:g,tooltip:x.mark.attrs.tooltip}),C=b.state.schema.text(u,[...p.marks().filter(R=>R.type!==f),v]),y=b.state.tr.replaceWith(x.start,x.end,C);b.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),s=useCallback(()=>{let u=t();if(!u)return;let g=findHyperlinkRangeAt(u.state,r?.href);if(!g)return;let b=u.state.schema.marks.hyperlink;u.dispatch(u.state.tr.removeMark(g.start,g.end,b).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:d,handleHyperlinkRemove:i,handleHyperlinkClick:h,handleHyperlinkPopupNavigate:l,handleHyperlinkPopupCopy:a,handleHyperlinkPopupEdit:m,handleHyperlinkPopupRemove:s,handleHyperlinkPopupClose:S}}function Pi(e,t,o){let r=0;for(let n of e){let d=r+n.text.length;if(o==="start"&&t>=r&&t<d||o==="end"&&t>r&&t<=d)return n.pmStart+t-r;r=d;}return null}function Ti(e,t,o){let r=[],n=0;return e.state.doc.descendants((d,c)=>{if(!d.isTextblock)return true;let i=[],h="";if(d.descendants((a,m)=>(!a.isText||!a.text||(i.push({text:a.text,pmStart:c+1+m}),h+=a.text),true)),!h)return n+=1,false;let l=(0, a$3.findAllMatches)(h,t,o);for(let a of l){let m=Pi(i,a.start,"start"),s=Pi(i,a.end,"end");m==null||s==null||m>=s||r.push({paragraphIndex:n,contentIndex:0,startOffset:a.start,endOffset:a.end,text:h.slice(a.start,a.end),pmFrom:m,pmTo:s});}return n+=1,false}),r}function wi({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((a,m)=>{let s=r();if(!s||!a)return null;try{let u=TextSelection.create(s.state.doc,a.pmFrom,a.pmTo);s.dispatch(s.state.tr.setSelection(u)),e.current?.scrollToPosition(a.pmFrom);}catch(u){return console.error("Find navigation failed:",u),null}let S=o.current;return S&&(S.currentIndex=m),t.goToMatch(m),a},[t,r,e]),d=useCallback((a,m)=>{let s=r();if(!s||!a.trim())return o.current=null,t.setMatches([],0),null;let S=Ti(s,a,m),u={matches:S,totalCount:S.length,currentIndex:0};return o.current=u,t.setMatches(S,0),S.length>0&&n(S[0],0),u},[t,r,n]),c=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let m=(a.currentIndex+1)%a.matches.length;return n(a.matches[m],m)},[n]),i=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let m=a.currentIndex===0?a.matches.length-1:a.currentIndex-1;return n(a.matches[m],m)},[n]),h=useCallback(a=>{let m=r(),s=o.current;if(!m||!s||s.matches.length===0)return false;let S=s.matches[s.currentIndex];if(!S)return false;try{let u=a?m.state.tr.replaceWith(S.pmFrom,S.pmTo,m.state.schema.text(a)):m.state.tr.delete(S.pmFrom,S.pmTo);return m.dispatch(u),!0}catch(u){return console.error("Replace failed:",u),false}},[r]),l=useCallback((a,m,s)=>{let S=r();if(!S||!a.trim())return 0;let u=Ti(S,a,s);if(u.length===0)return 0;let g=[...u].sort((x,f)=>f.pmFrom-x.pmFrom),b=S.state.tr;for(let x of g)try{b=m?b.replaceWith(x.pmFrom,x.pmTo,S.state.schema.text(m)):b.delete(x.pmFrom,x.pmTo);}catch(f){console.error("Replace failed for match:",x,f);}return S.dispatch(b),o.current=null,t.setMatches([],0),u.length},[t,r]);return {findResultRef:o,handleFind:d,handleFindNext:c,handleFindPrevious:i,handleReplace:h,handleReplaceAll:l}}function ki({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:d,getCachedStyleResolver:c}){let i=useCallback(m=>{let s=e();if(!s)return;s.focus();let S=s===o.current?.getView(),{from:u,to:g$1}=s.state.selection,b=r.current;if(S&&b&&(u!==b.from||g$1!==b.to))try{let x=s.state.tr.setSelection(TextSelection.create(s.state.doc,b.from,b.to));s.dispatch(x);}catch(x){console.warn("Could not restore selection:",x);}if(m==="bold")return void toggleBold(s.state,s.dispatch);if(m==="italic")return void toggleItalic(s.state,s.dispatch);if(m==="underline")return void toggleUnderline(s.state,s.dispatch);if(m==="strikethrough")return void toggleStrike(s.state,s.dispatch);if(m==="superscript")return void toggleSuperscript(s.state,s.dispatch);if(m==="subscript")return void toggleSubscript(s.state,s.dispatch);if(m==="bulletList")return void toggleBulletList(s.state,s.dispatch);if(m==="numberedList")return void toggleNumberedList(s.state,s.dispatch);if(m==="indent"){increaseListLevel(s.state,s.dispatch)||increaseIndent()(s.state,s.dispatch);return}if(m==="outdent"){decreaseListLevel(s.state,s.dispatch)||decreaseIndent()(s.state,s.dispatch);return}if(m==="clearFormatting")return void clearFormatting(s.state,s.dispatch);if(m==="setRtl")return void setRtl(s.state,s.dispatch);if(m==="setLtr")return void setLtr(s.state,s.dispatch);if(m==="insertLink"){let x=getSelectedText(s.state),f=getHyperlinkAttrs(s.state);f?n.openEdit({url:f.href,displayText:x,tooltip:f.tooltip}):n.openInsert(x);return}if(typeof m=="object")switch(m.type){case "alignment":setAlignment(m.value)(s.state,s.dispatch);break;case "textColor":{let x=m.value;typeof x=="string"?setTextColor({rgb:x.replace("#","")})(s.state,s.dispatch):x.auto?clearTextColor(s.state,s.dispatch):setTextColor(x)(s.state,s.dispatch);break}case "highlightColor":{let x=m.value?g(m.value):"";setHighlight(x||m.value)(s.state,s.dispatch);break}case "fontSize":setFontSize(d$1(m.value))(s.state,s.dispatch);break;case "fontFamily":setFontFamily(m.value)(s.state,s.dispatch);break;case "lineSpacing":setLineSpacing(m.value)(s.state,s.dispatch);break;case "applyStyle":{let x=d.current,f=x?.package.styles?c(x.package.styles):null;if(f){let p=f.resolveParagraphStyle(m.value);applyStyle(m.value,{paragraphFormatting:p.paragraphFormatting,runFormatting:p.runFormatting})(s.state,s.dispatch);}else applyStyle(m.value)(s.state,s.dispatch);break}}},[e,o,r,n,d,c]),h=useCallback((m,s)=>{let S=e();S&&(insertTable(m,s)(S.state,S.dispatch),t());},[e,t]),l=useCallback(()=>{let m=e();m&&(insertPageBreak(m.state,m.dispatch),t());},[e,t]),a=useCallback(()=>{let m=e();m&&(generateTOC(m.state,m.dispatch),t());},[e,t]);return {handleFormat:i,handleInsertTable:h,handleInsertPageBreak:l,handleInsertTOC:a}}function Mi({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:d}){let[c,i]=useState(false),[h,l]=useState(false),[a,m]=useState(false),s=useCallback(f=>{let p=r();if(!p||!t)return;let v=t.pos,C=p.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=toolbarValueToLayoutTarget(f);if(!y)return;let R;if(C.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${v}"]`),T=P?captureInlinePositionEmu(P,o):void 0;T&&(R={initialPositionEmu:T});}setImageWrapType(v,y,R)(p.state,p.dispatch),n();},[r,n,t,o]),S=useCallback(f=>{let p=r();if(!p||!t)return;let v=t.pos,C=p.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=C.attrs.transform||"",R=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=R?parseFloat(R[1]):0,T=/scaleX\(-1\)/.test(y),w=/scaleY\(-1\)/.test(y);switch(f){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":T=!T;break;case "flipV":w=!w;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),T&&I.push("scaleX(-1)"),w&&I.push("scaleY(-1)");let E=I.length>0?I.join(" "):null,M=p.state.tr.setNodeMarkup(v,void 0,{...C.attrs,transform:E});p.dispatch(M.scrollIntoView()),n();},[r,n,t]),u=useCallback(f=>{let p=r();if(!p||!t)return;let v=t.pos,C=p.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(v,void 0,{...C.attrs,position:{horizontal:f.horizontal,vertical:f.vertical},distTop:f.distTop??C.attrs.distTop,distBottom:f.distBottom??C.attrs.distBottom,distLeft:f.distLeft??C.attrs.distLeft,distRight:f.distRight??C.attrs.distRight});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),g=useCallback(()=>{l(true);},[]),b=useCallback(f=>{let p=r();if(!p||!t)return;let v=t.pos,C=p.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(v,void 0,{...C.attrs,alt:f.alt??null,borderWidth:f.borderWidth??null,borderColor:f.borderColor??null,borderStyle:f.borderStyle??null,width:f.width??null,height:f.height??null});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),x=useCallback((f,p)=>{if(!e?.package)return;let v={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:f,endnotePr:p}};d({...e,package:{...e.package,document:v}});},[e,d]);return {imagePositionOpen:c,setImagePositionOpen:i,imagePropsOpen:h,setImagePropsOpen:l,footnotePropsOpen:a,setFootnotePropsOpen:m,handleImageWrapType:s,handleImageTransform:S,handleApplyImagePosition:u,handleOpenImageProperties:g,handleApplyImageProperties:b,handleApplyFootnoteProperties:x}}function rn(e,t,o){if(!e||!t)return null;let r=e.querySelector(".paged-editor__pages");if(!r)return null;for(let n of findBodyPmAnchors(r)){let d=Number(n.dataset.pmStart),c=Number(n.dataset.pmEnd);if(o>=d&&o<=c)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Di(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function Po(e,t){if(!t||!t.trim())return null;let o=null;return e.descendants((r,n)=>o!==null?false:r.isTextblock&&r.attrs?.paraId===t?(o={from:n,to:n+r.nodeSize},false):true),o}function Qn(e){let t=[];return e.descendants(o=>!o.isText||!o.text?true:o.marks.some(r=>r.type.name==="insertion")?false:(t.push(o.text),true)),t.join("")}function an(e,t,o){if(t>=o)return "";let r=[];return e.nodesBetween(t,o,(n,d)=>{if(!n.isText||!n.text||n.marks.some(h=>h.type.name==="insertion"))return;let c=Math.max(t,d),i=Math.min(o,d+n.text.length);c<i&&r.push(n.text.slice(c-d,i-d));}),r.join("")}function sn(e,t,o,r){if(!r)return null;let n="",d=[];e.nodesBetween(t,o,(m,s)=>{!m.isText||!m.text||m.marks.some(S=>S.type.name==="insertion")||(d.push({pos:s,len:m.text.length}),n+=m.text);});let c=n.indexOf(r);if(c===-1||n.indexOf(r,c+1)!==-1)return null;let h=0,l=t,a=t;for(let m of d){let s=h+m.len;if(h<=c&&c<s&&(l=m.pos+(c-h)),h<=c+r.length&&c+r.length<=s){a=m.pos+(c+r.length-h);break}h=s;}return {from:l,to:a}}var Jn=1,yt=-1,ln=new Map;function er(){return Jn++}function Hi(e){e>=Jn&&(Jn=e+1);}function Jt(e,t,o){return {id:er(),author:t,date:new Date().toISOString(),content:[{type:"paragraph",formatting:{},content:[{type:"run",formatting:{},content:[{type:"text",text:e}]}]}],...o!==void 0&&{parentId:o}}}function Li({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:d,handleDirectPrint:c,zoom:i,setZoom:h,scrollPageInfo:l,loadParsedDocument:a,loadBuffer:m,comments:s,setComments:S,setShowCommentsSidebar:u,contentChangeSubscribersRef:g$1,selectionChangeSubscribersRef:b,getCachedStyleResolver:x}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:d,setZoom:h,getZoom:()=>i,focus:()=>{n.current?.focus();},getCurrentPage:()=>l.currentPage,getTotalPages:()=>l.totalPages,scrollToPage:f=>{n.current?.scrollToPage(f);},scrollToPosition:f=>{n.current?.scrollToPosition(f);},openPrintPreview:c,print:c,loadDocument:a,loadDocumentBuffer:m,addComment:f=>{let p=n.current?.getView();if(!p)return null;let{schema:v}=p.state;if(!v.marks.comment)return null;let C=Po(p.state.doc,f.paraId);if(!C)return null;let y=C.from,R=C.to;if(f.search){let w=sn(p.state.doc,C.from,C.to,f.search);if(!w)return null;y=w.from,R=w.to;}let P=Jt(f.text,f.author),T=v.marks.comment.create({commentId:P.id});return p.dispatch(p.state.tr.addMark(y,R,T)),S(w=>[...w,P]),u(true),P.id},replyToComment:(f,p,v)=>{if(!s.some(y=>y.id===f))return null;let C=Jt(p,v,f);return S(y=>[...y,C]),C.id},resolveComment:f=>{S(p=>p.map(v=>v.id===f?{...v,done:true}:v));},proposeChange:f=>{let p=n.current?.getView();if(!p)return false;let{schema:v}=p.state;if(!v.marks.deletion||!v.marks.insertion)return false;let C=Po(p.state.doc,f.paraId);if(!C)return false;let y=f.search==="",R=f.replaceWith==="",P,T;if(y)P=C.to-1,T=C.to-1;else {let z=sn(p.state.doc,C.from,C.to,f.search);if(!z)return false;P=z.from,T=z.to;}let w=false;if(P<T&&(p.state.doc.nodesBetween(P,T,z=>{for(let G of z.marks)if(G.type===v.marks.insertion||G.type===v.marks.deletion)return w=true,false;return true}),w))return false;let I=er(),E=new Date().toISOString(),M=v.marks.deletion.create({revisionId:I,author:f.author,date:E}),H=v.marks.insertion.create({revisionId:I,author:f.author,date:E}),L=p.state.tr;if(y||(L=L.addMark(P,T,M)),!R){let z=v.text(f.replaceWith,[H]);L=L.insert(T,z);}return y&&R?false:(p.dispatch(L),u(true),true)},applyFormatting:f=>{let p=n.current?.getView();if(!p)return false;let{schema:v}=p.state,C=Po(p.state.doc,f.paraId);if(!C)return false;let y=C.from+1,R=C.to-1;if(f.search){let w=sn(p.state.doc,C.from,C.to,f.search);if(!w)return false;y=w.from,R=w.to;}if(y>=R)return true;let P=p.state.tr,T=f.marks;if(T.bold!==void 0&&v.marks.bold&&(P=T.bold?P.addMark(y,R,v.marks.bold.create()):P.removeMark(y,R,v.marks.bold)),T.italic!==void 0&&v.marks.italic&&(P=T.italic?P.addMark(y,R,v.marks.italic.create()):P.removeMark(y,R,v.marks.italic)),T.underline!==void 0&&v.marks.underline)if(T.underline){let w=typeof T.underline=="object"?T.underline.style:void 0;P=P.addMark(y,R,v.marks.underline.create({style:w??"single"}));}else P=P.removeMark(y,R,v.marks.underline);if(T.strike!==void 0&&v.marks.strike&&(P=T.strike?P.addMark(y,R,v.marks.strike.create()):P.removeMark(y,R,v.marks.strike)),T.color!==void 0&&v.marks.textColor&&(T.color&&(T.color.rgb||T.color.themeColor)?P=P.addMark(y,R,v.marks.textColor.create({rgb:T.color.rgb??null,themeColor:T.color.themeColor??null})):P=P.removeMark(y,R,v.marks.textColor)),T.highlight!==void 0&&v.marks.highlight)if(T.highlight){let w=g(T.highlight);P=P.addMark(y,R,v.marks.highlight.create({color:w||T.highlight}));}else P=P.removeMark(y,R,v.marks.highlight);return T.fontSize!==void 0&&v.marks.fontSize&&(T.fontSize>0?P=P.addMark(y,R,v.marks.fontSize.create({size:d$1(T.fontSize)})):P=P.removeMark(y,R,v.marks.fontSize)),T.fontFamily!==void 0&&v.marks.fontFamily&&(T.fontFamily&&(T.fontFamily.ascii||T.fontFamily.hAnsi)?P=P.addMark(y,R,v.marks.fontFamily.create({ascii:T.fontFamily.ascii??null,hAnsi:T.fontFamily.hAnsi??T.fontFamily.ascii??null})):P=P.removeMark(y,R,v.marks.fontFamily)),p.dispatch(P),true},setParagraphStyle:f=>{let p=n.current?.getView();if(!p)return false;let v=Po(p.state.doc,f.paraId);if(!v)return false;let C=r.current,y=C?.package?.styles?x(C.package.styles):null;if(y&&!y.hasParagraphStyle(f.styleId))return false;let R=p.state.doc.resolve(v.from+1),P=p.state.doc.resolve(v.to-1),T=TextSelection.between(R,P),w=p.state.apply(p.state.tr.setSelection(T)),I=y?(()=>{let M=y.resolveParagraphStyle(f.styleId);return applyStyle(f.styleId,{paragraphFormatting:M.paragraphFormatting,runFormatting:M.runFormatting})})():applyStyle(f.styleId),E=false;return I(w,M=>{E=true,M.setSelection(p.state.selection.map(M.doc,M.mapping)),p.dispatch(M);}),E},getPageContent:f=>{let p=n.current?.getLayout();if(!p)return null;let v=p.pages[f-1];if(!v)return null;let C=n.current?.getView();if(!C)return null;let y=C.state.doc,R=new Set,P=[];for(let w of v.fragments){if(w.kind!=="paragraph")continue;let I=w.pmStart;if(I==null)continue;let E=y.nodeAt(I);if(!E||!E.isTextblock)continue;let M=E.attrs?.paraId;!M||R.has(M)||(R.add(M),P.push({paraId:M,text:Qn(E),styleId:E.attrs?.styleId??void 0}));}let T=P.map(w=>`[${w.paraId}] ${w.text}`).join(`
13
+ `);return {pageNumber:f,text:T,paragraphs:P}},scrollToParaId:f=>n.current?.scrollToParaId(f)??false,findInDocument:(f,p)=>{let v=n.current?.getView();if(!v||!f)return [];let C=p?.caseSensitive??false,y=p?.limit??20,R=C?f:f.toLowerCase(),P=[];return v.state.doc.descendants(T=>{if(P.length>=y)return false;if(!T.isTextblock)return true;let w=T.attrs?.paraId;if(!w)return false;let I=Qn(T),E=C?I:I.toLowerCase(),M=E.indexOf(R);if(M===-1||E.indexOf(R,M+1)!==-1)return false;let H=I.slice(M,M+f.length),L=40;return P.push({paraId:w,match:H,before:I.slice(Math.max(0,M-L),M),after:I.slice(M+f.length,M+f.length+L)}),false}),P},getSelectionInfo:()=>{let f=n.current?.getView();if(!f)return null;let{selection:p,doc:v}=f.state,C=p.$from,y=C.depth;for(;y>0&&!C.node(y).isTextblock;)y--;let R=y>0?C.node(y):null;if(!R)return null;let P=R.attrs?.paraId??null,T=C.start(y),w=T+R.content.size,I=an(v,T,p.from),E=an(v,p.from,p.to),M=an(v,p.to,w);return {paraId:P,selectedText:E,paragraphText:I+E+M,before:I,after:M}},getComments:()=>s,onContentChange:f=>(g$1.current.add(f),()=>{g$1.current.delete(f);}),onSelectionChange:f=>(b.current.add(f),()=>{b.current.delete(f);})}),[o,i,l,d,c,a,m,s]);}var K=e=>({style:"single",size:4,color:{rgb:e}}),wu=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:K("000000"),bottom:K("000000"),left:K("000000"),right:K("000000"),insideH:K("000000"),insideV:K("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:K("BFBFBF"),bottom:K("BFBFBF"),left:K("BFBFBF"),right:K("BFBFBF"),insideH:K("BFBFBF"),insideV:K("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:K("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:K("BFBFBF"),bottom:K("BFBFBF"),insideH:K("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true}}},{id:"PlainTable2",name:"Plain Table 2",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:K("7F7F7F")}},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"PlainTable3",name:"Plain Table 3",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#E7E7E7"}}},{id:"PlainTable4",name:"Plain Table 4",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#000000"},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"GridTable1Light-Accent1",name:"Grid Table 1 Light",tableBorders:{top:K("B4C6E7"),bottom:K("B4C6E7"),left:K("B4C6E7"),right:K("B4C6E7"),insideH:K("B4C6E7"),insideV:K("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:K("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:K("4472C4"),bottom:K("4472C4"),left:K("4472C4"),right:K("4472C4"),insideH:K("4472C4"),insideV:K("4472C4")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"}}},{id:"GridTable5Dark-Accent1",name:"Grid Table 5 Dark",tableBorders:{top:K("FFFFFF"),bottom:K("FFFFFF"),left:K("FFFFFF"),right:K("FFFFFF"),insideH:K("FFFFFF"),insideV:K("FFFFFF")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"},band2Horz:{backgroundColor:"#B4C6E7"}}},{id:"ListTable3-Accent2",name:"List Table 3 Accent 2",tableBorders:{top:K("ED7D31"),bottom:K("ED7D31")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#ED7D31"},band1Horz:{backgroundColor:"#FBE4D5"}}},{id:"ListTable4-Accent3",name:"List Table 4 Accent 3",tableBorders:{top:K("A5A5A5"),bottom:K("A5A5A5"),insideH:K("A5A5A5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#EDEDED"}}},{id:"GridTable4-Accent5",name:"Grid Table 4 Accent 5",tableBorders:{top:K("5B9BD5"),bottom:K("5B9BD5"),left:K("5B9BD5"),right:K("5B9BD5"),insideH:K("5B9BD5"),insideV:K("5B9BD5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#5B9BD5"},band1Horz:{backgroundColor:"#DEEAF6"}}},{id:"GridTable4-Accent6",name:"Grid Table 4 Accent 6",tableBorders:{top:K("70AD47"),bottom:K("70AD47"),left:K("70AD47"),right:K("70AD47"),insideH:K("70AD47"),insideV:K("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function Ai(e){return wu.find(t=>t.id===e)}function Bi({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:d}){let[c,i]=useState(false),[h,l]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),a=useCallback(()=>{let u=e(),g=u?getSplitCellDialogConfig(u.state):null,b=g?null:o.getSplitCellConfig(),x=g??b;x&&l({isOpen:true,...x,source:g?"pm":"legacy",capturedCellRow:g?.capturedCellRow??null,capturedCellCol:g?.capturedCellCol??null});},[e,o]),m=useCallback(u=>{let g=e();if(!g){u==="splitCell"?a():typeof u!="object"&&o.handleAction(u);return}switch(u){case "addRowAbove":addRowAbove(g.state,g.dispatch);break;case "addRowBelow":addRowBelow(g.state,g.dispatch);break;case "addColumnLeft":addColumnLeft(g.state,g.dispatch);break;case "addColumnRight":addColumnRight(g.state,g.dispatch);break;case "deleteRow":deleteRow(g.state,g.dispatch);break;case "deleteColumn":deleteColumn(g.state,g.dispatch);break;case "deleteTable":deleteTable(g.state,g.dispatch);break;case "selectTable":selectTable(g.state,g.dispatch);break;case "selectRow":selectRow(g.state,g.dispatch);break;case "selectColumn":selectColumn(g.state,g.dispatch);break;case "mergeCells":mergeCells(g.state,g.dispatch);break;case "splitCell":a();break;case "borderAll":setAllTableBorders(g.state,g.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(g.state,g.dispatch,r.current);break;case "borderInside":setInsideTableBorders(g.state,g.dispatch,r.current);break;case "borderNone":removeTableBorders(g.state,g.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(g.state,g.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(g.state,g.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(g.state,g.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(g.state,g.dispatch);break;default:if(typeof u=="object"){if(u.type==="cellFillColor")setCellFillColor(u.color)(g.state,g.dispatch);else if(u.type==="borderColor"){let b=u.color.replace(/^#/,"");r.current={...r.current,color:{rgb:b}},setTableBorderColor(u.color)(g.state,g.dispatch);}else if(u.type==="borderWidth")r.current={...r.current,size:u.size},setTableBorderWidth(u.size)(g.state,g.dispatch);else if(u.type==="cellBorder")setCellBorder(u.side,{style:u.style,size:u.size,color:{rgb:u.color.replace(/^#/,"")}})(g.state,g.dispatch);else if(u.type==="cellVerticalAlign")setCellVerticalAlign(u.align)(g.state,g.dispatch);else if(u.type==="cellMargins")setCellMargins(u.margins)(g.state,g.dispatch);else if(u.type==="cellTextDirection")setCellTextDirection(u.direction)(g.state,g.dispatch);else if(u.type==="toggleNoWrap")toggleNoWrap()(g.state,g.dispatch);else if(u.type==="rowHeight")setRowHeight(u.height,u.rule)(g.state,g.dispatch);else if(u.type==="toggleHeaderRow")toggleHeaderRow()(g.state,g.dispatch);else if(u.type==="distributeColumns")distributeColumns()(g.state,g.dispatch);else if(u.type==="autoFitContents")autoFitContents()(g.state,g.dispatch);else if(u.type==="openTableProperties")i(true);else if(u.type==="applyTableStyle"){let b=Ai(u.styleId),x=n.current;if(!b&&x?.package.styles){let p=d(x.package.styles).getStyle(u.styleId);if(p){if(b={id:p.styleId,name:p.name??p.styleId},p.tblPr?.borders){let v=p.tblPr.borders;b.tableBorders={};for(let C of ["top","bottom","left","right","insideH","insideV"]){let y=v[C];y&&(b.tableBorders[C]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(p.tblStylePr){b.conditionals={};for(let v of p.tblStylePr){let C={};if(v.tcPr?.shading?.fill&&(C.backgroundColor=`#${v.tcPr.shading.fill}`),v.tcPr?.borders){let y={};for(let R of ["top","bottom","left","right"]){let P=v.tcPr.borders[R];P&&(y[R]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}C.borders=y;}v.rPr?.bold&&(C.bold=true),v.rPr?.color?.rgb&&(C.color=`#${v.rPr.color.rgb}`),b.conditionals[v.type]=C;}}b.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}b&&applyTableStyle({styleId:b.id,tableBorders:b.tableBorders,conditionals:b.conditionals,look:b.look})(g.state,g.dispatch);}}else o.handleAction(u);}t();},[o,e,t,a,r,n,d]),s=useCallback(()=>{l(u=>({...u,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((u,g)=>{if(h.source==="legacy"){o.applySplitCell(u,g),t();return}let b=e();b&&(splitActiveTableCell(b.state,b.dispatch,u,g,h.capturedCellRow??void 0,h.capturedCellCol??void 0),t());},[t,e,h.source,h.capturedCellRow,h.capturedCellCol,o]);return {tablePropsOpen:c,setTablePropsOpen:i,splitCellDialogState:h,openSplitCellDialog:a,handleTableAction:m,handleSplitCellDialogClose:s,handleSplitCellDialogApply:S}}function Ni({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:d,hfEditPosition:c,setHfEditPosition:i,hfEditIsFirstPage:h,setHfEditIsFirstPage:l}){let{headerContent:a,footerContent:m,firstPageHeaderContent:s,firstPageFooterContent:S}=useMemo(()=>{let{header:p,footer:v,firstHeader:C,firstFooter:y}=resolveHeaderFooter(e??null,d??n);return {headerContent:p,footerContent:v,firstPageHeaderContent:C,firstPageFooterContent:y}},[e,n,d]),u=useCallback((p,v)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(v??1)===1,R=y?p==="header"?s:S:p==="header"?a:m;if(l(y),R){i(p);return}if(!e?.package)return;let P=e.package,T=P.document?.finalSectionProperties;if(!T)return;let w=y?"first":"default",I=`rId_new_${p}_${w}`,E={type:p==="header"?"header":"footer",hdrFtrType:w,content:[{type:"paragraph",content:[]}]},M=p==="header"?"headers":"footers",H=new Map(P[M]??[]);H.set(I,E);let L=p==="header"?"headerReferences":"footerReferences",z=T[L]??[],G={type:w,rId:I},W=P.relationships,$=new Set;for(let ue of W?.values()??[])ue.target&&$.add(ue.target);let V=1;for(;$.has(`${p}${V}.xml`);)V++;let j=p==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",ne=new Map(W);ne.set(I,{id:I,type:j,target:`${p}${V}.xml`});let se={...e,package:{...P,[M]:H,relationships:ne,document:P.document?{...P.document,finalSectionProperties:{...T,[L]:[...z,G]}}:P.document}};t(se),i(p);},[a,m,s,S,e,t,i,l]),g=useCallback(p=>{if(!c||!e?.package){i(null);return}let v=e.package,C=v.document?.finalSectionProperties,y=c==="header"?C?.headerReferences:C?.footerReferences,R=h?"first":"default",P=y?.find(I=>I.type===R)??y?.find(I=>I.type==="default")??y?.find(I=>I.type==="first")??y?.[0],T=c==="header"?"headers":"footers",w=v[T];if(P?.rId&&w){let I=w.get(P.rId),E={type:c,hdrFtrType:P.type,...I,content:p},M=new Map(w);M.set(P.rId,E);let H={...e,package:{...v,[T]:M}};t(H);}i(null);},[c,h,e,t,i]),b=useCallback(()=>{if(!c)return;let p=o.current?.getView();if(p){let v=proseDocToBlocks(p.state.doc);g(v);}else i(null);},[c,g,o,i]),x=useCallback(()=>{if(!c||!e?.package){i(null);return}let p=e.package,v=p.document?.finalSectionProperties,C=c==="header"?"headerReferences":"footerReferences",y=c==="header"?"headers":"footers",R=v?.[C],P=h?"first":"default",T=R?.find(w=>w.type===P)??R?.find(w=>w.type==="default")??R?.find(w=>w.type==="first")??R?.[0];if(T?.rId){let w=new Map(p[y]??[]);w.delete(T.rId);let I=(R??[]).filter(M=>M.rId!==T.rId),E={...e,package:{...p,[y]:w,document:p.document?{...p.document,finalSectionProperties:{...v,[C]:I}}:p.document}};t(E);}i(null);},[c,h,e,t,i]),f=useCallback(p=>{let v=r.current?.querySelector(".paged-editor__pages");if(!v)return null;let C=p==="header"?".layout-page-header":".layout-page-footer";return v.querySelector(C)},[r]);return {headerContent:a,footerContent:m,firstPageHeaderContent:s,firstPageFooterContent:S,handleHeaderFooterDoubleClick:u,handleHeaderFooterSave:g,handleBodyClick:b,handleRemoveHeaderFooter:x,getHfTargetElement:f}}function _i({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:d,setLoadingState:c,setComments:i,setShowCommentsSidebar:h,onError:l,resetForNewDocument:a,commentsLoadedRef:m}){let s=useRef(0),S=useCallback(g=>{a(),r.reset(g),c({isLoading:false,parseError:null}),loadDocumentFonts(g).catch(b=>{console.warn("Failed to load document fonts:",b);});},[a,r,c]),u=useCallback(async g=>{let b=++s.current;a(),c({isLoading:true,parseError:null});try{let x=await parseDocx(g);if(s.current!==b)return;S(x);}catch(x){if(s.current!==b)return;let f=x instanceof Error?x.message:"Failed to parse document";c({isLoading:false,parseError:f}),l?.(x instanceof Error?x:new Error(f));}},[a,S,l,c]);return useEffect(()=>{if(!o){if(!e){t&&S(t);return}u(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(m.current)return;let g=r.state;if(!g)return;let b=g.package?.document?.comments;if(b&&b.length>0){i(b),h(true),m.current=true;let x=b.reduce((p,v)=>Math.max(p,v.id),0),f=d.current?.getView();f&&f.state.doc.descendants(p=>{for(let v of p.marks)v.attrs.revisionId!=null&&(x=Math.max(x,v.attrs.revisionId));}),Hi(x);}},[r.state,d,i,h,m]),{loadParsedDocument:S,loadBuffer:u}}var pp={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},Eo=18,Ui=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:d,onTextAction:c,onOpenProperties:i,onClose:h$1})=>{let{t:l}=b(),a=useRef(null),[m,s]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),u=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(p=>isImageLayoutOptionEnabled(p,o)),[o]),g=useMemo(()=>(d??[]).filter(p=>!p.disabled),[d]),b$2=i?1:0,x=b$2+u.length+g.length;useEffect(()=>{if(!e)return;let p=C=>{a.current&&!a.current.contains(C.target)&&h$1();},v=setTimeout(()=>{document.addEventListener("mousedown",p);},0);return ()=>{clearTimeout(v),document.removeEventListener("mousedown",p);}},[e,h$1]),useEffect(()=>{if(!e)return;let p=v=>{if(v.key==="Escape"){v.preventDefault(),h$1();return}let C=Math.max(1,x);if(v.key==="ArrowDown")v.preventDefault(),s(y=>(y+1)%C);else if(v.key==="ArrowUp")v.preventDefault(),s(y=>(y-1+C)%C);else if(v.key==="Enter"){if(v.preventDefault(),b$2&&m===0)i?.(),h$1();else if(m<b$2+u.length)n(u[m-b$2].choice),h$1();else if(c){let y=g[m-b$2-u.length];y&&(c(y.action),h$1());}}};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,m,u,g,x,b$2,n,i,c,h$1]),useEffect(()=>{if(!e)return;let p=S?u.findIndex(v=>v.choice===S):-1;s(p>=0?b$2+p:0);},[e,S,u,b$2]);let f=useCallback(()=>{let v=IMAGE_LAYOUT_OPTIONS.length,C=d?.length??0,y=v*36+C*32+(C>0?9:0)+16,R=t.x,P=t.y;return typeof window<"u"&&(R+260>window.innerWidth&&(R=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),R<10&&(R=10),P<10&&(P=10)),{position:"fixed",top:P,left:R,minWidth:260,background:"white",border:"1px solid var(--doc-border-light, #e0e0e0)",borderRadius:"8px",boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",zIndex:h.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,d]);return e?jsxs("div",{ref:a,className:"docx-image-context-menu",style:f(),role:"menu","aria-label":l("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[i&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{i(),h$1();},onMouseEnter:()=>s(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:m===0?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text, #222)",textAlign:"left"},children:[jsx("span",{style:{display:"flex",color:"var(--doc-text-muted, #666)",width:Eo},children:jsx(b$1,{name:"settings",size:Eo})}),jsx("span",{style:{flex:1},children:l("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]}),IMAGE_LAYOUT_OPTIONS.map(p=>{let v=p.choice===S,C=isImageLayoutOptionEnabled(p,o),y=C?b$2+u.findIndex(T=>T.choice===p.choice):-1,R=y>=0&&y===m,P=l(`imageWrap.menuDesc.${p.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":p.choice,"data-current":v?"true":"false","data-disabled":C?"false":"true",disabled:!C,onClick:()=>{C&&(n(p.choice),h$1());},onMouseEnter:()=>{y>=0&&s(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:R?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:C?"pointer":"not-allowed",fontSize:"13px",color:C?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:C?1:.55},children:[jsx("span",{style:{display:"flex",color:v?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:Eo},children:jsx(b$1,{name:pp[p.iconHint],size:Eo})}),jsx("span",{style:{flex:1},children:l(`imageWrap.menu.${p.i18nLabelKey}`)}),v&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":l("toolbar.imageWrap.current"),children:"\u25CF"})]},p.choice)}),d&&d.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),d.map((p,v)=>{let C=p.disabled?-1:b$2+u.length+g.findIndex(R=>R.action===p.action),y=C===m&&!p.disabled;return jsxs(Fl.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":p.action,"data-disabled":p.disabled?"true":"false",disabled:p.disabled,onClick:()=>{p.disabled||!c||(c(p.action),h$1());},onMouseEnter:()=>{C>=0&&s(C);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:y?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:p.disabled?"not-allowed":"pointer",fontSize:"13px",color:p.disabled?"var(--doc-text-placeholder, #999)":"var(--doc-text, #222)",textAlign:"left",opacity:p.disabled?.55:1},children:[jsx("span",{style:{width:Eo},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:p.label}),p.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted, #888)",fontFamily:"monospace"},children:p.shortcut})]}),p.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]},`${p.action}-${v}`)})]})]}):null};function $i(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,d]=useState("inline"),[c,i]=useState(null),[h,l]=useState(null),[a,m]=useState(null),s=useCallback(u=>{r({x:u.x,y:u.y}),d(u.wrapType),i(u.cssFloat??null),l(u.pos),m(u.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),l(null),m(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:c,imagePos:h,inlinePositionEmu:a,openForImage:s,closeMenu:S}}function qi({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:d,onAddComment:c}){let{t:i}=b(),[h,l]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),a=$i(),m=useCallback(f=>{let p=f.target;if(p?.closest(".paged-editor__pages")&&!p.closest(".hf-inline-editor"))return;f.preventDefault(),f.stopPropagation();let v=e(),C=v?getTableContext(v.state):{isInTable:false},{from:y,to:R}=v?.state.selection??{from:0,to:0},P=y!==R;l({isOpen:true,position:{x:f.clientX,y:f.clientY},hasSelection:P,cursorInTable:C.isInTable,tableContext:C.isInTable?C:null});},[e]),s=useCallback(f=>{if(f.image){a.openForImage({x:f.x,y:f.y,wrapType:f.image.wrapType,cssFloat:f.image.cssFloat,pos:f.image.pos,inlinePositionEmu:f.image.inlinePositionEmu});return}let p=e(),v=p?getTableContext(p.state):{isInTable:false};l({isOpen:true,position:f,hasSelection:f.hasSelection,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e,a]),S=useCallback(f=>{let p=e();if(!p||a.imagePos===null)return;let v=a.inlinePositionEmu?{initialPositionEmu:a.inlinePositionEmu}:void 0;setImageWrapType(a.imagePos,f,v)(p.state,p.dispatch);},[e,a.imagePos,a.inlinePositionEmu]),u=useMemo(()=>[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut"))}],[i]),g=useCallback(()=>{l({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),b$1=useMemo(()=>{let f=[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:i("contextMenu.pastePlainText"),shortcut:a$1(i("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut")),dividerAfter:!h.hasSelection&&!h.cursorInTable}];return h.hasSelection&&f.push({action:"addComment",label:"Comment",dividerAfter:!h.cursorInTable}),h.cursorInTable&&f.push({action:"addRowAbove",label:"Insert row above"},{action:"addRowBelow",label:"Insert row below"},{action:"deleteRow",label:"Delete row",dividerAfter:true},{action:"addColumnLeft",label:"Insert column left"},{action:"addColumnRight",label:"Insert column right"},{action:"deleteColumn",label:"Delete column"},{action:"mergeCells",label:d?.table?.mergeCells??en.table.mergeCells,disabled:!h.tableContext?.hasMultiCellSelection},{action:"splitCell",label:d?.table?.splitCell??en.table.splitCell,disabled:!h.tableContext?.canSplitCell,dividerAfter:true}),f.push({action:"selectAll",label:i("contextMenu.selectAll"),shortcut:a$1(i("contextMenu.selectAllShortcut"))}),f},[h.hasSelection,h.cursorInTable,h.tableContext,d,i]),x=useCallback(async f=>{let p=e();if(p)switch(t(),f){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let v=await navigator.clipboard.read(),C="",y="";for(let T of v)T.types.includes("text/html")&&(C=await(await T.getType("text/html")).text()),T.types.includes("text/plain")&&(y=await(await T.getType("text/plain")).text());let R=new DataTransfer;C&&R.items.add(C,"text/html"),y&&R.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:R,bubbles:!0,cancelable:!0});p.dom.dispatchEvent(P);}catch{try{let v=await navigator.clipboard.readText();v&&p.dispatch(p.state.tr.insertText(v));}catch{}}break}case "pasteAsPlainText":try{let v=await navigator.clipboard.readText();v&&p.dispatch(p.state.tr.insertText(v));}catch{}break;case "delete":{let{from:v,to:C}=p.state.selection;v!==C&&p.dispatch(p.state.tr.deleteRange(v,C));break}case "selectAll":p.dispatch(p.state.tr.setSelection(TextSelection.create(p.state.doc,0,p.state.doc.content.size)));break;case "addRowAbove":addRowAbove(p.state,p.dispatch);break;case "addRowBelow":addRowBelow(p.state,p.dispatch);break;case "deleteRow":deleteRow(p.state,p.dispatch);break;case "addColumnLeft":addColumnLeft(p.state,p.dispatch);break;case "addColumnRight":addColumnRight(p.state,p.dispatch);break;case "deleteColumn":deleteColumn(p.state,p.dispatch);break;case "mergeCells":mergeCells(p.state,p.dispatch);break;case "splitCell":o();break;case "addComment":{let{from:v,to:C}=p.state.selection;if(v===C)break;let y=rn(r.current,n.current,v),R=p.state.schema.marks.comment.create({commentId:yt}),P=p.state.tr.addMark(v,C,R);P.setSelection(TextSelection.create(P.doc,C)),p.dispatch(P),c({from:v,to:C,yPos:y});break}}},[e,t,o,r,n,c]);return {contextMenu:h,imageContextMenu:a,handleEditorContextMenu:m,handleContextMenu:s,handleContextMenuClose:g,handleImageWrapApply:S,imageContextMenuTextActions:u,contextMenuItems:b$1,handleContextMenuAction:x}}function Zi({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,d]=useState([]),c=e!==void 0,i=c?e:n,[h,l]=useState(false),[a,m]=useState(null),[s,S]=useState(null),[u,g]=useState(null),b=useRef(null),x=useRef(i);x.current=i;let f=useRef(h);f.current=h;let p=useRef(t);p.current=t;let v=useRef(o);v.current=o;let C=useCallback(R=>{let P=typeof R=="function"?R(x.current):R;P!==x.current&&(c||(x.current=P,d(P)),v.current?.(P));},[c]),y=useCallback(()=>{if(f.current)return;let R=r.current?.getView();if(!R)return;let{doc:P,schema:T}=R.state,w=T.marks.comment;if(!w)return;let I=new Set;P.descendants(H=>{for(let L of H.marks)if(L.type===w){let z=L.attrs.commentId;z!==yt&&I.add(z);}});let E=x.current,M=new Set;for(let H of E)H.parentId==null&&!I.has(H.id)&&M.add(H.id);if(M.size!==0){for(let H of E)M.has(H.id)&&p.current?.(H);C(H=>H.filter(L=>!M.has(L.id)&&!M.has(L.parentId)));}},[r,C]);return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),{comments:i,setComments:C,isAddingComment:h,setIsAddingComment:l,isAddingCommentRef:f,commentSelectionRange:a,setCommentSelectionRange:m,addCommentYPosition:s,setAddCommentYPosition:S,floatingCommentBtn:u,setFloatingCommentBtn:g,cleanOrphanedCommentsTimerRef:b,cleanOrphanedComments:y}}function Ji({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:d,trackedChangesLoadedRef:c}){useEffect(()=>{e.size!==0&&t(i=>{let h=false,l=i.map(a=>{if(a.parentId!=null)return a;let m=e.get(a.id);return m!=null?(h=true,{...a,parentId:m}):a});return h?l:i});},[e,t]),useEffect(()=>{c.current||r||!o||(c.current=true,n>0&&d(true));},[o,r,n,d,c]);}function ta({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:d,setFloatingCommentBtn:c,applySelectionDelta:i,recomputeFloatingCommentBtn:h,onSelectionChange:l,selectionChangeSubscribersRef:a}){return {handleSelectionChange:useCallback(s=>{let S=e();if(S){let{from:T,to:w}=S.state.selection;t.current={from:T,to:w};}let u=null;if(S&&(u=getTableContext(S.state),u.isInTable||(u=null)),u?.cellBorderColor){let T=resolveColorToHex(u.cellBorderColor,r??void 0);T&&(o.current={...o.current,color:{rgb:T}});}let g=null;if(S){let T=S.state.selection,w=T.node;w?.type.name==="image"&&(g={pos:T.from,wrapType:w.attrs.wrapType??"inline",displayMode:w.attrs.displayMode??"inline",cssFloat:w.attrs.cssFloat??null,transform:w.attrs.transform??null,alt:w.attrs.alt??null,borderWidth:w.attrs.borderWidth??null,borderColor:w.attrs.borderColor??null,borderStyle:w.attrs.borderStyle??null,width:w.attrs.width??null,height:w.attrs.height??null});}if(!s){c(null),i({selectionFormatting:{},pmTableContext:u,pmImageContext:g});return}let{textFormatting:b,paragraphFormatting:x}=s,f=b.fontFamily?.ascii||b.fontFamily?.hAnsi,p=b.fontSize;if(!f||!p){let T=n.current,w=s.styleId;if(T?.package.styles&&w){let E=d(T.package.styles).resolveParagraphStyle(w);!f&&E.runFormatting?.fontFamily&&(f=E.runFormatting.fontFamily.ascii||E.runFormatting.fontFamily.hAnsi),!p&&E.runFormatting?.fontSize&&(p=E.runFormatting.fontSize);}}let v=resolveColorToHex(b.color,r??void 0),C=v?`#${v}`:void 0,y=x.numPr,R=y?{type:y.numId===1?"bullet":"numbered",level:y.ilvl??0,isInList:true,numId:y.numId}:void 0,P={bold:b.bold,italic:b.italic,underline:!!b.underline,strike:b.strike,superscript:b.vertAlign==="superscript",subscript:b.vertAlign==="subscript",fontFamily:f,fontSize:p,color:C,highlight:b.highlight,alignment:x.alignment,lineSpacing:x.lineSpacing,listState:R,styleId:s.styleId??void 0,indentLeft:x.indentLeft,bidi:!!x.bidi};i({selectionFormatting:P,paragraphIndentLeft:x.indentLeft??0,paragraphIndentRight:x.indentRight??0,paragraphFirstLineIndent:x.indentFirstLine??0,paragraphHangingIndent:x.hangingIndent??false,paragraphTabs:x.tabs??null,pmTableContext:u,pmImageContext:g}),h(),l?.(s);for(let T of a.current)try{T(s);}catch(w){console.error("selectionChange subscriber threw:",w);}},[e,t,o,r,n,d,c,i,h,l,a])}}function na({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:d,isLoading:c,zoom:i}){let h=useRef(false);h.current=d;let l=useCallback(()=>{let a=e.current?.getView();if(!a)return;if(r.current||h.current){n(null);return}let{from:m,to:s}=a.state.selection;if(m===s){n(null);return}let S=t.current,u=o.current;if(!S||!u)return;let g=rn(S,u,m);if(g==null)return;let x=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),f=x?x.getBoundingClientRect().right-u.getBoundingClientRect().left:u.getBoundingClientRect().width/2+408;n({top:g,left:f});},[e,t,o,r,n]);return useEffect(()=>{let a=t.current;if(!a)return;let m=new ResizeObserver(()=>l());m.observe(a);let s=()=>l();return window.addEventListener("resize",s),()=>{m.disconnect(),window.removeEventListener("resize",s);}},[c,l,t]),useEffect(()=>{l();},[i,l]),{recomputeFloatingCommentBtn:l}}function ra({hfEditPosition:e,hfEditorRef:t,pagedEditorRef:o}){let r=useCallback(()=>e&&t.current?t.current.getView():o.current?.getView(),[e,t,o]),n=useCallback(()=>{e&&t.current?t.current.focus():o.current?.focus();},[e,t,o]),d=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),c=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:d,redoActiveEditor:c}}function ia({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),d=e.current;return useEffect(()=>{if(!d)return;let c=()=>{let i=t.current?.getLayout();if(!i||i.pages.length===0)return;let h=d.scrollTop,l=i.pages.length,a=24,m=24,s=h+d.clientHeight/2,S=m,u=1;for(let g=0;g<i.pages.length;g++){let b=i.pages[g].size.h,x=S+b;if(s<x){u=g+1;break}S=x+a,u=g+2;}u=Math.min(u,l),r({currentPage:u,totalPages:l,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(g=>({...g,visible:false}));},600);};return d.addEventListener("scroll",c,{passive:true}),()=>{d.removeEventListener("scroll",c),n.current&&clearTimeout(n.current);}},[d,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function aa({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:d,imageContextMenuTextActions:c,onOpenImageProperties:i,readOnly:h}){return jsxs(Fragment,{children:[jsx(i$1,{isOpen:e.isOpen,position:e.position,hasSelection:e.hasSelection,isEditable:!h,items:t,onAction:o,onClose:r}),jsx(Ui,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:d,textActions:c,onTextAction:o,onOpenProperties:i,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var Ap=lazy(()=>import('./FindReplaceDialog-2ZH4XD5C.mjs')),Op=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),Bp=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),Np=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),zp=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),_p=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),Wp=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),Vp=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog})));function sa({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:d,onReplaceAll:c,hyperlinkDialog:i,onHyperlinkSubmit:h,onHyperlinkRemove:l,tablePropsOpen:a,onTablePropsClose:m,pmTableContext:s,getActiveEditorView:S,splitCellDialogState:u,onSplitCellDialogClose:g,onSplitCellDialogApply:b,imagePositionOpen:x,onImagePositionClose:f,onApplyImagePosition:p,imagePropsOpen:v,onImagePropsClose:C,onApplyImageProperties:y,pmImageContext:R,showPageSetup:P,onPageSetupClose:T,onPageSetupApply:w,document:I,footnotePropsOpen:E,onFootnotePropsClose:M,onApplyFootnoteProperties:H}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(Ap,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:d,onReplaceAll:c,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),i.state.isOpen&&jsx(Op,{isOpen:i.state.isOpen,onClose:i.close,onSubmit:h,onRemove:i.state.isEditing?l:void 0,initialData:i.state.initialData,selectedText:i.state.selectedText,isEditing:i.state.isEditing}),a&&jsx(Bp,{isOpen:a,onClose:m,onApply:L=>{let z=S();z&&setTableProperties(L)(z.state,z.dispatch);},currentProps:s?.table?.attrs}),u.isOpen&&jsx(Np,{isOpen:u.isOpen,onClose:g,onApply:b,initialRows:u.initialRows,initialCols:u.initialCols,minRows:u.minRows,minCols:u.minCols}),x&&jsx(zp,{isOpen:x,onClose:f,onApply:p}),v&&jsx(_p,{isOpen:v,onClose:C,onApply:y,currentData:R?{alt:R.alt??void 0,borderWidth:R.borderWidth??void 0,borderColor:R.borderColor??void 0,borderStyle:R.borderStyle??void 0,width:R.width??void 0,height:R.height??void 0}:void 0}),P&&jsx(Vp,{isOpen:P,onClose:T,onApply:w,currentProps:I?.package.document?.finalSectionProperties}),E&&jsx(Wp,{isOpen:E,onClose:M,onApply:H,footnotePr:I?.package.document?.finalSectionProperties?.footnotePr,endnotePr:I?.package.document?.finalSectionProperties?.endnotePr})]})}function ca({active:e,onClick:t}){let{t:o}=b(),r=o("editor.toggleCommentsSidebar");return jsx(A,{onClick:t,active:e,title:r,ariaLabel:r,children:jsx(b$1,{name:"comment",size:20})})}var sr=[{value:"editing",labelKey:"editor.editing",icon:"edit_note",descKey:"editor.editingDescription"},{value:"suggesting",labelKey:"editor.suggesting",icon:"rate_review",descKey:"editor.suggestingDescription"},{value:"viewing",labelKey:"editor.viewing",icon:"visibility",descKey:"editor.viewingDescription"}];function ua({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[d,c]=useState(false),i=useRef(null),h=useRef(null),[l,a]=useState({top:0,left:0}),m=sr.find(s=>s.value===e);return useEffect(()=>{let s=window.matchMedia("(max-width: 1400px)");c(s.matches);let S=u=>c(u.matches);return s.addEventListener("change",S),()=>s.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!i.current)return;let s=i.current.getBoundingClientRect();a({top:s.bottom+2,left:s.right-220});},[r]),useEffect(()=>{if(!r)return;let s=u=>{!i.current?.contains(u.target)&&!h.current?.contains(u.target)&&n(false);},S=u=>{u.key==="Escape"&&n(false);};return document.addEventListener("mousedown",s),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",s),document.removeEventListener("keydown",S);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:i,type:"button",onMouseDown:s=>s.preventDefault(),onClick:()=>n(!r),title:`${o(m.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:d?0:4,padding:d?"2px 4px":"2px 6px 2px 4px",border:"none",background:r?"var(--doc-hover, #f3f4f6)":"transparent",borderRadius:4,cursor:"pointer",fontSize:13,fontWeight:400,color:"var(--doc-text, #374151)",whiteSpace:"nowrap",height:28},children:[jsx(b$1,{name:m.icon,size:18}),!d&&jsx("span",{children:o(m.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:h,onMouseDown:s=>s.preventDefault(),style:{position:"fixed",top:l.top,left:l.left,backgroundColor:"white",border:"1px solid var(--doc-border, #d1d5db)",borderRadius:8,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.12)",padding:"4px 0",zIndex:1e4,minWidth:220},children:sr.map(s=>jsxs("button",{type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>{t(s.value),n(false);},onMouseOver:S=>{S.currentTarget.style.backgroundColor="var(--doc-hover, #f3f4f6)";},onMouseOut:S=>{S.currentTarget.style.backgroundColor="transparent";},style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"none",background:"transparent",cursor:"pointer",fontSize:13,color:"var(--doc-text, #374151)",width:"100%",textAlign:"left"},children:[jsx(b$1,{name:s.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(s.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:o(s.descKey)})]}),s.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},s.value))})]})}function pa({active:e,onClick:t,badge:o}){let{t:r}=b(),n=r("agentPanel.toggle");return jsx(A,{onClick:t,active:e,title:n,ariaLabel:n,children:jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[jsx(b$1,{name:"agent-sparkle",size:20}),o!=null&&jsx("span",{"data-testid":"agent-panel-toggle-badge",style:{position:"absolute",top:-4,right:-6,display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:14,height:14,padding:"0 3px",borderRadius:7,fontSize:10,fontWeight:600,background:"#ef4444",color:"#fff",lineHeight:1},children:o})]})})}function ma({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:d,selectionFormatting:c,tableContext:i,imageContext:h,readOnly:l,editingMode:a,setEditingMode:m,setShowCommentsSidebar:s,setExpandedSidebarItem:S,showCommentsSidebar:u,agentPanel:g,renderLogo:b,documentName:x,onDocumentNameChange:f,documentNameEditable:p,renderTitleBarRight:v,toolbarExtra:C$1,fontFamilies:y,zoom:R,showZoomControl:P,onFormat:T,onUndo:w,onRedo:I,onPrint:E$1,onOpen:M,onSave:H,onZoomChange:L,onRefocusEditor:z,onInsertTable:G,onInsertImage:W,onInsertPageBreak:$,onInsertTOC:V,onImageWrapType:j,onImageTransform:ne,onOpenImageProperties:se,onPageSetup:ue,onTableAction:Ee}){return jsx("div",{ref:e,className:"z-50 flex flex-col gap-0 flex-shrink-0",children:jsxs(E,{className:t?"rounded-br-2xl":void 0,style:{transition:"border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1)"},currentFormatting:c,onFormat:T,onUndo:w,onRedo:I,canUndo:d?undoDepth(d)>0:false,canRedo:d?redoDepth(d)>0:false,disabled:l,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:E$1,onOpen:M,onSave:H,showZoomControl:P,zoom:R,onZoomChange:L,onRefocusEditor:z,onInsertTable:G,showTableInsert:true,onInsertImage:W,onInsertPageBreak:$,onInsertTOC:V,imageContext:h,onImageWrapType:j,onImageTransform:ne,onOpenImageProperties:se,onPageSetup:ue,tableContext:i,onTableAction:Ee,children:[jsxs(E.TitleBar,{children:[b&&jsx(E.Logo,{children:b()}),x!==void 0&&jsx(E.DocumentName,{value:x,onChange:f,editable:p}),v&&jsx(E.TitleBarRight,{children:v()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(ca,{active:u,onClick:()=>{s(pe=>!pe),S(null);}}),jsx(C,{}),jsx(ua,{mode:a,onModeChange:pe=>{m(pe),pe==="suggesting"&&s(true);}}),g&&g.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(pa,{active:t,badge:g.toolbarBadge,onClick:()=>o(!t)})]}),C$1]})]})})}function ga(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),d=findBodyPmSpans(e);for(let i of d){let h=Number(i.dataset.pmStart),l=Number(i.dataset.pmEnd);if(i.classList.contains("layout-run-tab")){if(t>=h&&t<l){let a=i.getBoundingClientRect(),m=i.closest(".layout-page"),s=m?Number(m.dataset.pageNumber)-1:0,S=i.closest(".layout-line"),u=S?S.offsetHeight:16;return {x:(a.left-n.left)/o,y:(a.top-n.top)/o,height:u,pageIndex:s}}continue}if(t>=h&&t<=l&&i.firstChild?.nodeType===Node.TEXT_NODE){let a=i.firstChild,m=Math.min(t-h,a.length),s=i.ownerDocument;if(!s)continue;let S=s.createRange();S.setStart(a,m),S.setEnd(a,m);let u=S.getBoundingClientRect(),g=i.closest(".layout-page"),b=g?Number(g.dataset.pageNumber)-1:0,x=i.closest(".layout-line"),f=x?x.offsetHeight:16;return {x:(u.left-n.left)/o,y:(u.top-n.top)/o,height:f,pageIndex:b}}}let c=findBodyEmptyRuns(e);for(let i of c){let h=i.closest(".layout-paragraph");if(!h)continue;let l=Number(h.dataset.pmStart),a=Number(h.dataset.pmEnd);if(t>=l&&t<=a){let m=i.getBoundingClientRect(),s=h.closest(".layout-page"),S=s?Number(s.dataset.pageNumber)-1:0,u=i.closest(".layout-line"),g=u?u.offsetHeight:16;return {x:(m.left-n.left)/o,y:(m.top-n.top)/o,height:g,pageIndex:S}}}return null}function ha(e,t,o,r,n){let d=[],c=findBodyPmSpans(e);for(let i of c){let h=Number(i.dataset.pmStart);if(Number(i.dataset.pmEnd)<=o||h>=r)continue;if(i.classList.contains("layout-run-tab")){let b=i.getBoundingClientRect(),x=i.closest(".layout-page"),f=x?Number(x.dataset.pageNumber)-1:0;d.push({x:(b.left-t.left)/n,y:(b.top-t.top)/n,width:b.width/n,height:b.height/n,pageIndex:f});continue}let a=null;if(i.firstChild?.nodeType===Node.TEXT_NODE?a=i.firstChild:i.firstChild?.nodeType===Node.ELEMENT_NODE&&i.firstChild.tagName==="A"&&i.firstChild.firstChild?.nodeType===Node.TEXT_NODE&&(a=i.firstChild.firstChild),!a)continue;let m=i.ownerDocument;if(!m)continue;let s=Math.max(0,o-h),S=Math.min(a.length,r-h);if(s>=S)continue;let u=m.createRange();u.setStart(a,s),u.setEnd(a,S);let g=u.getClientRects();for(let b of Array.from(g)){let x=i.closest(".layout-page"),f=x?Number(x.dataset.pageNumber)-1:0;d.push({x:(b.left-t.left)/n,y:(b.top-t.top)/n,width:b.width/n,height:b.height/n,pageIndex:f});}}return d}function Do(e,t,o={}){let r=o.scope??"body",n=r==="hf"?".layout-page-header .layout-table-cell, .layout-page-footer .layout-table-cell":".layout-page-content .layout-table-cell",d=e.querySelectorAll(r==="hf"?".layout-page-header .layout-table-cell-selected, .layout-page-footer .layout-table-cell-selected":".layout-page-content .layout-table-cell-selected");for(let a of Array.from(d))a.classList.remove("layout-table-cell-selected");let c=t.selection;if(!("$anchorCell"in c&&typeof c.forEachCell=="function")||!c.forEachCell)return;let h=[];c.forEachCell((a,m)=>{h.push([m,m+a.nodeSize]);});let l=e.querySelectorAll(n);for(let a of Array.from(l)){let m=a,s=m.dataset.pmStart;if(s===void 0)continue;let S=Number(s);for(let[u,g]of h)if(S>=u&&S<g){m.classList.add("layout-table-cell-selected");break}}}var xa=4,Ca=false;function lm(e){if(!Ca){Ca=true;try{let t=e.scrollIntoView();(typeof t.updated!="number"||(t.updated&xa)===0)&&console.warn("[HiddenProseMirror] prosemirror-state UPDATED_SCROLL bit shape changed; paginated scroll suppression may be stale. Update PM_UPDATED_SCROLL.");}catch{}}}var cm={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function Sa(e,t,o,r=[]){let n=o?.getSchema()??schema,d=e?toProseDoc(e,{styles:t??void 0}):createEmptyDoc(),c=[...r,...o?.getPlugins()??[]];return EditorState.create({doc:d,schema:n,plugins:c})}function dm(e,t){return t?fromProseDoc(e.doc,t):null}var um=forwardRef(function(t,o){let{document:r,styles:n,theme:d,widthPx:c=612,readOnly:i=false,onTransaction:h,onSelectionChange:l,externalPlugins:a=[],extensionManager:m,onEditorViewReady:s,onEditorViewDestroy:S,onKeyDown:u}=t,g=useRef(null),b=useRef(null),x=useRef(r),f=useRef(false),p=useRef(null),v=useRef(false),C=useRef(h),y=useRef(l),R=useRef(s),P=useRef(S),T=useRef(u),w=useRef(i);C.current=h,y.current=l,R.current=s,P.current=S,T.current=u,w.current=i,x.current=r;let I=G=>{if(!G)return "empty";let W=G.package?.properties;return `${W?.created||""}-${W?.modified||""}-${W?.title||""}`},E=useCallback(()=>{if(!g.current||f.current)return;let W={state:Sa(r,n,m,a),editable:()=>!w.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(V){if(f.current)return;b.current||(b.current=this),lm(this.state.tr);let j=V;typeof j.updated=="number"&&(j.updated&=~xa);let ne=this.state.apply(V);this.updateState(ne),C.current?.(V,ne),(V.selectionSet||V.docChanged)&&y.current?.(ne);},handleKeyDown:(V,j)=>T.current?.(V,j)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};b.current=new EditorView(g.current,W);let $=b.current.dom;$.style.overflowAnchor="none",v.current=true,p.current=I(r),R.current?.(b.current);},[r,n,a,m,i]),M=useCallback(()=>{b.current&&!f.current&&(f.current=true,P.current?.(),b.current.destroy(),b.current=null,f.current=false);},[]);useEffect(()=>(E(),()=>M()),[]),useEffect(()=>{if(!b.current||f.current)return;let G=I(r);if(v.current&&G===p.current)return;v.current=true,p.current=G;let W=Sa(r,n,m,a);b.current.updateState(W),y.current?.(W);},[r,n,m,a]),useEffect(()=>{b.current;},[i]),useImperativeHandle(o,()=>({getState(){return b.current?.state??null},getView(){return b.current??null},getDocument(){return b.current?dm(b.current.state,x.current):null},focus(){b.current?.focus();},blur(){b.current?.hasFocus()&&b.current.dom.blur();},isFocused(){return b.current?.hasFocus()??false},dispatch(G){b.current&&!f.current&&b.current.dispatch(G);},executeCommand(G){return b.current?G(b.current.state,b.current.dispatch,b.current):false},undo(){return b.current?undo(b.current.state,b.current.dispatch):false},redo(){return b.current?redo(b.current.state,b.current.dispatch):false},canUndo(){return b.current?undo(b.current.state):false},canRedo(){return b.current?redo(b.current.state):false},setSelection(G,W){if(!b.current)return;let{state:$,dispatch:V}=b.current,j=$.doc.resolve(G),ne=W!==void 0?$.doc.resolve(W):j,se=TextSelection.between(j,ne);V($.tr.setSelection(se));},setNodeSelection(G){if(!b.current)return;let{state:W,dispatch:$}=b.current;try{let V=NodeSelection.create(W.doc,G);$(W.tr.setSelection(V));}catch{this.setSelection(G);}},setCellSelection(G,W){if(!b.current)return;let{state:$,dispatch:V}=b.current;try{let j=CellSelection.create($.doc,G,W);V($.tr.setSelection(j));}catch{this.setSelection(G,W);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:g,className:"paged-editor__hidden-pm",style:{...cm,width:c>0?`${c}px`:void 0}}),L=globalThis.document,z=L&&"body"in L&&L.body!=null?L.body:null;return z?createPortal(H,z):H}),Ra=memo(um);function Tm(e,t,o,r,n){let d=headerFooterToProseDoc(e.content,{styles:t??void 0,theme:o??null,defaultTabStopTwips:r??null});return EditorState.create({doc:d,schema:schema,plugins:n.getPlugins()})}function wm(e){if(!e?.package)return [];let t=[],o=e.package.headers;if(o)for(let n of o.keys())t.push({rId:n,kind:"header"});let r=e.package.footers;if(r)for(let n of r.keys())(!o||!o.has(n))&&t.push({rId:n,kind:"footer"});return t}var pr=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:d},c){let i=useRef(d);i.current=d;let h=useRef(t);h.current=t;let l=useRef(null),a=useRef(null),m=useRef(new Map),s=useRef(new Map);l.current=(g,b,x)=>{let p=h.current?.package;if(!p)return;let C=(b==="header"?p.headers:p.footers)?.get(g);C&&(C.content=proseDocToBlocks(x.doc));};let S=useCallback((g,b)=>{let x=t?.package;return x?(b==="header"?x.headers:x.footers)?.get(g)??null:null},[t]),u=useMemo(()=>wm(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!a.current)return;let g=a.current,b=new Map(u.map(f=>[f.rId,f])),x=m.current;for(let[f,p]of x)b.has(f)||(p.view.destroy(),p.mountNode.remove(),s.current.get(f)?.destroy(),s.current.delete(f),x.delete(f));for(let f of u){if(x.has(f.rId))continue;let p=S(f.rId,f.kind);if(!p)continue;let v=new ExtensionManager(createStarterKit());v.buildSchema(),v.initializeRuntime(),s.current.set(f.rId,v);let C=g.ownerDocument.createElement("div");C.dataset.hfRId=f.rId,C.dataset.hfKind=f.kind,g.appendChild(C);let y=Tm(p,o,r,n,v),R=f.rId,P=f.kind,T=new EditorView(C,{state:y,dispatchTransaction(w){let I=T.state.apply(w);T.updateState(I),w.docChanged&&l.current?.(R,P,I),i.current?.(R,T,w.docChanged);}});x.set(f.rId,{rId:f.rId,kind:f.kind,view:T,mountNode:C});}},[u,S,o,r,n]),useEffect(()=>{let g=m.current,b=s.current;return ()=>{for(let{view:x,mountNode:f}of g.values())x.destroy(),f.remove();g.clear();for(let x of b.values())x.destroy();b.clear();}},[]),useImperativeHandle(c,()=>({getView(g){return m.current.get(g)?.view??null}}),[]),jsx("div",{ref:a,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));pr.displayName="HiddenHeaderFooterPMs";var Mm="#000",Dm="rgba(66, 133, 244, 0.3)",Hm=2,Fm=530,Lm={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},Am=(e,t,o,r)=>({position:"absolute",left:e.x,top:e.y,width:o,height:e.height,backgroundColor:t,opacity:r?1:0,transition:"opacity 0.05s ease-out",pointerEvents:"none"}),Om=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),Bm=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[d,c]=useState(n),i=useRef(null);return useEffect(()=>(i.current&&(window.clearInterval(i.current),i.current=null),n&&r>0?(c(true),i.current=window.setInterval(()=>{c(h=>!h);},r)):c(false),()=>{i.current&&window.clearInterval(i.current);}),[n,r]),useEffect(()=>{if(n)return c(true),i.current&&window.clearInterval(i.current),r>0&&(i.current=window.setInterval(()=>{c(h=>!h);},r)),()=>{i.current&&window.clearInterval(i.current);}},[e.x,e.y,n,r]),jsx("div",{style:Am(e,t,o,d),"data-testid":"caret"})},Nm=({rect:e,color:t,index:o})=>jsx("div",{style:Om(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),wa=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=Mm,selectionColor:d=Dm,caretWidth:c=Hm,blinkInterval:i=Fm})=>{if(r)return null;let h=e.length>0,l=t!==null&&!h;return jsxs("div",{style:Lm,"data-testid":"selection-overlay",children:[h&&e.map((a,m)=>jsx(Nm,{rect:a,color:d,index:m},`sel-${a.pageIndex}-${a.x}-${a.y}-${m}`)),l&&t&&jsx(Bm,{position:t,color:n,width:c,blinkInterval:i,isFocused:o})]})};var fr=10,Bt=fr/2,Fo=2,Ma="#2563eb",Ia={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},_m={position:"absolute",border:`${Fo}px solid ${Ma}`,pointerEvents:"none",boxSizing:"border-box"},Wm={position:"absolute",width:`${fr}px`,height:`${fr}px`,backgroundColor:Ma,border:"1px solid white",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.3)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},Vm={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.75)",color:"white",fontSize:"11px",fontFamily:"system-ui, sans-serif",padding:"2px 8px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20,transform:"translateX(-50%)"},Um={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function $m(e,t,o,r,n,d){let c=e.includes("w")?-1:1,i=e.includes("n")?-1:1,h=r+t*c,l=n+o*i;if(d){let a=Math.max(h/r,l/n);h=r*a,l=n*a;}return {width:Math.max(20,Math.min(2e3,h)),height:Math.max(20,Math.min(2e3,l))}}function Da({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:d,onDragMove:c,onDragStart:i,onDragEnd:h,onContextMenu:l}){let[a,m]=useState(false),[s,S]=useState(false),[u,g]=useState(0),[b,x]=useState(0),[f,p]=useState(null),v=useRef(null),C=useRef(null),y=useRef(r),R=useRef(n),P=useRef(d),T=useRef(c),w=useRef(i),I=useRef(h);y.current=r,R.current=n,P.current=d,T.current=c,w.current=i,I.current=h;let E=useRef(e),M=useRef(t);E.current=e,M.current=t;let H=useCallback(()=>{if(!e||!C.current){p(null);return}let ne=C.current.offsetParent;if(!ne){p(null);return}let se=ne.getBoundingClientRect(),ue=e.element.getBoundingClientRect();p({left:(ue.left-se.left)/t,top:(ue.top-se.top)/t,width:ue.width/t,height:ue.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let ne=C.current?.closest('[style*="overflow"]')??C.current?.closest(".paged-editor__container");if(!ne)return;let se=()=>{v.current&&cancelAnimationFrame(v.current),v.current=requestAnimationFrame(H);};return ne.addEventListener("scroll",se,{passive:true}),window.addEventListener("resize",se,{passive:true}),()=>{ne.removeEventListener("scroll",se),window.removeEventListener("resize",se),v.current&&cancelAnimationFrame(v.current);}},[e,H]);let L=useCallback((ne,se)=>{if(!e||!f)return;se.preventDefault(),se.stopPropagation();let ue=f.width,Ee=f.height,Ce=se.clientX,pe=se.clientY,ye=Math.round(ue),Te=Math.round(Ee);m(true),g(ye),x(Te),R.current?.();let D=O=>{let oe=M.current,F=(O.clientX-Ce)/oe,_=(O.clientY-pe)/oe,ee=!O.shiftKey,Q=$m(ne,F,_,ue,Ee,ee);ye=Math.round(Q.width),Te=Math.round(Q.height),g(ye),x(Te),p(Y=>{if(!Y)return Y;let le={...Y};return ne.includes("w")&&(le.left=Y.left+(Y.width-Q.width)),ne.includes("n")&&(le.top=Y.top+(Y.height-Q.height)),le.width=Q.width,le.height=Q.height,le});},B=()=>{window.removeEventListener("mousemove",D),window.removeEventListener("mouseup",B),m(false);let O=E.current;O&&y.current?.(O.pmPos,ye,Te),P.current?.();};window.addEventListener("mousemove",D),window.addEventListener("mouseup",B);},[e,f]),z=useCallback(ne=>{if(!e||!f)return;ne.preventDefault(),ne.stopPropagation();let se=4,ue=ne.clientX,Ee=ne.clientY,Ce=false,pe=null,ye=D=>{let B=D.clientX-ue,O=D.clientY-Ee;!Ce&&Math.sqrt(B*B+O*O)<se||(Ce||(Ce=true,S(true),w.current?.(),pe=document.createElement("div"),pe.style.cssText="position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);",pe.style.width=`${f.width}px`,pe.style.height=`${f.height}px`,document.body.appendChild(pe)),pe&&(pe.style.left=`${D.clientX-f.width/2}px`,pe.style.top=`${D.clientY-f.height/2}px`));},Te=D=>{if(window.removeEventListener("mousemove",ye),window.removeEventListener("mouseup",Te),pe&&(pe.remove(),pe=null),S(false),Ce){let B=E.current;B&&T.current?.(B.pmPos,D.clientX,D.clientY),I.current?.();}};window.addEventListener("mousemove",ye),window.addEventListener("mouseup",Te);},[e,f]);if(!!!(e&&f&&o))return jsx("div",{ref:C,style:{...Ia,visibility:"hidden"},className:"image-selection-overlay"});let{left:W,top:$,width:V,height:j}=f;return jsxs("div",{ref:C,style:Ia,className:"image-selection-overlay",children:[jsx("div",{style:{..._m,left:W-Fo,top:$-Fo,width:V+Fo*2,height:j+Fo*2}}),jsx("div",{style:{position:"absolute",left:W,top:$,width:V,height:j,cursor:s?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:z,onContextMenu:l}),jsx(fn,{handle:"nw",style:{left:W-Bt,top:$-Bt},onMouseDown:L}),jsx(fn,{handle:"ne",style:{left:W+V-Bt,top:$-Bt},onMouseDown:L}),jsx(fn,{handle:"se",style:{left:W+V-Bt,top:$+j-Bt},onMouseDown:L}),jsx(fn,{handle:"sw",style:{left:W-Bt,top:$+j-Bt},onMouseDown:L}),a&&jsxs("div",{style:{...Vm,left:W+V/2,top:$+j+12},children:[u," \xD7 ",b]})]})}function fn({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...Wm,...t,cursor:Um[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var Gm={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function La({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let d=useRef(null),c=useRef(null),[i,h]=useState(0);return useEffect(()=>n.onRender(()=>h(l=>l+1)),[n]),useEffect(()=>(c.current!==null&&cancelAnimationFrame(c.current),c.current=requestAnimationFrame(()=>{c.current=null;let l=e(),a=t(),m=d.current;!l||!a||!m||n.isSafeToRender()&&jm(l,a,m,o);}),()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null);}),[o,r,i]),jsx("div",{ref:d,className:"paged-editor__decoration-overlay",style:Gm,"aria-hidden":"true"})}function jm(e,t,o,r){let n=Ym(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let d=b$3(t,r),c=d.getContainerOffset(),i=document.createDocumentFragment();for(let{decoration:h,from:l,to:a}of n){if(l===a){let S=qm(h,e);if(!S)continue;let u=d.getCoordinatesForPosition(l);if(!u)continue;let g=document.createElement("div");g.style.cssText=`position:absolute;left:${u.x+c.x}px;top:${u.y+c.y}px;height:${u.height}px;`,g.appendChild(S),i.appendChild(g);continue}let m=Xm(h);if(!m)continue;let s=d.getRectsForRange(l,a);for(let S of s){let u=document.createElement("div");for(let[b,x]of Object.entries(m))b!=="nodeName"&&u.setAttribute(b,x);let g=`position:absolute;left:${S.x+c.x}px;top:${S.y+c.y}px;width:${S.width}px;height:${S.height}px;`;u.style.cssText=g+(m.style??""),i.appendChild(u);}}o.replaceChildren(i);}function Ym(e){let t=[];for(let o of e.plugins){let r=o.props.decorations;if(!r)continue;let n=r.call(o,e);n&&n.forEachSet(d=>{d.find().forEach(c=>{c.spec?.noOverlay||t.push({decoration:c,from:c.from,to:c.to});});});}return t}function qm(e,t){let o=e.type;if(!o)return null;let r=o.toDOM;return typeof r=="function"?r(t,()=>e.from):r instanceof HTMLElement?r.cloneNode(true):null}function Xm(e){return e.type?.attrs??null}var Na=[];var za={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},_a={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},Wa={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Va={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function gn(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),d=n.top+n.height/2,c=r.top+r.height/2,i=d-c,h=Math.max(0,t.scrollHeight-t.clientHeight),l=Math.max(0,Math.min(h,t.scrollTop+i));t.scrollTop=l;}function hn(e,t){if(t.aborted)return;let o=requestAnimationFrame(()=>{if(t.aborted)return;let r=requestAnimationFrame(()=>{if(t.aborted)return;let n=requestAnimationFrame(()=>{t.aborted||e();});t.addEventListener("abort",()=>cancelAnimationFrame(n),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(r),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(o),{once:true});}function $a(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let d=r[n].dataset.pmStart;if(d==null)continue;let c=Number(d);Number.isNaN(c)||c<=t&&(o===null||c>o)&&(o=c);}return o}function bn(e,t){let o=e.pages.length;return e.pages.reduce((n,d)=>n+d.size.h,0)+Math.max(0,o-1)*t+24+24}function Ka(e,t,o,r,n){let d=new Map;if(!e?.state)return d;let{doc:c,schema:i}=e.state,h=i.marks.comment,l=i.marks.insertion,a=i.marks.deletion;if(!h&&!l&&!a)return d;let m=new Set,s=24+n,S=(u,g)=>{if(m.has(u))return;m.add(u);let b=getCaretPosition(t,o,r,g);if(b){d.set(u,b.y+s);return}for(let x=0;x<t.pages.length;x++){let f=t.pages[x];for(let p of f.fragments){let v=p.pmStart??0,C=p.pmEnd??v;if(g<v||g>C)continue;let y=p.kind==="table"?tf(o,r,p,g):0;d.set(u,p.y+y+getPageTop(t,x)+s);return}}};return c.descendants((u,g)=>{let b=u.attrs;if(b){let x=[b.trIns,b.trDel,b.pPrIns,b.pPrDel];for(let C of x){let y=C?.revisionId;typeof y=="number"&&S(`revision-${y}`,g);}let p=b.cellMarker?.info?.revisionId;typeof p=="number"&&S(`revision-${p}`,g);let v=[b.pPrChange,b.trPrChange,b.tcPrChange,b.tblPrChange];for(let C of v)if(Array.isArray(C))for(let y of C){let R=y?.info?.id;typeof R=="number"&&S(`revision-${R}`,g);}}if(u.isInline)for(let x of u.marks){let f=null;h&&x.type===h?f=`comment-${x.attrs.commentId}`:(l&&x.type===l||a&&x.type===a)&&(f=`revision-${x.attrs.revisionId}`),f&&S(f,g);}}),d}function tf(e,t,o,r){let n=e.findIndex(h=>h.id===o.blockId);if(n===-1)return 0;let d=e[n],c=t[n];if(d.kind!=="table"||c.kind!=="table")return 0;let i=0;for(let h=o.fromRow;h<o.toRow;h++){let l=d.rows[h];if(!l||l.cells.some(m=>m.blocks.some(s=>{let S=s.pmStart??0,u=s.pmEnd??S;return r>=S&&r<=u})))break;i+=c.rows[h]?.height??0;}return i}function yn(e){return Math.round(e/1440*96)}function hr(e){let t=e?.columnCount??1;if(t<=1)return;let o=yn(e?.columnSpace??720);return {count:t,gap:o,equalWidth:e?.equalWidth??true,separator:e?.separator}}function nf(e){let t=e.pageSize.w-e.margins.left-e.margins.right,o=e.columns;return !o||o.count<=1?t:Math.floor((t-(o.count-1)*o.gap)/o.count)}function Ga(e,t,o){let{configs:r,breakIndices:n}=collectSectionConfigs(e,t,o),d=0,c=[];for(let i=0;i<e.length;i++)c.push(nf(r[d]??t)),d<n.length&&i===n[d]&&d++;return c}function qa(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let c=getCachedParagraphMeasure(n,t);if(c)return c}let d=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,d),d}case "table":return measureTableBlock(e,t,qa);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,d=n.margins??DEFAULT_TEXTBOX_MARGINS,c=(n.width??DEFAULT_TEXTBOX_WIDTH)-d.left-d.right,i=n.content.map(a=>measureParagraph(a,c)),h=i.reduce((a,m)=>a+m.totalHeight,0),l=n.height??h+d.top+d.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:l,innerMeasures:i}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function vn(e,t){return measureBlocksWithFloats(e,t,qa)}function Za(e,t,o){t.style.overflowAnchor||t.style.setProperty("overflow-anchor","none");let r=Math.max(1,t.scrollHeight-t.clientHeight),n=t.scrollTop/r,d=$a(e,o),c=0;if(d!=null){let i=findBodyPmAnchor(e,d);if(i){let h=i.getBoundingClientRect(),l=t.getBoundingClientRect();c=h.top-l.top;}else d=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:d,domAnchorOffsetInScroller:c}}function Qa(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let d=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/d;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function br(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:d,domAnchorPmStart:c,domAnchorOffsetInScroller:i}=e;if(r==="incremental"&&d!=null){let l=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,d),l);return}if(r!=="incremental"&&c!=null){let l=findBodyPmAnchor(t,c);if(l){let a=o.getBoundingClientRect(),m=l.getBoundingClientRect().top-a.top;o.scrollTop+=i-m;return}}let h=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*h;}function Ja(e,t,o,r){if(e?.renderKind!=="incremental"||e.scrollTopSnapshot==null||r&&o>32||!t?.isConnected)return;let n=Math.max(1,t.scrollHeight-t.clientHeight),d=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-d)>.5&&(t.scrollTop=d);}function rs(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:d,headerContent:c,footerContent:i,firstPageHeaderContent:h,firstPageFooterContent:l,getHfPmDoc:a,pageGap:m,zoom:s,resolvedCommentIds:S,pagesContainerRef:u,viewportLayoutRef:g,hiddenPMRef:b,syncCoordinator:x,getScrollContainer:f,onTotalPagesChange:p,onAnchorPositionsChange:v,onRenderedDomContextReady:C}=e,[y,R]=useState(null),[P,T]=useState([]),[w,I]=useState([]),[E,M]=useState(0),H=useCallback(()=>M(F=>F+1),[]),L=useRef(p),z=useRef(v),G=useRef(C),W=useRef(a);L.current=p,z.current=v,G.current=C,W.current=a;let $=useRef(0);useEffect(()=>{let F=y?.pages.length??0;F!==$.current&&($.current=F,L.current?.(F));},[y]);let V=useMemo(()=>getPageSize(n),[n]),j=useMemo(()=>getMargins(n),[n]),ne=useMemo(()=>hr(n),[n]),{finalPageSize:se,finalMargins:ue,finalColumns:Ee}=useMemo(()=>{let F=d??n;return {finalPageSize:getPageSize(F),finalMargins:getMargins(F),finalColumns:hr(F)}},[d,n]),Ce=V.w-j.left-j.right,pe=useMemo(()=>new LayoutPainter({pageGap:m,showShadow:true,pageBackground:"#fff"}),[m]),ye=useRef(null);ye.current=pe;let Te=useRef(null),D=useRef(0),B=useCallback(F=>{let _=performance.now(),ee=x.getStateSeq();x.onLayoutStart();let Q=Y=>{let le=u.current,N=le?f()??findVerticalScrollParentOrRoot(le):null,q=performance.now()-D.current;Ja(Te.current,N,q,Y);};Q(true);try{let Y=performance.now(),le=V.h-j.top-j.bottom,N=toFlowBlocks(F.doc,{theme:r,pageContentHeight:le}),q=performance.now()-Y;q>500&&console.warn(`[PagedEditor] toFlowBlocks took ${Math.round(q)}ms (${N.length} blocks)`),T(N),Y=performance.now();let we=Ga(N,{pageSize:V,margins:j,columns:ne},{pageSize:se,margins:ue,columns:Ee}),re=vn(N,we);q=performance.now()-Y,q>1e3&&console.warn(`[PagedEditor] measureBlocks took ${Math.round(q)}ms (${N.length} blocks)`),I(re);let ke=collectFootnoteRefs(N),He=ke.length>0&&t?.package?.footnotes,Ie={section:"header",pageSize:V,margins:j},he={section:"footer",pageSize:V,margins:j},ie=F.doc.attrs?.defaultTabStopTwips,te={styles:o,theme:r,measureBlocks:vn,defaultTabStopTwips:ie},me=(be,ve)=>{if(!be)return;let Ae=W.current?.(be);return Ae?convertHeaderFooterPmDocToContent(Ae,Ce,ve,te):convertHeaderFooterToContent(be,Ce,ve,te)},U=me(c,Ie),ce=me(i,he),de=n?.titlePg===!0,_e=de?me(h,Ie):void 0,rt=de?me(l,he):void 0,io=j.header??48,ut=j.footer??48,We=j.top-io,vo=j.bottom-ut,it=be=>be?be.visualBottom??be.height:0,Ut=be=>be?Math.max((be.visualBottom??be.height)-(be.visualTop??0),be.height):0,at=Math.max(it(U),it(_e)),pt=Math.max(Ut(ce),Ut(rt)),$t=at>We,Pt=pt>vo,Tt=j,Ze=ue;if($t||Pt){let be=ve=>{let Ae={...ve};return $t&&(Ae.top=Math.max(ve.top,io+at)),Pt&&(Ae.bottom=Math.max(ve.bottom,ut+pt)),Ae};Tt=be(j),Ze=be(ue);for(let ve of N){if(ve.kind!=="sectionBreak")continue;let Ae=ve;Ae.margins&&(Ae.margins=be(Ae.margins));}}Y=performance.now();let Qe,mt=new Map,wt=new Map,Co=d?.sectionStart,Kt={pageSize:V,margins:Tt,finalPageSize:se,finalMargins:Ze,columns:Ee,bodyBreakType:Co,pageGap:m};if(He){let be=layoutDocument(N,re,Kt);wt=buildFootnoteContentMap(t.package.footnotes,ke,Ce,{styles:o??void 0,theme:r??null,measureBlocks:vn,defaultTabStopTwips:ie});let ve=stabilizeFootnoteLayout({blocks:N,measures:re,layoutOpts:Kt,footnoteRefs:ke,footnoteContentMap:wt,initialLayout:be});Qe=ve.layout,mt=ve.pageFootnoteMap;}else Qe=layoutDocument(N,re,Kt);if(q=performance.now()-Y,q>500&&console.warn(`[PagedEditor] layoutDocument took ${Math.round(q)}ms (${Qe.pages.length} pages)`),R(Qe),u.current&&ye.current){Y=performance.now(),Te.current=null,D.current=0;let be=u.current,ve=f()??findVerticalScrollParentOrRoot(be),Ae=ve?.isConnected?Za(be,ve,F.selection.head):null,Gt=new Map;for(let Fe=0;Fe<N.length;Fe++){let It=N[Fe],Se=re[Fe];It&&Se&&Gt.set(String(It.id),{block:It,measure:Se});}ye.current.setBlockLookup(Gt);let Et=He?buildFootnoteRenderItems(mt,wt,t):void 0,ao=renderPages(Qe.pages,u.current,{pageGap:m,showShadow:!0,pageBackground:"#fff",blockLookup:Gt,headerContent:U,footerContent:ce,firstPageHeaderContent:_e,firstPageFooterContent:rt,titlePg:de,headerDistance:n?.headerDistance?yn(n.headerDistance):void 0,footerDistance:n?.footerDistance?yn(n.footerDistance):void 0,pageBorders:n?.pageBorders,theme:r,footnotesByPage:Et?.size?Et:void 0,resolvedCommentIds:S}),ft=g.current;if(ft){let Fe=bn(Qe,m);ft.style.minHeight=`${Fe}px`,s!==1?ft.style.marginBottom=`${Fe*(s-1)}px`:ft.style.marginBottom="";}if(ve?.isConnected&&Ae){let Fe=Qa(ao,ve,Ae);Te.current=Fe,Fe.renderKind==="incremental"&&Fe.scrollTopSnapshot!=null&&(D.current=performance.now());}if(q=performance.now()-Y,q>500&&console.warn(`[PagedEditor] renderPages took ${Math.round(q)}ms`),u.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),G.current){let Fe=b$3(u.current,s);G.current(Fe);}}else Te.current=null,D.current=0;if(z.current){let be=Ka(b.current?.getView()??null,Qe,N,re,m);z.current(be);}Q(!1);let st=performance.now()-_;st>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(st)}ms total (${N.length} blocks, ${re.length} measures)`);}catch(Y){console.error("[PagedEditor] Layout pipeline error:",Y);}x.onLayoutComplete(ee),Q(false);},[Ce,ne,V,j,se,ue,Ee,m,s,x,c,i,h,l,n,d,t,S,f,b,u,o,r,g]);useLayoutEffect(()=>{let F=Te.current;if(!F)return;Te.current=null,D.current=0;let _=u.current,ee=f()??(_?findVerticalScrollParentOrRoot(_):null);if(!_||!ee?.isConnected)return;br(F,_,ee);let Q=requestAnimationFrame(()=>{ee.isConnected&&br(F,_,ee);});return ()=>cancelAnimationFrame(Q)},[y,f,u]);let O=useRef(null),oe=useCallback(F=>{if(O.current){O.current.state=F;return}let _=requestAnimationFrame(()=>{let ee=O.current;O.current=null,ee&&B(ee.state);});O.current={rafId:_,state:F};},[B]);return useEffect(()=>()=>{O.current&&(cancelAnimationFrame(O.current.rafId),O.current=null);},[]),{layout:y,blocks:P,measures:w,decorationSyncToken:E,notifyDecorationLayer:H,contentWidth:Ce,runLayoutPipeline:B,scheduleLayout:oe}}function ss(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:d,pagesContainerRef:c,hiddenPMRef:i,syncCoordinator:h,isImageInteractingRef:l,onSelectionChangeRef:a}=e,[m,s]=useState([]),[S,u]=useState(null),[g,b]=useState(null),x=useRef(null),f=useCallback((C,y)=>{let R=C.tagName==="IMG"?C:C.querySelector("img"),P=(R??C).getBoundingClientRect();return {element:R??C,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),p=useCallback(C=>{let{from:y,to:R}=C.selection;x.current!==C&&(x.current=C,a.current?.(y,R));let P=c.current;if(P&&Do(P,C),!(!t||o.length===0))if(y===R){let T=P?ga(P,y,n):null;if(T)u(T);else {let w=c.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=c.current?.querySelector(".layout-page");if(w&&I){let E=w.getBoundingClientRect(),M=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,y);u(H?{...H,x:H.x+(M.left-E.left)/n,y:H.y+(M.top-E.top)/n}:null);}else u(null);}s([]);}else {let T=c.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(T&&c.current){let w=T.getBoundingClientRect(),I=ha(c.current,w,y,R,n);if(I.length>0)s(I);else {let E=c.current.querySelector(".layout-page");if(E){let M=E.getBoundingClientRect(),H=(M.left-w.left)/n,L=(M.top-w.top)/n,G=selectionToRects(t,o,r,y,R).map(W=>({...W,x:W.x+H,y:W.y+L}));s(G);}else s([]);}}else s([]);u(null);}},[t,o,r,n,a,c]),v=useCallback(C=>{let{selection:y}=C;y instanceof NodeSelection&&y.node.type.name==="image"?(s([]),u(null)):h.isSafeToRender()&&p(C),requestAnimationFrame(()=>{let R=i.current?.getView();if(!R){b(null);return}let{selection:P}=R.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let T=P.from,w=c.current?findBodyPmAnchor(c.current,T):null;if(w){b(f(w,T));return}}l.current||b(null);});},[p,f,h,i,l,c]);return useEffect(()=>{let C=d.current;if(!C)return;let y=new ResizeObserver(()=>{let R=i.current?.getState();R&&p(R);});return y.observe(C),()=>y.disconnect()},[p,d,i]),useEffect(()=>{let C=i.current?.getState();t&&C&&p(C);},[t,p,i]),{selectionRects:m,caretPosition:S,selectedImageInfo:g,setSelectionRects:s,setCaretPosition:u,setSelectedImageInfo:b,buildImageSelectionInfo:f,updateSelectionOverlay:p,handleSelectionChange:v}}function cs(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:d}=e,c=useCallback((s,S,u)=>{let g=o.current?.getView();if(g)try{let b=g.state.doc.nodeAt(s);if(!b||b.type.name!=="image")return;let x=g.state.tr.setNodeMarkup(s,void 0,{...b.attrs,width:S,height:u});g.dispatch(x),o.current?.setNodeSelection(s);}catch{}},[o]),i=useCallback(()=>{n.current=true;},[n]),h=useCallback(()=>{n.current=false;},[n]),l=useCallback((s,S,u)=>{let g=o.current?.getView();if(g)try{let b=g.state.doc.nodeAt(s);if(!b||b.type.name!=="image")return;if(b.attrs.displayMode==="float"||b.attrs.wrapType&&["square","tight","through"].includes(b.attrs.wrapType)){let f=t.current?.querySelectorAll(".layout-page");if(!f||f.length===0)return;let p=null;for(let I of f){let E=I.getBoundingClientRect();if(u>=E.top&&u<=E.bottom){p=I.querySelector(".layout-page-content");break}}if(p||(p=f[f.length-1].querySelector(".layout-page-content")),!p)return;let v=p.getBoundingClientRect(),C=(S-v.left)/r,y=(u-v.top)/r,R=pixelsToEmu(C),P=pixelsToEmu(y),T={horizontal:{posOffset:R,relativeTo:"margin"},vertical:{posOffset:P,relativeTo:"margin"}},w=g.state.tr.setNodeMarkup(s,void 0,{...b.attrs,position:T});g.dispatch(w),o.current?.setNodeSelection(s);}else {let f=d(S,u);if(f===null||f===s||f===s+1)return;let p=g.state.tr;if(f<=s)p=p.delete(s,s+b.nodeSize),p=p.insert(f,b),o.current?.setNodeSelection(f);else {p=p.delete(s,s+b.nodeSize);let v=f-b.nodeSize;p=p.insert(Math.min(v,p.doc.content.size),b),o.current?.setNodeSelection(Math.min(v,p.doc.content.size-1));}g.dispatch(p);}}catch{}},[d,r,o,t]),a=useCallback(()=>{n.current=true;},[n]),m=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:c,handleImageResizeStart:i,handleImageResizeEnd:h,handleImageDragMove:l,handleImageDragStart:a,handleImageDragEnd:m}}function ps(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:d,getScrollContainer:c}=e,i=useRef(null);useEffect(()=>()=>{i.current?.abort(),i.current=null;},[]);let h=useCallback((m,s=false)=>{if(!Number.isInteger(m)||m<0)return;let S=n.current;if(!S)return;i.current?.abort();let u=new AbortController;i.current=u;let{signal:g}=u,b=()=>{let w=findBodyPmAnchor(S,m);if(w)return w;for(let I of findBodyPmSpans(S)){let E=Number(I.dataset.pmStart),M=Number(I.dataset.pmEnd);if(Number.isFinite(E)&&Number.isFinite(M)&&m>=E&&m<=M)return I}return null};if(!s){let w={block:"center",inline:"nearest",behavior:"smooth"},I=b();if(I){I.scrollIntoView(w);return}let E=t,M=o,H=r;if(!E||M.length===0||H.length!==M.length)return;let L=null,z=getCaretPosition(E,M,H,m);if(z?L=z.pageIndex:L=findPageIndexContainingPmPos(E,m),L==null)return;let W=S.querySelectorAll(".layout-page")[L];if(!W)return;W.scrollIntoView(w),hn(()=>{if(!S.isConnected)return;let $=b();$&&$.scrollIntoView(w);},g);return}let x=c()??findVerticalScrollParentOrRoot(S),f=()=>{let w=b();return w?(gn(w,x),true):false};if(f())return;let p=t,v=o,C=r;if(!p||v.length===0||C.length!==v.length)return;let y=null,R=getCaretPosition(p,v,C,m);if(R?y=R.pageIndex:y=findPageIndexContainingPmPos(p,m),y==null)return;let T=S.querySelectorAll(".layout-page")[y];T&&(gn(T,x),hn(()=>{if(!S.isConnected)return;let w=b();w?gn(w,x):f();},g));},[t,o,r,c,n]),l=useCallback(m=>{if(!Number.isInteger(m)||m<1||!t||m>t.pages.length)return;let s=t.pages[m-1];for(let u of s.fragments)if(typeof u.pmStart=="number"){h(u.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[m-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,h,n]),a=useCallback(m=>{let s=d.current?.getState();if(!s)return false;let S=findStartPosForParaId(s.doc,m);if(S==null||S<0)return false;h(S,true);let u=i.current?.signal;if(!u)return true;let g=s.doc.nodeAt(S),b=g?.isTextblock===true?Math.min(S+1+g.content.size,s.doc.content.size):Math.min(S+1,s.doc.content.size);return hn(()=>{d.current&&(d.current.setSelection(b),d.current.focus());},u),true},[h,d]);return {scrollToPositionImpl:h,scrollToPageImpl:l,scrollToParaIdImpl:a}}function po(e,t){try{let o=e.state.doc.resolve(t+1);for(let r=o.depth;r>=0;r--){let n=o.node(r);if(n.type.name==="table")return {node:n,tablePos:o.before(r)}}}catch{}return null}function ms(e,t,o){let r=po(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0||n[o+1]===void 0?null:{left:n[o],right:n[o+1]}}function fs(e,t,o){let r=po(e,t);if(!r)return null;let n=null,d=0;return r.node.forEach(c=>{if(d===o){let i=c.attrs.height;i&&(n=i);}d++;}),n}function gs(e,t,o){let r=po(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0?null:n[o]}function hs(e,t){let{pmStart:o,colIdx:r,newLeft:n,newRight:d}=t,c=po(e,o);if(!c)return;let{node:i,tablePos:h}=c,l=e.state.tr,a=[...i.attrs.columnWidths??[]];a[r]=n,a[r+1]=d,l.setNodeMarkup(h,void 0,{...i.attrs,columnWidths:a});let m=h+1;i.forEach(s=>{let S=m+1,u=0;s.forEach(g=>{let b=g.attrs.colspan||1;if(u===r||u===r+1){let x=u===r?n:d;l.setNodeMarkup(l.mapping.map(S),void 0,{...g.attrs,width:x,widthType:"dxa",colwidth:null});}S+=g.nodeSize,u+=b;}),m+=s.nodeSize;}),e.dispatch(l);}function bs(e,t){let{pmStart:o,rowIdx:r,newHeight:n}=t,d=po(e,o);if(!d)return;let{node:c,tablePos:i}=d,h=e.state.tr,l=i+1,a=0;c.forEach(m=>{a===r&&h.setNodeMarkup(h.mapping.map(l),void 0,{...m.attrs,height:n,heightRule:"atLeast"}),l+=m.nodeSize,a++;}),e.dispatch(h);}function ys(e,t){let{pmStart:o,colIdx:r,newWidth:n}=t,d=po(e,o);if(!d)return;let{node:c,tablePos:i}=d,h=e.state.tr,l=[...c.attrs.columnWidths??[]];l[r]=n,h.setNodeMarkup(i,void 0,{...c.attrs,columnWidths:l});let a=i+1;c.forEach(m=>{let s=a+1,S=0;m.forEach(u=>{let g=u.attrs.colspan||1;S===r&&h.setNodeMarkup(h.mapping.map(s),void 0,{...u.attrs,width:n,widthType:"dxa",colwidth:null}),s+=u.nodeSize,S+=g;}),a+=m.nodeSize;}),e.dispatch(h);}var xn=15,Rr=300,Df=200;function vs(e){let{hiddenPMRef:t,getActiveHfView:o}=e,r=useRef(null);function n(E){return E.closest(".layout-page-header")||E.closest(".layout-page-footer")?o?.()??t.current?.getView()??null:t.current?.getView()??null}let d=useRef(false),c=useRef(0),i=useRef(0),h=useRef(0),l=useRef({left:0,right:0}),a=useRef(null),m=useRef(false),s=useRef(0),S=useRef(0),u=useRef(0),g=useRef(0),b=useRef(null),x=useRef(false),f=useRef(false),p=useRef(0),v=useRef(0),C=useRef(0),y=useRef(0),R=useRef(null),P=useCallback((E,M)=>{let H=n(E);if(!H)return false;if(E.classList.contains("layout-table-resize-handle")){M.preventDefault(),M.stopPropagation(),d.current=true,c.current=M.clientX,a.current=E,r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.columnIndex??"0",10);i.current=L,h.current=parseInt(E.dataset.tablePmStart??"0",10);let z=ms(H,h.current,L);return z&&(l.current=z),true}if(E.classList.contains("layout-table-row-resize-handle")||E.classList.contains("layout-table-edge-handle-bottom")){M.preventDefault(),M.stopPropagation(),m.current=true,s.current=M.clientY,b.current=E,x.current=E.dataset.isEdge==="bottom",r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.rowIndex??"0",10);S.current=L,u.current=parseInt(E.dataset.tablePmStart??"0",10);let z=fs(H,u.current,L);if(z!=null)g.current=z;else {let W=E.closest(".layout-table")?.querySelector(`[data-row-index="${L}"]`),$=W?W.getBoundingClientRect().height:30;g.current=Math.round($*xn);}return true}if(E.classList.contains("layout-table-edge-handle-right")){M.preventDefault(),M.stopPropagation(),f.current=true,p.current=M.clientX,R.current=E,r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.columnIndex??"0",10);v.current=L,C.current=parseInt(E.dataset.tablePmStart??"0",10);let z=gs(H,C.current,L);return z!=null&&(y.current=z),true}return false},[t,o]),T=useCallback(E=>{if(d.current){E.preventDefault();let M=E.clientX-c.current;if(a.current){let H=parseFloat(a.current.style.left);a.current.style.left=`${H+M}px`,c.current=E.clientX;let L=Math.round(M*xn),z=l.current.left+L,G=l.current.right-L;z>=Rr&&G>=Rr&&(l.current={left:z,right:G});}return true}if(m.current){E.preventDefault();let M=E.clientY-s.current;if(b.current){let H=parseFloat(b.current.style.top);b.current.style.top=`${H+M}px`,s.current=E.clientY;let L=Math.round(M*xn),z=g.current+L;z>=Df&&(g.current=z);}return true}if(f.current){E.preventDefault();let M=E.clientX-p.current;if(R.current){let H=parseFloat(R.current.style.left);R.current.style.left=`${H+M}px`,p.current=E.clientX;let L=Math.round(M*xn),z=y.current+L;z>=Rr&&(y.current=z);}return true}return false},[]),w=useCallback(()=>{let E=r.current;if(d.current){if(d.current=false,a.current&&(a.current.classList.remove("dragging"),a.current=null),E){let{left:M,right:H}=l.current;hs(E,{pmStart:h.current,colIdx:i.current,newLeft:M,newRight:H});}return r.current=null,true}return m.current?(m.current=false,b.current&&(b.current.classList.remove("dragging"),b.current=null),E&&bs(E,{pmStart:u.current,rowIdx:S.current,newHeight:g.current}),r.current=null,true):f.current?(f.current=false,R.current&&(R.current.classList.remove("dragging"),R.current=null),E&&ys(E,{pmStart:C.current,colIdx:v.current,newWidth:y.current}),r.current=null,true):false},[]),I=useCallback(()=>d.current||m.current||f.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:T,tryCommit:w,isAnyResizeActive:I}}var $f=5;function Kf(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),d=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,d)));}catch{e.dispatch(e.state.tr.setSelection(TextSelection.create(e.state.doc,0)));}},setNodeSelection(t){try{e.dispatch(e.state.tr.setSelection(NodeSelection.create(e.state.doc,t)));}catch{}},setCellSelection(t,o){try{let r=e.state.doc.resolve(t),n=e.state.doc.resolve(o);e.dispatch(e.state.tr.setSelection(new CellSelection(r,n)));}catch{}},focus(){e.focus();}}}function Ps(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:d,measures:c,zoom:i,readOnly:h,hfEditMode:l,onBodyClick:a,onContextMenu:m,onHyperlinkClick:s,onHeaderFooterDoubleClick:S,setSelectedImageInfo:u,setSelectionRects:g,setCaretPosition:b,buildImageSelectionInfo:x,setIsFocused:f,scrollToPositionImpl:p}=e,v=useRef(false),C=useRef(null),y=vs({hiddenPMRef:o,getActiveHfView:r}),R=useRef(false),P=useRef(null),T=useRef(null),w=useRef(null),[I,E]=useState(null),M=useRef(null),H=useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null);},[]);useEffect(()=>()=>{M.current&&clearTimeout(M.current);},[]);let L=useRef(()=>{}),z=useCallback((D,B)=>{L.current(D,B);},[]),{updateMousePosition:G,stopAutoScroll:W}=b$4({pagesContainerRef:t,onScrollExtendSelection:z}),$=useCallback((D,B)=>{if(!t.current||!n)return null;let O=clickToPositionDom(t.current,D,B,i);if(O!==null)return O;if(l){let we=window.document.elementsFromPoint(D,B).find(Ie=>Ie.closest(".layout-page-header")||Ie.closest(".layout-page-footer"));if(!we)return null;let re=we.closest(".layout-page-header")??we.closest(".layout-page-footer");if(!re)return null;let ke=Array.from(re.querySelectorAll("span[data-pm-start][data-pm-end]")),He=null;for(let Ie of ke){let he=Ie.getBoundingClientRect();if(B<he.top-4||B>he.bottom+4)continue;let ie=Number(Ie.dataset.pmStart),te=Number(Ie.dataset.pmEnd);if(!Number.isFinite(ie)||!Number.isFinite(te))continue;let me,U;if(D<he.left)me=ie,U=he.left-D;else if(D>he.right)me=te,U=D-he.right;else {let ce=(D-he.left)/Math.max(1,he.width);me=ie+Math.round(ce*(te-ie)),U=0;}(!He||U<He.dist)&&(He={pos:me,dist:U});}return He?.pos??null}let oe=t.current.querySelectorAll(".layout-page"),F=-1,_=null;for(let q=0;q<oe.length;q++){let re=oe[q].getBoundingClientRect();if(D>=re.left&&D<=re.right&&B>=re.top&&B<=re.bottom){F=q,_=re;break}}if(F<0||!_)return null;let ee=(D-_.left)/i,Q=(B-_.top)/i,Y=n.pages[F];if(!Y)return null;let le={pageIndex:F,page:Y,pageY:Q},N=hitTestFragment(le,d,c,{x:ee,y:Q});if(!N)return null;if(N.fragment.kind==="table"){let q=hitTestTableCell(le,d,c,{x:ee,y:Q});return clickToPosition(N,q)}return clickToPosition(N)},[n,d,c,i,l,t]),V=useCallback(()=>{if(l&&r){let D=r();if(D)return Kf(D)}return o.current},[l,r,o]),j=useCallback(D=>{let O=V()?.getView();if(!O)return null;try{let oe=O.state.doc.resolve(D);for(let F=oe.depth;F>0;F--){let _=oe.node(F);if(_.type.name==="tableCell"||_.type.name==="tableHeader")return oe.before(F)}}catch{}return null},[V]),ne=useCallback(D=>{let B=V();if(!B)return;if(D.button===2){D.preventDefault();return}if(D.button!==0||(E(null),H(),D.target.closest("a[href]")&&D.preventDefault(),h))return;let oe=D.target;if(l){if(!(oe.closest(".layout-page-header")||oe.closest(".layout-page-footer")||oe.closest(".hf-inline-editor"))&&a){D.preventDefault(),D.stopPropagation(),a();return}}else if((oe.closest(".layout-page-header")||oe.closest(".layout-page-footer"))&&D.detail!==2){D.preventDefault();return}if(y.tryStartFromMouseDown(oe,D))return;let F=findImageElement(oe);if(F){D.preventDefault(),D.stopPropagation();let ee=F.dataset.pmStart;if(ee!==void 0){let Q=parseInt(ee,10);B.setNodeSelection(Q),u(x(F,Q)),g([]),b(null);}B.focus(),l||f(true);return}u(null),D.preventDefault();let _=$(D.clientX,D.clientY);if(_!==null){let ee=j(_);P.current=ee,R.current=false,T.current=null,w.current=null,v.current=true,C.current=_,B.setSelection(_);}else {P.current=null,R.current=false;let ee=B.getView();if(ee){let Q=Math.max(0,ee.state.doc.content.size-1);B.setSelection(Q),C.current=Q,v.current=true;}}B.focus(),l||f(true);},[V,h,l,a,$,j,y,H,u,g,b,x,f]);L.current=(D,B)=>{if(!v.current||C.current===null)return;let O=V();if(!O)return;let oe=$(D,B);oe!==null&&O.setSelection(C.current,oe);};let se=useCallback(D=>{if(y.handleMouseMoveUpdate(D)||!v.current||C.current===null)return;let B=V();if(!B||!t.current)return;G(D.clientX,D.clientY);let O=$(D.clientX,D.clientY);if(O===null)return;if(P.current!==null){if(R.current){let _=j(O);if(_!==null){B.setCellSelection(P.current,_);return}}let F=j(O);if(F!==null&&F!==P.current){R.current=true,B.setCellSelection(P.current,F),w.current=null;return}if(T.current!==null&&O===T.current){if(w.current===null)w.current=D.clientX;else if(Math.abs(D.clientX-w.current)>=$f){R.current=true,B.setCellSelection(P.current,P.current),w.current=null;return}}else w.current=null,T.current=O;}let oe=C.current;B.setSelection(oe,O);},[V,$,j,G,y,t]),ue=useCallback(()=>{y.tryCommit()||(v.current=false,R.current=false,T.current=null,w.current=null,W());},[W,y]);useEffect(()=>(window.addEventListener("mousemove",se),window.addEventListener("mouseup",ue),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",ue);}),[se,ue]);let Ee=useCallback(D=>{if(h||v.current||R.current||y.isAnyResizeActive())return;let B=t.current;if(!B)return;let O=detectTableInsertHover({mouseX:D.clientX,mouseY:D.clientY,pagesContainer:B,target:D.target,hfEditMode:l??null});if(!O){M.current||(M.current=setTimeout(()=>{E(null),M.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let oe=B.parentElement;if(!oe)return;let F=oe.getBoundingClientRect();E({type:O.type,x:O.clientX-F.left,y:O.clientY-F.top,cellPmPos:O.cellPmPos}),H();},[h,H,l,t]),Ce=useCallback(D=>{if(D.preventDefault(),D.stopPropagation(),!I)return;let B=V(),O=B?.getView();if(!B||!O)return;let{type:oe,cellPmPos:F}=I,_=O.state.tr.setSelection(TextSelection.create(O.state.doc,F+1));O.dispatch(_),oe==="row"?addRowBelow(O.state,O.dispatch):addColumnRight(O.state,O.dispatch),E(null),B.focus();},[I,V]),pe=useCallback(D=>{let B=V(),O=D.target.closest("a[href]");if(O&&B){D.preventDefault();let F=O.getAttribute("href")||"",_=B.getView();if(F.startsWith("#")){let ee=F.substring(1);if(ee&&_){let Q=null;_.state.doc.descendants((Y,le)=>{if(Q!==null)return false;if(Y.type.name==="paragraph"&&Y.attrs.bookmarks?.some(q=>q.name===ee))return Q=le,false}),Q!==null&&(p(Q),B.setSelection(Q+1));}}else if(s&&!(_&&_.state.selection.from!==_.state.selection.to)){let Q=O.textContent||"",Y=O.getAttribute("title")||void 0,le=O.closest(".ep-root.paged-editor");if(le){let N=le.getBoundingClientRect(),q=O.getBoundingClientRect(),we={top:q.bottom-N.top+4,left:q.left-N.left};s({href:F,displayText:Q,tooltip:Y,position:we});}}return}if(D.detail===2&&!l&&S){let F=D.target,_=F.closest(".layout-page-header"),ee=F.closest(".layout-page-footer");if(_||ee){let Q=F.closest("[data-page-number]"),Y=Q?Number(Q.dataset.pageNumber):1;D.preventDefault(),D.stopPropagation(),S(_?"header":"footer",Y);return}}if(!B)return;let oe=B.getView();if(oe){if(D.detail===2){let F=$(D.clientX,D.clientY);if(F!==null){let _=j(F);if(_!==null){D.preventDefault(),D.stopPropagation(),B.setCellSelection(_,_);return}let{doc:ee}=oe.state,Q=ee.resolve(F),Y=Q.parent;if(Y.isTextblock){let le=Y.textContent,N=Q.parentOffset,[q,we]=findWordBoundaries(le,N),re=Q.start()+q,ke=Q.start()+we;re<ke&&B.setSelection(re,ke);}}}if(D.detail===3){let F=$(D.clientX,D.clientY);if(F!==null){let _=oe.state.doc.resolve(F);B.setSelection(_.start(_.depth),_.end(_.depth));}}}},[V,l,$,S,s,j,p]),ye=useCallback(D=>{if(!m)return;D.preventDefault();let B=V(),O=B?.getView();if(!B||!O)return;let oe=N=>{let q=O.state.doc.nodeAt(N);if(!q||q.type.name!=="image")return null;let we=q.attrs.wrapType??"inline",re=q.attrs.cssFloat;return {pos:N,wrapType:we,cssFloat:re}},F=null,_=hitTestImage(D.target);if(_&&(F=oe(_.pos),F&&(F.inlinePositionEmu=captureInlinePositionEmu(_.imageEl,i))),!F){let N=O.state.selection;if(N instanceof NodeSelection&&N.node.type.name==="image"&&(F=oe(N.from),F)){let q=t.current?.querySelector(`.layout-run-image[data-pm-start="${N.from}"]`);q&&(F.inlinePositionEmu=captureInlinePositionEmu(q,i));}}let{from:ee,to:Q}=O.state.selection,Y=$(D.clientX,D.clientY);Y!==null&&(ee===Q||Y<ee||Y>Q)&&(B.setSelection(Y),B.focus(),l||f(true));let le=O.state.selection.from!==O.state.selection.to;m({x:D.clientX,y:D.clientY,hasSelection:le,image:F});},[V,l,m,$,i,t,f]),Te=useCallback(()=>E(null),[]);return {handlePagesMouseDown:ne,handlePagesMouseMove:Ee,handlePagesClick:pe,handlePagesContextMenu:ye,handleTableInsertClick:Ce,tableInsertButton:I,clearTableInsertTimer:H,hideTableInsertButton:Te,getPositionFromMouse:$}}function Yf(e,t){let o=e?.package;if(!o)return null;let r=n=>{if(!n)return null;for(let[d,c]of n)if(c===t)return d;return null};return r(o.headers)??r(o.footers)}function Ts(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:d,scrollToPositionImpl:c,scrollToParaIdImpl:i,scrollToPageImpl:h,setIsFocused:l}=e;return {getDocument:()=>t.current?.getDocument()??null,getState:()=>t.current?.getState()??null,getView:()=>t.current?.getView()??null,focus:()=>{t.current?.focus(),l(true);},blur:()=>{t.current?.blur(),l(false);},isFocused:()=>t.current?.isFocused()??false,dispatch:a=>t.current?.dispatch(a),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(a,m)=>t.current?.setSelection(a,m),getLayout:()=>n,relayout:()=>{let a=t.current?.getState();a&&d(a);},scrollToPosition:c,scrollToParaId:i,scrollToPage:h,getHfPmView:a=>{let m=Yf(r.current,a);return m?o.current?.getView(m)??null:null}}}function ws(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:d,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:h,scrollToPageImpl:l,setIsFocused:a,onReadyRef:m}=e;useImperativeHandle(t,()=>Ts({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:d,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:h,scrollToPageImpl:l,setIsFocused:a}),[d,c,i,h,l]),useEffect(()=>{m.current&&o.current&&m.current(Ts({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:d,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:h,scrollToPageImpl:l,setIsFocused:a}));},[d,c,h,l]);}function Is(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:d,firstPageHeaderContent:c,firstPageFooterContent:i}=e;useEffect(()=>{let l=()=>{let a=t.current?.getView();a&&(resetCanvasContext(),clearAllCaches(),o(a.state),r(a.state));};return window.document.fonts.addEventListener("loadingdone",l),()=>{window.document.fonts.removeEventListener("loadingdone",l);}},[]);let h=useRef(0);useEffect(()=>{if(h.current===0){h.current=1;return}let l=t.current?.getView();l&&o(l.state);},[n,d,c,i,o,t]);}function ks({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:d}){let c=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:d,style:{position:"absolute",left:t,top:o,width:20,height:20,borderRadius:"4px",border:"1px solid #dadce0",backgroundColor:"#f8f9fa",color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:200,padding:0,boxShadow:"none"},title:c,"aria-label":c,children:jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M6 1v10M1 6h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})}var Fs={position:"absolute",zIndex:1e4,background:"white",borderRadius:"8px",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.08)",border:"1px solid #dadce0",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px"},Jf={...Fs,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},eg={...Fs,padding:"12px",width:"320px"},Er={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},tg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},og={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},ng={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},Ds={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Hs={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},rg={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},mo={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function ig(){return jsxs("svg",{...mo,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M2 12h20"}),jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}function ag(){return jsxs("svg",{...mo,children:[jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function sg(){return jsx("svg",{...mo,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function lg(){return jsxs("svg",{...mo,children:[jsx("path",{d:"M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),jsx("path",{d:"M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]})}function cg(){return jsxs("svg",{...mo,children:[jsx("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),jsx("line",{x1:"4",y1:"15",x2:"20",y2:"15"}),jsx("line",{x1:"10",y1:"3",x2:"8",y2:"21"}),jsx("line",{x1:"16",y1:"3",x2:"14",y2:"21"})]})}function dg(){return jsxs("svg",{...mo,children:[jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function Ir({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:og,title:e,onClick:t,children:o})}function Ls({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:d,readOnly:c}){let{t:i}=b(),[h,l]=useState("view"),[a,m]=useState(""),[s,S]=useState(""),u=useRef(null),g=useRef(null);useEffect(()=>{e&&(l("view"),m(e.displayText),S(e.href));},[e]),useEffect(()=>{h==="edit"&&requestAnimationFrame(()=>{g.current?.focus(),g.current?.select();});},[h]),useEffect(()=>{if(!e)return;let y=false,R=T=>{u.current&&!u.current.contains(T.target)&&d();},P=setTimeout(()=>{y||document.addEventListener("mousedown",R);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",R);}},[e,d]),useEffect(()=>{if(!e)return;let y=R=>{R.key==="Escape"&&(h==="edit"?l("view"):d());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,h,d]);let b$1=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),x=useCallback(()=>{e&&(m(e.displayText),S(e.href),l("edit"));},[e]),f=useCallback(()=>{let y=s.trim();y&&r(a.trim()||y,y);},[a,s,r]),p=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),f());},[f]);if(!e)return null;let v=e.position.top,C=e.position.left;return h==="edit"?jsxs("div",{ref:u,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...eg,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:Ds,children:[jsx("span",{style:Er,children:jsx(cg,{})}),jsx("input",{ref:g,type:"text",style:Hs,value:a,onChange:y=>m(y.target.value),onKeyDown:p,placeholder:i("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...Ds,marginBottom:0},children:[jsx("span",{style:Er,children:jsx(dg,{})}),jsx("input",{type:"text",style:Hs,value:s,onChange:y=>S(y.target.value),onKeyDown:p,placeholder:i("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...rg,opacity:s.trim()?1:.5,cursor:s.trim()?"pointer":"default"},onClick:f,disabled:!s.trim(),children:i("common.apply")})]})]}):jsxs("div",{ref:u,className:"ep-hyperlink-popup",style:{...Jf,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:Er,children:jsx(ig,{})}),jsx("a",{href:e.href,style:tg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:ng}),jsx(Ir,{title:i("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(ag,{})}),!c&&jsxs(Fragment,{children:[jsx(Ir,{title:i("hyperlinkPopup.editLink"),onClick:x,children:jsx(sg,{})}),jsx(Ir,{title:i("hyperlinkPopup.removeLink"),onClick:n,children:jsx(lg,{})})]})]})}var vg=forwardRef(function(t,o){let{document:r,styles:n,theme:d,sectionProperties:c,finalSectionProperties:i,headerContent:h,footerContent:l,firstPageHeaderContent:a$1,firstPageFooterContent:m,readOnly:s=false,pageGap:S=24,zoom:u=1,onDocumentChange:g,onSelectionChange:b,externalPlugins:x=Na,extensionManager:f,onReady:p,onRenderedDomContextReady:v,pluginOverlays:C,onHeaderFooterDoubleClick:y,hfEditMode:R,onBodyClick:P,onHfTransaction:T,className:w,style:I,commentsSidebarOpen:E=false,sidebarOverlay:M,scrollContainerRef:H,onHyperlinkClick:L,onContextMenu:z,onAnchorPositionsChange:G,onTotalPagesChange:W,resolvedCommentIds:$,hyperlinkPopupData:V,onHyperlinkPopupNavigate:j,onHyperlinkPopupCopy:ne,onHyperlinkPopupEdit:se,onHyperlinkPopupRemove:ue,onHyperlinkPopupClose:Ee}=t,Ce=useCallback(()=>H&&typeof H=="object"?H.current:pe.current,[H]),pe=useRef(null),ye=useRef(null),Te=useRef(null),D=useRef(null),B=useRef(null),O=useRef(r);O.current=r;let{handlePMKeyDown:oe}=a({pagesContainerRef:ye}),F=useRef(b),_=useRef(g),ee=useRef(p),Q=useRef(v);F.current=b,_.current=g,ee.current=p,Q.current=v;let[Y,le]=useState(false);useEffect(()=>{if(R){let X=D.current?.getView();if(X){try{let xe=X.state.tr.setSelection(TextSelection.create(X.state.doc,0));X.dispatch(xe);}catch{}X.dom.blur?.();}le(false);}},[R]);let N=useRef(false),q=useMemo(()=>new LayoutSelectionGate,[]),we=useCallback(X=>{let xe=B.current;if(!xe)return null;let fe=r?.package;if(!fe)return null;let Ne=so=>{if(!so)return null;for(let[kt,Mt]of so)if(Mt===X)return kt;return null},je=Ne(fe.headers)??Ne(fe.footers);return je?xe.getView(je)?.state.doc??null:null},[r]),{layout:re,blocks:ke,measures:He,decorationSyncToken:Ie,notifyDecorationLayer:he,contentWidth:ie,runLayoutPipeline:te,scheduleLayout:me}=rs({document:r,styles:n,theme:d,sectionProperties:c,finalSectionProperties:i,headerContent:h,footerContent:l,firstPageHeaderContent:a$1,firstPageFooterContent:m,getHfPmDoc:we,pageGap:S,zoom:u,resolvedCommentIds:$,pagesContainerRef:ye,viewportLayoutRef:Te,hiddenPMRef:D,syncCoordinator:q,getScrollContainer:Ce,onTotalPagesChange:W,onAnchorPositionsChange:G,onRenderedDomContextReady:v}),{selectionRects:U,caretPosition:ce,selectedImageInfo:de,setSelectionRects:_e,setCaretPosition:rt,setSelectedImageInfo:io,buildImageSelectionInfo:ut,updateSelectionOverlay:We,handleSelectionChange:vo}=ss({layout:re,blocks:ke,measures:He,zoom:u,containerRef:pe,pagesContainerRef:ye,hiddenPMRef:D,syncCoordinator:q,isImageInteractingRef:N,onSelectionChangeRef:F}),it=useCallback((X,xe)=>{if(he(),X.docChanged){q.incrementStateSeq(),me(xe);let fe=D.current?.getDocument();fe&&_.current?.(fe);}q.requestRender(),X.docChanged||We(xe);},[me,We,q,he]),{scrollToPositionImpl:Ut,scrollToPageImpl:at,scrollToParaIdImpl:pt}=ps({layout:re,blocks:ke,measures:He,pagesContainerRef:ye,hiddenPMRef:D,getScrollContainer:Ce}),{handlePagesMouseDown:$t,handlePagesMouseMove:Pt,handlePagesClick:Tt,handlePagesContextMenu:Ze,handleTableInsertClick:Qe,tableInsertButton:mt,clearTableInsertTimer:wt,hideTableInsertButton:Co,getPositionFromMouse:Kt}=Ps({pagesContainerRef:ye,hiddenPMRef:D,getHfView:useCallback(()=>{let X=B.current;if(!X)return null;let xe=r?.package?.document?.finalSectionProperties,fe=R==="header"?xe?.headerReferences:xe?.footerReferences,Ne=fe?.find(je=>je.type==="default")??fe?.find(je=>je.type==="first")??null;return Ne?.rId?X.getView(Ne.rId):null},[R,r]),layout:re,blocks:ke,measures:He,zoom:u,readOnly:s,hfEditMode:R,onBodyClick:P,onContextMenu:z,onHyperlinkClick:L,onHeaderFooterDoubleClick:y,setSelectedImageInfo:io,setSelectionRects:_e,setCaretPosition:rt,buildImageSelectionInfo:ut,setIsFocused:le,scrollToPositionImpl:Ut}),st=useCallback(X=>{if(s)return;let xe=X.target;xe.closest(".docx-comments-sidebar")||xe.closest(".docx-unified-sidebar")||xe.closest(".ep-hyperlink-popup")||xe.closest("[data-hf-r-id]")||(D.current?.focus(),le(true));},[s]),be=useCallback(X=>{let xe=X.relatedTarget;xe&&pe.current?.contains(xe)||xe?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||le(false);},[]),{handleImageResize:ve,handleImageResizeStart:Ae,handleImageResizeEnd:Gt,handleImageDragMove:Et,handleImageDragStart:ao,handleImageDragEnd:ft}=cs({pagesContainerRef:ye,hiddenPMRef:D,zoom:u,isImageInteractingRef:N,getPositionFromMouse:Kt}),Fe=useCallback(X=>{if(s)return;let xe=X.target;if(!xe?.closest("[data-hf-r-id]")&&!xe?.closest(".ep-hyperlink-popup")){if(D.current?.isFocused()||(D.current?.focus(),le(true)),X.key===" "&&!X.ctrlKey&&!X.metaKey&&!X.nativeEvent.isComposing){X.preventDefault();let fe=D.current?.getView();if(fe){let{from:Ne,to:je}=fe.state.selection;fe.someProp("handleTextInput",kt=>kt(fe,Ne,je," "))||fe.dispatch(fe.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(X.key)&&!X.metaKey&&X.ctrlKey,X.key==="Home"&&(X.metaKey||X.ctrlKey)){let fe=Ce();fe&&(fe.scrollTop=0);}if(X.key==="End"&&(X.metaKey||X.ctrlKey)){let fe=Ce();fe&&(fe.scrollTop=fe.scrollHeight);}}},[s,Ce]),It=useCallback(X=>{s||X.target.closest(".docx-comments-sidebar")||X.target.closest(".docx-unified-sidebar")||D.current?.isFocused()||(D.current?.focus(),le(true));},[s]),Se=useCallback(X=>{te(X.state),We(X.state),s||requestAnimationFrame(()=>{X.focus(),le(true);});},[te,We,s]);Is({hiddenPMRef:D,runLayoutPipeline:te,updateSelectionOverlay:We,headerContent:h,footerContent:l,firstPageHeaderContent:a$1,firstPageFooterContent:m}),ws({ref:o,hiddenPMRef:D,hiddenHfPMsRef:B,documentRef:O,layout:re,runLayoutPipeline:te,scrollToPositionImpl:Ut,scrollToParaIdImpl:pt,scrollToPageImpl:at,setIsFocused:le,onReadyRef:ee});let So=useMemo(()=>re?bn(re,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[re,S]);return jsxs("div",{ref:pe,className:`ep-root paged-editor ${w??""}`,style:{...za,...I},tabIndex:0,onFocus:st,onBlur:be,onKeyDown:Fe,onMouseDown:It,children:[jsx(Ra,{ref:D,document:r,styles:n,widthPx:ie,readOnly:s||!!R,onTransaction:it,onSelectionChange:vo,externalPlugins:x,extensionManager:f,onEditorViewReady:Se,onKeyDown:oe}),jsx(pr,{ref:B,document:r,styles:n,theme:d,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(X,xe,fe)=>{if(fe){let Ne=D.current?.getState();Ne&&te(Ne);}T?.(X,xe,fe);}}),jsxs("div",{ref:Te,style:{..._a,minHeight:So,marginBottom:u!==1?So*(u-1):void 0,transform:(()=>{let X=[];return E&&X.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),u!==1&&X.push(`scale(${u})`),X.length>0?X.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:ye,className:`paged-editor__pages${s?" paged-editor--readonly":""}${R?` paged-editor--hf-editing paged-editor--editing-${R}`:""}`,style:Wa,onMouseDown:$t,onMouseMove:Pt,onClick:Tt,onContextMenu:Ze,"aria-hidden":"true"}),jsx(wa,{selectionRects:R?[]:U,caretPosition:R?null:ce,isFocused:Y&&!R,pageGap:S,readOnly:s}),jsx(Da,{imageInfo:de,zoom:u,isFocused:Y,onResize:ve,onResizeStart:Ae,onResizeEnd:Gt,onDragMove:Et,onDragStart:ao,onDragEnd:ft,onContextMenu:Ze}),mt&&jsx(ks,{type:mt.type,x:mt.x,y:mt.y,onMouseDown:Qe,onMouseEnter:wt,onMouseLeave:Co}),C&&jsx("div",{className:"paged-editor__plugin-overlays",style:Va,children:C}),jsx(La,{getView:()=>D.current?.getView()??null,getPagesContainer:()=>ye.current,zoom:u,decorationSyncToken:Ie,syncCoordinator:q})]}),M&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:So*u,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:M})}),V&&j&&ne&&se&&ue&&Ee&&jsx(Ls,{data:V,onNavigate:j,onCopy:ne,onEdit:se,onRemove:ue,onClose:Ee,readOnly:s})]})}),Ns=memo(vg);var Ws={position:"absolute",left:0,right:0,bottom:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 0",fontSize:11,color:"#4285f4",userSelect:"none",pointerEvents:"auto"},Vs={fontWeight:500,letterSpacing:.3},Eg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},Ig={position:"absolute",right:0,top:"100%",background:"white",border:"1px solid #dadce0",borderRadius:4,boxShadow:"0 2px 6px rgba(0,0,0,0.15)",zIndex:h.dropdown,minWidth:160,padding:"4px 0"},Tn={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},$s=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:d,onSave:c,onClose:i,onRemove:h$1},l){let a=useRef(r);a.current=r;let[m,s]=useState(false),S=useRef(null),[u,g]=useState(null);useLayoutEffect(()=>{let R=()=>{let T=d.getBoundingClientRect(),w=n.getBoundingClientRect();g({top:w.top-T.top+d.scrollTop,left:w.left-T.left+d.scrollLeft,width:w.width,height:w.height});};R();let P=d.closest('[style*="overflow"]')||d;return P.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{P.removeEventListener("scroll",R),window.removeEventListener("resize",R);}},[n,d]);let b$1=useRef(false);useEffect(()=>{!r||b$1.current||(b$1.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let x=useCallback(()=>{if(!a.current)return;let R=proseDocToBlocks(a.current.state.doc);c(R);},[c]),f=useCallback(()=>{x(),i();},[x,i]);useEffect(()=>{function R(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),f());}return document.addEventListener("keydown",R,true),()=>document.removeEventListener("keydown",R,true)},[f]),useEffect(()=>{if(!m)return;function R(P){S.current&&!S.current.contains(P.target)&&s(false);}return document.addEventListener("mousedown",R),()=>document.removeEventListener("mousedown",R)},[m]),useImperativeHandle(l,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let R=a.current;return R?undo(R.state,R.dispatch):false},redo:()=>{let R=a.current;return R?redo(R.state,R.dispatch):false}}));let{t:p}=b(),v=p(o==="header"?"headerFooter.header":"headerFooter.footer");if(!u)return null;let C={position:"absolute",top:u.top,left:u.left,width:u.width,height:u.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},y={...Ws,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:C,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:y,children:[jsx("span",{style:Vs,children:v}),jsx(Us,{label:v,showOptions:m,setShowOptions:s,optionsRef:S,onRemove:h$1,onClose:f,viewRef:a})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:Ws,children:[jsx("span",{style:Vs,children:v}),jsx(Us,{label:v,showOptions:m,setShowOptions:s,optionsRef:S,onRemove:h$1,onClose:f,viewRef:a})]})]})});function Us({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:d,viewRef:c}){let{t:i}=b(),h=l=>{let a=c.current;if(!a)return;let{$from:m,from:s}=a.state.selection,S=a.state.storedMarks||m.marks(),u=schema.nodes.field.create({fieldType:l,instruction:` ${l} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),g=a.state.tr.insert(s,u.mark(S));a.dispatch(g),a.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:Eg,onClick:l=>{l.stopPropagation(),o(a=>!a);},onMouseDown:l=>l.stopPropagation(),children:[i("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:Ig,onMouseDown:l=>l.stopPropagation(),children:[jsx("button",{type:"button",style:Tn,onClick:()=>{o(false),h("PAGE");},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:Tn,onClick:()=>{o(false),h("NUMPAGES");},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:Tn,onClick:()=>{o(false),n();},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:Tn,onClick:()=>{o(false),d();},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:i("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Ks=resolveItemPositions;function Ys({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:d,onExpandedItemChange:c,activeItemId:i}){let{t:h}=b(),l=i??null,a=useRef(l);a.current=l;let[m,s]=useState(false),S=useRef(new Map),u=useRef(new Map),g=useRef(new Set),b$1=useRef(null),x=useRef(new Map),f=useRef(new Map),[p,v]=useState(0),C=useMemo(()=>Ks(e,t,o,n,S.current,u.current),[e,t,o,n,p]),y=C.length>0,R=useMemo(()=>{let I=new Map;for(let E of C)I.set(E.item.id,E.y);return I},[C]);useEffect(()=>{for(let I of C)g.current.add(I.item.id);},[C]);let P=useCallback(()=>{let I=false;for(let[E,M]of x.current){let H=M.offsetHeight;S.current.get(E)!==H&&(S.current.set(E,H),I=true);}I&&v(E=>E+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),E=setTimeout(()=>{P(),s(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(E);}},[e.length,P]),useEffect(()=>{let I=d?.current;if(!I)return;let E=new ResizeObserver(()=>{requestAnimationFrame(()=>v(M=>M+1));});return E.observe(I),()=>E.disconnect()},[d]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[l,P]),useEffect(()=>{if(!l)return;let I=x.current.get(l);if(!I){let H=requestAnimationFrame(()=>v(L=>L+1));return ()=>cancelAnimationFrame(H)}let E,M=new ResizeObserver(()=>{cancelAnimationFrame(E),E=requestAnimationFrame(()=>{S.current.set(l,I.offsetHeight),v(H=>H+1);});});return M.observe(I),()=>{cancelAnimationFrame(E),M.disconnect();}},[l]);let T=useCallback(I=>{let E=f.current.get(I);return E||(E=M=>{M?(x.current.set(I,M),S.current.set(I,M.offsetHeight)):(x.current.delete(I),S.current.delete(I));},f.current.set(I,E)),E},[]),w=useCallback(I=>{c?.(a.current===I?null:I);},[c]);return e.length===0?null:jsx("aside",{ref:b$1,className:"docx-unified-sidebar",role:"complementary","aria-label":h("sidebar.ariaLabel"),style:{position:"absolute",top:0,left:`calc(50% - ${SIDEBAR_DOCUMENT_SHIFT}px + ${r*n/2+SIDEBAR_PAGE_GAP}px)`,width:SIDEBAR_WIDTH,fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,backgroundColor:"transparent",overflowY:"visible",overflowX:"visible",opacity:y?1:0,transition:"opacity 0.15s ease"},onMouseDown:I=>I.stopPropagation(),children:jsx("div",{style:{position:"relative"},children:e.map(I=>{let E=R.get(I.id),M=l===I.id,L=!g.current.has(I.id)&&E!==void 0,z=y&&!R.has(I.id),G=y?E!==void 0?{position:"absolute",top:E,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},W=z?"none":L||I.isTemporary?"opacity 0.2s ease":m?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...G,transition:W},children:I.render({isExpanded:M,onToggleExpand:()=>w(I.id),measureRef:T(I.id)})},I.id)})})})}function qs({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:d,onMarkerClick:c}){let{t:i}=b(),l=e.filter(a=>a.parentId==null).map(a=>{let m=d.has(a.id);if(!m&&n||m&&n)return null;let s=t.get(`comment-${a.id}`);return s==null?null:{comment:a,isResolved:m,y:s}}).filter(Boolean);return l.length===0?null:jsx("div",{className:"docx-comment-margin-markers",style:{position:"absolute",top:0,left:`calc(50% + ${r*o/2+6}px)`,zIndex:30,pointerEvents:"none"},onMouseDown:a=>a.stopPropagation(),children:l.map(({comment:a,isResolved:m,y:s})=>jsx("button",{onClick:()=>c(a.id),title:i(m?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:s*o,left:0,width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:4,background:"transparent",cursor:"pointer",pointerEvents:"auto",color:"#5f6368",padding:0,fontFamily:"inherit"},onMouseOver:S=>{S.currentTarget.style.opacity="0.7";},onMouseOut:S=>{S.currentTarget.style.opacity="1";},children:jsx(b$1,{name:m?"chat_bubble_check":"chat_bubble_outline",size:18})},a.id))})}function Qs({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:d,initialSectionProperties:c,finalSectionProperties:i,headerContent:h,footerContent:l,firstPageHeaderContent:a,firstPageFooterContent:m,hfEditPosition:s,setHfEditPosition:S,hfEditIsFirstPage:u,onHeaderFooterDoubleClick:g,onHeaderFooterSave:b,onRemoveHeaderFooter:x,onBodyClick:f,getHfTargetElement:p,zoom:v,readOnly:C,extensionManager:y,externalPlugins:R,onDocumentChange:P,onSelectionChange:T,onPagedSelectionChange:w,onReady:I,onEditorViewReady:E,onRenderedDomContextReady:M,pluginOverlays:H,onHyperlinkClick:L,hyperlinkPopupData:z,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:$,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:j,onContextMenu:ne,sidebarOpen:se,sidebarItems:ue,anchorPositions:Ee,onAnchorPositionsChange:Ce,pluginRenderedDomContext:pe,pageWidthPx:ye,expandedSidebarItem:Te,setExpandedSidebarItem:D,comments:B,resolvedCommentIds:O,resolvedIdsForRender:oe,setShowCommentsSidebar:F,onTotalPagesChange:_,floatingCommentBtn:ee,isAddingComment:Q,setCommentSelectionRange:Y,setAddCommentYPosition:le,setIsAddingComment:N,setFloatingCommentBtn:q}){let we=s?u?s==="header"?a:m:s==="header"?h:l:null,[re,ke]=useState(null),[He,Ie]=useState([]),he=useCallback(ie=>computeHfCaretRectFromView(ie),[]);return useEffect(()=>{if(!s){ke(null),Ie([]),invalidateHfDomCache();return}let ie=()=>{let de=t.current?.getView();if(de){ke(he(de)),Ie(computeHfSelectionRectsFromView(de));let _e=window.document.querySelector(".paged-editor__pages");_e&&Do(_e,de.state,{scope:"hf"});}},te=window.document.querySelector(".paged-editor__pages"),me=()=>{invalidateHfDomCache(),ie();};te?.addEventListener("painter:painted",me);let U=requestAnimationFrame(ie),ce=()=>ie();return window.addEventListener("resize",ce),()=>{cancelAnimationFrame(U),te?.removeEventListener("painter:painted",me),window.removeEventListener("resize",ce),invalidateHfDomCache();}},[s,t,he]),jsxs(Fragment,{children:[jsx(Ns,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||d,sectionProperties:c,finalSectionProperties:i,headerContent:h,footerContent:l,firstPageHeaderContent:a,firstPageFooterContent:m,onHeaderFooterDoubleClick:g,hfEditMode:s,onBodyClick:f,onHfTransaction:(ie,te,me)=>{let U=window.document.querySelector(".paged-editor__pages"),ce=false,de=()=>{ce||(ce=true,invalidateHfDomCache(),ke(he(te)),Ie(computeHfSelectionRectsFromView(te)),U&&Do(U,te.state,{scope:"hf"}));};U?.addEventListener("painter:painted",de,{once:true}),requestAnimationFrame(()=>{ce||(U?.removeEventListener("painter:painted",de),de());}),T(extractSelectionState(te.state));},zoom:v,readOnly:C,extensionManager:y,onDocumentChange:P,onSelectionChange:w,externalPlugins:R,onReady:ie=>{I(ie);let te=ie.getView();te&&E?.(te);},onRenderedDomContextReady:M,pluginOverlays:H,onHyperlinkClick:L,hyperlinkPopupData:z,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:$,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:j,onContextMenu:ne,commentsSidebarOpen:se,onAnchorPositionsChange:Ce,onTotalPagesChange:_,resolvedCommentIds:oe,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[ue.length>0&&jsx(Ys,{items:ue,anchorPositions:Ee,renderedDomContext:pe??null,pageWidth:ye,zoom:v,editorContainerRef:o$1,onExpandedItemChange:D,activeItemId:Te}),jsx(qs,{comments:B,anchorPositions:Ee,zoom:v,pageWidth:ye,sidebarOpen:se,resolvedCommentIds:O,onMarkerClick:()=>F(true)})]})}),ee!=null&&!Q&&!C&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:ie=>{ie.preventDefault(),ie.stopPropagation();let te=e.current?.getView();if(te){let{from:me,to:U}=te.state.selection;if(me!==U){Y({from:me,to:U});let ce=te.state.schema.marks.comment.create({commentId:yt}),de=te.state.tr.addMark(me,U,ce);de.setSelection(TextSelection.create(de.doc,U)),te.dispatch(de);}}le(ee.top),F(true),N(true),q(null);},style:{position:"absolute",top:ee.top,left:ee.left,transform:"translate(-50%, -50%)",zIndex:50,width:28,height:28,borderRadius:6,border:"1px solid rgba(26, 115, 232, 0.3)",backgroundColor:"#fff",color:"#1a73e8",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 1px 3px rgba(60,64,67,0.2)",transition:"background-color 0.15s ease, box-shadow 0.15s ease"},onMouseOver:ie=>{ie.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",ie.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:ie=>{ie.currentTarget.style.backgroundColor="#fff",ie.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),s&&(re||He.length>0)&&(()=>{let ie=window.document.querySelector(".paged-editor__pages"),te=ie?.parentElement;if(!ie||!te)return null;let me=te.getBoundingClientRect(),U=(ce,de)=>({top:ce-me.top+te.scrollTop,left:de-me.left+te.scrollLeft});return createPortal(jsxs(Fragment,{children:[re&&He.length===0&&jsxs(Fragment,{children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",...U(re.top,re.left),width:2,height:re.height,background:"#4285f4",pointerEvents:"none",zIndex:11,animation:"hf-caret-blink 1.06s steps(1) infinite"}}),jsx("style",{children:"@keyframes hf-caret-blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }"})]}),He.map((ce,de)=>{let _e=U(ce.top,ce.left);return jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:_e.top,left:_e.left,width:ce.width,height:ce.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${de}-${ce.top}-${ce.left}`)})]}),te)})(),s&&we&&(()=>{let ie=p(s),te=r.current;if(!ie||!te)return null;let me=e.current?.getHfPmView(we)??null;return jsx($s,{ref:t,headerFooter:we,position:s,view:me,targetElement:ie,parentElement:te,onSave:b,onClose:()=>{S(null),ke(null);},onRemove:x})})()]})}function Js({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:d,setCommentSelectionRange:c,setAddCommentYPosition:i,setFloatingCommentBtn:h,setHfEditPosition:l,setHfEditIsFirstPage:a,setAnchorPositions:m,clearFindReplaceMatches:s,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),d(false),c(null),i(null),h(null),l(null),a(false),m(ln),s(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,d,c,i,h,l,a,m,s,S])}}var Vg=createContext(null);function tl({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((l,a)=>{t.showError(l,a);},[t]),n=useCallback((l,a)=>{t.showWarning(l,a);},[t]),d=useCallback((l,a)=>{t.showInfo(l,a);},[t]),c=useCallback(l=>{t.dismiss(l);},[t]),i=useCallback(()=>{t.clearAll();},[t]),h=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:d,dismissNotification:c,clearNotifications:i}),[o.notifications,r,n,d,c,i]);return jsxs(Vg.Provider,{value:h,children:[e,jsx(Ug,{notifications:o.notifications,onDismiss:c})]})}function Ug({notifications:e,onDismiss:t}){let o=e.filter(n=>!n.dismissed);return o.length===0?null:jsx("div",{className:"docx-notification-container",style:{position:"fixed",top:"16px",right:"16px",zIndex:10001,display:"flex",flexDirection:"column",gap:"8px",maxWidth:"400px"},children:o.map(n=>jsx($g,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function $g({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),c=(g=>{switch(g){case "error":return {bg:"var(--doc-error-bg)",border:"#f5c6cb",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"#ffeeba",text:"#856404",icon:"var(--doc-warning)"};case "info":return {bg:"#e8f4fd",border:"#b8daff",text:"#0c5460",icon:"var(--doc-primary)"}}})(e.severity),i={background:c.bg,border:`1px solid ${c.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},h={display:"flex",alignItems:"flex-start",gap:"8px"},l={color:c.icon,flexShrink:0},a={flex:1,minWidth:0},m={color:c.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},s={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:c.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:c.text},u=g=>{switch(g){case "error":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 6v5M10 13v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "warning":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("path",{d:"M10 3L18 17H2L10 3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),jsx("path",{d:"M10 8v4M10 14v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "info":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 9v5M10 6v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return jsxs("div",{className:`docx-notification-toast docx-notification-${e.severity}`,style:i,children:[jsx("style",{children:`
14
14
  @keyframes slideIn {
15
15
  from {
16
16
  opacity: 0;
@@ -21,13 +21,13 @@ body { background: white; }
21
21
  transform: translateX(0);
22
22
  }
23
23
  }
24
- `}),jsxs("div",{style:u,children:[jsx("span",{style:l,children:m(e.severity)}),jsxs("div",{style:p,children:[jsx("div",{style:f,children:e.message}),e.details&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:()=>n(!r),style:{...S,marginTop:"4px",fontSize:"12px",padding:"2px 8px"},children:o(r?"errors.hideDetails":"errors.showDetails")}),r&&jsx("div",{style:a,children:e.details})]})]}),jsx("button",{type:"button",onClick:t,style:S,title:o("common.dismiss"),children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:jsx("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})}var xn=class extends Component{constructor(o){super(o);b$5(this,"resetError",()=>{this.setState({hasError:false,error:null,errorInfo:null});});this.state={hasError:false,error:null,errorInfo:null};}static getDerivedStateFromError(o){return {hasError:true,error:o}}componentDidCatch(o,r){this.setState({errorInfo:r}),console.error("ErrorBoundary caught an error:",o,r),this.props.onError&&this.props.onError(o,r);}render(){if(this.state.hasError){let{fallback:o,showDetails:r=true}=this.props,{error:n,errorInfo:d}=this.state;return o?typeof o=="function"?o(n,this.resetError):o:jsx(mg,{error:n,errorInfo:d,showDetails:r,onReset:this.resetError})}return this.props.children}};function mg({error:e,errorInfo:t,showDetails:o,onReset:r}){let{t:n}=b(),d={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"40px",textAlign:"center",minHeight:"200px",background:"white",borderRadius:"8px",border:"1px solid var(--doc-border)",margin:"20px"},s={color:"var(--doc-error)",marginBottom:"16px"},i={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},u={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},l={width:"100%",maxWidth:"600px",marginBottom:"16px",padding:"12px",background:"var(--doc-error-bg)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:"200px",overflow:"auto"},p={padding:"10px 20px",background:"var(--doc-primary)",color:"white",border:"none",borderRadius:"4px",fontSize:"14px",cursor:"pointer"};return jsxs("div",{className:"docx-error-fallback",style:d,children:[jsx("div",{style:s,children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",children:[jsx("circle",{cx:"24",cy:"24",r:"20",stroke:"currentColor",strokeWidth:"2"}),jsx("path",{d:"M24 14v12M24 30v2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})}),jsx("h2",{style:i,children:n("errors.somethingWentWrong")}),jsx("p",{style:u,children:n("errors.errorDescription")}),o&&jsxs("div",{style:l,children:[jsx("strong",{children:n("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
24
+ `}),jsxs("div",{style:h,children:[jsx("span",{style:l,children:u(e.severity)}),jsxs("div",{style:a,children:[jsx("div",{style:m,children:e.message}),e.details&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:()=>n(!r),style:{...S,marginTop:"4px",fontSize:"12px",padding:"2px 8px"},children:o(r?"errors.hideDetails":"errors.showDetails")}),r&&jsx("div",{style:s,children:e.details})]})]}),jsx("button",{type:"button",onClick:t,style:S,title:o("common.dismiss"),children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:jsx("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})}var kn=class extends Component{constructor(o){super(o);b$5(this,"resetError",()=>{this.setState({hasError:false,error:null,errorInfo:null});});this.state={hasError:false,error:null,errorInfo:null};}static getDerivedStateFromError(o){return {hasError:true,error:o}}componentDidCatch(o,r){this.setState({errorInfo:r}),console.error("ErrorBoundary caught an error:",o,r),this.props.onError&&this.props.onError(o,r);}render(){if(this.state.hasError){let{fallback:o,showDetails:r=true}=this.props,{error:n,errorInfo:d}=this.state;return o?typeof o=="function"?o(n,this.resetError):o:jsx(Kg,{error:n,errorInfo:d,showDetails:r,onReset:this.resetError})}return this.props.children}};function Kg({error:e,errorInfo:t,showDetails:o,onReset:r}){let{t:n}=b(),d={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"40px",textAlign:"center",minHeight:"200px",background:"white",borderRadius:"8px",border:"1px solid var(--doc-border)",margin:"20px"},c={color:"var(--doc-error)",marginBottom:"16px"},i={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},h={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},l={width:"100%",maxWidth:"600px",marginBottom:"16px",padding:"12px",background:"var(--doc-error-bg)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:"200px",overflow:"auto"},a={padding:"10px 20px",background:"var(--doc-primary)",color:"white",border:"none",borderRadius:"4px",fontSize:"14px",cursor:"pointer"};return jsxs("div",{className:"docx-error-fallback",style:d,children:[jsx("div",{style:c,children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",children:[jsx("circle",{cx:"24",cy:"24",r:"20",stroke:"currentColor",strokeWidth:"2"}),jsx("path",{d:"M24 14v12M24 30v2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})}),jsx("h2",{style:i,children:n("errors.somethingWentWrong")}),jsx("p",{style:h,children:n("errors.errorDescription")}),o&&jsxs("div",{style:l,children:[jsx("strong",{children:n("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
25
25
 
26
- `,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:p,children:n("errors.tryAgain")})]})}var bg=15840,Ys=1440,yg=1440,vg=567,Xs=20,Cg="var(--doc-text-muted)",Sg="var(--doc-text-subtle)",xg="var(--doc-primary)",Rg="var(--doc-primary)",Pg="var(--doc-primary-hover)";function qs({sectionProps:e,zoom:t=1,editable:o=false,onTopMarginChange:r,onBottomMarginChange:n,unit:d="inch",className:s="",style:i}){let{t:u}=b(),[l,p]=useState(null),[f,a]=useState(null),S=useRef(null),m=e?.pageHeight??bg,g=e?.marginTop??Ys,h=e?.marginBottom??Ys,R=twipsToPixels(m)*t,b$1=twipsToPixels(g)*t,c=twipsToPixels(h)*t,v=useCallback((x,E)=>{o&&(x.preventDefault(),p(E));},[o]),C=useCallback(x=>{if(!l||!S.current)return;let E=S.current.getBoundingClientRect(),T=x.clientY-E.top,I=pixelsToTwips(T/t);if(l==="topMargin"){let k=m-h-720,L=Math.max(0,Math.min(I,k));r?.(Math.round(L));}else if(l==="bottomMargin"){let k=m-I,L=m-g-720,B=Math.max(0,Math.min(k,L));n?.(Math.round(B));}},[l,t,m,g,h,r,n]),y=useCallback(()=>{p(null);},[]);useEffect(()=>{if(l)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",y),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",y);}},[l,C,y]);let w=wg(m,t,d),P={position:"relative",width:Xs,height:formatPx(R),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:l?"ns-resize":"default",...i};return jsxs("div",{ref:S,className:`docx-vertical-ruler ${s}`,style:P,role:"slider","aria-label":u("ruler.vertical"),"aria-orientation":"vertical",children:[jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:w.map((x,E)=>jsx(Tg,{tick:x},E))}),jsx(js,{type:"topMargin",position:b$1,editable:o,isDragging:l==="topMargin",isHovered:f==="topMargin",onMouseEnter:()=>a("topMargin"),onMouseLeave:()=>a(null),onMouseDown:x=>v(x,"topMargin")}),jsx(js,{type:"bottomMargin",position:R-c,editable:o,isDragging:l==="bottomMargin",isHovered:f==="bottomMargin",onMouseEnter:()=>a("bottomMargin"),onMouseLeave:()=>a(null),onMouseDown:x=>v(x,"bottomMargin")})]})}function Tg({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:Sg},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:Cg,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxs(Fragment,{children:[jsx("div",{style:t}),e.label&&jsx("div",{style:o,children:e.label})]})}function js({type:e,position:t,editable:o,isDragging:r,isHovered:n,onMouseEnter:d,onMouseLeave:s,onMouseDown:i}){let{t:u}=b(),l=r?Pg:n?Rg:xg,p={position:"absolute",top:formatPx(t-5),right:0,width:Xs,height:10,cursor:o?"ns-resize":"default",zIndex:r?10:1},f={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${l}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:p,onMouseEnter:d,onMouseLeave:s,onMouseDown:i,role:"slider","aria-label":u(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:o?0:-1,children:jsx("div",{style:f})})}function wg(e,t,o){let r=[];if(o==="inch"){let n=yg/8,d=Math.ceil(e/n);for(let s=0;s<=d;s++){let i=s*n;if(i>e)break;let u=twipsToPixels(i)*t;if(s%8===0){let l=s/8;r.push({position:u,width:10,label:l>0?String(l):void 0});}else s%4===0?r.push({position:u,width:6}):s%2===0?r.push({position:u,width:4}):r.push({position:u,width:2});}}else {let n=vg/10,d=Math.ceil(e/n);for(let s=0;s<=d;s++){let i=s*n;if(i>e)break;let u=twipsToPixels(i)*t;if(s%10===0){let l=s/10;r.push({position:u,width:10,label:l>0?String(l):void 0});}else s%5===0?r.push({position:u,width:6}):r.push({position:u,width:3});}}return r}var Tr=30,wr=240,Js=16,Dg=24,el=Tr+wr+Js,Er=48,Lg=32,tl=Er+Lg+Js,ol=Rl.memo(function({headings:t,onHeadingClick:o,onClose:r,topOffset:n=0,scrollLeft:d=0}){let{t:s}=b(),[i,u]=useState(false);return useEffect(()=>{requestAnimationFrame(()=>u(true));},[]),jsxs("nav",{className:"docx-outline-nav",role:"navigation","aria-label":s("documentOutline.ariaLabel"),style:{position:"absolute",top:n,left:Tr-d,bottom:0,width:wr,paddingTop:Dg,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:i?"translateX(0)":`translateX(-${Tr+wr}px)`,transition:"transform 0.15s ease-out"},onMouseDown:l=>l.stopPropagation(),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 16px 12px"},children:[jsx("button",{onClick:r,"aria-label":s("documentOutline.closeAriaLabel"),style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:"50%",display:"flex",alignItems:"center",color:"#444746"},title:s("documentOutline.closeTitle"),children:jsx(b$1,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"#1f1f1f",letterSpacing:"0.01em"},children:s("documentOutline.title")})]}),jsx("div",{style:{overflowY:"auto",flex:1,paddingLeft:20},children:t.length===0?jsx("div",{style:{padding:"8px 16px",color:"#80868b",fontSize:13,lineHeight:"20px"},children:s("documentOutline.noHeadings")}):t.map((l,p)=>jsx("div",{style:{marginLeft:l.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>o(l.pmPos),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 12px",fontSize:13,fontWeight:400,color:"#1f1f1f",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:l.text,children:l.text})},`${l.pmPos}-${p}`))})]})});function rl({onClick:e,topPx:t,scrollLeft:o=0}){let{t:r}=b();return jsx("button",{className:"docx-outline-nav",onClick:e,onMouseDown:n=>n.stopPropagation(),title:r("editor.showDocumentOutline"),style:{position:"absolute",left:Er-o,top:t,zIndex:50,background:"transparent",border:"none",borderRadius:"50%",padding:6,cursor:"pointer",display:"flex",alignItems:"center"},children:jsx(b$1,{name:"format_list_bulleted",size:20,style:{color:"#444746"}})})}function il({currentPage:e,totalPages:t,visible:o}){let{t:r}=b();return jsx("div",{style:{position:"absolute",right:24,top:"50%",transform:"translateY(-50%)",backgroundColor:"rgba(0, 0, 0, 0.7)",color:"white",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:o?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status",children:r("viewer.pageIndicator",{current:e,total:t})})}function al({agentPanel:e,closed:t,onClose:o}){let{t:r}=b();return jsx(AgentPanel,{title:e.title??r("agentPanel.defaultTitle"),icon:e.icon,closeLabel:r("agentPanel.close"),resizeHandleLabel:r("agentPanel.resizeHandle"),defaultWidth:e.defaultWidth,minWidth:e.minWidth,maxWidth:e.maxWidth,onClose:o,closed:t,children:e.render({close:o})})}function sl({i18n:e,onEditorError:t,containerRef:o,scrollContainerRef:r,editorContentRef:n,className:d,containerStyle:s,mainContentStyle:i,editorContainerStyle:u,showRuler:l,readOnlyProp:p,showOutline:f,showOutlineButton:a,sidebarOpen:S,minLayoutWidth:m,toolbarHeight:g,editorScrollLeft:h$1,expandedSidebarItem:R,trackedChanges:b,onScrollContainerMouseDown:c,onEditorBgMouseDown:v,onEditorContextMenu:C,horizontalRulerProps:y,verticalRulerProps:w,outlineProps:P,onToggleOutline:x,scrollPageInfo:E,agentPanel:T,agentPanelOpen:I,onAgentPanelClose:k,toolbar:L,pagedArea:B,overlays:A,dialogs:j,fileInputs:_}){return jsx(a$3,{i18n:e,children:jsx($s,{children:jsx(xn,{onError:t,children:jsxs("div",{ref:o,className:`ep-root docx-editor ${d??""}`,style:s,"data-testid":"docx-editor",children:[jsxs("div",{style:i,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[L,jsxs("div",{ref:r,style:u,onMouseDown:c,children:[l&&jsx("div",{className:"flex justify-center py-1 flex-shrink-0 bg-doc-bg",style:{position:"sticky",top:0,zIndex:h.ruler,paddingLeft:20,paddingRight:20+(S?SIDEBAR_DOCUMENT_SHIFT*2:0),minWidth:m,transition:"padding 0.2s ease"},children:jsx(F,{...y})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:m},children:jsxs("div",{ref:n,style:{position:"relative",flex:1,minWidth:0},onMouseDown:v,onContextMenu:C,children:[l&&!p&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:h.ruler,paddingTop:48},children:jsx(qs,{...w})}),R&&R.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${R.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),R?.startsWith("tc-")&&(()=>{let V=R.split("-")[1],ie=b.find(Q=>String(Q.revisionId)===V)?.insertionRevisionId;return jsx("style",{children:`
27
- .paged-editor__pages .docx-insertion[data-revision-id="${ie??V}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
28
- .paged-editor__pages .docx-deletion[data-revision-id="${V}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
29
- `})})(),B]})})]}),E.totalPages>1&&jsx(il,{currentPage:E.currentPage,totalPages:E.totalPages,visible:E.visible}),f&&jsx(ol,{...P}),a&&!f&&jsx(rl,{onClick:x,topPx:g+(l?30:0)+48,scrollLeft:h$1})]}),T&&jsx(al,{agentPanel:T,closed:!I,onClose:k})]}),A,j,_]})})})})}var io={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},Pn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function ao(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:getAvatarColor(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function Tn(e){return {padding:"6px 16px",fontSize:14,border:"none",borderRadius:20,background:e?"#1a73e8":"#f1f3f4",color:e?"#fff":"#80868b",cursor:e?"pointer":"default",fontWeight:500,fontFamily:"inherit"}}function kn({replies:e,isExpanded:t}){let{t:o}=b();if(e.length===0)return null;let r=t?e:e.slice(-1),n=t?0:e.length-1;return jsxs("div",{style:{marginTop:8},children:[n>0&&jsx("div",{style:{fontSize:12,fontWeight:500,color:"#1a73e8",paddingTop:6,paddingBottom:6,borderTop:"1px solid #e8eaed"},children:o("comments.replyCount",{count:n})}),r.map(d=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid #e8eaed"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ao(d.author||"U",28),children:getInitials(d.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:d.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(d.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(d.content)})]},d.id))]})}var Bg={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},Ng={width:"100%",border:"1px solid #dadce0",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",color:"#80868b",cursor:"text",backgroundColor:"#fff",boxSizing:"border-box"};function Mn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:d}=b();if(!t)return jsx("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:i=>i.stopPropagation(),onClick:i=>{i.stopPropagation(),o(true);},placeholder:d("comments.replyPlaceholder"),style:Ng})});let s=r.trim();return jsxs("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:i=>i?.focus({preventScroll:true}),type:"text",value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),s&&e(s),n(""),o(false)),i.key==="Escape"&&(o(false),n(""));},placeholder:d("comments.replyPlaceholder"),style:Bg}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:i=>{i.stopPropagation(),o(false),n("");},style:Pn,children:d("common.cancel")}),jsx("button",{onClick:i=>{i.stopPropagation(),s&&e(s),n(""),o(false);},disabled:!s,style:Tn(!!s),children:d("common.reply")})]})]})}var Dn=CARD_STYLE_COLLAPSED,Ln=CARD_STYLE_EXPANDED;function dl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:d,onResolve:s,onUnresolve:i,onDelete:u}){let[l,p]=useState(false),{t:f}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:a=>a.stopPropagation(),style:{...o?Ln:Dn},children:[e.done&&jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",marginBottom:8,fontSize:11,fontWeight:500,color:"#188038",backgroundColor:"#e6f4ea",borderRadius:10},children:[jsx(b$1,{name:"check",size:12}),f("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ao(e.author||"U"),children:getInitials(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:e.author||f("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:a=>{a.stopPropagation(),e.done?i?.(e.id):s?.(e.id);},title:e.done?f("comments.reopen"):f("comments.resolve"),style:io,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:a=>{a.stopPropagation(),p(!l);},title:f("comments.moreOptions"),style:io,children:jsx(b$1,{name:"more_vert",size:20})}),l&&jsx("div",{onClick:a=>a.stopPropagation(),onMouseDown:a=>a.stopPropagation(),style:{position:"absolute",top:32,right:0,background:"#fff",borderRadius:8,boxShadow:"0 2px 6px rgba(60,64,67,0.3), 0 1px 2px rgba(60,64,67,0.15)",zIndex:100,minWidth:120,padding:"4px 0"},children:jsx("button",{onClick:()=>{p(false),u?.(e.id);},style:{display:"block",width:"100%",padding:"8px 16px",border:"none",background:"none",textAlign:"left",fontSize:14,color:"#202124",cursor:"pointer",fontFamily:"inherit"},onMouseOver:a=>{a.target.style.backgroundColor="#f1f3f4";},onMouseOut:a=>{a.target.style.backgroundColor="transparent";},children:f("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(kn,{replies:t,isExpanded:o}),o&&!e.done&&jsx(Mn,{onSubmit:a=>d?.(e.id,a)})]})}function pl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:d,onReject:s,onReply:i}){let{t:u}=b(),l=e.author||u("trackedChanges.unknown");return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:p=>p.stopPropagation(),style:o?Ln:Dn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ao(l),children:getInitials(l)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:l}),e.date&&jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2},children:[jsx("button",{onClick:p=>{p.stopPropagation(),d?.(e.from,e.to);},title:u("common.accept"),style:io,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:p=>{p.stopPropagation(),s?.(e.from,e.to);},title:u("common.reject"),style:io,children:jsx(b$1,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"#202124",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[u("trackedChanges.replaced")," ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.deletedText||""),'"']})," ",u("trackedChanges.with")," ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):jsxs(Fragment,{children:[e.type==="insertion"?u("trackedChanges.added"):u("trackedChanges.deleted")," ",jsxs("span",{style:{color:e.type==="insertion"?"#137333":"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]})}),jsx(kn,{replies:t,isExpanded:o}),o&&jsx(Mn,{onSubmit:p=>i?.(e.revisionId,p)})]})}function fl({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:d}=b(),s=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:i=>i.stopPropagation(),style:{padding:12,borderRadius:8,backgroundColor:"#fff",boxShadow:"0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15)",zIndex:50},children:[jsx("textarea",{ref:i=>i?.focus({preventScroll:true}),value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),s()),i.key==="Escape"&&(o?.(),n(""));},placeholder:d("comments.addComment"),style:{width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",resize:"none",fontSize:14,lineHeight:"20px",padding:"8px 16px",fontFamily:"inherit",minHeight:40,boxSizing:"border-box",color:"#202124"}}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:()=>{o?.(),n("");},style:Pn,children:d("common.cancel")}),jsx("button",{onClick:s,disabled:!r.trim(),style:Tn(!!r.trim()),children:d("common.comment")})]})]})}function hl({comment:e,measureRef:t,onToggleExpand:o}){return jsx("div",{ref:t,"data-comment-id":e.id,"data-comment-resolved":"true",onClick:o,onMouseDown:r=>r.stopPropagation(),style:{display:"inline-flex",alignItems:"center",cursor:"pointer",color:"#5f6368",padding:2},onMouseOver:r=>{r.currentTarget.style.opacity="0.7";},onMouseOut:r=>{r.currentTarget.style.opacity="1";},children:jsx(b$1,{name:"chat_bubble_check",size:20})})}function bl({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:d=null}){let s=useMemo(()=>e.filter(u=>!(u.parentId!=null||u.done&&!r)),[e,r]),i=useMemo(()=>{let u=new Map;for(let l of e)if(l.parentId!=null){let p=u.get(l.parentId);p?p.push(l):u.set(l.parentId,[l]);}return u},[e]);return useMemo(()=>{let u=[];n&&d!=null&&u.push({id:"new-comment-input",anchorPos:0,fixedY:d,priority:-1e3,isTemporary:true,estimatedHeight:120,render:l=>jsx(fl,{...l,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let l of s){let p=i.get(l.id)??[];u.push({id:`comment-${l.id}`,anchorPos:0,anchorKey:`comment-${l.id}`,priority:0,estimatedHeight:l.done?28:80,render:f=>l.done&&!f.isExpanded?jsx(hl,{...f,comment:l}):jsx(dl,{...f,comment:l,replies:p,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((l,p)=>{let f=i.get(l.revisionId)??[];u.push({id:`tc-${l.revisionId}-${p}`,anchorPos:l.from,anchorKey:`revision-${l.revisionId}`,priority:1,estimatedHeight:80,render:a=>jsx(pl,{...a,change:l,replies:f,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onReply:o.onTrackedChangeReply})});}),u},[s,t,i,o,n,d])}function yl(e){return useMemo(()=>extractTrackedChanges(e),[e])}function vl(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"20px",color:"var(--doc-text-muted)"},children:[jsx("div",{style:{width:"36px",height:"36px",border:"3px solid var(--doc-border)",borderTopColor:"var(--doc-primary)",borderRadius:"50%",animation:"docx-spin 0.8s linear infinite"}}),jsx("style",{children:`
26
+ `,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:a,children:n("errors.tryAgain")})]})}var qg=15840,rl=1440,Xg=1440,Zg=567,al=20,Qg="var(--doc-text-muted)",Jg="var(--doc-text-subtle)",eh="var(--doc-primary)",th="var(--doc-primary)",oh="var(--doc-primary-hover)";function sl({sectionProps:e,zoom:t=1,editable:o=false,onTopMarginChange:r,onBottomMarginChange:n,unit:d="inch",className:c="",style:i}){let{t:h}=b(),[l,a]=useState(null),[m,s]=useState(null),S=useRef(null),u=e?.pageHeight??qg,g=e?.marginTop??rl,b$1=e?.marginBottom??rl,x=twipsToPixels(u)*t,f=twipsToPixels(g)*t,p=twipsToPixels(b$1)*t,v=useCallback((T,w)=>{o&&(T.preventDefault(),a(w));},[o]),C=useCallback(T=>{if(!l||!S.current)return;let w=S.current.getBoundingClientRect(),I=T.clientY-w.top,E=pixelsToTwips(I/t);if(l==="topMargin"){let M=u-b$1-720,H=Math.max(0,Math.min(E,M));r?.(Math.round(H));}else if(l==="bottomMargin"){let M=u-E,H=u-g-720,L=Math.max(0,Math.min(M,H));n?.(Math.round(L));}},[l,t,u,g,b$1,r,n]),y=useCallback(()=>{a(null);},[]);useEffect(()=>{if(l)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",y),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",y);}},[l,C,y]);let R=rh(u,t,d),P={position:"relative",width:al,height:formatPx(x),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:l?"ns-resize":"default",...i};return jsxs("div",{ref:S,className:`docx-vertical-ruler ${c}`,style:P,role:"slider","aria-label":h("ruler.vertical"),"aria-orientation":"vertical",children:[jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:R.map((T,w)=>jsx(nh,{tick:T},w))}),jsx(il,{type:"topMargin",position:f,editable:o,isDragging:l==="topMargin",isHovered:m==="topMargin",onMouseEnter:()=>s("topMargin"),onMouseLeave:()=>s(null),onMouseDown:T=>v(T,"topMargin")}),jsx(il,{type:"bottomMargin",position:x-p,editable:o,isDragging:l==="bottomMargin",isHovered:m==="bottomMargin",onMouseEnter:()=>s("bottomMargin"),onMouseLeave:()=>s(null),onMouseDown:T=>v(T,"bottomMargin")})]})}function nh({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:Jg},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:Qg,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxs(Fragment,{children:[jsx("div",{style:t}),e.label&&jsx("div",{style:o,children:e.label})]})}function il({type:e,position:t,editable:o,isDragging:r,isHovered:n,onMouseEnter:d,onMouseLeave:c,onMouseDown:i}){let{t:h}=b(),l=r?oh:n?th:eh,a={position:"absolute",top:formatPx(t-5),right:0,width:al,height:10,cursor:o?"ns-resize":"default",zIndex:r?10:1},m={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${l}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:a,onMouseEnter:d,onMouseLeave:c,onMouseDown:i,role:"slider","aria-label":h(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:o?0:-1,children:jsx("div",{style:m})})}function rh(e,t,o){let r=[];if(o==="inch"){let n=Xg/8,d=Math.ceil(e/n);for(let c=0;c<=d;c++){let i=c*n;if(i>e)break;let h=twipsToPixels(i)*t;if(c%8===0){let l=c/8;r.push({position:h,width:10,label:l>0?String(l):void 0});}else c%4===0?r.push({position:h,width:6}):c%2===0?r.push({position:h,width:4}):r.push({position:h,width:2});}}else {let n=Zg/10,d=Math.ceil(e/n);for(let c=0;c<=d;c++){let i=c*n;if(i>e)break;let h=twipsToPixels(i)*t;if(c%10===0){let l=c/10;r.push({position:h,width:10,label:l>0?String(l):void 0});}else c%5===0?r.push({position:h,width:6}):r.push({position:h,width:3});}}return r}var Ar=30,Or=240,dl=16,ch=24,ul=Ar+Or+dl,Br=48,dh=32,pl=Br+dh+dl,ml=Fl.memo(function({headings:t,onHeadingClick:o,onClose:r,topOffset:n=0,scrollLeft:d=0}){let{t:c}=b(),[i,h]=useState(false);return useEffect(()=>{requestAnimationFrame(()=>h(true));},[]),jsxs("nav",{className:"docx-outline-nav",role:"navigation","aria-label":c("documentOutline.ariaLabel"),style:{position:"absolute",top:n,left:Ar-d,bottom:0,width:Or,paddingTop:ch,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:i?"translateX(0)":`translateX(-${Ar+Or}px)`,transition:"transform 0.15s ease-out"},onMouseDown:l=>l.stopPropagation(),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 16px 12px"},children:[jsx("button",{onClick:r,"aria-label":c("documentOutline.closeAriaLabel"),style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:"50%",display:"flex",alignItems:"center",color:"#444746"},title:c("documentOutline.closeTitle"),children:jsx(b$1,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"#1f1f1f",letterSpacing:"0.01em"},children:c("documentOutline.title")})]}),jsx("div",{style:{overflowY:"auto",flex:1,paddingLeft:20},children:t.length===0?jsx("div",{style:{padding:"8px 16px",color:"#80868b",fontSize:13,lineHeight:"20px"},children:c("documentOutline.noHeadings")}):t.map((l,a)=>jsx("div",{style:{marginLeft:l.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>o(l.pmPos),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 12px",fontSize:13,fontWeight:400,color:"#1f1f1f",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:l.text,children:l.text})},`${l.pmPos}-${a}`))})]})});function gl({onClick:e,topPx:t,scrollLeft:o=0}){let{t:r}=b();return jsx("button",{className:"docx-outline-nav",onClick:e,onMouseDown:n=>n.stopPropagation(),title:r("editor.showDocumentOutline"),style:{position:"absolute",left:Br-o,top:t,zIndex:50,background:"transparent",border:"none",borderRadius:"50%",padding:6,cursor:"pointer",display:"flex",alignItems:"center"},children:jsx(b$1,{name:"format_list_bulleted",size:20,style:{color:"#444746"}})})}function hl({currentPage:e,totalPages:t,visible:o}){let{t:r}=b();return jsx("div",{style:{position:"absolute",right:24,top:"50%",transform:"translateY(-50%)",backgroundColor:"rgba(0, 0, 0, 0.7)",color:"white",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:o?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status",children:r("viewer.pageIndicator",{current:e,total:t})})}function bl({agentPanel:e,closed:t,onClose:o}){let{t:r}=b();return jsx(AgentPanel,{title:e.title??r("agentPanel.defaultTitle"),icon:e.icon,closeLabel:r("agentPanel.close"),resizeHandleLabel:r("agentPanel.resizeHandle"),defaultWidth:e.defaultWidth,minWidth:e.minWidth,maxWidth:e.maxWidth,onClose:o,closed:t,children:e.render({close:o})})}function yl({i18n:e,onEditorError:t,containerRef:o,scrollContainerRef:r,editorContentRef:n,className:d,containerStyle:c,mainContentStyle:i,editorContainerStyle:h$1,showRuler:l,readOnlyProp:a,showOutline:m,showOutlineButton:s,sidebarOpen:S,minLayoutWidth:u,toolbarHeight:g,editorScrollLeft:b,expandedSidebarItem:x,trackedChanges:f,onScrollContainerMouseDown:p,onEditorBgMouseDown:v,onEditorContextMenu:C,horizontalRulerProps:y,verticalRulerProps:R,outlineProps:P,onToggleOutline:T,scrollPageInfo:w,agentPanel:I,agentPanelOpen:E,onAgentPanelClose:M,toolbar:H,pagedArea:L,overlays:z,dialogs:G,fileInputs:W}){return jsx(a$2,{i18n:e,children:jsx(tl,{children:jsx(kn,{onError:t,children:jsxs("div",{ref:o,className:`ep-root docx-editor ${d??""}`,style:c,"data-testid":"docx-editor",children:[jsxs("div",{style:i,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[H,jsxs("div",{ref:r,style:h$1,onMouseDown:p,children:[l&&jsx("div",{className:"flex justify-center py-1 flex-shrink-0 bg-doc-bg",style:{position:"sticky",top:0,zIndex:h.ruler,paddingLeft:20,paddingRight:20+(S?SIDEBAR_DOCUMENT_SHIFT*2:0),minWidth:u,transition:"padding 0.2s ease"},children:jsx(F,{...y})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:u},children:jsxs("div",{ref:n,style:{position:"relative",flex:1,minWidth:0},onMouseDown:v,onContextMenu:C,children:[l&&!a&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:h.ruler,paddingTop:48},children:jsx(sl,{...R})}),x&&x.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${x.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),x?.startsWith("tc-")&&(()=>{let $=x.split("-")[1],j=f.find(ne=>String(ne.revisionId)===$)?.insertionRevisionId;return jsx("style",{children:`
27
+ .paged-editor__pages .docx-insertion[data-revision-id="${j??$}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
28
+ .paged-editor__pages .docx-deletion[data-revision-id="${$}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
29
+ `})})(),L]})})]}),w.totalPages>1&&jsx(hl,{currentPage:w.currentPage,totalPages:w.totalPages,visible:w.visible}),m&&jsx(ml,{...P}),s&&!m&&jsx(gl,{onClick:T,topPx:g+(l?30:0)+48,scrollLeft:b})]}),I&&jsx(bl,{agentPanel:I,closed:!E,onClose:M})]}),z,G,W]})})})})}var go={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},Dn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function ho(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:getAvatarColor(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function Hn(e){return {padding:"6px 16px",fontSize:14,border:"none",borderRadius:20,background:e?"#1a73e8":"#f1f3f4",color:e?"#fff":"#80868b",cursor:e?"pointer":"default",fontWeight:500,fontFamily:"inherit"}}function An({replies:e,isExpanded:t}){let{t:o}=b();if(e.length===0)return null;let r=t?e:e.slice(-1),n=t?0:e.length-1;return jsxs("div",{style:{marginTop:8},children:[n>0&&jsx("div",{style:{fontSize:12,fontWeight:500,color:"#1a73e8",paddingTop:6,paddingBottom:6,borderTop:"1px solid #e8eaed"},children:o("comments.replyCount",{count:n})}),r.map(d=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid #e8eaed"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(d.author||"U",28),children:getInitials(d.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:d.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(d.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(d.content)})]},d.id))]})}var gh={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},hh={width:"100%",border:"1px solid #dadce0",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",color:"#80868b",cursor:"text",backgroundColor:"#fff",boxSizing:"border-box"};function On({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:d}=b();if(!t)return jsx("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:i=>i.stopPropagation(),onClick:i=>{i.stopPropagation(),o(true);},placeholder:d("comments.replyPlaceholder"),style:hh})});let c=r.trim();return jsxs("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:i=>i?.focus({preventScroll:true}),type:"text",value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),c&&e(c),n(""),o(false)),i.key==="Escape"&&(o(false),n(""));},placeholder:d("comments.replyPlaceholder"),style:gh}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:i=>{i.stopPropagation(),o(false),n("");},style:Dn,children:d("common.cancel")}),jsx("button",{onClick:i=>{i.stopPropagation(),c&&e(c),n(""),o(false);},disabled:!c,style:Hn(!!c),children:d("common.reply")})]})]})}var Bn=CARD_STYLE_COLLAPSED,Nn=CARD_STYLE_EXPANDED;function Sl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:d,onResolve:c,onUnresolve:i,onDelete:h}){let[l,a]=useState(false),{t:m}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:s=>s.stopPropagation(),style:{...o?Nn:Bn},children:[e.done&&jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",marginBottom:8,fontSize:11,fontWeight:500,color:"#188038",backgroundColor:"#e6f4ea",borderRadius:10},children:[jsx(b$1,{name:"check",size:12}),m("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(e.author||"U"),children:getInitials(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:e.author||m("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:s=>{s.stopPropagation(),e.done?i?.(e.id):c?.(e.id);},title:e.done?m("comments.reopen"):m("comments.resolve"),style:go,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:s=>{s.stopPropagation(),a(!l);},title:m("comments.moreOptions"),style:go,children:jsx(b$1,{name:"more_vert",size:20})}),l&&jsx("div",{onClick:s=>s.stopPropagation(),onMouseDown:s=>s.stopPropagation(),style:{position:"absolute",top:32,right:0,background:"#fff",borderRadius:8,boxShadow:"0 2px 6px rgba(60,64,67,0.3), 0 1px 2px rgba(60,64,67,0.15)",zIndex:100,minWidth:120,padding:"4px 0"},children:jsx("button",{onClick:()=>{a(false),h?.(e.id);},style:{display:"block",width:"100%",padding:"8px 16px",border:"none",background:"none",textAlign:"left",fontSize:14,color:"#202124",cursor:"pointer",fontFamily:"inherit"},onMouseOver:s=>{s.target.style.backgroundColor="#f1f3f4";},onMouseOut:s=>{s.target.style.backgroundColor="transparent";},children:m("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(An,{replies:t,isExpanded:o}),o&&!e.done&&jsx(On,{onSubmit:s=>d?.(e.id,s)})]})}function xl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:d,onReject:c,onAcceptById:i,onRejectById:h,onReply:l}){let{t:a}=b(),m=e.author||a("trackedChanges.unknown"),s=()=>{let g=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&g.add(e.insertionRevisionId);for(let b of e.coalescedRevisionIds??[])g.add(b);return [...g]},S=g=>{if(g.stopPropagation(),i)for(let b of s())i(b);else d?.(e.from,e.to);},u=g=>{if(g.stopPropagation(),h)for(let b of s())h(b);else c?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:g=>g.stopPropagation(),style:o?Nn:Bn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(m),children:getInitials(m)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:m}),e.date&&jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2},children:[jsx("button",{onClick:S,title:a("common.accept"),style:go,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:u,title:a("common.reject"),style:go,children:jsx(b$1,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"#202124",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[a("trackedChanges.replaced")," ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.deletedText||""),'"']})," ",a("trackedChanges.with")," ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):e.type==="paragraphMarkInsertion"?jsxs(Fragment,{children:[a("revisions.paragraphMarkInserted"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="paragraphMarkDeletion"?jsxs(Fragment,{children:[a("revisions.paragraphMarkDeleted"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="paragraphPropertiesChanged"?jsxs(Fragment,{children:[a("revisions.paragraphPropertiesChanged"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#5f6368",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="rowInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.rowInserted")}):e.type==="rowDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.rowDeleted")}):e.type==="cellInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.cellInserted")}):e.type==="cellDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.cellDeleted")}):e.type==="cellMerged"?jsx("span",{style:{color:"#5f6368",fontWeight:500},children:a("revisions.cellMerged")}):e.type==="rowPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.rowPropertiesChanged")}):e.type==="cellPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.cellPropertiesChanged")}):e.type==="tablePropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.tablePropertiesChanged")}):e.type==="tableInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.tableInserted")}):e.type==="tableDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.tableDeleted")}):jsxs(Fragment,{children:[e.type==="insertion"?a("trackedChanges.added"):a("trackedChanges.deleted")," ",jsxs("span",{style:{color:e.type==="insertion"?"#137333":"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]})}),jsx(An,{replies:t,isExpanded:o}),o&&jsx(On,{onSubmit:g=>l?.(e.revisionId,g)})]})}function Pl({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:d}=b(),c=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:i=>i.stopPropagation(),style:{padding:12,borderRadius:8,backgroundColor:"#fff",boxShadow:"0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15)",zIndex:50},children:[jsx("textarea",{ref:i=>i?.focus({preventScroll:true}),value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),c()),i.key==="Escape"&&(o?.(),n(""));},placeholder:d("comments.addComment"),style:{width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",resize:"none",fontSize:14,lineHeight:"20px",padding:"8px 16px",fontFamily:"inherit",minHeight:40,boxSizing:"border-box",color:"#202124"}}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:()=>{o?.(),n("");},style:Dn,children:d("common.cancel")}),jsx("button",{onClick:c,disabled:!r.trim(),style:Hn(!!r.trim()),children:d("common.comment")})]})]})}function wl({comment:e,measureRef:t,onToggleExpand:o}){return jsx("div",{ref:t,"data-comment-id":e.id,"data-comment-resolved":"true",onClick:o,onMouseDown:r=>r.stopPropagation(),style:{display:"inline-flex",alignItems:"center",cursor:"pointer",color:"#5f6368",padding:2},onMouseOver:r=>{r.currentTarget.style.opacity="0.7";},onMouseOut:r=>{r.currentTarget.style.opacity="1";},children:jsx(b$1,{name:"chat_bubble_check",size:20})})}function El({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:d=null}){let c=useMemo(()=>e.filter(h=>!(h.parentId!=null||h.done&&!r)),[e,r]),i=useMemo(()=>{let h=new Map;for(let l of e)if(l.parentId!=null){let a=h.get(l.parentId);a?a.push(l):h.set(l.parentId,[l]);}return h},[e]);return useMemo(()=>{let h=[];n&&d!=null&&h.push({id:"new-comment-input",anchorPos:0,fixedY:d,priority:-1e3,isTemporary:true,estimatedHeight:120,render:l=>jsx(Pl,{...l,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let l of c){let a=i.get(l.id)??[];h.push({id:`comment-${l.id}`,anchorPos:0,anchorKey:`comment-${l.id}`,priority:0,estimatedHeight:l.done?28:80,render:m=>l.done&&!m.isExpanded?jsx(wl,{...m,comment:l}):jsx(Sl,{...m,comment:l,replies:a,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((l,a)=>{let m=i.get(l.revisionId)??[];h.push({id:`tc-${l.revisionId}-${a}`,anchorPos:l.from,anchorKey:`revision-${l.revisionId}`,priority:1,estimatedHeight:80,render:s=>jsx(xl,{...s,change:l,replies:m,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),h},[c,t,i,o,n,d])}function Il(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"20px",color:"var(--doc-text-muted)"},children:[jsx("div",{style:{width:"36px",height:"36px",border:"3px solid var(--doc-border)",borderTopColor:"var(--doc-primary)",borderRadius:"50%",animation:"docx-spin 0.8s linear infinite"}}),jsx("style",{children:`
30
30
  @keyframes docx-spin {
31
31
  to { transform: rotate(360deg); }
32
32
  }
33
- `}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function Cl(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--doc-text-placeholder)"},children:[jsxs("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsx("polyline",{points:"14 2 14 8 20 8"})]}),jsx("div",{style:{marginTop:"16px"},children:e("errors.noDocumentLoaded")})]})}function Sl({message:e}){let{t}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",padding:"20px",textAlign:"center"},children:[jsx("div",{style:{color:"var(--doc-error)",marginBottom:"16px"},children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M12 8v4M12 16v.01"})]})}),jsx("h3",{style:{color:"var(--doc-error)",marginBottom:"8px"},children:t("errors.failedToLoad")}),jsx("p",{style:{color:"var(--doc-text-muted)",maxWidth:"400px"},children:e})]})}var Dr=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:d,onSelectionChange:s,onError:i,onFontsLoaded:u,theme:l,showToolbar:p=true,showZoomControl:f=true,showMarginGuides:a=false,marginGuideColor:S,showRuler:m$1=false,rulerUnit:g$1="inch",initialZoom:h=1,readOnly:R=false,disableFindReplaceShortcuts:b=false,toolbarExtra:c$1,className:v="",style:C,placeholder:y,loadingIndicator:w,showOutline:P=false,showOutlineButton:x=true,fontFamilies:E,printOptions:T,onPrint:I,onCopy:k,onCut:L,onPaste:B,mode:A,onModeChange:j,onCommentAdd:_,onCommentResolve:V,onCommentDelete:oe,onCommentReply:ie,comments:Q,onCommentsChange:ae,externalPlugins:ne,externalContent:ge=false,onEditorViewReady:he,onRenderedDomContextReady:J,pluginOverlays:D,pluginSidebarItems:H,pluginRenderedDomContext:N,renderLogo:W,documentName:F,onDocumentNameChange:U,documentNameEditable:q=true,renderTitleBarRight:re,i18n:Z,agentPanel:te},K){let[O,Se]=useState({isLoading:!!t&&!ge,parseError:null,zoom:h,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[ce,Be]=useState(null),[fe,ye]=useState(false),[Te,ve]=useState(false),[Ee,De]=useState(null),se=useRef(null),{comments:Ie,setComments:ke,isAddingComment:It,setIsAddingComment:$e,isAddingCommentRef:Ge,commentSelectionRange:mt,setCommentSelectionRange:et,addCommentYPosition:kt,setAddCommentYPosition:Ke,floatingCommentBtn:jt,setFloatingCommentBtn:Ye,cleanOrphanedCommentsTimerRef:tt,cleanOrphanedComments:Mt}=_i({commentsProp:Q,onCommentDelete:oe,onCommentsChange:ae,pagedEditorRef:se}),[ot,ft]=useState(null),{entries:xe,commentToRevision:Xt}=yl(ot),[Dt,qt]=useState(tn),[Lt,Zt]=useState(A??"editing"),de=A??Lt,Re=M=>{A||Zt(M),j?.(M);},be=R||de==="viewing",[Ht,Qt]=useState(false),Ft=te?.open!==void 0,nt=te?Ft?!!te.open:Ht:false,Pe=useCallback(M=>{te?.onOpenChange?.(M),Ft||Qt(M);},[te,Ft]),gt=useRef(new Set),rt=useRef(new Set),$=g(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),pe=useMemo(()=>{let M=new ExtensionManager(createStarterKit());return M.buildSchema(),M.initializeRuntime(),M},[]),At=useMemo(()=>createSuggestionModePlugin(de==="suggesting",n),[]),Fn=useMemo(()=>[At,...ne??[]],[At,ne]),Ho=useRef(null),co=useRef(null),Fo=useRef(null),Lr=useRef(null),Ao=useRef(null),Jt=useRef(null),{showOutline:Hr,setShowOutline:Fr,showOutlineRef:Pl,outlineHeadings:Tl,setHeadingInfos:An,toolbarHeight:Ar,toolbarRefCallback:wl,editorScrollLeft:Or}=ii({showOutlineProp:P,pagedEditorRef:se,scrollContainerRef:Jt,isLoading:O.isLoading}),uo=useRef($.state);uo.current=$.state;let Br=useRef({style:"single",size:4,color:{rgb:"000000"}}),Nr=useRef(null),Oo=useCallback(M=>{let z=Nr.current;if(z&&z.styles===M)return z.resolver;let Y=createStyleResolver(M);return Nr.current={styles:M,resolver:Y},Y},[]),{getActiveEditorView:it,focusActiveEditor:Ot,undoActiveEditor:El,redoActiveEditor:Il}=Yi({hfEditPosition:ce,hfEditorRef:Ho,pagedEditorRef:se}),po=b$2(),Bo=m(),zr=useRef(false),_r=useRef(false),{resetForNewDocument:kl}=Vs({commentsLoadedRef:zr,trackedChangesLoadedRef:_r,setComments:ke,setHeadingInfos:An,setShowCommentsSidebar:ve,setIsAddingComment:$e,setCommentSelectionRange:et,setAddCommentYPosition:Ke,setFloatingCommentBtn:Ye,setHfEditPosition:Be,setHfEditIsFirstPage:ye,setAnchorPositions:qt,clearFindReplaceMatches:useCallback(()=>po.setMatches([],0),[po]),cleanOrphanedCommentsTimerRef:tt}),{loadParsedDocument:Ml,loadBuffer:Wr}=ki({documentBuffer:t,initialDocument:o,externalContent:ge,history:$,agentRef:co,pagedEditorRef:se,setLoadingState:useCallback(M=>{Se(z=>({...z,isLoading:M.isLoading,parseError:M.parseError}));},[]),setComments:ke,setShowCommentsSidebar:ve,onError:i,resetForNewDocument:kl,commentsLoadedRef:zr}),{imageInputRef:Dl,docxInputRef:Ll,handleSave:Hl,handleDirectPrint:Vr,handleDownloadDocument:Fl,handleOpenDocument:Al,handleDocxFileChange:Ol,handleInsertImageClick:Bl,handleImageFileChange:Nl}=li({agentRef:co,pagedEditorRef:se,containerRef:Fo,comments:Ie,documentName:F,onSave:r,onError:i,onPrint:I,onDocumentNameChange:U,loadBuffer:Wr,getActiveEditorView:it,focusActiveEditor:Ot});useEffect(()=>{if(O.isLoading||!$.state)return;let M=se.current?.getView();M&&ft(M.state);},[O.isLoading,$.state]),Vi({commentToRevision:Xt,setComments:ke,pmState:ot,isLoading:O.isLoading,trackedChangesCount:xe.length,setShowCommentsSidebar:ve,trackedChangesLoadedRef:_r}),useEffect(()=>onFontsLoaded(()=>{u?.();}),[u]),useEffect(()=>{let M=se.current?.getView();M&&setSuggestionMode(de==="suggesting",M.state,M.dispatch,n);},[de,n]);let No=useCallback(M=>($.push(M),M),[$]),zo=useCallback(M=>{No(M),d?.(M);for(let Y of gt.current)try{Y(M);}catch(me){console.error("contentChange subscriber threw:",me);}if(Pl.current){let Y=se.current?.getView();Y&&An(collectHeadings(Y.state.doc));}let z=se.current?.getView();z&&ft(z.state),tt.current&&clearTimeout(tt.current),tt.current=setTimeout(Mt,300);},[d,No,Mt]),{recomputeFloatingCommentBtn:zl}=Ki({pagedEditorRef:se,scrollContainerRef:Jt,editorContentRef:Ao,isAddingCommentRef:Ge,setFloatingCommentBtn:Ye,readOnly:be,isLoading:O.isLoading,zoom:O.zoom}),{handleSelectionChange:_o}=$i({getActiveEditorView:it,lastSelectionRef:Lr,borderSpecRef:Br,theme:l,historyStateRef:uo,getCachedStyleResolver:Oo,setFloatingCommentBtn:Ye,applySelectionDelta:useCallback(M=>Se(z=>({...z,...M})),[]),recomputeFloatingCommentBtn:zl,onSelectionChange:s,selectionChangeSubscribersRef:rt}),Ur=c({document:$.state,onChange:zo,onSelectionChange:M=>{}});ai({pagedEditorRef:se,disableFindReplaceShortcuts:b,findReplace:po,hyperlinkDialog:Bo,tableSelection:Ur});let _l=useCallback(()=>{Fr(M=>{if(!M){let z=se.current?.getView();z&&An(collectHeadings(z.state.doc));}return !M});},[]),Wl=useCallback(M=>{se.current?.scrollToPosition(M),se.current?.setSelection(M+1),se.current?.focus();},[]),{imagePositionOpen:Vl,setImagePositionOpen:Ul,imagePropsOpen:$l,setImagePropsOpen:Gl,footnotePropsOpen:Kl,setFootnotePropsOpen:Yl,handleImageWrapType:jl,handleImageTransform:Xl,handleApplyImagePosition:ql,handleOpenImageProperties:$r,handleApplyImageProperties:Zl,handleApplyFootnoteProperties:Ql}=vi({document:$.state,pmImageContext:O.pmImageContext,zoom:O.zoom,getActiveEditorView:it,focusActiveEditor:Ot,pushDocument:No}),{tablePropsOpen:Jl,setTablePropsOpen:ec,splitCellDialogState:tc,openSplitCellDialog:oc,handleTableAction:nc,handleSplitCellDialogClose:rc,handleSplitCellDialogApply:ic}=wi({getActiveEditorView:it,focusActiveEditor:Ot,tableSelection:Ur,borderSpecRef:Br,historyStateRef:uo,getCachedStyleResolver:Oo}),{handleFormat:ac,handleInsertTable:sc,handleInsertPageBreak:lc,handleInsertTOC:cc}=yi({getActiveEditorView:it,focusActiveEditor:Ot,pagedEditorRef:se,lastSelectionRef:Lr,hyperlinkDialog:Bo,historyStateRef:uo,getCachedStyleResolver:Oo}),dc=useCallback(M=>{Se(z=>({...z,zoom:M}));},[]),{hyperlinkPopupData:uc,handleHyperlinkSubmit:pc,handleHyperlinkRemove:mc,handleHyperlinkClick:fc,handleHyperlinkPopupNavigate:gc,handleHyperlinkPopupCopy:hc,handleHyperlinkPopupEdit:bc,handleHyperlinkPopupRemove:yc,handleHyperlinkPopupClose:vc}=mi({hyperlinkDialog:Bo,getActiveEditorView:it,focusActiveEditor:Ot}),{contextMenu:Cc,imageContextMenu:Sc,handleEditorContextMenu:xc,handleContextMenu:Rc,handleContextMenuClose:Pc,handleImageWrapApply:Tc,imageContextMenuTextActions:wc,contextMenuItems:Ec,handleContextMenuAction:Ic}=Ni({getActiveEditorView:it,focusActiveEditor:Ot,openSplitCellDialog:oc,scrollContainerRef:Jt,editorContentRef:Ao,i18n:Z,onAddComment:useCallback(({from:M,to:z,yPos:Y})=>{et({from:M,to:z}),Ke(Y),ve(true),$e(true),Ye(null);},[])}),{showPageSetup:kc,setShowPageSetup:Mc,handleOpenPageSetup:Dc,handleLeftMarginChange:Lc,handleRightMarginChange:Hc,handleTopMarginChange:Fc,handleBottomMarginChange:Ac,handlePageSetupApply:Oc,handleIndentLeftChange:Bc,handleIndentRightChange:Nc,handleFirstLineIndentChange:zc,handleTabStopRemove:_c}=di({document:$.state,readOnly:be,handleDocumentChange:zo,getActiveEditorView:it}),{scrollPageInfo:Gr,setScrollPageInfo:Wc}=ji({scrollContainerRef:Jt,pagedEditorRef:se}),Vc=useCallback(M=>{i?.(M);},[i]),{findResultRef:Uc,handleFind:$c,handleFindNext:Gc,handleFindPrevious:Kc,handleReplace:Yc,handleReplaceAll:jc}=gi({document:$.state,containerRef:Fo,findReplace:po,handleDocumentChange:zo});Ri({ref:K,agentRef:co,document:$.state,historyStateRef:uo,pagedEditorRef:se,handleSave:Hl,handleDirectPrint:Vr,zoom:O.zoom,setZoom:M=>Se(z=>({...z,zoom:M})),scrollPageInfo:Gr,loadParsedDocument:Ml,loadBuffer:Wr,comments:Ie,setComments:ke,setShowCommentsSidebar:ve,contentChangeSubscribersRef:gt,selectionChangeSubscribersRef:rt,getCachedStyleResolver:Oo});let On=useMemo(()=>Ci($.state),[$.state]),Kr=$.state?.package.document?.finalSectionProperties,{headerContent:Xc,footerContent:qc,firstPageHeaderContent:Zc,firstPageFooterContent:Qc,handleHeaderFooterDoubleClick:Jc,handleHeaderFooterSave:ed,handleBodyClick:td,handleRemoveHeaderFooter:od,getHfTargetElement:nd}=Ei({document:$.state,pushDocument:No,hfEditorRef:Ho,containerRef:Fo,initialSectionProperties:On,finalSectionProperties:Kr,hfEditPosition:ce,setHfEditPosition:Be,hfEditIsFirstPage:fe,setHfEditIsFirstPage:ye}),Wo={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...C},rd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},je=useRef({});je.current={onCommentReply:(M,z)=>{let Y=Wt(z,n,M),me=Ie.find(we=>we.id===M);ke(we=>[...we,Y]),me&&ie?.(Y,me);},onCommentResolve:M=>{let z=Ie.find(Y=>Y.id===M);ke(Y=>Y.map(me=>me.id===M?{...me,done:true}:me)),Ee===`comment-${M}`&&De(null),z&&V?.({...z,done:true});},onCommentUnresolve:M=>{ke(z=>z.map(Y=>Y.id===M?{...Y,done:void 0}:Y));},onCommentDelete:M=>{let z=Ie.find(me=>me.id===M);ke(me=>me.filter(we=>we.id!==M&&we.parentId!==M));let Y=se.current?.getView();if(Y){let me=Y.state.schema.marks.comment?.create({commentId:M});if(me){let we=Y.state.tr.removeMark(0,Y.state.doc.content.size,me);we.docChanged&&Y.dispatch(we);}}z&&oe?.(z);},onAddComment:M=>{let z=Wt(M,n),Y=se.current?.getView();if(Y&&mt){let{from:me,to:we}=mt,at=Y.state.schema.marks.comment.create({commentId:lt}),Bt=Y.state.schema.marks.comment.create({commentId:z.id}),zn=Y.state.tr.removeMark(me,we,at).addMark(me,we,Bt);Y.dispatch(zn);}ke(me=>[...me,z]),$e(false),et(null),Ke(null),_?.(z);},onCancelAddComment:()=>{let M=se.current?.getView();if(M&&mt){let{from:z,to:Y}=mt,me=M.state.schema.marks.comment.create({commentId:lt});M.dispatch(M.state.tr.removeMark(z,Y,me));}$e(false),et(null),Ke(null);},onAcceptChange:(M,z)=>{let Y=se.current?.getView();Y&&acceptChange(M,z)(Y.state,Y.dispatch);},onRejectChange:(M,z)=>{let Y=se.current?.getView();Y&&rejectChange(M,z)(Y.state,Y.dispatch);},onTrackedChangeReply:(M,z)=>{ke(Y=>[...Y,Wt(z,n,M)]);}};let id=useMemo(()=>({onCommentReply:(...M)=>je.current.onCommentReply?.(...M),onCommentResolve:(...M)=>je.current.onCommentResolve?.(...M),onCommentUnresolve:(...M)=>je.current.onCommentUnresolve?.(...M),onCommentDelete:(...M)=>je.current.onCommentDelete?.(...M),onAddComment:(...M)=>je.current.onAddComment?.(...M),onCancelAddComment:(...M)=>je.current.onCancelAddComment?.(...M),onAcceptChange:(...M)=>je.current.onAcceptChange?.(...M),onRejectChange:(...M)=>je.current.onRejectChange?.(...M),onTrackedChangeReply:(...M)=>je.current.onTrackedChangeReply?.(...M)}),[]),mo=bl({comments:Ie,trackedChanges:xe,callbacks:id,showResolved:Te,isAddingComment:Te?It:false,addCommentYPosition:kt}),Yr=useMemo(()=>{let M=[];return Te&&M.push(...mo),H&&M.push(...H),M},[Te,mo,H]),Bn=useMemo(()=>{let M=new Map;return xe.forEach((z,Y)=>{z.type==="replacement"&&z.insertionRevisionId!=null&&M.set(String(z.insertionRevisionId),`tc-${z.revisionId}-${Y}`);}),M},[xe]),Nn=Yr.length>0,ad=2*(Hr?el:x?tl:20)+816+(Nn?SIDEBAR_DOCUMENT_SHIFT*2:0),jr=$.state?.package?.document?.finalSectionProperties?.pageWidth,sd=jr?Math.round(jr/15):816,ht=useMemo(()=>{let M=new Set;for(let z of Ie)z.done&&z.parentId==null&&M.add(z.id);return M},[Ie]),ld=useCallback(()=>{let M=se.current?.getView();if(!M){_o(null);return}let z=extractSelectionState(M.state);_o(z);let Y=M.state.selection.$from,me=[...M.state.storedMarks??[],...Y.nodeAfter?.marks??[],...Y.nodeBefore?.marks??[],...Y.marks()],we=null;for(let at of me){if(at.type.name==="comment"&&at.attrs.commentId!=null){let Bt=at.attrs.commentId;if(ht.has(Bt))continue;we=`comment-${Bt}`;break}if((at.type.name==="insertion"||at.type.name==="deletion")&&at.attrs.revisionId!=null){let Bt=String(at.attrs.revisionId),zn=`tc-${Bt}-`,Vo=mo.find(Uo=>Uo.id.startsWith(zn));if(!Vo&&Bn){let Uo=Bn.get(Bt);Uo&&(Vo=mo.find(ud=>ud.id===Uo));}if(Vo){we=Vo.id;break}}}we&&ve(true),De(we);},[_o,ht,mo,Bn]),cd=useMemo(()=>{if(!Ee?.startsWith("comment-"))return ht;let M=parseInt(Ee.slice(8),10);if(isNaN(M)||!ht.has(M))return ht;let z=new Set(ht);return z.delete(M),z},[ht,Ee]),dd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return O.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${v}`,style:Wo,"data-testid":"docx-editor",children:w||jsx(vl,{})}):O.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${v}`,style:Wo,"data-testid":"docx-editor",children:jsx(Sl,{message:O.parseError})}):$.state?jsx(sl,{i18n:Z,onEditorError:Vc,containerRef:Fo,scrollContainerRef:Jt,editorContentRef:Ao,className:v,containerStyle:Wo,mainContentStyle:rd,editorContainerStyle:dd,showRuler:m$1,readOnlyProp:R,showOutline:Hr,showOutlineButton:x,sidebarOpen:Nn,minLayoutWidth:ad,toolbarHeight:Ar,editorScrollLeft:Or,expandedSidebarItem:Ee,trackedChanges:xe,onScrollContainerMouseDown:M=>{let z=M.target;z.closest(".paged-editor__pages")||z.closest(".docx-unified-sidebar")||z.closest(".docx-comment-margin-markers")||De(null);},onEditorBgMouseDown:M=>{M.target===M.currentTarget&&(M.preventDefault(),se.current?.focus());},onEditorContextMenu:xc,horizontalRulerProps:{sectionProps:$.state?.package.document?.finalSectionProperties,zoom:O.zoom,unit:g$1,editable:!be,onLeftMarginChange:Lc,onRightMarginChange:Hc,indentLeft:O.paragraphIndentLeft,indentRight:O.paragraphIndentRight,onIndentLeftChange:Bc,onIndentRightChange:Nc,firstLineIndent:O.paragraphFirstLineIndent,hangingIndent:O.paragraphHangingIndent,onFirstLineIndentChange:zc,tabStops:O.paragraphTabs,onTabStopRemove:_c},verticalRulerProps:{sectionProps:On,zoom:O.zoom,unit:g$1,editable:!be,onTopMarginChange:Fc,onBottomMarginChange:Ac},outlineProps:{headings:Tl,onHeadingClick:Wl,onClose:()=>Fr(false),topOffset:Ar,scrollLeft:Or},onToggleOutline:_l,scrollPageInfo:Gr,agentPanel:te,agentPanelOpen:nt,onAgentPanelClose:()=>Pe(false),toolbar:p&&!R?jsx(oa,{toolbarRefCallback:wl,agentPanelOpen:nt,setAgentPanelOpen:Pe,document:$.state,theme:l,pmState:ot,selectionFormatting:O.selectionFormatting,tableContext:O.pmTableContext,imageContext:O.pmImageContext,readOnly:be,editingMode:de,setEditingMode:Re,setShowCommentsSidebar:ve,setExpandedSidebarItem:De,showCommentsSidebar:Te,agentPanel:te,renderLogo:W,documentName:F,onDocumentNameChange:U,documentNameEditable:q,renderTitleBarRight:re,toolbarExtra:c$1,fontFamilies:E,zoom:O.zoom,showZoomControl:f,onFormat:ac,onUndo:El,onRedo:Il,onPrint:Vr,onOpen:Al,onSave:Fl,onZoomChange:dc,onRefocusEditor:Ot,onInsertTable:sc,onInsertImage:Bl,onInsertPageBreak:lc,onInsertTOC:cc,onImageWrapType:jl,onImageTransform:Xl,onOpenImageProperties:$r,onPageSetup:Dc,onTableAction:nc}):null,pagedArea:jsx(Ws,{pagedEditorRef:se,hfEditorRef:Ho,scrollContainerRef:Jt,editorContentRef:Ao,document:$.state,theme:l,initialSectionProperties:On,finalSectionProperties:Kr,headerContent:Xc,footerContent:qc,firstPageHeaderContent:Zc,firstPageFooterContent:Qc,hfEditPosition:ce,setHfEditPosition:Be,hfEditIsFirstPage:fe,onHeaderFooterDoubleClick:Jc,onHeaderFooterSave:ed,onRemoveHeaderFooter:od,onBodyClick:td,getHfTargetElement:nd,zoom:O.zoom,readOnly:be,extensionManager:pe,externalPlugins:Fn,onDocumentChange:zo,onSelectionChange:_o,onPagedSelectionChange:ld,onReady:M=>{let z=M.getView();z&&ft(z.state);},onEditorViewReady:he,onRenderedDomContextReady:J,pluginOverlays:D,onHyperlinkClick:fc,hyperlinkPopupData:uc,onHyperlinkPopupNavigate:gc,onHyperlinkPopupCopy:hc,onHyperlinkPopupEdit:bc,onHyperlinkPopupRemove:yc,onHyperlinkPopupClose:vc,onContextMenu:Rc,sidebarOpen:Nn,sidebarItems:Yr,anchorPositions:Dt,onAnchorPositionsChange:qt,pluginRenderedDomContext:N,pageWidthPx:sd,expandedSidebarItem:Ee,setExpandedSidebarItem:De,comments:Ie,resolvedCommentIds:ht,resolvedIdsForRender:cd,setShowCommentsSidebar:ve,onTotalPagesChange:M=>{Wc(z=>z.totalPages===M?z:{...z,totalPages:M});},floatingCommentBtn:jt,isAddingComment:It,setCommentSelectionRange:et,setAddCommentYPosition:Ke,setIsAddingComment:$e,setFloatingCommentBtn:Ye}),overlays:jsx(Xi,{contextMenu:Cc,contextMenuItems:Ec,onContextMenuAction:Ic,onContextMenuClose:Pc,imageContextMenu:Sc,onImageWrapApply:Tc,imageContextMenuTextActions:wc,onOpenImageProperties:$r,readOnly:be}),dialogs:jsx(qi,{findReplace:po,findResultRef:Uc,onFind:$c,onFindNext:Gc,onFindPrevious:Kc,onReplace:Yc,onReplaceAll:jc,hyperlinkDialog:Bo,onHyperlinkSubmit:pc,onHyperlinkRemove:mc,tablePropsOpen:Jl,onTablePropsClose:()=>ec(false),pmTableContext:O.pmTableContext,getActiveEditorView:it,splitCellDialogState:tc,onSplitCellDialogClose:rc,onSplitCellDialogApply:ic,imagePositionOpen:Vl,onImagePositionClose:()=>Ul(false),onApplyImagePosition:ql,imagePropsOpen:$l,onImagePropsClose:()=>Gl(false),onApplyImageProperties:Zl,pmImageContext:O.pmImageContext,showPageSetup:kc,onPageSetupClose:()=>Mc(false),onPageSetupApply:Oc,document:$.state,footnotePropsOpen:Kl,onFootnotePropsClose:()=>Yl(false),onApplyFootnoteProperties:Ql}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Dl,type:"file",accept:"image/*",style:{display:"none"},onChange:Nl}),jsx("input",{ref:Ll,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Ol})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${v}`,style:Wo,"data-testid":"docx-editor",children:y||jsx(Cl,{})})});function rh(e,t,o={}){return new Promise((r,n)=>{let d=Rl.createRef(),s=null;try{s=createRoot(t);}catch(p){n(p);return}let i={save:async()=>{let p=await(d.current?.save()??Promise.resolve(null));return p?new Blob([p],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>d.current?.getDocument()??null,focus:()=>d.current?.focus(),setZoom:p=>d.current?.setZoom(p),scrollToParaId:p=>d.current?.scrollToParaId(p)??false,scrollToPosition:p=>d.current?.scrollToPosition(p),destroy:()=>{s?.unmount(),s=null;}},u=false,l=Rl.createElement(Dr,{...o,documentBuffer:e,onError:p=>{o.onError?.(p),u||(u=true,n(p));},onChange:p=>{o.onChange?.(p),u||(u=true,r(i));},ref:d});s.render(l);})}var kP="0.0.2";export{Dr as DocxEditor,kP as VERSION,rh as renderAsync};
33
+ `}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function kl(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--doc-text-placeholder)"},children:[jsxs("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsx("polyline",{points:"14 2 14 8 20 8"})]}),jsx("div",{style:{marginTop:"16px"},children:e("errors.noDocumentLoaded")})]})}function Ml({message:e}){let{t}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",padding:"20px",textAlign:"center"},children:[jsx("div",{style:{color:"var(--doc-error)",marginBottom:"16px"},children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M12 8v4M12 16v.01"})]})}),jsx("h3",{style:{color:"var(--doc-error)",marginBottom:"8px"},children:t("errors.failedToLoad")}),jsx("p",{style:{color:"var(--doc-text-muted)",maxWidth:"400px"},children:e})]})}function Dl(e,t,o){useEffect(()=>{loadFontDefinitions(e);},[e]),useEffect(()=>onFontsLoaded(()=>t?.()),[t]);let r=useRef(o);useEffect(()=>{r.current=o;},[o]),useEffect(()=>onFontError(n=>r.current?.(n)),[]);}var Wr=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:d$1,onSelectionChange:c,onError:i$1,onFontsLoaded:h,theme:l,showToolbar:a=true,showZoomControl:m$1=true,showMarginGuides:s=false,marginGuideColor:S,showRuler:u=false,rulerUnit:g="inch",initialZoom:b=1,readOnly:x=false,disableFindReplaceShortcuts:f=false,toolbarExtra:p,className:v="",style:C,placeholder:y,loadingIndicator:R,showOutline:P=false,showOutlineButton:T=true,fontFamilies:w,fonts:I,printOptions:E,onPrint:M,onCopy:H,onCut:L,onPaste:z,mode:G,onModeChange:W,onCommentAdd:$,onCommentResolve:V,onCommentDelete:j,onCommentReply:ne,comments:se,onCommentsChange:ue,externalPlugins:Ee,externalContent:Ce=false,onEditorViewReady:pe,onRenderedDomContextReady:ye,pluginOverlays:Te,pluginSidebarItems:D,pluginRenderedDomContext:B,renderLogo:O,documentName:oe,onDocumentNameChange:F,documentNameEditable:_=true,renderTitleBarRight:ee,i18n:Q,agentPanel:Y},le){let[N,q]=useState({isLoading:!!t&&!Ce,parseError:null,zoom:b,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[we,re]=useState(null),[ke,He]=useState(false),[Ie,he]=useState(false),ie=useRef(false),[te,me]=useState(null),U=useRef(null),{comments:ce,setComments:de,isAddingComment:_e,setIsAddingComment:rt,isAddingCommentRef:io,commentSelectionRange:ut,setCommentSelectionRange:We,addCommentYPosition:vo,setAddCommentYPosition:it,floatingCommentBtn:Ut,setFloatingCommentBtn:at,cleanOrphanedCommentsTimerRef:pt,cleanOrphanedComments:$t}=Zi({commentsProp:se,onCommentDelete:j,onCommentsChange:ue,pagedEditorRef:U}),[Pt,Tt]=useState(null),{entries:Ze,commentToRevision:Qe}=d(Pt),[mt,wt]=useState(ln),[Co,Kt]=useState(G??"editing"),st=G??Co,be=k=>{G||Kt(k),W?.(k);},ve=x||st==="viewing",[Ae,Gt]=useState(false),Et=Y?.open!==void 0,ao=Y?Et?!!Y.open:Ae:false,ft=useCallback(k=>{Y?.onOpenChange?.(k),Et||Gt(k);},[Y,Et]),Fe=useRef(new Set),It=useRef(new Set),Se=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),So=useMemo(()=>{let k=new ExtensionManager(createStarterKit());return k.buildSchema(),k.initializeRuntime(),k},[]),X=useMemo(()=>createSuggestionModePlugin(st==="suggesting",n),[]),xe=useMemo(()=>[X,...Ee??[]],[X,Ee]),fe=useRef(null),Ne=useRef(null),je=useRef(null),so=useRef(null),kt=useRef(null),Mt=useRef(null),{showOutline:Vr,setShowOutline:Ur,showOutlineRef:Ll,outlineHeadings:Al,setHeadingInfos:Wn,toolbarHeight:$r,toolbarRefCallback:Ol,editorScrollLeft:Kr}=gi({showOutlineProp:P,pagedEditorRef:U,scrollContainerRef:Mt,isLoading:N.isLoading}),xo=useRef(Se.state);xo.current=Se.state;let Gr=useRef({style:"single",size:4,color:{rgb:"000000"}}),jr=useRef(null),Uo=useCallback(k=>{let A=jr.current;if(A&&A.styles===k)return A.resolver;let Z=createStyleResolver(k);return jr.current={styles:k,resolver:Z},Z},[]),{getActiveEditorView:gt,focusActiveEditor:jt,undoActiveEditor:Bl,redoActiveEditor:Nl}=ra({hfEditPosition:we,hfEditorRef:fe,pagedEditorRef:U}),Ro=b$2(),$o=m(),Yr=useRef(false),qr=useRef(false),{resetForNewDocument:zl}=Js({commentsLoadedRef:Yr,trackedChangesLoadedRef:qr,setComments:de,setHeadingInfos:Wn,setShowCommentsSidebar:he,setIsAddingComment:rt,setCommentSelectionRange:We,setAddCommentYPosition:it,setFloatingCommentBtn:at,setHfEditPosition:re,setHfEditIsFirstPage:He,setAnchorPositions:wt,clearFindReplaceMatches:useCallback(()=>Ro.setMatches([],0),[Ro]),cleanOrphanedCommentsTimerRef:pt}),{loadParsedDocument:_l,loadBuffer:Xr}=_i({documentBuffer:t,initialDocument:o,externalContent:Ce,history:Se,agentRef:Ne,pagedEditorRef:U,setLoadingState:useCallback(k=>{q(A=>({...A,isLoading:k.isLoading,parseError:k.parseError}));},[]),setComments:de,setShowCommentsSidebar:he,onError:i$1,resetForNewDocument:zl,commentsLoadedRef:Yr}),{imageInputRef:Wl,docxInputRef:Vl,handleSave:Ul,handleDirectPrint:Zr,handleDownloadDocument:$l,handleOpenDocument:Kl,handleDocxFileChange:Gl,handleInsertImageClick:jl,handleImageFileChange:Yl}=yi({agentRef:Ne,pagedEditorRef:U,containerRef:je,comments:ce,documentName:oe,onSave:r,onError:i$1,onPrint:M,onDocumentNameChange:F,loadBuffer:Xr,getActiveEditorView:gt,focusActiveEditor:jt});useEffect(()=>{if(N.isLoading||!Se.state)return;let k=U.current?.getView();k&&Tt(k.state);},[N.isLoading,Se.state]),Ji({commentToRevision:Qe,setComments:de,pmState:Pt,isLoading:N.isLoading,trackedChangesCount:Ze.length,setShowCommentsSidebar:he,trackedChangesLoadedRef:qr}),Dl(I,h,i$1),useEffect(()=>{let k=U.current?.getView();k&&setSuggestionMode(st==="suggesting",k.state,k.dispatch,n);},[st,n]);let Ko=useCallback(k=>(Se.push(k),k),[Se]),Vn=useCallback(k=>{Ko(k),d$1?.(k);for(let Z of Fe.current)try{Z(k);}catch(Pe){console.error("contentChange subscriber threw:",Pe);}if(Ll.current){let Z=U.current?.getView();Z&&Wn(collectHeadings(Z.state.doc));}let A=U.current?.getView();A&&Tt(A.state),pt.current&&clearTimeout(pt.current),pt.current=setTimeout($t,300);},[d$1,Ko,$t]),{recomputeFloatingCommentBtn:ql}=na({pagedEditorRef:U,scrollContainerRef:Mt,editorContentRef:kt,isAddingCommentRef:io,setFloatingCommentBtn:at,readOnly:ve,isLoading:N.isLoading,zoom:N.zoom}),{handleSelectionChange:Go}=ta({getActiveEditorView:gt,lastSelectionRef:so,borderSpecRef:Gr,theme:l,historyStateRef:xo,getCachedStyleResolver:Uo,setFloatingCommentBtn:at,applySelectionDelta:useCallback(k=>q(A=>({...A,...k})),[]),recomputeFloatingCommentBtn:ql,onSelectionChange:c,selectionChangeSubscribersRef:It}),Qr=e({document:Se.state,onChange:Vn,onSelectionChange:k=>{}});hi({pagedEditorRef:U,disableFindReplaceShortcuts:f,findReplace:Ro,hyperlinkDialog:$o,tableSelection:Qr});let Xl=useCallback(()=>{Ur(k=>{if(!k){let A=U.current?.getView();A&&Wn(collectHeadings(A.state.doc));}return !k});},[]),Zl=useCallback(k=>{U.current?.scrollToPosition(k),U.current?.setSelection(k+1),U.current?.focus();},[]),{imagePositionOpen:Ql,setImagePositionOpen:Jl,imagePropsOpen:ec,setImagePropsOpen:tc,footnotePropsOpen:oc,setFootnotePropsOpen:nc,handleImageWrapType:rc,handleImageTransform:ic,handleApplyImagePosition:ac,handleOpenImageProperties:Jr,handleApplyImageProperties:sc,handleApplyFootnoteProperties:lc}=Mi({document:Se.state,pmImageContext:N.pmImageContext,zoom:N.zoom,getActiveEditorView:gt,focusActiveEditor:jt,pushDocument:Ko}),{tablePropsOpen:cc,setTablePropsOpen:dc,splitCellDialogState:uc,openSplitCellDialog:pc,handleTableAction:mc,handleSplitCellDialogClose:fc,handleSplitCellDialogApply:gc}=Bi({getActiveEditorView:gt,focusActiveEditor:jt,tableSelection:Qr,borderSpecRef:Gr,historyStateRef:xo,getCachedStyleResolver:Uo}),{handleFormat:hc,handleInsertTable:bc,handleInsertPageBreak:yc,handleInsertTOC:vc}=ki({getActiveEditorView:gt,focusActiveEditor:jt,pagedEditorRef:U,lastSelectionRef:so,hyperlinkDialog:$o,historyStateRef:xo,getCachedStyleResolver:Uo}),Cc=useCallback(k=>{q(A=>({...A,zoom:k}));},[]),{hyperlinkPopupData:Sc,handleHyperlinkSubmit:xc,handleHyperlinkRemove:Rc,handleHyperlinkClick:Pc,handleHyperlinkPopupNavigate:Tc,handleHyperlinkPopupCopy:wc,handleHyperlinkPopupEdit:Ec,handleHyperlinkPopupRemove:Ic,handleHyperlinkPopupClose:kc}=Ri({hyperlinkDialog:$o,getActiveEditorView:gt,focusActiveEditor:jt}),{contextMenu:Mc,imageContextMenu:Dc,handleEditorContextMenu:Hc,handleContextMenu:Fc,handleContextMenuClose:Lc,handleImageWrapApply:Ac,imageContextMenuTextActions:Oc,contextMenuItems:Bc,handleContextMenuAction:Nc}=qi({getActiveEditorView:gt,focusActiveEditor:jt,openSplitCellDialog:pc,scrollContainerRef:Mt,editorContentRef:kt,i18n:Q,onAddComment:useCallback(({from:k,to:A,yPos:Z})=>{We({from:k,to:A}),it(Z),he(true),rt(true),at(null);},[])}),{showPageSetup:zc,setShowPageSetup:_c,handleOpenPageSetup:Wc,handleLeftMarginChange:Vc,handleRightMarginChange:Uc,handleTopMarginChange:$c,handleBottomMarginChange:Kc,handlePageSetupApply:Gc,handleIndentLeftChange:jc,handleIndentRightChange:Yc,handleFirstLineIndentChange:qc,handleTabStopRemove:Xc}=Ci({document:Se.state,readOnly:ve,handleDocumentChange:Vn,getActiveEditorView:gt}),{scrollPageInfo:ei,setScrollPageInfo:Zc}=ia({scrollContainerRef:Mt,pagedEditorRef:U}),Qc=useCallback(k=>{i$1?.(k);},[i$1]),{findResultRef:Jc,handleFind:ed,handleFindNext:td,handleFindPrevious:od,handleReplace:nd,handleReplaceAll:rd}=wi({pagedEditorRef:U,findReplace:Ro});Li({ref:le,agentRef:Ne,document:Se.state,historyStateRef:xo,pagedEditorRef:U,handleSave:Ul,handleDirectPrint:Zr,zoom:N.zoom,setZoom:k=>q(A=>({...A,zoom:k})),scrollPageInfo:ei,loadParsedDocument:_l,loadBuffer:Xr,comments:ce,setComments:de,setShowCommentsSidebar:he,contentChangeSubscribersRef:Fe,selectionChangeSubscribersRef:It,getCachedStyleResolver:Uo});let Un=useMemo(()=>Di(Se.state),[Se.state]),ti=Se.state?.package.document?.finalSectionProperties,{headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,handleHeaderFooterDoubleClick:cd,handleHeaderFooterSave:dd,handleBodyClick:ud,handleRemoveHeaderFooter:pd,getHfTargetElement:md}=Ni({document:Se.state,pushDocument:Ko,hfEditorRef:fe,containerRef:je,initialSectionProperties:Un,finalSectionProperties:ti,hfEditPosition:we,setHfEditPosition:re,hfEditIsFirstPage:ke,setHfEditIsFirstPage:He}),jo={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...C},fd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ye=useRef({});Ye.current={onCommentReply:(k,A)=>{let Z=Jt(A,n,k),Pe=ce.find(Oe=>Oe.id===k);de(Oe=>[...Oe,Z]),Pe&&ne?.(Z,Pe);},onCommentResolve:k=>{let A=ce.find(Z=>Z.id===k);de(Z=>Z.map(Pe=>Pe.id===k?{...Pe,done:true}:Pe)),te===`comment-${k}`&&me(null),A&&V?.({...A,done:true});},onCommentUnresolve:k=>{de(A=>A.map(Z=>Z.id===k?{...Z,done:void 0}:Z));},onCommentDelete:k=>{let A=ce.find(Pe=>Pe.id===k);de(Pe=>Pe.filter(Oe=>Oe.id!==k&&Oe.parentId!==k));let Z=U.current?.getView();if(Z){let Pe=Z.state.schema.marks.comment?.create({commentId:k});if(Pe){let Oe=Z.state.tr.removeMark(0,Z.state.doc.content.size,Pe);Oe.docChanged&&Z.dispatch(Oe);}}A&&j?.(A);},onAddComment:k=>{let A=Jt(k,n),Z=U.current?.getView();if(Z&&ut){let{from:Pe,to:Oe}=ut,ht=Z.state.schema.marks.comment.create({commentId:yt}),qt=Z.state.schema.marks.comment.create({commentId:A.id}),Gn=Z.state.tr.removeMark(Pe,Oe,ht).addMark(Pe,Oe,qt);Z.dispatch(Gn);}de(Pe=>[...Pe,A]),rt(false),We(null),it(null),$?.(A);},onCancelAddComment:()=>{let k=U.current?.getView();if(k&&ut){let{from:A,to:Z}=ut,Pe=k.state.schema.marks.comment.create({commentId:yt});k.dispatch(k.state.tr.removeMark(A,Z,Pe));}rt(false),We(null),it(null);},onAcceptChange:(k,A)=>{let Z=U.current?.getView();Z&&acceptChange(k,A)(Z.state,Z.dispatch);},onRejectChange:(k,A)=>{let Z=U.current?.getView();Z&&rejectChange(k,A)(Z.state,Z.dispatch);},onAcceptChangeById:k=>{let A=U.current?.getView();A&&acceptChangeById(k)(A.state,A.dispatch);},onRejectChangeById:k=>{let A=U.current?.getView();A&&rejectChangeById(k)(A.state,A.dispatch);},onTrackedChangeReply:(k,A)=>{de(Z=>[...Z,Jt(A,n,k)]);}};let gd=useMemo(()=>({onCommentReply:(...k)=>Ye.current.onCommentReply?.(...k),onCommentResolve:(...k)=>Ye.current.onCommentResolve?.(...k),onCommentUnresolve:(...k)=>Ye.current.onCommentUnresolve?.(...k),onCommentDelete:(...k)=>Ye.current.onCommentDelete?.(...k),onAddComment:(...k)=>Ye.current.onAddComment?.(...k),onCancelAddComment:(...k)=>Ye.current.onCancelAddComment?.(...k),onAcceptChange:(...k)=>Ye.current.onAcceptChange?.(...k),onRejectChange:(...k)=>Ye.current.onRejectChange?.(...k),onAcceptChangeById:(...k)=>Ye.current.onAcceptChangeById?.(...k),onRejectChangeById:(...k)=>Ye.current.onRejectChangeById?.(...k),onTrackedChangeReply:(...k)=>Ye.current.onTrackedChangeReply?.(...k)}),[]),Yt=El({comments:ce,trackedChanges:Ze,callbacks:gd,showResolved:Ie,isAddingComment:Ie?_e:false,addCommentYPosition:vo}),oi=useMemo(()=>{let k=[];return Ie&&k.push(...Yt),D&&k.push(...D),k},[Ie,Yt,D]),$n=useMemo(()=>{let k=new Map;return Ze.forEach((A,Z)=>{A.type==="replacement"&&A.insertionRevisionId!=null&&k.set(String(A.insertionRevisionId),`tc-${A.revisionId}-${Z}`);}),k},[Ze]),Kn=oi.length>0,hd=2*(Vr?ul:T?pl:20)+816+(Kn?SIDEBAR_DOCUMENT_SHIFT*2:0),ni=Se.state?.package?.document?.finalSectionProperties?.pageWidth,bd=ni?Math.round(ni/15):816,Dt=useMemo(()=>{let k=new Set;for(let A of ce)A.done&&A.parentId==null&&k.add(A.id);return k},[ce]),yd=useCallback(()=>{let k=U.current?.getView();if(!k){Go(null);return}let A=extractSelectionState(k.state);Go(A);let Z=k.state.selection.$from,Pe=[...k.state.storedMarks??[],...Z.nodeAfter?.marks??[],...Z.nodeBefore?.marks??[],...Z.marks()],Oe=null;for(let ht of Pe){if(ht.type.name==="comment"&&ht.attrs.commentId!=null){let qt=ht.attrs.commentId;if(Dt.has(qt))continue;Oe=`comment-${qt}`;break}if((ht.type.name==="insertion"||ht.type.name==="deletion")&&ht.attrs.revisionId!=null){let qt=String(ht.attrs.revisionId),Gn=`tc-${qt}-`,Yo=Yt.find(qo=>qo.id.startsWith(Gn));if(!Yo&&$n){let qo=$n.get(qt);qo&&(Yo=Yt.find(Sd=>Sd.id===qo));}if(Yo){Oe=Yo.id;break}}}Oe&&he(true),me(Oe);},[Go,Dt,Yt,$n]);useEffect(()=>{ie.current||Yt.length!==0&&(ie.current=true,he(true));},[Yt]);let vd=useMemo(()=>{if(!te?.startsWith("comment-"))return Dt;let k=parseInt(te.slice(8),10);if(isNaN(k)||!Dt.has(k))return Dt;let A=new Set(Dt);return A.delete(k),A},[Dt,te]),Cd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return N.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${v}`,style:jo,"data-testid":"docx-editor",children:R||jsx(Il,{})}):N.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${v}`,style:jo,"data-testid":"docx-editor",children:jsx(Ml,{message:N.parseError})}):Se.state?jsx(yl,{i18n:Q,onEditorError:Qc,containerRef:je,scrollContainerRef:Mt,editorContentRef:kt,className:v,containerStyle:jo,mainContentStyle:fd,editorContainerStyle:Cd,showRuler:u,readOnlyProp:x,showOutline:Vr,showOutlineButton:T,sidebarOpen:Kn,minLayoutWidth:hd,toolbarHeight:$r,editorScrollLeft:Kr,expandedSidebarItem:te,trackedChanges:Ze,onScrollContainerMouseDown:k=>{let A=k.target;A.closest(".paged-editor__pages")||A.closest(".docx-unified-sidebar")||A.closest(".docx-comment-margin-markers")||me(null);},onEditorBgMouseDown:k=>{k.target===k.currentTarget&&(k.preventDefault(),U.current?.focus());},onEditorContextMenu:Hc,horizontalRulerProps:{sectionProps:Se.state?.package.document?.finalSectionProperties,zoom:N.zoom,unit:g,editable:!ve,onLeftMarginChange:Vc,onRightMarginChange:Uc,indentLeft:N.paragraphIndentLeft,indentRight:N.paragraphIndentRight,onIndentLeftChange:jc,onIndentRightChange:Yc,firstLineIndent:N.paragraphFirstLineIndent,hangingIndent:N.paragraphHangingIndent,onFirstLineIndentChange:qc,tabStops:N.paragraphTabs,onTabStopRemove:Xc},verticalRulerProps:{sectionProps:Un,zoom:N.zoom,unit:g,editable:!ve,onTopMarginChange:$c,onBottomMarginChange:Kc},outlineProps:{headings:Al,onHeadingClick:Zl,onClose:()=>Ur(false),topOffset:$r,scrollLeft:Kr},onToggleOutline:Xl,scrollPageInfo:ei,agentPanel:Y,agentPanelOpen:ao,onAgentPanelClose:()=>ft(false),toolbar:a&&!x?jsx(ma,{toolbarRefCallback:Ol,agentPanelOpen:ao,setAgentPanelOpen:ft,document:Se.state,theme:l,pmState:Pt,selectionFormatting:N.selectionFormatting,tableContext:N.pmTableContext,imageContext:N.pmImageContext,readOnly:ve,editingMode:st,setEditingMode:be,setShowCommentsSidebar:he,setExpandedSidebarItem:me,showCommentsSidebar:Ie,agentPanel:Y,renderLogo:O,documentName:oe,onDocumentNameChange:F,documentNameEditable:_,renderTitleBarRight:ee,toolbarExtra:p,fontFamilies:w,zoom:N.zoom,showZoomControl:m$1,onFormat:hc,onUndo:Bl,onRedo:Nl,onPrint:Zr,onOpen:Kl,onSave:$l,onZoomChange:Cc,onRefocusEditor:jt,onInsertTable:bc,onInsertImage:jl,onInsertPageBreak:yc,onInsertTOC:vc,onImageWrapType:rc,onImageTransform:ic,onOpenImageProperties:Jr,onPageSetup:Wc,onTableAction:mc}):null,pagedArea:jsx(Qs,{pagedEditorRef:U,hfEditorRef:fe,scrollContainerRef:Mt,editorContentRef:kt,document:Se.state,theme:l,initialSectionProperties:Un,finalSectionProperties:ti,headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,hfEditPosition:we,setHfEditPosition:re,hfEditIsFirstPage:ke,onHeaderFooterDoubleClick:cd,onHeaderFooterSave:dd,onRemoveHeaderFooter:pd,onBodyClick:ud,getHfTargetElement:md,zoom:N.zoom,readOnly:ve,extensionManager:So,externalPlugins:xe,onDocumentChange:Vn,onSelectionChange:Go,onPagedSelectionChange:yd,onReady:k=>{let A=k.getView();A&&Tt(A.state);},onEditorViewReady:pe,onRenderedDomContextReady:ye,pluginOverlays:Te,onHyperlinkClick:Pc,hyperlinkPopupData:Sc,onHyperlinkPopupNavigate:Tc,onHyperlinkPopupCopy:wc,onHyperlinkPopupEdit:Ec,onHyperlinkPopupRemove:Ic,onHyperlinkPopupClose:kc,onContextMenu:Fc,sidebarOpen:Kn,sidebarItems:oi,anchorPositions:mt,onAnchorPositionsChange:wt,pluginRenderedDomContext:B,pageWidthPx:bd,expandedSidebarItem:te,setExpandedSidebarItem:me,comments:ce,resolvedCommentIds:Dt,resolvedIdsForRender:vd,setShowCommentsSidebar:he,onTotalPagesChange:k=>{Zc(A=>A.totalPages===k?A:{...A,totalPages:k});},floatingCommentBtn:Ut,isAddingComment:_e,setCommentSelectionRange:We,setAddCommentYPosition:it,setIsAddingComment:rt,setFloatingCommentBtn:at}),overlays:jsx(aa,{contextMenu:Mc,contextMenuItems:Bc,onContextMenuAction:Nc,onContextMenuClose:Lc,imageContextMenu:Dc,onImageWrapApply:Ac,imageContextMenuTextActions:Oc,onOpenImageProperties:Jr,readOnly:ve}),dialogs:jsx(sa,{findReplace:Ro,findResultRef:Jc,onFind:ed,onFindNext:td,onFindPrevious:od,onReplace:nd,onReplaceAll:rd,hyperlinkDialog:$o,onHyperlinkSubmit:xc,onHyperlinkRemove:Rc,tablePropsOpen:cc,onTablePropsClose:()=>dc(false),pmTableContext:N.pmTableContext,getActiveEditorView:gt,splitCellDialogState:uc,onSplitCellDialogClose:fc,onSplitCellDialogApply:gc,imagePositionOpen:Ql,onImagePositionClose:()=>Jl(false),onApplyImagePosition:ac,imagePropsOpen:ec,onImagePropsClose:()=>tc(false),onApplyImageProperties:sc,pmImageContext:N.pmImageContext,showPageSetup:zc,onPageSetupClose:()=>_c(false),onPageSetupApply:Gc,document:Se.state,footnotePropsOpen:oc,onFootnotePropsClose:()=>nc(false),onApplyFootnoteProperties:lc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Wl,type:"file",accept:"image/*",style:{display:"none"},onChange:Yl}),jsx("input",{ref:Vl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Gl})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${v}`,style:jo,"data-testid":"docx-editor",children:y||jsx(kl,{})})});function zh(e,t,o={}){return new Promise((r,n)=>{let d=Fl.createRef(),c=null;try{c=createRoot(t);}catch(a){n(a);return}let i={save:async()=>{let a=await(d.current?.save()??Promise.resolve(null));return a?new Blob([a],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>d.current?.getDocument()??null,focus:()=>d.current?.focus(),setZoom:a=>d.current?.setZoom(a),scrollToParaId:a=>d.current?.scrollToParaId(a)??false,scrollToPosition:a=>d.current?.scrollToPosition(a),destroy:()=>{c?.unmount(),c=null;}},h=false,l=Fl.createElement(Wr,{...o,documentBuffer:e,onError:a=>{o.onError?.(a),h||(h=true,n(a));},onChange:a=>{o.onChange?.(a),h||(h=true,r(i));},ref:d});c.render(l);})}var ST="0.0.2";export{Wr as DocxEditor,ST as VERSION,zh as renderAsync};