@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 @@
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../../src/ui/viewer/components/Viewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Store } from "../framework/store";
2
+ import type { ViewerState } from "./state";
3
+ import type { Action } from "./actions";
4
+ import type { RenderManager } from "./rendering/RenderManager";
5
+ import type { EngineAdapter } from "./shell";
6
+ export declare function createEffects(store: Store<ViewerState, Action>, renderManager: RenderManager, engine: EngineAdapter): {
7
+ destroy: () => void;
8
+ };
9
+ //# sourceMappingURL=effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/ui/viewer/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAqB7C,wBAAgB,aAAa,CACzB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EACjC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,GACtB;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA4KzB"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Determine which pages need annotations loaded.
3
+ * Returns 0-indexed page indices for the current page and adjacent pages in spread mode.
4
+ */
5
+ function getAnnotationPagesToLoad(state) {
6
+ const pages = [];
7
+ // Current page (convert 1-based to 0-based)
8
+ const currentPageIndex = state.page - 1;
9
+ pages.push(currentPageIndex);
10
+ // For double-page layouts, include the adjacent page
11
+ if (state.layoutMode.startsWith("double-page")) {
12
+ if (currentPageIndex > 0)
13
+ pages.push(currentPageIndex - 1);
14
+ if (currentPageIndex < state.pageCount - 1)
15
+ pages.push(currentPageIndex + 1);
16
+ }
17
+ return pages.filter(p => p >= 0 && p < state.pageCount);
18
+ }
19
+ export function createEffects(store, renderManager, engine) {
20
+ const unsubscribers = [];
21
+ // Render effect: request page rendering when doc/page/zoom changes
22
+ unsubscribers.push(store.subscribeEffect(async (prev, next) => {
23
+ // Invalidate cache when document changes
24
+ if (prev.doc !== next.doc) {
25
+ if (prev.doc) {
26
+ renderManager.invalidate(prev.doc.id);
27
+ }
28
+ }
29
+ // Request render when doc/page/zoom changes
30
+ if (prev.doc !== next.doc || prev.page !== next.page || prev.zoom !== next.zoom) {
31
+ if (!next.doc)
32
+ return;
33
+ // Fire and forget - components will get results via RenderManager
34
+ renderManager.request({
35
+ docId: next.doc.id,
36
+ page: next.page,
37
+ type: "page",
38
+ scale: next.zoom
39
+ }).catch(error => {
40
+ console.error("renderPage failed", error);
41
+ });
42
+ }
43
+ }));
44
+ // Outline loading effect: load outline on-demand when outline panel is opened
45
+ unsubscribers.push(store.subscribeEffect(async (prev, next) => {
46
+ // Load outline when:
47
+ // 1. Panel changes to "outline" AND outline not loaded AND not loading
48
+ // 2. Document changes while outline panel is open AND outline not loaded
49
+ const shouldLoad = next.doc !== null &&
50
+ next.activePanel === "outline" &&
51
+ next.outline === null &&
52
+ !next.outlineLoading;
53
+ if (shouldLoad) {
54
+ store.dispatch({ type: "LOAD_OUTLINE" });
55
+ try {
56
+ const outline = await engine.getOutline(next.doc);
57
+ store.dispatch({ type: "SET_OUTLINE", outline });
58
+ }
59
+ catch (error) {
60
+ console.error("Failed to load outline", error);
61
+ store.dispatch({ type: "SET_OUTLINE", outline: [] });
62
+ }
63
+ }
64
+ }));
65
+ // Annotation loading effect: load annotations on-demand for visible pages
66
+ // Deferred to avoid blocking page renders (worker processes requests sequentially)
67
+ let annotationLoadTimeout = null;
68
+ unsubscribers.push(store.subscribeEffect(async (prev, next) => {
69
+ if (!next.doc)
70
+ return;
71
+ // Clear any pending annotation load when state changes
72
+ if (annotationLoadTimeout) {
73
+ clearTimeout(annotationLoadTimeout);
74
+ annotationLoadTimeout = null;
75
+ }
76
+ // Load annotations for current page and adjacent pages (for spread mode)
77
+ const pagesToLoad = getAnnotationPagesToLoad(next);
78
+ // Filter to pages that need loading
79
+ const pagesToActuallyLoad = pagesToLoad.filter(pageIndex => !next.pageAnnotations.has(pageIndex) && !next.annotationsLoading.has(pageIndex));
80
+ if (pagesToActuallyLoad.length === 0)
81
+ return;
82
+ // Defer annotation loading to let render requests go first
83
+ const doc = next.doc;
84
+ annotationLoadTimeout = setTimeout(async () => {
85
+ annotationLoadTimeout = null;
86
+ for (const pageIndex of pagesToActuallyLoad) {
87
+ // Re-check state in case it changed during the delay
88
+ const currentState = store.getState();
89
+ if (currentState.pageAnnotations.has(pageIndex))
90
+ continue;
91
+ if (currentState.annotationsLoading.has(pageIndex))
92
+ continue;
93
+ store.dispatch({ type: "LOAD_PAGE_ANNOTATIONS", pageIndex });
94
+ try {
95
+ const annotations = await engine.getPageAnnotations(doc, pageIndex);
96
+ store.dispatch({ type: "SET_PAGE_ANNOTATIONS", pageIndex, annotations });
97
+ }
98
+ catch (error) {
99
+ console.error(`Failed to load annotations for page ${pageIndex}`, error);
100
+ store.dispatch({ type: "SET_PAGE_ANNOTATIONS", pageIndex, annotations: [] });
101
+ }
102
+ }
103
+ }, 100); // 100ms delay to let render requests go first
104
+ }));
105
+ // Cleanup annotation load timeout on destroy
106
+ const cleanupAnnotationTimeout = () => {
107
+ if (annotationLoadTimeout) {
108
+ clearTimeout(annotationLoadTimeout);
109
+ annotationLoadTimeout = null;
110
+ }
111
+ };
112
+ unsubscribers.push(cleanupAnnotationTimeout);
113
+ // Comments panel effect: load ALL annotations when comments panel is opened
114
+ unsubscribers.push(store.subscribeEffect(async (prev, next) => {
115
+ if (!next.doc)
116
+ return;
117
+ // Only trigger when comments panel is opened
118
+ const commentsJustOpened = next.activePanel === "comments" && prev.activePanel !== "comments";
119
+ const docLoadedWithCommentsOpen = next.activePanel === "comments" && prev.doc !== next.doc;
120
+ if (!commentsJustOpened && !docLoadedWithCommentsOpen)
121
+ return;
122
+ // Load annotations for all pages
123
+ for (let pageIndex = 0; pageIndex < next.pageCount; pageIndex++) {
124
+ // Skip if already loaded or loading
125
+ if (next.pageAnnotations.has(pageIndex))
126
+ continue;
127
+ if (next.annotationsLoading.has(pageIndex))
128
+ continue;
129
+ store.dispatch({ type: "LOAD_PAGE_ANNOTATIONS", pageIndex });
130
+ try {
131
+ const annotations = await engine.getPageAnnotations(next.doc, pageIndex);
132
+ store.dispatch({ type: "SET_PAGE_ANNOTATIONS", pageIndex, annotations });
133
+ }
134
+ catch (error) {
135
+ console.error(`Failed to load annotations for page ${pageIndex}`, error);
136
+ store.dispatch({ type: "SET_PAGE_ANNOTATIONS", pageIndex, annotations: [] });
137
+ }
138
+ }
139
+ }));
140
+ // Annotation highlight auto-clear effect
141
+ let highlightTimer = null;
142
+ unsubscribers.push(store.subscribeEffect((prev, next) => {
143
+ // Clear timer if highlight was removed
144
+ if (prev.highlightedAnnotation !== null && next.highlightedAnnotation === null) {
145
+ if (highlightTimer) {
146
+ clearTimeout(highlightTimer);
147
+ highlightTimer = null;
148
+ }
149
+ return;
150
+ }
151
+ // Start timer when highlight is set
152
+ if (prev.highlightedAnnotation !== next.highlightedAnnotation && next.highlightedAnnotation !== null) {
153
+ if (highlightTimer) {
154
+ clearTimeout(highlightTimer);
155
+ }
156
+ highlightTimer = setTimeout(() => {
157
+ highlightTimer = null;
158
+ store.dispatch({ type: "CLEAR_ANNOTATION_HIGHLIGHT" });
159
+ }, 2000); // Clear highlight after 2 seconds
160
+ }
161
+ }));
162
+ // Cleanup highlight timer on destroy
163
+ const cleanupHighlightTimer = () => {
164
+ if (highlightTimer) {
165
+ clearTimeout(highlightTimer);
166
+ highlightTimer = null;
167
+ }
168
+ };
169
+ unsubscribers.push(cleanupHighlightTimer);
170
+ return {
171
+ destroy: () => {
172
+ for (const unsub of unsubscribers) {
173
+ unsub();
174
+ }
175
+ renderManager.destroy();
176
+ }
177
+ };
178
+ }
179
+ //# sourceMappingURL=effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/ui/viewer/effects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export declare const ICON_MENU = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"/></svg>";
2
+ export declare const ICON_SEARCH = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/></svg>";
3
+ export declare const ICON_COMMENTS = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM18 14H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z\"/></svg>";
4
+ export declare const ICON_FULLSCREEN = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"/></svg>";
5
+ export declare const ICON_FULLSCREEN_EXIT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z\"/></svg>";
6
+ export declare const ICON_THUMBNAIL = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M4 5h4v4H4V5zm6 0h4v4h-4V5zm6 0h4v4h-4V5zM4 11h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4zM4 17h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4z\"/></svg>";
7
+ export declare const ICON_OUTLINE = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z\"/></svg>";
8
+ export declare const ICON_BOOKMARK = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z\"/></svg>";
9
+ export declare const ICON_LAYERS = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z\"/></svg>";
10
+ export declare const ICON_ATTACHMENT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/></svg>";
11
+ export declare const ICON_CHEVRON_LEFT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg>";
12
+ export declare const ICON_CHEVRON_RIGHT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg>";
13
+ export declare const ICON_CHEVRON_DOWN = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>";
14
+ export declare const ICON_ZOOM_IN = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z\"/></svg>";
15
+ export declare const ICON_ZOOM_OUT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z\"/></svg>";
16
+ export declare const ICON_VIEW_MODE = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z\"/></svg>";
17
+ export declare const ICON_SCROLL_SPREAD = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"5\" y=\"4\" width=\"14\" height=\"16\" rx=\"1\"/></svg>";
18
+ export declare const ICON_SCROLL_CONTINUOUS = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 2 L5 11 L19 11 L19 2\"/><path d=\"M5 24 L5 15 L19 15 L19 24\"/></svg>";
19
+ export declare const ICON_LAYOUT_SINGLE = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"6\" y=\"3\" width=\"12\" height=\"18\" rx=\"1\"/></svg>";
20
+ export declare const ICON_LAYOUT_DOUBLE = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\"/><rect x=\"14\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\"/></svg>";
21
+ export declare const ICON_LAYOUT_DOUBLE_ODD_RIGHT = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\" stroke-dasharray=\"3 2\"/><rect x=\"14\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\"/></svg>";
22
+ export declare const ICON_LAYOUT_DOUBLE_ODD_LEFT = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\"/><rect x=\"14\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\" stroke-dasharray=\"3 2\"/></svg>";
23
+ export declare const ICON_ROTATE_0 = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 4 L14 4 L18 8 L18 20 L6 20 Z\"/><path d=\"M14 4 L14 8 L18 8\"/></svg>";
24
+ export declare const ICON_ROTATE_90 = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 18 L20 10 L16 6 L4 6 L4 18 Z\"/><path d=\"M20 10 L16 10 L16 6\"/></svg>";
25
+ export declare const ICON_ROTATE_180 = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 20 L10 20 L6 16 L6 4 L18 4 Z\"/><path d=\"M10 20 L10 16 L6 16\"/></svg>";
26
+ export declare const ICON_ROTATE_270 = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 6 L4 14 L8 18 L20 18 L20 6 Z\"/><path d=\"M4 14 L8 14 L8 18\"/></svg>";
27
+ export declare const ICON_SPACING_ALL = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M10 3v7H3M14 3v7h7M10 21v-7H3M14 21v-7h7\"/></svg>";
28
+ export declare const ICON_SPACING_NONE = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3v18M3 12h18\"/></svg>";
29
+ export declare const ICON_SPACING_SPREAD = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3v7H3M12 3v7h9M12 21v-7H3M12 21v-7h9\"/></svg>";
30
+ export declare const ICON_SPACING_PAGE = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M10 3v9H3M14 3v9h7M10 21v-9H3M14 21v-9h7\"/></svg>";
31
+ export declare const ICON_CHECK = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>";
32
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,uHAAiH,CAAC;AAExI,eAAO,MAAM,WAAW,oRAA8Q,CAAC;AAEvS,eAAO,MAAM,aAAa,oMAA8L,CAAC;AAEzN,eAAO,MAAM,eAAe,wJAAkJ,CAAC;AAE/K,eAAO,MAAM,oBAAoB,uJAAiJ,CAAC;AAGnL,eAAO,MAAM,cAAc,6MAAuM,CAAC;AAEnO,eAAO,MAAM,YAAY,gKAA0J,CAAC;AAEpL,eAAO,MAAM,aAAa,8HAAwH,CAAC;AAEnJ,eAAO,MAAM,WAAW,qLAA+K,CAAC;AAExM,eAAO,MAAM,eAAe,sUAAgU,CAAC;AAG7V,eAAO,MAAM,iBAAiB,uHAAiH,CAAC;AAEhJ,eAAO,MAAM,kBAAkB,wHAAkH,CAAC;AAElJ,eAAO,MAAM,iBAAiB,iIAA2H,CAAC;AAE1J,eAAO,MAAM,YAAY,qTAA+S,CAAC;AAEzU,eAAO,MAAM,aAAa,+RAAyR,CAAC;AAGpT,eAAO,MAAM,cAAc,iMAA2L,CAAC;AAGvN,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,sBAAsB,2KAA+J,CAAC;AAGnM,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,kBAAkB,oNAAwL,CAAC;AAExN,eAAO,MAAM,4BAA4B,6OAA+M,CAAC;AAEzP,eAAO,MAAM,2BAA2B,6OAA+M,CAAC;AAGxP,eAAO,MAAM,aAAa,2KAA+J,CAAC;AAE1L,eAAO,MAAM,cAAc,8KAAkK,CAAC;AAE9L,eAAO,MAAM,eAAe,8KAAkK,CAAC;AAE/L,eAAO,MAAM,eAAe,2KAA+J,CAAC;AAI5L,eAAO,MAAM,gBAAgB,qJAA2I,CAAC;AAGzK,eAAO,MAAM,iBAAiB,6HAAmH,CAAC;AAGlJ,eAAO,MAAM,mBAAmB,qJAA2I,CAAC;AAG5K,eAAO,MAAM,iBAAiB,qJAA2I,CAAC;AAG1K,eAAO,MAAM,UAAU,2HAAqH,CAAC"}
@@ -0,0 +1,44 @@
1
+ export const ICON_MENU = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>`;
2
+ export const ICON_SEARCH = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>`;
3
+ export const ICON_COMMENTS = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM18 14H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z"/></svg>`;
4
+ export const ICON_FULLSCREEN = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`;
5
+ export const ICON_FULLSCREEN_EXIT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`;
6
+ // Left panel tab icons
7
+ export const ICON_THUMBNAIL = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 5h4v4H4V5zm6 0h4v4h-4V5zm6 0h4v4h-4V5zM4 11h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4zM4 17h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4z"/></svg>`;
8
+ export const ICON_OUTLINE = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z"/></svg>`;
9
+ export const ICON_BOOKMARK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"/></svg>`;
10
+ export const ICON_LAYERS = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z"/></svg>`;
11
+ export const ICON_ATTACHMENT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg>`;
12
+ // Navigation icons
13
+ export const ICON_CHEVRON_LEFT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>`;
14
+ export const ICON_CHEVRON_RIGHT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>`;
15
+ export const ICON_CHEVRON_DOWN = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/></svg>`;
16
+ export const ICON_ZOOM_IN = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/></svg>`;
17
+ export const ICON_ZOOM_OUT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"/></svg>`;
18
+ // View mode menu icon (sliders/adjustments)
19
+ export const ICON_VIEW_MODE = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"/></svg>`;
20
+ // Scroll mode icons (matching main branch style)
21
+ export const ICON_SCROLL_SPREAD = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="5" y="4" width="14" height="16" rx="1"/></svg>`;
22
+ export const ICON_SCROLL_CONTINUOUS = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 2 L5 11 L19 11 L19 2"/><path d="M5 24 L5 15 L19 15 L19 24"/></svg>`;
23
+ // Layout mode icons (matching main branch style)
24
+ export const ICON_LAYOUT_SINGLE = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="6" y="3" width="12" height="18" rx="1"/></svg>`;
25
+ export const ICON_LAYOUT_DOUBLE = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="8" height="16" rx="1"/><rect x="14" y="4" width="8" height="16" rx="1"/></svg>`;
26
+ export const ICON_LAYOUT_DOUBLE_ODD_RIGHT = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="8" height="16" rx="1" stroke-dasharray="3 2"/><rect x="14" y="4" width="8" height="16" rx="1"/></svg>`;
27
+ export const ICON_LAYOUT_DOUBLE_ODD_LEFT = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="8" height="16" rx="1"/><rect x="14" y="4" width="8" height="16" rx="1" stroke-dasharray="3 2"/></svg>`;
28
+ // Page rotation icons (page with corner fold indicating orientation)
29
+ export const ICON_ROTATE_0 = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 4 L14 4 L18 8 L18 20 L6 20 Z"/><path d="M14 4 L14 8 L18 8"/></svg>`;
30
+ export const ICON_ROTATE_90 = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 18 L20 10 L16 6 L4 6 L4 18 Z"/><path d="M20 10 L16 10 L16 6"/></svg>`;
31
+ export const ICON_ROTATE_180 = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20 L10 20 L6 16 L6 4 L18 4 Z"/><path d="M10 20 L10 16 L6 16"/></svg>`;
32
+ export const ICON_ROTATE_270 = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6 L4 14 L8 18 L20 18 L20 6 Z"/><path d="M4 14 L8 14 L8 18"/></svg>`;
33
+ // Spacing icons - showing inner edges/intersection only
34
+ // All: L-corners with gaps both directions
35
+ export const ICON_SPACING_ALL = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 3v7H3M14 3v7h7M10 21v-7H3M14 21v-7h7"/></svg>`;
36
+ // None: lines meeting at center (no gaps)
37
+ export const ICON_SPACING_NONE = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3v18M3 12h18"/></svg>`;
38
+ // Spread-only: L-corners with horizontal gap only (vertical lines at x=10,14; horizontal lines merge at y=12)
39
+ export const ICON_SPACING_SPREAD = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3v7H3M12 3v7h9M12 21v-7H3M12 21v-7h9"/></svg>`;
40
+ // Page-only: L-corners with vertical gap only (horizontal lines at y=10,14; vertical lines merge at x=12)
41
+ export const ICON_SPACING_PAGE = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 3v9H3M14 3v9h7M10 21v-9H3M14 21v-9h7"/></svg>`;
42
+ // Checkmark icon for selected items
43
+ export const ICON_CHECK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>`;
44
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,8GAA8G,CAAC;AAExI,MAAM,CAAC,MAAM,WAAW,GAAG,2QAA2Q,CAAC;AAEvS,MAAM,CAAC,MAAM,aAAa,GAAG,2LAA2L,CAAC;AAEzN,MAAM,CAAC,MAAM,eAAe,GAAG,+IAA+I,CAAC;AAE/K,MAAM,CAAC,MAAM,oBAAoB,GAAG,8IAA8I,CAAC;AAEnL,uBAAuB;AACvB,MAAM,CAAC,MAAM,cAAc,GAAG,oMAAoM,CAAC;AAEnO,MAAM,CAAC,MAAM,YAAY,GAAG,uJAAuJ,CAAC;AAEpL,MAAM,CAAC,MAAM,aAAa,GAAG,qHAAqH,CAAC;AAEnJ,MAAM,CAAC,MAAM,WAAW,GAAG,4KAA4K,CAAC;AAExM,MAAM,CAAC,MAAM,eAAe,GAAG,6TAA6T,CAAC;AAE7V,mBAAmB;AACnB,MAAM,CAAC,MAAM,iBAAiB,GAAG,8GAA8G,CAAC;AAEhJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,+GAA+G,CAAC;AAElJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,wHAAwH,CAAC;AAE1J,MAAM,CAAC,MAAM,YAAY,GAAG,4SAA4S,CAAC;AAEzU,MAAM,CAAC,MAAM,aAAa,GAAG,sRAAsR,CAAC;AAEpT,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,wLAAwL,CAAC;AAEvN,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,sBAAsB,GAAG,4JAA4J,CAAC;AAEnM,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,kBAAkB,GAAG,qLAAqL,CAAC;AAExN,MAAM,CAAC,MAAM,4BAA4B,GAAG,4MAA4M,CAAC;AAEzP,MAAM,CAAC,MAAM,2BAA2B,GAAG,4MAA4M,CAAC;AAExP,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,4JAA4J,CAAC;AAE1L,MAAM,CAAC,MAAM,cAAc,GAAG,+JAA+J,CAAC;AAE9L,MAAM,CAAC,MAAM,eAAe,GAAG,+JAA+J,CAAC;AAE/L,MAAM,CAAC,MAAM,eAAe,GAAG,4JAA4J,CAAC;AAE5L,wDAAwD;AACxD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,wIAAwI,CAAC;AAEzK,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,gHAAgH,CAAC;AAElJ,8GAA8G;AAC9G,MAAM,CAAC,MAAM,mBAAmB,GAAG,wIAAwI,CAAC;AAE5K,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iBAAiB,GAAG,wIAAwI,CAAC;AAE1K,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,kHAAkH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./actions";
2
+ export * from "./effects";
3
+ export * from "./reducer";
4
+ export * from "./state";
5
+ export * from "./shell";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/viewer/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./actions";
2
+ export * from "./effects";
3
+ export * from "./reducer";
4
+ export * from "./state";
5
+ export * from "./shell";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/viewer/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./spreadLayout";
2
+ export * from "./pixelAlign";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./spreadLayout";
2
+ export * from "./pixelAlign";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/viewer/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getDevicePixelRatio(): number;
2
+ export declare function toDevicePixels(value: number, dpr?: number): number;
3
+ export declare function toDevicePixelsCeil(value: number, dpr?: number): number;
4
+ export declare function toCssPixels(value: number, dpr?: number): number;
5
+ export declare function snapToDevice(value: number, dpr?: number): number;
6
+ export declare function snapToDeviceCeil(value: number, dpr?: number): number;
7
+ //# sourceMappingURL=pixelAlign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelAlign.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/layout/pixelAlign.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAA8B,GAAG,MAAM,CAEzF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAA8B,GAAG,MAAM,CAE7F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAA8B,GAAG,MAAM,CAEtF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAA8B,GAAG,MAAM,CAEvF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAA8B,GAAG,MAAM,CAE3F"}
@@ -0,0 +1,22 @@
1
+ export function getDevicePixelRatio() {
2
+ if (typeof window === "undefined")
3
+ return 1;
4
+ const dpr = window.devicePixelRatio || 1;
5
+ return Number.isFinite(dpr) && dpr > 0 ? dpr : 1;
6
+ }
7
+ export function toDevicePixels(value, dpr = getDevicePixelRatio()) {
8
+ return Math.round(value * dpr);
9
+ }
10
+ export function toDevicePixelsCeil(value, dpr = getDevicePixelRatio()) {
11
+ return Math.ceil(value * dpr);
12
+ }
13
+ export function toCssPixels(value, dpr = getDevicePixelRatio()) {
14
+ return value / dpr;
15
+ }
16
+ export function snapToDevice(value, dpr = getDevicePixelRatio()) {
17
+ return toCssPixels(toDevicePixels(value, dpr), dpr);
18
+ }
19
+ export function snapToDeviceCeil(value, dpr = getDevicePixelRatio()) {
20
+ return toCssPixels(toDevicePixelsCeil(value, dpr), dpr);
21
+ }
22
+ //# sourceMappingURL=pixelAlign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelAlign.js","sourceRoot":"","sources":["../../../../src/ui/viewer/layout/pixelAlign.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc,mBAAmB,EAAE;IAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAc,mBAAmB,EAAE;IACjF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAc,mBAAmB,EAAE;IAC1E,OAAO,KAAK,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAc,mBAAmB,EAAE;IAC3E,OAAO,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAc,mBAAmB,EAAE;IAC/E,OAAO,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { type LayoutMode, type PageRotation, type PageInfo } from "../state";
2
+ /**
3
+ * Represents a page slot within a spread.
4
+ * `null` means an empty slot (for unbalanced spreads).
5
+ */
6
+ export type PageSlot = number | null;
7
+ /**
8
+ * A spread contains one or two page slots.
9
+ * In single-page mode: [pageNumber]
10
+ * In double-page modes: [leftPage, rightPage] where either can be null
11
+ */
12
+ export interface Spread {
13
+ /** Index of this spread (0-based) */
14
+ index: number;
15
+ /** Page slots: single-page has 1 slot, double-page has 2 slots */
16
+ slots: [PageSlot] | [PageSlot, PageSlot];
17
+ }
18
+ /**
19
+ * Calculate the spread composition for a document.
20
+ *
21
+ * @param pageCount - Total number of pages in the document
22
+ * @param layoutMode - The layout mode determining pages per spread
23
+ * @returns Array of spreads with their page assignments
24
+ */
25
+ export declare function calculateSpreads(pageCount: number, layoutMode: LayoutMode): Spread[];
26
+ /**
27
+ * Find the spread index containing a specific page.
28
+ */
29
+ export declare function findSpreadForPage(spreads: Spread[], page: number): number;
30
+ /**
31
+ * Get the primary page of a spread (first non-null slot).
32
+ */
33
+ export declare function getSpreadPrimaryPage(spread: Spread): number;
34
+ /**
35
+ * Calculated layout for a spread, including position and dimensions.
36
+ */
37
+ export interface SpreadLayout {
38
+ /** Spread index */
39
+ index: number;
40
+ /** Page slots */
41
+ slots: [PageSlot] | [PageSlot, PageSlot];
42
+ /** Y position from top of container (scaled) */
43
+ top: number;
44
+ /** Width of the spread (scaled) */
45
+ width: number;
46
+ /** Height of the spread (scaled) */
47
+ height: number;
48
+ }
49
+ export interface SpreadLayoutResult {
50
+ layouts: SpreadLayout[];
51
+ contentWidth: number;
52
+ contentHeight: number;
53
+ }
54
+ export interface SpreadDimensions {
55
+ width: number;
56
+ height: number;
57
+ }
58
+ /**
59
+ * Calculate spread layouts with positions for virtual scrolling.
60
+ *
61
+ * @param spreads - Array of spreads from calculateSpreads()
62
+ * @param pageInfos - Array of page sizes (0-indexed, in points)
63
+ * @param scale - Zoom scale factor
64
+ * @param pageSpacing - Horizontal spacing between pages in a spread
65
+ * @param spreadSpacing - Vertical spacing between spreads
66
+ * @param dpi - Display DPI for point-to-pixel conversion
67
+ * @param rotation - Page rotation in degrees
68
+ * @returns Layouts plus aggregated content size
69
+ */
70
+ export declare function calculateSpreadLayouts(spreads: Spread[], pageInfos: readonly PageInfo[], scale: number, pageSpacing: number, spreadSpacing: number, dpi: number, rotation: PageRotation): SpreadLayoutResult;
71
+ /**
72
+ * Calculate the dimensions of a spread based on its pages.
73
+ * Returns dimensions in CSS pixels (accounting for DPI conversion).
74
+ */
75
+ export declare function getSpreadDimensions(spread: Spread, pageInfos: readonly PageInfo[], scale: number, pageSpacing: number, dpi: number, rotation: PageRotation): SpreadDimensions;
76
+ /**
77
+ * Calculate total content height including all spreads and spacing.
78
+ */
79
+ export declare function calculateTotalHeight(layouts: SpreadLayout[], spreadSpacing: number): number;
80
+ /**
81
+ * Find visible spread indices based on scroll position and viewport height.
82
+ *
83
+ * @param layouts - Array of spread layouts
84
+ * @param scrollTop - Current scroll position
85
+ * @param viewportHeight - Height of the visible viewport
86
+ * @param buffer - Number of extra spreads to include above/below (for smooth scrolling)
87
+ * @returns Object with start and end indices (inclusive)
88
+ */
89
+ export declare function findVisibleSpreadRange(layouts: SpreadLayout[], scrollTop: number, viewportHeight: number, buffer?: number): {
90
+ start: number;
91
+ end: number;
92
+ };
93
+ //# sourceMappingURL=spreadLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spreadLayout.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/layout/spreadLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACnB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAgBpF;AAsGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3D;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,GACvB,kBAAkB,CA6CpB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,GACvB,gBAAgB,CAelB;AAuDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAI3F;AAOD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,MAAU,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAkChC"}