fcr-ui-scene 3.4.5 → 3.5.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.
Files changed (421) hide show
  1. package/lib/base.js +4 -1
  2. package/lib/creator.d.ts +4 -1
  3. package/lib/creator.js +66 -3
  4. package/lib/electron/app.js +0 -3
  5. package/lib/electron/bootstrap-dev.js +2 -0
  6. package/lib/electron/bootstrap-sdk.js +2 -0
  7. package/lib/electron/main.js +14 -3
  8. package/lib/electron/plugins/devtool-shortcut.js +5 -0
  9. package/lib/electron/plugins/screenshot.js +4 -1
  10. package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
  11. package/lib/modules/action-bar/components/apps/app-item/index.js +35 -24
  12. package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
  13. package/lib/modules/action-bar/components/apps/app-list.js +45 -0
  14. package/lib/modules/action-bar/components/apps/index.css +1 -0
  15. package/lib/modules/action-bar/components/apps/index.js +7 -4
  16. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -6
  18. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
  19. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
  20. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
  21. package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
  22. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
  23. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
  24. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
  25. package/lib/modules/action-bar/components/apps/useWidgetList.js +38 -0
  26. package/lib/modules/action-bar/components/chat/index.css +8 -0
  27. package/lib/modules/action-bar/components/chat/index.js +2 -1
  28. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
  29. package/lib/modules/action-bar/components/collapse/index.js +60 -74
  30. package/lib/modules/action-bar/components/interpreter/index.js +3 -3
  31. package/lib/modules/action-bar/components/item/index.js +1 -1
  32. package/lib/modules/action-bar/components/more/index.js +13 -7
  33. package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
  34. package/lib/modules/action-bar/components/notification-bar/index.js +13 -6
  35. package/lib/modules/action-bar/components/participants/index.js +1 -1
  36. package/lib/modules/action-bar/components/screen-share/index.js +1 -1
  37. package/lib/modules/action-bar/components/screen-share/submenu.js +55 -18
  38. package/lib/modules/action-bar/components/security/index.js +8 -2
  39. package/lib/modules/action-bar/components/trigger-output-language/index.js +68 -55
  40. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -18
  41. package/lib/modules/action-bar/index.css +8 -0
  42. package/lib/modules/action-bar/index.d.ts +8 -0
  43. package/lib/modules/action-bar/index.js +6 -3
  44. package/lib/modules/action-bar/store.d.ts +37 -22
  45. package/lib/modules/action-bar/store.js +275 -375
  46. package/lib/modules/action-bar/types.d.ts +8 -13
  47. package/lib/modules/action-bar/view.js +3 -8
  48. package/lib/modules/audio-stream/index.d.ts +6 -1
  49. package/lib/modules/audio-stream/index.js +77 -11
  50. package/lib/modules/chat/chat-room-store.d.ts +4 -7
  51. package/lib/modules/chat/chat-room-store.js +39 -62
  52. package/lib/modules/chat/components/chat-action/index.js +2 -2
  53. package/lib/modules/chat/components/chat-bar/index.css +4 -0
  54. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  55. package/lib/modules/chat/components/chat-bar/index.js +18 -16
  56. package/lib/modules/chat/components/chat-select/index.js +16 -147
  57. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  58. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  59. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  60. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  61. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  62. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  63. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  64. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  65. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  66. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  67. package/lib/modules/chat/components/message-list/index.d.ts +1 -1
  68. package/lib/modules/chat/components/message-list/index.js +55 -359
  69. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  70. package/lib/modules/chat/components/message-list/message-item/index.js +309 -0
  71. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  72. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  73. package/lib/modules/chat/index.css +9 -0
  74. package/lib/modules/chat/index.d.ts +6 -0
  75. package/lib/modules/chat/index.js +4 -1
  76. package/lib/modules/chat/store.d.ts +17 -7
  77. package/lib/modules/chat/store.js +75 -72
  78. package/lib/modules/chat/types.d.ts +7 -7
  79. package/lib/modules/chat/types.js +2 -1
  80. package/lib/modules/chat/view.js +22 -102
  81. package/lib/modules/components/device-control/store.d.ts +4 -3
  82. package/lib/modules/components/device-control/store.js +13 -24
  83. package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
  84. package/lib/modules/components/leave-meeting/index.js +8 -7
  85. package/lib/modules/components/leave-meeting/store.d.ts +15 -7
  86. package/lib/modules/components/leave-meeting/store.js +116 -95
  87. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  88. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  89. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  90. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  91. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  92. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  93. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  94. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  95. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  96. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
  97. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  98. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  99. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  100. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  101. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  102. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  103. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  104. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  105. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  106. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  107. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  108. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  109. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  110. package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
  111. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  112. package/lib/modules/components/member-window/components/member-board.js +63 -0
  113. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  114. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  117. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  119. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  120. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  121. package/lib/modules/components/member-window/index.css +22 -2
  122. package/lib/modules/components/member-window/index.d.ts +10 -75
  123. package/lib/modules/components/member-window/index.js +20 -738
  124. package/lib/modules/components/member-window/types.d.ts +79 -0
  125. package/lib/modules/components/member-window/types.js +6 -0
  126. package/lib/modules/components/security-menu/index.css +0 -2
  127. package/lib/modules/components/security-menu/index.d.ts +5 -1
  128. package/lib/modules/components/security-menu/index.js +37 -59
  129. package/lib/modules/connection-gateway/index.d.ts +6 -0
  130. package/lib/modules/connection-gateway/index.js +4 -1
  131. package/lib/modules/connection-gateway/store.d.ts +12 -3
  132. package/lib/modules/connection-gateway/store.js +29 -27
  133. package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
  134. package/lib/modules/control-bar/components/more-actions/index.js +5 -4
  135. package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
  136. package/lib/modules/control-bar/index.css +1 -2
  137. package/lib/modules/control-bar/index.d.ts +14 -0
  138. package/lib/modules/control-bar/index.js +10 -4
  139. package/lib/modules/control-bar/store.d.ts +40 -20
  140. package/lib/modules/control-bar/store.js +156 -191
  141. package/lib/modules/control-bar/view.js +65 -25
  142. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  143. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -1
  144. package/lib/modules/dialog/components/control-bar/index.js +43 -43
  145. package/lib/modules/dialog/components/device-setting/index.js +2 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  147. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
  149. package/lib/modules/dialog/components/dialog-container/index.js +19 -13
  150. package/lib/modules/dialog/components/live-streaming/index.js +4 -2
  151. package/lib/modules/dialog/components/participant/index.js +2 -2
  152. package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
  153. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  154. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  155. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  156. package/lib/modules/dialog/components/system-preference/electron.js +6 -6
  157. package/lib/modules/dialog/components/system-preference/index.css +3 -0
  158. package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
  159. package/lib/modules/dialog/components/system-preference/index.js +47 -55
  160. package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
  161. package/lib/modules/dialog/components/video-window/index.js +216 -101
  162. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  163. package/lib/modules/dialog/components/widget/electron.js +37 -0
  164. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  165. package/lib/modules/dialog/components/widget/index.js +43 -0
  166. package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
  167. package/lib/modules/dialog/hooks/useElectron.js +226 -28
  168. package/lib/modules/dialog/index.css +1 -11
  169. package/lib/modules/dialog/index.d.ts +9 -6
  170. package/lib/modules/dialog/index.js +12 -12
  171. package/lib/modules/dialog/store.d.ts +26 -10
  172. package/lib/modules/dialog/store.js +151 -82
  173. package/lib/modules/dialog/type.d.ts +84 -0
  174. package/lib/modules/dialog/type.js +6 -0
  175. package/lib/modules/dialog/view.d.ts +1 -4
  176. package/lib/modules/dialog/view.js +12 -9
  177. package/lib/modules/event-confirm/index.css +11 -0
  178. package/lib/modules/event-confirm/index.d.ts +6 -0
  179. package/lib/modules/event-confirm/index.js +3 -2
  180. package/lib/modules/event-confirm/store.d.ts +10 -4
  181. package/lib/modules/event-confirm/store.js +91 -32
  182. package/lib/modules/event-confirm/view.js +63 -24
  183. package/lib/modules/event-toast/store.js +4 -2
  184. package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
  185. package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
  186. package/lib/modules/interpreter/index.d.ts +5 -1
  187. package/lib/modules/interpreter/index.js +4 -2
  188. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  189. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -5
  190. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
  191. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
  192. package/lib/modules/interpreter/store.d.ts +8 -5
  193. package/lib/modules/interpreter/store.js +90 -39
  194. package/lib/modules/interpreter/type.d.ts +5 -1
  195. package/lib/modules/interpreter/utils.d.ts +0 -1
  196. package/lib/modules/interpreter/utils.js +2 -23
  197. package/lib/modules/interpreter/view.js +2 -6
  198. package/lib/modules/invite/index.d.ts +4 -0
  199. package/lib/modules/invite/index.js +3 -1
  200. package/lib/modules/invite/store.d.ts +11 -2
  201. package/lib/modules/invite/store.js +27 -4
  202. package/lib/modules/layout/components/Aside.js +1 -1
  203. package/lib/modules/layout/components/Carousel.js +36 -14
  204. package/lib/modules/layout/components/Gallery.js +33 -11
  205. package/lib/modules/layout/index.css +2 -2
  206. package/lib/modules/layout/index.d.ts +6 -0
  207. package/lib/modules/layout/index.js +4 -1
  208. package/lib/modules/layout/store.d.ts +23 -10
  209. package/lib/modules/layout/store.js +185 -163
  210. package/lib/modules/layout/type.d.ts +2 -0
  211. package/lib/modules/live-streaming/index.d.ts +2 -0
  212. package/lib/modules/live-streaming/index.js +2 -2
  213. package/lib/modules/live-streaming/store.d.ts +4 -8
  214. package/lib/modules/live-streaming/store.js +9 -19
  215. package/lib/modules/notification/index.css +17 -0
  216. package/lib/modules/notification/store.js +4 -2
  217. package/lib/modules/notification/view.js +7 -2
  218. package/lib/modules/offscreen-pulling/index.d.ts +1 -0
  219. package/lib/modules/offscreen-pulling/index.js +4 -0
  220. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  221. package/lib/modules/participant/components/confirm-input/index.js +50 -0
  222. package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
  223. package/lib/modules/participant/components/mute-all/index.js +21 -33
  224. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  225. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  226. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  227. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  228. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  229. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  230. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  231. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  232. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  233. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  234. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  235. package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
  236. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  237. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  238. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  239. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  240. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  241. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  242. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  243. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  244. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  245. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  246. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  247. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  248. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  249. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  250. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  251. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  252. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  253. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  254. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  255. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  256. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  257. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  258. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  259. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  260. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  261. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  262. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  263. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  264. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  265. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  266. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  267. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  268. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  269. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  270. package/lib/modules/participant/components/participants/index.js +18 -112
  271. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  272. package/lib/modules/participant/components/participants/types.js +37 -0
  273. package/lib/modules/participant/index.css +3 -0
  274. package/lib/modules/participant/index.d.ts +12 -0
  275. package/lib/modules/participant/index.js +7 -1
  276. package/lib/modules/participant/member-list-data-source.d.ts +2 -2
  277. package/lib/modules/participant/member-list-data-source.js +11 -17
  278. package/lib/modules/participant/store.d.ts +44 -37
  279. package/lib/modules/participant/store.js +527 -536
  280. package/lib/modules/participant/type.d.ts +2 -9
  281. package/lib/modules/pc-audio-connect/store.d.ts +1 -1
  282. package/lib/modules/pc-audio-connect/store.js +9 -6
  283. package/lib/modules/setting/audio-settings/audio-settings.js +5 -4
  284. package/lib/modules/setting/audio-settings/index.css +11 -2
  285. package/lib/modules/setting/config.js +1 -1
  286. package/lib/modules/setting/store.d.ts +1 -0
  287. package/lib/modules/setting/store.js +20 -2
  288. package/lib/modules/setting/video-settings/index.css +12 -17
  289. package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
  290. package/lib/modules/share-screen/components/selection/index.js +70 -80
  291. package/lib/modules/share-screen/index.d.ts +6 -1
  292. package/lib/modules/share-screen/index.js +4 -1
  293. package/lib/modules/share-screen/store.d.ts +37 -33
  294. package/lib/modules/share-screen/store.js +330 -438
  295. package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
  296. package/lib/modules/sound-effect/sound-effect-player.js +4 -4
  297. package/lib/modules/state-bar/index.css +2 -15
  298. package/lib/modules/state-bar/index.d.ts +10 -0
  299. package/lib/modules/state-bar/index.js +6 -1
  300. package/lib/modules/state-bar/live-streaming-state.js +0 -17
  301. package/lib/modules/state-bar/meeting-details.js +12 -24
  302. package/lib/modules/state-bar/meeting-time.js +5 -10
  303. package/lib/modules/state-bar/store.d.ts +31 -8
  304. package/lib/modules/state-bar/store.js +146 -100
  305. package/lib/modules/state-bar/view.js +63 -32
  306. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  307. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  308. package/lib/modules/video-window/components/members/index.css +51 -0
  309. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  310. package/lib/modules/video-window/components/members/index.js +131 -0
  311. package/lib/modules/video-window/components/speaking/index.css +86 -0
  312. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  313. package/lib/modules/video-window/components/speaking/index.js +48 -0
  314. package/lib/modules/video-window/components/topControl/index.css +35 -0
  315. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  316. package/lib/modules/video-window/components/topControl/index.js +79 -0
  317. package/lib/modules/video-window/index.d.ts +7 -0
  318. package/lib/modules/video-window/index.js +14 -20
  319. package/lib/modules/video-window/store.d.ts +19 -88
  320. package/lib/modules/video-window/store.js +98 -365
  321. package/lib/modules/video-window/type.d.ts +40 -4
  322. package/lib/modules/video-window/type.js +4 -4
  323. package/lib/modules/video-window/view.js +11 -23
  324. package/lib/modules/whiteboard/index.d.ts +1 -0
  325. package/lib/modules/whiteboard/index.js +7 -4
  326. package/lib/modules/widget/index.css +17 -0
  327. package/lib/modules/widget/index.d.ts +10 -0
  328. package/lib/modules/widget/index.js +114 -0
  329. package/lib/modules/widget/sdk.d.ts +30 -0
  330. package/lib/modules/widget/sdk.js +224 -0
  331. package/lib/modules/widget/store.d.ts +14 -0
  332. package/lib/modules/widget/store.js +28 -0
  333. package/lib/modules/widget/type.d.ts +156 -0
  334. package/lib/modules/widget/type.js +6 -0
  335. package/lib/modules/widget/view.d.ts +2 -0
  336. package/lib/modules/widget/view.js +47 -0
  337. package/lib/modules/widget/web-widget.d.ts +29 -0
  338. package/lib/modules/widget/web-widget.js +234 -0
  339. package/lib/providers/ability-provider.d.ts +24 -0
  340. package/lib/providers/ability-provider.js +38 -0
  341. package/lib/providers/chat-provider.d.ts +16 -9
  342. package/lib/providers/chat-provider.js +76 -8
  343. package/lib/providers/device-privilege-provider.d.ts +5 -1
  344. package/lib/providers/device-privilege-provider.js +21 -1
  345. package/lib/providers/device-provider.js +5 -2
  346. package/lib/providers/device-stream-provider.d.ts +15 -3
  347. package/lib/providers/device-stream-provider.js +118 -34
  348. package/lib/providers/dialog-provider.d.ts +9 -8
  349. package/lib/providers/dialog-provider.js +8 -4
  350. package/lib/providers/event-provider.js +4 -2
  351. package/lib/providers/interpreter-provider.d.ts +7 -26
  352. package/lib/providers/interpreter-provider.js +473 -706
  353. package/lib/providers/local-storage-provider.d.ts +6 -1
  354. package/lib/providers/local-storage-provider.js +15 -2
  355. package/lib/providers/message-provider.js +4 -2
  356. package/lib/providers/phone-audio-provider.js +24 -18
  357. package/lib/providers/privilege-provider.d.ts +13 -12
  358. package/lib/providers/privilege-provider.js +19 -11
  359. package/lib/providers/renderer-provider.d.ts +5 -0
  360. package/lib/providers/renderer-provider.js +8 -1
  361. package/lib/providers/room-provider.d.ts +7 -17
  362. package/lib/providers/room-provider.js +113 -161
  363. package/lib/providers/screen-share-provider.d.ts +19 -0
  364. package/lib/providers/screen-share-provider.js +102 -10
  365. package/lib/providers/widget-provider.d.ts +52 -0
  366. package/lib/providers/widget-provider.js +171 -0
  367. package/lib/scenes/main-scene.d.ts +11 -0
  368. package/lib/scenes/main-scene.js +60 -33
  369. package/lib/scenes/waiting-scene.d.ts +9 -0
  370. package/lib/scenes/waiting-scene.js +27 -26
  371. package/lib/schema.d.ts +114 -0
  372. package/lib/schema.js +77 -0
  373. package/lib/shared-data-source/chat-data.d.ts +11 -0
  374. package/lib/shared-data-source/chat-data.js +17 -6
  375. package/lib/shared-data-source/interpreter.d.ts +34 -21
  376. package/lib/shared-data-source/interpreter.js +104 -103
  377. package/lib/shared-data-source/meeting-time.d.ts +68 -0
  378. package/lib/shared-data-source/meeting-time.js +299 -0
  379. package/lib/shared-data-source/member-data.d.ts +126 -0
  380. package/lib/shared-data-source/member-data.js +451 -0
  381. package/lib/shared-data-source/pin-data.d.ts +8 -4
  382. package/lib/shared-data-source/pin-data.js +92 -4
  383. package/lib/shared-data-source/security-data.d.ts +35 -0
  384. package/lib/shared-data-source/security-data.js +156 -0
  385. package/lib/shared-data-source/setting.d.ts +3 -1
  386. package/lib/shared-data-source/setting.js +12 -1
  387. package/lib/shared-data-source/video-window.d.ts +7 -8
  388. package/lib/shared-data-source/video-window.js +97 -94
  389. package/lib/shared-data-source/waiting-room.d.ts +29 -2
  390. package/lib/shared-data-source/waiting-room.js +103 -39
  391. package/lib/translations/enUS.d.ts +25 -12
  392. package/lib/translations/enUS.js +47 -68
  393. package/lib/translations/zhCN.d.ts +26 -12
  394. package/lib/translations/zhCN.js +63 -83
  395. package/lib/type.d.ts +64 -48
  396. package/lib/type.js +14 -1
  397. package/lib/ui-manager.d.ts +3 -2
  398. package/lib/ui-manager.js +8 -7
  399. package/lib/ui-scene.d.ts +7 -1
  400. package/lib/ui-scene.js +187 -97
  401. package/lib/utilities/constant.d.ts +7 -3
  402. package/lib/utilities/constant.js +4 -0
  403. package/lib/utilities/default-config.d.ts +5 -1
  404. package/lib/utilities/default-config.js +28 -2
  405. package/lib/utilities/logger.d.ts +8 -0
  406. package/lib/utilities/logger.js +42 -0
  407. package/lib/utilities/meeting-detail.js +11 -10
  408. package/lib/utilities/parameters.d.ts +4 -0
  409. package/lib/utilities/parameters.js +13 -1
  410. package/lib/utilities/renderer.d.ts +1 -0
  411. package/lib/utilities/renderer.js +4 -1
  412. package/lib/utilities/tools.d.ts +7 -6
  413. package/lib/utilities/tools.js +2 -6
  414. package/lib/utilities/validate-params.d.ts +2 -0
  415. package/lib/utilities/validate-params.js +16 -0
  416. package/lib/waiting-room-control-manager.d.ts +28 -0
  417. package/lib/waiting-room-control-manager.js +212 -0
  418. package/lib/widget-sdk.d.ts +2 -0
  419. package/lib/widget-sdk.js +13 -0
  420. package/package.json +7 -6
  421. package/public/index.html +12 -6
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.array.find-index.js");
9
+ var _latestButton = require("agora-ui-foundation/lib/components/latest-button");
10
+ var _mobxReact = require("mobx-react");
11
+ var _react = require("react");
12
+ var _store = require("../../../store");
13
+ var _i18n = require("agora-ui-foundation/lib/i18n");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _default = exports["default"] = (0, _mobxReact.observer)(function (props) {
16
+ var t = (0, _i18n.useI18n)();
17
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
18
+ chatRoomStores = _useContext.chatRoomStores,
19
+ activeTabIndex = _useContext.activeTabIndex;
20
+ var _ref = chatRoomStores[activeTabIndex],
21
+ messageList = _ref.messageList,
22
+ historyUnreadCount = _ref.historyUnreadCount,
23
+ updateHistoryUnReadCount = _ref.updateHistoryUnReadCount,
24
+ readMsgIndex = _ref.readMsgIndex,
25
+ updateReadMsgIndex = _ref.updateReadMsgIndex;
26
+ var historyMsgVisible = props.historyMsgVisible,
27
+ scrollToIdx = props.scrollToIdx,
28
+ setHistoryMsgVisible = props.setHistoryMsgVisible;
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
30
+ children: historyMsgVisible && messageList.length > 0 && historyUnreadCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
31
+ onClick: function onClick() {
32
+ var len = messageList.length;
33
+ // 回到历史消息指定位置
34
+ var idx = (readMsgIndex === null || readMsgIndex === void 0 ? void 0 : readMsgIndex.index) < 0 ? 0 : messageList.findIndex(function (msg) {
35
+ return msg.id === readMsgIndex.msgId;
36
+ });
37
+ scrollToIdx(idx);
38
+ setHistoryMsgVisible(false);
39
+ updateReadMsgIndex && updateReadMsgIndex({
40
+ index: len - 1,
41
+ msgId: messageList[len - 1].id
42
+ });
43
+ updateHistoryUnReadCount(0);
44
+ },
45
+ txt: "".concat(t('fmt_chat_tips_newmessage', {
46
+ reason1: historyUnreadCount
47
+ })),
48
+ iconTransform: true,
49
+ direction: "top",
50
+ styles: {
51
+ zIndex: 999
52
+ }
53
+ }) : null
54
+ });
55
+ });
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import '../../index.css';
3
3
  import { MessageListProps } from '../../types';
