fcr-ui-scene 3.4.1 → 3.4.2

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 (567) hide show
  1. package/lib/base.d.ts +40 -5
  2. package/lib/base.js +237 -22
  3. package/lib/common/device-store.d.ts +14 -23
  4. package/lib/common/device-store.js +252 -361
  5. package/lib/common/device-stream-store.d.ts +14 -8
  6. package/lib/common/device-stream-store.js +116 -254
  7. package/lib/common/event-store.d.ts +10 -35
  8. package/lib/common/event-store.js +13 -64
  9. package/lib/common/security-store.d.ts +39 -47
  10. package/lib/common/security-store.js +379 -335
  11. package/lib/creator.d.ts +1 -1
  12. package/lib/creator.js +4 -9
  13. package/lib/electron/app.js +4 -2
  14. package/lib/electron/bootstrap-dev.js +0 -7
  15. package/lib/electron/bootstrap-sdk.js +10 -0
  16. package/lib/electron/injections.d.ts +2 -0
  17. package/lib/electron/injections.js +17 -2
  18. package/lib/electron/logger.d.ts +0 -4
  19. package/lib/electron/logger.js +2 -5
  20. package/lib/electron/main.js +1 -1
  21. package/lib/electron/plugins/devtool-shortcut.js +10 -1
  22. package/lib/electron/plugins/meeting-state.js +1 -1
  23. package/lib/electron/preload.js +3 -1
  24. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  25. package/lib/fragments/control-bar/control-bar-store.d.ts +1 -44
  26. package/lib/fragments/control-bar/control-bar-store.js +80 -457
  27. package/lib/fragments/control-bar/device/index.js +3 -5
  28. package/lib/fragments/control-bar/index.css +10 -15
  29. package/lib/fragments/control-bar/index.js +0 -24
  30. package/lib/fragments/control-bar/more-actions/index.css +0 -53
  31. package/lib/fragments/control-bar/more-actions/index.js +38 -73
  32. package/lib/fragments/control-bar/security-content/index.css +0 -75
  33. package/lib/fragments/control-bar/security-content/index.js +19 -105
  34. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  35. package/lib/fragments/control-bar/view.js +8 -23
  36. package/lib/fragments/live-streaming/store.d.ts +1 -1
  37. package/lib/fragments/live-streaming/store.js +1 -1
  38. package/lib/fragments/live-streaming/view.js +2 -4
  39. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  40. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  41. package/lib/fragments/share-screen-selection/view.js +20 -20
  42. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  43. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  44. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  45. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  46. package/lib/fragments/toolbar/hooks.js +1 -1
  47. package/lib/fragments/toolbar/store.d.ts +1 -1
  48. package/lib/global.css +5 -0
  49. package/lib/index.d.ts +1 -0
  50. package/lib/index.js +7 -4
  51. package/lib/login-confirm-dialog.d.ts +1 -0
  52. package/lib/login-confirm-dialog.js +7 -2
  53. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +2 -2
  54. package/lib/modules/Interpreter/action/edit-btn/index.js +2 -2
  55. package/lib/modules/Interpreter/action/switch-btn/index.js +5 -5
  56. package/lib/modules/Interpreter/dialog-content/index.d.ts +2 -2
  57. package/lib/modules/Interpreter/dialog-content/index.js +4 -4
  58. package/lib/modules/Interpreter/index.d.ts +11 -4
  59. package/lib/modules/Interpreter/index.js +23 -8
  60. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +2 -2
  61. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  62. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +2 -2
  63. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +14 -14
  64. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +2 -2
  65. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +2 -2
  66. package/lib/modules/Interpreter/store.d.ts +23 -84
  67. package/lib/modules/Interpreter/store.js +204 -1216
  68. package/lib/modules/Interpreter/type.d.ts +12 -29
  69. package/lib/modules/Interpreter/type.js +2 -10
  70. package/lib/modules/Interpreter/utils.d.ts +1 -5
  71. package/lib/modules/Interpreter/utils.js +28 -86
  72. package/lib/modules/Interpreter/view.js +19 -3
  73. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -4
  74. package/lib/modules/action-bar/action-bar-collapes-items.js +21 -38
  75. package/lib/modules/action-bar/chat/index.js +8 -8
  76. package/lib/modules/action-bar/components/apps/app-item/index.css +1 -2
  77. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +1 -10
  78. package/lib/modules/action-bar/components/apps/appitems.d.ts +1 -3
  79. package/lib/modules/action-bar/components/apps/index.css +2 -2
  80. package/lib/modules/action-bar/components/apps/index.js +2 -3
  81. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -0
  82. package/lib/modules/action-bar/components/collapse/index.js +222 -0
  83. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -5
  84. package/lib/modules/action-bar/components/item/index.d.ts +9 -0
  85. package/lib/modules/action-bar/components/item/index.js +164 -0
  86. package/lib/modules/action-bar/components/leave/assign-host.d.ts +1 -8
  87. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  88. package/lib/modules/action-bar/components/leave/index.js +9 -24
  89. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +1 -16
  90. package/lib/modules/action-bar/components/more/index.js +13 -9
  91. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -4
  92. package/lib/modules/action-bar/components/more/poppover-content.js +28 -5
  93. package/lib/modules/action-bar/components/notification-bar/assets/dome.png +0 -0
  94. package/lib/modules/action-bar/components/notification-bar/assets/fcr_translateswitch.png +0 -0
  95. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -0
  96. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.d.ts +8 -0
  97. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +100 -0
  98. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -0
  99. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.d.ts +5 -0
  100. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.js +33 -0
  101. package/lib/modules/action-bar/components/notification-bar/index.css +74 -0
  102. package/lib/modules/action-bar/components/notification-bar/index.d.ts +2 -0
  103. package/lib/modules/action-bar/components/notification-bar/index.js +99 -0
  104. package/lib/modules/action-bar/components/participants/index.js +2 -2
  105. package/lib/modules/action-bar/components/placement/index.d.ts +4 -0
  106. package/lib/modules/action-bar/components/placement/index.js +18 -0
  107. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -3
  108. package/lib/modules/action-bar/components/screen-share/submenu.js +25 -2
  109. package/lib/modules/action-bar/components/security/index.js +3 -1
  110. package/lib/modules/action-bar/components/smaller/index.d.ts +1 -0
  111. package/lib/modules/action-bar/components/smaller/index.js +52 -0
  112. package/lib/modules/action-bar/components/trigger-input-language-room/fcr_translateswitch.png +0 -0
  113. package/lib/modules/action-bar/components/trigger-input-language-room/index.css +86 -0
  114. package/lib/modules/action-bar/components/trigger-input-language-room/index.d.ts +3 -0
  115. package/lib/modules/action-bar/components/trigger-input-language-room/index.js +215 -0
  116. package/lib/modules/action-bar/components/trigger-output-language/fcr_translateswitch.png +0 -0
  117. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -0
  118. package/lib/modules/action-bar/components/trigger-output-language/index.d.ts +2 -0
  119. package/lib/modules/action-bar/components/trigger-output-language/index.js +230 -0
  120. package/lib/modules/action-bar/components/trigger-output-language-room/constant.d.ts +10 -0
  121. package/lib/modules/action-bar/components/trigger-output-language-room/constant.js +8 -0
  122. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.css +22 -0
  123. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.d.ts +3 -0
  124. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.js +75 -0
  125. package/lib/modules/action-bar/components/trigger-output-language-room/index.d.ts +8 -0
  126. package/lib/modules/action-bar/components/trigger-output-language-room/index.js +98 -0
  127. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  128. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.js +66 -0
  129. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  130. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.js +37 -0
  131. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  132. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  133. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -0
  134. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +3 -0
  135. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +70 -0
  136. package/lib/modules/action-bar/components/trigger-subscribe-language/index.d.ts +5 -0
  137. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +209 -0
  138. package/lib/modules/action-bar/device/index.css +2 -7
  139. package/lib/modules/action-bar/device/index.js +24 -22
  140. package/lib/modules/action-bar/enums.d.ts +23 -0
  141. package/lib/modules/action-bar/enums.js +35 -0
  142. package/lib/modules/action-bar/index.d.ts +36 -6
  143. package/lib/modules/action-bar/index.dev.d.ts +0 -1
  144. package/lib/modules/action-bar/index.dev.js +94 -121
  145. package/lib/modules/action-bar/index.js +46 -18
  146. package/lib/modules/action-bar/leave/assign-host.d.ts +0 -3
  147. package/lib/modules/action-bar/leave/assign-host.js +4 -2
  148. package/lib/modules/action-bar/leave/index.css +0 -10
  149. package/lib/modules/action-bar/leave/index.js +34 -84
  150. package/lib/modules/action-bar/leave/leave-meeting.d.ts +1 -13
  151. package/lib/modules/action-bar/leave/leave-meeting.js +19 -37
  152. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  153. package/lib/modules/action-bar/more/index.js +6 -9
  154. package/lib/modules/action-bar/more/poppover-content.js +16 -37
  155. package/lib/modules/action-bar/participants/index.css +0 -12
  156. package/lib/modules/action-bar/participants/index.js +16 -23
  157. package/lib/modules/action-bar/record/index.js +4 -4
  158. package/lib/modules/action-bar/screen-share/index.js +5 -14
  159. package/lib/modules/action-bar/screen-share/submenu.js +26 -20
  160. package/lib/modules/action-bar/security/drop-menu.js +22 -137
  161. package/lib/modules/action-bar/security/index.js +6 -12
  162. package/lib/modules/action-bar/settings/index.js +4 -4
  163. package/lib/modules/action-bar/smaller.js +5 -5
  164. package/lib/modules/action-bar/store.d.ts +84 -98
  165. package/lib/modules/action-bar/store.js +567 -707
  166. package/lib/modules/action-bar/types.d.ts +94 -0
  167. package/lib/modules/action-bar/types.js +6 -0
  168. package/lib/modules/action-bar/view.d.ts +1 -2
  169. package/lib/modules/action-bar/view.js +11 -11
  170. package/lib/modules/audio-stream/index.d.ts +22 -10
  171. package/lib/modules/audio-stream/index.js +78 -82
  172. package/lib/modules/chat/chat-bar/index.css +0 -6
  173. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  174. package/lib/modules/chat/chat-bar/index.js +39 -51
  175. package/lib/modules/chat/chat-room-store.d.ts +135 -0
  176. package/lib/modules/chat/chat-room-store.js +954 -0
  177. package/lib/modules/chat/chat-select/index.css +7 -27
  178. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  179. package/lib/modules/chat/chat-select/index.js +4 -18
  180. package/lib/modules/chat/chat.d.ts +2 -1
  181. package/lib/modules/chat/chat.js +128 -196
  182. package/lib/modules/chat/components/chat-action/index.d.ts +1 -0
  183. package/lib/modules/chat/components/chat-action/index.js +28 -0
  184. package/lib/modules/chat/components/chat-bar/index.css +85 -0
  185. package/lib/modules/chat/components/chat-bar/index.d.ts +3 -0
  186. package/lib/modules/chat/components/chat-bar/index.js +145 -0
  187. package/lib/modules/chat/components/chat-select/index.css +185 -0
  188. package/lib/modules/chat/components/chat-select/index.d.ts +3 -0
  189. package/lib/modules/chat/components/chat-select/index.js +237 -0
  190. package/lib/modules/chat/components/message-list/index.d.ts +4 -0
  191. package/lib/modules/chat/components/message-list/index.js +650 -0
  192. package/lib/modules/chat/index.d.ts +13 -5
  193. package/lib/modules/chat/index.dev.d.ts +0 -1
  194. package/lib/modules/chat/index.dev.js +71 -72
  195. package/lib/modules/chat/index.js +45 -22
  196. package/lib/modules/chat/message-list.js +51 -68
  197. package/lib/modules/chat/mock.d.ts +1 -1
  198. package/lib/modules/chat/store.d.ts +17 -162
  199. package/lib/modules/chat/store.js +95 -963
  200. package/lib/modules/chat/types.d.ts +70 -0
  201. package/lib/modules/chat/types.js +17 -0
  202. package/lib/modules/chat/view.d.ts +10 -0
  203. package/lib/modules/chat/view.js +372 -0
  204. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -2
  205. package/lib/modules/components/device-control/components/microphone/index.js +7 -7
  206. package/lib/modules/components/device-control/store.d.ts +11 -12
  207. package/lib/modules/components/device-control/store.js +46 -49
  208. package/lib/modules/components/dialog-container/component/body.js +2 -1
  209. package/lib/modules/components/dialog-container/index.d.ts +2 -2
  210. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +3 -0
  211. package/lib/modules/components/leave-meeting/components/assign-host.js +70 -0
  212. package/lib/modules/components/leave-meeting/components/index.css +125 -0
  213. package/lib/modules/components/leave-meeting/index.d.ts +4 -0
  214. package/lib/modules/components/leave-meeting/index.js +147 -0
  215. package/lib/modules/components/leave-meeting/store.d.ts +31 -0
  216. package/lib/modules/components/leave-meeting/store.js +292 -0
  217. package/lib/modules/components/member-window/index.d.ts +1 -1
  218. package/lib/modules/components/member-window/index.js +12 -6
  219. package/lib/modules/components/security-menu/index.d.ts +2 -0
  220. package/lib/modules/components/security-menu/index.js +34 -35
  221. package/lib/modules/components/tab-frame/index.d.ts +2 -2
  222. package/lib/modules/components/tab-frame/index.js +26 -5
  223. package/lib/modules/connection-gateway/components/computer/index.js +4 -4
  224. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  225. package/lib/modules/connection-gateway/components/phone/index.js +2 -2
  226. package/lib/modules/connection-gateway/components/tabs/index.js +1 -2
  227. package/lib/modules/connection-gateway/enums.d.ts +4 -0
  228. package/lib/modules/connection-gateway/enums.js +12 -0
  229. package/lib/modules/connection-gateway/index.d.ts +13 -4
  230. package/lib/modules/connection-gateway/index.js +25 -15
  231. package/lib/modules/connection-gateway/store.d.ts +22 -18
  232. package/lib/modules/connection-gateway/store.js +60 -36
  233. package/lib/modules/connection-gateway/types.d.ts +4 -0
  234. package/lib/modules/connection-gateway/types.js +6 -0
  235. package/lib/modules/connection-gateway/view.js +2 -2
  236. package/lib/modules/control-bar/components/meeting-details/index.js +30 -25
  237. package/lib/modules/control-bar/components/more-actions/index.css +18 -0
  238. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -5
  239. package/lib/modules/control-bar/components/more-actions/index.js +58 -9
  240. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -7
  241. package/lib/modules/control-bar/components/share-state-nav/index.js +2 -1
  242. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +1 -1
  243. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +2 -2
  244. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -10
  245. package/lib/modules/control-bar/components/transfer-position-icon/index.js +7 -12
  246. package/lib/modules/control-bar/enums.d.ts +21 -0
  247. package/lib/modules/control-bar/enums.js +31 -0
  248. package/lib/modules/control-bar/index.d.ts +30 -7
  249. package/lib/modules/control-bar/index.js +46 -27
  250. package/lib/modules/control-bar/store.d.ts +38 -26
  251. package/lib/modules/control-bar/store.js +172 -282
  252. package/lib/modules/control-bar/types.d.ts +20 -0
  253. package/lib/modules/control-bar/types.js +6 -0
  254. package/lib/modules/control-bar/view.js +68 -34
  255. package/lib/modules/device-pretest/index.js +4 -4
  256. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  257. package/lib/modules/device-pretest/store.d.ts +8 -9
  258. package/lib/modules/device-pretest/store.js +52 -36
  259. package/lib/modules/dialog/components/Interpreter/electron.js +21 -15
  260. package/lib/modules/dialog/components/Interpreter/index.js +2 -2
  261. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  262. package/lib/modules/dialog/components/chat/electron.js +19 -10
  263. package/lib/modules/dialog/components/chat/index.js +2 -2
  264. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  265. package/lib/modules/dialog/components/confirm/electron.js +68 -38
  266. package/lib/modules/dialog/components/confirm/index.js +1 -1
  267. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  268. package/lib/modules/dialog/components/connection-gateway/electron.js +8 -10
  269. package/lib/modules/dialog/components/connection-gateway/index.css +2 -0
  270. package/lib/modules/dialog/components/connection-gateway/index.d.ts +3 -1
  271. package/lib/modules/dialog/components/connection-gateway/index.js +20 -7
  272. package/lib/modules/dialog/components/connection-gateway/tabs.d.ts +6 -0
  273. package/lib/modules/dialog/components/connection-gateway/tabs.js +44 -0
  274. package/lib/modules/dialog/components/control-bar/index.d.ts +5 -1
  275. package/lib/modules/dialog/components/control-bar/index.js +122 -9
  276. package/lib/modules/dialog/components/device-setting/electron.js +6 -2
  277. package/lib/modules/dialog/components/device-setting/index.js +2 -2
  278. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +7 -0
  279. package/lib/modules/dialog/components/dialog-container/component/body.js +77 -0
  280. package/lib/modules/dialog/components/dialog-container/index.css +81 -0
  281. package/lib/modules/dialog/components/dialog-container/index.d.ts +16 -0
  282. package/lib/modules/dialog/components/dialog-container/index.js +112 -0
  283. package/lib/modules/dialog/components/invite/index.js +32 -7
  284. package/lib/modules/dialog/components/live-streaming/index.js +9 -5
  285. package/lib/modules/dialog/components/participant/electron.js +11 -5
  286. package/lib/modules/dialog/components/participant/index.js +4 -3
  287. package/lib/modules/dialog/components/share-screen-selection/index.js +9 -5
  288. package/lib/modules/dialog/components/system-preference/electron.js +1 -1
  289. package/lib/modules/dialog/components/toast/index.js +1 -1
  290. package/lib/modules/dialog/components/video-window/index.d.ts +2 -0
  291. package/lib/modules/dialog/components/video-window/index.js +148 -0
  292. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  293. package/lib/modules/dialog/dialogs.d.ts +2 -5
  294. package/lib/modules/dialog/dialogs.js +2 -157
  295. package/lib/modules/dialog/hooks/useElectron.d.ts +3 -25
  296. package/lib/modules/dialog/hooks/useElectron.js +91 -35
  297. package/lib/modules/dialog/index.d.ts +30 -4
  298. package/lib/modules/dialog/index.js +62 -6
  299. package/lib/modules/dialog/store.d.ts +46 -12
  300. package/lib/modules/dialog/store.js +121 -65
  301. package/lib/modules/dialog/types/index.d.ts +14 -3
  302. package/lib/modules/event-confirm/index.css +1 -1
  303. package/lib/modules/event-confirm/index.d.ts +13 -6
  304. package/lib/modules/event-confirm/index.js +28 -11
  305. package/lib/modules/event-confirm/store.d.ts +9 -3
  306. package/lib/modules/event-confirm/store.js +16 -7
  307. package/lib/modules/event-confirm/view.js +5 -1
  308. package/lib/modules/event-toast/index.d.ts +7 -6
  309. package/lib/modules/event-toast/index.js +19 -8
  310. package/lib/modules/event-toast/store.d.ts +8 -3
  311. package/lib/modules/event-toast/store.js +15 -6
  312. package/lib/modules/invite/components/error-tips.d.ts +4 -0
  313. package/lib/modules/invite/components/error-tips.js +18 -0
  314. package/lib/modules/invite/components/pstn-invite.d.ts +2 -0
  315. package/lib/modules/invite/components/pstn-invite.js +297 -0
  316. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  317. package/lib/modules/invite/components/voip-invite.js +276 -0
  318. package/lib/modules/invite/enums.d.ts +22 -0
  319. package/lib/modules/invite/enums.js +33 -0
  320. package/lib/modules/invite/index.d.ts +7 -8
  321. package/lib/modules/invite/index.js +17 -15
  322. package/lib/modules/invite/pstn-invite.js +9 -7
  323. package/lib/modules/invite/store.d.ts +11 -26
  324. package/lib/modules/invite/store.js +55 -25
  325. package/lib/modules/invite/types.d.ts +14 -0
  326. package/lib/modules/invite/types.js +6 -0
  327. package/lib/modules/invite/view.d.ts +0 -4
  328. package/lib/modules/invite/view.js +7 -11
  329. package/lib/modules/invite/voip-invite.js +6 -5
  330. package/lib/modules/layout/components/Aside.js +34 -17
  331. package/lib/modules/layout/components/Carousel.js +1 -1
  332. package/lib/modules/layout/components/Gallery.js +1 -1
  333. package/lib/modules/layout/components/index.d.ts +1 -1
  334. package/lib/modules/layout/components/index.js +4 -4
  335. package/lib/modules/layout/components/who-is-speaking.d.ts +2 -0
  336. package/lib/modules/layout/components/who-is-speaking.js +60 -0
  337. package/lib/modules/layout/index.d.ts +26 -4
  338. package/lib/modules/layout/index.dev.d.ts +0 -1
  339. package/lib/modules/layout/index.dev.js +312 -386
  340. package/lib/modules/layout/index.js +25 -10
  341. package/lib/modules/layout/member-window/index.css +18 -116
  342. package/lib/modules/layout/member-window/index.d.ts +3 -10
  343. package/lib/modules/layout/member-window/index.js +115 -227
  344. package/lib/modules/layout/store.d.ts +61 -71
  345. package/lib/modules/layout/store.js +311 -573
  346. package/lib/modules/layout/view.d.ts +2 -0
  347. package/lib/modules/layout/view.js +127 -2
  348. package/lib/modules/live-streaming/index.d.ts +15 -7
  349. package/lib/modules/live-streaming/index.dev.js +13 -13
  350. package/lib/modules/live-streaming/index.js +20 -15
  351. package/lib/modules/live-streaming/store.d.ts +21 -14
  352. package/lib/modules/live-streaming/store.js +84 -144
  353. package/lib/modules/live-streaming/view.js +2 -2
  354. package/lib/modules/notification/index.d.ts +9 -11
  355. package/lib/modules/notification/index.js +21 -14
  356. package/lib/modules/notification/interpreter-status/index.js +1 -2
  357. package/lib/modules/notification/store.d.ts +5 -11
  358. package/lib/modules/notification/store.js +12 -62
  359. package/lib/modules/notification/view.d.ts +5 -3
  360. package/lib/modules/notification/view.js +8 -5
  361. package/lib/modules/offscreen-pulling/index.js +1 -1
  362. package/lib/modules/participant/attendee/index.css +51 -0
  363. package/lib/modules/participant/attendee/index.d.ts +5 -8
  364. package/lib/modules/participant/attendee/index.js +15 -61
  365. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  366. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +28 -0
  367. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +7 -0
  368. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +39 -0
  369. package/lib/modules/participant/components/attendee/index.css +69 -0
  370. package/lib/modules/participant/components/attendee/index.d.ts +4 -0
  371. package/lib/modules/participant/components/attendee/index.js +337 -0
  372. package/lib/modules/participant/components/can-moveable/index.d.ts +1 -0
  373. package/lib/modules/participant/components/can-moveable/index.js +68 -0
  374. package/lib/modules/participant/components/drop-menu/index.js +8 -8
  375. package/lib/modules/participant/components/footer/buttons.d.ts +2 -3
  376. package/lib/modules/participant/components/footer/buttons.js +2 -3
  377. package/lib/modules/participant/components/footer/index.js +2 -2
  378. package/lib/modules/participant/components/mute-all/index.d.ts +3 -4
  379. package/lib/modules/participant/components/mute-all/index.js +31 -44
  380. package/lib/modules/participant/components/operate-waitingroom-member/index.d.ts +2 -0
  381. package/lib/modules/participant/components/operate-waitingroom-member/index.js +48 -0
  382. package/lib/modules/participant/components/participants/index.js +27 -50
  383. package/lib/modules/participant/components/user-action/index.d.ts +17 -0
  384. package/lib/modules/participant/components/user-action/index.js +169 -0
  385. package/lib/modules/participant/index.d.ts +34 -7
  386. package/lib/modules/participant/index.dev.d.ts +0 -1
  387. package/lib/modules/participant/index.dev.js +87 -116
  388. package/lib/modules/participant/index.js +39 -13
  389. package/lib/modules/participant/member-list-data-source.d.ts +4 -1
  390. package/lib/modules/participant/member-list-data-source.js +58 -31
  391. package/lib/modules/participant/room-control-drop-menu/index.css +0 -37
  392. package/lib/modules/participant/store.d.ts +58 -25
  393. package/lib/modules/participant/store.js +321 -298
  394. package/lib/modules/participant/type.d.ts +45 -1
  395. package/lib/modules/participant/type.js +15 -1
  396. package/lib/modules/pc-audio-connect/index.css +12 -0
  397. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  398. package/lib/modules/pc-audio-connect/index.js +68 -0
  399. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  400. package/lib/modules/pc-audio-connect/store.js +301 -0
  401. package/lib/modules/pc-audio-connect/types.d.ts +0 -0
  402. package/lib/modules/pc-audio-connect/types.js +1 -0
  403. package/lib/modules/pc-audio-connect/view.d.ts +3 -0
  404. package/lib/modules/pc-audio-connect/view.js +66 -0
  405. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  406. package/lib/modules/phone-audio-connect/components/callinfo/index.d.ts +10 -0
  407. package/lib/modules/phone-audio-connect/components/callinfo/index.js +77 -0
  408. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -0
  409. package/lib/modules/phone-audio-connect/components/calling/index.d.ts +7 -0
  410. package/lib/modules/phone-audio-connect/components/calling/index.js +58 -0
  411. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -0
  412. package/lib/modules/phone-audio-connect/components/remeber/index.d.ts +5 -0
  413. package/lib/modules/phone-audio-connect/components/remeber/index.js +24 -0
  414. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -0
  415. package/lib/modules/phone-audio-connect/components/useing/index.d.ts +3 -0
  416. package/lib/modules/phone-audio-connect/components/useing/index.js +36 -0
  417. package/lib/modules/phone-audio-connect/enums.d.ts +4 -0
  418. package/lib/modules/phone-audio-connect/enums.js +12 -0
  419. package/lib/modules/phone-audio-connect/index.css +56 -0
  420. package/lib/modules/phone-audio-connect/index.d.ts +16 -0
  421. package/lib/modules/phone-audio-connect/index.js +63 -0
  422. package/lib/modules/phone-audio-connect/store.d.ts +46 -0
  423. package/lib/modules/phone-audio-connect/store.js +320 -0
  424. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  425. package/lib/modules/phone-audio-connect/types.js +6 -0
  426. package/lib/modules/phone-audio-connect/view.d.ts +3 -0
  427. package/lib/modules/phone-audio-connect/view.js +184 -0
  428. package/lib/modules/setting/audio-settings/audio-settings.js +5 -5
  429. package/lib/modules/setting/index.d.ts +25 -5
  430. package/lib/modules/setting/index.dev.d.ts +0 -1
  431. package/lib/modules/setting/index.dev.js +120 -81
  432. package/lib/modules/setting/index.js +35 -9
  433. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -1
  434. package/lib/modules/setting/state/index.js +3 -3
  435. package/lib/modules/setting/store.d.ts +48 -14
  436. package/lib/modules/setting/store.js +105 -114
  437. package/lib/modules/setting/translate-settings/translate-settings.js +3 -3
  438. package/lib/modules/setting/video-settings/video-settings-basic.js +19 -22
  439. package/lib/modules/setting/view.js +6 -35
  440. package/lib/modules/share-screen/components/selection/index.css +70 -0
  441. package/lib/modules/share-screen/components/selection/index.d.ts +2 -0
  442. package/lib/modules/share-screen/components/selection/index.js +267 -0
  443. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -0
  444. package/lib/modules/share-screen/components/share-state-bar/index.d.ts +4 -0
  445. package/lib/modules/share-screen/components/share-state-bar/index.js +98 -0
  446. package/lib/modules/share-screen/index.d.ts +15 -18
  447. package/lib/modules/share-screen/index.dev.d.ts +0 -1
  448. package/lib/modules/share-screen/index.dev.js +90 -91
  449. package/lib/modules/share-screen/index.js +22 -22
  450. package/lib/modules/share-screen/selection/index.css +0 -4
  451. package/lib/modules/share-screen/selection/index.js +129 -126
  452. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  453. package/lib/modules/share-screen/store.d.ts +36 -32
  454. package/lib/modules/share-screen/store.js +250 -219
  455. package/lib/modules/share-screen/types.d.ts +27 -0
  456. package/lib/modules/share-screen/types.js +6 -0
  457. package/lib/modules/share-screen/view.js +1 -1
  458. package/lib/modules/sound-effect/index.d.ts +9 -4
  459. package/lib/modules/sound-effect/index.js +72 -40
  460. package/lib/modules/sound-effect/sound-effect-player.js +1 -1
  461. package/lib/modules/state-bar/index.d.ts +16 -13
  462. package/lib/modules/state-bar/index.dev.d.ts +0 -1
  463. package/lib/modules/state-bar/index.dev.js +78 -83
  464. package/lib/modules/state-bar/index.js +23 -7
  465. package/lib/modules/state-bar/meeting-details.js +24 -12
  466. package/lib/modules/state-bar/meeting-network-state.js +1 -1
  467. package/lib/modules/state-bar/store.d.ts +20 -10
  468. package/lib/modules/state-bar/store.js +84 -87
  469. package/lib/modules/state-bar/view.js +2 -2
  470. package/lib/modules/video-window/deviceState/index.d.ts +2 -2
  471. package/lib/modules/video-window/deviceState/index.js +4 -6
  472. package/lib/modules/video-window/index.css +1 -4
  473. package/lib/modules/video-window/index.d.ts +33 -6
  474. package/lib/modules/video-window/index.js +63 -15
  475. package/lib/modules/video-window/members/index.css +1 -0
  476. package/lib/modules/video-window/members/index.js +25 -11
  477. package/lib/modules/video-window/store.d.ts +58 -27
  478. package/lib/modules/video-window/store.js +166 -161
  479. package/lib/modules/waiting-room-layout/index.d.ts +11 -4
  480. package/lib/modules/waiting-room-layout/index.js +26 -13
  481. package/lib/modules/waiting-room-layout/store.d.ts +6 -3
  482. package/lib/modules/waiting-room-layout/store.js +17 -15
  483. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -4
  484. package/lib/modules/whiteboard/components/control-bar/store.js +8 -8
  485. package/lib/modules/whiteboard/index.d.ts +20 -14
  486. package/lib/modules/whiteboard/index.js +250 -223
  487. package/lib/modules/whiteboard/view.d.ts +2 -0
  488. package/lib/modules/whiteboard/view.js +49 -0
  489. package/lib/plugins/browser-runtime-plugin.js +5 -1
  490. package/lib/providers/chat-provider.d.ts +71 -0
  491. package/lib/providers/chat-provider.js +91 -0
  492. package/lib/providers/device-privilege-provider.d.ts +52 -6
  493. package/lib/providers/device-privilege-provider.js +212 -183
  494. package/lib/providers/device-provider.d.ts +203 -45
  495. package/lib/providers/device-provider.js +486 -398
  496. package/lib/providers/device-stream-provider.d.ts +12 -13
  497. package/lib/providers/device-stream-provider.js +86 -193
  498. package/lib/providers/dialog-provider.d.ts +135 -0
  499. package/lib/providers/dialog-provider.js +204 -0
  500. package/lib/providers/event-provider.d.ts +1 -21
  501. package/lib/providers/event-provider.js +19 -57
  502. package/lib/providers/interpreter-provider.d.ts +218 -7
  503. package/lib/providers/interpreter-provider.js +1072 -80
  504. package/lib/providers/local-storage-provider.d.ts +9 -0
  505. package/lib/providers/message-provider.d.ts +69 -0
  506. package/lib/providers/message-provider.js +98 -0
  507. package/lib/providers/monitor-provider.d.ts +5 -0
  508. package/lib/providers/phone-audio-provider.d.ts +131 -0
  509. package/lib/providers/phone-audio-provider.js +515 -0
  510. package/lib/providers/privilege-provider.d.ts +325 -12
  511. package/lib/providers/privilege-provider.js +111 -295
  512. package/lib/providers/renderer-provider.d.ts +46 -4
  513. package/lib/providers/renderer-provider.js +57 -60
  514. package/lib/providers/room-provider.d.ts +113 -6
  515. package/lib/providers/room-provider.js +667 -87
  516. package/lib/providers/screen-share-provider.d.ts +65 -0
  517. package/lib/providers/screen-share-provider.js +238 -0
  518. package/lib/providers/session-provider.d.ts +30 -0
  519. package/lib/runtime.d.ts +2 -0
  520. package/lib/scenes/main-scene.d.ts +41 -3
  521. package/lib/scenes/main-scene.js +407 -246
  522. package/lib/scenes/waiting-scene.d.ts +34 -4
  523. package/lib/scenes/waiting-scene.js +163 -56
  524. package/lib/shared-data-source/chat-data.d.ts +14 -0
  525. package/lib/shared-data-source/chat-data.js +130 -0
  526. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  527. package/lib/shared-data-source/device-privilege-data.js +25 -0
  528. package/lib/shared-data-source/interpreter.d.ts +63 -0
  529. package/lib/shared-data-source/interpreter.js +248 -0
  530. package/lib/shared-data-source/layout-data.d.ts +29 -0
  531. package/lib/shared-data-source/layout-data.js +181 -0
  532. package/lib/shared-data-source/pin-data.d.ts +9 -0
  533. package/lib/shared-data-source/pin-data.js +24 -0
  534. package/lib/shared-data-source/setting.d.ts +32 -0
  535. package/lib/shared-data-source/setting.js +153 -0
  536. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  537. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  538. package/lib/shared-data-source/video-window.d.ts +161 -0
  539. package/lib/shared-data-source/video-window.js +1202 -0
  540. package/lib/shared-data-source/waiting-room.d.ts +19 -0
  541. package/lib/shared-data-source/waiting-room.js +158 -0
  542. package/lib/translations/enUS.d.ts +43 -17
  543. package/lib/translations/enUS.js +59 -33
  544. package/lib/translations/zhCN.d.ts +43 -17
  545. package/lib/translations/zhCN.js +57 -31
  546. package/lib/type.d.ts +270 -25
  547. package/lib/type.js +67 -2
  548. package/lib/ui-manager.d.ts +20 -16
  549. package/lib/ui-manager.js +59 -795
  550. package/lib/ui-scene.d.ts +6 -1
  551. package/lib/ui-scene.js +372 -42
  552. package/lib/utilities/constant.d.ts +63 -86
  553. package/lib/utilities/constant.js +151 -175
  554. package/lib/utilities/copyText.js +8 -7
  555. package/lib/utilities/extract.d.ts +1 -1
  556. package/lib/utilities/privilege.d.ts +4 -0
  557. package/lib/utilities/privilege.js +31 -0
  558. package/lib/utilities/setting-config-storage.d.ts +12 -0
  559. package/lib/utilities/setting-config-storage.js +102 -0
  560. package/lib/utilities/tools.d.ts +35 -3
  561. package/lib/utilities/tools.js +104 -2
  562. package/lib/utilities/video-track-render-context.d.ts +3 -4
  563. package/lib/utilities/video-track-render-context.js +1 -1
  564. package/package.json +5 -5
  565. package/public/assets/full-screen-error-boundary-img.png +0 -0
  566. package/public/assets/leave-meeting.png +0 -0
  567. package/public/index.html +24 -14
