@arbidocs/blocks 0.5.120 → 0.5.122

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 (417) hide show
  1. package/dist/ClippingMediaViewer-IEIBT74X.cjs +156 -0
  2. package/dist/ClippingMediaViewer-IEIBT74X.cjs.map +1 -0
  3. package/dist/ClippingPdfViewer-OGYLMVCE.cjs +79 -0
  4. package/dist/ClippingPdfViewer-OGYLMVCE.cjs.map +1 -0
  5. package/dist/{ConnectedCallDock-WER7R222.cjs → ConnectedCallDock-XJOYVVAH.cjs} +9 -7
  6. package/dist/ConnectedCallDock-XJOYVVAH.cjs.map +1 -0
  7. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs → ConnectedCallRoom-CUDYAPQK.cjs} +9 -7
  8. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs.map → ConnectedCallRoom-CUDYAPQK.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs → ConnectedNativeDocxComparison-QKHCYD6W.cjs} +7 -7
  10. package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs.map → ConnectedNativeDocxComparison-QKHCYD6W.cjs.map} +1 -1
  11. package/dist/ConnectedPresentation-AU25OW25.cjs +321 -0
  12. package/dist/ConnectedPresentation-AU25OW25.cjs.map +1 -0
  13. package/dist/ConnectedSlidesTab-I75LKKN7.cjs +236 -0
  14. package/dist/ConnectedSlidesTab-I75LKKN7.cjs.map +1 -0
  15. package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs → ConnectedStreamedWordArtifact-AG62232A.cjs} +7 -7
  16. package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs.map → ConnectedStreamedWordArtifact-AG62232A.cjs.map} +1 -1
  17. package/dist/{DocumentReviewCard-BPIAJJED.cjs → DocumentReviewCard-M53XFLI2.cjs} +15 -14
  18. package/dist/DocumentReviewCard-M53XFLI2.cjs.map +1 -0
  19. package/dist/{FilesViewerDialog-67WK3TZC.cjs → FilesViewerDialog-4352KIOG.cjs} +30 -22
  20. package/dist/FilesViewerDialog-4352KIOG.cjs.map +1 -0
  21. package/dist/{GridViewImpl-ZMJJWTOM.cjs → GridViewImpl-LTYET77Q.cjs} +3 -3
  22. package/dist/GridViewImpl-LTYET77Q.cjs.map +1 -0
  23. package/dist/{WorkspaceTableView-J3C6VH4T.cjs → WorkspaceTableView-3XYAV4BV.cjs} +9 -8
  24. package/dist/WorkspaceTableView-3XYAV4BV.cjs.map +1 -0
  25. package/dist/agents/index.cjs +186 -186
  26. package/dist/{ai-IM4A23YT.cjs → ai-IEIR7SC2.cjs} +17 -15
  27. package/dist/ai-IEIR7SC2.cjs.map +1 -0
  28. package/dist/calls/connected/CallControls.d.ts +2 -0
  29. package/dist/calls/connected/CallControls.js +71 -9
  30. package/dist/calls/connected/CallControls.js.map +2 -2
  31. package/dist/calls/connected/ShareDocumentDialog.d.ts +14 -0
  32. package/dist/calls/connected/ShareDocumentDialog.js +77 -0
  33. package/dist/calls/connected/ShareDocumentDialog.js.map +7 -0
  34. package/dist/calls/index.cjs +2 -2
  35. package/dist/chat/index.cjs +8 -7
  36. package/dist/{chunk-557MJ4IH.cjs → chunk-2F57IO7S.cjs} +9 -146
  37. package/dist/chunk-2F57IO7S.cjs.map +1 -0
  38. package/dist/chunk-2RLA6QO2.cjs +174 -0
  39. package/dist/chunk-2RLA6QO2.cjs.map +1 -0
  40. package/dist/chunk-4TTX6ZNS.cjs +1374 -0
  41. package/dist/chunk-4TTX6ZNS.cjs.map +1 -0
  42. package/dist/chunk-5GCCUXMT.cjs +63 -0
  43. package/dist/chunk-5GCCUXMT.cjs.map +1 -0
  44. package/dist/{chunk-BUVIBHFU.cjs → chunk-5QERK4PK.cjs} +38 -38
  45. package/dist/chunk-5QERK4PK.cjs.map +1 -0
  46. package/dist/chunk-6OK7ESTL.cjs +134 -0
  47. package/dist/chunk-6OK7ESTL.cjs.map +1 -0
  48. package/dist/{chunk-ECLUFKYR.cjs → chunk-7557LDAN.cjs} +4 -4
  49. package/dist/{chunk-ECLUFKYR.cjs.map → chunk-7557LDAN.cjs.map} +1 -1
  50. package/dist/{chunk-KTQOGT2L.cjs → chunk-7L4X6QN2.cjs} +7 -7
  51. package/dist/{chunk-KTQOGT2L.cjs.map → chunk-7L4X6QN2.cjs.map} +1 -1
  52. package/dist/{chunk-BP3IJ34D.cjs → chunk-7NLO7ASW.cjs} +4 -4
  53. package/dist/{chunk-BP3IJ34D.cjs.map → chunk-7NLO7ASW.cjs.map} +1 -1
  54. package/dist/{chunk-3GWWOYGS.cjs → chunk-7PN3YENO.cjs} +4 -4
  55. package/dist/{chunk-3GWWOYGS.cjs.map → chunk-7PN3YENO.cjs.map} +1 -1
  56. package/dist/{chunk-DFBDQKGE.cjs → chunk-ADDQKZ5I.cjs} +4 -4
  57. package/dist/{chunk-DFBDQKGE.cjs.map → chunk-ADDQKZ5I.cjs.map} +1 -1
  58. package/dist/chunk-AFQTQC7A.cjs +35 -0
  59. package/dist/chunk-AFQTQC7A.cjs.map +1 -0
  60. package/dist/{chunk-NLSWDP42.cjs → chunk-ALK3PUUB.cjs} +21 -11
  61. package/dist/chunk-ALK3PUUB.cjs.map +1 -0
  62. package/dist/{chunk-775S43W7.cjs → chunk-CQQQIZU4.cjs} +8 -8
  63. package/dist/{chunk-775S43W7.cjs.map → chunk-CQQQIZU4.cjs.map} +1 -1
  64. package/dist/{chunk-TDO5UWXF.cjs → chunk-E3L5DB5F.cjs} +5 -5
  65. package/dist/{chunk-TDO5UWXF.cjs.map → chunk-E3L5DB5F.cjs.map} +1 -1
  66. package/dist/chunk-GFUOCGY6.cjs +32 -0
  67. package/dist/chunk-GFUOCGY6.cjs.map +1 -0
  68. package/dist/chunk-HYUKPHCT.cjs +66 -0
  69. package/dist/chunk-HYUKPHCT.cjs.map +1 -0
  70. package/dist/{chunk-QQWHG3KF.cjs → chunk-JJZOL5MG.cjs} +4 -4
  71. package/dist/{chunk-QQWHG3KF.cjs.map → chunk-JJZOL5MG.cjs.map} +1 -1
  72. package/dist/chunk-K4763GD5.cjs +301 -0
  73. package/dist/chunk-K4763GD5.cjs.map +1 -0
  74. package/dist/{chunk-B3LZITVF.cjs → chunk-KA3F6TIH.cjs} +2 -442
  75. package/dist/chunk-KA3F6TIH.cjs.map +1 -0
  76. package/dist/{chunk-PGJYD67F.cjs → chunk-KNGZZC4O.cjs} +7 -6
  77. package/dist/chunk-KNGZZC4O.cjs.map +1 -0
  78. package/dist/{chunk-YYPZOEED.cjs → chunk-LHWOKOMP.cjs} +23 -2
  79. package/dist/chunk-LHWOKOMP.cjs.map +1 -0
  80. package/dist/{chunk-HA66DHW6.cjs → chunk-MLA2BJ2Y.cjs} +28 -28
  81. package/dist/chunk-MLA2BJ2Y.cjs.map +1 -0
  82. package/dist/{chunk-CPR6EHG7.cjs → chunk-NG2EE7HR.cjs} +134 -10
  83. package/dist/chunk-NG2EE7HR.cjs.map +1 -0
  84. package/dist/{chunk-CKCG4NDB.cjs → chunk-OHHKBURG.cjs} +29 -29
  85. package/dist/chunk-OHHKBURG.cjs.map +1 -0
  86. package/dist/{chunk-4XJEHKVZ.cjs → chunk-PIYYBPHH.cjs} +4 -4
  87. package/dist/{chunk-4XJEHKVZ.cjs.map → chunk-PIYYBPHH.cjs.map} +1 -1
  88. package/dist/{chunk-YYSBWMDJ.cjs → chunk-QG2U2JGX.cjs} +4 -4
  89. package/dist/{chunk-YYSBWMDJ.cjs.map → chunk-QG2U2JGX.cjs.map} +1 -1
  90. package/dist/{chunk-5IZFSAEZ.cjs → chunk-SDRYSLOX.cjs} +4 -4
  91. package/dist/{chunk-5IZFSAEZ.cjs.map → chunk-SDRYSLOX.cjs.map} +1 -1
  92. package/dist/{chunk-NJCK6V6U.cjs → chunk-T73BHNQX.cjs} +2 -58
  93. package/dist/chunk-T73BHNQX.cjs.map +1 -0
  94. package/dist/{chunk-EOG6OT5I.cjs → chunk-TXP2N3DC.cjs} +4 -4
  95. package/dist/{chunk-EOG6OT5I.cjs.map → chunk-TXP2N3DC.cjs.map} +1 -1
  96. package/dist/{chunk-6UTKM5AB.cjs → chunk-UFT22LAB.cjs} +75 -75
  97. package/dist/chunk-UFT22LAB.cjs.map +1 -0
  98. package/dist/chunk-USNTRL22.cjs +4790 -0
  99. package/dist/chunk-USNTRL22.cjs.map +1 -0
  100. package/dist/{chunk-X36UR4A7.cjs → chunk-UTJ223TI.cjs} +413 -90
  101. package/dist/chunk-UTJ223TI.cjs.map +1 -0
  102. package/dist/{chunk-VZCPMXWC.cjs → chunk-V6MW7B4B.cjs} +4 -4
  103. package/dist/{chunk-VZCPMXWC.cjs.map → chunk-V6MW7B4B.cjs.map} +1 -1
  104. package/dist/{chunk-T23UTIRI.cjs → chunk-VWBYE3XY.cjs} +5 -5
  105. package/dist/{chunk-T23UTIRI.cjs.map → chunk-VWBYE3XY.cjs.map} +1 -1
  106. package/dist/chunk-WFMWKPGY.cjs +102 -0
  107. package/dist/chunk-WFMWKPGY.cjs.map +1 -0
  108. package/dist/chunk-WOOOMTTA.cjs +19 -0
  109. package/dist/chunk-WOOOMTTA.cjs.map +1 -0
  110. package/dist/{chunk-W6INT5GS.cjs → chunk-WRLGLZIA.cjs} +8 -8
  111. package/dist/{chunk-W6INT5GS.cjs.map → chunk-WRLGLZIA.cjs.map} +1 -1
  112. package/dist/{chunk-CJYWHUZR.cjs → chunk-XCKHOXRP.cjs} +4 -4
  113. package/dist/{chunk-CJYWHUZR.cjs.map → chunk-XCKHOXRP.cjs.map} +1 -1
  114. package/dist/chunk-XF355M7O.cjs +154 -0
  115. package/dist/chunk-XF355M7O.cjs.map +1 -0
  116. package/dist/{chunk-Q6CLWOP2.cjs → chunk-XGM4VVNV.cjs} +34 -34
  117. package/dist/{chunk-Q6CLWOP2.cjs.map → chunk-XGM4VVNV.cjs.map} +1 -1
  118. package/dist/{chunk-6WMMZLEV.cjs → chunk-XJEXFEWG.cjs} +2 -27
  119. package/dist/chunk-XJEXFEWG.cjs.map +1 -0
  120. package/dist/chunk-XK4TVJKD.cjs +73 -0
  121. package/dist/chunk-XK4TVJKD.cjs.map +1 -0
  122. package/dist/{chunk-E7TE2WVT.cjs → chunk-ZVEW3JBT.cjs} +3 -3
  123. package/dist/{chunk-E7TE2WVT.cjs.map → chunk-ZVEW3JBT.cjs.map} +1 -1
  124. package/dist/collaboration/index.cjs +70 -70
  125. package/dist/components/ZoomSlider.d.ts +25 -0
  126. package/dist/components/ZoomSlider.js +59 -0
  127. package/dist/components/ZoomSlider.js.map +7 -0
  128. package/dist/connect/docx.cjs +10 -10
  129. package/dist/connect/index.cjs +1066 -1147
  130. package/dist/connect/index.cjs.map +1 -1
  131. package/dist/connect/viewer.cjs +19 -12
  132. package/dist/connection/ai.d.ts +1 -1
  133. package/dist/connection/conversation/ConnectedMessage.js +1 -1
  134. package/dist/connection/conversation/ConnectedMessage.js.map +2 -2
  135. package/dist/connection/files/ConnectedNewFileMenu.d.ts +2 -1
  136. package/dist/connection/files/ConnectedNewFileMenu.js +9 -3
  137. package/dist/connection/files/ConnectedNewFileMenu.js.map +2 -2
  138. package/dist/connection/files/explorer/ConnectedFilesExplorer.js +1 -1
  139. package/dist/connection/files/explorer/ConnectedFilesExplorer.js.map +2 -2
  140. package/dist/connection/files/explorer/FileTiles.js +1 -1
  141. package/dist/connection/files/explorer/FileTiles.js.map +2 -2
  142. package/dist/connection/files/fields/documentField.js +1 -1
  143. package/dist/connection/files/fields/documentField.js.map +2 -2
  144. package/dist/connection/files/grid/documentColumns.js +1 -1
  145. package/dist/connection/files/grid/documentColumns.js.map +2 -2
  146. package/dist/connection/files/page/DocumentsFilterBarActions.js +17 -28
  147. package/dist/connection/files/page/DocumentsFilterBarActions.js.map +2 -2
  148. package/dist/connection/mail/useMailboxDefaults.js +1 -1
  149. package/dist/connection/mail/useMailboxDefaults.js.map +2 -2
  150. package/dist/connection/panels/useSessionPanelMode.js +3 -2
  151. package/dist/connection/panels/useSessionPanelMode.js.map +2 -2
  152. package/dist/connection/presentation/ClippingMediaViewer.d.ts +12 -0
  153. package/dist/connection/presentation/ClippingMediaViewer.js +153 -0
  154. package/dist/connection/presentation/ClippingMediaViewer.js.map +7 -0
  155. package/dist/connection/presentation/ClippingPdfViewer.d.ts +22 -0
  156. package/dist/connection/presentation/ClippingPdfViewer.js +75 -0
  157. package/dist/connection/presentation/ClippingPdfViewer.js.map +7 -0
  158. package/dist/connection/presentation/ConnectedPresentation.d.ts +12 -0
  159. package/dist/connection/presentation/ConnectedPresentation.js +100 -0
  160. package/dist/connection/presentation/ConnectedPresentation.js.map +7 -0
  161. package/dist/connection/presentation/ConnectedSlidesTab.d.ts +20 -0
  162. package/dist/connection/presentation/ConnectedSlidesTab.js +222 -0
  163. package/dist/connection/presentation/ConnectedSlidesTab.js.map +7 -0
  164. package/dist/connection/presentation/CropClipDialog.d.ts +11 -0
  165. package/dist/connection/presentation/CropClipDialog.js +86 -0
  166. package/dist/connection/presentation/CropClipDialog.js.map +7 -0
  167. package/dist/connection/presentation/GenerateTile.d.ts +4 -0
  168. package/dist/connection/presentation/GenerateTile.js +24 -0
  169. package/dist/connection/presentation/GenerateTile.js.map +7 -0
  170. package/dist/connection/presentation/LabelColumnMenu.d.ts +8 -0
  171. package/dist/connection/presentation/LabelColumnMenu.js +38 -0
  172. package/dist/connection/presentation/LabelColumnMenu.js.map +7 -0
  173. package/dist/connection/presentation/PresentationDialogs.d.ts +39 -0
  174. package/dist/connection/presentation/PresentationDialogs.js +295 -0
  175. package/dist/connection/presentation/PresentationDialogs.js.map +7 -0
  176. package/dist/connection/presentation/PresentationFileCard.d.ts +10 -0
  177. package/dist/connection/presentation/PresentationFileCard.js +35 -0
  178. package/dist/connection/presentation/PresentationFileCard.js.map +7 -0
  179. package/dist/connection/presentation/PresentationPill.d.ts +8 -0
  180. package/dist/connection/presentation/PresentationPill.js +39 -0
  181. package/dist/connection/presentation/PresentationPill.js.map +7 -0
  182. package/dist/connection/presentation/PresentationSlot.d.ts +7 -0
  183. package/dist/connection/presentation/PresentationSlot.js +35 -0
  184. package/dist/connection/presentation/PresentationSlot.js.map +7 -0
  185. package/dist/connection/presentation/requests.d.ts +21 -0
  186. package/dist/connection/presentation/requests.js +27 -0
  187. package/dist/connection/presentation/requests.js.map +7 -0
  188. package/dist/connection/presentation/useImageGeneration.d.ts +11 -0
  189. package/dist/connection/presentation/useImageGeneration.js +66 -0
  190. package/dist/connection/presentation/useImageGeneration.js.map +7 -0
  191. package/dist/connection/presentation/useLabelColumns.d.ts +15 -0
  192. package/dist/connection/presentation/useLabelColumns.js +33 -0
  193. package/dist/connection/presentation/useLabelColumns.js.map +7 -0
  194. package/dist/connection/presentation/usePresentationController.d.ts +15 -0
  195. package/dist/connection/presentation/usePresentationController.js +118 -0
  196. package/dist/connection/presentation/usePresentationController.js.map +7 -0
  197. package/dist/connection/presentation/usePresentationFiles.d.ts +44 -0
  198. package/dist/connection/presentation/usePresentationFiles.js +307 -0
  199. package/dist/connection/presentation/usePresentationFiles.js.map +7 -0
  200. package/dist/connection/presentation/useViewerClipping.d.ts +14 -0
  201. package/dist/connection/presentation/useViewerClipping.js +18 -0
  202. package/dist/connection/presentation/useViewerClipping.js.map +7 -0
  203. package/dist/connection/shell/ConnectedAppShell.js +5 -1
  204. package/dist/connection/shell/ConnectedAppShell.js.map +2 -2
  205. package/dist/connection/viewer/CleanViewControl.d.ts +8 -0
  206. package/dist/connection/viewer/CleanViewControl.js +76 -0
  207. package/dist/connection/viewer/CleanViewControl.js.map +7 -0
  208. package/dist/connection/viewer/ConnectedDocumentViewer.js +28 -29
  209. package/dist/connection/viewer/ConnectedDocumentViewer.js.map +2 -2
  210. package/dist/connection/viewer/ViewerCropModal.d.ts +5 -0
  211. package/dist/connection/viewer/ViewerCropModal.js +22 -0
  212. package/dist/connection/viewer/ViewerCropModal.js.map +7 -0
  213. package/dist/connection/viewer/ViewerPdfPane.d.ts +3 -1
  214. package/dist/connection/viewer/ViewerPdfPane.js +41 -1
  215. package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
  216. package/dist/connection/viewer/documentPlace.d.ts +5 -4
  217. package/dist/connection/viewer/documentPlace.js +2 -2
  218. package/dist/connection/viewer/documentPlace.js.map +2 -2
  219. package/dist/connection/viewer/drafts.js +6 -4
  220. package/dist/connection/viewer/drafts.js.map +2 -2
  221. package/dist/connection/viewer/pdf/PdfClipOutlines.d.ts +11 -0
  222. package/dist/connection/viewer/pdf/PdfClipOutlines.js +42 -0
  223. package/dist/connection/viewer/pdf/PdfClipOutlines.js.map +7 -0
  224. package/dist/connection/viewer/pdf/clipOutlines.d.ts +17 -0
  225. package/dist/connection/viewer/pdf/clipOutlines.js +24 -0
  226. package/dist/connection/viewer/pdf/clipOutlines.js.map +7 -0
  227. package/dist/connection/viewer/pdf/passageHighlights.d.ts +2 -0
  228. package/dist/connection/viewer/pdf/passageHighlights.js +12 -1
  229. package/dist/connection/viewer/pdf/passageHighlights.js.map +2 -2
  230. package/dist/connection/viewer/pdf/usePdfClipOutlines.d.ts +7 -0
  231. package/dist/connection/viewer/pdf/usePdfClipOutlines.js +36 -0
  232. package/dist/connection/viewer/pdf/usePdfClipOutlines.js.map +7 -0
  233. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js +11 -2
  234. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js.map +2 -2
  235. package/dist/connection/viewer/shareDocument.d.ts +11 -0
  236. package/dist/connection/viewer/shareDocument.js +11 -0
  237. package/dist/connection/viewer/shareDocument.js.map +7 -0
  238. package/dist/connection/viewer/slidesTabChunk.d.ts +2 -0
  239. package/dist/connection/viewer/slidesTabChunk.js +9 -0
  240. package/dist/connection/viewer/slidesTabChunk.js.map +7 -0
  241. package/dist/connection/viewer/useCleanView.d.ts +14 -0
  242. package/dist/connection/viewer/useCleanView.js +29 -0
  243. package/dist/connection/viewer/useCleanView.js.map +7 -0
  244. package/dist/connection/viewer/useViewedDocument.d.ts +1 -0
  245. package/dist/connection/viewer/useViewedDocument.js +9 -1
  246. package/dist/connection/viewer/useViewedDocument.js.map +2 -2
  247. package/dist/connection/viewer/useViewerTabs.js +18 -4
  248. package/dist/connection/viewer/useViewerTabs.js.map +2 -2
  249. package/dist/connection/workflows/ConnectedWorkflowStart.d.ts +14 -2
  250. package/dist/connection/workflows/ConnectedWorkflowStart.js +5 -2
  251. package/dist/connection/workflows/ConnectedWorkflowStart.js.map +2 -2
  252. package/dist/databases/index.cjs +49 -49
  253. package/dist/document-tools/DocumentToolButtons.d.ts +2 -0
  254. package/dist/document-tools/DocumentToolButtons.js +22 -1
  255. package/dist/document-tools/DocumentToolButtons.js.map +2 -2
  256. package/dist/document-tools/index.cjs +16 -12
  257. package/dist/document-tools/index.d.ts +1 -1
  258. package/dist/document-tools/index.js +2 -0
  259. package/dist/document-tools/index.js.map +2 -2
  260. package/dist/embed/index.cjs +17 -15
  261. package/dist/files/GridViewImpl.js +1 -1
  262. package/dist/files/GridViewImpl.js.map +2 -2
  263. package/dist/files/ViewerChrome.d.ts +5 -1
  264. package/dist/files/ViewerChrome.js +16 -6
  265. package/dist/files/ViewerChrome.js.map +2 -2
  266. package/dist/files/index.cjs +224 -224
  267. package/dist/files/navigator/DocumentSearchList.js +1 -1
  268. package/dist/files/navigator/DocumentSearchList.js.map +2 -2
  269. package/dist/index.cjs +359 -356
  270. package/dist/index.cjs.map +1 -1
  271. package/dist/presentation/BoxActionBar.d.ts +11 -0
  272. package/dist/presentation/BoxActionBar.js +182 -0
  273. package/dist/presentation/BoxActionBar.js.map +7 -0
  274. package/dist/presentation/ClipActionBar.d.ts +26 -0
  275. package/dist/presentation/ClipActionBar.js +103 -0
  276. package/dist/presentation/ClipActionBar.js.map +7 -0
  277. package/dist/presentation/ClipCaptureOverlay.d.ts +14 -0
  278. package/dist/presentation/ClipCaptureOverlay.js +69 -0
  279. package/dist/presentation/ClipCaptureOverlay.js.map +7 -0
  280. package/dist/presentation/ClipImage.d.ts +21 -0
  281. package/dist/presentation/ClipImage.js +119 -0
  282. package/dist/presentation/ClipImage.js.map +7 -0
  283. package/dist/presentation/ClipTray.d.ts +11 -0
  284. package/dist/presentation/ClipTray.js +152 -0
  285. package/dist/presentation/ClipTray.js.map +7 -0
  286. package/dist/presentation/ClipViewControls.d.ts +11 -0
  287. package/dist/presentation/ClipViewControls.js +142 -0
  288. package/dist/presentation/ClipViewControls.js.map +7 -0
  289. package/dist/presentation/DesignMenu.d.ts +8 -0
  290. package/dist/presentation/DesignMenu.js +199 -0
  291. package/dist/presentation/DesignMenu.js.map +7 -0
  292. package/dist/presentation/LayoutMenu.d.ts +17 -0
  293. package/dist/presentation/LayoutMenu.js +122 -0
  294. package/dist/presentation/LayoutMenu.js.map +7 -0
  295. package/dist/presentation/MediaClip.d.ts +15 -0
  296. package/dist/presentation/MediaClip.js +67 -0
  297. package/dist/presentation/MediaClip.js.map +7 -0
  298. package/dist/presentation/Notice.d.ts +6 -0
  299. package/dist/presentation/Notice.js +43 -0
  300. package/dist/presentation/Notice.js.map +7 -0
  301. package/dist/presentation/PresentControls.d.ts +11 -0
  302. package/dist/presentation/PresentControls.js +117 -0
  303. package/dist/presentation/PresentControls.js.map +7 -0
  304. package/dist/presentation/PresentationStage.d.ts +32 -0
  305. package/dist/presentation/PresentationStage.js +232 -0
  306. package/dist/presentation/PresentationStage.js.map +7 -0
  307. package/dist/presentation/PresenterView.d.ts +16 -0
  308. package/dist/presentation/PresenterView.js +100 -0
  309. package/dist/presentation/PresenterView.js.map +7 -0
  310. package/dist/presentation/SlideDecor.d.ts +25 -0
  311. package/dist/presentation/SlideDecor.js +189 -0
  312. package/dist/presentation/SlideDecor.js.map +7 -0
  313. package/dist/presentation/SlidesEditor.d.ts +25 -0
  314. package/dist/presentation/SlidesEditor.js +375 -0
  315. package/dist/presentation/SlidesEditor.js.map +7 -0
  316. package/dist/presentation/StageBox.d.ts +30 -0
  317. package/dist/presentation/StageBox.js +281 -0
  318. package/dist/presentation/StageBox.js.map +7 -0
  319. package/dist/presentation/StageItem.d.ts +37 -0
  320. package/dist/presentation/StageItem.js +211 -0
  321. package/dist/presentation/StageItem.js.map +7 -0
  322. package/dist/presentation/box-style.d.ts +6 -0
  323. package/dist/presentation/box-style.js +19 -0
  324. package/dist/presentation/box-style.js.map +7 -0
  325. package/dist/presentation/boxes.d.ts +105 -0
  326. package/dist/presentation/boxes.js +103 -0
  327. package/dist/presentation/boxes.js.map +7 -0
  328. package/dist/presentation/draw-boxes.d.ts +8 -0
  329. package/dist/presentation/draw-boxes.js +130 -0
  330. package/dist/presentation/draw-boxes.js.map +7 -0
  331. package/dist/presentation/export-boxes.d.ts +10 -0
  332. package/dist/presentation/export-boxes.js +74 -0
  333. package/dist/presentation/export-boxes.js.map +7 -0
  334. package/dist/presentation/export-pptx.d.ts +16 -0
  335. package/dist/presentation/export-pptx.js +194 -0
  336. package/dist/presentation/export-pptx.js.map +7 -0
  337. package/dist/presentation/import-pptx.d.ts +35 -0
  338. package/dist/presentation/import-pptx.js +659 -0
  339. package/dist/presentation/import-pptx.js.map +7 -0
  340. package/dist/presentation/merge-outside-edits.d.ts +12 -0
  341. package/dist/presentation/merge-outside-edits.js +35 -0
  342. package/dist/presentation/merge-outside-edits.js.map +7 -0
  343. package/dist/presentation/model.d.ts +201 -0
  344. package/dist/presentation/model.js +271 -0
  345. package/dist/presentation/model.js.map +7 -0
  346. package/dist/presentation/panel-id.d.ts +44 -0
  347. package/dist/presentation/panel-id.js +29 -0
  348. package/dist/presentation/panel-id.js.map +7 -0
  349. package/dist/presentation/persistence.d.ts +121 -0
  350. package/dist/presentation/persistence.js +141 -0
  351. package/dist/presentation/persistence.js.map +7 -0
  352. package/dist/presentation/pptx-data.d.ts +22 -0
  353. package/dist/presentation/pptx-data.js +83 -0
  354. package/dist/presentation/pptx-data.js.map +7 -0
  355. package/dist/presentation/pptx-xml.d.ts +90 -0
  356. package/dist/presentation/pptx-xml.js +333 -0
  357. package/dist/presentation/pptx-xml.js.map +7 -0
  358. package/dist/presentation/render-slides.d.ts +58 -0
  359. package/dist/presentation/render-slides.js +309 -0
  360. package/dist/presentation/render-slides.js.map +7 -0
  361. package/dist/presentation/saved-boxes.d.ts +11 -0
  362. package/dist/presentation/saved-boxes.js +80 -0
  363. package/dist/presentation/saved-boxes.js.map +7 -0
  364. package/dist/presentation/slide-layout.d.ts +58 -0
  365. package/dist/presentation/slide-layout.js +133 -0
  366. package/dist/presentation/slide-layout.js.map +7 -0
  367. package/dist/presentation/stage-videos.d.ts +5 -0
  368. package/dist/presentation/stage-videos.js +19 -0
  369. package/dist/presentation/stage-videos.js.map +7 -0
  370. package/dist/presentation/store.d.ts +203 -0
  371. package/dist/presentation/store.js +429 -0
  372. package/dist/presentation/store.js.map +7 -0
  373. package/dist/presentation/theme.d.ts +102 -0
  374. package/dist/presentation/theme.js +276 -0
  375. package/dist/presentation/theme.js.map +7 -0
  376. package/dist/presentation/useClipDrag.d.ts +26 -0
  377. package/dist/presentation/useClipDrag.js +65 -0
  378. package/dist/presentation/useClipDrag.js.map +7 -0
  379. package/dist/presentation/useObjectUrl.d.ts +6 -0
  380. package/dist/presentation/useObjectUrl.js +15 -0
  381. package/dist/presentation/useObjectUrl.js.map +7 -0
  382. package/dist/presentation/usePresenterKeys.d.ts +13 -0
  383. package/dist/presentation/usePresenterKeys.js +62 -0
  384. package/dist/presentation/usePresenterKeys.js.map +7 -0
  385. package/dist/settings/index.cjs +149 -148
  386. package/dist/shell/PanelPortal.js +13 -3
  387. package/dist/shell/PanelPortal.js.map +2 -2
  388. package/dist/shell/index.cjs +49 -46
  389. package/dist/shell/panel-windows.d.ts +2 -0
  390. package/dist/shell/panel-windows.js +8 -2
  391. package/dist/shell/panel-windows.js.map +2 -2
  392. package/dist/studio/index.cjs +8 -6
  393. package/dist/studio/index.cjs.map +1 -1
  394. package/dist/styles.css +1 -1
  395. package/dist/workflow-canvas/index.cjs +26 -25
  396. package/dist/workflow-canvas/index.cjs.map +1 -1
  397. package/node_modules/@arbidocs/coedit/package.json +1 -1
  398. package/package.json +6 -5
  399. package/dist/ConnectedCallDock-WER7R222.cjs.map +0 -1
  400. package/dist/DocumentReviewCard-BPIAJJED.cjs.map +0 -1
  401. package/dist/FilesViewerDialog-67WK3TZC.cjs.map +0 -1
  402. package/dist/GridViewImpl-ZMJJWTOM.cjs.map +0 -1
  403. package/dist/WorkspaceTableView-J3C6VH4T.cjs.map +0 -1
  404. package/dist/ai-IM4A23YT.cjs.map +0 -1
  405. package/dist/chunk-557MJ4IH.cjs.map +0 -1
  406. package/dist/chunk-6UTKM5AB.cjs.map +0 -1
  407. package/dist/chunk-6WMMZLEV.cjs.map +0 -1
  408. package/dist/chunk-B3LZITVF.cjs.map +0 -1
  409. package/dist/chunk-BUVIBHFU.cjs.map +0 -1
  410. package/dist/chunk-CKCG4NDB.cjs.map +0 -1
  411. package/dist/chunk-CPR6EHG7.cjs.map +0 -1
  412. package/dist/chunk-HA66DHW6.cjs.map +0 -1
  413. package/dist/chunk-NJCK6V6U.cjs.map +0 -1
  414. package/dist/chunk-NLSWDP42.cjs.map +0 -1
  415. package/dist/chunk-PGJYD67F.cjs.map +0 -1
  416. package/dist/chunk-X36UR4A7.cjs.map +0 -1
  417. package/dist/chunk-YYPZOEED.cjs.map +0 -1
