fcr-ui-scene 3.7.5 → 3.7.7-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/lib/creator/index.js +15 -7
  2. package/lib/creator/provider-initializer.browser.js +13 -4
  3. package/lib/creator/provider-initializer.electron.js +22 -10
  4. package/lib/electron/bootstrap-sdk.js +90 -6
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/struct.d.ts +7 -1
  13. package/lib/electron/struct.js +8 -1
  14. package/lib/electron/until.d.ts +7 -1
  15. package/lib/electron/until.js +11 -2
  16. package/lib/fragments/annotation/store.js +2 -0
  17. package/lib/modules/action-bar/components/item/index.js +1 -0
  18. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  19. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  20. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  21. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  22. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  23. package/lib/modules/audio-stream/index.js +4 -2
  24. package/lib/modules/chat/index.css +8 -0
  25. package/lib/modules/chat/view.js +7 -1
  26. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  27. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  28. package/lib/modules/components/control-bar/index.css +0 -2
  29. package/lib/modules/components/control-bar/index.d.ts +1 -0
  30. package/lib/modules/components/control-bar/index.js +51 -15
  31. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  32. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  33. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  34. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  35. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  36. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  37. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  38. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  39. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  40. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  41. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  42. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  43. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  44. package/lib/modules/components/toolbar/index.js +6 -24
  45. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  46. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  47. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  48. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  49. package/lib/modules/control-bar/hooks.js +2 -1
  50. package/lib/modules/control-bar/store.d.ts +1 -0
  51. package/lib/modules/control-bar/store.js +21 -7
  52. package/lib/modules/control-bar/view.js +96 -28
  53. package/lib/modules/dialog/components/confirm/index.js +6 -24
  54. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  55. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  56. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  57. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  58. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  59. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  60. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  61. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  62. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  63. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  64. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  65. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  66. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  67. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  68. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  69. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  70. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  71. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  72. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  73. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  74. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  75. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  76. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  77. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  78. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  79. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  80. package/lib/modules/dialog/index.css +6 -2
  81. package/lib/modules/dialog/level-config.d.ts +1 -0
  82. package/lib/modules/dialog/level-config.js +2 -1
  83. package/lib/modules/dialog/store.base.d.ts +2 -0
  84. package/lib/modules/dialog/store.browser.d.ts +2 -0
  85. package/lib/modules/dialog/store.browser.js +6 -1
  86. package/lib/modules/dialog/store.electron.d.ts +9 -1
  87. package/lib/modules/dialog/store.electron.js +64 -4
  88. package/lib/modules/dialog/type.d.ts +3 -0
  89. package/lib/modules/event-toast/index.css +0 -1
  90. package/lib/modules/event-toast/index.js +1 -0
  91. package/lib/modules/event-toast/store.base.d.ts +2 -0
  92. package/lib/modules/event-toast/store.base.js +40 -21
  93. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  94. package/lib/modules/event-toast/store.electron.js +19 -9
  95. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  96. package/lib/modules/layout/store.electron.js +1 -1
  97. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  98. package/lib/modules/participant/store.base.d.ts +30 -3
  99. package/lib/modules/participant/store.base.js +249 -96
  100. package/lib/modules/participant/store.browser.js +4 -3
  101. package/lib/modules/participant/store.electron.js +5 -3
  102. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  103. package/lib/modules/secondary-window/store.d.ts +1 -1
  104. package/lib/modules/secondary-window/store.js +14 -22
  105. package/lib/modules/secondary-window/view.js +10 -10
  106. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  107. package/lib/modules/setting/index.js +1 -1
  108. package/lib/modules/setting/state/index.js +1 -1
  109. package/lib/modules/setting/store.base.d.ts +5 -2
  110. package/lib/modules/setting/store.base.js +72 -26
  111. package/lib/modules/share-screen/components/selection/index.css +4 -0
  112. package/lib/modules/share-screen/store.base.js +17 -4
  113. package/lib/modules/share-screen/store.electron.js +5 -2
  114. package/lib/modules/state-bar/layout-config.js +6 -0
  115. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  116. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  117. package/lib/modules/video-window/index.css +6 -0
  118. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  119. package/lib/modules/video-window/popover-watcher.js +34 -31
  120. package/lib/modules/video-window/store.d.ts +32 -5
  121. package/lib/modules/video-window/store.js +156 -63
  122. package/lib/modules/video-window/view.js +50 -1
  123. package/lib/modules/whiteboard/index.d.ts +1 -1
  124. package/lib/modules/whiteboard/index.js +1 -1
  125. package/lib/modules/whiteboard/store.d.ts +3 -0
  126. package/lib/modules/whiteboard/store.js +31 -2
  127. package/lib/modules/whiteboard/view.js +10 -1
  128. package/lib/modules/widget/sdk.js +1 -1
  129. package/lib/modules/widget/store.base.d.ts +1 -0
  130. package/lib/modules/widget/store.browser.d.ts +1 -0
  131. package/lib/modules/widget/store.browser.js +60 -4
  132. package/lib/modules/widget/store.electron.d.ts +1 -0
  133. package/lib/modules/widget/store.electron.js +59 -2
  134. package/lib/modules/widget/type.d.ts +3 -2
  135. package/lib/modules/widget/view.js +9 -4
  136. package/lib/modules/widget/web-widget.d.ts +2 -1
  137. package/lib/modules/widget/web-widget.js +7 -5
  138. package/lib/object-manager.d.ts +2 -2
  139. package/lib/object-manager.js +1 -1
  140. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  141. package/lib/providers/board-share/bar-control/base.js +37 -28
  142. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  143. package/lib/providers/board-share/bar-control/electron.js +19 -16
  144. package/lib/providers/board-share/provider.base.d.ts +8 -1
  145. package/lib/providers/board-share/provider.base.js +12 -2
  146. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  147. package/lib/providers/board-share/provider.browser.js +21 -3
  148. package/lib/providers/device-provider.d.ts +16 -2
  149. package/lib/providers/device-provider.js +53 -60
  150. package/lib/providers/dialog/provider.base.d.ts +1 -0
  151. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  152. package/lib/providers/dialog/provider.browser.js +7 -2
  153. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  154. package/lib/providers/dialog/provider.electron.js +94 -2
  155. package/lib/providers/dialog/type.d.ts +7 -0
  156. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  157. package/lib/providers/mouse-detect/provider.js +119 -5
  158. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  159. package/lib/providers/mouse-detect/struct.js +1 -0
  160. package/lib/providers/mouse-detect/type.d.ts +2 -0
  161. package/lib/providers/multi-display-provider.d.ts +3 -5
  162. package/lib/providers/multi-display-provider.js +0 -9
  163. package/lib/providers/renderer-provider.d.ts +5 -0
  164. package/lib/providers/renderer-provider.js +5 -0
  165. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  166. package/lib/providers/room-provider/room-provider.js +28 -39
  167. package/lib/providers/screen-share/provider.base.js +3 -11
  168. package/lib/providers/screen-share/provider.browser.js +23 -14
  169. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  170. package/lib/providers/screen-share/provider.electron.js +44 -17
  171. package/lib/providers/screen-share/strategy/browser.js +16 -13
  172. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  173. package/lib/providers/screen-share/strategy/electron.js +15 -10
  174. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  175. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  176. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  177. package/lib/providers/screen-share/struct.d.ts +9 -7
  178. package/lib/providers/screen-share/struct.js +11 -8
  179. package/lib/providers/screen-share/type.d.ts +7 -1
  180. package/lib/providers/widget-provider.d.ts +5 -3
  181. package/lib/providers/widget-provider.js +12 -18
  182. package/lib/providers/window/main-window.d.ts +0 -5
  183. package/lib/providers/window/main-window.js +3 -44
  184. package/lib/providers/window/renderer-window.d.ts +1 -0
  185. package/lib/providers/window/renderer-window.js +13 -2
  186. package/lib/runtime.d.ts +1 -0
  187. package/lib/runtime.js +2 -1
  188. package/lib/scenes/main-scene.js +5 -0
  189. package/lib/shared-context/board-context.d.ts +2 -0
  190. package/lib/shared-context/board-context.js +2 -0
  191. package/lib/shared-data/member-data.d.ts +0 -8
  192. package/lib/shared-data/member-data.js +26 -78
  193. package/lib/shared-data/widget-data.d.ts +13 -0
  194. package/lib/shared-data/widget-data.js +50 -0
  195. package/lib/translations/enUS.d.ts +0 -2
  196. package/lib/translations/enUS.js +4 -6
  197. package/lib/translations/zhCN.d.ts +0 -2
  198. package/lib/translations/zhCN.js +4 -6
  199. package/lib/type.d.ts +5 -0
  200. package/lib/ui-scene.d.ts +2 -4
  201. package/lib/ui-scene.js +31 -42
  202. package/lib/utilities/constant.d.ts +3 -1
  203. package/lib/utilities/constant.js +5 -2
  204. package/lib/utilities/default-config.d.ts +18 -0
  205. package/lib/utilities/default-config.js +19 -1
  206. package/lib/utilities/focus-helper.js +10 -3
  207. package/lib/utilities/logger.js +3 -1
  208. package/lib/utilities/renderer.d.ts +1 -0
  209. package/lib/utilities/renderer.js +7 -1
  210. package/package.json +5 -5
  211. package/public/index.html +35 -4
  212. package/lib/modules/action-bar/index.d.ts +0 -17
  213. package/lib/modules/action-bar/index.js +0 -63
  214. package/lib/modules/action-bar/store.base.d.ts +0 -15
  215. package/lib/modules/action-bar/store.base.js +0 -117
  216. package/lib/modules/action-bar/view.d.ts +0 -5
  217. package/lib/modules/action-bar/view.js +0 -112
  218. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  219. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  220. package/lib/modules/control-bar/types.d.ts +0 -31
  221. package/lib/modules/control-bar/types.js +0 -6
  222. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  223. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  224. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  225. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  226. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  227. package/lib/modules/event-toast/store.d.ts +0 -23
  228. package/lib/modules/event-toast/store.js +0 -187
  229. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  230. package/lib/modules/setting/common/advance-link.js +0 -27
  231. package/lib/modules/setting/common/index.css +0 -26
  232. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  233. package/lib/modules/setting/common/useNamespace.js +0 -66
  234. package/lib/modules/widget/store.d.ts +0 -17
  235. package/lib/modules/widget/store.js +0 -71
  236. package/lib/providers/board-share/bar-control.d.ts +0 -51
  237. package/lib/providers/board-share/bar-control.js +0 -390
  238. package/lib/providers/board-share/provider.d.ts +0 -66
  239. package/lib/providers/board-share/provider.js +0 -456
  240. package/lib/providers/screen-share/provider.d.ts +0 -69
  241. package/lib/providers/screen-share/provider.js +0 -615
  242. package/lib/providers/whiteboard-provider.d.ts +0 -26
  243. package/lib/providers/whiteboard-provider.js +0 -131
  244. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  245. package/lib/providers/window/browser-window-proxy.js +0 -1
  246. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  247. package/lib/providers/window/ipc-protocol.js +0 -1
  248. package/lib/providers/window/main-process-handler.d.ts +0 -0
  249. package/lib/providers/window/main-process-handler.js +0 -1
  250. package/lib/providers/window/main-process-integration.d.ts +0 -0
  251. package/lib/providers/window/main-process-integration.js +0 -1
  252. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  253. package/lib/shared-data/whiteboard-data.js +0 -342
  254. package/lib/utilities/ipc-protocol.d.ts +0 -91
  255. package/lib/utilities/ipc-protocol.js +0 -61
