@eigenpal/docx-js-editor 0.0.4 → 0.0.6
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/README.md +69 -132
- package/dist/chunk-2CFVFSUH.js +57 -0
- package/dist/{chunk-BQWGTYDH.js → chunk-AOL255XD.js} +1 -1
- package/dist/chunk-BBGDBZJY.cjs +1 -0
- package/dist/{chunk-EUHVOGCB.cjs → chunk-D2GERZ7M.cjs} +2 -2
- package/dist/chunk-DQHQWQHL.cjs +11 -0
- package/dist/chunk-FXILBPZI.cjs +9 -0
- package/dist/chunk-H2UMX5CK.js +9 -0
- package/dist/chunk-HGOIKOKZ.js +1 -0
- package/dist/chunk-I2C6ENCR.js +11 -0
- package/dist/chunk-TL3YTVN2.cjs +57 -0
- package/dist/{colorResolver-Yakhydrt.d.ts → colorResolver-DrNkos_H.d.ts} +1 -32
- package/dist/{colorResolver-C-tITrbI.d.cts → colorResolver-WsUxFs5p.d.cts} +1 -32
- package/dist/core-plugins.cjs +1 -1
- package/dist/core-plugins.d.cts +3 -3
- package/dist/core-plugins.d.ts +3 -3
- package/dist/core-plugins.js +1 -1
- package/dist/headless.cjs +2 -2
- package/dist/headless.d.cts +4 -4
- package/dist/headless.d.ts +4 -4
- package/dist/headless.js +1 -1
- package/dist/index.cjs +43 -43
- package/dist/index.css +1 -1
- package/dist/index.d.cts +174 -363
- package/dist/index.d.ts +174 -363
- package/dist/index.js +43 -43
- package/dist/mcp-cli.js +20 -20
- package/dist/mcp.cjs +3 -3
- package/dist/mcp.d.cts +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/{registry-DeeU0bQB.d.cts → registry-BWDZlJx6.d.cts} +1 -1
- package/dist/{registry-D3zhko7n.d.ts → registry-DifIQR1O.d.ts} +1 -1
- package/dist/selectionRects-M7QY6HKR.cjs +1 -0
- package/dist/selectionRects-O6YQMMCP.js +1 -0
- package/dist/styles.css +1 -1
- package/dist/{types-BJXChtaM.d.cts → types-XVRXTi4o.d.cts} +509 -336
- package/dist/{types-BJXChtaM.d.ts → types-XVRXTi4o.d.ts} +509 -336
- package/package.json +2 -2
- package/dist/chunk-6HBUJFBB.js +0 -1
- package/dist/chunk-CCXUC6LX.js +0 -9
- package/dist/chunk-DWFWDKAH.cjs +0 -9
- package/dist/chunk-FFPSMP4Q.cjs +0 -11
- package/dist/chunk-NI5OFVY2.js +0 -57
- package/dist/chunk-QB7IFLG2.cjs +0 -1
- package/dist/chunk-RGYAPHXT.cjs +0 -57
- package/dist/chunk-ZMWEAP5S.js +0 -11
- package/dist/selectionRects-2VAWY4ZQ.cjs +0 -1
- package/dist/selectionRects-ONIZYUUI.js +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default, { CSSProperties, ReactNode, Component, ErrorInfo } from 'react';
|
|
1
3
|
import * as prosemirror_view from 'prosemirror-view';
|
|
2
4
|
import { EditorView, DecorationSet } from 'prosemirror-view';
|
|
3
5
|
import * as prosemirror_state from 'prosemirror-state';
|
|
4
6
|
import { Plugin, EditorState, Transaction, PluginKey } from 'prosemirror-state';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
export {
|
|
9
|
-
import { D as DocumentAgent } from './colorResolver-C-tITrbI.cjs';
|
|
10
|
-
export { A as AgentContextOptions, C as CreateEmptyDocumentOptions, E as ExtendedSelectionContext, P as ProcessTemplateOptions, e as ProcessTemplateResult, f as SelectionContextOptions, g as blendColors, h as buildExtendedSelectionContext, i as buildSelectionContext, k as colorsEqual, n as createDocumentWithText, o as createEmptyDocument, p as createRgbColor, r as createThemeColor, s as darkenColor, t as emuToPixels, u as emuToTwips, v as executeCommand, w as executeCommands, x as formatPx, y as getAgentContext, z as getContrastingColor, B as getDocumentSummary, J as getTemplateTags, K as halfPointsToPixels, L as isBlack, M as isWhite, N as lightenColor, O as parseColorString, Q as parseDocx, R as pixelsToEmu, U as pixelsToTwips, V as pointsToPixels, X as processTemplate, Z as processTemplateAsBlob, _ as processTemplateDetailed, $ as resolveColor, a0 as resolveHighlightColor, a1 as resolveShadingColor, a2 as serializeDocumentBody, a3 as serializeDocx, a4 as serializeSectionProperties, a5 as twipsToEmu, a6 as twipsToPixels, a7 as validateTemplate } from './colorResolver-C-tITrbI.cjs';
|
|
7
|
+
import { T as TextFormatting, U as ParagraphFormatting, h as Document, ab as Theme, f as Table, a8 as TableCell, an as ParagraphAlignment, a4 as Style, a2 as SelectionContext, A as AIAction, l as AgentResponse, ao as StyleType, a1 as SectionProperties, ap as TabStop, aq as TabStopAlignment, ar as BorderSpec, as as ShadingProperties, R as Run, e as Paragraph, at as BreakContent, $ as RunContent } from './types-XVRXTi4o.cjs';
|
|
8
|
+
export { i as AIActionRequest, j as AgentCommand, k as AgentContext, m as ApplyStyleCommand, B as BlockContent, au as BookmarkEnd, av as BookmarkStart, C as CorePlugin, q as DeleteTextCommand, D as DocumentBody, r as DocxPackage, E as Endnote, aw as Field, ax as FooterReference, F as Footnote, t as FormatTextCommand, ay as HeaderFooter, az as HeaderReference, H as Hyperlink, I as Image, u as InsertHyperlinkCommand, v as InsertImageCommand, w as InsertTableCommand, x as InsertTextCommand, L as ListLevel, d as McpSession, M as McpToolDefinition, N as McpToolHandler, O as McpToolResult, Q as NumberingDefinitions, S as ParagraphContext, g as Position, Y as Range, Z as Relationship, _ as ReplaceTextCommand, a3 as SetVariableCommand, aA as Shape, a5 as StyleDefinitions, a7 as SuggestedAction, a9 as TableRow, aB as TextBox, aa as TextContent, aC as ThemeColorScheme, aD as ThemeFont, aE as ThemeFontScheme } from './types-XVRXTi4o.cjs';
|
|
9
|
+
import { D as DocumentAgent } from './colorResolver-WsUxFs5p.cjs';
|
|
10
|
+
export { A as AgentContextOptions, C as CreateEmptyDocumentOptions, E as ExtendedSelectionContext, P as ProcessTemplateOptions, e as ProcessTemplateResult, f as SelectionContextOptions, g as blendColors, h as buildExtendedSelectionContext, i as buildSelectionContext, k as colorsEqual, n as createDocumentWithText, o as createEmptyDocument, p as createRgbColor, r as createThemeColor, s as darkenColor, t as emuToPixels, u as emuToTwips, v as executeCommand, w as executeCommands, x as formatPx, y as getAgentContext, z as getContrastingColor, B as getDocumentSummary, J as getTemplateTags, K as halfPointsToPixels, L as isBlack, M as isWhite, N as lightenColor, O as parseColorString, Q as parseDocx, R as pixelsToEmu, U as pixelsToTwips, V as pointsToPixels, X as processTemplate, Z as processTemplateAsBlob, _ as processTemplateDetailed, $ as resolveColor, a0 as resolveHighlightColor, a1 as resolveShadingColor, a2 as serializeDocumentBody, a3 as serializeDocx, a4 as serializeSectionProperties, a5 as twipsToEmu, a6 as twipsToPixels, a7 as validateTemplate } from './colorResolver-WsUxFs5p.cjs';
|
|
11
11
|
import { Node as Node$1 } from 'prosemirror-model';
|
|
12
12
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
13
|
-
export { P as PluginRegistry, p as pluginRegistry, r as registerPlugins } from './registry-
|
|
13
|
+
export { P as PluginRegistry, p as pluginRegistry, r as registerPlugins } from './registry-BWDZlJx6.cjs';
|
|
14
14
|
export { docxtemplaterPlugin } from './core-plugins.cjs';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -167,157 +167,13 @@ declare function formatPageRange$1(start: number, end: number, total: number): s
|
|
|
167
167
|
declare function calculateProgress(current: number, total: number): number;
|
|
168
168
|
|
|
169
169
|
/**
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* Breaks paragraphs into lines based on available width.
|
|
173
|
-
* Handles:
|
|
174
|
-
* - Word boundary line breaking
|
|
175
|
-
* - Multiple runs with different font sizes
|
|
176
|
-
* - Tab stops and their alignment
|
|
177
|
-
* - Non-breaking spaces and hyphens
|
|
178
|
-
* - Soft hyphens
|
|
179
|
-
*/
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* A fragment of content that can't be broken (word or inline element)
|
|
183
|
-
*/
|
|
184
|
-
interface LineFragment {
|
|
185
|
-
/** Type of fragment */
|
|
186
|
-
type: 'text' | 'tab' | 'break' | 'image' | 'field' | 'symbol' | 'space';
|
|
187
|
-
/** The content (text for text fragments) */
|
|
188
|
-
content: string;
|
|
189
|
-
/** Width in pixels */
|
|
190
|
-
width: number;
|
|
191
|
-
/** Height in pixels */
|
|
192
|
-
height: number;
|
|
193
|
-
/** Baseline from top in pixels */
|
|
194
|
-
baseline: number;
|
|
195
|
-
/** Source run index */
|
|
196
|
-
runIndex: number;
|
|
197
|
-
/** Source content index within run */
|
|
198
|
-
contentIndex: number;
|
|
199
|
-
/** Character offset within text content (for text fragments) */
|
|
200
|
-
charOffset?: number;
|
|
201
|
-
/** Character count (for text fragments) */
|
|
202
|
-
charCount?: number;
|
|
203
|
-
/** Text formatting applied */
|
|
204
|
-
formatting?: TextFormatting;
|
|
205
|
-
/** Whether this is a break point */
|
|
206
|
-
canBreakAfter: boolean;
|
|
207
|
-
/** Whether this is a non-breaking element */
|
|
208
|
-
nonBreaking?: boolean;
|
|
209
|
-
/** Tab stop position (for tabs) */
|
|
210
|
-
tabStopPosition?: number;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* A line of formatted text
|
|
214
|
-
*/
|
|
215
|
-
interface Line {
|
|
216
|
-
/** Fragments on this line */
|
|
217
|
-
fragments: LineFragment[];
|
|
218
|
-
/** Total width of the line */
|
|
219
|
-
width: number;
|
|
220
|
-
/** Height of the line (max of all fragments) */
|
|
221
|
-
height: number;
|
|
222
|
-
/** Baseline position from top */
|
|
223
|
-
baseline: number;
|
|
224
|
-
/** Y position from top of paragraph */
|
|
225
|
-
y: number;
|
|
226
|
-
/** Whether this is the last line of the paragraph */
|
|
227
|
-
isLastLine: boolean;
|
|
228
|
-
/** Whether this line ends with a hard break */
|
|
229
|
-
hasHardBreak: boolean;
|
|
230
|
-
/** Line number (0-indexed within paragraph) */
|
|
231
|
-
lineNumber: number;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Page Layout Engine
|
|
236
|
-
*
|
|
237
|
-
* Distributes document content across pages based on:
|
|
238
|
-
* - Page size and margins
|
|
239
|
-
* - Explicit page breaks
|
|
240
|
-
* - Natural page breaks (content overflow)
|
|
241
|
-
* - Headers and footers
|
|
242
|
-
* - Keep-with-next, keep-lines-together constraints
|
|
243
|
-
*/
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* A laid out page
|
|
247
|
-
*/
|
|
248
|
-
interface Page$1 {
|
|
249
|
-
/** Page number (1-indexed) */
|
|
250
|
-
pageNumber: number;
|
|
251
|
-
/** Section this page belongs to */
|
|
252
|
-
sectionIndex: number;
|
|
253
|
-
/** Section properties for this page */
|
|
254
|
-
sectionProps: SectionProperties;
|
|
255
|
-
/** Content blocks on this page */
|
|
256
|
-
content: PageContent[];
|
|
257
|
-
/** Header for this page (if any) */
|
|
258
|
-
header: HeaderFooter | null;
|
|
259
|
-
/** Footer for this page (if any) */
|
|
260
|
-
footer: HeaderFooter | null;
|
|
261
|
-
/** Whether this is the first page of its section */
|
|
262
|
-
isFirstPageOfSection: boolean;
|
|
263
|
-
/** Whether this is the last page of the document */
|
|
264
|
-
isLastPage: boolean;
|
|
265
|
-
/** Page width in pixels */
|
|
266
|
-
widthPx: number;
|
|
267
|
-
/** Page height in pixels */
|
|
268
|
-
heightPx: number;
|
|
269
|
-
/** Content area width in pixels */
|
|
270
|
-
contentWidthPx: number;
|
|
271
|
-
/** Content area height in pixels */
|
|
272
|
-
contentHeightPx: number;
|
|
273
|
-
/** Content area top offset */
|
|
274
|
-
contentTopPx: number;
|
|
275
|
-
/** Content area left offset */
|
|
276
|
-
contentLeftPx: number;
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Content positioned on a page
|
|
280
|
-
*/
|
|
281
|
-
interface PageContent {
|
|
282
|
-
/** Type of content */
|
|
283
|
-
type: 'paragraph' | 'table';
|
|
284
|
-
/** The original block */
|
|
285
|
-
block: Paragraph | Table;
|
|
286
|
-
/** Block index in the document */
|
|
287
|
-
blockIndex: number;
|
|
288
|
-
/** Y position on the page (relative to content area) */
|
|
289
|
-
y: number;
|
|
290
|
-
/** Height of this content */
|
|
291
|
-
height: number;
|
|
292
|
-
/** Whether this block continues from previous page */
|
|
293
|
-
isContinuation: boolean;
|
|
294
|
-
/** Whether this block continues on next page */
|
|
295
|
-
continuesOnNextPage: boolean;
|
|
296
|
-
/** Lines for paragraphs (if laid out) */
|
|
297
|
-
lines?: Line[];
|
|
298
|
-
/** First line index if continuation */
|
|
299
|
-
startLineIndex?: number;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Result of page layout
|
|
303
|
-
*/
|
|
304
|
-
interface PageLayoutResult {
|
|
305
|
-
/** All pages */
|
|
306
|
-
pages: Page$1[];
|
|
307
|
-
/** Total page count */
|
|
308
|
-
totalPages: number;
|
|
309
|
-
/** Page number field values by location */
|
|
310
|
-
pageNumberFields?: Map<string, number>;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* PrintPreview Component
|
|
170
|
+
* Print Utilities
|
|
315
171
|
*
|
|
316
|
-
* Provides print
|
|
317
|
-
* - Print
|
|
318
|
-
* - Browser print dialog trigger
|
|
172
|
+
* Provides print functionality with:
|
|
173
|
+
* - Print button component for toolbar
|
|
319
174
|
* - Print-specific CSS styles
|
|
320
|
-
* -
|
|
175
|
+
* - Browser print dialog trigger
|
|
176
|
+
* - Page range utilities
|
|
321
177
|
*/
|
|
322
178
|
|
|
323
179
|
/**
|
|
@@ -342,31 +198,6 @@ interface PrintOptions {
|
|
|
342
198
|
/** Margins mode */
|
|
343
199
|
margins?: 'default' | 'none' | 'minimum';
|
|
344
200
|
}
|
|
345
|
-
/**
|
|
346
|
-
* PrintPreview props
|
|
347
|
-
*/
|
|
348
|
-
interface PrintPreviewProps {
|
|
349
|
-
/** Document to print */
|
|
350
|
-
document: Document;
|
|
351
|
-
/** Theme for color resolution */
|
|
352
|
-
theme?: Theme | null;
|
|
353
|
-
/** Print options */
|
|
354
|
-
options?: PrintOptions;
|
|
355
|
-
/** Whether the preview is open */
|
|
356
|
-
isOpen: boolean;
|
|
357
|
-
/** Callback when preview is closed */
|
|
358
|
-
onClose: () => void;
|
|
359
|
-
/** Callback when print is triggered */
|
|
360
|
-
onPrint?: () => void;
|
|
361
|
-
/** Render function for paragraphs */
|
|
362
|
-
renderParagraph?: (paragraph: Paragraph, index: number, pageContent: PageContent) => ReactNode;
|
|
363
|
-
/** Render function for tables */
|
|
364
|
-
renderTable?: (table: Table, index: number, pageContent: PageContent) => ReactNode;
|
|
365
|
-
/** Render function for headers */
|
|
366
|
-
renderHeader?: (header: HeaderFooter, pageNumber: number, totalPages: number) => ReactNode;
|
|
367
|
-
/** Render function for footers */
|
|
368
|
-
renderFooter?: (footer: HeaderFooter, pageNumber: number, totalPages: number) => ReactNode;
|
|
369
|
-
}
|
|
370
201
|
/**
|
|
371
202
|
* PrintButton props
|
|
372
203
|
*/
|
|
@@ -386,10 +217,6 @@ interface PrintButtonProps {
|
|
|
386
217
|
/** Compact mode */
|
|
387
218
|
compact?: boolean;
|
|
388
219
|
}
|
|
389
|
-
/**
|
|
390
|
-
* PrintPreview - Modal showing print-optimized document view
|
|
391
|
-
*/
|
|
392
|
-
declare function PrintPreview({ document: doc, theme, options, isOpen, onClose, onPrint, renderParagraph, renderTable, renderHeader, renderFooter, }: PrintPreviewProps): React__default.ReactElement | null;
|
|
393
220
|
/**
|
|
394
221
|
* PrintButton - Standalone print button for toolbar
|
|
395
222
|
*/
|
|
@@ -840,22 +667,6 @@ interface PluginHostRef {
|
|
|
840
667
|
refreshPluginStates: () => void;
|
|
841
668
|
}
|
|
842
669
|
|
|
843
|
-
/**
|
|
844
|
-
* PagedEditor Component
|
|
845
|
-
*
|
|
846
|
-
* Main paginated editing component that integrates:
|
|
847
|
-
* - HiddenProseMirror: off-screen editor for keyboard input
|
|
848
|
-
* - Layout engine: computes page layout from PM state
|
|
849
|
-
* - DOM painter: renders pages to visible DOM
|
|
850
|
-
* - Selection overlay: renders caret and selection highlights
|
|
851
|
-
*
|
|
852
|
-
* Architecture:
|
|
853
|
-
* 1. User clicks on visible pages → hit test → update PM selection
|
|
854
|
-
* 2. User types → hidden PM receives input → PM transaction
|
|
855
|
-
* 3. PM transaction → convert to blocks → measure → layout → paint
|
|
856
|
-
* 4. Selection changes → compute rects → update overlay
|
|
857
|
-
*/
|
|
858
|
-
|
|
859
670
|
interface PagedEditorRef {
|
|
860
671
|
/** Get the current document. */
|
|
861
672
|
getDocument(): Document | null;
|
|
@@ -1002,7 +813,7 @@ interface DocxEditorRef {
|
|
|
1002
813
|
/**
|
|
1003
814
|
* DocxEditor - Complete DOCX editor component
|
|
1004
815
|
*/
|
|
1005
|
-
declare const DocxEditor:
|
|
816
|
+
declare const DocxEditor: React$1.ForwardRefExoticComponent<DocxEditorProps & React$1.RefAttributes<DocxEditorRef>>;
|
|
1006
817
|
|
|
1007
818
|
/**
|
|
1008
819
|
* Google Fonts Loader
|
|
@@ -1161,12 +972,56 @@ declare function createDefaultListState(): ListState;
|
|
|
1161
972
|
/**
|
|
1162
973
|
* Table editing action types
|
|
1163
974
|
*/
|
|
1164
|
-
type TableAction = 'addRowAbove' | 'addRowBelow' | 'addColumnLeft' | 'addColumnRight' | 'deleteRow' | 'deleteColumn' | 'mergeCells' | 'splitCell' | 'deleteTable' | 'borderAll' | 'borderOutside' | 'borderInside' | 'borderNone' | 'borderTop' | 'borderBottom' | 'borderLeft' | 'borderRight' | {
|
|
975
|
+
type TableAction = 'addRowAbove' | 'addRowBelow' | 'addColumnLeft' | 'addColumnRight' | 'deleteRow' | 'deleteColumn' | 'mergeCells' | 'splitCell' | 'deleteTable' | 'selectTable' | 'selectRow' | 'selectColumn' | 'borderAll' | 'borderOutside' | 'borderInside' | 'borderNone' | 'borderTop' | 'borderBottom' | 'borderLeft' | 'borderRight' | {
|
|
1165
976
|
type: 'cellFillColor';
|
|
1166
977
|
color: string | null;
|
|
1167
978
|
} | {
|
|
1168
979
|
type: 'borderColor';
|
|
1169
980
|
color: string;
|
|
981
|
+
} | {
|
|
982
|
+
type: 'cellBorder';
|
|
983
|
+
side: 'top' | 'bottom' | 'left' | 'right' | 'all';
|
|
984
|
+
style: string;
|
|
985
|
+
size: number;
|
|
986
|
+
color: string;
|
|
987
|
+
} | {
|
|
988
|
+
type: 'cellVerticalAlign';
|
|
989
|
+
align: 'top' | 'center' | 'bottom';
|
|
990
|
+
} | {
|
|
991
|
+
type: 'cellMargins';
|
|
992
|
+
margins: {
|
|
993
|
+
top?: number;
|
|
994
|
+
bottom?: number;
|
|
995
|
+
left?: number;
|
|
996
|
+
right?: number;
|
|
997
|
+
};
|
|
998
|
+
} | {
|
|
999
|
+
type: 'cellTextDirection';
|
|
1000
|
+
direction: string | null;
|
|
1001
|
+
} | {
|
|
1002
|
+
type: 'toggleNoWrap';
|
|
1003
|
+
} | {
|
|
1004
|
+
type: 'rowHeight';
|
|
1005
|
+
height: number | null;
|
|
1006
|
+
rule?: 'auto' | 'atLeast' | 'exact';
|
|
1007
|
+
} | {
|
|
1008
|
+
type: 'toggleHeaderRow';
|
|
1009
|
+
} | {
|
|
1010
|
+
type: 'distributeColumns';
|
|
1011
|
+
} | {
|
|
1012
|
+
type: 'autoFitContents';
|
|
1013
|
+
} | {
|
|
1014
|
+
type: 'tableProperties';
|
|
1015
|
+
props: {
|
|
1016
|
+
width?: number | null;
|
|
1017
|
+
widthType?: string | null;
|
|
1018
|
+
justification?: 'left' | 'center' | 'right' | null;
|
|
1019
|
+
};
|
|
1020
|
+
} | {
|
|
1021
|
+
type: 'openTableProperties';
|
|
1022
|
+
} | {
|
|
1023
|
+
type: 'applyTableStyle';
|
|
1024
|
+
styleId: string;
|
|
1170
1025
|
};
|
|
1171
1026
|
/**
|
|
1172
1027
|
* Selection within a table
|
|
@@ -1391,6 +1246,32 @@ interface ToolbarProps {
|
|
|
1391
1246
|
onInsertTable?: (rows: number, columns: number) => void;
|
|
1392
1247
|
/** Whether to show table insert button (default: true) */
|
|
1393
1248
|
showTableInsert?: boolean;
|
|
1249
|
+
/** Callback when user wants to insert an image */
|
|
1250
|
+
onInsertImage?: () => void;
|
|
1251
|
+
/** Callback when user wants to insert a shape */
|
|
1252
|
+
onInsertShape?: (data: {
|
|
1253
|
+
shapeType: string;
|
|
1254
|
+
width: number;
|
|
1255
|
+
height: number;
|
|
1256
|
+
fillColor?: string;
|
|
1257
|
+
fillType?: string;
|
|
1258
|
+
outlineWidth?: number;
|
|
1259
|
+
outlineColor?: string;
|
|
1260
|
+
}) => void;
|
|
1261
|
+
/** Image context when an image is selected */
|
|
1262
|
+
imageContext?: {
|
|
1263
|
+
wrapType: string;
|
|
1264
|
+
displayMode: string;
|
|
1265
|
+
cssFloat: string | null;
|
|
1266
|
+
} | null;
|
|
1267
|
+
/** Callback when image wrap type changes */
|
|
1268
|
+
onImageWrapType?: (wrapType: string) => void;
|
|
1269
|
+
/** Callback for image transform (rotate/flip) */
|
|
1270
|
+
onImageTransform?: (action: 'rotateCW' | 'rotateCCW' | 'flipH' | 'flipV') => void;
|
|
1271
|
+
/** Callback to open image position dialog */
|
|
1272
|
+
onOpenImagePosition?: () => void;
|
|
1273
|
+
/** Callback to open image properties dialog (alt text + border) */
|
|
1274
|
+
onOpenImageProperties?: () => void;
|
|
1394
1275
|
/** Table context when cursor is in a table */
|
|
1395
1276
|
tableContext?: {
|
|
1396
1277
|
isInTable: boolean;
|
|
@@ -1447,7 +1328,7 @@ declare function ToolbarSeparator(): react_jsx_runtime.JSX.Element;
|
|
|
1447
1328
|
/**
|
|
1448
1329
|
* Formatting toolbar with all controls
|
|
1449
1330
|
*/
|
|
1450
|
-
declare function Toolbar({ currentFormatting, onFormat, onUndo, onRedo, canUndo, canRedo, disabled, className, style, enableShortcuts, editorRef, children, showFontPicker, showFontSizePicker, showTextColorPicker, showHighlightColorPicker, showAlignmentButtons, showListButtons, showLineSpacingPicker, showStylePicker, documentStyles, theme, onPrint, showPrintButton, showZoomControl, zoom, onZoomChange, onRefocusEditor, onInsertTable, showTableInsert, tableContext, onTableAction, }: ToolbarProps): react_jsx_runtime.JSX.Element;
|
|
1331
|
+
declare function Toolbar({ currentFormatting, onFormat, onUndo, onRedo, canUndo, canRedo, disabled, className, style, enableShortcuts, editorRef, children, showFontPicker, showFontSizePicker, showTextColorPicker, showHighlightColorPicker, showAlignmentButtons, showListButtons, showLineSpacingPicker, showStylePicker, documentStyles, theme, onPrint, showPrintButton, showZoomControl, zoom, onZoomChange, onRefocusEditor, onInsertTable, showTableInsert, onInsertImage, onInsertShape, imageContext, onImageWrapType, onImageTransform, onOpenImagePosition, onOpenImageProperties, tableContext, onTableAction, }: ToolbarProps): react_jsx_runtime.JSX.Element;
|
|
1451
1332
|
|
|
1452
1333
|
/**
|
|
1453
1334
|
* VariablePanel Component
|
|
@@ -1501,78 +1382,6 @@ interface VariablePanelProps {
|
|
|
1501
1382
|
*/
|
|
1502
1383
|
declare function VariablePanel({ variables, values: externalValues, onValuesChange, onApply, onReset, isApplying, disabled, className, style, title, emptyMessage, showCount, collapsible, defaultCollapsed, showSearch, descriptions, }: VariablePanelProps): React__default.ReactElement;
|
|
1503
1384
|
|
|
1504
|
-
/**
|
|
1505
|
-
* DocumentViewer Component
|
|
1506
|
-
*
|
|
1507
|
-
* Full paginated document viewer:
|
|
1508
|
-
* - Renders all pages vertically
|
|
1509
|
-
* - Gap between pages
|
|
1510
|
-
* - Scrollable container
|
|
1511
|
-
* - Loading state while parsing
|
|
1512
|
-
* - Placeholder when no document
|
|
1513
|
-
* - Zoom control
|
|
1514
|
-
*/
|
|
1515
|
-
|
|
1516
|
-
/**
|
|
1517
|
-
* Props for the DocumentViewer component
|
|
1518
|
-
*/
|
|
1519
|
-
interface DocumentViewerProps {
|
|
1520
|
-
/** The document to render */
|
|
1521
|
-
document?: Document | null;
|
|
1522
|
-
/** Theme for resolving colors and fonts */
|
|
1523
|
-
theme?: Theme | null;
|
|
1524
|
-
/** Zoom level (1.0 = 100%) */
|
|
1525
|
-
zoom?: number;
|
|
1526
|
-
/** Gap between pages in pixels */
|
|
1527
|
-
pageGap?: number;
|
|
1528
|
-
/** Whether to show page shadows */
|
|
1529
|
-
showPageShadows?: boolean;
|
|
1530
|
-
/** Whether to show page numbers */
|
|
1531
|
-
showPageNumbers?: boolean;
|
|
1532
|
-
/** Loading state */
|
|
1533
|
-
isLoading?: boolean;
|
|
1534
|
-
/** Custom loading indicator */
|
|
1535
|
-
loadingIndicator?: ReactNode;
|
|
1536
|
-
/** Custom placeholder for no document */
|
|
1537
|
-
placeholder?: ReactNode;
|
|
1538
|
-
/** Custom paragraph renderer */
|
|
1539
|
-
renderParagraph?: (paragraph: Paragraph, index: number, pageContent: PageContent) => ReactNode;
|
|
1540
|
-
/** Custom table renderer */
|
|
1541
|
-
renderTable?: (table: Table, index: number, pageContent: PageContent) => ReactNode;
|
|
1542
|
-
/** Custom header renderer */
|
|
1543
|
-
renderHeader?: (header: HeaderFooter, pageNumber: number) => ReactNode;
|
|
1544
|
-
/** Custom footer renderer */
|
|
1545
|
-
renderFooter?: (footer: HeaderFooter, pageNumber: number) => ReactNode;
|
|
1546
|
-
/** Callback when page becomes visible */
|
|
1547
|
-
onPageVisible?: (pageNumber: number) => void;
|
|
1548
|
-
/** Callback when document is clicked */
|
|
1549
|
-
onDocumentClick?: (e: React__default.MouseEvent, page: Page$1 | null) => void;
|
|
1550
|
-
/** Additional CSS class name */
|
|
1551
|
-
className?: string;
|
|
1552
|
-
/** Additional inline styles */
|
|
1553
|
-
style?: CSSProperties;
|
|
1554
|
-
}
|
|
1555
|
-
/**
|
|
1556
|
-
* DocumentViewer component - renders paginated document view
|
|
1557
|
-
*/
|
|
1558
|
-
declare function DocumentViewer({ document, theme, zoom, pageGap, showPageShadows, showPageNumbers, isLoading, loadingIndicator, placeholder, renderParagraph, renderTable, renderHeader, renderFooter, onPageVisible, onDocumentClick, className, style: additionalStyle, }: DocumentViewerProps): React__default.ReactElement;
|
|
1559
|
-
/**
|
|
1560
|
-
* Scroll to a specific page
|
|
1561
|
-
*/
|
|
1562
|
-
declare function scrollToPage(containerRef: React__default.RefObject<HTMLDivElement>, pageNumber: number, layoutResult: PageLayoutResult | null, zoom?: number, pageGap?: number): void;
|
|
1563
|
-
/**
|
|
1564
|
-
* Get visible page numbers
|
|
1565
|
-
*/
|
|
1566
|
-
declare function getVisiblePages(containerRef: React__default.RefObject<HTMLDivElement>, layoutResult: PageLayoutResult | null, zoom?: number, pageGap?: number): number[];
|
|
1567
|
-
/**
|
|
1568
|
-
* Calculate zoom to fit page width
|
|
1569
|
-
*/
|
|
1570
|
-
declare function calculateFitWidthZoom(containerWidth: number, pageWidth: number, padding?: number): number;
|
|
1571
|
-
/**
|
|
1572
|
-
* Calculate zoom to fit whole page
|
|
1573
|
-
*/
|
|
1574
|
-
declare function calculateFitPageZoom(containerWidth: number, containerHeight: number, pageWidth: number, pageHeight: number, padding?: number): number;
|
|
1575
|
-
|
|
1576
1385
|
/**
|
|
1577
1386
|
* Context Menu Component
|
|
1578
1387
|
*
|
|
@@ -2099,7 +1908,7 @@ interface StylePickerProps {
|
|
|
2099
1908
|
styleTypes?: StyleType[];
|
|
2100
1909
|
quickFormatOnly?: boolean;
|
|
2101
1910
|
}
|
|
2102
|
-
declare function StylePicker({ value, onChange, styles, disabled, className, placeholder, width, quickFormatOnly, }: StylePickerProps): react_jsx_runtime.JSX.Element;
|
|
1911
|
+
declare function StylePicker({ value, onChange, styles, disabled, className, placeholder: _placeholder, width, quickFormatOnly, }: StylePickerProps): react_jsx_runtime.JSX.Element;
|
|
2103
1912
|
|
|
2104
1913
|
/**
|
|
2105
1914
|
* Props for the AlignmentButtons component
|
|
@@ -2164,11 +1973,17 @@ interface HorizontalRulerProps {
|
|
|
2164
1973
|
className?: string;
|
|
2165
1974
|
/** Additional inline styles */
|
|
2166
1975
|
style?: CSSProperties;
|
|
1976
|
+
/** Current paragraph tab stops */
|
|
1977
|
+
tabStops?: TabStop[] | null;
|
|
1978
|
+
/** Callback when a tab stop is added (click on ruler) */
|
|
1979
|
+
onTabStopAdd?: (positionTwips: number, alignment: TabStopAlignment) => void;
|
|
1980
|
+
/** Callback when a tab stop is removed (double-click on marker) */
|
|
1981
|
+
onTabStopRemove?: (positionTwips: number) => void;
|
|
2167
1982
|
}
|
|
2168
1983
|
/**
|
|
2169
1984
|
* HorizontalRuler - displays a ruler with margin markers
|
|
2170
1985
|
*/
|
|
2171
|
-
declare function HorizontalRuler({ sectionProps, zoom, editable, onLeftMarginChange, onRightMarginChange, onFirstLineIndentChange, showFirstLineIndent, firstLineIndent, unit, className, style, }: HorizontalRulerProps): React__default.ReactElement;
|
|
1986
|
+
declare function HorizontalRuler({ sectionProps, zoom, editable, onLeftMarginChange, onRightMarginChange, onFirstLineIndentChange, showFirstLineIndent, firstLineIndent, unit, className, style, tabStops, onTabStopAdd, onTabStopRemove, }: HorizontalRulerProps): React__default.ReactElement;
|
|
2172
1987
|
/**
|
|
2173
1988
|
* Convert a ruler position to margin value
|
|
2174
1989
|
*/
|
|
@@ -2741,20 +2556,11 @@ declare function createToolbarItems(configs: Array<{
|
|
|
2741
2556
|
declare function getRecommendedPriority(itemType: string): ToolbarItemPriority;
|
|
2742
2557
|
|
|
2743
2558
|
/**
|
|
2744
|
-
* Find
|
|
2745
|
-
*
|
|
2746
|
-
* Modal dialog for searching and replacing text in the document.
|
|
2747
|
-
* Supports find, find next/previous, replace, and replace all operations.
|
|
2559
|
+
* Find & Replace Utility Functions
|
|
2748
2560
|
*
|
|
2749
|
-
*
|
|
2750
|
-
*
|
|
2751
|
-
* - Replace input with replace/replace all
|
|
2752
|
-
* - Match case option
|
|
2753
|
-
* - Match whole word option
|
|
2754
|
-
* - Keyboard shortcuts (Ctrl+F, Ctrl+H, Enter, Escape)
|
|
2755
|
-
* - Match count display
|
|
2561
|
+
* Pure utility functions for text search, pattern matching, and document search.
|
|
2562
|
+
* Extracted from FindReplaceDialog.tsx.
|
|
2756
2563
|
*/
|
|
2757
|
-
|
|
2758
2564
|
/**
|
|
2759
2565
|
* A single match result in the document
|
|
2760
2566
|
*/
|
|
@@ -2793,57 +2599,18 @@ interface FindResult {
|
|
|
2793
2599
|
currentIndex: number;
|
|
2794
2600
|
}
|
|
2795
2601
|
/**
|
|
2796
|
-
*
|
|
2602
|
+
* Highlight options for document rendering
|
|
2797
2603
|
*/
|
|
2798
|
-
interface
|
|
2799
|
-
/**
|
|
2800
|
-
|
|
2801
|
-
/**
|
|
2802
|
-
|
|
2803
|
-
/** Callback when searching for text */
|
|
2804
|
-
onFind: (searchText: string, options: FindOptions) => FindResult | null;
|
|
2805
|
-
/** Callback when navigating to next match */
|
|
2806
|
-
onFindNext: () => FindMatch | null;
|
|
2807
|
-
/** Callback when navigating to previous match */
|
|
2808
|
-
onFindPrevious: () => FindMatch | null;
|
|
2809
|
-
/** Callback when replacing current match */
|
|
2810
|
-
onReplace: (replaceText: string) => boolean;
|
|
2811
|
-
/** Callback when replacing all matches */
|
|
2812
|
-
onReplaceAll: (searchText: string, replaceText: string, options: FindOptions) => number;
|
|
2813
|
-
/** Callback to highlight matches in document */
|
|
2814
|
-
onHighlightMatches?: (matches: FindMatch[]) => void;
|
|
2815
|
-
/** Callback to clear highlights */
|
|
2816
|
-
onClearHighlights?: () => void;
|
|
2817
|
-
/** Initial search text (e.g., from selected text) */
|
|
2818
|
-
initialSearchText?: string;
|
|
2819
|
-
/** Whether to start in replace mode */
|
|
2820
|
-
replaceMode?: boolean;
|
|
2821
|
-
/** Current match result (from external state) */
|
|
2822
|
-
currentResult?: FindResult | null;
|
|
2823
|
-
/** Additional CSS class */
|
|
2824
|
-
className?: string;
|
|
2825
|
-
/** Additional inline styles */
|
|
2826
|
-
style?: CSSProperties;
|
|
2604
|
+
interface HighlightOptions {
|
|
2605
|
+
/** Background color for current match */
|
|
2606
|
+
currentMatchColor: string;
|
|
2607
|
+
/** Background color for other matches */
|
|
2608
|
+
otherMatchColor: string;
|
|
2827
2609
|
}
|
|
2828
|
-
/**
|
|
2829
|
-
* FindReplaceDialog component - Modal for finding and replacing text
|
|
2830
|
-
*/
|
|
2831
|
-
declare function FindReplaceDialog({ isOpen, onClose, onFind, onFindNext, onFindPrevious, onReplace, onReplaceAll, onHighlightMatches, onClearHighlights, initialSearchText, replaceMode, currentResult, className, style, }: FindReplaceDialogProps): React__default.ReactElement | null;
|
|
2832
2610
|
/**
|
|
2833
2611
|
* Create default find options
|
|
2834
2612
|
*/
|
|
2835
2613
|
declare function createDefaultFindOptions(): FindOptions;
|
|
2836
|
-
/**
|
|
2837
|
-
* Find all matches of search text in content
|
|
2838
|
-
* @param content - The text to search in
|
|
2839
|
-
* @param searchText - The text to find
|
|
2840
|
-
* @param options - Find options
|
|
2841
|
-
* @returns Array of match indices [startIndex, endIndex]
|
|
2842
|
-
*/
|
|
2843
|
-
declare function findAllMatches(content: string, searchText: string, options: FindOptions): Array<{
|
|
2844
|
-
start: number;
|
|
2845
|
-
end: number;
|
|
2846
|
-
}>;
|
|
2847
2614
|
/**
|
|
2848
2615
|
* Escape string for use in regex pattern
|
|
2849
2616
|
*/
|
|
@@ -2852,23 +2619,19 @@ declare function escapeRegexString(str: string): string;
|
|
|
2852
2619
|
* Create a regex pattern from search text and options
|
|
2853
2620
|
*/
|
|
2854
2621
|
declare function createSearchPattern(searchText: string, options: FindOptions): RegExp | null;
|
|
2622
|
+
/**
|
|
2623
|
+
* Find all matches of search text in content
|
|
2624
|
+
*/
|
|
2625
|
+
declare function findAllMatches(content: string, searchText: string, options: FindOptions): Array<{
|
|
2626
|
+
start: number;
|
|
2627
|
+
end: number;
|
|
2628
|
+
}>;
|
|
2855
2629
|
/**
|
|
2856
2630
|
* Replace text in content
|
|
2857
|
-
* @param content - Original content
|
|
2858
|
-
* @param searchText - Text to find
|
|
2859
|
-
* @param replaceText - Text to replace with
|
|
2860
|
-
* @param options - Find options
|
|
2861
|
-
* @returns New content with replacements
|
|
2862
2631
|
*/
|
|
2863
2632
|
declare function replaceAllInContent(content: string, searchText: string, replaceText: string, options: FindOptions): string;
|
|
2864
2633
|
/**
|
|
2865
2634
|
* Replace first match in content
|
|
2866
|
-
* @param content - Original content
|
|
2867
|
-
* @param searchText - Text to find
|
|
2868
|
-
* @param replaceText - Text to replace with
|
|
2869
|
-
* @param options - Find options
|
|
2870
|
-
* @param startIndex - Index to start searching from
|
|
2871
|
-
* @returns New content with replacement, or original if no match
|
|
2872
2635
|
*/
|
|
2873
2636
|
declare function replaceFirstInContent(content: string, searchText: string, replaceText: string, options: FindOptions, startIndex?: number): {
|
|
2874
2637
|
content: string;
|
|
@@ -2884,19 +2647,30 @@ declare function getMatchCountText(result: FindResult | null): string;
|
|
|
2884
2647
|
* Check if search text is empty or whitespace-only
|
|
2885
2648
|
*/
|
|
2886
2649
|
declare function isEmptySearch(searchText: string): boolean;
|
|
2887
|
-
/**
|
|
2888
|
-
* Highlight options for document rendering
|
|
2889
|
-
*/
|
|
2890
|
-
interface HighlightOptions {
|
|
2891
|
-
/** Background color for current match */
|
|
2892
|
-
currentMatchColor: string;
|
|
2893
|
-
/** Background color for other matches */
|
|
2894
|
-
otherMatchColor: string;
|
|
2895
|
-
}
|
|
2896
2650
|
/**
|
|
2897
2651
|
* Get default highlight options
|
|
2898
2652
|
*/
|
|
2899
2653
|
declare function getDefaultHighlightOptions(): HighlightOptions;
|
|
2654
|
+
/**
|
|
2655
|
+
* Find all matches in a document
|
|
2656
|
+
*/
|
|
2657
|
+
declare function findInDocument(document: any, searchText: string, options: FindOptions): FindMatch[];
|
|
2658
|
+
/**
|
|
2659
|
+
* Find matches in a single paragraph
|
|
2660
|
+
*/
|
|
2661
|
+
declare function findInParagraph(paragraph: any, searchText: string, options: FindOptions, paragraphIndex: number): FindMatch[];
|
|
2662
|
+
/**
|
|
2663
|
+
* Scroll to a match in the document
|
|
2664
|
+
*/
|
|
2665
|
+
declare function scrollToMatch(containerElement: HTMLElement | null, match: FindMatch): void;
|
|
2666
|
+
|
|
2667
|
+
/**
|
|
2668
|
+
* useFindReplace Hook
|
|
2669
|
+
*
|
|
2670
|
+
* React hook for managing find/replace dialog state.
|
|
2671
|
+
* Extracted from FindReplaceDialog.tsx.
|
|
2672
|
+
*/
|
|
2673
|
+
|
|
2900
2674
|
/**
|
|
2901
2675
|
* Options for the useFindReplace hook
|
|
2902
2676
|
*/
|
|
@@ -2964,18 +2738,55 @@ interface UseFindReplaceReturn {
|
|
|
2964
2738
|
* Hook for managing find/replace dialog state
|
|
2965
2739
|
*/
|
|
2966
2740
|
declare function useFindReplace(hookOptions?: FindReplaceOptions): UseFindReplaceReturn;
|
|
2741
|
+
|
|
2967
2742
|
/**
|
|
2968
|
-
* Find
|
|
2743
|
+
* Find and Replace Dialog Component
|
|
2744
|
+
*
|
|
2745
|
+
* Modal dialog for searching and replacing text in the document.
|
|
2746
|
+
* Supports find, find next/previous, replace, and replace all operations.
|
|
2747
|
+
*
|
|
2748
|
+
* Logic and utilities are in separate files:
|
|
2749
|
+
* - findReplaceUtils.ts — Pure search/replace functions and types
|
|
2750
|
+
* - useFindReplace.ts — React hook for dialog state management
|
|
2969
2751
|
*/
|
|
2970
|
-
|
|
2752
|
+
|
|
2971
2753
|
/**
|
|
2972
|
-
*
|
|
2754
|
+
* Props for the FindReplaceDialog component
|
|
2973
2755
|
*/
|
|
2974
|
-
|
|
2756
|
+
interface FindReplaceDialogProps {
|
|
2757
|
+
/** Whether the dialog is open */
|
|
2758
|
+
isOpen: boolean;
|
|
2759
|
+
/** Callback when dialog is closed */
|
|
2760
|
+
onClose: () => void;
|
|
2761
|
+
/** Callback when searching for text */
|
|
2762
|
+
onFind: (searchText: string, options: FindOptions) => FindResult | null;
|
|
2763
|
+
/** Callback when navigating to next match */
|
|
2764
|
+
onFindNext: () => FindMatch | null;
|
|
2765
|
+
/** Callback when navigating to previous match */
|
|
2766
|
+
onFindPrevious: () => FindMatch | null;
|
|
2767
|
+
/** Callback when replacing current match */
|
|
2768
|
+
onReplace: (replaceText: string) => boolean;
|
|
2769
|
+
/** Callback when replacing all matches */
|
|
2770
|
+
onReplaceAll: (searchText: string, replaceText: string, options: FindOptions) => number;
|
|
2771
|
+
/** Callback to highlight matches in document */
|
|
2772
|
+
onHighlightMatches?: (matches: FindMatch[]) => void;
|
|
2773
|
+
/** Callback to clear highlights */
|
|
2774
|
+
onClearHighlights?: () => void;
|
|
2775
|
+
/** Initial search text (e.g., from selected text) */
|
|
2776
|
+
initialSearchText?: string;
|
|
2777
|
+
/** Whether to start in replace mode */
|
|
2778
|
+
replaceMode?: boolean;
|
|
2779
|
+
/** Current match result (from external state) */
|
|
2780
|
+
currentResult?: FindResult | null;
|
|
2781
|
+
/** Additional CSS class */
|
|
2782
|
+
className?: string;
|
|
2783
|
+
/** Additional inline styles */
|
|
2784
|
+
style?: CSSProperties;
|
|
2785
|
+
}
|
|
2975
2786
|
/**
|
|
2976
|
-
*
|
|
2787
|
+
* FindReplaceDialog component - Modal for finding and replacing text
|
|
2977
2788
|
*/
|
|
2978
|
-
declare function
|
|
2789
|
+
declare function FindReplaceDialog({ isOpen, onClose, onFind, onFindNext, onFindPrevious, onReplace, onReplaceAll, onHighlightMatches, onClearHighlights, initialSearchText, replaceMode, currentResult, className, style, }: FindReplaceDialogProps): React__default.ReactElement | null;
|
|
2979
2790
|
|
|
2980
2791
|
/**
|
|
2981
2792
|
* Hyperlink Dialog Component
|
|
@@ -4665,7 +4476,7 @@ interface PluginState {
|
|
|
4665
4476
|
interface AnnotationPanelProps extends PluginPanelProps<PluginState> {
|
|
4666
4477
|
}
|
|
4667
4478
|
declare function AnnotationPanel({ editorView, pluginState, renderedDomContext, }: AnnotationPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
4668
|
-
declare const ANNOTATION_PANEL_STYLES = "\n.template-panel {\n display: flex;\n min-height: 100%;\n background: transparent;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n position: relative;\n}\n\n.template-panel-annotations {\n flex: 1;\n position: relative;\n overflow: visible;\n min-height: 100%;\n pointer-events: none;\n will-change: transform;\n}\n\n.template-panel-annotations > * {\n pointer-events: auto;\n}\n\n.template-annotation-anchor {\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n align-items: flex-start;\n}\n\n.template-annotation-connector {\n width: 20px;\n height: 1px;\n background: #d0d0d0;\n margin-top: 12px;\n margin-right: 4px;\n flex-shrink: 0;\n}\n\n.template-annotation-anchor:hover .template-annotation-connector {\n background: #3b82f6;\n}\n\n.template-annotation-chip {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n padding: 5px 10px;\n background: white;\n border: 1px solid #e2e8f0;\n border-left: 3px solid #6c757d;\n border-radius: 4px;\n font-size: 11px;\n cursor: pointer;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);\n max-width: 200px;\n}\n\n.template-annotation-chip:hover,\n.template-annotation-chip.hovered {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n border-color: #cbd5e1;\n}\n\n.template-annotation-chip.selected {\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n}\n\n.template-chip-badge {\n font-size: 9px;\n font-weight: 600;\n padding: 1px 5px;\n border-radius: 3px;\n color: white;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.template-chip-dot {\n font-size: 8px;\n}\n\n.template-chip-name {\n color: #334155;\n font-weight: 500;\n}\n\n.template-chip-nested {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n width: 100%;\n margin-top: 4px;\n padding-top: 4px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n}\n\n.template-nested-var {\n font-size: 10px;\n color: #64748b;\n background: rgba(0, 0, 0, 0.04);\n padding: 2px 6px;\n border-radius: 3px;\n}\n\n.template-nested-var:hover {\n background: rgba(59, 130, 246, 0.15);\n color: #1e40af;\n}\n";
|
|
4479
|
+
declare const ANNOTATION_PANEL_STYLES = "\n.template-panel {\n display: flex;\n min-height: 100%;\n background: transparent;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n position: relative;\n}\n\n.template-panel-annotations {\n flex: 1;\n position: relative;\n overflow: visible;\n min-height: 100%;\n pointer-events: none;\n will-change: transform;\n}\n\n.template-panel-annotations > * {\n pointer-events: auto;\n}\n\n.template-annotation-anchor {\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n align-items: flex-start;\n transition: top 0.15s ease-out;\n}\n\n.template-annotation-connector {\n width: 20px;\n height: 1px;\n background: #d0d0d0;\n margin-top: 12px;\n margin-right: 4px;\n flex-shrink: 0;\n}\n\n.template-annotation-anchor:hover .template-annotation-connector {\n background: #3b82f6;\n}\n\n.template-annotation-chip {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n padding: 5px 10px;\n background: white;\n border: 1px solid #e2e8f0;\n border-left: 3px solid #6c757d;\n border-radius: 4px;\n font-size: 11px;\n cursor: pointer;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);\n max-width: 200px;\n}\n\n.template-annotation-chip:hover,\n.template-annotation-chip.hovered {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n border-color: #cbd5e1;\n}\n\n.template-annotation-chip.selected {\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);\n}\n\n.template-chip-badge {\n font-size: 9px;\n font-weight: 600;\n padding: 1px 5px;\n border-radius: 3px;\n color: white;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.template-chip-dot {\n font-size: 8px;\n}\n\n.template-chip-name {\n color: #334155;\n font-weight: 500;\n}\n\n.template-chip-nested {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n width: 100%;\n margin-top: 4px;\n padding-top: 4px;\n border-top: 1px solid rgba(0, 0, 0, 0.06);\n}\n\n.template-nested-var {\n font-size: 10px;\n color: #64748b;\n background: rgba(0, 0, 0, 0.04);\n padding: 2px 6px;\n border-radius: 3px;\n}\n\n.template-nested-var:hover {\n background: rgba(59, 130, 246, 0.15);\n color: #1e40af;\n}\n";
|
|
4669
4480
|
|
|
4670
4481
|
/**
|
|
4671
4482
|
* Template Plugin
|
|
@@ -4742,4 +4553,4 @@ declare const templatePlugin: EditorPlugin<TemplatePluginState>;
|
|
|
4742
4553
|
*/
|
|
4743
4554
|
declare const VERSION = "0.0.2";
|
|
4744
4555
|
|
|
4745
|
-
export { AIAction, ANNOTATION_PANEL_STYLES, AgentResponse, AlignmentButtons, type AlignmentButtonsProps, AnnotationPanel, type AutoSaveStatus, BORDER_POSITIONS, BORDER_STYLES, BORDER_WIDTHS, type BorderConfig, type BorderPosition, type BorderStyleType, CLIPBOARD_TYPES, CellBackgroundPicker, type CellBackgroundPickerProps, type CellColorOption, type ClipboardContent, type ClipboardOptions, type ClipboardSelection, type ColorOption, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuProps, DEFAULT_BORDER_CONFIG, DEFAULT_CELL_COLORS, DEFAULT_SELECTION_STYLE, type KeyboardShortcut$1 as DialogKeyboardShortcut, Document, DocumentAgent,
|
|
4556
|
+
export { AIAction, ANNOTATION_PANEL_STYLES, AgentResponse, AlignmentButtons, type AlignmentButtonsProps, AnnotationPanel, type AutoSaveStatus, BORDER_POSITIONS, BORDER_STYLES, BORDER_WIDTHS, type BorderConfig, type BorderPosition, type BorderStyleType, CLIPBOARD_TYPES, CellBackgroundPicker, type CellBackgroundPickerProps, type CellColorOption, type ClipboardContent, type ClipboardOptions, type ClipboardSelection, type ColorOption, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuProps, DEFAULT_BORDER_CONFIG, DEFAULT_CELL_COLORS, DEFAULT_SELECTION_STYLE, type KeyboardShortcut$1 as DialogKeyboardShortcut, Document, DocumentAgent, DocxEditor, type DocxEditorProps, type DocxEditorRef, type EditorPlugin, ErrorBoundary, type ErrorBoundaryProps, type ErrorContextValue, type ErrorNotification, ErrorProvider, type ErrorSeverity, type FindMatch, type FindOptions, FindReplaceDialog, type FindReplaceDialogProps, type FindReplaceOptions, type FindReplaceState, type FindResult, type FontOption, FontPicker, type FontPickerProps, FontSizePicker, type FontSizePickerProps, HIGH_CONTRAST_SELECTION_STYLE, type HighlightOptions, type HighlightRect, HorizontalRuler, type HorizontalRulerProps, type HyperlinkData, HyperlinkDialog, type HyperlinkDialogProps, INTERNAL_CLIPBOARD_TYPE, type ImageData, type IndicatorPosition, type IndicatorVariant, InsertImageDialog, type InsertImageDialogProps, type InsertPosition, InsertSymbolDialog, type InsertSymbolDialogProps, InsertTableDialog, type InsertTableDialogProps, type KeyboardShortcut, KeyboardShortcutsDialog, type KeyboardShortcutsDialogProps, type LineSpacingOption, LineSpacingPicker, type LineSpacingPickerProps, ListButtons, type ListButtonsProps, type ListState, LoadingIndicator, type LoadingIndicatorProps, type LoadingOperation, type LoadingSize, type LoadingVariant, NAVIGATION_SHORTCUTS, type NavigationAction, type NavigationDirection, type NavigationUnit, PLUGIN_HOST_STYLES, type PageIndicatorPosition, type PageIndicatorVariant, PageNavigator, type PageNavigatorPosition, type PageNavigatorProps, type PageNavigatorVariant, PageNumberIndicator, type PageNumberIndicatorProps, type PanelConfig, Paragraph, ParagraphFormatting, ParseErrorDisplay, type ParseErrorDisplayProps, type ParsedClipboardContent, type PasteOption, PasteSpecialDialog, type PasteSpecialDialogProps, type PluginContext, PluginHost, type PluginHostProps, type PluginHostRef, type PluginPanelProps, PrintButton, type PrintButtonProps, type PrintOptions, PrintStyles, ResponsePreview, type ResponsePreviewProps, type ResponsePreviewState, ResponsiveToolbar, ToolbarGroup as ResponsiveToolbarGroup, type ToolbarGroupProps as ResponsiveToolbarGroupProps, type ResponsiveToolbarProps, Run, RunContent, SELECTION_CSS_VARS, SYMBOL_CATEGORIES, type SavedDocumentData, SectionProperties, SelectionContext, type SelectionHighlightConfig, type SelectionOverlayProps, type SelectionRange, type ShortcutCategory, Style, type StyleOption, StylePicker, type StylePickerProps, type SymbolCategory, TABLE_DATA_ATTRIBUTES, TEMPLATE_DECORATION_STYLES, Table, type TableAction, TableBorderPicker, type TableBorderPickerProps, TableCell, type TableConfig, type TableContext, type TableSelection, type TableSelectionState, TableToolbar, type TableToolbarProps, type TagType, type TemplateTag, type TextContextAction, TextContextMenu, type TextContextMenuItem, type TextContextMenuProps, TextFormatting, Theme, Toolbar, ToolbarButton, ToolbarGroup$1 as ToolbarGroup, type ToolbarItem, type ToolbarItemPriority, type ToolbarProps, ToolbarSeparator, UnsavedIndicator, type UnsavedIndicatorProps, UnsupportedFeatureWarning, type UnsupportedFeatureWarningProps, type UseAutoSaveOptions, type UseAutoSaveReturn, type UseClipboardOptions, type UseClipboardReturn, type UseFindReplaceReturn, type UseKeyboardShortcutsDialogOptions, type UseKeyboardShortcutsDialogReturn, type UseLoadingOptions, type UseLoadingReturn, type UsePasteSpecialOptions, type UsePasteSpecialReturn, type UseResponsiveToolbarOptions, type UseResponsiveToolbarReturn, type UseSelectionHighlightOptions, type UseSelectionHighlightReturn, type UseTableSelectionOptions, type UseTableSelectionReturn, type UseTextContextMenuOptions, type UseTextContextMenuReturn, type UseUnsavedChangesOptions, type UseUnsavedChangesReturn, type UseWheelZoomOptions, type UseWheelZoomReturn, VERSION, VariablePanel, type VariablePanelProps, type WordSelectionResult, ZOOM_PRESETS, ZoomControl, type ZoomControlProps, addColumn, addRow, areSelectionStylesInjected, calculateFitDimensions, calculateProgress, calculateScrollToPage, calculateVisiblePage, canRenderFont, clampPageNumber, clampTableConfig, clampZoom, cleanWordHtml, clearSelection, copyParagraphs, copyRuns, countPageBreaks, createBorderConfig, createBorderSpec, createCellColorOption, createChangeTracker, createClipboardHandlers, createColumnBreak, createDefaultFindOptions, createDefaultListState, createDefaultTableConfig, createDoubleClickWordSelector, createErrorResponse, createHorizontalRule, createLineBreak, createMockResponse, createPageBreak, createPageBreakParagraph, createPageBreakRun, createPageFormat, createSearchPattern, createSelectionChangeHandler, createSelectionFromDOM, createShadingFromColor, createTableContext, createPlugin as createTemplatePlugin, createTemplatePlugin as createTemplateProseMirrorPlugin, createToolbarItem, createToolbarItems, createTripleClickParagraphSelector, dataUrlToBlob, DocxEditor as default, delay, deleteColumn, deleteRow, describeShortcut, escapeRegexString, expandSelectionToWord, expandSelectionToWordBoundaries, extendSelectionTo, findAllMatches, findInDocument, findInParagraph, findNearestZoomPreset, findNextWordStart, findPageBreaks, findPreviousWordStart, findVisualLineEnd, findVisualLineStart, findWordAt, findWordBoundaries, findWordEnd, findWordStart, formatFileSize, formatLastSaveTime, formatPageOrdinal, formatPageRange$1 as formatPageRange, formatPageRange as formatPrintPageRange, formatShortcutKeys, formatStorageSize, formatTableDimensions, formatZoom, generateOverlayElements, generateSelectionCSS, getActionShortcut, getAllActions, getAllCategories, getAllPositions as getAllIndicatorPositions, getAllVariants as getAllIndicatorVariants, getAllLoadingSizes, getAllLoadingVariants, getAllPasteOptions, getAutoSaveStatusLabel, getAutoSaveStorageSize, getAvailableBorderStyles, getAvailableBorderWidths, getBorderPositionLabel, getCategoryLabel, getCellAt, getCellColorName, getColorFromShading, getColumnCount, getCommonShortcuts, getContrastingTextColor, getDefaultActions, getDefaultCellColors, getDefaultHighlightOptions, getDefaultPasteOption, getDefaultPrintOptions, getDefaultShortcuts, getDefaultTextContextMenuItems, getHighlightRectStyle, getImageAcceptString, getImageDimensions, getLoadedFonts, getLoadingVariantLabel, getMarginInUnits, getMatchCountText, getMergedSelectionRects, getNavigationShortcutDescriptions, getNavigationShortcuts, getNextZoomPreset, getPageProgress, getPasteOption, getPreviousZoomPreset, getRecommendedPriority, getRulerDimensions, getSelectedText, getSelectionBoundingRect, getSelectionInfo, getSelectionRects, getSelectionRuns, getShortcutsByCategory, getSupportedImageExtensions, getSymbolCategories, getSymbolInfo as getSymbolUnicodeInfo, getSymbolsByCategory, getTablePresets, getTemplateTags as getTemplatePluginTags, getTextActionLabel, getTextActionShortcut, getUserFriendlyMessage, getVariantLabel, getWordAt, getWordAtCursor, getZoomPresets, handleClickForMultiClick, handleNavigationKey, handlePasteEvent, hasActiveSelection, hasPageBreakBefore, highlightTextRange, htmlToRuns, injectSelectionStyles, insertHorizontalRule, insertPageBreak, isActionAvailable, isAutoSaveSupported, isBreakContent, isColumnBreak, isDefaultCellColor, isEditorHtml, isEmptySearch, isFirstPage, isFontLoaded, isLoading as isFontsLoading, isLastPage, isLineBreak, isNavigationKey, isPageBreak, isParseError, isPasteSpecialShortcut, isPrintSupported, isPunctuation, isSelectionBackwards, isSelectionWithin, isTextActionAvailable, isValidImageFile, isValidPageNumber, isValidTableConfig, isWhitespace$1 as isWhitespace, isWhitespace as isWhitespaceChar, isWordCharacter as isWordChar, isWordCharacter$1 as isWordCharacter, isWordHtml, isZoomPreset, loadFont, loadFontFromBuffer, loadFonts, mapStyleToCss, matchesShortcut, mergeAdjacentRects, mergeCells, moveByWord, moveToLineEdge, normalizeSelectionDirection, onFontsLoaded, openPrintWindow, paragraphsToClipboardContent, parseClipboardHtml, parseMarginFromUnits, parseNavigationAction, parsePageInput, parsePageRange, parseZoom, positionToMargin, preloadCommonFonts, readFromClipboard, removePageBreak, removeSelectionStyles, replaceAllInContent, replaceFirstInContent, runsToClipboardContent, scrollToMatch, searchSymbols, selectParagraphAtCursor, selectRange, selectWordAtCursor, selectWordInTextNode, setHoveredElement, setSelectedElement, setSelectionPosition, splitCell, symbolFromCodePoint, templatePlugin, templatePluginKey, triggerPrint, useAutoSave, useClipboard, useContextMenu, useErrorNotifications, useFindReplace, useHyperlinkDialog, useInsertImageDialog, useInsertSymbolDialog, useInsertTableDialog, useKeyboardShortcutsDialog, useLoading, useLoadingOperations, usePasteSpecial, useResponsePreview, useResponsiveToolbar, useSelectionHighlight, useTableSelection, useTextContextMenu, useUnsavedChanges, useWheelZoom, writeToClipboard };
|