@arbidocs/blocks 0.5.119 → 0.5.121

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 (463) hide show
  1. package/dist/ClippingMediaViewer-B6WG7Q64.cjs +156 -0
  2. package/dist/ClippingMediaViewer-B6WG7Q64.cjs.map +1 -0
  3. package/dist/ClippingPdfViewer-6GCVTV3V.cjs +79 -0
  4. package/dist/ClippingPdfViewer-6GCVTV3V.cjs.map +1 -0
  5. package/dist/{ConnectedCallDock-WER7R222.cjs → ConnectedCallDock-DC5V5OUJ.cjs} +25 -23
  6. package/dist/ConnectedCallDock-DC5V5OUJ.cjs.map +1 -0
  7. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs → ConnectedCallRoom-FQLXWTFB.cjs} +18 -16
  8. package/dist/{ConnectedCallRoom-T7OBQTYP.cjs.map → ConnectedCallRoom-FQLXWTFB.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-546ILGLW.cjs → ConnectedNativeDocxComparison-4Q5S7VLD.cjs} +17 -17
  10. package/dist/{ConnectedNativeDocxComparison-546ILGLW.cjs.map → ConnectedNativeDocxComparison-4Q5S7VLD.cjs.map} +1 -1
  11. package/dist/ConnectedPresentation-4HLDZDWV.cjs +183 -0
  12. package/dist/ConnectedPresentation-4HLDZDWV.cjs.map +1 -0
  13. package/dist/{ConnectedProductionSetDialog-LHB4VQWC.cjs → ConnectedProductionSetDialog-4EAY6KAZ.cjs} +3 -3
  14. package/dist/{ConnectedProductionSetDialog-LHB4VQWC.cjs.map → ConnectedProductionSetDialog-4EAY6KAZ.cjs.map} +1 -1
  15. package/dist/ConnectedSlidesTab-7QDE2CZD.cjs +234 -0
  16. package/dist/ConnectedSlidesTab-7QDE2CZD.cjs.map +1 -0
  17. package/dist/{ConnectedStreamedWordArtifact-S2ZFZLZQ.cjs → ConnectedStreamedWordArtifact-FFOQJBOI.cjs} +17 -17
  18. package/dist/{ConnectedStreamedWordArtifact-S2ZFZLZQ.cjs.map → ConnectedStreamedWordArtifact-FFOQJBOI.cjs.map} +1 -1
  19. package/dist/{DocumentReviewCard-ZSBZBGFK.cjs → DocumentReviewCard-SNWVEZ7S.cjs} +19 -18
  20. package/dist/DocumentReviewCard-SNWVEZ7S.cjs.map +1 -0
  21. package/dist/{FilesViewerDialog-6UKR5WEF.cjs → FilesViewerDialog-IZI63FOV.cjs} +54 -47
  22. package/dist/FilesViewerDialog-IZI63FOV.cjs.map +1 -0
  23. package/dist/{GridViewImpl-ZMJJWTOM.cjs → GridViewImpl-LTYET77Q.cjs} +3 -3
  24. package/dist/GridViewImpl-LTYET77Q.cjs.map +1 -0
  25. package/dist/{WorkspaceTableView-J3C6VH4T.cjs → WorkspaceTableView-TEIRB6VJ.cjs} +11 -10
  26. package/dist/WorkspaceTableView-TEIRB6VJ.cjs.map +1 -0
  27. package/dist/agents/index.cjs +297 -297
  28. package/dist/agents/tasks/ConversationListView.js +10 -2
  29. package/dist/agents/tasks/ConversationListView.js.map +2 -2
  30. package/dist/agents/tasks/TaskTable.js +5 -4
  31. package/dist/agents/tasks/TaskTable.js.map +2 -2
  32. package/dist/agents/tasks/WorkflowsTable.js +4 -5
  33. package/dist/agents/tasks/WorkflowsTable.js.map +2 -2
  34. package/dist/agents/tasks/taskColumns.js +1 -1
  35. package/dist/agents/tasks/taskColumns.js.map +1 -1
  36. package/dist/agents/tasks/taskTableLabels.js +1 -1
  37. package/dist/agents/tasks/taskTableLabels.js.map +1 -1
  38. package/dist/agents/tasks/workflowTableLabels.js +1 -1
  39. package/dist/agents/tasks/workflowTableLabels.js.map +1 -1
  40. package/dist/{ai-IM4A23YT.cjs → ai-KBYNRNZ6.cjs} +28 -26
  41. package/dist/ai-KBYNRNZ6.cjs.map +1 -0
  42. package/dist/calls/connected/CallControls.d.ts +2 -0
  43. package/dist/calls/connected/CallControls.js +71 -9
  44. package/dist/calls/connected/CallControls.js.map +2 -2
  45. package/dist/calls/connected/ShareDocumentDialog.d.ts +14 -0
  46. package/dist/calls/connected/ShareDocumentDialog.js +77 -0
  47. package/dist/calls/connected/ShareDocumentDialog.js.map +7 -0
  48. package/dist/calls/index.cjs +121 -121
  49. package/dist/chat/index.cjs +9 -8
  50. package/dist/{chunk-T23UTIRI.cjs → chunk-2PZT3J34.cjs} +6 -6
  51. package/dist/{chunk-T23UTIRI.cjs.map → chunk-2PZT3J34.cjs.map} +1 -1
  52. package/dist/{chunk-SGYSDABK.cjs → chunk-2W5E62EY.cjs} +6 -6
  53. package/dist/{chunk-SGYSDABK.cjs.map → chunk-2W5E62EY.cjs.map} +1 -1
  54. package/dist/{chunk-TDO5UWXF.cjs → chunk-3SCNXNHI.cjs} +5 -5
  55. package/dist/{chunk-TDO5UWXF.cjs.map → chunk-3SCNXNHI.cjs.map} +1 -1
  56. package/dist/{chunk-KTQOGT2L.cjs → chunk-474GPLCM.cjs} +7 -7
  57. package/dist/{chunk-KTQOGT2L.cjs.map → chunk-474GPLCM.cjs.map} +1 -1
  58. package/dist/{chunk-TP5PGWIO.cjs → chunk-4IOYQLKG.cjs} +3 -3
  59. package/dist/{chunk-TP5PGWIO.cjs.map → chunk-4IOYQLKG.cjs.map} +1 -1
  60. package/dist/{chunk-NY3YUCOW.cjs → chunk-4NPCDS2X.cjs} +3 -3
  61. package/dist/{chunk-NY3YUCOW.cjs.map → chunk-4NPCDS2X.cjs.map} +1 -1
  62. package/dist/{chunk-CPG7II4E.cjs → chunk-4RBQ44RY.cjs} +28 -28
  63. package/dist/chunk-4RBQ44RY.cjs.map +1 -0
  64. package/dist/{chunk-BQ5RIWWT.cjs → chunk-4VZZWYEC.cjs} +3 -3
  65. package/dist/{chunk-BQ5RIWWT.cjs.map → chunk-4VZZWYEC.cjs.map} +1 -1
  66. package/dist/{chunk-Y24V6HPR.cjs → chunk-52KGMAO5.cjs} +15 -15
  67. package/dist/{chunk-Y24V6HPR.cjs.map → chunk-52KGMAO5.cjs.map} +1 -1
  68. package/dist/{chunk-HB2O4THB.cjs → chunk-5534FYXP.cjs} +4 -4
  69. package/dist/{chunk-HB2O4THB.cjs.map → chunk-5534FYXP.cjs.map} +1 -1
  70. package/dist/chunk-5GCCUXMT.cjs +63 -0
  71. package/dist/chunk-5GCCUXMT.cjs.map +1 -0
  72. package/dist/chunk-5LTIZ44D.cjs +95 -0
  73. package/dist/chunk-5LTIZ44D.cjs.map +1 -0
  74. package/dist/{chunk-YGXOKB5Z.cjs → chunk-734NPQNR.cjs} +4 -4
  75. package/dist/{chunk-YGXOKB5Z.cjs.map → chunk-734NPQNR.cjs.map} +1 -1
  76. package/dist/{chunk-SB4M3ITT.cjs → chunk-7VUJGHMY.cjs} +444 -100
  77. package/dist/chunk-7VUJGHMY.cjs.map +1 -0
  78. package/dist/chunk-AFQTQC7A.cjs +35 -0
  79. package/dist/chunk-AFQTQC7A.cjs.map +1 -0
  80. package/dist/{chunk-XKVPSOKP.cjs → chunk-AY6EZSZB.cjs} +4 -4
  81. package/dist/{chunk-XKVPSOKP.cjs.map → chunk-AY6EZSZB.cjs.map} +1 -1
  82. package/dist/{chunk-TT4IF52H.cjs → chunk-BVAT4EVC.cjs} +40 -41
  83. package/dist/chunk-BVAT4EVC.cjs.map +1 -0
  84. package/dist/{chunk-VGCTYTEW.cjs → chunk-C2OICDMI.cjs} +10 -10
  85. package/dist/{chunk-VGCTYTEW.cjs.map → chunk-C2OICDMI.cjs.map} +1 -1
  86. package/dist/{chunk-CPR6EHG7.cjs → chunk-DR2AH7JL.cjs} +179 -55
  87. package/dist/chunk-DR2AH7JL.cjs.map +1 -0
  88. package/dist/{chunk-NJCK6V6U.cjs → chunk-EATIFPKP.cjs} +4 -60
  89. package/dist/chunk-EATIFPKP.cjs.map +1 -0
  90. package/dist/{chunk-B3LZITVF.cjs → chunk-EHP6OH5D.cjs} +11 -451
  91. package/dist/chunk-EHP6OH5D.cjs.map +1 -0
  92. package/dist/{chunk-DDIW4HLU.cjs → chunk-ENGL7P3I.cjs} +46 -37
  93. package/dist/chunk-ENGL7P3I.cjs.map +1 -0
  94. package/dist/{chunk-QHOHDNBU.cjs → chunk-FKFQCK3C.cjs} +4 -4
  95. package/dist/{chunk-QHOHDNBU.cjs.map → chunk-FKFQCK3C.cjs.map} +1 -1
  96. package/dist/{chunk-6UTKM5AB.cjs → chunk-GKVE5JGB.cjs} +76 -76
  97. package/dist/chunk-GKVE5JGB.cjs.map +1 -0
  98. package/dist/{chunk-B2HNNG25.cjs → chunk-GPX5VC57.cjs} +50 -50
  99. package/dist/{chunk-B2HNNG25.cjs.map → chunk-GPX5VC57.cjs.map} +1 -1
  100. package/dist/{chunk-WAV762GP.cjs → chunk-GQXPNIRE.cjs} +6 -6
  101. package/dist/{chunk-WAV762GP.cjs.map → chunk-GQXPNIRE.cjs.map} +1 -1
  102. package/dist/chunk-GX2EBMJW.cjs +133 -0
  103. package/dist/chunk-GX2EBMJW.cjs.map +1 -0
  104. package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
  105. package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
  106. package/dist/chunk-HYUKPHCT.cjs +66 -0
  107. package/dist/chunk-HYUKPHCT.cjs.map +1 -0
  108. package/dist/{chunk-NNUK5ZM7.cjs → chunk-JQLWKNJO.cjs} +29 -27
  109. package/dist/chunk-JQLWKNJO.cjs.map +1 -0
  110. package/dist/{chunk-OEREKAAP.cjs → chunk-JZEYHDWJ.cjs} +75 -75
  111. package/dist/{chunk-OEREKAAP.cjs.map → chunk-JZEYHDWJ.cjs.map} +1 -1
  112. package/dist/{chunk-PGJYD67F.cjs → chunk-KNGZZC4O.cjs} +7 -6
  113. package/dist/chunk-KNGZZC4O.cjs.map +1 -0
  114. package/dist/{chunk-NIE3N6OM.cjs → chunk-KP5AITQ4.cjs} +10 -10
  115. package/dist/{chunk-NIE3N6OM.cjs.map → chunk-KP5AITQ4.cjs.map} +1 -1
  116. package/dist/{chunk-YYPZOEED.cjs → chunk-LHWOKOMP.cjs} +23 -2
  117. package/dist/chunk-LHWOKOMP.cjs.map +1 -0
  118. package/dist/{chunk-57NHXEU2.cjs → chunk-MXBXZXXQ.cjs} +5 -5
  119. package/dist/{chunk-57NHXEU2.cjs.map → chunk-MXBXZXXQ.cjs.map} +1 -1
  120. package/dist/{chunk-WXUU3COI.cjs → chunk-MZ2KZXNU.cjs} +3 -3
  121. package/dist/{chunk-WXUU3COI.cjs.map → chunk-MZ2KZXNU.cjs.map} +1 -1
  122. package/dist/chunk-NAJN32MF.cjs +154 -0
  123. package/dist/chunk-NAJN32MF.cjs.map +1 -0
  124. package/dist/{chunk-557MJ4IH.cjs → chunk-NLOETJCB.cjs} +17 -154
  125. package/dist/chunk-NLOETJCB.cjs.map +1 -0
  126. package/dist/{chunk-4XJEHKVZ.cjs → chunk-PIYYBPHH.cjs} +4 -4
  127. package/dist/{chunk-4XJEHKVZ.cjs.map → chunk-PIYYBPHH.cjs.map} +1 -1
  128. package/dist/chunk-Q3XJUXID.cjs +4774 -0
  129. package/dist/chunk-Q3XJUXID.cjs.map +1 -0
  130. package/dist/{chunk-325GVZE6.cjs → chunk-Q6DQGGP4.cjs} +3 -3
  131. package/dist/{chunk-325GVZE6.cjs.map → chunk-Q6DQGGP4.cjs.map} +1 -1
  132. package/dist/chunk-QFXILJMJ.cjs +458 -0
  133. package/dist/chunk-QFXILJMJ.cjs.map +1 -0
  134. package/dist/{chunk-R7CJEIA5.cjs → chunk-RYVZDFVO.cjs} +8 -9
  135. package/dist/chunk-RYVZDFVO.cjs.map +1 -0
  136. package/dist/{chunk-VLCY46K6.cjs → chunk-TG2GM7WJ.cjs} +4 -3
  137. package/dist/chunk-TG2GM7WJ.cjs.map +1 -0
  138. package/dist/{chunk-EOG6OT5I.cjs → chunk-TXP2N3DC.cjs} +4 -4
  139. package/dist/{chunk-EOG6OT5I.cjs.map → chunk-TXP2N3DC.cjs.map} +1 -1
  140. package/dist/{chunk-KXIRVKCJ.cjs → chunk-UUENH4BJ.cjs} +3 -3
  141. package/dist/{chunk-KXIRVKCJ.cjs.map → chunk-UUENH4BJ.cjs.map} +1 -1
  142. package/dist/chunk-VJ5ZLRBD.cjs +27 -0
  143. package/dist/chunk-VJ5ZLRBD.cjs.map +1 -0
  144. package/dist/{chunk-P77YTTJ3.cjs → chunk-W6B3RYTX.cjs} +4 -4
  145. package/dist/{chunk-P77YTTJ3.cjs.map → chunk-W6B3RYTX.cjs.map} +1 -1
  146. package/dist/chunk-WOOOMTTA.cjs +19 -0
  147. package/dist/chunk-WOOOMTTA.cjs.map +1 -0
  148. package/dist/{chunk-ZPPMAL5P.cjs → chunk-WQMR3O2D.cjs} +6 -10
  149. package/dist/chunk-WQMR3O2D.cjs.map +1 -0
  150. package/dist/{chunk-CJYWHUZR.cjs → chunk-XCKHOXRP.cjs} +4 -4
  151. package/dist/{chunk-CJYWHUZR.cjs.map → chunk-XCKHOXRP.cjs.map} +1 -1
  152. package/dist/{chunk-6WMMZLEV.cjs → chunk-XJEXFEWG.cjs} +2 -27
  153. package/dist/chunk-XJEXFEWG.cjs.map +1 -0
  154. package/dist/chunk-XK4TVJKD.cjs +73 -0
  155. package/dist/chunk-XK4TVJKD.cjs.map +1 -0
  156. package/dist/chunk-XTR26TNE.cjs +1358 -0
  157. package/dist/chunk-XTR26TNE.cjs.map +1 -0
  158. package/dist/{chunk-E7TE2WVT.cjs → chunk-ZVEW3JBT.cjs} +3 -3
  159. package/dist/{chunk-E7TE2WVT.cjs.map → chunk-ZVEW3JBT.cjs.map} +1 -1
  160. package/dist/collaboration/index.cjs +73 -73
  161. package/dist/collaboration/sharing/ShareControl.js +10 -2
  162. package/dist/collaboration/sharing/ShareControl.js.map +2 -2
  163. package/dist/components/SharedCell.d.ts +2 -4
  164. package/dist/components/SharedCell.js +4 -8
  165. package/dist/components/SharedCell.js.map +2 -2
  166. package/dist/components/ZoomSlider.d.ts +25 -0
  167. package/dist/components/ZoomSlider.js +59 -0
  168. package/dist/components/ZoomSlider.js.map +7 -0
  169. package/dist/connect/docx.cjs +20 -20
  170. package/dist/connect/index.cjs +1210 -1264
  171. package/dist/connect/index.cjs.map +1 -1
  172. package/dist/connect/viewer.cjs +42 -36
  173. package/dist/connection/ai.d.ts +1 -1
  174. package/dist/connection/facts/factPageColumns.js +3 -9
  175. package/dist/connection/facts/factPageColumns.js.map +2 -2
  176. package/dist/connection/files/ConnectedNewFileMenu.d.ts +2 -1
  177. package/dist/connection/files/ConnectedNewFileMenu.js +9 -3
  178. package/dist/connection/files/ConnectedNewFileMenu.js.map +2 -2
  179. package/dist/connection/files/explorer/ConnectedFilesExplorer.js +1 -1
  180. package/dist/connection/files/explorer/ConnectedFilesExplorer.js.map +2 -2
  181. package/dist/connection/files/explorer/FileTiles.js +1 -1
  182. package/dist/connection/files/explorer/FileTiles.js.map +2 -2
  183. package/dist/connection/files/fields/documentField.js +1 -1
  184. package/dist/connection/files/fields/documentField.js.map +2 -2
  185. package/dist/connection/files/grid/cells.js +1 -3
  186. package/dist/connection/files/grid/cells.js.map +2 -2
  187. package/dist/connection/files/grid/documentColumns.js +4 -3
  188. package/dist/connection/files/grid/documentColumns.js.map +2 -2
  189. package/dist/connection/files/page/DocumentsFilterBarActions.js +17 -28
  190. package/dist/connection/files/page/DocumentsFilterBarActions.js.map +2 -2
  191. package/dist/connection/mail/useMailboxDefaults.js +1 -1
  192. package/dist/connection/mail/useMailboxDefaults.js.map +2 -2
  193. package/dist/connection/panels/useSessionPanelMode.js +3 -2
  194. package/dist/connection/panels/useSessionPanelMode.js.map +2 -2
  195. package/dist/connection/presentation/ClippingMediaViewer.d.ts +12 -0
  196. package/dist/connection/presentation/ClippingMediaViewer.js +153 -0
  197. package/dist/connection/presentation/ClippingMediaViewer.js.map +7 -0
  198. package/dist/connection/presentation/ClippingPdfViewer.d.ts +22 -0
  199. package/dist/connection/presentation/ClippingPdfViewer.js +75 -0
  200. package/dist/connection/presentation/ClippingPdfViewer.js.map +7 -0
  201. package/dist/connection/presentation/ConnectedPresentation.d.ts +12 -0
  202. package/dist/connection/presentation/ConnectedPresentation.js +100 -0
  203. package/dist/connection/presentation/ConnectedPresentation.js.map +7 -0
  204. package/dist/connection/presentation/ConnectedSlidesTab.d.ts +20 -0
  205. package/dist/connection/presentation/ConnectedSlidesTab.js +220 -0
  206. package/dist/connection/presentation/ConnectedSlidesTab.js.map +7 -0
  207. package/dist/connection/presentation/CropClipDialog.d.ts +11 -0
  208. package/dist/connection/presentation/CropClipDialog.js +86 -0
  209. package/dist/connection/presentation/CropClipDialog.js.map +7 -0
  210. package/dist/connection/presentation/GenerateTile.d.ts +4 -0
  211. package/dist/connection/presentation/GenerateTile.js +24 -0
  212. package/dist/connection/presentation/GenerateTile.js.map +7 -0
  213. package/dist/connection/presentation/LabelColumnMenu.d.ts +8 -0
  214. package/dist/connection/presentation/LabelColumnMenu.js +38 -0
  215. package/dist/connection/presentation/LabelColumnMenu.js.map +7 -0
  216. package/dist/connection/presentation/PresentationDialogs.d.ts +39 -0
  217. package/dist/connection/presentation/PresentationDialogs.js +295 -0
  218. package/dist/connection/presentation/PresentationDialogs.js.map +7 -0
  219. package/dist/connection/presentation/PresentationFileCard.d.ts +10 -0
  220. package/dist/connection/presentation/PresentationFileCard.js +35 -0
  221. package/dist/connection/presentation/PresentationFileCard.js.map +7 -0
  222. package/dist/connection/presentation/PresentationPill.d.ts +8 -0
  223. package/dist/connection/presentation/PresentationPill.js +44 -0
  224. package/dist/connection/presentation/PresentationPill.js.map +7 -0
  225. package/dist/connection/presentation/PresentationSlot.d.ts +7 -0
  226. package/dist/connection/presentation/PresentationSlot.js +35 -0
  227. package/dist/connection/presentation/PresentationSlot.js.map +7 -0
  228. package/dist/connection/presentation/requests.d.ts +16 -0
  229. package/dist/connection/presentation/requests.js +20 -0
  230. package/dist/connection/presentation/requests.js.map +7 -0
  231. package/dist/connection/presentation/useImageGeneration.d.ts +11 -0
  232. package/dist/connection/presentation/useImageGeneration.js +66 -0
  233. package/dist/connection/presentation/useImageGeneration.js.map +7 -0
  234. package/dist/connection/presentation/useLabelColumns.d.ts +15 -0
  235. package/dist/connection/presentation/useLabelColumns.js +33 -0
  236. package/dist/connection/presentation/useLabelColumns.js.map +7 -0
  237. package/dist/connection/presentation/usePresentationController.d.ts +15 -0
  238. package/dist/connection/presentation/usePresentationController.js +118 -0
  239. package/dist/connection/presentation/usePresentationController.js.map +7 -0
  240. package/dist/connection/presentation/usePresentationFiles.d.ts +44 -0
  241. package/dist/connection/presentation/usePresentationFiles.js +307 -0
  242. package/dist/connection/presentation/usePresentationFiles.js.map +7 -0
  243. package/dist/connection/presentation/useViewerClipping.d.ts +14 -0
  244. package/dist/connection/presentation/useViewerClipping.js +18 -0
  245. package/dist/connection/presentation/useViewerClipping.js.map +7 -0
  246. package/dist/connection/sharing/WorkspaceMembersList.d.ts +4 -0
  247. package/dist/connection/sharing/WorkspaceMembersList.js +34 -0
  248. package/dist/connection/sharing/WorkspaceMembersList.js.map +7 -0
  249. package/dist/connection/shell/ConnectedAppShell.js +9 -1
  250. package/dist/connection/shell/ConnectedAppShell.js.map +2 -2
  251. package/dist/connection/viewer/CleanViewControl.d.ts +8 -0
  252. package/dist/connection/viewer/CleanViewControl.js +76 -0
  253. package/dist/connection/viewer/CleanViewControl.js.map +7 -0
  254. package/dist/connection/viewer/ConnectedDocumentViewer.js +31 -31
  255. package/dist/connection/viewer/ConnectedDocumentViewer.js.map +2 -2
  256. package/dist/connection/viewer/ViewerCropModal.d.ts +5 -0
  257. package/dist/connection/viewer/ViewerCropModal.js +22 -0
  258. package/dist/connection/viewer/ViewerCropModal.js.map +7 -0
  259. package/dist/connection/viewer/ViewerPdfPane.d.ts +3 -1
  260. package/dist/connection/viewer/ViewerPdfPane.js +57 -2
  261. package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
  262. package/dist/connection/viewer/drafts.js +6 -4
  263. package/dist/connection/viewer/drafts.js.map +2 -2
  264. package/dist/connection/viewer/pdf/PdfPassageHighlights.d.ts +12 -0
  265. package/dist/connection/viewer/pdf/PdfPassageHighlights.js +36 -0
  266. package/dist/connection/viewer/pdf/PdfPassageHighlights.js.map +7 -0
  267. package/dist/connection/viewer/pdf/passageHighlights.d.ts +26 -0
  268. package/dist/connection/viewer/pdf/passageHighlights.js +40 -0
  269. package/dist/connection/viewer/pdf/passageHighlights.js.map +7 -0
  270. package/dist/connection/viewer/pdf/usePdfPassageHighlights.d.ts +9 -0
  271. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js +47 -0
  272. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js.map +7 -0
  273. package/dist/connection/viewer/shareDocument.d.ts +11 -0
  274. package/dist/connection/viewer/shareDocument.js +11 -0
  275. package/dist/connection/viewer/shareDocument.js.map +7 -0
  276. package/dist/connection/viewer/slidesTabChunk.d.ts +2 -0
  277. package/dist/connection/viewer/slidesTabChunk.js +9 -0
  278. package/dist/connection/viewer/slidesTabChunk.js.map +7 -0
  279. package/dist/connection/viewer/useCleanView.d.ts +14 -0
  280. package/dist/connection/viewer/useCleanView.js +29 -0
  281. package/dist/connection/viewer/useCleanView.js.map +7 -0
  282. package/dist/connection/viewer/useViewedDocument.d.ts +1 -0
  283. package/dist/connection/viewer/useViewedDocument.js +9 -1
  284. package/dist/connection/viewer/useViewedDocument.js.map +2 -2
  285. package/dist/connection/viewer/useViewerTabs.js +18 -4
  286. package/dist/connection/viewer/useViewerTabs.js.map +2 -2
  287. package/dist/connection/workflows/ConnectedWorkflowStart.d.ts +14 -2
  288. package/dist/connection/workflows/ConnectedWorkflowStart.js +5 -2
  289. package/dist/connection/workflows/ConnectedWorkflowStart.js.map +2 -2
  290. package/dist/connection/workflows/workflowsPageLabels.js +1 -1
  291. package/dist/connection/workflows/workflowsPageLabels.js.map +1 -1
  292. package/dist/dashboards/index.cjs +1 -1
  293. package/dist/databases/index.cjs +49 -49
  294. package/dist/document-tools/DocumentToolButtons.d.ts +2 -0
  295. package/dist/document-tools/DocumentToolButtons.js +22 -1
  296. package/dist/document-tools/DocumentToolButtons.js.map +2 -2
  297. package/dist/document-tools/index.cjs +16 -12
  298. package/dist/document-tools/index.d.ts +1 -1
  299. package/dist/document-tools/index.js +2 -0
  300. package/dist/document-tools/index.js.map +2 -2
  301. package/dist/embed/index.cjs +43 -41
  302. package/dist/facts/factColumns.js +3 -3
  303. package/dist/facts/factColumns.js.map +1 -1
  304. package/dist/facts/index.cjs +42 -42
  305. package/dist/files/GridViewImpl.js +1 -1
  306. package/dist/files/GridViewImpl.js.map +2 -2
  307. package/dist/files/HtmlViewerParts.js +7 -15
  308. package/dist/files/HtmlViewerParts.js.map +2 -2
  309. package/dist/files/ViewerChrome.d.ts +5 -1
  310. package/dist/files/ViewerChrome.js +16 -6
  311. package/dist/files/ViewerChrome.js.map +2 -2
  312. package/dist/files/index.cjs +226 -226
  313. package/dist/files/navigator/DocumentSearchList.js +1 -1
  314. package/dist/files/navigator/DocumentSearchList.js.map +2 -2
  315. package/dist/index.cjs +1668 -1666
  316. package/dist/index.cjs.map +1 -1
  317. package/dist/presentation/BoxActionBar.d.ts +11 -0
  318. package/dist/presentation/BoxActionBar.js +182 -0
  319. package/dist/presentation/BoxActionBar.js.map +7 -0
  320. package/dist/presentation/ClipActionBar.d.ts +26 -0
  321. package/dist/presentation/ClipActionBar.js +103 -0
  322. package/dist/presentation/ClipActionBar.js.map +7 -0
  323. package/dist/presentation/ClipCaptureOverlay.d.ts +14 -0
  324. package/dist/presentation/ClipCaptureOverlay.js +69 -0
  325. package/dist/presentation/ClipCaptureOverlay.js.map +7 -0
  326. package/dist/presentation/ClipImage.d.ts +21 -0
  327. package/dist/presentation/ClipImage.js +119 -0
  328. package/dist/presentation/ClipImage.js.map +7 -0
  329. package/dist/presentation/ClipTray.d.ts +11 -0
  330. package/dist/presentation/ClipTray.js +152 -0
  331. package/dist/presentation/ClipTray.js.map +7 -0
  332. package/dist/presentation/ClipViewControls.d.ts +11 -0
  333. package/dist/presentation/ClipViewControls.js +142 -0
  334. package/dist/presentation/ClipViewControls.js.map +7 -0
  335. package/dist/presentation/DesignMenu.d.ts +8 -0
  336. package/dist/presentation/DesignMenu.js +199 -0
  337. package/dist/presentation/DesignMenu.js.map +7 -0
  338. package/dist/presentation/LayoutMenu.d.ts +17 -0
  339. package/dist/presentation/LayoutMenu.js +122 -0
  340. package/dist/presentation/LayoutMenu.js.map +7 -0
  341. package/dist/presentation/MediaClip.d.ts +15 -0
  342. package/dist/presentation/MediaClip.js +67 -0
  343. package/dist/presentation/MediaClip.js.map +7 -0
  344. package/dist/presentation/Notice.d.ts +6 -0
  345. package/dist/presentation/Notice.js +43 -0
  346. package/dist/presentation/Notice.js.map +7 -0
  347. package/dist/presentation/PresentationStage.d.ts +32 -0
  348. package/dist/presentation/PresentationStage.js +232 -0
  349. package/dist/presentation/PresentationStage.js.map +7 -0
  350. package/dist/presentation/PresenterView.d.ts +16 -0
  351. package/dist/presentation/PresenterView.js +69 -0
  352. package/dist/presentation/PresenterView.js.map +7 -0
  353. package/dist/presentation/SlideDecor.d.ts +25 -0
  354. package/dist/presentation/SlideDecor.js +189 -0
  355. package/dist/presentation/SlideDecor.js.map +7 -0
  356. package/dist/presentation/SlidesEditor.d.ts +25 -0
  357. package/dist/presentation/SlidesEditor.js +359 -0
  358. package/dist/presentation/SlidesEditor.js.map +7 -0
  359. package/dist/presentation/StageBox.d.ts +30 -0
  360. package/dist/presentation/StageBox.js +281 -0
  361. package/dist/presentation/StageBox.js.map +7 -0
  362. package/dist/presentation/StageItem.d.ts +37 -0
  363. package/dist/presentation/StageItem.js +211 -0
  364. package/dist/presentation/StageItem.js.map +7 -0
  365. package/dist/presentation/box-style.d.ts +6 -0
  366. package/dist/presentation/box-style.js +19 -0
  367. package/dist/presentation/box-style.js.map +7 -0
  368. package/dist/presentation/boxes.d.ts +105 -0
  369. package/dist/presentation/boxes.js +103 -0
  370. package/dist/presentation/boxes.js.map +7 -0
  371. package/dist/presentation/draw-boxes.d.ts +8 -0
  372. package/dist/presentation/draw-boxes.js +130 -0
  373. package/dist/presentation/draw-boxes.js.map +7 -0
  374. package/dist/presentation/export-boxes.d.ts +10 -0
  375. package/dist/presentation/export-boxes.js +74 -0
  376. package/dist/presentation/export-boxes.js.map +7 -0
  377. package/dist/presentation/export-pptx.d.ts +16 -0
  378. package/dist/presentation/export-pptx.js +194 -0
  379. package/dist/presentation/export-pptx.js.map +7 -0
  380. package/dist/presentation/import-pptx.d.ts +35 -0
  381. package/dist/presentation/import-pptx.js +659 -0
  382. package/dist/presentation/import-pptx.js.map +7 -0
  383. package/dist/presentation/merge-outside-edits.d.ts +12 -0
  384. package/dist/presentation/merge-outside-edits.js +35 -0
  385. package/dist/presentation/merge-outside-edits.js.map +7 -0
  386. package/dist/presentation/model.d.ts +201 -0
  387. package/dist/presentation/model.js +271 -0
  388. package/dist/presentation/model.js.map +7 -0
  389. package/dist/presentation/panel-id.d.ts +34 -0
  390. package/dist/presentation/panel-id.js +24 -0
  391. package/dist/presentation/panel-id.js.map +7 -0
  392. package/dist/presentation/persistence.d.ts +121 -0
  393. package/dist/presentation/persistence.js +141 -0
  394. package/dist/presentation/persistence.js.map +7 -0
  395. package/dist/presentation/pptx-data.d.ts +22 -0
  396. package/dist/presentation/pptx-data.js +83 -0
  397. package/dist/presentation/pptx-data.js.map +7 -0
  398. package/dist/presentation/pptx-xml.d.ts +90 -0
  399. package/dist/presentation/pptx-xml.js +333 -0
  400. package/dist/presentation/pptx-xml.js.map +7 -0
  401. package/dist/presentation/render-slides.d.ts +58 -0
  402. package/dist/presentation/render-slides.js +309 -0
  403. package/dist/presentation/render-slides.js.map +7 -0
  404. package/dist/presentation/saved-boxes.d.ts +11 -0
  405. package/dist/presentation/saved-boxes.js +80 -0
  406. package/dist/presentation/saved-boxes.js.map +7 -0
  407. package/dist/presentation/slide-layout.d.ts +54 -0
  408. package/dist/presentation/slide-layout.js +117 -0
  409. package/dist/presentation/slide-layout.js.map +7 -0
  410. package/dist/presentation/stage-videos.d.ts +5 -0
  411. package/dist/presentation/stage-videos.js +19 -0
  412. package/dist/presentation/stage-videos.js.map +7 -0
  413. package/dist/presentation/store.d.ts +203 -0
  414. package/dist/presentation/store.js +429 -0
  415. package/dist/presentation/store.js.map +7 -0
  416. package/dist/presentation/theme.d.ts +102 -0
  417. package/dist/presentation/theme.js +276 -0
  418. package/dist/presentation/theme.js.map +7 -0
  419. package/dist/presentation/useClipDrag.d.ts +26 -0
  420. package/dist/presentation/useClipDrag.js +65 -0
  421. package/dist/presentation/useClipDrag.js.map +7 -0
  422. package/dist/presentation/useObjectUrl.d.ts +6 -0
  423. package/dist/presentation/useObjectUrl.js +15 -0
  424. package/dist/presentation/useObjectUrl.js.map +7 -0
  425. package/dist/presentation/usePresenterKeys.d.ts +13 -0
  426. package/dist/presentation/usePresenterKeys.js +62 -0
  427. package/dist/presentation/usePresenterKeys.js.map +7 -0
  428. package/dist/settings/index.cjs +151 -150
  429. package/dist/shell/PanelPortal.js +1 -0
  430. package/dist/shell/PanelPortal.js.map +2 -2
  431. package/dist/shell/index.cjs +112 -110
  432. package/dist/shell/panel-windows.d.ts +2 -0
  433. package/dist/shell/panel-windows.js +7 -2
  434. package/dist/shell/panel-windows.js.map +2 -2
  435. package/dist/studio/index.cjs +28 -26
  436. package/dist/studio/index.cjs.map +1 -1
  437. package/dist/styles.css +1 -1
  438. package/dist/workflow-canvas/index.cjs +58 -57
  439. package/dist/workflow-canvas/index.cjs.map +1 -1
  440. package/node_modules/@arbidocs/coedit/package.json +1 -1
  441. package/package.json +6 -5
  442. package/dist/ConnectedCallDock-WER7R222.cjs.map +0 -1
  443. package/dist/DocumentReviewCard-ZSBZBGFK.cjs.map +0 -1
  444. package/dist/FilesViewerDialog-6UKR5WEF.cjs.map +0 -1
  445. package/dist/GridViewImpl-ZMJJWTOM.cjs.map +0 -1
  446. package/dist/WorkspaceTableView-J3C6VH4T.cjs.map +0 -1
  447. package/dist/ai-IM4A23YT.cjs.map +0 -1
  448. package/dist/chunk-557MJ4IH.cjs.map +0 -1
  449. package/dist/chunk-6UTKM5AB.cjs.map +0 -1
  450. package/dist/chunk-6WMMZLEV.cjs.map +0 -1
  451. package/dist/chunk-B3LZITVF.cjs.map +0 -1
  452. package/dist/chunk-CPG7II4E.cjs.map +0 -1
  453. package/dist/chunk-CPR6EHG7.cjs.map +0 -1
  454. package/dist/chunk-DDIW4HLU.cjs.map +0 -1
  455. package/dist/chunk-NJCK6V6U.cjs.map +0 -1
  456. package/dist/chunk-NNUK5ZM7.cjs.map +0 -1
  457. package/dist/chunk-PGJYD67F.cjs.map +0 -1
  458. package/dist/chunk-R7CJEIA5.cjs.map +0 -1
  459. package/dist/chunk-SB4M3ITT.cjs.map +0 -1
  460. package/dist/chunk-TT4IF52H.cjs.map +0 -1
  461. package/dist/chunk-VLCY46K6.cjs.map +0 -1
  462. package/dist/chunk-YYPZOEED.cjs.map +0 -1
  463. package/dist/chunk-ZPPMAL5P.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/calls/connected/CallControls.tsx"],