@@ -33,7 +33,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
33
33
  onScaleChange = _ref.onScaleChange,
34
34
  onPositionChange = _ref.onPositionChange;
35
35
  var containerRef = (0, _react.useRef)(null);
36
- var contentRef = (0, _react.useRef)(null);
37
36
  var _useState = (0, _react.useState)(initialScale),
38
37
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
38
  scale = _useState2[0],
@@ -63,13 +62,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
63
62
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
64
63
  containerSize = _useState0[0],
65
64
  setContainerSize = _useState0[1];
66
- var _useState1 = (0, _react.useState)({
67
- width: 0,
68
- height: 0
69
- }),
70
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
71
- contentSize = _useState10[0],
72
- setContentSize = _useState10[1];
73
65
 
74
66
  // 处理鼠标按下
75
67
  var handleMouseDown = (0, _react.useCallback)(function (e) {
@@ -85,9 +77,12 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
85
77
 
86
78
  // 计算边界限制
87
79
  var getBoundedPosition = (0, _react.useCallback)(function (newPosition) {
88
- if (!containerSize.width || !contentSize.width) return newPosition;
89
- var scaledContentWidth = contentSize.width * scale;
90
- var scaledContentHeight = contentSize.height * scale;
80
+ if (!containerSize.width) return newPosition;
81
+
82
+ // 计算缩放后的内容尺寸
83
+ // 内容的 width 和 height 均为 100%,所以内容基础尺寸即为容器尺寸
84
+ var scaledContentWidth = containerSize.width * scale;
85
+ var scaledContentHeight = containerSize.height * scale;
91
86
 
92
87
  // 计算边界
93
88
  var maxX = Math.max(0, (scaledContentWidth - containerSize.width) / 2);
@@ -98,7 +93,7 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
98
93
  x: Math.max(minX, Math.min(maxX, newPosition.x)),
99
94
  y: Math.max(minY, Math.min(maxY, newPosition.y))
100
95
  };
101
- }, [containerSize, contentSize, scale]);
96
+ }, [containerSize, scale]);
102
97
 
