docier-web 0.1.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 (1006) hide show
  1. package/COMMERCIAL.md +45 -0
  2. package/LICENSE +50 -0
  3. package/LICENSE.AGPL-3.0 +661 -0
  4. package/README.md +239 -0
  5. package/dist/api/commands.d.ts +46 -0
  6. package/dist/api/commands.d.ts.map +1 -0
  7. package/dist/api/commands.js +274 -0
  8. package/dist/api/commands.js.map +1 -0
  9. package/dist/api/config.d.ts +14 -0
  10. package/dist/api/config.d.ts.map +1 -0
  11. package/dist/api/config.js +248 -0
  12. package/dist/api/config.js.map +1 -0
  13. package/dist/api/constants.d.ts +12 -0
  14. package/dist/api/constants.d.ts.map +1 -0
  15. package/dist/api/constants.js +45 -0
  16. package/dist/api/constants.js.map +1 -0
  17. package/dist/api/editor.d.ts +43 -0
  18. package/dist/api/editor.d.ts.map +1 -0
  19. package/dist/api/editor.js +983 -0
  20. package/dist/api/editor.js.map +1 -0
  21. package/dist/api/errors.d.ts +25 -0
  22. package/dist/api/errors.d.ts.map +1 -0
  23. package/dist/api/errors.js +106 -0
  24. package/dist/api/errors.js.map +1 -0
  25. package/dist/api/events.d.ts +25 -0
  26. package/dist/api/events.d.ts.map +1 -0
  27. package/dist/api/events.js +182 -0
  28. package/dist/api/events.js.map +1 -0
  29. package/dist/api/history.d.ts +40 -0
  30. package/dist/api/history.d.ts.map +1 -0
  31. package/dist/api/history.js +91 -0
  32. package/dist/api/history.js.map +1 -0
  33. package/dist/api/index.d.ts +15 -0
  34. package/dist/api/index.d.ts.map +1 -0
  35. package/dist/api/index.js +10 -0
  36. package/dist/api/index.js.map +1 -0
  37. package/dist/api/localize.d.ts +12 -0
  38. package/dist/api/localize.d.ts.map +1 -0
  39. package/dist/api/localize.js +45 -0
  40. package/dist/api/localize.js.map +1 -0
  41. package/dist/api/types.d.ts +453 -0
  42. package/dist/api/types.d.ts.map +1 -0
  43. package/dist/api/types.js +2 -0
  44. package/dist/api/types.js.map +1 -0
  45. package/dist/edit/actions.d.ts +52 -0
  46. package/dist/edit/actions.d.ts.map +1 -0
  47. package/dist/edit/actions.js +319 -0
  48. package/dist/edit/actions.js.map +1 -0
  49. package/dist/edit/areas/comment.d.ts +20 -0
  50. package/dist/edit/areas/comment.d.ts.map +1 -0
  51. package/dist/edit/areas/comment.js +199 -0
  52. package/dist/edit/areas/comment.js.map +1 -0
  53. package/dist/edit/areas/content.d.ts +12 -0
  54. package/dist/edit/areas/content.d.ts.map +1 -0
  55. package/dist/edit/areas/content.js +78 -0
  56. package/dist/edit/areas/content.js.map +1 -0
  57. package/dist/edit/areas/index.d.ts +19 -0
  58. package/dist/edit/areas/index.d.ts.map +1 -0
  59. package/dist/edit/areas/index.js +42 -0
  60. package/dist/edit/areas/index.js.map +1 -0
  61. package/dist/edit/areas/insert.d.ts +42 -0
  62. package/dist/edit/areas/insert.d.ts.map +1 -0
  63. package/dist/edit/areas/insert.js +265 -0
  64. package/dist/edit/areas/insert.js.map +1 -0
  65. package/dist/edit/areas/note.d.ts +12 -0
  66. package/dist/edit/areas/note.d.ts.map +1 -0
  67. package/dist/edit/areas/note.js +122 -0
  68. package/dist/edit/areas/note.js.map +1 -0
  69. package/dist/edit/areas/numbering.d.ts +14 -0
  70. package/dist/edit/areas/numbering.d.ts.map +1 -0
  71. package/dist/edit/areas/numbering.js +119 -0
  72. package/dist/edit/areas/numbering.js.map +1 -0
  73. package/dist/edit/areas/object.d.ts +24 -0
  74. package/dist/edit/areas/object.d.ts.map +1 -0
  75. package/dist/edit/areas/object.js +274 -0
  76. package/dist/edit/areas/object.js.map +1 -0
  77. package/dist/edit/areas/page.d.ts +33 -0
  78. package/dist/edit/areas/page.d.ts.map +1 -0
  79. package/dist/edit/areas/page.js +170 -0
  80. package/dist/edit/areas/page.js.map +1 -0
  81. package/dist/edit/areas/paragraph.d.ts +27 -0
  82. package/dist/edit/areas/paragraph.d.ts.map +1 -0
  83. package/dist/edit/areas/paragraph.js +205 -0
  84. package/dist/edit/areas/paragraph.js.map +1 -0
  85. package/dist/edit/areas/proof.d.ts +7 -0
  86. package/dist/edit/areas/proof.d.ts.map +1 -0
  87. package/dist/edit/areas/proof.js +71 -0
  88. package/dist/edit/areas/proof.js.map +1 -0
  89. package/dist/edit/areas/region.d.ts +4 -0
  90. package/dist/edit/areas/region.d.ts.map +1 -0
  91. package/dist/edit/areas/region.js +139 -0
  92. package/dist/edit/areas/region.js.map +1 -0
  93. package/dist/edit/areas/style.d.ts +7 -0
  94. package/dist/edit/areas/style.d.ts.map +1 -0
  95. package/dist/edit/areas/style.js +33 -0
  96. package/dist/edit/areas/style.js.map +1 -0
  97. package/dist/edit/areas/support.d.ts +42 -0
  98. package/dist/edit/areas/support.d.ts.map +1 -0
  99. package/dist/edit/areas/support.js +102 -0
  100. package/dist/edit/areas/support.js.map +1 -0
  101. package/dist/edit/areas/table.d.ts +55 -0
  102. package/dist/edit/areas/table.d.ts.map +1 -0
  103. package/dist/edit/areas/table.js +910 -0
  104. package/dist/edit/areas/table.js.map +1 -0
  105. package/dist/edit/areas/unsupported.d.ts +5 -0
  106. package/dist/edit/areas/unsupported.d.ts.map +1 -0
  107. package/dist/edit/areas/unsupported.js +318 -0
  108. package/dist/edit/areas/unsupported.js.map +1 -0
  109. package/dist/edit/caret.d.ts +44 -0
  110. package/dist/edit/caret.d.ts.map +1 -0
  111. package/dist/edit/caret.js +136 -0
  112. package/dist/edit/caret.js.map +1 -0
  113. package/dist/edit/clipboard/commands.d.ts +29 -0
  114. package/dist/edit/clipboard/commands.d.ts.map +1 -0
  115. package/dist/edit/clipboard/commands.js +289 -0
  116. package/dist/edit/clipboard/commands.js.map +1 -0
  117. package/dist/edit/clipboard/fragment.d.ts +19 -0
  118. package/dist/edit/clipboard/fragment.d.ts.map +1 -0
  119. package/dist/edit/clipboard/fragment.js +365 -0
  120. package/dist/edit/clipboard/fragment.js.map +1 -0
  121. package/dist/edit/clipboard/html-export.d.ts +6 -0
  122. package/dist/edit/clipboard/html-export.d.ts.map +1 -0
  123. package/dist/edit/clipboard/html-export.js +167 -0
  124. package/dist/edit/clipboard/html-export.js.map +1 -0
  125. package/dist/edit/clipboard/html-import.d.ts +16 -0
  126. package/dist/edit/clipboard/html-import.d.ts.map +1 -0
  127. package/dist/edit/clipboard/html-import.js +744 -0
  128. package/dist/edit/clipboard/html-import.js.map +1 -0
  129. package/dist/edit/clipboard/index.d.ts +15 -0
  130. package/dist/edit/clipboard/index.d.ts.map +1 -0
  131. package/dist/edit/clipboard/index.js +9 -0
  132. package/dist/edit/clipboard/index.js.map +1 -0
  133. package/dist/edit/clipboard/insert.d.ts +18 -0
  134. package/dist/edit/clipboard/insert.d.ts.map +1 -0
  135. package/dist/edit/clipboard/insert.js +282 -0
  136. package/dist/edit/clipboard/insert.js.map +1 -0
  137. package/dist/edit/clipboard/text.d.ts +12 -0
  138. package/dist/edit/clipboard/text.d.ts.map +1 -0
  139. package/dist/edit/clipboard/text.js +102 -0
  140. package/dist/edit/clipboard/text.js.map +1 -0
  141. package/dist/edit/clipboard/transfer.d.ts +16 -0
  142. package/dist/edit/clipboard/transfer.d.ts.map +1 -0
  143. package/dist/edit/clipboard/transfer.js +112 -0
  144. package/dist/edit/clipboard/transfer.js.map +1 -0
  145. package/dist/edit/clipboard/types.d.ts +62 -0
  146. package/dist/edit/clipboard/types.d.ts.map +1 -0
  147. package/dist/edit/clipboard/types.js +40 -0
  148. package/dist/edit/clipboard/types.js.map +1 -0
  149. package/dist/edit/commands.d.ts +27 -0
  150. package/dist/edit/commands.d.ts.map +1 -0
  151. package/dist/edit/commands.js +641 -0
  152. package/dist/edit/commands.js.map +1 -0
  153. package/dist/edit/containers.d.ts +17 -0
  154. package/dist/edit/containers.d.ts.map +1 -0
  155. package/dist/edit/containers.js +108 -0
  156. package/dist/edit/containers.js.map +1 -0
  157. package/dist/edit/index.d.ts +33 -0
  158. package/dist/edit/index.d.ts.map +1 -0
  159. package/dist/edit/index.js +18 -0
  160. package/dist/edit/index.js.map +1 -0
  161. package/dist/edit/input.d.ts +53 -0
  162. package/dist/edit/input.d.ts.map +1 -0
  163. package/dist/edit/input.js +1035 -0
  164. package/dist/edit/input.js.map +1 -0
  165. package/dist/edit/inspect.d.ts +39 -0
  166. package/dist/edit/inspect.d.ts.map +1 -0
  167. package/dist/edit/inspect.js +119 -0
  168. package/dist/edit/inspect.js.map +1 -0
  169. package/dist/edit/list.d.ts +33 -0
  170. package/dist/edit/list.d.ts.map +1 -0
  171. package/dist/edit/list.js +399 -0
  172. package/dist/edit/list.js.map +1 -0
  173. package/dist/edit/mutation.d.ts +57 -0
  174. package/dist/edit/mutation.d.ts.map +1 -0
  175. package/dist/edit/mutation.js +468 -0
  176. package/dist/edit/mutation.js.map +1 -0
  177. package/dist/edit/navigation.d.ts +34 -0
  178. package/dist/edit/navigation.d.ts.map +1 -0
  179. package/dist/edit/navigation.js +209 -0
  180. package/dist/edit/navigation.js.map +1 -0
  181. package/dist/edit/object-resize.d.ts +56 -0
  182. package/dist/edit/object-resize.d.ts.map +1 -0
  183. package/dist/edit/object-resize.js +189 -0
  184. package/dist/edit/object-resize.js.map +1 -0
  185. package/dist/edit/objects.d.ts +19 -0
  186. package/dist/edit/objects.d.ts.map +1 -0
  187. package/dist/edit/objects.js +58 -0
  188. package/dist/edit/objects.js.map +1 -0
  189. package/dist/edit/positions.d.ts +63 -0
  190. package/dist/edit/positions.d.ts.map +1 -0
  191. package/dist/edit/positions.js +267 -0
  192. package/dist/edit/positions.js.map +1 -0
  193. package/dist/edit/search.d.ts +19 -0
  194. package/dist/edit/search.d.ts.map +1 -0
  195. package/dist/edit/search.js +65 -0
  196. package/dist/edit/search.js.map +1 -0
  197. package/dist/edit/selection.d.ts +44 -0
  198. package/dist/edit/selection.d.ts.map +1 -0
  199. package/dist/edit/selection.js +126 -0
  200. package/dist/edit/selection.js.map +1 -0
  201. package/dist/edit/session.d.ts +84 -0
  202. package/dist/edit/session.d.ts.map +1 -0
  203. package/dist/edit/session.js +703 -0
  204. package/dist/edit/session.js.map +1 -0
  205. package/dist/edit/tables.d.ts +28 -0
  206. package/dist/edit/tables.d.ts.map +1 -0
  207. package/dist/edit/tables.js +169 -0
  208. package/dist/edit/tables.js.map +1 -0
  209. package/dist/edit/words.d.ts +17 -0
  210. package/dist/edit/words.d.ts.map +1 -0
  211. package/dist/edit/words.js +102 -0
  212. package/dist/edit/words.js.map +1 -0
  213. package/dist/index.d.ts +14 -0
  214. package/dist/index.d.ts.map +1 -0
  215. package/dist/index.js +12 -0
  216. package/dist/index.js.map +1 -0
  217. package/dist/layout/assembly.d.ts +30 -0
  218. package/dist/layout/assembly.d.ts.map +1 -0
  219. package/dist/layout/assembly.js +87 -0
  220. package/dist/layout/assembly.js.map +1 -0
  221. package/dist/layout/atoms.d.ts +46 -0
  222. package/dist/layout/atoms.d.ts.map +1 -0
  223. package/dist/layout/atoms.js +238 -0
  224. package/dist/layout/atoms.js.map +1 -0
  225. package/dist/layout/breaking.d.ts +25 -0
  226. package/dist/layout/breaking.d.ts.map +1 -0
  227. package/dist/layout/breaking.js +112 -0
  228. package/dist/layout/breaking.js.map +1 -0
  229. package/dist/layout/fields.d.ts +22 -0
  230. package/dist/layout/fields.d.ts.map +1 -0
  231. package/dist/layout/fields.js +74 -0
  232. package/dist/layout/fields.js.map +1 -0
  233. package/dist/layout/finalize.d.ts +51 -0
  234. package/dist/layout/finalize.d.ts.map +1 -0
  235. package/dist/layout/finalize.js +282 -0
  236. package/dist/layout/finalize.js.map +1 -0
  237. package/dist/layout/fonts.d.ts +26 -0
  238. package/dist/layout/fonts.d.ts.map +1 -0
  239. package/dist/layout/fonts.js +69 -0
  240. package/dist/layout/fonts.js.map +1 -0
  241. package/dist/layout/format.d.ts +51 -0
  242. package/dist/layout/format.d.ts.map +1 -0
  243. package/dist/layout/format.js +99 -0
  244. package/dist/layout/format.js.map +1 -0
  245. package/dist/layout/freeze.d.ts +2 -0
  246. package/dist/layout/freeze.d.ts.map +1 -0
  247. package/dist/layout/freeze.js +21 -0
  248. package/dist/layout/freeze.js.map +1 -0
  249. package/dist/layout/frozen-map.d.ts +8 -0
  250. package/dist/layout/frozen-map.d.ts.map +1 -0
  251. package/dist/layout/frozen-map.js +21 -0
  252. package/dist/layout/frozen-map.js.map +1 -0
  253. package/dist/layout/hash.d.ts +7 -0
  254. package/dist/layout/hash.d.ts.map +1 -0
  255. package/dist/layout/hash.js +0 -0
  256. package/dist/layout/hash.js.map +1 -0
  257. package/dist/layout/header-footer.d.ts +51 -0
  258. package/dist/layout/header-footer.d.ts.map +1 -0
  259. package/dist/layout/header-footer.js +115 -0
  260. package/dist/layout/header-footer.js.map +1 -0
  261. package/dist/layout/index.d.ts +59 -0
  262. package/dist/layout/index.d.ts.map +1 -0
  263. package/dist/layout/index.js +32 -0
  264. package/dist/layout/index.js.map +1 -0
  265. package/dist/layout/indices.d.ts +20 -0
  266. package/dist/layout/indices.d.ts.map +1 -0
  267. package/dist/layout/indices.js +73 -0
  268. package/dist/layout/indices.js.map +1 -0
  269. package/dist/layout/ingest.d.ts +99 -0
  270. package/dist/layout/ingest.d.ts.map +1 -0
  271. package/dist/layout/ingest.js +338 -0
  272. package/dist/layout/ingest.js.map +1 -0
  273. package/dist/layout/intrinsic.d.ts +20 -0
  274. package/dist/layout/intrinsic.d.ts.map +1 -0
  275. package/dist/layout/intrinsic.js +67 -0
  276. package/dist/layout/intrinsic.js.map +1 -0
  277. package/dist/layout/justify.d.ts +6 -0
  278. package/dist/layout/justify.d.ts.map +1 -0
  279. package/dist/layout/justify.js +49 -0
  280. package/dist/layout/justify.js.map +1 -0
  281. package/dist/layout/line-geometry.d.ts +24 -0
  282. package/dist/layout/line-geometry.d.ts.map +1 -0
  283. package/dist/layout/line-geometry.js +136 -0
  284. package/dist/layout/line-geometry.js.map +1 -0
  285. package/dist/layout/numbering.d.ts +28 -0
  286. package/dist/layout/numbering.d.ts.map +1 -0
  287. package/dist/layout/numbering.js +303 -0
  288. package/dist/layout/numbering.js.map +1 -0
  289. package/dist/layout/objects.d.ts +7 -0
  290. package/dist/layout/objects.d.ts.map +1 -0
  291. package/dist/layout/objects.js +107 -0
  292. package/dist/layout/objects.js.map +1 -0
  293. package/dist/layout/page-geometry.d.ts +7 -0
  294. package/dist/layout/page-geometry.d.ts.map +1 -0
  295. package/dist/layout/page-geometry.js +17 -0
  296. package/dist/layout/page-geometry.js.map +1 -0
  297. package/dist/layout/paginate.d.ts +63 -0
  298. package/dist/layout/paginate.d.ts.map +1 -0
  299. package/dist/layout/paginate.js +354 -0
  300. package/dist/layout/paginate.js.map +1 -0
  301. package/dist/layout/paint.d.ts +10 -0
  302. package/dist/layout/paint.d.ts.map +1 -0
  303. package/dist/layout/paint.js +56 -0
  304. package/dist/layout/paint.js.map +1 -0
  305. package/dist/layout/paragraph-blocks.d.ts +36 -0
  306. package/dist/layout/paragraph-blocks.d.ts.map +1 -0
  307. package/dist/layout/paragraph-blocks.js +244 -0
  308. package/dist/layout/paragraph-blocks.js.map +1 -0
  309. package/dist/layout/pipeline.d.ts +19 -0
  310. package/dist/layout/pipeline.d.ts.map +1 -0
  311. package/dist/layout/pipeline.js +620 -0
  312. package/dist/layout/pipeline.js.map +1 -0
  313. package/dist/layout/sections.d.ts +29 -0
  314. package/dist/layout/sections.d.ts.map +1 -0
  315. package/dist/layout/sections.js +109 -0
  316. package/dist/layout/sections.js.map +1 -0
  317. package/dist/layout/table-borders.d.ts +28 -0
  318. package/dist/layout/table-borders.d.ts.map +1 -0
  319. package/dist/layout/table-borders.js +116 -0
  320. package/dist/layout/table-borders.js.map +1 -0
  321. package/dist/layout/table-columns.d.ts +33 -0
  322. package/dist/layout/table-columns.d.ts.map +1 -0
  323. package/dist/layout/table-columns.js +265 -0
  324. package/dist/layout/table-columns.js.map +1 -0
  325. package/dist/layout/table-flow.d.ts +51 -0
  326. package/dist/layout/table-flow.d.ts.map +1 -0
  327. package/dist/layout/table-flow.js +343 -0
  328. package/dist/layout/table-flow.js.map +1 -0
  329. package/dist/layout/table-ingest.d.ts +90 -0
  330. package/dist/layout/table-ingest.d.ts.map +1 -0
  331. package/dist/layout/table-ingest.js +272 -0
  332. package/dist/layout/table-ingest.js.map +1 -0
  333. package/dist/layout/table-prepare.d.ts +111 -0
  334. package/dist/layout/table-prepare.d.ts.map +1 -0
  335. package/dist/layout/table-prepare.js +485 -0
  336. package/dist/layout/table-prepare.js.map +1 -0
  337. package/dist/layout/types.d.ts +250 -0
  338. package/dist/layout/types.d.ts.map +1 -0
  339. package/dist/layout/types.js +4 -0
  340. package/dist/layout/types.js.map +1 -0
  341. package/dist/measure/deterministic.d.ts +19 -0
  342. package/dist/measure/deterministic.d.ts.map +1 -0
  343. package/dist/measure/deterministic.js +124 -0
  344. package/dist/measure/deterministic.js.map +1 -0
  345. package/dist/measure/font.d.ts +15 -0
  346. package/dist/measure/font.d.ts.map +1 -0
  347. package/dist/measure/font.js +120 -0
  348. package/dist/measure/font.js.map +1 -0
  349. package/dist/measure/index.d.ts +9 -0
  350. package/dist/measure/index.d.ts.map +1 -0
  351. package/dist/measure/index.js +5 -0
  352. package/dist/measure/index.js.map +1 -0
  353. package/dist/measure/measurer.d.ts +25 -0
  354. package/dist/measure/measurer.d.ts.map +1 -0
  355. package/dist/measure/measurer.js +50 -0
  356. package/dist/measure/measurer.js.map +1 -0
  357. package/dist/measure/metrics.d.ts +42 -0
  358. package/dist/measure/metrics.d.ts.map +1 -0
  359. package/dist/measure/metrics.js +48 -0
  360. package/dist/measure/metrics.js.map +1 -0
  361. package/dist/model/blocks/block-node.d.ts +25 -0
  362. package/dist/model/blocks/block-node.d.ts.map +1 -0
  363. package/dist/model/blocks/block-node.js +42 -0
  364. package/dist/model/blocks/block-node.js.map +1 -0
  365. package/dist/model/blocks/content-control.d.ts +77 -0
  366. package/dist/model/blocks/content-control.d.ts.map +1 -0
  367. package/dist/model/blocks/content-control.js +433 -0
  368. package/dist/model/blocks/content-control.js.map +1 -0
  369. package/dist/model/blocks/index.d.ts +9 -0
  370. package/dist/model/blocks/index.d.ts.map +1 -0
  371. package/dist/model/blocks/index.js +5 -0
  372. package/dist/model/blocks/index.js.map +1 -0
  373. package/dist/model/blocks/paragraph.d.ts +48 -0
  374. package/dist/model/blocks/paragraph.d.ts.map +1 -0
  375. package/dist/model/blocks/paragraph.js +217 -0
  376. package/dist/model/blocks/paragraph.js.map +1 -0
  377. package/dist/model/blocks/table.d.ts +86 -0
  378. package/dist/model/blocks/table.d.ts.map +1 -0
  379. package/dist/model/blocks/table.js +414 -0
  380. package/dist/model/blocks/table.js.map +1 -0
  381. package/dist/model/context.d.ts +15 -0
  382. package/dist/model/context.d.ts.map +1 -0
  383. package/dist/model/context.js +26 -0
  384. package/dist/model/context.js.map +1 -0
  385. package/dist/model/diagnostics.d.ts +26 -0
  386. package/dist/model/diagnostics.d.ts.map +1 -0
  387. package/dist/model/diagnostics.js +28 -0
  388. package/dist/model/diagnostics.js.map +1 -0
  389. package/dist/model/document.d.ts +81 -0
  390. package/dist/model/document.d.ts.map +1 -0
  391. package/dist/model/document.js +453 -0
  392. package/dist/model/document.js.map +1 -0
  393. package/dist/model/ids.d.ts +11 -0
  394. package/dist/model/ids.d.ts.map +1 -0
  395. package/dist/model/ids.js +16 -0
  396. package/dist/model/ids.js.map +1 -0
  397. package/dist/model/index.d.ts +22 -0
  398. package/dist/model/index.d.ts.map +1 -0
  399. package/dist/model/index.js +15 -0
  400. package/dist/model/index.js.map +1 -0
  401. package/dist/model/inline/alternate-content.d.ts +51 -0
  402. package/dist/model/inline/alternate-content.d.ts.map +1 -0
  403. package/dist/model/inline/alternate-content.js +73 -0
  404. package/dist/model/inline/alternate-content.js.map +1 -0
  405. package/dist/model/inline/annotation.d.ts +16 -0
  406. package/dist/model/inline/annotation.d.ts.map +1 -0
  407. package/dist/model/inline/annotation.js +47 -0
  408. package/dist/model/inline/annotation.js.map +1 -0
  409. package/dist/model/inline/field.d.ts +34 -0
  410. package/dist/model/inline/field.d.ts.map +1 -0
  411. package/dist/model/inline/field.js +150 -0
  412. package/dist/model/inline/field.js.map +1 -0
  413. package/dist/model/inline/index.d.ts +11 -0
  414. package/dist/model/inline/index.d.ts.map +1 -0
  415. package/dist/model/inline/index.js +6 -0
  416. package/dist/model/inline/index.js.map +1 -0
  417. package/dist/model/inline/nodes.d.ts +147 -0
  418. package/dist/model/inline/nodes.d.ts.map +1 -0
  419. package/dist/model/inline/nodes.js +492 -0
  420. package/dist/model/inline/nodes.js.map +1 -0
  421. package/dist/model/inline/run-content.d.ts +114 -0
  422. package/dist/model/inline/run-content.d.ts.map +1 -0
  423. package/dist/model/inline/run-content.js +368 -0
  424. package/dist/model/inline/run-content.js.map +1 -0
  425. package/dist/model/numbering/abstract-numbering.d.ts +24 -0
  426. package/dist/model/numbering/abstract-numbering.d.ts.map +1 -0
  427. package/dist/model/numbering/abstract-numbering.js +66 -0
  428. package/dist/model/numbering/abstract-numbering.js.map +1 -0
  429. package/dist/model/numbering/index.d.ts +7 -0
  430. package/dist/model/numbering/index.d.ts.map +1 -0
  431. package/dist/model/numbering/index.js +5 -0
  432. package/dist/model/numbering/index.js.map +1 -0
  433. package/dist/model/numbering/instance.d.ts +38 -0
  434. package/dist/model/numbering/instance.d.ts.map +1 -0
  435. package/dist/model/numbering/instance.js +86 -0
  436. package/dist/model/numbering/instance.js.map +1 -0
  437. package/dist/model/numbering/level.d.ts +44 -0
  438. package/dist/model/numbering/level.d.ts.map +1 -0
  439. package/dist/model/numbering/level.js +115 -0
  440. package/dist/model/numbering/level.js.map +1 -0
  441. package/dist/model/numbering/numbering-part.d.ts +32 -0
  442. package/dist/model/numbering/numbering-part.d.ts.map +1 -0
  443. package/dist/model/numbering/numbering-part.js +157 -0
  444. package/dist/model/numbering/numbering-part.js.map +1 -0
  445. package/dist/model/properties/common.d.ts +142 -0
  446. package/dist/model/properties/common.d.ts.map +1 -0
  447. package/dist/model/properties/common.js +377 -0
  448. package/dist/model/properties/common.js.map +1 -0
  449. package/dist/model/properties/index.d.ts +14 -0
  450. package/dist/model/properties/index.d.ts.map +1 -0
  451. package/dist/model/properties/index.js +8 -0
  452. package/dist/model/properties/index.js.map +1 -0
  453. package/dist/model/properties/paragraph-properties.d.ts +113 -0
  454. package/dist/model/properties/paragraph-properties.d.ts.map +1 -0
  455. package/dist/model/properties/paragraph-properties.js +331 -0
  456. package/dist/model/properties/paragraph-properties.js.map +1 -0
  457. package/dist/model/properties/property-keys.d.ts +18 -0
  458. package/dist/model/properties/property-keys.d.ts.map +1 -0
  459. package/dist/model/properties/property-keys.js +166 -0
  460. package/dist/model/properties/property-keys.js.map +1 -0
  461. package/dist/model/properties/property.d.ts +37 -0
  462. package/dist/model/properties/property.d.ts.map +1 -0
  463. package/dist/model/properties/property.js +132 -0
  464. package/dist/model/properties/property.js.map +1 -0
  465. package/dist/model/properties/run-properties.d.ts +74 -0
  466. package/dist/model/properties/run-properties.d.ts.map +1 -0
  467. package/dist/model/properties/run-properties.js +208 -0
  468. package/dist/model/properties/run-properties.js.map +1 -0
  469. package/dist/model/properties/section-properties.d.ts +82 -0
  470. package/dist/model/properties/section-properties.d.ts.map +1 -0
  471. package/dist/model/properties/section-properties.js +250 -0
  472. package/dist/model/properties/section-properties.js.map +1 -0
  473. package/dist/model/properties/table-properties.d.ts +105 -0
  474. package/dist/model/properties/table-properties.d.ts.map +1 -0
  475. package/dist/model/properties/table-properties.js +301 -0
  476. package/dist/model/properties/table-properties.js.map +1 -0
  477. package/dist/model/schema-order.d.ts +15 -0
  478. package/dist/model/schema-order.d.ts.map +1 -0
  479. package/dist/model/schema-order.js +526 -0
  480. package/dist/model/schema-order.js.map +1 -0
  481. package/dist/model/settings.d.ts +46 -0
  482. package/dist/model/settings.d.ts.map +1 -0
  483. package/dist/model/settings.js +159 -0
  484. package/dist/model/settings.js.map +1 -0
  485. package/dist/model/story.d.ts +61 -0
  486. package/dist/model/story.d.ts.map +1 -0
  487. package/dist/model/story.js +159 -0
  488. package/dist/model/story.js.map +1 -0
  489. package/dist/model/styles/cascade.d.ts +120 -0
  490. package/dist/model/styles/cascade.d.ts.map +1 -0
  491. package/dist/model/styles/cascade.js +636 -0
  492. package/dist/model/styles/cascade.js.map +1 -0
  493. package/dist/model/styles/index.d.ts +9 -0
  494. package/dist/model/styles/index.d.ts.map +1 -0
  495. package/dist/model/styles/index.js +5 -0
  496. package/dist/model/styles/index.js.map +1 -0
  497. package/dist/model/styles/resolved.d.ts +112 -0
  498. package/dist/model/styles/resolved.d.ts.map +1 -0
  499. package/dist/model/styles/resolved.js +360 -0
  500. package/dist/model/styles/resolved.js.map +1 -0
  501. package/dist/model/styles/style.d.ts +67 -0
  502. package/dist/model/styles/style.d.ts.map +1 -0
  503. package/dist/model/styles/style.js +281 -0
  504. package/dist/model/styles/style.js.map +1 -0
  505. package/dist/model/styles/styles-part.d.ts +53 -0
  506. package/dist/model/styles/styles-part.d.ts.map +1 -0
  507. package/dist/model/styles/styles-part.js +263 -0
  508. package/dist/model/styles/styles-part.js.map +1 -0
  509. package/dist/model/view.d.ts +18 -0
  510. package/dist/model/view.d.ts.map +1 -0
  511. package/dist/model/view.js +38 -0
  512. package/dist/model/view.js.map +1 -0
  513. package/dist/model/xml.d.ts +23 -0
  514. package/dist/model/xml.d.ts.map +1 -0
  515. package/dist/model/xml.js +87 -0
  516. package/dist/model/xml.js.map +1 -0
  517. package/dist/ooxml/bytes.d.ts +15 -0
  518. package/dist/ooxml/bytes.d.ts.map +1 -0
  519. package/dist/ooxml/bytes.js +92 -0
  520. package/dist/ooxml/bytes.js.map +1 -0
  521. package/dist/ooxml/content-types.d.ts +66 -0
  522. package/dist/ooxml/content-types.d.ts.map +1 -0
  523. package/dist/ooxml/content-types.js +328 -0
  524. package/dist/ooxml/content-types.js.map +1 -0
  525. package/dist/ooxml/drawing.d.ts +35 -0
  526. package/dist/ooxml/drawing.d.ts.map +1 -0
  527. package/dist/ooxml/drawing.js +245 -0
  528. package/dist/ooxml/drawing.js.map +1 -0
  529. package/dist/ooxml/errors.d.ts +21 -0
  530. package/dist/ooxml/errors.d.ts.map +1 -0
  531. package/dist/ooxml/errors.js +21 -0
  532. package/dist/ooxml/errors.js.map +1 -0
  533. package/dist/ooxml/index.d.ts +22 -0
  534. package/dist/ooxml/index.d.ts.map +1 -0
  535. package/dist/ooxml/index.js +14 -0
  536. package/dist/ooxml/index.js.map +1 -0
  537. package/dist/ooxml/namespaces.d.ts +88 -0
  538. package/dist/ooxml/namespaces.d.ts.map +1 -0
  539. package/dist/ooxml/namespaces.js +165 -0
  540. package/dist/ooxml/namespaces.js.map +1 -0
  541. package/dist/ooxml/package.d.ts +117 -0
  542. package/dist/ooxml/package.d.ts.map +1 -0
  543. package/dist/ooxml/package.js +830 -0
  544. package/dist/ooxml/package.js.map +1 -0
  545. package/dist/ooxml/part-kinds.d.ts +41 -0
  546. package/dist/ooxml/part-kinds.d.ts.map +1 -0
  547. package/dist/ooxml/part-kinds.js +540 -0
  548. package/dist/ooxml/part-kinds.js.map +1 -0
  549. package/dist/ooxml/part.d.ts +68 -0
  550. package/dist/ooxml/part.d.ts.map +1 -0
  551. package/dist/ooxml/part.js +180 -0
  552. package/dist/ooxml/part.js.map +1 -0
  553. package/dist/ooxml/relationships.d.ts +91 -0
  554. package/dist/ooxml/relationships.d.ts.map +1 -0
  555. package/dist/ooxml/relationships.js +471 -0
  556. package/dist/ooxml/relationships.js.map +1 -0
  557. package/dist/ooxml/sha256.d.ts +6 -0
  558. package/dist/ooxml/sha256.d.ts.map +1 -0
  559. package/dist/ooxml/sha256.js +107 -0
  560. package/dist/ooxml/sha256.js.map +1 -0
  561. package/dist/ooxml/xml/index.d.ts +8 -0
  562. package/dist/ooxml/xml/index.d.ts.map +1 -0
  563. package/dist/ooxml/xml/index.js +6 -0
  564. package/dist/ooxml/xml/index.js.map +1 -0
  565. package/dist/ooxml/xml/io.d.ts +15 -0
  566. package/dist/ooxml/xml/io.d.ts.map +1 -0
  567. package/dist/ooxml/xml/io.js +122 -0
  568. package/dist/ooxml/xml/io.js.map +1 -0
  569. package/dist/ooxml/xml/nodes.d.ts +97 -0
  570. package/dist/ooxml/xml/nodes.d.ts.map +1 -0
  571. package/dist/ooxml/xml/nodes.js +109 -0
  572. package/dist/ooxml/xml/nodes.js.map +1 -0
  573. package/dist/ooxml/xml/parse.d.ts +7 -0
  574. package/dist/ooxml/xml/parse.d.ts.map +1 -0
  575. package/dist/ooxml/xml/parse.js +529 -0
  576. package/dist/ooxml/xml/parse.js.map +1 -0
  577. package/dist/ooxml/xml/serialize.d.ts +11 -0
  578. package/dist/ooxml/xml/serialize.d.ts.map +1 -0
  579. package/dist/ooxml/xml/serialize.js +94 -0
  580. package/dist/ooxml/xml/serialize.js.map +1 -0
  581. package/dist/ooxml/xml/tree.d.ts +10 -0
  582. package/dist/ooxml/xml/tree.d.ts.map +1 -0
  583. package/dist/ooxml/xml/tree.js +67 -0
  584. package/dist/ooxml/xml/tree.js.map +1 -0
  585. package/dist/ooxml/zip/crc32.d.ts +2 -0
  586. package/dist/ooxml/zip/crc32.d.ts.map +1 -0
  587. package/dist/ooxml/zip/crc32.js +20 -0
  588. package/dist/ooxml/zip/crc32.js.map +1 -0
  589. package/dist/ooxml/zip/deflate.d.ts +23 -0
  590. package/dist/ooxml/zip/deflate.d.ts.map +1 -0
  591. package/dist/ooxml/zip/deflate.js +172 -0
  592. package/dist/ooxml/zip/deflate.js.map +1 -0
  593. package/dist/ooxml/zip/index.d.ts +10 -0
  594. package/dist/ooxml/zip/index.d.ts.map +1 -0
  595. package/dist/ooxml/zip/index.js +6 -0
  596. package/dist/ooxml/zip/index.js.map +1 -0
  597. package/dist/ooxml/zip/read.d.ts +17 -0
  598. package/dist/ooxml/zip/read.d.ts.map +1 -0
  599. package/dist/ooxml/zip/read.js +345 -0
  600. package/dist/ooxml/zip/read.js.map +1 -0
  601. package/dist/ooxml/zip/types.d.ts +66 -0
  602. package/dist/ooxml/zip/types.d.ts.map +1 -0
  603. package/dist/ooxml/zip/types.js +26 -0
  604. package/dist/ooxml/zip/types.js.map +1 -0
  605. package/dist/ooxml/zip/write.d.ts +17 -0
  606. package/dist/ooxml/zip/write.d.ts.map +1 -0
  607. package/dist/ooxml/zip/write.js +175 -0
  608. package/dist/ooxml/zip/write.js.map +1 -0
  609. package/dist/pdf/abort.d.ts +2 -0
  610. package/dist/pdf/abort.d.ts.map +1 -0
  611. package/dist/pdf/abort.js +7 -0
  612. package/dist/pdf/abort.js.map +1 -0
  613. package/dist/pdf/bytes.d.ts +7 -0
  614. package/dist/pdf/bytes.d.ts.map +1 -0
  615. package/dist/pdf/bytes.js +54 -0
  616. package/dist/pdf/bytes.js.map +1 -0
  617. package/dist/pdf/color.d.ts +7 -0
  618. package/dist/pdf/color.d.ts.map +1 -0
  619. package/dist/pdf/color.js +25 -0
  620. package/dist/pdf/color.js.map +1 -0
  621. package/dist/pdf/content.d.ts +37 -0
  622. package/dist/pdf/content.d.ts.map +1 -0
  623. package/dist/pdf/content.js +129 -0
  624. package/dist/pdf/content.js.map +1 -0
  625. package/dist/pdf/decoration.d.ts +10 -0
  626. package/dist/pdf/decoration.d.ts.map +1 -0
  627. package/dist/pdf/decoration.js +60 -0
  628. package/dist/pdf/decoration.js.map +1 -0
  629. package/dist/pdf/document.d.ts +4 -0
  630. package/dist/pdf/document.d.ts.map +1 -0
  631. package/dist/pdf/document.js +158 -0
  632. package/dist/pdf/document.js.map +1 -0
  633. package/dist/pdf/errors.d.ts +13 -0
  634. package/dist/pdf/errors.d.ts.map +1 -0
  635. package/dist/pdf/errors.js +13 -0
  636. package/dist/pdf/errors.js.map +1 -0
  637. package/dist/pdf/fonts/advance.d.ts +35 -0
  638. package/dist/pdf/fonts/advance.d.ts.map +1 -0
  639. package/dist/pdf/fonts/advance.js +157 -0
  640. package/dist/pdf/fonts/advance.js.map +1 -0
  641. package/dist/pdf/fonts/embed.d.ts +32 -0
  642. package/dist/pdf/fonts/embed.d.ts.map +1 -0
  643. package/dist/pdf/fonts/embed.js +183 -0
  644. package/dist/pdf/fonts/embed.js.map +1 -0
  645. package/dist/pdf/fonts/registry.d.ts +47 -0
  646. package/dist/pdf/fonts/registry.d.ts.map +1 -0
  647. package/dist/pdf/fonts/registry.js +222 -0
  648. package/dist/pdf/fonts/registry.js.map +1 -0
  649. package/dist/pdf/fonts/sfnt.d.ts +83 -0
  650. package/dist/pdf/fonts/sfnt.d.ts.map +1 -0
  651. package/dist/pdf/fonts/sfnt.js +363 -0
  652. package/dist/pdf/fonts/sfnt.js.map +1 -0
  653. package/dist/pdf/fonts/subset.d.ts +8 -0
  654. package/dist/pdf/fonts/subset.d.ts.map +1 -0
  655. package/dist/pdf/fonts/subset.js +101 -0
  656. package/dist/pdf/fonts/subset.js.map +1 -0
  657. package/dist/pdf/fonts/table-builder.d.ts +8 -0
  658. package/dist/pdf/fonts/table-builder.d.ts.map +1 -0
  659. package/dist/pdf/fonts/table-builder.js +90 -0
  660. package/dist/pdf/fonts/table-builder.js.map +1 -0
  661. package/dist/pdf/geometry.d.ts +24 -0
  662. package/dist/pdf/geometry.d.ts.map +1 -0
  663. package/dist/pdf/geometry.js +26 -0
  664. package/dist/pdf/geometry.js.map +1 -0
  665. package/dist/pdf/images/embed.d.ts +10 -0
  666. package/dist/pdf/images/embed.d.ts.map +1 -0
  667. package/dist/pdf/images/embed.js +80 -0
  668. package/dist/pdf/images/embed.js.map +1 -0
  669. package/dist/pdf/images/jpeg.d.ts +18 -0
  670. package/dist/pdf/images/jpeg.d.ts.map +1 -0
  671. package/dist/pdf/images/jpeg.js +65 -0
  672. package/dist/pdf/images/jpeg.js.map +1 -0
  673. package/dist/pdf/images/png.d.ts +13 -0
  674. package/dist/pdf/images/png.d.ts.map +1 -0
  675. package/dist/pdf/images/png.js +213 -0
  676. package/dist/pdf/images/png.js.map +1 -0
  677. package/dist/pdf/images/registry.d.ts +22 -0
  678. package/dist/pdf/images/registry.d.ts.map +1 -0
  679. package/dist/pdf/images/registry.js +94 -0
  680. package/dist/pdf/images/registry.js.map +1 -0
  681. package/dist/pdf/index.d.ts +10 -0
  682. package/dist/pdf/index.d.ts.map +1 -0
  683. package/dist/pdf/index.js +11 -0
  684. package/dist/pdf/index.js.map +1 -0
  685. package/dist/pdf/metadata.d.ts +21 -0
  686. package/dist/pdf/metadata.d.ts.map +1 -0
  687. package/dist/pdf/metadata.js +65 -0
  688. package/dist/pdf/metadata.js.map +1 -0
  689. package/dist/pdf/objects.d.ts +46 -0
  690. package/dist/pdf/objects.d.ts.map +1 -0
  691. package/dist/pdf/objects.js +174 -0
  692. package/dist/pdf/objects.js.map +1 -0
  693. package/dist/pdf/options.d.ts +9 -0
  694. package/dist/pdf/options.d.ts.map +1 -0
  695. package/dist/pdf/options.js +84 -0
  696. package/dist/pdf/options.js.map +1 -0
  697. package/dist/pdf/page.d.ts +21 -0
  698. package/dist/pdf/page.d.ts.map +1 -0
  699. package/dist/pdf/page.js +228 -0
  700. package/dist/pdf/page.js.map +1 -0
  701. package/dist/pdf/pdfa.d.ts +6 -0
  702. package/dist/pdf/pdfa.d.ts.map +1 -0
  703. package/dist/pdf/pdfa.js +139 -0
  704. package/dist/pdf/pdfa.js.map +1 -0
  705. package/dist/pdf/runs.d.ts +25 -0
  706. package/dist/pdf/runs.d.ts.map +1 -0
  707. package/dist/pdf/runs.js +122 -0
  708. package/dist/pdf/runs.js.map +1 -0
  709. package/dist/pdf/selection.d.ts +4 -0
  710. package/dist/pdf/selection.d.ts.map +1 -0
  711. package/dist/pdf/selection.js +31 -0
  712. package/dist/pdf/selection.js.map +1 -0
  713. package/dist/pdf/stream.d.ts +13 -0
  714. package/dist/pdf/stream.d.ts.map +1 -0
  715. package/dist/pdf/stream.js +61 -0
  716. package/dist/pdf/stream.js.map +1 -0
  717. package/dist/pdf/types.d.ts +111 -0
  718. package/dist/pdf/types.d.ts.map +1 -0
  719. package/dist/pdf/types.js +2 -0
  720. package/dist/pdf/types.js.map +1 -0
  721. package/dist/pdf/xmp.d.ts +11 -0
  722. package/dist/pdf/xmp.d.ts.map +1 -0
  723. package/dist/pdf/xmp.js +53 -0
  724. package/dist/pdf/xmp.js.map +1 -0
  725. package/dist/render/color.d.ts +6 -0
  726. package/dist/render/color.d.ts.map +1 -0
  727. package/dist/render/color.js +49 -0
  728. package/dist/render/color.js.map +1 -0
  729. package/dist/render/decoration.d.ts +18 -0
  730. package/dist/render/decoration.d.ts.map +1 -0
  731. package/dist/render/decoration.js +120 -0
  732. package/dist/render/decoration.js.map +1 -0
  733. package/dist/render/divergence.d.ts +78 -0
  734. package/dist/render/divergence.d.ts.map +1 -0
  735. package/dist/render/divergence.js +680 -0
  736. package/dist/render/divergence.js.map +1 -0
  737. package/dist/render/document.d.ts +6 -0
  738. package/dist/render/document.d.ts.map +1 -0
  739. package/dist/render/document.js +204 -0
  740. package/dist/render/document.js.map +1 -0
  741. package/dist/render/dom.d.ts +56 -0
  742. package/dist/render/dom.d.ts.map +1 -0
  743. package/dist/render/dom.js +62 -0
  744. package/dist/render/dom.js.map +1 -0
  745. package/dist/render/images.d.ts +26 -0
  746. package/dist/render/images.d.ts.map +1 -0
  747. package/dist/render/images.js +79 -0
  748. package/dist/render/images.js.map +1 -0
  749. package/dist/render/index.d.ts +29 -0
  750. package/dist/render/index.d.ts.map +1 -0
  751. package/dist/render/index.js +17 -0
  752. package/dist/render/index.js.map +1 -0
  753. package/dist/render/inline-object.d.ts +13 -0
  754. package/dist/render/inline-object.d.ts.map +1 -0
  755. package/dist/render/inline-object.js +19 -0
  756. package/dist/render/inline-object.js.map +1 -0
  757. package/dist/render/objects.d.ts +20 -0
  758. package/dist/render/objects.d.ts.map +1 -0
  759. package/dist/render/objects.js +85 -0
  760. package/dist/render/objects.js.map +1 -0
  761. package/dist/render/page-range.d.ts +11 -0
  762. package/dist/render/page-range.d.ts.map +1 -0
  763. package/dist/render/page-range.js +64 -0
  764. package/dist/render/page-range.js.map +1 -0
  765. package/dist/render/pages.d.ts +21 -0
  766. package/dist/render/pages.d.ts.map +1 -0
  767. package/dist/render/pages.js +200 -0
  768. package/dist/render/pages.js.map +1 -0
  769. package/dist/render/print-style.d.ts +27 -0
  770. package/dist/render/print-style.d.ts.map +1 -0
  771. package/dist/render/print-style.js +106 -0
  772. package/dist/render/print-style.js.map +1 -0
  773. package/dist/render/print.d.ts +57 -0
  774. package/dist/render/print.d.ts.map +1 -0
  775. package/dist/render/print.js +189 -0
  776. package/dist/render/print.js.map +1 -0
  777. package/dist/render/registry.d.ts +38 -0
  778. package/dist/render/registry.d.ts.map +1 -0
  779. package/dist/render/registry.js +120 -0
  780. package/dist/render/registry.js.map +1 -0
  781. package/dist/render/runs.d.ts +23 -0
  782. package/dist/render/runs.d.ts.map +1 -0
  783. package/dist/render/runs.js +99 -0
  784. package/dist/render/runs.js.map +1 -0
  785. package/dist/render/scale.d.ts +13 -0
  786. package/dist/render/scale.d.ts.map +1 -0
  787. package/dist/render/scale.js +20 -0
  788. package/dist/render/scale.js.map +1 -0
  789. package/dist/render/style.d.ts +21 -0
  790. package/dist/render/style.d.ts.map +1 -0
  791. package/dist/render/style.js +127 -0
  792. package/dist/render/style.js.map +1 -0
  793. package/dist/render/types.d.ts +124 -0
  794. package/dist/render/types.d.ts.map +1 -0
  795. package/dist/render/types.js +5 -0
  796. package/dist/render/types.js.map +1 -0
  797. package/dist/sfnt/sfnt.d.ts +87 -0
  798. package/dist/sfnt/sfnt.d.ts.map +1 -0
  799. package/dist/sfnt/sfnt.js +367 -0
  800. package/dist/sfnt/sfnt.js.map +1 -0
  801. package/dist/style.css +128 -0
  802. package/dist/tokens/binding.d.ts +31 -0
  803. package/dist/tokens/binding.d.ts.map +1 -0
  804. package/dist/tokens/binding.js +151 -0
  805. package/dist/tokens/binding.js.map +1 -0
  806. package/dist/tokens/catalogue.d.ts +53 -0
  807. package/dist/tokens/catalogue.d.ts.map +1 -0
  808. package/dist/tokens/catalogue.js +209 -0
  809. package/dist/tokens/catalogue.js.map +1 -0
  810. package/dist/tokens/display.d.ts +30 -0
  811. package/dist/tokens/display.d.ts.map +1 -0
  812. package/dist/tokens/display.js +59 -0
  813. package/dist/tokens/display.js.map +1 -0
  814. package/dist/tokens/engine.d.ts +49 -0
  815. package/dist/tokens/engine.d.ts.map +1 -0
  816. package/dist/tokens/engine.js +166 -0
  817. package/dist/tokens/engine.js.map +1 -0
  818. package/dist/tokens/events.d.ts +83 -0
  819. package/dist/tokens/events.d.ts.map +1 -0
  820. package/dist/tokens/events.js +2 -0
  821. package/dist/tokens/events.js.map +1 -0
  822. package/dist/tokens/fill.d.ts +29 -0
  823. package/dist/tokens/fill.d.ts.map +1 -0
  824. package/dist/tokens/fill.js +129 -0
  825. package/dist/tokens/fill.js.map +1 -0
  826. package/dist/tokens/format.d.ts +16 -0
  827. package/dist/tokens/format.d.ts.map +1 -0
  828. package/dist/tokens/format.js +141 -0
  829. package/dist/tokens/format.js.map +1 -0
  830. package/dist/tokens/headless.d.ts +31 -0
  831. package/dist/tokens/headless.d.ts.map +1 -0
  832. package/dist/tokens/headless.js +143 -0
  833. package/dist/tokens/headless.js.map +1 -0
  834. package/dist/tokens/images.d.ts +28 -0
  835. package/dist/tokens/images.d.ts.map +1 -0
  836. package/dist/tokens/images.js +184 -0
  837. package/dist/tokens/images.js.map +1 -0
  838. package/dist/tokens/index.d.ts +34 -0
  839. package/dist/tokens/index.d.ts.map +1 -0
  840. package/dist/tokens/index.js +17 -0
  841. package/dist/tokens/index.js.map +1 -0
  842. package/dist/tokens/insert.d.ts +22 -0
  843. package/dist/tokens/insert.d.ts.map +1 -0
  844. package/dist/tokens/insert.js +113 -0
  845. package/dist/tokens/insert.js.map +1 -0
  846. package/dist/tokens/issues.d.ts +37 -0
  847. package/dist/tokens/issues.d.ts.map +1 -0
  848. package/dist/tokens/issues.js +149 -0
  849. package/dist/tokens/issues.js.map +1 -0
  850. package/dist/tokens/keys.d.ts +49 -0
  851. package/dist/tokens/keys.d.ts.map +1 -0
  852. package/dist/tokens/keys.js +107 -0
  853. package/dist/tokens/keys.js.map +1 -0
  854. package/dist/tokens/module.d.ts +103 -0
  855. package/dist/tokens/module.d.ts.map +1 -0
  856. package/dist/tokens/module.js +861 -0
  857. package/dist/tokens/module.js.map +1 -0
  858. package/dist/tokens/types.d.ts +257 -0
  859. package/dist/tokens/types.d.ts.map +1 -0
  860. package/dist/tokens/types.js +2 -0
  861. package/dist/tokens/types.js.map +1 -0
  862. package/dist/tokens/unlink.d.ts +11 -0
  863. package/dist/tokens/unlink.d.ts.map +1 -0
  864. package/dist/tokens/unlink.js +49 -0
  865. package/dist/tokens/unlink.js.map +1 -0
  866. package/dist/tokens/validation.d.ts +10 -0
  867. package/dist/tokens/validation.d.ts.map +1 -0
  868. package/dist/tokens/validation.js +156 -0
  869. package/dist/tokens/validation.js.map +1 -0
  870. package/dist/tokens/values.d.ts +24 -0
  871. package/dist/tokens/values.d.ts.map +1 -0
  872. package/dist/tokens/values.js +211 -0
  873. package/dist/tokens/values.js.map +1 -0
  874. package/dist/tokens/write.d.ts +14 -0
  875. package/dist/tokens/write.d.ts.map +1 -0
  876. package/dist/tokens/write.js +167 -0
  877. package/dist/tokens/write.js.map +1 -0
  878. package/dist/ui/chrome.d.ts +49 -0
  879. package/dist/ui/chrome.d.ts.map +1 -0
  880. package/dist/ui/chrome.js +795 -0
  881. package/dist/ui/chrome.js.map +1 -0
  882. package/dist/ui/colour-picker.d.ts +57 -0
  883. package/dist/ui/colour-picker.d.ts.map +1 -0
  884. package/dist/ui/colour-picker.js +491 -0
  885. package/dist/ui/colour-picker.js.map +1 -0
  886. package/dist/ui/comments-panel.d.ts +17 -0
  887. package/dist/ui/comments-panel.d.ts.map +1 -0
  888. package/dist/ui/comments-panel.js +122 -0
  889. package/dist/ui/comments-panel.js.map +1 -0
  890. package/dist/ui/context-menu.d.ts +21 -0
  891. package/dist/ui/context-menu.d.ts.map +1 -0
  892. package/dist/ui/context-menu.js +121 -0
  893. package/dist/ui/context-menu.js.map +1 -0
  894. package/dist/ui/controls.d.ts +30 -0
  895. package/dist/ui/controls.d.ts.map +1 -0
  896. package/dist/ui/controls.js +363 -0
  897. package/dist/ui/controls.js.map +1 -0
  898. package/dist/ui/dialog.d.ts +132 -0
  899. package/dist/ui/dialog.d.ts.map +1 -0
  900. package/dist/ui/dialog.js +712 -0
  901. package/dist/ui/dialog.js.map +1 -0
  902. package/dist/ui/dom.d.ts +25 -0
  903. package/dist/ui/dom.d.ts.map +1 -0
  904. package/dist/ui/dom.js +90 -0
  905. package/dist/ui/dom.js.map +1 -0
  906. package/dist/ui/floating-toolbar.d.ts +26 -0
  907. package/dist/ui/floating-toolbar.d.ts.map +1 -0
  908. package/dist/ui/floating-toolbar.js +189 -0
  909. package/dist/ui/floating-toolbar.js.map +1 -0
  910. package/dist/ui/font-dialog.d.ts +56 -0
  911. package/dist/ui/font-dialog.d.ts.map +1 -0
  912. package/dist/ui/font-dialog.js +341 -0
  913. package/dist/ui/font-dialog.js.map +1 -0
  914. package/dist/ui/i18n.d.ts +18 -0
  915. package/dist/ui/i18n.d.ts.map +1 -0
  916. package/dist/ui/i18n.js +370 -0
  917. package/dist/ui/i18n.js.map +1 -0
  918. package/dist/ui/icons.d.ts +4 -0
  919. package/dist/ui/icons.d.ts.map +1 -0
  920. package/dist/ui/icons.js +150 -0
  921. package/dist/ui/icons.js.map +1 -0
  922. package/dist/ui/image-picker.d.ts +35 -0
  923. package/dist/ui/image-picker.d.ts.map +1 -0
  924. package/dist/ui/image-picker.js +133 -0
  925. package/dist/ui/image-picker.js.map +1 -0
  926. package/dist/ui/index.d.ts +37 -0
  927. package/dist/ui/index.d.ts.map +1 -0
  928. package/dist/ui/index.js +20 -0
  929. package/dist/ui/index.js.map +1 -0
  930. package/dist/ui/insert-dialogs.d.ts +39 -0
  931. package/dist/ui/insert-dialogs.d.ts.map +1 -0
  932. package/dist/ui/insert-dialogs.js +281 -0
  933. package/dist/ui/insert-dialogs.js.map +1 -0
  934. package/dist/ui/keyboard.d.ts +22 -0
  935. package/dist/ui/keyboard.d.ts.map +1 -0
  936. package/dist/ui/keyboard.js +128 -0
  937. package/dist/ui/keyboard.js.map +1 -0
  938. package/dist/ui/menu-bar.d.ts +22 -0
  939. package/dist/ui/menu-bar.d.ts.map +1 -0
  940. package/dist/ui/menu-bar.js +326 -0
  941. package/dist/ui/menu-bar.js.map +1 -0
  942. package/dist/ui/menu-model.d.ts +46 -0
  943. package/dist/ui/menu-model.d.ts.map +1 -0
  944. package/dist/ui/menu-model.js +1063 -0
  945. package/dist/ui/menu-model.js.map +1 -0
  946. package/dist/ui/menu.d.ts +28 -0
  947. package/dist/ui/menu.d.ts.map +1 -0
  948. package/dist/ui/menu.js +235 -0
  949. package/dist/ui/menu.js.map +1 -0
  950. package/dist/ui/paragraph-dialog.d.ts +39 -0
  951. package/dist/ui/paragraph-dialog.d.ts.map +1 -0
  952. package/dist/ui/paragraph-dialog.js +258 -0
  953. package/dist/ui/paragraph-dialog.js.map +1 -0
  954. package/dist/ui/queries.d.ts +38 -0
  955. package/dist/ui/queries.d.ts.map +1 -0
  956. package/dist/ui/queries.js +138 -0
  957. package/dist/ui/queries.js.map +1 -0
  958. package/dist/ui/ruler-vertical.d.ts +21 -0
  959. package/dist/ui/ruler-vertical.d.ts.map +1 -0
  960. package/dist/ui/ruler-vertical.js +411 -0
  961. package/dist/ui/ruler-vertical.js.map +1 -0
  962. package/dist/ui/ruler.d.ts +42 -0
  963. package/dist/ui/ruler.d.ts.map +1 -0
  964. package/dist/ui/ruler.js +391 -0
  965. package/dist/ui/ruler.js.map +1 -0
  966. package/dist/ui/status-bar.d.ts +24 -0
  967. package/dist/ui/status-bar.d.ts.map +1 -0
  968. package/dist/ui/status-bar.js +206 -0
  969. package/dist/ui/status-bar.js.map +1 -0
  970. package/dist/ui/store.d.ts +15 -0
  971. package/dist/ui/store.d.ts.map +1 -0
  972. package/dist/ui/store.js +82 -0
  973. package/dist/ui/store.js.map +1 -0
  974. package/dist/ui/styles.d.ts +8 -0
  975. package/dist/ui/styles.d.ts.map +1 -0
  976. package/dist/ui/styles.js +150 -0
  977. package/dist/ui/styles.js.map +1 -0
  978. package/dist/ui/theme.d.ts +9 -0
  979. package/dist/ui/theme.d.ts.map +1 -0
  980. package/dist/ui/theme.js +93 -0
  981. package/dist/ui/theme.js.map +1 -0
  982. package/dist/ui/types.d.ts +81 -0
  983. package/dist/ui/types.d.ts.map +1 -0
  984. package/dist/ui/types.js +23 -0
  985. package/dist/ui/types.js.map +1 -0
  986. package/dist/units/brand.d.ts +27 -0
  987. package/dist/units/brand.d.ts.map +1 -0
  988. package/dist/units/brand.js +23 -0
  989. package/dist/units/brand.js.map +1 -0
  990. package/dist/units/constants.d.ts +19 -0
  991. package/dist/units/constants.d.ts.map +1 -0
  992. package/dist/units/constants.js +19 -0
  993. package/dist/units/constants.js.map +1 -0
  994. package/dist/units/convert.d.ts +34 -0
  995. package/dist/units/convert.d.ts.map +1 -0
  996. package/dist/units/convert.js +42 -0
  997. package/dist/units/convert.js.map +1 -0
  998. package/dist/units/css.d.ts +6 -0
  999. package/dist/units/css.d.ts.map +1 -0
  1000. package/dist/units/css.js +8 -0
  1001. package/dist/units/css.js.map +1 -0
  1002. package/dist/units/index.d.ts +6 -0
  1003. package/dist/units/index.d.ts.map +1 -0
  1004. package/dist/units/index.js +5 -0
  1005. package/dist/units/index.js.map +1 -0
  1006. package/package.json +84 -0
