open-agreements 0.7.7 → 0.8.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 (704) hide show
  1. package/LICENSE +201 -21
  2. package/README.de.md +16 -29
  3. package/README.es.md +16 -29
  4. package/README.md +45 -54
  5. package/README.pt-br.md +16 -29
  6. package/README.template.md +19 -25
  7. package/README.zh.md +16 -29
  8. package/content/recipes/nvca-certificate-of-incorporation/fields/acquisition_exception_shares.json +36 -0
  9. package/content/recipes/nvca-certificate-of-incorporation/fields/adjustment_notice_days.json +22 -0
  10. package/content/recipes/nvca-certificate-of-incorporation/fields/common_shares_authorized.json +22 -0
  11. package/content/recipes/nvca-certificate-of-incorporation/fields/company_name.json +29 -0
  12. package/content/recipes/nvca-certificate-of-incorporation/fields/conversion_notice_days.json +22 -0
  13. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_formula_alt.json +22 -0
  14. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_per_share.json +22 -0
  15. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_percent.json +22 -0
  16. package/content/recipes/nvca-certificate-of-incorporation/fields/effective_date.json +22 -0
  17. package/content/recipes/nvca-certificate-of-incorporation/fields/number_of_classes.json +29 -0
  18. package/content/recipes/nvca-certificate-of-incorporation/fields/original_issue_price.json +22 -0
  19. package/content/recipes/nvca-certificate-of-incorporation/fields/par_value.json +36 -0
  20. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_director_seats.json +22 -0
  21. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_authorized.json +22 -0
  22. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_designated_portion.json +29 -0
  23. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_outstanding_threshold.json +29 -0
  24. package/content/recipes/nvca-certificate-of-incorporation/fields/qualified_financing_notice_days.json +22 -0
  25. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_interest_rate.json +22 -0
  26. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_start_date.json +22 -0
  27. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_address.json +22 -0
  28. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_name.json +22 -0
  29. package/content/recipes/nvca-certificate-of-incorporation/fields/series_designation.json +22 -0
  30. package/content/recipes/nvca-certificate-of-incorporation/fields/signature_page_marker.json +22 -0
  31. package/content/recipes/nvca-certificate-of-incorporation/fields/specify_percentage.json +22 -0
  32. package/content/recipes/nvca-certificate-of-incorporation/fields/strategic_partnership_exception_shares.json +22 -0
  33. package/content/recipes/nvca-certificate-of-incorporation/fields/time_zone.json +22 -0
  34. package/content/recipes/nvca-certificate-of-incorporation/fields/total_authorized_shares.json +22 -0
  35. package/content/recipes/nvca-certificate-of-incorporation/template-manifest.json +77 -0
  36. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_date_month_day.json +27 -0
  37. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_year_two_digits.json +27 -0
  38. package/content/recipes/nvca-stock-purchase-agreement/fields/company_name.json +25 -0
  39. package/content/recipes/nvca-stock-purchase-agreement/fields/investor_counsel.json +27 -0
  40. package/content/recipes/nvca-stock-purchase-agreement/fields/minimum_shares_initial_closing.json +39 -0
  41. package/content/recipes/nvca-stock-purchase-agreement/fields/optional_plural_suffix.json +27 -0
  42. package/content/recipes/nvca-stock-purchase-agreement/fields/par_value_per_share.json +28 -0
  43. package/content/recipes/nvca-stock-purchase-agreement/fields/purchase_price_per_share.json +28 -0
  44. package/content/recipes/nvca-stock-purchase-agreement/fields/series_designation.json +159 -0
  45. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +1 -1
  46. package/content/recipes/nvca-stock-purchase-agreement/template-manifest.json +24 -0
  47. package/content/templates/bonterms-mutual-nda/template.docx +0 -0
  48. package/content/templates/openagreements-board-consent-safe/.template.generated.json +0 -1
  49. package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +9 -5
  50. package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +2 -0
  51. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +8 -9
  52. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  53. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +3 -4
  54. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +0 -9
  55. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  56. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +0 -1
  57. package/content/templates/openagreements-employment-offer-letter/.template.generated.json +9 -5
  58. package/content/templates/openagreements-employment-offer-letter/README.md +17 -5
  59. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +8 -9
  60. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  61. package/content/templates/openagreements-employment-offer-letter/template.md +3 -4
  62. package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +9 -5
  63. package/content/templates/openagreements-restrictive-covenant-florida/README.md +2 -2
  64. package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +10 -12
  65. package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
  66. package/content/templates/openagreements-restrictive-covenant-florida/template.md +3 -4
  67. package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +9 -5
  68. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +10 -12
  69. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  70. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +3 -4
  71. package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +0 -1
  72. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -1
  73. package/dist/core/checklist/format-checklist-docx.js +4 -1
  74. package/dist/core/checklist/format-checklist-docx.js.map +1 -1
  75. package/dist/core/engine.d.ts.map +1 -1
  76. package/dist/core/engine.js +2 -40
  77. package/dist/core/engine.js.map +1 -1
  78. package/dist/core/fill-pipeline.d.ts +0 -8
  79. package/dist/core/fill-pipeline.d.ts.map +1 -1
  80. package/dist/core/fill-pipeline.js +54 -30
  81. package/dist/core/fill-pipeline.js.map +1 -1
  82. package/dist/core/humanize-docx.d.ts.map +1 -1
  83. package/dist/core/humanize-docx.js +16 -6
  84. package/dist/core/humanize-docx.js.map +1 -1
  85. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  86. package/dist/core/recipe/bracket-normalizer.js +3 -7
  87. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  88. package/dist/core/recipe/cleaner.js +5 -5
  89. package/dist/core/recipe/cleaner.js.map +1 -1
  90. package/dist/core/recipe/index.d.ts +1 -1
  91. package/dist/core/recipe/index.d.ts.map +1 -1
  92. package/dist/core/recipe/index.js +57 -4
  93. package/dist/core/recipe/index.js.map +1 -1
  94. package/dist/core/recipe/ooxml-parts.d.ts +11 -0
  95. package/dist/core/recipe/ooxml-parts.d.ts.map +1 -1
  96. package/dist/core/recipe/ooxml-parts.js +22 -0
  97. package/dist/core/recipe/ooxml-parts.js.map +1 -1
  98. package/dist/core/recipe/patcher.d.ts.map +1 -1
  99. package/dist/core/recipe/patcher.js +2 -5
  100. package/dist/core/recipe/patcher.js.map +1 -1
  101. package/dist/core/recipe/source-drift.d.ts +19 -0
  102. package/dist/core/recipe/source-drift.d.ts.map +1 -1
  103. package/dist/core/recipe/source-drift.js +32 -2
  104. package/dist/core/recipe/source-drift.js.map +1 -1
  105. package/dist/core/selector.d.ts.map +1 -1
  106. package/dist/core/selector.js +49 -4
  107. package/dist/core/selector.js.map +1 -1
  108. package/dist/core/selectors/index.d.ts +40 -0
  109. package/dist/core/selectors/index.d.ts.map +1 -0
  110. package/dist/core/selectors/index.js +64 -0
  111. package/dist/core/selectors/index.js.map +1 -0
  112. package/dist/core/selectors/loader.d.ts +16 -0
  113. package/dist/core/selectors/loader.d.ts.map +1 -0
  114. package/dist/core/selectors/loader.js +80 -0
  115. package/dist/core/selectors/loader.js.map +1 -0
  116. package/dist/core/selectors/manifest-schema.d.ts +123 -0
  117. package/dist/core/selectors/manifest-schema.d.ts.map +1 -0
  118. package/dist/core/selectors/manifest-schema.js +93 -0
  119. package/dist/core/selectors/manifest-schema.js.map +1 -0
  120. package/dist/core/selectors/patch.d.ts +24 -0
  121. package/dist/core/selectors/patch.d.ts.map +1 -0
  122. package/dist/core/selectors/patch.js +68 -0
  123. package/dist/core/selectors/patch.js.map +1 -0
  124. package/dist/core/selectors/postconditions.d.ts +24 -0
  125. package/dist/core/selectors/postconditions.d.ts.map +1 -0
  126. package/dist/core/selectors/postconditions.js +50 -0
  127. package/dist/core/selectors/postconditions.js.map +1 -0
  128. package/dist/core/selectors/resolve.d.ts +32 -0
  129. package/dist/core/selectors/resolve.d.ts.map +1 -0
  130. package/dist/core/selectors/resolve.js +36 -0
  131. package/dist/core/selectors/resolve.js.map +1 -0
  132. package/dist/core/unified-pipeline.d.ts +3 -1
  133. package/dist/core/unified-pipeline.d.ts.map +1 -1
  134. package/dist/core/unified-pipeline.js +19 -5
  135. package/dist/core/unified-pipeline.js.map +1 -1
  136. package/gemini-extension.json +1 -1
  137. package/node_modules/@usejunior/docx-core/LICENSE +202 -21
  138. package/node_modules/@usejunior/docx-core/NOTICE +2 -0
  139. package/node_modules/@usejunior/docx-core/README.md +2 -2
  140. package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
  141. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts +55 -0
  142. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
  143. package/node_modules/@usejunior/docx-core/dist/atomizer.js +139 -14
  144. package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
  145. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
  146. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
  147. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
  148. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
  149. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
  150. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +403 -113
  151. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
  152. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
  153. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
  154. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js +449 -0
  155. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
  156. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
  157. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
  158. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
  159. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
  160. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
  161. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
  162. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
  163. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
  164. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
  165. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
  166. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
  167. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
  168. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
  169. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
  170. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
  171. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
  172. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
  173. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
  174. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
  175. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
  176. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
  177. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
  178. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
  179. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
  180. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +198 -0
  181. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
  182. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js +475 -0
  183. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
  184. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
  185. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
  186. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
  187. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
  188. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts +36 -2
  189. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
  190. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +456 -224
  191. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
  192. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
  193. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js +199 -173
  194. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
  195. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
  196. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
  197. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
  198. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.d.ts.map +1 -1
  199. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js +3 -1
  200. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js.map +1 -1
  201. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts +3 -0
  202. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts.map +1 -0
  203. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js +93 -0
  204. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js.map +1 -0
  205. package/node_modules/@usejunior/docx-core/dist/cli/index.d.ts.map +1 -1
  206. package/node_modules/@usejunior/docx-core/dist/cli/index.js +5 -1
  207. package/node_modules/@usejunior/docx-core/dist/cli/index.js.map +1 -1
  208. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts +197 -0
  209. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts.map +1 -0
  210. package/node_modules/@usejunior/docx-core/dist/compare-types.js +2 -0
  211. package/node_modules/@usejunior/docx-core/dist/compare-types.js.map +1 -0
  212. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts +5 -1
  213. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts.map +1 -1
  214. package/node_modules/@usejunior/docx-core/dist/core-types.js +5 -1
  215. package/node_modules/@usejunior/docx-core/dist/core-types.js.map +1 -1
  216. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts +8 -3
  217. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts.map +1 -1
  218. package/node_modules/@usejunior/docx-core/dist/footnotes.js +8 -3
  219. package/node_modules/@usejunior/docx-core/dist/footnotes.js.map +1 -1
  220. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts +22 -0
  221. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts.map +1 -0
  222. package/node_modules/@usejunior/docx-core/dist/generation/compile.js +58 -0
  223. package/node_modules/@usejunior/docx-core/dist/generation/compile.js.map +1 -0
  224. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts +42 -0
  225. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts.map +1 -0
  226. package/node_modules/@usejunior/docx-core/dist/generation/context.js +65 -0
  227. package/node_modules/@usejunior/docx-core/dist/generation/context.js.map +1 -0
  228. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts +36 -0
  229. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts.map +1 -0
  230. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js +116 -0
  231. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js.map +1 -0
  232. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts +24 -0
  233. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts.map +1 -0
  234. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js +60 -0
  235. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js.map +1 -0
  236. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts +28 -0
  237. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts.map +1 -0
  238. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js +19 -0
  239. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js.map +1 -0
  240. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts +16 -0
  241. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts.map +1 -0
  242. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js +74 -0
  243. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js.map +1 -0
  244. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts +23 -0
  245. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts.map +1 -0
  246. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js +57 -0
  247. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js.map +1 -0
  248. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts +29 -0
  249. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts.map +1 -0
  250. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js +102 -0
  251. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js.map +1 -0
  252. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts +24 -0
  253. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts.map +1 -0
  254. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js +121 -0
  255. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js.map +1 -0
  256. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts +24 -0
  257. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts.map +1 -0
  258. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js +63 -0
  259. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js.map +1 -0
  260. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts +36 -0
  261. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts.map +1 -0
  262. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js +157 -0
  263. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js.map +1 -0
  264. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts +16 -0
  265. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts.map +1 -0
  266. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js +71 -0
  267. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js.map +1 -0
  268. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts +29 -0
  269. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts.map +1 -0
  270. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js +117 -0
  271. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js.map +1 -0
  272. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts +13 -0
  273. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts.map +1 -0
  274. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js +68 -0
  275. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js.map +1 -0
  276. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts +16 -0
  277. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts.map +1 -0
  278. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js +82 -0
  279. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js.map +1 -0
  280. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts +26 -0
  281. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts.map +1 -0
  282. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js +209 -0
  283. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js.map +1 -0
  284. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts +21 -0
  285. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts.map +1 -0
  286. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js +151 -0
  287. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js.map +1 -0
  288. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts +12 -0
  289. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts.map +1 -0
  290. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js +19 -0
  291. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js.map +1 -0
  292. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts +22 -0
  293. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts.map +1 -0
  294. package/node_modules/@usejunior/docx-core/dist/generation/errors.js +29 -0
  295. package/node_modules/@usejunior/docx-core/dist/generation/errors.js.map +1 -0
  296. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts +13 -0
  297. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts.map +1 -0
  298. package/node_modules/@usejunior/docx-core/dist/generation/index.js +12 -0
  299. package/node_modules/@usejunior/docx-core/dist/generation/index.js.map +1 -0
  300. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts +46 -0
  301. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts.map +1 -0
  302. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js +119 -0
  303. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js.map +1 -0
  304. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts +87 -0
  305. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts.map +1 -0
  306. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js +232 -0
  307. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js.map +1 -0
  308. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts +24 -0
  309. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts.map +1 -0
  310. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js +318 -0
  311. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js.map +1 -0
  312. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts +4 -0
  313. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts.map +1 -0
  314. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js +18 -0
  315. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js.map +1 -0
  316. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts +266 -0
  317. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts.map +1 -0
  318. package/node_modules/@usejunior/docx-core/dist/generation/types.js +63 -0
  319. package/node_modules/@usejunior/docx-core/dist/generation/types.js.map +1 -0
  320. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts +27 -0
  321. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts.map +1 -0
  322. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js +363 -0
  323. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js.map +1 -0
  324. package/node_modules/@usejunior/docx-core/dist/index.d.ts +9 -150
  325. package/node_modules/@usejunior/docx-core/dist/index.d.ts.map +1 -1
  326. package/node_modules/@usejunior/docx-core/dist/index.js +14 -0
  327. package/node_modules/@usejunior/docx-core/dist/index.js.map +1 -1
  328. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts +15 -0
  329. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts.map +1 -0
  330. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js +84 -0
  331. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js.map +1 -0
  332. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts +49 -0
  333. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts.map +1 -0
  334. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js +290 -0
  335. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js.map +1 -0
  336. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts +134 -0
  337. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
  338. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js +298 -0
  339. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js.map +1 -0
  340. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts +4 -3
  341. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts.map +1 -1
  342. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js +163 -77
  343. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js.map +1 -1
  344. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +12 -3
  345. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
  346. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +374 -97
  347. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
  348. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts +29 -0
  349. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts.map +1 -0
  350. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js +63 -0
  351. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js.map +1 -0
  352. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +94 -15
  353. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
  354. package/node_modules/@usejunior/docx-core/dist/primitives/document.js +377 -234
  355. package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
  356. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts +18 -0
  357. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts.map +1 -0
  358. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js +160 -0
  359. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js.map +1 -0
  360. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts +45 -0
  361. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts.map +1 -0
  362. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js +247 -0
  363. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js.map +1 -0
  364. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts +11 -0
  365. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts.map +1 -0
  366. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js +104 -0
  367. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js.map +1 -0
  368. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts +37 -0
  369. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts.map +1 -0
  370. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js +199 -0
  371. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js.map +1 -0
  372. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts +165 -0
  373. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts.map +1 -0
  374. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js +2 -0
  375. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js.map +1 -0
  376. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +50 -101
  377. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
  378. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +287 -326
  379. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
  380. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +9 -0
  381. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
  382. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +10 -1
  383. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
  384. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts +4 -3
  385. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts.map +1 -1
  386. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js +232 -44
  387. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js.map +1 -1
  388. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts +7 -0
  389. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts.map +1 -1
  390. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js +22 -11
  391. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js.map +1 -1
  392. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts +12 -0
  393. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts.map +1 -1
  394. package/node_modules/@usejunior/docx-core/dist/primitives/index.js +11 -0
  395. package/node_modules/@usejunior/docx-core/dist/primitives/index.js.map +1 -1
  396. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts +4 -3
  397. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
  398. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +45 -3
  399. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
  400. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts +76 -0
  401. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts.map +1 -0
  402. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js +223 -0
  403. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js.map +1 -0
  404. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts +21 -3
  405. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts.map +1 -1
  406. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js +32 -10
  407. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js.map +1 -1
  408. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts +38 -0
  409. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts.map +1 -0
  410. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js +323 -0
  411. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js.map +1 -0
  412. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts +53 -0
  413. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts.map +1 -1
  414. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js +59 -0
  415. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js.map +1 -1
  416. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts +6 -4
  417. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts.map +1 -1
  418. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js +187 -91
  419. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js.map +1 -1
  420. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts +7 -0
  421. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts.map +1 -0
  422. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js +27 -0
  423. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js.map +1 -0
  424. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts +7 -0
  425. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts.map +1 -0
  426. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js +39 -0
  427. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js.map +1 -0
  428. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts +19 -0
  429. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
  430. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js +29 -0
  431. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js.map +1 -0
  432. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts +19 -0
  433. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts.map +1 -0
  434. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js +165 -0
  435. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js.map +1 -0
  436. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts +7 -0
  437. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts.map +1 -1
  438. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js +23 -4
  439. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js.map +1 -1
  440. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts +37 -0
  441. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts.map +1 -0
  442. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js +395 -0
  443. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js.map +1 -0
  444. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts +16 -0
  445. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts.map +1 -0
  446. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js +300 -0
  447. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js.map +1 -0
  448. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts +15 -0
  449. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts.map +1 -0
  450. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js +154 -0
  451. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js.map +1 -0
  452. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts +15 -0
  453. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts.map +1 -1
  454. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js +33 -22
  455. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js.map +1 -1
  456. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts +19 -0
  457. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts.map +1 -0
  458. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js +189 -0
  459. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js.map +1 -0
  460. package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
  461. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +13 -3
  462. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
  463. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts +2 -1
  464. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts.map +1 -1
  465. package/node_modules/@usejunior/docx-core/dist/primitives/text.js +116 -12
  466. package/node_modules/@usejunior/docx-core/dist/primitives/text.js.map +1 -1
  467. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts +148 -0
  468. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts.map +1 -0
  469. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js +291 -0
  470. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js.map +1 -0
  471. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts +35 -0
  472. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
  473. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js +323 -0
  474. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js.map +1 -0
  475. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts +29 -0
  476. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts.map +1 -0
  477. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js +35 -0
  478. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js.map +1 -0
  479. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts +5 -0
  480. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
  481. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +5 -0
  482. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
  483. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts +1 -0
  484. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts.map +1 -1
  485. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js +21 -3
  486. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js.map +1 -1
  487. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts +14 -0
  488. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts.map +1 -0
  489. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js +166 -0
  490. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js.map +1 -0
  491. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts +4 -1
  492. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts.map +1 -1
  493. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js +4 -1
  494. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js.map +1 -1
  495. package/node_modules/@usejunior/docx-core/package.json +13 -9
  496. package/node_modules/@xmldom/xmldom/CHANGELOG.md +186 -70
  497. package/node_modules/@xmldom/xmldom/index.d.ts +144 -19
  498. package/node_modules/@xmldom/xmldom/lib/dom.js +705 -343
  499. package/node_modules/@xmldom/xmldom/lib/grammar.js +14 -0
  500. package/node_modules/@xmldom/xmldom/package.json +13 -10
  501. package/package.json +7 -7
  502. package/server.json +3 -3
  503. package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/SKILL.md +2 -2
  504. package/skills/{nda → agreements/cloud-service-agreement}/template-filling-execution.md +2 -2
  505. package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/SKILL.md +15 -4
  506. package/skills/{safe → agreements/data-privacy-agreement}/template-filling-execution.md +12 -6
  507. package/skills/{employment-contract → agreements/employment-contract}/SKILL.md +3 -3
  508. package/skills/{cloud-service-agreement → agreements/employment-contract}/template-filling-execution.md +12 -6
  509. package/skills/{nda → agreements/nda}/SKILL.md +2 -2
  510. package/skills/{open-agreements → agreements/nda}/template-filling-execution.md +12 -6
  511. package/skills/{open-agreements → agreements/open-agreements}/SKILL.md +13 -30
  512. package/skills/agreements/open-agreements/template-filling-execution.md +98 -0
  513. package/skills/{safe → agreements/safe}/SKILL.md +2 -2
  514. package/skills/agreements/safe/template-filling-execution.md +98 -0
  515. package/skills/{services-agreement → agreements/services-agreement}/SKILL.md +3 -3
  516. package/skills/agreements/services-agreement/template-filling-execution.md +98 -0
  517. package/skills/{venture-financing → agreements/venture-financing}/SKILL.md +3 -3
  518. package/skills/agreements/venture-financing/template-filling-execution.md +98 -0
  519. package/skills/{client-email → client-workflows/client-email}/SKILL.md +1 -1
  520. package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/SKILL.md +1 -1
  521. package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/SKILL.md +1 -1
  522. package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/SKILL.md +1 -1
  523. package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/SKILL.md +1 -1
  524. package/skills/{soc2-readiness → compliance/soc2-readiness}/SKILL.md +1 -1
  525. package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/SKILL.md +2 -3
  526. package/skills/{recipe-quality-audit → internal/recipe-quality-audit}/SKILL.md +2 -1
  527. package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/SKILL.md +2 -0
  528. package/skills/legal-explainers/data-privacy-law-explainer/CONTRIBUTING.md +7 -0
  529. package/skills/legal-explainers/data-privacy-law-explainer/LICENSE +269 -0
  530. package/skills/legal-explainers/data-privacy-law-explainer/NOTICE +7 -0
  531. package/skills/legal-explainers/data-privacy-law-explainer/SKILL.md +113 -0
  532. package/skills/legal-explainers/data-privacy-law-explainer/content/alabama.md +211 -0
  533. package/skills/legal-explainers/data-privacy-law-explainer/content/alaska.md +155 -0
  534. package/skills/legal-explainers/data-privacy-law-explainer/content/arizona.md +181 -0
  535. package/skills/legal-explainers/data-privacy-law-explainer/content/arkansas.md +219 -0
  536. package/skills/legal-explainers/data-privacy-law-explainer/content/california.md +107 -0
  537. package/skills/legal-explainers/data-privacy-law-explainer/content/colorado.md +87 -0
  538. package/skills/legal-explainers/data-privacy-law-explainer/content/connecticut.md +83 -0
  539. package/skills/legal-explainers/data-privacy-law-explainer/content/delaware.md +85 -0
  540. package/skills/legal-explainers/data-privacy-law-explainer/content/district-of-columbia.md +153 -0
  541. package/skills/legal-explainers/data-privacy-law-explainer/content/florida.md +234 -0
  542. package/skills/legal-explainers/data-privacy-law-explainer/content/georgia.md +149 -0
  543. package/skills/legal-explainers/data-privacy-law-explainer/content/hawaii.md +167 -0
  544. package/skills/legal-explainers/data-privacy-law-explainer/content/idaho.md +149 -0
  545. package/skills/legal-explainers/data-privacy-law-explainer/content/illinois.md +238 -0
  546. package/skills/legal-explainers/data-privacy-law-explainer/content/indiana.md +93 -0
  547. package/skills/legal-explainers/data-privacy-law-explainer/content/iowa.md +99 -0
  548. package/skills/legal-explainers/data-privacy-law-explainer/content/kansas.md +155 -0
  549. package/skills/legal-explainers/data-privacy-law-explainer/content/kentucky.md +87 -0
  550. package/skills/legal-explainers/data-privacy-law-explainer/content/louisiana.md +209 -0
  551. package/skills/legal-explainers/data-privacy-law-explainer/content/maine.md +163 -0
  552. package/skills/legal-explainers/data-privacy-law-explainer/content/maryland.md +85 -0
  553. package/skills/legal-explainers/data-privacy-law-explainer/content/massachusetts.md +260 -0
  554. package/skills/legal-explainers/data-privacy-law-explainer/content/michigan.md +175 -0
  555. package/skills/legal-explainers/data-privacy-law-explainer/content/minnesota.md +93 -0
  556. package/skills/legal-explainers/data-privacy-law-explainer/content/mississippi.md +132 -0
  557. package/skills/legal-explainers/data-privacy-law-explainer/content/missouri.md +179 -0
  558. package/skills/legal-explainers/data-privacy-law-explainer/content/montana.md +105 -0
  559. package/skills/legal-explainers/data-privacy-law-explainer/content/nebraska.md +83 -0
  560. package/skills/legal-explainers/data-privacy-law-explainer/content/nevada.md +212 -0
  561. package/skills/legal-explainers/data-privacy-law-explainer/content/new-hampshire.md +91 -0
  562. package/skills/legal-explainers/data-privacy-law-explainer/content/new-jersey.md +95 -0
  563. package/skills/legal-explainers/data-privacy-law-explainer/content/new-mexico.md +174 -0
  564. package/skills/legal-explainers/data-privacy-law-explainer/content/new-york.md +195 -0
  565. package/skills/legal-explainers/data-privacy-law-explainer/content/north-carolina.md +205 -0
  566. package/skills/legal-explainers/data-privacy-law-explainer/content/north-dakota.md +169 -0
  567. package/skills/legal-explainers/data-privacy-law-explainer/content/ohio.md +171 -0
  568. package/skills/legal-explainers/data-privacy-law-explainer/content/oklahoma.md +168 -0
  569. package/skills/legal-explainers/data-privacy-law-explainer/content/oregon.md +103 -0
  570. package/skills/legal-explainers/data-privacy-law-explainer/content/pennsylvania.md +99 -0
  571. package/skills/legal-explainers/data-privacy-law-explainer/content/rhode-island.md +93 -0
  572. package/skills/legal-explainers/data-privacy-law-explainer/content/south-carolina.md +175 -0
  573. package/skills/legal-explainers/data-privacy-law-explainer/content/south-dakota.md +176 -0
  574. package/skills/legal-explainers/data-privacy-law-explainer/content/tennessee.md +89 -0
  575. package/skills/legal-explainers/data-privacy-law-explainer/content/texas.md +89 -0
  576. package/skills/legal-explainers/data-privacy-law-explainer/content/utah.md +83 -0
  577. package/skills/legal-explainers/data-privacy-law-explainer/content/vermont.md +267 -0
  578. package/skills/legal-explainers/data-privacy-law-explainer/content/virginia.md +85 -0
  579. package/skills/legal-explainers/data-privacy-law-explainer/content/washington.md +247 -0
  580. package/skills/legal-explainers/data-privacy-law-explainer/content/west-virginia.md +141 -0
  581. package/skills/legal-explainers/data-privacy-law-explainer/content/wisconsin.md +156 -0
  582. package/skills/legal-explainers/data-privacy-law-explainer/content/wyoming.md +185 -0
  583. package/skills/legal-explainers/data-privacy-law-explainer/manifest.json +519 -0
  584. package/skills/legal-explainers/non-compete-contract-explainer/CONTRIBUTING.md +7 -0
  585. package/skills/legal-explainers/non-compete-contract-explainer/LICENSE +269 -0
  586. package/skills/legal-explainers/non-compete-contract-explainer/NOTICE +7 -0
  587. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/SKILL.md +1 -1
  588. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/alabama.md +5 -5
  589. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/alaska.md +5 -5
  590. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/american-samoa.md +6 -6
  591. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/arizona.md +6 -4
  592. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/arkansas.md +5 -5
  593. package/skills/legal-explainers/non-compete-contract-explainer/content/au.md +208 -0
  594. package/skills/legal-explainers/non-compete-contract-explainer/content/australian-capital-territory.md +220 -0
  595. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/california.md +5 -5
  596. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/cnmi.md +4 -4
  597. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/colorado.md +5 -5
  598. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/connecticut.md +5 -5
  599. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/delaware.md +7 -7
  600. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/district-of-columbia.md +5 -5
  601. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/florida.md +5 -5
  602. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/georgia.md +7 -7
  603. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/guam.md +4 -4
  604. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/hawaii.md +5 -5
  605. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/idaho.md +5 -5
  606. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/illinois.md +5 -5
  607. package/skills/{non-compete-contract-explainer/content/india.md → legal-explainers/non-compete-contract-explainer/content/in.md} +5 -5
  608. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/indiana.md +5 -5
  609. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/iowa.md +5 -5
  610. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/kansas.md +5 -5
  611. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/kentucky.md +5 -5
  612. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/louisiana.md +9 -9
  613. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/maine.md +6 -6
  614. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/maryland.md +5 -5
  615. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/massachusetts.md +5 -5
  616. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/michigan.md +5 -5
  617. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/minnesota.md +5 -5
  618. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/mississippi.md +5 -5
  619. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/missouri.md +5 -5
  620. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/montana.md +5 -5
  621. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/nebraska.md +5 -5
  622. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/nevada.md +5 -5
  623. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-hampshire.md +5 -5
  624. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-jersey.md +5 -5
  625. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-mexico.md +5 -5
  626. package/skills/legal-explainers/non-compete-contract-explainer/content/new-south-wales.md +218 -0
  627. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/new-york.md +5 -5
  628. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/north-carolina.md +5 -5
  629. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/north-dakota.md +5 -5
  630. package/skills/legal-explainers/non-compete-contract-explainer/content/northern-territory.md +214 -0
  631. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/ohio.md +5 -5
  632. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/oklahoma.md +5 -5
  633. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/oregon.md +12 -12
  634. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/pennsylvania.md +5 -5
  635. package/skills/{non-compete-contract-explainer/content/philippines.md → legal-explainers/non-compete-contract-explainer/content/ph.md} +5 -5
  636. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/puerto-rico.md +4 -4
  637. package/skills/legal-explainers/non-compete-contract-explainer/content/queensland.md +206 -0
  638. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/rhode-island.md +5 -5
  639. package/skills/{non-compete-contract-explainer/content/singapore.md → legal-explainers/non-compete-contract-explainer/content/sg.md} +5 -5
  640. package/skills/legal-explainers/non-compete-contract-explainer/content/south-australia.md +236 -0
  641. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/south-carolina.md +5 -5
  642. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/south-dakota.md +5 -5
  643. package/skills/legal-explainers/non-compete-contract-explainer/content/tasmania.md +224 -0
  644. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/tennessee.md +5 -5
  645. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/texas.md +5 -5
  646. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/utah.md +5 -5
  647. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/vermont.md +29 -11
  648. package/skills/legal-explainers/non-compete-contract-explainer/content/victoria.md +218 -0
  649. package/skills/{non-compete-contract-explainer/content/us-virgin-islands.md → legal-explainers/non-compete-contract-explainer/content/virgin-islands.md} +5 -5
  650. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/virginia.md +5 -5
  651. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/washington.md +5 -5
  652. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/west-virginia.md +5 -5
  653. package/skills/legal-explainers/non-compete-contract-explainer/content/western-australia.md +224 -0
  654. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wisconsin.md +5 -5
  655. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wyoming.md +19 -15
  656. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/manifest.json +225 -76
  657. package/content/templates/bonterms-mutual-nda/signing.yaml +0 -35
  658. package/dist/core/signing-config.d.ts +0 -46
  659. package/dist/core/signing-config.d.ts.map +0 -1
  660. package/dist/core/signing-config.js +0 -67
  661. package/dist/core/signing-config.js.map +0 -1
  662. package/skills/services-agreement/template-filling-execution.md +0 -81
  663. package/skills/shared/template-filling-execution.md +0 -92
  664. /package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/CONNECTORS.md +0 -0
  665. /package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/CONNECTORS.md +0 -0
  666. /package/skills/{employment-contract → agreements/employment-contract}/CONNECTORS.md +0 -0
  667. /package/skills/{nda → agreements/nda}/CONNECTORS.md +0 -0
  668. /package/skills/{open-agreements → agreements/open-agreements}/CONNECTORS.md +0 -0
  669. /package/skills/{safe → agreements/safe}/CONNECTORS.md +0 -0
  670. /package/skills/{services-agreement → agreements/services-agreement}/CONNECTORS.md +0 -0
  671. /package/skills/{venture-financing → agreements/venture-financing}/CONNECTORS.md +0 -0
  672. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/CONNECTORS.md +0 -0
  673. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/ecorp-portal-playwright-notes.md +0 -0
  674. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/faq.md +0 -0
  675. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/filing-instructions.md +0 -0
  676. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/tax-calculation.md +0 -0
  677. /package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/CONNECTORS.md +0 -0
  678. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/CONNECTORS.md +0 -0
  679. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/api-exports.md +0 -0
  680. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/evidence-types.md +0 -0
  681. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/screenshot-guide.md +0 -0
  682. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/CONNECTORS.md +0 -0
  683. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/access-control.md +0 -0
  684. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/business-continuity.md +0 -0
  685. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/change-management.md +0 -0
  686. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/encryption.md +0 -0
  687. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/incident-response.md +0 -0
  688. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/isms-management.md +0 -0
  689. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/logging-monitoring.md +0 -0
  690. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/people-controls.md +0 -0
  691. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/supplier-management.md +0 -0
  692. /package/skills/{soc2-readiness → compliance/soc2-readiness}/CONNECTORS.md +0 -0
  693. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/change-vendor-management.md +0 -0
  694. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/communication-info.md +0 -0
  695. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-activities.md +0 -0
  696. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-environment.md +0 -0
  697. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/logical-access.md +0 -0
  698. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/monitoring-activities.md +0 -0
  699. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/optional-categories.md +0 -0
  700. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/privacy-criteria.md +0 -0
  701. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/risk-assessment.md +0 -0
  702. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/system-operations.md +0 -0
  703. /package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/CONNECTORS.md +0 -0
  704. /package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/references/allure-test-spec-writing-guide.md +0 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * word/fontTable.xml emitter.