103
98
  // 处理鼠标移动
104
99
  var handleMouseMove = (0, _react.useCallback)(function (e) {
@@ -144,26 +139,18 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
144
139
 
145
140
  // 监听容器和内容尺寸变化
146
141
  (0, _react.useEffect)(function () {
147
- var updateSizes = function updateSizes() {
148
- if (containerRef.current) {
149
- var rect = containerRef.current.getBoundingClientRect();
150
- setContainerSize({
151
- width: rect.width,
152
- height: rect.height
153
- });
154
- }
155
- if (contentRef.current) {
156
- var _rect = contentRef.current.getBoundingClientRect();
157
- setContentSize({
158
- width: _rect.width,
159
- height: _rect.height
160
- });
161
- }
162
- };
163
- updateSizes();
164
- window.addEventListener('resize', updateSizes);
142
+ var container = containerRef.current;
143
+ if (!container) return;
144
+ var resizeObserver = new ResizeObserver(function () {
145
+ var rect = container.getBoundingClientRect();
146
+ setContainerSize({
147
+ width: rect.width,
148
+ height: rect.height
149
+ });
150
+ });
151
+ resizeObserver.observe(container);
165
152
  return function () {
166
- return window.removeEventListener('resize', updateSizes);
153
+ resizeObserver.disconnect();
167
154
  };
168
155
  }, []);
169
156
 
@@ -241,7 +228,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
241
228
  userSelect: 'none'
242
229
  },
243
230
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
244
- ref: contentRef,
245
231
  style: {
246
232
  width: '100%',
247
233
  height: '100%',
@@ -1,6 +1,5 @@
1
1
  import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
2
  export declare const AnnotationCaptureTool: (props: {
3
- popoverVisible?: boolean;
4
3
  placement: ToolTipProps["placement"];
5
4
  size?: number;
6
5
  hideTitle?: boolean;
@@ -17,7 +17,6 @@ var AnnotationCaptureTool = exports.AnnotationCaptureTool = function AnnotationC
17
17
  var t = (0, _i18n.useI18n)();
18
18
  var size = props.size,
19
19
  hideTitle = props.hideTitle,
20
- popoverVisible = props.popoverVisible,
21
20
  placement = props.placement,
22
21
  direction = props.direction,
23
22
  setPopoverVisible = props.setPopoverVisible,
@@ -43,7 +42,7 @@ var AnnotationCaptureTool = exports.AnnotationCaptureTool = function AnnotationC
43
42
  iconType: _type.FcrIconType.FCR_WHITEBOARD_SLICE,
44
43
  title: t('fmt_screenshare_whiteboard_button_cutting'),
45
44
  lineColor: "transparent",
46
- visible: visible && popoverVisible,
45
+ visible: visible,
47
46
  onVisibleChange: handleVisibleChange,
48
47
  showArrow: true,
49
48
  content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
@@ -126,7 +126,7 @@ function VerticalBar(props) {
126
126
  api.start(_position);
127
127
  }
128
128
  }, []);
129
- var handleRefMount = function handleRefMount(dom) {
129
+ var handleRefMount = (0, _react2.useCallback)(function (dom) {
130
130
  if (dom) {
131
131
  var top = dom.getBoundingClientRect().top;
132
132
  if (topTemp !== top) {
@@ -135,7 +135,7 @@ function VerticalBar(props) {
135
135
  toolbarDom.current = dom;
136
136
  }
137
137
  }
138
- };
138
+ }, []);
139
139
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
140
140
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
141
141
  onClick: function onClick() {
@@ -9,47 +9,60 @@ exports.useResizeVisible = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = require("react");
11
11
  var _item = require("../components/item");
12
- var _constants = require("../../../action-bar/constants");
12
+ var _lodash = require("lodash");
13
13
  var useResizeVisible = exports.useResizeVisible = function useResizeVisible() {
14
- var toolbar = (0, _react.useRef)();
15
- var _useState = (0, _react.useState)(0),
14
+ var _useState = (0, _react.useState)(-1),
16
15
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
17
- threshold = _useState2[0],
18
- setThreshold = _useState2[1];
19
- var _useState3 = (0, _react.useState)(-1),
20
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
21
- coverCount = _useState4[0],
22
- setCoverCount = _useState4[1];
23
- var _useState5 = (0, _react.useState)(0),
24
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
25
- itemHeight = _useState6[0],
26
- setItemHeight = _useState6[1];
27
- var actionbar = document.querySelector(".".concat(_constants.actionBarClassName));
28
- var actionBarHeight = (actionbar === null || actionbar === void 0 ? void 0 : actionbar.getBoundingClientRect().height) || 0;
16
+ coverCount = _useState2[0],
17
+ setCoverCount = _useState2[1];
29
18
  var bottomHeight = 20;
19
+ var toolbarRef = (0, _react.useRef)();
20
+ var containerRef = (0, _react.useRef)(null);
21
+ var thresholdRef = (0, _react.useRef)(0);
22
+ var itemHeightRef = (0, _react.useRef)(0);
30
23
  var handleResize = (0, _react.useCallback)(function () {
31
- var offsetHeight = document.body.offsetHeight;
32
- var coverSize = threshold - offsetHeight;
33
- var coverCount = Math.floor(coverSize / itemHeight);
34
- setCoverCount(coverCount);
35
- }, [threshold]);
24
+ var container = containerRef.current;
25
+ var _ref = (container === null || container === void 0 ? void 0 : container.getBoundingClientRect()) || document.documentElement.getBoundingClientRect(),
26
+ height = _ref.height;
27
+ var threshold = thresholdRef.current;
28
+ var itemHeight = itemHeightRef.current;
29
+ var coverSize = 0;
30
+ var coverCountTemp = -1;
31
+ coverSize = threshold - height;
32
+ coverCountTemp = Math.round(coverSize / itemHeight);
33
+ setCoverCount(coverCountTemp);
34
+ }, []);
35
+ (0, _react.useEffect)(function () {
36
+ handleResize();
37
+ }, []);
38
+ var handleResizeDebounce = (0, _react.useCallback)((0, _lodash.debounce)(handleResize, 200), []);
36
39
  (0, _react.useEffect)(function () {
37
- window.addEventListener('resize', handleResize);
40
+ var container = containerRef.current;
41
+ if (container) {
42
+ container.addEventListener('transitionend', handleResizeDebounce);
43
+ }
38
44
  return function () {
39
- window.removeEventListener('resize', handleResize);
45
+ if (container) {
46
+ container.removeEventListener('transitionend', handleResizeDebounce);
47
+ }
40
48
  };
41
- }, [threshold]);
49
+ }, []);
50
+ var reCalcThreshold = (0, _react.useCallback)(function () {
51
+ var toolbar = toolbarRef.current;
52
+ if (toolbar) {
53
+ var _toolbar$getBoundingC = toolbar.getBoundingClientRect(),
54
+ height = _toolbar$getBoundingC.height;
55
+ var items = toolbar.querySelectorAll(".".concat(_item.toolBarItemClassName));
56
+ itemHeightRef.current = items[0].getBoundingClientRect().height;
57
+ var threshold = height + bottomHeight;
58
+ thresholdRef.current = threshold;
59
+ }
60
+ }, []);
42
61
  var setToolbarDom = (0, _react.useCallback)(function (dom) {
43
62
  if (dom) {
44
- var _items$;
45
- toolbar.current = dom;
46
- var _dom$getBoundingClien = dom.getBoundingClientRect(),
47
- top = _dom$getBoundingClien.top,
48
- height = _dom$getBoundingClien.height;
49
- var items = dom.querySelectorAll(".".concat(_item.toolBarItemClassName));
50
- setItemHeight((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.getBoundingClientRect().height);
51
- var _threshold = height + top + actionBarHeight + bottomHeight;
52
- setThreshold(_threshold);
63
+ toolbarRef.current = dom;
64
+ containerRef.current = document.querySelector('.fcr-whiteboard-controlbar-body-content');
65
+ reCalcThreshold();
53
66
  }
54
67
  }, []);
55
68
  return {
@@ -60,18 +60,14 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
60
60
  onCaptureScreen = props.onCaptureScreen,
61
61
  setProgress = props.setProgress;
62
62
  var t = (0, _i18n.useI18n)();
63
- var _useState = (0, _react.useState)(false),
63
+ var _useState = (0, _react.useState)('right'),
64
64
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
65
- popoverVisible = _useState2[0],
66
- setPopoverVisible = _useState2[1];
67
- var _useState3 = (0, _react.useState)('right'),
65
+ placement = _useState2[0],
66
+ setPlacement = _useState2[1];
67
+ var _useState3 = (0, _react.useState)(-1),
68
68
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
69
- placement = _useState4[0],
70
- setPlacement = _useState4[1];
71
- var _useState5 = (0, _react.useState)(-1),
72
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
73
- coverCount = _useState6[0],
74
- setCoverCount = _useState6[1];
69
+ coverCount = _useState4[0],
70
+ setCoverCount = _useState4[1];
75
71
  var effects = [coverCount, currentTool, currentColor, currentShape, currentStrokeWidth, commonColors, undoSteps, redoSteps, placement];
76
72
  var needHiddenTools = (0, _react.useMemo)(function () {
77
73
  return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_graphicTool.AnnotationGraphicTool, {
@@ -88,9 +84,6 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
88
84
  direction: direction
89
85
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
90
86
  size: size,
91
- onVisibleChange: function onVisibleChange() {
92
- return setPopoverVisible(false);
93
- },
94
87
  active: currentTool === _enums.FcrBoardToolType.TEXT,
95
88
  onClick: function onClick() {
96
89
  return setTool(_enums.FcrBoardToolType.TEXT);
@@ -101,9 +94,6 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
101
94
  placement: placement
102
95
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
103
96
  size: size,
104
- onVisibleChange: function onVisibleChange() {
105
- return setPopoverVisible(false);
106
- },
107
97
  active: currentTool === _enums.FcrBoardToolType.HAND,
108
98
  onClick: function onClick() {
109
99
  return setTool(_enums.FcrBoardToolType.HAND);
@@ -122,9 +112,6 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
122
112
  direction: direction
123
113
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
124
114
  size: size,
125
- onVisibleChange: function onVisibleChange() {
126
- return setPopoverVisible(false);
127
- },
128
115
  active: currentTool === _enums.FcrBoardToolType.ERASER,
129
116
  onClick: function onClick() {
130
117
  return setTool(_enums.FcrBoardToolType.ERASER);
@@ -134,8 +121,6 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
134
121
  hideTitle: true,
135
122
  placement: placement
136
123
  }), (0, _env.isElectron)() && onCaptureScreen && commonColors && /*#__PURE__*/(0, _jsxRuntime.jsx)(_captureTool.AnnotationCaptureTool, {
137
- popoverVisible: popoverVisible,
138
- setPopoverVisible: setPopoverVisible,
139
124
  size: size,
140
125
  direction: direction,
141
126
  hideTitle: true,
@@ -143,9 +128,6 @@ var WhiteboardToolbar = exports.WhiteboardToolbar = function WhiteboardToolbar(p
143
128
  onClick: onCaptureScreen
144
129
  }), !commonColors && /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
145
130
  size: size,
146
- onVisibleChange: function onVisibleChange() {
147
- return setPopoverVisible(false);
148
- },
149
131
  onClick: clean,
150
132
  iconType: _type.FcrIconType.FCR_DELETE5,
151
133
  title: t('fmt_screenshare_whiteboard_button_empty'),
@@ -1,6 +1,8 @@
1
- import { PropsWithChildren, FC } from 'react';
2
- type BoundaryDetectorProps = PropsWithChildren<{
1
+ export type DetectorRef = {
2
+ getBoundaries: () => FcrUI.FcrUIRectangle;
3
+ };
4
+ export declare const BoundaryDetector: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
3
5
  onBoundariesChanged: (boundaries: FcrUI.FcrUIRectangle) => void;
4
- }>;
5
- export declare const BoundaryDetector: FC<BoundaryDetectorProps>;
6
- export {};
6
+ } & {
7
+ children?: import("react").ReactNode | undefined;
8
+ } & import("react").RefAttributes<DetectorRef>>>;
@@ -9,13 +9,32 @@ var _react = require("react");
9
9
  var _context = require("../context");
10
10
  var _hooks = require("../hooks");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
- var BoundaryDetector = exports.BoundaryDetector = /*#__PURE__*/(0, _react.memo)(function (_ref) {
12
+ var BoundaryDetector = exports.BoundaryDetector = /*#__PURE__*/(0, _react.memo)(/*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
13
13
  var children = _ref.children,
14
14
  onBoundariesChanged = _ref.onBoundariesChanged;
15
15
  var _useContext = (0, _react.useContext)(_context.DragContext),
16
16
  position = _useContext.position,
17
17
  isDragging = _useContext.isDragging;
18
18
  var containerRef = (0, _react.useRef)(null);
19
+ (0, _react.useImperativeHandle)(ref, function () {
20
+ return {
21
+ getBoundaries: function getBoundaries() {
22
+ if (!containerRef.current) return {
23
+ x: 0,
24
+ y: 0,
25
+ width: 0,
26
+ height: 0
27
+ };
28
+ var bounds = containerRef.current.getBoundingClientRect();
29
+ return {
30
+ x: bounds.x,
31
+ y: bounds.y,
32
+ width: bounds.width,
33
+ height: bounds.height
34
+ };
35
+ }
36
+ };
37
+ }, []);
19
38
  var boundaryCallbacks = (0, _react.useMemo)(function () {
20
39
  return {
21
40
  onBoundariesChanged: onBoundariesChanged
@@ -24,6 +43,7 @@ var BoundaryDetector = exports.BoundaryDetector = /*#__PURE__*/(0, _react.memo)(
24
43
  (0, _hooks.useBoundaryDetect)(containerRef, boundaryCallbacks);
25
44
  (0, _react.useEffect)(function () {
26
45
  if (!isDragging) {
46
+ if (!containerRef.current) return;
27
47
  var bounds = containerRef.current.getBoundingClientRect();
28
48
  boundaryCallbacks.onBoundariesChanged(bounds);
29
49
  }
@@ -33,4 +53,4 @@ var BoundaryDetector = exports.BoundaryDetector = /*#__PURE__*/(0, _react.memo)(
33
53
  className: "fcr-control-bar__sizer",
34
54
  children: children
35
55
  });
36
- });
56
+ }));
@@ -1 +1,4 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { StopCloudRecordingProps } from '../../action-bar/type';
1
3
  export declare const CloudRecordingButtons: () => import("react/jsx-runtime").JSX.Element;
4
+ export declare const StopCloudRecording: ({ stopCloudRecording, children }: PropsWithChildren<StopCloudRecordingProps>) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.CloudRecordingButtons = void 0;
8
+ exports.StopCloudRecording = exports.CloudRecordingButtons = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
10
  var _mobxReact = require("mobx-react");
9
11
  var _react = require("react");
10
12
  var _type = require("fcr-core/lib/type");
@@ -12,8 +14,10 @@ var _icon = require("agora-ui-foundation/lib/components/icon");
12
14
  var _type2 = require("agora-ui-foundation/lib/components/icon/type");
13
15
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
14
16
  var _store = require("../store");
15
- var _stopRecordDialog = require("../../action-bar/components/record/stop-record-dialog");
16
17
  var _i18n = require("agora-ui-foundation/lib/i18n");
18
+ var _boundaryDetector = require("./boundary-detector");
19
+ var _popover = require("agora-ui-foundation/lib/components/popover");
20
+ var _context = require("../context");
17
21
  var _jsxRuntime = require("react/jsx-runtime");
18
22
  var CloudRecordingButtons = exports.CloudRecordingButtons = (0, _mobxReact.observer)(function () {
19
23
  var _useContext = (0, _react.useContext)(_store.StoreContext),
@@ -25,6 +29,7 @@ var CloudRecordingButtons = exports.CloudRecordingButtons = (0, _mobxReact.obser
25
29
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
26
30
  className: "fcr-control-bar-cloud-recording-buttons",
27
31
  children: [cloudRecordingState === _type.FcrRecordingState.Paused ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
32
+ mouseEnterDelay: 0,
28
33
  content: transI18n('fmt_record_button_Cloudrecording_restore'),
29
34
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
30
35
  onClick: resumeCloudRecording,
@@ -37,6 +42,7 @@ var CloudRecordingButtons = exports.CloudRecordingButtons = (0, _mobxReact.obser
37
42
  })
38
43
  })
39
44
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
45
+ mouseEnterDelay: 0,
40
46
  content: transI18n('fmt_settings_options_pausecloudrecording'),
41
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
42
48
  onClick: pauseCloudRecording,
@@ -48,9 +54,10 @@ var CloudRecordingButtons = exports.CloudRecordingButtons = (0, _mobxReact.obser
48
54
  }
49
55
  })
50
56
  })
51
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_stopRecordDialog.StopCloudRecording, {
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StopCloudRecording, {
52
58
  stopCloudRecording: stopCloudRecording,
53
59
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
60
+ mouseEnterDelay: 0,
54
61
  content: transI18n('fmt_record_button_Cloudrecording_stop'),
55
62
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
56
63
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
@@ -64,4 +71,62 @@ var CloudRecordingButtons = exports.CloudRecordingButtons = (0, _mobxReact.obser
64
71
  })
65
72
  })]
66
73
  });
