js.documents 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,176 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { removeAttr, setAttr } from "../../xml/edit.js";
3
+ import { decodeOdfText, encodeOdfText } from "../../xml/odf-text.js";
4
+ import { OdtParagraph } from "../odt/paragraph.js";
5
+ import { populateParagraph } from "../odt/content.js";
6
+ import { attr } from "ooxml.js";
7
+ //#region src/edit/ods/cell.ts
8
+ const VALUE_TYPE_ATTR = "office:value-type";
9
+ const VALUE_ATTR = "office:value";
10
+ const BOOLEAN_VALUE_ATTR = "office:boolean-value";
11
+ const DATE_VALUE_ATTR = "office:date-value";
12
+ const TIME_VALUE_ATTR = "office:time-value";
13
+ const STRING_VALUE_ATTR = "office:string-value";
14
+ const CURRENCY_ATTR = "office:currency";
15
+ const FORMULA_ATTR = "table:formula";
16
+ const VALUE_ATTRS = [
17
+ VALUE_TYPE_ATTR,
18
+ VALUE_ATTR,
19
+ BOOLEAN_VALUE_ATTR,
20
+ DATE_VALUE_ATTR,
21
+ TIME_VALUE_ATTR,
22
+ STRING_VALUE_ATTR,
23
+ CURRENCY_ATTR
24
+ ];
25
+ function parseNumber(raw) {
26
+ if (raw === void 0) return;
27
+ const value = Number(raw);
28
+ return Number.isNaN(value) ? void 0 : value;
29
+ }
30
+ var OdsCell = class {
31
+ node;
32
+ pkg;
33
+ constructor(node, pkg) {
34
+ this.node = node;
35
+ this.pkg = pkg;
36
+ }
37
+ get value() {
38
+ const valueType = attr(this.node, VALUE_TYPE_ATTR);
39
+ const displayText = this.displayText;
40
+ switch (valueType) {
41
+ case "float": {
42
+ const value = parseNumber(attr(this.node, VALUE_ATTR));
43
+ return value === void 0 ? {
44
+ kind: "string",
45
+ value: displayText
46
+ } : {
47
+ kind: "number",
48
+ value
49
+ };
50
+ }
51
+ case "percentage": {
52
+ const value = parseNumber(attr(this.node, VALUE_ATTR));
53
+ return value === void 0 ? {
54
+ kind: "string",
55
+ value: displayText
56
+ } : {
57
+ kind: "percentage",
58
+ value
59
+ };
60
+ }
61
+ case "currency": {
62
+ const value = parseNumber(attr(this.node, VALUE_ATTR));
63
+ if (value === void 0) return {
64
+ kind: "string",
65
+ value: displayText
66
+ };
67
+ const currency = attr(this.node, CURRENCY_ATTR);
68
+ return currency === void 0 ? {
69
+ kind: "currency",
70
+ value
71
+ } : {
72
+ kind: "currency",
73
+ value,
74
+ currency
75
+ };
76
+ }
77
+ case "boolean": {
78
+ const raw = attr(this.node, BOOLEAN_VALUE_ATTR);
79
+ return raw === void 0 ? {
80
+ kind: "string",
81
+ value: displayText
82
+ } : {
83
+ kind: "boolean",
84
+ value: raw === "true"
85
+ };
86
+ }
87
+ case "date": return {
88
+ kind: "date",
89
+ value: attr(this.node, DATE_VALUE_ATTR) ?? displayText
90
+ };
91
+ case "time": return {
92
+ kind: "time",
93
+ value: attr(this.node, TIME_VALUE_ATTR) ?? displayText
94
+ };
95
+ case "string": return {
96
+ kind: "string",
97
+ value: attr(this.node, STRING_VALUE_ATTR) ?? displayText
98
+ };
99
+ default: return { kind: "empty" };
100
+ }
101
+ }
102
+ set value(value) {
103
+ for (const name of VALUE_ATTRS) removeAttr(this.node, name);
104
+ switch (value.kind) {
105
+ case "number":
106
+ setAttr(this.node, VALUE_TYPE_ATTR, "float");
107
+ setAttr(this.node, VALUE_ATTR, String(value.value));
108
+ this.displayText = String(value.value);
109
+ break;
110
+ case "percentage":
111
+ setAttr(this.node, VALUE_TYPE_ATTR, "percentage");
112
+ setAttr(this.node, VALUE_ATTR, String(value.value));
113
+ this.displayText = `${value.value * 100}%`;
114
+ break;
115
+ case "currency":
116
+ setAttr(this.node, VALUE_TYPE_ATTR, "currency");
117
+ setAttr(this.node, VALUE_ATTR, String(value.value));
118
+ if (value.currency !== void 0) setAttr(this.node, CURRENCY_ATTR, value.currency);
119
+ this.displayText = value.currency === void 0 ? String(value.value) : `${value.value} ${value.currency}`;
120
+ break;
121
+ case "boolean":
122
+ setAttr(this.node, VALUE_TYPE_ATTR, "boolean");
123
+ setAttr(this.node, BOOLEAN_VALUE_ATTR, value.value ? "true" : "false");
124
+ this.displayText = value.value ? "TRUE" : "FALSE";
125
+ break;
126
+ case "date":
127
+ setAttr(this.node, VALUE_TYPE_ATTR, "date");
128
+ setAttr(this.node, DATE_VALUE_ATTR, value.value);
129
+ this.displayText = value.value;
130
+ break;
131
+ case "time":
132
+ setAttr(this.node, VALUE_TYPE_ATTR, "time");
133
+ setAttr(this.node, TIME_VALUE_ATTR, value.value);
134
+ this.displayText = value.value;
135
+ break;
136
+ case "string":
137
+ setAttr(this.node, VALUE_TYPE_ATTR, "string");
138
+ setAttr(this.node, STRING_VALUE_ATTR, value.value);
139
+ this.displayText = value.value;
140
+ break;
141
+ case "error":
142
+ setAttr(this.node, VALUE_TYPE_ATTR, "string");
143
+ setAttr(this.node, STRING_VALUE_ATTR, value.value);
144
+ this.displayText = value.value;
145
+ break;
146
+ case "empty": this.displayText = "";
147
+ }
148
+ }
149
+ get formula() {
150
+ return attr(this.node, FORMULA_ATTR);
151
+ }
152
+ set formula(value) {
153
+ if (value === void 0) {
154
+ removeAttr(this.node, FORMULA_ATTR);
155
+ return;
156
+ }
157
+ setAttr(this.node, FORMULA_ATTR, value);
158
+ }
159
+ get displayText() {
160
+ return this.node.children.filter((child) => child.type === "element" && child.tag === "text:p").map((paragraph) => decodeOdfText(paragraph.children)).join("\n");
161
+ }
162
+ set displayText(value) {
163
+ this.node.children = [el("text:p", {}, encodeOdfText(value))];
164
+ }
165
+ setStyledRuns(runs) {
166
+ const textParagraph = el("text:p");
167
+ this.node.children = [textParagraph];
168
+ const paragraph = new OdtParagraph(this.node.children, textParagraph, this.pkg);
169
+ populateParagraph(paragraph, {
170
+ kind: "paragraph",
171
+ runs: [...runs]
172
+ });
173
+ }
174
+ };
175
+ //#endregion
176
+ export { OdsCell };
@@ -0,0 +1,31 @@
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
+ const require_edit_ods_address = require("./address.cjs");
6
+ let odf_js = require("odf.js");
7
+ //#region src/edit/ods/column-row.ts
8
+ function writeColumnWidth(pkg, tableElement, index, widthPt) {
9
+ require_edit_ods_address.ensureColumnCoverage(tableElement, index + 1);
10
+ const columnElement = require_edit_ods_address.replaceRun(tableElement.children, require_edit_ods_address.isElementWithTag(require_edit_ods_address.COLUMN_TAG), index, require_edit_ods_address.COLUMN_REPEAT_ATTR, () => require_xml_fragment.el(require_edit_ods_address.COLUMN_TAG));
11
+ const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
12
+ const styleName = require_edit_odt_automatic_styles.nextStyleName(automaticStyles, "style:style", "OdsColumn");
13
+ automaticStyles.children.push(require_xml_fragment.el("style:style", {
14
+ "style:name": styleName,
15
+ "style:family": "table-column"
16
+ }, [require_xml_fragment.el("style:table-column-properties", { "style:column-width": (0, odf_js.formatOdfLength)(widthPt) })]));
17
+ require_xml_edit.setAttr(columnElement, "table:style-name", styleName);
18
+ }
19
+ function writeRowHeight(pkg, tableElement, index, heightPt) {
20
+ const rowElement = require_edit_ods_address.replaceRun(tableElement.children, require_edit_ods_address.isElementWithTag(require_edit_ods_address.ROW_TAG), index, require_edit_ods_address.ROW_REPEAT_ATTR, () => require_xml_fragment.el(require_edit_ods_address.ROW_TAG));
21
+ const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
22
+ const styleName = require_edit_odt_automatic_styles.nextStyleName(automaticStyles, "style:style", "OdsRow");
23
+ automaticStyles.children.push(require_xml_fragment.el("style:style", {
24
+ "style:name": styleName,
25
+ "style:family": "table-row"
26
+ }, [require_xml_fragment.el("style:table-row-properties", { "style:row-height": (0, odf_js.formatOdfLength)(heightPt) })]));
27
+ require_xml_edit.setAttr(rowElement, "table:style-name", styleName);
28
+ }
29
+ //#endregion
30
+ exports.writeColumnWidth = writeColumnWidth;
31
+ exports.writeRowHeight = writeRowHeight;
@@ -0,0 +1,6 @@
1
+ import { Package, XmlElement } from "odf.js";
2
+ //#region src/edit/ods/column-row.d.ts
3
+ declare function writeColumnWidth(pkg: Package, tableElement: XmlElement, index: number, widthPt: number): void;
4
+ declare function writeRowHeight(pkg: Package, tableElement: XmlElement, index: number, heightPt: number): void;
5
+ //#endregion
6
+ export { writeColumnWidth, writeRowHeight };
@@ -0,0 +1,6 @@
1
+ import { Package, XmlElement } from "odf.js";
2
+ //#region src/edit/ods/column-row.d.ts
3
+ declare function writeColumnWidth(pkg: Package, tableElement: XmlElement, index: number, widthPt: number): void;
4
+ declare function writeRowHeight(pkg: Package, tableElement: XmlElement, index: number, heightPt: number): void;
5
+ //#endregion
6
+ export { writeColumnWidth, writeRowHeight };
@@ -0,0 +1,29 @@
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 { COLUMN_REPEAT_ATTR, COLUMN_TAG, ROW_REPEAT_ATTR, ROW_TAG, ensureColumnCoverage, isElementWithTag, replaceRun } from "./address.js";
5
+ import { formatOdfLength } from "odf.js";
6
+ //#region src/edit/ods/column-row.ts
7
+ function writeColumnWidth(pkg, tableElement, index, widthPt) {
8
+ ensureColumnCoverage(tableElement, index + 1);
9
+ const columnElement = replaceRun(tableElement.children, isElementWithTag(COLUMN_TAG), index, COLUMN_REPEAT_ATTR, () => el(COLUMN_TAG));
10
+ const automaticStyles = ensureAutomaticStyles(pkg);
11
+ const styleName = nextStyleName(automaticStyles, "style:style", "OdsColumn");
12
+ automaticStyles.children.push(el("style:style", {
13
+ "style:name": styleName,
14
+ "style:family": "table-column"
15
+ }, [el("style:table-column-properties", { "style:column-width": formatOdfLength(widthPt) })]));
16
+ setAttr(columnElement, "table:style-name", styleName);
17
+ }
18
+ function writeRowHeight(pkg, tableElement, index, heightPt) {
19
+ const rowElement = replaceRun(tableElement.children, isElementWithTag(ROW_TAG), index, ROW_REPEAT_ATTR, () => el(ROW_TAG));
20
+ const automaticStyles = ensureAutomaticStyles(pkg);
21
+ const styleName = nextStyleName(automaticStyles, "style:style", "OdsRow");
22
+ automaticStyles.children.push(el("style:style", {
23
+ "style:name": styleName,
24
+ "style:family": "table-row"
25
+ }, [el("style:table-row-properties", { "style:row-height": formatOdfLength(heightPt) })]));
26
+ setAttr(rowElement, "table:style-name", styleName);
27
+ }
28
+ //#endregion
29
+ export { writeColumnWidth, writeRowHeight };
@@ -0,0 +1,28 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_edit_ods_editor = require("./editor.cjs");
3
+ //#region src/edit/ods/content.ts
4
+ function buildOdsPackage(content) {
5
+ if (content.kind !== "spreadsheet") throw new Error("buildOdsPackage requires a spreadsheet ContentDocument");
6
+ const editor = require_edit_ods_editor.createOds();
7
+ if (content.sheets.length > 0) editor.removeSheetAt(0);
8
+ for (const sheet of content.sheets) {
9
+ const odsSheet = editor.addSheet(sheet.name);
10
+ odsSheet.printSettings = sheet.printSettings;
11
+ for (const cell of sheet.cells) appendCell(odsSheet, cell);
12
+ for (const column of sheet.columns) odsSheet.setColumnWidth(column.index, column.widthPt);
13
+ for (const row of sheet.rows) odsSheet.setRowHeight(row.index, row.heightPt);
14
+ }
15
+ return editor.toPackage();
16
+ }
17
+ function appendCell(odsSheet, cell) {
18
+ const odsCell = odsSheet.cell(cell.row, cell.column);
19
+ odsCell.value = cell.value;
20
+ if (cell.formula !== void 0) odsCell.formula = cell.formula;
21
+ if (cell.runs !== void 0 && cell.runs.length > 0) odsCell.setStyledRuns(cell.runs);
22
+ else odsCell.displayText = cell.displayText;
23
+ const rowSpan = cell.rowSpan ?? 1;
24
+ const colSpan = cell.colSpan ?? 1;
25
+ if (rowSpan > 1 || colSpan > 1) odsSheet.mergeCells(cell.row, cell.column, rowSpan, colSpan);
26
+ }
27
+ //#endregion
28
+ exports.buildOdsPackage = buildOdsPackage;
@@ -0,0 +1,6 @@
1
+ import { ContentDocument } from "../../model/content.cjs";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/ods/content.d.ts
4
+ declare function buildOdsPackage(content: ContentDocument): Package;
5
+ //#endregion
6
+ export { buildOdsPackage };
@@ -0,0 +1,6 @@
1
+ import { ContentDocument } from "../../model/content.js";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/ods/content.d.ts
4
+ declare function buildOdsPackage(content: ContentDocument): Package;
5
+ //#endregion
6
+ export { buildOdsPackage };
@@ -0,0 +1,27 @@
1
+ import { createOds } from "./editor.js";
2
+ //#region src/edit/ods/content.ts
3
+ function buildOdsPackage(content) {
4
+ if (content.kind !== "spreadsheet") throw new Error("buildOdsPackage requires a spreadsheet ContentDocument");
5
+ const editor = createOds();
6
+ if (content.sheets.length > 0) editor.removeSheetAt(0);
7
+ for (const sheet of content.sheets) {
8
+ const odsSheet = editor.addSheet(sheet.name);
9
+ odsSheet.printSettings = sheet.printSettings;
10
+ for (const cell of sheet.cells) appendCell(odsSheet, cell);
11
+ for (const column of sheet.columns) odsSheet.setColumnWidth(column.index, column.widthPt);
12
+ for (const row of sheet.rows) odsSheet.setRowHeight(row.index, row.heightPt);
13
+ }
14
+ return editor.toPackage();
15
+ }
16
+ function appendCell(odsSheet, cell) {
17
+ const odsCell = odsSheet.cell(cell.row, cell.column);
18
+ odsCell.value = cell.value;
19
+ if (cell.formula !== void 0) odsCell.formula = cell.formula;
20
+ if (cell.runs !== void 0 && cell.runs.length > 0) odsCell.setStyledRuns(cell.runs);
21
+ else odsCell.displayText = cell.displayText;
22
+ const rowSpan = cell.rowSpan ?? 1;
23
+ const colSpan = cell.colSpan ?? 1;
24
+ if (rowSpan > 1 || colSpan > 1) odsSheet.mergeCells(cell.row, cell.column, rowSpan, colSpan);
25
+ }
26
+ //#endregion
27
+ export { buildOdsPackage };
@@ -0,0 +1,84 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_fragment = require("../../xml/fragment.cjs");
3
+ const require_edit_odt_automatic_styles = require("../odt/automatic-styles.cjs");
4
+ const require_edit_ods_scaffold = require("./scaffold.cjs");
5
+ const require_edit_ods_sheet = require("./sheet.cjs");
6
+ let ooxml_js = require("ooxml.js");
7
+ let odf_js = require("odf.js");
8
+ //#region src/edit/ods/editor.ts
9
+ const CONTENT_PART_PATH = "content.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) {
14
+ const part = pkg.parts[CONTENT_PART_PATH];
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 ${CONTENT_PART_PATH}`);
17
+ return root;
18
+ }
19
+ function findOfficeSpreadsheet(pkg) {
20
+ const body = directChild(findRoot(pkg), "office:body");
21
+ const spreadsheet = body === void 0 ? void 0 : directChild(body, "office:spreadsheet");
22
+ if (spreadsheet === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:spreadsheet element`);
23
+ return spreadsheet;
24
+ }
25
+ function ensureSheetTableStyleName(pkg) {
26
+ const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
27
+ if (automaticStyles.children.find((child) => child.type === "element" && child.tag === "style:style" && (0, ooxml_js.attr)(child, "style:name") === "OdsTable") !== void 0) return require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME;
28
+ automaticStyles.children.push(require_xml_fragment.el("style:style", {
29
+ "style:name": require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME,
30
+ "style:family": "table",
31
+ "style:master-page-name": require_edit_ods_scaffold.MASTER_PAGE_NAME
32
+ }));
33
+ return require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME;
34
+ }
35
+ var OdsEditor = class {
36
+ pkg;
37
+ constructor(pkg) {
38
+ this.pkg = pkg;
39
+ }
40
+ sheets() {
41
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
42
+ const out = [];
43
+ for (const child of spreadsheet.children) if (child.type === "element" && child.tag === "table:table") out.push(new require_edit_ods_sheet.OdsSheet(spreadsheet.children, child, this.pkg));
44
+ return out;
45
+ }
46
+ sheet(name) {
47
+ const found = this.sheets().find((candidate) => candidate.name === name);
48
+ if (found === void 0) throw new Error(`no sheet named "${name}" exists in this spreadsheet`);
49
+ return found;
50
+ }
51
+ addSheet(name) {
52
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
53
+ const styleName = ensureSheetTableStyleName(this.pkg);
54
+ const tableElement = require_xml_fragment.el("table:table", {
55
+ "table:name": name,
56
+ "table:style-name": styleName
57
+ });
58
+ spreadsheet.children.push(tableElement);
59
+ return new require_edit_ods_sheet.OdsSheet(spreadsheet.children, tableElement, this.pkg);
60
+ }
61
+ removeSheetAt(index) {
62
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
63
+ const target = spreadsheet.children.filter((child) => child.type === "element" && child.tag === "table:table")[index];
64
+ if (target === void 0) throw new Error(`sheet index ${index} does not exist`);
65
+ const listIndex = spreadsheet.children.indexOf(target);
66
+ spreadsheet.children.splice(listIndex, 1);
67
+ }
68
+ toPackage() {
69
+ return this.pkg;
70
+ }
71
+ toBytes() {
72
+ return (0, odf_js.encodePackage)(this.pkg);
73
+ }
74
+ };
75
+ function openOds(bytes) {
76
+ return new OdsEditor((0, odf_js.decodePackage)(bytes));
77
+ }
78
+ function createOds() {
79
+ return new OdsEditor(require_edit_ods_scaffold.createEmptyOdsPackage());
80
+ }
81
+ //#endregion
82
+ exports.OdsEditor = OdsEditor;
83
+ exports.createOds = createOds;
84
+ exports.openOds = openOds;
@@ -0,0 +1,17 @@
1
+ import { OdsSheet } from "./sheet.cjs";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/ods/editor.d.ts
4
+ declare class OdsEditor {
5
+ private readonly pkg;
6
+ constructor(pkg: Package);
7
+ sheets(): OdsSheet[];
8
+ sheet(name: string): OdsSheet;
9
+ addSheet(name: string): OdsSheet;
10
+ removeSheetAt(index: number): void;
11
+ toPackage(): Package;
12
+ toBytes(): Uint8Array<ArrayBuffer>;
13
+ }
14
+ declare function openOds(bytes: Uint8Array<ArrayBuffer>): OdsEditor;
15
+ declare function createOds(): OdsEditor;
16
+ //#endregion
17
+ export { OdsEditor, createOds, openOds };
@@ -0,0 +1,17 @@
1
+ import { OdsSheet } from "./sheet.js";
2
+ import { Package } from "odf.js";
3
+ //#region src/edit/ods/editor.d.ts
4
+ declare class OdsEditor {
5
+ private readonly pkg;
6
+ constructor(pkg: Package);
7
+ sheets(): OdsSheet[];
8
+ sheet(name: string): OdsSheet;
9
+ addSheet(name: string): OdsSheet;
10
+ removeSheetAt(index: number): void;
11
+ toPackage(): Package;
12
+ toBytes(): Uint8Array<ArrayBuffer>;
13
+ }
14
+ declare function openOds(bytes: Uint8Array<ArrayBuffer>): OdsEditor;
15
+ declare function createOds(): OdsEditor;
16
+ //#endregion
17
+ export { OdsEditor, createOds, openOds };
@@ -0,0 +1,81 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { ensureAutomaticStyles } from "../odt/automatic-styles.js";
3
+ import { MASTER_PAGE_NAME, SHEET_TABLE_STYLE_NAME, createEmptyOdsPackage } from "./scaffold.js";
4
+ import { OdsSheet } from "./sheet.js";
5
+ import { attr } from "ooxml.js";
6
+ import { decodePackage as decodePackage$1, encodePackage as encodePackage$1 } from "odf.js";
7
+ //#region src/edit/ods/editor.ts
8
+ const CONTENT_PART_PATH = "content.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) {
13
+ const part = pkg.parts[CONTENT_PART_PATH];
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 ${CONTENT_PART_PATH}`);
16
+ return root;
17
+ }
18
+ function findOfficeSpreadsheet(pkg) {
19
+ const body = directChild(findRoot(pkg), "office:body");
20
+ const spreadsheet = body === void 0 ? void 0 : directChild(body, "office:spreadsheet");
21
+ if (spreadsheet === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:spreadsheet element`);
22
+ return spreadsheet;
23
+ }
24
+ function ensureSheetTableStyleName(pkg) {
25
+ const automaticStyles = ensureAutomaticStyles(pkg);
26
+ if (automaticStyles.children.find((child) => child.type === "element" && child.tag === "style:style" && attr(child, "style:name") === "OdsTable") !== void 0) return SHEET_TABLE_STYLE_NAME;
27
+ automaticStyles.children.push(el("style:style", {
28
+ "style:name": SHEET_TABLE_STYLE_NAME,
29
+ "style:family": "table",
30
+ "style:master-page-name": MASTER_PAGE_NAME
31
+ }));
32
+ return SHEET_TABLE_STYLE_NAME;
33
+ }
34
+ var OdsEditor = class {
35
+ pkg;
36
+ constructor(pkg) {
37
+ this.pkg = pkg;
38
+ }
39
+ sheets() {
40
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
41
+ const out = [];
42
+ for (const child of spreadsheet.children) if (child.type === "element" && child.tag === "table:table") out.push(new OdsSheet(spreadsheet.children, child, this.pkg));
43
+ return out;
44
+ }
45
+ sheet(name) {
46
+ const found = this.sheets().find((candidate) => candidate.name === name);
47
+ if (found === void 0) throw new Error(`no sheet named "${name}" exists in this spreadsheet`);
48
+ return found;
49
+ }
50
+ addSheet(name) {
51
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
52
+ const styleName = ensureSheetTableStyleName(this.pkg);
53
+ const tableElement = el("table:table", {
54
+ "table:name": name,
55
+ "table:style-name": styleName
56
+ });
57
+ spreadsheet.children.push(tableElement);
58
+ return new OdsSheet(spreadsheet.children, tableElement, this.pkg);
59
+ }
60
+ removeSheetAt(index) {
61
+ const spreadsheet = findOfficeSpreadsheet(this.pkg);
62
+ const target = spreadsheet.children.filter((child) => child.type === "element" && child.tag === "table:table")[index];
63
+ if (target === void 0) throw new Error(`sheet index ${index} does not exist`);
64
+ const listIndex = spreadsheet.children.indexOf(target);
65
+ spreadsheet.children.splice(listIndex, 1);
66
+ }
67
+ toPackage() {
68
+ return this.pkg;
69
+ }
70
+ toBytes() {
71
+ return encodePackage$1(this.pkg);
72
+ }
73
+ };
74
+ function openOds(bytes) {
75
+ return new OdsEditor(decodePackage$1(bytes));
76
+ }
77
+ function createOds() {
78
+ return new OdsEditor(createEmptyOdsPackage());
79
+ }
80
+ //#endregion
81
+ export { OdsEditor, createOds, openOds };
@@ -0,0 +1,90 @@
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
+ let document_schema_js = require("document-schema.js");
8
+ //#region src/edit/ods/print-settings.ts
9
+ const STYLES_PART_PATH = "styles.xml";
10
+ const CONTENT_PART_PATH = "content.xml";
11
+ function findRoot(pkg, partPath) {
12
+ const part = pkg.parts[partPath];
13
+ const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
14
+ if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
15
+ return root;
16
+ }
17
+ function directChild(parent, tag) {
18
+ for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
19
+ }
20
+ function findStylesAutomaticStyles(pkg) {
21
+ const found = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles");
22
+ if (found === void 0) throw new Error(`${STYLES_PART_PATH} has no office:automatic-styles element`);
23
+ return found;
24
+ }
25
+ function findMasterStyles(pkg) {
26
+ const found = directChild(findRoot(pkg, STYLES_PART_PATH), "office:master-styles");
27
+ if (found === void 0) throw new Error(`${STYLES_PART_PATH} has no office:master-styles element`);
28
+ return found;
29
+ }
30
+ function findContentAutomaticStyles(pkg) {
31
+ const found = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:automatic-styles");
32
+ if (found === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:automatic-styles element`);
33
+ return found;
34
+ }
35
+ const DEFAULT_MARGIN_PT = 56.69291338582677;
36
+ const DEFAULT_MARGINS = {
37
+ topPt: DEFAULT_MARGIN_PT,
38
+ rightPt: DEFAULT_MARGIN_PT,
39
+ bottomPt: DEFAULT_MARGIN_PT,
40
+ leftPt: DEFAULT_MARGIN_PT
41
+ };
42
+ function readSheetPrintSettings(pkg, tableElement) {
43
+ const tableStyleName = (0, ooxml_js.attr)(tableElement, "table:style-name");
44
+ const tableStyleElement = tableStyleName === void 0 ? void 0 : (0, odf_js.findStyleElement)(tableStyleName, "table", pkg);
45
+ const masterPageName = tableStyleElement === void 0 ? void 0 : (0, ooxml_js.attr)(tableStyleElement, "style:master-page-name");
46
+ const layoutProperties = (0, odf_js.resolvePageLayoutProperties)(pkg, masterPageName);
47
+ const pageSize = layoutProperties === void 0 ? void 0 : (0, odf_js.parsePageSize)(layoutProperties);
48
+ const margins = layoutProperties === void 0 ? void 0 : (0, odf_js.parseMargins)(layoutProperties);
49
+ const printTokens = new Set((layoutProperties === void 0 ? void 0 : (0, ooxml_js.attr)(layoutProperties, "style:print"))?.split(" ").filter((token) => token.length > 0) ?? []);
50
+ const pageOrder = (layoutProperties === void 0 ? void 0 : (0, ooxml_js.attr)(layoutProperties, "style:print-page-order")) === "ltr" ? "overThenDown" : "downThenOver";
51
+ return {
52
+ pageSize: pageSize ?? document_schema_js.PAGE_SIZE_A4,
53
+ margins: margins ?? DEFAULT_MARGINS,
54
+ gridlines: printTokens.has("grid"),
55
+ headers: printTokens.has("headers"),
56
+ pageOrder
57
+ };
58
+ }
59
+ function writeSheetPrintSettings(pkg, tableElement, settings) {
60
+ const stylesAutomaticStyles = findStylesAutomaticStyles(pkg);
61
+ const masterStyles = findMasterStyles(pkg);
62
+ const contentAutomaticStyles = findContentAutomaticStyles(pkg);
63
+ const printTokens = [settings.gridlines ? "grid" : void 0, settings.headers ? "headers" : void 0].filter((token) => token !== void 0);
64
+ const pageLayoutName = require_edit_odt_automatic_styles.nextStyleName(stylesAutomaticStyles, "style:page-layout", "OdsPageLayout");
65
+ stylesAutomaticStyles.children.push(require_xml_fragment.el("style:page-layout", { "style:name": pageLayoutName }, [require_xml_fragment.el("style:page-layout-properties", {
66
+ "fo:page-width": (0, odf_js.formatOdfLength)(settings.pageSize.widthPt),
67
+ "fo:page-height": (0, odf_js.formatOdfLength)(settings.pageSize.heightPt),
68
+ "fo:margin-top": (0, odf_js.formatOdfLength)(settings.margins.topPt),
69
+ "fo:margin-right": (0, odf_js.formatOdfLength)(settings.margins.rightPt),
70
+ "fo:margin-bottom": (0, odf_js.formatOdfLength)(settings.margins.bottomPt),
71
+ "fo:margin-left": (0, odf_js.formatOdfLength)(settings.margins.leftPt),
72
+ ...printTokens.length > 0 ? { "style:print": printTokens.join(" ") } : {},
73
+ "style:print-page-order": settings.pageOrder === "overThenDown" ? "ltr" : "ttb"
74
+ })]));
75
+ const masterPageName = require_edit_odt_automatic_styles.nextStyleName(masterStyles, "style:master-page", "OdsMasterPage");
76
+ masterStyles.children.push(require_xml_fragment.el("style:master-page", {
77
+ "style:name": masterPageName,
78
+ "style:page-layout-name": pageLayoutName
79
+ }));
80
+ const tableStyleName = require_edit_odt_automatic_styles.nextStyleName(contentAutomaticStyles, "style:style", "OdsSheetPrint");
81
+ contentAutomaticStyles.children.push(require_xml_fragment.el("style:style", {
82
+ "style:name": tableStyleName,
83
+ "style:family": "table",
84
+ "style:master-page-name": masterPageName
85
+ }));
86
+ require_xml_edit.setAttr(tableElement, "table:style-name", tableStyleName);
87
+ }
88
+ //#endregion
89
+ exports.readSheetPrintSettings = readSheetPrintSettings;
90
+ exports.writeSheetPrintSettings = writeSheetPrintSettings;
@@ -0,0 +1,7 @@
1
+ import { ContentSheetPrintSettings } from "document-schema.js";
2
+ import { Package, XmlElement } from "odf.js";
3
+ //#region src/edit/ods/print-settings.d.ts
4
+ declare function readSheetPrintSettings(pkg: Package, tableElement: XmlElement): ContentSheetPrintSettings;
5
+ declare function writeSheetPrintSettings(pkg: Package, tableElement: XmlElement, settings: ContentSheetPrintSettings): void;
6
+ //#endregion
7
+ export { readSheetPrintSettings, writeSheetPrintSettings };
@@ -0,0 +1,7 @@
1
+ import { ContentSheetPrintSettings } from "document-schema.js";
2
+ import { Package, XmlElement } from "odf.js";
3
+ //#region src/edit/ods/print-settings.d.ts
4
+ declare function readSheetPrintSettings(pkg: Package, tableElement: XmlElement): ContentSheetPrintSettings;
5
+ declare function writeSheetPrintSettings(pkg: Package, tableElement: XmlElement, settings: ContentSheetPrintSettings): void;
6
+ //#endregion
7
+ export { readSheetPrintSettings, writeSheetPrintSettings };