@jacktea/pdf-viewer-component 0.1.5

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 (285) hide show
  1. package/README.md +45 -0
  2. package/dist/annotations/annotation-layer.d.ts +40 -0
  3. package/dist/annotations/annotation-layer.d.ts.map +1 -0
  4. package/dist/annotations/annotation-layer.test.d.ts +2 -0
  5. package/dist/annotations/annotation-layer.test.d.ts.map +1 -0
  6. package/dist/annotations/interaction/annotation-interaction-controller.d.ts +59 -0
  7. package/dist/annotations/interaction/annotation-interaction-controller.d.ts.map +1 -0
  8. package/dist/annotations/interaction/tool-utils.d.ts +11 -0
  9. package/dist/annotations/interaction/tool-utils.d.ts.map +1 -0
  10. package/dist/annotations/rendering/annotation-svg-renderer.d.ts +28 -0
  11. package/dist/annotations/rendering/annotation-svg-renderer.d.ts.map +1 -0
  12. package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts +2 -0
  13. package/dist/annotations/rendering/annotation-svg-renderer.test.d.ts.map +1 -0
  14. package/dist/annotations/rendering/geometry-utils.d.ts +6 -0
  15. package/dist/annotations/rendering/geometry-utils.d.ts.map +1 -0
  16. package/dist/annotations/rendering/hit-testing.d.ts +10 -0
  17. package/dist/annotations/rendering/hit-testing.d.ts.map +1 -0
  18. package/dist/annotations/rendering/index.d.ts +3 -0
  19. package/dist/annotations/rendering/index.d.ts.map +1 -0
  20. package/dist/annotations/settings.d.ts +46 -0
  21. package/dist/annotations/settings.d.ts.map +1 -0
  22. package/dist/annotations/types.d.ts +3 -0
  23. package/dist/annotations/types.d.ts.map +1 -0
  24. package/dist/annotations/ui/annotation-metadata.d.ts +12 -0
  25. package/dist/annotations/ui/annotation-metadata.d.ts.map +1 -0
  26. package/dist/annotations/ui/appearance-editor.d.ts +16 -0
  27. package/dist/annotations/ui/appearance-editor.d.ts.map +1 -0
  28. package/dist/annotations/ui/arrow-style-editor.d.ts +17 -0
  29. package/dist/annotations/ui/arrow-style-editor.d.ts.map +1 -0
  30. package/dist/annotations/ui/header-card.d.ts +4 -0
  31. package/dist/annotations/ui/header-card.d.ts.map +1 -0
  32. package/dist/annotations/ui/index.d.ts +8 -0
  33. package/dist/annotations/ui/index.d.ts.map +1 -0
  34. package/dist/annotations/ui/popup-toolbar.d.ts +53 -0
  35. package/dist/annotations/ui/popup-toolbar.d.ts.map +1 -0
  36. package/dist/annotations/ui/popup-toolbar.test.d.ts +2 -0
  37. package/dist/annotations/ui/popup-toolbar.test.d.ts.map +1 -0
  38. package/dist/annotations/ui/stroke-style-editor.d.ts +16 -0
  39. package/dist/annotations/ui/stroke-style-editor.d.ts.map +1 -0
  40. package/dist/annotations/ui/style-pickers.d.ts +82 -0
  41. package/dist/annotations/ui/style-pickers.d.ts.map +1 -0
  42. package/dist/annotations/ui/text-style-editor.d.ts +22 -0
  43. package/dist/annotations/ui/text-style-editor.d.ts.map +1 -0
  44. package/dist/annotations/ui/tool-selector.d.ts +8 -0
  45. package/dist/annotations/ui/tool-selector.d.ts.map +1 -0
  46. package/dist/components/popover.d.ts +25 -0
  47. package/dist/components/popover.d.ts.map +1 -0
  48. package/dist/components/tooltip.d.ts +28 -0
  49. package/dist/components/tooltip.d.ts.map +1 -0
  50. package/dist/coordinators/annotation-coordinator.d.ts +281 -0
  51. package/dist/coordinators/annotation-coordinator.d.ts.map +1 -0
  52. package/dist/coordinators/annotation-coordinator.test.d.ts +2 -0
  53. package/dist/coordinators/annotation-coordinator.test.d.ts.map +1 -0
  54. package/dist/coordinators/event-dispatcher.d.ts +93 -0
  55. package/dist/coordinators/event-dispatcher.d.ts.map +1 -0
  56. package/dist/coordinators/index.d.ts +20 -0
  57. package/dist/coordinators/index.d.ts.map +1 -0
  58. package/dist/coordinators/mode-coordinator.d.ts +74 -0
  59. package/dist/coordinators/mode-coordinator.d.ts.map +1 -0
  60. package/dist/coordinators/panel-coordinator-v2.d.ts +138 -0
  61. package/dist/coordinators/panel-coordinator-v2.d.ts.map +1 -0
  62. package/dist/coordinators/state-sync-manager.d.ts +37 -0
  63. package/dist/coordinators/state-sync-manager.d.ts.map +1 -0
  64. package/dist/coordinators/state-tracker.d.ts +48 -0
  65. package/dist/coordinators/state-tracker.d.ts.map +1 -0
  66. package/dist/coordinators/state-types.d.ts +56 -0
  67. package/dist/coordinators/state-types.d.ts.map +1 -0
  68. package/dist/coordinators/ui-initializer.d.ts +130 -0
  69. package/dist/coordinators/ui-initializer.d.ts.map +1 -0
  70. package/dist/di/container.d.ts +77 -0
  71. package/dist/di/container.d.ts.map +1 -0
  72. package/dist/di/container.test.d.ts +5 -0
  73. package/dist/di/container.test.d.ts.map +1 -0
  74. package/dist/di/index.d.ts +11 -0
  75. package/dist/di/index.d.ts.map +1 -0
  76. package/dist/di/tokens.d.ts +88 -0
  77. package/dist/di/tokens.d.ts.map +1 -0
  78. package/dist/domains/annotation/index.d.ts +9 -0
  79. package/dist/domains/annotation/index.d.ts.map +1 -0
  80. package/dist/domains/annotation/styles.d.ts +23 -0
  81. package/dist/domains/annotation/styles.d.ts.map +1 -0
  82. package/dist/domains/annotation/sync.d.ts +68 -0
  83. package/dist/domains/annotation/sync.d.ts.map +1 -0
  84. package/dist/domains/annotation/sync.test.d.ts +2 -0
  85. package/dist/domains/annotation/sync.test.d.ts.map +1 -0
  86. package/dist/domains/export/index.d.ts +10 -0
  87. package/dist/domains/export/index.d.ts.map +1 -0
  88. package/dist/domains/export/metadata.d.ts +31 -0
  89. package/dist/domains/export/metadata.d.ts.map +1 -0
  90. package/dist/domains/export/metadata.test.d.ts +2 -0
  91. package/dist/domains/export/metadata.test.d.ts.map +1 -0
  92. package/dist/domains/export/pdf-export.d.ts +70 -0
  93. package/dist/domains/export/pdf-export.d.ts.map +1 -0
  94. package/dist/domains/export/pdf-export.test.d.ts +2 -0
  95. package/dist/domains/export/pdf-export.test.d.ts.map +1 -0
  96. package/dist/domains/export/watermark.d.ts +24 -0
  97. package/dist/domains/export/watermark.d.ts.map +1 -0
  98. package/dist/domains/export/watermark.test.d.ts +2 -0
  99. package/dist/domains/export/watermark.test.d.ts.map +1 -0
  100. package/dist/domains/index.d.ts +18 -0
  101. package/dist/domains/index.d.ts.map +1 -0
  102. package/dist/domains/ui/dialogs.d.ts +49 -0
  103. package/dist/domains/ui/dialogs.d.ts.map +1 -0
  104. package/dist/domains/ui/dialogs.test.d.ts +2 -0
  105. package/dist/domains/ui/dialogs.test.d.ts.map +1 -0
  106. package/dist/domains/ui/editors.d.ts +120 -0
  107. package/dist/domains/ui/editors.d.ts.map +1 -0
  108. package/dist/domains/ui/index.d.ts +9 -0
  109. package/dist/domains/ui/index.d.ts.map +1 -0
  110. package/dist/domains/viewer/actions.d.ts +90 -0
  111. package/dist/domains/viewer/actions.d.ts.map +1 -0
  112. package/dist/domains/viewer/actions.test.d.ts +2 -0
  113. package/dist/domains/viewer/actions.test.d.ts.map +1 -0
  114. package/dist/domains/viewer/index.d.ts +10 -0
  115. package/dist/domains/viewer/index.d.ts.map +1 -0
  116. package/dist/domains/viewer/persistence.d.ts +122 -0
  117. package/dist/domains/viewer/persistence.d.ts.map +1 -0
  118. package/dist/domains/viewer/persistence.test.d.ts +2 -0
  119. package/dist/domains/viewer/persistence.test.d.ts.map +1 -0
  120. package/dist/domains/viewer/types.d.ts +42 -0
  121. package/dist/domains/viewer/types.d.ts.map +1 -0
  122. package/dist/i18n/index.d.ts +77 -0
  123. package/dist/i18n/index.d.ts.map +1 -0
  124. package/dist/i18n/locales/en.d.ts +3 -0
  125. package/dist/i18n/locales/en.d.ts.map +1 -0
  126. package/dist/i18n/locales/zh-CN.d.ts +3 -0
  127. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  128. package/dist/i18n/types.d.ts +231 -0
  129. package/dist/i18n/types.d.ts.map +1 -0
  130. package/dist/icons/icon-registry.d.ts +69 -0
  131. package/dist/icons/icon-registry.d.ts.map +1 -0
  132. package/dist/icons/toolbar-icons.d.ts +38 -0
  133. package/dist/icons/toolbar-icons.d.ts.map +1 -0
  134. package/dist/index.d.ts +14 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.es.js +1 -0
  137. package/dist/layers/canvas-layer.d.ts +44 -0
  138. package/dist/layers/canvas-layer.d.ts.map +1 -0
  139. package/dist/layers/canvas-layer.test.d.ts +2 -0
  140. package/dist/layers/canvas-layer.test.d.ts.map +1 -0
  141. package/dist/layers/canvas-utils.d.ts +80 -0
  142. package/dist/layers/canvas-utils.d.ts.map +1 -0
  143. package/dist/layers/template-layer.d.ts +41 -0
  144. package/dist/layers/template-layer.d.ts.map +1 -0
  145. package/dist/panels/annotation-comments-panel.d.ts +80 -0
  146. package/dist/panels/annotation-comments-panel.d.ts.map +1 -0
  147. package/dist/panels/annotation-settings-panel.d.ts +60 -0
  148. package/dist/panels/annotation-settings-panel.d.ts.map +1 -0
  149. package/dist/panels/annotation-summary-panel.d.ts +127 -0
  150. package/dist/panels/annotation-summary-panel.d.ts.map +1 -0
  151. package/dist/panels/annotation-summary-panel.test.d.ts +2 -0
  152. package/dist/panels/annotation-summary-panel.test.d.ts.map +1 -0
  153. package/dist/panels/comment-input.d.ts +34 -0
  154. package/dist/panels/comment-input.d.ts.map +1 -0
  155. package/dist/panels/comment-input.test.d.ts +2 -0
  156. package/dist/panels/comment-input.test.d.ts.map +1 -0
  157. package/dist/panels/container-panel.d.ts +136 -0
  158. package/dist/panels/container-panel.d.ts.map +1 -0
  159. package/dist/panels/content-panel.d.ts +95 -0
  160. package/dist/panels/content-panel.d.ts.map +1 -0
  161. package/dist/panels/document-properties-panel.d.ts +54 -0
  162. package/dist/panels/document-properties-panel.d.ts.map +1 -0
  163. package/dist/panels/index.d.ts +26 -0
  164. package/dist/panels/index.d.ts.map +1 -0
  165. package/dist/panels/outline-panel.d.ts +32 -0
  166. package/dist/panels/outline-panel.d.ts.map +1 -0
  167. package/dist/panels/panel-factory.d.ts +37 -0
  168. package/dist/panels/panel-factory.d.ts.map +1 -0
  169. package/dist/panels/panel-integration-example.d.ts +49 -0
  170. package/dist/panels/panel-integration-example.d.ts.map +1 -0
  171. package/dist/panels/panel-manager.d.ts +98 -0
  172. package/dist/panels/panel-manager.d.ts.map +1 -0
  173. package/dist/panels/template-field-panel.d.ts +27 -0
  174. package/dist/panels/template-field-panel.d.ts.map +1 -0
  175. package/dist/panels/template-property-panel.d.ts +30 -0
  176. package/dist/panels/template-property-panel.d.ts.map +1 -0
  177. package/dist/panels/template-ui-helpers.d.ts +32 -0
  178. package/dist/panels/template-ui-helpers.d.ts.map +1 -0
  179. package/dist/panels/thumbnail-panel.d.ts +49 -0
  180. package/dist/panels/thumbnail-panel.d.ts.map +1 -0
  181. package/dist/pdfjs.d.ts +15 -0
  182. package/dist/pdfjs.d.ts.map +1 -0
  183. package/dist/plugins/examples/custom-tool-plugin.d.ts +12 -0
  184. package/dist/plugins/examples/custom-tool-plugin.d.ts.map +1 -0
  185. package/dist/plugins/index.d.ts +9 -0
  186. package/dist/plugins/index.d.ts.map +1 -0
  187. package/dist/plugins/plugin-manager.d.ts +108 -0
  188. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  189. package/dist/plugins/plugin-manager.test.d.ts +5 -0
  190. package/dist/plugins/plugin-manager.test.d.ts.map +1 -0
  191. package/dist/plugins/types.d.ts +167 -0
  192. package/dist/plugins/types.d.ts.map +1 -0
  193. package/dist/render/page-renderer.d.ts +16 -0
  194. package/dist/render/page-renderer.d.ts.map +1 -0
  195. package/dist/render/scale.d.ts +3 -0
  196. package/dist/render/scale.d.ts.map +1 -0
  197. package/dist/render/text-layer.d.ts +4 -0
  198. package/dist/render/text-layer.d.ts.map +1 -0
  199. package/dist/render/thumb-renderer.d.ts +3 -0
  200. package/dist/render/thumb-renderer.d.ts.map +1 -0
  201. package/dist/toolbar/button-registry.d.ts +56 -0
  202. package/dist/toolbar/button-registry.d.ts.map +1 -0
  203. package/dist/toolbar/toolbar-helpers.d.ts +168 -0
  204. package/dist/toolbar/toolbar-helpers.d.ts.map +1 -0
  205. package/dist/toolbar/toolbar-icons.d.ts +3 -0
  206. package/dist/toolbar/toolbar-icons.d.ts.map +1 -0
  207. package/dist/toolbar/toolbar.d.ts +116 -0
  208. package/dist/toolbar/toolbar.d.ts.map +1 -0
  209. package/dist/ui/color-picker.d.ts +72 -0
  210. package/dist/ui/color-picker.d.ts.map +1 -0
  211. package/dist/ui/slider.d.ts +25 -0
  212. package/dist/ui/slider.d.ts.map +1 -0
  213. package/dist/utils/annotation-utils.d.ts +13 -0
  214. package/dist/utils/annotation-utils.d.ts.map +1 -0
  215. package/dist/utils/color-utils.d.ts +42 -0
  216. package/dist/utils/color-utils.d.ts.map +1 -0
  217. package/dist/utils/confirm-dialog.d.ts +10 -0
  218. package/dist/utils/confirm-dialog.d.ts.map +1 -0
  219. package/dist/utils/deep-equal.d.ts +2 -0
  220. package/dist/utils/deep-equal.d.ts.map +1 -0
  221. package/dist/utils/deep-equal.test.d.ts +2 -0
  222. package/dist/utils/deep-equal.test.d.ts.map +1 -0
  223. package/dist/utils/document-utils.d.ts +63 -0
  224. package/dist/utils/document-utils.d.ts.map +1 -0
  225. package/dist/utils/id-generator.d.ts +41 -0
  226. package/dist/utils/id-generator.d.ts.map +1 -0
  227. package/dist/utils/image-preview.d.ts +7 -0
  228. package/dist/utils/image-preview.d.ts.map +1 -0
  229. package/dist/utils/timestamp.d.ts +3 -0
  230. package/dist/utils/timestamp.d.ts.map +1 -0
  231. package/dist/viewer/collaboration-runtime.d.ts +29 -0
  232. package/dist/viewer/collaboration-runtime.d.ts.map +1 -0
  233. package/dist/viewer/config.d.ts +481 -0
  234. package/dist/viewer/config.d.ts.map +1 -0
  235. package/dist/viewer/document-load-pipeline.d.ts +43 -0
  236. package/dist/viewer/document-load-pipeline.d.ts.map +1 -0
  237. package/dist/viewer/document-load-pipeline.test.d.ts +2 -0
  238. package/dist/viewer/document-load-pipeline.test.d.ts.map +1 -0
  239. package/dist/viewer/element.d.ts +174 -0
  240. package/dist/viewer/element.d.ts.map +1 -0
  241. package/dist/viewer/element.test.d.ts +2 -0
  242. package/dist/viewer/element.test.d.ts.map +1 -0
  243. package/dist/viewer/events.d.ts +212 -0
  244. package/dist/viewer/events.d.ts.map +1 -0
  245. package/dist/viewer/export-orchestrator.d.ts +9 -0
  246. package/dist/viewer/export-orchestrator.d.ts.map +1 -0
  247. package/dist/viewer/headless.d.ts +108 -0
  248. package/dist/viewer/headless.d.ts.map +1 -0
  249. package/dist/viewer/internal-event-bindings.d.ts +26 -0
  250. package/dist/viewer/internal-event-bindings.d.ts.map +1 -0
  251. package/dist/viewer/internal-event-bindings.test.d.ts +2 -0
  252. package/dist/viewer/internal-event-bindings.test.d.ts.map +1 -0
  253. package/dist/viewer/modal.d.ts +22 -0
  254. package/dist/viewer/modal.d.ts.map +1 -0
  255. package/dist/viewer/page-indicator.d.ts +56 -0
  256. package/dist/viewer/page-indicator.d.ts.map +1 -0
  257. package/dist/viewer/pdfjs-resources.d.ts +12 -0
  258. package/dist/viewer/pdfjs-resources.d.ts.map +1 -0
  259. package/dist/viewer/server-writeback.d.ts +23 -0
  260. package/dist/viewer/server-writeback.d.ts.map +1 -0
  261. package/dist/viewer/server-writeback.test.d.ts +2 -0
  262. package/dist/viewer/server-writeback.test.d.ts.map +1 -0
  263. package/dist/viewer/ui-handler-helpers.d.ts +19 -0
  264. package/dist/viewer/ui-handler-helpers.d.ts.map +1 -0
  265. package/dist/viewer/ui-handler-helpers.test.d.ts +2 -0
  266. package/dist/viewer/ui-handler-helpers.test.d.ts.map +1 -0
  267. package/dist/viewer/viewer-header.d.ts +67 -0
  268. package/dist/viewer/viewer-header.d.ts.map +1 -0
  269. package/dist/virtual/page-position-cache.d.ts +24 -0
  270. package/dist/virtual/page-position-cache.d.ts.map +1 -0
  271. package/dist/virtual/render-pool.d.ts +23 -0
  272. package/dist/virtual/render-pool.d.ts.map +1 -0
  273. package/dist/virtual/render-pool.test.d.ts +2 -0
  274. package/dist/virtual/render-pool.test.d.ts.map +1 -0
  275. package/dist/virtual/types.d.ts +16 -0
  276. package/dist/virtual/types.d.ts.map +1 -0
  277. package/dist/virtual/virtual-page-manager.d.ts +54 -0
  278. package/dist/virtual/virtual-page-manager.d.ts.map +1 -0
  279. package/dist/watermark/watermark-layer.d.ts +58 -0
  280. package/dist/watermark/watermark-layer.d.ts.map +1 -0
  281. package/dist/watermark/watermark-settings.d.ts +79 -0
  282. package/dist/watermark/watermark-settings.d.ts.map +1 -0
  283. package/dist/watermark/watermark-ui-helpers.d.ts +78 -0
  284. package/dist/watermark/watermark-ui-helpers.d.ts.map +1 -0
  285. package/package.json +29 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Create a template settings section