@@ -1,14 +1,17 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var chunkWFMWKPGY_cjs = require('./chunk-WFMWKPGY.cjs');
5
+ var chunk4TTX6ZNS_cjs = require('./chunk-4TTX6ZNS.cjs');
4
6
  var chunk4CIVQWAX_cjs = require('./chunk-4CIVQWAX.cjs');
5
7
  var chunkPL7HUTM3_cjs = require('./chunk-PL7HUTM3.cjs');
6
- var chunkDFBDQKGE_cjs = require('./chunk-DFBDQKGE.cjs');
8
+ var chunkGFUOCGY6_cjs = require('./chunk-GFUOCGY6.cjs');
9
+ var chunkADDQKZ5I_cjs = require('./chunk-ADDQKZ5I.cjs');
7
10
  var chunkKXIRVKCJ_cjs = require('./chunk-KXIRVKCJ.cjs');
8
- var chunkBUVIBHFU_cjs = require('./chunk-BUVIBHFU.cjs');
9
- var chunkNLSWDP42_cjs = require('./chunk-NLSWDP42.cjs');
10
- var chunkECLUFKYR_cjs = require('./chunk-ECLUFKYR.cjs');
11
- var chunkYYPZOEED_cjs = require('./chunk-YYPZOEED.cjs');
11
+ var chunk5QERK4PK_cjs = require('./chunk-5QERK4PK.cjs');
12
+ var chunkALK3PUUB_cjs = require('./chunk-ALK3PUUB.cjs');
13
+ var chunk7557LDAN_cjs = require('./chunk-7557LDAN.cjs');
14
+ var chunkLHWOKOMP_cjs = require('./chunk-LHWOKOMP.cjs');
12
15
  var chunkGNZAH6UI_cjs = require('./chunk-GNZAH6UI.cjs');
