API Referencev1.0.2
@eigenpal/docx-editor-vue/composables
Vue composables mirroring the React `hooks` subpath — history, table selection, find/replace, autosave, clipboard, zoom, and the high-level `useDocxEditor` host composable.
Functions(14)
fn
packages/vue/src/composables/useAutoSave.ts:66useAutoSave
export declare function useAutoSave(document: MaybeRef<Document | null | undefined>, options?: UseAutoSaveOptions): UseAutoSaveReturn;fn
packages/vue/src/composables/useClipboard.ts:41useClipboard
export declare function useClipboard(options?: UseClipboardOptions): UseClipboardReturn;fn
packages/vue/src/composables/useDocxEditor.ts:194useDocxEditor
export declare function useDocxEditor(options: UseDocxEditorOptions): UseDocxEditorReturn;fn
packages/vue/src/composables/useDragAutoScroll.ts:28useDragAutoScroll
export declare function useDragAutoScroll(input: DragAutoScrollOptions): UseDragAutoScrollReturn;fn
packages/vue/src/composables/useFindReplace.ts:45useFindReplace
export declare function useFindReplace(hookOptions?: FindReplaceOptions): UseFindReplaceReturn;fn
packages/vue/src/composables/useFixedDropdown.ts:25useFixedDropdown
export declare function useFixedDropdown(input: UseFixedDropdownOptions): UseFixedDropdownReturn;fn
packages/vue/src/composables/useHistory.ts:23useHistory
export declare function useHistory(view: Ref<EditorView | null>, stateTick: Ref<number>): UseHistoryReturn;fn
packages/vue/src/composables/useSelectionHighlight.ts:47useSelectionHighlight
export declare function useSelectionHighlight(options: UseSelectionHighlightOptions): UseSelectionHighlightReturn;fn
packages/vue/src/composables/useTableResize.ts:59useTableResize
export declare function useTableResize(): UseTableResizeReturn;fn
packages/vue/src/composables/useTableSelection.ts:22useTableSelection
export declare function useTableSelection(): UseTableSelectionReturn;fn
packages/vue/src/composables/useTrackedChanges.ts:22useTrackedChanges
Pass the editor view ref + a stateTick that bumps on every PM transaction (the same tick the Toolbar listens to). The computed re-runs whenever the tick advances.
export declare function useTrackedChanges(view: Ref<EditorView | null>, stateTick: Ref<number>): import('vue').ComputedRef<TrackedChangesResult>;export declare function useZoom(initialZoom?: number): UseZoomReturn;Interfaces(22)
interface
packages/vue/src/composables/useDragAutoScroll.ts:17DragAutoScrollOptions
export interface DragAutoScrollOptions| Member | Type | Summary |
|---|---|---|
| onScrollExtendSelection | (clientX: number, clientY: number) => void | Called during auto-scroll to extend the selection at the current mouse position. |
| pagesContainer | Ref<HTMLElement | null> |
interface
packages/vue/src/composables/useFindReplace.ts:12FindReplaceOptions
export interface FindReplaceOptions| Member | Type | Summary |
|---|---|---|
| initialReplaceMode? | boolean | |
| onCurrentMatchChange? | (match: FindMatch | null, index: number) => void | |
| onMatchesChange? | (matches: FindMatch[]) => void |
interface
packages/vue/src/composables/useFindReplace.ts:18FindReplaceState
export interface FindReplaceState| Member | Type | Summary |
|---|---|---|
| currentIndex | number | |
| isOpen | boolean | |
| matches | FindMatch[] | |
| options | FindOptions | |
| replaceMode | boolean | |
| replaceText | string | |
| searchText | string |
interface
packages/vue/src/composables/useAutoSave.ts:31UseAutoSaveOptions
export interface UseAutoSaveOptions| Member | Type | Summary |
|---|---|---|
| debounceDelay? | number | Debounce delay for saveOnChange in milliseconds. |
| enabled? | boolean | Whether auto-save starts enabled (default: true). |
| interval? | number | Auto-save interval in ms (default: 30000) |
| maxAge? | number | Maximum age of auto-save before it is considered stale. |
| onError? | (error: Error) => void | Callback when save fails. |
| onRecoveryAvailable? | (savedDocument: SavedDocumentData) => void | Callback when recovery data is found. |
| onSave? | (timestamp: Date) => void | Callback when save succeeds. |
| saveOnChange? | boolean | Whether document changes trigger a debounced save. |
| storageKey? | string | localStorage key (default: 'docx-editor-autosave') |
interface
packages/vue/src/composables/useAutoSave.ts:52UseAutoSaveReturn
export interface UseAutoSaveReturn| Member | Type | Summary |
|---|---|---|
| acceptRecovery | () => Document | null | |
| clearAutoSave | () => void | |
| disable | () => void | |
| dismissRecovery | () => void | |
| enable | () => void | |
| getRecoveryData | () => SavedDocumentData | null | |
| hasRecoveryData | Ref<boolean> | |
| isEnabled | Ref<boolean> | |
| lastSaveTime | Ref<Date | null> | |
| save | () => Promise<boolean> | |
| status | Ref<AutoSaveStatus> |
interface
packages/vue/src/composables/useClipboard.ts:23UseClipboardOptions
export interface UseClipboardOptions| Member | Type | Summary |
|---|---|---|
| cleanWordFormatting? | boolean | |
| editable? | boolean | |
| onCopy? | (selection: ClipboardSelection) => void | |
| onCut? | (selection: ClipboardSelection) => void | |
| onError? | (error: Error) => void | |
| onPaste? | (content: ParsedClipboardContent, asPlainText: boolean) => void | |
| theme? | Theme | null |
interface
packages/vue/src/composables/useClipboard.ts:33UseClipboardReturn
export interface UseClipboardReturn| Member | Type | Summary |
|---|---|---|
| copy | (selection: ClipboardSelection) => Promise<boolean> | |
| cut | (selection: ClipboardSelection) => Promise<boolean> | |
| isProcessing | Ref<boolean> | |
| lastPastedContent | Ref<ParsedClipboardContent | null> | |
| paste | (asPlainText?: boolean) => Promise<ParsedClipboardContent | null> |
interface
packages/vue/src/composables/useDocxEditor.ts:144UseDocxEditorOptions
export interface UseDocxEditorOptions| Member | Type | Summary |
|---|---|---|
| externalPlugins? | Plugin[] | External ProseMirror plugins supplied by the host app. |
| onChange? | (doc: Document) => void | Callback on document change |
| onError? | (error: Error) => void | Callback on error |
| onSelectionUpdate? | () => void | Callback on selection change |
| pageGap? | number | Page gap in pixels |
| pagesContainer | Ref<HTMLElement | null> | Container element for the visible pages |
| readOnly? | MaybeRef<boolean> | Whether the editor is read-only |
| syncCoordinator? | LayoutSelectionGate | Coordinates layout updates with visible selection/decoration overlays. |
interface
packages/vue/src/composables/useDocxEditor.ts:165UseDocxEditorReturn
export interface UseDocxEditorReturn| Member | Type | Summary |
|---|---|---|
| destroy | () => void | Destroy the editor view and clean up listeners. |
| editorState | ShallowRef<EditorState | null> | Latest editor state. Updated on each transaction. |
| editorView | ShallowRef<EditorView | null> | ProseMirror editor view (hidden). |
| focus | () => void | Focus the hidden ProseMirror view. |
| getCommands | () => CommandMap | Access the extension command map for invoking marks/nodes/features. |
| getDocument | () => Document | null | Snapshot the current document model. |
| isReady | Ref<boolean> | True once the editor view has mounted and a document is loaded. |
| layout | ShallowRef<Layout | null> | Computed page layout. |
| loadBuffer | (buffer: ArrayBuffer | Uint8Array | Blob | File) => Promise<void> | Load a DOCX from a binary buffer. |
| loadDocument | (doc: Document) => void | Load a parsed `Document` directly. |
| parseError | Ref<string | null> | Last parse error message, or null if the most recent load succeeded. |
| reLayout | () => void | Force a re-layout without a doc change (e.g. after page-setup changes). |
| save | () => Promise<Blob | null> | Serialize the current document to a DOCX blob. |
interface
packages/vue/src/composables/useDragAutoScroll.ts:23UseDragAutoScrollReturn
export interface UseDragAutoScrollReturn| Member | Type | Summary |
|---|---|---|
| stopAutoScroll | () => void | |
| updateMousePosition | (clientX: number, clientY: number) => void |
interface
packages/vue/src/composables/useFindReplace.ts:28UseFindReplaceReturn
export interface UseFindReplaceReturn| Member | Type | Summary |
|---|---|---|
| close | () => void | |
| currentMatch | ComputedRef<FindMatch | null> | |
| goToMatch | (index: number) => void | |
| goToNextMatch | () => number | |
| goToPreviousMatch | () => number | |
| hasMatches | ComputedRef<boolean> | |
| openFind | (selectedText?: string) => void | |
| openReplace | (selectedText?: string) => void | |
| setMatches | (matches: FindMatch[], currentIndex?: number) => void | |
| setOptions | (opts: Partial<FindOptions>) => void | |
| setReplaceText | (text: string) => void | |
| setSearchText | (text: string) => void | |
| state | FindReplaceState | |
| toggle | () => void |
interface
packages/vue/src/composables/useFixedDropdown.ts:11UseFixedDropdownOptions
export interface UseFixedDropdownOptions| Member | Type | Summary |
|---|---|---|
| align? | 'left' | 'right' | 'left' aligns dropdown left edge to trigger, 'right' aligns right edge. |
| isOpen | Ref<boolean> | |
| onClose | () => void |
interface
packages/vue/src/composables/useFixedDropdown.ts:18UseFixedDropdownReturn
export interface UseFixedDropdownReturn| Member | Type | Summary |
|---|---|---|
| containerRef | Ref<HTMLElement | null> | |
| dropdownRef | Ref<HTMLElement | null> | |
| dropdownStyle | Ref<CSSProperties> | |
| handleMouseDown | (e: MouseEvent) => void |
interface
packages/vue/src/composables/useHistory.ts:16UseHistoryReturn
export interface UseHistoryReturn| Member | Type | Summary |
|---|---|---|
| canRedo | ComputedRef<boolean> | |
| canUndo | ComputedRef<boolean> | |
| redo | () => boolean | |
| undo | () => boolean |
interface
packages/vue/src/composables/useSelectionHighlight.ts:29UseSelectionHighlightOptions
export interface UseSelectionHighlightOptions| Member | Type | Summary |
|---|---|---|
| config? | SelectionHighlightConfig | |
| containerRef | Ref<HTMLElement | null> | |
| debounceMs? | number | |
| enabled? | boolean | |
| onSelectionChange? | (hasSelection: boolean, text: string) => void | |
| useOverlay? | boolean |
interface
packages/vue/src/composables/useSelectionHighlight.ts:38UseSelectionHighlightReturn
export interface UseSelectionHighlightReturn| Member | Type | Summary |
|---|---|---|
| getOverlayStyle | (rect: HighlightRect) => CSSProperties | |
| hasSelection | ComputedRef<boolean> | |
| highlightRects | ComputedRef<HighlightRect[]> | |
| isSelectionInContainer | ComputedRef<boolean> | |
| refresh | () => void | |
| selectedText | ComputedRef<string> |
interface
packages/vue/src/composables/useTableResize.ts:53UseTableResizeReturn
export interface UseTableResizeReturn| Member | Type | Summary |
|---|---|---|
| install | () => () => void | |
| isResizing | () => boolean | |
| tryStartResize | (e: MouseEvent, view: EditorView) => boolean |
interface
packages/vue/src/composables/useTableSelection.ts:14UseTableSelectionReturn
export interface UseTableSelectionReturn| Member | Type | Summary |
|---|---|---|
| clearSelection | () => void | |
| handleCellClick | (tableIndex: number, rowIndex: number, columnIndex: number) => void | |
| handleClickTarget | (target: EventTarget | null, container?: HTMLElement | null) => void | |
| isCellSelected | (tableIndex: number, rowIndex: number, columnIndex: number) => boolean | |
| selectedCell | Ref<CellCoordinates | null> |
interface
packages/vue/src/composables/useZoom.ts:16UseZoomReturn
export interface UseZoomReturn| Member | Type | Summary |
|---|---|---|
| handleKeyDown | (e: KeyboardEvent) => void | |
| handleWheel | (e: WheelEvent) => void | |
| installShortcuts | () => void | |
| isMaxZoom | ComputedRef<boolean> | |
| isMinZoom | ComputedRef<boolean> | |
| resetZoom | () => void | |
| setZoom | (level: number) => void | |
| ZOOM_PRESETS | number[] | |
| zoom | Ref<number> | |
| zoomIn | () => void | |
| zoomOut | () => void | |
| zoomPercent | ComputedRef<number> |
CommentSidebarItem
stringnumberTrackedChangeEntryCommentnumbernumberstringboolean'add-comment' | 'comment' | 'tracked-change'numberComment[]