@embedpdf/vue 0.0.0-stage → 3.0.0-next.16

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 (417) hide show
  1. package/LICENSE +192 -0
  2. package/README.md +258 -2
  3. package/dist/Anchored.vue_vue_type_script_setup_true_lang-BEImlFso.cjs +124 -0
  4. package/dist/Anchored.vue_vue_type_script_setup_true_lang-BEImlFso.cjs.map +1 -0
  5. package/dist/Anchored.vue_vue_type_script_setup_true_lang-Brhh5jyF.js +125 -0
  6. package/dist/Anchored.vue_vue_type_script_setup_true_lang-Brhh5jyF.js.map +1 -0
  7. package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-BwtHXw73.cjs +20 -0
  8. package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-BwtHXw73.cjs.map +1 -0
  9. package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-Ulkr3a6R.js +21 -0
  10. package/dist/AnchoredScope.vue_vue_type_script_setup_true_lang-Ulkr3a6R.js.map +1 -0
  11. package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-C-7yeEGh.js +192 -0
  12. package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-C-7yeEGh.js.map +1 -0
  13. package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-czzeUzPl.cjs +191 -0
  14. package/dist/DocumentScope.vue_vue_type_script_setup_true_lang-czzeUzPl.cjs.map +1 -0
  15. package/dist/FormLayer.vue_vue_type_script_setup_true_lang-BA0_VwFc.cjs +682 -0
  16. package/dist/FormLayer.vue_vue_type_script_setup_true_lang-BA0_VwFc.cjs.map +1 -0
  17. package/dist/FormLayer.vue_vue_type_script_setup_true_lang-DUqft-xs.js +683 -0
  18. package/dist/FormLayer.vue_vue_type_script_setup_true_lang-DUqft-xs.js.map +1 -0
  19. package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-C5-eQD34.cjs +174 -0
  20. package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-C5-eQD34.cjs.map +1 -0
  21. package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-EzLaOP3g.js +175 -0
  22. package/dist/LinkLayer.vue_vue_type_script_setup_true_lang-EzLaOP3g.js.map +1 -0
  23. package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-CJt3vdBW.js +33 -0
  24. package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-CJt3vdBW.js.map +1 -0
  25. package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-Cw29c8Oa.cjs +32 -0
  26. package/dist/PagePointerSource.vue_vue_type_script_setup_true_lang-Cw29c8Oa.cjs.map +1 -0
  27. package/dist/PageView.vue_vue_type_script_setup_true_lang-CjrpumX2.cjs +151 -0
  28. package/dist/PageView.vue_vue_type_script_setup_true_lang-CjrpumX2.cjs.map +1 -0
  29. package/dist/PageView.vue_vue_type_script_setup_true_lang-O4AFc0_R.js +152 -0
  30. package/dist/PageView.vue_vue_type_script_setup_true_lang-O4AFc0_R.js.map +1 -0
  31. package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-DrOORC1H.cjs +480 -0
  32. package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-DrOORC1H.cjs.map +1 -0
  33. package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-HbCryx1B.js +481 -0
  34. package/dist/Scrollbar.vue_vue_type_script_setup_true_lang-HbCryx1B.js.map +1 -0
  35. package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-BlLIPH1B.js +118 -0
  36. package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-BlLIPH1B.js.map +1 -0
  37. package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-CQozZCvB.cjs +117 -0
  38. package/dist/SearchLayer.vue_vue_type_script_setup_true_lang-CQozZCvB.cjs.map +1 -0
  39. package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C4TUDuyu.js +302 -0
  40. package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C4TUDuyu.js.map +1 -0
  41. package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C8T9q6Kb.cjs +301 -0
  42. package/dist/SelectionClipboard.vue_vue_type_script_setup_true_lang-C8T9q6Kb.cjs.map +1 -0
  43. package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-D_c-wINF.cjs +38 -0
  44. package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-D_c-wINF.cjs.map +1 -0
  45. package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-fOTs4aqv.js +39 -0
  46. package/dist/SvgShapes.vue_vue_type_script_setup_true_lang-fOTs4aqv.js.map +1 -0
  47. package/dist/actions.cjs +42 -0
  48. package/dist/actions.cjs.map +1 -0
  49. package/dist/actions.d.cts +41 -0
  50. package/dist/actions.d.ts +41 -0
  51. package/dist/actions.js +37 -0
  52. package/dist/actions.js.map +1 -0
  53. package/dist/anchored/Anchored.vue.d.cts +40 -0
  54. package/dist/anchored/Anchored.vue.d.ts +40 -0
  55. package/dist/anchored/AnchoredScope.vue.d.cts +17 -0
  56. package/dist/anchored/AnchoredScope.vue.d.ts +17 -0
  57. package/dist/anchored/PlacedAnchored.vue.d.cts +19 -0
  58. package/dist/anchored/PlacedAnchored.vue.d.ts +19 -0
  59. package/dist/anchored/projector.d.cts +32 -0
  60. package/dist/anchored/projector.d.ts +32 -0
  61. package/dist/anchored.cjs +13 -0
  62. package/dist/anchored.cjs.map +1 -0
  63. package/dist/anchored.d.cts +15 -0
  64. package/dist/anchored.d.ts +15 -0
  65. package/dist/anchored.js +13 -0
  66. package/dist/anchored.js.map +1 -0
  67. package/dist/annotation/AnnotationChrome.vue.d.cts +20 -0
  68. package/dist/annotation/AnnotationChrome.vue.d.ts +20 -0
  69. package/dist/annotation/AnnotationDraftMenu.vue.d.cts +26 -0
  70. package/dist/annotation/AnnotationDraftMenu.vue.d.ts +26 -0
  71. package/dist/annotation/AnnotationFrame.vue.d.cts +25 -0
  72. package/dist/annotation/AnnotationFrame.vue.d.ts +25 -0
  73. package/dist/annotation/AnnotationLayer.vue.d.cts +23 -0
  74. package/dist/annotation/AnnotationLayer.vue.d.ts +23 -0
  75. package/dist/annotation/AnnotationLook.vue.d.cts +21 -0
  76. package/dist/annotation/AnnotationLook.vue.d.ts +21 -0
  77. package/dist/annotation/AnnotationMenu.vue.d.cts +23 -0
  78. package/dist/annotation/AnnotationMenu.vue.d.ts +23 -0
  79. package/dist/annotation/AnnotationRotationBadge.vue.d.cts +26 -0
  80. package/dist/annotation/AnnotationRotationBadge.vue.d.ts +26 -0
  81. package/dist/annotation/AnnotationScene.vue.d.cts +7 -0
  82. package/dist/annotation/AnnotationScene.vue.d.ts +7 -0
  83. package/dist/annotation/FreeTextBox.vue.d.cts +9 -0
  84. package/dist/annotation/FreeTextBox.vue.d.ts +9 -0
  85. package/dist/annotation/NativeDrawing.vue.d.cts +10 -0
  86. package/dist/annotation/NativeDrawing.vue.d.ts +10 -0
  87. package/dist/annotation/StampGhost.vue.d.cts +7 -0
  88. package/dist/annotation/StampGhost.vue.d.ts +7 -0
  89. package/dist/annotation/composables.d.cts +76 -0
  90. package/dist/annotation/composables.d.ts +76 -0
  91. package/dist/annotation/state.d.cts +19 -0
  92. package/dist/annotation/state.d.ts +19 -0
  93. package/dist/annotation/text-box.d.cts +28 -0
  94. package/dist/annotation/text-box.d.ts +28 -0
  95. package/dist/annotation/types.d.cts +154 -0
  96. package/dist/annotation/types.d.ts +154 -0
  97. package/dist/annotation.cjs +29 -0
  98. package/dist/annotation.cjs.map +1 -0
  99. package/dist/annotation.d.cts +35 -0
  100. package/dist/annotation.d.ts +35 -0
  101. package/dist/annotation.js +23 -0
  102. package/dist/annotation.js.map +1 -0
  103. package/dist/attachment.cjs +22 -0
  104. package/dist/attachment.cjs.map +1 -0
  105. package/dist/attachment.d.cts +34 -0
  106. package/dist/attachment.d.ts +34 -0
  107. package/dist/attachment.js +17 -0
  108. package/dist/attachment.js.map +1 -0
  109. package/dist/capabilities-C7YzgPCX.js +164 -0
  110. package/dist/capabilities-C7YzgPCX.js.map +1 -0
  111. package/dist/capabilities-DVNJmgy7.cjs +163 -0
  112. package/dist/capabilities-DVNJmgy7.cjs.map +1 -0
  113. package/dist/commands.cjs +81 -0
  114. package/dist/commands.cjs.map +1 -0
  115. package/dist/commands.d.cts +61 -0
  116. package/dist/commands.d.ts +61 -0
  117. package/dist/commands.js +76 -0
  118. package/dist/commands.js.map +1 -0
  119. package/dist/composables-BGBsNDf9.cjs +25 -0
  120. package/dist/composables-BGBsNDf9.cjs.map +1 -0
  121. package/dist/composables-Bi6QvJpj.cjs +978 -0
  122. package/dist/composables-Bi6QvJpj.cjs.map +1 -0
  123. package/dist/composables-DK3lwh38.js +979 -0
  124. package/dist/composables-DK3lwh38.js.map +1 -0
  125. package/dist/composables-DwsZdg06.js +26 -0
  126. package/dist/composables-DwsZdg06.js.map +1 -0
  127. package/dist/dev-CtMlvxjZ.js +17 -0
  128. package/dist/dev-CtMlvxjZ.js.map +1 -0
  129. package/dist/dev-eeIS2B4c.cjs +16 -0
  130. package/dist/dev-eeIS2B4c.cjs.map +1 -0
  131. package/dist/dev.d.cts +11 -0
  132. package/dist/dev.d.ts +11 -0
  133. package/dist/documents-DUu5H4yH.js +34 -0
  134. package/dist/documents-DUu5H4yH.js.map +1 -0
  135. package/dist/documents-TQ1fMdWI.cjs +33 -0
  136. package/dist/documents-TQ1fMdWI.cjs.map +1 -0
  137. package/dist/form/ButtonControl.vue.d.cts +11 -0
  138. package/dist/form/ButtonControl.vue.d.ts +11 -0
  139. package/dist/form/ComboControl.vue.d.cts +11 -0
  140. package/dist/form/ComboControl.vue.d.ts +11 -0
  141. package/dist/form/FieldPictures.vue.d.cts +3 -0
  142. package/dist/form/FieldPictures.vue.d.ts +3 -0
  143. package/dist/form/FormFocusRing.vue.d.cts +8 -0
  144. package/dist/form/FormFocusRing.vue.d.ts +8 -0
  145. package/dist/form/FormLayer.vue.d.cts +3 -0
  146. package/dist/form/FormLayer.vue.d.ts +3 -0
  147. package/dist/form/ListControl.vue.d.cts +11 -0
  148. package/dist/form/ListControl.vue.d.ts +11 -0
  149. package/dist/form/NativeListBox.vue.d.cts +27 -0
  150. package/dist/form/NativeListBox.vue.d.ts +27 -0
  151. package/dist/form/SignatureControl.vue.d.cts +11 -0
  152. package/dist/form/SignatureControl.vue.d.ts +11 -0
  153. package/dist/form/TextControl.vue.d.cts +11 -0
  154. package/dist/form/TextControl.vue.d.ts +11 -0
  155. package/dist/form/ToggleControl.vue.d.cts +11 -0
  156. package/dist/form/ToggleControl.vue.d.ts +11 -0
  157. package/dist/form/composables.d.cts +52 -0
  158. package/dist/form/composables.d.ts +52 -0
  159. package/dist/form/widget-box.d.cts +34 -0
  160. package/dist/form/widget-box.d.ts +34 -0
  161. package/dist/form.cjs +17 -0
  162. package/dist/form.cjs.map +1 -0
  163. package/dist/form.d.cts +12 -0
  164. package/dist/form.d.ts +12 -0
  165. package/dist/form.js +11 -0
  166. package/dist/form.js.map +1 -0
  167. package/dist/history.cjs +22 -0
  168. package/dist/history.cjs.map +1 -0
  169. package/dist/history.d.cts +31 -0
  170. package/dist/history.d.ts +31 -0
  171. package/dist/history.js +17 -0
  172. package/dist/history.js.map +1 -0
  173. package/dist/i18n.cjs +29 -0
  174. package/dist/i18n.cjs.map +1 -0
  175. package/dist/i18n.d.cts +36 -0
  176. package/dist/i18n.d.ts +36 -0
  177. package/dist/i18n.js +24 -0
  178. package/dist/i18n.js.map +1 -0
  179. package/dist/index.cjs +414 -0
  180. package/dist/index.cjs.map +1 -0
  181. package/dist/index.d.cts +32 -0
  182. package/dist/index.d.ts +32 -0
  183. package/dist/index.js +234 -0
  184. package/dist/index.js.map +1 -0
  185. package/dist/interaction/PagePointerSource.vue.d.cts +3 -0
  186. package/dist/interaction/PagePointerSource.vue.d.ts +3 -0
  187. package/dist/interaction.cjs +63 -0
  188. package/dist/interaction.cjs.map +1 -0
  189. package/dist/interaction.d.cts +40 -0
  190. package/dist/interaction.d.ts +40 -0
  191. package/dist/interaction.js +47 -0
  192. package/dist/interaction.js.map +1 -0
  193. package/dist/link/LinkAnchor.vue.d.cts +9 -0
  194. package/dist/link/LinkAnchor.vue.d.ts +9 -0
  195. package/dist/link/LinkLayer.vue.d.cts +22 -0
  196. package/dist/link/LinkLayer.vue.d.ts +22 -0
  197. package/dist/link/composables.d.cts +29 -0
  198. package/dist/link/composables.d.ts +29 -0
  199. package/dist/link.cjs +14 -0
  200. package/dist/link.cjs.map +1 -0
  201. package/dist/link.d.cts +11 -0
  202. package/dist/link.d.ts +11 -0
  203. package/dist/link.js +8 -0
  204. package/dist/link.js.map +1 -0
  205. package/dist/measurement.cjs +43 -0
  206. package/dist/measurement.cjs.map +1 -0
  207. package/dist/measurement.d.cts +51 -0
  208. package/dist/measurement.d.ts +51 -0
  209. package/dist/measurement.js +38 -0
  210. package/dist/measurement.js.map +1 -0
  211. package/dist/metadata.cjs +22 -0
  212. package/dist/metadata.cjs.map +1 -0
  213. package/dist/metadata.d.cts +31 -0
  214. package/dist/metadata.d.ts +31 -0
  215. package/dist/metadata.js +17 -0
  216. package/dist/metadata.js.map +1 -0
  217. package/dist/outline.cjs +22 -0
  218. package/dist/outline.cjs.map +1 -0
  219. package/dist/outline.d.cts +36 -0
  220. package/dist/outline.d.ts +36 -0
  221. package/dist/outline.js +17 -0
  222. package/dist/outline.js.map +1 -0
  223. package/dist/page-D9XIuLSj.js +16 -0
  224. package/dist/page-D9XIuLSj.js.map +1 -0
  225. package/dist/page-Doy4_Sdz.cjs +15 -0
  226. package/dist/page-Doy4_Sdz.cjs.map +1 -0
  227. package/dist/page-edit.cjs +18 -0
  228. package/dist/page-edit.cjs.map +1 -0
  229. package/dist/page-edit.d.cts +28 -0
  230. package/dist/page-edit.d.ts +28 -0
  231. package/dist/page-edit.js +13 -0
  232. package/dist/page-edit.js.map +1 -0
  233. package/dist/page-layers-c-CJYAUO.cjs +30 -0
  234. package/dist/page-layers-c-CJYAUO.cjs.map +1 -0
  235. package/dist/page-layers-rlh4-1qr.js +31 -0
  236. package/dist/page-layers-rlh4-1qr.js.map +1 -0
  237. package/dist/page-layers.d.cts +21 -0
  238. package/dist/page-layers.d.ts +21 -0
  239. package/dist/page-view/PageView.vue.d.cts +42 -0
  240. package/dist/page-view/PageView.vue.d.ts +42 -0
  241. package/dist/page-view.cjs +5 -0
  242. package/dist/page-view.cjs.map +1 -0
  243. package/dist/page-view.d.cts +10 -0
  244. package/dist/page-view.d.ts +10 -0
  245. package/dist/page-view.js +5 -0
  246. package/dist/page-view.js.map +1 -0
  247. package/dist/projector-CDZn1kh1.js +32 -0
  248. package/dist/projector-CDZn1kh1.js.map +1 -0
  249. package/dist/projector-Cf7879sx.cjs +31 -0
  250. package/dist/projector-Cf7879sx.cjs.map +1 -0
  251. package/dist/redaction.cjs +34 -0
  252. package/dist/redaction.cjs.map +1 -0
  253. package/dist/redaction.d.cts +44 -0
  254. package/dist/redaction.d.ts +44 -0
  255. package/dist/redaction.js +29 -0
  256. package/dist/redaction.js.map +1 -0
  257. package/dist/render/RenderLayer.vue.d.cts +23 -0
  258. package/dist/render/RenderLayer.vue.d.ts +23 -0
  259. package/dist/render/TileImage.vue.d.cts +13 -0
  260. package/dist/render/TileImage.vue.d.ts +13 -0
  261. package/dist/render/TilePlane.vue.d.cts +7 -0
  262. package/dist/render/TilePlane.vue.d.ts +7 -0
  263. package/dist/render.cjs +262 -0
  264. package/dist/render.cjs.map +1 -0
  265. package/dist/render.d.cts +16 -0
  266. package/dist/render.d.ts +16 -0
  267. package/dist/render.js +257 -0
  268. package/dist/render.js.map +1 -0
  269. package/dist/runtime/DocumentGate.vue.d.cts +24 -0
  270. package/dist/runtime/DocumentGate.vue.d.ts +24 -0
  271. package/dist/runtime/DocumentScope.vue.d.cts +16 -0
  272. package/dist/runtime/DocumentScope.vue.d.ts +16 -0
  273. package/dist/runtime/KernelProvider.vue.d.cts +17 -0
  274. package/dist/runtime/KernelProvider.vue.d.ts +17 -0
  275. package/dist/runtime/SvgShapes.vue.d.cts +7 -0
  276. package/dist/runtime/SvgShapes.vue.d.ts +7 -0
  277. package/dist/runtime/Viewer.vue.d.cts +57 -0
  278. package/dist/runtime/Viewer.vue.d.ts +57 -0
  279. package/dist/runtime/capabilities.d.cts +52 -0
  280. package/dist/runtime/capabilities.d.ts +52 -0
  281. package/dist/runtime/documents.d.cts +42 -0
  282. package/dist/runtime/documents.d.ts +42 -0
  283. package/dist/runtime/kernel.d.cts +36 -0
  284. package/dist/runtime/kernel.d.ts +36 -0
  285. package/dist/runtime/page.d.cts +15 -0
  286. package/dist/runtime/page.d.ts +15 -0
  287. package/dist/runtime/refs.d.cts +12 -0
  288. package/dist/runtime/refs.d.ts +12 -0
  289. package/dist/runtime/surface-box.d.cts +12 -0
  290. package/dist/runtime/surface-box.d.ts +12 -0
  291. package/dist/runtime.cjs +53 -0
  292. package/dist/runtime.cjs.map +1 -0
  293. package/dist/runtime.d.cts +24 -0
  294. package/dist/runtime.d.ts +24 -0
  295. package/dist/runtime.js +38 -0
  296. package/dist/runtime.js.map +1 -0
  297. package/dist/scope-BQA4toWB.cjs +17 -0
  298. package/dist/scope-BQA4toWB.cjs.map +1 -0
  299. package/dist/scope-BgdCqnYb.js +18 -0
  300. package/dist/scope-BgdCqnYb.js.map +1 -0
  301. package/dist/search/SearchLayer.vue.d.cts +17 -0
  302. package/dist/search/SearchLayer.vue.d.ts +17 -0
  303. package/dist/search/composables.d.cts +31 -0
  304. package/dist/search/composables.d.ts +31 -0
  305. package/dist/search.cjs +17 -0
  306. package/dist/search.cjs.map +1 -0
  307. package/dist/search.d.cts +10 -0
  308. package/dist/search.d.ts +10 -0
  309. package/dist/search.js +11 -0
  310. package/dist/search.js.map +1 -0
  311. package/dist/selection/SelectionClipboard.vue.d.cts +24 -0
  312. package/dist/selection/SelectionClipboard.vue.d.ts +24 -0
  313. package/dist/selection/SelectionHandles.vue.d.cts +8 -0
  314. package/dist/selection/SelectionHandles.vue.d.ts +8 -0
  315. package/dist/selection/SelectionLayer.vue.d.cts +3 -0
  316. package/dist/selection/SelectionLayer.vue.d.ts +3 -0
  317. package/dist/selection/SelectionMenu.vue.d.cts +23 -0
  318. package/dist/selection/SelectionMenu.vue.d.ts +23 -0
  319. package/dist/selection/composables.d.cts +24 -0
  320. package/dist/selection/composables.d.ts +24 -0
  321. package/dist/selection.cjs +24 -0
  322. package/dist/selection.cjs.map +1 -0
  323. package/dist/selection.d.cts +16 -0
  324. package/dist/selection.d.ts +16 -0
  325. package/dist/selection.js +15 -0
  326. package/dist/selection.js.map +1 -0
  327. package/dist/shell.cjs +72 -0
  328. package/dist/shell.cjs.map +1 -0
  329. package/dist/shell.d.cts +56 -0
  330. package/dist/shell.d.ts +56 -0
  331. package/dist/shell.js +67 -0
  332. package/dist/shell.js.map +1 -0
  333. package/dist/signature/composables.d.cts +39 -0
  334. package/dist/signature/composables.d.ts +39 -0
  335. package/dist/signature.cjs +16 -0
  336. package/dist/signature.cjs.map +1 -0
  337. package/dist/signature.d.cts +15 -0
  338. package/dist/signature.d.ts +15 -0
  339. package/dist/signature.js +10 -0
  340. package/dist/signature.js.map +1 -0
  341. package/dist/stage/PageSurface.vue.d.cts +29 -0
  342. package/dist/stage/PageSurface.vue.d.ts +29 -0
  343. package/dist/stage/Scrollbar.vue.d.cts +32 -0
  344. package/dist/stage/Scrollbar.vue.d.ts +32 -0
  345. package/dist/stage/Stage.vue.d.cts +44 -0
  346. package/dist/stage/Stage.vue.d.ts +44 -0
  347. package/dist/stage/StageScope.vue.d.cts +17 -0
  348. package/dist/stage/StageScope.vue.d.ts +17 -0
  349. package/dist/stage/composables.d.cts +41 -0
  350. package/dist/stage/composables.d.ts +41 -0
  351. package/dist/stage/scope.d.cts +12 -0
  352. package/dist/stage/scope.d.ts +12 -0
  353. package/dist/stage.cjs +21 -0
  354. package/dist/stage.cjs.map +1 -0
  355. package/dist/stage.d.cts +17 -0
  356. package/dist/stage.d.ts +17 -0
  357. package/dist/stage.js +15 -0
  358. package/dist/stage.js.map +1 -0
  359. package/dist/stamp.cjs +68 -0
  360. package/dist/stamp.cjs.map +1 -0
  361. package/dist/stamp.d.cts +61 -0
  362. package/dist/stamp.d.ts +61 -0
  363. package/dist/stamp.js +61 -0
  364. package/dist/stamp.js.map +1 -0
  365. package/dist/state-DZg8q3v6.js +52 -0
  366. package/dist/state-DZg8q3v6.js.map +1 -0
  367. package/dist/state-M22NDJQo.cjs +51 -0
  368. package/dist/state-M22NDJQo.cjs.map +1 -0
  369. package/dist/state.d.cts +32 -0
  370. package/dist/state.d.ts +32 -0
  371. package/dist/strip-BSDB39Xh.cjs +743 -0
  372. package/dist/strip-BSDB39Xh.cjs.map +1 -0
  373. package/dist/strip-C3wLonKB.js +744 -0
  374. package/dist/strip-C3wLonKB.js.map +1 -0
  375. package/dist/surface-box-B9oa4YoG.js +12 -0
  376. package/dist/surface-box-B9oa4YoG.js.map +1 -0
  377. package/dist/surface-box-C7EvUOXp.cjs +11 -0
  378. package/dist/surface-box-C7EvUOXp.cjs.map +1 -0
  379. package/dist/theme.d.cts +13 -0
  380. package/dist/theme.d.ts +13 -0
  381. package/dist/toolbar/DefaultCollapsed.vue.d.cts +9 -0
  382. package/dist/toolbar/DefaultCollapsed.vue.d.ts +9 -0
  383. package/dist/toolbar/DefaultCommand.vue.d.cts +8 -0
  384. package/dist/toolbar/DefaultCommand.vue.d.ts +8 -0
  385. package/dist/toolbar/DefaultGroupTrigger.vue.d.cts +9 -0
  386. package/dist/toolbar/DefaultGroupTrigger.vue.d.ts +9 -0
  387. package/dist/toolbar/DefaultOverflowMenu.vue.d.cts +9 -0
  388. package/dist/toolbar/DefaultOverflowMenu.vue.d.ts +9 -0
  389. package/dist/toolbar/DefaultOverflowTrigger.vue.d.cts +10 -0
  390. package/dist/toolbar/DefaultOverflowTrigger.vue.d.ts +10 -0
  391. package/dist/toolbar/Measured.vue.d.cts +21 -0
  392. package/dist/toolbar/Measured.vue.d.ts +21 -0
  393. package/dist/toolbar/NativeSlotSocket.vue.d.cts +22 -0
  394. package/dist/toolbar/NativeSlotSocket.vue.d.ts +22 -0
  395. package/dist/toolbar/Toolbar.vue.d.cts +82 -0
  396. package/dist/toolbar/Toolbar.vue.d.ts +82 -0
  397. package/dist/toolbar/ToolbarPart.vue.d.cts +42 -0
  398. package/dist/toolbar/ToolbarPart.vue.d.ts +42 -0
  399. package/dist/toolbar/paint.d.cts +3 -0
  400. package/dist/toolbar/paint.d.ts +3 -0
  401. package/dist/toolbar/strip.d.cts +14 -0
  402. package/dist/toolbar/strip.d.ts +14 -0
  403. package/dist/toolbar/views.d.cts +15 -0
  404. package/dist/toolbar/views.d.ts +15 -0
  405. package/dist/toolbar.cjs +27 -0
  406. package/dist/toolbar.cjs.map +1 -0
  407. package/dist/toolbar.d.cts +14 -0
  408. package/dist/toolbar.d.ts +14 -0
  409. package/dist/toolbar.js +12 -0
  410. package/dist/toolbar.js.map +1 -0
  411. package/dist/view-manager.cjs +22 -0
  412. package/dist/view-manager.cjs.map +1 -0
  413. package/dist/view-manager.d.cts +24 -0
  414. package/dist/view-manager.d.ts +24 -0
  415. package/dist/view-manager.js +17 -0
  416. package/dist/view-manager.js.map +1 -0
  417. package/package.json +179 -3