13
16
  var chunkJH6JTI76_cjs = require('./chunk-JH6JTI76.cjs');
14
17
  var chunkDTMBAFIL_cjs = require('./chunk-DTMBAFIL.cjs');
@@ -20,6 +23,7 @@ var chunkEG7EJFUE_cjs = require('./chunk-EG7EJFUE.cjs');
20
23
  var chunkHQDR43JC_cjs = require('./chunk-HQDR43JC.cjs');
21
24
  var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
22
25
  var chunkSJSGSHIT_cjs = require('./chunk-SJSGSHIT.cjs');
26
+ var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
23
27
  var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
24
28
  var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
25
29
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
@@ -43,7 +47,8 @@ var KIND_OPTIONS = [
43
47
  { value: "text", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-4 h-4" }), label: "Doc" },
44
48
  { value: "audio", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mic, { className: "w-4 h-4" }), label: "Voice" },
45
49
  { value: "video", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Video, { className: "w-4 h-4" }), label: "Video" },
46
- { value: "photo", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: "w-4 h-4" }), label: "Photo" }
50
+ { value: "photo", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: "w-4 h-4" }), label: "Photo" },
51
+ { value: "presentation", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Presentation, { className: "w-4 h-4" }), label: "Presentation" }
47
52
  ];
48
53
  var useDraft = (documentId) => react.useArbiSessionState((state) => state.draftDocuments[documentId]);