3
+ */
4
+ export declare function createTemplateSection(title: string): HTMLDivElement;
5
+ /**
6
+ * Create an input group
7
+ */
8
+ export declare function createInputGroup(label: string, element: HTMLElement): HTMLDivElement;
9
+ /**
10
+ * Create a row container
11
+ */
12
+ export declare function createRow(): HTMLDivElement;
13
+ /**
14
+ * Create a text/number input
15
+ */
16
+ export declare function createTextInput(value: string | number, onChange: (val: string) => void, type?: "text" | "number", placeholder?: string): HTMLElement;
17
+ /**
18
+ * Create a select dropdown
19
+ */
20
+ export declare function createSelect(options: {
21
+ value: string;
22
+ label: string;
23
+ }[], currentValue: string, onChange: (val: string) => void): HTMLSelectElement;
24
+ /**
25
+ * Create a color picker input
26
+ */
27
+ export declare function createColorInput(label: string, color: string, opacity: number, onChange: (color: string, opacity: number) => void): HTMLElement;
28
+ /**
29
+ * Create an alignment selector
30
+ */
31
+ export declare function createAlignSelector(current: "left" | "center" | "right", onChange: (val: "left" | "center" | "right") => void): HTMLElement;
32
+ //# sourceMappingURL=template-ui-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-ui-helpers.d.ts","sourceRoot":"","sources":["../../src/panels/template-ui-helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAUnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CAapF;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAI1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC/B,IAAI,GAAE,MAAM,GAAG,QAAiB,EAChC,WAAW,CAAC,EAAE,MAAM,GACrB,WAAW,CA4Bb;AAED;;GAEG;AACH,wBAAgB,YAAY,CACxB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC3C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAChC,iBAAiB,CAiBnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GACnD,WAAW,CAeb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,EACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,GACrD,WAAW,CA4Bb"}
@@ -0,0 +1,49 @@
1
+ import { ViewerState } from '@jacktea/pdf-viewer-core';
2
+ import { PDFDocumentProxy } from '../pdfjs';
3
+ import { ContentPanel } from './content-panel';
4
+ export interface ThumbnailPanelHandlers {
5
+ onSelect?: (pageIndex: number) => void;
6
+ onDelete?: (pageIndex: number) => void;
7
+ onMove?: (fromIndex: number, toIndex: number) => void;
8
+ }
9
+ export declare class ThumbnailPanel implements ContentPanel {
10
+ private handlers;
11
+ readonly key: string;
12
+ readonly name: string;
13
+ readonly nameKey?: string;
14
+ readonly icon: string;
15
+ readonly element: HTMLDivElement;
16
+ private scroller;
17
+ private list;
18
+ private empty;
19
+ private doc?;
20
+ private state?;
21
+ private manager?;
22
+ private resizeObserver?;
23
+ private suppressSyncUntil;
24
+ private deleteMode;
25
+ private sortMode;
26
+ private active;
27
+ constructor(handlers: ThumbnailPanelHandlers, options?: {
28
+ key?: string;
29
+ name?: string;
30
+ nameKey?: string;
31
+ icon?: string;
32
+ editMode?: boolean;
33
+ });
34
+ setDocument(doc: PDFDocumentProxy | undefined, state: ViewerState): void;
35
+ setState(state: ViewerState): void;
36
+ setDeleteMode(enabled: boolean): void;
37
+ setSortMode(enabled: boolean): void;
38
+ setActive(active: boolean): void;
39
+ destroy(): void;
40
+ reset(): void;
41
+ private buildManager;
42
+ private syncEmpty;
43
+ private handleSelect;
44
+ private handleDelete;
45
+ private handleMove;
46
+ private canSyncFromViewer;
47
+ private getOrderedThumbnails;
48
+ }
49
+ //# sourceMappingURL=thumbnail-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnail-panel.d.ts","sourceRoot":"","sources":["../../src/panels/thumbnail-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;AAwBD,qBAAa,cAAe,YAAW,YAAY;IAoBrC,OAAO,CAAC,QAAQ;IAlB5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAEhC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,MAAM,CAAQ;gBAEF,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IA6CpJ,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAMxE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgClC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMrC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOnC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMhC,OAAO,IAAI,IAAI;IAMf,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,YAAY;IA8CpB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;CAa7B"}
@@ -0,0 +1,15 @@
1
+ import { PDFDocumentProxy, PDFPageProxy } from 'pdfjs-dist/types/src/display/api';
2
+ import { PageViewport } from 'pdfjs-dist/types/src/display/display_utils';
3
+ import { EventBus, TextLayerBuilder } from 'pdfjs-dist/web/pdf_viewer.mjs';
4
+ import * as pdfjs from "pdfjs-dist/build/pdf.mjs";
5
+ export { pdfjs };
6
+ export declare const TextLayer: unknown;
7
+ export declare const AnnotationLayer: unknown;
8
+ export declare const PixelsPerInch: {
9
+ CSS: number;
10
+ PDF: number;
11
+ } | undefined;
12
+ export declare const setLayerDimensions: unknown;
13
+ export { EventBus, TextLayerBuilder };
14
+ export type { PDFDocumentProxy, PDFPageProxy, PageViewport };
15
+ //# sourceMappingURL=pdfjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfjs.d.ts","sourceRoot":"","sources":["../src/pdfjs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAI3E,OAAO,EAAE,KAAK,EAAE,CAAC;AASjB,eAAO,MAAM,SAAS,SAAsD,CAAC;AAC7E,eAAO,MAAM,eAAe,SAA4D,CAAC;AACzF,eAAO,MAAM,aAAa;SANF,MAAM;SAAO,MAAM;aAMyC,CAAC;AACrF,eAAO,MAAM,kBAAkB,SAA+D,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PdfViewerPlugin } from '../types';
2
+ /**
3
+ * Custom Tool Plugin
4
+ *
5
+ * A demonstration plugin that adds:
6
+ * - A custom "stamp" annotation tool
7
+ * - A "share" toolbar action
8
+ * - A reading progress indicator toggle
9
+ */
10
+ export declare const customToolPlugin: PdfViewerPlugin;
11
+ export default customToolPlugin;
12
+ //# sourceMappingURL=custom-tool-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-tool-plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/examples/custom-tool-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,UAAU,CAAC;AAwHlB;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAmD9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Plugin System Exports
3
+ *
4
+ * Main entry point for the PDF Viewer plugin system.
5
+ */
6
+ export type { PdfViewerPlugin, PluginContext, PluginOptions, PluginState, CustomAnnotationTool, ToolbarAction, PluginManagerEvents, } from './types';
7
+ export { PluginManager, type PluginManagerDependencies } from './plugin-manager';
8
+ export { customToolPlugin } from './examples/custom-tool-plugin';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { ViewerController, PdfDocumentHandle, Annotation } from '@jacktea/pdf-viewer-core';
2
+ import { PdfViewerPlugin, PluginOptions, PluginState, CustomAnnotationTool, ToolbarAction } from './types';
3
+ export interface PluginManagerDependencies {
4
+ getController: () => ViewerController;
5
+ getElement: () => HTMLElement;
6
+ getShadowRoot: () => ShadowRoot | null;
7
+ dispatchEvent: (event: CustomEvent) => void;
8
+ }
9
+ export declare class PluginManager {
10
+ private plugins;
11
+ private customTools;
12
+ private toolbarActions;
13
+ private dependencies;
14
+ constructor(dependencies: PluginManagerDependencies);
15
+ /**
16
+ * Register a plugin
17
+ */
18
+ register(plugin: PdfViewerPlugin, options?: PluginOptions): void;
19
+ /**
20
+ * Unregister a plugin
21
+ */
22
+ unregister(name: string): void;
23
+ /**
24
+ * Initialize a specific plugin
25
+ */
26
+ initializePlugin(name: string): Promise<void>;
27
+ /**
28
+ * Initialize all registered plugins
29
+ */
30
+ initializeAll(): Promise<void>;
31
+ /**
32
+ * Destroy all plugins
33
+ */
34
+ destroyAll(): void;
35
+ /**
36
+ * Get a plugin by name
37
+ */
38
+ getPlugin(name: string): PdfViewerPlugin | undefined;
39
+ /**
40
+ * Get all registered plugins
41
+ */
42
+ getPlugins(): PdfViewerPlugin[];
43
+ /**
44
+ * Get plugin states
45
+ */
46
+ getPluginStates(): PluginState[];
47
+ /**
48
+ * Check if a plugin is registered
49
+ */
50
+ hasPlugin(name: string): boolean;
51
+ /**
52
+ * Enable a plugin
53
+ */
54
+ enable(name: string): void;
55
+ /**
56
+ * Disable a plugin
57
+ */
58
+ disable(name: string): void;
59
+ /**
60
+ * Get all custom annotation tools
61
+ */
62
+ getCustomTools(): CustomAnnotationTool[];
63
+ /**
64
+ * Get a custom tool by ID
65
+ */
66
+ getCustomTool(id: string): CustomAnnotationTool | undefined;
67
+ /**
68
+ * Get all toolbar actions
69
+ */
70
+ getToolbarActions(): ToolbarAction[];
71
+ /**
72
+ * Get a toolbar action by ID
73
+ */
74
+ getToolbarAction(id: string): ToolbarAction | undefined;
75
+ /**
76
+ * Notify plugins of document load
77
+ */
78
+ notifyDocumentLoad(document: PdfDocumentHandle): void;
79
+ /**
80
+ * Notify plugins of document unload
81
+ */
82
+ notifyDocumentUnload(): void;
83
+ /**
84
+ * Notify plugins of annotation add
85
+ */
86
+ notifyAnnotationAdd(annotation: Annotation): void;
87
+ /**
88
+ * Notify plugins of annotation update
89
+ */
90
+ notifyAnnotationUpdate(annotation: Annotation): void;
91
+ /**
92
+ * Notify plugins of annotation remove
93
+ */
94
+ notifyAnnotationRemove(annotationId: string): void;
95
+ /**
96
+ * Notify plugins of page change
97
+ */
98
+ notifyPageChange(page: number, pageCount: number): void;
99
+ /**
100
+ * Notify plugins of zoom change
101
+ */
102
+ notifyZoomChange(scale: number): void;
103
+ private createPluginContext;
104
+ private forEachEnabledPlugin;
105
+ private handlePluginError;
106
+ private dispatchPluginEvent;
107
+ }
108
+ //# sourceMappingURL=plugin-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AASjB,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,gBAAgB,CAAC;IACtC,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,YAAY,CAA4B;gBAEpC,YAAY,EAAE,yBAAyB;IAInD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI;IAoCpE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkC9B;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC;;OAEG;IACH,UAAU,IAAI,IAAI;IAalB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpD;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;IAI/B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAShC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO3B;;OAEG;IACH,cAAc,IAAI,oBAAoB,EAAE;IAIxC;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI3D;;OAEG;IACH,iBAAiB,IAAI,aAAa,EAAE;IAIpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMvD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAMrD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAMjD;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAMpD;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMlD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMvD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQrC,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Plugin Manager Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=plugin-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.test.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-manager.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,167 @@
1
+ import { ViewerController, Annotation, PdfDocumentHandle } from '@jacktea/pdf-viewer-core';
2
+ import { AnnotationTool } from '../annotations/types';
3
+ /**
4
+ * Plugin lifecycle and hook interface
5
+ */
6
+ export interface PdfViewerPlugin {
7
+ /** Unique plugin identifier */
8
+ name: string;
9
+ /** Plugin version (semver format) */
10
+ version: string;
11
+ /** Optional plugin description */
12
+ description?: string;
13
+ /**
14
+ * Called when the plugin is registered
15
+ * Use this for initial setup and event subscription
16
+ */
17
+ initialize?(context: PluginContext): void | Promise<void>;
18
+ /**
19
+ * Called when the plugin is unregistered
20
+ * Use this to clean up resources and event listeners
21
+ */
22
+ destroy?(): void;
23
+ /**
24
+ * Called when a document is loaded
25
+ */
26
+ onDocumentLoad?(document: PdfDocumentHandle): void;
27
+ /**
28
+ * Called when a document is unloaded
29
+ */
30
+ onDocumentUnload?(): void;
31
+ /**
32
+ * Called when an annotation is added
33
+ */
34
+ onAnnotationAdd?(annotation: Annotation): void;
35
+ /**
36
+ * Called when an annotation is updated
37
+ */
38
+ onAnnotationUpdate?(annotation: Annotation): void;
39
+ /**
40
+ * Called when an annotation is removed
41
+ */
42
+ onAnnotationRemove?(annotationId: string): void;
43
+ /**
44
+ * Called when page changes
45
+ */
46
+ onPageChange?(page: number, pageCount: number): void;
47
+ /**
48
+ * Called when zoom level changes
49
+ */
50
+ onZoomChange?(scale: number): void;
51
+ /**
52
+ * Custom annotation tools provided by this plugin
53
+ */
54
+ annotationTools?: CustomAnnotationTool[];
55
+ /**
56
+ * Custom toolbar actions provided by this plugin
57
+ */
58
+ toolbarActions?: ToolbarAction[];
59
+ }
60
+ /**
61
+ * Context provided to plugins for interacting with the viewer
62
+ */
63
+ export interface PluginContext {
64
+ /** The main viewer controller for state management */
65
+ readonly controller: ViewerController;
66
+ /** The viewer DOM element */
67
+ readonly element: HTMLElement;
68
+ /** Register a custom annotation tool */
69
+ registerAnnotationTool(tool: CustomAnnotationTool): void;
70
+ /** Unregister a custom annotation tool */
71
+ unregisterAnnotationTool(toolId: string): void;
72
+ /** Register a toolbar action */
73
+ registerToolbarAction(action: ToolbarAction): void;
74
+ /** Unregister a toolbar action */
75
+ unregisterToolbarAction(actionId: string): void;
76
+ /** Dispatch a custom event from the viewer */
77
+ dispatchEvent(event: CustomEvent): void;
78
+ /** Subscribe to viewer state changes */
79
+ subscribe(listener: (state: unknown) => void): () => void;
80
+ /** Get the shadow root for DOM manipulation */
81
+ getShadowRoot(): ShadowRoot | null;
82
+ /** Log message with plugin prefix */
83
+ log(message: string, level?: "info" | "warn" | "error"): void;
84
+ }
85
+ /**
86
+ * Custom annotation tool definition
87
+ */
88
+ export interface CustomAnnotationTool {
89
+ /** Unique tool identifier */
90
+ id: string;
91
+ /** Display name */
92
+ name: string;
93
+ /** Icon (SVG string or URL) */
94
+ icon?: string;
95
+ /** Tool tooltip */
96
+ tooltip?: string;
97
+ /** Base tool type to extend */
98
+ baseType?: AnnotationTool;
99
+ /** Called when the tool is selected */
100
+ onSelect?(context: PluginContext): void;
101
+ /** Called when the tool is deselected */
102
+ onDeselect?(context: PluginContext): void;
103
+ /** Custom render function for the annotation */
104
+ render?(annotation: Annotation, canvas: HTMLCanvasElement, context: PluginContext): void;
105
+ /** Custom creation handler */
106
+ onCreate?(event: MouseEvent | TouchEvent, context: PluginContext): Partial<Annotation> | null;
107
+ }
108
+ /**
109
+ * Toolbar action definition
110
+ */
111
+ export interface ToolbarAction {
112
+ /** Unique action identifier */
113
+ id: string;
114
+ /** Display label */
115
+ label: string;
116
+ /** Icon (SVG string or URL) */
117
+ icon?: string;
118
+ /** Tooltip text */
119
+ tooltip?: string;
120
+ /** Position in toolbar */
121
+ position?: "left" | "center" | "right";
122
+ /** Whether action is a toggle button */
123
+ toggle?: boolean;
124
+ /** Action handler */
125
+ onClick(context: PluginContext): void;
126
+ /** Check if action is enabled */
127
+ isEnabled?(context: PluginContext): boolean;
128
+ /** Check if action is active (for toggle buttons) */
129
+ isActive?(context: PluginContext): boolean;
130
+ }
131
+ /**
132
+ * Plugin registration options
133
+ */
134
+ export interface PluginOptions {
135
+ /** Whether to call initialize immediately */
136
+ autoInitialize?: boolean;
137
+ /** Plugin configuration */
138
+ config?: Record<string, unknown>;
139
+ }
140
+ /**
141
+ * Plugin manager events
142
+ */
143
+ export interface PluginManagerEvents {
144
+ "plugin:registered": {
145
+ plugin: PdfViewerPlugin;
146
+ };
147
+ "plugin:unregistered": {
148
+ pluginName: string;
149
+ };
150
+ "plugin:initialized": {
151
+ pluginName: string;
152
+ };
153
+ "plugin:error": {
154
+ pluginName: string;
155
+ error: Error;
156
+ };
157
+ }
158
+ /**
159
+ * Plugin state
160
+ */
161
+ export interface PluginState {
162
+ name: string;
163
+ version: string;
164
+ initialized: boolean;
165
+ enabled: boolean;
166
+ }
167
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { PDFPageProxy, PageViewport } from '../pdfjs';
2
+ export declare class PageRenderer {
3
+ visibleIndex: number;
4
+ pageIndex: number;
5
+ container: HTMLDivElement;
6
+ canvas: HTMLCanvasElement;
7
+ textLayerContainer: HTMLDivElement;
8
+ annotationLayer: HTMLDivElement;
9
+ page?: PDFPageProxy;
10
+ viewport?: PageViewport;
11
+ private renderTask?;
12
+ constructor(visibleIndex: number, pageIndex: number);
13
+ render(page: PDFPageProxy, viewport: PageViewport, linkService?: any): Promise<boolean>;
14
+ cancel(): void;
15
+ }
16
+ //# sourceMappingURL=page-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-renderer.d.ts","sourceRoot":"","sources":["../../src/render/page-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI3D,qBAAa,YAAY;IASJ,YAAY,EAAE,MAAM;IAAS,SAAS,EAAE,MAAM;IARjE,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,EAAE,cAAc,CAAC;IACnC,eAAe,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,UAAU,CAAC,CAAmD;gBAEnD,YAAY,EAAE,MAAM,EAAS,SAAS,EAAE,MAAM;IAuB3D,MAAM,CACV,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,WAAW,CAAC,EAAE,GAAG,GAChB,OAAO,CAAC,OAAO,CAAC;IA+EnB,MAAM;CAMP"}
@@ -0,0 +1,3 @@
1
+ export declare const CSS_UNITS: number;
2
+ export declare function toViewportScale(scale: number): number;
3
+ //# sourceMappingURL=scale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../src/render/scale.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,QAAsB,CAAC;AAE7C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -0,0 +1,4 @@
1
+ import { PDFPageProxy, PageViewport } from '../pdfjs';
2
+ export declare function renderTextLayer(page: PDFPageProxy, viewport: PageViewport, container: HTMLDivElement): Promise<void>;
3
+ export declare function cancelTextLayer(container: HTMLDivElement): void;
4
+ //# sourceMappingURL=text-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-layer.d.ts","sourceRoot":"","sources":["../../src/render/text-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAKlB,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAM/D"}
@@ -0,0 +1,3 @@
1
+ import { PDFPageProxy } from '../pdfjs';
2
+ export declare function renderThumbnail(page: PDFPageProxy, targetWidth: number, rotation: number): Promise<HTMLCanvasElement>;
3
+ //# sourceMappingURL=thumb-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumb-renderer.d.ts","sourceRoot":"","sources":["../../src/render/thumb-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoB5B"}
@@ -0,0 +1,56 @@
1
+ import { ToggleTargetConfig } from '../viewer/config';
2
+ export type ButtonType = "action" | "toggle" | "group";
3
+ export interface ButtonDefinition {
4
+ /** Unique button key */
5
+ key: string;
6
+ /** Button type */
7
+ type: ButtonType;
8
+ /** Icon name (references toolbar-icons) */
9
+ icon?: string;
10
+ /** Default tooltip text */
11
+ defaultTip?: string;
12
+ /**
13
+ * New: Default panel toggle configuration
14
+ * Defines which panels this button controls
15
+ */
16
+ defaultToggleTarget?: ToggleTargetConfig;
17
+ /** For group buttons, child button keys */
18
+ children?: string[];
19
+ /** Handler function name */
20
+ handler?: string;
21
+ /** Custom CSS class name(s) to apply to the button */
22
+ className?: string;
23
+ /**
24
+ * Whether this is a composite component (like zoomControls)
25
+ * Composite components render multiple elements as a single unit
26
+ */
27
+ isComposite?: boolean;
28
+ /** Button size configuration */
29
+ size?: "small" | "default" | "large";
30
+ }
31
+ /**
32
+ * Built-in button definitions
33
+ * Note: defaultTip values are i18n keys, use t() to get translated text
34
+ */
35
+ export declare const BUTTON_DEFINITIONS: Record<string, ButtonDefinition>;
36
+ /**
37
+ * Get a button definition by key
38
+ */
39
+ export declare function getButtonDefinition(key: string): ButtonDefinition | undefined;
40
+ /**
41
+ * Register a custom button
42
+ */
43
+ export declare function registerButton(definition: ButtonDefinition): void;
44
+ /**
45
+ * Unregister a custom button
46
+ */
47
+ export declare function unregisterButton(key: string): boolean;
48
+ /**
49
+ * Get all button keys
50
+ */
51
+ export declare function getAllButtonKeys(): string[];
52
+ /**
53
+ * Check if a button key is valid
54
+ */
55
+ export declare function isValidButtonKey(key: string): boolean;
56
+ //# sourceMappingURL=button-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-registry.d.ts","sourceRoot":"","sources":["../../src/toolbar/button-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA+V/D,CAAC;AAOF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAMjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD"}