@@ -0,0 +1,650 @@
1
+ "use strict";
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");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ 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");
11
+ 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
+ require("core-js/modules/esnext.weak-map.delete-all.js");
15
+ require("core-js/modules/esnext.weak-map.emplace.js");
16
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+ var _typeof = require("@babel/runtime/helpers/typeof");
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: true
20
+ });
21
+ 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
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
26
+ require("core-js/modules/es.array.concat.js");
27
+ require("core-js/modules/es.array.find-index.js");
28
+ 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
+ require("core-js/modules/es.object.to-string.js");
32
+ require("core-js/modules/es.string.iterator.js");
33
+ require("core-js/modules/esnext.async-iterator.for-each.js");
34
+ require("core-js/modules/esnext.iterator.constructor.js");
35
+ 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
+ require("core-js/modules/web.dom-collections.for-each.js");
51
+ require("core-js/modules/web.dom-collections.iterator.js");
52
+ require("core-js/modules/web.timers.js");
53
+ var _react = _interopRequireWildcard(require("react"));
54
+ require("../../index.css");
55
+ 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
+ var _i18n = require("agora-ui-foundation/lib/i18n");
63
+ var _store = require("../../store");
64
+ var _mobxReact = require("mobx-react");
65
+ 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
+ var _platform = require("../../../../utilities/platform");
71
+ 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
+ var _mobx = require("mobx");
75
+ var _jsxRuntime = require("react/jsx-runtime");
76
+ 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
+ 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 条,点击需要回到底部,如果此时有新的消息,那么展示未读的新消息
80
+ // 当滚动条在最底部时,有新消息时,自动滚动到最新消息
81
+ // 初始化时,如果有历史消息未读,展示未读条数,并且要回到指定的位置
82
+ // 消息列表
83
+ // 显示的消息列表
84
+ // 未读消息列表
85
+ var genRequestAnimationFrame = function genRequestAnimationFrame(cb) {
86
+ return (0, _env.isElectron)() && (0, _platform.isWindows)() ? setTimeout(cb, 0) : requestAnimationFrame(cb);
87
+ };
88
+ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref) {
89
+ var styles = _ref.styles,
90
+ updateReadMsgIndex = _ref.updateReadMsgIndex,
91
+ localUserId = _ref.userId,
92
+ setMultiSelectActive = _ref.setMultiSelectActive,
93
+ multiSelectActive = _ref.multiSelectActive,
94
+ copyMap = _ref.copyMap,
95
+ setCopyMap = _ref.setCopyMap,
96
+ selectCnt = _ref.selectCnt,
97
+ copyTips = _ref.copyTips;
98
+ var t = (0, _i18n.useI18n)();
99
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
100
+ chatRoomStores = _useContext.chatRoomStores,
101
+ activeTabIndex = _useContext.activeTabIndex;
102
+ var _ref2 = chatRoomStores[activeTabIndex],
103
+ storeMsgs = _ref2.messageList,
104
+ readMsgIndex = _ref2.readMsgIndex,
105
+ needCbBottomCount = _ref2.needCbBottomCount,
106
+ list = _ref2.list,
107
+ mostRecentHeight = _ref2.mostRecentHeight,
108
+ mostRecentWidth = _ref2.mostRecentWidth,
109
+ cache = _ref2.cache,
110
+ scrollHeight = _ref2.scrollHeight,
111
+ scrollTop = _ref2.scrollTop,
112
+ clientHeight = _ref2.clientHeight,
113
+ firstMsgId = _ref2.firstMsgId,
114
+ readIdx = _ref2.readIdx,
115
+ viewIdx = _ref2.viewIdx,
116
+ historyUnReadCount = _ref2.historyUnreadCount,
117
+ hasHistoryMsg = _ref2.hasHistoryMsg,
118
+ newMsgsUnReadCnt = _ref2.newMsgsUnReadCnt,
119
+ isHost = _ref2.isHost,
120
+ isCohost = _ref2.isCohost,
121
+ initReadInfo = _ref2.initReadInfo,
122
+ updateScrollInfo = _ref2.updateScrollInfo,
123
+ updateHasHistoryMsg = _ref2.updateHasHistoryMsg,
124
+ updateHistoryCnt = _ref2.updateHistoryUnreadCnt,
125
+ updateViewIdx = _ref2.updateViewIdx,
126
+ updateReadIdx = _ref2.updateReadIdx,
127
+ updateFirstMsgId = _ref2.updateFirstMsgId,
128
+ updateHistoryUnReadCount = _ref2.updateHistoryUnReadCount,
129
+ updateList = _ref2.updateList,
130
+ updateMostRecentHeight = _ref2.updateMostRecentHeight,
131
+ updateMostRecentWidth = _ref2.updateMostRecentWidth,
132
+ forceNotifyMsgs = _ref2.forceNotifyMsgs,
133
+ permitPrivateChat = _ref2.permitPrivateChat,
134
+ lastScrollTop = _ref2.lastScrollTop,
135
+ setLastScrollTop = _ref2.setLastScrollTop,
136
+ needRecomputeRowIdMap = _ref2.needRecomputeRowIdMap;
137
+ var _useState = (0, _react.useState)(storeMsgs !== null && storeMsgs !== void 0 ? storeMsgs : []),
138
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
139
+ messageList = _useState2[0],
140
+ setMessageList = _useState2[1];
141
+ var _useState3 = (0, _react.useState)(messageList.length - 1),
142
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
143
+ scrollIndex = _useState4[0],
144
+ setScrollIndex = _useState4[1];
145
+ var firstRowsRendered = undefined;
146
+ var _useState5 = (0, _react.useState)(false),
147
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
148
+ latestBtnVisible = _useState6[0],
149
+ setLatestBtnVisible = _useState6[1];
150
+ var latestBtnVisibleFlag = false;
151
+ var _useState7 = (0, _react.useState)(false),
152
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
153
+ historyMsgVisible = _useState8[0],
154
+ setHistoryMsgVisible = _useState8[1];
155
+ var latestBtnVisibleTimer = undefined;
156
+ // const [checkboxVisible, setCheckboxVisible] = useState<boolean>(false);
157
+ // const [copyMap, setCopyMap] = useState<Map<number, boolean>>(new Map());
158
+
159
+ (0, _react.useEffect)(function () {
160
+ initReadInfo();
161
+ return function () {
162
+ updateReadInfo();
163
+ clearTimeout(latestBtnVisibleTimer);
164
+ };
165
+ }, []);
166
+ var updateReadInfo = function updateReadInfo(data) {
167
+ updateReadMsgIndex && messageList.length > 0 && updateReadMsgIndex(data);
168
+ updateHistoryUnReadCount(0);
169
+ updateHasHistoryMsg(false);
170
+ };
171
+ (0, _react.useEffect)(function () {
172
+ setMessageList(storeMsgs);
173
+ }, [storeMsgs]);
174
+ (0, _react.useEffect)(function () {
175
+ // 视口位置在最底部时, 滚动到最新消息
176
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < cache.rowHeight({
177
+ index: readIdx
178
+ });
179
+ if (isBottom) {
180
+ genRequestAnimationFrame(function () {
181
+ scrollToIdx(messageList.length - 1);
182
+ });
183
+ } else {
184
+ var len = messageList.length;
185
+ if (readMsgIndex.index === len - 2 && messageList[len - 1].uid === localUserId) {
186
+ scrollToIdx(len - 1);
187
+ }
188
+ }
189
+
190
+ // TODO: 优化, 消息队列中, 后部分消息高度不会变, 是否可以使用 cache 中已有的高度?
191
+ // 消息列表从头更新, 重新计算每条消息的高度
192
+ if (firstMsgId && messageList[0].id !== firstMsgId) {
193
+ var _messageList$;
194
+ cache.clearAll();
195
+ list === null || list === void 0 || list.recomputeRowHeights();
196
+ updateFirstMsgId((_messageList$ = messageList[0]) === null || _messageList$ === void 0 ? void 0 : _messageList$.id);
197
+ }
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
+ }
204
+ }, [messageList]);
205
+ (0, _react.useEffect)(function () {
206
+ var disposer = (0, _mobx.autorun)(function () {
207
+ needRecomputeRowIdMap.forEach(function (idx, id) {
208
+ cache.clear(idx, 0);
209
+ list === null || list === void 0 || list.recomputeRowHeights(idx);
210
+ });
211
+ });
212
+ return function () {
213
+ return disposer();
214
+ };
215
+ }, []);
216
+ (0, _react.useEffect)(function () {
217
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
218
+ if (newMsgsUnReadCnt === 0 || isBottom) {
219
+ return;
220
+ }
221
+ // 当有新消息来时,视口不在底部,需要提示有新消息
222
+ setLatestBtnVisible(true);
223
+ latestBtnVisibleFlag = true;
224
+ scrollToIdx(viewIdx);
225
+ }, [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
+ 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;
271
+ 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,
298
+ 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
+ }
448
+ }, key);
449
+ };
450
+ };
451
+ var scrollToIdx = function scrollToIdx(idx) {
452
+ var rowCount = messageList.length;
453
+ var scrollIdx = Math.min(rowCount - 1, idx);
454
+ if (isNaN(scrollIdx)) {
455
+ scrollIdx = undefined;
456
+ }
457
+ setScrollIndex(scrollIdx);
458
+ };
459
+ var handleScroll = function handleScroll(params) {
460
+ var listScrollHeight = params.scrollHeight,
461
+ listScrollTop = params.scrollTop,
462
+ listClientHeight = params.clientHeight;
463
+ updateScrollInfo(listScrollHeight, listScrollTop, listClientHeight);
464
+ updateScrollIndexByScroll();
465
+ };
466
+ var updateScrollIndexByScroll = (0, _throttle["default"])(function () {
467
+ if (scrollTop !== 0 && scrollHeight - scrollTop === clientHeight && latestBtnVisible) {
468
+ setLatestBtnVisible(false);
469
+ scrollToIdx(messageList.length - 1);
470
+ }
471
+ }, 200);
472
+ var handleRowRendered = function handleRowRendered(params) {
473
+ var stopIndex = params.stopIndex,
474
+ startIndex = params.startIndex;
475
+
476
+ // 历史未读消息
477
+ var lastReadIdx = messageList.findIndex(function (msg) {
478
+ return msg.id === readMsgIndex.msgId;
479
+ });
480
+ var hasHistoryUnRead = readMsgIndex.index < 0 || lastReadIdx < 0 || readMsgIndex.index < startIndex;
481
+ if (messageList.length > 0 && stopIndex >= messageList.length - 1 && hasHistoryUnRead && startIndex > 0 && hasHistoryMsg) {
482
+ var unReadCnt = 0;
483
+ if (lastReadIdx === -1) {
484
+ unReadCnt = startIndex - 1;
485
+ } else if (lastReadIdx >= 0) {
486
+ unReadCnt = startIndex - lastReadIdx;
487
+ }
488
+ updateHistoryCnt(unReadCnt);
489
+ unReadCnt > 0 && setHistoryMsgVisible(true);
490
+ updateHasHistoryMsg(false);
491
+ }
492
+
493
+ // 视口已经滚动到所有历史未读消息之前
494
+ var unreadIdx = messageList.findIndex(function (msg) {
495
+ return msg.id === readMsgIndex.msgId;
496
+ });
497
+ if (stopIndex <= unreadIdx) {
498
+ setHistoryMsgVisible(false);
499
+ }
500
+ updateViewIdx(stopIndex);
501
+ if (firstRowsRendered) {
502
+ firstRowsRendered = false;
503
+ return;
504
+ }
505
+ var latestIdx = messageList.length - 1;
506
+ // 往上滚动超过 40 条
507
+ if (latestIdx - stopIndex >= needCbBottomCount && !latestBtnVisibleFlag) {
508
+ latestBtnVisibleFlag = true;
509
+ clearTimeout(latestBtnVisibleTimer);
510
+ latestBtnVisibleTimer = setTimeout(function () {
511
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
512
+ !isBottom && setLatestBtnVisible(true);
513
+ }, 500);
514
+ }
515
+ if (latestIdx - stopIndex < 10 && latestBtnVisibleFlag) {
516
+ latestBtnVisibleFlag = false;
517
+ setTimeout(function () {
518
+ setLatestBtnVisible(false);
519
+ }, 500);
520
+ }
521
+
522
+ // 视口出现新消息
523
+ if (stopIndex > readIdx) {
524
+ updateReadIdx(stopIndex);
525
+ }
526
+ };
527
+ (0, _react.useEffect)(function () {
528
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
529
+ if (isBottom) {
530
+ return;
531
+ }
532
+ }, [readMsgIndex]);
533
+ (0, _react.useEffect)(function () {
534
+ // 重新计算高度
535
+ cache.clearAll();
536
+ list === null || list === void 0 || list.recomputeRowHeights();
537
+ if (lastScrollTop !== undefined) {
538
+ list === null || list === void 0 || list.scrollToPosition(lastScrollTop);
539
+ setLastScrollTop(undefined);
540
+ }
541
+ }, [multiSelectActive]);
542
+ var _handleClickPrivateChat = function _handleClickPrivateChat(userId) {
543
+ permitPrivateChat(userId);
544
+ };
545
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
546
+ className: 'fcr-message-list',
547
+ 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, {
614
+ style: {
615
+ alignSelf: 'stretch'
616
+ },
617
+ children: function children(_ref6) {
618
+ var height = _ref6.height,
619
+ width = _ref6.width;
620
+ if (height !== mostRecentHeight || width !== mostRecentWidth) {
621
+ cache.clearAll();
622
+ if (list) {
623
+ list.recomputeRowHeights();
624
+ }
625
+ }
626
+ updateMostRecentHeight(height);
627
+ updateMostRecentWidth(width);
628
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.List, {
629
+ ref: function ref(_ref7) {
630
+ updateList(_ref7);
631
+ },
632
+ style: {
633
+ padding: 'inherit',
634
+ scrollbarWidth: 'none'
635
+ },
636
+ onScroll: handleScroll,
637
+ onRowsRendered: handleRowRendered,
638
+ width: width,
639
+ height: height,
640
+ rowHeight: cache.rowHeight,
641
+ rowCount: messageList.length,
642
+ rowRenderer: rowRenderer(messageList),
643
+ deferredMeasurementCache: cache,
644
+ overscanRowCount: 0,
645
+ scrollToIndex: latestBtnVisible ? undefined : scrollIndex
646
+ });
647
+ }
648
+ })]
649
+ });
650
+ });
@@ -2,12 +2,21 @@ import { UIModule } from '../../base';
2
2
  import './index.css';