49
54
  function ViewerDraftKind({ documentId }) {
@@ -82,7 +87,8 @@ var TITLE_PLACEHOLDER = {
82
87
  text: "New Doc",
83
88
  audio: "New Audio",
84
89
  photo: "New Photo",
85
- video: "New Video"
90
+ video: "New Video",
91
+ presentation: "New Presentation"
86
92
  };
87
93
  function selectTitleOnFocus(event) {
88
94
  if (event.target instanceof HTMLInputElement) event.target.select();
@@ -125,7 +131,7 @@ function ViewerCaptureDraft({ documentId }) {
125
131
  const { notify } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
126
132
  const upload = react.useUploadDocuments();
127
133
  const { data: userSettings } = react.useUserSettings();
128
- if (!draft || draft.kind === "text") return null;
134
+ if (!draft || draft.kind === "text" || draft.kind === "presentation") return null;
129
135
  const kind = draft.kind;
130
136
  const file = CAPTURE_FILE[kind];
131
137
  const discard = () => {
@@ -194,17 +200,140 @@ function ViewerRelatedDocuments({ document: document2 }) {
194
200
  );
195
201
  if (!related) return null;
196
202
  return /* @__PURE__ */ jsxRuntime.jsx(
197
- chunkBUVIBHFU_cjs.RelatedDocumentsCell,
203
+ chunk5QERK4PK_cjs.RelatedDocumentsCell,
198
204
  {
199
205
  currentDoc: document2,
200
206
  related,
201
207
  viewingDocumentId: viewerOpen ? viewingId : null,
202
208
  onDocumentClick: (id) => session.setViewingDocument({ id, page: null }),
203
- onDelete: (doc) => chunkDFBDQKGE_cjs.useFilesDialogs.getState().requestDelete(doc),
209
+ onDelete: (doc) => chunkADDQKZ5I_cjs.useFilesDialogs.getState().requestDelete(doc),
204
210
  onCompare
205
211
  }
206
212
  );
207
213
  }
214
+ function PresentationPill({ compact }) {
215
+ const session = react.useArbiSessionStore();
216
+ const boundTo = chunk4TTX6ZNS_cjs.usePresentation((s) => s.boundTo);
217
+ const clips = chunk4TTX6ZNS_cjs.usePresentation((s) => s.clips.length);
218
+ const title = chunk4TTX6ZNS_cjs.usePresentation((s) => s.title);
219
+ const onIt = react.useArbiSessionState(
220
+ (s) => s.viewingDocument?.id === boundTo && s.documentViewer.tab === "slides"
221
+ );
222
+ if (onIt || boundTo === null && clips === 0) return null;
223
+ const back = () => chunkWFMWKPGY_cjs.showPresentation(session, boundTo);
224
+ return /* @__PURE__ */ jsxRuntime.jsxs(
225
+ ui.Button,
226
+ {
227
+ type: "button",
228
+ variant: "outline",
229
+ size: "sm",
230
+ className: "h-7 max-w-56 gap-1.5 rounded-full px-2.5 text-xs",
231
+ onClick: back,
232
+ title: `Back to the presentation "${title}": ${clips} clip${clips === 1 ? "" : "s"} to arrange`,
233
+ "data-testid": "presentation-pill",
234
+ children: [
235
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Presentation, { className: "size-3.5 shrink-0" }),
236
+ !compact && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: title }),
237
+ clips > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-primary px-1.5 text-[10px] font-semibold leading-4 text-primary-foreground", children: clips })
238
+ ]
239
+ }
240
+ );
241
+ }
242
+ function useViewerClipping(clippable, compact) {
243
+ const [on, setOn] = React.useState(false);
244
+ const stop = React.useCallback(() => setOn(false), []);
245
+ const button = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
246
+ /* @__PURE__ */ jsxRuntime.jsx(PresentationPill, { compact }),
247
+ clippable && /* @__PURE__ */ jsxRuntime.jsx(chunkLHWOKOMP_cjs.ClipButton, { active: on, compact, onClick: () => setOn(!on) })
248
+ ] });
249
+ return { clipping: on && clippable, stop, button };
250
+ }
251
+ var IDLE_MS = 2e3;
252
+ function CleanViewControl({ onExit }) {
253
+ const [view, setView] = React.useState(null);
254
+ const [shown, setShown] = React.useState(true);
255
+ const ref = React.useCallback((node) => {
256
+ setView(node?.ownerDocument.defaultView ?? null);
257
+ }, []);
258
+ React.useEffect(() => {
259
+ if (!view) return;
260
+ let timer = view.setTimeout(() => setShown(false), IDLE_MS);
261
+ const wake = () => {
262
+ setShown(true);
263
+ view.clearTimeout(timer);
264
+ timer = view.setTimeout(() => setShown(false), IDLE_MS);
265
+ };
266
+ view.addEventListener("pointermove", wake);
267
+ view.addEventListener("keydown", wake);
268
+ return () => {
269
+ view.clearTimeout(timer);
270
+ view.removeEventListener("pointermove", wake);
271
+ view.removeEventListener("keydown", wake);
272
+ };
273
+ }, [view]);
274
+ return /* @__PURE__ */ jsxRuntime.jsxs(
275
+ "div",
276
+ {
277
+ ref,
278
+ className: ui.cn(
279
+ "absolute right-3 top-3 z-20 flex gap-1 rounded-md bg-background/90 p-1 shadow-md transition-opacity",
280
+ shown ? "opacity-100" : "pointer-events-none opacity-0"
281
+ ),
282
+ "data-testid": "viewer-clean-control",
283
+ children: [
284
+ /* @__PURE__ */ jsxRuntime.jsxs(
285
+ ui.Button,
286
+ {
287
+ type: "button",
288
+ size: "sm",
289
+ variant: "ghost",
290
+ className: "h-7",
291
+ onClick: () => view && chunkWFMWKPGY_cjs.toggleFullscreen(view),
292
+ children: [
293
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize, { className: "size-3.5" }),
294
+ "Full screen"
295
+ ]
296
+ }
297
+ ),
298
+ /* @__PURE__ */ jsxRuntime.jsxs(
299
+ ui.Button,
300
+ {
301
+ type: "button",
302
+ size: "sm",
303
+ variant: "ghost",
304
+ className: "h-7",
305
+ onClick: onExit,
306
+ "data-testid": "viewer-clean-exit",
307
+ children: [
308
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelTop, { className: "size-3.5" }),
309
+ "Show controls"
310
+ ]
311
+ }
312
+ )
313
+ ]
314
+ }
315
+ );
316
+ }
317
+ function useCleanView() {
318
+ const session = react.useArbiSessionStore();
319
+ const detached = react.useArbiSessionState((s) => s.documentViewer.detached);
320
+ const presenting = react.useArbiSessionState((s) => s.documentViewer.presenting);
321
+ const on = detached && presenting;
322
+ const wasDetached = React.useRef(detached);
323
+ React.useEffect(() => {
324
+ if (wasDetached.current && !detached && presenting) {
325
+ session.setDocumentViewer({ presenting: false });
326
+ }
327
+ wasDetached.current = detached;
328
+ }, [detached, presenting, session]);
329
+ return {
330
+ on,
331
+ frame: {
332
+ bare: on,
333
+ overlay: on ? /* @__PURE__ */ jsxRuntime.jsx(CleanViewControl, { onExit: () => session.setDocumentViewer({ presenting: false }) }) : null
334
+ }
335
+ };
336
+ }
208
337
  var isTranslationDraft = (doc) => !!doc?.derived_from?.some((d) => d.role === "translation") && !doc.derived_from.some((d) => d.role === "final");