4
- export declare const MessageList: ({ styles, updateReadMsgIndex, userId: localUserId, setMultiSelectActive, multiSelectActive, copyMap, setCopyMap, selectCnt, copyTips, }: React.PropsWithChildren<MessageListProps>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const MessageList: ({ styles, updateReadMsgIndex, userId: localUserId, setMultiSelectActive, multiSelectActive, }: React.PropsWithChildren<MessageListProps>) => import("react/jsx-runtime").JSX.Element;
@@ -1,84 +1,49 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.push.js");
6
- require("core-js/modules/es.object.define-properties.js");
3
+ require("core-js/modules/es.array.iterator.js");
7
4
  require("core-js/modules/es.object.define-property.js");
8
5
  require("core-js/modules/es.object.get-own-property-descriptor.js");
9
- require("core-js/modules/es.object.get-own-property-descriptors.js");
10
- require("core-js/modules/es.object.keys.js");
6
+ require("core-js/modules/es.string.iterator.js");
11
7
  require("core-js/modules/es.weak-map.js");
12
- require("core-js/modules/esnext.async-iterator.filter.js");
13
- require("core-js/modules/esnext.iterator.filter.js");
14
8
  require("core-js/modules/esnext.weak-map.delete-all.js");
15
9
  require("core-js/modules/esnext.weak-map.emplace.js");
10
+ require("core-js/modules/web.dom-collections.iterator.js");
16
11
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
12
  var _typeof = require("@babel/runtime/helpers/typeof");
18
13
  Object.defineProperty(exports, "__esModule", {
19
14
  value: true
20
15
  });
21
16
  exports.MessageList = void 0;
22
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
23
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
25
17
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
26
- require("core-js/modules/es.array.concat.js");
27
18
  require("core-js/modules/es.array.find-index.js");
28
19
  require("core-js/modules/es.array.for-each.js");
29
- require("core-js/modules/es.array.iterator.js");
30
- require("core-js/modules/es.map.js");
31
20
  require("core-js/modules/es.object.to-string.js");
32
- require("core-js/modules/es.string.iterator.js");
33
21
  require("core-js/modules/esnext.async-iterator.for-each.js");
34
22
  require("core-js/modules/esnext.iterator.constructor.js");
35
23
  require("core-js/modules/esnext.iterator.for-each.js");
36
- require("core-js/modules/esnext.map.delete-all.js");
37
- require("core-js/modules/esnext.map.emplace.js");
38
- require("core-js/modules/esnext.map.every.js");
39
- require("core-js/modules/esnext.map.filter.js");
40
- require("core-js/modules/esnext.map.find.js");
41
- require("core-js/modules/esnext.map.find-key.js");
42
- require("core-js/modules/esnext.map.includes.js");
43
- require("core-js/modules/esnext.map.key-of.js");
44
- require("core-js/modules/esnext.map.map-keys.js");
45
- require("core-js/modules/esnext.map.map-values.js");
46
- require("core-js/modules/esnext.map.merge.js");
47
- require("core-js/modules/esnext.map.reduce.js");
48
- require("core-js/modules/esnext.map.some.js");
49
- require("core-js/modules/esnext.map.update.js");
50
24
  require("core-js/modules/web.dom-collections.for-each.js");
51
- require("core-js/modules/web.dom-collections.iterator.js");
52
25
  require("core-js/modules/web.timers.js");
53
26
  var _react = _interopRequireWildcard(require("react"));
54
27
  require("../../index.css");
55
28
  var _reactVirtualized = require("react-virtualized");
56
- var _messageBubble = require("agora-ui-foundation/lib/components/message-bubble");
57
- var _messageLabel = require("agora-ui-foundation/lib/components/message-label");
58
- var _avatar = require("agora-ui-foundation/lib/components/avatar");
59
- var _util = require("../../util");
60
- var _textBubble = require("agora-ui-foundation/lib/components/text-bubble");
61
- var _latestButton = require("agora-ui-foundation/lib/components/latest-button");
62
29
  var _i18n = require("agora-ui-foundation/lib/i18n");
63
30
  var _store = require("../../store");
64
31
  var _mobxReact = require("mobx-react");
65
32
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
66
- var _multiSelect = require("agora-ui-foundation/lib/components/multi-select");
67
- var _multiSelectCheckbox = require("agora-ui-foundation/lib/components/multi-select-checkbox");
68
- var _classnames = _interopRequireDefault(require("classnames"));
69
- var _copyText = require("../../../../utilities/copyText");
70
33
  var _platform = require("../../../../utilities/platform");
71
34
  var _env = require("agora-foundation/lib/utilities/env");
72
- var _fcr_defaultpage = _interopRequireDefault(require("../../../../../public/assets/fcr_defaultpage.png"));
73
- var _types = require("../../types");
74
35
  var _mobx = require("mobx");
36
+ var _chatEmpty = _interopRequireDefault(require("./chat-empty"));
37
+ var _historyUnreadMessageButton = _interopRequireDefault(require("./history-unread-message-button"));
38
+ var _scrollBottomButton = _interopRequireDefault(require("./scroll-bottom-button"));
39
+ var _messageItem = _interopRequireDefault(require("./message-item"));
75
40
  var _jsxRuntime = require("react/jsx-runtime");
76
41
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
77
42
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
78
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
79
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // 当向上滚动时,且超出底部 10 条,点击需要回到底部,如果此时有新的消息,那么展示未读的新消息
43
+ // 当向上滚动时,且超出底部 10 条,点击需要回到底部,如果此时有新的消息,那么展示未读的新消息
80
44
  // 当滚动条在最底部时,有新消息时,自动滚动到最新消息
81
45
  // 初始化时,如果有历史消息未读,展示未读条数,并且要回到指定的位置
46
+
82
47
  // 消息列表
83
48
  // 显示的消息列表
84
49
  // 未读消息列表
@@ -90,15 +55,12 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
90
55
  updateReadMsgIndex = _ref.updateReadMsgIndex,
91
56
  localUserId = _ref.userId,
92
57
  setMultiSelectActive = _ref.setMultiSelectActive,
93
- multiSelectActive = _ref.multiSelectActive,
94
- copyMap = _ref.copyMap,
95
- setCopyMap = _ref.setCopyMap,
96
- selectCnt = _ref.selectCnt,
97
- copyTips = _ref.copyTips;
58
+ multiSelectActive = _ref.multiSelectActive;
98
59
  var t = (0, _i18n.useI18n)();
99
60
  var _useContext = (0, _react.useContext)(_store.StoreContext),
100
61
  chatRoomStores = _useContext.chatRoomStores,
101
- activeTabIndex = _useContext.activeTabIndex;
62
+ activeTabIndex = _useContext.activeTabIndex,
63
+ copyMap = _useContext.copyMap;
102
64
  var _ref2 = chatRoomStores[activeTabIndex],
103
65
  storeMsgs = _ref2.messageList,
104
66
  readMsgIndex = _ref2.readMsgIndex,
@@ -113,7 +75,6 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
113
75
  firstMsgId = _ref2.firstMsgId,
114
76
  readIdx = _ref2.readIdx,
115
77
  viewIdx = _ref2.viewIdx,
116
- historyUnReadCount = _ref2.historyUnreadCount,
117
78
  hasHistoryMsg = _ref2.hasHistoryMsg,
118
79
  newMsgsUnReadCnt = _ref2.newMsgsUnReadCnt,
119
80
  isHost = _ref2.isHost,
@@ -129,7 +90,6 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
129
90
  updateList = _ref2.updateList,
130
91
  updateMostRecentHeight = _ref2.updateMostRecentHeight,
131
92
  updateMostRecentWidth = _ref2.updateMostRecentWidth,
132
- forceNotifyMsgs = _ref2.forceNotifyMsgs,
133
93
  permitPrivateChat = _ref2.permitPrivateChat,
134
94
  lastScrollTop = _ref2.lastScrollTop,
135
95
  setLastScrollTop = _ref2.setLastScrollTop,
@@ -147,7 +107,7 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
147
107
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
148
108
  latestBtnVisible = _useState6[0],
149
109
  setLatestBtnVisible = _useState6[1];
150
- var latestBtnVisibleFlag = false;
110
+ var latestBtnVisibleFlagRef = (0, _react.useRef)(false);
151
111
  var _useState7 = (0, _react.useState)(false),
152
112
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
153
113
  historyMsgVisible = _useState8[0],
@@ -195,12 +155,12 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
195
155
  list === null || list === void 0 || list.recomputeRowHeights();
196
156
  updateFirstMsgId((_messageList$ = messageList[0]) === null || _messageList$ === void 0 ? void 0 : _messageList$.id);
197
157
  }