74
+ });
75
+
76
+ // TODO: 删除重复的 StopCloudRecording 组件
77
+ var StopCloudRecording = exports.StopCloudRecording = (0, _mobxReact.observer)(function (_ref) {
78
+ var stopCloudRecording = _ref.stopCloudRecording,
79
+ children = _ref.children;
80
+ var _useContext2 = (0, _react.useContext)(_store.StoreContext),
81
+ setPopoverArea = _useContext2.setPopoverArea;
82
+ var _useState = (0, _react.useState)(false),
83
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
+ visible = _useState2[0],
85
+ setVisible = _useState2[1];
86
+ var transI18n = (0, _i18n.useI18n)();
87
+ var handleBoundariesChanged = (0, _react.useCallback)(function (boundaries) {
88
+ setPopoverArea(boundaries);
89
+ }, []);
90
+ var _useContext3 = (0, _react.useContext)(_context.ControlBarCalculationContext),
91
+ isShareActionNavHidden = _useContext3.isShareActionNavHidden;
92
+ (0, _react.useEffect)(function () {
93
+ if (isShareActionNavHidden) {
94
+ setVisible(false);
95
+ setPopoverArea({
96
+ x: 0,
97
+ y: 0,
98
+ width: 0,
99
+ height: 0
100
+ });
101
+ }
102
+ }, [isShareActionNavHidden]);
103
+ var content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryDetector.BoundaryDetector, {
104
+ onBoundariesChanged: handleBoundariesChanged,
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
106
+ className: "leave-container",
107
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
108
+ className: "leave-title",
109
+ children: transI18n('fmt_actionbar_record_tips_stoprecord')
110
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
+ className: "leave-confirm",
112
+ onClick: stopCloudRecording,
113
+ children: transI18n('fmt_actionbar_record_option_stoprecord')
114
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
115
+ className: "leave-cancel",
116
+ onClick: function onClick() {
117
+ return setVisible(false);
118
+ },
119
+ children: transI18n('fmt_security_buttons_cancel')
120
+ })]
121
+ })
122
+ });
123
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
124
+ showArrow: false,
125
+ overlayClassName: "fcr-stop-cloud-recording-popover",
126
+ visible: visible,
127
+ onVisibleChange: setVisible,
128
+ trigger: "click",
129
+ content: content,
130
+ children: children
131
+ });
67
132
  });
