@eigenpal/docx-editor-react 1.3.3 → 1.4.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,4 +1,4 @@
1
- import {h,d as d$1,g,F,i as i$1,o,E,C,A}from'./chunk-72ZQJWN2.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,d,i,e,b as b$4}from'./chunk-2YRWZCRK.mjs';import {b as b$1}from'./chunk-3L2QMHNA.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 kl,{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,createDocumentStylesPlugin,ensureParaIdsInState,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,setContentControlValueTr,removeContentControlTr,setContentControlContentTr,findContentControlPos,findContentControlsInPM,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1,addRepeatingSectionItemTr,removeRepeatingSectionItemTr}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,getWatermarkFromState,setWatermark,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {LayoutPainter,buildBlockLookup,renderPages,applySdtFocus,enclosingSdtGroupIds,findImageElement,hitTestImage,captureInlinePositionEmu,renderAllPagesNow,toolbarValueToLayoutTarget,deriveLayoutChoice,IMAGE_LAYOUT_OPTIONS,isImageLayoutOptionEnabled}from'@eigenpal/docx-editor-core/layout-painter';import {toast,Toaster}from'sonner';import {NodeSelection,TextSelection,EditorState}from'prosemirror-state';import {getSelectionInfo,findInDocument,getPageContent}from'@eigenpal/docx-editor-core/prosemirror/queries';import {setParagraphStyle,applyFormatting}from'@eigenpal/docx-editor-core/prosemirror/applyFormatting';import {DocumentAgent,ContentControlNotFoundError}from'@eigenpal/docx-editor-core/agent';import {createComment,applyProposedChange,addCommentToRange}from'@eigenpal/docx-editor-core/prosemirror/commentOps';import {createCommentIdAllocator,PENDING_COMMENT_ID,seedCommentAllocator}from'@eigenpal/docx-editor-core/prosemirror/commentIdAllocator';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,getColumns,applyCellSelectionHighlight,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,computeHfSelectionRectsFromView,invalidateHfDomCache,measureBlocksWithFloats,getCaretPositionFromDom,getSelectionRectsFromDom,findBodyPmSpans,resetCanvasContext,clearAllCaches,findBodyPmAnchors,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';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 {stripScrollFlag,computeLayout,createLayoutScheduler}from'@eigenpal/docx-editor-core/editor';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 {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {findPageIndexContainingPmPos,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {commitImageResize,isFloatingImage,commitImageFloatMove,commitImageInlineMove}from'@eigenpal/docx-editor-core/prosemirror/imageCommit';import {readColumnWidths,readRowHeight,TWIPS_PER_PIXEL,readColumnWidthAt,MIN_CELL_WIDTH_TWIPS,MIN_ROW_HEIGHT_TWIPS,commitColumnResize,commitRowResize,commitRightEdgeResize}from'@eigenpal/docx-editor-core/prosemirror/tableResize';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 ci({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,u]=useState(e),d=useRef(false);d.current=n;let[s,m]=useState([]);useEffect(()=>{if(u(e),e){let b=t.current?.getView();b&&m(collectHeadings(b.state.doc));}},[e,t]);let i=useRef(null),a=useRef(null),[g,l]=useState(0),S=useCallback(b=>{if(a.current=b,i.current&&(i.current.disconnect(),i.current=null),!b){l(0);return}l(b.offsetHeight);let C=new ResizeObserver(()=>{l(b.offsetHeight);});C.observe(b),i.current=C;},[]);useEffect(()=>()=>{i.current?.disconnect();},[]);let[c,f]=useState(0);return useEffect(()=>{let b=o.current;if(!b)return;let C=0,h=()=>{C=0,f(b.scrollLeft);},p=()=>{C===0&&(C=requestAnimationFrame(h));};return h(),b.addEventListener("scroll",p,{passive:true}),()=>{b.removeEventListener("scroll",p),C!==0&&cancelAnimationFrame(C);}},[r,o]),{showOutline:n,setShowOutline:u,showOutlineRef:d,outlineHeadings:s,setHeadingInfos:m,toolbarHeight:g,toolbarRefCallback:S,editorScrollLeft:c}}function di({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let u=d=>{let m=navigator.platform.toUpperCase().indexOf("MAC")>=0?d.metaKey:d.ctrlKey;if(!m&&!d.shiftKey&&!d.altKey&&(d.key==="Delete"||d.key==="Backspace")){let i=e.current?.getView();if(i){let a=i.state.selection;if("$anchorCell"in a&&typeof a.forEachCell=="function"){let l=getTableContext(i.state);if(l.isInTable&&l.table){let S=0;l.table.descendants(f=>{(f.type.name==="tableCell"||f.type.name==="tableHeader")&&(S+=1);});let c=0;if(a.forEachCell(()=>{c+=1;}),S>0&&c>=S){d.preventDefault(),deleteTable(i.state,i.dispatch);return}}}}if(n.state.tableIndex!==null){d.preventDefault(),n.handleAction("deleteTable");return}}if(m&&!d.shiftKey&&!d.altKey){if(d.key.toLowerCase()==="f"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openFind(a);}else if(d.key.toLowerCase()==="h"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openReplace(a);}else if(d.key.toLowerCase()==="k"){d.preventDefault();let i=e.current?.getView();if(i){let a=getSelectedText$1(i.state),g=getHyperlinkAttrs$1(i.state);g?r.openEdit({url:g.href,displayText:a,tooltip:g.tooltip}):r.openInsert(a);}}}};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u);}},[e,t,o,r,n]);}function pi({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:u,onError:d,onPrint:s,onDocumentNameChange:m,loadBuffer:i,getActiveEditorView:a,focusActiveEditor:g}){let l=useRef(null),S=useRef(null),c=useCallback(async v=>{if(!e.current)return null;try{let y=e.current.getDocument(),x=t.current?.getDocument();x?.package?.document&&(y.package.document.content=x.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=v?.selective!==!1,k=t.current?.getView(),T;if(P&&k){let w=k.state,D=r.some(H=>H.parentId!=null);T={selective:{changedParaIds:getChangedParagraphIds(w),structuralChange:hasStructuralChanges(w)||D,hasUntrackedChanges:hasUntrackedChanges(w)}};}let I=await e.current.toBuffer(T);return k&&k.dispatch(clearTrackedChanges(k.state)),u?.(I),I}catch(y){return d?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,u,d]),f=useCallback(()=>{let v=o.current?.querySelector(".paged-editor__pages");if(!v){window.print(),s?.();return}renderAllPagesNow(v);let y=window.open("","_blank");if(!y){window.print(),s?.();return}let x=[];for(let k of Array.from(document.styleSheets))try{for(let T of Array.from(k.cssRules))T instanceof CSSFontFaceRule&&x.push(T.cssText);}catch{}let P=v.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let k of Array.from(P.querySelectorAll(".layout-page"))){let T=k;T.style.boxShadow="none",T.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-72ZQJWN2.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,d,i,e,b as b$4}from'./chunk-2YRWZCRK.mjs';import {b as b$1}from'./chunk-3L2QMHNA.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 Il,{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,createDocumentStylesPlugin,ensureParaIdsInState,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,setContentControlValueTr,removeContentControlTr,setContentControlContentTr,findContentControlPos,findContentControlsInPM,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1,addRepeatingSectionItemTr,removeRepeatingSectionItemTr}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,getWatermarkFromState,setWatermark,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {LayoutPainter,buildBlockLookup,renderPages,applySdtFocus,enclosingSdtGroupIds,findImageElement,hitTestImage,captureInlinePositionEmu,renderAllPagesNow,toolbarValueToLayoutTarget,deriveLayoutChoice,IMAGE_LAYOUT_OPTIONS,isImageLayoutOptionEnabled}from'@eigenpal/docx-editor-core/layout-painter';import {toast,Toaster}from'sonner';import {NodeSelection,TextSelection,EditorState}from'prosemirror-state';import {getSelectionInfo,findInDocument,getPageContent}from'@eigenpal/docx-editor-core/prosemirror/queries';import {setParagraphStyle,applyFormatting}from'@eigenpal/docx-editor-core/prosemirror/applyFormatting';import {DocumentAgent,ContentControlNotFoundError}from'@eigenpal/docx-editor-core/agent';import {createComment,applyProposedChange,addCommentToRange}from'@eigenpal/docx-editor-core/prosemirror/commentOps';import {createCommentIdAllocator,PENDING_COMMENT_ID,seedCommentAllocator}from'@eigenpal/docx-editor-core/prosemirror/commentIdAllocator';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,getColumns,applyCellSelectionHighlight,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,computeHfSelectionRectsFromView,invalidateHfDomCache,measureBlocksWithFloats,getCaretPositionFromDom,getSelectionRectsFromDom,findBodyPmSpans,resetCanvasContext,clearAllCaches,findBodyPmAnchors,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';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 {stripScrollFlag,computeLayout,createLayoutScheduler}from'@eigenpal/docx-editor-core/editor';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {commitImageResize,isFloatingImage,commitImageFloatMove,commitImageInlineMove,calculateResizedImageDimensions}from'@eigenpal/docx-editor-core/prosemirror/imageCommit';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 {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {findPageIndexContainingPmPos,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {readColumnWidths,readRowHeight,TWIPS_PER_PIXEL,readColumnWidthAt,MIN_CELL_WIDTH_TWIPS,MIN_ROW_HEIGHT_TWIPS,commitColumnResize,commitRowResize,commitRightEdgeResize}from'@eigenpal/docx-editor-core/prosemirror/tableResize';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 si({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,u]=useState(e),d=useRef(false);d.current=n;let[s,f]=useState([]);useEffect(()=>{if(u(e),e){let b=t.current?.getView();b&&f(collectHeadings(b.state.doc));}},[e,t]);let i=useRef(null),a=useRef(null),[g,l]=useState(0),S=useCallback(b=>{if(a.current=b,i.current&&(i.current.disconnect(),i.current=null),!b){l(0);return}l(b.offsetHeight);let C=new ResizeObserver(()=>{l(b.offsetHeight);});C.observe(b),i.current=C;},[]);useEffect(()=>()=>{i.current?.disconnect();},[]);let[c,m]=useState(0);return useEffect(()=>{let b=o.current;if(!b)return;let C=0,h=()=>{C=0,m(b.scrollLeft);},p=()=>{C===0&&(C=requestAnimationFrame(h));};return h(),b.addEventListener("scroll",p,{passive:true}),()=>{b.removeEventListener("scroll",p),C!==0&&cancelAnimationFrame(C);}},[r,o]),{showOutline:n,setShowOutline:u,showOutlineRef:d,outlineHeadings:s,setHeadingInfos:f,toolbarHeight:g,toolbarRefCallback:S,editorScrollLeft:c}}function li({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let u=d=>{let f=navigator.platform.toUpperCase().indexOf("MAC")>=0?d.metaKey:d.ctrlKey;if(!f&&!d.shiftKey&&!d.altKey&&(d.key==="Delete"||d.key==="Backspace")){let i=e.current?.getView();if(i){let a=i.state.selection;if("$anchorCell"in a&&typeof a.forEachCell=="function"){let l=getTableContext(i.state);if(l.isInTable&&l.table){let S=0;l.table.descendants(m=>{(m.type.name==="tableCell"||m.type.name==="tableHeader")&&(S+=1);});let c=0;if(a.forEachCell(()=>{c+=1;}),S>0&&c>=S){d.preventDefault(),deleteTable(i.state,i.dispatch);return}}}}if(n.state.tableIndex!==null){d.preventDefault(),n.handleAction("deleteTable");return}}if(f&&!d.shiftKey&&!d.altKey){if(d.key.toLowerCase()==="f"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openFind(a);}else if(d.key.toLowerCase()==="h"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openReplace(a);}else if(d.key.toLowerCase()==="k"){d.preventDefault();let i=e.current?.getView();if(i){let a=getSelectedText$1(i.state),g=getHyperlinkAttrs$1(i.state);g?r.openEdit({url:g.href,displayText:a,tooltip:g.tooltip}):r.openInsert(a);}}}};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u);}},[e,t,o,r,n]);}function di({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:u,onError:d,onPrint:s,onDocumentNameChange:f,loadBuffer:i,getActiveEditorView:a,focusActiveEditor:g}){let l=useRef(null),S=useRef(null),c=useCallback(async v=>{if(!e.current)return null;try{let y=e.current.getDocument(),x=t.current?.getDocument();x?.package?.document&&(y.package.document.content=x.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=v?.selective!==!1,k=t.current?.getView(),T;if(P&&k){let w=k.state,D=r.some(H=>H.parentId!=null);T={selective:{changedParaIds:getChangedParagraphIds(w),structuralChange:hasStructuralChanges(w)||D,hasUntrackedChanges:hasUntrackedChanges(w)}};}let I=await e.current.toBuffer(T);return k&&k.dispatch(clearTrackedChanges(k.state)),u?.(I),I}catch(y){return d?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,u,d]),m=useCallback(()=>{let v=o.current?.querySelector(".paged-editor__pages");if(!v){window.print(),s?.();return}renderAllPagesNow(v);let y=window.open("","_blank");if(!y){window.print(),s?.();return}let x=[];for(let k of Array.from(document.styleSheets))try{for(let T of Array.from(k.cssRules))T instanceof CSSFontFaceRule&&x.push(T.cssText);}catch{}let P=v.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let k of Array.from(P.querySelectorAll(".layout-page"))){let T=k;T.style.boxShadow="none",T.style.margin="0";}y.document.write(`<!DOCTYPE html>
2
2
  <html><head><title>Print</title>
3
3
  <style>
4
4
  ${x.join(`
@@ -9,7 +9,7 @@ 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),s?.();},[o,s]),b=useCallback(async()=>{let v=await c();if(!v)return;let y=new Blob([v],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),x=URL.createObjectURL(y),P=window.document.createElement("a");P.href=x,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(x),0);},[c,n]),C=useCallback(()=>{S.current?.click();},[]),h=useCallback(async v=>{try{let y=await readDocxFileFromInput(v.nativeEvent);if(!y)return;await i(y.buffer),m?.(y.name);}catch(y){d?.(y instanceof Error?y:new Error("Failed to open document"));}},[i,m,d]),p=useCallback(()=>{l.current?.click();},[]),R=useCallback(v=>{let y=v.target.files?.[0];if(!y)return;let x=a();if(!x)return;let P=new FileReader;P.onload=()=>{let k=P.result,T=new Image;T.onload=()=>{let I=T.naturalWidth,w=T.naturalHeight,D=612;if(I>D){let $=D/I;I=D,w=Math.round(w*$);}let H=`rId_img_${Date.now()}`,O=x.state.schema.nodes.image.create({src:k,alt:y.name,width:I,height:w,rId:H,wrapType:"inline",displayMode:"inline"});insertImageNode(x.state,x.dispatch,O,x.state.selection.from),g();},T.src=k;},P.readAsDataURL(y),v.target.value="";},[a,g]);return {imageInputRef:l,docxInputRef:S,handleSave:c,handleDirectPrint:f,handleDownloadDocument:b,handleOpenDocument:C,handleDocxFileChange:h,handleInsertImageClick:p,handleImageFileChange:R}}function fi({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,u]=useState(false),d=useCallback(()=>u(true),[]),s=useCallback(C=>h=>{if(!e||t)return;let p={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[C]:h}}}};o(p);},[e,t,o]),m=useMemo(()=>s("marginLeft"),[s]),i=useMemo(()=>s("marginRight"),[s]),a=useMemo(()=>s("marginTop"),[s]),g=useMemo(()=>s("marginBottom"),[s]),l=useCallback(C=>{if(!e||t)return;let h={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...C}}}};o(h);},[e,t,o]),S=useCallback(C=>{let h=r();h&&setIndentLeft(C)(h.state,h.dispatch);},[r]),c=useCallback(C=>{let h=r();h&&setIndentRight(C)(h.state,h.dispatch);},[r]),f=useCallback(C=>{let h=r();h&&(C<0?setIndentFirstLine(-C,true)(h.state,h.dispatch):setIndentFirstLine(C,false)(h.state,h.dispatch));},[r]),b=useCallback(C=>{let h=r();h&&removeTabStop(C)(h.state,h.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:u,handleOpenPageSetup:d,handleLeftMarginChange:m,handleRightMarginChange:i,handleTopMarginChange:a,handleBottomMarginChange:g,handlePageSetupApply:l,handleIndentLeftChange:S,handleIndentRightChange:c,handleFirstLineIndentChange:f,handleTabStopRemove:b}}function bi({readOnly:e,getBodyEditorView:t}){let[o,r]=useState(false),n=useCallback(()=>r(true),[]),u=t(),d=u?getWatermarkFromState(u.state)??void 0:void 0,s=useCallback(m=>{if(e)return;let i=t();i&&setWatermark(m)(i.state,i.dispatch);},[e,t]);return {showWatermark:o,setShowWatermark:r,handleOpenWatermark:n,currentWatermark:d,handleWatermarkApply:s}}function vi({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),u=useCallback(c=>{let f=t();if(!f)return;let b=c.url||"",C=c.tooltip,{empty:h}=f.state.selection;h&&c.displayText?insertHyperlink(c.displayText,b,C)(f.state,f.dispatch):h?c.displayText&&insertHyperlink(c.displayText,b,C)(f.state,f.dispatch):setHyperlink(b,C)(f.state,f.dispatch),e.close(),o();},[e,t,o]),d=useCallback(()=>{let c=t();c&&(removeHyperlink(c.state,c.dispatch),o());},[t,o]),s=useCallback(()=>{d(),e.close();},[e,d]),m=useCallback(c=>n(c),[]),i=useCallback(c=>{window.open(c,"_blank","noopener,noreferrer");},[]),a=useCallback(c=>{navigator.clipboard.writeText(c).catch(()=>{let f=document.createElement("textarea");f.value=c,f.style.position="fixed",f.style.opacity="0",document.body.appendChild(f),f.select(),document.execCommand("copy"),document.body.removeChild(f);});},[]),g=useCallback((c,f)=>{let b=t();if(!b)return;let C=findHyperlinkRangeAt(b.state);if(C){let h=b.state.schema.marks.hyperlink,{$from:p}=b.state.selection,R=h.create({href:f,tooltip:C.mark.attrs.tooltip}),v=b.state.schema.text(c,[...p.marks().filter(x=>x.type!==h),R]),y=b.state.tr.replaceWith(C.start,C.end,v);b.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),l=useCallback(()=>{let c=t();if(!c)return;let f=findHyperlinkRangeAt(c.state,r?.href);if(!f)return;let b=c.state.schema.marks.hyperlink;c.dispatch(c.state.tr.removeMark(f.start,f.end,b).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:u,handleHyperlinkRemove:s,handleHyperlinkClick:m,handleHyperlinkPopupNavigate:i,handleHyperlinkPopupCopy:a,handleHyperlinkPopupEdit:g,handleHyperlinkPopupRemove:l,handleHyperlinkPopupClose:S}}function Ci(e,t,o){let r=0;for(let n of e){let u=r+n.text.length;if(o==="start"&&t>=r&&t<u||o==="end"&&t>r&&t<=u)return n.pmStart+t-r;r=u;}return null}function Ri(e,t,o){let r=[],n=0;return e.state.doc.descendants((u,d)=>{if(!u.isTextblock)return true;let s=[],m="";if(u.descendants((a,g)=>(!a.isText||!a.text||(s.push({text:a.text,pmStart:d+1+g}),m+=a.text),true)),!m)return n+=1,false;let i=(0, a$3.findAllMatches)(m,t,o);for(let a of i){let g=Ci(s,a.start,"start"),l=Ci(s,a.end,"end");g==null||l==null||g>=l||r.push({paragraphIndex:n,contentIndex:0,startOffset:a.start,endOffset:a.end,text:m.slice(a.start,a.end),pmFrom:g,pmTo:l});}return n+=1,false}),r}function Si({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((a,g)=>{let l=r();if(!l||!a)return null;try{let c=TextSelection.create(l.state.doc,a.pmFrom,a.pmTo);l.dispatch(l.state.tr.setSelection(c)),e.current?.scrollToPosition(a.pmFrom);}catch(c){return console.error("Find navigation failed:",c),null}let S=o.current;return S&&(S.currentIndex=g),t.goToMatch(g),a},[t,r,e]),u=useCallback((a,g)=>{let l=r();if(!l||!a.trim())return o.current=null,t.setMatches([],0),null;let S=Ri(l,a,g),c={matches:S,totalCount:S.length,currentIndex:0};return o.current=c,t.setMatches(S,0),S.length>0&&n(S[0],0),c},[t,r,n]),d=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=(a.currentIndex+1)%a.matches.length;return n(a.matches[g],g)},[n]),s=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=a.currentIndex===0?a.matches.length-1:a.currentIndex-1;return n(a.matches[g],g)},[n]),m=useCallback(a=>{let g=r(),l=o.current;if(!g||!l||l.matches.length===0)return false;let S=l.matches[l.currentIndex];if(!S)return false;try{let c=a?g.state.tr.replaceWith(S.pmFrom,S.pmTo,g.state.schema.text(a)):g.state.tr.delete(S.pmFrom,S.pmTo);return g.dispatch(c),!0}catch(c){return console.error("Replace failed:",c),false}},[r]),i=useCallback((a,g,l)=>{let S=r();if(!S||!a.trim())return 0;let c=Ri(S,a,l);if(c.length===0)return 0;let f=[...c].sort((C,h)=>h.pmFrom-C.pmFrom),b=S.state.tr;for(let C of f)try{b=g?b.replaceWith(C.pmFrom,C.pmTo,S.state.schema.text(g)):b.delete(C.pmFrom,C.pmTo);}catch(h){console.error("Replace failed for match:",C,h);}return S.dispatch(b),o.current=null,t.setMatches([],0),c.length},[t,r]);return {findResultRef:o,handleFind:u,handleFindNext:d,handleFindPrevious:s,handleReplace:m,handleReplaceAll:i}}function wi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:u,getCachedStyleResolver:d}){let s=useCallback(g$1=>{let l=e();if(!l)return;l.focus();let S=l===o.current?.getView(),{from:c,to:f}=l.state.selection,b=r.current;if(S&&b&&(c!==b.from||f!==b.to))try{let C=l.state.tr.setSelection(TextSelection.create(l.state.doc,b.from,b.to));l.dispatch(C);}catch(C){console.warn("Could not restore selection:",C);}if(g$1==="bold")return void toggleBold(l.state,l.dispatch);if(g$1==="italic")return void toggleItalic(l.state,l.dispatch);if(g$1==="underline")return void toggleUnderline(l.state,l.dispatch);if(g$1==="strikethrough")return void toggleStrike(l.state,l.dispatch);if(g$1==="superscript")return void toggleSuperscript(l.state,l.dispatch);if(g$1==="subscript")return void toggleSubscript(l.state,l.dispatch);if(g$1==="bulletList")return void toggleBulletList(l.state,l.dispatch);if(g$1==="numberedList")return void toggleNumberedList(l.state,l.dispatch);if(g$1==="indent"){increaseListLevel(l.state,l.dispatch)||increaseIndent()(l.state,l.dispatch);return}if(g$1==="outdent"){decreaseListLevel(l.state,l.dispatch)||decreaseIndent()(l.state,l.dispatch);return}if(g$1==="clearFormatting")return void clearFormatting(l.state,l.dispatch);if(g$1==="setRtl")return void setRtl(l.state,l.dispatch);if(g$1==="setLtr")return void setLtr(l.state,l.dispatch);if(g$1==="insertLink"){let C=getSelectedText(l.state),h=getHyperlinkAttrs(l.state);h?n.openEdit({url:h.href,displayText:C,tooltip:h.tooltip}):n.openInsert(C);return}if(typeof g$1=="object")switch(g$1.type){case "alignment":setAlignment(g$1.value)(l.state,l.dispatch);break;case "textColor":{let C=g$1.value;typeof C=="string"?setTextColor({rgb:C.replace("#","")})(l.state,l.dispatch):C.auto?clearTextColor(l.state,l.dispatch):setTextColor(C)(l.state,l.dispatch);break}case "highlightColor":{let C=g$1.value?g(g$1.value):"";setHighlight(C||g$1.value)(l.state,l.dispatch);break}case "fontSize":setFontSize(d$1(g$1.value))(l.state,l.dispatch);break;case "fontFamily":setFontFamily(g$1.value)(l.state,l.dispatch);break;case "lineSpacing":setLineSpacing(g$1.value)(l.state,l.dispatch);break;case "applyStyle":{let C=u.current,h=C?.package.styles?d(C.package.styles):null;if(h){let p=h.resolveParagraphStyle(g$1.value);applyStyle(g$1.value,{paragraphFormatting:p.paragraphFormatting,runFormatting:p.runFormatting})(l.state,l.dispatch);}else applyStyle(g$1.value)(l.state,l.dispatch);break}}},[e,o,r,n,u,d]),m=useCallback((g,l)=>{let S=e();S&&(insertTable(g,l)(S.state,S.dispatch),t());},[e,t]),i=useCallback(()=>{let g=e();g&&(insertPageBreak(g.state,g.dispatch),t());},[e,t]),a=useCallback(()=>{let g=e();g&&(generateTOC(g.state,g.dispatch),t());},[e,t]);return {handleFormat:s,handleInsertTable:m,handleInsertPageBreak:i,handleInsertTOC:a}}function Ti({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:u}){let[d,s]=useState(false),[m,i]=useState(false),[a,g]=useState(false),l=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=toolbarValueToLayoutTarget(h);if(!y)return;let x;if(v.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${R}"]`),k=P?captureInlinePositionEmu(P,o):void 0;k&&(x={initialPositionEmu:k});}setImageWrapType(R,y,x)(p.state,p.dispatch),n();},[r,n,t,o]),S=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=v.attrs.transform||"",x=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=x?parseFloat(x[1]):0,k=/scaleX\(-1\)/.test(y),T=/scaleY\(-1\)/.test(y);switch(h){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":k=!k;break;case "flipV":T=!T;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),k&&I.push("scaleX(-1)"),T&&I.push("scaleY(-1)");let w=I.length>0?I.join(" "):null,D=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,transform:w});p.dispatch(D.scrollIntoView()),n();},[r,n,t]),c=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,position:{horizontal:h.horizontal,vertical:h.vertical},distTop:h.distTop??v.attrs.distTop,distBottom:h.distBottom??v.attrs.distBottom,distLeft:h.distLeft??v.attrs.distLeft,distRight:h.distRight??v.attrs.distRight});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),f=useCallback(()=>{i(true);},[]),b=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,alt:h.alt??null,borderWidth:h.borderWidth??null,borderColor:h.borderColor??null,borderStyle:h.borderStyle??null,width:h.width??null,height:h.height??null});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),C=useCallback((h,p)=>{if(!e?.package)return;let R={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:h,endnotePr:p}};u({...e,package:{...e.package,document:R}});},[e,u]);return {imagePositionOpen:d,setImagePositionOpen:s,imagePropsOpen:m,setImagePropsOpen:i,footnotePropsOpen:a,setFootnotePropsOpen:g,handleImageWrapType:l,handleImageTransform:S,handleApplyImagePosition:c,handleOpenImageProperties:f,handleApplyImageProperties:b,handleApplyFootnoteProperties:C}}var qo=new Map;function Ii({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:u,handleDirectPrint:d,zoom:s,setZoom:m,scrollPageInfo:i,loadParsedDocument:a,loadBuffer:g,comments:l,setComments:S,setShowCommentsSidebar:c,contentChangeSubscribersRef:f,selectionChangeSubscribersRef:b,getCachedStyleResolver:C,commentIdAllocator:h}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:u,setZoom:m,getZoom:()=>s,focus:()=>{n.current?.focus();},getCurrentPage:()=>i.currentPage,getTotalPages:()=>i.totalPages,scrollToPage:p=>{n.current?.scrollToPage(p);},scrollToPosition:p=>{n.current?.scrollToPosition(p);},openPrintPreview:d,print:d,loadDocument:a,loadDocumentBuffer:g,addComment:p=>{let R=n.current?.getView();if(!R)return null;let v=addCommentToRange(R,p,h);return v?(S(y=>[...y,v]),c(true),v.id):null},replyToComment:(p,R,v)=>{if(!l.some(x=>x.id===p))return null;let y=createComment(h,R,v,p);return S(x=>[...x,y]),y.id},resolveComment:p=>{S(R=>R.map(v=>v.id===p?{...v,done:true}:v));},proposeChange:p=>{let R=n.current?.getView();if(!R)return false;let v=applyProposedChange(R,p,h);return v&&c(true),v},applyFormatting:p=>{let R=n.current?.getView();return R?applyFormatting(R,p):false},setParagraphStyle:p=>{let R=n.current?.getView();if(!R)return false;let v=r.current,y=v?.package?.styles?C(v.package.styles):null;return setParagraphStyle(R,p,{styleResolver:y})},getPageContent:p=>getPageContent(n.current?.getView()??null,n.current?.getLayout()??null,p),scrollToParaId:p=>n.current?.scrollToParaId(p)??false,findInDocument:(p,R)=>findInDocument(n.current?.getView()??null,p,R),getSelectionInfo:()=>getSelectionInfo(n.current?.getView()??null),getComments:()=>l,getContentControls:p=>{let R=n.current?.getView();return R?findContentControlsInPM(R.state.doc,p??{}):[]},scrollToContentControl:p=>{let R=n.current?.getView();if(!R)return false;let v=findContentControlPos(R.state.doc,p);return v==null?false:(n.current?.scrollToPosition(v),true)},setContentControlContent:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlContentTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},removeContentControl:(p,R)=>{let v=n.current?.getView();if(!v)return false;try{return v.dispatch(removeContentControlTr(v.state,p,R)),!0}catch(y){if(y instanceof ContentControlNotFoundError)return false;throw y}},setContentControlValue:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlValueTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},onContentChange:p=>(f.current.add(p),()=>{f.current.delete(p);}),onSelectionChange:p=>(b.current.add(p),()=>{b.current.delete(p);})}),[o,s,i,u,d,a,g,l]);}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 ki(e){return Wu.find(t=>t.id===e)}function Di({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:u}){let[d,s]=useState(false),[m,i]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),a=useCallback(()=>{let c=e(),f=c?getSplitCellDialogConfig(c.state):null,b=f?null:o.getSplitCellConfig(),C=f??b;C&&i({isOpen:true,...C,source:f?"pm":"legacy",capturedCellRow:f?.capturedCellRow??null,capturedCellCol:f?.capturedCellCol??null});},[e,o]),g=useCallback(c=>{let f=e();if(!f){c==="splitCell"?a():typeof c!="object"&&o.handleAction(c);return}switch(c){case "addRowAbove":addRowAbove(f.state,f.dispatch);break;case "addRowBelow":addRowBelow(f.state,f.dispatch);break;case "addColumnLeft":addColumnLeft(f.state,f.dispatch);break;case "addColumnRight":addColumnRight(f.state,f.dispatch);break;case "deleteRow":deleteRow(f.state,f.dispatch);break;case "deleteColumn":deleteColumn(f.state,f.dispatch);break;case "deleteTable":deleteTable(f.state,f.dispatch);break;case "selectTable":selectTable(f.state,f.dispatch);break;case "selectRow":selectRow(f.state,f.dispatch);break;case "selectColumn":selectColumn(f.state,f.dispatch);break;case "mergeCells":mergeCells(f.state,f.dispatch);break;case "splitCell":a();break;case "borderAll":setAllTableBorders(f.state,f.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(f.state,f.dispatch,r.current);break;case "borderInside":setInsideTableBorders(f.state,f.dispatch,r.current);break;case "borderNone":removeTableBorders(f.state,f.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(f.state,f.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(f.state,f.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(f.state,f.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(f.state,f.dispatch);break;default:if(typeof c=="object"){if(c.type==="cellFillColor")setCellFillColor(c.color)(f.state,f.dispatch);else if(c.type==="borderColor"){let b=c.color.replace(/^#/,"");r.current={...r.current,color:{rgb:b}},setTableBorderColor(c.color)(f.state,f.dispatch);}else if(c.type==="borderWidth")r.current={...r.current,size:c.size},setTableBorderWidth(c.size)(f.state,f.dispatch);else if(c.type==="cellBorder")setCellBorder(c.side,{style:c.style,size:c.size,color:{rgb:c.color.replace(/^#/,"")}})(f.state,f.dispatch);else if(c.type==="cellVerticalAlign")setCellVerticalAlign(c.align)(f.state,f.dispatch);else if(c.type==="cellMargins")setCellMargins(c.margins)(f.state,f.dispatch);else if(c.type==="cellTextDirection")setCellTextDirection(c.direction)(f.state,f.dispatch);else if(c.type==="toggleNoWrap")toggleNoWrap()(f.state,f.dispatch);else if(c.type==="rowHeight")setRowHeight(c.height,c.rule)(f.state,f.dispatch);else if(c.type==="toggleHeaderRow")toggleHeaderRow()(f.state,f.dispatch);else if(c.type==="distributeColumns")distributeColumns()(f.state,f.dispatch);else if(c.type==="autoFitContents")autoFitContents()(f.state,f.dispatch);else if(c.type==="openTableProperties")s(true);else if(c.type==="applyTableStyle"){let b=ki(c.styleId),C=n.current;if(!b&&C?.package.styles){let p=u(C.package.styles).getStyle(c.styleId);if(p){if(b={id:p.styleId,name:p.name??p.styleId},p.tblPr?.borders){let R=p.tblPr.borders;b.tableBorders={};for(let v of ["top","bottom","left","right","insideH","insideV"]){let y=R[v];y&&(b.tableBorders[v]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(p.tblStylePr){b.conditionals={};for(let R of p.tblStylePr){let v={};if(R.tcPr?.shading?.fill&&(v.backgroundColor=`#${R.tcPr.shading.fill}`),R.tcPr?.borders){let y={};for(let x of ["top","bottom","left","right"]){let P=R.tcPr.borders[x];P&&(y[x]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}v.borders=y;}R.rPr?.bold&&(v.bold=true),R.rPr?.color?.rgb&&(v.color=`#${R.rPr.color.rgb}`),b.conditionals[R.type]=v;}}b.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}b&&applyTableStyle({styleId:b.id,tableBorders:b.tableBorders,conditionals:b.conditionals,look:b.look})(f.state,f.dispatch);}}else o.handleAction(c);}t();},[o,e,t,a,r,n,u]),l=useCallback(()=>{i(c=>({...c,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((c,f)=>{if(m.source==="legacy"){o.applySplitCell(c,f),t();return}let b=e();b&&(splitActiveTableCell(b.state,b.dispatch,c,f,m.capturedCellRow??void 0,m.capturedCellCol??void 0),t());},[t,e,m.source,m.capturedCellRow,m.capturedCellCol,o]);return {tablePropsOpen:d,setTablePropsOpen:s,splitCellDialogState:m,openSplitCellDialog:a,handleTableAction:g,handleSplitCellDialogClose:l,handleSplitCellDialogApply:S}}function Hi({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:u,hfEditPosition:d,setHfEditPosition:s,hfEditIsFirstPage:m,setHfEditIsFirstPage:i}){let{headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S}=useMemo(()=>{let{header:p,footer:R,firstHeader:v,firstFooter:y}=resolveHeaderFooter(e??null,u??n);return {headerContent:p,footerContent:R,firstPageHeaderContent:v,firstPageFooterContent:y}},[e,n,u]),c=useCallback((p,R)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(R??1)===1,x=y?p==="header"?l:S:p==="header"?a:g;if(i(y),x){s(p);return}if(!e?.package)return;let P=e.package,k=P.document?.finalSectionProperties;if(!k)return;let T=y?"first":"default",I=`rId_new_${p}_${T}`,w={type:p==="header"?"header":"footer",hdrFtrType:T,content:[{type:"paragraph",content:[]}]},D=p==="header"?"headers":"footers",H=new Map(P[D]??[]);H.set(I,w);let O=p==="header"?"headerReferences":"footerReferences",$=k[O]??[],G={type:T,rId:I},_=P.relationships,V=new Set;for(let pe of _?.values()??[])pe.target&&V.add(pe.target);let U=1;for(;V.has(`${p}${U}.xml`);)U++;let ee=p==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",ae=new Map(_);ae.set(I,{id:I,type:ee,target:`${p}${U}.xml`});let se={...e,package:{...P,[D]:H,relationships:ae,document:P.document?{...P.document,finalSectionProperties:{...k,[O]:[...$,G]}}:P.document}};t(se),s(p);},[a,g,l,S,e,t,s,i]),f=useCallback(p=>{if(!d||!e?.package){s(null);return}let R=e.package,v=R.document?.finalSectionProperties,y=d==="header"?v?.headerReferences:v?.footerReferences,x=m?"first":"default",P=y?.find(I=>I.type===x)??y?.find(I=>I.type==="default")??y?.find(I=>I.type==="first")??y?.[0],k=d==="header"?"headers":"footers",T=R[k];if(P?.rId&&T){let I=T.get(P.rId),w={type:d,hdrFtrType:P.type,...I,content:p},D=new Map(T);D.set(P.rId,w);let H={...e,package:{...R,[k]:D}};t(H);}s(null);},[d,m,e,t,s]),b=useCallback(()=>{if(!d)return;let p=o.current?.getView();if(p){let R=proseDocToBlocks(p.state.doc);f(R);}else s(null);},[d,f,o,s]),C=useCallback(()=>{if(!d||!e?.package){s(null);return}let p=e.package,R=p.document?.finalSectionProperties,v=d==="header"?"headerReferences":"footerReferences",y=d==="header"?"headers":"footers",x=R?.[v],P=m?"first":"default",k=x?.find(T=>T.type===P)??x?.find(T=>T.type==="default")??x?.find(T=>T.type==="first")??x?.[0];if(k?.rId){let T=new Map(p[y]??[]);T.delete(k.rId);let I=(x??[]).filter(D=>D.rId!==k.rId),w={...e,package:{...p,[y]:T,document:p.document?{...p.document,finalSectionProperties:{...R,[v]:I}}:p.document}};t(w);}s(null);},[d,m,e,t,s]),h=useCallback(p=>{let R=r.current?.querySelector(".paged-editor__pages");if(!R)return null;let v=p==="header"?".layout-page-header":".layout-page-footer";return R.querySelector(v)},[r]);return {headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S,handleHeaderFooterDoubleClick:c,handleHeaderFooterSave:f,handleBodyClick:b,handleRemoveHeaderFooter:C,getHfTargetElement:h}}function Li({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:u,setLoadingState:d,setComments:s,setShowCommentsSidebar:m,onError:i,resetForNewDocument:a,commentsLoadedRef:g,commentIdAllocator:l}){let S=useRef(0),c=useCallback(b=>{a(),r.reset(b),d({isLoading:false,parseError:null}),loadDocumentFonts(b).catch(C=>{console.warn("Failed to load document fonts:",C);});},[a,r,d]),f=useCallback(async b=>{let C=++S.current;a(),d({isLoading:true,parseError:null});try{let h=await parseDocx(b);if(S.current!==C)return;c(h);}catch(h){if(S.current!==C)return;let p=h instanceof Error?h.message:"Failed to parse document";d({isLoading:false,parseError:p}),i?.(h instanceof Error?h:new Error(p));}},[a,c,i,d]);return useEffect(()=>{if(!o){if(!e){t&&c(t);return}f(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(g.current)return;let b=r.state;if(!b)return;g.current=true;let C=b.package?.document?.comments;C&&C.length>0&&(s(C),m(true)),seedCommentAllocator(l,C,u.current?.getView()??null);},[r.state,u,s,m,g,l]),{loadParsedDocument:c,loadBuffer:f}}var Ip={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},mo=18,Bi=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:u,onTextAction:d,onOpenProperties:s,onClose:m})=>{let{t:i}=b(),a=useRef(null),[g,l]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),c=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(p=>isImageLayoutOptionEnabled(p,o)),[o]),f=useMemo(()=>(u??[]).filter(p=>!p.disabled),[u]),b$2=s?1:0,C=b$2+c.length+f.length;useEffect(()=>{if(!e)return;let p=v=>{a.current&&!a.current.contains(v.target)&&m();},R=setTimeout(()=>{document.addEventListener("mousedown",p);},0);return ()=>{clearTimeout(R),document.removeEventListener("mousedown",p);}},[e,m]),useEffect(()=>{if(!e)return;let p=R=>{if(R.key==="Escape"){R.preventDefault(),m();return}let v=Math.max(1,C);if(R.key==="ArrowDown")R.preventDefault(),l(y=>(y+1)%v);else if(R.key==="ArrowUp")R.preventDefault(),l(y=>(y-1+v)%v);else if(R.key==="Enter"){if(R.preventDefault(),b$2&&g===0)s?.(),m();else if(g<b$2+c.length)n(c[g-b$2].choice),m();else if(d){let y=f[g-b$2-c.length];y&&(d(y.action),m());}}};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,g,c,f,C,b$2,n,s,d,m]),useEffect(()=>{if(!e)return;let p=S?c.findIndex(R=>R.choice===S):-1;l(p>=0?b$2+p:0);},[e,S,c,b$2]);let h$1=useCallback(()=>{let R=IMAGE_LAYOUT_OPTIONS.length,v=u?.length??0,y=R*36+v*32+(v>0?9:0)+16,x=t.x,P=t.y;return typeof window<"u"&&(x+260>window.innerWidth&&(x=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),x<10&&(x=10),P<10&&(P=10)),{position:"fixed",top:P,left:x,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,u]);return e?jsxs("div",{ref:a,className:"docx-image-context-menu",style:h$1(),role:"menu","aria-label":i("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[s&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{s(),m();},onMouseEnter:()=>l(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:g===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:mo},children:jsx(b$1,{name:"settings",size:mo})}),jsx("span",{style:{flex:1},children:i("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 R=p.choice===S,v=isImageLayoutOptionEnabled(p,o),y=v?b$2+c.findIndex(k=>k.choice===p.choice):-1,x=y>=0&&y===g,P=i(`imageWrap.menuDesc.${p.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":p.choice,"data-current":R?"true":"false","data-disabled":v?"false":"true",disabled:!v,onClick:()=>{v&&(n(p.choice),m());},onMouseEnter:()=>{y>=0&&l(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:x?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:v?"pointer":"not-allowed",fontSize:"13px",color:v?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:v?1:.55},children:[jsx("span",{style:{display:"flex",color:R?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:mo},children:jsx(b$1,{name:Ip[p.iconHint],size:mo})}),jsx("span",{style:{flex:1},children:i(`imageWrap.menu.${p.i18nLabelKey}`)}),R&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":i("toolbar.imageWrap.current"),children:"\u25CF"})]},p.choice)}),u&&u.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),u.map((p,R)=>{let v=p.disabled?-1:b$2+c.length+f.findIndex(x=>x.action===p.action),y=v===g&&!p.disabled;return jsxs(kl.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":p.action,"data-disabled":p.disabled?"true":"false",disabled:p.disabled,onClick:()=>{p.disabled||!d||(d(p.action),m());},onMouseEnter:()=>{v>=0&&l(v);},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:mo},"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}-${R}`)})]})]}):null};function Ni(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,u]=useState("inline"),[d,s]=useState(null),[m,i]=useState(null),[a,g]=useState(null),l=useCallback(c=>{r({x:c.x,y:c.y}),u(c.wrapType),s(c.cssFloat??null),i(c.pos),g(c.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),i(null),g(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:d,imagePos:m,inlinePositionEmu:a,openForImage:l,closeMenu:S}}function Zo(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 u=Number(n.dataset.pmStart),d=Number(n.dataset.pmEnd);if(o>=u&&o<=d)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function zi(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function $i({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:u,onAddComment:d}){let{t:s}=b(),[m,i]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),a=Ni(),g=useCallback(h=>{let p=h.target;if(p?.closest(".paged-editor__pages")&&!p.closest(".hf-inline-editor"))return;h.preventDefault(),h.stopPropagation();let R=e(),v=R?getTableContext(R.state):{isInTable:false},{from:y,to:x}=R?.state.selection??{from:0,to:0},P=y!==x;i({isOpen:true,position:{x:h.clientX,y:h.clientY},hasSelection:P,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e]),l=useCallback(h=>{if(h.image){a.openForImage({x:h.x,y:h.y,wrapType:h.image.wrapType,cssFloat:h.image.cssFloat,pos:h.image.pos,inlinePositionEmu:h.image.inlinePositionEmu});return}let p=e(),R=p?getTableContext(p.state):{isInTable:false};i({isOpen:true,position:h,hasSelection:h.hasSelection,cursorInTable:R.isInTable,tableContext:R.isInTable?R:null});},[e,a]),S=useCallback(h=>{let p=e();if(!p||a.imagePos===null)return;let R=a.inlinePositionEmu?{initialPositionEmu:a.inlinePositionEmu}:void 0;setImageWrapType(a.imagePos,h,R)(p.state,p.dispatch);},[e,a.imagePos,a.inlinePositionEmu]),c=useMemo(()=>[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut"))}],[s]),f=useCallback(()=>{i({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),b$1=useMemo(()=>{let h=[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:s("contextMenu.pastePlainText"),shortcut:a$1(s("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut")),dividerAfter:!m.hasSelection&&!m.cursorInTable}];return m.hasSelection&&h.push({action:"addComment",label:"Comment",dividerAfter:!m.cursorInTable}),m.cursorInTable&&h.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:u?.table?.mergeCells??en.table.mergeCells,disabled:!m.tableContext?.hasMultiCellSelection},{action:"splitCell",label:u?.table?.splitCell??en.table.splitCell,disabled:!m.tableContext?.canSplitCell,dividerAfter:true}),h.push({action:"selectAll",label:s("contextMenu.selectAll"),shortcut:a$1(s("contextMenu.selectAllShortcut"))}),h},[m.hasSelection,m.cursorInTable,m.tableContext,u,s]),C=useCallback(async h=>{let p=e();if(p)switch(t(),h){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let R=await navigator.clipboard.read(),v="",y="";for(let k of R)k.types.includes("text/html")&&(v=await(await k.getType("text/html")).text()),k.types.includes("text/plain")&&(y=await(await k.getType("text/plain")).text());let x=new DataTransfer;v&&x.items.add(v,"text/html"),y&&x.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:x,bubbles:!0,cancelable:!0});p.dom.dispatchEvent(P);}catch{try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}}break}case "pasteAsPlainText":try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}break;case "delete":{let{from:R,to:v}=p.state.selection;R!==v&&p.dispatch(p.state.tr.deleteRange(R,v));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:R,to:v}=p.state.selection;if(R===v)break;let y=Zo(r.current,n.current,R),x=p.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),P=p.state.tr.addMark(R,v,x);P.setSelection(TextSelection.create(P.doc,v)),p.dispatch(P),d({from:R,to:v,yPos:y});break}}},[e,t,o,r,n,d]);return {contextMenu:m,imageContextMenu:a,handleEditorContextMenu:g,handleContextMenu:l,handleContextMenuClose:f,handleImageWrapApply:S,imageContextMenuTextActions:c,contextMenuItems:b$1,handleContextMenuAction:C}}function Gi({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,u]=useState([]),d=e!==void 0,s=d?e:n,[m,i]=useState(false),[a,g]=useState(null),[l,S]=useState(null),[c,f]=useState(null),b=useRef(null),C=useRef(s);C.current=s;let h=useRef(m);h.current=m;let p=useRef(t);p.current=t;let R=useRef(o);R.current=o;let v=useCallback(x=>{let P=typeof x=="function"?x(C.current):x;P!==C.current&&(d||(C.current=P,u(P)),R.current?.(P));},[d]),y=useCallback(()=>{if(h.current)return;let x=r.current?.getView();if(!x)return;let{doc:P,schema:k}=x.state,T=k.marks.comment;if(!T)return;let I=new Set;P.descendants(H=>{for(let O of H.marks)if(O.type===T){let $=O.attrs.commentId;$!==PENDING_COMMENT_ID&&I.add($);}});let w=C.current,D=new Set;for(let H of w)H.parentId==null&&!I.has(H.id)&&D.add(H.id);if(D.size!==0){for(let H of w)D.has(H.id)&&p.current?.(H);v(H=>H.filter(O=>!D.has(O.id)&&!D.has(O.parentId)));}},[r,v]);return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),{comments:s,setComments:v,isAddingComment:m,setIsAddingComment:i,isAddingCommentRef:h,commentSelectionRange:a,setCommentSelectionRange:g,addCommentYPosition:l,setAddCommentYPosition:S,floatingCommentBtn:c,setFloatingCommentBtn:f,cleanOrphanedCommentsTimerRef:b,cleanOrphanedComments:y}}function Yi({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:u,trackedChangesLoadedRef:d}){useEffect(()=>{e.size!==0&&t(s=>{let m=false,i=s.map(a=>{if(a.parentId!=null)return a;let g=e.get(a.id);return g!=null?(m=true,{...a,parentId:g}):a});return m?i:s});},[e,t]),useEffect(()=>{d.current||r||!o||(d.current=true,n>0&&u(true));},[o,r,n,u,d]);}function Xi({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:u,setFloatingCommentBtn:d,applySelectionDelta:s,recomputeFloatingCommentBtn:m,onSelectionChange:i,selectionChangeSubscribersRef:a}){return {handleSelectionChange:useCallback(l=>{let S=e();if(S){let{from:k,to:T}=S.state.selection;t.current={from:k,to:T};}let c=null;if(S&&(c=getTableContext(S.state),c.isInTable||(c=null)),c?.cellBorderColor){let k=resolveColorToHex(c.cellBorderColor,r??void 0);k&&(o.current={...o.current,color:{rgb:k}});}let f=null;if(S){let k=S.state.selection,T=k.node;T?.type.name==="image"&&(f={pos:k.from,wrapType:T.attrs.wrapType??"inline",displayMode:T.attrs.displayMode??"inline",cssFloat:T.attrs.cssFloat??null,transform:T.attrs.transform??null,alt:T.attrs.alt??null,borderWidth:T.attrs.borderWidth??null,borderColor:T.attrs.borderColor??null,borderStyle:T.attrs.borderStyle??null,width:T.attrs.width??null,height:T.attrs.height??null});}if(!l){d(null),s({selectionFormatting:{},pmTableContext:c,pmImageContext:f});return}let{textFormatting:b,paragraphFormatting:C}=l,h=b.fontFamily?.ascii||b.fontFamily?.hAnsi,p=b.fontSize;if(!h||!p){let k=n.current,T=l.styleId;if(k?.package.styles&&T){let w=u(k.package.styles).resolveParagraphStyle(T);!h&&w.runFormatting?.fontFamily&&(h=w.runFormatting.fontFamily.ascii||w.runFormatting.fontFamily.hAnsi),!p&&w.runFormatting?.fontSize&&(p=w.runFormatting.fontSize);}}let R=resolveColorToHex(b.color,r??void 0),v=R?`#${R}`:void 0,y=C.numPr,x=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:h,fontSize:p,color:v,highlight:b.highlight,alignment:C.alignment,lineSpacing:C.lineSpacing,listState:x,styleId:l.styleId??void 0,indentLeft:C.indentLeft,bidi:!!C.bidi};s({selectionFormatting:P,paragraphIndentLeft:C.indentLeft??0,paragraphIndentRight:C.indentRight??0,paragraphFirstLineIndent:C.indentFirstLine??0,paragraphHangingIndent:C.hangingIndent??false,paragraphTabs:C.tabs??null,pmTableContext:c,pmImageContext:f}),m(),i?.(l);for(let k of a.current)try{k(l);}catch(T){console.error("selectionChange subscriber threw:",T);}},[e,t,o,r,n,u,d,s,m,i,a])}}function Qi({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:u,isLoading:d,zoom:s}){let m=useRef(false);m.current=u;let i=useCallback(()=>{let a=e.current?.getView();if(!a)return;if(r.current||m.current){n(null);return}let{from:g,to:l}=a.state.selection;if(g===l){n(null);return}let S=t.current,c=o.current;if(!S||!c)return;let f=Zo(S,c,g);if(f==null)return;let C=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),h=C?C.getBoundingClientRect().right-c.getBoundingClientRect().left:c.getBoundingClientRect().width/2+408;n({top:f,left:h});},[e,t,o,r,n]);return useEffect(()=>{let a=t.current;if(!a)return;let g=new ResizeObserver(()=>i());g.observe(a);let l=()=>i();return window.addEventListener("resize",l),()=>{g.disconnect(),window.removeEventListener("resize",l);}},[d,i,t]),useEffect(()=>{i();},[s,i]),{recomputeFloatingCommentBtn:i}}function Ji({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]),u=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),d=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:u,redoActiveEditor:d}}function ea({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),u=e.current;return useEffect(()=>{if(!u)return;let d=()=>{let s=t.current?.getLayout();if(!s||s.pages.length===0)return;let m=u.scrollTop,i=s.pages.length,a=24,g=24,l=m+u.clientHeight/2,S=g,c=1;for(let f=0;f<s.pages.length;f++){let b=s.pages[f].size.h,C=S+b;if(l<C){c=f+1;break}S=C+a,c=f+2;}c=Math.min(c,i),r({currentPage:c,totalPages:i,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(f=>({...f,visible:false}));},600);};return u.addEventListener("scroll",d,{passive:true}),()=>{u.removeEventListener("scroll",d),n.current&&clearTimeout(n.current);}},[u,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function ta({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:u,imageContextMenuTextActions:d,onOpenImageProperties:s,readOnly:m}){return jsxs(Fragment,{children:[jsx(i$1,{isOpen:e.isOpen,position:e.position,hasSelection:e.hasSelection,isEditable:!m,items:t,onAction:o,onClose:r}),jsx(Bi,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:u,textActions:d,onTextAction:o,onOpenProperties:s,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var Qp=lazy(()=>import('./FindReplaceDialog-2ZH4XD5C.mjs')),Jp=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),em=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),tm=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),om=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),nm=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),rm=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),im=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog}))),am=lazy(()=>import('./WatermarkDialog-6QSGGPXJ.mjs').then(e=>({default:e.WatermarkDialog})));function oa({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,hyperlinkDialog:s,onHyperlinkSubmit:m,onHyperlinkRemove:i,tablePropsOpen:a,onTablePropsClose:g,pmTableContext:l,getActiveEditorView:S,splitCellDialogState:c,onSplitCellDialogClose:f,onSplitCellDialogApply:b,imagePositionOpen:C,onImagePositionClose:h,onApplyImagePosition:p,imagePropsOpen:R,onImagePropsClose:v,onApplyImageProperties:y,pmImageContext:x,showPageSetup:P,onPageSetupClose:k,onPageSetupApply:T,showWatermark:I,onWatermarkClose:w,onWatermarkApply:D,currentWatermark:H,document:O,footnotePropsOpen:$,onFootnotePropsClose:G,onApplyFootnoteProperties:_}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(Qp,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),s.state.isOpen&&jsx(Jp,{isOpen:s.state.isOpen,onClose:s.close,onSubmit:m,onRemove:s.state.isEditing?i:void 0,initialData:s.state.initialData,selectedText:s.state.selectedText,isEditing:s.state.isEditing}),a&&jsx(em,{isOpen:a,onClose:g,onApply:V=>{let U=S();U&&setTableProperties(V)(U.state,U.dispatch);},currentProps:l?.table?.attrs}),c.isOpen&&jsx(tm,{isOpen:c.isOpen,onClose:f,onApply:b,initialRows:c.initialRows,initialCols:c.initialCols,minRows:c.minRows,minCols:c.minCols}),C&&jsx(om,{isOpen:C,onClose:h,onApply:p}),R&&jsx(nm,{isOpen:R,onClose:v,onApply:y,currentData:x?{alt:x.alt??void 0,borderWidth:x.borderWidth??void 0,borderColor:x.borderColor??void 0,borderStyle:x.borderStyle??void 0,width:x.width??void 0,height:x.height??void 0}:void 0}),P&&jsx(im,{isOpen:P,onClose:k,onApply:T,currentProps:O?.package.document?.finalSectionProperties}),I&&jsx(am,{isOpen:I,onClose:w,onApply:D,current:H}),$&&jsx(rm,{isOpen:$,onClose:G,onApply:_,footnotePr:O?.package.document?.finalSectionProperties?.footnotePr,endnotePr:O?.package.document?.finalSectionProperties?.endnotePr})]})}function ra({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 er=[{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 aa({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[u,d]=useState(false),s=useRef(null),m=useRef(null),[i,a]=useState({top:0,left:0}),g=er.find(l=>l.value===e);return useEffect(()=>{let l=window.matchMedia("(max-width: 1400px)");d(l.matches);let S=c=>d(c.matches);return l.addEventListener("change",S),()=>l.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!s.current)return;let l=s.current.getBoundingClientRect();a({top:l.bottom+2,left:l.right-220});},[r]),useEffect(()=>{if(!r)return;let l=c=>{!s.current?.contains(c.target)&&!m.current?.contains(c.target)&&n(false);},S=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",S);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:s,type:"button",onMouseDown:l=>l.preventDefault(),onClick:()=>n(!r),title:`${o(g.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:u?0:4,padding:u?"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:g.icon,size:18}),!u&&jsx("span",{children:o(g.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:m,onMouseDown:l=>l.preventDefault(),style:{position:"fixed",top:i.top,left:i.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:er.map(l=>jsxs("button",{type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>{t(l.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:l.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(l.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:o(l.descKey)})]}),l.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},l.value))})]})}function sa({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 la({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:u,selectionFormatting:d,tableContext:s,imageContext:m,readOnly:i,editingMode:a,setEditingMode:g,setShowCommentsSidebar:l,setExpandedSidebarItem:S,showCommentsSidebar:c,agentPanel:f,renderLogo:b,documentName:C$1,onDocumentNameChange:h,documentNameEditable:p,renderTitleBarRight:R,toolbarExtra:v,fontFamilies:y,zoom:x,showZoomControl:P,onFormat:k,onUndo:T,onRedo:I,onPrint:w,onOpen:D,onSave:H,onZoomChange:O,onRefocusEditor:$,onInsertTable:G,onInsertImage:_,onInsertPageBreak:V,onInsertTOC:U,onImageWrapType:ee,onImageTransform:ae,onOpenImageProperties:se,onPageSetup:pe,onWatermark:Pe,onTableAction:ve}){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:d,onFormat:k,onUndo:T,onRedo:I,canUndo:u?undoDepth(u)>0:false,canRedo:u?redoDepth(u)>0:false,disabled:i,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:w,onOpen:D,onSave:H,showZoomControl:P,zoom:x,onZoomChange:O,onRefocusEditor:$,onInsertTable:G,showTableInsert:true,onInsertImage:_,onInsertPageBreak:V,onInsertTOC:U,imageContext:m,onImageWrapType:ee,onImageTransform:ae,onOpenImageProperties:se,onPageSetup:pe,onWatermark:Pe,tableContext:s,onTableAction:ve,children:[jsxs(E.TitleBar,{children:[b&&jsx(E.Logo,{children:b()}),C$1!==void 0&&jsx(E.DocumentName,{value:C$1,onChange:h,editable:p}),R&&jsx(E.TitleBarRight,{children:R()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(ra,{active:c,onClick:()=>{l(ce=>!ce),S(null);}}),jsx(C,{}),jsx(aa,{mode:a,onModeChange:ce=>{g(ce),ce==="suggesting"&&l(true);}}),f&&f.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(sa,{active:t,badge:f.toolbarBadge,onClick:()=>o(!t)})]}),v]})]})})}function ca(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),u=getCaretPositionFromDom(e,t,n);return u?{x:u.x/o,y:u.y/o,height:u.height,pageIndex:u.pageIndex}:null}function da(e,t,o,r,n){return getSelectionRectsFromDom(e,o,r,t).map(d=>({x:d.x/n,y:d.y/n,width:d.width/n,height:d.height/n,pageIndex:d.pageIndex}))}var Mm={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function fa(e,t,o,r=[]){let n=o?.getSchema()??schema,u=t??e?.package?.styles,d=e?toProseDoc(e,{styles:u}):createEmptyDoc(),s=createDocumentStylesPlugin(u),m=[...r,...o?.getPlugins()??[],s];return ensureParaIdsInState(EditorState.create({doc:d,schema:n,plugins:m}))}function Dm(e,t){return t?fromProseDoc(e.doc,t):null}var Hm=forwardRef(function(t,o){let{document:r,styles:n,theme:u,widthPx:d=612,readOnly:s=false,onTransaction:m,onSelectionChange:i,externalPlugins:a=[],extensionManager:g,onEditorViewReady:l,onEditorViewDestroy:S,onKeyDown:c}=t,f=useRef(null),b=useRef(null),C=useRef(r),h=useRef(false),p=useRef(null),R=useRef(false),v=useRef(m),y=useRef(i),x=useRef(l),P=useRef(S),k=useRef(c),T=useRef(s);v.current=m,y.current=i,x.current=l,P.current=S,k.current=c,T.current=s,C.current=r;let I=G=>{if(!G)return "empty";let _=G.package?.properties;return `${_?.created||""}-${_?.modified||""}-${_?.title||""}`},w=useCallback(()=>{if(!f.current||h.current)return;let _={state:fa(r,n,g,a),editable:()=>!T.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(U){if(h.current)return;b.current||(b.current=this),stripScrollFlag(U,this.state.tr);let ee=this.state.apply(U);this.updateState(ee),v.current?.(U,ee),(U.selectionSet||U.docChanged)&&y.current?.(ee);},handleKeyDown:(U,ee)=>k.current?.(U,ee)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};b.current=new EditorView(f.current,_);let V=b.current.dom;V.style.overflowAnchor="none",R.current=true,p.current=I(r),x.current?.(b.current);},[r,n,a,g,s]),D=useCallback(()=>{b.current&&!h.current&&(h.current=true,P.current?.(),b.current.destroy(),b.current=null,h.current=false);},[]);useEffect(()=>(w(),()=>D()),[]),useEffect(()=>{if(!b.current||h.current)return;let G=I(r);if(R.current&&G===p.current)return;R.current=true,p.current=G;let _=fa(r,n,g,a);b.current.updateState(_),y.current?.(_);},[r,n,g,a]),useEffect(()=>{b.current;},[s]),useImperativeHandle(o,()=>({getState(){return b.current?.state??null},getView(){return b.current??null},getDocument(){return b.current?Dm(b.current.state,C.current):null},focus(){b.current?.focus();},blur(){b.current?.hasFocus()&&b.current.dom.blur();},isFocused(){return b.current?.hasFocus()??false},dispatch(G){b.current&&!h.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,_){if(!b.current)return;let{state:V,dispatch:U}=b.current,ee=V.doc.resolve(G),ae=_!==void 0?V.doc.resolve(_):ee,se=TextSelection.between(ee,ae);U(V.tr.setSelection(se));},setNodeSelection(G){if(!b.current)return;let{state:_,dispatch:V}=b.current;try{let U=NodeSelection.create(_.doc,G);V(_.tr.setSelection(U));}catch{this.setSelection(G);}},setCellSelection(G,_){if(!b.current)return;let{state:V,dispatch:U}=b.current;try{let ee=CellSelection.create(V.doc,G,_);U(V.tr.setSelection(ee));}catch{this.setSelection(G,_);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:f,className:"paged-editor__hidden-pm",style:{...Mm,width:d>0?`${d}px`:void 0}}),O=globalThis.document,$=O&&"body"in O&&O.body!=null?O.body:null;return $?createPortal(H,$):H}),ga=memo(Hm);function jm(e,t,o,r,n){let u=headerFooterToProseDoc(e.content,{styles:t??void 0,theme:o??null,defaultTabStopTwips:r??null}),d=createDocumentStylesPlugin(t);return EditorState.create({doc:u,schema:schema,plugins:[...n.getPlugins(),d]})}function Ym(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 ir=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:u},d){let s=useRef(u);s.current=u;let m=useRef(t);m.current=t;let i=useRef(null),a=useRef(null),g=useRef(new Map),l=useRef(new Map);i.current=(f,b,C)=>{let p=m.current?.package;if(!p)return;let v=(b==="header"?p.headers:p.footers)?.get(f);v&&(v.content=proseDocToBlocks(C.doc));};let S=useCallback((f,b)=>{let C=t?.package;return C?(b==="header"?C.headers:C.footers)?.get(f)??null:null},[t]),c=useMemo(()=>Ym(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!a.current)return;let f=a.current,b=new Map(c.map(h=>[h.rId,h])),C=g.current;for(let[h,p]of C)b.has(h)||(p.view.destroy(),p.mountNode.remove(),l.current.get(h)?.destroy(),l.current.delete(h),C.delete(h));for(let h of c){if(C.has(h.rId))continue;let p=S(h.rId,h.kind);if(!p)continue;let R=new ExtensionManager(createStarterKit());R.buildSchema(),R.initializeRuntime(),l.current.set(h.rId,R);let v=f.ownerDocument.createElement("div");v.dataset.hfRId=h.rId,v.dataset.hfKind=h.kind,f.appendChild(v);let y=jm(p,o,r,n,R),x=h.rId,P=h.kind,k=new EditorView(v,{state:y,dispatchTransaction(T){let I=k.state.apply(T);k.updateState(I),T.docChanged&&i.current?.(x,P,I),s.current?.(x,k,T.docChanged);}});C.set(h.rId,{rId:h.rId,kind:h.kind,view:k,mountNode:v});}},[c,S,o,r,n]),useEffect(()=>{let f=g.current,b=l.current;return ()=>{for(let{view:C,mountNode:h}of f.values())C.destroy(),h.remove();f.clear();for(let C of b.values())C.destroy();b.clear();}},[]),useImperativeHandle(d,()=>({getView(f){return g.current.get(f)?.view??null}}),[]),jsx("div",{ref:a,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));ir.displayName="HiddenHeaderFooterPMs";var Qm="#000",Jm="rgba(66, 133, 244, 0.3)",ef=2,tf=530,of={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},nf=(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"}),rf=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),af=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[u,d]=useState(n),s=useRef(null);return useEffect(()=>(s.current&&(window.clearInterval(s.current),s.current=null),n&&r>0?(d(true),s.current=window.setInterval(()=>{d(m=>!m);},r)):d(false),()=>{s.current&&window.clearInterval(s.current);}),[n,r]),useEffect(()=>{if(n)return d(true),s.current&&window.clearInterval(s.current),r>0&&(s.current=window.setInterval(()=>{d(m=>!m);},r)),()=>{s.current&&window.clearInterval(s.current);}},[e.x,e.y,n,r]),jsx("div",{style:nf(e,t,o,u),"data-testid":"caret"})},sf=({rect:e,color:t,index:o})=>jsx("div",{style:rf(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),ya=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=Qm,selectionColor:u=Jm,caretWidth:d=ef,blinkInterval:s=tf})=>{if(r)return null;let m=e.length>0,i=t!==null&&!m;return jsxs("div",{style:of,"data-testid":"selection-overlay",children:[m&&e.map((a,g)=>jsx(sf,{rect:a,color:u,index:g},`sel-${a.pageIndex}-${a.x}-${a.y}-${g}`)),i&&t&&jsx(af,{position:t,color:n,width:d,blinkInterval:s,isFocused:o})]})};var sr=10,xt=sr/2,yo=2,Sa="#2563eb",Ca={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},cf={position:"absolute",border:`${yo}px solid ${Sa}`,pointerEvents:"none",boxSizing:"border-box"},df={position:"absolute",width:`${sr}px`,height:`${sr}px`,backgroundColor:Sa,border:"1px solid white",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.3)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},uf={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%)"},pf={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function mf(e,t,o,r,n,u){let d=e.includes("w")?-1:1,s=e.includes("n")?-1:1,m=r+t*d,i=n+o*s;if(u){let a=Math.max(m/r,i/n);m=r*a,i=n*a;}return {width:Math.max(20,Math.min(2e3,m)),height:Math.max(20,Math.min(2e3,i))}}function xa({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:u,onDragMove:d,onDragStart:s,onDragEnd:m,onContextMenu:i}){let[a,g]=useState(false),[l,S]=useState(false),[c,f]=useState(0),[b,C]=useState(0),[h,p]=useState(null),R=useRef(null),v=useRef(null),y=useRef(r),x=useRef(n),P=useRef(u),k=useRef(d),T=useRef(s),I=useRef(m);y.current=r,x.current=n,P.current=u,k.current=d,T.current=s,I.current=m;let w=useRef(e),D=useRef(t);w.current=e,D.current=t;let H=useCallback(()=>{if(!e||!v.current){p(null);return}let ae=v.current.offsetParent;if(!ae){p(null);return}let se=ae.getBoundingClientRect(),pe=e.element.getBoundingClientRect();p({left:(pe.left-se.left)/t,top:(pe.top-se.top)/t,width:pe.width/t,height:pe.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let ae=v.current?.closest('[style*="overflow"]')??v.current?.closest(".paged-editor__container");if(!ae)return;let se=()=>{R.current&&cancelAnimationFrame(R.current),R.current=requestAnimationFrame(H);};return ae.addEventListener("scroll",se,{passive:true}),window.addEventListener("resize",se,{passive:true}),()=>{ae.removeEventListener("scroll",se),window.removeEventListener("resize",se),R.current&&cancelAnimationFrame(R.current);}},[e,H]);let O=useCallback((ae,se)=>{if(!e||!h)return;se.preventDefault(),se.stopPropagation();let pe=h.width,Pe=h.height,ve=se.clientX,ge=se.clientY,ce=Math.round(pe),Se=Math.round(Pe);g(true),f(ce),C(Se),x.current?.();let M=N=>{let Q=D.current,z=(N.clientX-ve)/Q,L=(N.clientY-ge)/Q,te=!N.shiftKey,X=mf(ae,z,L,pe,Pe,te);ce=Math.round(X.width),Se=Math.round(X.height),f(ce),C(Se),p(J=>{if(!J)return J;let re={...J};return ae.includes("w")&&(re.left=J.left+(J.width-X.width)),ae.includes("n")&&(re.top=J.top+(J.height-X.height)),re.width=X.width,re.height=X.height,re});},A=()=>{window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),g(false);let N=w.current;N&&y.current?.(N.pmPos,ce,Se),P.current?.();};window.addEventListener("mousemove",M),window.addEventListener("mouseup",A);},[e,h]),$=useCallback(ae=>{if(!e||!h)return;ae.preventDefault(),ae.stopPropagation();let se=4,pe=ae.clientX,Pe=ae.clientY,ve=false,ge=null,ce=M=>{let A=M.clientX-pe,N=M.clientY-Pe;!ve&&Math.sqrt(A*A+N*N)<se||(ve||(ve=true,S(true),T.current?.(),ge=document.createElement("div"),ge.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);",ge.style.width=`${h.width}px`,ge.style.height=`${h.height}px`,document.body.appendChild(ge)),ge&&(ge.style.left=`${M.clientX-h.width/2}px`,ge.style.top=`${M.clientY-h.height/2}px`));},Se=M=>{if(window.removeEventListener("mousemove",ce),window.removeEventListener("mouseup",Se),ge&&(ge.remove(),ge=null),S(false),ve){let A=w.current;A&&k.current?.(A.pmPos,M.clientX,M.clientY),I.current?.();}};window.addEventListener("mousemove",ce),window.addEventListener("mouseup",Se);},[e,h]);if(!!!(e&&h&&o))return jsx("div",{ref:v,style:{...Ca,visibility:"hidden"},className:"image-selection-overlay"});let{left:_,top:V,width:U,height:ee}=h;return jsxs("div",{ref:v,style:Ca,className:"image-selection-overlay",children:[jsx("div",{style:{...cf,left:_-yo,top:V-yo,width:U+yo*2,height:ee+yo*2}}),jsx("div",{style:{position:"absolute",left:_,top:V,width:U,height:ee,cursor:l?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:$,onContextMenu:i}),jsx(nn,{handle:"nw",style:{left:_-xt,top:V-xt},onMouseDown:O}),jsx(nn,{handle:"ne",style:{left:_+U-xt,top:V-xt},onMouseDown:O}),jsx(nn,{handle:"se",style:{left:_+U-xt,top:V+ee-xt},onMouseDown:O}),jsx(nn,{handle:"sw",style:{left:_-xt,top:V+ee-xt},onMouseDown:O}),a&&jsxs("div",{style:{...uf,left:_+U/2,top:V+ee+12},children:[c," \xD7 ",b]})]})}function nn({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...df,...t,cursor:pf[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var gf={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function Ta({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let u=useRef(null),d=useRef(null),[s,m]=useState(0);return useEffect(()=>n.onRender(()=>m(i=>i+1)),[n]),useEffect(()=>(d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null;let i=e(),a=t(),g=u.current;!i||!a||!g||n.isSafeToRender()&&bf(i,a,g,o);}),()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);}),[o,r,s]),jsx("div",{ref:u,className:"paged-editor__decoration-overlay",style:gf,"aria-hidden":"true"})}function bf(e,t,o,r){let n=hf(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let u=b$3(t,r),d=u.getContainerOffset(),s=document.createDocumentFragment();for(let{decoration:m,from:i,to:a}of n){if(i===a){let S=yf(m,e);if(!S)continue;let c=u.getCoordinatesForPosition(i);if(!c)continue;let f=document.createElement("div");f.style.cssText=`position:absolute;left:${c.x+d.x}px;top:${c.y+d.y}px;height:${c.height}px;`,f.appendChild(S),s.appendChild(f);continue}let g=vf(m);if(!g)continue;let l=u.getRectsForRange(i,a);for(let S of l){let c=document.createElement("div");for(let[b,C]of Object.entries(g))b!=="nodeName"&&c.setAttribute(b,C);let f=`position:absolute;left:${S.x+d.x}px;top:${S.y+d.y}px;width:${S.width}px;height:${S.height}px;`;c.style.cssText=f+(g.style??""),s.appendChild(c);}}o.replaceChildren(s);}function hf(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(u=>{u.find().forEach(d=>{d.spec?.noOverlay||t.push({decoration:d,from:d.from,to:d.to});});});}return t}function yf(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 vf(e){return e.type?.attrs??null}var Ma=[];var Da={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Ha={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},Fa={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},La={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function rn(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),u=n.top+n.height/2,d=r.top+r.height/2,s=u-d,m=Math.max(0,t.scrollHeight-t.clientHeight),i=Math.max(0,Math.min(m,t.scrollTop+s));t.scrollTop=i;}function an(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 Oa(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let u=r[n].dataset.pmStart;if(u==null)continue;let d=Number(u);Number.isNaN(d)||d<=t&&(o===null||d>o)&&(o=d);}return o}function sn(e,t){let o=e.pages.length;return e.pages.reduce((n,u)=>n+u.size.h,0)+Math.max(0,o-1)*t+24+24}function Ba(e,t,o,r,n){let u=new Map;if(!e?.state)return u;let{doc:d,schema:s}=e.state,m=s.marks.comment,i=s.marks.insertion,a=s.marks.deletion;if(!m&&!i&&!a)return u;let g=new Set,l=24+n,S=(c,f)=>{if(g.has(c))return;g.add(c);let b=getCaretPosition(t,o,r,f);if(b){u.set(c,b.y+l);return}for(let C=0;C<t.pages.length;C++){let h=t.pages[C];for(let p of h.fragments){let R=p.pmStart??0,v=p.pmEnd??R;if(f<R||f>v)continue;let y=p.kind==="table"?Pf(o,r,p,f):0;u.set(c,p.y+y+getPageTop(t,C)+l);return}}};return d.descendants((c,f)=>{let b=c.attrs;if(b){let C=[b.trIns,b.trDel,b.pPrIns,b.pPrDel];for(let v of C){let y=v?.revisionId;typeof y=="number"&&S(`revision-${y}`,f);}let p=b.cellMarker?.info?.revisionId;typeof p=="number"&&S(`revision-${p}`,f);let R=[b.pPrChange,b.trPrChange,b.tcPrChange,b.tblPrChange];for(let v of R)if(Array.isArray(v))for(let y of v){let x=y?.info?.id;typeof x=="number"&&S(`revision-${x}`,f);}}if(c.isInline)for(let C of c.marks){let h=null;m&&C.type===m?h=`comment-${C.attrs.commentId}`:(i&&C.type===i||a&&C.type===a)&&(h=`revision-${C.attrs.revisionId}`),h&&S(h,f);}}),u}function Pf(e,t,o,r){let n=e.findIndex(m=>m.id===o.blockId);if(n===-1)return 0;let u=e[n],d=t[n];if(u.kind!=="table"||d.kind!=="table")return 0;let s=0;for(let m=o.fromRow;m<o.toRow;m++){let i=u.rows[m];if(!i||i.cells.some(g=>g.blocks.some(l=>{let S=l.pmStart??0,c=l.pmEnd??S;return r>=S&&r<=c})))break;s+=d.rows[m]?.height??0;}return s}function _a(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let d=getCachedParagraphMeasure(n,t);if(d)return d}let u=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,u),u}case "table":return measureTableBlock(e,t,_a);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,u=n.margins??DEFAULT_TEXTBOX_MARGINS,d=(n.width??DEFAULT_TEXTBOX_WIDTH)-u.left-u.right,s=n.content.map(a=>measureParagraph(a,d)),m=s.reduce((a,g)=>a+g.totalHeight,0),i=n.height??m+u.top+u.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:i,innerMeasures:s}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function Wa(e,t,o){return measureBlocksWithFloats(e,t,_a,o)}function Ua(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,u=Oa(e,o),d=0;if(u!=null){let s=findBodyPmAnchor(e,u);if(s){let m=s.getBoundingClientRect(),i=t.getBoundingClientRect();d=m.top-i.top;}else u=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:u,domAnchorOffsetInScroller:d}}function $a(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let u=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/u;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function cr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:u,domAnchorPmStart:d,domAnchorOffsetInScroller:s}=e;if(r==="incremental"&&u!=null){let i=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,u),i);return}if(r!=="incremental"&&d!=null){let i=findBodyPmAnchor(t,d);if(i){let a=o.getBoundingClientRect(),g=i.getBoundingClientRect().top-a.top;o.scrollTop+=s-g;return}}let m=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*m;}function Ka(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),u=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-u)>.5&&(t.scrollTop=u);}function Xa(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:m,firstPageFooterContent:i,getHfPmDoc:a,pageGap:g,zoom:l,resolvedCommentIds:S,pagesContainerRef:c,viewportLayoutRef:f,hiddenPMRef:b,syncCoordinator:C,getScrollContainer:h,onTotalPagesChange:p,onAnchorPositionsChange:R,onRenderedDomContextReady:v}=e,[y,x]=useState(null),[P,k]=useState([]),[T,I]=useState([]),[w,D]=useState(0),H=useCallback(()=>D(L=>L+1),[]),O=useRef(p),$=useRef(R),G=useRef(v),_=useRef(a);O.current=p,$.current=R,G.current=v,_.current=a;let V=useRef(0);useEffect(()=>{let L=y?.pages.length??0;L!==V.current&&(V.current=L,O.current?.(L));},[y]);let U=useMemo(()=>getPageSize(n),[n]),ee=useMemo(()=>getMargins(n),[n]),ae=useMemo(()=>getColumns(n),[n]),{finalPageSize:se,finalMargins:pe,finalColumns:Pe}=useMemo(()=>{let L=u??n;return {finalPageSize:getPageSize(L),finalMargins:getMargins(L),finalColumns:getColumns(L)}},[u,n]),ve=U.w-ee.left-ee.right,ge=useMemo(()=>new LayoutPainter({pageGap:g,showShadow:true,pageBackground:"#fff"}),[g]),ce=useRef(null);ce.current=ge;let Se=useRef(null),M=useRef(0),A=useCallback(L=>{let te=performance.now(),X=C.getStateSeq();C.onLayoutStart();let J=re=>{let W=c.current,oe=W?h()??findVerticalScrollParentOrRoot(W):null,Ce=performance.now()-M.current;Ka(Se.current,oe,Ce,re);};J(true);try{let{blocks:re,measures:W,layout:oe,headerContentForRender:Ce,footerContentForRender:le,firstPageHeaderForRender:ke,firstPageFooterForRender:De,hasTitlePg:we,watermark:be,headerDistancePx:Ae,footerDistancePx:j,pageBorders:ne,footnotesByPage:B}=computeLayout({state:L,document:t,pageSize:U,margins:ee,columns:ae,finalPageSize:se,finalMargins:pe,finalColumns:Pe,pageGap:g,contentWidth:ve,theme:r,styles:o,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:m,firstPageFooterContent:i,measureBlocks:Wa,getHfPmDoc:fe=>_.current?.(fe)??null});if(k(re),I(W),x(oe),c.current&&ce.current){Se.current=null,M.current=0;let fe=c.current,Te=h()??findVerticalScrollParentOrRoot(fe),et=Te?.isConnected?Ua(fe,Te,L.selection.head):null,Ut=buildBlockLookup(re,W);ce.current.setBlockLookup(Ut);let gt=renderPages(oe.pages,c.current,{pageGap:g,showShadow:!0,pageBackground:"#fff",blockLookup:Ut,headerContent:Ce,footerContent:le,firstPageHeaderContent:ke,firstPageFooterContent:De,titlePg:we,headerDistance:Ae,footerDistance:j,pageBorders:ne,theme:r,watermark:be,footnotesByPage:B,resolvedCommentIds:S}),Le=f.current;if(Le){let $e=sn(oe,g);Le.style.minHeight=`${$e}px`,l!==1?Le.style.marginBottom=`${$e*(l-1)}px`:Le.style.marginBottom="";}if(Te?.isConnected&&et){let $e=$a(gt,Te,et);Se.current=$e,$e.renderKind==="incremental"&&$e.scrollTopSnapshot!=null&&(M.current=performance.now());}if(c.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),G.current){let $e=b$3(c.current,l);G.current($e);}}else Se.current=null,M.current=0;if($.current){let fe=Ba(b.current?.getView()??null,oe,re,W,g);$.current(fe);}J(!1);let de=performance.now()-te;de>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(de)}ms total (${re.length} blocks, ${W.length} measures)`);}catch(re){console.error("[PagedEditor] Layout pipeline error:",re);}C.onLayoutComplete(X),J(false);},[ve,ae,U,ee,se,pe,Pe,g,l,C,d,s,m,i,n,u,t,S,h,b,c,o,r,f]);useLayoutEffect(()=>{let L=Se.current;if(!L)return;Se.current=null,M.current=0;let te=c.current,X=h()??(te?findVerticalScrollParentOrRoot(te):null);if(!te||!X?.isConnected)return;cr(L,te,X);let J=requestAnimationFrame(()=>{X.isConnected&&cr(L,te,X);});return ()=>cancelAnimationFrame(J)},[y,h,c]);let N=useRef(A);N.current=A;let Q=useRef(null);Q.current||(Q.current=createLayoutScheduler(L=>N.current(L)));let z=useCallback(L=>{Q.current.schedule(L);},[]);return useEffect(()=>{let L=Q.current;return ()=>L?.cancel()},[]),{layout:y,blocks:P,measures:T,decorationSyncToken:w,notifyDecorationLayer:H,contentWidth:ve,runLayoutPipeline:A,scheduleLayout:z}}function Ja(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:u,pagesContainerRef:d,hiddenPMRef:s,syncCoordinator:m,isImageInteractingRef:i,onSelectionChangeRef:a}=e,[g,l]=useState([]),[S,c]=useState(null),[f,b]=useState(null),C=useRef(null),h=useCallback((v,y)=>{let x=v.tagName==="IMG"?v:v.querySelector("img"),P=(x??v).getBoundingClientRect();return {element:x??v,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),p=useCallback(v=>{let{from:y,to:x}=v.selection;C.current!==v&&(C.current=v,a.current?.(y,x));let P=d.current;if(P&&(applyCellSelectionHighlight(P,v),applySdtFocus(P,enclosingSdtGroupIds(v.doc,y,x))),!(!t||o.length===0))if(y===x){let k=P?ca(P,y,n):null;if(k)c(k);else {let T=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=d.current?.querySelector(".layout-page");if(T&&I){let w=T.getBoundingClientRect(),D=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,y);c(H?{...H,x:H.x+(D.left-w.left)/n,y:H.y+(D.top-w.top)/n}:null);}else c(null);}l([]);}else {let k=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(k&&d.current){let T=k.getBoundingClientRect(),I=da(d.current,T,y,x,n);if(I.length>0)l(I);else {let w=d.current.querySelector(".layout-page");if(w){let D=w.getBoundingClientRect(),H=(D.left-T.left)/n,O=(D.top-T.top)/n,G=selectionToRects(t,o,r,y,x).map(_=>({..._,x:_.x+H,y:_.y+O}));l(G);}else l([]);}}else l([]);c(null);}},[t,o,r,n,a,d]),R=useCallback(v=>{let{selection:y}=v;y instanceof NodeSelection&&y.node.type.name==="image"?(l([]),c(null)):m.isSafeToRender()&&p(v),requestAnimationFrame(()=>{let x=s.current?.getView();if(!x){b(null);return}let{selection:P}=x.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let k=P.from,T=d.current?findBodyPmAnchor(d.current,k):null;if(T){b(h(T,k));return}}i.current||b(null);});},[p,h,m,s,i,d]);return useEffect(()=>{let v=u.current;if(!v)return;let y=new ResizeObserver(()=>{let x=s.current?.getState();x&&p(x);});return y.observe(v),()=>y.disconnect()},[p,u,s]),useEffect(()=>{let v=s.current?.getState();t&&v&&p(v);},[t,p,s]),{selectionRects:g,caretPosition:S,selectedImageInfo:f,setSelectionRects:l,setCaretPosition:c,setSelectedImageInfo:b,buildImageSelectionInfo:h,updateSelectionOverlay:p,handleSelectionChange:R}}function ts(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:u}=e,d=useCallback((l,S,c)=>{let f=o.current?.getView();if(!f)return;let b=commitImageResize(f,l,S,c);b!==null&&o.current?.setNodeSelection(b);},[o]),s=useCallback(()=>{n.current=true;},[n]),m=useCallback(()=>{n.current=false;},[n]),i=useCallback((l,S,c)=>{let f=o.current?.getView();if(!f)return;let b=f.state.doc.nodeAt(l);if(!(!b||b.type.name!=="image"))if(isFloatingImage(b)){let C=t.current?.querySelectorAll(".layout-page");if(!C||C.length===0)return;let h=null;for(let x of C){let P=x.getBoundingClientRect();if(c>=P.top&&c<=P.bottom){h=x.querySelector(".layout-page-content");break}}if(h||(h=C[C.length-1].querySelector(".layout-page-content")),!h)return;let p=h.getBoundingClientRect(),R=pixelsToEmu((S-p.left)/r),v=pixelsToEmu((c-p.top)/r),y=commitImageFloatMove(f,l,R,v);y!==null&&o.current?.setNodeSelection(y);}else {let C=u(S,c);if(C===null)return;let h=commitImageInlineMove(f,l,C);h!==null&&o.current?.setNodeSelection(h);}},[u,r,o,t]),a=useCallback(()=>{n.current=true;},[n]),g=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:d,handleImageResizeStart:s,handleImageResizeEnd:m,handleImageDragMove:i,handleImageDragStart:a,handleImageDragEnd:g}}function rs(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:u,getScrollContainer:d}=e,s=useRef(null);useEffect(()=>()=>{s.current?.abort(),s.current=null;},[]);let m=useCallback((g,l=false)=>{if(!Number.isInteger(g)||g<0)return;let S=n.current;if(!S)return;s.current?.abort();let c=new AbortController;s.current=c;let{signal:f}=c,b=()=>{let T=findBodyPmAnchor(S,g);if(T)return T;for(let I of findBodyPmSpans(S)){let w=Number(I.dataset.pmStart),D=Number(I.dataset.pmEnd);if(Number.isFinite(w)&&Number.isFinite(D)&&g>=w&&g<=D)return I}return null};if(!l){let T={block:"center",inline:"nearest",behavior:"smooth"},I=b();if(I){I.scrollIntoView(T);return}let w=t,D=o,H=r;if(!w||D.length===0||H.length!==D.length)return;let O=null,$=getCaretPosition(w,D,H,g);if($?O=$.pageIndex:O=findPageIndexContainingPmPos(w,g),O==null)return;let _=S.querySelectorAll(".layout-page")[O];if(!_)return;_.scrollIntoView(T),an(()=>{if(!S.isConnected)return;let V=b();V&&V.scrollIntoView(T);},f);return}let C=d()??findVerticalScrollParentOrRoot(S),h=()=>{let T=b();return T?(rn(T,C),true):false};if(h())return;let p=t,R=o,v=r;if(!p||R.length===0||v.length!==R.length)return;let y=null,x=getCaretPosition(p,R,v,g);if(x?y=x.pageIndex:y=findPageIndexContainingPmPos(p,g),y==null)return;let k=S.querySelectorAll(".layout-page")[y];k&&(rn(k,C),an(()=>{if(!S.isConnected)return;let T=b();T?rn(T,C):h();},f));},[t,o,r,d,n]),i=useCallback(g=>{if(!Number.isInteger(g)||g<1||!t||g>t.pages.length)return;let l=t.pages[g-1];for(let c of l.fragments)if(typeof c.pmStart=="number"){m(c.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[g-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,m,n]),a=useCallback(g=>{let l=u.current?.getState();if(!l)return false;let S=findStartPosForParaId(l.doc,g);if(S==null||S<0)return false;m(S,true);let c=s.current?.signal;if(!c)return true;let f=l.doc.nodeAt(S),b=f?.isTextblock===true?Math.min(S+1+f.content.size,l.doc.content.size):Math.min(S+1,l.doc.content.size);return an(()=>{u.current&&(u.current.setSelection(b),u.current.focus());},c),true},[m,u]);return {scrollToPositionImpl:m,scrollToPageImpl:i,scrollToParaIdImpl:a}}function ps(e){let{hiddenPMRef:t,getActiveHfView:o}=e,r=useRef(null);function n(w){return w.closest(".layout-page-header")||w.closest(".layout-page-footer")?o?.()??t.current?.getView()??null:t.current?.getView()??null}let u=useRef(false),d=useRef(0),s=useRef(0),m=useRef(0),i=useRef({left:0,right:0}),a=useRef(null),g=useRef(false),l=useRef(0),S=useRef(0),c=useRef(0),f=useRef(0),b=useRef(null),C=useRef(false),h=useRef(false),p=useRef(0),R=useRef(0),v=useRef(0),y=useRef(0),x=useRef(null),P=useCallback((w,D)=>{let H=n(w);if(!H)return false;if(w.classList.contains("layout-table-resize-handle")){D.preventDefault(),D.stopPropagation(),u.current=true,d.current=D.clientX,a.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);s.current=O,m.current=parseInt(w.dataset.tablePmStart??"0",10);let $=readColumnWidths(H,m.current,O);return $&&(i.current=$),true}if(w.classList.contains("layout-table-row-resize-handle")||w.classList.contains("layout-table-edge-handle-bottom")){D.preventDefault(),D.stopPropagation(),g.current=true,l.current=D.clientY,b.current=w,C.current=w.dataset.isEdge==="bottom",r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.rowIndex??"0",10);S.current=O,c.current=parseInt(w.dataset.tablePmStart??"0",10);let $=readRowHeight(H,c.current,O);if($!=null)f.current=$;else {let _=w.closest(".layout-table")?.querySelector(`[data-row-index="${O}"]`),V=_?_.getBoundingClientRect().height:30;f.current=Math.round(V*TWIPS_PER_PIXEL);}return true}if(w.classList.contains("layout-table-edge-handle-right")){D.preventDefault(),D.stopPropagation(),h.current=true,p.current=D.clientX,x.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);R.current=O,v.current=parseInt(w.dataset.tablePmStart??"0",10);let $=readColumnWidthAt(H,v.current,O);return $!=null&&(y.current=$),true}return false},[t,o]),k=useCallback(w=>{if(u.current){w.preventDefault();let D=w.clientX-d.current;if(a.current){let H=parseFloat(a.current.style.left);a.current.style.left=`${H+D}px`,d.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),$=i.current.left+O,G=i.current.right-O;$>=MIN_CELL_WIDTH_TWIPS&&G>=MIN_CELL_WIDTH_TWIPS&&(i.current={left:$,right:G});}return true}if(g.current){w.preventDefault();let D=w.clientY-l.current;if(b.current){let H=parseFloat(b.current.style.top);b.current.style.top=`${H+D}px`,l.current=w.clientY;let O=Math.round(D*TWIPS_PER_PIXEL),$=f.current+O;$>=MIN_ROW_HEIGHT_TWIPS&&(f.current=$);}return true}if(h.current){w.preventDefault();let D=w.clientX-p.current;if(x.current){let H=parseFloat(x.current.style.left);x.current.style.left=`${H+D}px`,p.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),$=y.current+O;$>=MIN_CELL_WIDTH_TWIPS&&(y.current=$);}return true}return false},[]),T=useCallback(()=>{let w=r.current;if(u.current){if(u.current=false,a.current&&(a.current.classList.remove("dragging"),a.current=null),w){let{left:D,right:H}=i.current;commitColumnResize(w,{pmStart:m.current,colIdx:s.current,newLeft:D,newRight:H});}return r.current=null,true}return g.current?(g.current=false,b.current&&(b.current.classList.remove("dragging"),b.current=null),w&&commitRowResize(w,{pmStart:c.current,rowIdx:S.current,newHeight:f.current}),r.current=null,true):h.current?(h.current=false,x.current&&(x.current.classList.remove("dragging"),x.current=null),w&&commitRightEdgeResize(w,{pmStart:v.current,colIdx:R.current,newWidth:y.current}),r.current=null,true):false},[]),I=useCallback(()=>u.current||g.current||h.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:k,tryCommit:T,isAnyResizeActive:I}}var ug=5;function pg(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),u=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,u)));}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 hs(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:u,measures:d,zoom:s,readOnly:m,hfEditMode:i,onBodyClick:a,onContextMenu:g,onHyperlinkClick:l,onHeaderFooterDoubleClick:S,setSelectedImageInfo:c,setSelectionRects:f,setCaretPosition:b,buildImageSelectionInfo:C,setIsFocused:h,scrollToPositionImpl:p}=e,R=useRef(false),v=useRef(null),y=ps({hiddenPMRef:o,getActiveHfView:r}),x=useRef(false),P=useRef(null),k=useRef(null),T=useRef(null),[I,w]=useState(null),D=useRef(null),H=useCallback(()=>{D.current&&(clearTimeout(D.current),D.current=null);},[]);useEffect(()=>()=>{D.current&&clearTimeout(D.current);},[]);let O=useRef(()=>{}),$=useCallback((M,A)=>{O.current(M,A);},[]),{updateMousePosition:G,stopAutoScroll:_}=b$4({pagesContainerRef:t,onScrollExtendSelection:$}),V=useCallback((M,A)=>{if(!t.current||!n)return null;let N=clickToPositionDom(t.current,M,A,s);if(N!==null)return N;if(i){let Ce=window.document.elementsFromPoint(M,A).find(we=>we.closest(".layout-page-header")||we.closest(".layout-page-footer"));if(!Ce)return null;let le=Ce.closest(".layout-page-header")??Ce.closest(".layout-page-footer");if(!le)return null;let ke=Array.from(le.querySelectorAll("span[data-pm-start][data-pm-end]")),De=null;for(let we of ke){let be=we.getBoundingClientRect();if(A<be.top-4||A>be.bottom+4)continue;let Ae=Number(we.dataset.pmStart),j=Number(we.dataset.pmEnd);if(!Number.isFinite(Ae)||!Number.isFinite(j))continue;let ne,B;if(M<be.left)ne=Ae,B=be.left-M;else if(M>be.right)ne=j,B=M-be.right;else {let de=(M-be.left)/Math.max(1,be.width);ne=Ae+Math.round(de*(j-Ae)),B=0;}(!De||B<De.dist)&&(De={pos:ne,dist:B});}return De?.pos??null}let Q=t.current.querySelectorAll(".layout-page"),z=-1,L=null;for(let oe=0;oe<Q.length;oe++){let le=Q[oe].getBoundingClientRect();if(M>=le.left&&M<=le.right&&A>=le.top&&A<=le.bottom){z=oe,L=le;break}}if(z<0||!L)return null;let te=(M-L.left)/s,X=(A-L.top)/s,J=n.pages[z];if(!J)return null;let re={pageIndex:z,page:J,pageY:X},W=hitTestFragment(re,u,d,{x:te,y:X});if(!W)return null;if(W.fragment.kind==="table"){let oe=hitTestTableCell(re,u,d,{x:te,y:X});return clickToPosition(W,oe)}return clickToPosition(W)},[n,u,d,s,i,t]),U=useCallback(()=>{if(i&&r){let M=r();if(M)return pg(M)}return o.current},[i,r,o]),ee=useCallback(M=>{let N=U()?.getView();if(!N)return null;try{let Q=N.state.doc.resolve(M);for(let z=Q.depth;z>0;z--){let L=Q.node(z);if(L.type.name==="tableCell"||L.type.name==="tableHeader")return Q.before(z)}}catch{}return null},[U]),ae=useCallback(M=>{let A=U();if(!A)return;if(M.button===2){M.preventDefault();return}if(M.button!==0||(w(null),H(),M.target.closest("a[href]")&&M.preventDefault(),m))return;let Q=M.target;if(i){if(!(Q.closest(".layout-page-header")||Q.closest(".layout-page-footer")||Q.closest(".hf-inline-editor"))&&a){M.preventDefault(),M.stopPropagation(),a();return}}else if((Q.closest(".layout-page-header")||Q.closest(".layout-page-footer"))&&M.detail!==2){M.preventDefault();return}if(y.tryStartFromMouseDown(Q,M))return;let z=findImageElement(Q);if(z){M.preventDefault(),M.stopPropagation();let te=z.dataset.pmStart;if(te!==void 0){let X=parseInt(te,10);A.setNodeSelection(X),c(C(z,X)),f([]),b(null);}A.focus(),i||h(true);return}c(null),M.preventDefault();let L=V(M.clientX,M.clientY);if(L!==null){let te=ee(L);P.current=te,x.current=false,k.current=null,T.current=null,R.current=true,v.current=L,A.setSelection(L);}else {P.current=null,x.current=false;let te=A.getView();if(te){let X=Math.max(0,te.state.doc.content.size-1);A.setSelection(X),v.current=X,R.current=true;}}A.focus(),i||h(true);},[U,m,i,a,V,ee,y,H,c,f,b,C,h]);O.current=(M,A)=>{if(!R.current||v.current===null)return;let N=U();if(!N)return;let Q=V(M,A);Q!==null&&N.setSelection(v.current,Q);};let se=useCallback(M=>{if(y.handleMouseMoveUpdate(M)||!R.current||v.current===null)return;let A=U();if(!A||!t.current)return;G(M.clientX,M.clientY);let N=V(M.clientX,M.clientY);if(N===null)return;if(P.current!==null){if(x.current){let L=ee(N);if(L!==null){A.setCellSelection(P.current,L);return}}let z=ee(N);if(z!==null&&z!==P.current){x.current=true,A.setCellSelection(P.current,z),T.current=null;return}if(k.current!==null&&N===k.current){if(T.current===null)T.current=M.clientX;else if(Math.abs(M.clientX-T.current)>=ug){x.current=true,A.setCellSelection(P.current,P.current),T.current=null;return}}else T.current=null,k.current=N;}let Q=v.current;A.setSelection(Q,N);},[U,V,ee,G,y,t]),pe=useCallback(()=>{y.tryCommit()||(R.current=false,x.current=false,k.current=null,T.current=null,_());},[_,y]);useEffect(()=>(window.addEventListener("mousemove",se),window.addEventListener("mouseup",pe),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",pe);}),[se,pe]);let Pe=useCallback(M=>{if(m||R.current||x.current||y.isAnyResizeActive())return;let A=t.current;if(!A)return;let N=detectTableInsertHover({mouseX:M.clientX,mouseY:M.clientY,pagesContainer:A,target:M.target,hfEditMode:i??null});if(!N){D.current||(D.current=setTimeout(()=>{w(null),D.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let Q=A.parentElement;if(!Q)return;let z=Q.getBoundingClientRect();w({type:N.type,x:N.clientX-z.left,y:N.clientY-z.top,cellPmPos:N.cellPmPos}),H();},[m,H,i,t]),ve=useCallback(M=>{if(M.preventDefault(),M.stopPropagation(),!I)return;let A=U(),N=A?.getView();if(!A||!N)return;let{type:Q,cellPmPos:z}=I,L=N.state.tr.setSelection(TextSelection.create(N.state.doc,z+1));N.dispatch(L),Q==="row"?addRowBelow(N.state,N.dispatch):addColumnRight(N.state,N.dispatch),w(null),A.focus();},[I,U]),ge=useCallback(M=>{let A=U(),N=M.target.closest("a[href]");if(N&&A){M.preventDefault();let z=N.getAttribute("href")||"",L=A.getView();if(z.startsWith("#")){let te=z.substring(1);if(te&&L){let X=null;L.state.doc.descendants((J,re)=>{if(X!==null)return false;if(J.type.name==="paragraph"&&J.attrs.bookmarks?.some(oe=>oe.name===te))return X=re,false}),X!==null&&(p(X),A.setSelection(X+1));}}else if(l&&!(L&&L.state.selection.from!==L.state.selection.to)){let X=N.textContent||"",J=N.getAttribute("title")||void 0,re=N.closest(".ep-root.paged-editor");if(re){let W=re.getBoundingClientRect(),oe=N.getBoundingClientRect(),Ce={top:oe.bottom-W.top+4,left:oe.left-W.left};l({href:z,displayText:X,tooltip:J,position:Ce});}}return}if(M.detail===2&&!i&&S){let z=M.target,L=z.closest(".layout-page-header"),te=z.closest(".layout-page-footer");if(L||te){let X=z.closest("[data-page-number]"),J=X?Number(X.dataset.pageNumber):1;M.preventDefault(),M.stopPropagation(),S(L?"header":"footer",J);return}}if(!A)return;let Q=A.getView();if(Q){if(M.detail===2){let z=V(M.clientX,M.clientY);if(z!==null){let L=ee(z);if(L!==null){M.preventDefault(),M.stopPropagation(),A.setCellSelection(L,L);return}let{doc:te}=Q.state,X=te.resolve(z),J=X.parent;if(J.isTextblock){let re=J.textContent,W=X.parentOffset,[oe,Ce]=findWordBoundaries(re,W),le=X.start()+oe,ke=X.start()+Ce;le<ke&&A.setSelection(le,ke);}}}if(M.detail===3){let z=V(M.clientX,M.clientY);if(z!==null){let L=Q.state.doc.resolve(z);A.setSelection(L.start(L.depth),L.end(L.depth));}}}},[U,i,V,S,l,ee,p]),ce=useCallback(M=>{if(!g)return;M.preventDefault();let A=U(),N=A?.getView();if(!A||!N)return;let Q=W=>{let oe=N.state.doc.nodeAt(W);if(!oe||oe.type.name!=="image")return null;let Ce=oe.attrs.wrapType??"inline",le=oe.attrs.cssFloat;return {pos:W,wrapType:Ce,cssFloat:le}},z=null,L=hitTestImage(M.target);if(L&&(z=Q(L.pos),z&&(z.inlinePositionEmu=captureInlinePositionEmu(L.imageEl,s))),!z){let W=N.state.selection;if(W instanceof NodeSelection&&W.node.type.name==="image"&&(z=Q(W.from),z)){let oe=t.current?.querySelector(`.layout-run-image[data-pm-start="${W.from}"]`);oe&&(z.inlinePositionEmu=captureInlinePositionEmu(oe,s));}}let{from:te,to:X}=N.state.selection,J=V(M.clientX,M.clientY);J!==null&&(te===X||J<te||J>X)&&(A.setSelection(J),A.focus(),i||h(true));let re=N.state.selection.from!==N.state.selection.to;g({x:M.clientX,y:M.clientY,hasSelection:re,image:z});},[U,i,g,V,s,t,h]),Se=useCallback(()=>w(null),[]);return {handlePagesMouseDown:ae,handlePagesMouseMove:Pe,handlePagesClick:ge,handlePagesContextMenu:ce,handleTableInsertClick:ve,tableInsertButton:I,clearTableInsertTimer:H,hideTableInsertButton:Se,getPositionFromMouse:V}}function gg(e,t){let o=e?.package;if(!o)return null;let r=n=>{if(!n)return null;for(let[u,d]of n)if(d===t)return u;return null};return r(o.headers)??r(o.footers)}function ys(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:u,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:m,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:a=>t.current?.dispatch(a),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(a,g)=>t.current?.setSelection(a,g),getLayout:()=>n,relayout:()=>{let a=t.current?.getState();a&&u(a);},scrollToPosition:d,scrollToParaId:s,scrollToPage:m,getHfPmView:a=>{let g=gg(r.current,a);return g?o.current?.getView(g)??null:null}}}function vs(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:m,scrollToPageImpl:i,setIsFocused:a,onReadyRef:g}=e;useImperativeHandle(t,()=>ys({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:m,scrollToPageImpl:i,setIsFocused:a}),[u,d,s,m,i]),useEffect(()=>{g.current&&o.current&&g.current(ys({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:m,scrollToPageImpl:i,setIsFocused:a}));},[u,d,m,i]);}function Rs(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:u,firstPageHeaderContent:d,firstPageFooterContent:s}=e;useEffect(()=>{let i=()=>{let a=t.current?.getView();a&&(resetCanvasContext(),clearAllCaches(),o(a.state),r(a.state));};return window.document.fonts.addEventListener("loadingdone",i),()=>{window.document.fonts.removeEventListener("loadingdone",i);}},[]);let m=useRef(0);useEffect(()=>{if(m.current===0){m.current=1;return}let i=t.current?.getView();i&&o(i.state);},[n,u,d,s,o,t]);}function Ss({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:u}){let d=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:u,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:d,"aria-label":d,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 Ts={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"},Cg={...Ts,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Rg={...Ts,padding:"12px",width:"320px"},yr={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},Sg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},xg={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},Pg={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},Ps={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},ws={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},wg={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},Zt={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function Tg(){return jsxs("svg",{...Zt,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 Eg(){return jsxs("svg",{...Zt,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 Ig(){return jsx("svg",{...Zt,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function kg(){return jsxs("svg",{...Zt,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 Mg(){return jsxs("svg",{...Zt,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",{...Zt,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 vr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:xg,title:e,onClick:t,children:o})}function Es({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:u,readOnly:d}){let{t:s}=b(),[m,i]=useState("view"),[a,g]=useState(""),[l,S]=useState(""),c=useRef(null),f=useRef(null);useEffect(()=>{e&&(i("view"),g(e.displayText),S(e.href));},[e]),useEffect(()=>{m==="edit"&&requestAnimationFrame(()=>{f.current?.focus(),f.current?.select();});},[m]),useEffect(()=>{if(!e)return;let y=false,x=k=>{c.current&&!c.current.contains(k.target)&&u();},P=setTimeout(()=>{y||document.addEventListener("mousedown",x);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",x);}},[e,u]),useEffect(()=>{if(!e)return;let y=x=>{x.key==="Escape"&&(m==="edit"?i("view"):u());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,m,u]);let b$1=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),C=useCallback(()=>{e&&(g(e.displayText),S(e.href),i("edit"));},[e]),h=useCallback(()=>{let y=l.trim();y&&r(a.trim()||y,y);},[a,l,r]),p=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),h());},[h]);if(!e)return null;let R=e.position.top,v=e.position.left;return m==="edit"?jsxs("div",{ref:c,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...Rg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:Ps,children:[jsx("span",{style:yr,children:jsx(Mg,{})}),jsx("input",{ref:f,type:"text",style:ws,value:a,onChange:y=>g(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...Ps,marginBottom:0},children:[jsx("span",{style:yr,children:jsx(Dg,{})}),jsx("input",{type:"text",style:ws,value:l,onChange:y=>S(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...wg,opacity:l.trim()?1:.5,cursor:l.trim()?"pointer":"default"},onClick:h,disabled:!l.trim(),children:s("common.apply")})]})]}):jsxs("div",{ref:c,className:"ep-hyperlink-popup",style:{...Cg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:yr,children:jsx(Tg,{})}),jsx("a",{href:e.href,style:Sg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:Pg}),jsx(vr,{title:s("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(Eg,{})}),!d&&jsxs(Fragment,{children:[jsx(vr,{title:s("hyperlinkPopup.editLink"),onClick:C,children:jsx(Ig,{})}),jsx(vr,{title:s("hyperlinkPopup.removeLink"),onClick:n,children:jsx(kg,{})})]})]})}var _g=forwardRef(function(t,o){let{document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:m,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,readOnly:l=false,pageGap:S=24,zoom:c=1,onDocumentChange:f,onSelectionChange:b,externalPlugins:C=Ma,extensionManager:h,onReady:p,onRenderedDomContextReady:R,pluginOverlays:v,onHeaderFooterDoubleClick:y,hfEditMode:x,onBodyClick:P,onHfTransaction:k,className:T,style:I,commentsSidebarOpen:w=false,sidebarOverlay:D,scrollContainerRef:H,onHyperlinkClick:O,onContextMenu:$,onAnchorPositionsChange:G,onTotalPagesChange:_,resolvedCommentIds:V,hyperlinkPopupData:U,onHyperlinkPopupNavigate:ee,onHyperlinkPopupCopy:ae,onHyperlinkPopupEdit:se,onHyperlinkPopupRemove:pe,onHyperlinkPopupClose:Pe}=t,ve=useCallback(()=>H&&typeof H=="object"?H.current:ge.current,[H]),ge=useRef(null),ce=useRef(null),Se=useRef(null),M=useRef(null),A=useRef(null),N=useRef(r);N.current=r;let{handlePMKeyDown:Q}=a({pagesContainerRef:ce}),z=useRef(b),L=useRef(f),te=useRef(p),X=useRef(R);z.current=b,L.current=f,te.current=p,X.current=R;let[J,re]=useState(false);useEffect(()=>{if(x){let Y=M.current?.getView();if(Y){try{let he=Y.state.tr.setSelection(TextSelection.create(Y.state.doc,0));Y.dispatch(he);}catch{}Y.dom.blur?.();}re(false);}},[x]);let W=useRef(false),oe=useMemo(()=>new LayoutSelectionGate,[]),Ce=useCallback(Y=>{let he=A.current;if(!he)return null;let ue=r?.package;if(!ue)return null;let Oe=Gt=>{if(!Gt)return null;for(let[ht,yt]of Gt)if(yt===Y)return ht;return null},ze=Oe(ue.headers)??Oe(ue.footers);return ze?he.getView(ze)?.state.doc??null:null},[r]),{layout:le,blocks:ke,measures:De,decorationSyncToken:we,notifyDecorationLayer:be,contentWidth:Ae,runLayoutPipeline:j,scheduleLayout:ne}=Xa({document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:m,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,getHfPmDoc:Ce,pageGap:S,zoom:c,resolvedCommentIds:V,pagesContainerRef:ce,viewportLayoutRef:Se,hiddenPMRef:M,syncCoordinator:oe,getScrollContainer:ve,onTotalPagesChange:_,onAnchorPositionsChange:G,onRenderedDomContextReady:R}),{selectionRects:B,caretPosition:de,selectedImageInfo:fe,setSelectionRects:Te,setCaretPosition:et,setSelectedImageInfo:Ut,buildImageSelectionInfo:gt,updateSelectionOverlay:Le,handleSelectionChange:$e}=Ja({layout:le,blocks:ke,measures:De,zoom:c,containerRef:ge,pagesContainerRef:ce,hiddenPMRef:M,syncCoordinator:oe,isImageInteractingRef:W,onSelectionChangeRef:z}),kt=useCallback((Y,he)=>{if(be(),Y.docChanged){oe.incrementStateSeq(),ne(he);let ue=M.current?.getDocument();ue&&L.current?.(ue);}oe.requestRender(),Y.docChanged||Le(he);},[ne,Le,oe,be]),{scrollToPositionImpl:ko,scrollToPageImpl:Mt,scrollToParaIdImpl:$t}=rs({layout:le,blocks:ke,measures:De,pagesContainerRef:ce,hiddenPMRef:M,getScrollContainer:ve}),{handlePagesMouseDown:Mo,handlePagesMouseMove:no,handlePagesClick:ro,handlePagesContextMenu:bt,handleTableInsertClick:Mn,tableInsertButton:Kt,clearTableInsertTimer:Do,hideTableInsertButton:Dn,getPositionFromMouse:Hn}=hs({pagesContainerRef:ce,hiddenPMRef:M,getHfView:useCallback(()=>{let Y=A.current;if(!Y)return null;let he=r?.package?.document?.finalSectionProperties,ue=x==="header"?he?.headerReferences:he?.footerReferences,Oe=ue?.find(ze=>ze.type==="default")??ue?.find(ze=>ze.type==="first")??null;return Oe?.rId?Y.getView(Oe.rId):null},[x,r]),layout:le,blocks:ke,measures:De,zoom:c,readOnly:l,hfEditMode:x,onBodyClick:P,onContextMenu:$,onHyperlinkClick:O,onHeaderFooterDoubleClick:y,setSelectedImageInfo:Ut,setSelectionRects:Te,setCaretPosition:et,buildImageSelectionInfo:gt,setIsFocused:re,scrollToPositionImpl:ko}),Dt=useCallback(Y=>{if(l)return;let he=Y.target;he.closest(".docx-comments-sidebar")||he.closest(".docx-unified-sidebar")||he.closest(".ep-hyperlink-popup")||he.closest("[data-hf-r-id]")||(M.current?.focus(),re(true));},[l]),Fn=useCallback(Y=>{let he=Y.relatedTarget;he&&ge.current?.contains(he)||he?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||re(false);},[]),{handleImageResize:Ye,handleImageResizeStart:Ln,handleImageResizeEnd:An,handleImageDragMove:io,handleImageDragStart:Ho,handleImageDragEnd:Fo}=ts({pagesContainerRef:ce,hiddenPMRef:M,zoom:c,isImageInteractingRef:W,getPositionFromMouse:Hn}),Lo=useCallback(Y=>{if(l)return;let he=Y.target;if(!he?.closest("[data-hf-r-id]")&&!he?.closest(".ep-hyperlink-popup")){if(M.current?.isFocused()||(M.current?.focus(),re(true)),Y.key===" "&&!Y.ctrlKey&&!Y.metaKey&&!Y.nativeEvent.isComposing){Y.preventDefault();let ue=M.current?.getView();if(ue){let{from:Oe,to:ze}=ue.state.selection;ue.someProp("handleTextInput",ht=>ht(ue,Oe,ze," "))||ue.dispatch(ue.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(Y.key)&&!Y.metaKey&&Y.ctrlKey,Y.key==="Home"&&(Y.metaKey||Y.ctrlKey)){let ue=ve();ue&&(ue.scrollTop=0);}if(Y.key==="End"&&(Y.metaKey||Y.ctrlKey)){let ue=ve();ue&&(ue.scrollTop=ue.scrollHeight);}}},[l,ve]),Ao=useCallback(Y=>{l||Y.target.closest(".docx-comments-sidebar")||Y.target.closest(".docx-unified-sidebar")||M.current?.isFocused()||(M.current?.focus(),re(true));},[l]),xe=useCallback(Y=>{j(Y.state),Le(Y.state),l||requestAnimationFrame(()=>{Y.focus(),re(true);});},[j,Le,l]);Rs({hiddenPMRef:M,runLayoutPipeline:j,updateSelectionOverlay:Le,headerContent:m,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g}),vs({ref:o,hiddenPMRef:M,hiddenHfPMsRef:A,documentRef:N,layout:le,runLayoutPipeline:j,scrollToPositionImpl:ko,scrollToParaIdImpl:$t,scrollToPageImpl:Mt,setIsFocused:re,onReadyRef:te});let ao=useMemo(()=>le?sn(le,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[le,S]);return jsxs("div",{ref:ge,className:`ep-root paged-editor ${T??""}`,style:{...Da,...I},tabIndex:0,onFocus:Dt,onBlur:Fn,onKeyDown:Lo,onMouseDown:Ao,children:[jsx(ga,{ref:M,document:r,styles:n,widthPx:Ae,readOnly:l||!!x,onTransaction:kt,onSelectionChange:$e,externalPlugins:C,extensionManager:h,onEditorViewReady:xe,onKeyDown:Q}),jsx(ir,{ref:A,document:r,styles:n,theme:u,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(Y,he,ue)=>{if(ue){let Oe=M.current?.getState();Oe&&j(Oe);}k?.(Y,he,ue);}}),jsxs("div",{ref:Se,style:{...Ha,minHeight:ao,marginBottom:c!==1?ao*(c-1):void 0,transform:(()=>{let Y=[];return w&&Y.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),c!==1&&Y.push(`scale(${c})`),Y.length>0?Y.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:ce,className:`paged-editor__pages${l?" paged-editor--readonly":""}${x?` paged-editor--hf-editing paged-editor--editing-${x}`:""}`,style:Fa,onMouseDown:Mo,onMouseMove:no,onClick:ro,onContextMenu:bt,"aria-hidden":"true"}),jsx(ya,{selectionRects:x?[]:B,caretPosition:x?null:de,isFocused:J&&!x,pageGap:S,readOnly:l}),jsx(xa,{imageInfo:fe,zoom:c,isFocused:J,onResize:Ye,onResizeStart:Ln,onResizeEnd:An,onDragMove:io,onDragStart:Ho,onDragEnd:Fo,onContextMenu:bt}),Kt&&jsx(Ss,{type:Kt.type,x:Kt.x,y:Kt.y,onMouseDown:Mn,onMouseEnter:Do,onMouseLeave:Dn}),v&&jsx("div",{className:"paged-editor__plugin-overlays",style:La,children:v}),jsx(Ta,{getView:()=>M.current?.getView()??null,getPagesContainer:()=>ce.current,zoom:c,decorationSyncToken:we,syncCoordinator:oe})]}),D&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:ao*c,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:D})}),U&&ee&&ae&&se&&pe&&Pe&&jsx(Es,{data:U,onNavigate:ee,onCopy:ae,onEdit:se,onRemove:pe,onClose:Pe,readOnly:l})]})}),Ds=memo(_g);var Ls={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"},As={fontWeight:500,letterSpacing:.3},Yg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},qg={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"},mn={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},Bs=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:u,onSave:d,onClose:s,onRemove:m},i){let a=useRef(r);a.current=r;let[g,l]=useState(false),S=useRef(null),[c,f]=useState(null);useLayoutEffect(()=>{let x=()=>{let k=u.getBoundingClientRect(),T=n.getBoundingClientRect();f({top:T.top-k.top+u.scrollTop,left:T.left-k.left+u.scrollLeft,width:T.width,height:T.height});};x();let P=u.closest('[style*="overflow"]')||u;return P.addEventListener("scroll",x),window.addEventListener("resize",x),()=>{P.removeEventListener("scroll",x),window.removeEventListener("resize",x);}},[n,u]);let b$1=useRef(false);useEffect(()=>{!r||b$1.current||(b$1.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let C=useCallback(()=>{if(!a.current)return;let x=proseDocToBlocks(a.current.state.doc);d(x);},[d]),h$1=useCallback(()=>{C(),s();},[C,s]);useEffect(()=>{function x(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),h$1());}return document.addEventListener("keydown",x,true),()=>document.removeEventListener("keydown",x,true)},[h$1]),useEffect(()=>{if(!g)return;function x(P){S.current&&!S.current.contains(P.target)&&l(false);}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[g]),useImperativeHandle(i,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let x=a.current;return x?undo(x.state,x.dispatch):false},redo:()=>{let x=a.current;return x?redo(x.state,x.dispatch):false}}));let{t:p}=b(),R=p(o==="header"?"headerFooter.header":"headerFooter.footer");if(!c)return null;let v={position:"absolute",top:c.top,left:c.left,width:c.width,height:c.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},y={...Ls,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:v,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:y,children:[jsx("span",{style:As,children:R}),jsx(Os,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:m,onClose:h$1,viewRef:a})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:Ls,children:[jsx("span",{style:As,children:R}),jsx(Os,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:m,onClose:h$1,viewRef:a})]})]})});function Os({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:u,viewRef:d}){let{t:s}=b(),m=i=>{let a=d.current;if(!a)return;let{$from:g,from:l}=a.state.selection,S=a.state.storedMarks||g.marks(),c=schema.nodes.field.create({fieldType:i,instruction:` ${i} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),f=a.state.tr.insert(l,c.mark(S));a.dispatch(f),a.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:Yg,onClick:i=>{i.stopPropagation(),o(a=>!a);},onMouseDown:i=>i.stopPropagation(),children:[s("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:qg,onMouseDown:i=>i.stopPropagation(),children:[jsx("button",{type:"button",style:mn,onClick:()=>{o(false),m("PAGE");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:mn,onClick:()=>{o(false),m("NUMPAGES");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:mn,onClick:()=>{o(false),n();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:mn,onClick:()=>{o(false),u();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Ns=resolveItemPositions;function Ws({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:u,onExpandedItemChange:d,activeItemId:s}){let{t:m}=b(),i=s??null,a=useRef(i);a.current=i;let[g,l]=useState(false),S=useRef(new Map),c=useRef(new Map),f=useRef(new Set),b$1=useRef(null),C=useRef(new Map),h=useRef(new Map),[p,R]=useState(0),v=useMemo(()=>Ns(e,t,o,n,S.current,c.current),[e,t,o,n,p]),y=v.length>0,x=useMemo(()=>{let I=new Map;for(let w of v)I.set(w.item.id,w.y);return I},[v]);useEffect(()=>{for(let I of v)f.current.add(I.item.id);},[v]);let P=useCallback(()=>{let I=false;for(let[w,D]of C.current){let H=D.offsetHeight;S.current.get(w)!==H&&(S.current.set(w,H),I=true);}I&&R(w=>w+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),w=setTimeout(()=>{P(),l(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(w);}},[e.length,P]),useEffect(()=>{let I=u?.current;if(!I)return;let w=new ResizeObserver(()=>{requestAnimationFrame(()=>R(D=>D+1));});return w.observe(I),()=>w.disconnect()},[u]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[i,P]),useEffect(()=>{if(!i)return;let I=C.current.get(i);if(!I){let H=requestAnimationFrame(()=>R(O=>O+1));return ()=>cancelAnimationFrame(H)}let w,D=new ResizeObserver(()=>{cancelAnimationFrame(w),w=requestAnimationFrame(()=>{S.current.set(i,I.offsetHeight),R(H=>H+1);});});return D.observe(I),()=>{cancelAnimationFrame(w),D.disconnect();}},[i]);let k=useCallback(I=>{let w=h.current.get(I);return w||(w=D=>{D?(C.current.set(I,D),S.current.set(I,D.offsetHeight)):(C.current.delete(I),S.current.delete(I));},h.current.set(I,w)),w},[]),T=useCallback(I=>{d?.(a.current===I?null:I);},[d]);return e.length===0?null:jsx("aside",{ref:b$1,className:"docx-unified-sidebar",role:"complementary","aria-label":m("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 w=x.get(I.id),D=i===I.id,O=!f.current.has(I.id)&&w!==void 0,$=y&&!x.has(I.id),G=y?w!==void 0?{position:"absolute",top:w,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},_=$?"none":O||I.isTemporary?"opacity 0.2s ease":g?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...G,transition:_},children:I.render({isExpanded:D,onToggleExpand:()=>T(I.id),measureRef:k(I.id)})},I.id)})})})}function Vs({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:u,onMarkerClick:d}){let{t:s}=b(),i=e.filter(a=>a.parentId==null).map(a=>{let g=u.has(a.id);if(!g&&n||g&&n)return null;let l=t.get(`comment-${a.id}`);return l==null?null:{comment:a,isResolved:g,y:l}}).filter(Boolean);return i.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:i.map(({comment:a,isResolved:g,y:l})=>jsx("button",{onClick:()=>d(a.id),title:s(g?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:l*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:g?"chat_bubble_check":"chat_bubble_outline",size:18})},a.id))})}function Ks({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:u,initialSectionProperties:d,finalSectionProperties:s,headerContent:m,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,hfEditPosition:l,setHfEditPosition:S,hfEditIsFirstPage:c,onHeaderFooterDoubleClick:f,onHeaderFooterSave:b,onRemoveHeaderFooter:C,onBodyClick:h,getHfTargetElement:p,zoom:R,readOnly:v,extensionManager:y,externalPlugins:x,onDocumentChange:P,onSelectionChange:k,onPagedSelectionChange:T,onReady:I,onEditorViewReady:w,onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:$,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:_,onHyperlinkPopupEdit:V,onHyperlinkPopupRemove:U,onHyperlinkPopupClose:ee,onContextMenu:ae,sidebarOpen:se,sidebarItems:pe,anchorPositions:Pe,onAnchorPositionsChange:ve,pluginRenderedDomContext:ge,pageWidthPx:ce,expandedSidebarItem:Se,setExpandedSidebarItem:M,comments:A,resolvedCommentIds:N,resolvedIdsForRender:Q,setShowCommentsSidebar:z,onTotalPagesChange:L,floatingCommentBtn:te,isAddingComment:X,setCommentSelectionRange:J,setAddCommentYPosition:re,setIsAddingComment:W,setFloatingCommentBtn:oe}){let Ce=l?c?l==="header"?a:g:l==="header"?m:i:null,[le,ke]=useState(null),[De,we]=useState([]),be=useCallback(j=>{let B=window.document.querySelector(".paged-editor__pages")?.parentElement;if(!B)return j;let de=B.getBoundingClientRect();return {...j,top:j.top-de.top+B.scrollTop,left:j.left-de.left+B.scrollLeft}},[]),Ae=useCallback(j=>{if(!l){ke(null),we([]);return}let ne=computeHfCaretRectFromView(j,l);ke(ne?be(ne):null),we(computeHfSelectionRectsFromView(j,l).map(be));let B=window.document.querySelector(".paged-editor__pages");B&&applyCellSelectionHighlight(B,j.state,{scope:l});},[l,be]);return useEffect(()=>{if(!l){ke(null),we([]),invalidateHfDomCache();return}let j=()=>{let Te=t.current?.getView();Te&&Ae(Te);},ne=window.document.querySelector(".paged-editor__pages"),B=()=>{invalidateHfDomCache(),j();};ne?.addEventListener("painter:painted",B);let de=requestAnimationFrame(j),fe=()=>j();return window.addEventListener("resize",fe),()=>{cancelAnimationFrame(de),ne?.removeEventListener("painter:painted",B),window.removeEventListener("resize",fe),invalidateHfDomCache();}},[l,t,Ae]),jsxs(Fragment,{children:[jsx(Ds,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||u,sectionProperties:d,finalSectionProperties:s,headerContent:m,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,onHeaderFooterDoubleClick:f,hfEditMode:l,onBodyClick:h,onHfTransaction:(j,ne,B)=>{let de=window.document.querySelector(".paged-editor__pages"),fe=false,Te=()=>{fe||(fe=true,invalidateHfDomCache(),Ae(ne));};de?.addEventListener("painter:painted",Te,{once:true}),requestAnimationFrame(()=>{fe||(de?.removeEventListener("painter:painted",Te),Te());}),k(extractSelectionState(ne.state));},zoom:R,readOnly:v,extensionManager:y,onDocumentChange:P,onSelectionChange:T,externalPlugins:x,onReady:j=>{I(j);let ne=j.getView();ne&&w?.(ne);},onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:$,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:_,onHyperlinkPopupEdit:V,onHyperlinkPopupRemove:U,onHyperlinkPopupClose:ee,onContextMenu:ae,commentsSidebarOpen:se,onAnchorPositionsChange:ve,onTotalPagesChange:L,resolvedCommentIds:Q,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[pe.length>0&&jsx(Ws,{items:pe,anchorPositions:Pe,renderedDomContext:ge??null,pageWidth:ce,zoom:R,editorContainerRef:o$1,onExpandedItemChange:M,activeItemId:Se}),jsx(Vs,{comments:A,anchorPositions:Pe,zoom:R,pageWidth:ce,sidebarOpen:se,resolvedCommentIds:N,onMarkerClick:()=>z(true)})]})}),te!=null&&!X&&!v&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:j=>{j.preventDefault(),j.stopPropagation();let ne=e.current?.getView();if(ne){let{from:B,to:de}=ne.state.selection;if(B!==de){J({from:B,to:de});let fe=ne.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Te=ne.state.tr.addMark(B,de,fe);Te.setSelection(TextSelection.create(Te.doc,de)),ne.dispatch(Te);}}re(te.top),z(true),W(true),oe(null);},style:{position:"absolute",top:te.top,left:te.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:j=>{j.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",j.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:j=>{j.currentTarget.style.backgroundColor="#fff",j.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),l&&(le||De.length>0)&&(()=>{let j=window.document.querySelector(".paged-editor__pages"),ne=j?.parentElement;return !j||!ne?null:createPortal(jsxs(Fragment,{children:[le&&De.length===0&&jsxs(Fragment,{children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:le.top,left:le.left,width:2,height:le.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} }"})]}),De.map((B,de)=>jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:B.top,left:B.left,width:B.width,height:B.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${de}-${B.top}-${B.left}`))]}),ne)})(),l&&Ce&&(()=>{let j=p(l),ne=r.current;if(!j||!ne)return null;let B=e.current?.getHfPmView(Ce)??null;return jsx(Bs,{ref:t,headerFooter:Ce,position:l,view:B,targetElement:j,parentElement:ne,onSave:b,onClose:()=>{S(null),ke(null);},onRemove:C})})()]})}function db(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function ub(e,t){return findContentControlsInPM(e.state.doc,{tag:t})[0]}function Gs({containerRef:e,getView:t}){let[o,r]=useState(null),n=useRef(null),u=useCallback((m,i)=>{let a=t();if(a){try{a.dispatch(setContentControlValueTr(a.state,{tag:m},i)),a.focus();}catch{}r(null);}},[t]);useEffect(()=>{let m=e.current;if(!m)return;let i=c=>{let f=t(),b=c.dataset.sdtTag,C=c.dataset.sdtWidget;if(!f||!b||!C)return;let h=ub(f,b),p=c.getBoundingClientRect();C==="checkbox"?u(b,{kind:"checkbox",checked:!h?.checked}):C==="dropdown"?r({kind:"dropdown",tag:b,items:h?.listItems??[],current:h?.text??"",rect:p}):C==="date"&&r({kind:"date",tag:b,current:h?.dateValue??"",rect:p});},a=c=>{let f=t(),b=db(c.dataset.sdtGroupId);if(!(!f||b==null))try{let C=c.dataset.sdtRepeat==="add"?addRepeatingSectionItemTr(f.state,b):removeRepeatingSectionItemTr(f.state,b);f.dispatch(C),f.focus();}catch{}},g=c=>{let f=c.target;(f?.closest?.(".layout-sdt-widget")||f?.closest?.(".layout-sdt-repeat-btn"))&&c.preventDefault();},l=c=>{let f=c.target?.closest?.(".layout-sdt-repeat-btn");if(f){c.preventDefault(),c.stopPropagation(),a(f);return}let b=c.target?.closest?.(".layout-sdt-widget");b&&(c.preventDefault(),c.stopPropagation(),i(b));},S=c=>{if(c.key!=="Enter"&&c.key!==" ")return;let f=c.target?.closest?.(".layout-sdt-widget");f&&(c.preventDefault(),i(f));};return m.addEventListener("mousedown",g),m.addEventListener("click",l),m.addEventListener("keydown",S),()=>{m.removeEventListener("mousedown",g),m.removeEventListener("click",l),m.removeEventListener("keydown",S);}},[e,t,u]),useEffect(()=>{if(!o)return;let m=a=>{n.current?.contains(a.target)||r(null);},i=a=>{a.key==="Escape"&&r(null);};return document.addEventListener("mousedown",m),document.addEventListener("keydown",i),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",i);}},[o]),useEffect(()=>{if(o?.kind!=="dropdown")return;let m=n.current?.querySelectorAll(".layout-sdt-widget-option");m?.length&&([...m].find(i=>i.getAttribute("aria-selected")==="true")??m[0]).focus();},[o]);let d=m=>{if(m.key!=="ArrowDown"&&m.key!=="ArrowUp")return;let i=[...n.current?.querySelectorAll(".layout-sdt-widget-option")??[]];if(!i.length)return;m.preventDefault();let a=i.indexOf(document.activeElement),g=m.key==="ArrowDown"?(a+1)%i.length:(a-1+i.length)%i.length;i[g].focus();};if(!o)return null;let s={position:"fixed",top:o.rect.bottom+2,left:o.rect.left,zIndex:1e3};return jsx("div",{ref:n,className:"layout-sdt-widget-popup",style:s,role:o.kind==="dropdown"?"listbox":void 0,onKeyDown:d,onMouseDown:m=>m.preventDefault(),children:o.kind==="dropdown"?o.items.length===0?jsx("div",{className:"layout-sdt-widget-empty",children:"No options"}):o.items.map(m=>{let i=m.displayText===o.current;return jsx("button",{type:"button",role:"option","aria-selected":i,className:`layout-sdt-widget-option${i?" is-selected":""}`,onClick:()=>u(o.tag,{kind:"dropdown",value:m.value}),children:m.displayText},m.value)}):jsx("input",{type:"date",className:"layout-sdt-widget-date",autoFocus:true,defaultValue:o.current,onChange:m=>{m.target.value&&u(o.tag,{kind:"date",date:m.target.value});}})})}function js({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:u,setCommentSelectionRange:d,setAddCommentYPosition:s,setFloatingCommentBtn:m,setHfEditPosition:i,setHfEditIsFirstPage:a,setAnchorPositions:g,clearFindReplaceMatches:l,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),u(false),d(null),s(null),m(null),i(null),a(false),g(qo),l(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,u,d,s,m,i,a,g,l,S])}}var yb=createContext(null);function qs({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((i,a)=>{t.showError(i,a);},[t]),n=useCallback((i,a)=>{t.showWarning(i,a);},[t]),u=useCallback((i,a)=>{t.showInfo(i,a);},[t]),d=useCallback(i=>{t.dismiss(i);},[t]),s=useCallback(()=>{t.clearAll();},[t]),m=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:u,dismissNotification:d,clearNotifications:s}),[o.notifications,r,n,u,d,s]);return jsxs(yb.Provider,{value:m,children:[e,jsx(vb,{notifications:o.notifications,onDismiss:d})]})}function vb({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(Cb,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function Cb({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),d=(f=>{switch(f){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),s={background:d.bg,border:`1px solid ${d.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},m={display:"flex",alignItems:"flex-start",gap:"8px"},i={color:d.icon,flexShrink:0},a={flex:1,minWidth:0},g={color:d.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},l={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:d.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:d.text},c=f=>{switch(f){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:s,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),s?.();},[o,s]),b=useCallback(async()=>{let v=await c();if(!v)return;let y=new Blob([v],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),x=URL.createObjectURL(y),P=window.document.createElement("a");P.href=x,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(x),0);},[c,n]),C=useCallback(()=>{S.current?.click();},[]),h=useCallback(async v=>{try{let y=await readDocxFileFromInput(v.nativeEvent);if(!y)return;await i(y.buffer),f?.(y.name);}catch(y){d?.(y instanceof Error?y:new Error("Failed to open document"));}},[i,f,d]),p=useCallback(()=>{l.current?.click();},[]),R=useCallback(v=>{let y=v.target.files?.[0];if(!y)return;let x=a();if(!x)return;let P=new FileReader;P.onload=()=>{let k=P.result,T=new Image;T.onload=()=>{let I=T.naturalWidth,w=T.naturalHeight,D=612;if(I>D){let U=D/I;I=D,w=Math.round(w*U);}let H=`rId_img_${Date.now()}`,O=x.state.schema.nodes.image.create({src:k,alt:y.name,width:I,height:w,rId:H,wrapType:"inline",displayMode:"inline"});insertImageNode(x.state,x.dispatch,O,x.state.selection.from),g();},T.src=k;},P.readAsDataURL(y),v.target.value="";},[a,g]);return {imageInputRef:l,docxInputRef:S,handleSave:c,handleDirectPrint:m,handleDownloadDocument:b,handleOpenDocument:C,handleDocxFileChange:h,handleInsertImageClick:p,handleImageFileChange:R}}function pi({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,u]=useState(false),d=useCallback(()=>u(true),[]),s=useCallback(C=>h=>{if(!e||t)return;let p={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[C]:h}}}};o(p);},[e,t,o]),f=useMemo(()=>s("marginLeft"),[s]),i=useMemo(()=>s("marginRight"),[s]),a=useMemo(()=>s("marginTop"),[s]),g=useMemo(()=>s("marginBottom"),[s]),l=useCallback(C=>{if(!e||t)return;let h={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...C}}}};o(h);},[e,t,o]),S=useCallback(C=>{let h=r();h&&setIndentLeft(C)(h.state,h.dispatch);},[r]),c=useCallback(C=>{let h=r();h&&setIndentRight(C)(h.state,h.dispatch);},[r]),m=useCallback(C=>{let h=r();h&&(C<0?setIndentFirstLine(-C,true)(h.state,h.dispatch):setIndentFirstLine(C,false)(h.state,h.dispatch));},[r]),b=useCallback(C=>{let h=r();h&&removeTabStop(C)(h.state,h.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:u,handleOpenPageSetup:d,handleLeftMarginChange:f,handleRightMarginChange:i,handleTopMarginChange:a,handleBottomMarginChange:g,handlePageSetupApply:l,handleIndentLeftChange:S,handleIndentRightChange:c,handleFirstLineIndentChange:m,handleTabStopRemove:b}}function fi({readOnly:e,getBodyEditorView:t}){let[o,r]=useState(false),n=useCallback(()=>r(true),[]),u=t(),d=u?getWatermarkFromState(u.state)??void 0:void 0,s=useCallback(f=>{if(e)return;let i=t();i&&setWatermark(f)(i.state,i.dispatch);},[e,t]);return {showWatermark:o,setShowWatermark:r,handleOpenWatermark:n,currentWatermark:d,handleWatermarkApply:s}}function hi({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),u=useCallback(c=>{let m=t();if(!m)return;let b=c.url||"",C=c.tooltip,{empty:h}=m.state.selection;h&&c.displayText?insertHyperlink(c.displayText,b,C)(m.state,m.dispatch):h?c.displayText&&insertHyperlink(c.displayText,b,C)(m.state,m.dispatch):setHyperlink(b,C)(m.state,m.dispatch),e.close(),o();},[e,t,o]),d=useCallback(()=>{let c=t();c&&(removeHyperlink(c.state,c.dispatch),o());},[t,o]),s=useCallback(()=>{d(),e.close();},[e,d]),f=useCallback(c=>n(c),[]),i=useCallback(c=>{window.open(c,"_blank","noopener,noreferrer");},[]),a=useCallback(c=>{navigator.clipboard.writeText(c).catch(()=>{let m=document.createElement("textarea");m.value=c,m.style.position="fixed",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),document.body.removeChild(m);});},[]),g=useCallback((c,m)=>{let b=t();if(!b)return;let C=findHyperlinkRangeAt(b.state);if(C){let h=b.state.schema.marks.hyperlink,{$from:p}=b.state.selection,R=h.create({href:m,tooltip:C.mark.attrs.tooltip}),v=b.state.schema.text(c,[...p.marks().filter(x=>x.type!==h),R]),y=b.state.tr.replaceWith(C.start,C.end,v);b.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),l=useCallback(()=>{let c=t();if(!c)return;let m=findHyperlinkRangeAt(c.state,r?.href);if(!m)return;let b=c.state.schema.marks.hyperlink;c.dispatch(c.state.tr.removeMark(m.start,m.end,b).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:u,handleHyperlinkRemove:s,handleHyperlinkClick:f,handleHyperlinkPopupNavigate:i,handleHyperlinkPopupCopy:a,handleHyperlinkPopupEdit:g,handleHyperlinkPopupRemove:l,handleHyperlinkPopupClose:S}}function yi(e,t,o){let r=0;for(let n of e){let u=r+n.text.length;if(o==="start"&&t>=r&&t<u||o==="end"&&t>r&&t<=u)return n.pmStart+t-r;r=u;}return null}function vi(e,t,o){let r=[],n=0;return e.state.doc.descendants((u,d)=>{if(!u.isTextblock)return true;let s=[],f="";if(u.descendants((a,g)=>(!a.isText||!a.text||(s.push({text:a.text,pmStart:d+1+g}),f+=a.text),true)),!f)return n+=1,false;let i=(0, a$3.findAllMatches)(f,t,o);for(let a of i){let g=yi(s,a.start,"start"),l=yi(s,a.end,"end");g==null||l==null||g>=l||r.push({paragraphIndex:n,contentIndex:0,startOffset:a.start,endOffset:a.end,text:f.slice(a.start,a.end),pmFrom:g,pmTo:l});}return n+=1,false}),r}function Ci({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((a,g)=>{let l=r();if(!l||!a)return null;try{let c=TextSelection.create(l.state.doc,a.pmFrom,a.pmTo);l.dispatch(l.state.tr.setSelection(c)),e.current?.scrollToPosition(a.pmFrom);}catch(c){return console.error("Find navigation failed:",c),null}let S=o.current;return S&&(S.currentIndex=g),t.goToMatch(g),a},[t,r,e]),u=useCallback((a,g)=>{let l=r();if(!l||!a.trim())return o.current=null,t.setMatches([],0),null;let S=vi(l,a,g),c={matches:S,totalCount:S.length,currentIndex:0};return o.current=c,t.setMatches(S,0),S.length>0&&n(S[0],0),c},[t,r,n]),d=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=(a.currentIndex+1)%a.matches.length;return n(a.matches[g],g)},[n]),s=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=a.currentIndex===0?a.matches.length-1:a.currentIndex-1;return n(a.matches[g],g)},[n]),f=useCallback(a=>{let g=r(),l=o.current;if(!g||!l||l.matches.length===0)return false;let S=l.matches[l.currentIndex];if(!S)return false;try{let c=a?g.state.tr.replaceWith(S.pmFrom,S.pmTo,g.state.schema.text(a)):g.state.tr.delete(S.pmFrom,S.pmTo);return g.dispatch(c),!0}catch(c){return console.error("Replace failed:",c),false}},[r]),i=useCallback((a,g,l)=>{let S=r();if(!S||!a.trim())return 0;let c=vi(S,a,l);if(c.length===0)return 0;let m=[...c].sort((C,h)=>h.pmFrom-C.pmFrom),b=S.state.tr;for(let C of m)try{b=g?b.replaceWith(C.pmFrom,C.pmTo,S.state.schema.text(g)):b.delete(C.pmFrom,C.pmTo);}catch(h){console.error("Replace failed for match:",C,h);}return S.dispatch(b),o.current=null,t.setMatches([],0),c.length},[t,r]);return {findResultRef:o,handleFind:u,handleFindNext:d,handleFindPrevious:s,handleReplace:f,handleReplaceAll:i}}function xi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:u,getCachedStyleResolver:d}){let s=useCallback(g$1=>{let l=e();if(!l)return;l.focus();let S=l===o.current?.getView(),{from:c,to:m}=l.state.selection,b=r.current;if(S&&b&&(c!==b.from||m!==b.to))try{let C=l.state.tr.setSelection(TextSelection.create(l.state.doc,b.from,b.to));l.dispatch(C);}catch(C){console.warn("Could not restore selection:",C);}if(g$1==="bold")return void toggleBold(l.state,l.dispatch);if(g$1==="italic")return void toggleItalic(l.state,l.dispatch);if(g$1==="underline")return void toggleUnderline(l.state,l.dispatch);if(g$1==="strikethrough")return void toggleStrike(l.state,l.dispatch);if(g$1==="superscript")return void toggleSuperscript(l.state,l.dispatch);if(g$1==="subscript")return void toggleSubscript(l.state,l.dispatch);if(g$1==="bulletList")return void toggleBulletList(l.state,l.dispatch);if(g$1==="numberedList")return void toggleNumberedList(l.state,l.dispatch);if(g$1==="indent"){increaseListLevel(l.state,l.dispatch)||increaseIndent()(l.state,l.dispatch);return}if(g$1==="outdent"){decreaseListLevel(l.state,l.dispatch)||decreaseIndent()(l.state,l.dispatch);return}if(g$1==="clearFormatting")return void clearFormatting(l.state,l.dispatch);if(g$1==="setRtl")return void setRtl(l.state,l.dispatch);if(g$1==="setLtr")return void setLtr(l.state,l.dispatch);if(g$1==="insertLink"){let C=getSelectedText(l.state),h=getHyperlinkAttrs(l.state);h?n.openEdit({url:h.href,displayText:C,tooltip:h.tooltip}):n.openInsert(C);return}if(typeof g$1=="object")switch(g$1.type){case "alignment":setAlignment(g$1.value)(l.state,l.dispatch);break;case "textColor":{let C=g$1.value;typeof C=="string"?setTextColor({rgb:C.replace("#","")})(l.state,l.dispatch):C.auto?clearTextColor(l.state,l.dispatch):setTextColor(C)(l.state,l.dispatch);break}case "highlightColor":{let C=g$1.value?g(g$1.value):"";setHighlight(C||g$1.value)(l.state,l.dispatch);break}case "fontSize":setFontSize(d$1(g$1.value))(l.state,l.dispatch);break;case "fontFamily":setFontFamily(g$1.value)(l.state,l.dispatch);break;case "lineSpacing":setLineSpacing(g$1.value)(l.state,l.dispatch);break;case "applyStyle":{let C=u.current,h=C?.package.styles?d(C.package.styles):null;if(h){let p=h.resolveParagraphStyle(g$1.value);applyStyle(g$1.value,{paragraphFormatting:p.paragraphFormatting,runFormatting:p.runFormatting})(l.state,l.dispatch);}else applyStyle(g$1.value)(l.state,l.dispatch);break}}},[e,o,r,n,u,d]),f=useCallback((g,l)=>{let S=e();S&&(insertTable(g,l)(S.state,S.dispatch),t());},[e,t]),i=useCallback(()=>{let g=e();g&&(insertPageBreak(g.state,g.dispatch),t());},[e,t]),a=useCallback(()=>{let g=e();g&&(generateTOC(g.state,g.dispatch),t());},[e,t]);return {handleFormat:s,handleInsertTable:f,handleInsertPageBreak:i,handleInsertTOC:a}}function Pi({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:u}){let[d,s]=useState(false),[f,i]=useState(false),[a,g]=useState(false),l=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=toolbarValueToLayoutTarget(h);if(!y)return;let x;if(v.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${R}"]`),k=P?captureInlinePositionEmu(P,o):void 0;k&&(x={initialPositionEmu:k});}setImageWrapType(R,y,x)(p.state,p.dispatch),n();},[r,n,t,o]),S=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=v.attrs.transform||"",x=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=x?parseFloat(x[1]):0,k=/scaleX\(-1\)/.test(y),T=/scaleY\(-1\)/.test(y);switch(h){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":k=!k;break;case "flipV":T=!T;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),k&&I.push("scaleX(-1)"),T&&I.push("scaleY(-1)");let w=I.length>0?I.join(" "):null,D=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,transform:w});p.dispatch(D.scrollIntoView()),n();},[r,n,t]),c=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,position:{horizontal:h.horizontal,vertical:h.vertical},distTop:h.distTop??v.attrs.distTop,distBottom:h.distBottom??v.attrs.distBottom,distLeft:h.distLeft??v.attrs.distLeft,distRight:h.distRight??v.attrs.distRight});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),m=useCallback(()=>{i(true);},[]),b=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,alt:h.alt??null,borderWidth:h.borderWidth??null,borderColor:h.borderColor??null,borderStyle:h.borderStyle??null,width:h.width??null,height:h.height??null});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),C=useCallback((h,p)=>{if(!e?.package)return;let R={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:h,endnotePr:p}};u({...e,package:{...e.package,document:R}});},[e,u]);return {imagePositionOpen:d,setImagePositionOpen:s,imagePropsOpen:f,setImagePropsOpen:i,footnotePropsOpen:a,setFootnotePropsOpen:g,handleImageWrapType:l,handleImageTransform:S,handleApplyImagePosition:c,handleOpenImageProperties:m,handleApplyImageProperties:b,handleApplyFootnoteProperties:C}}var Yo=new Map;function Ti({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:u,handleDirectPrint:d,zoom:s,setZoom:f,scrollPageInfo:i,loadParsedDocument:a,loadBuffer:g,comments:l,setComments:S,setShowCommentsSidebar:c,contentChangeSubscribersRef:m,selectionChangeSubscribersRef:b,getCachedStyleResolver:C,commentIdAllocator:h}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:u,setZoom:f,getZoom:()=>s,focus:()=>{n.current?.focus();},getCurrentPage:()=>i.currentPage,getTotalPages:()=>i.totalPages,scrollToPage:p=>{n.current?.scrollToPage(p);},scrollToPosition:p=>{n.current?.scrollToPosition(p);},openPrintPreview:d,print:d,loadDocument:a,loadDocumentBuffer:g,addComment:p=>{let R=n.current?.getView();if(!R)return null;let v=addCommentToRange(R,p,h);return v?(S(y=>[...y,v]),c(true),v.id):null},replyToComment:(p,R,v)=>{if(!l.some(x=>x.id===p))return null;let y=createComment(h,R,v,p);return S(x=>[...x,y]),y.id},resolveComment:p=>{S(R=>R.map(v=>v.id===p?{...v,done:true}:v));},proposeChange:p=>{let R=n.current?.getView();if(!R)return false;let v=applyProposedChange(R,p,h);return v&&c(true),v},applyFormatting:p=>{let R=n.current?.getView();return R?applyFormatting(R,p):false},setParagraphStyle:p=>{let R=n.current?.getView();if(!R)return false;let v=r.current,y=v?.package?.styles?C(v.package.styles):null;return setParagraphStyle(R,p,{styleResolver:y})},getPageContent:p=>getPageContent(n.current?.getView()??null,n.current?.getLayout()??null,p),scrollToParaId:p=>n.current?.scrollToParaId(p)??false,findInDocument:(p,R)=>findInDocument(n.current?.getView()??null,p,R),getSelectionInfo:()=>getSelectionInfo(n.current?.getView()??null),getComments:()=>l,getContentControls:p=>{let R=n.current?.getView();return R?findContentControlsInPM(R.state.doc,p??{}):[]},scrollToContentControl:p=>{let R=n.current?.getView();if(!R)return false;let v=findContentControlPos(R.state.doc,p);return v==null?false:(n.current?.scrollToPosition(v),true)},setContentControlContent:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlContentTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},removeContentControl:(p,R)=>{let v=n.current?.getView();if(!v)return false;try{return v.dispatch(removeContentControlTr(v.state,p,R)),!0}catch(y){if(y instanceof ContentControlNotFoundError)return false;throw y}},setContentControlValue:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlValueTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},onContentChange:p=>(m.current.add(p),()=>{m.current.delete(p);}),onSelectionChange:p=>(b.current.add(p),()=>{b.current.delete(p);})}),[o,s,i,u,d,a,g,l]);}var $=e=>({style:"single",size:4,color:{rgb:e}}),_u=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:$("000000"),bottom:$("000000"),left:$("000000"),right:$("000000"),insideH:$("000000"),insideV:$("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:$("BFBFBF"),bottom:$("BFBFBF"),left:$("BFBFBF"),right:$("BFBFBF"),insideH:$("BFBFBF"),insideV:$("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:$("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:$("BFBFBF"),bottom:$("BFBFBF"),insideH:$("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:$("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:$("B4C6E7"),bottom:$("B4C6E7"),left:$("B4C6E7"),right:$("B4C6E7"),insideH:$("B4C6E7"),insideV:$("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:$("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:$("4472C4"),bottom:$("4472C4"),left:$("4472C4"),right:$("4472C4"),insideH:$("4472C4"),insideV:$("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:$("FFFFFF"),bottom:$("FFFFFF"),left:$("FFFFFF"),right:$("FFFFFF"),insideH:$("FFFFFF"),insideV:$("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:$("ED7D31"),bottom:$("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:$("A5A5A5"),bottom:$("A5A5A5"),insideH:$("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:$("5B9BD5"),bottom:$("5B9BD5"),left:$("5B9BD5"),right:$("5B9BD5"),insideH:$("5B9BD5"),insideV:$("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:$("70AD47"),bottom:$("70AD47"),left:$("70AD47"),right:$("70AD47"),insideH:$("70AD47"),insideV:$("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function Ei(e){return _u.find(t=>t.id===e)}function ki({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:u}){let[d,s]=useState(false),[f,i]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),a=useCallback(()=>{let c=e(),m=c?getSplitCellDialogConfig(c.state):null,b=m?null:o.getSplitCellConfig(),C=m??b;C&&i({isOpen:true,...C,source:m?"pm":"legacy",capturedCellRow:m?.capturedCellRow??null,capturedCellCol:m?.capturedCellCol??null});},[e,o]),g=useCallback(c=>{let m=e();if(!m){c==="splitCell"?a():typeof c!="object"&&o.handleAction(c);return}switch(c){case "addRowAbove":addRowAbove(m.state,m.dispatch);break;case "addRowBelow":addRowBelow(m.state,m.dispatch);break;case "addColumnLeft":addColumnLeft(m.state,m.dispatch);break;case "addColumnRight":addColumnRight(m.state,m.dispatch);break;case "deleteRow":deleteRow(m.state,m.dispatch);break;case "deleteColumn":deleteColumn(m.state,m.dispatch);break;case "deleteTable":deleteTable(m.state,m.dispatch);break;case "selectTable":selectTable(m.state,m.dispatch);break;case "selectRow":selectRow(m.state,m.dispatch);break;case "selectColumn":selectColumn(m.state,m.dispatch);break;case "mergeCells":mergeCells(m.state,m.dispatch);break;case "splitCell":a();break;case "borderAll":setAllTableBorders(m.state,m.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(m.state,m.dispatch,r.current);break;case "borderInside":setInsideTableBorders(m.state,m.dispatch,r.current);break;case "borderNone":removeTableBorders(m.state,m.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(m.state,m.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(m.state,m.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(m.state,m.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(m.state,m.dispatch);break;default:if(typeof c=="object"){if(c.type==="cellFillColor")setCellFillColor(c.color)(m.state,m.dispatch);else if(c.type==="borderColor"){let b=c.color.replace(/^#/,"");r.current={...r.current,color:{rgb:b}},setTableBorderColor(c.color)(m.state,m.dispatch);}else if(c.type==="borderWidth")r.current={...r.current,size:c.size},setTableBorderWidth(c.size)(m.state,m.dispatch);else if(c.type==="cellBorder")setCellBorder(c.side,{style:c.style,size:c.size,color:{rgb:c.color.replace(/^#/,"")}})(m.state,m.dispatch);else if(c.type==="cellVerticalAlign")setCellVerticalAlign(c.align)(m.state,m.dispatch);else if(c.type==="cellMargins")setCellMargins(c.margins)(m.state,m.dispatch);else if(c.type==="cellTextDirection")setCellTextDirection(c.direction)(m.state,m.dispatch);else if(c.type==="toggleNoWrap")toggleNoWrap()(m.state,m.dispatch);else if(c.type==="rowHeight")setRowHeight(c.height,c.rule)(m.state,m.dispatch);else if(c.type==="toggleHeaderRow")toggleHeaderRow()(m.state,m.dispatch);else if(c.type==="distributeColumns")distributeColumns()(m.state,m.dispatch);else if(c.type==="autoFitContents")autoFitContents()(m.state,m.dispatch);else if(c.type==="openTableProperties")s(true);else if(c.type==="applyTableStyle"){let b=Ei(c.styleId),C=n.current;if(!b&&C?.package.styles){let p=u(C.package.styles).getStyle(c.styleId);if(p){if(b={id:p.styleId,name:p.name??p.styleId},p.tblPr?.borders){let R=p.tblPr.borders;b.tableBorders={};for(let v of ["top","bottom","left","right","insideH","insideV"]){let y=R[v];y&&(b.tableBorders[v]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(p.tblStylePr){b.conditionals={};for(let R of p.tblStylePr){let v={};if(R.tcPr?.shading?.fill&&(v.backgroundColor=`#${R.tcPr.shading.fill}`),R.tcPr?.borders){let y={};for(let x of ["top","bottom","left","right"]){let P=R.tcPr.borders[x];P&&(y[x]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}v.borders=y;}R.rPr?.bold&&(v.bold=true),R.rPr?.color?.rgb&&(v.color=`#${R.rPr.color.rgb}`),b.conditionals[R.type]=v;}}b.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}b&&applyTableStyle({styleId:b.id,tableBorders:b.tableBorders,conditionals:b.conditionals,look:b.look})(m.state,m.dispatch);}}else o.handleAction(c);}t();},[o,e,t,a,r,n,u]),l=useCallback(()=>{i(c=>({...c,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((c,m)=>{if(f.source==="legacy"){o.applySplitCell(c,m),t();return}let b=e();b&&(splitActiveTableCell(b.state,b.dispatch,c,m,f.capturedCellRow??void 0,f.capturedCellCol??void 0),t());},[t,e,f.source,f.capturedCellRow,f.capturedCellCol,o]);return {tablePropsOpen:d,setTablePropsOpen:s,splitCellDialogState:f,openSplitCellDialog:a,handleTableAction:g,handleSplitCellDialogClose:l,handleSplitCellDialogApply:S}}function Mi({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:u,hfEditPosition:d,setHfEditPosition:s,hfEditIsFirstPage:f,setHfEditIsFirstPage:i}){let{headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S}=useMemo(()=>{let{header:p,footer:R,firstHeader:v,firstFooter:y}=resolveHeaderFooter(e??null,u??n);return {headerContent:p,footerContent:R,firstPageHeaderContent:v,firstPageFooterContent:y}},[e,n,u]),c=useCallback((p,R)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(R??1)===1,x=y?p==="header"?l:S:p==="header"?a:g;if(i(y),x){s(p);return}if(!e?.package)return;let P=e.package,k=P.document?.finalSectionProperties;if(!k)return;let T=y?"first":"default",I=`rId_new_${p}_${T}`,w={type:p==="header"?"header":"footer",hdrFtrType:T,content:[{type:"paragraph",content:[]}]},D=p==="header"?"headers":"footers",H=new Map(P[D]??[]);H.set(I,w);let O=p==="header"?"headerReferences":"footerReferences",U=k[O]??[],G={type:T,rId:I},W=P.relationships,K=new Set;for(let de of W?.values()??[])de.target&&K.add(de.target);let V=1;for(;K.has(`${p}${V}.xml`);)V++;let oe=p==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",re=new Map(W);re.set(I,{id:I,type:oe,target:`${p}${V}.xml`});let ae={...e,package:{...P,[D]:H,relationships:re,document:P.document?{...P.document,finalSectionProperties:{...k,[O]:[...U,G]}}:P.document}};t(ae),s(p);},[a,g,l,S,e,t,s,i]),m=useCallback(p=>{if(!d||!e?.package){s(null);return}let R=e.package,v=R.document?.finalSectionProperties,y=d==="header"?v?.headerReferences:v?.footerReferences,x=f?"first":"default",P=y?.find(I=>I.type===x)??y?.find(I=>I.type==="default")??y?.find(I=>I.type==="first")??y?.[0],k=d==="header"?"headers":"footers",T=R[k];if(P?.rId&&T){let I=T.get(P.rId),w={type:d,hdrFtrType:P.type,...I,content:p},D=new Map(T);D.set(P.rId,w);let H={...e,package:{...R,[k]:D}};t(H);}s(null);},[d,f,e,t,s]),b=useCallback(()=>{if(!d)return;let p=o.current?.getView();if(p){let R=proseDocToBlocks(p.state.doc);m(R);}else s(null);},[d,m,o,s]),C=useCallback(()=>{if(!d||!e?.package){s(null);return}let p=e.package,R=p.document?.finalSectionProperties,v=d==="header"?"headerReferences":"footerReferences",y=d==="header"?"headers":"footers",x=R?.[v],P=f?"first":"default",k=x?.find(T=>T.type===P)??x?.find(T=>T.type==="default")??x?.find(T=>T.type==="first")??x?.[0];if(k?.rId){let T=new Map(p[y]??[]);T.delete(k.rId);let I=(x??[]).filter(D=>D.rId!==k.rId),w={...e,package:{...p,[y]:T,document:p.document?{...p.document,finalSectionProperties:{...R,[v]:I}}:p.document}};t(w);}s(null);},[d,f,e,t,s]),h=useCallback(p=>{let R=r.current?.querySelector(".paged-editor__pages");if(!R)return null;let v=p==="header"?".layout-page-header":".layout-page-footer";return R.querySelector(v)},[r]);return {headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S,handleHeaderFooterDoubleClick:c,handleHeaderFooterSave:m,handleBodyClick:b,handleRemoveHeaderFooter:C,getHfTargetElement:h}}function Hi({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:u,setLoadingState:d,setComments:s,setShowCommentsSidebar:f,onError:i,resetForNewDocument:a,commentsLoadedRef:g,commentIdAllocator:l}){let S=useRef(0),c=useCallback(b=>{a(),r.reset(b),d({isLoading:false,parseError:null}),loadDocumentFonts(b).catch(C=>{console.warn("Failed to load document fonts:",C);});},[a,r,d]),m=useCallback(async b=>{let C=++S.current;a(),d({isLoading:true,parseError:null});try{let h=await parseDocx(b);if(S.current!==C)return;c(h);}catch(h){if(S.current!==C)return;let p=h instanceof Error?h.message:"Failed to parse document";d({isLoading:false,parseError:p}),i?.(h instanceof Error?h:new Error(p));}},[a,c,i,d]);return useEffect(()=>{if(!o){if(!e){t&&c(t);return}m(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(g.current)return;let b=r.state;if(!b)return;g.current=true;let C=b.package?.document?.comments;C&&C.length>0&&(s(C),f(true)),seedCommentAllocator(l,C,u.current?.getView()??null);},[r.state,u,s,f,g,l]),{loadParsedDocument:c,loadBuffer:m}}var Ep={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},uo=18,Ai=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:u,onTextAction:d,onOpenProperties:s,onClose:f})=>{let{t:i}=b(),a=useRef(null),[g,l]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),c=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(p=>isImageLayoutOptionEnabled(p,o)),[o]),m=useMemo(()=>(u??[]).filter(p=>!p.disabled),[u]),b$2=s?1:0,C=b$2+c.length+m.length;useEffect(()=>{if(!e)return;let p=v=>{a.current&&!a.current.contains(v.target)&&f();},R=setTimeout(()=>{document.addEventListener("mousedown",p);},0);return ()=>{clearTimeout(R),document.removeEventListener("mousedown",p);}},[e,f]),useEffect(()=>{if(!e)return;let p=R=>{if(R.key==="Escape"){R.preventDefault(),f();return}let v=Math.max(1,C);if(R.key==="ArrowDown")R.preventDefault(),l(y=>(y+1)%v);else if(R.key==="ArrowUp")R.preventDefault(),l(y=>(y-1+v)%v);else if(R.key==="Enter"){if(R.preventDefault(),b$2&&g===0)s?.(),f();else if(g<b$2+c.length)n(c[g-b$2].choice),f();else if(d){let y=m[g-b$2-c.length];y&&(d(y.action),f());}}};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,g,c,m,C,b$2,n,s,d,f]),useEffect(()=>{if(!e)return;let p=S?c.findIndex(R=>R.choice===S):-1;l(p>=0?b$2+p:0);},[e,S,c,b$2]);let h$1=useCallback(()=>{let R=IMAGE_LAYOUT_OPTIONS.length,v=u?.length??0,y=R*36+v*32+(v>0?9:0)+16,x=t.x,P=t.y;return typeof window<"u"&&(x+260>window.innerWidth&&(x=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),x<10&&(x=10),P<10&&(P=10)),{position:"fixed",top:P,left:x,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,u]);return e?jsxs("div",{ref:a,className:"docx-image-context-menu",style:h$1(),role:"menu","aria-label":i("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[s&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{s(),f();},onMouseEnter:()=>l(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:g===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:uo},children:jsx(b$1,{name:"settings",size:uo})}),jsx("span",{style:{flex:1},children:i("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 R=p.choice===S,v=isImageLayoutOptionEnabled(p,o),y=v?b$2+c.findIndex(k=>k.choice===p.choice):-1,x=y>=0&&y===g,P=i(`imageWrap.menuDesc.${p.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":p.choice,"data-current":R?"true":"false","data-disabled":v?"false":"true",disabled:!v,onClick:()=>{v&&(n(p.choice),f());},onMouseEnter:()=>{y>=0&&l(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:x?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:v?"pointer":"not-allowed",fontSize:"13px",color:v?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:v?1:.55},children:[jsx("span",{style:{display:"flex",color:R?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:uo},children:jsx(b$1,{name:Ep[p.iconHint],size:uo})}),jsx("span",{style:{flex:1},children:i(`imageWrap.menu.${p.i18nLabelKey}`)}),R&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":i("toolbar.imageWrap.current"),children:"\u25CF"})]},p.choice)}),u&&u.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),u.map((p,R)=>{let v=p.disabled?-1:b$2+c.length+m.findIndex(x=>x.action===p.action),y=v===g&&!p.disabled;return jsxs(Il.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":p.action,"data-disabled":p.disabled?"true":"false",disabled:p.disabled,onClick:()=>{p.disabled||!d||(d(p.action),f());},onMouseEnter:()=>{v>=0&&l(v);},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:uo},"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}-${R}`)})]})]}):null};function Oi(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,u]=useState("inline"),[d,s]=useState(null),[f,i]=useState(null),[a,g]=useState(null),l=useCallback(c=>{r({x:c.x,y:c.y}),u(c.wrapType),s(c.cssFloat??null),i(c.pos),g(c.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),i(null),g(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:d,imagePos:f,inlinePositionEmu:a,openForImage:l,closeMenu:S}}function Xo(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 u=Number(n.dataset.pmStart),d=Number(n.dataset.pmEnd);if(o>=u&&o<=d)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Bi(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function Vi({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:u,onAddComment:d}){let{t:s}=b(),[f,i]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),a=Oi(),g=useCallback(h=>{let p=h.target;if(p?.closest(".paged-editor__pages")&&!p.closest(".hf-inline-editor"))return;h.preventDefault(),h.stopPropagation();let R=e(),v=R?getTableContext(R.state):{isInTable:false},{from:y,to:x}=R?.state.selection??{from:0,to:0},P=y!==x;i({isOpen:true,position:{x:h.clientX,y:h.clientY},hasSelection:P,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e]),l=useCallback(h=>{if(h.image){a.openForImage({x:h.x,y:h.y,wrapType:h.image.wrapType,cssFloat:h.image.cssFloat,pos:h.image.pos,inlinePositionEmu:h.image.inlinePositionEmu});return}let p=e(),R=p?getTableContext(p.state):{isInTable:false};i({isOpen:true,position:h,hasSelection:h.hasSelection,cursorInTable:R.isInTable,tableContext:R.isInTable?R:null});},[e,a]),S=useCallback(h=>{let p=e();if(!p||a.imagePos===null)return;let R=a.inlinePositionEmu?{initialPositionEmu:a.inlinePositionEmu}:void 0;setImageWrapType(a.imagePos,h,R)(p.state,p.dispatch);},[e,a.imagePos,a.inlinePositionEmu]),c=useMemo(()=>[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut"))}],[s]),m=useCallback(()=>{i({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),b$1=useMemo(()=>{let h=[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:s("contextMenu.pastePlainText"),shortcut:a$1(s("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut")),dividerAfter:!f.hasSelection&&!f.cursorInTable}];return f.hasSelection&&h.push({action:"addComment",label:"Comment",dividerAfter:!f.cursorInTable}),f.cursorInTable&&h.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:u?.table?.mergeCells??en.table.mergeCells,disabled:!f.tableContext?.hasMultiCellSelection},{action:"splitCell",label:u?.table?.splitCell??en.table.splitCell,disabled:!f.tableContext?.canSplitCell,dividerAfter:true}),h.push({action:"selectAll",label:s("contextMenu.selectAll"),shortcut:a$1(s("contextMenu.selectAllShortcut"))}),h},[f.hasSelection,f.cursorInTable,f.tableContext,u,s]),C=useCallback(async h=>{let p=e();if(p)switch(t(),h){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let R=await navigator.clipboard.read(),v="",y="";for(let k of R)k.types.includes("text/html")&&(v=await(await k.getType("text/html")).text()),k.types.includes("text/plain")&&(y=await(await k.getType("text/plain")).text());let x=new DataTransfer;v&&x.items.add(v,"text/html"),y&&x.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:x,bubbles:!0,cancelable:!0});p.dom.dispatchEvent(P);}catch{try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}}break}case "pasteAsPlainText":try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}break;case "delete":{let{from:R,to:v}=p.state.selection;R!==v&&p.dispatch(p.state.tr.deleteRange(R,v));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:R,to:v}=p.state.selection;if(R===v)break;let y=Xo(r.current,n.current,R),x=p.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),P=p.state.tr.addMark(R,v,x);P.setSelection(TextSelection.create(P.doc,v)),p.dispatch(P),d({from:R,to:v,yPos:y});break}}},[e,t,o,r,n,d]);return {contextMenu:f,imageContextMenu:a,handleEditorContextMenu:g,handleContextMenu:l,handleContextMenuClose:m,handleImageWrapApply:S,imageContextMenuTextActions:c,contextMenuItems:b$1,handleContextMenuAction:C}}function $i({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,u]=useState([]),d=e!==void 0,s=d?e:n,[f,i]=useState(false),[a,g]=useState(null),[l,S]=useState(null),[c,m]=useState(null),b=useRef(null),C=useRef(s);C.current=s;let h=useRef(f);h.current=f;let p=useRef(t);p.current=t;let R=useRef(o);R.current=o;let v=useCallback(x=>{let P=typeof x=="function"?x(C.current):x;P!==C.current&&(d||(C.current=P,u(P)),R.current?.(P));},[d]),y=useCallback(()=>{if(h.current)return;let x=r.current?.getView();if(!x)return;let{doc:P,schema:k}=x.state,T=k.marks.comment;if(!T)return;let I=new Set;P.descendants(H=>{for(let O of H.marks)if(O.type===T){let U=O.attrs.commentId;U!==PENDING_COMMENT_ID&&I.add(U);}});let w=C.current,D=new Set;for(let H of w)H.parentId==null&&!I.has(H.id)&&D.add(H.id);if(D.size!==0){for(let H of w)D.has(H.id)&&p.current?.(H);v(H=>H.filter(O=>!D.has(O.id)&&!D.has(O.parentId)));}},[r,v]);return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),{comments:s,setComments:v,isAddingComment:f,setIsAddingComment:i,isAddingCommentRef:h,commentSelectionRange:a,setCommentSelectionRange:g,addCommentYPosition:l,setAddCommentYPosition:S,floatingCommentBtn:c,setFloatingCommentBtn:m,cleanOrphanedCommentsTimerRef:b,cleanOrphanedComments:y}}function Gi({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:u,trackedChangesLoadedRef:d}){useEffect(()=>{e.size!==0&&t(s=>{let f=false,i=s.map(a=>{if(a.parentId!=null)return a;let g=e.get(a.id);return g!=null?(f=true,{...a,parentId:g}):a});return f?i:s});},[e,t]),useEffect(()=>{d.current||r||!o||(d.current=true,n>0&&u(true));},[o,r,n,u,d]);}function Yi({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:u,setFloatingCommentBtn:d,applySelectionDelta:s,recomputeFloatingCommentBtn:f,onSelectionChange:i,selectionChangeSubscribersRef:a}){return {handleSelectionChange:useCallback(l=>{let S=e();if(S){let{from:k,to:T}=S.state.selection;t.current={from:k,to:T};}let c=null;if(S&&(c=getTableContext(S.state),c.isInTable||(c=null)),c?.cellBorderColor){let k=resolveColorToHex(c.cellBorderColor,r??void 0);k&&(o.current={...o.current,color:{rgb:k}});}let m=null;if(S){let k=S.state.selection,T=k.node;T?.type.name==="image"&&(m={pos:k.from,wrapType:T.attrs.wrapType??"inline",displayMode:T.attrs.displayMode??"inline",cssFloat:T.attrs.cssFloat??null,transform:T.attrs.transform??null,alt:T.attrs.alt??null,borderWidth:T.attrs.borderWidth??null,borderColor:T.attrs.borderColor??null,borderStyle:T.attrs.borderStyle??null,width:T.attrs.width??null,height:T.attrs.height??null});}if(!l){d(null),s({selectionFormatting:{},pmTableContext:c,pmImageContext:m});return}let{textFormatting:b,paragraphFormatting:C}=l,h=b.fontFamily?.ascii||b.fontFamily?.hAnsi,p=b.fontSize;if(!h||!p){let k=n.current,T=l.styleId;if(k?.package.styles&&T){let w=u(k.package.styles).resolveParagraphStyle(T);!h&&w.runFormatting?.fontFamily&&(h=w.runFormatting.fontFamily.ascii||w.runFormatting.fontFamily.hAnsi),!p&&w.runFormatting?.fontSize&&(p=w.runFormatting.fontSize);}}let R=resolveColorToHex(b.color,r??void 0),v=R?`#${R}`:void 0,y=C.numPr,x=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:h,fontSize:p,color:v,highlight:b.highlight,alignment:C.alignment,lineSpacing:C.lineSpacing,listState:x,styleId:l.styleId??void 0,indentLeft:C.indentLeft,bidi:!!C.bidi};s({selectionFormatting:P,paragraphIndentLeft:C.indentLeft??0,paragraphIndentRight:C.indentRight??0,paragraphFirstLineIndent:C.indentFirstLine??0,paragraphHangingIndent:C.hangingIndent??false,paragraphTabs:C.tabs??null,pmTableContext:c,pmImageContext:m}),f(),i?.(l);for(let k of a.current)try{k(l);}catch(T){console.error("selectionChange subscriber threw:",T);}},[e,t,o,r,n,u,d,s,f,i,a])}}function Xi({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:u,isLoading:d,zoom:s}){let f=useRef(false);f.current=u;let i=useCallback(()=>{let a=e.current?.getView();if(!a)return;if(r.current||f.current){n(null);return}let{from:g,to:l}=a.state.selection;if(g===l){n(null);return}let S=t.current,c=o.current;if(!S||!c)return;let m=Xo(S,c,g);if(m==null)return;let C=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),h=C?C.getBoundingClientRect().right-c.getBoundingClientRect().left:c.getBoundingClientRect().width/2+408;n({top:m,left:h});},[e,t,o,r,n]);return useEffect(()=>{let a=t.current;if(!a)return;let g=new ResizeObserver(()=>i());g.observe(a);let l=()=>i();return window.addEventListener("resize",l),()=>{g.disconnect(),window.removeEventListener("resize",l);}},[d,i,t]),useEffect(()=>{i();},[s,i]),{recomputeFloatingCommentBtn:i}}function Zi({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]),u=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),d=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:u,redoActiveEditor:d}}function Qi({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),u=e.current;return useEffect(()=>{if(!u)return;let d=()=>{let s=t.current?.getLayout();if(!s||s.pages.length===0)return;let f=u.scrollTop,i=s.pages.length,a=24,g=24,l=f+u.clientHeight/2,S=g,c=1;for(let m=0;m<s.pages.length;m++){let b=s.pages[m].size.h,C=S+b;if(l<C){c=m+1;break}S=C+a,c=m+2;}c=Math.min(c,i),r({currentPage:c,totalPages:i,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(m=>({...m,visible:false}));},600);};return u.addEventListener("scroll",d,{passive:true}),()=>{u.removeEventListener("scroll",d),n.current&&clearTimeout(n.current);}},[u,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function Ji({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:u,imageContextMenuTextActions:d,onOpenImageProperties:s,readOnly:f}){return jsxs(Fragment,{children:[jsx(i$1,{isOpen:e.isOpen,position:e.position,hasSelection:e.hasSelection,isEditable:!f,items:t,onAction:o,onClose:r}),jsx(Ai,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:u,textActions:d,onTextAction:o,onOpenProperties:s,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var Zp=lazy(()=>import('./FindReplaceDialog-2ZH4XD5C.mjs')),Qp=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),Jp=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),em=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),tm=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),om=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),nm=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),rm=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog}))),im=lazy(()=>import('./WatermarkDialog-6QSGGPXJ.mjs').then(e=>({default:e.WatermarkDialog})));function ea({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,hyperlinkDialog:s,onHyperlinkSubmit:f,onHyperlinkRemove:i,tablePropsOpen:a,onTablePropsClose:g,pmTableContext:l,getActiveEditorView:S,splitCellDialogState:c,onSplitCellDialogClose:m,onSplitCellDialogApply:b,imagePositionOpen:C,onImagePositionClose:h,onApplyImagePosition:p,imagePropsOpen:R,onImagePropsClose:v,onApplyImageProperties:y,pmImageContext:x,showPageSetup:P,onPageSetupClose:k,onPageSetupApply:T,showWatermark:I,onWatermarkClose:w,onWatermarkApply:D,currentWatermark:H,document:O,footnotePropsOpen:U,onFootnotePropsClose:G,onApplyFootnoteProperties:W}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(Zp,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),s.state.isOpen&&jsx(Qp,{isOpen:s.state.isOpen,onClose:s.close,onSubmit:f,onRemove:s.state.isEditing?i:void 0,initialData:s.state.initialData,selectedText:s.state.selectedText,isEditing:s.state.isEditing}),a&&jsx(Jp,{isOpen:a,onClose:g,onApply:K=>{let V=S();V&&setTableProperties(K)(V.state,V.dispatch);},currentProps:l?.table?.attrs}),c.isOpen&&jsx(em,{isOpen:c.isOpen,onClose:m,onApply:b,initialRows:c.initialRows,initialCols:c.initialCols,minRows:c.minRows,minCols:c.minCols}),C&&jsx(tm,{isOpen:C,onClose:h,onApply:p}),R&&jsx(om,{isOpen:R,onClose:v,onApply:y,currentData:x?{alt:x.alt??void 0,borderWidth:x.borderWidth??void 0,borderColor:x.borderColor??void 0,borderStyle:x.borderStyle??void 0,width:x.width??void 0,height:x.height??void 0}:void 0}),P&&jsx(rm,{isOpen:P,onClose:k,onApply:T,currentProps:O?.package.document?.finalSectionProperties}),I&&jsx(im,{isOpen:I,onClose:w,onApply:D,current:H}),U&&jsx(nm,{isOpen:U,onClose:G,onApply:W,footnotePr:O?.package.document?.finalSectionProperties?.footnotePr,endnotePr:O?.package.document?.finalSectionProperties?.endnotePr})]})}function oa({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 Qn=[{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 ra({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[u,d]=useState(false),s=useRef(null),f=useRef(null),[i,a]=useState({top:0,left:0}),g=Qn.find(l=>l.value===e);return useEffect(()=>{let l=window.matchMedia("(max-width: 1400px)");d(l.matches);let S=c=>d(c.matches);return l.addEventListener("change",S),()=>l.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!s.current)return;let l=s.current.getBoundingClientRect();a({top:l.bottom+2,left:l.right-220});},[r]),useEffect(()=>{if(!r)return;let l=c=>{!s.current?.contains(c.target)&&!f.current?.contains(c.target)&&n(false);},S=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",S);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:s,type:"button",onMouseDown:l=>l.preventDefault(),onClick:()=>n(!r),title:`${o(g.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:u?0:4,padding:u?"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:g.icon,size:18}),!u&&jsx("span",{children:o(g.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:f,onMouseDown:l=>l.preventDefault(),style:{position:"fixed",top:i.top,left:i.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:Qn.map(l=>jsxs("button",{type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>{t(l.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:l.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(l.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:o(l.descKey)})]}),l.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},l.value))})]})}function ia({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 aa({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:u,selectionFormatting:d,tableContext:s,imageContext:f,readOnly:i,editingMode:a,setEditingMode:g,setShowCommentsSidebar:l,setExpandedSidebarItem:S,showCommentsSidebar:c,agentPanel:m,renderLogo:b,documentName:C$1,onDocumentNameChange:h,documentNameEditable:p,renderTitleBarRight:R,toolbarExtra:v,fontFamilies:y,zoom:x,showZoomControl:P,onFormat:k,onUndo:T,onRedo:I,onPrint:w,onOpen:D,onSave:H,onZoomChange:O,onRefocusEditor:U,onInsertTable:G,onInsertImage:W,onInsertPageBreak:K,onInsertTOC:V,onImageWrapType:oe,onImageTransform:re,onOpenImageProperties:ae,onPageSetup:de,onWatermark:Pe,onTableAction:ve}){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:d,onFormat:k,onUndo:T,onRedo:I,canUndo:u?undoDepth(u)>0:false,canRedo:u?redoDepth(u)>0:false,disabled:i,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:w,onOpen:D,onSave:H,showZoomControl:P,zoom:x,onZoomChange:O,onRefocusEditor:U,onInsertTable:G,showTableInsert:true,onInsertImage:W,onInsertPageBreak:K,onInsertTOC:V,imageContext:f,onImageWrapType:oe,onImageTransform:re,onOpenImageProperties:ae,onPageSetup:de,onWatermark:Pe,tableContext:s,onTableAction:ve,children:[jsxs(E.TitleBar,{children:[b&&jsx(E.Logo,{children:b()}),C$1!==void 0&&jsx(E.DocumentName,{value:C$1,onChange:h,editable:p}),R&&jsx(E.TitleBarRight,{children:R()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(oa,{active:c,onClick:()=>{l(ce=>!ce),S(null);}}),jsx(C,{}),jsx(ra,{mode:a,onModeChange:ce=>{g(ce),ce==="suggesting"&&l(true);}}),m&&m.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(ia,{active:t,badge:m.toolbarBadge,onClick:()=>o(!t)})]}),v]})]})})}function sa(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),u=getCaretPositionFromDom(e,t,n);return u?{x:u.x/o,y:u.y/o,height:u.height,pageIndex:u.pageIndex}:null}function la(e,t,o,r,n){return getSelectionRectsFromDom(e,o,r,t).map(d=>({x:d.x/n,y:d.y/n,width:d.width/n,height:d.height/n,pageIndex:d.pageIndex}))}var km={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function pa(e,t,o,r=[]){let n=o?.getSchema()??schema,u=t??e?.package?.styles,d=e?toProseDoc(e,{styles:u}):createEmptyDoc(),s=createDocumentStylesPlugin(u),f=[...r,...o?.getPlugins()??[],s];return ensureParaIdsInState(EditorState.create({doc:d,schema:n,plugins:f}))}function Mm(e,t){return t?fromProseDoc(e.doc,t):null}var Dm=forwardRef(function(t,o){let{document:r,styles:n,theme:u,widthPx:d=612,readOnly:s=false,onTransaction:f,onSelectionChange:i,externalPlugins:a=[],extensionManager:g,onEditorViewReady:l,onEditorViewDestroy:S,onKeyDown:c}=t,m=useRef(null),b=useRef(null),C=useRef(r),h=useRef(false),p=useRef(null),R=useRef(false),v=useRef(f),y=useRef(i),x=useRef(l),P=useRef(S),k=useRef(c),T=useRef(s);v.current=f,y.current=i,x.current=l,P.current=S,k.current=c,T.current=s,C.current=r;let I=G=>{if(!G)return "empty";let W=G.package?.properties;return `${W?.created||""}-${W?.modified||""}-${W?.title||""}`},w=useCallback(()=>{if(!m.current||h.current)return;let W={state:pa(r,n,g,a),editable:()=>!T.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(V){if(h.current)return;b.current||(b.current=this),stripScrollFlag(V,this.state.tr);let oe=this.state.apply(V);this.updateState(oe),v.current?.(V,oe),(V.selectionSet||V.docChanged)&&y.current?.(oe);},handleKeyDown:(V,oe)=>k.current?.(V,oe)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};b.current=new EditorView(m.current,W);let K=b.current.dom;K.style.overflowAnchor="none",R.current=true,p.current=I(r),x.current?.(b.current);},[r,n,a,g,s]),D=useCallback(()=>{b.current&&!h.current&&(h.current=true,P.current?.(),b.current.destroy(),b.current=null,h.current=false);},[]);useEffect(()=>(w(),()=>D()),[]),useEffect(()=>{if(!b.current||h.current)return;let G=I(r);if(R.current&&G===p.current)return;R.current=true,p.current=G;let W=pa(r,n,g,a);b.current.updateState(W),y.current?.(W);},[r,n,g,a]),useEffect(()=>{b.current;},[s]),useImperativeHandle(o,()=>({getState(){return b.current?.state??null},getView(){return b.current??null},getDocument(){return b.current?Mm(b.current.state,C.current):null},focus(){b.current?.focus();},blur(){b.current?.hasFocus()&&b.current.dom.blur();},isFocused(){return b.current?.hasFocus()??false},dispatch(G){b.current&&!h.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:K,dispatch:V}=b.current,oe=K.doc.resolve(G),re=W!==void 0?K.doc.resolve(W):oe,ae=TextSelection.between(oe,re);V(K.tr.setSelection(ae));},setNodeSelection(G){if(!b.current)return;let{state:W,dispatch:K}=b.current;try{let V=NodeSelection.create(W.doc,G);K(W.tr.setSelection(V));}catch{this.setSelection(G);}},setCellSelection(G,W){if(!b.current)return;let{state:K,dispatch:V}=b.current;try{let oe=CellSelection.create(K.doc,G,W);V(K.tr.setSelection(oe));}catch{this.setSelection(G,W);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:m,className:"paged-editor__hidden-pm",style:{...km,width:d>0?`${d}px`:void 0}}),O=globalThis.document,U=O&&"body"in O&&O.body!=null?O.body:null;return U?createPortal(H,U):H}),ma=memo(Dm);function Gm(e,t,o,r,n){let u=headerFooterToProseDoc(e.content,{styles:t??void 0,theme:o??null,defaultTabStopTwips:r??null}),d=createDocumentStylesPlugin(t);return EditorState.create({doc:u,schema:schema,plugins:[...n.getPlugins(),d]})}function jm(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 nr=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:u},d){let s=useRef(u);s.current=u;let f=useRef(t);f.current=t;let i=useRef(null),a=useRef(null),g=useRef(new Map),l=useRef(new Map);i.current=(m,b,C)=>{let p=f.current?.package;if(!p)return;let v=(b==="header"?p.headers:p.footers)?.get(m);v&&(v.content=proseDocToBlocks(C.doc));};let S=useCallback((m,b)=>{let C=t?.package;return C?(b==="header"?C.headers:C.footers)?.get(m)??null:null},[t]),c=useMemo(()=>jm(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!a.current)return;let m=a.current,b=new Map(c.map(h=>[h.rId,h])),C=g.current;for(let[h,p]of C)b.has(h)||(p.view.destroy(),p.mountNode.remove(),l.current.get(h)?.destroy(),l.current.delete(h),C.delete(h));for(let h of c){if(C.has(h.rId))continue;let p=S(h.rId,h.kind);if(!p)continue;let R=new ExtensionManager(createStarterKit());R.buildSchema(),R.initializeRuntime(),l.current.set(h.rId,R);let v=m.ownerDocument.createElement("div");v.dataset.hfRId=h.rId,v.dataset.hfKind=h.kind,m.appendChild(v);let y=Gm(p,o,r,n,R),x=h.rId,P=h.kind,k=new EditorView(v,{state:y,dispatchTransaction(T){let I=k.state.apply(T);k.updateState(I),T.docChanged&&i.current?.(x,P,I),s.current?.(x,k,T.docChanged);}});C.set(h.rId,{rId:h.rId,kind:h.kind,view:k,mountNode:v});}},[c,S,o,r,n]),useEffect(()=>{let m=g.current,b=l.current;return ()=>{for(let{view:C,mountNode:h}of m.values())C.destroy(),h.remove();m.clear();for(let C of b.values())C.destroy();b.clear();}},[]),useImperativeHandle(d,()=>({getView(m){return g.current.get(m)?.view??null}}),[]),jsx("div",{ref:a,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));nr.displayName="HiddenHeaderFooterPMs";var Zm="#000",Qm="rgba(66, 133, 244, 0.3)",Jm=2,ef=530,tf={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},of=(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"}),nf=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),rf=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[u,d]=useState(n),s=useRef(null);return useEffect(()=>(s.current&&(window.clearInterval(s.current),s.current=null),n&&r>0?(d(true),s.current=window.setInterval(()=>{d(f=>!f);},r)):d(false),()=>{s.current&&window.clearInterval(s.current);}),[n,r]),useEffect(()=>{if(n)return d(true),s.current&&window.clearInterval(s.current),r>0&&(s.current=window.setInterval(()=>{d(f=>!f);},r)),()=>{s.current&&window.clearInterval(s.current);}},[e.x,e.y,n,r]),jsx("div",{style:of(e,t,o,u),"data-testid":"caret"})},af=({rect:e,color:t,index:o})=>jsx("div",{style:nf(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),ba=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=Zm,selectionColor:u=Qm,caretWidth:d=Jm,blinkInterval:s=ef})=>{if(r)return null;let f=e.length>0,i=t!==null&&!f;return jsxs("div",{style:tf,"data-testid":"selection-overlay",children:[f&&e.map((a,g)=>jsx(af,{rect:a,color:u,index:g},`sel-${a.pageIndex}-${a.x}-${a.y}-${g}`)),i&&t&&jsx(rf,{position:t,color:n,width:d,blinkInterval:s,isFocused:o})]})};var ir=10,ya=ir/2,bo=2,Ra="#2563eb",va={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},cf={position:"absolute",border:`${bo}px solid ${Ra}`,pointerEvents:"none",boxSizing:"border-box"},df={position:"absolute",width:`${ir}px`,height:`${ir}px`,backgroundColor:"#ffffff",border:`1.5px solid ${Ra}`,borderRadius:"50%",boxShadow:"0 1px 2.5px rgba(0, 0, 0, 0.35)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},uf={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%)"},pf={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},mf=[{pos:"nw",x:0,y:0},{pos:"ne",x:1,y:0},{pos:"se",x:1,y:1},{pos:"sw",x:0,y:1},{pos:"n",x:.5,y:0},{pos:"s",x:.5,y:1},{pos:"e",x:1,y:.5},{pos:"w",x:0,y:.5}];function Sa({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:u,onDragMove:d,onDragStart:s,onDragEnd:f,onContextMenu:i}){let[a,g]=useState(false),[l,S]=useState(false),[c,m]=useState(0),[b,C]=useState(0),[h,p]=useState(null),R=useRef(null),v=useRef(null),y=useRef(r),x=useRef(n),P=useRef(u),k=useRef(d),T=useRef(s),I=useRef(f);y.current=r,x.current=n,P.current=u,k.current=d,T.current=s,I.current=f;let w=useRef(e),D=useRef(t);w.current=e,D.current=t;let H=useCallback(()=>{if(!e||!v.current){p(null);return}let re=v.current.offsetParent;if(!re){p(null);return}let ae=re.getBoundingClientRect(),de=e.element.getBoundingClientRect();p({left:(de.left-ae.left)/t,top:(de.top-ae.top)/t,width:de.width/t,height:de.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let re=v.current?.closest('[style*="overflow"]')??v.current?.closest(".paged-editor__container");if(!re)return;let ae=()=>{R.current&&cancelAnimationFrame(R.current),R.current=requestAnimationFrame(H);};return re.addEventListener("scroll",ae,{passive:true}),window.addEventListener("resize",ae,{passive:true}),()=>{re.removeEventListener("scroll",ae),window.removeEventListener("resize",ae),R.current&&cancelAnimationFrame(R.current);}},[e,H]);let O=useCallback((re,ae)=>{if(!e||!h)return;ae.preventDefault(),ae.stopPropagation();let de=h.width,Pe=h.height,ve=ae.clientX,ge=ae.clientY,ce=Math.round(de),Se=Math.round(Pe);g(true),m(ce),C(Se),x.current?.();let M=z=>{let Q=D.current,N=(z.clientX-ve)/Q,L=(z.clientY-ge)/Q,ee=!z.shiftKey,X=calculateResizedImageDimensions(re,N,L,de,Pe,ee);ce=Math.round(X.width),Se=Math.round(X.height),m(ce),C(Se),p(J=>{if(!J)return J;let ie={...J};return re.includes("w")&&(ie.left=J.left+(J.width-X.width)),re.includes("n")&&(ie.top=J.top+(J.height-X.height)),ie.width=X.width,ie.height=X.height,ie});},A=()=>{window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),g(false);let z=w.current;z&&y.current?.(z.pmPos,ce,Se),P.current?.();};window.addEventListener("mousemove",M),window.addEventListener("mouseup",A);},[e,h]),U=useCallback(re=>{if(!e||!h)return;re.preventDefault(),re.stopPropagation();let ae=4,de=re.clientX,Pe=re.clientY,ve=false,ge=null,ce=M=>{let A=M.clientX-de,z=M.clientY-Pe;!ve&&Math.sqrt(A*A+z*z)<ae||(ve||(ve=true,S(true),T.current?.(),ge=document.createElement("div"),ge.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);",ge.style.width=`${h.width}px`,ge.style.height=`${h.height}px`,document.body.appendChild(ge)),ge&&(ge.style.left=`${M.clientX-h.width/2}px`,ge.style.top=`${M.clientY-h.height/2}px`));},Se=M=>{if(window.removeEventListener("mousemove",ce),window.removeEventListener("mouseup",Se),ge&&(ge.remove(),ge=null),S(false),ve){let A=w.current;A&&k.current?.(A.pmPos,M.clientX,M.clientY),I.current?.();}};window.addEventListener("mousemove",ce),window.addEventListener("mouseup",Se);},[e,h]);if(!!!(e&&h&&o))return jsx("div",{ref:v,style:{...va,visibility:"hidden"},className:"image-selection-overlay"});let{left:W,top:K,width:V,height:oe}=h;return jsxs("div",{ref:v,style:va,className:"image-selection-overlay",children:[jsx("div",{style:{...cf,left:W-bo,top:K-bo,width:V+bo*2,height:oe+bo*2}}),jsx("div",{style:{position:"absolute",left:W,top:K,width:V,height:oe,cursor:l?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:U,onContextMenu:i}),mf.map(({pos:re,x:ae,y:de})=>jsx(ff,{handle:re,style:{left:W+V*ae-ya,top:K+oe*de-ya},onMouseDown:O},re)),a&&jsxs("div",{style:{...uf,left:W+V/2,top:K+oe+12},children:[c," \xD7 ",b]})]})}function ff({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...df,...t,cursor:pf[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var bf={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function wa({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let u=useRef(null),d=useRef(null),[s,f]=useState(0);return useEffect(()=>n.onRender(()=>f(i=>i+1)),[n]),useEffect(()=>(d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null;let i=e(),a=t(),g=u.current;!i||!a||!g||n.isSafeToRender()&&hf(i,a,g,o);}),()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);}),[o,r,s]),jsx("div",{ref:u,className:"paged-editor__decoration-overlay",style:bf,"aria-hidden":"true"})}function hf(e,t,o,r){let n=yf(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let u=b$3(t,r),d=u.getContainerOffset(),s=document.createDocumentFragment();for(let{decoration:f,from:i,to:a}of n){if(i===a){let S=vf(f,e);if(!S)continue;let c=u.getCoordinatesForPosition(i);if(!c)continue;let m=document.createElement("div");m.style.cssText=`position:absolute;left:${c.x+d.x}px;top:${c.y+d.y}px;height:${c.height}px;`,m.appendChild(S),s.appendChild(m);continue}let g=Cf(f);if(!g)continue;let l=u.getRectsForRange(i,a);for(let S of l){let c=document.createElement("div");for(let[b,C]of Object.entries(g))b!=="nodeName"&&c.setAttribute(b,C);let m=`position:absolute;left:${S.x+d.x}px;top:${S.y+d.y}px;width:${S.width}px;height:${S.height}px;`;c.style.cssText=m+(g.style??""),s.appendChild(c);}}o.replaceChildren(s);}function yf(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(u=>{u.find().forEach(d=>{d.spec?.noOverlay||t.push({decoration:d,from:d.from,to:d.to});});});}return t}function vf(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 Cf(e){return e.type?.attrs??null}var ka=[];var Ma={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Da={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},Ha={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Fa={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function on(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),u=n.top+n.height/2,d=r.top+r.height/2,s=u-d,f=Math.max(0,t.scrollHeight-t.clientHeight),i=Math.max(0,Math.min(f,t.scrollTop+s));t.scrollTop=i;}function nn(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 Aa(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let u=r[n].dataset.pmStart;if(u==null)continue;let d=Number(u);Number.isNaN(d)||d<=t&&(o===null||d>o)&&(o=d);}return o}function rn(e,t){let o=e.pages.length;return e.pages.reduce((n,u)=>n+u.size.h,0)+Math.max(0,o-1)*t+24+24}function Oa(e,t,o,r,n){let u=new Map;if(!e?.state)return u;let{doc:d,schema:s}=e.state,f=s.marks.comment,i=s.marks.insertion,a=s.marks.deletion;if(!f&&!i&&!a)return u;let g=new Set,l=24+n,S=(c,m)=>{if(g.has(c))return;g.add(c);let b=getCaretPosition(t,o,r,m);if(b){u.set(c,b.y+l);return}for(let C=0;C<t.pages.length;C++){let h=t.pages[C];for(let p of h.fragments){let R=p.pmStart??0,v=p.pmEnd??R;if(m<R||m>v)continue;let y=p.kind==="table"?wf(o,r,p,m):0;u.set(c,p.y+y+getPageTop(t,C)+l);return}}};return d.descendants((c,m)=>{let b=c.attrs;if(b){let C=[b.trIns,b.trDel,b.pPrIns,b.pPrDel];for(let v of C){let y=v?.revisionId;typeof y=="number"&&S(`revision-${y}`,m);}let p=b.cellMarker?.info?.revisionId;typeof p=="number"&&S(`revision-${p}`,m);let R=[b.pPrChange,b.trPrChange,b.tcPrChange,b.tblPrChange];for(let v of R)if(Array.isArray(v))for(let y of v){let x=y?.info?.id;typeof x=="number"&&S(`revision-${x}`,m);}}if(c.isInline)for(let C of c.marks){let h=null;f&&C.type===f?h=`comment-${C.attrs.commentId}`:(i&&C.type===i||a&&C.type===a)&&(h=`revision-${C.attrs.revisionId}`),h&&S(h,m);}}),u}function wf(e,t,o,r){let n=e.findIndex(f=>f.id===o.blockId);if(n===-1)return 0;let u=e[n],d=t[n];if(u.kind!=="table"||d.kind!=="table")return 0;let s=0;for(let f=o.fromRow;f<o.toRow;f++){let i=u.rows[f];if(!i||i.cells.some(g=>g.blocks.some(l=>{let S=l.pmStart??0,c=l.pmEnd??S;return r>=S&&r<=c})))break;s+=d.rows[f]?.height??0;}return s}function Na(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let d=getCachedParagraphMeasure(n,t);if(d)return d}let u=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,u),u}case "table":return measureTableBlock(e,t,Na);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,u=n.margins??DEFAULT_TEXTBOX_MARGINS,d=(n.width??DEFAULT_TEXTBOX_WIDTH)-u.left-u.right,s=n.content.map(a=>measureParagraph(a,d)),f=s.reduce((a,g)=>a+g.totalHeight,0),i=n.height??f+u.top+u.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:i,innerMeasures:s}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function _a(e,t,o){return measureBlocksWithFloats(e,t,Na,o)}function Va(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,u=Aa(e,o),d=0;if(u!=null){let s=findBodyPmAnchor(e,u);if(s){let f=s.getBoundingClientRect(),i=t.getBoundingClientRect();d=f.top-i.top;}else u=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:u,domAnchorOffsetInScroller:d}}function Ua(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let u=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/u;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function sr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:u,domAnchorPmStart:d,domAnchorOffsetInScroller:s}=e;if(r==="incremental"&&u!=null){let i=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,u),i);return}if(r!=="incremental"&&d!=null){let i=findBodyPmAnchor(t,d);if(i){let a=o.getBoundingClientRect(),g=i.getBoundingClientRect().top-a.top;o.scrollTop+=s-g;return}}let f=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*f;}function $a(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),u=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-u)>.5&&(t.scrollTop=u);}function qa(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:f,firstPageFooterContent:i,getHfPmDoc:a,pageGap:g,zoom:l,resolvedCommentIds:S,pagesContainerRef:c,viewportLayoutRef:m,hiddenPMRef:b,syncCoordinator:C,getScrollContainer:h,onTotalPagesChange:p,onAnchorPositionsChange:R,onRenderedDomContextReady:v}=e,[y,x]=useState(null),[P,k]=useState([]),[T,I]=useState([]),[w,D]=useState(0),H=useCallback(()=>D(L=>L+1),[]),O=useRef(p),U=useRef(R),G=useRef(v),W=useRef(a);O.current=p,U.current=R,G.current=v,W.current=a;let K=useRef(0);useEffect(()=>{let L=y?.pages.length??0;L!==K.current&&(K.current=L,O.current?.(L));},[y]);let V=useMemo(()=>getPageSize(n),[n]),oe=useMemo(()=>getMargins(n),[n]),re=useMemo(()=>getColumns(n),[n]),{finalPageSize:ae,finalMargins:de,finalColumns:Pe}=useMemo(()=>{let L=u??n;return {finalPageSize:getPageSize(L),finalMargins:getMargins(L),finalColumns:getColumns(L)}},[u,n]),ve=V.w-oe.left-oe.right,ge=useMemo(()=>new LayoutPainter({pageGap:g,showShadow:true,pageBackground:"#fff"}),[g]),ce=useRef(null);ce.current=ge;let Se=useRef(null),M=useRef(0),A=useCallback(L=>{let ee=performance.now(),X=C.getStateSeq();C.onLayoutStart();let J=ie=>{let _=c.current,te=_?h()??findVerticalScrollParentOrRoot(_):null,Ce=performance.now()-M.current;$a(Se.current,te,Ce,ie);};J(true);try{let{blocks:ie,measures:_,layout:te,headerContentForRender:Ce,footerContentForRender:le,firstPageHeaderForRender:ke,firstPageFooterForRender:De,hasTitlePg:we,watermark:be,headerDistancePx:Ae,footerDistancePx:j,pageBorders:ne,footnotesByPage:B}=computeLayout({state:L,document:t,pageSize:V,margins:oe,columns:re,finalPageSize:ae,finalMargins:de,finalColumns:Pe,pageGap:g,contentWidth:ve,theme:r,styles:o,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:f,firstPageFooterContent:i,measureBlocks:_a,getHfPmDoc:fe=>W.current?.(fe)??null});if(k(ie),I(_),x(te),c.current&&ce.current){Se.current=null,M.current=0;let fe=c.current,Te=h()??findVerticalScrollParentOrRoot(fe),et=Te?.isConnected?Va(fe,Te,L.selection.head):null,Wt=buildBlockLookup(ie,_);ce.current.setBlockLookup(Wt);let gt=renderPages(te.pages,c.current,{pageGap:g,showShadow:!0,pageBackground:"#fff",blockLookup:Wt,headerContent:Ce,footerContent:le,firstPageHeaderContent:ke,firstPageFooterContent:De,titlePg:we,headerDistance:Ae,footerDistance:j,pageBorders:ne,theme:r,watermark:be,footnotesByPage:B,resolvedCommentIds:S}),Le=m.current;if(Le){let $e=rn(te,g);Le.style.minHeight=`${$e}px`,l!==1?Le.style.marginBottom=`${$e*(l-1)}px`:Le.style.marginBottom="";}if(Te?.isConnected&&et){let $e=Ua(gt,Te,et);Se.current=$e,$e.renderKind==="incremental"&&$e.scrollTopSnapshot!=null&&(M.current=performance.now());}if(c.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),G.current){let $e=b$3(c.current,l);G.current($e);}}else Se.current=null,M.current=0;if(U.current){let fe=Oa(b.current?.getView()??null,te,ie,_,g);U.current(fe);}J(!1);let ue=performance.now()-ee;ue>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(ue)}ms total (${ie.length} blocks, ${_.length} measures)`);}catch(ie){console.error("[PagedEditor] Layout pipeline error:",ie);}C.onLayoutComplete(X),J(false);},[ve,re,V,oe,ae,de,Pe,g,l,C,d,s,f,i,n,u,t,S,h,b,c,o,r,m]);useLayoutEffect(()=>{let L=Se.current;if(!L)return;Se.current=null,M.current=0;let ee=c.current,X=h()??(ee?findVerticalScrollParentOrRoot(ee):null);if(!ee||!X?.isConnected)return;sr(L,ee,X);let J=requestAnimationFrame(()=>{X.isConnected&&sr(L,ee,X);});return ()=>cancelAnimationFrame(J)},[y,h,c]);let z=useRef(A);z.current=A;let Q=useRef(null);Q.current||(Q.current=createLayoutScheduler(L=>z.current(L)));let N=useCallback(L=>{Q.current.schedule(L);},[]);return useEffect(()=>{let L=Q.current;return ()=>L?.cancel()},[]),{layout:y,blocks:P,measures:T,decorationSyncToken:w,notifyDecorationLayer:H,contentWidth:ve,runLayoutPipeline:A,scheduleLayout:N}}function Qa(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:u,pagesContainerRef:d,hiddenPMRef:s,syncCoordinator:f,isImageInteractingRef:i,onSelectionChangeRef:a}=e,[g,l]=useState([]),[S,c]=useState(null),[m,b]=useState(null),C=useRef(null),h=useCallback((v,y)=>{let x=v.tagName==="IMG"?v:v.querySelector("img"),P=(x??v).getBoundingClientRect();return {element:x??v,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),p=useCallback(v=>{let{from:y,to:x}=v.selection;C.current!==v&&(C.current=v,a.current?.(y,x));let P=d.current;if(P&&(applyCellSelectionHighlight(P,v),applySdtFocus(P,enclosingSdtGroupIds(v.doc,y,x))),!(!t||o.length===0))if(y===x){let k=P?sa(P,y,n):null;if(k)c(k);else {let T=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=d.current?.querySelector(".layout-page");if(T&&I){let w=T.getBoundingClientRect(),D=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,y);c(H?{...H,x:H.x+(D.left-w.left)/n,y:H.y+(D.top-w.top)/n}:null);}else c(null);}l([]);}else {let k=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(k&&d.current){let T=k.getBoundingClientRect(),I=la(d.current,T,y,x,n);if(I.length>0)l(I);else {let w=d.current.querySelector(".layout-page");if(w){let D=w.getBoundingClientRect(),H=(D.left-T.left)/n,O=(D.top-T.top)/n,G=selectionToRects(t,o,r,y,x).map(W=>({...W,x:W.x+H,y:W.y+O}));l(G);}else l([]);}}else l([]);c(null);}},[t,o,r,n,a,d]),R=useCallback(v=>{let{selection:y}=v;y instanceof NodeSelection&&y.node.type.name==="image"?(l([]),c(null)):f.isSafeToRender()&&p(v),requestAnimationFrame(()=>{let x=s.current?.getView();if(!x){b(null);return}let{selection:P}=x.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let k=P.from,T=d.current?findBodyPmAnchor(d.current,k):null;if(T){b(h(T,k));return}}i.current||b(null);});},[p,h,f,s,i,d]);return useEffect(()=>{let v=u.current;if(!v)return;let y=new ResizeObserver(()=>{let x=s.current?.getState();x&&p(x);});return y.observe(v),()=>y.disconnect()},[p,u,s]),useEffect(()=>{let v=s.current?.getState();t&&v&&p(v);},[t,p,s]),{selectionRects:g,caretPosition:S,selectedImageInfo:m,setSelectionRects:l,setCaretPosition:c,setSelectedImageInfo:b,buildImageSelectionInfo:h,updateSelectionOverlay:p,handleSelectionChange:R}}function es(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:u}=e,d=useCallback((l,S,c)=>{let m=o.current?.getView();if(!m)return;let b=commitImageResize(m,l,S,c);b!==null&&o.current?.setNodeSelection(b);},[o]),s=useCallback(()=>{n.current=true;},[n]),f=useCallback(()=>{n.current=false;},[n]),i=useCallback((l,S,c)=>{let m=o.current?.getView();if(!m)return;let b=m.state.doc.nodeAt(l);if(!(!b||b.type.name!=="image"))if(isFloatingImage(b)){let C=t.current?.querySelectorAll(".layout-page");if(!C||C.length===0)return;let h=null;for(let x of C){let P=x.getBoundingClientRect();if(c>=P.top&&c<=P.bottom){h=x.querySelector(".layout-page-content");break}}if(h||(h=C[C.length-1].querySelector(".layout-page-content")),!h)return;let p=h.getBoundingClientRect(),R=pixelsToEmu((S-p.left)/r),v=pixelsToEmu((c-p.top)/r),y=commitImageFloatMove(m,l,R,v);y!==null&&o.current?.setNodeSelection(y);}else {let C=u(S,c);if(C===null)return;let h=commitImageInlineMove(m,l,C);h!==null&&o.current?.setNodeSelection(h);}},[u,r,o,t]),a=useCallback(()=>{n.current=true;},[n]),g=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:d,handleImageResizeStart:s,handleImageResizeEnd:f,handleImageDragMove:i,handleImageDragStart:a,handleImageDragEnd:g}}function ns(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:u,getScrollContainer:d}=e,s=useRef(null);useEffect(()=>()=>{s.current?.abort(),s.current=null;},[]);let f=useCallback((g,l=false)=>{if(!Number.isInteger(g)||g<0)return;let S=n.current;if(!S)return;s.current?.abort();let c=new AbortController;s.current=c;let{signal:m}=c,b=()=>{let T=findBodyPmAnchor(S,g);if(T)return T;for(let I of findBodyPmSpans(S)){let w=Number(I.dataset.pmStart),D=Number(I.dataset.pmEnd);if(Number.isFinite(w)&&Number.isFinite(D)&&g>=w&&g<=D)return I}return null};if(!l){let T={block:"center",inline:"nearest",behavior:"smooth"},I=b();if(I){I.scrollIntoView(T);return}let w=t,D=o,H=r;if(!w||D.length===0||H.length!==D.length)return;let O=null,U=getCaretPosition(w,D,H,g);if(U?O=U.pageIndex:O=findPageIndexContainingPmPos(w,g),O==null)return;let W=S.querySelectorAll(".layout-page")[O];if(!W)return;W.scrollIntoView(T),nn(()=>{if(!S.isConnected)return;let K=b();K&&K.scrollIntoView(T);},m);return}let C=d()??findVerticalScrollParentOrRoot(S),h=()=>{let T=b();return T?(on(T,C),true):false};if(h())return;let p=t,R=o,v=r;if(!p||R.length===0||v.length!==R.length)return;let y=null,x=getCaretPosition(p,R,v,g);if(x?y=x.pageIndex:y=findPageIndexContainingPmPos(p,g),y==null)return;let k=S.querySelectorAll(".layout-page")[y];k&&(on(k,C),nn(()=>{if(!S.isConnected)return;let T=b();T?on(T,C):h();},m));},[t,o,r,d,n]),i=useCallback(g=>{if(!Number.isInteger(g)||g<1||!t||g>t.pages.length)return;let l=t.pages[g-1];for(let c of l.fragments)if(typeof c.pmStart=="number"){f(c.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[g-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,f,n]),a=useCallback(g=>{let l=u.current?.getState();if(!l)return false;let S=findStartPosForParaId(l.doc,g);if(S==null||S<0)return false;f(S,true);let c=s.current?.signal;if(!c)return true;let m=l.doc.nodeAt(S),b=m?.isTextblock===true?Math.min(S+1+m.content.size,l.doc.content.size):Math.min(S+1,l.doc.content.size);return nn(()=>{u.current&&(u.current.setSelection(b),u.current.focus());},c),true},[f,u]);return {scrollToPositionImpl:f,scrollToPageImpl:i,scrollToParaIdImpl:a}}function us(e){let{hiddenPMRef:t,getActiveHfView:o}=e,r=useRef(null);function n(w){return w.closest(".layout-page-header")||w.closest(".layout-page-footer")?o?.()??t.current?.getView()??null:t.current?.getView()??null}let u=useRef(false),d=useRef(0),s=useRef(0),f=useRef(0),i=useRef({left:0,right:0}),a=useRef(null),g=useRef(false),l=useRef(0),S=useRef(0),c=useRef(0),m=useRef(0),b=useRef(null),C=useRef(false),h=useRef(false),p=useRef(0),R=useRef(0),v=useRef(0),y=useRef(0),x=useRef(null),P=useCallback((w,D)=>{let H=n(w);if(!H)return false;if(w.classList.contains("layout-table-resize-handle")){D.preventDefault(),D.stopPropagation(),u.current=true,d.current=D.clientX,a.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);s.current=O,f.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readColumnWidths(H,f.current,O);return U&&(i.current=U),true}if(w.classList.contains("layout-table-row-resize-handle")||w.classList.contains("layout-table-edge-handle-bottom")){D.preventDefault(),D.stopPropagation(),g.current=true,l.current=D.clientY,b.current=w,C.current=w.dataset.isEdge==="bottom",r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.rowIndex??"0",10);S.current=O,c.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readRowHeight(H,c.current,O);if(U!=null)m.current=U;else {let W=w.closest(".layout-table")?.querySelector(`[data-row-index="${O}"]`),K=W?W.getBoundingClientRect().height:30;m.current=Math.round(K*TWIPS_PER_PIXEL);}return true}if(w.classList.contains("layout-table-edge-handle-right")){D.preventDefault(),D.stopPropagation(),h.current=true,p.current=D.clientX,x.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);R.current=O,v.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readColumnWidthAt(H,v.current,O);return U!=null&&(y.current=U),true}return false},[t,o]),k=useCallback(w=>{if(u.current){w.preventDefault();let D=w.clientX-d.current;if(a.current){let H=parseFloat(a.current.style.left);a.current.style.left=`${H+D}px`,d.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),U=i.current.left+O,G=i.current.right-O;U>=MIN_CELL_WIDTH_TWIPS&&G>=MIN_CELL_WIDTH_TWIPS&&(i.current={left:U,right:G});}return true}if(g.current){w.preventDefault();let D=w.clientY-l.current;if(b.current){let H=parseFloat(b.current.style.top);b.current.style.top=`${H+D}px`,l.current=w.clientY;let O=Math.round(D*TWIPS_PER_PIXEL),U=m.current+O;U>=MIN_ROW_HEIGHT_TWIPS&&(m.current=U);}return true}if(h.current){w.preventDefault();let D=w.clientX-p.current;if(x.current){let H=parseFloat(x.current.style.left);x.current.style.left=`${H+D}px`,p.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),U=y.current+O;U>=MIN_CELL_WIDTH_TWIPS&&(y.current=U);}return true}return false},[]),T=useCallback(()=>{let w=r.current;if(u.current){if(u.current=false,a.current&&(a.current.classList.remove("dragging"),a.current=null),w){let{left:D,right:H}=i.current;commitColumnResize(w,{pmStart:f.current,colIdx:s.current,newLeft:D,newRight:H});}return r.current=null,true}return g.current?(g.current=false,b.current&&(b.current.classList.remove("dragging"),b.current=null),w&&commitRowResize(w,{pmStart:c.current,rowIdx:S.current,newHeight:m.current}),r.current=null,true):h.current?(h.current=false,x.current&&(x.current.classList.remove("dragging"),x.current=null),w&&commitRightEdgeResize(w,{pmStart:v.current,colIdx:R.current,newWidth:y.current}),r.current=null,true):false},[]),I=useCallback(()=>u.current||g.current||h.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:k,tryCommit:T,isAnyResizeActive:I}}var pg=5;function mg(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),u=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,u)));}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 bs(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:u,measures:d,zoom:s,readOnly:f,hfEditMode:i,onBodyClick:a,onContextMenu:g,onHyperlinkClick:l,onHeaderFooterDoubleClick:S,setSelectedImageInfo:c,setSelectionRects:m,setCaretPosition:b,buildImageSelectionInfo:C,setIsFocused:h,scrollToPositionImpl:p}=e,R=useRef(false),v=useRef(null),y=us({hiddenPMRef:o,getActiveHfView:r}),x=useRef(false),P=useRef(null),k=useRef(null),T=useRef(null),[I,w]=useState(null),D=useRef(null),H=useCallback(()=>{D.current&&(clearTimeout(D.current),D.current=null);},[]);useEffect(()=>()=>{D.current&&clearTimeout(D.current);},[]);let O=useRef(()=>{}),U=useCallback((M,A)=>{O.current(M,A);},[]),{updateMousePosition:G,stopAutoScroll:W}=b$4({pagesContainerRef:t,onScrollExtendSelection:U}),K=useCallback((M,A)=>{if(!t.current||!n)return null;let z=clickToPositionDom(t.current,M,A,s);if(z!==null)return z;if(i){let Ce=window.document.elementsFromPoint(M,A).find(we=>we.closest(".layout-page-header")||we.closest(".layout-page-footer"));if(!Ce)return null;let le=Ce.closest(".layout-page-header")??Ce.closest(".layout-page-footer");if(!le)return null;let ke=Array.from(le.querySelectorAll("span[data-pm-start][data-pm-end]")),De=null;for(let we of ke){let be=we.getBoundingClientRect();if(A<be.top-4||A>be.bottom+4)continue;let Ae=Number(we.dataset.pmStart),j=Number(we.dataset.pmEnd);if(!Number.isFinite(Ae)||!Number.isFinite(j))continue;let ne,B;if(M<be.left)ne=Ae,B=be.left-M;else if(M>be.right)ne=j,B=M-be.right;else {let ue=(M-be.left)/Math.max(1,be.width);ne=Ae+Math.round(ue*(j-Ae)),B=0;}(!De||B<De.dist)&&(De={pos:ne,dist:B});}return De?.pos??null}let Q=t.current.querySelectorAll(".layout-page"),N=-1,L=null;for(let te=0;te<Q.length;te++){let le=Q[te].getBoundingClientRect();if(M>=le.left&&M<=le.right&&A>=le.top&&A<=le.bottom){N=te,L=le;break}}if(N<0||!L)return null;let ee=(M-L.left)/s,X=(A-L.top)/s,J=n.pages[N];if(!J)return null;let ie={pageIndex:N,page:J,pageY:X},_=hitTestFragment(ie,u,d,{x:ee,y:X});if(!_)return null;if(_.fragment.kind==="table"){let te=hitTestTableCell(ie,u,d,{x:ee,y:X});return clickToPosition(_,te)}return clickToPosition(_)},[n,u,d,s,i,t]),V=useCallback(()=>{if(i&&r){let M=r();if(M)return mg(M)}return o.current},[i,r,o]),oe=useCallback(M=>{let z=V()?.getView();if(!z)return null;try{let Q=z.state.doc.resolve(M);for(let N=Q.depth;N>0;N--){let L=Q.node(N);if(L.type.name==="tableCell"||L.type.name==="tableHeader")return Q.before(N)}}catch{}return null},[V]),re=useCallback(M=>{let A=V();if(!A)return;if(M.button===2){M.preventDefault();return}if(M.button!==0||(w(null),H(),M.target.closest("a[href]")&&M.preventDefault(),f))return;let Q=M.target;if(i){if(!(Q.closest(".layout-page-header")||Q.closest(".layout-page-footer")||Q.closest(".hf-inline-editor"))&&a){M.preventDefault(),M.stopPropagation(),a();return}}else if((Q.closest(".layout-page-header")||Q.closest(".layout-page-footer"))&&M.detail!==2){M.preventDefault();return}if(y.tryStartFromMouseDown(Q,M))return;let N=findImageElement(Q);if(N){M.preventDefault(),M.stopPropagation();let ee=N.dataset.pmStart;if(ee!==void 0){let X=parseInt(ee,10);A.setNodeSelection(X),c(C(N,X)),m([]),b(null);}A.focus(),i||h(true);return}c(null),M.preventDefault();let L=K(M.clientX,M.clientY);if(L!==null){let ee=oe(L);P.current=ee,x.current=false,k.current=null,T.current=null,R.current=true,v.current=L,A.setSelection(L);}else {P.current=null,x.current=false;let ee=A.getView();if(ee){let X=Math.max(0,ee.state.doc.content.size-1);A.setSelection(X),v.current=X,R.current=true;}}A.focus(),i||h(true);},[V,f,i,a,K,oe,y,H,c,m,b,C,h]);O.current=(M,A)=>{if(!R.current||v.current===null)return;let z=V();if(!z)return;let Q=K(M,A);Q!==null&&z.setSelection(v.current,Q);};let ae=useCallback(M=>{if(y.handleMouseMoveUpdate(M)||!R.current||v.current===null)return;let A=V();if(!A||!t.current)return;G(M.clientX,M.clientY);let z=K(M.clientX,M.clientY);if(z===null)return;if(P.current!==null){if(x.current){let L=oe(z);if(L!==null){A.setCellSelection(P.current,L);return}}let N=oe(z);if(N!==null&&N!==P.current){x.current=true,A.setCellSelection(P.current,N),T.current=null;return}if(k.current!==null&&z===k.current){if(T.current===null)T.current=M.clientX;else if(Math.abs(M.clientX-T.current)>=pg){x.current=true,A.setCellSelection(P.current,P.current),T.current=null;return}}else T.current=null,k.current=z;}let Q=v.current;A.setSelection(Q,z);},[V,K,oe,G,y,t]),de=useCallback(()=>{y.tryCommit()||(R.current=false,x.current=false,k.current=null,T.current=null,W());},[W,y]);useEffect(()=>(window.addEventListener("mousemove",ae),window.addEventListener("mouseup",de),()=>{window.removeEventListener("mousemove",ae),window.removeEventListener("mouseup",de);}),[ae,de]);let Pe=useCallback(M=>{if(f||R.current||x.current||y.isAnyResizeActive())return;let A=t.current;if(!A)return;let z=detectTableInsertHover({mouseX:M.clientX,mouseY:M.clientY,pagesContainer:A,target:M.target,hfEditMode:i??null});if(!z){D.current||(D.current=setTimeout(()=>{w(null),D.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let Q=A.parentElement;if(!Q)return;let N=Q.getBoundingClientRect();w({type:z.type,x:z.clientX-N.left,y:z.clientY-N.top,cellPmPos:z.cellPmPos}),H();},[f,H,i,t]),ve=useCallback(M=>{if(M.preventDefault(),M.stopPropagation(),!I)return;let A=V(),z=A?.getView();if(!A||!z)return;let{type:Q,cellPmPos:N}=I,L=z.state.tr.setSelection(TextSelection.create(z.state.doc,N+1));z.dispatch(L),Q==="row"?addRowBelow(z.state,z.dispatch):addColumnRight(z.state,z.dispatch),w(null),A.focus();},[I,V]),ge=useCallback(M=>{let A=V(),z=M.target.closest("a[href]");if(z&&A){M.preventDefault();let N=z.getAttribute("href")||"",L=A.getView();if(N.startsWith("#")){let ee=N.substring(1);if(ee&&L){let X=null;L.state.doc.descendants((J,ie)=>{if(X!==null)return false;if(J.type.name==="paragraph"&&J.attrs.bookmarks?.some(te=>te.name===ee))return X=ie,false}),X!==null&&(p(X),A.setSelection(X+1));}}else if(l&&!(L&&L.state.selection.from!==L.state.selection.to)){let X=z.textContent||"",J=z.getAttribute("title")||void 0,ie=z.closest(".ep-root.paged-editor");if(ie){let _=ie.getBoundingClientRect(),te=z.getBoundingClientRect(),Ce={top:te.bottom-_.top+4,left:te.left-_.left};l({href:N,displayText:X,tooltip:J,position:Ce});}}return}if(M.detail===2&&!i&&S){let N=M.target,L=N.closest(".layout-page-header"),ee=N.closest(".layout-page-footer");if(L||ee){let X=N.closest("[data-page-number]"),J=X?Number(X.dataset.pageNumber):1;M.preventDefault(),M.stopPropagation(),S(L?"header":"footer",J);return}}if(!A)return;let Q=A.getView();if(Q){if(M.detail===2){let N=K(M.clientX,M.clientY);if(N!==null){let L=oe(N);if(L!==null){M.preventDefault(),M.stopPropagation(),A.setCellSelection(L,L);return}let{doc:ee}=Q.state,X=ee.resolve(N),J=X.parent;if(J.isTextblock){let ie=J.textContent,_=X.parentOffset,[te,Ce]=findWordBoundaries(ie,_),le=X.start()+te,ke=X.start()+Ce;le<ke&&A.setSelection(le,ke);}}}if(M.detail===3){let N=K(M.clientX,M.clientY);if(N!==null){let L=Q.state.doc.resolve(N);A.setSelection(L.start(L.depth),L.end(L.depth));}}}},[V,i,K,S,l,oe,p]),ce=useCallback(M=>{if(!g)return;M.preventDefault();let A=V(),z=A?.getView();if(!A||!z)return;let Q=_=>{let te=z.state.doc.nodeAt(_);if(!te||te.type.name!=="image")return null;let Ce=te.attrs.wrapType??"inline",le=te.attrs.cssFloat;return {pos:_,wrapType:Ce,cssFloat:le}},N=null,L=hitTestImage(M.target);if(L&&(N=Q(L.pos),N&&(N.inlinePositionEmu=captureInlinePositionEmu(L.imageEl,s))),!N){let _=z.state.selection;if(_ instanceof NodeSelection&&_.node.type.name==="image"&&(N=Q(_.from),N)){let te=t.current?.querySelector(`.layout-run-image[data-pm-start="${_.from}"]`);te&&(N.inlinePositionEmu=captureInlinePositionEmu(te,s));}}let{from:ee,to:X}=z.state.selection,J=K(M.clientX,M.clientY);J!==null&&(ee===X||J<ee||J>X)&&(A.setSelection(J),A.focus(),i||h(true));let ie=z.state.selection.from!==z.state.selection.to;g({x:M.clientX,y:M.clientY,hasSelection:ie,image:N});},[V,i,g,K,s,t,h]),Se=useCallback(()=>w(null),[]);return {handlePagesMouseDown:re,handlePagesMouseMove:Pe,handlePagesClick:ge,handlePagesContextMenu:ce,handleTableInsertClick:ve,tableInsertButton:I,clearTableInsertTimer:H,hideTableInsertButton:Se,getPositionFromMouse:K}}function bg(e,t){let o=e?.package;if(!o)return null;let r=n=>{if(!n)return null;for(let[u,d]of n)if(d===t)return u;return null};return r(o.headers)??r(o.footers)}function hs(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:u,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:f,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:a=>t.current?.dispatch(a),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(a,g)=>t.current?.setSelection(a,g),getLayout:()=>n,relayout:()=>{let a=t.current?.getState();a&&u(a);},scrollToPosition:d,scrollToParaId:s,scrollToPage:f,getHfPmView:a=>{let g=bg(r.current,a);return g?o.current?.getView(g)??null:null}}}function ys(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a,onReadyRef:g}=e;useImperativeHandle(t,()=>hs({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a}),[u,d,s,f,i]),useEffect(()=>{g.current&&o.current&&g.current(hs({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a}));},[u,d,f,i]);}function Cs(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:u,firstPageHeaderContent:d,firstPageFooterContent:s}=e;useEffect(()=>{let i=()=>{let a=t.current?.getView();a&&(resetCanvasContext(),clearAllCaches(),o(a.state),r(a.state));};return window.document.fonts.addEventListener("loadingdone",i),()=>{window.document.fonts.removeEventListener("loadingdone",i);}},[]);let f=useRef(0);useEffect(()=>{if(f.current===0){f.current=1;return}let i=t.current?.getView();i&&o(i.state);},[n,u,d,s,o,t]);}function Rs({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:u}){let d=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:u,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:d,"aria-label":d,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 ws={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"},Rg={...ws,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Sg={...ws,padding:"12px",width:"320px"},br={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},xg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},Pg={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},wg={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},xs={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Ps={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},Tg={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},qt={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function Eg(){return jsxs("svg",{...qt,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 Ig(){return jsxs("svg",{...qt,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 kg(){return jsx("svg",{...qt,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Mg(){return jsxs("svg",{...qt,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 Dg(){return jsxs("svg",{...qt,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 Hg(){return jsxs("svg",{...qt,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 hr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:Pg,title:e,onClick:t,children:o})}function Ts({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:u,readOnly:d}){let{t:s}=b(),[f,i]=useState("view"),[a,g]=useState(""),[l,S]=useState(""),c=useRef(null),m=useRef(null);useEffect(()=>{e&&(i("view"),g(e.displayText),S(e.href));},[e]),useEffect(()=>{f==="edit"&&requestAnimationFrame(()=>{m.current?.focus(),m.current?.select();});},[f]),useEffect(()=>{if(!e)return;let y=false,x=k=>{c.current&&!c.current.contains(k.target)&&u();},P=setTimeout(()=>{y||document.addEventListener("mousedown",x);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",x);}},[e,u]),useEffect(()=>{if(!e)return;let y=x=>{x.key==="Escape"&&(f==="edit"?i("view"):u());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,f,u]);let b$1=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),C=useCallback(()=>{e&&(g(e.displayText),S(e.href),i("edit"));},[e]),h=useCallback(()=>{let y=l.trim();y&&r(a.trim()||y,y);},[a,l,r]),p=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),h());},[h]);if(!e)return null;let R=e.position.top,v=e.position.left;return f==="edit"?jsxs("div",{ref:c,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...Sg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:xs,children:[jsx("span",{style:br,children:jsx(Dg,{})}),jsx("input",{ref:m,type:"text",style:Ps,value:a,onChange:y=>g(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...xs,marginBottom:0},children:[jsx("span",{style:br,children:jsx(Hg,{})}),jsx("input",{type:"text",style:Ps,value:l,onChange:y=>S(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...Tg,opacity:l.trim()?1:.5,cursor:l.trim()?"pointer":"default"},onClick:h,disabled:!l.trim(),children:s("common.apply")})]})]}):jsxs("div",{ref:c,className:"ep-hyperlink-popup",style:{...Rg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:br,children:jsx(Eg,{})}),jsx("a",{href:e.href,style:xg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:wg}),jsx(hr,{title:s("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(Ig,{})}),!d&&jsxs(Fragment,{children:[jsx(hr,{title:s("hyperlinkPopup.editLink"),onClick:C,children:jsx(kg,{})}),jsx(hr,{title:s("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Mg,{})})]})]})}var Wg=forwardRef(function(t,o){let{document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,readOnly:l=false,pageGap:S=24,zoom:c=1,onDocumentChange:m,onSelectionChange:b,externalPlugins:C=ka,extensionManager:h,onReady:p,onRenderedDomContextReady:R,pluginOverlays:v,onHeaderFooterDoubleClick:y,hfEditMode:x,onBodyClick:P,onHfTransaction:k,className:T,style:I,commentsSidebarOpen:w=false,sidebarOverlay:D,scrollContainerRef:H,onHyperlinkClick:O,onContextMenu:U,onAnchorPositionsChange:G,onTotalPagesChange:W,resolvedCommentIds:K,hyperlinkPopupData:V,onHyperlinkPopupNavigate:oe,onHyperlinkPopupCopy:re,onHyperlinkPopupEdit:ae,onHyperlinkPopupRemove:de,onHyperlinkPopupClose:Pe}=t,ve=useCallback(()=>H&&typeof H=="object"?H.current:ge.current,[H]),ge=useRef(null),ce=useRef(null),Se=useRef(null),M=useRef(null),A=useRef(null),z=useRef(r);z.current=r;let{handlePMKeyDown:Q}=a({pagesContainerRef:ce}),N=useRef(b),L=useRef(m),ee=useRef(p),X=useRef(R);N.current=b,L.current=m,ee.current=p,X.current=R;let[J,ie]=useState(false);useEffect(()=>{if(x){let Y=M.current?.getView();if(Y){try{let he=Y.state.tr.setSelection(TextSelection.create(Y.state.doc,0));Y.dispatch(he);}catch{}Y.dom.blur?.();}ie(false);}},[x]);let _=useRef(false),te=useMemo(()=>new LayoutSelectionGate,[]),Ce=useCallback(Y=>{let he=A.current;if(!he)return null;let pe=r?.package;if(!pe)return null;let Oe=$t=>{if(!$t)return null;for(let[ht,yt]of $t)if(yt===Y)return ht;return null},Ne=Oe(pe.headers)??Oe(pe.footers);return Ne?he.getView(Ne)?.state.doc??null:null},[r]),{layout:le,blocks:ke,measures:De,decorationSyncToken:we,notifyDecorationLayer:be,contentWidth:Ae,runLayoutPipeline:j,scheduleLayout:ne}=qa({document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,getHfPmDoc:Ce,pageGap:S,zoom:c,resolvedCommentIds:K,pagesContainerRef:ce,viewportLayoutRef:Se,hiddenPMRef:M,syncCoordinator:te,getScrollContainer:ve,onTotalPagesChange:W,onAnchorPositionsChange:G,onRenderedDomContextReady:R}),{selectionRects:B,caretPosition:ue,selectedImageInfo:fe,setSelectionRects:Te,setCaretPosition:et,setSelectedImageInfo:Wt,buildImageSelectionInfo:gt,updateSelectionOverlay:Le,handleSelectionChange:$e}=Qa({layout:le,blocks:ke,measures:De,zoom:c,containerRef:ge,pagesContainerRef:ce,hiddenPMRef:M,syncCoordinator:te,isImageInteractingRef:_,onSelectionChangeRef:N}),Et=useCallback((Y,he)=>{if(be(),Y.docChanged){te.incrementStateSeq(),ne(he);let pe=M.current?.getDocument();pe&&L.current?.(pe);}te.requestRender(),Y.docChanged||Le(he);},[ne,Le,te,be]),{scrollToPositionImpl:Io,scrollToPageImpl:It,scrollToParaIdImpl:Vt}=ns({layout:le,blocks:ke,measures:De,pagesContainerRef:ce,hiddenPMRef:M,getScrollContainer:ve}),{handlePagesMouseDown:ko,handlePagesMouseMove:to,handlePagesClick:oo,handlePagesContextMenu:bt,handleTableInsertClick:In,tableInsertButton:Ut,clearTableInsertTimer:Mo,hideTableInsertButton:kn,getPositionFromMouse:Mn}=bs({pagesContainerRef:ce,hiddenPMRef:M,getHfView:useCallback(()=>{let Y=A.current;if(!Y)return null;let he=r?.package?.document?.finalSectionProperties,pe=x==="header"?he?.headerReferences:he?.footerReferences,Oe=pe?.find(Ne=>Ne.type==="default")??pe?.find(Ne=>Ne.type==="first")??null;return Oe?.rId?Y.getView(Oe.rId):null},[x,r]),layout:le,blocks:ke,measures:De,zoom:c,readOnly:l,hfEditMode:x,onBodyClick:P,onContextMenu:U,onHyperlinkClick:O,onHeaderFooterDoubleClick:y,setSelectedImageInfo:Wt,setSelectionRects:Te,setCaretPosition:et,buildImageSelectionInfo:gt,setIsFocused:ie,scrollToPositionImpl:Io}),kt=useCallback(Y=>{if(l)return;let he=Y.target;he.closest(".docx-comments-sidebar")||he.closest(".docx-unified-sidebar")||he.closest(".ep-hyperlink-popup")||he.closest("[data-hf-r-id]")||(M.current?.focus(),ie(true));},[l]),Dn=useCallback(Y=>{let he=Y.relatedTarget;he&&ge.current?.contains(he)||he?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||ie(false);},[]),{handleImageResize:Ye,handleImageResizeStart:Hn,handleImageResizeEnd:Fn,handleImageDragMove:no,handleImageDragStart:Do,handleImageDragEnd:Ho}=es({pagesContainerRef:ce,hiddenPMRef:M,zoom:c,isImageInteractingRef:_,getPositionFromMouse:Mn}),Fo=useCallback(Y=>{if(l)return;let he=Y.target;if(!he?.closest("[data-hf-r-id]")&&!he?.closest(".ep-hyperlink-popup")){if(M.current?.isFocused()||(M.current?.focus(),ie(true)),Y.key===" "&&!Y.ctrlKey&&!Y.metaKey&&!Y.nativeEvent.isComposing){Y.preventDefault();let pe=M.current?.getView();if(pe){let{from:Oe,to:Ne}=pe.state.selection;pe.someProp("handleTextInput",ht=>ht(pe,Oe,Ne," "))||pe.dispatch(pe.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(Y.key)&&!Y.metaKey&&Y.ctrlKey,Y.key==="Home"&&(Y.metaKey||Y.ctrlKey)){let pe=ve();pe&&(pe.scrollTop=0);}if(Y.key==="End"&&(Y.metaKey||Y.ctrlKey)){let pe=ve();pe&&(pe.scrollTop=pe.scrollHeight);}}},[l,ve]),Lo=useCallback(Y=>{l||Y.target.closest(".docx-comments-sidebar")||Y.target.closest(".docx-unified-sidebar")||M.current?.isFocused()||(M.current?.focus(),ie(true));},[l]),xe=useCallback(Y=>{j(Y.state),Le(Y.state),l||requestAnimationFrame(()=>{Y.focus(),ie(true);});},[j,Le,l]);Cs({hiddenPMRef:M,runLayoutPipeline:j,updateSelectionOverlay:Le,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g}),ys({ref:o,hiddenPMRef:M,hiddenHfPMsRef:A,documentRef:z,layout:le,runLayoutPipeline:j,scrollToPositionImpl:Io,scrollToParaIdImpl:Vt,scrollToPageImpl:It,setIsFocused:ie,onReadyRef:ee});let ro=useMemo(()=>le?rn(le,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[le,S]);return jsxs("div",{ref:ge,className:`ep-root paged-editor ${T??""}`,style:{...Ma,...I},tabIndex:0,onFocus:kt,onBlur:Dn,onKeyDown:Fo,onMouseDown:Lo,children:[jsx(ma,{ref:M,document:r,styles:n,widthPx:Ae,readOnly:l||!!x,onTransaction:Et,onSelectionChange:$e,externalPlugins:C,extensionManager:h,onEditorViewReady:xe,onKeyDown:Q}),jsx(nr,{ref:A,document:r,styles:n,theme:u,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(Y,he,pe)=>{if(pe){let Oe=M.current?.getState();Oe&&j(Oe);}k?.(Y,he,pe);}}),jsxs("div",{ref:Se,style:{...Da,minHeight:ro,marginBottom:c!==1?ro*(c-1):void 0,transform:(()=>{let Y=[];return w&&Y.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),c!==1&&Y.push(`scale(${c})`),Y.length>0?Y.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:ce,className:`paged-editor__pages${l?" paged-editor--readonly":""}${x?` paged-editor--hf-editing paged-editor--editing-${x}`:""}`,style:Ha,onMouseDown:ko,onMouseMove:to,onClick:oo,onContextMenu:bt,"aria-hidden":"true"}),jsx(ba,{selectionRects:x?[]:B,caretPosition:x?null:ue,isFocused:J&&!x,pageGap:S,readOnly:l}),jsx(Sa,{imageInfo:fe,zoom:c,isFocused:J,onResize:Ye,onResizeStart:Hn,onResizeEnd:Fn,onDragMove:no,onDragStart:Do,onDragEnd:Ho,onContextMenu:bt}),Ut&&jsx(Rs,{type:Ut.type,x:Ut.x,y:Ut.y,onMouseDown:In,onMouseEnter:Mo,onMouseLeave:kn}),v&&jsx("div",{className:"paged-editor__plugin-overlays",style:Fa,children:v}),jsx(wa,{getView:()=>M.current?.getView()??null,getPagesContainer:()=>ce.current,zoom:c,decorationSyncToken:we,syncCoordinator:te})]}),D&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:ro*c,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:D})}),V&&oe&&re&&ae&&de&&Pe&&jsx(Ts,{data:V,onNavigate:oe,onCopy:re,onEdit:ae,onRemove:de,onClose:Pe,readOnly:l})]})}),Ms=memo(Wg);var Fs={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"},Ls={fontWeight:500,letterSpacing:.3},qg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},Xg={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"},un={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},Os=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:u,onSave:d,onClose:s,onRemove:f},i){let a=useRef(r);a.current=r;let[g,l]=useState(false),S=useRef(null),[c,m]=useState(null);useLayoutEffect(()=>{let x=()=>{let k=u.getBoundingClientRect(),T=n.getBoundingClientRect();m({top:T.top-k.top+u.scrollTop,left:T.left-k.left+u.scrollLeft,width:T.width,height:T.height});};x();let P=u.closest('[style*="overflow"]')||u;return P.addEventListener("scroll",x),window.addEventListener("resize",x),()=>{P.removeEventListener("scroll",x),window.removeEventListener("resize",x);}},[n,u]);let b$1=useRef(false);useEffect(()=>{!r||b$1.current||(b$1.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let C=useCallback(()=>{if(!a.current)return;let x=proseDocToBlocks(a.current.state.doc);d(x);},[d]),h$1=useCallback(()=>{C(),s();},[C,s]);useEffect(()=>{function x(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),h$1());}return document.addEventListener("keydown",x,true),()=>document.removeEventListener("keydown",x,true)},[h$1]),useEffect(()=>{if(!g)return;function x(P){S.current&&!S.current.contains(P.target)&&l(false);}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[g]),useImperativeHandle(i,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let x=a.current;return x?undo(x.state,x.dispatch):false},redo:()=>{let x=a.current;return x?redo(x.state,x.dispatch):false}}));let{t:p}=b(),R=p(o==="header"?"headerFooter.header":"headerFooter.footer");if(!c)return null;let v={position:"absolute",top:c.top,left:c.left,width:c.width,height:c.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},y={...Fs,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:v,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:y,children:[jsx("span",{style:Ls,children:R}),jsx(As,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:f,onClose:h$1,viewRef:a})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:Fs,children:[jsx("span",{style:Ls,children:R}),jsx(As,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:f,onClose:h$1,viewRef:a})]})]})});function As({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:u,viewRef:d}){let{t:s}=b(),f=i=>{let a=d.current;if(!a)return;let{$from:g,from:l}=a.state.selection,S=a.state.storedMarks||g.marks(),c=schema.nodes.field.create({fieldType:i,instruction:` ${i} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),m=a.state.tr.insert(l,c.mark(S));a.dispatch(m),a.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:qg,onClick:i=>{i.stopPropagation(),o(a=>!a);},onMouseDown:i=>i.stopPropagation(),children:[s("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:Xg,onMouseDown:i=>i.stopPropagation(),children:[jsx("button",{type:"button",style:un,onClick:()=>{o(false),f("PAGE");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:un,onClick:()=>{o(false),f("NUMPAGES");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:un,onClick:()=>{o(false),n();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:un,onClick:()=>{o(false),u();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Bs=resolveItemPositions;function _s({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:u,onExpandedItemChange:d,activeItemId:s}){let{t:f}=b(),i=s??null,a=useRef(i);a.current=i;let[g,l]=useState(false),S=useRef(new Map),c=useRef(new Map),m=useRef(new Set),b$1=useRef(null),C=useRef(new Map),h=useRef(new Map),[p,R]=useState(0),v=useMemo(()=>Bs(e,t,o,n,S.current,c.current),[e,t,o,n,p]),y=v.length>0,x=useMemo(()=>{let I=new Map;for(let w of v)I.set(w.item.id,w.y);return I},[v]);useEffect(()=>{for(let I of v)m.current.add(I.item.id);},[v]);let P=useCallback(()=>{let I=false;for(let[w,D]of C.current){let H=D.offsetHeight;S.current.get(w)!==H&&(S.current.set(w,H),I=true);}I&&R(w=>w+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),w=setTimeout(()=>{P(),l(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(w);}},[e.length,P]),useEffect(()=>{let I=u?.current;if(!I)return;let w=new ResizeObserver(()=>{requestAnimationFrame(()=>R(D=>D+1));});return w.observe(I),()=>w.disconnect()},[u]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[i,P]),useEffect(()=>{if(!i)return;let I=C.current.get(i);if(!I){let H=requestAnimationFrame(()=>R(O=>O+1));return ()=>cancelAnimationFrame(H)}let w,D=new ResizeObserver(()=>{cancelAnimationFrame(w),w=requestAnimationFrame(()=>{S.current.set(i,I.offsetHeight),R(H=>H+1);});});return D.observe(I),()=>{cancelAnimationFrame(w),D.disconnect();}},[i]);let k=useCallback(I=>{let w=h.current.get(I);return w||(w=D=>{D?(C.current.set(I,D),S.current.set(I,D.offsetHeight)):(C.current.delete(I),S.current.delete(I));},h.current.set(I,w)),w},[]),T=useCallback(I=>{d?.(a.current===I?null:I);},[d]);return e.length===0?null:jsx("aside",{ref:b$1,className:"docx-unified-sidebar",role:"complementary","aria-label":f("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 w=x.get(I.id),D=i===I.id,O=!m.current.has(I.id)&&w!==void 0,U=y&&!x.has(I.id),G=y?w!==void 0?{position:"absolute",top:w,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},W=U?"none":O||I.isTemporary?"opacity 0.2s ease":g?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...G,transition:W},children:I.render({isExpanded:D,onToggleExpand:()=>T(I.id),measureRef:k(I.id)})},I.id)})})})}function Ws({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:u,onMarkerClick:d}){let{t:s}=b(),i=e.filter(a=>a.parentId==null).map(a=>{let g=u.has(a.id);if(!g&&n||g&&n)return null;let l=t.get(`comment-${a.id}`);return l==null?null:{comment:a,isResolved:g,y:l}}).filter(Boolean);return i.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:i.map(({comment:a,isResolved:g,y:l})=>jsx("button",{onClick:()=>d(a.id),title:s(g?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:l*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:g?"chat_bubble_check":"chat_bubble_outline",size:18})},a.id))})}function $s({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:u,initialSectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,hfEditPosition:l,setHfEditPosition:S,hfEditIsFirstPage:c,onHeaderFooterDoubleClick:m,onHeaderFooterSave:b,onRemoveHeaderFooter:C,onBodyClick:h,getHfTargetElement:p,zoom:R,readOnly:v,extensionManager:y,externalPlugins:x,onDocumentChange:P,onSelectionChange:k,onPagedSelectionChange:T,onReady:I,onEditorViewReady:w,onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:U,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:K,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:oe,onContextMenu:re,sidebarOpen:ae,sidebarItems:de,anchorPositions:Pe,onAnchorPositionsChange:ve,pluginRenderedDomContext:ge,pageWidthPx:ce,expandedSidebarItem:Se,setExpandedSidebarItem:M,comments:A,resolvedCommentIds:z,resolvedIdsForRender:Q,setShowCommentsSidebar:N,onTotalPagesChange:L,floatingCommentBtn:ee,isAddingComment:X,setCommentSelectionRange:J,setAddCommentYPosition:ie,setIsAddingComment:_,setFloatingCommentBtn:te}){let Ce=l?c?l==="header"?a:g:l==="header"?f:i:null,[le,ke]=useState(null),[De,we]=useState([]),be=useCallback(j=>{let B=window.document.querySelector(".paged-editor__pages")?.parentElement;if(!B)return j;let ue=B.getBoundingClientRect();return {...j,top:j.top-ue.top+B.scrollTop,left:j.left-ue.left+B.scrollLeft}},[]),Ae=useCallback(j=>{if(!l){ke(null),we([]);return}let ne=computeHfCaretRectFromView(j,l);ke(ne?be(ne):null),we(computeHfSelectionRectsFromView(j,l).map(be));let B=window.document.querySelector(".paged-editor__pages");B&&applyCellSelectionHighlight(B,j.state,{scope:l});},[l,be]);return useEffect(()=>{if(!l){ke(null),we([]),invalidateHfDomCache();return}let j=()=>{let Te=t.current?.getView();Te&&Ae(Te);},ne=window.document.querySelector(".paged-editor__pages"),B=()=>{invalidateHfDomCache(),j();};ne?.addEventListener("painter:painted",B);let ue=requestAnimationFrame(j),fe=()=>j();return window.addEventListener("resize",fe),()=>{cancelAnimationFrame(ue),ne?.removeEventListener("painter:painted",B),window.removeEventListener("resize",fe),invalidateHfDomCache();}},[l,t,Ae]),jsxs(Fragment,{children:[jsx(Ms,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,onHeaderFooterDoubleClick:m,hfEditMode:l,onBodyClick:h,onHfTransaction:(j,ne,B)=>{let ue=window.document.querySelector(".paged-editor__pages"),fe=false,Te=()=>{fe||(fe=true,invalidateHfDomCache(),Ae(ne));};ue?.addEventListener("painter:painted",Te,{once:true}),requestAnimationFrame(()=>{fe||(ue?.removeEventListener("painter:painted",Te),Te());}),k(extractSelectionState(ne.state));},zoom:R,readOnly:v,extensionManager:y,onDocumentChange:P,onSelectionChange:T,externalPlugins:x,onReady:j=>{I(j);let ne=j.getView();ne&&w?.(ne);},onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:U,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:K,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:oe,onContextMenu:re,commentsSidebarOpen:ae,onAnchorPositionsChange:ve,onTotalPagesChange:L,resolvedCommentIds:Q,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[de.length>0&&jsx(_s,{items:de,anchorPositions:Pe,renderedDomContext:ge??null,pageWidth:ce,zoom:R,editorContainerRef:o$1,onExpandedItemChange:M,activeItemId:Se}),jsx(Ws,{comments:A,anchorPositions:Pe,zoom:R,pageWidth:ce,sidebarOpen:ae,resolvedCommentIds:z,onMarkerClick:()=>N(true)})]})}),ee!=null&&!X&&!v&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:j=>{j.preventDefault(),j.stopPropagation();let ne=e.current?.getView();if(ne){let{from:B,to:ue}=ne.state.selection;if(B!==ue){J({from:B,to:ue});let fe=ne.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Te=ne.state.tr.addMark(B,ue,fe);Te.setSelection(TextSelection.create(Te.doc,ue)),ne.dispatch(Te);}}ie(ee.top),N(true),_(true),te(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:j=>{j.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",j.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:j=>{j.currentTarget.style.backgroundColor="#fff",j.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),l&&(le||De.length>0)&&(()=>{let j=window.document.querySelector(".paged-editor__pages"),ne=j?.parentElement;return !j||!ne?null:createPortal(jsxs(Fragment,{children:[le&&De.length===0&&jsxs(Fragment,{children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:le.top,left:le.left,width:2,height:le.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} }"})]}),De.map((B,ue)=>jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:B.top,left:B.left,width:B.width,height:B.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${ue}-${B.top}-${B.left}`))]}),ne)})(),l&&Ce&&(()=>{let j=p(l),ne=r.current;if(!j||!ne)return null;let B=e.current?.getHfPmView(Ce)??null;return jsx(Os,{ref:t,headerFooter:Ce,position:l,view:B,targetElement:j,parentElement:ne,onSave:b,onClose:()=>{S(null),ke(null);},onRemove:C})})()]})}function ub(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function pb(e,t){return findContentControlsInPM(e.state.doc,{tag:t})[0]}function Ks({containerRef:e,getView:t}){let[o,r]=useState(null),n=useRef(null),u=useCallback((f,i)=>{let a=t();if(a){try{a.dispatch(setContentControlValueTr(a.state,{tag:f},i)),a.focus();}catch{}r(null);}},[t]);useEffect(()=>{let f=e.current;if(!f)return;let i=c=>{let m=t(),b=c.dataset.sdtTag,C=c.dataset.sdtWidget;if(!m||!b||!C)return;let h=pb(m,b),p=c.getBoundingClientRect();C==="checkbox"?u(b,{kind:"checkbox",checked:!h?.checked}):C==="dropdown"?r({kind:"dropdown",tag:b,items:h?.listItems??[],current:h?.text??"",rect:p}):C==="date"&&r({kind:"date",tag:b,current:h?.dateValue??"",rect:p});},a=c=>{let m=t(),b=ub(c.dataset.sdtGroupId);if(!(!m||b==null))try{let C=c.dataset.sdtRepeat==="add"?addRepeatingSectionItemTr(m.state,b):removeRepeatingSectionItemTr(m.state,b);m.dispatch(C),m.focus();}catch{}},g=c=>{let m=c.target;(m?.closest?.(".layout-sdt-widget")||m?.closest?.(".layout-sdt-repeat-btn"))&&c.preventDefault();},l=c=>{let m=c.target?.closest?.(".layout-sdt-repeat-btn");if(m){c.preventDefault(),c.stopPropagation(),a(m);return}let b=c.target?.closest?.(".layout-sdt-widget");b&&(c.preventDefault(),c.stopPropagation(),i(b));},S=c=>{if(c.key!=="Enter"&&c.key!==" ")return;let m=c.target?.closest?.(".layout-sdt-widget");m&&(c.preventDefault(),i(m));};return f.addEventListener("mousedown",g),f.addEventListener("click",l),f.addEventListener("keydown",S),()=>{f.removeEventListener("mousedown",g),f.removeEventListener("click",l),f.removeEventListener("keydown",S);}},[e,t,u]),useEffect(()=>{if(!o)return;let f=a=>{n.current?.contains(a.target)||r(null);},i=a=>{a.key==="Escape"&&r(null);};return document.addEventListener("mousedown",f),document.addEventListener("keydown",i),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",i);}},[o]),useEffect(()=>{if(o?.kind!=="dropdown")return;let f=n.current?.querySelectorAll(".layout-sdt-widget-option");f?.length&&([...f].find(i=>i.getAttribute("aria-selected")==="true")??f[0]).focus();},[o]);let d=f=>{if(f.key!=="ArrowDown"&&f.key!=="ArrowUp")return;let i=[...n.current?.querySelectorAll(".layout-sdt-widget-option")??[]];if(!i.length)return;f.preventDefault();let a=i.indexOf(document.activeElement),g=f.key==="ArrowDown"?(a+1)%i.length:(a-1+i.length)%i.length;i[g].focus();};if(!o)return null;let s={position:"fixed",top:o.rect.bottom+2,left:o.rect.left,zIndex:1e3};return jsx("div",{ref:n,className:"layout-sdt-widget-popup",style:s,role:o.kind==="dropdown"?"listbox":void 0,onKeyDown:d,onMouseDown:f=>f.preventDefault(),children:o.kind==="dropdown"?o.items.length===0?jsx("div",{className:"layout-sdt-widget-empty",children:"No options"}):o.items.map(f=>{let i=f.displayText===o.current;return jsx("button",{type:"button",role:"option","aria-selected":i,className:`layout-sdt-widget-option${i?" is-selected":""}`,onClick:()=>u(o.tag,{kind:"dropdown",value:f.value}),children:f.displayText},f.value)}):jsx("input",{type:"date",className:"layout-sdt-widget-date",autoFocus:true,defaultValue:o.current,onChange:f=>{f.target.value&&u(o.tag,{kind:"date",date:f.target.value});}})})}function Gs({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:u,setCommentSelectionRange:d,setAddCommentYPosition:s,setFloatingCommentBtn:f,setHfEditPosition:i,setHfEditIsFirstPage:a,setAnchorPositions:g,clearFindReplaceMatches:l,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),u(false),d(null),s(null),f(null),i(null),a(false),g(Yo),l(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,u,d,s,f,i,a,g,l,S])}}var vb=createContext(null);function Ys({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((i,a)=>{t.showError(i,a);},[t]),n=useCallback((i,a)=>{t.showWarning(i,a);},[t]),u=useCallback((i,a)=>{t.showInfo(i,a);},[t]),d=useCallback(i=>{t.dismiss(i);},[t]),s=useCallback(()=>{t.clearAll();},[t]),f=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:u,dismissNotification:d,clearNotifications:s}),[o.notifications,r,n,u,d,s]);return jsxs(vb.Provider,{value:f,children:[e,jsx(Cb,{notifications:o.notifications,onDismiss:d})]})}function Cb({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(Rb,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function Rb({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),d=(m=>{switch(m){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),s={background:d.bg,border:`1px solid ${d.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},f={display:"flex",alignItems:"flex-start",gap:"8px"},i={color:d.icon,flexShrink:0},a={flex:1,minWidth:0},g={color:d.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},l={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:d.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:d.text},c=m=>{switch(m){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:s,children:[jsx("style",{children:`
13
13
  @keyframes slideIn {
14
14
  from {
15
15
  opacity: 0;
@@ -20,13 +20,13 @@ body { background: white; }
20
20
  transform: translateX(0);
21
21
  }
22
22
  }
23
- `}),jsxs("div",{style:m,children:[jsx("span",{style:i,children:c(e.severity)}),jsxs("div",{style:a,children:[jsx("div",{style:g,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:l,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 yn=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:u}=this.state;return o?typeof o=="function"?o(n,this.resetError):o:jsx(Rb,{error:n,errorInfo:u,showDetails:r,onReset:this.resetError})}return this.props.children}};function Rb({error:e,errorInfo:t,showDetails:o,onReset:r}){let{t:n}=b(),u={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"},d={color:"var(--doc-error)",marginBottom:"16px"},s={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},m={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},i={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:u,children:[jsx("div",{style:d,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:s,children:n("errors.somethingWentWrong")}),jsx("p",{style:m,children:n("errors.errorDescription")}),o&&jsxs("div",{style:i,children:[jsx("strong",{children:n("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
23
+ `}),jsxs("div",{style:f,children:[jsx("span",{style:i,children:c(e.severity)}),jsxs("div",{style:a,children:[jsx("div",{style:g,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:l,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 bn=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:u}=this.state;return o?typeof o=="function"?o(n,this.resetError):o:jsx(Sb,{error:n,errorInfo:u,showDetails:r,onReset:this.resetError})}return this.props.children}};function Sb({error:e,errorInfo:t,showDetails:o,onReset:r}){let{t:n}=b(),u={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"},d={color:"var(--doc-error)",marginBottom:"16px"},s={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},f={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},i={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:u,children:[jsx("div",{style:d,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:s,children:n("errors.somethingWentWrong")}),jsx("p",{style:f,children:n("errors.errorDescription")}),o&&jsxs("div",{style:i,children:[jsx("strong",{children:n("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
24
24
 
25
- `,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:a,children:n("errors.tryAgain")})]})}var wb=15840,Qs=1440,Tb=1440,Eb=567,el=20,Ib="var(--doc-text-muted)",kb="var(--doc-text-subtle)",Mb="var(--doc-primary)",Db="var(--doc-primary)",Hb="var(--doc-primary-hover)";function tl({sectionProps:e,zoom:t=1,editable:o=false,onTopMarginChange:r,onBottomMarginChange:n,unit:u="inch",className:d="",style:s}){let{t:m}=b(),[i,a]=useState(null),[g,l]=useState(null),S=useRef(null),c=e?.pageHeight??wb,f=e?.marginTop??Qs,b$1=e?.marginBottom??Qs,C=twipsToPixels(c)*t,h=twipsToPixels(f)*t,p=twipsToPixels(b$1)*t,R=useCallback((k,T)=>{o&&(k.preventDefault(),a(T));},[o]),v=useCallback(k=>{if(!i||!S.current)return;let T=S.current.getBoundingClientRect(),I=k.clientY-T.top,w=pixelsToTwips(I/t);if(i==="topMargin"){let D=c-b$1-720,H=Math.max(0,Math.min(w,D));r?.(Math.round(H));}else if(i==="bottomMargin"){let D=c-w,H=c-f-720,O=Math.max(0,Math.min(D,H));n?.(Math.round(O));}},[i,t,c,f,b$1,r,n]),y=useCallback(()=>{a(null);},[]);useEffect(()=>{if(i)return document.addEventListener("mousemove",v),document.addEventListener("mouseup",y),()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y);}},[i,v,y]);let x=Lb(c,t,u),P={position:"relative",width:el,height:formatPx(C),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:i?"ns-resize":"default",...s};return jsxs("div",{ref:S,className:`docx-vertical-ruler ${d}`,style:P,role:"slider","aria-label":m("ruler.vertical"),"aria-orientation":"vertical",children:[jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:x.map((k,T)=>jsx(Fb,{tick:k},T))}),jsx(Js,{type:"topMargin",position:h,editable:o,isDragging:i==="topMargin",isHovered:g==="topMargin",onMouseEnter:()=>l("topMargin"),onMouseLeave:()=>l(null),onMouseDown:k=>R(k,"topMargin")}),jsx(Js,{type:"bottomMargin",position:C-p,editable:o,isDragging:i==="bottomMargin",isHovered:g==="bottomMargin",onMouseEnter:()=>l("bottomMargin"),onMouseLeave:()=>l(null),onMouseDown:k=>R(k,"bottomMargin")})]})}function Fb({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:kb},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:Ib,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:u,onMouseLeave:d,onMouseDown:s}){let{t:m}=b(),i=r?Hb:n?Db:Mb,a={position:"absolute",top:formatPx(t-5),right:0,width:el,height:10,cursor:o?"ns-resize":"default",zIndex:r?10:1},g={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${i}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:a,onMouseEnter:u,onMouseLeave:d,onMouseDown:s,role:"slider","aria-label":m(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:o?0:-1,children:jsx("div",{style:g})})}function Lb(e,t,o){let r=[];if(o==="inch"){let n=Tb/8,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let s=d*n;if(s>e)break;let m=twipsToPixels(s)*t;if(d%8===0){let i=d/8;r.push({position:m,width:10,label:i>0?String(i):void 0});}else d%4===0?r.push({position:m,width:6}):d%2===0?r.push({position:m,width:4}):r.push({position:m,width:2});}}else {let n=Eb/10,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let s=d*n;if(s>e)break;let m=twipsToPixels(s)*t;if(d%10===0){let i=d/10;r.push({position:m,width:10,label:i>0?String(i):void 0});}else d%5===0?r.push({position:m,width:6}):r.push({position:m,width:3});}}return r}var Er=30,Ir=240,rl=16,zb=24,il=Er+Ir+rl,kr=48,_b=32,al=kr+_b+rl,sl=kl.memo(function({headings:t,onHeadingClick:o,onClose:r,topOffset:n=0,scrollLeft:u=0}){let{t:d}=b(),[s,m]=useState(false);return useEffect(()=>{requestAnimationFrame(()=>m(true));},[]),jsxs("nav",{className:"docx-outline-nav",role:"navigation","aria-label":d("documentOutline.ariaLabel"),style:{position:"absolute",top:n,left:Er-u,bottom:0,width:Ir,paddingTop:zb,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:s?"translateX(0)":`translateX(-${Er+Ir}px)`,transition:"transform 0.15s ease-out"},onMouseDown:i=>i.stopPropagation(),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 16px 12px"},children:[jsx("button",{onClick:r,"aria-label":d("documentOutline.closeAriaLabel"),style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:"50%",display:"flex",alignItems:"center",color:"#444746"},title:d("documentOutline.closeTitle"),children:jsx(b$1,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"#1f1f1f",letterSpacing:"0.01em"},children:d("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:d("documentOutline.noHeadings")}):t.map((i,a)=>jsx("div",{style:{marginLeft:i.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>o(i.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:i.text,children:i.text})},`${i.pmPos}-${a}`))})]})});function cl({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:kr-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 dl({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 ul({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 pl({i18n:e,onEditorError:t,containerRef:o,scrollContainerRef:r,editorContentRef:n,className:u,containerStyle:d,mainContentStyle:s,editorContainerStyle:m,showRuler:i,readOnlyProp:a,showOutline:g,showOutlineButton:l,sidebarOpen:S,minLayoutWidth:c,toolbarHeight:f,editorScrollLeft:b,expandedSidebarItem:C,trackedChanges:h$1,onScrollContainerMouseDown:p,onEditorBgMouseDown:R,onEditorContextMenu:v,horizontalRulerProps:y,verticalRulerProps:x,outlineProps:P,onToggleOutline:k,scrollPageInfo:T,agentPanel:I,agentPanelOpen:w,onAgentPanelClose:D,toolbar:H,pagedArea:O,overlays:$,dialogs:G,fileInputs:_}){return jsx(a$2,{i18n:e,children:jsx(qs,{children:jsx(yn,{onError:t,children:jsxs("div",{ref:o,className:`ep-root docx-editor ${u??""}`,style:d,"data-testid":"docx-editor",children:[jsxs("div",{style:s,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[H,jsxs("div",{ref:r,style:m,onMouseDown:p,children:[i&&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:c,transition:"padding 0.2s ease"},children:jsx(F,{...y})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:c},children:jsxs("div",{ref:n,style:{position:"relative",flex:1,minWidth:0},onMouseDown:R,onContextMenu:v,children:[i&&!a&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:h.ruler,paddingTop:48},children:jsx(tl,{...x})}),C&&C.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${C.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),C?.startsWith("tc-")&&(()=>{let V=C.split("-")[1],ee=h$1.find(ae=>String(ae.revisionId)===V)?.insertionRevisionId;return jsx("style",{children:`
26
- .paged-editor__pages .docx-insertion[data-revision-id="${ee??V}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
27
- .paged-editor__pages .docx-deletion[data-revision-id="${V}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
28
- `})})(),O]})})]}),T.totalPages>1&&jsx(dl,{currentPage:T.currentPage,totalPages:T.totalPages,visible:T.visible}),g&&jsx(sl,{...P}),l&&!g&&jsx(cl,{onClick:k,topPx:f+(i?30:0)+48,scrollLeft:b})]}),I&&jsx(ul,{agentPanel:I,closed:!w,onClose:D})]}),$,G,_]})})})})}var Jt={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},Cn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function eo(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 Rn(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 Pn({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(u=>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:eo(u.author||"U",28),children:getInitials(u.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:u.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(u.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(u.content)})]},u.id))]})}var Kb={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},Gb={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 wn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:u}=b();if(!t)return jsx("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:s=>s.stopPropagation(),onClick:s=>{s.stopPropagation(),o(true);},placeholder:u("comments.replyPlaceholder"),style:Gb})});let d=r.trim();return jsxs("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:s=>s?.focus({preventScroll:true}),type:"text",value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&(s.preventDefault(),d&&e(d),n(""),o(false)),s.key==="Escape"&&(o(false),n(""));},placeholder:u("comments.replyPlaceholder"),style:Kb}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:s=>{s.stopPropagation(),o(false),n("");},style:Cn,children:u("common.cancel")}),jsx("button",{onClick:s=>{s.stopPropagation(),d&&e(d),n(""),o(false);},disabled:!d,style:Rn(!!d),children:u("common.reply")})]})]})}var Tn=CARD_STYLE_COLLAPSED,En=CARD_STYLE_EXPANDED;function gl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:u,onResolve:d,onUnresolve:s,onDelete:m}){let[i,a]=useState(false),{t:g}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:l=>l.stopPropagation(),style:{...o?En:Tn},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}),g("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:eo(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||g("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:l=>{l.stopPropagation(),e.done?s?.(e.id):d?.(e.id);},title:e.done?g("comments.reopen"):g("comments.resolve"),style:Jt,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:l=>{l.stopPropagation(),a(!i);},title:g("comments.moreOptions"),style:Jt,children:jsx(b$1,{name:"more_vert",size:20})}),i&&jsx("div",{onClick:l=>l.stopPropagation(),onMouseDown:l=>l.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),m?.(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:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:g("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(Pn,{replies:t,isExpanded:o}),o&&!e.done&&jsx(wn,{onSubmit:l=>u?.(e.id,l)})]})}function bl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:u,onReject:d,onAcceptById:s,onRejectById:m,onReply:i}){let{t:a}=b(),g=e.author||a("trackedChanges.unknown"),l=()=>{let f=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&f.add(e.insertionRevisionId);for(let b of e.coalescedRevisionIds??[])f.add(b);return [...f]},S=f=>{if(f.stopPropagation(),s)for(let b of l())s(b);else u?.(e.from,e.to);},c=f=>{if(f.stopPropagation(),m)for(let b of l())m(b);else d?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:f=>f.stopPropagation(),style:o?En:Tn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:eo(g),children:getInitials(g)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:g}),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:Jt,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:c,title:a("common.reject"),style:Jt,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(Pn,{replies:t,isExpanded:o}),o&&jsx(wn,{onSubmit:f=>i?.(e.revisionId,f)})]})}function yl({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:u}=b(),d=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:s=>s.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:s=>s?.focus({preventScroll:true}),value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),d()),s.key==="Escape"&&(o?.(),n(""));},placeholder:u("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:Cn,children:u("common.cancel")}),jsx("button",{onClick:d,disabled:!r.trim(),style:Rn(!!r.trim()),children:u("common.comment")})]})]})}function Cl({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 Rl({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:u=null}){let d=useMemo(()=>e.filter(m=>!(m.parentId!=null||m.done&&!r)),[e,r]),s=useMemo(()=>{let m=new Map;for(let i of e)if(i.parentId!=null){let a=m.get(i.parentId);a?a.push(i):m.set(i.parentId,[i]);}return m},[e]);return useMemo(()=>{let m=[];n&&u!=null&&m.push({id:"new-comment-input",anchorPos:0,fixedY:u,priority:-1e3,isTemporary:true,estimatedHeight:120,render:i=>jsx(yl,{...i,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let i of d){let a=s.get(i.id)??[];m.push({id:`comment-${i.id}`,anchorPos:0,anchorKey:`comment-${i.id}`,priority:0,estimatedHeight:i.done?28:80,render:g=>i.done&&!g.isExpanded?jsx(Cl,{...g,comment:i}):jsx(gl,{...g,comment:i,replies:a,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((i,a)=>{let g=s.get(i.revisionId)??[];m.push({id:`tc-${i.revisionId}-${a}`,anchorPos:i.from,anchorKey:`revision-${i.revisionId}`,priority:1,estimatedHeight:80,render:l=>jsx(bl,{...l,change:i,replies:g,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),m},[d,t,s,o,n,u])}function Sl(){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:`
25
+ `,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:a,children:n("errors.tryAgain")})]})}var Tb=15840,Zs=1440,Eb=1440,Ib=567,Js=20,kb="var(--doc-text-muted)",Mb="var(--doc-text-subtle)",Db="var(--doc-primary)",Hb="var(--doc-primary)",Fb="var(--doc-primary-hover)";function el({sectionProps:e,zoom:t=1,editable:o=false,onTopMarginChange:r,onBottomMarginChange:n,unit:u="inch",className:d="",style:s}){let{t:f}=b(),[i,a]=useState(null),[g,l]=useState(null),S=useRef(null),c=e?.pageHeight??Tb,m=e?.marginTop??Zs,b$1=e?.marginBottom??Zs,C=twipsToPixels(c)*t,h=twipsToPixels(m)*t,p=twipsToPixels(b$1)*t,R=useCallback((k,T)=>{o&&(k.preventDefault(),a(T));},[o]),v=useCallback(k=>{if(!i||!S.current)return;let T=S.current.getBoundingClientRect(),I=k.clientY-T.top,w=pixelsToTwips(I/t);if(i==="topMargin"){let D=c-b$1-720,H=Math.max(0,Math.min(w,D));r?.(Math.round(H));}else if(i==="bottomMargin"){let D=c-w,H=c-m-720,O=Math.max(0,Math.min(D,H));n?.(Math.round(O));}},[i,t,c,m,b$1,r,n]),y=useCallback(()=>{a(null);},[]);useEffect(()=>{if(i)return document.addEventListener("mousemove",v),document.addEventListener("mouseup",y),()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y);}},[i,v,y]);let x=Ab(c,t,u),P={position:"relative",width:Js,height:formatPx(C),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:i?"ns-resize":"default",...s};return jsxs("div",{ref:S,className:`docx-vertical-ruler ${d}`,style:P,role:"slider","aria-label":f("ruler.vertical"),"aria-orientation":"vertical",children:[jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:x.map((k,T)=>jsx(Lb,{tick:k},T))}),jsx(Qs,{type:"topMargin",position:h,editable:o,isDragging:i==="topMargin",isHovered:g==="topMargin",onMouseEnter:()=>l("topMargin"),onMouseLeave:()=>l(null),onMouseDown:k=>R(k,"topMargin")}),jsx(Qs,{type:"bottomMargin",position:C-p,editable:o,isDragging:i==="bottomMargin",isHovered:g==="bottomMargin",onMouseEnter:()=>l("bottomMargin"),onMouseLeave:()=>l(null),onMouseDown:k=>R(k,"bottomMargin")})]})}function Lb({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:Mb},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:kb,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxs(Fragment,{children:[jsx("div",{style:t}),e.label&&jsx("div",{style:o,children:e.label})]})}function Qs({type:e,position:t,editable:o,isDragging:r,isHovered:n,onMouseEnter:u,onMouseLeave:d,onMouseDown:s}){let{t:f}=b(),i=r?Fb:n?Hb:Db,a={position:"absolute",top:formatPx(t-5),right:0,width:Js,height:10,cursor:o?"ns-resize":"default",zIndex:r?10:1},g={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${i}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:a,onMouseEnter:u,onMouseLeave:d,onMouseDown:s,role:"slider","aria-label":f(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:o?0:-1,children:jsx("div",{style:g})})}function Ab(e,t,o){let r=[];if(o==="inch"){let n=Eb/8,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let s=d*n;if(s>e)break;let f=twipsToPixels(s)*t;if(d%8===0){let i=d/8;r.push({position:f,width:10,label:i>0?String(i):void 0});}else d%4===0?r.push({position:f,width:6}):d%2===0?r.push({position:f,width:4}):r.push({position:f,width:2});}}else {let n=Ib/10,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let s=d*n;if(s>e)break;let f=twipsToPixels(s)*t;if(d%10===0){let i=d/10;r.push({position:f,width:10,label:i>0?String(i):void 0});}else d%5===0?r.push({position:f,width:6}):r.push({position:f,width:3});}}return r}var wr=30,Tr=240,nl=16,_b=24,rl=wr+Tr+nl,Er=48,Wb=32,il=Er+Wb+nl,al=Il.memo(function({headings:t,onHeadingClick:o,onClose:r,topOffset:n=0,scrollLeft:u=0}){let{t:d}=b(),[s,f]=useState(false);return useEffect(()=>{requestAnimationFrame(()=>f(true));},[]),jsxs("nav",{className:"docx-outline-nav",role:"navigation","aria-label":d("documentOutline.ariaLabel"),style:{position:"absolute",top:n,left:wr-u,bottom:0,width:Tr,paddingTop:_b,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:s?"translateX(0)":`translateX(-${wr+Tr}px)`,transition:"transform 0.15s ease-out"},onMouseDown:i=>i.stopPropagation(),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 16px 12px"},children:[jsx("button",{onClick:r,"aria-label":d("documentOutline.closeAriaLabel"),style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:"50%",display:"flex",alignItems:"center",color:"#444746"},title:d("documentOutline.closeTitle"),children:jsx(b$1,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"#1f1f1f",letterSpacing:"0.01em"},children:d("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:d("documentOutline.noHeadings")}):t.map((i,a)=>jsx("div",{style:{marginLeft:i.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>o(i.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:i.text,children:i.text})},`${i.pmPos}-${a}`))})]})});function ll({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 cl({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 dl({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 ul({i18n:e,onEditorError:t,containerRef:o,scrollContainerRef:r,editorContentRef:n,className:u,containerStyle:d,mainContentStyle:s,editorContainerStyle:f,showRuler:i,readOnlyProp:a,showOutline:g,showOutlineButton:l,sidebarOpen:S,minLayoutWidth:c,toolbarHeight:m,editorScrollLeft:b,expandedSidebarItem:C,trackedChanges:h$1,onScrollContainerMouseDown:p,onEditorBgMouseDown:R,onEditorContextMenu:v,horizontalRulerProps:y,verticalRulerProps:x,outlineProps:P,onToggleOutline:k,scrollPageInfo:T,agentPanel:I,agentPanelOpen:w,onAgentPanelClose:D,toolbar:H,pagedArea:O,overlays:U,dialogs:G,fileInputs:W}){return jsx(a$2,{i18n:e,children:jsx(Ys,{children:jsx(bn,{onError:t,children:jsxs("div",{ref:o,className:`ep-root docx-editor ${u??""}`,style:d,"data-testid":"docx-editor",children:[jsxs("div",{style:s,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[H,jsxs("div",{ref:r,style:f,onMouseDown:p,children:[i&&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:c,transition:"padding 0.2s ease"},children:jsx(F,{...y})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:c},children:jsxs("div",{ref:n,style:{position:"relative",flex:1,minWidth:0},onMouseDown:R,onContextMenu:v,children:[i&&!a&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:h.ruler,paddingTop:48},children:jsx(el,{...x})}),C&&C.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${C.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),C?.startsWith("tc-")&&(()=>{let K=C.split("-")[1],oe=h$1.find(re=>String(re.revisionId)===K)?.insertionRevisionId;return jsx("style",{children:`
26
+ .paged-editor__pages .docx-insertion[data-revision-id="${oe??K}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
27
+ .paged-editor__pages .docx-deletion[data-revision-id="${K}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
28
+ `})})(),O]})})]}),T.totalPages>1&&jsx(cl,{currentPage:T.currentPage,totalPages:T.totalPages,visible:T.visible}),g&&jsx(al,{...P}),l&&!g&&jsx(ll,{onClick:k,topPx:m+(i?30:0)+48,scrollLeft:b})]}),I&&jsx(dl,{agentPanel:I,closed:!w,onClose:D})]}),U,G,W]})})})})}var Zt={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},yn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function Qt(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 vn(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 Sn({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(u=>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:Qt(u.author||"U",28),children:getInitials(u.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:u.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(u.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(u.content)})]},u.id))]})}var Gb={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},jb={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 xn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:u}=b();if(!t)return jsx("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:s=>s.stopPropagation(),onClick:s=>{s.stopPropagation(),o(true);},placeholder:u("comments.replyPlaceholder"),style:jb})});let d=r.trim();return jsxs("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:s=>s?.focus({preventScroll:true}),type:"text",value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&(s.preventDefault(),d&&e(d),n(""),o(false)),s.key==="Escape"&&(o(false),n(""));},placeholder:u("comments.replyPlaceholder"),style:Gb}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:s=>{s.stopPropagation(),o(false),n("");},style:yn,children:u("common.cancel")}),jsx("button",{onClick:s=>{s.stopPropagation(),d&&e(d),n(""),o(false);},disabled:!d,style:vn(!!d),children:u("common.reply")})]})]})}var Pn=CARD_STYLE_COLLAPSED,wn=CARD_STYLE_EXPANDED;function fl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:u,onResolve:d,onUnresolve:s,onDelete:f}){let[i,a]=useState(false),{t:g}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:l=>l.stopPropagation(),style:{...o?wn:Pn},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}),g("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Qt(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||g("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:l=>{l.stopPropagation(),e.done?s?.(e.id):d?.(e.id);},title:e.done?g("comments.reopen"):g("comments.resolve"),style:Zt,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:l=>{l.stopPropagation(),a(!i);},title:g("comments.moreOptions"),style:Zt,children:jsx(b$1,{name:"more_vert",size:20})}),i&&jsx("div",{onClick:l=>l.stopPropagation(),onMouseDown:l=>l.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),f?.(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:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:g("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(Sn,{replies:t,isExpanded:o}),o&&!e.done&&jsx(xn,{onSubmit:l=>u?.(e.id,l)})]})}function gl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:u,onReject:d,onAcceptById:s,onRejectById:f,onReply:i}){let{t:a}=b(),g=e.author||a("trackedChanges.unknown"),l=()=>{let m=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&m.add(e.insertionRevisionId);for(let b of e.coalescedRevisionIds??[])m.add(b);return [...m]},S=m=>{if(m.stopPropagation(),s)for(let b of l())s(b);else u?.(e.from,e.to);},c=m=>{if(m.stopPropagation(),f)for(let b of l())f(b);else d?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:m=>m.stopPropagation(),style:o?wn:Pn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Qt(g),children:getInitials(g)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:g}),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:Zt,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:c,title:a("common.reject"),style:Zt,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(Sn,{replies:t,isExpanded:o}),o&&jsx(xn,{onSubmit:m=>i?.(e.revisionId,m)})]})}function hl({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:u}=b(),d=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:s=>s.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:s=>s?.focus({preventScroll:true}),value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),d()),s.key==="Escape"&&(o?.(),n(""));},placeholder:u("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:yn,children:u("common.cancel")}),jsx("button",{onClick:d,disabled:!r.trim(),style:vn(!!r.trim()),children:u("common.comment")})]})]})}function vl({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 Cl({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:u=null}){let d=useMemo(()=>e.filter(f=>!(f.parentId!=null||f.done&&!r)),[e,r]),s=useMemo(()=>{let f=new Map;for(let i of e)if(i.parentId!=null){let a=f.get(i.parentId);a?a.push(i):f.set(i.parentId,[i]);}return f},[e]);return useMemo(()=>{let f=[];n&&u!=null&&f.push({id:"new-comment-input",anchorPos:0,fixedY:u,priority:-1e3,isTemporary:true,estimatedHeight:120,render:i=>jsx(hl,{...i,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let i of d){let a=s.get(i.id)??[];f.push({id:`comment-${i.id}`,anchorPos:0,anchorKey:`comment-${i.id}`,priority:0,estimatedHeight:i.done?28:80,render:g=>i.done&&!g.isExpanded?jsx(vl,{...g,comment:i}):jsx(fl,{...g,comment:i,replies:a,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((i,a)=>{let g=s.get(i.revisionId)??[];f.push({id:`tc-${i.revisionId}-${a}`,anchorPos:i.from,anchorKey:`revision-${i.revisionId}`,priority:1,estimatedHeight:80,render:l=>jsx(gl,{...l,change:i,replies:g,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),f},[d,t,s,o,n,u])}function Rl(){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:`
29
29
  @keyframes docx-spin {
30
30
  to { transform: rotate(360deg); }
31
31
  }
32
- `}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function xl(){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 Pl({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 wl(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 Fr=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:u,onSelectionChange:d$1,onError:s,onFontsLoaded:m$1,theme:i$1,showToolbar:a=true,showZoomControl:g=true,showMarginGuides:l=false,marginGuideColor:S,showRuler:c=false,rulerUnit:f="inch",initialZoom:b=1,readOnly:C=false,disableFindReplaceShortcuts:h=false,toolbarExtra:p,className:R="",style:v,placeholder:y,loadingIndicator:x,showOutline:P=false,showOutlineButton:k=true,fontFamilies:T,fonts:I,printOptions:w,onPrint:D,onCopy:H,onCut:O,onPaste:$,mode:G,onModeChange:_,onCommentAdd:V,onCommentResolve:U,onCommentDelete:ee,onCommentReply:ae,comments:se,onCommentsChange:pe,externalPlugins:Pe,externalContent:ve=false,onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,pluginSidebarItems:M,pluginRenderedDomContext:A,renderLogo:N,documentName:Q,onDocumentNameChange:z,documentNameEditable:L=true,renderTitleBarRight:te,i18n:X,agentPanel:J},re){let[W,oe]=useState({isLoading:!!t&&!ve,parseError:null,zoom:b,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Ce,le]=useState(null),[ke,De]=useState(false),[we,be]=useState(false),Ae=useRef(false),[j,ne]=useState(null),B=useRef(null),{comments:de,setComments:fe,isAddingComment:Te,setIsAddingComment:et,isAddingCommentRef:Ut,commentSelectionRange:gt,setCommentSelectionRange:Le,addCommentYPosition:$e,setAddCommentYPosition:kt,floatingCommentBtn:ko,setFloatingCommentBtn:Mt,cleanOrphanedCommentsTimerRef:$t,cleanOrphanedComments:Mo}=Gi({commentsProp:se,onCommentDelete:ee,onCommentsChange:pe,pagedEditorRef:B}),[no,ro]=useState(null),{entries:bt,commentToRevision:Mn}=d(no),[Kt,Do]=useState(qo),[Dn,Hn]=useState(G??"editing"),Dt=G??Dn,Fn=E=>{G||Hn(E),_?.(E);},Ye=C||Dt==="viewing",[Ln,An]=useState(false),io=J?.open!==void 0,Ho=J?io?!!J.open:Ln:false,Fo=useCallback(E=>{J?.onOpenChange?.(E),io||An(E);},[J,io]),Lo=useRef(new Set),Ao=useRef(new Set),xe=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),ao=useMemo(()=>{let E=new ExtensionManager(createStarterKit());return E.buildSchema(),E.initializeRuntime(),E},[]),Y=useMemo(()=>createSuggestionModePlugin(Dt==="suggesting",n),[]),he=useMemo(()=>[Y,...Pe??[]],[Y,Pe]),ue=useRef(null),Oe=useRef(null),ze=useRef(null),Gt=useRef(null),ht=useRef(null),yt=useRef(null),{showOutline:Lr,setShowOutline:Ar,showOutlineRef:Ml,outlineHeadings:Dl,setHeadingInfos:On,toolbarHeight:Or,toolbarRefCallback:Hl,editorScrollLeft:Br}=ci({showOutlineProp:P,pagedEditorRef:B,scrollContainerRef:yt,isLoading:W.isLoading}),so=useRef(xe.state);so.current=xe.state;let Nr=useRef({style:"single",size:4,color:{rgb:"000000"}}),zr=useRef(null),Oo=useCallback(E=>{let F=zr.current;if(F&&F.styles===E)return F.resolver;let q=createStyleResolver(E);return zr.current={styles:E,resolver:q},q},[]),{getActiveEditorView:it,focusActiveEditor:Ht,undoActiveEditor:Fl,redoActiveEditor:Ll}=Ji({hfEditPosition:Ce,hfEditorRef:ue,pagedEditorRef:B}),lo=b$2(),Bo=m(),_r=useRef(false),Wr=useRef(false),co=useRef(createCommentIdAllocator()),{resetForNewDocument:Al}=js({commentsLoadedRef:_r,trackedChangesLoadedRef:Wr,setComments:fe,setHeadingInfos:On,setShowCommentsSidebar:be,setIsAddingComment:et,setCommentSelectionRange:Le,setAddCommentYPosition:kt,setFloatingCommentBtn:Mt,setHfEditPosition:le,setHfEditIsFirstPage:De,setAnchorPositions:Do,clearFindReplaceMatches:useCallback(()=>lo.setMatches([],0),[lo]),cleanOrphanedCommentsTimerRef:$t}),{loadParsedDocument:Ol,loadBuffer:Vr}=Li({documentBuffer:t,initialDocument:o,externalContent:ve,history:xe,agentRef:Oe,pagedEditorRef:B,setLoadingState:useCallback(E=>{oe(F=>({...F,isLoading:E.isLoading,parseError:E.parseError}));},[]),setComments:fe,setShowCommentsSidebar:be,onError:s,resetForNewDocument:Al,commentsLoadedRef:_r,commentIdAllocator:co.current}),{imageInputRef:Bl,docxInputRef:Nl,handleSave:zl,handleDirectPrint:Ur,handleDownloadDocument:_l,handleOpenDocument:Wl,handleDocxFileChange:Vl,handleInsertImageClick:Ul,handleImageFileChange:$l}=pi({agentRef:Oe,pagedEditorRef:B,containerRef:ze,comments:de,documentName:Q,onSave:r,onError:s,onPrint:D,onDocumentNameChange:z,loadBuffer:Vr,getActiveEditorView:it,focusActiveEditor:Ht});useEffect(()=>{if(W.isLoading||!xe.state)return;let E=B.current?.getView();E&&ro(E.state);},[W.isLoading,xe.state]),Yi({commentToRevision:Mn,setComments:fe,pmState:no,isLoading:W.isLoading,trackedChangesCount:bt.length,setShowCommentsSidebar:be,trackedChangesLoadedRef:Wr}),wl(I,m$1,s),useEffect(()=>{let E=B.current?.getView();E&&setSuggestionMode(Dt==="suggesting",E.state,E.dispatch,n);},[Dt,n]);let No=useCallback(E=>(xe.push(E),E),[xe]),Bn=useCallback(E=>{No(E),u?.(E);for(let q of Lo.current)try{q(E);}catch(Re){console.error("contentChange subscriber threw:",Re);}if(Ml.current){let q=B.current?.getView();q&&On(collectHeadings(q.state.doc));}let F=B.current?.getView();F&&ro(F.state),$t.current&&clearTimeout($t.current),$t.current=setTimeout(Mo,300);},[u,No,Mo]),{recomputeFloatingCommentBtn:Kl}=Qi({pagedEditorRef:B,scrollContainerRef:yt,editorContentRef:ht,isAddingCommentRef:Ut,setFloatingCommentBtn:Mt,readOnly:Ye,isLoading:W.isLoading,zoom:W.zoom}),{handleSelectionChange:zo}=Xi({getActiveEditorView:it,lastSelectionRef:Gt,borderSpecRef:Nr,theme:i$1,historyStateRef:so,getCachedStyleResolver:Oo,setFloatingCommentBtn:Mt,applySelectionDelta:useCallback(E=>oe(F=>({...F,...E})),[]),recomputeFloatingCommentBtn:Kl,onSelectionChange:d$1,selectionChangeSubscribersRef:Ao}),$r=e({document:xe.state,onChange:Bn,onSelectionChange:E=>{}});di({pagedEditorRef:B,disableFindReplaceShortcuts:h,findReplace:lo,hyperlinkDialog:Bo,tableSelection:$r});let Gl=useCallback(()=>{Ar(E=>{if(!E){let F=B.current?.getView();F&&On(collectHeadings(F.state.doc));}return !E});},[]),jl=useCallback(E=>{B.current?.scrollToPosition(E),B.current?.setSelection(E+1),B.current?.focus();},[]),{imagePositionOpen:Yl,setImagePositionOpen:ql,imagePropsOpen:Xl,setImagePropsOpen:Zl,footnotePropsOpen:Ql,setFootnotePropsOpen:Jl,handleImageWrapType:ec,handleImageTransform:tc,handleApplyImagePosition:oc,handleOpenImageProperties:Kr,handleApplyImageProperties:nc,handleApplyFootnoteProperties:rc}=Ti({document:xe.state,pmImageContext:W.pmImageContext,zoom:W.zoom,getActiveEditorView:it,focusActiveEditor:Ht,pushDocument:No}),{tablePropsOpen:ic,setTablePropsOpen:ac,splitCellDialogState:sc,openSplitCellDialog:lc,handleTableAction:cc,handleSplitCellDialogClose:dc,handleSplitCellDialogApply:uc}=Di({getActiveEditorView:it,focusActiveEditor:Ht,tableSelection:$r,borderSpecRef:Nr,historyStateRef:so,getCachedStyleResolver:Oo}),{handleFormat:pc,handleInsertTable:mc,handleInsertPageBreak:fc,handleInsertTOC:gc}=wi({getActiveEditorView:it,focusActiveEditor:Ht,pagedEditorRef:B,lastSelectionRef:Gt,hyperlinkDialog:Bo,historyStateRef:so,getCachedStyleResolver:Oo}),bc=useCallback(E=>{oe(F=>({...F,zoom:E}));},[]),{hyperlinkPopupData:hc,handleHyperlinkSubmit:yc,handleHyperlinkRemove:vc,handleHyperlinkClick:Cc,handleHyperlinkPopupNavigate:Rc,handleHyperlinkPopupCopy:Sc,handleHyperlinkPopupEdit:xc,handleHyperlinkPopupRemove:Pc,handleHyperlinkPopupClose:wc}=vi({hyperlinkDialog:Bo,getActiveEditorView:it,focusActiveEditor:Ht}),{contextMenu:Tc,imageContextMenu:Ec,handleEditorContextMenu:Ic,handleContextMenu:kc,handleContextMenuClose:Mc,handleImageWrapApply:Dc,imageContextMenuTextActions:Hc,contextMenuItems:Fc,handleContextMenuAction:Lc}=$i({getActiveEditorView:it,focusActiveEditor:Ht,openSplitCellDialog:lc,scrollContainerRef:yt,editorContentRef:ht,i18n:X,onAddComment:useCallback(({from:E,to:F,yPos:q})=>{Le({from:E,to:F}),kt(q),be(true),et(true),Mt(null);},[])}),{showPageSetup:Ac,setShowPageSetup:Oc,handleOpenPageSetup:Bc,handleLeftMarginChange:Nc,handleRightMarginChange:zc,handleTopMarginChange:_c,handleBottomMarginChange:Wc,handlePageSetupApply:Vc,handleIndentLeftChange:Uc,handleIndentRightChange:$c,handleFirstLineIndentChange:Kc,handleTabStopRemove:Gc}=fi({document:xe.state,readOnly:Ye,handleDocumentChange:Bn,getActiveEditorView:it}),{showWatermark:jc,setShowWatermark:Yc,handleOpenWatermark:qc,currentWatermark:Xc,handleWatermarkApply:Zc}=bi({readOnly:Ye,getBodyEditorView:()=>B.current?.getView()}),{scrollPageInfo:Gr,setScrollPageInfo:Qc}=ea({scrollContainerRef:yt,pagedEditorRef:B}),Jc=useCallback(E=>{s?.(E);},[s]),{findResultRef:ed,handleFind:td,handleFindNext:od,handleFindPrevious:nd,handleReplace:rd,handleReplaceAll:id}=Si({pagedEditorRef:B,findReplace:lo});Ii({ref:re,agentRef:Oe,document:xe.state,historyStateRef:so,pagedEditorRef:B,handleSave:zl,handleDirectPrint:Ur,zoom:W.zoom,setZoom:E=>oe(F=>({...F,zoom:E})),scrollPageInfo:Gr,loadParsedDocument:Ol,loadBuffer:Vr,comments:de,setComments:fe,setShowCommentsSidebar:be,contentChangeSubscribersRef:Lo,selectionChangeSubscribersRef:Ao,getCachedStyleResolver:Oo,commentIdAllocator:co.current});let Nn=useMemo(()=>zi(xe.state),[xe.state]),jr=xe.state?.package.document?.finalSectionProperties,{headerContent:ad,footerContent:sd,firstPageHeaderContent:ld,firstPageFooterContent:cd,handleHeaderFooterDoubleClick:dd,handleHeaderFooterSave:ud,handleBodyClick:pd,handleRemoveHeaderFooter:md,getHfTargetElement:fd}=Hi({document:xe.state,pushDocument:No,hfEditorRef:ue,containerRef:ze,initialSectionProperties:Nn,finalSectionProperties:jr,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,setHfEditIsFirstPage:De}),_o={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...v},gd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ke=useRef({});Ke.current={onCommentReply:(E,F)=>{let q=createComment(co.current,F,n,E),Re=de.find(He=>He.id===E);fe(He=>[...He,q]),Re&&ae?.(q,Re);},onCommentResolve:E=>{let F=de.find(q=>q.id===E);fe(q=>q.map(Re=>Re.id===E?{...Re,done:true}:Re)),j===`comment-${E}`&&ne(null),F&&U?.({...F,done:true});},onCommentUnresolve:E=>{fe(F=>F.map(q=>q.id===E?{...q,done:void 0}:q));},onCommentDelete:E=>{let F=de.find(Re=>Re.id===E);fe(Re=>Re.filter(He=>He.id!==E&&He.parentId!==E));let q=B.current?.getView();if(q){let Re=q.state.schema.marks.comment?.create({commentId:E});if(Re){let He=q.state.tr.removeMark(0,q.state.doc.content.size,Re);He.docChanged&&q.dispatch(He);}}F&&ee?.(F);},onAddComment:E=>{let F=createComment(co.current,E,n),q=B.current?.getView();if(q&&gt){let{from:Re,to:He}=gt,at=q.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Lt=q.state.schema.marks.comment.create({commentId:F.id}),Wn=q.state.tr.removeMark(Re,He,at).addMark(Re,He,Lt);q.dispatch(Wn);}fe(Re=>[...Re,F]),et(false),Le(null),kt(null),V?.(F);},onCancelAddComment:()=>{let E=B.current?.getView();if(E&&gt){let{from:F,to:q}=gt,Re=E.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID});E.dispatch(E.state.tr.removeMark(F,q,Re));}et(false),Le(null),kt(null);},onAcceptChange:(E,F)=>{let q=B.current?.getView();q&&acceptChange(E,F)(q.state,q.dispatch);},onRejectChange:(E,F)=>{let q=B.current?.getView();q&&rejectChange(E,F)(q.state,q.dispatch);},onAcceptChangeById:E=>{let F=B.current?.getView();F&&acceptChangeById(E)(F.state,F.dispatch);},onRejectChangeById:E=>{let F=B.current?.getView();F&&rejectChangeById(E)(F.state,F.dispatch);},onTrackedChangeReply:(E,F)=>{fe(q=>[...q,createComment(co.current,F,n,E)]);}};let bd=useMemo(()=>({onCommentReply:(...E)=>Ke.current.onCommentReply?.(...E),onCommentResolve:(...E)=>Ke.current.onCommentResolve?.(...E),onCommentUnresolve:(...E)=>Ke.current.onCommentUnresolve?.(...E),onCommentDelete:(...E)=>Ke.current.onCommentDelete?.(...E),onAddComment:(...E)=>Ke.current.onAddComment?.(...E),onCancelAddComment:(...E)=>Ke.current.onCancelAddComment?.(...E),onAcceptChange:(...E)=>Ke.current.onAcceptChange?.(...E),onRejectChange:(...E)=>Ke.current.onRejectChange?.(...E),onAcceptChangeById:(...E)=>Ke.current.onAcceptChangeById?.(...E),onRejectChangeById:(...E)=>Ke.current.onRejectChangeById?.(...E),onTrackedChangeReply:(...E)=>Ke.current.onTrackedChangeReply?.(...E)}),[]),Ft=Rl({comments:de,trackedChanges:bt,callbacks:bd,showResolved:we,isAddingComment:we?Te:false,addCommentYPosition:$e}),Yr=useMemo(()=>{let E=[];return we&&E.push(...Ft),M&&E.push(...M),E},[we,Ft,M]),zn=useMemo(()=>{let E=new Map;return bt.forEach((F,q)=>{F.type==="replacement"&&F.insertionRevisionId!=null&&E.set(String(F.insertionRevisionId),`tc-${F.revisionId}-${q}`);}),E},[bt]),_n=Yr.length>0,hd=2*(Lr?il:k?al:20)+816+(_n?SIDEBAR_DOCUMENT_SHIFT*2:0),qr=xe.state?.package?.document?.finalSectionProperties?.pageWidth,yd=qr?Math.round(qr/15):816,vt=useMemo(()=>{let E=new Set;for(let F of de)F.done&&F.parentId==null&&E.add(F.id);return E},[de]),vd=useCallback(()=>{let E=B.current?.getView();if(!E){zo(null);return}let F=extractSelectionState(E.state);zo(F);let q=E.state.selection.$from,Re=[...E.state.storedMarks??[],...q.nodeAfter?.marks??[],...q.nodeBefore?.marks??[],...q.marks()],He=null;for(let at of Re){if(at.type.name==="comment"&&at.attrs.commentId!=null){let Lt=at.attrs.commentId;if(vt.has(Lt))continue;He=`comment-${Lt}`;break}if((at.type.name==="insertion"||at.type.name==="deletion")&&at.attrs.revisionId!=null){let Lt=String(at.attrs.revisionId),Wn=`tc-${Lt}-`,Wo=Ft.find(Vo=>Vo.id.startsWith(Wn));if(!Wo&&zn){let Vo=zn.get(Lt);Vo&&(Wo=Ft.find(Sd=>Sd.id===Vo));}if(Wo){He=Wo.id;break}}}He&&be(true),ne(He);},[zo,vt,Ft,zn]);useEffect(()=>{Ae.current||Ft.length!==0&&(Ae.current=true,be(true));},[Ft]);let Cd=useMemo(()=>{if(!j?.startsWith("comment-"))return vt;let E=parseInt(j.slice(8),10);if(isNaN(E)||!vt.has(E))return vt;let F=new Set(vt);return F.delete(E),F},[vt,j]),Rd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return W.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${R}`,style:_o,"data-testid":"docx-editor",children:x||jsx(Sl,{})}):W.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${R}`,style:_o,"data-testid":"docx-editor",children:jsx(Pl,{message:W.parseError})}):xe.state?jsx(pl,{i18n:X,onEditorError:Jc,containerRef:ze,scrollContainerRef:yt,editorContentRef:ht,className:R,containerStyle:_o,mainContentStyle:gd,editorContainerStyle:Rd,showRuler:c,readOnlyProp:C,showOutline:Lr,showOutlineButton:k,sidebarOpen:_n,minLayoutWidth:hd,toolbarHeight:Or,editorScrollLeft:Br,expandedSidebarItem:j,trackedChanges:bt,onScrollContainerMouseDown:E=>{let F=E.target;F.closest(".paged-editor__pages")||F.closest(".docx-unified-sidebar")||F.closest(".docx-comment-margin-markers")||ne(null);},onEditorBgMouseDown:E=>{E.target===E.currentTarget&&(E.preventDefault(),B.current?.focus());},onEditorContextMenu:Ic,horizontalRulerProps:{sectionProps:xe.state?.package.document?.finalSectionProperties,zoom:W.zoom,unit:f,editable:!Ye,onLeftMarginChange:Nc,onRightMarginChange:zc,indentLeft:W.paragraphIndentLeft,indentRight:W.paragraphIndentRight,onIndentLeftChange:Uc,onIndentRightChange:$c,firstLineIndent:W.paragraphFirstLineIndent,hangingIndent:W.paragraphHangingIndent,onFirstLineIndentChange:Kc,tabStops:W.paragraphTabs,onTabStopRemove:Gc},verticalRulerProps:{sectionProps:Nn,zoom:W.zoom,unit:f,editable:!Ye,onTopMarginChange:_c,onBottomMarginChange:Wc},outlineProps:{headings:Dl,onHeadingClick:jl,onClose:()=>Ar(false),topOffset:Or,scrollLeft:Br},onToggleOutline:Gl,scrollPageInfo:Gr,agentPanel:J,agentPanelOpen:Ho,onAgentPanelClose:()=>Fo(false),toolbar:a&&!C?jsx(la,{toolbarRefCallback:Hl,agentPanelOpen:Ho,setAgentPanelOpen:Fo,document:xe.state,theme:i$1,pmState:no,selectionFormatting:W.selectionFormatting,tableContext:W.pmTableContext,imageContext:W.pmImageContext,readOnly:Ye,editingMode:Dt,setEditingMode:Fn,setShowCommentsSidebar:be,setExpandedSidebarItem:ne,showCommentsSidebar:we,agentPanel:J,renderLogo:N,documentName:Q,onDocumentNameChange:z,documentNameEditable:L,renderTitleBarRight:te,toolbarExtra:p,fontFamilies:T,zoom:W.zoom,showZoomControl:g,onFormat:pc,onUndo:Fl,onRedo:Ll,onPrint:Ur,onOpen:Wl,onSave:_l,onZoomChange:bc,onRefocusEditor:Ht,onInsertTable:mc,onInsertImage:Ul,onInsertPageBreak:fc,onInsertTOC:gc,onImageWrapType:ec,onImageTransform:tc,onOpenImageProperties:Kr,onPageSetup:Bc,onWatermark:qc,onTableAction:cc}):null,pagedArea:jsxs(Fragment,{children:[jsx(Ks,{pagedEditorRef:B,hfEditorRef:ue,scrollContainerRef:yt,editorContentRef:ht,document:xe.state,theme:i$1,initialSectionProperties:Nn,finalSectionProperties:jr,headerContent:ad,footerContent:sd,firstPageHeaderContent:ld,firstPageFooterContent:cd,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,onHeaderFooterDoubleClick:dd,onHeaderFooterSave:ud,onRemoveHeaderFooter:md,onBodyClick:pd,getHfTargetElement:fd,zoom:W.zoom,readOnly:Ye,extensionManager:ao,externalPlugins:he,onDocumentChange:Bn,onSelectionChange:zo,onPagedSelectionChange:vd,onReady:E=>{let F=E.getView();F&&ro(F.state);},onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,onHyperlinkClick:Cc,hyperlinkPopupData:hc,onHyperlinkPopupNavigate:Rc,onHyperlinkPopupCopy:Sc,onHyperlinkPopupEdit:xc,onHyperlinkPopupRemove:Pc,onHyperlinkPopupClose:wc,onContextMenu:kc,sidebarOpen:_n,sidebarItems:Yr,anchorPositions:Kt,onAnchorPositionsChange:Do,pluginRenderedDomContext:A,pageWidthPx:yd,expandedSidebarItem:j,setExpandedSidebarItem:ne,comments:de,resolvedCommentIds:vt,resolvedIdsForRender:Cd,setShowCommentsSidebar:be,onTotalPagesChange:E=>{Qc(F=>F.totalPages===E?F:{...F,totalPages:E});},floatingCommentBtn:ko,isAddingComment:Te,setCommentSelectionRange:Le,setAddCommentYPosition:kt,setIsAddingComment:et,setFloatingCommentBtn:Mt}),!Ye&&jsx(Gs,{containerRef:ze,getView:()=>B.current?.getView()??null})]}),overlays:jsx(ta,{contextMenu:Tc,contextMenuItems:Fc,onContextMenuAction:Lc,onContextMenuClose:Mc,imageContextMenu:Ec,onImageWrapApply:Dc,imageContextMenuTextActions:Hc,onOpenImageProperties:Kr,readOnly:Ye}),dialogs:jsx(oa,{findReplace:lo,findResultRef:ed,onFind:td,onFindNext:od,onFindPrevious:nd,onReplace:rd,onReplaceAll:id,hyperlinkDialog:Bo,onHyperlinkSubmit:yc,onHyperlinkRemove:vc,tablePropsOpen:ic,onTablePropsClose:()=>ac(false),pmTableContext:W.pmTableContext,getActiveEditorView:it,splitCellDialogState:sc,onSplitCellDialogClose:dc,onSplitCellDialogApply:uc,imagePositionOpen:Yl,onImagePositionClose:()=>ql(false),onApplyImagePosition:oc,imagePropsOpen:Xl,onImagePropsClose:()=>Zl(false),onApplyImageProperties:nc,pmImageContext:W.pmImageContext,showPageSetup:Ac,onPageSetupClose:()=>Oc(false),onPageSetupApply:Vc,showWatermark:jc,onWatermarkClose:()=>Yc(false),onWatermarkApply:Zc,currentWatermark:Xc,document:xe.state,footnotePropsOpen:Ql,onFootnotePropsClose:()=>Jl(false),onApplyFootnoteProperties:rc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Bl,type:"file",accept:"image/*",style:{display:"none"},onChange:$l}),jsx("input",{ref:Nl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Vl})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${R}`,style:_o,"data-testid":"docx-editor",children:y||jsx(xl,{})})});function mh(e,t,o={}){return new Promise((r,n)=>{let u=kl.createRef(),d=null;try{d=createRoot(t);}catch(a){n(a);return}let s={save:async()=>{let a=await(u.current?.save()??Promise.resolve(null));return a?new Blob([a],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>u.current?.getDocument()??null,focus:()=>u.current?.focus(),setZoom:a=>u.current?.setZoom(a),scrollToParaId:a=>u.current?.scrollToParaId(a)??false,scrollToPosition:a=>u.current?.scrollToPosition(a),destroy:()=>{d?.unmount(),d=null;}},m=false,i=kl.createElement(Fr,{...o,documentBuffer:e,onError:a=>{o.onError?.(a),m||(m=true,n(a));},onChange:a=>{o.onChange?.(a),m||(m=true,r(s));},ref:u});d.render(i);})}var sT="0.0.2";export{Fr as DocxEditor,sT as VERSION,mh as renderAsync};
32
+ `}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function Sl(){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 xl({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 Pl(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 Dr=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:u,onSelectionChange:d$1,onError:s,onFontsLoaded:f,theme:i$1,showToolbar:a=true,showZoomControl:g=true,showMarginGuides:l=false,marginGuideColor:S,showRuler:c=false,rulerUnit:m$1="inch",initialZoom:b=1,readOnly:C=false,disableFindReplaceShortcuts:h=false,toolbarExtra:p,className:R="",style:v,placeholder:y,loadingIndicator:x,showOutline:P=false,showOutlineButton:k=true,fontFamilies:T,fonts:I,printOptions:w,onPrint:D,onCopy:H,onCut:O,onPaste:U,mode:G,onModeChange:W,onCommentAdd:K,onCommentResolve:V,onCommentDelete:oe,onCommentReply:re,comments:ae,onCommentsChange:de,externalPlugins:Pe,externalContent:ve=false,onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,pluginSidebarItems:M,pluginRenderedDomContext:A,renderLogo:z,documentName:Q,onDocumentNameChange:N,documentNameEditable:L=true,renderTitleBarRight:ee,i18n:X,agentPanel:J},ie){let[_,te]=useState({isLoading:!!t&&!ve,parseError:null,zoom:b,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Ce,le]=useState(null),[ke,De]=useState(false),[we,be]=useState(false),Ae=useRef(false),[j,ne]=useState(null),B=useRef(null),{comments:ue,setComments:fe,isAddingComment:Te,setIsAddingComment:et,isAddingCommentRef:Wt,commentSelectionRange:gt,setCommentSelectionRange:Le,addCommentYPosition:$e,setAddCommentYPosition:Et,floatingCommentBtn:Io,setFloatingCommentBtn:It,cleanOrphanedCommentsTimerRef:Vt,cleanOrphanedComments:ko}=$i({commentsProp:ae,onCommentDelete:oe,onCommentsChange:de,pagedEditorRef:B}),[to,oo]=useState(null),{entries:bt,commentToRevision:In}=d(to),[Ut,Mo]=useState(Yo),[kn,Mn]=useState(G??"editing"),kt=G??kn,Dn=E=>{G||Mn(E),W?.(E);},Ye=C||kt==="viewing",[Hn,Fn]=useState(false),no=J?.open!==void 0,Do=J?no?!!J.open:Hn:false,Ho=useCallback(E=>{J?.onOpenChange?.(E),no||Fn(E);},[J,no]),Fo=useRef(new Set),Lo=useRef(new Set),xe=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),ro=useMemo(()=>{let E=new ExtensionManager(createStarterKit());return E.buildSchema(),E.initializeRuntime(),E},[]),Y=useMemo(()=>createSuggestionModePlugin(kt==="suggesting",n),[]),he=useMemo(()=>[Y,...Pe??[]],[Y,Pe]),pe=useRef(null),Oe=useRef(null),Ne=useRef(null),$t=useRef(null),ht=useRef(null),yt=useRef(null),{showOutline:Hr,setShowOutline:Fr,showOutlineRef:kl,outlineHeadings:Ml,setHeadingInfos:Ln,toolbarHeight:Lr,toolbarRefCallback:Dl,editorScrollLeft:Ar}=si({showOutlineProp:P,pagedEditorRef:B,scrollContainerRef:yt,isLoading:_.isLoading}),io=useRef(xe.state);io.current=xe.state;let Or=useRef({style:"single",size:4,color:{rgb:"000000"}}),Br=useRef(null),Ao=useCallback(E=>{let F=Br.current;if(F&&F.styles===E)return F.resolver;let q=createStyleResolver(E);return Br.current={styles:E,resolver:q},q},[]),{getActiveEditorView:it,focusActiveEditor:Mt,undoActiveEditor:Hl,redoActiveEditor:Fl}=Zi({hfEditPosition:Ce,hfEditorRef:pe,pagedEditorRef:B}),ao=b$2(),Oo=m(),zr=useRef(false),Nr=useRef(false),so=useRef(createCommentIdAllocator()),{resetForNewDocument:Ll}=Gs({commentsLoadedRef:zr,trackedChangesLoadedRef:Nr,setComments:fe,setHeadingInfos:Ln,setShowCommentsSidebar:be,setIsAddingComment:et,setCommentSelectionRange:Le,setAddCommentYPosition:Et,setFloatingCommentBtn:It,setHfEditPosition:le,setHfEditIsFirstPage:De,setAnchorPositions:Mo,clearFindReplaceMatches:useCallback(()=>ao.setMatches([],0),[ao]),cleanOrphanedCommentsTimerRef:Vt}),{loadParsedDocument:Al,loadBuffer:_r}=Hi({documentBuffer:t,initialDocument:o,externalContent:ve,history:xe,agentRef:Oe,pagedEditorRef:B,setLoadingState:useCallback(E=>{te(F=>({...F,isLoading:E.isLoading,parseError:E.parseError}));},[]),setComments:fe,setShowCommentsSidebar:be,onError:s,resetForNewDocument:Ll,commentsLoadedRef:zr,commentIdAllocator:so.current}),{imageInputRef:Ol,docxInputRef:Bl,handleSave:zl,handleDirectPrint:Wr,handleDownloadDocument:Nl,handleOpenDocument:_l,handleDocxFileChange:Wl,handleInsertImageClick:Vl,handleImageFileChange:Ul}=di({agentRef:Oe,pagedEditorRef:B,containerRef:Ne,comments:ue,documentName:Q,onSave:r,onError:s,onPrint:D,onDocumentNameChange:N,loadBuffer:_r,getActiveEditorView:it,focusActiveEditor:Mt});useEffect(()=>{if(_.isLoading||!xe.state)return;let E=B.current?.getView();E&&oo(E.state);},[_.isLoading,xe.state]),Gi({commentToRevision:In,setComments:fe,pmState:to,isLoading:_.isLoading,trackedChangesCount:bt.length,setShowCommentsSidebar:be,trackedChangesLoadedRef:Nr}),Pl(I,f,s),useEffect(()=>{let E=B.current?.getView();E&&setSuggestionMode(kt==="suggesting",E.state,E.dispatch,n);},[kt,n]);let Bo=useCallback(E=>(xe.push(E),E),[xe]),An=useCallback(E=>{Bo(E),u?.(E);for(let q of Fo.current)try{q(E);}catch(Re){console.error("contentChange subscriber threw:",Re);}if(kl.current){let q=B.current?.getView();q&&Ln(collectHeadings(q.state.doc));}let F=B.current?.getView();F&&oo(F.state),Vt.current&&clearTimeout(Vt.current),Vt.current=setTimeout(ko,300);},[u,Bo,ko]),{recomputeFloatingCommentBtn:$l}=Xi({pagedEditorRef:B,scrollContainerRef:yt,editorContentRef:ht,isAddingCommentRef:Wt,setFloatingCommentBtn:It,readOnly:Ye,isLoading:_.isLoading,zoom:_.zoom}),{handleSelectionChange:zo}=Yi({getActiveEditorView:it,lastSelectionRef:$t,borderSpecRef:Or,theme:i$1,historyStateRef:io,getCachedStyleResolver:Ao,setFloatingCommentBtn:It,applySelectionDelta:useCallback(E=>te(F=>({...F,...E})),[]),recomputeFloatingCommentBtn:$l,onSelectionChange:d$1,selectionChangeSubscribersRef:Lo}),Vr=e({document:xe.state,onChange:An,onSelectionChange:E=>{}});li({pagedEditorRef:B,disableFindReplaceShortcuts:h,findReplace:ao,hyperlinkDialog:Oo,tableSelection:Vr});let Kl=useCallback(()=>{Fr(E=>{if(!E){let F=B.current?.getView();F&&Ln(collectHeadings(F.state.doc));}return !E});},[]),Gl=useCallback(E=>{B.current?.scrollToPosition(E),B.current?.setSelection(E+1),B.current?.focus();},[]),{imagePositionOpen:jl,setImagePositionOpen:Yl,imagePropsOpen:ql,setImagePropsOpen:Xl,footnotePropsOpen:Zl,setFootnotePropsOpen:Ql,handleImageWrapType:Jl,handleImageTransform:ec,handleApplyImagePosition:tc,handleOpenImageProperties:Ur,handleApplyImageProperties:oc,handleApplyFootnoteProperties:nc}=Pi({document:xe.state,pmImageContext:_.pmImageContext,zoom:_.zoom,getActiveEditorView:it,focusActiveEditor:Mt,pushDocument:Bo}),{tablePropsOpen:rc,setTablePropsOpen:ic,splitCellDialogState:ac,openSplitCellDialog:sc,handleTableAction:lc,handleSplitCellDialogClose:cc,handleSplitCellDialogApply:dc}=ki({getActiveEditorView:it,focusActiveEditor:Mt,tableSelection:Vr,borderSpecRef:Or,historyStateRef:io,getCachedStyleResolver:Ao}),{handleFormat:uc,handleInsertTable:pc,handleInsertPageBreak:mc,handleInsertTOC:fc}=xi({getActiveEditorView:it,focusActiveEditor:Mt,pagedEditorRef:B,lastSelectionRef:$t,hyperlinkDialog:Oo,historyStateRef:io,getCachedStyleResolver:Ao}),gc=useCallback(E=>{te(F=>({...F,zoom:E}));},[]),{hyperlinkPopupData:bc,handleHyperlinkSubmit:hc,handleHyperlinkRemove:yc,handleHyperlinkClick:vc,handleHyperlinkPopupNavigate:Cc,handleHyperlinkPopupCopy:Rc,handleHyperlinkPopupEdit:Sc,handleHyperlinkPopupRemove:xc,handleHyperlinkPopupClose:Pc}=hi({hyperlinkDialog:Oo,getActiveEditorView:it,focusActiveEditor:Mt}),{contextMenu:wc,imageContextMenu:Tc,handleEditorContextMenu:Ec,handleContextMenu:Ic,handleContextMenuClose:kc,handleImageWrapApply:Mc,imageContextMenuTextActions:Dc,contextMenuItems:Hc,handleContextMenuAction:Fc}=Vi({getActiveEditorView:it,focusActiveEditor:Mt,openSplitCellDialog:sc,scrollContainerRef:yt,editorContentRef:ht,i18n:X,onAddComment:useCallback(({from:E,to:F,yPos:q})=>{Le({from:E,to:F}),Et(q),be(true),et(true),It(null);},[])}),{showPageSetup:Lc,setShowPageSetup:Ac,handleOpenPageSetup:Oc,handleLeftMarginChange:Bc,handleRightMarginChange:zc,handleTopMarginChange:Nc,handleBottomMarginChange:_c,handlePageSetupApply:Wc,handleIndentLeftChange:Vc,handleIndentRightChange:Uc,handleFirstLineIndentChange:$c,handleTabStopRemove:Kc}=pi({document:xe.state,readOnly:Ye,handleDocumentChange:An,getActiveEditorView:it}),{showWatermark:Gc,setShowWatermark:jc,handleOpenWatermark:Yc,currentWatermark:qc,handleWatermarkApply:Xc}=fi({readOnly:Ye,getBodyEditorView:()=>B.current?.getView()}),{scrollPageInfo:$r,setScrollPageInfo:Zc}=Qi({scrollContainerRef:yt,pagedEditorRef:B}),Qc=useCallback(E=>{s?.(E);},[s]),{findResultRef:Jc,handleFind:ed,handleFindNext:td,handleFindPrevious:od,handleReplace:nd,handleReplaceAll:rd}=Ci({pagedEditorRef:B,findReplace:ao});Ti({ref:ie,agentRef:Oe,document:xe.state,historyStateRef:io,pagedEditorRef:B,handleSave:zl,handleDirectPrint:Wr,zoom:_.zoom,setZoom:E=>te(F=>({...F,zoom:E})),scrollPageInfo:$r,loadParsedDocument:Al,loadBuffer:_r,comments:ue,setComments:fe,setShowCommentsSidebar:be,contentChangeSubscribersRef:Fo,selectionChangeSubscribersRef:Lo,getCachedStyleResolver:Ao,commentIdAllocator:so.current});let On=useMemo(()=>Bi(xe.state),[xe.state]),Kr=xe.state?.package.document?.finalSectionProperties,{headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,handleHeaderFooterDoubleClick:cd,handleHeaderFooterSave:dd,handleBodyClick:ud,handleRemoveHeaderFooter:pd,getHfTargetElement:md}=Mi({document:xe.state,pushDocument:Bo,hfEditorRef:pe,containerRef:Ne,initialSectionProperties:On,finalSectionProperties:Kr,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,setHfEditIsFirstPage:De}),No={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...v},fd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ke=useRef({});Ke.current={onCommentReply:(E,F)=>{let q=createComment(so.current,F,n,E),Re=ue.find(He=>He.id===E);fe(He=>[...He,q]),Re&&re?.(q,Re);},onCommentResolve:E=>{let F=ue.find(q=>q.id===E);fe(q=>q.map(Re=>Re.id===E?{...Re,done:true}:Re)),j===`comment-${E}`&&ne(null),F&&V?.({...F,done:true});},onCommentUnresolve:E=>{fe(F=>F.map(q=>q.id===E?{...q,done:void 0}:q));},onCommentDelete:E=>{let F=ue.find(Re=>Re.id===E);fe(Re=>Re.filter(He=>He.id!==E&&He.parentId!==E));let q=B.current?.getView();if(q){let Re=q.state.schema.marks.comment?.create({commentId:E});if(Re){let He=q.state.tr.removeMark(0,q.state.doc.content.size,Re);He.docChanged&&q.dispatch(He);}}F&&oe?.(F);},onAddComment:E=>{let F=createComment(so.current,E,n),q=B.current?.getView();if(q&&gt){let{from:Re,to:He}=gt,at=q.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Ht=q.state.schema.marks.comment.create({commentId:F.id}),Nn=q.state.tr.removeMark(Re,He,at).addMark(Re,He,Ht);q.dispatch(Nn);}fe(Re=>[...Re,F]),et(false),Le(null),Et(null),K?.(F);},onCancelAddComment:()=>{let E=B.current?.getView();if(E&&gt){let{from:F,to:q}=gt,Re=E.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID});E.dispatch(E.state.tr.removeMark(F,q,Re));}et(false),Le(null),Et(null);},onAcceptChange:(E,F)=>{let q=B.current?.getView();q&&acceptChange(E,F)(q.state,q.dispatch);},onRejectChange:(E,F)=>{let q=B.current?.getView();q&&rejectChange(E,F)(q.state,q.dispatch);},onAcceptChangeById:E=>{let F=B.current?.getView();F&&acceptChangeById(E)(F.state,F.dispatch);},onRejectChangeById:E=>{let F=B.current?.getView();F&&rejectChangeById(E)(F.state,F.dispatch);},onTrackedChangeReply:(E,F)=>{fe(q=>[...q,createComment(so.current,F,n,E)]);}};let gd=useMemo(()=>({onCommentReply:(...E)=>Ke.current.onCommentReply?.(...E),onCommentResolve:(...E)=>Ke.current.onCommentResolve?.(...E),onCommentUnresolve:(...E)=>Ke.current.onCommentUnresolve?.(...E),onCommentDelete:(...E)=>Ke.current.onCommentDelete?.(...E),onAddComment:(...E)=>Ke.current.onAddComment?.(...E),onCancelAddComment:(...E)=>Ke.current.onCancelAddComment?.(...E),onAcceptChange:(...E)=>Ke.current.onAcceptChange?.(...E),onRejectChange:(...E)=>Ke.current.onRejectChange?.(...E),onAcceptChangeById:(...E)=>Ke.current.onAcceptChangeById?.(...E),onRejectChangeById:(...E)=>Ke.current.onRejectChangeById?.(...E),onTrackedChangeReply:(...E)=>Ke.current.onTrackedChangeReply?.(...E)}),[]),Dt=Cl({comments:ue,trackedChanges:bt,callbacks:gd,showResolved:we,isAddingComment:we?Te:false,addCommentYPosition:$e}),Gr=useMemo(()=>{let E=[];return we&&E.push(...Dt),M&&E.push(...M),E},[we,Dt,M]),Bn=useMemo(()=>{let E=new Map;return bt.forEach((F,q)=>{F.type==="replacement"&&F.insertionRevisionId!=null&&E.set(String(F.insertionRevisionId),`tc-${F.revisionId}-${q}`);}),E},[bt]),zn=Gr.length>0,bd=2*(Hr?rl:k?il:20)+816+(zn?SIDEBAR_DOCUMENT_SHIFT*2:0),jr=xe.state?.package?.document?.finalSectionProperties?.pageWidth,hd=jr?Math.round(jr/15):816,vt=useMemo(()=>{let E=new Set;for(let F of ue)F.done&&F.parentId==null&&E.add(F.id);return E},[ue]),yd=useCallback(()=>{let E=B.current?.getView();if(!E){zo(null);return}let F=extractSelectionState(E.state);zo(F);let q=E.state.selection.$from,Re=[...E.state.storedMarks??[],...q.nodeAfter?.marks??[],...q.nodeBefore?.marks??[],...q.marks()],He=null;for(let at of Re){if(at.type.name==="comment"&&at.attrs.commentId!=null){let Ht=at.attrs.commentId;if(vt.has(Ht))continue;He=`comment-${Ht}`;break}if((at.type.name==="insertion"||at.type.name==="deletion")&&at.attrs.revisionId!=null){let Ht=String(at.attrs.revisionId),Nn=`tc-${Ht}-`,_o=Dt.find(Wo=>Wo.id.startsWith(Nn));if(!_o&&Bn){let Wo=Bn.get(Ht);Wo&&(_o=Dt.find(Rd=>Rd.id===Wo));}if(_o){He=_o.id;break}}}He&&be(true),ne(He);},[zo,vt,Dt,Bn]);useEffect(()=>{Ae.current||Dt.length!==0&&(Ae.current=true,be(true));},[Dt]);let vd=useMemo(()=>{if(!j?.startsWith("comment-"))return vt;let E=parseInt(j.slice(8),10);if(isNaN(E)||!vt.has(E))return vt;let F=new Set(vt);return F.delete(E),F},[vt,j]),Cd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return _.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${R}`,style:No,"data-testid":"docx-editor",children:x||jsx(Rl,{})}):_.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${R}`,style:No,"data-testid":"docx-editor",children:jsx(xl,{message:_.parseError})}):xe.state?jsx(ul,{i18n:X,onEditorError:Qc,containerRef:Ne,scrollContainerRef:yt,editorContentRef:ht,className:R,containerStyle:No,mainContentStyle:fd,editorContainerStyle:Cd,showRuler:c,readOnlyProp:C,showOutline:Hr,showOutlineButton:k,sidebarOpen:zn,minLayoutWidth:bd,toolbarHeight:Lr,editorScrollLeft:Ar,expandedSidebarItem:j,trackedChanges:bt,onScrollContainerMouseDown:E=>{let F=E.target;F.closest(".paged-editor__pages")||F.closest(".docx-unified-sidebar")||F.closest(".docx-comment-margin-markers")||ne(null);},onEditorBgMouseDown:E=>{E.target===E.currentTarget&&(E.preventDefault(),B.current?.focus());},onEditorContextMenu:Ec,horizontalRulerProps:{sectionProps:xe.state?.package.document?.finalSectionProperties,zoom:_.zoom,unit:m$1,editable:!Ye,onLeftMarginChange:Bc,onRightMarginChange:zc,indentLeft:_.paragraphIndentLeft,indentRight:_.paragraphIndentRight,onIndentLeftChange:Vc,onIndentRightChange:Uc,firstLineIndent:_.paragraphFirstLineIndent,hangingIndent:_.paragraphHangingIndent,onFirstLineIndentChange:$c,tabStops:_.paragraphTabs,onTabStopRemove:Kc},verticalRulerProps:{sectionProps:On,zoom:_.zoom,unit:m$1,editable:!Ye,onTopMarginChange:Nc,onBottomMarginChange:_c},outlineProps:{headings:Ml,onHeadingClick:Gl,onClose:()=>Fr(false),topOffset:Lr,scrollLeft:Ar},onToggleOutline:Kl,scrollPageInfo:$r,agentPanel:J,agentPanelOpen:Do,onAgentPanelClose:()=>Ho(false),toolbar:a&&!C?jsx(aa,{toolbarRefCallback:Dl,agentPanelOpen:Do,setAgentPanelOpen:Ho,document:xe.state,theme:i$1,pmState:to,selectionFormatting:_.selectionFormatting,tableContext:_.pmTableContext,imageContext:_.pmImageContext,readOnly:Ye,editingMode:kt,setEditingMode:Dn,setShowCommentsSidebar:be,setExpandedSidebarItem:ne,showCommentsSidebar:we,agentPanel:J,renderLogo:z,documentName:Q,onDocumentNameChange:N,documentNameEditable:L,renderTitleBarRight:ee,toolbarExtra:p,fontFamilies:T,zoom:_.zoom,showZoomControl:g,onFormat:uc,onUndo:Hl,onRedo:Fl,onPrint:Wr,onOpen:_l,onSave:Nl,onZoomChange:gc,onRefocusEditor:Mt,onInsertTable:pc,onInsertImage:Vl,onInsertPageBreak:mc,onInsertTOC:fc,onImageWrapType:Jl,onImageTransform:ec,onOpenImageProperties:Ur,onPageSetup:Oc,onWatermark:Yc,onTableAction:lc}):null,pagedArea:jsxs(Fragment,{children:[jsx($s,{pagedEditorRef:B,hfEditorRef:pe,scrollContainerRef:yt,editorContentRef:ht,document:xe.state,theme:i$1,initialSectionProperties:On,finalSectionProperties:Kr,headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,onHeaderFooterDoubleClick:cd,onHeaderFooterSave:dd,onRemoveHeaderFooter:pd,onBodyClick:ud,getHfTargetElement:md,zoom:_.zoom,readOnly:Ye,extensionManager:ro,externalPlugins:he,onDocumentChange:An,onSelectionChange:zo,onPagedSelectionChange:yd,onReady:E=>{let F=E.getView();F&&oo(F.state);},onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,onHyperlinkClick:vc,hyperlinkPopupData:bc,onHyperlinkPopupNavigate:Cc,onHyperlinkPopupCopy:Rc,onHyperlinkPopupEdit:Sc,onHyperlinkPopupRemove:xc,onHyperlinkPopupClose:Pc,onContextMenu:Ic,sidebarOpen:zn,sidebarItems:Gr,anchorPositions:Ut,onAnchorPositionsChange:Mo,pluginRenderedDomContext:A,pageWidthPx:hd,expandedSidebarItem:j,setExpandedSidebarItem:ne,comments:ue,resolvedCommentIds:vt,resolvedIdsForRender:vd,setShowCommentsSidebar:be,onTotalPagesChange:E=>{Zc(F=>F.totalPages===E?F:{...F,totalPages:E});},floatingCommentBtn:Io,isAddingComment:Te,setCommentSelectionRange:Le,setAddCommentYPosition:Et,setIsAddingComment:et,setFloatingCommentBtn:It}),!Ye&&jsx(Ks,{containerRef:Ne,getView:()=>B.current?.getView()??null})]}),overlays:jsx(Ji,{contextMenu:wc,contextMenuItems:Hc,onContextMenuAction:Fc,onContextMenuClose:kc,imageContextMenu:Tc,onImageWrapApply:Mc,imageContextMenuTextActions:Dc,onOpenImageProperties:Ur,readOnly:Ye}),dialogs:jsx(ea,{findReplace:ao,findResultRef:Jc,onFind:ed,onFindNext:td,onFindPrevious:od,onReplace:nd,onReplaceAll:rd,hyperlinkDialog:Oo,onHyperlinkSubmit:hc,onHyperlinkRemove:yc,tablePropsOpen:rc,onTablePropsClose:()=>ic(false),pmTableContext:_.pmTableContext,getActiveEditorView:it,splitCellDialogState:ac,onSplitCellDialogClose:cc,onSplitCellDialogApply:dc,imagePositionOpen:jl,onImagePositionClose:()=>Yl(false),onApplyImagePosition:tc,imagePropsOpen:ql,onImagePropsClose:()=>Xl(false),onApplyImageProperties:oc,pmImageContext:_.pmImageContext,showPageSetup:Lc,onPageSetupClose:()=>Ac(false),onPageSetupApply:Wc,showWatermark:Gc,onWatermarkClose:()=>jc(false),onWatermarkApply:Xc,currentWatermark:qc,document:xe.state,footnotePropsOpen:Zl,onFootnotePropsClose:()=>Ql(false),onApplyFootnoteProperties:nc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Ol,type:"file",accept:"image/*",style:{display:"none"},onChange:Ul}),jsx("input",{ref:Bl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Wl})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${R}`,style:No,"data-testid":"docx-editor",children:y||jsx(Sl,{})})});function fh(e,t,o={}){return new Promise((r,n)=>{let u=Il.createRef(),d=null;try{d=createRoot(t);}catch(a){n(a);return}let s={save:async()=>{let a=await(u.current?.save()??Promise.resolve(null));return a?new Blob([a],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>u.current?.getDocument()??null,focus:()=>u.current?.focus(),setZoom:a=>u.current?.setZoom(a),scrollToParaId:a=>u.current?.scrollToParaId(a)??false,scrollToPosition:a=>u.current?.scrollToPosition(a),destroy:()=>{d?.unmount(),d=null;}},f=false,i=Il.createElement(Dr,{...o,documentBuffer:e,onError:a=>{o.onError?.(a),f||(f=true,n(a));},onChange:a=>{o.onChange?.(a),f||(f=true,r(s));},ref:u});d.render(i);})}var cT="0.0.2";export{Dr as DocxEditor,cT as VERSION,fh as renderAsync};