@productcloudos/editor 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/LICENSE +21 -0
  3. package/README.md +377 -0
  4. package/dist/pc-editor.esm.js +24820 -0
  5. package/dist/pc-editor.esm.js.map +1 -0
  6. package/dist/pc-editor.js +24877 -0
  7. package/dist/pc-editor.js.map +1 -0
  8. package/dist/pc-editor.min.js +2 -0
  9. package/dist/pc-editor.min.js.map +1 -0
  10. package/dist/types/lib/clipboard/ClipboardManager.d.ts +77 -0
  11. package/dist/types/lib/clipboard/ClipboardManager.d.ts.map +1 -0
  12. package/dist/types/lib/clipboard/HtmlConverter.d.ts +43 -0
  13. package/dist/types/lib/clipboard/HtmlConverter.d.ts.map +1 -0
  14. package/dist/types/lib/clipboard/index.d.ts +9 -0
  15. package/dist/types/lib/clipboard/index.d.ts.map +1 -0
  16. package/dist/types/lib/clipboard/types.d.ts +76 -0
  17. package/dist/types/lib/clipboard/types.d.ts.map +1 -0
  18. package/dist/types/lib/controls/BaseControl.d.ts +72 -0
  19. package/dist/types/lib/controls/BaseControl.d.ts.map +1 -0
  20. package/dist/types/lib/controls/index.d.ts +11 -0
  21. package/dist/types/lib/controls/index.d.ts.map +1 -0
  22. package/dist/types/lib/controls/rulers/HorizontalRuler.d.ts +55 -0
  23. package/dist/types/lib/controls/rulers/HorizontalRuler.d.ts.map +1 -0
  24. package/dist/types/lib/controls/rulers/RulerControl.d.ts +98 -0
  25. package/dist/types/lib/controls/rulers/RulerControl.d.ts.map +1 -0
  26. package/dist/types/lib/controls/rulers/VerticalRuler.d.ts +65 -0
  27. package/dist/types/lib/controls/rulers/VerticalRuler.d.ts.map +1 -0
  28. package/dist/types/lib/controls/rulers/index.d.ts +8 -0
  29. package/dist/types/lib/controls/rulers/index.d.ts.map +1 -0
  30. package/dist/types/lib/controls/rulers/types.d.ts +62 -0
  31. package/dist/types/lib/controls/rulers/types.d.ts.map +1 -0
  32. package/dist/types/lib/controls/types.d.ts +51 -0
  33. package/dist/types/lib/controls/types.d.ts.map +1 -0
  34. package/dist/types/lib/core/Document.d.ts +34 -0
  35. package/dist/types/lib/core/Document.d.ts.map +1 -0
  36. package/dist/types/lib/core/PCEditor.d.ts +761 -0
  37. package/dist/types/lib/core/PCEditor.d.ts.map +1 -0
  38. package/dist/types/lib/core/Page.d.ts +40 -0
  39. package/dist/types/lib/core/Page.d.ts.map +1 -0
  40. package/dist/types/lib/data/DataBinder.d.ts +11 -0
  41. package/dist/types/lib/data/DataBinder.d.ts.map +1 -0
  42. package/dist/types/lib/events/EventEmitter.d.ts +11 -0
  43. package/dist/types/lib/events/EventEmitter.d.ts.map +1 -0
  44. package/dist/types/lib/hit-test/HitTestManager.d.ts +81 -0
  45. package/dist/types/lib/hit-test/HitTestManager.d.ts.map +1 -0
  46. package/dist/types/lib/hit-test/index.d.ts +32 -0
  47. package/dist/types/lib/hit-test/index.d.ts.map +1 -0
  48. package/dist/types/lib/hit-test/types.d.ts +113 -0
  49. package/dist/types/lib/hit-test/types.d.ts.map +1 -0
  50. package/dist/types/lib/import/ContentAnalyzer.d.ts +76 -0
  51. package/dist/types/lib/import/ContentAnalyzer.d.ts.map +1 -0
  52. package/dist/types/lib/import/DocumentBuilder.d.ts +44 -0
  53. package/dist/types/lib/import/DocumentBuilder.d.ts.map +1 -0
  54. package/dist/types/lib/import/PDFImporter.d.ts +65 -0
  55. package/dist/types/lib/import/PDFImporter.d.ts.map +1 -0
  56. package/dist/types/lib/import/PDFParser.d.ts +46 -0
  57. package/dist/types/lib/import/PDFParser.d.ts.map +1 -0
  58. package/dist/types/lib/import/index.d.ts +9 -0
  59. package/dist/types/lib/import/index.d.ts.map +1 -0
  60. package/dist/types/lib/import/types.d.ts +182 -0
  61. package/dist/types/lib/import/types.d.ts.map +1 -0
  62. package/dist/types/lib/index.d.ts +16 -0
  63. package/dist/types/lib/index.d.ts.map +1 -0
  64. package/dist/types/lib/layout/FlowManager.d.ts +29 -0
  65. package/dist/types/lib/layout/FlowManager.d.ts.map +1 -0
  66. package/dist/types/lib/layout/LayoutEngine.d.ts +39 -0
  67. package/dist/types/lib/layout/LayoutEngine.d.ts.map +1 -0
  68. package/dist/types/lib/objects/BaseEmbeddedObject.d.ts +133 -0
  69. package/dist/types/lib/objects/BaseEmbeddedObject.d.ts.map +1 -0
  70. package/dist/types/lib/objects/EmbeddedObjectFactory.d.ts +57 -0
  71. package/dist/types/lib/objects/EmbeddedObjectFactory.d.ts.map +1 -0
  72. package/dist/types/lib/objects/ImageObject.d.ts +60 -0
  73. package/dist/types/lib/objects/ImageObject.d.ts.map +1 -0
  74. package/dist/types/lib/objects/TextBoxObject.d.ts +208 -0
  75. package/dist/types/lib/objects/TextBoxObject.d.ts.map +1 -0
  76. package/dist/types/lib/objects/index.d.ts +9 -0
  77. package/dist/types/lib/objects/index.d.ts.map +1 -0
  78. package/dist/types/lib/objects/table/TableCell.d.ts +165 -0
  79. package/dist/types/lib/objects/table/TableCell.d.ts.map +1 -0
  80. package/dist/types/lib/objects/table/TableCellMerger.d.ts +66 -0
  81. package/dist/types/lib/objects/table/TableCellMerger.d.ts.map +1 -0
  82. package/dist/types/lib/objects/table/TableObject.d.ts +434 -0
  83. package/dist/types/lib/objects/table/TableObject.d.ts.map +1 -0
  84. package/dist/types/lib/objects/table/TableResizeHandler.d.ts +80 -0
  85. package/dist/types/lib/objects/table/TableResizeHandler.d.ts.map +1 -0
  86. package/dist/types/lib/objects/table/TableRow.d.ts +65 -0
  87. package/dist/types/lib/objects/table/TableRow.d.ts.map +1 -0
  88. package/dist/types/lib/objects/table/index.d.ts +12 -0
  89. package/dist/types/lib/objects/table/index.d.ts.map +1 -0
  90. package/dist/types/lib/objects/table/types.d.ts +239 -0
  91. package/dist/types/lib/objects/table/types.d.ts.map +1 -0
  92. package/dist/types/lib/objects/types.d.ts +135 -0
  93. package/dist/types/lib/objects/types.d.ts.map +1 -0
  94. package/dist/types/lib/rendering/CanvasManager.d.ts +282 -0
  95. package/dist/types/lib/rendering/CanvasManager.d.ts.map +1 -0
  96. package/dist/types/lib/rendering/FlowingTextRenderer.d.ts +348 -0
  97. package/dist/types/lib/rendering/FlowingTextRenderer.d.ts.map +1 -0
  98. package/dist/types/lib/rendering/PDFGenerator.d.ts +103 -0
  99. package/dist/types/lib/rendering/PDFGenerator.d.ts.map +1 -0
  100. package/dist/types/lib/rendering/pdf-utils.d.ts +54 -0
  101. package/dist/types/lib/rendering/pdf-utils.d.ts.map +1 -0
  102. package/dist/types/lib/text/EditableTextRegion.d.ts +105 -0
  103. package/dist/types/lib/text/EditableTextRegion.d.ts.map +1 -0
  104. package/dist/types/lib/text/EmbeddedObjectManager.d.ts +97 -0
  105. package/dist/types/lib/text/EmbeddedObjectManager.d.ts.map +1 -0
  106. package/dist/types/lib/text/FieldFormatter.d.ts +26 -0
  107. package/dist/types/lib/text/FieldFormatter.d.ts.map +1 -0
  108. package/dist/types/lib/text/FlowingTextContent.d.ts +571 -0
  109. package/dist/types/lib/text/FlowingTextContent.d.ts.map +1 -0
  110. package/dist/types/lib/text/HyperlinkManager.d.ts +110 -0
  111. package/dist/types/lib/text/HyperlinkManager.d.ts.map +1 -0
  112. package/dist/types/lib/text/MarkdownParser.d.ts +55 -0
  113. package/dist/types/lib/text/MarkdownParser.d.ts.map +1 -0
  114. package/dist/types/lib/text/ParagraphFormatting.d.ts +123 -0
  115. package/dist/types/lib/text/ParagraphFormatting.d.ts.map +1 -0
  116. package/dist/types/lib/text/RegionManager.d.ts +75 -0
  117. package/dist/types/lib/text/RegionManager.d.ts.map +1 -0
  118. package/dist/types/lib/text/RepeatingSectionManager.d.ts +99 -0
  119. package/dist/types/lib/text/RepeatingSectionManager.d.ts.map +1 -0
  120. package/dist/types/lib/text/SubstitutionFieldManager.d.ts +153 -0
  121. package/dist/types/lib/text/SubstitutionFieldManager.d.ts.map +1 -0
  122. package/dist/types/lib/text/TextFormatting.d.ts +85 -0
  123. package/dist/types/lib/text/TextFormatting.d.ts.map +1 -0
  124. package/dist/types/lib/text/TextLayout.d.ts +126 -0
  125. package/dist/types/lib/text/TextLayout.d.ts.map +1 -0
  126. package/dist/types/lib/text/TextMeasurer.d.ts +107 -0
  127. package/dist/types/lib/text/TextMeasurer.d.ts.map +1 -0
  128. package/dist/types/lib/text/TextPositionCalculator.d.ts +72 -0
  129. package/dist/types/lib/text/TextPositionCalculator.d.ts.map +1 -0
  130. package/dist/types/lib/text/TextState.d.ts +236 -0
  131. package/dist/types/lib/text/TextState.d.ts.map +1 -0
  132. package/dist/types/lib/text/index.d.ts +27 -0
  133. package/dist/types/lib/text/index.d.ts.map +1 -0
  134. package/dist/types/lib/text/regions/BodyTextRegion.d.ts +68 -0
  135. package/dist/types/lib/text/regions/BodyTextRegion.d.ts.map +1 -0
  136. package/dist/types/lib/text/regions/FooterTextRegion.d.ts +68 -0
  137. package/dist/types/lib/text/regions/FooterTextRegion.d.ts.map +1 -0
  138. package/dist/types/lib/text/regions/HeaderTextRegion.d.ts +68 -0
  139. package/dist/types/lib/text/regions/HeaderTextRegion.d.ts.map +1 -0
  140. package/dist/types/lib/text/regions/index.d.ts +7 -0
  141. package/dist/types/lib/text/regions/index.d.ts.map +1 -0
  142. package/dist/types/lib/text/types.d.ts +268 -0
  143. package/dist/types/lib/text/types.d.ts.map +1 -0
  144. package/dist/types/lib/types/index.d.ts +206 -0
  145. package/dist/types/lib/types/index.d.ts.map +1 -0
  146. package/dist/types/lib/undo/index.d.ts +8 -0
  147. package/dist/types/lib/undo/index.d.ts.map +1 -0
  148. package/dist/types/lib/undo/transaction/ContentDiscovery.d.ts +101 -0
  149. package/dist/types/lib/undo/transaction/ContentDiscovery.d.ts.map +1 -0
  150. package/dist/types/lib/undo/transaction/FocusTracker.d.ts +49 -0
  151. package/dist/types/lib/undo/transaction/FocusTracker.d.ts.map +1 -0
  152. package/dist/types/lib/undo/transaction/MutationUndo.d.ts +57 -0
  153. package/dist/types/lib/undo/transaction/MutationUndo.d.ts.map +1 -0
  154. package/dist/types/lib/undo/transaction/ObjectMutationObserver.d.ts +79 -0
  155. package/dist/types/lib/undo/transaction/ObjectMutationObserver.d.ts.map +1 -0
  156. package/dist/types/lib/undo/transaction/TextMutationObserver.d.ts +60 -0
  157. package/dist/types/lib/undo/transaction/TextMutationObserver.d.ts.map +1 -0
  158. package/dist/types/lib/undo/transaction/TransactionManager.d.ts +148 -0
  159. package/dist/types/lib/undo/transaction/TransactionManager.d.ts.map +1 -0
  160. package/dist/types/lib/undo/transaction/index.d.ts +17 -0
  161. package/dist/types/lib/undo/transaction/index.d.ts.map +1 -0
  162. package/dist/types/lib/undo/transaction/types.d.ts +269 -0
  163. package/dist/types/lib/undo/transaction/types.d.ts.map +1 -0
  164. package/dist/types/lib/utils/blob-utils.d.ts +2 -0
  165. package/dist/types/lib/utils/blob-utils.d.ts.map +1 -0
  166. package/package.json +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowingTextContent.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/FlowingTextContent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * HyperlinkManager - Manages hyperlinks within flowing text content