209
338
  function FinaliseTranslationButton({
210
339
  document: document2,
@@ -299,6 +428,21 @@ function useImageCrop(documentId, fileName, imageBlob, workspaceId) {
299
428
  );
300
429
  return { cropImageUrl, handleOpenCrop, closeCrop, handleCropComplete };
301
430
  }
431
+ function ViewerCropModal({ crop }) {
432
+ return /* @__PURE__ */ jsxRuntime.jsx(
433
+ react.ImageCropModal,
434
+ {
435
+ open: crop.cropImageUrl !== null,
436
+ image: crop.cropImageUrl,
437
+ title: "Crop image",
438
+ saveLabel: "Save as a copy",
439
+ aspectOptions: react.DEFAULT_ASPECT_OPTIONS,
440
+ output: { mimeType: "image/png" },
441
+ onComplete: crop.handleCropComplete,
442
+ onCancel: crop.closeCrop
443
+ }
444
+ );
445
+ }
302
446
  var DOCX_EXTENSIONS = /* @__PURE__ */ new Set([".docx", ".doc"]);
303
447
  var XLSX_EXTENSIONS = /* @__PURE__ */ new Set([".xlsx", ".xls"]);
304
448
  var EMAIL_EXTENSIONS = /* @__PURE__ */ new Set([".eml", ".msg"]);
@@ -327,7 +471,7 @@ function useViewedDocument(documentId) {
327
471
  const documentData = record?.external_id === documentId ? record : void 0;
328
472
  const { data: tags } = chunkHQDR43JC_cjs.useConnectedTags();
329
473
  const labelSummaries = React.useMemo(
330
- () => chunkNLSWDP42_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkNLSWDP42_cjs.isDocumentLabel)),
474
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkALK3PUUB_cjs.isDocumentLabel)),
331
475
  [documentData, tags]
332
476
  );
333
477
  const fileName = documentData?.file_name;
@@ -338,6 +482,7 @@ function useViewedDocument(documentId) {
338
482
  const isAudio = isWebmFile && webmHasVideoTrack === false ? true : ui.isAudioFile(fileName);
339
483
  const isBlobArtifact = streamingDoc?.mode === "image" || documentData?.wp_type === "artifact" && (isImage || isVideo || isAudio);
340
484
  const isArtifact = (!!streamingDoc || isTextDraft || documentData?.wp_type === "artifact" || isMarkdown) && !isBlobArtifact;
485
+ const isPresentation = draftDoc?.kind === "presentation" || ui.isPresentationFileName(documentData?.file_name, documentData?.folder);
341
486
  const liveKind = isArtifact ? artifacts.artifactKindFromMode(streamingDoc?.mode ?? void 0) ?? artifacts.artifactKindFromFileName(fileName) : null;
342
487
  const savedDocumentId = shell.savedDocumentIdFor({
343
488
  documentId,
@@ -379,6 +524,7 @@ function useViewedDocument(documentId) {
379
524
  isBlobArtifact,
380
525
  savedDocumentId,
381
526
  isArtifact,
527
+ isPresentation,
382
528
  liveKind,
383
529
  liveSource,
384
530
  isDocx: DOCX_EXTENSIONS.has(fileExtension(fileName)),
@@ -450,6 +596,7 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
450
596
  const {
451
597
  documentData,
452
598
  isArtifact,
599
+ isPresentation,
453
600
  isDraft,
454
601
  isStreaming,
455
602
  isDocx,
@@ -476,7 +623,11 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
476
623
  const hasDocumentData = !!documentData;
477
624
  const documentKey = documentData?.external_id;
478
625
  React.useEffect(() => {
479
- if (isArtifact && (activeTab === "pdf" || !liveKind && activeTab === "docx")) {
626
+ if (isPresentation && hasDocumentData && activeTab === "pdf") {
627
+ setActiveTab("slides");
628
+ } else if (!isPresentation && documentData && activeTab === "slides") {
629
+ setActiveTab(isDocx ? "docx" : isXlsx ? "xlsx" : "pdf");
630
+ } else if (isArtifact && (activeTab === "pdf" || !liveKind && activeTab === "docx")) {
480
631
  setActiveTab(liveKind ? "preview" : "edit");
481
632
  } else if (isDocx && activeTab === "pdf") {
482
633
  setActiveTab("docx");
@@ -487,7 +638,7 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
487
638
  } else if (!isArtifact && !isDocx && !isXlsx && documentData && (activeTab === "docx" || activeTab === "xlsx")) {
488
639
  setActiveTab("pdf");
489
640
  }
490
- }, [hasDocumentData, documentKey, isArtifact, isDocx, isXlsx, liveKind]);
641
+ }, [hasDocumentData, documentKey, isArtifact, isDocx, isXlsx, liveKind, isPresentation]);
491
642
  React.useEffect(() => {
492
643
  if (!tabRequest || !documentKey || tabRequest.documentId !== documentKey) return;
493
644
  phoneDefaultDecidedFor.current = documentKey;
@@ -541,6 +692,15 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
541
692
  label: tabLabel("versions", "Versions")
542
693
  };
543
694
  const viewerTabs = [
695
+ // A presentation's slides, edited; then its PDF (the slides as saved), once it has one.
696
+ ...isPresentation ? [
697
+ {
698
+ id: "slides",
699
+ icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Presentation, { className: "size-5" }),
700
+ tooltip: "Slides",
701
+ label: tabLabel("slides", "Slides")
702
+ }
703
+ ] : [],
544
704
  ...isArtifact ? [
545
705
  ...liveKind ? [
546
706
  {
@@ -582,7 +742,7 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
582
742
  label: tabLabel("xlsx", "Sheet")
583
743
  }
584
744
  ] : [],
585
- { id: "pdf", ...mediaTab, label: tabLabel("pdf", mediaTab.tooltip) },
745
+ ...isPresentation && isDraft ? [] : [{ id: "pdf", ...mediaTab, label: tabLabel("pdf", mediaTab.tooltip) }],
586
746
  ...hasVersionsTab ? [versionsTab] : []
587
747
  ],
588
748
  ...(hasParsedContent || compareId) && !liveKind ? [
@@ -881,7 +1041,7 @@ function PassageTagPanel({
881
1041
  [workspaceTags]
882
1042
  );
883
1043
  return /* @__PURE__ */ jsxRuntime.jsx(
884
- chunkNLSWDP42_cjs.TagPassagePanel,
1044
+ chunkALK3PUUB_cjs.TagPassagePanel,
885
1045
  {
886
1046
  pageNumber,
887
1047
  preview,
@@ -1006,7 +1166,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
1006
1166
  ];
1007
1167
  }) : [];
1008
1168
  return /* @__PURE__ */ jsxRuntime.jsx(
1009
- chunkNLSWDP42_cjs.HtmlPassage,
1169
+ chunkALK3PUUB_cjs.HtmlPassage,
1010
1170
  {
1011
1171
  chunkId,
1012
1172
  highlight: isStrong ? "strong" : isLight ? "light" : void 0,
@@ -1182,11 +1342,11 @@ function useDocumentLabels(documentId, doctags, orderedChunkIds) {
1182
1342
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
1183
1343
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
1184
1344
  const tagSummaries = React.useMemo(
1185
- () => chunkNLSWDP42_cjs.summariseDocTags(documentDoctags, workspaceTags),
1345
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentDoctags, workspaceTags),
1186
1346
  [documentDoctags, workspaceTags]
1187
1347
  );
1188
1348
  const labelSummaries = React.useMemo(
1189
- () => chunkNLSWDP42_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkNLSWDP42_cjs.isDocumentLabel)),
1349
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkALK3PUUB_cjs.isDocumentLabel)),
1190
1350
  [documentDoctags, workspaceTags]
1191
1351
  );
1192
1352
  const labelsByChunk = React.useMemo(() => {
@@ -1694,14 +1854,14 @@ function ParsedTextView({
1694
1854
  }
1695
1855
  }
1696
1856
  }, [maxPageNumber, onLoadSuccess]);
1697
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading parsed document..." });
1857
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading parsed document..." });
1698
1858
  if (error) {
1699
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1859
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1700
1860
  }
1701
1861
  const taggingChunk = labels.taggingChunkId ? processedChunks.flatMap((page) => page.chunks).find((c) => c.chunkExtId === labels.taggingChunkId) : void 0;
1702
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkNLSWDP42_cjs.HtmlViewerRoot, { children: [
1862
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkALK3PUUB_cjs.HtmlViewerRoot, { children: [
1703
1863
  /* @__PURE__ */ jsxRuntime.jsx(
1704
- chunkNLSWDP42_cjs.DocumentLabelBar,
1864
+ chunkALK3PUUB_cjs.DocumentLabelBar,
1705
1865
  {
1706
1866
  summaries: labels.labelSummaries,
1707
1867
  activeTagExtId: labels.activeTagExtId,
@@ -1726,15 +1886,15 @@ function ParsedTextView({
1726
1886
  }
1727
1887
  ),
1728
1888
  !citation.factCitationActive && citation.runStartIds.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1729
- chunkNLSWDP42_cjs.CitedRunNav,
1889
+ chunkALK3PUUB_cjs.CitedRunNav,
1730
1890
  {
1731
1891
  position: citation.runCursor + 1,
1732
1892
  total: citation.runStartIds.length,
1733
1893
  onStep: citation.gotoRun
1734
1894
  }
1735
1895
  ),
1736
- /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1737
- chunkNLSWDP42_cjs.HtmlPage,
1896
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1897
+ chunkALK3PUUB_cjs.HtmlPage,
1738
1898
  {
1739
1899
  pageNumber: page.pageNumber,
1740
1900
  totalPages,
@@ -1775,9 +1935,89 @@ function ParsedTextView({
1775
1935
  })
1776
1936
  },
1777
1937
  pageIndex
1778
- )) : /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.HtmlViewerEmpty, {}) })
1938
+ )) : /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.HtmlViewerEmpty, {}) })
1779
1939
  ] });
1780
1940
  }