@@ -22,7 +22,8 @@ var useBoundaryDetect = exports.useBoundaryDetect = function useBoundaryDetect(r
22
22
  if (ref.current === null) return;
23
23
  var contentRect = ref.current.getBoundingClientRect();
24
24
  callbacks.onBoundariesChanged(contentRect);
25
- }, 100);
25
+ // 部分气泡动画需要时间渲染完成后才能获取到正确的位置
26
+ }, 300);
26
27
  };
27
28
  restartTask();
28
29
  return function () {
@@ -102,5 +102,6 @@ export default class ControlBarStore implements FcrUIManagedObject {
102
102
  handleLeaveRoom(): void;
103
103
  closeLeaveMeetingDialog(): void;
104
104
  handleMoreClick(actionKey: MoreAction): void;
105
+ updateWindowBounds(): void;
105
106
  }
106
107
  export declare const StoreContext: import("react").Context<ControlBarStore>;
@@ -127,8 +127,10 @@ var ControlBarStore = exports["default"] = /*#__PURE__*/function () {
127
127
  _this.titleHeight = (0, _platform.isWindows)() ? 0 : topOffset !== null && topOffset !== void 0 ? topOffset : 0;
128
128
  (0, _mobx.runInAction)(function () {
129
129
  _this.currentShareDisplayId = _this._renderer.getDisplayNearestPoint(_this.draggableArea).id;
130
+ _this._mouseDetectProvider.setDisplayId(_this.currentShareDisplayId);
130
131
  });
131
132
  _this._mouseDetectProvider.setDetectionPositionOffset(display.bounds);
133
+ _this.updateWindowBounds();
132
134
  },
133
135
  onShareSourceReplaced: function onShareSourceReplaced() {
134
136
  var display = _this._renderer.getDisplayNearestPoint(_this.draggableArea);
@@ -138,6 +140,7 @@ var ControlBarStore = exports["default"] = /*#__PURE__*/function () {
138
140
  _this.titleHeight = (0, _platform.isWindows)() ? 0 : topOffset !== null && topOffset !== void 0 ? topOffset : 0;
139
141
  (0, _mobx.runInAction)(function () {
140
142
  _this.currentShareDisplayId = _this._renderer.getDisplayNearestPoint(_this.draggableArea).id;
143
+ _this._mouseDetectProvider.setDisplayId(_this.currentShareDisplayId);
141
144
  });
142
145
  _this._mouseDetectProvider.setDetectionPositionOffset(display.bounds);
143
146
  },
@@ -146,13 +149,17 @@ var ControlBarStore = exports["default"] = /*#__PURE__*/function () {
146
149
  }
147
150
  });
