documents.js 1.57.1 → 1.59.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 (462) hide show
  1. package/README.md +19 -7
  2. package/dist/blr-types-CYYC3yYU.d.cts +35 -0
  3. package/dist/blr-types-CYYC3yYU.d.ts +35 -0
  4. package/dist/cell-CNHPsDEk.d.cts +17 -0
  5. package/dist/cell-CNHPsDEk.d.ts +17 -0
  6. package/dist/color-71eoF1Up.d.cts +2 -0
  7. package/dist/color-Bo228AY2.d.ts +2 -0
  8. package/dist/convert/capability.cjs +198 -0
  9. package/dist/convert/capability.d.cts +42 -0
  10. package/dist/convert/capability.d.ts +42 -0
  11. package/dist/convert/capability.js +195 -0
  12. package/dist/convert/codec.cjs +56 -0
  13. package/dist/convert/codec.d.cts +14 -0
  14. package/dist/convert/codec.d.ts +14 -0
  15. package/dist/convert/codec.js +46 -0
  16. package/dist/convert/convert.cjs +467 -0
  17. package/dist/convert/convert.d.cts +57 -0
  18. package/dist/convert/convert.d.ts +57 -0
  19. package/dist/convert/convert.js +441 -0
  20. package/dist/convert/local.cjs +84 -0
  21. package/dist/convert/local.d.cts +5 -0
  22. package/dist/convert/local.d.ts +5 -0
  23. package/dist/convert/local.js +83 -0
  24. package/dist/convert/port.cjs +0 -0
  25. package/dist/convert/port.d.cts +34 -0
  26. package/dist/convert/port.d.ts +34 -0
  27. package/dist/convert/port.js +0 -0
  28. package/dist/edit/docx/content.cjs +71 -0
  29. package/dist/edit/docx/content.d.cts +6 -0
  30. package/dist/edit/docx/content.d.ts +6 -0
  31. package/dist/edit/docx/content.js +70 -0
  32. package/dist/edit/docx/editor.cjs +116 -0
  33. package/dist/edit/docx/editor.d.cts +23 -0
  34. package/dist/edit/docx/editor.d.ts +23 -0
  35. package/dist/edit/docx/editor.js +113 -0
  36. package/dist/edit/docx/image.cjs +74 -0
  37. package/dist/edit/docx/image.d.cts +2 -0
  38. package/dist/edit/docx/image.d.ts +2 -0
  39. package/dist/edit/docx/image.js +72 -0
  40. package/dist/edit/docx/paragraph.cjs +132 -0
  41. package/dist/edit/docx/paragraph.d.cts +40 -0
  42. package/dist/edit/docx/paragraph.d.ts +40 -0
  43. package/dist/edit/docx/paragraph.js +130 -0
  44. package/dist/edit/docx/props.cjs +132 -0
  45. package/dist/edit/docx/props.d.cts +20 -0
  46. package/dist/edit/docx/props.d.ts +20 -0
  47. package/dist/edit/docx/props.js +117 -0
  48. package/dist/edit/docx/run.cjs +143 -0
  49. package/dist/edit/docx/run.d.cts +2 -0
  50. package/dist/edit/docx/run.d.ts +2 -0
  51. package/dist/edit/docx/run.js +141 -0
  52. package/dist/edit/docx/scaffold.cjs +97 -0
  53. package/dist/edit/docx/scaffold.d.cts +5 -0
  54. package/dist/edit/docx/scaffold.d.ts +5 -0
  55. package/dist/edit/docx/scaffold.js +96 -0
  56. package/dist/edit/docx/table.cjs +99 -0
  57. package/dist/edit/docx/table.d.cts +34 -0
  58. package/dist/edit/docx/table.d.ts +34 -0
  59. package/dist/edit/docx/table.js +95 -0
  60. package/dist/edit/odg/content.cjs +65 -0
  61. package/dist/edit/odg/content.d.cts +6 -0
  62. package/dist/edit/odg/content.d.ts +6 -0
  63. package/dist/edit/odg/content.js +64 -0
  64. package/dist/edit/odg/editor.cjs +96 -0
  65. package/dist/edit/odg/editor.d.cts +19 -0
  66. package/dist/edit/odg/editor.d.ts +19 -0
  67. package/dist/edit/odg/editor.js +93 -0
  68. package/dist/edit/odg/page.cjs +70 -0
  69. package/dist/edit/odg/page.d.cts +34 -0
  70. package/dist/edit/odg/page.d.ts +34 -0
  71. package/dist/edit/odg/page.js +69 -0
  72. package/dist/edit/odg/scaffold.cjs +106 -0
  73. package/dist/edit/odg/scaffold.d.cts +7 -0
  74. package/dist/edit/odg/scaffold.d.ts +7 -0
  75. package/dist/edit/odg/scaffold.js +103 -0
  76. package/dist/edit/odg/style.cjs +83 -0
  77. package/dist/edit/odg/style.d.cts +14 -0
  78. package/dist/edit/odg/style.d.ts +14 -0
  79. package/dist/edit/odg/style.js +78 -0
  80. package/dist/edit/odg/svg-path.cjs +30 -0
  81. package/dist/edit/odg/svg-path.d.cts +7 -0
  82. package/dist/edit/odg/svg-path.d.ts +7 -0
  83. package/dist/edit/odg/svg-path.js +27 -0
  84. package/dist/edit/odg/vector.cjs +208 -0
  85. package/dist/edit/odg/vector.d.cts +2 -0
  86. package/dist/edit/odg/vector.d.ts +2 -0
  87. package/dist/edit/odg/vector.js +201 -0
  88. package/dist/edit/odp/content.cjs +42 -0
  89. package/dist/edit/odp/content.d.cts +6 -0
  90. package/dist/edit/odp/content.d.ts +6 -0
  91. package/dist/edit/odp/content.js +41 -0
  92. package/dist/edit/odp/editor.cjs +113 -0
  93. package/dist/edit/odp/editor.d.cts +20 -0
  94. package/dist/edit/odp/editor.d.ts +20 -0
  95. package/dist/edit/odp/editor.js +110 -0
  96. package/dist/edit/odp/image.cjs +10 -0
  97. package/dist/edit/odp/image.d.cts +2 -0
  98. package/dist/edit/odp/image.d.ts +2 -0
  99. package/dist/edit/odp/image.js +9 -0
  100. package/dist/edit/odp/scaffold.cjs +108 -0
  101. package/dist/edit/odp/scaffold.d.cts +7 -0
  102. package/dist/edit/odp/scaffold.d.ts +7 -0
  103. package/dist/edit/odp/scaffold.js +105 -0
  104. package/dist/edit/odp/shape.cjs +133 -0
  105. package/dist/edit/odp/shape.d.cts +2 -0
  106. package/dist/edit/odp/shape.d.ts +2 -0
  107. package/dist/edit/odp/shape.js +130 -0
  108. package/dist/edit/odp/slide.cjs +80 -0
  109. package/dist/edit/odp/slide.d.cts +31 -0
  110. package/dist/edit/odp/slide.d.ts +31 -0
  111. package/dist/edit/odp/slide.js +79 -0
  112. package/dist/edit/ods/address.cjs +108 -0
  113. package/dist/edit/ods/address.d.cts +15 -0
  114. package/dist/edit/ods/address.d.ts +15 -0
  115. package/dist/edit/ods/address.js +97 -0
  116. package/dist/edit/ods/cell.cjs +177 -0
  117. package/dist/edit/ods/cell.d.cts +2 -0
  118. package/dist/edit/ods/cell.d.ts +2 -0
  119. package/dist/edit/ods/cell.js +176 -0
  120. package/dist/edit/ods/column-row.cjs +31 -0
  121. package/dist/edit/ods/column-row.d.cts +6 -0
  122. package/dist/edit/ods/column-row.d.ts +6 -0
  123. package/dist/edit/ods/column-row.js +29 -0
  124. package/dist/edit/ods/content.cjs +28 -0
  125. package/dist/edit/ods/content.d.cts +6 -0
  126. package/dist/edit/ods/content.d.ts +6 -0
  127. package/dist/edit/ods/content.js +27 -0
  128. package/dist/edit/ods/editor.cjs +84 -0
  129. package/dist/edit/ods/editor.d.cts +17 -0
  130. package/dist/edit/ods/editor.d.ts +17 -0
  131. package/dist/edit/ods/editor.js +81 -0
  132. package/dist/edit/ods/print-settings.cjs +90 -0
  133. package/dist/edit/ods/print-settings.d.cts +7 -0
  134. package/dist/edit/ods/print-settings.d.ts +7 -0
  135. package/dist/edit/ods/print-settings.js +88 -0
  136. package/dist/edit/ods/scaffold.cjs +129 -0
  137. package/dist/edit/ods/scaffold.d.cts +9 -0
  138. package/dist/edit/ods/scaffold.d.ts +9 -0
  139. package/dist/edit/ods/scaffold.js +124 -0
  140. package/dist/edit/ods/sheet.cjs +77 -0
  141. package/dist/edit/ods/sheet.d.cts +24 -0
  142. package/dist/edit/ods/sheet.d.ts +24 -0
  143. package/dist/edit/ods/sheet.js +76 -0
  144. package/dist/edit/odt/automatic-styles.cjs +49 -0
  145. package/dist/edit/odt/automatic-styles.d.cts +8 -0
  146. package/dist/edit/odt/automatic-styles.d.ts +8 -0
  147. package/dist/edit/odt/automatic-styles.js +45 -0
  148. package/dist/edit/odt/content.cjs +110 -0
  149. package/dist/edit/odt/content.d.cts +9 -0
  150. package/dist/edit/odt/content.d.ts +9 -0
  151. package/dist/edit/odt/content.js +108 -0
  152. package/dist/edit/odt/editor.cjs +98 -0
  153. package/dist/edit/odt/editor.d.cts +25 -0
  154. package/dist/edit/odt/editor.d.ts +25 -0
  155. package/dist/edit/odt/editor.js +95 -0
  156. package/dist/edit/odt/list.cjs +82 -0
  157. package/dist/edit/odt/list.d.cts +2 -0
  158. package/dist/edit/odt/list.d.ts +2 -0
  159. package/dist/edit/odt/list.js +79 -0
  160. package/dist/edit/odt/paragraph.cjs +84 -0
  161. package/dist/edit/odt/paragraph.d.cts +2 -0
  162. package/dist/edit/odt/paragraph.d.ts +2 -0
  163. package/dist/edit/odt/paragraph.js +82 -0
  164. package/dist/edit/odt/props.cjs +26 -0
  165. package/dist/edit/odt/props.d.cts +7 -0
  166. package/dist/edit/odt/props.d.ts +7 -0
  167. package/dist/edit/odt/props.js +23 -0
  168. package/dist/edit/odt/run.cjs +82 -0
  169. package/dist/edit/odt/run.d.cts +2 -0
  170. package/dist/edit/odt/run.d.ts +2 -0
  171. package/dist/edit/odt/run.js +80 -0
  172. package/dist/edit/odt/scaffold.cjs +109 -0
  173. package/dist/edit/odt/scaffold.d.cts +5 -0
  174. package/dist/edit/odt/scaffold.d.ts +5 -0
  175. package/dist/edit/odt/scaffold.js +108 -0
  176. package/dist/edit/odt/table.cjs +123 -0
  177. package/dist/edit/odt/table.d.cts +37 -0
  178. package/dist/edit/odt/table.d.ts +37 -0
  179. package/dist/edit/odt/table.js +119 -0
  180. package/dist/edit/pptx/content.cjs +49 -0
  181. package/dist/edit/pptx/content.d.cts +6 -0
  182. package/dist/edit/pptx/content.d.ts +6 -0
  183. package/dist/edit/pptx/content.js +48 -0
  184. package/dist/edit/pptx/editor.cjs +187 -0
  185. package/dist/edit/pptx/editor.d.cts +20 -0
  186. package/dist/edit/pptx/editor.d.ts +20 -0
  187. package/dist/edit/pptx/editor.js +184 -0
  188. package/dist/edit/pptx/image.cjs +27 -0
  189. package/dist/edit/pptx/image.d.cts +2 -0
  190. package/dist/edit/pptx/image.d.ts +2 -0
  191. package/dist/edit/pptx/image.js +26 -0
  192. package/dist/edit/pptx/scaffold.cjs +292 -0
  193. package/dist/edit/pptx/scaffold.d.cts +13 -0
  194. package/dist/edit/pptx/scaffold.d.ts +13 -0
  195. package/dist/edit/pptx/scaffold.js +283 -0
  196. package/dist/edit/pptx/shape.cjs +182 -0
  197. package/dist/edit/pptx/shape.d.cts +2 -0
  198. package/dist/edit/pptx/shape.d.ts +2 -0
  199. package/dist/edit/pptx/shape.js +179 -0
  200. package/dist/edit/pptx/slide.cjs +146 -0
  201. package/dist/edit/pptx/slide.d.cts +33 -0
  202. package/dist/edit/pptx/slide.d.ts +33 -0
  203. package/dist/edit/pptx/slide.js +145 -0
  204. package/dist/firebird/backup.cjs +150 -0
  205. package/dist/firebird/backup.d.cts +21 -0
  206. package/dist/firebird/backup.d.ts +21 -0
  207. package/dist/firebird/backup.js +145 -0
  208. package/dist/firebird/blr-types.cjs +118 -0
  209. package/dist/firebird/blr-types.d.cts +2 -0
  210. package/dist/firebird/blr-types.d.ts +2 -0
  211. package/dist/firebird/blr-types.js +90 -0
  212. package/dist/firebird/data.cjs +231 -0
  213. package/dist/firebird/data.d.cts +17 -0
  214. package/dist/firebird/data.d.ts +17 -0
  215. package/dist/firebird/data.js +228 -0
  216. package/dist/firebird/date.cjs +63 -0
  217. package/dist/firebird/date.d.cts +17 -0
  218. package/dist/firebird/date.d.ts +17 -0
  219. package/dist/firebird/date.js +58 -0
  220. package/dist/firebird/reader.cjs +157 -0
  221. package/dist/firebird/reader.d.cts +2 -0
  222. package/dist/firebird/reader.d.ts +2 -0
  223. package/dist/firebird/reader.js +154 -0
  224. package/dist/firebird/schema.cjs +91 -0
  225. package/dist/firebird/schema.d.cts +2 -0
  226. package/dist/firebird/schema.d.ts +2 -0
  227. package/dist/firebird/schema.js +89 -0
  228. package/dist/geometry-DvwdrIij.d.cts +5 -0
  229. package/dist/geometry-DvwdrIij.d.ts +5 -0
  230. package/dist/hsqldb/cache.cjs +88 -0
  231. package/dist/hsqldb/cache.d.cts +13 -0
  232. package/dist/hsqldb/cache.d.ts +13 -0
  233. package/dist/hsqldb/cache.js +84 -0
  234. package/dist/hsqldb/rowformat.cjs +222 -0
  235. package/dist/hsqldb/rowformat.d.cts +21 -0
  236. package/dist/hsqldb/rowformat.d.ts +21 -0
  237. package/dist/hsqldb/rowformat.js +218 -0
  238. package/dist/hsqldb/script.cjs +450 -0
  239. package/dist/hsqldb/script.d.cts +19 -0
  240. package/dist/hsqldb/script.d.ts +19 -0
  241. package/dist/hsqldb/script.js +447 -0
  242. package/dist/image-B-xQWYYS.d.ts +16 -0
  243. package/dist/image-BZDy72Jb.d.cts +16 -0
  244. package/dist/image-BfRLAD9B.d.cts +18 -0
  245. package/dist/image-BfRLAD9B.d.ts +18 -0
  246. package/dist/image-CeqwL-Qs.d.ts +14 -0
  247. package/dist/image-DWX6cNOD.d.cts +14 -0
  248. package/dist/index.cjs +204 -10863
  249. package/dist/index.d.cts +72 -1407
  250. package/dist/index.d.ts +72 -1407
  251. package/dist/index.js +68 -10728
  252. package/dist/layout/drawing.cjs +117 -0
  253. package/dist/layout/drawing.d.cts +13 -0
  254. package/dist/layout/drawing.d.ts +13 -0
  255. package/dist/layout/drawing.js +116 -0
  256. package/dist/layout/engine.cjs +216 -0
  257. package/dist/layout/engine.d.cts +19 -0
  258. package/dist/layout/engine.d.ts +19 -0
  259. package/dist/layout/engine.js +215 -0
  260. package/dist/layout/reconstruct.cjs +809 -0
  261. package/dist/layout/reconstruct.d.cts +12 -0
  262. package/dist/layout/reconstruct.d.ts +12 -0
  263. package/dist/layout/reconstruct.js +805 -0
  264. package/dist/layout/shared.cjs +104 -0
  265. package/dist/layout/shared.d.cts +15 -0
  266. package/dist/layout/shared.d.ts +15 -0
  267. package/dist/layout/shared.js +96 -0
  268. package/dist/layout/sheets.cjs +413 -0
  269. package/dist/layout/sheets.d.cts +14 -0
  270. package/dist/layout/sheets.d.ts +14 -0
  271. package/dist/layout/sheets.js +414 -0
  272. package/dist/layout/slides.cjs +194 -0
  273. package/dist/layout/slides.d.cts +25 -0
  274. package/dist/layout/slides.d.ts +25 -0
  275. package/dist/layout/slides.js +192 -0
  276. package/dist/list-BuBM9rwQ.d.cts +24 -0
  277. package/dist/list-CvKxhy3y.d.ts +24 -0
  278. package/dist/mathml/compose.cjs +53 -0
  279. package/dist/mathml/compose.d.cts +8 -0
  280. package/dist/mathml/compose.d.ts +8 -0
  281. package/dist/mathml/compose.js +49 -0
  282. package/dist/mathml/layout-types.cjs +0 -0
  283. package/dist/mathml/layout-types.d.cts +50 -0
  284. package/dist/mathml/layout-types.d.ts +50 -0
  285. package/dist/mathml/layout-types.js +0 -0
  286. package/dist/mathml/layout.cjs +373 -0
  287. package/dist/mathml/layout.d.cts +24 -0
  288. package/dist/mathml/layout.d.ts +24 -0
  289. package/dist/mathml/layout.js +371 -0
  290. package/dist/mathml/length.cjs +41 -0
  291. package/dist/mathml/length.d.cts +4 -0
  292. package/dist/mathml/length.d.ts +4 -0
  293. package/dist/mathml/length.js +40 -0
  294. package/dist/mathml/metrics.cjs +0 -0
  295. package/dist/mathml/metrics.d.cts +44 -0
  296. package/dist/mathml/metrics.d.ts +44 -0
  297. package/dist/mathml/metrics.js +0 -0
  298. package/dist/mathml/nodes.cjs +39 -0
  299. package/dist/mathml/nodes.d.cts +2 -0
  300. package/dist/mathml/nodes.d.ts +2 -0
  301. package/dist/mathml/nodes.js +32 -0
  302. package/dist/mathml/operators.cjs +189 -0
  303. package/dist/mathml/operators.d.cts +13 -0
  304. package/dist/mathml/operators.d.ts +13 -0
  305. package/dist/mathml/operators.js +188 -0
  306. package/dist/mathml/radical.cjs +46 -0
  307. package/dist/mathml/radical.d.cts +10 -0
  308. package/dist/mathml/radical.d.ts +10 -0
  309. package/dist/mathml/radical.js +45 -0
  310. package/dist/mathml/variant.cjs +1160 -0
  311. package/dist/mathml/variant.d.cts +7 -0
  312. package/dist/mathml/variant.d.ts +7 -0
  313. package/dist/mathml/variant.js +1157 -0
  314. package/dist/model/bytes.cjs +88 -0
  315. package/dist/model/bytes.d.cts +12 -0
  316. package/dist/model/bytes.d.ts +12 -0
  317. package/dist/model/bytes.js +80 -0
  318. package/dist/model/color.cjs +26 -0
  319. package/dist/model/color.d.cts +2 -0
  320. package/dist/model/color.d.ts +2 -0
  321. package/dist/model/color.js +2 -0
  322. package/dist/model/content.cjs +34 -0
  323. package/dist/model/content.d.cts +362 -0
  324. package/dist/model/content.d.ts +362 -0
  325. package/dist/model/content.js +32 -0
  326. package/dist/model/formula.cjs +0 -0
  327. package/dist/model/formula.d.cts +8 -0
  328. package/dist/model/formula.d.ts +8 -0
  329. package/dist/model/formula.js +0 -0
  330. package/dist/model/geometry.cjs +55 -0
  331. package/dist/model/geometry.d.cts +2 -0
  332. package/dist/model/geometry.d.ts +2 -0
  333. package/dist/model/geometry.js +12 -0
  334. package/dist/model/style.cjs +20 -0
  335. package/dist/model/style.d.cts +2 -0
  336. package/dist/model/style.d.ts +2 -0
  337. package/dist/model/style.js +2 -0
  338. package/dist/model/units.cjs +55 -0
  339. package/dist/model/units.d.cts +20 -0
  340. package/dist/model/units.d.ts +20 -0
  341. package/dist/model/units.js +38 -0
  342. package/dist/nodes-pArN9ilm.d.cts +27 -0
  343. package/dist/nodes-pArN9ilm.d.ts +27 -0
  344. package/dist/odb/csv.cjs +48 -0
  345. package/dist/odb/csv.d.cts +14 -0
  346. package/dist/odb/csv.d.ts +14 -0
  347. package/dist/odb/csv.js +45 -0
  348. package/dist/odb/read.cjs +87 -0
  349. package/dist/odb/read.d.cts +15 -0
  350. package/dist/odb/read.d.ts +15 -0
  351. package/dist/odb/read.js +85 -0
  352. package/dist/odb/spreadsheet.cjs +68 -0
  353. package/dist/odb/spreadsheet.d.cts +6 -0
  354. package/dist/odb/spreadsheet.d.ts +6 -0
  355. package/dist/odb/spreadsheet.js +67 -0
  356. package/dist/odf/formula/detect.cjs +29 -0
  357. package/dist/odf/formula/detect.d.cts +12 -0
  358. package/dist/odf/formula/detect.d.ts +12 -0
  359. package/dist/odf/formula/detect.js +28 -0
  360. package/dist/odf/formula/placeholder.cjs +37 -0
  361. package/dist/odf/formula/placeholder.d.cts +14 -0
  362. package/dist/odf/formula/placeholder.d.ts +14 -0
  363. package/dist/odf/formula/placeholder.js +36 -0
  364. package/dist/odf/formula/read.cjs +32 -0
  365. package/dist/odf/formula/read.d.cts +11 -0
  366. package/dist/odf/formula/read.d.ts +11 -0
  367. package/dist/odf/formula/read.js +30 -0
  368. package/dist/odf/odg/read.cjs +15 -0
  369. package/dist/odf/odg/read.d.cts +6 -0
  370. package/dist/odf/odg/read.d.ts +6 -0
  371. package/dist/odf/odg/read.js +14 -0
  372. package/dist/odf/odp/read.cjs +45 -0
  373. package/dist/odf/odp/read.d.cts +11 -0
  374. package/dist/odf/odp/read.d.ts +11 -0
  375. package/dist/odf/odp/read.js +44 -0
  376. package/dist/odf/ods/read.cjs +15 -0
  377. package/dist/odf/ods/read.d.cts +6 -0
  378. package/dist/odf/ods/read.d.ts +6 -0
  379. package/dist/odf/ods/read.js +14 -0
  380. package/dist/odf/odt/read.cjs +43 -0
  381. package/dist/odf/odt/read.d.cts +11 -0
  382. package/dist/odf/odt/read.d.ts +11 -0
  383. package/dist/odf/odt/read.js +42 -0
  384. package/dist/odf-package/manifest.cjs +62 -0
  385. package/dist/odf-package/manifest.d.cts +2 -0
  386. package/dist/odf-package/manifest.d.ts +2 -0
  387. package/dist/odf-package/manifest.js +2 -0
  388. package/dist/odf-package/media.cjs +34 -0
  389. package/dist/odf-package/media.d.cts +8 -0
  390. package/dist/odf-package/media.d.ts +8 -0
  391. package/dist/odf-package/media.js +34 -0
  392. package/dist/ooxml/docx/read.cjs +15 -0
  393. package/dist/ooxml/docx/read.d.cts +6 -0
  394. package/dist/ooxml/docx/read.d.ts +6 -0
  395. package/dist/ooxml/docx/read.js +14 -0
  396. package/dist/ooxml/pptx/read.cjs +15 -0
  397. package/dist/ooxml/pptx/read.d.cts +6 -0
  398. package/dist/ooxml/pptx/read.d.ts +6 -0
  399. package/dist/ooxml/pptx/read.js +14 -0
  400. package/dist/opc/content-types.cjs +47 -0
  401. package/dist/opc/content-types.d.cts +7 -0
  402. package/dist/opc/content-types.d.ts +7 -0
  403. package/dist/opc/content-types.js +44 -0
  404. package/dist/opc/media.cjs +45 -0
  405. package/dist/opc/media.d.cts +10 -0
  406. package/dist/opc/media.d.ts +10 -0
  407. package/dist/opc/media.js +44 -0
  408. package/dist/opc/paths.cjs +28 -0
  409. package/dist/opc/paths.d.cts +5 -0
  410. package/dist/opc/paths.d.ts +5 -0
  411. package/dist/opc/paths.js +26 -0
  412. package/dist/opc/rels.cjs +47 -0
  413. package/dist/opc/rels.d.cts +10 -0
  414. package/dist/opc/rels.d.ts +10 -0
  415. package/dist/opc/rels.js +46 -0
  416. package/dist/paragraph-BXbXKPy3.d.cts +30 -0
  417. package/dist/paragraph-CoUi_88j.d.ts +30 -0
  418. package/dist/ports/abort.cjs +7 -0
  419. package/dist/ports/abort.d.cts +4 -0
  420. package/dist/ports/abort.d.ts +4 -0
  421. package/dist/ports/abort.js +6 -0
  422. package/dist/ports/clock.cjs +9 -0
  423. package/dist/ports/clock.d.cts +8 -0
  424. package/dist/ports/clock.d.ts +8 -0
  425. package/dist/ports/clock.js +7 -0
  426. package/dist/reader-DP0Mbaj4.d.cts +41 -0
  427. package/dist/reader-DP0Mbaj4.d.ts +41 -0
  428. package/dist/run-B3GNScJH.d.cts +38 -0
  429. package/dist/run-CJfh8rv3.d.ts +38 -0
  430. package/dist/run-D2rTWHbt.d.ts +38 -0
  431. package/dist/run-F8JN7Vy4.d.cts +38 -0
  432. package/dist/schema-Acco3Ezi.d.cts +22 -0
  433. package/dist/schema-VkAA6pF5.d.ts +22 -0
  434. package/dist/shape-BUfjw5eZ.d.cts +35 -0
  435. package/dist/shape-BfN3m52m.d.ts +30 -0
  436. package/dist/shape-CN2ycxOo.d.cts +30 -0
  437. package/dist/shape-CTkl6kt8.d.ts +35 -0
  438. package/dist/style-DkamR3aY.d.cts +2 -0
  439. package/dist/style-DkamR3aY.d.ts +2 -0
  440. package/dist/vector-ClohqsOe.d.cts +76 -0
  441. package/dist/vector-ClohqsOe.d.ts +76 -0
  442. package/dist/xml/edit.cjs +65 -0
  443. package/dist/xml/edit.d.cts +12 -0
  444. package/dist/xml/edit.d.ts +12 -0
  445. package/dist/xml/edit.js +57 -0
  446. package/dist/xml/entities.cjs +12 -0
  447. package/dist/xml/entities.d.cts +5 -0
  448. package/dist/xml/entities.d.ts +5 -0
  449. package/dist/xml/entities.js +10 -0
  450. package/dist/xml/fragment.cjs +22 -0
  451. package/dist/xml/fragment.d.cts +6 -0
  452. package/dist/xml/fragment.d.ts +6 -0
  453. package/dist/xml/fragment.js +20 -0
  454. package/dist/xml/odf-text.cjs +53 -0
  455. package/dist/xml/odf-text.d.cts +6 -0
  456. package/dist/xml/odf-text.d.ts +6 -0
  457. package/dist/xml/odf-text.js +51 -0
  458. package/dist/xml/query.cjs +33 -0
  459. package/dist/xml/query.d.cts +12 -0
  460. package/dist/xml/query.d.ts +12 -0
  461. package/dist/xml/query.js +29 -0
  462. package/package.json +9 -1
