documents.js 1.57.0 → 1.58.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 (454) hide show
  1. package/README.md +38 -0
  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/codec.cjs +51 -0
  9. package/dist/convert/codec.d.cts +13 -0
  10. package/dist/convert/codec.d.ts +13 -0
  11. package/dist/convert/codec.js +42 -0
  12. package/dist/convert/convert.cjs +443 -0
  13. package/dist/convert/convert.d.cts +55 -0
  14. package/dist/convert/convert.d.ts +55 -0
  15. package/dist/convert/convert.js +419 -0
  16. package/dist/convert/local.cjs +393 -0
  17. package/dist/convert/local.d.cts +5 -0
  18. package/dist/convert/local.d.ts +5 -0
  19. package/dist/convert/local.js +392 -0
  20. package/dist/convert/port.cjs +0 -0
  21. package/dist/convert/port.d.cts +34 -0
  22. package/dist/convert/port.d.ts +34 -0
  23. package/dist/convert/port.js +0 -0
  24. package/dist/edit/docx/content.cjs +71 -0
  25. package/dist/edit/docx/content.d.cts +6 -0
  26. package/dist/edit/docx/content.d.ts +6 -0
  27. package/dist/edit/docx/content.js +70 -0
  28. package/dist/edit/docx/editor.cjs +116 -0
  29. package/dist/edit/docx/editor.d.cts +23 -0
  30. package/dist/edit/docx/editor.d.ts +23 -0
  31. package/dist/edit/docx/editor.js +113 -0
  32. package/dist/edit/docx/image.cjs +74 -0
  33. package/dist/edit/docx/image.d.cts +2 -0
  34. package/dist/edit/docx/image.d.ts +2 -0
  35. package/dist/edit/docx/image.js +72 -0
  36. package/dist/edit/docx/paragraph.cjs +132 -0
  37. package/dist/edit/docx/paragraph.d.cts +40 -0
  38. package/dist/edit/docx/paragraph.d.ts +40 -0
  39. package/dist/edit/docx/paragraph.js +130 -0
  40. package/dist/edit/docx/props.cjs +132 -0
  41. package/dist/edit/docx/props.d.cts +20 -0
  42. package/dist/edit/docx/props.d.ts +20 -0
  43. package/dist/edit/docx/props.js +117 -0
  44. package/dist/edit/docx/run.cjs +143 -0
  45. package/dist/edit/docx/run.d.cts +2 -0
  46. package/dist/edit/docx/run.d.ts +2 -0
  47. package/dist/edit/docx/run.js +141 -0
  48. package/dist/edit/docx/scaffold.cjs +97 -0
  49. package/dist/edit/docx/scaffold.d.cts +5 -0
  50. package/dist/edit/docx/scaffold.d.ts +5 -0
  51. package/dist/edit/docx/scaffold.js +96 -0
  52. package/dist/edit/docx/table.cjs +99 -0
  53. package/dist/edit/docx/table.d.cts +34 -0
  54. package/dist/edit/docx/table.d.ts +34 -0
  55. package/dist/edit/docx/table.js +95 -0
  56. package/dist/edit/odg/content.cjs +65 -0
  57. package/dist/edit/odg/content.d.cts +6 -0
  58. package/dist/edit/odg/content.d.ts +6 -0
  59. package/dist/edit/odg/content.js +64 -0
  60. package/dist/edit/odg/editor.cjs +96 -0
  61. package/dist/edit/odg/editor.d.cts +19 -0
  62. package/dist/edit/odg/editor.d.ts +19 -0
  63. package/dist/edit/odg/editor.js +93 -0
  64. package/dist/edit/odg/page.cjs +70 -0
  65. package/dist/edit/odg/page.d.cts +34 -0
  66. package/dist/edit/odg/page.d.ts +34 -0
  67. package/dist/edit/odg/page.js +69 -0
  68. package/dist/edit/odg/scaffold.cjs +106 -0
  69. package/dist/edit/odg/scaffold.d.cts +7 -0
  70. package/dist/edit/odg/scaffold.d.ts +7 -0
  71. package/dist/edit/odg/scaffold.js +103 -0
  72. package/dist/edit/odg/style.cjs +83 -0
  73. package/dist/edit/odg/style.d.cts +14 -0
  74. package/dist/edit/odg/style.d.ts +14 -0
  75. package/dist/edit/odg/style.js +78 -0
  76. package/dist/edit/odg/svg-path.cjs +30 -0
  77. package/dist/edit/odg/svg-path.d.cts +7 -0
  78. package/dist/edit/odg/svg-path.d.ts +7 -0
  79. package/dist/edit/odg/svg-path.js +27 -0
  80. package/dist/edit/odg/vector.cjs +208 -0
  81. package/dist/edit/odg/vector.d.cts +2 -0
  82. package/dist/edit/odg/vector.d.ts +2 -0
  83. package/dist/edit/odg/vector.js +201 -0
  84. package/dist/edit/odp/content.cjs +42 -0
  85. package/dist/edit/odp/content.d.cts +6 -0
  86. package/dist/edit/odp/content.d.ts +6 -0
  87. package/dist/edit/odp/content.js +41 -0
  88. package/dist/edit/odp/editor.cjs +113 -0
  89. package/dist/edit/odp/editor.d.cts +20 -0
  90. package/dist/edit/odp/editor.d.ts +20 -0
  91. package/dist/edit/odp/editor.js +110 -0
  92. package/dist/edit/odp/image.cjs +10 -0
  93. package/dist/edit/odp/image.d.cts +2 -0
  94. package/dist/edit/odp/image.d.ts +2 -0
  95. package/dist/edit/odp/image.js +9 -0
  96. package/dist/edit/odp/scaffold.cjs +108 -0
  97. package/dist/edit/odp/scaffold.d.cts +7 -0
  98. package/dist/edit/odp/scaffold.d.ts +7 -0
  99. package/dist/edit/odp/scaffold.js +105 -0
  100. package/dist/edit/odp/shape.cjs +133 -0
  101. package/dist/edit/odp/shape.d.cts +2 -0
  102. package/dist/edit/odp/shape.d.ts +2 -0
  103. package/dist/edit/odp/shape.js +130 -0
  104. package/dist/edit/odp/slide.cjs +80 -0
  105. package/dist/edit/odp/slide.d.cts +31 -0
  106. package/dist/edit/odp/slide.d.ts +31 -0
  107. package/dist/edit/odp/slide.js +79 -0
  108. package/dist/edit/ods/address.cjs +108 -0
  109. package/dist/edit/ods/address.d.cts +15 -0
  110. package/dist/edit/ods/address.d.ts +15 -0
  111. package/dist/edit/ods/address.js +97 -0
  112. package/dist/edit/ods/cell.cjs +177 -0
  113. package/dist/edit/ods/cell.d.cts +2 -0
  114. package/dist/edit/ods/cell.d.ts +2 -0
  115. package/dist/edit/ods/cell.js +176 -0
  116. package/dist/edit/ods/content.cjs +26 -0
  117. package/dist/edit/ods/content.d.cts +6 -0
  118. package/dist/edit/ods/content.d.ts +6 -0
  119. package/dist/edit/ods/content.js +25 -0
  120. package/dist/edit/ods/editor.cjs +84 -0
  121. package/dist/edit/ods/editor.d.cts +17 -0
  122. package/dist/edit/ods/editor.d.ts +17 -0
  123. package/dist/edit/ods/editor.js +81 -0
  124. package/dist/edit/ods/print-settings.cjs +90 -0
  125. package/dist/edit/ods/print-settings.d.cts +7 -0
  126. package/dist/edit/ods/print-settings.d.ts +7 -0
  127. package/dist/edit/ods/print-settings.js +88 -0
  128. package/dist/edit/ods/scaffold.cjs +129 -0
  129. package/dist/edit/ods/scaffold.d.cts +9 -0
  130. package/dist/edit/ods/scaffold.d.ts +9 -0
  131. package/dist/edit/ods/scaffold.js +124 -0
  132. package/dist/edit/ods/sheet.cjs +70 -0
  133. package/dist/edit/ods/sheet.d.cts +22 -0
  134. package/dist/edit/ods/sheet.d.ts +22 -0
  135. package/dist/edit/ods/sheet.js +69 -0
  136. package/dist/edit/odt/automatic-styles.cjs +49 -0
  137. package/dist/edit/odt/automatic-styles.d.cts +8 -0
  138. package/dist/edit/odt/automatic-styles.d.ts +8 -0
  139. package/dist/edit/odt/automatic-styles.js +45 -0
  140. package/dist/edit/odt/content.cjs +110 -0
  141. package/dist/edit/odt/content.d.cts +9 -0
  142. package/dist/edit/odt/content.d.ts +9 -0
  143. package/dist/edit/odt/content.js +108 -0
  144. package/dist/edit/odt/editor.cjs +98 -0
  145. package/dist/edit/odt/editor.d.cts +25 -0
  146. package/dist/edit/odt/editor.d.ts +25 -0
  147. package/dist/edit/odt/editor.js +95 -0
  148. package/dist/edit/odt/list.cjs +82 -0
  149. package/dist/edit/odt/list.d.cts +2 -0
  150. package/dist/edit/odt/list.d.ts +2 -0
  151. package/dist/edit/odt/list.js +79 -0
  152. package/dist/edit/odt/paragraph.cjs +84 -0
  153. package/dist/edit/odt/paragraph.d.cts +2 -0
  154. package/dist/edit/odt/paragraph.d.ts +2 -0
  155. package/dist/edit/odt/paragraph.js +82 -0
  156. package/dist/edit/odt/props.cjs +26 -0
  157. package/dist/edit/odt/props.d.cts +7 -0
  158. package/dist/edit/odt/props.d.ts +7 -0
  159. package/dist/edit/odt/props.js +23 -0
  160. package/dist/edit/odt/run.cjs +82 -0
  161. package/dist/edit/odt/run.d.cts +2 -0
  162. package/dist/edit/odt/run.d.ts +2 -0
  163. package/dist/edit/odt/run.js +80 -0
  164. package/dist/edit/odt/scaffold.cjs +109 -0
  165. package/dist/edit/odt/scaffold.d.cts +5 -0
  166. package/dist/edit/odt/scaffold.d.ts +5 -0
  167. package/dist/edit/odt/scaffold.js +108 -0
  168. package/dist/edit/odt/table.cjs +123 -0
  169. package/dist/edit/odt/table.d.cts +37 -0
  170. package/dist/edit/odt/table.d.ts +37 -0
  171. package/dist/edit/odt/table.js +119 -0
  172. package/dist/edit/pptx/content.cjs +49 -0
  173. package/dist/edit/pptx/content.d.cts +6 -0
  174. package/dist/edit/pptx/content.d.ts +6 -0
  175. package/dist/edit/pptx/content.js +48 -0
  176. package/dist/edit/pptx/editor.cjs +187 -0
  177. package/dist/edit/pptx/editor.d.cts +20 -0
  178. package/dist/edit/pptx/editor.d.ts +20 -0
  179. package/dist/edit/pptx/editor.js +184 -0
  180. package/dist/edit/pptx/image.cjs +27 -0
  181. package/dist/edit/pptx/image.d.cts +2 -0
  182. package/dist/edit/pptx/image.d.ts +2 -0
  183. package/dist/edit/pptx/image.js +26 -0
  184. package/dist/edit/pptx/scaffold.cjs +292 -0
  185. package/dist/edit/pptx/scaffold.d.cts +13 -0
  186. package/dist/edit/pptx/scaffold.d.ts +13 -0
  187. package/dist/edit/pptx/scaffold.js +283 -0
  188. package/dist/edit/pptx/shape.cjs +182 -0
  189. package/dist/edit/pptx/shape.d.cts +2 -0
  190. package/dist/edit/pptx/shape.d.ts +2 -0
  191. package/dist/edit/pptx/shape.js +179 -0
  192. package/dist/edit/pptx/slide.cjs +146 -0
  193. package/dist/edit/pptx/slide.d.cts +33 -0
  194. package/dist/edit/pptx/slide.d.ts +33 -0
  195. package/dist/edit/pptx/slide.js +145 -0
  196. package/dist/firebird/backup.cjs +150 -0
  197. package/dist/firebird/backup.d.cts +21 -0
  198. package/dist/firebird/backup.d.ts +21 -0
  199. package/dist/firebird/backup.js +145 -0
  200. package/dist/firebird/blr-types.cjs +118 -0
  201. package/dist/firebird/blr-types.d.cts +2 -0
  202. package/dist/firebird/blr-types.d.ts +2 -0
  203. package/dist/firebird/blr-types.js +90 -0
  204. package/dist/firebird/data.cjs +231 -0
  205. package/dist/firebird/data.d.cts +17 -0
  206. package/dist/firebird/data.d.ts +17 -0
  207. package/dist/firebird/data.js +228 -0
  208. package/dist/firebird/date.cjs +63 -0
  209. package/dist/firebird/date.d.cts +17 -0
  210. package/dist/firebird/date.d.ts +17 -0
  211. package/dist/firebird/date.js +58 -0
  212. package/dist/firebird/reader.cjs +157 -0
  213. package/dist/firebird/reader.d.cts +2 -0
  214. package/dist/firebird/reader.d.ts +2 -0
  215. package/dist/firebird/reader.js +154 -0
  216. package/dist/firebird/schema.cjs +91 -0
  217. package/dist/firebird/schema.d.cts +2 -0
  218. package/dist/firebird/schema.d.ts +2 -0
  219. package/dist/firebird/schema.js +89 -0
  220. package/dist/geometry-DvwdrIij.d.cts +5 -0
  221. package/dist/geometry-DvwdrIij.d.ts +5 -0
  222. package/dist/hsqldb/cache.cjs +88 -0
  223. package/dist/hsqldb/cache.d.cts +13 -0
  224. package/dist/hsqldb/cache.d.ts +13 -0
  225. package/dist/hsqldb/cache.js +84 -0
  226. package/dist/hsqldb/rowformat.cjs +222 -0
  227. package/dist/hsqldb/rowformat.d.cts +21 -0
  228. package/dist/hsqldb/rowformat.d.ts +21 -0
  229. package/dist/hsqldb/rowformat.js +218 -0
  230. package/dist/hsqldb/script.cjs +450 -0
  231. package/dist/hsqldb/script.d.cts +19 -0
  232. package/dist/hsqldb/script.d.ts +19 -0
  233. package/dist/hsqldb/script.js +447 -0
  234. package/dist/image-B-xQWYYS.d.ts +16 -0
  235. package/dist/image-BZDy72Jb.d.cts +16 -0
  236. package/dist/image-BfRLAD9B.d.cts +18 -0
  237. package/dist/image-BfRLAD9B.d.ts +18 -0
  238. package/dist/image-CeqwL-Qs.d.ts +14 -0
  239. package/dist/image-DWX6cNOD.d.cts +14 -0
  240. package/dist/index.cjs +201 -10863
  241. package/dist/index.d.cts +71 -1406
  242. package/dist/index.d.ts +71 -1406
  243. package/dist/index.js +67 -10727
  244. package/dist/layout/drawing.cjs +117 -0
  245. package/dist/layout/drawing.d.cts +13 -0
  246. package/dist/layout/drawing.d.ts +13 -0
  247. package/dist/layout/drawing.js +116 -0
  248. package/dist/layout/engine.cjs +216 -0
  249. package/dist/layout/engine.d.cts +19 -0
  250. package/dist/layout/engine.d.ts +19 -0
  251. package/dist/layout/engine.js +215 -0
  252. package/dist/layout/reconstruct.cjs +809 -0
  253. package/dist/layout/reconstruct.d.cts +12 -0
  254. package/dist/layout/reconstruct.d.ts +12 -0
  255. package/dist/layout/reconstruct.js +805 -0
  256. package/dist/layout/shared.cjs +104 -0
  257. package/dist/layout/shared.d.cts +15 -0
  258. package/dist/layout/shared.d.ts +15 -0
  259. package/dist/layout/shared.js +96 -0
  260. package/dist/layout/sheets.cjs +413 -0
  261. package/dist/layout/sheets.d.cts +14 -0
  262. package/dist/layout/sheets.d.ts +14 -0
  263. package/dist/layout/sheets.js +414 -0
  264. package/dist/layout/slides.cjs +194 -0
  265. package/dist/layout/slides.d.cts +25 -0
  266. package/dist/layout/slides.d.ts +25 -0
  267. package/dist/layout/slides.js +192 -0
  268. package/dist/list-BuBM9rwQ.d.cts +24 -0
  269. package/dist/list-CvKxhy3y.d.ts +24 -0
  270. package/dist/mathml/compose.cjs +53 -0
  271. package/dist/mathml/compose.d.cts +8 -0
  272. package/dist/mathml/compose.d.ts +8 -0
  273. package/dist/mathml/compose.js +49 -0
  274. package/dist/mathml/layout-types.cjs +0 -0
  275. package/dist/mathml/layout-types.d.cts +50 -0
  276. package/dist/mathml/layout-types.d.ts +50 -0
  277. package/dist/mathml/layout-types.js +0 -0
  278. package/dist/mathml/layout.cjs +373 -0
  279. package/dist/mathml/layout.d.cts +24 -0
  280. package/dist/mathml/layout.d.ts +24 -0
  281. package/dist/mathml/layout.js +371 -0
  282. package/dist/mathml/length.cjs +41 -0
  283. package/dist/mathml/length.d.cts +4 -0
  284. package/dist/mathml/length.d.ts +4 -0
  285. package/dist/mathml/length.js +40 -0
  286. package/dist/mathml/metrics.cjs +0 -0
  287. package/dist/mathml/metrics.d.cts +44 -0
  288. package/dist/mathml/metrics.d.ts +44 -0
  289. package/dist/mathml/metrics.js +0 -0
  290. package/dist/mathml/nodes.cjs +39 -0
  291. package/dist/mathml/nodes.d.cts +2 -0
  292. package/dist/mathml/nodes.d.ts +2 -0
  293. package/dist/mathml/nodes.js +32 -0
  294. package/dist/mathml/operators.cjs +189 -0
  295. package/dist/mathml/operators.d.cts +13 -0
  296. package/dist/mathml/operators.d.ts +13 -0
  297. package/dist/mathml/operators.js +188 -0
  298. package/dist/mathml/radical.cjs +46 -0
  299. package/dist/mathml/radical.d.cts +10 -0
  300. package/dist/mathml/radical.d.ts +10 -0
  301. package/dist/mathml/radical.js +45 -0
  302. package/dist/mathml/variant.cjs +1160 -0
  303. package/dist/mathml/variant.d.cts +7 -0
  304. package/dist/mathml/variant.d.ts +7 -0
  305. package/dist/mathml/variant.js +1157 -0
  306. package/dist/model/bytes.cjs +88 -0
  307. package/dist/model/bytes.d.cts +12 -0
  308. package/dist/model/bytes.d.ts +12 -0
  309. package/dist/model/bytes.js +80 -0
  310. package/dist/model/color.cjs +26 -0
  311. package/dist/model/color.d.cts +2 -0
  312. package/dist/model/color.d.ts +2 -0
  313. package/dist/model/color.js +2 -0
  314. package/dist/model/content.cjs +34 -0
  315. package/dist/model/content.d.cts +362 -0
  316. package/dist/model/content.d.ts +362 -0
  317. package/dist/model/content.js +32 -0
  318. package/dist/model/formula.cjs +0 -0
  319. package/dist/model/formula.d.cts +8 -0
  320. package/dist/model/formula.d.ts +8 -0
  321. package/dist/model/formula.js +0 -0
  322. package/dist/model/geometry.cjs +55 -0
  323. package/dist/model/geometry.d.cts +2 -0
  324. package/dist/model/geometry.d.ts +2 -0
  325. package/dist/model/geometry.js +12 -0
  326. package/dist/model/style.cjs +20 -0
  327. package/dist/model/style.d.cts +2 -0
  328. package/dist/model/style.d.ts +2 -0
  329. package/dist/model/style.js +2 -0
  330. package/dist/model/units.cjs +55 -0
  331. package/dist/model/units.d.cts +20 -0
  332. package/dist/model/units.d.ts +20 -0
  333. package/dist/model/units.js +38 -0
  334. package/dist/nodes-pArN9ilm.d.cts +27 -0
  335. package/dist/nodes-pArN9ilm.d.ts +27 -0
  336. package/dist/odb/csv.cjs +48 -0
  337. package/dist/odb/csv.d.cts +14 -0
  338. package/dist/odb/csv.d.ts +14 -0
  339. package/dist/odb/csv.js +45 -0
  340. package/dist/odb/read.cjs +87 -0
  341. package/dist/odb/read.d.cts +15 -0
  342. package/dist/odb/read.d.ts +15 -0
  343. package/dist/odb/read.js +85 -0
  344. package/dist/odb/spreadsheet.cjs +68 -0
  345. package/dist/odb/spreadsheet.d.cts +6 -0
  346. package/dist/odb/spreadsheet.d.ts +6 -0
  347. package/dist/odb/spreadsheet.js +67 -0
  348. package/dist/odf/formula/detect.cjs +29 -0
  349. package/dist/odf/formula/detect.d.cts +12 -0
  350. package/dist/odf/formula/detect.d.ts +12 -0
  351. package/dist/odf/formula/detect.js +28 -0
  352. package/dist/odf/formula/placeholder.cjs +37 -0
  353. package/dist/odf/formula/placeholder.d.cts +14 -0
  354. package/dist/odf/formula/placeholder.d.ts +14 -0
  355. package/dist/odf/formula/placeholder.js +36 -0
  356. package/dist/odf/formula/read.cjs +32 -0
  357. package/dist/odf/formula/read.d.cts +11 -0
  358. package/dist/odf/formula/read.d.ts +11 -0
  359. package/dist/odf/formula/read.js +30 -0
  360. package/dist/odf/odg/read.cjs +15 -0
  361. package/dist/odf/odg/read.d.cts +6 -0
  362. package/dist/odf/odg/read.d.ts +6 -0
  363. package/dist/odf/odg/read.js +14 -0
  364. package/dist/odf/odp/read.cjs +45 -0
  365. package/dist/odf/odp/read.d.cts +11 -0
  366. package/dist/odf/odp/read.d.ts +11 -0
  367. package/dist/odf/odp/read.js +44 -0
  368. package/dist/odf/ods/read.cjs +15 -0
  369. package/dist/odf/ods/read.d.cts +6 -0
  370. package/dist/odf/ods/read.d.ts +6 -0
  371. package/dist/odf/ods/read.js +14 -0
  372. package/dist/odf/odt/read.cjs +43 -0
  373. package/dist/odf/odt/read.d.cts +11 -0
  374. package/dist/odf/odt/read.d.ts +11 -0
  375. package/dist/odf/odt/read.js +42 -0
  376. package/dist/odf-package/manifest.cjs +62 -0
  377. package/dist/odf-package/manifest.d.cts +2 -0
  378. package/dist/odf-package/manifest.d.ts +2 -0
  379. package/dist/odf-package/manifest.js +2 -0
  380. package/dist/odf-package/media.cjs +34 -0
  381. package/dist/odf-package/media.d.cts +8 -0
  382. package/dist/odf-package/media.d.ts +8 -0
  383. package/dist/odf-package/media.js +34 -0
  384. package/dist/ooxml/docx/read.cjs +15 -0
  385. package/dist/ooxml/docx/read.d.cts +6 -0
  386. package/dist/ooxml/docx/read.d.ts +6 -0
  387. package/dist/ooxml/docx/read.js +14 -0
  388. package/dist/ooxml/pptx/read.cjs +15 -0
  389. package/dist/ooxml/pptx/read.d.cts +6 -0
  390. package/dist/ooxml/pptx/read.d.ts +6 -0
  391. package/dist/ooxml/pptx/read.js +14 -0
  392. package/dist/opc/content-types.cjs +47 -0
  393. package/dist/opc/content-types.d.cts +7 -0
  394. package/dist/opc/content-types.d.ts +7 -0
  395. package/dist/opc/content-types.js +44 -0
  396. package/dist/opc/media.cjs +45 -0
  397. package/dist/opc/media.d.cts +10 -0
  398. package/dist/opc/media.d.ts +10 -0
  399. package/dist/opc/media.js +44 -0
  400. package/dist/opc/paths.cjs +28 -0
  401. package/dist/opc/paths.d.cts +5 -0
  402. package/dist/opc/paths.d.ts +5 -0
  403. package/dist/opc/paths.js +26 -0
  404. package/dist/opc/rels.cjs +47 -0
  405. package/dist/opc/rels.d.cts +10 -0
  406. package/dist/opc/rels.d.ts +10 -0
  407. package/dist/opc/rels.js +46 -0
  408. package/dist/paragraph-BXbXKPy3.d.cts +30 -0
  409. package/dist/paragraph-CoUi_88j.d.ts +30 -0
  410. package/dist/ports/abort.cjs +7 -0
  411. package/dist/ports/abort.d.cts +4 -0
  412. package/dist/ports/abort.d.ts +4 -0
  413. package/dist/ports/abort.js +6 -0
  414. package/dist/ports/clock.cjs +9 -0
  415. package/dist/ports/clock.d.cts +8 -0
  416. package/dist/ports/clock.d.ts +8 -0
  417. package/dist/ports/clock.js +7 -0
  418. package/dist/reader-DP0Mbaj4.d.cts +41 -0
  419. package/dist/reader-DP0Mbaj4.d.ts +41 -0
  420. package/dist/run-B3GNScJH.d.cts +38 -0
  421. package/dist/run-CJfh8rv3.d.ts +38 -0
  422. package/dist/run-D2rTWHbt.d.ts +38 -0
  423. package/dist/run-F8JN7Vy4.d.cts +38 -0
  424. package/dist/schema-Acco3Ezi.d.cts +22 -0
  425. package/dist/schema-VkAA6pF5.d.ts +22 -0
  426. package/dist/shape-BUfjw5eZ.d.cts +35 -0
  427. package/dist/shape-BfN3m52m.d.ts +30 -0
  428. package/dist/shape-CN2ycxOo.d.cts +30 -0
  429. package/dist/shape-CTkl6kt8.d.ts +35 -0
  430. package/dist/style-DkamR3aY.d.cts +2 -0
  431. package/dist/style-DkamR3aY.d.ts +2 -0
  432. package/dist/vector-ClohqsOe.d.cts +76 -0
  433. package/dist/vector-ClohqsOe.d.ts +76 -0
  434. package/dist/xml/edit.cjs +65 -0
  435. package/dist/xml/edit.d.cts +12 -0
  436. package/dist/xml/edit.d.ts +12 -0
  437. package/dist/xml/edit.js +57 -0
  438. package/dist/xml/entities.cjs +12 -0
  439. package/dist/xml/entities.d.cts +5 -0
  440. package/dist/xml/entities.d.ts +5 -0
  441. package/dist/xml/entities.js +10 -0
  442. package/dist/xml/fragment.cjs +22 -0
  443. package/dist/xml/fragment.d.cts +6 -0
  444. package/dist/xml/fragment.d.ts +6 -0
  445. package/dist/xml/fragment.js +20 -0
  446. package/dist/xml/odf-text.cjs +53 -0
  447. package/dist/xml/odf-text.d.cts +6 -0
  448. package/dist/xml/odf-text.d.ts +6 -0
  449. package/dist/xml/odf-text.js +51 -0
  450. package/dist/xml/query.cjs +33 -0
  451. package/dist/xml/query.d.cts +12 -0
  452. package/dist/xml/query.d.ts +12 -0
  453. package/dist/xml/query.js +29 -0
  454. package/package.json +9 -1
