fcr-ui-scene-mobile 3.4.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 (281) hide show
  1. package/lib/assets/ground_glass_bg.png +0 -0
  2. package/lib/base.d.ts +11 -0
  3. package/lib/base.js +39 -0
  4. package/lib/common/device-store.d.ts +86 -0
  5. package/lib/common/device-store.js +642 -0
  6. package/lib/common/device-stream-store.d.ts +26 -0
  7. package/lib/common/device-stream-store.js +298 -0
  8. package/lib/common/event-store.d.ts +124 -0
  9. package/lib/common/event-store.js +249 -0
  10. package/lib/common/global-context.d.ts +11 -0
  11. package/lib/common/global-context.js +9 -0
  12. package/lib/common/member-list-data-source.d.ts +28 -0
  13. package/lib/common/member-list-data-source.js +305 -0
  14. package/lib/common/participant-store.d.ts +195 -0
  15. package/lib/common/participant-store.js +1577 -0
  16. package/lib/common/security-store.d.ts +119 -0
  17. package/lib/common/security-store.js +948 -0
  18. package/lib/common/setting-store.d.ts +181 -0
  19. package/lib/common/setting-store.js +797 -0
  20. package/lib/common/type.d.ts +73 -0
  21. package/lib/common/type.js +22 -0
  22. package/lib/config/default-config.d.ts +32 -0
  23. package/lib/config/default-config.js +39 -0
  24. package/lib/config/setting-config.d.ts +16 -0
  25. package/lib/config/setting-config.js +17 -0
  26. package/lib/creator.d.ts +10 -0
  27. package/lib/creator.js +49 -0
  28. package/lib/global.d.ts +8 -0
  29. package/lib/hooks/meeting-time.d.ts +15 -0
  30. package/lib/hooks/meeting-time.js +92 -0
  31. package/lib/hooks/useIsNodePresent.d.ts +4 -0
  32. package/lib/hooks/useIsNodePresent.js +53 -0
  33. package/lib/hooks/useOnRefMount.d.ts +2 -0
  34. package/lib/hooks/useOnRefMount.js +27 -0
  35. package/lib/index.d.ts +6 -0
  36. package/lib/index.js +50 -0
  37. package/lib/mobile-global.css +28 -0
  38. package/lib/modules/action-bar/bottom-icons.d.ts +17 -0
  39. package/lib/modules/action-bar/bottom-icons.js +160 -0
  40. package/lib/modules/action-bar/context.d.ts +2 -0
  41. package/lib/modules/action-bar/context.js +9 -0
  42. package/lib/modules/action-bar/index.css +33 -0
  43. package/lib/modules/action-bar/index.d.ts +27 -0
  44. package/lib/modules/action-bar/index.js +46 -0
  45. package/lib/modules/action-bar/member-list-popup/attendee/index.css +130 -0
  46. package/lib/modules/action-bar/member-list-popup/attendee/index.d.ts +19 -0
  47. package/lib/modules/action-bar/member-list-popup/attendee/index.js +252 -0
  48. package/lib/modules/action-bar/member-list-popup/attendee/list.d.ts +1 -0
  49. package/lib/modules/action-bar/member-list-popup/attendee/list.js +82 -0
  50. package/lib/modules/action-bar/member-list-popup/index.css +35 -0
  51. package/lib/modules/action-bar/member-list-popup/index.d.ts +7 -0
  52. package/lib/modules/action-bar/member-list-popup/index.js +40 -0
  53. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.css +0 -0
  54. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.d.ts +12 -0
  55. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.js +58 -0
  56. package/lib/modules/action-bar/more-popup/index.css +71 -0
  57. package/lib/modules/action-bar/more-popup/index.d.ts +2 -0
  58. package/lib/modules/action-bar/more-popup/index.js +126 -0
  59. package/lib/modules/action-bar/store.d.ts +196 -0
  60. package/lib/modules/action-bar/store.js +1425 -0
  61. package/lib/modules/action-bar/type.d.ts +6 -0
  62. package/lib/modules/action-bar/type.js +13 -0
  63. package/lib/modules/action-bar/view.d.ts +2 -0
  64. package/lib/modules/action-bar/view.js +75 -0
  65. package/lib/modules/audio-stream/ index.d.ts +19 -0
  66. package/lib/modules/audio-stream/ index.js +109 -0
  67. package/lib/modules/audio-stream/index.d.ts +25 -0
  68. package/lib/modules/audio-stream/index.js +135 -0
  69. package/lib/modules/chat/chat-bar/index.css +97 -0
  70. package/lib/modules/chat/chat-bar/index.d.ts +12 -0
  71. package/lib/modules/chat/chat-bar/index.js +129 -0
  72. package/lib/modules/chat/chat-notification/index.css +71 -0
  73. package/lib/modules/chat/chat-notification/index.d.ts +3 -0
  74. package/lib/modules/chat/chat-notification/index.js +75 -0
  75. package/lib/modules/chat/chat-select/index.css +183 -0
  76. package/lib/modules/chat/chat-select/index.d.ts +12 -0
  77. package/lib/modules/chat/chat-select/index.js +223 -0
  78. package/lib/modules/chat/contex.d.ts +2 -0
  79. package/lib/modules/chat/contex.js +9 -0
  80. package/lib/modules/chat/demo-wrapper.d.ts +1 -0
  81. package/lib/modules/chat/demo-wrapper.js +42 -0
  82. package/lib/modules/chat/index.css +108 -0
  83. package/lib/modules/chat/index.d.ts +28 -0
  84. package/lib/modules/chat/index.dev.d.ts +1 -0
  85. package/lib/modules/chat/index.dev.js +58 -0
  86. package/lib/modules/chat/index.js +208 -0
  87. package/lib/modules/chat/message-list.d.ts +22 -0
  88. package/lib/modules/chat/message-list.js +617 -0
  89. package/lib/modules/chat/mock.d.ts +2 -0
  90. package/lib/modules/chat/mock.js +283 -0
  91. package/lib/modules/chat/store.d.ts +183 -0
  92. package/lib/modules/chat/store.js +1101 -0
  93. package/lib/modules/chat/util.d.ts +6 -0
  94. package/lib/modules/chat/util.js +69 -0
  95. package/lib/modules/chat/view.d.ts +11 -0
  96. package/lib/modules/chat/view.js +414 -0
  97. package/lib/modules/layout/bottom-drawer/index.css +34 -0
  98. package/lib/modules/layout/bottom-drawer/index.d.ts +3 -0
  99. package/lib/modules/layout/bottom-drawer/index.js +129 -0
  100. package/lib/modules/layout/components/Layout.d.ts +1 -0
  101. package/lib/modules/layout/components/Layout.js +98 -0
  102. package/lib/modules/layout/components/equip-request-popup/index.css +30 -0
  103. package/lib/modules/layout/components/equip-request-popup/index.d.ts +3 -0
  104. package/lib/modules/layout/components/equip-request-popup/index.js +78 -0
  105. package/lib/modules/layout/components/index.css +78 -0
  106. package/lib/modules/layout/components/index.d.ts +2 -0
  107. package/lib/modules/layout/components/index.js +25 -0
  108. package/lib/modules/layout/context.d.ts +2 -0
  109. package/lib/modules/layout/context.js +9 -0
  110. package/lib/modules/layout/drawer-header/index.css +27 -0
  111. package/lib/modules/layout/drawer-header/index.d.ts +10 -0
  112. package/lib/modules/layout/drawer-header/index.js +54 -0
  113. package/lib/modules/layout/index.css +22 -0
  114. package/lib/modules/layout/index.d.ts +8 -0
  115. package/lib/modules/layout/index.js +47 -0
  116. package/lib/modules/layout/store.d.ts +59 -0
  117. package/lib/modules/layout/store.js +379 -0
  118. package/lib/modules/layout/type.d.ts +65 -0
  119. package/lib/modules/layout/type.js +52 -0
  120. package/lib/modules/layout/view.d.ts +2 -0
  121. package/lib/modules/layout/view.js +10 -0
  122. package/lib/modules/member-layout/context.d.ts +2 -0
  123. package/lib/modules/member-layout/context.js +9 -0
  124. package/lib/modules/member-layout/data.d.ts +2 -0
  125. package/lib/modules/member-layout/data.js +304 -0
  126. package/lib/modules/member-layout/grid/index.css +98 -0
  127. package/lib/modules/member-layout/grid/index.d.ts +21 -0
  128. package/lib/modules/member-layout/grid/index.js +316 -0
  129. package/lib/modules/member-layout/index.css +88 -0
  130. package/lib/modules/member-layout/index.d.ts +8 -0
  131. package/lib/modules/member-layout/index.js +45 -0
  132. package/lib/modules/member-layout/share-toast/index.css +30 -0
  133. package/lib/modules/member-layout/share-toast/index.d.ts +5 -0
  134. package/lib/modules/member-layout/share-toast/index.js +43 -0
  135. package/lib/modules/member-layout/speaker/index.css +30 -0
  136. package/lib/modules/member-layout/speaker/index.d.ts +9 -0
  137. package/lib/modules/member-layout/speaker/index.js +28 -0
  138. package/lib/modules/member-layout/store.d.ts +70 -0
  139. package/lib/modules/member-layout/store.js +479 -0
  140. package/lib/modules/member-layout/user/index.css +121 -0
  141. package/lib/modules/member-layout/user/index.d.ts +34 -0
  142. package/lib/modules/member-layout/user/index.js +355 -0
  143. package/lib/modules/member-layout/user/types.d.ts +16 -0
  144. package/lib/modules/member-layout/user/types.js +6 -0
  145. package/lib/modules/member-layout/view.d.ts +2 -0
  146. package/lib/modules/member-layout/view.js +225 -0
  147. package/lib/modules/state-bar/context.d.ts +2 -0
  148. package/lib/modules/state-bar/context.js +9 -0
  149. package/lib/modules/state-bar/index.css +79 -0
  150. package/lib/modules/state-bar/index.d.ts +17 -0
  151. package/lib/modules/state-bar/index.js +55 -0
  152. package/lib/modules/state-bar/leaving-room/index.css +14 -0
  153. package/lib/modules/state-bar/leaving-room/index.d.ts +7 -0
  154. package/lib/modules/state-bar/leaving-room/index.js +38 -0
  155. package/lib/modules/state-bar/meeting-detail/index.css +72 -0
  156. package/lib/modules/state-bar/meeting-detail/index.d.ts +2 -0
  157. package/lib/modules/state-bar/meeting-detail/index.js +59 -0
  158. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.d.ts +4 -0
  159. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.js +81 -0
  160. package/lib/modules/state-bar/meeting-detail/meeting-info/index.css +92 -0
  161. package/lib/modules/state-bar/meeting-detail/meeting-info/index.d.ts +2 -0
  162. package/lib/modules/state-bar/meeting-detail/meeting-info/index.js +188 -0
  163. package/lib/modules/state-bar/meeting-detail/net-quality/index.css +27 -0
  164. package/lib/modules/state-bar/meeting-detail/net-quality/index.d.ts +2 -0
  165. package/lib/modules/state-bar/meeting-detail/net-quality/index.js +87 -0
  166. package/lib/modules/state-bar/store.d.ts +76 -0
  167. package/lib/modules/state-bar/store.js +561 -0
  168. package/lib/modules/state-bar/view.d.ts +7 -0
  169. package/lib/modules/state-bar/view.js +215 -0
  170. package/lib/modules/whiteboard/app.d.ts +2 -0
  171. package/lib/modules/whiteboard/app.js +41 -0
  172. package/lib/modules/whiteboard/components/control-bar/index.css +53 -0
  173. package/lib/modules/whiteboard/components/control-bar/index.d.ts +2 -0
  174. package/lib/modules/whiteboard/components/control-bar/index.js +156 -0
  175. package/lib/modules/whiteboard/components/control-bar/store.d.ts +35 -0
  176. package/lib/modules/whiteboard/components/control-bar/store.js +288 -0
  177. package/lib/modules/whiteboard/components/loading/index.css +76 -0
  178. package/lib/modules/whiteboard/components/loading/index.d.ts +2 -0
  179. package/lib/modules/whiteboard/components/loading/index.js +68 -0
  180. package/lib/modules/whiteboard/components/loading/loading.png +0 -0
  181. package/lib/modules/whiteboard/components/multi-window/index.css +65 -0
  182. package/lib/modules/whiteboard/components/multi-window/index.d.ts +5 -0
  183. package/lib/modules/whiteboard/components/multi-window/index.js +39 -0
  184. package/lib/modules/whiteboard/components/pagination/index.css +228 -0
  185. package/lib/modules/whiteboard/components/pagination/index.d.ts +15 -0
  186. package/lib/modules/whiteboard/components/pagination/index.js +163 -0
  187. package/lib/modules/whiteboard/components/pagination/store.d.ts +18 -0
  188. package/lib/modules/whiteboard/components/pagination/store.js +17 -0
  189. package/lib/modules/whiteboard/components/progress/index.d.ts +5 -0
  190. package/lib/modules/whiteboard/components/progress/index.js +43 -0
  191. package/lib/modules/whiteboard/components/progress/style.css +52 -0
  192. package/lib/modules/whiteboard/components/scene-pagination.d.ts +1 -0
  193. package/lib/modules/whiteboard/components/scene-pagination.js +30 -0
  194. package/lib/modules/whiteboard/components/switch-theme/index.css +98 -0
  195. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +3 -0
  196. package/lib/modules/whiteboard/components/switch-theme/index.js +89 -0
  197. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +9 -0
  198. package/lib/modules/whiteboard/components/switch-theme/item.js +53 -0
  199. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +4 -0
  200. package/lib/modules/whiteboard/components/switch-theme/libs.js +29 -0
  201. package/lib/modules/whiteboard/components/toolbar/ style.css +588 -0
  202. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.d.ts +5 -0
  203. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +38 -0
  204. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.d.ts +1 -0
  205. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +107 -0
  206. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.d.ts +1 -0
  207. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +59 -0
  208. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.d.ts +2 -0
  209. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +44 -0
  210. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.d.ts +4 -0
  211. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +89 -0
  212. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.d.ts +1 -0
  213. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +63 -0
  214. package/lib/modules/whiteboard/components/toolbar/components/history.d.ts +2 -0
  215. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -0
  216. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  217. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.js +39 -0
  218. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.d.ts +1 -0
  219. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.js +66 -0
  220. package/lib/modules/whiteboard/components/toolbar/components/move-handle.d.ts +5 -0
  221. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +134 -0
  222. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.d.ts +4 -0
  223. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +106 -0
  224. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.d.ts +4 -0
  225. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +168 -0
  226. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  227. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +211 -0
  228. package/lib/modules/whiteboard/components/toolbar/index.d.ts +2 -0
  229. package/lib/modules/whiteboard/components/toolbar/index.js +183 -0
  230. package/lib/modules/whiteboard/components/toolbar/store.d.ts +51 -0
  231. package/lib/modules/whiteboard/components/toolbar/store.js +248 -0
  232. package/lib/modules/whiteboard/context.d.ts +69 -0
  233. package/lib/modules/whiteboard/context.js +36 -0
  234. package/lib/modules/whiteboard/index.d.ts +119 -0
  235. package/lib/modules/whiteboard/index.js +1134 -0
  236. package/lib/modules/whiteboard/style.css +143 -0
  237. package/lib/modules/whiteboard/type.d.ts +94 -0
  238. package/lib/modules/whiteboard/type.js +89 -0
  239. package/lib/modules/whiteboard/utils.d.ts +12 -0
  240. package/lib/modules/whiteboard/utils.js +36 -0
  241. package/lib/plugins/css-preset-plugin.d.ts +1 -0
  242. package/lib/plugins/css-preset-plugin.js +29 -0
  243. package/lib/plugins/module-dev-plugin.d.ts +12 -0
  244. package/lib/plugins/module-dev-plugin.js +183 -0
  245. package/lib/plugins/multi-lang-plugin.d.ts +1 -0
  246. package/lib/plugins/multi-lang-plugin.js +19 -0
  247. package/lib/plugins/rtm-plugin.d.ts +1 -0
  248. package/lib/plugins/rtm-plugin.js +5 -0
  249. package/lib/plugins/web-rtc-plugin.d.ts +1 -0
  250. package/lib/plugins/web-rtc-plugin.js +5 -0
  251. package/lib/translations/enUS.d.ts +1855 -0
  252. package/lib/translations/enUS.js +1895 -0
  253. package/lib/translations/zhCN.d.ts +1852 -0
  254. package/lib/translations/zhCN.js +1892 -0
  255. package/lib/type.d.ts +121 -0
  256. package/lib/type.js +46 -0
  257. package/lib/ui-manager.d.ts +32 -0
  258. package/lib/ui-manager.js +426 -0
  259. package/lib/ui-scene.d.ts +14 -0
  260. package/lib/ui-scene.js +141 -0
  261. package/lib/utilities/board-context.d.ts +4 -0
  262. package/lib/utilities/board-context.js +12 -0
  263. package/lib/utilities/constant.d.ts +286 -0
  264. package/lib/utilities/constant.js +271 -0
  265. package/lib/utilities/copyText.d.ts +2 -0
  266. package/lib/utilities/copyText.js +43 -0
  267. package/lib/utilities/extract.d.ts +5 -0
  268. package/lib/utilities/extract.js +117 -0
  269. package/lib/utilities/hooks.d.ts +14 -0
  270. package/lib/utilities/hooks.js +101 -0
  271. package/lib/utilities/mute-action.d.ts +4 -0
  272. package/lib/utilities/mute-action.js +48 -0
  273. package/lib/utilities/parameters.d.ts +7 -0
  274. package/lib/utilities/parameters.js +20 -0
  275. package/lib/utilities/regex.d.ts +1 -0
  276. package/lib/utilities/regex.js +14 -0
  277. package/lib/utilities/tools.d.ts +27 -0
  278. package/lib/utilities/tools.js +169 -0
  279. package/lib/utilities/useNamespace.d.ts +15 -0
  280. package/lib/utilities/useNamespace.js +66 -0
  281. package/package.json +63 -0
