@eigenpal/docx-editor-react 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FindReplaceDialog-ETVJEMEM.js → FindReplaceDialog-HM63BMXE.js} +1 -1
- package/dist/{FindReplaceDialog-2ZH4XD5C.mjs → FindReplaceDialog-KU5TEIBJ.mjs} +1 -1
- package/dist/FootnotePropertiesDialog-TV2BGQDC.js +1 -0
- package/dist/FootnotePropertiesDialog-W3YHM4BV.mjs +1 -0
- package/dist/HyperlinkDialog-7MEQJIYP.js +1 -0
- package/dist/{HyperlinkDialog-PSJ6P3E3.mjs → HyperlinkDialog-ZYH7ZHRF.mjs} +1 -1
- package/dist/ImagePositionDialog-HEWYR6Q3.mjs +1 -0
- package/dist/ImagePositionDialog-LSCCQORZ.js +1 -0
- package/dist/ImagePropertiesDialog-RAB47C6M.mjs +1 -0
- package/dist/ImagePropertiesDialog-Z4M6XKFG.js +1 -0
- package/dist/PageSetupDialog-AIGIXO3E.mjs +1 -0
- package/dist/{PageSetupDialog-UKXK6X35.js → PageSetupDialog-LWYOYKEU.js} +1 -1
- package/dist/SplitCellDialog-45W7SDPY.js +1 -0
- package/dist/SplitCellDialog-IFBKYCD6.mjs +1 -0
- package/dist/TablePropertiesDialog-TMLKGOOW.mjs +1 -0
- package/dist/TablePropertiesDialog-VCDCPM3R.js +1 -0
- package/dist/WatermarkDialog-KRL7WMIS.mjs +1 -0
- package/dist/WatermarkDialog-XGLAH3TK.js +1 -0
- package/dist/chunk-4Y4JFAPY.mjs +2 -0
- package/dist/chunk-74OM4KEH.js +2 -0
- package/dist/chunk-BABMU5KA.mjs +2 -0
- package/dist/chunk-GDJM7SOG.js +2 -0
- package/dist/chunk-GWXEFL3H.js +1 -0
- package/dist/chunk-J72K2BOS.mjs +2 -0
- package/dist/{chunk-B5AYO5OG.js → chunk-LNONBJQM.js} +1 -1
- package/dist/{chunk-K5DD2LSK.mjs → chunk-O6M2HAIZ.mjs} +1 -1
- package/dist/chunk-OCA7BO3G.mjs +1 -0
- package/dist/chunk-OMYLJAPA.mjs +2 -0
- package/dist/chunk-P5ZOUQIK.mjs +1 -0
- package/dist/{chunk-JGPOALUP.js → chunk-PSBO3UDN.js} +1 -1
- package/dist/chunk-QD7BVJV3.js +2 -0
- package/dist/{chunk-2YRWZCRK.mjs → chunk-WFGAQC2B.mjs} +1 -1
- package/dist/chunk-WNWY6WX7.js +2 -0
- package/dist/chunk-YY52FSUR.js +1 -0
- package/dist/dialogs.js +1 -1
- package/dist/dialogs.mjs +1 -1
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +75 -3
- package/dist/index.d.ts +75 -3
- package/dist/index.js +9 -9
- package/dist/index.mjs +9 -9
- package/dist/styles.css +1 -1
- package/dist/ui.d.mts +106 -32
- package/dist/ui.d.ts +106 -32
- package/dist/ui.js +7 -7
- package/dist/ui.mjs +7 -7
- package/package.json +4 -4
- package/dist/FootnotePropertiesDialog-INLVLE26.mjs +0 -1
- package/dist/FootnotePropertiesDialog-WCGK6MV3.js +0 -1
- package/dist/HyperlinkDialog-G5FFKLWY.js +0 -1
- package/dist/ImagePositionDialog-DTGYFFAR.js +0 -1
- package/dist/ImagePositionDialog-FKBG2MSL.mjs +0 -1
- package/dist/ImagePropertiesDialog-SO6RAOT6.js +0 -1
- package/dist/ImagePropertiesDialog-T77XMKJF.mjs +0 -1
- package/dist/PageSetupDialog-CCJAZEIN.mjs +0 -1
- package/dist/SplitCellDialog-NPGW4JGQ.mjs +0 -1
- package/dist/SplitCellDialog-RNP37SKZ.js +0 -1
- package/dist/TablePropertiesDialog-3QNCWNEG.mjs +0 -1
- package/dist/TablePropertiesDialog-AQVM7FGA.js +0 -1
- package/dist/WatermarkDialog-6QSGGPXJ.mjs +0 -1
- package/dist/WatermarkDialog-CYTWCE75.js +0 -1
- package/dist/chunk-3L2QMHNA.mjs +0 -2
- package/dist/chunk-4SYDL233.js +0 -1
- package/dist/chunk-53P6TCSE.js +0 -2
- package/dist/chunk-5BSDRI3Z.js +0 -1
- package/dist/chunk-72ZQJWN2.mjs +0 -2
- package/dist/chunk-AYHZMFCQ.mjs +0 -1
- package/dist/chunk-EKDRHOOJ.js +0 -2
- package/dist/chunk-ICVBXT6V.mjs +0 -2
- package/dist/chunk-IL65NW44.mjs +0 -2
- package/dist/chunk-P3ADI7OT.mjs +0 -1
- package/dist/chunk-PGHNUFNT.js +0 -2
- package/dist/chunk-UT6DJWGC.js +0 -2
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-72ZQJWN2.mjs';import {a as a$1}from'./chunk-K5DD2LSK.mjs';import {a,d,i,e,b as b$4}from'./chunk-2YRWZCRK.mjs';import {b as b$1}from'./chunk-3L2QMHNA.mjs';import {b as b$3}from'./chunk-IVFYCMAM.mjs';import'./chunk-AYHZMFCQ.mjs';import {b as b$2,a as a$3}from'./chunk-OHNO4NRQ.mjs';import {m}from'./chunk-ICVBXT6V.mjs';import {b,a as a$2}from'./chunk-ZFZJRL2R.mjs';export{a as LocaleProvider,b as useTranslation}from'./chunk-ZFZJRL2R.mjs';import {b as b$5}from'./chunk-BMBP5UFA.mjs';import Il,{lazy,forwardRef,useRef,useCallback,useEffect,useImperativeHandle,memo,useMemo,useState,useLayoutEffect,createContext,Suspense,useSyncExternalStore,Component}from'react';import {collectHeadings,findWordBoundaries,pixelsToEmu,loadDocumentFonts,readDocxFileFromInput,loadFontDefinitions,onFontsLoaded,onFontError,resolveColorToHex,twipsToPixels,pixelsToTwips,formatPx}from'@eigenpal/docx-editor-core/utils';import {createStyleResolver,extractSelectionState,schema,createDocumentStylesPlugin,ensureParaIdsInState,findStartPosForParaId,addRowBelow,addColumnRight,getTableContext,setCellFillColor,setTableBorderColor,setTableBorderWidth,setCellBorder,setCellVerticalAlign,setCellMargins,setCellTextDirection,toggleNoWrap,setRowHeight,toggleHeaderRow,distributeColumns,autoFitContents,applyTableStyle,removeTableBorders,setInsideTableBorders,setOutsideTableBorders,setAllTableBorders,mergeCells,selectColumn,selectRow,selectTable,deleteTable,deleteColumn,deleteRow,addColumnLeft,addRowAbove,setContentControlValueTr,removeContentControlTr,setContentControlContentTr,findContentControlPos,findContentControlsInPM,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1,addRepeatingSectionItemTr,removeRepeatingSectionItemTr}from'@eigenpal/docx-editor-core/prosemirror';import {parseDocx,injectReplyRangeMarkers,injectTCReplyRangeMarkers}from'@eigenpal/docx-editor-core/docx';import {ExtensionManager,createStarterKit,hasUntrackedChanges,hasStructuralChanges,getChangedParagraphIds,clearTrackedChanges}from'@eigenpal/docx-editor-core/prosemirror/extensions';import {rejectChangeById,acceptChangeById,rejectChange,acceptChange,insertImageNode,setImageWrapType,getSplitCellDialogConfig,splitActiveTableCell,toggleBold,toggleItalic,toggleUnderline,toggleStrike,toggleSuperscript,toggleSubscript,toggleBulletList,toggleNumberedList,increaseListLevel,increaseIndent,decreaseListLevel,decreaseIndent,clearFormatting,setRtl,setLtr,getSelectedText,getHyperlinkAttrs,applyStyle,setLineSpacing,setFontFamily,setFontSize,setHighlight,setTextColor,clearTextColor,setAlignment,insertTable,insertPageBreak,generateTOC,insertHyperlink,setHyperlink,removeHyperlink,findHyperlinkRangeAt,setIndentLeft,setIndentRight,setIndentFirstLine,removeTabStop,getWatermarkFromState,setWatermark,setTableProperties}from'@eigenpal/docx-editor-core/prosemirror/commands';import {LayoutPainter,buildBlockLookup,renderPages,applySdtFocus,enclosingSdtGroupIds,findImageElement,hitTestImage,captureInlinePositionEmu,renderAllPagesNow,toolbarValueToLayoutTarget,deriveLayoutChoice,IMAGE_LAYOUT_OPTIONS,isImageLayoutOptionEnabled}from'@eigenpal/docx-editor-core/layout-painter';import {toast,Toaster}from'sonner';import {NodeSelection,TextSelection,EditorState}from'prosemirror-state';import {getSelectionInfo,findInDocument,getPageContent}from'@eigenpal/docx-editor-core/prosemirror/queries';import {setParagraphStyle,applyFormatting}from'@eigenpal/docx-editor-core/prosemirror/applyFormatting';import {DocumentAgent,ContentControlNotFoundError}from'@eigenpal/docx-editor-core/agent';import {createComment,applyProposedChange,addCommentToRange}from'@eigenpal/docx-editor-core/prosemirror/commentOps';import {createCommentIdAllocator,PENDING_COMMENT_ID,seedCommentAllocator}from'@eigenpal/docx-editor-core/prosemirror/commentIdAllocator';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,getColumns,applyCellSelectionHighlight,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,computeHfSelectionRectsFromView,invalidateHfDomCache,measureBlocksWithFloats,getCaretPositionFromDom,getSelectionRectsFromDom,findBodyPmSpans,resetCanvasContext,clearAllCaches,findBodyPmAnchors,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';import {en}from'@eigenpal/docx-editor-i18n';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {EditorView}from'prosemirror-view';import {stripScrollFlag,computeLayout,createLayoutScheduler}from'@eigenpal/docx-editor-core/editor';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {commitImageResize,isFloatingImage,commitImageFloatMove,commitImageInlineMove,calculateResizedImageDimensions}from'@eigenpal/docx-editor-core/prosemirror/imageCommit';import {LayoutSelectionGate}from'@eigenpal/docx-editor-core/prosemirror/utils/LayoutSelectionGate';import {SIDEBAR_DOCUMENT_SHIFT,SIDEBAR_WIDTH,SIDEBAR_PAGE_GAP}from'@eigenpal/docx-editor-core/utils/sidebarConstants';import {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {findPageIndexContainingPmPos,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {readColumnWidths,readRowHeight,TWIPS_PER_PIXEL,readColumnWidthAt,MIN_CELL_WIDTH_TWIPS,MIN_ROW_HEIGHT_TWIPS,commitColumnResize,commitRowResize,commitRightEdgeResize}from'@eigenpal/docx-editor-core/prosemirror/tableResize';import {resolveItemPositions}from'@eigenpal/docx-editor-core/plugin-api/resolveItemPositions';import {ErrorManager}from'@eigenpal/docx-editor-core';export{createDocumentWithText,createEmptyDocument}from'@eigenpal/docx-editor-core';import {AgentPanel}from'@eigenpal/docx-editor-agents/react';import {getInitials,formatDate,getCommentText,truncateText,getAvatarColor}from'@eigenpal/docx-editor-core/utils/comments';import {CARD_STYLE_EXPANDED,CARD_STYLE_COLLAPSED}from'@eigenpal/docx-editor-core/utils/cardStyles';import {createSuggestionModePlugin,setSuggestionMode}from'@eigenpal/docx-editor-core/prosemirror/plugins';import {createRoot}from'react-dom/client';function si({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,u]=useState(e),d=useRef(false);d.current=n;let[s,f]=useState([]);useEffect(()=>{if(u(e),e){let b=t.current?.getView();b&&f(collectHeadings(b.state.doc));}},[e,t]);let i=useRef(null),a=useRef(null),[g,l]=useState(0),S=useCallback(b=>{if(a.current=b,i.current&&(i.current.disconnect(),i.current=null),!b){l(0);return}l(b.offsetHeight);let C=new ResizeObserver(()=>{l(b.offsetHeight);});C.observe(b),i.current=C;},[]);useEffect(()=>()=>{i.current?.disconnect();},[]);let[c,m]=useState(0);return useEffect(()=>{let b=o.current;if(!b)return;let C=0,h=()=>{C=0,m(b.scrollLeft);},p=()=>{C===0&&(C=requestAnimationFrame(h));};return h(),b.addEventListener("scroll",p,{passive:true}),()=>{b.removeEventListener("scroll",p),C!==0&&cancelAnimationFrame(C);}},[r,o]),{showOutline:n,setShowOutline:u,showOutlineRef:d,outlineHeadings:s,setHeadingInfos:f,toolbarHeight:g,toolbarRefCallback:S,editorScrollLeft:c}}function li({pagedEditorRef:e,disableFindReplaceShortcuts:t,findReplace:o,hyperlinkDialog:r,tableSelection:n}){useEffect(()=>{let u=d=>{let f=navigator.platform.toUpperCase().indexOf("MAC")>=0?d.metaKey:d.ctrlKey;if(!f&&!d.shiftKey&&!d.altKey&&(d.key==="Delete"||d.key==="Backspace")){let i=e.current?.getView();if(i){let a=i.state.selection;if("$anchorCell"in a&&typeof a.forEachCell=="function"){let l=getTableContext(i.state);if(l.isInTable&&l.table){let S=0;l.table.descendants(m=>{(m.type.name==="tableCell"||m.type.name==="tableHeader")&&(S+=1);});let c=0;if(a.forEachCell(()=>{c+=1;}),S>0&&c>=S){d.preventDefault(),deleteTable(i.state,i.dispatch);return}}}}if(n.state.tableIndex!==null){d.preventDefault(),n.handleAction("deleteTable");return}}if(f&&!d.shiftKey&&!d.altKey){if(d.key.toLowerCase()==="f"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openFind(a);}else if(d.key.toLowerCase()==="h"){if(t)return;d.preventDefault();let i=window.getSelection(),a=i&&!i.isCollapsed?i.toString():"";o.openReplace(a);}else if(d.key.toLowerCase()==="k"){d.preventDefault();let i=e.current?.getView();if(i){let a=getSelectedText$1(i.state),g=getHyperlinkAttrs$1(i.state);g?r.openEdit({url:g.href,displayText:a,tooltip:g.tooltip}):r.openInsert(a);}}}};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u);}},[e,t,o,r,n]);}function di({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:u,onError:d,onPrint:s,onDocumentNameChange:f,loadBuffer:i,getActiveEditorView:a,focusActiveEditor:g}){let l=useRef(null),S=useRef(null),c=useCallback(async v=>{if(!e.current)return null;try{let y=e.current.getDocument(),x=t.current?.getDocument();x?.package?.document&&(y.package.document.content=x.package.document.content),y.package.document.comments=r,injectReplyRangeMarkers(y.package.document.content,r),injectTCReplyRangeMarkers(y.package.document.content,r);let P=v?.selective!==!1,k=t.current?.getView(),T;if(P&&k){let w=k.state,D=r.some(H=>H.parentId!=null);T={selective:{changedParaIds:getChangedParagraphIds(w),structuralChange:hasStructuralChanges(w)||D,hasUntrackedChanges:hasUntrackedChanges(w)}};}let I=await e.current.toBuffer(T);return k&&k.dispatch(clearTrackedChanges(k.state)),u?.(I),I}catch(y){return d?.(y instanceof Error?y:new Error("Failed to save document")),null}},[e,t,r,u,d]),m=useCallback(()=>{let v=o.current?.querySelector(".paged-editor__pages");if(!v){window.print(),s?.();return}renderAllPagesNow(v);let y=window.open("","_blank");if(!y){window.print(),s?.();return}let x=[];for(let k of Array.from(document.styleSheets))try{for(let T of Array.from(k.cssRules))T instanceof CSSFontFaceRule&&x.push(T.cssText);}catch{}let P=v.cloneNode(true);P.style.cssText="display: block; margin: 0; padding: 0;";for(let k of Array.from(P.querySelectorAll(".layout-page"))){let T=k;T.style.boxShadow="none",T.style.margin="0";}y.document.write(`<!DOCTYPE html>
|
|
1
|
+
import {h,a as a$1,d as d$1,g,F,i as i$1,o,E,C,A}from'./chunk-OMYLJAPA.mjs';import {a as a$2}from'./chunk-O6M2HAIZ.mjs';import {a,d,i,e,b as b$4}from'./chunk-WFGAQC2B.mjs';import {b as b$1}from'./chunk-BABMU5KA.mjs';import {b as b$3}from'./chunk-IVFYCMAM.mjs';import'./chunk-OCA7BO3G.mjs';import {b as b$2,a as a$4}from'./chunk-OHNO4NRQ.mjs';import {m}from'./chunk-J72K2BOS.mjs';import {b,a as a$3}from'./chunk-ZFZJRL2R.mjs';export{a as LocaleProvider,b as useTranslation}from'./chunk-ZFZJRL2R.mjs';import {b as b$5}from'./chunk-BMBP5UFA.mjs';import Bl,{lazy,forwardRef,useRef,useCallback,useEffect,useImperativeHandle,memo,useMemo,useState,useLayoutEffect,createContext,Suspense,useSyncExternalStore,Component}from'react';import {prefersColorSchemeDark,subscribeSystemDark,resolveIsDark,collectHeadings,findWordBoundaries,pixelsToEmu,loadDocumentFonts,readDocxFileFromInput,loadFontDefinitions,onFontsLoaded,onFontError,resolveColorToHex,twipsToPixels,pixelsToTwips,formatPx}from'@eigenpal/docx-editor-core/utils';import {createStyleResolver,extractSelectionState,schema,createDocumentStylesPlugin,ensureParaIdsInState,findStartPosForParaId,addRowBelow,addColumnRight,getTableContext,setCellFillColor,setTableBorderColor,setTableBorderWidth,setCellBorder,setCellVerticalAlign,setCellMargins,setCellTextDirection,toggleNoWrap,setRowHeight,toggleHeaderRow,distributeColumns,autoFitContents,applyTableStyle,removeTableBorders,setInsideTableBorders,setOutsideTableBorders,setAllTableBorders,mergeCells,selectColumn,selectRow,selectTable,deleteTable,deleteColumn,deleteRow,addColumnLeft,addRowAbove,setContentControlValueTr,removeContentControlTr,setContentControlContentTr,findContentControlPos,findContentControlsInPM,setContentControlValueAtPosTr,getSelectedText as getSelectedText$1,getHyperlinkAttrs as getHyperlinkAttrs$1,addRepeatingSectionItemTr,removeRepeatingSectionItemTr}from'@eigenpal/docx-editor-core/prosemirror';import {parseDocx,injectReplyRangeMarkers,injectTCReplyRangeMarkers,getCachedNumberingMap}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,insertImageFromFile,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,insertSectionBreakNextPage,insertSectionBreakContinuous,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,findChangeRange,findCommentRange,clampRangeToDoc}from'@eigenpal/docx-editor-core/prosemirror/queries';import {insertBreak,setParagraphStyle,applyFormatting}from'@eigenpal/docx-editor-core/prosemirror/applyFormatting';import {DocumentAgent,ContentControlNotFoundError}from'@eigenpal/docx-editor-core/agent';import {createComment,applyProposedChange,addCommentToRange}from'@eigenpal/docx-editor-core/prosemirror/commentOps';import {createCommentIdAllocator,PENDING_COMMENT_ID,seedCommentAllocator}from'@eigenpal/docx-editor-core/prosemirror/commentIdAllocator';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {DEFAULT_PAGE_HEIGHT_PX,getPageSize,getMargins,getColumns,applyCellSelectionHighlight,getCaretPosition,selectionToRects,findBodyPmAnchor,clickToPositionDom,hitTestFragment,hitTestTableCell,clickToPosition,detectTableInsertHover,TABLE_INSERT_HIDE_DELAY_MS,resolveHeaderFooter,computeHfCaretRectFromView,computeHfSelectionRectsFromView,invalidateHfDomCache,measureBlocksWithFloats,getCaretPositionFromDom,getSelectionRectsFromDom,findBodyPmSpans,resetCanvasContext,clearAllCaches,findBodyPmAnchors,measureParagraph,measureTableBlock,getCachedParagraphMeasure,setCachedParagraphMeasure,getPageTop}from'@eigenpal/docx-editor-core/layout-bridge';import {proseDocToBlocks,toProseDoc,createEmptyDoc,fromProseDoc,headerFooterToProseDoc}from'@eigenpal/docx-editor-core/prosemirror/conversion';import {en}from'@eigenpal/docx-editor-i18n';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {EditorView}from'prosemirror-view';import {stripScrollFlag,computeLayout,createLayoutScheduler}from'@eigenpal/docx-editor-core/editor';import'prosemirror-view/style/prosemirror.css';import'@eigenpal/docx-editor-core/prosemirror/editor.css';import {commitImageResize,isFloatingImage,commitImageFloatMove,commitImageInlineMove,calculateResizedImageDimensions}from'@eigenpal/docx-editor-core/prosemirror/imageCommit';import {LayoutSelectionGate}from'@eigenpal/docx-editor-core/prosemirror/utils/LayoutSelectionGate';import {SIDEBAR_DOCUMENT_SHIFT,SIDEBAR_WIDTH,SIDEBAR_PAGE_GAP}from'@eigenpal/docx-editor-core/utils/sidebarConstants';import {findVerticalScrollParentOrRoot}from'@eigenpal/docx-editor-core/utils/findVerticalScrollParent';import {findPageIndexContainingPmPos,assertExhaustiveFlowBlock,DEFAULT_TEXTBOX_MARGINS,DEFAULT_TEXTBOX_WIDTH}from'@eigenpal/docx-editor-core/layout-engine';import {readColumnWidths,readRowHeight,TWIPS_PER_PIXEL,readColumnWidthAt,MIN_CELL_WIDTH_TWIPS,MIN_ROW_HEIGHT_TWIPS,commitColumnResize,commitRowResize,commitRightEdgeResize}from'@eigenpal/docx-editor-core/prosemirror/tableResize';import {createCellDragTracker,findCellPosFromPmPos}from'@eigenpal/docx-editor-core/prosemirror/cellDragSelection';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 fi({showOutlineProp:e,pagedEditorRef:t,scrollContainerRef:o,isLoading:r}){let[n,u]=useState(e),d=useRef(false);d.current=n;let[l,m]=useState([]);useEffect(()=>{if(u(e),e){let g=t.current?.getView();g&&m(collectHeadings(g.state.doc));}},[e,t]);let s=useRef(null),a=useRef(null),[h,f]=useState(0),b=useCallback(g=>{if(a.current=g,s.current&&(s.current.disconnect(),s.current=null),!g){f(0);return}f(g.offsetHeight);let x=new ResizeObserver(()=>{f(g.offsetHeight);});x.observe(g),s.current=x;},[]);useEffect(()=>()=>{s.current?.disconnect();},[]);let[i,p]=useState(0);return useEffect(()=>{let g=o.current;if(!g)return;let x=0,y=()=>{x=0,p(g.scrollLeft);},c=()=>{x===0&&(x=requestAnimationFrame(y));};return y(),g.addEventListener("scroll",c,{passive:true}),()=>{g.removeEventListener("scroll",c),x!==0&&cancelAnimationFrame(x);}},[r,o]),{showOutline:n,setShowOutline:u,showOutlineRef:d,outlineHeadings:l,setHeadingInfos:m,toolbarHeight:h,toolbarRefCallback:b,editorScrollLeft:i}}function gi({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 s=e.current?.getView();if(s){let a=s.state.selection;if("$anchorCell"in a&&typeof a.forEachCell=="function"){let f=getTableContext(s.state);if(f.isInTable&&f.table){let b=0;f.table.descendants(p=>{(p.type.name==="tableCell"||p.type.name==="tableHeader")&&(b+=1);});let i=0;if(a.forEachCell(()=>{i+=1;}),b>0&&i>=b){d.preventDefault(),deleteTable(s.state,s.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 s=window.getSelection(),a=s&&!s.isCollapsed?s.toString():"";o.openFind(a);}else if(d.key.toLowerCase()==="h"){if(t)return;d.preventDefault();let s=window.getSelection(),a=s&&!s.isCollapsed?s.toString():"";o.openReplace(a);}else if(d.key.toLowerCase()==="k"){d.preventDefault();let s=e.current?.getView();if(s){let a=getSelectedText$1(s.state),h=getHyperlinkAttrs$1(s.state);h?r.openEdit({url:h.href,displayText:a,tooltip:h.tooltip}):r.openInsert(a);}}}};return document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u);}},[e,t,o,r,n]);}function hi({agentRef:e,pagedEditorRef:t,containerRef:o,comments:r,documentName:n,onSave:u,onError:d,onPrint:l,onDocumentNameChange:m,loadBuffer:s,getActiveEditorView:a,focusActiveEditor:h}){let f=useRef(null),b=useRef(null),i=useCallback(async v=>{if(!e.current)return null;try{let C=e.current.getDocument(),R=t.current?.getDocument();R?.package?.document&&(C.package.document.content=R.package.document.content),C.package.document.comments=r,injectReplyRangeMarkers(C.package.document.content,r),injectTCReplyRangeMarkers(C.package.document.content,r);let P=v?.selective!==!1,k=t.current?.getView(),E;if(P&&k){let w=k.state,D=r.some(H=>H.parentId!=null);E={selective:{changedParaIds:getChangedParagraphIds(w),structuralChange:hasStructuralChanges(w)||D,hasUntrackedChanges:hasUntrackedChanges(w)}};}let I=await e.current.toBuffer(E);return k&&k.dispatch(clearTrackedChanges(k.state)),u?.(I),I}catch(C){return d?.(C instanceof Error?C:new Error("Failed to save document")),null}},[e,t,r,u,d]),p=useCallback(()=>{let v=o.current?.querySelector(".paged-editor__pages");if(!v){window.print(),l?.();return}renderAllPagesNow(v);let C=window.open("","_blank");if(!C){window.print(),l?.();return}let R=[];for(let k of Array.from(document.styleSheets))try{for(let E of Array.from(k.cssRules))E instanceof CSSFontFaceRule&&R.push(E.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 E=k;E.style.boxShadow="none",E.style.margin="0";}C.document.write(`<!DOCTYPE html>
|
|
2
2
|
<html><head><title>Print</title>
|
|
3
3
|
<style>
|
|
4
|
-
${
|
|
4
|
+
${R.join(`
|
|
5
5
|
`)}
|
|
6
6
|
* { margin: 0; padding: 0; }
|
|
7
7
|
body { background: white; }
|
|
@@ -9,7 +9,7 @@ body { background: white; }
|
|
|
9
9
|
.layout-page:last-child { break-after: auto; }
|
|
10
10
|
@page { margin: 0; size: auto; }
|
|
11
11
|
</style>
|
|
12
|
-
</head><body>${P.outerHTML}</body></html>`),y.document.close(),y.onload=()=>{y.print(),y.close();},setTimeout(()=>{y.closed||(y.print(),y.close());},1e3),s?.();},[o,s]),b=useCallback(async()=>{let v=await c();if(!v)return;let y=new Blob([v],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),x=URL.createObjectURL(y),P=window.document.createElement("a");P.href=x,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(x),0);},[c,n]),C=useCallback(()=>{S.current?.click();},[]),h=useCallback(async v=>{try{let y=await readDocxFileFromInput(v.nativeEvent);if(!y)return;await i(y.buffer),f?.(y.name);}catch(y){d?.(y instanceof Error?y:new Error("Failed to open document"));}},[i,f,d]),p=useCallback(()=>{l.current?.click();},[]),R=useCallback(v=>{let y=v.target.files?.[0];if(!y)return;let x=a();if(!x)return;let P=new FileReader;P.onload=()=>{let k=P.result,T=new Image;T.onload=()=>{let I=T.naturalWidth,w=T.naturalHeight,D=612;if(I>D){let U=D/I;I=D,w=Math.round(w*U);}let H=`rId_img_${Date.now()}`,O=x.state.schema.nodes.image.create({src:k,alt:y.name,width:I,height:w,rId:H,wrapType:"inline",displayMode:"inline"});insertImageNode(x.state,x.dispatch,O,x.state.selection.from),g();},T.src=k;},P.readAsDataURL(y),v.target.value="";},[a,g]);return {imageInputRef:l,docxInputRef:S,handleSave:c,handleDirectPrint:m,handleDownloadDocument:b,handleOpenDocument:C,handleDocxFileChange:h,handleInsertImageClick:p,handleImageFileChange:R}}function pi({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,u]=useState(false),d=useCallback(()=>u(true),[]),s=useCallback(C=>h=>{if(!e||t)return;let p={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[C]:h}}}};o(p);},[e,t,o]),f=useMemo(()=>s("marginLeft"),[s]),i=useMemo(()=>s("marginRight"),[s]),a=useMemo(()=>s("marginTop"),[s]),g=useMemo(()=>s("marginBottom"),[s]),l=useCallback(C=>{if(!e||t)return;let h={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...C}}}};o(h);},[e,t,o]),S=useCallback(C=>{let h=r();h&&setIndentLeft(C)(h.state,h.dispatch);},[r]),c=useCallback(C=>{let h=r();h&&setIndentRight(C)(h.state,h.dispatch);},[r]),m=useCallback(C=>{let h=r();h&&(C<0?setIndentFirstLine(-C,true)(h.state,h.dispatch):setIndentFirstLine(C,false)(h.state,h.dispatch));},[r]),b=useCallback(C=>{let h=r();h&&removeTabStop(C)(h.state,h.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:u,handleOpenPageSetup:d,handleLeftMarginChange:f,handleRightMarginChange:i,handleTopMarginChange:a,handleBottomMarginChange:g,handlePageSetupApply:l,handleIndentLeftChange:S,handleIndentRightChange:c,handleFirstLineIndentChange:m,handleTabStopRemove:b}}function fi({readOnly:e,getBodyEditorView:t}){let[o,r]=useState(false),n=useCallback(()=>r(true),[]),u=t(),d=u?getWatermarkFromState(u.state)??void 0:void 0,s=useCallback(f=>{if(e)return;let i=t();i&&setWatermark(f)(i.state,i.dispatch);},[e,t]);return {showWatermark:o,setShowWatermark:r,handleOpenWatermark:n,currentWatermark:d,handleWatermarkApply:s}}function hi({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),u=useCallback(c=>{let m=t();if(!m)return;let b=c.url||"",C=c.tooltip,{empty:h}=m.state.selection;h&&c.displayText?insertHyperlink(c.displayText,b,C)(m.state,m.dispatch):h?c.displayText&&insertHyperlink(c.displayText,b,C)(m.state,m.dispatch):setHyperlink(b,C)(m.state,m.dispatch),e.close(),o();},[e,t,o]),d=useCallback(()=>{let c=t();c&&(removeHyperlink(c.state,c.dispatch),o());},[t,o]),s=useCallback(()=>{d(),e.close();},[e,d]),f=useCallback(c=>n(c),[]),i=useCallback(c=>{window.open(c,"_blank","noopener,noreferrer");},[]),a=useCallback(c=>{navigator.clipboard.writeText(c).catch(()=>{let m=document.createElement("textarea");m.value=c,m.style.position="fixed",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),document.body.removeChild(m);});},[]),g=useCallback((c,m)=>{let b=t();if(!b)return;let C=findHyperlinkRangeAt(b.state);if(C){let h=b.state.schema.marks.hyperlink,{$from:p}=b.state.selection,R=h.create({href:m,tooltip:C.mark.attrs.tooltip}),v=b.state.schema.text(c,[...p.marks().filter(x=>x.type!==h),R]),y=b.state.tr.replaceWith(C.start,C.end,v);b.dispatch(y.scrollIntoView());}n(null),o();},[t,o]),l=useCallback(()=>{let c=t();if(!c)return;let m=findHyperlinkRangeAt(c.state,r?.href);if(!m)return;let b=c.state.schema.marks.hyperlink;c.dispatch(c.state.tr.removeMark(m.start,m.end,b).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),S=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:u,handleHyperlinkRemove:s,handleHyperlinkClick:f,handleHyperlinkPopupNavigate:i,handleHyperlinkPopupCopy:a,handleHyperlinkPopupEdit:g,handleHyperlinkPopupRemove:l,handleHyperlinkPopupClose:S}}function yi(e,t,o){let r=0;for(let n of e){let u=r+n.text.length;if(o==="start"&&t>=r&&t<u||o==="end"&&t>r&&t<=u)return n.pmStart+t-r;r=u;}return null}function vi(e,t,o){let r=[],n=0;return e.state.doc.descendants((u,d)=>{if(!u.isTextblock)return true;let s=[],f="";if(u.descendants((a,g)=>(!a.isText||!a.text||(s.push({text:a.text,pmStart:d+1+g}),f+=a.text),true)),!f)return n+=1,false;let i=(0, a$3.findAllMatches)(f,t,o);for(let a of i){let g=yi(s,a.start,"start"),l=yi(s,a.end,"end");g==null||l==null||g>=l||r.push({paragraphIndex:n,contentIndex:0,startOffset:a.start,endOffset:a.end,text:f.slice(a.start,a.end),pmFrom:g,pmTo:l});}return n+=1,false}),r}function Ci({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((a,g)=>{let l=r();if(!l||!a)return null;try{let c=TextSelection.create(l.state.doc,a.pmFrom,a.pmTo);l.dispatch(l.state.tr.setSelection(c)),e.current?.scrollToPosition(a.pmFrom);}catch(c){return console.error("Find navigation failed:",c),null}let S=o.current;return S&&(S.currentIndex=g),t.goToMatch(g),a},[t,r,e]),u=useCallback((a,g)=>{let l=r();if(!l||!a.trim())return o.current=null,t.setMatches([],0),null;let S=vi(l,a,g),c={matches:S,totalCount:S.length,currentIndex:0};return o.current=c,t.setMatches(S,0),S.length>0&&n(S[0],0),c},[t,r,n]),d=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=(a.currentIndex+1)%a.matches.length;return n(a.matches[g],g)},[n]),s=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let g=a.currentIndex===0?a.matches.length-1:a.currentIndex-1;return n(a.matches[g],g)},[n]),f=useCallback(a=>{let g=r(),l=o.current;if(!g||!l||l.matches.length===0)return false;let S=l.matches[l.currentIndex];if(!S)return false;try{let c=a?g.state.tr.replaceWith(S.pmFrom,S.pmTo,g.state.schema.text(a)):g.state.tr.delete(S.pmFrom,S.pmTo);return g.dispatch(c),!0}catch(c){return console.error("Replace failed:",c),false}},[r]),i=useCallback((a,g,l)=>{let S=r();if(!S||!a.trim())return 0;let c=vi(S,a,l);if(c.length===0)return 0;let m=[...c].sort((C,h)=>h.pmFrom-C.pmFrom),b=S.state.tr;for(let C of m)try{b=g?b.replaceWith(C.pmFrom,C.pmTo,S.state.schema.text(g)):b.delete(C.pmFrom,C.pmTo);}catch(h){console.error("Replace failed for match:",C,h);}return S.dispatch(b),o.current=null,t.setMatches([],0),c.length},[t,r]);return {findResultRef:o,handleFind:u,handleFindNext:d,handleFindPrevious:s,handleReplace:f,handleReplaceAll:i}}function xi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:u,getCachedStyleResolver:d}){let s=useCallback(g$1=>{let l=e();if(!l)return;l.focus();let S=l===o.current?.getView(),{from:c,to:m}=l.state.selection,b=r.current;if(S&&b&&(c!==b.from||m!==b.to))try{let C=l.state.tr.setSelection(TextSelection.create(l.state.doc,b.from,b.to));l.dispatch(C);}catch(C){console.warn("Could not restore selection:",C);}if(g$1==="bold")return void toggleBold(l.state,l.dispatch);if(g$1==="italic")return void toggleItalic(l.state,l.dispatch);if(g$1==="underline")return void toggleUnderline(l.state,l.dispatch);if(g$1==="strikethrough")return void toggleStrike(l.state,l.dispatch);if(g$1==="superscript")return void toggleSuperscript(l.state,l.dispatch);if(g$1==="subscript")return void toggleSubscript(l.state,l.dispatch);if(g$1==="bulletList")return void toggleBulletList(l.state,l.dispatch);if(g$1==="numberedList")return void toggleNumberedList(l.state,l.dispatch);if(g$1==="indent"){increaseListLevel(l.state,l.dispatch)||increaseIndent()(l.state,l.dispatch);return}if(g$1==="outdent"){decreaseListLevel(l.state,l.dispatch)||decreaseIndent()(l.state,l.dispatch);return}if(g$1==="clearFormatting")return void clearFormatting(l.state,l.dispatch);if(g$1==="setRtl")return void setRtl(l.state,l.dispatch);if(g$1==="setLtr")return void setLtr(l.state,l.dispatch);if(g$1==="insertLink"){let C=getSelectedText(l.state),h=getHyperlinkAttrs(l.state);h?n.openEdit({url:h.href,displayText:C,tooltip:h.tooltip}):n.openInsert(C);return}if(typeof g$1=="object")switch(g$1.type){case "alignment":setAlignment(g$1.value)(l.state,l.dispatch);break;case "textColor":{let C=g$1.value;typeof C=="string"?setTextColor({rgb:C.replace("#","")})(l.state,l.dispatch):C.auto?clearTextColor(l.state,l.dispatch):setTextColor(C)(l.state,l.dispatch);break}case "highlightColor":{let C=g$1.value?g(g$1.value):"";setHighlight(C||g$1.value)(l.state,l.dispatch);break}case "fontSize":setFontSize(d$1(g$1.value))(l.state,l.dispatch);break;case "fontFamily":setFontFamily(g$1.value)(l.state,l.dispatch);break;case "lineSpacing":setLineSpacing(g$1.value)(l.state,l.dispatch);break;case "applyStyle":{let C=u.current,h=C?.package.styles?d(C.package.styles):null;if(h){let p=h.resolveParagraphStyle(g$1.value);applyStyle(g$1.value,{paragraphFormatting:p.paragraphFormatting,runFormatting:p.runFormatting})(l.state,l.dispatch);}else applyStyle(g$1.value)(l.state,l.dispatch);break}}},[e,o,r,n,u,d]),f=useCallback((g,l)=>{let S=e();S&&(insertTable(g,l)(S.state,S.dispatch),t());},[e,t]),i=useCallback(()=>{let g=e();g&&(insertPageBreak(g.state,g.dispatch),t());},[e,t]),a=useCallback(()=>{let g=e();g&&(generateTOC(g.state,g.dispatch),t());},[e,t]);return {handleFormat:s,handleInsertTable:f,handleInsertPageBreak:i,handleInsertTOC:a}}function Pi({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:u}){let[d,s]=useState(false),[f,i]=useState(false),[a,g]=useState(false),l=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=toolbarValueToLayoutTarget(h);if(!y)return;let x;if(v.attrs.wrapType==="inline"&&y!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${R}"]`),k=P?captureInlinePositionEmu(P,o):void 0;k&&(x={initialPositionEmu:k});}setImageWrapType(R,y,x)(p.state,p.dispatch),n();},[r,n,t,o]),S=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=v.attrs.transform||"",x=y.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=x?parseFloat(x[1]):0,k=/scaleX\(-1\)/.test(y),T=/scaleY\(-1\)/.test(y);switch(h){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":k=!k;break;case "flipV":T=!T;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),k&&I.push("scaleX(-1)"),T&&I.push("scaleY(-1)");let w=I.length>0?I.join(" "):null,D=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,transform:w});p.dispatch(D.scrollIntoView()),n();},[r,n,t]),c=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,position:{horizontal:h.horizontal,vertical:h.vertical},distTop:h.distTop??v.attrs.distTop,distBottom:h.distBottom??v.attrs.distBottom,distLeft:h.distLeft??v.attrs.distLeft,distRight:h.distRight??v.attrs.distRight});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),m=useCallback(()=>{i(true);},[]),b=useCallback(h=>{let p=r();if(!p||!t)return;let R=t.pos,v=p.state.doc.nodeAt(R);if(!v||v.type.name!=="image")return;let y=p.state.tr.setNodeMarkup(R,void 0,{...v.attrs,alt:h.alt??null,borderWidth:h.borderWidth??null,borderColor:h.borderColor??null,borderStyle:h.borderStyle??null,width:h.width??null,height:h.height??null});p.dispatch(y.scrollIntoView()),n();},[r,n,t]),C=useCallback((h,p)=>{if(!e?.package)return;let R={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:h,endnotePr:p}};u({...e,package:{...e.package,document:R}});},[e,u]);return {imagePositionOpen:d,setImagePositionOpen:s,imagePropsOpen:f,setImagePropsOpen:i,footnotePropsOpen:a,setFootnotePropsOpen:g,handleImageWrapType:l,handleImageTransform:S,handleApplyImagePosition:c,handleOpenImageProperties:m,handleApplyImageProperties:b,handleApplyFootnoteProperties:C}}var Yo=new Map;function Ti({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:u,handleDirectPrint:d,zoom:s,setZoom:f,scrollPageInfo:i,loadParsedDocument:a,loadBuffer:g,comments:l,setComments:S,setShowCommentsSidebar:c,contentChangeSubscribersRef:m,selectionChangeSubscribersRef:b,getCachedStyleResolver:C,commentIdAllocator:h}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:u,setZoom:f,getZoom:()=>s,focus:()=>{n.current?.focus();},getCurrentPage:()=>i.currentPage,getTotalPages:()=>i.totalPages,scrollToPage:p=>{n.current?.scrollToPage(p);},scrollToPosition:p=>{n.current?.scrollToPosition(p);},openPrintPreview:d,print:d,loadDocument:a,loadDocumentBuffer:g,addComment:p=>{let R=n.current?.getView();if(!R)return null;let v=addCommentToRange(R,p,h);return v?(S(y=>[...y,v]),c(true),v.id):null},replyToComment:(p,R,v)=>{if(!l.some(x=>x.id===p))return null;let y=createComment(h,R,v,p);return S(x=>[...x,y]),y.id},resolveComment:p=>{S(R=>R.map(v=>v.id===p?{...v,done:true}:v));},proposeChange:p=>{let R=n.current?.getView();if(!R)return false;let v=applyProposedChange(R,p,h);return v&&c(true),v},applyFormatting:p=>{let R=n.current?.getView();return R?applyFormatting(R,p):false},setParagraphStyle:p=>{let R=n.current?.getView();if(!R)return false;let v=r.current,y=v?.package?.styles?C(v.package.styles):null;return setParagraphStyle(R,p,{styleResolver:y})},getPageContent:p=>getPageContent(n.current?.getView()??null,n.current?.getLayout()??null,p),scrollToParaId:p=>n.current?.scrollToParaId(p)??false,findInDocument:(p,R)=>findInDocument(n.current?.getView()??null,p,R),getSelectionInfo:()=>getSelectionInfo(n.current?.getView()??null),getComments:()=>l,getContentControls:p=>{let R=n.current?.getView();return R?findContentControlsInPM(R.state.doc,p??{}):[]},scrollToContentControl:p=>{let R=n.current?.getView();if(!R)return false;let v=findContentControlPos(R.state.doc,p);return v==null?false:(n.current?.scrollToPosition(v),true)},setContentControlContent:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlContentTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},removeContentControl:(p,R)=>{let v=n.current?.getView();if(!v)return false;try{return v.dispatch(removeContentControlTr(v.state,p,R)),!0}catch(y){if(y instanceof ContentControlNotFoundError)return false;throw y}},setContentControlValue:(p,R,v)=>{let y=n.current?.getView();if(!y)return false;try{return y.dispatch(setContentControlValueTr(y.state,p,R,v)),!0}catch(x){if(x instanceof ContentControlNotFoundError)return false;throw x}},onContentChange:p=>(m.current.add(p),()=>{m.current.delete(p);}),onSelectionChange:p=>(b.current.add(p),()=>{b.current.delete(p);})}),[o,s,i,u,d,a,g,l]);}var $=e=>({style:"single",size:4,color:{rgb:e}}),_u=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:$("000000"),bottom:$("000000"),left:$("000000"),right:$("000000"),insideH:$("000000"),insideV:$("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:$("BFBFBF"),bottom:$("BFBFBF"),left:$("BFBFBF"),right:$("BFBFBF"),insideH:$("BFBFBF"),insideV:$("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:$("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:$("BFBFBF"),bottom:$("BFBFBF"),insideH:$("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true}}},{id:"PlainTable2",name:"Plain Table 2",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:$("7F7F7F")}},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"PlainTable3",name:"Plain Table 3",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#E7E7E7"}}},{id:"PlainTable4",name:"Plain Table 4",look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#000000"},band1Horz:{backgroundColor:"#F2F2F2"}}},{id:"GridTable1Light-Accent1",name:"Grid Table 1 Light",tableBorders:{top:$("B4C6E7"),bottom:$("B4C6E7"),left:$("B4C6E7"),right:$("B4C6E7"),insideH:$("B4C6E7"),insideV:$("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:$("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:$("4472C4"),bottom:$("4472C4"),left:$("4472C4"),right:$("4472C4"),insideH:$("4472C4"),insideV:$("4472C4")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"}}},{id:"GridTable5Dark-Accent1",name:"Grid Table 5 Dark",tableBorders:{top:$("FFFFFF"),bottom:$("FFFFFF"),left:$("FFFFFF"),right:$("FFFFFF"),insideH:$("FFFFFF"),insideV:$("FFFFFF")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#4472C4"},band1Horz:{backgroundColor:"#D6E4F0"},band2Horz:{backgroundColor:"#B4C6E7"}}},{id:"ListTable3-Accent2",name:"List Table 3 Accent 2",tableBorders:{top:$("ED7D31"),bottom:$("ED7D31")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#ED7D31"},band1Horz:{backgroundColor:"#FBE4D5"}}},{id:"ListTable4-Accent3",name:"List Table 4 Accent 3",tableBorders:{top:$("A5A5A5"),bottom:$("A5A5A5"),insideH:$("A5A5A5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#A5A5A5"},band1Horz:{backgroundColor:"#EDEDED"}}},{id:"GridTable4-Accent5",name:"Grid Table 4 Accent 5",tableBorders:{top:$("5B9BD5"),bottom:$("5B9BD5"),left:$("5B9BD5"),right:$("5B9BD5"),insideH:$("5B9BD5"),insideV:$("5B9BD5")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#5B9BD5"},band1Horz:{backgroundColor:"#DEEAF6"}}},{id:"GridTable4-Accent6",name:"Grid Table 4 Accent 6",tableBorders:{top:$("70AD47"),bottom:$("70AD47"),left:$("70AD47"),right:$("70AD47"),insideH:$("70AD47"),insideV:$("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function Ei(e){return _u.find(t=>t.id===e)}function ki({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:u}){let[d,s]=useState(false),[f,i]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),a=useCallback(()=>{let c=e(),m=c?getSplitCellDialogConfig(c.state):null,b=m?null:o.getSplitCellConfig(),C=m??b;C&&i({isOpen:true,...C,source:m?"pm":"legacy",capturedCellRow:m?.capturedCellRow??null,capturedCellCol:m?.capturedCellCol??null});},[e,o]),g=useCallback(c=>{let m=e();if(!m){c==="splitCell"?a():typeof c!="object"&&o.handleAction(c);return}switch(c){case "addRowAbove":addRowAbove(m.state,m.dispatch);break;case "addRowBelow":addRowBelow(m.state,m.dispatch);break;case "addColumnLeft":addColumnLeft(m.state,m.dispatch);break;case "addColumnRight":addColumnRight(m.state,m.dispatch);break;case "deleteRow":deleteRow(m.state,m.dispatch);break;case "deleteColumn":deleteColumn(m.state,m.dispatch);break;case "deleteTable":deleteTable(m.state,m.dispatch);break;case "selectTable":selectTable(m.state,m.dispatch);break;case "selectRow":selectRow(m.state,m.dispatch);break;case "selectColumn":selectColumn(m.state,m.dispatch);break;case "mergeCells":mergeCells(m.state,m.dispatch);break;case "splitCell":a();break;case "borderAll":setAllTableBorders(m.state,m.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(m.state,m.dispatch,r.current);break;case "borderInside":setInsideTableBorders(m.state,m.dispatch,r.current);break;case "borderNone":removeTableBorders(m.state,m.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(m.state,m.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(m.state,m.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(m.state,m.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(m.state,m.dispatch);break;default:if(typeof c=="object"){if(c.type==="cellFillColor")setCellFillColor(c.color)(m.state,m.dispatch);else if(c.type==="borderColor"){let b=c.color.replace(/^#/,"");r.current={...r.current,color:{rgb:b}},setTableBorderColor(c.color)(m.state,m.dispatch);}else if(c.type==="borderWidth")r.current={...r.current,size:c.size},setTableBorderWidth(c.size)(m.state,m.dispatch);else if(c.type==="cellBorder")setCellBorder(c.side,{style:c.style,size:c.size,color:{rgb:c.color.replace(/^#/,"")}})(m.state,m.dispatch);else if(c.type==="cellVerticalAlign")setCellVerticalAlign(c.align)(m.state,m.dispatch);else if(c.type==="cellMargins")setCellMargins(c.margins)(m.state,m.dispatch);else if(c.type==="cellTextDirection")setCellTextDirection(c.direction)(m.state,m.dispatch);else if(c.type==="toggleNoWrap")toggleNoWrap()(m.state,m.dispatch);else if(c.type==="rowHeight")setRowHeight(c.height,c.rule)(m.state,m.dispatch);else if(c.type==="toggleHeaderRow")toggleHeaderRow()(m.state,m.dispatch);else if(c.type==="distributeColumns")distributeColumns()(m.state,m.dispatch);else if(c.type==="autoFitContents")autoFitContents()(m.state,m.dispatch);else if(c.type==="openTableProperties")s(true);else if(c.type==="applyTableStyle"){let b=Ei(c.styleId),C=n.current;if(!b&&C?.package.styles){let p=u(C.package.styles).getStyle(c.styleId);if(p){if(b={id:p.styleId,name:p.name??p.styleId},p.tblPr?.borders){let R=p.tblPr.borders;b.tableBorders={};for(let v of ["top","bottom","left","right","insideH","insideV"]){let y=R[v];y&&(b.tableBorders[v]={style:y.style,size:y.size,color:y.color?.rgb?{rgb:y.color.rgb}:void 0});}}if(p.tblStylePr){b.conditionals={};for(let R of p.tblStylePr){let v={};if(R.tcPr?.shading?.fill&&(v.backgroundColor=`#${R.tcPr.shading.fill}`),R.tcPr?.borders){let y={};for(let x of ["top","bottom","left","right"]){let P=R.tcPr.borders[x];P&&(y[x]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}v.borders=y;}R.rPr?.bold&&(v.bold=true),R.rPr?.color?.rgb&&(v.color=`#${R.rPr.color.rgb}`),b.conditionals[R.type]=v;}}b.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}b&&applyTableStyle({styleId:b.id,tableBorders:b.tableBorders,conditionals:b.conditionals,look:b.look})(m.state,m.dispatch);}}else o.handleAction(c);}t();},[o,e,t,a,r,n,u]),l=useCallback(()=>{i(c=>({...c,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),S=useCallback((c,m)=>{if(f.source==="legacy"){o.applySplitCell(c,m),t();return}let b=e();b&&(splitActiveTableCell(b.state,b.dispatch,c,m,f.capturedCellRow??void 0,f.capturedCellCol??void 0),t());},[t,e,f.source,f.capturedCellRow,f.capturedCellCol,o]);return {tablePropsOpen:d,setTablePropsOpen:s,splitCellDialogState:f,openSplitCellDialog:a,handleTableAction:g,handleSplitCellDialogClose:l,handleSplitCellDialogApply:S}}function Mi({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:u,hfEditPosition:d,setHfEditPosition:s,hfEditIsFirstPage:f,setHfEditIsFirstPage:i}){let{headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S}=useMemo(()=>{let{header:p,footer:R,firstHeader:v,firstFooter:y}=resolveHeaderFooter(e??null,u??n);return {headerContent:p,footerContent:R,firstPageHeaderContent:v,firstPageFooterContent:y}},[e,n,u]),c=useCallback((p,R)=>{let y=e?.package?.document?.finalSectionProperties?.titlePg===true&&(R??1)===1,x=y?p==="header"?l:S:p==="header"?a:g;if(i(y),x){s(p);return}if(!e?.package)return;let P=e.package,k=P.document?.finalSectionProperties;if(!k)return;let T=y?"first":"default",I=`rId_new_${p}_${T}`,w={type:p==="header"?"header":"footer",hdrFtrType:T,content:[{type:"paragraph",content:[]}]},D=p==="header"?"headers":"footers",H=new Map(P[D]??[]);H.set(I,w);let O=p==="header"?"headerReferences":"footerReferences",U=k[O]??[],G={type:T,rId:I},W=P.relationships,K=new Set;for(let de of W?.values()??[])de.target&&K.add(de.target);let V=1;for(;K.has(`${p}${V}.xml`);)V++;let oe=p==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",re=new Map(W);re.set(I,{id:I,type:oe,target:`${p}${V}.xml`});let ae={...e,package:{...P,[D]:H,relationships:re,document:P.document?{...P.document,finalSectionProperties:{...k,[O]:[...U,G]}}:P.document}};t(ae),s(p);},[a,g,l,S,e,t,s,i]),m=useCallback(p=>{if(!d||!e?.package){s(null);return}let R=e.package,v=R.document?.finalSectionProperties,y=d==="header"?v?.headerReferences:v?.footerReferences,x=f?"first":"default",P=y?.find(I=>I.type===x)??y?.find(I=>I.type==="default")??y?.find(I=>I.type==="first")??y?.[0],k=d==="header"?"headers":"footers",T=R[k];if(P?.rId&&T){let I=T.get(P.rId),w={type:d,hdrFtrType:P.type,...I,content:p},D=new Map(T);D.set(P.rId,w);let H={...e,package:{...R,[k]:D}};t(H);}s(null);},[d,f,e,t,s]),b=useCallback(()=>{if(!d)return;let p=o.current?.getView();if(p){let R=proseDocToBlocks(p.state.doc);m(R);}else s(null);},[d,m,o,s]),C=useCallback(()=>{if(!d||!e?.package){s(null);return}let p=e.package,R=p.document?.finalSectionProperties,v=d==="header"?"headerReferences":"footerReferences",y=d==="header"?"headers":"footers",x=R?.[v],P=f?"first":"default",k=x?.find(T=>T.type===P)??x?.find(T=>T.type==="default")??x?.find(T=>T.type==="first")??x?.[0];if(k?.rId){let T=new Map(p[y]??[]);T.delete(k.rId);let I=(x??[]).filter(D=>D.rId!==k.rId),w={...e,package:{...p,[y]:T,document:p.document?{...p.document,finalSectionProperties:{...R,[v]:I}}:p.document}};t(w);}s(null);},[d,f,e,t,s]),h=useCallback(p=>{let R=r.current?.querySelector(".paged-editor__pages");if(!R)return null;let v=p==="header"?".layout-page-header":".layout-page-footer";return R.querySelector(v)},[r]);return {headerContent:a,footerContent:g,firstPageHeaderContent:l,firstPageFooterContent:S,handleHeaderFooterDoubleClick:c,handleHeaderFooterSave:m,handleBodyClick:b,handleRemoveHeaderFooter:C,getHfTargetElement:h}}function Hi({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:u,setLoadingState:d,setComments:s,setShowCommentsSidebar:f,onError:i,resetForNewDocument:a,commentsLoadedRef:g,commentIdAllocator:l}){let S=useRef(0),c=useCallback(b=>{a(),r.reset(b),d({isLoading:false,parseError:null}),loadDocumentFonts(b).catch(C=>{console.warn("Failed to load document fonts:",C);});},[a,r,d]),m=useCallback(async b=>{let C=++S.current;a(),d({isLoading:true,parseError:null});try{let h=await parseDocx(b);if(S.current!==C)return;c(h);}catch(h){if(S.current!==C)return;let p=h instanceof Error?h.message:"Failed to parse document";d({isLoading:false,parseError:p}),i?.(h instanceof Error?h:new Error(p));}},[a,c,i,d]);return useEffect(()=>{if(!o){if(!e){t&&c(t);return}m(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(g.current)return;let b=r.state;if(!b)return;g.current=true;let C=b.package?.document?.comments;C&&C.length>0&&(s(C),f(true)),seedCommentAllocator(l,C,u.current?.getView()??null);},[r.state,u,s,f,g,l]),{loadParsedDocument:c,loadBuffer:m}}var Ep={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},uo=18,Ai=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:u,onTextAction:d,onOpenProperties:s,onClose:f})=>{let{t:i}=b(),a=useRef(null),[g,l]=useState(0),S=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),c=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(p=>isImageLayoutOptionEnabled(p,o)),[o]),m=useMemo(()=>(u??[]).filter(p=>!p.disabled),[u]),b$2=s?1:0,C=b$2+c.length+m.length;useEffect(()=>{if(!e)return;let p=v=>{a.current&&!a.current.contains(v.target)&&f();},R=setTimeout(()=>{document.addEventListener("mousedown",p);},0);return ()=>{clearTimeout(R),document.removeEventListener("mousedown",p);}},[e,f]),useEffect(()=>{if(!e)return;let p=R=>{if(R.key==="Escape"){R.preventDefault(),f();return}let v=Math.max(1,C);if(R.key==="ArrowDown")R.preventDefault(),l(y=>(y+1)%v);else if(R.key==="ArrowUp")R.preventDefault(),l(y=>(y-1+v)%v);else if(R.key==="Enter"){if(R.preventDefault(),b$2&&g===0)s?.(),f();else if(g<b$2+c.length)n(c[g-b$2].choice),f();else if(d){let y=m[g-b$2-c.length];y&&(d(y.action),f());}}};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,g,c,m,C,b$2,n,s,d,f]),useEffect(()=>{if(!e)return;let p=S?c.findIndex(R=>R.choice===S):-1;l(p>=0?b$2+p:0);},[e,S,c,b$2]);let h$1=useCallback(()=>{let R=IMAGE_LAYOUT_OPTIONS.length,v=u?.length??0,y=R*36+v*32+(v>0?9:0)+16,x=t.x,P=t.y;return typeof window<"u"&&(x+260>window.innerWidth&&(x=window.innerWidth-260-10),P+y>window.innerHeight&&(P=window.innerHeight-y-10),x<10&&(x=10),P<10&&(P=10)),{position:"fixed",top:P,left:x,minWidth:260,background:"white",border:"1px solid var(--doc-border-light, #e0e0e0)",borderRadius:"8px",boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",zIndex:h.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,u]);return e?jsxs("div",{ref:a,className:"docx-image-context-menu",style:h$1(),role:"menu","aria-label":i("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[s&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{s(),f();},onMouseEnter:()=>l(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:g===0?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text, #222)",textAlign:"left"},children:[jsx("span",{style:{display:"flex",color:"var(--doc-text-muted, #666)",width:uo},children:jsx(b$1,{name:"settings",size:uo})}),jsx("span",{style:{flex:1},children:i("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]}),IMAGE_LAYOUT_OPTIONS.map(p=>{let R=p.choice===S,v=isImageLayoutOptionEnabled(p,o),y=v?b$2+c.findIndex(k=>k.choice===p.choice):-1,x=y>=0&&y===g,P=i(`imageWrap.menuDesc.${p.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":p.choice,"data-current":R?"true":"false","data-disabled":v?"false":"true",disabled:!v,onClick:()=>{v&&(n(p.choice),f());},onMouseEnter:()=>{y>=0&&l(y);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:x?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:v?"pointer":"not-allowed",fontSize:"13px",color:v?"var(--doc-text, #222)":"var(--doc-text-placeholder, #999)",textAlign:"left",opacity:v?1:.55},children:[jsx("span",{style:{display:"flex",color:R?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:uo},children:jsx(b$1,{name:Ep[p.iconHint],size:uo})}),jsx("span",{style:{flex:1},children:i(`imageWrap.menu.${p.i18nLabelKey}`)}),R&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":i("toolbar.imageWrap.current"),children:"\u25CF"})]},p.choice)}),u&&u.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),u.map((p,R)=>{let v=p.disabled?-1:b$2+c.length+m.findIndex(x=>x.action===p.action),y=v===g&&!p.disabled;return jsxs(Il.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":p.action,"data-disabled":p.disabled?"true":"false",disabled:p.disabled,onClick:()=>{p.disabled||!d||(d(p.action),f());},onMouseEnter:()=>{v>=0&&l(v);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:y?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:p.disabled?"not-allowed":"pointer",fontSize:"13px",color:p.disabled?"var(--doc-text-placeholder, #999)":"var(--doc-text, #222)",textAlign:"left",opacity:p.disabled?.55:1},children:[jsx("span",{style:{width:uo},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:p.label}),p.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted, #888)",fontFamily:"monospace"},children:p.shortcut})]}),p.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]},`${p.action}-${R}`)})]})]}):null};function Oi(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,u]=useState("inline"),[d,s]=useState(null),[f,i]=useState(null),[a,g]=useState(null),l=useCallback(c=>{r({x:c.x,y:c.y}),u(c.wrapType),s(c.cssFloat??null),i(c.pos),g(c.inlinePositionEmu??null),t(true);},[]),S=useCallback(()=>{t(false),i(null),g(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:d,imagePos:f,inlinePositionEmu:a,openForImage:l,closeMenu:S}}function Xo(e,t,o){if(!e||!t)return null;let r=e.querySelector(".paged-editor__pages");if(!r)return null;for(let n of findBodyPmAnchors(r)){let u=Number(n.dataset.pmStart),d=Number(n.dataset.pmEnd);if(o>=u&&o<=d)return n.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Bi(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function Vi({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:u,onAddComment:d}){let{t:s}=b(),[f,i]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),a=Oi(),g=useCallback(h=>{let p=h.target;if(p?.closest(".paged-editor__pages")&&!p.closest(".hf-inline-editor"))return;h.preventDefault(),h.stopPropagation();let R=e(),v=R?getTableContext(R.state):{isInTable:false},{from:y,to:x}=R?.state.selection??{from:0,to:0},P=y!==x;i({isOpen:true,position:{x:h.clientX,y:h.clientY},hasSelection:P,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e]),l=useCallback(h=>{if(h.image){a.openForImage({x:h.x,y:h.y,wrapType:h.image.wrapType,cssFloat:h.image.cssFloat,pos:h.image.pos,inlinePositionEmu:h.image.inlinePositionEmu});return}let p=e(),R=p?getTableContext(p.state):{isInTable:false};i({isOpen:true,position:h,hasSelection:h.hasSelection,cursorInTable:R.isInTable,tableContext:R.isInTable?R:null});},[e,a]),S=useCallback(h=>{let p=e();if(!p||a.imagePos===null)return;let R=a.inlinePositionEmu?{initialPositionEmu:a.inlinePositionEmu}:void 0;setImageWrapType(a.imagePos,h,R)(p.state,p.dispatch);},[e,a.imagePos,a.inlinePositionEmu]),c=useMemo(()=>[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut"))}],[s]),m=useCallback(()=>{i({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),b$1=useMemo(()=>{let h=[{action:"cut",label:s("contextMenu.cut"),shortcut:a$1(s("contextMenu.cutShortcut"))},{action:"copy",label:s("contextMenu.copy"),shortcut:a$1(s("contextMenu.copyShortcut"))},{action:"paste",label:s("contextMenu.paste"),shortcut:a$1(s("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:s("contextMenu.pastePlainText"),shortcut:a$1(s("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:s("contextMenu.delete"),shortcut:a$1(s("contextMenu.deleteShortcut")),dividerAfter:!f.hasSelection&&!f.cursorInTable}];return f.hasSelection&&h.push({action:"addComment",label:"Comment",dividerAfter:!f.cursorInTable}),f.cursorInTable&&h.push({action:"addRowAbove",label:"Insert row above"},{action:"addRowBelow",label:"Insert row below"},{action:"deleteRow",label:"Delete row",dividerAfter:true},{action:"addColumnLeft",label:"Insert column left"},{action:"addColumnRight",label:"Insert column right"},{action:"deleteColumn",label:"Delete column"},{action:"mergeCells",label:u?.table?.mergeCells??en.table.mergeCells,disabled:!f.tableContext?.hasMultiCellSelection},{action:"splitCell",label:u?.table?.splitCell??en.table.splitCell,disabled:!f.tableContext?.canSplitCell,dividerAfter:true}),h.push({action:"selectAll",label:s("contextMenu.selectAll"),shortcut:a$1(s("contextMenu.selectAllShortcut"))}),h},[f.hasSelection,f.cursorInTable,f.tableContext,u,s]),C=useCallback(async h=>{let p=e();if(p)switch(t(),h){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let R=await navigator.clipboard.read(),v="",y="";for(let k of R)k.types.includes("text/html")&&(v=await(await k.getType("text/html")).text()),k.types.includes("text/plain")&&(y=await(await k.getType("text/plain")).text());let x=new DataTransfer;v&&x.items.add(v,"text/html"),y&&x.items.add(y,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:x,bubbles:!0,cancelable:!0});p.dom.dispatchEvent(P);}catch{try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}}break}case "pasteAsPlainText":try{let R=await navigator.clipboard.readText();R&&p.dispatch(p.state.tr.insertText(R));}catch{}break;case "delete":{let{from:R,to:v}=p.state.selection;R!==v&&p.dispatch(p.state.tr.deleteRange(R,v));break}case "selectAll":p.dispatch(p.state.tr.setSelection(TextSelection.create(p.state.doc,0,p.state.doc.content.size)));break;case "addRowAbove":addRowAbove(p.state,p.dispatch);break;case "addRowBelow":addRowBelow(p.state,p.dispatch);break;case "deleteRow":deleteRow(p.state,p.dispatch);break;case "addColumnLeft":addColumnLeft(p.state,p.dispatch);break;case "addColumnRight":addColumnRight(p.state,p.dispatch);break;case "deleteColumn":deleteColumn(p.state,p.dispatch);break;case "mergeCells":mergeCells(p.state,p.dispatch);break;case "splitCell":o();break;case "addComment":{let{from:R,to:v}=p.state.selection;if(R===v)break;let y=Xo(r.current,n.current,R),x=p.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),P=p.state.tr.addMark(R,v,x);P.setSelection(TextSelection.create(P.doc,v)),p.dispatch(P),d({from:R,to:v,yPos:y});break}}},[e,t,o,r,n,d]);return {contextMenu:f,imageContextMenu:a,handleEditorContextMenu:g,handleContextMenu:l,handleContextMenuClose:m,handleImageWrapApply:S,imageContextMenuTextActions:c,contextMenuItems:b$1,handleContextMenuAction:C}}function $i({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,u]=useState([]),d=e!==void 0,s=d?e:n,[f,i]=useState(false),[a,g]=useState(null),[l,S]=useState(null),[c,m]=useState(null),b=useRef(null),C=useRef(s);C.current=s;let h=useRef(f);h.current=f;let p=useRef(t);p.current=t;let R=useRef(o);R.current=o;let v=useCallback(x=>{let P=typeof x=="function"?x(C.current):x;P!==C.current&&(d||(C.current=P,u(P)),R.current?.(P));},[d]),y=useCallback(()=>{if(h.current)return;let x=r.current?.getView();if(!x)return;let{doc:P,schema:k}=x.state,T=k.marks.comment;if(!T)return;let I=new Set;P.descendants(H=>{for(let O of H.marks)if(O.type===T){let U=O.attrs.commentId;U!==PENDING_COMMENT_ID&&I.add(U);}});let w=C.current,D=new Set;for(let H of w)H.parentId==null&&!I.has(H.id)&&D.add(H.id);if(D.size!==0){for(let H of w)D.has(H.id)&&p.current?.(H);v(H=>H.filter(O=>!D.has(O.id)&&!D.has(O.parentId)));}},[r,v]);return useEffect(()=>()=>{b.current&&clearTimeout(b.current);},[]),{comments:s,setComments:v,isAddingComment:f,setIsAddingComment:i,isAddingCommentRef:h,commentSelectionRange:a,setCommentSelectionRange:g,addCommentYPosition:l,setAddCommentYPosition:S,floatingCommentBtn:c,setFloatingCommentBtn:m,cleanOrphanedCommentsTimerRef:b,cleanOrphanedComments:y}}function Gi({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:u,trackedChangesLoadedRef:d}){useEffect(()=>{e.size!==0&&t(s=>{let f=false,i=s.map(a=>{if(a.parentId!=null)return a;let g=e.get(a.id);return g!=null?(f=true,{...a,parentId:g}):a});return f?i:s});},[e,t]),useEffect(()=>{d.current||r||!o||(d.current=true,n>0&&u(true));},[o,r,n,u,d]);}function Yi({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:u,setFloatingCommentBtn:d,applySelectionDelta:s,recomputeFloatingCommentBtn:f,onSelectionChange:i,selectionChangeSubscribersRef:a}){return {handleSelectionChange:useCallback(l=>{let S=e();if(S){let{from:k,to:T}=S.state.selection;t.current={from:k,to:T};}let c=null;if(S&&(c=getTableContext(S.state),c.isInTable||(c=null)),c?.cellBorderColor){let k=resolveColorToHex(c.cellBorderColor,r??void 0);k&&(o.current={...o.current,color:{rgb:k}});}let m=null;if(S){let k=S.state.selection,T=k.node;T?.type.name==="image"&&(m={pos:k.from,wrapType:T.attrs.wrapType??"inline",displayMode:T.attrs.displayMode??"inline",cssFloat:T.attrs.cssFloat??null,transform:T.attrs.transform??null,alt:T.attrs.alt??null,borderWidth:T.attrs.borderWidth??null,borderColor:T.attrs.borderColor??null,borderStyle:T.attrs.borderStyle??null,width:T.attrs.width??null,height:T.attrs.height??null});}if(!l){d(null),s({selectionFormatting:{},pmTableContext:c,pmImageContext:m});return}let{textFormatting:b,paragraphFormatting:C}=l,h=b.fontFamily?.ascii||b.fontFamily?.hAnsi,p=b.fontSize;if(!h||!p){let k=n.current,T=l.styleId;if(k?.package.styles&&T){let w=u(k.package.styles).resolveParagraphStyle(T);!h&&w.runFormatting?.fontFamily&&(h=w.runFormatting.fontFamily.ascii||w.runFormatting.fontFamily.hAnsi),!p&&w.runFormatting?.fontSize&&(p=w.runFormatting.fontSize);}}let R=resolveColorToHex(b.color,r??void 0),v=R?`#${R}`:void 0,y=C.numPr,x=y?{type:y.numId===1?"bullet":"numbered",level:y.ilvl??0,isInList:true,numId:y.numId}:void 0,P={bold:b.bold,italic:b.italic,underline:!!b.underline,strike:b.strike,superscript:b.vertAlign==="superscript",subscript:b.vertAlign==="subscript",fontFamily:h,fontSize:p,color:v,highlight:b.highlight,alignment:C.alignment,lineSpacing:C.lineSpacing,listState:x,styleId:l.styleId??void 0,indentLeft:C.indentLeft,bidi:!!C.bidi};s({selectionFormatting:P,paragraphIndentLeft:C.indentLeft??0,paragraphIndentRight:C.indentRight??0,paragraphFirstLineIndent:C.indentFirstLine??0,paragraphHangingIndent:C.hangingIndent??false,paragraphTabs:C.tabs??null,pmTableContext:c,pmImageContext:m}),f(),i?.(l);for(let k of a.current)try{k(l);}catch(T){console.error("selectionChange subscriber threw:",T);}},[e,t,o,r,n,u,d,s,f,i,a])}}function Xi({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:u,isLoading:d,zoom:s}){let f=useRef(false);f.current=u;let i=useCallback(()=>{let a=e.current?.getView();if(!a)return;if(r.current||f.current){n(null);return}let{from:g,to:l}=a.state.selection;if(g===l){n(null);return}let S=t.current,c=o.current;if(!S||!c)return;let m=Xo(S,c,g);if(m==null)return;let C=S.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),h=C?C.getBoundingClientRect().right-c.getBoundingClientRect().left:c.getBoundingClientRect().width/2+408;n({top:m,left:h});},[e,t,o,r,n]);return useEffect(()=>{let a=t.current;if(!a)return;let g=new ResizeObserver(()=>i());g.observe(a);let l=()=>i();return window.addEventListener("resize",l),()=>{g.disconnect(),window.removeEventListener("resize",l);}},[d,i,t]),useEffect(()=>{i();},[s,i]),{recomputeFloatingCommentBtn:i}}function Zi({hfEditPosition:e,hfEditorRef:t,pagedEditorRef:o}){let r=useCallback(()=>e&&t.current?t.current.getView():o.current?.getView(),[e,t,o]),n=useCallback(()=>{e&&t.current?t.current.focus():o.current?.focus();},[e,t,o]),u=useCallback(()=>{e&&t.current?t.current.undo():o.current?.undo();},[e,t,o]),d=useCallback(()=>{e&&t.current?t.current.redo():o.current?.redo();},[e,t,o]);return {getActiveEditorView:r,focusActiveEditor:n,undoActiveEditor:u,redoActiveEditor:d}}function Qi({scrollContainerRef:e,pagedEditorRef:t}){let[o,r]=useState({currentPage:1,totalPages:1,visible:false}),n=useRef(null),u=e.current;return useEffect(()=>{if(!u)return;let d=()=>{let s=t.current?.getLayout();if(!s||s.pages.length===0)return;let f=u.scrollTop,i=s.pages.length,a=24,g=24,l=f+u.clientHeight/2,S=g,c=1;for(let m=0;m<s.pages.length;m++){let b=s.pages[m].size.h,C=S+b;if(l<C){c=m+1;break}S=C+a,c=m+2;}c=Math.min(c,i),r({currentPage:c,totalPages:i,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(m=>({...m,visible:false}));},600);};return u.addEventListener("scroll",d,{passive:true}),()=>{u.removeEventListener("scroll",d),n.current&&clearTimeout(n.current);}},[u,t]),{scrollPageInfo:o,setScrollPageInfo:r}}function Ji({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:u,imageContextMenuTextActions:d,onOpenImageProperties:s,readOnly:f}){return jsxs(Fragment,{children:[jsx(i$1,{isOpen:e.isOpen,position:e.position,hasSelection:e.hasSelection,isEditable:!f,items:t,onAction:o,onClose:r}),jsx(Ai,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:u,textActions:d,onTextAction:o,onOpenProperties:s,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var Zp=lazy(()=>import('./FindReplaceDialog-2ZH4XD5C.mjs')),Qp=lazy(()=>import('./HyperlinkDialog-PSJ6P3E3.mjs')),Jp=lazy(()=>import('./TablePropertiesDialog-3QNCWNEG.mjs').then(e=>({default:e.TablePropertiesDialog}))),em=lazy(()=>import('./SplitCellDialog-NPGW4JGQ.mjs')),tm=lazy(()=>import('./ImagePositionDialog-FKBG2MSL.mjs').then(e=>({default:e.ImagePositionDialog}))),om=lazy(()=>import('./ImagePropertiesDialog-T77XMKJF.mjs').then(e=>({default:e.ImagePropertiesDialog}))),nm=lazy(()=>import('./FootnotePropertiesDialog-INLVLE26.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),rm=lazy(()=>import('./PageSetupDialog-CCJAZEIN.mjs').then(e=>({default:e.PageSetupDialog}))),im=lazy(()=>import('./WatermarkDialog-6QSGGPXJ.mjs').then(e=>({default:e.WatermarkDialog})));function ea({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,hyperlinkDialog:s,onHyperlinkSubmit:f,onHyperlinkRemove:i,tablePropsOpen:a,onTablePropsClose:g,pmTableContext:l,getActiveEditorView:S,splitCellDialogState:c,onSplitCellDialogClose:m,onSplitCellDialogApply:b,imagePositionOpen:C,onImagePositionClose:h,onApplyImagePosition:p,imagePropsOpen:R,onImagePropsClose:v,onApplyImageProperties:y,pmImageContext:x,showPageSetup:P,onPageSetupClose:k,onPageSetupApply:T,showWatermark:I,onWatermarkClose:w,onWatermarkApply:D,currentWatermark:H,document:O,footnotePropsOpen:U,onFootnotePropsClose:G,onApplyFootnoteProperties:W}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(Zp,{isOpen:e.state.isOpen,onClose:e.close,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,initialSearchText:e.state.searchText,replaceMode:e.state.replaceMode,currentResult:t.current}),s.state.isOpen&&jsx(Qp,{isOpen:s.state.isOpen,onClose:s.close,onSubmit:f,onRemove:s.state.isEditing?i:void 0,initialData:s.state.initialData,selectedText:s.state.selectedText,isEditing:s.state.isEditing}),a&&jsx(Jp,{isOpen:a,onClose:g,onApply:K=>{let V=S();V&&setTableProperties(K)(V.state,V.dispatch);},currentProps:l?.table?.attrs}),c.isOpen&&jsx(em,{isOpen:c.isOpen,onClose:m,onApply:b,initialRows:c.initialRows,initialCols:c.initialCols,minRows:c.minRows,minCols:c.minCols}),C&&jsx(tm,{isOpen:C,onClose:h,onApply:p}),R&&jsx(om,{isOpen:R,onClose:v,onApply:y,currentData:x?{alt:x.alt??void 0,borderWidth:x.borderWidth??void 0,borderColor:x.borderColor??void 0,borderStyle:x.borderStyle??void 0,width:x.width??void 0,height:x.height??void 0}:void 0}),P&&jsx(rm,{isOpen:P,onClose:k,onApply:T,currentProps:O?.package.document?.finalSectionProperties}),I&&jsx(im,{isOpen:I,onClose:w,onApply:D,current:H}),U&&jsx(nm,{isOpen:U,onClose:G,onApply:W,footnotePr:O?.package.document?.finalSectionProperties?.footnotePr,endnotePr:O?.package.document?.finalSectionProperties?.endnotePr})]})}function oa({active:e,onClick:t}){let{t:o}=b(),r=o("editor.toggleCommentsSidebar");return jsx(A,{onClick:t,active:e,title:r,ariaLabel:r,children:jsx(b$1,{name:"comment",size:20})})}var Qn=[{value:"editing",labelKey:"editor.editing",icon:"edit_note",descKey:"editor.editingDescription"},{value:"suggesting",labelKey:"editor.suggesting",icon:"rate_review",descKey:"editor.suggestingDescription"},{value:"viewing",labelKey:"editor.viewing",icon:"visibility",descKey:"editor.viewingDescription"}];function ra({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[u,d]=useState(false),s=useRef(null),f=useRef(null),[i,a]=useState({top:0,left:0}),g=Qn.find(l=>l.value===e);return useEffect(()=>{let l=window.matchMedia("(max-width: 1400px)");d(l.matches);let S=c=>d(c.matches);return l.addEventListener("change",S),()=>l.removeEventListener("change",S)},[]),useEffect(()=>{if(!r||!s.current)return;let l=s.current.getBoundingClientRect();a({top:l.bottom+2,left:l.right-220});},[r]),useEffect(()=>{if(!r)return;let l=c=>{!s.current?.contains(c.target)&&!f.current?.contains(c.target)&&n(false);},S=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",S);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:s,type:"button",onMouseDown:l=>l.preventDefault(),onClick:()=>n(!r),title:`${o(g.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:u?0:4,padding:u?"2px 4px":"2px 6px 2px 4px",border:"none",background:r?"var(--doc-hover, #f3f4f6)":"transparent",borderRadius:4,cursor:"pointer",fontSize:13,fontWeight:400,color:"var(--doc-text, #374151)",whiteSpace:"nowrap",height:28},children:[jsx(b$1,{name:g.icon,size:18}),!u&&jsx("span",{children:o(g.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:f,onMouseDown:l=>l.preventDefault(),style:{position:"fixed",top:i.top,left:i.left,backgroundColor:"white",border:"1px solid var(--doc-border, #d1d5db)",borderRadius:8,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.12)",padding:"4px 0",zIndex:1e4,minWidth:220},children:Qn.map(l=>jsxs("button",{type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>{t(l.value),n(false);},onMouseOver:S=>{S.currentTarget.style.backgroundColor="var(--doc-hover, #f3f4f6)";},onMouseOut:S=>{S.currentTarget.style.backgroundColor="transparent";},style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"none",background:"transparent",cursor:"pointer",fontSize:13,color:"var(--doc-text, #374151)",width:"100%",textAlign:"left"},children:[jsx(b$1,{name:l.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(l.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:o(l.descKey)})]}),l.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},l.value))})]})}function ia({active:e,onClick:t,badge:o}){let{t:r}=b(),n=r("agentPanel.toggle");return jsx(A,{onClick:t,active:e,title:n,ariaLabel:n,children:jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[jsx(b$1,{name:"agent-sparkle",size:20}),o!=null&&jsx("span",{"data-testid":"agent-panel-toggle-badge",style:{position:"absolute",top:-4,right:-6,display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:14,height:14,padding:"0 3px",borderRadius:7,fontSize:10,fontWeight:600,background:"#ef4444",color:"#fff",lineHeight:1},children:o})]})})}function aa({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:u,selectionFormatting:d,tableContext:s,imageContext:f,readOnly:i,editingMode:a,setEditingMode:g,setShowCommentsSidebar:l,setExpandedSidebarItem:S,showCommentsSidebar:c,agentPanel:m,renderLogo:b,documentName:C$1,onDocumentNameChange:h,documentNameEditable:p,renderTitleBarRight:R,toolbarExtra:v,fontFamilies:y,zoom:x,showZoomControl:P,onFormat:k,onUndo:T,onRedo:I,onPrint:w,onOpen:D,onSave:H,onZoomChange:O,onRefocusEditor:U,onInsertTable:G,onInsertImage:W,onInsertPageBreak:K,onInsertTOC:V,onImageWrapType:oe,onImageTransform:re,onOpenImageProperties:ae,onPageSetup:de,onWatermark:Pe,onTableAction:ve}){return jsx("div",{ref:e,className:"z-50 flex flex-col gap-0 flex-shrink-0",children:jsxs(E,{className:t?"rounded-br-2xl":void 0,style:{transition:"border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1)"},currentFormatting:d,onFormat:k,onUndo:T,onRedo:I,canUndo:u?undoDepth(u)>0:false,canRedo:u?redoDepth(u)>0:false,disabled:i,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:y,onPrint:w,onOpen:D,onSave:H,showZoomControl:P,zoom:x,onZoomChange:O,onRefocusEditor:U,onInsertTable:G,showTableInsert:true,onInsertImage:W,onInsertPageBreak:K,onInsertTOC:V,imageContext:f,onImageWrapType:oe,onImageTransform:re,onOpenImageProperties:ae,onPageSetup:de,onWatermark:Pe,tableContext:s,onTableAction:ve,children:[jsxs(E.TitleBar,{children:[b&&jsx(E.Logo,{children:b()}),C$1!==void 0&&jsx(E.DocumentName,{value:C$1,onChange:h,editable:p}),R&&jsx(E.TitleBarRight,{children:R()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(oa,{active:c,onClick:()=>{l(ce=>!ce),S(null);}}),jsx(C,{}),jsx(ra,{mode:a,onModeChange:ce=>{g(ce),ce==="suggesting"&&l(true);}}),m&&m.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(ia,{active:t,badge:m.toolbarBadge,onClick:()=>o(!t)})]}),v]})]})})}function sa(e,t,o){let r=e.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!r)return null;let n=r.getBoundingClientRect(),u=getCaretPositionFromDom(e,t,n);return u?{x:u.x/o,y:u.y/o,height:u.height,pageIndex:u.pageIndex}:null}function la(e,t,o,r,n){return getSelectionRectsFromDom(e,o,r,t).map(d=>({x:d.x/n,y:d.y/n,width:d.width/n,height:d.height/n,pageIndex:d.pageIndex}))}var km={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function pa(e,t,o,r=[]){let n=o?.getSchema()??schema,u=t??e?.package?.styles,d=e?toProseDoc(e,{styles:u}):createEmptyDoc(),s=createDocumentStylesPlugin(u),f=[...r,...o?.getPlugins()??[],s];return ensureParaIdsInState(EditorState.create({doc:d,schema:n,plugins:f}))}function Mm(e,t){return t?fromProseDoc(e.doc,t):null}var Dm=forwardRef(function(t,o){let{document:r,styles:n,theme:u,widthPx:d=612,readOnly:s=false,onTransaction:f,onSelectionChange:i,externalPlugins:a=[],extensionManager:g,onEditorViewReady:l,onEditorViewDestroy:S,onKeyDown:c}=t,m=useRef(null),b=useRef(null),C=useRef(r),h=useRef(false),p=useRef(null),R=useRef(false),v=useRef(f),y=useRef(i),x=useRef(l),P=useRef(S),k=useRef(c),T=useRef(s);v.current=f,y.current=i,x.current=l,P.current=S,k.current=c,T.current=s,C.current=r;let I=G=>{if(!G)return "empty";let W=G.package?.properties;return `${W?.created||""}-${W?.modified||""}-${W?.title||""}`},w=useCallback(()=>{if(!m.current||h.current)return;let W={state:pa(r,n,g,a),editable:()=>!T.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(V){if(h.current)return;b.current||(b.current=this),stripScrollFlag(V,this.state.tr);let oe=this.state.apply(V);this.updateState(oe),v.current?.(V,oe),(V.selectionSet||V.docChanged)&&y.current?.(oe);},handleKeyDown:(V,oe)=>k.current?.(V,oe)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};b.current=new EditorView(m.current,W);let K=b.current.dom;K.style.overflowAnchor="none",R.current=true,p.current=I(r),x.current?.(b.current);},[r,n,a,g,s]),D=useCallback(()=>{b.current&&!h.current&&(h.current=true,P.current?.(),b.current.destroy(),b.current=null,h.current=false);},[]);useEffect(()=>(w(),()=>D()),[]),useEffect(()=>{if(!b.current||h.current)return;let G=I(r);if(R.current&&G===p.current)return;R.current=true,p.current=G;let W=pa(r,n,g,a);b.current.updateState(W),y.current?.(W);},[r,n,g,a]),useEffect(()=>{b.current;},[s]),useImperativeHandle(o,()=>({getState(){return b.current?.state??null},getView(){return b.current??null},getDocument(){return b.current?Mm(b.current.state,C.current):null},focus(){b.current?.focus();},blur(){b.current?.hasFocus()&&b.current.dom.blur();},isFocused(){return b.current?.hasFocus()??false},dispatch(G){b.current&&!h.current&&b.current.dispatch(G);},executeCommand(G){return b.current?G(b.current.state,b.current.dispatch,b.current):false},undo(){return b.current?undo(b.current.state,b.current.dispatch):false},redo(){return b.current?redo(b.current.state,b.current.dispatch):false},canUndo(){return b.current?undo(b.current.state):false},canRedo(){return b.current?redo(b.current.state):false},setSelection(G,W){if(!b.current)return;let{state:K,dispatch:V}=b.current,oe=K.doc.resolve(G),re=W!==void 0?K.doc.resolve(W):oe,ae=TextSelection.between(oe,re);V(K.tr.setSelection(ae));},setNodeSelection(G){if(!b.current)return;let{state:W,dispatch:K}=b.current;try{let V=NodeSelection.create(W.doc,G);K(W.tr.setSelection(V));}catch{this.setSelection(G);}},setCellSelection(G,W){if(!b.current)return;let{state:K,dispatch:V}=b.current;try{let oe=CellSelection.create(K.doc,G,W);V(K.tr.setSelection(oe));}catch{this.setSelection(G,W);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:m,className:"paged-editor__hidden-pm",style:{...km,width:d>0?`${d}px`:void 0}}),O=globalThis.document,U=O&&"body"in O&&O.body!=null?O.body:null;return U?createPortal(H,U):H}),ma=memo(Dm);function Gm(e,t,o,r,n){let u=headerFooterToProseDoc(e.content,{styles:t??void 0,theme:o??null,defaultTabStopTwips:r??null}),d=createDocumentStylesPlugin(t);return EditorState.create({doc:u,schema:schema,plugins:[...n.getPlugins(),d]})}function jm(e){if(!e?.package)return [];let t=[],o=e.package.headers;if(o)for(let n of o.keys())t.push({rId:n,kind:"header"});let r=e.package.footers;if(r)for(let n of r.keys())(!o||!o.has(n))&&t.push({rId:n,kind:"footer"});return t}var nr=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:u},d){let s=useRef(u);s.current=u;let f=useRef(t);f.current=t;let i=useRef(null),a=useRef(null),g=useRef(new Map),l=useRef(new Map);i.current=(m,b,C)=>{let p=f.current?.package;if(!p)return;let v=(b==="header"?p.headers:p.footers)?.get(m);v&&(v.content=proseDocToBlocks(C.doc));};let S=useCallback((m,b)=>{let C=t?.package;return C?(b==="header"?C.headers:C.footers)?.get(m)??null:null},[t]),c=useMemo(()=>jm(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!a.current)return;let m=a.current,b=new Map(c.map(h=>[h.rId,h])),C=g.current;for(let[h,p]of C)b.has(h)||(p.view.destroy(),p.mountNode.remove(),l.current.get(h)?.destroy(),l.current.delete(h),C.delete(h));for(let h of c){if(C.has(h.rId))continue;let p=S(h.rId,h.kind);if(!p)continue;let R=new ExtensionManager(createStarterKit());R.buildSchema(),R.initializeRuntime(),l.current.set(h.rId,R);let v=m.ownerDocument.createElement("div");v.dataset.hfRId=h.rId,v.dataset.hfKind=h.kind,m.appendChild(v);let y=Gm(p,o,r,n,R),x=h.rId,P=h.kind,k=new EditorView(v,{state:y,dispatchTransaction(T){let I=k.state.apply(T);k.updateState(I),T.docChanged&&i.current?.(x,P,I),s.current?.(x,k,T.docChanged);}});C.set(h.rId,{rId:h.rId,kind:h.kind,view:k,mountNode:v});}},[c,S,o,r,n]),useEffect(()=>{let m=g.current,b=l.current;return ()=>{for(let{view:C,mountNode:h}of m.values())C.destroy(),h.remove();m.clear();for(let C of b.values())C.destroy();b.clear();}},[]),useImperativeHandle(d,()=>({getView(m){return g.current.get(m)?.view??null}}),[]),jsx("div",{ref:a,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));nr.displayName="HiddenHeaderFooterPMs";var Zm="#000",Qm="rgba(66, 133, 244, 0.3)",Jm=2,ef=530,tf={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},of=(e,t,o,r)=>({position:"absolute",left:e.x,top:e.y,width:o,height:e.height,backgroundColor:t,opacity:r?1:0,transition:"opacity 0.05s ease-out",pointerEvents:"none"}),nf=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),rf=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[u,d]=useState(n),s=useRef(null);return useEffect(()=>(s.current&&(window.clearInterval(s.current),s.current=null),n&&r>0?(d(true),s.current=window.setInterval(()=>{d(f=>!f);},r)):d(false),()=>{s.current&&window.clearInterval(s.current);}),[n,r]),useEffect(()=>{if(n)return d(true),s.current&&window.clearInterval(s.current),r>0&&(s.current=window.setInterval(()=>{d(f=>!f);},r)),()=>{s.current&&window.clearInterval(s.current);}},[e.x,e.y,n,r]),jsx("div",{style:of(e,t,o,u),"data-testid":"caret"})},af=({rect:e,color:t,index:o})=>jsx("div",{style:nf(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),ba=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=Zm,selectionColor:u=Qm,caretWidth:d=Jm,blinkInterval:s=ef})=>{if(r)return null;let f=e.length>0,i=t!==null&&!f;return jsxs("div",{style:tf,"data-testid":"selection-overlay",children:[f&&e.map((a,g)=>jsx(af,{rect:a,color:u,index:g},`sel-${a.pageIndex}-${a.x}-${a.y}-${g}`)),i&&t&&jsx(rf,{position:t,color:n,width:d,blinkInterval:s,isFocused:o})]})};var ir=10,ya=ir/2,bo=2,Ra="#2563eb",va={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},cf={position:"absolute",border:`${bo}px solid ${Ra}`,pointerEvents:"none",boxSizing:"border-box"},df={position:"absolute",width:`${ir}px`,height:`${ir}px`,backgroundColor:"#ffffff",border:`1.5px solid ${Ra}`,borderRadius:"50%",boxShadow:"0 1px 2.5px rgba(0, 0, 0, 0.35)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},uf={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.75)",color:"white",fontSize:"11px",fontFamily:"system-ui, sans-serif",padding:"2px 8px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20,transform:"translateX(-50%)"},pf={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},mf=[{pos:"nw",x:0,y:0},{pos:"ne",x:1,y:0},{pos:"se",x:1,y:1},{pos:"sw",x:0,y:1},{pos:"n",x:.5,y:0},{pos:"s",x:.5,y:1},{pos:"e",x:1,y:.5},{pos:"w",x:0,y:.5}];function Sa({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:u,onDragMove:d,onDragStart:s,onDragEnd:f,onContextMenu:i}){let[a,g]=useState(false),[l,S]=useState(false),[c,m]=useState(0),[b,C]=useState(0),[h,p]=useState(null),R=useRef(null),v=useRef(null),y=useRef(r),x=useRef(n),P=useRef(u),k=useRef(d),T=useRef(s),I=useRef(f);y.current=r,x.current=n,P.current=u,k.current=d,T.current=s,I.current=f;let w=useRef(e),D=useRef(t);w.current=e,D.current=t;let H=useCallback(()=>{if(!e||!v.current){p(null);return}let re=v.current.offsetParent;if(!re){p(null);return}let ae=re.getBoundingClientRect(),de=e.element.getBoundingClientRect();p({left:(de.left-ae.left)/t,top:(de.top-ae.top)/t,width:de.width/t,height:de.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let re=v.current?.closest('[style*="overflow"]')??v.current?.closest(".paged-editor__container");if(!re)return;let ae=()=>{R.current&&cancelAnimationFrame(R.current),R.current=requestAnimationFrame(H);};return re.addEventListener("scroll",ae,{passive:true}),window.addEventListener("resize",ae,{passive:true}),()=>{re.removeEventListener("scroll",ae),window.removeEventListener("resize",ae),R.current&&cancelAnimationFrame(R.current);}},[e,H]);let O=useCallback((re,ae)=>{if(!e||!h)return;ae.preventDefault(),ae.stopPropagation();let de=h.width,Pe=h.height,ve=ae.clientX,ge=ae.clientY,ce=Math.round(de),Se=Math.round(Pe);g(true),m(ce),C(Se),x.current?.();let M=z=>{let Q=D.current,N=(z.clientX-ve)/Q,L=(z.clientY-ge)/Q,ee=!z.shiftKey,X=calculateResizedImageDimensions(re,N,L,de,Pe,ee);ce=Math.round(X.width),Se=Math.round(X.height),m(ce),C(Se),p(J=>{if(!J)return J;let ie={...J};return re.includes("w")&&(ie.left=J.left+(J.width-X.width)),re.includes("n")&&(ie.top=J.top+(J.height-X.height)),ie.width=X.width,ie.height=X.height,ie});},A=()=>{window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),g(false);let z=w.current;z&&y.current?.(z.pmPos,ce,Se),P.current?.();};window.addEventListener("mousemove",M),window.addEventListener("mouseup",A);},[e,h]),U=useCallback(re=>{if(!e||!h)return;re.preventDefault(),re.stopPropagation();let ae=4,de=re.clientX,Pe=re.clientY,ve=false,ge=null,ce=M=>{let A=M.clientX-de,z=M.clientY-Pe;!ve&&Math.sqrt(A*A+z*z)<ae||(ve||(ve=true,S(true),T.current?.(),ge=document.createElement("div"),ge.style.cssText="position: fixed; pointer-events: none; z-index: 10000; opacity: 0.5; border: 2px dashed #2563eb; border-radius: 4px; background: rgba(37, 99, 235, 0.1);",ge.style.width=`${h.width}px`,ge.style.height=`${h.height}px`,document.body.appendChild(ge)),ge&&(ge.style.left=`${M.clientX-h.width/2}px`,ge.style.top=`${M.clientY-h.height/2}px`));},Se=M=>{if(window.removeEventListener("mousemove",ce),window.removeEventListener("mouseup",Se),ge&&(ge.remove(),ge=null),S(false),ve){let A=w.current;A&&k.current?.(A.pmPos,M.clientX,M.clientY),I.current?.();}};window.addEventListener("mousemove",ce),window.addEventListener("mouseup",Se);},[e,h]);if(!!!(e&&h&&o))return jsx("div",{ref:v,style:{...va,visibility:"hidden"},className:"image-selection-overlay"});let{left:W,top:K,width:V,height:oe}=h;return jsxs("div",{ref:v,style:va,className:"image-selection-overlay",children:[jsx("div",{style:{...cf,left:W-bo,top:K-bo,width:V+bo*2,height:oe+bo*2}}),jsx("div",{style:{position:"absolute",left:W,top:K,width:V,height:oe,cursor:l?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:U,onContextMenu:i}),mf.map(({pos:re,x:ae,y:de})=>jsx(ff,{handle:re,style:{left:W+V*ae-ya,top:K+oe*de-ya},onMouseDown:O},re)),a&&jsxs("div",{style:{...uf,left:W+V/2,top:K+oe+12},children:[c," \xD7 ",b]})]})}function ff({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...df,...t,cursor:pf[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var bf={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function wa({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let u=useRef(null),d=useRef(null),[s,f]=useState(0);return useEffect(()=>n.onRender(()=>f(i=>i+1)),[n]),useEffect(()=>(d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null;let i=e(),a=t(),g=u.current;!i||!a||!g||n.isSafeToRender()&&hf(i,a,g,o);}),()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);}),[o,r,s]),jsx("div",{ref:u,className:"paged-editor__decoration-overlay",style:bf,"aria-hidden":"true"})}function hf(e,t,o,r){let n=yf(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let u=b$3(t,r),d=u.getContainerOffset(),s=document.createDocumentFragment();for(let{decoration:f,from:i,to:a}of n){if(i===a){let S=vf(f,e);if(!S)continue;let c=u.getCoordinatesForPosition(i);if(!c)continue;let m=document.createElement("div");m.style.cssText=`position:absolute;left:${c.x+d.x}px;top:${c.y+d.y}px;height:${c.height}px;`,m.appendChild(S),s.appendChild(m);continue}let g=Cf(f);if(!g)continue;let l=u.getRectsForRange(i,a);for(let S of l){let c=document.createElement("div");for(let[b,C]of Object.entries(g))b!=="nodeName"&&c.setAttribute(b,C);let m=`position:absolute;left:${S.x+d.x}px;top:${S.y+d.y}px;width:${S.width}px;height:${S.height}px;`;c.style.cssText=m+(g.style??""),s.appendChild(c);}}o.replaceChildren(s);}function yf(e){let t=[];for(let o of e.plugins){let r=o.props.decorations;if(!r)continue;let n=r.call(o,e);n&&n.forEachSet(u=>{u.find().forEach(d=>{d.spec?.noOverlay||t.push({decoration:d,from:d.from,to:d.to});});});}return t}function vf(e,t){let o=e.type;if(!o)return null;let r=o.toDOM;return typeof r=="function"?r(t,()=>e.from):r instanceof HTMLElement?r.cloneNode(true):null}function Cf(e){return e.type?.attrs??null}var ka=[];var Ma={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Da={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},Ha={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Fa={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function on(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),u=n.top+n.height/2,d=r.top+r.height/2,s=u-d,f=Math.max(0,t.scrollHeight-t.clientHeight),i=Math.max(0,Math.min(f,t.scrollTop+s));t.scrollTop=i;}function nn(e,t){if(t.aborted)return;let o=requestAnimationFrame(()=>{if(t.aborted)return;let r=requestAnimationFrame(()=>{if(t.aborted)return;let n=requestAnimationFrame(()=>{t.aborted||e();});t.addEventListener("abort",()=>cancelAnimationFrame(n),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(r),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(o),{once:true});}function Aa(e,t){let o=null,r=findBodyPmAnchors(e);for(let n=0;n<r.length;n++){let u=r[n].dataset.pmStart;if(u==null)continue;let d=Number(u);Number.isNaN(d)||d<=t&&(o===null||d>o)&&(o=d);}return o}function rn(e,t){let o=e.pages.length;return e.pages.reduce((n,u)=>n+u.size.h,0)+Math.max(0,o-1)*t+24+24}function Oa(e,t,o,r,n){let u=new Map;if(!e?.state)return u;let{doc:d,schema:s}=e.state,f=s.marks.comment,i=s.marks.insertion,a=s.marks.deletion;if(!f&&!i&&!a)return u;let g=new Set,l=24+n,S=(c,m)=>{if(g.has(c))return;g.add(c);let b=getCaretPosition(t,o,r,m);if(b){u.set(c,b.y+l);return}for(let C=0;C<t.pages.length;C++){let h=t.pages[C];for(let p of h.fragments){let R=p.pmStart??0,v=p.pmEnd??R;if(m<R||m>v)continue;let y=p.kind==="table"?wf(o,r,p,m):0;u.set(c,p.y+y+getPageTop(t,C)+l);return}}};return d.descendants((c,m)=>{let b=c.attrs;if(b){let C=[b.trIns,b.trDel,b.pPrIns,b.pPrDel];for(let v of C){let y=v?.revisionId;typeof y=="number"&&S(`revision-${y}`,m);}let p=b.cellMarker?.info?.revisionId;typeof p=="number"&&S(`revision-${p}`,m);let R=[b.pPrChange,b.trPrChange,b.tcPrChange,b.tblPrChange];for(let v of R)if(Array.isArray(v))for(let y of v){let x=y?.info?.id;typeof x=="number"&&S(`revision-${x}`,m);}}if(c.isInline)for(let C of c.marks){let h=null;f&&C.type===f?h=`comment-${C.attrs.commentId}`:(i&&C.type===i||a&&C.type===a)&&(h=`revision-${C.attrs.revisionId}`),h&&S(h,m);}}),u}function wf(e,t,o,r){let n=e.findIndex(f=>f.id===o.blockId);if(n===-1)return 0;let u=e[n],d=t[n];if(u.kind!=="table"||d.kind!=="table")return 0;let s=0;for(let f=o.fromRow;f<o.toRow;f++){let i=u.rows[f];if(!i||i.cells.some(g=>g.blocks.some(l=>{let S=l.pmStart??0,c=l.pmEnd??S;return r>=S&&r<=c})))break;s+=d.rows[f]?.height??0;}return s}function Na(e,t,o,r){switch(e.kind){case "paragraph":{let n=e;if(!o||o.length===0){let d=getCachedParagraphMeasure(n,t);if(d)return d}let u=measureParagraph(n,t,{floatingZones:o,paragraphYOffset:r??0});return (!o||o.length===0)&&setCachedParagraphMeasure(n,t,u),u}case "table":return measureTableBlock(e,t,Na);case "image":{let n=e;return {kind:"image",width:n.width??100,height:n.height??100}}case "textBox":{let n=e,u=n.margins??DEFAULT_TEXTBOX_MARGINS,d=(n.width??DEFAULT_TEXTBOX_WIDTH)-u.left-u.right,s=n.content.map(a=>measureParagraph(a,d)),f=s.reduce((a,g)=>a+g.totalHeight,0),i=n.height??f+u.top+u.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:i,innerMeasures:s}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function _a(e,t,o){return measureBlocksWithFloats(e,t,Na,o)}function Va(e,t,o){t.style.overflowAnchor||t.style.setProperty("overflow-anchor","none");let r=Math.max(1,t.scrollHeight-t.clientHeight),n=t.scrollTop/r,u=Aa(e,o),d=0;if(u!=null){let s=findBodyPmAnchor(e,u);if(s){let f=s.getBoundingClientRect(),i=t.getBoundingClientRect();d=f.top-i.top;}else u=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:u,domAnchorOffsetInScroller:d}}function Ua(e,t,o){let r=o.scrollRestoreRatioPre;if(e==="incremental"){let u=Math.max(1,t.scrollHeight-t.clientHeight);r=t.scrollTop/u;}let n=e==="incremental"?t.scrollTop:null;return {renderKind:e,ratio:r,scrollTopSnapshot:n,domAnchorPmStart:o.domAnchorPmStart,domAnchorOffsetInScroller:o.domAnchorOffsetInScroller}}function sr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:u,domAnchorPmStart:d,domAnchorOffsetInScroller:s}=e;if(r==="incremental"&&u!=null){let i=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,u),i);return}if(r!=="incremental"&&d!=null){let i=findBodyPmAnchor(t,d);if(i){let a=o.getBoundingClientRect(),g=i.getBoundingClientRect().top-a.top;o.scrollTop+=s-g;return}}let f=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*f;}function $a(e,t,o,r){if(e?.renderKind!=="incremental"||e.scrollTopSnapshot==null||r&&o>32||!t?.isConnected)return;let n=Math.max(1,t.scrollHeight-t.clientHeight),u=Math.min(Math.max(0,e.scrollTopSnapshot),n);Math.abs(t.scrollTop-u)>.5&&(t.scrollTop=u);}function qa(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:f,firstPageFooterContent:i,getHfPmDoc:a,pageGap:g,zoom:l,resolvedCommentIds:S,pagesContainerRef:c,viewportLayoutRef:m,hiddenPMRef:b,syncCoordinator:C,getScrollContainer:h,onTotalPagesChange:p,onAnchorPositionsChange:R,onRenderedDomContextReady:v}=e,[y,x]=useState(null),[P,k]=useState([]),[T,I]=useState([]),[w,D]=useState(0),H=useCallback(()=>D(L=>L+1),[]),O=useRef(p),U=useRef(R),G=useRef(v),W=useRef(a);O.current=p,U.current=R,G.current=v,W.current=a;let K=useRef(0);useEffect(()=>{let L=y?.pages.length??0;L!==K.current&&(K.current=L,O.current?.(L));},[y]);let V=useMemo(()=>getPageSize(n),[n]),oe=useMemo(()=>getMargins(n),[n]),re=useMemo(()=>getColumns(n),[n]),{finalPageSize:ae,finalMargins:de,finalColumns:Pe}=useMemo(()=>{let L=u??n;return {finalPageSize:getPageSize(L),finalMargins:getMargins(L),finalColumns:getColumns(L)}},[u,n]),ve=V.w-oe.left-oe.right,ge=useMemo(()=>new LayoutPainter({pageGap:g,showShadow:true,pageBackground:"#fff"}),[g]),ce=useRef(null);ce.current=ge;let Se=useRef(null),M=useRef(0),A=useCallback(L=>{let ee=performance.now(),X=C.getStateSeq();C.onLayoutStart();let J=ie=>{let _=c.current,te=_?h()??findVerticalScrollParentOrRoot(_):null,Ce=performance.now()-M.current;$a(Se.current,te,Ce,ie);};J(true);try{let{blocks:ie,measures:_,layout:te,headerContentForRender:Ce,footerContentForRender:le,firstPageHeaderForRender:ke,firstPageFooterForRender:De,hasTitlePg:we,watermark:be,headerDistancePx:Ae,footerDistancePx:j,pageBorders:ne,footnotesByPage:B}=computeLayout({state:L,document:t,pageSize:V,margins:oe,columns:re,finalPageSize:ae,finalMargins:de,finalColumns:Pe,pageGap:g,contentWidth:ve,theme:r,styles:o,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:s,firstPageHeaderContent:f,firstPageFooterContent:i,measureBlocks:_a,getHfPmDoc:fe=>W.current?.(fe)??null});if(k(ie),I(_),x(te),c.current&&ce.current){Se.current=null,M.current=0;let fe=c.current,Te=h()??findVerticalScrollParentOrRoot(fe),et=Te?.isConnected?Va(fe,Te,L.selection.head):null,Wt=buildBlockLookup(ie,_);ce.current.setBlockLookup(Wt);let gt=renderPages(te.pages,c.current,{pageGap:g,showShadow:!0,pageBackground:"#fff",blockLookup:Wt,headerContent:Ce,footerContent:le,firstPageHeaderContent:ke,firstPageFooterContent:De,titlePg:we,headerDistance:Ae,footerDistance:j,pageBorders:ne,theme:r,watermark:be,footnotesByPage:B,resolvedCommentIds:S}),Le=m.current;if(Le){let $e=rn(te,g);Le.style.minHeight=`${$e}px`,l!==1?Le.style.marginBottom=`${$e*(l-1)}px`:Le.style.marginBottom="";}if(Te?.isConnected&&et){let $e=Ua(gt,Te,et);Se.current=$e,$e.renderKind==="incremental"&&$e.scrollTopSnapshot!=null&&(M.current=performance.now());}if(c.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),G.current){let $e=b$3(c.current,l);G.current($e);}}else Se.current=null,M.current=0;if(U.current){let fe=Oa(b.current?.getView()??null,te,ie,_,g);U.current(fe);}J(!1);let ue=performance.now()-ee;ue>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(ue)}ms total (${ie.length} blocks, ${_.length} measures)`);}catch(ie){console.error("[PagedEditor] Layout pipeline error:",ie);}C.onLayoutComplete(X),J(false);},[ve,re,V,oe,ae,de,Pe,g,l,C,d,s,f,i,n,u,t,S,h,b,c,o,r,m]);useLayoutEffect(()=>{let L=Se.current;if(!L)return;Se.current=null,M.current=0;let ee=c.current,X=h()??(ee?findVerticalScrollParentOrRoot(ee):null);if(!ee||!X?.isConnected)return;sr(L,ee,X);let J=requestAnimationFrame(()=>{X.isConnected&&sr(L,ee,X);});return ()=>cancelAnimationFrame(J)},[y,h,c]);let z=useRef(A);z.current=A;let Q=useRef(null);Q.current||(Q.current=createLayoutScheduler(L=>z.current(L)));let N=useCallback(L=>{Q.current.schedule(L);},[]);return useEffect(()=>{let L=Q.current;return ()=>L?.cancel()},[]),{layout:y,blocks:P,measures:T,decorationSyncToken:w,notifyDecorationLayer:H,contentWidth:ve,runLayoutPipeline:A,scheduleLayout:N}}function Qa(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:u,pagesContainerRef:d,hiddenPMRef:s,syncCoordinator:f,isImageInteractingRef:i,onSelectionChangeRef:a}=e,[g,l]=useState([]),[S,c]=useState(null),[m,b]=useState(null),C=useRef(null),h=useCallback((v,y)=>{let x=v.tagName==="IMG"?v:v.querySelector("img"),P=(x??v).getBoundingClientRect();return {element:x??v,pmPos:y,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),p=useCallback(v=>{let{from:y,to:x}=v.selection;C.current!==v&&(C.current=v,a.current?.(y,x));let P=d.current;if(P&&(applyCellSelectionHighlight(P,v),applySdtFocus(P,enclosingSdtGroupIds(v.doc,y,x))),!(!t||o.length===0))if(y===x){let k=P?sa(P,y,n):null;if(k)c(k);else {let T=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=d.current?.querySelector(".layout-page");if(T&&I){let w=T.getBoundingClientRect(),D=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,y);c(H?{...H,x:H.x+(D.left-w.left)/n,y:H.y+(D.top-w.top)/n}:null);}else c(null);}l([]);}else {let k=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(k&&d.current){let T=k.getBoundingClientRect(),I=la(d.current,T,y,x,n);if(I.length>0)l(I);else {let w=d.current.querySelector(".layout-page");if(w){let D=w.getBoundingClientRect(),H=(D.left-T.left)/n,O=(D.top-T.top)/n,G=selectionToRects(t,o,r,y,x).map(W=>({...W,x:W.x+H,y:W.y+O}));l(G);}else l([]);}}else l([]);c(null);}},[t,o,r,n,a,d]),R=useCallback(v=>{let{selection:y}=v;y instanceof NodeSelection&&y.node.type.name==="image"?(l([]),c(null)):f.isSafeToRender()&&p(v),requestAnimationFrame(()=>{let x=s.current?.getView();if(!x){b(null);return}let{selection:P}=x.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let k=P.from,T=d.current?findBodyPmAnchor(d.current,k):null;if(T){b(h(T,k));return}}i.current||b(null);});},[p,h,f,s,i,d]);return useEffect(()=>{let v=u.current;if(!v)return;let y=new ResizeObserver(()=>{let x=s.current?.getState();x&&p(x);});return y.observe(v),()=>y.disconnect()},[p,u,s]),useEffect(()=>{let v=s.current?.getState();t&&v&&p(v);},[t,p,s]),{selectionRects:g,caretPosition:S,selectedImageInfo:m,setSelectionRects:l,setCaretPosition:c,setSelectedImageInfo:b,buildImageSelectionInfo:h,updateSelectionOverlay:p,handleSelectionChange:R}}function es(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:u}=e,d=useCallback((l,S,c)=>{let m=o.current?.getView();if(!m)return;let b=commitImageResize(m,l,S,c);b!==null&&o.current?.setNodeSelection(b);},[o]),s=useCallback(()=>{n.current=true;},[n]),f=useCallback(()=>{n.current=false;},[n]),i=useCallback((l,S,c)=>{let m=o.current?.getView();if(!m)return;let b=m.state.doc.nodeAt(l);if(!(!b||b.type.name!=="image"))if(isFloatingImage(b)){let C=t.current?.querySelectorAll(".layout-page");if(!C||C.length===0)return;let h=null;for(let x of C){let P=x.getBoundingClientRect();if(c>=P.top&&c<=P.bottom){h=x.querySelector(".layout-page-content");break}}if(h||(h=C[C.length-1].querySelector(".layout-page-content")),!h)return;let p=h.getBoundingClientRect(),R=pixelsToEmu((S-p.left)/r),v=pixelsToEmu((c-p.top)/r),y=commitImageFloatMove(m,l,R,v);y!==null&&o.current?.setNodeSelection(y);}else {let C=u(S,c);if(C===null)return;let h=commitImageInlineMove(m,l,C);h!==null&&o.current?.setNodeSelection(h);}},[u,r,o,t]),a=useCallback(()=>{n.current=true;},[n]),g=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:d,handleImageResizeStart:s,handleImageResizeEnd:f,handleImageDragMove:i,handleImageDragStart:a,handleImageDragEnd:g}}function ns(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:u,getScrollContainer:d}=e,s=useRef(null);useEffect(()=>()=>{s.current?.abort(),s.current=null;},[]);let f=useCallback((g,l=false)=>{if(!Number.isInteger(g)||g<0)return;let S=n.current;if(!S)return;s.current?.abort();let c=new AbortController;s.current=c;let{signal:m}=c,b=()=>{let T=findBodyPmAnchor(S,g);if(T)return T;for(let I of findBodyPmSpans(S)){let w=Number(I.dataset.pmStart),D=Number(I.dataset.pmEnd);if(Number.isFinite(w)&&Number.isFinite(D)&&g>=w&&g<=D)return I}return null};if(!l){let T={block:"center",inline:"nearest",behavior:"smooth"},I=b();if(I){I.scrollIntoView(T);return}let w=t,D=o,H=r;if(!w||D.length===0||H.length!==D.length)return;let O=null,U=getCaretPosition(w,D,H,g);if(U?O=U.pageIndex:O=findPageIndexContainingPmPos(w,g),O==null)return;let W=S.querySelectorAll(".layout-page")[O];if(!W)return;W.scrollIntoView(T),nn(()=>{if(!S.isConnected)return;let K=b();K&&K.scrollIntoView(T);},m);return}let C=d()??findVerticalScrollParentOrRoot(S),h=()=>{let T=b();return T?(on(T,C),true):false};if(h())return;let p=t,R=o,v=r;if(!p||R.length===0||v.length!==R.length)return;let y=null,x=getCaretPosition(p,R,v,g);if(x?y=x.pageIndex:y=findPageIndexContainingPmPos(p,g),y==null)return;let k=S.querySelectorAll(".layout-page")[y];k&&(on(k,C),nn(()=>{if(!S.isConnected)return;let T=b();T?on(T,C):h();},m));},[t,o,r,d,n]),i=useCallback(g=>{if(!Number.isInteger(g)||g<1||!t||g>t.pages.length)return;let l=t.pages[g-1];for(let c of l.fragments)if(typeof c.pmStart=="number"){f(c.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[g-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,f,n]),a=useCallback(g=>{let l=u.current?.getState();if(!l)return false;let S=findStartPosForParaId(l.doc,g);if(S==null||S<0)return false;f(S,true);let c=s.current?.signal;if(!c)return true;let m=l.doc.nodeAt(S),b=m?.isTextblock===true?Math.min(S+1+m.content.size,l.doc.content.size):Math.min(S+1,l.doc.content.size);return nn(()=>{u.current&&(u.current.setSelection(b),u.current.focus());},c),true},[f,u]);return {scrollToPositionImpl:f,scrollToPageImpl:i,scrollToParaIdImpl:a}}function us(e){let{hiddenPMRef:t,getActiveHfView:o}=e,r=useRef(null);function n(w){return w.closest(".layout-page-header")||w.closest(".layout-page-footer")?o?.()??t.current?.getView()??null:t.current?.getView()??null}let u=useRef(false),d=useRef(0),s=useRef(0),f=useRef(0),i=useRef({left:0,right:0}),a=useRef(null),g=useRef(false),l=useRef(0),S=useRef(0),c=useRef(0),m=useRef(0),b=useRef(null),C=useRef(false),h=useRef(false),p=useRef(0),R=useRef(0),v=useRef(0),y=useRef(0),x=useRef(null),P=useCallback((w,D)=>{let H=n(w);if(!H)return false;if(w.classList.contains("layout-table-resize-handle")){D.preventDefault(),D.stopPropagation(),u.current=true,d.current=D.clientX,a.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);s.current=O,f.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readColumnWidths(H,f.current,O);return U&&(i.current=U),true}if(w.classList.contains("layout-table-row-resize-handle")||w.classList.contains("layout-table-edge-handle-bottom")){D.preventDefault(),D.stopPropagation(),g.current=true,l.current=D.clientY,b.current=w,C.current=w.dataset.isEdge==="bottom",r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.rowIndex??"0",10);S.current=O,c.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readRowHeight(H,c.current,O);if(U!=null)m.current=U;else {let W=w.closest(".layout-table")?.querySelector(`[data-row-index="${O}"]`),K=W?W.getBoundingClientRect().height:30;m.current=Math.round(K*TWIPS_PER_PIXEL);}return true}if(w.classList.contains("layout-table-edge-handle-right")){D.preventDefault(),D.stopPropagation(),h.current=true,p.current=D.clientX,x.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);R.current=O,v.current=parseInt(w.dataset.tablePmStart??"0",10);let U=readColumnWidthAt(H,v.current,O);return U!=null&&(y.current=U),true}return false},[t,o]),k=useCallback(w=>{if(u.current){w.preventDefault();let D=w.clientX-d.current;if(a.current){let H=parseFloat(a.current.style.left);a.current.style.left=`${H+D}px`,d.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),U=i.current.left+O,G=i.current.right-O;U>=MIN_CELL_WIDTH_TWIPS&&G>=MIN_CELL_WIDTH_TWIPS&&(i.current={left:U,right:G});}return true}if(g.current){w.preventDefault();let D=w.clientY-l.current;if(b.current){let H=parseFloat(b.current.style.top);b.current.style.top=`${H+D}px`,l.current=w.clientY;let O=Math.round(D*TWIPS_PER_PIXEL),U=m.current+O;U>=MIN_ROW_HEIGHT_TWIPS&&(m.current=U);}return true}if(h.current){w.preventDefault();let D=w.clientX-p.current;if(x.current){let H=parseFloat(x.current.style.left);x.current.style.left=`${H+D}px`,p.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),U=y.current+O;U>=MIN_CELL_WIDTH_TWIPS&&(y.current=U);}return true}return false},[]),T=useCallback(()=>{let w=r.current;if(u.current){if(u.current=false,a.current&&(a.current.classList.remove("dragging"),a.current=null),w){let{left:D,right:H}=i.current;commitColumnResize(w,{pmStart:f.current,colIdx:s.current,newLeft:D,newRight:H});}return r.current=null,true}return g.current?(g.current=false,b.current&&(b.current.classList.remove("dragging"),b.current=null),w&&commitRowResize(w,{pmStart:c.current,rowIdx:S.current,newHeight:m.current}),r.current=null,true):h.current?(h.current=false,x.current&&(x.current.classList.remove("dragging"),x.current=null),w&&commitRightEdgeResize(w,{pmStart:v.current,colIdx:R.current,newWidth:y.current}),r.current=null,true):false},[]),I=useCallback(()=>u.current||g.current||h.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:k,tryCommit:T,isAnyResizeActive:I}}var pg=5;function mg(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),u=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,u)));}catch{e.dispatch(e.state.tr.setSelection(TextSelection.create(e.state.doc,0)));}},setNodeSelection(t){try{e.dispatch(e.state.tr.setSelection(NodeSelection.create(e.state.doc,t)));}catch{}},setCellSelection(t,o){try{let r=e.state.doc.resolve(t),n=e.state.doc.resolve(o);e.dispatch(e.state.tr.setSelection(new CellSelection(r,n)));}catch{}},focus(){e.focus();}}}function bs(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:u,measures:d,zoom:s,readOnly:f,hfEditMode:i,onBodyClick:a,onContextMenu:g,onHyperlinkClick:l,onHeaderFooterDoubleClick:S,setSelectedImageInfo:c,setSelectionRects:m,setCaretPosition:b,buildImageSelectionInfo:C,setIsFocused:h,scrollToPositionImpl:p}=e,R=useRef(false),v=useRef(null),y=us({hiddenPMRef:o,getActiveHfView:r}),x=useRef(false),P=useRef(null),k=useRef(null),T=useRef(null),[I,w]=useState(null),D=useRef(null),H=useCallback(()=>{D.current&&(clearTimeout(D.current),D.current=null);},[]);useEffect(()=>()=>{D.current&&clearTimeout(D.current);},[]);let O=useRef(()=>{}),U=useCallback((M,A)=>{O.current(M,A);},[]),{updateMousePosition:G,stopAutoScroll:W}=b$4({pagesContainerRef:t,onScrollExtendSelection:U}),K=useCallback((M,A)=>{if(!t.current||!n)return null;let z=clickToPositionDom(t.current,M,A,s);if(z!==null)return z;if(i){let Ce=window.document.elementsFromPoint(M,A).find(we=>we.closest(".layout-page-header")||we.closest(".layout-page-footer"));if(!Ce)return null;let le=Ce.closest(".layout-page-header")??Ce.closest(".layout-page-footer");if(!le)return null;let ke=Array.from(le.querySelectorAll("span[data-pm-start][data-pm-end]")),De=null;for(let we of ke){let be=we.getBoundingClientRect();if(A<be.top-4||A>be.bottom+4)continue;let Ae=Number(we.dataset.pmStart),j=Number(we.dataset.pmEnd);if(!Number.isFinite(Ae)||!Number.isFinite(j))continue;let ne,B;if(M<be.left)ne=Ae,B=be.left-M;else if(M>be.right)ne=j,B=M-be.right;else {let ue=(M-be.left)/Math.max(1,be.width);ne=Ae+Math.round(ue*(j-Ae)),B=0;}(!De||B<De.dist)&&(De={pos:ne,dist:B});}return De?.pos??null}let Q=t.current.querySelectorAll(".layout-page"),N=-1,L=null;for(let te=0;te<Q.length;te++){let le=Q[te].getBoundingClientRect();if(M>=le.left&&M<=le.right&&A>=le.top&&A<=le.bottom){N=te,L=le;break}}if(N<0||!L)return null;let ee=(M-L.left)/s,X=(A-L.top)/s,J=n.pages[N];if(!J)return null;let ie={pageIndex:N,page:J,pageY:X},_=hitTestFragment(ie,u,d,{x:ee,y:X});if(!_)return null;if(_.fragment.kind==="table"){let te=hitTestTableCell(ie,u,d,{x:ee,y:X});return clickToPosition(_,te)}return clickToPosition(_)},[n,u,d,s,i,t]),V=useCallback(()=>{if(i&&r){let M=r();if(M)return mg(M)}return o.current},[i,r,o]),oe=useCallback(M=>{let z=V()?.getView();if(!z)return null;try{let Q=z.state.doc.resolve(M);for(let N=Q.depth;N>0;N--){let L=Q.node(N);if(L.type.name==="tableCell"||L.type.name==="tableHeader")return Q.before(N)}}catch{}return null},[V]),re=useCallback(M=>{let A=V();if(!A)return;if(M.button===2){M.preventDefault();return}if(M.button!==0||(w(null),H(),M.target.closest("a[href]")&&M.preventDefault(),f))return;let Q=M.target;if(i){if(!(Q.closest(".layout-page-header")||Q.closest(".layout-page-footer")||Q.closest(".hf-inline-editor"))&&a){M.preventDefault(),M.stopPropagation(),a();return}}else if((Q.closest(".layout-page-header")||Q.closest(".layout-page-footer"))&&M.detail!==2){M.preventDefault();return}if(y.tryStartFromMouseDown(Q,M))return;let N=findImageElement(Q);if(N){M.preventDefault(),M.stopPropagation();let ee=N.dataset.pmStart;if(ee!==void 0){let X=parseInt(ee,10);A.setNodeSelection(X),c(C(N,X)),m([]),b(null);}A.focus(),i||h(true);return}c(null),M.preventDefault();let L=K(M.clientX,M.clientY);if(L!==null){let ee=oe(L);P.current=ee,x.current=false,k.current=null,T.current=null,R.current=true,v.current=L,A.setSelection(L);}else {P.current=null,x.current=false;let ee=A.getView();if(ee){let X=Math.max(0,ee.state.doc.content.size-1);A.setSelection(X),v.current=X,R.current=true;}}A.focus(),i||h(true);},[V,f,i,a,K,oe,y,H,c,m,b,C,h]);O.current=(M,A)=>{if(!R.current||v.current===null)return;let z=V();if(!z)return;let Q=K(M,A);Q!==null&&z.setSelection(v.current,Q);};let ae=useCallback(M=>{if(y.handleMouseMoveUpdate(M)||!R.current||v.current===null)return;let A=V();if(!A||!t.current)return;G(M.clientX,M.clientY);let z=K(M.clientX,M.clientY);if(z===null)return;if(P.current!==null){if(x.current){let L=oe(z);if(L!==null){A.setCellSelection(P.current,L);return}}let N=oe(z);if(N!==null&&N!==P.current){x.current=true,A.setCellSelection(P.current,N),T.current=null;return}if(k.current!==null&&z===k.current){if(T.current===null)T.current=M.clientX;else if(Math.abs(M.clientX-T.current)>=pg){x.current=true,A.setCellSelection(P.current,P.current),T.current=null;return}}else T.current=null,k.current=z;}let Q=v.current;A.setSelection(Q,z);},[V,K,oe,G,y,t]),de=useCallback(()=>{y.tryCommit()||(R.current=false,x.current=false,k.current=null,T.current=null,W());},[W,y]);useEffect(()=>(window.addEventListener("mousemove",ae),window.addEventListener("mouseup",de),()=>{window.removeEventListener("mousemove",ae),window.removeEventListener("mouseup",de);}),[ae,de]);let Pe=useCallback(M=>{if(f||R.current||x.current||y.isAnyResizeActive())return;let A=t.current;if(!A)return;let z=detectTableInsertHover({mouseX:M.clientX,mouseY:M.clientY,pagesContainer:A,target:M.target,hfEditMode:i??null});if(!z){D.current||(D.current=setTimeout(()=>{w(null),D.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let Q=A.parentElement;if(!Q)return;let N=Q.getBoundingClientRect();w({type:z.type,x:z.clientX-N.left,y:z.clientY-N.top,cellPmPos:z.cellPmPos}),H();},[f,H,i,t]),ve=useCallback(M=>{if(M.preventDefault(),M.stopPropagation(),!I)return;let A=V(),z=A?.getView();if(!A||!z)return;let{type:Q,cellPmPos:N}=I,L=z.state.tr.setSelection(TextSelection.create(z.state.doc,N+1));z.dispatch(L),Q==="row"?addRowBelow(z.state,z.dispatch):addColumnRight(z.state,z.dispatch),w(null),A.focus();},[I,V]),ge=useCallback(M=>{let A=V(),z=M.target.closest("a[href]");if(z&&A){M.preventDefault();let N=z.getAttribute("href")||"",L=A.getView();if(N.startsWith("#")){let ee=N.substring(1);if(ee&&L){let X=null;L.state.doc.descendants((J,ie)=>{if(X!==null)return false;if(J.type.name==="paragraph"&&J.attrs.bookmarks?.some(te=>te.name===ee))return X=ie,false}),X!==null&&(p(X),A.setSelection(X+1));}}else if(l&&!(L&&L.state.selection.from!==L.state.selection.to)){let X=z.textContent||"",J=z.getAttribute("title")||void 0,ie=z.closest(".ep-root.paged-editor");if(ie){let _=ie.getBoundingClientRect(),te=z.getBoundingClientRect(),Ce={top:te.bottom-_.top+4,left:te.left-_.left};l({href:N,displayText:X,tooltip:J,position:Ce});}}return}if(M.detail===2&&!i&&S){let N=M.target,L=N.closest(".layout-page-header"),ee=N.closest(".layout-page-footer");if(L||ee){let X=N.closest("[data-page-number]"),J=X?Number(X.dataset.pageNumber):1;M.preventDefault(),M.stopPropagation(),S(L?"header":"footer",J);return}}if(!A)return;let Q=A.getView();if(Q){if(M.detail===2){let N=K(M.clientX,M.clientY);if(N!==null){let L=oe(N);if(L!==null){M.preventDefault(),M.stopPropagation(),A.setCellSelection(L,L);return}let{doc:ee}=Q.state,X=ee.resolve(N),J=X.parent;if(J.isTextblock){let ie=J.textContent,_=X.parentOffset,[te,Ce]=findWordBoundaries(ie,_),le=X.start()+te,ke=X.start()+Ce;le<ke&&A.setSelection(le,ke);}}}if(M.detail===3){let N=K(M.clientX,M.clientY);if(N!==null){let L=Q.state.doc.resolve(N);A.setSelection(L.start(L.depth),L.end(L.depth));}}}},[V,i,K,S,l,oe,p]),ce=useCallback(M=>{if(!g)return;M.preventDefault();let A=V(),z=A?.getView();if(!A||!z)return;let Q=_=>{let te=z.state.doc.nodeAt(_);if(!te||te.type.name!=="image")return null;let Ce=te.attrs.wrapType??"inline",le=te.attrs.cssFloat;return {pos:_,wrapType:Ce,cssFloat:le}},N=null,L=hitTestImage(M.target);if(L&&(N=Q(L.pos),N&&(N.inlinePositionEmu=captureInlinePositionEmu(L.imageEl,s))),!N){let _=z.state.selection;if(_ instanceof NodeSelection&&_.node.type.name==="image"&&(N=Q(_.from),N)){let te=t.current?.querySelector(`.layout-run-image[data-pm-start="${_.from}"]`);te&&(N.inlinePositionEmu=captureInlinePositionEmu(te,s));}}let{from:ee,to:X}=z.state.selection,J=K(M.clientX,M.clientY);J!==null&&(ee===X||J<ee||J>X)&&(A.setSelection(J),A.focus(),i||h(true));let ie=z.state.selection.from!==z.state.selection.to;g({x:M.clientX,y:M.clientY,hasSelection:ie,image:N});},[V,i,g,K,s,t,h]),Se=useCallback(()=>w(null),[]);return {handlePagesMouseDown:re,handlePagesMouseMove:Pe,handlePagesClick:ge,handlePagesContextMenu:ce,handleTableInsertClick:ve,tableInsertButton:I,clearTableInsertTimer:H,hideTableInsertButton:Se,getPositionFromMouse:K}}function bg(e,t){let o=e?.package;if(!o)return null;let r=n=>{if(!n)return null;for(let[u,d]of n)if(d===t)return u;return null};return r(o.headers)??r(o.footers)}function hs(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:u,scrollToPositionImpl:d,scrollToParaIdImpl:s,scrollToPageImpl:f,setIsFocused:i}=e;return {getDocument:()=>t.current?.getDocument()??null,getState:()=>t.current?.getState()??null,getView:()=>t.current?.getView()??null,focus:()=>{t.current?.focus(),i(true);},blur:()=>{t.current?.blur(),i(false);},isFocused:()=>t.current?.isFocused()??false,dispatch:a=>t.current?.dispatch(a),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(a,g)=>t.current?.setSelection(a,g),getLayout:()=>n,relayout:()=>{let a=t.current?.getState();a&&u(a);},scrollToPosition:d,scrollToParaId:s,scrollToPage:f,getHfPmView:a=>{let g=bg(r.current,a);return g?o.current?.getView(g)??null:null}}}function ys(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a,onReadyRef:g}=e;useImperativeHandle(t,()=>hs({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a}),[u,d,s,f,i]),useEffect(()=>{g.current&&o.current&&g.current(hs({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:s,scrollToParaIdImpl:f,scrollToPageImpl:i,setIsFocused:a}));},[u,d,f,i]);}function Cs(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:u,firstPageHeaderContent:d,firstPageFooterContent:s}=e;useEffect(()=>{let i=()=>{let a=t.current?.getView();a&&(resetCanvasContext(),clearAllCaches(),o(a.state),r(a.state));};return window.document.fonts.addEventListener("loadingdone",i),()=>{window.document.fonts.removeEventListener("loadingdone",i);}},[]);let f=useRef(0);useEffect(()=>{if(f.current===0){f.current=1;return}let i=t.current?.getView();i&&o(i.state);},[n,u,d,s,o,t]);}function Rs({type:e,x:t,y:o,onMouseDown:r,onMouseEnter:n,onMouseLeave:u}){let d=e==="row"?"Insert row below":"Insert column to the right";return jsx("button",{type:"button",onMouseDown:r,onMouseEnter:n,onMouseLeave:u,style:{position:"absolute",left:t,top:o,width:20,height:20,borderRadius:"4px",border:"1px solid #dadce0",backgroundColor:"#f8f9fa",color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:200,padding:0,boxShadow:"none"},title:d,"aria-label":d,children:jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M6 1v10M1 6h10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})}var ws={position:"absolute",zIndex:1e4,background:"white",borderRadius:"8px",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.08)",border:"1px solid #dadce0",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px"},Rg={...ws,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Sg={...ws,padding:"12px",width:"320px"},br={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},xg={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},Pg={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},wg={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},xs={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Ps={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},Tg={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},qt={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function Eg(){return jsxs("svg",{...qt,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M2 12h20"}),jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}function Ig(){return jsxs("svg",{...qt,children:[jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function kg(){return jsx("svg",{...qt,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Mg(){return jsxs("svg",{...qt,children:[jsx("path",{d:"M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),jsx("path",{d:"M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]})}function Dg(){return jsxs("svg",{...qt,children:[jsx("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),jsx("line",{x1:"4",y1:"15",x2:"20",y2:"15"}),jsx("line",{x1:"10",y1:"3",x2:"8",y2:"21"}),jsx("line",{x1:"16",y1:"3",x2:"14",y2:"21"})]})}function Hg(){return jsxs("svg",{...qt,children:[jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function hr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:Pg,title:e,onClick:t,children:o})}function Ts({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:u,readOnly:d}){let{t:s}=b(),[f,i]=useState("view"),[a,g]=useState(""),[l,S]=useState(""),c=useRef(null),m=useRef(null);useEffect(()=>{e&&(i("view"),g(e.displayText),S(e.href));},[e]),useEffect(()=>{f==="edit"&&requestAnimationFrame(()=>{m.current?.focus(),m.current?.select();});},[f]),useEffect(()=>{if(!e)return;let y=false,x=k=>{c.current&&!c.current.contains(k.target)&&u();},P=setTimeout(()=>{y||document.addEventListener("mousedown",x);},0);return ()=>{y=true,clearTimeout(P),document.removeEventListener("mousedown",x);}},[e,u]),useEffect(()=>{if(!e)return;let y=x=>{x.key==="Escape"&&(f==="edit"?i("view"):u());};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,f,u]);let b$1=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),C=useCallback(()=>{e&&(g(e.displayText),S(e.href),i("edit"));},[e]),h=useCallback(()=>{let y=l.trim();y&&r(a.trim()||y,y);},[a,l,r]),p=useCallback(y=>{y.key==="Enter"&&(y.preventDefault(),h());},[h]);if(!e)return null;let R=e.position.top,v=e.position.left;return f==="edit"?jsxs("div",{ref:c,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...Sg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsxs("div",{style:xs,children:[jsx("span",{style:br,children:jsx(Dg,{})}),jsx("input",{ref:m,type:"text",style:Ps,value:a,onChange:y=>g(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.displayTextPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...xs,marginBottom:0},children:[jsx("span",{style:br,children:jsx(Hg,{})}),jsx("input",{type:"text",style:Ps,value:l,onChange:y=>S(y.target.value),onKeyDown:p,placeholder:s("hyperlinkPopup.urlPlaceholder"),onFocus:y=>y.target.style.borderColor="#1a73e8",onBlur:y=>y.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...Tg,opacity:l.trim()?1:.5,cursor:l.trim()?"pointer":"default"},onClick:h,disabled:!l.trim(),children:s("common.apply")})]})]}):jsxs("div",{ref:c,className:"ep-hyperlink-popup",style:{...Rg,top:R,left:v},onMouseDown:y=>y.stopPropagation(),children:[jsx("span",{style:br,children:jsx(Eg,{})}),jsx("a",{href:e.href,style:xg,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:y=>{y.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:wg}),jsx(hr,{title:s("hyperlinkPopup.copyLink"),onClick:b$1,children:jsx(Ig,{})}),!d&&jsxs(Fragment,{children:[jsx(hr,{title:s("hyperlinkPopup.editLink"),onClick:C,children:jsx(kg,{})}),jsx(hr,{title:s("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Mg,{})})]})]})}var Wg=forwardRef(function(t,o){let{document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,readOnly:l=false,pageGap:S=24,zoom:c=1,onDocumentChange:m,onSelectionChange:b,externalPlugins:C=ka,extensionManager:h,onReady:p,onRenderedDomContextReady:R,pluginOverlays:v,onHeaderFooterDoubleClick:y,hfEditMode:x,onBodyClick:P,onHfTransaction:k,className:T,style:I,commentsSidebarOpen:w=false,sidebarOverlay:D,scrollContainerRef:H,onHyperlinkClick:O,onContextMenu:U,onAnchorPositionsChange:G,onTotalPagesChange:W,resolvedCommentIds:K,hyperlinkPopupData:V,onHyperlinkPopupNavigate:oe,onHyperlinkPopupCopy:re,onHyperlinkPopupEdit:ae,onHyperlinkPopupRemove:de,onHyperlinkPopupClose:Pe}=t,ve=useCallback(()=>H&&typeof H=="object"?H.current:ge.current,[H]),ge=useRef(null),ce=useRef(null),Se=useRef(null),M=useRef(null),A=useRef(null),z=useRef(r);z.current=r;let{handlePMKeyDown:Q}=a({pagesContainerRef:ce}),N=useRef(b),L=useRef(m),ee=useRef(p),X=useRef(R);N.current=b,L.current=m,ee.current=p,X.current=R;let[J,ie]=useState(false);useEffect(()=>{if(x){let Y=M.current?.getView();if(Y){try{let he=Y.state.tr.setSelection(TextSelection.create(Y.state.doc,0));Y.dispatch(he);}catch{}Y.dom.blur?.();}ie(false);}},[x]);let _=useRef(false),te=useMemo(()=>new LayoutSelectionGate,[]),Ce=useCallback(Y=>{let he=A.current;if(!he)return null;let pe=r?.package;if(!pe)return null;let Oe=$t=>{if(!$t)return null;for(let[ht,yt]of $t)if(yt===Y)return ht;return null},Ne=Oe(pe.headers)??Oe(pe.footers);return Ne?he.getView(Ne)?.state.doc??null:null},[r]),{layout:le,blocks:ke,measures:De,decorationSyncToken:we,notifyDecorationLayer:be,contentWidth:Ae,runLayoutPipeline:j,scheduleLayout:ne}=qa({document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g,getHfPmDoc:Ce,pageGap:S,zoom:c,resolvedCommentIds:K,pagesContainerRef:ce,viewportLayoutRef:Se,hiddenPMRef:M,syncCoordinator:te,getScrollContainer:ve,onTotalPagesChange:W,onAnchorPositionsChange:G,onRenderedDomContextReady:R}),{selectionRects:B,caretPosition:ue,selectedImageInfo:fe,setSelectionRects:Te,setCaretPosition:et,setSelectedImageInfo:Wt,buildImageSelectionInfo:gt,updateSelectionOverlay:Le,handleSelectionChange:$e}=Qa({layout:le,blocks:ke,measures:De,zoom:c,containerRef:ge,pagesContainerRef:ce,hiddenPMRef:M,syncCoordinator:te,isImageInteractingRef:_,onSelectionChangeRef:N}),Et=useCallback((Y,he)=>{if(be(),Y.docChanged){te.incrementStateSeq(),ne(he);let pe=M.current?.getDocument();pe&&L.current?.(pe);}te.requestRender(),Y.docChanged||Le(he);},[ne,Le,te,be]),{scrollToPositionImpl:Io,scrollToPageImpl:It,scrollToParaIdImpl:Vt}=ns({layout:le,blocks:ke,measures:De,pagesContainerRef:ce,hiddenPMRef:M,getScrollContainer:ve}),{handlePagesMouseDown:ko,handlePagesMouseMove:to,handlePagesClick:oo,handlePagesContextMenu:bt,handleTableInsertClick:In,tableInsertButton:Ut,clearTableInsertTimer:Mo,hideTableInsertButton:kn,getPositionFromMouse:Mn}=bs({pagesContainerRef:ce,hiddenPMRef:M,getHfView:useCallback(()=>{let Y=A.current;if(!Y)return null;let he=r?.package?.document?.finalSectionProperties,pe=x==="header"?he?.headerReferences:he?.footerReferences,Oe=pe?.find(Ne=>Ne.type==="default")??pe?.find(Ne=>Ne.type==="first")??null;return Oe?.rId?Y.getView(Oe.rId):null},[x,r]),layout:le,blocks:ke,measures:De,zoom:c,readOnly:l,hfEditMode:x,onBodyClick:P,onContextMenu:U,onHyperlinkClick:O,onHeaderFooterDoubleClick:y,setSelectedImageInfo:Wt,setSelectionRects:Te,setCaretPosition:et,buildImageSelectionInfo:gt,setIsFocused:ie,scrollToPositionImpl:Io}),kt=useCallback(Y=>{if(l)return;let he=Y.target;he.closest(".docx-comments-sidebar")||he.closest(".docx-unified-sidebar")||he.closest(".ep-hyperlink-popup")||he.closest("[data-hf-r-id]")||(M.current?.focus(),ie(true));},[l]),Dn=useCallback(Y=>{let he=Y.relatedTarget;he&&ge.current?.contains(he)||he?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||ie(false);},[]),{handleImageResize:Ye,handleImageResizeStart:Hn,handleImageResizeEnd:Fn,handleImageDragMove:no,handleImageDragStart:Do,handleImageDragEnd:Ho}=es({pagesContainerRef:ce,hiddenPMRef:M,zoom:c,isImageInteractingRef:_,getPositionFromMouse:Mn}),Fo=useCallback(Y=>{if(l)return;let he=Y.target;if(!he?.closest("[data-hf-r-id]")&&!he?.closest(".ep-hyperlink-popup")){if(M.current?.isFocused()||(M.current?.focus(),ie(true)),Y.key===" "&&!Y.ctrlKey&&!Y.metaKey&&!Y.nativeEvent.isComposing){Y.preventDefault();let pe=M.current?.getView();if(pe){let{from:Oe,to:Ne}=pe.state.selection;pe.someProp("handleTextInput",ht=>ht(pe,Oe,Ne," "))||pe.dispatch(pe.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(Y.key)&&!Y.metaKey&&Y.ctrlKey,Y.key==="Home"&&(Y.metaKey||Y.ctrlKey)){let pe=ve();pe&&(pe.scrollTop=0);}if(Y.key==="End"&&(Y.metaKey||Y.ctrlKey)){let pe=ve();pe&&(pe.scrollTop=pe.scrollHeight);}}},[l,ve]),Lo=useCallback(Y=>{l||Y.target.closest(".docx-comments-sidebar")||Y.target.closest(".docx-unified-sidebar")||M.current?.isFocused()||(M.current?.focus(),ie(true));},[l]),xe=useCallback(Y=>{j(Y.state),Le(Y.state),l||requestAnimationFrame(()=>{Y.focus(),ie(true);});},[j,Le,l]);Cs({hiddenPMRef:M,runLayoutPipeline:j,updateSelectionOverlay:Le,headerContent:f,footerContent:i,firstPageHeaderContent:a$1,firstPageFooterContent:g}),ys({ref:o,hiddenPMRef:M,hiddenHfPMsRef:A,documentRef:z,layout:le,runLayoutPipeline:j,scrollToPositionImpl:Io,scrollToParaIdImpl:Vt,scrollToPageImpl:It,setIsFocused:ie,onReadyRef:ee});let ro=useMemo(()=>le?rn(le,S):DEFAULT_PAGE_HEIGHT_PX+24+24,[le,S]);return jsxs("div",{ref:ge,className:`ep-root paged-editor ${T??""}`,style:{...Ma,...I},tabIndex:0,onFocus:kt,onBlur:Dn,onKeyDown:Fo,onMouseDown:Lo,children:[jsx(ma,{ref:M,document:r,styles:n,widthPx:Ae,readOnly:l||!!x,onTransaction:Et,onSelectionChange:$e,externalPlugins:C,extensionManager:h,onEditorViewReady:xe,onKeyDown:Q}),jsx(nr,{ref:A,document:r,styles:n,theme:u,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(Y,he,pe)=>{if(pe){let Oe=M.current?.getState();Oe&&j(Oe);}k?.(Y,he,pe);}}),jsxs("div",{ref:Se,style:{...Da,minHeight:ro,marginBottom:c!==1?ro*(c-1):void 0,transform:(()=>{let Y=[];return w&&Y.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),c!==1&&Y.push(`scale(${c})`),Y.length>0?Y.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:ce,className:`paged-editor__pages${l?" paged-editor--readonly":""}${x?` paged-editor--hf-editing paged-editor--editing-${x}`:""}`,style:Ha,onMouseDown:ko,onMouseMove:to,onClick:oo,onContextMenu:bt,"aria-hidden":"true"}),jsx(ba,{selectionRects:x?[]:B,caretPosition:x?null:ue,isFocused:J&&!x,pageGap:S,readOnly:l}),jsx(Sa,{imageInfo:fe,zoom:c,isFocused:J,onResize:Ye,onResizeStart:Hn,onResizeEnd:Fn,onDragMove:no,onDragStart:Do,onDragEnd:Ho,onContextMenu:bt}),Ut&&jsx(Rs,{type:Ut.type,x:Ut.x,y:Ut.y,onMouseDown:In,onMouseEnter:Mo,onMouseLeave:kn}),v&&jsx("div",{className:"paged-editor__plugin-overlays",style:Fa,children:v}),jsx(wa,{getView:()=>M.current?.getView()??null,getPagesContainer:()=>ce.current,zoom:c,decorationSyncToken:we,syncCoordinator:te})]}),D&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:ro*c,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:D})}),V&&oe&&re&&ae&&de&&Pe&&jsx(Ts,{data:V,onNavigate:oe,onCopy:re,onEdit:ae,onRemove:de,onClose:Pe,readOnly:l})]})}),Ms=memo(Wg);var Fs={position:"absolute",left:0,right:0,bottom:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 0",fontSize:11,color:"#4285f4",userSelect:"none",pointerEvents:"auto"},Ls={fontWeight:500,letterSpacing:.3},qg={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},Xg={position:"absolute",right:0,top:"100%",background:"white",border:"1px solid #dadce0",borderRadius:4,boxShadow:"0 2px 6px rgba(0,0,0,0.15)",zIndex:h.dropdown,minWidth:160,padding:"4px 0"},un={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},Os=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:u,onSave:d,onClose:s,onRemove:f},i){let a=useRef(r);a.current=r;let[g,l]=useState(false),S=useRef(null),[c,m]=useState(null);useLayoutEffect(()=>{let x=()=>{let k=u.getBoundingClientRect(),T=n.getBoundingClientRect();m({top:T.top-k.top+u.scrollTop,left:T.left-k.left+u.scrollLeft,width:T.width,height:T.height});};x();let P=u.closest('[style*="overflow"]')||u;return P.addEventListener("scroll",x),window.addEventListener("resize",x),()=>{P.removeEventListener("scroll",x),window.removeEventListener("resize",x);}},[n,u]);let b$1=useRef(false);useEffect(()=>{!r||b$1.current||(b$1.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let C=useCallback(()=>{if(!a.current)return;let x=proseDocToBlocks(a.current.state.doc);d(x);},[d]),h$1=useCallback(()=>{C(),s();},[C,s]);useEffect(()=>{function x(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),h$1());}return document.addEventListener("keydown",x,true),()=>document.removeEventListener("keydown",x,true)},[h$1]),useEffect(()=>{if(!g)return;function x(P){S.current&&!S.current.contains(P.target)&&l(false);}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[g]),useImperativeHandle(i,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let x=a.current;return x?undo(x.state,x.dispatch):false},redo:()=>{let x=a.current;return x?redo(x.state,x.dispatch):false}}));let{t:p}=b(),R=p(o==="header"?"headerFooter.header":"headerFooter.footer");if(!c)return null;let v={position:"absolute",top:c.top,left:c.left,width:c.width,height:c.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},y={...Fs,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:v,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:y,children:[jsx("span",{style:Ls,children:R}),jsx(As,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:f,onClose:h$1,viewRef:a})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:Fs,children:[jsx("span",{style:Ls,children:R}),jsx(As,{label:R,showOptions:g,setShowOptions:l,optionsRef:S,onRemove:f,onClose:h$1,viewRef:a})]})]})});function As({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:u,viewRef:d}){let{t:s}=b(),f=i=>{let a=d.current;if(!a)return;let{$from:g,from:l}=a.state.selection,S=a.state.storedMarks||g.marks(),c=schema.nodes.field.create({fieldType:i,instruction:` ${i} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),m=a.state.tr.insert(l,c.mark(S));a.dispatch(m),a.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:qg,onClick:i=>{i.stopPropagation(),o(a=>!a);},onMouseDown:i=>i.stopPropagation(),children:[s("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:Xg,onMouseDown:i=>i.stopPropagation(),children:[jsx("button",{type:"button",style:un,onClick:()=>{o(false),f("PAGE");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:un,onClick:()=>{o(false),f("NUMPAGES");},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:un,onClick:()=>{o(false),n();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:un,onClick:()=>{o(false),u();},onMouseOver:i=>{i.target.style.backgroundColor="#f1f3f4";},onMouseOut:i=>{i.target.style.backgroundColor="transparent";},children:s("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var Bs=resolveItemPositions;function _s({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:u,onExpandedItemChange:d,activeItemId:s}){let{t:f}=b(),i=s??null,a=useRef(i);a.current=i;let[g,l]=useState(false),S=useRef(new Map),c=useRef(new Map),m=useRef(new Set),b$1=useRef(null),C=useRef(new Map),h=useRef(new Map),[p,R]=useState(0),v=useMemo(()=>Bs(e,t,o,n,S.current,c.current),[e,t,o,n,p]),y=v.length>0,x=useMemo(()=>{let I=new Map;for(let w of v)I.set(w.item.id,w.y);return I},[v]);useEffect(()=>{for(let I of v)m.current.add(I.item.id);},[v]);let P=useCallback(()=>{let I=false;for(let[w,D]of C.current){let H=D.offsetHeight;S.current.get(w)!==H&&(S.current.set(w,H),I=true);}I&&R(w=>w+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),w=setTimeout(()=>{P(),l(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(w);}},[e.length,P]),useEffect(()=>{let I=u?.current;if(!I)return;let w=new ResizeObserver(()=>{requestAnimationFrame(()=>R(D=>D+1));});return w.observe(I),()=>w.disconnect()},[u]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[i,P]),useEffect(()=>{if(!i)return;let I=C.current.get(i);if(!I){let H=requestAnimationFrame(()=>R(O=>O+1));return ()=>cancelAnimationFrame(H)}let w,D=new ResizeObserver(()=>{cancelAnimationFrame(w),w=requestAnimationFrame(()=>{S.current.set(i,I.offsetHeight),R(H=>H+1);});});return D.observe(I),()=>{cancelAnimationFrame(w),D.disconnect();}},[i]);let k=useCallback(I=>{let w=h.current.get(I);return w||(w=D=>{D?(C.current.set(I,D),S.current.set(I,D.offsetHeight)):(C.current.delete(I),S.current.delete(I));},h.current.set(I,w)),w},[]),T=useCallback(I=>{d?.(a.current===I?null:I);},[d]);return e.length===0?null:jsx("aside",{ref:b$1,className:"docx-unified-sidebar",role:"complementary","aria-label":f("sidebar.ariaLabel"),style:{position:"absolute",top:0,left:`calc(50% - ${SIDEBAR_DOCUMENT_SHIFT}px + ${r*n/2+SIDEBAR_PAGE_GAP}px)`,width:SIDEBAR_WIDTH,fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,backgroundColor:"transparent",overflowY:"visible",overflowX:"visible",opacity:y?1:0,transition:"opacity 0.15s ease"},onMouseDown:I=>I.stopPropagation(),children:jsx("div",{style:{position:"relative"},children:e.map(I=>{let w=x.get(I.id),D=i===I.id,O=!m.current.has(I.id)&&w!==void 0,U=y&&!x.has(I.id),G=y?w!==void 0?{position:"absolute",top:w,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},W=U?"none":O||I.isTemporary?"opacity 0.2s ease":g?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...G,transition:W},children:I.render({isExpanded:D,onToggleExpand:()=>T(I.id),measureRef:k(I.id)})},I.id)})})})}function Ws({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:u,onMarkerClick:d}){let{t:s}=b(),i=e.filter(a=>a.parentId==null).map(a=>{let g=u.has(a.id);if(!g&&n||g&&n)return null;let l=t.get(`comment-${a.id}`);return l==null?null:{comment:a,isResolved:g,y:l}}).filter(Boolean);return i.length===0?null:jsx("div",{className:"docx-comment-margin-markers",style:{position:"absolute",top:0,left:`calc(50% + ${r*o/2+6}px)`,zIndex:30,pointerEvents:"none"},onMouseDown:a=>a.stopPropagation(),children:i.map(({comment:a,isResolved:g,y:l})=>jsx("button",{onClick:()=>d(a.id),title:s(g?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:l*o,left:0,width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:4,background:"transparent",cursor:"pointer",pointerEvents:"auto",color:"#5f6368",padding:0,fontFamily:"inherit"},onMouseOver:S=>{S.currentTarget.style.opacity="0.7";},onMouseOut:S=>{S.currentTarget.style.opacity="1";},children:jsx(b$1,{name:g?"chat_bubble_check":"chat_bubble_outline",size:18})},a.id))})}function $s({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:u,initialSectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,hfEditPosition:l,setHfEditPosition:S,hfEditIsFirstPage:c,onHeaderFooterDoubleClick:m,onHeaderFooterSave:b,onRemoveHeaderFooter:C,onBodyClick:h,getHfTargetElement:p,zoom:R,readOnly:v,extensionManager:y,externalPlugins:x,onDocumentChange:P,onSelectionChange:k,onPagedSelectionChange:T,onReady:I,onEditorViewReady:w,onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:U,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:K,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:oe,onContextMenu:re,sidebarOpen:ae,sidebarItems:de,anchorPositions:Pe,onAnchorPositionsChange:ve,pluginRenderedDomContext:ge,pageWidthPx:ce,expandedSidebarItem:Se,setExpandedSidebarItem:M,comments:A,resolvedCommentIds:z,resolvedIdsForRender:Q,setShowCommentsSidebar:N,onTotalPagesChange:L,floatingCommentBtn:ee,isAddingComment:X,setCommentSelectionRange:J,setAddCommentYPosition:ie,setIsAddingComment:_,setFloatingCommentBtn:te}){let Ce=l?c?l==="header"?a:g:l==="header"?f:i:null,[le,ke]=useState(null),[De,we]=useState([]),be=useCallback(j=>{let B=window.document.querySelector(".paged-editor__pages")?.parentElement;if(!B)return j;let ue=B.getBoundingClientRect();return {...j,top:j.top-ue.top+B.scrollTop,left:j.left-ue.left+B.scrollLeft}},[]),Ae=useCallback(j=>{if(!l){ke(null),we([]);return}let ne=computeHfCaretRectFromView(j,l);ke(ne?be(ne):null),we(computeHfSelectionRectsFromView(j,l).map(be));let B=window.document.querySelector(".paged-editor__pages");B&&applyCellSelectionHighlight(B,j.state,{scope:l});},[l,be]);return useEffect(()=>{if(!l){ke(null),we([]),invalidateHfDomCache();return}let j=()=>{let Te=t.current?.getView();Te&&Ae(Te);},ne=window.document.querySelector(".paged-editor__pages"),B=()=>{invalidateHfDomCache(),j();};ne?.addEventListener("painter:painted",B);let ue=requestAnimationFrame(j),fe=()=>j();return window.addEventListener("resize",fe),()=>{cancelAnimationFrame(ue),ne?.removeEventListener("painter:painted",B),window.removeEventListener("resize",fe),invalidateHfDomCache();}},[l,t,Ae]),jsxs(Fragment,{children:[jsx(Ms,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||u,sectionProperties:d,finalSectionProperties:s,headerContent:f,footerContent:i,firstPageHeaderContent:a,firstPageFooterContent:g,onHeaderFooterDoubleClick:m,hfEditMode:l,onBodyClick:h,onHfTransaction:(j,ne,B)=>{let ue=window.document.querySelector(".paged-editor__pages"),fe=false,Te=()=>{fe||(fe=true,invalidateHfDomCache(),Ae(ne));};ue?.addEventListener("painter:painted",Te,{once:true}),requestAnimationFrame(()=>{fe||(ue?.removeEventListener("painter:painted",Te),Te());}),k(extractSelectionState(ne.state));},zoom:R,readOnly:v,extensionManager:y,onDocumentChange:P,onSelectionChange:T,externalPlugins:x,onReady:j=>{I(j);let ne=j.getView();ne&&w?.(ne);},onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:U,onHyperlinkPopupNavigate:G,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:K,onHyperlinkPopupRemove:V,onHyperlinkPopupClose:oe,onContextMenu:re,commentsSidebarOpen:ae,onAnchorPositionsChange:ve,onTotalPagesChange:L,resolvedCommentIds:Q,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[de.length>0&&jsx(_s,{items:de,anchorPositions:Pe,renderedDomContext:ge??null,pageWidth:ce,zoom:R,editorContainerRef:o$1,onExpandedItemChange:M,activeItemId:Se}),jsx(Ws,{comments:A,anchorPositions:Pe,zoom:R,pageWidth:ce,sidebarOpen:ae,resolvedCommentIds:z,onMarkerClick:()=>N(true)})]})}),ee!=null&&!X&&!v&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:j=>{j.preventDefault(),j.stopPropagation();let ne=e.current?.getView();if(ne){let{from:B,to:ue}=ne.state.selection;if(B!==ue){J({from:B,to:ue});let fe=ne.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Te=ne.state.tr.addMark(B,ue,fe);Te.setSelection(TextSelection.create(Te.doc,ue)),ne.dispatch(Te);}}ie(ee.top),N(true),_(true),te(null);},style:{position:"absolute",top:ee.top,left:ee.left,transform:"translate(-50%, -50%)",zIndex:50,width:28,height:28,borderRadius:6,border:"1px solid rgba(26, 115, 232, 0.3)",backgroundColor:"#fff",color:"#1a73e8",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 1px 3px rgba(60,64,67,0.2)",transition:"background-color 0.15s ease, box-shadow 0.15s ease"},onMouseOver:j=>{j.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",j.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:j=>{j.currentTarget.style.backgroundColor="#fff",j.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b$1,{name:"add_comment",size:16})})}),l&&(le||De.length>0)&&(()=>{let j=window.document.querySelector(".paged-editor__pages"),ne=j?.parentElement;return !j||!ne?null:createPortal(jsxs(Fragment,{children:[le&&De.length===0&&jsxs(Fragment,{children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:le.top,left:le.left,width:2,height:le.height,background:"#4285f4",pointerEvents:"none",zIndex:11,animation:"hf-caret-blink 1.06s steps(1) infinite"}}),jsx("style",{children:"@keyframes hf-caret-blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }"})]}),De.map((B,ue)=>jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:B.top,left:B.left,width:B.width,height:B.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${ue}-${B.top}-${B.left}`))]}),ne)})(),l&&Ce&&(()=>{let j=p(l),ne=r.current;if(!j||!ne)return null;let B=e.current?.getHfPmView(Ce)??null;return jsx(Os,{ref:t,headerFooter:Ce,position:l,view:B,targetElement:j,parentElement:ne,onSave:b,onClose:()=>{S(null),ke(null);},onRemove:C})})()]})}function ub(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function pb(e,t){return findContentControlsInPM(e.state.doc,{tag:t})[0]}function Ks({containerRef:e,getView:t}){let[o,r]=useState(null),n=useRef(null),u=useCallback((f,i)=>{let a=t();if(a){try{a.dispatch(setContentControlValueTr(a.state,{tag:f},i)),a.focus();}catch{}r(null);}},[t]);useEffect(()=>{let f=e.current;if(!f)return;let i=c=>{let m=t(),b=c.dataset.sdtTag,C=c.dataset.sdtWidget;if(!m||!b||!C)return;let h=pb(m,b),p=c.getBoundingClientRect();C==="checkbox"?u(b,{kind:"checkbox",checked:!h?.checked}):C==="dropdown"?r({kind:"dropdown",tag:b,items:h?.listItems??[],current:h?.text??"",rect:p}):C==="date"&&r({kind:"date",tag:b,current:h?.dateValue??"",rect:p});},a=c=>{let m=t(),b=ub(c.dataset.sdtGroupId);if(!(!m||b==null))try{let C=c.dataset.sdtRepeat==="add"?addRepeatingSectionItemTr(m.state,b):removeRepeatingSectionItemTr(m.state,b);m.dispatch(C),m.focus();}catch{}},g=c=>{let m=c.target;(m?.closest?.(".layout-sdt-widget")||m?.closest?.(".layout-sdt-repeat-btn"))&&c.preventDefault();},l=c=>{let m=c.target?.closest?.(".layout-sdt-repeat-btn");if(m){c.preventDefault(),c.stopPropagation(),a(m);return}let b=c.target?.closest?.(".layout-sdt-widget");b&&(c.preventDefault(),c.stopPropagation(),i(b));},S=c=>{if(c.key!=="Enter"&&c.key!==" ")return;let m=c.target?.closest?.(".layout-sdt-widget");m&&(c.preventDefault(),i(m));};return f.addEventListener("mousedown",g),f.addEventListener("click",l),f.addEventListener("keydown",S),()=>{f.removeEventListener("mousedown",g),f.removeEventListener("click",l),f.removeEventListener("keydown",S);}},[e,t,u]),useEffect(()=>{if(!o)return;let f=a=>{n.current?.contains(a.target)||r(null);},i=a=>{a.key==="Escape"&&r(null);};return document.addEventListener("mousedown",f),document.addEventListener("keydown",i),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",i);}},[o]),useEffect(()=>{if(o?.kind!=="dropdown")return;let f=n.current?.querySelectorAll(".layout-sdt-widget-option");f?.length&&([...f].find(i=>i.getAttribute("aria-selected")==="true")??f[0]).focus();},[o]);let d=f=>{if(f.key!=="ArrowDown"&&f.key!=="ArrowUp")return;let i=[...n.current?.querySelectorAll(".layout-sdt-widget-option")??[]];if(!i.length)return;f.preventDefault();let a=i.indexOf(document.activeElement),g=f.key==="ArrowDown"?(a+1)%i.length:(a-1+i.length)%i.length;i[g].focus();};if(!o)return null;let s={position:"fixed",top:o.rect.bottom+2,left:o.rect.left,zIndex:1e3};return jsx("div",{ref:n,className:"layout-sdt-widget-popup",style:s,role:o.kind==="dropdown"?"listbox":void 0,onKeyDown:d,onMouseDown:f=>f.preventDefault(),children:o.kind==="dropdown"?o.items.length===0?jsx("div",{className:"layout-sdt-widget-empty",children:"No options"}):o.items.map(f=>{let i=f.displayText===o.current;return jsx("button",{type:"button",role:"option","aria-selected":i,className:`layout-sdt-widget-option${i?" is-selected":""}`,onClick:()=>u(o.tag,{kind:"dropdown",value:f.value}),children:f.displayText},f.value)}):jsx("input",{type:"date",className:"layout-sdt-widget-date",autoFocus:true,defaultValue:o.current,onChange:f=>{f.target.value&&u(o.tag,{kind:"date",date:f.target.value});}})})}function Gs({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:u,setCommentSelectionRange:d,setAddCommentYPosition:s,setFloatingCommentBtn:f,setHfEditPosition:i,setHfEditIsFirstPage:a,setAnchorPositions:g,clearFindReplaceMatches:l,cleanOrphanedCommentsTimerRef:S}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),u(false),d(null),s(null),f(null),i(null),a(false),g(Yo),l(),S.current&&(clearTimeout(S.current),S.current=null);},[e,t,o,r,n,u,d,s,f,i,a,g,l,S])}}var vb=createContext(null);function Ys({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((i,a)=>{t.showError(i,a);},[t]),n=useCallback((i,a)=>{t.showWarning(i,a);},[t]),u=useCallback((i,a)=>{t.showInfo(i,a);},[t]),d=useCallback(i=>{t.dismiss(i);},[t]),s=useCallback(()=>{t.clearAll();},[t]),f=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:u,dismissNotification:d,clearNotifications:s}),[o.notifications,r,n,u,d,s]);return jsxs(vb.Provider,{value:f,children:[e,jsx(Cb,{notifications:o.notifications,onDismiss:d})]})}function Cb({notifications:e,onDismiss:t}){let o=e.filter(n=>!n.dismissed);return o.length===0?null:jsx("div",{className:"docx-notification-container",style:{position:"fixed",top:"16px",right:"16px",zIndex:10001,display:"flex",flexDirection:"column",gap:"8px",maxWidth:"400px"},children:o.map(n=>jsx(Rb,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function Rb({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),d=(m=>{switch(m){case "error":return {bg:"var(--doc-error-bg)",border:"#f5c6cb",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"#ffeeba",text:"#856404",icon:"var(--doc-warning)"};case "info":return {bg:"#e8f4fd",border:"#b8daff",text:"#0c5460",icon:"var(--doc-primary)"}}})(e.severity),s={background:d.bg,border:`1px solid ${d.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},f={display:"flex",alignItems:"flex-start",gap:"8px"},i={color:d.icon,flexShrink:0},a={flex:1,minWidth:0},g={color:d.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},l={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:d.text,maxHeight:"200px",overflow:"auto"},S={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:d.text},c=m=>{switch(m){case "error":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 6v5M10 13v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "warning":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("path",{d:"M10 3L18 17H2L10 3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),jsx("path",{d:"M10 8v4M10 14v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "info":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 9v5M10 6v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return jsxs("div",{className:`docx-notification-toast docx-notification-${e.severity}`,style:s,children:[jsx("style",{children:`
|
|
12
|
+
</head><body>${P.outerHTML}</body></html>`),C.document.close(),C.onload=()=>{C.print(),C.close();},setTimeout(()=>{C.closed||(C.print(),C.close());},1e3),l?.();},[o,l]),g=useCallback(async()=>{let v=await i();if(!v)return;let C=new Blob([v],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),R=URL.createObjectURL(C),P=window.document.createElement("a");P.href=R,P.download=`${(n?.trim()||"document").replace(/\.docx$/i,"")}.docx`,P.click(),setTimeout(()=>URL.revokeObjectURL(R),0);},[i,n]),x=useCallback(()=>{b.current?.click();},[]),y=useCallback(async v=>{try{let C=await readDocxFileFromInput(v.nativeEvent);if(!C)return;await s(C.buffer),m?.(C.name);}catch(C){d?.(C instanceof Error?C:new Error("Failed to open document"));}},[s,m,d]),c=useCallback(()=>{f.current?.click();},[]),S=useCallback(v=>{let C=v.target.files?.[0],R=a();C&&R&&insertImageFromFile(R,C,{onInserted:h}),v.target.value="";},[a,h]);return {imageInputRef:f,docxInputRef:b,handleSave:i,handleDirectPrint:p,handleDownloadDocument:g,handleOpenDocument:x,handleDocxFileChange:y,handleInsertImageClick:c,handleImageFileChange:S}}function vi({document:e,readOnly:t,handleDocumentChange:o,getActiveEditorView:r}){let[n,u]=useState(false),d=useCallback(()=>u(true),[]),l=useCallback(x=>y=>{if(!e||t)return;let c={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,[x]:y}}}};o(c);},[e,t,o]),m=useMemo(()=>l("marginLeft"),[l]),s=useMemo(()=>l("marginRight"),[l]),a=useMemo(()=>l("marginTop"),[l]),h=useMemo(()=>l("marginBottom"),[l]),f=useCallback(x=>{if(!e||t)return;let y={...e,package:{...e.package,document:{...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,...x}}}};o(y);},[e,t,o]),b=useCallback(x=>{let y=r();y&&setIndentLeft(x)(y.state,y.dispatch);},[r]),i=useCallback(x=>{let y=r();y&&setIndentRight(x)(y.state,y.dispatch);},[r]),p=useCallback(x=>{let y=r();y&&(x<0?setIndentFirstLine(-x,true)(y.state,y.dispatch):setIndentFirstLine(x,false)(y.state,y.dispatch));},[r]),g=useCallback(x=>{let y=r();y&&removeTabStop(x)(y.state,y.dispatch);},[r]);return {showPageSetup:n,setShowPageSetup:u,handleOpenPageSetup:d,handleLeftMarginChange:m,handleRightMarginChange:s,handleTopMarginChange:a,handleBottomMarginChange:h,handlePageSetupApply:f,handleIndentLeftChange:b,handleIndentRightChange:i,handleFirstLineIndentChange:p,handleTabStopRemove:g}}function Si({readOnly:e,getBodyEditorView:t}){let[o,r]=useState(false),n=useCallback(()=>r(true),[]),u=t(),d=u?getWatermarkFromState(u.state)??void 0:void 0,l=useCallback(m=>{if(e)return;let s=t();s&&setWatermark(m)(s.state,s.dispatch);},[e,t]);return {showWatermark:o,setShowWatermark:r,handleOpenWatermark:n,currentWatermark:d,handleWatermarkApply:l}}function Pi({hyperlinkDialog:e,getActiveEditorView:t,focusActiveEditor:o}){let[r,n]=useState(null),u=useCallback(i=>{let p=t();if(!p)return;let g=i.url||"",x=i.tooltip,{empty:y}=p.state.selection;y&&i.displayText?insertHyperlink(i.displayText,g,x)(p.state,p.dispatch):y?i.displayText&&insertHyperlink(i.displayText,g,x)(p.state,p.dispatch):setHyperlink(g,x)(p.state,p.dispatch),e.close(),o();},[e,t,o]),d=useCallback(()=>{let i=t();i&&(removeHyperlink(i.state,i.dispatch),o());},[t,o]),l=useCallback(()=>{d(),e.close();},[e,d]),m=useCallback(i=>n(i),[]),s=useCallback(i=>{window.open(i,"_blank","noopener,noreferrer");},[]),a=useCallback(i=>{navigator.clipboard.writeText(i).catch(()=>{let p=document.createElement("textarea");p.value=i,p.style.position="fixed",p.style.opacity="0",document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p);});},[]),h=useCallback((i,p)=>{let g=t();if(!g)return;let x=findHyperlinkRangeAt(g.state);if(x){let y=g.state.schema.marks.hyperlink,{$from:c}=g.state.selection,S=y.create({href:p,tooltip:x.mark.attrs.tooltip}),v=g.state.schema.text(i,[...c.marks().filter(R=>R.type!==y),S]),C=g.state.tr.replaceWith(x.start,x.end,v);g.dispatch(C.scrollIntoView());}n(null),o();},[t,o]),f=useCallback(()=>{let i=t();if(!i)return;let p=findHyperlinkRangeAt(i.state,r?.href);if(!p)return;let g=i.state.schema.marks.hyperlink;i.dispatch(i.state.tr.removeMark(p.start,p.end,g).scrollIntoView()),n(null),o(),toast("Link removed");},[t,o,r]),b=useCallback(()=>{n(null);},[]);return {hyperlinkPopupData:r,setHyperlinkPopupData:n,handleHyperlinkSubmit:u,handleHyperlinkRemove:l,handleHyperlinkClick:m,handleHyperlinkPopupNavigate:s,handleHyperlinkPopupCopy:a,handleHyperlinkPopupEdit:h,handleHyperlinkPopupRemove:f,handleHyperlinkPopupClose:b}}function Ti(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 wi(e,t,o){let r=[],n=0;return e.state.doc.descendants((u,d)=>{if(!u.isTextblock)return true;let l=[],m="";if(u.descendants((a,h)=>(!a.isText||!a.text||(l.push({text:a.text,pmStart:d+1+h}),m+=a.text),true)),!m)return n+=1,false;let s=(0, a$4.findAllMatches)(m,t,o);for(let a of s){let h=Ti(l,a.start,"start"),f=Ti(l,a.end,"end");h==null||f==null||h>=f||r.push({paragraphIndex:n,contentIndex:0,startOffset:a.start,endOffset:a.end,text:m.slice(a.start,a.end),pmFrom:h,pmTo:f});}return n+=1,false}),r}function Ei({pagedEditorRef:e,findReplace:t}){let o=useRef(null),r=useCallback(()=>e.current?.getView()??null,[e]),n=useCallback((a,h)=>{let f=r();if(!f||!a)return null;try{let i=TextSelection.create(f.state.doc,a.pmFrom,a.pmTo);f.dispatch(f.state.tr.setSelection(i)),e.current?.scrollToPosition(a.pmFrom);}catch(i){return console.error("Find navigation failed:",i),null}let b=o.current;return b&&(b.currentIndex=h),t.goToMatch(h),a},[t,r,e]),u=useCallback((a,h)=>{let f=r();if(!f||!a.trim())return o.current=null,t.setMatches([],0),null;let b=wi(f,a,h),i={matches:b,totalCount:b.length,currentIndex:0};return o.current=i,t.setMatches(b,0),b.length>0&&n(b[0],0),i},[t,r,n]),d=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let h=(a.currentIndex+1)%a.matches.length;return n(a.matches[h],h)},[n]),l=useCallback(()=>{let a=o.current;if(!a||a.matches.length===0)return null;let h=a.currentIndex===0?a.matches.length-1:a.currentIndex-1;return n(a.matches[h],h)},[n]),m=useCallback(a=>{let h=r(),f=o.current;if(!h||!f||f.matches.length===0)return false;let b=f.matches[f.currentIndex];if(!b)return false;try{let i=a?h.state.tr.replaceWith(b.pmFrom,b.pmTo,h.state.schema.text(a)):h.state.tr.delete(b.pmFrom,b.pmTo);return h.dispatch(i),!0}catch(i){return console.error("Replace failed:",i),false}},[r]),s=useCallback((a,h,f)=>{let b=r();if(!b||!a.trim())return 0;let i=wi(b,a,f);if(i.length===0)return 0;let p=[...i].sort((x,y)=>y.pmFrom-x.pmFrom),g=b.state.tr;for(let x of p)try{g=h?g.replaceWith(x.pmFrom,x.pmTo,b.state.schema.text(h)):g.delete(x.pmFrom,x.pmTo);}catch(y){console.error("Replace failed for match:",x,y);}return b.dispatch(g),o.current=null,t.setMatches([],0),i.length},[t,r]);return {findResultRef:o,handleFind:u,handleFindNext:d,handleFindPrevious:l,handleReplace:m,handleReplaceAll:s}}function Mi({getActiveEditorView:e,focusActiveEditor:t,pagedEditorRef:o,lastSelectionRef:r,hyperlinkDialog:n,historyStateRef:u,getCachedStyleResolver:d}){let l=useCallback(b=>{let i=e();if(!i)return;i.focus();let p=i===o.current?.getView(),{from:g$1,to:x}=i.state.selection,y=r.current;if(p&&y&&(g$1!==y.from||x!==y.to))try{let c=i.state.tr.setSelection(TextSelection.create(i.state.doc,y.from,y.to));i.dispatch(c);}catch(c){console.warn("Could not restore selection:",c);}if(b==="bold")return void toggleBold(i.state,i.dispatch);if(b==="italic")return void toggleItalic(i.state,i.dispatch);if(b==="underline")return void toggleUnderline(i.state,i.dispatch);if(b==="strikethrough")return void toggleStrike(i.state,i.dispatch);if(b==="superscript")return void toggleSuperscript(i.state,i.dispatch);if(b==="subscript")return void toggleSubscript(i.state,i.dispatch);if(b==="bulletList")return void toggleBulletList(i.state,i.dispatch);if(b==="numberedList")return void toggleNumberedList(i.state,i.dispatch);if(b==="indent"){increaseListLevel(i.state,i.dispatch)||increaseIndent()(i.state,i.dispatch);return}if(b==="outdent"){decreaseListLevel(i.state,i.dispatch)||decreaseIndent()(i.state,i.dispatch);return}if(b==="clearFormatting")return void clearFormatting(i.state,i.dispatch);if(b==="setRtl")return void setRtl(i.state,i.dispatch);if(b==="setLtr")return void setLtr(i.state,i.dispatch);if(b==="insertLink"){let c=getSelectedText(i.state),S=getHyperlinkAttrs(i.state);S?n.openEdit({url:S.href,displayText:c,tooltip:S.tooltip}):n.openInsert(c);return}if(typeof b=="object")switch(b.type){case "alignment":setAlignment(b.value)(i.state,i.dispatch);break;case "textColor":{let c=b.value;typeof c=="string"?setTextColor({rgb:c.replace("#","")})(i.state,i.dispatch):c.auto?clearTextColor(i.state,i.dispatch):setTextColor(c)(i.state,i.dispatch);break}case "highlightColor":{let c=b.value?g(b.value):"";setHighlight(c||b.value)(i.state,i.dispatch);break}case "fontSize":setFontSize(d$1(b.value))(i.state,i.dispatch);break;case "fontFamily":setFontFamily(b.value)(i.state,i.dispatch);break;case "lineSpacing":setLineSpacing(b.value)(i.state,i.dispatch);break;case "applyStyle":{let c=u.current,S=c?.package.styles?d(c.package.styles):null;if(S){let v=S.resolveParagraphStyle(b.value);applyStyle(b.value,{paragraphFormatting:v.paragraphFormatting,runFormatting:v.runFormatting,numbering:c?.package.numbering?getCachedNumberingMap(c.package.numbering):null})(i.state,i.dispatch);}else applyStyle(b.value)(i.state,i.dispatch);break}}},[e,o,r,n,u,d]),m=useCallback((b,i)=>{let p=e();p&&(insertTable(b,i)(p.state,p.dispatch),t());},[e,t]),s=useCallback(()=>{let b=e();b&&(insertPageBreak(b.state,b.dispatch),t());},[e,t]),a=useCallback(()=>{let b=e();b&&(insertSectionBreakNextPage(b.state,b.dispatch),t());},[e,t]),h=useCallback(()=>{let b=e();b&&(insertSectionBreakContinuous(b.state,b.dispatch),t());},[e,t]),f=useCallback(()=>{let b=e();b&&(generateTOC(b.state,b.dispatch),t());},[e,t]);return {handleFormat:l,handleInsertTable:m,handleInsertPageBreak:s,handleInsertSectionBreakNextPage:a,handleInsertSectionBreakContinuous:h,handleInsertTOC:f}}function Di({document:e,pmImageContext:t,zoom:o,getActiveEditorView:r,focusActiveEditor:n,pushDocument:u}){let[d,l]=useState(false),[m,s]=useState(false),[a,h]=useState(false),f=useCallback(y=>{let c=r();if(!c||!t)return;let S=t.pos,v=c.state.doc.nodeAt(S);if(!v||v.type.name!=="image")return;let C=toolbarValueToLayoutTarget(y);if(!C)return;let R;if(v.attrs.wrapType==="inline"&&C!=="inline"){let P=window.document.querySelector(`.layout-run-image[data-pm-start="${S}"]`),k=P?captureInlinePositionEmu(P,o):void 0;k&&(R={initialPositionEmu:k});}setImageWrapType(S,C,R)(c.state,c.dispatch),n();},[r,n,t,o]),b=useCallback(y=>{let c=r();if(!c||!t)return;let S=t.pos,v=c.state.doc.nodeAt(S);if(!v||v.type.name!=="image")return;let C=v.attrs.transform||"",R=C.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),P=R?parseFloat(R[1]):0,k=/scaleX\(-1\)/.test(C),E=/scaleY\(-1\)/.test(C);switch(y){case "rotateCW":P=(P+90)%360;break;case "rotateCCW":P=(P-90+360)%360;break;case "flipH":k=!k;break;case "flipV":E=!E;break}let I=[];P!==0&&I.push(`rotate(${P}deg)`),k&&I.push("scaleX(-1)"),E&&I.push("scaleY(-1)");let w=I.length>0?I.join(" "):null,D=c.state.tr.setNodeMarkup(S,void 0,{...v.attrs,transform:w});c.dispatch(D.scrollIntoView()),n();},[r,n,t]),i=useCallback(y=>{let c=r();if(!c||!t)return;let S=t.pos,v=c.state.doc.nodeAt(S);if(!v||v.type.name!=="image")return;let C=c.state.tr.setNodeMarkup(S,void 0,{...v.attrs,position:{horizontal:y.horizontal,vertical:y.vertical},distTop:y.distTop??v.attrs.distTop,distBottom:y.distBottom??v.attrs.distBottom,distLeft:y.distLeft??v.attrs.distLeft,distRight:y.distRight??v.attrs.distRight});c.dispatch(C.scrollIntoView()),n();},[r,n,t]),p=useCallback(()=>{s(true);},[]),g=useCallback(y=>{let c=r();if(!c||!t)return;let S=t.pos,v=c.state.doc.nodeAt(S);if(!v||v.type.name!=="image")return;let C=c.state.tr.setNodeMarkup(S,void 0,{...v.attrs,alt:y.alt??null,borderWidth:y.borderWidth??null,borderColor:y.borderColor??null,borderStyle:y.borderStyle??null,width:y.width??null,height:y.height??null});c.dispatch(C.scrollIntoView()),n();},[r,n,t]),x=useCallback((y,c)=>{if(!e?.package)return;let S={...e.package.document,finalSectionProperties:{...e.package.document.finalSectionProperties,footnotePr:y,endnotePr:c}};u({...e,package:{...e.package,document:S}});},[e,u]);return {imagePositionOpen:d,setImagePositionOpen:l,imagePropsOpen:m,setImagePropsOpen:s,footnotePropsOpen:a,setFootnotePropsOpen:h,handleImageWrapType:f,handleImageTransform:b,handleApplyImagePosition:i,handleOpenImageProperties:p,handleApplyImageProperties:g,handleApplyFootnoteProperties:x}}var qo=new Map;function Fi({ref:e,agentRef:t,document:o,historyStateRef:r,pagedEditorRef:n,handleSave:u,handleDirectPrint:d,zoom:l,setZoom:m,scrollPageInfo:s,loadParsedDocument:a,loadBuffer:h,comments:f,setComments:b,setShowCommentsSidebar:i,contentChangeSubscribersRef:p,selectionChangeSubscribersRef:g,getCachedStyleResolver:x,commentIdAllocator:y}){useImperativeHandle(e,()=>({getAgent:()=>t.current,getDocument:()=>o,getEditorRef:()=>n.current,save:u,setZoom:m,getZoom:()=>l,focus:()=>{n.current?.focus();},getCurrentPage:()=>s.currentPage,getTotalPages:()=>s.totalPages,scrollToPage:c=>{n.current?.scrollToPage(c);},scrollToPosition:c=>{n.current?.scrollToPosition(c);},openPrintPreview:d,print:d,loadDocument:a,loadDocumentBuffer:h,addComment:c=>{let S=n.current?.getView();if(!S)return null;let v=addCommentToRange(S,c,y);return v?(b(C=>[...C,v]),i(true),v.id):null},replyToComment:(c,S,v)=>{if(!f.some(R=>R.id===c))return null;let C=createComment(y,S,v,c);return b(R=>[...R,C]),C.id},resolveComment:c=>{b(S=>S.map(v=>v.id===c?{...v,done:true}:v));},proposeChange:c=>{let S=n.current?.getView();if(!S)return false;let v=applyProposedChange(S,c,y);return v&&i(true),v},applyFormatting:c=>{let S=n.current?.getView();return S?applyFormatting(S,c):false},setParagraphStyle:c=>{let S=n.current?.getView();if(!S)return false;let v=r.current,C=v?.package?.styles?x(v.package.styles):null,R=v?.package?.numbering?getCachedNumberingMap(v.package.numbering):null;return setParagraphStyle(S,c,{styleResolver:C,numbering:R})},insertBreak:c=>{let S=n.current?.getView();return S?insertBreak(S,c):false},getPageContent:c=>getPageContent(n.current?.getView()??null,n.current?.getLayout()??null,c),scrollToParaId:c=>n.current?.scrollToParaId(c)??false,scrollToCommentId:c=>n.current?.scrollToCommentId(c)??false,scrollToChangeId:c=>n.current?.scrollToChangeId(c)??false,highlightRange:(c,S)=>{n.current?.highlightRange(c,S);},findInDocument:(c,S)=>findInDocument(n.current?.getView()??null,c,S),getSelectionInfo:()=>getSelectionInfo(n.current?.getView()??null),getComments:()=>f,getContentControls:c=>{let S=n.current?.getView();return S?findContentControlsInPM(S.state.doc,c??{}):[]},scrollToContentControl:c=>{let S=n.current?.getView();if(!S)return false;let v=findContentControlPos(S.state.doc,c);return v==null?false:(n.current?.scrollToPosition(v),true)},setContentControlContent:(c,S,v)=>{let C=n.current?.getView();if(!C)return false;try{return C.dispatch(setContentControlContentTr(C.state,c,S,v)),!0}catch(R){if(R instanceof ContentControlNotFoundError)return false;throw R}},removeContentControl:(c,S)=>{let v=n.current?.getView();if(!v)return false;try{return v.dispatch(removeContentControlTr(v.state,c,S)),!0}catch(C){if(C instanceof ContentControlNotFoundError)return false;throw C}},setContentControlValue:(c,S,v)=>{let C=n.current?.getView();if(!C)return false;try{return C.dispatch(setContentControlValueTr(C.state,c,S,v)),!0}catch(R){if(R instanceof ContentControlNotFoundError)return false;throw R}},onContentChange:c=>(p.current.add(c),()=>{p.current.delete(c);}),onSelectionChange:c=>(g.current.add(c),()=>{g.current.delete(c);})}),[o,l,s,u,d,a,h,f]);}var U=e=>({style:"single",size:4,color:{rgb:e}}),op=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:U("000000"),bottom:U("000000"),left:U("000000"),right:U("000000"),insideH:U("000000"),insideV:U("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:U("BFBFBF"),bottom:U("BFBFBF"),left:U("BFBFBF"),right:U("BFBFBF"),insideH:U("BFBFBF"),insideV:U("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:U("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:U("BFBFBF"),bottom:U("BFBFBF"),insideH:U("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:U("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:U("B4C6E7"),bottom:U("B4C6E7"),left:U("B4C6E7"),right:U("B4C6E7"),insideH:U("B4C6E7"),insideV:U("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:U("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:U("4472C4"),bottom:U("4472C4"),left:U("4472C4"),right:U("4472C4"),insideH:U("4472C4"),insideV:U("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:U("FFFFFF"),bottom:U("FFFFFF"),left:U("FFFFFF"),right:U("FFFFFF"),insideH:U("FFFFFF"),insideV:U("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:U("ED7D31"),bottom:U("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:U("A5A5A5"),bottom:U("A5A5A5"),insideH:U("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:U("5B9BD5"),bottom:U("5B9BD5"),left:U("5B9BD5"),right:U("5B9BD5"),insideH:U("5B9BD5"),insideV:U("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:U("70AD47"),bottom:U("70AD47"),left:U("70AD47"),right:U("70AD47"),insideH:U("70AD47"),insideV:U("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function Li(e){return op.find(t=>t.id===e)}function Oi({getActiveEditorView:e,focusActiveEditor:t,tableSelection:o,borderSpecRef:r,historyStateRef:n,getCachedStyleResolver:u}){let[d,l]=useState(false),[m,s]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),a=useCallback(()=>{let i=e(),p=i?getSplitCellDialogConfig(i.state):null,g=p?null:o.getSplitCellConfig(),x=p??g;x&&s({isOpen:true,...x,source:p?"pm":"legacy",capturedCellRow:p?.capturedCellRow??null,capturedCellCol:p?.capturedCellCol??null});},[e,o]),h=useCallback(i=>{let p=e();if(!p){i==="splitCell"?a():typeof i!="object"&&o.handleAction(i);return}switch(i){case "addRowAbove":addRowAbove(p.state,p.dispatch);break;case "addRowBelow":addRowBelow(p.state,p.dispatch);break;case "addColumnLeft":addColumnLeft(p.state,p.dispatch);break;case "addColumnRight":addColumnRight(p.state,p.dispatch);break;case "deleteRow":deleteRow(p.state,p.dispatch);break;case "deleteColumn":deleteColumn(p.state,p.dispatch);break;case "deleteTable":deleteTable(p.state,p.dispatch);break;case "selectTable":selectTable(p.state,p.dispatch);break;case "selectRow":selectRow(p.state,p.dispatch);break;case "selectColumn":selectColumn(p.state,p.dispatch);break;case "mergeCells":mergeCells(p.state,p.dispatch);break;case "splitCell":a();break;case "borderAll":setAllTableBorders(p.state,p.dispatch,r.current);break;case "borderOutside":setOutsideTableBorders(p.state,p.dispatch,r.current);break;case "borderInside":setInsideTableBorders(p.state,p.dispatch,r.current);break;case "borderNone":removeTableBorders(p.state,p.dispatch);break;case "borderTop":setCellBorder("top",r.current,true)(p.state,p.dispatch);break;case "borderBottom":setCellBorder("bottom",r.current,true)(p.state,p.dispatch);break;case "borderLeft":setCellBorder("left",r.current,true)(p.state,p.dispatch);break;case "borderRight":setCellBorder("right",r.current,true)(p.state,p.dispatch);break;default:if(typeof i=="object"){if(i.type==="cellFillColor")setCellFillColor(i.color)(p.state,p.dispatch);else if(i.type==="borderColor"){let g=i.color.replace(/^#/,"");r.current={...r.current,color:{rgb:g}},setTableBorderColor(i.color)(p.state,p.dispatch);}else if(i.type==="borderWidth")r.current={...r.current,size:i.size},setTableBorderWidth(i.size)(p.state,p.dispatch);else if(i.type==="cellBorder")setCellBorder(i.side,{style:i.style,size:i.size,color:{rgb:i.color.replace(/^#/,"")}})(p.state,p.dispatch);else if(i.type==="cellVerticalAlign")setCellVerticalAlign(i.align)(p.state,p.dispatch);else if(i.type==="cellMargins")setCellMargins(i.margins)(p.state,p.dispatch);else if(i.type==="cellTextDirection")setCellTextDirection(i.direction)(p.state,p.dispatch);else if(i.type==="toggleNoWrap")toggleNoWrap()(p.state,p.dispatch);else if(i.type==="rowHeight")setRowHeight(i.height,i.rule)(p.state,p.dispatch);else if(i.type==="toggleHeaderRow")toggleHeaderRow()(p.state,p.dispatch);else if(i.type==="distributeColumns")distributeColumns()(p.state,p.dispatch);else if(i.type==="autoFitContents")autoFitContents()(p.state,p.dispatch);else if(i.type==="openTableProperties")l(true);else if(i.type==="applyTableStyle"){let g=Li(i.styleId),x=n.current;if(!g&&x?.package.styles){let c=u(x.package.styles).getStyle(i.styleId);if(c){if(g={id:c.styleId,name:c.name??c.styleId},c.tblPr?.borders){let S=c.tblPr.borders;g.tableBorders={};for(let v of ["top","bottom","left","right","insideH","insideV"]){let C=S[v];C&&(g.tableBorders[v]={style:C.style,size:C.size,color:C.color?.rgb?{rgb:C.color.rgb}:void 0});}}if(c.tblStylePr){g.conditionals={};for(let S of c.tblStylePr){let v={};if(S.tcPr?.shading?.fill&&(v.backgroundColor=`#${S.tcPr.shading.fill}`),S.tcPr?.borders){let C={};for(let R of ["top","bottom","left","right"]){let P=S.tcPr.borders[R];P&&(C[R]={style:P.style,size:P.size,color:P.color?.rgb?{rgb:P.color.rgb}:void 0});}v.borders=C;}S.rPr?.bold&&(v.bold=true),S.rPr?.color?.rgb&&(v.color=`#${S.rPr.color.rgb}`),g.conditionals[S.type]=v;}}g.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}g&&applyTableStyle({styleId:g.id,tableBorders:g.tableBorders,conditionals:g.conditionals,look:g.look})(p.state,p.dispatch);}}else o.handleAction(i);}t();},[o,e,t,a,r,n,u]),f=useCallback(()=>{s(i=>({...i,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),b=useCallback((i,p)=>{if(m.source==="legacy"){o.applySplitCell(i,p),t();return}let g=e();g&&(splitActiveTableCell(g.state,g.dispatch,i,p,m.capturedCellRow??void 0,m.capturedCellCol??void 0),t());},[t,e,m.source,m.capturedCellRow,m.capturedCellCol,o]);return {tablePropsOpen:d,setTablePropsOpen:l,splitCellDialogState:m,openSplitCellDialog:a,handleTableAction:h,handleSplitCellDialogClose:f,handleSplitCellDialogApply:b}}function Bi({document:e,pushDocument:t,hfEditorRef:o,containerRef:r,initialSectionProperties:n,finalSectionProperties:u,hfEditPosition:d,setHfEditPosition:l,hfEditIsFirstPage:m,setHfEditIsFirstPage:s}){let{headerContent:a,footerContent:h,firstPageHeaderContent:f,firstPageFooterContent:b}=useMemo(()=>{let{header:c,footer:S,firstHeader:v,firstFooter:C}=resolveHeaderFooter(e??null,u??n);return {headerContent:c,footerContent:S,firstPageHeaderContent:v,firstPageFooterContent:C}},[e,n,u]),i=useCallback((c,S)=>{let C=e?.package?.document?.finalSectionProperties?.titlePg===true&&(S??1)===1,R=C?c==="header"?f:b:c==="header"?a:h;if(s(C),R){l(c);return}if(!e?.package)return;let P=e.package,k=P.document?.finalSectionProperties;if(!k)return;let E=C?"first":"default",I=`rId_new_${c}_${E}`,w={type:c==="header"?"header":"footer",hdrFtrType:E,content:[{type:"paragraph",content:[]}]},D=c==="header"?"headers":"footers",H=new Map(P[D]??[]);H.set(I,w);let O=c==="header"?"headerReferences":"footerReferences",B=k[O]??[],_={type:E,rId:I},W=P.relationships,Z=new Set;for(let me of W?.values()??[])me.target&&Z.add(me.target);let Y=1;for(;Z.has(`${c}${Y}.xml`);)Y++;let J=c==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",te=new Map(W);te.set(I,{id:I,type:J,target:`${c}${Y}.xml`});let ne={...e,package:{...P,[D]:H,relationships:te,document:P.document?{...P.document,finalSectionProperties:{...k,[O]:[...B,_]}}:P.document}};t(ne),l(c);},[a,h,f,b,e,t,l,s]),p=useCallback(c=>{if(!d||!e?.package){l(null);return}let S=e.package,v=S.document?.finalSectionProperties,C=d==="header"?v?.headerReferences:v?.footerReferences,R=m?"first":"default",P=C?.find(I=>I.type===R)??C?.find(I=>I.type==="default")??C?.find(I=>I.type==="first")??C?.[0],k=d==="header"?"headers":"footers",E=S[k];if(P?.rId&&E){let I=E.get(P.rId),w={type:d,hdrFtrType:P.type,...I,content:c},D=new Map(E);D.set(P.rId,w);let H={...e,package:{...S,[k]:D}};t(H);}l(null);},[d,m,e,t,l]),g=useCallback(()=>{if(!d)return;let c=o.current?.getView();if(c){let S=proseDocToBlocks(c.state.doc);p(S);}else l(null);},[d,p,o,l]),x=useCallback(()=>{if(!d||!e?.package){l(null);return}let c=e.package,S=c.document?.finalSectionProperties,v=d==="header"?"headerReferences":"footerReferences",C=d==="header"?"headers":"footers",R=S?.[v],P=m?"first":"default",k=R?.find(E=>E.type===P)??R?.find(E=>E.type==="default")??R?.find(E=>E.type==="first")??R?.[0];if(k?.rId){let E=new Map(c[C]??[]);E.delete(k.rId);let I=(R??[]).filter(D=>D.rId!==k.rId),w={...e,package:{...c,[C]:E,document:c.document?{...c.document,finalSectionProperties:{...S,[v]:I}}:c.document}};t(w);}l(null);},[d,m,e,t,l]),y=useCallback(c=>{let S=r.current?.querySelector(".paged-editor__pages");if(!S)return null;let v=c==="header"?".layout-page-header":".layout-page-footer";return S.querySelector(v)},[r]);return {headerContent:a,footerContent:h,firstPageHeaderContent:f,firstPageFooterContent:b,handleHeaderFooterDoubleClick:i,handleHeaderFooterSave:p,handleBodyClick:g,handleRemoveHeaderFooter:x,getHfTargetElement:y}}function zi({documentBuffer:e,initialDocument:t,externalContent:o,history:r,agentRef:n,pagedEditorRef:u,setLoadingState:d,setComments:l,setShowCommentsSidebar:m,onError:s,resetForNewDocument:a,commentsLoadedRef:h,commentIdAllocator:f}){let b=useRef(0),i=useCallback(g=>{a(),r.reset(g),d({isLoading:false,parseError:null}),loadDocumentFonts(g).catch(x=>{console.warn("Failed to load document fonts:",x);});},[a,r,d]),p=useCallback(async g=>{let x=++b.current;a(),d({isLoading:true,parseError:null});try{let y=await parseDocx(g);if(b.current!==x)return;i(y);}catch(y){if(b.current!==x)return;let c=y instanceof Error?y.message:"Failed to parse document";d({isLoading:false,parseError:c}),s?.(y instanceof Error?y:new Error(c));}},[a,i,s,d]);return useEffect(()=>{if(!o){if(!e){t&&i(t);return}p(e);}},[e,t,o]),useEffect(()=>{r.state?n.current=new DocumentAgent(r.state):n.current=null;},[r.state,n]),useEffect(()=>{if(h.current)return;let g=r.state;if(!g)return;h.current=true;let x=g.package?.document?.comments;x&&x.length>0&&(l(x),m(true)),seedCommentAllocator(f,x,u.current?.getView()??null);},[r.state,u,l,m,h,f]),{loadParsedDocument:i,loadBuffer:p}}var Up={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},go=18,Vi=({isOpen:e,position:t,currentWrapType:o,currentCssFloat:r,onApplyLayout:n,textActions:u,onTextAction:d,onOpenProperties:l,onClose:m})=>{let{t:s}=b(),a=useRef(null),[h$1,f]=useState(0),b$2=useMemo(()=>deriveLayoutChoice(o,r),[o,r]),i=useMemo(()=>IMAGE_LAYOUT_OPTIONS.filter(c=>isImageLayoutOptionEnabled(c,o)),[o]),p=useMemo(()=>(u??[]).filter(c=>!c.disabled),[u]),g=l?1:0,x=g+i.length+p.length;useEffect(()=>{if(!e)return;let c=v=>{a.current&&!a.current.contains(v.target)&&m();},S=setTimeout(()=>{document.addEventListener("mousedown",c);},0);return ()=>{clearTimeout(S),document.removeEventListener("mousedown",c);}},[e,m]),useEffect(()=>{if(!e)return;let c=S=>{if(S.key==="Escape"){S.preventDefault(),m();return}let v=Math.max(1,x);if(S.key==="ArrowDown")S.preventDefault(),f(C=>(C+1)%v);else if(S.key==="ArrowUp")S.preventDefault(),f(C=>(C-1+v)%v);else if(S.key==="Enter"){if(S.preventDefault(),g&&h$1===0)l?.(),m();else if(h$1<g+i.length)n(i[h$1-g].choice),m();else if(d){let C=p[h$1-g-i.length];C&&(d(C.action),m());}}};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e,h$1,i,p,x,g,n,l,d,m]),useEffect(()=>{if(!e)return;let c=b$2?i.findIndex(S=>S.choice===b$2):-1;f(c>=0?g+c:0);},[e,b$2,i,g]);let y=useCallback(()=>{let S=IMAGE_LAYOUT_OPTIONS.length,v=u?.length??0,C=S*36+v*32+(v>0?9:0)+16,R=t.x,P=t.y;return typeof window<"u"&&(R+260>window.innerWidth&&(R=window.innerWidth-260-10),P+C>window.innerHeight&&(P=window.innerHeight-C-10),R<10&&(R=10),P<10&&(P=10)),{position:"fixed",top:P,left:R,minWidth:260,background:"var(--doc-surface)",border:"1px solid var(--doc-border-light)",borderRadius:"8px",boxShadow:"0 2px 10px var(--doc-shadow)",zIndex:h.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,u]);return e?jsxs("div",{ref:a,className:"docx-image-context-menu",style:y(),role:"menu","aria-label":s("imageWrap.menu.ariaLabel"),"data-testid":"image-context-menu",children:[l&&jsxs(Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":"open-properties",onClick:()=>{l(),m();},onMouseEnter:()=>f(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:h$1===0?"var(--doc-primary-light)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text)",textAlign:"left"},children:[jsx("span",{style:{display:"flex",color:"var(--doc-text-muted)",width:go},children:jsx(b$1,{name:"settings",size:go})}),jsx("span",{style:{flex:1},children:s("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light)",margin:"4px 0"},role:"separator"})]}),IMAGE_LAYOUT_OPTIONS.map(c=>{let S=c.choice===b$2,v=isImageLayoutOptionEnabled(c,o),C=v?g+i.findIndex(k=>k.choice===c.choice):-1,R=C>=0&&C===h$1,P=s(`imageWrap.menuDesc.${c.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":c.choice,"data-current":S?"true":"false","data-disabled":v?"false":"true",disabled:!v,onClick:()=>{v&&(n(c.choice),m());},onMouseEnter:()=>{C>=0&&f(C);},title:P,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:R?"var(--doc-primary-light)":"transparent",cursor:v?"pointer":"not-allowed",fontSize:"13px",color:v?"var(--doc-text)":"var(--doc-text-placeholder)",textAlign:"left",opacity:v?1:.55},children:[jsx("span",{style:{display:"flex",color:S?"var(--doc-primary)":"var(--doc-text-muted)",width:go},children:jsx(b$1,{name:Up[c.iconHint],size:go})}),jsx("span",{style:{flex:1},children:s(`imageWrap.menu.${c.i18nLabelKey}`)}),S&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary)"},"aria-label":s("toolbar.imageWrap.current"),children:"\u25CF"})]},c.choice)}),u&&u.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light)",margin:"4px 0"},role:"separator"}),u.map((c,S)=>{let v=c.disabled?-1:g+i.length+p.findIndex(R=>R.action===c.action),C=v===h$1&&!c.disabled;return jsxs(Bl.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":c.action,"data-disabled":c.disabled?"true":"false",disabled:c.disabled,onClick:()=>{c.disabled||!d||(d(c.action),m());},onMouseEnter:()=>{v>=0&&f(v);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:C?"var(--doc-primary-light)":"transparent",cursor:c.disabled?"not-allowed":"pointer",fontSize:"13px",color:c.disabled?"var(--doc-text-placeholder)":"var(--doc-text)",textAlign:"left",opacity:c.disabled?.55:1},children:[jsx("span",{style:{width:go},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:c.label}),c.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted)",fontFamily:"monospace"},children:c.shortcut})]}),c.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light)",margin:"4px 0"},role:"separator"})]},`${c.action}-${S}`)})]})]}):null};function Ui(){let[e,t]=useState(false),[o,r]=useState({x:0,y:0}),[n,u]=useState("inline"),[d,l]=useState(null),[m,s]=useState(null),[a,h]=useState(null),f=useCallback(i=>{r({x:i.x,y:i.y}),u(i.wrapType),l(i.cssFloat??null),s(i.pos),h(i.inlinePositionEmu??null),t(true);},[]),b=useCallback(()=>{t(false),s(null),h(null);},[]);return {isOpen:e,position:o,currentWrapType:n,currentCssFloat:d,imagePos:m,inlinePositionEmu:a,openForImage:f,closeMenu:b}}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 $i(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function qi({getActiveEditorView:e,focusActiveEditor:t,openSplitCellDialog:o,scrollContainerRef:r,editorContentRef:n,i18n:u,onAddComment:d}){let{t:l}=b(),[m,s]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),a=Ui(),h=useCallback(y=>{let c=y.target;if(c?.closest(".paged-editor__pages")&&!c.closest(".hf-inline-editor"))return;y.preventDefault(),y.stopPropagation();let S=e(),v=S?getTableContext(S.state):{isInTable:false},{from:C,to:R}=S?.state.selection??{from:0,to:0},P=C!==R;s({isOpen:true,position:{x:y.clientX,y:y.clientY},hasSelection:P,cursorInTable:v.isInTable,tableContext:v.isInTable?v:null});},[e]),f=useCallback(y=>{if(y.image){a.openForImage({x:y.x,y:y.y,wrapType:y.image.wrapType,cssFloat:y.image.cssFloat,pos:y.image.pos,inlinePositionEmu:y.image.inlinePositionEmu});return}let c=e(),S=c?getTableContext(c.state):{isInTable:false};s({isOpen:true,position:y,hasSelection:y.hasSelection,cursorInTable:S.isInTable,tableContext:S.isInTable?S:null});},[e,a]),b$1=useCallback(y=>{let c=e();if(!c||a.imagePos===null)return;let S=a.inlinePositionEmu?{initialPositionEmu:a.inlinePositionEmu}:void 0;setImageWrapType(a.imagePos,y,S)(c.state,c.dispatch);},[e,a.imagePos,a.inlinePositionEmu]),i=useMemo(()=>[{action:"cut",label:l("contextMenu.cut"),shortcut:a$2(l("contextMenu.cutShortcut"))},{action:"copy",label:l("contextMenu.copy"),shortcut:a$2(l("contextMenu.copyShortcut"))},{action:"paste",label:l("contextMenu.paste"),shortcut:a$2(l("contextMenu.pasteShortcut")),dividerAfter:true},{action:"delete",label:l("contextMenu.delete"),shortcut:a$2(l("contextMenu.deleteShortcut"))}],[l]),p=useCallback(()=>{s({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),g=useMemo(()=>{let y=[{action:"cut",label:l("contextMenu.cut"),shortcut:a$2(l("contextMenu.cutShortcut"))},{action:"copy",label:l("contextMenu.copy"),shortcut:a$2(l("contextMenu.copyShortcut"))},{action:"paste",label:l("contextMenu.paste"),shortcut:a$2(l("contextMenu.pasteShortcut"))},{action:"pasteAsPlainText",label:l("contextMenu.pastePlainText"),shortcut:a$2(l("contextMenu.pastePlainTextShortcut")),dividerAfter:true},{action:"delete",label:l("contextMenu.delete"),shortcut:a$2(l("contextMenu.deleteShortcut")),dividerAfter:!m.hasSelection&&!m.cursorInTable}];return m.hasSelection&&y.push({action:"addComment",label:"Comment",dividerAfter:!m.cursorInTable}),m.cursorInTable&&y.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}),y.push({action:"selectAll",label:l("contextMenu.selectAll"),shortcut:a$2(l("contextMenu.selectAllShortcut"))}),y},[m.hasSelection,m.cursorInTable,m.tableContext,u,l]),x=useCallback(async y=>{let c=e();if(c)switch(t(),y){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let S=await navigator.clipboard.read(),v="",C="";for(let k of S)k.types.includes("text/html")&&(v=await(await k.getType("text/html")).text()),k.types.includes("text/plain")&&(C=await(await k.getType("text/plain")).text());let R=new DataTransfer;v&&R.items.add(v,"text/html"),C&&R.items.add(C,"text/plain");let P=new ClipboardEvent("paste",{clipboardData:R,bubbles:!0,cancelable:!0});c.dom.dispatchEvent(P);}catch{try{let S=await navigator.clipboard.readText();S&&c.dispatch(c.state.tr.insertText(S));}catch{}}break}case "pasteAsPlainText":try{let S=await navigator.clipboard.readText();S&&c.dispatch(c.state.tr.insertText(S));}catch{}break;case "delete":{let{from:S,to:v}=c.state.selection;S!==v&&c.dispatch(c.state.tr.deleteRange(S,v));break}case "selectAll":c.dispatch(c.state.tr.setSelection(TextSelection.create(c.state.doc,0,c.state.doc.content.size)));break;case "addRowAbove":addRowAbove(c.state,c.dispatch);break;case "addRowBelow":addRowBelow(c.state,c.dispatch);break;case "deleteRow":deleteRow(c.state,c.dispatch);break;case "addColumnLeft":addColumnLeft(c.state,c.dispatch);break;case "addColumnRight":addColumnRight(c.state,c.dispatch);break;case "deleteColumn":deleteColumn(c.state,c.dispatch);break;case "mergeCells":mergeCells(c.state,c.dispatch);break;case "splitCell":o();break;case "addComment":{let{from:S,to:v}=c.state.selection;if(S===v)break;let C=Zo(r.current,n.current,S),R=c.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),P=c.state.tr.addMark(S,v,R);P.setSelection(TextSelection.create(P.doc,v)),c.dispatch(P),d({from:S,to:v,yPos:C});break}}},[e,t,o,r,n,d]);return {contextMenu:m,imageContextMenu:a,handleEditorContextMenu:h,handleContextMenu:f,handleContextMenuClose:p,handleImageWrapApply:b$1,imageContextMenuTextActions:i,contextMenuItems:g,handleContextMenuAction:x}}function Zi({commentsProp:e,onCommentDelete:t,onCommentsChange:o,pagedEditorRef:r}){let[n,u]=useState([]),d=e!==void 0,l=d?e:n,[m,s]=useState(false),[a,h]=useState(null),[f,b]=useState(null),[i,p]=useState(null),g=useRef(null),x=useRef(l);x.current=l;let y=useRef(m);y.current=m;let c=useRef(t);c.current=t;let S=useRef(o);S.current=o;let v=useCallback(R=>{let P=typeof R=="function"?R(x.current):R;P!==x.current&&(d||(x.current=P,u(P)),S.current?.(P));},[d]),C=useCallback(()=>{if(y.current)return;let R=r.current?.getView();if(!R)return;let{doc:P,schema:k}=R.state,E=k.marks.comment;if(!E)return;let I=new Set;P.descendants(H=>{for(let O of H.marks)if(O.type===E){let B=O.attrs.commentId;B!==PENDING_COMMENT_ID&&I.add(B);}});let w=x.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)&&c.current?.(H);v(H=>H.filter(O=>!D.has(O.id)&&!D.has(O.parentId)));}},[r,v]);return useEffect(()=>()=>{g.current&&clearTimeout(g.current);},[]),{comments:l,setComments:v,isAddingComment:m,setIsAddingComment:s,isAddingCommentRef:y,commentSelectionRange:a,setCommentSelectionRange:h,addCommentYPosition:f,setAddCommentYPosition:b,floatingCommentBtn:i,setFloatingCommentBtn:p,cleanOrphanedCommentsTimerRef:g,cleanOrphanedComments:C}}function Ji({commentToRevision:e,setComments:t,pmState:o,isLoading:r,trackedChangesCount:n,setShowCommentsSidebar:u,trackedChangesLoadedRef:d}){useEffect(()=>{e.size!==0&&t(l=>{let m=false,s=l.map(a=>{if(a.parentId!=null)return a;let h=e.get(a.id);return h!=null?(m=true,{...a,parentId:h}):a});return m?s:l});},[e,t]),useEffect(()=>{d.current||r||!o||(d.current=true,n>0&&u(true));},[o,r,n,u,d]);}function ta({getActiveEditorView:e,lastSelectionRef:t,borderSpecRef:o,theme:r,historyStateRef:n,getCachedStyleResolver:u,setFloatingCommentBtn:d,applySelectionDelta:l,recomputeFloatingCommentBtn:m,onSelectionChange:s,selectionChangeSubscribersRef:a}){return {handleSelectionChange:useCallback(f=>{let b=e();if(b){let{from:k,to:E}=b.state.selection;t.current={from:k,to:E};}let i=null;if(b&&(i=getTableContext(b.state),i.isInTable||(i=null)),i?.cellBorderColor){let k=resolveColorToHex(i.cellBorderColor,r??void 0);k&&(o.current={...o.current,color:{rgb:k}});}let p=null;if(b){let k=b.state.selection,E=k.node;E?.type.name==="image"&&(p={pos:k.from,wrapType:E.attrs.wrapType??"inline",displayMode:E.attrs.displayMode??"inline",cssFloat:E.attrs.cssFloat??null,transform:E.attrs.transform??null,alt:E.attrs.alt??null,borderWidth:E.attrs.borderWidth??null,borderColor:E.attrs.borderColor??null,borderStyle:E.attrs.borderStyle??null,width:E.attrs.width??null,height:E.attrs.height??null});}if(!f){d(null),l({selectionFormatting:{},pmTableContext:i,pmImageContext:p});return}let{textFormatting:g,paragraphFormatting:x}=f,y=g.fontFamily?.ascii||g.fontFamily?.hAnsi,c=g.fontSize;if(!y||!c){let k=n.current,E=f.styleId;if(k?.package.styles&&E){let w=u(k.package.styles).resolveParagraphStyle(E);!y&&w.runFormatting?.fontFamily&&(y=w.runFormatting.fontFamily.ascii||w.runFormatting.fontFamily.hAnsi),!c&&w.runFormatting?.fontSize&&(c=w.runFormatting.fontSize);}}let S=resolveColorToHex(g.color,r??void 0),v=S?`#${S}`:void 0,C=x.numPr,R=C?{type:C.numId===1?"bullet":"numbered",level:C.ilvl??0,isInList:true,numId:C.numId}:void 0,P={bold:g.bold,italic:g.italic,underline:!!g.underline,strike:g.strike,superscript:g.vertAlign==="superscript",subscript:g.vertAlign==="subscript",fontFamily:y,fontSize:c,color:v,highlight:g.highlight,alignment:x.alignment,lineSpacing:x.lineSpacing,listState:R,styleId:f.styleId??void 0,indentLeft:x.indentLeft,bidi:!!x.bidi};l({selectionFormatting:P,paragraphIndentLeft:x.indentLeft??0,paragraphIndentRight:x.indentRight??0,paragraphFirstLineIndent:x.indentFirstLine??0,paragraphHangingIndent:x.hangingIndent??false,paragraphTabs:x.tabs??null,pmTableContext:i,pmImageContext:p}),m(),s?.(f);for(let k of a.current)try{k(f);}catch(E){console.error("selectionChange subscriber threw:",E);}},[e,t,o,r,n,u,d,l,m,s,a])}}function na({pagedEditorRef:e,scrollContainerRef:t,editorContentRef:o,isAddingCommentRef:r,setFloatingCommentBtn:n,readOnly:u,isLoading:d,zoom:l}){let m=useRef(false);m.current=u;let s=useCallback(()=>{let a=e.current?.getView();if(!a)return;if(r.current||m.current){n(null);return}let{from:h,to:f}=a.state.selection;if(h===f){n(null);return}let b=t.current,i=o.current;if(!b||!i)return;let p=Zo(b,i,h);if(p==null)return;let x=b.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),y=x?x.getBoundingClientRect().right-i.getBoundingClientRect().left:i.getBoundingClientRect().width/2+408;n({top:p,left:y});},[e,t,o,r,n]);return useEffect(()=>{let a=t.current;if(!a)return;let h=new ResizeObserver(()=>s());h.observe(a);let f=()=>s();return window.addEventListener("resize",f),()=>{h.disconnect(),window.removeEventListener("resize",f);}},[d,s,t]),useEffect(()=>{s();},[l,s]),{recomputeFloatingCommentBtn:s}}function ra({hfEditPosition:e,hfEditorRef:t,pagedEditorRef:o}){let r=useCallback(()=>e&&t.current?t.current.getView():o.current?.getView(),[e,t,o]),n=useCallback(()=>{e&&t.current?t.current.focus():o.current?.focus();},[e,t,o]),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 ia({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 l=t.current?.getLayout();if(!l||l.pages.length===0)return;let m=u.scrollTop,s=l.pages.length,a=24,h=24,f=m+u.clientHeight/2,b=h,i=1;for(let p=0;p<l.pages.length;p++){let g=l.pages[p].size.h,x=b+g;if(f<x){i=p+1;break}b=x+a,i=p+2;}i=Math.min(i,s),r({currentPage:i,totalPages:s,visible:true}),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{r(p=>({...p,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 aa({contextMenu:e,contextMenuItems:t,onContextMenuAction:o,onContextMenuClose:r,imageContextMenu:n,onImageWrapApply:u,imageContextMenuTextActions:d,onOpenImageProperties:l,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(Vi,{isOpen:n.isOpen,position:n.position,currentWrapType:n.currentWrapType,currentCssFloat:n.currentCssFloat,onApplyLayout:u,textActions:d,onTextAction:o,onOpenProperties:l,onClose:n.closeMenu}),jsx(Toaster,{position:"bottom-right"})]})}var mm=lazy(()=>import('./FindReplaceDialog-KU5TEIBJ.mjs')),fm=lazy(()=>import('./HyperlinkDialog-ZYH7ZHRF.mjs')),gm=lazy(()=>import('./TablePropertiesDialog-TMLKGOOW.mjs').then(e=>({default:e.TablePropertiesDialog}))),bm=lazy(()=>import('./SplitCellDialog-IFBKYCD6.mjs')),hm=lazy(()=>import('./ImagePositionDialog-HEWYR6Q3.mjs').then(e=>({default:e.ImagePositionDialog}))),ym=lazy(()=>import('./ImagePropertiesDialog-RAB47C6M.mjs').then(e=>({default:e.ImagePropertiesDialog}))),vm=lazy(()=>import('./FootnotePropertiesDialog-W3YHM4BV.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),Cm=lazy(()=>import('./PageSetupDialog-AIGIXO3E.mjs').then(e=>({default:e.PageSetupDialog}))),Sm=lazy(()=>import('./WatermarkDialog-KRL7WMIS.mjs').then(e=>({default:e.WatermarkDialog})));function sa({findReplace:e,findResultRef:t,onFind:o,onFindNext:r,onFindPrevious:n,onReplace:u,onReplaceAll:d,hyperlinkDialog:l,onHyperlinkSubmit:m,onHyperlinkRemove:s,tablePropsOpen:a,onTablePropsClose:h,pmTableContext:f,getActiveEditorView:b,splitCellDialogState:i,onSplitCellDialogClose:p,onSplitCellDialogApply:g,imagePositionOpen:x,onImagePositionClose:y,onApplyImagePosition:c,imagePropsOpen:S,onImagePropsClose:v,onApplyImageProperties:C,pmImageContext:R,showPageSetup:P,onPageSetupClose:k,onPageSetupApply:E,showWatermark:I,onWatermarkClose:w,onWatermarkApply:D,currentWatermark:H,watermarkPresets:O,document:B,footnotePropsOpen:_,onFootnotePropsClose:W,onApplyFootnoteProperties:Z}){return jsxs(Suspense,{fallback:null,children:[e.state.isOpen&&jsx(mm,{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}),l.state.isOpen&&jsx(fm,{isOpen:l.state.isOpen,onClose:l.close,onSubmit:m,onRemove:l.state.isEditing?s:void 0,initialData:l.state.initialData,selectedText:l.state.selectedText,isEditing:l.state.isEditing}),a&&jsx(gm,{isOpen:a,onClose:h,onApply:Y=>{let J=b();J&&setTableProperties(Y)(J.state,J.dispatch);},currentProps:f?.table?.attrs}),i.isOpen&&jsx(bm,{isOpen:i.isOpen,onClose:p,onApply:g,initialRows:i.initialRows,initialCols:i.initialCols,minRows:i.minRows,minCols:i.minCols}),x&&jsx(hm,{isOpen:x,onClose:y,onApply:c}),S&&jsx(ym,{isOpen:S,onClose:v,onApply:C,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(Cm,{isOpen:P,onClose:k,onApply:E,currentProps:B?.package.document?.finalSectionProperties}),I&&jsx(Sm,{isOpen:I,onClose:w,onApply:D,current:H,presets:O}),_&&jsx(vm,{isOpen:_,onClose:W,onApply:Z,footnotePr:B?.package.document?.finalSectionProperties?.footnotePr,endnotePr:B?.package.document?.finalSectionProperties?.endnotePr})]})}function ca({active:e,onClick:t}){let{t:o}=b(),r=o("editor.toggleCommentsSidebar");return jsx(A,{onClick:t,active:e,title:r,ariaLabel:r,children:jsx(b$1,{name:"comment",size:20})})}var nr=[{value:"editing",labelKey:"editor.editing",icon:"edit_note",descKey:"editor.editingDescription"},{value:"suggesting",labelKey:"editor.suggesting",icon:"rate_review",descKey:"editor.suggestingDescription"},{value:"viewing",labelKey:"editor.viewing",icon:"visibility",descKey:"editor.viewingDescription"}];function ua({mode:e,onModeChange:t}){let{t:o}=b(),[r,n]=useState(false),[u,d]=useState(false),l=useRef(null),m=useRef(null),[s,a]=useState({top:0,left:0}),h=nr.find(f=>f.value===e);return useEffect(()=>{let f=window.matchMedia("(max-width: 1400px)");d(f.matches);let b=i=>d(i.matches);return f.addEventListener("change",b),()=>f.removeEventListener("change",b)},[]),useEffect(()=>{if(!r||!l.current)return;let f=l.current.getBoundingClientRect();a({top:f.bottom+2,left:f.right-220});},[r]),useEffect(()=>{if(!r)return;let f=i=>{!l.current?.contains(i.target)&&!m.current?.contains(i.target)&&n(false);},b=i=>{i.key==="Escape"&&n(false);};return document.addEventListener("mousedown",f),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",b);}},[r]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:l,type:"button",onMouseDown:f=>f.preventDefault(),onClick:()=>n(!r),title:`${o(h.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-bg-hover)":"transparent",borderRadius:4,cursor:"pointer",fontSize:13,fontWeight:400,color:"var(--doc-text)",whiteSpace:"nowrap",height:28},children:[jsx(b$1,{name:h.icon,size:18}),!u&&jsx("span",{children:o(h.labelKey)}),jsx(b$1,{name:"arrow_drop_down",size:16})]}),r&&jsx("div",{ref:m,onMouseDown:f=>f.preventDefault(),style:{position:"fixed",top:s.top,left:s.left,backgroundColor:"var(--doc-surface)",border:"1px solid var(--doc-border)",borderRadius:8,boxShadow:"0 4px 12px var(--doc-shadow)",padding:"4px 0",zIndex:1e4,minWidth:220},children:nr.map(f=>jsxs("button",{type:"button",onMouseDown:b=>b.preventDefault(),onClick:()=>{t(f.value),n(false);},onMouseOver:b=>{b.currentTarget.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:b=>{b.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)",width:"100%",textAlign:"left"},children:[jsx(b$1,{name:f.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:o(f.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:o(f.descKey)})]}),f.value===e&&jsx(b$1,{name:"check",size:18,style:{marginLeft:"auto",color:"var(--doc-primary)"}})]},f.value))})]})}function pa({active:e,onClick:t,badge:o}){let{t:r}=b(),n=r("agentPanel.toggle");return jsx(A,{onClick:t,active:e,title:n,ariaLabel:n,children:jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[jsx(b$1,{name:"agent-sparkle",size:20}),o!=null&&jsx("span",{"data-testid":"agent-panel-toggle-badge",style:{position:"absolute",top:-4,right:-6,display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:14,height:14,padding:"0 3px",borderRadius:7,fontSize:10,fontWeight:600,background:"var(--doc-error)",color:"var(--doc-on-primary)",lineHeight:1},children:o})]})})}function ma({toolbarRefCallback:e,agentPanelOpen:t,setAgentPanelOpen:o,document:r,theme:n,pmState:u,selectionFormatting:d,tableContext:l,imageContext:m,readOnly:s,editingMode:a,setEditingMode:h,setShowCommentsSidebar:f,setExpandedSidebarItem:b,showCommentsSidebar:i,agentPanel:p,renderLogo:g,documentName:x,onDocumentNameChange:y,documentNameEditable:c,renderTitleBarRight:S,toolbarExtra:v,fontFamilies:C$1,zoom:R,showZoomControl:P,onFormat:k,onUndo:E$1,onRedo:I,onPrint:w,onOpen:D,onSave:H,onZoomChange:O,onRefocusEditor:B,onInsertTable:_,onInsertImage:W,onInsertPageBreak:Z,onInsertSectionBreakNextPage:Y,onInsertSectionBreakContinuous:J,onInsertTOC:te,onImageWrapType:ne,onImageTransform:me,onOpenImageProperties:ke,onPageSetup:Ce,onWatermark:M,onTableAction:F}){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:E$1,onRedo:I,canUndo:u?undoDepth(u)>0:false,canRedo:u?redoDepth(u)>0:false,disabled:s,documentStyles:r?.package.styles?.styles,theme:r?.package.theme||n,fontFamilies:C$1,onPrint:w,onOpen:D,onSave:H,showZoomControl:P,zoom:R,onZoomChange:O,onRefocusEditor:B,onInsertTable:_,showTableInsert:true,onInsertImage:W,onInsertPageBreak:Z,onInsertSectionBreakNextPage:Y,onInsertSectionBreakContinuous:J,onInsertTOC:te,imageContext:m,onImageWrapType:ne,onImageTransform:me,onOpenImageProperties:ke,onPageSetup:Ce,onWatermark:M,tableContext:l,onTableAction:F,children:[jsxs(E.TitleBar,{children:[g&&jsx(E.Logo,{children:g()}),x!==void 0&&jsx(E.DocumentName,{value:x,onChange:y,editable:c}),S&&jsx(E.TitleBarRight,{children:S()}),jsx(E.MenuBar,{})]}),jsxs(E.Toolbar,{children:[jsx(C,{}),jsx(ca,{active:i,onClick:()=>{f(A=>!A),b(null);}}),jsx(C,{}),jsx(ua,{mode:a,onModeChange:A=>{h(A),A==="suggesting"&&f(true);}}),p&&p.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(C,{}),jsx(pa,{active:t,badge:p.toolbarBadge,onClick:()=>o(!t)})]}),v]})]})})}function fa(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 ga(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 Gm={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function va(e,t,o,r=[]){let n=o?.getSchema()??schema,u=t??e?.package?.styles,d=e?toProseDoc(e,{styles:u}):createEmptyDoc(),l=createDocumentStylesPlugin(u),m=[...r,...o?.getPlugins()??[],l];return ensureParaIdsInState(EditorState.create({doc:d,schema:n,plugins:m}))}function Km(e,t){return t?fromProseDoc(e.doc,t):null}var jm=forwardRef(function(t,o){let{document:r,styles:n,theme:u,widthPx:d=612,readOnly:l=false,onTransaction:m,onSelectionChange:s,externalPlugins:a=[],extensionManager:h,onEditorViewReady:f,onEditorViewDestroy:b,onKeyDown:i}=t,p=useRef(null),g=useRef(null),x=useRef(r),y=useRef(false),c=useRef(null),S=useRef(false),v=useRef(m),C=useRef(s),R=useRef(f),P=useRef(b),k=useRef(i),E=useRef(l);v.current=m,C.current=s,R.current=f,P.current=b,k.current=i,E.current=l,x.current=r;let I=_=>{if(!_)return "empty";let W=_.package?.properties;return `${W?.created||""}-${W?.modified||""}-${W?.title||""}`},w=useCallback(()=>{if(!p.current||y.current)return;let W={state:va(r,n,h,a),editable:()=>!E.current,attributes:{style:"overflow-anchor: none"},dispatchTransaction(Y){if(y.current)return;g.current||(g.current=this),stripScrollFlag(Y,this.state.tr);let J=this.state.apply(Y);this.updateState(J),v.current?.(Y,J),(Y.selectionSet||Y.docChanged)&&C.current?.(J);},handleKeyDown:(Y,J)=>k.current?.(Y,J)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};g.current=new EditorView(p.current,W);let Z=g.current.dom;Z.style.overflowAnchor="none",S.current=true,c.current=I(r),R.current?.(g.current);},[r,n,a,h,l]),D=useCallback(()=>{g.current&&!y.current&&(y.current=true,P.current?.(),g.current.destroy(),g.current=null,y.current=false);},[]);useEffect(()=>(w(),()=>D()),[]),useEffect(()=>{if(!g.current||y.current)return;let _=I(r);if(S.current&&_===c.current)return;S.current=true,c.current=_;let W=va(r,n,h,a);g.current.updateState(W),C.current?.(W);},[r,n,h,a]),useEffect(()=>{g.current;},[l]),useImperativeHandle(o,()=>({getState(){return g.current?.state??null},getView(){return g.current??null},getDocument(){return g.current?Km(g.current.state,x.current):null},focus(){g.current?.focus();},blur(){g.current?.hasFocus()&&g.current.dom.blur();},isFocused(){return g.current?.hasFocus()??false},dispatch(_){g.current&&!y.current&&g.current.dispatch(_);},executeCommand(_){return g.current?_(g.current.state,g.current.dispatch,g.current):false},undo(){return g.current?undo(g.current.state,g.current.dispatch):false},redo(){return g.current?redo(g.current.state,g.current.dispatch):false},canUndo(){return g.current?undo(g.current.state):false},canRedo(){return g.current?redo(g.current.state):false},setSelection(_,W){if(!g.current)return;let{state:Z,dispatch:Y}=g.current,J=Z.doc.resolve(_),te=W!==void 0?Z.doc.resolve(W):J,ne=TextSelection.between(J,te);Y(Z.tr.setSelection(ne));},setNodeSelection(_){if(!g.current)return;let{state:W,dispatch:Z}=g.current;try{let Y=NodeSelection.create(W.doc,_);Z(W.tr.setSelection(Y));}catch{this.setSelection(_);}},setCellSelection(_,W){if(!g.current)return;let{state:Z,dispatch:Y}=g.current;try{let J=CellSelection.create(Z.doc,_,W);Y(Z.tr.setSelection(J));}catch{this.setSelection(_,W);}},scrollToSelection(){}}),[]);let H=jsx("div",{ref:p,className:"paged-editor__hidden-pm",style:{...Gm,width:d>0?`${d}px`:void 0}}),O=globalThis.document,B=O&&"body"in O&&O.body!=null?O.body:null;return B?createPortal(H,B):H}),Ca=memo(jm);function cf(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 df(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 lr=memo(forwardRef(function({document:t,styles:o,theme:r,defaultTabStopTwips:n,onTransaction:u},d){let l=useRef(u);l.current=u;let m=useRef(t);m.current=t;let s=useRef(null),a=useRef(null),h=useRef(new Map),f=useRef(new Map);s.current=(p,g,x)=>{let c=m.current?.package;if(!c)return;let v=(g==="header"?c.headers:c.footers)?.get(p);v&&(v.content=proseDocToBlocks(x.doc));};let b=useCallback((p,g)=>{let x=t?.package;return x?(g==="header"?x.headers:x.footers)?.get(p)??null:null},[t]),i=useMemo(()=>df(t),[t?.package?.headers,t?.package?.footers]);return useEffect(()=>{if(!a.current)return;let p=a.current,g=new Map(i.map(y=>[y.rId,y])),x=h.current;for(let[y,c]of x)g.has(y)||(c.view.destroy(),c.mountNode.remove(),f.current.get(y)?.destroy(),f.current.delete(y),x.delete(y));for(let y of i){if(x.has(y.rId))continue;let c=b(y.rId,y.kind);if(!c)continue;let S=new ExtensionManager(createStarterKit());S.buildSchema(),S.initializeRuntime(),f.current.set(y.rId,S);let v=p.ownerDocument.createElement("div");v.dataset.hfRId=y.rId,v.dataset.hfKind=y.kind,p.appendChild(v);let C=cf(c,o,r,n,S),R=y.rId,P=y.kind,k=new EditorView(v,{state:C,dispatchTransaction(E){let I=k.state.apply(E);k.updateState(I),E.docChanged&&s.current?.(R,P,I),l.current?.(R,k,E.docChanged);}});x.set(y.rId,{rId:y.rId,kind:y.kind,view:k,mountNode:v});}},[i,b,o,r,n]),useEffect(()=>{let p=h.current,g=f.current;return ()=>{for(let{view:x,mountNode:y}of p.values())x.destroy(),y.remove();p.clear();for(let x of g.values())x.destroy();g.clear();}},[]),useImperativeHandle(d,()=>({getView(p){return h.current.get(p)?.view??null}}),[]),jsx("div",{ref:a,style:{position:"fixed",left:-9999,top:0,opacity:0,zIndex:-1,pointerEvents:"none"}})}));lr.displayName="HiddenHeaderFooterPMs";var ff="var(--doc-caret, #000)",gf="rgba(66, 133, 244, 0.3)",bf=2,hf=530,yf={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},vf=(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"}),Cf=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),Sf=({position:e,color:t,width:o,blinkInterval:r,isFocused:n})=>{let[u,d]=useState(n),l=useRef(null);return useEffect(()=>(l.current&&(window.clearInterval(l.current),l.current=null),n&&r>0?(d(true),l.current=window.setInterval(()=>{d(m=>!m);},r)):d(false),()=>{l.current&&window.clearInterval(l.current);}),[n,r]),useEffect(()=>{if(n)return d(true),l.current&&window.clearInterval(l.current),r>0&&(l.current=window.setInterval(()=>{d(m=>!m);},r)),()=>{l.current&&window.clearInterval(l.current);}},[e.x,e.y,n,r]),jsx("div",{style:vf(e,t,o,u),"data-testid":"caret"})},xf=({rect:e,color:t,index:o})=>jsx("div",{style:Cf(e,t),"data-testid":`selection-rect-${o}`,"data-page-index":e.pageIndex}),Ra=({selectionRects:e,caretPosition:t,isFocused:o,readOnly:r=false,caretColor:n=ff,selectionColor:u=gf,caretWidth:d=bf,blinkInterval:l=hf})=>{if(r)return null;let m=e.length>0,s=t!==null&&!m;return jsxs("div",{style:yf,"data-testid":"selection-overlay",children:[m&&e.map((a,h)=>jsx(xf,{rect:a,color:u,index:h},`sel-${a.pageIndex}-${a.x}-${a.y}-${h}`)),s&&t&&jsx(Sf,{position:t,color:n,width:d,blinkInterval:l,isFocused:o})]})};var dr=10,Ta=dr/2,Co=2,Ia="#2563eb",wa={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},Tf={position:"absolute",border:`${Co}px solid ${Ia}`,pointerEvents:"none",boxSizing:"border-box"},wf={position:"absolute",width:`${dr}px`,height:`${dr}px`,backgroundColor:"#ffffff",border:`1.5px solid ${Ia}`,borderRadius:"50%",boxShadow:"0 1px 2.5px rgba(0, 0, 0, 0.35)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},Ef={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.75)",color:"var(--doc-on-primary)",fontSize:"11px",fontFamily:"system-ui, sans-serif",padding:"2px 8px",borderRadius:"3px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:20,transform:"translateX(-50%)"},If={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},kf=[{pos:"nw",x:0,y:0},{pos:"ne",x:1,y:0},{pos:"se",x:1,y:1},{pos:"sw",x:0,y:1},{pos:"n",x:.5,y:0},{pos:"s",x:.5,y:1},{pos:"e",x:1,y:.5},{pos:"w",x:0,y:.5}];function ka({imageInfo:e,zoom:t,isFocused:o,onResize:r,onResizeStart:n,onResizeEnd:u,onDragMove:d,onDragStart:l,onDragEnd:m,onContextMenu:s}){let[a,h]=useState(false),[f,b]=useState(false),[i,p]=useState(0),[g,x]=useState(0),[y,c]=useState(null),S=useRef(null),v=useRef(null),C=useRef(r),R=useRef(n),P=useRef(u),k=useRef(d),E=useRef(l),I=useRef(m);C.current=r,R.current=n,P.current=u,k.current=d,E.current=l,I.current=m;let w=useRef(e),D=useRef(t);w.current=e,D.current=t;let H=useCallback(()=>{if(!e||!v.current){c(null);return}let te=v.current.offsetParent;if(!te){c(null);return}let ne=te.getBoundingClientRect(),me=e.element.getBoundingClientRect();c({left:(me.left-ne.left)/t,top:(me.top-ne.top)/t,width:me.width/t,height:me.height/t});},[e,t]);useEffect(()=>{H();},[H]),useEffect(()=>{if(!e)return;let te=v.current?.closest('[style*="overflow"]')??v.current?.closest(".paged-editor__container");if(!te)return;let ne=()=>{S.current&&cancelAnimationFrame(S.current),S.current=requestAnimationFrame(H);};return te.addEventListener("scroll",ne,{passive:true}),window.addEventListener("resize",ne,{passive:true}),()=>{te.removeEventListener("scroll",ne),window.removeEventListener("resize",ne),S.current&&cancelAnimationFrame(S.current);}},[e,H]);let O=useCallback((te,ne)=>{if(!e||!y)return;ne.preventDefault(),ne.stopPropagation();let me=y.width,ke=y.height,Ce=ne.clientX,M=ne.clientY,F=Math.round(me),N=Math.round(ke);h(true),p(F),x(N),R.current?.();let A=V=>{let se=D.current,ee=(V.clientX-Ce)/se,$=(V.clientY-M)/se,de=!V.shiftKey,re=calculateResizedImageDimensions(te,ee,$,me,ke,de);F=Math.round(re.width),N=Math.round(re.height),p(F),x(N),c(X=>{if(!X)return X;let oe={...X};return te.includes("w")&&(oe.left=X.left+(X.width-re.width)),te.includes("n")&&(oe.top=X.top+(X.height-re.height)),oe.width=re.width,oe.height=re.height,oe});},z=()=>{window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",z),h(false);let V=w.current;V&&C.current?.(V.pmPos,F,N),P.current?.();};window.addEventListener("mousemove",A),window.addEventListener("mouseup",z);},[e,y]),B=useCallback(te=>{if(!e||!y)return;te.preventDefault(),te.stopPropagation();let ne=4,me=te.clientX,ke=te.clientY,Ce=false,M=null,F=A=>{let z=A.clientX-me,V=A.clientY-ke;!Ce&&Math.sqrt(z*z+V*V)<ne||(Ce||(Ce=true,b(true),E.current?.(),M=document.createElement("div"),M.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);",M.style.width=`${y.width}px`,M.style.height=`${y.height}px`,document.body.appendChild(M)),M&&(M.style.left=`${A.clientX-y.width/2}px`,M.style.top=`${A.clientY-y.height/2}px`));},N=A=>{if(window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",N),M&&(M.remove(),M=null),b(false),Ce){let z=w.current;z&&k.current?.(z.pmPos,A.clientX,A.clientY),I.current?.();}};window.addEventListener("mousemove",F),window.addEventListener("mouseup",N);},[e,y]);if(!!!(e&&y&&o))return jsx("div",{ref:v,style:{...wa,visibility:"hidden"},className:"image-selection-overlay"});let{left:W,top:Z,width:Y,height:J}=y;return jsxs("div",{ref:v,style:wa,className:"image-selection-overlay",children:[jsx("div",{style:{...Tf,left:W-Co,top:Z-Co,width:Y+Co*2,height:J+Co*2}}),jsx("div",{style:{position:"absolute",left:W,top:Z,width:Y,height:J,cursor:f?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:B,onContextMenu:s}),kf.map(({pos:te,x:ne,y:me})=>jsx(Mf,{handle:te,style:{left:W+Y*ne-Ta,top:Z+J*me-Ta},onMouseDown:O},te)),a&&jsxs("div",{style:{...Ef,left:W+Y/2,top:Z+J+12},children:[i," \xD7 ",g]})]})}function Mf({handle:e,style:t,onMouseDown:o}){return jsx("div",{style:{...wf,...t,cursor:If[e]},onMouseDown:r=>o(e,r),"data-handle":e})}var Hf={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function Ha({getView:e,getPagesContainer:t,zoom:o,decorationSyncToken:r,syncCoordinator:n}){let u=useRef(null),d=useRef(null),[l,m]=useState(0);return useEffect(()=>n.onRender(()=>m(s=>s+1)),[n]),useEffect(()=>(d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null;let s=e(),a=t(),h=u.current;!s||!a||!h||n.isSafeToRender()&&Ff(s,a,h,o);}),()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null);}),[o,r,l]),jsx("div",{ref:u,className:"paged-editor__decoration-overlay",style:Hf,"aria-hidden":"true"})}function Ff(e,t,o,r){let n=Lf(e.state);if(n.length===0){o.firstChild&&o.replaceChildren();return}let u=b$3(t,r),d=u.getContainerOffset(),l=document.createDocumentFragment();for(let{decoration:m,from:s,to:a}of n){if(s===a){let b=Af(m,e);if(!b)continue;let i=u.getCoordinatesForPosition(s);if(!i)continue;let p=document.createElement("div");p.style.cssText=`position:absolute;left:${i.x+d.x}px;top:${i.y+d.y}px;height:${i.height}px;`,p.appendChild(b),l.appendChild(p);continue}let h=Of(m);if(!h)continue;let f=u.getRectsForRange(s,a);for(let b of f){let i=document.createElement("div");for(let[g,x]of Object.entries(h))g!=="nodeName"&&i.setAttribute(g,x);let p=`position:absolute;left:${b.x+d.x}px;top:${b.y+d.y}px;width:${b.width}px;height:${b.height}px;`;i.style.cssText=p+(h.style??""),l.appendChild(i);}}o.replaceChildren(l);}function Lf(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 Af(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 Of(e){return e.type?.attrs??null}var Oa=[];var Ba={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg)"},Na={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:24,paddingBottom:24,overflowAnchor:"none"},za={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},_a={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function nn(e,t,o){let r=t.getBoundingClientRect(),n=e.getBoundingClientRect(),u=n.top+n.height/2,d=r.top+r.height/2,l=u-d,m=Math.max(0,t.scrollHeight-t.clientHeight),s=Math.max(0,Math.min(m,t.scrollTop+l));t.scrollTop=s;}function rn(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 Va(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 an(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 Ua(e,t,o,r,n){let u=new Map;if(!e?.state)return u;let{doc:d,schema:l}=e.state,m=l.marks.comment,s=l.marks.insertion,a=l.marks.deletion;if(!m&&!s&&!a)return u;let h=new Set,f=24+n,b=(i,p)=>{if(h.has(i))return;h.add(i);let g=getCaretPosition(t,o,r,p);if(g){u.set(i,g.y+f);return}for(let x=0;x<t.pages.length;x++){let y=t.pages[x];for(let c of y.fragments){let S=c.pmStart??0,v=c.pmEnd??S;if(p<S||p>v)continue;let C=c.kind==="table"?Wf(o,r,c,p):0;u.set(i,c.y+C+getPageTop(t,x)+f);return}}};return d.descendants((i,p)=>{let g=i.attrs;if(g){let x=[g.trIns,g.trDel,g.pPrIns,g.pPrDel];for(let v of x){let C=v?.revisionId;typeof C=="number"&&b(`revision-${C}`,p);}let c=g.cellMarker?.info?.revisionId;typeof c=="number"&&b(`revision-${c}`,p);let S=[g.pPrChange,g.trPrChange,g.tcPrChange,g.tblPrChange];for(let v of S)if(Array.isArray(v))for(let C of v){let R=C?.info?.id;typeof R=="number"&&b(`revision-${R}`,p);}}if(i.isInline)for(let x of i.marks){let y=null;m&&x.type===m?y=`comment-${x.attrs.commentId}`:(s&&x.type===s||a&&x.type===a)&&(y=`revision-${x.attrs.revisionId}`),y&&b(y,p);}}),u}function Wf(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 l=0;for(let m=o.fromRow;m<o.toRow;m++){let s=u.rows[m];if(!s||s.cells.some(h=>h.blocks.some(f=>{let b=f.pmStart??0,i=f.pmEnd??b;return r>=b&&r<=i})))break;l+=d.rows[m]?.height??0;}return l}function Ka(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,Ka);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,l=n.content.map(a=>measureParagraph(a,d)),m=l.reduce((a,h)=>a+h.totalHeight,0),s=n.height??m+u.top+u.bottom;return {kind:"textBox",width:n.width??DEFAULT_TEXTBOX_WIDTH,height:s,innerMeasures:l}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:assertExhaustiveFlowBlock(e,"react PagedEditor measureBlock");}}function ja(e,t,o){return measureBlocksWithFloats(e,t,Ka,o)}function qa(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=Va(e,o),d=0;if(u!=null){let l=findBodyPmAnchor(e,u);if(l){let m=l.getBoundingClientRect(),s=t.getBoundingClientRect();d=m.top-s.top;}else u=null;}return {scrollRestoreRatioPre:n,domAnchorPmStart:u,domAnchorOffsetInScroller:d}}function Xa(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 pr(e,t,o){let{renderKind:r,ratio:n,scrollTopSnapshot:u,domAnchorPmStart:d,domAnchorOffsetInScroller:l}=e;if(r==="incremental"&&u!=null){let s=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=Math.min(Math.max(0,u),s);return}if(r!=="incremental"&&d!=null){let s=findBodyPmAnchor(t,d);if(s){let a=o.getBoundingClientRect(),h=s.getBoundingClientRect().top-a.top;o.scrollTop+=l-h;return}}let m=Math.max(1,o.scrollHeight-o.clientHeight);o.scrollTop=n*m;}function Za(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 os(e){let{document:t,styles:o,theme:r,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:l,firstPageHeaderContent:m,firstPageFooterContent:s,getHfPmDoc:a,pageGap:h,zoom:f,resolvedCommentIds:b,pagesContainerRef:i,viewportLayoutRef:p,hiddenPMRef:g,syncCoordinator:x,getScrollContainer:y,onTotalPagesChange:c,onAnchorPositionsChange:S,onRenderedDomContextReady:v}=e,[C,R]=useState(null),[P,k]=useState([]),[E,I]=useState([]),[w,D]=useState(0),H=useCallback(()=>D($=>$+1),[]),O=useRef(c),B=useRef(S),_=useRef(v),W=useRef(a);O.current=c,B.current=S,_.current=v,W.current=a;let Z=useRef(0);useEffect(()=>{let $=C?.pages.length??0;$!==Z.current&&(Z.current=$,O.current?.($));},[C]);let Y=useMemo(()=>getPageSize(n),[n]),J=useMemo(()=>getMargins(n),[n]),te=useMemo(()=>getColumns(n),[n]),{finalPageSize:ne,finalMargins:me,finalColumns:ke}=useMemo(()=>{let $=u??n;return {finalPageSize:getPageSize($),finalMargins:getMargins($),finalColumns:getColumns($)}},[u,n]),Ce=Y.w-J.left-J.right,M=useMemo(()=>new LayoutPainter({pageGap:h,showShadow:true,pageBackground:"var(--doc-page-bg, #ffffff)"}),[h]),F=useRef(null);F.current=M;let N=useRef(null),A=useRef(0),z=useCallback($=>{let de=performance.now(),re=x.getStateSeq();x.onLayoutStart();let X=oe=>{let le=i.current,Re=le?y()??findVerticalScrollParentOrRoot(le):null,Q=performance.now()-A.current;Za(N.current,Re,Q,oe);};X(true);try{let{blocks:oe,measures:le,layout:Re,headerContentForRender:Q,footerContentForRender:he,firstPageHeaderForRender:Pe,firstPageFooterForRender:Ae,hasTitlePg:Oe,watermark:De,headerDistancePx:He,footerDistancePx:q,pageBorders:ue,footnotesByPage:ce}=computeLayout({state:$,document:t,pageSize:Y,margins:J,columns:te,finalPageSize:ne,finalMargins:me,finalColumns:ke,pageGap:h,contentWidth:Ce,theme:r,styles:o,sectionProperties:n,finalSectionProperties:u,headerContent:d,footerContent:l,firstPageHeaderContent:m,firstPageFooterContent:s,measureBlocks:ja,getHfPmDoc:we=>W.current?.(we)??null});if(k(oe),I(le),R(Re),i.current&&F.current){N.current=null,A.current=0;let we=i.current,Se=y()??findVerticalScrollParentOrRoot(we),et=Se?.isConnected?qa(we,Se,$.selection.head):null,ae=buildBlockLookup(oe,le);F.current.setBlockLookup(ae);let ze=renderPages(Re.pages,i.current,{pageGap:h,showShadow:!0,pageBackground:"var(--doc-page-bg, #ffffff)",blockLookup:ae,headerContent:Q,footerContent:he,firstPageHeaderContent:Pe,firstPageFooterContent:Ae,titlePg:Oe,headerDistance:He,footerDistance:q,pageBorders:ue,theme:r,watermark:De,footnotesByPage:ce,resolvedCommentIds:b}),Te=p.current;if(Te){let _e=an(Re,h);Te.style.minHeight=`${_e}px`,f!==1?Te.style.marginBottom=`${_e*(f-1)}px`:Te.style.marginBottom="";}if(Se?.isConnected&&et){let _e=Xa(ze,Se,et);N.current=_e,_e.renderKind==="incremental"&&_e.scrollTopSnapshot!=null&&(A.current=performance.now());}if(i.current?.dispatchEvent(new CustomEvent("painter:painted",{bubbles:!0})),_.current){let _e=b$3(i.current,f);_.current(_e);}}else N.current=null,A.current=0;if(B.current){let we=Ua(g.current?.getView()??null,Re,oe,le,h);B.current(we);}X(!1);let fe=performance.now()-de;fe>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(fe)}ms total (${oe.length} blocks, ${le.length} measures)`);}catch(oe){console.error("[PagedEditor] Layout pipeline error:",oe);}x.onLayoutComplete(re),X(false);},[Ce,te,Y,J,ne,me,ke,h,f,x,d,l,m,s,n,u,t,b,y,g,i,o,r,p]);useLayoutEffect(()=>{let $=N.current;if(!$)return;N.current=null,A.current=0;let de=i.current,re=y()??(de?findVerticalScrollParentOrRoot(de):null);if(!de||!re?.isConnected)return;pr($,de,re);let X=requestAnimationFrame(()=>{re.isConnected&&pr($,de,re);});return ()=>cancelAnimationFrame(X)},[C,y,i]);let V=useRef(z);V.current=z;let se=useRef(null);se.current||(se.current=createLayoutScheduler($=>V.current($)));let ee=useCallback($=>{se.current.schedule($);},[]);return useEffect(()=>{let $=se.current;return ()=>$?.cancel()},[]),{layout:C,blocks:P,measures:E,decorationSyncToken:w,notifyDecorationLayer:H,contentWidth:Ce,runLayoutPipeline:z,scheduleLayout:ee}}function is(e){let{layout:t,blocks:o,measures:r,zoom:n,containerRef:u,pagesContainerRef:d,hiddenPMRef:l,syncCoordinator:m,isImageInteractingRef:s,onSelectionChangeRef:a}=e,[h,f]=useState([]),[b,i]=useState(null),[p,g]=useState(null),x=useRef(null),y=useCallback((v,C)=>{let R=v.tagName==="IMG"?v:v.querySelector("img"),P=(R??v).getBoundingClientRect();return {element:R??v,pmPos:C,width:Math.round(P.width/n),height:Math.round(P.height/n)}},[n]),c=useCallback(v=>{let{from:C,to:R}=v.selection;x.current!==v&&(x.current=v,a.current?.(C,R));let P=d.current;if(P&&(applyCellSelectionHighlight(P,v),applySdtFocus(P,enclosingSdtGroupIds(v.doc,C,R))),!(!t||o.length===0))if(C===R){let k=P?fa(P,C,n):null;if(k)i(k);else {let E=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),I=d.current?.querySelector(".layout-page");if(E&&I){let w=E.getBoundingClientRect(),D=I.getBoundingClientRect(),H=getCaretPosition(t,o,r,C);i(H?{...H,x:H.x+(D.left-w.left)/n,y:H.y+(D.top-w.top)/n}:null);}else i(null);}f([]);}else {let k=d.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(k&&d.current){let E=k.getBoundingClientRect(),I=ga(d.current,E,C,R,n);if(I.length>0)f(I);else {let w=d.current.querySelector(".layout-page");if(w){let D=w.getBoundingClientRect(),H=(D.left-E.left)/n,O=(D.top-E.top)/n,_=selectionToRects(t,o,r,C,R).map(W=>({...W,x:W.x+H,y:W.y+O}));f(_);}else f([]);}}else f([]);i(null);}},[t,o,r,n,a,d]),S=useCallback(v=>{let{selection:C}=v;C instanceof NodeSelection&&C.node.type.name==="image"?(f([]),i(null)):m.isSafeToRender()&&c(v),requestAnimationFrame(()=>{let R=l.current?.getView();if(!R){g(null);return}let{selection:P}=R.state;if(P instanceof NodeSelection&&P.node.type.name==="image"){let k=P.from,E=d.current?findBodyPmAnchor(d.current,k):null;if(E){g(y(E,k));return}}s.current||g(null);});},[c,y,m,l,s,d]);return useEffect(()=>{let v=u.current;if(!v)return;let C=new ResizeObserver(()=>{let R=l.current?.getState();R&&c(R);});return C.observe(v),()=>C.disconnect()},[c,u,l]),useEffect(()=>{let v=l.current?.getState();t&&v&&c(v);},[t,c,l]),{selectionRects:h,caretPosition:b,selectedImageInfo:p,setSelectionRects:f,setCaretPosition:i,setSelectedImageInfo:g,buildImageSelectionInfo:y,updateSelectionOverlay:c,handleSelectionChange:S}}function ss(e){let{pagesContainerRef:t,hiddenPMRef:o,zoom:r,isImageInteractingRef:n,getPositionFromMouse:u}=e,d=useCallback((f,b,i)=>{let p=o.current?.getView();if(!p)return;let g=commitImageResize(p,f,b,i);g!==null&&o.current?.setNodeSelection(g);},[o]),l=useCallback(()=>{n.current=true;},[n]),m=useCallback(()=>{n.current=false;},[n]),s=useCallback((f,b,i)=>{let p=o.current?.getView();if(!p)return;let g=p.state.doc.nodeAt(f);if(!(!g||g.type.name!=="image"))if(isFloatingImage(g)){let x=t.current?.querySelectorAll(".layout-page");if(!x||x.length===0)return;let y=null;for(let R of x){let P=R.getBoundingClientRect();if(i>=P.top&&i<=P.bottom){y=R.querySelector(".layout-page-content");break}}if(y||(y=x[x.length-1].querySelector(".layout-page-content")),!y)return;let c=y.getBoundingClientRect(),S=pixelsToEmu((b-c.left)/r),v=pixelsToEmu((i-c.top)/r),C=commitImageFloatMove(p,f,S,v);C!==null&&o.current?.setNodeSelection(C);}else {let x=u(b,i);if(x===null)return;let y=commitImageInlineMove(p,f,x);y!==null&&o.current?.setNodeSelection(y);}},[u,r,o,t]),a=useCallback(()=>{n.current=true;},[n]),h=useCallback(()=>{n.current=false;},[n]);return {handleImageResize:d,handleImageResizeStart:l,handleImageResizeEnd:m,handleImageDragMove:s,handleImageDragStart:a,handleImageDragEnd:h}}function ds(e){let{layout:t,blocks:o,measures:r,pagesContainerRef:n,hiddenPMRef:u,getScrollContainer:d}=e,l=useRef(null);useEffect(()=>()=>{l.current?.abort(),l.current=null;},[]);let m=useCallback((h,f=false)=>{if(!Number.isInteger(h)||h<0)return;let b=n.current;if(!b)return;l.current?.abort();let i=new AbortController;l.current=i;let{signal:p}=i,g=()=>{let E=findBodyPmAnchor(b,h);if(E)return E;for(let I of findBodyPmSpans(b)){let w=Number(I.dataset.pmStart),D=Number(I.dataset.pmEnd);if(Number.isFinite(w)&&Number.isFinite(D)&&h>=w&&h<=D)return I}return null};if(!f){let E={block:"center",inline:"nearest",behavior:"smooth"},I=g();if(I){I.scrollIntoView(E);return}let w=t,D=o,H=r;if(!w||D.length===0||H.length!==D.length)return;let O=null,B=getCaretPosition(w,D,H,h);if(B?O=B.pageIndex:O=findPageIndexContainingPmPos(w,h),O==null)return;let W=b.querySelectorAll(".layout-page")[O];if(!W)return;W.scrollIntoView(E),rn(()=>{if(!b.isConnected)return;let Z=g();Z&&Z.scrollIntoView(E);},p);return}let x=d()??findVerticalScrollParentOrRoot(b),y=()=>{let E=g();return E?(nn(E,x),true):false};if(y())return;let c=t,S=o,v=r;if(!c||S.length===0||v.length!==S.length)return;let C=null,R=getCaretPosition(c,S,v,h);if(R?C=R.pageIndex:C=findPageIndexContainingPmPos(c,h),C==null)return;let k=b.querySelectorAll(".layout-page")[C];k&&(nn(k,x),rn(()=>{if(!b.isConnected)return;let E=g();E?nn(E,x):y();},p));},[t,o,r,d,n]),s=useCallback(h=>{if(!Number.isInteger(h)||h<1||!t||h>t.pages.length)return;let f=t.pages[h-1];for(let i of f.fragments)if(typeof i.pmStart=="number"){m(i.pmStart,true);return}n.current?.querySelectorAll(".layout-page")[h-1]?.scrollIntoView({block:"center",inline:"nearest"});},[t,m,n]),a=useCallback(h=>{let f=u.current?.getState();if(!f)return false;let b=findStartPosForParaId(f.doc,h);if(b==null||b<0)return false;m(b,true);let i=l.current?.signal;if(!i)return true;let p=f.doc.nodeAt(b),g=p?.isTextblock===true?Math.min(b+1+p.content.size,f.doc.content.size):Math.min(b+1,f.doc.content.size);return rn(()=>{u.current&&(u.current.setSelection(g),u.current.focus());},i),true},[m,u]);return {scrollToPositionImpl:m,scrollToPageImpl:s,scrollToParaIdImpl:a}}function ys(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),l=useRef(0),m=useRef(0),s=useRef({left:0,right:0}),a=useRef(null),h=useRef(false),f=useRef(0),b=useRef(0),i=useRef(0),p=useRef(0),g=useRef(null),x=useRef(false),y=useRef(false),c=useRef(0),S=useRef(0),v=useRef(0),C=useRef(0),R=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);l.current=O,m.current=parseInt(w.dataset.tablePmStart??"0",10);let B=readColumnWidths(H,m.current,O);return B&&(s.current=B),true}if(w.classList.contains("layout-table-row-resize-handle")||w.classList.contains("layout-table-edge-handle-bottom")){D.preventDefault(),D.stopPropagation(),h.current=true,f.current=D.clientY,g.current=w,x.current=w.dataset.isEdge==="bottom",r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.rowIndex??"0",10);b.current=O,i.current=parseInt(w.dataset.tablePmStart??"0",10);let B=readRowHeight(H,i.current,O);if(B!=null)p.current=B;else {let W=w.closest(".layout-table")?.querySelector(`[data-row-index="${O}"]`),Z=W?W.getBoundingClientRect().height:30;p.current=Math.round(Z*TWIPS_PER_PIXEL);}return true}if(w.classList.contains("layout-table-edge-handle-right")){D.preventDefault(),D.stopPropagation(),y.current=true,c.current=D.clientX,R.current=w,r.current=H,w.classList.add("dragging");let O=parseInt(w.dataset.columnIndex??"0",10);S.current=O,v.current=parseInt(w.dataset.tablePmStart??"0",10);let B=readColumnWidthAt(H,v.current,O);return B!=null&&(C.current=B),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),B=s.current.left+O,_=s.current.right-O;B>=MIN_CELL_WIDTH_TWIPS&&_>=MIN_CELL_WIDTH_TWIPS&&(s.current={left:B,right:_});}return true}if(h.current){w.preventDefault();let D=w.clientY-f.current;if(g.current){let H=parseFloat(g.current.style.top);g.current.style.top=`${H+D}px`,f.current=w.clientY;let O=Math.round(D*TWIPS_PER_PIXEL),B=p.current+O;B>=MIN_ROW_HEIGHT_TWIPS&&(p.current=B);}return true}if(y.current){w.preventDefault();let D=w.clientX-c.current;if(R.current){let H=parseFloat(R.current.style.left);R.current.style.left=`${H+D}px`,c.current=w.clientX;let O=Math.round(D*TWIPS_PER_PIXEL),B=C.current+O;B>=MIN_CELL_WIDTH_TWIPS&&(C.current=B);}return true}return false},[]),E=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}=s.current;commitColumnResize(w,{pmStart:m.current,colIdx:l.current,newLeft:D,newRight:H});}return r.current=null,true}return h.current?(h.current=false,g.current&&(g.current.classList.remove("dragging"),g.current=null),w&&commitRowResize(w,{pmStart:i.current,rowIdx:b.current,newHeight:p.current}),r.current=null,true):y.current?(y.current=false,R.current&&(R.current.classList.remove("dragging"),R.current=null),w&&commitRightEdgeResize(w,{pmStart:v.current,colIdx:S.current,newWidth:C.current}),r.current=null,true):false},[]),I=useCallback(()=>u.current||h.current||y.current,[]);return {tryStartFromMouseDown:P,handleMouseMoveUpdate:k,tryCommit:E,isAnyResizeActive:I}}function Mg(e){return {getView:()=>e,setSelection(t,o){let r=o??t;try{let n=e.state.doc.resolve(t),u=e.state.doc.resolve(r);e.dispatch(e.state.tr.setSelection(TextSelection.between(n,u)));}catch{e.dispatch(e.state.tr.setSelection(TextSelection.create(e.state.doc,0)));}},setNodeSelection(t){try{e.dispatch(e.state.tr.setSelection(NodeSelection.create(e.state.doc,t)));}catch{}},setCellSelection(t,o){try{let r=e.state.doc.resolve(t),n=e.state.doc.resolve(o);e.dispatch(e.state.tr.setSelection(new CellSelection(r,n)));}catch{}},focus(){e.focus();}}}function Rs(e){let{pagesContainerRef:t,hiddenPMRef:o,getHfView:r,layout:n,blocks:u,measures:d,zoom:l,readOnly:m,hfEditMode:s,onBodyClick:a,onContextMenu:h,onHyperlinkClick:f,onHeaderFooterDoubleClick:b,setSelectedImageInfo:i,setSelectionRects:p,setCaretPosition:g,buildImageSelectionInfo:x,setIsFocused:y,scrollToPositionImpl:c}=e,S=useRef(false),v=useRef(null),C=ys({hiddenPMRef:o,getActiveHfView:r}),R=useRef(createCellDragTracker()),[P,k]=useState(null),E=useRef(null),I=useCallback(()=>{E.current&&(clearTimeout(E.current),E.current=null);},[]);useEffect(()=>()=>{E.current&&clearTimeout(E.current);},[]);let w=useRef(()=>{}),D=useCallback((M,F)=>{w.current(M,F);},[]),{updateMousePosition:H,stopAutoScroll:O}=b$4({pagesContainerRef:t,onScrollExtendSelection:D}),B=useCallback((M,F)=>{if(!t.current||!n)return null;let N=clickToPositionDom(t.current,M,F,l);if(N!==null)return N;if(s){let oe=window.document.elementsFromPoint(M,F).find(he=>he.closest(".layout-page-header")||he.closest(".layout-page-footer"));if(!oe)return null;let le=oe.closest(".layout-page-header")??oe.closest(".layout-page-footer");if(!le)return null;let Re=Array.from(le.querySelectorAll("span[data-pm-start][data-pm-end]")),Q=null;for(let he of Re){let Pe=he.getBoundingClientRect();if(F<Pe.top-4||F>Pe.bottom+4)continue;let Ae=Number(he.dataset.pmStart),Oe=Number(he.dataset.pmEnd);if(!Number.isFinite(Ae)||!Number.isFinite(Oe))continue;let De,He;if(M<Pe.left)De=Ae,He=Pe.left-M;else if(M>Pe.right)De=Oe,He=M-Pe.right;else {let q=(M-Pe.left)/Math.max(1,Pe.width);De=Ae+Math.round(q*(Oe-Ae)),He=0;}(!Q||He<Q.dist)&&(Q={pos:De,dist:He});}return Q?.pos??null}let A=t.current.querySelectorAll(".layout-page"),z=-1,V=null;for(let X=0;X<A.length;X++){let le=A[X].getBoundingClientRect();if(M>=le.left&&M<=le.right&&F>=le.top&&F<=le.bottom){z=X,V=le;break}}if(z<0||!V)return null;let se=(M-V.left)/l,ee=(F-V.top)/l,$=n.pages[z];if(!$)return null;let de={pageIndex:z,page:$,pageY:ee},re=hitTestFragment(de,u,d,{x:se,y:ee});if(!re)return null;if(re.fragment.kind==="table"){let X=hitTestTableCell(de,u,d,{x:se,y:ee});return clickToPosition(re,X)}return clickToPosition(re)},[n,u,d,l,s,t]),_=useCallback(()=>{if(s&&r){let M=r();if(M)return Mg(M)}return o.current},[s,r,o]),W=useCallback(M=>{let F=_()?.getView();return F?findCellPosFromPmPos(F,M):null},[_]),Z=useCallback(M=>{let F=_();if(!F)return;if(M.button===2){M.preventDefault();return}if(M.button!==0||(k(null),I(),M.target.closest("a[href]")&&M.preventDefault(),m))return;let A=M.target;if(s){if(!(A.closest(".layout-page-header")||A.closest(".layout-page-footer")||A.closest(".hf-inline-editor"))&&a){M.preventDefault(),M.stopPropagation(),a();return}}else if((A.closest(".layout-page-header")||A.closest(".layout-page-footer"))&&M.detail!==2){M.preventDefault();return}if(C.tryStartFromMouseDown(A,M))return;let z=findImageElement(A);if(z){M.preventDefault(),M.stopPropagation();let se=z.dataset.pmStart;if(se!==void 0){let ee=parseInt(se,10);F.setNodeSelection(ee),i(x(z,ee)),p([]),g(null);}F.focus(),s||y(true);return}i(null),M.preventDefault();let V=B(M.clientX,M.clientY);if(V!==null)R.current.begin(W(V)),S.current=true,v.current=V,F.setSelection(V);else {R.current.begin(null);let se=F.getView();if(se){let ee=Math.max(0,se.state.doc.content.size-1);F.setSelection(ee),v.current=ee,S.current=true;}}F.focus(),s||y(true);},[_,m,s,a,B,W,C,I,i,p,g,x,y]);w.current=(M,F)=>{if(!S.current||v.current===null)return;let N=_();if(!N)return;let A=B(M,F);A!==null&&N.setSelection(v.current,A);};let Y=useCallback(M=>{if(C.handleMouseMoveUpdate(M)||!S.current||v.current===null)return;let F=_();if(!F||!t.current)return;H(M.clientX,M.clientY);let N=B(M.clientX,M.clientY);if(N===null)return;let A=F.getView();if(A&&R.current.update(A,N,M.clientX))return;let z=v.current;F.setSelection(z,N);},[_,B,W,H,C,t]),J=useCallback(()=>{C.tryCommit()||(S.current=false,R.current.end(),O());},[O,C]);useEffect(()=>(window.addEventListener("mousemove",Y),window.addEventListener("mouseup",J),()=>{window.removeEventListener("mousemove",Y),window.removeEventListener("mouseup",J);}),[Y,J]);let te=useCallback(M=>{if(m||S.current||R.current.isCellDragging||C.isAnyResizeActive())return;let F=t.current;if(!F)return;let N=detectTableInsertHover({mouseX:M.clientX,mouseY:M.clientY,pagesContainer:F,target:M.target,hfEditMode:s??null});if(!N){E.current||(E.current=setTimeout(()=>{k(null),E.current=null;},TABLE_INSERT_HIDE_DELAY_MS));return}let A=F.parentElement;if(!A)return;let z=A.getBoundingClientRect();k({type:N.type,x:N.clientX-z.left,y:N.clientY-z.top,cellPmPos:N.cellPmPos}),I();},[m,I,s,t]),ne=useCallback(M=>{if(M.preventDefault(),M.stopPropagation(),!P)return;let F=_(),N=F?.getView();if(!F||!N)return;let{type:A,cellPmPos:z}=P,V=N.state.tr.setSelection(TextSelection.create(N.state.doc,z+1));N.dispatch(V),A==="row"?addRowBelow(N.state,N.dispatch):addColumnRight(N.state,N.dispatch),k(null),F.focus();},[P,_]),me=useCallback(M=>{let F=_(),N=M.target.closest("a[href]");if(N&&F){M.preventDefault();let z=N.getAttribute("href")||"",V=F.getView();if(z.startsWith("#")){let se=z.substring(1);if(se&&V){let ee=null;V.state.doc.descendants(($,de)=>{if(ee!==null)return false;if($.type.name==="paragraph"&&$.attrs.bookmarks?.some(X=>X.name===se))return ee=de,false}),ee!==null&&(c(ee),F.setSelection(ee+1));}}else if(f&&!(V&&V.state.selection.from!==V.state.selection.to)){let ee=N.textContent||"",$=N.getAttribute("title")||void 0,de=N.closest(".ep-root.paged-editor");if(de){let re=de.getBoundingClientRect(),X=N.getBoundingClientRect(),oe={top:X.bottom-re.top+4,left:X.left-re.left};f({href:z,displayText:ee,tooltip:$,position:oe});}}return}if(M.detail===2&&!s&&b){let z=M.target,V=z.closest(".layout-page-header"),se=z.closest(".layout-page-footer");if(V||se){let ee=z.closest("[data-page-number]"),$=ee?Number(ee.dataset.pageNumber):1;M.preventDefault(),M.stopPropagation(),b(V?"header":"footer",$);return}}if(!F)return;let A=F.getView();if(A){if(M.detail===2){let z=B(M.clientX,M.clientY);if(z!==null){let V=W(z);if(V!==null){M.preventDefault(),M.stopPropagation(),F.setCellSelection(V,V);return}let{doc:se}=A.state,ee=se.resolve(z),$=ee.parent;if($.isTextblock){let de=$.textContent,re=ee.parentOffset,[X,oe]=findWordBoundaries(de,re),le=ee.start()+X,Re=ee.start()+oe;le<Re&&F.setSelection(le,Re);}}}if(M.detail===3){let z=B(M.clientX,M.clientY);if(z!==null){let V=A.state.doc.resolve(z);F.setSelection(V.start(V.depth),V.end(V.depth));}}}},[_,s,B,b,f,W,c]),ke=useCallback(M=>{if(!h)return;M.preventDefault();let F=_(),N=F?.getView();if(!F||!N)return;let A=re=>{let X=N.state.doc.nodeAt(re);if(!X||X.type.name!=="image")return null;let oe=X.attrs.wrapType??"inline",le=X.attrs.cssFloat;return {pos:re,wrapType:oe,cssFloat:le}},z=null,V=hitTestImage(M.target);if(V&&(z=A(V.pos),z&&(z.inlinePositionEmu=captureInlinePositionEmu(V.imageEl,l))),!z){let re=N.state.selection;if(re instanceof NodeSelection&&re.node.type.name==="image"&&(z=A(re.from),z)){let X=t.current?.querySelector(`.layout-run-image[data-pm-start="${re.from}"]`);X&&(z.inlinePositionEmu=captureInlinePositionEmu(X,l));}}let{from:se,to:ee}=N.state.selection,$=B(M.clientX,M.clientY);$!==null&&(se===ee||$<se||$>ee)&&(F.setSelection($),F.focus(),s||y(true));let de=N.state.selection.from!==N.state.selection.to;h({x:M.clientX,y:M.clientY,hasSelection:de,image:z});},[_,s,h,B,l,t,y]),Ce=useCallback(()=>k(null),[]);return {handlePagesMouseDown:Z,handlePagesMouseMove:te,handlePagesClick:me,handlePagesContextMenu:ke,handleTableInsertClick:ne,tableInsertButton:P,clearTableInsertTimer:I,hideTableInsertButton:Ce,getPositionFromMouse:B}}function Og(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 Ps(e){let{hiddenPMRef:t,hiddenHfPMsRef:o,documentRef:r,layout:n,runLayoutPipeline:u,scrollToPositionImpl:d,scrollToParaIdImpl:l,scrollToPageImpl:m,setIsFocused:s}=e;return {getDocument:()=>t.current?.getDocument()??null,getState:()=>t.current?.getState()??null,getView:()=>t.current?.getView()??null,focus:()=>{t.current?.focus(),s(true);},blur:()=>{t.current?.blur(),s(false);},isFocused:()=>t.current?.isFocused()??false,dispatch:a=>t.current?.dispatch(a),undo:()=>t.current?.undo()??false,redo:()=>t.current?.redo()??false,setSelection:(a,h)=>t.current?.setSelection(a,h),getLayout:()=>n,relayout:()=>{let a=t.current?.getState();a&&u(a);},scrollToPosition:d,scrollToParaId:l,scrollToPage:m,highlightRange:(a,h)=>{let f=t.current?.getView()??null;if(!f)return;let b=clampRangeToDoc(f.state.doc,a,h);b&&(t.current?.setSelection(b.from,b.to),d(b.from,true));},scrollToCommentId:a=>{let h=t.current?.getView()??null,f=findCommentRange(h,a);return f?(t.current?.setSelection(f.from,f.to),d(f.from,true),true):false},scrollToChangeId:a=>{let h=t.current?.getView()??null,f=findChangeRange(h,a);return f?(t.current?.setSelection(f.from,f.to),d(f.from,true),true):false},getHfPmView:a=>{let h=Og(r.current,a);return h?o.current?.getView(h)??null:null}}}function Ts(e){let{ref:t,hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:l,scrollToParaIdImpl:m,scrollToPageImpl:s,setIsFocused:a,onReadyRef:h}=e;useImperativeHandle(t,()=>Ps({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:l,scrollToParaIdImpl:m,scrollToPageImpl:s,setIsFocused:a}),[u,d,l,m,s]),useEffect(()=>{h.current&&o.current&&h.current(Ps({hiddenPMRef:o,hiddenHfPMsRef:r,documentRef:n,layout:u,runLayoutPipeline:d,scrollToPositionImpl:l,scrollToParaIdImpl:m,scrollToPageImpl:s,setIsFocused:a}));},[u,d,m,s]);}function Es(e){let{hiddenPMRef:t,runLayoutPipeline:o,updateSelectionOverlay:r,headerContent:n,footerContent:u,firstPageHeaderContent:d,firstPageFooterContent:l}=e;useEffect(()=>{let s=()=>{let a=t.current?.getView();a&&(resetCanvasContext(),clearAllCaches(),o(a.state),r(a.state));};return window.document.fonts.addEventListener("loadingdone",s),()=>{window.document.fonts.removeEventListener("loadingdone",s);}},[]);let m=useRef(0);useEffect(()=>{if(m.current===0){m.current=1;return}let s=t.current?.getView();s&&o(s.state);},[n,u,d,l,o,t]);}function Is({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 var(--doc-border-light)",backgroundColor:"var(--doc-bg)",color:"var(--doc-text-muted)",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 Hs={position:"absolute",zIndex:1e4,background:"var(--doc-surface)",borderRadius:"8px",boxShadow:"0 1px 3px var(--doc-shadow), 0 4px 12px var(--doc-shadow-subtle)",border:"1px solid var(--doc-border-light)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px"},Wg={...Hs,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},Vg={...Hs,padding:"12px",width:"320px"},Sr={width:"20px",height:"20px",flexShrink:0,color:"var(--doc-text-muted)",display:"flex",alignItems:"center",justifyContent:"center"},Ug={color:"var(--doc-link)",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},$g={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"var(--doc-text-muted)",padding:0,flexShrink:0},Gg={width:"1px",height:"20px",background:"var(--doc-border-light)",flexShrink:0},Ms={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},Ds={flex:1,padding:"6px 8px",border:"1px solid var(--doc-border-light)",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},Kg={color:"var(--doc-primary)",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},Qt={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function jg(){return jsxs("svg",{...Qt,children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M2 12h20"}),jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}function Yg(){return jsxs("svg",{...Qt,children:[jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function qg(){return jsx("svg",{...Qt,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Xg(){return jsxs("svg",{...Qt,children:[jsx("path",{d:"M18.84 12.25l1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"}),jsx("path",{d:"M5.17 11.75l-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"}),jsx("line",{x1:"8",y1:"2",x2:"8",y2:"5"}),jsx("line",{x1:"2",y1:"8",x2:"5",y2:"8"}),jsx("line",{x1:"16",y1:"19",x2:"16",y2:"22"}),jsx("line",{x1:"19",y1:"16",x2:"22",y2:"16"})]})}function Zg(){return jsxs("svg",{...Qt,children:[jsx("line",{x1:"4",y1:"9",x2:"20",y2:"9"}),jsx("line",{x1:"4",y1:"15",x2:"20",y2:"15"}),jsx("line",{x1:"10",y1:"3",x2:"8",y2:"21"}),jsx("line",{x1:"16",y1:"3",x2:"14",y2:"21"})]})}function Qg(){return jsxs("svg",{...Qt,children:[jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function xr({title:e,onClick:t,children:o}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:$g,title:e,onClick:t,children:o})}function Fs({data:e,onNavigate:t,onCopy:o,onEdit:r,onRemove:n,onClose:u,readOnly:d}){let{t:l}=b(),[m,s]=useState("view"),[a,h]=useState(""),[f,b$1]=useState(""),i=useRef(null),p=useRef(null);useEffect(()=>{e&&(s("view"),h(e.displayText),b$1(e.href));},[e]),useEffect(()=>{m==="edit"&&requestAnimationFrame(()=>{p.current?.focus(),p.current?.select();});},[m]),useEffect(()=>{if(!e)return;let C=false,R=k=>{i.current&&!i.current.contains(k.target)&&u();},P=setTimeout(()=>{C||document.addEventListener("mousedown",R);},0);return ()=>{C=true,clearTimeout(P),document.removeEventListener("mousedown",R);}},[e,u]),useEffect(()=>{if(!e)return;let C=R=>{R.key==="Escape"&&(m==="edit"?s("view"):u());};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[e,m,u]);let g=useCallback(()=>{e&&(o(e.href),toast("Link copied to clipboard"));},[e,o]),x=useCallback(()=>{e&&(h(e.displayText),b$1(e.href),s("edit"));},[e]),y=useCallback(()=>{let C=f.trim();C&&r(a.trim()||C,C);},[a,f,r]),c=useCallback(C=>{C.key==="Enter"&&(C.preventDefault(),y());},[y]);if(!e)return null;let S=e.position.top,v=e.position.left;return m==="edit"?jsxs("div",{ref:i,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...Vg,top:S,left:v},onMouseDown:C=>C.stopPropagation(),children:[jsxs("div",{style:Ms,children:[jsx("span",{style:Sr,children:jsx(Zg,{})}),jsx("input",{ref:p,type:"text",style:Ds,value:a,onChange:C=>h(C.target.value),onKeyDown:c,placeholder:l("hyperlinkPopup.displayTextPlaceholder"),onFocus:C=>C.target.style.borderColor="var(--doc-primary)",onBlur:C=>C.target.style.borderColor="var(--doc-border-light)"})]}),jsxs("div",{style:{...Ms,marginBottom:0},children:[jsx("span",{style:Sr,children:jsx(Qg,{})}),jsx("input",{type:"text",style:Ds,value:f,onChange:C=>b$1(C.target.value),onKeyDown:c,placeholder:l("hyperlinkPopup.urlPlaceholder"),onFocus:C=>C.target.style.borderColor="var(--doc-primary)",onBlur:C=>C.target.style.borderColor="var(--doc-border-light)"}),jsx("button",{type:"button",style:{...Kg,opacity:f.trim()?1:.5,cursor:f.trim()?"pointer":"default"},onClick:y,disabled:!f.trim(),children:l("common.apply")})]})]}):jsxs("div",{ref:i,className:"ep-hyperlink-popup",style:{...Wg,top:S,left:v},onMouseDown:C=>C.stopPropagation(),children:[jsx("span",{style:Sr,children:jsx(jg,{})}),jsx("a",{href:e.href,style:Ug,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:C=>{C.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:Gg}),jsx(xr,{title:l("hyperlinkPopup.copyLink"),onClick:g,children:jsx(Yg,{})}),!d&&jsxs(Fragment,{children:[jsx(xr,{title:l("hyperlinkPopup.editLink"),onClick:x,children:jsx(qg,{})}),jsx(xr,{title:l("hyperlinkPopup.removeLink"),onClick:n,children:jsx(Xg,{})})]})]})}var sb=forwardRef(function(t,o){let{document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:l,headerContent:m,footerContent:s,firstPageHeaderContent:a$1,firstPageFooterContent:h,readOnly:f=false,pageGap:b=24,zoom:i=1,onDocumentChange:p,onSelectionChange:g,externalPlugins:x=Oa,extensionManager:y,onReady:c,onRenderedDomContextReady:S,pluginOverlays:v,onHeaderFooterDoubleClick:C,hfEditMode:R,onBodyClick:P,onHfTransaction:k,className:E,style:I,commentsSidebarOpen:w=false,sidebarOverlay:D,scrollContainerRef:H,onHyperlinkClick:O,onContextMenu:B,onAnchorPositionsChange:_,onTotalPagesChange:W,resolvedCommentIds:Z,hyperlinkPopupData:Y,onHyperlinkPopupNavigate:J,onHyperlinkPopupCopy:te,onHyperlinkPopupEdit:ne,onHyperlinkPopupRemove:me,onHyperlinkPopupClose:ke}=t,Ce=useCallback(()=>H&&typeof H=="object"?H.current:M.current,[H]),M=useRef(null),F=useRef(null),N=useRef(null),A=useRef(null),z=useRef(null),V=useRef(r);V.current=r;let{handlePMKeyDown:se}=a({pagesContainerRef:F}),ee=useRef(g),$=useRef(p),de=useRef(c),re=useRef(S);ee.current=g,$.current=p,de.current=c,re.current=S;let[X,oe]=useState(false);useEffect(()=>{if(R){let G=A.current?.getView();if(G){try{let ye=G.state.tr.setSelection(TextSelection.create(G.state.doc,0));G.dispatch(ye);}catch{}G.dom.blur?.();}oe(false);}},[R]);let le=useRef(false),Re=useMemo(()=>new LayoutSelectionGate,[]),Q=useCallback(G=>{let ye=z.current;if(!ye)return null;let ge=r?.package;if(!ge)return null;let pe=$t=>{if(!$t)return null;for(let[so,lo]of $t)if(lo===G)return so;return null},tt=pe(ge.headers)??pe(ge.footers);return tt?ye.getView(tt)?.state.doc??null:null},[r]),{layout:he,blocks:Pe,measures:Ae,decorationSyncToken:Oe,notifyDecorationLayer:De,contentWidth:He,runLayoutPipeline:q,scheduleLayout:ue}=os({document:r,styles:n,theme:u,sectionProperties:d,finalSectionProperties:l,headerContent:m,footerContent:s,firstPageHeaderContent:a$1,firstPageFooterContent:h,getHfPmDoc:Q,pageGap:b,zoom:i,resolvedCommentIds:Z,pagesContainerRef:F,viewportLayoutRef:N,hiddenPMRef:A,syncCoordinator:Re,getScrollContainer:Ce,onTotalPagesChange:W,onAnchorPositionsChange:_,onRenderedDomContextReady:S}),{selectionRects:ce,caretPosition:fe,selectedImageInfo:we,setSelectionRects:Se,setCaretPosition:et,setSelectedImageInfo:ae,buildImageSelectionInfo:ze,updateSelectionOverlay:Te,handleSelectionChange:_e}=is({layout:he,blocks:Pe,measures:Ae,zoom:i,containerRef:M,pagesContainerRef:F,hiddenPMRef:A,syncCoordinator:Re,isImageInteractingRef:le,onSelectionChangeRef:ee}),Pt=useCallback((G,ye)=>{if(De(),G.docChanged){Re.incrementStateSeq(),ue(ye);let ge=A.current?.getDocument();ge&&$.current?.(ge);}Re.requestRender(),G.docChanged||Te(ye);},[ue,Te,Re,De]),{scrollToPositionImpl:Fo,scrollToPageImpl:Wt,scrollToParaIdImpl:Tt}=ds({layout:he,blocks:Pe,measures:Ae,pagesContainerRef:F,hiddenPMRef:A,getScrollContainer:Ce}),{handlePagesMouseDown:kn,handlePagesMouseMove:wt,handlePagesClick:Mn,handlePagesContextMenu:ht,handleTableInsertClick:Vt,tableInsertButton:Et,clearTableInsertTimer:ro,hideTableInsertButton:io,getPositionFromMouse:It}=Rs({pagesContainerRef:F,hiddenPMRef:A,getHfView:useCallback(()=>{let G=z.current;if(!G)return null;let ye=r?.package?.document?.finalSectionProperties,ge=R==="header"?ye?.headerReferences:ye?.footerReferences,pe=ge?.find(tt=>tt.type==="default")??ge?.find(tt=>tt.type==="first")??null;return pe?.rId?G.getView(pe.rId):null},[R,r]),layout:he,blocks:Pe,measures:Ae,zoom:i,readOnly:f,hfEditMode:R,onBodyClick:P,onContextMenu:B,onHyperlinkClick:O,onHeaderFooterDoubleClick:C,setSelectedImageInfo:ae,setSelectionRects:Se,setCaretPosition:et,buildImageSelectionInfo:ze,setIsFocused:oe,scrollToPositionImpl:Fo}),Dn=useCallback(G=>{if(f)return;let ye=G.target;ye.closest(".docx-comments-sidebar")||ye.closest(".docx-unified-sidebar")||ye.closest(".ep-hyperlink-popup")||ye.closest("[data-hf-r-id]")||(A.current?.focus(),oe(true));},[f]),Hn=useCallback(G=>{let ye=G.relatedTarget;ye&&M.current?.contains(ye)||ye?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||oe(false);},[]),{handleImageResize:Lo,handleImageResizeStart:Fn,handleImageResizeEnd:Ln,handleImageDragMove:kt,handleImageDragStart:An,handleImageDragEnd:Ye}=ss({pagesContainerRef:F,hiddenPMRef:A,zoom:i,isImageInteractingRef:le,getPositionFromMouse:It}),On=useCallback(G=>{if(f)return;let ye=G.target;if(!ye?.closest("[data-hf-r-id]")&&!ye?.closest(".ep-hyperlink-popup")){if(A.current?.isFocused()||(A.current?.focus(),oe(true)),G.key===" "&&!G.ctrlKey&&!G.metaKey&&!G.nativeEvent.isComposing){G.preventDefault();let ge=A.current?.getView();if(ge){let{from:pe,to:tt}=ge.state.selection;ge.someProp("handleTextInput",so=>so(ge,pe,tt," "))||ge.dispatch(ge.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(G.key)&&!G.metaKey&&G.ctrlKey,G.key==="Home"&&(G.metaKey||G.ctrlKey)){let ge=Ce();ge&&(ge.scrollTop=0);}if(G.key==="End"&&(G.metaKey||G.ctrlKey)){let ge=Ce();ge&&(ge.scrollTop=ge.scrollHeight);}}},[f,Ce]),Bn=useCallback(G=>{f||G.target.closest(".docx-comments-sidebar")||G.target.closest(".docx-unified-sidebar")||A.current?.isFocused()||(A.current?.focus(),oe(true));},[f]),ao=useCallback(G=>{q(G.state),Te(G.state),f||requestAnimationFrame(()=>{G.focus(),oe(true);});},[q,Te,f]);Es({hiddenPMRef:A,runLayoutPipeline:q,updateSelectionOverlay:Te,headerContent:m,footerContent:s,firstPageHeaderContent:a$1,firstPageFooterContent:h}),Ts({ref:o,hiddenPMRef:A,hiddenHfPMsRef:z,documentRef:V,layout:he,runLayoutPipeline:q,scrollToPositionImpl:Fo,scrollToParaIdImpl:Tt,scrollToPageImpl:Wt,setIsFocused:oe,onReadyRef:de});let Ut=useMemo(()=>he?an(he,b):DEFAULT_PAGE_HEIGHT_PX+24+24,[he,b]);return jsxs("div",{ref:M,className:`ep-root paged-editor ${E??""}`,style:{...Ba,...I},tabIndex:0,onFocus:Dn,onBlur:Hn,onKeyDown:On,onMouseDown:Bn,children:[jsx(Ca,{ref:A,document:r,styles:n,widthPx:He,readOnly:f||!!R,onTransaction:Pt,onSelectionChange:_e,externalPlugins:x,extensionManager:y,onEditorViewReady:ao,onKeyDown:se}),jsx(lr,{ref:z,document:r,styles:n,theme:u,defaultTabStopTwips:r?.package?.settings?.defaultTabStop??null,onTransaction:(G,ye,ge)=>{if(ge){let pe=A.current?.getState();pe&&q(pe);}k?.(G,ye,ge);}}),jsxs("div",{ref:N,style:{...Na,minHeight:Ut,marginBottom:i!==1?Ut*(i-1):void 0,transform:(()=>{let G=[];return w&&G.push(`translateX(-${SIDEBAR_DOCUMENT_SHIFT}px)`),i!==1&&G.push(`scale(${i})`),G.length>0?G.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:F,className:`paged-editor__pages${f?" paged-editor--readonly":""}${R?` paged-editor--hf-editing paged-editor--editing-${R}`:""}`,style:za,onMouseDown:kn,onMouseMove:wt,onClick:Mn,onContextMenu:ht,"aria-hidden":"true"}),jsx(Ra,{selectionRects:R?[]:ce,caretPosition:R?null:fe,isFocused:X&&!R,pageGap:b,readOnly:f}),jsx(ka,{imageInfo:we,zoom:i,isFocused:X,onResize:Lo,onResizeStart:Fn,onResizeEnd:Ln,onDragMove:kt,onDragStart:An,onDragEnd:Ye,onContextMenu:ht}),Et&&jsx(Is,{type:Et.type,x:Et.x,y:Et.y,onMouseDown:Vt,onMouseEnter:ro,onMouseLeave:io}),v&&jsx("div",{className:"paged-editor__plugin-overlays",style:_a,children:v}),jsx(Ha,{getView:()=>A.current?.getView()??null,getPagesContainer:()=>F.current,zoom:i,decorationSyncToken:Oe,syncCoordinator:Re})]}),D&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:Ut*i,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:D})}),Y&&J&&te&&ne&&me&&ke&&jsx(Fs,{data:Y,onNavigate:J,onCopy:te,onEdit:ne,onRemove:me,onClose:ke,readOnly:f})]})}),Bs=memo(sb);var _s={position:"absolute",left:0,right:0,bottom:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 0",fontSize:11,color:"var(--doc-primary)",userSelect:"none",pointerEvents:"auto"},Ws={fontWeight:500,letterSpacing:.3},gb={background:"none",border:"none",color:"var(--doc-primary)",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},bb={position:"absolute",right:0,top:"100%",background:"var(--doc-surface)",border:"1px solid var(--doc-border-light)",borderRadius:4,boxShadow:"0 2px 6px var(--doc-shadow)",zIndex:h.dropdown,minWidth:160,padding:"4px 0"},pn={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"var(--doc-text)"},Us=forwardRef(function({headerFooter:t,position:o,view:r,targetElement:n,parentElement:u,onSave:d,onClose:l,onRemove:m},s){let a=useRef(r);a.current=r;let[h$1,f]=useState(false),b$1=useRef(null),[i,p]=useState(null);useLayoutEffect(()=>{let R=()=>{let k=u.getBoundingClientRect(),E=n.getBoundingClientRect();p({top:E.top-k.top+u.scrollTop,left:E.left-k.left+u.scrollLeft,width:E.width,height:E.height});};R();let P=u.closest('[style*="overflow"]')||u;return P.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{P.removeEventListener("scroll",R),window.removeEventListener("resize",R);}},[n,u]);let g=useRef(false);useEffect(()=>{!r||g.current||(g.current=true,requestAnimationFrame(()=>r.focus()));},[r]);let x=useCallback(()=>{if(!a.current)return;let R=proseDocToBlocks(a.current.state.doc);d(R);},[d]),y=useCallback(()=>{x(),l();},[x,l]);useEffect(()=>{function R(P){P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),y());}return document.addEventListener("keydown",R,true),()=>document.removeEventListener("keydown",R,true)},[y]),useEffect(()=>{if(!h$1)return;function R(P){b$1.current&&!b$1.current.contains(P.target)&&f(false);}return document.addEventListener("mousedown",R),()=>document.removeEventListener("mousedown",R)},[h$1]),useImperativeHandle(s,()=>({getView:()=>a.current,focus:()=>a.current?.focus(),undo:()=>{let R=a.current;return R?undo(R.state,R.dispatch):false},redo:()=>{let R=a.current;return R?redo(R.state,R.dispatch):false}}));let{t:c}=b(),S=c(o==="header"?"headerFooter.header":"headerFooter.footer");if(!i)return null;let v={position:"absolute",top:i.top,left:i.left,width:i.width,height:i.height,zIndex:h.hfInlineEditor,pointerEvents:"none"},C={..._s,bottom:"auto",top:"100%"};return jsxs("div",{className:"hf-inline-editor",style:v,children:[o==="footer"&&jsxs("div",{className:"hf-separator-bar",style:C,children:[jsx("span",{style:Ws,children:S}),jsx(Vs,{label:S,showOptions:h$1,setShowOptions:f,optionsRef:b$1,onRemove:m,onClose:y,viewRef:a})]}),o==="header"&&jsxs("div",{className:"hf-separator-bar",style:_s,children:[jsx("span",{style:Ws,children:S}),jsx(Vs,{label:S,showOptions:h$1,setShowOptions:f,optionsRef:b$1,onRemove:m,onClose:y,viewRef:a})]})]})});function Vs({label:e,showOptions:t,setShowOptions:o,optionsRef:r,onRemove:n,onClose:u,viewRef:d}){let{t:l}=b(),m=s=>{let a=d.current;if(!a)return;let{$from:h,from:f}=a.state.selection,b=a.state.storedMarks||h.marks(),i=schema.nodes.field.create({fieldType:s,instruction:` ${s} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),p=a.state.tr.insert(f,i.mark(b));a.dispatch(p),a.focus();};return jsxs("div",{style:{position:"relative"},ref:r,children:[jsxs("button",{type:"button",style:gb,onClick:s=>{s.stopPropagation(),o(a=>!a);},onMouseDown:s=>s.stopPropagation(),children:[l("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:bb,onMouseDown:s=>s.stopPropagation(),children:[jsx("button",{type:"button",style:pn,onClick:()=>{o(false),m("PAGE");},onMouseOver:s=>{s.target.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:s=>{s.target.style.backgroundColor="transparent";},children:l("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:pn,onClick:()=>{o(false),m("NUMPAGES");},onMouseOver:s=>{s.target.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:s=>{s.target.style.backgroundColor="transparent";},children:l("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid var(--doc-border-light)",margin:"4px 0"}}),n&&jsx("button",{type:"button",style:pn,onClick:()=>{o(false),n();},onMouseOver:s=>{s.target.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:s=>{s.target.style.backgroundColor="transparent";},children:l("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:pn,onClick:()=>{o(false),u();},onMouseOver:s=>{s.target.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:s=>{s.target.style.backgroundColor="transparent";},children:l("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var $s=resolveItemPositions;function js({items:e,anchorPositions:t,renderedDomContext:o,pageWidth:r,zoom:n,editorContainerRef:u,onExpandedItemChange:d,activeItemId:l}){let{t:m}=b(),s=l??null,a=useRef(s);a.current=s;let[h,f]=useState(false),b$1=useRef(new Map),i=useRef(new Map),p=useRef(new Set),g=useRef(null),x=useRef(new Map),y=useRef(new Map),[c,S]=useState(0),v=useMemo(()=>$s(e,t,o,n,b$1.current,i.current),[e,t,o,n,c]),C=v.length>0,R=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)p.current.add(I.item.id);},[v]);let P=useCallback(()=>{let I=false;for(let[w,D]of x.current){let H=D.offsetHeight;b$1.current.get(w)!==H&&(b$1.current.set(w,H),I=true);}I&&S(w=>w+1);},[]);useEffect(()=>{let I=requestAnimationFrame(P),w=setTimeout(()=>{P(),f(true);},400);return ()=>{cancelAnimationFrame(I),clearTimeout(w);}},[e.length,P]),useEffect(()=>{let I=u?.current;if(!I)return;let w=new ResizeObserver(()=>{requestAnimationFrame(()=>S(D=>D+1));});return w.observe(I),()=>w.disconnect()},[u]),useEffect(()=>{let I=requestAnimationFrame(P);return ()=>cancelAnimationFrame(I)},[s,P]),useEffect(()=>{if(!s)return;let I=x.current.get(s);if(!I){let H=requestAnimationFrame(()=>S(O=>O+1));return ()=>cancelAnimationFrame(H)}let w,D=new ResizeObserver(()=>{cancelAnimationFrame(w),w=requestAnimationFrame(()=>{b$1.current.set(s,I.offsetHeight),S(H=>H+1);});});return D.observe(I),()=>{cancelAnimationFrame(w),D.disconnect();}},[s]);let k=useCallback(I=>{let w=y.current.get(I);return w||(w=D=>{D?(x.current.set(I,D),b$1.current.set(I,D.offsetHeight)):(x.current.delete(I),b$1.current.delete(I));},y.current.set(I,w)),w},[]),E=useCallback(I=>{d?.(a.current===I?null:I);},[d]);return e.length===0?null:jsx("aside",{ref:g,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:C?1:0,transition:"opacity 0.15s ease"},onMouseDown:I=>I.stopPropagation(),children:jsx("div",{style:{position:"relative"},children:e.map(I=>{let w=R.get(I.id),D=s===I.id,O=!p.current.has(I.id)&&w!==void 0,B=C&&!R.has(I.id),_=C?w!==void 0?{position:"absolute",top:w,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},W=B?"none":O||I.isTemporary?"opacity 0.2s ease":h?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{..._,transition:W},children:I.render({isExpanded:D,onToggleExpand:()=>E(I.id),measureRef:k(I.id)})},I.id)})})})}function Ys({comments:e,anchorPositions:t,zoom:o,pageWidth:r,sidebarOpen:n,resolvedCommentIds:u,onMarkerClick:d}){let{t:l}=b(),s=e.filter(a=>a.parentId==null).map(a=>{let h=u.has(a.id);if(!h&&n||h&&n)return null;let f=t.get(`comment-${a.id}`);return f==null?null:{comment:a,isResolved:h,y:f}}).filter(Boolean);return s.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:s.map(({comment:a,isResolved:h,y:f})=>jsx("button",{onClick:()=>d(a.id),title:l(h?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:f*o,left:0,width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",border:"none",borderRadius:4,background:"transparent",cursor:"pointer",pointerEvents:"auto",color:"var(--doc-text-muted)",padding:0,fontFamily:"inherit"},onMouseOver:b=>{b.currentTarget.style.opacity="0.7";},onMouseOut:b=>{b.currentTarget.style.opacity="1";},children:jsx(b$1,{name:h?"chat_bubble_check":"chat_bubble_outline",size:18})},a.id))})}function Zs({pagedEditorRef:e,hfEditorRef:t,scrollContainerRef:o$1,editorContentRef:r,document:n,theme:u,initialSectionProperties:d,finalSectionProperties:l,headerContent:m,footerContent:s,firstPageHeaderContent:a,firstPageFooterContent:h,hfEditPosition:f,setHfEditPosition:b,hfEditIsFirstPage:i,onHeaderFooterDoubleClick:p,onHeaderFooterSave:g,onRemoveHeaderFooter:x,onBodyClick:y,getHfTargetElement:c,zoom:S,readOnly:v,extensionManager:C,externalPlugins:R,onDocumentChange:P,onSelectionChange:k,onPagedSelectionChange:E,onReady:I,onEditorViewReady:w,onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:B,onHyperlinkPopupNavigate:_,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:Z,onHyperlinkPopupRemove:Y,onHyperlinkPopupClose:J,onContextMenu:te,sidebarOpen:ne,sidebarItems:me,anchorPositions:ke,onAnchorPositionsChange:Ce,pluginRenderedDomContext:M,pageWidthPx:F,expandedSidebarItem:N,setExpandedSidebarItem:A,comments:z,resolvedCommentIds:V,resolvedIdsForRender:se,setShowCommentsSidebar:ee,onTotalPagesChange:$,floatingCommentBtn:de,isAddingComment:re,setCommentSelectionRange:X,setAddCommentYPosition:oe,setIsAddingComment:le,setFloatingCommentBtn:Re}){let Q=f?i?f==="header"?a:h:f==="header"?m:s:null,[he,Pe]=useState(null),[Ae,Oe]=useState([]),De=useCallback(q=>{let ce=window.document.querySelector(".paged-editor__pages")?.parentElement;if(!ce)return q;let fe=ce.getBoundingClientRect();return {...q,top:q.top-fe.top+ce.scrollTop,left:q.left-fe.left+ce.scrollLeft}},[]),He=useCallback(q=>{if(!f){Pe(null),Oe([]);return}let ue=computeHfCaretRectFromView(q,f);Pe(ue?De(ue):null),Oe(computeHfSelectionRectsFromView(q,f).map(De));let ce=window.document.querySelector(".paged-editor__pages");ce&&applyCellSelectionHighlight(ce,q.state,{scope:f});},[f,De]);return useEffect(()=>{if(!f){Pe(null),Oe([]),invalidateHfDomCache();return}let q=()=>{let Se=t.current?.getView();Se&&He(Se);},ue=window.document.querySelector(".paged-editor__pages"),ce=()=>{invalidateHfDomCache(),q();};ue?.addEventListener("painter:painted",ce);let fe=requestAnimationFrame(q),we=()=>q();return window.addEventListener("resize",we),()=>{cancelAnimationFrame(fe),ue?.removeEventListener("painter:painted",ce),window.removeEventListener("resize",we),invalidateHfDomCache();}},[f,t,He]),jsxs(Fragment,{children:[jsx(Bs,{ref:e,document:n,styles:n?.package.styles,theme:n?.package.theme||u,sectionProperties:d,finalSectionProperties:l,headerContent:m,footerContent:s,firstPageHeaderContent:a,firstPageFooterContent:h,onHeaderFooterDoubleClick:p,hfEditMode:f,onBodyClick:y,onHfTransaction:(q,ue,ce)=>{let fe=window.document.querySelector(".paged-editor__pages"),we=false,Se=()=>{we||(we=true,invalidateHfDomCache(),He(ue));};fe?.addEventListener("painter:painted",Se,{once:true}),requestAnimationFrame(()=>{we||(fe?.removeEventListener("painter:painted",Se),Se());}),k(extractSelectionState(ue.state));},zoom:S,readOnly:v,extensionManager:C,onDocumentChange:P,onSelectionChange:E,externalPlugins:R,onReady:q=>{I(q);let ue=q.getView();ue&&w?.(ue);},onRenderedDomContextReady:D,pluginOverlays:H,onHyperlinkClick:O,hyperlinkPopupData:B,onHyperlinkPopupNavigate:_,onHyperlinkPopupCopy:W,onHyperlinkPopupEdit:Z,onHyperlinkPopupRemove:Y,onHyperlinkPopupClose:J,onContextMenu:te,commentsSidebarOpen:ne,onAnchorPositionsChange:Ce,onTotalPagesChange:$,resolvedCommentIds:se,scrollContainerRef:o$1,sidebarOverlay:jsxs(Fragment,{children:[me.length>0&&jsx(js,{items:me,anchorPositions:ke,renderedDomContext:M??null,pageWidth:F,zoom:S,editorContainerRef:o$1,onExpandedItemChange:A,activeItemId:N}),jsx(Ys,{comments:z,anchorPositions:ke,zoom:S,pageWidth:F,sidebarOpen:ne,resolvedCommentIds:V,onMarkerClick:()=>ee(true)})]})}),de!=null&&!re&&!v&&jsx(o,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:q=>{q.preventDefault(),q.stopPropagation();let ue=e.current?.getView();if(ue){let{from:ce,to:fe}=ue.state.selection;if(ce!==fe){X({from:ce,to:fe});let we=ue.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Se=ue.state.tr.addMark(ce,fe,we);Se.setSelection(TextSelection.create(Se.doc,fe)),ue.dispatch(Se);}}oe(de.top),ee(true),le(true),Re(null);},style:{position:"absolute",top:de.top,left:de.left,transform:"translate(-50%, -50%)",zIndex:50,width:28,height:28,borderRadius:6,border:"1px solid var(--doc-focus-ring)",backgroundColor:"var(--doc-surface)",color:"var(--doc-primary)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 1px 3px var(--doc-shadow)",transition:"background-color 0.15s ease, box-shadow 0.15s ease"},onMouseOver:q=>{q.currentTarget.style.backgroundColor="var(--doc-primary-light)",q.currentTarget.style.boxShadow="0 1px 4px var(--doc-focus-ring)";},onMouseOut:q=>{q.currentTarget.style.backgroundColor="var(--doc-surface)",q.currentTarget.style.boxShadow="0 1px 3px var(--doc-shadow)";},children:jsx(b$1,{name:"add_comment",size:16})})}),f&&(he||Ae.length>0)&&(()=>{let q=window.document.querySelector(".paged-editor__pages"),ue=q?.parentElement;return !q||!ue?null:createPortal(jsxs(Fragment,{children:[he&&Ae.length===0&&jsx(Fragment,{children:jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:he.top,left:he.left,width:2,height:he.height,background:"#4285f4",pointerEvents:"none",zIndex:11,animation:"hf-caret-blink 1.06s steps(1) infinite"}})}),Ae.map((ce,fe)=>jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:ce.top,left:ce.left,width:ce.width,height:ce.height,background:"rgba(66, 133, 244, 0.25)",pointerEvents:"none",zIndex:10}},`hf-sel-${fe}-${ce.top}-${ce.left}`))]}),ue)})(),f&&Q&&(()=>{let q=c(f),ue=r.current;if(!q||!ue)return null;let ce=e.current?.getHfPmView(Q)??null;return jsx(Us,{ref:t,headerFooter:Q,position:f,view:ce,targetElement:q,parentElement:ue,onSave:g,onClose:()=>{b(null),Pe(null);},onRemove:x})})()]})}var Mr=".layout-sdt-widget, .layout-inline-sdt-widget";function Js(e){let t=/^sdt@(\d+)$/.exec(e??"");return t?Number(t[1]):null}function Db(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Hb(e){let t=Js(e.dataset.sdtGroupId)??Db(e.dataset.sdtPos),o=e.dataset.sdtTag;return t!=null?o?{pos:t,tag:o}:{pos:t}:o?{tag:o}:null}function Fb(e,t){return findContentControlsInPM(e.state.doc,{tag:t})[0]}function Lb(e,t){return t.pos!=null?findContentControlsInPM(e.state.doc).find(o=>o.pos===t.pos):t.tag?Fb(e,t.tag):void 0}function el({containerRef:e,getView:t}){let[o,r]=useState(null),n=useRef(null),u=useCallback((m,s)=>{let a=t();if(a){try{let h=m.pos!=null?setContentControlValueAtPosTr(a.state,m.pos,s):m.tag?setContentControlValueTr(a.state,{tag:m.tag},s):null;if(!h)return;a.dispatch(h),a.focus();}catch{}r(null);}},[t]);useEffect(()=>{let m=e.current;if(!m)return;let s=i=>{let p=t(),g=i.dataset.sdtWidget,x=Hb(i);if(!p||!g||!x)return;let y=Lb(p,x),c=i.getBoundingClientRect();g==="checkbox"?u(x,{kind:"checkbox",checked:!y?.checked}):g==="dropdown"?r({kind:"dropdown",target:x,items:y?.listItems??[],current:y?.text??"",rect:c}):g==="date"&&r({kind:"date",target:x,current:y?.dateValue??"",rect:c});},a=i=>{let p=t(),g=Js(i.dataset.sdtGroupId);if(!(!p||g==null))try{let x=i.dataset.sdtRepeat==="add"?addRepeatingSectionItemTr(p.state,g):removeRepeatingSectionItemTr(p.state,g);p.dispatch(x),p.focus();}catch{}},h=i=>{let p=i.target;(p?.closest?.(Mr)||p?.closest?.(".layout-sdt-repeat-btn"))&&i.preventDefault();},f=i=>{let p=i.target?.closest?.(".layout-sdt-repeat-btn");if(p){i.preventDefault(),i.stopPropagation(),a(p);return}let g=i.target?.closest?.(Mr);g&&(i.preventDefault(),i.stopPropagation(),s(g));},b=i=>{if(i.key!=="Enter"&&i.key!==" ")return;let p=i.target?.closest?.(Mr);p&&(i.preventDefault(),s(p));};return m.addEventListener("mousedown",h),m.addEventListener("click",f),m.addEventListener("keydown",b),()=>{m.removeEventListener("mousedown",h),m.removeEventListener("click",f),m.removeEventListener("keydown",b);}},[e,t,u]),useEffect(()=>{if(!o)return;let m=a=>{n.current?.contains(a.target)||r(null);},s=a=>{a.key==="Escape"&&r(null);};return document.addEventListener("mousedown",m),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",s);}},[o]),useEffect(()=>{if(o?.kind!=="dropdown")return;let m=n.current?.querySelectorAll(".layout-sdt-widget-option");m?.length&&([...m].find(s=>s.getAttribute("aria-selected")==="true")??m[0]).focus();},[o]);let d=m=>{if(m.key!=="ArrowDown"&&m.key!=="ArrowUp")return;let s=[...n.current?.querySelectorAll(".layout-sdt-widget-option")??[]];if(!s.length)return;m.preventDefault();let a=s.indexOf(document.activeElement),h=m.key==="ArrowDown"?(a+1)%s.length:(a-1+s.length)%s.length;s[h].focus();};if(!o)return null;let l={position:"fixed",top:o.rect.bottom+2,left:o.rect.left,zIndex:1e3};return jsx("div",{ref:n,className:"layout-sdt-widget-popup",style:l,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 s=m.displayText===o.current;return jsx("button",{type:"button",role:"option","aria-selected":s,className:`layout-sdt-widget-option${s?" is-selected":""}`,onClick:()=>u(o.target,{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.target,{kind:"date",date:m.target.value});}})})}function tl({commentsLoadedRef:e,trackedChangesLoadedRef:t,setComments:o,setHeadingInfos:r,setShowCommentsSidebar:n,setIsAddingComment:u,setCommentSelectionRange:d,setAddCommentYPosition:l,setFloatingCommentBtn:m,setHfEditPosition:s,setHfEditIsFirstPage:a,setAnchorPositions:h,clearFindReplaceMatches:f,cleanOrphanedCommentsTimerRef:b}){return {resetForNewDocument:useCallback(()=>{e.current=false,t.current=false,o([]),r([]),n(false),u(false),d(null),l(null),m(null),s(null),a(false),h(qo),f(),b.current&&(clearTimeout(b.current),b.current=null);},[e,t,o,r,n,u,d,l,m,s,a,h,f,b])}}var Wb=createContext(null);function nl({children:e}){let t=useMemo(()=>new ErrorManager,[]),o=useSyncExternalStore(t.subscribe,t.getSnapshot),r=useCallback((s,a)=>{t.showError(s,a);},[t]),n=useCallback((s,a)=>{t.showWarning(s,a);},[t]),u=useCallback((s,a)=>{t.showInfo(s,a);},[t]),d=useCallback(s=>{t.dismiss(s);},[t]),l=useCallback(()=>{t.clearAll();},[t]),m=useMemo(()=>({notifications:o.notifications,showError:r,showWarning:n,showInfo:u,dismissNotification:d,clearNotifications:l}),[o.notifications,r,n,u,d,l]);return jsxs(Wb.Provider,{value:m,children:[e,jsx(Vb,{notifications:o.notifications,onDismiss:d})]})}function Vb({notifications:e,onDismiss:t}){let o=e.filter(n=>!n.dismissed);return o.length===0?null:jsx("div",{className:"docx-notification-container",style:{position:"fixed",top:"16px",right:"16px",zIndex:10001,display:"flex",flexDirection:"column",gap:"8px",maxWidth:"400px"},children:o.map(n=>jsx(Ub,{notification:n,onDismiss:()=>t(n.id)},n.id))})}function Ub({notification:e,onDismiss:t}){let{t:o}=b(),[r,n]=useState(false),d=(p=>{switch(p){case "error":return {bg:"var(--doc-error-bg)",border:"var(--doc-error)",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"var(--doc-warning)",text:"var(--doc-warning-text)",icon:"var(--doc-warning)"};case "info":return {bg:"var(--doc-primary-light)",border:"var(--doc-primary)",text:"var(--doc-primary)",icon:"var(--doc-primary)"}}})(e.severity),l={background:d.bg,border:`1px solid ${d.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px var(--doc-shadow)",animation:"slideIn 0.3s ease-out"},m={display:"flex",alignItems:"flex-start",gap:"8px"},s={color:d.icon,flexShrink:0},a={flex:1,minWidth:0},h={color:d.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},f={marginTop:"8px",padding:"8px",background:"var(--doc-shadow-subtle)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:d.text,maxHeight:"200px",overflow:"auto"},b$1={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:d.text},i=p=>{switch(p){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:l,children:[jsx("style",{children:`
|
|
13
13
|
@keyframes slideIn {
|
|
14
14
|
from {
|
|
15
15
|
opacity: 0;
|
|
@@ -20,13 +20,13 @@ body { background: white; }
|
|
|
20
20
|
transform: translateX(0);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
`}),jsxs("div",{style:
|
|
23
|
+
`}),jsxs("div",{style:m,children:[jsx("span",{style:s,children:i(e.severity)}),jsxs("div",{style:a,children:[jsx("div",{style:h,children:e.message}),e.details&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:()=>n(!r),style:{...b$1,marginTop:"4px",fontSize:"12px",padding:"2px 8px"},children:o(r?"errors.hideDetails":"errors.showDetails")}),r&&jsx("div",{style:f,children:e.details})]})]}),jsx("button",{type:"button",onClick:t,style:b$1,title:o("common.dismiss"),children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:jsx("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})}var bn=class extends Component{constructor(o){super(o);b$5(this,"resetError",()=>{this.setState({hasError:false,error:null,errorInfo:null});});this.state={hasError:false,error:null,errorInfo:null};}static getDerivedStateFromError(o){return {hasError:true,error:o}}componentDidCatch(o,r){this.setState({errorInfo:r}),console.error("ErrorBoundary caught an error:",o,r),this.props.onError&&this.props.onError(o,r);}render(){if(this.state.hasError){let{fallback:o,showDetails:r=true}=this.props,{error:n,errorInfo:u}=this.state;return o?typeof o=="function"?o(n,this.resetError):o:jsx($b,{error:n,errorInfo:u,showDetails:r,onReset:this.resetError})}return this.props.children}};function $b({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:"var(--doc-surface)",borderRadius:"8px",border:"1px solid var(--doc-border)",margin:"20px"},d={color:"var(--doc-error)",marginBottom:"16px"},l={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},m={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},s={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:"var(--doc-on-primary)",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:l,children:n("errors.somethingWentWrong")}),jsx("p",{style:m,children:n("errors.errorDescription")}),o&&jsxs("div",{style:s,children:[jsx("strong",{children:n("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
|
|
24
24
|
|
|
25
|
-
`,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:a,children:n("errors.tryAgain")})]})}var
|
|
26
|
-
.paged-editor__pages .docx-insertion[data-revision-id="${
|
|
27
|
-
.paged-editor__pages .docx-deletion[data-revision-id="${
|
|
28
|
-
`})})(),O]})})]}),T.totalPages>1&&jsx(cl,{currentPage:T.currentPage,totalPages:T.totalPages,visible:T.visible}),g&&jsx(al,{...P}),l&&!g&&jsx(ll,{onClick:k,topPx:m+(i?30:0)+48,scrollLeft:b})]}),I&&jsx(dl,{agentPanel:I,closed:!w,onClose:D})]}),U,G,W]})})})})}var Zt={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},yn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function Qt(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:getAvatarColor(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function vn(e){return {padding:"6px 16px",fontSize:14,border:"none",borderRadius:20,background:e?"#1a73e8":"#f1f3f4",color:e?"#fff":"#80868b",cursor:e?"pointer":"default",fontWeight:500,fontFamily:"inherit"}}function Sn({replies:e,isExpanded:t}){let{t:o}=b();if(e.length===0)return null;let r=t?e:e.slice(-1),n=t?0:e.length-1;return jsxs("div",{style:{marginTop:8},children:[n>0&&jsx("div",{style:{fontSize:12,fontWeight:500,color:"#1a73e8",paddingTop:6,paddingBottom:6,borderTop:"1px solid #e8eaed"},children:o("comments.replyCount",{count:n})}),r.map(u=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid #e8eaed"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Qt(u.author||"U",28),children:getInitials(u.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:u.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(u.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(u.content)})]},u.id))]})}var Gb={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},jb={width:"100%",border:"1px solid #dadce0",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",color:"#80868b",cursor:"text",backgroundColor:"#fff",boxSizing:"border-box"};function xn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:u}=b();if(!t)return jsx("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:s=>s.stopPropagation(),onClick:s=>{s.stopPropagation(),o(true);},placeholder:u("comments.replyPlaceholder"),style:jb})});let d=r.trim();return jsxs("div",{onClick:s=>s.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:s=>s?.focus({preventScroll:true}),type:"text",value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&(s.preventDefault(),d&&e(d),n(""),o(false)),s.key==="Escape"&&(o(false),n(""));},placeholder:u("comments.replyPlaceholder"),style:Gb}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:s=>{s.stopPropagation(),o(false),n("");},style:yn,children:u("common.cancel")}),jsx("button",{onClick:s=>{s.stopPropagation(),d&&e(d),n(""),o(false);},disabled:!d,style:vn(!!d),children:u("common.reply")})]})]})}var Pn=CARD_STYLE_COLLAPSED,wn=CARD_STYLE_EXPANDED;function fl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:u,onResolve:d,onUnresolve:s,onDelete:f}){let[i,a]=useState(false),{t:g}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:l=>l.stopPropagation(),style:{...o?wn:Pn},children:[e.done&&jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",marginBottom:8,fontSize:11,fontWeight:500,color:"#188038",backgroundColor:"#e6f4ea",borderRadius:10},children:[jsx(b$1,{name:"check",size:12}),g("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Qt(e.author||"U"),children:getInitials(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:e.author||g("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:l=>{l.stopPropagation(),e.done?s?.(e.id):d?.(e.id);},title:e.done?g("comments.reopen"):g("comments.resolve"),style:Zt,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:l=>{l.stopPropagation(),a(!i);},title:g("comments.moreOptions"),style:Zt,children:jsx(b$1,{name:"more_vert",size:20})}),i&&jsx("div",{onClick:l=>l.stopPropagation(),onMouseDown:l=>l.stopPropagation(),style:{position:"absolute",top:32,right:0,background:"#fff",borderRadius:8,boxShadow:"0 2px 6px rgba(60,64,67,0.3), 0 1px 2px rgba(60,64,67,0.15)",zIndex:100,minWidth:120,padding:"4px 0"},children:jsx("button",{onClick:()=>{a(false),f?.(e.id);},style:{display:"block",width:"100%",padding:"8px 16px",border:"none",background:"none",textAlign:"left",fontSize:14,color:"#202124",cursor:"pointer",fontFamily:"inherit"},onMouseOver:l=>{l.target.style.backgroundColor="#f1f3f4";},onMouseOut:l=>{l.target.style.backgroundColor="transparent";},children:g("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(Sn,{replies:t,isExpanded:o}),o&&!e.done&&jsx(xn,{onSubmit:l=>u?.(e.id,l)})]})}function gl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:u,onReject:d,onAcceptById:s,onRejectById:f,onReply:i}){let{t:a}=b(),g=e.author||a("trackedChanges.unknown"),l=()=>{let m=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&m.add(e.insertionRevisionId);for(let b of e.coalescedRevisionIds??[])m.add(b);return [...m]},S=m=>{if(m.stopPropagation(),s)for(let b of l())s(b);else u?.(e.from,e.to);},c=m=>{if(m.stopPropagation(),f)for(let b of l())f(b);else d?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:m=>m.stopPropagation(),style:o?wn:Pn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Qt(g),children:getInitials(g)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:g}),e.date&&jsx("div",{style:{fontSize:11,color:"#5f6368"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2},children:[jsx("button",{onClick:S,title:a("common.accept"),style:Zt,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:c,title:a("common.reject"),style:Zt,children:jsx(b$1,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"#202124",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[a("trackedChanges.replaced")," ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.deletedText||""),'"']})," ",a("trackedChanges.with")," ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):e.type==="paragraphMarkInsertion"?jsxs(Fragment,{children:[a("revisions.paragraphMarkInserted"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="paragraphMarkDeletion"?jsxs(Fragment,{children:[a("revisions.paragraphMarkDeleted"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="paragraphPropertiesChanged"?jsxs(Fragment,{children:[a("revisions.paragraphPropertiesChanged"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"#5f6368",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="rowInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.rowInserted")}):e.type==="rowDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.rowDeleted")}):e.type==="cellInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.cellInserted")}):e.type==="cellDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.cellDeleted")}):e.type==="cellMerged"?jsx("span",{style:{color:"#5f6368",fontWeight:500},children:a("revisions.cellMerged")}):e.type==="rowPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.rowPropertiesChanged")}):e.type==="cellPropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.cellPropertiesChanged")}):e.type==="tablePropertiesChanged"?jsx("span",{style:{color:"#5f6368"},children:a("revisions.tablePropertiesChanged")}):e.type==="tableInserted"?jsx("span",{style:{color:"#137333",fontWeight:500},children:a("revisions.tableInserted")}):e.type==="tableDeleted"?jsx("span",{style:{color:"#c5221f",fontWeight:500},children:a("revisions.tableDeleted")}):jsxs(Fragment,{children:[e.type==="insertion"?a("trackedChanges.added"):a("trackedChanges.deleted")," ",jsxs("span",{style:{color:e.type==="insertion"?"#137333":"#c5221f",fontWeight:500},children:['"',truncateText(e.text),'"']})]})}),jsx(Sn,{replies:t,isExpanded:o}),o&&jsx(xn,{onSubmit:m=>i?.(e.revisionId,m)})]})}function hl({measureRef:e,onSubmit:t,onCancel:o}){let[r,n]=useState(""),{t:u}=b(),d=()=>{r.trim()&&(t?.(r.trim()),n(""));};return jsxs("div",{ref:e,onMouseDown:s=>s.stopPropagation(),style:{padding:12,borderRadius:8,backgroundColor:"#fff",boxShadow:"0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15)",zIndex:50},children:[jsx("textarea",{ref:s=>s?.focus({preventScroll:true}),value:r,onChange:s=>n(s.target.value),onMouseDown:s=>s.stopPropagation(),onKeyDown:s=>{s.stopPropagation(),s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),d()),s.key==="Escape"&&(o?.(),n(""));},placeholder:u("comments.addComment"),style:{width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",resize:"none",fontSize:14,lineHeight:"20px",padding:"8px 16px",fontFamily:"inherit",minHeight:40,boxSizing:"border-box",color:"#202124"}}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:()=>{o?.(),n("");},style:yn,children:u("common.cancel")}),jsx("button",{onClick:d,disabled:!r.trim(),style:vn(!!r.trim()),children:u("common.comment")})]})]})}function vl({comment:e,measureRef:t,onToggleExpand:o}){return jsx("div",{ref:t,"data-comment-id":e.id,"data-comment-resolved":"true",onClick:o,onMouseDown:r=>r.stopPropagation(),style:{display:"inline-flex",alignItems:"center",cursor:"pointer",color:"#5f6368",padding:2},onMouseOver:r=>{r.currentTarget.style.opacity="0.7";},onMouseOut:r=>{r.currentTarget.style.opacity="1";},children:jsx(b$1,{name:"chat_bubble_check",size:20})})}function Cl({comments:e,trackedChanges:t,callbacks:o,showResolved:r=false,isAddingComment:n=false,addCommentYPosition:u=null}){let d=useMemo(()=>e.filter(f=>!(f.parentId!=null||f.done&&!r)),[e,r]),s=useMemo(()=>{let f=new Map;for(let i of e)if(i.parentId!=null){let a=f.get(i.parentId);a?a.push(i):f.set(i.parentId,[i]);}return f},[e]);return useMemo(()=>{let f=[];n&&u!=null&&f.push({id:"new-comment-input",anchorPos:0,fixedY:u,priority:-1e3,isTemporary:true,estimatedHeight:120,render:i=>jsx(hl,{...i,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let i of d){let a=s.get(i.id)??[];f.push({id:`comment-${i.id}`,anchorPos:0,anchorKey:`comment-${i.id}`,priority:0,estimatedHeight:i.done?28:80,render:g=>i.done&&!g.isExpanded?jsx(vl,{...g,comment:i}):jsx(fl,{...g,comment:i,replies:a,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((i,a)=>{let g=s.get(i.revisionId)??[];f.push({id:`tc-${i.revisionId}-${a}`,anchorPos:i.from,anchorKey:`revision-${i.revisionId}`,priority:1,estimatedHeight:80,render:l=>jsx(gl,{...l,change:i,replies:g,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),f},[d,t,s,o,n,u])}function Rl(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"20px",color:"var(--doc-text-muted)"},children:[jsx("div",{style:{width:"36px",height:"36px",border:"3px solid var(--doc-border)",borderTopColor:"var(--doc-primary)",borderRadius:"50%",animation:"docx-spin 0.8s linear infinite"}}),jsx("style",{children:`
|
|
25
|
+
`,jsx("strong",{children:n("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:r,style:a,children:n("errors.tryAgain")})]})}var Yb=15840,al=1440,qb=1440,Xb=567,ll=20,Zb="var(--doc-text-muted)",Qb="var(--doc-text-subtle)",Jb="var(--doc-primary)",eh="var(--doc-primary)",th="var(--doc-primary-hover)";function cl({sectionProps:e,zoom:t=1,editable:o=false,onTopMarginChange:r,onBottomMarginChange:n,unit:u="inch",className:d="",style:l}){let{t:m}=b(),[s,a]=useState(null),[h,f]=useState(null),b$1=useRef(null),i=e?.pageHeight??Yb,p=e?.marginTop??al,g=e?.marginBottom??al,x=twipsToPixels(i)*t,y=twipsToPixels(p)*t,c=twipsToPixels(g)*t,S=useCallback((k,E)=>{o&&(k.preventDefault(),a(E));},[o]),v=useCallback(k=>{if(!s||!b$1.current)return;let E=b$1.current.getBoundingClientRect(),I=k.clientY-E.top,w=pixelsToTwips(I/t);if(s==="topMargin"){let D=i-g-720,H=Math.max(0,Math.min(w,D));r?.(Math.round(H));}else if(s==="bottomMargin"){let D=i-w,H=i-p-720,O=Math.max(0,Math.min(D,H));n?.(Math.round(O));}},[s,t,i,p,g,r,n]),C=useCallback(()=>{a(null);},[]);useEffect(()=>{if(s)return document.addEventListener("mousemove",v),document.addEventListener("mouseup",C),()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",C);}},[s,v,C]);let R=nh(i,t,u),P={position:"relative",width:ll,height:formatPx(x),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:s?"ns-resize":"default",...l};return jsxs("div",{ref:b$1,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:R.map((k,E)=>jsx(oh,{tick:k},E))}),jsx(sl,{type:"topMargin",position:y,editable:o,isDragging:s==="topMargin",isHovered:h==="topMargin",onMouseEnter:()=>f("topMargin"),onMouseLeave:()=>f(null),onMouseDown:k=>S(k,"topMargin")}),jsx(sl,{type:"bottomMargin",position:x-c,editable:o,isDragging:s==="bottomMargin",isHovered:h==="bottomMargin",onMouseEnter:()=>f("bottomMargin"),onMouseLeave:()=>f(null),onMouseDown:k=>S(k,"bottomMargin")})]})}function oh({tick:e}){let t={position:"absolute",top:formatPx(e.position),right:0,height:1,width:e.width,backgroundColor:Qb},o={position:"absolute",top:formatPx(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:Zb,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxs(Fragment,{children:[jsx("div",{style:t}),e.label&&jsx("div",{style:o,children:e.label})]})}function sl({type:e,position:t,editable:o,isDragging:r,isHovered:n,onMouseEnter:u,onMouseLeave:d,onMouseDown:l}){let{t:m}=b(),s=r?th:n?eh:Jb,a={position:"absolute",top:formatPx(t-5),right:0,width:ll,height:10,cursor:o?"ns-resize":"default",zIndex:r?10:1},h={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${s}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:a,onMouseEnter:u,onMouseLeave:d,onMouseDown:l,role:"slider","aria-label":m(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:o?0:-1,children:jsx("div",{style:h})})}function nh(e,t,o){let r=[];if(o==="inch"){let n=qb/8,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let l=d*n;if(l>e)break;let m=twipsToPixels(l)*t;if(d%8===0){let s=d/8;r.push({position:m,width:10,label:s>0?String(s):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=Xb/10,u=Math.ceil(e/n);for(let d=0;d<=u;d++){let l=d*n;if(l>e)break;let m=twipsToPixels(l)*t;if(d%10===0){let s=d/10;r.push({position:m,width:10,label:s>0?String(s):void 0});}else d%5===0?r.push({position:m,width:6}):r.push({position:m,width:3});}}return r}var Hr=30,Fr=240,pl=16,lh=24,ml=Hr+Fr+pl,Lr=48,ch=32,fl=Lr+ch+pl,gl=Bl.memo(function({headings:t,onHeadingClick:o,onClose:r,topOffset:n=0,scrollLeft:u=0}){let{t:d}=b(),[l,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:Hr-u,bottom:0,width:Fr,paddingTop:lh,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:l?"translateX(0)":`translateX(-${Hr+Fr}px)`,transition:"transform 0.15s ease-out"},onMouseDown:s=>s.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:"var(--doc-text-muted)"},title:d("documentOutline.closeTitle"),children:jsx(b$1,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"var(--doc-text)",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:"var(--doc-text-subtle)",fontSize:13,lineHeight:"20px"},children:d("documentOutline.noHeadings")}):t.map((s,a)=>jsx("div",{style:{marginLeft:s.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>o(s.pmPos),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 12px",fontSize:13,fontWeight:400,color:"var(--doc-text)",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:s.text,children:s.text})},`${s.pmPos}-${a}`))})]})});function hl({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:Lr-o,top:t,zIndex:h.outline,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:"var(--doc-text-muted)"}})})}function yl({currentPage:e,totalPages:t,visible:o}){let{t:r}=b();return jsx("div",{style:{position:"absolute",right:24,top:"50%",transform:"translateY(-50%)",backgroundColor:"var(--doc-overlay)",color:"#fff",padding:"6px 12px",borderRadius:"4px",fontSize:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontWeight:500,whiteSpace:"nowrap",pointerEvents:"none",zIndex:1e3,opacity:o?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status",children:r("viewer.pageIndicator",{current:e,total:t})})}function vl({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 Cl({i18n:e,isDark:t,onEditorError:o,containerRef:r,scrollContainerRef:n,editorContentRef:u,className:d,containerStyle:l,mainContentStyle:m,editorContainerStyle:s,showRuler:a,readOnlyProp:h$1,showOutline:f,showOutlineButton:b,sidebarOpen:i,minLayoutWidth:p,toolbarHeight:g,editorScrollLeft:x,expandedSidebarItem:y,trackedChanges:c,onScrollContainerMouseDown:S,onEditorBgMouseDown:v,onEditorContextMenu:C,horizontalRulerProps:R,verticalRulerProps:P,outlineProps:k,onToggleOutline:E,scrollPageInfo:I,agentPanel:w,agentPanelOpen:D,onAgentPanelClose:H,toolbar:O,pagedArea:B,overlays:_,dialogs:W,fileInputs:Z}){return jsx(a$3,{i18n:e,children:jsx(nl,{children:jsx(bn,{onError:o,children:jsxs("div",{ref:r,className:a$1("ep-root docx-editor",t&&"dark",d),style:l,"data-testid":"docx-editor",children:[jsxs("div",{style:m,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[O,jsxs("div",{ref:n,style:s,onMouseDown:S,children:[a&&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+(i?SIDEBAR_DOCUMENT_SHIFT*2:0),minWidth:p,transition:"padding 0.2s ease"},children:jsx(F,{...R})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:p},children:jsxs("div",{ref:u,style:{position:"relative",flex:1,minWidth:0},onMouseDown:v,onContextMenu:C,children:[a&&!h$1&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:h.ruler,paddingTop:48},children:jsx(cl,{...P})}),y&&y.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${y.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),y?.startsWith("tc-")&&(()=>{let Y=y.split("-")[1],te=c.find(ne=>String(ne.revisionId)===Y)?.insertionRevisionId;return jsx("style",{children:`
|
|
26
|
+
.paged-editor__pages .docx-insertion[data-revision-id="${te??Y}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
|
|
27
|
+
.paged-editor__pages .docx-deletion[data-revision-id="${Y}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
|
|
28
|
+
`})})(),B]})})]}),I.totalPages>1&&jsx(yl,{currentPage:I.currentPage,totalPages:I.totalPages,visible:I.visible}),f&&jsx(gl,{...k}),b&&!f&&jsx(hl,{onClick:E,topPx:g+(a?30:0)+48,scrollLeft:x})]}),w&&jsx(vl,{agentPanel:w,closed:!D,onClose:H})]}),_,W,Z]})})})})}var eo={background:"none",border:"none",cursor:"pointer",padding:4,color:"var(--doc-text-muted)",display:"flex",borderRadius:"50%"},yn={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"var(--doc-primary)",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function to(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:getAvatarColor(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function vn(e){return {padding:"6px 16px",fontSize:14,border:"none",borderRadius:20,background:e?"var(--doc-primary)":"var(--doc-bg-hover)",color:e?"#fff":"var(--doc-text-subtle)",cursor:e?"pointer":"default",fontWeight:500,fontFamily:"inherit"}}function xn({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:"var(--doc-primary)",paddingTop:6,paddingBottom:6,borderTop:"1px solid var(--doc-border-light)"},children:o("comments.replyCount",{count:n})}),r.map(u=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid var(--doc-border-light)"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:to(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:"var(--doc-text)"},children:u.author||o("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:formatDate(u.date)})]})]}),jsx("div",{style:{fontSize:13,color:"var(--doc-text)",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:getCommentText(u.content)})]},u.id))]})}var fh={width:"100%",border:"1px solid var(--doc-primary)",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"var(--doc-text)"},gh={width:"100%",border:"1px solid var(--doc-border-light)",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",color:"var(--doc-text-subtle)",cursor:"text",backgroundColor:"var(--doc-surface)",boxSizing:"border-box"};function Rn({onSubmit:e}){let[t,o]=useState(false),[r,n]=useState(""),{t:u}=b();if(!t)return jsx("div",{onClick:l=>l.stopPropagation(),style:{marginTop:12},children:jsx("input",{readOnly:true,onMouseDown:l=>l.stopPropagation(),onClick:l=>{l.stopPropagation(),o(true);},placeholder:u("comments.replyPlaceholder"),style:gh})});let d=r.trim();return jsxs("div",{onClick:l=>l.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:l=>l?.focus({preventScroll:true}),type:"text",value:r,onChange:l=>n(l.target.value),onMouseDown:l=>l.stopPropagation(),onKeyDown:l=>{l.stopPropagation(),l.key==="Enter"&&(l.preventDefault(),d&&e(d),n(""),o(false)),l.key==="Escape"&&(o(false),n(""));},placeholder:u("comments.replyPlaceholder"),style:fh}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:l=>{l.stopPropagation(),o(false),n("");},style:yn,children:u("common.cancel")}),jsx("button",{onClick:l=>{l.stopPropagation(),d&&e(d),n(""),o(false);},disabled:!d,style:vn(!!d),children:u("common.reply")})]})]})}var Pn=CARD_STYLE_COLLAPSED,Tn=CARD_STYLE_EXPANDED;function Rl({comment:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onReply:u,onResolve:d,onUnresolve:l,onDelete:m}){let[s,a]=useState(false),{t:h}=b();return jsxs("div",{ref:n,"data-comment-id":e.id,className:"docx-comment-card",onClick:r,onMouseDown:f=>f.stopPropagation(),style:{...o?Tn:Pn},children:[e.done&&jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",marginBottom:8,fontSize:11,fontWeight:500,color:"var(--doc-success)",backgroundColor:"var(--doc-success-bg)",borderRadius:10},children:[jsx(b$1,{name:"check",size:12}),h("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:to(e.author||"U"),children:getInitials(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--doc-text)"},children:e.author||h("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:f=>{f.stopPropagation(),e.done?l?.(e.id):d?.(e.id);},title:e.done?h("comments.reopen"):h("comments.resolve"),style:eo,children:jsx(b$1,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:f=>{f.stopPropagation(),a(!s);},title:h("comments.moreOptions"),style:eo,children:jsx(b$1,{name:"more_vert",size:20})}),s&&jsx("div",{onClick:f=>f.stopPropagation(),onMouseDown:f=>f.stopPropagation(),style:{position:"absolute",top:32,right:0,background:"var(--doc-surface)",borderRadius:8,boxShadow:"0 2px 6px var(--doc-shadow-strong), 0 1px 2px var(--doc-shadow)",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:"var(--doc-text)",cursor:"pointer",fontFamily:"inherit"},onMouseOver:f=>{f.target.style.backgroundColor="var(--doc-bg-hover)";},onMouseOut:f=>{f.target.style.backgroundColor="transparent";},children:h("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"var(--doc-text)",lineHeight:"20px",marginTop:6},children:getCommentText(e.content)}),jsx(xn,{replies:t,isExpanded:o}),o&&!e.done&&jsx(Rn,{onSubmit:f=>u?.(e.id,f)})]})}function Pl({change:e,replies:t,isExpanded:o,onToggleExpand:r,measureRef:n,onAccept:u,onReject:d,onAcceptById:l,onRejectById:m,onReply:s}){let{t:a}=b(),h=e.author||a("trackedChanges.unknown"),f=()=>{let p=new Set([e.revisionId]);e.type==="replacement"&&e.insertionRevisionId!=null&&p.add(e.insertionRevisionId);for(let g of e.coalescedRevisionIds??[])p.add(g);return [...p]},b$2=p=>{if(p.stopPropagation(),l)for(let g of f())l(g);else u?.(e.from,e.to);},i=p=>{if(p.stopPropagation(),m)for(let g of f())m(g);else d?.(e.from,e.to);};return jsxs("div",{ref:n,className:"docx-tracked-change-card",onClick:()=>r(),onMouseDown:p=>p.stopPropagation(),style:o?Tn:Pn,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:to(h),children:getInitials(h)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--doc-text)"},children:h}),e.date&&jsx("div",{style:{fontSize:11,color:"var(--doc-text-muted)"},children:formatDate(e.date)})]}),o&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2},children:[jsx("button",{onClick:b$2,title:a("common.accept"),style:eo,children:jsx(b$1,{name:"check",size:20})}),jsx("button",{onClick:i,title:a("common.reject"),style:eo,children:jsx(b$1,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"var(--doc-text)",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[a("trackedChanges.replaced")," ",jsxs("span",{style:{color:"var(--doc-error)",fontWeight:500},children:['"',truncateText(e.deletedText||""),'"']})," ",a("trackedChanges.with")," ",jsxs("span",{style:{color:"var(--doc-success)",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):e.type==="paragraphMarkInsertion"?jsxs(Fragment,{children:[a("revisions.paragraphMarkInserted"),e.text?jsxs(Fragment,{children:[": ",jsxs("span",{style:{color:"var(--doc-success)",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:"var(--doc-error)",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:"var(--doc-text-muted)",fontWeight:500},children:['"',truncateText(e.text),'"']})]}):null]}):e.type==="rowInserted"?jsx("span",{style:{color:"var(--doc-success)",fontWeight:500},children:a("revisions.rowInserted")}):e.type==="rowDeleted"?jsx("span",{style:{color:"var(--doc-error)",fontWeight:500},children:a("revisions.rowDeleted")}):e.type==="cellInserted"?jsx("span",{style:{color:"var(--doc-success)",fontWeight:500},children:a("revisions.cellInserted")}):e.type==="cellDeleted"?jsx("span",{style:{color:"var(--doc-error)",fontWeight:500},children:a("revisions.cellDeleted")}):e.type==="cellMerged"?jsx("span",{style:{color:"var(--doc-text-muted)",fontWeight:500},children:a("revisions.cellMerged")}):e.type==="rowPropertiesChanged"?jsx("span",{style:{color:"var(--doc-text-muted)"},children:a("revisions.rowPropertiesChanged")}):e.type==="cellPropertiesChanged"?jsx("span",{style:{color:"var(--doc-text-muted)"},children:a("revisions.cellPropertiesChanged")}):e.type==="tablePropertiesChanged"?jsx("span",{style:{color:"var(--doc-text-muted)"},children:a("revisions.tablePropertiesChanged")}):e.type==="tableInserted"?jsx("span",{style:{color:"var(--doc-success)",fontWeight:500},children:a("revisions.tableInserted")}):e.type==="tableDeleted"?jsx("span",{style:{color:"var(--doc-error)",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"?"var(--doc-success)":"var(--doc-error)",fontWeight:500},children:['"',truncateText(e.text),'"']})]})}),jsx(xn,{replies:t,isExpanded:o}),o&&jsx(Rn,{onSubmit:p=>s?.(e.revisionId,p)})]})}function wl({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:l=>l.stopPropagation(),style:{padding:12,borderRadius:8,backgroundColor:"var(--doc-surface)",boxShadow:"0 1px 3px var(--doc-shadow-strong), 0 4px 8px 3px var(--doc-shadow)",zIndex:50},children:[jsx("textarea",{ref:l=>l?.focus({preventScroll:true}),value:r,onChange:l=>n(l.target.value),onMouseDown:l=>l.stopPropagation(),onKeyDown:l=>{l.stopPropagation(),l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),d()),l.key==="Escape"&&(o?.(),n(""));},placeholder:u("comments.addComment"),style:{width:"100%",border:"1px solid var(--doc-primary)",borderRadius:20,outline:"none",resize:"none",fontSize:14,lineHeight:"20px",padding:"8px 16px",fontFamily:"inherit",minHeight:40,boxSizing:"border-box",color:"var(--doc-text)"}}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:()=>{o?.(),n("");},style:yn,children:u("common.cancel")}),jsx("button",{onClick:d,disabled:!r.trim(),style:vn(!!r.trim()),children:u("common.comment")})]})]})}function Il({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:"var(--doc-text-muted)",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 kl({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]),l=useMemo(()=>{let m=new Map;for(let s of e)if(s.parentId!=null){let a=m.get(s.parentId);a?a.push(s):m.set(s.parentId,[s]);}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:s=>jsx(wl,{...s,onSubmit:o.onAddComment,onCancel:o.onCancelAddComment})});for(let s of d){let a=l.get(s.id)??[];m.push({id:`comment-${s.id}`,anchorPos:0,anchorKey:`comment-${s.id}`,priority:0,estimatedHeight:s.done?28:80,render:h=>s.done&&!h.isExpanded?jsx(Il,{...h,comment:s}):jsx(Rl,{...h,comment:s,replies:a,onReply:o.onCommentReply,onResolve:o.onCommentResolve,onUnresolve:o.onCommentUnresolve,onDelete:o.onCommentDelete})});}return t.forEach((s,a)=>{let h=l.get(s.revisionId)??[];m.push({id:`tc-${s.revisionId}-${a}`,anchorPos:s.from,anchorKey:`revision-${s.revisionId}`,priority:1,estimatedHeight:80,render:f=>jsx(Pl,{...f,change:s,replies:h,onAccept:o.onAcceptChange,onReject:o.onRejectChange,onAcceptById:o.onAcceptChangeById,onRejectById:o.onRejectChangeById,onReply:o.onTrackedChangeReply})});}),m},[d,t,l,o,n,u])}function Ml(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"20px",color:"var(--doc-text-muted)"},children:[jsx("div",{style:{width:"36px",height:"36px",border:"3px solid var(--doc-border)",borderTopColor:"var(--doc-primary)",borderRadius:"50%",animation:"docx-spin 0.8s linear infinite"}}),jsx("style",{children:`
|
|
29
29
|
@keyframes docx-spin {
|
|
30
30
|
to { transform: rotate(360deg); }
|
|
31
31
|
}
|
|
32
|
-
`}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function Sl(){let{t:e}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--doc-text-placeholder)"},children:[jsxs("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsx("polyline",{points:"14 2 14 8 20 8"})]}),jsx("div",{style:{marginTop:"16px"},children:e("errors.noDocumentLoaded")})]})}function xl({message:e}){let{t}=b();return jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",padding:"20px",textAlign:"center"},children:[jsx("div",{style:{color:"var(--doc-error)",marginBottom:"16px"},children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M12 8v4M12 16v.01"})]})}),jsx("h3",{style:{color:"var(--doc-error)",marginBottom:"8px"},children:t("errors.failedToLoad")}),jsx("p",{style:{color:"var(--doc-text-muted)",maxWidth:"400px"},children:e})]})}function Pl(e,t,o){useEffect(()=>{loadFontDefinitions(e);},[e]),useEffect(()=>onFontsLoaded(()=>t?.()),[t]);let r=useRef(o);useEffect(()=>{r.current=o;},[o]),useEffect(()=>onFontError(n=>r.current?.(n)),[]);}var Dr=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:u,onSelectionChange:d$1,onError:s,onFontsLoaded:f,theme:i$1,showToolbar:a=true,showZoomControl:g=true,showMarginGuides:l=false,marginGuideColor:S,showRuler:c=false,rulerUnit:m$1="inch",initialZoom:b=1,readOnly:C=false,disableFindReplaceShortcuts:h=false,toolbarExtra:p,className:R="",style:v,placeholder:y,loadingIndicator:x,showOutline:P=false,showOutlineButton:k=true,fontFamilies:T,fonts:I,printOptions:w,onPrint:D,onCopy:H,onCut:O,onPaste:U,mode:G,onModeChange:W,onCommentAdd:K,onCommentResolve:V,onCommentDelete:oe,onCommentReply:re,comments:ae,onCommentsChange:de,externalPlugins:Pe,externalContent:ve=false,onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,pluginSidebarItems:M,pluginRenderedDomContext:A,renderLogo:z,documentName:Q,onDocumentNameChange:N,documentNameEditable:L=true,renderTitleBarRight:ee,i18n:X,agentPanel:J},ie){let[_,te]=useState({isLoading:!!t&&!ve,parseError:null,zoom:b,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Ce,le]=useState(null),[ke,De]=useState(false),[we,be]=useState(false),Ae=useRef(false),[j,ne]=useState(null),B=useRef(null),{comments:ue,setComments:fe,isAddingComment:Te,setIsAddingComment:et,isAddingCommentRef:Wt,commentSelectionRange:gt,setCommentSelectionRange:Le,addCommentYPosition:$e,setAddCommentYPosition:Et,floatingCommentBtn:Io,setFloatingCommentBtn:It,cleanOrphanedCommentsTimerRef:Vt,cleanOrphanedComments:ko}=$i({commentsProp:ae,onCommentDelete:oe,onCommentsChange:de,pagedEditorRef:B}),[to,oo]=useState(null),{entries:bt,commentToRevision:In}=d(to),[Ut,Mo]=useState(Yo),[kn,Mn]=useState(G??"editing"),kt=G??kn,Dn=E=>{G||Mn(E),W?.(E);},Ye=C||kt==="viewing",[Hn,Fn]=useState(false),no=J?.open!==void 0,Do=J?no?!!J.open:Hn:false,Ho=useCallback(E=>{J?.onOpenChange?.(E),no||Fn(E);},[J,no]),Fo=useRef(new Set),Lo=useRef(new Set),xe=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),ro=useMemo(()=>{let E=new ExtensionManager(createStarterKit());return E.buildSchema(),E.initializeRuntime(),E},[]),Y=useMemo(()=>createSuggestionModePlugin(kt==="suggesting",n),[]),he=useMemo(()=>[Y,...Pe??[]],[Y,Pe]),pe=useRef(null),Oe=useRef(null),Ne=useRef(null),$t=useRef(null),ht=useRef(null),yt=useRef(null),{showOutline:Hr,setShowOutline:Fr,showOutlineRef:kl,outlineHeadings:Ml,setHeadingInfos:Ln,toolbarHeight:Lr,toolbarRefCallback:Dl,editorScrollLeft:Ar}=si({showOutlineProp:P,pagedEditorRef:B,scrollContainerRef:yt,isLoading:_.isLoading}),io=useRef(xe.state);io.current=xe.state;let Or=useRef({style:"single",size:4,color:{rgb:"000000"}}),Br=useRef(null),Ao=useCallback(E=>{let F=Br.current;if(F&&F.styles===E)return F.resolver;let q=createStyleResolver(E);return Br.current={styles:E,resolver:q},q},[]),{getActiveEditorView:it,focusActiveEditor:Mt,undoActiveEditor:Hl,redoActiveEditor:Fl}=Zi({hfEditPosition:Ce,hfEditorRef:pe,pagedEditorRef:B}),ao=b$2(),Oo=m(),zr=useRef(false),Nr=useRef(false),so=useRef(createCommentIdAllocator()),{resetForNewDocument:Ll}=Gs({commentsLoadedRef:zr,trackedChangesLoadedRef:Nr,setComments:fe,setHeadingInfos:Ln,setShowCommentsSidebar:be,setIsAddingComment:et,setCommentSelectionRange:Le,setAddCommentYPosition:Et,setFloatingCommentBtn:It,setHfEditPosition:le,setHfEditIsFirstPage:De,setAnchorPositions:Mo,clearFindReplaceMatches:useCallback(()=>ao.setMatches([],0),[ao]),cleanOrphanedCommentsTimerRef:Vt}),{loadParsedDocument:Al,loadBuffer:_r}=Hi({documentBuffer:t,initialDocument:o,externalContent:ve,history:xe,agentRef:Oe,pagedEditorRef:B,setLoadingState:useCallback(E=>{te(F=>({...F,isLoading:E.isLoading,parseError:E.parseError}));},[]),setComments:fe,setShowCommentsSidebar:be,onError:s,resetForNewDocument:Ll,commentsLoadedRef:zr,commentIdAllocator:so.current}),{imageInputRef:Ol,docxInputRef:Bl,handleSave:zl,handleDirectPrint:Wr,handleDownloadDocument:Nl,handleOpenDocument:_l,handleDocxFileChange:Wl,handleInsertImageClick:Vl,handleImageFileChange:Ul}=di({agentRef:Oe,pagedEditorRef:B,containerRef:Ne,comments:ue,documentName:Q,onSave:r,onError:s,onPrint:D,onDocumentNameChange:N,loadBuffer:_r,getActiveEditorView:it,focusActiveEditor:Mt});useEffect(()=>{if(_.isLoading||!xe.state)return;let E=B.current?.getView();E&&oo(E.state);},[_.isLoading,xe.state]),Gi({commentToRevision:In,setComments:fe,pmState:to,isLoading:_.isLoading,trackedChangesCount:bt.length,setShowCommentsSidebar:be,trackedChangesLoadedRef:Nr}),Pl(I,f,s),useEffect(()=>{let E=B.current?.getView();E&&setSuggestionMode(kt==="suggesting",E.state,E.dispatch,n);},[kt,n]);let Bo=useCallback(E=>(xe.push(E),E),[xe]),An=useCallback(E=>{Bo(E),u?.(E);for(let q of Fo.current)try{q(E);}catch(Re){console.error("contentChange subscriber threw:",Re);}if(kl.current){let q=B.current?.getView();q&&Ln(collectHeadings(q.state.doc));}let F=B.current?.getView();F&&oo(F.state),Vt.current&&clearTimeout(Vt.current),Vt.current=setTimeout(ko,300);},[u,Bo,ko]),{recomputeFloatingCommentBtn:$l}=Xi({pagedEditorRef:B,scrollContainerRef:yt,editorContentRef:ht,isAddingCommentRef:Wt,setFloatingCommentBtn:It,readOnly:Ye,isLoading:_.isLoading,zoom:_.zoom}),{handleSelectionChange:zo}=Yi({getActiveEditorView:it,lastSelectionRef:$t,borderSpecRef:Or,theme:i$1,historyStateRef:io,getCachedStyleResolver:Ao,setFloatingCommentBtn:It,applySelectionDelta:useCallback(E=>te(F=>({...F,...E})),[]),recomputeFloatingCommentBtn:$l,onSelectionChange:d$1,selectionChangeSubscribersRef:Lo}),Vr=e({document:xe.state,onChange:An,onSelectionChange:E=>{}});li({pagedEditorRef:B,disableFindReplaceShortcuts:h,findReplace:ao,hyperlinkDialog:Oo,tableSelection:Vr});let Kl=useCallback(()=>{Fr(E=>{if(!E){let F=B.current?.getView();F&&Ln(collectHeadings(F.state.doc));}return !E});},[]),Gl=useCallback(E=>{B.current?.scrollToPosition(E),B.current?.setSelection(E+1),B.current?.focus();},[]),{imagePositionOpen:jl,setImagePositionOpen:Yl,imagePropsOpen:ql,setImagePropsOpen:Xl,footnotePropsOpen:Zl,setFootnotePropsOpen:Ql,handleImageWrapType:Jl,handleImageTransform:ec,handleApplyImagePosition:tc,handleOpenImageProperties:Ur,handleApplyImageProperties:oc,handleApplyFootnoteProperties:nc}=Pi({document:xe.state,pmImageContext:_.pmImageContext,zoom:_.zoom,getActiveEditorView:it,focusActiveEditor:Mt,pushDocument:Bo}),{tablePropsOpen:rc,setTablePropsOpen:ic,splitCellDialogState:ac,openSplitCellDialog:sc,handleTableAction:lc,handleSplitCellDialogClose:cc,handleSplitCellDialogApply:dc}=ki({getActiveEditorView:it,focusActiveEditor:Mt,tableSelection:Vr,borderSpecRef:Or,historyStateRef:io,getCachedStyleResolver:Ao}),{handleFormat:uc,handleInsertTable:pc,handleInsertPageBreak:mc,handleInsertTOC:fc}=xi({getActiveEditorView:it,focusActiveEditor:Mt,pagedEditorRef:B,lastSelectionRef:$t,hyperlinkDialog:Oo,historyStateRef:io,getCachedStyleResolver:Ao}),gc=useCallback(E=>{te(F=>({...F,zoom:E}));},[]),{hyperlinkPopupData:bc,handleHyperlinkSubmit:hc,handleHyperlinkRemove:yc,handleHyperlinkClick:vc,handleHyperlinkPopupNavigate:Cc,handleHyperlinkPopupCopy:Rc,handleHyperlinkPopupEdit:Sc,handleHyperlinkPopupRemove:xc,handleHyperlinkPopupClose:Pc}=hi({hyperlinkDialog:Oo,getActiveEditorView:it,focusActiveEditor:Mt}),{contextMenu:wc,imageContextMenu:Tc,handleEditorContextMenu:Ec,handleContextMenu:Ic,handleContextMenuClose:kc,handleImageWrapApply:Mc,imageContextMenuTextActions:Dc,contextMenuItems:Hc,handleContextMenuAction:Fc}=Vi({getActiveEditorView:it,focusActiveEditor:Mt,openSplitCellDialog:sc,scrollContainerRef:yt,editorContentRef:ht,i18n:X,onAddComment:useCallback(({from:E,to:F,yPos:q})=>{Le({from:E,to:F}),Et(q),be(true),et(true),It(null);},[])}),{showPageSetup:Lc,setShowPageSetup:Ac,handleOpenPageSetup:Oc,handleLeftMarginChange:Bc,handleRightMarginChange:zc,handleTopMarginChange:Nc,handleBottomMarginChange:_c,handlePageSetupApply:Wc,handleIndentLeftChange:Vc,handleIndentRightChange:Uc,handleFirstLineIndentChange:$c,handleTabStopRemove:Kc}=pi({document:xe.state,readOnly:Ye,handleDocumentChange:An,getActiveEditorView:it}),{showWatermark:Gc,setShowWatermark:jc,handleOpenWatermark:Yc,currentWatermark:qc,handleWatermarkApply:Xc}=fi({readOnly:Ye,getBodyEditorView:()=>B.current?.getView()}),{scrollPageInfo:$r,setScrollPageInfo:Zc}=Qi({scrollContainerRef:yt,pagedEditorRef:B}),Qc=useCallback(E=>{s?.(E);},[s]),{findResultRef:Jc,handleFind:ed,handleFindNext:td,handleFindPrevious:od,handleReplace:nd,handleReplaceAll:rd}=Ci({pagedEditorRef:B,findReplace:ao});Ti({ref:ie,agentRef:Oe,document:xe.state,historyStateRef:io,pagedEditorRef:B,handleSave:zl,handleDirectPrint:Wr,zoom:_.zoom,setZoom:E=>te(F=>({...F,zoom:E})),scrollPageInfo:$r,loadParsedDocument:Al,loadBuffer:_r,comments:ue,setComments:fe,setShowCommentsSidebar:be,contentChangeSubscribersRef:Fo,selectionChangeSubscribersRef:Lo,getCachedStyleResolver:Ao,commentIdAllocator:so.current});let On=useMemo(()=>Bi(xe.state),[xe.state]),Kr=xe.state?.package.document?.finalSectionProperties,{headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,handleHeaderFooterDoubleClick:cd,handleHeaderFooterSave:dd,handleBodyClick:ud,handleRemoveHeaderFooter:pd,getHfTargetElement:md}=Mi({document:xe.state,pushDocument:Bo,hfEditorRef:pe,containerRef:Ne,initialSectionProperties:On,finalSectionProperties:Kr,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,setHfEditIsFirstPage:De}),No={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...v},fd={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ke=useRef({});Ke.current={onCommentReply:(E,F)=>{let q=createComment(so.current,F,n,E),Re=ue.find(He=>He.id===E);fe(He=>[...He,q]),Re&&re?.(q,Re);},onCommentResolve:E=>{let F=ue.find(q=>q.id===E);fe(q=>q.map(Re=>Re.id===E?{...Re,done:true}:Re)),j===`comment-${E}`&&ne(null),F&&V?.({...F,done:true});},onCommentUnresolve:E=>{fe(F=>F.map(q=>q.id===E?{...q,done:void 0}:q));},onCommentDelete:E=>{let F=ue.find(Re=>Re.id===E);fe(Re=>Re.filter(He=>He.id!==E&&He.parentId!==E));let q=B.current?.getView();if(q){let Re=q.state.schema.marks.comment?.create({commentId:E});if(Re){let He=q.state.tr.removeMark(0,q.state.doc.content.size,Re);He.docChanged&&q.dispatch(He);}}F&&oe?.(F);},onAddComment:E=>{let F=createComment(so.current,E,n),q=B.current?.getView();if(q&>){let{from:Re,to:He}=gt,at=q.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Ht=q.state.schema.marks.comment.create({commentId:F.id}),Nn=q.state.tr.removeMark(Re,He,at).addMark(Re,He,Ht);q.dispatch(Nn);}fe(Re=>[...Re,F]),et(false),Le(null),Et(null),K?.(F);},onCancelAddComment:()=>{let E=B.current?.getView();if(E&>){let{from:F,to:q}=gt,Re=E.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID});E.dispatch(E.state.tr.removeMark(F,q,Re));}et(false),Le(null),Et(null);},onAcceptChange:(E,F)=>{let q=B.current?.getView();q&&acceptChange(E,F)(q.state,q.dispatch);},onRejectChange:(E,F)=>{let q=B.current?.getView();q&&rejectChange(E,F)(q.state,q.dispatch);},onAcceptChangeById:E=>{let F=B.current?.getView();F&&acceptChangeById(E)(F.state,F.dispatch);},onRejectChangeById:E=>{let F=B.current?.getView();F&&rejectChangeById(E)(F.state,F.dispatch);},onTrackedChangeReply:(E,F)=>{fe(q=>[...q,createComment(so.current,F,n,E)]);}};let gd=useMemo(()=>({onCommentReply:(...E)=>Ke.current.onCommentReply?.(...E),onCommentResolve:(...E)=>Ke.current.onCommentResolve?.(...E),onCommentUnresolve:(...E)=>Ke.current.onCommentUnresolve?.(...E),onCommentDelete:(...E)=>Ke.current.onCommentDelete?.(...E),onAddComment:(...E)=>Ke.current.onAddComment?.(...E),onCancelAddComment:(...E)=>Ke.current.onCancelAddComment?.(...E),onAcceptChange:(...E)=>Ke.current.onAcceptChange?.(...E),onRejectChange:(...E)=>Ke.current.onRejectChange?.(...E),onAcceptChangeById:(...E)=>Ke.current.onAcceptChangeById?.(...E),onRejectChangeById:(...E)=>Ke.current.onRejectChangeById?.(...E),onTrackedChangeReply:(...E)=>Ke.current.onTrackedChangeReply?.(...E)}),[]),Dt=Cl({comments:ue,trackedChanges:bt,callbacks:gd,showResolved:we,isAddingComment:we?Te:false,addCommentYPosition:$e}),Gr=useMemo(()=>{let E=[];return we&&E.push(...Dt),M&&E.push(...M),E},[we,Dt,M]),Bn=useMemo(()=>{let E=new Map;return bt.forEach((F,q)=>{F.type==="replacement"&&F.insertionRevisionId!=null&&E.set(String(F.insertionRevisionId),`tc-${F.revisionId}-${q}`);}),E},[bt]),zn=Gr.length>0,bd=2*(Hr?rl:k?il:20)+816+(zn?SIDEBAR_DOCUMENT_SHIFT*2:0),jr=xe.state?.package?.document?.finalSectionProperties?.pageWidth,hd=jr?Math.round(jr/15):816,vt=useMemo(()=>{let E=new Set;for(let F of ue)F.done&&F.parentId==null&&E.add(F.id);return E},[ue]),yd=useCallback(()=>{let E=B.current?.getView();if(!E){zo(null);return}let F=extractSelectionState(E.state);zo(F);let q=E.state.selection.$from,Re=[...E.state.storedMarks??[],...q.nodeAfter?.marks??[],...q.nodeBefore?.marks??[],...q.marks()],He=null;for(let at of Re){if(at.type.name==="comment"&&at.attrs.commentId!=null){let Ht=at.attrs.commentId;if(vt.has(Ht))continue;He=`comment-${Ht}`;break}if((at.type.name==="insertion"||at.type.name==="deletion")&&at.attrs.revisionId!=null){let Ht=String(at.attrs.revisionId),Nn=`tc-${Ht}-`,_o=Dt.find(Wo=>Wo.id.startsWith(Nn));if(!_o&&Bn){let Wo=Bn.get(Ht);Wo&&(_o=Dt.find(Rd=>Rd.id===Wo));}if(_o){He=_o.id;break}}}He&&be(true),ne(He);},[zo,vt,Dt,Bn]);useEffect(()=>{Ae.current||Dt.length!==0&&(Ae.current=true,be(true));},[Dt]);let vd=useMemo(()=>{if(!j?.startsWith("comment-"))return vt;let E=parseInt(j.slice(8),10);if(isNaN(E)||!vt.has(E))return vt;let F=new Set(vt);return F.delete(E),F},[vt,j]),Cd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return _.isLoading?jsx("div",{className:`ep-root docx-editor docx-editor-loading ${R}`,style:No,"data-testid":"docx-editor",children:x||jsx(Rl,{})}):_.parseError?jsx("div",{className:`ep-root docx-editor docx-editor-error ${R}`,style:No,"data-testid":"docx-editor",children:jsx(xl,{message:_.parseError})}):xe.state?jsx(ul,{i18n:X,onEditorError:Qc,containerRef:Ne,scrollContainerRef:yt,editorContentRef:ht,className:R,containerStyle:No,mainContentStyle:fd,editorContainerStyle:Cd,showRuler:c,readOnlyProp:C,showOutline:Hr,showOutlineButton:k,sidebarOpen:zn,minLayoutWidth:bd,toolbarHeight:Lr,editorScrollLeft:Ar,expandedSidebarItem:j,trackedChanges:bt,onScrollContainerMouseDown:E=>{let F=E.target;F.closest(".paged-editor__pages")||F.closest(".docx-unified-sidebar")||F.closest(".docx-comment-margin-markers")||ne(null);},onEditorBgMouseDown:E=>{E.target===E.currentTarget&&(E.preventDefault(),B.current?.focus());},onEditorContextMenu:Ec,horizontalRulerProps:{sectionProps:xe.state?.package.document?.finalSectionProperties,zoom:_.zoom,unit:m$1,editable:!Ye,onLeftMarginChange:Bc,onRightMarginChange:zc,indentLeft:_.paragraphIndentLeft,indentRight:_.paragraphIndentRight,onIndentLeftChange:Vc,onIndentRightChange:Uc,firstLineIndent:_.paragraphFirstLineIndent,hangingIndent:_.paragraphHangingIndent,onFirstLineIndentChange:$c,tabStops:_.paragraphTabs,onTabStopRemove:Kc},verticalRulerProps:{sectionProps:On,zoom:_.zoom,unit:m$1,editable:!Ye,onTopMarginChange:Nc,onBottomMarginChange:_c},outlineProps:{headings:Ml,onHeadingClick:Gl,onClose:()=>Fr(false),topOffset:Lr,scrollLeft:Ar},onToggleOutline:Kl,scrollPageInfo:$r,agentPanel:J,agentPanelOpen:Do,onAgentPanelClose:()=>Ho(false),toolbar:a&&!C?jsx(aa,{toolbarRefCallback:Dl,agentPanelOpen:Do,setAgentPanelOpen:Ho,document:xe.state,theme:i$1,pmState:to,selectionFormatting:_.selectionFormatting,tableContext:_.pmTableContext,imageContext:_.pmImageContext,readOnly:Ye,editingMode:kt,setEditingMode:Dn,setShowCommentsSidebar:be,setExpandedSidebarItem:ne,showCommentsSidebar:we,agentPanel:J,renderLogo:z,documentName:Q,onDocumentNameChange:N,documentNameEditable:L,renderTitleBarRight:ee,toolbarExtra:p,fontFamilies:T,zoom:_.zoom,showZoomControl:g,onFormat:uc,onUndo:Hl,onRedo:Fl,onPrint:Wr,onOpen:_l,onSave:Nl,onZoomChange:gc,onRefocusEditor:Mt,onInsertTable:pc,onInsertImage:Vl,onInsertPageBreak:mc,onInsertTOC:fc,onImageWrapType:Jl,onImageTransform:ec,onOpenImageProperties:Ur,onPageSetup:Oc,onWatermark:Yc,onTableAction:lc}):null,pagedArea:jsxs(Fragment,{children:[jsx($s,{pagedEditorRef:B,hfEditorRef:pe,scrollContainerRef:yt,editorContentRef:ht,document:xe.state,theme:i$1,initialSectionProperties:On,finalSectionProperties:Kr,headerContent:id,footerContent:ad,firstPageHeaderContent:sd,firstPageFooterContent:ld,hfEditPosition:Ce,setHfEditPosition:le,hfEditIsFirstPage:ke,onHeaderFooterDoubleClick:cd,onHeaderFooterSave:dd,onRemoveHeaderFooter:pd,onBodyClick:ud,getHfTargetElement:md,zoom:_.zoom,readOnly:Ye,extensionManager:ro,externalPlugins:he,onDocumentChange:An,onSelectionChange:zo,onPagedSelectionChange:yd,onReady:E=>{let F=E.getView();F&&oo(F.state);},onEditorViewReady:ge,onRenderedDomContextReady:ce,pluginOverlays:Se,onHyperlinkClick:vc,hyperlinkPopupData:bc,onHyperlinkPopupNavigate:Cc,onHyperlinkPopupCopy:Rc,onHyperlinkPopupEdit:Sc,onHyperlinkPopupRemove:xc,onHyperlinkPopupClose:Pc,onContextMenu:Ic,sidebarOpen:zn,sidebarItems:Gr,anchorPositions:Ut,onAnchorPositionsChange:Mo,pluginRenderedDomContext:A,pageWidthPx:hd,expandedSidebarItem:j,setExpandedSidebarItem:ne,comments:ue,resolvedCommentIds:vt,resolvedIdsForRender:vd,setShowCommentsSidebar:be,onTotalPagesChange:E=>{Zc(F=>F.totalPages===E?F:{...F,totalPages:E});},floatingCommentBtn:Io,isAddingComment:Te,setCommentSelectionRange:Le,setAddCommentYPosition:Et,setIsAddingComment:et,setFloatingCommentBtn:It}),!Ye&&jsx(Ks,{containerRef:Ne,getView:()=>B.current?.getView()??null})]}),overlays:jsx(Ji,{contextMenu:wc,contextMenuItems:Hc,onContextMenuAction:Fc,onContextMenuClose:kc,imageContextMenu:Tc,onImageWrapApply:Mc,imageContextMenuTextActions:Dc,onOpenImageProperties:Ur,readOnly:Ye}),dialogs:jsx(ea,{findReplace:ao,findResultRef:Jc,onFind:ed,onFindNext:td,onFindPrevious:od,onReplace:nd,onReplaceAll:rd,hyperlinkDialog:Oo,onHyperlinkSubmit:hc,onHyperlinkRemove:yc,tablePropsOpen:rc,onTablePropsClose:()=>ic(false),pmTableContext:_.pmTableContext,getActiveEditorView:it,splitCellDialogState:ac,onSplitCellDialogClose:cc,onSplitCellDialogApply:dc,imagePositionOpen:jl,onImagePositionClose:()=>Yl(false),onApplyImagePosition:tc,imagePropsOpen:ql,onImagePropsClose:()=>Xl(false),onApplyImageProperties:oc,pmImageContext:_.pmImageContext,showPageSetup:Lc,onPageSetupClose:()=>Ac(false),onPageSetupApply:Wc,showWatermark:Gc,onWatermarkClose:()=>jc(false),onWatermarkApply:Xc,currentWatermark:qc,document:xe.state,footnotePropsOpen:Zl,onFootnotePropsClose:()=>Ql(false),onApplyFootnoteProperties:nc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Ol,type:"file",accept:"image/*",style:{display:"none"},onChange:Ul}),jsx("input",{ref:Bl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Wl})]})}):jsx("div",{className:`ep-root docx-editor docx-editor-empty ${R}`,style:No,"data-testid":"docx-editor",children:y||jsx(Sl,{})})});function fh(e,t,o={}){return new Promise((r,n)=>{let u=Il.createRef(),d=null;try{d=createRoot(t);}catch(a){n(a);return}let s={save:async()=>{let a=await(u.current?.save()??Promise.resolve(null));return a?new Blob([a],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>u.current?.getDocument()??null,focus:()=>u.current?.focus(),setZoom:a=>u.current?.setZoom(a),scrollToParaId:a=>u.current?.scrollToParaId(a)??false,scrollToPosition:a=>u.current?.scrollToPosition(a),destroy:()=>{d?.unmount(),d=null;}},f=false,i=Il.createElement(Dr,{...o,documentBuffer:e,onError:a=>{o.onError?.(a),f||(f=true,n(a));},onChange:a=>{o.onChange?.(a),f||(f=true,r(s));},ref:u});d.render(i);})}var cT="0.0.2";export{Dr as DocxEditor,cT as VERSION,fh as renderAsync};
|
|
32
|
+
`}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function Dl(){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 Hl({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 Fl(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 Br=forwardRef(function({documentBuffer:t,document:o,onSave:r,author:n="User",onChange:u,onSelectionChange:d$1,onError:l,onFontsLoaded:m$1,colorMode:s="light",theme:a,showToolbar:h=true,showZoomControl:f=true,showMarginGuides:b=false,marginGuideColor:i$1,showRuler:p=false,rulerUnit:g="inch",initialZoom:x=1,readOnly:y=false,disableFindReplaceShortcuts:c=false,toolbarExtra:S,className:v="",style:C,placeholder:R,loadingIndicator:P,showOutline:k=false,showOutlineButton:E=true,fontFamilies:I,fonts:w,watermarkPresets:D,printOptions:H,onPrint:O,onCopy:B,onCut:_,onPaste:W,mode:Z,onModeChange:Y,onCommentAdd:J,onCommentResolve:te,onCommentDelete:ne,onCommentReply:me,comments:ke,onCommentsChange:Ce,externalPlugins:M,externalContent:F=false,onEditorViewReady:N,onRenderedDomContextReady:A,pluginOverlays:z,pluginSidebarItems:V,pluginRenderedDomContext:se,renderLogo:ee,documentName:$,onDocumentNameChange:de,documentNameEditable:re=true,renderTitleBarRight:X,i18n:oe,agentPanel:le},Re){let[Q,he]=useState({isLoading:!!t&&!F,parseError:null,zoom:x,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Pe,Ae]=useState(prefersColorSchemeDark);useEffect(()=>{if(s==="system")return subscribeSystemDark(Ae)},[s]);let Oe=resolveIsDark(s,Pe),[De,He]=useState(null),[q,ue]=useState(false),[ce,fe]=useState(false),we=useRef(false),[Se,et]=useState(null),ae=useRef(null),{comments:ze,setComments:Te,isAddingComment:_e,setIsAddingComment:Pt,isAddingCommentRef:Fo,commentSelectionRange:Wt,setCommentSelectionRange:Tt,addCommentYPosition:kn,setAddCommentYPosition:wt,floatingCommentBtn:Mn,setFloatingCommentBtn:ht,cleanOrphanedCommentsTimerRef:Vt,cleanOrphanedComments:Et}=Zi({commentsProp:ke,onCommentDelete:ne,onCommentsChange:Ce,pagedEditorRef:ae}),[ro,io]=useState(null),{entries:It,commentToRevision:Dn}=d(ro),[Hn,Lo]=useState(qo),[Fn,Ln]=useState(Z??"editing"),kt=Z??Fn,An=T=>{Z||Ln(T),Y?.(T);},Ye=y||kt==="viewing",[On,Bn]=useState(false),ao=le?.open!==void 0,Ut=le?ao?!!le.open:On:false,G=useCallback(T=>{le?.onOpenChange?.(T),ao||Bn(T);},[le,ao]),ye=useRef(new Set),ge=useRef(new Set),pe=i(o||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),tt=useMemo(()=>{let T=new ExtensionManager(createStarterKit());return T.buildSchema(),T.initializeRuntime(),T},[]),$t=useMemo(()=>createSuggestionModePlugin(kt==="suggesting",n),[]),so=useMemo(()=>[$t,...M??[]],[$t,M]),lo=useRef(null),Nn=useRef(null),Ao=useRef(null),Nr=useRef(null),Oo=useRef(null),Gt=useRef(null),{showOutline:zr,setShowOutline:_r,showOutlineRef:Nl,outlineHeadings:zl,setHeadingInfos:zn,toolbarHeight:Wr,toolbarRefCallback:_l,editorScrollLeft:Vr}=fi({showOutlineProp:k,pagedEditorRef:ae,scrollContainerRef:Gt,isLoading:Q.isLoading}),co=useRef(pe.state);co.current=pe.state;let Ur=useRef({style:"single",size:4,color:{rgb:"000000"}}),$r=useRef(null),Bo=useCallback(T=>{let L=$r.current;if(L&&L.styles===T)return L.resolver;let K=createStyleResolver(T);return $r.current={styles:T,resolver:K},K},[]),{getActiveEditorView:lt,focusActiveEditor:Mt,undoActiveEditor:Wl,redoActiveEditor:Vl}=ra({hfEditPosition:De,hfEditorRef:lo,pagedEditorRef:ae}),uo=b$2(),No=m(),Gr=useRef(false),Kr=useRef(false),po=useRef(createCommentIdAllocator()),{resetForNewDocument:Ul}=tl({commentsLoadedRef:Gr,trackedChangesLoadedRef:Kr,setComments:Te,setHeadingInfos:zn,setShowCommentsSidebar:fe,setIsAddingComment:Pt,setCommentSelectionRange:Tt,setAddCommentYPosition:wt,setFloatingCommentBtn:ht,setHfEditPosition:He,setHfEditIsFirstPage:ue,setAnchorPositions:Lo,clearFindReplaceMatches:useCallback(()=>uo.setMatches([],0),[uo]),cleanOrphanedCommentsTimerRef:Vt}),{loadParsedDocument:$l,loadBuffer:jr}=zi({documentBuffer:t,initialDocument:o,externalContent:F,history:pe,agentRef:Nn,pagedEditorRef:ae,setLoadingState:useCallback(T=>{he(L=>({...L,isLoading:T.isLoading,parseError:T.parseError}));},[]),setComments:Te,setShowCommentsSidebar:fe,onError:l,resetForNewDocument:Ul,commentsLoadedRef:Gr,commentIdAllocator:po.current}),{imageInputRef:Gl,docxInputRef:Kl,handleSave:jl,handleDirectPrint:Yr,handleDownloadDocument:Yl,handleOpenDocument:ql,handleDocxFileChange:Xl,handleInsertImageClick:Zl,handleImageFileChange:Ql}=hi({agentRef:Nn,pagedEditorRef:ae,containerRef:Ao,comments:ze,documentName:$,onSave:r,onError:l,onPrint:O,onDocumentNameChange:de,loadBuffer:jr,getActiveEditorView:lt,focusActiveEditor:Mt});useEffect(()=>{if(Q.isLoading||!pe.state)return;let T=ae.current?.getView();T&&io(T.state);},[Q.isLoading,pe.state]),Ji({commentToRevision:Dn,setComments:Te,pmState:ro,isLoading:Q.isLoading,trackedChangesCount:It.length,setShowCommentsSidebar:fe,trackedChangesLoadedRef:Kr}),Fl(w,m$1,l),useEffect(()=>{let T=ae.current?.getView();T&&setSuggestionMode(kt==="suggesting",T.state,T.dispatch,n);},[kt,n]);let zo=useCallback(T=>(pe.push(T),T),[pe]),_n=useCallback(T=>{zo(T),u?.(T);for(let K of ye.current)try{K(T);}catch(xe){console.error("contentChange subscriber threw:",xe);}if(Nl.current){let K=ae.current?.getView();K&&zn(collectHeadings(K.state.doc));}let L=ae.current?.getView();L&&io(L.state),Vt.current&&clearTimeout(Vt.current),Vt.current=setTimeout(Et,300);},[u,zo,Et]),{recomputeFloatingCommentBtn:Jl}=na({pagedEditorRef:ae,scrollContainerRef:Gt,editorContentRef:Oo,isAddingCommentRef:Fo,setFloatingCommentBtn:ht,readOnly:Ye,isLoading:Q.isLoading,zoom:Q.zoom}),{handleSelectionChange:_o}=ta({getActiveEditorView:lt,lastSelectionRef:Nr,borderSpecRef:Ur,theme:a,historyStateRef:co,getCachedStyleResolver:Bo,setFloatingCommentBtn:ht,applySelectionDelta:useCallback(T=>he(L=>({...L,...T})),[]),recomputeFloatingCommentBtn:Jl,onSelectionChange:d$1,selectionChangeSubscribersRef:ge}),qr=e({document:pe.state,onChange:_n,onSelectionChange:T=>{}});gi({pagedEditorRef:ae,disableFindReplaceShortcuts:c,findReplace:uo,hyperlinkDialog:No,tableSelection:qr});let ec=useCallback(()=>{_r(T=>{if(!T){let L=ae.current?.getView();L&&zn(collectHeadings(L.state.doc));}return !T});},[]),tc=useCallback(T=>{ae.current?.scrollToPosition(T),ae.current?.setSelection(T+1),ae.current?.focus();},[]),{imagePositionOpen:oc,setImagePositionOpen:nc,imagePropsOpen:rc,setImagePropsOpen:ic,footnotePropsOpen:ac,setFootnotePropsOpen:sc,handleImageWrapType:lc,handleImageTransform:cc,handleApplyImagePosition:dc,handleOpenImageProperties:Xr,handleApplyImageProperties:uc,handleApplyFootnoteProperties:pc}=Di({document:pe.state,pmImageContext:Q.pmImageContext,zoom:Q.zoom,getActiveEditorView:lt,focusActiveEditor:Mt,pushDocument:zo}),{tablePropsOpen:mc,setTablePropsOpen:fc,splitCellDialogState:gc,openSplitCellDialog:bc,handleTableAction:hc,handleSplitCellDialogClose:yc,handleSplitCellDialogApply:vc}=Oi({getActiveEditorView:lt,focusActiveEditor:Mt,tableSelection:qr,borderSpecRef:Ur,historyStateRef:co,getCachedStyleResolver:Bo}),{handleFormat:Cc,handleInsertTable:Sc,handleInsertPageBreak:xc,handleInsertSectionBreakNextPage:Rc,handleInsertSectionBreakContinuous:Pc,handleInsertTOC:Tc}=Mi({getActiveEditorView:lt,focusActiveEditor:Mt,pagedEditorRef:ae,lastSelectionRef:Nr,hyperlinkDialog:No,historyStateRef:co,getCachedStyleResolver:Bo}),wc=useCallback(T=>{he(L=>({...L,zoom:T}));},[]),{hyperlinkPopupData:Ec,handleHyperlinkSubmit:Ic,handleHyperlinkRemove:kc,handleHyperlinkClick:Mc,handleHyperlinkPopupNavigate:Dc,handleHyperlinkPopupCopy:Hc,handleHyperlinkPopupEdit:Fc,handleHyperlinkPopupRemove:Lc,handleHyperlinkPopupClose:Ac}=Pi({hyperlinkDialog:No,getActiveEditorView:lt,focusActiveEditor:Mt}),{contextMenu:Oc,imageContextMenu:Bc,handleEditorContextMenu:Nc,handleContextMenu:zc,handleContextMenuClose:_c,handleImageWrapApply:Wc,imageContextMenuTextActions:Vc,contextMenuItems:Uc,handleContextMenuAction:$c}=qi({getActiveEditorView:lt,focusActiveEditor:Mt,openSplitCellDialog:bc,scrollContainerRef:Gt,editorContentRef:Oo,i18n:oe,onAddComment:useCallback(({from:T,to:L,yPos:K})=>{Tt({from:T,to:L}),wt(K),fe(true),Pt(true),ht(null);},[])}),{showPageSetup:Gc,setShowPageSetup:Kc,handleOpenPageSetup:jc,handleLeftMarginChange:Yc,handleRightMarginChange:qc,handleTopMarginChange:Xc,handleBottomMarginChange:Zc,handlePageSetupApply:Qc,handleIndentLeftChange:Jc,handleIndentRightChange:ed,handleFirstLineIndentChange:td,handleTabStopRemove:od}=vi({document:pe.state,readOnly:Ye,handleDocumentChange:_n,getActiveEditorView:lt}),{showWatermark:nd,setShowWatermark:rd,handleOpenWatermark:id,currentWatermark:ad,handleWatermarkApply:sd}=Si({readOnly:Ye,getBodyEditorView:()=>ae.current?.getView()}),{scrollPageInfo:Zr,setScrollPageInfo:ld}=ia({scrollContainerRef:Gt,pagedEditorRef:ae}),cd=useCallback(T=>{l?.(T);},[l]),{findResultRef:dd,handleFind:ud,handleFindNext:pd,handleFindPrevious:md,handleReplace:fd,handleReplaceAll:gd}=Ei({pagedEditorRef:ae,findReplace:uo});Fi({ref:Re,agentRef:Nn,document:pe.state,historyStateRef:co,pagedEditorRef:ae,handleSave:jl,handleDirectPrint:Yr,zoom:Q.zoom,setZoom:T=>he(L=>({...L,zoom:T})),scrollPageInfo:Zr,loadParsedDocument:$l,loadBuffer:jr,comments:ze,setComments:Te,setShowCommentsSidebar:fe,contentChangeSubscribersRef:ye,selectionChangeSubscribersRef:ge,getCachedStyleResolver:Bo,commentIdAllocator:po.current});let Wn=useMemo(()=>$i(pe.state),[pe.state]),Qr=pe.state?.package.document?.finalSectionProperties,{headerContent:bd,footerContent:hd,firstPageHeaderContent:yd,firstPageFooterContent:vd,handleHeaderFooterDoubleClick:Cd,handleHeaderFooterSave:Sd,handleBodyClick:xd,handleRemoveHeaderFooter:Rd,getHfTargetElement:Pd}=Bi({document:pe.state,pushDocument:zo,hfEditorRef:lo,containerRef:Ao,initialSectionProperties:Wn,finalSectionProperties:Qr,hfEditPosition:De,setHfEditPosition:He,hfEditIsFirstPage:q,setHfEditIsFirstPage:ue}),Wo={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...C},Td={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},Ge=useRef({});Ge.current={onCommentReply:(T,L)=>{let K=createComment(po.current,L,n,T),xe=ze.find(Fe=>Fe.id===T);Te(Fe=>[...Fe,K]),xe&&me?.(K,xe);},onCommentResolve:T=>{let L=ze.find(K=>K.id===T);Te(K=>K.map(xe=>xe.id===T?{...xe,done:true}:xe)),Se===`comment-${T}`&&et(null),L&&te?.({...L,done:true});},onCommentUnresolve:T=>{Te(L=>L.map(K=>K.id===T?{...K,done:void 0}:K));},onCommentDelete:T=>{let L=ze.find(xe=>xe.id===T);Te(xe=>xe.filter(Fe=>Fe.id!==T&&Fe.parentId!==T));let K=ae.current?.getView();if(K){let xe=K.state.schema.marks.comment?.create({commentId:T});if(xe){let Fe=K.state.tr.removeMark(0,K.state.doc.content.size,xe);Fe.docChanged&&K.dispatch(Fe);}}L&&ne?.(L);},onAddComment:T=>{let L=createComment(po.current,T,n),K=ae.current?.getView();if(K&&Wt){let{from:xe,to:Fe}=Wt,ct=K.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID}),Ht=K.state.schema.marks.comment.create({commentId:L.id}),$n=K.state.tr.removeMark(xe,Fe,ct).addMark(xe,Fe,Ht);K.dispatch($n);}Te(xe=>[...xe,L]),Pt(false),Tt(null),wt(null),J?.(L);},onCancelAddComment:()=>{let T=ae.current?.getView();if(T&&Wt){let{from:L,to:K}=Wt,xe=T.state.schema.marks.comment.create({commentId:PENDING_COMMENT_ID});T.dispatch(T.state.tr.removeMark(L,K,xe));}Pt(false),Tt(null),wt(null);},onAcceptChange:(T,L)=>{let K=ae.current?.getView();K&&acceptChange(T,L)(K.state,K.dispatch);},onRejectChange:(T,L)=>{let K=ae.current?.getView();K&&rejectChange(T,L)(K.state,K.dispatch);},onAcceptChangeById:T=>{let L=ae.current?.getView();L&&acceptChangeById(T)(L.state,L.dispatch);},onRejectChangeById:T=>{let L=ae.current?.getView();L&&rejectChangeById(T)(L.state,L.dispatch);},onTrackedChangeReply:(T,L)=>{Te(K=>[...K,createComment(po.current,L,n,T)]);}};let wd=useMemo(()=>({onCommentReply:(...T)=>Ge.current.onCommentReply?.(...T),onCommentResolve:(...T)=>Ge.current.onCommentResolve?.(...T),onCommentUnresolve:(...T)=>Ge.current.onCommentUnresolve?.(...T),onCommentDelete:(...T)=>Ge.current.onCommentDelete?.(...T),onAddComment:(...T)=>Ge.current.onAddComment?.(...T),onCancelAddComment:(...T)=>Ge.current.onCancelAddComment?.(...T),onAcceptChange:(...T)=>Ge.current.onAcceptChange?.(...T),onRejectChange:(...T)=>Ge.current.onRejectChange?.(...T),onAcceptChangeById:(...T)=>Ge.current.onAcceptChangeById?.(...T),onRejectChangeById:(...T)=>Ge.current.onRejectChangeById?.(...T),onTrackedChangeReply:(...T)=>Ge.current.onTrackedChangeReply?.(...T)}),[]),Dt=kl({comments:ze,trackedChanges:It,callbacks:wd,showResolved:ce,isAddingComment:ce?_e:false,addCommentYPosition:kn}),Jr=useMemo(()=>{let T=[];return ce&&T.push(...Dt),V&&T.push(...V),T},[ce,Dt,V]),Vn=useMemo(()=>{let T=new Map;return It.forEach((L,K)=>{L.type==="replacement"&&L.insertionRevisionId!=null&&T.set(String(L.insertionRevisionId),`tc-${L.revisionId}-${K}`);}),T},[It]),Un=Jr.length>0,Ed=2*(zr?ml:E?fl:20)+816+(Un?SIDEBAR_DOCUMENT_SHIFT*2:0),ei=pe.state?.package?.document?.finalSectionProperties?.pageWidth,Id=ei?Math.round(ei/15):816,yt=useMemo(()=>{let T=new Set;for(let L of ze)L.done&&L.parentId==null&&T.add(L.id);return T},[ze]),kd=useCallback(()=>{let T=ae.current?.getView();if(!T){_o(null);return}let L=extractSelectionState(T.state);_o(L);let K=T.state.selection.$from,xe=[...T.state.storedMarks??[],...K.nodeAfter?.marks??[],...K.nodeBefore?.marks??[],...K.marks()],Fe=null;for(let ct of xe){if(ct.type.name==="comment"&&ct.attrs.commentId!=null){let Ht=ct.attrs.commentId;if(yt.has(Ht))continue;Fe=`comment-${Ht}`;break}if((ct.type.name==="insertion"||ct.type.name==="deletion")&&ct.attrs.revisionId!=null){let Ht=String(ct.attrs.revisionId),$n=`tc-${Ht}-`,Vo=Dt.find(Uo=>Uo.id.startsWith($n));if(!Vo&&Vn){let Uo=Vn.get(Ht);Uo&&(Vo=Dt.find(Hd=>Hd.id===Uo));}if(Vo){Fe=Vo.id;break}}}Fe&&fe(true),et(Fe);},[_o,yt,Dt,Vn]);useEffect(()=>{we.current||Dt.length!==0&&(we.current=true,fe(true));},[Dt]);let Md=useMemo(()=>{if(!Se?.startsWith("comment-"))return yt;let T=parseInt(Se.slice(8),10);if(isNaN(T)||!yt.has(T))return yt;let L=new Set(yt);return L.delete(T),L},[yt,Se]),Dd={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};return Q.isLoading?jsx("div",{className:a$1("ep-root docx-editor docx-editor-loading",Oe&&"dark",v),style:Wo,"data-testid":"docx-editor",children:P||jsx(Ml,{})}):Q.parseError?jsx("div",{className:a$1("ep-root docx-editor docx-editor-error",Oe&&"dark",v),style:Wo,"data-testid":"docx-editor",children:jsx(Hl,{message:Q.parseError})}):pe.state?jsx(Cl,{i18n:oe,isDark:Oe,onEditorError:cd,containerRef:Ao,scrollContainerRef:Gt,editorContentRef:Oo,className:v,containerStyle:Wo,mainContentStyle:Td,editorContainerStyle:Dd,showRuler:p,readOnlyProp:y,showOutline:zr,showOutlineButton:E,sidebarOpen:Un,minLayoutWidth:Ed,toolbarHeight:Wr,editorScrollLeft:Vr,expandedSidebarItem:Se,trackedChanges:It,onScrollContainerMouseDown:T=>{let L=T.target;L.closest(".paged-editor__pages")||L.closest(".docx-unified-sidebar")||L.closest(".docx-comment-margin-markers")||et(null);},onEditorBgMouseDown:T=>{T.target===T.currentTarget&&(T.preventDefault(),ae.current?.focus());},onEditorContextMenu:Nc,horizontalRulerProps:{sectionProps:pe.state?.package.document?.finalSectionProperties,zoom:Q.zoom,unit:g,editable:!Ye,onLeftMarginChange:Yc,onRightMarginChange:qc,indentLeft:Q.paragraphIndentLeft,indentRight:Q.paragraphIndentRight,onIndentLeftChange:Jc,onIndentRightChange:ed,firstLineIndent:Q.paragraphFirstLineIndent,hangingIndent:Q.paragraphHangingIndent,onFirstLineIndentChange:td,tabStops:Q.paragraphTabs,onTabStopRemove:od},verticalRulerProps:{sectionProps:Wn,zoom:Q.zoom,unit:g,editable:!Ye,onTopMarginChange:Xc,onBottomMarginChange:Zc},outlineProps:{headings:zl,onHeadingClick:tc,onClose:()=>_r(false),topOffset:Wr,scrollLeft:Vr},onToggleOutline:ec,scrollPageInfo:Zr,agentPanel:le,agentPanelOpen:Ut,onAgentPanelClose:()=>G(false),toolbar:h&&!y?jsx(ma,{toolbarRefCallback:_l,agentPanelOpen:Ut,setAgentPanelOpen:G,document:pe.state,theme:a,pmState:ro,selectionFormatting:Q.selectionFormatting,tableContext:Q.pmTableContext,imageContext:Q.pmImageContext,readOnly:Ye,editingMode:kt,setEditingMode:An,setShowCommentsSidebar:fe,setExpandedSidebarItem:et,showCommentsSidebar:ce,agentPanel:le,renderLogo:ee,documentName:$,onDocumentNameChange:de,documentNameEditable:re,renderTitleBarRight:X,toolbarExtra:S,fontFamilies:I,zoom:Q.zoom,showZoomControl:f,onFormat:Cc,onUndo:Wl,onRedo:Vl,onPrint:Yr,onOpen:ql,onSave:Yl,onZoomChange:wc,onRefocusEditor:Mt,onInsertTable:Sc,onInsertImage:Zl,onInsertPageBreak:xc,onInsertSectionBreakNextPage:Rc,onInsertSectionBreakContinuous:Pc,onInsertTOC:Tc,onImageWrapType:lc,onImageTransform:cc,onOpenImageProperties:Xr,onPageSetup:jc,onWatermark:id,onTableAction:hc}):null,pagedArea:jsxs(Fragment,{children:[jsx(Zs,{pagedEditorRef:ae,hfEditorRef:lo,scrollContainerRef:Gt,editorContentRef:Oo,document:pe.state,theme:a,initialSectionProperties:Wn,finalSectionProperties:Qr,headerContent:bd,footerContent:hd,firstPageHeaderContent:yd,firstPageFooterContent:vd,hfEditPosition:De,setHfEditPosition:He,hfEditIsFirstPage:q,onHeaderFooterDoubleClick:Cd,onHeaderFooterSave:Sd,onRemoveHeaderFooter:Rd,onBodyClick:xd,getHfTargetElement:Pd,zoom:Q.zoom,readOnly:Ye,extensionManager:tt,externalPlugins:so,onDocumentChange:_n,onSelectionChange:_o,onPagedSelectionChange:kd,onReady:T=>{let L=T.getView();L&&io(L.state);},onEditorViewReady:N,onRenderedDomContextReady:A,pluginOverlays:z,onHyperlinkClick:Mc,hyperlinkPopupData:Ec,onHyperlinkPopupNavigate:Dc,onHyperlinkPopupCopy:Hc,onHyperlinkPopupEdit:Fc,onHyperlinkPopupRemove:Lc,onHyperlinkPopupClose:Ac,onContextMenu:zc,sidebarOpen:Un,sidebarItems:Jr,anchorPositions:Hn,onAnchorPositionsChange:Lo,pluginRenderedDomContext:se,pageWidthPx:Id,expandedSidebarItem:Se,setExpandedSidebarItem:et,comments:ze,resolvedCommentIds:yt,resolvedIdsForRender:Md,setShowCommentsSidebar:fe,onTotalPagesChange:T=>{ld(L=>L.totalPages===T?L:{...L,totalPages:T});},floatingCommentBtn:Mn,isAddingComment:_e,setCommentSelectionRange:Tt,setAddCommentYPosition:wt,setIsAddingComment:Pt,setFloatingCommentBtn:ht}),!Ye&&jsx(el,{containerRef:Ao,getView:()=>ae.current?.getView()??null})]}),overlays:jsx(aa,{contextMenu:Oc,contextMenuItems:Uc,onContextMenuAction:$c,onContextMenuClose:_c,imageContextMenu:Bc,onImageWrapApply:Wc,imageContextMenuTextActions:Vc,onOpenImageProperties:Xr,readOnly:Ye}),dialogs:jsx(sa,{findReplace:uo,findResultRef:dd,onFind:ud,onFindNext:pd,onFindPrevious:md,onReplace:fd,onReplaceAll:gd,hyperlinkDialog:No,onHyperlinkSubmit:Ic,onHyperlinkRemove:kc,tablePropsOpen:mc,onTablePropsClose:()=>fc(false),pmTableContext:Q.pmTableContext,getActiveEditorView:lt,splitCellDialogState:gc,onSplitCellDialogClose:yc,onSplitCellDialogApply:vc,imagePositionOpen:oc,onImagePositionClose:()=>nc(false),onApplyImagePosition:dc,imagePropsOpen:rc,onImagePropsClose:()=>ic(false),onApplyImageProperties:uc,pmImageContext:Q.pmImageContext,showPageSetup:Gc,onPageSetupClose:()=>Kc(false),onPageSetupApply:Qc,showWatermark:nd,onWatermarkClose:()=>rd(false),onWatermarkApply:sd,currentWatermark:ad,watermarkPresets:D,document:pe.state,footnotePropsOpen:ac,onFootnotePropsClose:()=>sc(false),onApplyFootnoteProperties:pc}),fileInputs:jsxs(Fragment,{children:[jsx("input",{ref:Gl,type:"file",accept:"image/*",style:{display:"none"},onChange:Ql}),jsx("input",{ref:Kl,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:Xl})]})}):jsx("div",{className:a$1("ep-root docx-editor docx-editor-empty",Oe&&"dark",v),style:Wo,"data-testid":"docx-editor",children:R||jsx(Dl,{})})});function zh(e,t,o={}){return new Promise((r,n)=>{let u=Bl.createRef(),d=null;try{d=createRoot(t);}catch(a){n(a);return}let l={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,s=Bl.createElement(Br,{...o,documentBuffer:e,onError:a=>{o.onError?.(a),m||(m=true,n(a));},onChange:a=>{o.onChange?.(a),m||(m=true,r(l));},ref:u});d.render(s);})}var Vw="0.0.2";export{Br as DocxEditor,Vw as VERSION,zh as renderAsync};
|