@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
package/README.md ADDED
@@ -0,0 +1,180 @@
1
+ # @docmentis/udoc-viewer
2
+
3
+ A high-performance document viewer for PDF, powered by WebAssembly.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @docmentis/udoc-viewer
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```typescript
14
+ import { UDocClient } from '@docmentis/udoc-viewer';
15
+
16
+ // Create a client (loads the WASM engine)
17
+ const client = await UDocClient.create();
18
+
19
+ // Create a viewer attached to a container element
20
+ const viewer = await client.createViewer({
21
+ container: '#viewer'
22
+ });
23
+
24
+ // Load a document
25
+ await viewer.load('https://example.com/document.pdf');
26
+
27
+ // Clean up when done
28
+ viewer.destroy();
29
+ client.destroy();
30
+ ```
31
+
32
+ ## Loading Documents
33
+
34
+ The viewer accepts multiple document sources:
35
+
36
+ ```typescript
37
+ // From URL
38
+ await viewer.load('https://example.com/document.pdf');
39
+
40
+ // From File object (e.g., from file input)
41
+ await viewer.load(file);
42
+
43
+ // From raw bytes
44
+ await viewer.load(new Uint8Array(buffer));
45
+
46
+ // Close current document
47
+ viewer.close();
48
+ ```
49
+
50
+ ## Client Options
51
+
52
+ ```typescript
53
+ const client = await UDocClient.create({
54
+ // License key for commercial use (optional)
55
+ license: 'your-license-key',
56
+
57
+ // Custom base URL for worker and WASM files (optional)
58
+ baseUrl: 'https://cdn.example.com/udoc/',
59
+ });
60
+ ```
61
+
62
+ ## Viewer Options
63
+
64
+ ```typescript
65
+ const viewer = await client.createViewer({
66
+ // Container element or CSS selector (required for UI mode)
67
+ container: '#viewer',
68
+
69
+ // Scroll mode: 'continuous' or 'single-page'
70
+ scrollMode: ScrollMode.Continuous,
71
+
72
+ // Layout mode: 'single-page', 'two-page', 'two-page-cover'
73
+ layoutMode: LayoutMode.SinglePage,
74
+
75
+ // Zoom mode: 'fit-width', 'fit-page', 'fit-height', 'actual-size', 'custom'
76
+ zoomMode: ZoomMode.FitSpreadWidth,
77
+
78
+ // Initial zoom level (when zoomMode is 'custom')
79
+ zoom: 1,
80
+
81
+ // Custom zoom steps for zoom in/out
82
+ zoomSteps: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4],
83
+
84
+ // Spacing between pages in pixels
85
+ pageSpacing: 10,
86
+
87
+ // Initially active panel: 'thumbnails', 'outline', or null
88
+ activePanel: null,
89
+
90
+ // Target display DPI (default: 96)
91
+ dpi: 96,
92
+ });
93
+ ```
94
+
95
+ ## Navigation
96
+
97
+ ```typescript
98
+ // Get current page (1-based)
99
+ const page = viewer.currentPage;
100
+
101
+ // Go to a specific page
102
+ viewer.goToPage(5);
103
+
104
+ // Navigate to a destination (from outline)
105
+ viewer.goToDestination(destination);
106
+ ```
107
+
108
+ ## Document Information
109
+
110
+ ```typescript
111
+ // Check if document is loaded
112
+ if (viewer.isLoaded) {
113
+ // Get page count
114
+ const total = viewer.pageCount;
115
+
116
+ // Get page dimensions (0-based index)
117
+ const info = viewer.getPageInfo(0);
118
+ console.log(`Page 1: ${info.width} x ${info.height} points`);
119
+
120
+ // Get document outline (table of contents)
121
+ const outline = await viewer.getOutline();
122
+
123
+ // Get annotations on a page
124
+ const annotations = await viewer.getPageAnnotations(0);
125
+ }
126
+ ```
127
+
128
+ ## Page Rendering (Headless)
129
+
130
+ Render pages to images without UI:
131
+
132
+ ```typescript
133
+ // Create headless viewer (no container)
134
+ const viewer = await client.createViewer();
135
+ await viewer.load(pdfBytes);
136
+
137
+ // Render page to ImageData
138
+ const imageData = await viewer.renderPage(0, { scale: 2 });
139
+
140
+ // Render to Blob
141
+ const blob = await viewer.renderPage(0, {
142
+ format: 'blob',
143
+ imageType: 'image/png'
144
+ });
145
+
146
+ // Render to data URL
147
+ const dataUrl = await viewer.renderPage(0, {
148
+ format: 'data-url',
149
+ imageType: 'image/jpeg',
150
+ quality: 0.9
151
+ });
152
+ ```
153
+
154
+ ## Events
155
+
156
+ ```typescript
157
+ // Document loaded
158
+ const unsubscribe = viewer.on('document:load', ({ pageCount }) => {
159
+ console.log(`Loaded ${pageCount} pages`);
160
+ });
161
+
162
+ // Document closed
163
+ viewer.on('document:close', () => {
164
+ console.log('Document closed');
165
+ });
166
+
167
+ // Error occurred
168
+ viewer.on('error', ({ error, phase }) => {
169
+ console.error(`Error during ${phase}:`, error);
170
+ });
171
+
172
+ // Unsubscribe
173
+ unsubscribe();
174
+ // or
175
+ viewer.off('document:load', handler);
176
+ ```
177
+
178
+ ## License
179
+
180
+ MIT
@@ -0,0 +1,197 @@
1
+ /**
2
+ * UDocClient - SDK entry point for document viewing.
3
+ *
4
+ * Manages the WASM engine and provides document operations.
5
+ */
6
+ import { WorkerClient } from "./worker/index.js";
7
+ import { UDocViewer } from "./UDocViewer.js";
8
+ import type { ScrollMode, LayoutMode, ZoomMode, PanelTab } from "./ui/viewer/state.js";
9
+ /**
10
+ * License information for the client.
11
+ */
12
+ export interface LicenseInfo {
13
+ /**
14
+ * Whether the license is valid.
15
+ */
16
+ valid: boolean;
17
+ /**
18
+ * License tier: "free" (no license) or "licensed" (valid license).
19
+ */
20
+ tier: "free" | "licensed";
21
+ /**
22
+ * Enabled feature flags.
23
+ */
24
+ features: string[];
25
+ /**
26
+ * Numeric limits (e.g., max_file_size_mb).
27
+ */
28
+ limits: Record<string, number>;
29
+ /**
30
+ * Organization name from the license.
31
+ */
32
+ organization?: string;
33
+ /**
34
+ * When the license expires (if applicable).
35
+ */
36
+ expiresAt?: Date;
37
+ /**
38
+ * Error message if license validation failed.
39
+ */
40
+ error?: string;
41
+ }
42
+ /**
43
+ * Options for creating a UDocClient.
44
+ */
45
+ export interface ClientOptions {
46
+ /**
47
+ * License key for commercial use.
48
+ * Client runs in trial mode if not provided.
49
+ */
50
+ license?: string;
51
+ /**
52
+ * Base URL for loading worker and WASM files.
53
+ *
54
+ * By default, files are loaded relative to the package location.
55
+ *
56
+ * Expected files at baseUrl:
57
+ * - `{baseUrl}/worker.js`
58
+ * - `{baseUrl}/udoc_bg.wasm`
59
+ */
60
+ baseUrl?: string;
61
+ /**
62
+ * Locale for UI strings and date formatting.
63
+ * @default 'en'
64
+ */
65
+ locale?: string;
66
+ }
67
+ /**
68
+ * Options for creating a viewer.
69
+ */
70
+ export interface ViewerOptions {
71
+ /**
72
+ * Container element or CSS selector.
73
+ * If not provided, viewer runs in headless mode (no UI).
74
+ */
75
+ container?: string | HTMLElement;
76
+ /**
77
+ * Scroll mode for page navigation.
78
+ * @default ScrollMode.Continuous
79
+ */
80
+ scrollMode?: ScrollMode;
81
+ /**
82
+ * Page layout mode.
83
+ * @default LayoutMode.SinglePage
84
+ */
85
+ layoutMode?: LayoutMode;
86
+ /**
87
+ * Zoom mode for automatic scaling.
88
+ * @default ZoomMode.FitSpreadWidth
89
+ */
90
+ zoomMode?: ZoomMode;
91
+ /**
92
+ * Initial zoom level (when zoomMode is Custom).
93
+ * @default 1
94
+ */
95
+ zoom?: number;
96
+ /**
97
+ * Custom zoom steps for zoom in/out.
98
+ * @default DEFAULT_ZOOM_STEPS
99
+ */
100
+ zoomSteps?: readonly number[];
101
+ /**
102
+ * Spacing between pages in pixels.
103
+ * @default 10
104
+ */
105
+ pageSpacing?: number;
106
+ /**
107
+ * Spacing between spreads in pixels.
108
+ * @default 20
109
+ */
110
+ spreadSpacing?: number;
111
+ /**
112
+ * Initially active panel, or null for no panel.
113
+ * @default null
114
+ */
115
+ activePanel?: PanelTab | null;
116
+ /**
117
+ * Target display DPI for rendering.
118
+ * PDF points are 72 DPI; this setting determines the CSS pixel ratio.
119
+ * Most displays use 96 DPI (CSS standard).
120
+ * @default 96
121
+ */
122
+ dpi?: number;
123
+ }
124
+ /**
125
+ * A document source can be:
126
+ * - URL string
127
+ * - File object
128
+ * - Raw bytes
129
+ * - An existing viewer (uses its loaded document)
130
+ */
131
+ export type DocumentSource = string | File | Uint8Array | UDocViewer;
132
+ /**
133
+ * SDK entry point for document viewing.
134
+ *
135
+ * Manages the WASM engine, creates viewers, and provides document operations.
136
+ */
137
+ export declare class UDocClient {
138
+ /**
139
+ * SDK version string.
140
+ */
141
+ static readonly version: string;
142
+ private workerClient;
143
+ private renderManager;
144
+ private options;
145
+ private viewers;
146
+ private destroyed;
147
+ private licenseInfo;
148
+ private constructor();
149
+ /**
150
+ * Create and initialize a client instance.
151
+ * Loads the WASM engine.
152
+ */
153
+ static create(options?: ClientOptions): Promise<UDocClient>;
154
+ /**
155
+ * Get current license information.
156
+ */
157
+ get license(): LicenseInfo;
158
+ /**
159
+ * Check if a feature is available with the current license.
160
+ * @param feature - Feature name (e.g., "merge")
161
+ */
162
+ hasFeature(feature: string): boolean;
163
+ /**
164
+ * Create a viewer instance.
165
+ *
166
+ * - With container: Full UI mode
167
+ * - Without container: Headless mode (same API, no UI)
168
+ */
169
+ createViewer(options?: ViewerOptions): Promise<UDocViewer>;
170
+ /**
171
+ * Merge multiple documents into one.
172
+ *
173
+ * @param sources - Documents to merge (bytes, Files, URLs, or viewers)
174
+ * @returns Merged document as bytes
175
+ */
176
+ mergeDocuments(_sources: DocumentSource[]): Promise<Uint8Array>;
177
+ /**
178
+ * Extract specific pages from a document.
179
+ *
180
+ * @param source - Source document
181
+ * @param pages - Page indices to extract (0-based)
182
+ * @returns Extracted pages as bytes
183
+ */
184
+ extractPages(_source: DocumentSource, _pages: number[]): Promise<Uint8Array>;
185
+ /**
186
+ * Destroy the client and release all resources.
187
+ * All viewers created by this client become invalid.
188
+ */
189
+ destroy(): void;
190
+ /**
191
+ * Get the underlying worker client (for internal use).
192
+ * @internal
193
+ */
194
+ getWorkerClient(): WorkerClient;
195
+ private ensureNotDestroyed;
196
+ }
197
+ //# sourceMappingURL=UDocClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UDocClient.d.ts","sourceRoot":"","sources":["../src/UDocClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * UDocClient - SDK entry point for document viewing.
3
+ *
4
+ * Manages the WASM engine and provides document operations.
5
+ */
6
+ import { WorkerClient } from "./worker/index.js";
7
+ import { UDocViewer } from "./UDocViewer.js";
8
+ import { RenderManager } from "./ui/viewer/rendering/RenderManager.js";
9
+ /**
10
+ * SDK entry point for document viewing.
11
+ *
12
+ * Manages the WASM engine, creates viewers, and provides document operations.
13
+ */
14
+ export class UDocClient {
15
+ /**
16
+ * SDK version string.
17
+ */
18
+ static version = "0.1.0";
19
+ workerClient;
20
+ renderManager;
21
+ options;
22
+ viewers = new Set();
23
+ destroyed = false;
24
+ licenseInfo = {
25
+ valid: true,
26
+ tier: "free",
27
+ features: [],
28
+ limits: {},
29
+ };
30
+ constructor(workerClient, renderManager, options) {
31
+ this.workerClient = workerClient;
32
+ this.renderManager = renderManager;
33
+ this.options = options;
34
+ }
35
+ /**
36
+ * Create and initialize a client instance.
37
+ * Loads the WASM engine.
38
+ */
39
+ static async create(options = {}) {
40
+ // Create worker client - use custom URL if provided, otherwise use bundled worker
41
+ const workerClient = options.baseUrl
42
+ ? WorkerClient.createWithUrl(new URL("worker.js", options.baseUrl))
43
+ : WorkerClient.create();
44
+ // Initialize WASM in the worker
45
+ const wasmUrl = options.baseUrl
46
+ ? new URL("udoc_bg.wasm", options.baseUrl).href
47
+ : undefined;
48
+ await workerClient.init(wasmUrl);
49
+ // Create shared RenderManager for all viewers
50
+ const renderManager = new RenderManager({
51
+ render: async (docId, page, scale) => {
52
+ const pageInfo = await workerClient.getPageInfo(docId, page - 1);
53
+ const width = Math.round(pageInfo.width * scale);
54
+ const height = Math.round(pageInfo.height * scale);
55
+ const rendered = await workerClient.renderPage(docId, page - 1, width, height);
56
+ const buffer = new ArrayBuffer(rendered.rgba.byteLength);
57
+ new Uint8Array(buffer).set(rendered.rgba);
58
+ const imageData = new ImageData(new Uint8ClampedArray(buffer), rendered.width, rendered.height);
59
+ return createImageBitmap(imageData);
60
+ }
61
+ });
62
+ const client = new UDocClient(workerClient, renderManager, options);
63
+ // Validate license if provided
64
+ if (options.license) {
65
+ const domain = typeof window !== "undefined"
66
+ ? window.location.hostname
67
+ : "localhost";
68
+ const result = await workerClient.setLicense(options.license, domain);
69
+ client.licenseInfo = licenseResultToInfo(result);
70
+ if (!result.valid) {
71
+ console.warn(`[udoc-viewer] License validation failed: ${result.error}`);
72
+ }
73
+ }
74
+ return client;
75
+ }
76
+ /**
77
+ * Get current license information.
78
+ */
79
+ get license() {
80
+ return { ...this.licenseInfo };
81
+ }
82
+ /**
83
+ * Check if a feature is available with the current license.
84
+ * @param feature - Feature name (e.g., "merge")
85
+ */
86
+ hasFeature(feature) {
87
+ return this.licenseInfo.features.includes(feature);
88
+ }
89
+ /**
90
+ * Create a viewer instance.
91
+ *
92
+ * - With container: Full UI mode
93
+ * - Without container: Headless mode (same API, no UI)
94
+ */
95
+ async createViewer(options = {}) {
96
+ this.ensureNotDestroyed();
97
+ const viewer = new UDocViewer(this.workerClient, this.renderManager, options);
98
+ this.viewers.add(viewer);
99
+ return viewer;
100
+ }
101
+ /**
102
+ * Merge multiple documents into one.
103
+ *
104
+ * @param sources - Documents to merge (bytes, Files, URLs, or viewers)
105
+ * @returns Merged document as bytes
106
+ */
107
+ async mergeDocuments(_sources) {
108
+ this.ensureNotDestroyed();
109
+ // TODO: Implement document merging
110
+ throw new Error("mergeDocuments not yet implemented");
111
+ }
112
+ /**
113
+ * Extract specific pages from a document.
114
+ *
115
+ * @param source - Source document
116
+ * @param pages - Page indices to extract (0-based)
117
+ * @returns Extracted pages as bytes
118
+ */
119
+ async extractPages(_source, _pages) {
120
+ this.ensureNotDestroyed();
121
+ // TODO: Implement page extraction
122
+ throw new Error("extractPages not yet implemented");
123
+ }
124
+ /**
125
+ * Destroy the client and release all resources.
126
+ * All viewers created by this client become invalid.
127
+ */
128
+ destroy() {
129
+ if (this.destroyed)
130
+ return;
131
+ this.destroyed = true;
132
+ // Destroy all viewers
133
+ for (const viewer of this.viewers) {
134
+ viewer.destroy();
135
+ }
136
+ this.viewers.clear();
137
+ // Destroy shared render manager
138
+ this.renderManager.destroy();
139
+ // Terminate the worker
140
+ this.workerClient.terminate();
141
+ }
142
+ /**
143
+ * Get the underlying worker client (for internal use).
144
+ * @internal
145
+ */
146
+ getWorkerClient() {
147
+ return this.workerClient;
148
+ }
149
+ ensureNotDestroyed() {
150
+ if (this.destroyed) {
151
+ throw new Error("UDocClient has been destroyed");
152
+ }
153
+ }
154
+ }
155
+ /**
156
+ * Convert WASM license result to LicenseInfo.
157
+ */
158
+ function licenseResultToInfo(result) {
159
+ const hasLicensedFeatures = result.features.length > 0 || Object.keys(result.limits).length > 0;
160
+ return {
161
+ valid: result.valid,
162
+ tier: result.valid && hasLicensedFeatures ? "licensed" : "free",
163
+ features: result.features,
164
+ limits: result.limits,
165
+ organization: result.organization,
166
+ expiresAt: result.expiresAt ? new Date(result.expiresAt * 1000) : undefined,
167
+ error: result.error,
168
+ };
169
+ }
170
+ //# sourceMappingURL=UDocClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UDocClient.js","sourceRoot":"","sources":["../src/UDocClient.ts"],"names":[],"mappings":"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"}