@docmentis/udoc-viewer 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 (434) hide show
  1. package/README.md +180 -0
  2. package/dist/UDocClient.d.ts +197 -0
  3. package/dist/UDocClient.d.ts.map +1 -0
  4. package/dist/UDocClient.js +170 -0
  5. package/dist/UDocClient.js.map +1 -0
  6. package/dist/UDocViewer.d.ts +196 -0
  7. package/dist/UDocViewer.d.ts.map +1 -0
  8. package/dist/UDocViewer.js +427 -0
  9. package/dist/UDocViewer.js.map +1 -0
  10. package/dist/WorkerClient.d.ts +36 -0
  11. package/dist/WorkerClient.d.ts.map +1 -0
  12. package/dist/WorkerClient.js +121 -0
  13. package/dist/WorkerClient.js.map +1 -0
  14. package/dist/annotation/AnnotationLayer.d.ts +166 -0
  15. package/dist/annotation/AnnotationLayer.d.ts.map +1 -0
  16. package/dist/annotation/AnnotationLayer.js +1090 -0
  17. package/dist/annotation/AnnotationLayer.js.map +1 -0
  18. package/dist/annotation/index.d.ts +6 -0
  19. package/dist/annotation/index.d.ts.map +1 -0
  20. package/dist/annotation/index.js +6 -0
  21. package/dist/annotation/index.js.map +1 -0
  22. package/dist/components/FloatingBar.d.ts +102 -0
  23. package/dist/components/FloatingBar.d.ts.map +1 -0
  24. package/dist/components/FloatingBar.js +513 -0
  25. package/dist/components/FloatingBar.js.map +1 -0
  26. package/dist/components/Header.d.ts +46 -0
  27. package/dist/components/Header.d.ts.map +1 -0
  28. package/dist/components/Header.js +93 -0
  29. package/dist/components/Header.js.map +1 -0
  30. package/dist/components/index.d.ts +6 -0
  31. package/dist/components/index.d.ts.map +1 -0
  32. package/dist/components/index.js +4 -0
  33. package/dist/components/index.js.map +1 -0
  34. package/dist/components/panels/CommentsPanel.d.ts +33 -0
  35. package/dist/components/panels/CommentsPanel.d.ts.map +1 -0
  36. package/dist/components/panels/CommentsPanel.js +176 -0
  37. package/dist/components/panels/CommentsPanel.js.map +1 -0
  38. package/dist/components/panels/OutlinePanel.d.ts +30 -0
  39. package/dist/components/panels/OutlinePanel.d.ts.map +1 -0
  40. package/dist/components/panels/OutlinePanel.js +144 -0
  41. package/dist/components/panels/OutlinePanel.js.map +1 -0
  42. package/dist/components/panels/ThumbnailsPanel.d.ts +51 -0
  43. package/dist/components/panels/ThumbnailsPanel.d.ts.map +1 -0
  44. package/dist/components/panels/ThumbnailsPanel.js +160 -0
  45. package/dist/components/panels/ThumbnailsPanel.js.map +1 -0
  46. package/dist/components/panels/index.d.ts +7 -0
  47. package/dist/components/panels/index.d.ts.map +1 -0
  48. package/dist/components/panels/index.js +4 -0
  49. package/dist/components/panels/index.js.map +1 -0
  50. package/dist/constants.d.ts +25 -0
  51. package/dist/constants.d.ts.map +1 -0
  52. package/dist/constants.js +46 -0
  53. package/dist/constants.js.map +1 -0
  54. package/dist/core/NavigationController.d.ts +54 -0
  55. package/dist/core/NavigationController.d.ts.map +1 -0
  56. package/dist/core/NavigationController.js +145 -0
  57. package/dist/core/NavigationController.js.map +1 -0
  58. package/dist/core/PerfTimer.d.ts +12 -0
  59. package/dist/core/PerfTimer.d.ts.map +1 -0
  60. package/dist/core/PerfTimer.js +32 -0
  61. package/dist/core/PerfTimer.js.map +1 -0
  62. package/dist/core/ViewerState.d.ts +108 -0
  63. package/dist/core/ViewerState.d.ts.map +1 -0
  64. package/dist/core/ViewerState.js +179 -0
  65. package/dist/core/ViewerState.js.map +1 -0
  66. package/dist/core/constants.d.ts +24 -0
  67. package/dist/core/constants.d.ts.map +1 -0
  68. package/dist/core/constants.js +42 -0
  69. package/dist/core/constants.js.map +1 -0
  70. package/dist/core/index.d.ts +8 -0
  71. package/dist/core/index.d.ts.map +1 -0
  72. package/dist/core/index.js +11 -0
  73. package/dist/core/index.js.map +1 -0
  74. package/dist/core/types.d.ts +573 -0
  75. package/dist/core/types.d.ts.map +1 -0
  76. package/dist/core/types.js +5 -0
  77. package/dist/core/types.js.map +1 -0
  78. package/dist/icons/icons.d.ts +41 -0
  79. package/dist/icons/icons.d.ts.map +1 -0
  80. package/dist/icons/icons.js +51 -0
  81. package/dist/icons/icons.js.map +1 -0
  82. package/dist/icons/index.d.ts +3 -0
  83. package/dist/icons/index.d.ts.map +1 -0
  84. package/dist/icons/index.js +2 -0
  85. package/dist/icons/index.js.map +1 -0
  86. package/dist/index.d.ts +7 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +6 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/layout/BandManager.d.ts +87 -0
  91. package/dist/layout/BandManager.d.ts.map +1 -0
  92. package/dist/layout/BandManager.js +185 -0
  93. package/dist/layout/BandManager.js.map +1 -0
  94. package/dist/layout/LayoutCalculator.d.ts +42 -0
  95. package/dist/layout/LayoutCalculator.d.ts.map +1 -0
  96. package/dist/layout/LayoutCalculator.js +180 -0
  97. package/dist/layout/LayoutCalculator.js.map +1 -0
  98. package/dist/layout/LayoutState.d.ts +46 -0
  99. package/dist/layout/LayoutState.d.ts.map +1 -0
  100. package/dist/layout/LayoutState.js +109 -0
  101. package/dist/layout/LayoutState.js.map +1 -0
  102. package/dist/layout/TransitionCoordinator.d.ts +11 -0
  103. package/dist/layout/TransitionCoordinator.d.ts.map +1 -0
  104. package/dist/layout/TransitionCoordinator.js +22 -0
  105. package/dist/layout/TransitionCoordinator.js.map +1 -0
  106. package/dist/layout/index.d.ts +7 -0
  107. package/dist/layout/index.d.ts.map +1 -0
  108. package/dist/layout/index.js +4 -0
  109. package/dist/layout/index.js.map +1 -0
  110. package/dist/rendering/BandManager.d.ts +87 -0
  111. package/dist/rendering/BandManager.d.ts.map +1 -0
  112. package/dist/rendering/BandManager.js +185 -0
  113. package/dist/rendering/BandManager.js.map +1 -0
  114. package/dist/rendering/PageCache.d.ts +75 -0
  115. package/dist/rendering/PageCache.d.ts.map +1 -0
  116. package/dist/rendering/PageCache.js +122 -0
  117. package/dist/rendering/PageCache.js.map +1 -0
  118. package/dist/rendering/RenderQueue.d.ts +75 -0
  119. package/dist/rendering/RenderQueue.d.ts.map +1 -0
  120. package/dist/rendering/RenderQueue.js +105 -0
  121. package/dist/rendering/RenderQueue.js.map +1 -0
  122. package/dist/rendering/ThumbnailQueue.d.ts +57 -0
  123. package/dist/rendering/ThumbnailQueue.d.ts.map +1 -0
  124. package/dist/rendering/ThumbnailQueue.js +85 -0
  125. package/dist/rendering/ThumbnailQueue.js.map +1 -0
  126. package/dist/rendering/index.d.ts +13 -0
  127. package/dist/rendering/index.d.ts.map +1 -0
  128. package/dist/rendering/index.js +10 -0
  129. package/dist/rendering/index.js.map +1 -0
  130. package/dist/rendering/types.d.ts +72 -0
  131. package/dist/rendering/types.d.ts.map +1 -0
  132. package/dist/rendering/types.js +5 -0
  133. package/dist/rendering/types.js.map +1 -0
  134. package/dist/styles/index.d.ts +6 -0
  135. package/dist/styles/index.d.ts.map +1 -0
  136. package/dist/styles/index.js +1221 -0
  137. package/dist/styles/index.js.map +1 -0
  138. package/dist/types.d.ts +6 -0
  139. package/dist/types.d.ts.map +1 -0
  140. package/dist/types.js +6 -0
  141. package/dist/types.js.map +1 -0
  142. package/dist/ui/Component.d.ts +127 -0
  143. package/dist/ui/Component.d.ts.map +1 -0
  144. package/dist/ui/Component.js +201 -0
  145. package/dist/ui/Component.js.map +1 -0
  146. package/dist/ui/annotation/AnnotationLayer.d.ts +90 -0
  147. package/dist/ui/annotation/AnnotationLayer.d.ts.map +1 -0
  148. package/dist/ui/annotation/AnnotationLayer.js +322 -0
  149. package/dist/ui/annotation/AnnotationLayer.js.map +1 -0
  150. package/dist/ui/annotation/LinkRenderer.d.ts +32 -0
  151. package/dist/ui/annotation/LinkRenderer.d.ts.map +1 -0
  152. package/dist/ui/annotation/LinkRenderer.js +74 -0
  153. package/dist/ui/annotation/LinkRenderer.js.map +1 -0
  154. package/dist/ui/annotation/MarkupRenderer.d.ts +40 -0
  155. package/dist/ui/annotation/MarkupRenderer.d.ts.map +1 -0
  156. package/dist/ui/annotation/MarkupRenderer.js +154 -0
  157. package/dist/ui/annotation/MarkupRenderer.js.map +1 -0
  158. package/dist/ui/annotation/ShapeRenderer.d.ts +46 -0
  159. package/dist/ui/annotation/ShapeRenderer.d.ts.map +1 -0
  160. package/dist/ui/annotation/ShapeRenderer.js +376 -0
  161. package/dist/ui/annotation/ShapeRenderer.js.map +1 -0
  162. package/dist/ui/annotation/TextRenderer.d.ts +36 -0
  163. package/dist/ui/annotation/TextRenderer.d.ts.map +1 -0
  164. package/dist/ui/annotation/TextRenderer.js +199 -0
  165. package/dist/ui/annotation/TextRenderer.js.map +1 -0
  166. package/dist/ui/annotation/index.d.ts +17 -0
  167. package/dist/ui/annotation/index.d.ts.map +1 -0
  168. package/dist/ui/annotation/index.js +13 -0
  169. package/dist/ui/annotation/index.js.map +1 -0
  170. package/dist/ui/annotation/utils.d.ts +40 -0
  171. package/dist/ui/annotation/utils.d.ts.map +1 -0
  172. package/dist/ui/annotation/utils.js +62 -0
  173. package/dist/ui/annotation/utils.js.map +1 -0
  174. package/dist/ui/components/CommentsContent.d.ts +35 -0
  175. package/dist/ui/components/CommentsContent.d.ts.map +1 -0
  176. package/dist/ui/components/CommentsContent.js +203 -0
  177. package/dist/ui/components/CommentsContent.js.map +1 -0
  178. package/dist/ui/components/FloatingBar.d.ts +55 -0
  179. package/dist/ui/components/FloatingBar.d.ts.map +1 -0
  180. package/dist/ui/components/FloatingBar.js +585 -0
  181. package/dist/ui/components/FloatingBar.js.map +1 -0
  182. package/dist/ui/components/Header.d.ts +29 -0
  183. package/dist/ui/components/Header.d.ts.map +1 -0
  184. package/dist/ui/components/Header.js +127 -0
  185. package/dist/ui/components/Header.js.map +1 -0
  186. package/dist/ui/components/LeftPanel.d.ts +54 -0
  187. package/dist/ui/components/LeftPanel.d.ts.map +1 -0
  188. package/dist/ui/components/LeftPanel.js +202 -0
  189. package/dist/ui/components/LeftPanel.js.map +1 -0
  190. package/dist/ui/components/OutlineContent.d.ts +34 -0
  191. package/dist/ui/components/OutlineContent.d.ts.map +1 -0
  192. package/dist/ui/components/OutlineContent.js +147 -0
  193. package/dist/ui/components/OutlineContent.js.map +1 -0
  194. package/dist/ui/components/RightPanel.d.ts +52 -0
  195. package/dist/ui/components/RightPanel.d.ts.map +1 -0
  196. package/dist/ui/components/RightPanel.js +142 -0
  197. package/dist/ui/components/RightPanel.js.map +1 -0
  198. package/dist/ui/components/Viewport.d.ts +70 -0
  199. package/dist/ui/components/Viewport.d.ts.map +1 -0
  200. package/dist/ui/components/Viewport.js +173 -0
  201. package/dist/ui/components/Viewport.js.map +1 -0
  202. package/dist/ui/components/index.d.ts +11 -0
  203. package/dist/ui/components/index.d.ts.map +1 -0
  204. package/dist/ui/components/index.js +10 -0
  205. package/dist/ui/components/index.js.map +1 -0
  206. package/dist/ui/framework/component.d.ts +68 -0
  207. package/dist/ui/framework/component.d.ts.map +1 -0
  208. package/dist/ui/framework/component.js +87 -0
  209. package/dist/ui/framework/component.js.map +1 -0
  210. package/dist/ui/framework/dom.d.ts +19 -0
  211. package/dist/ui/framework/dom.d.ts.map +1 -0
  212. package/dist/ui/framework/dom.js +29 -0
  213. package/dist/ui/framework/dom.js.map +1 -0
  214. package/dist/ui/framework/events.d.ts +18 -0
  215. package/dist/ui/framework/events.d.ts.map +1 -0
  216. package/dist/ui/framework/events.js +23 -0
  217. package/dist/ui/framework/events.js.map +1 -0
  218. package/dist/ui/framework/index.d.ts +15 -0
  219. package/dist/ui/framework/index.d.ts.map +1 -0
  220. package/dist/ui/framework/index.js +15 -0
  221. package/dist/ui/framework/index.js.map +1 -0
  222. package/dist/ui/framework/selectors.d.ts +51 -0
  223. package/dist/ui/framework/selectors.d.ts.map +1 -0
  224. package/dist/ui/framework/selectors.js +30 -0
  225. package/dist/ui/framework/selectors.js.map +1 -0
  226. package/dist/ui/framework/store.d.ts +37 -0
  227. package/dist/ui/framework/store.d.ts.map +1 -0
  228. package/dist/ui/framework/store.js +54 -0
  229. package/dist/ui/framework/store.js.map +1 -0
  230. package/dist/ui/icons/icons.d.ts +43 -0
  231. package/dist/ui/icons/icons.d.ts.map +1 -0
  232. package/dist/ui/icons/icons.js +46 -0
  233. package/dist/ui/icons/icons.js.map +1 -0
  234. package/dist/ui/icons/index.d.ts +11 -0
  235. package/dist/ui/icons/index.d.ts.map +1 -0
  236. package/dist/ui/icons/index.js +18 -0
  237. package/dist/ui/icons/index.js.map +1 -0
  238. package/dist/ui/index.d.ts +7 -0
  239. package/dist/ui/index.d.ts.map +1 -0
  240. package/dist/ui/index.js +9 -0
  241. package/dist/ui/index.js.map +1 -0
  242. package/dist/ui/styles/base.css.d.ts +5 -0
  243. package/dist/ui/styles/base.css.d.ts.map +1 -0
  244. package/dist/ui/styles/base.css.js +49 -0
  245. package/dist/ui/styles/base.css.js.map +1 -0
  246. package/dist/ui/styles/floating-bar.css.d.ts +5 -0
  247. package/dist/ui/styles/floating-bar.css.d.ts.map +1 -0
  248. package/dist/ui/styles/floating-bar.css.js +417 -0
  249. package/dist/ui/styles/floating-bar.css.js.map +1 -0
  250. package/dist/ui/styles/header.css.d.ts +5 -0
  251. package/dist/ui/styles/header.css.d.ts.map +1 -0
  252. package/dist/ui/styles/header.css.js +49 -0
  253. package/dist/ui/styles/header.css.js.map +1 -0
  254. package/dist/ui/styles/index.d.ts +21 -0
  255. package/dist/ui/styles/index.d.ts.map +1 -0
  256. package/dist/ui/styles/index.js +48 -0
  257. package/dist/ui/styles/index.js.map +1 -0
  258. package/dist/ui/styles/panels.css.d.ts +5 -0
  259. package/dist/ui/styles/panels.css.d.ts.map +1 -0
  260. package/dist/ui/styles/panels.css.js +446 -0
  261. package/dist/ui/styles/panels.css.js.map +1 -0
  262. package/dist/ui/styles/responsive.css.d.ts +5 -0
  263. package/dist/ui/styles/responsive.css.d.ts.map +1 -0
  264. package/dist/ui/styles/responsive.css.js +201 -0
  265. package/dist/ui/styles/responsive.css.js.map +1 -0
  266. package/dist/ui/styles/variables.css.d.ts +6 -0
  267. package/dist/ui/styles/variables.css.d.ts.map +1 -0
  268. package/dist/ui/styles/variables.css.js +75 -0
  269. package/dist/ui/styles/variables.css.js.map +1 -0
  270. package/dist/ui/styles/viewport.css.d.ts +5 -0
  271. package/dist/ui/styles/viewport.css.d.ts.map +1 -0
  272. package/dist/ui/styles/viewport.css.js +87 -0
  273. package/dist/ui/styles/viewport.css.js.map +1 -0
  274. package/dist/ui/viewer/actions.d.ts +103 -0
  275. package/dist/ui/viewer/actions.d.ts.map +1 -0
  276. package/dist/ui/viewer/actions.js +2 -0
  277. package/dist/ui/viewer/actions.js.map +1 -0
  278. package/dist/ui/viewer/annotation/LinkRenderer.d.ts +9 -0
  279. package/dist/ui/viewer/annotation/LinkRenderer.d.ts.map +1 -0
  280. package/dist/ui/viewer/annotation/LinkRenderer.js +17 -0
  281. package/dist/ui/viewer/annotation/LinkRenderer.js.map +1 -0
  282. package/dist/ui/viewer/annotation/MarkupRenderer.d.ts +21 -0
  283. package/dist/ui/viewer/annotation/MarkupRenderer.d.ts.map +1 -0
  284. package/dist/ui/viewer/annotation/MarkupRenderer.js +138 -0
  285. package/dist/ui/viewer/annotation/MarkupRenderer.js.map +1 -0
  286. package/dist/ui/viewer/annotation/ShapeRenderer.d.ts +33 -0
  287. package/dist/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -0
  288. package/dist/ui/viewer/annotation/ShapeRenderer.js +378 -0
  289. package/dist/ui/viewer/annotation/ShapeRenderer.js.map +1 -0
  290. package/dist/ui/viewer/annotation/TextRenderer.d.ts +23 -0
  291. package/dist/ui/viewer/annotation/TextRenderer.d.ts.map +1 -0
  292. package/dist/ui/viewer/annotation/TextRenderer.js +196 -0
  293. package/dist/ui/viewer/annotation/TextRenderer.js.map +1 -0
  294. package/dist/ui/viewer/annotation/index.d.ts +8 -0
  295. package/dist/ui/viewer/annotation/index.d.ts.map +1 -0
  296. package/dist/ui/viewer/annotation/index.js +8 -0
  297. package/dist/ui/viewer/annotation/index.js.map +1 -0
  298. package/dist/ui/viewer/annotation/render.d.ts +24 -0
  299. package/dist/ui/viewer/annotation/render.d.ts.map +1 -0
  300. package/dist/ui/viewer/annotation/render.js +184 -0
  301. package/dist/ui/viewer/annotation/render.js.map +1 -0
  302. package/dist/ui/viewer/annotation/types.d.ts +239 -0
  303. package/dist/ui/viewer/annotation/types.d.ts.map +1 -0
  304. package/dist/ui/viewer/annotation/types.js +7 -0
  305. package/dist/ui/viewer/annotation/types.js.map +1 -0
  306. package/dist/ui/viewer/annotation/utils.d.ts +37 -0
  307. package/dist/ui/viewer/annotation/utils.d.ts.map +1 -0
  308. package/dist/ui/viewer/annotation/utils.js +82 -0
  309. package/dist/ui/viewer/annotation/utils.js.map +1 -0
  310. package/dist/ui/viewer/components/AnnotationPanel.d.ts +19 -0
  311. package/dist/ui/viewer/components/AnnotationPanel.d.ts.map +1 -0
  312. package/dist/ui/viewer/components/AnnotationPanel.js +284 -0
  313. package/dist/ui/viewer/components/AnnotationPanel.js.map +1 -0
  314. package/dist/ui/viewer/components/FloatingToolbar.d.ts +9 -0
  315. package/dist/ui/viewer/components/FloatingToolbar.d.ts.map +1 -0
  316. package/dist/ui/viewer/components/FloatingToolbar.js +305 -0
  317. package/dist/ui/viewer/components/FloatingToolbar.js.map +1 -0
  318. package/dist/ui/viewer/components/LeftPanel.d.ts +10 -0
  319. package/dist/ui/viewer/components/LeftPanel.d.ts.map +1 -0
  320. package/dist/ui/viewer/components/LeftPanel.js +165 -0
  321. package/dist/ui/viewer/components/LeftPanel.js.map +1 -0
  322. package/dist/ui/viewer/components/OutlinePanel.d.ts +10 -0
  323. package/dist/ui/viewer/components/OutlinePanel.d.ts.map +1 -0
  324. package/dist/ui/viewer/components/OutlinePanel.js +169 -0
  325. package/dist/ui/viewer/components/OutlinePanel.js.map +1 -0
  326. package/dist/ui/viewer/components/RightPanel.d.ts +9 -0
  327. package/dist/ui/viewer/components/RightPanel.d.ts.map +1 -0
  328. package/dist/ui/viewer/components/RightPanel.js +102 -0
  329. package/dist/ui/viewer/components/RightPanel.js.map +1 -0
  330. package/dist/ui/viewer/components/Spread.d.ts +41 -0
  331. package/dist/ui/viewer/components/Spread.d.ts.map +1 -0
  332. package/dist/ui/viewer/components/Spread.js +278 -0
  333. package/dist/ui/viewer/components/Spread.js.map +1 -0
  334. package/dist/ui/viewer/components/ThumbnailPanel.d.ts +11 -0
  335. package/dist/ui/viewer/components/ThumbnailPanel.d.ts.map +1 -0
  336. package/dist/ui/viewer/components/ThumbnailPanel.js +206 -0
  337. package/dist/ui/viewer/components/ThumbnailPanel.js.map +1 -0
  338. package/dist/ui/viewer/components/Toolbar.d.ts +9 -0
  339. package/dist/ui/viewer/components/Toolbar.d.ts.map +1 -0
  340. package/dist/ui/viewer/components/Toolbar.js +93 -0
  341. package/dist/ui/viewer/components/Toolbar.js.map +1 -0
  342. package/dist/ui/viewer/components/ViewModeMenu.d.ts +9 -0
  343. package/dist/ui/viewer/components/ViewModeMenu.d.ts.map +1 -0
  344. package/dist/ui/viewer/components/ViewModeMenu.js +169 -0
  345. package/dist/ui/viewer/components/ViewModeMenu.js.map +1 -0
  346. package/dist/ui/viewer/components/Viewport.d.ts +10 -0
  347. package/dist/ui/viewer/components/Viewport.d.ts.map +1 -0
  348. package/dist/ui/viewer/components/Viewport.js +793 -0
  349. package/dist/ui/viewer/components/Viewport.js.map +1 -0
  350. package/dist/ui/viewer/effects.d.ts +9 -0
  351. package/dist/ui/viewer/effects.d.ts.map +1 -0
  352. package/dist/ui/viewer/effects.js +179 -0
  353. package/dist/ui/viewer/effects.js.map +1 -0
  354. package/dist/ui/viewer/icons.d.ts +32 -0
  355. package/dist/ui/viewer/icons.d.ts.map +1 -0
  356. package/dist/ui/viewer/icons.js +44 -0
  357. package/dist/ui/viewer/icons.js.map +1 -0
  358. package/dist/ui/viewer/index.d.ts +6 -0
  359. package/dist/ui/viewer/index.d.ts.map +1 -0
  360. package/dist/ui/viewer/index.js +6 -0
  361. package/dist/ui/viewer/index.js.map +1 -0
  362. package/dist/ui/viewer/layout/index.d.ts +3 -0
  363. package/dist/ui/viewer/layout/index.d.ts.map +1 -0
  364. package/dist/ui/viewer/layout/index.js +3 -0
  365. package/dist/ui/viewer/layout/index.js.map +1 -0
  366. package/dist/ui/viewer/layout/pixelAlign.d.ts +7 -0
  367. package/dist/ui/viewer/layout/pixelAlign.d.ts.map +1 -0
  368. package/dist/ui/viewer/layout/pixelAlign.js +22 -0
  369. package/dist/ui/viewer/layout/pixelAlign.js.map +1 -0
  370. package/dist/ui/viewer/layout/spreadLayout.d.ts +93 -0
  371. package/dist/ui/viewer/layout/spreadLayout.d.ts.map +1 -0
  372. package/dist/ui/viewer/layout/spreadLayout.js +303 -0
  373. package/dist/ui/viewer/layout/spreadLayout.js.map +1 -0
  374. package/dist/ui/viewer/navigation.d.ts +80 -0
  375. package/dist/ui/viewer/navigation.d.ts.map +1 -0
  376. package/dist/ui/viewer/navigation.js +59 -0
  377. package/dist/ui/viewer/navigation.js.map +1 -0
  378. package/dist/ui/viewer/reducer.d.ts +4 -0
  379. package/dist/ui/viewer/reducer.d.ts.map +1 -0
  380. package/dist/ui/viewer/reducer.js +229 -0
  381. package/dist/ui/viewer/reducer.js.map +1 -0
  382. package/dist/ui/viewer/rendering/RenderManager.d.ts +76 -0
  383. package/dist/ui/viewer/rendering/RenderManager.d.ts.map +1 -0
  384. package/dist/ui/viewer/rendering/RenderManager.js +236 -0
  385. package/dist/ui/viewer/rendering/RenderManager.js.map +1 -0
  386. package/dist/ui/viewer/shell.d.ts +29 -0
  387. package/dist/ui/viewer/shell.d.ts.map +1 -0
  388. package/dist/ui/viewer/shell.js +70 -0
  389. package/dist/ui/viewer/shell.js.map +1 -0
  390. package/dist/ui/viewer/state.d.ts +72 -0
  391. package/dist/ui/viewer/state.d.ts.map +1 -0
  392. package/dist/ui/viewer/state.js +47 -0
  393. package/dist/ui/viewer/state.js.map +1 -0
  394. package/dist/view/LayoutCalculator.d.ts +42 -0
  395. package/dist/view/LayoutCalculator.d.ts.map +1 -0
  396. package/dist/view/LayoutCalculator.js +180 -0
  397. package/dist/view/LayoutCalculator.js.map +1 -0
  398. package/dist/view/TransitionCoordinator.d.ts +11 -0
  399. package/dist/view/TransitionCoordinator.d.ts.map +1 -0
  400. package/dist/view/TransitionCoordinator.js +22 -0
  401. package/dist/view/TransitionCoordinator.js.map +1 -0
  402. package/dist/view/ViewState.d.ts +46 -0
  403. package/dist/view/ViewState.d.ts.map +1 -0
  404. package/dist/view/ViewState.js +109 -0
  405. package/dist/view/ViewState.js.map +1 -0
  406. package/dist/view/index.d.ts +7 -0
  407. package/dist/view/index.d.ts.map +1 -0
  408. package/dist/view/index.js +4 -0
  409. package/dist/view/index.js.map +1 -0
  410. package/dist/wasm/udoc.d.ts +202 -0
  411. package/dist/wasm/udoc.js +929 -0
  412. package/dist/wasm/udoc_bg.wasm +0 -0
  413. package/dist/wasm/udoc_bg.wasm.d.ts +28 -0
  414. package/dist/worker/WorkerClient.d.ts +103 -0
  415. package/dist/worker/WorkerClient.d.ts.map +1 -0
  416. package/dist/worker/WorkerClient.js +182 -0
  417. package/dist/worker/WorkerClient.js.map +1 -0
  418. package/dist/worker/index.d.ts +4 -0
  419. package/dist/worker/index.d.ts.map +1 -0
  420. package/dist/worker/index.js +2 -0
  421. package/dist/worker/index.js.map +1 -0
  422. package/dist/worker/types.d.ts +81 -0
  423. package/dist/worker/types.d.ts.map +1 -0
  424. package/dist/worker/types.js +6 -0
  425. package/dist/worker/types.js.map +1 -0
  426. package/dist/worker/worker.d.ts +191 -0
  427. package/dist/worker/worker.d.ts.map +1 -0
  428. package/dist/worker/worker.js +127 -0
  429. package/dist/worker/worker.js.map +1 -0
  430. package/dist/worker.d.ts +2 -0
  431. package/dist/worker.d.ts.map +1 -0
  432. package/dist/worker.js +205 -0
  433. package/dist/worker.js.map +1 -0
  434. package/package.json +32 -0