@@ -0,0 +1,106 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_fragment = require("../../xml/fragment.cjs");
3
+ let odf_js = require("odf.js");
4
+ let document_schema_js = require("document-schema.js");
5
+ //#region src/edit/odg/scaffold.ts
6
+ const CONTENT_NS_PREFIXES = [
7
+ "office",
8
+ "style",
9
+ "text",
10
+ "table",
11
+ "draw",
12
+ "fo",
13
+ "svg",
14
+ "xlink"
15
+ ];
16
+ const STYLES_NS_PREFIXES = [
17
+ "office",
18
+ "style",
19
+ "text",
20
+ "table",
21
+ "draw",
22
+ "fo",
23
+ "svg",
24
+ "xlink"
25
+ ];
26
+ const META_NS_PREFIXES = [
27
+ "office",
28
+ "meta",
29
+ "dc"
30
+ ];
31
+ const ODF_VERSION = "1.3";
32
+ const PAGE_LAYOUT_NAME = "PM1";
33
+ const MASTER_PAGE_NAME = "Standard";
34
+ function declaration() {
35
+ return {
36
+ type: "declaration",
37
+ attributes: [
38
+ {
39
+ name: "version",
40
+ value: "1.0"
41
+ },
42
+ {
43
+ name: "encoding",
44
+ value: "UTF-8"
45
+ },
46
+ {
47
+ name: "standalone",
48
+ value: "yes"
49
+ }
50
+ ]
51
+ };
52
+ }
53
+ function buildPageLayout() {
54
+ return require_xml_fragment.el("style:page-layout", { "style:name": "PM1" }, [require_xml_fragment.el("style:page-layout-properties", {
55
+ "fo:page-width": `${document_schema_js.PAGE_SIZE_A4.widthPt}pt`,
56
+ "fo:page-height": `${document_schema_js.PAGE_SIZE_A4.heightPt}pt`
57
+ })]);
58
+ }
59
+ function buildStylesXml() {
60
+ return require_xml_fragment.el("office:document-styles", {
61
+ ...(0, odf_js.xmlnsAttributes)([...STYLES_NS_PREFIXES]),
62
+ "office:version": ODF_VERSION
63
+ }, [
64
+ require_xml_fragment.el("office:styles"),
65
+ require_xml_fragment.el("office:automatic-styles", {}, [buildPageLayout()]),
66
+ require_xml_fragment.el("office:master-styles", {}, [require_xml_fragment.el("style:master-page", {
67
+ "style:name": MASTER_PAGE_NAME,
68
+ "style:page-layout-name": "PM1"
69
+ })])
70
+ ]);
71
+ }
72
+ function buildContentXml() {
73
+ return require_xml_fragment.el("office:document-content", {
74
+ ...(0, odf_js.xmlnsAttributes)([...CONTENT_NS_PREFIXES]),
75
+ "office:version": ODF_VERSION
76
+ }, [require_xml_fragment.el("office:automatic-styles"), require_xml_fragment.el("office:body", {}, [require_xml_fragment.el("office:drawing")])]);
77
+ }
78
+ function buildMetaXml() {
79
+ return require_xml_fragment.el("office:document-meta", {
80
+ ...(0, odf_js.xmlnsAttributes)([...META_NS_PREFIXES]),
81
+ "office:version": ODF_VERSION
82
+ }, [require_xml_fragment.el("office:meta")]);
83
+ }
84
+ function createEmptyOdgPackage() {
85
+ const pkg = { parts: {
86
+ "content.xml": {
87
+ kind: "xml",
88
+ nodes: [declaration(), buildContentXml()]
89
+ },
90
+ "styles.xml": {
91
+ kind: "xml",
92
+ nodes: [declaration(), buildStylesXml()]
93
+ },
94
+ "meta.xml": {
95
+ kind: "xml",
96
+ nodes: [declaration(), buildMetaXml()]
97
+ }
98
+ } };
99
+ (0, odf_js.setDocumentMediaType)(pkg, odf_js.ODF_MEDIA_TYPES.odg);
100
+ (0, odf_js.syncManifest)(pkg);
101
+ return pkg;
102
+ }
103
+ //#endregion
104
+ exports.MASTER_PAGE_NAME = MASTER_PAGE_NAME;
105
+ exports.PAGE_LAYOUT_NAME = PAGE_LAYOUT_NAME;
106
+ exports.createEmptyOdgPackage = createEmptyOdgPackage;
@@ -0,0 +1,7 @@
1
+ import { Package } from "odf.js";
2
+ //#region src/edit/odg/scaffold.d.ts
3
+ declare const PAGE_LAYOUT_NAME = "PM1";
4
+ declare const MASTER_PAGE_NAME = "Standard";
5
+ declare function createEmptyOdgPackage(): Package;
6
+ //#endregion
7
+ export { MASTER_PAGE_NAME, PAGE_LAYOUT_NAME, createEmptyOdgPackage };
@@ -0,0 +1,7 @@
1
+ import { Package } from "odf.js";
2
+ //#region src/edit/odg/scaffold.d.ts
3
+ declare const PAGE_LAYOUT_NAME = "PM1";
4
+ declare const MASTER_PAGE_NAME = "Standard";
5
+ declare function createEmptyOdgPackage(): Package;
6
+ //#endregion
7
+ export { MASTER_PAGE_NAME, PAGE_LAYOUT_NAME, createEmptyOdgPackage };
@@ -0,0 +1,103 @@
1
+ import { PAGE_SIZE_A4 } from "../../model/geometry.js";
2
+ import { el } from "../../xml/fragment.js";
3
+ import { ODF_MEDIA_TYPES, setDocumentMediaType, syncManifest, xmlnsAttributes } from "odf.js";
4
+ //#region src/edit/odg/scaffold.ts
5
+ const CONTENT_NS_PREFIXES = [
6
+ "office",
7
+ "style",
8
+ "text",
9
+ "table",
10
+ "draw",
11
+ "fo",
12
+ "svg",
13
+ "xlink"
14
+ ];
15
+ const STYLES_NS_PREFIXES = [
16
+ "office",
17
+ "style",
18
+ "text",
19
+ "table",
20
+ "draw",
21
+ "fo",
22
+ "svg",
23
+ "xlink"
24
+ ];
25
+ const META_NS_PREFIXES = [
26
+ "office",
27
+ "meta",
28
+ "dc"
29
+ ];
30
+ const ODF_VERSION = "1.3";
31
+ const PAGE_LAYOUT_NAME = "PM1";
32
+ const MASTER_PAGE_NAME = "Standard";
33
+ function declaration() {
34
+ return {
35
+ type: "declaration",
36
+ attributes: [
37
+ {
38
+ name: "version",
39
+ value: "1.0"
40
+ },
41
+ {
42
+ name: "encoding",
43
+ value: "UTF-8"
44
+ },
45
+ {
46
+ name: "standalone",
47
+ value: "yes"
48
+ }
49
+ ]
50
+ };
51
+ }
52
+ function buildPageLayout() {
53
+ return el("style:page-layout", { "style:name": "PM1" }, [el("style:page-layout-properties", {
54
+ "fo:page-width": `${PAGE_SIZE_A4.widthPt}pt`,
55
+ "fo:page-height": `${PAGE_SIZE_A4.heightPt}pt`
56
+ })]);
57
+ }
58
+ function buildStylesXml() {
59
+ return el("office:document-styles", {
60
+ ...xmlnsAttributes([...STYLES_NS_PREFIXES]),
61
+ "office:version": ODF_VERSION
62
+ }, [
63
+ el("office:styles"),
64
+ el("office:automatic-styles", {}, [buildPageLayout()]),
65
+ el("office:master-styles", {}, [el("style:master-page", {
66
+ "style:name": MASTER_PAGE_NAME,
67
+ "style:page-layout-name": "PM1"
68
+ })])
69
+ ]);
70
+ }
71
+ function buildContentXml() {
72
+ return el("office:document-content", {
73
+ ...xmlnsAttributes([...CONTENT_NS_PREFIXES]),
74
+ "office:version": ODF_VERSION
75
+ }, [el("office:automatic-styles"), el("office:body", {}, [el("office:drawing")])]);
76
+ }
77
+ function buildMetaXml() {
78
+ return el("office:document-meta", {
79
+ ...xmlnsAttributes([...META_NS_PREFIXES]),
80
+ "office:version": ODF_VERSION
81
+ }, [el("office:meta")]);
82
+ }
83
+ function createEmptyOdgPackage() {
84
+ const pkg = { parts: {
85
+ "content.xml": {
86
+ kind: "xml",
87
+ nodes: [declaration(), buildContentXml()]
88
+ },
89
+ "styles.xml": {
90
+ kind: "xml",
91
+ nodes: [declaration(), buildStylesXml()]
92
+ },
93
+ "meta.xml": {
94
+ kind: "xml",
95
+ nodes: [declaration(), buildMetaXml()]
96
+ }
97
+ } };
98
+ setDocumentMediaType(pkg, ODF_MEDIA_TYPES.odg);
99
+ syncManifest(pkg);
100
+ return pkg;
101
+ }
102
+ //#endregion
103
+ export { MASTER_PAGE_NAME, PAGE_LAYOUT_NAME, createEmptyOdgPackage };
@@ -0,0 +1,83 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_fragment = require("../../xml/fragment.cjs");
3
+ const require_xml_edit = require("../../xml/edit.cjs");
4
+ const require_edit_odt_automatic_styles = require("../odt/automatic-styles.cjs");
5
+ let ooxml_js = require("ooxml.js");
6
+ let odf_js = require("odf.js");
7
+ //#region src/edit/odg/style.ts
8
+ const GRAPHIC_STYLE_PREFIX = "gr";
9
+ function graphicPropertyAttrs(init) {
10
+ const attrs = {};
11
+ if (init.fill === void 0) attrs["draw:fill"] = "none";
12
+ else {
13
+ attrs["draw:fill"] = "solid";
14
+ attrs["draw:fill-color"] = (0, odf_js.formatOdfColor)(init.fill);
15
+ }
16
+ if (init.stroke === void 0) attrs["draw:stroke"] = "none";
17
+ else {
18
+ attrs["svg:stroke-color"] = (0, odf_js.formatOdfColor)(init.stroke.color);
19
+ attrs["svg:stroke-width"] = (0, odf_js.formatOdfLength)(init.stroke.widthPt);
20
+ }
21
+ return attrs;
22
+ }
23
+ function buildGraphicStyle(pkg, init) {
24
+ const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
25
+ const name = require_edit_odt_automatic_styles.nextStyleName(automaticStyles, "style:style", GRAPHIC_STYLE_PREFIX);
26
+ automaticStyles.children.push(require_xml_fragment.el("style:style", {
27
+ "style:name": name,
28
+ "style:family": "graphic"
29
+ }, [require_xml_fragment.el("style:graphic-properties", graphicPropertyAttrs(init))]));
30
+ return name;
31
+ }
32
+ function findAutomaticStylesReadOnly(pkg) {
33
+ const part = pkg.parts["content.xml"];
34
+ const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
35
+ if (root === void 0) return;
36
+ for (const child of root.children) if (child.type === "element" && child.tag === "office:automatic-styles") return child;
37
+ }
38
+ function findGraphicStyle(pkg, element) {
39
+ const styleName = (0, ooxml_js.attr)(element, "draw:style-name");
40
+ if (styleName === void 0) return;
41
+ return findAutomaticStylesReadOnly(pkg)?.children.find((c) => c.type === "element" && c.tag === "style:style" && (0, ooxml_js.attr)(c, "style:name") === styleName);
42
+ }
43
+ function graphicProperties(pkg, element) {
44
+ return findGraphicStyle(pkg, element)?.children.find((c) => c.type === "element" && c.tag === "style:graphic-properties");
45
+ }
46
+ function readGraphicFill(pkg, element) {
47
+ const props = graphicProperties(pkg, element);
48
+ if (props === void 0 || (0, ooxml_js.attr)(props, "draw:fill") === "none") return;
49
+ const value = (0, ooxml_js.attr)(props, "draw:fill-color");
50
+ return value === void 0 ? void 0 : (0, odf_js.parseOdfColor)(value);
51
+ }
52
+ function readGraphicStroke(pkg, element) {
53
+ const props = graphicProperties(pkg, element);
54
+ if (props === void 0 || (0, ooxml_js.attr)(props, "draw:stroke") === "none") return;
55
+ const colorValue = (0, ooxml_js.attr)(props, "svg:stroke-color");
56
+ const widthValue = (0, ooxml_js.attr)(props, "svg:stroke-width");
57
+ const color = colorValue === void 0 ? void 0 : (0, odf_js.parseOdfColor)(colorValue);
58
+ const widthPt = widthValue === void 0 ? void 0 : (0, odf_js.parseOdfLength)(widthValue);
59
+ return color === void 0 || widthPt === void 0 ? void 0 : {
60
+ color,
61
+ widthPt
62
+ };
63
+ }
64
+ function setGraphicFill(pkg, element, fill) {
65
+ const name = buildGraphicStyle(pkg, {
66
+ fill,
67
+ stroke: readGraphicStroke(pkg, element)
68
+ });
69
+ require_xml_edit.setAttr(element, "draw:style-name", name);
70
+ }
71
+ function setGraphicStroke(pkg, element, stroke) {
72
+ const name = buildGraphicStyle(pkg, {
73
+ fill: readGraphicFill(pkg, element),
74
+ stroke
75
+ });
76
+ require_xml_edit.setAttr(element, "draw:style-name", name);
77
+ }
78
+ //#endregion
79
+ exports.buildGraphicStyle = buildGraphicStyle;
80
+ exports.readGraphicFill = readGraphicFill;
81
+ exports.readGraphicStroke = readGraphicStroke;
82
+ exports.setGraphicFill = setGraphicFill;
83
+ exports.setGraphicStroke = setGraphicStroke;
@@ -0,0 +1,14 @@
1
+ import { Color, ContentStroke } from "document-schema.js";
2
+ import { Package, XmlElement } from "odf.js";
3
+ //#region src/edit/odg/style.d.ts
4
+ interface GraphicStyleInit {
5
+ readonly fill?: Color;
6
+ readonly stroke?: ContentStroke;
7
+ }
8
+ declare function buildGraphicStyle(pkg: Package, init: GraphicStyleInit): string;
9
+ declare function readGraphicFill(pkg: Package, element: XmlElement): Color | undefined;
10
+ declare function readGraphicStroke(pkg: Package, element: XmlElement): ContentStroke | undefined;
11
+ declare function setGraphicFill(pkg: Package, element: XmlElement, fill: Color | undefined): void;
12
+ declare function setGraphicStroke(pkg: Package, element: XmlElement, stroke: ContentStroke | undefined): void;
13
+ //#endregion
14
+ export { GraphicStyleInit, buildGraphicStyle, readGraphicFill, readGraphicStroke, setGraphicFill, setGraphicStroke };
@@ -0,0 +1,14 @@
1
+ import { Color, ContentStroke } from "document-schema.js";
2
+ import { Package, XmlElement } from "odf.js";
3
+ //#region src/edit/odg/style.d.ts
4
+ interface GraphicStyleInit {
5
+ readonly fill?: Color;
6
+ readonly stroke?: ContentStroke;
7
+ }
8
+ declare function buildGraphicStyle(pkg: Package, init: GraphicStyleInit): string;
9
+ declare function readGraphicFill(pkg: Package, element: XmlElement): Color | undefined;
10
+ declare function readGraphicStroke(pkg: Package, element: XmlElement): ContentStroke | undefined;
11
+ declare function setGraphicFill(pkg: Package, element: XmlElement, fill: Color | undefined): void;
12
+ declare function setGraphicStroke(pkg: Package, element: XmlElement, stroke: ContentStroke | undefined): void;
13
+ //#endregion
14
+ export { GraphicStyleInit, buildGraphicStyle, readGraphicFill, readGraphicStroke, setGraphicFill, setGraphicStroke };
@@ -0,0 +1,78 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { setAttr } from "../../xml/edit.js";
3
+ import { ensureAutomaticStyles, nextStyleName } from "../odt/automatic-styles.js";
4
+ import { attr } from "ooxml.js";
5
+ import { formatOdfColor, formatOdfLength, parseOdfColor, parseOdfLength } from "odf.js";
6
+ //#region src/edit/odg/style.ts
7
+ const GRAPHIC_STYLE_PREFIX = "gr";
8
+ function graphicPropertyAttrs(init) {
9
+ const attrs = {};
10
+ if (init.fill === void 0) attrs["draw:fill"] = "none";
11
+ else {
12
+ attrs["draw:fill"] = "solid";
13
+ attrs["draw:fill-color"] = formatOdfColor(init.fill);
14
+ }
15
+ if (init.stroke === void 0) attrs["draw:stroke"] = "none";
16
+ else {
17
+ attrs["svg:stroke-color"] = formatOdfColor(init.stroke.color);
18
+ attrs["svg:stroke-width"] = formatOdfLength(init.stroke.widthPt);
19
+ }
20
+ return attrs;
21
+ }
22
+ function buildGraphicStyle(pkg, init) {
23
+ const automaticStyles = ensureAutomaticStyles(pkg);
24
+ const name = nextStyleName(automaticStyles, "style:style", GRAPHIC_STYLE_PREFIX);
25
+ automaticStyles.children.push(el("style:style", {
26
+ "style:name": name,
27
+ "style:family": "graphic"
28
+ }, [el("style:graphic-properties", graphicPropertyAttrs(init))]));
29
+ return name;
30
+ }
31
+ function findAutomaticStylesReadOnly(pkg) {
32
+ const part = pkg.parts["content.xml"];
33
+ const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
34
+ if (root === void 0) return;
35
+ for (const child of root.children) if (child.type === "element" && child.tag === "office:automatic-styles") return child;
36
+ }
37
+ function findGraphicStyle(pkg, element) {
38
+ const styleName = attr(element, "draw:style-name");
39
+ if (styleName === void 0) return;
40
+ return findAutomaticStylesReadOnly(pkg)?.children.find((c) => c.type === "element" && c.tag === "style:style" && attr(c, "style:name") === styleName);
41
+ }
42
+ function graphicProperties(pkg, element) {
43
+ return findGraphicStyle(pkg, element)?.children.find((c) => c.type === "element" && c.tag === "style:graphic-properties");
44
+ }
45
+ function readGraphicFill(pkg, element) {
46
+ const props = graphicProperties(pkg, element);
47
+ if (props === void 0 || attr(props, "draw:fill") === "none") return;
48
+ const value = attr(props, "draw:fill-color");
49
+ return value === void 0 ? void 0 : parseOdfColor(value);
50
+ }
51
+ function readGraphicStroke(pkg, element) {
52
+ const props = graphicProperties(pkg, element);
53
+ if (props === void 0 || attr(props, "draw:stroke") === "none") return;
54
+ const colorValue = attr(props, "svg:stroke-color");
55
+ const widthValue = attr(props, "svg:stroke-width");
56
+ const color = colorValue === void 0 ? void 0 : parseOdfColor(colorValue);
57
+ const widthPt = widthValue === void 0 ? void 0 : parseOdfLength(widthValue);
58
+ return color === void 0 || widthPt === void 0 ? void 0 : {
59
+ color,
60
+ widthPt
61
+ };
62
+ }
63
+ function setGraphicFill(pkg, element, fill) {
64
+ const name = buildGraphicStyle(pkg, {
65
+ fill,
66
+ stroke: readGraphicStroke(pkg, element)
67
+ });
68
+ setAttr(element, "draw:style-name", name);
69
+ }
70
+ function setGraphicStroke(pkg, element, stroke) {
71
+ const name = buildGraphicStyle(pkg, {
72
+ fill: readGraphicFill(pkg, element),
73
+ stroke
74
+ });
75
+ setAttr(element, "draw:style-name", name);
76
+ }
77
+ //#endregion
78
+ export { buildGraphicStyle, readGraphicFill, readGraphicStroke, setGraphicFill, setGraphicStroke };
@@ -0,0 +1,30 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/edit/odg/svg-path.ts
3
+ const PATH_NUMBER_DECIMALS = 6;
4
+ const PATH_NUMBER_SCALE = 10 ** PATH_NUMBER_DECIMALS;
5
+ function formatPathNumber(value) {
6
+ if (!Number.isFinite(value)) throw new Error(`cannot format a non-finite path coordinate: ${value}`);
7
+ const rounded = Math.round(value * PATH_NUMBER_SCALE) / PATH_NUMBER_SCALE;
8
+ if (rounded === 0) return "0";
9
+ return rounded.toFixed(PATH_NUMBER_DECIMALS).replace(/0+$/, "").replace(/\.$/, "");
10
+ }
11
+ function formatPathPoint(point) {
12
+ return `${formatPathNumber(point.xPt)} ${formatPathNumber(point.yPt)}`;
13
+ }
14
+ function buildSvgPathData(subpaths) {
15
+ const commands = [];
16
+ for (const subpath of subpaths) {
17
+ commands.push(`M${formatPathPoint(subpath.start)}`);
18
+ for (const segment of subpath.segments) if (segment.kind === "line") commands.push(`L${formatPathPoint(segment.to)}`);
19
+ else commands.push(`C${formatPathPoint(segment.control1)} ${formatPathPoint(segment.control2)} ${formatPathPoint(segment.to)}`);
20
+ if (subpath.closed) commands.push("Z");
21
+ }
22
+ return commands.join(" ");
23
+ }
24
+ function buildSvgViewBox(widthPt, heightPt) {
25
+ return `0 0 ${formatPathNumber(widthPt)} ${formatPathNumber(heightPt)}`;
26
+ }
27
+ //#endregion
28
+ exports.buildSvgPathData = buildSvgPathData;
29
+ exports.buildSvgViewBox = buildSvgViewBox;
30
+ exports.formatPathNumber = formatPathNumber;
@@ -0,0 +1,7 @@
1
+ import { ContentSubpath } from "document-schema.js";
2
+ //#region src/edit/odg/svg-path.d.ts
3
+ declare function formatPathNumber(value: number): string;
4
+ declare function buildSvgPathData(subpaths: readonly ContentSubpath[]): string;
5
+ declare function buildSvgViewBox(widthPt: number, heightPt: number): string;
6
+ //#endregion
7
+ export { buildSvgPathData, buildSvgViewBox, formatPathNumber };
@@ -0,0 +1,7 @@
1
+ import { ContentSubpath } from "document-schema.js";
2
+ //#region src/edit/odg/svg-path.d.ts
3
+ declare function formatPathNumber(value: number): string;
4
+ declare function buildSvgPathData(subpaths: readonly ContentSubpath[]): string;
5
+ declare function buildSvgViewBox(widthPt: number, heightPt: number): string;
6
+ //#endregion
7
+ export { buildSvgPathData, buildSvgViewBox, formatPathNumber };
@@ -0,0 +1,27 @@
1
+ //#region src/edit/odg/svg-path.ts
2
+ const PATH_NUMBER_DECIMALS = 6;
3
+ const PATH_NUMBER_SCALE = 10 ** PATH_NUMBER_DECIMALS;
4
+ function formatPathNumber(value) {
5
+ if (!Number.isFinite(value)) throw new Error(`cannot format a non-finite path coordinate: ${value}`);
6
+ const rounded = Math.round(value * PATH_NUMBER_SCALE) / PATH_NUMBER_SCALE;
7
+ if (rounded === 0) return "0";
8
+ return rounded.toFixed(PATH_NUMBER_DECIMALS).replace(/0+$/, "").replace(/\.$/, "");
9
+ }
10
+ function formatPathPoint(point) {
11
+ return `${formatPathNumber(point.xPt)} ${formatPathNumber(point.yPt)}`;
12
+ }
13
+ function buildSvgPathData(subpaths) {
14
+ const commands = [];
15
+ for (const subpath of subpaths) {
16
+ commands.push(`M${formatPathPoint(subpath.start)}`);
17
+ for (const segment of subpath.segments) if (segment.kind === "line") commands.push(`L${formatPathPoint(segment.to)}`);
18
+ else commands.push(`C${formatPathPoint(segment.control1)} ${formatPathPoint(segment.control2)} ${formatPathPoint(segment.to)}`);
19
+ if (subpath.closed) commands.push("Z");
20
+ }
21
+ return commands.join(" ");
22
+ }
23
+ function buildSvgViewBox(widthPt, heightPt) {
24
+ return `0 0 ${formatPathNumber(widthPt)} ${formatPathNumber(heightPt)}`;
25
+ }
26
+ //#endregion
27
+ export { buildSvgPathData, buildSvgViewBox, formatPathNumber };