148
151
  (0, _defineProperty2["default"])(this, "_mouseDetectObserver", {
149
- onMouseEnterDetectArea: function onMouseEnterDetectArea() {
150
- _this._controlBarWindow.setIgnoreMouseEvents(false);
152
+ onMouseEnterDetectArea: function onMouseEnterDetectArea(areaId) {
153
+ if (areaId === _struct.FcrUIDetectAreaID.ControlBar) {
154
+ _this._controlBarWindow.setIgnoreMouseEvents(false);
155
+ }
151
156
  },
152
- onMouseLeaveDetectArea: function onMouseLeaveDetectArea() {
153
- _this._controlBarWindow.setIgnoreMouseEvents(true, {
154
- forward: true
155
- });
157
+ onMouseLeaveDetectArea: function onMouseLeaveDetectArea(areaId) {
158
+ if (areaId === _struct.FcrUIDetectAreaID.ControlBar) {
159
+ _this._controlBarWindow.setIgnoreMouseEvents(true, {
160
+ forward: true
161
+ });
162
+ }
156
163
  }
157
164
  });
158
165
  (0, _defineProperty2["default"])(this, "_stateNavArea", {
@@ -619,6 +626,7 @@ var ControlBarStore = exports["default"] = /*#__PURE__*/function () {
619
626
  this._mainRoomControl.removeObserver(this._roomObserver);
620
627
  this._screenShareProvider.removeObserver(this._screenShareObserver);
621
628
  this._mouseDetectProvider.removeObserver(this._mouseDetectObserver);
629
+ this._mouseDetectProvider.deleteDetectArea(_struct.FcrUIDetectAreaID.ControlBar);
622
630
  }
623
631
  }, {
624
632
  key: "setStateNavArea",
@@ -704,10 +712,16 @@ var ControlBarStore = exports["default"] = /*#__PURE__*/function () {
704
712
  break;
705
713
  }
706
714
  }
715
+ }, {
716
+ key: "updateWindowBounds",
717
+ value: function updateWindowBounds() {
718
+ var sharingDisplayBounds = this._screenShareProvider.sharingDisplayBounds;
719
+ this._controlBarWindow.setBounds(sharingDisplayBounds);
720
+ }
707
721
  }]);
