aurochs 0.8.1 → 0.10.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 (233) hide show
  1. package/dist/@aurochs/pdf/src/domain/document/document-mutation.d.ts +66 -0
  2. package/dist/@aurochs/pdf/src/domain/document/element-id.d.ts +21 -0
  3. package/dist/@aurochs/pdf/src/domain/document/element-transform.d.ts +19 -0
  4. package/dist/@aurochs/pdf/src/domain/document/index.d.ts +6 -1
  5. package/dist/@aurochs/pdf/src/domain/document/table-mutation.d.ts +32 -0
  6. package/dist/@aurochs/pdf/src/domain/index.d.ts +6 -0
  7. package/dist/@aurochs/pdf/src/domain/path/bounds.d.ts +15 -0
  8. package/dist/@aurochs/pdf/src/domain/path/index.d.ts +7 -0
  9. package/dist/@aurochs/pdf/src/index.d.ts +6 -0
  10. package/dist/@aurochs-builder/docx/src/builder.d.ts +12 -0
  11. package/dist/@aurochs-builder/docx/src/document.d.ts +18 -0
  12. package/dist/@aurochs-builder/docx/src/drawing.d.ts +6 -0
  13. package/dist/@aurochs-builder/docx/src/index.d.ts +19 -0
  14. package/dist/@aurochs-builder/docx/src/numbering.d.ts +32 -0
  15. package/dist/@aurochs-builder/docx/src/paragraph.d.ts +72 -0
  16. package/dist/@aurochs-builder/docx/src/patcher.d.ts +13 -0
  17. package/dist/@aurochs-builder/docx/src/run.d.ts +48 -0
  18. package/dist/@aurochs-builder/docx/src/section.d.ts +69 -0
  19. package/dist/@aurochs-builder/docx/src/spec-converter.d.ts +74 -0
  20. package/dist/@aurochs-builder/docx/src/styles.d.ts +38 -0
  21. package/dist/@aurochs-builder/docx/src/table.d.ts +75 -0
  22. package/dist/@aurochs-builder/xlsx/src/exporter.d.ts +5 -5
  23. package/dist/@aurochs-builder/xlsx/src/index.d.ts +3 -2
  24. package/dist/@aurochs-builder/xlsx/src/patcher.d.ts +54 -18
  25. package/dist/@aurochs-builder/xlsx/src/workbook.d.ts +4 -3
  26. package/dist/@aurochs-builder/xlsx/src/worksheet.d.ts +31 -16
  27. package/dist/@aurochs-office/ooxml/src/domain/border.d.ts +66 -0
  28. package/dist/@aurochs-office/ooxml/src/domain/numbering.d.ts +74 -0
  29. package/dist/@aurochs-office/{pptx → ooxml}/src/domain/resource-store.d.ts +22 -17
  30. package/dist/@aurochs-office/ooxml/src/domain/table.d.ts +105 -0
  31. package/dist/@aurochs-office/ooxml/src/domain/warnings.d.ts +28 -0
  32. package/dist/@aurochs-office/ooxml/src/index.d.ts +21 -0
  33. package/dist/@aurochs-office/pptx/src/adapters/diagram-to-shape.d.ts +4 -0
  34. package/dist/@aurochs-office/pptx/src/app/index.d.ts +1 -1
  35. package/dist/@aurochs-office/pptx/src/app/presentation-converter.d.ts +0 -12
  36. package/dist/@aurochs-office/pptx/src/domain/diagram/format-guards.d.ts +6 -0
  37. package/dist/@aurochs-office/pptx/src/domain/diagram/layout-engine/index.d.ts +8 -0
  38. package/dist/@aurochs-office/pptx/src/domain/diagram/layout-engine/shape-generator.d.ts +17 -0
  39. package/dist/@aurochs-office/pptx/src/domain/index.d.ts +4 -3
  40. package/dist/@aurochs-office/pptx/src/domain/resource-resolver.d.ts +3 -38
  41. package/dist/@aurochs-office/pptx/src/parser/external/emf-parser.d.ts +12 -0
  42. package/dist/@aurochs-office/pptx/src/parser/external/vml-parser.d.ts +37 -0
  43. package/dist/@aurochs-office/pptx/src/parser/graphics/color-resolver.d.ts +44 -0
  44. package/dist/@aurochs-office/pptx/src/parser/graphics/fill-resolver.d.ts +120 -0
  45. package/dist/@aurochs-office/pptx/src/parser/shape-parser/parse-element.d.ts +4 -6
  46. package/dist/@aurochs-office/pptx/src/parser/shape-parser/pic.d.ts +5 -5
  47. package/dist/@aurochs-office/pptx/src/parser/slide/background-parser.d.ts +96 -0
  48. package/dist/@aurochs-office/pptx/src/parser/slide/context.d.ts +46 -15
  49. package/dist/@aurochs-office/pptx/src/parser/slide/diagram-drawing-parser.d.ts +32 -0
  50. package/dist/@aurochs-office/pptx/src/parser/slide/external-content-loader.d.ts +45 -0
  51. package/dist/@aurochs-office/pptx/src/parser/slide/layout-parser.d.ts +29 -0
  52. package/dist/@aurochs-office/pptx/src/parser/slide/resource-adapters.d.ts +16 -0
  53. package/dist/@aurochs-office/pptx/src/parser/theme/theme-parser.d.ts +2 -0
  54. package/dist/@aurochs-office/xlsx/src/domain/index.d.ts +2 -2
  55. package/dist/@aurochs-office/xlsx/src/domain/types.d.ts +12 -0
  56. package/dist/@aurochs-office/xlsx/src/parser/context.d.ts +5 -2
  57. package/dist/@aurochs-office/xlsx/src/parser/worksheet.d.ts +14 -1
  58. package/dist/@aurochs-renderer/docx/src/react/context/docx-drawing-ml-adapter.d.ts +1 -17
  59. package/dist/@aurochs-renderer/docx/src/react/context/index.d.ts +2 -2
  60. package/dist/@aurochs-renderer/docx/src/react/drawing/AnchorDrawing.d.ts +4 -4
  61. package/dist/@aurochs-renderer/docx/src/react/drawing/InlineDrawing.d.ts +4 -4
  62. package/dist/@aurochs-renderer/docx/src/react/index.d.ts +1 -1
  63. package/dist/@aurochs-renderer/pdf/src/svg/document-query.d.ts +42 -0
  64. package/dist/@aurochs-renderer/pdf/src/svg/element-bounds.d.ts +24 -0
  65. package/dist/@aurochs-renderer/pdf/src/svg/index.d.ts +3 -0
  66. package/dist/@aurochs-renderer/pptx/src/react/SlideRenderer.d.ts +4 -7
  67. package/dist/@aurochs-renderer/pptx/src/react/context.d.ts +3 -10
  68. package/dist/@aurochs-renderer/pptx/src/svg/slide-render.d.ts +1 -10
  69. package/dist/@aurochs-renderer/xlsx/src/svg/color-resolver.d.ts +8 -16
  70. package/dist/@aurochs-renderer/xlsx/src/svg/drawing/chart-renderer.d.ts +3 -0
  71. package/dist/@aurochs-renderer/xlsx/src/svg/drawing/shape-renderer.d.ts +3 -9
  72. package/dist/@aurochs-renderer/xlsx/src/svg/style-resolver.d.ts +3 -1
  73. package/dist/@aurochs-renderer/xlsx/src/svg/types.d.ts +10 -1
  74. package/dist/@aurochs-ui/ooxml-components/src/drawing-ml/EditorResourceContext.d.ts +3 -2
  75. package/dist/@aurochs-ui/pptx-slide-canvas/src/slide/SlideCanvas.d.ts +4 -4
  76. package/dist/_shared/{FieldRow-Cvl4qAsN.js → FieldRow-tn4u5tyR.js} +9 -4
  77. package/dist/_shared/FieldRow-tn4u5tyR.js.map +1 -0
  78. package/dist/_shared/FillEditor-DYGWS75m.js +4970 -0
  79. package/dist/_shared/FillEditor-DYGWS75m.js.map +1 -0
  80. package/dist/_shared/{SlideList-BmrLLrWq.js → SlideList-BuJGfcEe.js} +2 -2
  81. package/dist/_shared/{SlideList-BmrLLrWq.js.map → SlideList-BuJGfcEe.js.map} +1 -1
  82. package/dist/_shared/{SlideRenderer-RRrjnb92.js → SlideRenderer-B1hXsmza.js} +67 -124
  83. package/dist/_shared/SlideRenderer-B1hXsmza.js.map +1 -0
  84. package/dist/_shared/{ast-Azgu6tej.js → ast-DZHUWiB8.js} +5 -5
  85. package/dist/_shared/{ast-Azgu6tej.js.map → ast-DZHUWiB8.js.map} +1 -1
  86. package/dist/_shared/content-types-DYuzqVbu.js +52 -0
  87. package/dist/_shared/content-types-DYuzqVbu.js.map +1 -0
  88. package/dist/_shared/content-types-wFLLfEUS.js +47 -0
  89. package/dist/_shared/content-types-wFLLfEUS.js.map +1 -0
  90. package/dist/_shared/defaults-B0FlaLrT.js +86 -0
  91. package/dist/_shared/{defaults-DruyH_pt.js.map → defaults-B0FlaLrT.js.map} +1 -1
  92. package/dist/_shared/document-D8AbKS4A.js +3475 -0
  93. package/dist/_shared/document-D8AbKS4A.js.map +1 -0
  94. package/dist/_shared/{docx-section-adapter-DjKL5vZe.js → docx-section-adapter-BQdd6pOH.js} +2 -2
  95. package/dist/_shared/{docx-section-adapter-DjKL5vZe.js.map → docx-section-adapter-BQdd6pOH.js.map} +1 -1
  96. package/dist/_shared/{ecma376-defaults-ehWlk7Cy.js → ecma376-defaults-CrhRof9i.js} +20 -20
  97. package/dist/_shared/{ecma376-defaults-ehWlk7Cy.js.map → ecma376-defaults-CrhRof9i.js.map} +1 -1
  98. package/dist/_shared/element-transform-DPFdOOrT.js +109 -0
  99. package/dist/_shared/element-transform-DPFdOOrT.js.map +1 -0
  100. package/dist/_shared/export-27VzpZvQ.js +156 -0
  101. package/dist/_shared/export-27VzpZvQ.js.map +1 -0
  102. package/dist/_shared/{exporter-BGLQbbgE.js → exporter-CQWUIOTW.js} +102 -360
  103. package/dist/_shared/exporter-CQWUIOTW.js.map +1 -0
  104. package/dist/_shared/external-content-loader-Cco5j8Vl.js +6586 -0
  105. package/dist/_shared/external-content-loader-Cco5j8Vl.js.map +1 -0
  106. package/dist/_shared/{font-scheme-DXmU0w3g.js → font-scheme-DGm0SXNZ.js} +16 -11
  107. package/dist/_shared/font-scheme-DGm0SXNZ.js.map +1 -0
  108. package/dist/_shared/{format-value-BJYKOAD1.js → format-value-CH_aCd2i.js} +181 -4
  109. package/dist/_shared/format-value-CH_aCd2i.js.map +1 -0
  110. package/dist/_shared/{line-Cm5SDYFo.js → line-DYJU94VD.js} +3 -3
  111. package/dist/_shared/line-DYJU94VD.js.map +1 -0
  112. package/dist/_shared/matrix-Ca4HvRxo.js +118 -0
  113. package/dist/_shared/matrix-Ca4HvRxo.js.map +1 -0
  114. package/dist/_shared/{ooxml-namespaces-zo3J_h09.js → ooxml-content-types-Dc8d1YEr.js} +9 -45
  115. package/dist/_shared/{ooxml-namespaces-zo3J_h09.js.map → ooxml-content-types-Dc8d1YEr.js.map} +1 -1
  116. package/dist/_shared/ooxml-namespaces-o0hSZzll.js +45 -0
  117. package/dist/_shared/ooxml-namespaces-o0hSZzll.js.map +1 -0
  118. package/dist/_shared/{parse-chart-C7TNyDGY.js → parse-chart-Cysii5e9.js} +43 -5
  119. package/dist/_shared/parse-chart-Cysii5e9.js.map +1 -0
  120. package/dist/_shared/{parser-BLYtHOmR.js → parser-DOerpXZ9.js} +89 -6
  121. package/dist/_shared/parser-DOerpXZ9.js.map +1 -0
  122. package/dist/_shared/path-D69nMoL8.js +101 -0
  123. package/dist/_shared/path-D69nMoL8.js.map +1 -0
  124. package/dist/_shared/{pdf-parser-3OBsu0Lk.js → pdf-parser-CPLetldo.js} +11 -125
  125. package/dist/_shared/pdf-parser-CPLetldo.js.map +1 -0
  126. package/dist/_shared/{pixel-converter-BIXUHYse.js → pixel-converter-DzprJXkB.js} +4 -4
  127. package/dist/_shared/{pixel-converter-BIXUHYse.js.map → pixel-converter-DzprJXkB.js.map} +1 -1
  128. package/dist/_shared/{pptx-loader-cA3pqZ49.js → pptx-loader-BTTgDzhm.js} +11 -49
  129. package/dist/_shared/pptx-loader-BTTgDzhm.js.map +1 -0
  130. package/dist/_shared/{primitive-BbxAGDS3.js → primitive-BgiqQ7kU.js} +4 -4
  131. package/dist/_shared/{primitive-BbxAGDS3.js.map → primitive-BgiqQ7kU.js.map} +1 -1
  132. package/dist/_shared/{relationships-Chr3sncL.js → relationships-D4WRryJj.js} +2 -2
  133. package/dist/_shared/{relationships-Chr3sncL.js.map → relationships-D4WRryJj.js.map} +1 -1
  134. package/dist/_shared/relationships-FMVMa5qS.js +84 -0
  135. package/dist/_shared/relationships-FMVMa5qS.js.map +1 -0
  136. package/dist/_shared/render-page-svg-Cefra4Y2.js +3335 -0
  137. package/dist/_shared/render-page-svg-Cefra4Y2.js.map +1 -0
  138. package/dist/_shared/resource-store-DRjoysq4.js +43 -0
  139. package/dist/_shared/resource-store-DRjoysq4.js.map +1 -0
  140. package/dist/_shared/shape-utils-CBbkAN1n.js +31 -0
  141. package/dist/_shared/shape-utils-CBbkAN1n.js.map +1 -0
  142. package/dist/_shared/{slide-parser-DWJWF6w2.js → slide-parser-CpvtNpBQ.js} +219 -238
  143. package/dist/_shared/slide-parser-CpvtNpBQ.js.map +1 -0
  144. package/dist/_shared/{table-CDYsNVMF.js → table-CCstmUe6.js} +25 -76
  145. package/dist/_shared/table-CCstmUe6.js.map +1 -0
  146. package/dist/_shared/table-Dnyy3aVr.js +9 -0
  147. package/dist/_shared/table-Dnyy3aVr.js.map +1 -0
  148. package/dist/_shared/text-style-BzTSDZjt.js +20 -0
  149. package/dist/_shared/text-style-BzTSDZjt.js.map +1 -0
  150. package/dist/_shared/{text-utils-BI7wkMv4.js → text-utils-D0bPdEIZ.js} +5 -5
  151. package/dist/_shared/{text-utils-BI7wkMv4.js.map → text-utils-D0bPdEIZ.js.map} +1 -1
  152. package/dist/_shared/{theme-parser-DppUOLqc.js → theme-parser-C1CdMvY2.js} +23 -108
  153. package/dist/_shared/theme-parser-C1CdMvY2.js.map +1 -0
  154. package/dist/_shared/tokens-8pNwp6o5.js.map +1 -1
  155. package/dist/_shared/types-MMsvqwHv.js +41 -0
  156. package/dist/_shared/types-MMsvqwHv.js.map +1 -0
  157. package/dist/_shared/{unit-conversion-C5w5LjKH.js → unit-conversion-DBAg4Cqb.js} +9 -3
  158. package/dist/_shared/{unit-conversion-C5w5LjKH.js.map → unit-conversion-DBAg4Cqb.js.map} +1 -1
  159. package/dist/_shared/warnings-Du2XV720.js +12 -0
  160. package/dist/_shared/warnings-Du2XV720.js.map +1 -0
  161. package/dist/_shared/worksheet-DrVL6723.js +1420 -0
  162. package/dist/_shared/worksheet-DrVL6723.js.map +1 -0
  163. package/dist/_shared/zip-adapter-BaUV2FHK.js +47 -0
  164. package/dist/_shared/zip-adapter-BaUV2FHK.js.map +1 -0
  165. package/dist/cli.js +45989 -43293
  166. package/dist/docx/builder/index.js +4294 -0
  167. package/dist/docx/builder/index.js.map +1 -0
  168. package/dist/docx/domain/index.js +41 -0
  169. package/dist/docx/domain/index.js.map +1 -0
  170. package/dist/docx/parser/index.js +108 -3528
  171. package/dist/docx/parser/index.js.map +1 -1
  172. package/dist/docx/renderer/react/index.js +11 -55
  173. package/dist/docx/renderer/react/index.js.map +1 -1
  174. package/dist/docx/renderer/svg/index.js +2 -2
  175. package/dist/drawing-ml/editors/index.js +613 -1571
  176. package/dist/drawing-ml/editors/index.js.map +1 -1
  177. package/dist/ooxml/domain/index.js +19 -0
  178. package/dist/ooxml/domain/index.js.map +1 -0
  179. package/dist/pdf/builder/index.js +3 -2
  180. package/dist/pdf/builder/index.js.map +1 -1
  181. package/dist/pdf/parser/index.js +248 -18
  182. package/dist/pdf/parser/index.js.map +1 -1
  183. package/dist/pdf/renderer/react/index.js +1 -1
  184. package/dist/pdf/renderer/svg/index.js +97 -703
  185. package/dist/pdf/renderer/svg/index.js.map +1 -1
  186. package/dist/pptx/builder/index.js +106 -23
  187. package/dist/pptx/builder/index.js.map +1 -1
  188. package/dist/pptx/domain/index.js +462 -0
  189. package/dist/pptx/domain/index.js.map +1 -0
  190. package/dist/pptx/extract/index.js +2 -2
  191. package/dist/pptx/parser/index.js +23 -175
  192. package/dist/pptx/parser/index.js.map +1 -1
  193. package/dist/pptx/renderer/react/index.js +34 -46
  194. package/dist/pptx/renderer/react/index.js.map +1 -1
  195. package/dist/pptx/renderer/svg/index.js +51 -5384
  196. package/dist/pptx/renderer/svg/index.js.map +1 -1
  197. package/dist/pptx/slide-canvas/index.js +9 -7
  198. package/dist/pptx/slide-canvas/index.js.map +1 -1
  199. package/dist/pptx/slide-editors/index.js +2 -2
  200. package/dist/pptx/viewer/index.js +1 -1
  201. package/dist/pptx/viewer/slide-list/index.js +1 -1
  202. package/dist/xlsx/builder/index.js +654 -309
  203. package/dist/xlsx/builder/index.js.map +1 -1
  204. package/dist/xlsx/domain/index.js +9 -0
  205. package/dist/xlsx/domain/index.js.map +1 -1
  206. package/dist/xlsx/parser/full/index.js +42 -1438
  207. package/dist/xlsx/parser/full/index.js.map +1 -1
  208. package/dist/xlsx/parser/index.js +3 -3
  209. package/dist/xlsx/renderer/svg/index.js +231 -237
  210. package/dist/xlsx/renderer/svg/index.js.map +1 -1
  211. package/dist/xlsx/viewer/index.js +18 -294
  212. package/dist/xlsx/viewer/index.js.map +1 -1
  213. package/package.json +18 -1
  214. package/dist/_shared/FieldRow-Cvl4qAsN.js.map +0 -1
  215. package/dist/_shared/FillEditor-DnnMZwXH.js +0 -2003
  216. package/dist/_shared/FillEditor-DnnMZwXH.js.map +0 -1
  217. package/dist/_shared/SlideRenderer-RRrjnb92.js.map +0 -1
  218. package/dist/_shared/address-re1atoGs.js +0 -75
  219. package/dist/_shared/address-re1atoGs.js.map +0 -1
  220. package/dist/_shared/defaults-DruyH_pt.js +0 -37
  221. package/dist/_shared/exporter-BGLQbbgE.js.map +0 -1
  222. package/dist/_shared/font-scheme-DXmU0w3g.js.map +0 -1
  223. package/dist/_shared/format-value-BJYKOAD1.js.map +0 -1
  224. package/dist/_shared/line-Cm5SDYFo.js.map +0 -1
  225. package/dist/_shared/parse-chart-C7TNyDGY.js.map +0 -1
  226. package/dist/_shared/parser-BLYtHOmR.js.map +0 -1
  227. package/dist/_shared/pdf-parser-3OBsu0Lk.js.map +0 -1
  228. package/dist/_shared/pptx-loader-cA3pqZ49.js.map +0 -1
  229. package/dist/_shared/resource-adapters-uoyhN8PB.js +0 -1190
  230. package/dist/_shared/resource-adapters-uoyhN8PB.js.map +0 -1
  231. package/dist/_shared/slide-parser-DWJWF6w2.js.map +0 -1
  232. package/dist/_shared/table-CDYsNVMF.js.map +0 -1
  233. package/dist/_shared/theme-parser-DppUOLqc.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { PdfDocument, PdfElement } from './types';
