js.documents 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,79 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ import { removeChild } from "../../xml/edit.js";
3
+ import { decodeOdfText as decodeOdfText$1 } from "../../xml/odf-text.js";
4
+ import { buildParagraph } from "../odt/paragraph.js";
5
+ import { OdpShape, buildTextBoxFrame } from "./shape.js";
6
+ import { insertImageFrameMedia } from "./image.js";
7
+ import { elementsWithTag } from "ooxml.js";
8
+ import { formatOdfLength } from "odf.js";
9
+ //#region src/edit/odp/slide.ts
10
+ function directChild(parent, tag) {
11
+ for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
12
+ }
13
+ const NOTES_FRAME_X_PT = 20;
14
+ const NOTES_FRAME_Y_PT = 400;
15
+ const NOTES_FRAME_WIDTH_PT = 300;
16
+ const NOTES_FRAME_HEIGHT_PT = 100;
17
+ function buildNotesElement(pkg, value) {
18
+ const paragraphs = value.split("\n").map((line) => buildParagraph(pkg, { text: line }));
19
+ const textBox = el("draw:text-box", {}, paragraphs);
20
+ const frame = el("draw:frame", {
21
+ "svg:x": formatOdfLength(NOTES_FRAME_X_PT),
22
+ "svg:y": formatOdfLength(NOTES_FRAME_Y_PT),
23
+ "svg:width": formatOdfLength(NOTES_FRAME_WIDTH_PT),
24
+ "svg:height": formatOdfLength(NOTES_FRAME_HEIGHT_PT)
25
+ }, [textBox]);
26
+ return el("presentation:notes", {}, [frame]);
27
+ }
28
+ var OdpSlide = class {
29
+ container;
30
+ node;
31
+ context;
32
+ removed = false;
33
+ constructor(container, node, context) {
34
+ this.container = container;
35
+ this.node = node;
36
+ this.context = context;
37
+ }
38
+ live() {
39
+ if (this.removed) throw new Error("this OdpSlide has been removed from the presentation and can no longer be used");
40
+ return this.node;
41
+ }
42
+ shapes() {
43
+ const node = this.live();
44
+ const out = [];
45
+ for (const child of node.children) if (child.type === "element" && child.tag === "draw:frame") out.push(new OdpShape(node.children, child, this.context.pkg));
46
+ return out;
47
+ }
48
+ addTextBox(init) {
49
+ const node = this.live();
50
+ const frameElement = buildTextBoxFrame(this.context.pkg, init.frame, init.text);
51
+ node.children.push(frameElement);
52
+ return new OdpShape(node.children, frameElement, this.context.pkg);
53
+ }
54
+ addImage(init) {
55
+ const node = this.live();
56
+ const media = { pkg: this.context.pkg };
57
+ const frameElement = insertImageFrameMedia(media, init.frame, init);
58
+ node.children.push(frameElement);
59
+ return new OdpShape(node.children, frameElement, this.context.pkg);
60
+ }
61
+ get notes() {
62
+ const notesElement = directChild(this.live(), "presentation:notes");
63
+ if (notesElement === void 0) return "";
64
+ return elementsWithTag(notesElement.children, "text:p").map((p) => decodeOdfText$1(p.children)).join("\n");
65
+ }
66
+ set notes(value) {
67
+ const node = this.live();
68
+ const existing = directChild(node, "presentation:notes");
69
+ const notesElement = buildNotesElement(this.context.pkg, value);
70
+ if (existing === void 0) node.children.push(notesElement);
71
+ else existing.children = notesElement.children;
72
+ }
73
+ remove() {
74
+ removeChild(this.container, this.live());
75
+ this.removed = true;
76
+ }
77
+ };
78
+ //#endregion
79
+ export { OdpSlide };
@@ -0,0 +1,108 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_xml_fragment = require("../../xml/fragment.cjs");
3
+ //#region src/edit/ods/address.ts
4
+ const ROW_TAG = "table:table-row";
5
+ const COLUMN_TAG = "table:table-column";
6
+ const CELL_TAG = "table:table-cell";
7
+ const COVERED_CELL_TAG = "table:covered-table-cell";
8
+ const ROW_REPEAT_ATTR = "table:number-rows-repeated";
9
+ const COLUMN_REPEAT_ATTR = "table:number-columns-repeated";
10
+ function isElementWithTag(tag) {
11
+ return (node) => node.type === "element" && node.tag === tag;
12
+ }
13
+ function isCellOrCoveredCell(node) {
14
+ return node.type === "element" && (node.tag === "table:table-cell" || node.tag === "table:covered-table-cell");
15
+ }
16
+ function validateIndex(value, label) {
17
+ if (!Number.isInteger(value) || value < 0) throw new Error(`${label} must be a non-negative integer, got ${value}`);
18
+ }
19
+ function readRepeatCount(node, attrName) {
20
+ const raw = node.attributes.find((attribute) => attribute.name === attrName)?.value;
21
+ if (raw === void 0) return 1;
22
+ const parsed = Number.parseInt(raw, 10);
23
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : 1;
24
+ }
25
+ function withRepeatCount(node, attrName, count) {
26
+ const clone = structuredClone(node);
27
+ clone.attributes = clone.attributes.filter((attribute) => attribute.name !== attrName);
28
+ if (count > 1) clone.attributes.push({
29
+ name: attrName,
30
+ value: String(count)
31
+ });
32
+ return clone;
33
+ }
34
+ function replaceRun(children, isMember, targetIndex, repeatAttr, buildEmpty) {
35
+ validateIndex(targetIndex, "targetIndex");
36
+ const members = [];
37
+ children.forEach((node, position) => {
38
+ if (isMember(node)) members.push({
39
+ node,
40
+ position
41
+ });
42
+ });
43
+ let cursor = 0;
44
+ for (const member of members) {
45
+ const count = readRepeatCount(member.node, repeatAttr);
46
+ if (targetIndex < cursor + count) {
47
+ const offset = targetIndex - cursor;
48
+ if (count === 1) return member.node;
49
+ const before = offset > 0 ? withRepeatCount(member.node, repeatAttr, offset) : void 0;
50
+ const target = withRepeatCount(member.node, repeatAttr, 1);
51
+ const replacement = [
52
+ before,
53
+ target,
54
+ count - offset - 1 > 0 ? withRepeatCount(member.node, repeatAttr, count - offset - 1) : void 0
55
+ ].filter((candidate) => candidate !== void 0);
56
+ children.splice(member.position, 1, ...replacement);
57
+ return target;
58
+ }
59
+ cursor += count;
60
+ }
61
+ const gap = targetIndex - cursor;
62
+ const lastMember = members[members.length - 1];
63
+ const insertAt = lastMember === void 0 ? children.length : lastMember.position + 1;
64
+ const toInsert = [];
65
+ if (gap > 0) toInsert.push(withRepeatCount(buildEmpty(), repeatAttr, gap));
66
+ const target = buildEmpty();
67
+ toInsert.push(target);
68
+ children.splice(insertAt, 0, ...toInsert);
69
+ return target;
70
+ }
71
+ function ensureColumnCoverage(tableElement, minCount) {
72
+ if (minCount <= 0) return;
73
+ const columnMembers = [];
74
+ tableElement.children.forEach((node, position) => {
75
+ if (isElementWithTag("table:table-column")(node)) columnMembers.push({
76
+ node,
77
+ position
78
+ });
79
+ });
80
+ const covered = columnMembers.reduce((sum, member) => sum + readRepeatCount(member.node, COLUMN_REPEAT_ATTR), 0);
81
+ if (covered >= minCount) return;
82
+ const additional = minCount - covered;
83
+ const newColumn = withRepeatCount(require_xml_fragment.el(COLUMN_TAG), COLUMN_REPEAT_ATTR, additional);
84
+ const lastColumn = columnMembers[columnMembers.length - 1];
85
+ if (lastColumn === void 0) {
86
+ const firstRowPosition = tableElement.children.findIndex(isElementWithTag(ROW_TAG));
87
+ const insertAt = firstRowPosition === -1 ? tableElement.children.length : firstRowPosition;
88
+ tableElement.children.splice(insertAt, 0, newColumn);
89
+ } else tableElement.children.splice(lastColumn.position + 1, 0, newColumn);
90
+ }
91
+ function resolveCellNode(tableElement, row, column) {
92
+ validateIndex(row, "row");
93
+ validateIndex(column, "column");
94
+ ensureColumnCoverage(tableElement, column + 1);
95
+ return replaceRun(replaceRun(tableElement.children, isElementWithTag(ROW_TAG), row, ROW_REPEAT_ATTR, () => require_xml_fragment.el(ROW_TAG)).children, isCellOrCoveredCell, column, COLUMN_REPEAT_ATTR, () => require_xml_fragment.el(CELL_TAG));
96
+ }
97
+ //#endregion
98
+ exports.CELL_TAG = CELL_TAG;
99
+ exports.COLUMN_REPEAT_ATTR = COLUMN_REPEAT_ATTR;
100
+ exports.COLUMN_TAG = COLUMN_TAG;
101
+ exports.COVERED_CELL_TAG = COVERED_CELL_TAG;
102
+ exports.ROW_REPEAT_ATTR = ROW_REPEAT_ATTR;
103
+ exports.ROW_TAG = ROW_TAG;
104
+ exports.ensureColumnCoverage = ensureColumnCoverage;
105
+ exports.isCellOrCoveredCell = isCellOrCoveredCell;
106
+ exports.isElementWithTag = isElementWithTag;
107
+ exports.replaceRun = replaceRun;
108
+ exports.resolveCellNode = resolveCellNode;
@@ -0,0 +1,15 @@
1
+ import { XmlElement, XmlNode } from "odf.js";
2
+ //#region src/edit/ods/address.d.ts
3
+ declare const ROW_TAG = "table:table-row";
4
+ declare const COLUMN_TAG = "table:table-column";
5
+ declare const CELL_TAG = "table:table-cell";
6
+ declare const COVERED_CELL_TAG = "table:covered-table-cell";
7
+ declare const ROW_REPEAT_ATTR = "table:number-rows-repeated";
8
+ declare const COLUMN_REPEAT_ATTR = "table:number-columns-repeated";
9
+ declare function isElementWithTag(tag: string): (node: XmlNode) => node is XmlElement;
10
+ declare function isCellOrCoveredCell(node: XmlNode): node is XmlElement;
11
+ declare function replaceRun(children: XmlNode[], isMember: (node: XmlNode) => node is XmlElement, targetIndex: number, repeatAttr: string, buildEmpty: () => XmlElement): XmlElement;
12
+ declare function ensureColumnCoverage(tableElement: XmlElement, minCount: number): void;
13
+ declare function resolveCellNode(tableElement: XmlElement, row: number, column: number): XmlElement;
14
+ //#endregion
15
+ export { CELL_TAG, COLUMN_REPEAT_ATTR, COLUMN_TAG, COVERED_CELL_TAG, ROW_REPEAT_ATTR, ROW_TAG, ensureColumnCoverage, isCellOrCoveredCell, isElementWithTag, replaceRun, resolveCellNode };
@@ -0,0 +1,15 @@
1
+ import { XmlElement, XmlNode } from "odf.js";
2
+ //#region src/edit/ods/address.d.ts
3
+ declare const ROW_TAG = "table:table-row";
4
+ declare const COLUMN_TAG = "table:table-column";
5
+ declare const CELL_TAG = "table:table-cell";
6
+ declare const COVERED_CELL_TAG = "table:covered-table-cell";
7
+ declare const ROW_REPEAT_ATTR = "table:number-rows-repeated";
8
+ declare const COLUMN_REPEAT_ATTR = "table:number-columns-repeated";
9
+ declare function isElementWithTag(tag: string): (node: XmlNode) => node is XmlElement;
10
+ declare function isCellOrCoveredCell(node: XmlNode): node is XmlElement;
11
+ declare function replaceRun(children: XmlNode[], isMember: (node: XmlNode) => node is XmlElement, targetIndex: number, repeatAttr: string, buildEmpty: () => XmlElement): XmlElement;
12
+ declare function ensureColumnCoverage(tableElement: XmlElement, minCount: number): void;
13
+ declare function resolveCellNode(tableElement: XmlElement, row: number, column: number): XmlElement;
14
+ //#endregion
15
+ export { CELL_TAG, COLUMN_REPEAT_ATTR, COLUMN_TAG, COVERED_CELL_TAG, ROW_REPEAT_ATTR, ROW_TAG, ensureColumnCoverage, isCellOrCoveredCell, isElementWithTag, replaceRun, resolveCellNode };
@@ -0,0 +1,97 @@
1
+ import { el } from "../../xml/fragment.js";
2
+ //#region src/edit/ods/address.ts
3
+ const ROW_TAG = "table:table-row";
4
+ const COLUMN_TAG = "table:table-column";
5
+ const CELL_TAG = "table:table-cell";
6
+ const COVERED_CELL_TAG = "table:covered-table-cell";
7
+ const ROW_REPEAT_ATTR = "table:number-rows-repeated";
8
+ const COLUMN_REPEAT_ATTR = "table:number-columns-repeated";
9
+ function isElementWithTag(tag) {
10
+ return (node) => node.type === "element" && node.tag === tag;
11
+ }
12
+ function isCellOrCoveredCell(node) {
13
+ return node.type === "element" && (node.tag === "table:table-cell" || node.tag === "table:covered-table-cell");
14
+ }
15
+ function validateIndex(value, label) {
16
+ if (!Number.isInteger(value) || value < 0) throw new Error(`${label} must be a non-negative integer, got ${value}`);
17
+ }
18
+ function readRepeatCount(node, attrName) {
19
+ const raw = node.attributes.find((attribute) => attribute.name === attrName)?.value;
20
+ if (raw === void 0) return 1;
21
+ const parsed = Number.parseInt(raw, 10);
22
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : 1;
23
+ }
24
+ function withRepeatCount(node, attrName, count) {
25
+ const clone = structuredClone(node);
26
+ clone.attributes = clone.attributes.filter((attribute) => attribute.name !== attrName);
27
+ if (count > 1) clone.attributes.push({
28
+ name: attrName,
29
+ value: String(count)
30
+ });
31
+ return clone;
32
+ }
33
+ function replaceRun(children, isMember, targetIndex, repeatAttr, buildEmpty) {
34
+ validateIndex(targetIndex, "targetIndex");
35
+ const members = [];
36
+ children.forEach((node, position) => {
37
+ if (isMember(node)) members.push({
38
+ node,
39
+ position
40
+ });
41
+ });
42
+ let cursor = 0;
43
+ for (const member of members) {
44
+ const count = readRepeatCount(member.node, repeatAttr);
45
+ if (targetIndex < cursor + count) {
46
+ const offset = targetIndex - cursor;
47
+ if (count === 1) return member.node;
48
+ const before = offset > 0 ? withRepeatCount(member.node, repeatAttr, offset) : void 0;
49
+ const target = withRepeatCount(member.node, repeatAttr, 1);
50
+ const replacement = [
51
+ before,
52
+ target,
53
+ count - offset - 1 > 0 ? withRepeatCount(member.node, repeatAttr, count - offset - 1) : void 0
54
+ ].filter((candidate) => candidate !== void 0);
55
+ children.splice(member.position, 1, ...replacement);
56
+ return target;
57
+ }
58
+ cursor += count;
59
+ }
60
+ const gap = targetIndex - cursor;
61
+ const lastMember = members[members.length - 1];
62
+ const insertAt = lastMember === void 0 ? children.length : lastMember.position + 1;
63
+ const toInsert = [];
64
+ if (gap > 0) toInsert.push(withRepeatCount(buildEmpty(), repeatAttr, gap));
65
+ const target = buildEmpty();
66
+ toInsert.push(target);
67
+ children.splice(insertAt, 0, ...toInsert);
68
+ return target;
69
+ }
70
+ function ensureColumnCoverage(tableElement, minCount) {
71
+ if (minCount <= 0) return;
72
+ const columnMembers = [];
73
+ tableElement.children.forEach((node, position) => {
74
+ if (isElementWithTag("table:table-column")(node)) columnMembers.push({
75
+ node,
76
+ position
77
+ });
78
+ });
79
+ const covered = columnMembers.reduce((sum, member) => sum + readRepeatCount(member.node, COLUMN_REPEAT_ATTR), 0);
80
+ if (covered >= minCount) return;
81
+ const additional = minCount - covered;
82
+ const newColumn = withRepeatCount(el(COLUMN_TAG), COLUMN_REPEAT_ATTR, additional);
83
+ const lastColumn = columnMembers[columnMembers.length - 1];
84
+ if (lastColumn === void 0) {
85
+ const firstRowPosition = tableElement.children.findIndex(isElementWithTag(ROW_TAG));
86
+ const insertAt = firstRowPosition === -1 ? tableElement.children.length : firstRowPosition;
87
+ tableElement.children.splice(insertAt, 0, newColumn);
88
+ } else tableElement.children.splice(lastColumn.position + 1, 0, newColumn);
89
+ }
90
+ function resolveCellNode(tableElement, row, column) {
91
+ validateIndex(row, "row");
92
+ validateIndex(column, "column");
93
+ ensureColumnCoverage(tableElement, column + 1);
94
+ return replaceRun(replaceRun(tableElement.children, isElementWithTag(ROW_TAG), row, ROW_REPEAT_ATTR, () => el(ROW_TAG)).children, isCellOrCoveredCell, column, COLUMN_REPEAT_ATTR, () => el(CELL_TAG));
95
+ }
96
+ //#endregion
97
+ export { CELL_TAG, COLUMN_REPEAT_ATTR, COLUMN_TAG, COVERED_CELL_TAG, ROW_REPEAT_ATTR, ROW_TAG, ensureColumnCoverage, isCellOrCoveredCell, isElementWithTag, replaceRun, resolveCellNode };
@@ -0,0 +1,177 @@
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_xml_odf_text = require("../../xml/odf-text.cjs");
5
+ const require_edit_odt_paragraph = require("../odt/paragraph.cjs");
6
+ const require_edit_odt_content = require("../odt/content.cjs");
7
+ let ooxml_js = require("ooxml.js");
8
+ //#region src/edit/ods/cell.ts
9
+ const VALUE_TYPE_ATTR = "office:value-type";
10
+ const VALUE_ATTR = "office:value";
11
+ const BOOLEAN_VALUE_ATTR = "office:boolean-value";
12
+ const DATE_VALUE_ATTR = "office:date-value";
13
+ const TIME_VALUE_ATTR = "office:time-value";
14
+ const STRING_VALUE_ATTR = "office:string-value";
15
+ const CURRENCY_ATTR = "office:currency";
16
+ const FORMULA_ATTR = "table:formula";
17
+ const VALUE_ATTRS = [
18
+ VALUE_TYPE_ATTR,
19
+ VALUE_ATTR,
20
+ BOOLEAN_VALUE_ATTR,
21
+ DATE_VALUE_ATTR,
22
+ TIME_VALUE_ATTR,
23
+ STRING_VALUE_ATTR,
24
+ CURRENCY_ATTR
25
+ ];
26
+ function parseNumber(raw) {
27
+ if (raw === void 0) return;
28
+ const value = Number(raw);
29
+ return Number.isNaN(value) ? void 0 : value;
30
+ }
31
+ var OdsCell = class {
32
+ node;
33
+ pkg;
34
+ constructor(node, pkg) {
35
+ this.node = node;
36
+ this.pkg = pkg;
37
+ }
38
+ get value() {
39
+ const valueType = (0, ooxml_js.attr)(this.node, VALUE_TYPE_ATTR);
40
+ const displayText = this.displayText;
41
+ switch (valueType) {
42
+ case "float": {
43
+ const value = parseNumber((0, ooxml_js.attr)(this.node, VALUE_ATTR));
44
+ return value === void 0 ? {
45
+ kind: "string",
46
+ value: displayText
47
+ } : {
48
+ kind: "number",
49
+ value
50
+ };
51
+ }
52
+ case "percentage": {
53
+ const value = parseNumber((0, ooxml_js.attr)(this.node, VALUE_ATTR));
54
+ return value === void 0 ? {
55
+ kind: "string",
56
+ value: displayText
57
+ } : {
58
+ kind: "percentage",
59
+ value
60
+ };
61
+ }
62
+ case "currency": {
63
+ const value = parseNumber((0, ooxml_js.attr)(this.node, VALUE_ATTR));
64
+ if (value === void 0) return {
65
+ kind: "string",
66
+ value: displayText
67
+ };
68
+ const currency = (0, ooxml_js.attr)(this.node, CURRENCY_ATTR);
69
+ return currency === void 0 ? {
70
+ kind: "currency",
71
+ value
72
+ } : {
73
+ kind: "currency",
74
+ value,
75
+ currency
76
+ };
77
+ }
78
+ case "boolean": {
79
+ const raw = (0, ooxml_js.attr)(this.node, BOOLEAN_VALUE_ATTR);
80
+ return raw === void 0 ? {
81
+ kind: "string",
82
+ value: displayText
83
+ } : {
84
+ kind: "boolean",
85
+ value: raw === "true"
86
+ };
87
+ }
88
+ case "date": return {
89
+ kind: "date",
90
+ value: (0, ooxml_js.attr)(this.node, DATE_VALUE_ATTR) ?? displayText
91
+ };
92
+ case "time": return {
93
+ kind: "time",
94
+ value: (0, ooxml_js.attr)(this.node, TIME_VALUE_ATTR) ?? displayText
95
+ };
96
+ case "string": return {
97
+ kind: "string",
98
+ value: (0, ooxml_js.attr)(this.node, STRING_VALUE_ATTR) ?? displayText
99
+ };
100
+ default: return { kind: "empty" };
101
+ }
102
+ }
103
+ set value(value) {
104
+ for (const name of VALUE_ATTRS) require_xml_edit.removeAttr(this.node, name);
105
+ switch (value.kind) {
106
+ case "number":
107
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "float");
108
+ require_xml_edit.setAttr(this.node, VALUE_ATTR, String(value.value));
109
+ this.displayText = String(value.value);
110
+ break;
111
+ case "percentage":
112
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "percentage");
113
+ require_xml_edit.setAttr(this.node, VALUE_ATTR, String(value.value));
114
+ this.displayText = `${value.value * 100}%`;
115
+ break;
116
+ case "currency":
117
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "currency");
118
+ require_xml_edit.setAttr(this.node, VALUE_ATTR, String(value.value));
119
+ if (value.currency !== void 0) require_xml_edit.setAttr(this.node, CURRENCY_ATTR, value.currency);
120
+ this.displayText = value.currency === void 0 ? String(value.value) : `${value.value} ${value.currency}`;
121
+ break;
122
+ case "boolean":
123
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "boolean");
124
+ require_xml_edit.setAttr(this.node, BOOLEAN_VALUE_ATTR, value.value ? "true" : "false");
125
+ this.displayText = value.value ? "TRUE" : "FALSE";
126
+ break;
127
+ case "date":
128
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "date");
129
+ require_xml_edit.setAttr(this.node, DATE_VALUE_ATTR, value.value);
130
+ this.displayText = value.value;
131
+ break;
132
+ case "time":
133
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "time");
134
+ require_xml_edit.setAttr(this.node, TIME_VALUE_ATTR, value.value);
135
+ this.displayText = value.value;
136
+ break;
137
+ case "string":
138
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "string");
139
+ require_xml_edit.setAttr(this.node, STRING_VALUE_ATTR, value.value);
140
+ this.displayText = value.value;
141
+ break;
142
+ case "error":
143
+ require_xml_edit.setAttr(this.node, VALUE_TYPE_ATTR, "string");
144
+ require_xml_edit.setAttr(this.node, STRING_VALUE_ATTR, value.value);
145
+ this.displayText = value.value;
146
+ break;
147
+ case "empty": this.displayText = "";
148
+ }
149
+ }
150
+ get formula() {
151
+ return (0, ooxml_js.attr)(this.node, FORMULA_ATTR);
152
+ }
153
+ set formula(value) {
154
+ if (value === void 0) {
155
+ require_xml_edit.removeAttr(this.node, FORMULA_ATTR);
156
+ return;
157
+ }
158
+ require_xml_edit.setAttr(this.node, FORMULA_ATTR, value);
159
+ }
160
+ get displayText() {
161
+ return this.node.children.filter((child) => child.type === "element" && child.tag === "text:p").map((paragraph) => require_xml_odf_text.decodeOdfText(paragraph.children)).join("\n");
162
+ }
163
+ set displayText(value) {
164
+ this.node.children = [require_xml_fragment.el("text:p", {}, require_xml_odf_text.encodeOdfText(value))];
165
+ }
166
+ setStyledRuns(runs) {
167
+ const textParagraph = require_xml_fragment.el("text:p");
168
+ this.node.children = [textParagraph];
169
+ const paragraph = new require_edit_odt_paragraph.OdtParagraph(this.node.children, textParagraph, this.pkg);
170
+ require_edit_odt_content.populateParagraph(paragraph, {
171
+ kind: "paragraph",
172
+ runs: [...runs]
173
+ });
174
+ }
175
+ };
176
+ //#endregion
177
+ exports.OdsCell = OdsCell;
@@ -0,0 +1,2 @@
1
+ import { t as OdsCell } from "../../cell-CNHPsDEk.cjs";
2
+ export { OdsCell };
@@ -0,0 +1,2 @@
1
+ import { t as OdsCell } from "../../cell-CNHPsDEk.js";
2
+ export { OdsCell };
@@ -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 };