@@ -0,0 +1,71 @@
1
+ .fcr-message-notification-wrapper {
2
+ position: absolute;
3
+ bottom: 10px;
4
+ width: 100%;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ z-index: 10;
9
+ }
10
+
11
+ .fcr-message-notification-content {
12
+ display: flex;
13
+ border: 2px solid var(--fcr_ui_scene_black3, #0000004d);
14
+ background: var(--fcr_ui_scene_black6, #00000099);
15
+ height: 50px;
16
+ padding: 7px;
17
+ backdrop-filter: blur(50px);
18
+ border-radius: 16px;
19
+ color: var(--fcr_ui_scene_white10);
20
+ margin: 10px;
21
+ align-items: center;
22
+ min-width: 200px;
23
+ max-width: 100%;
24
+ }
25
+
26
+ .fcr-message-notice-avatar {
27
+ width: 36px;
28
+ height: 36px;
29
+ margin-right: 10px;
30
+ }
31
+
32
+ .fcr-message-notice-avatar .fcr-avatar {
33
+ border-radius: 10px;
34
+ }
35
+
36
+ .fcr-message-notice-content {
37
+ display: flex;
38
+ flex-direction: column;
39
+ gap: 6px;
40
+ }
41
+
42
+ .fcr-message-notice-name {
43
+ font-size: 12px;
44
+ line-height: 12px;
45
+ font-weight: 600;
46
+ font-family: Montserrat;
47
+ }
48
+
49
+ .fcr-message-notice-msg {
50
+ font-size: 12px;
51
+ line-height: 12px;
52
+ font-weight: 400;
53
+ font-family: PingFang HK;
54
+ }
55
+
56
+ .fcr-word-break {
57
+ white-space: normal;
58
+ overflow: hidden;
59
+ text-overflow: ellipsis;
60
+ display: -webkit-box;
61
+ -webkit-box-orient: vertical;
62
+ word-break: break-all;
63
+ }
64
+
65
+ .fcr-break-one-line {
66
+ -webkit-line-clamp: 1;
67
+ }
68
+
69
+ .fcr-message-notification-content .fcr-msg-bar-break-max-width {
70
+ max-width: 290px;
71
+ }
@@ -0,0 +1,3 @@
1
+ import './index.css';
2
+ export declare const MessageNotificationWrapper: () => import("react/jsx-runtime").JSX.Element;
3
+ export default MessageNotificationWrapper;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.MessageNotificationWrapper = void 0;
9
+ require("core-js/modules/web.timers.js");
10
+ var _react = require("react");
11
+ require("./index.css");
12
+ var _avatar = require("agora-ui-foundation/lib/components/avatar");
13
+ var _mobxReact = require("mobx-react");
14
+ var _context = require("../../layout/context");
15
+ var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var notificationTimeout = 5 * 1000;
18
+ var MessageNotification = (0, _mobxReact.observer)(function () {
19
+ var _latestMessage$from$u, _latestMessage$from, _latestMessage$from2;
20
+ var _useContext = (0, _react.useContext)(_context.LayoutStoreContext),
21
+ latestMessage = _useContext.latestMessage,
22
+ unreadMsgCnt = _useContext.unreadMsgCnt,
23
+ resetLastMessage = _useContext.resetLastMessage;
24
+ var timerRef = (0, _react.useRef)(null);
25
+ (0, _react.useEffect)(function () {
26
+ if (!unreadMsgCnt) {
27
+ return;
28
+ }
29
+ if (timerRef.current) {
30
+ clearTimeout(timerRef.current);
31
+ timerRef.current = null;
32
+ }
33
+ timerRef.current = setTimeout(function () {
34
+ resetLastMessage();
35
+ }, notificationTimeout);
36
+ return function () {
37
+ if (timerRef.current) {
38
+ clearTimeout(timerRef.current);
39
+ timerRef.current = null;
40
+ }
41
+ };
42
+ }, [latestMessage === null || latestMessage === void 0 ? void 0 : latestMessage.id, unreadMsgCnt]);
43
+ return !latestMessage || unreadMsgCnt === 0 ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
+ className: "fcr-message-notification-wrapper",
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
46
+ className: 'fcr-message-notification-content',
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
+ className: "fcr-message-notice-avatar",
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
50
+ nickName: (_latestMessage$from$u = latestMessage === null || latestMessage === void 0 || (_latestMessage$from = latestMessage.from) === null || _latestMessage$from === void 0 ? void 0 : _latestMessage$from.userName) !== null && _latestMessage$from$u !== void 0 ? _latestMessage$from$u : '',
51
+ size: 36,
52
+ textSize: 14
53
+ })
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
55
+ className: "fcr-message-notice-content",
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
57
+ className: "fcr-message-notice-name",
58
+ children: latestMessage === null || latestMessage === void 0 || (_latestMessage$from2 = latestMessage.from) === null || _latestMessage$from2 === void 0 ? void 0 : _latestMessage$from2.userName
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
+ className: (0, _classnames["default"])('fcr-message-notice-msg', {
61
+ 'fcr-break-one-line fcr-word-break': true,
62
+ 'fcr-msg-bar-break-max-width': true
63
+ }),
64
+ children: latestMessage === null || latestMessage === void 0 ? void 0 : latestMessage.content
65
+ })]
66
+ })]
67
+ })
68
+ });
69
+ });
70
+ var MessageNotificationWrapper = exports.MessageNotificationWrapper = function MessageNotificationWrapper() {
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageNotification, {})
73
+ });
74
+ };
75
+ var _default = exports["default"] = MessageNotificationWrapper;
@@ -0,0 +1,183 @@
1
+ .leave-container {
2
+ position: relative;
3
+ padding: 8px 20px 20px;
4
+ max-height: 368px;
5
+ }
6
+
7
+ .leave-confirm {
8
+ width: 100%;
9
+ height: 36px;
10
+ margin-top: 15px;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ color: var(--fcr_ui_scene_white10);
15
+ background: var(--fcr_ui_scene_ramp_red6);
16
+ border-radius: var(--fcr_cornerradius_l);
17
+
18
+ font-family: Helvetica Neue;
19
+ font-size: 13px;
20
+ font-weight: 400;
21
+ line-height: 24px;
22
+
23
+ cursor: pointer;
24
+ }
25
+
26
+ .assign-host-search {
27
+ width: 100%;
28
+ height: 36px;
29
+ margin-top: 10px;
30
+ }
31
+ .assign-host-border {
32
+ position: absolute;
33
+ left: 0;
34
+ width: 100%;
35
+ height: 0px;
36
+ border-top: 1px solid var(--fcr_ui_scene_line1, rgba(74, 76, 95, 0.5));
37
+ opacity: 0.3;
38
+ }
39
+
40
+ .assign-host-body {
41
+ margin-top: 10px;
42
+ }
43
+
44
+ .candidate-list {
45
+ padding-right: 5px;
46
+ }
47
+
48
+ .candidate-container {
49
+ display: flex;
50
+ align-items: center;
51
+ cursor: pointer;
52
+ /* width: 215px !important; */
53
+ }
54
+
55
+ .candidate-container-selected {
56
+ display: flex;
57
+ align-items: center;
58
+ cursor: pointer;
59
+ /* width: 215px !important; */
60
+ border-radius: var(--fcr_cornerradius_l);
61
+ }
62
+ .candidate-container-selected:hover,
63
+ .candidate-container:hover {
64
+ background: var(--fcr_web_ui_scene_hover);
65
+ }
66
+
67
+ .candidate-avatar {
68
+ width: 26px;
69
+ height: 26px;
70
+ border-radius: var(--fcr_cornerradius_s);
71
+ background: var(--for_head5);
72
+ display: flex;
73
+ justify-content: center;
74
+ align-items: center;
75
+ margin: 0 5px;
76
+ /* text */
77
+ color: var(--fcr_ui_scene_white10);
78
+ font-family: Verdana;
79
+ font-size: 14px;
80
+ font-weight: 700;
81
+ line-height: 14px;
82
+ }
83
+ .candidate-avatar .fcr-avatar {
84
+ border-radius: var(--fcr_cornerradius_m);
85
+ }
86
+
87
+ .candidate-avatar-all {
88
+ background: var(--for_head1);
89
+ }
90
+
91
+ .candidate {
92
+ /* text */
93
+ font-family: Verdana;
94
+ font-size: 12px;
95
+ font-weight: 700;
96
+ line-height: 12px;
97
+ text-align: left;
98
+ display: flex;
99
+ align-items: center;
100
+
101
+ /* max-width: calc(215px - 26px - 16px); */
102
+ height: 20px;
103
+ margin: 0 3px;
104
+ color: var(--fcr_ui_scene_icontext1);
105
+ }
106
+
107
+ .candidate:first-child,
108
+ .candidate:nth-child(2) {
109
+ flex-grow: 1;
110
+ }
111
+
112
+ .candidate-name {
113
+ overflow: hidden;
114
+ white-space: nowrap;
115
+ text-overflow: ellipsis;
116
+ /* zxq-TODO: 样式调试 */
117
+ max-width: 270px;
118
+ }
119
+
120
+ .candidate-name-active {
121
+ color: var(--fcr_web_ui_scene_mainicon2);
122
+ }
123
+
124
+ .candidate-select {
125
+ width: 24px;
126
+ height: 24px;
127
+ white-space: nowrap;
128
+ text-overflow: ellipsis;
129
+ margin-left: auto;
130
+ }
131
+
132
+ .candidate-info .fcr-text-bubble {
133
+ color: var(--fcr_ui_scene_inverse);
134
+ padding: 2px 5px;
135
+ margin-top: 4px;
136
+ border-radius: 3px;
137
+ font-weight: 400;
138
+ }
139
+
140
+ .candidate-info .host {
141
+ background: var(--fcr_ui_scene_icontext5);
142
+ }
143
+
144
+ .candidate-info .cohost {
145
+ background: #83bc53;
146
+ }
147
+
148
+ .candidate-highlight {
149
+ background: var(--fcr_ui_scene_ramp_brand3);
150
+ }
151
+
152
+ .fcr-no-data {
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ flex-direction: column;
157
+ }
158
+
159
+ .fcr-no-data span {
160
+ font-weight: 400;
161
+ font-size: 13px;
162
+ line-height: 14px;
163
+ font-family: PingFang HK;
164
+ color: var(--fcr_ui_scene_icontext2);
165
+ }
166
+
167
+ .fcr-chat-select-tabs-container {
168
+ display: flex;
169
+ height: 100%;
170
+ width: 100%;
171
+ }
172
+
173
+ .fcr-chat-select-tabs-container .fcr-input input {
174
+ font-size: 16px;
175
+ }
176
+
177
+ .fcr-chat-select-tabs-container .fcr-input input::placeholder {
178
+ font-size: 12px;
179
+ }
180
+
181
+ .fcr-chat-select-tabs-container .fcr-input input .not-empty {
182
+ font-size: 12px;
183
+ }
@@ -0,0 +1,12 @@
1
+ import './index.css';
2
+ import { FcrUserInfo } from 'fcr-core/lib/type';
3
+ interface ChatSelectProps {
4
+ type: 'assign-host' | 'private-chat';
5
+ title?: React.ReactNode;
6
+ bottomBar?: React.ReactNode;
7
+ candidateUsers: FcrUserInfo[];
8
+ selectedUid: string;
9
+ onSelect: (user: FcrUserInfo) => void;
10
+ }
11
+ export declare const ChatSelect: ({ type, title, bottomBar, candidateUsers: users, selectedUid, onSelect }: ChatSelectProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ChatSelect = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ require("core-js/modules/es.array.filter.js");
11
+ require("core-js/modules/es.array.includes.js");
12
+ require("core-js/modules/es.array.index-of.js");
13
+ require("core-js/modules/es.array.map.js");
14
+ require("core-js/modules/es.array.push.js");
15
+ require("core-js/modules/es.array.slice.js");
16
+ require("core-js/modules/es.object.to-string.js");
17
+ require("core-js/modules/es.string.includes.js");
18
+ require("core-js/modules/esnext.async-iterator.filter.js");
19
+ require("core-js/modules/esnext.async-iterator.map.js");
20
+ require("core-js/modules/esnext.iterator.constructor.js");
21
+ require("core-js/modules/esnext.iterator.filter.js");
22
+ require("core-js/modules/esnext.iterator.map.js");
23
+ var _avatar = require("agora-ui-foundation/lib/components/avatar");
24
+ var _icon = require("agora-ui-foundation/lib/components/icon");
25
+ var _input = require("agora-ui-foundation/lib/components/input");
26
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
27
+ var _mobxReact = require("mobx-react");
28
+ var _react = require("react");
29
+ require("./index.css");
30
+ var _reactVirtualized = require("react-virtualized");
31
+ var _type2 = require("fcr-core/lib/type");
32
+ var _classnames = _interopRequireDefault(require("classnames"));
33
+ var _store = require("../store");
34
+ var _textBubble = require("agora-ui-foundation/lib/components/text-bubble");
35
+ var _i18n = require("agora-ui-foundation/lib/i18n");
36
+ var _helper = require("agora-ui-foundation/lib/components/avatar/helper");
37
+ var _jsxRuntime = require("react/jsx-runtime");
38
+ function highlightMatches(str, matchStr) {
39
+ var result = [];
40
+ var matchLen = matchStr.length;
41
+ var start = 0;
42
+ if (matchStr.length === 0) {
43
+ return [{
44
+ data: str,
45
+ isHighlight: false
46
+ }];
47
+ }
48
+ while (start < str.length) {
49
+ var matchStart = str.indexOf(matchStr, start);
50
+ if (matchStart === -1) {
51
+ result.push({
52
+ data: str.slice(start),
53
+ isHighlight: false
54
+ });
55
+ break;
56
+ }
57
+ if (start !== matchStart) {
58
+ result.push({
59
+ data: str.slice(start, matchStart),
60
+ isHighlight: false
61
+ });
62
+ }
63
+ result.push({
64
+ data: matchStr,
65
+ isHighlight: true
66
+ });
67
+ start = matchStart + matchLen;
68
+ }
69
+ return result;
70
+ }
71
+ var ChatSelect = exports.ChatSelect = (0, _mobxReact.observer)(function (_ref) {
72
+ var type = _ref.type,
73
+ title = _ref.title,
74
+ bottomBar = _ref.bottomBar,
75
+ users = _ref.candidateUsers,
76
+ selectedUid = _ref.selectedUid,
77
+ onSelect = _ref.onSelect;
78
+ var _useState = (0, _react.useState)(''),
79
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
80
+ filterKey = _useState2[0],
81
+ setFilterKey = _useState2[1];
82
+ var filterUsers = users.filter(function (user) {
83
+ return user.userName.includes(filterKey);
84
+ });
85
+ var rowCount = filterUsers.length;
86
+ var listHeight = filterUsers.length * 64;
87
+ if (rowCount > 7) {
88
+ listHeight = 7 * 64;
89
+ } else {
90
+ listHeight = rowCount * 64;
91
+ }
92
+ var handleFilterChange = function handleFilterChange(search) {
93
+ setFilterKey(search);
94
+ };
95
+ var t = (0, _i18n.useI18n)();
96
+ var rowRenderer = function rowRenderer(_ref2) {
97
+ var _ref3;
98
+ var index = _ref2.index,
99
+ key = _ref2.key,
100
+ style = _ref2.style;
101
+ var datum = filterUsers[index];
102
+ if (!datum) {
103
+ return null;
104
+ }
105
+ var indexUser = filterUsers[index];
106
+ if (!indexUser) {
107
+ return;
108
+ }
109
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
111
+ className: selectedUid === indexUser.userId ? 'candidate-container-selected' : 'candidate-container',
112
+ style: style,
113
+ onClick: function onClick(_) {
114
+ onSelect(indexUser);
115
+ },
116
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
117
+ style: {
118
+ background: (0, _helper.getNameColor)(datum.userName)
119
+ },
120
+ className: (0, _classnames["default"])('candidate-avatar', {
121
+ 'candidate-avatar-all': datum.userId === _store.USER_ALL
122
+ }),
123
+ children: type === 'private-chat' && datum.userName === _store.USER_ALL ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
124
+ size: 16,
125
+ type: _type.FcrIconType.FCR_USERS,
126
+ colors: {
127
+ iconPrimary: 'var(--fcr_ui_scene_white10)'
128
+ }
129
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
130
+ isShowFirstLetter: true,
131
+ size: 32,
132
+ nickName: datum.userName,
133
+ textSize: 14
134
+ })
135
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
136
+ className: "candidate",
137
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
138
+ className: "candidate-info",
139
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
140
+ className: (0, _classnames["default"])('candidate-name', {
141
+ 'candidate-name-active': selectedUid === indexUser.userId
142
+ }),
143
+ children: highlightMatches(datum.userName, filterKey).map(function (value) {
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
145
+ className: value !== null && value !== void 0 && value.isHighlight ? 'candidate-highlight' : '',
146
+ children: value.data
147
+ });
148
+ })
149
+ }), datum.userId !== _store.USER_ALL && (datum.userRole === _type2.FcrUserRole.COHOST || datum.userRole === _type2.FcrUserRole.HOST) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
150
+ txt: t(datum.userRole === _type2.FcrUserRole.HOST ? 'fmt_role_host' : 'fmt_role_cohost'),
151
+ styles: {
152
+ width: 'fit-content'
153
+ },
154
+ type: "gray",
155
+ lineHeight: "small",
156
+ classnames: datum.userRole === _type2.FcrUserRole.HOST ? 'host' : 'cohost'
157
+ })]
158
+ }), selectedUid === indexUser.userId ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
159
+ className: "candidate-select",
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
161
+ type: _type.FcrIconType.FCR_CHOOSEIT,
162
+ size: 24,
163
+ colors: {
164
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon2)'
165
+ }
166
+ })
167
+ }) : null]
168
+ })]
169
+ }, key), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
170
+ className: "assign-host-border",
171
+ style: {
172
+ top: ((_ref3 = style === null || style === void 0 ? void 0 : style.top) !== null && _ref3 !== void 0 ? _ref3 : 0) + 64 - 1
173
+ }
174
+ })]
175
+ });
176
+ };
177
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
178
+ className: "leave-container",
179
+ children: [title, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
180
+ id: "mobile-assign-host-search",
181
+ className: "assign-host-search",
182
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_input.FcrInput, {
183
+ iconPrefix: {
184
+ colors: {
185
+ iconPrimary: 'var(--fcr_ui_scene_icontext1)'
186
+ },
187
+ type: _type.FcrIconType.FCR_V2_SEARCH
188
+ },
189
+ onChange: function onChange(value) {
190
+ handleFilterChange(value);
191
+ },
192
+ placeholder: t('fmt_attendies_button_serach'),
193
+ shape: "rounded",
194
+ value: filterKey
195
+ })
196
+ }), filterUsers.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
197
+ className: "fcr-no-data",
198
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
199
+ type: _type.FcrIconType.FCR_DEFAULTPAGE
200
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
201
+ children: t('fmt_chat_tips_nodata')
202
+ })]
203
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
204
+ className: "assign-host-body",
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.AutoSizer, {
206
+ style: {
207
+ alignSelf: 'stretch'
208
+ },
209
+ children: function children(_ref4) {
210
+ var width = _ref4.width;
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.List, {
212
+ className: 'candidate-list',
213
+ width: width,
214
+ height: listHeight,
215
+ rowCount: rowCount,
216
+ rowHeight: 64,
217
+ rowRenderer: rowRenderer
218
+ });
219
+ }
220
+ })
221
+ }), bottomBar]
222
+ });
223
+ });
@@ -0,0 +1,2 @@
1
+ import ChatStore from './store';
2
+ export declare const StoreContext: import("react").Context<ChatStore>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.StoreContext = void 0;
8
+ var _react = require("react");
9
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1 @@
1
+ export declare const DemoWrapper: React.FC;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DemoWrapper = void 0;
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ var DemoWrapper = exports.DemoWrapper = function DemoWrapper(_ref) {
10
+ var children = _ref.children;
11
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
12
+ style: {
13
+ display: 'flex',
14
+ width: '100%',
15
+ height: '100%',
16
+ justifyContent: 'center',
17
+ alignItems: 'center',
18
+ padding: 20
19
+ },
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
21
+ style: {
22
+ background: 'aliceblue',
23
+ marginTop: 160,
24
+ height: '100%',
25
+ width: '100%',
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center'
29
+ },
30
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
31
+ style: {
32
+ marginTop: 20,
33
+ marginBottom: 50,
34
+ display: 'flex',
35
+ height: 500,
36
+ width: 340
37
+ },
38
+ children: children
39
+ })
40
+ })
41
+ });
42
+ };