fcr-ui-scene 3.4.2 → 3.4.4

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 (215) hide show
  1. package/lib/common/device-store.d.ts +23 -14
  2. package/lib/common/device-store.js +361 -252
  3. package/lib/common/device-stream-store.d.ts +8 -14
  4. package/lib/common/device-stream-store.js +254 -116
  5. package/lib/common/event-store.d.ts +35 -10
  6. package/lib/common/event-store.js +64 -13
  7. package/lib/common/security-store.d.ts +47 -39
  8. package/lib/common/security-store.js +335 -379
  9. package/lib/electron/app.js +1 -0
  10. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +4 -1
  11. package/lib/modules/action-bar/action-bar-collapes-items.js +38 -21
  12. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +7 -0
  13. package/lib/modules/action-bar/components/apps/useWidgetList.js +43 -0
  14. package/lib/modules/action-bar/components/leave/assign-host.d.ts +8 -1
  15. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  16. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +16 -1
  17. package/lib/modules/action-bar/smaller.js +5 -5
  18. package/lib/modules/chat/chat-bar/index.css +6 -0
  19. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  20. package/lib/modules/chat/chat-bar/index.js +51 -39
  21. package/lib/modules/chat/chat-select/index.css +27 -7
  22. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  23. package/lib/modules/chat/chat-select/index.js +18 -4
  24. package/lib/modules/chat/chat.d.ts +1 -2
  25. package/lib/modules/chat/chat.js +196 -128
  26. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  27. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  28. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  29. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  30. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  31. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  32. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  33. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  34. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  35. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  36. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  37. package/lib/modules/chat/components/message-list/message-item/index.js +279 -0
  38. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  39. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  40. package/lib/modules/chat/message-list.js +68 -51
  41. package/lib/modules/components/dialog-container/component/body.js +1 -2
  42. package/lib/modules/components/dialog-container/index.d.ts +2 -2
  43. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  44. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  45. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  46. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  47. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  48. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  49. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  50. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  51. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  52. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +159 -0
  53. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  54. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +32 -0
  55. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  56. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  57. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  58. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  59. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  60. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  61. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  62. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  63. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  64. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  65. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  66. package/lib/modules/components/member-window/components/member-actions/store.js +306 -0
  67. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  68. package/lib/modules/components/member-window/components/member-board.js +63 -0
  69. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  70. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  71. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  72. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  73. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  74. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  75. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  76. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  77. package/lib/modules/components/member-window/types.d.ts +78 -0
  78. package/lib/modules/components/member-window/types.js +6 -0
  79. package/lib/modules/connection-gateway/components/tabs/index.js +2 -1
  80. package/lib/modules/control-bar/components/meeting-details/index.js +7 -15
  81. package/lib/modules/control-bar/components/more-actions/index.js +5 -15
  82. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  83. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  84. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  85. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  86. package/lib/modules/dialog/components/widget/electron.js +41 -0
  87. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  88. package/lib/modules/dialog/components/widget/index.js +41 -0
  89. package/lib/modules/dialog/type.d.ts +84 -0
  90. package/lib/modules/dialog/type.js +6 -0
  91. package/lib/modules/invite/components/pstn-invite.js +4 -13
  92. package/lib/modules/invite/pstn-invite.js +7 -9
  93. package/lib/modules/invite/store.d.ts +2 -0
  94. package/lib/modules/invite/store.js +6 -0
  95. package/lib/modules/invite/voip-invite.js +5 -6
  96. package/lib/modules/layout/member-window/index.css +116 -18
  97. package/lib/modules/layout/member-window/index.d.ts +10 -3
  98. package/lib/modules/layout/member-window/index.js +227 -115
  99. package/lib/modules/participant/attendee/index.css +0 -51
  100. package/lib/modules/participant/attendee/index.d.ts +8 -5
  101. package/lib/modules/participant/attendee/index.js +61 -15
  102. package/lib/modules/participant/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  103. package/lib/modules/participant/components/attendee/components/interpreter-tag/index.js +48 -0
  104. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  105. package/lib/modules/participant/components/confirm-input/index.js +49 -0
  106. package/lib/modules/participant/components/drop-menu/util.d.ts +5 -0
  107. package/lib/modules/participant/components/drop-menu/util.js +28 -0
  108. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  109. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  110. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  111. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  112. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  113. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  114. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  115. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  116. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  117. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  118. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  119. package/lib/modules/participant/components/participants/components/footer/index.js +47 -0
  120. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  121. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  122. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  123. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  124. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  125. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  126. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  127. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  128. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  129. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  130. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  131. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  132. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  133. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  134. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  135. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  136. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  137. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  138. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  139. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  140. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  141. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  142. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  143. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  144. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  145. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  146. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  147. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  148. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  149. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  150. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  151. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  152. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  153. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  154. package/lib/modules/participant/components/participants/render-tab/index.d.ts +2 -0
  155. package/lib/modules/participant/components/participants/render-tab/index.js +49 -0
  156. package/lib/modules/participant/components/participants/render-user/index.d.ts +5 -0
  157. package/lib/modules/participant/components/participants/render-user/index.js +21 -0
  158. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  159. package/lib/modules/participant/components/participants/types.js +37 -0
  160. package/lib/modules/participant/components/user-action/audio-button/index.d.ts +7 -0
  161. package/lib/modules/participant/components/user-action/audio-button/index.js +31 -0
  162. package/lib/modules/participant/components/user-action/move-actions-popover/index.d.ts +12 -0
  163. package/lib/modules/participant/components/user-action/move-actions-popover/index.js +82 -0
  164. package/lib/modules/participant/components/user-action/move-to-mainroom-button/index.d.ts +4 -0
  165. package/lib/modules/participant/components/user-action/move-to-mainroom-button/index.js +26 -0
  166. package/lib/modules/share-screen/selection/index.css +4 -0
  167. package/lib/modules/share-screen/selection/index.js +126 -129
  168. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  169. package/lib/modules/state-bar/meeting-details.js +29 -34
  170. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  171. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  172. package/lib/modules/video-window/components/members/index.css +51 -0
  173. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  174. package/lib/modules/video-window/components/members/index.js +130 -0
  175. package/lib/modules/video-window/components/speaking/index.css +86 -0
  176. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  177. package/lib/modules/video-window/components/speaking/index.js +48 -0
  178. package/lib/modules/video-window/components/topControl/index.css +35 -0
  179. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  180. package/lib/modules/video-window/components/topControl/index.js +79 -0
  181. package/lib/modules/widget/index.css +17 -0
  182. package/lib/modules/widget/index.d.ts +10 -0
  183. package/lib/modules/widget/index.js +114 -0
  184. package/lib/modules/widget/sdk.d.ts +30 -0
  185. package/lib/modules/widget/sdk.js +221 -0
  186. package/lib/modules/widget/store.d.ts +14 -0
  187. package/lib/modules/widget/store.js +28 -0
  188. package/lib/modules/widget/type.d.ts +155 -0
  189. package/lib/modules/widget/type.js +6 -0
  190. package/lib/modules/widget/view.d.ts +2 -0
  191. package/lib/modules/widget/view.js +47 -0
  192. package/lib/modules/widget/web-widget.d.ts +29 -0
  193. package/lib/modules/widget/web-widget.js +234 -0
  194. package/lib/providers/ability-provider.d.ts +24 -0
  195. package/lib/providers/ability-provider.js +36 -0
  196. package/lib/providers/widget-provider.d.ts +44 -0
  197. package/lib/providers/widget-provider.js +167 -0
  198. package/lib/schema.d.ts +114 -0
  199. package/lib/schema.js +77 -0
  200. package/lib/shared-data-source/member-data.d.ts +126 -0
  201. package/lib/shared-data-source/member-data.js +465 -0
  202. package/lib/translations/enUS.d.ts +5 -0
  203. package/lib/translations/enUS.js +9 -3
  204. package/lib/translations/zhCN.d.ts +5 -0
  205. package/lib/translations/zhCN.js +13 -7
  206. package/lib/utilities/extract.d.ts +1 -1
  207. package/lib/utilities/logger.d.ts +8 -0
  208. package/lib/utilities/logger.js +42 -0
  209. package/lib/utilities/meeting-detail.d.ts +2 -0
  210. package/lib/utilities/meeting-detail.js +56 -0
  211. package/lib/utilities/validate-params.d.ts +2 -0
  212. package/lib/utilities/validate-params.js +16 -0
  213. package/lib/widget-sdk.d.ts +2 -0
  214. package/lib/widget-sdk.js +13 -0
  215. package/package.json +5 -5
