@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,29 @@
1
+ import { CollaborationManager, DocumentMode, UserManager } from '@jacktea/pdf-viewer-core';
2
+ import { PdfViewerConfig } from './config';
3
+ export interface CollaborationBindings {
4
+ dragListener?: (event: Event) => void;
5
+ dragEndListener?: (event: Event) => void;
6
+ interactionUnsubscribe?: () => void;
7
+ modeUnsubscribe?: () => void;
8
+ }
9
+ export interface CollaborationRuntimeContext {
10
+ element: HTMLElement;
11
+ config: PdfViewerConfig;
12
+ documentStorageKey?: string;
13
+ collabManager: CollaborationManager;
14
+ userManager: UserManager;
15
+ panelCoordinator?: {
16
+ getPanelManager: () => {
17
+ getPanel: (key: string) => unknown;
18
+ };
19
+ };
20
+ annotationCoordinator?: {
21
+ handleRemoteDrag: (userId: string, annotationId: string, geometry: any) => void;
22
+ handleRemoteDragEnd: (userId: string) => void;
23
+ };
24
+ onDocumentModeChange?: (mode: DocumentMode) => void;
25
+ bindings: CollaborationBindings;
26
+ }
27
+ export declare function initializeCollaborationRuntime(context: CollaborationRuntimeContext): CollaborationBindings;
28
+ export declare function cleanupCollaborationRuntime(element: HTMLElement, bindings: CollaborationBindings): CollaborationBindings;
29
+ //# sourceMappingURL=collaboration-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collaboration-runtime.d.ts","sourceRoot":"","sources":["../../src/viewer/collaboration-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,YAAY,EACjB,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE;QACjB,eAAe,EAAE,MAAM;YACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;SACpC,CAAC;KACH,CAAC;IACF,qBAAqB,CAAC,EAAE;QACtB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;QAChF,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/C,CAAC;IACF,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AA6BD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,2BAA2B,GACnC,qBAAqB,CA8FvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,qBAAqB,GAC9B,qBAAqB,CAEvB"}
@@ -0,0 +1,481 @@
1
+ import { AnnotationTool } from '../annotations/types';
2
+ import { ToolbarAction } from '../plugins/types';
3
+ import { UserInfo, Annotation, PolicySet, DocumentMode, AnnotationGeometry, AnnotationStyle, AnnotationType, WatermarkImageUploadResult, WatermarkImageLoadSource, WatermarkImageLoadResult } from '@jacktea/pdf-viewer-core';
4
+ /**
5
+ * Scale mode options for the PDF viewer
6
+ */
7
+ export type ScaleMode = "actual" | "page" | "width" | "auto";
8
+ /**
9
+ * Theme mode options
10
+ */
11
+ export type ThemeMode = "light" | "dark" | "sepia" | "nord" | "high-contrast" | "red" | string;
12
+ export type ViewerMode = "preview" | "edit" | "annotation" | string;
13
+ /**
14
+ * Preview mode options
15
+ */
16
+ export type PreviewMode = "select" | "pan";
17
+ /**
18
+ * Layout mode options
19
+ * - "full": Complete interface with Header, Toolbar, Panels, and Viewer
20
+ * - "simple": Minimal interface with only Viewer and PageIndicator
21
+ */
22
+ export type LayoutMode = "full" | "simple";
23
+ /**
24
+ * Page indicator item types
25
+ */
26
+ export type PageIndicatorItem = "pageNo" | "sep" | "pageTotal" | "zoomOut" | "zoomInput" | "zoomIn" | "zoomMode";
27
+ /**
28
+ * Page indicator configuration
29
+ */
30
+ export interface PageIndicatorConfig {
31
+ /** Items to display in the page indicator */
32
+ items: PageIndicatorItem[];
33
+ /** Show indicator only on hover (for simple mode) */
34
+ showOnHover?: boolean;
35
+ }
36
+ /**
37
+ * Panel definition for content panels
38
+ */
39
+ export interface PanelDefinition {
40
+ /** Panel unique key */
41
+ key: string;
42
+ /** Panel display name */
43
+ name: string;
44
+ /** Panel icon name */
45
+ icon: string;
46
+ /** Default position: left or right */
47
+ pos: "left" | "right";
48
+ }
49
+ /**
50
+ * Toggle target configuration for button-driven panels
51
+ */
52
+ export interface ToggleTargetConfig {
53
+ /** Associated panel keys */
54
+ panels: string[];
55
+ /** Default active panel keys when button activates */
56
+ defaultActive?: string[];
57
+ }
58
+ /**
59
+ * Toolbar button configuration
60
+ */
61
+ export interface ToolbarButtonConfig {
62
+ /** Button key (references ButtonDefinition) */
63
+ key?: string;
64
+ /** Position in toolbar */
65
+ pos: "left" | "center" | "right";
66
+ /** Active state for toggle buttons */
67
+ active?: boolean;
68
+ /** Override default tooltip */
69
+ tip?: string;
70
+ /** Override default CSS class name */
71
+ className?: string;
72
+ /** Container type: how to render children */
73
+ container?: "segment" | "group";
74
+ /** For group buttons, child button keys */
75
+ children?: ToolbarButtonConfig[];
76
+ /** Button-driven panel configuration */
77
+ toggleTarget?: ToggleTargetConfig;
78
+ /** For annotationTools composite, specify which tools to include.
79
+ * "select" is always included automatically. */
80
+ tools?: AnnotationTool[];
81
+ /** Button size override */
82
+ size?: "small" | "default" | "large";
83
+ }
84
+ /**
85
+ * Panel tab configuration
86
+ */
87
+ export interface PanelTabConfig {
88
+ /** Tab key (thumbnails, outline, etc.) */
89
+ key: string;
90
+ /** Whether tab is visible */
91
+ visible?: boolean;
92
+ /** Active state */
93
+ active?: boolean;
94
+ /** Custom label */
95
+ label?: string;
96
+ }
97
+ /**
98
+ * Panel configuration
99
+ */
100
+ export interface PanelConfig {
101
+ /** Tabs in this panel */
102
+ tabs: PanelTabConfig[];
103
+ /** Default active tab key */
104
+ defaultActiveTab?: string;
105
+ }
106
+ /**
107
+ * Features enabled for a specific mode
108
+ */
109
+ export interface ModeFeatures {
110
+ /** Enable annotation layer and interaction */
111
+ annotation?: boolean;
112
+ /** Enable page editing controls (checkboxes, drag handles) */
113
+ pageEditing?: boolean;
114
+ }
115
+ /**
116
+ * Mode-specific layout configuration
117
+ */
118
+ export interface ModeLayoutConfig {
119
+ /** Toolbar buttons for this mode */
120
+ toolbar: ToolbarButtonConfig[];
121
+ /** Features enabled in this mode */
122
+ features?: ModeFeatures;
123
+ }
124
+ /**
125
+ * Header configuration
126
+ */
127
+ export interface HeaderConfig {
128
+ /** Whether header is visible */
129
+ visible: boolean;
130
+ /**
131
+ * Available modes (hide mode switcher if only one)
132
+ * Can be built-in modes ("preview", "edit", "annotation") or custom names
133
+ */
134
+ modes: string[];
135
+ /** Current user information */
136
+ user?: UserInfo;
137
+ }
138
+ /**
139
+ * Complete layout mode configuration
140
+ * This is the new configuration-driven layout system
141
+ */
142
+ export interface LayoutModeConfig {
143
+ /** Layout mode: full or simple */
144
+ layout: LayoutMode;
145
+ /** Page indicator configuration */
146
+ pageIndicator: PageIndicatorConfig;
147
+ /** Header configuration (only for full layout) */
148
+ header?: HeaderConfig;
149
+ /**
150
+ * Mode-specific configurations
151
+ * Keys can be built-in mode names or custom names matching header.modes
152
+ */
153
+ modes?: Record<string, ModeLayoutConfig>;
154
+ }
155
+ /**
156
+ * Feature flags configuration
157
+ */
158
+ export interface FeatureConfig {
159
+ /** Enable annotation features */
160
+ annotations?: boolean;
161
+ /** Enable comment features */
162
+ comments?: boolean;
163
+ /** Enable watermark features */
164
+ watermarks?: boolean;
165
+ /** Enable PDF export */
166
+ export?: boolean;
167
+ /** Enable print functionality */
168
+ print?: boolean;
169
+ /** Enable thumbnail panel */
170
+ thumbnails?: boolean;
171
+ /** Enable outline/bookmarks panel */
172
+ outline?: boolean;
173
+ /** Enable document info panel */
174
+ documentInfo?: boolean;
175
+ /** Enable page editing (delete, reorder) */
176
+ pageEditing?: boolean;
177
+ /** Enable undo/redo */
178
+ history?: boolean;
179
+ /** Enable zoom controls */
180
+ zoom?: boolean;
181
+ /** Enable rotation */
182
+ rotation?: boolean;
183
+ /** Enable text selection */
184
+ textSelection?: boolean;
185
+ /** Enable keyboard shortcuts */
186
+ keyboardShortcuts?: boolean;
187
+ /** Enable drag and drop file loading */
188
+ dragAndDrop?: boolean;
189
+ /** Enable v2 permission engine */
190
+ permissionsV2?: boolean;
191
+ /** Enable document-level global preview mode control */
192
+ globalPreviewMode?: boolean;
193
+ }
194
+ /**
195
+ * Layout configuration
196
+ */
197
+ export interface LayoutConfig {
198
+ /** Toolbar position */
199
+ toolbarPosition?: "top" | "bottom" | "none";
200
+ /** Show left panel (thumbnails/outline) */
201
+ leftPanelVisible?: boolean;
202
+ /** Show right panel (annotations/comments) */
203
+ rightPanelVisible?: boolean;
204
+ /** Initial left panel width (px) */
205
+ leftPanelWidth?: number;
206
+ /** Initial right panel width (px) */
207
+ rightPanelWidth?: number;
208
+ /** Show page indicator */
209
+ pageIndicator?: boolean;
210
+ /** Show header with document name */
211
+ header?: boolean;
212
+ /** Compact mode - reduces spacing and hides labels */
213
+ compact?: boolean;
214
+ }
215
+ /**
216
+ * Toolbar configuration
217
+ */
218
+ export interface ToolbarConfig {
219
+ /** Annotation tools to show (order matters) */
220
+ annotationTools?: AnnotationTool[];
221
+ /** Custom toolbar actions */
222
+ customActions?: ToolbarAction[];
223
+ /** Show mode switcher (preview/annotation/edit) */
224
+ modeSwitcher?: boolean;
225
+ /** Show theme toggle */
226
+ themeToggle?: boolean;
227
+ /** Show zoom controls */
228
+ zoomControls?: boolean;
229
+ /** Show scale mode selector */
230
+ scaleModeSelector?: boolean;
231
+ /** Show navigation controls (prev/next page) */
232
+ navigationControls?: boolean;
233
+ /** Show file open button */
234
+ openFile?: boolean;
235
+ /** Show save/export button */
236
+ saveExport?: boolean;
237
+ /** Show rotate button */
238
+ rotateButton?: boolean;
239
+ }
240
+ /**
241
+ * Rendering configuration
242
+ */
243
+ export interface RenderingConfig {
244
+ /** Default scale mode */
245
+ scaleMode?: ScaleMode;
246
+ /** Initial scale (when scaleMode is "actual") */
247
+ initialScale?: number;
248
+ /** Minimum zoom level */
249
+ minScale?: number;
250
+ /** Maximum zoom level */
251
+ maxScale?: number;
252
+ /** Zoom step increment */
253
+ zoomStep?: number;
254
+ /** Render text layer for selection */
255
+ textLayer?: boolean;
256
+ /** Enable high DPI rendering */
257
+ highDpi?: boolean;
258
+ /** Page rendering buffer (pre-render pages before/after visible) */
259
+ pageBuffer?: number;
260
+ }
261
+ export interface AnnotationCreateInput {
262
+ pageIndex: number;
263
+ type: AnnotationType;
264
+ geometry: AnnotationGeometry;
265
+ style: AnnotationStyle;
266
+ metadata?: Partial<Annotation["metadata"]>;
267
+ }
268
+ /**
269
+ * Annotation configuration
270
+ */
271
+ export interface AnnotationConfig {
272
+ /** Default annotation tool */
273
+ defaultTool?: AnnotationTool;
274
+ /** Default highlight color */
275
+ highlightColor?: string;
276
+ /** Default stroke color */
277
+ strokeColor?: string;
278
+ /** Default fill color */
279
+ fillColor?: string;
280
+ /** Default stroke width */
281
+ strokeWidth?: number;
282
+ /** Default font size for text annotations */
283
+ fontSize?: number;
284
+ /** Allow editing annotations */
285
+ editable?: boolean;
286
+ /** Allow deleting annotations */
287
+ deletable?: boolean;
288
+ /** Auto-save annotations to storage */
289
+ autoSave?: boolean;
290
+ /** Storage key prefix for auto-save */
291
+ storageKeyPrefix?: string;
292
+ /** Custom comment ID factory */
293
+ createCommentId?: () => string;
294
+ /** Custom annotation ID factory */
295
+ createAnnotationId?: () => string;
296
+ /** Custom comment code factory */
297
+ createCommentCode?: () => string;
298
+ /** Custom annotation code factory */
299
+ createAnnotationCode?: () => string;
300
+ /** Custom annotation factory */
301
+ createAnnotation?: (input: AnnotationCreateInput) => Annotation;
302
+ }
303
+ /**
304
+ * Event callbacks
305
+ */
306
+ export interface PdfViewerCallbacks {
307
+ /** Called when watermark changes */
308
+ onWatermarkChange?: (watermark: any | null) => void;
309
+ /** Called when annotation is added */
310
+ onAnnotationAdd?: (annotation: any) => void;
311
+ /** Called when annotation is updated */
312
+ onAnnotationUpdate?: (annotation: any) => void;
313
+ /** Called when annotation is removed */
314
+ onAnnotationDelete?: (annotation: any) => void;
315
+ /** Called when comment is added */
316
+ onCommentAdd?: (comment: any) => void;
317
+ /** Called when comment is updated */
318
+ onCommentUpdate?: (comment: any) => void;
319
+ /** Called when comment is removed */
320
+ onCommentDelete?: (comment: any) => void;
321
+ /** Called when annotation status changes between open/resolved */
322
+ onAnnotationStatusChange?: (payload: {
323
+ annotationId: string;
324
+ status: "open" | "resolved";
325
+ }) => void;
326
+ /** Check if annotation can be edited by user */
327
+ canEditAnnotation?: (annotation: any, user: UserInfo | undefined) => boolean;
328
+ /** Check if annotation can be deleted by user */
329
+ canDeleteAnnotation?: (annotation: any, user: UserInfo | undefined) => boolean;
330
+ /** Check if comment can be edited by user */
331
+ canEditComment?: (comment: any, user: UserInfo | undefined) => boolean;
332
+ /** Check if comment can be deleted by user */
333
+ canDeleteComment?: (comment: any, user: UserInfo | undefined) => boolean;
334
+ /** Called when an action is rejected by permission checks */
335
+ onPermissionDenied?: (payload: {
336
+ action: string;
337
+ resourceType: "document" | "annotation" | "comment" | "thread";
338
+ resourceId?: string;
339
+ reason?: string;
340
+ }) => void;
341
+ }
342
+ export interface PermissionConfig {
343
+ /** Optional override of default policy set */
344
+ policy?: PolicySet;
345
+ /** Initial document mode */
346
+ documentMode?: DocumentMode;
347
+ }
348
+ export interface CommentImageUploadResult {
349
+ ref: string;
350
+ url?: string;
351
+ }
352
+ export interface PdfViewerImageAdapter {
353
+ uploadCommentImage?: (file: File, context: {
354
+ annotationId: string;
355
+ user?: UserInfo;
356
+ }) => Promise<CommentImageUploadResult | string>;
357
+ loadCommentImage?: (ref: string, context: {
358
+ annotationId?: string;
359
+ }) => Promise<string>;
360
+ deleteCommentImage?: (ref: string, context: {
361
+ annotationId?: string;
362
+ }) => Promise<void>;
363
+ uploadWatermarkImage?: (image: {
364
+ data: Uint8Array;
365
+ mimeType: "image/png" | "image/jpeg";
366
+ }) => Promise<WatermarkImageUploadResult | string>;
367
+ loadWatermarkImage?: (source: WatermarkImageLoadSource) => Promise<WatermarkImageLoadResult | Uint8Array | ArrayBuffer | Blob>;
368
+ deleteWatermarkImage?: (source: WatermarkImageLoadSource) => Promise<void>;
369
+ }
370
+ /**
371
+ * Annotation filter function
372
+ * Returns filtered list of annotations to display
373
+ */
374
+ export type AnnotationFilter = (annotations: any[], user?: UserInfo) => any[];
375
+ /**
376
+ * Localization configuration
377
+ */
378
+ export interface LocaleConfig {
379
+ /** Current locale code */
380
+ locale?: string;
381
+ /** Custom translations */
382
+ translations?: Record<string, string>;
383
+ }
384
+ /**
385
+ * Collaboration configuration
386
+ */
387
+ export interface CollaborationConfig {
388
+ /** Enable collaboration */
389
+ enabled?: boolean;
390
+ /** Provider type */
391
+ provider?: "broadcast" | "websocket";
392
+ /** WebSocket Server URL (required if provider is websocket) */
393
+ serverUrl?: string;
394
+ /** Optional auth token for websocket collaboration */
395
+ authToken?: string;
396
+ /** Document ID (optional, defaults to source hash) */
397
+ documentId?: string;
398
+ }
399
+ /**
400
+ * Complete PDF Viewer configuration
401
+ */
402
+ export interface PdfViewerConfig {
403
+ /** Feature flags */
404
+ features?: FeatureConfig;
405
+ /** Layout options */
406
+ layout?: LayoutConfig;
407
+ /** Toolbar options */
408
+ toolbar?: ToolbarConfig;
409
+ /** Rendering options */
410
+ rendering?: RenderingConfig;
411
+ /** Annotation options */
412
+ annotations?: AnnotationConfig;
413
+ /** User information */
414
+ user?: UserInfo;
415
+ /** Event callbacks */
416
+ callbacks?: PdfViewerCallbacks;
417
+ /** Permission policy and initial mode settings */
418
+ permissions?: PermissionConfig;
419
+ /** Annotation filter */
420
+ annotationFilter?: AnnotationFilter;
421
+ /** Localization options */
422
+ locale?: LocaleConfig;
423
+ /** Theme mode */
424
+ theme?: ThemeMode;
425
+ /** Collaboration options */
426
+ collaboration?: CollaborationConfig;
427
+ /** Optional adapter for image upload/load/delete in comments and watermarks */
428
+ imageAdapter?: PdfViewerImageAdapter;
429
+ /** Initial viewer mode */
430
+ initialMode?: string;
431
+ /** Maximum undo stack size */
432
+ maxUndoStackSize?: number;
433
+ /** Enable debug mode (console logging) */
434
+ debug?: boolean;
435
+ /**
436
+ * Configuration-driven layout mode
437
+ * This is the new layout system that allows full customization
438
+ */
439
+ layoutMode?: LayoutModeConfig;
440
+ /**
441
+ * Global panel definitions
442
+ * Defines available content panels and their default positions
443
+ */
444
+ panels?: PanelDefinition[];
445
+ /**
446
+ * User extension panels
447
+ * Additional panels provided by plugins or user code
448
+ */
449
+ extPanels?: PanelDefinition[];
450
+ }
451
+ /**
452
+ * Default configuration values
453
+ */
454
+ export declare const DEFAULT_CONFIG: Required<PdfViewerConfig>;
455
+ /**
456
+ * Deep merge two configuration objects
457
+ */
458
+ export declare function mergeConfig(base: PdfViewerConfig, override: Partial<PdfViewerConfig>): PdfViewerConfig;
459
+ /**
460
+ * Create a complete configuration with defaults
461
+ */
462
+ export declare function createConfig(config?: Partial<PdfViewerConfig>): PdfViewerConfig;
463
+ /**
464
+ * Validate configuration and return errors
465
+ */
466
+ export declare function validateConfig(config: PdfViewerConfig): string[];
467
+ /**
468
+ * Default mode configurations (internal presets)
469
+ * These are used when user doesn't provide custom mode config
470
+ */
471
+ export declare const DEFAULT_MODE_CONFIGS: Record<string, ModeLayoutConfig>;
472
+ /**
473
+ * Get configuration for a specific mode
474
+ * Merges user configuration with default configuration
475
+ *
476
+ * @param modeName - The mode name (can be any string, e.g., "preview", "custom", "A")
477
+ * @param userModes - User-provided mode configurations
478
+ * @returns The mode configuration (user config, default config, or undefined for unknown modes)
479
+ */
480
+ export declare function getModeConfig(modeName: string, userModes?: Partial<Record<string, ModeLayoutConfig>>): ModeLayoutConfig | undefined;
481
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/viewer/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { Annotation, DocumentSource, PdfData, ViewerController, ViewerState } from '@jacktea/pdf-viewer-core';
2
+ import { AnnotationTool } from '../annotations/types';
3
+ import { PDFDocumentProxy } from '../pdfjs';
4
+ import { UiComponents } from '../coordinators';
5
+ interface AnnotationCoordinatorLike {
6
+ selectAnnotation(annotationId: string | null): void;
7
+ clearSelectionPopover(): void;
8
+ clearTextEditor(): void;
9
+ setAnnotations(annotations: Annotation[]): void;
10
+ }
11
+ interface ModeCoordinatorLike {
12
+ getAnnotationMode(): boolean;
13
+ getViewerMode(): string;
14
+ resetForDocumentLoad(mode: string): void;
15
+ resetInitialScaleFlag(): void;
16
+ getScaleMode(): "page" | "width" | "actual";
17
+ setInitialScaleApplied(): void;
18
+ }
19
+ interface ThumbnailPanelLike {
20
+ reset(): void;
21
+ setDocument(doc: PDFDocumentProxy, state: ViewerState): void;
22
+ }
23
+ interface DocumentPropertiesPanelLike {
24
+ setDocumentInfo(documentInfo: unknown): void;
25
+ }
26
+ export interface DocumentLoadPipelineDeps {
27
+ source: DocumentSource | string | Blob | ArrayBuffer | Uint8Array;
28
+ controller: ViewerController;
29
+ ui?: UiComponents;
30
+ annotationCoordinator?: AnnotationCoordinatorLike;
31
+ modeCoordinator?: ModeCoordinatorLike;
32
+ getThumbnailPanels: () => ThumbnailPanelLike[];
33
+ getDocumentPropertiesPanel: () => DocumentPropertiesPanelLike | undefined;
34
+ setDocumentName: (documentName: string | undefined) => void;
35
+ setDocumentStorageKey: (storageKey: string | undefined) => void;
36
+ getAnnotationTool: () => AnnotationTool;
37
+ importData: (data: PdfData) => Promise<void>;
38
+ initializeCollaboration: () => Promise<void>;
39
+ notifyDocumentLoad: (doc: PDFDocumentProxy) => void;
40
+ }
41
+ export declare function runDocumentLoadPipeline(deps: DocumentLoadPipelineDeps): Promise<void>;
42
+ export {};
43
+ //# sourceMappingURL=document-load-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-load-pipeline.d.ts","sourceRoot":"","sources":["../../src/viewer/document-load-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,yBAAyB;IACjC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,qBAAqB,IAAI,IAAI,CAAC;IAC9B,eAAe,IAAI,IAAI,CAAC;IACxB,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;CACjD;AAED,UAAU,mBAAmB;IAC3B,iBAAiB,IAAI,OAAO,CAAC;IAC7B,aAAa,IAAI,MAAM,CAAC;IACxB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qBAAqB,IAAI,IAAI,CAAC;IAC9B,YAAY,IAAI,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,sBAAsB,IAAI,IAAI,CAAC;CAChC;AAED,UAAU,kBAAkB;IAC1B,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9D;AAED,UAAU,2BAA2B;IACnC,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC;IAClE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,kBAAkB,EAAE,MAAM,kBAAkB,EAAE,CAAC;IAC/C,0BAA0B,EAAE,MAAM,2BAA2B,GAAG,SAAS,CAAC;IAC1E,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAChE,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACrD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF3F"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=document-load-pipeline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-load-pipeline.test.d.ts","sourceRoot":"","sources":["../../src/viewer/document-load-pipeline.test.ts"],"names":[],"mappings":""}