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

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 (211) hide show
  1. package/lib/creator/provider-initializer.browser.js +2 -2
  2. package/lib/creator/provider-initializer.electron.js +2 -2
  3. package/lib/creator.d.ts +36 -0
  4. package/lib/creator.js +465 -0
  5. package/lib/electron/bootstrap-sdk.js +70 -33
  6. package/lib/electron/hang-detection/index.d.ts +3 -0
  7. package/lib/electron/hang-detection/index.js +15 -0
  8. package/lib/electron/hang-detection/manager.d.ts +28 -0
  9. package/lib/electron/hang-detection/manager.js +231 -0
  10. package/lib/electron/hang-detection/types.d.ts +14 -0
  11. package/lib/electron/hang-detection/types.js +6 -0
  12. package/lib/electron/until.d.ts +1 -4
  13. package/lib/electron/until.js +9 -4
  14. package/lib/modules/action-bar/components/screen-share/index.electron.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +56 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +108 -0
  19. package/lib/modules/action-bar/store.d.ts +256 -0
  20. package/lib/modules/action-bar/store.js +1572 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +621 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/components/control-bar/components/switch-theme/index.js +4 -2
  70. package/lib/modules/components/control-bar/index.js +1 -3
  71. package/lib/modules/components/device-control/store.d.ts +42 -0
  72. package/lib/modules/components/device-control/store.js +241 -0
  73. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  74. package/lib/modules/components/leave-meeting/store.js +270 -0
  75. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  76. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  77. package/lib/modules/control-bar/types.d.ts +20 -0
  78. package/lib/modules/control-bar/types.js +6 -0
  79. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  80. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  81. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  82. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  83. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  84. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  85. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  86. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  87. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  88. package/lib/modules/dialog/store.d.ts +135 -0
  89. package/lib/modules/dialog/store.js +616 -0
  90. package/lib/modules/event-confirm/components/window/index.d.ts +4 -0
  91. package/lib/modules/event-confirm/components/window/index.js +197 -0
  92. package/lib/modules/event-confirm/index.css +24 -0
  93. package/lib/modules/event-confirm/index.d.ts +27 -0
  94. package/lib/modules/event-confirm/index.js +76 -0
  95. package/lib/modules/event-confirm/store.d.ts +45 -0
  96. package/lib/modules/event-confirm/store.js +345 -0
  97. package/lib/modules/event-confirm/view.d.ts +2 -0
  98. package/lib/modules/event-confirm/view.js +53 -0
  99. package/lib/modules/event-toast/store.d.ts +27 -0
  100. package/lib/modules/event-toast/store.js +205 -0
  101. package/lib/modules/layout/store.d.ts +176 -0
  102. package/lib/modules/layout/store.js +1466 -0
  103. package/lib/modules/participant/store.base.js +0 -1
  104. package/lib/modules/participant/store.d.ts +222 -0
  105. package/lib/modules/participant/store.js +1927 -0
  106. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  107. package/lib/modules/pc-audio-connect/index.js +67 -0
  108. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  109. package/lib/modules/pc-audio-connect/store.js +304 -0
  110. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  111. package/lib/modules/setting/common/advance-link.js +27 -0
  112. package/lib/modules/setting/common/index.css +26 -0
  113. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  114. package/lib/modules/setting/common/useNamespace.js +66 -0
  115. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  116. package/lib/modules/setting/dialog-wrapper.js +110 -0
  117. package/lib/modules/setting/store.d.ts +261 -0
  118. package/lib/modules/setting/store.js +1321 -0
  119. package/lib/modules/share-screen/store.d.ts +148 -0
  120. package/lib/modules/share-screen/store.electron.js +9 -0
  121. package/lib/modules/share-screen/store.js +950 -0
  122. package/lib/modules/share-screen/types.d.ts +26 -0
  123. package/lib/modules/share-screen/types.js +6 -0
  124. package/lib/modules/state-bar/store.base.electron.js +6 -2
  125. package/lib/modules/state-bar/store.d.ts +124 -0
  126. package/lib/modules/state-bar/store.js +664 -0
  127. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  128. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  129. package/lib/modules/widget/store.d.ts +14 -0
  130. package/lib/modules/widget/store.js +28 -0
  131. package/lib/providers/annotation-provider.d.ts +124 -0
  132. package/lib/providers/annotation-provider.js +369 -0
  133. package/lib/providers/board-share/bar-control/base.d.ts +2 -0
  134. package/lib/providers/board-share/bar-control/base.js +13 -3
  135. package/lib/providers/board-share/bar-control/electron.d.ts +1 -0
  136. package/lib/providers/board-share/bar-control/electron.js +15 -4
  137. package/lib/providers/board-share/provider.base.d.ts +1 -0
  138. package/lib/providers/board-share/provider.base.js +3 -1
  139. package/lib/providers/board-share/provider.electron.d.ts +1 -0
  140. package/lib/providers/board-share/provider.electron.js +8 -2
  141. package/lib/providers/board-share/type.d.ts +2 -0
  142. package/lib/providers/dialog/provider.electron.js +10 -2
  143. package/lib/providers/dialog-provider.d.ts +137 -0
  144. package/lib/providers/dialog-provider.js +194 -0
  145. package/lib/providers/message-provider.d.ts +69 -0
  146. package/lib/providers/message-provider.js +140 -0
  147. package/lib/providers/room-provider.d.ts +194 -0
  148. package/lib/providers/room-provider.js +916 -0
  149. package/lib/providers/screen-share/strategy/browser.js +50 -3
  150. package/lib/providers/screen-share/strategy/electron.js +77 -8
  151. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -1
  152. package/lib/providers/screen-share/stream-state-sync.js +133 -40
  153. package/lib/providers/screen-share-provider.d.ts +244 -0
  154. package/lib/providers/screen-share-provider.js +835 -0
  155. package/lib/providers/sharing-provider.d.ts +42 -0
  156. package/lib/providers/sharing-provider.js +221 -0
  157. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  158. package/lib/providers/user-setting-storage-provider.js +65 -0
  159. package/lib/providers/whiteboard-provider.d.ts +24 -0
  160. package/lib/providers/whiteboard-provider.js +127 -0
  161. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  162. package/lib/shared-data-source/annotation-data.js +110 -0
  163. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  164. package/lib/shared-data-source/app-list-data.js +133 -0
  165. package/lib/shared-data-source/chat-data.d.ts +25 -0
  166. package/lib/shared-data-source/chat-data.js +139 -0
  167. package/lib/shared-data-source/config.d.ts +35 -0
  168. package/lib/shared-data-source/config.js +40 -0
  169. package/lib/shared-data-source/confirm-data.d.ts +25 -0
  170. package/lib/shared-data-source/confirm-data.js +97 -0
  171. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  172. package/lib/shared-data-source/device-privilege-data.js +25 -0
  173. package/lib/shared-data-source/interpreter.d.ts +77 -0
  174. package/lib/shared-data-source/interpreter.js +247 -0
  175. package/lib/shared-data-source/layout-data.d.ts +31 -0
  176. package/lib/shared-data-source/layout-data.js +189 -0
  177. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  178. package/lib/shared-data-source/meeting-time.js +416 -0
  179. package/lib/shared-data-source/member-data.d.ts +139 -0
  180. package/lib/shared-data-source/member-data.js +517 -0
  181. package/lib/shared-data-source/pin-data.d.ts +13 -0
  182. package/lib/shared-data-source/pin-data.js +111 -0
  183. package/lib/shared-data-source/screen-share-data.d.ts +364 -0
  184. package/lib/shared-data-source/screen-share-data.js +520 -0
  185. package/lib/shared-data-source/security-data.d.ts +39 -0
  186. package/lib/shared-data-source/security-data.js +156 -0
  187. package/lib/shared-data-source/setting.d.ts +67 -0
  188. package/lib/shared-data-source/setting.js +220 -0
  189. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  190. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  191. package/lib/shared-data-source/video-window.d.ts +165 -0
  192. package/lib/shared-data-source/video-window.js +1266 -0
  193. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  194. package/lib/shared-data-source/waiting-room.js +222 -0
  195. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  196. package/lib/shared-data-source/whiteboard-data.js +347 -0
  197. package/lib/utilities/board-context.d.ts +4 -0
  198. package/lib/utilities/board-context.js +12 -0
  199. package/lib/utilities/copyText.d.ts +2 -0
  200. package/lib/utilities/copyText.js +48 -0
  201. package/lib/utilities/renderer-event.d.ts +10 -0
  202. package/lib/utilities/renderer-event.js +95 -0
  203. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  204. package/lib/utilities/screen-capture-permission.js +24 -0
  205. package/lib/utilities/screen.d.ts +3 -0
  206. package/lib/utilities/screen.js +53 -0
  207. package/lib/utilities/video-track-render-context.d.ts +6 -0
  208. package/lib/utilities/video-track-render-context.js +9 -0
  209. package/lib/waiting-room-control-manager.d.ts +28 -0
  210. package/lib/waiting-room-control-manager.js +230 -0
  211. package/package.json +5 -5
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.LeaveMeetingStoreContext = exports.LeaveMeetingStore = void 0;
40
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
41
+ require("core-js/modules/es.array.filter.js");
42
+ require("core-js/modules/es.array.iterator.js");
43
+ require("core-js/modules/es.array.some.js");
44
+ require("core-js/modules/es.object.to-string.js");
45
+ require("core-js/modules/es.string.iterator.js");
46
+ require("core-js/modules/es.weak-map.js");
47
+ require("core-js/modules/esnext.iterator.constructor.js");
48
+ require("core-js/modules/esnext.iterator.filter.js");
49
+ require("core-js/modules/esnext.iterator.some.js");
50
+ require("core-js/modules/esnext.weak-map.delete-all.js");
51
+ require("core-js/modules/esnext.weak-map.emplace.js");
52
+ require("core-js/modules/web.dom-collections.iterator.js");
53
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
54
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
55
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
56
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
57
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
58
+ var _type = require("fcr-core/lib/type");
59
+ var _mobx = require("mobx");
60
+ var _react = require("react");
61
+ var _constant = require("../../../utilities/constant");
62
+ var _LeaveMeetingStore;
63
+ var _initProto, _init_keepConnect, _init_canAssign, _init_loading, _showEndConfirmDialogDecs, _isHostSupportedByPlatformDecs, _assignHostDecs, _leaveDecs, _keepPhoneAudioConnectionDecs, _setCanAssignDecs, _setKeepConnectDecs, _endDecs, _ref;
64
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
65
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
66
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
67
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
68
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
69
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
70
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
71
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
72
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
73
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
74
+ var _A = /*#__PURE__*/new WeakMap();
75
+ var _B = /*#__PURE__*/new WeakMap();
76
+ var _C = /*#__PURE__*/new WeakMap();
77
+ _ref = (_showEndConfirmDialogDecs = [_mobx.action, _mobx.action.bound], _isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], _assignHostDecs = [_mobx.action, _mobx.action.bound], _leaveDecs = [_mobx.action, _mobx.action.bound], _keepPhoneAudioConnectionDecs = [_mobx.action, _mobx.action.bound], _setCanAssignDecs = [_mobx.action, _mobx.action.bound], _setKeepConnectDecs = [_mobx.action, _mobx.action.bound], _endDecs = [_mobx.action, _mobx.action.bound], "_userControl");
78
+ var LeaveMeetingStore = exports.LeaveMeetingStore = /*#__PURE__*/function () {
79
+ function LeaveMeetingStore(_privilegeProvider, _roomProvider, _roomControl, _sharedMemberDataSource, _abilityProvider, _dialogProvder) {
80
+ (0, _classCallCheck2["default"])(this, LeaveMeetingStore);
81
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
82
+ _classPrivateFieldInitSpec(this, _A, _init_keepConnect(this, false));
83
+ _classPrivateFieldInitSpec(this, _B, _init_canAssign(this, false));
84
+ _classPrivateFieldInitSpec(this, _C, _init_loading(this, false));
85
+ this._privilegeProvider = _privilegeProvider;
86
+ this._roomProvider = _roomProvider;
87
+ this._roomControl = _roomControl;
88
+ this._sharedMemberDataSource = _sharedMemberDataSource;
89
+ this._abilityProvider = _abilityProvider;
90
+ this._dialogProvder = _dialogProvder;
91
+ this._userControl = this._roomControl.getUserControl();
92
+ this._streamControl = this._roomControl.getStreamControl();
93
+ }
94
+ return (0, _createClass2["default"])(LeaveMeetingStore, [{
95
+ key: "keepConnect",
96
+ get: function get() {
97
+ return _classPrivateFieldGet(_A, this);
98
+ },
99
+ set: function set(v) {
100
+ _classPrivateFieldSet(_A, this, v);
101
+ }
102
+ }, {
103
+ key: "canAssign",
104
+ get: function get() {
105
+ return _classPrivateFieldGet(_B, this);
106
+ },
107
+ set: function set(v) {
108
+ _classPrivateFieldSet(_B, this, v);
109
+ }
110
+ }, {
111
+ key: "loading",
112
+ get: function get() {
113
+ return _classPrivateFieldGet(_C, this);
114
+ },
115
+ set: function set(v) {
116
+ _classPrivateFieldSet(_C, this, v);
117
+ }
118
+ }, {
119
+ key: "isLocked",
120
+ get: function get() {
121
+ return this._privilegeProvider.isLockRoomEnabled();
122
+ }
123
+ }, {
124
+ key: "localUserId",
125
+ get: function get() {
126
+ return this._sharedMemberDataSource.localUser.userId;
127
+ }
128
+ }, {
129
+ key: "localUserRole",
130
+ get: function get() {
131
+ return this._sharedMemberDataSource.localUserRole;
132
+ }
133
+ }, {
134
+ key: "hasAssignHostBeforeLeavingPermission",
135
+ get: function get() {
136
+ return this._privilegeProvider.hasAssignHostBeforeLeavingPermission(this.localUserRole);
137
+ }
138
+ }, {
139
+ key: "hasEndRoomPermission",
140
+ get: function get() {
141
+ return this._privilegeProvider.hasEndRoomPermission();
142
+ }
143
+ }, {
144
+ key: "hostAvailibleRemoteUsers",
145
+ get: function get() {
146
+ var _this = this;
147
+ return this._sharedMemberDataSource.remoteMembersUserInfosList.filter(function (user) {
148
+ return user.platform && _this.isHostSupportedByPlatform(user.platform);
149
+ });
150
+ }
151
+ }, {
152
+ key: "isPstnUser",
153
+ get: function get() {
154
+ return this._sharedMemberDataSource.hasOwnPstnStream;
155
+ }
156
+ }, {
157
+ key: "isAssignHostAvailable",
158
+ get: function get() {
159
+ var _this2 = this;
160
+ return this.hasAssignHostBeforeLeavingPermission && this.hostAvailibleRemoteUsers.some(function (item) {
161
+ return _this2.isHostSupportedByPlatform(item.platform);
162
+ });
163
+ }
164
+ }, {
165
+ key: "showEndConfirmDialog",
166
+ value: function showEndConfirmDialog() {
167
+ this._dialogProvder.openDialog(_constant.FcrUIDialogKey.LEAVE_MEETING);
168
+ }
169
+ }, {
170
+ key: "isHostSupportedByPlatform",
171
+ value: function isHostSupportedByPlatform(platform) {
172
+ return this._abilityProvider.isHostSupportedByPlatform(platform);
173
+ }
174
+ }, {
175
+ key: "assignHost",
176
+ value: function assignHost(user) {
177
+ this._userControl.updateRemoteUserRole(user.userId, _type.FcrUserRole.HOST);
178
+ this.leave();
179
+ }
180
+ }, {
181
+ key: "leave",
182
+ value: function () {
183
+ var _leave = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
184
+ var _t;
185
+ return _regenerator["default"].wrap(function (_context) {
186
+ while (1) switch (_context.prev = _context.next) {
187
+ case 0:
188
+ this.loading = true;
189
+ _t = this.keepConnect && this.isPstnUser;
190
+ if (!_t) {
191
+ _context.next = 1;
192
+ break;
193
+ }
194
+ _context.next = 1;
195
+ return this.keepPhoneAudioConnection();
196
+ case 1:
197
+ this.loading = false;
198
+ this._roomProvider.exitRoom();
199
+ case 2:
200
+ case "end":
201
+ return _context.stop();
202
+ }
203
+ }, _callee, this);
204
+ }));
205
+ function leave() {
206
+ return _leave.apply(this, arguments);
207
+ }
208
+ return leave;
209
+ }()
210
+ }, {
211
+ key: "keepPhoneAudioConnection",
212
+ value: function () {
213
+ var _keepPhoneAudioConnection = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
214
+ return _regenerator["default"].wrap(function (_context2) {
215
+ while (1) switch (_context2.prev = _context2.next) {
216
+ case 0:
217
+ return _context2.abrupt("return", this._streamControl.splitAudioStream(this.localUserId));
218
+ case 1:
219
+ case "end":
220
+ return _context2.stop();
221
+ }
222
+ }, _callee2, this);
223
+ }));
224
+ function keepPhoneAudioConnection() {
225
+ return _keepPhoneAudioConnection.apply(this, arguments);
226
+ }
227
+ return keepPhoneAudioConnection;
228
+ }()
229
+ }, {
230
+ key: "setCanAssign",
231
+ value: function setCanAssign(value) {
232
+ this.canAssign = value;
233
+ }
234
+ }, {
235
+ key: "setKeepConnect",
236
+ value: function setKeepConnect(value) {
237
+ this.keepConnect = value;
238
+ }
239
+ }, {
240
+ key: "end",
241
+ value: function () {
242
+ var _end = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
243
+ return _regenerator["default"].wrap(function (_context3) {
244
+ while (1) switch (_context3.prev = _context3.next) {
245
+ case 0:
246
+ this._roomControl.close();
247
+ this._roomProvider.exitRoom();
248
+ case 1:
249
+ case "end":
250
+ return _context3.stop();
251
+ }
252
+ }, _callee3, this);
253
+ }));
254
+ function end() {
255
+ return _end.apply(this, arguments);
256
+ }
257
+ return end;
258
+ }()
259
+ }, {
260
+ key: "release",
261
+ value: function release() {}
262
+ }]);
263
+ }();
264
+ _LeaveMeetingStore = LeaveMeetingStore;
265
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStore, [[_mobx.observable, 1, "keepConnect"], [_mobx.observable, 1, "canAssign"], [_mobx.observable, 1, "loading"], [_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_mobx.computed, 3, "isAssignHostAvailable"], [_showEndConfirmDialogDecs, 18, "showEndConfirmDialog"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"], [_assignHostDecs, 18, "assignHost"], [_leaveDecs, 18, "leave"], [_keepPhoneAudioConnectionDecs, 18, "keepPhoneAudioConnection"], [_setCanAssignDecs, 18, "setCanAssign"], [_setKeepConnectDecs, 18, "setKeepConnect"], [_endDecs, 18, "end"]], []).e, 4);
266
+ _init_keepConnect = _applyDecs$e[0];
267
+ _init_canAssign = _applyDecs$e[1];
268
+ _init_loading = _applyDecs$e[2];
269
+ _initProto = _applyDecs$e[3];
270
+ var LeaveMeetingStoreContext = exports.LeaveMeetingStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1 @@
1
+ export declare const AnnotationButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
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.AnnotationButton = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _tooltipsButton = require("agora-ui-foundation/lib/components/tooltips-button");
11
+ var _i18n = require("agora-ui-foundation/lib/i18n");
12
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
13
+ var _annotationMenu = _interopRequireDefault(require("../../../components/annotation-menu"));
14
+ var _react = require("react");
15
+ var _mobxReact = require("mobx-react");
16
+ var _store = require("../../store");
17
+ var _view = require("../../view");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var AnnotationButton = exports.AnnotationButton = (0, _mobxReact.observer)(function () {
20
+ var transI18n = (0, _i18n.useI18n)();
21
+ var _useState = (0, _react.useState)(false),
22
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
23
+ visible = _useState2[0],
24
+ setVisible = _useState2[1];
25
+ var _useContext = (0, _react.useContext)(_view.ControlbarContext),
26
+ browserWindow = _useContext.browserWindow;
27
+ var _useContext2 = (0, _react.useContext)(_store.StoreContext),
28
+ toggleAnnotation = _useContext2.toggleAnnotation,
29
+ hasAnnotationAllowWritePermission = _useContext2.hasAnnotationAllowWritePermission,
30
+ allowAnnotationWriteState = _useContext2.allowAnnotationWriteState,
31
+ setAllAnnotationWrite = _useContext2.setAllAnnotationWrite,
32
+ isSharingScreen = _useContext2.isSharingScreen,
33
+ log = _useContext2.log;
34
+ var handleBlur = function handleBlur() {
35
+ setVisible(false);
36
+ };
37
+ (0, _react.useEffect)(function () {
38
+ browserWindow === null || browserWindow === void 0 || browserWindow.on('blur', handleBlur);
39
+ return function () {
40
+ browserWindow === null || browserWindow === void 0 || browserWindow.off('blur', handleBlur);
41
+ };
42
+ }, [browserWindow]);
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltipsButton.FrcTooltipButton, {
44
+ active: visible,
45
+ tooltip: {
46
+ content: transI18n('fmt_screenshare_controlbar_button_annotations'),
47
+ icon: {
48
+ type: _type.FcrIconType.FCR_RENAME,
49
+ size: 32,
50
+ colors: {
51
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
52
+ }
53
+ }
54
+ },
55
+ onTooltipButtonClick: isSharingScreen ? toggleAnnotation : function () {
56
+ return log('share screen is starting, please wait a moment to operate');
57
+ },
58
+ withPopover: true,
59
+ popover: {
60
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationMenu["default"], {
61
+ allowAnnotationWriteState: allowAnnotationWriteState,
62
+ hasAnnotationAllowWritePermission: hasAnnotationAllowWritePermission,
63
+ setAllowAnnotationWrite: setAllAnnotationWrite,
64
+ showClear: true
65
+ }),
66
+ onVisibleChange: function onVisibleChange(visible) {
67
+ setVisible(visible);
68
+ },
69
+ visible: visible
70
+ }
71
+ });
72
+ });
@@ -0,0 +1,20 @@
1
+ import { TransferPosition } from './enums';
2
+ export interface MorePopoverContentProps {
3
+ hasChatPermission: boolean;
4
+ closePopover?: () => void;
5
+ }
6
+ export interface IShareStateNav {
7
+ onShareStateNavTransferPosition: (targetPosition: TransferPosition) => void;
8
+ onStopShare: () => void;
9
+ currentPosition: TransferPosition;
10
+ }
11
+ export interface ITransferPositionIconProps {
12
+ currentPosition: TransferPosition;
13
+ onTransferPositionButtonClick: (targetPosition: TransferPosition) => void;
14
+ }
15
+ export type CurrentShareBounds = {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -0,0 +1,26 @@
1
+ .fcr-device-setting-dialog-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ background: var(--fcr_mobile_ui_scene_color_popup_fill2);
6
+ border-radius: 16px;
7
+ box-shadow: var(--fcr_web_light_dropup);
8
+ border: 1px solid var(--fcr_ui_scene_line1);
9
+ }
10
+
11
+ .fcr-device-setting-dialog-wrapper .frc-window-header {
12
+ cursor: move;
13
+ height: 46px;
14
+ }
15
+
16
+ .fcr-device-setting-dialog-wrapper .fcr-device-settings {
17
+ height: calc(100% - 46px);
18
+ }
19
+ .fcr-device-setting-dialog-wrapper .fcr-device-settings-audio {
20
+ padding: 0;
21
+ }
22
+
23
+ .fcr-device-setting-dialog-wrapper .frc-window-header .frc-window-header__title {
24
+ height: 46px;
25
+ line-height: 46px;
26
+ }
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import './index.css';
3
+ declare const DeviceSettingDialog: ({ children, onClose }: PropsWithChildren<{
4
+ onClose: () => void;
5
+ }>) => import("react/jsx-runtime").JSX.Element;
6
+ export default DeviceSettingDialog;
@@ -0,0 +1,62 @@
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"] = void 0;
9
+ require("core-js/modules/web.timers.js");
10
+ var _env = require("agora-foundation/lib/utilities/env");
11
+ var _i18n = require("agora-ui-foundation/lib/i18n");
12
+ var _constant = require("../../../../utilities/constant");
13
+ var _normalWindow = _interopRequireDefault(require("../../components/normal-window"));
14
+ require("./index.css");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var ELECTRON_HEIGHT = 556;
17
+ var WEB_HEIGHT = 600;
18
+ var DeviceSettingDialog = function DeviceSettingDialog(_ref) {
19
+ var children = _ref.children,
20
+ onClose = _ref.onClose;
21
+ var t = (0, _i18n.useI18n)();
22
+ var height = (0, _env.isElectron)() ? ELECTRON_HEIGHT : WEB_HEIGHT;
23
+ var config = {
24
+ fullscreen: false,
25
+ maximizable: false,
26
+ trafficLightPosition: {
27
+ x: 10,
28
+ y: 60
29
+ },
30
+ width: 580,
31
+ height: 600,
32
+ minWidth: 580,
33
+ minHeight: 600,
34
+ maxWidth: 670,
35
+ maxHeight: 800,
36
+ title: t('fmt_settings_option_setting'),
37
+ resizable: false
38
+ };
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_normalWindow["default"], {
40
+ height: height,
41
+ dialogKey: _constant.FcrUIDialogKey.DEVICE_SETTINGS,
42
+ config: config,
43
+ style: {
44
+ zIndex: 10
45
+ },
46
+ onClose: onClose,
47
+ onOpened: function onOpened(_ref2) {
48
+ var browserWindow = _ref2.browserWindow;
49
+ if (browserWindow) {
50
+ browserWindow.setAlwaysOnTop(true);
51
+ setTimeout(function () {
52
+ browserWindow.show();
53
+ browserWindow.setAlwaysOnTop(false);
54
+ browserWindow.moveTop();
55
+ browserWindow.focus();
56
+ }, 600);
57
+ }
58
+ },
59
+ children: children
60
+ });
61
+ };
62
+ var _default = exports["default"] = DeviceSettingDialog;
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { FcrUIWebWidgetConfig } from '../../../../type';
3
+ export declare const WidgetElectronDialog: ({ children, params, dialogId, }: PropsWithChildren<{
4
+ params: FcrUIWebWidgetConfig;
5
+ dialogId: string;
6
+ }>) => null;
@@ -0,0 +1,38 @@
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.WidgetElectronDialog = void 0;
8
+ require("core-js/modules/es.function.name.js");
9
+ var _constant = require("../../../../utilities/constant");
10
+ var _useElectron = require("../../hooks/useElectron");
11
+ var WidgetElectronDialog = exports.WidgetElectronDialog = function WidgetElectronDialog(_ref) {
12
+ var _params$popupSize, _params$popupSize2;
13
+ var children = _ref.children,
14
+ params = _ref.params,
15
+ dialogId = _ref.dialogId;
16
+ var width = (_params$popupSize = params.popupSize) !== null && _params$popupSize !== void 0 && _params$popupSize.width ? params.popupSize.width + 2 : undefined;
17
+ var height = (_params$popupSize2 = params.popupSize) !== null && _params$popupSize2 !== void 0 && _params$popupSize2.height ? params.popupSize.height + 76 : undefined;
18
+ var config = {
19
+ fullscreen: false,
20
+ maximizable: false,
21
+ trafficLightPosition: {
22
+ x: 10,
23
+ y: 60
24
+ },
25
+ width: width,
26
+ height: height,
27
+ title: params.name,
28
+ resizable: false
29
+ };
30
+ (0, _useElectron.useElectronDialog)({
31
+ config: config,
32
+ dialogKey: _constant.FcrUIDialogKey.WIDGET,
33
+ dialogId: dialogId,
34
+ children: children,
35
+ hasCustomShadow: false
36
+ });
37
+ return null;
38
+ };
@@ -0,0 +1,14 @@
1
+ export declare function usePopoverWatcher({ wrapperClass, offset, onAdded, onRemoved, }: {
2
+ wrapperClass: string;
3
+ onAdded?: () => void;
4
+ onRemoved?: () => void;
5
+ offset?: {
6
+ vertical: number;
7
+ horizontal: number;
8
+ };
9
+ }): {
10
+ watcher: ({ browserWindow, newRendererWindow, }: {
11
+ browserWindow?: Electron.BrowserWindow;
12
+ newRendererWindow?: Window;
13
+ }) => void;
14
+ };
@@ -0,0 +1,110 @@
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.usePopoverWatcher = usePopoverWatcher;
8
+ require("core-js/modules/es.array.for-each.js");
9
+ require("core-js/modules/es.object.to-string.js");
10
+ require("core-js/modules/esnext.iterator.constructor.js");
11
+ require("core-js/modules/esnext.iterator.for-each.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ var _lodash = require("lodash");
14
+ var _react = require("react");
15
+ function usePopoverWatcher(_ref) {
16
+ var wrapperClass = _ref.wrapperClass,
17
+ _ref$offset = _ref.offset,
18
+ offset = _ref$offset === void 0 ? {
19
+ vertical: 0,
20
+ horizontal: 0
21
+ } : _ref$offset,
22
+ onAdded = _ref.onAdded,
23
+ onRemoved = _ref.onRemoved;
24
+ var observerRef = (0, _react.useRef)();
25
+ var wrapperDomRef = (0, _react.useRef)();
26
+ function watcher(_ref2) {
27
+ var browserWindow = _ref2.browserWindow,
28
+ newRendererWindow = _ref2.newRendererWindow;
29
+ if (!newRendererWindow || !browserWindow) {
30
+ return;
31
+ }
32
+ if (observerRef.current) observerRef.current.disconnect();
33
+ var body = newRendererWindow.document.body;
34
+ var browserWindowBounds = browserWindow.getBounds();
35
+ var threshold = calculateThreshold(browserWindow, body);
36
+ browserWindow.addListener(
37
+ // @ts-ignore
38
+ 'custom-move', (0, _lodash.debounce)(function () {
39
+ threshold = calculateThreshold(browserWindow, body);
40
+ }, 200));
41
+ observerRef.current = new MutationObserver(function (mutationsList) {
42
+ var popover = body.querySelector('.fcr-popover');
43
+ wrapperDomRef.current = body.querySelector(wrapperClass);
44
+ var wrapper = wrapperDomRef.current;
45
+ mutationsList.forEach(function (mutation) {
46
+ if (mutation.type === 'childList') {
47
+ mutation.addedNodes.forEach(function (node) {
48
+ if (node.nodeType === Node.ELEMENT_NODE && node.contains(popover)) {
49
+ if (popover) {
50
+ var wrapperHeight = wrapper.offsetHeight,
51
+ wrapperWidth = wrapper.offsetWidth;
52
+ var offsetHeight = popover.offsetHeight,
53
+ popoverWidth = popover.offsetWidth,
54
+ offsetTop = popover.offsetTop,
55
+ offsetLeft = popover.offsetLeft;
56
+ // 如果 popover 展开,根据 popover 的尺寸调整窗口的尺寸可以正好容纳 popover
57
+ browserWindow.setBounds({
58
+ height: wrapperHeight + offsetHeight + offset.vertical,
59
+ width: wrapperWidth + offset.horizontal,
60
+ y: threshold.placement === 'top' ? threshold.y - offsetHeight : threshold.y
61
+ });
62
+ // if (wrapper) {
63
+ // const rect = wrapper.getBoundingClientRect();
64
+ // wrapper.setAttribute('style', `height: ${rect.height}px;width: ${rect.width}px`);
65
+ // // popover.setAttribute('style', `left: ${offsetLeft}px;top: ${offsetTop}px`);
66
+ // }
67
+ onAdded === null || onAdded === void 0 || onAdded();
68
+ }
69
+ }
70
+ });
71
+ mutation.removedNodes.forEach(function (node) {
72
+ var _classList;
73
+ if ((_classList = node.classList) !== null && _classList !== void 0 && _classList.contains('fcr-popover')) {
74
+ onRemoved === null || onRemoved === void 0 || onRemoved();
75
+ var width = browserWindowBounds.width,
76
+ height = browserWindowBounds.height;
77
+ browserWindow.setBounds({
78
+ width: width,
79
+ height: height,
80
+ y: threshold.y
81
+ });
82
+ browserWindow.setResizable(true);
83
+ }
84
+ });
85
+ }
86
+ });
87
+ });
88
+ observerRef.current.observe(newRendererWindow.document.body, {
89
+ childList: true,
90
+ subtree: true
91
+ });
92
+ }
93
+ return {
94
+ watcher: watcher
95
+ };
96
+ }
97
+ function calculateThreshold(browserWindow, body) {
98
+ var _body$querySelector;
99
+ var bounds = browserWindow.getBounds();
100
+ var nearDisplay = window.runtime.screen.getDisplayNearestPoint(bounds);
101
+ var nearDisplayBounds = nearDisplay.bounds;
102
+ var middleThreshold = nearDisplayBounds.height / 2;
103
+ var placement = bounds.y > middleThreshold ? 'top' : 'bottom';
104
+ (_body$querySelector = body.querySelector('#root')) === null || _body$querySelector === void 0 || _body$querySelector.setAttribute('style', "display: flex;align-items: ".concat(placement === 'top' ? 'flex-end' : 'flex-start'));
105
+ return {
106
+ placement: placement,
107
+ x: bounds.x,
108
+ y: bounds.y
109
+ };
110
+ }