@a3s-lab/office 0.2.2 → 0.4.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 (277) hide show
  1. package/COLLABORATION_ROADMAP.md +426 -0
  2. package/README.md +649 -10
  3. package/dist/0~1403.js +1 -1
  4. package/dist/0~2805.js +1279 -0
  5. package/dist/{0~use-office-draft.js → 0~345.js} +30 -1
  6. package/dist/0~3539.js +1 -1
  7. package/dist/0~3557.js +1 -1
  8. package/dist/0~3635.js +1 -1
  9. package/dist/0~4595.js +123 -12
  10. package/dist/0~4980.js +154 -0
  11. package/dist/0~5050.js +124 -113
  12. package/dist/{0~9512.js → 0~6090.js} +540 -3
  13. package/dist/0~7048.js +92 -66
  14. package/dist/0~7614.js +2 -1
  15. package/dist/0~7754.js +5653 -0
  16. package/dist/0~9445.js +1 -1
  17. package/dist/0~document-editor.js +4992 -3323
  18. package/dist/0~markdown-editor.js +250 -44
  19. package/dist/0~pdf-viewer.js +1016 -24
  20. package/dist/0~presentation-editor.js +179 -8
  21. package/dist/0~spreadsheet-editor.js +3371 -578
  22. package/dist/0~work-docx-export.js +6801 -658
  23. package/dist/0~work-docx-import.js +1388 -795
  24. package/dist/0~work-office-diagnostics.js +524 -30
  25. package/dist/0~work-pptx-export.js +2 -1
  26. package/dist/0~work-pptx-import.js +1 -2
  27. package/dist/0~work-presentation-charts.js +1 -1
  28. package/dist/2591.js +197 -0
  29. package/dist/3818.js +1090 -0
  30. package/dist/4104.js +970 -60
  31. package/dist/432.js +171 -14
  32. package/dist/4476.js +2008 -0
  33. package/dist/4560.js +674 -0
  34. package/dist/4650.js +70 -0
  35. package/dist/{1134.js → 5184.js} +183 -1
  36. package/dist/6489.js +18 -18
  37. package/dist/7060.js +132 -0
  38. package/dist/8715.js +2 -136
  39. package/dist/8928.js +16778 -0
  40. package/dist/9787.js +209 -0
  41. package/dist/core.d.ts +29 -9
  42. package/dist/core.js +10 -2
  43. package/dist/index.js +13 -3
  44. package/dist/internal/collaboration/office-collaboration-flat-json.d.ts +13 -0
  45. package/dist/internal/collaboration/office-collaboration-json.d.ts +4 -0
  46. package/dist/internal/collaboration/office-collaboration-presence.d.ts +86 -0
  47. package/dist/internal/collaboration/office-collaboration-transport.d.ts +42 -0
  48. package/dist/internal/collaboration/office-collaboration.d.ts +85 -0
  49. package/dist/internal/collaboration/office-document-collaboration-bibliography.d.ts +7 -0
  50. package/dist/internal/collaboration/office-document-collaboration-claims.d.ts +9 -0
  51. package/dist/internal/collaboration/office-document-collaboration-comments.d.ts +7 -0
  52. package/dist/internal/collaboration/office-document-collaboration-sidecar-utils.d.ts +27 -0
  53. package/dist/internal/collaboration/office-document-collaboration-sidecars.d.ts +16 -0
  54. package/dist/internal/collaboration/office-document-collaboration.d.ts +45 -0
  55. package/dist/internal/collaboration/office-markdown-collaboration.d.ts +31 -0
  56. package/dist/internal/collaboration/office-pdf-collaboration-claims.d.ts +4 -0
  57. package/dist/internal/collaboration/office-pdf-collaboration-conflicts.d.ts +2 -0
  58. package/dist/internal/collaboration/office-pdf-collaboration-model.d.ts +26 -0
  59. package/dist/internal/collaboration/office-pdf-collaboration-records.d.ts +21 -0
  60. package/dist/internal/collaboration/office-pdf-collaboration-types.d.ts +91 -0
  61. package/dist/internal/collaboration/office-pdf-collaboration-validation.d.ts +4 -0
  62. package/dist/internal/collaboration/office-pdf-collaboration.d.ts +35 -0
  63. package/dist/internal/collaboration/office-presentation-collaboration-model.d.ts +25 -0
  64. package/dist/internal/collaboration/office-presentation-collaboration-records.d.ts +22 -0
  65. package/dist/internal/collaboration/office-presentation-collaboration-validation.d.ts +4 -0
  66. package/dist/internal/collaboration/office-presentation-collaboration.d.ts +32 -0
  67. package/dist/internal/collaboration/office-spreadsheet-collaboration-cells.d.ts +13 -0
  68. package/dist/internal/collaboration/office-spreadsheet-collaboration-claims.d.ts +4 -0
  69. package/dist/internal/collaboration/office-spreadsheet-collaboration-conflicts.d.ts +2 -0
  70. package/dist/internal/collaboration/office-spreadsheet-collaboration-flat-json.d.ts +10 -0
  71. package/dist/internal/collaboration/office-spreadsheet-collaboration-model.d.ts +31 -0
  72. package/dist/internal/collaboration/office-spreadsheet-collaboration-records.d.ts +17 -0
  73. package/dist/internal/collaboration/office-spreadsheet-collaboration-validation.d.ts +4 -0
  74. package/dist/internal/collaboration/office-spreadsheet-collaboration.d.ts +32 -0
  75. package/dist/internal/design-system/primitives/navigation/tabs.d.ts +3 -1
  76. package/dist/internal/features/work/components/work-document-page-border.d.ts +6 -0
  77. package/dist/internal/features/work/editors/document-command-catalog.d.ts +536 -0
  78. package/dist/internal/features/work/editors/document-editor-focus.d.ts +1 -1
  79. package/dist/internal/features/work/editors/document-editor-support.d.ts +7 -3
  80. package/dist/internal/features/work/editors/document-editor.d.ts +8 -2
  81. package/dist/internal/features/work/editors/document-external-content.d.ts +14 -0
  82. package/dist/internal/features/work/editors/document-format-clipboard.d.ts +6 -0
  83. package/dist/internal/features/work/editors/document-format-tools.d.ts +4 -0
  84. package/dist/internal/features/work/editors/document-layout-panel.d.ts +4 -1
  85. package/dist/internal/features/work/editors/document-page-chrome-wps-shortcuts.d.ts +2 -0
  86. package/dist/internal/features/work/editors/document-page-layout-ribbon.d.ts +14 -0
  87. package/dist/internal/features/work/editors/document-page-stack.d.ts +10 -1
  88. package/dist/internal/features/work/editors/document-page-thumbnail.d.ts +2 -0
  89. package/dist/internal/features/work/editors/document-pagination-run-coordinator.d.ts +26 -0
  90. package/dist/internal/features/work/editors/document-picture-properties-dialog-model.d.ts +20 -1
  91. package/dist/internal/features/work/editors/document-review-navigation.d.ts +9 -0
  92. package/dist/internal/features/work/editors/document-statistics-dialog.d.ts +7 -0
  93. package/dist/internal/features/work/editors/document-status-bar.d.ts +2 -1
  94. package/dist/internal/features/work/editors/document-table-properties-dialog-model.d.ts +4 -1
  95. package/dist/internal/features/work/editors/document-toolbar.d.ts +19 -42
  96. package/dist/internal/features/work/editors/document-wps-shortcuts.d.ts +12 -0
  97. package/dist/internal/features/work/editors/document-zoom.d.ts +17 -0
  98. package/dist/internal/features/work/editors/markdown-editor-focus.d.ts +1 -1
  99. package/dist/internal/features/work/editors/markdown-editor.d.ts +5 -1
  100. package/dist/internal/features/work/editors/markdown-toolbar.d.ts +2 -1
  101. package/dist/internal/features/work/editors/office-collaboration-participants.d.ts +3 -0
  102. package/dist/internal/features/work/editors/office-collaboration-presence-context.d.ts +17 -0
  103. package/dist/internal/features/work/editors/office-collaboration-presence-ui.d.ts +25 -0
  104. package/dist/internal/features/work/editors/office-editor-focus-handoff.d.ts +27 -0
  105. package/dist/internal/features/work/editors/pdf-annotation-controller.d.ts +5 -0
  106. package/dist/internal/features/work/editors/pdf-collaboration-presence.d.ts +3 -0
  107. package/dist/internal/features/work/editors/pdf-collaboration-projection.d.ts +10 -0
  108. package/dist/internal/features/work/editors/pdf-evidence-contract.d.ts +36 -0
  109. package/dist/internal/features/work/editors/pdf-evidence-overlay.d.ts +37 -0
  110. package/dist/internal/features/work/editors/pdf-toolbar.d.ts +2 -1
  111. package/dist/internal/features/work/editors/pdf-viewer-controller.d.ts +7 -1
  112. package/dist/internal/features/work/editors/pdf-viewer.d.ts +11 -1
  113. package/dist/internal/features/work/editors/presentation-collaboration-presence.d.ts +5 -0
  114. package/dist/internal/features/work/editors/presentation-editor-focus.d.ts +3 -2
  115. package/dist/internal/features/work/editors/presentation-editor-types.d.ts +3 -0
  116. package/dist/internal/features/work/editors/presentation-editor.d.ts +1 -1
  117. package/dist/internal/features/work/editors/spreadsheet-auto-filter.d.ts +9 -0
  118. package/dist/internal/features/work/editors/spreadsheet-cell-clear.d.ts +3 -0
  119. package/dist/internal/features/work/editors/spreadsheet-cell-merge.d.ts +12 -0
  120. package/dist/internal/features/work/editors/spreadsheet-clipboard-shortcuts.d.ts +3 -7
  121. package/dist/internal/features/work/editors/spreadsheet-collaboration-presence.d.ts +9 -0
  122. package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +464 -0
  123. package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +45 -9
  124. package/dist/internal/features/work/editors/spreadsheet-context-menu.d.ts +2 -0
  125. package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +9 -28
  126. package/dist/internal/features/work/editors/spreadsheet-editor.d.ts +8 -2
  127. package/dist/internal/features/work/editors/spreadsheet-format-painter.d.ts +27 -0
  128. package/dist/internal/features/work/editors/spreadsheet-freeze-panes.d.ts +14 -0
  129. package/dist/internal/features/work/editors/use-document-insert-commands.d.ts +3 -2
  130. package/dist/internal/features/work/editors/use-document-pagination.d.ts +6 -1
  131. package/dist/internal/features/work/editors/use-document-review-conflicts.d.ts +28 -0
  132. package/dist/internal/features/work/editors/use-spreadsheet-auto-filter.d.ts +21 -0
  133. package/dist/internal/features/work/editors/use-spreadsheet-collaboration.d.ts +27 -0
  134. package/dist/internal/features/work/editors/use-spreadsheet-format-painter.d.ts +18 -0
  135. package/dist/internal/features/work/editors/work-office-chrome.d.ts +22 -3
  136. package/dist/internal/features/work/editors/work-office-ribbon-overflow.d.ts +2 -0
  137. package/dist/internal/features/work/work-document-bookmark-references.d.ts +37 -0
  138. package/dist/internal/features/work/work-document-bookmarks.d.ts +29 -0
  139. package/dist/internal/features/work/work-document-caption-nodes.d.ts +4 -1
  140. package/dist/internal/features/work/work-document-comments.d.ts +1 -1
  141. package/dist/internal/features/work/work-document-equations.d.ts +513 -0
  142. package/dist/internal/features/work/work-document-extensions.d.ts +1 -0
  143. package/dist/internal/features/work/work-document-field-identity.d.ts +2 -0
  144. package/dist/internal/features/work/work-document-field-node.d.ts +2 -2
  145. package/dist/internal/features/work/work-document-fields.d.ts +7 -0
  146. package/dist/internal/features/work/work-document-image-identity.d.ts +30 -0
  147. package/dist/internal/features/work/work-document-image-layout.d.ts +46 -1
  148. package/dist/internal/features/work/work-document-image-wrap-contour.d.ts +16 -0
  149. package/dist/internal/features/work/work-document-incremental-layout.d.ts +2 -2
  150. package/dist/internal/features/work/work-document-model-codec.d.ts +4 -1
  151. package/dist/internal/features/work/work-document-note-integrity.d.ts +2 -0
  152. package/dist/internal/features/work/work-document-page-borders.d.ts +25 -0
  153. package/dist/internal/features/work/work-document-page-capture.d.ts +8 -0
  154. package/dist/internal/features/work/work-document-page-frames.d.ts +15 -0
  155. package/dist/internal/features/work/work-document-page-margins.d.ts +56 -0
  156. package/dist/internal/features/work/work-document-page-size.d.ts +47 -0
  157. package/dist/internal/features/work/work-document-pagination-measurement.d.ts +1 -2
  158. package/dist/internal/features/work/work-document-pagination-types.d.ts +7 -2
  159. package/dist/internal/features/work/work-document-pagination.d.ts +2 -2
  160. package/dist/internal/features/work/work-document-paragraph-borders.d.ts +32 -0
  161. package/dist/internal/features/work/work-document-paragraph-identity.d.ts +26 -0
  162. package/dist/internal/features/work/work-document-paragraph-shading.d.ts +18 -0
  163. package/dist/internal/features/work/work-document-review-conflicts.d.ts +35 -0
  164. package/dist/internal/features/work/work-document-section.d.ts +4 -0
  165. package/dist/internal/features/work/work-document-snapshot.d.ts +19 -0
  166. package/dist/internal/features/work/work-document-source.d.ts +23 -0
  167. package/dist/internal/features/work/work-document-table-column-widths.d.ts +7 -0
  168. package/dist/internal/features/work/work-document-table-property-changes.d.ts +3 -0
  169. package/dist/internal/features/work/work-document-table-row-identity.d.ts +15 -0
  170. package/dist/internal/features/work/work-document-table-sizing.d.ts +3 -0
  171. package/dist/internal/features/work/work-document-text-layout.d.ts +3 -1
  172. package/dist/internal/features/work/work-document-word-line-metrics.d.ts +2 -0
  173. package/dist/internal/features/work/work-docx-bookmark-diagnostics.d.ts +3 -0
  174. package/dist/internal/features/work/work-docx-bookmark-import.d.ts +24 -0
  175. package/dist/internal/features/work/work-docx-bookmarks.d.ts +17 -0
  176. package/dist/internal/features/work/work-docx-comment-durable-id-preservation.d.ts +2 -0
  177. package/dist/internal/features/work/work-docx-comment-export.d.ts +3 -0
  178. package/dist/internal/features/work/work-docx-comment-metadata.d.ts +2 -0
  179. package/dist/internal/features/work/work-docx-drawing-extension-preservation.d.ts +4 -0
  180. package/dist/internal/features/work/work-docx-equation-diagnostics.d.ts +3 -0
  181. package/dist/internal/features/work/work-docx-equation-export.d.ts +14 -0
  182. package/dist/internal/features/work/work-docx-equation-import.d.ts +30 -0
  183. package/dist/internal/features/work/work-docx-equation-story.d.ts +9 -0
  184. package/dist/internal/features/work/work-docx-export-formatting.d.ts +3 -1
  185. package/dist/internal/features/work/work-docx-export-image.d.ts +5 -1
  186. package/dist/internal/features/work/work-docx-export.d.ts +1 -1
  187. package/dist/internal/features/work/work-docx-field-instructions.d.ts +8 -0
  188. package/dist/internal/features/work/work-docx-font-table-preservation.d.ts +3 -0
  189. package/dist/internal/features/work/work-docx-ignorable-extension-preservation.d.ts +15 -0
  190. package/dist/internal/features/work/work-docx-image-crop.d.ts +12 -0
  191. package/dist/internal/features/work/work-docx-image-identity.d.ts +17 -0
  192. package/dist/internal/features/work/work-docx-image-layer.d.ts +12 -0
  193. package/dist/internal/features/work/work-docx-image-layout-import.d.ts +14 -2
  194. package/dist/internal/features/work/work-docx-image-wrap.d.ts +15 -0
  195. package/dist/internal/features/work/work-docx-import.d.ts +13 -3
  196. package/dist/internal/features/work/work-docx-list-export.d.ts +18 -0
  197. package/dist/internal/features/work/work-docx-list-import.d.ts +14 -0
  198. package/dist/internal/features/work/work-docx-note-comment-content-control-block-preservation.d.ts +18 -0
  199. package/dist/internal/features/work/work-docx-note-comment-content-control-model.d.ts +47 -0
  200. package/dist/internal/features/work/work-docx-note-comment-content-control-preservation.d.ts +4 -0
  201. package/dist/internal/features/work/work-docx-note-comment-content-control-properties.d.ts +17 -0
  202. package/dist/internal/features/work/work-docx-note-comment-content-control-table-model.d.ts +17 -0
  203. package/dist/internal/features/work/work-docx-note-comment-content-control-xml.d.ts +14 -0
  204. package/dist/internal/features/work/work-docx-note-comment-extension-preservation.d.ts +2 -0
  205. package/dist/internal/features/work/work-docx-note-comment-hyperlink-content.d.ts +40 -0
  206. package/dist/internal/features/work/work-docx-note-comment-hyperlink-preservation.d.ts +5 -0
  207. package/dist/internal/features/work/work-docx-note-comment-hyperlink-relationships.d.ts +35 -0
  208. package/dist/internal/features/work/work-docx-note-comment-identity.d.ts +15 -0
  209. package/dist/internal/features/work/work-docx-note-comment-run-preservation.d.ts +4 -0
  210. package/dist/internal/features/work/work-docx-note-comment-run-properties.d.ts +2 -0
  211. package/dist/internal/features/work/work-docx-note-image-import.d.ts +12 -0
  212. package/dist/internal/features/work/work-docx-note-image-relationships.d.ts +1 -0
  213. package/dist/internal/features/work/work-docx-numbering-extension-preservation.d.ts +6 -0
  214. package/dist/internal/features/work/work-docx-numbering.d.ts +1 -0
  215. package/dist/internal/features/work/work-docx-page-borders-diagnostics.d.ts +3 -0
  216. package/dist/internal/features/work/work-docx-page-borders-import.d.ts +10 -0
  217. package/dist/internal/features/work/work-docx-page-margins-diagnostics.d.ts +3 -0
  218. package/dist/internal/features/work/work-docx-page-margins-import.d.ts +18 -0
  219. package/dist/internal/features/work/work-docx-page-size-diagnostics.d.ts +2 -0
  220. package/dist/internal/features/work/work-docx-page-size-import.d.ts +17 -0
  221. package/dist/internal/features/work/work-docx-paragraph-borders-diagnostics.d.ts +3 -0
  222. package/dist/internal/features/work/work-docx-paragraph-borders-export.d.ts +18 -0
  223. package/dist/internal/features/work/work-docx-paragraph-borders-import.d.ts +24 -0
  224. package/dist/internal/features/work/work-docx-paragraph-default-collapsed.d.ts +19 -0
  225. package/dist/internal/features/work/work-docx-paragraph-extension-preservation.d.ts +2 -0
  226. package/dist/internal/features/work/work-docx-paragraph-identity-import.d.ts +10 -0
  227. package/dist/internal/features/work/work-docx-paragraph-identity.d.ts +18 -0
  228. package/dist/internal/features/work/work-docx-paragraph-pagination-import.d.ts +6 -1
  229. package/dist/internal/features/work/work-docx-paragraph-shading-diagnostics.d.ts +3 -0
  230. package/dist/internal/features/work/work-docx-paragraph-shading-export.d.ts +5 -0
  231. package/dist/internal/features/work/work-docx-paragraph-shading-import.d.ts +18 -0
  232. package/dist/internal/features/work/work-docx-run-formatting-import.d.ts +3 -0
  233. package/dist/internal/features/work/work-docx-settings-preservation.d.ts +10 -0
  234. package/dist/internal/features/work/work-docx-settings-xml.d.ts +16 -0
  235. package/dist/internal/features/work/work-docx-style-extension-preservation.d.ts +2 -0
  236. package/dist/internal/features/work/work-docx-table-cell-export.d.ts +2 -1
  237. package/dist/internal/features/work/work-docx-table-cell-import.d.ts +3 -0
  238. package/dist/internal/features/work/work-docx-table-extension-preservation.d.ts +2 -0
  239. package/dist/internal/features/work/work-docx-table-row-import.d.ts +2 -0
  240. package/dist/internal/features/work/work-docx-table-sizing-import.d.ts +1 -0
  241. package/dist/internal/features/work/work-docx-theme-reference.d.ts +23 -0
  242. package/dist/internal/features/work/work-docx-theme.d.ts +4 -1
  243. package/dist/internal/features/work/work-docx-twips.d.ts +12 -0
  244. package/dist/internal/features/work/work-file-contract.d.ts +1 -0
  245. package/dist/internal/features/work/work-file-io.d.ts +1 -1
  246. package/dist/internal/features/work/work-markdown-extensions.d.ts +4 -1
  247. package/dist/internal/features/work/work-ooxml-package-preservation.d.ts +12 -0
  248. package/dist/internal/features/work/work-ooxml-package-security.d.ts +6 -0
  249. package/dist/internal/features/work/work-ooxml-relationship-preservation.d.ts +10 -0
  250. package/dist/internal/features/work/work-ooxml-xml.d.ts +2 -0
  251. package/dist/internal/features/work/work-pdf-export.d.ts +10 -0
  252. package/dist/internal/features/work/work-repository.d.ts +2 -0
  253. package/dist/internal/features/work/work-types.d.ts +15 -2
  254. package/dist/internal/kernel/office-kernel-client-types.d.ts +1 -0
  255. package/dist/internal/kernel/office-kernel-protocol.d.ts +7 -0
  256. package/dist/internal/kernel/office-kernel-version.d.ts +1 -1
  257. package/dist/office-kernel.wasm +0 -0
  258. package/dist/office-kernel.worker.js +93 -41
  259. package/dist/react.d.ts +18 -12
  260. package/dist/react.js +1 -1
  261. package/dist/styles.css +1367 -16
  262. package/dist/vue.d.ts +48 -5
  263. package/dist/vue.js +42 -3
  264. package/dist/web-component.d.ts +24 -2
  265. package/dist/web-component.js +101 -2
  266. package/docs/latest/en/browser-editor-architecture.md +262 -47
  267. package/package.json +29 -4
  268. package/dist/0~152.js +0 -94
  269. package/dist/0~2582.js +0 -485
  270. package/dist/0~4750.js +0 -939
  271. package/dist/0~5861.js +0 -596
  272. package/dist/0~work-document-extensions.js +0 -3045
  273. package/dist/0~work-document-model-codec.js +0 -42
  274. package/dist/0~work-docx-bibliography.js +0 -347
  275. package/dist/0~work-docx-page-color.js +0 -42
  276. package/dist/2881.js +0 -1455
  277. package/dist/8728.js +0 -723
