@arbidocs/blocks 0.5.120 → 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 (413) 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-SGE4R3M4.cjs → ConnectedNativeDocxComparison-4Q5S7VLD.cjs} +17 -17
  10. package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.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-6MCLJRIT.cjs → ConnectedStreamedWordArtifact-FFOQJBOI.cjs} +17 -17
  18. package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs.map → ConnectedStreamedWordArtifact-FFOQJBOI.cjs.map} +1 -1
  19. package/dist/{DocumentReviewCard-BPIAJJED.cjs → DocumentReviewCard-SNWVEZ7S.cjs} +17 -16
  20. package/dist/DocumentReviewCard-SNWVEZ7S.cjs.map +1 -0
  21. package/dist/{FilesViewerDialog-67WK3TZC.cjs → FilesViewerDialog-IZI63FOV.cjs} +52 -45
  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/{ai-IM4A23YT.cjs → ai-KBYNRNZ6.cjs} +28 -26
  29. package/dist/ai-KBYNRNZ6.cjs.map +1 -0
  30. package/dist/calls/connected/CallControls.d.ts +2 -0
  31. package/dist/calls/connected/CallControls.js +71 -9
  32. package/dist/calls/connected/CallControls.js.map +2 -2
  33. package/dist/calls/connected/ShareDocumentDialog.d.ts +14 -0
  34. package/dist/calls/connected/ShareDocumentDialog.js +77 -0
  35. package/dist/calls/connected/ShareDocumentDialog.js.map +7 -0
  36. package/dist/calls/index.cjs +121 -121
  37. package/dist/chat/index.cjs +9 -8
  38. package/dist/{chunk-T23UTIRI.cjs → chunk-2PZT3J34.cjs} +6 -6
  39. package/dist/{chunk-T23UTIRI.cjs.map → chunk-2PZT3J34.cjs.map} +1 -1
  40. package/dist/{chunk-SGYSDABK.cjs → chunk-2W5E62EY.cjs} +6 -6
  41. package/dist/{chunk-SGYSDABK.cjs.map → chunk-2W5E62EY.cjs.map} +1 -1
  42. package/dist/{chunk-TDO5UWXF.cjs → chunk-3SCNXNHI.cjs} +5 -5
  43. package/dist/{chunk-TDO5UWXF.cjs.map → chunk-3SCNXNHI.cjs.map} +1 -1
  44. package/dist/{chunk-KTQOGT2L.cjs → chunk-474GPLCM.cjs} +7 -7
  45. package/dist/{chunk-KTQOGT2L.cjs.map → chunk-474GPLCM.cjs.map} +1 -1
  46. package/dist/{chunk-TP5PGWIO.cjs → chunk-4IOYQLKG.cjs} +3 -3
  47. package/dist/{chunk-TP5PGWIO.cjs.map → chunk-4IOYQLKG.cjs.map} +1 -1
  48. package/dist/{chunk-NY3YUCOW.cjs → chunk-4NPCDS2X.cjs} +3 -3
  49. package/dist/{chunk-NY3YUCOW.cjs.map → chunk-4NPCDS2X.cjs.map} +1 -1
  50. package/dist/{chunk-HA66DHW6.cjs → chunk-4RBQ44RY.cjs} +28 -28
  51. package/dist/chunk-4RBQ44RY.cjs.map +1 -0
  52. package/dist/{chunk-BQ5RIWWT.cjs → chunk-4VZZWYEC.cjs} +3 -3
  53. package/dist/{chunk-BQ5RIWWT.cjs.map → chunk-4VZZWYEC.cjs.map} +1 -1
  54. package/dist/{chunk-BP3IJ34D.cjs → chunk-52KGMAO5.cjs} +15 -15
  55. package/dist/{chunk-BP3IJ34D.cjs.map → chunk-52KGMAO5.cjs.map} +1 -1
  56. package/dist/{chunk-5IZFSAEZ.cjs → chunk-5534FYXP.cjs} +4 -4
  57. package/dist/{chunk-5IZFSAEZ.cjs.map → chunk-5534FYXP.cjs.map} +1 -1
  58. package/dist/chunk-5GCCUXMT.cjs +63 -0
  59. package/dist/chunk-5GCCUXMT.cjs.map +1 -0
  60. package/dist/chunk-5LTIZ44D.cjs +95 -0
  61. package/dist/chunk-5LTIZ44D.cjs.map +1 -0
  62. package/dist/{chunk-DFBDQKGE.cjs → chunk-734NPQNR.cjs} +4 -4
  63. package/dist/{chunk-DFBDQKGE.cjs.map → chunk-734NPQNR.cjs.map} +1 -1
  64. package/dist/{chunk-X36UR4A7.cjs → chunk-7VUJGHMY.cjs} +323 -96
  65. package/dist/chunk-7VUJGHMY.cjs.map +1 -0
  66. package/dist/chunk-AFQTQC7A.cjs +35 -0
  67. package/dist/chunk-AFQTQC7A.cjs.map +1 -0
  68. package/dist/{chunk-YYSBWMDJ.cjs → chunk-AY6EZSZB.cjs} +4 -4
  69. package/dist/{chunk-YYSBWMDJ.cjs.map → chunk-AY6EZSZB.cjs.map} +1 -1
  70. package/dist/{chunk-BUVIBHFU.cjs → chunk-BVAT4EVC.cjs} +38 -38
  71. package/dist/chunk-BVAT4EVC.cjs.map +1 -0
  72. package/dist/{chunk-ECLUFKYR.cjs → chunk-C2OICDMI.cjs} +10 -10
  73. package/dist/{chunk-ECLUFKYR.cjs.map → chunk-C2OICDMI.cjs.map} +1 -1
  74. package/dist/{chunk-CPR6EHG7.cjs → chunk-DR2AH7JL.cjs} +179 -55
  75. package/dist/chunk-DR2AH7JL.cjs.map +1 -0
  76. package/dist/{chunk-NJCK6V6U.cjs → chunk-EATIFPKP.cjs} +4 -60
  77. package/dist/chunk-EATIFPKP.cjs.map +1 -0
  78. package/dist/{chunk-B3LZITVF.cjs → chunk-EHP6OH5D.cjs} +11 -451
  79. package/dist/chunk-EHP6OH5D.cjs.map +1 -0
  80. package/dist/{chunk-775S43W7.cjs → chunk-ENGL7P3I.cjs} +31 -31
  81. package/dist/{chunk-775S43W7.cjs.map → chunk-ENGL7P3I.cjs.map} +1 -1
  82. package/dist/{chunk-VZCPMXWC.cjs → chunk-FKFQCK3C.cjs} +4 -4
  83. package/dist/{chunk-VZCPMXWC.cjs.map → chunk-FKFQCK3C.cjs.map} +1 -1
  84. package/dist/{chunk-6UTKM5AB.cjs → chunk-GKVE5JGB.cjs} +76 -76
  85. package/dist/chunk-GKVE5JGB.cjs.map +1 -0
  86. package/dist/{chunk-Q6CLWOP2.cjs → chunk-GPX5VC57.cjs} +50 -50
  87. package/dist/{chunk-Q6CLWOP2.cjs.map → chunk-GPX5VC57.cjs.map} +1 -1
  88. package/dist/{chunk-WAV762GP.cjs → chunk-GQXPNIRE.cjs} +6 -6
  89. package/dist/{chunk-WAV762GP.cjs.map → chunk-GQXPNIRE.cjs.map} +1 -1
  90. package/dist/chunk-GX2EBMJW.cjs +133 -0
  91. package/dist/chunk-GX2EBMJW.cjs.map +1 -0
  92. package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
  93. package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
  94. package/dist/chunk-HYUKPHCT.cjs +66 -0
  95. package/dist/chunk-HYUKPHCT.cjs.map +1 -0
  96. package/dist/{chunk-NLSWDP42.cjs → chunk-JQLWKNJO.cjs} +22 -12
  97. package/dist/chunk-JQLWKNJO.cjs.map +1 -0
  98. package/dist/{chunk-CKCG4NDB.cjs → chunk-JZEYHDWJ.cjs} +75 -75
  99. package/dist/{chunk-CKCG4NDB.cjs.map → chunk-JZEYHDWJ.cjs.map} +1 -1
  100. package/dist/{chunk-PGJYD67F.cjs → chunk-KNGZZC4O.cjs} +7 -6
  101. package/dist/chunk-KNGZZC4O.cjs.map +1 -0
  102. package/dist/{chunk-W6INT5GS.cjs → chunk-KP5AITQ4.cjs} +10 -10
  103. package/dist/{chunk-W6INT5GS.cjs.map → chunk-KP5AITQ4.cjs.map} +1 -1
  104. package/dist/{chunk-YYPZOEED.cjs → chunk-LHWOKOMP.cjs} +23 -2
  105. package/dist/chunk-LHWOKOMP.cjs.map +1 -0
  106. package/dist/{chunk-WXUU3COI.cjs → chunk-MZ2KZXNU.cjs} +3 -3
  107. package/dist/{chunk-WXUU3COI.cjs.map → chunk-MZ2KZXNU.cjs.map} +1 -1
  108. package/dist/chunk-NAJN32MF.cjs +154 -0
  109. package/dist/chunk-NAJN32MF.cjs.map +1 -0
  110. package/dist/{chunk-557MJ4IH.cjs → chunk-NLOETJCB.cjs} +17 -154
  111. package/dist/chunk-NLOETJCB.cjs.map +1 -0
  112. package/dist/{chunk-4XJEHKVZ.cjs → chunk-PIYYBPHH.cjs} +4 -4
  113. package/dist/{chunk-4XJEHKVZ.cjs.map → chunk-PIYYBPHH.cjs.map} +1 -1
  114. package/dist/chunk-Q3XJUXID.cjs +4774 -0
  115. package/dist/chunk-Q3XJUXID.cjs.map +1 -0
  116. package/dist/{chunk-325GVZE6.cjs → chunk-Q6DQGGP4.cjs} +3 -3
  117. package/dist/{chunk-325GVZE6.cjs.map → chunk-Q6DQGGP4.cjs.map} +1 -1
  118. package/dist/chunk-QFXILJMJ.cjs +458 -0
  119. package/dist/chunk-QFXILJMJ.cjs.map +1 -0
  120. package/dist/{chunk-QQWHG3KF.cjs → chunk-RYVZDFVO.cjs} +5 -5
  121. package/dist/{chunk-QQWHG3KF.cjs.map → chunk-RYVZDFVO.cjs.map} +1 -1
  122. package/dist/{chunk-EOG6OT5I.cjs → chunk-TXP2N3DC.cjs} +4 -4
  123. package/dist/{chunk-EOG6OT5I.cjs.map → chunk-TXP2N3DC.cjs.map} +1 -1
  124. package/dist/{chunk-KXIRVKCJ.cjs → chunk-UUENH4BJ.cjs} +3 -3
  125. package/dist/{chunk-KXIRVKCJ.cjs.map → chunk-UUENH4BJ.cjs.map} +1 -1
  126. package/dist/chunk-VJ5ZLRBD.cjs +27 -0
  127. package/dist/chunk-VJ5ZLRBD.cjs.map +1 -0
  128. package/dist/{chunk-3GWWOYGS.cjs → chunk-W6B3RYTX.cjs} +4 -4
  129. package/dist/{chunk-3GWWOYGS.cjs.map → chunk-W6B3RYTX.cjs.map} +1 -1
  130. package/dist/chunk-WOOOMTTA.cjs +19 -0
  131. package/dist/chunk-WOOOMTTA.cjs.map +1 -0
  132. package/dist/{chunk-CJYWHUZR.cjs → chunk-XCKHOXRP.cjs} +4 -4
  133. package/dist/{chunk-CJYWHUZR.cjs.map → chunk-XCKHOXRP.cjs.map} +1 -1
  134. package/dist/{chunk-6WMMZLEV.cjs → chunk-XJEXFEWG.cjs} +2 -27
  135. package/dist/chunk-XJEXFEWG.cjs.map +1 -0
  136. package/dist/chunk-XK4TVJKD.cjs +73 -0
  137. package/dist/chunk-XK4TVJKD.cjs.map +1 -0
  138. package/dist/chunk-XTR26TNE.cjs +1358 -0
  139. package/dist/chunk-XTR26TNE.cjs.map +1 -0
  140. package/dist/{chunk-E7TE2WVT.cjs → chunk-ZVEW3JBT.cjs} +3 -3
  141. package/dist/{chunk-E7TE2WVT.cjs.map → chunk-ZVEW3JBT.cjs.map} +1 -1
  142. package/dist/collaboration/index.cjs +70 -70
  143. package/dist/components/ZoomSlider.d.ts +25 -0
  144. package/dist/components/ZoomSlider.js +59 -0
  145. package/dist/components/ZoomSlider.js.map +7 -0
  146. package/dist/connect/docx.cjs +20 -20
  147. package/dist/connect/index.cjs +1150 -1232
  148. package/dist/connect/index.cjs.map +1 -1
  149. package/dist/connect/viewer.cjs +40 -34
  150. package/dist/connection/ai.d.ts +1 -1
  151. package/dist/connection/files/ConnectedNewFileMenu.d.ts +2 -1
  152. package/dist/connection/files/ConnectedNewFileMenu.js +9 -3
  153. package/dist/connection/files/ConnectedNewFileMenu.js.map +2 -2
  154. package/dist/connection/files/explorer/ConnectedFilesExplorer.js +1 -1
  155. package/dist/connection/files/explorer/ConnectedFilesExplorer.js.map +2 -2
  156. package/dist/connection/files/explorer/FileTiles.js +1 -1
  157. package/dist/connection/files/explorer/FileTiles.js.map +2 -2
  158. package/dist/connection/files/fields/documentField.js +1 -1
  159. package/dist/connection/files/fields/documentField.js.map +2 -2
  160. package/dist/connection/files/grid/documentColumns.js +1 -1
  161. package/dist/connection/files/grid/documentColumns.js.map +2 -2
  162. package/dist/connection/files/page/DocumentsFilterBarActions.js +17 -28
  163. package/dist/connection/files/page/DocumentsFilterBarActions.js.map +2 -2
  164. package/dist/connection/mail/useMailboxDefaults.js +1 -1
  165. package/dist/connection/mail/useMailboxDefaults.js.map +2 -2
  166. package/dist/connection/panels/useSessionPanelMode.js +3 -2
  167. package/dist/connection/panels/useSessionPanelMode.js.map +2 -2
  168. package/dist/connection/presentation/ClippingMediaViewer.d.ts +12 -0
  169. package/dist/connection/presentation/ClippingMediaViewer.js +153 -0
  170. package/dist/connection/presentation/ClippingMediaViewer.js.map +7 -0
  171. package/dist/connection/presentation/ClippingPdfViewer.d.ts +22 -0
  172. package/dist/connection/presentation/ClippingPdfViewer.js +75 -0
  173. package/dist/connection/presentation/ClippingPdfViewer.js.map +7 -0
  174. package/dist/connection/presentation/ConnectedPresentation.d.ts +12 -0
  175. package/dist/connection/presentation/ConnectedPresentation.js +100 -0
  176. package/dist/connection/presentation/ConnectedPresentation.js.map +7 -0
  177. package/dist/connection/presentation/ConnectedSlidesTab.d.ts +20 -0
  178. package/dist/connection/presentation/ConnectedSlidesTab.js +220 -0
  179. package/dist/connection/presentation/ConnectedSlidesTab.js.map +7 -0
  180. package/dist/connection/presentation/CropClipDialog.d.ts +11 -0
  181. package/dist/connection/presentation/CropClipDialog.js +86 -0
  182. package/dist/connection/presentation/CropClipDialog.js.map +7 -0
  183. package/dist/connection/presentation/GenerateTile.d.ts +4 -0
  184. package/dist/connection/presentation/GenerateTile.js +24 -0
  185. package/dist/connection/presentation/GenerateTile.js.map +7 -0
  186. package/dist/connection/presentation/LabelColumnMenu.d.ts +8 -0
  187. package/dist/connection/presentation/LabelColumnMenu.js +38 -0
  188. package/dist/connection/presentation/LabelColumnMenu.js.map +7 -0
  189. package/dist/connection/presentation/PresentationDialogs.d.ts +39 -0
  190. package/dist/connection/presentation/PresentationDialogs.js +295 -0
  191. package/dist/connection/presentation/PresentationDialogs.js.map +7 -0
  192. package/dist/connection/presentation/PresentationFileCard.d.ts +10 -0
  193. package/dist/connection/presentation/PresentationFileCard.js +35 -0
  194. package/dist/connection/presentation/PresentationFileCard.js.map +7 -0
  195. package/dist/connection/presentation/PresentationPill.d.ts +8 -0
  196. package/dist/connection/presentation/PresentationPill.js +44 -0
  197. package/dist/connection/presentation/PresentationPill.js.map +7 -0
  198. package/dist/connection/presentation/PresentationSlot.d.ts +7 -0
  199. package/dist/connection/presentation/PresentationSlot.js +35 -0
  200. package/dist/connection/presentation/PresentationSlot.js.map +7 -0
  201. package/dist/connection/presentation/requests.d.ts +16 -0
  202. package/dist/connection/presentation/requests.js +20 -0
  203. package/dist/connection/presentation/requests.js.map +7 -0
  204. package/dist/connection/presentation/useImageGeneration.d.ts +11 -0
  205. package/dist/connection/presentation/useImageGeneration.js +66 -0
  206. package/dist/connection/presentation/useImageGeneration.js.map +7 -0
  207. package/dist/connection/presentation/useLabelColumns.d.ts +15 -0
  208. package/dist/connection/presentation/useLabelColumns.js +33 -0
  209. package/dist/connection/presentation/useLabelColumns.js.map +7 -0
  210. package/dist/connection/presentation/usePresentationController.d.ts +15 -0
  211. package/dist/connection/presentation/usePresentationController.js +118 -0
  212. package/dist/connection/presentation/usePresentationController.js.map +7 -0
  213. package/dist/connection/presentation/usePresentationFiles.d.ts +44 -0
  214. package/dist/connection/presentation/usePresentationFiles.js +307 -0
  215. package/dist/connection/presentation/usePresentationFiles.js.map +7 -0
  216. package/dist/connection/presentation/useViewerClipping.d.ts +14 -0
  217. package/dist/connection/presentation/useViewerClipping.js +18 -0
  218. package/dist/connection/presentation/useViewerClipping.js.map +7 -0
  219. package/dist/connection/shell/ConnectedAppShell.js +5 -1
  220. package/dist/connection/shell/ConnectedAppShell.js.map +2 -2
  221. package/dist/connection/viewer/CleanViewControl.d.ts +8 -0
  222. package/dist/connection/viewer/CleanViewControl.js +76 -0
  223. package/dist/connection/viewer/CleanViewControl.js.map +7 -0
  224. package/dist/connection/viewer/ConnectedDocumentViewer.js +28 -29
  225. package/dist/connection/viewer/ConnectedDocumentViewer.js.map +2 -2
  226. package/dist/connection/viewer/ViewerCropModal.d.ts +5 -0
  227. package/dist/connection/viewer/ViewerCropModal.js +22 -0
  228. package/dist/connection/viewer/ViewerCropModal.js.map +7 -0
  229. package/dist/connection/viewer/ViewerPdfPane.d.ts +3 -1
  230. package/dist/connection/viewer/ViewerPdfPane.js +37 -0
  231. package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
  232. package/dist/connection/viewer/drafts.js +6 -4
  233. package/dist/connection/viewer/drafts.js.map +2 -2
  234. package/dist/connection/viewer/shareDocument.d.ts +11 -0
  235. package/dist/connection/viewer/shareDocument.js +11 -0
  236. package/dist/connection/viewer/shareDocument.js.map +7 -0
  237. package/dist/connection/viewer/slidesTabChunk.d.ts +2 -0
  238. package/dist/connection/viewer/slidesTabChunk.js +9 -0
  239. package/dist/connection/viewer/slidesTabChunk.js.map +7 -0
  240. package/dist/connection/viewer/useCleanView.d.ts +14 -0
  241. package/dist/connection/viewer/useCleanView.js +29 -0
  242. package/dist/connection/viewer/useCleanView.js.map +7 -0
  243. package/dist/connection/viewer/useViewedDocument.d.ts +1 -0
  244. package/dist/connection/viewer/useViewedDocument.js +9 -1
  245. package/dist/connection/viewer/useViewedDocument.js.map +2 -2
  246. package/dist/connection/viewer/useViewerTabs.js +18 -4
  247. package/dist/connection/viewer/useViewerTabs.js.map +2 -2
  248. package/dist/connection/workflows/ConnectedWorkflowStart.d.ts +14 -2
  249. package/dist/connection/workflows/ConnectedWorkflowStart.js +5 -2
  250. package/dist/connection/workflows/ConnectedWorkflowStart.js.map +2 -2
  251. package/dist/dashboards/index.cjs +1 -1
  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 +41 -39
  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 +225 -225
  267. package/dist/files/navigator/DocumentSearchList.js +1 -1
  268. package/dist/files/navigator/DocumentSearchList.js.map +2 -2
  269. package/dist/index.cjs +1666 -1664
  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/PresentationStage.d.ts +32 -0
  302. package/dist/presentation/PresentationStage.js +232 -0
  303. package/dist/presentation/PresentationStage.js.map +7 -0
  304. package/dist/presentation/PresenterView.d.ts +16 -0
  305. package/dist/presentation/PresenterView.js +69 -0
  306. package/dist/presentation/PresenterView.js.map +7 -0
  307. package/dist/presentation/SlideDecor.d.ts +25 -0
  308. package/dist/presentation/SlideDecor.js +189 -0
  309. package/dist/presentation/SlideDecor.js.map +7 -0
  310. package/dist/presentation/SlidesEditor.d.ts +25 -0
  311. package/dist/presentation/SlidesEditor.js +359 -0
  312. package/dist/presentation/SlidesEditor.js.map +7 -0
  313. package/dist/presentation/StageBox.d.ts +30 -0
  314. package/dist/presentation/StageBox.js +281 -0
  315. package/dist/presentation/StageBox.js.map +7 -0
  316. package/dist/presentation/StageItem.d.ts +37 -0
  317. package/dist/presentation/StageItem.js +211 -0
  318. package/dist/presentation/StageItem.js.map +7 -0
  319. package/dist/presentation/box-style.d.ts +6 -0
  320. package/dist/presentation/box-style.js +19 -0
  321. package/dist/presentation/box-style.js.map +7 -0
  322. package/dist/presentation/boxes.d.ts +105 -0
  323. package/dist/presentation/boxes.js +103 -0
  324. package/dist/presentation/boxes.js.map +7 -0
  325. package/dist/presentation/draw-boxes.d.ts +8 -0
  326. package/dist/presentation/draw-boxes.js +130 -0
  327. package/dist/presentation/draw-boxes.js.map +7 -0
  328. package/dist/presentation/export-boxes.d.ts +10 -0
  329. package/dist/presentation/export-boxes.js +74 -0
  330. package/dist/presentation/export-boxes.js.map +7 -0
  331. package/dist/presentation/export-pptx.d.ts +16 -0
  332. package/dist/presentation/export-pptx.js +194 -0
  333. package/dist/presentation/export-pptx.js.map +7 -0
  334. package/dist/presentation/import-pptx.d.ts +35 -0
  335. package/dist/presentation/import-pptx.js +659 -0
  336. package/dist/presentation/import-pptx.js.map +7 -0
  337. package/dist/presentation/merge-outside-edits.d.ts +12 -0
  338. package/dist/presentation/merge-outside-edits.js +35 -0
  339. package/dist/presentation/merge-outside-edits.js.map +7 -0
  340. package/dist/presentation/model.d.ts +201 -0
  341. package/dist/presentation/model.js +271 -0
  342. package/dist/presentation/model.js.map +7 -0
  343. package/dist/presentation/panel-id.d.ts +34 -0
  344. package/dist/presentation/panel-id.js +24 -0
  345. package/dist/presentation/panel-id.js.map +7 -0
  346. package/dist/presentation/persistence.d.ts +121 -0
  347. package/dist/presentation/persistence.js +141 -0
  348. package/dist/presentation/persistence.js.map +7 -0
  349. package/dist/presentation/pptx-data.d.ts +22 -0
  350. package/dist/presentation/pptx-data.js +83 -0
  351. package/dist/presentation/pptx-data.js.map +7 -0
  352. package/dist/presentation/pptx-xml.d.ts +90 -0
  353. package/dist/presentation/pptx-xml.js +333 -0
  354. package/dist/presentation/pptx-xml.js.map +7 -0
  355. package/dist/presentation/render-slides.d.ts +58 -0
  356. package/dist/presentation/render-slides.js +309 -0
  357. package/dist/presentation/render-slides.js.map +7 -0
  358. package/dist/presentation/saved-boxes.d.ts +11 -0
  359. package/dist/presentation/saved-boxes.js +80 -0
  360. package/dist/presentation/saved-boxes.js.map +7 -0
  361. package/dist/presentation/slide-layout.d.ts +54 -0
  362. package/dist/presentation/slide-layout.js +117 -0
  363. package/dist/presentation/slide-layout.js.map +7 -0
  364. package/dist/presentation/stage-videos.d.ts +5 -0
  365. package/dist/presentation/stage-videos.js +19 -0
  366. package/dist/presentation/stage-videos.js.map +7 -0
  367. package/dist/presentation/store.d.ts +203 -0
  368. package/dist/presentation/store.js +429 -0
  369. package/dist/presentation/store.js.map +7 -0
  370. package/dist/presentation/theme.d.ts +102 -0
  371. package/dist/presentation/theme.js +276 -0
  372. package/dist/presentation/theme.js.map +7 -0
  373. package/dist/presentation/useClipDrag.d.ts +26 -0
  374. package/dist/presentation/useClipDrag.js +65 -0
  375. package/dist/presentation/useClipDrag.js.map +7 -0
  376. package/dist/presentation/useObjectUrl.d.ts +6 -0
  377. package/dist/presentation/useObjectUrl.js +15 -0
  378. package/dist/presentation/useObjectUrl.js.map +7 -0
  379. package/dist/presentation/usePresenterKeys.d.ts +13 -0
  380. package/dist/presentation/usePresenterKeys.js +62 -0
  381. package/dist/presentation/usePresenterKeys.js.map +7 -0
  382. package/dist/settings/index.cjs +151 -150
  383. package/dist/shell/PanelPortal.js +1 -0
  384. package/dist/shell/PanelPortal.js.map +2 -2
  385. package/dist/shell/index.cjs +112 -110
  386. package/dist/shell/panel-windows.d.ts +2 -0
  387. package/dist/shell/panel-windows.js +7 -2
  388. package/dist/shell/panel-windows.js.map +2 -2
  389. package/dist/studio/index.cjs +28 -26
  390. package/dist/studio/index.cjs.map +1 -1
  391. package/dist/styles.css +1 -1
  392. package/dist/workflow-canvas/index.cjs +55 -54
  393. package/dist/workflow-canvas/index.cjs.map +1 -1
  394. package/node_modules/@arbidocs/coedit/package.json +1 -1
  395. package/package.json +6 -5
  396. package/dist/ConnectedCallDock-WER7R222.cjs.map +0 -1
  397. package/dist/DocumentReviewCard-BPIAJJED.cjs.map +0 -1
  398. package/dist/FilesViewerDialog-67WK3TZC.cjs.map +0 -1
  399. package/dist/GridViewImpl-ZMJJWTOM.cjs.map +0 -1
  400. package/dist/WorkspaceTableView-J3C6VH4T.cjs.map +0 -1
  401. package/dist/ai-IM4A23YT.cjs.map +0 -1
  402. package/dist/chunk-557MJ4IH.cjs.map +0 -1
  403. package/dist/chunk-6UTKM5AB.cjs.map +0 -1
  404. package/dist/chunk-6WMMZLEV.cjs.map +0 -1
  405. package/dist/chunk-B3LZITVF.cjs.map +0 -1
  406. package/dist/chunk-BUVIBHFU.cjs.map +0 -1
  407. package/dist/chunk-CPR6EHG7.cjs.map +0 -1
  408. package/dist/chunk-HA66DHW6.cjs.map +0 -1
  409. package/dist/chunk-NJCK6V6U.cjs.map +0 -1
  410. package/dist/chunk-NLSWDP42.cjs.map +0 -1
  411. package/dist/chunk-PGJYD67F.cjs.map +0 -1
  412. package/dist/chunk-X36UR4A7.cjs.map +0 -1
  413. package/dist/chunk-YYPZOEED.cjs.map +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/presentation/useClipDrag.ts"],
