@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
/** `info` leaves on its own after 5 s; `error` and `knock` stay until acted on or dismissed. */
|
|
3
|
+
export type ToastKind = "info" | "error" | "knock";
|
|
4
|
+
/** A message is plain text with optional bold runs, such as a person's name. */
|
|
5
|
+
export type MessagePart = string | {
|
|
6
|
+
readonly strong: string;
|
|
7
|
+
};
|
|
8
|
+
export type ToastAction = {
|
|
9
|
+
readonly label: string;
|
|
10
|
+
readonly onPress: () => void;
|
|
11
|
+
readonly variant?: "primary" | "secondary";
|
|
12
|
+
readonly testID?: string;
|
|
13
|
+
};
|
|
14
|
+
export type ToastInput = {
|
|
15
|
+
readonly kind?: ToastKind;
|
|
16
|
+
/** An icon or a small avatar in front of the message. */
|
|
17
|
+
readonly leading?: ReactNode;
|
|
18
|
+
readonly message: string | readonly MessagePart[];
|
|
19
|
+
readonly actions?: readonly ToastAction[];
|
|
20
|
+
/** Adds the close button; errors usually have one. */
|
|
21
|
+
readonly dismissible?: boolean;
|
|
22
|
+
/** Lets a long message wrap instead of trimming it to one line. */
|
|
23
|
+
readonly wrap?: boolean;
|
|
24
|
+
readonly testID?: string;
|
|
25
|
+
};
|
|
26
|
+
export type Toast = ToastInput & {
|
|
27
|
+
readonly id: number;
|
|
28
|
+
readonly kind: ToastKind;
|
|
29
|
+
};
|
|
30
|
+
export type ToastStore = {
|
|
31
|
+
readonly show: (input: ToastInput) => number;
|
|
32
|
+
readonly dismiss: (id: number) => void;
|
|
33
|
+
readonly clear: () => void;
|
|
34
|
+
readonly subscribe: (listener: () => void) => () => void;
|
|
35
|
+
readonly getSnapshot: () => readonly Toast[];
|
|
36
|
+
};
|
|
37
|
+
export declare function messageText(message: ToastInput["message"]): string;
|
|
38
|
+
export declare function createToastStore(): ToastStore;
|
|
39
|
+
//# sourceMappingURL=toast-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-store.d.ts","sourceRoot":"","sources":["../../../src/primitives/toast/toast-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,gGAAgG;AAChG,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,WAAW,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,SAAS,KAAK,EAAE,CAAC;CAC9C,CAAC;AAKF,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAsC7C"}
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ChatNoticesProps = {
|
|
2
|
+
/** True while the Chat tab is in view; new messages then only sound and are announced. */
|
|
3
|
+
readonly chatVisible: boolean;
|
|
4
|
+
/** True while the People and Chat sheet is open on either tab; the Chat tab's dot shows instead of a toast. */
|
|
5
|
+
readonly sheetOpen: boolean;
|
|
6
|
+
readonly onOpenChat: () => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* New messages from others (F4): the message sound and an announcement, and while the sheet is
|
|
10
|
+
* closed a notice with the sender's first name, the message and Reply. Messages already in the
|
|
11
|
+
* history when the call opens stay quiet.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ChatNotices({ chatVisible, sheetOpen, onOpenChat }: ChatNoticesProps): null;
|
|
14
|
+
//# sourceMappingURL=ChatNotices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatNotices.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/ChatNotices.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAAG,IAAI,CA0C1F"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Chat tab: the call's messages, newest at the bottom, and the composer under them. The list
|
|
3
|
+
* is inverted, so it opens at the newest message and stays there as new ones arrive.
|
|
4
|
+
*/
|
|
5
|
+
export declare function ChatTab(): React.JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ChatTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatTab.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/ChatTab.tsx"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAyD3C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The composer (`.comp`): files waiting to be sent, then the field with Attach and Send. It pads
|
|
3
|
+
* itself for the home indicator, and only by 8 pt while the keyboard is up, since the sheet then
|
|
4
|
+
* rides on the keyboard.
|
|
5
|
+
*/
|
|
6
|
+
export declare function Composer(): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=Composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/Composer.tsx"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAiG5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import { View } from "react-native";
|
|
3
|
+
export type PeopleChatTab = "people" | "chat";
|
|
4
|
+
export type PeopleChatSheetProps = {
|
|
5
|
+
readonly open: boolean;
|
|
6
|
+
readonly tab: PeopleChatTab;
|
|
7
|
+
readonly onTabChange: (tab: PeopleChatTab) => void;
|
|
8
|
+
readonly onClose: () => void;
|
|
9
|
+
/** Where accessibility focus returns when the sheet closes. */
|
|
10
|
+
readonly returnFocusRef?: RefObject<View | null>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* People and Chat share one card (`.card`): a 78 % sheet whose tab row switches between who is in
|
|
14
|
+
* the call and the call's chat. The tab row drags the sheet like the grabber does.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PeopleChatSheet({ open, tab, onTabChange, onClose, returnFocusRef }: PeopleChatSheetProps): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=PeopleChatSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeopleChatSheet.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/PeopleChatSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAyB,IAAI,EAAE,MAAM,cAAc,CAAC;AAU3D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoB5H"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeopleTab.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/PeopleTab.tsx"],"names":[],"mappings":"AAsBA,uGAAuG;AACvG,wBAAgB,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA8F7C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ChatAttachment } from "@q9labsai/chalk-client";
|
|
2
|
+
export type ViewedPhotos = {
|
|
3
|
+
readonly photos: readonly ChatAttachment[];
|
|
4
|
+
readonly index: number;
|
|
5
|
+
/** "You" or the sender's name, then the time: the viewer's second line. */
|
|
6
|
+
readonly from: string;
|
|
7
|
+
};
|
|
8
|
+
type PhotoViewerProps = {
|
|
9
|
+
readonly viewing: ViewedPhotos;
|
|
10
|
+
readonly onChange: (index: number) => void;
|
|
11
|
+
readonly onClose: () => void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The photo viewer (`.lbw`): dark in both themes, above the sheets. The name, sender and place in
|
|
15
|
+
* the set sit at the top with Download and Close; Previous and Next sit at the bottom.
|
|
16
|
+
*/
|
|
17
|
+
export declare function PhotoViewer({ viewing, onChange, onClose }: PhotoViewerProps): React.JSX.Element | null;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=PhotoViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhotoViewer.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/PhotoViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA6CtG"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TextInput, type TextInputProps } from "react-native";
|
|
2
|
+
/** The text input inside a field (`input` in the mockup): the body type, no chrome of its own. */
|
|
3
|
+
export declare const TextField: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<TextInput>>;
|
|
4
|
+
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAI1E,kGAAkG;AAClG,eAAO,MAAM,SAAS,sGAGpB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ChatAttachment } from "@q9labsai/chalk-client";
|
|
2
|
+
export type AttachmentSource = {
|
|
3
|
+
readonly state: "loading";
|
|
4
|
+
} | {
|
|
5
|
+
readonly state: "ready";
|
|
6
|
+
readonly uri: string;
|
|
7
|
+
readonly aspect: number;
|
|
8
|
+
} | {
|
|
9
|
+
readonly state: "failed";
|
|
10
|
+
};
|
|
11
|
+
/** The download link of a photo and its shape, once both are known. */
|
|
12
|
+
export declare function useAttachmentSource(attachment: ChatAttachment): AttachmentSource;
|
|
13
|
+
/** Opens a file in the system viewer, which offers saving and sharing. */
|
|
14
|
+
export declare function useDownload(): (attachment: ChatAttachment) => void;
|
|
15
|
+
type ThumbnailsProps = {
|
|
16
|
+
readonly photos: readonly ChatAttachment[];
|
|
17
|
+
readonly disabled: boolean;
|
|
18
|
+
readonly onOpen: (index: number) => void;
|
|
19
|
+
};
|
|
20
|
+
/** A message's photos (`.ths`): one at its own shape, or a grid of up to four with "+N" on the last. */
|
|
21
|
+
export declare const Thumbnails: import("react").MemoExoticComponent<({ photos, disabled, onOpen }: ThumbnailsProps) => React.JSX.Element>;
|
|
22
|
+
/** A file's coloured badge (`.fi`): its kind in two to four letters, or a photo icon. */
|
|
23
|
+
export declare function FileBadge({ mimeType, size }: {
|
|
24
|
+
readonly mimeType: string;
|
|
25
|
+
readonly size?: 32 | 36;
|
|
26
|
+
}): React.JSX.Element;
|
|
27
|
+
/** A file in a message (`.fcard`) with its name, size and a download button. */
|
|
28
|
+
export declare const FileCard: import("react").MemoExoticComponent<({ attachment, sent }: {
|
|
29
|
+
readonly attachment: ChatAttachment;
|
|
30
|
+
readonly sent: boolean;
|
|
31
|
+
}) => React.JSX.Element>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=attachments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/attachments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,wBAAwB,CAAC;AAyB1E,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzK,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,cAAc,GAAG,gBAAgB,CAmBhF;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,IAAI,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAQlE;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,UAAU,qEAA0D,eAAe,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkBlH,CAAC;AAsCH,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmB5H;AAED,gFAAgF;AAChF,eAAO,MAAM,QAAQ,6DAAgD;IAAE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiBtJ,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type ChatAttachment, type ChatMessage, type ChatUploadFile, type PendingChatSend } from "@q9labsai/chalk-client";
|
|
2
|
+
export type FileKind = "image" | "pdf" | "doc" | "xls" | "ppt" | "txt" | "other";
|
|
3
|
+
export declare function fileKind(mimeType: string): FileKind;
|
|
4
|
+
/** The MIME type a picked file reports, or the one its extension implies when the picker reports none. */
|
|
5
|
+
export declare function mimeTypeOf(name: string, reported: string | undefined): string;
|
|
6
|
+
/** The two or three letters on a file badge (`.fi`). */
|
|
7
|
+
export declare const FILE_BADGE: Readonly<Record<Exclude<FileKind, "image">, string>>;
|
|
8
|
+
export declare function formatSize(bytes: number): string;
|
|
9
|
+
/** What a message row shows for a sent, waiting or failed message. */
|
|
10
|
+
export type EntryState = "sent" | "queued" | "sending" | "failed";
|
|
11
|
+
export type ChatEntry = {
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly text: string;
|
|
14
|
+
readonly attachments: readonly ChatAttachment[];
|
|
15
|
+
readonly state: EntryState;
|
|
16
|
+
/** Set on pending sends, so a failed one can be sent again. */
|
|
17
|
+
readonly clientMessageId: string | null;
|
|
18
|
+
};
|
|
19
|
+
export type MessageGroup = {
|
|
20
|
+
readonly key: string;
|
|
21
|
+
readonly participantId: string;
|
|
22
|
+
readonly displayName: string;
|
|
23
|
+
readonly mine: boolean;
|
|
24
|
+
readonly time: string;
|
|
25
|
+
readonly entries: readonly ChatEntry[];
|
|
26
|
+
};
|
|
27
|
+
export declare function formatTime(iso: string): string;
|
|
28
|
+
/** Whether a message with only attachments should read as "Sent a photo" and so on, for announcements and labels. */
|
|
29
|
+
export declare function messageSummary(text: string, attachments: readonly ChatAttachment[]): string;
|
|
30
|
+
/**
|
|
31
|
+
* Turns the client's confirmed messages and your waiting sends into rows, oldest first: consecutive
|
|
32
|
+
* messages from one person share a header (`.mg`). A send you retried leaves its failed copy in the
|
|
33
|
+
* client, so `retried` hides those.
|
|
34
|
+
*/
|
|
35
|
+
export declare function groupMessages(messages: readonly ChatMessage[], pending: readonly PendingChatSend[], self: {
|
|
36
|
+
readonly participantId: string | null;
|
|
37
|
+
readonly displayName: string | null;
|
|
38
|
+
}, retried: ReadonlySet<string>): readonly MessageGroup[];
|
|
39
|
+
/** A file the person picked, on its way to being sent. */
|
|
40
|
+
export type StagedFile = {
|
|
41
|
+
readonly id: number;
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly size: number;
|
|
44
|
+
readonly mimeType: string;
|
|
45
|
+
readonly source: ChatUploadFile;
|
|
46
|
+
/** The local photo to show in the chip, before it's uploaded. */
|
|
47
|
+
readonly previewUri: string | null;
|
|
48
|
+
readonly state: "uploading" | "ready" | "error";
|
|
49
|
+
readonly attachment: ChatAttachment | null;
|
|
50
|
+
readonly error: string | null;
|
|
51
|
+
};
|
|
52
|
+
export type UploadFacts = {
|
|
53
|
+
readonly name: string;
|
|
54
|
+
readonly mimeType: string;
|
|
55
|
+
readonly size: number;
|
|
56
|
+
};
|
|
57
|
+
/** The reason a file can't be sent, or null. `accepted` counts the files already accepted in this message. */
|
|
58
|
+
export declare function stagingError(facts: UploadFacts, accepted: number): string | null;
|
|
59
|
+
/** How many photos of a message the thumbnail grid draws, and how many are left over for "+N". */
|
|
60
|
+
export declare function thumbnailLayout(count: number): {
|
|
61
|
+
readonly shown: number;
|
|
62
|
+
readonly more: number;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=chat-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/chat-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE1L,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAoBjF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAEnD;AAqBD,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7E;AAED,wDAAwD;AACxD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAiF,CAAC;AAI9J,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;CACxC,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,qHAAqH;AACrH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAO3F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,eAAe,EAAE,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,YAAY,EAAE,CAkBhP;AAED,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAItG,8GAA8G;AAC9G,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQhF;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAEhG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { AdmissionRequest, Participant } from "@q9labsai/chalk-client";
|
|
2
|
+
export type PeopleRow = {
|
|
3
|
+
readonly kind: "section";
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly label: string;
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: "waiting";
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly request: AdmissionRequest;
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: "hand";
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly participant: Participant;
|
|
14
|
+
readonly order: number;
|
|
15
|
+
} | {
|
|
16
|
+
readonly kind: "person";
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly participant: Participant; /** Place in the raised-hands queue; set only while two or more hands are up. */
|
|
19
|
+
readonly handNumber: number | null;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "none";
|
|
22
|
+
readonly key: string;
|
|
23
|
+
readonly query: string;
|
|
24
|
+
};
|
|
25
|
+
export type PeopleInput = {
|
|
26
|
+
readonly roster: readonly Participant[];
|
|
27
|
+
/** People waiting to join; empty for anyone who can't let people in. */
|
|
28
|
+
readonly waiting: readonly AdmissionRequest[];
|
|
29
|
+
/** Participant ids with a raised hand, the one raised first at the front. */
|
|
30
|
+
readonly handOrder: readonly string[];
|
|
31
|
+
readonly query: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The People list, top to bottom: people waiting, the raised-hands queue (only once two hands are up,
|
|
35
|
+
* since one hand needs no order), then everyone in the call. A search hides the queue.
|
|
36
|
+
*/
|
|
37
|
+
export declare function peopleRows({ roster, waiting, handOrder, query }: PeopleInput): readonly PeopleRow[];
|
|
38
|
+
/**
|
|
39
|
+
* Who raised a hand first. The client only says whether a hand is up, so this remembers the order
|
|
40
|
+
* the lists saw hands go up in; people who join with a hand already raised count from when they appear.
|
|
41
|
+
*/
|
|
42
|
+
export declare function nextHandOrder(previous: readonly string[], roster: readonly Participant[]): readonly string[];
|
|
43
|
+
//# sourceMappingURL=people-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"people-model.d.ts","sourceRoot":"","sources":["../../../src/sheets/people-chat/people-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,gFAAgF;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,GAAG,SAAS,SAAS,EAAE,CAkCnG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,MAAM,EAAE,CAK5G"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The call's sounds, rendered offline from the mockup's WebAudio synth so they sound the same:
|
|
3
|
+
* two rising notes for a join, two falling for a leave, two thuds for a knock, one light tone for
|
|
4
|
+
* a message, two bell notes for a raised hand, a tick for mute and unmute, three notes when
|
|
5
|
+
* recording starts, two low notes for an error, and three rising notes for Test speaker.
|
|
6
|
+
*/
|
|
7
|
+
declare const sources: {
|
|
8
|
+
readonly join: number;
|
|
9
|
+
readonly leave: number;
|
|
10
|
+
readonly knock: number;
|
|
11
|
+
readonly message: number;
|
|
12
|
+
readonly hand: number;
|
|
13
|
+
readonly mute: number;
|
|
14
|
+
readonly unmute: number;
|
|
15
|
+
readonly recording: number;
|
|
16
|
+
readonly error: number;
|
|
17
|
+
readonly test: number;
|
|
18
|
+
};
|
|
19
|
+
export type SoundName = keyof typeof sources;
|
|
20
|
+
/**
|
|
21
|
+
* Plays one sound when `enabled` (the persisted Sounds setting); Test speaker ignores the setting.
|
|
22
|
+
*
|
|
23
|
+
* Players keep the audio session active: expo-audio otherwise deactivates the shared iOS session
|
|
24
|
+
* after each sound, which would cut the call's audio. This module never calls `setAudioModeAsync`,
|
|
25
|
+
* because on Android that resets the audio mode and turns on the speakerphone mid-call. On iOS the
|
|
26
|
+
* silent switch mutes these sounds only outside a call; during a call WebRTC's play-and-record
|
|
27
|
+
* session plays them regardless.
|
|
28
|
+
*/
|
|
29
|
+
export declare function playSound(name: SoundName, enabled: boolean): void;
|
|
30
|
+
/** Frees the players when the call view goes away. */
|
|
31
|
+
export declare function releaseSounds(): void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=sounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../src/sounds/sounds.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;CAAuF,CAAC;AAErG,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC;AAI7C;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CASjE;AAED,sDAAsD;AACtD,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { type GetAccess, type ReactNativeAsyncStorage } from "@q9labsai/chalk-client";
|
|
2
|
-
import type { FeedbackSource } from "@q9labsai/chalk-client";
|
|
3
2
|
import type { SpaceClient } from "@q9labsai/chalk-client";
|
|
4
|
-
import { type TelemetryJourney } from "../telemetry";
|
|
5
3
|
export type NativeSpaceClientOptions = {
|
|
6
4
|
readonly space: string;
|
|
7
5
|
readonly getAccess: GetAccess;
|
|
@@ -12,8 +10,6 @@ export type NativeSpaceClientOptions = {
|
|
|
12
10
|
readonly camera?: boolean;
|
|
13
11
|
readonly syncStartupTimeoutMs?: number;
|
|
14
12
|
readonly storage?: ReactNativeAsyncStorage;
|
|
15
|
-
readonly telemetry?: TelemetryJourney;
|
|
16
|
-
readonly feedbackSource?: FeedbackSource;
|
|
17
13
|
};
|
|
18
14
|
export declare function createNativeSpaceClient(options: NativeSpaceClientOptions): SpaceClient;
|
|
19
15
|
//# sourceMappingURL=create-native-space-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-native-space-client.d.ts","sourceRoot":"","sources":["../../src/space-client/create-native-space-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-native-space-client.d.ts","sourceRoot":"","sources":["../../src/space-client/create-native-space-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,SAAS,EAEd,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAW1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CAC5C,CAAC;AACF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW,CAiDtF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JavaScriptCore on React Native has no Web Crypto, and the client calls `crypto.randomUUID()` for request and command keys
|
|
3
|
+
* and for its connection id, which must come from a secure source. Without it, Leave and media commands fail. This fills only
|
|
4
|
+
* what is missing with Expo's native secure generator, so runtimes with Web Crypto keep theirs.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ensureRandomUUID(): void;
|
|
7
|
+
//# sourceMappingURL=random-uuid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-uuid.d.ts","sourceRoot":"","sources":["../../src/space-client/random-uuid.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Frame } from "../motion/MovingFrame";
|
|
2
|
+
export type SharedContent = {
|
|
3
|
+
readonly kind: "screen";
|
|
4
|
+
readonly sharerId: string;
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: "board";
|
|
7
|
+
};
|
|
8
|
+
export type ContentTileProps = {
|
|
9
|
+
readonly content: SharedContent;
|
|
10
|
+
/** The content's box inside the tile, letterboxed to its aspect. */
|
|
11
|
+
readonly inner: Frame;
|
|
12
|
+
/** A small tile in the rows; tapping it brings the content back to the spotlight. */
|
|
13
|
+
readonly mini: boolean;
|
|
14
|
+
readonly onShowInSpotlight: () => void;
|
|
15
|
+
};
|
|
16
|
+
/** The shared screen or board as one stage tile (`.tile.content`), kept mounted while it moves. */
|
|
17
|
+
export declare const ContentTile: import("react").MemoExoticComponent<({ content, inner, mini, onShowInSpotlight }: ContentTileProps) => React.JSX.Element>;
|
|
18
|
+
//# sourceMappingURL=ContentTile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentTile.d.ts","sourceRoot":"","sources":["../../src/stage/ContentTile.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAOnD,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC;CACxC,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,WAAW,oFAA0E,gBAAgB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CASpI,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type ParticipantTileProps = {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly width: number;
|
|
4
|
+
readonly height: number;
|
|
5
|
+
/** The small tile floating over the other person when two are in the call. */
|
|
6
|
+
readonly float: boolean;
|
|
7
|
+
readonly pinned: boolean;
|
|
8
|
+
/** Your own front-camera video is mirrored while this is on. */
|
|
9
|
+
readonly mirror: boolean;
|
|
10
|
+
readonly onOpen: (participantId: string) => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* One person's tile: their camera, or their bold facehash when the camera is off, the name tag,
|
|
14
|
+
* and the speaking ring. It subscribes to that person alone, so nobody else's change re-renders
|
|
15
|
+
* it, and the stage keeps it mounted across every move so the video view keeps its surface.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ParticipantTile: import("react").MemoExoticComponent<({ id, width, height, float, pinned, mirror, onOpen }: ParticipantTileProps) => React.JSX.Element>;
|
|
18
|
+
//# sourceMappingURL=ParticipantTile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParticipantTile.d.ts","sourceRoot":"","sources":["../../src/stage/ParticipantTile.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAC;AAiCF;;;;GAIG;AACH,eAAO,MAAM,eAAe,6FAAuF,oBAAoB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8BzJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Frame } from "../motion/MovingFrame";
|
|
2
|
+
export type StageProps = {
|
|
3
|
+
/** The stage box in screen points, from `frameRegions`. */
|
|
4
|
+
readonly frame: Frame;
|
|
5
|
+
/** The "+N" tile opens People. */
|
|
6
|
+
readonly onOpenPeople: () => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The stage: Spotlight or Grid, smart placement of everyone present, and the shared screen or
|
|
10
|
+
* board. Tiles are keyed by participant and moved with `MovingFrame`, so a video view is never
|
|
11
|
+
* remounted by a move, a layout switch or a sheet; only tiles on the stage subscribe to video.
|
|
12
|
+
*/
|
|
13
|
+
export declare const Stage: import("react").MemoExoticComponent<({ frame, onOpenPeople }: StageProps) => React.JSX.Element>;
|
|
14
|
+
//# sourceMappingURL=Stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../src/stage/Stage.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAYhE,MAAM,MAAM,UAAU,GAAG;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AA0BF;;;;GAIG;AACH,eAAO,MAAM,KAAK,gEAAgD,UAAU,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2C9F,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type TileSheetProps = {
|
|
2
|
+
/** The person whose tile was tapped last; it stays set while the sheet closes, so the rows don't empty mid-slide. */
|
|
3
|
+
readonly participantId: string | null;
|
|
4
|
+
readonly open: boolean;
|
|
5
|
+
readonly onClose: () => void;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* The phone's tile sheet (`#tsheet` with `tileSheetHTML`): pin, your camera and mirror, and the
|
|
9
|
+
* host's mute and remove for someone else. Board following waits for board editing.
|
|
10
|
+
*/
|
|
11
|
+
export declare function TileSheet({ participantId, open, onClose }: TileSheetProps): React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=TileSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TileSheet.d.ts","sourceRoot":"","sources":["../../src/stage/TileSheet.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,cAAc,GAAG;IAC3B,qHAAqH;IACrH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAeF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsE7F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MediaDevice, MediaSlice } from "@q9labsai/chalk-client";
|
|
2
|
+
export type CameraFacing = "front" | "back";
|
|
3
|
+
/** Which way your selected camera faces. Without a selection the phone uses the front camera. */
|
|
4
|
+
export declare function cameraFacing(media: MediaSlice): CameraFacing;
|
|
5
|
+
/** The camera facing the other way, or null when the phone has only one. */
|
|
6
|
+
export declare function otherCamera(media: MediaSlice): MediaDevice | null;
|
|
7
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../src/stage/camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAQ5C,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAE5D;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAGjE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Frame } from "../motion/MovingFrame";
|
|
2
|
+
/** What a tile shows: one person, the shared screen or board, or the "+N" tile that opens People. */
|
|
3
|
+
export type Slot = {
|
|
4
|
+
readonly kind: "person";
|
|
5
|
+
readonly id: string;
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: "content";
|
|
8
|
+
};
|
|
9
|
+
export type StageItem = {
|
|
10
|
+
readonly kind: "person";
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly frame: Frame;
|
|
13
|
+
readonly big: boolean;
|
|
14
|
+
readonly float: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** `inner` is the shared content's box inside the tile, letterboxed to its aspect. */
|
|
17
|
+
| {
|
|
18
|
+
readonly kind: "content";
|
|
19
|
+
readonly frame: Frame;
|
|
20
|
+
readonly inner: Frame;
|
|
21
|
+
readonly mini: boolean;
|
|
22
|
+
} | {
|
|
23
|
+
readonly kind: "more";
|
|
24
|
+
readonly frame: Frame;
|
|
25
|
+
readonly count: number;
|
|
26
|
+
};
|
|
27
|
+
export type StageContent = {
|
|
28
|
+
readonly kind: "screen" | "board"; /** Width over height; null fills the tile. */
|
|
29
|
+
readonly aspect: number | null;
|
|
30
|
+
};
|
|
31
|
+
export type StageInput = {
|
|
32
|
+
readonly stage: Frame;
|
|
33
|
+
/** Portrait or landscape phone. The iPad uses the phone layout today. */
|
|
34
|
+
readonly portrait: boolean;
|
|
35
|
+
readonly layout: "spotlight" | "grid";
|
|
36
|
+
/** Everyone in stage order, you included. */
|
|
37
|
+
readonly order: readonly string[];
|
|
38
|
+
/** The person Spotlight shows big when nobody is pinned. */
|
|
39
|
+
readonly spot: string | null;
|
|
40
|
+
readonly pinned: string | null;
|
|
41
|
+
readonly content: StageContent | null;
|
|
42
|
+
};
|
|
43
|
+
/** The mockup's `contain`: the largest box of `aspect` centred in `box`. */
|
|
44
|
+
export declare function contain(box: Frame, aspect: number | null): Frame;
|
|
45
|
+
/** Lays out the stage as the mockup's `layout()` does for a phone call. */
|
|
46
|
+
export declare function stageLayout(input: StageInput): readonly StageItem[];
|
|
47
|
+
export type StageOrder = {
|
|
48
|
+
readonly order: readonly string[];
|
|
49
|
+
readonly spot: string | null;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Keeps the stage order stable as people come and go, as the mockup's `syncOrder` and
|
|
53
|
+
* `nextSpeaker` do: leavers drop out, newcomers join the end, and when someone else starts
|
|
54
|
+
* speaking they swap places with the person in the spotlight, so only those two tiles move.
|
|
55
|
+
*/
|
|
56
|
+
export declare function nextStageOrder(previous: StageOrder, present: readonly string[], selfId: string | null, speaker: string | null): StageOrder;
|
|
57
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/stage/layout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,qGAAqG;AACrG,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AACzH,sFAAsF;GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,8CAA8C;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEhJ,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;IACtC,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACvC,CAAC;AAWF,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAShE;AAkGD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,SAAS,EAAE,CAQnE;AAqDD,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAY1I"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SpaceSnapshot } from "@q9labsai/chalk-client";
|
|
2
|
+
/**
|
|
3
|
+
* Reads one value from the call's snapshot and re-renders only when that value changes by
|
|
4
|
+
* `isEqual`, so one person's change re-renders only their own tile. `select` must be stable
|
|
5
|
+
* (wrap it in `useCallback`).
|
|
6
|
+
*/
|
|
7
|
+
export declare function useSpaceSelector<T>(select: (snapshot: SpaceSnapshot) => T, isEqual?: (a: T, b: T) => boolean): T;
|
|
8
|
+
/** Equal when both objects hold the same values under the same keys, compared with `Object.is`. */
|
|
9
|
+
export declare function shallowEqual<T extends object>(a: T, b: T): boolean;
|
|
10
|
+
//# sourceMappingURL=space-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-selector.d.ts","sourceRoot":"","sources":["../../src/stage/space-selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,CAAC,EAAE,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAAG,CAAC,CAc3H;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAIlE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type StageLayoutChoice = "spotlight" | "grid";
|
|
3
|
+
export type StageView = {
|
|
4
|
+
readonly layout: StageLayoutChoice;
|
|
5
|
+
readonly pinned: string | null;
|
|
6
|
+
/** Whether your own front-camera video is mirrored, as in a mirror. On by default. */
|
|
7
|
+
readonly mirror: boolean;
|
|
8
|
+
readonly setLayout: (layout: StageLayoutChoice) => void;
|
|
9
|
+
/** Pins a person, or unpins them if they're pinned. In Grid it switches to Spotlight first. */
|
|
10
|
+
readonly togglePin: (participantId: string) => void;
|
|
11
|
+
/** Spotlight with nobody pinned, so the shared screen or board takes the stage. */
|
|
12
|
+
readonly showContent: () => void;
|
|
13
|
+
readonly setMirror: (mirror: boolean) => void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* The person's choices about the stage: Spotlight or Grid, who's pinned, and the mirror. They
|
|
17
|
+
* live above the frame so More (the layout switch) and the stage share them.
|
|
18
|
+
*/
|
|
19
|
+
export declare function StageViewProvider({ children }: {
|
|
20
|
+
readonly children: ReactNode;
|
|
21
|
+
}): React.JSX.Element;
|
|
22
|
+
export declare function useStageView(): StageView;
|
|
23
|
+
//# sourceMappingURL=stage-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-view.d.ts","sourceRoot":"","sources":["../../src/stage/stage-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhG,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxD,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mFAAmF;IACnF,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAIF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqCnG;AAED,wBAAgB,YAAY,IAAI,SAAS,CAIxC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CallScreen } from "./call-screen";
|
|
2
|
+
export type CallOverlaysProps = {
|
|
3
|
+
readonly screen: CallScreen;
|
|
4
|
+
readonly callName: string;
|
|
5
|
+
/** The app restarted to rejoin, so the card says "Rejoining" instead of "Joining". */
|
|
6
|
+
readonly rejoining: boolean;
|
|
7
|
+
/** A phone call has the microphone (T6). */
|
|
8
|
+
readonly onHold: boolean;
|
|
9
|
+
readonly onRejoin: () => void;
|
|
10
|
+
readonly onHome: () => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The overlays layer: the veil and limbo card while the call joins, reconnects or waits on a phone
|
|
14
|
+
* call, and the status page once it's over. Android back on a status page goes Home.
|
|
15
|
+
*/
|
|
16
|
+
export declare function CallOverlays({ screen, callName, rejoining, onHold, onRejoin, onHome }: CallOverlaysProps): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=CallOverlays.d.ts.map
|