@zeke-02/docx-editor 0.5.1 → 0.5.3

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.
Files changed (211) hide show
  1. package/LICENSE +204 -0
  2. package/dist/FindReplaceDialog-7SQOVQWH.js +1 -0
  3. package/dist/FindReplaceDialog-RK3A7MSK.mjs +1 -0
  4. package/dist/{FootnotePropertiesDialog-XQ7NIFIU.js → FootnotePropertiesDialog-2Q2SHVMR.js} +1 -1
  5. package/dist/{FootnotePropertiesDialog-TNVJJCY6.mjs → FootnotePropertiesDialog-ZKQXW3YO.mjs} +1 -1
  6. package/dist/{HyperlinkDialog-FR4IZZ7E.mjs → HyperlinkDialog-QV3CVFQU.mjs} +1 -1
  7. package/dist/HyperlinkDialog-XVAF7FVN.js +1 -0
  8. package/dist/{ImagePositionDialog-JSZSIKF5.mjs → ImagePositionDialog-EGRH3HPP.mjs} +1 -1
  9. package/dist/{ImagePositionDialog-2YXRAGZS.js → ImagePositionDialog-HIVHUTBT.js} +1 -1
  10. package/dist/ImagePropertiesDialog-67WLFIIZ.mjs +1 -0
  11. package/dist/ImagePropertiesDialog-HSM3JJ22.js +1 -0
  12. package/dist/KeyboardShortcutsDialog-5D_FoAp6.d.ts +395 -0
  13. package/dist/KeyboardShortcutsDialog-D7ihAj18.d.mts +395 -0
  14. package/dist/PageSetupDialog-642IAVG2.js +1 -0
  15. package/dist/PageSetupDialog-ERUQDHAY.mjs +1 -0
  16. package/dist/{SplitCellDialog-NP3JJYHD.mjs → SplitCellDialog-GFWCFCTD.mjs} +1 -1
  17. package/dist/{SplitCellDialog-JIAC3RYV.js → SplitCellDialog-M7WF7ANE.js} +1 -1
  18. package/dist/{TablePropertiesDialog-TIK4AA5M.mjs → TablePropertiesDialog-TZ7VCL6V.mjs} +1 -1
  19. package/dist/{TablePropertiesDialog-T7D4HSVP.js → TablePropertiesDialog-ZKU2FTUX.js} +1 -1
  20. package/dist/agentApi-C41hiW-n.d.mts +486 -0
  21. package/dist/agentApi-D4AZmNfB.d.ts +486 -0
  22. package/dist/chunk-2XXILKEQ.js +1 -0
  23. package/dist/chunk-35DG3R42.js +2 -0
  24. package/dist/chunk-47VJOBJD.mjs +60 -0
  25. package/dist/chunk-5UX5CD4C.js +1 -0
  26. package/dist/chunk-7QQSDIWK.mjs +2 -0
  27. package/dist/chunk-AW5TISUL.js +3 -0
  28. package/dist/chunk-AYMGSTNG.js +1 -0
  29. package/dist/chunk-B45ECEGY.js +18 -0
  30. package/dist/chunk-B7CCL7SL.mjs +2 -0
  31. package/dist/chunk-BRMTZRLJ.js +2 -0
  32. package/dist/chunk-D47GTKGU.js +2 -0
  33. package/dist/chunk-E6MQXELR.js +1 -0
  34. package/dist/chunk-F5SERL7X.mjs +2 -0
  35. package/dist/chunk-FWPVBFKQ.mjs +1 -0
  36. package/dist/chunk-GGQK26JO.js +2 -0
  37. package/dist/chunk-GM2S2WMT.mjs +1 -0
  38. package/dist/chunk-ILYKDR3C.js +1 -0
  39. package/dist/chunk-IP5NAYHL.js +60 -0
  40. package/dist/chunk-JPF5R2ZM.mjs +1 -0
  41. package/dist/chunk-KOXCF3CL.mjs +1 -0
  42. package/dist/chunk-KRLNX56Y.mjs +2 -0
  43. package/dist/chunk-LUJ6HCMH.mjs +1 -0
  44. package/dist/chunk-MKNSJOCN.js +70 -0
  45. package/dist/chunk-NIBCC7WQ.js +1 -0
  46. package/dist/chunk-NLFXR2VH.js +2 -0
  47. package/dist/chunk-ONIYA2FU.mjs +2 -0
  48. package/dist/chunk-ONNHQWAX.mjs +1 -0
  49. package/dist/chunk-RCIZ7OM3.mjs +70 -0
  50. package/dist/{chunk-EHFEG3TX.js → chunk-SNZ57XBI.js} +1 -1
  51. package/dist/chunk-SOTWG3KJ.mjs +1 -0
  52. package/dist/chunk-TYPGB4KF.js +1 -0
  53. package/dist/chunk-U7ZW2DOO.mjs +2 -0
  54. package/dist/{chunk-PKEOQIQO.mjs → chunk-WPI3YRFO.mjs} +1 -1
  55. package/dist/chunk-XQZTWWRF.mjs +18 -0
  56. package/dist/chunk-ZVAFVHWR.mjs +3 -0
  57. package/dist/chunk-ZXPCJWVY.js +2 -0
  58. package/dist/{agentApi-DLt94vXk.d.mts → content-B2MzIMwA.d.mts} +8 -755
  59. package/dist/{agentApi-DLt94vXk.d.ts → content-B2MzIMwA.d.ts} +8 -755
  60. package/dist/dialogs.d.mts +25 -0
  61. package/dist/dialogs.d.ts +25 -0
  62. package/dist/dialogs.js +1 -0
  63. package/dist/dialogs.mjs +1 -0
  64. package/dist/document-DZ_ZeZEH.d.ts +294 -0
  65. package/dist/document-Di1qGqLS.d.mts +294 -0
  66. package/dist/executor-EPEB53SJ.js +1 -0
  67. package/dist/executor-TVJ6K6MW.mjs +1 -0
  68. package/dist/findReplace-CpIoILbP.d.mts +138 -0
  69. package/dist/findReplace-pkMskVJU.d.ts +138 -0
  70. package/dist/hooks.d.mts +598 -0
  71. package/dist/hooks.d.ts +598 -0
  72. package/dist/hooks.js +1 -0
  73. package/dist/hooks.mjs +1 -0
  74. package/dist/index.d.mts +1013 -483
  75. package/dist/index.d.ts +1013 -483
  76. package/dist/index.js +40 -120
  77. package/dist/index.mjs +40 -120
  78. package/dist/layout-bridge-5GYGYKM5.mjs +1 -0
  79. package/dist/layout-bridge-QQDA7ELH.js +1 -0
  80. package/dist/plugin-api.d.mts +176 -0
  81. package/dist/plugin-api.d.ts +176 -0
  82. package/dist/plugin-api.js +260 -0
  83. package/dist/plugin-api.mjs +260 -0
  84. package/dist/processTemplate-BTBTR7AM.js +1 -0
  85. package/dist/{processTemplate-W2C5PXZB.mjs → processTemplate-MBX2KDLE.mjs} +1 -1
  86. package/dist/styles.css +1 -1
  87. package/dist/styles.d.mts +18 -0
  88. package/dist/styles.d.ts +18 -0
  89. package/dist/styles.js +1 -0
  90. package/dist/styles.mjs +1 -0
  91. package/dist/types-Bd_YzkhG.d.mts +281 -0
  92. package/dist/types-Bd_YzkhG.d.ts +281 -0
  93. package/dist/types-CkfDgB0O.d.mts +39 -0
  94. package/dist/types-DZUhB7Ao.d.mts +18 -0
  95. package/dist/types-DZUhB7Ao.d.ts +18 -0
  96. package/dist/types-DcxHFUSc.d.ts +39 -0
  97. package/dist/ui.d.mts +111 -552
  98. package/dist/ui.d.ts +111 -552
  99. package/dist/ui.js +111 -1
  100. package/dist/ui.mjs +111 -1
  101. package/dist/useFindReplace-DDs533b-.d.mts +261 -0
  102. package/dist/useFindReplace-eyhMSZZf.d.ts +261 -0
  103. package/package.json +41 -43
  104. package/dist/ClipboardManager-CVKX0v9q.d.ts +0 -464
  105. package/dist/ClipboardManager-V3aaMnWE.d.mts +0 -464
  106. package/dist/DocumentAgent-BWflKHpH.d.mts +0 -442
  107. package/dist/DocumentAgent-DsdXtetF.d.ts +0 -442
  108. package/dist/FindReplaceDialog-L3YF5HIS.mjs +0 -1
  109. package/dist/FindReplaceDialog-SEBWC5P7.js +0 -1
  110. package/dist/HyperlinkDialog-WEK6JSAC.js +0 -1
  111. package/dist/ImagePropertiesDialog-527MFLQO.mjs +0 -1
  112. package/dist/ImagePropertiesDialog-HG4K3IE7.js +0 -1
  113. package/dist/PageSetupDialog-GALVJMUB.js +0 -1
  114. package/dist/PageSetupDialog-TGQIAMI7.mjs +0 -1
  115. package/dist/TableToolbar-DUgmob2I.d.ts +0 -1273
  116. package/dist/TableToolbar-YL74HNS1.d.mts +0 -1273
  117. package/dist/chunk-23SXXIZS.js +0 -111
  118. package/dist/chunk-3F52AP2Q.js +0 -1
  119. package/dist/chunk-42O5GXM5.mjs +0 -82
  120. package/dist/chunk-54ULJEHM.mjs +0 -1
  121. package/dist/chunk-5XK326FI.mjs +0 -1
  122. package/dist/chunk-6WPRCJ5A.mjs +0 -1
  123. package/dist/chunk-76IYR7C7.mjs +0 -1
  124. package/dist/chunk-7BG7QY7I.js +0 -182
  125. package/dist/chunk-AGRIVA4G.js +0 -1
  126. package/dist/chunk-BTCQ2QI3.mjs +0 -3
  127. package/dist/chunk-BUEMG4NW.js +0 -1
  128. package/dist/chunk-BXRC4U3X.mjs +0 -2
  129. package/dist/chunk-CPAYKE6X.mjs +0 -1
  130. package/dist/chunk-DACWLFKI.mjs +0 -1
  131. package/dist/chunk-EPBFWE36.js +0 -2
  132. package/dist/chunk-FXES3YDB.js +0 -82
  133. package/dist/chunk-HI66BSGS.mjs +0 -9
  134. package/dist/chunk-INTPVEO6.mjs +0 -9
  135. package/dist/chunk-IOAGVW6Q.mjs +0 -2
  136. package/dist/chunk-JCEWC5QL.mjs +0 -4
  137. package/dist/chunk-JTIUFACT.js +0 -1
  138. package/dist/chunk-KUTCCI4X.mjs +0 -182
  139. package/dist/chunk-LUF7PWIC.js +0 -10
  140. package/dist/chunk-MGEN6GOE.mjs +0 -2
  141. package/dist/chunk-MOE2ZGUE.js +0 -18
  142. package/dist/chunk-MWLHJWB6.js +0 -9
  143. package/dist/chunk-OFYVDN3U.mjs +0 -2
  144. package/dist/chunk-P4VSHBGZ.js +0 -2
  145. package/dist/chunk-P5FQHIES.mjs +0 -1
  146. package/dist/chunk-PBC7XAYZ.js +0 -3
  147. package/dist/chunk-PEMB6SZT.js +0 -2
  148. package/dist/chunk-PQMSZTBB.js +0 -9
  149. package/dist/chunk-Q7UDQXAF.js +0 -1
  150. package/dist/chunk-QGTAIC5E.js +0 -1
  151. package/dist/chunk-QVPR2W5S.js +0 -1
  152. package/dist/chunk-R3QMYPL5.mjs +0 -59
  153. package/dist/chunk-RBUTXXQJ.mjs +0 -18
  154. package/dist/chunk-RRWYZ2TS.mjs +0 -111
  155. package/dist/chunk-SFUM35DH.js +0 -2
  156. package/dist/chunk-SNLC6EK2.js +0 -1
  157. package/dist/chunk-TMTLIGLZ.js +0 -59
  158. package/dist/chunk-TSE2PWFX.mjs +0 -10
  159. package/dist/chunk-UWYD42WV.js +0 -4
  160. package/dist/chunk-UXVACQCY.mjs +0 -1
  161. package/dist/chunk-W4EIKDM6.mjs +0 -2
  162. package/dist/chunk-W53SI3XW.mjs +0 -1
  163. package/dist/chunk-WNS2RBQD.js +0 -2
  164. package/dist/chunk-Z3KMSHUP.js +0 -1
  165. package/dist/core-plugins-reexport.d.mts +0 -31
  166. package/dist/core-plugins-reexport.d.ts +0 -31
  167. package/dist/core-plugins-reexport.js +0 -1
  168. package/dist/core-plugins-reexport.mjs +0 -1
  169. package/dist/core-reexport.d.mts +0 -340
  170. package/dist/core-reexport.d.ts +0 -340
  171. package/dist/core-reexport.js +0 -1
  172. package/dist/core-reexport.mjs +0 -1
  173. package/dist/documentSerializer-DtS_-oGA.d.mts +0 -664
  174. package/dist/documentSerializer-Wj1p2ASa.d.ts +0 -664
  175. package/dist/executor-C3VXF7QA.mjs +0 -1
  176. package/dist/executor-GDBV3AGV.js +0 -1
  177. package/dist/headless-reexport.d.mts +0 -197
  178. package/dist/headless-reexport.d.ts +0 -197
  179. package/dist/headless-reexport.js +0 -1
  180. package/dist/headless-reexport.mjs +0 -1
  181. package/dist/insertOperations-BTH1Asas.d.mts +0 -176
  182. package/dist/insertOperations-CbUnXAXH.d.ts +0 -176
  183. package/dist/layout-bridge-EA4DJ227.js +0 -1
  184. package/dist/layout-bridge-XDPSO6GO.mjs +0 -1
  185. package/dist/mcp-reexport.d.mts +0 -156
  186. package/dist/mcp-reexport.d.ts +0 -156
  187. package/dist/mcp-reexport.js +0 -16
  188. package/dist/mcp-reexport.mjs +0 -16
  189. package/dist/processTemplate-MJ2PCSO5.js +0 -1
  190. package/dist/react-B0W16SV6.d.ts +0 -1330
  191. package/dist/react-D0Pn1nww.d.mts +0 -1330
  192. package/dist/react.css +0 -1
  193. package/dist/react.d.mts +0 -10
  194. package/dist/react.d.ts +0 -10
  195. package/dist/react.js +0 -1
  196. package/dist/react.mjs +0 -1
  197. package/dist/registry-CH9V-IX0.d.ts +0 -165
  198. package/dist/registry-CWBKYlNW.d.mts +0 -165
  199. package/dist/types-UDsUq8D3.d.mts +0 -310
  200. package/dist/types-jbivc9Lj.d.ts +0 -310
  201. package/dist/variableDetector-CdQ7ZTzA.d.mts +0 -204
  202. package/dist/variableDetector-DsRV3A9z.d.ts +0 -204
  203. package/i18n/de.json +0 -792
  204. package/i18n/en.json +0 -792
  205. package/i18n/he.json +0 -792
  206. package/i18n/pl.json +0 -792
  207. package/i18n/pt-BR.json +0 -792
  208. package/i18n/tr.json +0 -792
  209. package/i18n/zh-CN.json +0 -792
  210. /package/dist/{chunk-YC5KZSYD.js → chunk-ESZ6JRTW.js} +0 -0
  211. /package/dist/{chunk-LVGJKS7Y.mjs → chunk-TZMMD6RR.mjs} +0 -0
