fcr-ui-scene 3.4.5 → 3.5.0

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 (803) hide show
  1. package/lib/base.js +4 -4
  2. package/lib/common/device-store.d.ts +149 -0
  3. package/lib/common/device-store.js +1551 -0
  4. package/lib/common/device-stream-store.d.ts +51 -0
  5. package/lib/common/device-stream-store.js +546 -0
  6. package/lib/common/event-store.d.ts +135 -0
  7. package/lib/common/event-store.js +280 -0
  8. package/lib/common/room-store.d.ts +58 -0
  9. package/lib/common/room-store.js +402 -0
  10. package/lib/common/security-store.d.ts +131 -0
  11. package/lib/common/security-store.js +957 -0
  12. package/lib/creator.d.ts +4 -1
  13. package/lib/creator.js +66 -3
  14. package/lib/electron/app.js +0 -5
  15. package/lib/electron/bootstrap-dev.js +2 -2
  16. package/lib/electron/bootstrap-sdk.js +2 -2
  17. package/lib/electron/injections.js +0 -5
  18. package/lib/electron/main.js +14 -3
  19. package/lib/electron/plugins/devtool-shortcut.js +5 -0
  20. package/lib/electron/plugins/screenshot.js +4 -1
  21. package/lib/electron/tools.js +0 -4
  22. package/lib/electron/window.js +0 -2
  23. package/lib/fragments/base.d.ts +10 -0
  24. package/lib/fragments/base.js +44 -0
  25. package/lib/fragments/control-bar/cloud-recording-buttons.d.ts +1 -0
  26. package/lib/fragments/control-bar/cloud-recording-buttons.js +67 -0
  27. package/lib/fragments/control-bar/context.d.ts +2 -0
  28. package/lib/fragments/control-bar/context.js +9 -0
  29. package/lib/fragments/control-bar/control-bar-store.d.ts +196 -0
  30. package/lib/fragments/control-bar/control-bar-store.js +1678 -0
  31. package/lib/fragments/control-bar/device/index.d.ts +31 -0
  32. package/lib/fragments/control-bar/device/index.js +212 -0
  33. package/lib/fragments/control-bar/index.css +281 -0
  34. package/lib/fragments/control-bar/index.d.ts +26 -0
  35. package/lib/fragments/control-bar/index.js +257 -0
  36. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +128 -0
  37. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.d.ts +3 -0
  38. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.js +60 -0
  39. package/lib/fragments/control-bar/meeting-details/meeting-details.d.ts +2 -0
  40. package/lib/fragments/control-bar/meeting-details/meeting-details.js +280 -0
  41. package/lib/fragments/control-bar/more-actions/index.css +72 -0
  42. package/lib/fragments/control-bar/more-actions/index.d.ts +7 -0
  43. package/lib/fragments/control-bar/more-actions/index.js +299 -0
  44. package/lib/fragments/control-bar/security-content/index.css +99 -0
  45. package/lib/fragments/control-bar/security-content/index.d.ts +2 -0
  46. package/lib/fragments/control-bar/security-content/index.js +234 -0
  47. package/lib/fragments/control-bar/share-state-nav/index.css +70 -0
  48. package/lib/fragments/control-bar/share-state-nav/index.d.ts +10 -0
  49. package/lib/fragments/control-bar/share-state-nav/index.js +134 -0
  50. package/lib/fragments/control-bar/stop-live-streaming/index.d.ts +1 -0
  51. package/lib/fragments/control-bar/stop-live-streaming/index.js +82 -0
  52. package/lib/fragments/control-bar/transfer-position-icon/index.d.ts +11 -0
  53. package/lib/fragments/control-bar/transfer-position-icon/index.js +46 -0
  54. package/lib/fragments/control-bar/view.d.ts +1 -0
  55. package/lib/fragments/control-bar/view.js +336 -0
  56. package/lib/fragments/live-streaming/context.d.ts +2 -0
  57. package/lib/fragments/live-streaming/context.js +9 -0
  58. package/lib/fragments/live-streaming/index.css +11 -0
  59. package/lib/fragments/live-streaming/index.d.ts +11 -0
  60. package/lib/fragments/live-streaming/index.js +79 -0
  61. package/lib/fragments/live-streaming/store.d.ts +21 -0
  62. package/lib/fragments/live-streaming/store.js +238 -0
  63. package/lib/fragments/live-streaming/view.d.ts +2 -0
  64. package/lib/fragments/live-streaming/view.js +46 -0
  65. package/lib/fragments/share-screen-selection/context.d.ts +2 -0
  66. package/lib/fragments/share-screen-selection/context.js +9 -0
  67. package/lib/fragments/share-screen-selection/index.css +66 -0
  68. package/lib/fragments/share-screen-selection/index.d.ts +9 -0
  69. package/lib/fragments/share-screen-selection/index.js +94 -0
  70. package/lib/fragments/share-screen-selection/open-mic-tips.d.ts +9 -0
  71. package/lib/fragments/share-screen-selection/open-mic-tips.js +55 -0
  72. package/lib/fragments/share-screen-selection/selection-store.d.ts +35 -0
  73. package/lib/fragments/share-screen-selection/selection-store.js +352 -0
  74. package/lib/fragments/share-screen-selection/tips.css +33 -0
  75. package/lib/fragments/share-screen-selection/view.d.ts +9 -0
  76. package/lib/fragments/share-screen-selection/view.js +262 -0
  77. package/lib/fragments/toolbar/components/color-picker/components/color.d.ts +5 -0
  78. package/lib/fragments/toolbar/components/color-picker/components/color.js +56 -0
  79. package/lib/fragments/toolbar/components/color-picker/components/panel.d.ts +1 -0
  80. package/lib/fragments/toolbar/components/color-picker/components/panel.js +118 -0
  81. package/lib/fragments/toolbar/components/color-picker/components/picker.d.ts +1 -0
  82. package/lib/fragments/toolbar/components/color-picker/components/picker.js +77 -0
  83. package/lib/fragments/toolbar/components/color-picker/index.d.ts +2 -0
  84. package/lib/fragments/toolbar/components/color-picker/index.js +57 -0
  85. package/lib/fragments/toolbar/components/color-picker.d.ts +2 -0
  86. package/lib/fragments/toolbar/components/color-picker.js +129 -0
  87. package/lib/fragments/toolbar/components/eraser-picker.d.ts +4 -0
  88. package/lib/fragments/toolbar/components/eraser-picker.js +75 -0
  89. package/lib/fragments/toolbar/components/extension-toolbar-item.d.ts +1 -0
  90. package/lib/fragments/toolbar/components/extension-toolbar-item.js +83 -0
  91. package/lib/fragments/toolbar/components/extra-tool-picker.d.ts +1 -0
  92. package/lib/fragments/toolbar/components/extra-tool-picker.js +64 -0
  93. package/lib/fragments/toolbar/components/fold-icon.d.ts +2 -0
  94. package/lib/fragments/toolbar/components/fold-icon.js +41 -0
  95. package/lib/fragments/toolbar/components/history.d.ts +2 -0
  96. package/lib/fragments/toolbar/components/history.js +46 -0
  97. package/lib/fragments/toolbar/components/pen-picker.d.ts +4 -0
  98. package/lib/fragments/toolbar/components/pen-picker.js +134 -0
  99. package/lib/fragments/toolbar/components/screen-capture-picker.d.ts +4 -0
  100. package/lib/fragments/toolbar/components/screen-capture-picker.js +86 -0
  101. package/lib/fragments/toolbar/components/shape-picker.d.ts +4 -0
  102. package/lib/fragments/toolbar/components/shape-picker.js +148 -0
  103. package/lib/fragments/toolbar/components/toolbar-item.d.ts +1 -0
  104. package/lib/fragments/toolbar/components/toolbar-item.js +42 -0
  105. package/lib/fragments/toolbar/components/transfer-position-icon/index.d.ts +11 -0
  106. package/lib/fragments/toolbar/components/transfer-position-icon/index.js +46 -0
  107. package/lib/fragments/toolbar/components/wrapper.d.ts +1 -0
  108. package/lib/fragments/toolbar/components/wrapper.js +138 -0
  109. package/lib/fragments/toolbar/hooks.d.ts +16 -0
  110. package/lib/fragments/toolbar/hooks.js +256 -0
  111. package/lib/fragments/toolbar/index.d.ts +12 -0
  112. package/lib/fragments/toolbar/index.js +80 -0
  113. package/lib/fragments/toolbar/store.d.ts +62 -0
  114. package/lib/fragments/toolbar/store.js +297 -0
  115. package/lib/fragments/toolbar/style.css +347 -0
  116. package/lib/fragments/toolbar/view.d.ts +1 -0
  117. package/lib/fragments/toolbar/view.js +36 -0
  118. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +20 -0
  119. package/lib/modules/action-bar/action-bar-collapes-items.js +225 -0
  120. package/lib/modules/action-bar/apps/app-item/index.css +35 -0
  121. package/lib/modules/action-bar/apps/app-item/index.d.ts +12 -0
  122. package/lib/modules/action-bar/apps/app-item/index.js +61 -0
  123. package/lib/modules/action-bar/apps/appitems.d.ts +5 -0
  124. package/lib/modules/action-bar/apps/appitems.js +45 -0
  125. package/lib/modules/action-bar/apps/index.css +8 -0
  126. package/lib/modules/action-bar/apps/index.d.ts +4 -0
  127. package/lib/modules/action-bar/apps/index.js +57 -0
  128. package/lib/modules/action-bar/apps/useAppItemOptions.d.ts +9 -0
  129. package/lib/modules/action-bar/apps/useAppItemOptions.js +29 -0
  130. package/lib/modules/action-bar/apps/useBeautyBackground.d.ts +10 -0
  131. package/lib/modules/action-bar/apps/useBeautyBackground.js +34 -0
  132. package/lib/modules/action-bar/apps/useInterpreter.d.ts +14 -0
  133. package/lib/modules/action-bar/apps/useInterpreter.js +35 -0
  134. package/lib/modules/action-bar/apps/useLiveStreaming.d.ts +16 -0
  135. package/lib/modules/action-bar/apps/useLiveStreaming.js +41 -0
  136. package/lib/modules/action-bar/board/index.d.ts +4 -0
  137. package/lib/modules/action-bar/board/index.js +34 -0
  138. package/lib/modules/action-bar/breakout-room/index.d.ts +4 -0
  139. package/lib/modules/action-bar/breakout-room/index.js +32 -0
  140. package/lib/modules/action-bar/chat/index.css +80 -0
  141. package/lib/modules/action-bar/chat/index.d.ts +5 -0
  142. package/lib/modules/action-bar/chat/index.js +152 -0
  143. package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
  144. package/lib/modules/action-bar/components/apps/app-item/index.js +35 -26
  145. package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
  146. package/lib/modules/action-bar/components/apps/app-list.js +42 -0
  147. package/lib/modules/action-bar/components/apps/appitems.js +2 -5
  148. package/lib/modules/action-bar/components/apps/index.css +1 -0
  149. package/lib/modules/action-bar/components/apps/index.js +7 -4
  150. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
  151. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -7
  152. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
  153. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
  154. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
  155. package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
  156. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
  157. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
  158. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
  159. package/lib/modules/action-bar/components/apps/useWidgetList.js +39 -0
  160. package/lib/modules/action-bar/components/chat/index.css +8 -0
  161. package/lib/modules/action-bar/components/chat/index.js +2 -1
  162. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
  163. package/lib/modules/action-bar/components/collapse/index.js +60 -78
  164. package/lib/modules/action-bar/components/interpreter/index.js +3 -3
  165. package/lib/modules/action-bar/components/item/index.js +1 -3
  166. package/lib/modules/action-bar/components/leave/assign-host.d.ts +3 -0
  167. package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
  168. package/lib/modules/action-bar/components/leave/index.css +126 -0
  169. package/lib/modules/action-bar/components/leave/index.js +0 -2
  170. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +3 -0
  171. package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
  172. package/lib/modules/action-bar/components/more/index.js +13 -7
  173. package/lib/modules/action-bar/components/more/poppover-content.js +0 -4
  174. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +2 -1
  175. package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
  176. package/lib/modules/action-bar/components/notification-bar/index.js +13 -8
  177. package/lib/modules/action-bar/components/participants/index.js +1 -1
  178. package/lib/modules/action-bar/components/screen-share/index.js +1 -1
  179. package/lib/modules/action-bar/components/screen-share/submenu.js +53 -18
  180. package/lib/modules/action-bar/components/security/index.js +8 -2
  181. package/lib/modules/action-bar/components/trigger-output-language/index.js +66 -56
  182. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -21
  183. package/lib/modules/action-bar/context.d.ts +2 -0
  184. package/lib/modules/action-bar/context.js +9 -0
  185. package/lib/modules/action-bar/device/index.css +162 -0
  186. package/lib/modules/action-bar/device/index.d.ts +8 -0
  187. package/lib/modules/action-bar/device/index.js +613 -0
  188. package/lib/modules/action-bar/index.css +8 -0
  189. package/lib/modules/action-bar/index.d.ts +8 -0
  190. package/lib/modules/action-bar/index.js +6 -3
  191. package/lib/modules/action-bar/interpreter/index.d.ts +6 -0
  192. package/lib/modules/action-bar/interpreter/index.js +41 -0
  193. package/lib/modules/action-bar/item-placement.d.ts +7 -0
  194. package/lib/modules/action-bar/item-placement.js +18 -0
  195. package/lib/modules/action-bar/item.d.ts +27 -0
  196. package/lib/modules/action-bar/item.js +159 -0
  197. package/lib/modules/action-bar/leave/assign-host.d.ts +10 -0
  198. package/lib/modules/action-bar/leave/assign-host.js +64 -0
  199. package/lib/modules/action-bar/leave/index.css +126 -0
  200. package/lib/modules/action-bar/leave/index.d.ts +3 -0
  201. package/lib/modules/action-bar/leave/index.js +165 -0
  202. package/lib/modules/action-bar/leave/leave-meeting.d.ts +18 -0
  203. package/lib/modules/action-bar/leave/leave-meeting.js +153 -0
  204. package/lib/modules/action-bar/live-streaming/index.d.ts +4 -0
  205. package/lib/modules/action-bar/live-streaming/index.js +39 -0
  206. package/lib/modules/action-bar/more/index.css +114 -0
  207. package/lib/modules/action-bar/more/index.d.ts +5 -0
  208. package/lib/modules/action-bar/more/index.js +80 -0
  209. package/lib/modules/action-bar/more/poppover-content.d.ts +8 -0
  210. package/lib/modules/action-bar/more/poppover-content.js +400 -0
  211. package/lib/modules/action-bar/participants/index.css +21 -0
  212. package/lib/modules/action-bar/participants/index.d.ts +5 -0
  213. package/lib/modules/action-bar/participants/index.js +82 -0
  214. package/lib/modules/action-bar/record/index.css +39 -0
  215. package/lib/modules/action-bar/record/index.d.ts +5 -0
  216. package/lib/modules/action-bar/record/index.js +161 -0
  217. package/lib/modules/action-bar/record/stop-record-dialog.d.ts +5 -0
  218. package/lib/modules/action-bar/record/stop-record-dialog.js +48 -0
  219. package/lib/modules/action-bar/respond/index.d.ts +4 -0
  220. package/lib/modules/action-bar/respond/index.js +32 -0
  221. package/lib/modules/action-bar/screen-share/index.d.ts +4 -0
  222. package/lib/modules/action-bar/screen-share/index.js +101 -0
  223. package/lib/modules/action-bar/screen-share/submenu.d.ts +1 -0
  224. package/lib/modules/action-bar/screen-share/submenu.js +154 -0
  225. package/lib/modules/action-bar/security/drop-menu.d.ts +1 -0
  226. package/lib/modules/action-bar/security/drop-menu.js +312 -0
  227. package/lib/modules/action-bar/security/index.d.ts +4 -0
  228. package/lib/modules/action-bar/security/index.js +56 -0
  229. package/lib/modules/action-bar/settings/index.d.ts +4 -0
  230. package/lib/modules/action-bar/settings/index.js +41 -0
  231. package/lib/modules/action-bar/smaller.d.ts +1 -0
  232. package/lib/modules/action-bar/smaller.js +52 -0
  233. package/lib/modules/action-bar/store.d.ts +37 -22
  234. package/lib/modules/action-bar/store.js +275 -379
  235. package/lib/modules/action-bar/switch-input-language-room/fcr_translateswitch.png +0 -0
  236. package/lib/modules/action-bar/switch-input-language-room/index.css +86 -0
  237. package/lib/modules/action-bar/switch-input-language-room/index.d.ts +16 -0
  238. package/lib/modules/action-bar/switch-input-language-room/index.js +236 -0
  239. package/lib/modules/action-bar/switch-output-language-room/drop-menu.d.ts +1 -0
  240. package/lib/modules/action-bar/switch-output-language-room/drop-menu.js +197 -0
  241. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.css +18 -0
  242. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.d.ts +14 -0
  243. package/lib/modules/action-bar/switch-output-language-room/guide-tooltip/index.js +72 -0
  244. package/lib/modules/action-bar/switch-output-language-room/index.d.ts +12 -0
  245. package/lib/modules/action-bar/switch-output-language-room/index.js +309 -0
  246. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.css +58 -0
  247. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.d.ts +8 -0
  248. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/interpreter/index.js +100 -0
  249. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.css +56 -0
  250. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.d.ts +5 -0
  251. package/lib/modules/action-bar/switch-output-language-room/notification-bar/components/virtual-image/index.js +33 -0
  252. package/lib/modules/action-bar/switch-output-language-room/notification-bar/dome.png +0 -0
  253. package/lib/modules/action-bar/switch-output-language-room/notification-bar/fcr_translateswitch.png +0 -0
  254. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.css +74 -0
  255. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.d.ts +2 -0
  256. package/lib/modules/action-bar/switch-output-language-room/notification-bar/index.js +99 -0
  257. package/lib/modules/action-bar/type.d.ts +6 -0
  258. package/lib/modules/action-bar/type.js +13 -0
  259. package/lib/modules/action-bar/types.d.ts +8 -13
  260. package/lib/modules/action-bar/view.js +3 -8
  261. package/lib/modules/audio-stream/index.d.ts +6 -1
  262. package/lib/modules/audio-stream/index.js +77 -14
  263. package/lib/modules/chat/chat-bar/index.css +80 -0
  264. package/lib/modules/chat/chat-bar/index.d.ts +11 -0
  265. package/lib/modules/chat/chat-bar/index.js +142 -0
  266. package/lib/modules/chat/chat-room-store.d.ts +4 -7
  267. package/lib/modules/chat/chat-room-store.js +39 -66
  268. package/lib/modules/chat/chat-select/index.css +178 -0
  269. package/lib/modules/chat/chat-select/index.d.ts +12 -0
  270. package/lib/modules/chat/chat-select/index.js +212 -0
  271. package/lib/modules/chat/chat.d.ts +11 -0
  272. package/lib/modules/chat/chat.js +386 -0
  273. package/lib/modules/chat/components/chat-action/index.js +2 -2
  274. package/lib/modules/chat/components/chat-bar/index.css +4 -0
  275. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  276. package/lib/modules/chat/components/chat-bar/index.js +18 -18
  277. package/lib/modules/chat/components/chat-select/index.js +16 -148
  278. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  279. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  280. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  281. package/lib/modules/chat/components/chat-select/select-item/index.js +150 -0
  282. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  283. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  284. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  285. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  286. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  287. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  288. package/lib/modules/chat/components/message-list/index.d.ts +1 -1
  289. package/lib/modules/chat/components/message-list/index.js +55 -360
  290. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  291. package/lib/modules/chat/components/message-list/message-item/index.js +307 -0
  292. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  293. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  294. package/lib/modules/chat/contex.d.ts +2 -0
  295. package/lib/modules/chat/contex.js +9 -0
  296. package/lib/modules/chat/demo-wrapper.d.ts +1 -0
  297. package/lib/modules/chat/demo-wrapper.js +42 -0
  298. package/lib/modules/chat/index.css +9 -0
  299. package/lib/modules/chat/index.d.ts +6 -0
  300. package/lib/modules/chat/index.js +4 -1
  301. package/lib/modules/chat/message-list.d.ts +22 -0
  302. package/lib/modules/chat/message-list.js +630 -0
  303. package/lib/modules/chat/store.d.ts +17 -7
  304. package/lib/modules/chat/store.js +75 -73
  305. package/lib/modules/chat/types.d.ts +7 -7
  306. package/lib/modules/chat/types.js +2 -1
  307. package/lib/modules/chat/view.js +22 -106
  308. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -1
  309. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  310. package/lib/modules/components/device-control/store.d.ts +4 -3
  311. package/lib/modules/components/device-control/store.js +13 -25
  312. package/lib/modules/components/device-control/type.d.ts +6 -0
  313. package/lib/modules/components/device-control/type.js +13 -0
  314. package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
  315. package/lib/modules/components/leave-meeting/index.js +8 -7
  316. package/lib/modules/components/leave-meeting/store.d.ts +15 -7
  317. package/lib/modules/components/leave-meeting/store.js +115 -96
  318. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  319. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  320. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  321. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  322. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  323. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  324. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  325. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  326. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  327. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
  328. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  329. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  330. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  331. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +129 -0
  332. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  333. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  334. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  335. package/lib/modules/components/member-window/components/member-actions/index.js +121 -0
  336. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  337. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  338. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  339. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  340. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  341. package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
  342. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  343. package/lib/modules/components/member-window/components/member-board.js +63 -0
  344. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  345. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  346. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  347. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  348. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  349. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  350. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  351. package/lib/modules/components/member-window/components/video-player/index.js +36 -0
  352. package/lib/modules/components/member-window/index.css +22 -2
  353. package/lib/modules/components/member-window/index.d.ts +10 -75
  354. package/lib/modules/components/member-window/index.js +20 -738
  355. package/lib/modules/components/member-window/types.d.ts +79 -0
  356. package/lib/modules/components/member-window/types.js +6 -0
  357. package/lib/modules/components/security-menu/index.css +0 -2
  358. package/lib/modules/components/security-menu/index.d.ts +5 -1
  359. package/lib/modules/components/security-menu/index.js +38 -63
  360. package/lib/modules/components/tab-frame/index.js +0 -4
  361. package/lib/modules/components/toast/index.css +12 -0
  362. package/lib/modules/components/toast/index.d.ts +10 -0
  363. package/lib/modules/components/toast/index.js +66 -0
  364. package/lib/modules/components/toast/store.d.ts +17 -0
  365. package/lib/modules/components/toast/store.js +149 -0
  366. package/lib/modules/components/toast/view.d.ts +2 -0
  367. package/lib/modules/components/toast/view.js +35 -0
  368. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  369. package/lib/modules/connection-gateway/components/phone/index.js +2 -1
  370. package/lib/modules/connection-gateway/components/tabs/index.css +31 -0
  371. package/lib/modules/connection-gateway/components/tabs/index.d.ts +4 -0
  372. package/lib/modules/connection-gateway/components/tabs/index.js +44 -0
  373. package/lib/modules/connection-gateway/index.d.ts +6 -0
  374. package/lib/modules/connection-gateway/index.js +4 -1
  375. package/lib/modules/connection-gateway/store.d.ts +12 -3
  376. package/lib/modules/connection-gateway/store.js +29 -31
  377. package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
  378. package/lib/modules/control-bar/components/more-actions/index.js +5 -6
  379. package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
  380. package/lib/modules/control-bar/index.css +1 -2
  381. package/lib/modules/control-bar/index.d.ts +14 -0
  382. package/lib/modules/control-bar/index.js +10 -6
  383. package/lib/modules/control-bar/store.d.ts +40 -20
  384. package/lib/modules/control-bar/store.js +156 -192
  385. package/lib/modules/control-bar/type.d.ts +10 -0
  386. package/lib/modules/control-bar/type.js +18 -0
  387. package/lib/modules/control-bar/view.js +64 -26
  388. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  389. package/lib/modules/device-pretest/context.d.ts +2 -0
  390. package/lib/modules/device-pretest/context.js +9 -0
  391. package/lib/modules/device-pretest/settings/beauty.js +2 -1
  392. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  393. package/lib/modules/device-pretest/store.js +0 -2
  394. package/lib/modules/dialog/components/confirm/electron.d.ts +10 -0
  395. package/lib/modules/dialog/components/confirm/electron.js +54 -0
  396. package/lib/modules/dialog/components/connection-gateway/index.css +25 -0
  397. package/lib/modules/dialog/components/control-bar/index.js +1 -0
  398. package/lib/modules/dialog/components/device-setting/index.js +2 -1
  399. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  400. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -4
  401. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
  402. package/lib/modules/dialog/components/dialog-container/index.js +19 -13
  403. package/lib/modules/dialog/components/live-streaming/index.js +4 -2
  404. package/lib/modules/dialog/components/operation-waiting-room/electron.d.ts +5 -0
  405. package/lib/modules/dialog/components/operation-waiting-room/electron.js +42 -0
  406. package/lib/modules/dialog/components/operation-waiting-room/index.css +44 -0
  407. package/lib/modules/dialog/components/operation-waiting-room/index.d.ts +5 -0
  408. package/lib/modules/dialog/components/operation-waiting-room/index.js +156 -0
  409. package/lib/modules/dialog/components/participant/index.js +2 -2
  410. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +12 -0
  411. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +36 -0
  412. package/lib/modules/dialog/components/remove-admit-waiting-room/index.css +50 -0
  413. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +5 -0
  414. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +90 -0
  415. package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
  416. package/lib/modules/dialog/components/switch-language-channels/electron.d.ts +2 -0
  417. package/lib/modules/dialog/components/switch-language-channels/electron.js +72 -0
  418. package/lib/modules/dialog/components/switch-language-channels/index.css +30 -0
  419. package/lib/modules/dialog/components/switch-language-channels/index.d.ts +4 -0
  420. package/lib/modules/dialog/components/switch-language-channels/index.js +63 -0
  421. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.css +36 -0
  422. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.d.ts +3 -0
  423. package/lib/modules/dialog/components/switch-language-channels/user-queue/index.js +47 -0
  424. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  425. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  426. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  427. package/lib/modules/dialog/components/system-preference/electron.js +6 -6
  428. package/lib/modules/dialog/components/system-preference/index.css +3 -0
  429. package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
  430. package/lib/modules/dialog/components/system-preference/index.js +48 -59
  431. package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
  432. package/lib/modules/dialog/components/video-window/index.js +214 -101
  433. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  434. package/lib/modules/dialog/components/widget/electron.js +37 -0
  435. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  436. package/lib/modules/dialog/components/widget/index.js +43 -0
  437. package/lib/modules/dialog/context.d.ts +2 -0
  438. package/lib/modules/dialog/context.js +9 -0
  439. package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
  440. package/lib/modules/dialog/hooks/useElectron.js +209 -17
  441. package/lib/modules/dialog/index.css +1 -11
  442. package/lib/modules/dialog/index.d.ts +9 -6
  443. package/lib/modules/dialog/index.js +12 -14
  444. package/lib/modules/dialog/store.d.ts +26 -10
  445. package/lib/modules/dialog/store.js +150 -85
  446. package/lib/modules/dialog/type.d.ts +84 -0
  447. package/lib/modules/dialog/type.js +6 -0
  448. package/lib/modules/dialog/view.d.ts +1 -4
  449. package/lib/modules/dialog/view.js +14 -10
  450. package/lib/modules/event-confirm/index.css +11 -0
  451. package/lib/modules/event-confirm/index.d.ts +6 -0
  452. package/lib/modules/event-confirm/index.js +3 -2
  453. package/lib/modules/event-confirm/store.d.ts +10 -4
  454. package/lib/modules/event-confirm/store.js +91 -35
  455. package/lib/modules/event-confirm/view.js +65 -29
  456. package/lib/modules/event-notification/context.d.ts +2 -0
  457. package/lib/modules/event-notification/context.js +9 -0
  458. package/lib/modules/event-notification/index.css +58 -0
  459. package/lib/modules/event-notification/index.d.ts +13 -0
  460. package/lib/modules/event-notification/index.js +48 -0
  461. package/lib/modules/event-notification/store.d.ts +17 -0
  462. package/lib/modules/event-notification/store.js +133 -0
  463. package/lib/modules/event-notification/view.d.ts +5 -0
  464. package/lib/modules/event-notification/view.js +114 -0
  465. package/lib/modules/event-toast/context.d.ts +2 -0
  466. package/lib/modules/event-toast/context.js +9 -0
  467. package/lib/modules/event-toast/store.js +4 -4
  468. package/lib/modules/event-toast/view.js +2 -1
  469. package/lib/modules/interpreter/action/edit-btn/index.css +3 -0
  470. package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
  471. package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
  472. package/lib/modules/interpreter/add-button/index.css +4 -0
  473. package/lib/modules/interpreter/add-button/index.d.ts +11 -0
  474. package/lib/modules/interpreter/add-button/index.js +43 -0
  475. package/lib/modules/interpreter/config.d.ts +16 -0
  476. package/lib/modules/interpreter/config.js +17 -0
  477. package/lib/modules/interpreter/constant.d.ts +51 -0
  478. package/lib/modules/interpreter/constant.js +58 -0
  479. package/lib/modules/interpreter/footer/components/interpreter-btn/index.d.ts +5 -0
  480. package/lib/modules/interpreter/footer/components/interpreter-btn/index.js +53 -0
  481. package/lib/modules/interpreter/footer/components/set-btn/index.d.ts +5 -0
  482. package/lib/modules/interpreter/footer/components/set-btn/index.js +49 -0
  483. package/lib/modules/interpreter/footer/components/tooltip-wrapper/index.d.ts +6 -0
  484. package/lib/modules/interpreter/footer/components/tooltip-wrapper/index.js +30 -0
  485. package/lib/modules/interpreter/index.css +15 -0
  486. package/lib/modules/interpreter/index.d.ts +5 -1
  487. package/lib/modules/interpreter/index.js +4 -2
  488. package/lib/modules/interpreter/interpreter-list/index.js +2 -2
  489. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +5 -8
  490. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  491. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -9
  492. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
  493. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
  494. package/lib/modules/interpreter/store.d.ts +8 -5
  495. package/lib/modules/interpreter/store.js +90 -44
  496. package/lib/modules/interpreter/type.d.ts +5 -1
  497. package/lib/modules/interpreter/utils.d.ts +0 -1
  498. package/lib/modules/interpreter/utils.js +2 -23
  499. package/lib/modules/interpreter/view.js +2 -6
  500. package/lib/modules/invite/context.d.ts +2 -0
  501. package/lib/modules/invite/context.js +9 -0
  502. package/lib/modules/invite/enums.js +1 -0
  503. package/lib/modules/invite/index.d.ts +4 -0
  504. package/lib/modules/invite/index.js +3 -1
  505. package/lib/modules/invite/pstn-invite.d.ts +2 -0
  506. package/lib/modules/invite/pstn-invite.js +271 -0
  507. package/lib/modules/invite/store.d.ts +11 -2
  508. package/lib/modules/invite/store.js +28 -5
  509. package/lib/modules/invite/voip-invite.d.ts +1 -0
  510. package/lib/modules/invite/voip-invite.js +293 -0
  511. package/lib/modules/layout/components/Aside.js +1 -1
  512. package/lib/modules/layout/components/Carousel.js +38 -15
  513. package/lib/modules/layout/components/Gallery.js +35 -13
  514. package/lib/modules/layout/components/Layout.d.ts +2 -0
  515. package/lib/modules/layout/components/Layout.js +190 -0
  516. package/lib/modules/layout/components/index.js +0 -1
  517. package/lib/modules/layout/context.d.ts +2 -0
  518. package/lib/modules/layout/context.js +9 -0
  519. package/lib/modules/layout/index.css +2 -2
  520. package/lib/modules/layout/index.d.ts +6 -0
  521. package/lib/modules/layout/index.js +4 -1
  522. package/lib/modules/layout/member-window/index.css +406 -0
  523. package/lib/modules/layout/member-window/index.d.ts +74 -0
  524. package/lib/modules/layout/member-window/index.js +881 -0
  525. package/lib/modules/layout/store.d.ts +23 -10
  526. package/lib/modules/layout/store.js +184 -166
  527. package/lib/modules/layout/type.d.ts +2 -0
  528. package/lib/modules/layout/type.js +2 -0
  529. package/lib/modules/layout/video-window-datasource.d.ts +127 -0
  530. package/lib/modules/layout/video-window-datasource.js +1121 -0
  531. package/lib/modules/live-streaming/context.d.ts +2 -0
  532. package/lib/modules/live-streaming/context.js +9 -0
  533. package/lib/modules/live-streaming/index.d.ts +2 -0
  534. package/lib/modules/live-streaming/index.js +2 -2
  535. package/lib/modules/live-streaming/store.d.ts +4 -8
  536. package/lib/modules/live-streaming/store.js +9 -20
  537. package/lib/modules/notification/index.css +17 -0
  538. package/lib/modules/notification/interpreter-status/index.js +2 -1
  539. package/lib/modules/notification/store.js +4 -2
  540. package/lib/modules/notification/view.js +7 -2
  541. package/lib/modules/offscreen-pulling/index.d.ts +1 -0
  542. package/lib/modules/offscreen-pulling/index.js +4 -1
  543. package/lib/modules/participant/attendee/index.css +69 -0
  544. package/lib/modules/participant/attendee/index.d.ts +36 -0
  545. package/lib/modules/participant/attendee/index.js +398 -0
  546. package/lib/modules/participant/attendee/user-more-actions.d.ts +22 -0
  547. package/lib/modules/participant/attendee/user-more-actions.js +76 -0
  548. package/lib/modules/participant/can-moveable/index.d.ts +1 -0
  549. package/lib/modules/participant/can-moveable/index.js +68 -0
  550. package/lib/modules/participant/components/attendee/index.js +0 -3
  551. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  552. package/lib/modules/participant/components/confirm-input/index.js +50 -0
  553. package/lib/modules/participant/components/drop-menu/index.js +0 -3
  554. package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
  555. package/lib/modules/participant/components/mute-all/index.js +21 -33
  556. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  557. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  558. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  559. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  560. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +163 -0
  561. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  562. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  563. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  564. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  565. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  566. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  567. package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
  568. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  569. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  570. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  571. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  572. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +202 -0
  573. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  574. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  575. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +217 -0
  576. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  577. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +68 -0
  578. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  579. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  580. package/lib/modules/participant/components/participants/components/participants/index.js +108 -0
  581. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  582. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  583. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  584. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +47 -0
  585. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  586. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  587. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  588. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  589. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  590. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  591. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +133 -0
  592. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  593. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  594. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  595. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  596. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  597. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  598. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  599. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  600. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  601. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  602. package/lib/modules/participant/components/participants/index.js +18 -112
  603. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  604. package/lib/modules/participant/components/participants/types.js +37 -0
  605. package/lib/modules/participant/components/user-action/index.js +0 -2
  606. package/lib/modules/participant/context.d.ts +2 -0
  607. package/lib/modules/participant/context.js +9 -0
  608. package/lib/modules/participant/index.css +3 -0
  609. package/lib/modules/participant/index.d.ts +12 -0
  610. package/lib/modules/participant/index.js +7 -3
  611. package/lib/modules/participant/member-list-data-source.d.ts +2 -2
  612. package/lib/modules/participant/member-list-data-source.js +11 -20
  613. package/lib/modules/participant/room-control-drop-menu/index.css +56 -0
  614. package/lib/modules/participant/room-control-drop-menu/index.d.ts +2 -0
  615. package/lib/modules/participant/room-control-drop-menu/index.js +188 -0
  616. package/lib/modules/participant/store.d.ts +44 -36
  617. package/lib/modules/participant/store.js +527 -535
  618. package/lib/modules/participant/type.d.ts +2 -9
  619. package/lib/modules/pc-audio-connect/store.d.ts +1 -1
  620. package/lib/modules/pc-audio-connect/store.js +9 -7
  621. package/lib/modules/phone-audio-connect/components/callinfo/index.js +2 -1
  622. package/lib/modules/phone-audio-connect/store.js +0 -3
  623. package/lib/modules/phone-audio-connect/view.js +2 -1
  624. package/lib/modules/setting/audio-settings/audio-settings.js +6 -5
  625. package/lib/modules/setting/audio-settings/index.css +11 -2
  626. package/lib/modules/setting/config.js +1 -1
  627. package/lib/modules/setting/context.d.ts +2 -0
  628. package/lib/modules/setting/context.js +9 -0
  629. package/lib/modules/setting/minutes-settings/minutes-settings.js +2 -1
  630. package/lib/modules/setting/state/index.js +0 -4
  631. package/lib/modules/setting/store.d.ts +1 -0
  632. package/lib/modules/setting/store.js +24 -10
  633. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  634. package/lib/modules/setting/video-settings/index.css +12 -17
  635. package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
  636. package/lib/modules/share-screen/components/selection/index.js +71 -81
  637. package/lib/modules/share-screen/index.d.ts +6 -1
  638. package/lib/modules/share-screen/index.js +4 -1
  639. package/lib/modules/share-screen/selection/index.css +68 -0
  640. package/lib/modules/share-screen/selection/index.d.ts +9 -0
  641. package/lib/modules/share-screen/selection/index.js +273 -0
  642. package/lib/modules/share-screen/share-state-bar/index.css +76 -0
  643. package/lib/modules/share-screen/share-state-bar/index.d.ts +4 -0
  644. package/lib/modules/share-screen/share-state-bar/index.js +98 -0
  645. package/lib/modules/share-screen/store.d.ts +37 -33
  646. package/lib/modules/share-screen/store.js +311 -429
  647. package/lib/modules/sound-effect/index.js +0 -1
  648. package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
  649. package/lib/modules/sound-effect/sound-effect-player.js +4 -4
  650. package/lib/modules/state-bar/context.d.ts +2 -0
  651. package/lib/modules/state-bar/context.js +9 -0
  652. package/lib/modules/state-bar/index.css +2 -15
  653. package/lib/modules/state-bar/index.d.ts +10 -0
  654. package/lib/modules/state-bar/index.js +6 -1
  655. package/lib/modules/state-bar/layout-config.js +2 -1
  656. package/lib/modules/state-bar/live-streaming-state.js +0 -18
  657. package/lib/modules/state-bar/meeting-details.js +10 -23
  658. package/lib/modules/state-bar/meeting-time.js +5 -10
  659. package/lib/modules/state-bar/store.d.ts +30 -7
  660. package/lib/modules/state-bar/store.js +145 -100
  661. package/lib/modules/state-bar/view.js +63 -32
  662. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  663. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  664. package/lib/modules/video-window/components/members/index.css +51 -0
  665. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  666. package/lib/modules/video-window/components/members/index.js +132 -0
  667. package/lib/modules/video-window/components/speaking/index.css +86 -0
  668. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  669. package/lib/modules/video-window/components/speaking/index.js +48 -0
  670. package/lib/modules/video-window/components/topControl/index.css +35 -0
  671. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  672. package/lib/modules/video-window/components/topControl/index.js +77 -0
  673. package/lib/modules/video-window/context.d.ts +2 -0
  674. package/lib/modules/video-window/context.js +9 -0
  675. package/lib/modules/video-window/index.d.ts +7 -0
  676. package/lib/modules/video-window/index.js +14 -20
  677. package/lib/modules/video-window/members/index.js +2 -1
  678. package/lib/modules/video-window/store.d.ts +19 -88
  679. package/lib/modules/video-window/store.js +98 -369
  680. package/lib/modules/video-window/topControl/index.js +0 -2
  681. package/lib/modules/video-window/type.d.ts +40 -4
  682. package/lib/modules/video-window/type.js +4 -4
  683. package/lib/modules/video-window/view.js +11 -23
  684. package/lib/modules/waiting-room-layout/context.d.ts +2 -0
  685. package/lib/modules/waiting-room-layout/context.js +9 -0
  686. package/lib/modules/waiting-room-layout/type.d.ts +0 -0
  687. package/lib/modules/waiting-room-layout/type.js +1 -0
  688. package/lib/modules/whiteboard/app.d.ts +2 -0
  689. package/lib/modules/whiteboard/app.js +49 -0
  690. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  691. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  692. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  693. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  694. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +1 -1
  695. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  696. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -1
  697. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +2 -1
  698. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +0 -2
  699. package/lib/modules/whiteboard/components/toolbar/index.js +1 -4
  700. package/lib/modules/whiteboard/index.d.ts +1 -0
  701. package/lib/modules/whiteboard/index.js +7 -8
  702. package/lib/modules/widget/index.css +17 -0
  703. package/lib/modules/widget/index.d.ts +10 -0
  704. package/lib/modules/widget/index.js +114 -0
  705. package/lib/modules/widget/sdk.d.ts +30 -0
  706. package/lib/modules/widget/sdk.js +224 -0
  707. package/lib/modules/widget/store.d.ts +14 -0
  708. package/lib/modules/widget/store.js +28 -0
  709. package/lib/modules/widget/type.d.ts +156 -0
  710. package/lib/modules/widget/type.js +6 -0
  711. package/lib/modules/widget/view.d.ts +2 -0
  712. package/lib/modules/widget/view.js +47 -0
  713. package/lib/modules/widget/web-widget.d.ts +29 -0
  714. package/lib/modules/widget/web-widget.js +234 -0
  715. package/lib/providers/ability-provider.d.ts +24 -0
  716. package/lib/providers/ability-provider.js +38 -0
  717. package/lib/providers/chat-provider.d.ts +16 -9
  718. package/lib/providers/chat-provider.js +76 -8
  719. package/lib/providers/device-privilege-provider.d.ts +5 -1
  720. package/lib/providers/device-privilege-provider.js +21 -3
  721. package/lib/providers/device-provider.js +5 -7
  722. package/lib/providers/device-stream-provider.d.ts +15 -3
  723. package/lib/providers/device-stream-provider.js +116 -35
  724. package/lib/providers/dialog-provider.d.ts +9 -8
  725. package/lib/providers/dialog-provider.js +8 -6
  726. package/lib/providers/event-provider.js +4 -4
  727. package/lib/providers/interpreter-provider.d.ts +7 -26
  728. package/lib/providers/interpreter-provider.js +473 -709
  729. package/lib/providers/local-storage-provider.d.ts +6 -1
  730. package/lib/providers/local-storage-provider.js +15 -2
  731. package/lib/providers/message-provider.js +4 -4
  732. package/lib/providers/phone-audio-provider.js +24 -21
  733. package/lib/providers/privilege-provider.d.ts +13 -12
  734. package/lib/providers/privilege-provider.js +19 -15
  735. package/lib/providers/renderer-provider.d.ts +5 -0
  736. package/lib/providers/renderer-provider.js +8 -2
  737. package/lib/providers/room-provider.d.ts +7 -17
  738. package/lib/providers/room-provider.js +113 -164
  739. package/lib/providers/screen-share-provider.d.ts +19 -0
  740. package/lib/providers/screen-share-provider.js +100 -11
  741. package/lib/providers/widget-provider.d.ts +52 -0
  742. package/lib/providers/widget-provider.js +170 -0
  743. package/lib/scenes/main-scene.d.ts +11 -0
  744. package/lib/scenes/main-scene.js +60 -35
  745. package/lib/scenes/waiting-scene.d.ts +9 -0
  746. package/lib/scenes/waiting-scene.js +27 -26
  747. package/lib/schema.d.ts +114 -0
  748. package/lib/schema.js +77 -0
  749. package/lib/shared-data-source/chat-data.d.ts +11 -0
  750. package/lib/shared-data-source/chat-data.js +17 -8
  751. package/lib/shared-data-source/interpreter.d.ts +34 -21
  752. package/lib/shared-data-source/interpreter.js +103 -104
  753. package/lib/shared-data-source/layout-data.js +1 -4
  754. package/lib/shared-data-source/meeting-time.d.ts +68 -0
  755. package/lib/shared-data-source/meeting-time.js +299 -0
  756. package/lib/shared-data-source/member-data.d.ts +126 -0
  757. package/lib/shared-data-source/member-data.js +463 -0
  758. package/lib/shared-data-source/pin-data.d.ts +8 -4
  759. package/lib/shared-data-source/pin-data.js +91 -4
  760. package/lib/shared-data-source/security-data.d.ts +35 -0
  761. package/lib/shared-data-source/security-data.js +155 -0
  762. package/lib/shared-data-source/setting.d.ts +3 -1
  763. package/lib/shared-data-source/setting.js +12 -3
  764. package/lib/shared-data-source/video-window.d.ts +7 -8
  765. package/lib/shared-data-source/video-window.js +97 -98
  766. package/lib/shared-data-source/waiting-room.d.ts +29 -2
  767. package/lib/shared-data-source/waiting-room.js +102 -40
  768. package/lib/translations/enUS.d.ts +25 -12
  769. package/lib/translations/enUS.js +49 -34
  770. package/lib/translations/zhCN.d.ts +25 -12
  771. package/lib/translations/zhCN.js +63 -48
  772. package/lib/type.d.ts +64 -48
  773. package/lib/type.js +28 -1
  774. package/lib/ui-manager.d.ts +3 -2
  775. package/lib/ui-manager.js +8 -7
  776. package/lib/ui-scene.d.ts +7 -1
  777. package/lib/ui-scene.js +187 -98
  778. package/lib/utilities/constant.d.ts +5 -2
  779. package/lib/utilities/constant.js +10 -0
  780. package/lib/utilities/default-config.d.ts +5 -1
  781. package/lib/utilities/default-config.js +28 -2
  782. package/lib/utilities/extract.d.ts +5 -0
  783. package/lib/utilities/extract.js +120 -0
  784. package/lib/utilities/logger.d.ts +8 -0
  785. package/lib/utilities/logger.js +41 -0
  786. package/lib/utilities/meeting-detail.js +11 -10
  787. package/lib/utilities/parameters.d.ts +4 -0
  788. package/lib/utilities/parameters.js +13 -1
  789. package/lib/utilities/privilege.js +0 -2
  790. package/lib/utilities/renderer-event.js +0 -2
  791. package/lib/utilities/renderer.js +0 -1
  792. package/lib/utilities/setting-config-storage.js +0 -2
  793. package/lib/utilities/tools.d.ts +7 -6
  794. package/lib/utilities/tools.js +2 -9
  795. package/lib/utilities/validate-params.d.ts +2 -0
  796. package/lib/utilities/validate-params.js +16 -0
  797. package/lib/waiting-room-control-manager.d.ts +28 -0
  798. package/lib/waiting-room-control-manager.js +210 -0
  799. package/lib/widget-sdk.d.ts +2 -0
  800. package/lib/widget-sdk.js +13 -0
  801. package/package.json +7 -6
  802. package/public/index.html +7 -1
  803. package/installer/icons/icon.png +0 -0
