@eigenpal/docx-js-editor 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ClipboardManager-BzgQ-SOi.d.cts → ClipboardManager-t936d0KD.d.mts} +1 -1
- package/dist/{DocumentAgent-B9FUoSVS.d.cts → DocumentAgent-BqA9EJ3F.d.mts} +1 -1
- package/dist/FindReplaceDialog-AQFR4OCT.js +1 -1
- package/dist/FindReplaceDialog-N4J5OB7O.mjs +1 -0
- package/dist/FootnotePropertiesDialog-UFUIHLDW.mjs +1 -0
- package/dist/FootnotePropertiesDialog-YYIZU5U6.js +1 -1
- package/dist/HyperlinkDialog-HGZ2S37Z.js +1 -1
- package/dist/HyperlinkDialog-YQSQFHOP.mjs +1 -0
- package/dist/ImagePositionDialog-DQ4JWS4F.js +1 -1
- package/dist/ImagePositionDialog-HT6J2SHV.mjs +1 -0
- package/dist/ImagePropertiesDialog-3VK2S2AF.mjs +1 -0
- package/dist/ImagePropertiesDialog-GJMGLM6G.js +1 -1
- package/dist/PageSetupDialog-3QCVUNDL.mjs +1 -0
- package/dist/PageSetupDialog-ZZTFPZKJ.js +1 -1
- package/dist/TablePropertiesDialog-FI5E3RCB.mjs +1 -0
- package/dist/TablePropertiesDialog-STZOGHJB.js +1 -1
- package/dist/chunk-2KHL5RSD.js +3 -3
- package/dist/chunk-4VUZBV2S.js +1 -1
- package/dist/chunk-6WPRCJ5A.mjs +1 -0
- package/dist/chunk-7HZRJTOL.mjs +4 -0
- package/dist/chunk-AARNCPWR.js +1 -1
- package/dist/chunk-AZRYS2WF.mjs +2 -0
- package/dist/chunk-BUEMG4NW.js +1 -1
- package/dist/chunk-CQRI4YUS.mjs +26 -0
- package/dist/chunk-CTYOM6BE.js +2 -2
- package/dist/{chunk-PRBTINOW.js → chunk-DLVLK5FT.mjs} +2 -2
- package/dist/chunk-FVUGBRDD.js +1 -1
- package/dist/chunk-G72SXG7G.js +258 -0
- package/dist/chunk-H5NTJZO4.js +1 -1
- package/dist/chunk-I6LFWQFR.mjs +59 -0
- package/dist/chunk-IFPN3NT3.js +3 -3
- package/dist/chunk-IRO7KGGC.js +59 -0
- package/dist/chunk-KCUPCJFL.mjs +111 -0
- package/dist/chunk-LYBG4YI7.mjs +1 -0
- package/dist/chunk-M5F4SK3W.mjs +1 -0
- package/dist/chunk-MRWJ3GNH.js +9 -0
- package/dist/chunk-MVCTPHRR.mjs +258 -0
- package/dist/chunk-PB7VMDDP.js +24 -0
- package/dist/chunk-PJVI53AH.js +2 -2
- package/dist/chunk-QAZ4233N.mjs +1 -0
- package/dist/{chunk-OJ7NJK46.cjs → chunk-QQ63M65M.js} +1 -1
- package/dist/chunk-QTSXJRP6.mjs +1 -0
- package/dist/chunk-QVPR2W5S.js +1 -1
- package/dist/chunk-SE5EN2QL.js +1 -1
- package/dist/chunk-TAUMSKRE.mjs +1 -0
- package/dist/{chunk-JO2CKU4O.js → chunk-TDEHAPMZ.mjs} +1 -1
- package/dist/chunk-VHWEKJ35.js +10 -0
- package/dist/chunk-VR6PT4IZ.js +26 -0
- package/dist/chunk-W53SI3XW.mjs +1 -0
- package/dist/chunk-WOHFANC5.mjs +3 -0
- package/dist/chunk-XGL3EGKF.js +7 -7
- package/dist/chunk-XWBCP563.mjs +2 -0
- package/dist/{chunk-TOGKKPIW.js → chunk-YGTSQZRK.mjs} +1 -1
- package/dist/chunk-Z35FA4M4.mjs +10 -0
- package/dist/{clipboard-Cm7udEnb.d.cts → clipboard-BkM7Zvgs.d.mts} +1 -1
- package/dist/{colorResolver-Bu7uJqpw.d.cts → colorResolver-BwI_Uxp3.d.mts} +2 -2
- package/dist/{core-plugins-reexport.d.cts → core-plugins-reexport.d.mts} +4 -4
- package/dist/core-plugins-reexport.js +1 -1
- package/dist/core-plugins-reexport.mjs +1 -0
- package/dist/{core-reexport.d.cts → core-reexport.d.mts} +11 -11
- package/dist/core-reexport.js +1 -1
- package/dist/core-reexport.mjs +1 -0
- package/dist/executor-L2MVKMXO.js +1 -1
- package/dist/executor-XKBCCVNY.mjs +1 -0
- package/dist/{fontLoader-X8ocGzeD.d.cts → fontLoader-DicgJidU.d.mts} +1 -1
- package/dist/{headless-reexport.d.cts → headless-reexport.d.mts} +7 -7
- package/dist/headless-reexport.js +2 -2
- package/dist/headless-reexport.mjs +4 -0
- package/dist/{index.d.cts → index.d.mts} +14 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -6
- package/dist/index.mjs +155 -0
- package/dist/lib-BCT2DRYI.mjs +1 -0
- package/dist/lib-U35UU4OU.js +1 -1
- package/dist/{mcp-reexport.d.cts → mcp-reexport.d.mts} +2 -2
- package/dist/mcp-reexport.js +9 -9
- package/dist/mcp-reexport.mjs +16 -0
- package/dist/processTemplate-5ZST2Q5L.js +1 -0
- package/dist/{processTemplate-CGIQEJ26.js → processTemplate-LRHXOWMZ.mjs} +1 -1
- package/dist/{react-BgZObIoP.d.ts → react-By80Gfi-.d.ts} +4 -0
- package/dist/{react-D9JDP3cV.d.cts → react-C-pJU0Y4.d.mts} +8 -4
- package/dist/{react.d.cts → react.d.mts} +5 -5
- package/dist/react.d.ts +1 -1
- package/dist/react.js +1 -1
- package/dist/react.mjs +1 -0
- package/dist/{registry-Bxb5ZI1z.d.cts → registry-DyIMyB-0.d.mts} +1 -1
- package/dist/selectionRects-6TRAXB7D.js +1 -0
- package/dist/selectionRects-IS7ZAS3A.mjs +1 -0
- package/dist/{types-D03hsi5t.d.cts → types-B3LkfO0u.d.mts} +1 -1
- package/dist/{ui.d.cts → ui.d.mts} +3 -3
- package/dist/ui.js +1 -1
- package/dist/ui.mjs +1 -0
- package/dist/{variableDetector-iGl52A6q.d.cts → variableDetector-CIqTek7A.d.mts} +1 -1
- package/package.json +17 -18
- package/dist/FindReplaceDialog-J3DI3U5I.cjs +0 -1
- package/dist/FootnotePropertiesDialog-DO5DCAW6.cjs +0 -1
- package/dist/HyperlinkDialog-PEPS3C2G.cjs +0 -1
- package/dist/ImagePositionDialog-UYXYHSP4.cjs +0 -1
- package/dist/ImagePropertiesDialog-V6SVKINO.cjs +0 -1
- package/dist/PageSetupDialog-RLMYJ3BA.cjs +0 -1
- package/dist/TablePropertiesDialog-A36OXG3A.cjs +0 -1
- package/dist/chunk-2FYTKTQL.cjs +0 -111
- package/dist/chunk-2VHQ7YOQ.cjs +0 -1
- package/dist/chunk-3YHC2RAO.js +0 -258
- package/dist/chunk-63YB7DGI.js +0 -59
- package/dist/chunk-7OCUAFPO.cjs +0 -258
- package/dist/chunk-HE3SUXOQ.cjs +0 -4
- package/dist/chunk-HRUPO723.js +0 -10
- package/dist/chunk-IA4LPH2A.cjs +0 -1
- package/dist/chunk-JMR5HNJP.cjs +0 -10
- package/dist/chunk-KR32M3S4.cjs +0 -1
- package/dist/chunk-MSV5LTHM.cjs +0 -9
- package/dist/chunk-NLYEW36R.js +0 -26
- package/dist/chunk-NVAQQYBJ.cjs +0 -1
- package/dist/chunk-P7ZF45KZ.cjs +0 -1
- package/dist/chunk-PCJ5ACUV.cjs +0 -1
- package/dist/chunk-PVV7DV3L.cjs +0 -59
- package/dist/chunk-QDNL7NWN.cjs +0 -3
- package/dist/chunk-VPDOOMUJ.cjs +0 -26
- package/dist/chunk-VTAS7VZ6.cjs +0 -2
- package/dist/chunk-XKBIFFAS.cjs +0 -24
- package/dist/chunk-XS2AQFMF.cjs +0 -2
- package/dist/chunk-YS7FDEZ4.cjs +0 -1
- package/dist/core-plugins-reexport.cjs +0 -1
- package/dist/core-reexport.cjs +0 -1
- package/dist/executor-JGWZ7S6Z.cjs +0 -1
- package/dist/headless-reexport.cjs +0 -4
- package/dist/index.cjs +0 -155
- package/dist/lib-SPXD4LFI.cjs +0 -1
- package/dist/mcp-reexport.cjs +0 -16
- package/dist/processTemplate-FOYV6BC5.cjs +0 -1
- package/dist/react.cjs +0 -1
- package/dist/selectionRects-BMXJJCPJ.cjs +0 -1
- package/dist/selectionRects-TWK7CAC3.js +0 -1
- package/dist/ui.cjs +0 -1
- /package/dist/{agentApi-BVHzyk2l.d.cts → agentApi-BVHzyk2l.d.mts} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export{w as DEFAULT_SELECTION_STYLE,j as DocxEditor,a as EditorToolbar,d as ErrorBoundary,c as ErrorProvider,x as HIGH_CONTRAST_SELECTION_STYLE,U as PLUGIN_HOST_STYLES,e as ParseErrorDisplay,V as PluginHost,y as SELECTION_CSS_VARS,f as UnsupportedFeatureWarning,m as ZOOM_PRESETS,P as areSelectionStylesInjected,v as clampZoom,K as clearSelection,Q as createSelectionChangeHandler,p as findNearestZoomPreset,s as formatZoom,S as generateOverlayElements,D as generateSelectionCSS,C as getHighlightRectStyle,B as getMergedSelectionRects,q as getNextZoomPreset,r as getPreviousZoomPreset,F as getSelectedText,H as getSelectionBoundingRect,z as getSelectionRects,h as getUserFriendlyMessage,o as getZoomPresets,E as hasActiveSelection,I as highlightTextRange,N as injectSelectionStyles,g as isParseError,L as isSelectionBackwards,G as isSelectionWithin,u as isZoomPreset,A as mergeAdjacentRects,M as normalizeSelectionDirection,t as parseZoom,O as removeSelectionStyles,k as renderAsync,J as selectRange,l as useAutoSave,T as useClipboard,b as useErrorNotifications,R as useSelectionHighlight,i as useTableSelection,n as useWheelZoom}from'./chunk-3YHC2RAO.js';import'./chunk-JO2CKU4O.js';export{k as ColorPicker,a as ContextMenu,V as InsertImageDialog,da as InsertSymbolDialog,O as InsertTableDialog,qa as KeyboardShortcutsDialog,B as LoadingIndicator,ka as PasteSpecialDialog,l as PrintButton,m as PrintStyles,g as ResponsePreview,J as ResponsiveToolbar,K as ResponsiveToolbarGroup,ca as SYMBOL_CATEGORIES,u as TableInsertButtons,t as TableMergeButton,v as UnsavedIndicator,_ as calculateFitDimensions,S as clampTableConfig,A as createChangeTracker,Q as createDefaultTableConfig,j as createErrorResponse,i as createMockResponse,L as createToolbarItem,M as createToolbarItems,$ as dataUrlToBlob,H as delay,ba as formatFileSize,r as formatPrintPageRange,xa as formatShortcutKeys,T as formatTableDimensions,c as getActionShortcut,f as getAllActions,wa as getAllCategories,z as getAllIndicatorPositions,y as getAllIndicatorVariants,G as getAllLoadingSizes,F as getAllLoadingVariants,na as getAllPasteOptions,va as getCategoryLabel,ua as getCommonShortcuts,e as getDefaultActions,oa as getDefaultPasteOption,p as getDefaultPrintOptions,sa as getDefaultShortcuts,Z as getImageAcceptString,aa as getImageDimensions,E as getLoadingVariantLabel,ma as getPasteOption,N as getRecommendedPriority,ta as getShortcutsByCategory,Y as getSupportedImageExtensions,fa as getSymbolCategories,ha as getSymbolUnicodeInfo,ga as getSymbolsByCategory,U as getTablePresets,x as getVariantLabel,d as isActionAvailable,pa as isPasteSpecialShortcut,s as isPrintSupported,X as isValidImageFile,R as isValidTableConfig,o as openPrintWindow,q as parsePageRange,ia as searchSymbols,ja as symbolFromCodePoint,n as triggerPrint,b as useContextMenu,W as useInsertImageDialog,ea as useInsertSymbolDialog,P as useInsertTableDialog,ra as useKeyboardShortcutsDialog,C as useLoading,D as useLoadingOperations,la as usePasteSpecial,h as useResponsePreview,I as useResponsiveToolbar,w as useUnsavedChanges}from'./chunk-XGL3EGKF.js';export{k as AdvancedColorPicker,l as AlignmentButtons,K as CLIPBOARD_TYPES,g as FontPicker,j as FontSizePicker,y as FormattingBar,E as HorizontalRuler,J as INTERNAL_CLIPBOARD_TYPE,o as LineSpacingPicker,m as ListButtons,p as StylePicker,s as TableBorderColorPicker,r as TableBorderPicker,t as TableBorderWidthPicker,u as TableCellFillPicker,v as TableMoreDropdown,da as TableToolbar,Z as TextContextMenu,D as Toolbar,A as ToolbarButton,B as ToolbarGroup,C as ToolbarSeparator,q as ZoomControl,ja as addColumn,ha as addRow,W as cleanWordHtml,N as copyParagraphs,M as copyRuns,Y as createClipboardHandlers,n as createDefaultListState,ea as createTableContext,ka as deleteColumn,ia as deleteRow,ga as getCellAt,fa as getColumnCount,ba as getDefaultTextContextMenuItems,H as getMarginInUnits,G as getRulerDimensions,$ as getTextActionLabel,aa as getTextActionShortcut,S as handlePasteEvent,X as htmlToRuns,V as isEditorHtml,ca as isTextActionAvailable,U as isWordHtml,la as mergeCells,P as paragraphsToClipboardContent,T as parseClipboardHtml,I as parseMarginFromUnits,F as positionToMargin,R as readFromClipboard,O as runsToClipboardContent,ma as splitCell,_ as useTextContextMenu,Q as writeToClipboard}from'./chunk-2KHL5RSD.js';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-CTYOM6BE.js';export{d as HyperlinkDialog,m as useHyperlinkDialog}from'./chunk-PJVI53AH.js';export{x as TABLE_DATA_ATTRIBUTES,n as countPageBreaks,b as createColumnBreak,g as createHorizontalRule,c as createLineBreak,a as createPageBreak,e as createPageBreakParagraph,d as createPageBreakRun,F as createSelectionFromDOM,o as findPageBreaks,s as formatLastSaveTime,v as formatStorageSize,t as getAutoSaveStatusLabel,u as getAutoSaveStorageSize,E as getSelectionRuns,m as hasPageBreakBefore,h as insertHorizontalRule,f as insertPageBreak,w as isAutoSaveSupported,l as isBreakContent,j as isColumnBreak,k as isLineBreak,i as isPageBreak,p as removePageBreak}from'./chunk-FVUGBRDD.js';import'./chunk-QVPR2W5S.js';export{f as DocumentAgent,m as buildExtendedSelectionContext,l as buildSelectionContext,e as createDocumentWithText,d as createEmptyDocument,i as getAgentContext,k as getDocumentSummary}from'./chunk-TOGKKPIW.js';export{l as blendColors,q as colorsEqual,i as createRgbColor,h as createThemeColor,j as darkenColor,f as getContrastingColor,d as isBlack,e as isWhite,k as lightenColor,g as parseColorString,a as resolveColor,b as resolveHighlightColor,c as resolveShadingColor}from'./chunk-4VUZBV2S.js';export{o as docxtemplaterPlugin}from'./chunk-HRUPO723.js';export{e as getTemplateTags,a as processTemplate,c as processTemplateAsBlob,b as processTemplateDetailed,f as validateTemplate}from'./chunk-PRBTINOW.js';export{b as serializeDocumentBody,c as serializeDocx,a as serializeSectionProperties}from'./chunk-63YB7DGI.js';export{a as executeCommand,b as executeCommands}from'./chunk-AARNCPWR.js';export{i as canRenderFont,g as getLoadedFonts,e as isFontLoaded,f as isFontsLoading,c as loadFont,j as loadFontFromBuffer,d as loadFonts,h as onFontsLoaded,n as parseDocx,k as preloadCommonFonts,m as toArrayBuffer}from'./chunk-NLYEW36R.js';export{a as PluginRegistry,b as pluginRegistry,c as registerPlugins}from'./chunk-BUEMG4NW.js';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-SE5EN2QL.js';import'./chunk-IFPN3NT3.js';import'./chunk-H5NTJZO4.js';import ye,{useState,useRef,useMemo,useCallback,useEffect}from'react';import {PluginKey,TextSelection,Plugin}from'prosemirror-state';import {DecorationSet,Decoration}from'prosemirror-view';import {jsx,jsxs}from'react/jsx-runtime';var Ra=/[\p{L}\p{N}''\-]/u,Aa=/\s/;function M(e){return !e||e.length===0?false:Ra.test(e)}function K(e){return !e||e.length===0?false:Aa.test(e)}function R(e,t){if(!e||e.length===0)return [0,0];t=Math.max(0,Math.min(t,e.length-1));let o=e[t];if(K(o)){let n=t,r=t;for(;n>0&&K(e[n-1]);)n--;for(;r<e.length&&K(e[r]);)r++;return [n,r]}if(M(o)){let n=t,r=t;for(;n>0&&M(e[n-1]);)n--;for(;r<e.length&&M(e[r]);)r++;return [n,r]}return [t,t+1]}function wa(e,t){let[o,n]=R(e,t);return e.slice(o,n)}function Ia(e,t){let[o,n]=R(e,t);return {word:e.slice(o,n),startIndex:o,endIndex:n}}function $(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0),o=t.startContainer;if(o.nodeType===Node.TEXT_NODE){let n=o.textContent||"",r=t.startOffset,[a,i]=R(n,r);if(i>a)return t.setStart(o,a),t.setEnd(o,i),e.removeAllRanges(),e.addRange(t),true}if(o.nodeType===Node.ELEMENT_NODE){let n=o,r=q(n);if(r.length>0){let a=t.startOffset,i=null,l=a;if(a<n.childNodes.length){let p=n.childNodes[a];if(p.nodeType===Node.TEXT_NODE)i=p,l=0;else if(p instanceof Element){let d=q(p);d.length>0&&(i=d[0],l=0);}}if(!i&&r.length>0&&(i=r[0],l=0),i){let p=i.textContent||"",[d,c]=R(p,l);if(c>d){let u=document.createRange();return u.setStart(i,d),u.setEnd(i,c),e.removeAllRanges(),e.addRange(u),true}}}}return false}function Na(e,t){let o=window.getSelection();if(!o)return false;let n=e.textContent||"",[r,a]=R(n,t);if(a>r){let i=document.createRange();return i.setStart(e,r),i.setEnd(e,a),o.removeAllRanges(),o.addRange(i),true}return false}function Oa(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0);if(t.collapsed)return $();let o=t.startContainer,n=t.endContainer,r=t.startOffset,a=t.endOffset;if(o.nodeType===Node.TEXT_NODE){let i=o.textContent||"",[l]=R(i,t.startOffset);r=l;}if(n.nodeType===Node.TEXT_NODE){let i=n.textContent||"",l=Math.max(0,t.endOffset-1),[,p]=R(i,l);a=p;}try{return t.setStart(o,r),t.setEnd(n,a),e.removeAllRanges(),e.addRange(t),!0}catch(i){return console.warn("Could not expand selection to word boundaries:",i),false}}function J(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let o=e.getRangeAt(0).commonAncestorContainer,n=Da(o);if(n){let r=document.createRange();return r.selectNodeContents(n),e.removeAllRanges(),e.addRange(r),true}return false}function Da(e){if(!e)return null;let t=e;for(;t;){if(t instanceof Element&&t.hasAttribute("data-paragraph-index"))return t;t=t.parentNode;}return null}function q(e){let t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),n;for(;n=o.nextNode();)n.nodeType===Node.TEXT_NODE&&t.push(n);return t}var V=0,O=null,G=null,La=500;function j(){V=0,G=null,O&&(clearTimeout(O),O=null);}function Q(e){return e.target!==G&&j(),V++,G=e.target,O&&clearTimeout(O),O=setTimeout(j,La),Math.min(V,3)}function ka(){return e=>{e.ctrlKey||e.metaKey||e.altKey||$();}}function Ma(){return e=>{if(Q(e)===3){if(e.ctrlKey||e.metaKey||e.altKey)return;J();}}}function P(e){return e?/[\p{L}\p{N}_]/u.test(e):false}function Y(e){return e?/\s/.test(e):false}function Ka(e){return e?/[\p{P}]/u.test(e):false}function Ha(e,t){if(t<=0)return 0;t>e.length&&(t=e.length);let o=t;for(;o>0&&Y(e[o-1]);)o--;if(o===0)return 0;for(;o>0&&P(e[o-1]);)o--;return o}function _a(e,t){if(t>=e.length)return e.length;t<0&&(t=0);let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&Y(e[o]);)o++;return o}function ee(e,t){if(t>=e.length)return e.length;let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&!P(e[o]);)o++;return o}function te(e,t){if(t<=0)return 0;let o=t;for(;o>0&&!P(e[o-1]);)o--;for(;o>0&&P(e[o-1]);)o--;return o}function oe(e,t){if(!window.getSelection())return null;let n=document.createRange();if(e.nodeType===Node.TEXT_NODE){n.setStart(e,Math.min(t,e.textContent?.length||0)),n.collapse(true);let a=n.getBoundingClientRect().top,i=0,l=t;for(;i<l;){let p=Math.floor((i+l)/2);n.setStart(e,p),n.collapse(true);let d=n.getBoundingClientRect();Math.abs(d.top-a)<2?l=p:i=p+1;}return {node:e,offset:i}}return null}function ne(e,t){if(!window.getSelection())return null;let n=e.textContent?.length||0,r=document.createRange();if(e.nodeType===Node.TEXT_NODE){r.setStart(e,Math.min(t,n)),r.collapse(true);let i=r.getBoundingClientRect().top,l=t,p=n;for(;l<p;){let d=Math.ceil((l+p)/2);r.setStart(e,d),r.collapse(true);let c=r.getBoundingClientRect();Math.abs(c.top-i)<2?l=d:p=d-1;}return {node:e,offset:l}}return null}function Ba(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.getRangeAt(0);return {node:t.startContainer,offset:t.startOffset,anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset,isCollapsed:e.isCollapsed,text:e.toString()}}function H(e,t){let o=window.getSelection();if(!o)return;let n=document.createRange(),r=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;n.setStart(e,Math.min(t,r)),n.collapse(true),o.removeAllRanges(),o.addRange(n);}function _(e,t){let o=window.getSelection();if(!(!o||!o.anchorNode))try{o.extend(e,Math.min(t,e.textContent?.length||0));}catch{let n=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;o.setBaseAndExtent(o.anchorNode,o.anchorOffset,e,Math.min(t,n));}}function re(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n||n.nodeType!==Node.TEXT_NODE)return false;let r=n.textContent||"",a=o.focusOffset,i;return e==="left"?i=te(r,a):i=ee(r,a),t?_(n,i):H(n,i),true}function ae(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n)return false;if(n.nodeType===Node.TEXT_NODE){let i=e==="start"?oe(n,o.focusOffset):ne(n,o.focusOffset);if(i)return t?_(i.node,i.offset):H(i.node,i.offset),true}let r=n.textContent||"",a=e==="start"?0:r.length;return t?_(n,a):H(n,a),true}function ie(e){let{key:t,ctrlKey:o,metaKey:n,shiftKey:r,altKey:a}=e,i=o||n;switch(t){case "ArrowLeft":if(i)return {direction:"left",unit:"word",extend:r};break;case "ArrowRight":if(i)return {direction:"right",unit:"word",extend:r};break;case "Home":return i?{direction:"left",unit:"document",extend:r}:{direction:"left",unit:"line",extend:r};case "End":return i?{direction:"right",unit:"document",extend:r}:{direction:"right",unit:"line",extend:r}}return null}function Wa(e,t){let o=ie(e);if(!o)return false;switch(o.unit){case "word":if((o.direction==="left"||o.direction==="right")&&re(o.direction,o.extend))return e.preventDefault(),true;break;case "line":let n=o.direction==="left"?"start":"end";if(ae(n,o.extend))return e.preventDefault(),true;break;case "document":if(o.direction==="left"&&t?.onDocumentStart)return e.preventDefault(),t.onDocumentStart(),true;if(o.direction==="right"&&t?.onDocumentEnd)return e.preventDefault(),t.onDocumentEnd(),true;break}return false}function Fa(e){let{key:t,ctrlKey:o,metaKey:n}=e;return !!((o||n)&&(t==="ArrowLeft"||t==="ArrowRight")||t==="Home"||t==="End")}function Ua(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return false;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;if(r===a)return false;let i=document.createRange();return i.setStart(t,r),i.setEnd(t,a),e.removeAllRanges(),e.addRange(i),true}function za(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return null;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;return r===a?null:o.slice(r,a)}function Va(e,t){let o=e.ctrlKey||e.metaKey,n=t.ctrlKey||t.metaKey;return e.key.toLowerCase()===t.key.toLowerCase()&&o===!!n&&e.shiftKey===!!t.shiftKey&&e.altKey===!!t.altKey}var T={wordLeft:{key:"ArrowLeft",ctrlKey:true},wordRight:{key:"ArrowRight",ctrlKey:true},selectWordLeft:{key:"ArrowLeft",ctrlKey:true,shiftKey:true},selectWordRight:{key:"ArrowRight",ctrlKey:true,shiftKey:true},lineStart:{key:"Home"},lineEnd:{key:"End"},selectToLineStart:{key:"Home",shiftKey:true},selectToLineEnd:{key:"End",shiftKey:true},documentStart:{key:"Home",ctrlKey:true},documentEnd:{key:"End",ctrlKey:true},selectToDocumentStart:{key:"Home",ctrlKey:true,shiftKey:true},selectToDocumentEnd:{key:"End",ctrlKey:true,shiftKey:true}};function S(e){let t=[];if(e.ctrlKey||e.metaKey){let n=typeof navigator<"u"&&/Mac/i.test(navigator.platform);t.push(n?"\u2318":"Ctrl");}e.shiftKey&&t.push("Shift"),e.altKey&&t.push("Alt");let o=e.key;return o==="ArrowLeft"?o="\u2190":o==="ArrowRight"?o="\u2192":o==="ArrowUp"?o="\u2191":o==="ArrowDown"&&(o="\u2193"),t.push(o),t.join("+")}function Ga(){return [{action:"Move by word (left)",shortcut:S(T.wordLeft)},{action:"Move by word (right)",shortcut:S(T.wordRight)},{action:"Select word (left)",shortcut:S(T.selectWordLeft)},{action:"Select word (right)",shortcut:S(T.selectWordRight)},{action:"Go to line start",shortcut:S(T.lineStart)},{action:"Go to line end",shortcut:S(T.lineEnd)},{action:"Select to line start",shortcut:S(T.selectToLineStart)},{action:"Select to line end",shortcut:S(T.selectToLineEnd)},{action:"Go to document start",shortcut:S(T.documentStart)},{action:"Go to document end",shortcut:S(T.documentEnd)},{action:"Select to document start",shortcut:S(T.selectToDocumentStart)},{action:"Select to document end",shortcut:S(T.selectToDocumentEnd)}]}var se=/\{([#/^@]?)([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}/g,m=new PluginKey("template");function Xa(e,t,o){return `${e}:${t}:${o}`}function le(e){let t=[];e.descendants((p,d)=>(p.isText&&p.text&&t.push({text:p.text,pos:d}),true));let o="",n=[];for(let p of t){for(let d=0;d<p.text.length;d++)n.push(p.pos+d);o+=p.text;}let r=[],a=[],i=new Map,l;for(se.lastIndex=0;(l=se.exec(o))!==null;){let[p,d,c]=l,u=n[l.index],x=n[l.index+p.length-1]+1,g;d==="#"?g="sectionStart":d==="/"?g="sectionEnd":d==="^"?g="invertedStart":d==="@"?g="raw":g="variable";let b=`${g}:${c}`,k=i.get(b)??0;i.set(b,k+1);let w={id:Xa(g,c,k),type:g,name:c,rawTag:p,from:u,to:x};if(g==="sectionStart"||g==="invertedStart")w.nestedVars=[],a.push(w);else if(g==="sectionEnd"){for(let s=a.length-1;s>=0;s--)if(a[s].name===c){a.splice(s,1);break}}else g==="variable"&&a.length>0&&(a[a.length-1].nestedVars?.push(c),w.insideSection=true);r.push(w);}return r}function qa(e){switch(e){case "sectionStart":case "sectionEnd":return "#3b82f6";case "invertedStart":return "#8b5cf6";case "raw":return "#ef4444";default:return "#f59e0b"}}function Z(e,t,o,n){let r=[];for(let a of t){let i=a.id===o,l=a.id===n,p=qa(a.type),d=["docx-template-tag"];i&&d.push("hovered"),l&&d.push("selected"),r.push(Decoration.inline(a.from,a.to,{class:d.join(" "),"data-tag-id":a.id,style:`background-color: ${p}22; border-radius: 2px;`}));}return DecorationSet.create(e,r)}function ja(e,t){if(e.length!==t.length)return false;for(let o=0;o<e.length;o++)if(e[o].id!==t[o].id)return false;return true}function B(){return new Plugin({key:m,state:{init(e,t){let o=le(t.doc);return {tags:o,decorations:Z(t.doc,o)}},apply(e,t,o,n){if(e.docChanged){let a=le(n.doc),i=ja(t.tags,a);return {tags:a,decorations:i?t.decorations.map(e.mapping,e.doc):Z(n.doc,a,t.hoveredId,t.selectedId),hoveredId:t.hoveredId,selectedId:t.selectedId}}let r=e.getMeta(m);if(r){let a=r.hoveredId??t.hoveredId,i=r.selectedId??t.selectedId;return {...t,hoveredId:a,selectedId:i,decorations:Z(n.doc,t.tags,a,i)}}return {...t,decorations:t.decorations.map(e.mapping,e.doc)}}},props:{decorations(e){return m.getState(e)?.decorations??DecorationSet.empty},handleClick(e,t){let n=(m.getState(e.state)?.tags??[]).find(a=>t>=a.from&&t<=a.to);return n?(e.dispatch(e.state.tr.setMeta(m,{selectedId:n.id})),true):(m.getState(e.state)?.selectedId&&e.dispatch(e.state.tr.setMeta(m,{selectedId:void 0})),false)},handleDOMEvents:{mouseover(e,t){let n=t.target.closest?.("[data-tag-id]")?.getAttribute("data-tag-id")||void 0,r=m.getState(e.state)?.hoveredId;return n!==r&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:n})),false},mouseout(e,t){return t.relatedTarget?.closest?.("[data-tag-id]")||m.getState(e.state)?.hoveredId&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:void 0})),false}}}})}function pe(e){return m.getState(e)?.tags??[]}function D(e,t){e.dispatch(e.state.tr.setMeta(m,{hoveredId:t}));}function L(e,t){e.dispatch(e.state.tr.setMeta(m,{selectedId:t}));}var W=`
|
|
1
|
+
'use strict';var chunkG72SXG7G_js=require('./chunk-G72SXG7G.js');require('./chunk-QQ63M65M.js');var chunkXGL3EGKF_js=require('./chunk-XGL3EGKF.js'),chunk2KHL5RSD_js=require('./chunk-2KHL5RSD.js'),chunkCTYOM6BE_js=require('./chunk-CTYOM6BE.js'),chunkPJVI53AH_js=require('./chunk-PJVI53AH.js'),chunkFVUGBRDD_js=require('./chunk-FVUGBRDD.js');require('./chunk-QVPR2W5S.js');var chunkMRWJ3GNH_js=require('./chunk-MRWJ3GNH.js'),chunk4VUZBV2S_js=require('./chunk-4VUZBV2S.js'),chunkVHWEKJ35_js=require('./chunk-VHWEKJ35.js'),chunkPB7VMDDP_js=require('./chunk-PB7VMDDP.js'),chunkIRO7KGGC_js=require('./chunk-IRO7KGGC.js'),chunkAARNCPWR_js=require('./chunk-AARNCPWR.js'),chunkVR6PT4IZ_js=require('./chunk-VR6PT4IZ.js'),chunkBUEMG4NW_js=require('./chunk-BUEMG4NW.js'),chunkSE5EN2QL_js=require('./chunk-SE5EN2QL.js');require('./chunk-IFPN3NT3.js'),require('./chunk-H5NTJZO4.js');var ye=require('react'),prosemirrorState=require('prosemirror-state'),prosemirrorView=require('prosemirror-view'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ye__default=/*#__PURE__*/_interopDefault(ye);var Ra=/[\p{L}\p{N}''\-]/u,Aa=/\s/;function M(e){return !e||e.length===0?false:Ra.test(e)}function K(e){return !e||e.length===0?false:Aa.test(e)}function R(e,t){if(!e||e.length===0)return [0,0];t=Math.max(0,Math.min(t,e.length-1));let o=e[t];if(K(o)){let n=t,r=t;for(;n>0&&K(e[n-1]);)n--;for(;r<e.length&&K(e[r]);)r++;return [n,r]}if(M(o)){let n=t,r=t;for(;n>0&&M(e[n-1]);)n--;for(;r<e.length&&M(e[r]);)r++;return [n,r]}return [t,t+1]}function wa(e,t){let[o,n]=R(e,t);return e.slice(o,n)}function Ia(e,t){let[o,n]=R(e,t);return {word:e.slice(o,n),startIndex:o,endIndex:n}}function $(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0),o=t.startContainer;if(o.nodeType===Node.TEXT_NODE){let n=o.textContent||"",r=t.startOffset,[a,i]=R(n,r);if(i>a)return t.setStart(o,a),t.setEnd(o,i),e.removeAllRanges(),e.addRange(t),true}if(o.nodeType===Node.ELEMENT_NODE){let n=o,r=q(n);if(r.length>0){let a=t.startOffset,i=null,l=a;if(a<n.childNodes.length){let p=n.childNodes[a];if(p.nodeType===Node.TEXT_NODE)i=p,l=0;else if(p instanceof Element){let d=q(p);d.length>0&&(i=d[0],l=0);}}if(!i&&r.length>0&&(i=r[0],l=0),i){let p=i.textContent||"",[d,c]=R(p,l);if(c>d){let u=document.createRange();return u.setStart(i,d),u.setEnd(i,c),e.removeAllRanges(),e.addRange(u),true}}}}return false}function Na(e,t){let o=window.getSelection();if(!o)return false;let n=e.textContent||"",[r,a]=R(n,t);if(a>r){let i=document.createRange();return i.setStart(e,r),i.setEnd(e,a),o.removeAllRanges(),o.addRange(i),true}return false}function Oa(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0);if(t.collapsed)return $();let o=t.startContainer,n=t.endContainer,r=t.startOffset,a=t.endOffset;if(o.nodeType===Node.TEXT_NODE){let i=o.textContent||"",[l]=R(i,t.startOffset);r=l;}if(n.nodeType===Node.TEXT_NODE){let i=n.textContent||"",l=Math.max(0,t.endOffset-1),[,p]=R(i,l);a=p;}try{return t.setStart(o,r),t.setEnd(n,a),e.removeAllRanges(),e.addRange(t),!0}catch(i){return console.warn("Could not expand selection to word boundaries:",i),false}}function J(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let o=e.getRangeAt(0).commonAncestorContainer,n=Da(o);if(n){let r=document.createRange();return r.selectNodeContents(n),e.removeAllRanges(),e.addRange(r),true}return false}function Da(e){if(!e)return null;let t=e;for(;t;){if(t instanceof Element&&t.hasAttribute("data-paragraph-index"))return t;t=t.parentNode;}return null}function q(e){let t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),n;for(;n=o.nextNode();)n.nodeType===Node.TEXT_NODE&&t.push(n);return t}var V=0,O=null,G=null,La=500;function j(){V=0,G=null,O&&(clearTimeout(O),O=null);}function Q(e){return e.target!==G&&j(),V++,G=e.target,O&&clearTimeout(O),O=setTimeout(j,La),Math.min(V,3)}function ka(){return e=>{e.ctrlKey||e.metaKey||e.altKey||$();}}function Ma(){return e=>{if(Q(e)===3){if(e.ctrlKey||e.metaKey||e.altKey)return;J();}}}function P(e){return e?/[\p{L}\p{N}_]/u.test(e):false}function Y(e){return e?/\s/.test(e):false}function Ka(e){return e?/[\p{P}]/u.test(e):false}function Ha(e,t){if(t<=0)return 0;t>e.length&&(t=e.length);let o=t;for(;o>0&&Y(e[o-1]);)o--;if(o===0)return 0;for(;o>0&&P(e[o-1]);)o--;return o}function _a(e,t){if(t>=e.length)return e.length;t<0&&(t=0);let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&Y(e[o]);)o++;return o}function ee(e,t){if(t>=e.length)return e.length;let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&!P(e[o]);)o++;return o}function te(e,t){if(t<=0)return 0;let o=t;for(;o>0&&!P(e[o-1]);)o--;for(;o>0&&P(e[o-1]);)o--;return o}function oe(e,t){if(!window.getSelection())return null;let n=document.createRange();if(e.nodeType===Node.TEXT_NODE){n.setStart(e,Math.min(t,e.textContent?.length||0)),n.collapse(true);let a=n.getBoundingClientRect().top,i=0,l=t;for(;i<l;){let p=Math.floor((i+l)/2);n.setStart(e,p),n.collapse(true);let d=n.getBoundingClientRect();Math.abs(d.top-a)<2?l=p:i=p+1;}return {node:e,offset:i}}return null}function ne(e,t){if(!window.getSelection())return null;let n=e.textContent?.length||0,r=document.createRange();if(e.nodeType===Node.TEXT_NODE){r.setStart(e,Math.min(t,n)),r.collapse(true);let i=r.getBoundingClientRect().top,l=t,p=n;for(;l<p;){let d=Math.ceil((l+p)/2);r.setStart(e,d),r.collapse(true);let c=r.getBoundingClientRect();Math.abs(c.top-i)<2?l=d:p=d-1;}return {node:e,offset:l}}return null}function Ba(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.getRangeAt(0);return {node:t.startContainer,offset:t.startOffset,anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset,isCollapsed:e.isCollapsed,text:e.toString()}}function H(e,t){let o=window.getSelection();if(!o)return;let n=document.createRange(),r=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;n.setStart(e,Math.min(t,r)),n.collapse(true),o.removeAllRanges(),o.addRange(n);}function _(e,t){let o=window.getSelection();if(!(!o||!o.anchorNode))try{o.extend(e,Math.min(t,e.textContent?.length||0));}catch{let n=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;o.setBaseAndExtent(o.anchorNode,o.anchorOffset,e,Math.min(t,n));}}function re(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n||n.nodeType!==Node.TEXT_NODE)return false;let r=n.textContent||"",a=o.focusOffset,i;return e==="left"?i=te(r,a):i=ee(r,a),t?_(n,i):H(n,i),true}function ae(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n)return false;if(n.nodeType===Node.TEXT_NODE){let i=e==="start"?oe(n,o.focusOffset):ne(n,o.focusOffset);if(i)return t?_(i.node,i.offset):H(i.node,i.offset),true}let r=n.textContent||"",a=e==="start"?0:r.length;return t?_(n,a):H(n,a),true}function ie(e){let{key:t,ctrlKey:o,metaKey:n,shiftKey:r,altKey:a}=e,i=o||n;switch(t){case "ArrowLeft":if(i)return {direction:"left",unit:"word",extend:r};break;case "ArrowRight":if(i)return {direction:"right",unit:"word",extend:r};break;case "Home":return i?{direction:"left",unit:"document",extend:r}:{direction:"left",unit:"line",extend:r};case "End":return i?{direction:"right",unit:"document",extend:r}:{direction:"right",unit:"line",extend:r}}return null}function Wa(e,t){let o=ie(e);if(!o)return false;switch(o.unit){case "word":if((o.direction==="left"||o.direction==="right")&&re(o.direction,o.extend))return e.preventDefault(),true;break;case "line":let n=o.direction==="left"?"start":"end";if(ae(n,o.extend))return e.preventDefault(),true;break;case "document":if(o.direction==="left"&&t?.onDocumentStart)return e.preventDefault(),t.onDocumentStart(),true;if(o.direction==="right"&&t?.onDocumentEnd)return e.preventDefault(),t.onDocumentEnd(),true;break}return false}function Fa(e){let{key:t,ctrlKey:o,metaKey:n}=e;return !!((o||n)&&(t==="ArrowLeft"||t==="ArrowRight")||t==="Home"||t==="End")}function Ua(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return false;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;if(r===a)return false;let i=document.createRange();return i.setStart(t,r),i.setEnd(t,a),e.removeAllRanges(),e.addRange(i),true}function za(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return null;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;return r===a?null:o.slice(r,a)}function Va(e,t){let o=e.ctrlKey||e.metaKey,n=t.ctrlKey||t.metaKey;return e.key.toLowerCase()===t.key.toLowerCase()&&o===!!n&&e.shiftKey===!!t.shiftKey&&e.altKey===!!t.altKey}var T={wordLeft:{key:"ArrowLeft",ctrlKey:true},wordRight:{key:"ArrowRight",ctrlKey:true},selectWordLeft:{key:"ArrowLeft",ctrlKey:true,shiftKey:true},selectWordRight:{key:"ArrowRight",ctrlKey:true,shiftKey:true},lineStart:{key:"Home"},lineEnd:{key:"End"},selectToLineStart:{key:"Home",shiftKey:true},selectToLineEnd:{key:"End",shiftKey:true},documentStart:{key:"Home",ctrlKey:true},documentEnd:{key:"End",ctrlKey:true},selectToDocumentStart:{key:"Home",ctrlKey:true,shiftKey:true},selectToDocumentEnd:{key:"End",ctrlKey:true,shiftKey:true}};function S(e){let t=[];if(e.ctrlKey||e.metaKey){let n=typeof navigator<"u"&&/Mac/i.test(navigator.platform);t.push(n?"\u2318":"Ctrl");}e.shiftKey&&t.push("Shift"),e.altKey&&t.push("Alt");let o=e.key;return o==="ArrowLeft"?o="\u2190":o==="ArrowRight"?o="\u2192":o==="ArrowUp"?o="\u2191":o==="ArrowDown"&&(o="\u2193"),t.push(o),t.join("+")}function Ga(){return [{action:"Move by word (left)",shortcut:S(T.wordLeft)},{action:"Move by word (right)",shortcut:S(T.wordRight)},{action:"Select word (left)",shortcut:S(T.selectWordLeft)},{action:"Select word (right)",shortcut:S(T.selectWordRight)},{action:"Go to line start",shortcut:S(T.lineStart)},{action:"Go to line end",shortcut:S(T.lineEnd)},{action:"Select to line start",shortcut:S(T.selectToLineStart)},{action:"Select to line end",shortcut:S(T.selectToLineEnd)},{action:"Go to document start",shortcut:S(T.documentStart)},{action:"Go to document end",shortcut:S(T.documentEnd)},{action:"Select to document start",shortcut:S(T.selectToDocumentStart)},{action:"Select to document end",shortcut:S(T.selectToDocumentEnd)}]}var se=/\{([#/^@]?)([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}/g,m=new prosemirrorState.PluginKey("template");function Xa(e,t,o){return `${e}:${t}:${o}`}function le(e){let t=[];e.descendants((p,d)=>(p.isText&&p.text&&t.push({text:p.text,pos:d}),true));let o="",n=[];for(let p of t){for(let d=0;d<p.text.length;d++)n.push(p.pos+d);o+=p.text;}let r=[],a=[],i=new Map,l;for(se.lastIndex=0;(l=se.exec(o))!==null;){let[p,d,c]=l,u=n[l.index],x=n[l.index+p.length-1]+1,g;d==="#"?g="sectionStart":d==="/"?g="sectionEnd":d==="^"?g="invertedStart":d==="@"?g="raw":g="variable";let b=`${g}:${c}`,k=i.get(b)??0;i.set(b,k+1);let w={id:Xa(g,c,k),type:g,name:c,rawTag:p,from:u,to:x};if(g==="sectionStart"||g==="invertedStart")w.nestedVars=[],a.push(w);else if(g==="sectionEnd"){for(let s=a.length-1;s>=0;s--)if(a[s].name===c){a.splice(s,1);break}}else g==="variable"&&a.length>0&&(a[a.length-1].nestedVars?.push(c),w.insideSection=true);r.push(w);}return r}function qa(e){switch(e){case "sectionStart":case "sectionEnd":return "#3b82f6";case "invertedStart":return "#8b5cf6";case "raw":return "#ef4444";default:return "#f59e0b"}}function Z(e,t,o,n){let r=[];for(let a of t){let i=a.id===o,l=a.id===n,p=qa(a.type),d=["docx-template-tag"];i&&d.push("hovered"),l&&d.push("selected"),r.push(prosemirrorView.Decoration.inline(a.from,a.to,{class:d.join(" "),"data-tag-id":a.id,style:`background-color: ${p}22; border-radius: 2px;`}));}return prosemirrorView.DecorationSet.create(e,r)}function ja(e,t){if(e.length!==t.length)return false;for(let o=0;o<e.length;o++)if(e[o].id!==t[o].id)return false;return true}function B(){return new prosemirrorState.Plugin({key:m,state:{init(e,t){let o=le(t.doc);return {tags:o,decorations:Z(t.doc,o)}},apply(e,t,o,n){if(e.docChanged){let a=le(n.doc),i=ja(t.tags,a);return {tags:a,decorations:i?t.decorations.map(e.mapping,e.doc):Z(n.doc,a,t.hoveredId,t.selectedId),hoveredId:t.hoveredId,selectedId:t.selectedId}}let r=e.getMeta(m);if(r){let a=r.hoveredId??t.hoveredId,i=r.selectedId??t.selectedId;return {...t,hoveredId:a,selectedId:i,decorations:Z(n.doc,t.tags,a,i)}}return {...t,decorations:t.decorations.map(e.mapping,e.doc)}}},props:{decorations(e){return m.getState(e)?.decorations??prosemirrorView.DecorationSet.empty},handleClick(e,t){let n=(m.getState(e.state)?.tags??[]).find(a=>t>=a.from&&t<=a.to);return n?(e.dispatch(e.state.tr.setMeta(m,{selectedId:n.id})),true):(m.getState(e.state)?.selectedId&&e.dispatch(e.state.tr.setMeta(m,{selectedId:void 0})),false)},handleDOMEvents:{mouseover(e,t){let n=t.target.closest?.("[data-tag-id]")?.getAttribute("data-tag-id")||void 0,r=m.getState(e.state)?.hoveredId;return n!==r&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:n})),false},mouseout(e,t){return t.relatedTarget?.closest?.("[data-tag-id]")||m.getState(e.state)?.hoveredId&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:void 0})),false}}}})}function pe(e){return m.getState(e)?.tags??[]}function D(e,t){e.dispatch(e.state.tr.setMeta(m,{hoveredId:t}));}function L(e,t){e.dispatch(e.state.tr.setMeta(m,{selectedId:t}));}var W=`
|
|
2
2
|
.docx-template-tag {
|
|
3
3
|
cursor: pointer;
|
|
4
4
|
transition: background-color 0.1s;
|
|
@@ -12,8 +12,8 @@ export{w as DEFAULT_SELECTION_STYLE,j as DocxEditor,a as EditorToolbar,d as Erro
|
|
|
12
12
|
.docx-template-tag.selected {
|
|
13
13
|
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
|
|
14
14
|
}
|
|
15
|
-
`;var ti={variable:"#f59e0b",sectionStart:"#3b82f6",sectionEnd:"#3b82f6",invertedStart:"#8b5cf6",raw:"#ef4444"};function oi(e){switch(e){case "sectionStart":return "LOOP / IF";case "invertedStart":return "IF NOT";case "raw":return "HTML";default:return ""}}function U({editorView:e,pluginState:t,renderedDomContext:o}){let n=t?.tags??[],r=t?.hoveredId,a=t?.selectedId,[i,l]=useState(0),p=useRef(null),d=useRef(new Map),c=useRef([]),u=useMemo(()=>n.filter(s=>s.type!=="sectionEnd"&&!s.insideSection),[n]),x=useCallback(()=>{if(u.length===0||!o)return c.current;let s=[],h=o.getContainerOffset(),E=new Map;for(let f of c.current)E.set(f.tag.id,f.top);for(let f of u){let y=o.getRectsForRange(f.from,f.from+1);if(y.length>0){let v=y[0].y+h.y-40;s.push({tag:f,top:v});}else {let v=E.get(f.id);v!==void 0&&s.push({tag:f,top:v});}}s.sort((f,y)=>f.top-y.top);let I=6;for(let f=1;f<s.length;f++){let y=s[f-1],v=s[f],C=d.current.get(y.tag.id),N=32;C?N=C.offsetHeight:y.tag.nestedVars&&y.tag.nestedVars.length>0&&(N=42+y.tag.nestedVars.length*26),v.top<y.top+N+I&&(v.top=y.top+N+I);}return c.current=s,s},[u,o]),g=useMemo(()=>x(),[x,i]);useEffect(()=>{if(!o)return;let s=new ResizeObserver(()=>{requestAnimationFrame(()=>l(h=>h+1));});return s.observe(o.pagesContainer),()=>s.disconnect()},[o]),useEffect(()=>{let s=()=>{requestAnimationFrame(()=>l(h=>h+1));};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]);let b=useRef("");useEffect(()=>{let s=u.map(h=>h.id).join(",");if(s&&b.current!==s){let h=setTimeout(()=>{b.current=s,l(E=>E+1);},50);return ()=>clearTimeout(h)}},[u]);let k=s=>{e&&D(e,s);},w=s=>{if(!e)return;L(e,s.id);let{state:h}=e,E=h.tr.setSelection(TextSelection.near(h.doc.resolve(s.from)));e.dispatch(E),e.focus();};return u.length===0?null:jsx("div",{className:"template-panel",ref:p,children:jsx("div",{className:"template-panel-annotations",children:g.map(({tag:s,top:h})=>{let E=oi(s.type),I=ti[s.type],f=s.type==="sectionStart"||s.type==="invertedStart",y=s.id===r,v=s.id===a;return jsxs("div",{className:"template-annotation-anchor",style:{top:`${h}px`},children:[jsx("div",{className:"template-annotation-connector"}),jsxs("div",{ref:C=>{C?d.current.set(s.id,C):d.current.delete(s.id);},className:`template-annotation-chip ${y?"hovered":""} ${v?"selected":""}`,style:{borderLeftColor:I},onMouseEnter:()=>k(s.id),onMouseLeave:()=>k(void 0),onClick:()=>w(s),title:f?`${s.rawTag}
|
|
16
|
-
Iterates over ${s.name}[]. Access nested properties via ${s.name}.property`:s.rawTag,children:[E&&jsx("span",{className:"template-chip-badge",style:{background:I},children:E}),!E&&jsx("span",{className:"template-chip-dot",style:{color:I},children:"\u25CF"}),jsx("span",{className:"template-chip-name",children:s.name}),f&&s.nestedVars&&s.nestedVars.length>0&&jsx("div",{className:"template-chip-nested",children:s.nestedVars.map((C,N)=>jsx("span",{className:"template-nested-var",title:`Access: ${s.name}.${C}`,children:C.includes(".")?C.split(".").pop():C},N))})]})]},s.id)})})})}var z=`
|
|
15
|
+
`;var ti={variable:"#f59e0b",sectionStart:"#3b82f6",sectionEnd:"#3b82f6",invertedStart:"#8b5cf6",raw:"#ef4444"};function oi(e){switch(e){case "sectionStart":return "LOOP / IF";case "invertedStart":return "IF NOT";case "raw":return "HTML";default:return ""}}function U({editorView:e,pluginState:t,renderedDomContext:o}){let n=t?.tags??[],r=t?.hoveredId,a=t?.selectedId,[i,l]=ye.useState(0),p=ye.useRef(null),d=ye.useRef(new Map),c=ye.useRef([]),u=ye.useMemo(()=>n.filter(s=>s.type!=="sectionEnd"&&!s.insideSection),[n]),x=ye.useCallback(()=>{if(u.length===0||!o)return c.current;let s=[],h=o.getContainerOffset(),E=new Map;for(let f of c.current)E.set(f.tag.id,f.top);for(let f of u){let y=o.getRectsForRange(f.from,f.from+1);if(y.length>0){let v=y[0].y+h.y-40;s.push({tag:f,top:v});}else {let v=E.get(f.id);v!==void 0&&s.push({tag:f,top:v});}}s.sort((f,y)=>f.top-y.top);let I=6;for(let f=1;f<s.length;f++){let y=s[f-1],v=s[f],C=d.current.get(y.tag.id),N=32;C?N=C.offsetHeight:y.tag.nestedVars&&y.tag.nestedVars.length>0&&(N=42+y.tag.nestedVars.length*26),v.top<y.top+N+I&&(v.top=y.top+N+I);}return c.current=s,s},[u,o]),g=ye.useMemo(()=>x(),[x,i]);ye.useEffect(()=>{if(!o)return;let s=new ResizeObserver(()=>{requestAnimationFrame(()=>l(h=>h+1));});return s.observe(o.pagesContainer),()=>s.disconnect()},[o]),ye.useEffect(()=>{let s=()=>{requestAnimationFrame(()=>l(h=>h+1));};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]);let b=ye.useRef("");ye.useEffect(()=>{let s=u.map(h=>h.id).join(",");if(s&&b.current!==s){let h=setTimeout(()=>{b.current=s,l(E=>E+1);},50);return ()=>clearTimeout(h)}},[u]);let k=s=>{e&&D(e,s);},w=s=>{if(!e)return;L(e,s.id);let{state:h}=e,E=h.tr.setSelection(prosemirrorState.TextSelection.near(h.doc.resolve(s.from)));e.dispatch(E),e.focus();};return u.length===0?null:jsxRuntime.jsx("div",{className:"template-panel",ref:p,children:jsxRuntime.jsx("div",{className:"template-panel-annotations",children:g.map(({tag:s,top:h})=>{let E=oi(s.type),I=ti[s.type],f=s.type==="sectionStart"||s.type==="invertedStart",y=s.id===r,v=s.id===a;return jsxRuntime.jsxs("div",{className:"template-annotation-anchor",style:{top:`${h}px`},children:[jsxRuntime.jsx("div",{className:"template-annotation-connector"}),jsxRuntime.jsxs("div",{ref:C=>{C?d.current.set(s.id,C):d.current.delete(s.id);},className:`template-annotation-chip ${y?"hovered":""} ${v?"selected":""}`,style:{borderLeftColor:I},onMouseEnter:()=>k(s.id),onMouseLeave:()=>k(void 0),onClick:()=>w(s),title:f?`${s.rawTag}
|
|
16
|
+
Iterates over ${s.name}[]. Access nested properties via ${s.name}.property`:s.rawTag,children:[E&&jsxRuntime.jsx("span",{className:"template-chip-badge",style:{background:I},children:E}),!E&&jsxRuntime.jsx("span",{className:"template-chip-dot",style:{color:I},children:"\u25CF"}),jsxRuntime.jsx("span",{className:"template-chip-name",children:s.name}),f&&s.nestedVars&&s.nestedVars.length>0&&jsxRuntime.jsx("div",{className:"template-chip-nested",children:s.nestedVars.map((C,N)=>jsxRuntime.jsx("span",{className:"template-nested-var",title:`Access: ${s.name}.${C}`,children:C.includes(".")?C.split(".").pop():C},N))})]})]},s.id)})})})}var z=`
|
|
17
17
|
.template-panel {
|
|
18
18
|
display: flex;
|
|
19
19
|
min-height: 100%;
|
|
@@ -124,7 +124,7 @@ Iterates over ${s.name}[]. Access nested properties via ${s.name}.property`:s.ra
|
|
|
124
124
|
background: rgba(59, 130, 246, 0.15);
|
|
125
125
|
color: #1e40af;
|
|
126
126
|
}
|
|
127
|
-
`;var ii={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)"},si={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 me({context:e,tags:t,hoveredId:o,selectedId:n,onHover:r,onSelect:a}){let[i,l]=useState(0),p=useCallback(()=>{let c=e.getContainerOffset(),u=[];for(let x of t){let g=e.getRectsForRange(x.from,x.to);for(let b of g)u.push({tagId:x.id,tagType:x.type,x:b.x+c.x,y:b.y+c.y,width:b.width,height:b.height});}return u},[e,t]),d=useMemo(()=>p(),[p,i]);return useEffect(()=>{let c=()=>{requestAnimationFrame(()=>l(u=>u+1));};return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]),useEffect(()=>{let c=new ResizeObserver(()=>{requestAnimationFrame(()=>l(u=>u+1));});return c.observe(e.pagesContainer),()=>c.disconnect()},[e.pagesContainer]),d.length===0?null:jsx("div",{className:"template-highlight-overlay",children:d.map((c,u)=>{let x=c.tagId===o,g=c.tagId===n,b=x||g?si[c.tagType]:ii[c.tagType];return jsx("div",{className:`template-highlight ${x?"hovered":""} ${g?"selected":""}`,style:{position:"absolute",left:c.x,top:c.y,width:c.width,height:c.height,backgroundColor:b,borderRadius:2,cursor:"pointer"},onMouseEnter:()=>r?.(c.tagId),onMouseLeave:()=>r?.(void 0),onClick:()=>a?.(c.tagId)},`${c.tagId}-${u}`)})})}var he=`
|
|
127
|
+
`;var ii={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)"},si={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 me({context:e,tags:t,hoveredId:o,selectedId:n,onHover:r,onSelect:a}){let[i,l]=ye.useState(0),p=ye.useCallback(()=>{let c=e.getContainerOffset(),u=[];for(let x of t){let g=e.getRectsForRange(x.from,x.to);for(let b of g)u.push({tagId:x.id,tagType:x.type,x:b.x+c.x,y:b.y+c.y,width:b.width,height:b.height});}return u},[e,t]),d=ye.useMemo(()=>p(),[p,i]);return ye.useEffect(()=>{let c=()=>{requestAnimationFrame(()=>l(u=>u+1));};return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]),ye.useEffect(()=>{let c=new ResizeObserver(()=>{requestAnimationFrame(()=>l(u=>u+1));});return c.observe(e.pagesContainer),()=>c.disconnect()},[e.pagesContainer]),d.length===0?null:jsxRuntime.jsx("div",{className:"template-highlight-overlay",children:d.map((c,u)=>{let x=c.tagId===o,g=c.tagId===n,b=x||g?si[c.tagType]:ii[c.tagType];return jsxRuntime.jsx("div",{className:`template-highlight ${x?"hovered":""} ${g?"selected":""}`,style:{position:"absolute",left:c.x,top:c.y,width:c.width,height:c.height,backgroundColor:b,borderRadius:2,cursor:"pointer"},onMouseEnter:()=>r?.(c.tagId),onMouseLeave:()=>r?.(void 0),onClick:()=>a?.(c.tagId)},`${c.tagId}-${u}`)})})}var he=`
|
|
128
128
|
.template-highlight-overlay {
|
|
129
129
|
position: absolute;
|
|
130
130
|
top: 0;
|
|
@@ -148,8 +148,8 @@ Iterates over ${s.name}[]. Access nested properties via ${s.name}.property`:s.ra
|
|
|
148
148
|
.template-highlight.selected {
|
|
149
149
|
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.6);
|
|
150
150
|
}
|
|
151
|
-
`;var ci=
|
|
151
|
+
`;var ci=ye__default.default.memo(U,(e,t)=>{let o=e.pluginState,n=t.pluginState;if(o?.hoveredId!==n?.hoveredId||o?.selectedId!==n?.selectedId)return false;let r=o?.tags??[],a=n?.tags??[];if(r.length!==a.length)return false;for(let i=0;i<r.length;i++)if(r[i].id!==a[i].id)return false;return e.renderedDomContext===t.renderedDomContext});function Te(e={}){return {id:"template",name:"Template",proseMirrorPlugins:[B()],Panel:ci,panelConfig:{position:e.panelPosition??"right",defaultSize:e.panelWidth??280,minSize:200,maxSize:400,resizable:true,collapsible:true,defaultCollapsed:e.defaultCollapsed??false},onStateChange:o=>{let n=m.getState(o.state);if(n)return {tags:n.tags,hoveredId:n.hoveredId,selectedId:n.selectedId}},initialize:o=>({tags:[]}),renderOverlay:(o,n,r)=>!n||n.tags.length===0?null:ye__default.default.createElement(me,{context:o,tags:n.tags,hoveredId:n.hoveredId,selectedId:n.selectedId,onHover:a=>{r&&D(r,a);},onSelect:a=>{if(r){L(r,a);let i=n.tags.find(l=>l.id===a);if(i){let l=r.state.tr.setSelection(prosemirrorState.TextSelection.near(r.state.doc.resolve(i.from)));r.dispatch(l),r.focus();}}}}),styles:`
|
|
152
152
|
${W}
|
|
153
153
|
${z}
|
|
154
154
|
${he}
|
|
155
|
-
`}}var pi=Te();var Di="0.0.2";export{z as ANNOTATION_PANEL_STYLES,U as AnnotationPanel,T as NAVIGATION_SHORTCUTS,W as TEMPLATE_DECORATION_STYLES,Di as VERSION,ka as createDoubleClickWordSelector,Te as createTemplatePlugin,B as createTemplateProseMirrorPlugin,Ma as createTripleClickParagraphSelector,S as describeShortcut,Ua as expandSelectionToWord,Oa as expandSelectionToWordBoundaries,_ as extendSelectionTo,ee as findNextWordStart,te as findPreviousWordStart,ne as findVisualLineEnd,oe as findVisualLineStart,Ia as findWordAt,R as findWordBoundaries,_a as findWordEnd,Ha as findWordStart,Ga as getNavigationShortcutDescriptions,Ba as getSelectionInfo,pe as getTemplatePluginTags,wa as getWordAt,za as getWordAtCursor,Q as handleClickForMultiClick,Wa as handleNavigationKey,Fa as isNavigationKey,Ka as isPunctuation,K as isWhitespace,Y as isWhitespaceChar,P as isWordChar,M as isWordCharacter,Va as matchesShortcut,re as moveByWord,ae as moveToLineEdge,ie as parseNavigationAction,J as selectParagraphAtCursor,$ as selectWordAtCursor,Na as selectWordInTextNode,D as setHoveredElement,L as setSelectedElement,H as setSelectionPosition,pi as templatePlugin,m as templatePluginKey};
|
|
155
|
+
`}}var pi=Te();var Di="0.0.2";Object.defineProperty(exports,"DEFAULT_SELECTION_STYLE",{enumerable:true,get:function(){return chunkG72SXG7G_js.w}});Object.defineProperty(exports,"DocxEditor",{enumerable:true,get:function(){return chunkG72SXG7G_js.j}});Object.defineProperty(exports,"EditorToolbar",{enumerable:true,get:function(){return chunkG72SXG7G_js.a}});Object.defineProperty(exports,"ErrorBoundary",{enumerable:true,get:function(){return chunkG72SXG7G_js.d}});Object.defineProperty(exports,"ErrorProvider",{enumerable:true,get:function(){return chunkG72SXG7G_js.c}});Object.defineProperty(exports,"HIGH_CONTRAST_SELECTION_STYLE",{enumerable:true,get:function(){return chunkG72SXG7G_js.x}});Object.defineProperty(exports,"PLUGIN_HOST_STYLES",{enumerable:true,get:function(){return chunkG72SXG7G_js.U}});Object.defineProperty(exports,"ParseErrorDisplay",{enumerable:true,get:function(){return chunkG72SXG7G_js.e}});Object.defineProperty(exports,"PluginHost",{enumerable:true,get:function(){return chunkG72SXG7G_js.V}});Object.defineProperty(exports,"SELECTION_CSS_VARS",{enumerable:true,get:function(){return chunkG72SXG7G_js.y}});Object.defineProperty(exports,"UnsupportedFeatureWarning",{enumerable:true,get:function(){return chunkG72SXG7G_js.f}});Object.defineProperty(exports,"ZOOM_PRESETS",{enumerable:true,get:function(){return chunkG72SXG7G_js.m}});Object.defineProperty(exports,"areSelectionStylesInjected",{enumerable:true,get:function(){return chunkG72SXG7G_js.P}});Object.defineProperty(exports,"clampZoom",{enumerable:true,get:function(){return chunkG72SXG7G_js.v}});Object.defineProperty(exports,"clearSelection",{enumerable:true,get:function(){return chunkG72SXG7G_js.K}});Object.defineProperty(exports,"createSelectionChangeHandler",{enumerable:true,get:function(){return chunkG72SXG7G_js.Q}});Object.defineProperty(exports,"findNearestZoomPreset",{enumerable:true,get:function(){return chunkG72SXG7G_js.p}});Object.defineProperty(exports,"formatZoom",{enumerable:true,get:function(){return chunkG72SXG7G_js.s}});Object.defineProperty(exports,"generateOverlayElements",{enumerable:true,get:function(){return chunkG72SXG7G_js.S}});Object.defineProperty(exports,"generateSelectionCSS",{enumerable:true,get:function(){return chunkG72SXG7G_js.D}});Object.defineProperty(exports,"getHighlightRectStyle",{enumerable:true,get:function(){return chunkG72SXG7G_js.C}});Object.defineProperty(exports,"getMergedSelectionRects",{enumerable:true,get:function(){return chunkG72SXG7G_js.B}});Object.defineProperty(exports,"getNextZoomPreset",{enumerable:true,get:function(){return chunkG72SXG7G_js.q}});Object.defineProperty(exports,"getPreviousZoomPreset",{enumerable:true,get:function(){return chunkG72SXG7G_js.r}});Object.defineProperty(exports,"getSelectedText",{enumerable:true,get:function(){return chunkG72SXG7G_js.F}});Object.defineProperty(exports,"getSelectionBoundingRect",{enumerable:true,get:function(){return chunkG72SXG7G_js.H}});Object.defineProperty(exports,"getSelectionRects",{enumerable:true,get:function(){return chunkG72SXG7G_js.z}});Object.defineProperty(exports,"getUserFriendlyMessage",{enumerable:true,get:function(){return chunkG72SXG7G_js.h}});Object.defineProperty(exports,"getZoomPresets",{enumerable:true,get:function(){return chunkG72SXG7G_js.o}});Object.defineProperty(exports,"hasActiveSelection",{enumerable:true,get:function(){return chunkG72SXG7G_js.E}});Object.defineProperty(exports,"highlightTextRange",{enumerable:true,get:function(){return chunkG72SXG7G_js.I}});Object.defineProperty(exports,"injectSelectionStyles",{enumerable:true,get:function(){return chunkG72SXG7G_js.N}});Object.defineProperty(exports,"isParseError",{enumerable:true,get:function(){return chunkG72SXG7G_js.g}});Object.defineProperty(exports,"isSelectionBackwards",{enumerable:true,get:function(){return chunkG72SXG7G_js.L}});Object.defineProperty(exports,"isSelectionWithin",{enumerable:true,get:function(){return chunkG72SXG7G_js.G}});Object.defineProperty(exports,"isZoomPreset",{enumerable:true,get:function(){return chunkG72SXG7G_js.u}});Object.defineProperty(exports,"mergeAdjacentRects",{enumerable:true,get:function(){return chunkG72SXG7G_js.A}});Object.defineProperty(exports,"normalizeSelectionDirection",{enumerable:true,get:function(){return chunkG72SXG7G_js.M}});Object.defineProperty(exports,"parseZoom",{enumerable:true,get:function(){return chunkG72SXG7G_js.t}});Object.defineProperty(exports,"removeSelectionStyles",{enumerable:true,get:function(){return chunkG72SXG7G_js.O}});Object.defineProperty(exports,"renderAsync",{enumerable:true,get:function(){return chunkG72SXG7G_js.k}});Object.defineProperty(exports,"selectRange",{enumerable:true,get:function(){return chunkG72SXG7G_js.J}});Object.defineProperty(exports,"useAutoSave",{enumerable:true,get:function(){return chunkG72SXG7G_js.l}});Object.defineProperty(exports,"useClipboard",{enumerable:true,get:function(){return chunkG72SXG7G_js.T}});Object.defineProperty(exports,"useErrorNotifications",{enumerable:true,get:function(){return chunkG72SXG7G_js.b}});Object.defineProperty(exports,"useSelectionHighlight",{enumerable:true,get:function(){return chunkG72SXG7G_js.R}});Object.defineProperty(exports,"useTableSelection",{enumerable:true,get:function(){return chunkG72SXG7G_js.i}});Object.defineProperty(exports,"useWheelZoom",{enumerable:true,get:function(){return chunkG72SXG7G_js.n}});Object.defineProperty(exports,"ColorPicker",{enumerable:true,get:function(){return chunkXGL3EGKF_js.k}});Object.defineProperty(exports,"ContextMenu",{enumerable:true,get:function(){return chunkXGL3EGKF_js.a}});Object.defineProperty(exports,"InsertImageDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.V}});Object.defineProperty(exports,"InsertSymbolDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.da}});Object.defineProperty(exports,"InsertTableDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.O}});Object.defineProperty(exports,"KeyboardShortcutsDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.qa}});Object.defineProperty(exports,"LoadingIndicator",{enumerable:true,get:function(){return chunkXGL3EGKF_js.B}});Object.defineProperty(exports,"PasteSpecialDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ka}});Object.defineProperty(exports,"PrintButton",{enumerable:true,get:function(){return chunkXGL3EGKF_js.l}});Object.defineProperty(exports,"PrintStyles",{enumerable:true,get:function(){return chunkXGL3EGKF_js.m}});Object.defineProperty(exports,"ResponsePreview",{enumerable:true,get:function(){return chunkXGL3EGKF_js.g}});Object.defineProperty(exports,"ResponsiveToolbar",{enumerable:true,get:function(){return chunkXGL3EGKF_js.J}});Object.defineProperty(exports,"ResponsiveToolbarGroup",{enumerable:true,get:function(){return chunkXGL3EGKF_js.K}});Object.defineProperty(exports,"SYMBOL_CATEGORIES",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ca}});Object.defineProperty(exports,"TableInsertButtons",{enumerable:true,get:function(){return chunkXGL3EGKF_js.u}});Object.defineProperty(exports,"TableMergeButton",{enumerable:true,get:function(){return chunkXGL3EGKF_js.t}});Object.defineProperty(exports,"UnsavedIndicator",{enumerable:true,get:function(){return chunkXGL3EGKF_js.v}});Object.defineProperty(exports,"calculateFitDimensions",{enumerable:true,get:function(){return chunkXGL3EGKF_js._}});Object.defineProperty(exports,"clampTableConfig",{enumerable:true,get:function(){return chunkXGL3EGKF_js.S}});Object.defineProperty(exports,"createChangeTracker",{enumerable:true,get:function(){return chunkXGL3EGKF_js.A}});Object.defineProperty(exports,"createDefaultTableConfig",{enumerable:true,get:function(){return chunkXGL3EGKF_js.Q}});Object.defineProperty(exports,"createErrorResponse",{enumerable:true,get:function(){return chunkXGL3EGKF_js.j}});Object.defineProperty(exports,"createMockResponse",{enumerable:true,get:function(){return chunkXGL3EGKF_js.i}});Object.defineProperty(exports,"createToolbarItem",{enumerable:true,get:function(){return chunkXGL3EGKF_js.L}});Object.defineProperty(exports,"createToolbarItems",{enumerable:true,get:function(){return chunkXGL3EGKF_js.M}});Object.defineProperty(exports,"dataUrlToBlob",{enumerable:true,get:function(){return chunkXGL3EGKF_js.$}});Object.defineProperty(exports,"delay",{enumerable:true,get:function(){return chunkXGL3EGKF_js.H}});Object.defineProperty(exports,"formatFileSize",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ba}});Object.defineProperty(exports,"formatPrintPageRange",{enumerable:true,get:function(){return chunkXGL3EGKF_js.r}});Object.defineProperty(exports,"formatShortcutKeys",{enumerable:true,get:function(){return chunkXGL3EGKF_js.xa}});Object.defineProperty(exports,"formatTableDimensions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.T}});Object.defineProperty(exports,"getActionShortcut",{enumerable:true,get:function(){return chunkXGL3EGKF_js.c}});Object.defineProperty(exports,"getAllActions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.f}});Object.defineProperty(exports,"getAllCategories",{enumerable:true,get:function(){return chunkXGL3EGKF_js.wa}});Object.defineProperty(exports,"getAllIndicatorPositions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.z}});Object.defineProperty(exports,"getAllIndicatorVariants",{enumerable:true,get:function(){return chunkXGL3EGKF_js.y}});Object.defineProperty(exports,"getAllLoadingSizes",{enumerable:true,get:function(){return chunkXGL3EGKF_js.G}});Object.defineProperty(exports,"getAllLoadingVariants",{enumerable:true,get:function(){return chunkXGL3EGKF_js.F}});Object.defineProperty(exports,"getAllPasteOptions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.na}});Object.defineProperty(exports,"getCategoryLabel",{enumerable:true,get:function(){return chunkXGL3EGKF_js.va}});Object.defineProperty(exports,"getCommonShortcuts",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ua}});Object.defineProperty(exports,"getDefaultActions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.e}});Object.defineProperty(exports,"getDefaultPasteOption",{enumerable:true,get:function(){return chunkXGL3EGKF_js.oa}});Object.defineProperty(exports,"getDefaultPrintOptions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.p}});Object.defineProperty(exports,"getDefaultShortcuts",{enumerable:true,get:function(){return chunkXGL3EGKF_js.sa}});Object.defineProperty(exports,"getImageAcceptString",{enumerable:true,get:function(){return chunkXGL3EGKF_js.Z}});Object.defineProperty(exports,"getImageDimensions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.aa}});Object.defineProperty(exports,"getLoadingVariantLabel",{enumerable:true,get:function(){return chunkXGL3EGKF_js.E}});Object.defineProperty(exports,"getPasteOption",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ma}});Object.defineProperty(exports,"getRecommendedPriority",{enumerable:true,get:function(){return chunkXGL3EGKF_js.N}});Object.defineProperty(exports,"getShortcutsByCategory",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ta}});Object.defineProperty(exports,"getSupportedImageExtensions",{enumerable:true,get:function(){return chunkXGL3EGKF_js.Y}});Object.defineProperty(exports,"getSymbolCategories",{enumerable:true,get:function(){return chunkXGL3EGKF_js.fa}});Object.defineProperty(exports,"getSymbolUnicodeInfo",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ha}});Object.defineProperty(exports,"getSymbolsByCategory",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ga}});Object.defineProperty(exports,"getTablePresets",{enumerable:true,get:function(){return chunkXGL3EGKF_js.U}});Object.defineProperty(exports,"getVariantLabel",{enumerable:true,get:function(){return chunkXGL3EGKF_js.x}});Object.defineProperty(exports,"isActionAvailable",{enumerable:true,get:function(){return chunkXGL3EGKF_js.d}});Object.defineProperty(exports,"isPasteSpecialShortcut",{enumerable:true,get:function(){return chunkXGL3EGKF_js.pa}});Object.defineProperty(exports,"isPrintSupported",{enumerable:true,get:function(){return chunkXGL3EGKF_js.s}});Object.defineProperty(exports,"isValidImageFile",{enumerable:true,get:function(){return chunkXGL3EGKF_js.X}});Object.defineProperty(exports,"isValidTableConfig",{enumerable:true,get:function(){return chunkXGL3EGKF_js.R}});Object.defineProperty(exports,"openPrintWindow",{enumerable:true,get:function(){return chunkXGL3EGKF_js.o}});Object.defineProperty(exports,"parsePageRange",{enumerable:true,get:function(){return chunkXGL3EGKF_js.q}});Object.defineProperty(exports,"searchSymbols",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ia}});Object.defineProperty(exports,"symbolFromCodePoint",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ja}});Object.defineProperty(exports,"triggerPrint",{enumerable:true,get:function(){return chunkXGL3EGKF_js.n}});Object.defineProperty(exports,"useContextMenu",{enumerable:true,get:function(){return chunkXGL3EGKF_js.b}});Object.defineProperty(exports,"useInsertImageDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.W}});Object.defineProperty(exports,"useInsertSymbolDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ea}});Object.defineProperty(exports,"useInsertTableDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.P}});Object.defineProperty(exports,"useKeyboardShortcutsDialog",{enumerable:true,get:function(){return chunkXGL3EGKF_js.ra}});Object.defineProperty(exports,"useLoading",{enumerable:true,get:function(){return chunkXGL3EGKF_js.C}});Object.defineProperty(exports,"useLoadingOperations",{enumerable:true,get:function(){return chunkXGL3EGKF_js.D}});Object.defineProperty(exports,"usePasteSpecial",{enumerable:true,get:function(){return chunkXGL3EGKF_js.la}});Object.defineProperty(exports,"useResponsePreview",{enumerable:true,get:function(){return chunkXGL3EGKF_js.h}});Object.defineProperty(exports,"useResponsiveToolbar",{enumerable:true,get:function(){return chunkXGL3EGKF_js.I}});Object.defineProperty(exports,"useUnsavedChanges",{enumerable:true,get:function(){return chunkXGL3EGKF_js.w}});Object.defineProperty(exports,"AdvancedColorPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.k}});Object.defineProperty(exports,"AlignmentButtons",{enumerable:true,get:function(){return chunk2KHL5RSD_js.l}});Object.defineProperty(exports,"CLIPBOARD_TYPES",{enumerable:true,get:function(){return chunk2KHL5RSD_js.K}});Object.defineProperty(exports,"FontPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.g}});Object.defineProperty(exports,"FontSizePicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.j}});Object.defineProperty(exports,"FormattingBar",{enumerable:true,get:function(){return chunk2KHL5RSD_js.y}});Object.defineProperty(exports,"HorizontalRuler",{enumerable:true,get:function(){return chunk2KHL5RSD_js.E}});Object.defineProperty(exports,"INTERNAL_CLIPBOARD_TYPE",{enumerable:true,get:function(){return chunk2KHL5RSD_js.J}});Object.defineProperty(exports,"LineSpacingPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.o}});Object.defineProperty(exports,"ListButtons",{enumerable:true,get:function(){return chunk2KHL5RSD_js.m}});Object.defineProperty(exports,"StylePicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.p}});Object.defineProperty(exports,"TableBorderColorPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.s}});Object.defineProperty(exports,"TableBorderPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.r}});Object.defineProperty(exports,"TableBorderWidthPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.t}});Object.defineProperty(exports,"TableCellFillPicker",{enumerable:true,get:function(){return chunk2KHL5RSD_js.u}});Object.defineProperty(exports,"TableMoreDropdown",{enumerable:true,get:function(){return chunk2KHL5RSD_js.v}});Object.defineProperty(exports,"TableToolbar",{enumerable:true,get:function(){return chunk2KHL5RSD_js.da}});Object.defineProperty(exports,"TextContextMenu",{enumerable:true,get:function(){return chunk2KHL5RSD_js.Z}});Object.defineProperty(exports,"Toolbar",{enumerable:true,get:function(){return chunk2KHL5RSD_js.D}});Object.defineProperty(exports,"ToolbarButton",{enumerable:true,get:function(){return chunk2KHL5RSD_js.A}});Object.defineProperty(exports,"ToolbarGroup",{enumerable:true,get:function(){return chunk2KHL5RSD_js.B}});Object.defineProperty(exports,"ToolbarSeparator",{enumerable:true,get:function(){return chunk2KHL5RSD_js.C}});Object.defineProperty(exports,"ZoomControl",{enumerable:true,get:function(){return chunk2KHL5RSD_js.q}});Object.defineProperty(exports,"addColumn",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ja}});Object.defineProperty(exports,"addRow",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ha}});Object.defineProperty(exports,"cleanWordHtml",{enumerable:true,get:function(){return chunk2KHL5RSD_js.W}});Object.defineProperty(exports,"copyParagraphs",{enumerable:true,get:function(){return chunk2KHL5RSD_js.N}});Object.defineProperty(exports,"copyRuns",{enumerable:true,get:function(){return chunk2KHL5RSD_js.M}});Object.defineProperty(exports,"createClipboardHandlers",{enumerable:true,get:function(){return chunk2KHL5RSD_js.Y}});Object.defineProperty(exports,"createDefaultListState",{enumerable:true,get:function(){return chunk2KHL5RSD_js.n}});Object.defineProperty(exports,"createTableContext",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ea}});Object.defineProperty(exports,"deleteColumn",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ka}});Object.defineProperty(exports,"deleteRow",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ia}});Object.defineProperty(exports,"getCellAt",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ga}});Object.defineProperty(exports,"getColumnCount",{enumerable:true,get:function(){return chunk2KHL5RSD_js.fa}});Object.defineProperty(exports,"getDefaultTextContextMenuItems",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ba}});Object.defineProperty(exports,"getMarginInUnits",{enumerable:true,get:function(){return chunk2KHL5RSD_js.H}});Object.defineProperty(exports,"getRulerDimensions",{enumerable:true,get:function(){return chunk2KHL5RSD_js.G}});Object.defineProperty(exports,"getTextActionLabel",{enumerable:true,get:function(){return chunk2KHL5RSD_js.$}});Object.defineProperty(exports,"getTextActionShortcut",{enumerable:true,get:function(){return chunk2KHL5RSD_js.aa}});Object.defineProperty(exports,"handlePasteEvent",{enumerable:true,get:function(){return chunk2KHL5RSD_js.S}});Object.defineProperty(exports,"htmlToRuns",{enumerable:true,get:function(){return chunk2KHL5RSD_js.X}});Object.defineProperty(exports,"isEditorHtml",{enumerable:true,get:function(){return chunk2KHL5RSD_js.V}});Object.defineProperty(exports,"isTextActionAvailable",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ca}});Object.defineProperty(exports,"isWordHtml",{enumerable:true,get:function(){return chunk2KHL5RSD_js.U}});Object.defineProperty(exports,"mergeCells",{enumerable:true,get:function(){return chunk2KHL5RSD_js.la}});Object.defineProperty(exports,"paragraphsToClipboardContent",{enumerable:true,get:function(){return chunk2KHL5RSD_js.P}});Object.defineProperty(exports,"parseClipboardHtml",{enumerable:true,get:function(){return chunk2KHL5RSD_js.T}});Object.defineProperty(exports,"parseMarginFromUnits",{enumerable:true,get:function(){return chunk2KHL5RSD_js.I}});Object.defineProperty(exports,"positionToMargin",{enumerable:true,get:function(){return chunk2KHL5RSD_js.F}});Object.defineProperty(exports,"readFromClipboard",{enumerable:true,get:function(){return chunk2KHL5RSD_js.R}});Object.defineProperty(exports,"runsToClipboardContent",{enumerable:true,get:function(){return chunk2KHL5RSD_js.O}});Object.defineProperty(exports,"splitCell",{enumerable:true,get:function(){return chunk2KHL5RSD_js.ma}});Object.defineProperty(exports,"useTextContextMenu",{enumerable:true,get:function(){return chunk2KHL5RSD_js._}});Object.defineProperty(exports,"writeToClipboard",{enumerable:true,get:function(){return chunk2KHL5RSD_js.Q}});Object.defineProperty(exports,"FindReplaceDialog",{enumerable:true,get:function(){return chunkCTYOM6BE_js.n}});Object.defineProperty(exports,"createDefaultFindOptions",{enumerable:true,get:function(){return chunkCTYOM6BE_js.a}});Object.defineProperty(exports,"createSearchPattern",{enumerable:true,get:function(){return chunkCTYOM6BE_js.c}});Object.defineProperty(exports,"escapeRegexString",{enumerable:true,get:function(){return chunkCTYOM6BE_js.b}});Object.defineProperty(exports,"findAllMatches",{enumerable:true,get:function(){return chunkCTYOM6BE_js.d}});Object.defineProperty(exports,"findInDocument",{enumerable:true,get:function(){return chunkCTYOM6BE_js.j}});Object.defineProperty(exports,"findInParagraph",{enumerable:true,get:function(){return chunkCTYOM6BE_js.k}});Object.defineProperty(exports,"getDefaultHighlightOptions",{enumerable:true,get:function(){return chunkCTYOM6BE_js.i}});Object.defineProperty(exports,"getMatchCountText",{enumerable:true,get:function(){return chunkCTYOM6BE_js.g}});Object.defineProperty(exports,"isEmptySearch",{enumerable:true,get:function(){return chunkCTYOM6BE_js.h}});Object.defineProperty(exports,"replaceAllInContent",{enumerable:true,get:function(){return chunkCTYOM6BE_js.e}});Object.defineProperty(exports,"replaceFirstInContent",{enumerable:true,get:function(){return chunkCTYOM6BE_js.f}});Object.defineProperty(exports,"scrollToMatch",{enumerable:true,get:function(){return chunkCTYOM6BE_js.l}});Object.defineProperty(exports,"useFindReplace",{enumerable:true,get:function(){return chunkCTYOM6BE_js.m}});Object.defineProperty(exports,"HyperlinkDialog",{enumerable:true,get:function(){return chunkPJVI53AH_js.d}});Object.defineProperty(exports,"useHyperlinkDialog",{enumerable:true,get:function(){return chunkPJVI53AH_js.m}});Object.defineProperty(exports,"TABLE_DATA_ATTRIBUTES",{enumerable:true,get:function(){return chunkFVUGBRDD_js.x}});Object.defineProperty(exports,"countPageBreaks",{enumerable:true,get:function(){return chunkFVUGBRDD_js.n}});Object.defineProperty(exports,"createColumnBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.b}});Object.defineProperty(exports,"createHorizontalRule",{enumerable:true,get:function(){return chunkFVUGBRDD_js.g}});Object.defineProperty(exports,"createLineBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.c}});Object.defineProperty(exports,"createPageBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.a}});Object.defineProperty(exports,"createPageBreakParagraph",{enumerable:true,get:function(){return chunkFVUGBRDD_js.e}});Object.defineProperty(exports,"createPageBreakRun",{enumerable:true,get:function(){return chunkFVUGBRDD_js.d}});Object.defineProperty(exports,"createSelectionFromDOM",{enumerable:true,get:function(){return chunkFVUGBRDD_js.F}});Object.defineProperty(exports,"findPageBreaks",{enumerable:true,get:function(){return chunkFVUGBRDD_js.o}});Object.defineProperty(exports,"formatLastSaveTime",{enumerable:true,get:function(){return chunkFVUGBRDD_js.s}});Object.defineProperty(exports,"formatStorageSize",{enumerable:true,get:function(){return chunkFVUGBRDD_js.v}});Object.defineProperty(exports,"getAutoSaveStatusLabel",{enumerable:true,get:function(){return chunkFVUGBRDD_js.t}});Object.defineProperty(exports,"getAutoSaveStorageSize",{enumerable:true,get:function(){return chunkFVUGBRDD_js.u}});Object.defineProperty(exports,"getSelectionRuns",{enumerable:true,get:function(){return chunkFVUGBRDD_js.E}});Object.defineProperty(exports,"hasPageBreakBefore",{enumerable:true,get:function(){return chunkFVUGBRDD_js.m}});Object.defineProperty(exports,"insertHorizontalRule",{enumerable:true,get:function(){return chunkFVUGBRDD_js.h}});Object.defineProperty(exports,"insertPageBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.f}});Object.defineProperty(exports,"isAutoSaveSupported",{enumerable:true,get:function(){return chunkFVUGBRDD_js.w}});Object.defineProperty(exports,"isBreakContent",{enumerable:true,get:function(){return chunkFVUGBRDD_js.l}});Object.defineProperty(exports,"isColumnBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.j}});Object.defineProperty(exports,"isLineBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.k}});Object.defineProperty(exports,"isPageBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.i}});Object.defineProperty(exports,"removePageBreak",{enumerable:true,get:function(){return chunkFVUGBRDD_js.p}});Object.defineProperty(exports,"DocumentAgent",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.f}});Object.defineProperty(exports,"buildExtendedSelectionContext",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.m}});Object.defineProperty(exports,"buildSelectionContext",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.l}});Object.defineProperty(exports,"createDocumentWithText",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.e}});Object.defineProperty(exports,"createEmptyDocument",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.d}});Object.defineProperty(exports,"getAgentContext",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.i}});Object.defineProperty(exports,"getDocumentSummary",{enumerable:true,get:function(){return chunkMRWJ3GNH_js.k}});Object.defineProperty(exports,"blendColors",{enumerable:true,get:function(){return chunk4VUZBV2S_js.l}});Object.defineProperty(exports,"colorsEqual",{enumerable:true,get:function(){return chunk4VUZBV2S_js.q}});Object.defineProperty(exports,"createRgbColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.i}});Object.defineProperty(exports,"createThemeColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.h}});Object.defineProperty(exports,"darkenColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.j}});Object.defineProperty(exports,"getContrastingColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.f}});Object.defineProperty(exports,"isBlack",{enumerable:true,get:function(){return chunk4VUZBV2S_js.d}});Object.defineProperty(exports,"isWhite",{enumerable:true,get:function(){return chunk4VUZBV2S_js.e}});Object.defineProperty(exports,"lightenColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.k}});Object.defineProperty(exports,"parseColorString",{enumerable:true,get:function(){return chunk4VUZBV2S_js.g}});Object.defineProperty(exports,"resolveColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.a}});Object.defineProperty(exports,"resolveHighlightColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.b}});Object.defineProperty(exports,"resolveShadingColor",{enumerable:true,get:function(){return chunk4VUZBV2S_js.c}});Object.defineProperty(exports,"docxtemplaterPlugin",{enumerable:true,get:function(){return chunkVHWEKJ35_js.o}});Object.defineProperty(exports,"getTemplateTags",{enumerable:true,get:function(){return chunkPB7VMDDP_js.e}});Object.defineProperty(exports,"processTemplate",{enumerable:true,get:function(){return chunkPB7VMDDP_js.a}});Object.defineProperty(exports,"processTemplateAsBlob",{enumerable:true,get:function(){return chunkPB7VMDDP_js.c}});Object.defineProperty(exports,"processTemplateDetailed",{enumerable:true,get:function(){return chunkPB7VMDDP_js.b}});Object.defineProperty(exports,"validateTemplate",{enumerable:true,get:function(){return chunkPB7VMDDP_js.f}});Object.defineProperty(exports,"serializeDocumentBody",{enumerable:true,get:function(){return chunkIRO7KGGC_js.b}});Object.defineProperty(exports,"serializeDocx",{enumerable:true,get:function(){return chunkIRO7KGGC_js.c}});Object.defineProperty(exports,"serializeSectionProperties",{enumerable:true,get:function(){return chunkIRO7KGGC_js.a}});Object.defineProperty(exports,"executeCommand",{enumerable:true,get:function(){return chunkAARNCPWR_js.a}});Object.defineProperty(exports,"executeCommands",{enumerable:true,get:function(){return chunkAARNCPWR_js.b}});Object.defineProperty(exports,"canRenderFont",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.i}});Object.defineProperty(exports,"getLoadedFonts",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.g}});Object.defineProperty(exports,"isFontLoaded",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.e}});Object.defineProperty(exports,"isFontsLoading",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.f}});Object.defineProperty(exports,"loadFont",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.c}});Object.defineProperty(exports,"loadFontFromBuffer",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.j}});Object.defineProperty(exports,"loadFonts",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.d}});Object.defineProperty(exports,"onFontsLoaded",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.h}});Object.defineProperty(exports,"parseDocx",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.n}});Object.defineProperty(exports,"preloadCommonFonts",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.k}});Object.defineProperty(exports,"toArrayBuffer",{enumerable:true,get:function(){return chunkVR6PT4IZ_js.m}});Object.defineProperty(exports,"PluginRegistry",{enumerable:true,get:function(){return chunkBUEMG4NW_js.a}});Object.defineProperty(exports,"pluginRegistry",{enumerable:true,get:function(){return chunkBUEMG4NW_js.b}});Object.defineProperty(exports,"registerPlugins",{enumerable:true,get:function(){return chunkBUEMG4NW_js.c}});Object.defineProperty(exports,"emuToPixels",{enumerable:true,get:function(){return chunkSE5EN2QL_js.c}});Object.defineProperty(exports,"emuToTwips",{enumerable:true,get:function(){return chunkSE5EN2QL_js.e}});Object.defineProperty(exports,"formatPx",{enumerable:true,get:function(){return chunkSE5EN2QL_js.k}});Object.defineProperty(exports,"halfPointsToPixels",{enumerable:true,get:function(){return chunkSE5EN2QL_js.h}});Object.defineProperty(exports,"pixelsToEmu",{enumerable:true,get:function(){return chunkSE5EN2QL_js.d}});Object.defineProperty(exports,"pixelsToTwips",{enumerable:true,get:function(){return chunkSE5EN2QL_js.b}});Object.defineProperty(exports,"pointsToPixels",{enumerable:true,get:function(){return chunkSE5EN2QL_js.g}});Object.defineProperty(exports,"twipsToEmu",{enumerable:true,get:function(){return chunkSE5EN2QL_js.f}});Object.defineProperty(exports,"twipsToPixels",{enumerable:true,get:function(){return chunkSE5EN2QL_js.a}});exports.ANNOTATION_PANEL_STYLES=z;exports.AnnotationPanel=U;exports.NAVIGATION_SHORTCUTS=T;exports.TEMPLATE_DECORATION_STYLES=W;exports.VERSION=Di;exports.createDoubleClickWordSelector=ka;exports.createTemplatePlugin=Te;exports.createTemplateProseMirrorPlugin=B;exports.createTripleClickParagraphSelector=Ma;exports.describeShortcut=S;exports.expandSelectionToWord=Ua;exports.expandSelectionToWordBoundaries=Oa;exports.extendSelectionTo=_;exports.findNextWordStart=ee;exports.findPreviousWordStart=te;exports.findVisualLineEnd=ne;exports.findVisualLineStart=oe;exports.findWordAt=Ia;exports.findWordBoundaries=R;exports.findWordEnd=_a;exports.findWordStart=Ha;exports.getNavigationShortcutDescriptions=Ga;exports.getSelectionInfo=Ba;exports.getTemplatePluginTags=pe;exports.getWordAt=wa;exports.getWordAtCursor=za;exports.handleClickForMultiClick=Q;exports.handleNavigationKey=Wa;exports.isNavigationKey=Fa;exports.isPunctuation=Ka;exports.isWhitespace=K;exports.isWhitespaceChar=Y;exports.isWordChar=P;exports.isWordCharacter=M;exports.matchesShortcut=Va;exports.moveByWord=re;exports.moveToLineEdge=ae;exports.parseNavigationAction=ie;exports.selectParagraphAtCursor=J;exports.selectWordAtCursor=$;exports.selectWordInTextNode=Na;exports.setHoveredElement=D;exports.setSelectedElement=L;exports.setSelectionPosition=H;exports.templatePlugin=pi;exports.templatePluginKey=m;
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export{w as DEFAULT_SELECTION_STYLE,j as DocxEditor,a as EditorToolbar,d as ErrorBoundary,c as ErrorProvider,x as HIGH_CONTRAST_SELECTION_STYLE,U as PLUGIN_HOST_STYLES,e as ParseErrorDisplay,V as PluginHost,y as SELECTION_CSS_VARS,f as UnsupportedFeatureWarning,m as ZOOM_PRESETS,P as areSelectionStylesInjected,v as clampZoom,K as clearSelection,Q as createSelectionChangeHandler,p as findNearestZoomPreset,s as formatZoom,S as generateOverlayElements,D as generateSelectionCSS,C as getHighlightRectStyle,B as getMergedSelectionRects,q as getNextZoomPreset,r as getPreviousZoomPreset,F as getSelectedText,H as getSelectionBoundingRect,z as getSelectionRects,h as getUserFriendlyMessage,o as getZoomPresets,E as hasActiveSelection,I as highlightTextRange,N as injectSelectionStyles,g as isParseError,L as isSelectionBackwards,G as isSelectionWithin,u as isZoomPreset,A as mergeAdjacentRects,M as normalizeSelectionDirection,t as parseZoom,O as removeSelectionStyles,k as renderAsync,J as selectRange,l as useAutoSave,T as useClipboard,b as useErrorNotifications,R as useSelectionHighlight,i as useTableSelection,n as useWheelZoom}from'./chunk-MVCTPHRR.mjs';import'./chunk-TDEHAPMZ.mjs';export{k as ColorPicker,a as ContextMenu,V as InsertImageDialog,da as InsertSymbolDialog,O as InsertTableDialog,qa as KeyboardShortcutsDialog,B as LoadingIndicator,ka as PasteSpecialDialog,l as PrintButton,m as PrintStyles,g as ResponsePreview,J as ResponsiveToolbar,K as ResponsiveToolbarGroup,ca as SYMBOL_CATEGORIES,u as TableInsertButtons,t as TableMergeButton,v as UnsavedIndicator,_ as calculateFitDimensions,S as clampTableConfig,A as createChangeTracker,Q as createDefaultTableConfig,j as createErrorResponse,i as createMockResponse,L as createToolbarItem,M as createToolbarItems,$ as dataUrlToBlob,H as delay,ba as formatFileSize,r as formatPrintPageRange,xa as formatShortcutKeys,T as formatTableDimensions,c as getActionShortcut,f as getAllActions,wa as getAllCategories,z as getAllIndicatorPositions,y as getAllIndicatorVariants,G as getAllLoadingSizes,F as getAllLoadingVariants,na as getAllPasteOptions,va as getCategoryLabel,ua as getCommonShortcuts,e as getDefaultActions,oa as getDefaultPasteOption,p as getDefaultPrintOptions,sa as getDefaultShortcuts,Z as getImageAcceptString,aa as getImageDimensions,E as getLoadingVariantLabel,ma as getPasteOption,N as getRecommendedPriority,ta as getShortcutsByCategory,Y as getSupportedImageExtensions,fa as getSymbolCategories,ha as getSymbolUnicodeInfo,ga as getSymbolsByCategory,U as getTablePresets,x as getVariantLabel,d as isActionAvailable,pa as isPasteSpecialShortcut,s as isPrintSupported,X as isValidImageFile,R as isValidTableConfig,o as openPrintWindow,q as parsePageRange,ia as searchSymbols,ja as symbolFromCodePoint,n as triggerPrint,b as useContextMenu,W as useInsertImageDialog,ea as useInsertSymbolDialog,P as useInsertTableDialog,ra as useKeyboardShortcutsDialog,C as useLoading,D as useLoadingOperations,la as usePasteSpecial,h as useResponsePreview,I as useResponsiveToolbar,w as useUnsavedChanges}from'./chunk-KCUPCJFL.mjs';export{k as AdvancedColorPicker,l as AlignmentButtons,K as CLIPBOARD_TYPES,g as FontPicker,j as FontSizePicker,y as FormattingBar,E as HorizontalRuler,J as INTERNAL_CLIPBOARD_TYPE,o as LineSpacingPicker,m as ListButtons,p as StylePicker,s as TableBorderColorPicker,r as TableBorderPicker,t as TableBorderWidthPicker,u as TableCellFillPicker,v as TableMoreDropdown,da as TableToolbar,Z as TextContextMenu,D as Toolbar,A as ToolbarButton,B as ToolbarGroup,C as ToolbarSeparator,q as ZoomControl,ja as addColumn,ha as addRow,W as cleanWordHtml,N as copyParagraphs,M as copyRuns,Y as createClipboardHandlers,n as createDefaultListState,ea as createTableContext,ka as deleteColumn,ia as deleteRow,ga as getCellAt,fa as getColumnCount,ba as getDefaultTextContextMenuItems,H as getMarginInUnits,G as getRulerDimensions,$ as getTextActionLabel,aa as getTextActionShortcut,S as handlePasteEvent,X as htmlToRuns,V as isEditorHtml,ca as isTextActionAvailable,U as isWordHtml,la as mergeCells,P as paragraphsToClipboardContent,T as parseClipboardHtml,I as parseMarginFromUnits,F as positionToMargin,R as readFromClipboard,O as runsToClipboardContent,ma as splitCell,_ as useTextContextMenu,Q as writeToClipboard}from'./chunk-7HZRJTOL.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-XWBCP563.mjs';export{d as HyperlinkDialog,m as useHyperlinkDialog}from'./chunk-AZRYS2WF.mjs';export{x as TABLE_DATA_ATTRIBUTES,n as countPageBreaks,b as createColumnBreak,g as createHorizontalRule,c as createLineBreak,a as createPageBreak,e as createPageBreakParagraph,d as createPageBreakRun,F as createSelectionFromDOM,o as findPageBreaks,s as formatLastSaveTime,v as formatStorageSize,t as getAutoSaveStatusLabel,u as getAutoSaveStorageSize,E as getSelectionRuns,m as hasPageBreakBefore,h as insertHorizontalRule,f as insertPageBreak,w as isAutoSaveSupported,l as isBreakContent,j as isColumnBreak,k as isLineBreak,i as isPageBreak,p as removePageBreak}from'./chunk-QTSXJRP6.mjs';import'./chunk-6WPRCJ5A.mjs';export{f as DocumentAgent,m as buildExtendedSelectionContext,l as buildSelectionContext,e as createDocumentWithText,d as createEmptyDocument,i as getAgentContext,k as getDocumentSummary}from'./chunk-YGTSQZRK.mjs';export{l as blendColors,q as colorsEqual,i as createRgbColor,h as createThemeColor,j as darkenColor,f as getContrastingColor,d as isBlack,e as isWhite,k as lightenColor,g as parseColorString,a as resolveColor,b as resolveHighlightColor,c as resolveShadingColor}from'./chunk-QAZ4233N.mjs';export{o as docxtemplaterPlugin}from'./chunk-Z35FA4M4.mjs';export{e as getTemplateTags,a as processTemplate,c as processTemplateAsBlob,b as processTemplateDetailed,f as validateTemplate}from'./chunk-DLVLK5FT.mjs';export{b as serializeDocumentBody,c as serializeDocx,a as serializeSectionProperties}from'./chunk-I6LFWQFR.mjs';export{a as executeCommand,b as executeCommands}from'./chunk-M5F4SK3W.mjs';export{i as canRenderFont,g as getLoadedFonts,e as isFontLoaded,f as isFontsLoading,c as loadFont,j as loadFontFromBuffer,d as loadFonts,h as onFontsLoaded,n as parseDocx,k as preloadCommonFonts,m as toArrayBuffer}from'./chunk-CQRI4YUS.mjs';export{a as PluginRegistry,b as pluginRegistry,c as registerPlugins}from'./chunk-W53SI3XW.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-LYBG4YI7.mjs';import'./chunk-WOHFANC5.mjs';import'./chunk-TAUMSKRE.mjs';import ye,{useState,useRef,useMemo,useCallback,useEffect}from'react';import {PluginKey,TextSelection,Plugin}from'prosemirror-state';import {DecorationSet,Decoration}from'prosemirror-view';import {jsx,jsxs}from'react/jsx-runtime';var Ra=/[\p{L}\p{N}''\-]/u,Aa=/\s/;function M(e){return !e||e.length===0?false:Ra.test(e)}function K(e){return !e||e.length===0?false:Aa.test(e)}function R(e,t){if(!e||e.length===0)return [0,0];t=Math.max(0,Math.min(t,e.length-1));let o=e[t];if(K(o)){let n=t,r=t;for(;n>0&&K(e[n-1]);)n--;for(;r<e.length&&K(e[r]);)r++;return [n,r]}if(M(o)){let n=t,r=t;for(;n>0&&M(e[n-1]);)n--;for(;r<e.length&&M(e[r]);)r++;return [n,r]}return [t,t+1]}function wa(e,t){let[o,n]=R(e,t);return e.slice(o,n)}function Ia(e,t){let[o,n]=R(e,t);return {word:e.slice(o,n),startIndex:o,endIndex:n}}function $(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0),o=t.startContainer;if(o.nodeType===Node.TEXT_NODE){let n=o.textContent||"",r=t.startOffset,[a,i]=R(n,r);if(i>a)return t.setStart(o,a),t.setEnd(o,i),e.removeAllRanges(),e.addRange(t),true}if(o.nodeType===Node.ELEMENT_NODE){let n=o,r=q(n);if(r.length>0){let a=t.startOffset,i=null,l=a;if(a<n.childNodes.length){let p=n.childNodes[a];if(p.nodeType===Node.TEXT_NODE)i=p,l=0;else if(p instanceof Element){let d=q(p);d.length>0&&(i=d[0],l=0);}}if(!i&&r.length>0&&(i=r[0],l=0),i){let p=i.textContent||"",[d,c]=R(p,l);if(c>d){let u=document.createRange();return u.setStart(i,d),u.setEnd(i,c),e.removeAllRanges(),e.addRange(u),true}}}}return false}function Na(e,t){let o=window.getSelection();if(!o)return false;let n=e.textContent||"",[r,a]=R(n,t);if(a>r){let i=document.createRange();return i.setStart(e,r),i.setEnd(e,a),o.removeAllRanges(),o.addRange(i),true}return false}function Oa(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.getRangeAt(0);if(t.collapsed)return $();let o=t.startContainer,n=t.endContainer,r=t.startOffset,a=t.endOffset;if(o.nodeType===Node.TEXT_NODE){let i=o.textContent||"",[l]=R(i,t.startOffset);r=l;}if(n.nodeType===Node.TEXT_NODE){let i=n.textContent||"",l=Math.max(0,t.endOffset-1),[,p]=R(i,l);a=p;}try{return t.setStart(o,r),t.setEnd(n,a),e.removeAllRanges(),e.addRange(t),!0}catch(i){return console.warn("Could not expand selection to word boundaries:",i),false}}function J(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let o=e.getRangeAt(0).commonAncestorContainer,n=Da(o);if(n){let r=document.createRange();return r.selectNodeContents(n),e.removeAllRanges(),e.addRange(r),true}return false}function Da(e){if(!e)return null;let t=e;for(;t;){if(t instanceof Element&&t.hasAttribute("data-paragraph-index"))return t;t=t.parentNode;}return null}function q(e){let t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),n;for(;n=o.nextNode();)n.nodeType===Node.TEXT_NODE&&t.push(n);return t}var V=0,O=null,G=null,La=500;function j(){V=0,G=null,O&&(clearTimeout(O),O=null);}function Q(e){return e.target!==G&&j(),V++,G=e.target,O&&clearTimeout(O),O=setTimeout(j,La),Math.min(V,3)}function ka(){return e=>{e.ctrlKey||e.metaKey||e.altKey||$();}}function Ma(){return e=>{if(Q(e)===3){if(e.ctrlKey||e.metaKey||e.altKey)return;J();}}}function P(e){return e?/[\p{L}\p{N}_]/u.test(e):false}function Y(e){return e?/\s/.test(e):false}function Ka(e){return e?/[\p{P}]/u.test(e):false}function Ha(e,t){if(t<=0)return 0;t>e.length&&(t=e.length);let o=t;for(;o>0&&Y(e[o-1]);)o--;if(o===0)return 0;for(;o>0&&P(e[o-1]);)o--;return o}function _a(e,t){if(t>=e.length)return e.length;t<0&&(t=0);let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&Y(e[o]);)o++;return o}function ee(e,t){if(t>=e.length)return e.length;let o=t;for(;o<e.length&&P(e[o]);)o++;for(;o<e.length&&!P(e[o]);)o++;return o}function te(e,t){if(t<=0)return 0;let o=t;for(;o>0&&!P(e[o-1]);)o--;for(;o>0&&P(e[o-1]);)o--;return o}function oe(e,t){if(!window.getSelection())return null;let n=document.createRange();if(e.nodeType===Node.TEXT_NODE){n.setStart(e,Math.min(t,e.textContent?.length||0)),n.collapse(true);let a=n.getBoundingClientRect().top,i=0,l=t;for(;i<l;){let p=Math.floor((i+l)/2);n.setStart(e,p),n.collapse(true);let d=n.getBoundingClientRect();Math.abs(d.top-a)<2?l=p:i=p+1;}return {node:e,offset:i}}return null}function ne(e,t){if(!window.getSelection())return null;let n=e.textContent?.length||0,r=document.createRange();if(e.nodeType===Node.TEXT_NODE){r.setStart(e,Math.min(t,n)),r.collapse(true);let i=r.getBoundingClientRect().top,l=t,p=n;for(;l<p;){let d=Math.ceil((l+p)/2);r.setStart(e,d),r.collapse(true);let c=r.getBoundingClientRect();Math.abs(c.top-i)<2?l=d:p=d-1;}return {node:e,offset:l}}return null}function Ba(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.getRangeAt(0);return {node:t.startContainer,offset:t.startOffset,anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset,isCollapsed:e.isCollapsed,text:e.toString()}}function H(e,t){let o=window.getSelection();if(!o)return;let n=document.createRange(),r=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;n.setStart(e,Math.min(t,r)),n.collapse(true),o.removeAllRanges(),o.addRange(n);}function _(e,t){let o=window.getSelection();if(!(!o||!o.anchorNode))try{o.extend(e,Math.min(t,e.textContent?.length||0));}catch{let n=e.nodeType===Node.TEXT_NODE?e.textContent?.length||0:e.childNodes.length;o.setBaseAndExtent(o.anchorNode,o.anchorOffset,e,Math.min(t,n));}}function re(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n||n.nodeType!==Node.TEXT_NODE)return false;let r=n.textContent||"",a=o.focusOffset,i;return e==="left"?i=te(r,a):i=ee(r,a),t?_(n,i):H(n,i),true}function ae(e,t=false){let o=window.getSelection();if(!o||o.rangeCount===0)return false;let n=o.focusNode;if(!n)return false;if(n.nodeType===Node.TEXT_NODE){let i=e==="start"?oe(n,o.focusOffset):ne(n,o.focusOffset);if(i)return t?_(i.node,i.offset):H(i.node,i.offset),true}let r=n.textContent||"",a=e==="start"?0:r.length;return t?_(n,a):H(n,a),true}function ie(e){let{key:t,ctrlKey:o,metaKey:n,shiftKey:r,altKey:a}=e,i=o||n;switch(t){case "ArrowLeft":if(i)return {direction:"left",unit:"word",extend:r};break;case "ArrowRight":if(i)return {direction:"right",unit:"word",extend:r};break;case "Home":return i?{direction:"left",unit:"document",extend:r}:{direction:"left",unit:"line",extend:r};case "End":return i?{direction:"right",unit:"document",extend:r}:{direction:"right",unit:"line",extend:r}}return null}function Wa(e,t){let o=ie(e);if(!o)return false;switch(o.unit){case "word":if((o.direction==="left"||o.direction==="right")&&re(o.direction,o.extend))return e.preventDefault(),true;break;case "line":let n=o.direction==="left"?"start":"end";if(ae(n,o.extend))return e.preventDefault(),true;break;case "document":if(o.direction==="left"&&t?.onDocumentStart)return e.preventDefault(),t.onDocumentStart(),true;if(o.direction==="right"&&t?.onDocumentEnd)return e.preventDefault(),t.onDocumentEnd(),true;break}return false}function Fa(e){let{key:t,ctrlKey:o,metaKey:n}=e;return !!((o||n)&&(t==="ArrowLeft"||t==="ArrowRight")||t==="Home"||t==="End")}function Ua(){let e=window.getSelection();if(!e||e.rangeCount===0)return false;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return false;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;if(r===a)return false;let i=document.createRange();return i.setStart(t,r),i.setEnd(t,a),e.removeAllRanges(),e.addRange(i),true}function za(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.focusNode;if(!t||t.nodeType!==Node.TEXT_NODE)return null;let o=t.textContent||"",n=e.focusOffset,r=n,a=n;for(;r>0&&P(o[r-1]);)r--;for(;a<o.length&&P(o[a]);)a++;return r===a?null:o.slice(r,a)}function Va(e,t){let o=e.ctrlKey||e.metaKey,n=t.ctrlKey||t.metaKey;return e.key.toLowerCase()===t.key.toLowerCase()&&o===!!n&&e.shiftKey===!!t.shiftKey&&e.altKey===!!t.altKey}var T={wordLeft:{key:"ArrowLeft",ctrlKey:true},wordRight:{key:"ArrowRight",ctrlKey:true},selectWordLeft:{key:"ArrowLeft",ctrlKey:true,shiftKey:true},selectWordRight:{key:"ArrowRight",ctrlKey:true,shiftKey:true},lineStart:{key:"Home"},lineEnd:{key:"End"},selectToLineStart:{key:"Home",shiftKey:true},selectToLineEnd:{key:"End",shiftKey:true},documentStart:{key:"Home",ctrlKey:true},documentEnd:{key:"End",ctrlKey:true},selectToDocumentStart:{key:"Home",ctrlKey:true,shiftKey:true},selectToDocumentEnd:{key:"End",ctrlKey:true,shiftKey:true}};function S(e){let t=[];if(e.ctrlKey||e.metaKey){let n=typeof navigator<"u"&&/Mac/i.test(navigator.platform);t.push(n?"\u2318":"Ctrl");}e.shiftKey&&t.push("Shift"),e.altKey&&t.push("Alt");let o=e.key;return o==="ArrowLeft"?o="\u2190":o==="ArrowRight"?o="\u2192":o==="ArrowUp"?o="\u2191":o==="ArrowDown"&&(o="\u2193"),t.push(o),t.join("+")}function Ga(){return [{action:"Move by word (left)",shortcut:S(T.wordLeft)},{action:"Move by word (right)",shortcut:S(T.wordRight)},{action:"Select word (left)",shortcut:S(T.selectWordLeft)},{action:"Select word (right)",shortcut:S(T.selectWordRight)},{action:"Go to line start",shortcut:S(T.lineStart)},{action:"Go to line end",shortcut:S(T.lineEnd)},{action:"Select to line start",shortcut:S(T.selectToLineStart)},{action:"Select to line end",shortcut:S(T.selectToLineEnd)},{action:"Go to document start",shortcut:S(T.documentStart)},{action:"Go to document end",shortcut:S(T.documentEnd)},{action:"Select to document start",shortcut:S(T.selectToDocumentStart)},{action:"Select to document end",shortcut:S(T.selectToDocumentEnd)}]}var se=/\{([#/^@]?)([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}/g,m=new PluginKey("template");function Xa(e,t,o){return `${e}:${t}:${o}`}function le(e){let t=[];e.descendants((p,d)=>(p.isText&&p.text&&t.push({text:p.text,pos:d}),true));let o="",n=[];for(let p of t){for(let d=0;d<p.text.length;d++)n.push(p.pos+d);o+=p.text;}let r=[],a=[],i=new Map,l;for(se.lastIndex=0;(l=se.exec(o))!==null;){let[p,d,c]=l,u=n[l.index],x=n[l.index+p.length-1]+1,g;d==="#"?g="sectionStart":d==="/"?g="sectionEnd":d==="^"?g="invertedStart":d==="@"?g="raw":g="variable";let b=`${g}:${c}`,k=i.get(b)??0;i.set(b,k+1);let w={id:Xa(g,c,k),type:g,name:c,rawTag:p,from:u,to:x};if(g==="sectionStart"||g==="invertedStart")w.nestedVars=[],a.push(w);else if(g==="sectionEnd"){for(let s=a.length-1;s>=0;s--)if(a[s].name===c){a.splice(s,1);break}}else g==="variable"&&a.length>0&&(a[a.length-1].nestedVars?.push(c),w.insideSection=true);r.push(w);}return r}function qa(e){switch(e){case "sectionStart":case "sectionEnd":return "#3b82f6";case "invertedStart":return "#8b5cf6";case "raw":return "#ef4444";default:return "#f59e0b"}}function Z(e,t,o,n){let r=[];for(let a of t){let i=a.id===o,l=a.id===n,p=qa(a.type),d=["docx-template-tag"];i&&d.push("hovered"),l&&d.push("selected"),r.push(Decoration.inline(a.from,a.to,{class:d.join(" "),"data-tag-id":a.id,style:`background-color: ${p}22; border-radius: 2px;`}));}return DecorationSet.create(e,r)}function ja(e,t){if(e.length!==t.length)return false;for(let o=0;o<e.length;o++)if(e[o].id!==t[o].id)return false;return true}function B(){return new Plugin({key:m,state:{init(e,t){let o=le(t.doc);return {tags:o,decorations:Z(t.doc,o)}},apply(e,t,o,n){if(e.docChanged){let a=le(n.doc),i=ja(t.tags,a);return {tags:a,decorations:i?t.decorations.map(e.mapping,e.doc):Z(n.doc,a,t.hoveredId,t.selectedId),hoveredId:t.hoveredId,selectedId:t.selectedId}}let r=e.getMeta(m);if(r){let a=r.hoveredId??t.hoveredId,i=r.selectedId??t.selectedId;return {...t,hoveredId:a,selectedId:i,decorations:Z(n.doc,t.tags,a,i)}}return {...t,decorations:t.decorations.map(e.mapping,e.doc)}}},props:{decorations(e){return m.getState(e)?.decorations??DecorationSet.empty},handleClick(e,t){let n=(m.getState(e.state)?.tags??[]).find(a=>t>=a.from&&t<=a.to);return n?(e.dispatch(e.state.tr.setMeta(m,{selectedId:n.id})),true):(m.getState(e.state)?.selectedId&&e.dispatch(e.state.tr.setMeta(m,{selectedId:void 0})),false)},handleDOMEvents:{mouseover(e,t){let n=t.target.closest?.("[data-tag-id]")?.getAttribute("data-tag-id")||void 0,r=m.getState(e.state)?.hoveredId;return n!==r&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:n})),false},mouseout(e,t){return t.relatedTarget?.closest?.("[data-tag-id]")||m.getState(e.state)?.hoveredId&&e.dispatch(e.state.tr.setMeta(m,{hoveredId:void 0})),false}}}})}function pe(e){return m.getState(e)?.tags??[]}function D(e,t){e.dispatch(e.state.tr.setMeta(m,{hoveredId:t}));}function L(e,t){e.dispatch(e.state.tr.setMeta(m,{selectedId:t}));}var W=`
|
|
2
|
+
.docx-template-tag {
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
transition: background-color 0.1s;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.docx-template-tag:hover,
|
|
8
|
+
.docx-template-tag.hovered {
|
|
9
|
+
filter: brightness(0.95);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.docx-template-tag.selected {
|
|
13
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
|
|
14
|
+
}
|
|
15
|
+
`;var ti={variable:"#f59e0b",sectionStart:"#3b82f6",sectionEnd:"#3b82f6",invertedStart:"#8b5cf6",raw:"#ef4444"};function oi(e){switch(e){case "sectionStart":return "LOOP / IF";case "invertedStart":return "IF NOT";case "raw":return "HTML";default:return ""}}function U({editorView:e,pluginState:t,renderedDomContext:o}){let n=t?.tags??[],r=t?.hoveredId,a=t?.selectedId,[i,l]=useState(0),p=useRef(null),d=useRef(new Map),c=useRef([]),u=useMemo(()=>n.filter(s=>s.type!=="sectionEnd"&&!s.insideSection),[n]),x=useCallback(()=>{if(u.length===0||!o)return c.current;let s=[],h=o.getContainerOffset(),E=new Map;for(let f of c.current)E.set(f.tag.id,f.top);for(let f of u){let y=o.getRectsForRange(f.from,f.from+1);if(y.length>0){let v=y[0].y+h.y-40;s.push({tag:f,top:v});}else {let v=E.get(f.id);v!==void 0&&s.push({tag:f,top:v});}}s.sort((f,y)=>f.top-y.top);let I=6;for(let f=1;f<s.length;f++){let y=s[f-1],v=s[f],C=d.current.get(y.tag.id),N=32;C?N=C.offsetHeight:y.tag.nestedVars&&y.tag.nestedVars.length>0&&(N=42+y.tag.nestedVars.length*26),v.top<y.top+N+I&&(v.top=y.top+N+I);}return c.current=s,s},[u,o]),g=useMemo(()=>x(),[x,i]);useEffect(()=>{if(!o)return;let s=new ResizeObserver(()=>{requestAnimationFrame(()=>l(h=>h+1));});return s.observe(o.pagesContainer),()=>s.disconnect()},[o]),useEffect(()=>{let s=()=>{requestAnimationFrame(()=>l(h=>h+1));};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]);let b=useRef("");useEffect(()=>{let s=u.map(h=>h.id).join(",");if(s&&b.current!==s){let h=setTimeout(()=>{b.current=s,l(E=>E+1);},50);return ()=>clearTimeout(h)}},[u]);let k=s=>{e&&D(e,s);},w=s=>{if(!e)return;L(e,s.id);let{state:h}=e,E=h.tr.setSelection(TextSelection.near(h.doc.resolve(s.from)));e.dispatch(E),e.focus();};return u.length===0?null:jsx("div",{className:"template-panel",ref:p,children:jsx("div",{className:"template-panel-annotations",children:g.map(({tag:s,top:h})=>{let E=oi(s.type),I=ti[s.type],f=s.type==="sectionStart"||s.type==="invertedStart",y=s.id===r,v=s.id===a;return jsxs("div",{className:"template-annotation-anchor",style:{top:`${h}px`},children:[jsx("div",{className:"template-annotation-connector"}),jsxs("div",{ref:C=>{C?d.current.set(s.id,C):d.current.delete(s.id);},className:`template-annotation-chip ${y?"hovered":""} ${v?"selected":""}`,style:{borderLeftColor:I},onMouseEnter:()=>k(s.id),onMouseLeave:()=>k(void 0),onClick:()=>w(s),title:f?`${s.rawTag}
|
|
16
|
+
Iterates over ${s.name}[]. Access nested properties via ${s.name}.property`:s.rawTag,children:[E&&jsx("span",{className:"template-chip-badge",style:{background:I},children:E}),!E&&jsx("span",{className:"template-chip-dot",style:{color:I},children:"\u25CF"}),jsx("span",{className:"template-chip-name",children:s.name}),f&&s.nestedVars&&s.nestedVars.length>0&&jsx("div",{className:"template-chip-nested",children:s.nestedVars.map((C,N)=>jsx("span",{className:"template-nested-var",title:`Access: ${s.name}.${C}`,children:C.includes(".")?C.split(".").pop():C},N))})]})]},s.id)})})})}var z=`
|
|
17
|
+
.template-panel {
|
|
18
|
+
display: flex;
|
|
19
|
+
min-height: 100%;
|
|
20
|
+
background: transparent;
|
|
21
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
22
|
+
position: relative;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.template-panel-annotations {
|
|
26
|
+
flex: 1;
|
|
27
|
+
position: relative;
|
|
28
|
+
overflow: visible;
|
|
29
|
+
min-height: 100%;
|
|
30
|
+
pointer-events: none;
|
|
31
|
+
will-change: transform;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.template-panel-annotations > * {
|
|
35
|
+
pointer-events: auto;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.template-annotation-anchor {
|
|
39
|
+
position: absolute;
|
|
40
|
+
left: 0;
|
|
41
|
+
right: 0;
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: flex-start;
|
|
44
|
+
transition: top 0.15s ease-out;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.template-annotation-connector {
|
|
48
|
+
width: 20px;
|
|
49
|
+
height: 1px;
|
|
50
|
+
background: #d0d0d0;
|
|
51
|
+
margin-top: 12px;
|
|
52
|
+
margin-right: 4px;
|
|
53
|
+
flex-shrink: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.template-annotation-anchor:hover .template-annotation-connector {
|
|
57
|
+
background: #3b82f6;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.template-annotation-chip {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
flex-wrap: wrap;
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: 4px;
|
|
65
|
+
padding: 5px 10px;
|
|
66
|
+
background: white;
|
|
67
|
+
border: 1px solid #e2e8f0;
|
|
68
|
+
border-left: 3px solid #6c757d;
|
|
69
|
+
border-radius: 4px;
|
|
70
|
+
font-size: 11px;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
|
|
73
|
+
max-width: 200px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.template-annotation-chip:hover,
|
|
77
|
+
.template-annotation-chip.hovered {
|
|
78
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
|
|
79
|
+
border-color: #cbd5e1;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.template-annotation-chip.selected {
|
|
83
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.template-chip-badge {
|
|
87
|
+
font-size: 9px;
|
|
88
|
+
font-weight: 600;
|
|
89
|
+
padding: 1px 5px;
|
|
90
|
+
border-radius: 3px;
|
|
91
|
+
color: white;
|
|
92
|
+
text-transform: uppercase;
|
|
93
|
+
letter-spacing: 0.3px;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.template-chip-dot {
|
|
97
|
+
font-size: 8px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.template-chip-name {
|
|
101
|
+
color: #334155;
|
|
102
|
+
font-weight: 500;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.template-chip-nested {
|
|
106
|
+
display: flex;
|
|
107
|
+
flex-wrap: wrap;
|
|
108
|
+
gap: 4px;
|
|
109
|
+
width: 100%;
|
|
110
|
+
margin-top: 4px;
|
|
111
|
+
padding-top: 4px;
|
|
112
|
+
border-top: 1px solid rgba(0, 0, 0, 0.06);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.template-nested-var {
|
|
116
|
+
font-size: 10px;
|
|
117
|
+
color: #64748b;
|
|
118
|
+
background: rgba(0, 0, 0, 0.04);
|
|
119
|
+
padding: 2px 6px;
|
|
120
|
+
border-radius: 3px;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.template-nested-var:hover {
|
|
124
|
+
background: rgba(59, 130, 246, 0.15);
|
|
125
|
+
color: #1e40af;
|
|
126
|
+
}
|
|
127
|
+
`;var ii={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)"},si={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 me({context:e,tags:t,hoveredId:o,selectedId:n,onHover:r,onSelect:a}){let[i,l]=useState(0),p=useCallback(()=>{let c=e.getContainerOffset(),u=[];for(let x of t){let g=e.getRectsForRange(x.from,x.to);for(let b of g)u.push({tagId:x.id,tagType:x.type,x:b.x+c.x,y:b.y+c.y,width:b.width,height:b.height});}return u},[e,t]),d=useMemo(()=>p(),[p,i]);return useEffect(()=>{let c=()=>{requestAnimationFrame(()=>l(u=>u+1));};return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]),useEffect(()=>{let c=new ResizeObserver(()=>{requestAnimationFrame(()=>l(u=>u+1));});return c.observe(e.pagesContainer),()=>c.disconnect()},[e.pagesContainer]),d.length===0?null:jsx("div",{className:"template-highlight-overlay",children:d.map((c,u)=>{let x=c.tagId===o,g=c.tagId===n,b=x||g?si[c.tagType]:ii[c.tagType];return jsx("div",{className:`template-highlight ${x?"hovered":""} ${g?"selected":""}`,style:{position:"absolute",left:c.x,top:c.y,width:c.width,height:c.height,backgroundColor:b,borderRadius:2,cursor:"pointer"},onMouseEnter:()=>r?.(c.tagId),onMouseLeave:()=>r?.(void 0),onClick:()=>a?.(c.tagId)},`${c.tagId}-${u}`)})})}var he=`
|
|
128
|
+
.template-highlight-overlay {
|
|
129
|
+
position: absolute;
|
|
130
|
+
top: 0;
|
|
131
|
+
left: 0;
|
|
132
|
+
right: 0;
|
|
133
|
+
bottom: 0;
|
|
134
|
+
pointer-events: none;
|
|
135
|
+
overflow: visible;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.template-highlight {
|
|
139
|
+
pointer-events: auto;
|
|
140
|
+
transition: background-color 0.1s ease;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.template-highlight:hover,
|
|
144
|
+
.template-highlight.hovered {
|
|
145
|
+
filter: brightness(0.9);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.template-highlight.selected {
|
|
149
|
+
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.6);
|
|
150
|
+
}
|
|
151
|
+
`;var ci=ye.memo(U,(e,t)=>{let o=e.pluginState,n=t.pluginState;if(o?.hoveredId!==n?.hoveredId||o?.selectedId!==n?.selectedId)return false;let r=o?.tags??[],a=n?.tags??[];if(r.length!==a.length)return false;for(let i=0;i<r.length;i++)if(r[i].id!==a[i].id)return false;return e.renderedDomContext===t.renderedDomContext});function Te(e={}){return {id:"template",name:"Template",proseMirrorPlugins:[B()],Panel:ci,panelConfig:{position:e.panelPosition??"right",defaultSize:e.panelWidth??280,minSize:200,maxSize:400,resizable:true,collapsible:true,defaultCollapsed:e.defaultCollapsed??false},onStateChange:o=>{let n=m.getState(o.state);if(n)return {tags:n.tags,hoveredId:n.hoveredId,selectedId:n.selectedId}},initialize:o=>({tags:[]}),renderOverlay:(o,n,r)=>!n||n.tags.length===0?null:ye.createElement(me,{context:o,tags:n.tags,hoveredId:n.hoveredId,selectedId:n.selectedId,onHover:a=>{r&&D(r,a);},onSelect:a=>{if(r){L(r,a);let i=n.tags.find(l=>l.id===a);if(i){let l=r.state.tr.setSelection(TextSelection.near(r.state.doc.resolve(i.from)));r.dispatch(l),r.focus();}}}}),styles:`
|
|
152
|
+
${W}
|
|
153
|
+
${z}
|
|
154
|
+
${he}
|
|
155
|
+
`}}var pi=Te();var Di="0.0.2";export{z as ANNOTATION_PANEL_STYLES,U as AnnotationPanel,T as NAVIGATION_SHORTCUTS,W as TEMPLATE_DECORATION_STYLES,Di as VERSION,ka as createDoubleClickWordSelector,Te as createTemplatePlugin,B as createTemplateProseMirrorPlugin,Ma as createTripleClickParagraphSelector,S as describeShortcut,Ua as expandSelectionToWord,Oa as expandSelectionToWordBoundaries,_ as extendSelectionTo,ee as findNextWordStart,te as findPreviousWordStart,ne as findVisualLineEnd,oe as findVisualLineStart,Ia as findWordAt,R as findWordBoundaries,_a as findWordEnd,Ha as findWordStart,Ga as getNavigationShortcutDescriptions,Ba as getSelectionInfo,pe as getTemplatePluginTags,wa as getWordAt,za as getWordAtCursor,Q as handleClickForMultiClick,Wa as handleNavigationKey,Fa as isNavigationKey,Ka as isPunctuation,K as isWhitespace,Y as isWhitespaceChar,P as isWordChar,M as isWordCharacter,Va as matchesShortcut,re as moveByWord,ae as moveToLineEdge,ie as parseNavigationAction,J as selectParagraphAtCursor,$ as selectWordAtCursor,Na as selectWordInTextNode,D as setHoveredElement,L as setSelectedElement,H as setSelectionPosition,pi as templatePlugin,m as templatePluginKey};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-WOHFANC5.mjs';import'./chunk-TAUMSKRE.mjs';var libBCT2DRYI = a();export{libBCT2DRYI as default};
|
package/dist/lib-U35UU4OU.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';var chunkIFPN3NT3_js=require('./chunk-IFPN3NT3.js');require('./chunk-H5NTJZO4.js');var libU35UU4OU = chunkIFPN3NT3_js.a();module.exports=libU35UU4OU;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { M as McpToolDefinition, e as McpSession, J as JsonSchema } from './types-
|
|
2
|
-
import './agentApi-BVHzyk2l.
|
|
1
|
+
import { M as McpToolDefinition, e as McpSession, J as JsonSchema } from './types-B3LkfO0u.mjs';
|
|
2
|
+
import './agentApi-BVHzyk2l.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Core MCP Tools
|
package/dist/mcp-reexport.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';var chunkIRO7KGGC_js=require('./chunk-IRO7KGGC.js'),chunkAARNCPWR_js=require('./chunk-AARNCPWR.js'),chunkVR6PT4IZ_js=require('./chunk-VR6PT4IZ.js'),chunkBUEMG4NW_js=require('./chunk-BUEMG4NW.js');require('./chunk-SE5EN2QL.js'),require('./chunk-IFPN3NT3.js'),require('./chunk-H5NTJZO4.js');var u={type:"string",description:"Document ID returned from docx_load"},h={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},offset:{type:"number",description:"Character offset within the paragraph",minimum:0}},required:["paragraphIndex","offset"]},T={type:"object",properties:{start:h,end:h},required:["start","end"]},D={name:"docx_load",description:`Load a DOCX document from base64-encoded content.
|
|
2
2
|
Returns a document ID that can be used with other tools.
|
|
3
|
-
The document remains in session memory until closed.`,inputSchema:{type:"object",properties:{content:{type:"string",description:"Base64-encoded DOCX file content"},source:{type:"string",description:"Optional source filename or identifier for reference"}},required:["content"]},handler:async(r,s)=>{let{content:e,source:c}=r;try{let t=atob(e),n
|
|
4
|
-
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r,c=s.session.documents.get(e);if(!c)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let t;c.buffer?t=await f(c.document):t=await l(c.document);let n=new Uint8Array(t),o="";for(let d=0;d<n.length;d++)o+=String.fromCharCode(n[d]);let a=btoa(o);return {content:[{type:"text",text:JSON.stringify({documentId:e,base64:a,size:t.byteLength,message:"Document exported successfully"})}]}}catch(t){return {isError:true,content:[{type:"text",text:`Failed to save document: ${t.message}`}]}}},annotations:{category:"core",readOnly:true,complexity:"low"}},R={name:"docx_close",description:`Close a document and free its memory.
|
|
3
|
+
The document remains in session memory until closed.`,inputSchema:{type:"object",properties:{content:{type:"string",description:"Base64-encoded DOCX file content"},source:{type:"string",description:"Optional source filename or identifier for reference"}},required:["content"]},handler:async(r,s)=>{let{content:e,source:c}=r;try{let t=atob(e),n=new Uint8Array(t.length);for(let l=0;l<t.length;l++)n[l]=t.charCodeAt(l);let o=n.buffer,a=await chunkVR6PT4IZ_js.n(o),d=`doc_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;s.session.documents.set(d,{id:d,document:a,buffer:o,source:c,lastModified:Date.now()});let p=a.package.document.content.filter(l=>l.type==="paragraph").length;return {content:[{type:"text",text:JSON.stringify({documentId:d,source:c,paragraphCount:p,message:"Document loaded successfully"})}]}}catch(t){return {isError:true,content:[{type:"text",text:`Failed to load document: ${t.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},C={name:"docx_save",description:`Export the document to base64-encoded DOCX format.
|
|
4
|
+
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r,c=s.session.documents.get(e);if(!c)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let t;c.buffer?t=await chunkIRO7KGGC_js.f(c.document):t=await chunkIRO7KGGC_js.l(c.document);let n=new Uint8Array(t),o="";for(let d=0;d<n.length;d++)o+=String.fromCharCode(n[d]);let a=btoa(o);return {content:[{type:"text",text:JSON.stringify({documentId:e,base64:a,size:t.byteLength,message:"Document exported successfully"})}]}}catch(t){return {isError:true,content:[{type:"text",text:`Failed to save document: ${t.message}`}]}}},annotations:{category:"core",readOnly:true,complexity:"low"}},R={name:"docx_close",description:`Close a document and free its memory.
|
|
5
5
|
Use this when done working with a document.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r;return s.session.documents.has(e)?(s.session.documents.delete(e),{content:[{type:"text",text:JSON.stringify({documentId:e,message:"Document closed"})}]}):{isError:true,content:[{type:"text",text:`Document not found: ${e}`}]}},annotations:{category:"core",readOnly:false,complexity:"low"}},k={name:"docx_get_info",description:`Get metadata and statistics about a document.
|
|
6
6
|
Returns paragraph count, word count, table count, and other useful info.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r,c=s.session.documents.get(e);if(!c)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};let t=c.document,n=t.package.document,o=n.content.filter(p=>p.type==="paragraph"),a=n.content.filter(p=>p.type==="table"),d=0;for(let p of o)if(p.type==="paragraph"){let l=P(p);d+=l.split(/\s+/).filter(x=>x.length>0).length;}return {content:[{type:"text",text:JSON.stringify({documentId:e,paragraphCount:o.length,tableCount:a.length,wordCount:d,hasStyles:!!t.package.styles,hasTheme:!!t.package.theme,source:c.source,lastModified:c.lastModified})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},$={name:"docx_get_text",description:`Get the plain text content of the document.
|
|
7
7
|
Returns all text concatenated with paragraph breaks.
|
|
8
8
|
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:u,maxLength:{type:"number",description:"Maximum characters to return (default: 10000)",default:1e4}},required:["documentId"]},handler:async(r,s)=>{let{documentId:e,maxLength:c=1e4}=r,t=s.session.documents.get(e);if(!t)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};let n=t.document.package.document,o=[];for(let p of n.content)p.type==="paragraph"?o.push(P(p)):p.type==="table"&&o.push("[TABLE]");let a=o.join(`
|
|
9
9
|
`),d=a.length>c;return d&&(a=a.slice(0,c)+"..."),{content:[{type:"text",text:JSON.stringify({documentId:e,text:a,truncated:d,totalLength:d?o.join(`
|
|
10
10
|
`).length:a.length})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},J={name:"docx_insert_text",description:`Insert text at a specific position in the document.
|
|
11
|
-
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:u,position:h,text:{type:"string",description:"Text to insert"}},required:["documentId","position","text"]},handler:async(r,s)=>{let{documentId:e,position:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"insertText",position:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,insertedLength:t.length,position:c})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to insert text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},v={name:"docx_replace_text",description:`Replace text in a range with new text.
|
|
12
|
-
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:u,range:T,text:{type:"string",description:"Replacement text"}},required:["documentId","range","text"]},handler:async(r,s)=>{let{documentId:e,range:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"replaceText",range:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,replacedRange:c,newTextLength:t.length})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to replace text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},j={name:"docx_delete_text",description:`Delete text in a range.
|
|
13
|
-
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:u,range:T},required:["documentId","range"]},handler:async(r,s)=>{let{documentId:e,range:c}=r,t=s.session.documents.get(e);if(!t)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let n=a(t.document,{type:"deleteText",range:c});return t.document=n,t.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,deletedRange:c})}]}}catch(n){return {isError:true,content:[{type:"text",text:`Failed to delete text: ${n.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},E={name:"docx_format_text",description:`Apply formatting to text in a range.
|
|
14
|
-
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:u,range:T,formatting:{type:"object",description:"Formatting options to apply",properties:{bold:{type:"boolean"},italic:{type:"boolean"},underline:{type:"boolean"},strikethrough:{type:"boolean"},fontSize:{type:"number",description:"Font size in points"},fontFamily:{type:"string"},color:{type:"string",description:'Hex color (e.g., "#FF0000")'},highlight:{type:"string",description:"Highlight color name"}}}},required:["documentId","range","formatting"]},handler:async(r,s)=>{let{documentId:e,range:c,formatting:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"formatText",range:c,formatting:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,range:c,appliedFormatting:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to format text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"medium"}},O={name:"docx_apply_style",description:`Apply a named style to a paragraph.
|
|
15
|
-
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:u,paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},styleId:{type:"string",description:'Style ID (e.g., "Heading1", "Normal")'}},required:["documentId","paragraphIndex","styleId"]},handler:async(r,s)=>{let{documentId:e,paragraphIndex:c,styleId:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"applyStyle",paragraphIndex:c,styleId:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,paragraphIndex:c,styleId:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to apply style: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}};function P(r){let s=[];for(let e of r.content)e.type==="run"?s.push(_(e)):e.type==="hyperlink"&&s.push(A(e));return s.join("")}function _(r){return r.content.filter(s=>s.type==="text").map(s=>s.text).join("")}function A(r){let s=[];for(let e of r.children)e.type==="run"&&s.push(_(e));return s.join("")}var y=[D,C,R,k,$,J,v,j,E,O];function q(r={}){let{name:s="docx-editor",version:e="0.1.0",includeCoreTools:c=true,debug:t=false,additionalTools:n=[]}=r,o=new Map,a={id:`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,documents:new Map,data:new Map};if(c)for(let i of y)o.set(i.name,i),t&&console.log(`[MCP] Registered core tool: ${i.name}`);let d=b.getMcpTools();for(let i of d)o.has(i.name)&&console.warn(`[MCP] Tool '${i.name}' from plugin overrides existing tool`),o.set(i.name,i),t&&console.log(`[MCP] Registered plugin tool: ${i.name}`);for(let i of n)o.set(i.name,i),t&&console.log(`[MCP] Registered additional tool: ${i.name}`);let p=t?(i,f)=>{console.log(`[MCP] ${i}`,f??"");}:()=>{};async function l(i,f){let M=o.get(i);if(!M)throw new Error(`Unknown tool: ${i}`);p(`Calling tool: ${i}`,f);let N={session:a,log:p};try{let g=await M.handler(f,N);return p(`Tool ${i} completed`,g),g}catch(g){throw p(`Tool ${i} failed`,g),g}}function x(){return Array.from(o.values()).map(i=>({name:i.name,description:i.description,inputSchema:z(i.inputSchema),category:i.annotations?.category}))}function L(){return {name:s,version:e,toolCount:o.size}}return {tools:o,session:a,handleToolCall:l,listTools:x,getInfo:L}}async function F(r,s){let{id:e,method:c,params:t}=s;try{switch(c){case "initialize":return {jsonrpc:"2.0",id:e,result:{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:r.getInfo()}};case "tools/list":{let n=r.listTools();return {jsonrpc:"2.0",id:e,result:{tools:n.map(o=>({name:o.name,description:o.description,inputSchema:o.inputSchema}))}}}case "tools/call":{let{name:n,arguments:o}=t,a=await r.handleToolCall(n,o);return {jsonrpc:"2.0",id:e,result:a}}default:return {jsonrpc:"2.0",id:e,error:{code:-32601,message:`Method not found: ${c}`}}}}catch(n){return {jsonrpc:"2.0",id:e,error:{code:-32e3,message:n.message}}}}async function H(r={}){let s=q(r);r.debug&&(console.error(`[MCP] Server started: ${s.getInfo().name} v${s.getInfo().version}`),console.error(`[MCP] Tools registered: ${s.tools.size}`));let c=(await import('readline')).createInterface({input:process.stdin,output:process.stdout,terminal:false}),t="";c.on("line",async n=>{t+=n;try{let o=JSON.parse(t);t="";let a=await F(s,o);process.stdout.write(JSON.stringify(a)+`
|
|
16
|
-
`);}catch{}}),c.on("close",()=>{r.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function z(r){return typeof r=="object"&&r!==null&&("type"in r||"properties"in r)?r:{type:"object",properties:{}}}
|
|
11
|
+
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:u,position:h,text:{type:"string",description:"Text to insert"}},required:["documentId","position","text"]},handler:async(r,s)=>{let{documentId:e,position:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=chunkAARNCPWR_js.a(n.document,{type:"insertText",position:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,insertedLength:t.length,position:c})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to insert text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},v={name:"docx_replace_text",description:`Replace text in a range with new text.
|
|
12
|
+
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:u,range:T,text:{type:"string",description:"Replacement text"}},required:["documentId","range","text"]},handler:async(r,s)=>{let{documentId:e,range:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=chunkAARNCPWR_js.a(n.document,{type:"replaceText",range:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,replacedRange:c,newTextLength:t.length})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to replace text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},j={name:"docx_delete_text",description:`Delete text in a range.
|
|
13
|
+
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:u,range:T},required:["documentId","range"]},handler:async(r,s)=>{let{documentId:e,range:c}=r,t=s.session.documents.get(e);if(!t)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let n=chunkAARNCPWR_js.a(t.document,{type:"deleteText",range:c});return t.document=n,t.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,deletedRange:c})}]}}catch(n){return {isError:true,content:[{type:"text",text:`Failed to delete text: ${n.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},E={name:"docx_format_text",description:`Apply formatting to text in a range.
|
|
14
|
+
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:u,range:T,formatting:{type:"object",description:"Formatting options to apply",properties:{bold:{type:"boolean"},italic:{type:"boolean"},underline:{type:"boolean"},strikethrough:{type:"boolean"},fontSize:{type:"number",description:"Font size in points"},fontFamily:{type:"string"},color:{type:"string",description:'Hex color (e.g., "#FF0000")'},highlight:{type:"string",description:"Highlight color name"}}}},required:["documentId","range","formatting"]},handler:async(r,s)=>{let{documentId:e,range:c,formatting:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=chunkAARNCPWR_js.a(n.document,{type:"formatText",range:c,formatting:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,range:c,appliedFormatting:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to format text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"medium"}},O={name:"docx_apply_style",description:`Apply a named style to a paragraph.
|
|
15
|
+
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:u,paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},styleId:{type:"string",description:'Style ID (e.g., "Heading1", "Normal")'}},required:["documentId","paragraphIndex","styleId"]},handler:async(r,s)=>{let{documentId:e,paragraphIndex:c,styleId:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=chunkAARNCPWR_js.a(n.document,{type:"applyStyle",paragraphIndex:c,styleId:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,paragraphIndex:c,styleId:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to apply style: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}};function P(r){let s=[];for(let e of r.content)e.type==="run"?s.push(_(e)):e.type==="hyperlink"&&s.push(A(e));return s.join("")}function _(r){return r.content.filter(s=>s.type==="text").map(s=>s.text).join("")}function A(r){let s=[];for(let e of r.children)e.type==="run"&&s.push(_(e));return s.join("")}var y=[D,C,R,k,$,J,v,j,E,O];function q(r={}){let{name:s="docx-editor",version:e="0.1.0",includeCoreTools:c=true,debug:t=false,additionalTools:n=[]}=r,o=new Map,a={id:`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,documents:new Map,data:new Map};if(c)for(let i of y)o.set(i.name,i),t&&console.log(`[MCP] Registered core tool: ${i.name}`);let d=chunkBUEMG4NW_js.b.getMcpTools();for(let i of d)o.has(i.name)&&console.warn(`[MCP] Tool '${i.name}' from plugin overrides existing tool`),o.set(i.name,i),t&&console.log(`[MCP] Registered plugin tool: ${i.name}`);for(let i of n)o.set(i.name,i),t&&console.log(`[MCP] Registered additional tool: ${i.name}`);let p=t?(i,f)=>{console.log(`[MCP] ${i}`,f??"");}:()=>{};async function l(i,f){let M=o.get(i);if(!M)throw new Error(`Unknown tool: ${i}`);p(`Calling tool: ${i}`,f);let N={session:a,log:p};try{let g=await M.handler(f,N);return p(`Tool ${i} completed`,g),g}catch(g){throw p(`Tool ${i} failed`,g),g}}function x(){return Array.from(o.values()).map(i=>({name:i.name,description:i.description,inputSchema:z(i.inputSchema),category:i.annotations?.category}))}function L(){return {name:s,version:e,toolCount:o.size}}return {tools:o,session:a,handleToolCall:l,listTools:x,getInfo:L}}async function F(r,s){let{id:e,method:c,params:t}=s;try{switch(c){case "initialize":return {jsonrpc:"2.0",id:e,result:{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:r.getInfo()}};case "tools/list":{let n=r.listTools();return {jsonrpc:"2.0",id:e,result:{tools:n.map(o=>({name:o.name,description:o.description,inputSchema:o.inputSchema}))}}}case "tools/call":{let{name:n,arguments:o}=t,a=await r.handleToolCall(n,o);return {jsonrpc:"2.0",id:e,result:a}}default:return {jsonrpc:"2.0",id:e,error:{code:-32601,message:`Method not found: ${c}`}}}}catch(n){return {jsonrpc:"2.0",id:e,error:{code:-32e3,message:n.message}}}}async function H(r={}){let s=q(r);r.debug&&(console.error(`[MCP] Server started: ${s.getInfo().name} v${s.getInfo().version}`),console.error(`[MCP] Tools registered: ${s.tools.size}`));let c=(await import('readline')).createInterface({input:process.stdin,output:process.stdout,terminal:false}),t="";c.on("line",async n=>{t+=n;try{let o=JSON.parse(t);t="";let a=await F(s,o);process.stdout.write(JSON.stringify(a)+`
|
|
16
|
+
`);}catch{}}),c.on("close",()=>{r.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function z(r){return typeof r=="object"&&r!==null&&("type"in r||"properties"in r)?r:{type:"object",properties:{}}}exports.applyStyleTool=O;exports.closeDocumentTool=R;exports.coreMcpTools=y;exports.createMcpServer=q;exports.deleteTextTool=j;exports.formatTextTool=E;exports.getDocumentInfoTool=k;exports.getDocumentTextTool=$;exports.handleJsonRpcRequest=F;exports.insertTextTool=J;exports.loadDocumentTool=D;exports.replaceTextTool=v;exports.saveDocumentTool=C;exports.startStdioServer=H;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {f,l}from'./chunk-I6LFWQFR.mjs';import {a}from'./chunk-M5F4SK3W.mjs';import {n}from'./chunk-CQRI4YUS.mjs';import {b}from'./chunk-W53SI3XW.mjs';import'./chunk-LYBG4YI7.mjs';import'./chunk-WOHFANC5.mjs';import'./chunk-TAUMSKRE.mjs';var u={type:"string",description:"Document ID returned from docx_load"},h={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},offset:{type:"number",description:"Character offset within the paragraph",minimum:0}},required:["paragraphIndex","offset"]},T={type:"object",properties:{start:h,end:h},required:["start","end"]},D={name:"docx_load",description:`Load a DOCX document from base64-encoded content.
|
|
2
|
+
Returns a document ID that can be used with other tools.
|
|
3
|
+
The document remains in session memory until closed.`,inputSchema:{type:"object",properties:{content:{type:"string",description:"Base64-encoded DOCX file content"},source:{type:"string",description:"Optional source filename or identifier for reference"}},required:["content"]},handler:async(r,s)=>{let{content:e,source:c}=r;try{let t=atob(e),n$1=new Uint8Array(t.length);for(let l=0;l<t.length;l++)n$1[l]=t.charCodeAt(l);let o=n$1.buffer,a=await n(o),d=`doc_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;s.session.documents.set(d,{id:d,document:a,buffer:o,source:c,lastModified:Date.now()});let p=a.package.document.content.filter(l=>l.type==="paragraph").length;return {content:[{type:"text",text:JSON.stringify({documentId:d,source:c,paragraphCount:p,message:"Document loaded successfully"})}]}}catch(t){return {isError:true,content:[{type:"text",text:`Failed to load document: ${t.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},C={name:"docx_save",description:`Export the document to base64-encoded DOCX format.
|
|
4
|
+
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r,c=s.session.documents.get(e);if(!c)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let t;c.buffer?t=await f(c.document):t=await l(c.document);let n=new Uint8Array(t),o="";for(let d=0;d<n.length;d++)o+=String.fromCharCode(n[d]);let a=btoa(o);return {content:[{type:"text",text:JSON.stringify({documentId:e,base64:a,size:t.byteLength,message:"Document exported successfully"})}]}}catch(t){return {isError:true,content:[{type:"text",text:`Failed to save document: ${t.message}`}]}}},annotations:{category:"core",readOnly:true,complexity:"low"}},R={name:"docx_close",description:`Close a document and free its memory.
|
|
5
|
+
Use this when done working with a document.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r;return s.session.documents.has(e)?(s.session.documents.delete(e),{content:[{type:"text",text:JSON.stringify({documentId:e,message:"Document closed"})}]}):{isError:true,content:[{type:"text",text:`Document not found: ${e}`}]}},annotations:{category:"core",readOnly:false,complexity:"low"}},k={name:"docx_get_info",description:`Get metadata and statistics about a document.
|
|
6
|
+
Returns paragraph count, word count, table count, and other useful info.`,inputSchema:{type:"object",properties:{documentId:u},required:["documentId"]},handler:async(r,s)=>{let{documentId:e}=r,c=s.session.documents.get(e);if(!c)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};let t=c.document,n=t.package.document,o=n.content.filter(p=>p.type==="paragraph"),a=n.content.filter(p=>p.type==="table"),d=0;for(let p of o)if(p.type==="paragraph"){let l=P(p);d+=l.split(/\s+/).filter(x=>x.length>0).length;}return {content:[{type:"text",text:JSON.stringify({documentId:e,paragraphCount:o.length,tableCount:a.length,wordCount:d,hasStyles:!!t.package.styles,hasTheme:!!t.package.theme,source:c.source,lastModified:c.lastModified})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},$={name:"docx_get_text",description:`Get the plain text content of the document.
|
|
7
|
+
Returns all text concatenated with paragraph breaks.
|
|
8
|
+
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:u,maxLength:{type:"number",description:"Maximum characters to return (default: 10000)",default:1e4}},required:["documentId"]},handler:async(r,s)=>{let{documentId:e,maxLength:c=1e4}=r,t=s.session.documents.get(e);if(!t)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};let n=t.document.package.document,o=[];for(let p of n.content)p.type==="paragraph"?o.push(P(p)):p.type==="table"&&o.push("[TABLE]");let a=o.join(`
|
|
9
|
+
`),d=a.length>c;return d&&(a=a.slice(0,c)+"..."),{content:[{type:"text",text:JSON.stringify({documentId:e,text:a,truncated:d,totalLength:d?o.join(`
|
|
10
|
+
`).length:a.length})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},J={name:"docx_insert_text",description:`Insert text at a specific position in the document.
|
|
11
|
+
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:u,position:h,text:{type:"string",description:"Text to insert"}},required:["documentId","position","text"]},handler:async(r,s)=>{let{documentId:e,position:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"insertText",position:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,insertedLength:t.length,position:c})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to insert text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},v={name:"docx_replace_text",description:`Replace text in a range with new text.
|
|
12
|
+
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:u,range:T,text:{type:"string",description:"Replacement text"}},required:["documentId","range","text"]},handler:async(r,s)=>{let{documentId:e,range:c,text:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"replaceText",range:c,text:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,replacedRange:c,newTextLength:t.length})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to replace text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},j={name:"docx_delete_text",description:`Delete text in a range.
|
|
13
|
+
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:u,range:T},required:["documentId","range"]},handler:async(r,s)=>{let{documentId:e,range:c}=r,t=s.session.documents.get(e);if(!t)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let n=a(t.document,{type:"deleteText",range:c});return t.document=n,t.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,deletedRange:c})}]}}catch(n){return {isError:true,content:[{type:"text",text:`Failed to delete text: ${n.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},E={name:"docx_format_text",description:`Apply formatting to text in a range.
|
|
14
|
+
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:u,range:T,formatting:{type:"object",description:"Formatting options to apply",properties:{bold:{type:"boolean"},italic:{type:"boolean"},underline:{type:"boolean"},strikethrough:{type:"boolean"},fontSize:{type:"number",description:"Font size in points"},fontFamily:{type:"string"},color:{type:"string",description:'Hex color (e.g., "#FF0000")'},highlight:{type:"string",description:"Highlight color name"}}}},required:["documentId","range","formatting"]},handler:async(r,s)=>{let{documentId:e,range:c,formatting:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"formatText",range:c,formatting:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,range:c,appliedFormatting:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to format text: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"medium"}},O={name:"docx_apply_style",description:`Apply a named style to a paragraph.
|
|
15
|
+
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:u,paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},styleId:{type:"string",description:'Style ID (e.g., "Heading1", "Normal")'}},required:["documentId","paragraphIndex","styleId"]},handler:async(r,s)=>{let{documentId:e,paragraphIndex:c,styleId:t}=r,n=s.session.documents.get(e);if(!n)return {isError:true,content:[{type:"text",text:`Document not found: ${e}`}]};try{let o=a(n.document,{type:"applyStyle",paragraphIndex:c,styleId:t});return n.document=o,n.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,paragraphIndex:c,styleId:t})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to apply style: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}};function P(r){let s=[];for(let e of r.content)e.type==="run"?s.push(_(e)):e.type==="hyperlink"&&s.push(A(e));return s.join("")}function _(r){return r.content.filter(s=>s.type==="text").map(s=>s.text).join("")}function A(r){let s=[];for(let e of r.children)e.type==="run"&&s.push(_(e));return s.join("")}var y=[D,C,R,k,$,J,v,j,E,O];function q(r={}){let{name:s="docx-editor",version:e="0.1.0",includeCoreTools:c=true,debug:t=false,additionalTools:n=[]}=r,o=new Map,a={id:`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,documents:new Map,data:new Map};if(c)for(let i of y)o.set(i.name,i),t&&console.log(`[MCP] Registered core tool: ${i.name}`);let d=b.getMcpTools();for(let i of d)o.has(i.name)&&console.warn(`[MCP] Tool '${i.name}' from plugin overrides existing tool`),o.set(i.name,i),t&&console.log(`[MCP] Registered plugin tool: ${i.name}`);for(let i of n)o.set(i.name,i),t&&console.log(`[MCP] Registered additional tool: ${i.name}`);let p=t?(i,f)=>{console.log(`[MCP] ${i}`,f??"");}:()=>{};async function l(i,f){let M=o.get(i);if(!M)throw new Error(`Unknown tool: ${i}`);p(`Calling tool: ${i}`,f);let N={session:a,log:p};try{let g=await M.handler(f,N);return p(`Tool ${i} completed`,g),g}catch(g){throw p(`Tool ${i} failed`,g),g}}function x(){return Array.from(o.values()).map(i=>({name:i.name,description:i.description,inputSchema:z(i.inputSchema),category:i.annotations?.category}))}function L(){return {name:s,version:e,toolCount:o.size}}return {tools:o,session:a,handleToolCall:l,listTools:x,getInfo:L}}async function F(r,s){let{id:e,method:c,params:t}=s;try{switch(c){case "initialize":return {jsonrpc:"2.0",id:e,result:{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:r.getInfo()}};case "tools/list":{let n=r.listTools();return {jsonrpc:"2.0",id:e,result:{tools:n.map(o=>({name:o.name,description:o.description,inputSchema:o.inputSchema}))}}}case "tools/call":{let{name:n,arguments:o}=t,a=await r.handleToolCall(n,o);return {jsonrpc:"2.0",id:e,result:a}}default:return {jsonrpc:"2.0",id:e,error:{code:-32601,message:`Method not found: ${c}`}}}}catch(n){return {jsonrpc:"2.0",id:e,error:{code:-32e3,message:n.message}}}}async function H(r={}){let s=q(r);r.debug&&(console.error(`[MCP] Server started: ${s.getInfo().name} v${s.getInfo().version}`),console.error(`[MCP] Tools registered: ${s.tools.size}`));let c=(await import('readline')).createInterface({input:process.stdin,output:process.stdout,terminal:false}),t="";c.on("line",async n=>{t+=n;try{let o=JSON.parse(t);t="";let a=await F(s,o);process.stdout.write(JSON.stringify(a)+`
|
|
16
|
+
`);}catch{}}),c.on("close",()=>{r.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function z(r){return typeof r=="object"&&r!==null&&("type"in r||"properties"in r)?r:{type:"object",properties:{}}}export{O as applyStyleTool,R as closeDocumentTool,y as coreMcpTools,q as createMcpServer,j as deleteTextTool,E as formatTextTool,k as getDocumentInfoTool,$ as getDocumentTextTool,F as handleJsonRpcRequest,J as insertTextTool,D as loadDocumentTool,v as replaceTextTool,C as saveDocumentTool,H as startStdioServer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var chunkPB7VMDDP_js=require('./chunk-PB7VMDDP.js');require('./chunk-H5NTJZO4.js');Object.defineProperty(exports,"createTemplateProcessor",{enumerable:true,get:function(){return chunkPB7VMDDP_js.j}});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return chunkPB7VMDDP_js.k}});Object.defineProperty(exports,"getMissingVariables",{enumerable:true,get:function(){return chunkPB7VMDDP_js.g}});Object.defineProperty(exports,"getTemplateTags",{enumerable:true,get:function(){return chunkPB7VMDDP_js.e}});Object.defineProperty(exports,"previewTemplate",{enumerable:true,get:function(){return chunkPB7VMDDP_js.h}});Object.defineProperty(exports,"processTemplate",{enumerable:true,get:function(){return chunkPB7VMDDP_js.a}});Object.defineProperty(exports,"processTemplateAdvanced",{enumerable:true,get:function(){return chunkPB7VMDDP_js.i}});Object.defineProperty(exports,"processTemplateAndDownload",{enumerable:true,get:function(){return chunkPB7VMDDP_js.d}});Object.defineProperty(exports,"processTemplateAsBlob",{enumerable:true,get:function(){return chunkPB7VMDDP_js.c}});Object.defineProperty(exports,"processTemplateDetailed",{enumerable:true,get:function(){return chunkPB7VMDDP_js.b}});Object.defineProperty(exports,"validateTemplate",{enumerable:true,get:function(){return chunkPB7VMDDP_js.f}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{j as createTemplateProcessor,k as default,g as getMissingVariables,e as getTemplateTags,h as previewTemplate,a as processTemplate,i as processTemplateAdvanced,d as processTemplateAndDownload,c as processTemplateAsBlob,b as processTemplateDetailed,f as validateTemplate}from'./chunk-
|
|
1
|
+
export{j as createTemplateProcessor,k as default,g as getMissingVariables,e as getTemplateTags,h as previewTemplate,a as processTemplate,i as processTemplateAdvanced,d as processTemplateAndDownload,c as processTemplateAsBlob,b as processTemplateDetailed,f as validateTemplate}from'./chunk-DLVLK5FT.mjs';import'./chunk-TAUMSKRE.mjs';
|
|
@@ -442,6 +442,10 @@ interface DocxEditorRef {
|
|
|
442
442
|
openPrintPreview: () => void;
|
|
443
443
|
/** Print the document directly */
|
|
444
444
|
print: () => void;
|
|
445
|
+
/** Load a pre-parsed document programmatically */
|
|
446
|
+
loadDocument: (doc: Document) => void;
|
|
447
|
+
/** Load a DOCX buffer programmatically (ArrayBuffer, Uint8Array, Blob, or File) */
|
|
448
|
+
loadDocumentBuffer: (buffer: DocxInput) => Promise<void>;
|
|
445
449
|
}
|
|
446
450
|
type EditorMode = 'editing' | 'suggesting' | 'viewing';
|
|
447
451
|
/**
|