708
722
  }();
709
723
  _ControlBarStore = ControlBarStore;
710
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ControlBarStore, [[_mobx.observable, 1, "roomDuration"], [_mobx.observable, 1, "startTime"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "playUrl"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "allApplicationWindows"], [_mobx.observable, 1, "boardOwnerUser"], [_mobx.observable, 1, "currentShareDisplayId"], [_mobx.observable, 1, "position"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "hasGetLiveStreamingUrlPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasChatPermission"], [_mobx.computed, 3, "liveStreamingButtonVisible"], [_mobx.computed, 3, "recordingButtonVisible"], [_mobx.computed, 3, "isConnecting"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_decorator.bound, 2, "setShareWithAudioState"], [_decorator.bound, 2, "setShareInSmoothMode"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_handleNewShareDecs, 18, "handleNewShare"], [_handlerStopShareDecs, 18, "handlerStopShare"], [_decorator.bound, 2, "handleMouseEnter"], [_decorator.bound, 2, "handleMouseLeave"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "setShareAudioMode"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_decorator.bound, 2, "startLiveStreaming"], [_decorator.bound, 2, "stopLiveStreaming"], [_showToastDecs, 18, "showToast"], [_decorator.bound, 2, "handleOpenParticipant"], [_decorator.bound, 2, "handleOpenLiveStreaming"], [_decorator.bound, 2, "setEnableWaitingRoom"], [_decorator.bound, 2, "getLocalMeetingTime"], [[_decorator.bound, _decorator.trace], 2, "setStateNavArea"], [[_decorator.bound, _decorator.trace], 2, "setControlBarContentArea"], [[_decorator.bound, _decorator.trace], 2, "setPopoverArea"], [_handleLeaveRoomDecs, 18, "handleLeaveRoom"], [_closeLeaveMeetingDialogDecs, 18, "closeLeaveMeetingDialog"], [_handleMoreClickDecs, 18, "handleMoreClick"]], []).e, 10);
724
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ControlBarStore, [[_mobx.observable, 1, "roomDuration"], [_mobx.observable, 1, "startTime"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "playUrl"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "allApplicationWindows"], [_mobx.observable, 1, "boardOwnerUser"], [_mobx.observable, 1, "currentShareDisplayId"], [_mobx.observable, 1, "position"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "hasGetLiveStreamingUrlPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasChatPermission"], [_mobx.computed, 3, "liveStreamingButtonVisible"], [_mobx.computed, 3, "recordingButtonVisible"], [_mobx.computed, 3, "isConnecting"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_decorator.bound, 2, "setShareWithAudioState"], [_decorator.bound, 2, "setShareInSmoothMode"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_handleNewShareDecs, 18, "handleNewShare"], [_handlerStopShareDecs, 18, "handlerStopShare"], [_decorator.bound, 2, "handleMouseEnter"], [_decorator.bound, 2, "handleMouseLeave"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "setShareAudioMode"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_decorator.bound, 2, "startLiveStreaming"], [_decorator.bound, 2, "stopLiveStreaming"], [_showToastDecs, 18, "showToast"], [_decorator.bound, 2, "handleOpenParticipant"], [_decorator.bound, 2, "handleOpenLiveStreaming"], [_decorator.bound, 2, "setEnableWaitingRoom"], [_decorator.bound, 2, "getLocalMeetingTime"], [[_decorator.bound, _decorator.trace], 2, "setStateNavArea"], [[_decorator.bound, _decorator.trace], 2, "setControlBarContentArea"], [[_decorator.bound, _decorator.trace], 2, "setPopoverArea"], [_handleLeaveRoomDecs, 18, "handleLeaveRoom"], [_closeLeaveMeetingDialogDecs, 18, "closeLeaveMeetingDialog"], [_handleMoreClickDecs, 18, "handleMoreClick"], [[_decorator.trace, _decorator.bound], 2, "updateWindowBounds"]], []).e, 10);
711
725
  _init_roomDuration = _applyDecs$e[0];
712
726
  _init_startTime = _applyDecs$e[1];
713
727
  _init_cloudRecordingState = _applyDecs$e[2];