@@ -0,0 +1,234 @@
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.FcrUIWebWidgetImpl = void 0;
40
+ require("core-js/modules/es.array.iterator.js");
41
+ require("core-js/modules/es.object.to-string.js");
42
+ require("core-js/modules/es.string.iterator.js");
43
+ require("core-js/modules/es.weak-map.js");
44
+ require("core-js/modules/esnext.weak-map.delete-all.js");
45
+ require("core-js/modules/esnext.weak-map.emplace.js");
46
+ require("core-js/modules/web.dom-collections.iterator.js");
47
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
48
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
49
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
50
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
51
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
52
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
53
+ var _log = require("agora-foundation/lib/decorator/log");
54
+ var _decorator = require("agora-foundation/lib/decorator");
55
+ var _logger = require("../../utilities/logger");
56
+ var _mobx = require("mobx");
57
+ var _FcrUIWebWidgetImpl;
58
+ var _initProto, _init_webview;
59
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
60
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
61
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
62
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
63
+ 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"); }
64
+ 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)]; } }; }
65
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
66
+ 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); }
67
+ 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; }
68
+ 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; }
69
+ var _A = /*#__PURE__*/new WeakMap();
70
+ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
71
+ function FcrUIWebWidgetImpl(roomControl) {
72
+ var _this = this;
73
+ (0, _classCallCheck2["default"])(this, FcrUIWebWidgetImpl);
74
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
75
+ prefix: 'FcrUIWebWidget'
76
+ })));
77
+ (0, _defineProperty2["default"])(this, "_userControlObserver", {
78
+ onRemoteUsersJoined: function onRemoteUsersJoined(roomId, events) {
79
+ _this._handleCallback('onRemoteUsersJoined', events);
80
+ },
81
+ onRemoteUsersLeft: function onRemoteUsersLeft(roomId, events) {
82
+ _this._handleCallback('onRemoteUsersLeft', events);
83
+ },
84
+ onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
85
+ _this._handleCallback('onUserInfoUpdated', event);
86
+ },
87
+ onAllUserCountUpdated: function onAllUserCountUpdated(roomId, count) {
88
+ _this._handleCallback('onAllUserCountUpdated', count);
89
+ }
90
+ });
91
+ (0, _defineProperty2["default"])(this, "_roomControlObserver", {
92
+ onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
93
+ _this._handleCallback('onRoomStateUpdated', state);
94
+ }
95
+ });
96
+ _classPrivateFieldInitSpec(this, _A, _init_webview(this, null));
97
+ this._roomControl = roomControl;
98
+ this._userControl = this._roomControl.getUserControl();
99
+ this.addObserver();
100
+ this._currentWindow = window;
101
+ }
102
+ return (0, _createClass2["default"])(FcrUIWebWidgetImpl, [{
103
+ key: "webview",
104
+ get: function get() {
105
+ return _classPrivateFieldGet(_A, this);
106
+ },
107
+ set: function set(v) {
108
+ _classPrivateFieldSet(_A, this, v);
109
+ }
110
+ }, {
111
+ key: "init",
112
+ value: function init(config, currentWindow) {
113
+ this._currentWindow = currentWindow;
114
+ this._currentWindow.addEventListener('message', this._handleApiResponse);
115
+ // window.addEventListener('message',()=>{
116
+ // this.logger.debug("currentWindow addEventListeneraddEventListener");
117
+ // });
118
+ this.webview = this._currentWindow.document.getElementById(config.id);
119
+ }
120
+ }, {
121
+ key: "reload",
122
+ value: function reload() {}
123
+ }, {
124
+ key: "release",
125
+ value: function release() {
126
+ this.webview = null;
127
+ this._currentWindow.removeEventListener('message', this._handleApiResponse);
128
+ this.removeObserver();
129
+ }
130
+ }, {
131
+ key: "getRoomInfo",
132
+ value: function getRoomInfo() {
133
+ return this._roomControl.getRoomInfo();
134
+ }
135
+ }, {
136
+ key: "getRoomSchedule",
137
+ value: function getRoomSchedule() {
138
+ return this._roomControl.getRoomSchedule();
139
+ }
140
+ }, {
141
+ key: "getRoomState",
142
+ value: function getRoomState() {
143
+ return this._roomControl.getRoomState();
144
+ }
145
+ }, {
146
+ key: "getLocalUser",
147
+ value: function getLocalUser() {
148
+ return this._userControl.getLocalUser();
149
+ }
150
+ }, {
151
+ key: "getUserList",
152
+ value: function getUserList() {
153
+ return this._userControl.getUserList();
154
+ }
155
+ }, {
156
+ key: "getAllUserCount",
157
+ value: function getAllUserCount() {
158
+ return this._userControl.getAllUserCount();
159
+ }
160
+ }, {
161
+ key: "fetchUserList",
162
+ value: function () {
163
+ var _fetchUserList = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(params) {
164
+ return _regenerator["default"].wrap(function _callee$(_context) {
165
+ while (1) switch (_context.prev = _context.next) {
166
+ case 0:
167
+ return _context.abrupt("return", this._userControl.fetchUserList(params));
168
+ case 1:
169
+ case "end":
170
+ return _context.stop();
171
+ }
172
+ }, _callee, this);
173
+ }));
174
+ function fetchUserList(_x) {
175
+ return _fetchUserList.apply(this, arguments);
176
+ }
177
+ return fetchUserList;
178
+ }()
179
+ }, {
180
+ key: "addObserver",
181
+ value: function addObserver() {
182
+ this._roomControl.addObserver(this._roomControlObserver);
183
+ this._userControl.addObserver(this._userControlObserver);
184
+ }
185
+ }, {
186
+ key: "removeObserver",
187
+ value: function removeObserver() {
188
+ this._roomControl.removeObserver(this._roomControlObserver);
189
+ this._userControl.removeObserver(this._userControlObserver);
190
+ }
191
+ }, {
192
+ key: "_handleApiResponse",
193
+ value: function _handleApiResponse(event) {
194
+ // if (event.origin !== webWidget.webview?.url) return;
195
+ if (event.data) {
196
+ var _event$data = event.data,
197
+ action = _event$data.action,
198
+ callId = _event$data.callId,
199
+ method = _event$data.method,
200
+ parameters = _event$data.parameters;
201
+ if (action === 'apiRequest') {
202
+ var _this$webview;
203
+ var returnValue = this[method](parameters[0]);
204
+ var params = {
205
+ action: 'apiResponse',
206
+ callId: callId,
207
+ method: method,
208
+ returnValue: returnValue
209
+ };
210
+ (_this$webview = this.webview) === null || _this$webview === void 0 || (_this$webview = _this$webview.contentWindow) === null || _this$webview === void 0 || _this$webview.postMessage(params, '*');
211
+ this.logger.debug('_handleApiResponse: ', params);
212
+ }
213
+ }
214
+ }
215
+ }, {
216
+ key: "_handleCallback",
217
+ value: function _handleCallback(method, payload) {
218
+ var _this$webview2;
219
+ var params = {
220
+ action: 'callback',
221
+ method: method,
222
+ payload: payload
223
+ };
224
+ (_this$webview2 = this.webview) === null || _this$webview2 === void 0 || (_this$webview2 = _this$webview2.contentWindow) === null || _this$webview2 === void 0 || _this$webview2.postMessage(params, '*');
225
+ this.logger.debug('_handleApiResponse: ', params);
226
+ }
227
+ }]);
228
+ }();
229
+ _FcrUIWebWidgetImpl = FcrUIWebWidgetImpl;
230
+ var _applyDecs$e = _applyDecs(_FcrUIWebWidgetImpl, [[_mobx.observable, 1, "webview"], [[_decorator.bound, _log.trace], 2, "init"], [[_decorator.bound, _log.trace], 2, "reload"], [[_decorator.bound, _log.trace], 2, "release"], [[_decorator.bound, _log.trace], 2, "getRoomInfo"], [[_decorator.bound, _log.trace], 2, "getRoomSchedule"], [[_decorator.bound, _log.trace], 2, "getRoomState"], [[_decorator.bound, _log.trace], 2, "getLocalUser"], [[_decorator.bound, _log.trace], 2, "getUserList"], [[_decorator.bound, _log.trace], 2, "getAllUserCount"], [[_decorator.bound, _log.trace], 2, "fetchUserList"], [[_decorator.bound, _log.trace], 2, "_handleApiResponse"], [[_decorator.bound, _log.trace], 2, "_handleCallback"]], []).e;
231
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
232
+ _init_webview = _applyDecs$e2[0];
233
+ _initProto = _applyDecs$e2[1];
234
+ _applyDecs$e;
@@ -0,0 +1,24 @@
1
+ import { FcrAbilityControl } from 'fcr-core/lib/room-control/ability-control/type';
2
+ import { FcrPlatform } from 'fcr-core/lib/type';
3
+ export interface FcrUIAbilityProvider {
4
+ isRoomDetailSupported(): boolean;
5
+ /**
6
+ * 判断指定平台是否支持设置主持人
7
+ * @param platform 目标平台
8
+ */
9
+ isHostSupportedByPlatform(platform: FcrPlatform): boolean;
10
+ }
11
+ export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider {
12
+ private _abilityControl;
13
+ protected logger: import("agora-foundation/lib/logger").Logger;
14
+ constructor(_abilityControl: FcrAbilityControl);
15
+ /**
16
+ * 检查当前平台是否支持指定能力
17
+ */
18
+ isRoomDetailSupported: () => boolean;
19
+ /**
20
+ * 检查指定平台是否支持特定能力
21
+ * @param platform 目标平台
22
+ */
23
+ isHostSupportedByPlatform: (platform: FcrPlatform) => boolean;
24
+ }
@@ -0,0 +1,36 @@
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.FcrUIAbilityProviderImpl = void 0;
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _type = require("fcr-core/lib/room-control/ability-control/type");
13
+ var _base = require("../base");
14
+ var _logger = require("agora-foundation/lib/logger");
15
+ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/(0, _createClass2["default"])(function FcrUIAbilityProviderImpl(_abilityControl) {
16
+ var _this = this;
17
+ (0, _classCallCheck2["default"])(this, FcrUIAbilityProviderImpl);
18
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.getLogger)());
19
+ /**
20
+ * 检查当前平台是否支持指定能力
21
+ */
22
+ (0, _defineProperty2["default"])(this, "isRoomDetailSupported", function () {
23
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.RoomDetail);
24
+ return result;
25
+ });
26
+ /**
27
+ * 检查指定平台是否支持特定能力
28
+ * @param platform 目标平台
29
+ */
30
+ (0, _defineProperty2["default"])(this, "isHostSupportedByPlatform", function (platform) {
31
+ var result = _this._abilityControl.isPlatformAbilitySupported(platform, _type.FcrAbility.RoleHost);
32
+ return result;
33
+ });
34
+ this._abilityControl = _abilityControl;
35
+ });
36
+ (0, _base.registerDependency)('abilityProvider');
@@ -0,0 +1,44 @@
1
+ import { FcrUIRoomProvider } from '../providers/room-provider';
2
+ import { FcrUIWebWidget, ID } from '../modules/widget/type';
3
+ import { FcrUIWebWidgetConfig } from '../type';
4
+ import { FcrUIDialogProvider } from './dialog-provider';
5
+ export interface FcrUIWidgetProvider {
6
+ /**
7
+ *Map<id, FcrUIWebWidgetConfig>
8
+ *存储已注册的widget
9
+ *渲染在应用窗口中
10
+ */
11
+ registeredWidgetConfigs: Map<ID, FcrUIWebWidgetConfig>;
12
+ dialogIds: Map<ID, string>;
13
+ /**
14
+ *Map<id, FcrUIWebWidget>
15
+ *存储已打开的widget对象
16
+ *渲染widget容器
17
+ */
18
+ openedWidgets: Map<ID, FcrUIWebWidget>;
19
+ /**
20
+ * 根据widgetId打开widget
21
+ *实例化FcrUIBaseWidget,加入openedWidgets
22
+ * @param widgetId widget唯一标识
23
+ */
24
+ openWidget(widgetId: string): void;
25
+ /**
26
+ * 根据widgetId 关闭widget
27
+ *从openedWidgets中取出widget实例,执行销毁逻辑
28
+ *从openedWidgets中删除widget实例
29
+ * @param widgetId widget唯一标识
30
+ */
31
+ closeWidget(widgetId: string): void;
32
+ }
33
+ export declare class FcrUIWidgetProviderImpl implements FcrUIWidgetProvider {
34
+ private _roomProvider;
35
+ private _dialogProvider;
36
+ private _dialogProviderObserver;
37
+ accessor dialogIds: Map<ID, string>;
38
+ accessor registeredWidgetConfigs: Map<ID, FcrUIWebWidgetConfig>;
39
+ accessor openedWidgets: Map<ID, FcrUIWebWidget>;
40
+ constructor(roomProvider: FcrUIRoomProvider, dialogProvider: FcrUIDialogProvider);
41
+ openWidget(widgetId: string): void;
42
+ closeWidget(widgetId: string): void;
43
+ release(): void;
44
+ }
@@ -0,0 +1,167 @@
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.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.symbol.metadata.js");
19
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
+ var _typeof = require("@babel/runtime/helpers/typeof");
21
+ Object.defineProperty(exports, "__esModule", {
22
+ value: true
23
+ });
24
+ exports.FcrUIWidgetProviderImpl = void 0;
25
+ require("core-js/modules/es.array.find.js");
26
+ require("core-js/modules/es.array.from.js");
27
+ require("core-js/modules/es.array.iterator.js");
28
+ require("core-js/modules/es.map.js");
29
+ require("core-js/modules/es.object.to-string.js");
30
+ require("core-js/modules/es.string.iterator.js");
31
+ require("core-js/modules/es.weak-map.js");
32
+ require("core-js/modules/esnext.async-iterator.find.js");
33
+ require("core-js/modules/esnext.iterator.constructor.js");
34
+ require("core-js/modules/esnext.iterator.find.js");
35
+ require("core-js/modules/esnext.map.delete-all.js");
36
+ require("core-js/modules/esnext.map.emplace.js");
37
+ require("core-js/modules/esnext.map.every.js");
38
+ require("core-js/modules/esnext.map.filter.js");
39
+ require("core-js/modules/esnext.map.find.js");
40
+ require("core-js/modules/esnext.map.find-key.js");
41
+ require("core-js/modules/esnext.map.includes.js");
42
+ require("core-js/modules/esnext.map.key-of.js");
43
+ require("core-js/modules/esnext.map.map-keys.js");
44
+ require("core-js/modules/esnext.map.map-values.js");
45
+ require("core-js/modules/esnext.map.merge.js");
46
+ require("core-js/modules/esnext.map.reduce.js");
47
+ require("core-js/modules/esnext.map.some.js");
48
+ require("core-js/modules/esnext.map.update.js");
49
+ require("core-js/modules/esnext.weak-map.delete-all.js");
50
+ require("core-js/modules/esnext.weak-map.emplace.js");
51
+ require("core-js/modules/web.dom-collections.iterator.js");
52
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
53
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
54
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
55
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
56
+ var _mobx = require("mobx");
57
+ var _base = require("../base");
58
+ var _constant = require("../utilities/constant");
59
+ var _webWidget = require("../modules/widget/web-widget");
60
+ var _FcrUIWidgetProviderImpl;
61
+ var _initProto, _init_dialogIds, _init_registeredWidgetConfigs, _init_openedWidgets;
62
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
63
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
64
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
65
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
66
+ 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"); }
67
+ 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)]; } }; }
68
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
69
+ 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); }
70
+ 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; }
71
+ 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; }
72
+ var _A = /*#__PURE__*/new WeakMap();
73
+ var _B = /*#__PURE__*/new WeakMap();
74
+ var _C = /*#__PURE__*/new WeakMap();
75
+ var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/function () {
76
+ function FcrUIWidgetProviderImpl(roomProvider, dialogProvider) {
77
+ var _this = this;
78
+ (0, _classCallCheck2["default"])(this, FcrUIWidgetProviderImpl);
79
+ (0, _defineProperty2["default"])(this, "_roomProvider", void _initProto(this));
80
+ (0, _defineProperty2["default"])(this, "_dialogProviderObserver", {
81
+ onDialogClosed: function onDialogClosed(dialogId) {
82
+ var _Array$from$find;
83
+ var widgetId = (_Array$from$find = Array.from(_this.dialogIds.entries()).find(function (_ref) {
84
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
85
+ id = _ref2[1];
86
+ return id === dialogId;
87
+ })) === null || _Array$from$find === void 0 ? void 0 : _Array$from$find[0];
88
+ if (widgetId) {
89
+ var widget = _this.openedWidgets.get(widgetId);
90
+ if (widget) {
91
+ widget.release();
92
+ _this.openedWidgets["delete"](widgetId);
93
+ }
94
+ }
95
+ }
96
+ });
97
+ _classPrivateFieldInitSpec(this, _A, _init_dialogIds(this, new Map()));
98
+ _classPrivateFieldInitSpec(this, _B, _init_registeredWidgetConfigs(this, new Map([])));
99
+ _classPrivateFieldInitSpec(this, _C, _init_openedWidgets(this, new Map()));
100
+ this._roomProvider = roomProvider;
101
+ this._dialogProvider = dialogProvider;
102
+ this._dialogProvider.addObserver(this._dialogProviderObserver);
103
+ }
104
+ return (0, _createClass2["default"])(FcrUIWidgetProviderImpl, [{
105
+ key: "dialogIds",
106
+ get: function get() {
107
+ return _classPrivateFieldGet(_A, this);
108
+ },
109
+ set: function set(v) {
110
+ _classPrivateFieldSet(_A, this, v);
111
+ }
112
+ }, {
113
+ key: "registeredWidgetConfigs",
114
+ get: function get() {
115
+ return _classPrivateFieldGet(_B, this);
116
+ },
117
+ set: function set(v) {
118
+ _classPrivateFieldSet(_B, this, v);
119
+ }
120
+ }, {
121
+ key: "openedWidgets",
122
+ get: function get() {
123
+ return _classPrivateFieldGet(_C, this);
124
+ },
125
+ set: function set(v) {
126
+ _classPrivateFieldSet(_C, this, v);
127
+ }
128
+ }, {
129
+ key: "openWidget",
130
+ value: function openWidget(widgetId) {
131
+ var widgetConfig = this.registeredWidgetConfigs.get(widgetId);
132
+ var isOpened = this.openedWidgets.has(widgetId);
133
+ if (widgetConfig && this._roomProvider.mainRoomControl && !isOpened) {
134
+ var webWidget = new _webWidget.FcrUIWebWidgetImpl(this._roomProvider.mainRoomControl);
135
+ this.openedWidgets.set(widgetId, webWidget);
136
+ var dialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.WIDGET, widgetId, widgetConfig);
137
+ this.dialogIds.set(widgetId, dialogId);
138
+ }
139
+ }
140
+ }, {
141
+ key: "closeWidget",
142
+ value: function closeWidget(widgetId) {
143
+ var widget = this.openedWidgets.get(widgetId);
144
+ if (widget) {
145
+ widget.release();
146
+ this.openedWidgets["delete"](widgetId);
147
+ }
148
+ var dialogId = this.dialogIds.get(widgetId);
149
+ if (dialogId) {
150
+ this._dialogProvider.closeDialog(dialogId);
151
+ this.dialogIds["delete"](widgetId);
152
+ }
153
+ }
154
+ }, {
155
+ key: "release",
156
+ value: function release() {
157
+ this._dialogProvider.removeObserver(this._dialogProviderObserver);
158
+ }
159
+ }]);
160
+ }();
161
+ _FcrUIWidgetProviderImpl = FcrUIWidgetProviderImpl;
162
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIWidgetProviderImpl, [[_mobx.observable, 1, "dialogIds"], [_mobx.observable, 1, "registeredWidgetConfigs"], [_mobx.observable, 1, "openedWidgets"]], []).e, 4);
163
+ _init_dialogIds = _applyDecs$e[0];
164
+ _init_registeredWidgetConfigs = _applyDecs$e[1];
165
+ _init_openedWidgets = _applyDecs$e[2];
166
+ _initProto = _applyDecs$e[3];
167
+ (0, _base.registerDependency)('widgetProvider');
@@ -0,0 +1,114 @@
1
+ import { FcrUserRole } from 'fcr-core';
2
+ import { z } from 'fcr-core/lib/schema';
3
+ export { fcrRenderViewSchema } from 'fcr-core/lib/schema';
4
+ export declare const fcrUserRoleSchema: z.ZodNativeEnum<typeof FcrUserRole>;
5
+ export type FcrUserRoleSchema = z.infer<typeof fcrUserRoleSchema>;
6
+ export declare const fcrUIResourceSchema: z.ZodObject<{
7
+ virtualBackgroundImages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
+ virtualBackgroundVideos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
+ soundEffectAudios: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ virtualBackgroundImages?: string[] | undefined;
12
+ virtualBackgroundVideos?: string[] | undefined;
13
+ soundEffectAudios?: string[] | undefined;
14
+ }, {
15
+ virtualBackgroundImages?: string[] | undefined;
16
+ virtualBackgroundVideos?: string[] | undefined;
17
+ soundEffectAudios?: string[] | undefined;
18
+ }>;
19
+ export type FcrUIResourceSchema = z.infer<typeof fcrUIResourceSchema>;
20
+ export declare const fcrUISceneConfigSchema: z.ZodObject<{
21
+ /**
22
+ * The token for authentication.
23
+ */
24
+ roomToken: z.ZodString;
25
+ /**
26
+ * The ID of the room.
27
+ */
28
+ roomId: z.ZodString;
29
+ /**
30
+ * The name of the user.
31
+ */
32
+ userName: z.ZodString;
33
+ /**
34
+ * The role of the user.
35
+ */
36
+ userRole: z.ZodNativeEnum<typeof FcrUserRole>;
37
+ /**
38
+ * The language of the user interface. Supported languages are: 'en', 'zh'.
39
+ */
40
+ language: z.ZodString;
41
+ /**
42
+ * Link to share the room.
43
+ */
44
+ inviteLink: z.ZodString;
45
+ /**
46
+ * Flexible properties of the user.
47
+ */
48
+ userProperties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
+ /**
50
+ * UI Resources such as virtual background images and videos.
51
+ */
52
+ resource: z.ZodOptional<z.ZodObject<{
53
+ virtualBackgroundImages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
54
+ virtualBackgroundVideos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
55
+ soundEffectAudios: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ virtualBackgroundImages?: string[] | undefined;
58
+ virtualBackgroundVideos?: string[] | undefined;
59
+ soundEffectAudios?: string[] | undefined;
60
+ }, {
61
+ virtualBackgroundImages?: string[] | undefined;
62
+ virtualBackgroundVideos?: string[] | undefined;
63
+ soundEffectAudios?: string[] | undefined;
64
+ }>>;
65
+ /**
66
+ * The password for the room.
67
+ */
68
+ password: z.ZodOptional<z.ZodString>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ roomToken: string;
71
+ roomId: string;
72
+ userName: string;
73
+ userRole: FcrUserRole;
74
+ language: string;
75
+ inviteLink: string;
76
+ userProperties?: Record<string, unknown> | undefined;
77
+ resource?: {
78
+ virtualBackgroundImages?: string[] | undefined;
79
+ virtualBackgroundVideos?: string[] | undefined;
80
+ soundEffectAudios?: string[] | undefined;
81
+ } | undefined;
82
+ password?: string | undefined;
83
+ }, {
84
+ roomToken: string;
85
+ roomId: string;
86
+ userName: string;
87
+ userRole: FcrUserRole;
88
+ language: string;
89
+ inviteLink: string;
90
+ userProperties?: Record<string, unknown> | undefined;
91
+ resource?: {
92
+ virtualBackgroundImages?: string[] | undefined;
93
+ virtualBackgroundVideos?: string[] | undefined;
94
+ soundEffectAudios?: string[] | undefined;
95
+ } | undefined;
96
+ password?: string | undefined;
97
+ }>;
98
+ export type FcrUISceneConfigSchema = z.infer<typeof fcrUISceneConfigSchema>;
99
+ export declare const fcrUISceneCallbackSchema: z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>;
100
+ export type FcrUISceneCallbackSchema = z.infer<typeof fcrUISceneCallbackSchema>;
101
+ export declare const fcrUISceneFailureCallbackSchema: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodObject<{
102
+ code: z.ZodString;
103
+ message: z.ZodString;
104
+ origin: z.ZodOptional<z.ZodUnion<[z.ZodType<Error, z.ZodTypeDef, Error>, z.ZodUndefined]>>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ code: string;
107
+ message: string;
108
+ origin?: Error | undefined;
109
+ }, {
110
+ code: string;
111
+ message: string;
112
+ origin?: Error | undefined;
113
+ }>], z.ZodUnknown>, z.ZodVoid>;
114
+ export type FcrUISceneFailureCallbackSchema = z.infer<typeof fcrUISceneFailureCallbackSchema>;