fcr-ui-scene 3.9.0 → 3.9.1-alpha

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 (199) hide show
  1. package/lib/creator/provider-initializer.browser.js +2 -1
  2. package/lib/creator/provider-initializer.electron.js +11 -4
  3. package/lib/electron/injections.d.ts +1 -0
  4. package/lib/electron/injections.js +4 -1
  5. package/lib/electron/preload.js +1 -0
  6. package/lib/modules/action-bar/main-scene/store.base.d.ts +1 -0
  7. package/lib/modules/action-bar/main-scene/store.base.js +5 -0
  8. package/lib/modules/audio-stream/index.d.ts +2 -0
  9. package/lib/modules/audio-stream/index.js +33 -1
  10. package/lib/modules/chat/index.js +1 -1
  11. package/lib/modules/chat/store.d.ts +1 -1
  12. package/lib/modules/chat/store.js +4 -2
  13. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  14. package/lib/modules/components/device-control/store.base.js +22 -3
  15. package/lib/modules/components/leave-meeting/index.js +3 -2
  16. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +1 -0
  17. package/lib/modules/components/leave-meeting/main-scene/store.js +6 -1
  18. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  19. package/lib/modules/components/leave-meeting/store.base.js +1 -1
  20. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +1 -0
  21. package/lib/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  22. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  23. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  24. package/lib/modules/components/member-window/components/member-actions/index.js +0 -7
  25. package/lib/modules/components/member-window/components/member-actions/store.js +1 -1
  26. package/lib/modules/components/member-window/index.js +1 -1
  27. package/lib/modules/components/tab-frame/index.css +12 -1
  28. package/lib/modules/components/tab-frame/index.js +4 -1
  29. package/lib/modules/control-bar/components/share-state-nav/index.js +1 -3
  30. package/lib/modules/control-bar/mouse-event-bridge.d.ts +23 -0
  31. package/lib/modules/control-bar/mouse-event-bridge.js +87 -0
  32. package/lib/modules/control-bar/store.d.ts +1 -1
  33. package/lib/modules/control-bar/store.js +10 -27
  34. package/lib/modules/control-bar/type.d.ts +0 -1
  35. package/lib/modules/control-bar/view.js +9 -16
  36. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  37. package/lib/modules/dialog/dialogs/invite/index.js +6 -24
  38. package/lib/modules/invite/components/copy-info.css +72 -0
  39. package/lib/modules/invite/components/copy-info.d.ts +3 -0
  40. package/lib/modules/invite/components/copy-info.js +144 -0
  41. package/lib/modules/invite/components/pstn-invite.js +3 -15
  42. package/lib/modules/invite/components/voip-invite.js +10 -1
  43. package/lib/modules/invite/enums.d.ts +3 -1
  44. package/lib/modules/invite/enums.js +2 -0
  45. package/lib/modules/invite/store.d.ts +4 -1
  46. package/lib/modules/invite/store.js +37 -13
  47. package/lib/modules/invite/view.js +41 -20
  48. package/lib/modules/layout/store.base.d.ts +2 -1
  49. package/lib/modules/layout/store.base.js +20 -23
  50. package/lib/modules/participant/components/confirm-input/index.css +67 -1
  51. package/lib/modules/participant/components/confirm-input/index.js +16 -13
  52. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  53. package/lib/modules/participant/store.base.d.ts +1 -0
  54. package/lib/modules/participant/store.base.js +34 -7
  55. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +2 -0
  56. package/lib/modules/pc-audio-connect/main-scene/store.js +12 -2
  57. package/lib/modules/pc-audio-connect/view.js +4 -2
  58. package/lib/modules/phone-audio-connect/store.d.ts +6 -4
  59. package/lib/modules/phone-audio-connect/store.js +12 -1
  60. package/lib/modules/phone-audio-connect/view.js +6 -4
  61. package/lib/modules/secondary-window/index.js +2 -2
  62. package/lib/modules/secondary-window/store.d.ts +3 -0
  63. package/lib/modules/secondary-window/store.js +16 -1
  64. package/lib/modules/secondary-window/view.js +96 -72
  65. package/lib/modules/toast-manager/type.d.ts +2 -1
  66. package/lib/modules/toast-manager/type.js +4 -1
  67. package/lib/plugins/module-dev-plugin.js +4 -4
  68. package/lib/providers/ability-provider.d.ts +15 -0
  69. package/lib/providers/ability-provider.js +13 -1
  70. package/lib/providers/mouse-detect/provider.d.ts +2 -0
  71. package/lib/providers/mouse-detect/provider.empty.d.ts +14 -0
  72. package/lib/providers/mouse-detect/provider.empty.js +47 -0
  73. package/lib/providers/mouse-detect/provider.js +13 -4
  74. package/lib/providers/mouse-detect/type.d.ts +2 -0
  75. package/lib/providers/phone-audio-provider.d.ts +31 -5
  76. package/lib/providers/phone-audio-provider.js +83 -22
  77. package/lib/runtime.d.ts +1 -0
  78. package/lib/scenes/main-scene.js +2 -1
  79. package/lib/shared-data/chat-data.d.ts +19 -0
  80. package/lib/shared-data/chat-data.js +54 -7
  81. package/lib/shared-data/member-data.d.ts +9 -1
  82. package/lib/shared-data/member-data.js +46 -17
  83. package/lib/shared-data/video-window.js +8 -4
  84. package/lib/translations/enUS.d.ts +245 -1
  85. package/lib/translations/enUS.js +247 -3
  86. package/lib/translations/zhCN.d.ts +245 -1
  87. package/lib/translations/zhCN.js +246 -2
  88. package/lib/utilities/os.d.ts +1 -0
  89. package/lib/utilities/os.js +15 -0
  90. package/lib/utilities/renderer.d.ts +1 -0
  91. package/lib/utilities/renderer.js +7 -1
  92. package/lib-es/creator/provider-initializer.browser.js +2 -1
  93. package/lib-es/creator/provider-initializer.electron.js +9 -2
  94. package/lib-es/electron/injections.js +3 -0
  95. package/lib-es/electron/preload.js +2 -1
  96. package/lib-es/modules/action-bar/main-scene/store.base.js +5 -0
  97. package/lib-es/modules/audio-stream/index.js +33 -1
  98. package/lib-es/modules/chat/index.js +1 -1
  99. package/lib-es/modules/chat/store.js +4 -2
  100. package/lib-es/modules/components/device-control/store.base.js +22 -3
  101. package/lib-es/modules/components/leave-meeting/index.js +3 -2
  102. package/lib-es/modules/components/leave-meeting/main-scene/store.js +6 -1
  103. package/lib-es/modules/components/leave-meeting/store.base.js +1 -1
  104. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  105. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  106. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  107. package/lib-es/modules/components/member-window/components/member-actions/index.js +0 -7
  108. package/lib-es/modules/components/member-window/components/member-actions/store.js +1 -1
  109. package/lib-es/modules/components/member-window/index.js +1 -1
  110. package/lib-es/modules/components/tab-frame/index.css +12 -1
  111. package/lib-es/modules/components/tab-frame/index.js +4 -1
  112. package/lib-es/modules/control-bar/components/share-state-nav/index.js +1 -3
  113. package/lib-es/modules/control-bar/mouse-event-bridge.js +79 -0
  114. package/lib-es/modules/control-bar/store.js +11 -28
  115. package/lib-es/modules/control-bar/view.js +9 -16
  116. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  117. package/lib-es/modules/dialog/dialogs/invite/index.js +6 -24
  118. package/lib-es/modules/invite/components/copy-info.css +72 -0
  119. package/lib-es/modules/invite/components/copy-info.js +137 -0
  120. package/lib-es/modules/invite/components/pstn-invite.js +3 -15
  121. package/lib-es/modules/invite/components/voip-invite.js +10 -1
  122. package/lib-es/modules/invite/enums.js +2 -0
  123. package/lib-es/modules/invite/store.js +38 -14
  124. package/lib-es/modules/invite/view.js +43 -22
  125. package/lib-es/modules/layout/store.base.js +20 -23
  126. package/lib-es/modules/participant/components/confirm-input/index.css +67 -1
  127. package/lib-es/modules/participant/components/confirm-input/index.js +16 -13
  128. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  129. package/lib-es/modules/participant/store.base.js +34 -7
  130. package/lib-es/modules/pc-audio-connect/main-scene/store.js +12 -2
  131. package/lib-es/modules/pc-audio-connect/view.js +4 -2
  132. package/lib-es/modules/phone-audio-connect/store.js +12 -1
  133. package/lib-es/modules/phone-audio-connect/view.js +6 -4
  134. package/lib-es/modules/secondary-window/index.js +2 -2
  135. package/lib-es/modules/secondary-window/store.js +16 -1
  136. package/lib-es/modules/secondary-window/view.js +97 -73
  137. package/lib-es/modules/toast-manager/type.js +4 -1
  138. package/lib-es/plugins/module-dev-plugin.js +4 -4
  139. package/lib-es/providers/ability-provider.js +13 -1
  140. package/lib-es/providers/mouse-detect/provider.empty.js +39 -0
  141. package/lib-es/providers/mouse-detect/provider.js +13 -4
  142. package/lib-es/providers/phone-audio-provider.js +109 -48
  143. package/lib-es/scenes/main-scene.js +3 -2
  144. package/lib-es/shared-data/chat-data.js +55 -8
  145. package/lib-es/shared-data/member-data.js +46 -17
  146. package/lib-es/shared-data/video-window.js +8 -4
  147. package/lib-es/translations/enUS.js +247 -3
  148. package/lib-es/translations/zhCN.js +246 -2
  149. package/lib-es/utilities/os.js +8 -0
  150. package/lib-es/utilities/renderer.js +7 -1
  151. package/lib-es/utilities/shared-storage.js +2 -2
  152. package/package.json +6 -6
  153. package/lib/modules/connection-gateway/components/computer/index.css +0 -12
  154. package/lib/modules/connection-gateway/components/computer/index.d.ts +0 -3
  155. package/lib/modules/connection-gateway/components/computer/index.js +0 -66
  156. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  157. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +0 -10
  158. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -78
  159. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  160. package/lib/modules/connection-gateway/components/phone/components/calling/index.d.ts +0 -7
  161. package/lib/modules/connection-gateway/components/phone/components/calling/index.js +0 -58
  162. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  163. package/lib/modules/connection-gateway/components/phone/components/remeber/index.d.ts +0 -5
  164. package/lib/modules/connection-gateway/components/phone/components/remeber/index.js +0 -24
  165. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  166. package/lib/modules/connection-gateway/components/phone/components/useing/index.d.ts +0 -3
  167. package/lib/modules/connection-gateway/components/phone/components/useing/index.js +0 -36
  168. package/lib/modules/connection-gateway/components/phone/index.css +0 -49
  169. package/lib/modules/connection-gateway/components/phone/index.d.ts +0 -3
  170. package/lib/modules/connection-gateway/components/phone/index.js +0 -185
  171. package/lib/modules/connection-gateway/enums.d.ts +0 -4
  172. package/lib/modules/connection-gateway/enums.js +0 -12
  173. package/lib/modules/connection-gateway/index.css +0 -6
  174. package/lib/modules/connection-gateway/index.d.ts +0 -10
  175. package/lib/modules/connection-gateway/index.js +0 -78
  176. package/lib/modules/connection-gateway/store.d.ts +0 -68
  177. package/lib/modules/connection-gateway/store.js +0 -713
  178. package/lib/modules/connection-gateway/types.d.ts +0 -8
  179. package/lib/modules/connection-gateway/types.js +0 -6
  180. package/lib/modules/connection-gateway/view.d.ts +0 -1
  181. package/lib/modules/connection-gateway/view.js +0 -39
  182. package/lib-es/modules/connection-gateway/components/computer/index.css +0 -12
  183. package/lib-es/modules/connection-gateway/components/computer/index.js +0 -59
  184. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  185. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -71
  186. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  187. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +0 -51
  188. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  189. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +0 -17
  190. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  191. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +0 -29
  192. package/lib-es/modules/connection-gateway/components/phone/index.css +0 -49
  193. package/lib-es/modules/connection-gateway/components/phone/index.js +0 -177
  194. package/lib-es/modules/connection-gateway/enums.js +0 -5
  195. package/lib-es/modules/connection-gateway/index.css +0 -6
  196. package/lib-es/modules/connection-gateway/index.js +0 -60
  197. package/lib-es/modules/connection-gateway/store.js +0 -707
  198. package/lib-es/modules/connection-gateway/types.js +0 -1
  199. package/lib-es/modules/connection-gateway/view.js +0 -31
