agora-appbuilder-core 3.0.13 → 3.0.28-beta-9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/Readme.md +6 -0
  2. package/package.json +3 -3
  3. package/template/.bundle/config +2 -0
  4. package/template/Gemfile +4 -0
  5. package/template/Gulpfile.js +31 -30
  6. package/template/_eslintrc.js +3 -3
  7. package/template/_gitignore +12 -11
  8. package/template/_package-lock.json +34387 -27128
  9. package/template/_prettierrc.js +2 -2
  10. package/template/agora-rn-uikit/.eslintrc.js +5 -0
  11. package/template/agora-rn-uikit/package-lock.json +25024 -0
  12. package/template/agora-rn-uikit/package.json +14 -14
  13. package/template/agora-rn-uikit/src/AgoraUIKit.tsx +6 -6
  14. package/template/agora-rn-uikit/src/Contexts/ContentContext.tsx +10 -0
  15. package/template/agora-rn-uikit/src/Contexts/DispatchContext.tsx +22 -0
  16. package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +10 -6
  17. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +98 -37
  18. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +27 -16
  19. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +31 -26
  20. package/template/agora-rn-uikit/src/Controls/Icons.ts +81 -83
  21. package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
  22. package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -4
  23. package/template/agora-rn-uikit/src/Controls/Local/FullScreen.tsx +3 -1
  24. package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +5 -2
  25. package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +5 -2
  26. package/template/agora-rn-uikit/src/Controls/Local/Recording.tsx +0 -2
  27. package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +7 -6
  28. package/template/agora-rn-uikit/src/Controls/LocalControls.tsx +5 -5
  29. package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +5 -4
  30. package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +3 -1
  31. package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +5 -4
  32. package/template/agora-rn-uikit/src/Controls/RemoteControls.tsx +2 -2
  33. package/template/agora-rn-uikit/src/Reducer/ActiveSpeaker.ts +30 -0
  34. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +8 -6
  35. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +8 -6
  36. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +23 -0
  37. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +7 -7
  38. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +9 -8
  39. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +7 -7
  40. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +24 -14
  41. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +6 -6
  42. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +6 -6
  43. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +14 -5
  44. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +28 -0
  45. package/template/agora-rn-uikit/src/Reducer/UserSecondaryPin.ts +23 -0
  46. package/template/agora-rn-uikit/src/Reducer/index.ts +4 -0
  47. package/template/agora-rn-uikit/src/Rtc/Create.tsx +197 -66
  48. package/template/agora-rn-uikit/src/Rtc/Join.tsx +60 -33
  49. package/template/agora-rn-uikit/src/RtcConfigure.tsx +194 -57
  50. package/template/agora-rn-uikit/src/Utils/isBotUser.ts +15 -0
  51. package/template/agora-rn-uikit/src/Utils/quality.tsx +8 -0
  52. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +67 -13
  53. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +53 -17
  54. package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +19 -11
  55. package/template/agora-rn-uikit/src/index.ts +19 -10
  56. package/template/android/app/build.gradle +67 -155
  57. package/template/android/app/src/debug/AndroidManifest.xml +6 -1
  58. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +7 -4
  59. package/template/android/app/src/main/AndroidManifest.xml +21 -27
  60. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  61. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  62. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +67 -0
  63. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +22 -36
  64. package/template/android/app/src/main/java/com/helloworld/SSLPinningFactory.java +30 -0
  65. package/template/android/app/src/main/res/values/colors.xml +7 -0
  66. package/template/android/app/src/main/res/values/strings.xml +3 -0
  67. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
  68. package/template/android/build.gradle +20 -31
  69. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  70. package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -2
  71. package/template/android/gradle.properties +18 -4
  72. package/template/android/gradlew +165 -104
  73. package/template/android/gradlew.bat +12 -23
  74. package/template/android/link-assets-manifest.json +13 -0
  75. package/template/android/settings.gradle +1 -0
  76. package/template/babel.config.js +1 -0
  77. package/template/bridge/rtc/webNg/RtcEngine.ts +940 -98
  78. package/template/bridge/rtc/webNg/{SurfaceView.tsx → RtcSurfaceView.tsx} +20 -27
  79. package/template/bridge/rtc/webNg/Types.ts +20 -5
  80. package/template/bridge/rtc/webNg/index.ts +81 -14
  81. package/template/bridge/rtm/web/index.ts +86 -35
  82. package/template/configTransform.js +16 -1
  83. package/template/customization-api/action-library.ts +4 -16
  84. package/template/customization-api/app-state.ts +18 -8
  85. package/template/customization-api/atoms.ts +8 -0
  86. package/template/customization-api/customEvents.ts +7 -2
  87. package/template/customization-api/customize.ts +30 -11
  88. package/template/customization-api/index.ts +5 -0
  89. package/template/customization-api/sub-components.ts +43 -18
  90. package/template/customization-api/temp.ts +51 -0
  91. package/template/customization-api/typeDefinition.ts +65 -49
  92. package/template/customization-api/types.ts +48 -0
  93. package/template/customization-api/utils.ts +19 -1
  94. package/template/customization-implementation/createHook.ts +24 -6
  95. package/template/customization-implementation/index.ts +1 -2
  96. package/template/customization-implementation/useCustomization.tsx +5 -7
  97. package/template/defaultConfig.js +84 -0
  98. package/template/electron/index.html +27 -27
  99. package/template/electron/renderer/index.js +1 -0
  100. package/template/global.d.ts +97 -6
  101. package/template/index.js +18 -1
  102. package/template/index.rsdk.tsx +1 -0
  103. package/template/index.web.js +1 -0
  104. package/template/index.wsdk.tsx +2 -13
  105. package/template/ios/.xcode.env +11 -0
  106. package/template/ios/HelloWorld/AppDelegate.h +2 -4
  107. package/template/ios/HelloWorld/AppDelegate.mm +64 -0
  108. package/template/ios/HelloWorld/HelloWorldDebug.entitlements +10 -0
  109. package/template/ios/HelloWorld/Info.plist +20 -1
  110. package/template/ios/HelloWorld/main.m +2 -1
  111. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +596 -11
  112. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  113. package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/ScreenSharing.xcscheme +95 -0
  114. package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
  115. package/template/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  116. package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
  117. package/template/ios/HelloWorldTests/Info.plist +2 -2
  118. package/template/ios/Podfile +54 -20
  119. package/template/ios/Podfile.lock +975 -0
  120. package/template/ios/ScreenSharing/Info.plist +15 -0
  121. package/template/ios/ScreenSharing/SampleHandler.h +5 -0
  122. package/template/ios/ScreenSharing/SampleHandler.m +39 -0
  123. package/template/ios/link-assets-manifest.json +13 -0
  124. package/template/jest.config.js +4 -0
  125. package/template/metro.config.js +7 -32
  126. package/template/package-lock.json +57746 -0
  127. package/template/package.json +71 -35
  128. package/template/react-native-toast-message/index.d.ts +46 -44
  129. package/template/react-native-toast-message/index.js +1 -0
  130. package/template/react-native-toast-message/package-lock.json +10553 -0
  131. package/template/react-native-toast-message/src/colors/index.js +3 -2
  132. package/template/react-native-toast-message/src/components/base/index.js +38 -63
  133. package/template/react-native-toast-message/src/components/base/styles.js +20 -39
  134. package/template/react-native-toast-message/src/components/checkbox.js +183 -0
  135. package/template/react-native-toast-message/src/components/error.js +3 -2
  136. package/template/react-native-toast-message/src/components/info.js +3 -2
  137. package/template/react-native-toast-message/src/components/success.js +3 -2
  138. package/template/react-native-toast-message/src/index.js +125 -32
  139. package/template/react-native-toast-message/src/index.sdk.tsx +129 -36
  140. package/template/react-native-toast-message/src/styles.js +3 -4
  141. package/template/react-native-toast-message/src/styles.sdk.ts +3 -4
  142. package/template/react-native.config.js +7 -0
  143. package/template/src/App.tsx +53 -63
  144. package/template/src/AppRoutes.tsx +101 -0
  145. package/template/src/AppWrapper.tsx +83 -29
  146. package/template/src/SDKAppWrapper.tsx +145 -58
  147. package/template/src/app-state/useBeautyEffects.ts +30 -0
  148. package/template/src/app-state/useLocalUserInfo.ts +3 -3
  149. package/template/src/app-state/useMessages.ts +49 -9
  150. package/template/src/app-state/useNoiseSupression.native.tsx +73 -0
  151. package/template/src/app-state/useNoiseSupression.tsx +151 -0
  152. package/template/src/app-state/useVideoQuality.tsx +182 -0
  153. package/template/src/app-state/useVirtualBackground.ts +152 -0
  154. package/template/src/assets/font-styles.css +677 -0
  155. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  156. package/template/src/assets/fonts/icomoon.ttf +0 -0
  157. package/template/src/assets/permission.png +0 -0
  158. package/template/src/assets/selection.json +3491 -0
  159. package/template/src/atoms/ActionMenu.tsx +326 -0
  160. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +71 -0
  161. package/template/src/atoms/AnimatedActiveSpeaker.tsx +84 -0
  162. package/template/src/atoms/AnimatedRings.native.tsx +68 -0
  163. package/template/src/atoms/AnimatedRings.tsx +70 -0
  164. package/template/src/atoms/Avatar.tsx +51 -0
  165. package/template/src/atoms/Card.tsx +74 -0
  166. package/template/src/atoms/Carousel.native.tsx +105 -0
  167. package/template/src/atoms/Carousel.tsx +109 -0
  168. package/template/src/atoms/Checkbox.tsx +98 -0
  169. package/template/src/atoms/CircularProgress.native.tsx +121 -0
  170. package/template/src/atoms/CircularProgress.tsx +101 -0
  171. package/template/src/atoms/ClipboardIconButton.tsx +91 -0
  172. package/template/src/atoms/CustomIcon.tsx +153 -0
  173. package/template/src/atoms/CustomSwitch.tsx +287 -0
  174. package/template/src/atoms/DropDownMulti.tsx +349 -0
  175. package/template/src/atoms/Dropdown.tsx +307 -0
  176. package/template/src/atoms/HorizontalRule.tsx +3 -1
  177. package/template/src/atoms/IconButton.tsx +205 -0
  178. package/template/src/atoms/ImageIcon.tsx +127 -0
  179. package/template/src/atoms/InfoBubble.tsx +291 -0
  180. package/template/src/atoms/InlineNotification.tsx +81 -0
  181. package/template/src/atoms/InlinePopup.tsx +185 -0
  182. package/template/src/atoms/Input.tsx +87 -0
  183. package/template/src/atoms/InviteInfo.tsx +166 -0
  184. package/template/src/atoms/LinkButton.tsx +29 -0
  185. package/template/src/atoms/MeetingLink.tsx +160 -0
  186. package/template/src/atoms/OutlineButton.tsx +61 -0
  187. package/template/src/atoms/ParticipantsCount.tsx +78 -0
  188. package/template/src/atoms/Popup.tsx +178 -0
  189. package/template/src/atoms/PrimaryButton.tsx +65 -26
  190. package/template/src/atoms/RecordingInfo.tsx +47 -0
  191. package/template/src/atoms/SecondaryButton.tsx +10 -5
  192. package/template/src/atoms/Spacer.tsx +23 -0
  193. package/template/src/atoms/TertiaryButton.tsx +108 -0
  194. package/template/src/atoms/TextInput.tsx +13 -14
  195. package/template/src/atoms/Toggle.tsx +47 -0
  196. package/template/src/atoms/Toolbar.tsx +94 -0
  197. package/template/src/atoms/ToolbarItem.tsx +99 -0
  198. package/template/src/atoms/ToolbarMenu.tsx +40 -0
  199. package/template/src/atoms/ToolbarMenuItem.tsx +104 -0
  200. package/template/src/atoms/ToolbarPreset.tsx +147 -0
  201. package/template/src/atoms/Tooltip.native.tsx +65 -0
  202. package/template/src/atoms/Tooltip.tsx +111 -0
  203. package/template/src/atoms/UserAvatar.tsx +60 -0
  204. package/template/src/atoms/pagination/Pagination.tsx +127 -0
  205. package/template/src/atoms/pagination/usePagination.tsx +88 -0
  206. package/template/src/auth/AuthProvider.tsx +710 -0
  207. package/template/src/auth/AuthRoute.tsx +94 -0
  208. package/template/src/auth/IDPAuth.electron.tsx +32 -0
  209. package/template/src/auth/IDPAuth.tsx +73 -0
  210. package/template/src/auth/IDPLogoutComponent.tsx +158 -0
  211. package/template/src/auth/UserCancelPopup.tsx +115 -0
  212. package/template/src/auth/config.ts +53 -0
  213. package/template/src/auth/openIDPURL.electron.tsx +39 -0
  214. package/template/src/auth/openIDPURL.native.tsx +62 -0
  215. package/template/src/auth/openIDPURL.tsx +20 -0
  216. package/template/src/auth/useIDPAuth.electron.tsx +125 -0
  217. package/template/src/auth/useIDPAuth.native.tsx +130 -0
  218. package/template/src/auth/useIDPAuth.tsx +124 -0
  219. package/template/src/auth/useTokenAuth.tsx +267 -0
  220. package/template/src/components/Chat.tsx +177 -279
  221. package/template/src/components/ChatContext.ts +22 -1
  222. package/template/src/components/ColorConfigure.tsx +1 -2
  223. package/template/src/components/ColorContext.ts +1 -1
  224. package/template/src/components/CommonStyles.ts +51 -0
  225. package/template/src/components/Controls.tsx +1275 -108
  226. package/template/src/components/{Controls.native.tsx → Controls1.native.tsx} +15 -9
  227. package/template/src/components/CustomSidePanel.tsx +82 -0
  228. package/template/src/components/DeviceConfigure.native.tsx +2 -2
  229. package/template/src/components/DeviceConfigure.tsx +789 -122
  230. package/template/src/components/DeviceContext.tsx +10 -4
  231. package/template/src/components/EventsConfigure.tsx +773 -12
  232. package/template/src/components/GraphQLProvider.tsx +83 -37
  233. package/template/src/components/GridVideo.tsx +86 -53
  234. package/template/src/components/HostControlView.tsx +118 -42
  235. package/template/src/components/JoinPhrase.tsx +0 -1
  236. package/template/src/components/Leftbar.tsx +129 -0
  237. package/template/src/components/Navbar.tsx +469 -488
  238. package/template/src/components/NavbarMobile.tsx +138 -0
  239. package/template/src/components/Navigation.native.tsx +1 -14
  240. package/template/src/components/{Settings.native.tsx → Navigation.sdk.tsx} +17 -6
  241. package/template/src/components/NetworkQualityContext.tsx +32 -26
  242. package/template/src/components/ParticipantsView.tsx +195 -165
  243. package/template/src/components/PinnedVideo.tsx +317 -122
  244. package/template/src/components/Precall.native.tsx +472 -116
  245. package/template/src/components/Precall.tsx +493 -154
  246. package/template/src/components/RTMConfigure.tsx +477 -83
  247. package/template/src/components/Rightbar.tsx +129 -0
  248. package/template/src/components/Router.electron.ts +2 -0
  249. package/template/src/components/Router.native.ts +2 -0
  250. package/template/src/components/Router.sdk.ts +2 -0
  251. package/template/src/components/Router.ts +2 -0
  252. package/template/src/components/SdkApiContext.tsx +319 -0
  253. package/template/src/components/SdkMuteToggleListener.tsx +88 -0
  254. package/template/src/components/SessionContext.tsx +0 -1
  255. package/template/src/components/Settings.tsx +51 -114
  256. package/template/src/components/SettingsView.tsx +293 -54
  257. package/template/src/components/Share.tsx +415 -297
  258. package/template/src/components/StorageContext.tsx +82 -7
  259. package/template/src/components/ToastComponent.tsx +17 -0
  260. package/template/src/components/WhiteboardLayout.tsx +291 -0
  261. package/template/src/components/beauty-effect/useBeautyEffects.native.tsx +119 -0
  262. package/template/src/components/beauty-effect/useBeautyEffects.tsx +152 -0
  263. package/template/src/components/chat/chatConfigure.native.tsx +511 -0
  264. package/template/src/components/chat/chatConfigure.tsx +529 -0
  265. package/template/src/components/chat-messages/useChatMessages.tsx +513 -386
  266. package/template/src/components/chat-ui/useChatUIControls.tsx +132 -0
  267. package/template/src/components/common/Error.tsx +36 -6
  268. package/template/src/components/common/Logo.tsx +16 -15
  269. package/template/src/components/contexts/LiveStreamDataContext.tsx +23 -17
  270. package/template/src/components/contexts/ScreenShareContext.tsx +15 -1
  271. package/template/src/components/contexts/VideoMeetingDataContext.tsx +41 -11
  272. package/template/src/components/contexts/WaitingRoomContext.tsx +61 -0
  273. package/template/src/components/contexts/WhiteboardContext.tsx +54 -54
  274. package/template/src/components/disable-chat/useDisableChat.tsx +32 -0
  275. package/template/src/components/livestream/LiveStreamContext.tsx +493 -165
  276. package/template/src/components/livestream/Types.ts +58 -17
  277. package/template/src/components/livestream/index.ts +1 -0
  278. package/template/src/components/livestream/views/LiveStreamAttendeeLandingTile.tsx +295 -0
  279. package/template/src/components/livestream/views/LiveStreamControls.tsx +8 -4
  280. package/template/src/components/meeting-info-invite/MeetingInfo.tsx +82 -0
  281. package/template/src/components/meeting-info-invite/MeetingInfoCardHeader.tsx +86 -0
  282. package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +221 -0
  283. package/template/src/components/meeting-info-invite/MeetingInfoLinks.tsx +122 -0
  284. package/template/src/components/participants/AllAudienceParticipants.tsx +105 -35
  285. package/template/src/components/participants/AllHostParticipants.tsx +108 -38
  286. package/template/src/components/participants/Participant.tsx +330 -0
  287. package/template/src/components/participants/ParticipantName.tsx +13 -7
  288. package/template/src/components/participants/ParticipantSectionTitle.tsx +38 -10
  289. package/template/src/components/participants/ScreenshareParticipants.tsx +142 -12
  290. package/template/src/components/participants/UserActionMenuOptions.tsx +510 -0
  291. package/template/src/components/participants/WaitingRoomParticipants.tsx +74 -0
  292. package/template/src/components/popups/InvitePopup.tsx +196 -0
  293. package/template/src/components/popups/StartScreenSharePopup.native.tsx +182 -0
  294. package/template/src/components/popups/StartScreenSharePopup.tsx +6 -0
  295. package/template/src/components/popups/StopRecordingPopup.tsx +120 -0
  296. package/template/src/components/popups/StopScreenSharePopup.native.tsx +135 -0
  297. package/template/src/components/popups/StopScreenSharePopup.tsx +6 -0
  298. package/template/src/components/popups/WhiteboardClearAllPopup.tsx +123 -0
  299. package/template/src/components/precall/LocalMute.tsx +109 -15
  300. package/template/src/components/precall/{LocalMute.native.tsx → LocalMute1.native.tsx} +21 -5
  301. package/template/src/components/precall/PermissionHelper.native.tsx +5 -0
  302. package/template/src/components/precall/PermissionHelper.tsx +154 -0
  303. package/template/src/components/precall/PreCallSettings.tsx +53 -0
  304. package/template/src/components/precall/VideoFallback.tsx +173 -0
  305. package/template/src/components/precall/VideoPreview.native.tsx +19 -8
  306. package/template/src/components/precall/VideoPreview.tsx +28 -7
  307. package/template/src/components/precall/index.tsx +2 -0
  308. package/template/src/components/precall/joinCallBtn.native.tsx +12 -5
  309. package/template/src/components/precall/joinCallBtn.tsx +34 -6
  310. package/template/src/components/precall/joinWaitingRoomBtn.native.tsx +215 -0
  311. package/template/src/components/precall/joinWaitingRoomBtn.tsx +255 -0
  312. package/template/src/components/precall/meetingTitle.tsx +42 -13
  313. package/template/src/components/precall/selectDevice.tsx +5 -25
  314. package/template/src/components/precall/textInput.tsx +40 -14
  315. package/template/src/components/precall/usePreCall.tsx +66 -2
  316. package/template/src/components/recording-bot/RecordingBotRoute.tsx +48 -0
  317. package/template/src/components/recordings/RecordingsDateTable.tsx +62 -0
  318. package/template/src/components/recordings/RecordingsModal.tsx +135 -0
  319. package/template/src/components/recordings/ViewRecordingsModal.tsx +51 -0
  320. package/template/src/components/recordings/recording-table.tsx +250 -0
  321. package/template/src/components/recordings/style.ts +238 -0
  322. package/template/src/components/recordings/utils.ts +122 -0
  323. package/template/src/components/room-info/useRoomInfo.tsx +142 -0
  324. package/template/src/components/{meeting-info/useSetMeetingInfo.tsx → room-info/useSetRoomInfo.tsx} +12 -12
  325. package/template/src/components/styles.ts +42 -21
  326. package/template/src/components/useShareLink.tsx +33 -70
  327. package/template/src/{utils/useButtonTemplate.tsx → components/useToast.tsx} +18 -20
  328. package/template/src/components/useUserPreference.tsx +157 -16
  329. package/template/src/components/useVideoCall.tsx +157 -0
  330. package/template/src/components/useWakeLock.tsx +18 -4
  331. package/template/src/components/virtual-background/VBButton.tsx +62 -0
  332. package/template/src/components/virtual-background/VBCard.native.tsx +280 -0
  333. package/template/src/components/virtual-background/VBCard.tsx +308 -0
  334. package/template/src/components/virtual-background/VBPanel.tsx +282 -0
  335. package/template/src/components/virtual-background/VButils.native.ts +72 -0
  336. package/template/src/components/virtual-background/VButils.ts +144 -0
  337. package/template/src/components/virtual-background/VideoPreview.native.tsx +43 -0
  338. package/template/src/components/virtual-background/VideoPreview.tsx +116 -0
  339. package/template/src/components/virtual-background/imagePaths.ts +82 -0
  340. package/template/src/components/virtual-background/images/beachImageBase64.ts +1 -0
  341. package/template/src/components/virtual-background/images/bedroomImageBase64.ts +1 -0
  342. package/template/src/components/virtual-background/images/bookImageBase64.ts +1 -0
  343. package/template/src/components/virtual-background/images/earthImageBase64.ts +1 -0
  344. package/template/src/components/virtual-background/images/index.ts +37 -0
  345. package/template/src/components/virtual-background/images/lampImageBase64.ts +1 -0
  346. package/template/src/components/virtual-background/images/mountainsImageBase64.ts +1 -0
  347. package/template/src/components/virtual-background/images/office1ImageBase64.ts +1 -0
  348. package/template/src/components/virtual-background/images/officeImageBase64.ts +1 -0
  349. package/template/src/components/virtual-background/images/plantsImageBase64.ts +1 -0
  350. package/template/src/components/virtual-background/images/skyImageBase64.ts +1 -0
  351. package/template/src/components/virtual-background/images/wallImageBase64.ts +1 -0
  352. package/template/src/components/virtual-background/useVB.native.tsx +205 -0
  353. package/template/src/components/virtual-background/useVB.tsx +294 -0
  354. package/template/src/components/whiteboard/StrokeWidthTool.tsx +137 -0
  355. package/template/src/components/whiteboard/WhiteboardButton.tsx +93 -0
  356. package/template/src/components/whiteboard/WhiteboardCanvas.tsx +99 -0
  357. package/template/src/components/whiteboard/WhiteboardConfigure.native.tsx +148 -0
  358. package/template/src/components/whiteboard/WhiteboardConfigure.tsx +473 -0
  359. package/template/src/components/whiteboard/WhiteboardCursor.tsx +152 -0
  360. package/template/src/components/whiteboard/WhiteboardToolBox.tsx +1448 -0
  361. package/template/src/components/whiteboard/WhiteboardView.native.tsx +212 -0
  362. package/template/src/components/whiteboard/WhiteboardView.tsx +81 -0
  363. package/template/src/components/whiteboard/WhiteboardWidget.tsx +729 -0
  364. package/template/src/components/whiteboard/WhiteboardWrapper.tsx +38 -0
  365. package/template/src/language/default-labels/commonLabels.ts +51 -14
  366. package/template/src/language/default-labels/createScreenLabels.ts +97 -17
  367. package/template/src/language/default-labels/joinScreenLabels.ts +45 -6
  368. package/template/src/language/default-labels/precallScreenLabels.ts +158 -25
  369. package/template/src/language/default-labels/shareLinkScreenLabels.ts +85 -37
  370. package/template/src/language/default-labels/videoCallScreenLabels.ts +1290 -158
  371. package/template/src/language/i18nTypes.ts +1 -1
  372. package/template/src/language/useLanguage.tsx +10 -4
  373. package/template/src/logger/AppBuilderLogger.tsx +313 -0
  374. package/template/src/logger/constants.ts +18 -0
  375. package/template/src/logger/transports/agora-transport.native.ts +64 -0
  376. package/template/src/logger/transports/agora-transport.ts +36 -0
  377. package/template/src/logger/transports/customer-transport.ts +162 -0
  378. package/template/src/pages/Authenticate.tsx +5 -15
  379. package/template/src/pages/Create.tsx +394 -202
  380. package/template/src/pages/Endcall.tsx +153 -0
  381. package/template/src/pages/Join.tsx +188 -78
  382. package/template/src/pages/Login.tsx +26 -0
  383. package/template/src/pages/VideoCall.tsx +381 -130
  384. package/template/src/pages/video-call/ActionSheet.native.tsx +343 -0
  385. package/template/src/pages/video-call/ActionSheet.tsx +349 -0
  386. package/template/src/pages/video-call/ActionSheetContent.tsx +655 -0
  387. package/template/src/pages/video-call/ActionSheetHandle.tsx +54 -0
  388. package/template/src/pages/video-call/ActionSheetStyles.css +138 -0
  389. package/template/src/pages/video-call/DefaultLayouts.ts +32 -12
  390. package/template/src/pages/video-call/NameWithMicIcon.tsx +104 -51
  391. package/template/src/pages/video-call/PinchableView.tsx +119 -0
  392. package/template/src/pages/video-call/RenderComponent.tsx +16 -31
  393. package/template/src/pages/video-call/SidePanelHeader.tsx +424 -0
  394. package/template/src/pages/video-call/VideoCallMobileView.tsx +299 -0
  395. package/template/src/pages/video-call/VideoCallScreen.native.tsx +38 -0
  396. package/template/src/pages/video-call/VideoCallScreen.tsx +379 -74
  397. package/template/src/pages/video-call/VideoCallScreenWrapper.tsx +51 -0
  398. package/template/src/pages/video-call/VideoComponent.tsx +81 -6
  399. package/template/src/pages/video-call/VideoRenderer.tsx +525 -63
  400. package/template/src/pages/video-call/VisibilitySensor.tsx +104 -0
  401. package/template/src/pages/video-call/ZoomableWrapper.native.tsx +34 -0
  402. package/template/src/pages/video-call/ZoomableWrapper.tsx +5 -0
  403. package/template/src/pages/video-call/index.ts +51 -7
  404. package/template/src/rtm/RTMEngine.ts +22 -4
  405. package/template/src/rtm-events/constants.ts +26 -9
  406. package/template/src/rtm-events-api/Events.ts +114 -23
  407. package/template/src/rtm-events-api/LocalEvents.ts +15 -0
  408. package/template/src/rtm-events-api/types.ts +10 -5
  409. package/template/src/selection.json +1 -0
  410. package/template/src/subComponents/BlockUI.tsx +70 -0
  411. package/template/src/subComponents/ChatBubble.tsx +413 -96
  412. package/template/src/subComponents/ChatContainer.tsx +305 -101
  413. package/template/src/subComponents/ChatInput.native.tsx +269 -0
  414. package/template/src/subComponents/ChatInput.tsx +308 -156
  415. package/template/src/subComponents/Checkbox.native.tsx +46 -35
  416. package/template/src/subComponents/Checkbox.tsx +9 -8
  417. package/template/src/subComponents/CopyJoinInfo.tsx +52 -62
  418. package/template/src/subComponents/EndcallPopup.tsx +182 -0
  419. package/template/src/subComponents/FallbackLogo.tsx +122 -40
  420. package/template/src/subComponents/LanguageSelector.tsx +35 -31
  421. package/template/src/subComponents/LayoutIconButton.tsx +210 -0
  422. package/template/src/subComponents/LayoutIconDropdown.tsx +149 -133
  423. package/template/src/subComponents/{LayoutIconDropdown.native.tsx → LayoutIconDropdown1.native.tsx} +4 -18
  424. package/template/src/subComponents/Loading.tsx +60 -0
  425. package/template/src/subComponents/LocalAudioMute.tsx +181 -30
  426. package/template/src/subComponents/LocalEndCall.tsx +118 -36
  427. package/template/src/subComponents/LocalSwitchCamera.tsx +72 -40
  428. package/template/src/subComponents/LocalVideoMute.tsx +177 -30
  429. package/template/src/subComponents/Logo.tsx +3 -4
  430. package/template/src/subComponents/LogoutButton.tsx +2 -2
  431. package/template/src/subComponents/NetworkQualityPill.tsx +65 -84
  432. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  433. package/template/src/subComponents/Recording.tsx +44 -31
  434. package/template/src/subComponents/RemoteAudioMute.tsx +83 -29
  435. package/template/src/subComponents/RemoteEndCall.tsx +8 -5
  436. package/template/src/subComponents/RemoteMutePopup.tsx +115 -0
  437. package/template/src/subComponents/RemoteVideoMute.tsx +74 -21
  438. package/template/src/subComponents/RemoveMeetingPopup.tsx +122 -0
  439. package/template/src/subComponents/RemoveScreensharePopup.tsx +124 -0
  440. package/template/src/subComponents/ScreenShareNotice.tsx +95 -12
  441. package/template/src/subComponents/SelectDevice.tsx +548 -66
  442. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +210 -0
  443. package/template/src/subComponents/SelectOAuth.tsx +9 -8
  444. package/template/src/subComponents/SidePanelButtons.ts +0 -3
  445. package/template/src/subComponents/SidePanelEnum.tsx +6 -4
  446. package/template/src/subComponents/SidePanelHeader.tsx +146 -0
  447. package/template/src/subComponents/ToastConfig.tsx +160 -11
  448. package/template/src/subComponents/caption/Caption.tsx +132 -0
  449. package/template/src/subComponents/caption/CaptionContainer.tsx +331 -0
  450. package/template/src/subComponents/caption/CaptionIcon.tsx +115 -0
  451. package/template/src/subComponents/caption/CaptionText.tsx +182 -0
  452. package/template/src/subComponents/caption/DownloadTranscriptBtn.tsx +65 -0
  453. package/template/src/subComponents/caption/LanguageSelectorPopup.tsx +192 -0
  454. package/template/src/subComponents/caption/Transcript.tsx +452 -0
  455. package/template/src/subComponents/caption/TranscriptIcon.tsx +126 -0
  456. package/template/src/subComponents/caption/TranscriptText.tsx +98 -0
  457. package/template/src/subComponents/caption/index.ts +3 -0
  458. package/template/src/subComponents/caption/proto/ptoto.js +91 -0
  459. package/template/src/subComponents/caption/proto/test.proto +23 -0
  460. package/template/src/subComponents/caption/useCaption.tsx +123 -0
  461. package/template/src/subComponents/caption/useCaptionWidth.ts +27 -0
  462. package/template/src/subComponents/caption/useSTTAPI.tsx +275 -0
  463. package/template/src/subComponents/caption/useStreamMessageUtils.native.ts +211 -0
  464. package/template/src/subComponents/caption/useStreamMessageUtils.ts +235 -0
  465. package/template/src/subComponents/caption/useTranscriptDownload.native.ts +93 -0
  466. package/template/src/subComponents/caption/useTranscriptDownload.ts +62 -0
  467. package/template/src/subComponents/caption/utils.ts +126 -0
  468. package/template/src/subComponents/chat/ChatActionMenu.tsx +224 -0
  469. package/template/src/subComponents/chat/ChatAttachment.native.tsx +237 -0
  470. package/template/src/subComponents/chat/ChatAttachment.tsx +205 -0
  471. package/template/src/subComponents/chat/ChatEmoji.native.tsx +75 -0
  472. package/template/src/subComponents/chat/ChatEmoji.tsx +182 -0
  473. package/template/src/subComponents/chat/ChatParticipants.tsx +232 -81
  474. package/template/src/subComponents/chat/ChatSendButton.tsx +209 -0
  475. package/template/src/subComponents/chat/ChatUploadStatus.tsx +84 -0
  476. package/template/src/subComponents/chat/ImagePopup.tsx +400 -0
  477. package/template/src/subComponents/livestream/ApprovedLiveStreamControlsView.tsx +2 -2
  478. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +109 -47
  479. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +61 -45
  480. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +9 -8
  481. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +29 -12
  482. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +33 -17
  483. package/template/src/subComponents/recording/useIsRecordingBot.tsx +76 -0
  484. package/template/src/subComponents/recording/useRecording.tsx +761 -108
  485. package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +93 -9
  486. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +82 -75
  487. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +494 -78
  488. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +247 -110
  489. package/template/src/subComponents/screenshare/useScreenshare.tsx +6 -4
  490. package/template/src/subComponents/waiting-rooms/WaitingRoomControls.tsx +85 -0
  491. package/template/src/subComponents/waiting-rooms/useWaitingRoomAPI.ts +126 -0
  492. package/template/src/theme/index.ts +59 -0
  493. package/template/src/utils/PlatformWrapper.tsx +21 -0
  494. package/template/src/utils/SdkEvents.ts +37 -14
  495. package/template/src/utils/SdkMethodEvents.ts +105 -0
  496. package/template/src/utils/axiomLogger.ts +122 -0
  497. package/template/src/utils/book.jpg +0 -0
  498. package/template/src/utils/common.tsx +350 -7
  499. package/template/src/utils/constants.ts +4 -0
  500. package/template/src/utils/fetch-retry.ts +23 -0
  501. package/template/src/utils/getCustomRoute.ts +7 -0
  502. package/template/src/utils/hexadecimalTransparency.ts +108 -0
  503. package/template/src/utils/index.tsx +83 -0
  504. package/template/src/utils/isMobileOrTablet.ts +7 -2
  505. package/template/src/utils/pendingStateUpdateHelper.ts +19 -0
  506. package/template/src/utils/useActionSheet.tsx +50 -0
  507. package/template/src/utils/useActiveSpeaker.ts +38 -0
  508. package/template/src/utils/useAppState.ts +17 -0
  509. package/template/src/utils/useAsyncEffect.ts +138 -0
  510. package/template/src/utils/useCreateRoom.ts +152 -0
  511. package/template/src/utils/useEndCall.ts +74 -0
  512. package/template/src/utils/useFindActiveSpeaker.native.ts +4 -0
  513. package/template/src/utils/useFindActiveSpeaker.ts +373 -0
  514. package/template/src/utils/useFocus.tsx +51 -0
  515. package/template/src/utils/useFullScreen.native.ts +12 -0
  516. package/template/src/utils/useFullScreen.ts +161 -0
  517. package/template/src/utils/useGetMeetingPhrase.ts +61 -10
  518. package/template/src/utils/useIsAudioEnabled.ts +3 -3
  519. package/template/src/utils/useIsHandRaised.ts +13 -0
  520. package/template/src/utils/useIsLocalUserSpeaking.native.ts +4 -0
  521. package/template/src/utils/useIsLocalUserSpeaking.ts +119 -0
  522. package/template/src/utils/useIsPSTN.ts +3 -3
  523. package/template/src/utils/useIsVideoEnabled.ts +3 -3
  524. package/template/src/utils/useJoinRoom.ts +304 -0
  525. package/template/src/utils/useLayout.tsx +9 -3
  526. package/template/src/utils/useLocalAudio.ts +69 -0
  527. package/template/src/utils/useLocalVideo.ts +69 -0
  528. package/template/src/{subComponents/screenshare/ScreenshareButton.native.tsx → utils/useMenu.tsx} +16 -3
  529. package/template/src/utils/useModal.tsx +8 -0
  530. package/template/src/utils/useMutePSTN.ts +45 -2
  531. package/template/src/utils/useMuteToggleLocal.ts +125 -49
  532. package/template/src/utils/useOrientation.native.tsx +3 -0
  533. package/template/src/utils/useOrientation.tsx +59 -0
  534. package/template/src/utils/useRemoteEndCall.ts +4 -4
  535. package/template/src/utils/useRemoteEndScreenshare.ts +26 -0
  536. package/template/src/utils/useRemoteMute.ts +7 -7
  537. package/template/src/utils/useRemoteRequest.ts +84 -0
  538. package/template/src/utils/useSearchParams.tsx +28 -0
  539. package/template/src/utils/useSidePanel.tsx +16 -5
  540. package/template/src/utils/useSpeechToText.ts +102 -0
  541. package/template/src/utils/useString.ts +19 -7
  542. package/template/src/utils/useSwitchCamera.native.tsx +25 -0
  543. package/template/src/utils/useSwitchCamera.tsx +19 -0
  544. package/template/src/utils/useToolbar.tsx +59 -0
  545. package/template/src/wasms/agora-virtual-background.wasm +0 -0
  546. package/template/static.d.ts +42 -0
  547. package/template/tsconfig_rsdk_index.json +3 -3
  548. package/template/tsconfig_wsdk_index.json +3 -3
  549. package/template/web/index.html +45 -17
  550. package/template/webpack.commons.js +16 -0
  551. package/template/webpack.rsdk.config.js +1 -2
  552. package/template/webpack.web.config.js +8 -3
  553. package/template/_buckconfig +0 -6
  554. package/template/_gitattributes +0 -1
  555. package/template/agora-rn-uikit/src/Contexts/RenderContext.tsx +0 -10
  556. package/template/android/app/_BUCK +0 -55
  557. package/template/android/app/build_defs.bzl +0 -19
  558. package/template/bridge/rtc/webNg/LocalView.tsx +0 -20
  559. package/template/ios/HelloWorld/AppDelegate.m +0 -74
  560. package/template/src/assets/icons.ts +0 -102
  561. package/template/src/components/OAuth.electron.tsx +0 -40
  562. package/template/src/components/OAuth.native.tsx +0 -53
  563. package/template/src/components/OAuth.tsx +0 -29
  564. package/template/src/components/OAuthConfig.ts +0 -77
  565. package/template/src/components/StoreToken.tsx +0 -38
  566. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -69
  567. package/template/src/components/meeting-info/useMeetingInfo.tsx +0 -70
  568. package/template/src/components/participants/MeParticipant.tsx +0 -38
  569. package/template/src/components/participants/RemoteParticipants.tsx +0 -71
  570. package/template/src/pages/video-call/CustomUserContextHolder.tsx +0 -20
  571. package/template/src/utils/useCreateMeeting.ts +0 -88
  572. package/template/src/utils/useJoinMeeting.ts +0 -132