198
- var last2Idx = messageList.length - 2;
199
- if (last2Idx >= 0) {
200
- // 防止 margin 堆叠, 动态计算倒数第二条消息高度
201
- cache.clear(last2Idx, 0);
202
- list === null || list === void 0 || list.recomputeRowHeights(last2Idx);
203
- }
158
+ // const last2Idx = messageList.length - 2;
159
+ // if (last2Idx >= 0) {
160
+ // // 防止 margin 堆叠, 动态计算倒数第二条消息高度
161
+ // cache.clear(last2Idx, 0);
162
+ // list?.recomputeRowHeights(last2Idx);
163
+ // }
204
164
  }, [messageList]);
205
165
  (0, _react.useEffect)(function () {
206
166
  var disposer = (0, _mobx.autorun)(function () {
@@ -220,242 +180,36 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
220
180
  }
221
181
  // 当有新消息来时,视口不在底部,需要提示有新消息
222
182
  setLatestBtnVisible(true);
223
- latestBtnVisibleFlag = true;
183
+ latestBtnVisibleFlagRef.current = true;
224
184
  scrollToIdx(viewIdx);
225
185
  }, [newMsgsUnReadCnt]);
226
- var handleCopyMsg = /*#__PURE__*/function () {
227
- var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(msg, time, publisherNickName, targetNickname) {
228
- var msgHandled;
229
- return _regenerator["default"].wrap(function _callee$(_context) {
230
- while (1) switch (_context.prev = _context.next) {
231
- case 0:
232
- msgHandled = (0, _i18n.getLanguage)() === 'zh' ? "".concat(publisherNickName, "\u5BF9").concat(targetNickname, "\u8BF4(").concat(time, ")\n").concat(msg) : "".concat(publisherNickName, " said to ").concat(targetNickname, "(").concat(time, ")\n").concat(msg);
233
- _context.next = 3;
234
- return (0, _copyText.copyText)(msgHandled);
235
- case 3:
236
- copyTips === null || copyTips === void 0 || copyTips();
237
- case 4:
238
- case "end":
239
- return _context.stop();
240
- }
241
- }, _callee);
242
- }));
243
- return function handleCopyMsg(_x, _x2, _x3, _x4) {
244
- return _ref3.apply(this, arguments);
245
- };
246
- }();
247
- var handleSelectMsg = function handleSelectMsg(idx, checked) {
248
- var _copyMap = new Map(copyMap);
249
- if (checked) {
250
- _copyMap === null || _copyMap === void 0 || _copyMap.set(idx, checked);
251
- setCopyMap && setCopyMap(_copyMap !== null && _copyMap !== void 0 ? _copyMap : new Map());
252
- } else {
253
- _copyMap["delete"](idx);
254
- setCopyMap && setCopyMap(_copyMap !== null && _copyMap !== void 0 ? _copyMap : new Map());
255
- }
256
-
257
- // const _scrollTop = list?.getOffsetForRow({ index: idx });
258
- // cache.clear(idx, 0);
259
- // // TODO: 宽高改变后需要回到视口位置
260
- // // 强制渲染列表
261
- // list?.recomputeRowHeights(idx);
262
- // list?.scrollToPosition(_scrollTop);
263
- };
264
186
  var rowRenderer = function rowRenderer(messageList) {
265
- return function (_ref4) {
266
- var _arr, _arr2, _arr3, _arr4, _datum$img;
267
- var index = _ref4.index,
268
- key = _ref4.key,
269
- parent = _ref4.parent,
270
- style = _ref4.style;
187
+ return function (_ref3) {
188
+ var index = _ref3.index,
189
+ key = _ref3.key,
190
+ parent = _ref3.parent,
191
+ style = _ref3.style;
271
192
  var datum = messageList[index % messageList.length];
272
- var publisherRole = datum.role,
273
- time = datum.time,
274
- _datum$msg = datum.msg,
275
- msg = _datum$msg === void 0 ? '' : _datum$msg,
276
- color = datum.color,
277
- publisherNickName = datum.nickName,
278
- publisherUid = datum.uid,
279
- isPrivate = datum.isPrivate,
280
- targetNickname = datum.target,
281
- chatLevel = datum.chatLevel;
282
- var arr = messageList;
283
- var idx = index;
284
- var systemMsg = datum.systemMsg;
285
- var publisherIsSelf = publisherUid === localUserId;
286
- var checked = (copyMap === null || copyMap === void 0 ? void 0 : copyMap.get(idx)) || false;
287
- var checkDisabled = (selectCnt !== null && selectCnt !== void 0 ? selectCnt : 0) >= _multiSelect.MAX_SELECT_CNT && !checked;
288
- var needLabel = ((_arr = arr[idx - 1]) === null || _arr === void 0 ? void 0 : _arr.uid) !== publisherUid || ((_arr2 = arr[idx - 1]) === null || _arr2 === void 0 ? void 0 : _arr2.isPrivate) !== isPrivate || ((_arr3 = arr[idx - 1]) === null || _arr3 === void 0 ? void 0 : _arr3.role) !== publisherRole || ((_arr4 = arr[idx - 1]) === null || _arr4 === void 0 ? void 0 : _arr4.target) !== targetNickname;
289
- if (needLabel) {
290
- needRecomputeRowIdMap.set(datum.id, idx);
291
- }
292
- var isManager = publisherRole === 'host' || publisherRole === 'union-host';
293
- var isFile = datum !== null && datum !== void 0 && (_datum$img = datum.img) !== null && _datum$img !== void 0 && _datum$img.url ? true : false;
294
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.CellMeasurer, {
295
- cache: cache,
296
- columnIndex: 0,
297
- rowIndex: index,
193
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageItem["default"], {
194
+ messageItem: datum,
195
+ style: style,
196
+ setMultiSelectActive: setMultiSelectActive,
197
+ multiSelectActive: multiSelectActive,
198
+ index: index,
199
+ localUserId: localUserId,
298
200
  parent: parent,
299
- children: function children() {
300
- var _arr5, _datum$img2, _arr6;
301
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
302
- style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, style), {}, {
303
- display: 'flex',
304
- flexDirection: 'column'
305
- }, systemMsg ? {
306
- width: '100%'
307
- } : {
308
- width: 'auto'
309
- }), systemMsg ? {} : publisherIsSelf ? {
310
- marginRight: 15,
311
- marginLeft: multiSelectActive ? 8 : 25,
312
- alignItems: 'flex-end',
313
- right: 0
314
- } : {
315
- marginRight: 15,
316
- marginLeft: multiSelectActive ? 8 : 15,
317
- alignItems: 'flex-start'
318
- }), {}, {
319
- pointerEvents: 'all'
320
- }, index === 0 ? {
321
- paddingTop: 10
322
- } : {}),
323
- id: String(idx),
324
- children: systemMsg ? publisherRole === 'system' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
325
- txt: (0, _util.handleMessageTime)(time),
326
- type: "transparent",
327
- bold: true,
328
- lineHeight: "small",
329
- styles: {
330
- marginBottom: 16
331
- }
332
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
333
- classnames: "fcr-line-system-message",
334
- txt: "".concat((0, _util.handleChatLevelChangedSystemMsg)(t, chatLevel, publisherRole, publisherNickName, publisherIsSelf)),
335
- marginBottom: 15
336
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
337
- children: [needLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageLabel.MessageLabel, {
338
- handleClickPrivateChat: function handleClickPrivateChat() {
339
- _handleClickPrivateChat(publisherUid);
340
- },
341
- styles: {
342
- marginLeft: publisherUid !== localUserId && multiSelectActive ? 24 : 0
343
- },
344
- color: color,
345
- time: (0, _util.handleMessageTime)(time),
346
- publisher: publisherNickName,
347
- avatar: publisherUid !== localUserId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
348
- size: 24,
349
- textSize: 24,
350
- nickName: publisherNickName
351
- }) : null,
352
- publisherIsSelf: publisherIsSelf,
353
- targetIsSelf: isPrivate,
354
- target: targetNickname || _types.ALL_TO_USER.userName,
355
- isPrivate: isPrivate,
356
- tag: isManager ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
357
- className: (0, _classnames["default"])('fcr-msg-tag', {
358
- 'fcr-msg-tag--union': publisherRole === 'union-host'
359
- }),
360
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
361
- children: publisherRole === 'host' ? t('fmt_role_host') : t('fmt_role_cohost')
362
- })
363
- }) : null
364
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
365
- className: "fcr-line-message",
366
- style: {
367
- display: 'flex',
368
- alignItems: 'center',
369
- justifyContent: publisherIsSelf ? multiSelectActive ? 'space-between' : 'flex-end' : 'flex-start',
370
- flexDirection: 'row',
371
- width: '100%'
372
- },
373
- children: [multiSelectActive && !systemMsg && /*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectCheckbox.MultiSelectCheckbox, {
374
- self: publisherIsSelf,
375
- checked: checked,
376
- nextMsgBelongSameUser: ((_arr5 = arr[idx + 1]) === null || _arr5 === void 0 ? void 0 : _arr5.uid) === publisherUid,
377
- checkDisabled: checkDisabled || isFile,
378
- onChange: function onChange(checked) {
379
- handleSelectMsg(idx, checked);
380
- }
381
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
382
- onClick: function onClick() {
383
- if (!multiSelectActive || checkDisabled) {
384
- return;
385
- }
386
- var newChecked = !checked;
387
- handleSelectMsg(idx, newChecked);
388
- },
389
- style: {
390
- // marginLeft: uid !== userId && multiSelectActive ? 24 : 0,
391
- },
392
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageBubble.MessageBubble, {
393
- file: datum === null || datum === void 0 || (_datum$img2 = datum.img) === null || _datum$img2 === void 0 ? void 0 : _datum$img2.url,
394
- msg: msg,
395
- role: publisherRole,
396
- isSelf: publisherIsSelf
397
- // 消息间间距
398
- ,
399
- marginBottom: ((_arr6 = arr[idx + 1]) === null || _arr6 === void 0 ? void 0 : _arr6.uid) === publisherUid ? 'small' : 'large',
400
- styles: {
401
- marginLeft: publisherUid !== localUserId && !multiSelectActive ? 34 : 0,
402
- width: 'auto'
403
- },
404
- onCopy: (/*#__PURE__*/function () {
405
- var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(type) {
406
- var currentScrollTop;
407
- return _regenerator["default"].wrap(function _callee2$(_context2) {
408
- while (1) switch (_context2.prev = _context2.next) {
409
- case 0:
410
- if (!(type === 'singling')) {
411
- _context2.next = 5;
412
- break;
413
- }
414
- _context2.next = 3;
415
- return handleCopyMsg(msg, (0, _util.handleMessageTime)(time), publisherIsSelf && isPrivate ? t('fmt_settings_labels_you') : publisherNickName, // 你
416
- targetNickname !== null && targetNickname !== void 0 ? targetNickname : _types.ALL_TO_USER.userName);
417
- case 3:
418
- _context2.next = 6;
419
- break;
420
- case 5:
421
- if (type === 'multiple') {
422
- currentScrollTop = list === null || list === void 0 ? void 0 : list.getOffsetForRow({
423
- index: idx
424
- });
425
- scrollToIdx(viewIdx);
426
- setLastScrollTop(currentScrollTop);
427
- setMultiSelectActive && setMultiSelectActive(true);
428
- }
429
- case 6:
430
- case "end":
431
- return _context2.stop();
432
- }
433
- }, _callee2);
434
- }));
435
- return function (_x5) {
436
- return _ref5.apply(this, arguments);
437
- };
438
- }()),
439
- onPrivate: function onPrivate() {
440
- _handleClickPrivateChat(publisherUid);
441
- }
442
- })
443
- })]
444
- })]
445
- })
446
- });
447
- }
201
+ scrollToIdx: scrollToIdx
448
202
  }, key);