@@ -0,0 +1,196 @@
1
+ /**
2
+ * UDocViewer - Document viewer component.
3
+ *
4
+ * Binds to a loaded document and optionally provides UI.
5
+ * Created via `client.createViewer()`.
6
+ */
7
+ import type { WorkerClient, PageInfo } from "./worker/index.js";
8
+ import type { ViewerOptions } from "./UDocClient.js";
9
+ import type { RenderManager } from "./ui/viewer/rendering/RenderManager.js";
10
+ import type { Destination, OutlineItem } from "./ui/viewer/navigation.js";
11
+ import type { Annotation } from "./ui/viewer/annotation/index.js";
12
+ export type { Annotation } from "./ui/viewer/annotation/index.js";
13
+ /**
14
+ * Options for rendering a page.
15
+ */
16
+ export interface RenderOptions {
17
+ /**
18
+ * Scale factor for rendering.
19
+ * 1 = 72 DPI (1 point = 1 pixel)
20
+ * 2 = 144 DPI (retina)
21
+ * @default 1
22
+ */
23
+ scale?: number;
24
+ /**
25
+ * Output format.
26
+ * @default 'image-data'
27
+ */
28
+ format?: "image-data" | "blob" | "data-url";
29
+ /**
30
+ * Image type when format is 'blob' or 'data-url'.
31
+ * @default 'image/png'
32
+ */
33
+ imageType?: "image/png" | "image/jpeg";
34
+ /**
35
+ * JPEG quality (0-1) when imageType is 'image/jpeg'.
36
+ * @default 0.92
37
+ */
38
+ quality?: number;
39
+ /**
40
+ * Include annotations in render.
41
+ * @default true
42
+ */
43
+ annotations?: boolean;
44
+ }
45
+ /**
46
+ * Rendered page result.
47
+ */
48
+ export type RenderedPage = ImageData | Blob | string;
49
+ /**
50
+ * Document metadata.
51
+ */
52
+ export interface DocumentMetadata {
53
+ title?: string;
54
+ author?: string;
55
+ subject?: string;
56
+ keywords?: string;
57
+ creator?: string;
58
+ producer?: string;
59
+ creationDate?: Date;
60
+ modificationDate?: Date;
61
+ }
62
+ /**
63
+ * Re-export navigation types for public API.
64
+ */
65
+ export type { Destination, DestinationDisplay, OutlineItem } from "./ui/viewer/navigation.js";
66
+ /**
67
+ * Event map for viewer events.
68
+ */
69
+ export interface ViewerEventMap {
70
+ "document:load": {
71
+ pageCount: number;
72
+ };
73
+ "document:close": Record<string, never>;
74
+ error: {
75
+ error: Error;
76
+ phase: "fetch" | "parse" | "render";
77
+ };
78
+ }
79
+ type EventHandler<K extends keyof ViewerEventMap> = (payload: ViewerEventMap[K]) => void;
80
+ /**
81
+ * Document viewer component.
82
+ *
83
+ * Supports both UI mode (with container) and headless mode (without container).
84
+ * Use `client.createViewer()` to create instances.
85
+ */
86
+ export declare class UDocViewer {
87
+ private workerClient;
88
+ private renderManager;
89
+ private container;
90
+ private uiShell;
91
+ private documentId;
92
+ private _pageCount;
93
+ private _pageInfo;
94
+ private destroyed;
95
+ private eventHandlers;
96
+ /**
97
+ * @internal
98
+ * Use `client.createViewer()` instead.
99
+ */
100
+ constructor(workerClient: WorkerClient, renderManager: RenderManager, options?: ViewerOptions);
101
+ private buildStateOverrides;
102
+ /**
103
+ * Load a document.
104
+ *
105
+ * @param source - URL string, File object, or raw bytes
106
+ */
107
+ load(source: string | File | Uint8Array): Promise<void>;
108
+ /**
109
+ * Close the current document.
110
+ * Viewer returns to empty state.
111
+ */
112
+ close(): void;
113
+ /**
114
+ * Whether a document is currently loaded.
115
+ */
116
+ get isLoaded(): boolean;
117
+ /**
118
+ * Total number of pages.
119
+ * Returns 0 if no document is loaded.
120
+ */
121
+ get pageCount(): number;
122
+ /**
123
+ * Document metadata (title, author, etc.).
124
+ * Returns null if no document is loaded.
125
+ */
126
+ get metadata(): DocumentMetadata | null;
127
+ /**
128
+ * Get document outline (table of contents / bookmarks).
129
+ */
130
+ getOutline(): Promise<OutlineItem[]>;
131
+ /**
132
+ * Get page dimensions in points (1 point = 1/72 inch).
133
+ * @param page - Page index (0-based)
134
+ */
135
+ getPageInfo(page: number): PageInfo;
136
+ /**
137
+ * Get annotations on a specific page.
138
+ * @param page - Page index (0-based)
139
+ */
140
+ getPageAnnotations(page: number): Promise<Annotation[]>;
141
+ /**
142
+ * Get the current page number (1-based).
143
+ */
144
+ get currentPage(): number;
145
+ /**
146
+ * Navigate to a specific page.
147
+ * @param page - Page number (1-based)
148
+ */
149
+ goToPage(page: number): void;
150
+ /**
151
+ * Navigate to a destination (page + position + zoom).
152
+ * @param destination - Full destination object with page index and display mode
153
+ */
154
+ goToDestination(destination: Destination): void;
155
+ /**
156
+ * Render a page to an image.
157
+ *
158
+ * @param page - Page index (0-based)
159
+ * @param options - Render options (scale, format, etc.)
160
+ */
161
+ renderPage(page: number, options?: RenderOptions): Promise<RenderedPage>;
162
+ /**
163
+ * Export document as bytes.
164
+ */
165
+ toBytes(): Promise<Uint8Array>;
166
+ /**
167
+ * Download document to user's device.
168
+ * @param filename - Filename for download
169
+ */
170
+ download(filename?: string): Promise<void>;
171
+ /**
172
+ * Subscribe to an event.
173
+ * @returns Unsubscribe function
174
+ */
175
+ on<K extends keyof ViewerEventMap>(event: K, handler: EventHandler<K>): () => void;
176
+ /**
177
+ * Unsubscribe from an event.
178
+ */
179
+ off<K extends keyof ViewerEventMap>(event: K, handler: EventHandler<K>): void;
180
+ /**
181
+ * Destroy the viewer and release resources.
182
+ */
183
+ destroy(): void;
184
+ /**
185
+ * Get the document ID (for internal use).
186
+ * @internal
187
+ */
188
+ getDocumentId(): string | null;
189
+ private resolveContainer;
190
+ private resolveSource;
191
+ private emit;
192
+ private createEngineAdapter;
193
+ private ensureNotDestroyed;
194
+ private ensureLoaded;
195
+ }
196
+ //# sourceMappingURL=UDocViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UDocViewer.d.ts","sourceRoot":"","sources":["../src/UDocViewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,427 @@
1
+ /**
2
+ * UDocViewer - Document viewer component.
3
+ *
4
+ * Binds to a loaded document and optionally provides UI.
5
+ * Created via `client.createViewer()`.
6
+ */
7
+ import { mountViewerShell } from "./ui/viewer/shell.js";
8
+ /**
9
+ * Document viewer component.
10
+ *
11
+ * Supports both UI mode (with container) and headless mode (without container).
12
+ * Use `client.createViewer()` to create instances.
13
+ */
14
+ export class UDocViewer {
15
+ workerClient;
16
+ renderManager;
17
+ container = null;
18
+ uiShell = null;
19
+ documentId = null;
20
+ _pageCount = 0;
21
+ _pageInfo = [];
22
+ destroyed = false;
23
+ eventHandlers = new Map();
24
+ /**
25
+ * @internal
26
+ * Use `client.createViewer()` instead.
27
+ */
28
+ constructor(workerClient, renderManager, options = {}) {
29
+ this.workerClient = workerClient;
30
+ this.renderManager = renderManager;
31
+ if (options.container) {
32
+ this.container = this.resolveContainer(options.container);
33
+ const overrides = this.buildStateOverrides(options);
34
+ this.uiShell = mountViewerShell(this.container, this.createEngineAdapter(), this.renderManager, overrides);
35
+ }
36
+ }
37
+ buildStateOverrides(options) {
38
+ const overrides = {};
39
+ if (options.scrollMode !== undefined)
40
+ overrides.scrollMode = options.scrollMode;
41
+ if (options.layoutMode !== undefined)
42
+ overrides.layoutMode = options.layoutMode;
43
+ if (options.zoomMode !== undefined)
44
+ overrides.zoomMode = options.zoomMode;
45
+ if (options.zoom !== undefined)
46
+ overrides.zoom = options.zoom;
47
+ if (options.zoomSteps !== undefined)
48
+ overrides.zoomSteps = options.zoomSteps;
49
+ if (options.dpi !== undefined)
50
+ overrides.dpi = options.dpi;
51
+ if (options.pageSpacing !== undefined)
52
+ overrides.pageSpacing = options.pageSpacing;
53
+ if (options.spreadSpacing !== undefined)
54
+ overrides.spreadSpacing = options.spreadSpacing;
55
+ if (options.activePanel !== undefined)
56
+ overrides.activePanel = options.activePanel;
57
+ return overrides;
58
+ }
59
+ // ===========================================================================
60
+ // Document Loading
61
+ // ===========================================================================
62
+ /**
63
+ * Load a document.
64
+ *
65
+ * @param source - URL string, File object, or raw bytes
66
+ */
67
+ async load(source) {
68
+ this.ensureNotDestroyed();
69
+ // Close any existing document
70
+ if (this.documentId) {
71
+ this.close();
72
+ }
73
+ try {
74
+ const bytes = await this.resolveSource(source);
75
+ this.documentId = await this.workerClient.loadPdf(bytes);
76
+ // Optimization: fetch page 1 info and page count in parallel,
77
+ // so render can start as soon as possible
78
+ const [firstPageInfo, pageCount] = await Promise.all([
79
+ this.workerClient.getPageInfo(this.documentId, 0),
80
+ this.workerClient.getPageCount(this.documentId)
81
+ ]);
82
+ this._pageCount = pageCount;
83
+ // Initialize with first page, placeholders for rest
84
+ this._pageInfo = new Array(pageCount);
85
+ this._pageInfo[0] = firstPageInfo;
86
+ // Dispatch immediately to start first page render
87
+ if (this.uiShell) {
88
+ this.uiShell.dispatch({
89
+ type: "SET_DOC",
90
+ doc: { id: this.documentId },
91
+ pageCount: this._pageCount,
92
+ pageInfos: this._pageInfo
93
+ });
94
+ }
95
+ this.emit("document:load", { pageCount: this._pageCount });
96
+ // Fetch remaining page info in background (non-blocking)
97
+ if (pageCount > 1) {
98
+ this.workerClient.getAllPageInfo(this.documentId).then(allInfo => {
99
+ this._pageInfo = allInfo;
100
+ // Update store with complete page sizes
101
+ if (this.uiShell && this.documentId) {
102
+ this.uiShell.dispatch({
103
+ type: "UPDATE_PAGE_SIZES",
104
+ pageInfos: allInfo
105
+ });
106
+ }
107
+ }).catch(err => {
108
+ console.error("Failed to load remaining page info:", err);
109
+ });
110
+ }
111
+ }
112
+ catch (error) {
113
+ const phase = error instanceof TypeError ? "fetch" : "parse";
114
+ this.emit("error", { error: error, phase });
115
+ throw error;
116
+ }
117
+ }
118
+ /**
119
+ * Close the current document.
120
+ * Viewer returns to empty state.
121
+ */
122
+ close() {
123
+ if (this.documentId) {
124
+ const docId = this.documentId;
125
+ // Clean up RenderManager first (cancel pending, clear cache)
126
+ this.renderManager.cancel(docId);
127
+ this.renderManager.invalidate(docId);
128
+ // Unload from WASM worker
129
+ this.workerClient.unloadPdf(docId).catch(() => {
130
+ // Ignore errors during close
131
+ });
132
+ this.documentId = null;
133
+ this._pageCount = 0;
134
+ this._pageInfo = [];
135
+ if (this.uiShell) {
136
+ this.uiShell.dispatch({ type: "CLEAR_DOC" });
137
+ }
138
+ this.emit("document:close", {});
139
+ }
140
+ }
141
+ /**
142
+ * Whether a document is currently loaded.
143
+ */
144
+ get isLoaded() {
145
+ return this.documentId !== null;
146
+ }
147
+ // ===========================================================================
148
+ // Document Information
149
+ // ===========================================================================
150
+ /**
151
+ * Total number of pages.
152
+ * Returns 0 if no document is loaded.
153
+ */
154
+ get pageCount() {
155
+ return this._pageCount;
156
+ }
157
+ /**
158
+ * Document metadata (title, author, etc.).
159
+ * Returns null if no document is loaded.
160
+ */
161
+ get metadata() {
162
+ // TODO: Implement metadata retrieval from WASM
163
+ if (!this.documentId)
164
+ return null;
165
+ return {};
166
+ }
167
+ /**
168
+ * Get document outline (table of contents / bookmarks).
169
+ */
170
+ async getOutline() {
171
+ this.ensureLoaded();
172
+ const raw = await this.workerClient.getOutline(this.documentId);
173
+ return raw;
174
+ }
175
+ /**
176
+ * Get page dimensions in points (1 point = 1/72 inch).
177
+ * @param page - Page index (0-based)
178
+ */
179
+ getPageInfo(page) {
180
+ this.ensureLoaded();
181
+ if (page < 0 || page >= this._pageInfo.length) {
182
+ throw new Error(`Page index ${page} out of bounds (0-${this._pageInfo.length - 1})`);
183
+ }
184
+ return this._pageInfo[page];
185
+ }
186
+ /**
187
+ * Get annotations on a specific page.
188
+ * @param page - Page index (0-based)
189
+ */
190
+ async getPageAnnotations(page) {
191
+ this.ensureLoaded();
192
+ const raw = await this.workerClient.getPageAnnotations(this.documentId, page);
193
+ return raw;
194
+ }
195
+ // ===========================================================================
196
+ // Navigation
197
+ // ===========================================================================
198
+ /**
199
+ * Get the current page number (1-based).
200
+ */
201
+ get currentPage() {
202
+ if (this.uiShell) {
203
+ return this.uiShell.getState().page;
204
+ }
205
+ return 1;
206
+ }
207
+ /**
208
+ * Navigate to a specific page.
209
+ * @param page - Page number (1-based)
210
+ */
211
+ goToPage(page) {
212
+ this.ensureNotDestroyed();
213
+ if (!this.uiShell) {
214
+ throw new Error("Navigation requires UI mode (container must be provided)");
215
+ }
216
+ this.uiShell.dispatch({ type: "NAVIGATE_TO_PAGE", page });
217
+ }
218
+ /**
219
+ * Navigate to a destination (page + position + zoom).
220
+ * @param destination - Full destination object with page index and display mode
221
+ */
222
+ goToDestination(destination) {
223
+ this.ensureNotDestroyed();
224
+ if (!this.uiShell) {
225
+ throw new Error("Navigation requires UI mode (container must be provided)");
226
+ }
227
+ this.uiShell.dispatch({ type: "NAVIGATE_TO_DESTINATION", destination });
228
+ }
229
+ // ===========================================================================
230
+ // Page Rendering
231
+ // ===========================================================================
232
+ /**
233
+ * Render a page to an image.
234
+ *
235
+ * @param page - Page index (0-based)
236
+ * @param options - Render options (scale, format, etc.)
237
+ */
238
+ async renderPage(page, options = {}) {
239
+ this.ensureLoaded();
240
+ const scale = options.scale ?? 1;
241
+ const format = options.format ?? "image-data";
242
+ // Get page size and calculate render dimensions
243
+ const pageSize = this._pageInfo[page] ?? { width: 0, height: 0 };
244
+ const width = Math.round(pageSize.width * scale);
245
+ const height = Math.round(pageSize.height * scale);
246
+ // Render to RGBA
247
+ const rendered = await this.workerClient.renderPage(this.documentId, page, width, height);
248
+ // Convert RGBA to the requested format
249
+ // Copy to a new ArrayBuffer to ensure correct type for ImageData
250
+ const buffer = new ArrayBuffer(rendered.rgba.byteLength);
251
+ new Uint8Array(buffer).set(rendered.rgba);
252
+ const imageData = new ImageData(new Uint8ClampedArray(buffer), rendered.width, rendered.height);
253
+ if (format === "image-data") {
254
+ return imageData;
255
+ }
256
+ // Convert to blob or data URL using HTMLCanvasElement
257
+ const canvas = document.createElement("canvas");
258
+ canvas.width = rendered.width;
259
+ canvas.height = rendered.height;
260
+ const ctx = canvas.getContext("2d");
261
+ ctx.putImageData(imageData, 0, 0);
262
+ const imageType = options.imageType ?? "image/png";
263
+ const quality = options.quality ?? 0.92;
264
+ if (format === "blob") {
265
+ return new Promise((resolve, reject) => {
266
+ canvas.toBlob((blob) => {
267
+ if (blob)
268
+ resolve(blob);
269
+ else
270
+ reject(new Error("Failed to create blob"));
271
+ }, imageType, quality);
272
+ });
273
+ }
274
+ // data-url
275
+ return canvas.toDataURL(imageType, quality);
276
+ }
277
+ // ===========================================================================
278
+ // Export
279
+ // ===========================================================================
280
+ /**
281
+ * Export document as bytes.
282
+ */
283
+ async toBytes() {
284
+ this.ensureLoaded();
285
+ // TODO: Implement export from WASM
286
+ throw new Error("toBytes not yet implemented");
287
+ }
288
+ /**
289
+ * Download document to user's device.
290
+ * @param filename - Filename for download
291
+ */
292
+ async download(filename) {
293
+ const bytes = await this.toBytes();
294
+ const blob = new Blob([bytes.buffer], { type: "application/pdf" });
295
+ const url = URL.createObjectURL(blob);
296
+ const a = document.createElement("a");
297
+ a.href = url;
298
+ a.download = filename ?? "document.pdf";
299
+ a.click();
300
+ URL.revokeObjectURL(url);
301
+ }
302
+ // ===========================================================================
303
+ // Events
304
+ // ===========================================================================
305
+ /**
306
+ * Subscribe to an event.
307
+ * @returns Unsubscribe function
308
+ */
309
+ on(event, handler) {
310
+ if (!this.eventHandlers.has(event)) {
311
+ this.eventHandlers.set(event, new Set());
312
+ }
313
+ this.eventHandlers.get(event).add(handler);
314
+ return () => this.off(event, handler);
315
+ }
316
+ /**
317
+ * Unsubscribe from an event.
318
+ */
319
+ off(event, handler) {
320
+ this.eventHandlers.get(event)?.delete(handler);
321
+ }
322
+ // ===========================================================================
323
+ // Lifecycle
324
+ // ===========================================================================
325
+ /**
326
+ * Destroy the viewer and release resources.
327
+ */
328
+ destroy() {
329
+ if (this.destroyed)
330
+ return;
331
+ this.destroyed = true;
332
+ if (this.uiShell) {
333
+ this.uiShell.destroy();
334
+ this.uiShell = null;
335
+ }
336
+ this.close();
337
+ this.eventHandlers.clear();
338
+ }
339
+ // ===========================================================================
340
+ // Internal Helpers
341
+ // ===========================================================================
342
+ /**
343
+ * Get the document ID (for internal use).
344
+ * @internal
345
+ */
346
+ getDocumentId() {
347
+ return this.documentId;
348
+ }
349
+ resolveContainer(container) {
350
+ if (typeof container === "string") {
351
+ const element = document.querySelector(container);
352
+ if (!element) {
353
+ throw new Error(`Container not found: ${container}`);
354
+ }
355
+ return element;
356
+ }
357
+ return container;
358
+ }
359
+ async resolveSource(source) {
360
+ if (source instanceof Uint8Array) {
361
+ return source;
362
+ }
363
+ if (source instanceof File) {
364
+ const buffer = await source.arrayBuffer();
365
+ return new Uint8Array(buffer);
366
+ }
367
+ // URL string
368
+ const response = await fetch(source);
369
+ if (!response.ok) {
370
+ throw new Error(`Failed to fetch document: ${response.statusText}`);
371
+ }
372
+ const buffer = await response.arrayBuffer();
373
+ return new Uint8Array(buffer);
374
+ }
375
+ emit(event, payload) {
376
+ const handlers = this.eventHandlers.get(event);
377
+ if (handlers) {
378
+ for (const handler of handlers) {
379
+ try {
380
+ handler(payload);
381
+ }
382
+ catch (error) {
383
+ console.error(`Error in event handler for ${event}:`, error);
384
+ }
385
+ }
386
+ }
387
+ }
388
+ createEngineAdapter() {
389
+ return {
390
+ renderPage: async (doc, page, zoom) => {
391
+ const pageIndex = Math.max(0, page - 1);
392
+ const pageSize = this._pageInfo[pageIndex] ?? { width: 0, height: 0 };
393
+ const width = Math.round(pageSize.width * zoom);
394
+ const height = Math.round(pageSize.height * zoom);
395
+ const rendered = await this.workerClient.renderPage(doc.id, pageIndex, width, height);
396
+ const buffer = new ArrayBuffer(rendered.rgba.byteLength);
397
+ new Uint8Array(buffer).set(rendered.rgba);
398
+ const imageData = new ImageData(new Uint8ClampedArray(buffer), rendered.width, rendered.height);
399
+ return createImageBitmap(imageData);
400
+ },
401
+ getPageInfo: async (_doc, page) => {
402
+ const pageIndex = Math.max(0, page - 1);
403
+ return this._pageInfo[pageIndex] ?? { width: 0, height: 0 };
404
+ },
405
+ getOutline: async (doc) => {
406
+ const raw = await this.workerClient.getOutline(doc.id);
407
+ return raw;
408
+ },
409
+ getPageAnnotations: async (doc, pageIndex) => {
410
+ const raw = await this.workerClient.getPageAnnotations(doc.id, pageIndex);
411
+ return raw;
412
+ }
413
+ };
414
+ }
415
+ ensureNotDestroyed() {
416
+ if (this.destroyed) {
417
+ throw new Error("UDocViewer has been destroyed");
418
+ }
419
+ }
420
+ ensureLoaded() {
421
+ this.ensureNotDestroyed();
422
+ if (!this.documentId) {
423
+ throw new Error("No document loaded");
424
+ }
425
+ }
426
+ }
427
+ //# sourceMappingURL=UDocViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../src/UDocViewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { Annotation, OutlineItem } from './types';
2
+ export interface PageInfo {
3
+ width: number;
4
+ height: number;
5
+ }
6
+ export type PageLayout = 'default' | 'odd-pages-right' | 'odd-pages-left';
7
+ export interface LoadResult {
8
+ pageCount: number;
9
+ pageWidths: number[];
10
+ pageHeights: number[];
11
+ pageLayout: PageLayout;
12
+ }
13
+ export declare class WorkerClient {
14
+ private worker;
15
+ private nextId;
16
+ private pending;
17
+ private _pageCount;
18
+ private _pageWidths;
19
+ private _pageHeights;
20
+ constructor();
21
+ private handleMessage;
22
+ private handleError;
23
+ private send;
24
+ load(data: Uint8Array): Promise<LoadResult>;
25
+ renderPage(pageIndex: number, width: number, height: number, format?: 'png' | 'rgba'): Promise<Uint8Array>;
26
+ close(): Promise<void>;
27
+ getOutline(): Promise<OutlineItem[]>;
28
+ getPageAnnotations(pageIndex: number): Promise<Annotation[]>;
29
+ getAllAnnotations(): Promise<Map<number, Annotation[]>>;
30
+ terminate(): void;
31
+ hasPending(): boolean;
32
+ get pageCount(): number;
33
+ pageWidth(pageIndex: number): number;
34
+ pageHeight(pageIndex: number): number;
35
+ }
36
+ //# sourceMappingURL=WorkerClient.d.ts.map