3
+ *
4
+ * Emitted on every package. Word-authored documents declare a font table; we
5
+ * enumerate the fonts the spec actually references (the Calibri default plus any
6
+ * font named on a style, run, or numbering level) rather than a fixed stub, so the
7
+ * metadata is faithful — a run set in Georgia produces a Georgia entry. panose1 is
8
+ * omitted because we cannot derive it for an arbitrary font name, and Word tolerates
9
+ * its absence. The walk is pure over the spec, so output stays deterministic.
10
+ *
11
+ * The root is the WordprocessingML `w:fonts` font-table element.
12
+ */
13
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
14
+ import { OOXML, W } from '../../primitives/namespaces.js';
15
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
16
+ const FONT_TABLE_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml';
17
+ const FONT_TABLE_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable';
18
+ /** The docDefaults run font (see styles-part.ts DEFAULT_FONT); always declared. */
19
+ const DEFAULT_FONT = 'Calibri';
20
+ export function emitFontTablePart(spec, ctx) {
21
+ ctx.registerPart('word/fontTable.xml', FONT_TABLE_CONTENT_TYPE, FONT_TABLE_REL_TYPE);
22
+ const doc = parseXml(`<w:fonts xmlns:w="${OOXML.W_NS}"/>`);
23
+ const root = doc.documentElement;
24
+ for (const name of collectFonts(spec)) {
25
+ const font = createWmlElement(doc, W.font, { 'w:name': name });
26
+ font.appendChild(createWmlElement(doc, W.charset, { 'w:val': '00' }));
27
+ font.appendChild(createWmlElement(doc, W.family, { 'w:val': 'auto' }));
28
+ font.appendChild(createWmlElement(doc, W.pitch, { 'w:val': 'variable' }));
29
+ root.appendChild(font);
30
+ }
31
+ ctx.setFileContent('word/fontTable.xml', XML_DECL + serializeXml(doc));
32
+ }
33
+ /** Distinct fonts the spec references, sorted for determinism, default first. */
34
+ function collectFonts(spec) {
35
+ const names = new Set();
36
+ const add = (props) => {
37
+ if (props?.font)
38
+ names.add(props.font);
39
+ };
40
+ for (const style of spec.styles ?? [])
41
+ add(style.run);
42
+ for (const def of spec.numbering ?? []) {
43
+ for (const level of def.levels)
44
+ add(level.runProps);
45
+ }
46
+ for (const section of spec.sections) {
47
+ for (const set of [section.headers, section.footers]) {
48
+ for (const hf of [set?.default, set?.first, set?.even]) {
49
+ if (hf)
50
+ walkBlocks(hf.blocks, add);
51
+ }
52
+ }
53
+ walkBlocks(section.blocks, add);
54
+ }
55
+ names.delete(DEFAULT_FONT);
56
+ return [DEFAULT_FONT, ...Array.from(names).sort()];
57
+ }
58
+ function walkBlocks(blocks, add) {
59
+ for (const block of blocks) {
60
+ if (block.kind === 'paragraph') {
61
+ for (const run of block.runs) {
62
+ if (run.kind === 'text' || run.kind === 'field')
63
+ add(run);
64
+ }
65
+ }
66
+ else {
67
+ for (const row of block.rows) {
68
+ for (const cell of row.cells)
69
+ walkBlocks(cell.blocks, add);
70
+ }
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=font-table-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-table-part.js","sourceRoot":"","sources":["../../../src/generation/emit/font-table-part.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Header and footer part emitters.
3
+ *
4
+ * Each declared header/footer slot (default / first / even) becomes its own
5
+ * part — word/headerN.xml or word/footerN.xml — registered with a
6
+ * content-type override and a relationship from the main document part. The
7
+ * block content reuses the same paragraph/run emitters as the body, so a
8
+ * footer's "Page X of Y" field compiles through exactly the same five-part
9
+ * field machinery.
10
+ *
11
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.4
12
+ */
13
+ import type { CompileContext } from '../context.js';
14
+ import type { DocumentSpec } from '../types.js';
15
+ import type { BlockEmitContext } from './emit-context.js';
16
+ import type { SectionHeaderFooterRefs } from './section.js';
17
+ /**
18
+ * Allocate and emit every header/footer part, returning per-section
19
+ * reference maps for the sectPr emitter. Runs before the document part so
20
+ * relationship ids exist when sections bind their references.
21
+ */
22
+ export declare function emitHeaderFooterParts(spec: DocumentSpec, ctx: CompileContext, blockCtx?: BlockEmitContext): SectionHeaderFooterRefs[];
23
+ //# sourceMappingURL=header-footer-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-footer-part.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/header-footer-part.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAS5D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,EAAE,CAErI"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Header and footer part emitters.
3
+ *
4
+ * Each declared header/footer slot (default / first / even) becomes its own
5
+ * part — word/headerN.xml or word/footerN.xml — registered with a
6
+ * content-type override and a relationship from the main document part. The
7
+ * block content reuses the same paragraph/run emitters as the body, so a
8
+ * footer's "Page X of Y" field compiles through exactly the same five-part
9
+ * field machinery.
10
+ *
11
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.4
12
+ */
13
+ import { OOXML } from '../../primitives/namespaces.js';
14
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
15
+ import { buildBlock } from './table.js';
16
+ const HEADER_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml';
17
+ const FOOTER_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml';
18
+ const HEADER_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/header';
19
+ const FOOTER_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer';
20
+ const SLOT_ORDER = ['first', 'default', 'even'];
21
+ /**
22
+ * Allocate and emit every header/footer part, returning per-section
23
+ * reference maps for the sectPr emitter. Runs before the document part so
24
+ * relationship ids exist when sections bind their references.
25
+ */
26
+ export function emitHeaderFooterParts(spec, ctx, blockCtx) {
27
+ return spec.sections.map((section) => emitForSection(section, ctx, blockCtx));
28
+ }
29
+ function emitForSection(section, ctx, blockCtx) {
30
+ const refs = { headers: {}, footers: {} };
31
+ for (const slot of SLOT_ORDER) {
32
+ const header = section.headers?.[slot];
33
+ if (header) {
34
+ refs.headers[slot] = emitPart(header, ctx, 'header', blockCtx);
35
+ }
36
+ const footer = section.footers?.[slot];
37
+ if (footer) {
38
+ refs.footers[slot] = emitPart(footer, ctx, 'footer', blockCtx);
39
+ }
40
+ }
41
+ return refs;
42
+ }
43
+ /** @conformance ECMA-376 edition 5, Part 1 § 17.10.3 */
44
+ function emitPart(content, ctx, kind, blockCtx) {
45
+ const isHeader = kind === 'header';
46
+ const partName = isHeader ? ctx.allocateHeaderPartName() : ctx.allocateFooterPartName();
47
+ const part = ctx.registerPart(partName, isHeader ? HEADER_CONTENT_TYPE : FOOTER_CONTENT_TYPE, isHeader ? HEADER_REL_TYPE : FOOTER_REL_TYPE);
48
+ const rootTag = isHeader ? 'w:hdr' : 'w:ftr';
49
+ const doc = parseXml(`<${rootTag} xmlns:w="${OOXML.W_NS}" xmlns:r="${OOXML.R_NS}"/>`);
50
+ const root = doc.documentElement;
51
+ for (const block of content.blocks) {
52
+ root.appendChild(buildBlock(doc, block, blockCtx));
53
+ }
54
+ ctx.setFileContent(partName, XML_DECL + serializeXml(doc));
55
+ return part.documentRel.rId;
56
+ }
57
+ //# sourceMappingURL=header-footer-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-footer-part.js","sourceRoot":"","sources":["../../../src/generation/emit/header-footer-part.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,mBAAmB,GAAG,2EAA2E,CAAC;AACxG,MAAM,mBAAmB,GAAG,2EAA2E,CAAC;AACxG,MAAM,eAAe,GAAG,4EAA4E,CAAC;AACrG,MAAM,eAAe,GAAG,4EAA4E,CAAC;AAErG,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAkB,EAAE,GAAmB,EAAE,QAA2B;IACxG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,OAAoB,EAAE,GAAmB,EAAE,QAA2B;IAC5F,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wDAAwD;AACxD,SAAS,QAAQ,CAAC,OAAyB,EAAE,GAAmB,EAAE,IAAyB,EAAE,QAA2B;IACtH,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IACxF,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAC3B,QAAQ,EACR,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EACpD,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAC7C,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,OAAO,aAAa,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,GAAG,CAAC,eAAgB,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,WAAY,CAAC,GAAG,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * word/numbering.xml emitter.
3
+ *
4
+ * Each NumberingSpec compiles to one abstract definition plus one instance:
5
+ * the spec's string handle (`numId`) maps to sequential numeric ids assigned
6
+ * in declaration order, so identical specs always produce identical ids. The
7
+ * returned map is what lets paragraph `w:numPr` references bind to the
8
+ * numeric `w:numId` deterministically.
9
+ *
10
+ * Level children follow the CT_Lvl sequence (start, numFmt, suff, lvlText,
11
+ * lvlJc, pPr, rPr); level run properties reuse the shared rPr builder so a
12
+ * bullet glyph's font serializes exactly like body formatting would.
13
+ *
14
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.16
15
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.1
16
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.15
17
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.2
18
+ */
19
+ import type { CompileContext } from '../context.js';
20
+ import type { DocumentSpec } from '../types.js';
21
+ import type { NumberingIdMap } from './emit-context.js';
22
+ export declare const NUMBERING_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml";
23
+ export declare const NUMBERING_REL_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering";
24
+ /**
25
+ * Emit word/numbering.xml when the spec declares numbering definitions.
26
+ * Returns the handle → numeric id map (empty when no part is emitted).
27
+ */
28
+ export declare function emitNumberingPartIfNeeded(spec: DocumentSpec, ctx: CompileContext): NumberingIdMap;
29
+ //# sourceMappingURL=numbering-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbering-part.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/numbering-part.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,eAAO,MAAM,sBAAsB,iFAC6C,CAAC;AACjF,eAAO,MAAM,kBAAkB,kFACkD,CAAC;AAIlF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,cAAc,CA0BjG"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * word/numbering.xml emitter.
3
+ *
4
+ * Each NumberingSpec compiles to one abstract definition plus one instance:
5
+ * the spec's string handle (`numId`) maps to sequential numeric ids assigned
6
+ * in declaration order, so identical specs always produce identical ids. The
7
+ * returned map is what lets paragraph `w:numPr` references bind to the
8
+ * numeric `w:numId` deterministically.
9
+ *
10
+ * Level children follow the CT_Lvl sequence (start, numFmt, suff, lvlText,
11
+ * lvlJc, pPr, rPr); level run properties reuse the shared rPr builder so a
12
+ * bullet glyph's font serializes exactly like body formatting would.
13
+ *
14
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.16
15
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.1
16
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.15
17
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.2
18
+ */
19
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
20
+ import { OOXML, W } from '../../primitives/namespaces.js';
21
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
22
+ import { resolveThemeColorValues } from '../theme-colors.js';
23
+ import { buildRunPropsElement } from './properties.js';
24
+ export const NUMBERING_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml';
25
+ export const NUMBERING_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering';
26
+ const NUMBERING_SKELETON = `<w:numbering xmlns:w="${OOXML.W_NS}"/>`;
27
+ /**
28
+ * Emit word/numbering.xml when the spec declares numbering definitions.
29
+ * Returns the handle → numeric id map (empty when no part is emitted).
30
+ */
31
+ export function emitNumberingPartIfNeeded(spec, ctx) {
32
+ const ids = new Map();
33
+ const definitions = spec.numbering ?? [];
34
+ if (definitions.length === 0)
35
+ return ids;
36
+ ctx.registerPart('word/numbering.xml', NUMBERING_CONTENT_TYPE, NUMBERING_REL_TYPE);
37
+ const doc = parseXml(NUMBERING_SKELETON);
38
+ const root = doc.documentElement;
39
+ definitions.forEach((definition, index) => {
40
+ ids.set(definition.numId, index + 1);
41
+ });
42
+ const themeColorValues = resolveThemeColorValues(spec.theme);
43
+ // CT_Numbering sequence: every abstractNum precedes every num.
44
+ definitions.forEach((definition, index) => {
45
+ root.appendChild(buildAbstractNum(doc, definition, index, themeColorValues));
46
+ });
47
+ definitions.forEach((_definition, index) => {
48
+ const num = createWmlElement(doc, W.num, { 'w:numId': String(index + 1) });
49
+ num.appendChild(createWmlElement(doc, W.abstractNumId, { 'w:val': String(index) }));
50
+ root.appendChild(num);
51
+ });
52
+ ctx.setFileContent('word/numbering.xml', XML_DECL + serializeXml(doc));
53
+ return ids;
54
+ }
55
+ /**
56
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.12
57
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.6
58
+ */
59
+ function buildAbstractNum(doc, definition, abstractId, themeColorValues) {
60
+ const abstractNum = createWmlElement(doc, W.abstractNum, { 'w:abstractNumId': String(abstractId) });
61
+ abstractNum.appendChild(createWmlElement(doc, W.multiLevelType, {
62
+ 'w:val': definition.levels.length > 1 ? 'multilevel' : 'singleLevel',
63
+ }));
64
+ for (const level of definition.levels) {
65
+ abstractNum.appendChild(buildLevel(doc, level, themeColorValues));
66
+ }
67
+ return abstractNum;
68
+ }
69
+ /**
70
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.25
71
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.17
72
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.28
73
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.11
74
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.7
75
+ */
76
+ function buildLevel(doc, level, themeColorValues) {
77
+ const lvl = createWmlElement(doc, W.lvl, { 'w:ilvl': String(level.ilvl) });
78
+ lvl.appendChild(createWmlElement(doc, W.start, { 'w:val': String(level.start ?? 1) }));
79
+ lvl.appendChild(createWmlElement(doc, W.numFmt, { 'w:val': level.numFmt }));
80
+ if (level.suff !== undefined) {
81
+ lvl.appendChild(createWmlElement(doc, W.suff, { 'w:val': level.suff }));
82
+ }
83
+ lvl.appendChild(createWmlElement(doc, W.lvlText, { 'w:val': level.lvlText }));
84
+ lvl.appendChild(createWmlElement(doc, W.lvlJc, { 'w:val': level.lvlJc ?? 'left' }));
85
+ if (level.indentTwips !== undefined) {
86
+ const pPr = createWmlElement(doc, W.pPr);
87
+ const attrs = {};
88
+ if (level.indentTwips.left !== undefined)
89
+ attrs['w:left'] = String(level.indentTwips.left);
90
+ if (level.indentTwips.hanging !== undefined)
91
+ attrs['w:hanging'] = String(level.indentTwips.hanging);
92
+ pPr.appendChild(createWmlElement(doc, W.ind, attrs));
93
+ lvl.appendChild(pPr);
94
+ }
95
+ if (level.runProps !== undefined) {
96
+ const rPr = buildRunPropsElement(doc, level.runProps, { themeColorValues });
97
+ if (rPr)
98
+ lvl.appendChild(rPr);
99
+ }
100
+ return lvl;
101
+ }
102
+ //# sourceMappingURL=numbering-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbering-part.js","sourceRoot":"","sources":["../../../src/generation/emit/numbering-part.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * OPC package plumbing: [Content_Types].xml, package/part relationships, and
3
+ * document properties. Built with the same skeleton-parse + namespace-aware
4
+ * DOM approach as the WML parts — no string concatenation of dynamic values.
5
+ *
6
+ * docProps/core.xml dates come exclusively from the spec (meta.createdIso);
7
+ * generation never reads the clock, keeping output byte-deterministic.
8
+ */
9
+ import type { CompileContext } from '../context.js';
10
+ import type { DocumentSpec } from '../types.js';
11
+ export declare const CONTENT_TYPES: {
12
+ readonly document: "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml";
13
+ readonly coreProps: "application/vnd.openxmlformats-package.core-properties+xml";
14
+ readonly extendedProps: "application/vnd.openxmlformats-officedocument.extended-properties+xml";
15
+ readonly relationships: "application/vnd.openxmlformats-package.relationships+xml";
16
+ };
17
+ export declare const REL_TYPES: {
18
+ readonly officeDocument: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
19
+ readonly coreProps: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";
20
+ readonly extendedProps: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";
21
+ };
22
+ /** Emit every package-plumbing part into the context's file map. */
23
+ export declare function emitPackageParts(spec: DocumentSpec, ctx: CompileContext): void;
24
+ //# sourceMappingURL=package-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-parts.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/package-parts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAWX,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAM9E"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * OPC package plumbing: [Content_Types].xml, package/part relationships, and
3
+ * document properties. Built with the same skeleton-parse + namespace-aware
4
+ * DOM approach as the WML parts — no string concatenation of dynamic values.
5
+ *
6
+ * docProps/core.xml dates come exclusively from the spec (meta.createdIso);
7
+ * generation never reads the clock, keeping output byte-deterministic.
8
+ */
9
+ import { OOXML } from '../../primitives/namespaces.js';
10
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
11
+ export const CONTENT_TYPES = {
12
+ document: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml',
13
+ coreProps: 'application/vnd.openxmlformats-package.core-properties+xml',
14
+ extendedProps: 'application/vnd.openxmlformats-officedocument.extended-properties+xml',
15
+ relationships: 'application/vnd.openxmlformats-package.relationships+xml',
16
+ };
17
+ export const REL_TYPES = {
18
+ officeDocument: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument',
19
+ coreProps: 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties',
20
+ extendedProps: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',
21
+ };
22
+ const CORE_PROPS_NS = {
23
+ cp: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',
24
+ dc: 'http://purl.org/dc/elements/1.1/',
25
+ dcterms: 'http://purl.org/dc/terms/',
26
+ xsi: 'http://www.w3.org/2001/XMLSchema-instance',
27
+ };
28
+ const EXTENDED_PROPS_NS = 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties';
29
+ /** Emit every package-plumbing part into the context's file map. */
30
+ export function emitPackageParts(spec, ctx) {
31
+ ctx.setFileContent('docProps/core.xml', emitCoreProps(spec));
32
+ ctx.setFileContent('docProps/app.xml', emitAppProps());
33
+ ctx.setFileContent('_rels/.rels', emitPackageRels());
34
+ ctx.setFileContent('word/_rels/document.xml.rels', emitDocumentRels(ctx));
35
+ ctx.setFileContent('[Content_Types].xml', emitContentTypes(ctx));
36
+ }
37
+ function emitContentTypes(ctx) {
38
+ const doc = parseXml(`<Types xmlns="${OOXML.CT_NS}"/>`);
39
+ const root = doc.documentElement;
40
+ const addDefault = (extension, contentType) => {
41
+ const el = doc.createElementNS(OOXML.CT_NS, 'Default');
42
+ el.setAttribute('Extension', extension);
43
+ el.setAttribute('ContentType', contentType);
44
+ root.appendChild(el);
45
+ };
46
+ const addOverride = (partName, contentType) => {
47
+ const el = doc.createElementNS(OOXML.CT_NS, 'Override');
48
+ el.setAttribute('PartName', partName);
49
+ el.setAttribute('ContentType', contentType);
50
+ root.appendChild(el);
51
+ };
52
+ addDefault('rels', CONTENT_TYPES.relationships);
53
+ addDefault('xml', 'application/xml');
54
+ addOverride('/word/document.xml', CONTENT_TYPES.document);
55
+ addOverride('/docProps/core.xml', CONTENT_TYPES.coreProps);
56
+ addOverride('/docProps/app.xml', CONTENT_TYPES.extendedProps);
57
+ for (const part of ctx.registeredParts()) {
58
+ addOverride(`/${part.name}`, part.contentType);
59
+ }
60
+ return XML_DECL + serializeXml(doc);
61
+ }
62
+ function emitPackageRels() {
63
+ const doc = parseXml(`<Relationships xmlns="${OOXML.REL_NS}"/>`);
64
+ const root = doc.documentElement;
65
+ const add = (id, type, target) => {
66
+ const el = doc.createElementNS(OOXML.REL_NS, 'Relationship');
67
+ el.setAttribute('Id', id);
68
+ el.setAttribute('Type', type);
69
+ el.setAttribute('Target', target);
70
+ root.appendChild(el);
71
+ };
72
+ add('rId1', REL_TYPES.officeDocument, 'word/document.xml');
73
+ add('rId2', REL_TYPES.coreProps, 'docProps/core.xml');
74
+ add('rId3', REL_TYPES.extendedProps, 'docProps/app.xml');
75
+ return XML_DECL + serializeXml(doc);
76
+ }
77
+ function emitDocumentRels(ctx) {
78
+ const doc = parseXml(`<Relationships xmlns="${OOXML.REL_NS}"/>`);
79
+ const root = doc.documentElement;
80
+ for (const part of ctx.documentRelParts()) {
81
+ const el = doc.createElementNS(OOXML.REL_NS, 'Relationship');
82
+ el.setAttribute('Id', part.documentRel.rId);
83
+ el.setAttribute('Type', part.documentRel.type);
84
+ // Targets are resolved relative to word/, the directory owning document.xml.
85
+ el.setAttribute('Target', part.name.replace(/^word\//, ''));
86
+ root.appendChild(el);
87
+ }
88
+ return XML_DECL + serializeXml(doc);
89
+ }
90
+ function emitCoreProps(spec) {
91
+ const doc = parseXml(`<cp:coreProperties xmlns:cp="${CORE_PROPS_NS.cp}" xmlns:dc="${CORE_PROPS_NS.dc}"` +
92
+ ` xmlns:dcterms="${CORE_PROPS_NS.dcterms}" xmlns:xsi="${CORE_PROPS_NS.xsi}"/>`);
93
+ const root = doc.documentElement;
94
+ const meta = spec.meta;
95
+ const addText = (ns, qname, text, attrs) => {
96
+ const el = doc.createElementNS(ns, qname);
97
+ if (attrs)
98
+ for (const [k, v] of Object.entries(attrs))
99
+ el.setAttribute(k, v);
100
+ el.appendChild(doc.createTextNode(text));
101
+ root.appendChild(el);
102
+ };
103
+ if (meta?.title)
104
+ addText(CORE_PROPS_NS.dc, 'dc:title', meta.title);
105
+ if (meta?.author)
106
+ addText(CORE_PROPS_NS.dc, 'dc:creator', meta.author);
107
+ if (meta?.createdIso) {
108
+ addText(CORE_PROPS_NS.dcterms, 'dcterms:created', meta.createdIso, { 'xsi:type': 'dcterms:W3CDTF' });
109
+ addText(CORE_PROPS_NS.dcterms, 'dcterms:modified', meta.createdIso, { 'xsi:type': 'dcterms:W3CDTF' });
110
+ }
111
+ return XML_DECL + serializeXml(doc);
112
+ }
113
+ function emitAppProps() {
114
+ const doc = parseXml(`<Properties xmlns="${EXTENDED_PROPS_NS}"/>`);
115
+ const root = doc.documentElement;
116
+ const app = doc.createElementNS(EXTENDED_PROPS_NS, 'Application');
117
+ app.appendChild(doc.createTextNode('safe-docx'));
118
+ root.appendChild(app);
119
+ return XML_DECL + serializeXml(doc);
120
+ }
121
+ //# sourceMappingURL=package-parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-parts.js","sourceRoot":"","sources":["../../../src/generation/emit/package-parts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Paragraph emitter.
3
+ *
4
+ * Shipped: paragraphs with style references and direct formatting
5
+ * (alignment, spacing, indentation, tabs, keepNext, keepLines, pageBreakBefore), all
6
+ * routed through the shared pPr builder and PPR_ORDER. The section-break
7
+ * injection hook (a pPr-only sectPr) arrives with the multi-section phase.
8
+ */
9
+ import type { ParagraphSpec } from '../types.js';
10
+ import type { BlockEmitContext } from './emit-context.js';
11
+ /**
12
+ * List paragraphs reference their numbering definition through w:numPr
13
+ * (w:ilvl then w:numId, per CT_NumPr); the numeric id comes from the
14
+ * numbering part's deterministic handle map.
15
+ *
16
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.1.19
17
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.3
18
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.18
19
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.4
20
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.3
21
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.5
22
+ */
23
+ export declare function buildParagraph(doc: Document, paragraph: ParagraphSpec, ctx?: BlockEmitContext): Element;
24
+ //# sourceMappingURL=paragraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/paragraph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAsCvG"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Paragraph emitter.
3
+ *
4
+ * Shipped: paragraphs with style references and direct formatting
5
+ * (alignment, spacing, indentation, tabs, keepNext, keepLines, pageBreakBefore), all
6
+ * routed through the shared pPr builder and PPR_ORDER. The section-break
7
+ * injection hook (a pPr-only sectPr) arrives with the multi-section phase.
8
+ */
9
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
10
+ import { W } from '../../primitives/namespaces.js';
11
+ import { GenerationInternalError } from '../errors.js';
12
+ import { buildParagraphPropsElement } from './properties.js';
13
+ import { buildInlineRuns } from './run.js';
14
+ /**
15
+ * List paragraphs reference their numbering definition through w:numPr
16
+ * (w:ilvl then w:numId, per CT_NumPr); the numeric id comes from the
17
+ * numbering part's deterministic handle map.
18
+ *
19
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.1.19
20
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.3
21
+ * @conformance ECMA-376 edition 5, Part 1 § 17.9.18
22
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.4
23
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.3
24
+ * @conformance ECMA-376 edition 5, Part 1 § 17.13.4.5
25
+ */
26
+ export function buildParagraph(doc, paragraph, ctx) {
27
+ const p = createWmlElement(doc, W.p);
28
+ let extras;
29
+ if (paragraph.list !== undefined) {
30
+ const numericId = ctx?.numberingIds?.get(paragraph.list.numId);
31
+ if (numericId === undefined) {
32
+ throw new GenerationInternalError(`List paragraph references numbering handle '${paragraph.list.numId}' with no allocated numeric id`);
33
+ }
34
+ const numPr = createWmlElement(doc, W.numPr);
35
+ numPr.appendChild(createWmlElement(doc, W.ilvl, { 'w:val': String(paragraph.list.ilvl) }));
36
+ numPr.appendChild(createWmlElement(doc, W.numId, { 'w:val': String(numericId) }));
37
+ extras = new Map([[W.numPr, numPr]]);
38
+ }
39
+ const pPr = buildParagraphPropsElement(doc, paragraph, extras);
40
+ if (pPr)
41
+ p.appendChild(pPr);
42
+ // Drafting-note anchors: range markers bracket the paragraph's content and
43
+ // the reference run trails it (§ 17.13.4.4 / .3 / .5). Absent a collector
44
+ // (notes disabled, or a story that cannot carry them) the paragraph
45
+ // serializes without any trace of the note.
46
+ const noteId = paragraph.note !== undefined && ctx?.notes ? ctx.notes.allocate(paragraph.note) : undefined;
47
+ if (noteId !== undefined) {
48
+ p.appendChild(createWmlElement(doc, W.commentRangeStart, { 'w:id': String(noteId) }));
49
+ }
50
+ for (const inline of paragraph.runs) {
51
+ for (const run of buildInlineRuns(doc, inline, ctx)) {
52
+ p.appendChild(run);
53
+ }
54
+ }
55
+ if (noteId !== undefined) {
56
+ p.appendChild(createWmlElement(doc, W.commentRangeEnd, { 'w:id': String(noteId) }));
57
+ const referenceRun = createWmlElement(doc, W.r);
58
+ referenceRun.appendChild(createWmlElement(doc, W.commentReference, { 'w:id': String(noteId) }));
59
+ p.appendChild(referenceRun);
60
+ }
61
+ return p;
62
+ }
63
+ //# sourceMappingURL=paragraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraph.js","sourceRoot":"","sources":["../../../src/generation/emit/paragraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Shared property builders: RunProps → w:rPr and paragraph formatting → w:pPr
3
+ * child maps, used by both the body emitters (run.ts / paragraph.ts) and the
4
+ * styles-part emitter so direct formatting and style definitions can never
5
+ * drift apart. All children are routed through the ordering tables.
6
+ */
7
+ import type { ParagraphSpec, RunProps, StyleSpec, ThemeColorSlot } from '../types.js';
8
+ /** Paragraph-formatting subset shared by ParagraphSpec and StyleSpec.paragraph. */
9
+ export type ParagraphProps = Pick<ParagraphSpec, 'alignment' | 'spacing' | 'indent' | 'tabs' | 'pageBreakBefore' | 'keepNext' | 'keepLines'> & {
10
+ styleId?: string;
11
+ };
12
+ /**
13
+ * Build the ordered rPr children for a RunProps value. Returns null when no
14
+ * property is set so callers can omit the rPr container entirely.
15
+ *
16
+ * Complex-script twins (bCs/iCs/szCs) and the full rFonts script coverage
17
+ * (ascii + hAnsi + cs) are always emitted alongside their base properties so
18
+ * all script ranges agree.
19
+ *
20
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.28
21
+ */
22
+ export declare function buildRunPropsElement(doc: Document, props: RunProps, opts?: {
23
+ themeColorValues?: ReadonlyMap<ThemeColorSlot, string>;
24
+ }): Element | null;
25
+ /**
26
+ * Build the ordered pPr children for a paragraph-formatting subset. Returns
27
+ * null when nothing is set. The optional extras hook lets phase-specific
28
+ * callers add already-built children (e.g. a section break sectPr) that
29
+ * still go through the same ordering discipline.
30
+ *
31
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.1.26
32
+ */
33
+ export declare function buildParagraphPropsElement(doc: Document, props: ParagraphProps, extras?: ReadonlyMap<string, Element | Element[]>): Element | null;
34
+ /** Paragraph-formatting subset of a StyleSpec, normalized for the builder. */
35
+ export declare function styleParagraphProps(style: StyleSpec): ParagraphProps;
36
+ //# sourceMappingURL=properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/properties.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtF,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,aAAa,EACb,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAC3F,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AASzB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,EACf,IAAI,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;CAAE,GAChE,OAAO,GAAG,IAAI,CAoDhB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,GAChD,OAAO,GAAG,IAAI,CAqDhB;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,CAEpE"}