package/dist/vue.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import type { Extensions } from '@tiptap/core';
2
- import { type DocumentLayoutFont, type OfficeFileAction } from './react';
3
- import type { DocumentContent, EditorAgentRequest, GetDocumentSelectionMenuItems, GetMarkdownSelectionMenuItems, MarkdownContent, PresentationContent, SpreadsheetContent } from './core';
4
2
  import { type PropType } from 'vue';
3
+ import type { DocumentContent, DocumentReviewConflictEvent, EditorAgentRequest, GetDocumentSelectionMenuItems, GetMarkdownSelectionMenuItems, MarkdownContent, OfficeCollaborationPresence, OfficeCollaborationSession, PdfCollaborationContent, PresentationContent, SpreadsheetContent } from './core';
5
4
  import type { OfficeTheme } from './office-surface';
5
+ import { type DocumentLayoutFont, type OfficeFileAction, type PdfEvidenceOverlay, type PdfEvidenceRegion } from './react';
6
6
  export declare const DocumentEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
7
  artifactId: StringConstructor;
8
+ collaboration: PropType<OfficeCollaborationSession>;
9
+ presence: PropType<OfficeCollaborationPresence>;
8
10
  content: {
9
11
  required: true;
10
12
  type: PropType<DocumentContent>;
@@ -37,9 +39,12 @@ export declare const DocumentEditor: import("vue").DefineComponent<import("vue")
37
39
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
40
  agentRequest: (_request: EditorAgentRequest) => true;
39
41
  change: (_content: DocumentContent) => true;
42
+ reviewConflict: (_event: DocumentReviewConflictEvent) => true;
40
43
  'update:content': (_content: DocumentContent) => true;
41
44
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
42
45
  artifactId: StringConstructor;
46
+ collaboration: PropType<OfficeCollaborationSession>;
47
+ presence: PropType<OfficeCollaborationPresence>;
43
48
  content: {
44
49
  required: true;
45
50
  type: PropType<DocumentContent>;
@@ -70,15 +75,18 @@ export declare const DocumentEditor: import("vue").DefineComponent<import("vue")
70
75
  }>> & Readonly<{
71
76
  onChange?: ((_content: DocumentContent) => any) | undefined;
72
77
  onAgentRequest?: ((_request: EditorAgentRequest) => any) | undefined;
78
+ onReviewConflict?: ((_event: DocumentReviewConflictEvent) => any) | undefined;
73
79
  "onUpdate:content"?: ((_content: DocumentContent) => any) | undefined;
74
80
  }>, {
75
81
  theme: OfficeTheme;
76
- layoutFonts: readonly DocumentLayoutFont[];
77
82
  extensions: Extensions;
83
+ layoutFonts: readonly DocumentLayoutFont[];
78
84
  fileActions: readonly OfficeFileAction[];
79
85
  preview: boolean;
80
86
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
81
87
  export declare const MarkdownEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
88
+ collaboration: PropType<OfficeCollaborationSession>;
89
+ presence: PropType<OfficeCollaborationPresence>;
82
90
  content: {
83
91
  required: true;
84
92
  type: PropType<MarkdownContent>;
@@ -107,6 +115,8 @@ export declare const MarkdownEditor: import("vue").DefineComponent<import("vue")
107
115
  change: (_content: MarkdownContent) => true;
108
116
  'update:content': (_content: MarkdownContent) => true;
109
117
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
118
+ collaboration: PropType<OfficeCollaborationSession>;
119
+ presence: PropType<OfficeCollaborationPresence>;
110
120
  content: {
111
121
  required: true;
112
122
  type: PropType<MarkdownContent>;
@@ -139,6 +149,8 @@ export declare const MarkdownEditor: import("vue").DefineComponent<import("vue")
139
149
  preview: boolean;
140
150
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
141
151
  export declare const SpreadsheetEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
152
+ collaboration: PropType<OfficeCollaborationSession>;
153
+ presence: PropType<OfficeCollaborationPresence>;
142
154
  content: {
143
155
  required: true;
144
156
  type: PropType<SpreadsheetContent>;
@@ -164,6 +176,8 @@ export declare const SpreadsheetEditor: import("vue").DefineComponent<import("vu
164
176
  change: (_content: SpreadsheetContent) => true;
165
177
  'update:content': (_content: SpreadsheetContent) => true;
166
178
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
179
+ collaboration: PropType<OfficeCollaborationSession>;
180
+ presence: PropType<OfficeCollaborationPresence>;
167
181
  content: {
168
182
  required: true;
169
183
  type: PropType<SpreadsheetContent>;
@@ -192,6 +206,8 @@ export declare const SpreadsheetEditor: import("vue").DefineComponent<import("vu
192
206
  preview: boolean;
193
207
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
194
208
  export declare const PresentationEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
209
+ collaboration: PropType<OfficeCollaborationSession>;
210
+ presence: PropType<OfficeCollaborationPresence>;
195
211
  content: {
196
212
  required: true;
197
213
  type: PropType<PresentationContent>;
@@ -218,6 +234,8 @@ export declare const PresentationEditor: import("vue").DefineComponent<import("v
218
234
  startSlideshow: () => true;
219
235
  'update:content': (_content: PresentationContent) => true;
220
236
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
237
+ collaboration: PropType<OfficeCollaborationSession>;
238
+ presence: PropType<OfficeCollaborationPresence>;
221
239
  content: {
222
240
  required: true;
223
241
  type: PropType<PresentationContent>;
@@ -247,6 +265,9 @@ export declare const PresentationEditor: import("vue").DefineComponent<import("v
247
265
  preview: boolean;
248
266
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
249
267
  export declare const PdfViewer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
268
+ collaboration: PropType<OfficeCollaborationSession>;
269
+ evidenceOverlay: PropType<PdfEvidenceOverlay>;
270
+ presence: PropType<OfficeCollaborationPresence>;
250
271
  fileName: StringConstructor;
251
272
  loadSource: {
252
273
  required: true;
@@ -254,15 +275,27 @@ export declare const PdfViewer: import("vue").DefineComponent<import("vue").Extr
254
275
  };
255
276
  onSave: PropType<(pdf: Blob) => Promise<boolean>>;
256
277
  saveLabel: StringConstructor;
278
+ selectedEvidenceRegionId: StringConstructor;
257
279
  sourceKey: StringConstructor;
258
280
  theme: {
259
281
  readonly default: "system";
260
282
  readonly type: PropType<OfficeTheme>;
261
283
  };
262
284
  wasmUrl: StringConstructor;
285
+ worker: {
286
+ default: undefined;
287
+ type: PropType<boolean | undefined>;
288
+ };
263
289
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
264
290
  [key: string]: any;
265
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
291
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
292
+ collaborationChange: (_content: PdfCollaborationContent) => true;
293
+ evidenceRegionSelect: (_region: PdfEvidenceRegion) => true;
294
+ pageChange: (_pageNumber: number) => true;
295
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
296
+ collaboration: PropType<OfficeCollaborationSession>;
297
+ evidenceOverlay: PropType<PdfEvidenceOverlay>;
298
+ presence: PropType<OfficeCollaborationPresence>;
266
299
  fileName: StringConstructor;
267
300
  loadSource: {
268
301
  required: true;
@@ -270,13 +303,23 @@ export declare const PdfViewer: import("vue").DefineComponent<import("vue").Extr
270
303
  };
271
304
  onSave: PropType<(pdf: Blob) => Promise<boolean>>;
272
305
  saveLabel: StringConstructor;
306
+ selectedEvidenceRegionId: StringConstructor;
273
307
  sourceKey: StringConstructor;
274
308
  theme: {
275
309
  readonly default: "system";
276
310
  readonly type: PropType<OfficeTheme>;
277
311
  };
278
312
  wasmUrl: StringConstructor;
279
- }>> & Readonly<{}>, {
313
+ worker: {
314
+ default: undefined;
315
+ type: PropType<boolean | undefined>;
316
+ };
317
+ }>> & Readonly<{
318
+ onCollaborationChange?: ((_content: PdfCollaborationContent) => any) | undefined;
319
+ onEvidenceRegionSelect?: ((_region: PdfEvidenceRegion) => any) | undefined;
320
+ onPageChange?: ((_pageNumber: number) => any) | undefined;
321
+ }>, {
280
322
  theme: OfficeTheme;
323
+ worker: boolean | undefined;
281
324
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
282
325
  export { DocumentEditor as A3SDocumentEditor, MarkdownEditor as A3SMarkdownEditor, PdfViewer as A3SPdfViewer, PresentationEditor as A3SPresentationEditor, SpreadsheetEditor as A3SSpreadsheetEditor, };
package/dist/vue.js CHANGED
@@ -39,6 +39,8 @@ const DocumentEditor = defineComponent({
39
39
  name: 'A3SDocumentEditor',
40
40
  props: {
41
41
  artifactId: String,
42
+ collaboration: Object,
43
+ presence: Object,
42
44
  content: {
43
45
  required: true,
44
46
  type: Object
@@ -64,11 +66,14 @@ const DocumentEditor = defineComponent({
64
66
  emits: {
65
67
  agentRequest: (_request)=>true,
66
68
  change: (_content)=>true,
69
+ reviewConflict: (_event)=>true,
67
70
  'update:content': (_content)=>true
68
71
  },
69
72
  setup (props, { emit }) {
70
73
  return createReactRenderer(()=>createElement(react_DocumentEditor, {
71
74
  artifactId: props.artifactId,
75
+ collaboration: props.collaboration,
76
+ presence: props.presence,
72
77
  content: props.content,
73
78
  extensions: props.extensions,
74
79
  fileActions: props.fileActions,
@@ -76,6 +81,7 @@ const DocumentEditor = defineComponent({
76
81
  kernelWasmUrl: props.kernelWasmUrl,
77
82
  layoutFonts: props.layoutFonts,
78
83
  onAgentRequest: (request)=>emit('agentRequest', request),
84
+ onReviewConflict: (event)=>emit('reviewConflict', event),
79
85
  onChange: (content)=>{
80
86
  emit('update:content', content);
81
87
  emit('change', content);
@@ -89,6 +95,8 @@ const DocumentEditor = defineComponent({
89
95
  const MarkdownEditor = defineComponent({
90
96
  name: 'A3SMarkdownEditor',
91
97
  props: {
98
+ collaboration: Object,
99
+ presence: Object,
92
100
  content: {
93
101
  required: true,
94
102
  type: Object
@@ -112,6 +120,8 @@ const MarkdownEditor = defineComponent({
112
120
  },
113
121
  setup (props, { emit }) {
114
122
  return createReactRenderer(()=>createElement(react_MarkdownEditor, {
123
+ collaboration: props.collaboration,
124
+ presence: props.presence,
115
125
  content: props.content,
116
126
  extensions: props.extensions,
117
127
  fileActions: props.fileActions,
@@ -129,6 +139,8 @@ const MarkdownEditor = defineComponent({
129
139
  const SpreadsheetEditor = defineComponent({
130
140
  name: 'A3SSpreadsheetEditor',
131
141
  props: {
142
+ collaboration: Object,
143
+ presence: Object,
132
144
  content: {
133
145
  required: true,
134
146
  type: Object
@@ -149,6 +161,8 @@ const SpreadsheetEditor = defineComponent({
149
161
  },
150
162
  setup (props, { emit }) {
151
163
  return createReactRenderer(()=>createElement(react_SpreadsheetEditor, {
164
+ collaboration: props.collaboration,
165
+ presence: props.presence,
152
166
  content: props.content,
153
167
  fileActions: props.fileActions,
154
168
  kernelWasmUrl: props.kernelWasmUrl,
@@ -166,6 +180,8 @@ const SpreadsheetEditor = defineComponent({
166
180
  const PresentationEditor = defineComponent({
167
181
  name: 'A3SPresentationEditor',
168
182
  props: {
183
+ collaboration: Object,
184
+ presence: Object,
169
185
  content: {
170
186
  required: true,
171
187
  type: Object
@@ -187,6 +203,8 @@ const PresentationEditor = defineComponent({
187
203
  },
188
204
  setup (props, { emit }) {
189
205
  return createReactRenderer(()=>createElement(react_PresentationEditor, {
206
+ collaboration: props.collaboration,
207
+ presence: props.presence,
190
208
  content: props.content,
191
209
  fileActions: props.fileActions,
192
210
  kernelWasmUrl: props.kernelWasmUrl,
@@ -205,6 +223,9 @@ const PresentationEditor = defineComponent({
205
223
  const PdfViewer = defineComponent({
206
224
  name: 'A3SPdfViewer',
207
225
  props: {
226
+ collaboration: Object,
227
+ evidenceOverlay: Object,
228
+ presence: Object,
208
229
  fileName: String,
209
230
  loadSource: {
210
231
  required: true,
@@ -212,19 +233,37 @@ const PdfViewer = defineComponent({
212
233
  },
213
234
  onSave: Function,
214
235
  saveLabel: String,
236
+ selectedEvidenceRegionId: String,
215
237
  sourceKey: String,
216
238
  theme: themeProp,
217
- wasmUrl: String
239
+ wasmUrl: String,
240
+ worker: {
241
+ default: void 0,
242
+ type: Boolean
243
+ }
218
244
  },
219
- setup (props) {
245
+ emits: {
246
+ collaborationChange: (_content)=>true,
247
+ evidenceRegionSelect: (_region)=>true,
248
+ pageChange: (_pageNumber)=>true
249
+ },
250
+ setup (props, { emit }) {
220
251
  return createReactRenderer(()=>createElement(react_PdfViewer, {
252
+ collaboration: props.collaboration,
253
+ evidenceOverlay: props.evidenceOverlay,
254
+ presence: props.presence,
221
255
  fileName: props.fileName,
222
256
  loadSource: props.loadSource,
257
+ onCollaborationChange: (content)=>emit('collaborationChange', content),
258
+ onEvidenceRegionSelect: (region)=>emit('evidenceRegionSelect', region),
259
+ onPageChange: (pageNumber)=>emit('pageChange', pageNumber),
223
260
  onSave: props.onSave,
224
261
  saveLabel: props.saveLabel,
262
+ selectedEvidenceRegionId: props.selectedEvidenceRegionId,
225
263
  sourceKey: props.sourceKey,
226
264
  theme: props.theme,
227
- wasmUrl: props.wasmUrl
265
+ wasmUrl: props.wasmUrl,
266
+ worker: props.worker
228
267
  }));
229
268
  }
230
269
  });
@@ -1,14 +1,16 @@
1
1
  import type { Extensions } from '@tiptap/core';
2
2
  import { type ReactNode } from 'react';
3
- import type { DocumentContent, EditorAgentRequest, GetDocumentSelectionMenuItems, GetMarkdownSelectionMenuItems, MarkdownContent, PresentationContent, SpreadsheetContent } from './core';
4
- import { type DocumentLayoutFont, type OfficeFileAction } from './react';
3
+ import type { DocumentContent, EditorAgentRequest, GetDocumentSelectionMenuItems, GetMarkdownSelectionMenuItems, MarkdownContent, OfficeCollaborationPresence, OfficeCollaborationSession, PdfCollaborationContent, PresentationContent, SpreadsheetContent } from './core';
5
4
  import type { OfficeTheme } from './office-surface';
5
+ import { type DocumentLayoutFont, type OfficeFileAction, type PdfEvidenceOverlay } from './react';
6
6
  declare const HTMLElementBase: {
7
7
  new (): HTMLElement;
8
8
  prototype: HTMLElement;
9
9
  };
10
10
  declare abstract class A3SOfficeElement extends HTMLElementBase {
11
11
  #private;
12
+ get presence(): OfficeCollaborationPresence | undefined;
13
+ set presence(value: OfficeCollaborationPresence | undefined);
12
14
  connectedCallback(): void;
13
15
  disconnectedCallback(): void;
14
16
  attributeChangedCallback(): void;
@@ -35,6 +37,8 @@ export declare class A3SDocumentEditorElement extends A3SContentEditorElement<Do
35
37
  #private;
36
38
  static get observedAttributes(): string[];
37
39
  get artifactId(): string | undefined;
40
+ get collaboration(): OfficeCollaborationSession | undefined;
41
+ set collaboration(value: OfficeCollaborationSession | undefined);
38
42
  set artifactId(value: string | undefined);
39
43
  get kernelWasmUrl(): string | undefined;
40
44
  set kernelWasmUrl(value: string | undefined);
@@ -49,6 +53,8 @@ export declare class A3SDocumentEditorElement extends A3SContentEditorElement<Do
49
53
  export declare class A3SMarkdownEditorElement extends A3SContentEditorElement<MarkdownContent> {
50
54
  #private;
51
55
  static get observedAttributes(): string[];
56
+ get collaboration(): OfficeCollaborationSession | undefined;
57
+ set collaboration(value: OfficeCollaborationSession | undefined);
52
58
  get extensions(): Extensions | undefined;
53
59
  set extensions(value: Extensions | undefined);
54
60
  get getSelectionMenuItems(): GetMarkdownSelectionMenuItems | undefined;
@@ -56,26 +62,42 @@ export declare class A3SMarkdownEditorElement extends A3SContentEditorElement<Ma
56
62
  protected editorNode(): ReactNode;
57
63
  }
58
64
  export declare class A3SSpreadsheetEditorElement extends A3SContentEditorElement<SpreadsheetContent> {
65
+ #private;
59
66
  static get observedAttributes(): string[];
60
67
  get kernelWasmUrl(): string | undefined;
68
+ get collaboration(): OfficeCollaborationSession | undefined;
69
+ set collaboration(value: OfficeCollaborationSession | undefined);
61
70
  set kernelWasmUrl(value: string | undefined);
62
71
  protected editorNode(): ReactNode;
63
72
  }
64
73
  export declare class A3SPresentationEditorElement extends A3SContentEditorElement<PresentationContent> {
74
+ #private;
65
75
  static get observedAttributes(): string[];
66
76
  get kernelWasmUrl(): string | undefined;
77
+ get collaboration(): OfficeCollaborationSession | undefined;
78
+ set collaboration(value: OfficeCollaborationSession | undefined);
67
79
  set kernelWasmUrl(value: string | undefined);
68
80
  protected editorNode(): ReactNode;
69
81
  }
70
82
  export declare class A3SPdfViewerElement extends A3SOfficeElement {
71
83
  #private;
72
84
  static get observedAttributes(): string[];
85
+ get evidenceOverlay(): PdfEvidenceOverlay | undefined;
86
+ set evidenceOverlay(value: PdfEvidenceOverlay | undefined);
87
+ get collaboration(): OfficeCollaborationSession | undefined;
88
+ set collaboration(value: OfficeCollaborationSession | undefined);
73
89
  get loadSource(): (() => Promise<Blob>) | undefined;
74
90
  set loadSource(value: (() => Promise<Blob>) | undefined);
91
+ get onCollaborationChange(): ((content: PdfCollaborationContent) => void) | undefined;
92
+ set onCollaborationChange(value: ((content: PdfCollaborationContent) => void) | undefined);
75
93
  get onSave(): ((pdf: Blob) => Promise<boolean>) | undefined;
76
94
  set onSave(value: ((pdf: Blob) => Promise<boolean>) | undefined);
95
+ get selectedEvidenceRegionId(): string | undefined;
96
+ set selectedEvidenceRegionId(value: string | undefined);
77
97
  get theme(): OfficeTheme;
78
98
  set theme(value: OfficeTheme);
99
+ get worker(): boolean;
100
+ set worker(value: boolean);
79
101
  protected editorNode(): ReactNode;
80
102
  }
81
103
  export declare const A3S_OFFICE_ELEMENT_NAMES: {
@@ -4,7 +4,15 @@ import { MarkdownEditor, PdfViewer, DocumentEditor, PresentationEditor, Spreadsh
4
4
  const HTMLElementBase = "u" < typeof HTMLElement ? class {
5
5
  } : HTMLElement;
6
6
  class A3SOfficeElement extends HTMLElementBase {
7
+ #presence;
7
8
  #root = null;
9
+ get presence() {
10
+ return this.#presence;
11
+ }
12
+ set presence(value) {
13
+ this.#presence = value;
14
+ this.requestRender();
15
+ }
8
16
  connectedCallback() {
9
17
  this.renderReactTree();
10
18
  }
@@ -89,6 +97,7 @@ class A3SContentEditorElement extends A3SOfficeElement {
89
97
  }
90
98
  }
91
99
  class A3SDocumentEditorElement extends A3SContentEditorElement {
100
+ #collaboration;
92
101
  #extensions;
93
102
  #getSelectionMenuItems;
94
103
  #layoutFonts;
@@ -104,6 +113,13 @@ class A3SDocumentEditorElement extends A3SContentEditorElement {
104
113
  get artifactId() {
105
114
  return this.getAttribute('artifact-id') ?? void 0;
106
115
  }
116
+ get collaboration() {
117
+ return this.#collaboration;
118
+ }
119
+ set collaboration(value) {
120
+ this.#collaboration = value;
121
+ this.requestRender();
122
+ }
107
123
  set artifactId(value) {
108
124
  if (void 0 === value) this.removeAttribute('artifact-id');
109
125
  else this.setAttribute('artifact-id', value);
@@ -140,6 +156,8 @@ class A3SDocumentEditorElement extends A3SContentEditorElement {
140
156
  if (!this.content) return missingContent('document', this.theme);
141
157
  return /*#__PURE__*/ createElement(DocumentEditor, {
142
158
  artifactId: this.artifactId,
159
+ collaboration: this.collaboration,
160
+ presence: this.presence,
143
161
  content: this.content,
144
162
  extensions: this.extensions,
145
163
  fileActions: this.fileActions,
@@ -148,6 +166,7 @@ class A3SDocumentEditorElement extends A3SContentEditorElement {
148
166
  layoutFonts: this.layoutFonts,
149
167
  onAgentRequest: (request)=>this.requestAgent(request),
150
168
  onChange: (content)=>this.changeContent(content),
169
+ onReviewConflict: (event)=>dispatchDetail(this, 'review-conflict', event),
151
170
  preview: this.preview,
152
171
  saveStatus: this.saveStatus,
153
172
  theme: this.theme
@@ -155,6 +174,7 @@ class A3SDocumentEditorElement extends A3SContentEditorElement {
155
174
  }
156
175
  }
157
176
  class A3SMarkdownEditorElement extends A3SContentEditorElement {
177
+ #collaboration;
158
178
  #extensions;
159
179
  #getSelectionMenuItems;
160
180
  static get observedAttributes() {
@@ -164,6 +184,13 @@ class A3SMarkdownEditorElement extends A3SContentEditorElement {
164
184
  'theme'
165
185
  ];
166
186
  }
187
+ get collaboration() {
188
+ return this.#collaboration;
189
+ }
190
+ set collaboration(value) {
191
+ this.#collaboration = value;
192
+ this.requestRender();
193
+ }
167
194
  get extensions() {
168
195
  return this.#extensions;
169
196
  }
@@ -181,6 +208,8 @@ class A3SMarkdownEditorElement extends A3SContentEditorElement {
181
208
  editorNode() {
182
209
  if (!this.content) return missingContent('Markdown', this.theme);
183
210
  return /*#__PURE__*/ createElement(MarkdownEditor, {
211
+ collaboration: this.collaboration,
212
+ presence: this.presence,
184
213
  content: this.content,
185
214
  extensions: this.extensions,
186
215
  fileActions: this.fileActions,
@@ -193,6 +222,7 @@ class A3SMarkdownEditorElement extends A3SContentEditorElement {
193
222
  }
194
223
  }
195
224
  class A3SSpreadsheetEditorElement extends A3SContentEditorElement {
225
+ #collaboration;
196
226
  static get observedAttributes() {
197
227
  return [
198
228
  'kernel-wasm-url',
@@ -204,6 +234,13 @@ class A3SSpreadsheetEditorElement extends A3SContentEditorElement {
204
234
  get kernelWasmUrl() {
205
235
  return this.getAttribute('kernel-wasm-url') ?? void 0;
206
236
  }
237
+ get collaboration() {
238
+ return this.#collaboration;
239
+ }
240
+ set collaboration(value) {
241
+ this.#collaboration = value;
242
+ this.requestRender();
243
+ }
207
244
  set kernelWasmUrl(value) {
208
245
  if (void 0 === value) this.removeAttribute('kernel-wasm-url');
209
246
  else this.setAttribute('kernel-wasm-url', value);
@@ -211,6 +248,8 @@ class A3SSpreadsheetEditorElement extends A3SContentEditorElement {
211
248
  editorNode() {
212
249
  if (!this.content) return missingContent('spreadsheet', this.theme);
213
250
  return /*#__PURE__*/ createElement(SpreadsheetEditor, {
251
+ collaboration: this.collaboration,
252
+ presence: this.presence,
214
253
  content: this.content,
215
254
  fileActions: this.fileActions,
216
255
  kernelWasmUrl: this.kernelWasmUrl,
@@ -223,6 +262,7 @@ class A3SSpreadsheetEditorElement extends A3SContentEditorElement {
223
262
  }
224
263
  }
225
264
  class A3SPresentationEditorElement extends A3SContentEditorElement {
265
+ #collaboration;
226
266
  static get observedAttributes() {
227
267
  return [
228
268
  'kernel-wasm-url',
@@ -234,6 +274,13 @@ class A3SPresentationEditorElement extends A3SContentEditorElement {
234
274
  get kernelWasmUrl() {
235
275
  return this.getAttribute('kernel-wasm-url') ?? void 0;
236
276
  }
277
+ get collaboration() {
278
+ return this.#collaboration;
279
+ }
280
+ set collaboration(value) {
281
+ this.#collaboration = value;
282
+ this.requestRender();
283
+ }
237
284
  set kernelWasmUrl(value) {
238
285
  if (void 0 === value) this.removeAttribute('kernel-wasm-url');
239
286
  else this.setAttribute('kernel-wasm-url', value);
@@ -241,6 +288,8 @@ class A3SPresentationEditorElement extends A3SContentEditorElement {
241
288
  editorNode() {
242
289
  if (!this.content) return missingContent('presentation', this.theme);
243
290
  return /*#__PURE__*/ createElement(PresentationEditor, {
291
+ collaboration: this.collaboration,
292
+ presence: this.presence,
244
293
  content: this.content,
245
294
  fileActions: this.fileActions,
246
295
  kernelWasmUrl: this.kernelWasmUrl,
@@ -254,17 +303,36 @@ class A3SPresentationEditorElement extends A3SContentEditorElement {
254
303
  }
255
304
  }
256
305
  class A3SPdfViewerElement extends A3SOfficeElement {
306
+ #collaboration;
307
+ #evidenceOverlay;
257
308
  #loadSource;
309
+ #onCollaborationChange;
258
310
  #onSave;
259
311
  static get observedAttributes() {
260
312
  return [
261
313
  'file-name',
262
314
  'save-label',
315
+ 'selected-evidence-region-id',
263
316
  'source-key',
264
317
  'theme',
265
- 'wasm-url'
318
+ 'wasm-url',
319
+ 'worker'
266
320
  ];
267
321
  }
322
+ get evidenceOverlay() {
323
+ return this.#evidenceOverlay;
324
+ }
325
+ set evidenceOverlay(value) {
326
+ this.#evidenceOverlay = value;
327
+ this.requestRender();
328
+ }
329
+ get collaboration() {
330
+ return this.#collaboration;
331
+ }
332
+ set collaboration(value) {
333
+ this.#collaboration = value;
334
+ this.requestRender();
335
+ }
268
336
  get loadSource() {
269
337
  return this.#loadSource;
270
338
  }
@@ -272,6 +340,13 @@ class A3SPdfViewerElement extends A3SOfficeElement {
272
340
  this.#loadSource = value;
273
341
  this.requestRender();
274
342
  }
343
+ get onCollaborationChange() {
344
+ return this.#onCollaborationChange;
345
+ }
346
+ set onCollaborationChange(value) {
347
+ this.#onCollaborationChange = value;
348
+ this.requestRender();
349
+ }
275
350
  get onSave() {
276
351
  return this.#onSave;
277
352
  }
@@ -279,22 +354,46 @@ class A3SPdfViewerElement extends A3SOfficeElement {
279
354
  this.#onSave = value;
280
355
  this.requestRender();
281
356
  }
357
+ get selectedEvidenceRegionId() {
358
+ return this.getAttribute('selected-evidence-region-id') ?? void 0;
359
+ }
360
+ set selectedEvidenceRegionId(value) {
361
+ if (void 0 === value) this.removeAttribute('selected-evidence-region-id');
362
+ else this.setAttribute('selected-evidence-region-id', value);
363
+ }
282
364
  get theme() {
283
365
  return themeFrom(this);
284
366
  }
285
367
  set theme(value) {
286
368
  this.setAttribute('theme', value);
287
369
  }
370
+ get worker() {
371
+ return 'false' !== this.getAttribute('worker');
372
+ }
373
+ set worker(value) {
374
+ this.setAttribute('worker', String(value));
375
+ }
288
376
  editorNode() {
289
377
  if (!this.loadSource) return missingContent('PDF source loader', this.theme);
290
378
  return /*#__PURE__*/ createElement(PdfViewer, {
379
+ collaboration: this.collaboration,
380
+ evidenceOverlay: this.evidenceOverlay,
381
+ presence: this.presence,
291
382
  fileName: this.getAttribute('file-name') ?? void 0,
292
383
  loadSource: this.loadSource,
384
+ onCollaborationChange: (content)=>{
385
+ this.onCollaborationChange?.(content);
386
+ dispatchDetail(this, 'collaboration-change', content);
387
+ },
388
+ onEvidenceRegionSelect: (region)=>dispatchDetail(this, 'evidence-select', region),
389
+ onPageChange: (pageNumber)=>dispatchDetail(this, 'page-change', pageNumber),
293
390
  onSave: this.onSave,
294
391
  saveLabel: this.getAttribute('save-label') ?? void 0,
392
+ selectedEvidenceRegionId: this.selectedEvidenceRegionId,
295
393
  sourceKey: this.getAttribute('source-key') ?? void 0,
296
394
  theme: this.theme,
297
- wasmUrl: this.getAttribute('wasm-url') ?? void 0
395
+ wasmUrl: this.getAttribute('wasm-url') ?? void 0,
396
+ worker: this.worker
298
397
  });
299
398
  }
300
399
  }