1941
+ function PdfClipOutlines({ outlines, onShow }) {
1942
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", "data-testid": "pdf-clip-outlines", children: outlines.map((outline) => {
1943
+ const { rect } = outline;
1944
+ const label = outline.slides.length ? `Slide ${outline.slides.map((index) => index + 1).join(", ")}` : "In the tray";
1945
+ return /* @__PURE__ */ jsxRuntime.jsx(
1946
+ "div",
1947
+ {
1948
+ className: "absolute rounded-sm border-2 border-dashed border-primary/70",
1949
+ style: {
1950
+ left: `${rect.x * 100}%`,
1951
+ top: `${rect.y * 100}%`,
1952
+ width: `${rect.w * 100}%`,
1953
+ height: `${rect.h * 100}%`
1954
+ },
1955
+ "data-testid": "pdf-clip-outline",
1956
+ "data-clip-id": outline.clipId,
1957
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1958
+ "button",
1959
+ {
1960
+ type: "button",
1961
+ className: "pointer-events-auto absolute -top-2.5 left-1 inline-flex items-center gap-1 rounded-full bg-primary px-1.5 text-[10px] font-medium leading-4 text-primary-foreground shadow-sm hover:bg-primary/90",
1962
+ title: outline.slides.length ? `Clipped for the presentation: go to ${label.toLowerCase()}` : "Clipped for the presentation: not on a slide yet",
1963
+ onClick: () => onShow(outline),
1964
+ "data-testid": "pdf-clip-outline-label",
1965
+ children: [
1966
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Presentation, { className: "size-2.5" }),
1967
+ label
1968
+ ]
1969
+ }
1970
+ )
1971
+ },
1972
+ outline.clipId
1973
+ );
1974
+ }) });
1975
+ }
1976
+
1977
+ // src/connection/viewer/pdf/clipOutlines.ts
1978
+ function parseRef(id) {
1979
+ const match = /^(.*)@v(\d+)$/.exec(id);
1980
+ return match ? { documentId: match[1], version: Number(match[2]) } : { documentId: id, version: null };
1981
+ }
1982
+ function clipOutlinesByPage(viewingId, clips, slides) {
1983
+ const byPage = /* @__PURE__ */ new Map();
1984
+ if (!viewingId) return byPage;
1985
+ const { documentId, version } = parseRef(viewingId);
1986
+ for (const clip of clips) {
1987
+ if (clip.kind !== "pdf" || clip.plain || clip.documentId !== documentId) continue;
1988
+ if (version !== null && clip.version !== void 0 && clip.version !== version) continue;
1989
+ const on = slides.flatMap(
1990
+ (slide, index) => slide.items.some((item) => item.clipId === clip.id) ? [index] : []
1991
+ );
1992
+ const outline = { clipId: clip.id, rect: clip.rect, slides: on };
1993
+ byPage.set(clip.page, [...byPage.get(clip.page) ?? [], outline]);
1994
+ }
1995
+ return byPage;
1996
+ }
1997
+ function usePdfClipOutlines(viewingId) {
1998
+ const session = react.useArbiSessionStore();
1999
+ const clips = chunk4TTX6ZNS_cjs.usePresentation((s) => s.clips);
2000
+ const slides = chunk4TTX6ZNS_cjs.usePresentation((s) => s.slides);
2001
+ const byPage = React.useMemo(
2002
+ () => clipOutlinesByPage(viewingId, clips, slides),
2003
+ [viewingId, clips, slides]
2004
+ );
2005
+ const show = React.useCallback(
2006
+ (outline) => {
2007
+ const state = chunk4TTX6ZNS_cjs.usePresentation.getState();
2008
+ if (outline.slides.length) state.goTo(outline.slides[0]);
2009
+ chunkWFMWKPGY_cjs.showPresentation(session, state.boundTo);
2010
+ },
2011
+ [session]
2012
+ );
2013
+ return React.useCallback(
2014
+ (pageNumber) => {
2015
+ const outlines = byPage.get(pageNumber);
2016
+ return outlines ? /* @__PURE__ */ jsxRuntime.jsx(PdfClipOutlines, { outlines, onShow: show }) : null;
2017
+ },
2018
+ [byPage, show]
2019
+ );
2020
+ }
1781
2021
  function PdfPassageHighlights({
1782
2022
  boxes,
1783
2023
  activeId,
@@ -1825,6 +2065,16 @@ function asBox(bbox) {
1825
2065
  function isWholePage([x0, y0, x1, y1]) {
1826
2066
  return x0 <= 0 && y0 <= 0 && x1 >= 1 && y1 >= 1;
1827
2067
  }
2068
+ function passagePlaced(pages, chunkId) {
2069
+ for (const page of pages) {
2070
+ const chunk = page.chunks.find((entry) => entry.chunkExtId === chunkId);
2071
+ if (chunk) {
2072
+ const box = asBox(chunk.pageBbox);
2073
+ return !!box && !isWholePage(box);
2074
+ }
2075
+ }
2076
+ return false;
2077
+ }
1828
2078
  function passageBoxesByPage(pages, state) {
1829
2079
  const byPage = /* @__PURE__ */ new Map();
1830
2080
  if (state.cited.size === 0 && !state.active) return byPage;
@@ -1857,6 +2107,15 @@ function usePdfPassageHighlights(documentId) {
1857
2107
  () => passageBoxesByPage(processedChunks, { cited, active }),
1858
2108
  [processedChunks, cited, active]
1859
2109
  );
2110
+ const session = react.useArbiSessionStore();
2111
+ const fellBackFor = React.useRef(null);
2112
+ React.useEffect(() => {
2113
+ if (!active || !parsed || !documentId) return;
2114
+ const key = `${documentId}:${active}`;
2115
+ if (fellBackFor.current === key || passagePlaced(processedChunks, active)) return;
2116
+ fellBackFor.current = key;
2117
+ session.setDocumentViewer({ tab: "html" });
2118
+ }, [active, parsed, processedChunks, documentId, session]);
1860
2119
  const centredFor = React.useRef(null);
1861
2120
  const activeKey = active ? `${documentId}:${active}` : null;
1862
2121
  React.useEffect(() => {
@@ -1878,6 +2137,29 @@ function usePdfPassageHighlights(documentId) {
1878
2137
  [boxesByPage, active, centre]
1879
2138
  );
1880
2139
  }
2140
+ function PresentationFileCard({ documentId, fileName }) {
2141
+ const session = react.useArbiSessionStore();
2142
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center p-6", "data-testid": "presentation-file", children: /* @__PURE__ */ jsxRuntime.jsx(
2143
+ chunkZW6FPIFC_cjs.EmptyState,
2144
+ {
2145
+ icon: lucideReact.Presentation,
2146
+ title: chunk4TTX6ZNS_cjs.presentationTitle(fileName),
2147
+ description: "A presentation saved in an earlier format, without its slides. Open it and save it to keep it as a presentation PDF; this file can then be deleted.",
2148
+ action: /* @__PURE__ */ jsxRuntime.jsxs(
2149
+ ui.Button,
2150
+ {
2151
+ type: "button",
2152
+ onClick: () => chunkWFMWKPGY_cjs.editPresentation(session, { kind: "open", documentId }),
2153
+ "data-testid": "presentation-file-edit",
2154
+ children: [
2155
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "size-4" }),
2156
+ "Open the slides"
2157
+ ]
2158
+ }
2159
+ )
2160
+ }
2161
+ ) });
2162
+ }
1881
2163
  var AnnotatedPdfViewer = React.lazy(
1882
2164
  () => import('./document-tools/viewer/index.cjs').then((m) => ({ default: m.AnnotatedPdfViewer }))
1883
2165
  );
@@ -1887,6 +2169,12 @@ var SignaturePlacementViewer = React.lazy(
1887
2169
  var SignatureRequestEditor = React.lazy(
1888
2170
  () => import('./document-tools/viewer/index.cjs').then((m) => ({ default: m.SignatureRequestEditor }))
1889
2171
  );
2172
+ var ClippingPdfViewer = React.lazy(
2173
+ () => import('./ClippingPdfViewer-OGYLMVCE.cjs').then((m) => ({ default: m.ClippingPdfViewer }))
2174
+ );
2175
+ var ClippingMediaViewer = React.lazy(
2176
+ () => import('./ClippingMediaViewer-IEIBT74X.cjs').then((m) => ({ default: m.ClippingMediaViewer }))
2177
+ );
1890
2178
  var GuidedSigningViewer = React.lazy(
1891
2179
  () => import('./document-tools/viewer/index.cjs').then((m) => ({ default: m.GuidedSigningViewer }))
1892
2180
  );
@@ -1901,13 +2189,15 @@ function SessionPdfViewer(props) {
1901
2189
  [session, viewingId]
1902
2190
  );
1903
2191
  const passageHighlights = usePdfPassageHighlights(viewingId);
2192
+ const clipOutlines = usePdfClipOutlines(viewingId);
1904
2193
  const { renderPageOverlay: modeOverlay } = props;
1905
2194
  const renderPageOverlay = React.useCallback(
1906
2195
  (page) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1907
2196
  passageHighlights(page.pageNumber),
2197
+ clipOutlines(page.pageNumber),
1908
2198
  modeOverlay?.(page)
1909
2199
  ] }),
1910
- [passageHighlights, modeOverlay]
2200
+ [passageHighlights, clipOutlines, modeOverlay]
1911
2201
  );
1912
2202
  return /* @__PURE__ */ jsxRuntime.jsx(
1913
2203
  viewers.PdfViewer,
@@ -1933,6 +2223,7 @@ function ViewerPdfPane({
1933
2223
  placingSignature,
1934
2224
  onPlacingDone,
1935
2225
  annotating,
2226
+ clipping = false,
1936
2227
  markup,
1937
2228
  pdfSnapshotNumber,
1938
2229
  isSigned,
@@ -1940,9 +2231,12 @@ function ViewerPdfPane({
1940
2231
  }) {
1941
2232
  const { documentData, isDownloadOnly, isVideo, isAudio, isImage, isDocx } = doc;
1942
2233
  const showMarkup = markup.hasMarkup && !markup.showOriginal;
2234
+ if (chunkGFUOCGY6_cjs.isLegacyPresentationFile(documentData?.file_name)) {
2235
+ return /* @__PURE__ */ jsxRuntime.jsx(PresentationFileCard, { documentId, fileName: documentData?.file_name ?? "" });
2236
+ }
1943
2237
  if (isDownloadOnly) {
1944
2238
  return /* @__PURE__ */ jsxRuntime.jsx(
1945
- chunkNLSWDP42_cjs.ViewerPreviewUnavailable,
2239
+ chunkALK3PUUB_cjs.ViewerPreviewUnavailable,
1946
2240
  {
1947
2241
  extension: fileExtension(documentData?.file_name),
1948
2242
  onDownload
@@ -1952,29 +2246,40 @@ function ViewerPdfPane({
1952
2246
  const loadingLabel = isVideo ? "Loading video..." : isAudio ? "Loading audio..." : isImage ? "Loading image..." : !documentData ? "Loading document..." : ui.friendlyFileType(documentData.file_type, documentData.file_name) === "Text" ? "Loading text..." : "Loading PDF...";
1953
2247
  const errorLabel = isVideo ? "Failed to load video" : isAudio ? "Failed to load audio" : isImage ? "Failed to load image" : "Failed to load PDF";
1954
2248
  if (isDocx && !pdfSnapshotNumber && documentData && !["completed", "low-content", "failed"].includes(documentData.status || "")) {
1955
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
2249
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1956
2250
  }
1957
2251
  if (isDocx && !pdfSnapshotNumber && documentData?.status === "failed") {
1958
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "PDF conversion failed. Open the Word editor or download the document." });
2252
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "PDF conversion failed. Open the Word editor or download the document." });
1959
2253
  }
1960
- if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: loadingLabel });
2254
+ if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: loadingLabel });
1961
2255
  if (pdfError) {
1962
2256
  return /* @__PURE__ */ jsxRuntime.jsx(
1963
- chunkNLSWDP42_cjs.ViewerLoadError,
2257
+ chunkALK3PUUB_cjs.ViewerLoadError,
1964
2258
  {
1965
2259
  message: isVideo || isAudio || isImage ? `${errorLabel} \u2014 download it instead.` : "Couldn't display the PDF \u2014 download it instead.",
1966
2260
  onDownload
1967
2261
  }
1968
2262
  );
1969
2263
  }
1970
- if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: loadingLabel });
2264
+ if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: loadingLabel });
2265
+ if (clipping && (isImage || isVideo)) {
2266
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2267
+ ClippingMediaViewer,
2268
+ {
2269
+ file: pdfBlob,
2270
+ kind: isVideo ? "video" : "image",
2271
+ documentId,
2272
+ fileName: documentData?.file_name || (isVideo ? "Video" : "Image")
2273
+ }
2274
+ ) });
2275
+ }
1971
2276
  if (isVideo) return /* @__PURE__ */ jsxRuntime.jsx(viewers.VideoViewer, { blob: pdfBlob, title: documentData?.file_name || "Video" });