449
203
  };
450
204
  };
451
- var scrollToIdx = function scrollToIdx(idx) {
205
+ var scrollToIdx = (0, _react.useCallback)(function (idx) {
452
206
  var rowCount = messageList.length;
453
207
  var scrollIdx = Math.min(rowCount - 1, idx);
454
208
  if (isNaN(scrollIdx)) {
455
209
  scrollIdx = undefined;
456
210
  }
457
211
  setScrollIndex(scrollIdx);
458
- };
212
+ }, [messageList]);
459
213
  var handleScroll = function handleScroll(params) {
460
214
  var listScrollHeight = params.scrollHeight,
461
215
  listScrollTop = params.scrollTop,
@@ -504,16 +258,16 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
504
258
  }
505
259
  var latestIdx = messageList.length - 1;
506
260
  // 往上滚动超过 40 条
507
- if (latestIdx - stopIndex >= needCbBottomCount && !latestBtnVisibleFlag) {
508
- latestBtnVisibleFlag = true;
261
+ if (latestIdx - stopIndex >= needCbBottomCount && !latestBtnVisibleFlagRef.current) {
262
+ latestBtnVisibleFlagRef.current = true;
509
263
  clearTimeout(latestBtnVisibleTimer);
510
264
  latestBtnVisibleTimer = setTimeout(function () {
511
265
  var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
512
266
  !isBottom && setLatestBtnVisible(true);
513
267
  }, 500);
514
268
  }
515
- if (latestIdx - stopIndex < 10 && latestBtnVisibleFlag) {
516
- latestBtnVisibleFlag = false;
269
+ if (latestIdx - stopIndex < 10 && latestBtnVisibleFlagRef.current) {
270
+ latestBtnVisibleFlagRef.current = false;
517
271
  setTimeout(function () {
518
272
  setLatestBtnVisible(false);
519
273
  }, 500);
@@ -539,84 +293,26 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
539
293
  setLastScrollTop(undefined);
540
294
  }
541
295
  }, [multiSelectActive]);