@@ -94,6 +94,11 @@ var LeaveMeetingStoreMain = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
94
94
  get: function get() {
95
95
  return this._sharedMemberDataSource.hasOwnPstnStream;
96
96
  }
97
+ }, {
98
+ key: "isVolteUser",
99
+ get: function get() {
100
+ return this._sharedMemberDataSource.hasOwnVolteStream;
101
+ }
97
102
  }, {
98
103
  key: "isHostSupportedByPlatform",
99
104
  value: function isHostSupportedByPlatform(platform) {
@@ -102,6 +107,6 @@ var LeaveMeetingStoreMain = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
102
107
  }]);
103
108
  }(LeaveMeetingStoreBase);
104
109
  _LeaveMeetingStoreMain = LeaveMeetingStoreMain;
105
- var _applyDecs$e = _slicedToArray(_applyDecs(_LeaveMeetingStoreMain, [[computed, 3, "hostAvailibleRemoteUsers"], [computed, 3, "isPstnUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, LeaveMeetingStoreBase).e, 1);
110
+ var _applyDecs$e = _slicedToArray(_applyDecs(_LeaveMeetingStoreMain, [[computed, 3, "hostAvailibleRemoteUsers"], [computed, 3, "isPstnUser"], [computed, 3, "isVolteUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, LeaveMeetingStoreBase).e, 1);
106
111
  _initProto = _applyDecs$e[0];
107
112
  export { LeaveMeetingStoreMain as default };
@@ -179,7 +179,7 @@ export var LeaveMeetingStoreBase = /*#__PURE__*/function () {
179
179
  return this._checkIfQuitFullScreen();
180
180
  case 1:
181
181
  this.loading = true;
182
- _t = this.keepConnect && this.isPstnUser;
182
+ _t = this.keepConnect && (this.isPstnUser || this.isVolteUser);
183
183
  if (!_t) {
184
184
  _context2.next = 2;
185
185
  break;
@@ -85,6 +85,11 @@ var LeaveMeetingStoreWaiting = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
85
85
  get: function get() {
86
86
  return false;
87
87
  }
88
+ }, {
89
+ key: "isVolteUser",
90
+ get: function get() {
91
+ return false;
92
+ }
88
93
  }, {
89
94
  key: "isHostSupportedByPlatform",
90
95
  value: function isHostSupportedByPlatform(platform) {
@@ -93,6 +98,6 @@ var LeaveMeetingStoreWaiting = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
93
98
  }]);
94
99
  }(LeaveMeetingStoreBase);
95
100
  _LeaveMeetingStoreWaiting = LeaveMeetingStoreWaiting;
96
- var _applyDecs$e = _slicedToArray(_applyDecs(_LeaveMeetingStoreWaiting, [[computed, 3, "hostAvailibleRemoteUsers"], [computed, 3, "isPstnUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, LeaveMeetingStoreBase).e, 1);
101
+ var _applyDecs$e = _slicedToArray(_applyDecs(_LeaveMeetingStoreWaiting, [[computed, 3, "hostAvailibleRemoteUsers"], [computed, 3, "isPstnUser"], [computed, 3, "isVolteUser"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"]], [], 0, void 0, LeaveMeetingStoreBase).e, 1);
97
102
  _initProto = _applyDecs$e[0];
98
103
  export { LeaveMeetingStoreWaiting as default };
@@ -5,8 +5,8 @@ import { useI18n } from 'agora-ui-foundation/lib/i18n';
5
5
  import classNames from 'classnames';
6
6
  import { MicVolume } from '../../mic-volume';
7
7
  import { NoMuteIconButton, SipDeviceIconButton } from './icon-buttons';
8
- import { FcrIconPhoneCall } from 'agora-ui-foundation/lib/components/icon-phone-call';
9
8
  import { useMemberWindowActionsStore } from '../provider';
9
+ import { MicrophoneState } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/microphone-state';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  export var IconStatus = observer(function (_ref) {
12
12
  var iconSize = _ref.iconSize,
@@ -45,15 +45,12 @@ export var IconStatus = observer(function (_ref) {
45
45
  };
46
46
  var renderPhoneStatus = function renderPhoneStatus() {
47
47
  if (!isPurePhone) {
48
- return /*#__PURE__*/_jsx("button", {
49
- className: "fcr-user-window-actions-microphone",
50
- children: /*#__PURE__*/_jsx(FcrIconPhoneCall, {
51
- size: iconSize,
52
- isMuted: !phoneMicEnabled,
53
- iconColors: {
54
- iconPrimary: store.ownerRoleType === FcrUserRole.HOST ? 'var(--fcr_ui_scene_white10)' : 'var(--fcr_ui_scene_ramp_lightgreen6)'
55
- }
56
- })
48
+ return /*#__PURE__*/_jsx(MicrophoneState, {
49
+ isPhoneMic: true,
50
+ isMicrophoneMuted: !phoneMicEnabled,
51
+ size: iconSize,
52
+ voicePercent: volume,
53
+ activeColor: store.ownerRoleType === FcrUserRole.HOST ? 'var(--fcr_ui_scene_white10)' : 'var(--fcr_ui_scene_ramp_lightgreen6)'
57
54
  });
58
55
  }
59
56
  };
@@ -41,8 +41,8 @@ export var MoreActions = observer(function (_ref) {
41
41
  isShowActionAudio = _actionMute.isShowActionAudio,
42
42
  actionAudioTag = _actionMute.actionAudioTag;
43
43
  var connectorType = audioStreamConnectorType !== FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
44
- var isPhone = connectorType === FcrRoomConnectorType.PSTN;
45
- var userType = audioStreamConnectorType === FcrRoomConnectorType.PSTN && !hasVideoStream ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
44
+ var isPhone = connectorType === FcrRoomConnectorType.PSTN || connectorType === FcrRoomConnectorType.VOLTE;
45
+ var userType = (audioStreamConnectorType === FcrRoomConnectorType.PSTN || audioStreamConnectorType === FcrRoomConnectorType.VOLTE) && !hasVideoStream ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
46
46
  var isHost = ownerRoleType === FcrUserRole.HOST;
47
47
  var audioDeviceType = isPhone ? 'phone-mic' : 'computer-mic';
48
48
  var userData = {
@@ -2,7 +2,6 @@ import "core-js/modules/es.array.find.js";
2
2
  import "core-js/modules/es.object.to-string.js";
3
3
  import "core-js/modules/esnext.iterator.constructor.js";
4
4
  import "core-js/modules/esnext.iterator.find.js";
5
- import { FcrRoomConnectorType } from 'fcr-core';
6
5
  import { MemberWindowActionsProvider } from './provider';
7
6
  import { MemberActionsLayout } from './components/layout/index';
8
7
  import { MoreActions } from './components/more-actions';
@@ -38,12 +37,6 @@ export var MemberWindowActions = function MemberWindowActions(_ref) {
38
37
  hasMutePermission = _ref.hasMutePermission,
39
38
  hasUnmutePermission = _ref.hasUnmutePermission,
40
39
  hasRequestStartAudioPermission = _ref.hasRequestStartAudioPermission;
41
- var audioStreamConnectorType = windowData.audioStreamConnectorType,
42
- videoStreamConnectorType = windowData.videoStreamConnectorType,
43
- hasMicrophoneAudioStream = windowData.hasMicrophoneAudioStream,
44
- phoneMicEnabled = windowData.phoneMicEnabled;
45
- var connectorType = audioStreamConnectorType !== FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
46
- var hideAudioConnectIcon = !!(connectorType === FcrRoomConnectorType.NONE ? hasMicrophoneAudioStream : connectorType === FcrRoomConnectorType.PSTN ? phoneMicEnabled : false);
47
40
  return /*#__PURE__*/_jsx(MemberWindowActionsProvider, {
48
41
  windowData: windowData,
49
42
  sendParticipantEvent: sendParticipantEvent,
@@ -297,7 +297,7 @@ export var MemberWindowActionsStore = /*#__PURE__*/function () {
297
297
  }, {
298
298
  key: "isPhone",
299
299
  get: function get() {
300
- return this.connectorType === FcrRoomConnectorType.PSTN;
300
+ return this.connectorType === FcrRoomConnectorType.PSTN || this.connectorType === FcrRoomConnectorType.VOLTE;
301
301
  }
302
302
  }, {
303
303
  key: "isInterpreter",
@@ -80,7 +80,7 @@ export var MemberWindow = observer(function (_ref) {
80
80
  avatar = windowData.avatar;
81
81
  var t = useI18n();
82
82
  var connectorType = audioStreamConnectorType !== FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
83
- var isPhone = audioStreamConnectorType === FcrRoomConnectorType.PSTN;
83
+ var isPhone = audioStreamConnectorType === FcrRoomConnectorType.PSTN || audioStreamConnectorType === FcrRoomConnectorType.VOLTE;
84
84
  var isPhoneOnlyAudio = isPhone && !videoStreamId;
85
85
  var isMeeting = meetingConnectorTypes.has(connectorType);
86
86
  var suffixedName = userName + (isMySelf ? t('fmt_attendies_labels_setting_mine') : '');
@@ -6,7 +6,7 @@
6
6
  }
7
7
 
8
8
  .fcr-tabs-frame-tabs {
9
- padding: 9px 0;
9
+ padding: 6px 0;
10
10
  display: flex;
11
11
  justify-content: center;
12
12
  -webkit-app-region: drag;
@@ -38,3 +38,14 @@
38
38
  justify-content: center;
39
39
  padding: 0px 12px 12px 12px;
40
40
  }
41
+
42
+ .fcr-tabs-frame-tabs-single {
43
+ font-weight: 600;
44
+ font-size: 14px;
45
+ line-height: 20px;
46
+ color: var(--fcr_ui_scene_icontext1);
47
+ height: 34px;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ }
@@ -28,7 +28,7 @@ function FcrDialogTabFrame(props) {
28
28
  className: "fcr-tabs-frame-tabs"
29
29
  // {...bind?.()}
30
30
  ,
31
- children: /*#__PURE__*/_jsx(FcrTabs, {
31
+ children: tabs.length > 1 ? /*#__PURE__*/_jsx(FcrTabs, {
32
32
  activeKey: currentKey,
33
33
  items: tabs,
34
34
  onChange: function onChange(key) {
@@ -37,6 +37,9 @@ function FcrDialogTabFrame(props) {
37
37
  return tab.key === key;
38
38
  })) === null || _tabs$find === void 0 ? void 0 : _tabs$find.content) && setCurrentKey(key);
39
39
  }
40
+ }) : /*#__PURE__*/_jsx("div", {
41
+ className: "fcr-tabs-frame-tabs-single",
42
+ children: tabs[0].label
40
43
  })
41
44
  }), tabs.map(function (_ref) {
42
45
  var key = _ref.key,
@@ -34,8 +34,7 @@ export var DragIcon = function DragIcon() {
34
34
  export var ShareStateNav = observer(function (props) {
35
35
  var onShareStateNavTransferPosition = props.onShareStateNavTransferPosition,
36
36
  currentPosition = props.currentPosition,
37
- onMouseEnter = props.onMouseEnter,
38
- onMouseLeave = props.onMouseLeave;
37
+ onMouseEnter = props.onMouseEnter;
39
38
  var _useContext = useContext(StoreContext),
40
39
  isMuteAudio = _useContext.isMuteAudio,
41
40
  isInSmoothMode = _useContext.isInSmoothMode,
@@ -45,7 +44,6 @@ export var ShareStateNav = observer(function (props) {
45
44
  var transI18n = useI18n();
46
45
  return /*#__PURE__*/_jsxs("div", {
47
46
  onMouseEnter: onMouseEnter,
48
- onMouseLeave: onMouseLeave,
49
47
  className: "share-state-nav fcr-flex fcr-items-center \n fcr-justify-center share-action-nav__can-draggable \n ".concat(currentPosition === TransferPosition.TOP ? 'share-state-nav-top' : 'share-state-nav-bottom'),
50
48
  children: [/*#__PURE__*/_jsx(DragIcon, {}), /*#__PURE__*/_jsx(TransferPositionIcon, {
51
49
  onTransferPositionButtonClick: onShareStateNavTransferPosition,
@@ -0,0 +1,79 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import { FcrUIDetectAreaID } from '../../providers/mouse-detect/struct';
4
+ export var ControlBarMouseEventBridge = /*#__PURE__*/function () {
5
+ function ControlBarMouseEventBridge(_ref) {
6
+ var _this = this;
7
+ var controlBarWindow = _ref.controlBarWindow,
8
+ mouseDetectProvider = _ref.mouseDetectProvider,
9
+ logger = _ref.logger;
10
+ _classCallCheck(this, ControlBarMouseEventBridge);
11
+ this._controlBarWindow = controlBarWindow;
12
+ this._mouseDetectProvider = mouseDetectProvider;
13
+ this._logger = logger;
14
+ this._mouseDetectObserver = {
15
+ onMouseEnterDetectArea: function onMouseEnterDetectArea(areaId) {
16
+ if (areaId !== FcrUIDetectAreaID.ControlBar) return;
17
+ if (!_this._shouldUseMouseDetect()) return;
18
+ _this._controlBarWindow.setIgnoreMouseEvents(false);
19
+ _this._controlBarWindow.focus();
20
+ },
21
+ onMouseLeaveDetectArea: function onMouseLeaveDetectArea(areaId) {
22
+ if (areaId !== FcrUIDetectAreaID.ControlBar) return;
23
+ if (!_this._shouldUseMouseDetect()) return;
24
+ _this._controlBarWindow.setIgnoreMouseEvents(true, {
25
+ forward: true
26
+ });
27
+ }
28
+ };
29
+ this._windowObserver = {
30
+ onBlurred: function onBlurred() {
31
+ if (!_this._shouldUseMouseDetect()) return;
32
+ _this._controlBarWindow.setIgnoreMouseEvents(true, {
33
+ forward: true
34
+ });
35
+ }
36
+ };
37
+ this._logger.info('should use dom mouse:', this._shouldUseDomMouse());
38
+ this._logger.info('should use mouse detect:', this._shouldUseMouseDetect());
39
+ }
40
+ return _createClass(ControlBarMouseEventBridge, [{
41
+ key: "initialize",
42
+ value: function initialize() {
43
+ this._mouseDetectProvider.addObserver(this._mouseDetectObserver);
44
+ this._controlBarWindow.addObserver(this._windowObserver);
45
+ }
46
+ }, {
47
+ key: "dispose",
48
+ value: function dispose() {
49
+ this._mouseDetectProvider.removeObserver(this._mouseDetectObserver);
50
+ this._controlBarWindow.removeObserver(this._windowObserver);
51
+ }
52
+ }, {
53
+ key: "handleDomMouseEnter",
54
+ value: function handleDomMouseEnter() {
55
+ if (!this._shouldUseDomMouse()) return;
56
+ this._logger.info('handleMouseEnter');
57
+ this._controlBarWindow.setIgnoreMouseEvents(false);
58
+ }
59
+ }, {
60
+ key: "handleDomMouseLeave",
61
+ value: function handleDomMouseLeave() {
62
+ if (!this._shouldUseDomMouse()) return;
63
+ this._logger.info('handleMouseLeave');
64
+ this._controlBarWindow.setIgnoreMouseEvents(true, {
65
+ forward: true
66
+ });
67
+ }
68
+ }, {
69
+ key: "_shouldUseMouseDetect",
70
+ value: function _shouldUseMouseDetect() {
71
+ return this._mouseDetectProvider.isMouseDetectEnabled();
72
+ }
73
+ }, {
74
+ key: "_shouldUseDomMouse",
75
+ value: function _shouldUseDomMouse() {
76
+ return !this._mouseDetectProvider.isMouseDetectEnabled();
77
+ }
78
+ }]);
79
+ }();
@@ -74,11 +74,12 @@ import { MoreAction } from './enums';
74
74
  import { cloudRecordingConfig } from '../../utilities/default-config';
75
75
  import { copyText } from 'agora-ui-foundation/lib/utilities/copy-text';
76
76
  import { electronWindowConfig as controlBarWindowConfig } from '../dialog/dialogs/control-bar';
77
- import { isWindows, isMac } from 'agora-foundation/lib/utilities/env';
77
+ import { isWindows } from 'agora-foundation/lib/utilities/env';
78
78
  import { FcrUIDetectAreaID } from '../../providers/mouse-detect/struct';
79
79
  import { FcrSharePermissionState } from 'fcr-core/lib/room-control/sharing-control/type';
80
80
  import { WhiteboardToolAction } from '../secondary-window/type';
81
81
  import { FcrUIToastKey } from '../../modules/toast-manager/type';
82
+ import { ControlBarMouseEventBridge } from './mouse-event-bridge';
82
83
  var _F = /*#__PURE__*/new WeakMap();
83
84
  var _G = /*#__PURE__*/new WeakMap();
84
85
  var _H = /*#__PURE__*/new WeakMap();
@@ -160,23 +161,6 @@ var ControlBarStore = /*#__PURE__*/function () {
160
161
  _this.updateWindowBounds(sharingDisplayBounds);
161
162
  }
162
163
  });
163
- _defineProperty(this, "_mouseDetectObserver", {
164
- onMouseEnterDetectArea: function onMouseEnterDetectArea(areaId) {
165
- if (areaId === FcrUIDetectAreaID.ControlBar) {
166
- _this._controlBarWindow.setIgnoreMouseEvents(false);
167
- if (isWindows()) {
168
- _this._controlBarWindow.focus();
169
- }
170
- }
171
- },
172
- onMouseLeaveDetectArea: function onMouseLeaveDetectArea(areaId) {
173
- if (areaId === FcrUIDetectAreaID.ControlBar) {
174
- _this._controlBarWindow.setIgnoreMouseEvents(true, {
175
- forward: true
176
- });
177
- }
178
- }
179
- });
180
164
  _defineProperty(this, "_stateNavArea", {
181
165
  x: 0,
182
166
  y: 0,
@@ -281,7 +265,12 @@ var ControlBarStore = /*#__PURE__*/function () {
281
265
  _this.boardOwnerUser = '';
282
266
  }
283
267
  };
284
- this._mouseDetectProvider.addObserver(this._mouseDetectObserver);
268
+ this._mouseEventBridge = new ControlBarMouseEventBridge({
269
+ controlBarWindow: this._controlBarWindow,
270
+ mouseDetectProvider: this._mouseDetectProvider,
271
+ logger: this.logger
272
+ });
273
+ this._mouseEventBridge.initialize();
285
274
  this._screenShareProvider.addObserver(this._screenShareObserver);
286
275
  this._mainRoomControl.addObserver(this._roomObserver);
287
276
  this._mainRoomControl.getSharingControl().getBoardControl().addObserver(this._boardObserver);
@@ -626,18 +615,12 @@ var ControlBarStore = /*#__PURE__*/function () {
626
615
  }, {
627
616
  key: "handleMouseEnter",
628
617
  value: function handleMouseEnter() {
629
- if (isMac()) {
630
- this._controlBarWindow.setIgnoreMouseEvents(false);
631
- }
618
+ this._mouseEventBridge.handleDomMouseEnter();
632
619
  }
633
620
  }, {
634
621
  key: "handleMouseLeave",
635
622
  value: function handleMouseLeave() {
636
- if (isMac()) {
637
- this._controlBarWindow.setIgnoreMouseEvents(true, {
638
- forward: true
639
- });
640
- }
623
+ this._mouseEventBridge.handleDomMouseLeave();
641
624
  }
642
625
  }, {
643
626
  key: "openLiveStreamingDialog",
@@ -715,7 +698,7 @@ var ControlBarStore = /*#__PURE__*/function () {
715
698
  this._mainRoomControl.getSharingControl().getBoardControl().removeObserver(this._boardObserver);
716
699
  this._mainRoomControl.removeObserver(this._roomObserver);
717
700
  this._screenShareProvider.removeObserver(this._screenShareObserver);
718
- this._mouseDetectProvider.removeObserver(this._mouseDetectObserver);
701
+ this._mouseEventBridge.dispose();
719
702
  this._mouseDetectProvider.deleteDetectArea(FcrUIDetectAreaID.ControlBar);
720
703
  }
721
704
  }, {
@@ -281,11 +281,13 @@ var ControlBar = observer(function () {
281
281
  currentShareDisplayId = _useContext5.currentShareDisplayId,
282
282
  updateWindowBounds = _useContext5.updateWindowBounds,
283
283
  setPopoverArea = _useContext5.setPopoverArea,
284
- resetPopoverArea = _useContext5.resetPopoverArea;
284
+ resetPopoverArea = _useContext5.resetPopoverArea,
285
+ handleMouseLeave = _useContext5.handleMouseLeave;
285
286
  var updatePosition = useContext(DragStateUpdaterContext);
286
287
  var _useContext6 = useContext(ControlBarCalculationUpdaterContext),
287
288
  setDimensions = _useContext6.setDimensions,
288
- setNavPosition = _useContext6.setNavPosition;
289
+ setNavPosition = _useContext6.setNavPosition,
290
+ restartActiveTask = _useContext6.restartActiveTask;
289
291
  var _useState9 = useState('hidden'),
290
292
  _useState0 = _slicedToArray(_useState9, 2),
291
293
  visibility = _useState0[0],
@@ -339,12 +341,17 @@ var ControlBar = observer(function () {
339
341
  }
340
342
  }, [visibility]);
341
343
  usePopoverWatcher(containerRef, setPopoverArea, resetPopoverArea);
344
+ var handleControlBarMouseLeave = useCallback(function () {
345
+ handleMouseLeave();
346
+ restartActiveTask();
347
+ }, [handleMouseLeave, restartActiveTask]);
342
348
  return /*#__PURE__*/_jsxs("div", {
343
349
  ref: containerRef,
344
350
  className: rootClassNames,
345
351
  style: {
346
352
  visibility: visibility
347
353
  },
354
+ onMouseLeave: handleControlBarMouseLeave,
348
355
  children: [/*#__PURE__*/_jsx(ControlBarContent, {}), /*#__PURE__*/_jsx(ShareStateNavigation, {})]
349
356
  });
350
357
  });
@@ -353,11 +360,9 @@ var ControlBar = observer(function () {
353
360
  var ControlBarContent = /*#__PURE__*/memo(function () {
354
361
  var _useContext7 = useContext(StoreContext),
355
362
  handleMouseEnter = _useContext7.handleMouseEnter,
356
- handleMouseLeave = _useContext7.handleMouseLeave,
357
363
  setControlBarContentArea = _useContext7.setControlBarContentArea;
358
364
  var _useContext8 = useContext(ControlBarCalculationUpdaterContext),
359
365
  setIsShareActionNavHidden = _useContext8.setIsShareActionNavHidden,
360
- restartActiveTask = _useContext8.restartActiveTask,
361
366
  cancelActiveTask = _useContext8.cancelActiveTask;
362
367
  var calculation = useContext(ControlBarCalculationContext);
363
368
  var navClassName = useMemo(function () {
@@ -368,10 +373,6 @@ var ControlBarContent = /*#__PURE__*/memo(function () {
368
373
  handleMouseEnter();
369
374
  cancelActiveTask();
370
375
  }, []);
371
- var handleMouseLeaveNav = useCallback(function () {
372
- handleMouseLeave();
373
- restartActiveTask();
374
- }, []);
375
376
  var handleBoundariesChanged = useCallback(function (boundaries) {
376
377
  console.log('ControlBarContent boundaries changed');
377
378
  setControlBarContentArea(boundaries);
@@ -407,7 +408,6 @@ var ControlBarContent = /*#__PURE__*/memo(function () {
407
408
  children: /*#__PURE__*/_jsxs("div", {
408
409
  className: navClassName,
409
410
  onMouseEnter: handleMouseEnterNav,
410
- onMouseLeave: handleMouseLeaveNav,
411
411
  children: [/*#__PURE__*/_jsx(MediaControlGroup, {}), /*#__PURE__*/_jsx(FcrDivider, {
412
412
  style: {
413
413
  marginRight: 24,
@@ -645,7 +645,6 @@ var ShareStateNavigation = /*#__PURE__*/memo(function () {
645
645
  var _useContext17 = useContext(StoreContext),
646
646
  handlerStopShare = _useContext17.handlerStopShare,
647
647
  handleMouseEnter = _useContext17.handleMouseEnter,
648
- handleMouseLeave = _useContext17.handleMouseLeave,
649
648
  setStateNavArea = _useContext17.setStateNavArea;
650
649
  var calculation = useContext(ControlBarCalculationContext);
651
650
  var _useContext18 = useContext(ControlBarCalculationUpdaterContext),
@@ -653,7 +652,6 @@ var ShareStateNavigation = /*#__PURE__*/memo(function () {
653
652
  setNavPosition = _useContext18.setNavPosition,
654
653
  moveBottom = _useContext18.moveBottom,
655
654
  moveTop = _useContext18.moveTop,
656
- restartActiveTask = _useContext18.restartActiveTask,
657
655
  cancelActiveTask = _useContext18.cancelActiveTask;
658
656
 
659
657
  // 从store获取当前位置和相关方法
@@ -672,10 +670,6 @@ var ShareStateNavigation = /*#__PURE__*/memo(function () {
672
670
  handleMouseEnter();
673
671
  cancelActiveTask();
674
672
  }, [setIsShareActionNavHidden, handleMouseEnter, cancelActiveTask]);
675
- var handleMouseLeaveNav = useCallback(function () {
676
- handleMouseLeave();
677
- restartActiveTask();
678
- }, [handleMouseLeave, restartActiveTask]);
679
673
  var handleBoundariesChanged = useCallback(function (boundaries) {
680
674
  console.log('ShareStateNavigation boundaries changed');
681
675
  setStateNavArea(boundaries);
@@ -698,7 +692,6 @@ var ShareStateNavigation = /*#__PURE__*/memo(function () {
698
692
  ref: detector,
699
693
  children: /*#__PURE__*/_jsx(ShareStateNav, {
700
694
  onMouseEnter: handleMouseEnterNav,
701
- onMouseLeave: handleMouseLeaveNav,
702
695
  onShareStateNavTransferPosition: handleTransferPosition,
703
696
  currentPosition: navCurrentPosition,
704
697
  onStopShare: handlerStopShare
@@ -13,7 +13,8 @@ export var GatewayConnectorTabs = observer(function (props) {
13
13
  phoneChildren = props.phoneChildren;
14
14
  var _useContext = useContext(StoreContext),
15
15
  connectType = _useContext.connectType,
16
- hasOwnPstnStream = _useContext.hasOwnPstnStream;
16
+ hasOwnPstnStream = _useContext.hasOwnPstnStream,
17
+ hasOwnVolteStream = _useContext.hasOwnVolteStream;
17
18
  var _useState = useState("".concat(type)),
18
19
  _useState2 = _slicedToArray(_useState, 2),
19
20
  activeTabKey = _useState2[0],
@@ -23,7 +24,7 @@ export var GatewayConnectorTabs = observer(function (props) {
23
24
  key: 'computer',
24
25
  content: computerChildren
25
26
  }, {
26
- label: "".concat(transI18n('fmt_pstn_options_phoneaudio')).concat(hasOwnPstnStream ? "-".concat(transI18n('fmt_PSTN_status_connected')) : ''),
27
+ label: "".concat(transI18n('fmt_pstn_options_phoneaudio')).concat(hasOwnPstnStream || hasOwnVolteStream ? "-".concat(transI18n('fmt_PSTN_status_connected')) : ''),
27
28
  key: 'phone',
28
29
  content: phoneChildren
29
30
  }];
@@ -1,20 +1,3 @@
1
- import "core-js/modules/es.symbol.js";
2
- import "core-js/modules/es.array.filter.js";
3
- import "core-js/modules/es.array.for-each.js";
4
- import "core-js/modules/es.array.push.js";
5
- import "core-js/modules/es.object.define-properties.js";
6
- import "core-js/modules/es.object.define-property.js";
7
- import "core-js/modules/es.object.get-own-property-descriptor.js";
8
- import "core-js/modules/es.object.get-own-property-descriptors.js";
9
- import "core-js/modules/es.object.keys.js";
10
- import "core-js/modules/es.object.to-string.js";
11
- import "core-js/modules/esnext.iterator.constructor.js";
12
- import "core-js/modules/esnext.iterator.filter.js";
13
- import "core-js/modules/esnext.iterator.for-each.js";
14
- import "core-js/modules/web.dom-collections.for-each.js";
15
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
16
- 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; }
17
- 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) { _defineProperty(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; }
18
1
  import { FcrUIDialogKey } from '../../../../utilities/constant';
19
2
  import '../../index.css';
20
3
  import { NormalWindow } from '../../components/normal-window';
@@ -29,12 +12,12 @@ export var InviteDialog = function InviteDialog(_ref) {
29
12
  body: children
30
13
  });
31
14
  };
32
- var baseDialogConfig = {
33
- // width: 430,
34
- // height: 420,
15
+ export var webDialogConfig = {
16
+ onlyTitleCanTriggerDrag: false
35
17
  };
36
- export var webDialogConfig = baseDialogConfig;
37
- export var electronWindowConfig = _objectSpread(_objectSpread({}, baseDialogConfig), {}, {
18
+ export var electronWindowConfig = {
19
+ height: 424,
20
+ width: 400,
38
21
  frame: false,
39
22
  maximizable: false,
40
23
  minimizable: false,
@@ -44,9 +27,8 @@ export var electronWindowConfig = _objectSpread(_objectSpread({}, baseDialogConf
44
27
  y: 0
45
28
  },
46
29
  resizable: false,
47
- hasShadow: false,
48
30
  useContentSize: true,
49
31
  transparent: true,
50
32
  backgroundColor: '#00000000',
51
33
  alwaysOnTop: true
52
- });
34
+ };
@@ -0,0 +1,72 @@
1
+ .fcr-invite-copy-info {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: start;
5
+ justify-content: center;
6
+ padding: 0 20px 0 20px;
7
+ height: 100%;
8
+ }
9
+
10
+ .fcr-invite-copy-info-content {
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: 20px;
14
+ width: 100%;
15
+ padding-bottom: 16px;
16
+ }
17
+
18
+ .fcr-invite-copy-info-title {
19
+ font-size: 14px;
20
+ font-weight: 600;
21
+ color: var(--fcr_ui_scene_icontext1);
22
+ font-weight: 700;
23
+ line-height: 18px;
24
+ letter-spacing: 0px;
25
+ text-transform: capitalize;
26
+ }
27
+
28
+ .fcr-invite-copy-info-content-item {
29
+ width: 100%;
30
+ display: flex;
31
+ flex-direction: row;
32
+ justify-content: flex-start;
33
+ }
34
+
35
+ .fcr-invite-copy-info-content-item-label {
36
+ font-size: 12px;
37
+ font-weight: 400;
38
+ width: 96px;
39
+ color: var(--fcr_ui_scene_icontext2);
40
+ line-height: 18px;
41
+ }
42
+
43
+ .fcr-invite-copy-info-content-item-value {
44
+ font-size: 12px;
45
+ font-weight: 400;
46
+ font-family: Verdana;
47
+ line-height: 18px;
48
+ color: var(--fcr_ui_scene_icontext1);
49
+ width: calc(100% - 96px);
50
+ word-break: break-all;
51
+ }
52
+
53
+ .fcr-invite-copy-info-content-item-value-meeting-id {
54
+ display: flex;
55
+ align-items: center;
56
+ }
57
+
58
+ .fcr-invite-copy-info-content-item-value-meeting-id > svg {
59
+ flex-shrink: 0;
60
+ margin-left: 8px;
61
+ border-radius: var(--fcr_cornerradius_s, 4px);
62
+ cursor: pointer;
63
+ }
64
+
65
+ .fcr-invite-copy-info-content-item-value-meeting-id > svg:hover {
66
+ background-color: var(--fcr_web_ui_scene_hover);
67
+ border: none;
68
+ }
69
+
70
+ .fcr-invite-copy-info-content-item-value-meeting-id > svg:hover path {
71
+ fill: var(--fcr_web_ui_scene_mainicon2);
72
+ }