fcr-ui-scene 3.7.2 → 3.7.3

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 (246) hide show
  1. package/lib/creator.js +23 -44
  2. package/lib/electron/app.js +7 -0
  3. package/lib/electron/injections.d.ts +1 -1
  4. package/lib/electron/injections.js +5 -3
  5. package/lib/electron/main.js +3 -1
  6. package/lib/fragments/annotation/index.d.ts +1 -0
  7. package/lib/fragments/annotation/index.js +13 -7
  8. package/lib/fragments/annotation/store.d.ts +8 -4
  9. package/lib/fragments/annotation/store.js +351 -267
  10. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  11. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  12. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  13. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  14. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  15. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  16. package/lib/fragments/annotation/utils.d.ts +1 -0
  17. package/lib/fragments/annotation/utils.js +27 -0
  18. package/lib/fragments/annotation/view.js +1 -6
  19. package/lib/fragments/base.js +5 -3
  20. package/lib/fragments/whiteboard/cursor.css +77 -0
  21. package/lib/fragments/whiteboard/index.d.ts +11 -0
  22. package/lib/fragments/whiteboard/index.js +91 -0
  23. package/lib/fragments/whiteboard/store.d.ts +31 -0
  24. package/lib/fragments/whiteboard/store.js +475 -0
  25. package/lib/fragments/whiteboard/style.css +4 -0
  26. package/lib/fragments/whiteboard/view.d.ts +4 -0
  27. package/lib/fragments/whiteboard/view.js +31 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/modules/action-bar/components/apps/index.js +15 -5
  31. package/lib/modules/action-bar/components/leave/index.js +4 -11
  32. package/lib/modules/action-bar/view.d.ts +1 -0
  33. package/lib/modules/action-bar/view.js +3 -2
  34. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  35. package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
  36. package/lib/modules/annotation/index.d.ts +2 -0
  37. package/lib/modules/annotation/index.js +2 -2
  38. package/lib/modules/annotation/store.d.ts +11 -49
  39. package/lib/modules/annotation/store.js +135 -418
  40. package/lib/modules/annotation/view.js +3 -6
  41. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  42. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  43. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  44. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  45. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  46. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  47. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  48. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  49. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  50. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  51. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  52. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  53. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  54. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  55. package/lib/modules/components/control-bar/index.css +87 -0
  56. package/lib/modules/components/control-bar/index.d.ts +20 -0
  57. package/lib/modules/components/control-bar/index.js +276 -0
  58. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  59. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  60. package/lib/modules/components/leave-meeting/index.js +15 -7
  61. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  62. package/lib/modules/components/leave-meeting/portal.js +29 -0
  63. package/lib/modules/components/leave-meeting/style.css +9 -0
  64. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  66. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  67. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  68. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  69. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  70. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  71. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  72. package/lib/modules/components/member-window/index.css +4 -0
  73. package/lib/modules/components/member-window/types.d.ts +6 -2
  74. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  75. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  76. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  77. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  78. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  79. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  80. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  81. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  82. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  83. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  84. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  85. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  86. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  87. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  88. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  89. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  90. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  91. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  92. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  93. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  94. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  95. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  96. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  97. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  98. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  99. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  100. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  101. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  102. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  103. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  104. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  105. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  106. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  107. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  108. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  109. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  110. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  111. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  112. package/lib/modules/components/toolbar/index.d.ts +29 -0
  113. package/lib/modules/components/toolbar/index.js +258 -0
  114. package/lib/modules/components/toolbar/style.css +85 -0
  115. package/lib/modules/components/toolbar/types.d.ts +13 -0
  116. package/lib/modules/components/toolbar/types.js +6 -0
  117. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  118. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  119. package/lib/modules/control-bar/index.js +2 -1
  120. package/lib/modules/control-bar/store.d.ts +7 -6
  121. package/lib/modules/control-bar/store.js +28 -21
  122. package/lib/modules/control-bar/view.js +7 -55
  123. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  124. package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
  125. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  126. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  127. package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
  128. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  129. package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
  130. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  131. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  132. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  133. package/lib/modules/dialog/hooks/useElectron.js +62 -12
  134. package/lib/modules/dialog/index.d.ts +6 -3
  135. package/lib/modules/dialog/index.js +5 -3
  136. package/lib/modules/dialog/store.d.ts +21 -8
  137. package/lib/modules/dialog/store.js +79 -11
  138. package/lib/modules/dialog/type.d.ts +8 -0
  139. package/lib/modules/event-confirm/index.css +5 -2
  140. package/lib/modules/event-confirm/store.js +6 -7
  141. package/lib/modules/event-confirm/view.js +1 -1
  142. package/lib/modules/event-sound/index.d.ts +1 -0
  143. package/lib/modules/event-sound/index.js +11 -24
  144. package/lib/modules/invite/components/pstn-invite.js +0 -1
  145. package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
  146. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  147. package/lib/modules/layout/index.d.ts +3 -1
  148. package/lib/modules/layout/index.js +2 -1
  149. package/lib/modules/layout/store.d.ts +7 -59
  150. package/lib/modules/layout/store.js +126 -24
  151. package/lib/modules/layout/type.d.ts +55 -0
  152. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  153. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  154. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  155. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  156. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  157. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  158. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  159. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  160. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  161. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  162. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  163. package/lib/modules/participant/components/participants/index.js +5 -2
  164. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  165. package/lib/modules/participant/index.d.ts +2 -0
  166. package/lib/modules/participant/index.js +2 -1
  167. package/lib/modules/participant/store.d.ts +5 -1
  168. package/lib/modules/participant/store.js +8 -1
  169. package/lib/modules/secondary-window/index.d.ts +49 -0
  170. package/lib/modules/secondary-window/index.js +108 -0
  171. package/lib/modules/secondary-window/store.d.ts +76 -0
  172. package/lib/modules/secondary-window/store.js +407 -0
  173. package/lib/modules/secondary-window/type.d.ts +106 -0
  174. package/lib/modules/secondary-window/type.js +35 -0
  175. package/lib/modules/secondary-window/view.d.ts +6 -0
  176. package/lib/modules/secondary-window/view.js +257 -0
  177. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  178. package/lib/modules/setting/state/index.js +0 -10
  179. package/lib/modules/setting/store.d.ts +1 -0
  180. package/lib/modules/setting/store.js +6 -3
  181. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  182. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  183. package/lib/modules/share-screen/components/selection/index.js +10 -15
  184. package/lib/modules/share-screen/index.d.ts +4 -1
  185. package/lib/modules/share-screen/index.js +6 -3
  186. package/lib/modules/share-screen/store.d.ts +9 -9
  187. package/lib/modules/share-screen/store.js +39 -64
  188. package/lib/modules/state-bar/index.d.ts +2 -0
  189. package/lib/modules/state-bar/index.js +2 -1
  190. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  191. package/lib/modules/state-bar/store.d.ts +5 -2
  192. package/lib/modules/state-bar/store.js +14 -7
  193. package/lib/modules/state-bar/view.js +3 -3
  194. package/lib/modules/video-window/components/members/index.js +7 -12
  195. package/lib/modules/video-window/store.d.ts +1 -0
  196. package/lib/modules/video-window/store.js +5 -0
  197. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  198. package/lib/modules/whiteboard/index.d.ts +10 -13
  199. package/lib/modules/whiteboard/index.js +12 -11
  200. package/lib/providers/ability-provider.js +2 -0
  201. package/lib/providers/device-provider.d.ts +6 -3
  202. package/lib/providers/device-provider.js +331 -333
  203. package/lib/providers/multi-display-provider.d.ts +85 -0
  204. package/lib/providers/multi-display-provider.js +581 -0
  205. package/lib/providers/privilege-provider.js +1 -7
  206. package/lib/providers/room-provider.js +7 -1
  207. package/lib/providers/screen-share-provider.d.ts +3 -1
  208. package/lib/providers/screen-share-provider.js +39 -40
  209. package/lib/providers/sharing-provider.d.ts +7 -1
  210. package/lib/providers/sharing-provider.js +32 -3
  211. package/lib/providers/whiteboard-provider.d.ts +24 -0
  212. package/lib/providers/whiteboard-provider.js +127 -0
  213. package/lib/runtime.d.ts +1 -0
  214. package/lib/scenes/main-scene.d.ts +6 -0
  215. package/lib/scenes/main-scene.js +38 -2
  216. package/lib/scenes/waiting-scene.d.ts +0 -2
  217. package/lib/scenes/waiting-scene.js +0 -6
  218. package/lib/shared-data-source/member-data.d.ts +2 -2
  219. package/lib/shared-data-source/screen-share-data.d.ts +6 -0
  220. package/lib/shared-data-source/screen-share-data.js +5 -0
  221. package/lib/shared-data-source/setting.js +2 -1
  222. package/lib/shared-data-source/video-window.js +1 -2
  223. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  224. package/lib/shared-data-source/whiteboard-data.js +347 -0
  225. package/lib/translations/enUS.d.ts +1 -0
  226. package/lib/translations/enUS.js +2 -1
  227. package/lib/translations/zhCN.d.ts +1 -0
  228. package/lib/translations/zhCN.js +2 -1
  229. package/lib/ui-scene.d.ts +0 -1
  230. package/lib/ui-scene.js +0 -3
  231. package/lib/utilities/constant.d.ts +4 -2
  232. package/lib/utilities/constant.js +3 -1
  233. package/lib/utilities/debug.d.ts +4 -0
  234. package/lib/utilities/debug.js +40 -0
  235. package/lib/utilities/dialog-utils.js +26 -4
  236. package/lib/utilities/meeting-detail.js +4 -1
  237. package/lib/utilities/renderer-event.d.ts +4 -6
  238. package/lib/utilities/renderer-event.js +23 -43
  239. package/lib/utilities/renderer.d.ts +1 -1
  240. package/lib/utilities/renderer.js +44 -10
  241. package/lib/utilities/shared-storage.d.ts +18 -0
  242. package/lib/utilities/shared-storage.js +63 -0
  243. package/lib/utilities/tools.js +2 -1
  244. package/package.json +5 -6
  245. package/lib/electron/tools.d.ts +0 -5
  246. package/lib/electron/tools.js +0 -62
