@q9labsai/chalk-react-native 4.1.17 → 5.0.1
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/README.md +134 -29
- package/android/build.gradle +35 -0
- package/android/compatibility/ModuleApiCompatibility.java +215 -0
- package/android/src/main/AndroidManifest.xml +2 -1
- package/android/src/main/java/ai/q9labs/chalk/reactnative/ChalkSpaceForegroundService.java +105 -31
- package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkAndroidConnectionServicePackage.kt +2 -0
- package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkAudioRouteModule.kt +137 -0
- package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/ChalkCallServiceModule.kt +32 -0
- package/android/src/main/kotlin/ai/q9labs/chalk/reactnative/CommunicationDeviceListener.kt +23 -0
- package/android/src/test/kotlin/ai/q9labs/chalk/compatibility/UnsafeSignatures.kt +29 -0
- package/dist/android/call-service.d.ts +4 -0
- package/dist/android/call-service.d.ts.map +1 -0
- package/dist/avatar/FaceAvatar.d.ts +19 -0
- package/dist/avatar/FaceAvatar.d.ts.map +1 -0
- package/dist/avatar/tile-avatar-size.d.ts +3 -0
- package/dist/avatar/tile-avatar-size.d.ts.map +1 -0
- package/dist/chunk-GYVZSOGQ.js +30 -0
- package/dist/chunk-IHE6EA3T.js +25 -0
- package/dist/chunk-OIBT2FNM.js +1479 -0
- package/dist/client.d.ts +1 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +185 -2
- package/dist/components/EmbeddedWhiteboard.d.ts.map +1 -1
- package/dist/components/native-media-visibility.d.ts +3 -2
- package/dist/components/native-media-visibility.d.ts.map +1 -1
- package/dist/components/useAndroidCallService.d.ts +8 -0
- package/dist/components/useAndroidCallService.d.ts.map +1 -0
- package/dist/dev.d.ts +10 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +10 -0
- package/dist/dock/Dock.d.ts +23 -0
- package/dist/dock/Dock.d.ts.map +1 -0
- package/dist/dock/LeaveMenu.d.ts +12 -0
- package/dist/dock/LeaveMenu.d.ts.map +1 -0
- package/dist/dock/MoreSheet.d.ts +17 -0
- package/dist/dock/MoreSheet.d.ts.map +1 -0
- package/dist/dock/ReactionBurst.d.ts +8 -0
- package/dist/dock/ReactionBurst.d.ts.map +1 -0
- package/dist/dock/RoutePicker.d.ts +16 -0
- package/dist/dock/RoutePicker.d.ts.map +1 -0
- package/dist/dock/audio-route.d.ts +25 -0
- package/dist/dock/audio-route.d.ts.map +1 -0
- package/dist/error-YOPTEH5N.wav +0 -0
- package/dist/frame/CallFrame.d.ts +17 -0
- package/dist/frame/CallFrame.d.ts.map +1 -0
- package/dist/frame/Chalk.d.ts +40 -0
- package/dist/frame/Chalk.d.ts.map +1 -0
- package/dist/frame/back-handler.d.ts +6 -0
- package/dist/frame/back-handler.d.ts.map +1 -0
- package/dist/frame/dev-scenario.d.ts +28 -0
- package/dist/frame/dev-scenario.d.ts.map +1 -0
- package/dist/frame/device-layout.d.ts +16 -0
- package/dist/frame/device-layout.d.ts.map +1 -0
- package/dist/frame/measurement.d.ts +28 -0
- package/dist/frame/measurement.d.ts.map +1 -0
- package/dist/frame/portal.d.ts +24 -0
- package/dist/frame/portal.d.ts.map +1 -0
- package/dist/frame/preferences.d.ts +21 -0
- package/dist/frame/preferences.d.ts.map +1 -0
- package/dist/frame/regions.d.ts +25 -0
- package/dist/frame/regions.d.ts.map +1 -0
- package/dist/hand-DFWVXPH2.wav +0 -0
- package/dist/haptics/haptics.d.ts +12 -0
- package/dist/haptics/haptics.d.ts.map +1 -0
- package/dist/header/CallDetailsSheet.d.ts +18 -0
- package/dist/header/CallDetailsSheet.d.ts.map +1 -0
- package/dist/header/Header.d.ts +17 -0
- package/dist/header/Header.d.ts.map +1 -0
- package/dist/header/QrCode.d.ts +6 -0
- package/dist/header/QrCode.d.ts.map +1 -0
- package/dist/icons/Icon.d.ts +12 -0
- package/dist/icons/Icon.d.ts.map +1 -0
- package/dist/icons/icon-element.d.ts +24 -0
- package/dist/icons/icon-element.d.ts.map +1 -0
- package/dist/icons/icon-paths.d.ts +530 -0
- package/dist/icons/icon-paths.d.ts.map +1 -0
- package/dist/index.d.ts +6 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2956 -38
- package/dist/join-Z6RL5AHE.wav +0 -0
- package/dist/knock-4VBQSHK4.wav +0 -0
- package/dist/leave-MQLZOWQD.wav +0 -0
- package/dist/limbo/Limbo.d.ts +25 -0
- package/dist/limbo/Limbo.d.ts.map +1 -0
- package/dist/limbo/Veil.d.ts +10 -0
- package/dist/limbo/Veil.d.ts.map +1 -0
- package/dist/media/native-capture-error.d.ts +7 -0
- package/dist/media/native-capture-error.d.ts.map +1 -0
- package/dist/message-6Y6WJGTB.wav +0 -0
- package/dist/motion/MovingFrame.d.ts +36 -0
- package/dist/motion/MovingFrame.d.ts.map +1 -0
- package/dist/motion/motion.d.ts +82 -0
- package/dist/motion/motion.d.ts.map +1 -0
- package/dist/motion/presence.d.ts +6 -0
- package/dist/motion/presence.d.ts.map +1 -0
- package/dist/motion/press.d.ts +15 -0
- package/dist/motion/press.d.ts.map +1 -0
- package/dist/mute-H5SJFXVI.wav +0 -0
- package/dist/primitives/BottomSheet.d.ts +36 -0
- package/dist/primitives/BottomSheet.d.ts.map +1 -0
- package/dist/primitives/ChalkText.d.ts +13 -0
- package/dist/primitives/ChalkText.d.ts.map +1 -0
- package/dist/primitives/CopyButton.d.ts +11 -0
- package/dist/primitives/CopyButton.d.ts.map +1 -0
- package/dist/primitives/IconButton.d.ts +26 -0
- package/dist/primitives/IconButton.d.ts.map +1 -0
- package/dist/primitives/Menu.d.ts +39 -0
- package/dist/primitives/Menu.d.ts.map +1 -0
- package/dist/primitives/NameTag.d.ts +19 -0
- package/dist/primitives/NameTag.d.ts.map +1 -0
- package/dist/primitives/PillButton.d.ts +19 -0
- package/dist/primitives/PillButton.d.ts.map +1 -0
- package/dist/primitives/SegmentedControl.d.ts +17 -0
- package/dist/primitives/SegmentedControl.d.ts.map +1 -0
- package/dist/primitives/SheetGroup.d.ts +24 -0
- package/dist/primitives/SheetGroup.d.ts.map +1 -0
- package/dist/primitives/Switch.d.ts +9 -0
- package/dist/primitives/Switch.d.ts.map +1 -0
- package/dist/primitives/TileShell.d.ts +18 -0
- package/dist/primitives/TileShell.d.ts.map +1 -0
- package/dist/primitives/announce.d.ts +3 -0
- package/dist/primitives/announce.d.ts.map +1 -0
- package/dist/primitives/menu-placement.d.ts +32 -0
- package/dist/primitives/menu-placement.d.ts.map +1 -0
- package/dist/primitives/toast/Toast.d.ts +8 -0
- package/dist/primitives/toast/Toast.d.ts.map +1 -0
- package/dist/primitives/toast/ToastStack.d.ts +18 -0
- package/dist/primitives/toast/ToastStack.d.ts.map +1 -0
- package/dist/primitives/toast/toast-store.d.ts +39 -0
- package/dist/primitives/toast/toast-store.d.ts.map +1 -0
- package/dist/recording-Q4GB77Y4.wav +0 -0
- package/dist/sheets/people-chat/ChatNotices.d.ts +14 -0
- package/dist/sheets/people-chat/ChatNotices.d.ts.map +1 -0
- package/dist/sheets/people-chat/ChatTab.d.ts +6 -0
- package/dist/sheets/people-chat/ChatTab.d.ts.map +1 -0
- package/dist/sheets/people-chat/Composer.d.ts +7 -0
- package/dist/sheets/people-chat/Composer.d.ts.map +1 -0
- package/dist/sheets/people-chat/PeopleChatSheet.d.ts +17 -0
- package/dist/sheets/people-chat/PeopleChatSheet.d.ts.map +1 -0
- package/dist/sheets/people-chat/PeopleTab.d.ts +3 -0
- package/dist/sheets/people-chat/PeopleTab.d.ts.map +1 -0
- package/dist/sheets/people-chat/PhotoViewer.d.ts +19 -0
- package/dist/sheets/people-chat/PhotoViewer.d.ts.map +1 -0
- package/dist/sheets/people-chat/TextField.d.ts +4 -0
- package/dist/sheets/people-chat/TextField.d.ts.map +1 -0
- package/dist/sheets/people-chat/attachments.d.ts +33 -0
- package/dist/sheets/people-chat/attachments.d.ts.map +1 -0
- package/dist/sheets/people-chat/chat-model.d.ts +64 -0
- package/dist/sheets/people-chat/chat-model.d.ts.map +1 -0
- package/dist/sheets/people-chat/people-model.d.ts +43 -0
- package/dist/sheets/people-chat/people-model.d.ts.map +1 -0
- package/dist/sounds/sounds.d.ts +33 -0
- package/dist/sounds/sounds.d.ts.map +1 -0
- package/dist/space-client/create-native-space-client.d.ts +0 -4
- package/dist/space-client/create-native-space-client.d.ts.map +1 -1
- package/dist/space-client/random-uuid.d.ts +7 -0
- package/dist/space-client/random-uuid.d.ts.map +1 -0
- package/dist/stage/ContentTile.d.ts +18 -0
- package/dist/stage/ContentTile.d.ts.map +1 -0
- package/dist/stage/ParticipantTile.d.ts +18 -0
- package/dist/stage/ParticipantTile.d.ts.map +1 -0
- package/dist/stage/Stage.d.ts +14 -0
- package/dist/stage/Stage.d.ts.map +1 -0
- package/dist/stage/TileSheet.d.ts +12 -0
- package/dist/stage/TileSheet.d.ts.map +1 -0
- package/dist/stage/camera.d.ts +7 -0
- package/dist/stage/camera.d.ts.map +1 -0
- package/dist/stage/layout.d.ts +57 -0
- package/dist/stage/layout.d.ts.map +1 -0
- package/dist/stage/space-selector.d.ts +10 -0
- package/dist/stage/space-selector.d.ts.map +1 -0
- package/dist/stage/stage-view.d.ts +23 -0
- package/dist/stage/stage-view.d.ts.map +1 -0
- package/dist/status/CallOverlays.d.ts +17 -0
- package/dist/status/CallOverlays.d.ts.map +1 -0
- package/dist/status/ChalkArrival.d.ts +24 -0
- package/dist/status/ChalkArrival.d.ts.map +1 -0
- package/dist/status/StatusPage.d.ts +14 -0
- package/dist/status/StatusPage.d.ts.map +1 -0
- package/dist/status/call-screen.d.ts +20 -0
- package/dist/status/call-screen.d.ts.map +1 -0
- package/dist/test-VD2KAM4D.wav +0 -0
- package/dist/theme/theme.d.ts +15 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/tokens.d.ts +248 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/toasts/CallEventToasts.d.ts +21 -0
- package/dist/toasts/CallEventToasts.d.ts.map +1 -0
- package/dist/toasts/notices.d.ts +34 -0
- package/dist/toasts/notices.d.ts.map +1 -0
- package/dist/ui/ChalkUI.d.ts +12 -0
- package/dist/ui/ChalkUI.d.ts.map +1 -0
- package/dist/ui.d.ts +25 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +77 -0
- package/dist/unmute-2XR2LICU.wav +0 -0
- package/embedded/chalk-whiteboard/asset-manifest.json +2 -2
- package/embedded/chalk-whiteboard/renderer.js +510 -510
- package/ios/ChalkAudioRouteModule.swift +93 -0
- package/ios/ChalkAudioRouteModuleBridge.m +9 -0
- package/package.json +46 -76
- package/src/android/call-service.ts +19 -0
- package/src/avatar/FaceAvatar.tsx +145 -0
- package/src/avatar/tile-avatar-size.ts +4 -0
- package/src/client.ts +1 -5
- package/src/components/EmbeddedWhiteboard.tsx +14 -71
- package/src/components/native-media-visibility.ts +1 -2
- package/src/components/useAndroidCallService.ts +41 -0
- package/src/dev.ts +9 -0
- package/src/dock/Dock.tsx +95 -0
- package/src/dock/LeaveMenu.tsx +21 -0
- package/src/dock/MoreSheet.tsx +233 -0
- package/src/dock/ReactionBurst.tsx +55 -0
- package/src/dock/RoutePicker.tsx +42 -0
- package/src/dock/audio-route.ts +69 -0
- package/src/frame/CallFrame.tsx +209 -0
- package/src/frame/Chalk.tsx +83 -0
- package/src/frame/back-handler.ts +19 -0
- package/src/frame/dev-scenario.ts +48 -0
- package/src/frame/device-layout.tsx +31 -0
- package/src/frame/measurement.ts +44 -0
- package/src/frame/portal.tsx +107 -0
- package/src/frame/preferences.tsx +48 -0
- package/src/frame/regions.test.ts +38 -0
- package/src/frame/regions.ts +60 -0
- package/src/haptics/haptics.ts +19 -0
- package/src/header/CallDetailsSheet.tsx +139 -0
- package/src/header/Header.tsx +107 -0
- package/src/header/QrCode.tsx +34 -0
- package/src/icons/Icon.tsx +35 -0
- package/src/icons/icon-element.ts +11 -0
- package/src/icons/icon-paths.ts +199 -0
- package/src/index.ts +6 -9
- package/src/limbo/Limbo.tsx +159 -0
- package/src/limbo/Veil.tsx +36 -0
- package/src/media/native-capture-error.test.ts +19 -0
- package/src/media/native-capture-error.ts +13 -0
- package/src/motion/MovingFrame.tsx +101 -0
- package/src/motion/motion.ts +33 -0
- package/src/motion/presence.ts +20 -0
- package/src/motion/press.ts +35 -0
- package/src/primitives/BottomSheet.tsx +211 -0
- package/src/primitives/ChalkText.tsx +23 -0
- package/src/primitives/CopyButton.tsx +78 -0
- package/src/primitives/IconButton.tsx +90 -0
- package/src/primitives/Menu.tsx +212 -0
- package/src/primitives/NameTag.tsx +68 -0
- package/src/primitives/PillButton.tsx +56 -0
- package/src/primitives/SegmentedControl.tsx +55 -0
- package/src/primitives/SheetGroup.tsx +72 -0
- package/src/primitives/Switch.tsx +39 -0
- package/src/primitives/TileShell.tsx +53 -0
- package/src/primitives/announce.ts +7 -0
- package/src/primitives/menu-placement.test.ts +50 -0
- package/src/primitives/menu-placement.ts +43 -0
- package/src/primitives/toast/Toast.tsx +50 -0
- package/src/primitives/toast/ToastStack.tsx +89 -0
- package/src/primitives/toast/toast-store.ts +86 -0
- package/src/sheets/people-chat/ChatNotices.tsx +69 -0
- package/src/sheets/people-chat/ChatTab.tsx +186 -0
- package/src/sheets/people-chat/Composer.tsx +182 -0
- package/src/sheets/people-chat/PeopleChatSheet.tsx +100 -0
- package/src/sheets/people-chat/PeopleTab.tsx +326 -0
- package/src/sheets/people-chat/PhotoViewer.tsx +132 -0
- package/src/sheets/people-chat/TextField.tsx +14 -0
- package/src/sheets/people-chat/attachments.tsx +183 -0
- package/src/sheets/people-chat/chat-model.ts +157 -0
- package/src/sheets/people-chat/people-chat-model.test.ts +98 -0
- package/src/sheets/people-chat/people-model.ts +68 -0
- package/src/sounds/assets/error.wav +0 -0
- package/src/sounds/assets/hand.wav +0 -0
- package/src/sounds/assets/join.wav +0 -0
- package/src/sounds/assets/knock.wav +0 -0
- package/src/sounds/assets/leave.wav +0 -0
- package/src/sounds/assets/message.wav +0 -0
- package/src/sounds/assets/mute.wav +0 -0
- package/src/sounds/assets/recording.wav +0 -0
- package/src/sounds/assets/test.wav +0 -0
- package/src/sounds/assets/unmute.wav +0 -0
- package/src/sounds/assets.d.ts +5 -0
- package/src/sounds/sounds.ts +50 -0
- package/src/space-client/create-native-space-client.ts +20 -181
- package/src/space-client/random-uuid.ts +17 -0
- package/src/space-client/whiteboard-watchdog.test.ts +23 -0
- package/src/stage/ContentTile.tsx +100 -0
- package/src/stage/ParticipantTile.tsx +140 -0
- package/src/stage/Stage.tsx +152 -0
- package/src/stage/TileSheet.tsx +116 -0
- package/src/stage/camera.ts +20 -0
- package/src/stage/layout.test.ts +77 -0
- package/src/stage/layout.ts +226 -0
- package/src/stage/space-selector.ts +31 -0
- package/src/stage/stage-view.tsx +68 -0
- package/src/status/CallOverlays.tsx +47 -0
- package/src/status/ChalkArrival.tsx +53 -0
- package/src/status/StatusPage.tsx +123 -0
- package/src/status/call-screen.test.ts +42 -0
- package/src/status/call-screen.ts +29 -0
- package/src/theme/theme.tsx +28 -0
- package/src/theme/tokens.ts +247 -0
- package/src/toasts/CallEventToasts.tsx +192 -0
- package/src/toasts/notices.test.ts +92 -0
- package/src/toasts/notices.ts +62 -0
- package/src/ui/ChalkUI.tsx +49 -0
- package/src/ui.ts +24 -0
- package/dist/android.d.ts +0 -2
- package/dist/android.d.ts.map +0 -1
- package/dist/android.js +0 -62
- package/dist/chunk-2OS7SSXE.js +0 -552
- package/dist/chunk-5DQ4KBRH.js +0 -690
- package/dist/chunk-ITLUHTVS.js +0 -5271
- package/dist/chunk-JB4LNWVP.js +0 -247
- package/dist/components/Chalk.d.ts +0 -79
- package/dist/components/Chalk.d.ts.map +0 -1
- package/dist/components/ChatMessageList.d.ts +0 -11
- package/dist/components/ChatMessageList.d.ts.map +0 -1
- package/dist/components/Entrance.d.ts +0 -22
- package/dist/components/Entrance.d.ts.map +0 -1
- package/dist/components/EntranceView.android.d.ts +0 -4
- package/dist/components/EntranceView.android.d.ts.map +0 -1
- package/dist/components/EntranceView.d.ts +0 -18
- package/dist/components/EntranceView.d.ts.map +0 -1
- package/dist/components/EntranceView.ios-pad.d.ts +0 -3
- package/dist/components/EntranceView.ios-pad.d.ts.map +0 -1
- package/dist/components/EntranceView.ios-phone.d.ts +0 -3
- package/dist/components/EntranceView.ios-phone.d.ts.map +0 -1
- package/dist/components/EntranceView.macos.d.ts +0 -4
- package/dist/components/EntranceView.macos.d.ts.map +0 -1
- package/dist/components/FaceAvatar.d.ts +0 -16
- package/dist/components/FaceAvatar.d.ts.map +0 -1
- package/dist/components/GradientSurface.d.ts +0 -14
- package/dist/components/GradientSurface.d.ts.map +0 -1
- package/dist/components/MediaView.d.ts +0 -14
- package/dist/components/MediaView.d.ts.map +0 -1
- package/dist/components/ReactionPicker.d.ts +0 -10
- package/dist/components/ReactionPicker.d.ts.map +0 -1
- package/dist/components/SpaceView.android.d.ts +0 -2
- package/dist/components/SpaceView.android.d.ts.map +0 -1
- package/dist/components/SpaceView.d.ts +0 -33
- package/dist/components/SpaceView.d.ts.map +0 -1
- package/dist/components/SpaceView.ios-pad.d.ts +0 -2
- package/dist/components/SpaceView.ios-pad.d.ts.map +0 -1
- package/dist/components/SpaceView.ios-phone.d.ts +0 -2
- package/dist/components/SpaceView.ios-phone.d.ts.map +0 -1
- package/dist/components/SpaceView.macos.d.ts +0 -2
- package/dist/components/SpaceView.macos.d.ts.map +0 -1
- package/dist/components/SpaceView.shared.d.ts +0 -3
- package/dist/components/SpaceView.shared.d.ts.map +0 -1
- package/dist/components/episode-diagnostic-render-observer.d.ts +0 -2
- package/dist/components/episode-diagnostic-render-observer.d.ts.map +0 -1
- package/dist/components/logo/Logo.d.ts +0 -11
- package/dist/components/logo/Logo.d.ts.map +0 -1
- package/dist/components/native-animation-controller.d.ts +0 -7
- package/dist/components/native-animation-controller.d.ts.map +0 -1
- package/dist/components/native-chat.d.ts +0 -8
- package/dist/components/native-chat.d.ts.map +0 -1
- package/dist/components/native-entrance/entrance-controller-store.d.ts +0 -34
- package/dist/components/native-entrance/entrance-controller-store.d.ts.map +0 -1
- package/dist/components/native-entrance/useEntranceController.d.ts +0 -19
- package/dist/components/native-entrance/useEntranceController.d.ts.map +0 -1
- package/dist/components/native-joining-loading-animation.d.ts +0 -9
- package/dist/components/native-joining-loading-animation.d.ts.map +0 -1
- package/dist/components/native-space-view/AppearanceSettings.d.ts +0 -2
- package/dist/components/native-space-view/AppearanceSettings.d.ts.map +0 -1
- package/dist/components/native-space-view/FeedbackSheet.d.ts +0 -12
- package/dist/components/native-space-view/FeedbackSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/ParticipantActionSheet.d.ts +0 -9
- package/dist/components/native-space-view/ParticipantActionSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SettingsSheet.d.ts +0 -7
- package/dist/components/native-space-view/SettingsSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceActionMenu.d.ts +0 -10
- package/dist/components/native-space-view/SpaceActionMenu.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceBottomDock.android.d.ts +0 -4
- package/dist/components/native-space-view/SpaceBottomDock.android.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceChatAttachment.d.ts +0 -8
- package/dist/components/native-space-view/SpaceChatAttachment.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceChatSheet.d.ts +0 -5
- package/dist/components/native-space-view/SpaceChatSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceGrid.android.d.ts +0 -8
- package/dist/components/native-space-view/SpaceGrid.android.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceMoreSheet.d.ts +0 -7
- package/dist/components/native-space-view/SpaceMoreSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SpacePanelSheet.d.ts +0 -5
- package/dist/components/native-space-view/SpacePanelSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SpacePeopleSheet.d.ts +0 -5
- package/dist/components/native-space-view/SpacePeopleSheet.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceStage.android.d.ts +0 -29
- package/dist/components/native-space-view/SpaceStage.android.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceSurfacePrimitives.d.ts +0 -30
- package/dist/components/native-space-view/SpaceSurfacePrimitives.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceTopBar.android.d.ts +0 -11
- package/dist/components/native-space-view/SpaceTopBar.android.d.ts.map +0 -1
- package/dist/components/native-space-view/SpaceWhiteboardSurface.d.ts +0 -15
- package/dist/components/native-space-view/SpaceWhiteboardSurface.d.ts.map +0 -1
- package/dist/components/native-space-view/diagnostics.d.ts +0 -48
- package/dist/components/native-space-view/diagnostics.d.ts.map +0 -1
- package/dist/components/native-space-view/format-space-duration.d.ts +0 -2
- package/dist/components/native-space-view/format-space-duration.d.ts.map +0 -1
- package/dist/components/native-space-view/native-space-grid-keys.d.ts +0 -3
- package/dist/components/native-space-view/native-space-grid-keys.d.ts.map +0 -1
- package/dist/components/native-space-view/native-space-page-store.d.ts +0 -8
- package/dist/components/native-space-view/native-space-page-store.d.ts.map +0 -1
- package/dist/components/native-space-view/space-chat-attachments.d.ts +0 -15
- package/dist/components/native-space-view/space-chat-attachments.d.ts.map +0 -1
- package/dist/components/native-space-view/space-panel-layout.d.ts +0 -10
- package/dist/components/native-space-view/space-panel-layout.d.ts.map +0 -1
- package/dist/components/native-space-view/space-progressive-surface-helpers.d.ts +0 -16
- package/dist/components/native-space-view/space-progressive-surface-helpers.d.ts.map +0 -1
- package/dist/components/native-space-view/space-progressive-surface-types.d.ts +0 -3
- package/dist/components/native-space-view/space-progressive-surface-types.d.ts.map +0 -1
- package/dist/components/native-space-view/types.d.ts +0 -24
- package/dist/components/native-space-view/types.d.ts.map +0 -1
- package/dist/components/native-space-view/useSpaceViewController.contract.d.ts +0 -41
- package/dist/components/native-space-view/useSpaceViewController.contract.d.ts.map +0 -1
- package/dist/components/native-space-view/useSpaceViewController.d.ts +0 -156
- package/dist/components/native-space-view/useSpaceViewController.d.ts.map +0 -1
- package/dist/components/native-space-view/useSpaceViewDerived.d.ts +0 -12
- package/dist/components/native-space-view/useSpaceViewDerived.d.ts.map +0 -1
- package/dist/components/native-space-view/useSpaceViewPanels.d.ts +0 -70
- package/dist/components/native-space-view/useSpaceViewPanels.d.ts.map +0 -1
- package/dist/feedback/native-capture.d.ts +0 -9
- package/dist/feedback/native-capture.d.ts.map +0 -1
- package/dist/feedback/native-evidence.d.ts +0 -3
- package/dist/feedback/native-evidence.d.ts.map +0 -1
- package/dist/hooks/entrance-preview-store.d.ts +0 -16
- package/dist/hooks/entrance-preview-store.d.ts.map +0 -1
- package/dist/hooks/useEntrancePreview.d.ts +0 -7
- package/dist/hooks/useEntrancePreview.d.ts.map +0 -1
- package/dist/hooks/useLayout.d.ts +0 -16
- package/dist/hooks/useLayout.d.ts.map +0 -1
- package/dist/hooks/usePanels.d.ts +0 -12
- package/dist/hooks/usePanels.d.ts.map +0 -1
- package/dist/ios-pad.d.ts +0 -2
- package/dist/ios-pad.d.ts.map +0 -1
- package/dist/ios-pad.js +0 -62
- package/dist/ios-phone.d.ts +0 -2
- package/dist/ios-phone.d.ts.map +0 -1
- package/dist/ios-phone.js +0 -62
- package/dist/ios.d.ts +0 -2
- package/dist/ios.d.ts.map +0 -1
- package/dist/ios.js +0 -62
- package/dist/macos.d.ts +0 -2
- package/dist/macos.d.ts.map +0 -1
- package/dist/macos.js +0 -62
- package/dist/space-client/cloudflare-rtk-native.d.ts +0 -3
- package/dist/space-client/cloudflare-rtk-native.d.ts.map +0 -1
- package/dist/telemetry.d.ts +0 -63
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/ui/appearance.d.ts +0 -246
- package/dist/ui/appearance.d.ts.map +0 -1
- package/dist/ui/appearance.js +0 -14
- package/dist/ui/native-appearance-context.d.ts +0 -15
- package/dist/ui/native-appearance-context.d.ts.map +0 -1
- package/dist/ui/native-theme.d.ts +0 -17
- package/dist/ui/native-theme.d.ts.map +0 -1
- package/dist/ui/native-types.d.ts +0 -38
- package/dist/ui/native-types.d.ts.map +0 -1
- package/dist/ui/participant-avatar.d.ts +0 -21
- package/dist/ui/participant-avatar.d.ts.map +0 -1
- package/dist/ui/theme-tokens.d.ts +0 -25
- package/dist/ui/theme-tokens.d.ts.map +0 -1
- package/dist/ui/theme.d.ts +0 -404
- package/dist/ui/theme.d.ts.map +0 -1
- package/dist/ui/theme.js +0 -8
- package/dist/utils/native-space-layout.d.ts +0 -42
- package/dist/utils/native-space-layout.d.ts.map +0 -1
- package/src/android.ts +0 -1
- package/src/components/Chalk.tsx +0 -363
- package/src/components/ChatMessageList.tsx +0 -209
- package/src/components/Entrance.tsx +0 -42
- package/src/components/EntranceView.android.tsx +0 -274
- package/src/components/EntranceView.ios-pad.tsx +0 -326
- package/src/components/EntranceView.ios-phone.tsx +0 -271
- package/src/components/EntranceView.macos.tsx +0 -278
- package/src/components/EntranceView.tsx +0 -38
- package/src/components/FaceAvatar.tsx +0 -120
- package/src/components/GradientSurface.tsx +0 -23
- package/src/components/MediaView.tsx +0 -76
- package/src/components/ReactionPicker.tsx +0 -98
- package/src/components/SpaceView.android.tsx +0 -1
- package/src/components/SpaceView.ios-pad.tsx +0 -1
- package/src/components/SpaceView.ios-phone.tsx +0 -1
- package/src/components/SpaceView.macos.tsx +0 -1
- package/src/components/SpaceView.shared.tsx +0 -98
- package/src/components/SpaceView.tsx +0 -54
- package/src/components/episode-diagnostic-render-observer.ts +0 -12
- package/src/components/logo/Logo.tsx +0 -309
- package/src/components/native-animation-controller.ts +0 -36
- package/src/components/native-chat.ts +0 -23
- package/src/components/native-entrance/entrance-controller-store.ts +0 -112
- package/src/components/native-entrance/useEntranceController.ts +0 -60
- package/src/components/native-joining-loading-animation.ts +0 -26
- package/src/components/native-space-view/AppearanceSettings.tsx +0 -114
- package/src/components/native-space-view/FeedbackSheet.tsx +0 -296
- package/src/components/native-space-view/ParticipantActionSheet.tsx +0 -99
- package/src/components/native-space-view/SettingsSheet.tsx +0 -164
- package/src/components/native-space-view/SpaceActionMenu.tsx +0 -109
- package/src/components/native-space-view/SpaceBottomDock.android.tsx +0 -115
- package/src/components/native-space-view/SpaceChatAttachment.tsx +0 -105
- package/src/components/native-space-view/SpaceChatSheet.tsx +0 -184
- package/src/components/native-space-view/SpaceGrid.android.tsx +0 -323
- package/src/components/native-space-view/SpaceMoreSheet.tsx +0 -190
- package/src/components/native-space-view/SpacePanelSheet.tsx +0 -45
- package/src/components/native-space-view/SpacePeopleSheet.tsx +0 -116
- package/src/components/native-space-view/SpaceStage.android.tsx +0 -372
- package/src/components/native-space-view/SpaceSurfacePrimitives.tsx +0 -75
- package/src/components/native-space-view/SpaceTopBar.android.tsx +0 -113
- package/src/components/native-space-view/SpaceWhiteboardSurface.tsx +0 -69
- package/src/components/native-space-view/diagnostics.ts +0 -84
- package/src/components/native-space-view/format-space-duration.ts +0 -3
- package/src/components/native-space-view/native-space-grid-keys.ts +0 -6
- package/src/components/native-space-view/native-space-page-store.ts +0 -41
- package/src/components/native-space-view/space-chat-attachments.test.ts +0 -26
- package/src/components/native-space-view/space-chat-attachments.ts +0 -37
- package/src/components/native-space-view/space-panel-layout.ts +0 -10
- package/src/components/native-space-view/space-progressive-surface-helpers.ts +0 -33
- package/src/components/native-space-view/space-progressive-surface-types.ts +0 -3
- package/src/components/native-space-view/types.ts +0 -25
- package/src/components/native-space-view/useSpaceViewController.contract.ts +0 -34
- package/src/components/native-space-view/useSpaceViewController.ts +0 -416
- package/src/components/native-space-view/useSpaceViewDerived.ts +0 -29
- package/src/components/native-space-view/useSpaceViewPanels.ts +0 -170
- package/src/feedback/native-capture.ts +0 -62
- package/src/feedback/native-evidence.ts +0 -37
- package/src/hooks/entrance-preview-store.ts +0 -99
- package/src/hooks/useEntrancePreview.ts +0 -26
- package/src/hooks/useLayout.ts +0 -37
- package/src/hooks/usePanels.ts +0 -30
- package/src/ios-pad.ts +0 -1
- package/src/ios-phone.ts +0 -1
- package/src/ios.ts +0 -1
- package/src/macos.ts +0 -1
- package/src/space-client/cloudflare-rtk-native.ts +0 -104
- package/src/telemetry.ts +0 -234
- package/src/types/hugeicons-direct.d.ts +0 -4
- package/src/types/react-native-safe-area-context.d.ts +0 -8
- package/src/ui/appearance.ts +0 -808
- package/src/ui/native-appearance-context.tsx +0 -74
- package/src/ui/native-theme.tsx +0 -54
- package/src/ui/native-types.ts +0 -40
- package/src/ui/participant-avatar.ts +0 -47
- package/src/ui/theme-tokens.ts +0 -41
- package/src/ui/theme.ts +0 -214
- package/src/utils/native-space-layout.ts +0 -135
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
export interface SpaceViewFeatureFlags {
|
|
2
|
-
readonly chat: boolean;
|
|
3
|
-
readonly participants: boolean;
|
|
4
|
-
readonly screenShare: boolean;
|
|
5
|
-
readonly reactions: boolean;
|
|
6
|
-
readonly handRaise: boolean;
|
|
7
|
-
readonly whiteboard: boolean;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface SpaceViewActionAvailability {
|
|
11
|
-
readonly enabled: boolean;
|
|
12
|
-
readonly reason: string | null;
|
|
13
|
-
readonly detail: string | null;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface SpaceViewDiagnosticsSnapshot {
|
|
17
|
-
readonly canEndEpisode: boolean;
|
|
18
|
-
readonly participantCount: number;
|
|
19
|
-
readonly raisedHandCount: number;
|
|
20
|
-
readonly unreadChatCount: number;
|
|
21
|
-
readonly featureFlags: SpaceViewFeatureFlags;
|
|
22
|
-
readonly actionAvailability: {
|
|
23
|
-
readonly screenShare: SpaceViewActionAvailability & {
|
|
24
|
-
readonly isActive: boolean;
|
|
25
|
-
readonly isLocalSharing: boolean;
|
|
26
|
-
readonly sharerParticipantId: string | null;
|
|
27
|
-
readonly visibleInBottomDock: boolean;
|
|
28
|
-
readonly enabledInActionsSheet: boolean;
|
|
29
|
-
};
|
|
30
|
-
readonly reactions: SpaceViewActionAvailability;
|
|
31
|
-
readonly handRaise: SpaceViewActionAvailability;
|
|
32
|
-
readonly chat: SpaceViewActionAvailability;
|
|
33
|
-
readonly participants: SpaceViewActionAvailability;
|
|
34
|
-
readonly whiteboard: SpaceViewActionAvailability;
|
|
35
|
-
readonly moderation: SpaceViewActionAvailability;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function buildSpaceViewDiagnosticsSnapshot(input: {
|
|
40
|
-
readonly featureFlags: SpaceViewFeatureFlags;
|
|
41
|
-
readonly canEndEpisode: boolean;
|
|
42
|
-
readonly participantCount: number;
|
|
43
|
-
readonly raisedHandCount: number;
|
|
44
|
-
readonly unreadChatCount: number;
|
|
45
|
-
readonly isScreenShareActive: boolean;
|
|
46
|
-
readonly isLocalScreenSharing: boolean;
|
|
47
|
-
readonly screenShareSharerParticipantId: string | null;
|
|
48
|
-
readonly canModerate: boolean;
|
|
49
|
-
readonly screenShareAvailability?: SpaceViewActionAvailability;
|
|
50
|
-
}): SpaceViewDiagnosticsSnapshot {
|
|
51
|
-
const availability = (enabled: boolean, feature: keyof SpaceViewFeatureFlags) => (enabled ? enabledAction() : disabledAction(`features.${feature}=false`));
|
|
52
|
-
const screenShare = input.screenShareAvailability ?? availability(input.featureFlags.screenShare, "screenShare");
|
|
53
|
-
return {
|
|
54
|
-
canEndEpisode: input.canEndEpisode,
|
|
55
|
-
participantCount: input.participantCount,
|
|
56
|
-
raisedHandCount: input.raisedHandCount,
|
|
57
|
-
unreadChatCount: input.unreadChatCount,
|
|
58
|
-
featureFlags: input.featureFlags,
|
|
59
|
-
actionAvailability: {
|
|
60
|
-
screenShare: {
|
|
61
|
-
...screenShare,
|
|
62
|
-
isActive: input.isScreenShareActive,
|
|
63
|
-
isLocalSharing: input.isLocalScreenSharing,
|
|
64
|
-
sharerParticipantId: input.screenShareSharerParticipantId,
|
|
65
|
-
visibleInBottomDock: false,
|
|
66
|
-
enabledInActionsSheet: screenShare.enabled,
|
|
67
|
-
},
|
|
68
|
-
reactions: availability(input.featureFlags.reactions, "reactions"),
|
|
69
|
-
handRaise: availability(input.featureFlags.handRaise, "handRaise"),
|
|
70
|
-
chat: availability(input.featureFlags.chat, "chat"),
|
|
71
|
-
participants: availability(input.featureFlags.participants, "participants"),
|
|
72
|
-
whiteboard: availability(input.featureFlags.whiteboard, "whiteboard"),
|
|
73
|
-
moderation: input.canModerate ? enabledAction() : { enabled: false, reason: "capability-unavailable", detail: "The local participant cannot moderate participants" },
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function enabledAction(): SpaceViewActionAvailability {
|
|
79
|
-
return { enabled: true, reason: null, detail: null };
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function disabledAction(detail: string): SpaceViewActionAvailability {
|
|
83
|
-
return { enabled: false, reason: "feature-disabled", detail };
|
|
84
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SpaceParticipant } from "./types";
|
|
2
|
-
|
|
3
|
-
export function nativeSpaceGridKey(prefix: string, participants: readonly SpaceParticipant[]): string {
|
|
4
|
-
const participantIds = participants.map((participant) => participant.id).join("|");
|
|
5
|
-
return `${prefix}-${participantIds || "empty"}`;
|
|
6
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export interface SpacePageStore {
|
|
2
|
-
getSnapshot(): number;
|
|
3
|
-
subscribe(listener: () => void): () => void;
|
|
4
|
-
setPage(page: number): void;
|
|
5
|
-
clampToPageCount(pageCount: number): void;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function createSpacePageStore(): SpacePageStore {
|
|
9
|
-
let page = 0;
|
|
10
|
-
const listeners = new Set<() => void>();
|
|
11
|
-
|
|
12
|
-
return {
|
|
13
|
-
getSnapshot: () => page,
|
|
14
|
-
subscribe: (listener) => {
|
|
15
|
-
listeners.add(listener);
|
|
16
|
-
return () => listeners.delete(listener);
|
|
17
|
-
},
|
|
18
|
-
setPage: (nextPage) => {
|
|
19
|
-
const nextPageIndex = Math.max(0, nextPage);
|
|
20
|
-
if (nextPageIndex === page) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
page = nextPageIndex;
|
|
25
|
-
for (const listener of listeners) {
|
|
26
|
-
listener();
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
clampToPageCount: (pageCount) => {
|
|
30
|
-
const nextPageIndex = Math.min(page, Math.max(0, pageCount - 1));
|
|
31
|
-
if (nextPageIndex === page) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
page = nextPageIndex;
|
|
36
|
-
for (const listener of listeners) {
|
|
37
|
-
listener();
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ChatUploadFile } from "@q9labsai/chalk-client";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
|
|
4
|
-
import { describeChatUploadFile } from "./space-chat-attachments";
|
|
5
|
-
|
|
6
|
-
describe("describeChatUploadFile", () => {
|
|
7
|
-
it("describes a lazy native picker file that also exposes bytes", () => {
|
|
8
|
-
const file: ChatUploadFile = new LazyNativeFileWithBytes();
|
|
9
|
-
|
|
10
|
-
expect(describeChatUploadFile(file)).toMatchObject({ fileName: "mobile-photo.png", mimeType: "image/png", byteLength: 7 });
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
class LazyNativeFileWithBytes {
|
|
15
|
-
readonly name = "mobile-photo.png";
|
|
16
|
-
readonly type = "image/png";
|
|
17
|
-
readonly size = 7;
|
|
18
|
-
|
|
19
|
-
arrayBuffer(): Promise<ArrayBuffer> {
|
|
20
|
-
return Promise.resolve(new ArrayBuffer(this.size));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
bytes(): Promise<Uint8Array> {
|
|
24
|
-
return Promise.resolve(new Uint8Array(this.size));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { CHALK_CHAT_ATTACHMENT_LIMITS, CHALK_CHAT_ATTACHMENT_MIME_TYPES, type ChatAttachment, type ChatSendInput, type ChatUploadFile } from "@q9labsai/chalk-client";
|
|
2
|
-
|
|
3
|
-
const allowedMimeTypes = new Set<string>(CHALK_CHAT_ATTACHMENT_MIME_TYPES);
|
|
4
|
-
const encoder = new TextEncoder();
|
|
5
|
-
|
|
6
|
-
export interface NativeChatFileDraft {
|
|
7
|
-
readonly file: ChatUploadFile;
|
|
8
|
-
readonly fileName: string;
|
|
9
|
-
readonly mimeType: string;
|
|
10
|
-
readonly byteLength: number;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function describeChatUploadFile(file: ChatUploadFile): NativeChatFileDraft {
|
|
14
|
-
if ("arrayBuffer" in file) return { file, fileName: file.name, mimeType: file.type, byteLength: file.size };
|
|
15
|
-
return { file, fileName: file.fileName, mimeType: file.mimeType, byteLength: file.bytes.byteLength };
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function validateChatFileDraft(draft: NativeChatFileDraft): string | null {
|
|
19
|
-
if (!draft.fileName || encoder.encode(draft.fileName).byteLength > CHALK_CHAT_ATTACHMENT_LIMITS.maximumFileNameBytes) return "This file name is too long.";
|
|
20
|
-
if (!Number.isSafeInteger(draft.byteLength) || draft.byteLength < 1 || draft.byteLength > CHALK_CHAT_ATTACHMENT_LIMITS.maximumByteLength) return "This file is too large or empty.";
|
|
21
|
-
if (!allowedMimeTypes.has(draft.mimeType)) return "This file type is not supported in Space chat.";
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function normalizeChatFileDrafts(files: readonly ChatUploadFile[]): { readonly files: readonly NativeChatFileDraft[]; readonly error: string | null } {
|
|
26
|
-
if (files.length > CHALK_CHAT_ATTACHMENT_LIMITS.maximumPerMessage) {
|
|
27
|
-
return { files: [], error: `You can attach up to ${CHALK_CHAT_ATTACHMENT_LIMITS.maximumPerMessage} files per message.` };
|
|
28
|
-
}
|
|
29
|
-
const drafts = files.map(describeChatUploadFile);
|
|
30
|
-
const error = drafts.map(validateChatFileDraft).find((message): message is string => message !== null) ?? null;
|
|
31
|
-
return error ? { files: [], error } : { files: drafts, error: null };
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export async function uploadAndSendNativeChatAttachments(files: readonly NativeChatFileDraft[], text: string, upload: (file: ChatUploadFile) => Promise<ChatAttachment>, send: (input: ChatSendInput) => Promise<unknown>): Promise<void> {
|
|
35
|
-
const attachments = await Promise.all(files.map((draft) => upload(draft.file)));
|
|
36
|
-
await send({ text, ...(attachments.length ? { attachments } : {}) });
|
|
37
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export type ParticipantActionKind = "mute" | "requestUnmute" | "requestCamera" | "stopCamera" | "stopScreenShare" | "remove";
|
|
2
|
-
|
|
3
|
-
export interface ParticipantActionAvailability {
|
|
4
|
-
readonly canMuteParticipants: boolean;
|
|
5
|
-
readonly canRequestMedia: boolean;
|
|
6
|
-
readonly canStopParticipantCamera: boolean;
|
|
7
|
-
readonly canStopParticipantScreenShare: boolean;
|
|
8
|
-
readonly canRemoveParticipants: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface ParticipantActionDescriptor {
|
|
12
|
-
readonly kind: ParticipantActionKind;
|
|
13
|
-
readonly label: string;
|
|
14
|
-
readonly destructive?: boolean;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function buildParticipantActionDescriptors(availability: ParticipantActionAvailability): readonly ParticipantActionDescriptor[] {
|
|
18
|
-
const actions: ParticipantActionDescriptor[] = [];
|
|
19
|
-
if (availability.canMuteParticipants) actions.push({ kind: "mute", label: "Mute microphone" });
|
|
20
|
-
if (availability.canRequestMedia) {
|
|
21
|
-
actions.push({ kind: "requestUnmute", label: "Ask to unmute" });
|
|
22
|
-
actions.push({ kind: "requestCamera", label: "Ask to turn on camera" });
|
|
23
|
-
}
|
|
24
|
-
if (availability.canStopParticipantCamera) actions.push({ kind: "stopCamera", label: "Stop camera" });
|
|
25
|
-
if (availability.canStopParticipantScreenShare) actions.push({ kind: "stopScreenShare", label: "Stop sharing" });
|
|
26
|
-
if (availability.canRemoveParticipants) actions.push({ kind: "remove", label: "Remove Participant", destructive: true });
|
|
27
|
-
return actions;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function formatChatTimestamp(timestamp: number): string {
|
|
31
|
-
if (!Number.isFinite(timestamp) || timestamp <= 0) return "";
|
|
32
|
-
return new Date(timestamp).toLocaleTimeString([], { hour: "numeric", minute: "2-digit" });
|
|
33
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { NativeParticipantState } from "../../ui/native-types";
|
|
2
|
-
|
|
3
|
-
export type SpaceParticipant = NativeParticipantState["participants"][number];
|
|
4
|
-
export type SpacePanelName = "chat" | "participants" | "settings" | "whiteboard";
|
|
5
|
-
export type SpaceViewAction = () => unknown | Promise<unknown>;
|
|
6
|
-
export type SpaceViewActionRunner = (action: SpaceViewAction) => Promise<void>;
|
|
7
|
-
|
|
8
|
-
export interface SpaceBottomDockProps {
|
|
9
|
-
simulatorMediaDisabled: boolean;
|
|
10
|
-
isMuted: boolean;
|
|
11
|
-
isCameraOff: boolean;
|
|
12
|
-
isHandRaised?: boolean;
|
|
13
|
-
isScreenSharing?: boolean;
|
|
14
|
-
unreadChatCount: number;
|
|
15
|
-
participantCount?: number;
|
|
16
|
-
onToggleAudio: () => void;
|
|
17
|
-
onToggleVideo: () => void;
|
|
18
|
-
onToggleHand?: () => void;
|
|
19
|
-
onToggleScreenShare?: () => void;
|
|
20
|
-
onOpenChat?: () => void;
|
|
21
|
-
onOpenParticipants?: () => void;
|
|
22
|
-
onOpenReactions?: () => void;
|
|
23
|
-
onOpenMore: () => void;
|
|
24
|
-
onLeave: () => void;
|
|
25
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Reaction } from "@q9labsai/chalk-client";
|
|
2
|
-
import type { Dispatch, SetStateAction } from "react";
|
|
3
|
-
|
|
4
|
-
import type { SpacePanelName } from "./types";
|
|
5
|
-
import type { useSpaceViewController } from "./useSpaceViewController";
|
|
6
|
-
|
|
7
|
-
type ExpectedSpaceViewController = {
|
|
8
|
-
readonly simulatorMediaDisabled: boolean;
|
|
9
|
-
readonly spaceName: string;
|
|
10
|
-
readonly panel: SpacePanelName | null;
|
|
11
|
-
readonly isMuted: boolean;
|
|
12
|
-
readonly isCameraOff: boolean;
|
|
13
|
-
readonly participantCount: number;
|
|
14
|
-
readonly canChat: boolean;
|
|
15
|
-
readonly canParticipants: boolean;
|
|
16
|
-
readonly canScreenShare: boolean;
|
|
17
|
-
readonly canReactions: boolean;
|
|
18
|
-
readonly canHandRaise: boolean;
|
|
19
|
-
readonly canWhiteboard: boolean;
|
|
20
|
-
readonly chat: { readonly unreadCount: number; readonly messages: readonly unknown[] };
|
|
21
|
-
readonly participants: { readonly participants: readonly unknown[]; readonly localParticipant: unknown };
|
|
22
|
-
readonly layout: { readonly layout: "grid" | "focus" | "presentation"; readonly setLayout: (layout: "grid" | "focus" | "presentation") => void };
|
|
23
|
-
readonly setActionsOpen: Dispatch<SetStateAction<boolean>>;
|
|
24
|
-
readonly setReactionPickerOpen: Dispatch<SetStateAction<boolean>>;
|
|
25
|
-
readonly setChatDraft: Dispatch<SetStateAction<string>>;
|
|
26
|
-
readonly sendReaction: (reaction: Reaction) => void;
|
|
27
|
-
readonly sendChatMessage: () => void;
|
|
28
|
-
readonly handleLeave: () => void;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
type Assert<T extends true> = T;
|
|
32
|
-
type IsAssignable<Current, Expected> = Current extends Expected ? true : false;
|
|
33
|
-
|
|
34
|
-
export type SpaceViewControllerContractCheck = Assert<IsAssignable<ReturnType<typeof useSpaceViewController>, ExpectedSpaceViewController>>;
|