@dxos/plugin-thread 0.8.3 → 0.8.4-main.28f8d3d
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/lib/browser/ChannelContainer-O2SFQJU7.mjs +16 -0
- package/dist/lib/browser/ChatContainer-PVT3DUZJ.mjs +15 -0
- package/dist/lib/browser/{app-graph-builder-OY7R7EJP.mjs → app-graph-builder-AF3M7UWN.mjs} +8 -8
- package/dist/lib/browser/app-graph-builder-AF3M7UWN.mjs.map +7 -0
- package/dist/lib/browser/{call-manager-APQAZWHT.mjs → call-manager-XRRCAVLI.mjs} +6 -5
- package/dist/lib/browser/call-manager-XRRCAVLI.mjs.map +7 -0
- package/dist/lib/browser/chunk-2CWJBXBH.mjs +21 -0
- package/dist/lib/browser/{chunk-R5MDLUPC.mjs → chunk-4APCDRSH.mjs} +3 -3
- package/dist/lib/browser/{chunk-R5MDLUPC.mjs.map → chunk-4APCDRSH.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-AEXWNS6Z.mjs → chunk-DW7JD64V.mjs} +14 -5
- package/dist/lib/browser/chunk-DW7JD64V.mjs.map +7 -0
- package/dist/lib/browser/{chunk-IIUTBDVB.mjs → chunk-EV4JWI7L.mjs} +2 -2
- package/dist/lib/browser/chunk-FY4ZRD5X.mjs +367 -0
- package/dist/lib/browser/chunk-FY4ZRD5X.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JKQUJOTX.mjs → chunk-GERVMFQW.mjs} +2 -2
- package/dist/lib/browser/chunk-J3JO5NWO.mjs +477 -0
- package/dist/lib/browser/chunk-J3JO5NWO.mjs.map +7 -0
- package/dist/lib/browser/chunk-JGKMMI65.mjs +56 -0
- package/dist/lib/browser/chunk-JGKMMI65.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4H4A264L.mjs → chunk-TUFWPOVS.mjs} +148 -158
- package/dist/lib/browser/chunk-TUFWPOVS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5P5BH5GE.mjs → chunk-X5PIP5YR.mjs} +67 -6
- package/dist/lib/browser/chunk-X5PIP5YR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XZKBN3NS.mjs → chunk-ZJ7QBXK6.mjs} +246 -245
- package/dist/lib/browser/chunk-ZJ7QBXK6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +36 -42
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-FK2MDVDT.mjs → intent-resolver-DCY4P4OX.mjs} +31 -15
- package/dist/lib/browser/intent-resolver-DCY4P4OX.mjs.map +7 -0
- package/dist/lib/browser/{markdown-TE5SWWNJ.mjs → markdown-WZSXCEZJ.mjs} +8 -8
- package/dist/lib/browser/markdown-WZSXCEZJ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-QXPALOUQ.mjs +28 -0
- package/dist/lib/browser/{react-surface-VXUJKSOG.mjs → react-surface-PYAMIADB.mjs} +12 -11
- package/dist/lib/browser/react-surface-PYAMIADB.mjs.map +7 -0
- package/dist/lib/browser/{settings-RB2RSLXV.mjs → settings-AC6YSASL.mjs} +4 -4
- package/dist/lib/browser/{state-RKL5MSDP.mjs → state-2T4KDWBX.mjs} +4 -4
- package/dist/lib/browser/{state-RKL5MSDP.mjs.map → state-2T4KDWBX.mjs.map} +2 -2
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/ChannelContainer-B2ZGAE4P.mjs +17 -0
- package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs → ChatContainer-2CT4PJ7I.mjs} +6 -5
- package/dist/lib/node-esm/{app-graph-builder-BAHBHYWI.mjs → app-graph-builder-OLSJVCWY.mjs} +8 -8
- package/dist/lib/node-esm/app-graph-builder-OLSJVCWY.mjs.map +7 -0
- package/dist/lib/node-esm/{call-manager-UUYXLF4T.mjs → call-manager-EI7FXRAU.mjs} +6 -5
- package/dist/lib/node-esm/call-manager-EI7FXRAU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WXNPD542.mjs → chunk-4TME3BR4.mjs} +147 -158
- package/dist/lib/node-esm/chunk-4TME3BR4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs → chunk-57XR3LEF.mjs} +2 -2
- package/dist/lib/node-esm/chunk-6CRHHOST.mjs +23 -0
- package/dist/lib/node-esm/chunk-BF4UKS55.mjs +368 -0
- package/dist/lib/node-esm/chunk-BF4UKS55.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs → chunk-GRLRWTRU.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs → chunk-PYTVBN5J.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs.map → chunk-PYTVBN5J.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-QBHKLWGR.mjs +58 -0
- package/dist/lib/node-esm/chunk-QBHKLWGR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-O3V45YJP.mjs → chunk-SED3O2XO.mjs} +66 -6
- package/dist/lib/node-esm/chunk-SED3O2XO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VNG6M2IY.mjs +478 -0
- package/dist/lib/node-esm/chunk-VNG6M2IY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UJMPYKT3.mjs → chunk-XVKWHTH4.mjs} +14 -5
- package/dist/lib/node-esm/chunk-XVKWHTH4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2RNIPFDA.mjs → chunk-YIDU3DXK.mjs} +246 -245
- package/dist/lib/node-esm/chunk-YIDU3DXK.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +36 -42
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-BU73VYW3.mjs → intent-resolver-QGTPU6QB.mjs} +31 -15
- package/dist/lib/node-esm/intent-resolver-QGTPU6QB.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-HJUWNBLS.mjs → markdown-3MZXUGUA.mjs} +8 -8
- package/dist/lib/node-esm/markdown-3MZXUGUA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-RUXOAQNW.mjs → react-root-7ZFJYVUZ.mjs} +12 -11
- package/dist/lib/{browser/react-root-NK3A4VG7.mjs.map → node-esm/react-root-7ZFJYVUZ.mjs.map} +1 -1
- package/dist/lib/node-esm/{react-surface-ELXFYKP6.mjs → react-surface-UJFCSFNO.mjs} +12 -11
- package/dist/lib/node-esm/react-surface-UJFCSFNO.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-EA7DFSM6.mjs → settings-N52O7MLS.mjs} +4 -4
- package/dist/lib/node-esm/{state-6AUTNROZ.mjs → state-62TQKQVB.mjs} +4 -4
- package/dist/lib/node-esm/{state-6AUTNROZ.mjs.map → state-62TQKQVB.mjs.map} +2 -2
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/call-manager.d.ts +1 -1
- package/dist/types/src/calls/call-manager.d.ts.map +1 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +5 -2
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +22 -0
- package/dist/types/src/calls-service.stories.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -1
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/Call/Call.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
- package/dist/types/src/components/CallSidebar.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +2 -2
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +3 -2
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +2 -2
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts +1 -1
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts +4 -4
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts +14 -0
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -0
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts +2 -2
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +2 -0
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +1 -0
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +3 -0
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -0
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +74 -194
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +53 -22
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +72 -24
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +17 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +49 -48
- package/src/ThreadPlugin.tsx +9 -24
- package/src/calls/call-manager.ts +7 -3
- package/src/calls/call-swarm-synchronizer.ts +1 -1
- package/src/calls/media-manager.ts +13 -6
- package/src/calls/types.ts +1 -1
- package/src/calls/util/calls-service.ts +12 -8
- package/src/calls/util/stub-media-streams.ts +5 -8
- package/src/calls-service.stories.tsx +216 -0
- package/src/capabilities/app-graph-builder.ts +6 -5
- package/src/capabilities/call-manager.ts +3 -2
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/intent-resolver.ts +26 -7
- package/src/capabilities/markdown.ts +4 -3
- package/src/capabilities/react-surface.tsx +5 -4
- package/src/capabilities/state.ts +2 -1
- package/src/components/Call/Call.tsx +4 -3
- package/src/components/Call/Toolbar.tsx +5 -5
- package/src/components/CallDebugPanel.tsx +3 -3
- package/src/components/CallSidebar.tsx +2 -1
- package/src/components/ChannelContainer.stories.tsx +8 -7
- package/src/components/ChannelContainer.tsx +13 -11
- package/src/components/Chat.stories.tsx +7 -6
- package/src/components/ChatContainer.tsx +16 -14
- package/src/components/Comments.stories.tsx +24 -16
- package/src/components/CommentsContainer.tsx +17 -11
- package/src/components/{CommentContainer.tsx → CommentsThreadContainer.tsx} +51 -81
- package/src/components/Lobby/Lobby.tsx +1 -1
- package/src/components/Media/VideoObject.stories.tsx +4 -3
- package/src/components/MessageContainer.tsx +31 -46
- package/src/components/Participant/ParticipantGrid.tsx +2 -1
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +5 -4
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +5 -4
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +4 -4
- package/src/components/ThreadComplementary.tsx +3 -3
- package/src/components/ThreadSettings.tsx +2 -2
- package/src/components/command-extension.ts +1 -1
- package/src/components/index.ts +1 -1
- package/src/components/testing.ts +2 -2
- package/src/extensions/threads.ts +6 -6
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useDebugMode.ts +1 -1
- package/src/hooks/useInaudibleAudioStreamTrack.tsx +27 -0
- package/src/hooks/useVideoStreamTrack.tsx +33 -0
- package/src/testing/stories.ts +7 -3
- package/src/translations.ts +11 -8
- package/src/types/types.ts +11 -2
- package/src/typings.d.ts +8 -0
- package/dist/lib/browser/ChannelContainer-PKFBVENP.mjs +0 -15
- package/dist/lib/browser/ChatContainer-RSOKYAMK.mjs +0 -14
- package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs.map +0 -7
- package/dist/lib/browser/call-manager-APQAZWHT.mjs.map +0 -7
- package/dist/lib/browser/chunk-4H4A264L.mjs.map +0 -7
- package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +0 -7
- package/dist/lib/browser/chunk-6NBVNXTM.mjs +0 -21
- package/dist/lib/browser/chunk-AEXWNS6Z.mjs.map +0 -7
- package/dist/lib/browser/chunk-PG5CTFKK.mjs +0 -550
- package/dist/lib/browser/chunk-PG5CTFKK.mjs.map +0 -7
- package/dist/lib/browser/chunk-TAFSCSUR.mjs +0 -351
- package/dist/lib/browser/chunk-TAFSCSUR.mjs.map +0 -7
- package/dist/lib/browser/chunk-XZKBN3NS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs.map +0 -7
- package/dist/lib/browser/markdown-TE5SWWNJ.mjs.map +0 -7
- package/dist/lib/browser/react-root-NK3A4VG7.mjs +0 -27
- package/dist/lib/browser/react-surface-VXUJKSOG.mjs.map +0 -7
- package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs +0 -36
- package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs.map +0 -7
- package/dist/lib/node/ChatContainer-GCOM3M56.cjs +0 -35
- package/dist/lib/node/ChatContainer-GCOM3M56.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs +0 -179
- package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs.map +0 -7
- package/dist/lib/node/call-manager-HV2XJW5O.cjs +0 -37
- package/dist/lib/node/call-manager-HV2XJW5O.cjs.map +0 -7
- package/dist/lib/node/chunk-44I33JDT.cjs +0 -1731
- package/dist/lib/node/chunk-44I33JDT.cjs.map +0 -7
- package/dist/lib/node/chunk-4YSNVPWU.cjs +0 -37
- package/dist/lib/node/chunk-4YSNVPWU.cjs.map +0 -7
- package/dist/lib/node/chunk-E3WBZTTI.cjs +0 -371
- package/dist/lib/node/chunk-E3WBZTTI.cjs.map +0 -7
- package/dist/lib/node/chunk-ERG7G6FF.cjs +0 -59
- package/dist/lib/node/chunk-ERG7G6FF.cjs.map +0 -7
- package/dist/lib/node/chunk-FUXJAVFZ.cjs +0 -108
- package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +0 -7
- package/dist/lib/node/chunk-HLMCEE5K.cjs +0 -41
- package/dist/lib/node/chunk-HLMCEE5K.cjs.map +0 -7
- package/dist/lib/node/chunk-IP533AMV.cjs +0 -554
- package/dist/lib/node/chunk-IP533AMV.cjs.map +0 -7
- package/dist/lib/node/chunk-LR5NENBE.cjs +0 -54
- package/dist/lib/node/chunk-LR5NENBE.cjs.map +0 -7
- package/dist/lib/node/chunk-UM36TPCT.cjs +0 -984
- package/dist/lib/node/chunk-UM36TPCT.cjs.map +0 -7
- package/dist/lib/node/chunk-ZGDN3XBR.cjs +0 -149
- package/dist/lib/node/chunk-ZGDN3XBR.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -310
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs +0 -363
- package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs.map +0 -7
- package/dist/lib/node/markdown-GQIPJS2F.cjs +0 -178
- package/dist/lib/node/markdown-GQIPJS2F.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-root-6HHDMULJ.cjs +0 -51
- package/dist/lib/node/react-root-6HHDMULJ.cjs.map +0 -7
- package/dist/lib/node/react-surface-NBH42NN2.cjs +0 -122
- package/dist/lib/node/react-surface-NBH42NN2.cjs.map +0 -7
- package/dist/lib/node/settings-4LQSFEDK.cjs +0 -36
- package/dist/lib/node/settings-4LQSFEDK.cjs.map +0 -7
- package/dist/lib/node/state-IY5XX3H2.cjs +0 -50
- package/dist/lib/node/state-IY5XX3H2.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -38
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-O4QJII2P.mjs +0 -16
- package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2RNIPFDA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-O63QJPQX.mjs +0 -23
- package/dist/lib/node-esm/chunk-P6RLFCNT.mjs +0 -352
- package/dist/lib/node-esm/chunk-P6RLFCNT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UJMPYKT3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UZWVVFT3.mjs +0 -551
- package/dist/lib/node-esm/chunk-UZWVVFT3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WXNPD542.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-HJUWNBLS.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs.map +0 -7
- package/dist/types/src/components/CommentContainer.d.ts +0 -13
- package/dist/types/src/components/CommentContainer.d.ts.map +0 -1
- package/dist/types/src/peers.stories.d.ts +0 -11
- package/dist/types/src/peers.stories.d.ts.map +0 -1
- package/src/peers.stories.tsx +0 -189
- /package/dist/lib/browser/{ChannelContainer-PKFBVENP.mjs.map → ChannelContainer-O2SFQJU7.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-RSOKYAMK.mjs.map → ChatContainer-PVT3DUZJ.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-6NBVNXTM.mjs.map → chunk-2CWJBXBH.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-IIUTBDVB.mjs.map → chunk-EV4JWI7L.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-JKQUJOTX.mjs.map → chunk-GERVMFQW.mjs.map} +0 -0
- /package/dist/lib/{node-esm/react-root-RUXOAQNW.mjs.map → browser/react-root-QXPALOUQ.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-RB2RSLXV.mjs.map → settings-AC6YSASL.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChannelContainer-O4QJII2P.mjs.map → ChannelContainer-B2ZGAE4P.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs.map → ChatContainer-2CT4PJ7I.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs.map → chunk-57XR3LEF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-O63QJPQX.mjs.map → chunk-6CRHHOST.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs.map → chunk-GRLRWTRU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-EA7DFSM6.mjs.map → settings-N52O7MLS.mjs.map} +0 -0
|
@@ -1,184 +1,43 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ThreadCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4APCDRSH.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ChatContainer_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-J3JO5NWO.mjs";
|
|
7
7
|
import {
|
|
8
8
|
useDebugMode
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-X5PIP5YR.mjs";
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
11
|
+
meta
|
|
12
|
+
} from "./chunk-EV4JWI7L.mjs";
|
|
13
13
|
|
|
14
|
-
//
|
|
14
|
+
// src/components/ChannelContainer.tsx
|
|
15
15
|
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
16
16
|
import { Rx } from "@effect-rx/rx-react";
|
|
17
17
|
import React10, { useCallback as useCallback2, useEffect as useEffect6, useMemo as useMemo4, useState as useState4 } from "react";
|
|
18
18
|
import { useCapabilities, useCapability as useCapability4 } from "@dxos/app-framework";
|
|
19
19
|
import { Context } from "@dxos/context";
|
|
20
|
+
import { failUndefined } from "@dxos/debug";
|
|
20
21
|
import { log } from "@dxos/log";
|
|
21
22
|
import { useClient } from "@dxos/react-client";
|
|
22
23
|
import { fullyQualifiedId as fullyQualifiedId2, getSpace } from "@dxos/react-client/echo";
|
|
23
24
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
24
|
-
import { useTranslation as useTranslation3
|
|
25
|
-
import { ControlGroup,
|
|
26
|
-
import {
|
|
25
|
+
import { ElevationProvider, Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
26
|
+
import { ControlGroup, ControlGroupButton, ControlItemInput } from "@dxos/react-ui-form";
|
|
27
|
+
import { MenuProvider, ToolbarMenu, createMenuAction, createMenuItemGroup, useMenuActions } from "@dxos/react-ui-menu";
|
|
27
28
|
import { useSoundEffect } from "@dxos/react-ui-sfx";
|
|
28
29
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
29
30
|
|
|
30
|
-
//
|
|
31
|
+
// src/components/Call/Call.tsx
|
|
31
32
|
import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
|
|
32
33
|
import React9 from "react";
|
|
33
34
|
import { useCapability as useCapability3 } from "@dxos/app-framework";
|
|
34
35
|
|
|
35
|
-
//
|
|
36
|
+
// src/components/Media/AudioStream.tsx
|
|
36
37
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
37
|
-
import React from "react";
|
|
38
|
-
import { useAppGraph, useCapability } from "@dxos/app-framework";
|
|
39
|
-
import { useNode, useActions } from "@dxos/plugin-graph";
|
|
40
|
-
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
41
|
-
import { Icon, IconButton, Toolbar as NativeToolbar, toLocalizedString, useTranslation } from "@dxos/react-ui";
|
|
42
|
-
import { groupHoverControlItemWithTransition, mx } from "@dxos/react-ui-theme";
|
|
43
|
-
var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJoin, onLeave }) => {
|
|
44
|
-
var _effect = _useSignals();
|
|
45
|
-
try {
|
|
46
|
-
const { t } = useTranslation(THREAD_PLUGIN);
|
|
47
|
-
const { graph } = useAppGraph();
|
|
48
|
-
const call = useCapability(ThreadCapabilities.CallManager);
|
|
49
|
-
const node = useNode(graph, channel && fullyQualifiedId(channel));
|
|
50
|
-
const actions = useActions(graph, node?.id).filter((action) => action.properties.disposition === "toolbar");
|
|
51
|
-
const isScreensharing = call.media.screenshareTrack !== void 0;
|
|
52
|
-
const canSharescreen = typeof navigator.mediaDevices !== "undefined" && navigator.mediaDevices.getDisplayMedia !== void 0;
|
|
53
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
54
|
-
className: mx("z-20 flex justify-center m-8", autoHideControls && groupHoverControlItemWithTransition)
|
|
55
|
-
}, /* @__PURE__ */ React.createElement(NativeToolbar.Root, {
|
|
56
|
-
classNames: [
|
|
57
|
-
"p-2 bg-modalSurface rounded-md shadow-md",
|
|
58
|
-
classNames
|
|
59
|
-
]
|
|
60
|
-
}, /* @__PURE__ */ React.createElement(ToggleButton, {
|
|
61
|
-
active: call.media.audioEnabled,
|
|
62
|
-
state: {
|
|
63
|
-
on: {
|
|
64
|
-
icon: "ph--microphone--regular",
|
|
65
|
-
label: t("mic off"),
|
|
66
|
-
onClick: () => call.turnAudioOff(),
|
|
67
|
-
classNames: "bg-callActive"
|
|
68
|
-
},
|
|
69
|
-
off: {
|
|
70
|
-
icon: "ph--microphone-slash--duotone",
|
|
71
|
-
label: t("mic on"),
|
|
72
|
-
onClick: () => call.turnAudioOn(),
|
|
73
|
-
classNames: [
|
|
74
|
-
call.joined && "bg-callAlert"
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}), /* @__PURE__ */ React.createElement(ToggleButton, {
|
|
79
|
-
active: call.media.videoEnabled,
|
|
80
|
-
state: {
|
|
81
|
-
on: {
|
|
82
|
-
icon: "ph--video-camera--regular",
|
|
83
|
-
label: t("camera off"),
|
|
84
|
-
onClick: () => call.turnVideoOff()
|
|
85
|
-
},
|
|
86
|
-
off: {
|
|
87
|
-
icon: "ph--video-camera-slash--duotone",
|
|
88
|
-
label: t("camera on"),
|
|
89
|
-
onClick: () => call.turnVideoOn()
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}), participants !== void 0 && /* @__PURE__ */ React.createElement("div", {
|
|
93
|
-
className: "flex justify-center items-center gap-2 is-[5rem] text-xs text-subdued"
|
|
94
|
-
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
95
|
-
icon: "ph--users--regular",
|
|
96
|
-
size: 4
|
|
97
|
-
}), /* @__PURE__ */ React.createElement("div", null, participants)) || /* @__PURE__ */ React.createElement(NativeToolbar.Separator, {
|
|
98
|
-
variant: "gap"
|
|
99
|
-
}), call.joined && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToggleButton, {
|
|
100
|
-
disabled: !canSharescreen,
|
|
101
|
-
active: isScreensharing,
|
|
102
|
-
state: {
|
|
103
|
-
on: {
|
|
104
|
-
icon: "ph--monitor--regular",
|
|
105
|
-
label: t("screenshare off"),
|
|
106
|
-
onClick: () => call.turnScreenshareOff()
|
|
107
|
-
},
|
|
108
|
-
off: {
|
|
109
|
-
icon: "ph--monitor-arrow-up--duotone",
|
|
110
|
-
label: t("screenshare on"),
|
|
111
|
-
onClick: () => call.turnScreenshareOn()
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}), actions.map((action) => /* @__PURE__ */ React.createElement(IconButton, {
|
|
115
|
-
key: action.id,
|
|
116
|
-
...defaultButtonProps,
|
|
117
|
-
icon: action.properties.icon,
|
|
118
|
-
label: toLocalizedString(action.properties.label, t),
|
|
119
|
-
classNames: action.properties.classNames,
|
|
120
|
-
onClick: () => action.data({
|
|
121
|
-
node
|
|
122
|
-
})
|
|
123
|
-
})), /* @__PURE__ */ React.createElement(ToggleButton, {
|
|
124
|
-
active: call.raisedHand,
|
|
125
|
-
state: {
|
|
126
|
-
on: {
|
|
127
|
-
icon: "ph--hand-waving--regular",
|
|
128
|
-
label: t("lower hand"),
|
|
129
|
-
onClick: () => call.setRaisedHand(false),
|
|
130
|
-
classNames: [
|
|
131
|
-
call.joined && "bg-callAlert"
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
|
-
off: {
|
|
135
|
-
icon: "ph--hand-palm--duotone",
|
|
136
|
-
label: t("raise hand"),
|
|
137
|
-
onClick: () => call.setRaisedHand(true)
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
})), call.joined ? /* @__PURE__ */ React.createElement(IconButton, {
|
|
141
|
-
variant: "destructive",
|
|
142
|
-
icon: "ph--phone-x--regular",
|
|
143
|
-
label: t("leave call"),
|
|
144
|
-
onClick: onLeave
|
|
145
|
-
}) : /* @__PURE__ */ React.createElement(IconButton, {
|
|
146
|
-
variant: "primary",
|
|
147
|
-
icon: "ph--phone-incoming--regular",
|
|
148
|
-
label: t("join call"),
|
|
149
|
-
onClick: onJoin
|
|
150
|
-
})));
|
|
151
|
-
} finally {
|
|
152
|
-
_effect.f();
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
Toolbar.displayName = "MeetingToolbar";
|
|
156
|
-
var defaultButtonProps = {
|
|
157
|
-
size: 5,
|
|
158
|
-
iconOnly: true
|
|
159
|
-
};
|
|
160
|
-
var ToggleButton = ({ active, state }) => {
|
|
161
|
-
var _effect = _useSignals();
|
|
162
|
-
try {
|
|
163
|
-
return /* @__PURE__ */ React.createElement(IconButton, {
|
|
164
|
-
...defaultButtonProps,
|
|
165
|
-
classNames: [
|
|
166
|
-
active ? state.on.classNames ?? "bg-callActive" : state.off.classNames
|
|
167
|
-
],
|
|
168
|
-
icon: active ? state.on.icon : state.off.icon,
|
|
169
|
-
label: active ? state.on.label : state.off.label,
|
|
170
|
-
onClick: active ? state.on.onClick : state.off.onClick
|
|
171
|
-
});
|
|
172
|
-
} finally {
|
|
173
|
-
_effect.f();
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
// packages/plugins/plugin-thread/src/components/Media/AudioStream.tsx
|
|
178
|
-
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
179
|
-
import React2, { useEffect, useRef } from "react";
|
|
38
|
+
import React, { useEffect, useRef } from "react";
|
|
180
39
|
var AudioStream = ({ tracks }) => {
|
|
181
|
-
var _effect =
|
|
40
|
+
var _effect = _useSignals();
|
|
182
41
|
try {
|
|
183
42
|
const mediaStreamRef = useRef(new MediaStream());
|
|
184
43
|
const ref = useRef(null);
|
|
@@ -201,10 +60,10 @@ var AudioStream = ({ tracks }) => {
|
|
|
201
60
|
});
|
|
202
61
|
audio.srcObject = mediaStream;
|
|
203
62
|
};
|
|
204
|
-
return /* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("audio", {
|
|
205
64
|
ref,
|
|
206
65
|
autoPlay: true
|
|
207
|
-
}), tracks.map((track) => /* @__PURE__ */
|
|
66
|
+
}), tracks.map((track) => /* @__PURE__ */ React.createElement(AudioTrack, {
|
|
208
67
|
key: track.id,
|
|
209
68
|
track,
|
|
210
69
|
mediaStream: mediaStreamRef.current,
|
|
@@ -230,12 +89,12 @@ var AudioTrack = ({ track, mediaStream, resetSrcObject }) => {
|
|
|
230
89
|
return null;
|
|
231
90
|
};
|
|
232
91
|
|
|
233
|
-
//
|
|
234
|
-
import { useSignals as
|
|
235
|
-
import
|
|
236
|
-
import { mx
|
|
92
|
+
// src/components/Media/VideoObject.tsx
|
|
93
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
94
|
+
import React2, { forwardRef, memo, useEffect as useEffect2, useRef as useRef2 } from "react";
|
|
95
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
237
96
|
var VideoObject = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ videoStream, classNames, flip, contain, ...rest }, ref) => {
|
|
238
|
-
var _effect =
|
|
97
|
+
var _effect = _useSignals2();
|
|
239
98
|
try {
|
|
240
99
|
const internalRef = useRef2(null);
|
|
241
100
|
useEffect2(() => {
|
|
@@ -249,8 +108,8 @@ var VideoObject = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ videoStream
|
|
|
249
108
|
videoStream,
|
|
250
109
|
internalRef.current
|
|
251
110
|
]);
|
|
252
|
-
return /* @__PURE__ */
|
|
253
|
-
className:
|
|
111
|
+
return /* @__PURE__ */ React2.createElement("video", {
|
|
112
|
+
className: mx("w-full aspect-video", flip && "scale-x-[-1]", contain ? "object-contain" : "object-cover", classNames),
|
|
254
113
|
ref: (v) => {
|
|
255
114
|
internalRef.current = v;
|
|
256
115
|
if (ref === null) {
|
|
@@ -270,29 +129,29 @@ var VideoObject = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ videoStream
|
|
|
270
129
|
}));
|
|
271
130
|
VideoObject.displayName = "VideoObject";
|
|
272
131
|
|
|
273
|
-
//
|
|
274
|
-
import { useSignals as
|
|
275
|
-
import
|
|
276
|
-
import { useCapability
|
|
132
|
+
// src/components/Participant/Participant.tsx
|
|
133
|
+
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
134
|
+
import React6, { memo as memo2, useMemo as useMemo2 } from "react";
|
|
135
|
+
import { useCapability } from "@dxos/app-framework";
|
|
277
136
|
|
|
278
|
-
//
|
|
279
|
-
import { useSignals as
|
|
280
|
-
import
|
|
281
|
-
import { mx as
|
|
137
|
+
// src/components/ResponsiveGrid/ResponsiveContainer.tsx
|
|
138
|
+
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
139
|
+
import React3 from "react";
|
|
140
|
+
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
282
141
|
var ResponsiveContainer = ({ children }) => {
|
|
283
|
-
var _effect =
|
|
142
|
+
var _effect = _useSignals3();
|
|
284
143
|
try {
|
|
285
144
|
return (
|
|
286
145
|
// Outer container that takes full size of parent.
|
|
287
|
-
/* @__PURE__ */
|
|
146
|
+
/* @__PURE__ */ React3.createElement("div", {
|
|
288
147
|
role: "none",
|
|
289
148
|
className: "relative flex w-full h-full"
|
|
290
|
-
}, /* @__PURE__ */
|
|
149
|
+
}, /* @__PURE__ */ React3.createElement("div", {
|
|
291
150
|
role: "none",
|
|
292
151
|
className: "absolute inset-0 flex justify-center items-center"
|
|
293
|
-
}, /* @__PURE__ */
|
|
152
|
+
}, /* @__PURE__ */ React3.createElement("div", {
|
|
294
153
|
role: "none",
|
|
295
|
-
className:
|
|
154
|
+
className: mx2("max-h-full max-w-full w-auto h-auto aspect-video")
|
|
296
155
|
}, children)))
|
|
297
156
|
);
|
|
298
157
|
} finally {
|
|
@@ -300,20 +159,20 @@ var ResponsiveContainer = ({ children }) => {
|
|
|
300
159
|
}
|
|
301
160
|
};
|
|
302
161
|
|
|
303
|
-
//
|
|
304
|
-
import { useSignals as
|
|
305
|
-
import
|
|
162
|
+
// src/components/ResponsiveGrid/ResponsiveGrid.tsx
|
|
163
|
+
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
164
|
+
import React4, { useCallback, useEffect as useEffect3, useLayoutEffect, useMemo, useState } from "react";
|
|
306
165
|
import { useResizeDetector } from "react-resize-detector";
|
|
307
166
|
import { invariant } from "@dxos/invariant";
|
|
308
|
-
import { mx as
|
|
309
|
-
var __dxlog_file = "/
|
|
167
|
+
import { mx as mx3 } from "@dxos/react-ui-theme";
|
|
168
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveGrid.tsx";
|
|
310
169
|
var ASPECT_RATIO = 16 / 9;
|
|
311
170
|
var MIN_GALLERY_HEIGHT = 250;
|
|
312
171
|
var DEFAULT_GAP = 8;
|
|
313
172
|
var maxImageSize = "w-[2560px] h-[1440px]";
|
|
314
173
|
var defaultGetId = (item) => item.id;
|
|
315
174
|
var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = defaultGetId, items, pinned, autoHideGallery = false, debug, onPinnedChange }) => {
|
|
316
|
-
var _effect =
|
|
175
|
+
var _effect = _useSignals4();
|
|
317
176
|
try {
|
|
318
177
|
const { width: containerWidth = 0, height: containerHeight = 0, ref: containerRef } = useResizeDetector({
|
|
319
178
|
refreshRate: 100
|
|
@@ -400,47 +259,47 @@ var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = def
|
|
|
400
259
|
pinned,
|
|
401
260
|
onPinnedChange
|
|
402
261
|
]);
|
|
403
|
-
return /* @__PURE__ */
|
|
262
|
+
return /* @__PURE__ */ React4.createElement("div", {
|
|
404
263
|
ref: containerRef,
|
|
405
|
-
className:
|
|
406
|
-
}, /* @__PURE__ */
|
|
264
|
+
className: mx3("relative w-full h-full", classNames)
|
|
265
|
+
}, /* @__PURE__ */ React4.createElement("div", {
|
|
407
266
|
className: "absolute inset-0 flex flex-col grow gap-2"
|
|
408
|
-
}, pinnedItem && /* @__PURE__ */
|
|
409
|
-
className:
|
|
267
|
+
}, pinnedItem && /* @__PURE__ */ React4.createElement("div", {
|
|
268
|
+
className: mx3("flex grow-[2] shrink overflow-hidden justify-center items-center", hideGallery && "h-full"),
|
|
410
269
|
style: hideGallery ? {} : {
|
|
411
270
|
height: dividerHeight
|
|
412
271
|
}
|
|
413
|
-
}, /* @__PURE__ */
|
|
272
|
+
}, /* @__PURE__ */ React4.createElement(SoloItem, {
|
|
414
273
|
id: getId2(pinnedItem),
|
|
415
274
|
debug
|
|
416
|
-
})), !hideGallery && /* @__PURE__ */
|
|
275
|
+
})), !hideGallery && /* @__PURE__ */ React4.createElement("div", {
|
|
417
276
|
ref: gridContainerRef,
|
|
418
277
|
className: "flex grow-[1] overflow-hidden justify-center items-center",
|
|
419
278
|
style: hideGallery ? {} : {
|
|
420
279
|
minHeight: MIN_GALLERY_HEIGHT
|
|
421
280
|
}
|
|
422
|
-
}, mainItems.length === 1 && /* @__PURE__ */
|
|
281
|
+
}, mainItems.length === 1 && /* @__PURE__ */ React4.createElement("div", {
|
|
423
282
|
style: {
|
|
424
283
|
width: cellWidth
|
|
425
284
|
},
|
|
426
285
|
className: "flex h-full"
|
|
427
|
-
}, /* @__PURE__ */
|
|
286
|
+
}, /* @__PURE__ */ React4.createElement(SoloItem, {
|
|
428
287
|
id: getId2(mainItems[0]),
|
|
429
288
|
debug
|
|
430
|
-
})), mainItems.length > 1 && columns > 0 && /* @__PURE__ */
|
|
289
|
+
})), mainItems.length > 1 && columns > 0 && /* @__PURE__ */ React4.createElement("div", {
|
|
431
290
|
role: "grid",
|
|
432
291
|
style: {
|
|
433
292
|
display: "grid",
|
|
434
293
|
gridTemplateColumns: `repeat(${columns}, ${cellWidth}px)`,
|
|
435
294
|
gap: `${gap}px`
|
|
436
295
|
}
|
|
437
|
-
}, mainItems.map((item) => /* @__PURE__ */
|
|
296
|
+
}, mainItems.map((item) => /* @__PURE__ */ React4.createElement("div", {
|
|
438
297
|
key: getId2(item),
|
|
439
298
|
"data-grid-item": getId2(item),
|
|
440
|
-
className:
|
|
441
|
-
}))))), /* @__PURE__ */
|
|
442
|
-
className:
|
|
443
|
-
}, bounds.map(([item, bounds2]) => /* @__PURE__ */
|
|
299
|
+
className: mx3("aspect-video max-h-full max-w-full w-auto h-auto", debug && "border border-primary-500")
|
|
300
|
+
}))))), /* @__PURE__ */ React4.createElement("div", {
|
|
301
|
+
className: mx3(debug && "opacity-10")
|
|
302
|
+
}, bounds.map(([item, bounds2]) => /* @__PURE__ */ React4.createElement(Cell, {
|
|
444
303
|
key: getId2(item),
|
|
445
304
|
classNames: "absolute transition-all duration-500",
|
|
446
305
|
item,
|
|
@@ -453,14 +312,14 @@ var ResponsiveGrid = ({ classNames, Cell, gap = DEFAULT_GAP, getId: getId2 = def
|
|
|
453
312
|
}
|
|
454
313
|
};
|
|
455
314
|
var SoloItem = ({ debug, id }) => {
|
|
456
|
-
var _effect =
|
|
315
|
+
var _effect = _useSignals4();
|
|
457
316
|
try {
|
|
458
|
-
return /* @__PURE__ */
|
|
317
|
+
return /* @__PURE__ */ React4.createElement(ResponsiveContainer, null, /* @__PURE__ */ React4.createElement("div", {
|
|
459
318
|
"data-grid-item": id,
|
|
460
|
-
className:
|
|
461
|
-
}, /* @__PURE__ */
|
|
319
|
+
className: mx3("aspect-video overflow-hidden", debug && "z-20 border-2 border-primary-500")
|
|
320
|
+
}, /* @__PURE__ */ React4.createElement("img", {
|
|
462
321
|
alt: "placeholder video",
|
|
463
|
-
className:
|
|
322
|
+
className: mx3("opacity-0", maxImageSize)
|
|
464
323
|
})));
|
|
465
324
|
} finally {
|
|
466
325
|
_effect.f();
|
|
@@ -529,16 +388,16 @@ var fitAspectRatio = (outerWidth, outerHeight, aspectRatio) => {
|
|
|
529
388
|
};
|
|
530
389
|
};
|
|
531
390
|
|
|
532
|
-
//
|
|
533
|
-
import { useSignals as
|
|
534
|
-
import
|
|
535
|
-
import { Icon
|
|
391
|
+
// src/components/ResponsiveGrid/ResponsiveGridItem.tsx
|
|
392
|
+
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
393
|
+
import React5, { useEffect as useEffect4, useState as useState2 } from "react";
|
|
394
|
+
import { Icon, IconButton, useTranslation } from "@dxos/react-ui";
|
|
536
395
|
import { Waveform } from "@dxos/react-ui-sfx";
|
|
537
|
-
import { groupHoverControlItemWithTransition
|
|
396
|
+
import { groupHoverControlItemWithTransition, mx as mx4 } from "@dxos/react-ui-theme";
|
|
538
397
|
var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinned, screenshare, video, mute, wave, speaking, onClick }) => {
|
|
539
|
-
var _effect =
|
|
398
|
+
var _effect = _useSignals5();
|
|
540
399
|
try {
|
|
541
|
-
const { t } =
|
|
400
|
+
const { t } = useTranslation(meta.id);
|
|
542
401
|
const iconProps = {
|
|
543
402
|
wave: {
|
|
544
403
|
icon: "ph--hand-waving--duotone",
|
|
@@ -564,32 +423,32 @@ var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinne
|
|
|
564
423
|
}, [
|
|
565
424
|
speaking
|
|
566
425
|
]);
|
|
567
|
-
return /* @__PURE__ */
|
|
568
|
-
className:
|
|
426
|
+
return /* @__PURE__ */ React5.createElement("div", {
|
|
427
|
+
className: mx4("relative w-full h-full group", "rounded-md outline outline-2 outline-neutral-900 transition-[outline-color] duration-500", speakingIndicator ? "outline-green-500" : !video && "outline-separator", classNames),
|
|
569
428
|
style
|
|
570
|
-
}, children, onClick && /* @__PURE__ */
|
|
429
|
+
}, children, onClick && /* @__PURE__ */ React5.createElement("div", {
|
|
571
430
|
className: "z-10 absolute top-1 right-1 flex"
|
|
572
|
-
}, /* @__PURE__ */
|
|
573
|
-
classNames:
|
|
431
|
+
}, /* @__PURE__ */ React5.createElement(IconButton, {
|
|
432
|
+
classNames: mx4("p-1 min-bs-1 rounded", groupHoverControlItemWithTransition),
|
|
574
433
|
iconOnly: true,
|
|
575
434
|
icon: pinned ? "ph--x--regular" : "ph--arrows-out--regular",
|
|
576
435
|
size: pinned ? 5 : 4,
|
|
577
436
|
label: pinned ? t("icon unpin") : t("icon pin"),
|
|
578
437
|
onClick: () => onClick?.(item)
|
|
579
|
-
})), name && /* @__PURE__ */
|
|
438
|
+
})), name && /* @__PURE__ */ React5.createElement("div", {
|
|
580
439
|
className: "z-10 absolute bottom-1 left-8 right-1 flex justify-end gap-1 items-center"
|
|
581
|
-
}, screenshare && /* @__PURE__ */
|
|
440
|
+
}, screenshare && /* @__PURE__ */ React5.createElement(Icon, {
|
|
582
441
|
icon: "ph--broadcast--regular",
|
|
583
442
|
size: pinned ? 5 : 4
|
|
584
|
-
}), /* @__PURE__ */
|
|
585
|
-
className:
|
|
586
|
-
}, name)), /* @__PURE__ */
|
|
443
|
+
}), /* @__PURE__ */ React5.createElement("div", {
|
|
444
|
+
className: mx4("bg-neutral-800 text-neutral-100 py-0.5 truncate rounded", pinned ? "px-2" : "px-1 text-xs")
|
|
445
|
+
}, name)), /* @__PURE__ */ React5.createElement("div", {
|
|
587
446
|
className: "z-10 absolute bottom-1 left-1 flex"
|
|
588
|
-
}, speaking && /* @__PURE__ */
|
|
447
|
+
}, speaking && /* @__PURE__ */ React5.createElement(Waveform, {
|
|
589
448
|
active: true,
|
|
590
449
|
size: pinned ? 5 : 4
|
|
591
|
-
}) || props && /* @__PURE__ */
|
|
592
|
-
classNames:
|
|
450
|
+
}) || props && /* @__PURE__ */ React5.createElement(IconButton, {
|
|
451
|
+
classNames: mx4("p-1 min-bs-1 rounded", props?.classNames),
|
|
593
452
|
icon: props?.icon,
|
|
594
453
|
label: props?.label,
|
|
595
454
|
size: pinned ? 5 : 4,
|
|
@@ -600,12 +459,12 @@ var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinne
|
|
|
600
459
|
}
|
|
601
460
|
};
|
|
602
461
|
|
|
603
|
-
//
|
|
462
|
+
// src/components/Participant/Participant.tsx
|
|
604
463
|
var SCREENSHARE_SUFFIX = "_screenshare";
|
|
605
464
|
var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
|
|
606
|
-
var _effect =
|
|
465
|
+
var _effect = _useSignals6();
|
|
607
466
|
try {
|
|
608
|
-
const call =
|
|
467
|
+
const call = useCapability(ThreadCapabilities.CallManager);
|
|
609
468
|
const isSelf = call.self.id !== void 0 && user.id !== void 0 && user.id.startsWith(call.self.id);
|
|
610
469
|
const isScreenshare = user.id?.endsWith(SCREENSHARE_SUFFIX);
|
|
611
470
|
const pulledVideoStream = call.getVideoStream(isScreenshare || !isSelf ? user.tracks?.video : void 0);
|
|
@@ -624,7 +483,7 @@ var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
|
|
|
624
483
|
call.media.screenshareVideoStream,
|
|
625
484
|
pulledVideoStream
|
|
626
485
|
]);
|
|
627
|
-
return /* @__PURE__ */
|
|
486
|
+
return /* @__PURE__ */ React6.createElement(ResponsiveGridItem, {
|
|
628
487
|
...props,
|
|
629
488
|
item: user,
|
|
630
489
|
name: user.name,
|
|
@@ -635,7 +494,7 @@ var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
|
|
|
635
494
|
wave: user.raisedHand,
|
|
636
495
|
speaking: user.speaking,
|
|
637
496
|
debug
|
|
638
|
-
}, /* @__PURE__ */
|
|
497
|
+
}, /* @__PURE__ */ React6.createElement(VideoObject, {
|
|
639
498
|
videoStream,
|
|
640
499
|
flip: isSelf && !isScreenshare,
|
|
641
500
|
contain: !!isScreenshare,
|
|
@@ -647,12 +506,12 @@ var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
|
|
|
647
506
|
});
|
|
648
507
|
Participant.displayName = "Participant";
|
|
649
508
|
|
|
650
|
-
//
|
|
651
|
-
import { useSignals as
|
|
652
|
-
import
|
|
509
|
+
// src/components/Participant/ParticipantGrid.tsx
|
|
510
|
+
import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
|
|
511
|
+
import React7, { useEffect as useEffect5, useMemo as useMemo3, useState as useState3 } from "react";
|
|
653
512
|
var getId = (user) => user.id;
|
|
654
513
|
var ParticipantGrid = ({ classNames, self, users, fullscreen, debug }) => {
|
|
655
|
-
var _effect =
|
|
514
|
+
var _effect = _useSignals7();
|
|
656
515
|
try {
|
|
657
516
|
const [pinned, setPinned] = useState3();
|
|
658
517
|
const allUsers = useMemo3(() => {
|
|
@@ -706,7 +565,7 @@ var ParticipantGrid = ({ classNames, self, users, fullscreen, debug }) => {
|
|
|
706
565
|
return 0;
|
|
707
566
|
}
|
|
708
567
|
});
|
|
709
|
-
return /* @__PURE__ */
|
|
568
|
+
return /* @__PURE__ */ React7.createElement(ResponsiveGrid, {
|
|
710
569
|
classNames,
|
|
711
570
|
Cell: Participant,
|
|
712
571
|
debug,
|
|
@@ -721,7 +580,149 @@ var ParticipantGrid = ({ classNames, self, users, fullscreen, debug }) => {
|
|
|
721
580
|
}
|
|
722
581
|
};
|
|
723
582
|
|
|
724
|
-
//
|
|
583
|
+
// src/components/Call/Toolbar.tsx
|
|
584
|
+
import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
|
|
585
|
+
import React8 from "react";
|
|
586
|
+
import { useAppGraph, useCapability as useCapability2 } from "@dxos/app-framework";
|
|
587
|
+
import { useActions, useNode } from "@dxos/plugin-graph";
|
|
588
|
+
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
589
|
+
import { Icon as Icon2, IconButton as IconButton2, Toolbar as NativeToolbar, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
590
|
+
import { groupHoverControlItemWithTransition as groupHoverControlItemWithTransition2, mx as mx5 } from "@dxos/react-ui-theme";
|
|
591
|
+
var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJoin, onLeave }) => {
|
|
592
|
+
var _effect = _useSignals8();
|
|
593
|
+
try {
|
|
594
|
+
const { t } = useTranslation2(meta.id);
|
|
595
|
+
const { graph } = useAppGraph();
|
|
596
|
+
const call = useCapability2(ThreadCapabilities.CallManager);
|
|
597
|
+
const node = useNode(graph, channel && fullyQualifiedId(channel));
|
|
598
|
+
const actions = useActions(graph, node?.id).filter((action) => action.properties.disposition === "toolbar");
|
|
599
|
+
const isScreensharing = call.media.screenshareTrack !== void 0;
|
|
600
|
+
const canSharescreen = typeof navigator.mediaDevices !== "undefined" && navigator.mediaDevices.getDisplayMedia !== void 0;
|
|
601
|
+
return /* @__PURE__ */ React8.createElement("div", {
|
|
602
|
+
className: mx5("z-20 flex justify-center m-8", autoHideControls && groupHoverControlItemWithTransition2)
|
|
603
|
+
}, /* @__PURE__ */ React8.createElement(NativeToolbar.Root, {
|
|
604
|
+
classNames: [
|
|
605
|
+
"p-2 bg-modalSurface rounded-md shadow-md",
|
|
606
|
+
classNames
|
|
607
|
+
]
|
|
608
|
+
}, /* @__PURE__ */ React8.createElement(ToggleButton, {
|
|
609
|
+
active: call.media.audioEnabled,
|
|
610
|
+
state: {
|
|
611
|
+
on: {
|
|
612
|
+
icon: "ph--microphone--regular",
|
|
613
|
+
label: t("mic off"),
|
|
614
|
+
onClick: () => call.turnAudioOff(),
|
|
615
|
+
classNames: "bg-callActive"
|
|
616
|
+
},
|
|
617
|
+
off: {
|
|
618
|
+
icon: "ph--microphone-slash--duotone",
|
|
619
|
+
label: t("mic on"),
|
|
620
|
+
onClick: () => call.turnAudioOn(),
|
|
621
|
+
classNames: [
|
|
622
|
+
call.joined && "bg-callAlert"
|
|
623
|
+
]
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}), /* @__PURE__ */ React8.createElement(ToggleButton, {
|
|
627
|
+
active: call.media.videoEnabled,
|
|
628
|
+
state: {
|
|
629
|
+
on: {
|
|
630
|
+
icon: "ph--video-camera--regular",
|
|
631
|
+
label: t("camera off"),
|
|
632
|
+
onClick: () => call.turnVideoOff()
|
|
633
|
+
},
|
|
634
|
+
off: {
|
|
635
|
+
icon: "ph--video-camera-slash--duotone",
|
|
636
|
+
label: t("camera on"),
|
|
637
|
+
onClick: () => call.turnVideoOn()
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}), participants !== void 0 && /* @__PURE__ */ React8.createElement("div", {
|
|
641
|
+
className: "flex justify-center items-center gap-2 is-[5rem] text-xs text-subdued"
|
|
642
|
+
}, /* @__PURE__ */ React8.createElement(Icon2, {
|
|
643
|
+
icon: "ph--users--regular",
|
|
644
|
+
size: 4
|
|
645
|
+
}), /* @__PURE__ */ React8.createElement("div", null, participants)) || /* @__PURE__ */ React8.createElement(NativeToolbar.Separator, {
|
|
646
|
+
variant: "gap"
|
|
647
|
+
}), call.joined && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(ToggleButton, {
|
|
648
|
+
disabled: !canSharescreen,
|
|
649
|
+
active: isScreensharing,
|
|
650
|
+
state: {
|
|
651
|
+
on: {
|
|
652
|
+
icon: "ph--monitor--regular",
|
|
653
|
+
label: t("screenshare off"),
|
|
654
|
+
onClick: () => call.turnScreenshareOff()
|
|
655
|
+
},
|
|
656
|
+
off: {
|
|
657
|
+
icon: "ph--monitor-arrow-up--duotone",
|
|
658
|
+
label: t("screenshare on"),
|
|
659
|
+
onClick: () => call.turnScreenshareOn()
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
}), actions.map((action) => /* @__PURE__ */ React8.createElement(IconButton2, {
|
|
663
|
+
key: action.id,
|
|
664
|
+
...defaultButtonProps,
|
|
665
|
+
icon: action.properties.icon,
|
|
666
|
+
label: toLocalizedString(action.properties.label, t),
|
|
667
|
+
classNames: action.properties.classNames,
|
|
668
|
+
onClick: () => action.data({
|
|
669
|
+
node
|
|
670
|
+
})
|
|
671
|
+
})), /* @__PURE__ */ React8.createElement(ToggleButton, {
|
|
672
|
+
active: call.raisedHand,
|
|
673
|
+
state: {
|
|
674
|
+
on: {
|
|
675
|
+
icon: "ph--hand-waving--regular",
|
|
676
|
+
label: t("lower hand"),
|
|
677
|
+
onClick: () => call.setRaisedHand(false),
|
|
678
|
+
classNames: [
|
|
679
|
+
call.joined && "bg-callAlert"
|
|
680
|
+
]
|
|
681
|
+
},
|
|
682
|
+
off: {
|
|
683
|
+
icon: "ph--hand-palm--duotone",
|
|
684
|
+
label: t("raise hand"),
|
|
685
|
+
onClick: () => call.setRaisedHand(true)
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
})), call.joined ? /* @__PURE__ */ React8.createElement(IconButton2, {
|
|
689
|
+
variant: "destructive",
|
|
690
|
+
icon: "ph--phone-x--regular",
|
|
691
|
+
label: t("leave call"),
|
|
692
|
+
onClick: onLeave
|
|
693
|
+
}) : /* @__PURE__ */ React8.createElement(IconButton2, {
|
|
694
|
+
variant: "primary",
|
|
695
|
+
icon: "ph--phone-incoming--regular",
|
|
696
|
+
label: t("join call"),
|
|
697
|
+
onClick: onJoin
|
|
698
|
+
})));
|
|
699
|
+
} finally {
|
|
700
|
+
_effect.f();
|
|
701
|
+
}
|
|
702
|
+
};
|
|
703
|
+
Toolbar.displayName = "MeetingToolbar";
|
|
704
|
+
var defaultButtonProps = {
|
|
705
|
+
size: 5,
|
|
706
|
+
iconOnly: true
|
|
707
|
+
};
|
|
708
|
+
var ToggleButton = ({ active, state }) => {
|
|
709
|
+
var _effect = _useSignals8();
|
|
710
|
+
try {
|
|
711
|
+
return /* @__PURE__ */ React8.createElement(IconButton2, {
|
|
712
|
+
...defaultButtonProps,
|
|
713
|
+
classNames: [
|
|
714
|
+
active ? state.on.classNames ?? "bg-callActive" : state.off.classNames
|
|
715
|
+
],
|
|
716
|
+
icon: active ? state.on.icon : state.off.icon,
|
|
717
|
+
label: active ? state.on.label : state.off.label,
|
|
718
|
+
onClick: active ? state.on.onClick : state.off.onClick
|
|
719
|
+
});
|
|
720
|
+
} finally {
|
|
721
|
+
_effect.f();
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
// src/components/Call/Call.tsx
|
|
725
726
|
var CallRoot = ({ children }) => {
|
|
726
727
|
var _effect = _useSignals9();
|
|
727
728
|
try {
|
|
@@ -738,7 +739,7 @@ var CallAudio = () => {
|
|
|
738
739
|
try {
|
|
739
740
|
const call = useCapability3(ThreadCapabilities.CallManager);
|
|
740
741
|
return /* @__PURE__ */ React9.createElement(AudioStream, {
|
|
741
|
-
tracks: call.
|
|
742
|
+
tracks: call.audioTracksToPlay
|
|
742
743
|
});
|
|
743
744
|
} finally {
|
|
744
745
|
_effect.f();
|
|
@@ -784,14 +785,14 @@ var Call = {
|
|
|
784
785
|
Toolbar: CallToolbar
|
|
785
786
|
};
|
|
786
787
|
|
|
787
|
-
//
|
|
788
|
-
var __dxlog_file2 = "/
|
|
788
|
+
// src/components/ChannelContainer.tsx
|
|
789
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/components/ChannelContainer.tsx";
|
|
789
790
|
var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
|
|
790
791
|
var _effect = _useSignals10();
|
|
791
792
|
try {
|
|
792
793
|
const space = getSpace(channel);
|
|
793
794
|
const callManager = useCapability4(ThreadCapabilities.CallManager);
|
|
794
|
-
const roomId = channel ? fullyQualifiedId2(channel) :
|
|
795
|
+
const roomId = _roomId ?? (channel ? fullyQualifiedId2(channel) : failUndefined());
|
|
795
796
|
const identity = useIdentity();
|
|
796
797
|
const isNamed = !!identity?.profile?.displayName;
|
|
797
798
|
const joinSound = useSoundEffect("JoinCall");
|
|
@@ -800,7 +801,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
|
|
|
800
801
|
useEffect6(() => {
|
|
801
802
|
const ctx = new Context(void 0, {
|
|
802
803
|
F: __dxlog_file2,
|
|
803
|
-
L:
|
|
804
|
+
L: 49
|
|
804
805
|
});
|
|
805
806
|
callManager.left.on(ctx, (roomId2) => {
|
|
806
807
|
extensions.forEach((extension) => {
|
|
@@ -842,7 +843,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
|
|
|
842
843
|
} catch (err) {
|
|
843
844
|
log.catch(err, void 0, {
|
|
844
845
|
F: __dxlog_file2,
|
|
845
|
-
L:
|
|
846
|
+
L: 93,
|
|
846
847
|
S: void 0,
|
|
847
848
|
C: (f, a) => f(...a)
|
|
848
849
|
});
|
|
@@ -858,7 +859,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
|
|
|
858
859
|
} catch (err) {
|
|
859
860
|
log.catch(err, void 0, {
|
|
860
861
|
F: __dxlog_file2,
|
|
861
|
-
L:
|
|
862
|
+
L: 105,
|
|
862
863
|
S: void 0,
|
|
863
864
|
C: (f, a) => f(...a)
|
|
864
865
|
});
|
|
@@ -897,7 +898,7 @@ var ChannelContainer_default = ChannelContainer;
|
|
|
897
898
|
var DisplayNameMissing = () => {
|
|
898
899
|
var _effect = _useSignals10();
|
|
899
900
|
try {
|
|
900
|
-
const { t } = useTranslation3(
|
|
901
|
+
const { t } = useTranslation3(meta.id);
|
|
901
902
|
const client = useClient();
|
|
902
903
|
const [displayName, setDisplayName] = useState4("");
|
|
903
904
|
const handleChange = useCallback2((event) => setDisplayName(event.target.value), []);
|
|
@@ -933,7 +934,7 @@ var useChannelToolbarActions = (onJoinCall) => {
|
|
|
933
934
|
label: [
|
|
934
935
|
"channel toolbar title",
|
|
935
936
|
{
|
|
936
|
-
ns:
|
|
937
|
+
ns: meta.id
|
|
937
938
|
}
|
|
938
939
|
]
|
|
939
940
|
}),
|
|
@@ -941,7 +942,7 @@ var useChannelToolbarActions = (onJoinCall) => {
|
|
|
941
942
|
label: [
|
|
942
943
|
"start video call label",
|
|
943
944
|
{
|
|
944
|
-
ns:
|
|
945
|
+
ns: meta.id
|
|
945
946
|
}
|
|
946
947
|
],
|
|
947
948
|
icon: "ph--video-camera--regular",
|
|
@@ -980,4 +981,4 @@ export {
|
|
|
980
981
|
ChannelContainer,
|
|
981
982
|
ChannelContainer_default
|
|
982
983
|
};
|
|
983
|
-
//# sourceMappingURL=chunk-
|
|
984
|
+
//# sourceMappingURL=chunk-ZJ7QBXK6.mjs.map
|