3
+ */
4
+ import { EventEmitter } from '../events/EventEmitter';
5
+ /**
6
+ * Formatting options for hyperlinks
7
+ */
8
+ export interface HyperlinkFormatting {
9
+ color?: string;
10
+ underline?: boolean;
11
+ }
12
+ /**
13
+ * Options when inserting a hyperlink
14
+ */
15
+ export interface HyperlinkOptions {
16
+ title?: string;
17
+ formatting?: HyperlinkFormatting;
18
+ }
19
+ /**
20
+ * Represents a hyperlink in the text
21
+ */
22
+ export interface Hyperlink {
23
+ id: string;
24
+ url: string;
25
+ startIndex: number;
26
+ endIndex: number;
27
+ title?: string;
28
+ formatting?: HyperlinkFormatting;
29
+ }
30
+ /**
31
+ * Update payload for hyperlinks
32
+ */
33
+ export interface HyperlinkUpdate {
34
+ url?: string;
35
+ title?: string;
36
+ startIndex?: number;
37
+ endIndex?: number;
38
+ formatting?: HyperlinkFormatting;
39
+ }
40
+ /**
41
+ * Serialized hyperlink data
42
+ */
43
+ export interface HyperlinkData {
44
+ id: string;
45
+ url: string;
46
+ startIndex: number;
47
+ endIndex: number;
48
+ title?: string;
49
+ formatting?: HyperlinkFormatting;
50
+ }
51
+ /**
52
+ * Manages hyperlinks within text content
53
+ */
54
+ export declare class HyperlinkManager extends EventEmitter {
55
+ private hyperlinks;
56
+ private nextId;
57
+ /**
58
+ * Insert a new hyperlink
59
+ */
60
+ insert(url: string, startIndex: number, endIndex: number, options?: HyperlinkOptions): Hyperlink;
61
+ /**
62
+ * Remove a hyperlink by id
63
+ */
64
+ remove(id: string): void;
65
+ /**
66
+ * Update a hyperlink's properties
67
+ */
68
+ update(id: string, updates: HyperlinkUpdate): void;
69
+ /**
70
+ * Get a hyperlink by id
71
+ */
72
+ getHyperlinkById(id: string): Hyperlink | undefined;
73
+ /**
74
+ * Get the hyperlink at a specific text index
75
+ */
76
+ getHyperlinkAt(index: number): Hyperlink | undefined;
77
+ /**
78
+ * Get all hyperlinks overlapping a range
79
+ */
80
+ getHyperlinksInRange(startIndex: number, endIndex: number): Hyperlink[];
81
+ /**
82
+ * Get all hyperlinks
83
+ */
84
+ getAll(): Hyperlink[];
85
+ /**
86
+ * Shift hyperlinks after text insertion
87
+ */
88
+ shiftHyperlinks(insertionPoint: number, delta: number): void;
89
+ /**
90
+ * Handle text deletion and adjust hyperlinks accordingly
91
+ */
92
+ handleDeletion(startIndex: number, length: number): void;
93
+ /**
94
+ * Remove all hyperlinks
95
+ */
96
+ clear(): void;
97
+ /**
98
+ * Serialize hyperlinks to JSON
99
+ */
100
+ toJSON(): HyperlinkData[];
101
+ /**
102
+ * Load hyperlinks from JSON
103
+ */
104
+ fromJSON(data: HyperlinkData[]): void;
105
+ /**
106
+ * Generate a unique id
107
+ */
108
+ private generateId;
109
+ }
110
+ //# sourceMappingURL=HyperlinkManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HyperlinkManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/HyperlinkManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,MAAM,CAAa;IAE3B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAiBhG;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOxB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAyBlD;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAInD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IASpD;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAavE;;OAEG;IACH,MAAM,IAAI,SAAS,EAAE;IAIrB;;OAEG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAc5D;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsDxD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,IAAI,aAAa,EAAE;IAWzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI;IAkBrC;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * MarkdownParser - Basic markdown parser for field values.
3
+ *
4
+ * Supports a minimal subset of markdown:
5
+ * - **bold** or __bold__
6
+ * - *italic* or _italic_
7
+ * - [link text](url)
8
+ *
9
+ * Returns parsed segments that can be used to apply formatting
10
+ * during the merge process.
11
+ */
12
+ import type { TextFormattingStyle } from './types';
13
+ /**
14
+ * Type of markdown segment.
15
+ */
16
+ export type MarkdownSegmentType = 'text' | 'bold' | 'italic' | 'bold-italic' | 'link';
17
+ /**
18
+ * A parsed segment of markdown text.
19
+ */
20
+ export interface MarkdownSegment {
21
+ type: MarkdownSegmentType;
22
+ text: string;
23
+ url?: string;
24
+ }
25
+ /**
26
+ * Result of parsing markdown text.
27
+ */
28
+ export interface ParsedMarkdown {
29
+ segments: MarkdownSegment[];
30
+ plainText: string;
31
+ }
32
+ /**
33
+ * Parse markdown text into segments.
34
+ *
35
+ * @param text - The markdown text to parse
36
+ * @returns Parsed markdown with segments and plain text
37
+ */
38
+ export declare function parseMarkdown(text: string): ParsedMarkdown;
39
+ /**
40
+ * Apply markdown formatting to a base text formatting style.
41
+ *
42
+ * @param baseStyle - The base text formatting style
43
+ * @param segment - The markdown segment
44
+ * @returns Modified formatting style
45
+ */
46
+ export declare function applyMarkdownFormatting(baseStyle: TextFormattingStyle, segment: MarkdownSegment): TextFormattingStyle;
47
+ /**
48
+ * Check if text contains markdown syntax.
49
+ */
50
+ export declare function containsMarkdown(text: string): boolean;
51
+ /**
52
+ * Strip markdown syntax from text, returning plain text.
53
+ */
54
+ export declare function stripMarkdown(text: string): string;
55
+ //# sourceMappingURL=MarkdownParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownParser.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/MarkdownParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAqD1D;AAsGD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,eAAe,GACvB,mBAAmB,CAoBrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -0,0 +1,123 @@
1
+ import { EventEmitter } from '../events/EventEmitter';
2
+ import { ParagraphFormatting, TextAlignment, ListFormatting } from './types';
3
+ /**
4
+ * Manages per-paragraph formatting (alignment, etc.).
5
+ *
6
+ * Paragraphs are identified by their start index (0 or position after \n).
7
+ * Each paragraph stores its formatting; unset paragraphs use default.
8
+ */
9
+ export declare class ParagraphFormattingManager extends EventEmitter {
10
+ private formatting;
11
+ private _defaultFormatting;
12
+ constructor(defaultFormatting?: Partial<ParagraphFormatting>);
13
+ /**
14
+ * Get the default formatting applied to unformatted paragraphs.
15
+ */
16
+ get defaultFormatting(): ParagraphFormatting;
17
+ /**
18
+ * Update the default formatting.
19
+ */
20
+ setDefaultFormatting(formatting: Partial<ParagraphFormatting>): void;
21
+ /**
22
+ * Get the paragraph start index for a given text position.
23
+ * Searches backward for the nearest \n or returns 0.
24
+ */
25
+ getParagraphStart(textIndex: number, content: string): number;
26
+ /**
27
+ * Get formatting for a paragraph containing the given text index.
28
+ */
29
+ getFormattingAt(textIndex: number, content: string): ParagraphFormatting;
30
+ /**
31
+ * Get formatting for a paragraph by its start index.
32
+ */
33
+ getFormattingForParagraph(paragraphStartIndex: number): ParagraphFormatting;
34
+ /**
35
+ * Set alignment for a paragraph.
36
+ */
37
+ setAlignment(paragraphStartIndex: number, alignment: TextAlignment): void;
38
+ /**
39
+ * Set list formatting for a paragraph.
40
+ * Pass undefined to remove list formatting.
41
+ */
42
+ setListFormatting(paragraphStartIndex: number, listFormatting: ListFormatting | undefined): void;
43
+ /**
44
+ * Clear list formatting from a paragraph (preserving other formatting).
45
+ */
46
+ clearListFormatting(paragraphStartIndex: number): void;
47
+ /**
48
+ * Toggle list type for a paragraph.
49
+ * If paragraph already has the same list type, remove list formatting.
50
+ * If paragraph has different list type or no list, apply the new type.
51
+ */
52
+ toggleList(paragraphStartIndex: number, listType: 'bullet' | 'number'): void;
53
+ /**
54
+ * Increase the nesting level of a list paragraph.
55
+ * If paragraph is not a list, convert it to a bullet list at level 0.
56
+ */
57
+ indentParagraph(paragraphStartIndex: number): void;
58
+ /**
59
+ * Decrease the nesting level of a list paragraph.
60
+ * If at level 0, remove list formatting entirely.
61
+ */
62
+ outdentParagraph(paragraphStartIndex: number): void;
63
+ /**
64
+ * Get the bullet style for a given nesting level.
65
+ */
66
+ private getBulletStyleForLevel;
67
+ /**
68
+ * Get the number style for a given nesting level.
69
+ */
70
+ private getNumberStyleForLevel;
71
+ /**
72
+ * Get the list number for a numbered paragraph.
73
+ * Returns undefined for bullet lists or non-list paragraphs.
74
+ * Counts consecutive numbered paragraphs at the same nesting level.
75
+ * Nested items (higher nesting level) don't break the sequence.
76
+ */
77
+ getListNumber(paragraphStartIndex: number, content: string): number | undefined;
78
+ /**
79
+ * Apply formatting to a range of paragraphs (by text range).
80
+ * Finds all paragraph starts within the range and applies formatting.
81
+ */
82
+ applyToRange(start: number, end: number, content: string, formatting: Partial<ParagraphFormatting>): void;
83
+ /**
84
+ * Get paragraph boundaries within a text range.
85
+ */
86
+ private getParagraphBoundariesInRange;
87
+ /**
88
+ * Shift paragraph indices when text is inserted.
89
+ * @param fromIndex The position where text was inserted
90
+ * @param delta The number of characters inserted (positive)
91
+ * @param content The content AFTER insertion (used to check for new paragraphs)
92
+ */
93
+ shiftParagraphs(fromIndex: number, delta: number, content: string): void;
94
+ /**
95
+ * Handle text deletion - remove affected paragraphs, shift remaining.
96
+ * @param start Start of deleted range
97
+ * @param length Length of deleted text
98
+ */
99
+ handleDeletion(start: number, length: number): void;
100
+ /**
101
+ * Clear all paragraph formatting.
102
+ */
103
+ clear(): void;
104
+ /**
105
+ * Serialize for storage.
106
+ */
107
+ toJSON(): Array<{
108
+ paragraphStart: number;
109
+ formatting: ParagraphFormatting;
110
+ }>;
111
+ /**
112
+ * Deserialize from storage.
113
+ */
114
+ fromJSON(data: Array<{
115
+ paragraphStart: number;
116
+ formatting: ParagraphFormatting;
117
+ }>): void;
118
+ /**
119
+ * Get all formatting entries (for debugging/inspection).
120
+ */
121
+ getAllFormatting(): Map<number, ParagraphFormatting>;
122
+ }
123
+ //# sourceMappingURL=ParagraphFormatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParagraphFormatting.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/ParagraphFormatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEb,cAAc,EAIf,MAAM,SAAS,CAAC;AASjB;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAE1D,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,kBAAkB,CAAsB;gBAEpC,iBAAiB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAK5D;;OAEG;IACH,IAAI,iBAAiB,IAAI,mBAAmB,CAE3C;IAED;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKpE;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAY7D;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAKxE;;OAEG;IACH,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG,mBAAmB;IAK3E;;OAEG;IACH,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAMzE;;;OAGG;IACH,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAYhG;;OAEG;IACH,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI;IAItD;;;;OAIG;IACH,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAyB5E;;;OAGG;IACH,eAAe,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI;IA8BlD;;;OAGG;IACH,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI;IA8BnD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;;;;OAKG;IACH,aAAa,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoD/E;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAUzG;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiBrC;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA2CxE;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA2BnD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,IAAI,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAO5E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAA;KAAE,CAAC,GAAG,IAAI;IAQxF;;OAEG;IACH,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;CAGrD"}
@@ -0,0 +1,75 @@
1
+ import { Point } from '../types';
2
+ import { EditableTextRegion } from './EditableTextRegion';
3
+ /**
4
+ * Manages all editable text regions in the document.
5
+ * Provides unified access to body, header, footer, and text box regions.
6
+ */
7
+ export declare class RegionManager {
8
+ private _bodyRegion;
9
+ private _headerRegion;
10
+ private _footerRegion;
11
+ private _textBoxRegions;
12
+ /**
13
+ * Set the body text region.
14
+ */
15
+ setBodyRegion(region: EditableTextRegion): void;
16
+ /**
17
+ * Get the body text region.
18
+ */
19
+ getBodyRegion(): EditableTextRegion | null;
20
+ /**
21
+ * Set the header text region.
22
+ */
23
+ setHeaderRegion(region: EditableTextRegion): void;
24
+ /**
25
+ * Get the header text region.
26
+ */
27
+ getHeaderRegion(): EditableTextRegion | null;
28
+ /**
29
+ * Set the footer text region.
30
+ */
31
+ setFooterRegion(region: EditableTextRegion): void;
32
+ /**
33
+ * Get the footer text region.
34
+ */
35
+ getFooterRegion(): EditableTextRegion | null;
36
+ /**
37
+ * Register a text box region.
38
+ */
39
+ registerTextBox(region: EditableTextRegion): void;
40
+ /**
41
+ * Unregister a text box region.
42
+ */
43
+ unregisterTextBox(id: string): void;
44
+ /**
45
+ * Get a text box region by ID.
46
+ */
47
+ getTextBoxRegion(id: string): EditableTextRegion | null;
48
+ /**
49
+ * Get all text box regions.
50
+ */
51
+ getAllTextBoxRegions(): EditableTextRegion[];
52
+ /**
53
+ * Get all regions (body, header, footer, and all text boxes).
54
+ */
55
+ getAllRegions(): EditableTextRegion[];
56
+ /**
57
+ * Find the region at a given point.
58
+ * Text boxes are checked first (they're on top), then header/footer, then body.
59
+ *
60
+ * @param point Point in canvas coordinates
61
+ * @param pageIndex The page index
62
+ * @returns The region containing the point, or null if none
63
+ */
64
+ getRegionAtPoint(point: Point, pageIndex: number): EditableTextRegion | null;
65
+ /**
66
+ * Find the region that contains a specific FlowingTextContent.
67
+ * Useful for routing keyboard events.
68
+ */
69
+ findRegionByFlowingContent(flowingContent: any): EditableTextRegion | null;
70
+ /**
71
+ * Clear all regions.
72
+ */
73
+ clear(): void;
74
+ }
75
+ //# sourceMappingURL=RegionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/RegionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,eAAe,CAA8C;IAErE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAI/C;;OAEG;IACH,aAAa,IAAI,kBAAkB,GAAG,IAAI;IAI1C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;OAEG;IACH,eAAe,IAAI,kBAAkB,GAAG,IAAI;IAI5C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;OAEG;IACH,eAAe,IAAI,kBAAkB,GAAG,IAAI;IAI5C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;OAEG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,kBAAkB,EAAE;IAI5C;;OAEG;IACH,aAAa,IAAI,kBAAkB,EAAE;IAcrC;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IA0B5E;;;OAGG;IACH,0BAA0B,CAAC,cAAc,EAAE,GAAG,GAAG,kBAAkB,GAAG,IAAI;IAoB1E;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
@@ -0,0 +1,99 @@
1
+ import { EventEmitter } from '../events/EventEmitter';
2
+ import { RepeatingSection } from './types';
3
+ /**
4
+ * Manages repeating sections within text content.
5
+ * Repeating sections define ranges of content that loop over array data during merge.
6
+ * They start and end at paragraph boundaries.
7
+ */
8
+ export declare class RepeatingSectionManager extends EventEmitter {
9
+ private sections;
10
+ private nextId;
11
+ constructor();
12
+ /**
13
+ * Create a new repeating section.
14
+ * @param startIndex Text index at paragraph start (must be 0 or immediately after a newline)
15
+ * @param endIndex Text index at closing paragraph start (must be immediately after a newline)
16
+ * @param fieldPath The field path to the array to loop over (e.g., "items")
17
+ */
18
+ create(startIndex: number, endIndex: number, fieldPath: string): RepeatingSection;
19
+ /**
20
+ * Remove a repeating section by ID.
21
+ */
22
+ remove(id: string): RepeatingSection | undefined;
23
+ /**
24
+ * Get a repeating section by ID.
25
+ */
26
+ getSection(id: string): RepeatingSection | undefined;
27
+ /**
28
+ * Get all repeating sections.
29
+ */
30
+ getSections(): RepeatingSection[];
31
+ /**
32
+ * Get all repeating sections sorted by startIndex.
33
+ */
34
+ getSectionsSorted(): RepeatingSection[];
35
+ /**
36
+ * Get all repeating sections sorted by startIndex in descending order.
37
+ * Useful for processing sections end-to-start during merge.
38
+ */
39
+ getSectionsDescending(): RepeatingSection[];
40
+ /**
41
+ * Find a repeating section that contains the given text index.
42
+ */
43
+ getSectionContaining(textIndex: number): RepeatingSection | undefined;
44
+ /**
45
+ * Find a repeating section that has a boundary at the given text index.
46
+ * Returns the section if textIndex matches startIndex or endIndex.
47
+ */
48
+ getSectionAtBoundary(textIndex: number): RepeatingSection | undefined;
49
+ /**
50
+ * Update a section's field path.
51
+ */
52
+ updateFieldPath(id: string, fieldPath: string): boolean;
53
+ /**
54
+ * Update a section's visual state (called during rendering).
55
+ */
56
+ updateVisualState(id: string, visualState: RepeatingSection['visualState']): boolean;
57
+ /**
58
+ * Shift section positions when text is inserted.
59
+ * @param fromIndex The position where text was inserted
60
+ * @param delta The number of characters inserted (positive)
61
+ */
62
+ shiftSections(fromIndex: number, delta: number): void;
63
+ /**
64
+ * Handle deletion of text range.
65
+ * Sections entirely within the deleted range are removed.
66
+ * Sections partially overlapping are adjusted or removed.
67
+ * @returns Array of removed sections
68
+ */
69
+ handleDeletion(start: number, length: number): RepeatingSection[];
70
+ /**
71
+ * Validate that the given boundaries are at paragraph boundaries.
72
+ * @param start The proposed start index
73
+ * @param end The proposed end index
74
+ * @param content The text content to validate against
75
+ * @returns true if valid, false otherwise
76
+ */
77
+ validateBoundaries(start: number, end: number, content: string): boolean;
78
+ /**
79
+ * Get the number of repeating sections.
80
+ */
81
+ get count(): number;
82
+ /**
83
+ * Check if there are any repeating sections.
84
+ */
85
+ get isEmpty(): boolean;
86
+ /**
87
+ * Clear all repeating sections.
88
+ */
89
+ clear(): void;
90
+ /**
91
+ * Serialize all sections to JSON.
92
+ */
93
+ toJSON(): RepeatingSection[];
94
+ /**
95
+ * Load sections from serialized data.
96
+ */
97
+ fromJSON(data: RepeatingSection[]): void;
98
+ }
99
+ //# sourceMappingURL=RepeatingSectionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepeatingSectionManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/RepeatingSectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,MAAM,CAAa;;IAM3B;;;;;OAKG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,gBAAgB;IAgBnB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAShD;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIpD;;OAEG;IACH,WAAW,IAAI,gBAAgB,EAAE;IAIjC;;OAEG;IACH,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC;;;OAGG;IACH,qBAAqB,IAAI,gBAAgB,EAAE;IAI3C;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IASrE;;;OAGG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IASrE;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAWvD;;OAEG;IACH,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAC3C,OAAO;IAUV;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAuBrD;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAiFjE;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IA+BxE;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAU5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI;CAsBzC"}
@@ -0,0 +1,153 @@
1
+ import { EventEmitter } from '../events/EventEmitter';
2
+ import { SubstitutionField, SubstitutionFieldConfig, TextFormattingStyle } from './types';
3
+ /**
4
+ * Manages substitution fields within text content.
5
+ * Substitution fields are atomic placeholders for data merge,
6
+ * rendered as {{field: name}}.
7
+ */
8
+ export declare class SubstitutionFieldManager extends EventEmitter {
9
+ private fields;
10
+ private nextId;
11
+ constructor();
12
+ /**
13
+ * Insert a new substitution field at a text index.
14
+ * @param fieldName The name of the data field to substitute
15
+ * @param textIndex The position in text where the \uFFFC placeholder is
16
+ * @param config Optional configuration for the field
17
+ */
18
+ insert(fieldName: string, textIndex: number, config?: SubstitutionFieldConfig): SubstitutionField;
19
+ /**
20
+ * Remove a substitution field at a specific text index.
21
+ */
22
+ remove(textIndex: number): SubstitutionField | undefined;
23
+ /**
24
+ * Get a substitution field at a specific text index.
25
+ */
26
+ getFieldAt(textIndex: number): SubstitutionField | undefined;
27
+ /**
28
+ * Check if there is a substitution field at a specific text index.
29
+ */
30
+ hasFieldAt(textIndex: number): boolean;
31
+ /**
32
+ * Get all substitution fields in a range.
33
+ * @param start Start of range (inclusive)
34
+ * @param end End of range (exclusive)
35
+ */
36
+ getFieldsInRange(start: number, end: number): Array<{
37
+ textIndex: number;
38
+ field: SubstitutionField;
39
+ }>;
40
+ /**
41
+ * Insert a field at a specific position (for undo restoration).
42
+ * Unlike insert(), this preserves the field's existing ID.
43
+ */
44
+ insertAt(textIndex: number, field: SubstitutionField): void;
45
+ /**
46
+ * Get all substitution fields.
47
+ */
48
+ getFields(): Map<number, SubstitutionField>;
49
+ /**
50
+ * Get all substitution fields as an array, sorted by text index.
51
+ */
52
+ getFieldsArray(): SubstitutionField[];
53
+ /**
54
+ * Find a substitution field by its ID.
55
+ */
56
+ findById(id: string): SubstitutionField | undefined;
57
+ /**
58
+ * Find a substitution field by field name.
59
+ * Returns the first match if there are multiple fields with the same name.
60
+ */
61
+ findByFieldName(fieldName: string): SubstitutionField | undefined;
62
+ /**
63
+ * Get all substitution fields with a specific field name.
64
+ */
65
+ findAllByFieldName(fieldName: string): SubstitutionField[];
66
+ /**
67
+ * Check if a field is a page number field.
68
+ */
69
+ isPageNumberField(field: SubstitutionField): boolean;
70
+ /**
71
+ * Check if a field is a page count field.
72
+ */
73
+ isPageCountField(field: SubstitutionField): boolean;
74
+ /**
75
+ * Check if a field is a special field (page number or page count).
76
+ */
77
+ isSpecialField(field: SubstitutionField): boolean;
78
+ /**
79
+ * Get all page number fields.
80
+ */
81
+ getPageNumberFields(): SubstitutionField[];
82
+ /**
83
+ * Get all page count fields.
84
+ */
85
+ getPageCountFields(): SubstitutionField[];
86
+ /**
87
+ * Get all data fields (regular substitution fields, not page number/count).
88
+ */
89
+ getDataFields(): SubstitutionField[];
90
+ /**
91
+ * Shift field positions when text is inserted.
92
+ * @param fromIndex The position where text was inserted
93
+ * @param delta The number of characters inserted (positive)
94
+ */
95
+ shiftFields(fromIndex: number, delta: number): void;
96
+ /**
97
+ * Handle deletion of text range.
98
+ * Fields within the deleted range are removed.
99
+ * Fields after the range are shifted.
100
+ * @returns Array of removed fields
101
+ */
102
+ handleDeletion(start: number, length: number): SubstitutionField[];
103
+ /**
104
+ * Update a field's configuration.
105
+ */
106
+ updateFieldConfig(textIndex: number, config: Partial<SubstitutionFieldConfig & {
107
+ fieldName?: string;
108
+ }>): boolean;
109
+ /**
110
+ * Set formatting for a specific field.
111
+ */
112
+ setFieldFormatting(textIndex: number, formatting: TextFormattingStyle): boolean;
113
+ /**
114
+ * Get formatting for a specific field.
115
+ * Returns the field's custom formatting or default formatting.
116
+ */
117
+ getFieldFormatting(textIndex: number): TextFormattingStyle;
118
+ /**
119
+ * Get the display text for a substitution field.
120
+ * For data fields: {{fieldName}}
121
+ * For page number fields: shows page number or {{page}}
122
+ * For page count fields: shows page count or {{pages}}
123
+ * @param field The substitution field
124
+ * @param pageNumber Optional current page number (1-based) for page number fields
125
+ * @param pageCount Optional total page count for page count fields
126
+ */
127
+ getDisplayText(field: SubstitutionField, pageNumber?: number, pageCount?: number): string;
128
+ /**
129
+ * Get the display text for a field at a specific index.
130
+ */
131
+ getDisplayTextAt(textIndex: number): string | undefined;
132
+ /**
133
+ * Get the number of substitution fields.
134
+ */
135
+ get count(): number;
136
+ /**
137
+ * Check if there are any substitution fields.
138
+ */
139
+ get isEmpty(): boolean;
140
+ /**
141
+ * Clear all substitution fields.
142
+ */
143
+ clear(): void;
144
+ /**
145
+ * Serialize all fields to JSON.
146
+ */
147
+ toJSON(): SubstitutionField[];
148
+ /**
149
+ * Load fields from serialized data.
150
+ */
151
+ fromJSON(data: SubstitutionField[]): void;
152
+ }
153
+ //# sourceMappingURL=SubstitutionFieldManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubstitutionFieldManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/text/SubstitutionFieldManager.ts"],"names":[],"mappings":"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"}