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,157 @@
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 { createWmlElement } from '../../primitives/dom-helpers.js';
8
+ import { W } from '../../primitives/namespaces.js';
9
+ import { appendInOrder, PPR_ORDER, RPR_ORDER } from '../ordering.js';
10
+ const ALIGNMENT_TO_JC = {
11
+ left: 'left',
12
+ center: 'center',
13
+ right: 'right',
14
+ justify: 'both',
15
+ };
16
+ /**
17
+ * Build the ordered rPr children for a RunProps value. Returns null when no
18
+ * property is set so callers can omit the rPr container entirely.
19
+ *
20
+ * Complex-script twins (bCs/iCs/szCs) and the full rFonts script coverage
21
+ * (ascii + hAnsi + cs) are always emitted alongside their base properties so
22
+ * all script ranges agree.
23
+ *
24
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.2.28
25
+ */
26
+ export function buildRunPropsElement(doc, props, opts) {
27
+ const children = new Map();
28
+ if (props.font !== undefined) {
29
+ children.set(W.rFonts, createWmlElement(doc, W.rFonts, {
30
+ 'w:ascii': props.font,
31
+ 'w:hAnsi': props.font,
32
+ 'w:cs': props.font,
33
+ }));
34
+ }
35
+ if (props.bold !== undefined) {
36
+ children.set(W.b, createWmlElement(doc, W.b, props.bold ? undefined : { 'w:val': '0' }));
37
+ children.set(W.bCs, createWmlElement(doc, W.bCs, props.bold ? undefined : { 'w:val': '0' }));
38
+ }
39
+ if (props.italic !== undefined) {
40
+ children.set(W.i, createWmlElement(doc, W.i, props.italic ? undefined : { 'w:val': '0' }));
41
+ children.set(W.iCs, createWmlElement(doc, W.iCs, props.italic ? undefined : { 'w:val': '0' }));
42
+ }
43
+ if (props.caps !== undefined) {
44
+ children.set(W.caps, createWmlElement(doc, W.caps, props.caps ? undefined : { 'w:val': '0' }));
45
+ }
46
+ if (props.smallCaps !== undefined) {
47
+ children.set(W.smallCaps, createWmlElement(doc, W.smallCaps, props.smallCaps ? undefined : { 'w:val': '0' }));
48
+ }
49
+ if (props.colorHex !== undefined || props.themeColor !== undefined) {
50
+ const attrs = {};
51
+ if (props.colorHex !== undefined)
52
+ attrs['w:val'] = props.colorHex;
53
+ if (props.themeColor !== undefined) {
54
+ attrs['w:themeColor'] = props.themeColor;
55
+ const fallback = opts?.themeColorValues?.get(props.themeColor);
56
+ if (fallback !== undefined && attrs['w:val'] === undefined)
57
+ attrs['w:val'] = fallback;
58
+ }
59
+ if (props.themeTint !== undefined)
60
+ attrs['w:themeTint'] = props.themeTint;
61
+ if (props.themeShade !== undefined)
62
+ attrs['w:themeShade'] = props.themeShade;
63
+ children.set(W.color, createWmlElement(doc, W.color, attrs));
64
+ }
65
+ if (props.sizePt !== undefined) {
66
+ const halfPoints = String(Math.round(props.sizePt * 2));
67
+ children.set(W.sz, createWmlElement(doc, W.sz, { 'w:val': halfPoints }));
68
+ children.set(W.szCs, createWmlElement(doc, W.szCs, { 'w:val': halfPoints }));
69
+ }
70
+ if (props.highlight !== undefined) {
71
+ children.set(W.highlight, createWmlElement(doc, W.highlight, { 'w:val': props.highlight }));
72
+ }
73
+ if (props.underline !== undefined) {
74
+ children.set(W.u, createWmlElement(doc, W.u, { 'w:val': props.underline }));
75
+ }
76
+ if (children.size === 0)
77
+ return null;
78
+ const rPr = createWmlElement(doc, W.rPr);
79
+ appendInOrder(rPr, children, RPR_ORDER);
80
+ return rPr;
81
+ }
82
+ /**
83
+ * Build the ordered pPr children for a paragraph-formatting subset. Returns
84
+ * null when nothing is set. The optional extras hook lets phase-specific
85
+ * callers add already-built children (e.g. a section break sectPr) that
86
+ * still go through the same ordering discipline.
87
+ *
88
+ * @conformance ECMA-376 edition 5, Part 1 § 17.3.1.26
89
+ */
90
+ export function buildParagraphPropsElement(doc, props, extras) {
91
+ const children = new Map();
92
+ if (props.styleId !== undefined) {
93
+ children.set(W.pStyle, createWmlElement(doc, W.pStyle, { 'w:val': props.styleId }));
94
+ }
95
+ if (props.keepNext) {
96
+ children.set(W.keepNext, createWmlElement(doc, W.keepNext));
97
+ }
98
+ if (props.keepLines) {
99
+ children.set(W.keepLines, createWmlElement(doc, W.keepLines));
100
+ }
101
+ if (props.pageBreakBefore) {
102
+ children.set(W.pageBreakBefore, createWmlElement(doc, W.pageBreakBefore));
103
+ }
104
+ if (props.tabs && props.tabs.length > 0) {
105
+ const tabs = createWmlElement(doc, W.tabs);
106
+ for (const stop of props.tabs) {
107
+ const attrs = { 'w:val': stop.align, 'w:pos': String(stop.posTwips) };
108
+ if (stop.leader && stop.leader !== 'none')
109
+ attrs['w:leader'] = stop.leader;
110
+ tabs.appendChild(createWmlElement(doc, W.tab, attrs));
111
+ }
112
+ children.set(W.tabs, tabs);
113
+ }
114
+ if (props.spacing) {
115
+ const attrs = {};
116
+ if (props.spacing.beforeTwips !== undefined)
117
+ attrs['w:before'] = String(props.spacing.beforeTwips);
118
+ if (props.spacing.afterTwips !== undefined)
119
+ attrs['w:after'] = String(props.spacing.afterTwips);
120
+ if (props.spacing.lineTwips !== undefined) {
121
+ attrs['w:line'] = String(props.spacing.lineTwips);
122
+ attrs['w:lineRule'] = props.spacing.lineRule ?? 'auto';
123
+ }
124
+ if (Object.keys(attrs).length > 0)
125
+ children.set(W.spacing, createWmlElement(doc, W.spacing, attrs));
126
+ }
127
+ if (props.indent) {
128
+ const attrs = {};
129
+ if (props.indent.leftTwips !== undefined)
130
+ attrs['w:left'] = String(props.indent.leftTwips);
131
+ if (props.indent.rightTwips !== undefined)
132
+ attrs['w:right'] = String(props.indent.rightTwips);
133
+ if (props.indent.firstLineTwips !== undefined)
134
+ attrs['w:firstLine'] = String(props.indent.firstLineTwips);
135
+ if (props.indent.hangingTwips !== undefined)
136
+ attrs['w:hanging'] = String(props.indent.hangingTwips);
137
+ if (Object.keys(attrs).length > 0)
138
+ children.set(W.ind, createWmlElement(doc, W.ind, attrs));
139
+ }
140
+ if (props.alignment !== undefined) {
141
+ children.set(W.jc, createWmlElement(doc, W.jc, { 'w:val': ALIGNMENT_TO_JC[props.alignment] }));
142
+ }
143
+ if (extras) {
144
+ for (const [name, value] of extras)
145
+ children.set(name, value);
146
+ }
147
+ if (children.size === 0)
148
+ return null;
149
+ const pPr = createWmlElement(doc, W.pPr);
150
+ appendInOrder(pPr, children, PPR_ORDER);
151
+ return pPr;
152
+ }
153
+ /** Paragraph-formatting subset of a StyleSpec, normalized for the builder. */
154
+ export function styleParagraphProps(style) {
155
+ return { ...style.paragraph };
156
+ }
157
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/generation/emit/properties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Inline-run emitter.
3
+ *
4
+ * Shipped: text runs with full RunProps formatting, tab and break runs, and
5
+ * complete five-part complex fields. A FieldSpec compiles to
6
+ * begin → instruction text → separate → cached result → end so reading
7
+ * applications always display a value without recomputation prompts — the
8
+ * required `cachedResult` makes the no-recovery-dialog property
9
+ * unrepresentable-by-omission. `w:dirty` is never set (it triggers
10
+ * update-fields prompts in some readers).
11
+ */
12
+ import type { InlineSpec } from '../types.js';
13
+ import type { BlockEmitContext } from './emit-context.js';
14
+ /** Build the w:r element(s) for one inline spec node. */
15
+ export declare function buildInlineRuns(doc: Document, inline: InlineSpec, ctx?: BlockEmitContext): Element[];
16
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAa,UAAU,EAAY,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAqC1D,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAsBpG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Inline-run emitter.
3
+ *
4
+ * Shipped: text runs with full RunProps formatting, tab and break runs, and
5
+ * complete five-part complex fields. A FieldSpec compiles to
6
+ * begin → instruction text → separate → cached result → end so reading
7
+ * applications always display a value without recomputation prompts — the
8
+ * required `cachedResult` makes the no-recovery-dialog property
9
+ * unrepresentable-by-omission. `w:dirty` is never set (it triggers
10
+ * update-fields prompts in some readers).
11
+ */
12
+ import { createWmlElement, createWmlTextElement } from '../../primitives/dom-helpers.js';
13
+ import { W } from '../../primitives/namespaces.js';
14
+ import { GenerationInternalError } from '../errors.js';
15
+ import { buildRunPropsElement } from './properties.js';
16
+ /** Instruction text per field, with the canonical surrounding spaces. */
17
+ const FIELD_INSTRUCTION_TEXT = {
18
+ PAGE: ' PAGE ',
19
+ NUMPAGES: ' NUMPAGES ',
20
+ };
21
+ function makeRun(doc, props, ctx, ...children) {
22
+ const run = createWmlElement(doc, W.r);
23
+ const rPr = buildRunPropsElement(doc, props, { themeColorValues: ctx?.themeColorValues });
24
+ if (rPr)
25
+ run.appendChild(rPr);
26
+ for (const child of children)
27
+ run.appendChild(child);
28
+ return run;
29
+ }
30
+ /**
31
+ * Five sibling runs per field: fldChar begin, preserved-space instruction
32
+ * text, fldChar separate, the cached result, fldChar end.
33
+ *
34
+ * @conformance ECMA-376 edition 5, Part 1 § 17.16.18
35
+ */
36
+ function buildFieldRuns(doc, field, ctx) {
37
+ const instr = createWmlElement(doc, W.instrText);
38
+ instr.setAttribute('xml:space', 'preserve');
39
+ instr.appendChild(doc.createTextNode(FIELD_INSTRUCTION_TEXT[field.field]));
40
+ return [
41
+ makeRun(doc, field, ctx, createWmlElement(doc, W.fldChar, { 'w:fldCharType': 'begin' })),
42
+ makeRun(doc, field, ctx, instr),
43
+ makeRun(doc, field, ctx, createWmlElement(doc, W.fldChar, { 'w:fldCharType': 'separate' })),
44
+ makeRun(doc, field, ctx, createWmlTextElement(doc, field.cachedResult)),
45
+ makeRun(doc, field, ctx, createWmlElement(doc, W.fldChar, { 'w:fldCharType': 'end' })),
46
+ ];
47
+ }
48
+ /** Build the w:r element(s) for one inline spec node. */
49
+ export function buildInlineRuns(doc, inline, ctx) {
50
+ switch (inline.kind) {
51
+ case 'text': {
52
+ const run = createWmlElement(doc, W.r);
53
+ const rPr = buildRunPropsElement(doc, inline, { themeColorValues: ctx?.themeColorValues });
54
+ if (rPr)
55
+ run.appendChild(rPr);
56
+ run.appendChild(createWmlTextElement(doc, inline.text));
57
+ return [run];
58
+ }
59
+ case 'field':
60
+ return buildFieldRuns(doc, inline, ctx);
61
+ case 'tab':
62
+ return [makeRun(doc, {}, ctx, createWmlElement(doc, W.tab))];
63
+ case 'break': {
64
+ const attrs = inline.breakType === 'page' ? { 'w:type': 'page' } : undefined;
65
+ return [makeRun(doc, {}, ctx, createWmlElement(doc, W.br, attrs))];
66
+ }
67
+ default:
68
+ throw new GenerationInternalError(`Inline kind '${inline.kind}' reached the run emitter without a shipped emitter`);
69
+ }
70
+ }
71
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/generation/emit/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Section-properties emitter.
3
+ *
4
+ * Shipped: page size/margins, page numbering, section break type, title-page
5
+ * switch, and header/footer references. The reference rIds come from the
6
+ * header/footer part allocation pass (emit/header-footer-part.ts), which runs
7
+ * before the document part so the sectPr can bind them.
8
+ */
9
+ import type { SectionSpec } from '../types.js';
10
+ /** Header/footer part references for one section, allocated by the parts pass. */
11
+ export type SectionHeaderFooterRefs = {
12
+ headers: Partial<Record<'default' | 'first' | 'even', string>>;
13
+ footers: Partial<Record<'default' | 'first' | 'even', string>>;
14
+ };
15
+ /**
16
+ * Build the w:sectPr element for a section.
17
+ *
18
+ * Width/height are always emitted explicitly (never reader defaults); a
19
+ * landscape request swaps the dimensions and sets w:orient. Header/footer
20
+ * references lead the child sequence; w:titlePg is implied whenever a
21
+ * first-page header or footer is present.
22
+ *
23
+ * @conformance ECMA-376 edition 5, Part 1 § 17.6.13
24
+ * @conformance ECMA-376 edition 5, Part 1 § 17.6.12
25
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.6
26
+ */
27
+ export declare function buildSectPr(doc: Document, section: SectionSpec, refs?: SectionHeaderFooterRefs): Element;
28
+ export declare function titlePgImplied(section: SectionSpec): boolean;
29
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/section.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB/C,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CA4BxG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAE5D"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Section-properties emitter.
3
+ *
4
+ * Shipped: page size/margins, page numbering, section break type, title-page
5
+ * switch, and header/footer references. The reference rIds come from the
6
+ * header/footer part allocation pass (emit/header-footer-part.ts), which runs
7
+ * before the document part so the sectPr can bind them.
8
+ */
9
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
10
+ import { OOXML, W } from '../../primitives/namespaces.js';
11
+ import { appendInOrder, SECTPR_ORDER } from '../ordering.js';
12
+ /** US Letter, in twentieths of a point. */
13
+ const DEFAULT_PAGE = { w: 12240, h: 15840 };
14
+ /** One-inch page margins, half-inch header/footer offsets, no gutter. */
15
+ const DEFAULT_MARGINS = {
16
+ top: 1440,
17
+ right: 1440,
18
+ bottom: 1440,
19
+ left: 1440,
20
+ header: 720,
21
+ footer: 720,
22
+ gutter: 0,
23
+ };
24
+ /**
25
+ * Build the w:sectPr element for a section.
26
+ *
27
+ * Width/height are always emitted explicitly (never reader defaults); a
28
+ * landscape request swaps the dimensions and sets w:orient. Header/footer
29
+ * references lead the child sequence; w:titlePg is implied whenever a
30
+ * first-page header or footer is present.
31
+ *
32
+ * @conformance ECMA-376 edition 5, Part 1 § 17.6.13
33
+ * @conformance ECMA-376 edition 5, Part 1 § 17.6.12
34
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.6
35
+ */
36
+ export function buildSectPr(doc, section, refs) {
37
+ const sectPr = createWmlElement(doc, W.sectPr);
38
+ const props = new Map();
39
+ if (refs) {
40
+ const headerRefs = buildReferences(doc, W.headerReference, refs.headers);
41
+ const footerRefs = buildReferences(doc, W.footerReference, refs.footers);
42
+ if (headerRefs.length > 0)
43
+ props.set(W.headerReference, headerRefs);
44
+ if (footerRefs.length > 0)
45
+ props.set(W.footerReference, footerRefs);
46
+ }
47
+ if (section.breakType !== undefined) {
48
+ props.set(W.type, createWmlElement(doc, W.type, { 'w:val': section.breakType }));
49
+ }
50
+ props.set(W.pgSz, buildPgSz(doc, section));
51
+ props.set(W.pgMar, buildPgMar(doc, section));
52
+ if (section.pageNumbering) {
53
+ const attrs = {};
54
+ if (section.pageNumbering.start !== undefined)
55
+ attrs['w:start'] = String(section.pageNumbering.start);
56
+ if (section.pageNumbering.format !== undefined)
57
+ attrs['w:fmt'] = section.pageNumbering.format;
58
+ props.set(W.pgNumType, createWmlElement(doc, W.pgNumType, attrs));
59
+ }
60
+ if (titlePgImplied(section)) {
61
+ props.set(W.titlePg, createWmlElement(doc, W.titlePg));
62
+ }
63
+ appendInOrder(sectPr, props, SECTPR_ORDER);
64
+ return sectPr;
65
+ }
66
+ export function titlePgImplied(section) {
67
+ return Boolean(section.titlePg || section.headers?.first || section.footers?.first);
68
+ }
69
+ /**
70
+ * One reference element per declared header/footer slot, in a fixed
71
+ * first/default/even emission order so output is deterministic.
72
+ *
73
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.5
74
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.2
75
+ */
76
+ function buildReferences(doc, localName, slots) {
77
+ const out = [];
78
+ for (const type of ['first', 'default', 'even']) {
79
+ const rId = slots[type];
80
+ if (!rId)
81
+ continue;
82
+ const el = createWmlElement(doc, localName, { 'w:type': type });
83
+ el.setAttributeNS(OOXML.R_NS, 'r:id', rId);
84
+ out.push(el);
85
+ }
86
+ return out;
87
+ }
88
+ function buildPgSz(doc, section) {
89
+ const requested = section.page?.sizeTwips ?? DEFAULT_PAGE;
90
+ const landscape = section.page?.orientation === 'landscape';
91
+ const w = landscape ? Math.max(requested.w, requested.h) : requested.w;
92
+ const h = landscape ? Math.min(requested.w, requested.h) : requested.h;
93
+ const attrs = { 'w:w': String(w), 'w:h': String(h) };
94
+ if (landscape)
95
+ attrs['w:orient'] = 'landscape';
96
+ return createWmlElement(doc, W.pgSz, attrs);
97
+ }
98
+ /**
99
+ * The full attribute set (top/right/bottom/left/header/footer/gutter) is
100
+ * always emitted because readers diverge in their defaults when attributes
101
+ * are omitted.
102
+ *
103
+ * @conformance ECMA-376 edition 5, Part 1 § 17.6.11
104
+ */
105
+ function buildPgMar(doc, section) {
106
+ const margins = { ...DEFAULT_MARGINS, ...section.page?.marginsTwips };
107
+ return createWmlElement(doc, W.pgMar, {
108
+ 'w:top': String(margins.top),
109
+ 'w:right': String(margins.right),
110
+ 'w:bottom': String(margins.bottom),
111
+ 'w:left': String(margins.left),
112
+ 'w:header': String(margins.header),
113
+ 'w:footer': String(margins.footer),
114
+ 'w:gutter': String(margins.gutter),
115
+ });
116
+ }
117
+ //# sourceMappingURL=section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../../src/generation/emit/section.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * word/settings.xml emitter.
3
+ *
4
+ * Only emitted when the document actually needs a setting: `w:evenAndOddHeaders`
5
+ * for any section declaring an even-page header or footer, or
6
+ * `w:clrSchemeMapping` when theme-relative authoring or a custom theme is used.
7
+ *
8
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.1
9
+ */
10
+ import type { CompileContext } from '../context.js';
11
+ import type { DocumentSpec } from '../types.js';
12
+ export declare function emitSettingsPartIfNeeded(spec: DocumentSpec, ctx: CompileContext): void;
13
+ //# sourceMappingURL=settings-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-part.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/settings-part.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAa,YAAY,EAA6B,MAAM,aAAa,CAAC;AAKtF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA6BtF"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * word/settings.xml emitter.
3
+ *
4
+ * Only emitted when the document actually needs a setting: `w:evenAndOddHeaders`
5
+ * for any section declaring an even-page header or footer, or
6
+ * `w:clrSchemeMapping` when theme-relative authoring or a custom theme is used.
7
+ *
8
+ * @conformance ECMA-376 edition 5, Part 1 § 17.10.1
9
+ */
10
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
11
+ import { OOXML, W } from '../../primitives/namespaces.js';
12
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
13
+ const SETTINGS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml';
14
+ const SETTINGS_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings';
15
+ export function emitSettingsPartIfNeeded(spec, ctx) {
16
+ const needsEvenOdd = spec.sections.some((s) => s.headers?.even || s.footers?.even);
17
+ const needsColorSchemeMapping = spec.theme !== undefined || usesThemeRelativeAuthoring(spec);
18
+ if (!needsEvenOdd && !needsColorSchemeMapping)
19
+ return;
20
+ ctx.registerPart('word/settings.xml', SETTINGS_CONTENT_TYPE, SETTINGS_REL_TYPE);
21
+ const doc = parseXml(`<w:settings xmlns:w="${OOXML.W_NS}"/>`);
22
+ if (needsEvenOdd) {
23
+ doc.documentElement.appendChild(createWmlElement(doc, W.evenAndOddHeaders));
24
+ }
25
+ if (needsColorSchemeMapping) {
26
+ doc.documentElement.appendChild(createWmlElement(doc, W.clrSchemeMapping, {
27
+ 'w:bg1': 'light1',
28
+ 'w:t1': 'dark1',
29
+ 'w:bg2': 'light2',
30
+ 'w:t2': 'dark2',
31
+ 'w:accent1': 'accent1',
32
+ 'w:accent2': 'accent2',
33
+ 'w:accent3': 'accent3',
34
+ 'w:accent4': 'accent4',
35
+ 'w:accent5': 'accent5',
36
+ 'w:accent6': 'accent6',
37
+ 'w:hyperlink': 'hyperlink',
38
+ 'w:followedHyperlink': 'followedHyperlink',
39
+ }));
40
+ }
41
+ ctx.setFileContent('word/settings.xml', XML_DECL + serializeXml(doc));
42
+ }
43
+ function usesThemeRelativeAuthoring(spec) {
44
+ if (spec.styles?.some((style) => style.run?.themeColor !== undefined))
45
+ return true;
46
+ if (spec.numbering?.some((numbering) => numbering.levels.some((level) => level.runProps?.themeColor !== undefined)))
47
+ return true;
48
+ return spec.sections.some((section) => {
49
+ const blocks = [
50
+ ...section.blocks,
51
+ ...Object.values(section.headers ?? {}).flatMap((story) => story?.blocks ?? []),
52
+ ...Object.values(section.footers ?? {}).flatMap((story) => story?.blocks ?? []),
53
+ ];
54
+ return blocks.some(blockUsesThemeRelativeAuthoring);
55
+ });
56
+ }
57
+ function blockUsesThemeRelativeAuthoring(block) {
58
+ if (block.kind === 'paragraph')
59
+ return block.runs.some(inlineUsesThemeRelativeAuthoring);
60
+ return block.rows.some((row) => row.cells.some(cellUsesThemeRelativeAuthoring));
61
+ }
62
+ function inlineUsesThemeRelativeAuthoring(inline) {
63
+ return (inline.kind === 'text' || inline.kind === 'field') && inline.themeColor !== undefined;
64
+ }
65
+ function cellUsesThemeRelativeAuthoring(cell) {
66
+ return cell.themeFill !== undefined || cell.blocks.some(blockUsesThemeRelativeAuthoring);
67
+ }
68
+ //# sourceMappingURL=settings-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-part.js","sourceRoot":"","sources":["../../../src/generation/emit/settings-part.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * word/styles.xml emitter.
3
+ *
4
+ * Always emitted: document defaults, the Normal paragraph style, and every
5
+ * declared StyleSpec. Style pPr/rPr go through the same shared property
6
+ * builders as direct formatting (emit/properties.ts), so a style definition
7
+ * and an inline run can never disagree on how a property serializes.
8
+ *
9
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.4.18
10
+ */
11
+ import type { CompileContext } from '../context.js';
12
+ import type { DocumentSpec } from '../types.js';
13
+ export declare const STYLES_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml";
14
+ export declare const STYLES_REL_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";
15
+ export declare function emitStylesPart(spec: DocumentSpec, ctx: CompileContext): void;
16
+ //# sourceMappingURL=styles-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-part.d.ts","sourceRoot":"","sources":["../../../src/generation/emit/styles-part.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,aAAa,CAAC;AAI3E,eAAO,MAAM,mBAAmB,8EAA8E,CAAC;AAC/G,eAAO,MAAM,eAAe,+EAA+E,CAAC;AAQ5G,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAc5E"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * word/styles.xml emitter.
3
+ *
4
+ * Always emitted: document defaults, the Normal paragraph style, and every
5
+ * declared StyleSpec. Style pPr/rPr go through the same shared property
6
+ * builders as direct formatting (emit/properties.ts), so a style definition
7
+ * and an inline run can never disagree on how a property serializes.
8
+ *
9
+ * @conformance ECMA-376 edition 5, Part 1 § 17.7.4.18
10
+ */
11
+ import { createWmlElement } from '../../primitives/dom-helpers.js';
12
+ import { OOXML, W } from '../../primitives/namespaces.js';
13
+ import { parseXml, serializeXml, XML_DECL } from '../../primitives/xml.js';
14
+ import { resolveThemeColorValues } from '../theme-colors.js';
15
+ import { buildParagraphPropsElement, buildRunPropsElement, styleParagraphProps } from './properties.js';
16
+ export const STYLES_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml';
17
+ export const STYLES_REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles';
18
+ const STYLES_SKELETON = `<w:styles xmlns:w="${OOXML.W_NS}"/>`;
19
+ /** Default run properties for docDefaults: Calibri 11pt, matching Word's baseline. */
20
+ const DEFAULT_FONT = 'Calibri';
21
+ const DEFAULT_SIZE_HALF_POINTS = '22';
22
+ export function emitStylesPart(spec, ctx) {
23
+ ctx.registerPart('word/styles.xml', STYLES_CONTENT_TYPE, STYLES_REL_TYPE);
24
+ const doc = parseXml(STYLES_SKELETON);
25
+ const root = doc.documentElement;
26
+ const themeColorValues = resolveThemeColorValues(spec.theme);
27
+ root.appendChild(buildDocDefaults(doc));
28
+ root.appendChild(buildNormalStyle(doc));
29
+ for (const style of spec.styles ?? []) {
30
+ root.appendChild(buildStyle(doc, style, themeColorValues));
31
+ }
32
+ ctx.setFileContent('word/styles.xml', XML_DECL + serializeXml(doc));
33
+ }
34
+ /** @conformance ECMA-376 edition 5, Part 1 § 17.7.5.1 */
35
+ function buildDocDefaults(doc) {
36
+ const docDefaults = createWmlElement(doc, W.docDefaults);
37
+ const rPrDefault = createWmlElement(doc, W.rPrDefault);
38
+ const rPr = createWmlElement(doc, W.rPr);
39
+ rPr.appendChild(createWmlElement(doc, W.rFonts, {
40
+ 'w:ascii': DEFAULT_FONT,
41
+ 'w:hAnsi': DEFAULT_FONT,
42
+ 'w:cs': DEFAULT_FONT,
43
+ }));
44
+ rPr.appendChild(createWmlElement(doc, W.sz, { 'w:val': DEFAULT_SIZE_HALF_POINTS }));
45
+ rPr.appendChild(createWmlElement(doc, W.szCs, { 'w:val': DEFAULT_SIZE_HALF_POINTS }));
46
+ rPrDefault.appendChild(rPr);
47
+ docDefaults.appendChild(rPrDefault);
48
+ const pPrDefault = createWmlElement(doc, W.pPrDefault);
49
+ docDefaults.appendChild(pPrDefault);
50
+ return docDefaults;
51
+ }
52
+ function buildNormalStyle(doc) {
53
+ const style = createWmlElement(doc, W.style, { 'w:type': 'paragraph', 'w:styleId': 'Normal', 'w:default': '1' });
54
+ style.appendChild(createWmlElement(doc, W.name, { 'w:val': 'Normal' }));
55
+ style.appendChild(createWmlElement(doc, W.qFormat));
56
+ return style;
57
+ }
58
+ /** @conformance ECMA-376 edition 5, Part 1 § 17.7.4.17 */
59
+ function buildStyle(doc, spec, themeColorValues) {
60
+ const style = createWmlElement(doc, W.style, { 'w:type': spec.type, 'w:styleId': spec.styleId });
61
+ style.appendChild(createWmlElement(doc, W.name, { 'w:val': spec.name }));
62
+ if (spec.basedOn !== undefined) {
63
+ style.appendChild(createWmlElement(doc, W.basedOn, { 'w:val': spec.basedOn }));
64
+ }
65
+ if (spec.next !== undefined) {
66
+ style.appendChild(createWmlElement(doc, W.next, { 'w:val': spec.next }));
67
+ }
68
+ style.appendChild(createWmlElement(doc, W.qFormat));
69
+ // CT_Style declares pPr before rPr.
70
+ if (spec.paragraph) {
71
+ const pPr = buildParagraphPropsElement(doc, styleParagraphProps(spec));
72
+ if (pPr)
73
+ style.appendChild(pPr);
74
+ }
75
+ if (spec.run) {
76
+ const rPr = buildRunPropsElement(doc, spec.run, { themeColorValues });
77
+ if (rPr)
78
+ style.appendChild(rPr);
79
+ }
80
+ return style;
81
+ }
82
+ //# sourceMappingURL=styles-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-part.js","sourceRoot":"","sources":["../../../src/generation/emit/styles-part.ts"],"names":[],"mappings":"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"}