@@ -0,0 +1,630 @@
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.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/es.weak-map.js");
13
+ require("core-js/modules/esnext.async-iterator.filter.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.filter.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
18
+ require("core-js/modules/esnext.weak-map.delete-all.js");
19
+ require("core-js/modules/esnext.weak-map.emplace.js");
20
+ require("core-js/modules/web.dom-collections.for-each.js");
21
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
22
+ var _typeof = require("@babel/runtime/helpers/typeof");
23
+ Object.defineProperty(exports, "__esModule", {
24
+ value: true
25
+ });
26
+ exports.MessageList = void 0;
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
30
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
31
+ require("core-js/modules/es.array.concat.js");
32
+ require("core-js/modules/es.array.find-index.js");
33
+ require("core-js/modules/es.array.iterator.js");
34
+ require("core-js/modules/es.map.js");
35
+ require("core-js/modules/es.object.to-string.js");
36
+ require("core-js/modules/es.string.iterator.js");
37
+ require("core-js/modules/esnext.map.delete-all.js");
38
+ require("core-js/modules/esnext.map.emplace.js");
39
+ require("core-js/modules/esnext.map.every.js");
40
+ require("core-js/modules/esnext.map.filter.js");
41
+ require("core-js/modules/esnext.map.find.js");
42
+ require("core-js/modules/esnext.map.find-key.js");
43
+ require("core-js/modules/esnext.map.includes.js");
44
+ require("core-js/modules/esnext.map.key-of.js");
45
+ require("core-js/modules/esnext.map.map-keys.js");
46
+ require("core-js/modules/esnext.map.map-values.js");
47
+ require("core-js/modules/esnext.map.merge.js");
48
+ require("core-js/modules/esnext.map.reduce.js");
49
+ require("core-js/modules/esnext.map.some.js");
50
+ require("core-js/modules/esnext.map.update.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 _store = require("./store");
63
+ var _i18n = require("agora-ui-foundation/lib/i18n");
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 _jsxRuntime = require("react/jsx-runtime");
74
+ 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); }
75
+ 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; }
76
+ 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; }
77
+ 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 条,点击需要回到底部,如果此时有新的消息,那么展示未读的新消息
78
+ // 当滚动条在最底部时,有新消息时,自动滚动到最新消息
79
+ // 初始化时,如果有历史消息未读,展示未读条数,并且要回到指定的位置
80
+ // 消息列表
81
+ // 显示的消息列表
82
+ // 未读消息列表
83
+ var genRequestAnimationFrame = function genRequestAnimationFrame(cb) {
84
+ return (0, _env.isElectron)() && (0, _platform.isWindows)() ? setTimeout(cb, 0) : requestAnimationFrame(cb);
85
+ };
86
+ var MessageList = exports.MessageList = (0, _mobxReact.observer)(function (_ref) {
87
+ var styles = _ref.styles,
88
+ updateReadMsgIndex = _ref.updateReadMsgIndex,
89
+ localUserId = _ref.userId,
90
+ setMultiSelectActive = _ref.setMultiSelectActive,
91
+ multiSelectActive = _ref.multiSelectActive,
92
+ copyMap = _ref.copyMap,
93
+ setCopyMap = _ref.setCopyMap,
94
+ selectCnt = _ref.selectCnt,
95
+ copyTips = _ref.copyTips;
96
+ var t = (0, _i18n.useI18n)();
97
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
98
+ chatRoomStores = _useContext.chatRoomStores,
99
+ activeTabIndex = _useContext.activeTabIndex;
100
+ var _ref2 = chatRoomStores[activeTabIndex],
101
+ storeMsgs = _ref2.messageList,
102
+ readMsgIndex = _ref2.readMsgIndex,
103
+ needCbBottomCount = _ref2.needCbBottomCount,
104
+ list = _ref2.list,
105
+ mostRecentHeight = _ref2.mostRecentHeight,
106
+ mostRecentWidth = _ref2.mostRecentWidth,
107
+ cache = _ref2.cache,
108
+ scrollHeight = _ref2.scrollHeight,
109
+ scrollTop = _ref2.scrollTop,
110
+ clientHeight = _ref2.clientHeight,
111
+ firstMsgId = _ref2.firstMsgId,
112
+ readIdx = _ref2.readIdx,
113
+ viewIdx = _ref2.viewIdx,
114
+ historyUnReadCount = _ref2.historyUnreadCount,
115
+ hasHistoryMsg = _ref2.hasHistoryMsg,
116
+ newMsgsUnReadCnt = _ref2.newMsgsUnReadCnt,
117
+ isHost = _ref2.isHost,
118
+ isCohost = _ref2.isCohost,
119
+ initReadInfo = _ref2.initReadInfo,
120
+ updateScrollInfo = _ref2.updateScrollInfo,
121
+ updateHasHistoryMsg = _ref2.updateHasHistoryMsg,
122
+ updateHistoryCnt = _ref2.updateHistoryUnreadCnt,
123
+ updateViewIdx = _ref2.updateViewIdx,
124
+ updateReadIdx = _ref2.updateReadIdx,
125
+ updateFirstMsgId = _ref2.updateFirstMsgId,
126
+ updateHistoryUnReadCount = _ref2.updateHistoryUnReadCount,
127
+ updateList = _ref2.updateList,
128
+ updateMostRecentHeight = _ref2.updateMostRecentHeight,
129
+ updateMostRecentWidth = _ref2.updateMostRecentWidth,
130
+ forceNotifyMsgs = _ref2.forceNotifyMsgs,
131
+ permitPrivateChat = _ref2.permitPrivateChat,
132
+ lastScrollTop = _ref2.lastScrollTop,
133
+ setLastScrollTop = _ref2.setLastScrollTop;
134
+ var _useState = (0, _react.useState)(storeMsgs !== null && storeMsgs !== void 0 ? storeMsgs : []),
135
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
136
+ messageList = _useState2[0],
137
+ setMessageList = _useState2[1];
138
+ var _useState3 = (0, _react.useState)(messageList.length - 1),
139
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
140
+ scrollIndex = _useState4[0],
141
+ setScrollIndex = _useState4[1];
142
+ var firstRowsRendered = undefined;
143
+ var _useState5 = (0, _react.useState)(false),
144
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
145
+ latestBtnVisible = _useState6[0],
146
+ setLatestBtnVisible = _useState6[1];
147
+ var latestBtnVisibleFlag = false;
148
+ var _useState7 = (0, _react.useState)(false),
149
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
150
+ historyMsgVisible = _useState8[0],
151
+ setHistoryMsgVisible = _useState8[1];
152
+ var latestBtnVisibleTimer = undefined;
153
+ // const [checkboxVisible, setCheckboxVisible] = useState<boolean>(false);
154
+ // const [copyMap, setCopyMap] = useState<Map<number, boolean>>(new Map());
155
+
156
+ (0, _react.useEffect)(function () {
157
+ initReadInfo();
158
+ return function () {
159
+ updateReadInfo();
160
+ clearTimeout(latestBtnVisibleTimer);
161
+ };
162
+ }, []);
163
+ var updateReadInfo = function updateReadInfo(data) {
164
+ updateReadMsgIndex && messageList.length > 0 && updateReadMsgIndex(data);
165
+ updateHistoryUnReadCount(0);
166
+ updateHasHistoryMsg(false);
167
+ };
168
+ (0, _react.useEffect)(function () {
169
+ setMessageList(storeMsgs);
170
+ }, [storeMsgs]);
171
+ (0, _react.useEffect)(function () {
172
+ // 视口位置在最底部时, 滚动到最新消息
173
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < cache.rowHeight({
174
+ index: readIdx
175
+ });
176
+ if (isBottom) {
177
+ genRequestAnimationFrame(function () {
178
+ scrollToIdx(messageList.length - 1);
179
+ });
180
+ } else {
181
+ var len = messageList.length;
182
+ if (readMsgIndex.index === len - 2 && messageList[len - 1].uid === localUserId) {
183
+ scrollToIdx(len - 1);
184
+ }
185
+ }
186
+
187
+ // TODO: 优化, 消息队列中, 后部分消息高度不会变, 是否可以使用 cache 中已有的高度?
188
+ // 消息列表从头更新, 重新计算每条消息的高度
189
+ if (firstMsgId && messageList[0].id !== firstMsgId) {
190
+ var _messageList$;
191
+ cache.clearAll();
192
+ list === null || list === void 0 || list.recomputeRowHeights();
193
+ updateFirstMsgId((_messageList$ = messageList[0]) === null || _messageList$ === void 0 ? void 0 : _messageList$.id);
194
+ }
195
+ var last2Idx = messageList.length - 2;
196
+ if (last2Idx >= 0) {
197
+ // 防止 margin 堆叠, 动态计算倒数第二条消息高度
198
+ cache.clear(last2Idx, 0);
199
+ list === null || list === void 0 || list.recomputeRowHeights(last2Idx);
200
+ }
201
+ }, [messageList]);
202
+ (0, _react.useEffect)(function () {
203
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
204
+ if (newMsgsUnReadCnt === 0 || isBottom) {
205
+ return;
206
+ }
207
+ // 当有新消息来时,视口不在底部,需要提示有新消息
208
+ setLatestBtnVisible(true);
209
+ latestBtnVisibleFlag = true;
210
+ scrollToIdx(viewIdx);
211
+ }, [newMsgsUnReadCnt]);
212
+ var handleCopyMsg = /*#__PURE__*/function () {
213
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(msg, time, publisherNickName, targetNickname) {
214
+ var msgHandled;
215
+ return _regenerator["default"].wrap(function _callee$(_context) {
216
+ while (1) switch (_context.prev = _context.next) {
217
+ case 0:
218
+ 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);
219
+ _context.next = 3;
220
+ return (0, _copyText.copyText)(msgHandled);
221
+ case 3:
222
+ copyTips === null || copyTips === void 0 || copyTips();
223
+ case 4:
224
+ case "end":
225
+ return _context.stop();
226
+ }
227
+ }, _callee);
228
+ }));
229
+ return function handleCopyMsg(_x, _x2, _x3, _x4) {
230
+ return _ref3.apply(this, arguments);
231
+ };
232
+ }();
233
+ var handleSelectMsg = function handleSelectMsg(idx, checked) {
234
+ var _copyMap = new Map(copyMap);
235
+ if (checked) {
236
+ _copyMap === null || _copyMap === void 0 || _copyMap.set(idx, checked);
237
+ setCopyMap && setCopyMap(_copyMap !== null && _copyMap !== void 0 ? _copyMap : new Map());
238
+ } else {
239
+ _copyMap["delete"](idx);
240
+ setCopyMap && setCopyMap(_copyMap !== null && _copyMap !== void 0 ? _copyMap : new Map());
241
+ }
242
+
243
+ // const _scrollTop = list?.getOffsetForRow({ index: idx });
244
+ // cache.clear(idx, 0);
245
+ // // TODO: 宽高改变后需要回到视口位置
246
+ // // 强制渲染列表
247
+ // list?.recomputeRowHeights(idx);
248
+ // list?.scrollToPosition(_scrollTop);
249
+ };
250
+ var rowRenderer = function rowRenderer(messageList) {
251
+ return function (_ref4) {
252
+ var _arr, _arr2, _arr3, _arr4, _datum$img;
253
+ var index = _ref4.index,
254
+ key = _ref4.key,
255
+ parent = _ref4.parent,
256
+ style = _ref4.style;
257
+ var datum = messageList[index % messageList.length];
258
+ var publisherRole = datum.role,
259
+ time = datum.time,
260
+ _datum$msg = datum.msg,
261
+ msg = _datum$msg === void 0 ? '' : _datum$msg,
262
+ color = datum.color,
263
+ publisherNickName = datum.nickName,
264
+ publisherUid = datum.uid,
265
+ isPrivate = datum.isPrivate,
266
+ targetNickname = datum.target,
267
+ chatLevel = datum.chatLevel;
268
+ var arr = messageList;
269
+ var idx = index;
270
+ var systemMsg = datum.systemMsg;
271
+ var publisherIsSelf = publisherUid === localUserId;
272
+ var checked = (copyMap === null || copyMap === void 0 ? void 0 : copyMap.get(idx)) || false;
273
+ var checkDisabled = (selectCnt !== null && selectCnt !== void 0 ? selectCnt : 0) >= _multiSelect.MAX_SELECT_CNT && !checked;
274
+ 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;
275
+ var isManager = publisherRole === 'host' || publisherRole === 'union-host';
276
+ var isFile = datum !== null && datum !== void 0 && (_datum$img = datum.img) !== null && _datum$img !== void 0 && _datum$img.url ? true : false;
277
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.CellMeasurer, {
278
+ cache: cache,
279
+ columnIndex: 0,
280
+ rowIndex: index,
281
+ parent: parent,
282
+ children: function children() {
283
+ var _arr5, _datum$img2, _arr6;
284
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
285
+ style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, style), {}, {
286
+ display: 'flex',
287
+ flexDirection: 'column'
288
+ }, systemMsg ? {
289
+ width: '100%'
290
+ } : {
291
+ width: 'auto'
292
+ }), systemMsg ? {} : publisherIsSelf ? {
293
+ marginRight: 15,
294
+ marginLeft: multiSelectActive ? 8 : 25,
295
+ alignItems: 'flex-end',
296
+ right: 0
297
+ } : {
298
+ marginRight: 15,
299
+ marginLeft: multiSelectActive ? 8 : 15,
300
+ alignItems: 'flex-start'
301
+ }), index === 0 ? {
302
+ paddingTop: 10
303
+ } : {}),
304
+ id: String(idx),
305
+ children: systemMsg ? publisherRole === 'system' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
306
+ txt: (0, _util.handleMessageTime)(time),
307
+ type: "transparent",
308
+ bold: true,
309
+ lineHeight: "small",
310
+ styles: {
311
+ marginBottom: 16
312
+ }
313
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
314
+ txt: "".concat((0, _util.handleChatLevelChangedSystemMsg)(t, chatLevel, publisherRole, publisherNickName, publisherIsSelf)),
315
+ marginBottom: 15
316
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
317
+ children: [needLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageLabel.MessageLabel, {
318
+ handleClickPrivateChat: function handleClickPrivateChat() {
319
+ _handleClickPrivateChat(publisherUid);
320
+ },
321
+ styles: {
322
+ marginLeft: publisherUid !== localUserId && multiSelectActive ? 24 : 0
323
+ },
324
+ color: color,
325
+ time: (0, _util.handleMessageTime)(time),
326
+ publisher: publisherNickName,
327
+ avatar: publisherUid !== localUserId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
328
+ size: 24,
329
+ textSize: 24,
330
+ nickName: publisherNickName
331
+ }) : null,
332
+ publisherIsSelf: publisherIsSelf,
333
+ targetIsSelf: isPrivate,
334
+ target: targetNickname || _store.allToUser.userName,
335
+ isPrivate: isPrivate,
336
+ tag: isManager ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
337
+ className: (0, _classnames["default"])('fcr-msg-tag', {
338
+ 'fcr-msg-tag--union': publisherRole === 'union-host'
339
+ }),
340
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
341
+ children: publisherRole === 'host' ? t('fmt_role_host') : t('fmt_role_cohost')
342
+ })
343
+ }) : null
344
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
345
+ className: "fcr-line-message",
346
+ style: {
347
+ display: 'flex',
348
+ alignItems: 'center',
349
+ justifyContent: publisherIsSelf ? multiSelectActive ? 'space-between' : 'flex-end' : 'flex-start',
350
+ flexDirection: 'row',
351
+ width: '100%'
352
+ },
353
+ children: [multiSelectActive && !systemMsg && /*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectCheckbox.MultiSelectCheckbox, {
354
+ self: publisherIsSelf,
355
+ checked: checked,
356
+ nextMsgBelongSameUser: ((_arr5 = arr[idx + 1]) === null || _arr5 === void 0 ? void 0 : _arr5.uid) === publisherUid,
357
+ checkDisabled: checkDisabled || isFile,
358
+ onChange: function onChange(checked) {
359
+ handleSelectMsg(idx, checked);
360
+ }
361
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
362
+ onClick: function onClick() {
363
+ if (!multiSelectActive || checkDisabled) {
364
+ return;
365
+ }
366
+ var newChecked = !checked;
367
+ handleSelectMsg(idx, newChecked);
368
+ },
369
+ style: {
370
+ // marginLeft: uid !== userId && multiSelectActive ? 24 : 0,
371
+ },
372
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageBubble.MessageBubble, {
373
+ file: datum === null || datum === void 0 || (_datum$img2 = datum.img) === null || _datum$img2 === void 0 ? void 0 : _datum$img2.url,
374
+ msg: msg,
375
+ role: publisherRole,
376
+ isSelf: publisherIsSelf
377
+ // 消息间间距
378
+ ,
379
+ marginBottom: ((_arr6 = arr[idx + 1]) === null || _arr6 === void 0 ? void 0 : _arr6.uid) === publisherUid ? 'small' : 'large',
380
+ styles: {
381
+ marginLeft: publisherUid !== localUserId && !multiSelectActive ? 34 : 0,
382
+ width: 'auto'
383
+ },
384
+ onCopy: (/*#__PURE__*/function () {
385
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(type) {
386
+ var currentScrollTop;
387
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
388
+ while (1) switch (_context2.prev = _context2.next) {
389
+ case 0:
390
+ if (!(type === 'singling')) {
391
+ _context2.next = 5;
392
+ break;
393
+ }
394
+ _context2.next = 3;
395
+ return handleCopyMsg(msg, (0, _util.handleMessageTime)(time), publisherIsSelf && isPrivate ? t('fmt_settings_labels_you') : publisherNickName, // 你
396
+ targetNickname !== null && targetNickname !== void 0 ? targetNickname : _store.allToUser.userName);
397
+ case 3:
398
+ _context2.next = 6;
399
+ break;
400
+ case 5:
401
+ if (type === 'multiple') {
402
+ currentScrollTop = list === null || list === void 0 ? void 0 : list.getOffsetForRow({
403
+ index: idx
404
+ });
405
+ scrollToIdx(viewIdx);
406
+ setLastScrollTop(currentScrollTop);
407
+ setMultiSelectActive && setMultiSelectActive(true);
408
+ }
409
+ case 6:
410
+ case "end":
411
+ return _context2.stop();
412
+ }
413
+ }, _callee2);
414
+ }));
415
+ return function (_x5) {
416
+ return _ref5.apply(this, arguments);
417
+ };
418
+ }()),
419
+ onPrivate: function onPrivate() {
420
+ _handleClickPrivateChat(publisherUid);
421
+ }
422
+ })
423
+ })]
424
+ })]
425
+ })
426
+ });
427
+ }
428
+ }, key);
429
+ };
430
+ };
431
+ var scrollToIdx = function scrollToIdx(idx) {
432
+ var rowCount = messageList.length;
433
+ var scrollIdx = Math.min(rowCount - 1, idx);
434
+ if (isNaN(scrollIdx)) {
435
+ scrollIdx = undefined;
436
+ }
437
+ setScrollIndex(scrollIdx);
438
+ };
439
+ var handleScroll = function handleScroll(params) {
440
+ var listScrollHeight = params.scrollHeight,
441
+ listScrollTop = params.scrollTop,
442
+ listClientHeight = params.clientHeight;
443
+ updateScrollInfo(listScrollHeight, listScrollTop, listClientHeight);
444
+ updateScrollIndexByScroll();
445
+ };
446
+ var updateScrollIndexByScroll = (0, _throttle["default"])(function () {
447
+ if (scrollTop !== 0 && scrollHeight - scrollTop === clientHeight && latestBtnVisible) {
448
+ setLatestBtnVisible(false);
449
+ scrollToIdx(messageList.length - 1);
450
+ }
451
+ }, 200);
452
+ var handleRowRendered = function handleRowRendered(params) {
453
+ var stopIndex = params.stopIndex,
454
+ startIndex = params.startIndex;
455
+
456
+ // 历史未读消息
457
+ var lastReadIdx = messageList.findIndex(function (msg) {
458
+ return msg.id === readMsgIndex.msgId;
459
+ });
460
+ var hasHistoryUnRead = readMsgIndex.index < 0 || lastReadIdx < 0 || readMsgIndex.index < startIndex;
461
+ if (messageList.length > 0 && stopIndex >= messageList.length - 1 && hasHistoryUnRead && startIndex > 0 && hasHistoryMsg) {
462
+ var unReadCnt = 0;
463
+ if (lastReadIdx === -1) {
464
+ unReadCnt = startIndex - 1;
465
+ } else if (lastReadIdx >= 0) {
466
+ unReadCnt = startIndex - lastReadIdx;
467
+ }
468
+ updateHistoryCnt(unReadCnt);
469
+ unReadCnt > 0 && setHistoryMsgVisible(true);
470
+ updateHasHistoryMsg(false);
471
+ }
472
+
473
+ // 视口已经滚动到所有历史未读消息之前
474
+ var unreadIdx = messageList.findIndex(function (msg) {
475
+ return msg.id === readMsgIndex.msgId;
476
+ });
477
+ if (stopIndex <= unreadIdx) {
478
+ setHistoryMsgVisible(false);
479
+ }
480
+ updateViewIdx(stopIndex);
481
+ if (firstRowsRendered) {
482
+ firstRowsRendered = false;
483
+ return;
484
+ }
485
+ var latestIdx = messageList.length - 1;
486
+ // 往上滚动超过 40 条
487
+ if (latestIdx - stopIndex >= needCbBottomCount && !latestBtnVisibleFlag) {
488
+ latestBtnVisibleFlag = true;
489
+ clearTimeout(latestBtnVisibleTimer);
490
+ latestBtnVisibleTimer = setTimeout(function () {
491
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
492
+ !isBottom && setLatestBtnVisible(true);
493
+ }, 500);
494
+ }
495
+ if (latestIdx - stopIndex < 10 && latestBtnVisibleFlag) {
496
+ latestBtnVisibleFlag = false;
497
+ setTimeout(function () {
498
+ setLatestBtnVisible(false);
499
+ }, 500);
500
+ }
501
+
502
+ // 视口出现新消息
503
+ if (stopIndex > readIdx) {
504
+ updateReadIdx(stopIndex);
505
+ }
506
+ };
507
+ (0, _react.useEffect)(function () {
508
+ var isBottom = clientHeight === 0 || Math.abs(scrollHeight - clientHeight - scrollTop) < 1;
509
+ if (isBottom) {
510
+ return;
511
+ }
512
+ }, [readMsgIndex]);
513
+ (0, _react.useEffect)(function () {
514
+ // 重新计算高度
515
+ cache.clearAll();
516
+ list === null || list === void 0 || list.recomputeRowHeights();
517
+ if (lastScrollTop !== undefined) {
518
+ list === null || list === void 0 || list.scrollToPosition(lastScrollTop);
519
+ setLastScrollTop(undefined);
520
+ }
521
+ }, [multiSelectActive]);
522
+ var _handleClickPrivateChat = function _handleClickPrivateChat(userId) {
523
+ permitPrivateChat(userId);
524
+ };
525
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
526
+ className: 'fcr-message-list',
527
+ style: {},
528
+ children: [historyMsgVisible && messageList.length > 0 && historyUnReadCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
529
+ onClick: function onClick() {
530
+ var len = messageList.length;
531
+ // 回到历史消息指定位置
532
+ var idx = (readMsgIndex === null || readMsgIndex === void 0 ? void 0 : readMsgIndex.index) < 0 ? 0 : messageList.findIndex(function (msg) {
533
+ return msg.id === readMsgIndex.msgId;
534
+ });
535
+ scrollToIdx(idx);
536
+ setHistoryMsgVisible(false);
537
+ updateReadMsgIndex && updateReadMsgIndex({
538
+ index: len - 1,
539
+ msgId: messageList[len - 1].id
540
+ });
541
+ updateHistoryUnReadCount(0);
542
+ },
543
+ txt: "".concat(t('fmt_chat_tips_newmessage', {
544
+ reason1: historyUnReadCount
545
+ })),
546
+ iconTransform: true,
547
+ direction: "top",
548
+ styles: {
549
+ zIndex: 999
550
+ }
551
+ }) : null, latestBtnVisible === true ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
552
+ onClick: function onClick() {
553
+ var _messageList;
554
+ forceNotifyMsgs();
555
+ var len = messageList.length;
556
+
557
+ // 回到最新消息的第一条
558
+ if (readIdx === len - 1) {
559
+ // 没有新消息
560
+ if (scrollIndex === len - 1) {
561
+ list === null || list === void 0 || list.scrollToPosition(scrollHeight - clientHeight);
562
+ } else {
563
+ scrollToIdx(len - 1);
564
+ }
565
+ }
566
+ setLatestBtnVisible(false);
567
+ latestBtnVisibleFlag = false;
568
+ updateReadMsgIndex && updateReadMsgIndex({
569
+ index: len - 1,
570
+ msgId: (_messageList = messageList[len - 1]) === null || _messageList === void 0 ? void 0 : _messageList.id
571
+ });
572
+ },
573
+ txt: "".concat(
574
+ // readIdx === messageList.length - 1
575
+ newMsgsUnReadCnt === 0 ? t('fmt_chat_button_latestlocation') // 回到最新位置
576
+ : t('fmt_chat_tips_newmessage', {
577
+ reason1: newMsgsUnReadCnt || messageList.length - 1 - readIdx
578
+ })),
579
+ styles: {
580
+ zIndex: 999
581
+ }
582
+ }) : null, messageList.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
583
+ className: "fcr-no-data-chat",
584
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
585
+ style: {
586
+ width: 138,
587
+ height: 100
588
+ },
589
+ src: _fcr_defaultpage["default"]
590
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
591
+ children: t('fmt_chat_tips_nodata')
592
+ })]
593
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.AutoSizer, {
594
+ style: {
595
+ alignSelf: 'stretch'
596
+ },
597
+ children: function children(_ref6) {
598
+ var height = _ref6.height,
599
+ width = _ref6.width;
600
+ if (height !== mostRecentHeight || width !== mostRecentWidth) {
601
+ cache.clearAll();
602
+ if (list) {
603
+ list.recomputeRowHeights();
604
+ }
605
+ }
606
+ updateMostRecentHeight(height);
607
+ updateMostRecentWidth(width);
608
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.List, {
609
+ ref: function ref(_ref7) {
610
+ updateList(_ref7);
611
+ },
612
+ style: {
613
+ padding: 'inherit',
614
+ scrollbarWidth: 'none'
615
+ },
616
+ onScroll: handleScroll,
617
+ onRowsRendered: handleRowRendered,
618
+ width: width,
619
+ height: height,
620
+ rowHeight: cache.rowHeight,
621
+ rowCount: messageList.length,
622
+ rowRenderer: rowRenderer(messageList),
623
+ deferredMeasurementCache: cache,
624
+ overscanRowCount: 0,
625
+ scrollToIndex: latestBtnVisible ? undefined : scrollIndex
626
+ });
627
+ }
628
+ })]
629
+ });
630
+ });
@@ -2,22 +2,28 @@ import { FcrUserControl } from 'fcr-core';
2
2
  import { FcrUserRole, FcrUserInfo } from 'fcr-core/lib/type';
