@eigenpal/docx-editor-react 1.2.1 → 1.3.1
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/WatermarkDialog-6QSGGPXJ.mjs +1 -0
- package/dist/WatermarkDialog-CYTWCE75.js +1 -0
- package/dist/chunk-2YRWZCRK.mjs +1 -0
- package/dist/{chunk-TN5C2ZYV.mjs → chunk-3L2QMHNA.mjs} +2 -2
- package/dist/{chunk-G3VEHNWI.js → chunk-53P6TCSE.js} +2 -2
- package/dist/chunk-72ZQJWN2.mjs +2 -0
- package/dist/chunk-B5AYO5OG.js +1 -0
- package/dist/{chunk-YVYT3JWY.js → chunk-EKDRHOOJ.js} +2 -2
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.js +9 -10
- package/dist/index.mjs +9 -10
- package/dist/styles.css +1 -1
- package/dist/ui.d.mts +2 -0
- package/dist/ui.d.ts +2 -0
- package/dist/ui.js +4 -4
- package/dist/ui.mjs +1 -1
- package/package.json +4 -4
- package/dist/chunk-2WKOPOCC.js +0 -1
- package/dist/chunk-SW2JOSQG.mjs +0 -2
- package/dist/chunk-T65QFB7S.mjs +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {h,d as d$1,g,F,i as i$1,o,E,C,A}from'./chunk-SW2JOSQG.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,d,i,e,b as b$4}from'./chunk-T65QFB7S.mjs';import {b as b$1}from'./chunk-TN5C2ZYV.mjs';import {b as b$3}from'./chunk-IVFYCMAM.mjs';import'./chunk-AYHZMFCQ.mjs';import {b as b$2,a as a$3}from'./chunk-OHNO4NRQ.mjs';import {m}from'./chunk-ICVBXT6V.mjs';import {b,a as a$2}from'./chunk-ZFZJRL2R.mjs';export{a as LocaleProvider,b as useTranslation}from'./chunk-ZFZJRL2R.mjs';import {b as b$5}from'./chunk-BMBP5UFA.mjs';import zl,{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,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,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {LayoutPainter,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 {DocumentAgent,ContentControlNotFoundError}from'@eigenpal/docx-editor-core/agent';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,toFlowBlocks,collectFootnoteRefs,convertHeaderFooterPmDocToContent,convertHeaderFooterToContent,buildFootnoteContentMap,stabilizeFootnoteLayout,buildFootnoteRenderItems,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,invalidateHfDomCache,measureBlocksWithFloats,findBodyPmSpans,findBodyEmptyRuns,resetCanvasContext,clearAllCaches,findBodyPmAnchors,computeHfSelectionRectsFromView,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';import {en}from'@eigenpal/docx-editor-i18n';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {EditorView}from'prosemirror-view';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {LayoutSelectionGate}from'@eigenpal/docx-editor-core/prosemirror/utils/LayoutSelectionGate';import {SIDEBAR_DOCUMENT_SHIFT,SIDEBAR_WIDTH,SIDEBAR_PAGE_GAP}from'@eigenpal/docx-editor-core/utils/sidebarConstants';import {layoutDocument,findPageIndexContainingPmPos,collectSectionConfigs,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {resolveItemPositions}from'@eigenpal/docx-editor-core/plugin-api/resolveItemPositions';import {ErrorManager}from'@eigenpal/docx-editor-core';export{createDocumentWithText,createEmptyDocument}from'@eigenpal/docx-editor-core';import {AgentPanel}from'@eigenpal/docx-editor-agents/react';import {getInitials,formatDate,getCommentText,truncateText,getAvatarColor}from'@eigenpal/docx-editor-core/utils/comments';import {CARD_STYLE_EXPANDED,CARD_STYLE_COLLAPSED}from'@eigenpal/docx-editor-core/utils/cardStyles';import {createSuggestionModePlugin,setSuggestionMode}from'@eigenpal/docx-editor-core/prosemirror/plugins';import {createRoot}from'react-dom/client';function yi({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,p]=useState(e),c=useRef(false);c.current=n;let[i,m]=useState([]);useEffect(()=>{if(p(e),e){let b=t.current?.getView();b&&m(collectHeadings(b.state.doc));}},[e,t]);let a=useRef(null),s=useRef(null),[f,l]=useState(0),S=useCallback(b=>{if(s.current=b,a.current&&(a.current.disconnect(),a.current=null),!b){l(0);return}l(b.offsetHeight);let x=new ResizeObserver(()=>{l(b.offsetHeight);});x.observe(b),a.current=x;},[]);useEffect(()=>()=>{a.current?.disconnect();},[]);let[d,h]=useState(0);return useEffect(()=>{let b=o.current;if(!b)return;let x=0,g=()=>{x=0,h(b.scrollLeft);},u=()=>{x===0&&(x=requestAnimationFrame(g));};return g(),b.addEventListener("scroll",u,{passive:true}),()=>{b.removeEventListener("scroll",u),x!==0&&cancelAnimationFrame(x);}},[r,o]),{showOutline:n,setShowOutline:p,showOutlineRef:c,outlineHeadings:i,setHeadingInfos:m,toolbarHeight:f,toolbarRefCallback:S,editorScrollLeft:d}}function vi({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let p=c=>{let m=navigator.platform.toUpperCase().indexOf("MAC")>=0?c.metaKey:c.ctrlKey;if(!m&&!c.shiftKey&&!c.altKey&&(c.key==="Delete"||c.key==="Backspace")){let a=e.current?.getView();if(a){let s=a.state.selection;if("$anchorCell"in s&&typeof s.forEachCell=="function"){let l=getTableContext(a.state);if(l.isInTable&&l.table){let S=0;l.table.descendants(h=>{(h.type.name==="tableCell"||h.type.name==="tableHeader")&&(S+=1);});let d=0;if(s.forEachCell(()=>{d+=1;}),S>0&&d>=S){c.preventDefault(),deleteTable(a.state,a.dispatch);return}}}}if(n.state.tableIndex!==null){c.preventDefault(),n.handleAction("deleteTable");return}}if(m&&!c.shiftKey&&!c.altKey){if(c.key.toLowerCase()==="f"){if(t)return;c.preventDefault();let a=window.getSelection(),s=a&&!a.isCollapsed?a.toString():"";o.openFind(s);}else if(c.key.toLowerCase()==="h"){if(t)return;c.preventDefault();let a=window.getSelection(),s=a&&!a.isCollapsed?a.toString():"";o.openReplace(s);}else if(c.key.toLowerCase()==="k"){c.preventDefault();let a=e.current?.getView();if(a){let s=getSelectedText$1(a.state),f=getHyperlinkAttrs$1(a.state);f?r.openEdit({url:f.href,displayText:s,tooltip:f.tooltip}):r.openInsert(s);}}}};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p);}},[e,t,o,r,n]);}function Si({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:p,onError:c,onPrint:i,onDocumentNameChange:m,loadBuffer:a,getActiveEditorView:s,focusActiveEditor:f}){let l=useRef(null),S=useRef(null),d=useCallback(async C=>{if(!e.current)return null;try{let y=e.current.getDocument(),R=t.current?.getDocument();R?.package?.document&&(y.package.document.content=R.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=C?.selective!==!1,w=t.current?.getView(),T;if(P&&w){let E=w.state,M=r.some(H=>H.parentId!=null);T={selective:{changedParaIds:getChangedParagraphIds(E),structuralChange:hasStructuralChanges(E)||M,hasUntrackedChanges:hasUntrackedChanges(E)}};}let I=await e.current.toBuffer(T);return w&&w.dispatch(clearTrackedChanges(w.state)),p?.(I),I}catch(y){return c?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,p,c]),h=useCallback(()=>{let C=o.current?.querySelector(".paged-editor__pages");if(!C){window.print(),i?.();return}renderAllPagesNow(C);let y=window.open("","_blank");if(!y){window.print(),i?.();return}let R=[];for(let w of Array.from(document.styleSheets))try{for(let T of Array.from(w.cssRules))T instanceof CSSFontFaceRule&&R.push(T.cssText);}catch{}let P=C.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let w of Array.from(P.querySelectorAll(".layout-page"))){let T=w;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 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,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>
|
|
2
2
|
<html><head><title>Print</title>
|
|
3
3
|
<style>
|
|
4
|
-
${
|
|
4
|
+
${x.join(`
|
|
5
5
|
`)}
|
|
6
6
|
* { margin: 0; padding: 0; }
|
|
7
7
|
body { background: white; }
|
|
@@ -9,8 +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),i?.();},[o,i]),b=useCallback(async()=>{let C=await d();if(!C)return;let y=new Blob([C],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),R=URL.createObjectURL(y),P=window.document.createElement("a");P.href=R,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(R),0);},[d,n]),x=useCallback(()=>{S.current?.click();},[]),g=useCallback(async C=>{try{let y=await readDocxFileFromInput(C.nativeEvent);if(!y)return;await a(y.buffer),m?.(y.name);}catch(y){c?.(y instanceof Error?y:new Error("Failed to open document"));}},[a,m,c]),u=useCallback(()=>{l.current?.click();},[]),v=useCallback(C=>{let y=C.target.files?.[0];if(!y)return;let R=s();if(!R)return;let P=new FileReader;P.onload=()=>{let w=P.result,T=new Image;T.onload=()=>{let I=T.naturalWidth,E=T.naturalHeight,M=612;if(I>M){let z=M/I;I=M,E=Math.round(E*z);}let H=`rId_img_${Date.now()}`,L=R.state.schema.nodes.image.create({src:w,alt:y.name,width:I,height:E,rId:H,wrapType:"inline",displayMode:"inline"});insertImageNode(R.state,R.dispatch,L,R.state.selection.from),f();},T.src=w;},P.readAsDataURL(y),C.target.value="";},[s,f]);return {imageInputRef:l,docxInputRef:S,handleSave:d,handleDirectPrint:h,handleDownloadDocument:b,handleOpenDocument:x,handleDocxFileChange:g,handleInsertImageClick:u,handleImageFileChange:v}}function Ri({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,p]=useState(false),c=useCallback(()=>p(true),[]),i=useCallback(x=>g=>{if(!e||t)return;let u={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[x]:g}}}};o(u);},[e,t,o]),m=useMemo(()=>i("marginLeft"),[i]),a=useMemo(()=>i("marginRight"),[i]),s=useMemo(()=>i("marginTop"),[i]),f=useMemo(()=>i("marginBottom"),[i]),l=useCallback(x=>{if(!e||t)return;let g={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...x}}}};o(g);},[e,t,o]),S=useCallback(x=>{let g=r();g&&setIndentLeft(x)(g.state,g.dispatch);},[r]),d=useCallback(x=>{let g=r();g&&setIndentRight(x)(g.state,g.dispatch);},[r]),h=useCallback(x=>{let g=r();g&&(x<0?setIndentFirstLine(-x,true)(g.state,g.dispatch):setIndentFirstLine(x,false)(g.state,g.dispatch));},[r]),b=useCallback(x=>{let g=r();g&&removeTabStop(x)(g.state,g.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:p,handleOpenPageSetup:c,handleLeftMarginChange:m,handleRightMarginChange:a,handleTopMarginChange:s,handleBottomMarginChange:f,handlePageSetupApply:l,handleIndentLeftChange:S,handleIndentRightChange:d,handleFirstLineIndentChange:h,handleTabStopRemove:b}}function Ti({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),p=useCallback(d=>{let h=t();if(!h)return;let b=d.url||"",x=d.tooltip,{empty:g}=h.state.selection;g&&d.displayText?insertHyperlink(d.displayText,b,x)(h.state,h.dispatch):g?d.displayText&&insertHyperlink(d.displayText,b,x)(h.state,h.dispatch):setHyperlink(b,x)(h.state,h.dispatch),e.close(),o();},[e,t,o]),c=useCallback(()=>{let d=t();d&&(removeHyperlink(d.state,d.dispatch),o());},[t,o]),i=useCallback(()=>{c(),e.close();},[e,c]),m=useCallback(d=>n(d),[]),a=useCallback(d=>{window.open(d,"_blank","noopener,noreferrer");},[]),s=useCallback(d=>{navigator.clipboard.writeText(d).catch(()=>{let h=document.createElement("textarea");h.value=d,h.style.position="fixed",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h);});},[]),f=useCallback((d,h)=>{let b=t();if(!b)return;let x=findHyperlinkRangeAt(b.state);if(x){let g=b.state.schema.marks.hyperlink,{$from:u}=b.state.selection,v=g.create({href:h,tooltip:x.mark.attrs.tooltip}),C=b.state.schema.text(d,[...u.marks().filter(R=>R.type!==g),v]),y=b.state.tr.replaceWith(x.start,x.end,C);b.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),l=useCallback(()=>{let d=t();if(!d)return;let h=findHyperlinkRangeAt(d.state,r?.href);if(!h)return;let b=d.state.schema.marks.hyperlink;d.dispatch(d.state.tr.removeMark(h.start,h.end,b).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:p,handleHyperlinkRemove:i,handleHyperlinkClick:m,handleHyperlinkPopupNavigate:a,handleHyperlinkPopupCopy:s,handleHyperlinkPopupEdit:f,handleHyperlinkPopupRemove:l,handleHyperlinkPopupClose:S}}function Ei(e,t,o){let r=0;for(let n of e){let p=r+n.text.length;if(o==="start"&&t>=r&&t<p||o==="end"&&t>r&&t<=p)return n.pmStart+t-r;r=p;}return null}function Ii(e,t,o){let r=[],n=0;return e.state.doc.descendants((p,c)=>{if(!p.isTextblock)return true;let i=[],m="";if(p.descendants((s,f)=>(!s.isText||!s.text||(i.push({text:s.text,pmStart:c+1+f}),m+=s.text),true)),!m)return n+=1,false;let a=(0, a$3.findAllMatches)(m,t,o);for(let s of a){let f=Ei(i,s.start,"start"),l=Ei(i,s.end,"end");f==null||l==null||f>=l||r.push({paragraphIndex:n,contentIndex:0,startOffset:s.start,endOffset:s.end,text:m.slice(s.start,s.end),pmFrom:f,pmTo:l});}return n+=1,false}),r}function ki({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((s,f)=>{let l=r();if(!l||!s)return null;try{let d=TextSelection.create(l.state.doc,s.pmFrom,s.pmTo);l.dispatch(l.state.tr.setSelection(d)),e.current?.scrollToPosition(s.pmFrom);}catch(d){return console.error("Find navigation failed:",d),null}let S=o.current;return S&&(S.currentIndex=f),t.goToMatch(f),s},[t,r,e]),p=useCallback((s,f)=>{let l=r();if(!l||!s.trim())return o.current=null,t.setMatches([],0),null;let S=Ii(l,s,f),d={matches:S,totalCount:S.length,currentIndex:0};return o.current=d,t.setMatches(S,0),S.length>0&&n(S[0],0),d},[t,r,n]),c=useCallback(()=>{let s=o.current;if(!s||s.matches.length===0)return null;let f=(s.currentIndex+1)%s.matches.length;return n(s.matches[f],f)},[n]),i=useCallback(()=>{let s=o.current;if(!s||s.matches.length===0)return null;let f=s.currentIndex===0?s.matches.length-1:s.currentIndex-1;return n(s.matches[f],f)},[n]),m=useCallback(s=>{let f=r(),l=o.current;if(!f||!l||l.matches.length===0)return false;let S=l.matches[l.currentIndex];if(!S)return false;try{let d=s?f.state.tr.replaceWith(S.pmFrom,S.pmTo,f.state.schema.text(s)):f.state.tr.delete(S.pmFrom,S.pmTo);return f.dispatch(d),!0}catch(d){return console.error("Replace failed:",d),false}},[r]),a=useCallback((s,f,l)=>{let S=r();if(!S||!s.trim())return 0;let d=Ii(S,s,l);if(d.length===0)return 0;let h=[...d].sort((x,g)=>g.pmFrom-x.pmFrom),b=S.state.tr;for(let x of h)try{b=f?b.replaceWith(x.pmFrom,x.pmTo,S.state.schema.text(f)):b.delete(x.pmFrom,x.pmTo);}catch(g){console.error("Replace failed for match:",x,g);}return S.dispatch(b),o.current=null,t.setMatches([],0),d.length},[t,r]);return {findResultRef:o,handleFind:p,handleFindNext:c,handleFindPrevious:i,handleReplace:m,handleReplaceAll:a}}function Hi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:p,getCachedStyleResolver:c}){let i=useCallback(f=>{let l=e();if(!l)return;l.focus();let S=l===o.current?.getView(),{from:d,to:h}=l.state.selection,b=r.current;if(S&&b&&(d!==b.from||h!==b.to))try{let x=l.state.tr.setSelection(TextSelection.create(l.state.doc,b.from,b.to));l.dispatch(x);}catch(x){console.warn("Could not restore selection:",x);}if(f==="bold")return void toggleBold(l.state,l.dispatch);if(f==="italic")return void toggleItalic(l.state,l.dispatch);if(f==="underline")return void toggleUnderline(l.state,l.dispatch);if(f==="strikethrough")return void toggleStrike(l.state,l.dispatch);if(f==="superscript")return void toggleSuperscript(l.state,l.dispatch);if(f==="subscript")return void toggleSubscript(l.state,l.dispatch);if(f==="bulletList")return void toggleBulletList(l.state,l.dispatch);if(f==="numberedList")return void toggleNumberedList(l.state,l.dispatch);if(f==="indent"){increaseListLevel(l.state,l.dispatch)||increaseIndent()(l.state,l.dispatch);return}if(f==="outdent"){decreaseListLevel(l.state,l.dispatch)||decreaseIndent()(l.state,l.dispatch);return}if(f==="clearFormatting")return void clearFormatting(l.state,l.dispatch);if(f==="setRtl")return void setRtl(l.state,l.dispatch);if(f==="setLtr")return void setLtr(l.state,l.dispatch);if(f==="insertLink"){let x=getSelectedText(l.state),g=getHyperlinkAttrs(l.state);g?n.openEdit({url:g.href,displayText:x,tooltip:g.tooltip}):n.openInsert(x);return}if(typeof f=="object")switch(f.type){case "alignment":setAlignment(f.value)(l.state,l.dispatch);break;case "textColor":{let x=f.value;typeof x=="string"?setTextColor({rgb:x.replace("#","")})(l.state,l.dispatch):x.auto?clearTextColor(l.state,l.dispatch):setTextColor(x)(l.state,l.dispatch);break}case "highlightColor":{let x=f.value?g(f.value):"";setHighlight(x||f.value)(l.state,l.dispatch);break}case "fontSize":setFontSize(d$1(f.value))(l.state,l.dispatch);break;case "fontFamily":setFontFamily(f.value)(l.state,l.dispatch);break;case "lineSpacing":setLineSpacing(f.value)(l.state,l.dispatch);break;case "applyStyle":{let x=p.current,g=x?.package.styles?c(x.package.styles):null;if(g){let u=g.resolveParagraphStyle(f.value);applyStyle(f.value,{paragraphFormatting:u.paragraphFormatting,runFormatting:u.runFormatting})(l.state,l.dispatch);}else applyStyle(f.value)(l.state,l.dispatch);break}}},[e,o,r,n,p,c]),m=useCallback((f,l)=>{let S=e();S&&(insertTable(f,l)(S.state,S.dispatch),t());},[e,t]),a=useCallback(()=>{let f=e();f&&(insertPageBreak(f.state,f.dispatch),t());},[e,t]),s=useCallback(()=>{let f=e();f&&(generateTOC(f.state,f.dispatch),t());},[e,t]);return {handleFormat:i,handleInsertTable:m,handleInsertPageBreak:a,handleInsertTOC:s}}function Fi({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:p}){let[c,i]=useState(false),[m,a]=useState(false),[s,f]=useState(false),l=useCallback(g=>{let u=r();if(!u||!t)return;let v=t.pos,C=u.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=toolbarValueToLayoutTarget(g);if(!y)return;let R;if(C.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${v}"]`),w=P?captureInlinePositionEmu(P,o):void 0;w&&(R={initialPositionEmu:w});}setImageWrapType(v,y,R)(u.state,u.dispatch),n();},[r,n,t,o]),S=useCallback(g=>{let u=r();if(!u||!t)return;let v=t.pos,C=u.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=C.attrs.transform||"",R=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=R?parseFloat(R[1]):0,w=/scaleX\(-1\)/.test(y),T=/scaleY\(-1\)/.test(y);switch(g){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":w=!w;break;case "flipV":T=!T;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),w&&I.push("scaleX(-1)"),T&&I.push("scaleY(-1)");let E=I.length>0?I.join(" "):null,M=u.state.tr.setNodeMarkup(v,void 0,{...C.attrs,transform:E});u.dispatch(M.scrollIntoView()),n();},[r,n,t]),d=useCallback(g=>{let u=r();if(!u||!t)return;let v=t.pos,C=u.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=u.state.tr.setNodeMarkup(v,void 0,{...C.attrs,position:{horizontal:g.horizontal,vertical:g.vertical},distTop:g.distTop??C.attrs.distTop,distBottom:g.distBottom??C.attrs.distBottom,distLeft:g.distLeft??C.attrs.distLeft,distRight:g.distRight??C.attrs.distRight});u.dispatch(y.scrollIntoView()),n();},[r,n,t]),h=useCallback(()=>{a(true);},[]),b=useCallback(g=>{let u=r();if(!u||!t)return;let v=t.pos,C=u.state.doc.nodeAt(v);if(!C||C.type.name!=="image")return;let y=u.state.tr.setNodeMarkup(v,void 0,{...C.attrs,alt:g.alt??null,borderWidth:g.borderWidth??null,borderColor:g.borderColor??null,borderStyle:g.borderStyle??null,width:g.width??null,height:g.height??null});u.dispatch(y.scrollIntoView()),n();},[r,n,t]),x=useCallback((g,u)=>{if(!e?.package)return;let v={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:g,endnotePr:u}};p({...e,package:{...e.package,document:v}});},[e,p]);return {imagePositionOpen:c,setImagePositionOpen:i,imagePropsOpen:m,setImagePropsOpen:a,footnotePropsOpen:s,setFootnotePropsOpen:f,handleImageWrapType:l,handleImageTransform:S,handleApplyImagePosition:d,handleOpenImageProperties:h,handleApplyImageProperties:b,handleApplyFootnoteProperties:x}}function rn(e,t,o){if(!e||!t)return null;let r=e.querySelector(".paged-editor__pages");if(!r)return null;for(let n of findBodyPmAnchors(r)){let p=Number(n.dataset.pmStart),c=Number(n.dataset.pmEnd);if(o>=p&&o<=c)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Li(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function Po(e,t){if(!t||!t.trim())return null;let o=null;return e.descendants((r,n)=>o!==null?false:r.isTextblock&&r.attrs?.paraId===t?(o={from:n,to:n+r.nodeSize},false):true),o}function Jn(e){let t=[];return e.descendants(o=>!o.isText||!o.text?true:o.marks.some(r=>r.type.name==="insertion")?false:(t.push(o.text),true)),t.join("")}function sn(e,t,o){if(t>=o)return "";let r=[];return e.nodesBetween(t,o,(n,p)=>{if(!n.isText||!n.text||n.marks.some(m=>m.type.name==="insertion"))return;let c=Math.max(t,p),i=Math.min(o,p+n.text.length);c<i&&r.push(n.text.slice(c-p,i-p));}),r.join("")}function an(e,t,o,r){if(!r)return null;let n="",p=[];e.nodesBetween(t,o,(f,l)=>{!f.isText||!f.text||f.marks.some(S=>S.type.name==="insertion")||(p.push({pos:l,len:f.text.length}),n+=f.text);});let c=n.indexOf(r);if(c===-1||n.indexOf(r,c+1)!==-1)return null;let m=0,a=t,s=t;for(let f of p){let l=m+f.len;if(m<=c&&c<l&&(a=f.pos+(c-m)),m<=c+r.length&&c+r.length<=l){s=f.pos+(c+r.length-m);break}m=l;}return {from:a,to:s}}var er=1,yt=-1,ln=new Map;function tr(){return er++}function Ai(e){e>=er&&(er=e+1);}function Jt(e,t,o){return {id:tr(),author:t,date:new Date().toISOString(),content:[{type:"paragraph",formatting:{},content:[{type:"run",formatting:{},content:[{type:"text",text:e}]}]}],...o!==void 0&&{parentId:o}}}function Bi({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:p,handleDirectPrint:c,zoom:i,setZoom:m,scrollPageInfo:a,loadParsedDocument:s,loadBuffer:f,comments:l,setComments:S,setShowCommentsSidebar:d,contentChangeSubscribersRef:h,selectionChangeSubscribersRef:b,getCachedStyleResolver:x}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:p,setZoom:m,getZoom:()=>i,focus:()=>{n.current?.focus();},getCurrentPage:()=>a.currentPage,getTotalPages:()=>a.totalPages,scrollToPage:g=>{n.current?.scrollToPage(g);},scrollToPosition:g=>{n.current?.scrollToPosition(g);},openPrintPreview:c,print:c,loadDocument:s,loadDocumentBuffer:f,addComment:g=>{let u=n.current?.getView();if(!u)return null;let{schema:v}=u.state;if(!v.marks.comment)return null;let C=Po(u.state.doc,g.paraId);if(!C)return null;let y=C.from,R=C.to;if(g.search){let T=an(u.state.doc,C.from,C.to,g.search);if(!T)return null;y=T.from,R=T.to;}let P=Jt(g.text,g.author),w=v.marks.comment.create({commentId:P.id});return u.dispatch(u.state.tr.addMark(y,R,w)),S(T=>[...T,P]),d(true),P.id},replyToComment:(g,u,v)=>{if(!l.some(y=>y.id===g))return null;let C=Jt(u,v,g);return S(y=>[...y,C]),C.id},resolveComment:g=>{S(u=>u.map(v=>v.id===g?{...v,done:true}:v));},proposeChange:g=>{let u=n.current?.getView();if(!u)return false;let{schema:v}=u.state;if(!v.marks.deletion||!v.marks.insertion)return false;let C=Po(u.state.doc,g.paraId);if(!C)return false;let y=g.search==="",R=g.replaceWith==="",P,w;if(y)P=C.to-1,w=C.to-1;else {let z=an(u.state.doc,C.from,C.to,g.search);if(!z)return false;P=z.from,w=z.to;}let T=false;if(P<w&&(u.state.doc.nodesBetween(P,w,z=>{for(let G of z.marks)if(G.type===v.marks.insertion||G.type===v.marks.deletion)return T=true,false;return true}),T))return false;let I=tr(),E=new Date().toISOString(),M=v.marks.deletion.create({revisionId:I,author:g.author,date:E}),H=v.marks.insertion.create({revisionId:I,author:g.author,date:E}),L=u.state.tr;if(y||(L=L.addMark(P,w,M)),!R){let z=v.text(g.replaceWith,[H]);L=L.insert(w,z);}return y&&R?false:(u.dispatch(L),d(true),true)},applyFormatting:g$1=>{let u=n.current?.getView();if(!u)return false;let{schema:v}=u.state,C=Po(u.state.doc,g$1.paraId);if(!C)return false;let y=C.from+1,R=C.to-1;if(g$1.search){let T=an(u.state.doc,C.from,C.to,g$1.search);if(!T)return false;y=T.from,R=T.to;}if(y>=R)return true;let P=u.state.tr,w=g$1.marks;if(w.bold!==void 0&&v.marks.bold&&(P=w.bold?P.addMark(y,R,v.marks.bold.create()):P.removeMark(y,R,v.marks.bold)),w.italic!==void 0&&v.marks.italic&&(P=w.italic?P.addMark(y,R,v.marks.italic.create()):P.removeMark(y,R,v.marks.italic)),w.underline!==void 0&&v.marks.underline)if(w.underline){let T=typeof w.underline=="object"?w.underline.style:void 0;P=P.addMark(y,R,v.marks.underline.create({style:T??"single"}));}else P=P.removeMark(y,R,v.marks.underline);if(w.strike!==void 0&&v.marks.strike&&(P=w.strike?P.addMark(y,R,v.marks.strike.create()):P.removeMark(y,R,v.marks.strike)),w.color!==void 0&&v.marks.textColor&&(w.color&&(w.color.rgb||w.color.themeColor)?P=P.addMark(y,R,v.marks.textColor.create({rgb:w.color.rgb??null,themeColor:w.color.themeColor??null})):P=P.removeMark(y,R,v.marks.textColor)),w.highlight!==void 0&&v.marks.highlight)if(w.highlight){let T=g(w.highlight);P=P.addMark(y,R,v.marks.highlight.create({color:T||w.highlight}));}else P=P.removeMark(y,R,v.marks.highlight);return w.fontSize!==void 0&&v.marks.fontSize&&(w.fontSize>0?P=P.addMark(y,R,v.marks.fontSize.create({size:d$1(w.fontSize)})):P=P.removeMark(y,R,v.marks.fontSize)),w.fontFamily!==void 0&&v.marks.fontFamily&&(w.fontFamily&&(w.fontFamily.ascii||w.fontFamily.hAnsi)?P=P.addMark(y,R,v.marks.fontFamily.create({ascii:w.fontFamily.ascii??null,hAnsi:w.fontFamily.hAnsi??w.fontFamily.ascii??null})):P=P.removeMark(y,R,v.marks.fontFamily)),u.dispatch(P),true},setParagraphStyle:g=>{let u=n.current?.getView();if(!u)return false;let v=Po(u.state.doc,g.paraId);if(!v)return false;let C=r.current,y=C?.package?.styles?x(C.package.styles):null;if(y&&!y.hasParagraphStyle(g.styleId))return false;let R=u.state.doc.resolve(v.from+1),P=u.state.doc.resolve(v.to-1),w=TextSelection.between(R,P),T=u.state.apply(u.state.tr.setSelection(w)),I=y?(()=>{let M=y.resolveParagraphStyle(g.styleId);return applyStyle(g.styleId,{paragraphFormatting:M.paragraphFormatting,runFormatting:M.runFormatting})})():applyStyle(g.styleId),E=false;return I(T,M=>{E=true,M.setSelection(u.state.selection.map(M.doc,M.mapping)),u.dispatch(M);}),E},getPageContent:g=>{let u=n.current?.getLayout();if(!u)return null;let v=u.pages[g-1];if(!v)return null;let C=n.current?.getView();if(!C)return null;let y=C.state.doc,R=new Set,P=[];for(let T of v.fragments){if(T.kind!=="paragraph")continue;let I=T.pmStart;if(I==null)continue;let E=y.nodeAt(I);if(!E||!E.isTextblock)continue;let M=E.attrs?.paraId;!M||R.has(M)||(R.add(M),P.push({paraId:M,text:Jn(E),styleId:E.attrs?.styleId??void 0}));}let w=P.map(T=>`[${T.paraId}] ${T.text}`).join(`
|
|
13
|
-
`);return {pageNumber:g,text:w,paragraphs:P}},scrollToParaId:g=>n.current?.scrollToParaId(g)??false,findInDocument:(g,u)=>{let v=n.current?.getView();if(!v||!g)return [];let C=u?.caseSensitive??false,y=u?.limit??20,R=C?g:g.toLowerCase(),P=[];return v.state.doc.descendants(w=>{if(P.length>=y)return false;if(!w.isTextblock)return true;let T=w.attrs?.paraId;if(!T)return false;let I=Jn(w),E=C?I:I.toLowerCase(),M=E.indexOf(R);if(M===-1||E.indexOf(R,M+1)!==-1)return false;let H=I.slice(M,M+g.length),L=40;return P.push({paraId:T,match:H,before:I.slice(Math.max(0,M-L),M),after:I.slice(M+g.length,M+g.length+L)}),false}),P},getSelectionInfo:()=>{let g=n.current?.getView();if(!g)return null;let{selection:u,doc:v}=g.state,C=u.$from,y=C.depth;for(;y>0&&!C.node(y).isTextblock;)y--;let R=y>0?C.node(y):null;if(!R)return null;let P=R.attrs?.paraId??null,w=C.start(y),T=w+R.content.size,I=sn(v,w,u.from),E=sn(v,u.from,u.to),M=sn(v,u.to,T);return {paraId:P,selectedText:E,paragraphText:I+E+M,before:I,after:M}},getComments:()=>l,getContentControls:g=>{let u=n.current?.getView();return u?findContentControlsInPM(u.state.doc,g??{}):[]},scrollToContentControl:g=>{let u=n.current?.getView();if(!u)return false;let v=findContentControlPos(u.state.doc,g);return v==null?false:(n.current?.scrollToPosition(v),true)},setContentControlContent:(g,u,v)=>{let C=n.current?.getView();if(!C)return false;try{return C.dispatch(setContentControlContentTr(C.state,g,u,v)),!0}catch(y){if(y instanceof ContentControlNotFoundError)return false;throw y}},removeContentControl:(g,u)=>{let v=n.current?.getView();if(!v)return false;try{return v.dispatch(removeContentControlTr(v.state,g,u)),!0}catch(C){if(C instanceof ContentControlNotFoundError)return false;throw C}},setContentControlValue:(g,u,v)=>{let C=n.current?.getView();if(!C)return false;try{return C.dispatch(setContentControlValueTr(C.state,g,u,v)),!0}catch(y){if(y instanceof ContentControlNotFoundError)return false;throw y}},onContentChange:g=>(h.current.add(g),()=>{h.current.delete(g);}),onSelectionChange:g=>(b.current.add(g),()=>{b.current.delete(g);})}),[o,i,a,p,c,s,f,l]);}var K=e=>({style:"single",size:4,color:{rgb:e}}),Nu=[{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 Ni(e){return Nu.find(t=>t.id===e)}function _i({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:p}){let[c,i]=useState(false),[m,a]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),s=useCallback(()=>{let d=e(),h=d?getSplitCellDialogConfig(d.state):null,b=h?null:o.getSplitCellConfig(),x=h??b;x&&a({isOpen:true,...x,source:h?"pm":"legacy",capturedCellRow:h?.capturedCellRow??null,capturedCellCol:h?.capturedCellCol??null});},[e,o]),f=useCallback(d=>{let h=e();if(!h){d==="splitCell"?s():typeof d!="object"&&o.handleAction(d);return}switch(d){case "addRowAbove":addRowAbove(h.state,h.dispatch);break;case "addRowBelow":addRowBelow(h.state,h.dispatch);break;case "addColumnLeft":addColumnLeft(h.state,h.dispatch);break;case "addColumnRight":addColumnRight(h.state,h.dispatch);break;case "deleteRow":deleteRow(h.state,h.dispatch);break;case "deleteColumn":deleteColumn(h.state,h.dispatch);break;case "deleteTable":deleteTable(h.state,h.dispatch);break;case "selectTable":selectTable(h.state,h.dispatch);break;case "selectRow":selectRow(h.state,h.dispatch);break;case "selectColumn":selectColumn(h.state,h.dispatch);break;case "mergeCells":mergeCells(h.state,h.dispatch);break;case "splitCell":s();break;case "borderAll":setAllTableBorders(h.state,h.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(h.state,h.dispatch,r.current);break;case "borderInside":setInsideTableBorders(h.state,h.dispatch,r.current);break;case "borderNone":removeTableBorders(h.state,h.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(h.state,h.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(h.state,h.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(h.state,h.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(h.state,h.dispatch);break;default:if(typeof d=="object"){if(d.type==="cellFillColor")setCellFillColor(d.color)(h.state,h.dispatch);else if(d.type==="borderColor"){let b=d.color.replace(/^#/,"");r.current={...r.current,color:{rgb:b}},setTableBorderColor(d.color)(h.state,h.dispatch);}else if(d.type==="borderWidth")r.current={...r.current,size:d.size},setTableBorderWidth(d.size)(h.state,h.dispatch);else if(d.type==="cellBorder")setCellBorder(d.side,{style:d.style,size:d.size,color:{rgb:d.color.replace(/^#/,"")}})(h.state,h.dispatch);else if(d.type==="cellVerticalAlign")setCellVerticalAlign(d.align)(h.state,h.dispatch);else if(d.type==="cellMargins")setCellMargins(d.margins)(h.state,h.dispatch);else if(d.type==="cellTextDirection")setCellTextDirection(d.direction)(h.state,h.dispatch);else if(d.type==="toggleNoWrap")toggleNoWrap()(h.state,h.dispatch);else if(d.type==="rowHeight")setRowHeight(d.height,d.rule)(h.state,h.dispatch);else if(d.type==="toggleHeaderRow")toggleHeaderRow()(h.state,h.dispatch);else if(d.type==="distributeColumns")distributeColumns()(h.state,h.dispatch);else if(d.type==="autoFitContents")autoFitContents()(h.state,h.dispatch);else if(d.type==="openTableProperties")i(true);else if(d.type==="applyTableStyle"){let b=Ni(d.styleId),x=n.current;if(!b&&x?.package.styles){let u=p(x.package.styles).getStyle(d.styleId);if(u){if(b={id:u.styleId,name:u.name??u.styleId},u.tblPr?.borders){let v=u.tblPr.borders;b.tableBorders={};for(let C of ["top","bottom","left","right","insideH","insideV"]){let y=v[C];y&&(b.tableBorders[C]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(u.tblStylePr){b.conditionals={};for(let v of u.tblStylePr){let C={};if(v.tcPr?.shading?.fill&&(C.backgroundColor=`#${v.tcPr.shading.fill}`),v.tcPr?.borders){let y={};for(let R of ["top","bottom","left","right"]){let P=v.tcPr.borders[R];P&&(y[R]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}C.borders=y;}v.rPr?.bold&&(C.bold=true),v.rPr?.color?.rgb&&(C.color=`#${v.rPr.color.rgb}`),b.conditionals[v.type]=C;}}b.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}b&&applyTableStyle({styleId:b.id,tableBorders:b.tableBorders,conditionals:b.conditionals,look:b.look})(h.state,h.dispatch);}}else o.handleAction(d);}t();},[o,e,t,s,r,n,p]),l=useCallback(()=>{a(d=>({...d,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((d,h)=>{if(m.source==="legacy"){o.applySplitCell(d,h),t();return}let b=e();b&&(splitActiveTableCell(b.state,b.dispatch,d,h,m.capturedCellRow??void 0,m.capturedCellCol??void 0),t());},[t,e,m.source,m.capturedCellRow,m.capturedCellCol,o]);return {tablePropsOpen:c,setTablePropsOpen:i,splitCellDialogState:m,openSplitCellDialog:s,handleTableAction:f,handleSplitCellDialogClose:l,handleSplitCellDialogApply:S}}function Vi({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:p,hfEditPosition:c,setHfEditPosition:i,hfEditIsFirstPage:m,setHfEditIsFirstPage:a}){let{headerContent:s,footerContent:f,firstPageHeaderContent:l,firstPageFooterContent:S}=useMemo(()=>{let{header:u,footer:v,firstHeader:C,firstFooter:y}=resolveHeaderFooter(e??null,p??n);return {headerContent:u,footerContent:v,firstPageHeaderContent:C,firstPageFooterContent:y}},[e,n,p]),d=useCallback((u,v)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(v??1)===1,R=y?u==="header"?l:S:u==="header"?s:f;if(a(y),R){i(u);return}if(!e?.package)return;let P=e.package,w=P.document?.finalSectionProperties;if(!w)return;let T=y?"first":"default",I=`rId_new_${u}_${T}`,E={type:u==="header"?"header":"footer",hdrFtrType:T,content:[{type:"paragraph",content:[]}]},M=u==="header"?"headers":"footers",H=new Map(P[M]??[]);H.set(I,E);let L=u==="header"?"headerReferences":"footerReferences",z=w[L]??[],G={type:T,rId:I},V=P.relationships,$=new Set;for(let ue of V?.values()??[])ue.target&&$.add(ue.target);let U=1;for(;$.has(`${u}${U}.xml`);)U++;let j=u==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",ne=new Map(V);ne.set(I,{id:I,type:j,target:`${u}${U}.xml`});let ae={...e,package:{...P,[M]:H,relationships:ne,document:P.document?{...P.document,finalSectionProperties:{...w,[L]:[...z,G]}}:P.document}};t(ae),i(u);},[s,f,l,S,e,t,i,a]),h=useCallback(u=>{if(!c||!e?.package){i(null);return}let v=e.package,C=v.document?.finalSectionProperties,y=c==="header"?C?.headerReferences:C?.footerReferences,R=m?"first":"default",P=y?.find(I=>I.type===R)??y?.find(I=>I.type==="default")??y?.find(I=>I.type==="first")??y?.[0],w=c==="header"?"headers":"footers",T=v[w];if(P?.rId&&T){let I=T.get(P.rId),E={type:c,hdrFtrType:P.type,...I,content:u},M=new Map(T);M.set(P.rId,E);let H={...e,package:{...v,[w]:M}};t(H);}i(null);},[c,m,e,t,i]),b=useCallback(()=>{if(!c)return;let u=o.current?.getView();if(u){let v=proseDocToBlocks(u.state.doc);h(v);}else i(null);},[c,h,o,i]),x=useCallback(()=>{if(!c||!e?.package){i(null);return}let u=e.package,v=u.document?.finalSectionProperties,C=c==="header"?"headerReferences":"footerReferences",y=c==="header"?"headers":"footers",R=v?.[C],P=m?"first":"default",w=R?.find(T=>T.type===P)??R?.find(T=>T.type==="default")??R?.find(T=>T.type==="first")??R?.[0];if(w?.rId){let T=new Map(u[y]??[]);T.delete(w.rId);let I=(R??[]).filter(M=>M.rId!==w.rId),E={...e,package:{...u,[y]:T,document:u.document?{...u.document,finalSectionProperties:{...v,[C]:I}}:u.document}};t(E);}i(null);},[c,m,e,t,i]),g=useCallback(u=>{let v=r.current?.querySelector(".paged-editor__pages");if(!v)return null;let C=u==="header"?".layout-page-header":".layout-page-footer";return v.querySelector(C)},[r]);return {headerContent:s,footerContent:f,firstPageHeaderContent:l,firstPageFooterContent:S,handleHeaderFooterDoubleClick:d,handleHeaderFooterSave:h,handleBodyClick:b,handleRemoveHeaderFooter:x,getHfTargetElement:g}}function Ui({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:p,setLoadingState:c,setComments:i,setShowCommentsSidebar:m,onError:a,resetForNewDocument:s,commentsLoadedRef:f}){let l=useRef(0),S=useCallback(h=>{s(),r.reset(h),c({isLoading:false,parseError:null}),loadDocumentFonts(h).catch(b=>{console.warn("Failed to load document fonts:",b);});},[s,r,c]),d=useCallback(async h=>{let b=++l.current;s(),c({isLoading:true,parseError:null});try{let x=await parseDocx(h);if(l.current!==b)return;S(x);}catch(x){if(l.current!==b)return;let g=x instanceof Error?x.message:"Failed to parse document";c({isLoading:false,parseError:g}),a?.(x instanceof Error?x:new Error(g));}},[s,S,a,c]);return useEffect(()=>{if(!o){if(!e){t&&S(t);return}d(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(f.current)return;let h=r.state;if(!h)return;let b=h.package?.document?.comments;if(b&&b.length>0){i(b),m(true),f.current=true;let x=b.reduce((u,v)=>Math.max(u,v.id),0),g=p.current?.getView();g&&g.state.doc.descendants(u=>{for(let v of u.marks)v.attrs.revisionId!=null&&(x=Math.max(x,v.attrs.revisionId));}),Ai(x);}},[r.state,p,i,m,f]),{loadParsedDocument:S,loadBuffer:d}}var Pp={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},Eo=18,Gi=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:p,onTextAction:c,onOpenProperties:i,onClose:m})=>{let{t:a}=b(),s=useRef(null),[f,l]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),d=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(u=>isImageLayoutOptionEnabled(u,o)),[o]),h$1=useMemo(()=>(p??[]).filter(u=>!u.disabled),[p]),b$2=i?1:0,x=b$2+d.length+h$1.length;useEffect(()=>{if(!e)return;let u=C=>{s.current&&!s.current.contains(C.target)&&m();},v=setTimeout(()=>{document.addEventListener("mousedown",u);},0);return ()=>{clearTimeout(v),document.removeEventListener("mousedown",u);}},[e,m]),useEffect(()=>{if(!e)return;let u=v=>{if(v.key==="Escape"){v.preventDefault(),m();return}let C=Math.max(1,x);if(v.key==="ArrowDown")v.preventDefault(),l(y=>(y+1)%C);else if(v.key==="ArrowUp")v.preventDefault(),l(y=>(y-1+C)%C);else if(v.key==="Enter"){if(v.preventDefault(),b$2&&f===0)i?.(),m();else if(f<b$2+d.length)n(d[f-b$2].choice),m();else if(c){let y=h$1[f-b$2-d.length];y&&(c(y.action),m());}}};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,f,d,h$1,x,b$2,n,i,c,m]),useEffect(()=>{if(!e)return;let u=S?d.findIndex(v=>v.choice===S):-1;l(u>=0?b$2+u:0);},[e,S,d,b$2]);let g=useCallback(()=>{let v=IMAGE_LAYOUT_OPTIONS.length,C=p?.length??0,y=v*36+C*32+(C>0?9:0)+16,R=t.x,P=t.y;return typeof window<"u"&&(R+260>window.innerWidth&&(R=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),R<10&&(R=10),P<10&&(P=10)),{position:"fixed",top:P,left:R,minWidth:260,background:"white",border:"1px solid var(--doc-border-light, #e0e0e0)",borderRadius:"8px",boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",zIndex:h.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,p]);return e?jsxs("div",{ref:s,className:"docx-image-context-menu",style:g(),role:"menu","aria-label":a("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[i&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{i(),m();},onMouseEnter:()=>l(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:f===0?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text, #222)",textAlign:"left"},children:[jsx("span",{style:{display:"flex",color:"var(--doc-text-muted, #666)",width:Eo},children:jsx(b$1,{name:"settings",size:Eo})}),jsx("span",{style:{flex:1},children:a("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]}),IMAGE_LAYOUT_OPTIONS.map(u=>{let v=u.choice===S,C=isImageLayoutOptionEnabled(u,o),y=C?b$2+d.findIndex(w=>w.choice===u.choice):-1,R=y>=0&&y===f,P=a(`imageWrap.menuDesc.${u.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":u.choice,"data-current":v?"true":"false","data-disabled":C?"false":"true",disabled:!C,onClick:()=>{C&&(n(u.choice),m());},onMouseEnter:()=>{y>=0&&l(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:R?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:C?"pointer":"not-allowed",fontSize:"13px",color:C?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:C?1:.55},children:[jsx("span",{style:{display:"flex",color:v?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:Eo},children:jsx(b$1,{name:Pp[u.iconHint],size:Eo})}),jsx("span",{style:{flex:1},children:a(`imageWrap.menu.${u.i18nLabelKey}`)}),v&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":a("toolbar.imageWrap.current"),children:"\u25CF"})]},u.choice)}),p&&p.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),p.map((u,v)=>{let C=u.disabled?-1:b$2+d.length+h$1.findIndex(R=>R.action===u.action),y=C===f&&!u.disabled;return jsxs(zl.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":u.action,"data-disabled":u.disabled?"true":"false",disabled:u.disabled,onClick:()=>{u.disabled||!c||(c(u.action),m());},onMouseEnter:()=>{C>=0&&l(C);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:y?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:u.disabled?"not-allowed":"pointer",fontSize:"13px",color:u.disabled?"var(--doc-text-placeholder, #999)":"var(--doc-text, #222)",textAlign:"left",opacity:u.disabled?.55:1},children:[jsx("span",{style:{width:Eo},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:u.label}),u.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted, #888)",fontFamily:"monospace"},children:u.shortcut})]}),u.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]},`${u.action}-${v}`)})]})]}):null};function ji(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,p]=useState("inline"),[c,i]=useState(null),[m,a]=useState(null),[s,f]=useState(null),l=useCallback(d=>{r({x:d.x,y:d.y}),p(d.wrapType),i(d.cssFloat??null),a(d.pos),f(d.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),a(null),f(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:c,imagePos:m,inlinePositionEmu:s,openForImage:l,closeMenu:S}}function Qi({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:p,onAddComment:c}){let{t:i}=b(),[m,a]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),s=ji(),f=useCallback(g=>{let u=g.target;if(u?.closest(".paged-editor__pages")&&!u.closest(".hf-inline-editor"))return;g.preventDefault(),g.stopPropagation();let v=e(),C=v?getTableContext(v.state):{isInTable:false},{from:y,to:R}=v?.state.selection??{from:0,to:0},P=y!==R;a({isOpen:true,position:{x:g.clientX,y:g.clientY},hasSelection:P,cursorInTable:C.isInTable,tableContext:C.isInTable?C:null});},[e]),l=useCallback(g=>{if(g.image){s.openForImage({x:g.x,y:g.y,wrapType:g.image.wrapType,cssFloat:g.image.cssFloat,pos:g.image.pos,inlinePositionEmu:g.image.inlinePositionEmu});return}let u=e(),v=u?getTableContext(u.state):{isInTable:false};a({isOpen:true,position:g,hasSelection:g.hasSelection,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e,s]),S=useCallback(g=>{let u=e();if(!u||s.imagePos===null)return;let v=s.inlinePositionEmu?{initialPositionEmu:s.inlinePositionEmu}:void 0;setImageWrapType(s.imagePos,g,v)(u.state,u.dispatch);},[e,s.imagePos,s.inlinePositionEmu]),d=useMemo(()=>[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut"))}],[i]),h=useCallback(()=>{a({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),b$1=useMemo(()=>{let g=[{action:"cut",label:i("contextMenu.cut"),shortcut:a$1(i("contextMenu.cutShortcut"))},{action:"copy",label:i("contextMenu.copy"),shortcut:a$1(i("contextMenu.copyShortcut"))},{action:"paste",label:i("contextMenu.paste"),shortcut:a$1(i("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:i("contextMenu.pastePlainText"),shortcut:a$1(i("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:i("contextMenu.delete"),shortcut:a$1(i("contextMenu.deleteShortcut")),dividerAfter:!m.hasSelection&&!m.cursorInTable}];return m.hasSelection&&g.push({action:"addComment",label:"Comment",dividerAfter:!m.cursorInTable}),m.cursorInTable&&g.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:p?.table?.mergeCells??en.table.mergeCells,disabled:!m.tableContext?.hasMultiCellSelection},{action:"splitCell",label:p?.table?.splitCell??en.table.splitCell,disabled:!m.tableContext?.canSplitCell,dividerAfter:true}),g.push({action:"selectAll",label:i("contextMenu.selectAll"),shortcut:a$1(i("contextMenu.selectAllShortcut"))}),g},[m.hasSelection,m.cursorInTable,m.tableContext,p,i]),x=useCallback(async g=>{let u=e();if(u)switch(t(),g){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let v=await navigator.clipboard.read(),C="",y="";for(let w of v)w.types.includes("text/html")&&(C=await(await w.getType("text/html")).text()),w.types.includes("text/plain")&&(y=await(await w.getType("text/plain")).text());let R=new DataTransfer;C&&R.items.add(C,"text/html"),y&&R.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:R,bubbles:!0,cancelable:!0});u.dom.dispatchEvent(P);}catch{try{let v=await navigator.clipboard.readText();v&&u.dispatch(u.state.tr.insertText(v));}catch{}}break}case "pasteAsPlainText":try{let v=await navigator.clipboard.readText();v&&u.dispatch(u.state.tr.insertText(v));}catch{}break;case "delete":{let{from:v,to:C}=u.state.selection;v!==C&&u.dispatch(u.state.tr.deleteRange(v,C));break}case "selectAll":u.dispatch(u.state.tr.setSelection(TextSelection.create(u.state.doc,0,u.state.doc.content.size)));break;case "addRowAbove":addRowAbove(u.state,u.dispatch);break;case "addRowBelow":addRowBelow(u.state,u.dispatch);break;case "deleteRow":deleteRow(u.state,u.dispatch);break;case "addColumnLeft":addColumnLeft(u.state,u.dispatch);break;case "addColumnRight":addColumnRight(u.state,u.dispatch);break;case "deleteColumn":deleteColumn(u.state,u.dispatch);break;case "mergeCells":mergeCells(u.state,u.dispatch);break;case "splitCell":o();break;case "addComment":{let{from:v,to:C}=u.state.selection;if(v===C)break;let y=rn(r.current,n.current,v),R=u.state.schema.marks.comment.create({commentId:yt}),P=u.state.tr.addMark(v,C,R);P.setSelection(TextSelection.create(P.doc,C)),u.dispatch(P),c({from:v,to:C,yPos:y});break}}},[e,t,o,r,n,c]);return {contextMenu:m,imageContextMenu:s,handleEditorContextMenu:f,handleContextMenu:l,handleContextMenuClose:h,handleImageWrapApply:S,imageContextMenuTextActions:d,contextMenuItems:b$1,handleContextMenuAction:x}}function es({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,p]=useState([]),c=e!==void 0,i=c?e:n,[m,a]=useState(false),[s,f]=useState(null),[l,S]=useState(null),[d,h]=useState(null),b=useRef(null),x=useRef(i);x.current=i;let g=useRef(m);g.current=m;let u=useRef(t);u.current=t;let v=useRef(o);v.current=o;let C=useCallback(R=>{let P=typeof R=="function"?R(x.current):R;P!==x.current&&(c||(x.current=P,p(P)),v.current?.(P));},[c]),y=useCallback(()=>{if(g.current)return;let R=r.current?.getView();if(!R)return;let{doc:P,schema:w}=R.state,T=w.marks.comment;if(!T)return;let I=new Set;P.descendants(H=>{for(let L of H.marks)if(L.type===T){let z=L.attrs.commentId;z!==yt&&I.add(z);}});let E=x.current,M=new Set;for(let H of E)H.parentId==null&&!I.has(H.id)&&M.add(H.id);if(M.size!==0){for(let H of E)M.has(H.id)&&u.current?.(H);C(H=>H.filter(L=>!M.has(L.id)&&!M.has(L.parentId)));}},[r,C]);return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),{comments:i,setComments:C,isAddingComment:m,setIsAddingComment:a,isAddingCommentRef:g,commentSelectionRange:s,setCommentSelectionRange:f,addCommentYPosition:l,setAddCommentYPosition:S,floatingCommentBtn:d,setFloatingCommentBtn:h,cleanOrphanedCommentsTimerRef:b,cleanOrphanedComments:y}}function os({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:p,trackedChangesLoadedRef:c}){useEffect(()=>{e.size!==0&&t(i=>{let m=false,a=i.map(s=>{if(s.parentId!=null)return s;let f=e.get(s.id);return f!=null?(m=true,{...s,parentId:f}):s});return m?a:i});},[e,t]),useEffect(()=>{c.current||r||!o||(c.current=true,n>0&&p(true));},[o,r,n,p,c]);}function rs({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:p,setFloatingCommentBtn:c,applySelectionDelta:i,recomputeFloatingCommentBtn:m,onSelectionChange:a,selectionChangeSubscribersRef:s}){return {handleSelectionChange:useCallback(l=>{let S=e();if(S){let{from:w,to:T}=S.state.selection;t.current={from:w,to:T};}let d=null;if(S&&(d=getTableContext(S.state),d.isInTable||(d=null)),d?.cellBorderColor){let w=resolveColorToHex(d.cellBorderColor,r??void 0);w&&(o.current={...o.current,color:{rgb:w}});}let h=null;if(S){let w=S.state.selection,T=w.node;T?.type.name==="image"&&(h={pos:w.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){c(null),i({selectionFormatting:{},pmTableContext:d,pmImageContext:h});return}let{textFormatting:b,paragraphFormatting:x}=l,g=b.fontFamily?.ascii||b.fontFamily?.hAnsi,u=b.fontSize;if(!g||!u){let w=n.current,T=l.styleId;if(w?.package.styles&&T){let E=p(w.package.styles).resolveParagraphStyle(T);!g&&E.runFormatting?.fontFamily&&(g=E.runFormatting.fontFamily.ascii||E.runFormatting.fontFamily.hAnsi),!u&&E.runFormatting?.fontSize&&(u=E.runFormatting.fontSize);}}let v=resolveColorToHex(b.color,r??void 0),C=v?`#${v}`:void 0,y=x.numPr,R=y?{type:y.numId===1?"bullet":"numbered",level:y.ilvl??0,isInList:true,numId:y.numId}:void 0,P={bold:b.bold,italic:b.italic,underline:!!b.underline,strike:b.strike,superscript:b.vertAlign==="superscript",subscript:b.vertAlign==="subscript",fontFamily:g,fontSize:u,color:C,highlight:b.highlight,alignment:x.alignment,lineSpacing:x.lineSpacing,listState:R,styleId:l.styleId??void 0,indentLeft:x.indentLeft,bidi:!!x.bidi};i({selectionFormatting:P,paragraphIndentLeft:x.indentLeft??0,paragraphIndentRight:x.indentRight??0,paragraphFirstLineIndent:x.indentFirstLine??0,paragraphHangingIndent:x.hangingIndent??false,paragraphTabs:x.tabs??null,pmTableContext:d,pmImageContext:h}),m(),a?.(l);for(let w of s.current)try{w(l);}catch(T){console.error("selectionChange subscriber threw:",T);}},[e,t,o,r,n,p,c,i,m,a,s])}}function ss({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:p,isLoading:c,zoom:i}){let m=useRef(false);m.current=p;let a=useCallback(()=>{let s=e.current?.getView();if(!s)return;if(r.current||m.current){n(null);return}let{from:f,to:l}=s.state.selection;if(f===l){n(null);return}let S=t.current,d=o.current;if(!S||!d)return;let h=rn(S,d,f);if(h==null)return;let x=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),g=x?x.getBoundingClientRect().right-d.getBoundingClientRect().left:d.getBoundingClientRect().width/2+408;n({top:h,left:g});},[e,t,o,r,n]);return useEffect(()=>{let s=t.current;if(!s)return;let f=new ResizeObserver(()=>a());f.observe(s);let l=()=>a();return window.addEventListener("resize",l),()=>{f.disconnect(),window.removeEventListener("resize",l);}},[c,a,t]),useEffect(()=>{a();},[i,a]),{recomputeFloatingCommentBtn:a}}function as({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]),p=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),c=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:p,redoActiveEditor:c}}function ls({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),p=e.current;return useEffect(()=>{if(!p)return;let c=()=>{let i=t.current?.getLayout();if(!i||i.pages.length===0)return;let m=p.scrollTop,a=i.pages.length,s=24,f=24,l=m+p.clientHeight/2,S=f,d=1;for(let h=0;h<i.pages.length;h++){let b=i.pages[h].size.h,x=S+b;if(l<x){d=h+1;break}S=x+s,d=h+2;}d=Math.min(d,a),r({currentPage:d,totalPages:a,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(h=>({...h,visible:false}));},600);};return p.addEventListener("scroll",c,{passive:true}),()=>{p.removeEventListener("scroll",c),n.current&&clearTimeout(n.current);}},[p,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function cs({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:p,imageContextMenuTextActions:c,onOpenImageProperties:i,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(Gi,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:p,textActions:c,onTextAction:o,onOpenProperties:i,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var jp=lazy(()=>import('./FindReplaceDialog-2ZH4XD5C.mjs')),Yp=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),qp=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),Xp=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),Zp=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),Qp=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),Jp=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),em=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog})));function ds({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:p,onReplaceAll:c,hyperlinkDialog:i,onHyperlinkSubmit:m,onHyperlinkRemove:a,tablePropsOpen:s,onTablePropsClose:f,pmTableContext:l,getActiveEditorView:S,splitCellDialogState:d,onSplitCellDialogClose:h,onSplitCellDialogApply:b,imagePositionOpen:x,onImagePositionClose:g,onApplyImagePosition:u,imagePropsOpen:v,onImagePropsClose:C,onApplyImageProperties:y,pmImageContext:R,showPageSetup:P,onPageSetupClose:w,onPageSetupApply:T,document:I,footnotePropsOpen:E,onFootnotePropsClose:M,onApplyFootnoteProperties:H}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(jp,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:p,onReplaceAll:c,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),i.state.isOpen&&jsx(Yp,{isOpen:i.state.isOpen,onClose:i.close,onSubmit:m,onRemove:i.state.isEditing?a:void 0,initialData:i.state.initialData,selectedText:i.state.selectedText,isEditing:i.state.isEditing}),s&&jsx(qp,{isOpen:s,onClose:f,onApply:L=>{let z=S();z&&setTableProperties(L)(z.state,z.dispatch);},currentProps:l?.table?.attrs}),d.isOpen&&jsx(Xp,{isOpen:d.isOpen,onClose:h,onApply:b,initialRows:d.initialRows,initialCols:d.initialCols,minRows:d.minRows,minCols:d.minCols}),x&&jsx(Zp,{isOpen:x,onClose:g,onApply:u}),v&&jsx(Qp,{isOpen:v,onClose:C,onApply:y,currentData:R?{alt:R.alt??void 0,borderWidth:R.borderWidth??void 0,borderColor:R.borderColor??void 0,borderStyle:R.borderStyle??void 0,width:R.width??void 0,height:R.height??void 0}:void 0}),P&&jsx(em,{isOpen:P,onClose:w,onApply:T,currentProps:I?.package.document?.finalSectionProperties}),E&&jsx(Jp,{isOpen:E,onClose:M,onApply:H,footnotePr:I?.package.document?.finalSectionProperties?.footnotePr,endnotePr:I?.package.document?.finalSectionProperties?.endnotePr})]})}function ps({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 cr=[{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 fs({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[p,c]=useState(false),i=useRef(null),m=useRef(null),[a,s]=useState({top:0,left:0}),f=cr.find(l=>l.value===e);return useEffect(()=>{let l=window.matchMedia("(max-width: 1400px)");c(l.matches);let S=d=>c(d.matches);return l.addEventListener("change",S),()=>l.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!i.current)return;let l=i.current.getBoundingClientRect();s({top:l.bottom+2,left:l.right-220});},[r]),useEffect(()=>{if(!r)return;let l=d=>{!i.current?.contains(d.target)&&!m.current?.contains(d.target)&&n(false);},S=d=>{d.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:i,type:"button",onMouseDown:l=>l.preventDefault(),onClick:()=>n(!r),title:`${o(f.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:p?0:4,padding:p?"2px 4px":"2px 6px 2px 4px",border:"none",background:r?"var(--doc-hover, #f3f4f6)":"transparent",borderRadius:4,cursor:"pointer",fontSize:13,fontWeight:400,color:"var(--doc-text, #374151)",whiteSpace:"nowrap",height:28},children:[jsx(b$1,{name:f.icon,size:18}),!p&&jsx("span",{children:o(f.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:m,onMouseDown:l=>l.preventDefault(),style:{position:"fixed",top:a.top,left:a.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:cr.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 gs({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 hs({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:p,selectionFormatting:c,tableContext:i,imageContext:m,readOnly:a,editingMode:s,setEditingMode:f,setShowCommentsSidebar:l,setExpandedSidebarItem:S,showCommentsSidebar:d,agentPanel:h,renderLogo:b,documentName:x,onDocumentNameChange:g,documentNameEditable:u,renderTitleBarRight:v,toolbarExtra:C$1,fontFamilies:y,zoom:R,showZoomControl:P,onFormat:w,onUndo:T,onRedo:I,onPrint:E$1,onOpen:M,onSave:H,onZoomChange:L,onRefocusEditor:z,onInsertTable:G,onInsertImage:V,onInsertPageBreak:$,onInsertTOC:U,onImageWrapType:j,onImageTransform:ne,onOpenImageProperties:ae,onPageSetup:ue,onTableAction:Ee}){return jsx("div",{ref:e,className:"z-50 flex flex-col gap-0 flex-shrink-0",children:jsxs(E,{className:t?"rounded-br-2xl":void 0,style:{transition:"border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1)"},currentFormatting:c,onFormat:w,onUndo:T,onRedo:I,canUndo:p?undoDepth(p)>0:false,canRedo:p?redoDepth(p)>0:false,disabled:a,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:E$1,onOpen:M,onSave:H,showZoomControl:P,zoom:R,onZoomChange:L,onRefocusEditor:z,onInsertTable:G,showTableInsert:true,onInsertImage:V,onInsertPageBreak:$,onInsertTOC:U,imageContext:m,onImageWrapType:j,onImageTransform:ne,onOpenImageProperties:ae,onPageSetup:ue,tableContext:i,onTableAction:Ee,children:[jsxs(E.TitleBar,{children:[b&&jsx(E.Logo,{children:b()}),x!==void 0&&jsx(E.DocumentName,{value:x,onChange:g,editable:u}),v&&jsx(E.TitleBarRight,{children:v()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(ps,{active:d,onClick:()=>{l(pe=>!pe),S(null);}}),jsx(C,{}),jsx(fs,{mode:s,onModeChange:pe=>{f(pe),pe==="suggesting"&&l(true);}}),h&&h.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(gs,{active:t,badge:h.toolbarBadge,onClick:()=>o(!t)})]}),C$1]})]})})}function ys(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),p=findBodyPmSpans(e);for(let i of p){let m=Number(i.dataset.pmStart),a=Number(i.dataset.pmEnd);if(i.classList.contains("layout-run-tab")){if(t>=m&&t<a){let s=i.getBoundingClientRect(),f=i.closest(".layout-page"),l=f?Number(f.dataset.pageNumber)-1:0,S=i.closest(".layout-line"),d=S?S.offsetHeight:16;return {x:(s.left-n.left)/o,y:(s.top-n.top)/o,height:d,pageIndex:l}}continue}if(t>=m&&t<=a&&i.firstChild?.nodeType===Node.TEXT_NODE){let s=i.firstChild,f=Math.min(t-m,s.length),l=i.ownerDocument;if(!l)continue;let S=l.createRange();S.setStart(s,f),S.setEnd(s,f);let d=S.getBoundingClientRect(),h=i.closest(".layout-page"),b=h?Number(h.dataset.pageNumber)-1:0,x=i.closest(".layout-line"),g=x?x.offsetHeight:16;return {x:(d.left-n.left)/o,y:(d.top-n.top)/o,height:g,pageIndex:b}}}let c=findBodyEmptyRuns(e);for(let i of c){let m=i.closest(".layout-paragraph");if(!m)continue;let a=Number(m.dataset.pmStart),s=Number(m.dataset.pmEnd);if(t>=a&&t<=s){let f=i.getBoundingClientRect(),l=m.closest(".layout-page"),S=l?Number(l.dataset.pageNumber)-1:0,d=i.closest(".layout-line"),h=d?d.offsetHeight:16;return {x:(f.left-n.left)/o,y:(f.top-n.top)/o,height:h,pageIndex:S}}}return null}function vs(e,t,o,r,n){let p=[],c=findBodyPmSpans(e);for(let i of c){let m=Number(i.dataset.pmStart);if(Number(i.dataset.pmEnd)<=o||m>=r)continue;if(i.classList.contains("layout-run-tab")){let b=i.getBoundingClientRect(),x=i.closest(".layout-page"),g=x?Number(x.dataset.pageNumber)-1:0;p.push({x:(b.left-t.left)/n,y:(b.top-t.top)/n,width:b.width/n,height:b.height/n,pageIndex:g});continue}let s=null;if(i.firstChild?.nodeType===Node.TEXT_NODE?s=i.firstChild:i.firstChild?.nodeType===Node.ELEMENT_NODE&&i.firstChild.tagName==="A"&&i.firstChild.firstChild?.nodeType===Node.TEXT_NODE&&(s=i.firstChild.firstChild),!s)continue;let f=i.ownerDocument;if(!f)continue;let l=Math.max(0,o-m),S=Math.min(s.length,r-m);if(l>=S)continue;let d=f.createRange();d.setStart(s,l),d.setEnd(s,S);let h=d.getClientRects();for(let b of Array.from(h)){let x=i.closest(".layout-page"),g=x?Number(x.dataset.pageNumber)-1:0;p.push({x:(b.left-t.left)/n,y:(b.top-t.top)/n,width:b.width/n,height:b.height/n,pageIndex:g});}}return p}function Do(e,t,o={}){let r=o.scope??"body",n=r==="hf"?".layout-page-header .layout-table-cell, .layout-page-footer .layout-table-cell":".layout-page-content .layout-table-cell",p=e.querySelectorAll(r==="hf"?".layout-page-header .layout-table-cell-selected, .layout-page-footer .layout-table-cell-selected":".layout-page-content .layout-table-cell-selected");for(let s of Array.from(p))s.classList.remove("layout-table-cell-selected");let c=t.selection;if(!("$anchorCell"in c&&typeof c.forEachCell=="function")||!c.forEachCell)return;let m=[];c.forEachCell((s,f)=>{m.push([f,f+s.nodeSize]);});let a=e.querySelectorAll(n);for(let s of Array.from(a)){let f=s,l=f.dataset.pmStart;if(l===void 0)continue;let S=Number(l);for(let[d,h]of m)if(S>=d&&S<h){f.classList.add("layout-table-cell-selected");break}}}var ws=4,Rs=false;function Sm(e){if(!Rs){Rs=true;try{let t=e.scrollIntoView();(typeof t.updated!="number"||(t.updated&ws)===0)&&console.warn("[HiddenProseMirror] prosemirror-state UPDATED_SCROLL bit shape changed; paginated scroll suppression may be stale. Update PM_UPDATED_SCROLL.");}catch{}}}var xm={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function Ps(e,t,o,r=[]){let n=o?.getSchema()??schema,p=t??e?.package?.styles,c=e?toProseDoc(e,{styles:p}):createEmptyDoc(),i=createDocumentStylesPlugin(p),m=[...r,...o?.getPlugins()??[],i];return EditorState.create({doc:c,schema:n,plugins:m})}function Rm(e,t){return t?fromProseDoc(e.doc,t):null}var Pm=forwardRef(function(t,o){let{document:r,styles:n,theme:p,widthPx:c=612,readOnly:i=false,onTransaction:m,onSelectionChange:a,externalPlugins:s=[],extensionManager:f,onEditorViewReady:l,onEditorViewDestroy:S,onKeyDown:d}=t,h=useRef(null),b=useRef(null),x=useRef(r),g=useRef(false),u=useRef(null),v=useRef(false),C=useRef(m),y=useRef(a),R=useRef(l),P=useRef(S),w=useRef(d),T=useRef(i);C.current=m,y.current=a,R.current=l,P.current=S,w.current=d,T.current=i,x.current=r;let I=G=>{if(!G)return "empty";let V=G.package?.properties;return `${V?.created||""}-${V?.modified||""}-${V?.title||""}`},E=useCallback(()=>{if(!h.current||g.current)return;let V={state:Ps(r,n,f,s),editable:()=>!T.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(U){if(g.current)return;b.current||(b.current=this),Sm(this.state.tr);let j=U;typeof j.updated=="number"&&(j.updated&=~ws);let ne=this.state.apply(U);this.updateState(ne),C.current?.(U,ne),(U.selectionSet||U.docChanged)&&y.current?.(ne);},handleKeyDown:(U,j)=>w.current?.(U,j)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};b.current=new EditorView(h.current,V);let $=b.current.dom;$.style.overflowAnchor="none",v.current=true,u.current=I(r),R.current?.(b.current);},[r,n,s,f,i]),M=useCallback(()=>{b.current&&!g.current&&(g.current=true,P.current?.(),b.current.destroy(),b.current=null,g.current=false);},[]);useEffect(()=>(E(),()=>M()),[]),useEffect(()=>{if(!b.current||g.current)return;let G=I(r);if(v.current&&G===u.current)return;v.current=true,u.current=G;let V=Ps(r,n,f,s);b.current.updateState(V),y.current?.(V);},[r,n,f,s]),useEffect(()=>{b.current;},[i]),useImperativeHandle(o,()=>({getState(){return b.current?.state??null},getView(){return b.current??null},getDocument(){return b.current?Rm(b.current.state,x.current):null},focus(){b.current?.focus();},blur(){b.current?.hasFocus()&&b.current.dom.blur();},isFocused(){return b.current?.hasFocus()??false},dispatch(G){b.current&&!g.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,V){if(!b.current)return;let{state:$,dispatch:U}=b.current,j=$.doc.resolve(G),ne=V!==void 0?$.doc.resolve(V):j,ae=TextSelection.between(j,ne);U($.tr.setSelection(ae));},setNodeSelection(G){if(!b.current)return;let{state:V,dispatch:$}=b.current;try{let U=NodeSelection.create(V.doc,G);$(V.tr.setSelection(U));}catch{this.setSelection(G);}},setCellSelection(G,V){if(!b.current)return;let{state:$,dispatch:U}=b.current;try{let j=CellSelection.create($.doc,G,V);U($.tr.setSelection(j));}catch{this.setSelection(G,V);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:h,className:"paged-editor__hidden-pm",style:{...xm,width:c>0?`${c}px`:void 0}}),L=globalThis.document,z=L&&"body"in L&&L.body!=null?L.body:null;return z?createPortal(H,z):H}),Ts=memo(Pm);function zm(e,t,o,r,n){let p=headerFooterToProseDoc(e.content,{styles:t??void 0,theme:o??null,defaultTabStopTwips:r??null}),c=createDocumentStylesPlugin(t);return EditorState.create({doc:p,schema:schema,plugins:[...n.getPlugins(),c]})}function _m(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 fr=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:p},c){let i=useRef(p);i.current=p;let m=useRef(t);m.current=t;let a=useRef(null),s=useRef(null),f=useRef(new Map),l=useRef(new Map);a.current=(h,b,x)=>{let u=m.current?.package;if(!u)return;let C=(b==="header"?u.headers:u.footers)?.get(h);C&&(C.content=proseDocToBlocks(x.doc));};let S=useCallback((h,b)=>{let x=t?.package;return x?(b==="header"?x.headers:x.footers)?.get(h)??null:null},[t]),d=useMemo(()=>_m(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!s.current)return;let h=s.current,b=new Map(d.map(g=>[g.rId,g])),x=f.current;for(let[g,u]of x)b.has(g)||(u.view.destroy(),u.mountNode.remove(),l.current.get(g)?.destroy(),l.current.delete(g),x.delete(g));for(let g of d){if(x.has(g.rId))continue;let u=S(g.rId,g.kind);if(!u)continue;let v=new ExtensionManager(createStarterKit());v.buildSchema(),v.initializeRuntime(),l.current.set(g.rId,v);let C=h.ownerDocument.createElement("div");C.dataset.hfRId=g.rId,C.dataset.hfKind=g.kind,h.appendChild(C);let y=zm(u,o,r,n,v),R=g.rId,P=g.kind,w=new EditorView(C,{state:y,dispatchTransaction(T){let I=w.state.apply(T);w.updateState(I),T.docChanged&&a.current?.(R,P,I),i.current?.(R,w,T.docChanged);}});x.set(g.rId,{rId:g.rId,kind:g.kind,view:w,mountNode:C});}},[d,S,o,r,n]),useEffect(()=>{let h=f.current,b=l.current;return ()=>{for(let{view:x,mountNode:g}of h.values())x.destroy(),g.remove();h.clear();for(let x of b.values())x.destroy();b.clear();}},[]),useImperativeHandle(c,()=>({getView(h){return f.current.get(h)?.view??null}}),[]),jsx("div",{ref:s,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));fr.displayName="HiddenHeaderFooterPMs";var $m="#000",Km="rgba(66, 133, 244, 0.3)",Gm=2,jm=530,Ym={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},qm=(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"}),Xm=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),Zm=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[p,c]=useState(n),i=useRef(null);return useEffect(()=>(i.current&&(window.clearInterval(i.current),i.current=null),n&&r>0?(c(true),i.current=window.setInterval(()=>{c(m=>!m);},r)):c(false),()=>{i.current&&window.clearInterval(i.current);}),[n,r]),useEffect(()=>{if(n)return c(true),i.current&&window.clearInterval(i.current),r>0&&(i.current=window.setInterval(()=>{c(m=>!m);},r)),()=>{i.current&&window.clearInterval(i.current);}},[e.x,e.y,n,r]),jsx("div",{style:qm(e,t,o,p),"data-testid":"caret"})},Qm=({rect:e,color:t,index:o})=>jsx("div",{style:Xm(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),ks=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=$m,selectionColor:p=Km,caretWidth:c=Gm,blinkInterval:i=jm})=>{if(r)return null;let m=e.length>0,a=t!==null&&!m;return jsxs("div",{style:Ym,"data-testid":"selection-overlay",children:[m&&e.map((s,f)=>jsx(Qm,{rect:s,color:p,index:f},`sel-${s.pageIndex}-${s.x}-${s.y}-${f}`)),a&&t&&jsx(Zm,{position:t,color:n,width:c,blinkInterval:i,isFocused:o})]})};var hr=10,Bt=hr/2,Fo=2,Fs="#2563eb",Ds={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},ef={position:"absolute",border:`${Fo}px solid ${Fs}`,pointerEvents:"none",boxSizing:"border-box"},tf={position:"absolute",width:`${hr}px`,height:`${hr}px`,backgroundColor:Fs,border:"1px solid white",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.3)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},of={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%)"},nf={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function rf(e,t,o,r,n,p){let c=e.includes("w")?-1:1,i=e.includes("n")?-1:1,m=r+t*c,a=n+o*i;if(p){let s=Math.max(m/r,a/n);m=r*s,a=n*s;}return {width:Math.max(20,Math.min(2e3,m)),height:Math.max(20,Math.min(2e3,a))}}function Ls({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:p,onDragMove:c,onDragStart:i,onDragEnd:m,onContextMenu:a}){let[s,f]=useState(false),[l,S]=useState(false),[d,h]=useState(0),[b,x]=useState(0),[g,u]=useState(null),v=useRef(null),C=useRef(null),y=useRef(r),R=useRef(n),P=useRef(p),w=useRef(c),T=useRef(i),I=useRef(m);y.current=r,R.current=n,P.current=p,w.current=c,T.current=i,I.current=m;let E=useRef(e),M=useRef(t);E.current=e,M.current=t;let H=useCallback(()=>{if(!e||!C.current){u(null);return}let ne=C.current.offsetParent;if(!ne){u(null);return}let ae=ne.getBoundingClientRect(),ue=e.element.getBoundingClientRect();u({left:(ue.left-ae.left)/t,top:(ue.top-ae.top)/t,width:ue.width/t,height:ue.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let ne=C.current?.closest('[style*="overflow"]')??C.current?.closest(".paged-editor__container");if(!ne)return;let ae=()=>{v.current&&cancelAnimationFrame(v.current),v.current=requestAnimationFrame(H);};return ne.addEventListener("scroll",ae,{passive:true}),window.addEventListener("resize",ae,{passive:true}),()=>{ne.removeEventListener("scroll",ae),window.removeEventListener("resize",ae),v.current&&cancelAnimationFrame(v.current);}},[e,H]);let L=useCallback((ne,ae)=>{if(!e||!g)return;ae.preventDefault(),ae.stopPropagation();let ue=g.width,Ee=g.height,Ce=ae.clientX,pe=ae.clientY,ve=Math.round(ue),we=Math.round(Ee);f(true),h(ve),x(we),R.current?.();let D=O=>{let oe=M.current,F=(O.clientX-Ce)/oe,_=(O.clientY-pe)/oe,ee=!O.shiftKey,Q=rf(ne,F,_,ue,Ee,ee);ve=Math.round(Q.width),we=Math.round(Q.height),h(ve),x(we),u(Y=>{if(!Y)return Y;let le={...Y};return ne.includes("w")&&(le.left=Y.left+(Y.width-Q.width)),ne.includes("n")&&(le.top=Y.top+(Y.height-Q.height)),le.width=Q.width,le.height=Q.height,le});},B=()=>{window.removeEventListener("mousemove",D),window.removeEventListener("mouseup",B),f(false);let O=E.current;O&&y.current?.(O.pmPos,ve,we),P.current?.();};window.addEventListener("mousemove",D),window.addEventListener("mouseup",B);},[e,g]),z=useCallback(ne=>{if(!e||!g)return;ne.preventDefault(),ne.stopPropagation();let ae=4,ue=ne.clientX,Ee=ne.clientY,Ce=false,pe=null,ve=D=>{let B=D.clientX-ue,O=D.clientY-Ee;!Ce&&Math.sqrt(B*B+O*O)<ae||(Ce||(Ce=true,S(true),T.current?.(),pe=document.createElement("div"),pe.style.cssText="position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);",pe.style.width=`${g.width}px`,pe.style.height=`${g.height}px`,document.body.appendChild(pe)),pe&&(pe.style.left=`${D.clientX-g.width/2}px`,pe.style.top=`${D.clientY-g.height/2}px`));},we=D=>{if(window.removeEventListener("mousemove",ve),window.removeEventListener("mouseup",we),pe&&(pe.remove(),pe=null),S(false),Ce){let B=E.current;B&&w.current?.(B.pmPos,D.clientX,D.clientY),I.current?.();}};window.addEventListener("mousemove",ve),window.addEventListener("mouseup",we);},[e,g]);if(!!!(e&&g&&o))return jsx("div",{ref:C,style:{...Ds,visibility:"hidden"},className:"image-selection-overlay"});let{left:V,top:$,width:U,height:j}=g;return jsxs("div",{ref:C,style:Ds,className:"image-selection-overlay",children:[jsx("div",{style:{...ef,left:V-Fo,top:$-Fo,width:U+Fo*2,height:j+Fo*2}}),jsx("div",{style:{position:"absolute",left:V,top:$,width:U,height:j,cursor:l?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:z,onContextMenu:a}),jsx(fn,{handle:"nw",style:{left:V-Bt,top:$-Bt},onMouseDown:L}),jsx(fn,{handle:"ne",style:{left:V+U-Bt,top:$-Bt},onMouseDown:L}),jsx(fn,{handle:"se",style:{left:V+U-Bt,top:$+j-Bt},onMouseDown:L}),jsx(fn,{handle:"sw",style:{left:V-Bt,top:$+j-Bt},onMouseDown:L}),s&&jsxs("div",{style:{...of,left:V+U/2,top:$+j+12},children:[d," \xD7 ",b]})]})}function fn({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...tf,...t,cursor:nf[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var af={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function Bs({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let p=useRef(null),c=useRef(null),[i,m]=useState(0);return useEffect(()=>n.onRender(()=>m(a=>a+1)),[n]),useEffect(()=>(c.current!==null&&cancelAnimationFrame(c.current),c.current=requestAnimationFrame(()=>{c.current=null;let a=e(),s=t(),f=p.current;!a||!s||!f||n.isSafeToRender()&&lf(a,s,f,o);}),()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null);}),[o,r,i]),jsx("div",{ref:p,className:"paged-editor__decoration-overlay",style:af,"aria-hidden":"true"})}function lf(e,t,o,r){let n=cf(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let p=b$3(t,r),c=p.getContainerOffset(),i=document.createDocumentFragment();for(let{decoration:m,from:a,to:s}of n){if(a===s){let S=df(m,e);if(!S)continue;let d=p.getCoordinatesForPosition(a);if(!d)continue;let h=document.createElement("div");h.style.cssText=`position:absolute;left:${d.x+c.x}px;top:${d.y+c.y}px;height:${d.height}px;`,h.appendChild(S),i.appendChild(h);continue}let f=uf(m);if(!f)continue;let l=p.getRectsForRange(a,s);for(let S of l){let d=document.createElement("div");for(let[b,x]of Object.entries(f))b!=="nodeName"&&d.setAttribute(b,x);let h=`position:absolute;left:${S.x+c.x}px;top:${S.y+c.y}px;width:${S.width}px;height:${S.height}px;`;d.style.cssText=h+(f.style??""),i.appendChild(d);}}o.replaceChildren(i);}function cf(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(p=>{p.find().forEach(c=>{c.spec?.noOverlay||t.push({decoration:c,from:c.from,to:c.to});});});}return t}function df(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 uf(e){return e.type?.attrs??null}var Vs=[];var Ws={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Us={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},$s={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Ks={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function gn(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),p=n.top+n.height/2,c=r.top+r.height/2,i=p-c,m=Math.max(0,t.scrollHeight-t.clientHeight),a=Math.max(0,Math.min(m,t.scrollTop+i));t.scrollTop=a;}function hn(e,t){if(t.aborted)return;let o=requestAnimationFrame(()=>{if(t.aborted)return;let r=requestAnimationFrame(()=>{if(t.aborted)return;let n=requestAnimationFrame(()=>{t.aborted||e();});t.addEventListener("abort",()=>cancelAnimationFrame(n),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(r),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(o),{once:true});}function js(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let p=r[n].dataset.pmStart;if(p==null)continue;let c=Number(p);Number.isNaN(c)||c<=t&&(o===null||c>o)&&(o=c);}return o}function bn(e,t){let o=e.pages.length;return e.pages.reduce((n,p)=>n+p.size.h,0)+Math.max(0,o-1)*t+24+24}function Ys(e,t,o,r,n){let p=new Map;if(!e?.state)return p;let{doc:c,schema:i}=e.state,m=i.marks.comment,a=i.marks.insertion,s=i.marks.deletion;if(!m&&!a&&!s)return p;let f=new Set,l=24+n,S=(d,h)=>{if(f.has(d))return;f.add(d);let b=getCaretPosition(t,o,r,h);if(b){p.set(d,b.y+l);return}for(let x=0;x<t.pages.length;x++){let g=t.pages[x];for(let u of g.fragments){let v=u.pmStart??0,C=u.pmEnd??v;if(h<v||h>C)continue;let y=u.kind==="table"?hf(o,r,u,h):0;p.set(d,u.y+y+getPageTop(t,x)+l);return}}};return c.descendants((d,h)=>{let b=d.attrs;if(b){let x=[b.trIns,b.trDel,b.pPrIns,b.pPrDel];for(let C of x){let y=C?.revisionId;typeof y=="number"&&S(`revision-${y}`,h);}let u=b.cellMarker?.info?.revisionId;typeof u=="number"&&S(`revision-${u}`,h);let v=[b.pPrChange,b.trPrChange,b.tcPrChange,b.tblPrChange];for(let C of v)if(Array.isArray(C))for(let y of C){let R=y?.info?.id;typeof R=="number"&&S(`revision-${R}`,h);}}if(d.isInline)for(let x of d.marks){let g=null;m&&x.type===m?g=`comment-${x.attrs.commentId}`:(a&&x.type===a||s&&x.type===s)&&(g=`revision-${x.attrs.revisionId}`),g&&S(g,h);}}),p}function hf(e,t,o,r){let n=e.findIndex(m=>m.id===o.blockId);if(n===-1)return 0;let p=e[n],c=t[n];if(p.kind!=="table"||c.kind!=="table")return 0;let i=0;for(let m=o.fromRow;m<o.toRow;m++){let a=p.rows[m];if(!a||a.cells.some(f=>f.blocks.some(l=>{let S=l.pmStart??0,d=l.pmEnd??S;return r>=S&&r<=d})))break;i+=c.rows[m]?.height??0;}return i}function yn(e){return Math.round(e/1440*96)}function yr(e){let t=e?.columnCount??1;if(t<=1)return;let o=yn(e?.columnSpace??720);return {count:t,gap:o,equalWidth:e?.equalWidth??true,separator:e?.separator}}function yf(e){let t=e.pageSize.w-e.margins.left-e.margins.right,o=e.columns;return !o||o.count<=1?t:Math.floor((t-(o.count-1)*o.gap)/o.count)}function qs(e,t,o){let{configs:r,breakIndices:n}=collectSectionConfigs(e,t,o),p=0,c=[];for(let i=0;i<e.length;i++)c.push(yf(r[p]??t)),p<n.length&&i===n[p]&&p++;return c}function Qs(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let c=getCachedParagraphMeasure(n,t);if(c)return c}let p=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,p),p}case "table":return measureTableBlock(e,t,Qs);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,p=n.margins??DEFAULT_TEXTBOX_MARGINS,c=(n.width??DEFAULT_TEXTBOX_WIDTH)-p.left-p.right,i=n.content.map(s=>measureParagraph(s,c)),m=i.reduce((s,f)=>s+f.totalHeight,0),a=n.height??m+p.top+p.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:a,innerMeasures:i}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function vn(e,t){return measureBlocksWithFloats(e,t,Qs)}function ea(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,p=js(e,o),c=0;if(p!=null){let i=findBodyPmAnchor(e,p);if(i){let m=i.getBoundingClientRect(),a=t.getBoundingClientRect();c=m.top-a.top;}else p=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:p,domAnchorOffsetInScroller:c}}function ta(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let p=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/p;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function vr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:p,domAnchorPmStart:c,domAnchorOffsetInScroller:i}=e;if(r==="incremental"&&p!=null){let a=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,p),a);return}if(r!=="incremental"&&c!=null){let a=findBodyPmAnchor(t,c);if(a){let s=o.getBoundingClientRect(),f=a.getBoundingClientRect().top-s.top;o.scrollTop+=i-f;return}}let m=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*m;}function oa(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),p=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-p)>.5&&(t.scrollTop=p);}function aa(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:p,headerContent:c,footerContent:i,firstPageHeaderContent:m,firstPageFooterContent:a,getHfPmDoc:s,pageGap:f,zoom:l,resolvedCommentIds:S,pagesContainerRef:d,viewportLayoutRef:h,hiddenPMRef:b,syncCoordinator:x,getScrollContainer:g,onTotalPagesChange:u,onAnchorPositionsChange:v,onRenderedDomContextReady:C}=e,[y,R]=useState(null),[P,w]=useState([]),[T,I]=useState([]),[E,M]=useState(0),H=useCallback(()=>M(F=>F+1),[]),L=useRef(u),z=useRef(v),G=useRef(C),V=useRef(s);L.current=u,z.current=v,G.current=C,V.current=s;let $=useRef(0);useEffect(()=>{let F=y?.pages.length??0;F!==$.current&&($.current=F,L.current?.(F));},[y]);let U=useMemo(()=>getPageSize(n),[n]),j=useMemo(()=>getMargins(n),[n]),ne=useMemo(()=>yr(n),[n]),{finalPageSize:ae,finalMargins:ue,finalColumns:Ee}=useMemo(()=>{let F=p??n;return {finalPageSize:getPageSize(F),finalMargins:getMargins(F),finalColumns:yr(F)}},[p,n]),Ce=U.w-j.left-j.right,pe=useMemo(()=>new LayoutPainter({pageGap:f,showShadow:true,pageBackground:"#fff"}),[f]),ve=useRef(null);ve.current=pe;let we=useRef(null),D=useRef(0),B=useCallback(F=>{let _=performance.now(),ee=x.getStateSeq();x.onLayoutStart();let Q=Y=>{let le=d.current,N=le?g()??findVerticalScrollParentOrRoot(le):null,q=performance.now()-D.current;oa(we.current,N,q,Y);};Q(true);try{let Y=performance.now(),le=U.h-j.top-j.bottom,N=toFlowBlocks(F.doc,{theme:r,pageContentHeight:le}),q=performance.now()-Y;q>500&&console.warn(`[PagedEditor] toFlowBlocks took ${Math.round(q)}ms (${N.length} blocks)`),w(N),Y=performance.now();let Te=qs(N,{pageSize:U,margins:j,columns:ne},{pageSize:ae,margins:ue,columns:Ee}),re=vn(N,Te);q=performance.now()-Y,q>1e3&&console.warn(`[PagedEditor] measureBlocks took ${Math.round(q)}ms (${N.length} blocks)`),I(re);let ke=collectFootnoteRefs(N),He=ke.length>0&&t?.package?.footnotes,Ie={section:"header",pageSize:U,margins:j},he={section:"footer",pageSize:U,margins:j},ie=F.doc.attrs?.defaultTabStopTwips,te={styles:o,theme:r,measureBlocks:vn,defaultTabStopTwips:ie},me=(be,ye)=>{if(!be)return;let Ae=V.current?.(be);return Ae?convertHeaderFooterPmDocToContent(Ae,Ce,ye,te):convertHeaderFooterToContent(be,Ce,ye,te)},W=me(c,Ie),ce=me(i,he),de=n?.titlePg===!0,Ve=de?me(m,Ie):void 0,rt=de?me(a,he):void 0,io=j.header??48,ut=j.footer??48,We=j.top-io,vo=j.bottom-ut,it=be=>be?be.visualBottom??be.height:0,Ut=be=>be?Math.max((be.visualBottom??be.height)-(be.visualTop??0),be.height):0,st=Math.max(it(W),it(Ve)),pt=Math.max(Ut(ce),Ut(rt)),$t=st>We,Pt=pt>vo,wt=j,Ze=ue;if($t||Pt){let be=ye=>{let Ae={...ye};return $t&&(Ae.top=Math.max(ye.top,io+st)),Pt&&(Ae.bottom=Math.max(ye.bottom,ut+pt)),Ae};wt=be(j),Ze=be(ue);for(let ye of N){if(ye.kind!=="sectionBreak")continue;let Ae=ye;Ae.margins&&(Ae.margins=be(Ae.margins));}}Y=performance.now();let Qe,mt=new Map,Tt=new Map,Co=p?.sectionStart,Kt={pageSize:U,margins:wt,finalPageSize:ae,finalMargins:Ze,columns:Ee,bodyBreakType:Co,pageGap:f};if(He){let be=layoutDocument(N,re,Kt);Tt=buildFootnoteContentMap(t.package.footnotes,ke,Ce,{styles:o??void 0,theme:r??null,measureBlocks:vn,defaultTabStopTwips:ie});let ye=stabilizeFootnoteLayout({blocks:N,measures:re,layoutOpts:Kt,footnoteRefs:ke,footnoteContentMap:Tt,initialLayout:be});Qe=ye.layout,mt=ye.pageFootnoteMap;}else Qe=layoutDocument(N,re,Kt);if(q=performance.now()-Y,q>500&&console.warn(`[PagedEditor] layoutDocument took ${Math.round(q)}ms (${Qe.pages.length} pages)`),R(Qe),d.current&&ve.current){Y=performance.now(),we.current=null,D.current=0;let be=d.current,ye=g()??findVerticalScrollParentOrRoot(be),Ae=ye?.isConnected?ea(be,ye,F.selection.head):null,Gt=new Map;for(let Fe=0;Fe<N.length;Fe++){let It=N[Fe],Se=re[Fe];It&&Se&&Gt.set(String(It.id),{block:It,measure:Se});}ve.current.setBlockLookup(Gt);let Et=He?buildFootnoteRenderItems(mt,Tt,t):void 0,so=renderPages(Qe.pages,d.current,{pageGap:f,showShadow:!0,pageBackground:"#fff",blockLookup:Gt,headerContent:W,footerContent:ce,firstPageHeaderContent:Ve,firstPageFooterContent:rt,titlePg:de,headerDistance:n?.headerDistance?yn(n.headerDistance):void 0,footerDistance:n?.footerDistance?yn(n.footerDistance):void 0,pageBorders:n?.pageBorders,theme:r,footnotesByPage:Et?.size?Et:void 0,resolvedCommentIds:S}),ft=h.current;if(ft){let Fe=bn(Qe,f);ft.style.minHeight=`${Fe}px`,l!==1?ft.style.marginBottom=`${Fe*(l-1)}px`:ft.style.marginBottom="";}if(ye?.isConnected&&Ae){let Fe=ta(so,ye,Ae);we.current=Fe,Fe.renderKind==="incremental"&&Fe.scrollTopSnapshot!=null&&(D.current=performance.now());}if(q=performance.now()-Y,q>500&&console.warn(`[PagedEditor] renderPages took ${Math.round(q)}ms`),d.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),G.current){let Fe=b$3(d.current,l);G.current(Fe);}}else we.current=null,D.current=0;if(z.current){let be=Ys(b.current?.getView()??null,Qe,N,re,f);z.current(be);}Q(!1);let at=performance.now()-_;at>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(at)}ms total (${N.length} blocks, ${re.length} measures)`);}catch(Y){console.error("[PagedEditor] Layout pipeline error:",Y);}x.onLayoutComplete(ee),Q(false);},[Ce,ne,U,j,ae,ue,Ee,f,l,x,c,i,m,a,n,p,t,S,g,b,d,o,r,h]);useLayoutEffect(()=>{let F=we.current;if(!F)return;we.current=null,D.current=0;let _=d.current,ee=g()??(_?findVerticalScrollParentOrRoot(_):null);if(!_||!ee?.isConnected)return;vr(F,_,ee);let Q=requestAnimationFrame(()=>{ee.isConnected&&vr(F,_,ee);});return ()=>cancelAnimationFrame(Q)},[y,g,d]);let O=useRef(null),oe=useCallback(F=>{if(O.current){O.current.state=F;return}let _=requestAnimationFrame(()=>{let ee=O.current;O.current=null,ee&&B(ee.state);});O.current={rafId:_,state:F};},[B]);return useEffect(()=>()=>{O.current&&(cancelAnimationFrame(O.current.rafId),O.current=null);},[]),{layout:y,blocks:P,measures:T,decorationSyncToken:E,notifyDecorationLayer:H,contentWidth:Ce,runLayoutPipeline:B,scheduleLayout:oe}}function da(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:p,pagesContainerRef:c,hiddenPMRef:i,syncCoordinator:m,isImageInteractingRef:a,onSelectionChangeRef:s}=e,[f,l]=useState([]),[S,d]=useState(null),[h,b]=useState(null),x=useRef(null),g=useCallback((C,y)=>{let R=C.tagName==="IMG"?C:C.querySelector("img"),P=(R??C).getBoundingClientRect();return {element:R??C,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),u=useCallback(C=>{let{from:y,to:R}=C.selection;x.current!==C&&(x.current=C,s.current?.(y,R));let P=c.current;if(P&&(Do(P,C),applySdtFocus(P,enclosingSdtGroupIds(C.doc,y,R))),!(!t||o.length===0))if(y===R){let w=P?ys(P,y,n):null;if(w)d(w);else {let T=c.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=c.current?.querySelector(".layout-page");if(T&&I){let E=T.getBoundingClientRect(),M=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,y);d(H?{...H,x:H.x+(M.left-E.left)/n,y:H.y+(M.top-E.top)/n}:null);}else d(null);}l([]);}else {let w=c.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(w&&c.current){let T=w.getBoundingClientRect(),I=vs(c.current,T,y,R,n);if(I.length>0)l(I);else {let E=c.current.querySelector(".layout-page");if(E){let M=E.getBoundingClientRect(),H=(M.left-T.left)/n,L=(M.top-T.top)/n,G=selectionToRects(t,o,r,y,R).map(V=>({...V,x:V.x+H,y:V.y+L}));l(G);}else l([]);}}else l([]);d(null);}},[t,o,r,n,s,c]),v=useCallback(C=>{let{selection:y}=C;y instanceof NodeSelection&&y.node.type.name==="image"?(l([]),d(null)):m.isSafeToRender()&&u(C),requestAnimationFrame(()=>{let R=i.current?.getView();if(!R){b(null);return}let{selection:P}=R.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let w=P.from,T=c.current?findBodyPmAnchor(c.current,w):null;if(T){b(g(T,w));return}}a.current||b(null);});},[u,g,m,i,a,c]);return useEffect(()=>{let C=p.current;if(!C)return;let y=new ResizeObserver(()=>{let R=i.current?.getState();R&&u(R);});return y.observe(C),()=>y.disconnect()},[u,p,i]),useEffect(()=>{let C=i.current?.getState();t&&C&&u(C);},[t,u,i]),{selectionRects:f,caretPosition:S,selectedImageInfo:h,setSelectionRects:l,setCaretPosition:d,setSelectedImageInfo:b,buildImageSelectionInfo:g,updateSelectionOverlay:u,handleSelectionChange:v}}function pa(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:p}=e,c=useCallback((l,S,d)=>{let h=o.current?.getView();if(h)try{let b=h.state.doc.nodeAt(l);if(!b||b.type.name!=="image")return;let x=h.state.tr.setNodeMarkup(l,void 0,{...b.attrs,width:S,height:d});h.dispatch(x),o.current?.setNodeSelection(l);}catch{}},[o]),i=useCallback(()=>{n.current=true;},[n]),m=useCallback(()=>{n.current=false;},[n]),a=useCallback((l,S,d)=>{let h=o.current?.getView();if(h)try{let b=h.state.doc.nodeAt(l);if(!b||b.type.name!=="image")return;if(b.attrs.displayMode==="float"||b.attrs.wrapType&&["square","tight","through"].includes(b.attrs.wrapType)){let g=t.current?.querySelectorAll(".layout-page");if(!g||g.length===0)return;let u=null;for(let I of g){let E=I.getBoundingClientRect();if(d>=E.top&&d<=E.bottom){u=I.querySelector(".layout-page-content");break}}if(u||(u=g[g.length-1].querySelector(".layout-page-content")),!u)return;let v=u.getBoundingClientRect(),C=(S-v.left)/r,y=(d-v.top)/r,R=pixelsToEmu(C),P=pixelsToEmu(y),w={horizontal:{posOffset:R,relativeTo:"margin"},vertical:{posOffset:P,relativeTo:"margin"}},T=h.state.tr.setNodeMarkup(l,void 0,{...b.attrs,position:w});h.dispatch(T),o.current?.setNodeSelection(l);}else {let g=p(S,d);if(g===null||g===l||g===l+1)return;let u=h.state.tr;if(g<=l)u=u.delete(l,l+b.nodeSize),u=u.insert(g,b),o.current?.setNodeSelection(g);else {u=u.delete(l,l+b.nodeSize);let v=g-b.nodeSize;u=u.insert(Math.min(v,u.doc.content.size),b),o.current?.setNodeSelection(Math.min(v,u.doc.content.size-1));}h.dispatch(u);}}catch{}},[p,r,o,t]),s=useCallback(()=>{n.current=true;},[n]),f=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:c,handleImageResizeStart:i,handleImageResizeEnd:m,handleImageDragMove:a,handleImageDragStart:s,handleImageDragEnd:f}}function ga(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:p,getScrollContainer:c}=e,i=useRef(null);useEffect(()=>()=>{i.current?.abort(),i.current=null;},[]);let m=useCallback((f,l=false)=>{if(!Number.isInteger(f)||f<0)return;let S=n.current;if(!S)return;i.current?.abort();let d=new AbortController;i.current=d;let{signal:h}=d,b=()=>{let T=findBodyPmAnchor(S,f);if(T)return T;for(let I of findBodyPmSpans(S)){let E=Number(I.dataset.pmStart),M=Number(I.dataset.pmEnd);if(Number.isFinite(E)&&Number.isFinite(M)&&f>=E&&f<=M)return I}return null};if(!l){let T={block:"center",inline:"nearest",behavior:"smooth"},I=b();if(I){I.scrollIntoView(T);return}let E=t,M=o,H=r;if(!E||M.length===0||H.length!==M.length)return;let L=null,z=getCaretPosition(E,M,H,f);if(z?L=z.pageIndex:L=findPageIndexContainingPmPos(E,f),L==null)return;let V=S.querySelectorAll(".layout-page")[L];if(!V)return;V.scrollIntoView(T),hn(()=>{if(!S.isConnected)return;let $=b();$&&$.scrollIntoView(T);},h);return}let x=c()??findVerticalScrollParentOrRoot(S),g=()=>{let T=b();return T?(gn(T,x),true):false};if(g())return;let u=t,v=o,C=r;if(!u||v.length===0||C.length!==v.length)return;let y=null,R=getCaretPosition(u,v,C,f);if(R?y=R.pageIndex:y=findPageIndexContainingPmPos(u,f),y==null)return;let w=S.querySelectorAll(".layout-page")[y];w&&(gn(w,x),hn(()=>{if(!S.isConnected)return;let T=b();T?gn(T,x):g();},h));},[t,o,r,c,n]),a=useCallback(f=>{if(!Number.isInteger(f)||f<1||!t||f>t.pages.length)return;let l=t.pages[f-1];for(let d of l.fragments)if(typeof d.pmStart=="number"){m(d.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[f-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,m,n]),s=useCallback(f=>{let l=p.current?.getState();if(!l)return false;let S=findStartPosForParaId(l.doc,f);if(S==null||S<0)return false;m(S,true);let d=i.current?.signal;if(!d)return true;let h=l.doc.nodeAt(S),b=h?.isTextblock===true?Math.min(S+1+h.content.size,l.doc.content.size):Math.min(S+1,l.doc.content.size);return hn(()=>{p.current&&(p.current.setSelection(b),p.current.focus());},d),true},[m,p]);return {scrollToPositionImpl:m,scrollToPageImpl:a,scrollToParaIdImpl:s}}function po(e,t){try{let o=e.state.doc.resolve(t+1);for(let r=o.depth;r>=0;r--){let n=o.node(r);if(n.type.name==="table")return {node:n,tablePos:o.before(r)}}}catch{}return null}function ha(e,t,o){let r=po(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0||n[o+1]===void 0?null:{left:n[o],right:n[o+1]}}function ba(e,t,o){let r=po(e,t);if(!r)return null;let n=null,p=0;return r.node.forEach(c=>{if(p===o){let i=c.attrs.height;i&&(n=i);}p++;}),n}function ya(e,t,o){let r=po(e,t);if(!r)return null;let n=r.node.attrs.columnWidths;return !n||n[o]===void 0?null:n[o]}function va(e,t){let{pmStart:o,colIdx:r,newLeft:n,newRight:p}=t,c=po(e,o);if(!c)return;let{node:i,tablePos:m}=c,a=e.state.tr,s=[...i.attrs.columnWidths??[]];s[r]=n,s[r+1]=p,a.setNodeMarkup(m,void 0,{...i.attrs,columnWidths:s});let f=m+1;i.forEach(l=>{let S=f+1,d=0;l.forEach(h=>{let b=h.attrs.colspan||1;if(d===r||d===r+1){let x=d===r?n:p;a.setNodeMarkup(a.mapping.map(S),void 0,{...h.attrs,width:x,widthType:"dxa",colwidth:null});}S+=h.nodeSize,d+=b;}),f+=l.nodeSize;}),e.dispatch(a);}function Ca(e,t){let{pmStart:o,rowIdx:r,newHeight:n}=t,p=po(e,o);if(!p)return;let{node:c,tablePos:i}=p,m=e.state.tr,a=i+1,s=0;c.forEach(f=>{s===r&&m.setNodeMarkup(m.mapping.map(a),void 0,{...f.attrs,height:n,heightRule:"atLeast"}),a+=f.nodeSize,s++;}),e.dispatch(m);}function Sa(e,t){let{pmStart:o,colIdx:r,newWidth:n}=t,p=po(e,o);if(!p)return;let{node:c,tablePos:i}=p,m=e.state.tr,a=[...c.attrs.columnWidths??[]];a[r]=n,m.setNodeMarkup(i,void 0,{...c.attrs,columnWidths:a});let s=i+1;c.forEach(f=>{let l=s+1,S=0;f.forEach(d=>{let h=d.attrs.colspan||1;S===r&&m.setNodeMarkup(m.mapping.map(l),void 0,{...d.attrs,width:n,widthType:"dxa",colwidth:null}),l+=d.nodeSize,S+=h;}),s+=f.nodeSize;}),e.dispatch(m);}var xn=15,wr=300,jf=200;function xa(e){let{hiddenPMRef:t,getActiveHfView:o}=e,r=useRef(null);function n(E){return E.closest(".layout-page-header")||E.closest(".layout-page-footer")?o?.()??t.current?.getView()??null:t.current?.getView()??null}let p=useRef(false),c=useRef(0),i=useRef(0),m=useRef(0),a=useRef({left:0,right:0}),s=useRef(null),f=useRef(false),l=useRef(0),S=useRef(0),d=useRef(0),h=useRef(0),b=useRef(null),x=useRef(false),g=useRef(false),u=useRef(0),v=useRef(0),C=useRef(0),y=useRef(0),R=useRef(null),P=useCallback((E,M)=>{let H=n(E);if(!H)return false;if(E.classList.contains("layout-table-resize-handle")){M.preventDefault(),M.stopPropagation(),p.current=true,c.current=M.clientX,s.current=E,r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.columnIndex??"0",10);i.current=L,m.current=parseInt(E.dataset.tablePmStart??"0",10);let z=ha(H,m.current,L);return z&&(a.current=z),true}if(E.classList.contains("layout-table-row-resize-handle")||E.classList.contains("layout-table-edge-handle-bottom")){M.preventDefault(),M.stopPropagation(),f.current=true,l.current=M.clientY,b.current=E,x.current=E.dataset.isEdge==="bottom",r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.rowIndex??"0",10);S.current=L,d.current=parseInt(E.dataset.tablePmStart??"0",10);let z=ba(H,d.current,L);if(z!=null)h.current=z;else {let V=E.closest(".layout-table")?.querySelector(`[data-row-index="${L}"]`),$=V?V.getBoundingClientRect().height:30;h.current=Math.round($*xn);}return true}if(E.classList.contains("layout-table-edge-handle-right")){M.preventDefault(),M.stopPropagation(),g.current=true,u.current=M.clientX,R.current=E,r.current=H,E.classList.add("dragging");let L=parseInt(E.dataset.columnIndex??"0",10);v.current=L,C.current=parseInt(E.dataset.tablePmStart??"0",10);let z=ya(H,C.current,L);return z!=null&&(y.current=z),true}return false},[t,o]),w=useCallback(E=>{if(p.current){E.preventDefault();let M=E.clientX-c.current;if(s.current){let H=parseFloat(s.current.style.left);s.current.style.left=`${H+M}px`,c.current=E.clientX;let L=Math.round(M*xn),z=a.current.left+L,G=a.current.right-L;z>=wr&&G>=wr&&(a.current={left:z,right:G});}return true}if(f.current){E.preventDefault();let M=E.clientY-l.current;if(b.current){let H=parseFloat(b.current.style.top);b.current.style.top=`${H+M}px`,l.current=E.clientY;let L=Math.round(M*xn),z=h.current+L;z>=jf&&(h.current=z);}return true}if(g.current){E.preventDefault();let M=E.clientX-u.current;if(R.current){let H=parseFloat(R.current.style.left);R.current.style.left=`${H+M}px`,u.current=E.clientX;let L=Math.round(M*xn),z=y.current+L;z>=wr&&(y.current=z);}return true}return false},[]),T=useCallback(()=>{let E=r.current;if(p.current){if(p.current=false,s.current&&(s.current.classList.remove("dragging"),s.current=null),E){let{left:M,right:H}=a.current;va(E,{pmStart:m.current,colIdx:i.current,newLeft:M,newRight:H});}return r.current=null,true}return f.current?(f.current=false,b.current&&(b.current.classList.remove("dragging"),b.current=null),E&&Ca(E,{pmStart:d.current,rowIdx:S.current,newHeight:h.current}),r.current=null,true):g.current?(g.current=false,R.current&&(R.current.classList.remove("dragging"),R.current=null),E&&Sa(E,{pmStart:C.current,colIdx:v.current,newWidth:y.current}),r.current=null,true):false},[]),I=useCallback(()=>p.current||f.current||g.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:w,tryCommit:T,isAnyResizeActive:I}}var sg=5;function ag(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),p=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,p)));}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 Ea(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:p,measures:c,zoom:i,readOnly:m,hfEditMode:a,onBodyClick:s,onContextMenu:f,onHyperlinkClick:l,onHeaderFooterDoubleClick:S,setSelectedImageInfo:d,setSelectionRects:h,setCaretPosition:b,buildImageSelectionInfo:x,setIsFocused:g,scrollToPositionImpl:u}=e,v=useRef(false),C=useRef(null),y=xa({hiddenPMRef:o,getActiveHfView:r}),R=useRef(false),P=useRef(null),w=useRef(null),T=useRef(null),[I,E]=useState(null),M=useRef(null),H=useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null);},[]);useEffect(()=>()=>{M.current&&clearTimeout(M.current);},[]);let L=useRef(()=>{}),z=useCallback((D,B)=>{L.current(D,B);},[]),{updateMousePosition:G,stopAutoScroll:V}=b$4({pagesContainerRef:t,onScrollExtendSelection:z}),$=useCallback((D,B)=>{if(!t.current||!n)return null;let O=clickToPositionDom(t.current,D,B,i);if(O!==null)return O;if(a){let Te=window.document.elementsFromPoint(D,B).find(Ie=>Ie.closest(".layout-page-header")||Ie.closest(".layout-page-footer"));if(!Te)return null;let re=Te.closest(".layout-page-header")??Te.closest(".layout-page-footer");if(!re)return null;let ke=Array.from(re.querySelectorAll("span[data-pm-start][data-pm-end]")),He=null;for(let Ie of ke){let he=Ie.getBoundingClientRect();if(B<he.top-4||B>he.bottom+4)continue;let ie=Number(Ie.dataset.pmStart),te=Number(Ie.dataset.pmEnd);if(!Number.isFinite(ie)||!Number.isFinite(te))continue;let me,W;if(D<he.left)me=ie,W=he.left-D;else if(D>he.right)me=te,W=D-he.right;else {let ce=(D-he.left)/Math.max(1,he.width);me=ie+Math.round(ce*(te-ie)),W=0;}(!He||W<He.dist)&&(He={pos:me,dist:W});}return He?.pos??null}let oe=t.current.querySelectorAll(".layout-page"),F=-1,_=null;for(let q=0;q<oe.length;q++){let re=oe[q].getBoundingClientRect();if(D>=re.left&&D<=re.right&&B>=re.top&&B<=re.bottom){F=q,_=re;break}}if(F<0||!_)return null;let ee=(D-_.left)/i,Q=(B-_.top)/i,Y=n.pages[F];if(!Y)return null;let le={pageIndex:F,page:Y,pageY:Q},N=hitTestFragment(le,p,c,{x:ee,y:Q});if(!N)return null;if(N.fragment.kind==="table"){let q=hitTestTableCell(le,p,c,{x:ee,y:Q});return clickToPosition(N,q)}return clickToPosition(N)},[n,p,c,i,a,t]),U=useCallback(()=>{if(a&&r){let D=r();if(D)return ag(D)}return o.current},[a,r,o]),j=useCallback(D=>{let O=U()?.getView();if(!O)return null;try{let oe=O.state.doc.resolve(D);for(let F=oe.depth;F>0;F--){let _=oe.node(F);if(_.type.name==="tableCell"||_.type.name==="tableHeader")return oe.before(F)}}catch{}return null},[U]),ne=useCallback(D=>{let B=U();if(!B)return;if(D.button===2){D.preventDefault();return}if(D.button!==0||(E(null),H(),D.target.closest("a[href]")&&D.preventDefault(),m))return;let oe=D.target;if(a){if(!(oe.closest(".layout-page-header")||oe.closest(".layout-page-footer")||oe.closest(".hf-inline-editor"))&&s){D.preventDefault(),D.stopPropagation(),s();return}}else if((oe.closest(".layout-page-header")||oe.closest(".layout-page-footer"))&&D.detail!==2){D.preventDefault();return}if(y.tryStartFromMouseDown(oe,D))return;let F=findImageElement(oe);if(F){D.preventDefault(),D.stopPropagation();let ee=F.dataset.pmStart;if(ee!==void 0){let Q=parseInt(ee,10);B.setNodeSelection(Q),d(x(F,Q)),h([]),b(null);}B.focus(),a||g(true);return}d(null),D.preventDefault();let _=$(D.clientX,D.clientY);if(_!==null){let ee=j(_);P.current=ee,R.current=false,w.current=null,T.current=null,v.current=true,C.current=_,B.setSelection(_);}else {P.current=null,R.current=false;let ee=B.getView();if(ee){let Q=Math.max(0,ee.state.doc.content.size-1);B.setSelection(Q),C.current=Q,v.current=true;}}B.focus(),a||g(true);},[U,m,a,s,$,j,y,H,d,h,b,x,g]);L.current=(D,B)=>{if(!v.current||C.current===null)return;let O=U();if(!O)return;let oe=$(D,B);oe!==null&&O.setSelection(C.current,oe);};let ae=useCallback(D=>{if(y.handleMouseMoveUpdate(D)||!v.current||C.current===null)return;let B=U();if(!B||!t.current)return;G(D.clientX,D.clientY);let O=$(D.clientX,D.clientY);if(O===null)return;if(P.current!==null){if(R.current){let _=j(O);if(_!==null){B.setCellSelection(P.current,_);return}}let F=j(O);if(F!==null&&F!==P.current){R.current=true,B.setCellSelection(P.current,F),T.current=null;return}if(w.current!==null&&O===w.current){if(T.current===null)T.current=D.clientX;else if(Math.abs(D.clientX-T.current)>=sg){R.current=true,B.setCellSelection(P.current,P.current),T.current=null;return}}else T.current=null,w.current=O;}let oe=C.current;B.setSelection(oe,O);},[U,$,j,G,y,t]),ue=useCallback(()=>{y.tryCommit()||(v.current=false,R.current=false,w.current=null,T.current=null,V());},[V,y]);useEffect(()=>(window.addEventListener("mousemove",ae),window.addEventListener("mouseup",ue),()=>{window.removeEventListener("mousemove",ae),window.removeEventListener("mouseup",ue);}),[ae,ue]);let Ee=useCallback(D=>{if(m||v.current||R.current||y.isAnyResizeActive())return;let B=t.current;if(!B)return;let O=detectTableInsertHover({mouseX:D.clientX,mouseY:D.clientY,pagesContainer:B,target:D.target,hfEditMode:a??null});if(!O){M.current||(M.current=setTimeout(()=>{E(null),M.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let oe=B.parentElement;if(!oe)return;let F=oe.getBoundingClientRect();E({type:O.type,x:O.clientX-F.left,y:O.clientY-F.top,cellPmPos:O.cellPmPos}),H();},[m,H,a,t]),Ce=useCallback(D=>{if(D.preventDefault(),D.stopPropagation(),!I)return;let B=U(),O=B?.getView();if(!B||!O)return;let{type:oe,cellPmPos:F}=I,_=O.state.tr.setSelection(TextSelection.create(O.state.doc,F+1));O.dispatch(_),oe==="row"?addRowBelow(O.state,O.dispatch):addColumnRight(O.state,O.dispatch),E(null),B.focus();},[I,U]),pe=useCallback(D=>{let B=U(),O=D.target.closest("a[href]");if(O&&B){D.preventDefault();let F=O.getAttribute("href")||"",_=B.getView();if(F.startsWith("#")){let ee=F.substring(1);if(ee&&_){let Q=null;_.state.doc.descendants((Y,le)=>{if(Q!==null)return false;if(Y.type.name==="paragraph"&&Y.attrs.bookmarks?.some(q=>q.name===ee))return Q=le,false}),Q!==null&&(u(Q),B.setSelection(Q+1));}}else if(l&&!(_&&_.state.selection.from!==_.state.selection.to)){let Q=O.textContent||"",Y=O.getAttribute("title")||void 0,le=O.closest(".ep-root.paged-editor");if(le){let N=le.getBoundingClientRect(),q=O.getBoundingClientRect(),Te={top:q.bottom-N.top+4,left:q.left-N.left};l({href:F,displayText:Q,tooltip:Y,position:Te});}}return}if(D.detail===2&&!a&&S){let F=D.target,_=F.closest(".layout-page-header"),ee=F.closest(".layout-page-footer");if(_||ee){let Q=F.closest("[data-page-number]"),Y=Q?Number(Q.dataset.pageNumber):1;D.preventDefault(),D.stopPropagation(),S(_?"header":"footer",Y);return}}if(!B)return;let oe=B.getView();if(oe){if(D.detail===2){let F=$(D.clientX,D.clientY);if(F!==null){let _=j(F);if(_!==null){D.preventDefault(),D.stopPropagation(),B.setCellSelection(_,_);return}let{doc:ee}=oe.state,Q=ee.resolve(F),Y=Q.parent;if(Y.isTextblock){let le=Y.textContent,N=Q.parentOffset,[q,Te]=findWordBoundaries(le,N),re=Q.start()+q,ke=Q.start()+Te;re<ke&&B.setSelection(re,ke);}}}if(D.detail===3){let F=$(D.clientX,D.clientY);if(F!==null){let _=oe.state.doc.resolve(F);B.setSelection(_.start(_.depth),_.end(_.depth));}}}},[U,a,$,S,l,j,u]),ve=useCallback(D=>{if(!f)return;D.preventDefault();let B=U(),O=B?.getView();if(!B||!O)return;let oe=N=>{let q=O.state.doc.nodeAt(N);if(!q||q.type.name!=="image")return null;let Te=q.attrs.wrapType??"inline",re=q.attrs.cssFloat;return {pos:N,wrapType:Te,cssFloat:re}},F=null,_=hitTestImage(D.target);if(_&&(F=oe(_.pos),F&&(F.inlinePositionEmu=captureInlinePositionEmu(_.imageEl,i))),!F){let N=O.state.selection;if(N instanceof NodeSelection&&N.node.type.name==="image"&&(F=oe(N.from),F)){let q=t.current?.querySelector(`.layout-run-image[data-pm-start="${N.from}"]`);q&&(F.inlinePositionEmu=captureInlinePositionEmu(q,i));}}let{from:ee,to:Q}=O.state.selection,Y=$(D.clientX,D.clientY);Y!==null&&(ee===Q||Y<ee||Y>Q)&&(B.setSelection(Y),B.focus(),a||g(true));let le=O.state.selection.from!==O.state.selection.to;f({x:D.clientX,y:D.clientY,hasSelection:le,image:F});},[U,a,f,$,i,t,g]),we=useCallback(()=>E(null),[]);return {handlePagesMouseDown:ne,handlePagesMouseMove:Ee,handlePagesClick:pe,handlePagesContextMenu:ve,handleTableInsertClick:Ce,tableInsertButton:I,clearTableInsertTimer:H,hideTableInsertButton:we,getPositionFromMouse:$}}function dg(e,t){let o=e?.package;if(!o)return null;let r=n=>{if(!n)return null;for(let[p,c]of n)if(c===t)return p;return null};return r(o.headers)??r(o.footers)}function Ia(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:p,scrollToPositionImpl:c,scrollToParaIdImpl:i,scrollToPageImpl:m,setIsFocused:a}=e;return {getDocument:()=>t.current?.getDocument()??null,getState:()=>t.current?.getState()??null,getView:()=>t.current?.getView()??null,focus:()=>{t.current?.focus(),a(true);},blur:()=>{t.current?.blur(),a(false);},isFocused:()=>t.current?.isFocused()??false,dispatch:s=>t.current?.dispatch(s),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(s,f)=>t.current?.setSelection(s,f),getLayout:()=>n,relayout:()=>{let s=t.current?.getState();s&&p(s);},scrollToPosition:c,scrollToParaId:i,scrollToPage:m,getHfPmView:s=>{let f=dg(r.current,s);return f?o.current?.getView(f)??null:null}}}function ka(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:p,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:m,scrollToPageImpl:a,setIsFocused:s,onReadyRef:f}=e;useImperativeHandle(t,()=>Ia({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:p,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:m,scrollToPageImpl:a,setIsFocused:s}),[p,c,i,m,a]),useEffect(()=>{f.current&&o.current&&f.current(Ia({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:p,runLayoutPipeline:c,scrollToPositionImpl:i,scrollToParaIdImpl:m,scrollToPageImpl:a,setIsFocused:s}));},[p,c,m,a]);}function Da(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:p,firstPageHeaderContent:c,firstPageFooterContent:i}=e;useEffect(()=>{let a=()=>{let s=t.current?.getView();s&&(resetCanvasContext(),clearAllCaches(),o(s.state),r(s.state));};return window.document.fonts.addEventListener("loadingdone",a),()=>{window.document.fonts.removeEventListener("loadingdone",a);}},[]);let m=useRef(0);useEffect(()=>{if(m.current===0){m.current=1;return}let a=t.current?.getView();a&&o(a.state);},[n,p,c,i,o,t]);}function Ha({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:p}){let c=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:p,style:{position:"absolute",left:t,top:o,width:20,height:20,borderRadius:"4px",border:"1px solid #dadce0",backgroundColor:"#f8f9fa",color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:200,padding:0,boxShadow:"none"},title:c,"aria-label":c,children:jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M6 1v10M1 6h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})}var Oa={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"},gg={...Oa,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},hg={...Oa,padding:"12px",width:"320px"},kr={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},bg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},yg={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},vg={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},La={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Aa={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},Cg={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},mo={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function Sg(){return jsxs("svg",{...mo,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M2 12h20"}),jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}function xg(){return jsxs("svg",{...mo,children:[jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function Rg(){return jsx("svg",{...mo,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Pg(){return jsxs("svg",{...mo,children:[jsx("path",{d:"M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),jsx("path",{d:"M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]})}function wg(){return jsxs("svg",{...mo,children:[jsx("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),jsx("line",{x1:"4",y1:"15",x2:"20",y2:"15"}),jsx("line",{x1:"10",y1:"3",x2:"8",y2:"21"}),jsx("line",{x1:"16",y1:"3",x2:"14",y2:"21"})]})}function Tg(){return jsxs("svg",{...mo,children:[jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function Mr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:yg,title:e,onClick:t,children:o})}function Ba({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:p,readOnly:c}){let{t:i}=b(),[m,a]=useState("view"),[s,f]=useState(""),[l,S]=useState(""),d=useRef(null),h=useRef(null);useEffect(()=>{e&&(a("view"),f(e.displayText),S(e.href));},[e]),useEffect(()=>{m==="edit"&&requestAnimationFrame(()=>{h.current?.focus(),h.current?.select();});},[m]),useEffect(()=>{if(!e)return;let y=false,R=w=>{d.current&&!d.current.contains(w.target)&&p();},P=setTimeout(()=>{y||document.addEventListener("mousedown",R);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",R);}},[e,p]),useEffect(()=>{if(!e)return;let y=R=>{R.key==="Escape"&&(m==="edit"?a("view"):p());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,m,p]);let b$1=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),x=useCallback(()=>{e&&(f(e.displayText),S(e.href),a("edit"));},[e]),g=useCallback(()=>{let y=l.trim();y&&r(s.trim()||y,y);},[s,l,r]),u=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),g());},[g]);if(!e)return null;let v=e.position.top,C=e.position.left;return m==="edit"?jsxs("div",{ref:d,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...hg,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:La,children:[jsx("span",{style:kr,children:jsx(wg,{})}),jsx("input",{ref:h,type:"text",style:Aa,value:s,onChange:y=>f(y.target.value),onKeyDown:u,placeholder:i("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...La,marginBottom:0},children:[jsx("span",{style:kr,children:jsx(Tg,{})}),jsx("input",{type:"text",style:Aa,value:l,onChange:y=>S(y.target.value),onKeyDown:u,placeholder:i("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...Cg,opacity:l.trim()?1:.5,cursor:l.trim()?"pointer":"default"},onClick:g,disabled:!l.trim(),children:i("common.apply")})]})]}):jsxs("div",{ref:d,className:"ep-hyperlink-popup",style:{...gg,top:v,left:C},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:kr,children:jsx(Sg,{})}),jsx("a",{href:e.href,style:bg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:vg}),jsx(Mr,{title:i("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(xg,{})}),!c&&jsxs(Fragment,{children:[jsx(Mr,{title:i("hyperlinkPopup.editLink"),onClick:x,children:jsx(Rg,{})}),jsx(Mr,{title:i("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Pg,{})})]})]})}var Ag=forwardRef(function(t,o){let{document:r,styles:n,theme:p,sectionProperties:c,finalSectionProperties:i,headerContent:m,footerContent:a$1,firstPageHeaderContent:s,firstPageFooterContent:f,readOnly:l=false,pageGap:S=24,zoom:d=1,onDocumentChange:h,onSelectionChange:b,externalPlugins:x=Vs,extensionManager:g,onReady:u,onRenderedDomContextReady:v,pluginOverlays:C,onHeaderFooterDoubleClick:y,hfEditMode:R,onBodyClick:P,onHfTransaction:w,className:T,style:I,commentsSidebarOpen:E=false,sidebarOverlay:M,scrollContainerRef:H,onHyperlinkClick:L,onContextMenu:z,onAnchorPositionsChange:G,onTotalPagesChange:V,resolvedCommentIds:$,hyperlinkPopupData:U,onHyperlinkPopupNavigate:j,onHyperlinkPopupCopy:ne,onHyperlinkPopupEdit:ae,onHyperlinkPopupRemove:ue,onHyperlinkPopupClose:Ee}=t,Ce=useCallback(()=>H&&typeof H=="object"?H.current:pe.current,[H]),pe=useRef(null),ve=useRef(null),we=useRef(null),D=useRef(null),B=useRef(null),O=useRef(r);O.current=r;let{handlePMKeyDown:oe}=a({pagesContainerRef:ve}),F=useRef(b),_=useRef(h),ee=useRef(u),Q=useRef(v);F.current=b,_.current=h,ee.current=u,Q.current=v;let[Y,le]=useState(false);useEffect(()=>{if(R){let X=D.current?.getView();if(X){try{let xe=X.state.tr.setSelection(TextSelection.create(X.state.doc,0));X.dispatch(xe);}catch{}X.dom.blur?.();}le(false);}},[R]);let N=useRef(false),q=useMemo(()=>new LayoutSelectionGate,[]),Te=useCallback(X=>{let xe=B.current;if(!xe)return null;let fe=r?.package;if(!fe)return null;let Ne=ao=>{if(!ao)return null;for(let[kt,Mt]of ao)if(Mt===X)return kt;return null},Ue=Ne(fe.headers)??Ne(fe.footers);return Ue?xe.getView(Ue)?.state.doc??null:null},[r]),{layout:re,blocks:ke,measures:He,decorationSyncToken:Ie,notifyDecorationLayer:he,contentWidth:ie,runLayoutPipeline:te,scheduleLayout:me}=aa({document:r,styles:n,theme:p,sectionProperties:c,finalSectionProperties:i,headerContent:m,footerContent:a$1,firstPageHeaderContent:s,firstPageFooterContent:f,getHfPmDoc:Te,pageGap:S,zoom:d,resolvedCommentIds:$,pagesContainerRef:ve,viewportLayoutRef:we,hiddenPMRef:D,syncCoordinator:q,getScrollContainer:Ce,onTotalPagesChange:V,onAnchorPositionsChange:G,onRenderedDomContextReady:v}),{selectionRects:W,caretPosition:ce,selectedImageInfo:de,setSelectionRects:Ve,setCaretPosition:rt,setSelectedImageInfo:io,buildImageSelectionInfo:ut,updateSelectionOverlay:We,handleSelectionChange:vo}=da({layout:re,blocks:ke,measures:He,zoom:d,containerRef:pe,pagesContainerRef:ve,hiddenPMRef:D,syncCoordinator:q,isImageInteractingRef:N,onSelectionChangeRef:F}),it=useCallback((X,xe)=>{if(he(),X.docChanged){q.incrementStateSeq(),me(xe);let fe=D.current?.getDocument();fe&&_.current?.(fe);}q.requestRender(),X.docChanged||We(xe);},[me,We,q,he]),{scrollToPositionImpl:Ut,scrollToPageImpl:st,scrollToParaIdImpl:pt}=ga({layout:re,blocks:ke,measures:He,pagesContainerRef:ve,hiddenPMRef:D,getScrollContainer:Ce}),{handlePagesMouseDown:$t,handlePagesMouseMove:Pt,handlePagesClick:wt,handlePagesContextMenu:Ze,handleTableInsertClick:Qe,tableInsertButton:mt,clearTableInsertTimer:Tt,hideTableInsertButton:Co,getPositionFromMouse:Kt}=Ea({pagesContainerRef:ve,hiddenPMRef:D,getHfView:useCallback(()=>{let X=B.current;if(!X)return null;let xe=r?.package?.document?.finalSectionProperties,fe=R==="header"?xe?.headerReferences:xe?.footerReferences,Ne=fe?.find(Ue=>Ue.type==="default")??fe?.find(Ue=>Ue.type==="first")??null;return Ne?.rId?X.getView(Ne.rId):null},[R,r]),layout:re,blocks:ke,measures:He,zoom:d,readOnly:l,hfEditMode:R,onBodyClick:P,onContextMenu:z,onHyperlinkClick:L,onHeaderFooterDoubleClick:y,setSelectedImageInfo:io,setSelectionRects:Ve,setCaretPosition:rt,buildImageSelectionInfo:ut,setIsFocused:le,scrollToPositionImpl:Ut}),at=useCallback(X=>{if(l)return;let xe=X.target;xe.closest(".docx-comments-sidebar")||xe.closest(".docx-unified-sidebar")||xe.closest(".ep-hyperlink-popup")||xe.closest("[data-hf-r-id]")||(D.current?.focus(),le(true));},[l]),be=useCallback(X=>{let xe=X.relatedTarget;xe&&pe.current?.contains(xe)||xe?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||le(false);},[]),{handleImageResize:ye,handleImageResizeStart:Ae,handleImageResizeEnd:Gt,handleImageDragMove:Et,handleImageDragStart:so,handleImageDragEnd:ft}=pa({pagesContainerRef:ve,hiddenPMRef:D,zoom:d,isImageInteractingRef:N,getPositionFromMouse:Kt}),Fe=useCallback(X=>{if(l)return;let xe=X.target;if(!xe?.closest("[data-hf-r-id]")&&!xe?.closest(".ep-hyperlink-popup")){if(D.current?.isFocused()||(D.current?.focus(),le(true)),X.key===" "&&!X.ctrlKey&&!X.metaKey&&!X.nativeEvent.isComposing){X.preventDefault();let fe=D.current?.getView();if(fe){let{from:Ne,to:Ue}=fe.state.selection;fe.someProp("handleTextInput",kt=>kt(fe,Ne,Ue," "))||fe.dispatch(fe.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(X.key)&&!X.metaKey&&X.ctrlKey,X.key==="Home"&&(X.metaKey||X.ctrlKey)){let fe=Ce();fe&&(fe.scrollTop=0);}if(X.key==="End"&&(X.metaKey||X.ctrlKey)){let fe=Ce();fe&&(fe.scrollTop=fe.scrollHeight);}}},[l,Ce]),It=useCallback(X=>{l||X.target.closest(".docx-comments-sidebar")||X.target.closest(".docx-unified-sidebar")||D.current?.isFocused()||(D.current?.focus(),le(true));},[l]),Se=useCallback(X=>{te(X.state),We(X.state),l||requestAnimationFrame(()=>{X.focus(),le(true);});},[te,We,l]);Da({hiddenPMRef:D,runLayoutPipeline:te,updateSelectionOverlay:We,headerContent:m,footerContent:a$1,firstPageHeaderContent:s,firstPageFooterContent:f}),ka({ref:o,hiddenPMRef:D,hiddenHfPMsRef:B,documentRef:O,layout:re,runLayoutPipeline:te,scrollToPositionImpl:Ut,scrollToParaIdImpl:pt,scrollToPageImpl:st,setIsFocused:le,onReadyRef:ee});let So=useMemo(()=>re?bn(re,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[re,S]);return jsxs("div",{ref:pe,className:`ep-root paged-editor ${T??""}`,style:{...Ws,...I},tabIndex:0,onFocus:at,onBlur:be,onKeyDown:Fe,onMouseDown:It,children:[jsx(Ts,{ref:D,document:r,styles:n,widthPx:ie,readOnly:l||!!R,onTransaction:it,onSelectionChange:vo,externalPlugins:x,extensionManager:g,onEditorViewReady:Se,onKeyDown:oe}),jsx(fr,{ref:B,document:r,styles:n,theme:p,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(X,xe,fe)=>{if(fe){let Ne=D.current?.getState();Ne&&te(Ne);}w?.(X,xe,fe);}}),jsxs("div",{ref:we,style:{...Us,minHeight:So,marginBottom:d!==1?So*(d-1):void 0,transform:(()=>{let X=[];return E&&X.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),d!==1&&X.push(`scale(${d})`),X.length>0?X.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:ve,className:`paged-editor__pages${l?" paged-editor--readonly":""}${R?` paged-editor--hf-editing paged-editor--editing-${R}`:""}`,style:$s,onMouseDown:$t,onMouseMove:Pt,onClick:wt,onContextMenu:Ze,"aria-hidden":"true"}),jsx(ks,{selectionRects:R?[]:W,caretPosition:R?null:ce,isFocused:Y&&!R,pageGap:S,readOnly:l}),jsx(Ls,{imageInfo:de,zoom:d,isFocused:Y,onResize:ye,onResizeStart:Ae,onResizeEnd:Gt,onDragMove:Et,onDragStart:so,onDragEnd:ft,onContextMenu:Ze}),mt&&jsx(Ha,{type:mt.type,x:mt.x,y:mt.y,onMouseDown:Qe,onMouseEnter:Tt,onMouseLeave:Co}),C&&jsx("div",{className:"paged-editor__plugin-overlays",style:Ks,children:C}),jsx(Bs,{getView:()=>D.current?.getView()??null,getPagesContainer:()=>ve.current,zoom:d,decorationSyncToken:Ie,syncCoordinator:q})]}),M&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:So*d,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:M})}),U&&j&&ne&&ae&&ue&&Ee&&jsx(Ba,{data:U,onNavigate:j,onCopy:ne,onEdit:ae,onRemove:ue,onClose:Ee,readOnly:l})]})}),Va=memo(Ag);var $a={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"},Ka={fontWeight:500,letterSpacing:.3},Ug={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},$g={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"},wn={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},ja=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:p,onSave:c,onClose:i,onRemove:m},a){let s=useRef(r);s.current=r;let[f,l]=useState(false),S=useRef(null),[d,h$1]=useState(null);useLayoutEffect(()=>{let R=()=>{let w=p.getBoundingClientRect(),T=n.getBoundingClientRect();h$1({top:T.top-w.top+p.scrollTop,left:T.left-w.left+p.scrollLeft,width:T.width,height:T.height});};R();let P=p.closest('[style*="overflow"]')||p;return P.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{P.removeEventListener("scroll",R),window.removeEventListener("resize",R);}},[n,p]);let b$1=useRef(false);useEffect(()=>{!r||b$1.current||(b$1.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let x=useCallback(()=>{if(!s.current)return;let R=proseDocToBlocks(s.current.state.doc);c(R);},[c]),g=useCallback(()=>{x(),i();},[x,i]);useEffect(()=>{function R(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),g());}return document.addEventListener("keydown",R,true),()=>document.removeEventListener("keydown",R,true)},[g]),useEffect(()=>{if(!f)return;function R(P){S.current&&!S.current.contains(P.target)&&l(false);}return document.addEventListener("mousedown",R),()=>document.removeEventListener("mousedown",R)},[f]),useImperativeHandle(a,()=>({getView:()=>s.current,focus:()=>s.current?.focus(),undo:()=>{let R=s.current;return R?undo(R.state,R.dispatch):false},redo:()=>{let R=s.current;return R?redo(R.state,R.dispatch):false}}));let{t:u}=b(),v=u(o==="header"?"headerFooter.header":"headerFooter.footer");if(!d)return null;let C={position:"absolute",top:d.top,left:d.left,width:d.width,height:d.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},y={...$a,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:C,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:y,children:[jsx("span",{style:Ka,children:v}),jsx(Ga,{label:v,showOptions:f,setShowOptions:l,optionsRef:S,onRemove:m,onClose:g,viewRef:s})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:$a,children:[jsx("span",{style:Ka,children:v}),jsx(Ga,{label:v,showOptions:f,setShowOptions:l,optionsRef:S,onRemove:m,onClose:g,viewRef:s})]})]})});function Ga({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:p,viewRef:c}){let{t:i}=b(),m=a=>{let s=c.current;if(!s)return;let{$from:f,from:l}=s.state.selection,S=s.state.storedMarks||f.marks(),d=schema.nodes.field.create({fieldType:a,instruction:` ${a} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),h=s.state.tr.insert(l,d.mark(S));s.dispatch(h),s.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:Ug,onClick:a=>{a.stopPropagation(),o(s=>!s);},onMouseDown:a=>a.stopPropagation(),children:[i("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:$g,onMouseDown:a=>a.stopPropagation(),children:[jsx("button",{type:"button",style:wn,onClick:()=>{o(false),m("PAGE");},onMouseOver:a=>{a.target.style.backgroundColor="#f1f3f4";},onMouseOut:a=>{a.target.style.backgroundColor="transparent";},children:i("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:wn,onClick:()=>{o(false),m("NUMPAGES");},onMouseOver:a=>{a.target.style.backgroundColor="#f1f3f4";},onMouseOut:a=>{a.target.style.backgroundColor="transparent";},children:i("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:wn,onClick:()=>{o(false),n();},onMouseOver:a=>{a.target.style.backgroundColor="#f1f3f4";},onMouseOut:a=>{a.target.style.backgroundColor="transparent";},children:i("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:wn,onClick:()=>{o(false),p();},onMouseOver:a=>{a.target.style.backgroundColor="#f1f3f4";},onMouseOut:a=>{a.target.style.backgroundColor="transparent";},children:i("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Ya=resolveItemPositions;function Za({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:p,onExpandedItemChange:c,activeItemId:i}){let{t:m}=b(),a=i??null,s=useRef(a);s.current=a;let[f,l]=useState(false),S=useRef(new Map),d=useRef(new Map),h=useRef(new Set),b$1=useRef(null),x=useRef(new Map),g=useRef(new Map),[u,v]=useState(0),C=useMemo(()=>Ya(e,t,o,n,S.current,d.current),[e,t,o,n,u]),y=C.length>0,R=useMemo(()=>{let I=new Map;for(let E of C)I.set(E.item.id,E.y);return I},[C]);useEffect(()=>{for(let I of C)h.current.add(I.item.id);},[C]);let P=useCallback(()=>{let I=false;for(let[E,M]of x.current){let H=M.offsetHeight;S.current.get(E)!==H&&(S.current.set(E,H),I=true);}I&&v(E=>E+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),E=setTimeout(()=>{P(),l(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(E);}},[e.length,P]),useEffect(()=>{let I=p?.current;if(!I)return;let E=new ResizeObserver(()=>{requestAnimationFrame(()=>v(M=>M+1));});return E.observe(I),()=>E.disconnect()},[p]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[a,P]),useEffect(()=>{if(!a)return;let I=x.current.get(a);if(!I){let H=requestAnimationFrame(()=>v(L=>L+1));return ()=>cancelAnimationFrame(H)}let E,M=new ResizeObserver(()=>{cancelAnimationFrame(E),E=requestAnimationFrame(()=>{S.current.set(a,I.offsetHeight),v(H=>H+1);});});return M.observe(I),()=>{cancelAnimationFrame(E),M.disconnect();}},[a]);let w=useCallback(I=>{let E=g.current.get(I);return E||(E=M=>{M?(x.current.set(I,M),S.current.set(I,M.offsetHeight)):(x.current.delete(I),S.current.delete(I));},g.current.set(I,E)),E},[]),T=useCallback(I=>{c?.(s.current===I?null:I);},[c]);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 E=R.get(I.id),M=a===I.id,L=!h.current.has(I.id)&&E!==void 0,z=y&&!R.has(I.id),G=y?E!==void 0?{position:"absolute",top:E,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},V=z?"none":L||I.isTemporary?"opacity 0.2s ease":f?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...G,transition:V},children:I.render({isExpanded:M,onToggleExpand:()=>T(I.id),measureRef:w(I.id)})},I.id)})})})}function Qa({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:p,onMarkerClick:c}){let{t:i}=b(),a=e.filter(s=>s.parentId==null).map(s=>{let f=p.has(s.id);if(!f&&n||f&&n)return null;let l=t.get(`comment-${s.id}`);return l==null?null:{comment:s,isResolved:f,y:l}}).filter(Boolean);return a.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:s=>s.stopPropagation(),children:a.map(({comment:s,isResolved:f,y:l})=>jsx("button",{onClick:()=>c(s.id),title:i(f?"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:f?"chat_bubble_check":"chat_bubble_outline",size:18})},s.id))})}function tl({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:p,initialSectionProperties:c,finalSectionProperties:i,headerContent:m,footerContent:a,firstPageHeaderContent:s,firstPageFooterContent:f,hfEditPosition:l,setHfEditPosition:S,hfEditIsFirstPage:d,onHeaderFooterDoubleClick:h,onHeaderFooterSave:b,onRemoveHeaderFooter:x,onBodyClick:g,getHfTargetElement:u,zoom:v,readOnly:C,extensionManager:y,externalPlugins:R,onDocumentChange:P,onSelectionChange:w,onPagedSelectionChange:T,onReady:I,onEditorViewReady:E,onRenderedDomContextReady:M,pluginOverlays:H,onHyperlinkClick:L,hyperlinkPopupData:z,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:V,onHyperlinkPopupEdit:$,onHyperlinkPopupRemove:U,onHyperlinkPopupClose:j,onContextMenu:ne,sidebarOpen:ae,sidebarItems:ue,anchorPositions:Ee,onAnchorPositionsChange:Ce,pluginRenderedDomContext:pe,pageWidthPx:ve,expandedSidebarItem:we,setExpandedSidebarItem:D,comments:B,resolvedCommentIds:O,resolvedIdsForRender:oe,setShowCommentsSidebar:F,onTotalPagesChange:_,floatingCommentBtn:ee,isAddingComment:Q,setCommentSelectionRange:Y,setAddCommentYPosition:le,setIsAddingComment:N,setFloatingCommentBtn:q}){let Te=l?d?l==="header"?s:f:l==="header"?m:a:null,[re,ke]=useState(null),[He,Ie]=useState([]),he=useCallback(ie=>computeHfCaretRectFromView(ie),[]);return useEffect(()=>{if(!l){ke(null),Ie([]),invalidateHfDomCache();return}let ie=()=>{let de=t.current?.getView();if(de){ke(he(de)),Ie(computeHfSelectionRectsFromView(de));let Ve=window.document.querySelector(".paged-editor__pages");Ve&&Do(Ve,de.state,{scope:"hf"});}},te=window.document.querySelector(".paged-editor__pages"),me=()=>{invalidateHfDomCache(),ie();};te?.addEventListener("painter:painted",me);let W=requestAnimationFrame(ie),ce=()=>ie();return window.addEventListener("resize",ce),()=>{cancelAnimationFrame(W),te?.removeEventListener("painter:painted",me),window.removeEventListener("resize",ce),invalidateHfDomCache();}},[l,t,he]),jsxs(Fragment,{children:[jsx(Va,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||p,sectionProperties:c,finalSectionProperties:i,headerContent:m,footerContent:a,firstPageHeaderContent:s,firstPageFooterContent:f,onHeaderFooterDoubleClick:h,hfEditMode:l,onBodyClick:g,onHfTransaction:(ie,te,me)=>{let W=window.document.querySelector(".paged-editor__pages"),ce=false,de=()=>{ce||(ce=true,invalidateHfDomCache(),ke(he(te)),Ie(computeHfSelectionRectsFromView(te)),W&&Do(W,te.state,{scope:"hf"}));};W?.addEventListener("painter:painted",de,{once:true}),requestAnimationFrame(()=>{ce||(W?.removeEventListener("painter:painted",de),de());}),w(extractSelectionState(te.state));},zoom:v,readOnly:C,extensionManager:y,onDocumentChange:P,onSelectionChange:T,externalPlugins:R,onReady:ie=>{I(ie);let te=ie.getView();te&&E?.(te);},onRenderedDomContextReady:M,pluginOverlays:H,onHyperlinkClick:L,hyperlinkPopupData:z,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:V,onHyperlinkPopupEdit:$,onHyperlinkPopupRemove:U,onHyperlinkPopupClose:j,onContextMenu:ne,commentsSidebarOpen:ae,onAnchorPositionsChange:Ce,onTotalPagesChange:_,resolvedCommentIds:oe,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[ue.length>0&&jsx(Za,{items:ue,anchorPositions:Ee,renderedDomContext:pe??null,pageWidth:ve,zoom:v,editorContainerRef:o$1,onExpandedItemChange:D,activeItemId:we}),jsx(Qa,{comments:B,anchorPositions:Ee,zoom:v,pageWidth:ve,sidebarOpen:ae,resolvedCommentIds:O,onMarkerClick:()=>F(true)})]})}),ee!=null&&!Q&&!C&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:ie=>{ie.preventDefault(),ie.stopPropagation();let te=e.current?.getView();if(te){let{from:me,to:W}=te.state.selection;if(me!==W){Y({from:me,to:W});let ce=te.state.schema.marks.comment.create({commentId:yt}),de=te.state.tr.addMark(me,W,ce);de.setSelection(TextSelection.create(de.doc,W)),te.dispatch(de);}}le(ee.top),F(true),N(true),q(null);},style:{position:"absolute",top:ee.top,left:ee.left,transform:"translate(-50%, -50%)",zIndex:50,width:28,height:28,borderRadius:6,border:"1px solid rgba(26, 115, 232, 0.3)",backgroundColor:"#fff",color:"#1a73e8",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 1px 3px rgba(60,64,67,0.2)",transition:"background-color 0.15s ease, box-shadow 0.15s ease"},onMouseOver:ie=>{ie.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",ie.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:ie=>{ie.currentTarget.style.backgroundColor="#fff",ie.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),l&&(re||He.length>0)&&(()=>{let ie=window.document.querySelector(".paged-editor__pages"),te=ie?.parentElement;if(!ie||!te)return null;let me=te.getBoundingClientRect(),W=(ce,de)=>({top:ce-me.top+te.scrollTop,left:de-me.left+te.scrollLeft});return createPortal(jsxs(Fragment,{children:[re&&He.length===0&&jsxs(Fragment,{children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",...W(re.top,re.left),width:2,height:re.height,background:"#4285f4",pointerEvents:"none",zIndex:11,animation:"hf-caret-blink 1.06s steps(1) infinite"}}),jsx("style",{children:"@keyframes hf-caret-blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }"})]}),He.map((ce,de)=>{let Ve=W(ce.top,ce.left);return jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:Ve.top,left:Ve.left,width:ce.width,height:ce.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${de}-${ce.top}-${ce.left}`)})]}),te)})(),l&&Te&&(()=>{let ie=u(l),te=r.current;if(!ie||!te)return null;let me=e.current?.getHfPmView(Te)??null;return jsx(ja,{ref:t,headerFooter:Te,position:l,view:me,targetElement:ie,parentElement:te,onSave:b,onClose:()=>{S(null),ke(null);},onRemove:x})})()]})}function ih(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function sh(e,t){return findContentControlsInPM(e.state.doc,{tag:t})[0]}function ol({containerRef:e,getView:t}){let[o,r]=useState(null),n=useRef(null),p=useCallback((m,a)=>{let s=t();if(s){try{s.dispatch(setContentControlValueTr(s.state,{tag:m},a)),s.focus();}catch{}r(null);}},[t]);useEffect(()=>{let m=e.current;if(!m)return;let a=d=>{let h=t(),b=d.dataset.sdtTag,x=d.dataset.sdtWidget;if(!h||!b||!x)return;let g=sh(h,b),u=d.getBoundingClientRect();x==="checkbox"?p(b,{kind:"checkbox",checked:!g?.checked}):x==="dropdown"?r({kind:"dropdown",tag:b,items:g?.listItems??[],current:g?.text??"",rect:u}):x==="date"&&r({kind:"date",tag:b,current:g?.dateValue??"",rect:u});},s=d=>{let h=t(),b=ih(d.dataset.sdtGroupId);if(!(!h||b==null))try{let x=d.dataset.sdtRepeat==="add"?addRepeatingSectionItemTr(h.state,b):removeRepeatingSectionItemTr(h.state,b);h.dispatch(x),h.focus();}catch{}},f=d=>{let h=d.target;(h?.closest?.(".layout-sdt-widget")||h?.closest?.(".layout-sdt-repeat-btn"))&&d.preventDefault();},l=d=>{let h=d.target?.closest?.(".layout-sdt-repeat-btn");if(h){d.preventDefault(),d.stopPropagation(),s(h);return}let b=d.target?.closest?.(".layout-sdt-widget");b&&(d.preventDefault(),d.stopPropagation(),a(b));},S=d=>{if(d.key!=="Enter"&&d.key!==" ")return;let h=d.target?.closest?.(".layout-sdt-widget");h&&(d.preventDefault(),a(h));};return m.addEventListener("mousedown",f),m.addEventListener("click",l),m.addEventListener("keydown",S),()=>{m.removeEventListener("mousedown",f),m.removeEventListener("click",l),m.removeEventListener("keydown",S);}},[e,t,p]),useEffect(()=>{if(!o)return;let m=s=>{n.current?.contains(s.target)||r(null);},a=s=>{s.key==="Escape"&&r(null);};return document.addEventListener("mousedown",m),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",a);}},[o]),useEffect(()=>{if(o?.kind!=="dropdown")return;let m=n.current?.querySelectorAll(".layout-sdt-widget-option");m?.length&&([...m].find(a=>a.getAttribute("aria-selected")==="true")??m[0]).focus();},[o]);let c=m=>{if(m.key!=="ArrowDown"&&m.key!=="ArrowUp")return;let a=[...n.current?.querySelectorAll(".layout-sdt-widget-option")??[]];if(!a.length)return;m.preventDefault();let s=a.indexOf(document.activeElement),f=m.key==="ArrowDown"?(s+1)%a.length:(s-1+a.length)%a.length;a[f].focus();};if(!o)return null;let i={position:"fixed",top:o.rect.bottom+2,left:o.rect.left,zIndex:1e3};return jsx("div",{ref:n,className:"layout-sdt-widget-popup",style:i,role:o.kind==="dropdown"?"listbox":void 0,onKeyDown:c,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 a=m.displayText===o.current;return jsx("button",{type:"button",role:"option","aria-selected":a,className:`layout-sdt-widget-option${a?" is-selected":""}`,onClick:()=>p(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&&p(o.tag,{kind:"date",date:m.target.value});}})})}function nl({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:p,setCommentSelectionRange:c,setAddCommentYPosition:i,setFloatingCommentBtn:m,setHfEditPosition:a,setHfEditIsFirstPage:s,setAnchorPositions:f,clearFindReplaceMatches:l,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),p(false),c(null),i(null),m(null),a(null),s(false),f(ln),l(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,p,c,i,m,a,s,f,l,S])}}var mh=createContext(null);function il({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((a,s)=>{t.showError(a,s);},[t]),n=useCallback((a,s)=>{t.showWarning(a,s);},[t]),p=useCallback((a,s)=>{t.showInfo(a,s);},[t]),c=useCallback(a=>{t.dismiss(a);},[t]),i=useCallback(()=>{t.clearAll();},[t]),m=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:p,dismissNotification:c,clearNotifications:i}),[o.notifications,r,n,p,c,i]);return jsxs(mh.Provider,{value:m,children:[e,jsx(fh,{notifications:o.notifications,onDismiss:c})]})}function fh({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(gh,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function gh({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),c=(h=>{switch(h){case "error":return {bg:"var(--doc-error-bg)",border:"#f5c6cb",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"#ffeeba",text:"#856404",icon:"var(--doc-warning)"};case "info":return {bg:"#e8f4fd",border:"#b8daff",text:"#0c5460",icon:"var(--doc-primary)"}}})(e.severity),i={background:c.bg,border:`1px solid ${c.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},m={display:"flex",alignItems:"flex-start",gap:"8px"},a={color:c.icon,flexShrink:0},s={flex:1,minWidth:0},f={color:c.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:c.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:c.text},d=h=>{switch(h){case "error":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 6v5M10 13v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "warning":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("path",{d:"M10 3L18 17H2L10 3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),jsx("path",{d:"M10 8v4M10 14v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "info":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 9v5M10 6v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return jsxs("div",{className:`docx-notification-toast docx-notification-${e.severity}`,style:i,children:[jsx("style",{children:`
|
|
12
|
+
</head><body>${P.outerHTML}</body></html>`),y.document.close(),y.onload=()=>{y.print(),y.close();},setTimeout(()=>{y.closed||(y.print(),y.close());},1e3),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 km={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 EditorState.create({doc:d,schema:n,plugins:m})}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: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?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,_){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:{...km,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(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 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(()=>jm(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=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 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 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(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: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}),ya=({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 m=e.length>0,i=t!==null&&!m;return jsxs("div",{style:tf,"data-testid":"selection-overlay",children:[m&&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 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"},lf={position:"absolute",border:`${yo}px solid ${Sa}`,pointerEvents:"none",boxSizing:"border-box"},cf={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},df={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%)"},uf={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function pf(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=pf(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:{...lf,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:{...df,left:_+U/2,top:V+ee+12},children:[c," \xD7 ",b]})]})}function nn({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...cf,...t,cursor:uf[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var ff={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()&&gf(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:ff,"aria-hidden":"true"})}function gf(e,t,o,r){let n=bf(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=hf(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=yf(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 bf(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 hf(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 yf(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"?xf(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 xf(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 dg=5;function ug(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 ug(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)>=dg){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 fg(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=fg(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"},vg={...Ts,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Cg={...Ts,padding:"12px",width:"320px"},yr={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},Rg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},Sg={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},xg={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"},Pg={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 wg(){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 Tg(){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 Eg(){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 Ig(){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 kg(){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 Mg(){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:Sg,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:{...Cg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:Ps,children:[jsx("span",{style:yr,children:jsx(kg,{})}),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(Mg,{})}),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:{...Pg,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:{...vg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:yr,children:jsx(wg,{})}),jsx("a",{href:e.href,style:Rg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:xg}),jsx(vr,{title:s("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(Tg,{})}),!d&&jsxs(Fragment,{children:[jsx(vr,{title:s("hyperlinkPopup.editLink"),onClick:C,children:jsx(Eg,{})}),jsx(vr,{title:s("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Ig,{})})]})]})}var zg=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(zg);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},jg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},Yg={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:jg,onClick:i=>{i.stopPropagation(),o(a=>!a);},onMouseDown:i=>i.stopPropagation(),children:[s("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:Yg,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 cb(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function db(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=db(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=cb(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 hb=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(hb.Provider,{value:m,children:[e,jsx(yb,{notifications:o.notifications,onDismiss:d})]})}function yb({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(vb,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function vb({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:`
|
|
14
13
|
@keyframes slideIn {
|
|
15
14
|
from {
|
|
16
15
|
opacity: 0;
|
|
@@ -21,13 +20,13 @@ body { background: white; }
|
|
|
21
20
|
transform: translateX(0);
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
`}),jsxs("div",{style:m,children:[jsx("span",{style:
|
|
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(Cb,{error:n,errorInfo:u,showDetails:r,onReset:this.resetError})}return this.props.children}};function Cb({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:[`
|
|
25
24
|
|
|
26
|
-
`,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:
|
|
27
|
-
.paged-editor__pages .docx-insertion[data-revision-id="${
|
|
28
|
-
.paged-editor__pages .docx-deletion[data-revision-id="${
|
|
29
|
-
`})})(),L]})})]}),T.totalPages>1&&jsx(Cl,{currentPage:T.currentPage,totalPages:T.totalPages,visible:T.visible}),f&&jsx(bl,{...P}),l&&!f&&jsx(vl,{onClick:w,topPx:h$1+(a?30:0)+48,scrollLeft:b})]}),I&&jsx(Sl,{agentPanel:I,closed:!E,onClose:M})]}),z,G,V]})})})})}var go={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},Hn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function ho(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:getAvatarColor(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function Fn(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 On({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(p=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid #e8eaed"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(p.author||"U",28),children:getInitials(p.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:p.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(p.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(p.content)})]},p.id))]})}var _h={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},Vh={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 Bn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:p}=b();if(!t)return jsx("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:i=>i.stopPropagation(),onClick:i=>{i.stopPropagation(),o(true);},placeholder:p("comments.replyPlaceholder"),style:Vh})});let c=r.trim();return jsxs("div",{onClick:i=>i.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:i=>i?.focus({preventScroll:true}),type:"text",value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),c&&e(c),n(""),o(false)),i.key==="Escape"&&(o(false),n(""));},placeholder:p("comments.replyPlaceholder"),style:_h}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:i=>{i.stopPropagation(),o(false),n("");},style:Hn,children:p("common.cancel")}),jsx("button",{onClick:i=>{i.stopPropagation(),c&&e(c),n(""),o(false);},disabled:!c,style:Fn(!!c),children:p("common.reply")})]})]})}var Nn=CARD_STYLE_COLLAPSED,zn=CARD_STYLE_EXPANDED;function wl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:p,onResolve:c,onUnresolve:i,onDelete:m}){let[a,s]=useState(false),{t:f}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:l=>l.stopPropagation(),style:{...o?zn:Nn},children:[e.done&&jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",marginBottom:8,fontSize:11,fontWeight:500,color:"#188038",backgroundColor:"#e6f4ea",borderRadius:10},children:[jsx(b$1,{name:"check",size:12}),f("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(e.author||"U"),children:getInitials(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:e.author||f("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:l=>{l.stopPropagation(),e.done?i?.(e.id):c?.(e.id);},title:e.done?f("comments.reopen"):f("comments.resolve"),style:go,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:l=>{l.stopPropagation(),s(!a);},title:f("comments.moreOptions"),style:go,children:jsx(b$1,{name:"more_vert",size:20})}),a&&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:()=>{s(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:f("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(On,{replies:t,isExpanded:o}),o&&!e.done&&jsx(Bn,{onSubmit:l=>p?.(e.id,l)})]})}function Tl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:p,onReject:c,onAcceptById:i,onRejectById:m,onReply:a}){let{t:s}=b(),f=e.author||s("trackedChanges.unknown"),l=()=>{let h=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&h.add(e.insertionRevisionId);for(let b of e.coalescedRevisionIds??[])h.add(b);return [...h]},S=h=>{if(h.stopPropagation(),i)for(let b of l())i(b);else p?.(e.from,e.to);},d=h=>{if(h.stopPropagation(),m)for(let b of l())m(b);else c?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:h=>h.stopPropagation(),style:o?zn:Nn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:ho(f),children:getInitials(f)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:f}),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:s("common.accept"),style:go,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:d,title:s("common.reject"),style:go,children:jsx(b$1,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"#202124",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[s("trackedChanges.replaced")," ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.deletedText||""),'"']})," ",s("trackedChanges.with")," ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):e.type==="paragraphMarkInsertion"?jsxs(Fragment,{children:[s("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:[s("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:[s("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:s("revisions.rowInserted")}):e.type==="rowDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:s("revisions.rowDeleted")}):e.type==="cellInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:s("revisions.cellInserted")}):e.type==="cellDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:s("revisions.cellDeleted")}):e.type==="cellMerged"?jsx("span",{style:{color:"#5f6368",fontWeight:500},children:s("revisions.cellMerged")}):e.type==="rowPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:s("revisions.rowPropertiesChanged")}):e.type==="cellPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:s("revisions.cellPropertiesChanged")}):e.type==="tablePropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:s("revisions.tablePropertiesChanged")}):e.type==="tableInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:s("revisions.tableInserted")}):e.type==="tableDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:s("revisions.tableDeleted")}):jsxs(Fragment,{children:[e.type==="insertion"?s("trackedChanges.added"):s("trackedChanges.deleted")," ",jsxs("span",{style:{color:e.type==="insertion"?"#137333":"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]})}),jsx(On,{replies:t,isExpanded:o}),o&&jsx(Bn,{onSubmit:h=>a?.(e.revisionId,h)})]})}function Il({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:p}=b(),c=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:i=>i.stopPropagation(),style:{padding:12,borderRadius:8,backgroundColor:"#fff",boxShadow:"0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15)",zIndex:50},children:[jsx("textarea",{ref:i=>i?.focus({preventScroll:true}),value:r,onChange:i=>n(i.target.value),onMouseDown:i=>i.stopPropagation(),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),c()),i.key==="Escape"&&(o?.(),n(""));},placeholder:p("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:Hn,children:p("common.cancel")}),jsx("button",{onClick:c,disabled:!r.trim(),style:Fn(!!r.trim()),children:p("common.comment")})]})]})}function Ml({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 Dl({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:p=null}){let c=useMemo(()=>e.filter(m=>!(m.parentId!=null||m.done&&!r)),[e,r]),i=useMemo(()=>{let m=new Map;for(let a of e)if(a.parentId!=null){let s=m.get(a.parentId);s?s.push(a):m.set(a.parentId,[a]);}return m},[e]);return useMemo(()=>{let m=[];n&&p!=null&&m.push({id:"new-comment-input",anchorPos:0,fixedY:p,priority:-1e3,isTemporary:true,estimatedHeight:120,render:a=>jsx(Il,{...a,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let a of c){let s=i.get(a.id)??[];m.push({id:`comment-${a.id}`,anchorPos:0,anchorKey:`comment-${a.id}`,priority:0,estimatedHeight:a.done?28:80,render:f=>a.done&&!f.isExpanded?jsx(Ml,{...f,comment:a}):jsx(wl,{...f,comment:a,replies:s,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((a,s)=>{let f=i.get(a.revisionId)??[];m.push({id:`tc-${a.revisionId}-${s}`,anchorPos:a.from,anchorKey:`revision-${a.revisionId}`,priority:1,estimatedHeight:80,render:l=>jsx(Tl,{...l,change:a,replies:f,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),m},[c,t,i,o,n,p])}function Hl(){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 Pb=15840,Qs=1440,wb=1440,Tb=567,el=20,Eb="var(--doc-text-muted)",Ib="var(--doc-text-subtle)",kb="var(--doc-primary)",Mb="var(--doc-primary)",Db="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??Pb,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=Fb(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(Hb,{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 Hb({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:Ib},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:Eb,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?Db:n?Mb:kb,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 Fb(e,t,o){let r=[];if(o==="inch"){let n=wb/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=Tb/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,Nb=24,il=Er+Ir+rl,kr=48,zb=32,al=kr+zb+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:Nb,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 $b={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},Kb={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:Kb})});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:$b}),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:`
|
|
30
29
|
@keyframes docx-spin {
|
|
31
30
|
to { transform: rotate(360deg); }
|
|
32
31
|
}
|
|
33
|
-
`}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function Fl(){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 Ll({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 Al(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 $r=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:p,onSelectionChange:c,onError:i$1,onFontsLoaded:m$1,theme:a,showToolbar:s=true,showZoomControl:f=true,showMarginGuides:l=false,marginGuideColor:S,showRuler:d$1=false,rulerUnit:h="inch",initialZoom:b=1,readOnly:x=false,disableFindReplaceShortcuts:g=false,toolbarExtra:u,className:v="",style:C,placeholder:y,loadingIndicator:R,showOutline:P=false,showOutlineButton:w=true,fontFamilies:T,fonts:I,printOptions:E,onPrint:M,onCopy:H,onCut:L,onPaste:z,mode:G,onModeChange:V,onCommentAdd:$,onCommentResolve:U,onCommentDelete:j,onCommentReply:ne,comments:ae,onCommentsChange:ue,externalPlugins:Ee,externalContent:Ce=false,onEditorViewReady:pe,onRenderedDomContextReady:ve,pluginOverlays:we,pluginSidebarItems:D,pluginRenderedDomContext:B,renderLogo:O,documentName:oe,onDocumentNameChange:F,documentNameEditable:_=true,renderTitleBarRight:ee,i18n:Q,agentPanel:Y},le){let[N,q]=useState({isLoading:!!t&&!Ce,parseError:null,zoom:b,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Te,re]=useState(null),[ke,He]=useState(false),[Ie,he]=useState(false),ie=useRef(false),[te,me]=useState(null),W=useRef(null),{comments:ce,setComments:de,isAddingComment:Ve,setIsAddingComment:rt,isAddingCommentRef:io,commentSelectionRange:ut,setCommentSelectionRange:We,addCommentYPosition:vo,setAddCommentYPosition:it,floatingCommentBtn:Ut,setFloatingCommentBtn:st,cleanOrphanedCommentsTimerRef:pt,cleanOrphanedComments:$t}=es({commentsProp:ae,onCommentDelete:j,onCommentsChange:ue,pagedEditorRef:W}),[Pt,wt]=useState(null),{entries:Ze,commentToRevision:Qe}=d(Pt),[mt,Tt]=useState(ln),[Co,Kt]=useState(G??"editing"),at=G??Co,be=k=>{G||Kt(k),V?.(k);},ye=x||at==="viewing",[Ae,Gt]=useState(false),Et=Y?.open!==void 0,so=Y?Et?!!Y.open:Ae:false,ft=useCallback(k=>{Y?.onOpenChange?.(k),Et||Gt(k);},[Y,Et]),Fe=useRef(new Set),It=useRef(new Set),Se=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),So=useMemo(()=>{let k=new ExtensionManager(createStarterKit());return k.buildSchema(),k.initializeRuntime(),k},[]),X=useMemo(()=>createSuggestionModePlugin(at==="suggesting",n),[]),xe=useMemo(()=>[X,...Ee??[]],[X,Ee]),fe=useRef(null),Ne=useRef(null),Ue=useRef(null),ao=useRef(null),kt=useRef(null),Mt=useRef(null),{showOutline:Kr,setShowOutline:Gr,showOutlineRef:_l,outlineHeadings:Vl,setHeadingInfos:Wn,toolbarHeight:jr,toolbarRefCallback:Wl,editorScrollLeft:Yr}=yi({showOutlineProp:P,pagedEditorRef:W,scrollContainerRef:Mt,isLoading:N.isLoading}),xo=useRef(Se.state);xo.current=Se.state;let qr=useRef({style:"single",size:4,color:{rgb:"000000"}}),Xr=useRef(null),Uo=useCallback(k=>{let A=Xr.current;if(A&&A.styles===k)return A.resolver;let Z=createStyleResolver(k);return Xr.current={styles:k,resolver:Z},Z},[]),{getActiveEditorView:gt,focusActiveEditor:jt,undoActiveEditor:Ul,redoActiveEditor:$l}=as({hfEditPosition:Te,hfEditorRef:fe,pagedEditorRef:W}),Ro=b$2(),$o=m(),Zr=useRef(false),Qr=useRef(false),{resetForNewDocument:Kl}=nl({commentsLoadedRef:Zr,trackedChangesLoadedRef:Qr,setComments:de,setHeadingInfos:Wn,setShowCommentsSidebar:he,setIsAddingComment:rt,setCommentSelectionRange:We,setAddCommentYPosition:it,setFloatingCommentBtn:st,setHfEditPosition:re,setHfEditIsFirstPage:He,setAnchorPositions:Tt,clearFindReplaceMatches:useCallback(()=>Ro.setMatches([],0),[Ro]),cleanOrphanedCommentsTimerRef:pt}),{loadParsedDocument:Gl,loadBuffer:Jr}=Ui({documentBuffer:t,initialDocument:o,externalContent:Ce,history:Se,agentRef:Ne,pagedEditorRef:W,setLoadingState:useCallback(k=>{q(A=>({...A,isLoading:k.isLoading,parseError:k.parseError}));},[]),setComments:de,setShowCommentsSidebar:he,onError:i$1,resetForNewDocument:Kl,commentsLoadedRef:Zr}),{imageInputRef:jl,docxInputRef:Yl,handleSave:ql,handleDirectPrint:ei,handleDownloadDocument:Xl,handleOpenDocument:Zl,handleDocxFileChange:Ql,handleInsertImageClick:Jl,handleImageFileChange:ec}=Si({agentRef:Ne,pagedEditorRef:W,containerRef:Ue,comments:ce,documentName:oe,onSave:r,onError:i$1,onPrint:M,onDocumentNameChange:F,loadBuffer:Jr,getActiveEditorView:gt,focusActiveEditor:jt});useEffect(()=>{if(N.isLoading||!Se.state)return;let k=W.current?.getView();k&&wt(k.state);},[N.isLoading,Se.state]),os({commentToRevision:Qe,setComments:de,pmState:Pt,isLoading:N.isLoading,trackedChangesCount:Ze.length,setShowCommentsSidebar:he,trackedChangesLoadedRef:Qr}),Al(I,m$1,i$1),useEffect(()=>{let k=W.current?.getView();k&&setSuggestionMode(at==="suggesting",k.state,k.dispatch,n);},[at,n]);let Ko=useCallback(k=>(Se.push(k),k),[Se]),Un=useCallback(k=>{Ko(k),p?.(k);for(let Z of Fe.current)try{Z(k);}catch(Pe){console.error("contentChange subscriber threw:",Pe);}if(_l.current){let Z=W.current?.getView();Z&&Wn(collectHeadings(Z.state.doc));}let A=W.current?.getView();A&&wt(A.state),pt.current&&clearTimeout(pt.current),pt.current=setTimeout($t,300);},[p,Ko,$t]),{recomputeFloatingCommentBtn:tc}=ss({pagedEditorRef:W,scrollContainerRef:Mt,editorContentRef:kt,isAddingCommentRef:io,setFloatingCommentBtn:st,readOnly:ye,isLoading:N.isLoading,zoom:N.zoom}),{handleSelectionChange:Go}=rs({getActiveEditorView:gt,lastSelectionRef:ao,borderSpecRef:qr,theme:a,historyStateRef:xo,getCachedStyleResolver:Uo,setFloatingCommentBtn:st,applySelectionDelta:useCallback(k=>q(A=>({...A,...k})),[]),recomputeFloatingCommentBtn:tc,onSelectionChange:c,selectionChangeSubscribersRef:It}),ti=e({document:Se.state,onChange:Un,onSelectionChange:k=>{}});vi({pagedEditorRef:W,disableFindReplaceShortcuts:g,findReplace:Ro,hyperlinkDialog:$o,tableSelection:ti});let oc=useCallback(()=>{Gr(k=>{if(!k){let A=W.current?.getView();A&&Wn(collectHeadings(A.state.doc));}return !k});},[]),nc=useCallback(k=>{W.current?.scrollToPosition(k),W.current?.setSelection(k+1),W.current?.focus();},[]),{imagePositionOpen:rc,setImagePositionOpen:ic,imagePropsOpen:sc,setImagePropsOpen:ac,footnotePropsOpen:lc,setFootnotePropsOpen:cc,handleImageWrapType:dc,handleImageTransform:uc,handleApplyImagePosition:pc,handleOpenImageProperties:oi,handleApplyImageProperties:mc,handleApplyFootnoteProperties:fc}=Fi({document:Se.state,pmImageContext:N.pmImageContext,zoom:N.zoom,getActiveEditorView:gt,focusActiveEditor:jt,pushDocument:Ko}),{tablePropsOpen:gc,setTablePropsOpen:hc,splitCellDialogState:bc,openSplitCellDialog:yc,handleTableAction:vc,handleSplitCellDialogClose:Cc,handleSplitCellDialogApply:Sc}=_i({getActiveEditorView:gt,focusActiveEditor:jt,tableSelection:ti,borderSpecRef:qr,historyStateRef:xo,getCachedStyleResolver:Uo}),{handleFormat:xc,handleInsertTable:Rc,handleInsertPageBreak:Pc,handleInsertTOC:wc}=Hi({getActiveEditorView:gt,focusActiveEditor:jt,pagedEditorRef:W,lastSelectionRef:ao,hyperlinkDialog:$o,historyStateRef:xo,getCachedStyleResolver:Uo}),Tc=useCallback(k=>{q(A=>({...A,zoom:k}));},[]),{hyperlinkPopupData:Ec,handleHyperlinkSubmit:Ic,handleHyperlinkRemove:kc,handleHyperlinkClick:Mc,handleHyperlinkPopupNavigate:Dc,handleHyperlinkPopupCopy:Hc,handleHyperlinkPopupEdit:Fc,handleHyperlinkPopupRemove:Lc,handleHyperlinkPopupClose:Ac}=Ti({hyperlinkDialog:$o,getActiveEditorView:gt,focusActiveEditor:jt}),{contextMenu:Oc,imageContextMenu:Bc,handleEditorContextMenu:Nc,handleContextMenu:zc,handleContextMenuClose:_c,handleImageWrapApply:Vc,imageContextMenuTextActions:Wc,contextMenuItems:Uc,handleContextMenuAction:$c}=Qi({getActiveEditorView:gt,focusActiveEditor:jt,openSplitCellDialog:yc,scrollContainerRef:Mt,editorContentRef:kt,i18n:Q,onAddComment:useCallback(({from:k,to:A,yPos:Z})=>{We({from:k,to:A}),it(Z),he(true),rt(true),st(null);},[])}),{showPageSetup:Kc,setShowPageSetup:Gc,handleOpenPageSetup:jc,handleLeftMarginChange:Yc,handleRightMarginChange:qc,handleTopMarginChange:Xc,handleBottomMarginChange:Zc,handlePageSetupApply:Qc,handleIndentLeftChange:Jc,handleIndentRightChange:ed,handleFirstLineIndentChange:td,handleTabStopRemove:od}=Ri({document:Se.state,readOnly:ye,handleDocumentChange:Un,getActiveEditorView:gt}),{scrollPageInfo:ni,setScrollPageInfo:nd}=ls({scrollContainerRef:Mt,pagedEditorRef:W}),rd=useCallback(k=>{i$1?.(k);},[i$1]),{findResultRef:id,handleFind:sd,handleFindNext:ad,handleFindPrevious:ld,handleReplace:cd,handleReplaceAll:dd}=ki({pagedEditorRef:W,findReplace:Ro});Bi({ref:le,agentRef:Ne,document:Se.state,historyStateRef:xo,pagedEditorRef:W,handleSave:ql,handleDirectPrint:ei,zoom:N.zoom,setZoom:k=>q(A=>({...A,zoom:k})),scrollPageInfo:ni,loadParsedDocument:Gl,loadBuffer:Jr,comments:ce,setComments:de,setShowCommentsSidebar:he,contentChangeSubscribersRef:Fe,selectionChangeSubscribersRef:It,getCachedStyleResolver:Uo});let $n=useMemo(()=>Li(Se.state),[Se.state]),ri=Se.state?.package.document?.finalSectionProperties,{headerContent:ud,footerContent:pd,firstPageHeaderContent:md,firstPageFooterContent:fd,handleHeaderFooterDoubleClick:gd,handleHeaderFooterSave:hd,handleBodyClick:bd,handleRemoveHeaderFooter:yd,getHfTargetElement:vd}=Vi({document:Se.state,pushDocument:Ko,hfEditorRef:fe,containerRef:Ue,initialSectionProperties:$n,finalSectionProperties:ri,hfEditPosition:Te,setHfEditPosition:re,hfEditIsFirstPage:ke,setHfEditIsFirstPage:He}),jo={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...C},Cd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ye=useRef({});Ye.current={onCommentReply:(k,A)=>{let Z=Jt(A,n,k),Pe=ce.find(Oe=>Oe.id===k);de(Oe=>[...Oe,Z]),Pe&&ne?.(Z,Pe);},onCommentResolve:k=>{let A=ce.find(Z=>Z.id===k);de(Z=>Z.map(Pe=>Pe.id===k?{...Pe,done:true}:Pe)),te===`comment-${k}`&&me(null),A&&U?.({...A,done:true});},onCommentUnresolve:k=>{de(A=>A.map(Z=>Z.id===k?{...Z,done:void 0}:Z));},onCommentDelete:k=>{let A=ce.find(Pe=>Pe.id===k);de(Pe=>Pe.filter(Oe=>Oe.id!==k&&Oe.parentId!==k));let Z=W.current?.getView();if(Z){let Pe=Z.state.schema.marks.comment?.create({commentId:k});if(Pe){let Oe=Z.state.tr.removeMark(0,Z.state.doc.content.size,Pe);Oe.docChanged&&Z.dispatch(Oe);}}A&&j?.(A);},onAddComment:k=>{let A=Jt(k,n),Z=W.current?.getView();if(Z&&ut){let{from:Pe,to:Oe}=ut,ht=Z.state.schema.marks.comment.create({commentId:yt}),qt=Z.state.schema.marks.comment.create({commentId:A.id}),jn=Z.state.tr.removeMark(Pe,Oe,ht).addMark(Pe,Oe,qt);Z.dispatch(jn);}de(Pe=>[...Pe,A]),rt(false),We(null),it(null),$?.(A);},onCancelAddComment:()=>{let k=W.current?.getView();if(k&&ut){let{from:A,to:Z}=ut,Pe=k.state.schema.marks.comment.create({commentId:yt});k.dispatch(k.state.tr.removeMark(A,Z,Pe));}rt(false),We(null),it(null);},onAcceptChange:(k,A)=>{let Z=W.current?.getView();Z&&acceptChange(k,A)(Z.state,Z.dispatch);},onRejectChange:(k,A)=>{let Z=W.current?.getView();Z&&rejectChange(k,A)(Z.state,Z.dispatch);},onAcceptChangeById:k=>{let A=W.current?.getView();A&&acceptChangeById(k)(A.state,A.dispatch);},onRejectChangeById:k=>{let A=W.current?.getView();A&&rejectChangeById(k)(A.state,A.dispatch);},onTrackedChangeReply:(k,A)=>{de(Z=>[...Z,Jt(A,n,k)]);}};let Sd=useMemo(()=>({onCommentReply:(...k)=>Ye.current.onCommentReply?.(...k),onCommentResolve:(...k)=>Ye.current.onCommentResolve?.(...k),onCommentUnresolve:(...k)=>Ye.current.onCommentUnresolve?.(...k),onCommentDelete:(...k)=>Ye.current.onCommentDelete?.(...k),onAddComment:(...k)=>Ye.current.onAddComment?.(...k),onCancelAddComment:(...k)=>Ye.current.onCancelAddComment?.(...k),onAcceptChange:(...k)=>Ye.current.onAcceptChange?.(...k),onRejectChange:(...k)=>Ye.current.onRejectChange?.(...k),onAcceptChangeById:(...k)=>Ye.current.onAcceptChangeById?.(...k),onRejectChangeById:(...k)=>Ye.current.onRejectChangeById?.(...k),onTrackedChangeReply:(...k)=>Ye.current.onTrackedChangeReply?.(...k)}),[]),Yt=Dl({comments:ce,trackedChanges:Ze,callbacks:Sd,showResolved:Ie,isAddingComment:Ie?Ve:false,addCommentYPosition:vo}),ii=useMemo(()=>{let k=[];return Ie&&k.push(...Yt),D&&k.push(...D),k},[Ie,Yt,D]),Kn=useMemo(()=>{let k=new Map;return Ze.forEach((A,Z)=>{A.type==="replacement"&&A.insertionRevisionId!=null&&k.set(String(A.insertionRevisionId),`tc-${A.revisionId}-${Z}`);}),k},[Ze]),Gn=ii.length>0,xd=2*(Kr?gl:w?hl:20)+816+(Gn?SIDEBAR_DOCUMENT_SHIFT*2:0),si=Se.state?.package?.document?.finalSectionProperties?.pageWidth,Rd=si?Math.round(si/15):816,Dt=useMemo(()=>{let k=new Set;for(let A of ce)A.done&&A.parentId==null&&k.add(A.id);return k},[ce]),Pd=useCallback(()=>{let k=W.current?.getView();if(!k){Go(null);return}let A=extractSelectionState(k.state);Go(A);let Z=k.state.selection.$from,Pe=[...k.state.storedMarks??[],...Z.nodeAfter?.marks??[],...Z.nodeBefore?.marks??[],...Z.marks()],Oe=null;for(let ht of Pe){if(ht.type.name==="comment"&&ht.attrs.commentId!=null){let qt=ht.attrs.commentId;if(Dt.has(qt))continue;Oe=`comment-${qt}`;break}if((ht.type.name==="insertion"||ht.type.name==="deletion")&&ht.attrs.revisionId!=null){let qt=String(ht.attrs.revisionId),jn=`tc-${qt}-`,Yo=Yt.find(qo=>qo.id.startsWith(jn));if(!Yo&&Kn){let qo=Kn.get(qt);qo&&(Yo=Yt.find(Ed=>Ed.id===qo));}if(Yo){Oe=Yo.id;break}}}Oe&&he(true),me(Oe);},[Go,Dt,Yt,Kn]);useEffect(()=>{ie.current||Yt.length!==0&&(ie.current=true,he(true));},[Yt]);let wd=useMemo(()=>{if(!te?.startsWith("comment-"))return Dt;let k=parseInt(te.slice(8),10);if(isNaN(k)||!Dt.has(k))return Dt;let A=new Set(Dt);return A.delete(k),A},[Dt,te]),Td={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return N.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${v}`,style:jo,"data-testid":"docx-editor",children:R||jsx(Hl,{})}):N.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${v}`,style:jo,"data-testid":"docx-editor",children:jsx(Ll,{message:N.parseError})}):Se.state?jsx(xl,{i18n:Q,onEditorError:rd,containerRef:Ue,scrollContainerRef:Mt,editorContentRef:kt,className:v,containerStyle:jo,mainContentStyle:Cd,editorContainerStyle:Td,showRuler:d$1,readOnlyProp:x,showOutline:Kr,showOutlineButton:w,sidebarOpen:Gn,minLayoutWidth:xd,toolbarHeight:jr,editorScrollLeft:Yr,expandedSidebarItem:te,trackedChanges:Ze,onScrollContainerMouseDown:k=>{let A=k.target;A.closest(".paged-editor__pages")||A.closest(".docx-unified-sidebar")||A.closest(".docx-comment-margin-markers")||me(null);},onEditorBgMouseDown:k=>{k.target===k.currentTarget&&(k.preventDefault(),W.current?.focus());},onEditorContextMenu:Nc,horizontalRulerProps:{sectionProps:Se.state?.package.document?.finalSectionProperties,zoom:N.zoom,unit:h,editable:!ye,onLeftMarginChange:Yc,onRightMarginChange:qc,indentLeft:N.paragraphIndentLeft,indentRight:N.paragraphIndentRight,onIndentLeftChange:Jc,onIndentRightChange:ed,firstLineIndent:N.paragraphFirstLineIndent,hangingIndent:N.paragraphHangingIndent,onFirstLineIndentChange:td,tabStops:N.paragraphTabs,onTabStopRemove:od},verticalRulerProps:{sectionProps:$n,zoom:N.zoom,unit:h,editable:!ye,onTopMarginChange:Xc,onBottomMarginChange:Zc},outlineProps:{headings:Vl,onHeadingClick:nc,onClose:()=>Gr(false),topOffset:jr,scrollLeft:Yr},onToggleOutline:oc,scrollPageInfo:ni,agentPanel:Y,agentPanelOpen:so,onAgentPanelClose:()=>ft(false),toolbar:s&&!x?jsx(hs,{toolbarRefCallback:Wl,agentPanelOpen:so,setAgentPanelOpen:ft,document:Se.state,theme:a,pmState:Pt,selectionFormatting:N.selectionFormatting,tableContext:N.pmTableContext,imageContext:N.pmImageContext,readOnly:ye,editingMode:at,setEditingMode:be,setShowCommentsSidebar:he,setExpandedSidebarItem:me,showCommentsSidebar:Ie,agentPanel:Y,renderLogo:O,documentName:oe,onDocumentNameChange:F,documentNameEditable:_,renderTitleBarRight:ee,toolbarExtra:u,fontFamilies:T,zoom:N.zoom,showZoomControl:f,onFormat:xc,onUndo:Ul,onRedo:$l,onPrint:ei,onOpen:Zl,onSave:Xl,onZoomChange:Tc,onRefocusEditor:jt,onInsertTable:Rc,onInsertImage:Jl,onInsertPageBreak:Pc,onInsertTOC:wc,onImageWrapType:dc,onImageTransform:uc,onOpenImageProperties:oi,onPageSetup:jc,onTableAction:vc}):null,pagedArea:jsxs(Fragment,{children:[jsx(tl,{pagedEditorRef:W,hfEditorRef:fe,scrollContainerRef:Mt,editorContentRef:kt,document:Se.state,theme:a,initialSectionProperties:$n,finalSectionProperties:ri,headerContent:ud,footerContent:pd,firstPageHeaderContent:md,firstPageFooterContent:fd,hfEditPosition:Te,setHfEditPosition:re,hfEditIsFirstPage:ke,onHeaderFooterDoubleClick:gd,onHeaderFooterSave:hd,onRemoveHeaderFooter:yd,onBodyClick:bd,getHfTargetElement:vd,zoom:N.zoom,readOnly:ye,extensionManager:So,externalPlugins:xe,onDocumentChange:Un,onSelectionChange:Go,onPagedSelectionChange:Pd,onReady:k=>{let A=k.getView();A&&wt(A.state);},onEditorViewReady:pe,onRenderedDomContextReady:ve,pluginOverlays:we,onHyperlinkClick:Mc,hyperlinkPopupData:Ec,onHyperlinkPopupNavigate:Dc,onHyperlinkPopupCopy:Hc,onHyperlinkPopupEdit:Fc,onHyperlinkPopupRemove:Lc,onHyperlinkPopupClose:Ac,onContextMenu:zc,sidebarOpen:Gn,sidebarItems:ii,anchorPositions:mt,onAnchorPositionsChange:Tt,pluginRenderedDomContext:B,pageWidthPx:Rd,expandedSidebarItem:te,setExpandedSidebarItem:me,comments:ce,resolvedCommentIds:Dt,resolvedIdsForRender:wd,setShowCommentsSidebar:he,onTotalPagesChange:k=>{nd(A=>A.totalPages===k?A:{...A,totalPages:k});},floatingCommentBtn:Ut,isAddingComment:Ve,setCommentSelectionRange:We,setAddCommentYPosition:it,setIsAddingComment:rt,setFloatingCommentBtn:st}),!ye&&jsx(ol,{containerRef:Ue,getView:()=>W.current?.getView()??null})]}),overlays:jsx(cs,{contextMenu:Oc,contextMenuItems:Uc,onContextMenuAction:$c,onContextMenuClose:_c,imageContextMenu:Bc,onImageWrapApply:Vc,imageContextMenuTextActions:Wc,onOpenImageProperties:oi,readOnly:ye}),dialogs:jsx(ds,{findReplace:Ro,findResultRef:id,onFind:sd,onFindNext:ad,onFindPrevious:ld,onReplace:cd,onReplaceAll:dd,hyperlinkDialog:$o,onHyperlinkSubmit:Ic,onHyperlinkRemove:kc,tablePropsOpen:gc,onTablePropsClose:()=>hc(false),pmTableContext:N.pmTableContext,getActiveEditorView:gt,splitCellDialogState:bc,onSplitCellDialogClose:Cc,onSplitCellDialogApply:Sc,imagePositionOpen:rc,onImagePositionClose:()=>ic(false),onApplyImagePosition:pc,imagePropsOpen:sc,onImagePropsClose:()=>ac(false),onApplyImageProperties:mc,pmImageContext:N.pmImageContext,showPageSetup:Kc,onPageSetupClose:()=>Gc(false),onPageSetupApply:Qc,document:Se.state,footnotePropsOpen:lc,onFootnotePropsClose:()=>cc(false),onApplyFootnoteProperties:fc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:jl,type:"file",accept:"image/*",style:{display:"none"},onChange:ec}),jsx("input",{ref:Yl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Ql})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${v}`,style:jo,"data-testid":"docx-editor",children:y||jsx(Fl,{})})});function lb(e,t,o={}){return new Promise((r,n)=>{let p=zl.createRef(),c=null;try{c=createRoot(t);}catch(s){n(s);return}let i={save:async()=>{let s=await(p.current?.save()??Promise.resolve(null));return s?new Blob([s],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>p.current?.getDocument()??null,focus:()=>p.current?.focus(),setZoom:s=>p.current?.setZoom(s),scrollToParaId:s=>p.current?.scrollToParaId(s)??false,scrollToPosition:s=>p.current?.scrollToPosition(s),destroy:()=>{c?.unmount(),c=null;}},m=false,a=zl.createElement($r,{...o,documentBuffer:e,onError:s=>{o.onError?.(s),m||(m=true,n(s));},onChange:s=>{o.onChange?.(s),m||(m=true,r(i));},ref:p});c.render(a);})}var eT="0.0.2";export{$r as DocxEditor,eT as VERSION,lb as renderAsync};
|
|
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&>){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&>){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 ph(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 aT="0.0.2";export{Fr as DocxEditor,aT as VERSION,ph as renderAsync};
|