package/README.md ADDED
@@ -0,0 +1,239 @@
1
+ # docier
2
+
3
+ A DOCX editor for the browser, written in TypeScript.
4
+
5
+ `docier` opens a `.docx`, lets a person edit it, and writes a valid `.docx` back. It is a library
6
+ rather than an application: you mount it into an element, configure it with one object, drive it
7
+ through commands and observe it through events. It is framework-agnostic, has one runtime dependency,
8
+ and ships an optional module for document templates.
9
+
10
+ [![CI](https://github.com/pistonpunk/docier/actions/workflows/ci.yml/badge.svg)](https://github.com/pistonpunk/docier/actions/workflows/ci.yml)
11
+
12
+ ## The problem it solves
13
+
14
+ Most browser editing is HTML editing. You type into a `contenteditable`, the browser decides where the
15
+ text goes, and a converter guesses at a `.docx` afterwards. That works until the document matters: the
16
+ line breaks are not the ones that print, the page breaks are not the ones Word would choose, and each
17
+ conversion loses something.
18
+
19
+ `docier` treats the `.docx` as the document and computes the layout itself. Text is positioned from a
20
+ computed layout rather than from what the browser happened to do, so the page you see and the page that
21
+ prints are the same page. Documents from Word keep their markup, including the parts `docier` does not
22
+ understand, so re-saving a contract does not quietly remove things.
23
+
24
+ ## Install
25
+
26
+ ```
27
+ npm install docier-web
28
+ ```
29
+
30
+ ## Quick start
31
+
32
+ ```ts
33
+ import { createEditor } from 'docier-web'
34
+ import { mountChrome } from 'docier-web/ui'
35
+
36
+ const bytes = await fetch('/contract.docx').then((r) => r.arrayBuffer())
37
+
38
+ const editor = createEditor('#editor', {}, { document: bytes })
39
+ mountChrome(editor)
40
+
41
+ editor.events.on('docier:doc:change', () => scheduleSave(editor.document))
42
+ ```
43
+
44
+ `createEditor(target, config, options)` where `target` is an element or a selector:
45
+
46
+ - `config` is a deep-partial configuration object; every key has a default.
47
+ - `options.document` accepts a `Uint8Array`, `ArrayBuffer`, `Blob`, or an already-parsed package or
48
+ model. `options.zoom` and `options.render` are also accepted here.
49
+
50
+ The call is safe to repeat: mounting twice on the same element returns the first handle, and `destroy()`
51
+ is idempotent.
52
+
53
+ ## Using it
54
+
55
+ Everything the user can do is a command. Every state change is an event.
56
+
57
+ ```ts
58
+ editor.commands.execute('docier.command.format.bold')
59
+ editor.commands.execute('docier.command.insert.table', { rows: 3, columns: 4 })
60
+
61
+ const bold = editor.commands.describe('docier.command.format.bold')
62
+ // { enabled: true, active: false, ... }
63
+
64
+ const blocked = editor.commands.describe('docier.command.table.deleteRow')
65
+ // { enabled: false, reason: 'The caret is not inside a table' }
66
+ ```
67
+
68
+ A command that cannot run tells you why. Nothing is silently inert, and nothing reports success while
69
+ doing nothing: `describe` returns a reason, and executing a blocked command returns a structured status
70
+ carrying the same reason.
71
+
72
+ Events follow the same naming scheme, `docier:<area>:<verb>`, with the cancellable ones named
73
+ `before<Verb>`:
74
+
75
+ ```ts
76
+ editor.events.on('docier:selection:change', ({ from, to }) => updateToolbar(from, to))
77
+ editor.events.on('docier:doc:beforechange', (event) => {
78
+ if (!confirmDiscard()) event.preventDefault()
79
+ })
80
+ ```
81
+
82
+ ## Exporting
83
+
84
+ PDF export is a separate entry point, so an application that never exports never loads it.
85
+
86
+ ```ts
87
+ import { exportPdf } from 'docier-web/pdf'
88
+
89
+ const { bytes, report } = await exportPdf(editor.layout, { pdfa: 'a-2b' })
90
+ ```
91
+
92
+ The exporter renders the same computed layout the screen renders. It does not re-run layout, re-measure
93
+ text, or consult the document for any position. That is what makes the screen and the printed page agree
94
+ rather than approximately agree. Glyph advances come from the same font measurement the layout used, and
95
+ a font whose metrics disagree is reported rather than substituted.
96
+
97
+ Output is deterministic: the same document produces byte-identical bytes, verified across separate
98
+ processes. Missing fonts and missing images are reported as losses rather than silently omitted.
99
+
100
+ Printing is available too, with page ranges shared by the print and PDF paths.
101
+
102
+ ## Document templates
103
+
104
+ Optional, a separate entry point, and off unless enabled. An application that does not use templates
105
+ never loads it.
106
+
107
+ A token is a real Word **content control**. It is the same mechanism Word itself uses for fillable
108
+ fields, which means a template stays a valid `.docx` that a person can open and edit in Word, with the
109
+ fields still working. Placeholders are not a special text syntax that only `docier` understands.
110
+
111
+ ```ts
112
+ import { createTokenAttachment, fillTemplate } from 'docier-web/tokens'
113
+
114
+ const tokens = createTokenAttachment(editor, { catalogue, locale: 'ro-RO' })
115
+ tokens.data.setData({ 'employee.surname': 'Popescu' })
116
+
117
+ const { bytes, issues } = await fillTemplate({ template, catalogue, data, locale: 'ro-RO' })
118
+ ```
119
+
120
+ The catalogue is the backend's authority. A template that references a field the catalogue does not
121
+ define is reported rather than rendering as blank, and a value that is missing is both reported by code
122
+ and shown as a visible placeholder. A contract must never print a silently empty name.
123
+
124
+ Filling runs headlessly: bytes in, bytes out, no DOM and no network, so a server can fill a template
125
+ without a browser.
126
+
127
+ ## What it handles
128
+
129
+ - **DOCX fidelity.** Round-trips a real `.docx`, preserving markup it does not model as raw bytes rather
130
+ than dropping it. Unicode is preserved exactly, not normalised.
131
+ - **Layout.** Line breaking, justification, hyphenation points, widow and orphan control, keep-with-next
132
+ and keep-lines-together, page breaks, sections, columns, tab stops, borders and shading.
133
+ - **Tables.** Column resolution, all three row height rules, row splitting across pages, repeating header
134
+ rows, merged cells, nested tables, and editing inside cells.
135
+ - **Headers, footers and page fields.** Default, first-page and even/odd variants, with `PAGE`,
136
+ `NUMPAGES`, `SECTION` and `SECTIONPAGES` resolved to real values.
137
+ - **Styles.** The full cascade: document defaults, table styles and conditional formatting, numbering,
138
+ paragraph and character styles with their `basedOn` chain, and direct formatting, with Word's toggle
139
+ semantics.
140
+ - **Editing.** Caret and selection, Word's navigation keys, typing, splitting and joining, clipboard with
141
+ a model-content buffer, undo and redo with one entry per gesture, and 112 commands.
142
+ - **Chrome.** Ribbon with tabs and groups, context menus on every surface, a floating selection toolbar,
143
+ a ruler, a status bar, and theming through CSS custom properties.
144
+
145
+ ## Requirements
146
+
147
+ Evergreen browsers: Chrome and Edge 120+, Firefox 121+, Safari 17.4+.
148
+
149
+ The floor is set by capability rather than version. `docier` uses `CompressionStream`, `Intl.Segmenter`
150
+ for locale-aware line and word breaking, the Popover API, `structuredClone`, and ES modules with
151
+ top-level await. There are no polyfills for older browsers.
152
+
153
+ **Fonts are not bundled.** You supply them. This keeps the package small and leaves font licensing with
154
+ you, but it means text will not render correctly until you wire up the fonts your documents use. See
155
+ `docs/` for the requirement.
156
+
157
+ ### The font integration contract
158
+
159
+ Layout happens before paint and without a browser, so the engine cannot ask a font file how wide a run
160
+ is. It measures through a `TextMeasurer`, and the widths it returns are the widths the renderer has to
161
+ produce. That makes three things your responsibility, and they have to agree with each other:
162
+
163
+ 1. **Supply the face bytes.** Read the TTF or OTF files you are licensed to serve, keyed by the family
164
+ names and the four styles (regular, bold, italic, bold italic) the documents actually ask for.
165
+ 2. **Register screen faces for every document family name.** The browser paints with fonts resolved from
166
+ CSS, so a family the page does not know falls back to something else and the painted run will not be
167
+ the width the engine reserved. A document asks for `Calibri`, `Times New Roman` or `Arial`, not for
168
+ the name of the file you happen to ship. Declare only the styles you can actually serve: a `@font-face`
169
+ with no file behind it makes the browser substitute a font the measurer never saw, which is worse than
170
+ leaving the style out and letting the family's regular face answer for it.
171
+ 3. **Build the measurer from the same bytes.** `createFontMeasurer({ faces })` takes `{ family, bold,
172
+ italic, bytes }` records and returns a `TextMeasurer` that reads real `hmtx` advances and `cmap`
173
+ coverage, segments text exactly like the built-in model (combining marks and variation selectors stay
174
+ with their base), and reports a face id the PDF exporter can verify against the font it embeds. Pass
175
+ it as `layout.measurer`:
176
+
177
+ ```ts
178
+ import { createEditor, createFontMeasurer } from 'docier-web';
179
+
180
+ const measurer = createFontMeasurer({
181
+ faces: [
182
+ { family: 'Calibri', bold: false, italic: false, bytes: regularBytes },
183
+ { family: 'Calibri', bold: true, italic: false, bytes: boldBytes },
184
+ ],
185
+ fallbackFamily: 'Calibri',
186
+ });
187
+
188
+ const handle = createEditor(host, { layout: { measurer }, /* ... */ });
189
+ ```
190
+
191
+ `layout.measurer` is a reload key, so setting a different measurer lays the document out again with it;
192
+ `updateConfig({ layout: { measurer: other } })` takes effect on the next layout rather than mutating the
193
+ painted page in place.
194
+
195
+ If no measurer is supplied the engine falls back to a deterministic advance model, which is legible in
196
+ tests but is not a font: real faces are 14 to 30 percent wider, so with that model adjacent runs overlap
197
+ and right-aligned text runs past the margin. That is the failure you see when only the screen `@font-face`
198
+ rules were wired up.
199
+
200
+ Check that what you fetched really is a font. A development server that answers a missing file with its
201
+ own HTML page returns `200 OK` and markup, and font bytes are parsed rather than trusted, so a placeholder
202
+ page in the place of a face is an error rather than a silent fallback.
203
+
204
+ The full worked example is the demo host in `example/src/fonts.ts` and `example/src/main.ts`: it loads the
205
+ faces, registers the screen aliases, and hands the same bytes to `createFontMeasurer`.
206
+
207
+ ## Status
208
+
209
+ Version 0.x. Under active development, CI on every push, 1,200+ assertions.
210
+
211
+ **Working:** everything listed under "What it handles".
212
+
213
+ **Not yet:** templates with repeating sections and conditionals; inserting images and shapes, as opposed
214
+ to rendering ones already in a document; comments; footnotes; find and replace; proofing; and editing a
215
+ header or footer from the UI. See `agent_progress.md` for the current state and `docs/SPEC.md` for the
216
+ full design.
217
+
218
+ ## Architecture
219
+
220
+ For contributors, and for anyone who wants to know why the page you see is the page that prints.
221
+
222
+ There is one layout engine and two renderers. The engine produces an immutable layout result in
223
+ millipoints; the screen renderer paints it into the DOM and the PDF exporter paints it into a file. No CSS
224
+ takes part in layout, the point-to-pixel conversion happens in exactly one place, and zoom is a paint
225
+ scale that never triggers a re-layout. The constraint is enforced by a test that fails if the renderer
226
+ imports the layout layer, so the two cannot drift apart through inattention.
227
+
228
+ The document model is a typed view over the parsed XML rather than a structure rebuilt from it. That is
229
+ what lets unmodelled markup survive an edit, and it is why an unknown element in a contract is still
230
+ there after a save.
231
+
232
+ See `docs/SPEC.md` for the full design and `docs/adr/` for the decisions behind it.
233
+
234
+ ## Licence
235
+
236
+ Dual-licensed: **AGPL-3.0-only** for open source, or a **commercial licence** for proprietary use.
237
+
238
+ The AGPL covers use over a network, so it applies to a hosted product as well as a distributed one. If
239
+ that does not suit your project, a commercial licence is available. See `LICENSE` and `COMMERCIAL.md`.
@@ -0,0 +1,46 @@
1
+ import type { CommandContext, CommandDefinition, CommandId, CommandRegistry, DocierErrorCode, DocierEventMap, EventBus, ExecuteOptions, LayoutInvalidation, LocalizedString, MutationOutcome, SelectionSnapshot, SelectionTarget, TextRange } from './types.js';
2
+ export interface CommandTransaction {
3
+ readonly id: string;
4
+ readonly changed: boolean;
5
+ readonly affectedRanges: readonly TextRange[];
6
+ readonly invalidation: LayoutInvalidation;
7
+ mutate<T>(fn: () => MutationOutcome<T>): T;
8
+ }
9
+ export declare const nullTransaction: CommandTransaction;
10
+ export interface PermissionBlock {
11
+ readonly code: DocierErrorCode;
12
+ readonly reason: LocalizedString;
13
+ }
14
+ export interface CommitInfo {
15
+ readonly commandId: CommandId;
16
+ readonly noop: boolean;
17
+ readonly undoable: boolean;
18
+ readonly layer: 'document' | 'chrome' | 'global';
19
+ readonly label: LocalizedString;
20
+ readonly source: ExecuteOptions['source'];
21
+ readonly transient: boolean;
22
+ readonly value: unknown;
23
+ readonly coalesceKey?: string | undefined;
24
+ readonly selectionAfter?: SelectionTarget | undefined;
25
+ }
26
+ export interface CommitResult {
27
+ readonly affectedRanges: readonly TextRange[];
28
+ readonly invalidation: LayoutInvalidation;
29
+ }
30
+ export interface CommandEnvironment {
31
+ readonly instanceId: string;
32
+ readonly events: EventBus<DocierEventMap>;
33
+ readonly revision: number;
34
+ readonly selection: SelectionSnapshot;
35
+ context<A>(definition: CommandDefinition<A, unknown>, args: A, options: ExecuteOptions, transaction: CommandTransaction): CommandContext<A>;
36
+ begin(commandId: CommandId, invalidation: LayoutInvalidation | undefined): CommandTransaction;
37
+ commit(transaction: CommandTransaction, info: CommitInfo): CommitResult;
38
+ rollback(transaction: CommandTransaction): void;
39
+ permissionBlock(definition: CommandDefinition<never, unknown>): PermissionBlock | undefined;
40
+ }
41
+ export declare const createCommandRegistry: (env: CommandEnvironment) => CommandRegistry;
42
+ export declare class CancelledChangeError extends Error {
43
+ readonly reason: LocalizedString;
44
+ constructor(reason: LocalizedString);
45
+ }
46
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/api/commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAGjB,SAAS,EACT,eAAe,EAGf,eAAe,EACf,cAAc,EACd,QAAQ,EACR,cAAc,EAEd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,eAAe,EAAE,kBAM7B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,OAAO,CAAC,CAAC,EACP,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,EACzC,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,kBAAkB,GAC9B,cAAc,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,CAAC;IAC9F,MAAM,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IACxE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CAC7F;AAID,eAAO,MAAM,qBAAqB,GAAI,KAAK,kBAAkB,KAAG,eA6P/D,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBACrB,MAAM,EAAE,eAAe;CAKpC"}
@@ -0,0 +1,274 @@
1
+ import { COMMAND_PREFIX, NOOP } from './constants.js';
2
+ import { DocierError, commandIdOf, toDocierError } from './errors.js';
3
+ import { noInvalidation } from './types.js';
4
+ export const nullTransaction = {
5
+ id: '',
6
+ changed: false,
7
+ affectedRanges: [],
8
+ invalidation: noInvalidation,
9
+ mutate: (fn) => fn().value,
10
+ };
11
+ const isArea = (id) => id.startsWith(COMMAND_PREFIX);
12
+ export const createCommandRegistry = (env) => {
13
+ const definitions = new Map();
14
+ const executing = new Set();
15
+ const rebinds = new Map();
16
+ const descriptorOf = (definition) => {
17
+ const ctx = env.context(definition, undefined, {}, nullTransaction);
18
+ const visible = definition.isVisible === undefined || definition.isVisible(ctx);
19
+ const enabled = definition.isEnabled === undefined || definition.isEnabled(ctx);
20
+ const active = definition.isActive !== undefined && definition.isActive(ctx);
21
+ const reason = enabled ? undefined : definition.disabledReason?.(ctx);
22
+ const bindings = rebinds.get(definition.id) ?? definition.bindings ?? [];
23
+ return {
24
+ id: definition.id,
25
+ label: definition.label,
26
+ category: definition.category,
27
+ description: definition.description,
28
+ icon: definition.icon,
29
+ keywords: definition.keywords,
30
+ bindings,
31
+ layer: definition.layer ?? 'document',
32
+ undoable: definition.undoable ?? true,
33
+ repeatable: definition.repeatable ?? false,
34
+ enabled,
35
+ active,
36
+ visible,
37
+ disabledReason: reason,
38
+ };
39
+ };
40
+ const blocked = (id, code, reason) => {
41
+ env.events.emit('docier:command:blocked', {
42
+ instanceId: env.instanceId,
43
+ documentRevision: env.revision,
44
+ source: 'api',
45
+ timestamp: Date.now(),
46
+ commandId: commandIdOf(id),
47
+ code,
48
+ reason,
49
+ });
50
+ return { status: 'blocked', code, reason };
51
+ };
52
+ const execute = async (id, args, options) => {
53
+ const definition = definitions.get(id);
54
+ if (definition === undefined) {
55
+ return {
56
+ status: 'failed',
57
+ error: new DocierError({
58
+ code: 'COMMAND_NOT_FOUND',
59
+ detail: id,
60
+ context: { instanceId: env.instanceId, operation: 'execute', documentRevision: env.revision },
61
+ }),
62
+ };
63
+ }
64
+ if (executing.has(id)) {
65
+ return blocked(id, 'REENTRANT_COMMAND', `The command ${id} is already executing`);
66
+ }
67
+ const source = options?.source ?? 'api';
68
+ const force = options?.force ?? false;
69
+ const before = env.events.dispatch('docier:command:beforeexecute', {
70
+ instanceId: env.instanceId,
71
+ documentRevision: env.revision,
72
+ source,
73
+ timestamp: Date.now(),
74
+ commandId: commandIdOf(id),
75
+ args,
76
+ });
77
+ if (before.defaultPrevented) {
78
+ return blocked(id, 'INAPPLICABLE', 'A listener cancelled the command');
79
+ }
80
+ const denied = env.permissionBlock(definition);
81
+ if (denied !== undefined) {
82
+ return blocked(id, denied.code, denied.reason);
83
+ }
84
+ const given = (args === undefined ? {} : args);
85
+ const context = env.context(definition, given, { ...options, source }, nullTransaction);
86
+ if (!force && definition.isEnabled !== undefined && !definition.isEnabled(context)) {
87
+ const reason = definition.disabledReason?.(context) ?? 'The command cannot run here';
88
+ return blocked(id, definition.disabledCode ?? 'INAPPLICABLE', reason);
89
+ }
90
+ const started = Date.now();
91
+ const declared = definition.invalidation?.(given);
92
+ let transaction;
93
+ try {
94
+ transaction = env.begin(commandIdOf(id), declared);
95
+ }
96
+ catch (cause) {
97
+ if (cause instanceof CancelledChangeError) {
98
+ return blocked(id, 'INAPPLICABLE', cause.reason);
99
+ }
100
+ throw cause;
101
+ }
102
+ executing.add(id);
103
+ let value;
104
+ try {
105
+ const scoped = env.context(definition, given, { ...options, source }, transaction);
106
+ value = await definition.execute(given, scoped);
107
+ }
108
+ catch (cause) {
109
+ env.rollback(transaction);
110
+ executing.delete(id);
111
+ if (cause instanceof CancelledChangeError) {
112
+ return blocked(id, 'INAPPLICABLE', cause.reason);
113
+ }
114
+ const error = toDocierError(cause, 'INTERNAL', 'execute', {
115
+ instanceId: env.instanceId,
116
+ commandId: commandIdOf(id),
117
+ documentRevision: env.revision,
118
+ });
119
+ env.events.emit('docier:error', {
120
+ instanceId: env.instanceId,
121
+ documentRevision: env.revision,
122
+ source,
123
+ timestamp: Date.now(),
124
+ code: error.code,
125
+ message: error.message,
126
+ detail: error.detail,
127
+ operation: 'execute',
128
+ });
129
+ return { status: 'failed', error };
130
+ }
131
+ executing.delete(id);
132
+ const muted = value === NOOP;
133
+ const layer = definition.layer ?? 'document';
134
+ const undoable = options?.transaction?.undoable ?? definition.undoable ?? true;
135
+ const noop = muted || (!transaction.changed && layer !== 'chrome' && undoable);
136
+ const committed = env.commit(transaction, {
137
+ commandId: commandIdOf(id),
138
+ noop,
139
+ undoable,
140
+ layer,
141
+ label: options?.transaction?.label ?? definition.label,
142
+ source,
143
+ transient: options?.transient ?? false,
144
+ value,
145
+ coalesceKey: options?.transaction?.coalesceKey,
146
+ selectionAfter: options?.transaction?.selectionAfter,
147
+ });
148
+ if (noop)
149
+ return { status: 'noop' };
150
+ env.events.emit('docier:command:execute', {
151
+ instanceId: env.instanceId,
152
+ documentRevision: env.revision,
153
+ source,
154
+ timestamp: Date.now(),
155
+ commandId: commandIdOf(id),
156
+ args: given,
157
+ status: 'ok',
158
+ durationMs: Date.now() - started,
159
+ });
160
+ return {
161
+ status: 'ok',
162
+ value: value,
163
+ affectedRanges: committed.affectedRanges,
164
+ invalidation: committed.invalidation,
165
+ };
166
+ };
167
+ const registry = {
168
+ register: (definition) => {
169
+ if (!isArea(definition.id)) {
170
+ throw new DocierError({
171
+ code: 'CONFIG_INVALID',
172
+ detail: `The command id ${definition.id} is not in the docier.command. namespace`,
173
+ context: { instanceId: env.instanceId, operation: 'register' },
174
+ });
175
+ }
176
+ if (definitions.has(definition.id)) {
177
+ throw new DocierError({
178
+ code: 'CONFIG_INVALID',
179
+ detail: `The command id ${definition.id} is already registered`,
180
+ context: { instanceId: env.instanceId, operation: 'register' },
181
+ });
182
+ }
183
+ definitions.set(definition.id, definition);
184
+ return {
185
+ dispose: () => {
186
+ if (definitions.get(definition.id) === definition) {
187
+ definitions.delete(definition.id);
188
+ }
189
+ },
190
+ };
191
+ },
192
+ replace: (definition) => {
193
+ if (!isArea(definition.id)) {
194
+ throw new DocierError({
195
+ code: 'CONFIG_INVALID',
196
+ detail: `The command id ${definition.id} is not in the docier.command. namespace`,
197
+ context: { instanceId: env.instanceId, operation: 'replace' },
198
+ });
199
+ }
200
+ const inserted = definition;
201
+ const displaced = definitions.get(definition.id);
202
+ definitions.set(definition.id, inserted);
203
+ return {
204
+ dispose: () => {
205
+ if (definitions.get(definition.id) !== inserted)
206
+ return;
207
+ if (displaced === undefined)
208
+ definitions.delete(definition.id);
209
+ else
210
+ definitions.set(definition.id, displaced);
211
+ },
212
+ };
213
+ },
214
+ get: (id) => definitions.get(id),
215
+ list: (filter) => {
216
+ const out = [];
217
+ for (const definition of definitions.values()) {
218
+ if (filter?.area !== undefined && definition.category !== filter.area)
219
+ continue;
220
+ if (filter?.ids !== undefined && !filter.ids.includes(definition.id))
221
+ continue;
222
+ const descriptor = descriptorOf(definition);
223
+ if (filter?.enabledOnly === true && !descriptor.enabled)
224
+ continue;
225
+ if (filter?.visibleOnly === true && !descriptor.visible)
226
+ continue;
227
+ out.push(descriptor);
228
+ }
229
+ return out.sort((first, second) => first.id.localeCompare(second.id));
230
+ },
231
+ execute,
232
+ isEnabled: (id, args) => {
233
+ const definition = definitions.get(id);
234
+ if (definition === undefined)
235
+ return false;
236
+ const ctx = env.context(definition, args, {}, nullTransaction);
237
+ if (env.permissionBlock(definition) !== undefined)
238
+ return false;
239
+ return definition.isEnabled === undefined || definition.isEnabled(ctx);
240
+ },
241
+ disabledReason: (id, args) => {
242
+ const definition = definitions.get(id);
243
+ if (definition === undefined)
244
+ return 'No such command';
245
+ const ctx = env.context(definition, args, {}, nullTransaction);
246
+ const denied = env.permissionBlock(definition);
247
+ if (denied !== undefined)
248
+ return denied.reason;
249
+ if (definition.isEnabled === undefined || definition.isEnabled(ctx))
250
+ return undefined;
251
+ return definition.disabledReason?.(ctx) ?? 'The command cannot run here';
252
+ },
253
+ isActive: (id, args) => {
254
+ const definition = definitions.get(id);
255
+ if (definition === undefined)
256
+ return false;
257
+ const ctx = env.context(definition, args, {}, nullTransaction);
258
+ return definition.isActive !== undefined && definition.isActive(ctx);
259
+ },
260
+ setKeybinding: (id, bindings) => {
261
+ rebinds.set(id, bindings);
262
+ },
263
+ };
264
+ return registry;
265
+ };
266
+ export class CancelledChangeError extends Error {
267
+ reason;
268
+ constructor(reason) {
269
+ super('The change was cancelled');
270
+ this.name = 'CancelledChangeError';
271
+ this.reason = reason;
272
+ }
273
+ }
274
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/api/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ConfigApplyReport, Diagnostic, EditorConfig, EditorConfigPatch } from './types.js';
2
+ export declare const defaultConfig: () => EditorConfig;
3
+ export interface MergeReport {
4
+ readonly config: EditorConfig;
5
+ readonly unknown: readonly string[];
6
+ readonly warnings: readonly Diagnostic[];
7
+ }
8
+ export declare const mergeConfig: (base: EditorConfig, patch: EditorConfigPatch | undefined) => MergeReport;
9
+ export declare const reloadKeysOf: (patch: EditorConfigPatch | undefined) => readonly string[];
10
+ export declare const applyPatch: (base: EditorConfig, patch: EditorConfigPatch | undefined) => {
11
+ readonly report: MergeReport;
12
+ readonly applyReport: ConfigApplyReport;
13
+ };
14
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,aAAa,QAAO,YAmC/B,CAAC;AA6FH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAyDD,eAAO,MAAM,WAAW,GAAI,MAAM,YAAY,EAAE,OAAO,iBAAiB,GAAG,SAAS,KAAG,WAqBtF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,GAAG,SAAS,KAAG,SAAS,MAAM,EAiBlF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,MAAM,YAAY,EAClB,OAAO,iBAAiB,GAAG,SAAS,KACnC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CAczE,CAAC"}