4
- "sourcesContent": ["/**\n * The call panel's control bar, wired to the LiveKit room. One row; what fits stays in it and the\n * rest moves into More, so each action lives in exactly one visible place:\n * full \u2014 time \u00B7 mic, camera | share, CC, Record | More \u00B7 Leave\n * compact \u2014 mic, camera | CC, Record | More \u00B7 Leave\n * tiny \u2014 mic, camera | More \u00B7 Leave\n * Chat is the conversation beside the panel (its own composer) and the participant list is\n * always on show under the video, so neither has a button here.\n */\n\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useState, type ReactElement } from 'react'\nimport { Track } from 'livekit-client'\nimport {\n useAudioPlayback,\n useMediaDeviceSelect,\n useRoomContext,\n useTrackToggle,\n} from '@livekit/components-react'\nimport {\n Captions,\n Circle,\n FlaskConical,\n Link2,\n Lock,\n LockOpen,\n MonitorUp,\n MonitorX,\n Square,\n Volume2,\n} from 'lucide-react'\nimport { classifyMediaError, useArbi, useServerCallsExperimental } from '@arbidocs/react'\nimport { Button } from '@arbidocs/react/ui'\nimport {\n CallControlBar,\n CallControlButton,\n ControlDivider,\n ControlGroup,\n ElapsedTime,\n LeaveButton,\n MediaControl,\n MoreMenu,\n type LeaveOption,\n type MoreMenuItem,\n type MoreMenuSection,\n} from '../ui'\nimport { TranscriptionToggle } from './CallTranscription'\nimport { RecordingControl } from './CallRecording'\nimport type { CallTranscription, CallRecordingControl } from '@arbidocs/react/calls'\nimport { useMirrorSelfView } from '../self-view'\n\nexport type ControlDensity = 'full' | 'compact' | 'tiny'\n\ntype MediaSource = Track.Source.Microphone | Track.Source.Camera\n\ntype Notify = ReturnType<typeof useBlocksEnvironment>['notify']\n\nfunction reportDeviceError(notify: Notify, source: MediaSource) {\n return (err: Error) =>\n notify(\n classifyMediaError(err, source === Track.Source.Camera ? 'camera' : 'microphone'),\n 'error'\n )\n}\n\n/** Microphone or camera of the room, with its device list (and, for the camera, the mirror). */\nfunction RoomMediaControl({\n source,\n shortcut,\n testId,\n}: {\n source: MediaSource\n shortcut: string\n testId: string\n}): ReactElement {\n const { notify } = useBlocksEnvironment()\n const mic = source === Track.Source.Microphone\n const { toggle, enabled, pending } = useTrackToggle({\n source,\n onDeviceError: reportDeviceError(notify, source),\n })\n const { devices, activeDeviceId, setActiveMediaDevice } = useMediaDeviceSelect({\n kind: mic ? 'audioinput' : 'videoinput',\n })\n const [mirror, setMirror] = useMirrorSelfView()\n return (\n <MediaControl\n kind={mic ? 'microphone' : 'camera'}\n enabled={enabled}\n pending={pending}\n onToggle={() => void toggle()}\n devices={devices.map((d) => ({ deviceId: d.deviceId, label: d.label }))}\n activeDeviceId={activeDeviceId}\n onSelectDevice={(id) =>\n void setActiveMediaDevice(id).catch((err: Error) => reportDeviceError(notify, source)(err))\n }\n shortcut={shortcut}\n testId={testId}\n options={\n mic\n ? []\n : [\n {\n label: 'Mirror my video',\n checked: mirror,\n onChange: setMirror,\n testId: 'call-mirror-toggle',\n },\n ]\n }\n />\n )\n}\n\nfunction useScreenShare() {\n const { notify } = useBlocksEnvironment()\n return useTrackToggle({\n source: Track.Source.ScreenShare,\n captureOptions: { audio: true, selfBrowserSurface: 'exclude' },\n onDeviceError: (err: Error) => {\n // Cancelling the browser's picker is not worth a toast.\n if (err.name !== 'NotAllowedError') notify(`Could not share: ${err.message}`, 'error')\n },\n })\n}\n\n/** \"Enable audio\" when the browser blocked playback until a click (the bar's left end). */\nexport function EnableAudioButton({ compact = false }: { compact?: boolean }): ReactElement | null {\n const { canPlayAudio, startAudio } = useAudioPlayback()\n if (canPlayAudio) return null\n return (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-yellow-border bg-yellow-bg text-yellow-text hover:bg-yellow-bg/80\"\n onClick={() => void startAudio()}\n data-testid=\"call-start-audio\"\n >\n <Volume2 className=\"size-4\" aria-hidden />\n {compact ? 'Audio' : 'Enable audio'}\n </Button>\n )\n}\n\nexport interface CallControlsProps {\n callExtId: string\n isCreator: boolean\n /** Copy-able join link (anyone with it can ask to join). */\n link: string | null\n startedAt: number\n density: ControlDensity\n /** Single-key shortcuts on (the panel is on screen). */\n shortcuts: boolean\n transcription: CallTranscription\n recording: CallRecordingControl\n /** More groups of the More menu (a webinar's chat setting, panel, Leave stage). */\n menuGroups?: (MoreMenuItem[] | MoreMenuSection)[]\n /** Leave's further choices (a webinar's End webinar for everyone). */\n leaveOptions?: LeaveOption[]\n}\n\nexport function CallControls({\n callExtId,\n isCreator,\n link,\n startedAt,\n density,\n shortcuts,\n transcription: tr,\n recording,\n menuGroups = [],\n leaveOptions,\n}: CallControlsProps): ReactElement {\n const { notify } = useBlocksEnvironment()\n const arbi = useArbi()\n const room = useRoomContext()\n const share = useScreenShare()\n const experimental = useServerCallsExperimental()\n const [locked, setLocked] = useState(false)\n const [locking, setLocking] = useState(false)\n const full = density === 'full'\n const tiny = density === 'tiny'\n\n const toggleLock = async () => {\n setLocking(true)\n try {\n const call = await arbi.calls.update(callExtId, { locked: !locked })\n setLocked(call.locked)\n notify(call.locked ? 'Call locked: nobody new can join' : 'Call unlocked', 'info')\n } catch (err) {\n notify(`Could not change the lock: ${(err as Error).message}`, 'error')\n } finally {\n setLocking(false)\n }\n }\n const copyLink = () => {\n if (!link) return\n void navigator.clipboard\n .writeText(link)\n .then(() => notify('Call link copied', 'success'))\n .catch(() => notify('Could not copy the link', 'error'))\n }\n\n // What does not fit the bar lives in More.\n const overflow: MoreMenuItem[] = [\n ...(!full\n ? [\n {\n key: 'share',\n label: share.enabled ? 'Stop sharing' : 'Share your screen',\n icon: share.enabled ? <MonitorX /> : <MonitorUp />,\n onSelect: () => void share.toggle(),\n disabled: share.pending,\n },\n ]\n : []),\n ...(tiny && tr.available && tr.canToggle\n ? [\n {\n key: 'transcribe',\n label: tr.on ? 'Stop transcription' : 'Transcribe the call',\n icon: <Captions />,\n onSelect: () => void tr.toggle(),\n disabled: tr.busy,\n },\n ]\n : []),\n ...(tiny && recording.available && recording.canControl\n ? recording.on\n ? [\n {\n key: 'stop-recording',\n label: 'Stop recording',\n icon: <Square className=\"fill-current text-red-text\" />,\n onSelect: () => void recording.stop(),\n disabled: recording.busy,\n },\n ]\n : [\n {\n key: 'record-audio',\n label: 'Record audio',\n icon: <Circle className=\"fill-red-solid text-red-solid\" />,\n onSelect: () => void recording.requestStart('audio'),\n disabled: recording.busy,\n },\n {\n key: 'record-video',\n label: 'Record audio + video',\n icon: <Circle className=\"fill-red-solid text-red-solid\" />,\n onSelect: () => void recording.requestStart('audio_video'),\n disabled: recording.busy,\n },\n ]\n : []),\n ]\n const callItems: MoreMenuItem[] = [\n ...(link\n ? [\n {\n key: 'link',\n label: 'Copy call link',\n icon: <Link2 />,\n onSelect: copyLink,\n testId: 'call-copy-link',\n },\n ]\n : []),\n ...(isCreator\n ? [\n {\n key: 'lock',\n label: locked ? 'Unlock call' : 'Lock call (only invited people can join)',\n icon: locked ? <LockOpen /> : <Lock />,\n onSelect: () => void toggleLock(),\n disabled: locking,\n testId: 'call-lock-toggle',\n },\n ]\n : []),\n ]\n\n return (\n <CallControlBar\n shortcuts={shortcuts}\n left={\n <>\n {full && <ElapsedTime since={startedAt} title=\"Time in this call\" />}\n <EnableAudioButton compact={!full} />\n </>\n }\n right={\n <LeaveButton\n compact={!full}\n onLeave={() => void room.disconnect()}\n options={leaveOptions}\n />\n }\n >\n <ControlGroup>\n <RoomMediaControl source={Track.Source.Microphone} shortcut=\"M\" testId=\"call-mic-toggle\" />\n <RoomMediaControl source={Track.Source.Camera} shortcut=\"V\" testId=\"call-camera-toggle\" />\n </ControlGroup>\n {!tiny && (\n <>\n <ControlDivider />\n <ControlGroup>\n {full && (\n <CallControlButton\n label={share.enabled ? 'Stop sharing' : 'Share your screen'}\n tone={share.enabled ? 'active' : 'neutral'}\n aria-pressed={share.enabled}\n disabled={share.pending}\n onClick={() => void share.toggle()}\n data-testid=\"call-share-toggle\"\n >\n {share.enabled ? <MonitorX aria-hidden /> : <MonitorUp aria-hidden />}\n </CallControlButton>\n )}\n <TranscriptionToggle transcription={tr} />\n <RecordingControl recording={recording} />\n </ControlGroup>\n </>\n )}\n <MoreMenu\n details={\n experimental ? (\n <span\n className=\"flex items-center gap-1.5 text-xs text-muted-foreground\"\n data-testid=\"calls-experimental-badge\"\n >\n <FlaskConical className=\"size-3.5\" aria-hidden />\n Calls are an experimental feature.\n </span>\n ) : undefined\n }\n groups={[overflow, callItems, ...menuGroups]}\n />\n </CallControlBar>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * The call panel's control bar, wired to the LiveKit room. One row; what fits stays in it and the\n * rest moves into More, so each action lives in exactly one visible place:\n * full \u2014 time \u00B7 mic, camera | share, CC, Record | More \u00B7 Leave\n * Share offers the browser's picker (a screen, a window or a tab) or a document of the workspace,\n * opened in a window of its own with the picker, to choose it.\n * compact \u2014 mic, camera | CC, Record | More \u00B7 Leave\n * tiny \u2014 mic, camera | More \u00B7 Leave\n * Chat is the conversation beside the panel (its own composer) and the participant list is\n * always on show under the video, so neither has a button here.\n */\n\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useState, type ReactElement } from 'react'\nimport { Track } from 'livekit-client'\nimport {\n useAudioPlayback,\n useMediaDeviceSelect,\n useRoomContext,\n useTrackToggle,\n} from '@livekit/components-react'\nimport {\n Captions,\n Circle,\n FileText,\n FlaskConical,\n Link2,\n Lock,\n LockOpen,\n MonitorUp,\n MonitorX,\n Square,\n Volume2,\n} from 'lucide-react'\nimport { classifyMediaError, useArbi, useServerCallsExperimental } from '@arbidocs/react'\nimport {\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@arbidocs/react/ui'\nimport {\n CallControlBar,\n CallControlButton,\n ControlDivider,\n ControlGroup,\n ElapsedTime,\n LeaveButton,\n MediaControl,\n MoreMenu,\n type LeaveOption,\n type MoreMenuItem,\n type MoreMenuSection,\n} from '../ui'\nimport { TranscriptionToggle } from './CallTranscription'\nimport { RecordingControl } from './CallRecording'\nimport type { CallTranscription, CallRecordingControl } from '@arbidocs/react/calls'\nimport { useMirrorSelfView } from '../self-view'\nimport { ShareDocumentDialog } from './ShareDocumentDialog'\n\nconst SHARE_LABEL = 'Share screen/tab'\n\nexport type ControlDensity = 'full' | 'compact' | 'tiny'\n\ntype MediaSource = Track.Source.Microphone | Track.Source.Camera\n\ntype Notify = ReturnType<typeof useBlocksEnvironment>['notify']\n\nfunction reportDeviceError(notify: Notify, source: MediaSource) {\n return (err: Error) =>\n notify(\n classifyMediaError(err, source === Track.Source.Camera ? 'camera' : 'microphone'),\n 'error'\n )\n}\n\n/** Microphone or camera of the room, with its device list (and, for the camera, the mirror). */\nfunction RoomMediaControl({\n source,\n shortcut,\n testId,\n}: {\n source: MediaSource\n shortcut: string\n testId: string\n}): ReactElement {\n const { notify } = useBlocksEnvironment()\n const mic = source === Track.Source.Microphone\n const { toggle, enabled, pending } = useTrackToggle({\n source,\n onDeviceError: reportDeviceError(notify, source),\n })\n const { devices, activeDeviceId, setActiveMediaDevice } = useMediaDeviceSelect({\n kind: mic ? 'audioinput' : 'videoinput',\n })\n const [mirror, setMirror] = useMirrorSelfView()\n return (\n <MediaControl\n kind={mic ? 'microphone' : 'camera'}\n enabled={enabled}\n pending={pending}\n onToggle={() => void toggle()}\n devices={devices.map((d) => ({ deviceId: d.deviceId, label: d.label }))}\n activeDeviceId={activeDeviceId}\n onSelectDevice={(id) =>\n void setActiveMediaDevice(id).catch((err: Error) => reportDeviceError(notify, source)(err))\n }\n shortcut={shortcut}\n testId={testId}\n options={\n mic\n ? []\n : [\n {\n label: 'Mirror my video',\n checked: mirror,\n onChange: setMirror,\n testId: 'call-mirror-toggle',\n },\n ]\n }\n />\n )\n}\n\nfunction useScreenShare() {\n const { notify } = useBlocksEnvironment()\n return useTrackToggle({\n source: Track.Source.ScreenShare,\n captureOptions: { audio: true, selfBrowserSurface: 'exclude' },\n onDeviceError: (err: Error) => {\n // Cancelling the browser's picker is not worth a toast.\n if (err.name !== 'NotAllowedError') notify(`Could not share: ${err.message}`, 'error')\n },\n })\n}\n\n/** \"Enable audio\" when the browser blocked playback until a click (the bar's left end). */\nexport function EnableAudioButton({ compact = false }: { compact?: boolean }): ReactElement | null {\n const { canPlayAudio, startAudio } = useAudioPlayback()\n if (canPlayAudio) return null\n return (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-yellow-border bg-yellow-bg text-yellow-text hover:bg-yellow-bg/80\"\n onClick={() => void startAudio()}\n data-testid=\"call-start-audio\"\n >\n <Volume2 className=\"size-4\" aria-hidden />\n {compact ? 'Audio' : 'Enable audio'}\n </Button>\n )\n}\n\nexport interface CallControlsProps {\n callExtId: string\n isCreator: boolean\n /** Copy-able join link (anyone with it can ask to join). */\n link: string | null\n startedAt: number\n density: ControlDensity\n /** Single-key shortcuts on (the panel is on screen). */\n shortcuts: boolean\n transcription: CallTranscription\n recording: CallRecordingControl\n /** More groups of the More menu (a webinar's chat setting, panel, Leave stage). */\n menuGroups?: (MoreMenuItem[] | MoreMenuSection)[]\n /** Leave's further choices (a webinar's End webinar for everyone). */\n leaveOptions?: LeaveOption[]\n}\n\nexport function CallControls({\n callExtId,\n isCreator,\n link,\n startedAt,\n density,\n shortcuts,\n transcription: tr,\n recording,\n menuGroups = [],\n leaveOptions,\n}: CallControlsProps): ReactElement {\n const { notify } = useBlocksEnvironment()\n const arbi = useArbi()\n const room = useRoomContext()\n const share = useScreenShare()\n const experimental = useServerCallsExperimental()\n const [locked, setLocked] = useState(false)\n const [locking, setLocking] = useState(false)\n const [sharingDocument, setSharingDocument] = useState(false)\n const full = density === 'full'\n const tiny = density === 'tiny'\n\n const toggleLock = async () => {\n setLocking(true)\n try {\n const call = await arbi.calls.update(callExtId, { locked: !locked })\n setLocked(call.locked)\n notify(call.locked ? 'Call locked: nobody new can join' : 'Call unlocked', 'info')\n } catch (err) {\n notify(`Could not change the lock: ${(err as Error).message}`, 'error')\n } finally {\n setLocking(false)\n }\n }\n const copyLink = () => {\n if (!link) return\n void navigator.clipboard\n .writeText(link)\n .then(() => notify('Call link copied', 'success'))\n .catch(() => notify('Could not copy the link', 'error'))\n }\n\n // What does not fit the bar lives in More.\n const overflow: MoreMenuItem[] = [\n ...(!full\n ? [\n {\n key: 'share',\n label: share.enabled ? 'Stop sharing' : SHARE_LABEL,\n icon: share.enabled ? <MonitorX /> : <MonitorUp />,\n onSelect: () => void share.toggle(),\n disabled: share.pending,\n },\n ...(!share.enabled\n ? [\n {\n key: 'share-document',\n label: 'Share a document\u2026',\n icon: <FileText />,\n onSelect: () => setSharingDocument(true),\n testId: 'call-share-document',\n },\n ]\n : []),\n ]\n : []),\n ...(tiny && tr.available && tr.canToggle\n ? [\n {\n key: 'transcribe',\n label: tr.on ? 'Stop transcription' : 'Transcribe the call',\n icon: <Captions />,\n onSelect: () => void tr.toggle(),\n disabled: tr.busy,\n },\n ]\n : []),\n ...(tiny && recording.available && recording.canControl\n ? recording.on\n ? [\n {\n key: 'stop-recording',\n label: 'Stop recording',\n icon: <Square className=\"fill-current text-red-text\" />,\n onSelect: () => void recording.stop(),\n disabled: recording.busy,\n },\n ]\n : [\n {\n key: 'record-audio',\n label: 'Record audio',\n icon: <Circle className=\"fill-red-solid text-red-solid\" />,\n onSelect: () => void recording.requestStart('audio'),\n disabled: recording.busy,\n },\n {\n key: 'record-video',\n label: 'Record audio + video',\n icon: <Circle className=\"fill-red-solid text-red-solid\" />,\n onSelect: () => void recording.requestStart('audio_video'),\n disabled: recording.busy,\n },\n ]\n : []),\n ]\n const callItems: MoreMenuItem[] = [\n ...(link\n ? [\n {\n key: 'link',\n label: 'Copy call link',\n icon: <Link2 />,\n onSelect: copyLink,\n testId: 'call-copy-link',\n },\n ]\n : []),\n ...(isCreator\n ? [\n {\n key: 'lock',\n label: locked ? 'Unlock call' : 'Lock call (only invited people can join)',\n icon: locked ? <LockOpen /> : <Lock />,\n onSelect: () => void toggleLock(),\n disabled: locking,\n testId: 'call-lock-toggle',\n },\n ]\n : []),\n ]\n\n return (\n <CallControlBar\n shortcuts={shortcuts}\n left={\n <>\n {full && <ElapsedTime since={startedAt} title=\"Time in this call\" />}\n <EnableAudioButton compact={!full} />\n </>\n }\n right={\n <LeaveButton\n compact={!full}\n onLeave={() => void room.disconnect()}\n options={leaveOptions}\n />\n }\n >\n <ControlGroup>\n <RoomMediaControl source={Track.Source.Microphone} shortcut=\"M\" testId=\"call-mic-toggle\" />\n <RoomMediaControl source={Track.Source.Camera} shortcut=\"V\" testId=\"call-camera-toggle\" />\n </ControlGroup>\n {!tiny && (\n <>\n <ControlDivider />\n <ControlGroup>\n {full &&\n (share.enabled ? (\n <CallControlButton\n label=\"Stop sharing\"\n tone=\"active\"\n aria-pressed\n disabled={share.pending}\n onClick={() => void share.toggle()}\n data-testid=\"call-share-toggle\"\n >\n <MonitorX aria-hidden />\n </CallControlButton>\n ) : (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <CallControlButton\n label={SHARE_LABEL}\n tooltip={false}\n disabled={share.pending}\n data-testid=\"call-share-toggle\"\n >\n <MonitorUp aria-hidden />\n </CallControlButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent side=\"top\" data-testid=\"call-share-menu\">\n <DropdownMenuItem\n onSelect={() => void share.toggle()}\n data-testid=\"call-share-screen\"\n >\n <MonitorUp />\n {SHARE_LABEL}\n </DropdownMenuItem>\n <DropdownMenuItem\n onSelect={() => setSharingDocument(true)}\n data-testid=\"call-share-document\"\n >\n <FileText />\n Share a document\u2026\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ))}\n <TranscriptionToggle transcription={tr} />\n <RecordingControl recording={recording} />\n </ControlGroup>\n </>\n )}\n <MoreMenu\n details={\n experimental ? (\n <span\n className=\"flex items-center gap-1.5 text-xs text-muted-foreground\"\n data-testid=\"calls-experimental-badge\"\n >\n <FlaskConical className=\"size-3.5\" aria-hidden />\n Calls are an experimental feature.\n </span>\n ) : undefined\n }\n groups={[overflow, callItems, ...menuGroups]}\n />\n <ShareDocumentDialog\n open={sharingDocument}\n onOpenChange={setSharingDocument}\n onShare={() => void share.toggle(true)}\n />\n </CallControlBar>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Share a document in the call: pick one of the workspace's documents and, in one click, it opens
3
+ * in a window of its own (a presentation in the presentation window, anything else in a clean
4
+ * viewer: the pages only) and the browser's share dialog opens to choose it. Opening the window
5
+ * spends the click; Chrome shows the share dialog anyway, while a browser that wants a click of its
6
+ * own (Firefox, Safari) refuses it, and the window is then shared with Share screen/tab.
7
+ */
8
+ export interface ShareDocumentDialogProps {
9
+ open: boolean;
10
+ onOpenChange: (open: boolean) => void;
11
+ /** Open the browser's share dialog (the call's screen share), in the same click. */
12
+ onShare: () => void;
13
+ }
14
+ export declare function ShareDocumentDialog({ open, onOpenChange, onShare }: ShareDocumentDialogProps): import("react").JSX.Element;
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useMemo, useState } from "react";
4
+ import { MonitorUp } from "lucide-react";
5
+ import { useArbiSessionStore, useDocuments } from "@arbidocs/react";
6
+ import { Button, getDocumentTitle } from "@arbidocs/react/ui";
7
+ import { ModalScaffold } from "../../settings/ModalScaffold.js";
8
+ import { DocumentPicker } from "../../settings/DocumentPicker.js";
9
+ import { useBlocksEnvironment } from "../../provider/environment.js";
10
+ import { openDocumentToShare } from "../../connection/viewer/shareDocument.js";
11
+ function ShareDocumentDialog({ open, onOpenChange, onShare }) {
12
+ const session = useArbiSessionStore();
13
+ const { notify } = useBlocksEnvironment();
14
+ const { data: documents } = useDocuments(void 0, { enabled: open });
15
+ const [picked, setPicked] = useState("");
16
+ const groups = useMemo(() => {
17
+ const docs = (documents ?? []).map((doc) => ({
18
+ id: doc.external_id,
19
+ title: getDocumentTitle(doc, "Untitled"),
20
+ fileName: doc.file_name
21
+ })).sort((a, b) => a.title.localeCompare(b.title));
22
+ return [{ id: "documents", docs }];
23
+ }, [documents]);
24
+ const selected = groups[0].docs.find((doc) => doc.id === picked);
25
+ const share = () => {
26
+ if (!selected) return;
27
+ openDocumentToShare(session, { id: selected.id });
28
+ onShare();
29
+ notify(
30
+ `"${selected.title}" is open in its own window: choose it in the share dialog (or with Share screen/tab).`,
31
+ "info"
32
+ );
33
+ setPicked("");
34
+ onOpenChange(false);
35
+ };
36
+ return /* @__PURE__ */ jsxs(
37
+ ModalScaffold,
38
+ {
39
+ open,
40
+ onOpenChange,
41
+ title: "Share a document",
42
+ description: "It opens in a window of its own showing only its pages, and the share dialog opens for you to choose it.",
43
+ showDescription: true,
44
+ icon: /* @__PURE__ */ jsx(MonitorUp, { className: "size-5" }),
45
+ size: "sm",
46
+ testId: "call-share-document-dialog",
47
+ children: [
48
+ /* @__PURE__ */ jsx(ModalScaffold.Body, { children: /* @__PURE__ */ jsx(
49
+ DocumentPicker,
50
+ {
51
+ groups,
52
+ value: picked,
53
+ onValueChange: setPicked,
54
+ labels: { placeholder: "Choose a document" }
55
+ }
56
+ ) }),
57
+ /* @__PURE__ */ jsxs(ModalScaffold.Footer, { children: [
58
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
59
+ /* @__PURE__ */ jsx(
60
+ Button,
61
+ {
62
+ type: "button",
63
+ onClick: share,
64
+ disabled: !selected,
65
+ "data-testid": "call-share-document-open",
66
+ children: "Open and share"
67
+ }
68
+ )
69
+ ] })
70
+ ]
71
+ }
72
+ );
73
+ }
74
+ export {
75
+ ShareDocumentDialog
76
+ };
77
+ //# sourceMappingURL=ShareDocumentDialog.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/calls/connected/ShareDocumentDialog.tsx"],
4
+ "sourcesContent": ["/**\n * Share a document in the call: pick one of the workspace's documents and, in one click, it opens\n * in a window of its own (a presentation in the presentation window, anything else in a clean\n * viewer: the pages only) and the browser's share dialog opens to choose it. Opening the window\n * spends the click; Chrome shows the share dialog anyway, while a browser that wants a click of its\n * own (Firefox, Safari) refuses it, and the window is then shared with Share screen/tab.\n */\n\nimport { useMemo, useState } from 'react'\nimport { MonitorUp } from 'lucide-react'\nimport { useArbiSessionStore, useDocuments } from '@arbidocs/react'\nimport { Button, getDocumentTitle } from '@arbidocs/react/ui'\nimport { ModalScaffold } from '../../settings/ModalScaffold'\nimport { DocumentPicker, type PickerGroup } from '../../settings/DocumentPicker'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { openDocumentToShare } from '../../connection/viewer/shareDocument'\n\nexport interface ShareDocumentDialogProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n /** Open the browser's share dialog (the call's screen share), in the same click. */\n onShare: () => void\n}\n\nexport function ShareDocumentDialog({ open, onOpenChange, onShare }: ShareDocumentDialogProps) {\n const session = useArbiSessionStore()\n const { notify } = useBlocksEnvironment()\n const { data: documents } = useDocuments(undefined, { enabled: open })\n const [picked, setPicked] = useState('')\n\n const groups = useMemo<PickerGroup[]>(() => {\n const docs = (documents ?? [])\n .map((doc) => ({\n id: doc.external_id,\n title: getDocumentTitle(doc, 'Untitled'),\n fileName: doc.file_name,\n }))\n .sort((a, b) => a.title.localeCompare(b.title))\n return [{ id: 'documents', docs }]\n }, [documents])\n const selected = groups[0].docs.find((doc) => doc.id === picked)\n\n const share = () => {\n if (!selected) return\n openDocumentToShare(session, { id: selected.id })\n\n onShare()\n notify(\n `\"${selected.title}\" is open in its own window: choose it in the share dialog (or with Share screen/tab).`,\n 'info'\n )\n setPicked('')\n onOpenChange(false)\n }\n\n return (\n <ModalScaffold\n open={open}\n onOpenChange={onOpenChange}\n title=\"Share a document\"\n description=\"It opens in a window of its own showing only its pages, and the share dialog opens for you to choose it.\"\n showDescription\n icon={<MonitorUp className=\"size-5\" />}\n size=\"sm\"\n testId=\"call-share-document-dialog\"\n >\n <ModalScaffold.Body>\n <DocumentPicker\n groups={groups}\n value={picked}\n onValueChange={setPicked}\n labels={{ placeholder: 'Choose a document' }}\n />\n </ModalScaffold.Body>\n <ModalScaffold.Footer>\n <Button type=\"button\" variant=\"outline\" onClick={() => onOpenChange(false)}>\n Cancel\n </Button>\n <Button\n type=\"button\"\n onClick={share}\n disabled={!selected}\n data-testid=\"call-share-document-open\"\n >\n Open and share\n </Button>\n </ModalScaffold.Footer>\n </ModalScaffold>\n )\n}\n"],
5
+ "mappings": ";AA8DY,cAYN,YAZM;AAtDZ,SAAS,SAAS,gBAAgB;AAClC,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB,oBAAoB;AAClD,SAAS,QAAQ,wBAAwB;AACzC,SAAS,qBAAqB;AAC9B,SAAS,sBAAwC;AACjD,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AAS7B,SAAS,oBAAoB,EAAE,MAAM,cAAc,QAAQ,GAA6B;AAC7F,QAAM,UAAU,oBAAoB;AACpC,QAAM,EAAE,OAAO,IAAI,qBAAqB;AACxC,QAAM,EAAE,MAAM,UAAU,IAAI,aAAa,QAAW,EAAE,SAAS,KAAK,CAAC;AACrE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,EAAE;AAEvC,QAAM,SAAS,QAAuB,MAAM;AAC1C,UAAM,QAAQ,aAAa,CAAC,GACzB,IAAI,CAAC,SAAS;AAAA,MACb,IAAI,IAAI;AAAA,MACR,OAAO,iBAAiB,KAAK,UAAU;AAAA,MACvC,UAAU,IAAI;AAAA,IAChB,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;AAChD,WAAO,CAAC,EAAE,IAAI,aAAa,KAAK,CAAC;AAAA,EACnC,GAAG,CAAC,SAAS,CAAC;AACd,QAAM,WAAW,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,IAAI,OAAO,MAAM;AAE/D,QAAM,QAAQ,MAAM;AAClB,QAAI,CAAC,SAAU;AACf,wBAAoB,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC;AAEhD,YAAQ;AACR;AAAA,MACE,IAAI,SAAS,KAAK;AAAA,MAClB;AAAA,IACF;AACA,cAAU,EAAE;AACZ,iBAAa,KAAK;AAAA,EACpB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,iBAAe;AAAA,MACf,MAAM,oBAAC,aAAU,WAAU,UAAS;AAAA,MACpC,MAAK;AAAA,MACL,QAAO;AAAA,MAEP;AAAA,4BAAC,cAAc,MAAd,EACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,OAAO;AAAA,YACP,eAAe;AAAA,YACf,QAAQ,EAAE,aAAa,oBAAoB;AAAA;AAAA,QAC7C,GACF;AAAA,QACA,qBAAC,cAAc,QAAd,EACC;AAAA,8BAAC,UAAO,MAAK,UAAS,SAAQ,WAAU,SAAS,MAAM,aAAa,KAAK,GAAG,oBAE5E;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS;AAAA,cACT,UAAU,CAAC;AAAA,cACX,eAAY;AAAA,cACb;AAAA;AAAA,UAED;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": []
7
+ }