2
+ import { PdfElementId } from './element-id';
3
+ /**
4
+ * Apply an updater function to a specific element in a document page.
5
+ * Returns a new document with the element replaced.
6
+ */
7
+ export declare function updateElementInDocument(args: {
8
+ readonly document: PdfDocument;
9
+ readonly elementId: PdfElementId;
10
+ readonly updater: (element: PdfElement) => PdfElement;
11
+ }): PdfDocument;
12
+ /**
13
+ * Delete elements by their IDs from the document.
14
+ * Returns a new document with the specified elements removed.
15
+ */
16
+ export declare function deleteElements(doc: PdfDocument, elementIds: readonly PdfElementId[]): PdfDocument;
17
+ /**
18
+ * Add elements to a specific page.
19
+ * Returns the new document and the IDs assigned to the added elements.
20
+ */
21
+ export declare function addElementsToPage(doc: PdfDocument, pageIndex: number, elements: readonly PdfElement[]): {
22
+ readonly document: PdfDocument;
23
+ readonly newElementIds: readonly PdfElementId[];
24
+ };
25
+ /**
26
+ * Insert a blank page after the specified index.
27
+ * The new page inherits width/height from the reference page.
28
+ *
29
+ * @param afterIndex - Page index after which to insert. Use -1 to insert at the start.
30
+ */
31
+ export declare function addPage(doc: PdfDocument, afterIndex: number): {
32
+ readonly document: PdfDocument;
33
+ readonly newPageIndex: number;
34
+ };
35
+ /**
36
+ * Delete pages by indices. Preserves at least 1 page.
37
+ * Returns unchanged document if deletion would leave 0 pages.
38
+ */
39
+ export declare function deletePages(doc: PdfDocument, pageIndices: readonly number[]): PdfDocument;
40
+ /**
41
+ * Duplicate pages by indices. Inserts copies after the last selected page.
42
+ */
43
+ export declare function duplicatePages(doc: PdfDocument, pageIndices: readonly number[]): {
44
+ readonly document: PdfDocument;
45
+ readonly insertedAtIndex: number;
46
+ };
47
+ /**
48
+ * Reorder pages by moving selected pages to a new position.
49
+ *
50
+ * Removes the selected pages from their original positions,
51
+ * then inserts them as a contiguous block at `toIndex` in the remaining array.
52
+ */
53
+ export declare function reorderPages(args: {
54
+ readonly document: PdfDocument;
55
+ readonly pageIndices: readonly number[];
56
+ readonly toIndex: number;
57
+ }): PdfDocument;
58
+ /**
59
+ * Update the size of a specific page.
60
+ */
61
+ export declare function updatePageSize(args: {
62
+ readonly document: PdfDocument;
63
+ readonly pageIndex: number;
64
+ readonly width: number;
65
+ readonly height: number;
66
+ }): PdfDocument;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @file PDF element addressing
3
+ *
4
+ * Provides a positional element identifier scheme for PDF documents.
5
+ * PDF elements don't have intrinsic IDs, so we use `pageIndex:elementIndex` pairs.
6
+ *
7
+ * Used by both the builder (mutations) and renderer (lookups/bounds).
8
+ */
9
+ /**
10
+ * Element identifier: page index + element index within the page.
11
+ *
12
+ * Format: `"pageIndex:elementIndex"` (both 0-based).
13
+ */
14
+ export type PdfElementId = `${number}:${number}`;
15
+ /** Create an element ID from page and element indices. */
16
+ export declare function createElementId(pageIndex: number, elementIndex: number): PdfElementId;
17
+ /** Parse an element ID back to indices. */
18
+ export declare function parseElementId(id: PdfElementId): {
19
+ pageIndex: number;
20
+ elementIndex: number;
21
+ };
@@ -0,0 +1,19 @@
1
+ import { PdfElement } from './types';
2
+ /** Extract rotation in radians from a PDF element's CTM. */
3
+ export declare function getElementRotationRad(element: PdfElement): number;
4
+ /** Extract rotation in degrees from a PDF element's graphics state CTM. */
5
+ export declare function getElementRotationDeg(element: PdfElement): number;
6
+ /**
7
+ * Apply a rotation delta (in radians) to a PDF element by recomposing its CTM.
8
+ * Preserves scale and translation; adds the delta to the existing rotation.
9
+ */
10
+ export declare function rotateElement(element: PdfElement, angleDeltaRad: number): PdfElement;
11
+ /**
12
+ * Apply a position delta to a PDF element.
13
+ *
14
+ * @param element - The element to move (immutable — returns a new instance).
15
+ * @param dx - Horizontal delta (positive = rightward). Same convention in both SVG and PDF.
16
+ * @param dy - Vertical delta in **SVG convention** (positive = downward).
17
+ * Internally converted to PDF convention (positive = upward) by negating.
18
+ */
19
+ export declare function moveElement(element: PdfElement, dx: number, dy: number): PdfElement;
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @file PDF document domain
3
3
  *