3
3
  import { CHAT_WRAPPER_CLASS } from 'agora-ui-foundation/lib/components/chat-wrapper';
4
4
  import { FcrChatRoomFile, FcrChatRoomMessageType } from 'fcr-core/lib/room-control/chatroom-control/type';
5
- import { StoreConfig } from '../../type';
5
+ import { FcrUICurrentRoomControlProvider, FcrUIMainRoomControlProvider, FcrUIRoomProvider, FcrUIWaitingRoomControlProvider } from '../../providers/room-provider';
6
+ import { FcrUIEventProvider } from '../../providers/event-provider';
7
+ import { FcrUIChatProvider } from '../../providers/chat-provider';
6
8
  export { CHAT_WRAPPER_CLASS };
7
9
  export declare class ChatUIModule extends UIModule {
8
- private _store;
9
- private _uid;
10
- constructor(args: StoreConfig);
10
+ private _store?;
11
+ private _uid?;
12
+ currentRoomControlProvider?: FcrUICurrentRoomControlProvider;
13
+ eventProvider?: FcrUIEventProvider;
14
+ mainRoomControlProvider?: FcrUIMainRoomControlProvider;
15
+ waitingRoomControlProvider?: FcrUIWaitingRoomControlProvider;
16
+ roomProvider?: FcrUIRoomProvider;
17
+ chatProvider?: FcrUIChatProvider;
18
+ onNodeWillActive(): void;
19
+ onNodeWillInactive(): void;
11
20
  getComponent(params?: {
12
21
  singling?: boolean;
13
22
  }): import("react/jsx-runtime").JSX.Element;
@@ -17,5 +26,4 @@ export declare class ChatUIModule extends UIModule {
17
26
  index: number;
18
27
  msgId: string;
19
28
  }): Promise<void>;
20
- onUnload(): void;
21
29
  }
@@ -1 +0,0 @@
1
- export {};