4
+ "sourcesContent": ["/**\n * Dragging a clip from the tray onto a slide, with pointer events: the same for a mouse, a pen and\n * a finger (HTML drag and drop does not work on touch screens). A drag starts once the pointer has\n * moved a little; a thumbnail follows it; on release, what is under it decides: the stage (the\n * clip goes on the current slide where it was dropped) or a slide chip (on that slide). A press\n * that does not move is a tap.\n *\n * Drop targets are marked with `data-presentation-drop` (\"stage\", or \"slide\" with\n * `data-slide-index`), so they are found under the pointer in whichever window the tray is in.\n */\n\nimport { useRef, useState, type PointerEvent as ReactPointerEvent } from 'react'\nimport { usePresentation } from './store'\n\n/** How far (px) the pointer moves before a press becomes a drag. */\nconst DRAG_THRESHOLD = 6\n\nexport const DROP_ATTRIBUTE = 'data-presentation-drop'\n\nexport interface ClipDrag {\n /** Where the dragged thumbnail is (client px), while dragging. */\n ghost: { x: number; y: number } | null\n handlers: {\n onPointerDown: (event: ReactPointerEvent<HTMLElement>) => void\n onPointerMove: (event: ReactPointerEvent<HTMLElement>) => void\n onPointerUp: (event: ReactPointerEvent<HTMLElement>) => void\n onPointerCancel: () => void\n }\n}\n\n/** Drop a clip at a point of the window: on the stage there, or on a slide chip. */\nfunction dropAt(doc: Document, clipId: string, x: number, y: number): boolean {\n const target = doc.elementFromPoint(x, y)?.closest(`[${DROP_ATTRIBUTE}]`)\n if (!target) return false\n const state = usePresentation.getState()\n if (target.getAttribute(DROP_ATTRIBUTE) === 'slide') {\n const index = Number(target.getAttribute('data-slide-index'))\n if (!Number.isInteger(index)) return false\n state.goTo(index)\n state.place(clipId)\n return true\n }\n // A slide's stage (the editor shows them all): that slide, at the point.\n const index = Number(target.getAttribute('data-slide-index'))\n if (target.hasAttribute('data-slide-index') && Number.isInteger(index)) state.goTo(index)\n const box = target.getBoundingClientRect()\n state.place(clipId, { x: (x - box.left) / box.width, y: (y - box.top) / box.height })\n return true\n}\n\nexport function useClipDrag(clipId: string, onTap: () => void): ClipDrag {\n const press = useRef<{ x: number; y: number; dragging: boolean } | null>(null)\n const [ghost, setGhost] = useState<{ x: number; y: number } | null>(null)\n\n const end = () => {\n press.current = null\n setGhost(null)\n usePresentation.getState().setDragging(null)\n }\n\n return {\n ghost,\n handlers: {\n onPointerDown: (event) => {\n if (event.button !== 0) return\n press.current = { x: event.clientX, y: event.clientY, dragging: false }\n },\n onPointerMove: (event) => {\n const p = press.current\n if (!p) return\n if (!p.dragging) {\n if (Math.hypot(event.clientX - p.x, event.clientY - p.y) < DRAG_THRESHOLD) return\n p.dragging = true\n // Keep receiving the pointer wherever it goes, and stop the browser scrolling for it.\n event.currentTarget.setPointerCapture(event.pointerId)\n usePresentation.getState().setDragging(clipId)\n }\n event.preventDefault()\n setGhost({ x: event.clientX, y: event.clientY })\n },\n onPointerUp: (event) => {\n const p = press.current\n if (p?.dragging)\n dropAt(event.currentTarget.ownerDocument, clipId, event.clientX, event.clientY)\n else if (p) onTap()\n end()\n },\n onPointerCancel: end,\n },\n }\n}\n"],
5
+ "mappings": ";AAWA,SAAS,QAAQ,gBAAwD;AACzE,SAAS,uBAAuB;AAGhC,MAAM,iBAAiB;AAEhB,MAAM,iBAAiB;AAc9B,SAAS,OAAO,KAAe,QAAgB,GAAW,GAAoB;AAC5E,QAAM,SAAS,IAAI,iBAAiB,GAAG,CAAC,GAAG,QAAQ,IAAI,cAAc,GAAG;AACxE,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,QAAQ,gBAAgB,SAAS;AACvC,MAAI,OAAO,aAAa,cAAc,MAAM,SAAS;AACnD,UAAMA,SAAQ,OAAO,OAAO,aAAa,kBAAkB,CAAC;AAC5D,QAAI,CAAC,OAAO,UAAUA,MAAK,EAAG,QAAO;AACrC,UAAM,KAAKA,MAAK;AAChB,UAAM,MAAM,MAAM;AAClB,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,OAAO,OAAO,aAAa,kBAAkB,CAAC;AAC5D,MAAI,OAAO,aAAa,kBAAkB,KAAK,OAAO,UAAU,KAAK,EAAG,OAAM,KAAK,KAAK;AACxF,QAAM,MAAM,OAAO,sBAAsB;AACzC,QAAM,MAAM,QAAQ,EAAE,IAAI,IAAI,IAAI,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC;AACpF,SAAO;AACT;AAEO,SAAS,YAAY,QAAgB,OAA6B;AACvE,QAAM,QAAQ,OAA2D,IAAI;AAC7E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA0C,IAAI;AAExE,QAAM,MAAM,MAAM;AAChB,UAAM,UAAU;AAChB,aAAS,IAAI;AACb,oBAAgB,SAAS,EAAE,YAAY,IAAI;AAAA,EAC7C;AAEA,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,MACR,eAAe,CAAC,UAAU;AACxB,YAAI,MAAM,WAAW,EAAG;AACxB,cAAM,UAAU,EAAE,GAAG,MAAM,SAAS,GAAG,MAAM,SAAS,UAAU,MAAM;AAAA,MACxE;AAAA,MACA,eAAe,CAAC,UAAU;AACxB,cAAM,IAAI,MAAM;AAChB,YAAI,CAAC,EAAG;AACR,YAAI,CAAC,EAAE,UAAU;AACf,cAAI,KAAK,MAAM,MAAM,UAAU,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC,IAAI,eAAgB;AAC3E,YAAE,WAAW;AAEb,gBAAM,cAAc,kBAAkB,MAAM,SAAS;AACrD,0BAAgB,SAAS,EAAE,YAAY,MAAM;AAAA,QAC/C;AACA,cAAM,eAAe;AACrB,iBAAS,EAAE,GAAG,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;AAAA,MACjD;AAAA,MACA,aAAa,CAAC,UAAU;AACtB,cAAM,IAAI,MAAM;AAChB,YAAI,GAAG;AACL,iBAAO,MAAM,cAAc,eAAe,QAAQ,MAAM,SAAS,MAAM,OAAO;AAAA,iBACvE,EAAG,OAAM;AAClB,YAAI;AAAA,MACN;AAAA,MACA,iBAAiB;AAAA,IACnB;AAAA,EACF;AACF;",
6
+ "names": ["index"]
7
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * An object URL for a file, owned by the mount that made it and revoked when it unmounts or the
3
+ * file changes. Made in an effect, not a memo: a memoised URL survives a remount (React's
4
+ * StrictMode replays mount effects) while the first mount's cleanup has already revoked it.
5
+ */
6
+ export declare function useObjectUrl(file: Blob): string | undefined;
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { useEffect, useState } from "react";
3
+ function useObjectUrl(file) {
4
+ const [url, setUrl] = useState();
5
+ useEffect(() => {
6
+ const next = URL.createObjectURL(file);
7
+ setUrl(next);
8
+ return () => URL.revokeObjectURL(next);
9
+ }, [file]);
10
+ return url;
11
+ }
12
+ export {
13
+ useObjectUrl
14
+ };
15
+ //# sourceMappingURL=useObjectUrl.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/presentation/useObjectUrl.ts"],
4
+ "sourcesContent": ["import { useEffect, useState } from 'react'\n\n/**\n * An object URL for a file, owned by the mount that made it and revoked when it unmounts or the\n * file changes. Made in an effect, not a memo: a memoised URL survives a remount (React's\n * StrictMode replays mount effects) while the first mount's cleanup has already revoked it.\n */\nexport function useObjectUrl(file: Blob): string | undefined {\n const [url, setUrl] = useState<string>()\n useEffect(() => {\n const next = URL.createObjectURL(file)\n setUrl(next)\n return () => URL.revokeObjectURL(next)\n }, [file])\n return url\n}\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW,gBAAgB;AAO7B,SAAS,aAAa,MAAgC;AAC3D,QAAM,CAAC,KAAK,MAAM,IAAI,SAAiB;AACvC,YAAU,MAAM;AACd,UAAM,OAAO,IAAI,gBAAgB,IAAI;AACrC,WAAO,IAAI;AACX,WAAO,MAAM,IAAI,gBAAgB,IAAI;AAAA,EACvC,GAAG,CAAC,IAAI,CAAC;AACT,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The keys of the presentation window. A presenter (or a presentation clicker, which sends Page Up /
3
+ * Page Down and "." or "b"): previous / next slide and blank the stage; while presenting, F for
4
+ * full screen and Escape back to editing. While editing with a clip selected: the arrows nudge it
5
+ * (Shift: further), Delete takes it off the slide and Escape deselects it.
6
+ */
7
+ /** Full screen on or off for a window's page (from a key or click in that window). */
8
+ export declare function toggleFullscreen(view: Window): void;
9
+ export interface PresenterSelection {
10
+ clipId: string | null;
11
+ clear: () => void;
12
+ }
13
+ export declare function usePresenterKeys(view: Window | null | undefined, presenting: boolean, selection?: PresenterSelection): void;
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ import { toggleStageVideos } from "./stage-videos.js";
4
+ import { STAGE_ASPECT } from "./model.js";
5
+ import { usePresentation } from "./store.js";
6
+ import { moveBox } from "./boxes.js";
7
+ const NUDGE = 5e-3;
8
+ const BIG_NUDGE = 0.04;
9
+ function toggleFullscreen(view) {
10
+ const doc = view.document;
11
+ if (doc.fullscreenElement) void doc.exitFullscreen();
12
+ else void doc.documentElement.requestFullscreen?.();
13
+ }
14
+ function usePresenterKeys(view, presenting, selection) {
15
+ const selected = presenting ? null : selection?.clipId ?? null;
16
+ const clear = selection?.clear;
17
+ useEffect(() => {
18
+ if (!view) return;
19
+ const onKeyDown = (event) => {
20
+ if (event.defaultPrevented || event.metaKey || event.ctrlKey || event.altKey) return;
21
+ const target = event.target;
22
+ if (target?.closest?.('input, textarea, select, [contenteditable="true"]')) return;
23
+ const state = usePresentation.getState();
24
+ const key = event.key;
25
+ const onSlide = selected && state.slides[state.current]?.items.some((i) => i.clipId === selected);
26
+ const box = selected?.startsWith("box-") ? state.slides.flatMap((slide) => slide.boxes).find((entry) => entry.id === selected) : void 0;
27
+ if (box && key.startsWith("Arrow")) {
28
+ const step = event.shiftKey ? BIG_NUDGE : NUDGE;
29
+ const dx = key === "ArrowLeft" ? -step : key === "ArrowRight" ? step : 0;
30
+ const dy = (key === "ArrowUp" ? -step : key === "ArrowDown" ? step : 0) * STAGE_ASPECT;
31
+ state.updateBox(box.id, (entry) => ({ ...entry, frame: moveBox(entry.frame, dx, dy) }));
32
+ } else if (box && (key === "Delete" || key === "Backspace")) {
33
+ state.removeBox(box.id);
34
+ clear?.();
35
+ } else if (onSlide && key.startsWith("Arrow")) {
36
+ const step = event.shiftKey ? BIG_NUDGE : NUDGE;
37
+ const dx = key === "ArrowLeft" ? -step : key === "ArrowRight" ? step : 0;
38
+ const dy = (key === "ArrowUp" ? -step : key === "ArrowDown" ? step : 0) * STAGE_ASPECT;
39
+ state.nudge(selected, dx, dy);
40
+ } else if (onSlide && (key === "Delete" || key === "Backspace")) {
41
+ state.unplace(selected);
42
+ clear?.();
43
+ } else if (selected && key === "Escape") clear?.();
44
+ else if (!presenting) return;
45
+ else if (key === "ArrowRight" || key === "PageDown") state.goTo(state.current + 1);
46
+ else if (key === "ArrowLeft" || key === "PageUp") state.goTo(state.current - 1);
47
+ else if (key === "b" || key === "B" || key === ".") state.setBlank(!state.blank);
48
+ else if (presenting && (key === "f" || key === "F")) toggleFullscreen(view);
49
+ else if (presenting && key === " " && toggleStageVideos(view.document)) {
50
+ } else if (presenting && key === "Escape") state.setPresenting(false);
51
+ else return;
52
+ event.preventDefault();
53
+ };
54
+ view.addEventListener("keydown", onKeyDown);
55
+ return () => view.removeEventListener("keydown", onKeyDown);
56
+ }, [view, presenting, selected, clear]);
57
+ }
58
+ export {
59
+ toggleFullscreen,
60
+ usePresenterKeys
61
+ };
62
+ //# sourceMappingURL=usePresenterKeys.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/presentation/usePresenterKeys.ts"],
4
+ "sourcesContent": ["/**\n * The keys of the presentation window. A presenter (or a presentation clicker, which sends Page Up /\n * Page Down and \".\" or \"b\"): previous / next slide and blank the stage; while presenting, F for\n * full screen and Escape back to editing. While editing with a clip selected: the arrows nudge it\n * (Shift: further), Delete takes it off the slide and Escape deselects it.\n */\n\nimport { useEffect } from 'react'\nimport { toggleStageVideos } from './stage-videos'\nimport { STAGE_ASPECT } from './model'\nimport { usePresentation } from './store'\nimport { moveBox } from './boxes'\n\n/** A nudge, as a fraction of the stage width (vertical nudges move as far on screen). */\nconst NUDGE = 0.005\nconst BIG_NUDGE = 0.04\n\n/** Full screen on or off for a window's page (from a key or click in that window). */\nexport function toggleFullscreen(view: Window): void {\n const doc = view.document\n if (doc.fullscreenElement) void doc.exitFullscreen()\n else void doc.documentElement.requestFullscreen?.()\n}\n\nexport interface PresenterSelection {\n clipId: string | null\n clear: () => void\n}\n\nexport function usePresenterKeys(\n view: Window | null | undefined,\n presenting: boolean,\n selection?: PresenterSelection\n): void {\n const selected = presenting ? null : (selection?.clipId ?? null)\n const clear = selection?.clear\n useEffect(() => {\n if (!view) return\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented || event.metaKey || event.ctrlKey || event.altKey) return\n const target = event.target as HTMLElement | null\n if (target?.closest?.('input, textarea, select, [contenteditable=\"true\"]')) return\n const state = usePresentation.getState()\n const key = event.key\n const onSlide =\n selected && state.slides[state.current]?.items.some((i) => i.clipId === selected)\n const box = selected?.startsWith('box-')\n ? state.slides.flatMap((slide) => slide.boxes).find((entry) => entry.id === selected)\n : undefined\n if (box && key.startsWith('Arrow')) {\n const step = event.shiftKey ? BIG_NUDGE : NUDGE\n const dx = key === 'ArrowLeft' ? -step : key === 'ArrowRight' ? step : 0\n const dy = (key === 'ArrowUp' ? -step : key === 'ArrowDown' ? step : 0) * STAGE_ASPECT\n state.updateBox(box.id, (entry) => ({ ...entry, frame: moveBox(entry.frame, dx, dy) }))\n } else if (box && (key === 'Delete' || key === 'Backspace')) {\n state.removeBox(box.id)\n clear?.()\n } else if (onSlide && key.startsWith('Arrow')) {\n const step = event.shiftKey ? BIG_NUDGE : NUDGE\n const dx = key === 'ArrowLeft' ? -step : key === 'ArrowRight' ? step : 0\n const dy = (key === 'ArrowUp' ? -step : key === 'ArrowDown' ? step : 0) * STAGE_ASPECT\n state.nudge(selected, dx, dy)\n } else if (onSlide && (key === 'Delete' || key === 'Backspace')) {\n state.unplace(selected)\n clear?.()\n } else if (selected && key === 'Escape') clear?.()\n // Editing (in the app's own window too): only a selected clip takes keys.\n else if (!presenting) return\n else if (key === 'ArrowRight' || key === 'PageDown') state.goTo(state.current + 1)\n else if (key === 'ArrowLeft' || key === 'PageUp') state.goTo(state.current - 1)\n else if (key === 'b' || key === 'B' || key === '.') state.setBlank(!state.blank)\n else if (presenting && (key === 'f' || key === 'F')) toggleFullscreen(view)\n // Space plays or pauses the slide's videos.\n else if (presenting && key === ' ' && toggleStageVideos(view.document)) {\n // handled\n }\n // Out of full screen the browser takes the first Escape; the next one stops presenting.\n else if (presenting && key === 'Escape') state.setPresenting(false)\n else return\n event.preventDefault()\n }\n view.addEventListener('keydown', onKeyDown)\n return () => view.removeEventListener('keydown', onKeyDown)\n }, [view, presenting, selected, clear])\n}\n"],
5
+ "mappings": ";AAOA,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,eAAe;AAGxB,MAAM,QAAQ;AACd,MAAM,YAAY;AAGX,SAAS,iBAAiB,MAAoB;AACnD,QAAM,MAAM,KAAK;AACjB,MAAI,IAAI,kBAAmB,MAAK,IAAI,eAAe;AAAA,MAC9C,MAAK,IAAI,gBAAgB,oBAAoB;AACpD;AAOO,SAAS,iBACd,MACA,YACA,WACM;AACN,QAAM,WAAW,aAAa,OAAQ,WAAW,UAAU;AAC3D,QAAM,QAAQ,WAAW;AACzB,YAAU,MAAM;AACd,QAAI,CAAC,KAAM;AACX,UAAM,YAAY,CAAC,UAAyB;AAC1C,UAAI,MAAM,oBAAoB,MAAM,WAAW,MAAM,WAAW,MAAM,OAAQ;AAC9E,YAAM,SAAS,MAAM;AACrB,UAAI,QAAQ,UAAU,mDAAmD,EAAG;AAC5E,YAAM,QAAQ,gBAAgB,SAAS;AACvC,YAAM,MAAM,MAAM;AAClB,YAAM,UACJ,YAAY,MAAM,OAAO,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,WAAW,QAAQ;AAClF,YAAM,MAAM,UAAU,WAAW,MAAM,IACnC,MAAM,OAAO,QAAQ,CAAC,UAAU,MAAM,KAAK,EAAE,KAAK,CAAC,UAAU,MAAM,OAAO,QAAQ,IAClF;AACJ,UAAI,OAAO,IAAI,WAAW,OAAO,GAAG;AAClC,cAAM,OAAO,MAAM,WAAW,YAAY;AAC1C,cAAM,KAAK,QAAQ,cAAc,CAAC,OAAO,QAAQ,eAAe,OAAO;AACvE,cAAM,MAAM,QAAQ,YAAY,CAAC,OAAO,QAAQ,cAAc,OAAO,KAAK;AAC1E,cAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,OAAO,QAAQ,MAAM,OAAO,IAAI,EAAE,EAAE,EAAE;AAAA,MACxF,WAAW,QAAQ,QAAQ,YAAY,QAAQ,cAAc;AAC3D,cAAM,UAAU,IAAI,EAAE;AACtB,gBAAQ;AAAA,MACV,WAAW,WAAW,IAAI,WAAW,OAAO,GAAG;AAC7C,cAAM,OAAO,MAAM,WAAW,YAAY;AAC1C,cAAM,KAAK,QAAQ,cAAc,CAAC,OAAO,QAAQ,eAAe,OAAO;AACvE,cAAM,MAAM,QAAQ,YAAY,CAAC,OAAO,QAAQ,cAAc,OAAO,KAAK;AAC1E,cAAM,MAAM,UAAU,IAAI,EAAE;AAAA,MAC9B,WAAW,YAAY,QAAQ,YAAY,QAAQ,cAAc;AAC/D,cAAM,QAAQ,QAAQ;AACtB,gBAAQ;AAAA,MACV,WAAW,YAAY,QAAQ,SAAU,SAAQ;AAAA,eAExC,CAAC,WAAY;AAAA,eACb,QAAQ,gBAAgB,QAAQ,WAAY,OAAM,KAAK,MAAM,UAAU,CAAC;AAAA,eACxE,QAAQ,eAAe,QAAQ,SAAU,OAAM,KAAK,MAAM,UAAU,CAAC;AAAA,eACrE,QAAQ,OAAO,QAAQ,OAAO,QAAQ,IAAK,OAAM,SAAS,CAAC,MAAM,KAAK;AAAA,eACtE,eAAe,QAAQ,OAAO,QAAQ,KAAM,kBAAiB,IAAI;AAAA,eAEjE,cAAc,QAAQ,OAAO,kBAAkB,KAAK,QAAQ,GAAG;AAAA,MAExE,WAES,cAAc,QAAQ,SAAU,OAAM,cAAc,KAAK;AAAA,UAC7D;AACL,YAAM,eAAe;AAAA,IACvB;AACA,SAAK,iBAAiB,WAAW,SAAS;AAC1C,WAAO,MAAM,KAAK,oBAAoB,WAAW,SAAS;AAAA,EAC5D,GAAG,CAAC,MAAM,YAAY,UAAU,KAAK,CAAC;AACxC;",
6
+ "names": []
7
+ }