4
- * Exports types for PDF document structure.
4
+ * Exports types and operations for PDF document structure.
5
5
  */
6
6
  export type { PdfElement, PdfPage, PdfDocument, PdfEmbeddedFont, PdfFontToUnicode, PdfFontMetrics, PdfTable, PdfTableRow, PdfTableCell } from './types';
7
7
  export { PDF_UNITS, PDF_PAGE_SIZES, isPdfPath, isPdfText, isPdfImage, isPdfTable } from './types';
8
+ export type { PdfElementId } from './element-id';
9
+ export { createElementId, parseElementId } from './element-id';
10
+ export { getElementRotationRad, getElementRotationDeg, rotateElement, moveElement } from './element-transform';
11
+ export { updateElementInDocument, deleteElements, addElementsToPage, addPage, deletePages, duplicatePages, reorderPages, updatePageSize, } from './document-mutation';
12
+ export { createTableCell, insertRow, removeRow, insertColumn, removeColumn, setColumnWidth, setRowHeight, mergeCells, splitCell, type TableCellRange, } from './table-mutation';
@@ -0,0 +1,32 @@
1
+ import { PdfTable, PdfTableCell } from './types';
2
+ /** Create an empty table cell. */
3
+ export declare function createTableCell(): PdfTableCell;
4
+ /**
5
+ * Insert a row at the given index.
6
+ * New row height is inherited from the row at `rowIndex` (or the last row).
7
+ */
8
+ export declare function insertRow(table: PdfTable, rowIndex: number): PdfTable;
9
+ /** Remove a row at the given index. Preserves at least 1 row. */
10
+ export declare function removeRow(table: PdfTable, rowIndex: number): PdfTable;
11
+ /**
12
+ * Insert a column at the given index.
13
+ * New column width is inherited from the column at `colIndex` (or the last column).
14
+ */
15
+ export declare function insertColumn(table: PdfTable, colIndex: number): PdfTable;
16
+ /** Remove a column at the given index. Preserves at least 1 column. */
17
+ export declare function removeColumn(table: PdfTable, colIndex: number): PdfTable;
18
+ /** Set column width at the given index. */
19
+ export declare function setColumnWidth(table: PdfTable, colIndex: number, width: number): PdfTable;
20
+ /** Set row height at the given index. */
21
+ export declare function setRowHeight(table: PdfTable, rowIndex: number, height: number): PdfTable;
22
+ /** Cell range for merge/split operations. */
23
+ export type TableCellRange = {
24
+ readonly startRow: number;
25
+ readonly startCol: number;
26
+ readonly endRow: number;
27
+ readonly endCol: number;
28
+ };
29
+ /** Merge cells in the given range. */
30
+ export declare function mergeCells(table: PdfTable, range: TableCellRange): PdfTable;
31
+ /** Split a cell by resetting spans. */
32
+ export declare function splitCell(table: PdfTable, row: number, col: number): PdfTable;
@@ -12,10 +12,16 @@ export { IDENTITY_MATRIX, multiplyMatrices, transformPoint, invertMatrix, transl
12
12
  export type { PdfLineJoin, PdfLineCap, PdfTextRenderingMode, PdfSoftMask, PdfGraphicsState, GraphicsStateStack, } from './graphics-state';
13
13
  export { DEFAULT_FILL_COLOR, DEFAULT_STROKE_COLOR, createDefaultGraphicsState, createGraphicsStateStack, } from './graphics-state';
14
14
  export type { PdfMoveTo, PdfLineTo, PdfCurveTo, PdfCurveToV, PdfCurveToY, PdfRect, PdfClosePath, PdfPathOp, PdfPaintOp, PdfPath, } from './path';
15
+ export { getPathBounds } from './path';
15
16
  export type { PdfText, PdfTextFontMetrics } from './text';
16
17
  export type { PdfImage } from './image';
17
18
  export type { PdfElement, PdfPage, PdfDocument, PdfEmbeddedFont, PdfTable, PdfTableRow, PdfTableCell } from './document';
18
19
  export { PDF_UNITS, PDF_PAGE_SIZES, isPdfPath, isPdfText, isPdfImage, isPdfTable } from './document';
20
+ export type { PdfElementId } from './document';
21
+ export { createElementId, parseElementId } from './document';
22
+ export { getElementRotationRad, getElementRotationDeg, rotateElement, moveElement } from './document';
23
+ export { updateElementInDocument, deleteElements, addElementsToPage, addPage, deletePages, duplicatePages, reorderPages, updatePageSize, } from './document';
24
+ export { createTableCell, insertRow, removeRow, insertColumn, removeColumn, setColumnWidth, setRowHeight, mergeCells, splitCell, type TableCellRange, } from './document';
19
25
  export type { PdfTokenType, PdfToken } from './content-stream';
20
26
  export { tokenizeContentStream } from './content-stream';
21
27
  export { PT_TO_PX, PX_TO_PT } from './constants';
@@ -0,0 +1,15 @@
1
+ import { PdfPath } from './types';
2
+ /**
3
+ * Calculate the axis-aligned bounding box of a PDF path from its operations.
4
+ *
5
+ * Iterates all operations and collects min/max coordinates.
6
+ * Control points of curves are included (approximation — not the tight bbox).
7
+ *
8
+ * Returns `{ x: 0, y: 0, width: 0, height: 0 }` for empty paths.
9
+ */
10
+ export declare function getPathBounds(path: PdfPath): {
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @file PDF path domain
3
+ *
4
+ * Exports types and utilities for PDF path handling.
5
+ */
6
+ export type { PdfMoveTo, PdfLineTo, PdfCurveTo, PdfCurveToV, PdfCurveToY, PdfRect, PdfClosePath, PdfPathOp, PdfPaintOp, PdfPath, } from './types';
7
+ export { getPathBounds } from './bounds';
@@ -12,6 +12,12 @@ export type { PdfText } from './domain';
12
12
  export type { PdfImage } from './domain';
13
13
  export type { PdfElement, PdfPage, PdfDocument, PdfTable, PdfTableRow, PdfTableCell } from './domain';
14
14
  export { isPdfPath, isPdfText, isPdfImage, isPdfTable } from './domain';
15
+ export type { PdfElementId } from './domain';
16
+ export { createElementId, parseElementId } from './domain';
17
+ export { getElementRotationRad, getElementRotationDeg, rotateElement, moveElement } from './domain';
18
+ export { updateElementInDocument, deleteElements, addElementsToPage, addPage, deletePages, duplicatePages, reorderPages, updatePageSize, } from './domain';
19
+ export { getPathBounds } from './domain';
20
+ export { createTableCell, insertRow, removeRow, insertColumn, removeColumn, setColumnWidth, setRowHeight, mergeCells, splitCell, type TableCellRange, } from './domain';
15
21
  export { PT_TO_PX, PX_TO_PT, PDF_PAGE_SIZES } from './domain';
16
22
  export { DEFAULT_FONT_METRICS } from './domain';
17
23
  export { parsePdfSource, createPdfContext, rewritePdfContext, serializePdfDocumentAsJson, deserializePdfDocumentFromJson, getPdfPageCount, getPdfPageDimensions, } from './parser/core/pdf-parser';
@@ -0,0 +1,12 @@
1
+ import { DocxBuildSpec, DocxBuildData } from './types';
2
+ /**
3
+ * Build a DOCX file from a build specification.
4
+ *
5
+ * @param spec - The build specification
6
+ * @returns The DOCX file as a Uint8Array
7
+ */
8
+ export declare function buildDocx(spec: DocxBuildSpec): Promise<Uint8Array>;
9
+ /**
10
+ * Get build metadata from a specification (for CLI output).
11
+ */
12
+ export declare function getBuildData(spec: DocxBuildSpec): DocxBuildData;
@@ -0,0 +1,18 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxDocument, DocxBody, DocxBlockContent } from '@aurochs-office/docx/domain/document';
3
+ /**
4
+ * Serialize block content element.
5
+ */
6
+ export declare function serializeBlockContent(content: DocxBlockContent): XmlElement;
7
+ /**
8
+ * Serialize document body element.
9
+ *
10
+ * @see ECMA-376 Part 1, Section 17.2.2 (body)
11
+ */
12
+ export declare function serializeBody(body: DocxBody): XmlElement;
13
+ /**
14
+ * Serialize the main document element.
15
+ *
16
+ * @see ECMA-376 Part 1, Section 17.2.3 (document)
17
+ */
18
+ export declare function serializeDocument(document: DocxDocument): XmlElement;
@@ -0,0 +1,6 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxDrawing } from '@aurochs-office/docx/domain/drawing';
3
+ /**
4
+ * Serialize a DocxDrawing to XML element.
5
+ */
6
+ export declare function serializeDrawing(drawing: DocxDrawing): XmlElement;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @file DOCX Serializer Index
3
+ *
4
+ * Exports all DOCX serialization functions.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17 (WordprocessingML)
7
+ */
8
+ export { serializeRunFonts, serializeColor, serializeShading, serializeUnderline, serializeRunBorder, serializeRunProperties, serializeRunContent, serializeRun, } from './run';
9
+ export { serializeSpacing, serializeIndent, serializeParagraphBorders, serializeTabStops, serializeNumberingProperties, serializeFrameProperties, serializeParagraphProperties, serializeHyperlink, serializeBookmarkStart, serializeBookmarkEnd, serializeParagraphContent, serializeParagraph, } from './paragraph';
10
+ export { serializeTableWidth, serializeTableBorders, serializeTableCellMargins, serializeTableProperties, serializeTableGrid, serializeTableRowProperties, serializeTableCellBorders, serializeTableCellProperties, serializeTableCell, serializeTableRow, serializeTable, } from './table';
11
+ export { serializeDocDefaults, serializeLatentStyleException, serializeLatentStyles, serializeTableStylePr, serializeStyle, serializeStyles, } from './styles';
12
+ export { serializeLevel, serializeAbstractNum, serializeLevelOverride, serializeNum, serializeNumbering, } from './numbering';
13
+ export { serializePageSize, serializePageMargins, serializePageBorders, serializeColumns, serializeHeaderReference, serializeFooterReference, serializeLineNumbering, serializePageNumberType, serializeDocGrid, serializeNotePr, serializeSectionProperties, } from './section';
14
+ export { serializeBlockContent, serializeBody, serializeDocument, } from './document';
15
+ export type { RunSpec, ParagraphSpec, TableSpec, TableRowSpec, TableCellSpec, BorderEdgeSpec, BlockContentSpec, NumberingDefinitionSpec, NumberingLevelSpec, StyleSpec, SectionSpec, DocxBuildSpec, DocxBuildData, } from './types';
16
+ export { convertRunSpec, convertParagraphSpec, convertTableSpec, convertBlockContent, convertNumberingSpec, convertStylesSpec, convertSectionSpec, convertDocument, } from './spec-converter';
17
+ export { buildDocx, getBuildData } from './builder';
18
+ export { patchDocx, getPatchData } from './patcher';
19
+ export type { DocxPatch, DocxPatchSpec, DocxPatchData } from './patch-spec';
@@ -0,0 +1,32 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxNumbering, DocxAbstractNum, DocxNum, DocxLevel, DocxLevelOverride } from '@aurochs-office/docx/domain/numbering';
3
+ /**
4
+ * Serialize numbering level element.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17.9.6 (lvl)
7
+ */
8
+ export declare function serializeLevel(level: DocxLevel): XmlElement;
9
+ /**
10
+ * Serialize abstract numbering element.
11
+ *
12
+ * @see ECMA-376 Part 1, Section 17.9.1 (abstractNum)
13
+ */
14
+ export declare function serializeAbstractNum(abstractNum: DocxAbstractNum): XmlElement;
15
+ /**
16
+ * Serialize level override element.
17
+ *
18
+ * @see ECMA-376 Part 1, Section 17.9.8 (lvlOverride)
19
+ */
20
+ export declare function serializeLevelOverride(lvlOverride: DocxLevelOverride): XmlElement;
21
+ /**
22
+ * Serialize numbering instance element.
23
+ *
24
+ * @see ECMA-376 Part 1, Section 17.9.15 (num)
25
+ */
26
+ export declare function serializeNum(num: DocxNum): XmlElement;
27
+ /**
28
+ * Serialize the numbering document.
29
+ *
30
+ * @see ECMA-376 Part 1, Section 17.9.17 (numbering)
31
+ */
32
+ export declare function serializeNumbering(numbering: DocxNumbering): XmlElement;
@@ -0,0 +1,72 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxParagraph, DocxParagraphProperties, DocxParagraphSpacing, DocxParagraphIndent, DocxParagraphBorders, DocxTabStops, DocxNumberingProperties, DocxFrameProperties, DocxParagraphContent, DocxHyperlink, DocxBookmarkStart, DocxBookmarkEnd } from '@aurochs-office/docx/domain/paragraph';
3
+ /**
4
+ * Serialize paragraph spacing element.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17.3.1.33 (spacing)
7
+ */
8
+ export declare function serializeSpacing(spacing: DocxParagraphSpacing): XmlElement;
9
+ /**
10
+ * Serialize paragraph indent element.
11
+ *
12
+ * @see ECMA-376 Part 1, Section 17.3.1.12 (ind)
13
+ */
14
+ export declare function serializeIndent(indent: DocxParagraphIndent): XmlElement;
15
+ /**
16
+ * Serialize paragraph borders element.
17
+ *
18
+ * @see ECMA-376 Part 1, Section 17.3.1.24 (pBdr)
19
+ */
20
+ export declare function serializeParagraphBorders(borders: DocxParagraphBorders): XmlElement;
21
+ /**
22
+ * Serialize tab stops element.
23
+ *
24
+ * @see ECMA-376 Part 1, Section 17.3.1.38 (tabs)
25
+ */
26
+ export declare function serializeTabStops(tabStops: DocxTabStops): XmlElement;
27
+ /**
28
+ * Serialize numbering properties element.
29
+ *
30
+ * @see ECMA-376 Part 1, Section 17.3.1.19 (numPr)
31
+ */
32
+ export declare function serializeNumberingProperties(numPr: DocxNumberingProperties): XmlElement;
33
+ /**
34
+ * Serialize frame properties element.
35
+ *
36
+ * @see ECMA-376 Part 1, Section 17.3.1.11 (framePr)
37
+ */
38
+ export declare function serializeFrameProperties(framePr: DocxFrameProperties): XmlElement;
39
+ /**
40
+ * Serialize paragraph properties element.
41
+ *
42
+ * @see ECMA-376 Part 1, Section 17.3.1.26 (pPr)
43
+ */
44
+ export declare function serializeParagraphProperties(props: DocxParagraphProperties | undefined): XmlElement | undefined;
45
+ /**
46
+ * Serialize hyperlink element.
47
+ *
48
+ * @see ECMA-376 Part 1, Section 17.16.22 (hyperlink)
49
+ */
50
+ export declare function serializeHyperlink(hyperlink: DocxHyperlink): XmlElement;
51
+ /**
52
+ * Serialize bookmark start element.
53
+ *
54
+ * @see ECMA-376 Part 1, Section 17.13.6.2 (bookmarkStart)
55
+ */
56
+ export declare function serializeBookmarkStart(bookmark: DocxBookmarkStart): XmlElement;
57
+ /**
58
+ * Serialize bookmark end element.
59
+ *
60
+ * @see ECMA-376 Part 1, Section 17.13.6.1 (bookmarkEnd)
61
+ */
62
+ export declare function serializeBookmarkEnd(bookmark: DocxBookmarkEnd): XmlElement;
63
+ /**
64
+ * Serialize paragraph content element.
65
+ */
66
+ export declare function serializeParagraphContent(content: DocxParagraphContent): XmlElement | undefined;
67
+ /**
68
+ * Serialize a paragraph element.
69
+ *
70
+ * @see ECMA-376 Part 1, Section 17.3.1.22 (p)
71
+ */
72
+ export declare function serializeParagraph(paragraph: DocxParagraph): XmlElement;
@@ -0,0 +1,13 @@
1
+ import { DocxPatchSpec, DocxPatchData } from './patch-spec';
2
+ /**
3
+ * Patch an existing DOCX file with the given patch operations.
4
+ *
5
+ * @param spec - The patch specification
6
+ * @param sourceData - The source DOCX file data
7
+ * @returns The patched DOCX file as Uint8Array
8
+ */
9
+ export declare function patchDocx(spec: DocxPatchSpec, sourceData: Uint8Array): Promise<Uint8Array>;
10
+ /**
11
+ * Get patch metadata from a specification (for CLI output).
12
+ */
13
+ export declare function getPatchData(spec: DocxPatchSpec): DocxPatchData;
@@ -0,0 +1,48 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxRunProperties, DocxRunFonts, DocxColor, DocxShading, DocxUnderline, DocxRunBorder, DocxRun, DocxRunContent } from '@aurochs-office/docx/domain/run';
3
+ /**
4
+ * Serialize run font properties.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17.3.2.26 (rFonts)
7
+ */
8
+ export declare function serializeRunFonts(fonts: DocxRunFonts): XmlElement;
9
+ /**
10
+ * Serialize color element.
11
+ *
12
+ * @see ECMA-376 Part 1, Section 17.3.2.6 (color)
13
+ */
14
+ export declare function serializeColor(color: DocxColor, elementName?: string): XmlElement;
15
+ /**
16
+ * Serialize shading element.
17
+ *
18
+ * @see ECMA-376 Part 1, Section 17.3.2.32 (shd)
19
+ */
20
+ export declare function serializeShading(shading: DocxShading, elementName?: string): XmlElement;
21
+ /**
22
+ * Serialize underline element.
23
+ *
24
+ * @see ECMA-376 Part 1, Section 17.3.2.40 (u)
25
+ */
26
+ export declare function serializeUnderline(underline: DocxUnderline): XmlElement;
27
+ /**
28
+ * Serialize run border element.
29
+ *
30
+ * @see ECMA-376 Part 1, Section 17.3.2.4 (bdr)
31
+ */
32
+ export declare function serializeRunBorder(border: DocxRunBorder): XmlElement;
33
+ /**
34
+ * Serialize run properties element.
35
+ *
36
+ * @see ECMA-376 Part 1, Section 17.3.2.27 (rPr)
37
+ */
38
+ export declare function serializeRunProperties(props: DocxRunProperties | undefined): XmlElement | undefined;
39
+ /**
40
+ * Serialize run content element.
41
+ */
42
+ export declare function serializeRunContent(content: DocxRunContent): XmlElement;
43
+ /**
44
+ * Serialize a run element.
45
+ *
46
+ * @see ECMA-376 Part 1, Section 17.3.2.25 (r)
47
+ */
48
+ export declare function serializeRun(run: DocxRun): XmlElement;
@@ -0,0 +1,69 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxSectionProperties, DocxPageSize, DocxPageMargins, DocxPageBorders, DocxColumns, DocxHeaderFooterRef, DocxLineNumbering, DocxPageNumberType, DocxDocGrid, DocxNotePr } from '@aurochs-office/docx/domain/section';
3
+ /**
4
+ * Serialize page size element.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17.6.13 (pgSz)
7
+ */
8
+ export declare function serializePageSize(pgSz: DocxPageSize): XmlElement;
9
+ /**
10
+ * Serialize page margins element.
11
+ *
12
+ * @see ECMA-376 Part 1, Section 17.6.11 (pgMar)
13
+ */
14
+ export declare function serializePageMargins(pgMar: DocxPageMargins): XmlElement;
15
+ /**
16
+ * Serialize page borders element.
17
+ *
18
+ * @see ECMA-376 Part 1, Section 17.6.10 (pgBorders)
19
+ */
20
+ export declare function serializePageBorders(pgBorders: DocxPageBorders): XmlElement;
21
+ /**
22
+ * Serialize columns element.
23
+ *
24
+ * @see ECMA-376 Part 1, Section 17.6.4 (cols)
25
+ */
26
+ export declare function serializeColumns(cols: DocxColumns): XmlElement;
27
+ /**
28
+ * Serialize header reference element.
29
+ *
30
+ * @see ECMA-376 Part 1, Section 17.10.5 (headerReference)
31
+ */
32
+ export declare function serializeHeaderReference(ref: DocxHeaderFooterRef): XmlElement;
33
+ /**
34
+ * Serialize footer reference element.
35
+ *
36
+ * @see ECMA-376 Part 1, Section 17.10.2 (footerReference)
37
+ */
38
+ export declare function serializeFooterReference(ref: DocxHeaderFooterRef): XmlElement;
39
+ /**
40
+ * Serialize line numbering element.
41
+ *
42
+ * @see ECMA-376 Part 1, Section 17.6.8 (lnNumType)
43
+ */
44
+ export declare function serializeLineNumbering(lnNumType: DocxLineNumbering): XmlElement;
45
+ /**
46
+ * Serialize page number type element.
47
+ *
48
+ * @see ECMA-376 Part 1, Section 17.6.12 (pgNumType)
49
+ */
50
+ export declare function serializePageNumberType(pgNumType: DocxPageNumberType): XmlElement;
51
+ /**
52
+ * Serialize document grid element.
53
+ *
54
+ * @see ECMA-376 Part 1, Section 17.6.5 (docGrid)
55
+ */
56
+ export declare function serializeDocGrid(docGrid: DocxDocGrid): XmlElement;
57
+ /**
58
+ * Serialize note properties element (footnote/endnote).
59
+ *
60
+ * @see ECMA-376 Part 1, Section 17.11.7 (footnotePr)
61
+ * @see ECMA-376 Part 1, Section 17.11.4 (endnotePr)
62
+ */
63
+ export declare function serializeNotePr(notePr: DocxNotePr, elementName: string): XmlElement;
64
+ /**
65
+ * Serialize section properties element.
66
+ *
67
+ * @see ECMA-376 Part 1, Section 17.6.17 (sectPr)
68
+ */
69
+ export declare function serializeSectionProperties(sectPr: DocxSectionProperties | undefined): XmlElement | undefined;
@@ -0,0 +1,74 @@
1
+ import { DocxRun } from '@aurochs-office/docx/domain/run';
2
+ import { DocxDrawing } from '@aurochs-office/docx/domain/drawing';
3
+ import { DrawingSpec, RunSpec, ParagraphSpec, TableSpec, BlockContentSpec, NumberingDefinitionSpec, StyleSpec, SectionSpec, DocxBuildSpec } from './types';
4
+ import { DocxParagraph } from '@aurochs-office/docx/domain/paragraph';
5
+ import { DocxTable } from '@aurochs-office/docx/domain/table';
6
+ import { DocxBlockContent, DocxDocument, DocxHeader, DocxFooter } from '@aurochs-office/docx/domain/document';
7
+ import { DocxSectionProperties } from '@aurochs-office/docx/domain/section';
8
+ import { DocxNumbering } from '@aurochs-office/docx/domain/numbering';
9
+ import { DocxStyles } from '@aurochs-office/docx/domain/styles';
10
+ import { DocxRelId } from '@aurochs-office/docx/domain/types';
11
+ /**
12
+ * Context for drawing conversion, holds relationship ID mapping.
13
+ */
14
+ export type DrawingConversionContext = {
15
+ /** Map from media filename to relationship ID */
16
+ readonly mediaRIds: Map<string, string>;
17
+ /** Next relationship ID counter */
18
+ nextRId: number;
19
+ };
20
+ /**
21
+ * Create a drawing conversion context.
22
+ */
23
+ export declare function createDrawingContext(startRId?: number): DrawingConversionContext;
24
+ /**
25
+ * Convert drawing spec to domain type.
26
+ */
27
+ export declare function convertDrawingSpec(spec: DrawingSpec, ctx: DrawingConversionContext): DocxDrawing;
28
+ /**
29
+ * Convert a RunSpec to DocxRun domain type.
30
+ */
31
+ export declare function convertRunSpec(spec: RunSpec, ctx?: DrawingConversionContext): DocxRun;
32
+ /**
33
+ * Convert a ParagraphSpec to DocxParagraph domain type.
34
+ */
35
+ export declare function convertParagraphSpec(spec: ParagraphSpec, ctx?: DrawingConversionContext): DocxParagraph;
36
+ /**
37
+ * Convert a TableSpec to DocxTable domain type.
38
+ */
39
+ export declare function convertTableSpec(spec: TableSpec, ctx?: DrawingConversionContext): DocxTable;
40
+ /**
41
+ * Convert a BlockContentSpec to DocxBlockContent domain type.
42
+ */
43
+ export declare function convertBlockContent(spec: BlockContentSpec, ctx?: DrawingConversionContext): DocxBlockContent;
44
+ /**
45
+ * Count paragraphs and tables in block content specs.
46
+ */
47
+ export declare function countBlockContentSpecs(specs: readonly BlockContentSpec[]): {
48
+ paragraphCount: number;
49
+ tableCount: number;
50
+ };
51
+ /**
52
+ * Convert NumberingDefinitionSpec array to DocxNumbering domain type.
53
+ */
54
+ export declare function convertNumberingSpec(specs: readonly NumberingDefinitionSpec[]): DocxNumbering;
55
+ /**
56
+ * Convert StyleSpec array to DocxStyles domain type.
57
+ */
58
+ export declare function convertStylesSpec(specs: readonly StyleSpec[]): DocxStyles;
59
+ /**
60
+ * Result of section conversion including headers and footers.
61
+ */
62
+ export type SectionConversionResult = {
63
+ readonly sectPr: DocxSectionProperties;
64
+ readonly headers: ReadonlyMap<DocxRelId, DocxHeader>;
65
+ readonly footers: ReadonlyMap<DocxRelId, DocxFooter>;
66
+ };
67
+ /**
68
+ * Convert SectionSpec to DocxSectionProperties domain type with headers/footers.
69
+ */
70
+ export declare function convertSectionSpec(spec: SectionSpec, startRId?: number): SectionConversionResult;
71
+ /**
72
+ * Convert a DocxBuildSpec to DocxDocument domain type.
73
+ */
74
+ export declare function convertDocument(spec: DocxBuildSpec): DocxDocument;
@@ -0,0 +1,38 @@
1
+ import { XmlElement } from '@aurochs/xml';
2
+ import { DocxStyles, DocxStyle, DocxDocDefaults, DocxLatentStyles, DocxLatentStyleException, DocxTableStylePr } from '@aurochs-office/docx/domain/styles';
3
+ /**
4
+ * Serialize document defaults element.
5
+ *
6
+ * @see ECMA-376 Part 1, Section 17.7.5.1 (docDefaults)
7
+ */
8
+ export declare function serializeDocDefaults(docDefaults: DocxDocDefaults): XmlElement;
9
+ /**
10
+ * Serialize latent style exception element.
11
+ *
12
+ * @see ECMA-376 Part 1, Section 17.7.4.9 (lsdException)
13
+ */
14
+ export declare function serializeLatentStyleException(exception: DocxLatentStyleException): XmlElement;
15
+ /**
16
+ * Serialize latent styles element.
17
+ *
18
+ * @see ECMA-376 Part 1, Section 17.7.4.6 (latentStyles)
19
+ */
20
+ export declare function serializeLatentStyles(latentStyles: DocxLatentStyles): XmlElement;
21
+ /**
22
+ * Serialize table style properties element.
23
+ *
24
+ * @see ECMA-376 Part 1, Section 17.7.6.6 (tblStylePr)
25
+ */
26
+ export declare function serializeTableStylePr(tblStylePr: DocxTableStylePr): XmlElement;
27
+ /**
28
+ * Serialize a style element.
29
+ *
30
+ * @see ECMA-376 Part 1, Section 17.7.4.18 (style)
31
+ */
32
+ export declare function serializeStyle(style: DocxStyle): XmlElement;
33
+ /**
34
+ * Serialize the styles document.
35
+ *
36
+ * @see ECMA-376 Part 1, Section 17.7.4.19 (styles)
37
+ */
38
+ export declare function serializeStyles(styles: DocxStyles): XmlElement;