@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.
- package/dist/ClippingMediaViewer-B6WG7Q64.cjs +156 -0
- package/dist/ClippingMediaViewer-B6WG7Q64.cjs.map +1 -0
- package/dist/ClippingPdfViewer-6GCVTV3V.cjs +79 -0
- package/dist/ClippingPdfViewer-6GCVTV3V.cjs.map +1 -0
- package/dist/{ConnectedCallDock-WER7R222.cjs → ConnectedCallDock-DC5V5OUJ.cjs} +25 -23
- package/dist/ConnectedCallDock-DC5V5OUJ.cjs.map +1 -0
- package/dist/{ConnectedCallRoom-T7OBQTYP.cjs → ConnectedCallRoom-FQLXWTFB.cjs} +18 -16
- package/dist/{ConnectedCallRoom-T7OBQTYP.cjs.map → ConnectedCallRoom-FQLXWTFB.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs → ConnectedNativeDocxComparison-4Q5S7VLD.cjs} +17 -17
- package/dist/{ConnectedNativeDocxComparison-SGE4R3M4.cjs.map → ConnectedNativeDocxComparison-4Q5S7VLD.cjs.map} +1 -1
- package/dist/ConnectedPresentation-4HLDZDWV.cjs +183 -0
- package/dist/ConnectedPresentation-4HLDZDWV.cjs.map +1 -0
- package/dist/{ConnectedProductionSetDialog-LHB4VQWC.cjs → ConnectedProductionSetDialog-4EAY6KAZ.cjs} +3 -3
- package/dist/{ConnectedProductionSetDialog-LHB4VQWC.cjs.map → ConnectedProductionSetDialog-4EAY6KAZ.cjs.map} +1 -1
- package/dist/ConnectedSlidesTab-7QDE2CZD.cjs +234 -0
- package/dist/ConnectedSlidesTab-7QDE2CZD.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs → ConnectedStreamedWordArtifact-FFOQJBOI.cjs} +17 -17
- package/dist/{ConnectedStreamedWordArtifact-6MCLJRIT.cjs.map → ConnectedStreamedWordArtifact-FFOQJBOI.cjs.map} +1 -1
- package/dist/{DocumentReviewCard-BPIAJJED.cjs → DocumentReviewCard-SNWVEZ7S.cjs} +17 -16
- package/dist/DocumentReviewCard-SNWVEZ7S.cjs.map +1 -0
- package/dist/{FilesViewerDialog-67WK3TZC.cjs → FilesViewerDialog-IZI63FOV.cjs} +52 -45
- package/dist/FilesViewerDialog-IZI63FOV.cjs.map +1 -0
- package/dist/{GridViewImpl-ZMJJWTOM.cjs → GridViewImpl-LTYET77Q.cjs} +3 -3
- package/dist/GridViewImpl-LTYET77Q.cjs.map +1 -0
- package/dist/{WorkspaceTableView-J3C6VH4T.cjs → WorkspaceTableView-TEIRB6VJ.cjs} +11 -10
- package/dist/WorkspaceTableView-TEIRB6VJ.cjs.map +1 -0
- package/dist/agents/index.cjs +297 -297
- package/dist/{ai-IM4A23YT.cjs → ai-KBYNRNZ6.cjs} +28 -26
- package/dist/ai-KBYNRNZ6.cjs.map +1 -0
- package/dist/calls/connected/CallControls.d.ts +2 -0
- package/dist/calls/connected/CallControls.js +71 -9
- package/dist/calls/connected/CallControls.js.map +2 -2
- package/dist/calls/connected/ShareDocumentDialog.d.ts +14 -0
- package/dist/calls/connected/ShareDocumentDialog.js +77 -0
- package/dist/calls/connected/ShareDocumentDialog.js.map +7 -0
- package/dist/calls/index.cjs +121 -121
- package/dist/chat/index.cjs +9 -8
- package/dist/{chunk-T23UTIRI.cjs → chunk-2PZT3J34.cjs} +6 -6
- package/dist/{chunk-T23UTIRI.cjs.map → chunk-2PZT3J34.cjs.map} +1 -1
- package/dist/{chunk-SGYSDABK.cjs → chunk-2W5E62EY.cjs} +6 -6
- package/dist/{chunk-SGYSDABK.cjs.map → chunk-2W5E62EY.cjs.map} +1 -1
- package/dist/{chunk-TDO5UWXF.cjs → chunk-3SCNXNHI.cjs} +5 -5
- package/dist/{chunk-TDO5UWXF.cjs.map → chunk-3SCNXNHI.cjs.map} +1 -1
- package/dist/{chunk-KTQOGT2L.cjs → chunk-474GPLCM.cjs} +7 -7
- package/dist/{chunk-KTQOGT2L.cjs.map → chunk-474GPLCM.cjs.map} +1 -1
- package/dist/{chunk-TP5PGWIO.cjs → chunk-4IOYQLKG.cjs} +3 -3
- package/dist/{chunk-TP5PGWIO.cjs.map → chunk-4IOYQLKG.cjs.map} +1 -1
- package/dist/{chunk-NY3YUCOW.cjs → chunk-4NPCDS2X.cjs} +3 -3
- package/dist/{chunk-NY3YUCOW.cjs.map → chunk-4NPCDS2X.cjs.map} +1 -1
- package/dist/{chunk-HA66DHW6.cjs → chunk-4RBQ44RY.cjs} +28 -28
- package/dist/chunk-4RBQ44RY.cjs.map +1 -0
- package/dist/{chunk-BQ5RIWWT.cjs → chunk-4VZZWYEC.cjs} +3 -3
- package/dist/{chunk-BQ5RIWWT.cjs.map → chunk-4VZZWYEC.cjs.map} +1 -1
- package/dist/{chunk-BP3IJ34D.cjs → chunk-52KGMAO5.cjs} +15 -15
- package/dist/{chunk-BP3IJ34D.cjs.map → chunk-52KGMAO5.cjs.map} +1 -1
- package/dist/{chunk-5IZFSAEZ.cjs → chunk-5534FYXP.cjs} +4 -4
- package/dist/{chunk-5IZFSAEZ.cjs.map → chunk-5534FYXP.cjs.map} +1 -1
- package/dist/chunk-5GCCUXMT.cjs +63 -0
- package/dist/chunk-5GCCUXMT.cjs.map +1 -0
- package/dist/chunk-5LTIZ44D.cjs +95 -0
- package/dist/chunk-5LTIZ44D.cjs.map +1 -0
- package/dist/{chunk-DFBDQKGE.cjs → chunk-734NPQNR.cjs} +4 -4
- package/dist/{chunk-DFBDQKGE.cjs.map → chunk-734NPQNR.cjs.map} +1 -1
- package/dist/{chunk-X36UR4A7.cjs → chunk-7VUJGHMY.cjs} +323 -96
- package/dist/chunk-7VUJGHMY.cjs.map +1 -0
- package/dist/chunk-AFQTQC7A.cjs +35 -0
- package/dist/chunk-AFQTQC7A.cjs.map +1 -0
- package/dist/{chunk-YYSBWMDJ.cjs → chunk-AY6EZSZB.cjs} +4 -4
- package/dist/{chunk-YYSBWMDJ.cjs.map → chunk-AY6EZSZB.cjs.map} +1 -1
- package/dist/{chunk-BUVIBHFU.cjs → chunk-BVAT4EVC.cjs} +38 -38
- package/dist/chunk-BVAT4EVC.cjs.map +1 -0
- package/dist/{chunk-ECLUFKYR.cjs → chunk-C2OICDMI.cjs} +10 -10
- package/dist/{chunk-ECLUFKYR.cjs.map → chunk-C2OICDMI.cjs.map} +1 -1
- package/dist/{chunk-CPR6EHG7.cjs → chunk-DR2AH7JL.cjs} +179 -55
- package/dist/chunk-DR2AH7JL.cjs.map +1 -0
- package/dist/{chunk-NJCK6V6U.cjs → chunk-EATIFPKP.cjs} +4 -60
- package/dist/chunk-EATIFPKP.cjs.map +1 -0
- package/dist/{chunk-B3LZITVF.cjs → chunk-EHP6OH5D.cjs} +11 -451
- package/dist/chunk-EHP6OH5D.cjs.map +1 -0
- package/dist/{chunk-775S43W7.cjs → chunk-ENGL7P3I.cjs} +31 -31
- package/dist/{chunk-775S43W7.cjs.map → chunk-ENGL7P3I.cjs.map} +1 -1
- package/dist/{chunk-VZCPMXWC.cjs → chunk-FKFQCK3C.cjs} +4 -4
- package/dist/{chunk-VZCPMXWC.cjs.map → chunk-FKFQCK3C.cjs.map} +1 -1
- package/dist/{chunk-6UTKM5AB.cjs → chunk-GKVE5JGB.cjs} +76 -76
- package/dist/chunk-GKVE5JGB.cjs.map +1 -0
- package/dist/{chunk-Q6CLWOP2.cjs → chunk-GPX5VC57.cjs} +50 -50
- package/dist/{chunk-Q6CLWOP2.cjs.map → chunk-GPX5VC57.cjs.map} +1 -1
- package/dist/{chunk-WAV762GP.cjs → chunk-GQXPNIRE.cjs} +6 -6
- package/dist/{chunk-WAV762GP.cjs.map → chunk-GQXPNIRE.cjs.map} +1 -1
- package/dist/chunk-GX2EBMJW.cjs +133 -0
- package/dist/chunk-GX2EBMJW.cjs.map +1 -0
- package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
- package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
- package/dist/chunk-HYUKPHCT.cjs +66 -0
- package/dist/chunk-HYUKPHCT.cjs.map +1 -0
- package/dist/{chunk-NLSWDP42.cjs → chunk-JQLWKNJO.cjs} +22 -12
- package/dist/chunk-JQLWKNJO.cjs.map +1 -0
- package/dist/{chunk-CKCG4NDB.cjs → chunk-JZEYHDWJ.cjs} +75 -75
- package/dist/{chunk-CKCG4NDB.cjs.map → chunk-JZEYHDWJ.cjs.map} +1 -1
- package/dist/{chunk-PGJYD67F.cjs → chunk-KNGZZC4O.cjs} +7 -6
- package/dist/chunk-KNGZZC4O.cjs.map +1 -0
- package/dist/{chunk-W6INT5GS.cjs → chunk-KP5AITQ4.cjs} +10 -10
- package/dist/{chunk-W6INT5GS.cjs.map → chunk-KP5AITQ4.cjs.map} +1 -1
- package/dist/{chunk-YYPZOEED.cjs → chunk-LHWOKOMP.cjs} +23 -2
- package/dist/chunk-LHWOKOMP.cjs.map +1 -0
- package/dist/{chunk-WXUU3COI.cjs → chunk-MZ2KZXNU.cjs} +3 -3
- package/dist/{chunk-WXUU3COI.cjs.map → chunk-MZ2KZXNU.cjs.map} +1 -1
- package/dist/chunk-NAJN32MF.cjs +154 -0
- package/dist/chunk-NAJN32MF.cjs.map +1 -0
- package/dist/{chunk-557MJ4IH.cjs → chunk-NLOETJCB.cjs} +17 -154
- package/dist/chunk-NLOETJCB.cjs.map +1 -0
- package/dist/{chunk-4XJEHKVZ.cjs → chunk-PIYYBPHH.cjs} +4 -4
- package/dist/{chunk-4XJEHKVZ.cjs.map → chunk-PIYYBPHH.cjs.map} +1 -1
- package/dist/chunk-Q3XJUXID.cjs +4774 -0
- package/dist/chunk-Q3XJUXID.cjs.map +1 -0
- package/dist/{chunk-325GVZE6.cjs → chunk-Q6DQGGP4.cjs} +3 -3
- package/dist/{chunk-325GVZE6.cjs.map → chunk-Q6DQGGP4.cjs.map} +1 -1
- package/dist/chunk-QFXILJMJ.cjs +458 -0
- package/dist/chunk-QFXILJMJ.cjs.map +1 -0
- package/dist/{chunk-QQWHG3KF.cjs → chunk-RYVZDFVO.cjs} +5 -5
- package/dist/{chunk-QQWHG3KF.cjs.map → chunk-RYVZDFVO.cjs.map} +1 -1
- package/dist/{chunk-EOG6OT5I.cjs → chunk-TXP2N3DC.cjs} +4 -4
- package/dist/{chunk-EOG6OT5I.cjs.map → chunk-TXP2N3DC.cjs.map} +1 -1
- package/dist/{chunk-KXIRVKCJ.cjs → chunk-UUENH4BJ.cjs} +3 -3
- package/dist/{chunk-KXIRVKCJ.cjs.map → chunk-UUENH4BJ.cjs.map} +1 -1
- package/dist/chunk-VJ5ZLRBD.cjs +27 -0
- package/dist/chunk-VJ5ZLRBD.cjs.map +1 -0
- package/dist/{chunk-3GWWOYGS.cjs → chunk-W6B3RYTX.cjs} +4 -4
- package/dist/{chunk-3GWWOYGS.cjs.map → chunk-W6B3RYTX.cjs.map} +1 -1
- package/dist/chunk-WOOOMTTA.cjs +19 -0
- package/dist/chunk-WOOOMTTA.cjs.map +1 -0
- package/dist/{chunk-CJYWHUZR.cjs → chunk-XCKHOXRP.cjs} +4 -4
- package/dist/{chunk-CJYWHUZR.cjs.map → chunk-XCKHOXRP.cjs.map} +1 -1
- package/dist/{chunk-6WMMZLEV.cjs → chunk-XJEXFEWG.cjs} +2 -27
- package/dist/chunk-XJEXFEWG.cjs.map +1 -0
- package/dist/chunk-XK4TVJKD.cjs +73 -0
- package/dist/chunk-XK4TVJKD.cjs.map +1 -0
- package/dist/chunk-XTR26TNE.cjs +1358 -0
- package/dist/chunk-XTR26TNE.cjs.map +1 -0
- package/dist/{chunk-E7TE2WVT.cjs → chunk-ZVEW3JBT.cjs} +3 -3
- package/dist/{chunk-E7TE2WVT.cjs.map → chunk-ZVEW3JBT.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +70 -70
- package/dist/components/ZoomSlider.d.ts +25 -0
- package/dist/components/ZoomSlider.js +59 -0
- package/dist/components/ZoomSlider.js.map +7 -0
- package/dist/connect/docx.cjs +20 -20
- package/dist/connect/index.cjs +1150 -1232
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/viewer.cjs +40 -34
- package/dist/connection/ai.d.ts +1 -1
- package/dist/connection/files/ConnectedNewFileMenu.d.ts +2 -1
- package/dist/connection/files/ConnectedNewFileMenu.js +9 -3
- package/dist/connection/files/ConnectedNewFileMenu.js.map +2 -2
- package/dist/connection/files/explorer/ConnectedFilesExplorer.js +1 -1
- package/dist/connection/files/explorer/ConnectedFilesExplorer.js.map +2 -2
- package/dist/connection/files/explorer/FileTiles.js +1 -1
- package/dist/connection/files/explorer/FileTiles.js.map +2 -2
- package/dist/connection/files/fields/documentField.js +1 -1
- package/dist/connection/files/fields/documentField.js.map +2 -2
- package/dist/connection/files/grid/documentColumns.js +1 -1
- package/dist/connection/files/grid/documentColumns.js.map +2 -2
- package/dist/connection/files/page/DocumentsFilterBarActions.js +17 -28
- package/dist/connection/files/page/DocumentsFilterBarActions.js.map +2 -2
- package/dist/connection/mail/useMailboxDefaults.js +1 -1
- package/dist/connection/mail/useMailboxDefaults.js.map +2 -2
- package/dist/connection/panels/useSessionPanelMode.js +3 -2
- package/dist/connection/panels/useSessionPanelMode.js.map +2 -2
- package/dist/connection/presentation/ClippingMediaViewer.d.ts +12 -0
- package/dist/connection/presentation/ClippingMediaViewer.js +153 -0
- package/dist/connection/presentation/ClippingMediaViewer.js.map +7 -0
- package/dist/connection/presentation/ClippingPdfViewer.d.ts +22 -0
- package/dist/connection/presentation/ClippingPdfViewer.js +75 -0
- package/dist/connection/presentation/ClippingPdfViewer.js.map +7 -0
- package/dist/connection/presentation/ConnectedPresentation.d.ts +12 -0
- package/dist/connection/presentation/ConnectedPresentation.js +100 -0
- package/dist/connection/presentation/ConnectedPresentation.js.map +7 -0
- package/dist/connection/presentation/ConnectedSlidesTab.d.ts +20 -0
- package/dist/connection/presentation/ConnectedSlidesTab.js +220 -0
- package/dist/connection/presentation/ConnectedSlidesTab.js.map +7 -0
- package/dist/connection/presentation/CropClipDialog.d.ts +11 -0
- package/dist/connection/presentation/CropClipDialog.js +86 -0
- package/dist/connection/presentation/CropClipDialog.js.map +7 -0
- package/dist/connection/presentation/GenerateTile.d.ts +4 -0
- package/dist/connection/presentation/GenerateTile.js +24 -0
- package/dist/connection/presentation/GenerateTile.js.map +7 -0
- package/dist/connection/presentation/LabelColumnMenu.d.ts +8 -0
- package/dist/connection/presentation/LabelColumnMenu.js +38 -0
- package/dist/connection/presentation/LabelColumnMenu.js.map +7 -0
- package/dist/connection/presentation/PresentationDialogs.d.ts +39 -0
- package/dist/connection/presentation/PresentationDialogs.js +295 -0
- package/dist/connection/presentation/PresentationDialogs.js.map +7 -0
- package/dist/connection/presentation/PresentationFileCard.d.ts +10 -0
- package/dist/connection/presentation/PresentationFileCard.js +35 -0
- package/dist/connection/presentation/PresentationFileCard.js.map +7 -0
- package/dist/connection/presentation/PresentationPill.d.ts +8 -0
- package/dist/connection/presentation/PresentationPill.js +44 -0
- package/dist/connection/presentation/PresentationPill.js.map +7 -0
- package/dist/connection/presentation/PresentationSlot.d.ts +7 -0
- package/dist/connection/presentation/PresentationSlot.js +35 -0
- package/dist/connection/presentation/PresentationSlot.js.map +7 -0
- package/dist/connection/presentation/requests.d.ts +16 -0
- package/dist/connection/presentation/requests.js +20 -0
- package/dist/connection/presentation/requests.js.map +7 -0
- package/dist/connection/presentation/useImageGeneration.d.ts +11 -0
- package/dist/connection/presentation/useImageGeneration.js +66 -0
- package/dist/connection/presentation/useImageGeneration.js.map +7 -0
- package/dist/connection/presentation/useLabelColumns.d.ts +15 -0
- package/dist/connection/presentation/useLabelColumns.js +33 -0
- package/dist/connection/presentation/useLabelColumns.js.map +7 -0
- package/dist/connection/presentation/usePresentationController.d.ts +15 -0
- package/dist/connection/presentation/usePresentationController.js +118 -0
- package/dist/connection/presentation/usePresentationController.js.map +7 -0
- package/dist/connection/presentation/usePresentationFiles.d.ts +44 -0
- package/dist/connection/presentation/usePresentationFiles.js +307 -0
- package/dist/connection/presentation/usePresentationFiles.js.map +7 -0
- package/dist/connection/presentation/useViewerClipping.d.ts +14 -0
- package/dist/connection/presentation/useViewerClipping.js +18 -0
- package/dist/connection/presentation/useViewerClipping.js.map +7 -0
- package/dist/connection/shell/ConnectedAppShell.js +5 -1
- package/dist/connection/shell/ConnectedAppShell.js.map +2 -2
- package/dist/connection/viewer/CleanViewControl.d.ts +8 -0
- package/dist/connection/viewer/CleanViewControl.js +76 -0
- package/dist/connection/viewer/CleanViewControl.js.map +7 -0
- package/dist/connection/viewer/ConnectedDocumentViewer.js +28 -29
- package/dist/connection/viewer/ConnectedDocumentViewer.js.map +2 -2
- package/dist/connection/viewer/ViewerCropModal.d.ts +5 -0
- package/dist/connection/viewer/ViewerCropModal.js +22 -0
- package/dist/connection/viewer/ViewerCropModal.js.map +7 -0
- package/dist/connection/viewer/ViewerPdfPane.d.ts +3 -1
- package/dist/connection/viewer/ViewerPdfPane.js +37 -0
- package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
- package/dist/connection/viewer/drafts.js +6 -4
- package/dist/connection/viewer/drafts.js.map +2 -2
- package/dist/connection/viewer/shareDocument.d.ts +11 -0
- package/dist/connection/viewer/shareDocument.js +11 -0
- package/dist/connection/viewer/shareDocument.js.map +7 -0
- package/dist/connection/viewer/slidesTabChunk.d.ts +2 -0
- package/dist/connection/viewer/slidesTabChunk.js +9 -0
- package/dist/connection/viewer/slidesTabChunk.js.map +7 -0
- package/dist/connection/viewer/useCleanView.d.ts +14 -0
- package/dist/connection/viewer/useCleanView.js +29 -0
- package/dist/connection/viewer/useCleanView.js.map +7 -0
- package/dist/connection/viewer/useViewedDocument.d.ts +1 -0
- package/dist/connection/viewer/useViewedDocument.js +9 -1
- package/dist/connection/viewer/useViewedDocument.js.map +2 -2
- package/dist/connection/viewer/useViewerTabs.js +18 -4
- package/dist/connection/viewer/useViewerTabs.js.map +2 -2
- package/dist/connection/workflows/ConnectedWorkflowStart.d.ts +14 -2
- package/dist/connection/workflows/ConnectedWorkflowStart.js +5 -2
- package/dist/connection/workflows/ConnectedWorkflowStart.js.map +2 -2
- package/dist/dashboards/index.cjs +1 -1
- package/dist/databases/index.cjs +49 -49
- package/dist/document-tools/DocumentToolButtons.d.ts +2 -0
- package/dist/document-tools/DocumentToolButtons.js +22 -1
- package/dist/document-tools/DocumentToolButtons.js.map +2 -2
- package/dist/document-tools/index.cjs +16 -12
- package/dist/document-tools/index.d.ts +1 -1
- package/dist/document-tools/index.js +2 -0
- package/dist/document-tools/index.js.map +2 -2
- package/dist/embed/index.cjs +41 -39
- package/dist/files/GridViewImpl.js +1 -1
- package/dist/files/GridViewImpl.js.map +2 -2
- package/dist/files/ViewerChrome.d.ts +5 -1
- package/dist/files/ViewerChrome.js +16 -6
- package/dist/files/ViewerChrome.js.map +2 -2
- package/dist/files/index.cjs +225 -225
- package/dist/files/navigator/DocumentSearchList.js +1 -1
- package/dist/files/navigator/DocumentSearchList.js.map +2 -2
- package/dist/index.cjs +1666 -1664
- package/dist/index.cjs.map +1 -1
- package/dist/presentation/BoxActionBar.d.ts +11 -0
- package/dist/presentation/BoxActionBar.js +182 -0
- package/dist/presentation/BoxActionBar.js.map +7 -0
- package/dist/presentation/ClipActionBar.d.ts +26 -0
- package/dist/presentation/ClipActionBar.js +103 -0
- package/dist/presentation/ClipActionBar.js.map +7 -0
- package/dist/presentation/ClipCaptureOverlay.d.ts +14 -0
- package/dist/presentation/ClipCaptureOverlay.js +69 -0
- package/dist/presentation/ClipCaptureOverlay.js.map +7 -0
- package/dist/presentation/ClipImage.d.ts +21 -0
- package/dist/presentation/ClipImage.js +119 -0
- package/dist/presentation/ClipImage.js.map +7 -0
- package/dist/presentation/ClipTray.d.ts +11 -0
- package/dist/presentation/ClipTray.js +152 -0
- package/dist/presentation/ClipTray.js.map +7 -0
- package/dist/presentation/ClipViewControls.d.ts +11 -0
- package/dist/presentation/ClipViewControls.js +142 -0
- package/dist/presentation/ClipViewControls.js.map +7 -0
- package/dist/presentation/DesignMenu.d.ts +8 -0
- package/dist/presentation/DesignMenu.js +199 -0
- package/dist/presentation/DesignMenu.js.map +7 -0
- package/dist/presentation/LayoutMenu.d.ts +17 -0
- package/dist/presentation/LayoutMenu.js +122 -0
- package/dist/presentation/LayoutMenu.js.map +7 -0
- package/dist/presentation/MediaClip.d.ts +15 -0
- package/dist/presentation/MediaClip.js +67 -0
- package/dist/presentation/MediaClip.js.map +7 -0
- package/dist/presentation/Notice.d.ts +6 -0
- package/dist/presentation/Notice.js +43 -0
- package/dist/presentation/Notice.js.map +7 -0
- package/dist/presentation/PresentationStage.d.ts +32 -0
- package/dist/presentation/PresentationStage.js +232 -0
- package/dist/presentation/PresentationStage.js.map +7 -0
- package/dist/presentation/PresenterView.d.ts +16 -0
- package/dist/presentation/PresenterView.js +69 -0
- package/dist/presentation/PresenterView.js.map +7 -0
- package/dist/presentation/SlideDecor.d.ts +25 -0
- package/dist/presentation/SlideDecor.js +189 -0
- package/dist/presentation/SlideDecor.js.map +7 -0
- package/dist/presentation/SlidesEditor.d.ts +25 -0
- package/dist/presentation/SlidesEditor.js +359 -0
- package/dist/presentation/SlidesEditor.js.map +7 -0
- package/dist/presentation/StageBox.d.ts +30 -0
- package/dist/presentation/StageBox.js +281 -0
- package/dist/presentation/StageBox.js.map +7 -0
- package/dist/presentation/StageItem.d.ts +37 -0
- package/dist/presentation/StageItem.js +211 -0
- package/dist/presentation/StageItem.js.map +7 -0
- package/dist/presentation/box-style.d.ts +6 -0
- package/dist/presentation/box-style.js +19 -0
- package/dist/presentation/box-style.js.map +7 -0
- package/dist/presentation/boxes.d.ts +105 -0
- package/dist/presentation/boxes.js +103 -0
- package/dist/presentation/boxes.js.map +7 -0
- package/dist/presentation/draw-boxes.d.ts +8 -0
- package/dist/presentation/draw-boxes.js +130 -0
- package/dist/presentation/draw-boxes.js.map +7 -0
- package/dist/presentation/export-boxes.d.ts +10 -0
- package/dist/presentation/export-boxes.js +74 -0
- package/dist/presentation/export-boxes.js.map +7 -0
- package/dist/presentation/export-pptx.d.ts +16 -0
- package/dist/presentation/export-pptx.js +194 -0
- package/dist/presentation/export-pptx.js.map +7 -0
- package/dist/presentation/import-pptx.d.ts +35 -0
- package/dist/presentation/import-pptx.js +659 -0
- package/dist/presentation/import-pptx.js.map +7 -0
- package/dist/presentation/merge-outside-edits.d.ts +12 -0
- package/dist/presentation/merge-outside-edits.js +35 -0
- package/dist/presentation/merge-outside-edits.js.map +7 -0
- package/dist/presentation/model.d.ts +201 -0
- package/dist/presentation/model.js +271 -0
- package/dist/presentation/model.js.map +7 -0
- package/dist/presentation/panel-id.d.ts +34 -0
- package/dist/presentation/panel-id.js +24 -0
- package/dist/presentation/panel-id.js.map +7 -0
- package/dist/presentation/persistence.d.ts +121 -0
- package/dist/presentation/persistence.js +141 -0
- package/dist/presentation/persistence.js.map +7 -0
- package/dist/presentation/pptx-data.d.ts +22 -0
- package/dist/presentation/pptx-data.js +83 -0
- package/dist/presentation/pptx-data.js.map +7 -0
- package/dist/presentation/pptx-xml.d.ts +90 -0
- package/dist/presentation/pptx-xml.js +333 -0
- package/dist/presentation/pptx-xml.js.map +7 -0
- package/dist/presentation/render-slides.d.ts +58 -0
- package/dist/presentation/render-slides.js +309 -0
- package/dist/presentation/render-slides.js.map +7 -0
- package/dist/presentation/saved-boxes.d.ts +11 -0
- package/dist/presentation/saved-boxes.js +80 -0
- package/dist/presentation/saved-boxes.js.map +7 -0
- package/dist/presentation/slide-layout.d.ts +54 -0
- package/dist/presentation/slide-layout.js +117 -0
- package/dist/presentation/slide-layout.js.map +7 -0
- package/dist/presentation/stage-videos.d.ts +5 -0
- package/dist/presentation/stage-videos.js +19 -0
- package/dist/presentation/stage-videos.js.map +7 -0
- package/dist/presentation/store.d.ts +203 -0
- package/dist/presentation/store.js +429 -0
- package/dist/presentation/store.js.map +7 -0
- package/dist/presentation/theme.d.ts +102 -0
- package/dist/presentation/theme.js +276 -0
- package/dist/presentation/theme.js.map +7 -0
- package/dist/presentation/useClipDrag.d.ts +26 -0
- package/dist/presentation/useClipDrag.js +65 -0
- package/dist/presentation/useClipDrag.js.map +7 -0
- package/dist/presentation/useObjectUrl.d.ts +6 -0
- package/dist/presentation/useObjectUrl.js +15 -0
- package/dist/presentation/useObjectUrl.js.map +7 -0
- package/dist/presentation/usePresenterKeys.d.ts +13 -0
- package/dist/presentation/usePresenterKeys.js +62 -0
- package/dist/presentation/usePresenterKeys.js.map +7 -0
- package/dist/settings/index.cjs +151 -150
- package/dist/shell/PanelPortal.js +1 -0
- package/dist/shell/PanelPortal.js.map +2 -2
- package/dist/shell/index.cjs +112 -110
- package/dist/shell/panel-windows.d.ts +2 -0
- package/dist/shell/panel-windows.js +7 -2
- package/dist/shell/panel-windows.js.map +2 -2
- package/dist/studio/index.cjs +28 -26
- package/dist/studio/index.cjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/workflow-canvas/index.cjs +55 -54
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +6 -5
- package/dist/ConnectedCallDock-WER7R222.cjs.map +0 -1
- package/dist/DocumentReviewCard-BPIAJJED.cjs.map +0 -1
- package/dist/FilesViewerDialog-67WK3TZC.cjs.map +0 -1
- package/dist/GridViewImpl-ZMJJWTOM.cjs.map +0 -1
- package/dist/WorkspaceTableView-J3C6VH4T.cjs.map +0 -1
- package/dist/ai-IM4A23YT.cjs.map +0 -1
- package/dist/chunk-557MJ4IH.cjs.map +0 -1
- package/dist/chunk-6UTKM5AB.cjs.map +0 -1
- package/dist/chunk-6WMMZLEV.cjs.map +0 -1
- package/dist/chunk-B3LZITVF.cjs.map +0 -1
- package/dist/chunk-BUVIBHFU.cjs.map +0 -1
- package/dist/chunk-CPR6EHG7.cjs.map +0 -1
- package/dist/chunk-HA66DHW6.cjs.map +0 -1
- package/dist/chunk-NJCK6V6U.cjs.map +0 -1
- package/dist/chunk-NLSWDP42.cjs.map +0 -1
- package/dist/chunk-PGJYD67F.cjs.map +0 -1
- package/dist/chunk-X36UR4A7.cjs.map +0 -1
- package/dist/chunk-YYPZOEED.cjs.map +0 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkWOOOMTTA_cjs = require('./chunk-WOOOMTTA.cjs');
|
|
5
|
+
var chunkXK4TVJKD_cjs = require('./chunk-XK4TVJKD.cjs');
|
|
6
|
+
var chunkXTR26TNE_cjs = require('./chunk-XTR26TNE.cjs');
|
|
7
|
+
require('./chunk-VJ5ZLRBD.cjs');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
10
|
+
var ui = require('@arbidocs/react/ui');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
|
|
13
|
+
var WHOLE = { x: 0, y: 0, w: 1, h: 1 };
|
|
14
|
+
function ClippingMediaViewer({
|
|
15
|
+
file,
|
|
16
|
+
kind,
|
|
17
|
+
documentId,
|
|
18
|
+
fileName
|
|
19
|
+
}) {
|
|
20
|
+
const url = chunkWOOOMTTA_cjs.useObjectUrl(file);
|
|
21
|
+
const videoRef = react.useRef(null);
|
|
22
|
+
const imageRef = react.useRef(null);
|
|
23
|
+
const [natural, setNatural] = react.useState(null);
|
|
24
|
+
const [time, setTime] = react.useState(0);
|
|
25
|
+
const [duration, setDuration] = react.useState(0);
|
|
26
|
+
const [playing, setPlaying] = react.useState(false);
|
|
27
|
+
react.useEffect(() => {
|
|
28
|
+
const media = videoRef.current ?? imageRef.current;
|
|
29
|
+
if (!media || !url) return;
|
|
30
|
+
const read = () => {
|
|
31
|
+
const width = media instanceof HTMLVideoElement ? media.videoWidth : media.naturalWidth;
|
|
32
|
+
const height = media instanceof HTMLVideoElement ? media.videoHeight : media.naturalHeight;
|
|
33
|
+
if (width && height) setNatural(width / height);
|
|
34
|
+
if (media instanceof HTMLVideoElement) setDuration(media.duration || 0);
|
|
35
|
+
};
|
|
36
|
+
read();
|
|
37
|
+
const event = media instanceof HTMLVideoElement ? "loadedmetadata" : "load";
|
|
38
|
+
media.addEventListener(event, read);
|
|
39
|
+
return () => media.removeEventListener(event, read);
|
|
40
|
+
}, [url]);
|
|
41
|
+
const capture = react.useCallback(
|
|
42
|
+
({ rect, aspect }) => {
|
|
43
|
+
const start = kind === "video" ? videoRef.current?.currentTime ?? 0 : void 0;
|
|
44
|
+
chunkXTR26TNE_cjs.usePresentation.getState().addClip({
|
|
45
|
+
kind,
|
|
46
|
+
documentId,
|
|
47
|
+
fileName,
|
|
48
|
+
page: 1,
|
|
49
|
+
rect,
|
|
50
|
+
aspect,
|
|
51
|
+
masks: [],
|
|
52
|
+
source: file,
|
|
53
|
+
start,
|
|
54
|
+
caption: chunkXTR26TNE_cjs.mediaCaption(fileName, start)
|
|
55
|
+
});
|
|
56
|
+
},
|
|
57
|
+
[kind, documentId, fileName, file]
|
|
58
|
+
);
|
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "clipping-media-viewer", children: [
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border bg-muted px-3 py-1.5 text-xs text-muted-foreground", children: kind === "video" ? "Drag over the video to clip that area from this moment, or add the whole frame." : "Drag over the part of the image to show it in the presentation." }),
|
|
61
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative min-h-0 flex-1 bg-black", style: { containerType: "size" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
62
|
+
"div",
|
|
63
|
+
{
|
|
64
|
+
className: "absolute inset-0 m-auto",
|
|
65
|
+
style: natural ? {
|
|
66
|
+
width: `min(100cqw, calc(100cqh * ${natural}))`,
|
|
67
|
+
height: `min(100cqh, calc(100cqw / ${natural}))`
|
|
68
|
+
} : { width: "100%", height: "100%" },
|
|
69
|
+
children: [
|
|
70
|
+
kind === "video" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
"video",
|
|
72
|
+
{
|
|
73
|
+
ref: videoRef,
|
|
74
|
+
src: url,
|
|
75
|
+
playsInline: true,
|
|
76
|
+
preload: "auto",
|
|
77
|
+
className: "block h-full w-full",
|
|
78
|
+
onTimeUpdate: (event) => setTime(event.currentTarget.currentTime),
|
|
79
|
+
onPlay: () => setPlaying(true),
|
|
80
|
+
onPause: () => setPlaying(false)
|
|
81
|
+
}
|
|
82
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
"img",
|
|
84
|
+
{
|
|
85
|
+
ref: imageRef,
|
|
86
|
+
src: url,
|
|
87
|
+
alt: fileName,
|
|
88
|
+
draggable: false,
|
|
89
|
+
className: "block h-full w-full select-none"
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
natural && /* @__PURE__ */ jsxRuntime.jsx(chunkXK4TVJKD_cjs.ClipCaptureOverlay, { page: 1, onCapture: capture })
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
) }),
|
|
96
|
+
kind === "video" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-t border-border px-3 py-1.5", children: [
|
|
97
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
98
|
+
ui.Button,
|
|
99
|
+
{
|
|
100
|
+
type: "button",
|
|
101
|
+
size: "icon",
|
|
102
|
+
variant: "ghost",
|
|
103
|
+
className: "size-8",
|
|
104
|
+
onClick: () => {
|
|
105
|
+
const v = videoRef.current;
|
|
106
|
+
if (!v) return;
|
|
107
|
+
if (v.paused) void v.play();
|
|
108
|
+
else v.pause();
|
|
109
|
+
},
|
|
110
|
+
"aria-label": playing ? "Pause" : "Play",
|
|
111
|
+
children: playing ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pause, { className: "size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { className: "size-4" })
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
115
|
+
"input",
|
|
116
|
+
{
|
|
117
|
+
type: "range",
|
|
118
|
+
min: 0,
|
|
119
|
+
max: duration || 0,
|
|
120
|
+
step: 0.1,
|
|
121
|
+
value: time,
|
|
122
|
+
onChange: (event) => {
|
|
123
|
+
const v = videoRef.current;
|
|
124
|
+
if (v) v.currentTime = Number(event.target.value);
|
|
125
|
+
},
|
|
126
|
+
className: "min-w-0 flex-1",
|
|
127
|
+
"aria-label": "Position in the video"
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs tabular-nums text-muted-foreground", children: [
|
|
131
|
+
chunkXTR26TNE_cjs.formatTime(time),
|
|
132
|
+
" / ",
|
|
133
|
+
chunkXTR26TNE_cjs.formatTime(duration)
|
|
134
|
+
] }),
|
|
135
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
136
|
+
ui.Button,
|
|
137
|
+
{
|
|
138
|
+
type: "button",
|
|
139
|
+
size: "sm",
|
|
140
|
+
variant: "outline",
|
|
141
|
+
disabled: !natural,
|
|
142
|
+
onClick: () => natural && capture({ rect: WHOLE, aspect: natural }),
|
|
143
|
+
"data-testid": "clip-whole-frame",
|
|
144
|
+
children: [
|
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-1 size-4" }),
|
|
146
|
+
"Add whole frame"
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
] })
|
|
151
|
+
] });
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
exports.ClippingMediaViewer = ClippingMediaViewer;
|
|
155
|
+
//# sourceMappingURL=ClippingMediaViewer-B6WG7Q64.cjs.map
|
|
156
|
+
//# sourceMappingURL=ClippingMediaViewer-B6WG7Q64.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connection/presentation/ClippingMediaViewer.tsx"],"names":["useObjectUrl","useRef","useState","useEffect","useCallback","usePresentation","mediaCaption","jsxs","jsx","ClipCaptureOverlay","Button","Pause","Play","formatTime","Plus"],"mappings":"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","file":"ClippingMediaViewer-B6WG7Q64.cjs","sourcesContent":["/**\n * An image or a video while clipping for a presentation: drag over it and that area becomes a clip\n * (of a video: from the moment on screen). A video has its own small bar (play / pause, scrub, and\n * \"Add whole frame\"), since the drag area covers the picture.\n */\n\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport { Pause, Play, Plus } from 'lucide-react'\nimport { Button } from '@arbidocs/react/ui'\nimport { ClipCaptureOverlay } from '../../presentation/ClipCaptureOverlay'\nimport { formatTime, mediaCaption, type Rect } from '../../presentation/model'\nimport { usePresentation } from '../../presentation/store'\nimport { useObjectUrl } from '../../presentation/useObjectUrl'\n\nexport interface ClippingMediaViewerProps {\n file: Blob\n kind: 'image' | 'video'\n documentId: string\n fileName: string\n}\n\nconst WHOLE: Rect = { x: 0, y: 0, w: 1, h: 1 }\n\nexport function ClippingMediaViewer({\n file,\n kind,\n documentId,\n fileName,\n}: ClippingMediaViewerProps) {\n const url = useObjectUrl(file)\n const videoRef = useRef<HTMLVideoElement>(null)\n const imageRef = useRef<HTMLImageElement>(null)\n // The picture's own width / height, once known.\n const [natural, setNatural] = useState<number | null>(null)\n const [time, setTime] = useState(0)\n const [duration, setDuration] = useState(0)\n const [playing, setPlaying] = useState(false)\n\n // Its size, read as soon as it is known: at once if it already loaded (a cached file can load\n // before any handler is attached), else when it does.\n useEffect(() => {\n const media = videoRef.current ?? imageRef.current\n if (!media || !url) return\n const read = () => {\n const width = media instanceof HTMLVideoElement ? media.videoWidth : media.naturalWidth\n const height = media instanceof HTMLVideoElement ? media.videoHeight : media.naturalHeight\n if (width && height) setNatural(width / height)\n if (media instanceof HTMLVideoElement) setDuration(media.duration || 0)\n }\n read()\n const event = media instanceof HTMLVideoElement ? 'loadedmetadata' : 'load'\n media.addEventListener(event, read)\n return () => media.removeEventListener(event, read)\n }, [url])\n\n const capture = useCallback(\n ({ rect, aspect }: { rect: Rect; aspect: number }) => {\n const start = kind === 'video' ? (videoRef.current?.currentTime ?? 0) : undefined\n usePresentation.getState().addClip({\n kind,\n documentId,\n fileName,\n page: 1,\n rect,\n aspect,\n masks: [],\n source: file,\n start,\n caption: mediaCaption(fileName, start),\n })\n },\n [kind, documentId, fileName, file]\n )\n\n return (\n <div className=\"flex h-full min-h-0 flex-col\" data-testid=\"clipping-media-viewer\">\n <div className=\"border-b border-border bg-muted px-3 py-1.5 text-xs text-muted-foreground\">\n {kind === 'video'\n ? 'Drag over the video to clip that area from this moment, or add the whole frame.'\n : 'Drag over the part of the image to show it in the presentation.'}\n </div>\n <div className=\"relative min-h-0 flex-1 bg-black\" style={{ containerType: 'size' }}>\n {/* The picture as large as fits, aspect kept; the drag area covers exactly it. */}\n <div\n className=\"absolute inset-0 m-auto\"\n style={\n natural\n ? {\n width: `min(100cqw, calc(100cqh * ${natural}))`,\n height: `min(100cqh, calc(100cqw / ${natural}))`,\n }\n : { width: '100%', height: '100%' }\n }\n >\n {kind === 'video' ? (\n <video\n ref={videoRef}\n src={url}\n playsInline\n preload=\"auto\"\n className=\"block h-full w-full\"\n onTimeUpdate={(event) => setTime(event.currentTarget.currentTime)}\n onPlay={() => setPlaying(true)}\n onPause={() => setPlaying(false)}\n />\n ) : (\n <img\n ref={imageRef}\n src={url}\n alt={fileName}\n draggable={false}\n className=\"block h-full w-full select-none\"\n />\n )}\n {natural && <ClipCaptureOverlay page={1} onCapture={capture} />}\n </div>\n </div>\n {kind === 'video' && (\n <div className=\"flex items-center gap-2 border-t border-border px-3 py-1.5\">\n <Button\n type=\"button\"\n size=\"icon\"\n variant=\"ghost\"\n className=\"size-8\"\n onClick={() => {\n const v = videoRef.current\n if (!v) return\n if (v.paused) void v.play()\n else v.pause()\n }}\n aria-label={playing ? 'Pause' : 'Play'}\n >\n {playing ? <Pause className=\"size-4\" /> : <Play className=\"size-4\" />}\n </Button>\n <input\n type=\"range\"\n min={0}\n max={duration || 0}\n step={0.1}\n value={time}\n onChange={(event) => {\n const v = videoRef.current\n if (v) v.currentTime = Number(event.target.value)\n }}\n className=\"min-w-0 flex-1\"\n aria-label=\"Position in the video\"\n />\n <span className=\"text-xs tabular-nums text-muted-foreground\">\n {formatTime(time)} / {formatTime(duration)}\n </span>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={!natural}\n onClick={() => natural && capture({ rect: WHOLE, aspect: natural })}\n data-testid=\"clip-whole-frame\"\n >\n <Plus className=\"mr-1 size-4\" />\n Add whole frame\n </Button>\n </div>\n )}\n </div>\n )\n}\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkXK4TVJKD_cjs = require('./chunk-XK4TVJKD.cjs');
|
|
5
|
+
var chunkXTR26TNE_cjs = require('./chunk-XTR26TNE.cjs');
|
|
6
|
+
require('./chunk-VJ5ZLRBD.cjs');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var documentTools = require('@arbidocs/react/document-tools');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
|
|
11
|
+
var NO_MASKS = { status: "ready", masks: /* @__PURE__ */ new Map() };
|
|
12
|
+
function useRedactionMasks(documentId, version, hasMarkup) {
|
|
13
|
+
const { client } = documentTools.useDocumentTools();
|
|
14
|
+
const [state, setState] = react.useState(hasMarkup ? { status: "loading" } : NO_MASKS);
|
|
15
|
+
react.useEffect(() => {
|
|
16
|
+
if (!hasMarkup) {
|
|
17
|
+
setState(NO_MASKS);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
let cancelled = false;
|
|
21
|
+
setState({ status: "loading" });
|
|
22
|
+
documentTools.createMarkupStore({ version, client }).load(documentId).then((layer) => {
|
|
23
|
+
if (cancelled) return;
|
|
24
|
+
const masks = /* @__PURE__ */ new Map();
|
|
25
|
+
for (const mark of layer.annotations) {
|
|
26
|
+
if (mark.kind !== "redaction" || mark.status === "rejected") continue;
|
|
27
|
+
masks.set(mark.page, [...masks.get(mark.page) ?? [], ...mark.rects]);
|
|
28
|
+
}
|
|
29
|
+
setState({ status: "ready", masks });
|
|
30
|
+
}).catch(() => !cancelled && setState({ status: "error" }));
|
|
31
|
+
return () => {
|
|
32
|
+
cancelled = true;
|
|
33
|
+
};
|
|
34
|
+
}, [client, documentId, version, hasMarkup]);
|
|
35
|
+
return state;
|
|
36
|
+
}
|
|
37
|
+
function Notice({ children }) {
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border bg-muted px-3 py-1.5 text-xs text-muted-foreground", children });
|
|
39
|
+
}
|
|
40
|
+
function ClippingPdfViewer({
|
|
41
|
+
documentId,
|
|
42
|
+
version,
|
|
43
|
+
fileName,
|
|
44
|
+
hasMarkup,
|
|
45
|
+
viewer: Viewer,
|
|
46
|
+
...viewerProps
|
|
47
|
+
}) {
|
|
48
|
+
const masks = useRedactionMasks(documentId, version, hasMarkup);
|
|
49
|
+
const file = viewerProps.file;
|
|
50
|
+
const capture = react.useCallback(
|
|
51
|
+
({ page, rect, aspect }) => {
|
|
52
|
+
if (masks.status !== "ready") return;
|
|
53
|
+
chunkXTR26TNE_cjs.usePresentation.getState().addClip({
|
|
54
|
+
kind: "pdf",
|
|
55
|
+
documentId,
|
|
56
|
+
version,
|
|
57
|
+
fileName,
|
|
58
|
+
page,
|
|
59
|
+
rect,
|
|
60
|
+
aspect,
|
|
61
|
+
masks: masks.masks.get(page) ?? [],
|
|
62
|
+
source: file
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
[masks, documentId, version, fileName, file]
|
|
66
|
+
);
|
|
67
|
+
const renderPageOverlay = react.useCallback(
|
|
68
|
+
({ pageNumber }) => masks.status === "ready" ? /* @__PURE__ */ jsxRuntime.jsx(chunkXK4TVJKD_cjs.ClipCaptureOverlay, { page: pageNumber, onCapture: capture }) : null,
|
|
69
|
+
[masks.status, capture]
|
|
70
|
+
);
|
|
71
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "clipping-pdf-viewer", children: [
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx(Notice, { children: masks.status === "loading" ? "Reading the redactions before clipping\u2026" : masks.status === "error" ? "Couldn't read this document's redactions, so it can't be clipped." : "Drag over the part of a page to show it in the presentation." }),
|
|
73
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(Viewer, { ...viewerProps, renderPageOverlay }) })
|
|
74
|
+
] });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
exports.ClippingPdfViewer = ClippingPdfViewer;
|
|
78
|
+
//# sourceMappingURL=ClippingPdfViewer-6GCVTV3V.cjs.map
|
|
79
|
+
//# sourceMappingURL=ClippingPdfViewer-6GCVTV3V.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connection/presentation/ClippingPdfViewer.tsx"],"names":["useDocumentTools","useState","useEffect","createMarkupStore","jsx","useCallback","usePresentation","ClipCaptureOverlay","jsxs"],"mappings":";;;;;;;;;AAsBA,IAAM,WAAsB,EAAE,MAAA,EAAQ,SAAS,KAAA,kBAAO,IAAI,KAAI,EAAE;AAGhE,SAAS,iBAAA,CAAkB,UAAA,EAAoB,OAAA,EAA6B,SAAA,EAAoB;AAC9F,EAAA,MAAM,EAAE,MAAA,EAAO,GAAIA,8BAAA,EAAiB;AACpC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,cAAA,CAAoB,YAAY,EAAE,MAAA,EAAQ,SAAA,EAAU,GAAI,QAAQ,CAAA;AAC1F,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,MAAA;AAAA,IACF;AACA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,QAAA,CAAS,EAAE,MAAA,EAAQ,SAAA,EAAW,CAAA;AAC9B,IAAAC,+BAAA,CAAkB,EAAE,OAAA,EAAS,MAAA,EAAQ,CAAA,CAClC,KAAK,UAAU,CAAA,CACf,IAAA,CAAK,CAAC,KAAA,KAAU;AACf,MAAA,IAAI,SAAA,EAAW;AACf,MAAA,MAAM,KAAA,uBAAY,GAAA,EAAoB;AACtC,MAAA,KAAA,MAAW,IAAA,IAAQ,MAAM,WAAA,EAAa;AACpC,QAAA,IAAI,IAAA,CAAK,IAAA,KAAS,WAAA,IAAe,IAAA,CAAK,WAAW,UAAA,EAAY;AAC7D,QAAA,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,IAAA,EAAM,CAAC,GAAI,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,IAAI,KAAK,EAAC,EAAI,GAAG,IAAA,CAAK,KAAK,CAAC,CAAA;AAAA,MACvE;AACA,MAAA,QAAA,CAAS,EAAE,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAO,CAAA;AAAA,IACrC,CAAC,CAAA,CACA,KAAA,CAAM,MAAM,CAAC,SAAA,IAAa,QAAA,CAAS,EAAE,MAAA,EAAQ,OAAA,EAAS,CAAC,CAAA;AAC1D,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,GAAG,CAAC,MAAA,EAAQ,UAAA,EAAY,OAAA,EAAS,SAAS,CAAC,CAAA;AAC3C,EAAA,OAAO,KAAA;AACT;AAaA,SAAS,MAAA,CAAO,EAAE,QAAA,EAAS,EAA4B;AACrD,EAAA,uBACEC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2EAAA,EACZ,QAAA,EACH,CAAA;AAEJ;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,UAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA,EAAQ,MAAA;AAAA,EACR,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,UAAA,EAAY,OAAA,EAAS,SAAS,CAAA;AAC9D,EAAA,MAAM,OAAO,WAAA,CAAY,IAAA;AAEzB,EAAA,MAAM,OAAA,GAAUC,iBAAA;AAAA,IACd,CAAC,EAAE,IAAA,EAAM,IAAA,EAAM,QAAO,KAAoD;AACxE,MAAA,IAAI,KAAA,CAAM,WAAW,OAAA,EAAS;AAC9B,MAAAC,iCAAA,CAAgB,QAAA,GAAW,OAAA,CAAQ;AAAA,QACjC,IAAA,EAAM,KAAA;AAAA,QACN,UAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,IAAA;AAAA,QACA,IAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAO,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,IAAI,KAAK,EAAC;AAAA,QACjC,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IAEH,CAAA;AAAA,IACA,CAAC,KAAA,EAAO,UAAA,EAAY,OAAA,EAAS,UAAU,IAAI;AAAA,GAC7C;AAEA,EAAA,MAAM,iBAAA,GAAoBD,iBAAA;AAAA,IACxB,CAAC,EAAE,UAAA,EAAW,KACZ,KAAA,CAAM,MAAA,KAAW,OAAA,mBACfD,cAAA,CAACG,oCAAA,EAAA,EAAmB,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,SAAS,CAAA,GACxD,IAAA;AAAA,IACN,CAAC,KAAA,CAAM,MAAA,EAAQ,OAAO;AAAA,GACxB;AAEA,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8BAAA,EAA+B,eAAY,qBAAA,EACxD,QAAA,EAAA;AAAA,oBAAAJ,cAAA,CAAC,MAAA,EAAA,EACE,gBAAM,MAAA,KAAW,SAAA,GACd,iDACA,KAAA,CAAM,MAAA,KAAW,OAAA,GACf,mEAAA,GACA,8DAAA,EACR,CAAA;AAAA,oBACAA,cAAA,CAAC,SAAI,SAAA,EAAU,gBAAA,EACb,yCAAC,MAAA,EAAA,EAAQ,GAAG,WAAA,EAAa,iBAAA,EAAsC,CAAA,EACjE;AAAA,GAAA,EACF,CAAA;AAEJ","file":"ClippingPdfViewer-6GCVTV3V.cjs","sourcesContent":["/**\n * The PDF while clipping for a presentation: drag over a page and the area becomes a clip in the\n * presentation (and goes on the current slide while that has fewer than two).\n *\n * Redactions are honoured: when the version has markup, its redaction marks (all but rejected\n * ones) are read first and every clip carries those over its area as black masks, so a redacted\n * passage never reaches a shared screen. Clipping waits for them, and stays off if they cannot be\n * read.\n */\n\nimport { useCallback, useEffect, useState, type ComponentType, type ReactNode } from 'react'\nimport { createMarkupStore, useDocumentTools } from '@arbidocs/react/document-tools'\nimport type { PdfViewerProps } from '@arbidocs/react/viewers'\nimport { ClipCaptureOverlay } from '../../presentation/ClipCaptureOverlay'\nimport type { Rect } from '../../presentation/model'\nimport { usePresentation } from '../../presentation/store'\n\ntype MaskState =\n | { status: 'loading' }\n | { status: 'error' }\n | { status: 'ready'; masks: ReadonlyMap<number, Rect[]> }\n\nconst NO_MASKS: MaskState = { status: 'ready', masks: new Map() }\n\n/** The version's redaction rectangles by page; none to read when it has no markup. */\nfunction useRedactionMasks(documentId: string, version: number | undefined, hasMarkup: boolean) {\n const { client } = useDocumentTools()\n const [state, setState] = useState<MaskState>(hasMarkup ? { status: 'loading' } : NO_MASKS)\n useEffect(() => {\n if (!hasMarkup) {\n setState(NO_MASKS)\n return\n }\n let cancelled = false\n setState({ status: 'loading' })\n createMarkupStore({ version, client })\n .load(documentId)\n .then((layer) => {\n if (cancelled) return\n const masks = new Map<number, Rect[]>()\n for (const mark of layer.annotations) {\n if (mark.kind !== 'redaction' || mark.status === 'rejected') continue\n masks.set(mark.page, [...(masks.get(mark.page) ?? []), ...mark.rects])\n }\n setState({ status: 'ready', masks })\n })\n .catch(() => !cancelled && setState({ status: 'error' }))\n return () => {\n cancelled = true\n }\n }, [client, documentId, version, hasMarkup])\n return state\n}\n\nexport interface ClippingPdfViewerProps extends Omit<PdfViewerProps, 'renderPageOverlay'> {\n file: Blob\n documentId: string\n /** The version on screen when it is an older one. */\n version?: number\n fileName: string\n /** The version has markup, which may hold redactions. */\n hasMarkup: boolean\n viewer: ComponentType<PdfViewerProps>\n}\n\nfunction Notice({ children }: { children: ReactNode }) {\n return (\n <div className=\"border-b border-border bg-muted px-3 py-1.5 text-xs text-muted-foreground\">\n {children}\n </div>\n )\n}\n\nexport function ClippingPdfViewer({\n documentId,\n version,\n fileName,\n hasMarkup,\n viewer: Viewer,\n ...viewerProps\n}: ClippingPdfViewerProps) {\n const masks = useRedactionMasks(documentId, version, hasMarkup)\n const file = viewerProps.file\n\n const capture = useCallback(\n ({ page, rect, aspect }: { page: number; rect: Rect; aspect: number }) => {\n if (masks.status !== 'ready') return\n usePresentation.getState().addClip({\n kind: 'pdf',\n documentId,\n version,\n fileName,\n page,\n rect,\n aspect,\n masks: masks.masks.get(page) ?? [],\n source: file,\n })\n // It joins the presentation's tray (the viewer's Presentation pill counts it).\n },\n [masks, documentId, version, fileName, file]\n )\n\n const renderPageOverlay = useCallback(\n ({ pageNumber }: { pageNumber: number }) =>\n masks.status === 'ready' ? (\n <ClipCaptureOverlay page={pageNumber} onCapture={capture} />\n ) : null,\n [masks.status, capture]\n )\n\n return (\n <div className=\"flex h-full min-h-0 flex-col\" data-testid=\"clipping-pdf-viewer\">\n <Notice>\n {masks.status === 'loading'\n ? 'Reading the redactions before clipping…'\n : masks.status === 'error'\n ? \"Couldn't read this document's redactions, so it can't be clipped.\"\n : 'Drag over the part of a page to show it in the presentation.'}\n </Notice>\n <div className=\"min-h-0 flex-1\">\n <Viewer {...viewerProps} renderPageOverlay={renderPageOverlay} />\n </div>\n </div>\n )\n}\n"]}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
require('./chunk-OAIOOVFN.cjs');
|
|
7
|
-
var chunkQMIHLJMH_cjs = require('./chunk-QMIHLJMH.cjs');
|
|
8
|
-
require('./chunk-JR2YSBD5.cjs');
|
|
9
|
-
require('./chunk-TMX7YFVM.cjs');
|
|
10
|
-
require('./chunk-3YZKDCWY.cjs');
|
|
11
|
-
require('./chunk-SJSGSHIT.cjs');
|
|
12
|
-
require('./chunk-ZT5MIFLC.cjs');
|
|
13
|
-
require('./chunk-CJYWHUZR.cjs');
|
|
4
|
+
var chunkDR2AH7JL_cjs = require('./chunk-DR2AH7JL.cjs');
|
|
5
|
+
require('./chunk-XCKHOXRP.cjs');
|
|
14
6
|
require('./chunk-KLMNCBLY.cjs');
|
|
15
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-KNGZZC4O.cjs');
|
|
16
8
|
require('./chunk-5SKHK3BG.cjs');
|
|
17
9
|
require('./chunk-IDCD5TEZ.cjs');
|
|
18
10
|
require('./chunk-JHDCDEXY.cjs');
|
|
@@ -20,7 +12,8 @@ require('./chunk-M2FOXGJU.cjs');
|
|
|
20
12
|
require('./chunk-5F4DCIHS.cjs');
|
|
21
13
|
require('./chunk-CT3SLXB7.cjs');
|
|
22
14
|
require('./chunk-DEXUL3T6.cjs');
|
|
23
|
-
require('./chunk-
|
|
15
|
+
require('./chunk-AFQTQC7A.cjs');
|
|
16
|
+
require('./chunk-XJEXFEWG.cjs');
|
|
24
17
|
require('./chunk-Z2XZ2D4N.cjs');
|
|
25
18
|
require('./chunk-YZSQ7F5K.cjs');
|
|
26
19
|
require('./chunk-MCXS6X37.cjs');
|
|
@@ -33,12 +26,21 @@ require('./chunk-QGVOT7E4.cjs');
|
|
|
33
26
|
require('./chunk-QRAQZTJE.cjs');
|
|
34
27
|
require('./chunk-UDSHVNU3.cjs');
|
|
35
28
|
require('./chunk-IPSHAMO2.cjs');
|
|
29
|
+
require('./chunk-VZOOGA47.cjs');
|
|
30
|
+
var chunkH5OLHP2U_cjs = require('./chunk-H5OLHP2U.cjs');
|
|
31
|
+
require('./chunk-OAIOOVFN.cjs');
|
|
32
|
+
var chunkQMIHLJMH_cjs = require('./chunk-QMIHLJMH.cjs');
|
|
33
|
+
require('./chunk-JR2YSBD5.cjs');
|
|
34
|
+
require('./chunk-TMX7YFVM.cjs');
|
|
36
35
|
var chunkZBP4ZSAJ_cjs = require('./chunk-ZBP4ZSAJ.cjs');
|
|
36
|
+
require('./chunk-3YZKDCWY.cjs');
|
|
37
|
+
require('./chunk-SJSGSHIT.cjs');
|
|
37
38
|
require('./chunk-PPCATBOY.cjs');
|
|
39
|
+
require('./chunk-ZT5MIFLC.cjs');
|
|
40
|
+
require('./chunk-LJJJ6CYH.cjs');
|
|
38
41
|
require('./chunk-TKHCIHE2.cjs');
|
|
39
42
|
require('./chunk-JDFBEGQO.cjs');
|
|
40
43
|
require('./chunk-ULWRNGGE.cjs');
|
|
41
|
-
require('./chunk-LJJJ6CYH.cjs');
|
|
42
44
|
require('./chunk-PLIF5CUV.cjs');
|
|
43
45
|
var react = require('@arbidocs/react');
|
|
44
46
|
var react$1 = require('react');
|
|
@@ -83,7 +85,7 @@ function WebinarHolding({
|
|
|
83
85
|
}) {
|
|
84
86
|
useJoinWhenLive(callExtId, linkVersion, variant === "waiting");
|
|
85
87
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
-
|
|
88
|
+
chunkH5OLHP2U_cjs.WebinarWaiting,
|
|
87
89
|
{
|
|
88
90
|
variant,
|
|
89
91
|
title,
|
|
@@ -196,7 +198,7 @@ function ConnectedCallDock() {
|
|
|
196
198
|
}, []);
|
|
197
199
|
const minimized = !!active?.minimized;
|
|
198
200
|
const docked = !!active && !minimized;
|
|
199
|
-
const [mirrorSelf] =
|
|
201
|
+
const [mirrorSelf] = chunkH5OLHP2U_cjs.useMirrorSelfView();
|
|
200
202
|
const drag = usePipDrag(setCorner);
|
|
201
203
|
const { data: call, isError: callUnreadable } = react.useCall(active?.callExtId);
|
|
202
204
|
const callKnown = !!call || callUnreadable;
|
|
@@ -258,16 +260,16 @@ function ConnectedCallDock() {
|
|
|
258
260
|
...minimized ? drag.handlers : {},
|
|
259
261
|
children: [
|
|
260
262
|
active.phase !== "connected" && (minimized ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
-
|
|
263
|
+
chunkH5OLHP2U_cjs.MinimisedCall,
|
|
262
264
|
{
|
|
263
265
|
title,
|
|
264
266
|
onRestore: () => setCallMinimized(false),
|
|
265
267
|
onLeave: endActiveCall
|
|
266
268
|
}
|
|
267
269
|
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex size-full min-h-0 flex-col", children: [
|
|
268
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
269
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-0 flex-1 overflow-y-auto p-4", children: active.phase === "prejoin" && (audience || !callKnown) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
270
|
-
|
|
270
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkH5OLHP2U_cjs.CallHeader, { title, onMinimise: () => setCallMinimized(true) }),
|
|
271
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-0 flex-1 overflow-y-auto p-4", children: active.phase === "prejoin" && (audience || !callKnown) ? /* @__PURE__ */ jsxRuntime.jsx(chunkH5OLHP2U_cjs.CallStateMessage, { title: "Joining\u2026", testId: "call-joining" }) : active.phase === "prejoin" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
272
|
+
chunkH5OLHP2U_cjs.PreJoin,
|
|
271
273
|
{
|
|
272
274
|
initialChoices: react.DEFAULT_JOIN_CHOICES,
|
|
273
275
|
className: "my-auto",
|
|
@@ -292,7 +294,7 @@ function ConnectedCallDock() {
|
|
|
292
294
|
onLeave: endActiveCall
|
|
293
295
|
}
|
|
294
296
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
295
|
-
|
|
297
|
+
chunkH5OLHP2U_cjs.CallStateMessage,
|
|
296
298
|
{
|
|
297
299
|
title: "Waiting for the host to let you in\u2026",
|
|
298
300
|
description: "You will join as soon as someone in the call admits you.",
|
|
@@ -302,7 +304,7 @@ function ConnectedCallDock() {
|
|
|
302
304
|
) })
|
|
303
305
|
] })),
|
|
304
306
|
connected && /* @__PURE__ */ jsxRuntime.jsx(
|
|
305
|
-
|
|
307
|
+
chunkDR2AH7JL_cjs.ConnectedCallRoom,
|
|
306
308
|
{
|
|
307
309
|
tokenResponse: connected,
|
|
308
310
|
e2eeKey: active.key,
|
|
@@ -327,5 +329,5 @@ function ConnectedCallDock() {
|
|
|
327
329
|
}
|
|
328
330
|
|
|
329
331
|
exports.ConnectedCallDock = ConnectedCallDock;
|
|
330
|
-
//# sourceMappingURL=ConnectedCallDock-
|
|
331
|
-
//# sourceMappingURL=ConnectedCallDock-
|
|
332
|
+
//# sourceMappingURL=ConnectedCallDock-DC5V5OUJ.cjs.map
|
|
333
|
+
//# sourceMappingURL=ConnectedCallDock-DC5V5OUJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/calls/connected/WebinarHolding.tsx","../src/calls/connected/ConnectedCallDock.tsx"],"names":["useArbi","useRef","useEffect","callSession","joinFromPreJoin","AUDIENCE_CHOICES","onCallEvent","jsx","WebinarWaiting","CallUserPill","useState","useLayoutEffect","nearestCorner","useArbiHost","useCallSession","useCallback","useMirrorSelfView","useCall","rejoinAsAudience","calls","callLink","Fragment","jsxs","cn","MinimisedCall","CallHeader","CallStateMessage","PreJoin","DEFAULT_JOIN_CHOICES","classifyMediaError","Button","ConnectedCallRoom"],"mappings":"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","file":"ConnectedCallDock-DC5V5OUJ.cjs","sourcesContent":["/**\n * The audience's holding screens in the call dock: \"Starting soon\" before the host goes live —\n * reading the webinar every few seconds and listening to WS `call.webinar`, then joining by itself\n * — and \"This webinar has ended\" once the host ended it.\n */\n\nimport {\n useArbi,\n onCallEvent,\n callSession,\n joinFromPreJoin,\n AUDIENCE_CHOICES,\n} from '@arbidocs/react'\nimport { useEffect, useRef, type ReactElement } from 'react'\nimport { WebinarWaiting } from '../ui'\nimport { CallUserPill } from './CallUserPill'\n\n/** How often \"Starting soon\" reads the webinar (a link holder gets no WS event). */\nexport const WEBINAR_WAIT_POLL_MS = 5_000\n\n/** Wait for go-live, then join once. */\nfunction useJoinWhenLive(callExtId: string, linkVersion: number, enabled: boolean): void {\n const arbi = useArbi()\n const joined = useRef(false)\n useEffect(() => {\n if (!enabled) return\n joined.current = false\n let stopped = false\n const join = () => {\n if (stopped || joined.current) return\n joined.current = true\n const active = callSession.getState().active\n if (active?.callExtId !== callExtId) return\n void joinFromPreJoin(arbi, active.choices ?? AUDIENCE_CHOICES)\n }\n const poll = () =>\n arbi.calls.webinar\n .get(callExtId, linkVersion)\n .then((s) => s.live && join())\n .catch((err: unknown) => console.warn('[calls] could not read the webinar state', err))\n const id = setInterval(() => void poll(), WEBINAR_WAIT_POLL_MS)\n const off = onCallEvent('call.webinar', (m) => {\n if (m.call_ext_id === callExtId && m.live) join()\n })\n return () => {\n stopped = true\n clearInterval(id)\n off()\n }\n }, [arbi, callExtId, linkVersion, enabled])\n}\n\nexport function WebinarHolding({\n variant,\n callExtId,\n linkVersion,\n title,\n host,\n onLeave,\n}: {\n variant: 'waiting' | 'ended'\n callExtId: string\n linkVersion: number\n title?: string | null\n /** The host (the call's creator), named as a pill. */\n host?: { identity: string; name?: string | null } | null\n onLeave(): void\n}): ReactElement {\n useJoinWhenLive(callExtId, linkVersion, variant === 'waiting')\n return (\n <WebinarWaiting\n variant={variant}\n title={title}\n host={host?.identity ? <CallUserPill identity={host.identity} name={host.name} /> : undefined}\n onLeave={onLeave}\n leaveLabel={variant === 'waiting' ? 'Leave' : 'Close'}\n />\n )\n}\n","/**\n * ConnectedCallDock — where the active call lives. Mount it once (lazily: it pulls LiveKit) while\n * the call session has an active call. Placements of ONE element (so the room never remounts and\n * hangs up):\n * docked → the call panel in the host's right-hand dock, like the document viewer: the host's\n * slot (`calls.useSlot`) reserves the space and this element follows that box. The\n * main pane shows the call's conversation (`calls.showConversation`) — its chat and\n * live transcript.\n * main → a webinar's audience has no conversation beside the call: its viewer takes the\n * host's main slot the same way, the stage large with the Q&A / chat column beside\n * it. Without a host slot the call floats at the right edge (or fills the page).\n * minimised → a small card in a corner (drag it to another), so the user keeps working; another\n * panel taking the dock also minimises the call.\n * Phases: prejoin (device check), knocking (waiting for a host), connected (<CallRoom>). A\n * webinar's audience skips the device check (it cannot publish), waits on \"Starting soon\" before\n * go-live and sees \"This webinar has ended\" after; when the stage changes under someone (moved to\n * the audience, stepped down) the room drops them and they join again at once, with no screen.\n */\n\nimport {\n useArbi,\n callSession,\n classifyMediaError,\n useCall,\n useCallSession,\n callLink,\n joinFromPreJoin,\n rejoinAsAudience,\n AUDIENCE_CHOICES,\n useArbiHost,\n type CallSlotMode,\n DEFAULT_JOIN_CHOICES,\n} from '@arbidocs/react'\nimport { useCallback, useEffect, useLayoutEffect, useRef, useState, type ReactElement } from 'react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport {\n CallHeader,\n CallStateMessage,\n MinimisedCall,\n PreJoin,\n nearestCorner,\n type PipCorner,\n} from '../ui'\nimport { calls } from '@arbidocs/sdk/browser'\nimport { ConnectedCallRoom } from './ConnectedCallRoom'\nimport { WebinarHolding } from './WebinarHolding'\nimport { useMirrorSelfView } from '../self-view'\n\nconst CORNER_KEY = 'arbi-call-pip-corner'\n\ninterface Rect {\n top: number\n left: number\n width: number\n height: number\n}\n\n/** An element's viewport rectangle, kept current; null while there is none. */\nfunction useRectOf(el: Element | null): Rect | null {\n const [rect, setRect] = useState<Rect | null>(null)\n useLayoutEffect(() => {\n if (!el) {\n setRect(null)\n return\n }\n const measure = () => {\n const r = el.getBoundingClientRect()\n const next =\n r.width > 0 && r.height > 0\n ? { top: r.top, left: r.left, width: r.width, height: r.height }\n : null\n setRect((prev) =>\n prev &&\n next &&\n prev.top === next.top &&\n prev.left === next.left &&\n prev.width === next.width &&\n prev.height === next.height\n ? prev\n : next\n )\n }\n measure()\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(measure) : null\n ro?.observe(el)\n window.addEventListener('resize', measure)\n // Banners, the sidebar and the dock's open animation move the box without resizing it.\n const id = setInterval(measure, 250)\n return () => {\n ro?.disconnect()\n window.removeEventListener('resize', measure)\n clearInterval(id)\n }\n }, [el])\n return rect\n}\n\nfunction readCorner(): PipCorner {\n try {\n const v = localStorage.getItem(CORNER_KEY)\n if (v === 'top-left' || v === 'top-right' || v === 'bottom-left' || v === 'bottom-right')\n return v\n } catch {\n // Storage blocked: the default corner.\n }\n return 'bottom-right'\n}\n\nconst CORNER_CLASS: Record<PipCorner, string> = {\n 'top-left': 'left-4 top-4',\n 'top-right': 'right-4 top-4',\n 'bottom-left': 'bottom-4 left-4',\n 'bottom-right': 'bottom-4 right-4',\n}\n\n/** Drag the minimised card; it settles in the nearest corner. */\nfunction usePipDrag(onCorner: (c: PipCorner) => void) {\n const [offset, setOffset] = useState<{ x: number; y: number } | null>(null)\n const start = useRef<{ x: number; y: number; moved: boolean } | null>(null)\n const onPointerDown = (e: React.PointerEvent<HTMLElement>) => {\n // Buttons keep their clicks; drag by the card's body.\n if (\n e.button !== 0 ||\n (e.target as HTMLElement).closest('button:not([data-testid=\"call-minimised-restore\"])')\n )\n return\n start.current = { x: e.clientX, y: e.clientY, moved: false }\n e.currentTarget.setPointerCapture?.(e.pointerId)\n }\n const onPointerMove = (e: React.PointerEvent<HTMLElement>) => {\n const s = start.current\n if (!s) return\n const dx = e.clientX - s.x\n const dy = e.clientY - s.y\n if (!s.moved && Math.hypot(dx, dy) < 6) return\n s.moved = true\n setOffset({ x: dx, y: dy })\n }\n const onPointerUp = (e: React.PointerEvent<HTMLElement>) => {\n const s = start.current\n start.current = null\n if (!s?.moved) return\n const r = e.currentTarget.getBoundingClientRect()\n onCorner(\n nearestCorner(\n r.left + r.width / 2,\n r.top + r.height / 2,\n window.innerWidth,\n window.innerHeight\n )\n )\n setOffset(null)\n // The drag ended on the card: do not let it count as \"back to the call\".\n const swallow = (ev: Event) => {\n ev.stopPropagation()\n ev.preventDefault()\n }\n window.addEventListener('click', swallow, { capture: true, once: true })\n setTimeout(() => window.removeEventListener('click', swallow, { capture: true }), 0)\n }\n return { offset, handlers: { onPointerDown, onPointerMove, onPointerUp } }\n}\n\n/** A host slot that renders nothing: the call floats. */\nconst noSlot = (): HTMLElement | null => null\n\nexport function ConnectedCallDock(): ReactElement | null {\n const arbi = useArbi()\n const host = useArbiHost().calls\n const useSlot = host?.useSlot ?? noSlot\n const showConversation = host?.showConversation\n const active = useCallSession((s) => s.active)\n const { endActiveCall, updateActiveCall, setCallMinimized } = callSession\n const [joining, setJoining] = useState(false)\n const [corner, setCornerState] = useState<PipCorner>(readCorner)\n const setCorner = useCallback((c: PipCorner) => {\n setCornerState(c)\n try {\n localStorage.setItem(CORNER_KEY, c)\n } catch {\n // Not remembered: fine.\n }\n }, [])\n const minimized = !!active?.minimized\n const docked = !!active && !minimized\n const [mirrorSelf] = useMirrorSelfView()\n const drag = usePipDrag(setCorner)\n\n // A webinar: my role decides the join (the audience skips the device check) and the UI.\n const { data: call, isError: callUnreadable } = useCall(active?.callExtId)\n const callKnown = !!call || callUnreadable\n const webinarRole = call?.mode === 'webinar' ? (call.webinar?.my_role ?? 'attendee') : null\n const audience = webinarRole === 'attendee'\n const phase = active?.phase\n const callExtId = active?.callExtId\n const autoJoined = useRef<string | null>(null)\n useEffect(() => {\n if (phase !== 'prejoin' || !audience || !callExtId || autoJoined.current === callExtId) return\n autoJoined.current = callExtId\n setJoining(true)\n void joinFromPreJoin(arbi, AUDIENCE_CHOICES).finally(() => setJoining(false))\n }, [arbi, phase, audience, callExtId])\n\n /** A room I was in has gone: leave the call, unless it dropped me to join again (webinar stage). */\n const onRoomLeft = useCallback(\n (token: calls.CallTokenResponse) => {\n const current = callSession.getState().active\n if (!current || current.tokenResponse !== token) return // a room already replaced\n if (current.rejoining) void rejoinAsAudience(arbi, current.callExtId)\n else endActiveCall()\n },\n [arbi, endActiveCall]\n )\n /** The host ended the webinar: the audience and panelists see it ended; moderators just close. */\n const onRoomClosed =\n webinarRole && !calls.WEBINAR_MODERATORS.has(webinarRole) && callExtId\n ? () => updateActiveCall(callExtId, { phase: 'webinar-ended', tokenResponse: null })\n : undefined\n\n // The slot: the dock, or the main area for a webinar's audience (the viewer, or its waiting /\n // ended screens). The host's slot is claimed while the call shows; another panel taking it\n // minimises the call; closing the call frees it.\n const [roomViewer, setRoomViewer] = useState(false)\n const slotMode: CallSlotMode = (phase === 'connected' ? roomViewer : audience) ? 'main' : 'docked'\n const minimise = useCallback(() => setCallMinimized(true), [setCallMinimized])\n const slot = useSlot(slotMode, docked, minimise)\n const rect = useRectOf(docked ? slot : null)\n\n // Once connected, the main pane shows the call's conversation (its chat and transcript).\n const shownFor = useRef<string | null>(null)\n // A webinar's audience is not in its meeting chat: nothing to show.\n useEffect(() => {\n // The viewer took the main area (a team member off stage): show it again once back on stage.\n if (roomViewer) shownFor.current = null\n if (active?.phase !== 'connected' || shownFor.current === active.callExtId) return\n if (!callKnown || audience || roomViewer || !showConversation) return\n shownFor.current = active.callExtId\n void showConversation(active)\n }, [active, callKnown, audience, roomViewer, showConversation])\n\n if (!active) return null\n const title = active.title ?? 'Call'\n const connected = active.phase === 'connected' ? active.tokenResponse : null\n const link = callLink(active.callExtId, active.key, active.linkVersion)\n\n return (\n <>\n <section\n aria-label=\"Active call\"\n data-testid=\"call-dock\"\n data-placement={minimized ? 'minimised' : slotMode}\n className={cn(\n 'fixed flex flex-col overflow-hidden bg-background text-foreground',\n minimized\n ? cn(\n 'z-50 w-80 max-w-[calc(100vw-2rem)] cursor-grab touch-none rounded-md border border-border shadow-xl active:cursor-grabbing',\n CORNER_CLASS[corner]\n )\n : cn(\n 'z-40',\n !rect &&\n (slotMode === 'main'\n ? 'inset-0'\n : 'inset-y-0 right-0 w-[min(480px,100vw)] border-l border-border')\n )\n )}\n style={\n minimized\n ? drag.offset\n ? { transform: `translate(${drag.offset.x}px, ${drag.offset.y}px)` }\n : undefined\n : rect\n ? { top: rect.top, left: rect.left, width: rect.width, height: rect.height }\n : undefined\n }\n {...(minimized ? drag.handlers : {})}\n >\n {active.phase !== 'connected' &&\n (minimized ? (\n <MinimisedCall\n title={title}\n onRestore={() => setCallMinimized(false)}\n onLeave={endActiveCall}\n />\n ) : (\n <div className=\"flex size-full min-h-0 flex-col\">\n <CallHeader title={title} onMinimise={() => setCallMinimized(true)} />\n <div className=\"flex min-h-0 flex-1 overflow-y-auto p-4\">\n {active.phase === 'prejoin' && (audience || !callKnown) ? (\n <CallStateMessage title=\"Joining…\" testId=\"call-joining\" />\n ) : active.phase === 'prejoin' ? (\n <PreJoin\n initialChoices={DEFAULT_JOIN_CHOICES}\n className=\"my-auto\"\n busy={joining}\n joinLabel={active.ringOnJoin ? 'Start call' : 'Join'}\n describeError={(err, kind) => classifyMediaError(err, kind)}\n mirror={mirrorSelf}\n onJoin={(choices) => {\n setJoining(true)\n void joinFromPreJoin(arbi, choices).finally(() => setJoining(false))\n }}\n onCancel={endActiveCall}\n />\n ) : active.phase === 'webinar-waiting' || active.phase === 'webinar-ended' ? (\n <WebinarHolding\n variant={active.phase === 'webinar-waiting' ? 'waiting' : 'ended'}\n callExtId={active.callExtId}\n linkVersion={active.linkVersion}\n title={active.title}\n host={\n call?.creator_ext_id\n ? { identity: call.creator_ext_id, name: call.creator_name }\n : null\n }\n onLeave={endActiveCall}\n />\n ) : (\n <CallStateMessage\n title=\"Waiting for the host to let you in…\"\n description=\"You will join as soon as someone in the call admits you.\"\n testId=\"call-knocking\"\n action={\n <Button type=\"button\" variant=\"outline\" onClick={endActiveCall}>\n Cancel\n </Button>\n }\n />\n )}\n </div>\n </div>\n ))}\n {connected && (\n <ConnectedCallRoom\n // A new token is a new room (a webinar rejoin): build it afresh.\n key={`${active.callExtId}:${connected.token}`}\n tokenResponse={connected}\n e2eeKey={active.key}\n choices={active.choices ?? undefined}\n isCreator={active.isCreator}\n lockedWorkspaceExtId={active.lockedWorkspaceExtId}\n title={title}\n startedAt={active.startedAt}\n link={link}\n minimized={minimized}\n onMinimizedChange={setCallMinimized}\n onLeave={() => onRoomLeft(connected)}\n webinarRole={webinarRole}\n onRoomClosed={onRoomClosed}\n onViewerChange={setRoomViewer}\n />\n )}\n </section>\n </>\n )\n}\n"]}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-OAIOOVFN.cjs');
|
|
7
|
-
require('./chunk-QMIHLJMH.cjs');
|
|
8
|
-
require('./chunk-JR2YSBD5.cjs');
|
|
9
|
-
require('./chunk-TMX7YFVM.cjs');
|
|
10
|
-
require('./chunk-3YZKDCWY.cjs');
|
|
11
|
-
require('./chunk-SJSGSHIT.cjs');
|
|
12
|
-
require('./chunk-ZT5MIFLC.cjs');
|
|
13
|
-
require('./chunk-CJYWHUZR.cjs');
|
|
4
|
+
var chunkDR2AH7JL_cjs = require('./chunk-DR2AH7JL.cjs');
|
|
5
|
+
require('./chunk-XCKHOXRP.cjs');
|
|
14
6
|
require('./chunk-KLMNCBLY.cjs');
|
|
15
|
-
require('./chunk-
|
|
7
|
+
require('./chunk-KNGZZC4O.cjs');
|
|
16
8
|
require('./chunk-5SKHK3BG.cjs');
|
|
17
9
|
require('./chunk-IDCD5TEZ.cjs');
|
|
18
10
|
require('./chunk-JHDCDEXY.cjs');
|
|
@@ -20,7 +12,8 @@ require('./chunk-M2FOXGJU.cjs');
|
|
|
20
12
|
require('./chunk-5F4DCIHS.cjs');
|
|
21
13
|
require('./chunk-CT3SLXB7.cjs');
|
|
22
14
|
require('./chunk-DEXUL3T6.cjs');
|
|
23
|
-
require('./chunk-
|
|
15
|
+
require('./chunk-AFQTQC7A.cjs');
|
|
16
|
+
require('./chunk-XJEXFEWG.cjs');
|
|
24
17
|
require('./chunk-Z2XZ2D4N.cjs');
|
|
25
18
|
require('./chunk-YZSQ7F5K.cjs');
|
|
26
19
|
require('./chunk-MCXS6X37.cjs');
|
|
@@ -33,19 +26,28 @@ require('./chunk-QGVOT7E4.cjs');
|
|
|
33
26
|
require('./chunk-QRAQZTJE.cjs');
|
|
34
27
|
require('./chunk-UDSHVNU3.cjs');
|
|
35
28
|
require('./chunk-IPSHAMO2.cjs');
|
|
29
|
+
require('./chunk-VZOOGA47.cjs');
|
|
30
|
+
require('./chunk-H5OLHP2U.cjs');
|
|
31
|
+
require('./chunk-OAIOOVFN.cjs');
|
|
32
|
+
require('./chunk-QMIHLJMH.cjs');
|
|
33
|
+
require('./chunk-JR2YSBD5.cjs');
|
|
34
|
+
require('./chunk-TMX7YFVM.cjs');
|
|
36
35
|
require('./chunk-ZBP4ZSAJ.cjs');
|
|
36
|
+
require('./chunk-3YZKDCWY.cjs');
|
|
37
|
+
require('./chunk-SJSGSHIT.cjs');
|
|
37
38
|
require('./chunk-PPCATBOY.cjs');
|
|
39
|
+
require('./chunk-ZT5MIFLC.cjs');
|
|
40
|
+
require('./chunk-LJJJ6CYH.cjs');
|
|
38
41
|
require('./chunk-TKHCIHE2.cjs');
|
|
39
42
|
require('./chunk-JDFBEGQO.cjs');
|
|
40
43
|
require('./chunk-ULWRNGGE.cjs');
|
|
41
|
-
require('./chunk-LJJJ6CYH.cjs');
|
|
42
44
|
require('./chunk-PLIF5CUV.cjs');
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
|
|
46
48
|
Object.defineProperty(exports, "ConnectedCallRoom", {
|
|
47
49
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkDR2AH7JL_cjs.ConnectedCallRoom; }
|
|
49
51
|
});
|
|
50
|
-
//# sourceMappingURL=ConnectedCallRoom-
|
|
51
|
-
//# sourceMappingURL=ConnectedCallRoom-
|
|
52
|
+
//# sourceMappingURL=ConnectedCallRoom-FQLXWTFB.cjs.map
|
|
53
|
+
//# sourceMappingURL=ConnectedCallRoom-FQLXWTFB.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ConnectedCallRoom-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ConnectedCallRoom-FQLXWTFB.cjs"}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkFKFQCK3C_cjs = require('./chunk-FKFQCK3C.cjs');
|
|
5
5
|
require('./chunk-COD5ENHK.cjs');
|
|
6
6
|
require('./chunk-2CSLFAGF.cjs');
|
|
7
7
|
require('./chunk-GA5ZO4YA.cjs');
|
|
8
8
|
require('./chunk-VG5XNE4H.cjs');
|
|
9
9
|
require('./chunk-DDWLMYRO.cjs');
|
|
10
|
-
require('./chunk-
|
|
10
|
+
require('./chunk-C2OICDMI.cjs');
|
|
11
11
|
require('./chunk-4ONPEVTP.cjs');
|
|
12
12
|
require('./chunk-V3KLUWQQ.cjs');
|
|
13
13
|
require('./chunk-P5AQYC4D.cjs');
|
|
14
|
-
require('./chunk-
|
|
14
|
+
require('./chunk-GQXPNIRE.cjs');
|
|
15
15
|
require('./chunk-ZESMRGDV.cjs');
|
|
16
16
|
require('./chunk-UKOYN2WD.cjs');
|
|
17
17
|
require('./chunk-RC25WMVB.cjs');
|
|
18
18
|
require('./chunk-VKH3BEZE.cjs');
|
|
19
|
-
require('./chunk-
|
|
19
|
+
require('./chunk-75BNMCUX.cjs');
|
|
20
|
+
require('./chunk-RYVZDFVO.cjs');
|
|
20
21
|
require('./chunk-3YEXZX4H.cjs');
|
|
21
22
|
require('./chunk-4PA6VCCR.cjs');
|
|
22
|
-
require('./chunk-
|
|
23
|
+
require('./chunk-MZ2KZXNU.cjs');
|
|
23
24
|
require('./chunk-AHDJXIUB.cjs');
|
|
25
|
+
require('./chunk-YVCOQHCE.cjs');
|
|
24
26
|
require('./chunk-RL2HI6NP.cjs');
|
|
25
27
|
require('./chunk-6UZC4XVV.cjs');
|
|
26
|
-
require('./chunk-
|
|
28
|
+
require('./chunk-QGVOT7E4.cjs');
|
|
29
|
+
require('./chunk-QRAQZTJE.cjs');
|
|
30
|
+
require('./chunk-UDSHVNU3.cjs');
|
|
27
31
|
require('./chunk-JV5TVUOU.cjs');
|
|
28
|
-
require('./chunk-
|
|
32
|
+
require('./chunk-IPSHAMO2.cjs');
|
|
33
|
+
require('./chunk-ZVEW3JBT.cjs');
|
|
29
34
|
require('./chunk-VZOOGA47.cjs');
|
|
30
35
|
require('./chunk-HQDR43JC.cjs');
|
|
31
36
|
require('./chunk-JR2YSBD5.cjs');
|
|
32
37
|
require('./chunk-3YZKDCWY.cjs');
|
|
33
38
|
require('./chunk-SJSGSHIT.cjs');
|
|
34
|
-
require('./chunk-ZW6FPIFC.cjs');
|
|
35
|
-
require('./chunk-75BNMCUX.cjs');
|
|
36
|
-
require('./chunk-QGVOT7E4.cjs');
|
|
37
|
-
require('./chunk-QRAQZTJE.cjs');
|
|
38
|
-
require('./chunk-UDSHVNU3.cjs');
|
|
39
|
-
require('./chunk-IPSHAMO2.cjs');
|
|
40
39
|
require('./chunk-PPCATBOY.cjs');
|
|
40
|
+
require('./chunk-ZW6FPIFC.cjs');
|
|
41
|
+
require('./chunk-LJJJ6CYH.cjs');
|
|
41
42
|
require('./chunk-TKHCIHE2.cjs');
|
|
42
43
|
require('./chunk-JDFBEGQO.cjs');
|
|
43
44
|
require('./chunk-ULWRNGGE.cjs');
|
|
44
|
-
require('./chunk-LJJJ6CYH.cjs');
|
|
45
45
|
require('./chunk-PLIF5CUV.cjs');
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
Object.defineProperty(exports, "ConnectedNativeDocxComparison", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunkFKFQCK3C_cjs.ConnectedNativeDocxComparison; }
|
|
52
52
|
});
|
|
53
|
-
//# sourceMappingURL=ConnectedNativeDocxComparison-
|
|
54
|
-
//# sourceMappingURL=ConnectedNativeDocxComparison-
|
|
53
|
+
//# sourceMappingURL=ConnectedNativeDocxComparison-4Q5S7VLD.cjs.map
|
|
54
|
+
//# sourceMappingURL=ConnectedNativeDocxComparison-4Q5S7VLD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ConnectedNativeDocxComparison-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ConnectedNativeDocxComparison-4Q5S7VLD.cjs"}
|