@@ -9,6 +9,7 @@
9
9
  information visit https://appbuilder.agora.io.
10
10
  *********************************************
11
11
  */
12
+ import {LogSource, logger} from '../src/logger/AppBuilderLogger';
12
13
  import {CustomizationApiInterface} from './typeDefinition';
13
14
  import ReactIs from 'react-is';
14
15
  /**
@@ -46,7 +47,7 @@ function isComponent(data: any) {
46
47
  }
47
48
 
48
49
  //These keys value are not react component. so doing indexOf and checking whether its function or not
49
- const ignoreTheseKeys = ['customLayout', 'useUserContext'];
50
+ const ignoreTheseKeys = ['customLayout'];
50
51
 
51
52
  function validateComponents(components: any) {
52
53
  for (const key in components) {
@@ -58,15 +59,21 @@ function validateComponents(components: any) {
58
59
  validateComponents(comp);
59
60
  }
60
61
  } else {
61
- console.error(
62
- `Customize:Error ${key} should be a react component or object`,
62
+ logger.error(
63
+ LogSource.CustomizationAPI,
64
+ 'Log',
65
+ `Error ${key} should be a react component or object`,
63
66
  );
64
67
  }
65
68
  }
66
69
  } else {
67
70
  let comp = components[key];
68
71
  if (comp && !isFunction(comp)) {
69
- console.error(`Customize:Error ${key} should be an function`);
72
+ logger.error(
73
+ LogSource.CustomizationAPI,
74
+ 'Log',
75
+ `Error ${key} should be an function`,
76
+ );
70
77
  }
71
78
  }
72
79
  }
@@ -76,8 +83,10 @@ function validateLifecycle(data: any) {
76
83
  for (const key in data) {
77
84
  const callback = data[key];
78
85
  if (callback && !isFunction(callback)) {
79
- console.error(
80
- `Customize:Error ${key} should be a function that return async function`,
86
+ logger.error(
87
+ LogSource.CustomizationAPI,
88
+ 'Log',
89
+ `Error ${key} should be a function that return async function`,
81
90
  );
82
91
  }
83
92
  }
@@ -85,23 +94,33 @@ function validateLifecycle(data: any) {
85
94
 
86
95
  function validateCustomRoutes(routes: any) {
87
96
  if (routes && !Array.isArray(routes)) {
88
- console.error(`Customize:Error customRoutes should be an array`);
97
+ logger.error(
98
+ LogSource.CustomizationAPI,
99
+ 'Log',
100
+ 'Error customRoutes should be an array',
101
+ );
89
102
  }
90
103
  }
91
104
 
92
105
  function validatei18n(data: any) {
93
106
  if (data) {
94
107
  if (!Array.isArray(data)) {
95
- console.error(`Customize:Error i18n should be an array`);
108
+ logger.error(
109
+ LogSource.CustomizationAPI,
110
+ 'Log',
111
+ 'Error i18n should be an array',
112
+ );
96
113
  } else {
97
- data.map((item) => {
114
+ data.map(item => {
98
115
  const langData = item.data;
99
116
  for (const key in langData) {
100
117
  const value = langData[key];
101
118
  if (value) {
102
119
  if (!(isString(value) || isFunction(value))) {
103
- console.error(
104
- `Customize:Error ${item.locale} ${key} should be a string or function`,
120
+ logger.error(
121
+ LogSource.CustomizationAPI,
122
+ 'Log',
123
+ `Error ${item.locale} ${key} should be a string or function`,
105
124
  );
106
125
  }
107
126
  }
@@ -24,3 +24,8 @@ export * from './customEvents';
24
24
  export * from './sub-components';
25
25
  export * from './typeDefinition';
26
26
  export * from './utils';
27
+ export * from './types';
28
+ export * from './atoms';
29
+
30
+ //TODO: hari remove later - used for simple-practice demo
31
+ export * from './temp';
@@ -1,10 +1,7 @@
1
1
  //Common components
2
- export {default as HorizontalRule} from '../src/atoms/HorizontalRule';
3
- export {default as PrimaryButton} from '../src/atoms/PrimaryButton';
4
- export {default as SecondaryButton} from '../src/atoms/SecondaryButton';
5
2
  export {default as TextInput} from '../src/atoms/TextInput';
6
3
  //Icons
7
- export {default as icons} from '../src/assets/icons';
4
+ //export {Icons} from '../agora-rn-uikit';
8
5
 
9
6
  // commented for v1 release
10
7
  //create screen
@@ -16,30 +13,33 @@ export {default as icons} from '../src/assets/icons';
16
13
 
17
14
  // commented for v1 release
18
15
  //Precall components
19
- //export * from '../src/components/precall/index';
16
+ export * from '../src/components/precall/index';
20
17
 
21
18
  //video call components
22
19
  export {
23
20
  ParticipantsView,
24
- Controls,
25
- ControlsComponentsArray,
26
- Navbar,
27
- NavBarComponentsArray,
28
21
  ChatBubble,
29
- ChatSendButton,
30
- ChatTextInput,
22
+ ChatInput,
31
23
  Chat,
32
24
  SettingsView,
25
+ ChatAttachmentButton,
26
+ ChatEmojiButton,
27
+ ChatUploadStatus,
28
+ ChatSendButton,
29
+ ToolbarComponents,
33
30
  } from '../src/pages/video-call/index';
34
31
  export {default as GridLayout} from '../src/components/GridVideo';
35
32
  export {default as PinnedLayout} from '../src/components/PinnedVideo';
36
33
  export {default as VideoComponent} from '../src/pages/video-call/VideoComponent';
37
34
  export {default as MaxVideoView} from '../src/pages/video-call/VideoRenderer';
38
- export {default as RenderComponent} from '../src/pages/video-call/RenderComponent';
35
+ export type {VideoRendererProps as MaxVideoViewProps} from '../src/pages/video-call/VideoRenderer';
39
36
  export {default as NameWithMicIcon} from '../src/pages/video-call/NameWithMicIcon';
40
37
  export {default as NetworkQualityPill} from '../src/subComponents/NetworkQualityPill';
41
38
  //videocall screen
42
39
  export {default as VideocallScreen} from '../src/pages/video-call/VideoCallScreen';
40
+ export {default as PrecallScreen} from '../src/components/Precall';
41
+ export {default as VBPanel} from '../src/components/virtual-background/VBPanel';
42
+ export {WhiteboardListener} from '../src/components/Controls';
43
43
 
44
44
  // commented for v1 release
45
45
  //Settings screen
@@ -51,12 +51,37 @@ export {default as VideocallScreen} from '../src/pages/video-call/VideoCallScree
51
51
  //export {default as LanguageSelector} from '../src/subComponents/LanguageSelector';
52
52
 
53
53
  //Sidepanel buttons
54
- export {SidePanelButtonsArray} from '../src/subComponents/SidePanelButtons';
54
+ //export {SidePanelButtonsArray} from '../src/subComponents/SidePanelButtons';
55
55
  export {
56
- ImageIcon as UiKitImageIcon,
57
56
  MaxVideoView as UiKitMaxVideoView,
58
- BtnTemplate as UiKitBtnTemplate,
59
- ClientRole as UikitClientRole,
60
- ChannelProfile as UikitChannelProfile,
57
+ ClientRoleType as UikitClientRole,
58
+ ChannelProfileType as UikitChannelProfile,
59
+ PropsContext as UikitPropsContext,
61
60
  } from '../agora-rn-uikit';
62
- export type {BtnTemplateInterface as UikitBtnTemplateInterface} from '../agora-rn-uikit';
61
+ export {default as Toolbar} from '../src/atoms/Toolbar';
62
+ export {default as ToolbarItem} from '../src/atoms/ToolbarItem';
63
+ export {default as ToolbarPreset} from '../src/atoms/ToolbarPreset';
64
+ export {default as ToolbarMenu} from '../src/atoms/ToolbarMenu';
65
+ export type {
66
+ ToolbarPresetAlign,
67
+ ToolbarDefaultItem,
68
+ ToolbarDefaultItemsConfig,
69
+ ToolbarHideCallback,
70
+ ToolbarMoreButtonDefaultFields,
71
+ ToolbarMoreButtonCustomFields,
72
+ ToolbarMoreDefaultItem,
73
+ ToolbarItemsConfig,
74
+ TopToolbarItemsConfig,
75
+ BottomToolbarItemsConfig,
76
+ TopToolbarDefaultKeys,
77
+ BottomToolbarDefaultKeys,
78
+ ToolbarItemAlign,
79
+ ToolbarItemHide,
80
+ ToolbarPresetProps,
81
+ ToolbarItemLabel,
82
+ ToolbarItemLabelCallback,
83
+ } from '../src/atoms/ToolbarPreset';
84
+ export {default as TranscriptPanel} from '../src/subComponents/caption/Transcript';
85
+ export type {TranscriptProps} from '../src/subComponents/caption/Transcript';
86
+ export {default as CaptionPanel} from '../src/subComponents/caption/CaptionContainer';
87
+ export {default as VBPreview} from '../src/components/virtual-background/VideoPreview';
@@ -0,0 +1,51 @@
1
+ //exporting for simple-practice demo
2
+
3
+ import VideoRenderer from '../src/pages/video-call/VideoRenderer';
4
+ import {DispatchContext} from '../agora-rn-uikit';
5
+ import IconButton from '../src/atoms/IconButton';
6
+ import WhiteboardView from '../src/components/whiteboard/WhiteboardView';
7
+ import {
8
+ useWhiteboard,
9
+ whiteboardContext,
10
+ } from '../src/components/whiteboard/WhiteboardConfigure';
11
+ import {useVideoCall} from '../src/components/useVideoCall';
12
+ import {useScreenshare} from '../src/subComponents/screenshare/useScreenshare';
13
+ import EndcallPopup from '../src/subComponents/EndcallPopup';
14
+ import useSTTAPI from '../src/subComponents/caption/useSTTAPI';
15
+ import {useCaption} from '../src/subComponents/caption/useCaption';
16
+ import useMuteToggleLocal, {
17
+ MUTE_LOCAL_TYPE,
18
+ } from '../src/utils/useMuteToggleLocal';
19
+ import {RoomPhase} from 'white-web-sdk';
20
+ import {useScreenContext} from '../src/components/contexts/ScreenShareContext';
21
+ import {filterObject} from '../src/utils/index';
22
+ import {useToggleWhiteboard} from '../src/components/Controls';
23
+ import {ShowInputURL} from '../src/components/Share';
24
+ import useRemoteMute, {MUTE_REMOTE_TYPE} from '../src/utils/useRemoteMute';
25
+ import getCustomRoute from '../src/utils/getCustomRoute';
26
+ import useEndCall from '../src/utils/useEndCall';
27
+
28
+ export {
29
+ VideoRenderer,
30
+ DispatchContext,
31
+ IconButton,
32
+ WhiteboardView,
33
+ whiteboardContext,
34
+ useVideoCall,
35
+ useScreenshare,
36
+ EndcallPopup,
37
+ useSTTAPI,
38
+ useCaption,
39
+ useWhiteboard,
40
+ useMuteToggleLocal,
41
+ MUTE_LOCAL_TYPE,
42
+ RoomPhase,
43
+ useScreenContext,
44
+ filterObject,
45
+ useToggleWhiteboard,
46
+ ShowInputURL,
47
+ useRemoteMute,
48
+ MUTE_REMOTE_TYPE,
49
+ getCustomRoute,
50
+ useEndCall,
51
+ };
@@ -12,22 +12,11 @@
12
12
  import React from 'react';
13
13
  export type {ChatBubbleProps} from '../src/components/ChatContext';
14
14
  import {ChatBubbleProps} from '../src/components/ChatContext';
15
- import {
16
- RenderInterface,
17
- RenderStateInterface,
18
- UidType,
19
- } from '../agora-rn-uikit';
15
+ import {ContentStateInterface} from '../agora-rn-uikit';
20
16
  import {I18nInterface} from '../src/language/i18nTypes';
21
- import {IconsInterface} from '../agora-rn-uikit/src/Controls/Icons';
22
- export type {RenderInterface, RenderStateInterface, UidType};
23
- export type {
24
- ChatTextInputProps,
25
- ChatSendButtonProps,
26
- } from '../src/subComponents/ChatInput';
27
- import {
28
- ChatTextInputProps,
29
- ChatSendButtonProps,
30
- } from '../src/subComponents/ChatInput';
17
+ import {ToolbarPresetProps} from './sub-components';
18
+ import {TextDataInterface} from '../src/language/default-labels';
19
+ import {VBPanelProps} from '../src/components/virtual-background/VBPanel';
31
20
 
32
21
  export const CUSTOM_ROUTES_PREFIX = '/r/';
33
22
 
@@ -45,53 +34,60 @@ export interface PreCallInterface extends BeforeAndAfterInterface {
45
34
  deviceSelect?: React.ComponentType;
46
35
  joinButton?: React.ComponentType;
47
36
  textBox?: React.ComponentType;
37
+ virtualBackgroundPanel?: React.ComponentType<VBPanelProps>;
48
38
  }
49
39
  export interface ChatCmpInterface {
50
40
  //commented for v1 release
51
41
  //extends BeforeAndAfterInterface
52
42
  chatBubble?: React.ComponentType<ChatBubbleProps>;
53
- chatInput?: React.ComponentType<ChatTextInputProps>;
54
- chatSendButton?: React.ComponentType<ChatSendButtonProps>;
43
+ chatInput?: React.ComponentType;
55
44
  }
56
45
 
57
- export interface renderComponentInterface {
58
- user: RenderInterface;
59
- }
60
-
61
- export interface renderComponentObjectInterface {
62
- [key: string]: React.ComponentType<renderComponentInterface>;
63
- }
64
-
65
- export type layoutComponent = React.ComponentType<{
66
- renderData: RenderStateInterface['activeUids'];
46
+ export type LayoutComponent = React.ComponentType<{
47
+ renderData: ContentStateInterface['activeUids'];
67
48
  }>;
68
49
 
69
- export interface layoutObjectBase {
50
+ export interface SidePanelItem {
70
51
  name: string;
71
- label: string;
72
- component: layoutComponent;
52
+ title: string;
53
+ component: React.ComponentType;
54
+ onClose?: () => void;
73
55
  }
74
56
 
75
- export interface layoutObjectWithIcon extends layoutObjectBase {
57
+ export interface LayoutItem {
58
+ name: string;
59
+ label: string;
60
+ translationKey?: keyof TextDataInterface;
76
61
  icon: string;
77
- iconName?: never;
62
+ component: LayoutComponent;
78
63
  }
79
- export interface layoutObjectWithIconName extends layoutObjectBase {
80
- icon?: never;
81
- iconName: keyof IconsInterface;
82
- }
83
- export type layoutObjectType = layoutObjectWithIcon | layoutObjectWithIconName;
64
+
65
+ export type ToolbarType = React.ComponentType | ToolbarPresetProps['items'];
66
+ export type CustomLogger = (
67
+ message: string,
68
+ data: any,
69
+ type: 'debug' | 'error' | 'info' | 'warn',
70
+ ) => void;
84
71
 
85
72
  export interface VideoCallInterface extends BeforeAndAfterInterface {
86
73
  // commented for v1 release
87
- topBar?: React.ComponentType;
74
+ topToolBar?: ToolbarType;
75
+ bottomToolBar?: ToolbarType;
76
+ leftToolBar?: ToolbarType;
77
+ rightToolBar?: ToolbarType;
88
78
  //settingsPanel?: React.ComponentType;
89
79
  participantsPanel?: React.ComponentType;
90
- bottomBar?: React.ComponentType;
91
80
  chat?: ChatCmpInterface;
92
- customContent?: renderComponentObjectInterface;
93
- customLayout?: (layouts: layoutObjectType[]) => layoutObjectType[];
94
- useUserContext?: () => void;
81
+ captionPanel?: React.ComponentType;
82
+ transcriptPanel?: React.ComponentType;
83
+ virtualBackgroundPanel?: React.ComponentType<VBPanelProps>;
84
+ customLayout?: (layouts: LayoutItem[]) => LayoutItem[];
85
+ wrapper?: React.ComponentType;
86
+ customSidePanel?: () => SidePanelItem[];
87
+ invitePopup?: {
88
+ title: string;
89
+ renderComponent?: React.ComponentType;
90
+ };
95
91
  }
96
92
 
97
93
  export type ComponentsInterface = {
@@ -100,11 +96,13 @@ export type ComponentsInterface = {
100
96
  */