@@ -0,0 +1,201 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { removeChild, setAttr } from "../../xml/edit.js";
3
+ import { buildGraphicStyle, readGraphicFill, readGraphicStroke, setGraphicFill, setGraphicStroke } from "./style.js";
4
+ import { buildSvgPathData, buildSvgViewBox } from "./svg-path.js";
5
+ import { attr } from "ooxml.js";
6
+ import { buildOdfSubpaths, formatOdfLength, parseBox, parseLinePoints, parseOdfPathData, parseOdfViewBox } from "odf.js";
7
+ //#region src/edit/odg/vector.ts
8
+ function directTextP() {
9
+ return el("text:p");
10
+ }
11
+ function buildBoxVectorElement(pkg, tag, init) {
12
+ const styleName = buildGraphicStyle(pkg, {
13
+ fill: init.fill,
14
+ stroke: init.stroke
15
+ });
16
+ return el(tag, {
17
+ "draw:style-name": styleName,
18
+ "svg:x": formatOdfLength(init.frame.xPt),
19
+ "svg:y": formatOdfLength(init.frame.yPt),
20
+ "svg:width": formatOdfLength(init.frame.widthPt),
21
+ "svg:height": formatOdfLength(init.frame.heightPt)
22
+ }, [directTextP()]);
23
+ }
24
+ function buildRectElement(pkg, init) {
25
+ return buildBoxVectorElement(pkg, "draw:rect", init);
26
+ }
27
+ function buildEllipseElement(pkg, init) {
28
+ return buildBoxVectorElement(pkg, "draw:ellipse", init);
29
+ }
30
+ var OdgBoxVector = class {
31
+ container;
32
+ node;
33
+ pkg;
34
+ removed = false;
35
+ constructor(container, node, pkg) {
36
+ this.container = container;
37
+ this.node = node;
38
+ this.pkg = pkg;
39
+ }
40
+ live() {
41
+ if (this.removed) throw new Error("this OdgBoxVector has been removed from its page and can no longer be used");
42
+ return this.node;
43
+ }
44
+ get kind() {
45
+ return this.live().tag === "draw:ellipse" ? "ellipse" : "rect";
46
+ }
47
+ get name() {
48
+ return attr(this.live(), "draw:name");
49
+ }
50
+ get frame() {
51
+ return parseBox(this.live());
52
+ }
53
+ set frame(value) {
54
+ const node = this.live();
55
+ setAttr(node, "svg:x", formatOdfLength(value.xPt));
56
+ setAttr(node, "svg:y", formatOdfLength(value.yPt));
57
+ setAttr(node, "svg:width", formatOdfLength(value.widthPt));
58
+ setAttr(node, "svg:height", formatOdfLength(value.heightPt));
59
+ }
60
+ get fill() {
61
+ return readGraphicFill(this.pkg, this.live());
62
+ }
63
+ set fill(value) {
64
+ setGraphicFill(this.pkg, this.live(), value);
65
+ }
66
+ get stroke() {
67
+ return readGraphicStroke(this.pkg, this.live());
68
+ }
69
+ set stroke(value) {
70
+ setGraphicStroke(this.pkg, this.live(), value);
71
+ }
72
+ remove() {
73
+ removeChild(this.container, this.live());
74
+ this.removed = true;
75
+ }
76
+ };
77
+ function buildLineElement(pkg, init) {
78
+ const styleName = buildGraphicStyle(pkg, { stroke: init.stroke });
79
+ return el("draw:line", {
80
+ "draw:style-name": styleName,
81
+ "svg:x1": formatOdfLength(init.from.xPt),
82
+ "svg:y1": formatOdfLength(init.from.yPt),
83
+ "svg:x2": formatOdfLength(init.to.xPt),
84
+ "svg:y2": formatOdfLength(init.to.yPt)
85
+ }, [directTextP()]);
86
+ }
87
+ var OdgLineVector = class {
88
+ container;
89
+ node;
90
+ pkg;
91
+ removed = false;
92
+ constructor(container, node, pkg) {
93
+ this.container = container;
94
+ this.node = node;
95
+ this.pkg = pkg;
96
+ }
97
+ live() {
98
+ if (this.removed) throw new Error("this OdgLineVector has been removed from its page and can no longer be used");
99
+ return this.node;
100
+ }
101
+ get name() {
102
+ return attr(this.live(), "draw:name");
103
+ }
104
+ get from() {
105
+ return parseLinePoints(this.live())?.from;
106
+ }
107
+ set from(value) {
108
+ const node = this.live();
109
+ setAttr(node, "svg:x1", formatOdfLength(value.xPt));
110
+ setAttr(node, "svg:y1", formatOdfLength(value.yPt));
111
+ }
112
+ get to() {
113
+ return parseLinePoints(this.live())?.to;
114
+ }
115
+ set to(value) {
116
+ const node = this.live();
117
+ setAttr(node, "svg:x2", formatOdfLength(value.xPt));
118
+ setAttr(node, "svg:y2", formatOdfLength(value.yPt));
119
+ }
120
+ get stroke() {
121
+ return readGraphicStroke(this.pkg, this.live());
122
+ }
123
+ set stroke(value) {
124
+ setGraphicStroke(this.pkg, this.live(), value);
125
+ }
126
+ remove() {
127
+ removeChild(this.container, this.live());
128
+ this.removed = true;
129
+ }
130
+ };
131
+ function buildPathElement(pkg, init) {
132
+ const styleName = buildGraphicStyle(pkg, {
133
+ fill: init.fill,
134
+ stroke: init.stroke
135
+ });
136
+ return el("draw:path", {
137
+ "draw:style-name": styleName,
138
+ "svg:x": formatOdfLength(init.frame.xPt),
139
+ "svg:y": formatOdfLength(init.frame.yPt),
140
+ "svg:width": formatOdfLength(init.frame.widthPt),
141
+ "svg:height": formatOdfLength(init.frame.heightPt),
142
+ "svg:viewBox": buildSvgViewBox(init.frame.widthPt, init.frame.heightPt),
143
+ "svg:d": buildSvgPathData(init.subpaths)
144
+ }, [directTextP()]);
145
+ }
146
+ var OdgPathVector = class {
147
+ container;
148
+ node;
149
+ pkg;
150
+ removed = false;
151
+ constructor(container, node, pkg) {
152
+ this.container = container;
153
+ this.node = node;
154
+ this.pkg = pkg;
155
+ }
156
+ live() {
157
+ if (this.removed) throw new Error("this OdgPathVector has been removed from its page and can no longer be used");
158
+ return this.node;
159
+ }
160
+ get name() {
161
+ return attr(this.live(), "draw:name");
162
+ }
163
+ get frame() {
164
+ return parseBox(this.live());
165
+ }
166
+ set frame(value) {
167
+ const node = this.live();
168
+ setAttr(node, "svg:x", formatOdfLength(value.xPt));
169
+ setAttr(node, "svg:y", formatOdfLength(value.yPt));
170
+ setAttr(node, "svg:width", formatOdfLength(value.widthPt));
171
+ setAttr(node, "svg:height", formatOdfLength(value.heightPt));
172
+ }
173
+ get fill() {
174
+ return readGraphicFill(this.pkg, this.live());
175
+ }
176
+ set fill(value) {
177
+ setGraphicFill(this.pkg, this.live(), value);
178
+ }
179
+ get stroke() {
180
+ return readGraphicStroke(this.pkg, this.live());
181
+ }
182
+ set stroke(value) {
183
+ setGraphicStroke(this.pkg, this.live(), value);
184
+ }
185
+ get subpaths() {
186
+ const node = this.live();
187
+ const viewBoxValue = attr(node, "svg:viewBox");
188
+ const dValue = attr(node, "svg:d");
189
+ const frame = parseBox(node);
190
+ if (viewBoxValue === void 0 || dValue === void 0 || frame === void 0) return [];
191
+ const viewBox = parseOdfViewBox(viewBoxValue);
192
+ if (viewBox === void 0) return [];
193
+ return buildOdfSubpaths(parseOdfPathData(dValue), viewBox, frame);
194
+ }
195
+ remove() {
196
+ removeChild(this.container, this.live());
197
+ this.removed = true;
198
+ }
199
+ };
200
+ //#endregion
201
+ export { OdgBoxVector, OdgLineVector, OdgPathVector, buildEllipseElement, buildLineElement, buildPathElement, buildRectElement };
@@ -0,0 +1,42 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_edit_odt_content = require("../odt/content.cjs");
3
+ const require_edit_odp_editor = require("./editor.cjs");
4
+ let odf_js = require("odf.js");
5
+ //#region src/edit/odp/content.ts
6
+ function buildOdpPackage(content) {
7
+ if (content.kind !== "presentation") throw new Error("buildOdpPackage requires a presentation ContentDocument");
8
+ const editor = require_edit_odp_editor.createOdp();
9
+ const firstSlide = content.slides[0];
10
+ if (firstSlide !== void 0) editor.slideSize = firstSlide.size;
11
+ for (const slide of content.slides) {
12
+ const odpSlide = editor.addSlide();
13
+ for (const shape of slide.shapes) appendShape(odpSlide, shape);
14
+ if (slide.notes.length > 0) odpSlide.notes = slide.notes;
15
+ }
16
+ return editor.toPackage();
17
+ }
18
+ function appendShape(slide, shape) {
19
+ const [onlyBlock] = shape.blocks;
20
+ if (shape.blocks.length === 1 && onlyBlock?.kind === "image") {
21
+ const imageShape = slide.addImage({
22
+ frame: shape.frame,
23
+ format: onlyBlock.format,
24
+ bytes: (0, odf_js.base64ToBytes)(onlyBlock.base64),
25
+ altText: onlyBlock.altText
26
+ });
27
+ if (shape.rotationDeg !== void 0) imageShape.rotationDeg = shape.rotationDeg;
28
+ return;
29
+ }
30
+ const textShape = slide.addTextBox({
31
+ frame: shape.frame,
32
+ text: ""
33
+ });
34
+ if (shape.rotationDeg !== void 0) textShape.rotationDeg = shape.rotationDeg;
35
+ textShape.paragraphs()[0]?.remove();
36
+ for (const block of shape.blocks) {
37
+ if (block.kind !== "paragraph") continue;
38
+ require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block);
39
+ }
40
+ }
41
+ //#endregion
42
+ exports.buildOdpPackage = buildOdpPackage;
@@ -0,0 +1,6 @@
1
+ import { ContentDocument } from "../../model/content.cjs";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/odp/content.d.ts
4
+ declare function buildOdpPackage(content: ContentDocument): Package;
5
+ //#endregion
6
+ export { buildOdpPackage };
@@ -0,0 +1,6 @@
1
+ import { ContentDocument } from "../../model/content.js";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/odp/content.d.ts
4
+ declare function buildOdpPackage(content: ContentDocument): Package;
5
+ //#endregion
6
+ export { buildOdpPackage };
@@ -0,0 +1,41 @@
1
+ import { populateParagraph } from "../odt/content.js";
2
+ import { createOdp } from "./editor.js";
3
+ import { base64ToBytes } from "odf.js";
4
+ //#region src/edit/odp/content.ts
5
+ function buildOdpPackage(content) {
6
+ if (content.kind !== "presentation") throw new Error("buildOdpPackage requires a presentation ContentDocument");
7
+ const editor = createOdp();
8
+ const firstSlide = content.slides[0];
9
+ if (firstSlide !== void 0) editor.slideSize = firstSlide.size;
10
+ for (const slide of content.slides) {
11
+ const odpSlide = editor.addSlide();
12
+ for (const shape of slide.shapes) appendShape(odpSlide, shape);
13
+ if (slide.notes.length > 0) odpSlide.notes = slide.notes;
14
+ }
15
+ return editor.toPackage();
16
+ }
17
+ function appendShape(slide, shape) {
18
+ const [onlyBlock] = shape.blocks;
19
+ if (shape.blocks.length === 1 && onlyBlock?.kind === "image") {
20
+ const imageShape = slide.addImage({
21
+ frame: shape.frame,
22
+ format: onlyBlock.format,
23
+ bytes: base64ToBytes(onlyBlock.base64),
24
+ altText: onlyBlock.altText
25
+ });
26
+ if (shape.rotationDeg !== void 0) imageShape.rotationDeg = shape.rotationDeg;
27
+ return;
28
+ }
29
+ const textShape = slide.addTextBox({
30
+ frame: shape.frame,
31
+ text: ""
32
+ });
33
+ if (shape.rotationDeg !== void 0) textShape.rotationDeg = shape.rotationDeg;
34
+ textShape.paragraphs()[0]?.remove();
35
+ for (const block of shape.blocks) {
36
+ if (block.kind !== "paragraph") continue;
37
+ populateParagraph(textShape.appendParagraph(), block);
38
+ }
39
+ }
40
+ //#endregion
41
+ export { buildOdpPackage };
@@ -0,0 +1,113 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_fragment = require("../../xml/fragment.cjs");
3
+ const require_edit_odp_scaffold = require("./scaffold.cjs");
4
+ const require_edit_odp_slide = require("./slide.cjs");
5
+ let ooxml_js = require("ooxml.js");
6
+ let odf_js = require("odf.js");
7
+ //#region src/edit/odp/editor.ts
8
+ const CONTENT_PART_PATH = "content.xml";
9
+ const STYLES_PART_PATH = "styles.xml";
10
+ function directChild(parent, tag) {
11
+ for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
12
+ }
13
+ function findRoot(pkg, partPath) {
14
+ const part = pkg.parts[partPath];
15
+ const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
16
+ if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
17
+ return root;
18
+ }
19
+ function findOfficePresentation(pkg) {
20
+ const body = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:body");
21
+ const presentation = body === void 0 ? void 0 : directChild(body, "office:presentation");
22
+ if (presentation === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:presentation element`);
23
+ return presentation;
24
+ }
25
+ function findPageLayoutProperties(pkg) {
26
+ const pageLayout = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles")?.children.find((c) => c.type === "element" && c.tag === "style:page-layout" && (0, ooxml_js.attr)(c, "style:name") === "PM1");
27
+ const properties = pageLayout === void 0 ? void 0 : directChild(pageLayout, "style:page-layout-properties");
28
+ if (properties === void 0) throw new Error(`${STYLES_PART_PATH} has no style:page-layout[style:name="PM1"]/style:page-layout-properties element`);
29
+ return properties;
30
+ }
31
+ var OdpEditor = class {
32
+ pkg;
33
+ constructor(pkg) {
34
+ this.pkg = pkg;
35
+ }
36
+ slides() {
37
+ const presentation = findOfficePresentation(this.pkg);
38
+ const out = [];
39
+ for (const child of presentation.children) if (child.type === "element" && child.tag === "draw:page") {
40
+ const context = { pkg: this.pkg };
41
+ out.push(new require_edit_odp_slide.OdpSlide(presentation.children, child, context));
42
+ }
43
+ return out;
44
+ }
45
+ addSlide() {
46
+ const presentation = findOfficePresentation(this.pkg);
47
+ const pageElement = require_xml_fragment.el("draw:page", { "draw:master-page-name": require_edit_odp_scaffold.MASTER_PAGE_NAME });
48
+ presentation.children.push(pageElement);
49
+ const context = { pkg: this.pkg };
50
+ return new require_edit_odp_slide.OdpSlide(presentation.children, pageElement, context);
51
+ }
52
+ removeSlideAt(index) {
53
+ const presentation = findOfficePresentation(this.pkg);
54
+ const target = presentation.children.filter((c) => c.type === "element" && c.tag === "draw:page")[index];
55
+ if (target === void 0) throw new Error(`slide index ${index} does not exist`);
56
+ const listIndex = presentation.children.indexOf(target);
57
+ presentation.children.splice(listIndex, 1);
58
+ }
59
+ moveSlide(from, to) {
60
+ const presentation = findOfficePresentation(this.pkg);
61
+ const pageIndices = [];
62
+ presentation.children.forEach((child, i) => {
63
+ if (child.type === "element" && child.tag === "draw:page") pageIndices.push(i);
64
+ });
65
+ const fromChildIndex = pageIndices[from];
66
+ if (fromChildIndex === void 0) throw new Error(`slide index ${from} does not exist`);
67
+ const [moved] = presentation.children.splice(fromChildIndex, 1);
68
+ if (moved === void 0) throw new Error(`slide index ${from} does not exist`);
69
+ const updatedIndices = [];
70
+ presentation.children.forEach((child, i) => {
71
+ if (child.type === "element" && child.tag === "draw:page") updatedIndices.push(i);
72
+ });
73
+ const insertAt = to < updatedIndices.length ? updatedIndices[to] ?? presentation.children.length : presentation.children.length;
74
+ presentation.children.splice(insertAt, 0, moved);
75
+ }
76
+ get slideSize() {
77
+ const properties = findPageLayoutProperties(this.pkg);
78
+ const widthValue = (0, ooxml_js.attr)(properties, "fo:page-width");
79
+ const heightValue = (0, ooxml_js.attr)(properties, "fo:page-height");
80
+ const widthPt = widthValue === void 0 ? void 0 : (0, odf_js.parseOdfLength)(widthValue);
81
+ const heightPt = heightValue === void 0 ? void 0 : (0, odf_js.parseOdfLength)(heightValue);
82
+ return {
83
+ widthPt: widthPt ?? 0,
84
+ heightPt: heightPt ?? 0
85
+ };
86
+ }
87
+ set slideSize(size) {
88
+ const properties = findPageLayoutProperties(this.pkg);
89
+ properties.attributes = [{
90
+ name: "fo:page-width",
91
+ value: (0, odf_js.formatOdfLength)(size.widthPt)
92
+ }, {
93
+ name: "fo:page-height",
94
+ value: (0, odf_js.formatOdfLength)(size.heightPt)
95
+ }];
96
+ }
97
+ toPackage() {
98
+ return this.pkg;
99
+ }
100
+ toBytes() {
101
+ return (0, odf_js.encodePackage)(this.pkg);
102
+ }
103
+ };
104
+ function openOdp(bytes) {
105
+ return new OdpEditor((0, odf_js.decodePackage)(bytes));
106
+ }
107
+ function createOdp() {
108
+ return new OdpEditor(require_edit_odp_scaffold.createEmptyOdpPackage());
109
+ }
110
+ //#endregion
111
+ exports.OdpEditor = OdpEditor;
112
+ exports.createOdp = createOdp;
113
+ exports.openOdp = openOdp;
@@ -0,0 +1,20 @@
1
+ import { s as PageSize } from "../../geometry-DvwdrIij.cjs";
2
+ import { OdpSlide } from "./slide.cjs";
3
+ import { Package } from "odf.js";
4
+ //#region src/edit/odp/editor.d.ts
5
+ declare class OdpEditor {
6
+ private readonly pkg;
7
+ constructor(pkg: Package);
8
+ slides(): OdpSlide[];
9
+ addSlide(): OdpSlide;
10
+ removeSlideAt(index: number): void;
11
+ moveSlide(from: number, to: number): void;
12
+ get slideSize(): PageSize;
13
+ set slideSize(size: PageSize);
14
+ toPackage(): Package;
15
+ toBytes(): Uint8Array<ArrayBuffer>;
16
+ }
17
+ declare function openOdp(bytes: Uint8Array<ArrayBuffer>): OdpEditor;
18
+ declare function createOdp(): OdpEditor;
19
+ //#endregion
20
+ export { OdpEditor, createOdp, openOdp };
@@ -0,0 +1,20 @@
1
+ import { s as PageSize } from "../../geometry-DvwdrIij.js";
2
+ import { OdpSlide } from "./slide.js";
3
+ import { Package } from "odf.js";
4
+ //#region src/edit/odp/editor.d.ts
5
+ declare class OdpEditor {
6
+ private readonly pkg;
7
+ constructor(pkg: Package);
8
+ slides(): OdpSlide[];
9
+ addSlide(): OdpSlide;
10
+ removeSlideAt(index: number): void;
11
+ moveSlide(from: number, to: number): void;
12
+ get slideSize(): PageSize;
13
+ set slideSize(size: PageSize);
14
+ toPackage(): Package;
15
+ toBytes(): Uint8Array<ArrayBuffer>;
16
+ }
17
+ declare function openOdp(bytes: Uint8Array<ArrayBuffer>): OdpEditor;
18
+ declare function createOdp(): OdpEditor;
19
+ //#endregion
20
+ export { OdpEditor, createOdp, openOdp };
@@ -0,0 +1,110 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { MASTER_PAGE_NAME, createEmptyOdpPackage } from "./scaffold.js";
3
+ import { OdpSlide } from "./slide.js";
4
+ import { attr } from "ooxml.js";
5
+ import { decodePackage as decodePackage$1, encodePackage as encodePackage$1, formatOdfLength, parseOdfLength } from "odf.js";
6
+ //#region src/edit/odp/editor.ts
7
+ const CONTENT_PART_PATH = "content.xml";
8
+ const STYLES_PART_PATH = "styles.xml";
9
+ function directChild(parent, tag) {
10
+ for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
11
+ }
12
+ function findRoot(pkg, partPath) {
13
+ const part = pkg.parts[partPath];
14
+ const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
15
+ if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
16
+ return root;
17
+ }
18
+ function findOfficePresentation(pkg) {
19
+ const body = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:body");
20
+ const presentation = body === void 0 ? void 0 : directChild(body, "office:presentation");
21
+ if (presentation === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:presentation element`);
22
+ return presentation;
23
+ }
24
+ function findPageLayoutProperties(pkg) {
25
+ const pageLayout = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles")?.children.find((c) => c.type === "element" && c.tag === "style:page-layout" && attr(c, "style:name") === "PM1");
26
+ const properties = pageLayout === void 0 ? void 0 : directChild(pageLayout, "style:page-layout-properties");
27
+ if (properties === void 0) throw new Error(`${STYLES_PART_PATH} has no style:page-layout[style:name="PM1"]/style:page-layout-properties element`);
28
+ return properties;
29
+ }
30
+ var OdpEditor = class {
31
+ pkg;
32
+ constructor(pkg) {
33
+ this.pkg = pkg;
34
+ }
35
+ slides() {
36
+ const presentation = findOfficePresentation(this.pkg);
37
+ const out = [];
38
+ for (const child of presentation.children) if (child.type === "element" && child.tag === "draw:page") {
39
+ const context = { pkg: this.pkg };
40
+ out.push(new OdpSlide(presentation.children, child, context));
41
+ }
42
+ return out;
43
+ }
44
+ addSlide() {
45
+ const presentation = findOfficePresentation(this.pkg);
46
+ const pageElement = el("draw:page", { "draw:master-page-name": MASTER_PAGE_NAME });
47
+ presentation.children.push(pageElement);
48
+ const context = { pkg: this.pkg };
49
+ return new OdpSlide(presentation.children, pageElement, context);
50
+ }
51
+ removeSlideAt(index) {
52
+ const presentation = findOfficePresentation(this.pkg);
53
+ const target = presentation.children.filter((c) => c.type === "element" && c.tag === "draw:page")[index];
54
+ if (target === void 0) throw new Error(`slide index ${index} does not exist`);
55
+ const listIndex = presentation.children.indexOf(target);
56
+ presentation.children.splice(listIndex, 1);
57
+ }
58
+ moveSlide(from, to) {
59
+ const presentation = findOfficePresentation(this.pkg);
60
+ const pageIndices = [];
61
+ presentation.children.forEach((child, i) => {
62
+ if (child.type === "element" && child.tag === "draw:page") pageIndices.push(i);
63
+ });
64
+ const fromChildIndex = pageIndices[from];
65
+ if (fromChildIndex === void 0) throw new Error(`slide index ${from} does not exist`);
66
+ const [moved] = presentation.children.splice(fromChildIndex, 1);
67
+ if (moved === void 0) throw new Error(`slide index ${from} does not exist`);
68
+ const updatedIndices = [];
69
+ presentation.children.forEach((child, i) => {
70
+ if (child.type === "element" && child.tag === "draw:page") updatedIndices.push(i);
71
+ });
72
+ const insertAt = to < updatedIndices.length ? updatedIndices[to] ?? presentation.children.length : presentation.children.length;
73
+ presentation.children.splice(insertAt, 0, moved);
74
+ }
75
+ get slideSize() {
76
+ const properties = findPageLayoutProperties(this.pkg);
77
+ const widthValue = attr(properties, "fo:page-width");
78
+ const heightValue = attr(properties, "fo:page-height");
79
+ const widthPt = widthValue === void 0 ? void 0 : parseOdfLength(widthValue);
80
+ const heightPt = heightValue === void 0 ? void 0 : parseOdfLength(heightValue);
81
+ return {
82
+ widthPt: widthPt ?? 0,
83
+ heightPt: heightPt ?? 0
84
+ };
85
+ }
86
+ set slideSize(size) {
87
+ const properties = findPageLayoutProperties(this.pkg);
88
+ properties.attributes = [{
89
+ name: "fo:page-width",
90
+ value: formatOdfLength(size.widthPt)
91
+ }, {
92
+ name: "fo:page-height",
93
+ value: formatOdfLength(size.heightPt)
94
+ }];
95
+ }
96
+ toPackage() {
97
+ return this.pkg;
98
+ }
99
+ toBytes() {
100
+ return encodePackage$1(this.pkg);
101
+ }
102
+ };
103
+ function openOdp(bytes) {
104
+ return new OdpEditor(decodePackage$1(bytes));
105
+ }
106
+ function createOdp() {
107
+ return new OdpEditor(createEmptyOdpPackage());
108
+ }
109
+ //#endregion
110
+ export { OdpEditor, createOdp, openOdp };
@@ -0,0 +1,10 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_odf_package_media = require("../../odf-package/media.cjs");
3
+ const require_edit_odp_shape = require("./shape.cjs");
4
+ //#region src/edit/odp/image.ts
5
+ function insertImageFrameMedia(context, frame, image) {
6
+ const { partPath } = require_odf_package_media.addImageMedia(context.pkg, image.bytes, image.format);
7
+ return require_edit_odp_shape.buildImageFrame(partPath, frame);
8
+ }
9
+ //#endregion
10
+ exports.insertImageFrameMedia = insertImageFrameMedia;
@@ -0,0 +1,2 @@
1
+ import { n as MediaContext, r as insertImageFrameMedia, t as ImageInit } from "../../image-DWX6cNOD.cjs";
2
+ export { ImageInit, MediaContext, insertImageFrameMedia };
@@ -0,0 +1,2 @@
1
+ import { n as MediaContext, r as insertImageFrameMedia, t as ImageInit } from "../../image-CeqwL-Qs.js";
2
+ export { ImageInit, MediaContext, insertImageFrameMedia };
@@ -0,0 +1,9 @@
1
+ import { addImageMedia } from "../../odf-package/media.js";
2
+ import { buildImageFrame } from "./shape.js";
3
+ //#region src/edit/odp/image.ts
4
+ function insertImageFrameMedia(context, frame, image) {
5
+ const { partPath } = addImageMedia(context.pkg, image.bytes, image.format);
6
+ return buildImageFrame(partPath, frame);
7
+ }
8
+ //#endregion
9
+ export { insertImageFrameMedia };