@@ -0,0 +1,7 @@
1
+ import type { RenderItem } from '@embedpdf/core-annotation';
2
+ type __VLS_Props = {
3
+ item: RenderItem;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { RenderItem } from '@embedpdf/core-annotation';
2
+ type __VLS_Props = {
3
+ item: RenderItem;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { TextItem } from '@embedpdf/plugin-annotation';
2
+ import type { PageContextValue } from '../runtime/page.cjs';
3
+ type __VLS_Props = {
4
+ item: TextItem;
5
+ page: PageContextValue;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { TextItem } from '@embedpdf/plugin-annotation';
2
+ import type { PageContextValue } from '../runtime/page.js';
3
+ type __VLS_Props = {
4
+ item: TextItem;
5
+ page: PageContextValue;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { type RenderItem } from '@embedpdf/core-annotation';
2
+ import { type AppearanceUrl } from '@embedpdf/web';
3
+ type __VLS_Props = {
4
+ item: RenderItem;
5
+ /** The page's loaded pictures, by item and state; `null` until the first ones arrive. */
6
+ urls: Readonly<Record<string, AppearanceUrl>> | null;
7
+ };
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { type RenderItem } from '@embedpdf/core-annotation';
2
+ import { type AppearanceUrl } from '@embedpdf/web';
3
+ type __VLS_Props = {
4
+ item: RenderItem;
5
+ /** The page's loaded pictures, by item and state; `null` until the first ones arrive. */
6
+ urls: Readonly<Record<string, AppearanceUrl>> | null;
7
+ };
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { PageContextValue } from '../runtime/page.cjs';
2
+ type __VLS_Props = {
3
+ page: PageContextValue;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { PageContextValue } from '../runtime/page.js';
2
+ type __VLS_Props = {
3
+ page: PageContextValue;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,76 @@
1
+ import type { MaybeRef, MaybeRefOrGetter, Ref } from 'vue';
2
+ import type { EventHook } from '@embedpdf/core';
3
+ import type { Annotation, AnnotationAnchor, AnnotationCapability, AnnotationFilter, AnnotationProperties, AnnotationRef, CommentsApi, FilePickerProvider, ToolDefaults } from '@embedpdf/plugin-annotation';
4
+ import type { CommentThreadView } from './types.cjs';
5
+ /**
6
+ * The annotation API (`create`, `update`, `selection`, `tools`, `text`,
7
+ * `comments`, …) for your chrome. The object never changes, so it's safe to
8
+ * keep in a closure; keep it whole (`annotation.selection.delete()`), since a
9
+ * member taken out of it once stays the one of that moment.
10
+ */
11
+ export declare function useAnnotation(): AnnotationCapability;
12
+ /** Subscribe to one annotation event while the component lives: `useAnnotationEvent((annotation) => annotation.onCreated, handler)`. */
13
+ export declare function useAnnotationEvent<Event>(select: (annotation: AnnotationCapability) => EventHook<Event>, handler: (event: Event) => void): void;
14
+ /**
15
+ * The annotations matching `filter` (some pages, one kind), in drawing order,
16
+ * as the user sees them, as a ref: the same array while they stay the same.
17
+ * A getter follows a filter that changes. Empty without a document.
18
+ */
19
+ export declare function useAnnotationList(filter?: MaybeRefOrGetter<AnnotationFilter | undefined>): Readonly<Ref<readonly Annotation[]>>;
20
+ /**
21
+ * A tool's defaults, as a ref: the fields its next annotation starts with,
22
+ * over the engine's. It follows them, so a color picker always shows the
23
+ * current color. Empty without a document.
24
+ */
25
+ export declare function useAnnotationDefaults(toolId: MaybeRefOrGetter<string>): Readonly<Ref<ToolDefaults>>;
26
+ /**
27
+ * What a style panel shows, as a ref: the selection's properties
28
+ * (`selection.getProperties()`), or, given a tool id, the tool's
29
+ * (`tools.getProperties(id)`). It follows them. Empty without a document.
30
+ */
31
+ export declare function useAnnotationProperties(toolId?: MaybeRefOrGetter<string | undefined>): Readonly<Ref<AnnotationProperties>>;
32
+ /**
33
+ * An anchor for `<Anchored>` that keeps a card or a badge attached to one
34
+ * annotation, as a ref: its page and the box around what it shows, following
35
+ * a move as it happens. `null` for `null`, or an annotation that isn't here.
36
+ * It changes when the annotation moves, not while people scroll or zoom: a
37
+ * note that keeps its size on screen hands `<Anchored>` its `boundsIn`. A
38
+ * getter follows a ref that changes (`() => hovered.value?.ref ?? null`).
39
+ */
40
+ export declare function useAnnotationAnchor(ref: MaybeRefOrGetter<AnnotationRef | null>): Readonly<Ref<AnnotationAnchor | null>>;
41
+ /**
42
+ * The comments API: the `comments` part of `useAnnotation()`, for the
43
+ * document in scope. Like `useAnnotation()`, the object never changes and
44
+ * always reaches the current document. Pair it with {@link useCommentThreads}
45
+ * for the threads to show.
46
+ */
47
+ export declare function useComments(): CommentsApi;
48
+ /**
49
+ * Every comment thread in the document as a ref, display-ordered (page
50
+ * position, then top of page, then creation date) and with where its page is
51
+ * shown (`pageIndex`, `pageLabel`). It follows annotation writes (your own,
52
+ * remote ones, loading) and page moves and deletes; the same array between
53
+ * changes.
54
+ */
55
+ export declare function useCommentThreads(): Readonly<Ref<readonly CommentThreadView[]>>;
56
+ /**
57
+ * The thread holding any of its annotations (the root, a reply, a grouped
58
+ * part, a review state), as a ref, or null. A getter follows a ref that changes.
59
+ */
60
+ export declare function useCommentThread(ref: MaybeRefOrGetter<AnnotationRef | null>): Readonly<Ref<CommentThreadView | null>>;
61
+ /**
62
+ * The default file-picker provider: the browser's file dialog (from
63
+ * `@embedpdf/web`), honouring the tool's `accept` filter. The adapter fulfils
64
+ * the plugin's DOM-free port; the dialog never lives in the plugin.
65
+ */
66
+ export declare const filePickerProvider: FilePickerProvider;
67
+ /**
68
+ * Install the file-picker provider for the document in scope while the
69
+ * component lives: the one port behind every click-then-pick tool (a stamp
70
+ * whose source is `'prompt'`, the file attachment tool). Call it once, at a
71
+ * document-wide spot (not in a page layer). Without an argument it installs
72
+ * {@link filePickerProvider}, so those tools work out of the box; pass your
73
+ * own (an asset library, a cloud drive: switch on `toolId` or `subtype`), or
74
+ * `null` to make them do nothing. A ref follows a provider that changes.
75
+ */
76
+ export declare function useFilePickerProvider(provider?: MaybeRef<FilePickerProvider | null>): void;
@@ -0,0 +1,76 @@
1
+ import type { MaybeRef, MaybeRefOrGetter, Ref } from 'vue';
2
+ import type { EventHook } from '@embedpdf/core';
3
+ import type { Annotation, AnnotationAnchor, AnnotationCapability, AnnotationFilter, AnnotationProperties, AnnotationRef, CommentsApi, FilePickerProvider, ToolDefaults } from '@embedpdf/plugin-annotation';
4
+ import type { CommentThreadView } from './types.js';
5
+ /**
6
+ * The annotation API (`create`, `update`, `selection`, `tools`, `text`,
7
+ * `comments`, …) for your chrome. The object never changes, so it's safe to
8
+ * keep in a closure; keep it whole (`annotation.selection.delete()`), since a
9
+ * member taken out of it once stays the one of that moment.
10
+ */
11
+ export declare function useAnnotation(): AnnotationCapability;
12
+ /** Subscribe to one annotation event while the component lives: `useAnnotationEvent((annotation) => annotation.onCreated, handler)`. */
13
+ export declare function useAnnotationEvent<Event>(select: (annotation: AnnotationCapability) => EventHook<Event>, handler: (event: Event) => void): void;
14
+ /**
15
+ * The annotations matching `filter` (some pages, one kind), in drawing order,
16
+ * as the user sees them, as a ref: the same array while they stay the same.
17
+ * A getter follows a filter that changes. Empty without a document.
18
+ */
19
+ export declare function useAnnotationList(filter?: MaybeRefOrGetter<AnnotationFilter | undefined>): Readonly<Ref<readonly Annotation[]>>;
20
+ /**
21
+ * A tool's defaults, as a ref: the fields its next annotation starts with,
22
+ * over the engine's. It follows them, so a color picker always shows the
23
+ * current color. Empty without a document.
24
+ */
25
+ export declare function useAnnotationDefaults(toolId: MaybeRefOrGetter<string>): Readonly<Ref<ToolDefaults>>;
26
+ /**
27
+ * What a style panel shows, as a ref: the selection's properties
28
+ * (`selection.getProperties()`), or, given a tool id, the tool's
29
+ * (`tools.getProperties(id)`). It follows them. Empty without a document.
30
+ */
31
+ export declare function useAnnotationProperties(toolId?: MaybeRefOrGetter<string | undefined>): Readonly<Ref<AnnotationProperties>>;
32
+ /**
33
+ * An anchor for `<Anchored>` that keeps a card or a badge attached to one
34
+ * annotation, as a ref: its page and the box around what it shows, following
35
+ * a move as it happens. `null` for `null`, or an annotation that isn't here.
36
+ * It changes when the annotation moves, not while people scroll or zoom: a
37
+ * note that keeps its size on screen hands `<Anchored>` its `boundsIn`. A
38
+ * getter follows a ref that changes (`() => hovered.value?.ref ?? null`).
39
+ */
40
+ export declare function useAnnotationAnchor(ref: MaybeRefOrGetter<AnnotationRef | null>): Readonly<Ref<AnnotationAnchor | null>>;
41
+ /**
42
+ * The comments API: the `comments` part of `useAnnotation()`, for the
43
+ * document in scope. Like `useAnnotation()`, the object never changes and
44
+ * always reaches the current document. Pair it with {@link useCommentThreads}
45
+ * for the threads to show.
46
+ */
47
+ export declare function useComments(): CommentsApi;
48
+ /**
49
+ * Every comment thread in the document as a ref, display-ordered (page
50
+ * position, then top of page, then creation date) and with where its page is
51
+ * shown (`pageIndex`, `pageLabel`). It follows annotation writes (your own,
52
+ * remote ones, loading) and page moves and deletes; the same array between
53
+ * changes.
54
+ */
55
+ export declare function useCommentThreads(): Readonly<Ref<readonly CommentThreadView[]>>;
56
+ /**
57
+ * The thread holding any of its annotations (the root, a reply, a grouped
58
+ * part, a review state), as a ref, or null. A getter follows a ref that changes.
59
+ */
60
+ export declare function useCommentThread(ref: MaybeRefOrGetter<AnnotationRef | null>): Readonly<Ref<CommentThreadView | null>>;
61
+ /**
62
+ * The default file-picker provider: the browser's file dialog (from
63
+ * `@embedpdf/web`), honouring the tool's `accept` filter. The adapter fulfils
64
+ * the plugin's DOM-free port; the dialog never lives in the plugin.
65
+ */
66
+ export declare const filePickerProvider: FilePickerProvider;
67
+ /**
68
+ * Install the file-picker provider for the document in scope while the
69
+ * component lives: the one port behind every click-then-pick tool (a stamp
70
+ * whose source is `'prompt'`, the file attachment tool). Call it once, at a
71
+ * document-wide spot (not in a page layer). Without an argument it installs
72
+ * {@link filePickerProvider}, so those tools work out of the box; pass your
73
+ * own (an asset library, a cloud drive: switch on `toolId` or `subtype`), or
74
+ * `null` to make them do nothing. A ref follows a provider that changes.
75
+ */
76
+ export declare function useFilePickerProvider(provider?: MaybeRef<FilePickerProvider | null>): void;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The annotation state as refs: `status` (`'loading'` until every annotation
3
+ * is in, then `'ready'`), the `selected` annotations, the one `hovered` under
4
+ * the pointer and the text box being typed in (`editing`). With a selector,
5
+ * one ref that updates only when the value it picks changes. Empty without a
6
+ * document.
7
+ */
8
+ export declare const useAnnotationState: import("../index.cjs").StateComposable<{
9
+ status: import("@embedpdf/core").ResourceStatus;
10
+ selected: readonly import("@embedpdf/plugin-annotation").Annotation[];
11
+ hovered: import("@embedpdf/plugin-annotation").Annotation | null;
12
+ editing: import("@embedpdf/plugin-annotation").Annotation | null;
13
+ }>;
14
+ /**
15
+ * The annotation settings (`snap`, `chrome`, `afterCreate`, `tools`) as refs,
16
+ * or one ref for the value `select` picks. They belong to the plugin, so they
17
+ * read without a document; change them with `useAnnotation().updateSettings()`.
18
+ */
19
+ export declare const useAnnotationSettings: import("../index.cjs").SettingsComposable<import("@embedpdf/plugin-annotation").AnnotationSettings & object>;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The annotation state as refs: `status` (`'loading'` until every annotation
3
+ * is in, then `'ready'`), the `selected` annotations, the one `hovered` under
4
+ * the pointer and the text box being typed in (`editing`). With a selector,
5
+ * one ref that updates only when the value it picks changes. Empty without a
6
+ * document.
7
+ */
8
+ export declare const useAnnotationState: import("../index.js").StateComposable<{
9
+ status: import("@embedpdf/core").ResourceStatus;
10
+ selected: readonly import("@embedpdf/plugin-annotation").Annotation[];
11
+ hovered: import("@embedpdf/plugin-annotation").Annotation | null;
12
+ editing: import("@embedpdf/plugin-annotation").Annotation | null;
13
+ }>;
14
+ /**
15
+ * The annotation settings (`snap`, `chrome`, `afterCreate`, `tools`) as refs,
16
+ * or one ref for the value `select` picks. They belong to the plugin, so they
17
+ * read without a document; change them with `useAnnotation().updateSettings()`.
18
+ */
19
+ export declare const useAnnotationSettings: import("../index.js").SettingsComposable<import("@embedpdf/plugin-annotation").AnnotationSettings & object>;
@@ -0,0 +1,28 @@
1
+ import type { MaybeRefOrGetter, Ref } from 'vue';
2
+ import type { Annotation, TextItem } from '@embedpdf/plugin-annotation';
3
+ import type { RichTextEditor } from './types.cjs';
4
+ /**
5
+ * Make an element the editor of a text box, following `item` and `scale`
6
+ * (pixels per point). Returns the element's ref: put it on the element, and
7
+ * render nothing inside it, since the editor owns its children.
8
+ */
9
+ export declare function useTextBoxEditor(item: MaybeRefOrGetter<TextItem | null>, scale: MaybeRefOrGetter<number>): Ref<HTMLElement | null>;
10
+ /** Installed by the layer around a look it scales, not by app code. */
11
+ export declare function provideLookScale(scale: Readonly<Ref<number>>): void;
12
+ /**
13
+ * Make your own element the editor of a text box you draw yourself (a
14
+ * renderer for free text): it draws the runs, turns typing back into runs,
15
+ * keeps the caret when the style changes, and handles pasting, input methods
16
+ * and the format shortcuts. The formatting calls (`text.toggleFormat`,
17
+ * `selection.update`) work on it as they do on the built-in one.
18
+ *
19
+ * ```vue
20
+ * const { ref: editorRef, editing, style } = useRichTextEditor(() => props.annotation);
21
+ * <div :ref="editorRef" :class="{ editing }" :style="style" />
22
+ * ```
23
+ *
24
+ * `ref` goes on your element (render nothing inside it: the editor owns what's
25
+ * in it); `style` and `editing` are refs. `style` fills the element's parent at
26
+ * a legible size: draw the box's frame on the parent.
27
+ */
28
+ export declare function useRichTextEditor(annotation: MaybeRefOrGetter<Annotation>): RichTextEditor;
@@ -0,0 +1,28 @@
1
+ import type { MaybeRefOrGetter, Ref } from 'vue';
2
+ import type { Annotation, TextItem } from '@embedpdf/plugin-annotation';
3
+ import type { RichTextEditor } from './types.js';
4
+ /**
5
+ * Make an element the editor of a text box, following `item` and `scale`
6
+ * (pixels per point). Returns the element's ref: put it on the element, and
7
+ * render nothing inside it, since the editor owns its children.
8
+ */
9
+ export declare function useTextBoxEditor(item: MaybeRefOrGetter<TextItem | null>, scale: MaybeRefOrGetter<number>): Ref<HTMLElement | null>;
10
+ /** Installed by the layer around a look it scales, not by app code. */
11
+ export declare function provideLookScale(scale: Readonly<Ref<number>>): void;
12
+ /**
13
+ * Make your own element the editor of a text box you draw yourself (a
14
+ * renderer for free text): it draws the runs, turns typing back into runs,
15
+ * keeps the caret when the style changes, and handles pasting, input methods
16
+ * and the format shortcuts. The formatting calls (`text.toggleFormat`,
17
+ * `selection.update`) work on it as they do on the built-in one.
18
+ *
19
+ * ```vue
20
+ * const { ref: editorRef, editing, style } = useRichTextEditor(() => props.annotation);
21
+ * <div :ref="editorRef" :class="{ editing }" :style="style" />
22
+ * ```
23
+ *
24
+ * `ref` goes on your element (render nothing inside it: the editor owns what's
25
+ * in it); `style` and `editing` are refs. `style` fills the element's parent at
26
+ * a legible size: draw the box's frame on the parent.
27
+ */
28
+ export declare function useRichTextEditor(annotation: MaybeRefOrGetter<Annotation>): RichTextEditor;
@@ -0,0 +1,154 @@
1
+ /**
2
+ * The types an app writes against when it draws annotations its own way:
3
+ * a renderer (which annotations, with which component), the props that
4
+ * component gets, what the `#handle` and `#rotation-handle` slots get, and
5
+ * what `useRichTextEditor()` and `useCommentThreads()` return.
6
+ */
7
+ import type { Component, ComponentPublicInstance, CSSProperties, Ref } from 'vue';
8
+ import type { Point, RenderItem } from '@embedpdf/core-annotation';
9
+ import type { Annotation, CommentThread, HandleRole } from '@embedpdf/plugin-annotation';
10
+ import type { PageContextValue } from '../runtime/page.cjs';
11
+ /** The box a renderer draws into: the size to draw at, how it's turned, and how it's scaled. */
12
+ export interface AnnotationFrame {
13
+ /** Its width in pixels at the annotation's 100% size, before its turn: draw at this. */
14
+ width: number;
15
+ /** Its height in pixels at the annotation's 100% size, before its turn: draw at this. */
16
+ height: number;
17
+ /**
18
+ * How it's turned on screen, degrees clockwise: the page's turn and the
19
+ * annotation's own. 0 is upright; turn your content by `-rotation` to keep
20
+ * it upright.
21
+ */
22
+ rotation: number;
23
+ /**
24
+ * How much the layer scales what you draw, with the page: the zoom, or for
25
+ * an annotation that keeps its size on screen, the zoom up to 1.
26
+ */
27
+ scale: number;
28
+ }
29
+ /**
30
+ * What a renderer's component gets as props: the annotation, the frame to
31
+ * draw into, and the layer's own drawing of it to keep or wrap. The layer
32
+ * keeps handling the pointer (select, move, resize) unless the renderer is
33
+ * `interactive`.
34
+ */
35
+ export interface AnnotationRendererProps {
36
+ /** The annotation, as `get()` returns it. */
37
+ annotation: Annotation;
38
+ /**
39
+ * The box you draw into. The layer places, turns and scales it like the
40
+ * annotation's own drawing, also during a drag, a resize or a turn. Fill it
41
+ * (`width: 100%; height: 100%`) and draw at the annotation's 100% size: your
42
+ * text and borders scale with the page.
43
+ */
44
+ frame: AnnotationFrame;
45
+ /**
46
+ * The layer's own drawing of it, filling the frame: `<component :is="native" />`
47
+ * keeps the original look, to add to it.
48
+ */
49
+ native: Component;
50
+ /** The engine's picture of the annotation as an image (`url`), or `null`. `native` draws it in place. */
51
+ appearance: {
52
+ url: string;
53
+ } | null;
54
+ /** True while the pointer is over it. */
55
+ hovered: boolean;
56
+ /** True while it's selected. */
57
+ selected: boolean;
58
+ /** True when what you draw takes the pointer (see `interactive` on the renderer). */
59
+ interactive: boolean;
60
+ }
61
+ /**
62
+ * What a sibling plugin's renderer gets for the annotations its behavior owns
63
+ * (the form plugin's fill controls). It places its own controls: `item` is the
64
+ * layer's projection of the annotation (its box, style, text and raster box,
65
+ * in page coordinates), and `page.transform.toPixels()` turns those into the
66
+ * layer's pixels.
67
+ */
68
+ export interface BehaviorRendererProps {
69
+ annotation: Annotation;
70
+ item: RenderItem;
71
+ page: PageContextValue;
72
+ /** The layer's own drawing of it, in its frame where the layer draws it: `<component :is="native" />`. */
73
+ native: Component;
74
+ hovered: boolean;
75
+ selected: boolean;
76
+ interactive: boolean;
77
+ }
78
+ /** What an `interactive` function is asked: the annotation, and the active tool. */
79
+ export interface AnnotationInteractiveContext {
80
+ annotation: Annotation;
81
+ toolId: string;
82
+ }
83
+ /**
84
+ * One rule: "draw these annotations with this component". `for` gets the
85
+ * annotation with all its fields; the first renderer that matches wins.
86
+ * Without `interactive` the component only draws: the layer keeps handling
87
+ * the pointer. With `interactive` (or a function asked whenever it matters)
88
+ * the component takes the pointer, and the annotation can't be selected or
89
+ * moved while it does.
90
+ *
91
+ * Define the list once, in `<script setup>`: the layer registers each entry,
92
+ * and a list written inline in the template is a new one on every render.
93
+ *
94
+ * `{ behavior, component }` draws what a sibling plugin's behavior owns (the
95
+ * form plugin's fill controls); the plugin decides when it's engaged.
96
+ */
97
+ export type AnnotationRenderer = {
98
+ behavior: string;
99
+ /** Gets {@link BehaviorRendererProps}. */
100
+ component: Component;
101
+ } | {
102
+ /** A stable id for the registration (optional; generated). */
103
+ id?: string;
104
+ for: (annotation: Annotation) => boolean;
105
+ /** Gets {@link AnnotationRendererProps}. */
106
+ component: Component;
107
+ interactive?: boolean | ((context: AnnotationInteractiveContext) => boolean);
108
+ /**
109
+ * Scale what you draw with the page (the default): you draw at the
110
+ * annotation's 100% size. `false`: you draw at its size on screen, and
111
+ * size things yourself from `frame.scale`.
112
+ */
113
+ scale?: boolean;
114
+ };
115
+ /** What the layer's `#handle` slot gets: one handle to draw. */
116
+ export interface HandleProps {
117
+ /** The handle's center, in pixels on the page. */
118
+ at: Point;
119
+ /** The `size` from the settings, px. */
120
+ size: number;
121
+ /** The selection's rotation (degrees clockwise), so a square handle can turn with it. */
122
+ rotation: number;
123
+ /** A box's `'corner'` or `'side'`, or one `'point'` of a line or a polygon. */
124
+ kind: HandleRole;
125
+ /** True while it's being dragged. */
126
+ active: boolean;
127
+ }
128
+ /** What the layer's `#rotation-handle` slot gets: a handle's props, and where its stalk starts on the box. */
129
+ export interface RotationHandleProps extends Omit<HandleProps, 'kind'> {
130
+ /** Where the stalk starts on the box, in pixels on the page. */
131
+ from: Point;
132
+ }
133
+ /** What `useRichTextEditor()` gives the element you draw a text box with. */
134
+ export interface RichTextEditor {
135
+ /** Put it on your element (`:ref="editor.ref"`): it becomes the editor. */
136
+ ref: (element: Element | ComponentPublicInstance | null) => void;
137
+ /** The box's body style as CSS: font, size, color and alignment. While typing it takes the pointer too. */
138
+ style: Readonly<Ref<CSSProperties>>;
139
+ /** True while someone types in the box. */
140
+ editing: Readonly<Ref<boolean>>;
141
+ }
142
+ /**
143
+ * A {@link CommentThread} with where its page is shown now. Identity stays
144
+ * `page` (like every annotation surface); these two fields are presentation,
145
+ * following page moves and deletes.
146
+ */
147
+ export interface CommentThreadView extends CommentThread {
148
+ /** Current 0-based display index of the thread's page; `-1` when the page
149
+ * is no longer in the document (for the one render before it goes). */
150
+ pageIndex: number;
151
+ /** The page's `/PageLabels` label when the PDF declares one ("iv", "A-2"),
152
+ * else the 1-based position as a string: print it as it is. */
153
+ pageLabel: string;
154
+ }
@@ -0,0 +1,154 @@
1
+ /**
2
+ * The types an app writes against when it draws annotations its own way:
3
+ * a renderer (which annotations, with which component), the props that
4
+ * component gets, what the `#handle` and `#rotation-handle` slots get, and
5
+ * what `useRichTextEditor()` and `useCommentThreads()` return.
6
+ */
7
+ import type { Component, ComponentPublicInstance, CSSProperties, Ref } from 'vue';
8
+ import type { Point, RenderItem } from '@embedpdf/core-annotation';
9
+ import type { Annotation, CommentThread, HandleRole } from '@embedpdf/plugin-annotation';
10
+ import type { PageContextValue } from '../runtime/page.js';
11
+ /** The box a renderer draws into: the size to draw at, how it's turned, and how it's scaled. */
12
+ export interface AnnotationFrame {
13
+ /** Its width in pixels at the annotation's 100% size, before its turn: draw at this. */
14
+ width: number;
15
+ /** Its height in pixels at the annotation's 100% size, before its turn: draw at this. */
16
+ height: number;
17
+ /**
18
+ * How it's turned on screen, degrees clockwise: the page's turn and the
19
+ * annotation's own. 0 is upright; turn your content by `-rotation` to keep
20
+ * it upright.
21
+ */
22
+ rotation: number;
23
+ /**
24
+ * How much the layer scales what you draw, with the page: the zoom, or for
25
+ * an annotation that keeps its size on screen, the zoom up to 1.
26
+ */
27
+ scale: number;
28
+ }
29
+ /**
30
+ * What a renderer's component gets as props: the annotation, the frame to
31
+ * draw into, and the layer's own drawing of it to keep or wrap. The layer
32
+ * keeps handling the pointer (select, move, resize) unless the renderer is
33
+ * `interactive`.
34
+ */
35
+ export interface AnnotationRendererProps {
36
+ /** The annotation, as `get()` returns it. */
37
+ annotation: Annotation;
38
+ /**
39
+ * The box you draw into. The layer places, turns and scales it like the
40
+ * annotation's own drawing, also during a drag, a resize or a turn. Fill it
41
+ * (`width: 100%; height: 100%`) and draw at the annotation's 100% size: your
42
+ * text and borders scale with the page.
43
+ */
44
+ frame: AnnotationFrame;
45
+ /**
46
+ * The layer's own drawing of it, filling the frame: `<component :is="native" />`
47
+ * keeps the original look, to add to it.
48
+ */
49
+ native: Component;
50
+ /** The engine's picture of the annotation as an image (`url`), or `null`. `native` draws it in place. */
51
+ appearance: {
52
+ url: string;
53
+ } | null;
54
+ /** True while the pointer is over it. */
55
+ hovered: boolean;
56
+ /** True while it's selected. */
57
+ selected: boolean;
58
+ /** True when what you draw takes the pointer (see `interactive` on the renderer). */
59
+ interactive: boolean;
60
+ }
61
+ /**
62
+ * What a sibling plugin's renderer gets for the annotations its behavior owns
63
+ * (the form plugin's fill controls). It places its own controls: `item` is the
64
+ * layer's projection of the annotation (its box, style, text and raster box,
65
+ * in page coordinates), and `page.transform.toPixels()` turns those into the
66
+ * layer's pixels.
67
+ */
68
+ export interface BehaviorRendererProps {
69
+ annotation: Annotation;
70
+ item: RenderItem;
71
+ page: PageContextValue;
72
+ /** The layer's own drawing of it, in its frame where the layer draws it: `<component :is="native" />`. */
73
+ native: Component;
74
+ hovered: boolean;
75
+ selected: boolean;
76
+ interactive: boolean;
77
+ }
78
+ /** What an `interactive` function is asked: the annotation, and the active tool. */
79
+ export interface AnnotationInteractiveContext {
80
+ annotation: Annotation;
81
+ toolId: string;
82
+ }
83
+ /**
84
+ * One rule: "draw these annotations with this component". `for` gets the
85
+ * annotation with all its fields; the first renderer that matches wins.
86
+ * Without `interactive` the component only draws: the layer keeps handling
87
+ * the pointer. With `interactive` (or a function asked whenever it matters)
88
+ * the component takes the pointer, and the annotation can't be selected or
89
+ * moved while it does.
90
+ *
91
+ * Define the list once, in `<script setup>`: the layer registers each entry,
92
+ * and a list written inline in the template is a new one on every render.
93
+ *
94
+ * `{ behavior, component }` draws what a sibling plugin's behavior owns (the
95
+ * form plugin's fill controls); the plugin decides when it's engaged.
96
+ */
97
+ export type AnnotationRenderer = {
98
+ behavior: string;
99
+ /** Gets {@link BehaviorRendererProps}. */
100
+ component: Component;
101
+ } | {
102
+ /** A stable id for the registration (optional; generated). */
103
+ id?: string;
104
+ for: (annotation: Annotation) => boolean;
105
+ /** Gets {@link AnnotationRendererProps}. */
106
+ component: Component;
107
+ interactive?: boolean | ((context: AnnotationInteractiveContext) => boolean);
108
+ /**
109
+ * Scale what you draw with the page (the default): you draw at the
110
+ * annotation's 100% size. `false`: you draw at its size on screen, and
111
+ * size things yourself from `frame.scale`.
112
+ */
113
+ scale?: boolean;
114
+ };
115
+ /** What the layer's `#handle` slot gets: one handle to draw. */
116
+ export interface HandleProps {
117
+ /** The handle's center, in pixels on the page. */
118
+ at: Point;
119
+ /** The `size` from the settings, px. */
120
+ size: number;
121
+ /** The selection's rotation (degrees clockwise), so a square handle can turn with it. */
122
+ rotation: number;
123
+ /** A box's `'corner'` or `'side'`, or one `'point'` of a line or a polygon. */
124
+ kind: HandleRole;
125
+ /** True while it's being dragged. */
126
+ active: boolean;
127
+ }
128
+ /** What the layer's `#rotation-handle` slot gets: a handle's props, and where its stalk starts on the box. */
129
+ export interface RotationHandleProps extends Omit<HandleProps, 'kind'> {
130
+ /** Where the stalk starts on the box, in pixels on the page. */
131
+ from: Point;
132
+ }
133
+ /** What `useRichTextEditor()` gives the element you draw a text box with. */
134
+ export interface RichTextEditor {
135
+ /** Put it on your element (`:ref="editor.ref"`): it becomes the editor. */
136
+ ref: (element: Element | ComponentPublicInstance | null) => void;
137
+ /** The box's body style as CSS: font, size, color and alignment. While typing it takes the pointer too. */
138
+ style: Readonly<Ref<CSSProperties>>;
139
+ /** True while someone types in the box. */
140
+ editing: Readonly<Ref<boolean>>;
141
+ }
142
+ /**
143
+ * A {@link CommentThread} with where its page is shown now. Identity stays
144
+ * `page` (like every annotation surface); these two fields are presentation,
145
+ * following page moves and deletes.
146
+ */
147
+ export interface CommentThreadView extends CommentThread {
148
+ /** Current 0-based display index of the thread's page; `-1` when the page
149
+ * is no longer in the document (for the one render before it goes). */
150
+ pageIndex: number;
151
+ /** The page's `/PageLabels` label when the PDF declares one ("iv", "A-2"),
152
+ * else the 1-based position as a string: print it as it is. */
153
+ pageLabel: string;
154
+ }