3
3
  import { FcrUIEventProvider } from '../../providers/event-provider';
4
4
  import { FcrChatRoomControl } from 'fcr-core/lib/room-control/chatroom-control/type';
5
- import { FcrMainRoomControl, FcrRoomType, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
5
+ import { FcrMainRoomControl, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
6
6
  import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
7
7
  import { FcrUIRoomProvider, FcrUIWaitingRoomControlProvider } from '../../providers/room-provider';
8
8
  import { FcrUIChatProvider } from '../../providers/chat-provider';
9
9
  import { ChatRoomStoreMap } from './types';
10
+ import { FcrUIRoomType } from '../../type';
11
+ import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
12
+ import { FcrUISharedWaitingRoomDataSource } from '../../shared-data-source/waiting-room';
13
+ import { FcrUISharedChatDataSource } from '../../shared-data-source/chat-data';
10
14
  export default class ChatStore {
11
15
  private _disposers;
12
16
  private _observable;
13
17
  private _securityStore;
14
18
  private _uiEventStore;
15
- private _chatVisible;
16
19
  private _chatProvider;
20
+ private _sharedLayoutDataSource;
21
+ private _sharedChatDataSource;
22
+ private _sharedWaitingRoomDataSource;
17
23
  accessor chatRoomStores: ChatRoomStoreMap;
18
- accessor activeTabIndex: FcrRoomType;
19
- accessor roomType: FcrRoomType;
20
- constructor({ chatRoomControl, userControl, uiEventStore, securityStore, roomControl, waitingRoomControlProvider, roomProvider, chatProvider, }: {
24
+ accessor activeTabIndex: FcrUIRoomType;
25
+ accessor copyMap: Map<number, boolean>;
26
+ constructor({ chatRoomControl, userControl, uiEventStore, securityStore, roomControl, waitingRoomControlProvider, roomProvider, chatProvider, sharedLayoutDataSource, sharedWaitingRoomDataSource, sharedChatDataSource, }: {
21
27
  chatRoomControl: FcrChatRoomControl;
22
28
  userControl: FcrUserControl;
23
29
  uiEventStore: FcrUIEventProvider;
@@ -27,11 +33,15 @@ export default class ChatStore {
27
33
  mainRoomControl: FcrMainRoomControl;
28
34
  roomProvider: FcrUIRoomProvider;
29
35
  chatProvider: FcrUIChatProvider;
36
+ sharedLayoutDataSource: FcrUISharedLayoutDataSource;
37
+ sharedWaitingRoomDataSource: FcrUISharedWaitingRoomDataSource;
38
+ sharedChatDataSource: FcrUISharedChatDataSource;
30
39
  });
31
40
  hasWaitingRoomPermission(): boolean;
32
41
  private _handleReceiveMessage;
33
- handlerActiveTab(key: FcrRoomType): void;
34
- private _handleEvent;
42
+ handlerActiveTab(key: FcrUIRoomType): void;
43
+ handleSelectMsg(idx: number, checked: boolean): void;
44
+ clearCopyMap(): void;
35
45
  release(): void;
36
46
  }
37
47
  export declare function isManager(role: FcrUserRole): role is FcrUserRole.HOST | FcrUserRole.COHOST;