101
97
  appRoot?: React.ComponentType;
102
98
  // commented for v1 release
103
- //precall?: PreCallInterface | React.ComponentType;
99
+ precall?: PreCallInterface;
100
+ preferenceWrapper?: React.ComponentType;
101
+ //precall?: React.ComponentType;
104
102
  //create?: React.ComponentType;
105
103
  //share?: React.ComponentType;
106
104
  //join?: React.ComponentType;
107
- videoCall?: VideoCallInterface | React.ComponentType;
105
+ videoCall?: VideoCallInterface;
108
106
  };
109
107
 
110
108
  export interface CustomRoutesInterface {
@@ -118,6 +116,14 @@ export interface CustomRoutesInterface {
118
116
  }
119
117
 
120
118
  export type CustomHookType = () => () => Promise<void>;
119
+ export type EndCallHookType = () => (
120
+ isHost: boolean,
121
+ history: History,
122
+ ) => Promise<void>;
123
+
124
+ export interface AppConfig {
125
+ defaultRootFallback?: React.ComponentType;
126
+ }
121
127
 
122
128
  export interface CustomizationApiInterface {
123
129
  /**
@@ -128,17 +134,27 @@ export interface CustomizationApiInterface {
128
134
  * custom routes used to add new page/routes
129
135
  */
130
136
  // commented for v1 release
131
- //customRoutes?: CustomRoutesInterface[];
137
+ customRoutes?: CustomRoutesInterface[];
138
+ /**
139
+ * app config
140
+ */
141
+ config?: AppConfig;
132
142
  /**
133
143
  * Internationlization
134
144
  */
135
145
  i18n?: I18nInterface[];
146
+ /**
147
+ * Custom logger
148
+ */
149
+ logger?: CustomLogger;
136
150
  /**
137
151
  * Life cycle events
138
152
  */
139
153
  // commented for v1 release
140
- // lifecycle?: {
141
- // useBeforeJoin?: CustomHookType;
142
- // useBeforeCreate?: CustomHookType;
143
- // };
154
+ lifecycle?: {
155
+ useAfterEndCall?: EndCallHookType;
156
+ useBeforeEndCall?: EndCallHookType;
157
+ // useBeforeJoin?: CustomHookType;
158
+ // useBeforeCreate?: CustomHookType;
159
+ };
144
160
  }
@@ -0,0 +1,48 @@
1
+ //audio/video toggle state
2
+ export {
3
+ ToggleState,
4
+ ClientRoleType,
5
+ } from '../agora-rn-uikit/src/Contexts/PropsContext';
6
+ export type {
7
+ ContentInterface,
8
+ ContentStateInterface,
9
+ ExtenedContentInterface,
10
+ UidType,
11
+ useLocalUid,
12
+ } from '../agora-rn-uikit';
13
+ export {
14
+ I18nDeviceStatus,
15
+ I18nMuteType,
16
+ videoRoomUserFallbackText,
17
+ } from '../src/language/default-labels/videoCallScreenLabels';
18
+ export type {
19
+ NetworkQualities,
20
+ I18nRequestConfirmation,
21
+ I18nMuteConfirmation,
22
+ deviceDetectionToastSubHeadingDataInterface,
23
+ sttSpokenLanguageToastHeadingDataType,
24
+ whiteboardFileUploadToastDataType,
25
+ publicChatToastSubHeadingDataInterface,
26
+ privateChatToastHeadingDataInterface,
27
+ publicAndPrivateChatToastSubHeadingDataInterface,
28
+ } from '../src/language/default-labels/videoCallScreenLabels';
29
+ export type {TextDataInterface} from '../src/language/default-labels';
30
+ export {
31
+ type ChatOption,
32
+ ChatMessageType,
33
+ SDKChatType,
34
+ } from '../src/components/chat-messages/useChatMessages';
35
+ export {UploadStatus} from '../src/components/chat-ui/useChatUIControls';
36
+ export {type VBPanelProps} from '../src/components/virtual-background/VBPanel';
37
+ export {
38
+ type VBMode,
39
+ type Option as VBOption,
40
+ } from '../src/components/virtual-background/useVB';
41
+ export {type VBCardProps} from '../src/components/virtual-background/VBCard';
42
+ export {type BeautyEffects} from '../src/components/beauty-effect/useBeautyEffects';
43
+ export {
44
+ type VideoEncoderConfigurationPreset,
45
+ type ScreenEncoderConfigurationPreset,
46
+ type VideoEncoderConfiguration,
47
+ } from '../src/app-state/useVideoQuality';
48
+ export {type ActionMenuItem} from '../src/atoms/ActionMenu';
@@ -21,10 +21,28 @@ export {default as useIsPSTN} from '../src/utils/useIsPSTN';
21
21
  export {default as useIsAudioEnabled} from '../src/utils/useIsAudioEnabled';
22
22
  export {default as useIsVideoEnabled} from '../src/utils/useIsVideoEnabled';
23
23
 
24
+ //hook to get active speaker uid
25
+ export {default as useActiveSpeaker} from '../src/utils/useActiveSpeaker';
26
+
24
27
  //hooks used for navigation
25
28
  export {useHistory, useParams} from '../src/components/Router';
26
29
 
27
30
  //export common function
28
- export {isWeb, isIOS, isAndroid, isDesktop} from '../src/utils/common';
31
+ export {
32
+ isWeb,
33
+ isIOS,
34
+ isAndroid,
35
+ isDesktop,
36
+ calculatePosition,
37
+ } from '../src/utils/common';
29
38
  export {default as isMobileOrTablet} from '../src/utils/isMobileOrTablet';
30
39
  export {useLocalUid} from '../agora-rn-uikit';
40
+ export {default as useLocalAudio} from '../src/utils/useLocalAudio';
41
+ export {default as useLocalVideo} from '../src/utils/useLocalVideo';
42
+ export {useString} from '../src/utils/useString';
43
+ export type {LanguageType} from '../src/subComponents/caption/utils';
44
+ export {default as useSpeechToText} from '../src/utils/useSpeechToText';
45
+ export {isMobileUA} from '../src/utils/common';
46
+ export {default as ThemeConfig} from '../src/theme';
47
+ export {default as hexadecimalTransparency} from '../src/utils/hexadecimalTransparency';
48
+ export {useFullScreen} from '../src/utils/useFullScreen';
@@ -9,25 +9,43 @@
9
9
  information visit https://appbuilder.agora.io.
10
10
  *********************************************
11
11
  */
12
- import React, { useContext } from 'react';
12
+ import React, {useContext} from 'react';
13
13
  /**
14
- *
14
+ *
15
15
  * @param context - any context data which we want to extract the data.
16
16
  * @returns useContextWithSelector in which we can pass selector function to extract data from the context that we passed.
17
17
  */
18
18
  function createHook<T>(context: React.Context<T>) {
19
-
20
19
  function useContextWithSelector<U>(contextSelector: (data: T) => U): U;
21
20
  function useContextWithSelector(): T;
22
21
  /**
23
- *
22
+ *
24
23
  * @param contextSelector is used to pass callback function used to select data from the context data
25
24
  * @returns the data selected from the context
26
25
  */
27
26
  function useContextWithSelector<U>(contextSelector?: (data: T) => U): U | T {
28
27
  const data = useContext(context);
29
- return contextSelector ? contextSelector(data) : data
28
+ return contextSelector ? contextSelector(data) : data;
30
29
  }
31
30
  return useContextWithSelector;
32
31
  }
33
- export default createHook;
32
+
33
+ export function createConcealedHook<T, V>(
34
+ context: React.Context<T>,
35
+ preselect: (data: T) => V,
36
+ ) {
37
+ function useContextWithSelector<U>(contextSelector: (data: V) => U): U;
38
+ function useContextWithSelector(): V;
39
+ /**
40
+ *
41
+ * @param contextSelector is used to pass callback function used to select data from the context data
42
+ * @returns the data selected from the context
43
+ */
44
+ function useContextWithSelector<U>(contextSelector?: (data: V) => U): U | V {
45
+ const data = useContext(context);
46
+ return contextSelector ? contextSelector(preselect(data)) : preselect(data);
47
+ }
48
+ return useContextWithSelector;
49
+ }
50
+
51
+ export default createHook;
@@ -1,4 +1,3 @@
1
- export {default as createHook} from './createHook';
1
+ export {default as createHook, createConcealedHook} from './createHook';
2
2
  export {CustomizationProvider, useCustomization} from './useCustomization';
3
- export type {CustomizationProviderProps} from './useCustomization';
4
3
  export {default as customizationConfig} from 'customization';
@@ -9,22 +9,20 @@
9
9
  information visit https://appbuilder.agora.io.
10
10
  *********************************************
11
11
  */
12
- import React from 'react';
12
+ import React, {useContext} from 'react';
13
13
  import {CustomizationApiInterface} from 'customization-api';
14
14
  import customizationConfig from 'customization';
15
15
  import createHook from './createHook';
16
+ import {SdkApiContext} from '../src/components/SdkApiContext';
16
17
 
17
18
  const CustomizationContext: React.Context<CustomizationApiInterface> =
18
19
  React.createContext(customizationConfig);
19
20
 
20
- export interface CustomizationProviderProps {
21
- children: React.ReactNode;
22
- value: CustomizationApiInterface;
23
- }
21
+ const CustomizationProvider: React.FC = (props) => {
22
+ const {customize: userCustomization} = useContext(SdkApiContext);
24
23
 
25
- const CustomizationProvider = (props: CustomizationProviderProps) => {
26
24
  return (
27
- <CustomizationContext.Provider value={props.value}>
25
+ <CustomizationContext.Provider value={userCustomization.customization}>
28
26
  {props.children}
29
27
  </CustomizationContext.Provider>
30
28
  );