1972
2277
  if (isAudio) return /* @__PURE__ */ jsxRuntime.jsx(viewers.AudioViewer, { blob: pdfBlob, title: documentData?.file_name || "Audio" });
1973
2278
  if (isImage) {
1974
2279
  return /* @__PURE__ */ jsxRuntime.jsx(viewers.ImageViewer, { blob: pdfBlob, alt: documentData?.file_name || "Document image" });
1975
2280
  }
1976
2281
  if (signatureFlow?.kind === "prepare") {
1977
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2282
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1978
2283
  SignatureRequestEditor,
1979
2284
  {
1980
2285
  ...viewerProps,
@@ -1992,7 +2297,7 @@ function ViewerPdfPane({
1992
2297
  }
1993
2298
  if (signatureFlow?.kind === "sign" && currentUserId) {
1994
2299
  const { currentPage: _page, scrollTrigger: _trigger, ...guidedProps } = viewerProps;
1995
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2300
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1996
2301
  GuidedSigningViewer,
1997
2302
  {
1998
2303
  ...guidedProps,
@@ -2006,7 +2311,7 @@ function ViewerPdfPane({
2006
2311
  ) });
2007
2312
  }
2008
2313
  if (placingSignature) {
2009
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2314
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2010
2315
  SignaturePlacementViewer,
2011
2316
  {
2012
2317
  ...viewerProps,
@@ -2018,11 +2323,25 @@ function ViewerPdfPane({
2018
2323
  }
2019
2324
  ) });
2020
2325
  }
2326
+ if (clipping) {
2327
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2328
+ ClippingPdfViewer,
2329
+ {
2330
+ ...viewerProps,
2331
+ file: pdfBlob,
2332
+ documentId,
2333
+ version: pdfSnapshotNumber,
2334
+ fileName: documentData?.file_name || "Document",
2335
+ hasMarkup: markup.hasMarkup,
2336
+ viewer: SessionPdfViewer
2337
+ }
2338
+ ) });
2339
+ }
2021
2340
  if (annotating || showMarkup) {
2022
2341
  return /* @__PURE__ */ jsxRuntime.jsx(
2023
2342
  React.Suspense,
2024
2343
  {
2025
- fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
2344
+ fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
2026
2345
  children: /* @__PURE__ */ jsxRuntime.jsx(
2027
2346
  AnnotatedPdfViewer,
2028
2347
  {
@@ -2047,13 +2366,16 @@ function ViewerPdfPane({
2047
2366
  }
2048
2367
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
2049
2368
  }
2369
+ var SlidesTab = React.lazy(
2370
+ () => import('./ConnectedSlidesTab-I75LKKN7.cjs').then((m) => ({ default: m.ConnectedSlidesTab }))
2371
+ );
2050
2372
  var StreamedWordArtifact = React.lazy(
2051
- () => import('./ConnectedStreamedWordArtifact-6MCLJRIT.cjs').then((m) => ({
2373
+ () => import('./ConnectedStreamedWordArtifact-AG62232A.cjs').then((m) => ({
2052
2374
  default: m.ConnectedStreamedWordArtifact
2053
2375
  }))
2054
2376
  );
2055
2377
  var NativeDocxComparison = React.lazy(
2056
- () => import('./ConnectedNativeDocxComparison-SGE4R3M4.cjs').then((m) => ({
2378
+ () => import('./ConnectedNativeDocxComparison-QKHCYD6W.cjs').then((m) => ({
2057
2379
  default: m.ConnectedNativeDocxComparison
2058
2380
  }))
2059
2381
  );
@@ -2128,6 +2450,7 @@ function DocumentViewerContent({
2128
2450
  streamingDoc,
2129
2451
  isStreaming,
2130
2452
  draftDoc,
2453
+ isPresentation,
2131
2454
  isDraft,
2132
2455
  isCaptureDraft,
2133
2456
  labelSummaries,
@@ -2247,7 +2570,7 @@ function DocumentViewerContent({
2247
2570
  signatureDocumentId,
2248
2571
  !isDraft && !liveKind
2249
2572
  );
2250
- const isCoEditing = !snapshotDocumentId && !compareDocumentId && !isDraft && (activeTab === "docx" && isDocx || activeTab === "edit" && isArtifact && !liveKind && !isStreaming);
2573
+ const isCoEditing = !snapshotDocumentId && !compareDocumentId && !isDraft && (activeTab === "docx" && isDocx || activeTab === "slides" && isPresentation || activeTab === "edit" && isArtifact && !liveKind && !isStreaming);
2251
2574
  const currentVersionLabel = isCoEditing ? void 0 : !snapshotDocumentId && !compareDocumentId && (isDocx || isArtifact && !liveKind) ? "Live" : artifacts.versionLabel(versions, snapshotDocumentId || documentId);
2252
2575
  const compareVersionLabel = artifacts.versionLabel(versions, compareDocumentId);
2253
2576
  const snapshotNumber = artifacts.findVersion(versions, snapshotDocumentId)?.number;
@@ -2274,15 +2597,15 @@ function DocumentViewerContent({
2274
2597
  };
2275
2598
  const documentTitle = streamingDoc?.title || draftDoc?.title || documentData?.doc_metadata?.title || documentData?.file_name || "Document";
2276
2599
  const pageNav = totalPages > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2277
- /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2600
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2278
2601
  /* @__PURE__ */ jsxRuntime.jsx(
2279
- chunkNLSWDP42_cjs.PdfPageNav,
2602
+ chunkALK3PUUB_cjs.PdfPageNav,
2280
2603
  {
2281
2604
  canPrev: (viewingDocumentPage || 1) > 1,
2282
2605
  canNext: (viewingDocumentPage || 1) < totalPages,
2283
2606
  onPrev: () => stepPage(-1),
2284
2607
  onNext: () => stepPage(1),
2285
- counter: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2608
+ counter: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2286
2609
  }
2287
2610
  )
2288
2611
  ] });
@@ -2306,7 +2629,7 @@ function DocumentViewerContent({
2306
2629
  );
2307
2630
  const titleBlock = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2308
2631
  isDraft ? /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftTitle, { documentId }) : /* @__PURE__ */ jsxRuntime.jsx(
2309
- chunkNLSWDP42_cjs.ViewerTitle,
2632
+ chunkALK3PUUB_cjs.ViewerTitle,
2310
2633
  {
2311
2634
  title: documentTitle,
2312
2635
  versionLabel: currentVersionLabel,
@@ -2315,7 +2638,7 @@ function DocumentViewerContent({
2315
2638
  ),
2316
2639
  isCompact && !isDraft && documentData?.shared && /* @__PURE__ */ jsxRuntime.jsx(ui.SharingEntity, { shared: true, variant: "icon", "data-testid": "document-shared-status" }),
2317
2640
  isCompact && activeTab === "pdf" && pdfBlob && markup.hasMarkup && !annotating && !placingSignature && /* @__PURE__ */ jsxRuntime.jsx(
2318
- chunkYYPZOEED_cjs.MarkupViewNote,
2641
+ chunkLHWOKOMP_cjs.MarkupViewNote,
2319
2642
  {
2320
2643
  showOriginal: markup.showOriginal,
2321
2644
  onToggle: () => markup.setShowOriginal((on) => !on)
@@ -2333,7 +2656,7 @@ function DocumentViewerContent({
2333
2656
  /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftKind, { documentId })
2334
2657
  ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2335
2658
  /* @__PURE__ */ jsxRuntime.jsx(
2336
- chunkNLSWDP42_cjs.ViewerTabBar,
2659
+ chunkALK3PUUB_cjs.ViewerTabBar,
2337
2660
  {
2338
2661
  tabs: viewerTabs.filter((tab) => tab.id !== "versions"),
2339
2662
  activeId: activeTab,
@@ -2371,8 +2694,10 @@ function DocumentViewerContent({
2371
2694
  isSnapshot: !!snapshotDocumentId,
2372
2695
  isComparing
2373
2696
  });
2697
+ const clip = useViewerClipping(annotatable || !!pdfBlob && (isImage || isVideo), isCompact);
2698
+ const clean = useCleanView();
2374
2699
  const signatureBanner = !isDraft && !liveKind && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(
2375
- chunkYYPZOEED_cjs.SignatureRequestBanner,
2700
+ chunkLHWOKOMP_cjs.SignatureRequestBanner,
2376
2701
  {
2377
2702
  documentId,
2378
2703
  hidden: !!signatureFlow,
@@ -2403,19 +2728,21 @@ function DocumentViewerContent({
2403
2728
  const shownRef = snapshotDocumentId || documentId;
2404
2729
  const rightContent = /* @__PURE__ */ jsxRuntime.jsxs(chunkDTMBAFIL_cjs.ViewerHeaderEnd, { isCompact, children: [
2405
2730
  annotatable && /* @__PURE__ */ jsxRuntime.jsx(
2406
- chunkYYPZOEED_cjs.AnnotateButton,
2731
+ chunkLHWOKOMP_cjs.AnnotateButton,
2407
2732
  {
2408
2733
  active: annotating,
2409
2734
  compact: isCompact,
2410
2735
  onClick: () => {
2411
2736
  setPlacingSignature(false);
2737
+ clip.stop();
2412
2738
  markup.setShowOriginal(false);
2413
2739
  setAnnotating((on) => !on);
2414
2740
  }
2415
2741
  }
2416
2742
  ),
2743
+ clip.button,
2417
2744
  activeTab === "pdf" && pdfBlob && !placingSignature && (markup.hasMarkup || annotating) && /* @__PURE__ */ jsxRuntime.jsx(
2418
- chunkYYPZOEED_cjs.ShowOriginalButton,
2745
+ chunkLHWOKOMP_cjs.ShowOriginalButton,
2419
2746
  {
2420
2747
  active: markup.showOriginal,
2421
2748
  compact: isCompact,
@@ -2426,14 +2753,14 @@ function DocumentViewerContent({
2426
2753
  }
2427
2754
  ),
2428
2755
  activeTab === "pdf" && markup.hasMarkup && !annotating && /* @__PURE__ */ jsxRuntime.jsx(
2429
- chunkYYPZOEED_cjs.DownloadMarkupButton,
2756
+ chunkLHWOKOMP_cjs.DownloadMarkupButton,
2430
2757
  {
2431
2758
  onClick: () => void markup.downloadMarkup(),
2432
2759
  disabledReason: isSigned ? documentTools.SIGNED_LOCKED_REASON : void 0
2433
2760
  }
2434
2761
  ),
2435
2762
  activeTab === "pdf" && isImage && pdfBlob && /* @__PURE__ */ jsxRuntime.jsx(
2436
- chunkNLSWDP42_cjs.ViewerImageActions,
2763
+ chunkALK3PUUB_cjs.ViewerImageActions,
2437
2764
  {
2438
2765
  compact: isCompact,
2439
2766
  onUseAsReference: support.useImageAsReference ? () => support.useImageAsReference(documentId) : void 0,
@@ -2471,7 +2798,7 @@ function DocumentViewerContent({
2471
2798
  }
2472
2799
  ),
2473
2800
  /* @__PURE__ */ jsxRuntime.jsx(
2474
- chunkYYPZOEED_cjs.FileShareDialog,
2801
+ chunkLHWOKOMP_cjs.FileShareDialog,
2475
2802
  {
2476
2803
  open: sharingFile,
2477
2804
  onOpenChange: setSharingFile,
@@ -2502,7 +2829,7 @@ function DocumentViewerContent({
2502
2829
  {
2503
2830
  state: documentData?.shared ? "shared" : "private",
2504
2831
  onToggle: share,
2505
- disabled: !chunkNLSWDP42_cjs.canChangeVisibility(documentData, currentUserId),
2832
+ disabled: !chunkALK3PUUB_cjs.canChangeVisibility(documentData, currentUserId),
2506
2833
  disabledTooltip: "Only the owner can change visibility",
2507
2834
  tooltip: documentData?.shared ? "Shared with the workspace \u2014 click to share with specific people" : "Share with the workspace, then optionally notify specific people by email",
2508
2835
  variant: "outline",
@@ -2596,7 +2923,7 @@ function DocumentViewerContent({
2596
2923
  ),
2597
2924
  !isSigned && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2598
2925
  /* @__PURE__ */ jsxRuntime.jsx(
2599
- chunkYYPZOEED_cjs.PlaceMySignatureMenuItems,
2926
+ chunkLHWOKOMP_cjs.PlaceMySignatureMenuItems,
2600
2927
  {
2601
2928
  onPlace: (mark) => {
2602
2929
  setPlacingSignature(false);
@@ -2646,7 +2973,7 @@ function DocumentViewerContent({
2646
2973
  onZoomChange: setZoom
2647
2974
  };
2648
2975
  return /* @__PURE__ */ jsxRuntime.jsxs(
2649
- chunkNLSWDP42_cjs.ViewerFrame,
2976
+ chunkALK3PUUB_cjs.ViewerFrame,
2650
2977
  {
2651
2978
  frameRef: containerRef,
2652
2979
  contentId: documentId,
@@ -2664,7 +2991,7 @@ function DocumentViewerContent({
2664
2991
  ),
2665
2992
  isCompact && !isCoEditing && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "viewer-title-row", className: "flex min-w-0 items-center gap-2 px-3 pb-2", children: titleBlock }),
2666
2993
  snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(
2667
- chunkYYPZOEED_cjs.VersionSnapshotBar,
2994
+ chunkLHWOKOMP_cjs.VersionSnapshotBar,
2668
2995
  {
2669
2996
  versionNumber: snapshotNumber,
2670
2997
  live: isDocx || isArtifact,
@@ -2674,24 +3001,10 @@ function DocumentViewerContent({
2674
3001
  )
2675
3002
  ] }),
2676
3003
  compareRow: isComparing ? compareIndicator || void 0 : void 0,
2677
- footer: (
2678
- // Crop to a new document. Full resolution (no maxSize): a crop frames, it never downscales.
2679
- /* @__PURE__ */ jsxRuntime.jsx(
2680
- react.ImageCropModal,
2681
- {
2682
- open: crop.cropImageUrl !== null,
2683
- image: crop.cropImageUrl,
2684
- title: "Crop image",
2685
- saveLabel: "Save as a copy",
2686
- aspectOptions: react.DEFAULT_ASPECT_OPTIONS,
2687
- output: { mimeType: "image/png" },
2688
- onComplete: crop.handleCropComplete,
2689
- onCancel: crop.closeCrop
2690
- }
2691
- )
2692
- ),
3004
+ ...clean.frame,
3005
+ footer: /* @__PURE__ */ jsxRuntime.jsx(ViewerCropModal, { crop }),
2693
3006
  children: [
2694
- isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3007
+ isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2695
3008
  NativeDocxComparison,
2696
3009
  {
2697
3010
  baseId: compareDocumentId,
@@ -2701,22 +3014,22 @@ function DocumentViewerContent({
2701
3014
  ) }),
2702
3015
  isCaptureDraft && /* @__PURE__ */ jsxRuntime.jsx(ViewerCaptureDraft, { documentId }),
2703
3016
  !isCaptureDraft && (activeTab === "pdf" || isMedia && activeTab === "html") && (!isArtifact || isDocx && !isDraft && !isStreaming && !liveKind) && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(chunkDTMBAFIL_cjs.ViewerPane, { hidden: activeTab !== "pdf", children: [
2704
- /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2705
- !isMedia && !isImage && signatureBanner,
2706
- activeTab === "pdf" && pdfBlob && !pdfVerified && /* @__PURE__ */ jsxRuntime.jsxs(chunkNLSWDP42_cjs.ViewerMessage, { children: [
3017
+ !clean.on && /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.DocumentLabelBar, { summaries: labelSummaries }),
3018
+ !clean.on && !isMedia && !isImage && signatureBanner,
3019
+ !clean.on && activeTab === "pdf" && pdfBlob && !pdfVerified && /* @__PURE__ */ jsxRuntime.jsxs(chunkALK3PUUB_cjs.ViewerMessage, { children: [
2707
3020
  "Offline copy: its version cannot be verified. Reconnect before signing.",
2708
3021
  " ",
2709
3022
  /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void blobs.retryPdf(), className: "underline", children: "Retry loading the current PDF" })
2710
3023
  ] }),
2711
- activeTab === "pdf" && !isMedia && !isImage && /* @__PURE__ */ jsxRuntime.jsx(
2712
- chunkYYPZOEED_cjs.MarkupNotices,
3024
+ !clean.on && activeTab === "pdf" && !isMedia && !isImage && /* @__PURE__ */ jsxRuntime.jsx(
3025
+ chunkLHWOKOMP_cjs.MarkupNotices,
2713
3026
  {
2714
3027
  legacyPrompt: markup.legacyPrompt,
2715
3028
  olderNote: markup.olderNote,
2716
3029
  onOpenVersion: (n) => setSnapshotDocumentId(`${documentId}@v${n}`)
2717
3030
  }
2718
3031
  ),
2719
- /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
3032
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerControlBar, { controls: !clean.on && activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2720
3033
  ViewerPdfPane,
2721
3034
  {
2722
3035
  documentId,
@@ -2737,6 +3050,7 @@ function DocumentViewerContent({
2737
3050
  setIsSignOpen(true);
2738
3051
  },
2739
3052
  annotating,
3053
+ clipping: clip.clipping,
2740
3054
  markup,
2741
3055
  pdfSnapshotNumber,
2742
3056
  isSigned,
@@ -2755,10 +3069,10 @@ function DocumentViewerContent({
2755
3069
  }
2756
3070
  ),
2757
3071
  activeTab === "edit" && isArtifact && liveKind && /* @__PURE__ */ jsxRuntime.jsx(chunkEG7EJFUE_cjs.ArtifactCodeView, { source: liveSource, fileName: documentData?.file_name ?? void 0 }),
2758
- activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2759
- isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkYYPZOEED_cjs.SignedEditNote, {}),
3072
+ activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
3073
+ isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkLHWOKOMP_cjs.SignedEditNote, {}),
2760
3074
  /* @__PURE__ */ jsxRuntime.jsx(
2761
- chunkECLUFKYR_cjs.ConnectedNativeDocxEditor,
3075
+ chunk7557LDAN_cjs.ConnectedNativeDocxEditor,
2762
3076
  {
2763
3077
  documentId: snapshotDocumentId || documentId,
2764
3078
  title: documentTitle,
@@ -2799,12 +3113,21 @@ function DocumentViewerContent({
2799
3113
  onOpenTranslation: (id) => setViewingDocumentId(id)
2800
3114
  }
2801
3115
  ),
2802
- activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2803
- activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
3116
+ activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
3117
+ activeTab === "slides" && isPresentation && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading slides\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3118
+ SlidesTab,
3119
+ {
3120
+ documentId,
3121
+ version: snapshotDocumentId ? snapshotNumber : void 0,
3122
+ currentVersion: documentData?.current_version ?? void 0,
3123
+ draftTitle: isDraft ? draftDoc?.title ?? "" : void 0
3124
+ }
3125
+ ) }),
3126
+ activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2804
3127
  signatureBanner,
2805
- isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkYYPZOEED_cjs.SignedEditNote, {}),
3128
+ isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkLHWOKOMP_cjs.SignedEditNote, {}),
2806
3129
  /* @__PURE__ */ jsxRuntime.jsx(
2807
- chunkECLUFKYR_cjs.ConnectedNativeDocxEditor,
3130
+ chunk7557LDAN_cjs.ConnectedNativeDocxEditor,
2808
3131
  {
2809
3132
  documentId: snapshotDocumentId || documentId,
2810
3133
  title: documentTitle,
@@ -2814,7 +3137,7 @@ function DocumentViewerContent({
2814
3137
  `${snapshotDocumentId || documentId}-${snapshotDocumentId ? "snapshot" : "live"}`
2815
3138
  )
2816
3139
  ] }),
2817
- streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3140
+ streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2818
3141
  StreamedWordArtifact,
2819
3142
  {
2820
3143
  documentId: documentId.startsWith("doc-") ? documentId : void 0,
@@ -2824,7 +3147,7 @@ function DocumentViewerContent({
2824
3147
  },
2825
3148
  documentId
2826
3149
  ) }),
2827
- !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkNLSWDP42_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
3150
+ !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2828
3151
  ParsedTextView,
2829
3152
  {
2830
3153
  documentId: pdfSnapshotId || documentId,
@@ -2840,5 +3163,5 @@ function DocumentViewerContent({
2840
3163
  }
2841
3164
 
2842
3165
  exports.ConnectedDocumentViewer = ConnectedDocumentViewer;
2843
- //# sourceMappingURL=chunk-X36UR4A7.cjs.map
2844
- //# sourceMappingURL=chunk-X36UR4A7.cjs.map
3166
+ //# sourceMappingURL=chunk-UTJ223TI.cjs.map
3167
+ //# sourceMappingURL=chunk-UTJ223TI.cjs.map