@@ -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.AnnotationPenTool = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
12
+ var _item = require("../item");
13
+ var _penPanel = require("./pen-panel");
14
+ var _react = require("react");
15
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
16
+ var _i18n = require("agora-ui-foundation/lib/i18n");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var AnnotationPenTool = exports.AnnotationPenTool = function AnnotationPenTool(props) {
19
+ var size = props.size,
20
+ hideTitle = props.hideTitle,
21
+ currentColor = props.currentColor,
22
+ currentTool = props.currentTool,
23
+ setTool = props.setTool,
24
+ currentStrokeWidth = props.currentStrokeWidth,
25
+ setStrokeWidth = props.setStrokeWidth,
26
+ placement = props.placement,
27
+ direction = props.direction;
28
+ var _useState = (0, _react.useState)(false),
29
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30
+ visible = _useState2[0],
31
+ setVisible = _useState2[1];
32
+ var handleClick = function handleClick() {
33
+ setVisible(!visible);
34
+ setTool(_enums.FcrBoardToolType.CURVE);
35
+ };
36
+ var handleVisibleChange = function handleVisibleChange(visible) {
37
+ setVisible(visible);
38
+ };
39
+ var t = (0, _i18n.useI18n)();
40
+ var penMap = (0, _defineProperty2["default"])({}, _enums.FcrBoardToolType.CURVE, _type.FcrIconType.FCR_WHITEBOARD_PED5);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
42
+ placement: placement,
43
+ size: size,
44
+ hideTitle: hideTitle,
45
+ active: currentTool in penMap,
46
+ iconType: currentTool in penMap ? penMap[currentTool] : _type.FcrIconType.FCR_WHITEBOARD_PED5,
47
+ title: t('fmt_screenshare_whiteboard_button_paintbrush'),
48
+ lineColor: currentColor,
49
+ visible: visible,
50
+ onVisibleChange: handleVisibleChange,
51
+ onClick: handleClick,
52
+ showArrow: true,
53
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_penPanel.AnnotationPenPanel, {
54
+ size: size,
55
+ hideTitle: hideTitle,
56
+ currentStrokeWidth: currentStrokeWidth,
57
+ setStrokeWidth: setStrokeWidth,
58
+ onClick: handleClick,
59
+ direction: direction
60
+ })
61
+ });
62
+ };
@@ -0,0 +1,8 @@
1
+ export declare const AnnotationPenPanel: (props: {
2
+ size?: number;
3
+ hideTitle?: boolean;
4
+ currentStrokeWidth: number;
5
+ setStrokeWidth: (width: number) => void;
6
+ onClick: () => void;
7
+ direction?: "horizontal" | "vertical";
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
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.AnnotationPenPanel = void 0;
8
+ require("core-js/modules/es.array.map.js");
9
+ require("core-js/modules/es.object.to-string.js");
10
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
11
+ var _item = require("../../item");
12
+ var _panel = require("../../panel");
13
+ var _mobxReact = require("mobx-react");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var AnnotationPenPanel = exports.AnnotationPenPanel = (0, _mobxReact.observer)(function (props) {
16
+ var size = props.size,
17
+ hideTitle = props.hideTitle,
18
+ currentStrokeWidth = props.currentStrokeWidth,
19
+ setStrokeWidth = props.setStrokeWidth,
20
+ _onClick = props.onClick,
21
+ direction = props.direction;
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
23
+ direction: direction,
24
+ size: "small",
25
+ header: [3, 5, 7, 10].map(function (width, index) {
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
27
+ hideTitle: hideTitle,
28
+ size: size,
29
+ active: currentStrokeWidth === width,
30
+ iconType: _type.FcrIconType.FCR_PENSIZE_STRAIGHT,
31
+ level: index + 1,
32
+ onClick: function onClick() {
33
+ _onClick();
34
+ setStrokeWidth(width);
35
+ }
36
+ }, width);
37
+ })
38
+ });
39
+ });
@@ -0,0 +1,7 @@
1
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
+ export declare const AnnotationToolSaveDraft: (props: {
3
+ progress: number;
4
+ setProgress: (progress: number) => void;
5
+ onClick: () => void;
6
+ placement: ToolTipProps["placement"];
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,59 @@
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.AnnotationToolSaveDraft = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ require("core-js/modules/web.timers.js");
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _item = require("../item");
13
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
14
+ var _i18n = require("agora-ui-foundation/lib/i18n");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var AnnotationToolSaveDraft = exports.AnnotationToolSaveDraft = function AnnotationToolSaveDraft(props) {
17
+ var t = (0, _i18n.useI18n)();
18
+ var progress = props.progress,
19
+ placement = props.placement,
20
+ setProgress = props.setProgress,
21
+ onClick = props.onClick;
22
+ var getSnapshotImage = /*#__PURE__*/function () {
23
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
24
+ var progressInterval;
25
+ return _regenerator["default"].wrap(function (_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ onClick();
29
+ progressInterval = setInterval(function () {
30
+ if (progress < 100) {
31
+ setProgress(progress + 1);
32
+ } else {
33
+ clearInterval(progressInterval);
34
+ }
35
+ }, 4);
36
+ setTimeout(function () {
37
+ setProgress(100);
38
+ clearInterval(progressInterval);
39
+ }, 400);
40
+ case 1:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee);
45
+ }));
46
+ return function getSnapshotImage() {
47
+ return _ref.apply(this, arguments);
48
+ };
49
+ }();
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
51
+ size: 28,
52
+ onClick: getSnapshotImage,
53
+ iconType: _type.FcrIconType.FCR_DOWNLOAD,
54
+ title: t('fmt_screenshare_whiteboard_button_savescript'),
55
+ hideTitle: true,
56
+ disabled: !!progress && progress > 0 && progress < 100,
57
+ placement: placement
58
+ });
59
+ };
@@ -0,0 +1,8 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function VerticalBar(props: PropsWithChildren<{
3
+ container?: HTMLDivElement;
4
+ show: boolean;
5
+ offsetTop?: number;
6
+ onPlacementChanged: (placement: 'left' | 'right') => void;
7
+ onResize: (coverCount: number) => void;
8
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.iterator.constructor.js");
14
+ require("core-js/modules/esnext.iterator.filter.js");
15
+ require("core-js/modules/esnext.iterator.for-each.js");
16
+ require("core-js/modules/web.dom-collections.for-each.js");
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: true
20
+ });
21
+ exports.VerticalBar = VerticalBar;
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
24
+ var _web = require("@react-spring/web");
25
+ var _react = require("@use-gesture/react");
26
+ var _react2 = require("react");
27
+ var _moveIcon = _interopRequireDefault(require("../icons/move-icon"));
28
+ var _foldIcon = _interopRequireDefault(require("../icons/fold-icon"));
29
+ var _i18n = require("agora-ui-foundation/lib/i18n");
30
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
31
+ var _icon = require("agora-ui-foundation/lib/components/icon");
32
+ var _useResizeVisible2 = require("../../hooks/use-resize-visible");
33
+ var _jsxRuntime = require("react/jsx-runtime");
34
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
+ function VerticalBar(props) {
37
+ var transI18n = (0, _i18n.useI18n)();
38
+ var container = props.container,
39
+ show = props.show,
40
+ children = props.children,
41
+ _props$offsetTop = props.offsetTop,
42
+ offsetTop = _props$offsetTop === void 0 ? 0 : _props$offsetTop,
43
+ onPlacementChanged = props.onPlacementChanged,
44
+ onResize = props.onResize;
45
+ var x = 20;
46
+ var y = (0, _react2.useMemo)(function () {
47
+ return 20 + offsetTop;
48
+ }, [offsetTop]);
49
+ var toolbarDom = (0, _react2.useRef)();
50
+ var _useState = (0, _react2.useState)('right'),
51
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
52
+ placement = _useState2[0],
53
+ setPlacement = _useState2[1];
54
+ var _useState3 = (0, _react2.useState)({
55
+ x: x,
56
+ y: y
57
+ }),
58
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
59
+ position = _useState4[0],
60
+ setPosition = _useState4[1];
61
+ var _useSpring = (0, _web.useSpring)({
62
+ x: x,
63
+ y: y
64
+ }, []),
65
+ _useSpring2 = (0, _slicedToArray2["default"])(_useSpring, 2),
66
+ _useSpring2$ = _useSpring2[0],
67
+ rx = _useSpring2$.x,
68
+ ry = _useSpring2$.y,
69
+ api = _useSpring2[1];
70
+ var _useState5 = (0, _react2.useState)(false),
71
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
72
+ folded = _useState6[0],
73
+ setFold = _useState6[1];
74
+ var _useState7 = (0, _react2.useState)(0),
75
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
76
+ topTemp = _useState8[0],
77
+ setTopTemp = _useState8[1];
78
+ var _useResizeVisible = (0, _useResizeVisible2.useResizeVisible)(),
79
+ coverCount = _useResizeVisible.coverCount,
80
+ setToolbarDom = _useResizeVisible.setToolbarDom;
81
+ (0, _react2.useEffect)(function () {
82
+ onResize(coverCount);
83
+ }, [coverCount]);
84
+ var bind = (0, _react.useDrag)(function (p) {
85
+ var _movement = (0, _slicedToArray2["default"])(p.movement, 2),
86
+ mx = _movement[0],
87
+ my = _movement[1];
88
+ api.start(placement === 'left' ? {
89
+ x: position.x + mx,
90
+ y: position.y + my
91
+ } : {
92
+ x: x + mx,
93
+ y: y + my
94
+ });
95
+ });
96
+ var handleMouseUp = function handleMouseUp() {
97
+ if (toolbarDom.current) {
98
+ var containerClientRect = (container || document.body).getBoundingClientRect();
99
+ var toolbarClientRect = toolbarDom.current.getBoundingClientRect();
100
+ var toolbarCenterPos = toolbarClientRect.left - toolbarClientRect.width / 2;
101
+ var _position = {
102
+ x: x,
103
+ y: y
104
+ };
105
+ if (toolbarCenterPos > containerClientRect.width / 2) {
106
+ // right
107
+ setPlacement('left');
108
+ onPlacementChanged('left');
109
+ _position = {
110
+ x: containerClientRect.width - toolbarClientRect.width - x,
111
+ y: y
112
+ };
113
+ } else {
114
+ // left
115
+ _position = {
116
+ x: x,
117
+ y: y
118
+ };
119
+ setPlacement('right');
120
+ onPlacementChanged('right');
121
+ }
122
+ setPosition(_position);
123
+ api.start(_position);
124
+ }
125
+ };
126
+ var handleRefMount = function handleRefMount(dom) {
127
+ if (dom) {
128
+ var top = dom.getBoundingClientRect().top;
129
+ if (topTemp !== top) {
130
+ setToolbarDom(dom);
131
+ setTopTemp(top);
132
+ toolbarDom.current = dom;
133
+ }
134
+ }
135
+ };
136
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
137
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
138
+ onClick: function onClick() {
139
+ return setFold(false);
140
+ },
141
+ className: "fcr-fragment-board-toobar-folded-button",
142
+ style: {
143
+ left: position.x,
144
+ top: position.y,
145
+ visibility: folded && show ? 'visible' : 'hidden'
146
+ },
147
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
148
+ type: _type.FcrIconType.FCR_WHITEBOARD_EXPAND2,
149
+ colors: {
150
+ iconPrimary: '#000',
151
+ iconSecondary: '#000'
152
+ }
153
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
154
+ children: transI18n('fmt_screenshare_whiteboard_button_spread')
155
+ })]
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_web.animated.div, {
157
+ ref: handleRefMount,
158
+ className: "fcr-fragment-whiteboard-toolbar",
159
+ style: {
160
+ left: rx,
161
+ top: ry || position.y,
162
+ visibility: show && !folded ? 'visible' : 'hidden'
163
+ },
164
+ children: [children, !folded && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
165
+ className: "fcr-fragment-board-toolbar-fold fcr-fragment-board-toolbar-fold--".concat(placement),
166
+ onClick: function onClick() {
167
+ setFold(true);
168
+ },
169
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_foldIcon["default"], {})
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, bind()), {}, {
171
+ style: {
172
+ cursor: 'move'
173
+ },
174
+ onMouseUp: handleMouseUp,
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_moveIcon["default"], {})
176
+ }))]
177
+ })]
178
+ });
179
+ }
@@ -0,0 +1,4 @@
1
+ export declare const useResizeVisible: () => {
2
+ coverCount: number;
3
+ setToolbarDom: (dom: HTMLDivElement | null) => void;
4
+ };
@@ -0,0 +1,59 @@
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.useResizeVisible = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ var _item = require("../components/item");
12
+ var _view = require("../../../action-bar/view");
13
+ var useResizeVisible = exports.useResizeVisible = function useResizeVisible() {
14
+ var toolbar = (0, _react.useRef)();
15
+ var _useState = (0, _react.useState)(0),
16
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
17
+ threshold = _useState2[0],
18
+ setThreshold = _useState2[1];
19
+ var _useState3 = (0, _react.useState)(-1),
20
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
21
+ coverCount = _useState4[0],
22
+ setCoverCount = _useState4[1];
23
+ var _useState5 = (0, _react.useState)(0),
24
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
25
+ itemHeight = _useState6[0],
26
+ setItemHeight = _useState6[1];
27
+ var actionbar = document.querySelector(".".concat(_view.actionBarClassName));
28
+ var actionBarHeight = (actionbar === null || actionbar === void 0 ? void 0 : actionbar.getBoundingClientRect().height) || 0;
29
+ var bottomHeight = 20;
30
+ var handleResize = (0, _react.useCallback)(function () {
31
+ var offsetHeight = document.body.offsetHeight;
32
+ var coverSize = threshold - offsetHeight;
33
+ var coverCount = Math.floor(coverSize / itemHeight);
34
+ setCoverCount(coverCount);
35
+ }, [threshold]);
36
+ (0, _react.useEffect)(function () {
37
+ window.addEventListener('resize', handleResize);
38
+ return function () {
39
+ window.removeEventListener('resize', handleResize);
40
+ };
41
+ }, [threshold]);
42
+ var setToolbarDom = (0, _react.useCallback)(function (dom) {
43
+ if (dom) {
44
+ var _items$;
45
+ toolbar.current = dom;
46
+ var _dom$getBoundingClien = dom.getBoundingClientRect(),
47
+ top = _dom$getBoundingClien.top,
48
+ height = _dom$getBoundingClien.height;
49
+ var items = dom.querySelectorAll(".".concat(_item.toolBarItemClassName));
50
+ setItemHeight((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.getBoundingClientRect().height);
51
+ var _threshold = height + top + actionBarHeight + bottomHeight;
52
+ setThreshold(_threshold);
53
+ }
54
+ }, []);
55
+ return {
56
+ coverCount: coverCount,
57
+ setToolbarDom: setToolbarDom
58
+ };
59
+ };
@@ -0,0 +1,29 @@
1
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
2
+ import './style.css';
3
+ export declare const colors: string[];
4
+ export declare const WhiteboardToolbar: (props: {
5
+ direction?: "horizontal" | "vertical";
6
+ container?: HTMLDivElement;
7
+ show: boolean;
8
+ currentStrokeWidth: number;
9
+ currentColor: string;
10
+ currentTool: FcrBoardToolType;
11
+ currentShape: FcrBoardShape;
12
+ redoSteps: boolean;
13
+ undoSteps: boolean;
14
+ commonColors?: string[];
15
+ themeColors?: string[];
16
+ setStrokeWidth: (width: number) => void;
17
+ setTool: (tool: FcrBoardToolType) => void;
18
+ setShape: (shape: FcrBoardShape) => void;
19
+ setStrokeColor: (color: string) => void;
20
+ undo: () => void;
21
+ redo: () => void;
22
+ clean: () => void;
23
+ size?: number;
24
+ setCommonColors?: (colors: string[]) => void;
25
+ onSave?: () => void;
26
+ progress?: number;
27
+ setProgress?: (progress: number) => void;
28
+ offsetTop?: number;
29
+ }) => import("react/jsx-runtime").JSX.Element;