package/dist/index.mjs CHANGED
@@ -1,120 +1,40 @@
1
- export{b as AgentPanel,k as DocxEditor,a as EditorToolbar,e as ErrorBoundary,d as ErrorProvider,A as PLUGIN_HOST_STYLES,f as ParseErrorDisplay,B as PluginHost,g as UnsupportedFeatureWarning,n as ZOOM_PRESETS,w as clampZoom,q as findNearestZoomPreset,t as formatZoom,y as generateOverlayElements,r as getNextZoomPreset,s as getPreviousZoomPreset,i as getUserFriendlyMessage,p as getZoomPresets,h as isParseError,v as isZoomPreset,u as parseZoom,l as renderAsync,m as useAutoSave,z as useClipboard,c as useErrorNotifications,x as useSelectionHighlight,j as useTableSelection,o as useWheelZoom}from'./chunk-KUTCCI4X.mjs';import'./chunk-BXRC4U3X.mjs';export{a as ContextMenu,U as InsertImageDialog,ca as InsertSymbolDialog,N as InsertTableDialog,pa as KeyboardShortcutsDialog,A as LoadingIndicator,ja as PasteSpecialDialog,k as PrintButton,l as PrintStyles,g as ResponsePreview,I as ResponsiveToolbar,J as ResponsiveToolbarGroup,ba as SYMBOL_CATEGORIES,t as TableInsertButtons,s as TableMergeButton,u as UnsavedIndicator,Z as calculateFitDimensions,R as clampTableConfig,z as createChangeTracker,P as createDefaultTableConfig,j as createErrorResponse,i as createMockResponse,K as createToolbarItem,L as createToolbarItems,_ as dataUrlToBlob,G as delay,aa as formatFileSize,q as formatPrintPageRange,wa as formatShortcutKeys,S as formatTableDimensions,c as getActionShortcut,f as getAllActions,va as getAllCategories,y as getAllIndicatorPositions,x as getAllIndicatorVariants,F as getAllLoadingSizes,E as getAllLoadingVariants,ma as getAllPasteOptions,ua as getCategoryLabel,ta as getCommonShortcuts,e as getDefaultActions,na as getDefaultPasteOption,o as getDefaultPrintOptions,ra as getDefaultShortcuts,Y as getImageAcceptString,$ as getImageDimensions,D as getLoadingVariantLabel,la as getPasteOption,M as getRecommendedPriority,sa as getShortcutsByCategory,X as getSupportedImageExtensions,ea as getSymbolCategories,ga as getSymbolUnicodeInfo,fa as getSymbolsByCategory,T as getTablePresets,w as getVariantLabel,d as isActionAvailable,oa as isPasteSpecialShortcut,r as isPrintSupported,W as isValidImageFile,Q as isValidTableConfig,n as openPrintWindow,p as parsePageRange,ha as searchSymbols,ia as symbolFromCodePoint,m as triggerPrint,b as useContextMenu,V as useInsertImageDialog,da as useInsertSymbolDialog,O as useInsertTableDialog,qa as useKeyboardShortcutsDialog,B as useLoading,C as useLoadingOperations,ka as usePasteSpecial,h as useResponsePreview,H as useResponsiveToolbar,v as useUnsavedChanges}from'./chunk-RRWYZ2TS.mjs';export{k as AlignmentButtons,j as ColorPicker,g as FontPicker,i as FontSizePicker,x as FormattingBar,D as HorizontalRuler,n as LineSpacingPicker,l as ListButtons,o as StylePicker,r as TableBorderColorPicker,q as TableBorderPicker,s as TableBorderWidthPicker,t as TableCellFillPicker,u as TableMoreDropdown,P as TableToolbar,J as TextContextMenu,C as Toolbar,z as ToolbarButton,A as ToolbarGroup,B as ToolbarSeparator,p as ZoomControl,X as addColumn,V as addRow,m as createDefaultListState,Q as createTableContext,Y as deleteColumn,W as deleteRow,S as getCellAt,R as getColumnCount,N as getDefaultTextContextMenuItems,G as getMarginInUnits,F as getRulerDimensions,T as getTableSplitCellDialogConfig,L as getTextActionLabel,M as getTextActionShortcut,O as isTextActionAvailable,Z as mergeCells,H as parseMarginFromUnits,E as positionToMargin,_ as splitCell,U as splitTableCell,K as useTextContextMenu}from'./chunk-OFYVDN3U.mjs';export{x as DEFAULT_SELECTION_STYLE,y as HIGH_CONTRAST_SELECTION_STYLE,u as NAVIGATION_SHORTCUTS,z as SELECTION_CSS_VARS,Q as areSelectionStylesInjected,L as clearSelection,da as createDoubleClickWordSelector,R as createSelectionChangeHandler,ea as createTripleClickParagraphSelector,v as describeShortcut,r as expandSelectionToWord,aa as expandSelectionToWordBoundaries,l as extendSelectionTo,f as findNextWordStart,g as findPreviousWordStart,i as findVisualLineEnd,h as findVisualLineStart,Z as findWordAt,X as findWordBoundaries,e as findWordEnd,d as findWordStart,E as generateSelectionCSS,D as getHighlightRectStyle,C as getMergedSelectionRects,w as getNavigationShortcutDescriptions,G as getSelectedText,I as getSelectionBoundingRect,j as getSelectionInfo,A as getSelectionRects,Y as getWordAt,s as getWordAtCursor,ca as handleClickForMultiClick,p as handleNavigationKey,F as hasActiveSelection,J as highlightTextRange,O as injectSelectionStyles,q as isNavigationKey,c as isPunctuation,M as isSelectionBackwards,H as isSelectionWithin,b as isWhitespace,b as isWhitespaceChar,a as isWordChar,a as isWordCharacter,t as matchesShortcut,B as mergeAdjacentRects,m as moveByWord,n as moveToLineEdge,N as normalizeSelectionDirection,o as parseNavigationAction,P as removeSelectionStyles,ba as selectParagraphAtCursor,K as selectRange,_ as selectWordAtCursor,$ as selectWordInTextNode,k as setSelectionPosition}from'./chunk-42O5GXM5.mjs';export{n as FindReplaceDialog,a as createDefaultFindOptions,c as createSearchPattern,b as escapeRegexString,d as findAllMatches,j as findInDocument,k as findInParagraph,i as getDefaultHighlightOptions,g as getMatchCountText,h as isEmptySearch,e as replaceAllInContent,f as replaceFirstInContent,l as scrollToMatch,m as useFindReplace}from'./chunk-W4EIKDM6.mjs';export{d as HyperlinkDialog,m as useHyperlinkDialog}from'./chunk-PKEOQIQO.mjs';export{b as CLIPBOARD_TYPES,a as INTERNAL_CLIPBOARD_TYPE,n as cleanWordHtml,e as copyParagraphs,d as copyRuns,p as createClipboardHandlers,j as handlePasteEvent,o as htmlToRuns,m as isEditorHtml,l as isWordHtml,g as paragraphsToClipboardContent,k as parseClipboardHtml,i as readFromClipboard,f as runsToClipboardContent,h as writeToClipboard}from'./chunk-BTCQ2QI3.mjs';import {c}from'./chunk-MGEN6GOE.mjs';export{b as LocaleProvider,c as useTranslation}from'./chunk-MGEN6GOE.mjs';export{j as TABLE_DATA_ATTRIBUTES,r as createSelectionFromDOM,e as formatLastSaveTime,h as formatStorageSize,f as getAutoSaveStatusLabel,g as getAutoSaveStorageSize,q as getSelectionRuns,i as isAutoSaveSupported}from'./chunk-DACWLFKI.mjs';export{n as countPageBreaks,b as createColumnBreak,g as createHorizontalRule,c as createLineBreak,a as createPageBreak,e as createPageBreakParagraph,d as createPageBreakRun,o as findPageBreaks,m as hasPageBreakBefore,h as insertHorizontalRule,f as insertPageBreak,l as isBreakContent,j as isColumnBreak,k as isLineBreak,i as isPageBreak,p as removePageBreak}from'./chunk-P5FQHIES.mjs';import'./chunk-JCEWC5QL.mjs';import'./chunk-6WPRCJ5A.mjs';export{d as DocumentAgent,k as buildExtendedSelectionContext,j as buildSelectionContext,g as getAgentContext,i as getDocumentSummary}from'./chunk-HI66BSGS.mjs';export{b as createDocumentWithText,a as createEmptyDocument}from'./chunk-UXVACQCY.mjs';export{m as blendColors,r as colorsEqual,j as createRgbColor,i as createThemeColor,k as darkenColor,g as getContrastingColor,e as isBlack,f as isWhite,l as lightenColor,h as parseColorString,a as resolveColor,c as resolveHighlightColor,d as resolveShadingColor}from'./chunk-CPAYKE6X.mjs';export{o as docxtemplaterPlugin}from'./chunk-TSE2PWFX.mjs';export{b as serializeDocumentBody,c as serializeDocx,a as serializeSectionProperties}from'./chunk-R3QMYPL5.mjs';export{a as executeCommand,b as executeCommands}from'./chunk-5XK326FI.mjs';import'./chunk-76IYR7C7.mjs';export{a as parseDocx}from'./chunk-IOAGVW6Q.mjs';import'./chunk-WOHFANC5.mjs';export{a as PluginRegistry,b as pluginRegistry,c as registerPlugins}from'./chunk-W53SI3XW.mjs';import'./chunk-RBUTXXQJ.mjs';export{h as canRenderFont,f as getLoadedFonts,d as isFontLoaded,e as isFontsLoading,b as loadFont,i as loadFontFromBuffer,c as loadFonts,g as onFontsLoaded,k as preloadCommonFonts,a as toArrayBuffer}from'./chunk-INTPVEO6.mjs';export{c as emuToPixels,e as emuToTwips,k as formatPx,h as halfPointsToPixels,d as pixelsToEmu,b as pixelsToTwips,g as pointsToPixels,f as twipsToEmu,a as twipsToPixels}from'./chunk-54ULJEHM.mjs';export{e as getTemplateTags,a as processTemplate,c as processTemplateAsBlob,b as processTemplateDetailed,f as validateTemplate}from'./chunk-LVGJKS7Y.mjs';import'./chunk-TAUMSKRE.mjs';import j,{useState,useCallback,useMemo,useEffect,useRef}from'react';import {jsx,jsxs}from'react/jsx-runtime';import {PluginKey,TextSelection,Plugin}from'prosemirror-state';import {DecorationSet,Decoration}from'prosemirror-view';var O="ep-agent-chat-keyframes",Ni=`
2
- @keyframes epAgentDot {
3
- 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
4
- 40% { transform: scale(1); opacity: 1; }
5
- }
6
- @keyframes epAgentSpin {
7
- to { transform: rotate(360deg); }
8
- }
9
- `;function zi(){useEffect(()=>{if(typeof document>"u"||document.getElementById(O))return;let e=document.createElement("style");e.id=O,e.textContent=Ni,document.head.appendChild(e);},[]);}function _i(e){let t=e.replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}var Wi=3;function F({toolCalls:e,streaming:t,maxVisibleCalls:n=Wi,humanizeName:r=_i}){let{t:i}=c(),[o,c$1]=useState(null),p=o??!!t;if(e.length===0)return null;let s=t?i("agentPanel.timeline.working",{count:e.length}):i("agentPanel.timeline.summary",{count:e.length}),l=e.slice(-n),a=Math.max(0,e.length-l.length);return jsxs("div",{style:d.timelineWrap,"data-testid":"agent-timeline",children:[jsxs("button",{type:"button",onClick:()=>c$1(!p),"aria-expanded":p,style:d.timelineHeader,"data-testid":"agent-timeline-toggle",children:[jsxs("span",{style:d.timelineSummary,children:[t?jsx(B,{}):jsx(Vi,{}),s]}),jsx("span",{style:{...d.timelineChevron,transform:p?"rotate(180deg)":"rotate(0deg)"},"aria-hidden":"true",children:"\u25BE"})]}),p&&jsxs("ol",{style:d.timelineList,children:[a>0&&jsx("li",{style:d.timelineMore,"data-testid":"agent-timeline-earlier",children:i("agentPanel.timeline.earlier",{count:a})}),l.map(m=>jsxs("li",{style:d.timelineItem,children:[m.status==="running"?jsx(B,{size:10,compact:true}):jsx("span",{style:{...d.timelineDot,background:m.status==="error"?"#d93025":"#1e8e3e"},"aria-hidden":"true"}),jsxs("span",{style:d.timelineCall,children:[jsx("span",{style:d.timelineCallName,children:r(m.name)}),m.error&&jsx("span",{style:d.timelineError,children:m.error})]})]},m.id))]})]})}function B({size:e=12,compact:t=false}={}){return jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",style:{marginRight:t?0:6,animation:"epAgentSpin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true",children:[jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"#dadce0",strokeWidth:"3",fill:"none"}),jsx("path",{d:"M21 12a9 9 0 0 0-9-9",stroke:"#0b57d0",strokeWidth:"3",strokeLinecap:"round"})]})}function Vi(){return jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{marginRight:6},children:jsx("path",{d:"M5 13l4 4L19 7",stroke:"#1e8e3e",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ui({messages:e,loading:t,error:n,emptyState:r,autoScroll:i=true,humanizeToolName:o,maxVisibleCalls:c$1,className:p,style:s}){let{t:l}=c();zi();let a=useRef(null),m=e[e.length-1],x=m?.toolCalls?.length??0,u=m?.status==="streaming";useEffect(()=>{i&&a.current?.scrollIntoView({behavior:u||t?"auto":"smooth",block:"end"});},[e.length,x,t,u,i]);let T=e.length===0&&!t&&!n;return jsxs("div",{className:`ep-agent-chat-log${p?` ${p}`:""}`,style:{flex:1,overflow:"auto",padding:"16px 14px 8px",display:"flex",flexDirection:"column",gap:10,...s},children:[T&&r,e.map(y=>{let b=y.role==="assistant"&&y.toolCalls&&y.toolCalls.length>0,S=y.text.length>0;return jsxs("div",{style:d.messageGroup,"data-role":y.role,children:[b&&jsx(F,{toolCalls:y.toolCalls,streaming:y.status==="streaming",humanizeName:o,maxVisibleCalls:c$1}),S&&jsx("div",{style:y.role==="user"?d.userBubble:d.assistantBubble,children:y.text})]},y.id)}),t&&jsxs("div",{style:d.thinkingBubble,"aria-label":l("agentPanel.thinking"),children:[jsx("span",{style:{...d.dot,animationDelay:"0s"}}),jsx("span",{style:{...d.dot,animationDelay:"0.15s"}}),jsx("span",{style:{...d.dot,animationDelay:"0.3s"}})]}),n&&jsx("div",{style:d.errorBubble,role:"alert",children:n}),jsx("div",{ref:a})]})}function Gi({value:e,onChange:t,onSubmit:n,disabled:r,placeholder:i,footnote:o,className:c$1}){let{t:p}=c(),s=i??p("agentPanel.composerPlaceholder"),l=e.trim().length>0&&!r;return jsxs("form",{onSubmit:m=>{m.preventDefault(),l&&n();},className:`ep-agent-composer${c$1?` ${c$1}`:""}`,style:d.composerWrap,children:[jsxs("div",{style:d.composerShell,children:[jsx("input",{style:d.composerInput,value:e,onChange:m=>t(m.target.value),placeholder:s,disabled:r}),jsx("button",{type:"submit","aria-label":p("agentPanel.send"),disabled:!l,style:{...d.sendBtn,opacity:l?1:.35,cursor:l?"pointer":"not-allowed"},children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M12 19V5M5 12l7-7 7 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),o&&jsx("div",{style:d.footnote,children:o})]})}function $i({label:e,onClick:t,disabled:n}){return jsx("button",{type:"button",style:d.chip,onClick:t,disabled:n,children:e})}var d={messageGroup:{display:"flex",flexDirection:"column",gap:6,width:"100%"},userBubble:{background:"#0b57d0",color:"#fff",padding:"10px 14px",borderRadius:"20px 20px 4px 20px",fontSize:13.5,lineHeight:1.5,alignSelf:"flex-end",maxWidth:"88%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},assistantBubble:{background:"#f0f4f9",color:"#1f1f1f",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",fontSize:13.5,lineHeight:1.55,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif"},thinkingBubble:{background:"#f0f4f9",padding:"12px 16px",borderRadius:"20px 20px 20px 4px",alignSelf:"flex-start",display:"flex",gap:4,alignItems:"center"},dot:{width:6,height:6,borderRadius:"50%",background:"#5f6368",display:"inline-block",animation:"epAgentDot 1.4s infinite ease-in-out"},errorBubble:{background:"#fce8e6",color:"#b3261e",padding:"10px 14px",borderRadius:16,fontSize:12.5,alignSelf:"flex-start",maxWidth:"92%",whiteSpace:"pre-wrap",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerWrap:{padding:"8px 12px 14px",background:"#fff",flex:"0 0 auto"},composerShell:{display:"flex",alignItems:"center",gap:4,padding:"6px 6px 6px 18px",background:"#fff",border:"1px solid #c4c7c5",borderRadius:28,boxShadow:"0 1px 2px rgba(60,64,67,0.04)",transition:"border-color 0.15s, box-shadow 0.15s",fontFamily:"'Google Sans Text', system-ui, sans-serif"},composerInput:{flex:1,padding:"8px 0",fontSize:14,border:"none",outline:"none",background:"transparent",fontFamily:"inherit",color:"#1f1f1f"},sendBtn:{width:36,height:36,borderRadius:"50%",border:"none",background:"#0b57d0",color:"#fff",flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",transition:"background 0.15s, opacity 0.15s, transform 0.15s"},footnote:{fontSize:11,color:"#5f6368",textAlign:"center",marginTop:10,fontFamily:"'Google Sans Text', system-ui, sans-serif"},chip:{textAlign:"left",background:"#fff",border:"1px solid #dadce0",borderRadius:18,padding:"10px 14px",fontSize:13,color:"#1f1f1f",cursor:"pointer",fontFamily:"'Google Sans Text', system-ui, sans-serif",lineHeight:1.4,transition:"background 0.15s, border-color 0.15s, box-shadow 0.15s",width:"100%"},timelineWrap:{alignSelf:"flex-start",maxWidth:"92%",background:"#fff",border:"1px solid #e1e3e6",borderRadius:12,overflow:"hidden",fontFamily:"'Google Sans Text', system-ui, sans-serif"},timelineHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",background:"transparent",border:"none",cursor:"pointer",fontSize:12.5,color:"#1f1f1f",fontFamily:"inherit"},timelineSummary:{display:"inline-flex",alignItems:"center",fontWeight:500},timelineChevron:{fontSize:12,color:"#5f6368",transition:"transform 0.15s ease",marginLeft:8},timelineList:{listStyle:"none",margin:0,padding:"4px 12px 10px 12px",display:"flex",flexDirection:"column",gap:6,borderTop:"1px solid #ececf0"},timelineItem:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"#444746"},timelineDot:{width:6,height:6,borderRadius:"50%",flexShrink:0},timelineCall:{display:"inline-flex",flexDirection:"column",minWidth:0},timelineCallName:{color:"#1f1f1f"},timelineError:{color:"#d93025",fontSize:11},timelineMore:{fontSize:11,color:"#5f6368",fontStyle:"italic",paddingLeft:14}};var N=/\{([#/^@]?)([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}/g,f=new PluginKey("template");function ji(e,t,n){return `${e}:${t}:${n}`}function z(e){let t=[];e.descendants((s,l)=>(s.isText&&s.text&&t.push({text:s.text,pos:l}),true));let n="",r=[];for(let s of t){for(let l=0;l<s.text.length;l++)r.push(s.pos+l);n+=s.text;}let i=[],o=[],c=new Map,p;for(N.lastIndex=0;(p=N.exec(n))!==null;){let[s,l,a]=p,m=r[p.index],x=r[p.index+s.length-1]+1,u;l==="#"?u="sectionStart":l==="/"?u="sectionEnd":l==="^"?u="invertedStart":l==="@"?u="raw":u="variable";let T=`${u}:${a}`,y=c.get(T)??0;c.set(T,y+1);let b={id:ji(u,a,y),type:u,name:a,rawTag:s,from:m,to:x};if(u==="sectionStart"||u==="invertedStart")b.nestedVars=[],o.push(b);else if(u==="sectionEnd"){for(let S=o.length-1;S>=0;S--)if(o[S].name===a){o.splice(S,1);break}}else u==="variable"&&o.length>0&&(o[o.length-1].nestedVars?.push(a),b.insideSection=true);i.push(b);}return i}function qi(e){switch(e){case "sectionStart":case "sectionEnd":return "#3b82f6";case "invertedStart":return "#8b5cf6";case "raw":return "#ef4444";default:return "#f59e0b"}}function A(e,t,n,r){let i=[];for(let o of t){let c=o.id===n,p=o.id===r,s=qi(o.type),l=["docx-template-tag"];c&&l.push("hovered"),p&&l.push("selected"),i.push(Decoration.inline(o.from,o.to,{class:l.join(" "),"data-tag-id":o.id,style:`background-color: ${s}22; border-radius: 2px;`},{noOverlay:true}));}return DecorationSet.create(e,i)}function Xi(e,t){if(e.length!==t.length)return false;for(let n=0;n<e.length;n++)if(e[n].id!==t[n].id)return false;return true}function I(){return new Plugin({key:f,state:{init(e,t){let n=z(t.doc);return {tags:n,decorations:A(t.doc,n)}},apply(e,t,n,r){if(e.docChanged){let o=z(r.doc),c=Xi(t.tags,o);return {tags:o,decorations:c?t.decorations.map(e.mapping,e.doc):A(r.doc,o,t.hoveredId,t.selectedId),hoveredId:t.hoveredId,selectedId:t.selectedId}}let i=e.getMeta(f);if(i){let o=i.hoveredId??t.hoveredId,c=i.selectedId??t.selectedId;return {...t,hoveredId:o,selectedId:c,decorations:A(r.doc,t.tags,o,c)}}return {...t,decorations:t.decorations.map(e.mapping,e.doc)}}},props:{decorations(e){return f.getState(e)?.decorations??DecorationSet.empty},handleClick(e,t){let r=(f.getState(e.state)?.tags??[]).find(o=>t>=o.from&&t<=o.to);return r?(e.dispatch(e.state.tr.setMeta(f,{selectedId:r.id})),true):(f.getState(e.state)?.selectedId&&e.dispatch(e.state.tr.setMeta(f,{selectedId:void 0})),false)},handleDOMEvents:{mouseover(e,t){let r=t.target.closest?.("[data-tag-id]")?.getAttribute("data-tag-id")||void 0,i=f.getState(e.state)?.hoveredId;return r!==i&&e.dispatch(e.state.tr.setMeta(f,{hoveredId:r})),false},mouseout(e,t){return t.relatedTarget?.closest?.("[data-tag-id]")||f.getState(e.state)?.hoveredId&&e.dispatch(e.state.tr.setMeta(f,{hoveredId:void 0})),false}}}})}function W(e){return f.getState(e)?.tags??[]}function v(e,t){e.dispatch(e.state.tr.setMeta(f,{hoveredId:t}));}function R(e,t){e.dispatch(e.state.tr.setMeta(f,{selectedId:t}));}var E=`
10
- .docx-template-tag {
11
- cursor: pointer;
12
- transition: background-color 0.1s;
13
- }
14
-
15
- .docx-template-tag:hover,
16
- .docx-template-tag.hovered {
17
- filter: brightness(0.95);
18
- }
19
-
20
- .docx-template-tag.selected {
21
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
22
- }
23
- `;var ta={variable:"rgba(245, 158, 11, 0.3)",sectionStart:"rgba(59, 130, 246, 0.3)",sectionEnd:"rgba(59, 130, 246, 0.3)",invertedStart:"rgba(139, 92, 246, 0.3)",raw:"rgba(239, 68, 68, 0.3)"},oa={variable:"rgba(245, 158, 11, 0.5)",sectionStart:"rgba(59, 130, 246, 0.5)",sectionEnd:"rgba(59, 130, 246, 0.5)",invertedStart:"rgba(139, 92, 246, 0.5)",raw:"rgba(239, 68, 68, 0.5)"};function G({context:e,tags:t,hoveredId:n,selectedId:r,onHover:i,onSelect:o}){let[c,p]=useState(0),s=useCallback(()=>{let a=e.getContainerOffset(),m=[];for(let x of t){let u=e.getRectsForRange(x.from,x.to);for(let T of u)m.push({tagId:x.id,tagType:x.type,x:T.x+a.x,y:T.y+a.y,width:T.width,height:T.height});}return m},[e,t]),l=useMemo(()=>s(),[s,c]);return useEffect(()=>{let a=()=>{requestAnimationFrame(()=>p(m=>m+1));};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),useEffect(()=>{let a=new ResizeObserver(()=>{requestAnimationFrame(()=>p(m=>m+1));});return a.observe(e.pagesContainer),()=>a.disconnect()},[e.pagesContainer]),l.length===0?null:jsx("div",{className:"template-highlight-overlay",children:l.map((a,m)=>{let x=a.tagId===n,u=a.tagId===r,T=x||u?oa[a.tagType]:ta[a.tagType];return jsx("div",{className:`template-highlight ${x?"hovered":""} ${u?"selected":""}`,style:{position:"absolute",left:a.x,top:a.y,width:a.width,height:a.height,backgroundColor:T,borderRadius:2,cursor:"pointer"},onMouseEnter:()=>i?.(a.tagId),onMouseLeave:()=>i?.(void 0),onClick:()=>o?.(a.tagId)},`${a.tagId}-${m}`)})})}var $=`
24
- .template-highlight-overlay {
25
- position: absolute;
26
- top: 0;
27
- left: 0;
28
- right: 0;
29
- bottom: 0;
30
- pointer-events: none;
31
- overflow: visible;
32
- }
33
-
34
- .template-highlight {
35
- pointer-events: auto;
36
- transition: background-color 0.1s ease;
37
- }
38
-
39
- .template-highlight:hover,
40
- .template-highlight.hovered {
41
- filter: brightness(0.9);
42
- }
43
-
44
- .template-highlight.selected {
45
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.6);
46
- }
47
- `;var ra={variable:"#f59e0b",sectionStart:"#3b82f6",sectionEnd:"#3b82f6",invertedStart:"#8b5cf6",raw:"#ef4444"};function na(e){switch(e){case "sectionStart":return "LOOP / IF";case "invertedStart":return "IF NOT";case "raw":return "HTML";default:return ""}}var Y=`
48
- .template-annotation-chip {
49
- display: inline-flex;
50
- flex-wrap: wrap;
51
- align-items: center;
52
- gap: 4px;
53
- padding: 5px 10px;
54
- background: white;
55
- border: 1px solid #e2e8f0;
56
- border-left: 3px solid #6c757d;
57
- border-radius: 4px;
58
- font-size: 11px;
59
- cursor: pointer;
60
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
61
- max-width: 200px;
62
- }
63
-
64
- .template-annotation-chip:hover,
65
- .template-annotation-chip.hovered {
66
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
67
- border-color: #cbd5e1;
68
- }
69
-
70
- .template-annotation-chip.selected {
71
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
72
- }
73
-
74
- .template-chip-badge {
75
- font-size: 9px;
76
- font-weight: 600;
77
- padding: 1px 5px;
78
- border-radius: 3px;
79
- color: white;
80
- text-transform: uppercase;
81
- letter-spacing: 0.3px;
82
- }
83
-
84
- .template-chip-dot {
85
- font-size: 8px;
86
- }
87
-
88
- .template-chip-name {
89
- color: #334155;
90
- font-weight: 500;
91
- }
92
-
93
- .template-chip-nested {
94
- display: flex;
95
- flex-wrap: wrap;
96
- gap: 4px;
97
- width: 100%;
98
- margin-top: 4px;
99
- padding-top: 4px;
100
- border-top: 1px solid rgba(0, 0, 0, 0.06);
101
- }
102
-
103
- .template-nested-var {
104
- font-size: 10px;
105
- color: #64748b;
106
- background: rgba(0, 0, 0, 0.04);
107
- padding: 2px 6px;
108
- border-radius: 3px;
109
- }
110
-
111
- .template-nested-var:hover {
112
- background: rgba(59, 130, 246, 0.15);
113
- color: #1e40af;
114
- }
115
- `;function Z({tag:e,isHovered:t,measureRef:n,onHover:r,onSelect:i}){let o=na(e.type),c=ra[e.type],p=e.type==="sectionStart"||e.type==="invertedStart";return jsxs("div",{ref:n,style:{display:"flex",alignItems:"flex-start"},children:[jsx("div",{style:{width:20,height:1,background:t?"#3b82f6":"#d0d0d0",marginTop:12,marginRight:4,flexShrink:0}}),jsxs("div",{className:`template-annotation-chip ${t?"hovered":""}`,style:{borderLeftColor:c},onMouseEnter:()=>r(e.id),onMouseLeave:()=>r(void 0),onClick:s=>{s.stopPropagation(),i(e.id);},onMouseDown:s=>s.stopPropagation(),title:p?`${e.rawTag}
116
- Iterates over ${e.name}[]. Access nested properties via ${e.name}.property`:e.rawTag,children:[o&&jsx("span",{className:"template-chip-badge",style:{background:c},children:o}),!o&&jsx("span",{className:"template-chip-dot",style:{color:c},children:"\u25CF"}),jsx("span",{className:"template-chip-name",children:e.name}),p&&e.nestedVars&&e.nestedVars.length>0&&jsx("div",{className:"template-chip-nested",children:e.nestedVars.map((s,l)=>jsx("span",{className:"template-nested-var",title:`Access: ${e.name}.${s}`,children:s.includes(".")?s.split(".").pop():s},l))})]})]})}function q(e,t,n){if(!e)return;R(e,n);let r=t.find(i=>i.id===n);if(r){let i=e.state.tr.setSelection(TextSelection.near(e.state.doc.resolve(r.from)));e.dispatch(i),e.focus();}}function X(e={}){return {id:"template",name:"Template",proseMirrorPlugins:[I()],onStateChange:n=>{let r=f.getState(n.state);if(r)return {tags:r.tags,hoveredId:r.hoveredId,selectedId:r.selectedId}},initialize:n=>({tags:[]}),getSidebarItems:(n,r)=>!n||n.tags.length===0?[]:n.tags.filter(o=>o.type!=="sectionEnd"&&!o.insideSection).map(o=>({id:`template-${o.id}`,anchorPos:o.from,priority:10,estimatedHeight:32,render:c=>j.createElement(Z,{...c,tag:o,isHovered:o.id===n.hoveredId,onHover:p=>{r.editorView&&v(r.editorView,p);},onSelect:p=>q(r.editorView,n.tags,p)})})),renderOverlay:(n,r,i)=>!r||r.tags.length===0?null:j.createElement(G,{context:n,tags:r.tags,hoveredId:r.hoveredId,selectedId:r.selectedId,onHover:o=>{i&&v(i,o);},onSelect:o=>q(i,r.tags,o)}),styles:`
117
- ${E}
118
- ${Y}
119
- ${$}
120
- `}}var aa=X();var Aa="0.0.2";export{Ui as AgentChatLog,Gi as AgentComposer,$i as AgentSuggestionChip,F as AgentTimeline,E as TEMPLATE_DECORATION_STYLES,Aa as VERSION,X as createTemplatePlugin,I as createTemplateProseMirrorPlugin,W as getTemplatePluginTags,v as setHoveredElement,R as setSelectedElement,aa as templatePlugin,f as templatePluginKey};
1
+ import {F,r,u,w,A,c as c$2,G,s}from'./chunk-ZVAFVHWR.mjs';import'./chunk-JPF5R2ZM.mjs';import {m as m$2}from'./chunk-WPI3YRFO.mjs';import {g,f,h,d as d$1,a as a$1}from'./chunk-LUJ6HCMH.mjs';import {b}from'./chunk-U7ZW2DOO.mjs';import {m,n,l as l$1,i as i$1,j as j$1,h as h$3}from'./chunk-RCIZ7OM3.mjs';import {m as m$1,j,l}from'./chunk-F5SERL7X.mjs';import {c,a as a$2,b as b$5}from'./chunk-7QQSDIWK.mjs';export{b as LocaleProvider,c as useTranslation}from'./chunk-7QQSDIWK.mjs';import {b as b$1}from'./chunk-KOXCF3CL.mjs';import {c as c$1,a,b as b$2,q}from'./chunk-47VJOBJD.mjs';import'./chunk-WOHFANC5.mjs';import {bb,db,ib,ab,$a,cb,Pb,Qb,B,nb,yb,ra as ra$1,rb,tb,Ka,ub,Fb,Ha as Ha$1,Ia,Pa as Pa$1,Oa as Oa$1,La,va as va$1,xa as xa$1,Ea as Ea$1,pa as pa$1,Ib,Hb,Wa,Sa as Sa$1,Ua,Ta as Ta$1,Va,Za,Ya,Xa,_a,hb,Rb,jb,Cb,Db,Bb,Eb,zb,qa,Ja,G as G$1,na as na$1,eb,Ab,Kb,x,v,w as w$1,W,ia as ia$1,ja,fb,gb,ta as ta$1}from'./chunk-XQZTWWRF.mjs';import {d as d$2,b as b$3}from'./chunk-B7CCL7SL.mjs';import {p,b as b$4}from'./chunk-ONIYA2FU.mjs';import'./chunk-TZMMD6RR.mjs';import {a as a$3}from'./chunk-ONNHQWAX.mjs';import {d,h as h$1,a as a$4,b as b$6,j as j$2,c as c$3}from'./chunk-FWPVBFKQ.mjs';import {f as f$1,g as g$1,i,e,h as h$2,d as d$3}from'./chunk-TAUMSKRE.mjs';import _u,{useState,useEffect,createContext,forwardRef,useRef,useMemo,useLayoutEffect,useCallback,useImperativeHandle,memo,lazy,Suspense,useSyncExternalStore,Component}from'react';import {redo,undo,redoDepth,undoDepth}from'prosemirror-history';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {PluginKey,EditorState,NodeSelection,TextSelection,Plugin}from'prosemirror-state';import {EditorView}from'prosemirror-view';import {Fragment as Fragment$1}from'prosemirror-model';import'prosemirror-view/style/prosemirror.css';import {toast,Toaster}from'sonner';import {createPortal}from'react-dom';import {CellSelection}from'prosemirror-tables';import {createRoot}from'react-dom/client';var ks=30,ws=240,Mc=16,Rp=24,Ac=ks+ws+Mc,Ps=48,Ip=32,Dc=Ps+Ip+Mc,Fc=_u.memo(function({headings:t,onHeadingClick:n,onClose:i,topOffset:a=0,scrollLeft:c$1=0}){let{t:s}=c(),[l,f]=useState(false);return useEffect(()=>{requestAnimationFrame(()=>f(true));},[]),jsxs("nav",{className:"docx-outline-nav",role:"navigation","aria-label":s("documentOutline.ariaLabel"),style:{position:"absolute",top:a,left:ks-c$1,bottom:0,width:ws,paddingTop:Rp,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,transform:l?"translateX(0)":`translateX(-${ks+ws}px)`,transition:"transform 0.15s ease-out"},onMouseDown:d=>d.stopPropagation(),children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 16px 12px"},children:[jsx("button",{onClick:i,"aria-label":s("documentOutline.closeAriaLabel"),style:{background:"none",border:"none",cursor:"pointer",padding:4,borderRadius:"50%",display:"flex",alignItems:"center",color:"#444746"},title:s("documentOutline.closeTitle"),children:jsx(b,{name:"arrow_back",size:20})}),jsx("span",{style:{fontWeight:400,fontSize:14,color:"#1f1f1f",letterSpacing:"0.01em"},children:s("documentOutline.title")})]}),jsx("div",{style:{overflowY:"auto",flex:1,paddingLeft:20},children:t.length===0?jsx("div",{style:{padding:"8px 16px",color:"#80868b",fontSize:13,lineHeight:"20px"},children:s("documentOutline.noHeadings")}):t.map((d,p)=>jsx("div",{style:{marginLeft:d.level*12},children:jsx("button",{className:"docx-outline-heading-btn",onClick:()=>n(d.pmPos),style:{display:"block",width:"100%",textAlign:"left",background:"none",border:"none",cursor:"pointer",padding:"5px 12px",fontSize:13,fontWeight:400,color:"#1f1f1f",lineHeight:"18px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,letterSpacing:"0.01em"},title:d.text,children:d.text})},`${d.pmPos}-${p}`))})]})});function Lc(e,t,n,i,a,c){if(e.length===0)return [];let s=n?.getContainerOffset(),l=[];for(let p of e){let h;if(p.fixedY!=null&&(h=p.fixedY*i),h==null&&p.anchorKey){let m=t.get(p.anchorKey);m!=null&&(h=m*i);}if(h==null&&n){let m=n.getRectsForRange(p.anchorPos,p.anchorPos+1);m.length>0&&s&&(h=(m[0].y+s.y)*i);}if(h==null){let m=c.get(p.id);m!=null&&(h=m);}h!=null&&(l.push({item:p,targetY:h}),c.set(p.id,h));}l.sort((p,h)=>{let m=p.targetY-h.targetY;return m!==0?m:(p.item.priority??0)-(h.item.priority??0)});let f=[],d=0;for(let p of l){let h=a.get(p.item.id)??p.item.estimatedHeight??80,m=Math.max(p.targetY,d+8);f.push({item:p.item,y:m}),d=m+h;}return f}var Bc=Lc;function Nc({items:e,anchorPositions:t,renderedDomContext:n,pageWidth:i,zoom:a,editorContainerRef:c$1,onExpandedItemChange:s,activeItemId:l}){let{t:f}=c(),d=l??null,p=useRef(d);p.current=d;let[h,m]=useState(false),T=useRef(new Map),y=useRef(new Map),F=useRef(new Set),R=useRef(null),_=useRef(new Map),j=useRef(new Map),[z,$]=useState(0),H=useMemo(()=>Bc(e,t,n,a,T.current,y.current),[e,t,n,a,z]),V=H.length>0,U=useMemo(()=>{let O=new Map;for(let Z of H)O.set(Z.item.id,Z.y);return O},[H]);useEffect(()=>{for(let O of H)F.current.add(O.item.id);},[H]);let X=useCallback(()=>{let O=false;for(let[Z,fe]of _.current){let ue=fe.offsetHeight;T.current.get(Z)!==ue&&(T.current.set(Z,ue),O=true);}O&&$(Z=>Z+1);},[]);useEffect(()=>{let O=requestAnimationFrame(X),Z=setTimeout(()=>{X(),m(true);},400);return ()=>{cancelAnimationFrame(O),clearTimeout(Z);}},[e.length,X]),useEffect(()=>{let O=c$1?.current;if(!O)return;let Z=new ResizeObserver(()=>{requestAnimationFrame(()=>$(fe=>fe+1));});return Z.observe(O),()=>Z.disconnect()},[c$1]),useEffect(()=>{let O=requestAnimationFrame(X);return ()=>cancelAnimationFrame(O)},[d,X]),useEffect(()=>{if(!d)return;let O=_.current.get(d);if(!O){let ue=requestAnimationFrame(()=>$(Te=>Te+1));return ()=>cancelAnimationFrame(ue)}let Z,fe=new ResizeObserver(()=>{cancelAnimationFrame(Z),Z=requestAnimationFrame(()=>{T.current.set(d,O.offsetHeight),$(ue=>ue+1);});});return fe.observe(O),()=>{cancelAnimationFrame(Z),fe.disconnect();}},[d]);let le=useCallback(O=>{let Z=j.current.get(O);return Z||(Z=fe=>{fe?(_.current.set(O,fe),T.current.set(O,fe.offsetHeight)):(_.current.delete(O),T.current.delete(O));},j.current.set(O,Z)),Z},[]),Ee=useCallback(O=>{s?.(p.current===O?null:O);},[s]);return e.length===0?null:jsx("aside",{ref:R,className:"docx-unified-sidebar",role:"complementary","aria-label":f("sidebar.ariaLabel"),style:{position:"absolute",top:0,left:`calc(50% - ${176}px + ${i*a/2+12}px)`,width:340,fontFamily:"'Google Sans', Roboto, Arial, sans-serif",zIndex:40,backgroundColor:"transparent",overflowY:"visible",overflowX:"visible",opacity:V?1:0,transition:"opacity 0.15s ease"},onMouseDown:O=>O.stopPropagation(),children:jsx("div",{style:{position:"relative"},children:e.map(O=>{let Z=U.get(O.id),fe=d===O.id,Te=!F.current.has(O.id)&&Z!==void 0,be=V&&!U.has(O.id),Ie=V?Z!==void 0?{position:"absolute",top:Z,left:0,right:0,opacity:1}:{position:"absolute",top:0,left:0,right:0,opacity:0,visibility:"hidden"}:{marginBottom:6},Me=be?"none":Te||O.isTemporary?"opacity 0.2s ease":h?"opacity 0.2s ease, top 0.15s ease":"none";return jsx("div",{style:{...Ie,transition:Me},children:O.render({isExpanded:fe,onToggleExpand:()=>Ee(O.id),measureRef:le(O.id)})},O.id)})})})}var zc=["single","words","double","thick","dotted","dottedHeavy","dash","dashedHeavy","dashLong","dashLongHeavy","dotDash","dashDotHeavy","dotDotDash","dashDotDotHeavy","wave","wavyHeavy","wavyDouble","none"],vi=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","red","white","yellow","none"],_c={name:"apply_formatting",displayName:"Applying formatting",description:'Apply character formatting (bold, italic, underline, strike, color, highlight, font size, font family) to a paragraph or to a unique phrase within it. Pass `search` to scope the change to part of the paragraph; omit it to format the whole paragraph. Direct edit \u2014 does not create a tracked change. Pass `false` to clear a mark; omit a key to leave it untouched. Color uses `{rgb: "FF0000"}` (no hash) or `{themeColor: "accent1"}`. Font size is in points. Font family takes `{ascii, hAnsi}`.',inputSchema:{type:"object",properties:{paraId:{type:"string",description:"Paragraph id from read_document / find_text."},search:{type:"string",description:"Optional: format only this exact phrase within the paragraph (must be unique)."},marks:{type:"object",description:"Marks to set or clear. Omit a key to leave it untouched.",properties:{bold:{type:"boolean"},italic:{type:"boolean"},underline:{description:'true \u2192 single underline; false \u2192 clear; or { style: "single"|"double"|"thick"|"dotted"|"dottedHeavy"|"dash"|"dashedHeavy"|"dashLong"|"dashLongHeavy"|"dotDash"|"dashDotHeavy"|"dotDotDash"|"dashDotDotHeavy"|"wave"|"wavyHeavy"|"wavyDouble"|"words"|"none" }. Other values are rejected.'},strike:{type:"boolean"},color:{type:"object",description:'Either {rgb: "RRGGBB"} (no hash) or {themeColor: "accent1"|"text1"|...}.',properties:{rgb:{type:"string"},themeColor:{type:"string"}}},highlight:{type:"string",enum:[...vi],description:"Highlight color \u2014 must be one of the Word-supported names: "+vi.join(", ")+'. Pass "none" to clear. Hex values are rejected (Word does not accept hex for <w:highlight>).'},fontSize:{type:"number",description:"Size in points (e.g. 12, 14, 24)."},fontFamily:{type:"object",properties:{ascii:{type:"string"},hAnsi:{type:"string"}}}}}},required:["paraId","marks"]},handler:(e,t)=>{if(!e.marks||Object.keys(e.marks).length===0)return {success:false,error:"No marks provided. Specify at least one of bold/italic/etc."};let n=typeof e.marks.underline=="object"&&e.marks.underline!==null?e.marks.underline.style:void 0;if(n&&!zc.includes(n))return {success:false,error:`Invalid underline.style "${n}". Must be one of: ${zc.join(", ")}.`};let i=typeof e.marks.highlight=="string"?e.marks.highlight:void 0;if(i&&!vi.includes(i))return {success:false,error:`Invalid highlight "${i}". Must be one of: ${vi.join(", ")}. Hex values are not supported by Word's highlight attribute.`};let a=i==="none"?{...e.marks,highlight:""}:e.marks;return t.applyFormatting({paraId:e.paraId,search:e.search,marks:a})?{success:true,data:`Formatting applied to ${e.search?`"${e.search}" in ${e.paraId}`:e.paraId}.`}:{success:false,error:"Could not apply formatting. The paraId may not exist, or `search` is missing / ambiguous."}}},Wc={name:"set_paragraph_style",displayName:"Setting paragraph style",description:`Apply a paragraph style by id (e.g. "Heading1", "Heading2", "Title", "Quote", "Normal"). The styleId must exist in the document's style definitions \u2014 unknown ids are no-ops. Direct edit, not a tracked change.`,inputSchema:{type:"object",properties:{paraId:{type:"string",description:"Paragraph id from read_document / find_text."},styleId:{type:"string",description:'Style id (e.g. "Heading1", "Title", "Quote", "Normal").'}},required:["paraId","styleId"]},handler:(e,t)=>t.setParagraphStyle({paraId:e.paraId,styleId:e.styleId})?{success:true,data:`Style "${e.styleId}" applied to ${e.paraId}.`}:{success:false,error:`Could not set style. paraId "${e.paraId}" not found, or styleId "${e.styleId}" is not defined.`}};var $c={name:"read_page",displayName:"Reading page",description:`Read the contents of one rendered page (1-indexed). Returns paragraphs on the page, each tagged with its stable paraId. Use this when the user asks "summarize page 3" or "comment on what's on this page".`,inputSchema:{type:"object",properties:{pageNumber:{type:"number",description:"1-indexed page number."}},required:["pageNumber"]},handler:(e,t)=>{let n=t.getPage(e.pageNumber);if(!n){let i=t.getTotalPages();return i===0?{success:false,error:"No pages rendered (headless mode or empty document)."}:{success:false,error:`Page ${e.pageNumber} does not exist (document has ${i} page${i===1?"":"s"}).`}}return {success:true,data:n.text||"(empty page)"}}},Vc={name:"read_pages",displayName:"Reading pages",description:"Read a contiguous range of rendered pages (1-indexed, inclusive). Returns paragraphs across the range, each tagged with paraId. Cheaper than calling read_page repeatedly \u2014 single round-trip.",inputSchema:{type:"object",properties:{from:{type:"number",description:"1-indexed start page (inclusive)."},to:{type:"number",description:"1-indexed end page (inclusive)."}},required:["from","to"]},handler:(e,t)=>{let n=t.getPages({from:e.from,to:e.to});if(n.length===0){let a=t.getTotalPages();return a===0?{success:false,error:"No pages rendered (headless mode or empty document)."}:{success:false,error:`No pages in range ${e.from}\u2013${e.to} (document has ${a} page${a===1?"":"s"}).`}}return {success:true,data:n.map(a=>`--- Page ${a.pageNumber} ---
2
+ ${a.text||"(empty page)"}`).join(`
3
+
4
+ `)}}};var Ep={name:"read_document",displayName:"Reading document",description:'Read the document content. Returns lines tagged with a stable paragraph id, e.g. "[2A1F3B] First paragraph". Use the bracketed id as `paraId` when commenting or suggesting changes \u2014 it survives edits, unlike ordinal indices. Returns the vanilla document (the doc as it exists right now, before any tracked suggestions are accepted): pending insertions are HIDDEN, pending deletions are shown as plain text (still part of the document until accepted), and comment markers are stripped. Use read_changes / read_comments to inspect what is pending.',inputSchema:{type:"object",properties:{fromIndex:{type:"number",description:"Start ordinal index (inclusive). Optional."},toIndex:{type:"number",description:"End ordinal index (inclusive). Optional."}}},handler:(e,t)=>({success:true,data:t.getContentAsText({fromIndex:e.fromIndex,toIndex:e.toIndex,includeTrackedChanges:false,includeCommentAnchors:false})})},Mp={name:"read_selection",displayName:"Reading selection",description:'Read the user\'s current cursor or selection. Returns the selected text, the paragraph it lives in, and that paragraph\'s `paraId`. Use this when the user asks "fix this" or "review what I have selected".',inputSchema:{type:"object",properties:{}},handler:(e,t)=>{let n=t.getSelection();return n?{success:true,data:n}:{success:false,error:"No selection (editor not focused)."}}},Ap={name:"find_text",displayName:"Finding text",description:"Locate paragraphs containing `query`. Returns up to `limit` handles, each with `paraId`, the matched substring, and surrounding context. Pass any returned `paraId` (and the `match` as `search`) to add_comment / suggest_change.",inputSchema:{type:"object",properties:{query:{type:"string",description:"Text to find (substring match)."},caseSensitive:{type:"boolean",description:"Default: false."},limit:{type:"number",description:"Max paragraphs to return. Default: 20."}},required:["query"]},handler:(e,t)=>{let n=t.findText(e.query,{caseSensitive:e.caseSensitive,limit:e.limit});return n.length===0?{success:true,data:"No matches."}:{success:true,data:n}}},Dp={name:"read_comments",displayName:"Reading comments",description:"List all comments in the document with their paragraph anchors.",inputSchema:{type:"object",properties:{}},handler:(e,t)=>{let n=t.getComments();return n.length===0?{success:true,data:"No comments."}:{success:true,data:n.map(a=>`[Comment #${a.id}] ${a.author}: "${a.text}"`+(a.anchoredText?` (anchored to: "${a.anchoredText}")`:"")+(a.replies.length>0?`
5
+ `+a.replies.map(c=>` Reply by ${c.author}: "${c.text}"`).join(`
6
+ `):"")).join(`
7
+ `)}}},Fp={name:"read_changes",displayName:"Reading changes",description:"List tracked changes (insertions / deletions) currently in the document.",inputSchema:{type:"object",properties:{}},handler:(e,t)=>{let n=t.getChanges();return n.length===0?{success:true,data:"No tracked changes."}:{success:true,data:n.map(a=>`[Change #${a.id}] ${a.type} by ${a.author}: "${a.text}"`).join(`
8
+ `)}}},Lp={name:"add_comment",displayName:"Adding comment",description:"Attach a comment to a paragraph, optionally anchored to a unique phrase within it. The user sees it instantly in the comments sidebar.",inputSchema:{type:"object",properties:{paraId:{type:"string",description:"Paragraph id from read_document / find_text."},text:{type:"string",description:"Comment body."},search:{type:"string",description:"Optional: anchor to this exact phrase within the paragraph. Must be unique."}},required:["paraId","text"]},handler:(e,t)=>{let n=t.addComment({paraId:e.paraId,text:e.text,search:e.search});return n===null?{success:false,error:"Could not add comment. The paraId may not exist, or `search` is missing / ambiguous."}:{success:true,data:`Comment ${n} added on ${e.paraId}.`}}},Bp={name:"suggest_change",displayName:"Suggesting change",description:"Suggest a tracked change. Three modes: (1) replacement \u2014 `search` non-empty, `replaceWith` non-empty; (2) deletion \u2014 `search` non-empty, `replaceWith` empty; (3) insertion at paragraph end \u2014 `search` empty, `replaceWith` non-empty. The user can accept or reject in the editor UI.",inputSchema:{type:"object",properties:{paraId:{type:"string",description:"Paragraph id from read_document / find_text."},search:{type:"string",description:"Phrase to find (must be unique). Empty string = insert at paragraph end."},replaceWith:{type:"string",description:"Replacement text. Empty string = delete the matched phrase."}},required:["paraId","search","replaceWith"]},handler:(e,t)=>t.proposeChange({paraId:e.paraId,search:e.search,replaceWith:e.replaceWith})?e.search?e.replaceWith?{success:true,data:`Replacement proposed: "${e.search}" \u2192 "${e.replaceWith}" on ${e.paraId}.`}:{success:true,data:`Deletion proposed: "${e.search}" on ${e.paraId}.`}:{success:true,data:`Insertion proposed on ${e.paraId}.`}:{success:false,error:"Could not propose change. Possible causes: paraId not found; search missing or ambiguous; or the target overlaps an existing tracked change."}},Hp={name:"reply_comment",displayName:"Replying to comment",description:"Reply to an existing comment by id. Threaded under the original.",inputSchema:{type:"object",properties:{commentId:{type:"number",description:"Comment id from read_comments."},text:{type:"string",description:"Reply body."}},required:["commentId","text"]},handler:(e,t)=>{let n=t.replyTo(e.commentId,{text:e.text});return n===null?{success:false,error:`Comment #${e.commentId} not found.`}:{success:true,data:`Reply ${n} added to comment ${e.commentId}.`}}},Op={name:"resolve_comment",displayName:"Resolving comment",description:"Mark a comment as resolved (done).",inputSchema:{type:"object",properties:{commentId:{type:"number",description:"Comment id from read_comments."}},required:["commentId"]},handler:(e,t)=>(t.resolveComment(e.commentId),{success:true,data:`Comment ${e.commentId} resolved.`})},Np={name:"scroll",displayName:"Scrolling",description:"Scroll the editor to a paragraph by paraId. Does not move the user's cursor.",inputSchema:{type:"object",properties:{paraId:{type:"string",description:"Paragraph id from read_document / find_text."}},required:["paraId"]},handler:(e,t)=>t.scrollTo(e.paraId)?{success:true,data:`Scrolled to ${e.paraId}.`}:{success:false,error:`paraId ${e.paraId} not found.`}},Ms=[Ep,Mp,$c,Vc,Ap,Dp,Fp,Lp,Bp,_c,Wc,Hp,Op,Np];function As(){return Ms.map(e=>({type:"function",function:{name:e.name,description:e.description,parameters:e.inputSchema}}))}As();var zn={agentPanel:{defaultTitle:"Assistant",close:"Close panel",resizeHandle:"Resize agent panel"}};var qc="eigenpal:docx-editor:agentPanelWidth";function Vp({size:e=22}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m760-600-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110Zm0 560-50-110-110-50 110-50 50-110 50 110 110 50-110 50-50 110ZM360-160 260-380 40-480l220-100 100-220 100 220 220 100-220 100-100 220Zm0-194 40-86 86-40-86-40-40-86-40 86-86 40 86 40 40 86Zm0-126Z"})})}function Up({size:e=18}){return jsx("svg",{viewBox:"0 -960 960 960",width:e,height:e,fill:"currentColor","aria-hidden":"true",children:jsx("path",{d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})})}var Gp=360,Kp=280,Yp=600;function Ds({title:e=zn.agentPanel.defaultTitle,icon:t,closeLabel:n=zn.agentPanel.close,resizeHandleLabel:i=zn.agentPanel.resizeHandle,width:a,defaultWidth:c=Gp,minWidth:s=Kp,maxWidth:l=Yp,onWidthChange:f,onClose:d,children:p,className:h,closed:m=false}){let T=a!==void 0,[y,F]=useState(false),R=useRef(m);useEffect(()=>{if(R.current!==m){R.current=m,F(true);let X=window.setTimeout(()=>F(false),260);return ()=>window.clearTimeout(X)}},[m]);let[_,j]=useState(()=>{if(T)return a;if(typeof window>"u")return c;try{let X=window.localStorage.getItem(qc);if(X){let le=Number(X);if(Number.isFinite(le)&&le>=s&&le<=l)return le}}catch{}return c}),z=T?a:_,$=useRef(null),H=useRef({minWidth:s,maxWidth:l,isControlled:T,onWidthChange:f});H.current={minWidth:s,maxWidth:l,isControlled:T,onWidthChange:f};let V=useRef(null);if(!V.current){let X=Ee=>{let O=$.current;if(!O)return;let Z=H.current,fe=O.startX-Ee.clientX,ue=Math.min(Z.maxWidth,Math.max(Z.minWidth,O.startWidth+fe));O.lastWidth=ue,Z.isControlled||j(ue),Z.onWidthChange?.(ue);},le=()=>{let Ee=$.current;if(Ee&&($.current=null,document.removeEventListener("pointermove",X),document.removeEventListener("pointerup",le),!H.current.isControlled))try{window.localStorage.setItem(qc,String(Ee.lastWidth));}catch{}};V.current={move:X,up:le};}let U=useCallback(X=>{X.preventDefault();let le=T?a:_;$.current={startX:X.clientX,startWidth:le,lastWidth:le},document.addEventListener("pointermove",V.current.move),document.addEventListener("pointerup",V.current.up);},[]);return useEffect(()=>()=>{let X=V.current;X&&(document.removeEventListener("pointermove",X.move),document.removeEventListener("pointerup",X.up));},[]),jsxs("div",{className:`ep-agent-panel${h?` ${h}`:""}`,style:{width:m?0:z,flex:m?"0 0 0px":`0 0 ${z}px`,height:"calc(100% - 16px)",margin:m?"8px 0 8px 0":"8px 8px 8px 12px",display:"flex",flexDirection:"column",background:"#ffffff",border:m?"1px solid transparent":"1px solid #e3e3e3",borderRadius:16,boxShadow:m?"none":"0 1px 2px rgba(60,64,67,0.05), 0 4px 12px rgba(60,64,67,0.08)",opacity:m?0:1,pointerEvents:m?"none":"auto",position:"relative",boxSizing:"border-box",minWidth:m?0:s,overflow:"hidden",fontFamily:"'Google Sans', 'Google Sans Text', system-ui, -apple-system, sans-serif",transition:y?"flex-basis 220ms cubic-bezier(0.4, 0, 0.2, 1), width 220ms cubic-bezier(0.4, 0, 0.2, 1), margin 220ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease":"opacity 180ms ease, box-shadow 220ms ease, border-color 220ms ease"},"aria-hidden":m,"data-testid":"agent-panel","data-state":m?"closed":"open",role:"complementary","aria-label":e,children:[jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":i,onPointerDown:U,style:{position:"absolute",left:-3,top:0,bottom:0,width:6,cursor:"col-resize",touchAction:"none",zIndex:1},"data-testid":"agent-panel-resize-handle"}),jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 16px 10px",flex:"0 0 auto",background:"#ffffff"},children:[jsx("span",{style:{display:"inline-flex",alignItems:"center",color:"#0b57d0"},children:t??jsx(Vp,{size:22})}),jsx("span",{style:{flex:1,fontSize:15,fontWeight:500,color:"#1f1f1f",letterSpacing:.1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),d&&jsx("button",{type:"button",onClick:d,"aria-label":n,title:n,"data-testid":"agent-panel-close",style:{border:"none",background:"transparent",padding:6,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#444746",borderRadius:999,transition:"background 0.15s"},onMouseEnter:X=>{X.currentTarget.style.background="#f1f3f4";},onMouseLeave:X=>{X.currentTarget.style.background="transparent";},children:jsx(Up,{size:18})})]}),jsx("div",{style:{flex:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:p})]})}function Zc({comments:e,anchorPositions:t,zoom:n,pageWidth:i,sidebarOpen:a,resolvedCommentIds:c$1,onMarkerClick:s}){let{t:l}=c(),d=e.filter(p=>p.parentId==null).map(p=>{let h=c$1.has(p.id);if(!h&&a||h&&a)return null;let m=t.get(`comment-${p.id}`);return m==null?null:{comment:p,isResolved:h,y:m}}).filter(Boolean);return d.length===0?null:jsx("div",{className:"docx-comment-margin-markers",style:{position:"absolute",top:0,left:`calc(50% + ${i*n/2+6}px)`,zIndex:30,pointerEvents:"none"},onMouseDown:p=>p.stopPropagation(),children:d.map(({comment:p,isResolved:h,y:m})=>jsx("button",{onClick:()=>s(p.id),title:l(h?"commentMarkers.resolvedComment":"commentMarkers.comment"),style:{position:"absolute",top:m*n,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:T=>{T.currentTarget.style.opacity="0.7";},onMouseOut:T=>{T.currentTarget.style.opacity="1";},children:jsx(b,{name:h?"chat_bubble_check":"chat_bubble_outline",size:18})},p.id))})}function pr(e){return e?.length?e.flatMap(t=>t.content.filter(n=>n.type==="run").flatMap(n=>"content"in n?n.content:[]).filter(n=>n.type==="text").map(n=>"text"in n?n.text:"")).join(""):""}function uo(e){return e?new Date(e).toLocaleString(void 0,{hour:"numeric",minute:"2-digit",month:"short",day:"numeric"}):""}function po(e){return e.split(/\s+/).map(t=>t[0]).join("").toUpperCase().slice(0,2)}var Jc=["#6DCCB1","#79AAD9","#EE789D","#A987D1","#E6A85F","#F2CC8F","#68B3A2","#B07AA1","#59A14F","#FF9DA7","#E15759","#76B7B2"];function Ls(e){let t=0;for(let n=0;n<e.length;n++)t=e.charCodeAt(n)+((t<<5)-t);return Jc[Math.abs(t)%Jc.length]}function mr(e,t=50){return e.length>t?e.slice(0,t)+"...":e}var Bo={background:"none",border:"none",cursor:"pointer",padding:4,color:"#5f6368",display:"flex",borderRadius:"50%"},Si={padding:"6px 16px",fontSize:14,border:"none",background:"none",color:"#1a73e8",cursor:"pointer",fontWeight:500,fontFamily:"inherit"};function Ho(e,t=32){return {width:t,height:t,borderRadius:"50%",backgroundColor:Ls(e),color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:t===32?13:11,fontWeight:500,flexShrink:0}}function ki(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 Pi({replies:e,isExpanded:t}){let{t:n}=c();if(e.length===0)return null;let i=t?e:e.slice(-1),a=t?0:e.length-1;return jsxs("div",{style:{marginTop:8},children:[a>0&&jsx("div",{style:{fontSize:12,fontWeight:500,color:"#1a73e8",paddingTop:6,paddingBottom:6,borderTop:"1px solid #e8eaed"},children:n("comments.replyCount",{count:a})}),i.map(c=>jsxs("div",{style:{marginBottom:t?8:0,paddingTop:8,borderTop:"1px solid #e8eaed"},children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Ho(c.author||"U",28),children:po(c.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:c.author||n("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:uo(c.date)})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:4,...t?{}:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"}},children:pr(c.content)})]},c.id))]})}var jp={width:"100%",border:"1px solid #1a73e8",borderRadius:20,outline:"none",fontSize:14,padding:"8px 16px",fontFamily:"inherit",boxSizing:"border-box",color:"#202124"},qp={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 Ri({onSubmit:e}){let[t,n]=useState(false),[i,a]=useState(""),{t:c$1}=c();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(),n(true);},placeholder:c$1("comments.replyPlaceholder"),style:qp})});let s=i.trim();return jsxs("div",{onClick:l=>l.stopPropagation(),style:{marginTop:12},children:[jsx("input",{ref:l=>l?.focus({preventScroll:true}),type:"text",value:i,onChange:l=>a(l.target.value),onMouseDown:l=>l.stopPropagation(),onKeyDown:l=>{l.stopPropagation(),l.key==="Enter"&&(l.preventDefault(),s&&e(s),a(""),n(false)),l.key==="Escape"&&(n(false),a(""));},placeholder:c$1("comments.replyPlaceholder"),style:jp}),jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:8},children:[jsx("button",{onClick:l=>{l.stopPropagation(),n(false),a("");},style:Si,children:c$1("common.cancel")}),jsx("button",{onClick:l=>{l.stopPropagation(),s&&e(s),a(""),n(false);},disabled:!s,style:ki(!!s),children:c$1("common.reply")})]})]})}var td={padding:"8px 10px",borderRadius:8,backgroundColor:"#f8fbff",cursor:"pointer",boxShadow:"0 1px 3px rgba(60,64,67,0.2), 0 2px 6px rgba(60,64,67,0.08)"},nd={padding:"10px 12px",borderRadius:8,backgroundColor:"#fff",cursor:"pointer",boxShadow:"0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15)"};var Ii=td,Ei=nd;function od({comment:e,replies:t,isExpanded:n,onToggleExpand:i,measureRef:a,onReply:c$1,onResolve:s,onUnresolve:l,onDelete:f}){let[d,p]=useState(false),{t:h}=c();return jsxs("div",{ref:a,"data-comment-id":e.id,className:"docx-comment-card",onClick:i,onMouseDown:m=>m.stopPropagation(),style:{...n?Ei:Ii},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,{name:"check",size:12}),h("comments.resolved")]}),jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Ho(e.author||"U"),children:po(e.author||"U")}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:e.author||h("comments.unknown")}),jsx("div",{style:{fontSize:11,color:"#5f6368"},children:uo(e.date)})]}),n&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2,position:"relative"},children:[jsx("button",{onClick:m=>{m.stopPropagation(),e.done?l?.(e.id):s?.(e.id);},title:e.done?h("comments.reopen"):h("comments.resolve"),style:Bo,children:jsx(b,{name:e.done?"undo":"check",size:20})}),jsx("button",{onClick:m=>{m.stopPropagation(),p(!d);},title:h("comments.moreOptions"),style:Bo,children:jsx(b,{name:"more_vert",size:20})}),d&&jsx("div",{onClick:m=>m.stopPropagation(),onMouseDown:m=>m.stopPropagation(),style:{position:"absolute",top:32,right:0,background:"#fff",borderRadius:8,boxShadow:"0 2px 6px rgba(60,64,67,0.3), 0 1px 2px rgba(60,64,67,0.15)",zIndex:100,minWidth:120,padding:"4px 0"},children:jsx("button",{onClick:()=>{p(false),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:m=>{m.target.style.backgroundColor="#f1f3f4";},onMouseOut:m=>{m.target.style.backgroundColor="transparent";},children:h("common.delete")})})]})]}),jsx("div",{style:{fontSize:13,color:"#202124",lineHeight:"20px",marginTop:6},children:pr(e.content)}),jsx(Pi,{replies:t,isExpanded:n}),n&&!e.done&&jsx(Ri,{onSubmit:m=>c$1?.(e.id,m)})]})}function id({change:e,replies:t,isExpanded:n,onToggleExpand:i,measureRef:a,onAccept:c$1,onReject:s,onReply:l}){let{t:f}=c(),d=e.author||f("trackedChanges.unknown");return jsxs("div",{ref:a,className:"docx-tracked-change-card",onClick:()=>i(),onMouseDown:p=>p.stopPropagation(),style:n?Ei:Ii,children:[jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[jsx("div",{style:Ho(d),children:po(d)}),jsxs("div",{style:{flex:1,minWidth:0},children:[jsx("div",{style:{fontSize:13,fontWeight:600,color:"#202124"},children:d}),e.date&&jsx("div",{style:{fontSize:11,color:"#5f6368"},children:uo(e.date)})]}),n&&jsxs("div",{style:{display:"flex",gap:4,marginTop:2},children:[jsx("button",{onClick:p=>{p.stopPropagation(),c$1?.(e.from,e.to);},title:f("common.accept"),style:Bo,children:jsx(b,{name:"check",size:20})}),jsx("button",{onClick:p=>{p.stopPropagation(),s?.(e.from,e.to);},title:f("common.reject"),style:Bo,children:jsx(b,{name:"close",size:20})})]})]}),jsx("div",{style:{fontSize:13,lineHeight:"20px",color:"#202124",marginTop:6},children:e.type==="replacement"?jsxs(Fragment,{children:[f("trackedChanges.replaced")," ",jsxs("span",{style:{color:"#c5221f",fontWeight:500},children:['"',mr(e.deletedText||""),'"']})," ",f("trackedChanges.with")," ",jsxs("span",{style:{color:"#137333",fontWeight:500},children:['"',mr(e.text),'"']})]}):jsxs(Fragment,{children:[e.type==="insertion"?f("trackedChanges.added"):f("trackedChanges.deleted")," ",jsxs("span",{style:{color:e.type==="insertion"?"#137333":"#c5221f",fontWeight:500},children:['"',mr(e.text),'"']})]})}),jsx(Pi,{replies:t,isExpanded:n}),n&&jsx(Ri,{onSubmit:p=>l?.(e.revisionId,p)})]})}function sd({measureRef:e,onSubmit:t,onCancel:n}){let[i,a]=useState(""),{t:c$1}=c(),s=()=>{i.trim()&&(t?.(i.trim()),a(""));};return jsxs("div",{ref:e,onMouseDown:l=>l.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:l=>l?.focus({preventScroll:true}),value:i,onChange:l=>a(l.target.value),onMouseDown:l=>l.stopPropagation(),onKeyDown:l=>{l.stopPropagation(),l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),s()),l.key==="Escape"&&(n?.(),a(""));},placeholder:c$1("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:()=>{n?.(),a("");},style:Si,children:c$1("common.cancel")}),jsx("button",{onClick:s,disabled:!i.trim(),style:ki(!!i.trim()),children:c$1("common.comment")})]})]})}function cd({comment:e,measureRef:t,onToggleExpand:n}){return jsx("div",{ref:t,"data-comment-id":e.id,"data-comment-resolved":"true",onClick:n,onMouseDown:i=>i.stopPropagation(),style:{display:"inline-flex",alignItems:"center",cursor:"pointer",color:"#5f6368",padding:2},onMouseOver:i=>{i.currentTarget.style.opacity="0.7";},onMouseOut:i=>{i.currentTarget.style.opacity="1";},children:jsx(b,{name:"chat_bubble_check",size:20})})}function dd({comments:e,trackedChanges:t,callbacks:n,showResolved:i=false,isAddingComment:a=false,addCommentYPosition:c=null}){let s=useMemo(()=>e.filter(f=>!(f.parentId!=null||f.done&&!i)),[e,i]),l=useMemo(()=>{let f=new Map;for(let d of e)if(d.parentId!=null){let p=f.get(d.parentId);p?p.push(d):f.set(d.parentId,[d]);}return f},[e]);return useMemo(()=>{let f=[];a&&c!=null&&f.push({id:"new-comment-input",anchorPos:0,fixedY:c,priority:-1e3,isTemporary:true,estimatedHeight:120,render:d=>jsx(sd,{...d,onSubmit:n.onAddComment,onCancel:n.onCancelAddComment})});for(let d of s){let p=l.get(d.id)??[];f.push({id:`comment-${d.id}`,anchorPos:0,anchorKey:`comment-${d.id}`,priority:0,estimatedHeight:d.done?28:80,render:h=>d.done&&!h.isExpanded?jsx(cd,{...h,comment:d}):jsx(od,{...h,comment:d,replies:p,onReply:n.onCommentReply,onResolve:n.onCommentResolve,onUnresolve:n.onCommentUnresolve,onDelete:n.onCommentDelete})});}return t.forEach((d,p)=>{let h=l.get(d.revisionId)??[];f.push({id:`tc-${d.revisionId}-${p}`,anchorPos:d.from,anchorKey:`revision-${d.revisionId}`,priority:1,estimatedHeight:80,render:m=>jsx(id,{...m,change:d,replies:h,onAccept:n.onAcceptChange,onReject:n.onRejectChange,onReply:n.onTrackedChangeReply})});}),f},[s,t,l,n,a,c])}var ud={entries:[],commentToRevision:new Map};function pd(e){if(!e)return ud;let{doc:t,schema:n}=e,i=n.marks.insertion,a=n.marks.deletion,c=n.marks.comment;if(!i&&!a)return ud;let s=[],l=new Map;t.descendants((p,h)=>{if(!p.isText)return;let m=null;for(let T of p.marks)(T.type===i||T.type===a)&&(s.push({type:T.type===i?"insertion":"deletion",text:p.text||"",author:T.attrs.author||"",date:T.attrs.date,from:h,to:h+p.nodeSize,revisionId:T.attrs.revisionId}),m=T);if(c&&m){let T=p.marks.find(y=>y.type===c);if(T){let y=T.attrs.commentId,F=m.attrs.revisionId;l.has(y)||l.set(y,F);}}});let f=[];for(let p of s){let h=f[f.length-1];h&&h.revisionId===p.revisionId&&h.type===p.type&&h.to===p.from?(h.text+=p.text,h.to=p.to):f.push({...p});}let d=[];for(let p=0;p<f.length;p++){let h=f[p],m=f[p+1];h.type==="deletion"&&m&&m.type==="insertion"&&h.author===m.author&&h.date===m.date&&h.to===m.from?(d.push({type:"replacement",text:m.text,deletedText:h.text,author:h.author,date:h.date,from:h.from,to:m.to,revisionId:h.revisionId,insertionRevisionId:m.revisionId}),p++):d.push(h);}return {entries:d,commentToRevision:l}}function md(e){return useMemo(()=>pd(e),[e])}var om=createContext(null);function gd({children:e}){let t=useMemo(()=>new q,[]),n=useSyncExternalStore(t.subscribe,t.getSnapshot),i=useCallback((d,p)=>{t.showError(d,p);},[t]),a=useCallback((d,p)=>{t.showWarning(d,p);},[t]),c=useCallback((d,p)=>{t.showInfo(d,p);},[t]),s=useCallback(d=>{t.dismiss(d);},[t]),l=useCallback(()=>{t.clearAll();},[t]),f=useMemo(()=>({notifications:n.notifications,showError:i,showWarning:a,showInfo:c,dismissNotification:s,clearNotifications:l}),[n.notifications,i,a,c,s,l]);return jsxs(om.Provider,{value:f,children:[e,jsx(rm,{notifications:n.notifications,onDismiss:s})]})}function rm({notifications:e,onDismiss:t}){let n=e.filter(a=>!a.dismissed);return n.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:n.map(a=>jsx(im,{notification:a,onDismiss:()=>t(a.id)},a.id))})}function im({notification:e,onDismiss:t}){let{t:n}=c(),[i,a]=useState(false),s=(F=>{switch(F){case "error":return {bg:"var(--doc-error-bg)",border:"#f5c6cb",text:"var(--doc-error)",icon:"var(--doc-error)"};case "warning":return {bg:"var(--doc-warning-bg)",border:"#ffeeba",text:"#856404",icon:"var(--doc-warning)"};case "info":return {bg:"#e8f4fd",border:"#b8daff",text:"#0c5460",icon:"var(--doc-primary)"}}})(e.severity),l={background:s.bg,border:`1px solid ${s.border}`,borderRadius:"8px",padding:"12px 16px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",animation:"slideIn 0.3s ease-out"},f={display:"flex",alignItems:"flex-start",gap:"8px"},d={color:s.icon,flexShrink:0},p={flex:1,minWidth:0},h={color:s.text,fontSize:"14px",fontWeight:500,wordBreak:"break-word"},m={marginTop:"8px",padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-word",color:s.text,maxHeight:"200px",overflow:"auto"},T={background:"transparent",border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:s.text},y=F=>{switch(F){case "error":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 6v5M10 13v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "warning":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("path",{d:"M10 3L18 17H2L10 3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),jsx("path",{d:"M10 8v4M10 14v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case "info":return jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[jsx("circle",{cx:"10",cy:"10",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),jsx("path",{d:"M10 9v5M10 6v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return jsxs("div",{className:`docx-notification-toast docx-notification-${e.severity}`,style:l,children:[jsx("style",{children:`
9
+ @keyframes slideIn {
10
+ from {
11
+ opacity: 0;
12
+ transform: translateX(100%);
13
+ }
14
+ to {
15
+ opacity: 1;
16
+ transform: translateX(0);
17
+ }
18
+ }
19
+ `}),jsxs("div",{style:f,children:[jsx("span",{style:d,children:y(e.severity)}),jsxs("div",{style:p,children:[jsx("div",{style:h,children:e.message}),e.details&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:()=>a(!i),style:{...T,marginTop:"4px",fontSize:"12px",padding:"2px 8px"},children:n(i?"errors.hideDetails":"errors.showDetails")}),i&&jsx("div",{style:m,children:e.details})]})]}),jsx("button",{type:"button",onClick:t,style:T,title:n("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 Ai=class extends Component{constructor(n){super(n);d$3(this,"resetError",()=>{this.setState({hasError:false,error:null,errorInfo:null});});this.state={hasError:false,error:null,errorInfo:null};}static getDerivedStateFromError(n){return {hasError:true,error:n}}componentDidCatch(n,i){this.setState({errorInfo:i}),console.error("ErrorBoundary caught an error:",n,i),this.props.onError&&this.props.onError(n,i);}render(){if(this.state.hasError){let{fallback:n,showDetails:i=true}=this.props,{error:a,errorInfo:c}=this.state;return n?typeof n=="function"?n(a,this.resetError):n:jsx(am,{error:a,errorInfo:c,showDetails:i,onReset:this.resetError})}return this.props.children}};function am({error:e,errorInfo:t,showDetails:n,onReset:i}){let{t:a}=c(),c$1={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"40px",textAlign:"center",minHeight:"200px",background:"white",borderRadius:"8px",border:"1px solid var(--doc-border)",margin:"20px"},s={color:"var(--doc-error)",marginBottom:"16px"},l={fontSize:"18px",fontWeight:600,color:"var(--doc-text)",marginBottom:"8px"},f={fontSize:"14px",color:"var(--doc-text-muted)",marginBottom:"16px",maxWidth:"400px"},d={width:"100%",maxWidth:"600px",marginBottom:"16px",padding:"12px",background:"var(--doc-error-bg)",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",textAlign:"left",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:"200px",overflow:"auto"},p={padding:"10px 20px",background:"var(--doc-primary)",color:"white",border:"none",borderRadius:"4px",fontSize:"14px",cursor:"pointer"};return jsxs("div",{className:"docx-error-fallback",style:c$1,children:[jsx("div",{style:s,children:jsxs("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",children:[jsx("circle",{cx:"24",cy:"24",r:"20",stroke:"currentColor",strokeWidth:"2"}),jsx("path",{d:"M24 14v12M24 30v2",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})}),jsx("h2",{style:l,children:a("errors.somethingWentWrong")}),jsx("p",{style:f,children:a("errors.errorDescription")}),n&&jsxs("div",{style:d,children:[jsx("strong",{children:a("errors.errorLabel")})," ",e.message,t&&jsxs(Fragment,{children:[`
20
+
21
+ `,jsx("strong",{children:a("errors.componentStack")}),t.componentStack]})]}),jsx("button",{type:"button",onClick:i,style:p,children:a("errors.tryAgain")})]})}var cm=15840,yd=1440,dm=1440,um=567,Cd=20,pm="var(--doc-text-muted)",mm="var(--doc-text-subtle)",fm="var(--doc-primary)",gm="var(--doc-primary)",hm="var(--doc-primary-hover)";function vd({sectionProps:e,zoom:t=1,editable:n=false,onTopMarginChange:i,onBottomMarginChange:a,unit:c$1="inch",className:s="",style:l}){let{t:f}=c(),[d,p]=useState(null),[h,m]=useState(null),T=useRef(null),y=e?.pageHeight??cm,F=e?.marginTop??yd,R=e?.marginBottom??yd,_=a$4(y)*t,j=a$4(F)*t,z=a$4(R)*t,$=useCallback((le,Ee)=>{n&&(le.preventDefault(),p(Ee));},[n]),H=useCallback(le=>{if(!d||!T.current)return;let Ee=T.current.getBoundingClientRect(),O=le.clientY-Ee.top,Z=b$6(O/t);if(d==="topMargin"){let fe=y-R-720,ue=Math.max(0,Math.min(Z,fe));i?.(Math.round(ue));}else if(d==="bottomMargin"){let fe=y-Z,ue=y-F-720,Te=Math.max(0,Math.min(fe,ue));a?.(Math.round(Te));}},[d,t,y,F,R,i,a]),V=useCallback(()=>{p(null);},[]);useEffect(()=>{if(d)return document.addEventListener("mousemove",H),document.addEventListener("mouseup",V),()=>{document.removeEventListener("mousemove",H),document.removeEventListener("mouseup",V);}},[d,H,V]);let U=ym(y,t,c$1),X={position:"relative",width:Cd,height:j$2(_),backgroundColor:"transparent",overflow:"visible",userSelect:"none",cursor:d?"ns-resize":"default",...l};return jsxs("div",{ref:T,className:`docx-vertical-ruler ${s}`,style:X,role:"slider","aria-label":f("ruler.vertical"),"aria-orientation":"vertical",children:[jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"},children:U.map((le,Ee)=>jsx(bm,{tick:le},Ee))}),jsx(xd,{type:"topMargin",position:j,editable:n,isDragging:d==="topMargin",isHovered:h==="topMargin",onMouseEnter:()=>m("topMargin"),onMouseLeave:()=>m(null),onMouseDown:le=>$(le,"topMargin")}),jsx(xd,{type:"bottomMargin",position:_-z,editable:n,isDragging:d==="bottomMargin",isHovered:h==="bottomMargin",onMouseEnter:()=>m("bottomMargin"),onMouseLeave:()=>m(null),onMouseDown:le=>$(le,"bottomMargin")})]})}function bm({tick:e}){let t={position:"absolute",top:j$2(e.position),right:0,height:1,width:e.width,backgroundColor:mm},n={position:"absolute",top:j$2(e.position),left:2,transform:"translateY(-50%)",fontSize:"9px",color:pm,fontFamily:"sans-serif",whiteSpace:"nowrap"};return jsxs(Fragment,{children:[jsx("div",{style:t}),e.label&&jsx("div",{style:n,children:e.label})]})}function xd({type:e,position:t,editable:n,isDragging:i,isHovered:a,onMouseEnter:c$1,onMouseLeave:s,onMouseDown:l}){let{t:f}=c(),d=i?hm:a?gm:fm,p={position:"absolute",top:j$2(t-5),right:0,width:Cd,height:10,cursor:n?"ns-resize":"default",zIndex:i?10:1},h={position:"absolute",top:0,right:2,width:0,height:0,borderTop:"5px solid transparent",borderBottom:"5px solid transparent",borderRight:`8px solid ${d}`,transition:"border-right-color 0.1s"};return jsx("div",{className:`docx-ruler-marker docx-ruler-marker-${e}`,style:p,onMouseEnter:c$1,onMouseLeave:s,onMouseDown:l,role:"slider","aria-label":f(e==="topMargin"?"ruler.topMargin":"ruler.bottomMargin"),"aria-orientation":"vertical",tabIndex:n?0:-1,children:jsx("div",{style:h})})}function ym(e,t,n){let i=[];if(n==="inch"){let a=dm/8,c=Math.ceil(e/a);for(let s=0;s<=c;s++){let l=s*a;if(l>e)break;let f=a$4(l)*t;if(s%8===0){let d=s/8;i.push({position:f,width:10,label:d>0?String(d):void 0});}else s%4===0?i.push({position:f,width:6}):s%2===0?i.push({position:f,width:4}):i.push({position:f,width:2});}}else {let a=um/10,c=Math.ceil(e/a);for(let s=0;s<=c;s++){let l=s*a;if(l>e)break;let f=a$4(l)*t;if(s%10===0){let d=s/10;i.push({position:f,width:10,label:d>0?String(d):void 0});}else s%5===0?i.push({position:f,width:6}):i.push({position:f,width:3});}}return i}function Ns(e,t){let i={content:kd(e),finalSectionProperties:t?.package.document.finalSectionProperties,sections:t?.package.document.sections,comments:t?.package.document.comments};return t?{...t,package:{...t.package,document:i}}:{package:{document:i}}}function kd(e){let t=[],n=Pd(e),i=[],a=()=>{for(let c of i)t.push({type:"paragraph",content:[c]});i=[];};return e.forEach(c=>{if(c.type.name==="paragraph"){let s=zs(c,n);i.length>0&&(s.content=[...i,...s.content],i=[]),t.push(s);}else if(c.type.name==="table")a(),t.push(Id(c,n));else if(c.type.name==="textBox"){let s=c.attrs;eb(s)?i.push(Ed(c)):(a(),t.push(_m(c)));}else c.type.name==="pageBreak"&&(a(),t.push(Cm()));}),a(),t}function Cm(){return {type:"paragraph",content:[{type:"run",content:[{type:"break",breakType:"page"}]}]}}function zs(e,t){let n=e.attrs,i=vm(wd(e,t),e),a=n.bookmarks;if(a&&a.length>0){let s=a.map(f=>({type:"bookmarkStart",id:f.id,name:f.name})),l=a.map(f=>({type:"bookmarkEnd",id:f.id}));i=[...s,...i,...l];}let c={type:"paragraph",paraId:n.paraId||void 0,textId:n.textId||void 0,formatting:Tm(n),content:i};return n.renderedPageBreakBefore&&(c.renderedPageBreakBefore=true),n._sectionProperties?c.sectionProperties=n._sectionProperties:n.sectionBreakType&&(c.sectionProperties={sectionStart:n.sectionBreakType}),c}function vm(e,t){let n=new Set;if(t.forEach(s=>{for(let l of s.marks)l.type.name==="comment"&&n.add(l.attrs.commentId);}),n.size===0)return e;let i=[],a=new Set,c=0;t.forEach(s=>{let l=new Set;for(let f of s.marks)f.type.name==="comment"&&l.add(f.attrs.commentId);for(let f of [...a])l.has(f)||(i.push({type:"commentRangeEnd",id:f}),a.delete(f));for(let f of l)a.has(f)||(i.push({type:"commentRangeStart",id:f}),a.add(f));c<e.length&&i.push(e[c]),c++;});for(let s of a)i.push({type:"commentRangeEnd",id:s});return i}function Tm(e){if(e._originalFormatting){let n=e._originalFormatting,i={...n};return e.alignment!==(n.alignment||void 0)&&(i.alignment=e.alignment||void 0),e.numPr!==n.numPr&&JSON.stringify(e.numPr)!==JSON.stringify(n.numPr)&&(i.numPr=e.numPr||void 0),e.styleId!==(n.styleId||void 0)&&(i.styleId=e.styleId||void 0),e.pageBreakBefore!==(n.pageBreakBefore||void 0)&&(i.pageBreakBefore=e.pageBreakBefore||void 0),e.bidi!==(n.bidi||void 0)&&(i.bidi=e.bidi||void 0),i}if(e.alignment||e.spaceBefore||e.spaceAfter||e.lineSpacing||e.indentLeft||e.indentRight||e.indentFirstLine||e.numPr||e.styleId||e.borders||e.shading||e.tabs||e.outlineLevel!=null||e.contextualSpacing||e.bidi)return {alignment:e.alignment||void 0,spaceBefore:e.spaceBefore||void 0,spaceAfter:e.spaceAfter||void 0,lineSpacing:e.lineSpacing||void 0,lineSpacingRule:e.lineSpacingRule||void 0,indentLeft:e.indentLeft||void 0,indentRight:e.indentRight||void 0,indentFirstLine:e.indentFirstLine||void 0,hangingIndent:e.hangingIndent||void 0,numPr:e.numPr||void 0,styleId:e.styleId||void 0,borders:e.borders||void 0,shading:e.shading||void 0,tabs:e.tabs||void 0,outlineLevel:e.outlineLevel??void 0,contextualSpacing:e.contextualSpacing||void 0,bidi:e.bidi||void 0}}function wd(e,t){let n=[],i=t??Pd(e),a=null,c=null,s=null;return e.forEach(l=>{let f=l.marks.find(m=>m.type.name==="footnoteRef");if(f){a&&(n.push(a),a=null,c=null),s&&(n.push(s),s=null);let T={type:f.attrs.noteType==="endnote"?"endnoteRef":"footnoteRef",id:parseInt(f.attrs.id,10)||0};n.push({type:"run",content:[T]});return}let d=l.marks.find(m=>m.type.name==="insertion"),p=l.marks.find(m=>m.type.name==="deletion");if(d||p){a&&(n.push(a),a=null,c=null),s&&(n.push(s),s=null);let m=d||p,T=l.marks.filter(H=>H.type.name!=="insertion"&&H.type.name!=="deletion"),y=_s(T),F={type:"run",content:l.isText&&l.text?[{type:"text",text:l.text}]:[],...Object.keys(y).length>0?{formatting:y}:{}},R={id:m.attrs.revisionId,author:m.attrs.author||"Unknown",date:m.attrs.date||void 0},_=R.id,j=(i.insertionById.get(_)??0)>0,z=(i.deletionById.get(_)??0)>0,$=j&&z;d?$?n.push({type:"moveTo",info:R,content:[F]}):n.push({type:"insertion",info:R,content:[F]}):$?n.push({type:"moveFrom",info:R,content:[F]}):n.push({type:"deletion",info:R,content:[F]});return}let h=l.marks.find(m=>m.type.name==="hyperlink");if(h){let m=Sm(h),T=s?.href||(s?.anchor?`#${s.anchor}`:"");s&&T===m||(a&&(n.push(a),a=null,c=null),s&&n.push(s),s=wm(h)),Sd(s,l);return}if(s&&(n.push(s),s=null),l.isText){let m=km(l.marks);a&&c===m?Pm(a,l.text||""):(a&&n.push(a),a=Rd(l.text||"",l.marks),c=m);}else l.type.name==="hardBreak"?(a&&(n.push(a),a=null,c=null),n.push(Rm())):l.type.name==="image"?(a&&(n.push(a),a=null,c=null),n.push(Dm(l))):l.type.name==="shape"?(a&&(n.push(a),a=null,c=null),n.push(Fm(l))):l.type.name==="tab"?(a&&(n.push(a),a=null,c=null),n.push(Im())):l.type.name==="field"?(a&&(n.push(a),a=null,c=null),n.push(Em(l,l.marks))):l.type.name==="sdt"?(a&&(n.push(a),a=null,c=null),n.push(Am(l))):l.type.name==="math"&&(a&&(n.push(a),a=null,c=null),n.push(Mm(l)));}),a&&n.push(a),s&&n.push(s),n}function Pd(e){let t=new Map,n=new Map;return e.descendants(i=>{let a=i.marks.find(s=>s.type.name==="insertion"),c=i.marks.find(s=>s.type.name==="deletion");if(a){let s=Number(a.attrs.revisionId);Number.isFinite(s)&&t.set(s,(t.get(s)??0)+1);}if(c){let s=Number(c.attrs.revisionId);Number.isFinite(s)&&n.set(s,(n.get(s)??0)+1);}}),{insertionById:t,deletionById:n}}function Sm(e){return e.attrs.href||""}function km(e){let t=e.filter(n=>n.type.name!=="hyperlink");return t.length===0?"":t.map(n=>`${n.type.name}:${JSON.stringify(n.attrs)}`).sort().join("|")}function wm(e){let t=e.attrs.href;return t?.startsWith("#")?{type:"hyperlink",anchor:t.substring(1),tooltip:e.attrs.tooltip||void 0,children:[]}:{type:"hyperlink",href:t,tooltip:e.attrs.tooltip||void 0,rId:e.attrs.rId||void 0,children:[]}}function Sd(e,t){if(t.isText&&t.text){let n=t.marks.filter(a=>a.type.name!=="hyperlink"),i=Rd(t.text,n);e.children.push(i);}}function Rd(e,t){let n=_s(t),i={type:"text",text:e};return {type:"run",formatting:Object.keys(n).length>0?n:void 0,content:[i]}}function Pm(e,t){let n=e.content[e.content.length-1];n&&n.type==="text"?n.text+=t:e.content.push({type:"text",text:t});}function Rm(){return {type:"run",content:[{type:"break",breakType:"textWrapping"}]}}function Im(){return {type:"run",content:[{type:"tab"}]}}function Em(e,t){let n=e.attrs,i=t&&t.length>0?_s(t):void 0,a=n.displayText||"";if(!a)switch(n.fieldType){case "PAGE":a="1";break;case "NUMPAGES":a="1";break;default:a=" ";break}let c={type:"run",content:[{type:"text",text:a}],...i&&Object.keys(i).length>0?{formatting:i}:{}};return n.fieldKind==="complex"?{type:"complexField",instruction:n.instruction,fieldType:n.fieldType,fieldCode:[],fieldResult:[c],fldLock:n.fldLock||void 0,dirty:n.dirty||void 0}:{type:"simpleField",instruction:n.instruction,fieldType:n.fieldType,content:[c],fldLock:n.fldLock||void 0,dirty:n.dirty||void 0}}function Mm(e){let t=e.attrs;return {type:"mathEquation",display:t.display||"inline",ommlXml:t.ommlXml,plainText:t.plainText||void 0}}function Am(e){let t=e.attrs,n={sdtType:t.sdtType??"richText",alias:t.alias??void 0,tag:t.tag??void 0,lock:t.lock??void 0,placeholder:t.placeholder??void 0,showingPlaceholder:t.showingPlaceholder??void 0,dateFormat:t.dateFormat??void 0,listItems:t.listItems?JSON.parse(t.listItems):void 0,checked:t.checked!=null?t.checked:void 0},a=wd(e).filter(c=>c.type==="run"||c.type==="hyperlink"||c.type==="simpleField"||c.type==="complexField"||c.type==="inlineSdt"||c.type==="mathEquation");return {type:"inlineSdt",properties:n,content:a}}function Dm(e){let t=e.attrs,i={type:t.wrapType||"inline"};t.distTop!==void 0&&(i.distT=d(t.distTop)),t.distBottom!==void 0&&(i.distB=d(t.distBottom)),t.distLeft!==void 0&&(i.distL=d(t.distLeft)),t.distRight!==void 0&&(i.distR=d(t.distRight)),t.wrapText&&(i.wrapText=t.wrapText);let a={type:"image",rId:t.rId||"",src:t.src,alt:t.alt||void 0,title:t.title||void 0,size:{width:d(t.width||0),height:d(t.height||0)},wrap:i};if(t.transform){let s=t.transform,l={},f=s.match(/rotate\(([-\d.]+)deg\)/);f&&(l.rotation=parseFloat(f[1])),s.includes("scaleX(-1)")&&(l.flipH=true),s.includes("scaleY(-1)")&&(l.flipV=true),(l.rotation||l.flipH||l.flipV)&&(a.transform=l);}if(t.position?.horizontal&&t.position?.vertical){let s=t.position;a.position={horizontal:{relativeTo:s.horizontal.relativeTo||"column",alignment:s.horizontal.align,posOffset:s.horizontal.posOffset},vertical:{relativeTo:s.vertical.relativeTo||"paragraph",alignment:s.vertical.align,posOffset:s.vertical.posOffset}};}if(t.borderWidth&&t.borderWidth>0){let s={solid:"solid",dotted:"dot",dashed:"dash",double:"solid",groove:"solid",ridge:"solid",inset:"solid",outset:"solid"};a.outline={width:d(t.borderWidth),color:t.borderColor?{rgb:t.borderColor.replace("#","")}:void 0,style:t.borderStyle&&s[t.borderStyle]||"solid"};}if(t.hlinkHref&&(a.hlinkHref=t.hlinkHref),t.cropTop!==void 0||t.cropRight!==void 0||t.cropBottom!==void 0||t.cropLeft!==void 0){let s={};t.cropTop!==void 0&&t.cropTop!==null&&(s.top=t.cropTop),t.cropRight!==void 0&&t.cropRight!==null&&(s.right=t.cropRight),t.cropBottom!==void 0&&t.cropBottom!==null&&(s.bottom=t.cropBottom),t.cropLeft!==void 0&&t.cropLeft!==null&&(s.left=t.cropLeft),Object.keys(s).length>0&&(a.crop=s);}if(t.opacity!==void 0&&t.opacity!==null&&t.opacity<1&&(a.opacity=t.opacity),t.layoutInCell!==void 0&&t.layoutInCell!==null&&(a.layoutInCell=t.layoutInCell),t.allowOverlap!==void 0&&t.allowOverlap!==null&&(a.allowOverlap=t.allowOverlap),t.effectExtentTop||t.effectExtentBottom||t.effectExtentLeft||t.effectExtentRight){let s={};t.effectExtentTop&&(s.top=d(t.effectExtentTop)),t.effectExtentBottom&&(s.bottom=d(t.effectExtentBottom)),t.effectExtentLeft&&(s.left=d(t.effectExtentLeft)),t.effectExtentRight&&(s.right=d(t.effectExtentRight)),Object.keys(s).length>0&&(a.padding=s);}return {type:"run",content:[{type:"drawing",image:a}]}}function Fm(e){let t=e.attrs,n={type:"shape",shapeType:t.shapeType||"rect",id:t.shapeId||void 0,size:{width:t.width?d(t.width):0,height:t.height?d(t.height):0}};if(t.fillType==="gradient"&&t.gradientStops)try{let a=JSON.parse(t.gradientStops);n.fill={type:"gradient",gradient:{type:t.gradientType||"linear",angle:t.gradientAngle||void 0,stops:a.map(c=>({position:c.position,color:{rgb:c.color.replace("#","")}}))}};}catch{n.fill={type:"solid",color:{rgb:(t.fillColor||"000000").replace("#","")}};}else t.fillColor?n.fill={type:t.fillType||"solid",color:{rgb:t.fillColor.replace("#","")}}:t.fillType==="none"&&(n.fill={type:"none"});if(t.outlineWidth&&t.outlineWidth>0){let a={solid:"solid",dotted:"dot",dashed:"dash"};n.outline={width:d(t.outlineWidth),color:t.outlineColor?{rgb:t.outlineColor.replace("#","")}:void 0,style:t.outlineStyle&&a[t.outlineStyle]||"solid"};}return {type:"run",content:[{type:"shape",shape:n}]}}function _s(e){let t={};for(let n of e)switch(n.type.name){case "bold":t.bold=true,t.boldCs=true;break;case "italic":t.italic=true,t.italicCs=true;break;case "underline":{let i=n.attrs;t.underline={style:i.style||"single",color:i.color};break}case "strike":n.attrs.double?t.doubleStrike=true:t.strike=true;break;case "textColor":{let i=n.attrs;t.color={rgb:i.rgb,themeColor:i.themeColor,themeTint:i.themeTint,themeShade:i.themeShade};break}case "highlight":t.highlight=n.attrs.color;break;case "fontSize":t.fontSize=n.attrs.size,t.fontSizeCs=n.attrs.size;break;case "fontFamily":{let i=n.attrs;t.fontFamily={ascii:i.ascii,hAnsi:i.hAnsi,eastAsia:i.eastAsia||void 0,cs:i.cs||i.ascii||void 0,asciiTheme:i.asciiTheme,hAnsiTheme:i.hAnsiTheme||void 0,eastAsiaTheme:i.eastAsiaTheme||void 0,csTheme:i.csTheme||void 0};break}case "superscript":t.vertAlign="superscript";break;case "subscript":t.vertAlign="subscript";break;case "allCaps":t.allCaps=true;break;case "smallCaps":t.smallCaps=true;break;case "characterSpacing":{n.attrs.spacing!=null&&(t.spacing=n.attrs.spacing),n.attrs.position!=null&&(t.position=n.attrs.position),n.attrs.scale!=null&&(t.scale=n.attrs.scale),n.attrs.kerning!=null&&(t.kerning=n.attrs.kerning);break}case "emboss":t.emboss=true;break;case "imprint":t.imprint=true;break;case "textShadow":t.shadow=true;break;case "emphasisMark":t.emphasisMark=n.attrs.type||"dot";break;case "textOutline":t.outline=true;break;case "hidden":t.hidden=true;break;case "rtl":t.rtl=true;break;case "textEffect":t.effect=n.attrs.effect||"blinkBackground";break}return t}function Lm(e){for(let t of e)for(let n of t.cells){let i=n.formatting?.borders;if(i){let a=i.top||i.left||i.right||i.bottom||i.insideH||i.insideV;return a?{top:i.top??a,bottom:i.bottom??a,left:i.left??a,right:i.right??a,insideH:i.insideH??i.bottom??a,insideV:i.insideV??i.right??a}:void 0}}}function Bm(e,t){let n=[],i=[],a=0;for(let c=0;c<e.childCount;c++){let s=e.child(c),l=0;s.forEach(f=>{if(f.type.name!=="tableCell"&&f.type.name!=="tableHeader")return;for(;n[c]?.[l];)l++;let d=f.attrs.rowspan||1,p=f.attrs.colspan||1;i.push({row:c,col:l,rowspan:d,colspan:p,cell:Nm(f,t)});for(let h=c;h<c+d;h++){let m=n[h]??[];n[h]=m;for(let T=l;T<l+p;T++)m[T]=true;}l+=p,a=Math.max(a,l);});}return {anchors:i,totalCols:a}}function Id(e,t){let n=e.attrs,{anchors:i,totalCols:a}=Bm(e,t),c=new Map,s=new Map;for(let d of i){c.set(`${d.row}-${d.col}`,d);for(let p=d.row;p<d.row+d.rowspan;p++)for(let h=d.col;h<d.col+d.colspan;h++)s.set(`${p}-${h}`,d);}let l=[];for(let d=0;d<e.childCount;d++){let p=e.child(d),h=[];for(let m=0;m<a;){let T=c.get(`${d}-${m}`);if(T){let R={...T.cell.formatting??{}};T.colspan>1?R.gridSpan=T.colspan:delete R.gridSpan,T.rowspan>1?R.vMerge="restart":delete R.vMerge,h.push({...T.cell,formatting:Object.keys(R).length?R:void 0}),m+=T.colspan;continue}let y=s.get(`${d}-${m}`);if(!y){m++;continue}let F={...y.cell.formatting??{}};y.colspan>1?F.gridSpan=y.colspan:delete F.gridSpan,F.vMerge="continue",h.push({...y.cell,content:[],formatting:F}),m+=y.colspan;}l.push({type:"tableRow",formatting:Om(p.attrs),cells:h});}let f=Hm(n)||void 0;if(!f?.borders){let d=Lm(l);if(d)if(f)f.borders=d;else return {type:"table",columnWidths:n.columnWidths||void 0,formatting:{borders:d},rows:l}}return {type:"table",columnWidths:n.columnWidths||void 0,formatting:f,rows:l}}function Hm(e){if(e._originalFormatting){let a=e._originalFormatting,c={...a};e.styleId!==(a.styleId||void 0)&&(c.styleId=e.styleId||void 0),e.justification!==(a.justification||void 0)&&(c.justification=e.justification||void 0),e.floating!==(a.floating||void 0)&&(c.floating=e.floating||void 0),e.look!==(a.look||void 0)&&(c.look=e.look||void 0);let s=a.width?.value,l=a.width?.type;return (e.width!==s||e.widthType!==l)&&(e.width!=null||e.widthType?c.width={value:e.width??0,type:e.widthType||"dxa"}:c.width=void 0),e.cellMargins&&(c.cellMargins={top:e.cellMargins.top!=null?{value:e.cellMargins.top,type:"dxa"}:void 0,bottom:e.cellMargins.bottom!=null?{value:e.cellMargins.bottom,type:"dxa"}:void 0,left:e.cellMargins.left!=null?{value:e.cellMargins.left,type:"dxa"}:void 0,right:e.cellMargins.right!=null?{value:e.cellMargins.right,type:"dxa"}:void 0}),c}if(!(e.styleId||e.width!=null||e.widthType||e.justification||e.floating||e.cellMargins||e.look))return;let n=e.cellMargins?{top:e.cellMargins.top!=null?{value:e.cellMargins.top,type:"dxa"}:void 0,bottom:e.cellMargins.bottom!=null?{value:e.cellMargins.bottom,type:"dxa"}:void 0,left:e.cellMargins.left!=null?{value:e.cellMargins.left,type:"dxa"}:void 0,right:e.cellMargins.right!=null?{value:e.cellMargins.right,type:"dxa"}:void 0}:void 0,i;return (e.width!=null||e.widthType)&&(i={value:e.width??0,type:e.widthType||"dxa"}),{styleId:e.styleId||void 0,width:i,justification:e.justification||void 0,floating:e.floating||void 0,cellMargins:n,look:e.look||void 0}}function Om(e){if(e._originalFormatting){let n=e._originalFormatting,i={...n};return e.height!==(n.height?.value||void 0)&&(i.height=e.height?{value:e.height,type:"dxa"}:void 0),e.heightRule!==(n.heightRule||void 0)&&(i.heightRule=e.heightRule||void 0),e.isHeader!==(n.header||void 0)&&(i.header=e.isHeader||void 0),i}if(e.height||e.isHeader)return {height:e.height?{value:e.height,type:"dxa"}:void 0,heightRule:e.heightRule||void 0,header:e.isHeader||void 0}}function Nm(e,t){let n=e.attrs,i=[];return e.forEach(a=>{a.type.name==="paragraph"?i.push(zs(a,t)):a.type.name==="table"&&i.push(Id(a,t));}),{type:"tableCell",formatting:zm(n),content:i}}function zm(e){if(e._originalFormatting){let i=e._originalFormatting,a={...i};if(e.colspan>1&&(a.gridSpan=e.colspan),e.width!=null&&(a.width={value:e.width,type:e.widthType||"dxa"}),e.verticalAlign!==(i.verticalAlign||void 0)&&(a.verticalAlign=e.verticalAlign||void 0),e.backgroundColor?e._originalResolvedFill===e.backgroundColor&&i.shading?a.shading=i.shading:a.shading={fill:{rgb:e.backgroundColor}}:i.shading&&(a.shading=void 0),e.borders&&(a.borders=e.borders),e.margins){let c=e.margins,s={};c.top!=null&&(s.top={value:c.top,type:"dxa"}),c.bottom!=null&&(s.bottom={value:c.bottom,type:"dxa"}),c.left!=null&&(s.left={value:c.left,type:"dxa"}),c.right!=null&&(s.right={value:c.right,type:"dxa"}),a.margins=s;}return e.textDirection!==(i.textDirection||void 0)&&(a.textDirection=e.textDirection||void 0),a}if(!(e.colspan>1||e.rowspan>1||e.width!=null||e.verticalAlign||e.backgroundColor||e.borders||e.margins||e.textDirection))return;let n;if(e.margins){let i=e.margins;n={},i.top!=null&&(n.top={value:i.top,type:"dxa"}),i.bottom!=null&&(n.bottom={value:i.bottom,type:"dxa"}),i.left!=null&&(n.left={value:i.left,type:"dxa"}),i.right!=null&&(n.right={value:i.right,type:"dxa"});}return {gridSpan:e.colspan>1?e.colspan:void 0,width:e.width!=null?{value:e.width,type:e.widthType||"dxa"}:void 0,verticalAlign:e.verticalAlign||void 0,textDirection:e.textDirection||void 0,shading:e.backgroundColor?{fill:{rgb:e.backgroundColor}}:void 0,borders:e.borders,margins:n}}function Ed(e){let t=e.attrs,n=[];e.forEach(l=>{l.type.name==="paragraph"&&n.push(zs(l));});let i={type:"shape",shapeType:"rect",id:t.textBoxId||void 0,size:{width:t.width?d(t.width):0,height:t.height?d(t.height):0},textBody:{content:n.length>0?n:[{type:"paragraph",content:[]}],margins:{top:t.marginTop!=null?d(t.marginTop):void 0,bottom:t.marginBottom!=null?d(t.marginBottom):void 0,left:t.marginLeft!=null?d(t.marginLeft):void 0,right:t.marginRight!=null?d(t.marginRight):void 0}}},a=fb(t);a&&(i.position=a);let c=gb(t);if(c&&(i.wrap=c),t.fillColor&&(i.fill={type:"solid",color:{rgb:t.fillColor.replace("#","")}}),t.outlineWidth&&t.outlineWidth>0){let l={solid:"solid",dotted:"dot",dashed:"dash"};i.outline={width:d(t.outlineWidth),color:t.outlineColor?{rgb:t.outlineColor.replace("#","")}:void 0,style:t.outlineStyle&&l[t.outlineStyle]||"solid"};}return {type:"run",content:[{type:"shape",shape:i}]}}function _m(e){return {type:"paragraph",content:[Ed(e)]}}function yr(e){return kd(e)}function Oo(e){let{selection:t,doc:n}=e,{from:i,to:a,empty:c}=t,s=n.resolve(i),l=0,f=0;n.forEach((R,_,j)=>{_<=i&&(l=j),_<=a&&(f=j);});let d={},p=s.parent,h=p.type.name==="paragraph"&&p.textContent.length===0,m=p.attrs?.defaultTextFormatting,T=e.storedMarks||t.$from.marks();h&&T.length===0&&m&&(d={...m});for(let R of T)switch(R.type.name){case "bold":d.bold=true;break;case "italic":d.italic=true;break;case "underline":d.underline={style:R.attrs.style||"single",color:R.attrs.color};break;case "strike":R.attrs.double?d.doubleStrike=true:d.strike=true;break;case "textColor":d.color={rgb:R.attrs.rgb,themeColor:R.attrs.themeColor};break;case "highlight":d.highlight=R.attrs.color;break;case "fontSize":d.fontSize=R.attrs.size;break;case "fontFamily":d.fontFamily={ascii:R.attrs.ascii,hAnsi:R.attrs.hAnsi};break;case "superscript":d.vertAlign="superscript";break;case "subscript":d.vertAlign="subscript";break}let y={},F=null;return p.type.name==="paragraph"&&(p.attrs.alignment&&(y.alignment=p.attrs.alignment),p.attrs.lineSpacing&&(y.lineSpacing=p.attrs.lineSpacing,y.lineSpacingRule=p.attrs.lineSpacingRule),p.attrs.numPr&&(y.numPr=p.attrs.numPr),p.attrs.indentLeft&&(y.indentLeft=p.attrs.indentLeft),p.attrs.indentRight&&(y.indentRight=p.attrs.indentRight),p.attrs.indentFirstLine&&(y.indentFirstLine=p.attrs.indentFirstLine),p.attrs.hangingIndent&&(y.hangingIndent=p.attrs.hangingIndent),p.attrs.tabs&&(y.tabs=p.attrs.tabs),p.attrs.bidi&&(y.bidi=true),p.attrs.styleId&&(F=p.attrs.styleId)),{hasSelection:!c,isMultiParagraph:l!==f,textFormatting:d,paragraphFormatting:y,styleId:F,startParagraphIndex:l,endParagraphIndex:f}}var vn=new PluginKey("suggestionMode"),Di="suggestionModeApplied",Vm=Date.now();function Fi(e){return {revisionId:Vm++,author:e.author,date:new Date().toISOString()}}function $s(e,t,n,i){try{let a=e.resolve(t);for(let c of [a.nodeBefore,a.nodeAfter])if(c?.isText){let s=c.marks.find(l=>l.type.name===n&&l.attrs.author===i);if(s)return s.attrs}}catch{}return null}function Dd(e,t,n,i,a){return $s(e,t,i,a)??$s(e,n,i,a)}function Fd(e,t,n,i,a,c,s){let l=[];if(t.nodesBetween(n,i,(d,p)=>{if(!d.isText)return;let h=Math.max(p,n),m=Math.min(p+d.nodeSize,i);if(h>=m)return;let T=d.marks.some(y=>y.type===a&&y.attrs.author===s.author);l.push({from:h,to:m,isOwnInsert:T});}),l.length===0)return;let f=Dd(t,n,i,"deletion",s.author)||Fi(s);for(let d=l.length-1;d>=0;d--){let p=l[d];p.isOwnInsert?e.delete(p.from,p.to):e.addMark(p.from,p.to,c.create(f));}}function Md(e,t,n,i,a){let c=e.state.schema.marks.insertion;if(!c)return false;let s=e.state.tr;s.setMeta(Di,true);let l=$s(e.state.doc,t,"insertion",a.author)||Fi(a);if(t!==n){let p=e.state.schema.marks.deletion;p&&Fd(s,e.state.doc,t,n,c,p,a);}let f=s.mapping.map(n);s.insertText(i,f,f);let d=e.state.schema.marks.deletion;return d&&s.removeMark(f,f+i.length,d),s.addMark(f,f+i.length,c.create(l)),e.dispatch(s.scrollIntoView()),true}function Ad(e,t,n){let i=vn.getState(e);if(!i?.active)return false;let{$from:a,$to:c,empty:s}=e.selection,l=e.schema.marks.insertion,f=e.schema.marks.deletion;if(!l||!f)return false;if(!t)return true;let d=e.tr;if(d.setMeta(Di,true),!s){Fd(d,e.doc,a.pos,c.pos,l,f,i);let _=d.mapping.map(c.pos);return d.setSelection(TextSelection.near(d.doc.resolve(_))),t(d.scrollIntoView()),true}let p=n==="backward",h=p?a.pos-1:a.pos,m=p?a.pos:a.pos+1;if(h<0||m>e.doc.content.size)return true;let y=e.doc.resolve(h).nodeAfter;if(!y?.isText)return false;let F=y.marks.some(_=>_.type===l&&_.attrs.author===i.author);if(y.marks.some(_=>_.type===f)){let _=p?h:m;d.setSelection(TextSelection.near(d.doc.resolve(_)));}else if(F)d.delete(h,m);else {let _=Dd(e.doc,h,m,"deletion",i.author)||Fi(i);d.addMark(h,m,f.create(_));let j=p?h:m;d.setSelection(TextSelection.near(d.doc.resolve(j)));}return t(d.scrollIntoView()),true}function Vs(e=false,t="User"){return new Plugin({key:vn,state:{init(){return {active:e,author:t}},apply(n,i){let a=n.getMeta(vn);return a?{...i,...a}:i}},props:{handleDOMEvents:{beforeinput(n,i){let a=vn.getState(n.state);if(!a?.active)return false;if(i.inputType==="insertText"&&i.data){i.preventDefault();let{from:c,to:s}=n.state.selection;return Md(n,c,s,i.data,a)}return false}},handleKeyDown(n,i){return vn.getState(n.state)?.active?i.key==="Backspace"?Ad(n.state,n.dispatch,"backward"):i.key==="Delete"?Ad(n.state,n.dispatch,"forward"):false:false},handleTextInput(n,i,a,c){let s=vn.getState(n.state);return s?.active?Md(n,i,a,c,s):false}},appendTransaction(n,i,a){let c=vn.getState(a);if(!c?.active)return null;let s=n.find(h=>h.docChanged&&!h.getMeta(Di));if(!s)return null;let l=a.schema.marks.insertion;if(!l)return null;let f=Fi(c),d=a.tr;d.setMeta(Di,true);let p=a.schema.marks.deletion;return s.steps.forEach(h=>{h.getMap().forEach((T,y,F,R)=>{R>F&&a.doc.nodesBetween(F,R,(_,j)=>{if(!_.isText)return;if(!_.marks.some($=>$.type===l||p&&$.type===p)){let $=Math.max(j,F),H=Math.min(j+_.nodeSize,R);d.addMark($,H,l.create(f));}});});}),d.steps.length>0?d:null}})}function Us(e,t,n,i){if(n){let a={active:e};i!==void 0&&(a.author=i);let c=t.tr.setMeta(vn,a);n(c);}return true}var et=bb.getCommands(),Li=et.toggleBold(),Bi=et.toggleItalic(),Hi=et.toggleUnderline(),Oi=et.toggleStrike(),Ni=et.toggleSuperscript(),zi=et.toggleSubscript();function xr(e){return et.setTextColor(e)}var _i=et.clearTextColor();function Wi(e){return et.setHighlight(e)}et.clearHighlight();function $i(e){return et.setFontSize(e)}et.clearFontSize();function Vi(e){return et.setFontFamily(e)}et.clearFontFamily();function Ui(e,t){return et.setHyperlink(e,t)}var Gi=et.removeHyperlink();function Cr(e,t,n){return et.insertHyperlink(e,t,n)}var De=bb.getCommands();function Ki(e){return De.setAlignment(e)}De.alignLeft();De.alignCenter();De.alignRight();De.alignJustify();function Yi(e,t="auto"){return De.setLineSpacing(e,t)}De.singleSpacing();De.oneAndHalfSpacing();De.doubleSpacing();function ji(e=720){return De.increaseIndent(e)}function qi(e=720){return De.decreaseIndent(e)}function Xi(e){return De.setIndentLeft(e)}function Zi(e){return De.setIndentRight(e)}function vr(e,t){return De.setIndentFirstLine(e,t)}var Ji=De.toggleBulletList(),Qi=De.toggleNumberedList(),ea=De.increaseListLevel(),ta=De.decreaseListLevel();De.removeList();function mo(e,t){return De.applyStyle(e,t)}De.clearStyle();De.removeSectionBreak();function na(e){return De.removeTabStop(e)}var oa=De.setRtl(),ra=De.setLtr(),ia=De.generateTOC();function jd(e){let{$from:t}=e.selection,n=null,i=null,a=null,c=-1,s=-1;for(let l=t.depth;l>0;l--){let f=t.node(l);if(f.type.name==="tableCell"||f.type.name==="tableHeader"){a=f;let d=t.node(l-1);if(d?.type.name==="tableRow"){let p=0;d.forEach((h,m,T)=>{if(s===-1){if(T===t.index(l-1)){s=p;return}p+=h.attrs.colspan||1;}});}}else if(f.type.name==="tableRow")t.node(l-1)?.type.name==="table"&&(c=t.index(l-1));else if(f.type.name==="table"){n=f,i=t.before(l);break}}return !n||i==null||!a||c<0||s<0?null:{table:n,tablePos:i,cell:a,row:c,col:s,rowspan:a.attrs.rowspan||1,colspan:a.attrs.colspan||1}}function Kd(e){let t=[],n=[],i=0;for(let a=0;a<e.childCount;a++){let c=e.child(a),s=0;c.forEach(l=>{for(;t[a]?.[s];)s++;let f=l.attrs.rowspan||1,d=l.attrs.colspan||1;n.push({data:l,row:a,col:s,rowspan:f,colspan:d});for(let p=a;p<a+f;p++){let h=t[p]??[];t[p]=h;for(let m=s;m<s+d;m++)h[m]=true;}s+=d,i=Math.max(i,s);});}return {anchors:n,totalCols:i}}function Yd(e,t,n,i,a){let c={...e.attrs},s=a.reduce((d,p)=>d+p,0),l=h$3(a,t,n),f=n!==(e.attrs.colspan||1)||i!==(e.attrs.rowspan||1);return c.colspan=n,c.rowspan=i,c.colwidth=null,s>0&&(c.width=Math.round(l/s*5e3),c.widthType="pct"),f&&(c._originalFormatting=null),c}function Xm(e,t,n,i){let a=t+1;for(let c=0;c<e.childCount;c++){let s=e.child(c),l=a+1,f=0;for(let d=0;d<s.childCount;d++){let p=s.child(d);if(c===n&&f===i)return l;f+=p.attrs.colspan||1,l+=p.nodeSize;}a+=s.nodeSize;}return null}function Zm(e,t){let n=e.attrs.width??9360;return Array.isArray(e.attrs.columnWidths)&&e.attrs.columnWidths.length>0?[...e.attrs.columnWidths]:Array.from({length:t},()=>Math.floor(n/Math.max(t,1)))}function Gs(e){let t=jd(e);return t?{...l$1(t.rowspan,t.colspan),capturedCellRow:t.row,capturedCellCol:t.col}:null}function Ks(e,t,n,i,a,c){if(n<1||i<1)return false;let s=jd(e);if(!s||!t)return false;let l=s;if(a!=null&&c!=null&&(a!==s.row||c!==s.col)){let{anchors:H}=Kd(s.table),V=H.find(U=>U.row===a&&U.col===c);if(!V)return false;l={...s,cell:V.data,row:V.row,col:V.col,rowspan:V.rowspan,colspan:V.colspan};}if(n<l.rowspan||i<l.colspan||n===1&&i===1)return false;let{anchors:f,totalCols:d}=Kd(l.table),p=Zm(l.table,d),h=i$1(p,l.col,l.colspan,i),m=f.find(H=>H.row===l.row&&H.col===l.col);if(!m)return false;let T=j$1(f,m,n,i,l.table.childCount,H=>{if(H)return m.data;let V=m.data.type.schema.nodes.paragraph.create(),U=Yd(m.data,0,1,1,h);return m.data.type.create(U,V)}),y=l.row+l.rowspan,F=Array.from({length:T.newRowCount},(H,V)=>V<y?{...l.table.child(V)?.attrs??{}}:V<l.row+n?{...l.table.child(y-1)?.attrs??{}}:{...l.table.child(V-T.deltaRows)?.attrs??{}}),R=Array.from({length:T.newRowCount},()=>[]);T.anchors.sort((H,V)=>H.row===V.row?H.col-V.col:H.row-V.row).forEach(H=>{let V=Yd(H.data,H.col,H.colspan,H.rowspan,h);R[H.row].push(H.data.type.create(V,H.data.content));});let _=R.map((H,V)=>l.table.type.schema.nodes.tableRow.create(F[V],H)),j=l.table.type.create({...l.table.attrs,columnWidths:h},_),z=e.tr.replaceWith(l.tablePos,l.tablePos+l.table.nodeSize,j),$=z.doc.nodeAt(l.tablePos);if($){let H=Xm($,l.tablePos,l.row,l.col);H!=null&&(z=z.setSelection(TextSelection.near(z.doc.resolve(H+1))));}return t(z.scrollIntoView()),true}var Ce=bb.getCommands();function aa(e,t){return Ce.insertTable(e,t)}function Tr(e,t){return Ce.addRowAbove()(e,t)}function fo(e,t){return Ce.addRowBelow()(e,t)}function Sr(e,t){return Ce.deleteRow()(e,t)}function kr(e,t){return Ce.addColumnLeft()(e,t)}function go(e,t){return Ce.addColumnRight()(e,t)}function wr(e,t){return Ce.deleteColumn()(e,t)}function Pr(e,t){return Ce.deleteTable()(e,t)}function sa(e,t){return Ce.selectTable()(e,t)}function la(e,t){return Ce.selectRow()(e,t)}function ca(e,t){return Ce.selectColumn()(e,t)}function Rr(e,t){return Ce.mergeCells()(e,t)}function Wn(e,t,n){return Ce.setCellBorder(e,t,n)}function da(e,t){return Ce.removeTableBorders()(e,t)}function ua(e,t,n){return Ce.setAllTableBorders(n)(e,t)}function pa(e,t,n){return Ce.setOutsideTableBorders(n)(e,t)}function ma(e,t,n){return Ce.setInsideTableBorders(n)(e,t)}function fa(e){return Ce.setCellVerticalAlign(e)}function ga(e){return Ce.setCellMargins(e)}function ha(e){return Ce.setCellTextDirection(e)}function ba(){return Ce.toggleNoWrap()}function ya(e,t){return Ce.setRowHeight(e,t)}function xa(){return Ce.toggleHeaderRow()}function Ca(){return Ce.distributeColumns()}function va(){return Ce.autoFitContents()}function Ir(e){return Ce.setTableProperties(e)}function Ta(e){return Ce.applyTableStyle(e)}function Sa(e){return Ce.setCellFillColor(e)}function ka(e){return Ce.setTableBorderColor(e)}function wa(e){return Ce.setTableBorderWidth(e)}var Pa=(e,t)=>{let{schema:n}=e,i=n.nodes.pageBreak,a=n.nodes.paragraph;if(!i||!a)return false;if(t){let{$from:c}=e.selection,s=e.tr,l=i.create(),f=l.nodeSize,d;if(c.parent.isTextblock)if(c.parentOffset>0&&c.parentOffset<c.parent.content.size){s.split(c.pos);let p=s.mapping.map(c.pos);s.insert(p,Fragment$1.from([l,a.create()])),d=p+f+1;}else if(c.parentOffset===c.parent.content.size){let p=c.after();s.insert(p,Fragment$1.from([l,a.create()])),d=p+f+1;}else {let p=c.before();s.insert(p,l),d=p+f+1;}else {let p=c.pos;s.insert(p,Fragment$1.from([l,a.create()])),d=p+f+1;}s.setSelection(TextSelection.create(s.doc,d)),t(s.scrollIntoView());}return true};var Qm=bb.getCommands();function Ra(e,t,n){return Qm.setImageWrapType(e,t,n)}function Xd(e,t,n){return (i,a)=>{let c=i.schema.marks.insertion,s=i.schema.marks.deletion;if(!c&&!s)return false;let l=n==="accept"?c:s,f=n==="accept"?s:c;if(a){let d=i.tr,p=[];i.doc.nodesBetween(e,t,(h,m)=>{if(!h.isText)return;let T=m+h.nodeSize,y=Math.max(e,m),F=Math.min(t,T);f&&h.marks.some(R=>R.type===f)&&p.push({from:y,to:F}),l&&h.marks.some(R=>R.type===l)&&d.removeMark(y,F,l);});for(let h of p.reverse())d.delete(h.from,h.to);d.steps.length>0&&a(d);}return true}}function js(e,t){return Xd(e,t,"accept")}function qs(e,t){return Xd(e,t,"reject")}var Tn,$n,Vn,Sn,No,ho,Zd,Xs,Er=class{constructor(){f$1(this,ho);f$1(this,Tn,0);f$1(this,$n,0);f$1(this,Vn,false);f$1(this,Sn,null);f$1(this,No,new Set);}setStateSeq(t){g$1(this,Tn,t);}incrementStateSeq(){return ++i(this,Tn)._}getStateSeq(){return e(this,Tn)}getRenderSeq(){return e(this,$n)}onLayoutStart(){g$1(this,Vn,true);}onLayoutComplete(t){g$1(this,$n,t),g$1(this,Vn,false),h$2(this,ho,Zd).call(this);}isSafeToRender(){return !e(this,Vn)&&e(this,$n)>=e(this,Tn)}requestRender(){this.isSafeToRender()?h$2(this,ho,Xs).call(this):g$1(this,Sn,()=>h$2(this,ho,Xs).call(this));}onRender(t){return e(this,No).add(t),()=>{e(this,No).delete(t);}}reset(){g$1(this,Tn,0),g$1(this,$n,0),g$1(this,Vn,false),g$1(this,Sn,null);}getDebugInfo(){return {stateSeq:e(this,Tn),renderSeq:e(this,$n),layoutUpdating:e(this,Vn),hasPendingRender:e(this,Sn)!==null,isSafe:this.isSafeToRender()}}};Tn=new WeakMap,$n=new WeakMap,Vn=new WeakMap,Sn=new WeakMap,No=new WeakMap,ho=new WeakSet,Zd=function(){if(e(this,Sn)&&this.isSafeToRender()){let t=e(this,Sn);g$1(this,Sn,null),t();}},Xs=function(){for(let t of e(this,No))try{t();}catch(n){console.error("LayoutSelectionGate: render callback error",n);}};var Qd={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 0",fontSize:11,color:"#4285f4",userSelect:"none"},eu={fontWeight:500,letterSpacing:.3},bf={background:"none",border:"none",color:"#4285f4",cursor:"pointer",fontSize:11,padding:"2px 6px",borderRadius:3},yf={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:F.dropdown,minWidth:160,padding:"4px 0"},Ea={display:"block",width:"100%",padding:"6px 12px",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontSize:12,color:"#3c4043"},nu=forwardRef(function({headerFooter:t,position:n,styles:i,targetElement:a,parentElement:c$1,onSave:s,onClose:l,onSelectionChange:f,onRemove:d},p){let h=useRef(null),m=useRef(null),[T,y]=useState(false),F$1=useRef(f);F$1.current=f;let R=useMemo(()=>{if(!i)return 11;let Z=db(i).resolveParagraphStyle(void 0);return Z.runFormatting?.fontSize?Z.runFormatting.fontSize/2:11},[i]),[_,j]=useState(false),z=useRef(null),[$,H]=useState(null);useLayoutEffect(()=>{let O=()=>{let fe=c$1.getBoundingClientRect(),ue=a.getBoundingClientRect();H({top:ue.top-fe.top+c$1.scrollTop,left:ue.left-fe.left+c$1.scrollLeft,width:ue.width});};O();let Z=c$1.closest('[style*="overflow"]')||c$1;return Z.addEventListener("scroll",O),window.addEventListener("resize",O),()=>{Z.removeEventListener("scroll",O),window.removeEventListener("resize",O);}},[a,c$1]),useEffect(()=>{if(!h.current||m.current)return;let O=ib(t.content,{styles:i||void 0}),Z=new ab($a());Z.buildSchema(),Z.initializeRuntime();let fe=Z.getPlugins(),ue=EditorState.create({doc:O,schema:cb,plugins:fe}),Te=new EditorView(h.current,{state:ue,dispatchTransaction(be){let Ie=Te.state.apply(be);if(Te.updateState(Ie),be.docChanged&&y(true),be.selectionSet||be.docChanged){let Me=Oo(Ie);F$1.current?.(Me);}}});return m.current=Te,requestAnimationFrame(()=>{Te.focus();let be=Oo(Te.state);F$1.current?.(be);}),()=>{Te.destroy(),m.current=null;}},[$]);let V=useCallback(()=>{if(!m.current)return;let O=yr(m.current.state.doc);s(O);},[s]),U=useCallback(()=>{T?V():l();},[T,V,l]);useEffect(()=>{function O(Z){Z.key==="Escape"&&(Z.preventDefault(),Z.stopPropagation(),U());}return document.addEventListener("keydown",O,true),()=>document.removeEventListener("keydown",O,true)},[U]),useEffect(()=>{if(!_)return;function O(Z){z.current&&!z.current.contains(Z.target)&&j(false);}return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[_]),useImperativeHandle(p,()=>({getView:()=>m.current,focus:()=>m.current?.focus(),undo:()=>{let O=m.current;return O?undo(O.state,O.dispatch):false},redo:()=>{let O=m.current;return O?redo(O.state,O.dispatch):false}}));let{t:X}=c(),le=X(n==="header"?"headerFooter.header":"headerFooter.footer");if(!$)return null;let Ee={position:"absolute",top:$.top,left:$.left,width:$.width,zIndex:F.hfInlineEditor};return jsxs("div",{className:"hf-inline-editor",style:Ee,onMouseDown:O=>{O.stopPropagation();},children:[n==="footer"&&jsxs("div",{className:"hf-separator-bar",style:Qd,children:[jsx("span",{style:eu,children:le}),jsx(tu,{label:le,showOptions:_,setShowOptions:j,optionsRef:z,onRemove:d,onClose:U,viewRef:m})]}),jsx("div",{ref:h,className:"hf-editor-pm prosemirror-editor",style:{minHeight:40,outline:"none",fontSize:`${R}pt`}}),n==="header"&&jsxs("div",{className:"hf-separator-bar",style:Qd,children:[jsx("span",{style:eu,children:le}),jsx(tu,{label:le,showOptions:_,setShowOptions:j,optionsRef:z,onRemove:d,onClose:U,viewRef:m})]})]})});function tu({label:e,showOptions:t,setShowOptions:n,optionsRef:i,onRemove:a,onClose:c$1,viewRef:s}){let{t:l}=c(),f=d=>{let p=s.current;if(!p)return;let{$from:h,from:m}=p.state.selection,T=p.state.storedMarks||h.marks(),y=cb.nodes.field.create({fieldType:d,instruction:` ${d} \\* MERGEFORMAT `,fieldKind:"simple",dirty:true}),F=p.state.tr.insert(m,y.mark(T));p.dispatch(F),p.focus();};return jsxs("div",{style:{position:"relative"},ref:i,children:[jsxs("button",{type:"button",style:bf,onClick:d=>{d.stopPropagation(),n(p=>!p);},onMouseDown:d=>d.stopPropagation(),children:[l("headerFooter.options")," \u25BE"]}),t&&jsxs("div",{style:yf,children:[jsx("button",{type:"button",style:Ea,onClick:()=>{n(false),f("PAGE");},onMouseOver:d=>{d.target.style.backgroundColor="#f1f3f4";},onMouseOut:d=>{d.target.style.backgroundColor="transparent";},children:l("headerFooter.insertPageNumber")}),jsx("button",{type:"button",style:Ea,onClick:()=>{n(false),f("NUMPAGES");},onMouseOver:d=>{d.target.style.backgroundColor="#f1f3f4";},onMouseOut:d=>{d.target.style.backgroundColor="transparent";},children:l("headerFooter.insertTotalPages")}),jsx("div",{style:{borderTop:"1px solid #e8eaed",margin:"4px 0"}}),a&&jsx("button",{type:"button",style:Ea,onClick:()=>{n(false),a();},onMouseOver:d=>{d.target.style.backgroundColor="#f1f3f4";},onMouseOut:d=>{d.target.style.backgroundColor="transparent";},children:l("headerFooter.remove",{label:e.toLowerCase()})}),jsx("button",{type:"button",style:Ea,onClick:()=>{n(false),c$1();},onMouseOver:d=>{d.target.style.backgroundColor="#f1f3f4";},onMouseOut:d=>{d.target.style.backgroundColor="transparent";},children:l("headerFooter.closeEditing",{label:e.toLowerCase()})})]})]})}var kn={runImage:"layout-run-image",blockImage:"layout-block-image",pageFloatingImage:"layout-page-floating-image",cellFloatingImage:"layout-cell-floating-image",pageContent:"layout-page-content",paragraph:"layout-paragraph"},ou=[`.${kn.pageFloatingImage}`,`.${kn.cellFloatingImage}`,`.${kn.blockImage}`,`.${kn.runImage}`].join(", ");function Qs(e){if(!(e instanceof Element))return null;let t=e.closest(ou);if(!t)return null;let n=t.dataset.pmStart;if(n===void 0)return null;let i=Number(n);return Number.isNaN(i)?null:{pos:i,imageEl:t}}function el(e){if(!(e instanceof HTMLElement))return null;if(e.tagName==="IMG"&&e.classList.contains(kn.runImage))return e;let t=e.closest(ou);return t&&t.dataset.pmStart?t:null}function Wo(e,t=1){if(!e.classList.contains(kn.runImage))return;let n=e.closest(`.${kn.pageContent}`),i=e.closest(`.${kn.paragraph}`);if(!n||!i)return;let a=e.getBoundingClientRect(),c=n.getBoundingClientRect(),s=i.getBoundingClientRect(),l=t>0?t:1;return {horizontalEmu:Math.round(d((a.left-c.left)/l)),verticalEmu:Math.round(d((a.top-s.top)/l))}}function tl(e,t){return e==="inline"?"inline":e==="behind"?"behind":e==="inFront"?"inFront":e==="square"||e==="tight"||e==="through"?t==="right"?"squareRight":"squareLeft":null}var Mr=[{choice:"inline",i18nLabelKey:"inLineWithText",i18nDescKey:"inLineWithText",iconHint:"inline"},{choice:"squareLeft",i18nLabelKey:"squareLeft",i18nDescKey:"squareLeft",iconHint:"squareLeft"},{choice:"squareRight",i18nLabelKey:"squareRight",i18nDescKey:"squareRight",iconHint:"squareRight"},{choice:"behind",i18nLabelKey:"behindText",i18nDescKey:"behindText",iconHint:"behind"},{choice:"inFront",i18nLabelKey:"inFrontOfText",i18nDescKey:"inFrontOfText",iconHint:"inFront"}];function Ma(e,t){return true}function nl(e){switch(e){case "inline":return "inline";case "square":case "tight":case "through":return "squareLeft";case "topAndBottom":return "topAndBottom";case "behind":return "behind";case "inFront":return "inFront";case "wrapRight":return "squareLeft";case "wrapLeft":return "squareRight";default:return}}var Aa=class{constructor(t={}){d$3(this,"container",null);d$3(this,"blockLookup",new Map);d$3(this,"pageStates",[]);d$3(this,"totalPages",0);d$3(this,"options");d$3(this,"doc");d$3(this,"resolvedCommentIds",new Set);this.options=t,this.doc=t.document??document;}setBlockLookup(t){this.blockLookup=t;}mount(t){this.container=t,this.applyContainerStyles();}unmount(){this.container&&(this.container.innerHTML=""),this.container=null,this.pageStates=[];}applyContainerStyles(){if(!this.container)return;let t=this.options.pageGap??24;this.container.style.display="flex",this.container.style.flexDirection="column",this.container.style.alignItems="center",this.container.style.gap=`${t}px`,this.container.style.padding=`${t}px`,this.container.style.backgroundColor=this.options.containerBackground??"var(--doc-bg, #f8f9fa)",this.container.style.minHeight="100%";}paint(t){if(!this.container)throw new Error("LayoutPainter: not mounted");let{pages:n}=t;this.totalPages=n.length,this.container.innerHTML="",this.pageStates=[];for(let i=0;i<n.length;i++){let a=n[i],c={pageNumber:a.number,totalPages:this.totalPages,section:"body",resolvedCommentIds:this.resolvedCommentIds},s=this.renderPageWithLookup(a,c);this.container.appendChild(s),this.pageStates.push({element:s,pageNumber:a.number,fragmentCount:a.fragments.length});}}renderPageWithLookup(t,n){let i=this.doc.createElement("div");i.className="layout-page",i.dataset.pageNumber=String(t.number),i.style.position="relative",i.style.width=`${t.size.w}px`,i.style.height=`${t.size.h}px`,i.style.backgroundColor=this.options.pageBackground??"#ffffff",i.style.overflow="hidden",this.options.showShadow&&(i.style.boxShadow="0 2px 8px rgba(0, 0, 0, 0.15)");let a=this.doc.createElement("div");a.className="layout-page-content",a.style.position="absolute",a.style.top=`${t.margins.top}px`,a.style.left=`${t.margins.left}px`,a.style.right=`${t.margins.right}px`,a.style.bottom=`${t.margins.bottom}px`,a.style.overflow="visible";for(let c of t.fragments){let s=this.renderFragmentWithLookup(c,n);this.applyFragmentPosition(s,c),a.appendChild(s);}return i.appendChild(a),i}renderFragmentWithLookup(t,n){let i=this.blockLookup.get(String(t.blockId));if(t.kind==="paragraph"&&i){let a=i.block,c=i.measure;return Cb(t,a,c,n,{document:this.doc})}if(t.kind==="table"&&i){let a=i.block,c=i.measure;return Db(t,a,c,n,{document:this.doc})}if(t.kind==="image"&&i){let a=i.block,c=i.measure;return Bb(t,a,c,n,{document:this.doc})}if(t.kind==="textBox"&&i){let a=i.block,c=i.measure;return Eb(t,a,c,n,{document:this.doc})}return zb(t,n,{document:this.doc})}applyFragmentPosition(t,n){t.style.position="absolute",t.style.left=`${n.x}px`,t.style.top=`${n.y}px`,t.style.width=`${n.width}px`,"height"in n&&(t.style.height=`${n.height}px`);}getPageCount(){return this.totalPages}getPageElement(t){return this.pageStates[t]?.element??null}scrollToPage(t){let n=this.pageStates.find(i=>i.pageNumber===t);n?.element&&n.element.scrollIntoView({behavior:"smooth",block:"start"});}};var vf={inline:"wrap_text",squareLeft:"format_image_left",squareRight:"format_image_right",behind:"flip_to_back",inFront:"flip_to_front"},Ar=18,iu=({isOpen:e,position:t,currentWrapType:n,currentCssFloat:i,onApplyLayout:a,textActions:c$1,onTextAction:s,onOpenProperties:l,onClose:f})=>{let{t:d}=c(),p=useRef(null),[h,m]=useState(0),T=useMemo(()=>tl(n,i),[n,i]),y=useMemo(()=>Mr.filter(z=>Ma()),[n]),F$1=useMemo(()=>(c$1??[]).filter(z=>!z.disabled),[c$1]),R=l?1:0,_=R+y.length+F$1.length;useEffect(()=>{if(!e)return;let z=H=>{p.current&&!p.current.contains(H.target)&&f();},$=setTimeout(()=>{document.addEventListener("mousedown",z);},0);return ()=>{clearTimeout($),document.removeEventListener("mousedown",z);}},[e,f]),useEffect(()=>{if(!e)return;let z=$=>{if($.key==="Escape"){$.preventDefault(),f();return}let H=Math.max(1,_);if($.key==="ArrowDown")$.preventDefault(),m(V=>(V+1)%H);else if($.key==="ArrowUp")$.preventDefault(),m(V=>(V-1+H)%H);else if($.key==="Enter"){if($.preventDefault(),R&&h===0)l?.(),f();else if(h<R+y.length)a(y[h-R].choice),f();else if(s){let V=F$1[h-R-y.length];V&&(s(V.action),f());}}};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[e,h,y,F$1,_,R,a,l,s,f]),useEffect(()=>{if(!e)return;let z=T?y.findIndex($=>$.choice===T):-1;m(z>=0?R+z:0);},[e,T,y,R]);let j=useCallback(()=>{let $=Mr.length,H=c$1?.length??0,V=$*36+H*32+(H>0?9:0)+16,U=t.x,X=t.y;return typeof window<"u"&&(U+260>window.innerWidth&&(U=window.innerWidth-260-10),X+V>window.innerHeight&&(X=window.innerHeight-V-10),U<10&&(U=10),X<10&&(X=10)),{position:"fixed",top:X,left:U,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:F.contextMenu,padding:"4px 0",overflow:"hidden"}},[t,c$1]);return e?jsxs("div",{ref:p,className:"docx-image-context-menu",style:j(),role:"menu","aria-label":d("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(),f();},onMouseEnter:()=>m(0),style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:h===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:Ar},children:jsx(b,{name:"settings",size:Ar})}),jsx("span",{style:{flex:1},children:d("imageWrap.menu.imageProperties")})]}),jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]}),Mr.map(z=>{let $=z.choice===T,V=R+y.findIndex(le=>le.choice===z.choice),U=V>=0&&V===h,X=d(`imageWrap.menuDesc.${z.i18nDescKey}`);return jsxs("button",{type:"button",role:"menuitem","data-wrap-type":z.choice,"data-current":$?"true":"false","data-disabled":"false",disabled:false,onClick:()=>{(a(z.choice),f());},onMouseEnter:()=>{V>=0&&m(V);},title:X,style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 12px",border:"none",background:U?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:"pointer",fontSize:"13px",color:"var(--doc-text, #222)",textAlign:"left",opacity:1},children:[jsx("span",{style:{display:"flex",color:$?"var(--doc-primary, #2563eb)":"var(--doc-text-muted, #666)",width:Ar},children:jsx(b,{name:vf[z.iconHint],size:Ar})}),jsx("span",{style:{flex:1},children:d(`imageWrap.menu.${z.i18nLabelKey}`)}),$&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-primary, #2563eb)"},"aria-label":d("toolbar.imageWrap.current"),children:"\u25CF"})]},z.choice)}),c$1&&c$1.length>0&&jsxs(Fragment,{children:[jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"}),c$1.map((z,$)=>{let H=z.disabled?-1:R+y.length+F$1.findIndex(U=>U.action===z.action),V=H===h&&!z.disabled;return jsxs(_u.Fragment,{children:[jsxs("button",{type:"button",role:"menuitem","data-action":z.action,"data-disabled":z.disabled?"true":"false",disabled:z.disabled,onClick:()=>{z.disabled||!s||(s(z.action),f());},onMouseEnter:()=>{H>=0&&m(H);},style:{display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"7px 12px",border:"none",background:V?"var(--doc-primary-light, #eef4ff)":"transparent",cursor:z.disabled?"not-allowed":"pointer",fontSize:"13px",color:z.disabled?"var(--doc-text-placeholder, #999)":"var(--doc-text, #222)",textAlign:"left",opacity:z.disabled?.55:1},children:[jsx("span",{style:{width:Ar},"aria-hidden":"true"}),jsx("span",{style:{flex:1},children:z.label}),z.shortcut&&jsx("span",{style:{fontSize:"11px",color:"var(--doc-text-muted, #888)",fontFamily:"monospace"},children:z.shortcut})]}),z.dividerAfter&&jsx("div",{style:{height:1,background:"var(--doc-border-light, #e0e0e0)",margin:"4px 0"},role:"separator"})]},`${z.action}-${$}`)})]})]}):null};function au(){let[e,t]=useState(false),[n,i]=useState({x:0,y:0}),[a,c]=useState("inline"),[s,l]=useState(null),[f,d]=useState(null),[p,h]=useState(null),m=useCallback(y=>{i({x:y.x,y:y.y}),c(y.wrapType),l(y.cssFloat??null),d(y.pos),h(y.inlinePositionEmu??null),t(true);},[]),T=useCallback(()=>{t(false),d(null),h(null);},[]);return {isOpen:e,position:n,currentWrapType:a,currentCssFloat:s,imagePos:f,inlinePositionEmu:p,openForImage:m,closeMenu:T}}var du={position:"fixed",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"},Sf={...du,padding:"8px 12px",display:"flex",alignItems:"center",gap:"8px",maxWidth:"400px"},kf={...du,padding:"12px",width:"320px"},sl={width:"20px",height:"20px",flexShrink:0,color:"#5f6368",display:"flex",alignItems:"center",justifyContent:"center"},wf={color:"#1a73e8",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"220px",fontSize:"14px",lineHeight:"20px",cursor:"pointer"},Pf={width:"28px",height:"28px",display:"flex",alignItems:"center",justifyContent:"center",border:"none",background:"none",borderRadius:"4px",cursor:"pointer",color:"#5f6368",padding:0,flexShrink:0},Rf={width:"1px",height:"20px",background:"#dadce0",flexShrink:0},lu={display:"flex",alignItems:"center",gap:"8px",marginBottom:"8px"},cu={flex:1,padding:"6px 8px",border:"1px solid #dadce0",borderRadius:"4px",fontSize:"14px",outline:"none",lineHeight:"20px"},If={color:"#1a73e8",fontWeight:600,fontSize:"14px",border:"none",background:"none",cursor:"pointer",padding:"6px 12px",borderRadius:"4px",flexShrink:0},$o={width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};function Ef(){return jsxs("svg",{...$o,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 Mf(){return jsxs("svg",{...$o,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 Af(){return jsx("svg",{...$o,children:jsx("path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})})}function Df(){return jsxs("svg",{...$o,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 Ff(){return jsxs("svg",{...$o,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 Lf(){return jsxs("svg",{...$o,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 ll({title:e,onClick:t,children:n}){return jsx("button",{type:"button",className:"ep-hyperlink-popup__icon-btn",style:Pf,title:e,onClick:t,children:n})}function uu({data:e,onNavigate:t,onCopy:n,onEdit:i,onRemove:a,onClose:c$1,readOnly:s}){let{t:l}=c(),[f,d]=useState("view"),[p,h]=useState(""),[m,T]=useState(""),y=useRef(null),F=useRef(null);useEffect(()=>{e&&(d("view"),h(e.displayText),T(e.href));},[e]),useEffect(()=>{f==="edit"&&requestAnimationFrame(()=>{F.current?.focus(),F.current?.select();});},[f]),useEffect(()=>{if(!e)return;let U=false,X=Ee=>{y.current&&!y.current.contains(Ee.target)&&c$1();},le=setTimeout(()=>{U||document.addEventListener("mousedown",X);},0);return ()=>{U=true,clearTimeout(le),document.removeEventListener("mousedown",X);}},[e,c$1]),useEffect(()=>{if(!e)return;let U=X=>{X.key==="Escape"&&(f==="edit"?d("view"):c$1());};return document.addEventListener("keydown",U),()=>document.removeEventListener("keydown",U)},[e,f,c$1]);let R=useCallback(()=>{e&&(n(e.href),toast("Link copied to clipboard"));},[e,n]),_=useCallback(()=>{e&&(h(e.displayText),T(e.href),d("edit"));},[e]),j=useCallback(()=>{let U=m.trim();U&&i(p.trim()||U,U);},[p,m,i]),z=useCallback(U=>{U.key==="Enter"&&(U.preventDefault(),j());},[j]);if(!e)return null;let{anchorRect:$}=e,H=$.bottom+4,V=$.left;return f==="edit"?jsxs("div",{ref:y,className:"ep-hyperlink-popup ep-hyperlink-popup--edit",style:{...kf,top:H,left:V},onMouseDown:U=>U.stopPropagation(),children:[jsxs("div",{style:lu,children:[jsx("span",{style:sl,children:jsx(Ff,{})}),jsx("input",{ref:F,type:"text",style:cu,value:p,onChange:U=>h(U.target.value),onKeyDown:z,placeholder:l("hyperlinkPopup.displayTextPlaceholder"),onFocus:U=>U.target.style.borderColor="#1a73e8",onBlur:U=>U.target.style.borderColor="#dadce0"})]}),jsxs("div",{style:{...lu,marginBottom:0},children:[jsx("span",{style:sl,children:jsx(Lf,{})}),jsx("input",{type:"text",style:cu,value:m,onChange:U=>T(U.target.value),onKeyDown:z,placeholder:l("hyperlinkPopup.urlPlaceholder"),onFocus:U=>U.target.style.borderColor="#1a73e8",onBlur:U=>U.target.style.borderColor="#dadce0"}),jsx("button",{type:"button",style:{...If,opacity:m.trim()?1:.5,cursor:m.trim()?"pointer":"default"},onClick:j,disabled:!m.trim(),children:l("common.apply")})]})]}):jsxs("div",{ref:y,className:"ep-hyperlink-popup",style:{...Sf,top:H,left:V},onMouseDown:U=>U.stopPropagation(),children:[jsx("span",{style:sl,children:jsx(Ef,{})}),jsx("a",{href:e.href,style:wf,title:e.href,target:"_blank",rel:"noopener noreferrer",onClick:U=>{U.preventDefault(),t(e.href);},children:e.href}),jsx("span",{style:Rf}),jsx(ll,{title:l("hyperlinkPopup.copyLink"),onClick:R,children:jsx(Mf,{})}),!s&&jsxs(Fragment,{children:[jsx(ll,{title:l("hyperlinkPopup.editLink"),onClick:_,children:jsx(Af,{})}),jsx(ll,{title:l("hyperlinkPopup.removeLink"),onClick:a,children:jsx(Df,{})})]})]})}var ee=e=>({style:"single",size:4,color:{rgb:e}}),Hf=[{id:"TableNormal",name:"Normal Table",look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGrid",name:"Table Grid",tableBorders:{top:ee("000000"),bottom:ee("000000"),left:ee("000000"),right:ee("000000"),insideH:ee("000000"),insideV:ee("000000")},look:{firstRow:false,lastRow:false,noHBand:true,noVBand:true}},{id:"TableGridLight",name:"Grid Table Light",tableBorders:{top:ee("BFBFBF"),bottom:ee("BFBFBF"),left:ee("BFBFBF"),right:ee("BFBFBF"),insideH:ee("BFBFBF"),insideV:ee("BFBFBF")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:ee("000000")}}}},{id:"PlainTable1",name:"Plain Table 1",tableBorders:{top:ee("BFBFBF"),bottom:ee("BFBFBF"),insideH:ee("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:ee("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:ee("B4C6E7"),bottom:ee("B4C6E7"),left:ee("B4C6E7"),right:ee("B4C6E7"),insideH:ee("B4C6E7"),insideV:ee("B4C6E7")},look:{firstRow:true,lastRow:false,noHBand:true,noVBand:true},conditionals:{firstRow:{bold:true,borders:{bottom:ee("4472C4")}}}},{id:"GridTable4-Accent1",name:"Grid Table 4 Accent 1",tableBorders:{top:ee("4472C4"),bottom:ee("4472C4"),left:ee("4472C4"),right:ee("4472C4"),insideH:ee("4472C4"),insideV:ee("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:ee("FFFFFF"),bottom:ee("FFFFFF"),left:ee("FFFFFF"),right:ee("FFFFFF"),insideH:ee("FFFFFF"),insideV:ee("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:ee("ED7D31"),bottom:ee("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:ee("A5A5A5"),bottom:ee("A5A5A5"),insideH:ee("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:ee("5B9BD5"),bottom:ee("5B9BD5"),left:ee("5B9BD5"),right:ee("5B9BD5"),insideH:ee("5B9BD5"),insideV:ee("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:ee("70AD47"),bottom:ee("70AD47"),left:ee("70AD47"),right:ee("70AD47"),insideH:ee("70AD47"),insideV:ee("70AD47")},look:{firstRow:true,lastRow:false,noHBand:false,noVBand:true},conditionals:{firstRow:{bold:true,color:"#FFFFFF",backgroundColor:"#70AD47"},band1Horz:{backgroundColor:"#E2EFDA"}}}];function pu(e){return Hf.find(t=>t.id===e)}function mu(){let{t:e}=c();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:`
22
+ @keyframes docx-spin {
23
+ to { transform: rotate(360deg); }
24
+ }
25
+ `}),jsx("div",{style:{fontSize:"14px"},children:e("errors.loadingDocument")})]})}function fu(){let{t:e}=c();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 gu({message:e}){let{t}=c();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 cl(e,t){let n=t.filter(c=>c.parentId!=null);if(n.length===0)return;let i=new Map;for(let c of n){let s=i.get(c.parentId);s?s.push(c.id):i.set(c.parentId,[c.id]);}function a(c){for(let s of c)if(s.type==="paragraph"){if(!s.content.some(f=>f.type==="commentRangeStart"||f.type==="commentRangeEnd"))continue;let l=[];for(let f of s.content)if(f.type==="commentRangeStart"){l.push(f);let d=i.get(f.id);if(d)for(let p of d)l.push({type:"commentRangeStart",id:p});}else if(f.type==="commentRangeEnd"){l.push(f);let d=i.get(f.id);if(d)for(let p of d)l.push({type:"commentRangeEnd",id:p});}else l.push(f);s.content=l;}else if(s.type==="table")for(let l of s.rows)for(let f of l.cells)a(f.content);}a(e);}function dl(e,t){let n=new Set(t.map(s=>s.id)),i=t.filter(s=>s.parentId!=null&&!n.has(s.parentId));if(i.length===0)return;let a=new Map;for(let s of i){let l=a.get(s.parentId);l?l.push(s.id):a.set(s.parentId,[s.id]);}function c(s){for(let l of s)if(l.type==="paragraph"){if(!l.content.some(h=>(h.type==="insertion"||h.type==="deletion")&&a.has(h.info.id)))continue;let d=[],p=l.content;for(let h=0;h<p.length;h++){let m=p[h];if((m.type==="insertion"||m.type==="deletion")&&a.has(m.info.id)){let T=a.get(m.info.id);for(let F of T)d.push({type:"commentRangeStart",id:F});d.push(m);let y=p[h+1];y&&(y.type==="insertion"||y.type==="deletion")&&y.type!==m.type&&y.info.author===m.info.author&&y.info.date===m.info.date&&(d.push(y),h++);for(let F of T)d.push({type:"commentRangeEnd",id:F});}else d.push(m);}l.content=d;}else if(l.type==="table")for(let f of l.rows)for(let d of f.cells)c(d.content);}c(e);}var vu=4,xu=false;function Kf(e){if(!xu){xu=true;try{let t=e.scrollIntoView();(typeof t.updated!="number"||(t.updated&vu)===0)&&console.warn("[HiddenProseMirror] prosemirror-state UPDATED_SCROLL bit shape changed; paginated scroll suppression may be stale. Update PM_UPDATED_SCROLL.");}catch{}}}var Yf={position:"fixed",left:"-9999px",top:"0",opacity:0,zIndex:-1,pointerEvents:"none",userSelect:"none",overflowAnchor:"none"};function Cu(e,t,n,i=[]){let a=n?.getSchema()??cb,c=e?hb(e,{styles:t??void 0}):jb(),s=[...i,...n?.getPlugins()??[]];return EditorState.create({doc:c,schema:a,plugins:s})}function jf(e,t){return t?Ns(e.doc,t):null}var qf=forwardRef(function(t,n){let{document:i,styles:a,theme:c,widthPx:s=612,readOnly:l=false,onTransaction:f,onSelectionChange:d,externalPlugins:p=[],extensionManager:h,onEditorViewReady:m,onEditorViewDestroy:T,onKeyDown:y}=t,F=useRef(null),R=useRef(null),_=useRef(i),j=useRef(false),z=useRef(null),$=useRef(false),H=useRef(f),V=useRef(d),U=useRef(m),X=useRef(T),le=useRef(y);H.current=f,V.current=d,U.current=m,X.current=T,le.current=y,_.current=i;let Ee=be=>{if(!be)return "empty";let Ie=be.package?.properties;return `${Ie?.created||""}-${Ie?.modified||""}-${Ie?.title||""}`},O=useCallback(()=>{if(!F.current||j.current)return;let Ie={state:Cu(i,a,h,p),editable:()=>!l,attributes:{style:"overflow-anchor: none"},dispatchTransaction(me){if(j.current)return;R.current||(R.current=this),Kf(this.state.tr);let Ne=me;typeof Ne.updated=="number"&&(Ne.updated&=~vu);let re=this.state.apply(me);this.updateState(re),H.current?.(me,re),(me.selectionSet||me.docChanged)&&V.current?.(re);},handleKeyDown:(me,Ne)=>le.current?.(me,Ne)??false,handleScrollToSelection:()=>true,handleDOMEvents:{focus:()=>false,blur:()=>false}};R.current=new EditorView(F.current,Ie);let Me=R.current.dom;Me.style.overflowAnchor="none",$.current=true,z.current=Ee(i),U.current?.(R.current);},[i,a,p,h,l]),Z=useCallback(()=>{R.current&&!j.current&&(j.current=true,X.current?.(),R.current.destroy(),R.current=null,j.current=false);},[]);useEffect(()=>(O(),()=>Z()),[]),useEffect(()=>{if(!R.current||j.current)return;let be=Ee(i);if($.current&&be===z.current)return;$.current=true,z.current=be;let Ie=Cu(i,a,h,p);R.current.updateState(Ie),V.current?.(Ie);},[i,a,h,p]),useEffect(()=>{R.current;},[l]),useImperativeHandle(n,()=>({getState(){return R.current?.state??null},getView(){return R.current??null},getDocument(){return R.current?jf(R.current.state,_.current):null},focus(){R.current?.focus();},blur(){R.current?.hasFocus()&&R.current.dom.blur();},isFocused(){return R.current?.hasFocus()??false},dispatch(be){R.current&&!j.current&&R.current.dispatch(be);},executeCommand(be){return R.current?be(R.current.state,R.current.dispatch,R.current):false},undo(){return R.current?undo(R.current.state,R.current.dispatch):false},redo(){return R.current?redo(R.current.state,R.current.dispatch):false},canUndo(){return R.current?undo(R.current.state):false},canRedo(){return R.current?redo(R.current.state):false},setSelection(be,Ie){if(!R.current)return;let{state:Me,dispatch:me}=R.current,Ne=Me.doc.resolve(be),re=Ie!==void 0?Me.doc.resolve(Ie):Ne,ze=TextSelection.between(Ne,re);me(Me.tr.setSelection(ze));},setNodeSelection(be){if(!R.current)return;let{state:Ie,dispatch:Me}=R.current;try{let me=NodeSelection.create(Ie.doc,be);Me(Ie.tr.setSelection(me));}catch{this.setSelection(be);}},setCellSelection(be,Ie){if(!R.current)return;let{state:Me,dispatch:me}=R.current;try{let Ne=CellSelection.create(Me.doc,be,Ie);me(Me.tr.setSelection(Ne));}catch{this.setSelection(be,Ie);}},scrollToSelection(){}}),[]);let fe=jsx("div",{ref:F,className:"paged-editor__hidden-pm",style:{...Yf,width:s>0?`${s}px`:void 0}}),ue=globalThis.document,Te=ue&&"body"in ue&&ue.body!=null?ue.body:null;return Te?createPortal(fe,Te):fe}),Tu=memo(qf);var Qf="#000",eg="rgba(66, 133, 244, 0.3)",tg=2,ng=530,og={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:10,overflow:"hidden"},rg=(e,t,n,i)=>({position:"absolute",left:e.x,top:e.y,width:n,height:e.height,backgroundColor:t,opacity:i?1:0,transition:"opacity 0.05s ease-out",pointerEvents:"none"}),ig=(e,t)=>({position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,backgroundColor:t,pointerEvents:"none"}),ag=({position:e,color:t,width:n,blinkInterval:i,isFocused:a})=>{let[c,s]=useState(a),l=useRef(null);return useEffect(()=>(l.current&&(window.clearInterval(l.current),l.current=null),a&&i>0?(s(true),l.current=window.setInterval(()=>{s(f=>!f);},i)):s(false),()=>{l.current&&window.clearInterval(l.current);}),[a,i]),useEffect(()=>{if(a)return s(true),l.current&&window.clearInterval(l.current),i>0&&(l.current=window.setInterval(()=>{s(f=>!f);},i)),()=>{l.current&&window.clearInterval(l.current);}},[e.x,e.y,a,i]),jsx("div",{style:rg(e,t,n,c),"data-testid":"caret"})},sg=({rect:e,color:t,index:n})=>jsx("div",{style:ig(e,t),"data-testid":`selection-rect-${n}`,"data-page-index":e.pageIndex}),ku=({selectionRects:e,caretPosition:t,isFocused:n,readOnly:i=false,caretColor:a=Qf,selectionColor:c=eg,caretWidth:s=tg,blinkInterval:l=ng})=>{if(i)return null;let f=e.length>0,d=t!==null&&!f;return jsxs("div",{style:og,"data-testid":"selection-overlay",children:[f&&e.map((p,h)=>jsx(sg,{rect:p,color:c,index:h},`sel-${p.pageIndex}-${p.x}-${p.y}-${h}`)),d&&t&&jsx(ag,{position:t,color:a,width:s,blinkInterval:l,isFocused:n})]})};var ml=10,Un=ml/2,Lr=2,Iu="#2563eb",Pu={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",zIndex:15,overflow:"visible"},cg={position:"absolute",border:`${Lr}px solid ${Iu}`,pointerEvents:"none",boxSizing:"border-box"},dg={position:"absolute",width:`${ml}px`,height:`${ml}px`,backgroundColor:Iu,border:"1px solid white",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.3)",boxSizing:"border-box",pointerEvents:"auto",zIndex:16},ug={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%)"},pg={nw:"nw-resize",ne:"ne-resize",se:"se-resize",sw:"sw-resize"};function mg(e,t,n,i,a,c){let s=e.includes("w")?-1:1,l=e.includes("n")?-1:1,f=i+t*s,d=a+n*l;if(c){let p=Math.max(f/i,d/a);f=i*p,d=a*p;}return {width:Math.max(20,Math.min(2e3,f)),height:Math.max(20,Math.min(2e3,d))}}function Eu({imageInfo:e,zoom:t,isFocused:n,onResize:i,onResizeStart:a,onResizeEnd:c,onDragMove:s,onDragStart:l,onDragEnd:f,onContextMenu:d}){let[p,h]=useState(false),[m,T]=useState(false),[y,F]=useState(0),[R,_]=useState(0),[j,z]=useState(null),$=useRef(null),H=useRef(null),V=useRef(i),U=useRef(a),X=useRef(c),le=useRef(s),Ee=useRef(l),O=useRef(f);V.current=i,U.current=a,X.current=c,le.current=s,Ee.current=l,O.current=f;let Z=useRef(e),fe=useRef(t);Z.current=e,fe.current=t;let ue=useCallback(()=>{if(!e||!H.current){z(null);return}let ze=H.current.offsetParent;if(!ze){z(null);return}let Fe=ze.getBoundingClientRect(),Ze=e.element.getBoundingClientRect();z({left:(Ze.left-Fe.left)/t,top:(Ze.top-Fe.top)/t,width:Ze.width/t,height:Ze.height/t});},[e,t]);useEffect(()=>{ue();},[ue]),useEffect(()=>{if(!e)return;let ze=H.current?.closest('[style*="overflow"]')??H.current?.closest(".paged-editor__container");if(!ze)return;let Fe=()=>{$.current&&cancelAnimationFrame($.current),$.current=requestAnimationFrame(ue);};return ze.addEventListener("scroll",Fe,{passive:true}),window.addEventListener("resize",Fe,{passive:true}),()=>{ze.removeEventListener("scroll",Fe),window.removeEventListener("resize",Fe),$.current&&cancelAnimationFrame($.current);}},[e,ue]);let Te=useCallback((ze,Fe)=>{if(!e||!j)return;Fe.preventDefault(),Fe.stopPropagation();let Ze=j.width,D=j.height,xt=Fe.clientX,qe=Fe.clientY,pt=Math.round(Ze),Pt=Math.round(D);h(true),F(pt),_(Pt),U.current?.();let it=at=>{let Yn=fe.current,ye=(at.clientX-xt)/Yn,Pn=(at.clientY-qe)/Yn,Rn=!at.shiftKey,Bt=mg(ze,ye,Pn,Ze,D,Rn);pt=Math.round(Bt.width),Pt=Math.round(Bt.height),F(pt),_(Pt),z(We=>{if(!We)return We;let Ht={...We};return ze.includes("w")&&(Ht.left=We.left+(We.width-Bt.width)),ze.includes("n")&&(Ht.top=We.top+(We.height-Bt.height)),Ht.width=Bt.width,Ht.height=Bt.height,Ht});},mt=()=>{window.removeEventListener("mousemove",it),window.removeEventListener("mouseup",mt),h(false);let at=Z.current;at&&V.current?.(at.pmPos,pt,Pt),X.current?.();};window.addEventListener("mousemove",it),window.addEventListener("mouseup",mt);},[e,j]),be=useCallback(ze=>{if(!e||!j)return;ze.preventDefault(),ze.stopPropagation();let Fe=4,Ze=ze.clientX,D=ze.clientY,xt=false,qe=null,pt=it=>{let mt=it.clientX-Ze,at=it.clientY-D;!xt&&Math.sqrt(mt*mt+at*at)<Fe||(xt||(xt=true,T(true),Ee.current?.(),qe=document.createElement("div"),qe.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);",qe.style.width=`${j.width}px`,qe.style.height=`${j.height}px`,document.body.appendChild(qe)),qe&&(qe.style.left=`${it.clientX-j.width/2}px`,qe.style.top=`${it.clientY-j.height/2}px`));},Pt=it=>{if(window.removeEventListener("mousemove",pt),window.removeEventListener("mouseup",Pt),qe&&(qe.remove(),qe=null),T(false),xt){let mt=Z.current;mt&&le.current?.(mt.pmPos,it.clientX,it.clientY),O.current?.();}};window.addEventListener("mousemove",pt),window.addEventListener("mouseup",Pt);},[e,j]);if(!!!(e&&j&&n))return jsx("div",{ref:H,style:{...Pu,visibility:"hidden"},className:"image-selection-overlay"});let{left:Me,top:me,width:Ne,height:re}=j;return jsxs("div",{ref:H,style:Pu,className:"image-selection-overlay",children:[jsx("div",{style:{...cg,left:Me-Lr,top:me-Lr,width:Ne+Lr*2,height:re+Lr*2}}),jsx("div",{style:{position:"absolute",left:Me,top:me,width:Ne,height:re,cursor:m?"grabbing":"grab",pointerEvents:"auto",zIndex:15},onMouseDown:be,onContextMenu:d}),jsx(Ba,{handle:"nw",style:{left:Me-Un,top:me-Un},onMouseDown:Te}),jsx(Ba,{handle:"ne",style:{left:Me+Ne-Un,top:me-Un},onMouseDown:Te}),jsx(Ba,{handle:"se",style:{left:Me+Ne-Un,top:me+re-Un},onMouseDown:Te}),jsx(Ba,{handle:"sw",style:{left:Me-Un,top:me+re-Un},onMouseDown:Te}),p&&jsxs("div",{style:{...ug,left:Me+Ne/2,top:me+re+12},children:[y," \xD7 ",R]})]})}function Ba({handle:e,style:t,onMouseDown:n}){return jsx("div",{style:{...dg,...t,cursor:pg[e]},onMouseDown:i=>n(e,i),"data-handle":e})}var gg={position:"absolute",inset:0,pointerEvents:"none",zIndex:11};function Du({getView:e,getPagesContainer:t,zoom:n,transactionVersion:i,syncCoordinator:a}){let c=useRef(null),s=useRef(null),[l,f]=useState(0);return useEffect(()=>a.onRender(()=>f(d=>d+1)),[a]),useEffect(()=>(s.current!==null&&cancelAnimationFrame(s.current),s.current=requestAnimationFrame(()=>{s.current=null;let d=e(),p=t(),h=c.current;!d||!p||!h||a.isSafeToRender()&&hg(d,p,h,n);}),()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null);}),[n,i,l]),jsx("div",{ref:c,className:"paged-editor__decoration-overlay",style:gg,"aria-hidden":"true"})}function hg(e,t,n,i){let a=bg(e.state);if(a.length===0){n.firstChild&&n.replaceChildren();return}let c=b$1(t,i),s=c.getContainerOffset(),l=document.createDocumentFragment();for(let{decoration:f,from:d,to:p}of a){if(d===p){let T=yg(f,e);if(!T)continue;let y=c.getCoordinatesForPosition(d);if(!y)continue;let F=document.createElement("div");F.style.cssText=`position:absolute;left:${y.x+s.x}px;top:${y.y+s.y}px;height:${y.height}px;`,F.appendChild(T),l.appendChild(F);continue}let h=xg(f);if(!h)continue;let m=c.getRectsForRange(d,p);for(let T of m){let y=document.createElement("div");for(let[R,_]of Object.entries(h))R!=="nodeName"&&y.setAttribute(R,_);let F=`position:absolute;left:${T.x+s.x}px;top:${T.y+s.y}px;width:${T.width}px;height:${T.height}px;`;y.style.cssText=F+(h.style??""),l.appendChild(y);}}n.replaceChildren(l);}function bg(e){let t=[];for(let n of e.plugins){let i=n.props.decorations;if(!i)continue;let a=i.call(n,e);a&&a.forEachSet(c=>{c.find().forEach(s=>{s.spec?.noOverlay||t.push({decoration:s,from:s.from,to:s.to});});});}return t}function yg(e,t){let n=e.type;if(!n)return null;let i=n.toDOM;return typeof i=="function"?i(t,()=>e.from):i instanceof HTMLElement?i.cloneNode(true):null}function xg(e){return e.type?.attrs??null}function gl(e,t,n){let i=t.getBoundingClientRect(),a=e.getBoundingClientRect(),c=a.top+a.height/2,s=i.top+i.height/2,l=c-s,f=Math.max(0,t.scrollHeight-t.clientHeight),d=Math.max(0,Math.min(f,t.scrollTop+l));t.scrollTop=d;}function hl(e,t){if(t.aborted)return;let n=requestAnimationFrame(()=>{if(t.aborted)return;let i=requestAnimationFrame(()=>{if(t.aborted)return;let a=requestAnimationFrame(()=>{t.aborted||e();});t.addEventListener("abort",()=>cancelAnimationFrame(a),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(i),{once:true});});t.addEventListener("abort",()=>cancelAnimationFrame(n),{once:true});}function Pg(e,t){let n=null,i=Ja(e);for(let a=0;a<i.length;a++){let c=i[a].dataset.pmStart;if(c==null)continue;let s=Number(c);Number.isNaN(s)||s<=t&&(n===null||s>n)&&(n=s);}return n}function Rg(e,t){let n=e.pages.length;return e.pages.reduce((a,c)=>a+c.size.h,0)+Math.max(0,n-1)*t+Cl+24}var xl=816,Ig=24,Eg=[],Mg={position:"relative",width:"100%",minHeight:"100%",overflow:"visible",backgroundColor:"var(--doc-bg, #f8f9fa)"},Cl=24,Ag={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",paddingTop:Cl,paddingBottom:24,overflowAnchor:"none"},Dg={position:"relative",display:"flex",flexDirection:"column",alignItems:"center",overflowAnchor:"none"},Fg={position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none",overflow:"visible",zIndex:8};function Lg(e,t,n,i,a){let c=new Map;if(!e?.state)return c;let{doc:s,schema:l}=e.state,f=l.marks.comment,d=l.marks.insertion,p=l.marks.deletion;if(!f&&!d&&!p)return c;let h=new Set,m=Cl+a;return s.descendants((T,y)=>{if(T.isText)for(let F of T.marks){let R=null;if(f&&F.type===f?R=`comment-${F.attrs.commentId}`:(d&&F.type===d||p&&F.type===p)&&(R=`revision-${F.attrs.revisionId}`),!R||h.has(R))continue;h.add(R);let _=Pa$1(t,n,i,y);if(_){c.set(R,_.y+m);continue}for(let j=0;j<t.pages.length;j++){let z=t.pages[j],$=false;for(let H of z.fragments){let V=H.pmStart??0,U=H.pmEnd??V;if(y<V||y>U)continue;let X=H.kind==="table"?Bg(n,i,H,y):0;c.set(R,H.y+X+ta$1(t,j)+m),$=true;break}if($)break}}}),c}function Bg(e,t,n,i){let a=e.findIndex(f=>f.id===n.blockId);if(a===-1)return 0;let c=e[a],s=t[a];if(c.kind!=="table"||s.kind!=="table")return 0;let l=0;for(let f=n.fromRow;f<n.toRow;f++){let d=c.rows[f];if(!d||d.cells.some(h=>h.blocks.some(m=>{let T=m.pmStart??0,y=m.pmEnd??T;return i>=T&&i<=y})))break;l+=s.rows[f]?.height??0;}return l}function yl(e){return Math.round(e/1440*96)}function Fu(e){let t=e?.columnCount??1;if(t<=1)return;let n=yl(e?.columnSpace??720);return {count:t,gap:n,equalWidth:e?.equalWidth??true,separator:e?.separator}}function Hg(e){let t=e.pageSize.w-e.margins.left-e.margins.right,n=e.columns;return !n||n.count<=1?t:Math.floor((t-(n.count-1)*n.gap)/n.count)}function Og(e,t,n){let{configs:i,breakIndices:a}=qa(e,t,n),c=0,s=[];for(let l=0;l<e.length;l++)s.push(Hg(i[c]??t)),c<a.length&&l===a[c]&&c++;return s}function Ng(e,t){let n=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.kind!=="paragraph")continue;let c=a;for(let s of c.runs){if(s.kind!=="image")continue;let l=s;if(!Ab(l))continue;let f=0,d=l.position,p=l.distTop??0,h=l.distBottom??0,m=l.distLeft??12,T=l.distRight??12;if(d?.vertical){let _=d.vertical;_.align==="top"&&_.relativeTo==="margin"?f=0:_.posOffset!==void 0&&(f=c$3(_.posOffset));}let y=f+l.height,F=0,R=0;if(d?.horizontal){let _=d.horizontal;if(_.align==="left")F=l.width+T;else if(_.align==="right")R=l.width+m;else if(_.posOffset!==void 0){let j=c$3(_.posOffset);j<t/2?F=j+l.width+T:R=t-j+m;}}else l.cssFloat==="left"?F=l.width+T:l.cssFloat==="right"&&(R=l.width+m);if(F>0||R>0){let _=d?.vertical?.relativeTo==="margin"||d?.vertical?.relativeTo==="page";n.push({leftMargin:F,rightMargin:R,topY:f-p,bottomY:y+h,anchorBlockIndex:i,isMarginRelative:_});}}}for(let i=0;i<e.length;i++){let a=e[i];if(a.kind!=="table")continue;let c=a,s=c.floating;if(!s)continue;let l=Kb(c,t,vl),f=l.totalWidth,d=l.totalHeight,p=s.leftFromText??12,h=s.rightFromText??12,m=s.topFromText??0,T=s.bottomFromText??0,y=0,F=0,R=0;s.tblpX!==void 0?R=s.tblpX:s.tblpXSpec?s.tblpXSpec==="left"||s.tblpXSpec==="inside"?R=0:s.tblpXSpec==="right"||s.tblpXSpec==="outside"?R=t-f:s.tblpXSpec==="center"&&(R=(t-f)/2):c.justification==="center"?R=(t-f)/2:c.justification==="right"&&(R=t-f),R<t/2?y=R+f+h:F=t-R+p;let _=s.tblpY??0,j=_+d;n.push({leftMargin:y,rightMargin:F,topY:_-m,bottomY:j+T,anchorBlockIndex:i});}return n}function vl(e,t,n,i){switch(e.kind){case "paragraph":{let a=e;if(!n||n.length===0){let s=ia$1(a,t);if(s)return s}let c=W(a,t,{floatingZones:n,paragraphYOffset:i??0});return (!n||n.length===0)&&ja(a,t,c),c}case "table":return Kb(e,t,vl);case "image":{let a=e;return {kind:"image",width:a.width??100,height:a.height??100}}case "textBox":{let a=e,c=a.margins??v,s=(a.width??w$1)-c.left-c.right,l=a.content.map(p=>W(p,s)),f=l.reduce((p,h)=>p+h.totalHeight,0),d=a.height??f+c.top+c.bottom;return {kind:"textBox",width:a.width??w$1,height:d,innerMeasures:l}}case "pageBreak":return {kind:"pageBreak"};case "columnBreak":return {kind:"columnBreak"};case "sectionBreak":return {kind:"sectionBreak"};default:x(e,"react PagedEditor measureBlock");}}function bl(e,t){let n=Array.isArray(t)?t[0]??0:t,i=Ng(e,n),a=i.filter(m=>m.isMarginRelative),c=i.filter(m=>!m.isMarginRelative),s=new Map;for(let m of a){let T=s.get(m.topY)??[];T.push(m),s.set(m.topY,T);}let l=[...c];for(let m of s.values()){let T=Math.min(...m.map(y=>y.anchorBlockIndex));for(let y of m)l.push({...y,anchorBlockIndex:T});}let f=new Map;for(let m of l){let T=f.get(m.anchorBlockIndex)??[];T.push({leftMargin:m.leftMargin,rightMargin:m.rightMargin,topY:m.topY,bottomY:m.bottomY}),f.set(m.anchorBlockIndex,T);}let d=new Set(l.map(m=>m.anchorBlockIndex)),p=0,h=[];return e.map((m,T)=>{d.has(T)&&(p=0,h=f.get(T)??[]);let y=h.length>0?h:void 0;try{let F=performance.now(),R=Array.isArray(t)?t[T]??n:t,_=vl(m,R,y,p),j=performance.now()-F;return j>500&&console.warn(`[measureBlocks] Block ${T} (${m.kind}) took ${Math.round(j)}ms`),"totalHeight"in _&&(m.kind==="table"&&m.floating||(p+=_.totalHeight)),_}catch(F){return console.error(`[measureBlocks] Error measuring block ${T} (${m.kind}):`,F),{totalHeight:20}}})}var zg=forwardRef(function(t,n){let{document:i,styles:a,theme:c,sectionProperties:s,finalSectionProperties:l,headerContent:f$1,footerContent:d$1,firstPageHeaderContent:p,firstPageFooterContent:h$1,readOnly:m$1=false,pageGap:T=Ig,zoom:y=1,onDocumentChange:F,onSelectionChange:R,externalPlugins:_=Eg,extensionManager:j,onReady:z,onRenderedDomContextReady:$,pluginOverlays:H,onHeaderFooterDoubleClick:V,hfEditMode:U,onBodyClick:X,className:le,style:Ee,commentsSidebarOpen:O=false,sidebarOverlay:Z,scrollContainerRef:fe,onHyperlinkClick:ue,onContextMenu:Te,onAnchorPositionsChange:be,onTotalPagesChange:Ie,resolvedCommentIds:Me}=t,me=useCallback(()=>fe&&typeof fe=="object"?fe.current:Ne.current,[fe]),Ne=useRef(null),re=useRef(null),ze=useRef(null),Fe=useRef(null),Ze=useRef(0),D=useRef(null),xt=useRef(null),{handlePMKeyDown:qe}=g({pagesContainerRef:re}),pt=useRef(()=>{}),Pt=useRef(R),it=useRef(F),mt=useRef(z),at=useRef($),Yn=useRef(null);Pt.current=R,it.current=F,mt.current=z,at.current=$;let[ye,Pn]=useState(null),Rn=useRef(0),Bt=useRef(Ie);Bt.current=Ie,useEffect(()=>{let g=ye?.pages.length??0;g!==Rn.current&&(Rn.current=g,Bt.current?.(g));},[ye]);let[We,Ht]=useState([]),[$e,Na]=useState([]),[Rt,q]=useState(false),[dn,Zt]=useState([]),[Or,Ve]=useState(null),[Nr,In]=useState(null),jn=useRef(false),Co=useCallback((g,I)=>{let P=g.tagName==="IMG"?g:g.querySelector("img"),M=(P??g).getBoundingClientRect();return {element:P??g,pmPos:I,width:Math.round(M.width/y),height:Math.round(M.height/y)}},[y]),un=useRef(false),pn=useRef(null),qn=useRef(false),Se=useRef(0),It=useRef(0),Xn=useRef(0),Zn=useRef({left:0,right:0}),Et=useRef(null),mn=useRef(false),vo=useRef(0),zr=useRef(0),En=useRef(0),Ot=useRef(0),Ye=useRef(null),Mt=useRef(false),Nt=useRef(false),Vo=useRef(0),_r=useRef(0),Jn=useRef(0),_e=useRef(0),st=useRef(null),zt=useRef(false),lt=useRef(null),fn=useRef(null),_t=useRef(null),Wr=5,[ft,Wt]=useState(null),Ct=useRef(null),$t=useCallback(()=>{Ct.current&&(clearTimeout(Ct.current),Ct.current=null);},[]);useEffect(()=>()=>{Ct.current&&clearTimeout(Ct.current);},[]);let At=useMemo(()=>new Er,[]),[Qn,za]=useState(0),gn=useMemo(()=>Pb(s),[s]),Ue=useMemo(()=>Qb(s),[s]),$r=useMemo(()=>Fu(s),[s]),{finalPageSize:Je,finalMargins:To,finalColumns:Uo}=useMemo(()=>{let g=l??s;return {finalPageSize:Pb(g),finalMargins:Qb(g),finalColumns:Fu(g)}},[l,s]),Vt=gn.w-Ue.left-Ue.right,So=useMemo(()=>new Aa({pageGap:T,showShadow:true,pageBackground:"#fff"}),[T]);xt.current=So;let gt=useCallback(g=>{let I=performance.now(),P=At.getStateSeq();At.onLayoutStart();let M=C=>{let k=Fe.current;if(k?.renderKind!=="incremental"||k.scrollTopSnapshot==null||C&&performance.now()-Ze.current>32)return;let E=re.current,A=E?me()??f(E):null;if(!A?.isConnected)return;let B=Math.max(1,A.scrollHeight-A.clientHeight),N=Math.min(Math.max(0,k.scrollTopSnapshot),B);Math.abs(A.scrollTop-N)>.5&&(A.scrollTop=N);};M(true);try{let C=performance.now(),k=gn.h-Ue.top-Ue.bottom,E=B(g.doc,{theme:c,pageContentHeight:k}),A=performance.now()-C;A>500&&console.warn(`[PagedEditor] toFlowBlocks took ${Math.round(A)}ms (${E.length} blocks)`),Ht(E),C=performance.now();let B$1=Og(E,{pageSize:gn,margins:Ue,columns:$r},{pageSize:Je,margins:To,columns:Uo}),N=bl(E,B$1);A=performance.now()-C,A>1e3&&console.warn(`[PagedEditor] measureBlocks took ${Math.round(A)}ms (${E.length} blocks)`),Na(N);let G=nb(E),J=G.length>0&&i?.package?.footnotes,oe={section:"header",pageSize:gn,margins:Ue},ie={section:"footer",pageSize:gn,margins:Ue},ce={styles:a,theme:c,measureBlocks:bl},ge=yb(f$1,Vt,oe,ce),Le=yb(d$1,Vt,ie,ce),Ke=s?.titlePg===!0,bt=Ke?yb(p,Vt,oe,ce):void 0,hn=Ke?yb(h$1,Vt,ie,ce):void 0,Xe=Ue.header??48,nt=Ue.footer??48,Jo=Ue.top-Xe,Gt=Ue.bottom-nt,bn=Oe=>Oe?Oe.visualBottom??Oe.height:0,Tt=Oe=>Oe?Math.max((Oe.visualBottom??Oe.height)-(Oe.visualTop??0),Oe.height):0,jr=Math.max(bn(ge),bn(bt)),qr=Math.max(Tt(Le),Tt(hn)),Xr=jr>Jo,Zr=qr>Gt,Jr=Ue,Qr=To;if(Xr||Zr){let Oe=ke=>{let Dt={...ke};return Xr&&(Dt.top=Math.max(ke.top,Xe+jr)),Zr&&(Dt.bottom=Math.max(ke.bottom,nt+qr)),Dt};Jr=Oe(Ue),Qr=Oe(To);for(let ke of E){if(ke.kind!=="sectionBreak")continue;let Dt=ke;Dt.margins&&(Dt.margins=Oe(Dt.margins));}}C=performance.now();let yn,ei=new Map,Qo=new Map,Va=l?.sectionStart,Po={pageSize:gn,margins:Jr,finalPageSize:Je,finalMargins:Qr,columns:Uo,bodyBreakType:Va,pageGap:T};if(J){let Oe=ra$1(E,N,Po);Qo=rb(i.package.footnotes,G,Vt,{styles:a??void 0,theme:c??null,measureBlocks:bl});let ke=tb({blocks:E,measures:N,layoutOpts:Po,footnoteRefs:G,footnoteContentMap:Qo,initialLayout:Oe});yn=ke.layout,ei=ke.pageFootnoteMap;}else yn=ra$1(E,N,Po);if(A=performance.now()-C,A>500&&console.warn(`[PagedEditor] layoutDocument took ${Math.round(A)}ms (${yn.pages.length} pages)`),Pn(yn),re.current&&xt.current){C=performance.now(),Fe.current=null,Ze.current=0;let Oe=re.current,ke=me()??f(Oe),Dt=0,ro=null,ni=0;if(ke?.isConnected){ke.style.overflowAnchor||ke.style.setProperty("overflow-anchor","none");let Qe=Math.max(1,ke.scrollHeight-ke.clientHeight);Dt=ke.scrollTop/Qe;let tn=g.selection.head;if(ro=Pg(Oe,tn),ro!=null){let xn=Ka(Oe,ro);if(xn){let Ua=xn.getBoundingClientRect(),Ga=ke.getBoundingClientRect();ni=Ua.top-Ga.top;}else ro=null;}}let er=new Map;for(let Qe=0;Qe<E.length;Qe++){let tn=E[Qe],xn=N[Qe];tn&&xn&&er.set(String(tn.id),{block:tn,measure:xn});}xt.current.setBlockLookup(er);let oi=J?ub(ei,Qo,i):void 0,Ro=Fb(yn.pages,re.current,{pageGap:T,showShadow:!0,pageBackground:"#fff",blockLookup:er,headerContent:ge,footerContent:Le,firstPageHeaderContent:bt,firstPageFooterContent:hn,titlePg:Ke,headerDistance:s?.headerDistance?yl(s.headerDistance):void 0,footerDistance:s?.footerDistance?yl(s.footerDistance):void 0,pageBorders:s?.pageBorders,theme:c,footnotesByPage:oi?.size?oi:void 0,resolvedCommentIds:Me}),Io=ze.current;if(Io){let Qe=Rg(yn,T);Io.style.minHeight=`${Qe}px`,y!==1?Io.style.marginBottom=`${Qe*(y-1)}px`:Io.style.marginBottom="";}if(ke?.isConnected){let Qe=Dt;if(Ro==="incremental"){let xn=Math.max(1,ke.scrollHeight-ke.clientHeight);Qe=ke.scrollTop/xn;}let tn=Ro==="incremental"?ke.scrollTop:null;Fe.current={renderKind:Ro,ratio:Qe,scrollTopSnapshot:tn,domAnchorPmStart:ro,domAnchorOffsetInScroller:ni},Ro==="incremental"&&tn!=null&&(Ze.current=performance.now());}if(A=performance.now()-C,A>500&&console.warn(`[PagedEditor] renderPages took ${Math.round(A)}ms`),$){let Qe=b$1(re.current,y);$(Qe);}}else Fe.current=null,Ze.current=0;if(be){let Oe=Lg(D.current?.getView()??null,yn,E,N,T);be(Oe);}M(!1);let ti=performance.now()-I;ti>2e3&&console.warn(`[PagedEditor] Layout pipeline took ${Math.round(ti)}ms total (${E.length} blocks, ${N.length} measures)`);}catch(C){console.error("[PagedEditor] Layout pipeline error:",C);}At.onLayoutComplete(P),M(false);},[Vt,$r,gn,Ue,Je,To,Uo,T,y,At,f$1,d$1,p,h$1,s,l,$,i,Me,me]);useLayoutEffect(()=>{let g=Fe.current;if(!g)return;Fe.current=null,Ze.current=0;let I=re.current,P=me()??(I?f(I):null);if(!I||!P?.isConnected)return;let{renderKind:M,ratio:C,scrollTopSnapshot:k,domAnchorPmStart:E,domAnchorOffsetInScroller:A}=g,B=()=>{let oe=Math.max(1,P.scrollHeight-P.clientHeight);P.scrollTop=C*oe;},N=()=>{if(M!=="incremental"||k==null)return false;let oe=Math.max(1,P.scrollHeight-P.clientHeight);return P.scrollTop=Math.min(Math.max(0,k),oe),true},G=()=>{if(!N()){if(M!=="incremental"&&E!=null){let oe=Ka(I,E);if(oe){let ie=P.getBoundingClientRect(),ce=oe.getBoundingClientRect().top-ie.top;P.scrollTop+=A-ce;return}}B();}};G();let J=requestAnimationFrame(()=>{P.isConnected&&G();});return ()=>cancelAnimationFrame(J)},[ye,me]);let vt=useRef(null),Jt=useCallback(g=>{if(vt.current){vt.current.state=g;return}let I=requestAnimationFrame(()=>{let P=vt.current;vt.current=null,P&&gt(P.state);});vt.current={rafId:I,state:g};},[gt]);useEffect(()=>()=>{vt.current&&(cancelAnimationFrame(vt.current.rafId),vt.current=null);},[]);let tt=useRef(gt);tt.current=gt;let ko=useCallback((g,I=1)=>{if(!re.current)return null;let P=re.current.parentElement?.querySelector('[data-testid="selection-overlay"]');if(!P)return null;let M=P.getBoundingClientRect(),C=Ha$1(re.current);for(let E of C){let A=Number(E.dataset.pmStart),B=Number(E.dataset.pmEnd);if(E.classList.contains("layout-run-tab")){if(g>=A&&g<B){let N=E.getBoundingClientRect(),G=E.closest(".layout-page"),J=G?Number(G.dataset.pageNumber)-1:0,oe=E.closest(".layout-line"),ie=oe?oe.offsetHeight:16;return {x:(N.left-M.left)/I,y:(N.top-M.top)/I,height:ie,pageIndex:J}}continue}if(g>=A&&g<=B&&E.firstChild?.nodeType===Node.TEXT_NODE){let N=E.firstChild,G=Math.min(g-A,N.length),J=E.ownerDocument;if(!J)continue;let oe=J.createRange();oe.setStart(N,G),oe.setEnd(N,G);let ie=oe.getBoundingClientRect(),ce=E.closest(".layout-page"),ge=ce?Number(ce.dataset.pageNumber)-1:0,Le=E.closest(".layout-line"),Ke=Le?Le.offsetHeight:16;return {x:(ie.left-M.left)/I,y:(ie.top-M.top)/I,height:Ke,pageIndex:ge}}}let k=Ia(re.current);for(let E of k){let A=E.closest(".layout-paragraph");if(!A)continue;let B=Number(A.dataset.pmStart),N=Number(A.dataset.pmEnd);if(g>=B&&g<=N){let G=E.getBoundingClientRect(),J=A.closest(".layout-page"),oe=J?Number(J.dataset.pageNumber)-1:0,ie=E.closest(".layout-line"),ce=ie?ie.offsetHeight:16;return {x:(G.left-M.left)/I,y:(G.top-M.top)/I,height:ce,pageIndex:oe}}}return null},[]),Ge=useCallback(g=>{let{from:I,to:P}=g.selection;if(Yn.current!==g&&(Yn.current=g,Pt.current?.(I,P)),re.current){let M=re.current.querySelectorAll(".layout-table-cell-selected");for(let E of Array.from(M))E.classList.remove("layout-table-cell-selected");let C=g.selection;if("$anchorCell"in C&&typeof C.forEachCell=="function"){let E=[];C.forEachCell((B,N)=>{E.push([N,N+B.nodeSize]);});let A=re.current.querySelectorAll(".layout-table-cell");for(let B of Array.from(A)){let N=B,G=N.dataset.pmStart;if(G!==void 0){let J=Number(G);for(let[oe,ie]of E)if(J>=oe&&J<ie){N.classList.add("layout-table-cell-selected");break}}}}}if(!(!ye||We.length===0))if(I===P){let M=ko(I,y);if(M)Ve(M);else {let C=re.current?.parentElement?.querySelector('[data-testid="selection-overlay"]'),k=re.current?.querySelector(".layout-page");if(C&&k){let E=C.getBoundingClientRect(),A=k.getBoundingClientRect(),B=Pa$1(ye,We,$e,I);Ve(B?{...B,x:B.x+(A.left-E.left)/y,y:B.y+(A.top-E.top)/y}:null);}else Ve(null);}Zt([]);}else {let M=re.current?.parentElement?.querySelector('[data-testid="selection-overlay"]');if(M&&re.current){let C=M.getBoundingClientRect(),k=[],E=Ha$1(re.current);for(let A of E){let B=Number(A.dataset.pmStart);if(Number(A.dataset.pmEnd)>I&&B<P){if(A.classList.contains("layout-run-tab")){let ce=A.getBoundingClientRect(),ge=A.closest(".layout-page"),Le=ge?Number(ge.dataset.pageNumber)-1:0;k.push({x:(ce.left-C.left)/y,y:(ce.top-C.top)/y,width:ce.width/y,height:ce.height/y,pageIndex:Le});continue}let G=null;if(A.firstChild?.nodeType===Node.TEXT_NODE?G=A.firstChild:A.firstChild?.nodeType===Node.ELEMENT_NODE&&A.firstChild.tagName==="A"&&A.firstChild.firstChild?.nodeType===Node.TEXT_NODE&&(G=A.firstChild.firstChild),!G)continue;let J=A.ownerDocument;if(!J)continue;let oe=Math.max(0,I-B),ie=Math.min(G.length,P-B);if(oe<ie){let ce=J.createRange();ce.setStart(G,oe),ce.setEnd(G,ie);let ge=ce.getClientRects();for(let Le of Array.from(ge)){let Ke=A.closest(".layout-page"),bt=Ke?Number(Ke.dataset.pageNumber)-1:0;k.push({x:(Le.left-C.left)/y,y:(Le.top-C.top)/y,width:Le.width/y,height:Le.height/y,pageIndex:bt});}}}}if(k.length>0)Zt(k);else {let A=re.current.querySelector(".layout-page");if(A){let B=A.getBoundingClientRect(),N=(B.left-C.left)/y,G=(B.top-C.top)/y,oe=Oa$1(ye,We,$e,I,P).map(ie=>({...ie,x:ie.x+N,y:ie.y+G}));Zt(oe);}else Zt([]);}}else Zt([]);Ve(null);}},[ye,We,$e,ko,y]),eo=useCallback((g,I)=>{if(za(P=>P+1),g.docChanged){At.incrementStateSeq(),Jt(I);let P=D.current?.getDocument();P&&it.current?.(P);}At.requestRender(),g.docChanged||Ge(I);},[Jt,Ge,At]),Go=useCallback(g=>{let{selection:I}=g;I instanceof NodeSelection&&I.node.type.name==="image"?(Zt([]),Ve(null)):At.isSafeToRender()&&Ge(g),requestAnimationFrame(()=>{let P=D.current?.getView();if(!P){In(null);return}let{selection:M}=P.state;if(M instanceof NodeSelection&&M.node.type.name==="image"){let C=M.from,k=re.current?Ka(re.current,C):null;if(k){In(Co(k,C));return}}jn.current||In(null);});},[Ge,y,Co,At]),ct=useCallback((g,I)=>{if(!re.current||!ye)return null;let P=La(re.current,g,I,y);if(P!==null)return P;let M=re.current.querySelectorAll(".layout-page"),C=-1,k=null;for(let J=0;J<M.length;J++){let ie=M[J].getBoundingClientRect();if(g>=ie.left&&g<=ie.right&&I>=ie.top&&I<=ie.bottom){C=J,k=ie;break}}if(C<0||!k)return null;let E=(g-k.left)/y,A=(I-k.top)/y,B=ye.pages[C];if(!B)return null;let N={pageIndex:C,page:B,pageY:A},G=va$1(N,We,$e,{x:E,y:A});if(!G)return null;if(G.fragment.kind==="table"){let J=xa$1(N,We,$e,{x:E,y:A});return Ea$1(G,J)}return Ea$1(G)},[ye,We,$e,y]),Qt=useCallback(g=>{let I=D.current?.getView();if(!I)return null;try{let P=I.state.doc.resolve(g);for(let M=P.depth;M>0;M--){let C=P.node(M);if(C.type.name==="tableCell"||C.type.name==="tableHeader")return P.before(M)}}catch{}return null},[]),Ko=useCallback(g=>el(g),[]),Mn=useRef(null);useEffect(()=>()=>{Mn.current?.abort(),Mn.current=null;},[]);let He=useCallback((g,I=false)=>{if(!Number.isInteger(g)||g<0)return;let P=re.current;if(!P)return;Mn.current?.abort();let M=new AbortController;Mn.current=M;let{signal:C}=M,k=()=>Ka(P,g);if(!I){let ge={block:"center",inline:"nearest",behavior:"smooth"},Le=k();if(Le){Le.scrollIntoView(ge);return}let Ke=ye,bt=We,hn=$e;if(!Ke||bt.length===0||hn.length!==bt.length)return;let Xe=null,nt=Pa$1(Ke,bt,hn,g);if(nt?Xe=nt.pageIndex:Xe=pa$1(Ke,g),Xe==null)return;let Gt=P.querySelectorAll(".layout-page")[Xe];if(!Gt)return;Gt.scrollIntoView(ge),hl(()=>{if(!P.isConnected)return;let bn=k();bn&&bn.scrollIntoView(ge);},C);return}let E=me()??f(P),A=()=>{let ge=k();return ge?(gl(ge,E),true):false};if(A())return;let B=ye,N=We,G=$e;if(!B||N.length===0||G.length!==N.length)return;let J=null,oe=Pa$1(B,N,G,g);if(oe?J=oe.pageIndex:J=pa$1(B,g),J==null)return;let ce=P.querySelectorAll(".layout-page")[J];ce&&(gl(ce,E),hl(()=>{if(!P.isConnected)return;let ge=k();ge?gl(ge,E):A();},C));},[ye,We,$e,me]),to=useCallback(g=>{if(!Number.isInteger(g)||g<1||!ye||g>ye.pages.length)return;let I=ye.pages[g-1];for(let M of I.fragments)if(typeof M.pmStart=="number"){He(M.pmStart,true);return}re.current?.querySelectorAll(".layout-page")[g-1]?.scrollIntoView({block:"center",inline:"nearest"});},[ye,He]),W=useCallback(g=>{let I=D.current?.getState();if(!I)return false;let P=c$1(I.doc,g);if(P==null||P<0)return false;He(P,true);let M=Mn.current?.signal;if(!M)return true;let C=I.doc.nodeAt(P),k=C?.isTextblock===true?Math.min(P+1+C.content.size,I.doc.content.size):Math.min(P+1,I.doc.content.size);return hl(()=>{D.current&&(D.current.setSelection(k),D.current.focus());},M),true},[He]),Yo=useCallback(g=>{if(!D.current)return;if(g.button===2){g.preventDefault();return}if(g.button!==0||(Wt(null),$t(),g.target.closest("a[href]")&&g.preventDefault(),m$1))return;if(U&&X){let k=g.target;if(!(k.closest(".layout-page-header")||k.closest(".layout-page-footer")||k.closest(".hf-inline-editor"))){g.preventDefault(),g.stopPropagation(),X();return}}if(!U){let k=g.target;if(k.closest(".layout-page-header")||k.closest(".layout-page-footer")){g.preventDefault(),D.current&&(D.current.setSelection(0),D.current.focus(),q(true));return}}let P=g.target;if(P.classList.contains("layout-table-resize-handle")){g.preventDefault(),g.stopPropagation(),qn.current=true,Se.current=g.clientX,Et.current=P,P.classList.add("dragging");let k=parseInt(P.dataset.columnIndex??"0",10);It.current=k,Xn.current=parseInt(P.dataset.tablePmStart??"0",10);let E=D.current.getView();if(E){let A=E.state.doc.resolve(Xn.current+1);for(let B=A.depth;B>=0;B--){let N=A.node(B);if(N.type.name==="table"){let G=N.attrs.columnWidths;G&&G[k]!==void 0&&G[k+1]!==void 0&&(Zn.current={left:G[k],right:G[k+1]});break}}}return}if(P.classList.contains("layout-table-row-resize-handle")||P.classList.contains("layout-table-edge-handle-bottom")){g.preventDefault(),g.stopPropagation(),mn.current=true,vo.current=g.clientY,Ye.current=P,Mt.current=P.dataset.isEdge==="bottom",P.classList.add("dragging");let k=parseInt(P.dataset.rowIndex??"0",10);zr.current=k,En.current=parseInt(P.dataset.tablePmStart??"0",10);let E=D.current.getView();if(E){let A=E.state.doc.resolve(En.current+1);for(let B=A.depth;B>=0;B--){let N=A.node(B);if(N.type.name==="table"){let G=null,J=0;if(N.forEach(oe=>{J===k&&(G=oe),J++;}),G){let oe=G.attrs.height;if(oe)Ot.current=oe;else {let ce=P.closest(".layout-table")?.querySelector(`[data-row-index="${k}"]`),ge=ce?ce.getBoundingClientRect().height:30;Ot.current=Math.round(ge*15);}}break}}}return}if(P.classList.contains("layout-table-edge-handle-right")){g.preventDefault(),g.stopPropagation(),Nt.current=true,Vo.current=g.clientX,st.current=P,P.classList.add("dragging");let k=parseInt(P.dataset.columnIndex??"0",10);_r.current=k,Jn.current=parseInt(P.dataset.tablePmStart??"0",10);let E=D.current.getView();if(E){let A=E.state.doc.resolve(Jn.current+1);for(let B=A.depth;B>=0;B--){let N=A.node(B);if(N.type.name==="table"){let G=N.attrs.columnWidths;G&&G[k]!==void 0&&(_e.current=G[k]);break}}}return}let M=Ko(P);if(M){g.preventDefault(),g.stopPropagation();let k=M.dataset.pmStart;if(k!==void 0){let E=parseInt(k,10);D.current.setNodeSelection(E),In(Co(M,E)),Zt([]),Ve(null);}D.current.focus(),q(true);return}In(null),g.preventDefault();let C=ct(g.clientX,g.clientY);if(C!==null){let k=Qt(C);lt.current=k,zt.current=false,fn.current=null,_t.current=null,un.current=true,pn.current=C,D.current.setSelection(C);}else {lt.current=null,zt.current=false;let k=D.current.getView();if(k){let E=Math.max(0,k.state.doc.content.size-1);D.current.setSelection(E),pn.current=E,un.current=true;}}D.current.focus(),q(true);},[ct,Qt,m$1,U,X,y,ue,$t]),_a=useCallback((g,I)=>{pt.current(g,I);},[]),{updateMousePosition:jo,stopAutoScroll:Vr}=h({pagesContainerRef:re,onScrollExtendSelection:_a});pt.current=(g,I)=>{if(!un.current||pn.current===null||!D.current)return;let P=ct(g,I);P!==null&&D.current.setSelection(pn.current,P);};let ne=useCallback(g=>{if(qn.current){g.preventDefault();let M=g.clientX-Se.current;if(Et.current){let C=parseFloat(Et.current.style.left);Et.current.style.left=`${C+M}px`,Se.current=g.clientX;let k=Math.round(M*15),E=300,A=Zn.current.left+k,B=Zn.current.right-k;A>=E&&B>=E&&(Zn.current={left:A,right:B});}return}if(mn.current){g.preventDefault();let M=g.clientY-vo.current;if(Ye.current){let C=parseFloat(Ye.current.style.top);Ye.current.style.top=`${C+M}px`,vo.current=g.clientY;let k=Math.round(M*15),E=200,A=Ot.current+k;A>=E&&(Ot.current=A);}return}if(Nt.current){g.preventDefault();let M=g.clientX-Vo.current;if(st.current){let C=parseFloat(st.current.style.left);st.current.style.left=`${C+M}px`,Vo.current=g.clientX;let k=Math.round(M*15),E=300,A=_e.current+k;A>=E&&(_e.current=A);}return}if(!un.current||pn.current===null||!D.current||!re.current)return;jo(g.clientX,g.clientY);let I=ct(g.clientX,g.clientY);if(I===null)return;if(lt.current!==null){if(zt.current){let C=Qt(I);if(C!==null){D.current.setCellSelection(lt.current,C);return}}let M=Qt(I);if(M!==null&&M!==lt.current){zt.current=true,D.current.setCellSelection(lt.current,M),_t.current=null;return}if(fn.current!==null&&I===fn.current){if(_t.current===null)_t.current=g.clientX;else if(Math.abs(g.clientX-_t.current)>=Wr){zt.current=true,D.current.setCellSelection(lt.current,lt.current),_t.current=null;return}}else _t.current=null,fn.current=I;}let P=pn.current;D.current.setSelection(P,I);},[ct,Qt,jo]),ht=useCallback(()=>{if(qn.current){qn.current=false,Et.current&&(Et.current.classList.remove("dragging"),Et.current=null);let g=D.current?.getView();if(g){let I=Xn.current,P=It.current,{left:M,right:C}=Zn.current,k=g.state.doc.resolve(I+1);for(let E=k.depth;E>=0;E--){let A=k.node(E);if(A.type.name==="table"){let B=k.before(E),N=g.state.tr,G=[...A.attrs.columnWidths];G[P]=M,G[P+1]=C,N.setNodeMarkup(B,void 0,{...A.attrs,columnWidths:G});let J=B+1;A.forEach(oe=>{let ie=J+1,ce=0;oe.forEach(ge=>{let Le=ge.attrs.colspan||1;if(ce===P||ce===P+1){let Ke=ce===P?M:C;N.setNodeMarkup(N.mapping.map(ie),void 0,{...ge.attrs,width:Ke,widthType:"dxa",colwidth:null});}ie+=ge.nodeSize,ce+=Le;}),J+=oe.nodeSize;}),g.dispatch(N);break}}}return}if(mn.current){mn.current=false,Ye.current&&(Ye.current.classList.remove("dragging"),Ye.current=null);let g=D.current?.getView();if(g){let I=En.current,P=zr.current,M=Ot.current,C=g.state.doc.resolve(I+1);for(let k=C.depth;k>=0;k--){let E=C.node(k);if(E.type.name==="table"){let A=C.before(k),B=g.state.tr,N=A+1,G=0;E.forEach(J=>{G===P&&B.setNodeMarkup(B.mapping.map(N),void 0,{...J.attrs,height:M,heightRule:"atLeast"}),N+=J.nodeSize,G++;}),g.dispatch(B);break}}}return}if(Nt.current){Nt.current=false,st.current&&(st.current.classList.remove("dragging"),st.current=null);let g=D.current?.getView();if(g){let I=Jn.current,P=_r.current,M=_e.current,C=g.state.doc.resolve(I+1);for(let k=C.depth;k>=0;k--){let E=C.node(k);if(E.type.name==="table"){let A=C.before(k),B=g.state.tr,N=[...E.attrs.columnWidths];N[P]=M,B.setNodeMarkup(A,void 0,{...E.attrs,columnWidths:N});let G=A+1;E.forEach(J=>{let oe=G+1,ie=0;J.forEach(ce=>{let ge=ce.attrs.colspan||1;ie===P&&B.setNodeMarkup(B.mapping.map(oe),void 0,{...ce.attrs,width:M,widthType:"dxa",colwidth:null}),oe+=ce.nodeSize,ie+=ge;}),G+=J.nodeSize;}),g.dispatch(B);break}}}return}un.current=false,zt.current=false,fn.current=null,_t.current=null,Vr();},[Vr]);useEffect(()=>(window.addEventListener("mousemove",ne),window.addEventListener("mouseup",ht),()=>{window.removeEventListener("mousemove",ne),window.removeEventListener("mouseup",ht);}),[ne,ht]);let An=useCallback(g=>{if(m$1||un.current||qn.current||mn.current||Nt.current||zt.current)return;let I=re.current;if(!I)return;let P=Ib({mouseX:g.clientX,mouseY:g.clientY,pagesContainer:I,target:g.target,hfEditMode:U??null});if(!P){Ct.current||(Ct.current=setTimeout(()=>{Wt(null),Ct.current=null;},Hb));return}let M=I.parentElement;if(!M)return;let C=M.getBoundingClientRect();Wt({type:P.type,x:P.clientX-C.left,y:P.clientY-C.top,cellPmPos:P.cellPmPos}),$t();},[m$1,$t,U]),Ut=useCallback(g=>{if(g.preventDefault(),g.stopPropagation(),!ft||!D.current)return;let I=D.current.getView();if(!I)return;let{type:P,cellPmPos:M}=ft,C=I.state.tr.setSelection(TextSelection.create(I.state.doc,M+1));I.dispatch(C),P==="row"?fo(I.state,I.dispatch):go(I.state,I.dispatch),Wt(null),D.current.focus();},[ft]),Ur=useCallback(g=>{let I=g.target.closest("a[href]");if(I){g.preventDefault();let P=I.getAttribute("href")||"";if(P.startsWith("#")){let M=P.substring(1);if(M&&D.current){let C=D.current.getView();if(C){let k=null;C.state.doc.descendants((E,A)=>{if(k!==null)return false;if(E.type.name==="paragraph"&&E.attrs.bookmarks?.some(N=>N.name===M))return k=A,false}),k!==null&&(He(k),D.current.setSelection(k+1));}}}else if(ue){let M=D.current?.getView();if(!(M&&M.state.selection.from!==M.state.selection.to)){let k=I.textContent||"",E=I.getAttribute("title")||void 0,A=I.getBoundingClientRect();ue({href:P,displayText:k,tooltip:E,anchorRect:A});}}return}if(g.detail===2&&V){let P=g.target,M=P.closest(".layout-page-header"),C=P.closest(".layout-page-footer");if(M||C){let k=P.closest("[data-page-number]"),E=k?Number(k.dataset.pageNumber):1;if(M){g.preventDefault(),g.stopPropagation(),V("header",E);return}if(C){g.preventDefault(),g.stopPropagation(),V("footer",E);return}}}if(g.detail===2&&D.current){let P=ct(g.clientX,g.clientY);if(P!==null){let M=Qt(P);if(M!==null){g.preventDefault(),g.stopPropagation(),D.current.setCellSelection(M,M);return}let C=D.current.getView();if(C){let{doc:k}=C.state,E=k.resolve(P),A=E.parent;if(A.isTextblock){let B=A.textContent,N=E.parentOffset,[G,J]=m(B,N),oe=E.start()+G,ie=E.start()+J;oe<ie&&D.current.setSelection(oe,ie);}}}}if(g.detail===3&&D.current){let P=ct(g.clientX,g.clientY);if(P!==null){let M=D.current.getView();if(M){let{doc:C}=M.state,k=C.resolve(P),E=k.start(k.depth),A=k.end(k.depth);D.current.setSelection(E,A);}}}},[ct,V,ue]),qo=useCallback(g=>{if(!Te)return;g.preventDefault();let I=D.current?.getView();if(!I)return;let P=G=>{let J=I.state.doc.nodeAt(G);if(!J||J.type.name!=="image")return null;let oe=J.attrs.wrapType??"inline",ie=J.attrs.cssFloat;return {pos:G,wrapType:oe,cssFloat:ie}},M=null,C=Qs(g.target);if(C&&(M=P(C.pos),M&&(M.inlinePositionEmu=Wo(C.imageEl,y))),!M){let G=I.state.selection;if(G instanceof NodeSelection&&G.node.type.name==="image"&&(M=P(G.from),M)){let J=re.current?.querySelector(`.layout-run-image[data-pm-start="${G.from}"]`);J&&(M.inlinePositionEmu=Wo(J,y));}}let{from:k,to:E}=I.state.selection,A=ct(g.clientX,g.clientY);A!==null&&(k===E||A<k||A>E)&&(D.current?.setSelection(A),D.current?.focus(),q(true));let B=D.current?.getState(),N=B?B.selection.from!==B.selection.to:false;Te({x:g.clientX,y:g.clientY,hasSelection:N,image:M});},[Te,ct,y]),Gr=useCallback(g=>{if(m$1)return;let I=g.target;I.closest(".docx-comments-sidebar")||I.closest(".docx-unified-sidebar")||(D.current?.focus(),q(true));},[m$1]),wo=useCallback(g=>{let I=g.relatedTarget;I&&Ne.current?.contains(I)||I?.closest('[role="toolbar"], [data-radix-popper-content-wrapper], [data-radix-select-content], .docx-table-options-dropdown')||q(false);},[]),en=useCallback((g,I,P)=>{let M=D.current?.getView();if(M)try{let C=M.state.doc.nodeAt(g);if(!C||C.type.name!=="image")return;let k=M.state.tr.setNodeMarkup(g,void 0,{...C.attrs,width:I,height:P});M.dispatch(k),D.current?.setNodeSelection(g);}catch{}},[]),Wa=useCallback(()=>{jn.current=true;},[]),no=useCallback(()=>{jn.current=false;},[]),Kr=useCallback((g,I,P)=>{let M=D.current?.getView();if(M)try{let C=M.state.doc.nodeAt(g);if(!C||C.type.name!=="image")return;if(C.attrs.displayMode==="float"||C.attrs.wrapType&&["square","tight","through"].includes(C.attrs.wrapType)){let E=re.current?.querySelectorAll(".layout-page");if(!E||E.length===0)return;let A=null;for(let ge of E){let Le=ge.getBoundingClientRect();if(P>=Le.top&&P<=Le.bottom){A=ge.querySelector(".layout-page-content");break}}if(A||(A=E[E.length-1].querySelector(".layout-page-content")),!A)return;let B=A.getBoundingClientRect(),N=(I-B.left)/y,G=(P-B.top)/y,J=d(N),oe=d(G),ie={horizontal:{posOffset:J,relativeTo:"margin"},vertical:{posOffset:oe,relativeTo:"margin"}},ce=M.state.tr.setNodeMarkup(g,void 0,{...C.attrs,position:ie});M.dispatch(ce),D.current?.setNodeSelection(g);}else {let E=ct(I,P);if(E===null||E===g||E===g+1)return;let A=M.state.tr;if(E<=g)A=A.delete(g,g+C.nodeSize),A=A.insert(E,C),D.current?.setNodeSelection(E);else {A=A.delete(g,g+C.nodeSize);let B=E-C.nodeSize;A=A.insert(Math.min(B,A.doc.content.size),C),D.current?.setNodeSelection(Math.min(B,A.doc.content.size-1));}M.dispatch(A);}}catch{}},[ct,y]),Xo=useCallback(()=>{jn.current=true;},[]),Yr=useCallback(()=>{jn.current=false;},[]),$a=useCallback(g=>{if(!m$1){if(D.current?.isFocused()||(D.current?.focus(),q(true)),g.key===" "&&!g.ctrlKey&&!g.metaKey&&!g.nativeEvent.isComposing){g.preventDefault();let I=D.current?.getView();if(I){let{from:P,to:M}=I.state.selection;I.someProp("handleTextInput",k=>k(I,P,M," "))||I.dispatch(I.state.tr.insertText(" "));}return}if(["PageUp","PageDown"].includes(g.key)&&!g.metaKey&&g.ctrlKey,g.key==="Home"&&(g.metaKey||g.ctrlKey)){let I=me();I&&(I.scrollTop=0);}if(g.key==="End"&&(g.metaKey||g.ctrlKey)){let I=me();I&&(I.scrollTop=I.scrollHeight);}}},[m$1,me]),oo=useCallback(g=>{m$1||g.target.closest(".docx-comments-sidebar")||g.target.closest(".docx-unified-sidebar")||D.current?.isFocused()||(D.current?.focus(),q(true));},[m$1]),dt=useCallback(g=>{gt(g.state),Ge(g.state),m$1||requestAnimationFrame(()=>{g.focus(),q(true);});},[gt,Ge,m$1]);useEffect(()=>{let g=()=>{let I=D.current?.getView();I&&(G$1(),na$1(),gt(I.state),Ge(I.state));};return window.document.fonts.addEventListener("loadingdone",g),()=>{window.document.fonts.removeEventListener("loadingdone",g);}},[]);let Zo=useRef(0);useEffect(()=>{if(Zo.current===0){Zo.current=1;return}let g=D.current?.getView();g&&tt.current(g.state);},[f$1,d$1,p,h$1]),useEffect(()=>{let g=Ne.current;if(!g)return;let I=new ResizeObserver(()=>{let P=D.current?.getState();P&&Ge(P);});return I.observe(g),()=>I.disconnect()},[Ge]),useImperativeHandle(n,()=>({getDocument(){return D.current?.getDocument()??null},getState(){return D.current?.getState()??null},getView(){return D.current?.getView()??null},focus(){D.current?.focus(),q(true);},blur(){D.current?.blur(),q(false);},isFocused(){return D.current?.isFocused()??false},dispatch(g){D.current?.dispatch(g);},undo(){return D.current?.undo()??false},redo(){return D.current?.redo()??false},setSelection(g,I){D.current?.setSelection(g,I);},getLayout(){return ye},relayout(){let g=D.current?.getState();g&&gt(g);},scrollToPosition:He,scrollToParaId:W,scrollToPage:to}),[ye,gt,He,W,to]),useEffect(()=>{let g=D.current?.getState();ye&&g&&Ge(g);},[ye,Ge]),useEffect(()=>{mt.current&&D.current&&mt.current({getDocument:()=>D.current?.getDocument()??null,getState:()=>D.current?.getState()??null,getView:()=>D.current?.getView()??null,focus:()=>{D.current?.focus(),q(true);},blur:()=>{D.current?.blur(),q(false);},isFocused:()=>D.current?.isFocused()??false,dispatch:g=>D.current?.dispatch(g),undo:()=>D.current?.undo()??false,redo:()=>D.current?.redo()??false,setSelection:(g,I)=>D.current?.setSelection(g,I),getLayout:()=>ye,relayout:()=>{let g=D.current?.getState();g&&gt(g);},scrollToPosition:He,scrollToParaId:W,scrollToPage:to});},[ye,gt,W,to]);let Dn=useMemo(()=>{if(!ye)return 1104;let g=ye.pages.length;return ye.pages.reduce((P,M)=>P+M.size.h,0)+(g-1)*T+48},[ye,T]);return jsxs("div",{ref:Ne,className:`ep-root paged-editor ${le??""}`,style:{...Mg,...Ee},tabIndex:0,onFocus:Gr,onBlur:wo,onKeyDown:$a,onMouseDown:oo,children:[jsx(Tu,{ref:D,document:i,styles:a,widthPx:Vt,readOnly:m$1,onTransaction:eo,onSelectionChange:Go,externalPlugins:_,extensionManager:j,onEditorViewReady:dt,onKeyDown:qe}),jsxs("div",{ref:ze,style:{...Ag,minHeight:Dn,marginBottom:y!==1?Dn*(y-1):void 0,transform:(()=>{let g=[];return O&&g.push(`translateX(-${176}px)`),y!==1&&g.push(`scale(${y})`),g.length>0?g.join(" "):void 0})(),transformOrigin:"top center",transition:"transform 0.2s ease"},children:[jsx("div",{ref:re,className:`paged-editor__pages${m$1?" paged-editor--readonly":""}${U?` paged-editor--hf-editing paged-editor--editing-${U}`:""}`,style:Dg,onMouseDown:Yo,onMouseMove:An,onClick:Ur,onContextMenu:qo,"aria-hidden":"true"}),jsx(ku,{selectionRects:dn,caretPosition:Or,isFocused:Rt,pageGap:T,readOnly:m$1}),jsx(Eu,{imageInfo:Nr,zoom:y,isFocused:Rt,onResize:en,onResizeStart:Wa,onResizeEnd:no,onDragMove:Kr,onDragStart:Xo,onDragEnd:Yr,onContextMenu:qo}),ft&&jsx("button",{type:"button",onMouseDown:Ut,onMouseEnter:$t,onMouseLeave:()=>Wt(null),style:{position:"absolute",left:ft.x,top:ft.y,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:ft.type==="row"?"Insert row below":"Insert column to the right","aria-label":ft.type==="row"?"Insert row below":"Insert column to the right",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"})})}),H&&jsx("div",{className:"paged-editor__plugin-overlays",style:Fg,children:H}),jsx(Du,{getView:()=>D.current?.getView()??null,getPagesContainer:()=>re.current,zoom:y,transactionVersion:Qn,syncCoordinator:At})]}),Z&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:Dn*y,pointerEvents:"none",overflow:"visible"},children:jsx("div",{style:{pointerEvents:"auto"},children:Z})})]})}),Bu=memo(zg);var Gg=lazy(()=>import('./FindReplaceDialog-RK3A7MSK.mjs')),Kg=lazy(()=>import('./HyperlinkDialog-QV3CVFQU.mjs')),Yg=lazy(()=>import('./TablePropertiesDialog-TZ7VCL6V.mjs').then(e=>({default:e.TablePropertiesDialog}))),jg=lazy(()=>import('./SplitCellDialog-GFWCFCTD.mjs')),qg=lazy(()=>import('./ImagePositionDialog-EGRH3HPP.mjs').then(e=>({default:e.ImagePositionDialog}))),Xg=lazy(()=>import('./ImagePropertiesDialog-67WLFIIZ.mjs').then(e=>({default:e.ImagePropertiesDialog}))),Zg=lazy(()=>import('./FootnotePropertiesDialog-ZKQXW3YO.mjs').then(e=>({default:e.FootnotePropertiesDialog}))),Jg=lazy(()=>import('./PageSetupDialog-ERUQDHAY.mjs').then(e=>({default:e.PageSetupDialog}))),Hu=[{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 th({active:e,onClick:t}){let{t:n}=c(),i=n("editor.toggleCommentsSidebar");return jsx(s,{onClick:t,active:e,title:i,ariaLabel:i,children:jsx(b,{name:"comment",size:20})})}function nh({agentPanel:e,closed:t,onClose:n}){let{t:i}=c();return jsx(Ds,{title:e.title??i("agentPanel.defaultTitle"),icon:e.icon,closeLabel:i("agentPanel.close"),resizeHandleLabel:i("agentPanel.resizeHandle"),defaultWidth:e.defaultWidth,minWidth:e.minWidth,maxWidth:e.maxWidth,onClose:n,closed:t,children:e.render({close:n})})}function oh({currentPage:e,totalPages:t,visible:n}){let{t:i}=c();return jsx("div",{style:{position:"absolute",right:24,top:"50%",transform:"translateY(-50%)",backgroundColor:"rgba(0, 0, 0, 0.7)",color:"white",padding:"6px 12px",borderRadius:"4px",fontSize:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontWeight:500,whiteSpace:"nowrap",pointerEvents:"none",zIndex:1e3,opacity:n?1:0,transition:"opacity 0.3s ease",userSelect:"none"},"aria-live":"polite",role:"status",children:i("viewer.pageIndicator",{current:e,total:t})})}function rh({active:e,onClick:t,badge:n}){let{t:i}=c(),a=i("agentPanel.toggle");return jsx(s,{onClick:t,active:e,title:a,ariaLabel:a,children:jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[jsx(b,{name:"agent-sparkle",size:20}),n!=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:n})]})})}function ih({onClick:e,topPx:t,scrollLeft:n=0}){let{t:i}=c();return jsx("button",{className:"docx-outline-nav",onClick:e,onMouseDown:a=>a.stopPropagation(),title:i("editor.showDocumentOutline"),style:{position:"absolute",left:Ps-n,top:t,zIndex:50,background:"transparent",border:"none",borderRadius:"50%",padding:6,cursor:"pointer",display:"flex",alignItems:"center"},children:jsx(b,{name:"format_list_bulleted",size:20,style:{color:"#444746"}})})}function ah({mode:e,onModeChange:t}){let{t:n}=c(),[i,a]=useState(false),[c$1,s]=useState(false),l=useRef(null),f=useRef(null),[d,p]=useState({top:0,left:0}),h=Hu.find(m=>m.value===e);return useEffect(()=>{let m=window.matchMedia("(max-width: 1400px)");s(m.matches);let T=y=>s(y.matches);return m.addEventListener("change",T),()=>m.removeEventListener("change",T)},[]),useEffect(()=>{if(!i||!l.current)return;let m=l.current.getBoundingClientRect();p({top:m.bottom+2,left:m.right-220});},[i]),useEffect(()=>{if(!i)return;let m=y=>{!l.current?.contains(y.target)&&!f.current?.contains(y.target)&&a(false);},T=y=>{y.key==="Escape"&&a(false);};return document.addEventListener("mousedown",m),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",T);}},[i]),jsxs("div",{style:{position:"relative"},children:[jsxs("button",{ref:l,type:"button",onMouseDown:m=>m.preventDefault(),onClick:()=>a(!i),title:`${n(h.labelKey)} (Ctrl+Shift+E)`,style:{display:"flex",alignItems:"center",gap:c$1?0:4,padding:c$1?"2px 4px":"2px 6px 2px 4px",border:"none",background:i?"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,{name:h.icon,size:18}),!c$1&&jsx("span",{children:n(h.labelKey)}),jsx(b,{name:"arrow_drop_down",size:16})]}),i&&jsx("div",{ref:f,onMouseDown:m=>m.preventDefault(),style:{position:"fixed",top:d.top,left:d.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:Hu.map(m=>jsxs("button",{type:"button",onMouseDown:T=>T.preventDefault(),onClick:()=>{t(m.value),a(false);},onMouseOver:T=>{T.currentTarget.style.backgroundColor="var(--doc-hover, #f3f4f6)";},onMouseOut:T=>{T.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,{name:m.icon,size:20}),jsxs("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[jsx("span",{style:{fontWeight:500},children:n(m.labelKey)}),jsx("span",{style:{fontSize:11,color:"var(--doc-text-muted, #9ca3af)"},children:n(m.descKey)})]}),m.value===e&&jsx(b,{name:"check",size:18,style:{marginLeft:"auto",color:"#1a73e8"}})]},m.value))})]})}var Oa=1,Br=-1,Ou=new Map;function Nu(e,t,n){if(!e||!t)return null;let i=e.querySelector(".paged-editor__pages");if(!i)return null;for(let a of Ja(i)){let c=Number(a.dataset.pmStart),s=Number(a.dataset.pmEnd);if(n>=c&&n<=s)return a.getBoundingClientRect().top-t.getBoundingClientRect().top}return null}function Hr(e,t,n){return {id:Oa++,author:t,date:new Date().toISOString(),content:[{type:"paragraph",formatting:{},content:[{type:"run",formatting:{},content:[{type:"text",text:e}]}]}],...n!==void 0&&{parentId:n}}}function sh(e){let t=e?.package?.document;return t?.sections?.[0]?.properties??t?.finalSectionProperties}function Ha(e,t){if(!t||!t.trim())return null;let n=null;return e.descendants((i,a)=>n!==null?false:i.isTextblock&&i.attrs?.paraId===t?(n={from:a,to:a+i.nodeSize},false):true),n}function zu(e){let t=[];return e.descendants(n=>!n.isText||!n.text?true:n.marks.some(i=>i.type.name==="insertion")?false:(t.push(n.text),true)),t.join("")}function Tl(e,t,n){if(t>=n)return "";let i=[];return e.nodesBetween(t,n,(a,c)=>{if(!a.isText||!a.text||a.marks.some(f=>f.type.name==="insertion"))return;let s=Math.max(t,c),l=Math.min(n,c+a.text.length);s<l&&i.push(a.text.slice(s-c,l-c));}),i.join("")}function Sl(e,t,n,i){if(!i)return null;let a="",c=[];e.nodesBetween(t,n,(h,m)=>{!h.isText||!h.text||h.marks.some(T=>T.type.name==="insertion")||(c.push({pos:m,len:h.text.length}),a+=h.text);});let s=a.indexOf(i);if(s===-1||a.indexOf(i,s+1)!==-1)return null;let f=0,d=t,p=t;for(let h of c){let m=f+h.len;if(f<=s&&s<m&&(d=h.pos+(s-f)),f<=s+i.length&&s+i.length<=m){p=h.pos+(s+i.length-f);break}f=m;}return {from:d,to:p}}var wl=forwardRef(function({documentBuffer:t,document:n$1,onSave:i,author:a$4="User",onChange:c$1,onSelectionChange:s,onError:l$1,onFontsLoaded:f,theme:d,showToolbar:p$1=true,showZoomControl:h=true,showMarginGuides:m=false,marginGuideColor:T,showRuler:y=false,rulerUnit:F$1="inch",initialZoom:R=1,readOnly:_=false,disableFindReplaceShortcuts:j$1=false,toolbarExtra:z,className:$="",style:H,placeholder:V,loadingIndicator:U,showOutline:X=false,showOutlineButton:le=true,fontFamilies:Ee,showPrintButton:O=true,showModeSwitcher:Z=true,showCommentsSidebarToggle:fe=true,printOptions:ue,onPrint:Te,onCopy:be,onCut:Ie,onPaste:Me,mode:me,onModeChange:Ne,onCommentAdd:re,onCommentResolve:ze,onCommentDelete:Fe,onCommentReply:Ze,comments:D,onCommentsChange:xt,externalPlugins:qe,externalContent:pt=false,onEditorViewReady:Pt,onRenderedDomContextReady:it,pluginOverlays:mt,pluginSidebarItems:at,pluginRenderedDomContext:Yn,renderLogo:ye,documentName:Pn,onDocumentNameChange:Rn,documentNameEditable:Bt=true,renderTitleBarRight:We,i18n:Ht,agentPanel:$e},Na){let{t:Rt}=c(),[q,dn]=useState({isLoading:!!t&&!pt,parseError:null,zoom:R,selectionFormatting:{},paragraphIndentLeft:0,paragraphIndentRight:0,paragraphFirstLineIndent:0,paragraphHangingIndent:false,paragraphTabs:null,pmTableContext:null,pmImageContext:null}),[Zt,Or]=useState(false),[Ve,Nr]=useState({isOpen:false,initialRows:1,initialCols:2,minRows:1,minCols:1,source:null,capturedCellRow:null,capturedCellCol:null}),[In,jn]=useState(false),[Co,un]=useState(false),[pn,qn]=useState(false),[Se,It]=useState(null),[Xn,Zn]=useState(false),[Et,mn]=useState(X),vo=useRef(false);vo.current=Et;let[zr,En]=useState([]),[Ot,Ye]=useState(false),[Mt,Nt]=useState(null),[Vo,_r]=useState([]),Jn=D!==void 0,_e=Jn?D:Vo,[st,zt]=useState(null),{entries:lt,commentToRevision:fn}=md(st),[_t,Wr]=useState(Ou),[ft,Wt]=useState(false),[Ct,$t]=useState(null),[At,Qn]=useState(null),[za,gn]=useState(me??"editing"),Ue=me??za,$r=r=>{me||gn(r),Ne?.(r);},Je=_||Ue==="viewing",[To,Uo]=useState(false),Vt=$e?.open!==void 0,So=$e?Vt?!!$e.open:To:false,gt=useCallback(r=>{$e?.onOpenChange?.(r),Vt||Uo(r);},[$e,Vt]),[vt,Jt]=useState(null),[tt,ko]=useState({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null}),Ge=useRef(null),eo=useRef(_e);eo.current=_e;let Go=useRef(ft);Go.current=ft;let ct=useRef(Fe);ct.current=Fe;let Qt=useRef(new Set),Ko=useRef(new Set),Mn=useRef(xt);Mn.current=xt;let He=useCallback(r=>{let o=typeof r=="function"?r(eo.current):r;o!==eo.current&&(Jn||(eo.current=o,_r(o)),Mn.current?.(o));},[Jn]);useEffect(()=>{fn.size!==0&&He(r=>{let o=false,u=r.map(b=>{if(b.parentId!=null)return b;let x=fn.get(b.id);return x!=null?(o=true,{...b,parentId:x}):b});return o?u:r});},[fn,He]);let to=useCallback(()=>{if(Go.current)return;let r=ne.current?.getView();if(!r)return;let{doc:o,schema:u}=r.state,b=u.marks.comment;if(!b)return;let x=new Set;o.descendants(S=>{for(let L of S.marks)if(L.type===b){let Q=L.attrs.commentId;Q!==Br&&x.add(Q);}});let w=eo.current,v=new Set;for(let S of w)S.parentId==null&&!x.has(S.id)&&v.add(S.id);if(v.size!==0){for(let S of w)v.has(S.id)&&ct.current?.(S);He(S=>S.filter(L=>!v.has(L.id)&&!v.has(L.parentId)));}},[]);useEffect(()=>()=>{Ge.current&&clearTimeout(Ge.current);},[]),useEffect(()=>{if(mn(X),X){let r=ne.current?.getView();r&&En(p(r.state.doc));}},[X]);let W=d$1(n$1||null,{maxEntries:100,groupingInterval:500,enableKeyboardShortcuts:true}),Yo=useRef(false);useEffect(()=>{if(Yo.current)return;let r=W.state;if(!r)return;let o=r.package?.document?.comments;if(o&&o.length>0){He(o),Ye(true),Yo.current=true;let u=o.reduce((x,w)=>Math.max(x,w.id),0),b=ne.current?.getView();b&&b.state.doc.descendants(x=>{for(let w of x.marks)w.attrs.revisionId!=null&&(u=Math.max(u,w.attrs.revisionId));}),u>=Oa&&(Oa=u+1);}},[W.state]);let _a$1=useMemo(()=>{let r=new ab($a());return r.buildSchema(),r.initializeRuntime(),r},[]),jo=useMemo(()=>Vs(Ue==="suggesting",a$4),[]),Vr=useMemo(()=>[jo,...qe??[]],[jo,qe]),ne=useRef(null),ht=useRef(null),An=useRef(null),Ut=useRef(null),Ur=useRef(null),qo=useRef(null),Gr=useRef(null),wo=useRef(null),en=useRef(null),Wa$1=useRef(null),no=useRef(null),[Kr,Xo]=useState(0),[Yr,$a$1]=useState(0),oo=useRef(W.state);oo.current=W.state;let dt=useRef({style:"single",size:4,color:{rgb:"000000"}}),Zo=useRef(null),Dn=useCallback(r=>{let o=Zo.current;if(o&&o.styles===r)return o.resolver;let u=db(r);return Zo.current={styles:r,resolver:u},u},[]),[g,I]=useState({currentPage:1,totalPages:1,visible:false}),P=useRef(null),M=useCallback(r=>{if(Wa$1.current=r,no.current&&(no.current.disconnect(),no.current=null),!r){Xo(0);return}Xo(r.offsetHeight);let o=new ResizeObserver(()=>{Xo(r.offsetHeight);});o.observe(r),no.current=o;},[]);useEffect(()=>()=>{no.current?.disconnect();},[]),useEffect(()=>{let r=en.current;if(!r)return;let o=0,u=()=>{o=0,$a$1(r.scrollLeft);},b=()=>{o===0&&(o=requestAnimationFrame(u));};return u(),r.addEventListener("scroll",b,{passive:true}),()=>{r.removeEventListener("scroll",b),o!==0&&cancelAnimationFrame(o);}},[q.isLoading]);let C=useCallback(()=>Se&&ht.current?ht.current.getView():ne.current?.getView(),[Se]),k=useCallback(()=>{Se&&ht.current?ht.current.focus():ne.current?.focus();},[Se]),E=useCallback(()=>{Se&&ht.current?ht.current.undo():ne.current?.undo();},[Se]),A$1=useCallback(()=>{Se&&ht.current?ht.current.redo():ne.current?.redo();},[Se]),B=m$1(),N=m$2(),[G$1,J]=useState(false),oe=useCallback(()=>J(true),[]),[ie,ce]=useState(null),ge=useRef(0),Le=useCallback(()=>{Yo.current=false,hn.current=false,He([]),En([]),Ye(false),Wt(false),$t(null),Qn(null),Jt(null),It(null),Wr(Ou),B.setMatches([],0),Ge.current&&(clearTimeout(Ge.current),Ge.current=null);},[B.setMatches,He]),Ke=useCallback(r=>{Le(),W.reset(r),dn(o=>({...o,isLoading:false,parseError:null})),d$2(r).catch(o=>{console.warn("Failed to load document fonts:",o);});},[Le,W]),bt=useCallback(async r=>{let o=++ge.current;Le(),dn(u=>({...u,isLoading:true,parseError:null}));try{let u=await a(r);if(ge.current!==o)return;Ke(u);}catch(u){if(ge.current!==o)return;let b=u instanceof Error?u.message:"Failed to parse document";dn(x=>({...x,isLoading:false,parseError:b})),l$1?.(u instanceof Error?u:new Error(b));}},[Le,Ke,l$1]);useEffect(()=>{if(!pt){if(!t){n$1&&Ke(n$1);return}bt(t);}},[t,n$1,pt]),useEffect(()=>{W.state?An.current=new b$2(W.state):An.current=null;},[W.state]),useEffect(()=>{if(q.isLoading||!W.state)return;let r=ne.current?.getView();r&&zt(r.state);},[q.isLoading,W.state]);let hn=useRef(false);useEffect(()=>{hn.current||q.isLoading||!st||(hn.current=true,lt.length>0&&Ye(true));},[st,q.isLoading,lt.length]),useEffect(()=>b$3(()=>{f?.();}),[f]),useEffect(()=>{let r=ne.current?.getView();r&&Us(Ue==="suggesting",r.state,r.dispatch,a$4);},[Ue,a$4]);let Xe=useCallback(r=>(W.push(r),r),[W]),nt=useCallback(r=>{Xe(r),c$1?.(r);for(let u of Qt.current)try{u(r);}catch(b){console.error("contentChange subscriber threw:",b);}if(vo.current){let u=ne.current?.getView();u&&En(p(u.state.doc));}let o=ne.current?.getView();o&&zt(o.state),Ge.current&&clearTimeout(Ge.current),Ge.current=setTimeout(to,300);},[c$1,Xe,to]),Jo=useRef(false),Gt=useCallback(()=>{let r=ne.current?.getView();if(!r)return;if(Go.current||Jo.current){Jt(null);return}let{from:o,to:u}=r.state.selection;if(o===u){Jt(null);return}let b=en.current,x=wo.current;if(!b||!x)return;let w=Nu(b,x,o);if(w==null)return;let S=b.querySelector(".paged-editor__pages")?.querySelector(".layout-page"),L=S?S.getBoundingClientRect().right-x.getBoundingClientRect().left:x.getBoundingClientRect().width/2+408;Jt({top:w,left:L});},[]);Jo.current=Je,useEffect(()=>{let r=en.current;if(!r)return;let o=new ResizeObserver(()=>Gt());o.observe(r);let u=()=>Gt();return window.addEventListener("resize",u),()=>{o.disconnect(),window.removeEventListener("resize",u);}},[q.isLoading,Gt]),useEffect(()=>{Gt();},[q.zoom,Gt]);let bn=useCallback(r=>{let o=C();if(o){let{from:we,to:Pe}=o.state.selection;Ur.current={from:we,to:Pe};}let u=null;if(o&&(u=Wa(o.state),u.isInTable||(u=null)),u?.cellBorderColor){let we=b$4(u.cellBorderColor,d);we&&(dt.current={...dt.current,color:{rgb:we}});}let b=null;if(o){let we=o.state.selection,Pe=we.node;Pe?.type.name==="image"&&(b={pos:we.from,wrapType:Pe.attrs.wrapType??"inline",displayMode:Pe.attrs.displayMode??"inline",cssFloat:Pe.attrs.cssFloat??null,transform:Pe.attrs.transform??null,alt:Pe.attrs.alt??null,borderWidth:Pe.attrs.borderWidth??null,borderColor:Pe.attrs.borderColor??null,borderStyle:Pe.attrs.borderStyle??null,width:Pe.attrs.width??null,height:Pe.attrs.height??null});}if(!r){Jt(null),dn(we=>({...we,selectionFormatting:{},pmTableContext:u,pmImageContext:b}));return}let{textFormatting:x,paragraphFormatting:w}=r,v=x.fontFamily?.ascii||x.fontFamily?.hAnsi,S=x.fontSize;if(!v||!S){let we=oo.current,Pe=r.styleId;if(we?.package.styles&&Pe){let Ln=Dn(we.package.styles).resolveParagraphStyle(Pe);!v&&Ln.runFormatting?.fontFamily&&(v=Ln.runFormatting.fontFamily.ascii||Ln.runFormatting.fontFamily.hAnsi),!S&&Ln.runFormatting?.fontSize&&(S=Ln.runFormatting.fontSize);}}let L=b$4(x.color,d),Q=L?`#${L}`:void 0,te=w.numPr,se=te?{type:te.numId===1?"bullet":"numbered",level:te.ilvl??0,isInList:true,numId:te.numId}:void 0,Ft={bold:x.bold,italic:x.italic,underline:!!x.underline,strike:x.strike,superscript:x.vertAlign==="superscript",subscript:x.vertAlign==="subscript",fontFamily:v,fontSize:S,color:Q,highlight:x.highlight,alignment:w.alignment,lineSpacing:w.lineSpacing,listState:se,styleId:r.styleId??void 0,indentLeft:w.indentLeft,bidi:!!w.bidi};dn(we=>({...we,selectionFormatting:Ft,paragraphIndentLeft:w.indentLeft??0,paragraphIndentRight:w.indentRight??0,paragraphFirstLineIndent:w.indentFirstLine??0,paragraphHangingIndent:w.hangingIndent??false,paragraphTabs:w.tabs??null,pmTableContext:u,pmImageContext:b})),Gt(),s?.(r);for(let we of Ko.current)try{we(r);}catch(Pe){console.error("selectionChange subscriber threw:",Pe);}},[s,ft,Je,C,d]),Tt=a$1({document:W.state,onChange:nt,onSelectionChange:r=>{}});useEffect(()=>{let r=o=>{let b=navigator.platform.toUpperCase().indexOf("MAC")>=0?o.metaKey:o.ctrlKey;if(!b&&!o.shiftKey&&!o.altKey&&(o.key==="Delete"||o.key==="Backspace")){let x=ne.current?.getView();if(x){let w=x.state.selection;if("$anchorCell"in w&&typeof w.forEachCell=="function"){let S=Wa(x.state);if(S.isInTable&&S.table){let L=0;S.table.descendants(te=>{(te.type.name==="tableCell"||te.type.name==="tableHeader")&&(L+=1);});let Q=0;if(w.forEachCell(()=>{Q+=1;}),L>0&&Q>=L){o.preventDefault(),Pr(x.state,x.dispatch);return}}}}if(Tt.state.tableIndex!==null){o.preventDefault(),Tt.handleAction("deleteTable");return}}if(b&&!o.shiftKey&&!o.altKey){if(o.key.toLowerCase()==="f"){if(j$1)return;o.preventDefault();let x=window.getSelection(),w=x&&!x.isCollapsed?x.toString():"";B.openFind(w);}else if(o.key.toLowerCase()==="h"){if(j$1)return;o.preventDefault();let x=window.getSelection(),w=x&&!x.isCollapsed?x.toString():"";B.openReplace(w);}else if(o.key.toLowerCase()==="k"){o.preventDefault();let x=ne.current?.getView();if(x){let w=Ua(x.state),v=Ta$1(x.state);v?N.openEdit({url:v.href,displayText:w,tooltip:v.tooltip}):N.openInsert(w);}}}};return document.addEventListener("keydown",r),()=>{document.removeEventListener("keydown",r);}},[j$1,B,N,Tt]);let jr=useCallback((r,o)=>{let u=C();u&&(aa(r,o)(u.state,u.dispatch),k());},[C,k]),qr=useCallback(()=>{let r=C();r&&(Pa(r.state,r.dispatch),k());},[C,k]),Xr=useCallback(()=>{let r=C();r&&(ia(r.state,r.dispatch),k());},[C,k]),Zr=useCallback(()=>{mn(r=>{if(!r){let o=ne.current?.getView();o&&En(p(o.state.doc));}return !r});},[]),Jr=useCallback(r=>{ne.current?.scrollToPosition(r),ne.current?.setSelection(r+1),ne.current?.focus();},[]),Qr=useCallback(()=>{qo.current?.click();},[]),yn=useCallback(r=>{let o=r.target.files?.[0];if(!o)return;let u=C();if(!u)return;let b=new FileReader;b.onload=()=>{let x=b.result,w=new Image;w.onload=()=>{let v=w.naturalWidth,S=w.naturalHeight,L=612;if(v>L){let we=L/v;v=L,S=Math.round(S*we);}let Q=`rId_img_${Date.now()}`,te=u.state.schema.nodes.image.create({src:x,alt:o.name,width:v,height:S,rId:Q,wrapType:"inline",displayMode:"inline"}),{from:se}=u.state.selection,Ft=u.state.tr.insert(se,te);u.dispatch(Ft.scrollIntoView()),k();},w.src=x;},b.readAsDataURL(o),r.target.value="";},[C,k]),ei=useCallback(r=>{let o=C();if(!o||!q.pmImageContext)return;let u=q.pmImageContext.pos,b=o.state.doc.nodeAt(u);if(!b||b.type.name!=="image")return;let x=nl(r);if(!x)return;let w;if(b.attrs.wrapType==="inline"&&x!=="inline"){let v=document.querySelector(`.layout-run-image[data-pm-start="${u}"]`),S=v?Wo(v,q.zoom):void 0;S&&(w={initialPositionEmu:S});}Ra(u,x,w)(o.state,o.dispatch),k();},[C,k,q.pmImageContext,q.zoom]),Qo=useCallback(r=>{let o=C();if(!o||!q.pmImageContext)return;let u=q.pmImageContext.pos,b=o.state.doc.nodeAt(u);if(!b||b.type.name!=="image")return;let x=b.attrs.transform||"",w=x.match(/rotate\((-?\d+(?:\.\d+)?)deg\)/),v=w?parseFloat(w[1]):0,S=/scaleX\(-1\)/.test(x),L=/scaleY\(-1\)/.test(x);switch(r){case "rotateCW":v=(v+90)%360;break;case "rotateCCW":v=(v-90+360)%360;break;case "flipH":S=!S;break;case "flipV":L=!L;break}let Q=[];v!==0&&Q.push(`rotate(${v}deg)`),S&&Q.push("scaleX(-1)"),L&&Q.push("scaleY(-1)");let te=Q.length>0?Q.join(" "):null,se=o.state.tr.setNodeMarkup(u,void 0,{...b.attrs,transform:te});o.dispatch(se.scrollIntoView()),k();},[C,k,q.pmImageContext]),Va$1=useCallback(r=>{let o=C();if(!o||!q.pmImageContext)return;let u=q.pmImageContext.pos,b=o.state.doc.nodeAt(u);if(!b||b.type.name!=="image")return;let x=o.state.tr.setNodeMarkup(u,void 0,{...b.attrs,position:{horizontal:r.horizontal,vertical:r.vertical},distTop:r.distTop??b.attrs.distTop,distBottom:r.distBottom??b.attrs.distBottom,distLeft:r.distLeft??b.attrs.distLeft,distRight:r.distRight??b.attrs.distRight});o.dispatch(x.scrollIntoView()),k();},[C,k,q.pmImageContext]),Po=useCallback(()=>{un(true);},[]),ti=useCallback(r=>{let o=C();if(!o||!q.pmImageContext)return;let u=q.pmImageContext.pos,b=o.state.doc.nodeAt(u);if(!b||b.type.name!=="image")return;let x=o.state.tr.setNodeMarkup(u,void 0,{...b.attrs,alt:r.alt??null,borderWidth:r.borderWidth??null,borderColor:r.borderColor??null,borderStyle:r.borderStyle??null,width:r.width??null,height:r.height??null});o.dispatch(x.scrollIntoView()),k();},[C,k,q.pmImageContext]),Oe=useCallback((r,o)=>{if(!W.state?.package)return;let u={...W.state.package.document,finalSectionProperties:{...W.state.package.document.finalSectionProperties,footnotePr:r,endnotePr:o}};Xe({...W.state,package:{...W.state.package,document:u}});},[W,Xe]),ke=useCallback(()=>{let r=C(),o=r?Gs(r.state):null,u=o?null:Tt.getSplitCellConfig(),b=o??u;b&&Nr({isOpen:true,...b,source:o?"pm":"legacy",capturedCellRow:o?.capturedCellRow??null,capturedCellCol:o?.capturedCellCol??null});},[C,Tt]),Dt=useCallback(r=>{let o=C();if(!o){r==="splitCell"?ke():typeof r!="object"&&Tt.handleAction(r);return}switch(r){case "addRowAbove":Tr(o.state,o.dispatch);break;case "addRowBelow":fo(o.state,o.dispatch);break;case "addColumnLeft":kr(o.state,o.dispatch);break;case "addColumnRight":go(o.state,o.dispatch);break;case "deleteRow":Sr(o.state,o.dispatch);break;case "deleteColumn":wr(o.state,o.dispatch);break;case "deleteTable":Pr(o.state,o.dispatch);break;case "selectTable":sa(o.state,o.dispatch);break;case "selectRow":la(o.state,o.dispatch);break;case "selectColumn":ca(o.state,o.dispatch);break;case "mergeCells":Rr(o.state,o.dispatch);break;case "splitCell":ke();break;case "borderAll":ua(o.state,o.dispatch,dt.current);break;case "borderOutside":pa(o.state,o.dispatch,dt.current);break;case "borderInside":ma(o.state,o.dispatch,dt.current);break;case "borderNone":da(o.state,o.dispatch);break;case "borderTop":Wn("top",dt.current,true)(o.state,o.dispatch);break;case "borderBottom":Wn("bottom",dt.current,true)(o.state,o.dispatch);break;case "borderLeft":Wn("left",dt.current,true)(o.state,o.dispatch);break;case "borderRight":Wn("right",dt.current,true)(o.state,o.dispatch);break;default:if(typeof r=="object"){if(r.type==="cellFillColor")Sa(r.color)(o.state,o.dispatch);else if(r.type==="borderColor"){let u=r.color.replace(/^#/,"");dt.current={...dt.current,color:{rgb:u}},ka(r.color)(o.state,o.dispatch);}else if(r.type==="borderWidth")dt.current={...dt.current,size:r.size},wa(r.size)(o.state,o.dispatch);else if(r.type==="cellBorder")Wn(r.side,{style:r.style,size:r.size,color:{rgb:r.color.replace(/^#/,"")}})(o.state,o.dispatch);else if(r.type==="cellVerticalAlign")fa(r.align)(o.state,o.dispatch);else if(r.type==="cellMargins")ga(r.margins)(o.state,o.dispatch);else if(r.type==="cellTextDirection")ha(r.direction)(o.state,o.dispatch);else if(r.type==="toggleNoWrap")ba()(o.state,o.dispatch);else if(r.type==="rowHeight")ya(r.height,r.rule)(o.state,o.dispatch);else if(r.type==="toggleHeaderRow")xa()(o.state,o.dispatch);else if(r.type==="distributeColumns")Ca()(o.state,o.dispatch);else if(r.type==="autoFitContents")va()(o.state,o.dispatch);else if(r.type==="openTableProperties")Or(true);else if(r.type==="tableProperties")Ir(r.props)(o.state,o.dispatch);else if(r.type==="applyTableStyle"){let u=pu(r.styleId),b=oo.current;if(!u&&b?.package.styles){let w=Dn(b.package.styles).getStyle(r.styleId);if(w){if(u={id:w.styleId,name:w.name??w.styleId},w.tblPr?.borders){let v=w.tblPr.borders;u.tableBorders={};for(let S of ["top","bottom","left","right","insideH","insideV"]){let L=v[S];L&&(u.tableBorders[S]={style:L.style,size:L.size,color:L.color?.rgb?{rgb:L.color.rgb}:void 0});}}if(w.tblStylePr){u.conditionals={};for(let v of w.tblStylePr){let S={};if(v.tcPr?.shading?.fill&&(S.backgroundColor=`#${v.tcPr.shading.fill}`),v.tcPr?.borders){let L={};for(let Q of ["top","bottom","left","right"]){let te=v.tcPr.borders[Q];te&&(L[Q]={style:te.style,size:te.size,color:te.color?.rgb?{rgb:te.color.rgb}:void 0});}S.borders=L;}v.rPr?.bold&&(S.bold=true),v.rPr?.color?.rgb&&(S.color=`#${v.rPr.color.rgb}`),u.conditionals[v.type]=S;}}u.look={firstRow:true,lastRow:false,noHBand:false,noVBand:true};}}u&&Ta({styleId:u.id,tableBorders:u.tableBorders,conditionals:u.conditionals,look:u.look})(o.state,o.dispatch);}}else Tt.handleAction(r);}k();},[Tt,C,k,ke]),ro=useCallback(r=>{let o=r.target;if(o?.closest(".paged-editor__pages")&&!o.closest(".hf-inline-editor"))return;r.preventDefault(),r.stopPropagation();let u=C(),b=u?Wa(u.state):{isInTable:false},{from:x,to:w}=u?.state.selection??{from:0,to:0},v=x!==w;ko({isOpen:true,position:{x:r.clientX,y:r.clientY},hasSelection:v,cursorInTable:b.isInTable,tableContext:b.isInTable?b:null});},[C]),ni=useCallback(r$1=>{let o=C();if(!o)return;o.focus();let u=o===ne.current?.getView(),{from:b,to:x}=o.state.selection,w=Ur.current;if(u&&w&&(b!==w.from||x!==w.to))try{let v=o.state.tr.setSelection(TextSelection.create(o.state.doc,w.from,w.to));o.dispatch(v);}catch(v){console.warn("Could not restore selection:",v);}if(r$1==="bold"){Li(o.state,o.dispatch);return}if(r$1==="italic"){Bi(o.state,o.dispatch);return}if(r$1==="underline"){Hi(o.state,o.dispatch);return}if(r$1==="strikethrough"){Oi(o.state,o.dispatch);return}if(r$1==="superscript"){Ni(o.state,o.dispatch);return}if(r$1==="subscript"){zi(o.state,o.dispatch);return}if(r$1==="bulletList"){Ji(o.state,o.dispatch);return}if(r$1==="numberedList"){Qi(o.state,o.dispatch);return}if(r$1==="indent"){ea(o.state,o.dispatch)||ji()(o.state,o.dispatch);return}if(r$1==="outdent"){ta(o.state,o.dispatch)||qi()(o.state,o.dispatch);return}if(r$1==="clearFormatting"){Sa$1(o.state,o.dispatch);return}if(r$1==="setRtl"){oa(o.state,o.dispatch);return}if(r$1==="setLtr"){ra(o.state,o.dispatch);return}if(r$1==="insertLink"){let v=Ua(o.state),S=Ta$1(o.state);S?N.openEdit({url:S.href,displayText:v,tooltip:S.tooltip}):N.openInsert(v);return}if(typeof r$1=="object")switch(r$1.type){case "alignment":Ki(r$1.value)(o.state,o.dispatch);break;case "textColor":{let v=r$1.value;typeof v=="string"?xr({rgb:v.replace("#","")})(o.state,o.dispatch):v.auto?_i(o.state,o.dispatch):xr(v)(o.state,o.dispatch);break}case "highlightColor":{let v=r$1.value?r(r$1.value):"";Wi(v||r$1.value)(o.state,o.dispatch);break}case "fontSize":$i(h$1(r$1.value))(o.state,o.dispatch);break;case "fontFamily":Vi(r$1.value)(o.state,o.dispatch);break;case "lineSpacing":Yi(r$1.value)(o.state,o.dispatch);break;case "applyStyle":{let v=oo.current,S=v?.package.styles?Dn(v.package.styles):null;if(S){let L=S.resolveParagraphStyle(r$1.value);mo(r$1.value,{paragraphFormatting:L.paragraphFormatting,runFormatting:L.runFormatting})(o.state,o.dispatch);}else mo(r$1.value)(o.state,o.dispatch);break}}},[C,ke]),er=useCallback(()=>{Nr(r=>({...r,isOpen:false,source:null,capturedCellRow:null,capturedCellCol:null}));},[]),oi=useCallback((r,o)=>{if(Ve.source==="legacy"){Tt.applySplitCell(r,o),k();return}let u=C();u&&(Ks(u.state,u.dispatch,r,o,Ve.capturedCellRow??void 0,Ve.capturedCellCol??void 0),k());},[k,C,Ve.source,Ve.capturedCellRow,Ve.capturedCellCol,Tt]),Ro=useCallback(r=>{dn(o=>({...o,zoom:r}));},[]),Io=useCallback(r=>{let o=C();if(!o)return;let u=r.url||"",b=r.tooltip,{empty:x}=o.state.selection;x&&r.displayText?Cr(r.displayText,u,b)(o.state,o.dispatch):x?r.displayText&&Cr(r.displayText,u,b)(o.state,o.dispatch):Ui(u,b)(o.state,o.dispatch),N.close(),k();},[N,C,k]),Qe=useCallback(()=>{let r=C();r&&(Gi(r.state,r.dispatch),k());},[C,k]),tn=useCallback(()=>{Qe(),N.close();},[N,Qe]),xn=useCallback(r=>ce(r),[]),Ua$1=useCallback(r=>{window.open(r,"_blank","noopener,noreferrer");},[]),Ga=useCallback(r=>{navigator.clipboard.writeText(r).catch(()=>{let o=document.createElement("textarea");o.value=r,o.style.position="fixed",o.style.opacity="0",document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o);});},[]),Wu=useCallback((r,o)=>{let u=C();if(!u)return;let b=Va(u.state);if(b){let x=u.state.schema.marks.hyperlink,{$from:w}=u.state.selection,v=x.create({href:o,tooltip:b.mark.attrs.tooltip}),S=u.state.schema.text(r,[...w.marks().filter(Q=>Q.type!==x),v]),L=u.state.tr.replaceWith(b.start,b.end,S);u.dispatch(L.scrollIntoView());}ce(null),k();},[C,k]),$u=useCallback(()=>{let r=C();if(!r)return;let o=Va(r.state,ie?.href);if(!o)return;let u=r.state.schema.marks.hyperlink;r.dispatch(r.state.tr.removeMark(o.start,o.end,u).scrollIntoView()),ce(null),k(),toast("Link removed");},[C,k,ie]),Vu=useCallback(()=>{ce(null);},[]),St=au(),Uu=useCallback(r=>{if(r.image){St.openForImage({x:r.x,y:r.y,wrapType:r.image.wrapType,cssFloat:r.image.cssFloat,pos:r.image.pos,inlinePositionEmu:r.image.inlinePositionEmu});return}let o=C(),u=o?Wa(o.state):{isInTable:false};ko({isOpen:true,position:r,hasSelection:r.hasSelection,cursorInTable:u.isInTable,tableContext:u.isInTable?u:null});},[C,St]),Gu=useCallback(r=>{let o=C();if(!o||St.imagePos===null)return;let u=St.inlinePositionEmu?{initialPositionEmu:St.inlinePositionEmu}:void 0;Ra(St.imagePos,r,u)(o.state,o.dispatch);},[C,St.imagePos,St.inlinePositionEmu]),Ku=useMemo(()=>[{action:"cut",label:Rt("contextMenu.cut"),shortcut:Rt("contextMenu.cutShortcut")},{action:"copy",label:Rt("contextMenu.copy"),shortcut:Rt("contextMenu.copyShortcut")},{action:"paste",label:Rt("contextMenu.paste"),shortcut:Rt("contextMenu.pasteShortcut"),dividerAfter:true},{action:"delete",label:Rt("contextMenu.delete"),shortcut:Rt("contextMenu.deleteShortcut")}],[Rt]),Yu=useCallback(()=>{ko({isOpen:false,position:{x:0,y:0},hasSelection:false,cursorInTable:false,tableContext:null});},[]),ju=useMemo(()=>{let o=typeof navigator<"u"&&/Mac/.test(navigator.platform)?"\u2318":"Ctrl",u=[{action:"cut",label:"Cut",shortcut:`${o}+X`},{action:"copy",label:"Copy",shortcut:`${o}+C`},{action:"paste",label:"Paste",shortcut:`${o}+V`},{action:"pasteAsPlainText",label:"Paste as Plain Text",shortcut:`${o}+Shift+V`,dividerAfter:true},{action:"delete",label:"Delete",shortcut:"Del",dividerAfter:!tt.hasSelection&&!tt.cursorInTable}];return tt.hasSelection&&u.push({action:"addComment",label:"Comment",dividerAfter:!tt.cursorInTable}),tt.cursorInTable&&u.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:Ht?.table?.mergeCells??a$2.table.mergeCells,disabled:!tt.tableContext?.hasMultiCellSelection},{action:"splitCell",label:Ht?.table?.splitCell??a$2.table.splitCell,disabled:!tt.tableContext?.canSplitCell,dividerAfter:true}),u.push({action:"selectAll",label:"Select All",shortcut:`${o}+A`}),u},[tt.hasSelection,tt.cursorInTable,tt.tableContext]),Pl=useCallback(async r=>{let o=C();if(o)switch(k(),r){case "cut":document.execCommand("cut");break;case "copy":document.execCommand("copy");break;case "paste":{try{let u=await navigator.clipboard.read(),b="",x="";for(let S of u)S.types.includes("text/html")&&(b=await(await S.getType("text/html")).text()),S.types.includes("text/plain")&&(x=await(await S.getType("text/plain")).text());let w=new DataTransfer;b&&w.items.add(b,"text/html"),x&&w.items.add(x,"text/plain");let v=new ClipboardEvent("paste",{clipboardData:w,bubbles:!0,cancelable:!0});o.dom.dispatchEvent(v);}catch{try{let u=await navigator.clipboard.readText();u&&o.dispatch(o.state.tr.insertText(u));}catch{}}break}case "pasteAsPlainText":try{let u=await navigator.clipboard.readText();u&&o.dispatch(o.state.tr.insertText(u));}catch{}break;case "delete":{let{from:u,to:b}=o.state.selection;u!==b&&o.dispatch(o.state.tr.deleteRange(u,b));break}case "selectAll":o.dispatch(o.state.tr.setSelection(TextSelection.create(o.state.doc,0,o.state.doc.content.size)));break;case "addRowAbove":Tr(o.state,o.dispatch);break;case "addRowBelow":fo(o.state,o.dispatch);break;case "deleteRow":Sr(o.state,o.dispatch);break;case "addColumnLeft":kr(o.state,o.dispatch);break;case "addColumnRight":go(o.state,o.dispatch);break;case "deleteColumn":wr(o.state,o.dispatch);break;case "mergeCells":Rr(o.state,o.dispatch);break;case "splitCell":ke();break;case "addComment":{let{from:u,to:b}=o.state.selection;if(u===b)break;let x=Nu(en.current,wo.current,u);$t({from:u,to:b});let w=o.state.schema.marks.comment.create({commentId:Br}),v=o.state.tr.addMark(u,b,w);v.setSelection(TextSelection.create(v.doc,b)),o.dispatch(v),Qn(x),Ye(true),Wt(true),Jt(null);break}}},[C,k,ke]),Fn=useCallback(r=>o=>{if(!W.state||Je)return;let u={...W.state,package:{...W.state.package,document:{...W.state.package.document,finalSectionProperties:{...W.state.package.document.finalSectionProperties,[r]:o}}}};nt(u);},[W.state,Je,nt]),qu=useMemo(()=>Fn("marginLeft"),[Fn]),Xu=useMemo(()=>Fn("marginRight"),[Fn]),Zu=useMemo(()=>Fn("marginTop"),[Fn]),Ju=useMemo(()=>Fn("marginBottom"),[Fn]),Qu=useCallback(r=>{if(!W.state||Je)return;let o={...W.state,package:{...W.state.package,document:{...W.state.package.document,finalSectionProperties:{...W.state.package.document.finalSectionProperties,...r}}}};nt(o);},[W.state,Je,nt]),ep=useCallback(r=>{let o=C();o&&Xi(r)(o.state,o.dispatch);},[C]),tp=useCallback(r=>{let o=C();o&&Zi(r)(o.state,o.dispatch);},[C]),np=useCallback(r=>{let o=C();o&&(r<0?vr(-r,true)(o.state,o.dispatch):vr(r,false)(o.state,o.dispatch));},[C]),op=useCallback(r=>{let o=C();o&&na(r)(o.state,o.dispatch);},[C]),Eo=en.current;useEffect(()=>{if(!Eo)return;let r=()=>{let o=ne.current?.getLayout();if(!o||o.pages.length===0)return;let u=Eo.scrollTop,b=o.pages.length,x=24,w=24,v=u+Eo.clientHeight/2,S=w,L=1;for(let Q=0;Q<o.pages.length;Q++){let te=o.pages[Q].size.h,se=S+te;if(v<se){L=Q+1;break}S=se+x,L=Q+2;}L=Math.min(L,b),I({currentPage:L,totalPages:b,visible:true}),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{I(Q=>({...Q,visible:false}));},600);};return Eo.addEventListener("scroll",r,{passive:true}),()=>{Eo.removeEventListener("scroll",r),P.current&&clearTimeout(P.current);}},[Eo]);let ri=useCallback(async r=>{if(!An.current)return null;try{let o=An.current.getDocument(),u=ne.current?.getDocument();u?.package?.document&&(o.package.document.content=u.package.document.content),o.package.document.comments=_e,cl(o.package.document.content,_e),dl(o.package.document.content,_e);let b=r?.selective!==!1,x=ne.current?.getView(),w;if(b&&x){let S=x.state,L=_e.some(Q=>Q.parentId!=null);w={selective:{changedParaIds:Xa(S),structuralChange:Ya(S)||L,hasUntrackedChanges:Za(S)}};}let v=await An.current.toBuffer(w);return x&&x.dispatch(_a(x.state)),i?.(v),v}catch(o){return l$1?.(o instanceof Error?o:new Error("Failed to save document")),null}},[i,l$1,_e]),rp=useCallback(r=>{l$1?.(r);},[l$1]),ii=useCallback(()=>{let r=Ut.current?.querySelector(".paged-editor__pages");if(!r){window.print(),Te?.();return}let o=window.open("","_blank");if(!o){window.print(),Te?.();return}let u=[];for(let x of Array.from(document.styleSheets))try{for(let w of Array.from(x.cssRules))w instanceof CSSFontFaceRule&&u.push(w.cssText);}catch{}let b=r.cloneNode(true);b.style.cssText="display: block; margin: 0; padding: 0;";for(let x of Array.from(b.querySelectorAll(".layout-page"))){let w=x;w.style.boxShadow="none",w.style.margin="0";}o.document.write(`<!DOCTYPE html>
26
+ <html><head><title>Print</title>
27
+ <style>
28
+ ${u.join(`
29
+ `)}
30
+ * { margin: 0; padding: 0; }
31
+ body { background: white; }
32
+ .layout-page { break-after: page; }
33
+ .layout-page:last-child { break-after: auto; }
34
+ @page { margin: 0; size: auto; }
35
+ </style>
36
+ </head><body>${b.outerHTML}</body></html>`),o.document.close(),o.onload=()=>{o.print(),o.close();},setTimeout(()=>{o.closed||(o.print(),o.close());},1e3),Te?.();},[Te]),ip=useCallback(async()=>{let r=await ri();if(!r)return;let o=new Blob([r],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),u=URL.createObjectURL(o),b=window.document.createElement("a");b.href=u,b.download=`${(Pn?.trim()||"document").replace(/\.docx$/i,"")}.docx`,b.click(),setTimeout(()=>URL.revokeObjectURL(u),0);},[ri,Pn]),ap=useCallback(()=>{Gr.current?.click();},[]),sp=useCallback(async r=>{try{let o=await n(r.nativeEvent);if(!o)return;await bt(o.buffer),Rn?.(o.name);}catch(o){l$1?.(o instanceof Error?o:new Error("Failed to open document"));}},[bt,Rn,l$1]),yt=useRef(null),lp=useCallback((r,o)=>{if(!W.state||!r.trim())return yt.current=null,null;let u=j(W.state,r,o),b={matches:u,totalCount:u.length,currentIndex:0};return yt.current=b,B.setMatches(u,0),u.length>0&&Ut.current&&l(Ut.current,u[0]),b},[W.state,B]),cp=useCallback(()=>{if(!yt.current||yt.current.matches.length===0)return null;let r=B.goToNextMatch(),o=yt.current.matches[r];return o&&Ut.current&&l(Ut.current,o),o||null},[B]),dp=useCallback(()=>{if(!yt.current||yt.current.matches.length===0)return null;let r=B.goToPreviousMatch(),o=yt.current.matches[r];return o&&Ut.current&&l(Ut.current,o),o||null},[B]),up=useCallback(r=>{if(!W.state||!yt.current||yt.current.matches.length===0)return false;let o=yt.current.matches[yt.current.currentIndex];if(!o)return false;try{let u=a$3(W.state,{type:"replaceText",range:{start:{paragraphIndex:o.paragraphIndex,offset:o.startOffset},end:{paragraphIndex:o.paragraphIndex,offset:o.endOffset}},text:r});return nt(u),!0}catch(u){return console.error("Replace failed:",u),false}},[W.state,nt]),pp=useCallback((r,o,u)=>{if(!W.state||!r.trim())return 0;let b=j(W.state,r,u);if(b.length===0)return 0;let x=W.state,w=[...b].sort((v,S)=>v.paragraphIndex!==S.paragraphIndex?S.paragraphIndex-v.paragraphIndex:S.startOffset-v.startOffset);for(let v of w)try{x=a$3(x,{type:"replaceText",range:{start:{paragraphIndex:v.paragraphIndex,offset:v.startOffset},end:{paragraphIndex:v.paragraphIndex,offset:v.endOffset}},text:o});}catch(S){console.error("Replace failed for match:",v,S);}return nt(x),yt.current=null,B.setMatches([],0),b.length},[W.state,nt,B]);useImperativeHandle(Na,()=>({getAgent:()=>An.current,getDocument:()=>W.state,getEditorRef:()=>ne.current,save:ri,setZoom:r=>dn(o=>({...o,zoom:r})),getZoom:()=>q.zoom,focus:()=>{ne.current?.focus();},getCurrentPage:()=>g.currentPage,getTotalPages:()=>g.totalPages,scrollToPage:r=>{ne.current?.scrollToPage(r);},scrollToPosition:r=>{ne.current?.scrollToPosition(r);},openPrintPreview:ii,print:ii,loadDocument:Ke,loadDocumentBuffer:bt,applyDocumentChanges:r=>{let o=ne.current?.getView();if(!o)return false;let u=hb(r,{styles:r.package.styles}),b=o.state.tr.replaceWith(0,o.state.doc.content.size,u.content);return o.dispatch(b),true},addComment:r=>{let o=ne.current?.getView();if(!o)return null;let{schema:u}=o.state;if(!u.marks.comment)return null;let b=Ha(o.state.doc,r.paraId);if(!b)return null;let x=b.from,w=b.to;if(r.search){let L=Sl(o.state.doc,b.from,b.to,r.search);if(!L)return null;x=L.from,w=L.to;}let v=Hr(r.text,r.author),S=u.marks.comment.create({commentId:v.id});return o.dispatch(o.state.tr.addMark(x,w,S)),He(L=>[...L,v]),Ye(true),v.id},replyToComment:(r,o,u)=>{if(!_e.some(x=>x.id===r))return null;let b=Hr(o,u,r);return He(x=>[...x,b]),b.id},resolveComment:r=>{He(o=>o.map(u=>u.id===r?{...u,done:true}:u));},proposeChange:r=>{let o=ne.current?.getView();if(!o)return false;let{schema:u}=o.state;if(!u.marks.deletion||!u.marks.insertion)return false;let b=Ha(o.state.doc,r.paraId);if(!b)return false;let x=r.search==="",w=r.replaceWith==="",v,S;if(x)v=b.to-1,S=b.to-1;else {let Pe=Sl(o.state.doc,b.from,b.to,r.search);if(!Pe)return false;v=Pe.from,S=Pe.to;}let L=false;if(v<S&&(o.state.doc.nodesBetween(v,S,Pe=>{for(let Mo of Pe.marks)if(Mo.type===u.marks.insertion||Mo.type===u.marks.deletion)return L=true,false;return true}),L))return false;let Q=Oa++,te=new Date().toISOString(),se=u.marks.deletion.create({revisionId:Q,author:r.author,date:te}),Ft=u.marks.insertion.create({revisionId:Q,author:r.author,date:te}),we=o.state.tr;if(x||(we=we.addMark(v,S,se)),!w){let Pe=u.text(r.replaceWith,[Ft]);we=we.insert(S,Pe);}return x&&w?false:(o.dispatch(we),Ye(true),true)},applyFormatting:r$1=>{let o=ne.current?.getView();if(!o)return false;let{schema:u}=o.state,b=Ha(o.state.doc,r$1.paraId);if(!b)return false;let x=b.from+1,w=b.to-1;if(r$1.search){let L=Sl(o.state.doc,b.from,b.to,r$1.search);if(!L)return false;x=L.from,w=L.to;}if(x>=w)return true;let v=o.state.tr,S=r$1.marks;if(S.bold!==void 0&&u.marks.bold&&(v=S.bold?v.addMark(x,w,u.marks.bold.create()):v.removeMark(x,w,u.marks.bold)),S.italic!==void 0&&u.marks.italic&&(v=S.italic?v.addMark(x,w,u.marks.italic.create()):v.removeMark(x,w,u.marks.italic)),S.underline!==void 0&&u.marks.underline)if(S.underline){let L=typeof S.underline=="object"?S.underline.style:void 0;v=v.addMark(x,w,u.marks.underline.create({style:L??"single"}));}else v=v.removeMark(x,w,u.marks.underline);if(S.strike!==void 0&&u.marks.strike&&(v=S.strike?v.addMark(x,w,u.marks.strike.create()):v.removeMark(x,w,u.marks.strike)),S.color!==void 0&&u.marks.textColor&&(S.color&&(S.color.rgb||S.color.themeColor)?v=v.addMark(x,w,u.marks.textColor.create({rgb:S.color.rgb??null,themeColor:S.color.themeColor??null})):v=v.removeMark(x,w,u.marks.textColor)),S.highlight!==void 0&&u.marks.highlight)if(S.highlight){let L=r(S.highlight);v=v.addMark(x,w,u.marks.highlight.create({color:L||S.highlight}));}else v=v.removeMark(x,w,u.marks.highlight);return S.fontSize!==void 0&&u.marks.fontSize&&(S.fontSize>0?v=v.addMark(x,w,u.marks.fontSize.create({size:h$1(S.fontSize)})):v=v.removeMark(x,w,u.marks.fontSize)),S.fontFamily!==void 0&&u.marks.fontFamily&&(S.fontFamily&&(S.fontFamily.ascii||S.fontFamily.hAnsi)?v=v.addMark(x,w,u.marks.fontFamily.create({ascii:S.fontFamily.ascii??null,hAnsi:S.fontFamily.hAnsi??S.fontFamily.ascii??null})):v=v.removeMark(x,w,u.marks.fontFamily)),o.dispatch(v),true},setParagraphStyle:r=>{let o=ne.current?.getView();if(!o)return false;let u=Ha(o.state.doc,r.paraId);if(!u)return false;let b=oo.current,x=b?.package?.styles?Dn(b.package.styles):null;if(x&&!x.hasParagraphStyle(r.styleId))return false;let w=o.state.doc.resolve(u.from+1),v=o.state.doc.resolve(u.to-1),S=TextSelection.between(w,v),L=o.state.apply(o.state.tr.setSelection(S)),Q=x?(()=>{let se=x.resolveParagraphStyle(r.styleId);return mo(r.styleId,{paragraphFormatting:se.paragraphFormatting,runFormatting:se.runFormatting})})():mo(r.styleId),te=false;return Q(L,se=>{te=true,se.setSelection(o.state.selection.map(se.doc,se.mapping)),o.dispatch(se);}),te},getPageContent:r=>{let o=ne.current?.getLayout();if(!o)return null;let u=o.pages[r-1];if(!u)return null;let b=ne.current?.getView();if(!b)return null;let x=b.state.doc,w=new Set,v=[];for(let L of u.fragments){if(L.kind!=="paragraph")continue;let Q=L.pmStart;if(Q==null)continue;let te=x.nodeAt(Q);if(!te||!te.isTextblock)continue;let se=te.attrs?.paraId;!se||w.has(se)||(w.add(se),v.push({paraId:se,text:zu(te),styleId:te.attrs?.styleId??void 0}));}let S=v.map(L=>`[${L.paraId}] ${L.text}`).join(`
37
+ `);return {pageNumber:r,text:S,paragraphs:v}},scrollToParaId:r=>ne.current?.scrollToParaId(r)??false,findInDocument:(r,o)=>{let u=ne.current?.getView();if(!u||!r)return [];let b=o?.caseSensitive??false,x=o?.limit??20,w=b?r:r.toLowerCase(),v=[];return u.state.doc.descendants(S=>{if(v.length>=x)return false;if(!S.isTextblock)return true;let L=S.attrs?.paraId;if(!L)return false;let Q=zu(S),te=b?Q:Q.toLowerCase(),se=te.indexOf(w);if(se===-1||te.indexOf(w,se+1)!==-1)return false;let Ft=Q.slice(se,se+r.length),we=40;return v.push({paraId:L,match:Ft,before:Q.slice(Math.max(0,se-we),se),after:Q.slice(se+r.length,se+r.length+we)}),false}),v},getSelectionInfo:()=>{let r=ne.current?.getView();if(!r)return null;let{selection:o,doc:u}=r.state,b=o.$from,x=b.depth;for(;x>0&&!b.node(x).isTextblock;)x--;let w=x>0?b.node(x):null;if(!w)return null;let v=w.attrs?.paraId??null,S=b.start(x),L=S+w.content.size,Q=Tl(u,S,o.from),te=Tl(u,o.from,o.to),se=Tl(u,o.to,L);return {paraId:v,selectedText:te,paragraphText:Q+te+se,before:Q,after:se}},getComments:()=>_e,onContentChange:r=>(Qt.current.add(r),()=>{Qt.current.delete(r);}),onSelectionChange:r=>(Ko.current.add(r),()=>{Ko.current.delete(r);})}),[W.state,q.zoom,g,ri,ii,Ke,bt,_e]);let ai=useMemo(()=>sh(W.state),[W.state]),Ka=W.state?.package.document?.finalSectionProperties,{headerContent:si,footerContent:li,firstPageHeaderContent:ci,firstPageFooterContent:di}=useMemo(()=>{let{header:r,footer:o,firstHeader:u,firstFooter:b}=Rb(W.state??null,Ka??ai);return {headerContent:r,footerContent:o,firstPageHeaderContent:u,firstPageFooterContent:b}},[W.state,ai,Ka]),mp=useCallback((r,o)=>{let b=W.state?.package?.document?.finalSectionProperties?.titlePg===true&&(o??1)===1,x=b?r==="header"?ci:di:r==="header"?si:li;if(Zn(b),x){It(r);return}if(!W.state?.package)return;let w=W.state.package,v=w.document?.finalSectionProperties;if(!v)return;let S=b?"first":"default",L=`rId_new_${r}_${S}`,Q={type:r==="header"?"header":"footer",hdrFtrType:S,content:[{type:"paragraph",content:[]}]},te=r==="header"?"headers":"footers",se=new Map(w[te]??[]);se.set(L,Q);let Ft=r==="header"?"headerReferences":"footerReferences",we=v[Ft]??[],Pe={type:S,rId:L},Mo=w.relationships,Ln=new Set;for(let Dl of Mo?.values()??[])Dl.target&&Ln.add(Dl.target);let qa=1;for(;Ln.has(`${r}${qa}.xml`);)qa++;let Tp=r==="header"?"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",Al=new Map(Mo);Al.set(L,{id:L,type:Tp,target:`${r}${qa}.xml`});let Sp={...W.state,package:{...w,[te]:se,relationships:Al,document:w.document?{...w.document,finalSectionProperties:{...v,[Ft]:[...we,Pe]}}:w.document}};Xe(Sp),It(r);},[si,li,ci,di,W,Xe]),Ya$1=useCallback(r=>{if(!Se||!W.state?.package){It(null);return}let o=W.state.package,u=o.document?.finalSectionProperties,b=Se==="header"?u?.headerReferences:u?.footerReferences,x=Xn?"first":"default",w=b?.find(L=>L.type===x)??b?.find(L=>L.type==="default")??b?.find(L=>L.type==="first")??b?.[0],v=Se==="header"?"headers":"footers",S=o[v];if(w?.rId&&S){let L=S.get(w.rId),Q={type:Se,hdrFtrType:w.type,...L,content:r},te=new Map(S);te.set(w.rId,Q);let se={...W.state,package:{...o,[v]:te}};Xe(se);}It(null);},[Se,W,Xe]),fp=useCallback(()=>{if(!Se)return;let r=ht.current?.getView();if(r){let o=yr(r.state.doc);Ya$1(o);}else It(null);},[Se,Ya$1]),gp=useCallback(()=>{if(!Se||!W.state?.package){It(null);return}let r=W.state.package,o=r.document?.finalSectionProperties,u=Se==="header"?"headerReferences":"footerReferences",b=Se==="header"?"headers":"footers",x=o?.[u],w=Xn?"first":"default",v=x?.find(S=>S.type===w)??x?.find(S=>S.type==="default")??x?.find(S=>S.type==="first")??x?.[0];if(v?.rId){let S=new Map(r[b]??[]);S.delete(v.rId);let L=(x??[]).filter(te=>te.rId!==v.rId),Q={...W.state,package:{...r,[b]:S,document:r.document?{...r.document,finalSectionProperties:{...o,[u]:L}}:r.document}};Xe(Q);}It(null);},[Se,W,Xe]),hp=useCallback(r=>{let o=Ut.current?.querySelector(".paged-editor__pages");if(!o)return null;let u=r==="header"?".layout-page-header":".layout-page-footer";return o.querySelector(u)},[]),ui={display:"flex",flexDirection:"column",height:"100%",width:"100%",backgroundColor:"var(--doc-bg)",...H},bp={display:"flex",flex:1,minHeight:0,minWidth:0,flexDirection:"row"},nn=useRef({});nn.current={onCommentReply:(r,o)=>{let u=Hr(o,a$4,r),b=_e.find(x=>x.id===r);He(x=>[...x,u]),b&&Ze?.(u,b);},onCommentResolve:r=>{let o=_e.find(u=>u.id===r);He(u=>u.map(b=>b.id===r?{...b,done:true}:b)),Mt===`comment-${r}`&&Nt(null),o&&ze?.({...o,done:true});},onCommentUnresolve:r=>{He(o=>o.map(u=>u.id===r?{...u,done:void 0}:u));},onCommentDelete:r=>{let o=_e.find(b=>b.id===r);He(b=>b.filter(x=>x.id!==r&&x.parentId!==r));let u=ne.current?.getView();if(u){let b=u.state.schema.marks.comment?.create({commentId:r});if(b){let x=u.state.tr.removeMark(0,u.state.doc.content.size,b);x.docChanged&&u.dispatch(x);}}o&&Fe?.(o);},onAddComment:r=>{let o=Hr(r,a$4),u=ne.current?.getView();if(u&&Ct){let{from:b,to:x}=Ct,w=u.state.schema.marks.comment.create({commentId:Br}),v=u.state.schema.marks.comment.create({commentId:o.id}),S=u.state.tr.removeMark(b,x,w).addMark(b,x,v);u.dispatch(S);}He(b=>[...b,o]),Wt(false),$t(null),Qn(null),re?.(o);},onCancelAddComment:()=>{let r=ne.current?.getView();if(r&&Ct){let{from:o,to:u}=Ct,b=r.state.schema.marks.comment.create({commentId:Br});r.dispatch(r.state.tr.removeMark(o,u,b));}Wt(false),$t(null),Qn(null);},onAcceptChange:(r,o)=>{let u=ne.current?.getView();u&&js(r,o)(u.state,u.dispatch);},onRejectChange:(r,o)=>{let u=ne.current?.getView();u&&qs(r,o)(u.state,u.dispatch);},onTrackedChangeReply:(r,o)=>{He(u=>[...u,Hr(o,a$4,r)]);}};let yp=useMemo(()=>({onCommentReply:(...r)=>nn.current.onCommentReply?.(...r),onCommentResolve:(...r)=>nn.current.onCommentResolve?.(...r),onCommentUnresolve:(...r)=>nn.current.onCommentUnresolve?.(...r),onCommentDelete:(...r)=>nn.current.onCommentDelete?.(...r),onAddComment:(...r)=>nn.current.onAddComment?.(...r),onCancelAddComment:(...r)=>nn.current.onCancelAddComment?.(...r),onAcceptChange:(...r)=>nn.current.onAcceptChange?.(...r),onRejectChange:(...r)=>nn.current.onRejectChange?.(...r),onTrackedChangeReply:(...r)=>nn.current.onTrackedChangeReply?.(...r)}),[]),pi=dd({comments:_e,trackedChanges:lt,callbacks:yp,showResolved:Ot,isAddingComment:Ot?ft:false,addCommentYPosition:At}),ja=useMemo(()=>{let r=[];return Ot&&r.push(...pi),at&&r.push(...at),r},[Ot,pi,at]),Rl=useMemo(()=>{let r=new Map;return lt.forEach((o,u)=>{o.type==="replacement"&&o.insertionRevisionId!=null&&r.set(String(o.insertionRevisionId),`tc-${o.revisionId}-${u}`);}),r},[lt]),mi=ja.length>0,Il=2*(Et?Ac:le?Dc:20)+xl+(mi?352:0),El=W.state?.package?.document?.finalSectionProperties?.pageWidth,Ml=El?Math.round(El/15):xl,io=useMemo(()=>{let r=new Set;for(let o of _e)o.done&&o.parentId==null&&r.add(o.id);return r},[_e]),xp=useMemo(()=>{if(!Mt?.startsWith("comment-"))return io;let r=parseInt(Mt.slice(8),10);if(isNaN(r)||!io.has(r))return io;let o=new Set(io);return o.delete(r),o},[io,Mt]),Cp={flex:1,minHeight:0,minWidth:0,overflow:"auto",position:"relative",overflowAnchor:"none"};if(q.isLoading)return jsx("div",{className:`ep-root docx-editor docx-editor-loading ${$}`,style:ui,"data-testid":"docx-editor",children:U||jsx(mu,{})});if(q.parseError)return jsx("div",{className:`ep-root docx-editor docx-editor-error ${$}`,style:ui,"data-testid":"docx-editor",children:jsx(gu,{message:q.parseError})});if(!W.state)return jsx("div",{className:`ep-root docx-editor docx-editor-empty ${$}`,style:ui,"data-testid":"docx-editor",children:V||jsx(fu,{})});let vp=jsxs(Fragment,{children:[jsx(u,{}),jsx(th,{active:Ot,onClick:()=>{Ye(r=>!r),Nt(null);}}),jsx(u,{}),jsx(ah,{mode:Ue,onModeChange:r=>{$r(r),r==="suggesting"&&Ye(true);}}),$e&&$e.showToolbarButton!==false&&jsxs(Fragment,{children:[jsx(u,{}),jsx(rh,{active:So,badge:$e.toolbarBadge,onClick:()=>gt(!So)})]}),z]});return jsx(b$5,{i18n:Ht,children:jsx(gd,{children:jsx(Ai,{onError:rp,children:jsxs("div",{ref:Ut,className:`ep-root docx-editor ${$}`,style:ui,"data-testid":"docx-editor",children:[jsxs("div",{style:bp,children:[jsxs("div",{style:{position:"relative",flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column"},children:[p$1&&!_&&jsx("div",{ref:M,className:"z-50 flex flex-col gap-0 flex-shrink-0",children:jsxs(w,{className:So?"rounded-br-2xl":void 0,style:{transition:"border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1)"},currentFormatting:q.selectionFormatting,onFormat:ni,onUndo:E,onRedo:A$1,canUndo:st?undoDepth(st)>0:false,canRedo:st?redoDepth(st)>0:false,disabled:Je,documentStyles:W.state?.package.styles?.styles,theme:W.state?.package.theme||d,fontFamilies:Ee,onPrint:ii,onOpen:ap,onSave:ip,showZoomControl:h,zoom:q.zoom,onZoomChange:Ro,onRefocusEditor:k,onInsertTable:jr,showTableInsert:true,onInsertImage:Qr,onInsertPageBreak:qr,onInsertTOC:Xr,imageContext:q.pmImageContext,onImageWrapType:ei,onImageTransform:Qo,onOpenImageProperties:Po,onPageSetup:oe,tableContext:q.pmTableContext,onTableAction:Dt,children:[jsxs(w.TitleBar,{children:[ye&&jsx(w.Logo,{children:ye()}),Pn!==void 0&&jsx(w.DocumentName,{value:Pn,onChange:Rn,editable:Bt}),We&&jsx(w.TitleBarRight,{children:We()}),jsx(w.MenuBar,{})]}),jsx(w.Toolbar,{children:vp})]})}),jsxs("div",{ref:en,style:Cp,onMouseDown:r=>{let o=r.target;o.closest(".paged-editor__pages")||o.closest(".docx-unified-sidebar")||o.closest(".docx-comment-margin-markers")||Nt(null);},children:[y&&jsx("div",{className:"flex justify-center py-1 flex-shrink-0 bg-doc-bg",style:{position:"sticky",top:0,zIndex:F.ruler,paddingLeft:20,paddingRight:20+(mi?352:0),minWidth:Il,transition:"padding 0.2s ease"},children:jsx(A,{sectionProps:W.state?.package.document?.finalSectionProperties,zoom:q.zoom,unit:F$1,editable:!Je,onLeftMarginChange:qu,onRightMarginChange:Xu,indentLeft:q.paragraphIndentLeft,indentRight:q.paragraphIndentRight,onIndentLeftChange:ep,onIndentRightChange:tp,showFirstLineIndent:true,firstLineIndent:q.paragraphFirstLineIndent,hangingIndent:q.paragraphHangingIndent,onFirstLineIndentChange:np,tabStops:q.paragraphTabs,onTabStopRemove:op})}),jsx("div",{style:{display:"flex",flex:1,minHeight:0,position:"relative",minWidth:Il},children:jsxs("div",{ref:wo,style:{position:"relative",flex:1,minWidth:0},onMouseDown:r=>{r.target===r.currentTarget&&(r.preventDefault(),ne.current?.focus());},onContextMenu:ro,children:[y&&!_&&jsx("div",{style:{position:"absolute",left:0,top:0,zIndex:F.ruler,paddingTop:48},children:jsx(vd,{sectionProps:ai,zoom:q.zoom,unit:F$1,editable:!Je,onTopMarginChange:Zu,onBottomMarginChange:Ju})}),Mt&&Mt.startsWith("comment-")&&jsx("style",{children:`.paged-editor__pages [data-comment-id="${Mt.replace("comment-","")}"] { background-color: rgba(255, 212, 0, 0.35) !important; border-bottom: 2px solid rgba(255, 212, 0, 0.7) !important; }`}),Mt?.startsWith("tc-")&&(()=>{let r=Mt.split("-")[1],u=lt.find(b=>String(b.revisionId)===r)?.insertionRevisionId;return jsx("style",{children:`
38
+ .paged-editor__pages .docx-insertion[data-revision-id="${u??r}"] { background-color: rgba(52, 168, 83, 0.2) !important; border-bottom: 2px solid #2e7d32 !important; }
39
+ .paged-editor__pages .docx-deletion[data-revision-id="${r}"] { background-color: rgba(211, 47, 47, 0.2) !important; text-decoration-thickness: 2px !important; }
40
+ `})})(),jsx(Bu,{ref:ne,document:W.state,styles:W.state?.package.styles,theme:W.state?.package.theme||d,sectionProperties:ai,finalSectionProperties:Ka,headerContent:si,footerContent:li,firstPageHeaderContent:ci,firstPageFooterContent:di,onHeaderFooterDoubleClick:mp,hfEditMode:Se,onBodyClick:fp,zoom:q.zoom,readOnly:Je,extensionManager:_a$1,onDocumentChange:nt,onSelectionChange:(r,o)=>{let u=ne.current?.getView();if(u){let b=Oo(u.state);bn(b);let x=u.state.selection.$from,w=[...u.state.storedMarks??[],...x.nodeAfter?.marks??[],...x.nodeBefore?.marks??[],...x.marks()],v=null;for(let S of w){if(S.type.name==="comment"&&S.attrs.commentId!=null){let L=S.attrs.commentId;if(io.has(L))continue;v=`comment-${L}`;break}if((S.type.name==="insertion"||S.type.name==="deletion")&&S.attrs.revisionId!=null){let L=String(S.attrs.revisionId),Q=`tc-${L}-`,te=pi.find(se=>se.id.startsWith(Q));if(!te&&Rl){let se=Rl.get(L);se&&(te=pi.find(Ft=>Ft.id===se));}if(te){v=te.id;break}}}v&&Ye(true),Nt(v);}else bn(null);},externalPlugins:Vr,onReady:r=>{let o=r.getView();o&&zt(o.state),o&&Pt?.(o);},onRenderedDomContextReady:it,pluginOverlays:mt,onHyperlinkClick:xn,onContextMenu:Uu,commentsSidebarOpen:mi,onAnchorPositionsChange:Wr,onTotalPagesChange:r=>{I(o=>o.totalPages===r?o:{...o,totalPages:r});},resolvedCommentIds:xp,scrollContainerRef:en,sidebarOverlay:jsxs(Fragment,{children:[ja.length>0&&jsx(Nc,{items:ja,anchorPositions:_t,renderedDomContext:Yn??null,pageWidth:Ml,zoom:q.zoom,editorContainerRef:en,onExpandedItemChange:Nt,activeItemId:Mt}),jsx(Zc,{comments:_e,anchorPositions:_t,zoom:q.zoom,pageWidth:Ml,sidebarOpen:mi,resolvedCommentIds:io,onMarkerClick:()=>{Ye(true);}})]})}),vt!=null&&!ft&&!Je&&jsx(c$2,{content:"Add comment",side:"bottom",delayMs:300,children:jsx("button",{type:"button",onMouseDown:r=>{r.preventDefault(),r.stopPropagation();let o=ne.current?.getView();if(o){let{from:u,to:b}=o.state.selection;if(u!==b){$t({from:u,to:b});let x=o.state.schema.marks.comment.create({commentId:Br}),w=o.state.tr.addMark(u,b,x);w.setSelection(TextSelection.create(w.doc,b)),o.dispatch(w);}}Qn(vt.top),Ye(true),Wt(true),Jt(null);},style:{position:"absolute",top:vt.top,left:vt.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:r=>{r.currentTarget.style.backgroundColor="rgba(26, 115, 232, 0.08)",r.currentTarget.style.boxShadow="0 1px 4px rgba(26, 115, 232, 0.3)";},onMouseOut:r=>{r.currentTarget.style.backgroundColor="#fff",r.currentTarget.style.boxShadow="0 1px 3px rgba(60,64,67,0.2)";},children:jsx(b,{name:"add_comment",size:16})})}),Se&&(()=>{let r=Xn?Se==="header"?ci:di:Se==="header"?si:li;if(!r)return null;let o=hp(Se),u=wo.current;return !o||!u?null:jsx(nu,{ref:ht,headerFooter:r,position:Se,styles:W.state?.package.styles,targetElement:o,parentElement:u,onSave:Ya$1,onClose:()=>It(null),onSelectionChange:bn,onRemove:gp})})()]})})]}),g.totalPages>1&&jsx(oh,{currentPage:g.currentPage,totalPages:g.totalPages,visible:g.visible}),Et&&jsx(Fc,{headings:zr,onHeadingClick:Jr,onClose:()=>mn(false),topOffset:Kr,scrollLeft:Yr}),le&&!Et&&jsx(ih,{onClick:Zr,topPx:Kr+(y?30:0)+48,scrollLeft:Yr})]}),$e&&jsx(nh,{agentPanel:$e,closed:!So,onClose:()=>gt(false)})]}),jsx(uu,{data:ie,onNavigate:Ua$1,onCopy:Ga,onEdit:Wu,onRemove:$u,onClose:Vu,readOnly:Je}),jsx(G,{isOpen:tt.isOpen,position:tt.position,hasSelection:tt.hasSelection,isEditable:!Je,items:ju,onAction:Pl,onClose:Yu}),jsx(iu,{isOpen:St.isOpen,position:St.position,currentWrapType:St.currentWrapType,currentCssFloat:St.currentCssFloat,onApplyLayout:Gu,textActions:Ku,onTextAction:Pl,onOpenProperties:Po,onClose:St.closeMenu}),jsx(Toaster,{position:"bottom-right"}),jsxs(Suspense,{fallback:null,children:[B.state.isOpen&&jsx(Gg,{isOpen:B.state.isOpen,onClose:B.close,onFind:lp,onFindNext:cp,onFindPrevious:dp,onReplace:up,onReplaceAll:pp,initialSearchText:B.state.searchText,replaceMode:B.state.replaceMode,currentResult:yt.current}),N.state.isOpen&&jsx(Kg,{isOpen:N.state.isOpen,onClose:N.close,onSubmit:Io,onRemove:N.state.isEditing?tn:void 0,initialData:N.state.initialData,selectedText:N.state.selectedText,isEditing:N.state.isEditing}),Zt&&jsx(Yg,{isOpen:Zt,onClose:()=>Or(false),onApply:r=>{let o=C();o&&Ir(r)(o.state,o.dispatch);},currentProps:q.pmTableContext?.table?.attrs}),Ve.isOpen&&jsx(jg,{isOpen:Ve.isOpen,onClose:er,onApply:oi,initialRows:Ve.initialRows,initialCols:Ve.initialCols,minRows:Ve.minRows,minCols:Ve.minCols}),In&&jsx(qg,{isOpen:In,onClose:()=>jn(false),onApply:Va$1}),Co&&jsx(Xg,{isOpen:Co,onClose:()=>un(false),onApply:ti,currentData:q.pmImageContext?{alt:q.pmImageContext.alt??void 0,borderWidth:q.pmImageContext.borderWidth??void 0,borderColor:q.pmImageContext.borderColor??void 0,borderStyle:q.pmImageContext.borderStyle??void 0,width:q.pmImageContext.width??void 0,height:q.pmImageContext.height??void 0}:void 0}),G$1&&jsx(Jg,{isOpen:G$1,onClose:()=>J(false),onApply:Qu,currentProps:W.state?.package.document?.finalSectionProperties}),pn&&jsx(Zg,{isOpen:pn,onClose:()=>qn(false),onApply:Oe,footnotePr:W.state?.package.document?.finalSectionProperties?.footnotePr,endnotePr:W.state?.package.document?.finalSectionProperties?.endnotePr})]}),jsx("input",{ref:qo,type:"file",accept:"image/*",style:{display:"none"},onChange:yn}),jsx("input",{ref:Gr,type:"file",accept:".docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document",style:{display:"none"},onChange:sp})]})})})})});function ch(e,t,n={}){return new Promise((i,a)=>{let c=_u.createRef(),s=null;try{s=createRoot(t);}catch(p){a(p);return}let l={save:async()=>{let p=await(c.current?.save()??Promise.resolve(null));return p?new Blob([p],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}):null},getDocument:()=>c.current?.getDocument()??null,focus:()=>c.current?.focus(),setZoom:p=>c.current?.setZoom(p),scrollToParaId:p=>c.current?.scrollToParaId(p)??false,scrollToPosition:p=>c.current?.scrollToPosition(p),destroy:()=>{s?.unmount(),s=null;}},f=false,d=_u.createElement(wl,{...n,documentBuffer:e,onError:p=>{n.onError?.(p),f||(f=true,a(p));},onChange:p=>{n.onChange?.(p),f||(f=true,i(l));},ref:c});s.render(d);})}var nk="0.0.2";export{wl as DocxEditor,nk as VERSION,ch as renderAsync};