542
- var _handleClickPrivateChat = function _handleClickPrivateChat(userId) {
543
- permitPrivateChat(userId);
544
- };
545
296
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
546
297
  className: 'fcr-message-list',
547
298
  style: {},
548
- children: [historyMsgVisible && messageList.length > 0 && historyUnReadCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
549
- onClick: function onClick() {
550
- var len = messageList.length;
551
- // 回到历史消息指定位置
552
- var idx = (readMsgIndex === null || readMsgIndex === void 0 ? void 0 : readMsgIndex.index) < 0 ? 0 : messageList.findIndex(function (msg) {
553
- return msg.id === readMsgIndex.msgId;
554
- });
555
- scrollToIdx(idx);
556
- setHistoryMsgVisible(false);
557
- updateReadMsgIndex && updateReadMsgIndex({
558
- index: len - 1,
559
- msgId: messageList[len - 1].id
560
- });
561
- updateHistoryUnReadCount(0);
562
- },
563
- txt: "".concat(t('fmt_chat_tips_newmessage', {
564
- reason1: historyUnReadCount
565
- })),
566
- iconTransform: true,
567
- direction: "top",
568
- styles: {
569
- zIndex: 999
570
- }
571
- }) : null, latestBtnVisible === true ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
572
- onClick: function onClick() {
573
- var _messageList;
574
- forceNotifyMsgs();
575
- var len = messageList.length;
576
-
577
- // 回到最新消息的第一条
578
- if (readIdx === len - 1) {
579
- // 没有新消息
580
- if (scrollIndex === len - 1) {
581
- list === null || list === void 0 || list.scrollToPosition(scrollHeight - clientHeight);
582
- } else {
583
- scrollToIdx(len - 1);
584
- }
585
- }
586
- setLatestBtnVisible(false);
587
- latestBtnVisibleFlag = false;
588
- updateReadMsgIndex && updateReadMsgIndex({
589
- index: len - 1,
590
- msgId: (_messageList = messageList[len - 1]) === null || _messageList === void 0 ? void 0 : _messageList.id
591
- });
592
- },
593
- txt: "".concat(
594
- // readIdx === messageList.length - 1
595
- newMsgsUnReadCnt === 0 ? t('fmt_chat_button_latestlocation') // 回到最新位置
596
- : t('fmt_chat_tips_newmessage', {
597
- reason1: newMsgsUnReadCnt || messageList.length - 1 - readIdx
598
- })),
599
- styles: {
600
- zIndex: 999
601
- }
602
- }) : null, messageList.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
603
- className: "fcr-no-data-chat",
604
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
605
- style: {
606
- width: 138,
607
- height: 100
608
- },
609
- src: _fcr_defaultpage["default"]
610
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
611
- children: t('fmt_chat_tips_nodata')
612
- })]
613
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.AutoSizer, {
299
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_historyUnreadMessageButton["default"], {
300
+ historyMsgVisible: historyMsgVisible,
301
+ scrollToIdx: scrollToIdx,
302
+ setHistoryMsgVisible: setHistoryMsgVisible
303
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_scrollBottomButton["default"], {
304
+ latestBtnVisible: latestBtnVisible,
305
+ scrollToIdx: scrollToIdx,
306
+ setLatestBtnVisible: setLatestBtnVisible,
307
+ scrollIndex: scrollIndex,
308
+ latestBtnVisibleFlagRef: latestBtnVisibleFlagRef
309
+ }), messageList.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_chatEmpty["default"], {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.AutoSizer, {
614
310
  style: {
615
311
  alignSelf: 'stretch'
616
312
  },
617
- children: function children(_ref6) {
618
- var height = _ref6.height,
619
- width = _ref6.width;
313
+ children: function children(_ref4) {
314
+ var height = _ref4.height,
315
+ width = _ref4.width;
620
316
  if (height !== mostRecentHeight || width !== mostRecentWidth) {
621
317
  cache.clearAll();
622
318
  if (list) {
@@ -626,8 +322,8 @@ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref)
626
322
  updateMostRecentHeight(height);
627
323
  updateMostRecentWidth(width);
628
324
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.List, {
629
- ref: function ref(_ref7) {
630
- updateList(_ref7);
325
+ ref: function ref(_ref5) {
326
+ updateList(_ref5);
631
327
  },
632
328
  style: {
633
329
  padding: 'inherit',
@@ -0,0 +1,15 @@
1
+ import { MsgListType } from '../../../types';
2
+ import { MeasuredCellParent } from 'react-virtualized/dist/es/CellMeasurer';
3
+ type IMessageItem = {
4
+ messageItem: MsgListType;
5
+ index: number;
6
+ localUserId: string | undefined;
7
+ key: string;
8
+ parent: MeasuredCellParent;
9
+ style: React.CSSProperties | undefined;
10
+ multiSelectActive: boolean | undefined;
11
+ setMultiSelectActive: ((active: boolean) => void) | undefined;
12
+ scrollToIdx: (idx: number) => void;
13
+ };
14
+ declare const _default: (props: IMessageItem) => import("react/jsx-runtime").JSX.Element;
15
+ export default _default;