fcr-ui-scene 3.6.1 → 3.6.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.
- package/lib/creator.d.ts +6 -0
- package/lib/creator.js +125 -24
- package/lib/electron/app.js +5 -4
- package/lib/electron/bootstrap-dev.js +3 -0
- package/lib/electron/bootstrap-sdk.js +4 -0
- package/lib/electron/injections.d.ts +5 -0
- package/lib/electron/injections.js +36 -8
- package/lib/electron/ipc/ipc.d.ts +1 -0
- package/lib/electron/ipc/ipc.js +4 -0
- package/lib/electron/main.js +16 -8
- package/lib/electron/plugins/screenshot.js +4 -2
- package/lib/electron/preload.js +7 -2
- package/lib/electron/window.js +4 -6
- package/lib/fragments/annotation/index.d.ts +11 -0
- package/lib/fragments/annotation/index.js +121 -0
- package/lib/fragments/annotation/libs.d.ts +55 -0
- package/lib/fragments/annotation/libs.js +93 -0
- package/lib/fragments/annotation/store.d.ts +30 -0
- package/lib/fragments/annotation/store.js +565 -0
- package/lib/fragments/annotation/view.d.ts +3 -0
- package/lib/fragments/annotation/view.js +31 -0
- package/lib/fragments/base.d.ts +10 -0
- package/lib/fragments/base.js +44 -0
- package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
- package/lib/modules/action-bar/index.css +11 -0
- package/lib/modules/action-bar/index.d.ts +2 -0
- package/lib/modules/action-bar/index.js +1 -0
- package/lib/modules/action-bar/store.d.ts +7 -9
- package/lib/modules/action-bar/store.js +49 -90
- package/lib/modules/annotation/board-cursor.css +76 -0
- package/lib/modules/annotation/components/control-bar/index.css +48 -0
- package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
- package/lib/modules/annotation/components/control-bar/index.js +141 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
- package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
- package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
- package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
- package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
- package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
- package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
- package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
- package/lib/modules/annotation/components/toolbar/index.js +1 -0
- package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
- package/lib/modules/annotation/components/toolbar/store.js +279 -0
- package/lib/modules/annotation/components/toolbar/style.css +55 -0
- package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
- package/lib/modules/annotation/components/toolbar/view.js +120 -0
- package/lib/modules/annotation/index.d.ts +38 -0
- package/lib/modules/annotation/index.js +169 -0
- package/lib/modules/annotation/store.d.ts +93 -0
- package/lib/modules/annotation/store.js +673 -0
- package/lib/modules/annotation/style.css +26 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +49 -0
- package/lib/modules/chat/view.js +112 -100
- package/lib/modules/components/annotation-menu/index.d.ts +7 -0
- package/lib/modules/components/annotation-menu/index.js +119 -0
- package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
- package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
- package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
- package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
- package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
- package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
- package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
- package/lib/modules/components/member-window/index.css +37 -0
- package/lib/modules/components/member-window/index.d.ts +1 -1
- package/lib/modules/components/member-window/index.js +8 -5
- package/lib/modules/components/member-window/types.d.ts +2 -0
- package/lib/modules/components/security-menu/index.js +7 -6
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
- package/lib/modules/control-bar/index.d.ts +6 -6
- package/lib/modules/control-bar/index.js +5 -34
- package/lib/modules/control-bar/store.d.ts +27 -13
- package/lib/modules/control-bar/store.js +121 -126
- package/lib/modules/control-bar/view.js +50 -4
- package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
- package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
- package/lib/modules/dialog/components/chat/index.js +1 -1
- package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
- package/lib/modules/dialog/components/control-bar/index.js +1 -3
- package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
- package/lib/modules/dialog/components/host-area-container/index.js +214 -0
- package/lib/modules/dialog/components/participant/index.js +1 -1
- package/lib/modules/dialog/components/system-preference/index.js +1 -1
- package/lib/modules/dialog/components/video-window/index.js +1 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
- package/lib/modules/dialog/hooks/useElectron.js +13 -3
- package/lib/modules/dialog/index.d.ts +2 -3
- package/lib/modules/dialog/index.js +3 -26
- package/lib/modules/dialog/store.d.ts +14 -9
- package/lib/modules/dialog/store.js +56 -50
- package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
- package/lib/modules/event-confirm/components/window/index.js +188 -0
- package/lib/modules/event-confirm/index.d.ts +4 -4
- package/lib/modules/event-confirm/index.js +6 -4
- package/lib/modules/event-confirm/store.d.ts +4 -5
- package/lib/modules/event-confirm/store.js +35 -26
- package/lib/modules/event-confirm/view.js +23 -171
- package/lib/modules/event-sound/index.js +1 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
- package/lib/modules/layout/index.d.ts +4 -0
- package/lib/modules/layout/index.js +2 -0
- package/lib/modules/layout/store.d.ts +14 -2
- package/lib/modules/layout/store.js +77 -45
- package/lib/modules/layout/type.d.ts +7 -0
- package/lib/modules/participant/index.d.ts +2 -0
- package/lib/modules/participant/index.js +2 -1
- package/lib/modules/participant/store.d.ts +5 -2
- package/lib/modules/participant/store.js +73 -25
- package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
- package/lib/modules/setting/index.d.ts +2 -0
- package/lib/modules/setting/index.js +3 -3
- package/lib/modules/setting/store.d.ts +8 -10
- package/lib/modules/setting/store.js +22 -20
- package/lib/modules/share-screen/components/selection/index.js +18 -42
- package/lib/modules/share-screen/index.d.ts +6 -2
- package/lib/modules/share-screen/index.js +4 -2
- package/lib/modules/share-screen/store.d.ts +41 -46
- package/lib/modules/share-screen/store.js +297 -718
- package/lib/modules/share-screen/view.js +2 -2
- package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
- package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
- package/lib/modules/state-bar/index.css +8 -6
- package/lib/modules/state-bar/index.d.ts +4 -0
- package/lib/modules/state-bar/index.js +3 -1
- package/lib/modules/state-bar/layout-config.d.ts +1 -0
- package/lib/modules/state-bar/layout-config.js +15 -5
- package/lib/modules/state-bar/store.d.ts +9 -1
- package/lib/modules/state-bar/store.js +17 -2
- package/lib/modules/state-bar/view.js +9 -4
- package/lib/modules/video-window/components/members/index.js +2 -1
- package/lib/modules/waiting-room-layout/store.js +1 -1
- package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
- package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
- package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
- package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
- package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
- package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
- package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
- package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
- package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
- package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
- package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
- package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
- package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
- package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
- package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
- package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
- package/lib/modules/whiteboard/index.d.ts +2 -0
- package/lib/modules/whiteboard/index.js +22 -21
- package/lib/modules/whiteboard/style.css +0 -4
- package/lib/modules/whiteboard/view.js +8 -2
- package/lib/plugins/browser-runtime-plugin.js +10 -1
- package/lib/providers/annotation-provider.d.ts +128 -0
- package/lib/providers/annotation-provider.js +421 -0
- package/lib/providers/device-provider.d.ts +3 -3
- package/lib/providers/device-provider.js +8 -6
- package/lib/providers/event-provider.d.ts +3 -3
- package/lib/providers/interpreter-provider.d.ts +1 -0
- package/lib/providers/interpreter-provider.js +182 -154
- package/lib/providers/privilege-provider.d.ts +35 -6
- package/lib/providers/privilege-provider.js +105 -49
- package/lib/providers/renderer-provider.js +3 -7
- package/lib/providers/room-provider.d.ts +13 -1
- package/lib/providers/room-provider.js +21 -7
- package/lib/providers/screen-share-provider.d.ts +131 -34
- package/lib/providers/screen-share-provider.js +554 -173
- package/lib/providers/sharing-provider.d.ts +37 -0
- package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
- package/lib/providers/user-setting-storage-provider.d.ts +20 -0
- package/lib/providers/user-setting-storage-provider.js +74 -0
- package/lib/runtime.d.ts +6 -1
- package/lib/scenes/main-scene.d.ts +7 -2
- package/lib/scenes/main-scene.js +55 -27
- package/lib/scenes/waiting-scene.d.ts +6 -0
- package/lib/scenes/waiting-scene.js +15 -5
- package/lib/shared-data-source/config.d.ts +1 -5
- package/lib/shared-data-source/config.js +11 -81
- package/lib/shared-data-source/member-data.d.ts +21 -5
- package/lib/shared-data-source/member-data.js +69 -17
- package/lib/shared-data-source/screen-share-data.d.ts +274 -0
- package/lib/shared-data-source/screen-share-data.js +390 -0
- package/lib/shared-data-source/security-data.d.ts +4 -1
- package/lib/shared-data-source/security-data.js +5 -2
- package/lib/shared-data-source/setting.d.ts +13 -13
- package/lib/shared-data-source/setting.js +16 -10
- package/lib/shared-data-source/video-window.d.ts +2 -1
- package/lib/shared-data-source/video-window.js +56 -36
- package/lib/translations/enUS.d.ts +8 -0
- package/lib/translations/enUS.js +9 -1
- package/lib/translations/zhCN.d.ts +8 -0
- package/lib/translations/zhCN.js +11 -3
- package/lib/type.d.ts +55 -1
- package/lib/ui-manager.d.ts +3 -2
- package/lib/ui-manager.js +6 -4
- package/lib/ui-scene.js +70 -50
- package/lib/utilities/constant.d.ts +10 -2
- package/lib/utilities/constant.js +8 -0
- package/lib/utilities/logger.d.ts +4 -0
- package/lib/utilities/logger.js +8 -1
- package/lib/utilities/renderer-event.d.ts +3 -0
- package/lib/utilities/renderer-event.js +14 -1
- package/lib/utilities/screen.js +2 -1
- package/lib/utilities/setting-config-storage.d.ts +5 -6
- package/lib/utilities/setting-config-storage.js +33 -39
- package/lib/utilities/tools.d.ts +19 -1
- package/lib/utilities/tools.js +51 -4
- package/package.json +9 -7
- package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
- package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
- package/public/assets/fcr_chat_reddot.svg +3 -3
- package/public/assets/fcr_grid_big.svg +1 -1
- package/public/assets/fcr_leave2.svg +14 -14
- package/public/assets/fcr_listontop_big.svg +1 -1
- package/public/assets/step-gradient.svg +1 -1
- package/public/fragment.html +10 -0
- package/public/index.html +3 -1
- package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
|
@@ -0,0 +1,68 @@
|
|
|
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.AnnotationGraphicTool = void 0;
|
|
9
|
+
require("core-js/modules/es.array.find.js");
|
|
10
|
+
require("core-js/modules/es.array.some.js");
|
|
11
|
+
require("core-js/modules/es.object.to-string.js");
|
|
12
|
+
require("core-js/modules/esnext.async-iterator.find.js");
|
|
13
|
+
require("core-js/modules/esnext.async-iterator.some.js");
|
|
14
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
+
require("core-js/modules/esnext.iterator.find.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.some.js");
|
|
17
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
|
+
var _item = require("../item/item");
|
|
19
|
+
var _graphicPanel = require("./graphic-panel");
|
|
20
|
+
var _mobxReact = require("mobx-react");
|
|
21
|
+
var _store = require("../../store");
|
|
22
|
+
var _react = require("react");
|
|
23
|
+
var _libs = require("./graphic-panel/libs");
|
|
24
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
25
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
|
+
var AnnotationGraphicTool = exports.AnnotationGraphicTool = (0, _mobxReact.observer)(function () {
|
|
27
|
+
var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
|
|
28
|
+
_useContext$observabl = _useContext.observables,
|
|
29
|
+
currentColor = _useContext$observabl.currentColor,
|
|
30
|
+
currentShape = _useContext$observabl.currentShape,
|
|
31
|
+
currentTool = _useContext$observabl.currentTool,
|
|
32
|
+
setTool = _useContext.setTool,
|
|
33
|
+
popoverVisible = _useContext.popoverVisible,
|
|
34
|
+
setPopoverVisible = _useContext.setPopoverVisible;
|
|
35
|
+
var _useState = (0, _react.useState)(false),
|
|
36
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
37
|
+
visible = _useState2[0],
|
|
38
|
+
setVisible = _useState2[1];
|
|
39
|
+
var t = (0, _i18n.useI18n)();
|
|
40
|
+
var handleClick = function handleClick() {
|
|
41
|
+
setVisible(!visible);
|
|
42
|
+
setPopoverVisible(!visible);
|
|
43
|
+
setTool((0, _libs.convertShapeToBoardToolType)(currentShape));
|
|
44
|
+
};
|
|
45
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
46
|
+
setVisible(visible);
|
|
47
|
+
setPopoverVisible(visible);
|
|
48
|
+
};
|
|
49
|
+
(0, _react.useEffect)(function () {
|
|
50
|
+
!popoverVisible && setVisible(false);
|
|
51
|
+
}, [popoverVisible]);
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
|
|
53
|
+
active: _libs.tools.some(function (tool) {
|
|
54
|
+
return (0, _libs.convertShapeToBoardToolType)(tool.shape) === currentTool;
|
|
55
|
+
}),
|
|
56
|
+
iconType: _libs.tools.find(function (tool) {
|
|
57
|
+
return tool.shape === currentShape;
|
|
58
|
+
}).iconType,
|
|
59
|
+
title: t('fmt_screenshare_whiteboard_button_shape'),
|
|
60
|
+
color: currentColor,
|
|
61
|
+
visible: visible && popoverVisible,
|
|
62
|
+
onVisibleChange: handleVisibleChange,
|
|
63
|
+
onClick: handleClick,
|
|
64
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_graphicPanel.AnnotationGraphicPanel, {
|
|
65
|
+
onClick: handleClick
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
|
|
2
|
+
import './style.css';
|
|
3
|
+
export declare const AnnotationToolItem: (props: {
|
|
4
|
+
iconType: FcrIconType;
|
|
5
|
+
title?: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
content?: React.ReactNode;
|
|
9
|
+
color?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
lineColor?: string;
|
|
12
|
+
onClick?: (value: string) => void;
|
|
13
|
+
visible?: boolean;
|
|
14
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
15
|
+
level?: number;
|
|
16
|
+
selected?: boolean;
|
|
17
|
+
hideTitle?: boolean;
|
|
18
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,116 @@
|
|
|
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.AnnotationToolItem = void 0;
|
|
9
|
+
require("core-js/modules/es.array.concat.js");
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
12
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
13
|
+
var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
|
|
14
|
+
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
15
|
+
var _react = require("react");
|
|
16
|
+
var _hostAreaContainer = require("../../../../../dialog/components/host-area-container");
|
|
17
|
+
require("./style.css");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var AnnotationToolItem = exports.AnnotationToolItem = function AnnotationToolItem(props) {
|
|
20
|
+
var _props$iconType = props.iconType,
|
|
21
|
+
iconType = _props$iconType === void 0 ? _type.FcrIconType.FCR_WHITEBOARD_TEXT : _props$iconType,
|
|
22
|
+
title = props.title,
|
|
23
|
+
_props$size = props.size,
|
|
24
|
+
size = _props$size === void 0 ? 32 : _props$size,
|
|
25
|
+
_props$active = props.active,
|
|
26
|
+
active = _props$active === void 0 ? false : _props$active,
|
|
27
|
+
content = props.content,
|
|
28
|
+
color = props.color,
|
|
29
|
+
_props$disabled = props.disabled,
|
|
30
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
31
|
+
lineColor = props.lineColor,
|
|
32
|
+
onClick = props.onClick,
|
|
33
|
+
visible = props.visible,
|
|
34
|
+
onVisibleChange = props.onVisibleChange,
|
|
35
|
+
level = props.level,
|
|
36
|
+
selected = props.selected,
|
|
37
|
+
hideTitle = props.hideTitle;
|
|
38
|
+
var _useContext = (0, _react.useContext)(_hostAreaContainer.HotAreaContext),
|
|
39
|
+
placement = _useContext.placement;
|
|
40
|
+
var _useState = (0, _react.useState)(visible),
|
|
41
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
42
|
+
visibled = _useState2[0],
|
|
43
|
+
setVisible = _useState2[1];
|
|
44
|
+
var _useState3 = (0, _react.useState)(false),
|
|
45
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
46
|
+
hover = _useState4[0],
|
|
47
|
+
setHover = _useState4[1];
|
|
48
|
+
var defaultColor = "var(".concat(active || visibled ? "--fcr_ui_scene_ramp_brand6" : "--fcr_ui_scene_icontext1", ")");
|
|
49
|
+
var disabledColor = "".concat(disabled ? "var(--fcr_ui_scene_icontext3)" : defaultColor);
|
|
50
|
+
var handleClick = function handleClick() {
|
|
51
|
+
if (disabled) return;
|
|
52
|
+
onClick === null || onClick === void 0 || onClick(color || '');
|
|
53
|
+
};
|
|
54
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
55
|
+
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(visible);
|
|
56
|
+
setVisible(visible);
|
|
57
|
+
};
|
|
58
|
+
(0, _react.useEffect)(function () {
|
|
59
|
+
setVisible(!!visible);
|
|
60
|
+
}, [visible]);
|
|
61
|
+
var hasSelected = typeof selected === 'boolean';
|
|
62
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
63
|
+
hasSelected && setHover(!hover);
|
|
64
|
+
};
|
|
65
|
+
var element = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
66
|
+
className: "annotation-toolbar-item ".concat((active || visibled) && !hasSelected ? 'is-active' : '', " ").concat(disabled ? 'is-disabled' : ''),
|
|
67
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
68
|
+
className: "annotation-toolbar-item-icon",
|
|
69
|
+
onMouseEnter: handleMouseEnter,
|
|
70
|
+
onMouseLeave: handleMouseEnter,
|
|
71
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
72
|
+
onClick: handleClick,
|
|
73
|
+
type: iconType,
|
|
74
|
+
size: size,
|
|
75
|
+
fill: "none",
|
|
76
|
+
colors: {
|
|
77
|
+
iconPrimary: color || disabledColor,
|
|
78
|
+
iconSecondary: hover ? color : lineColor || defaultColor,
|
|
79
|
+
level: level,
|
|
80
|
+
selected: selected
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
}), title && !hideTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
84
|
+
className: "annotation-toolbar-item-title",
|
|
85
|
+
children: title
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
return title ? content ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
89
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
|
|
90
|
+
showArrow: false,
|
|
91
|
+
content: title,
|
|
92
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
93
|
+
visible: visibled,
|
|
94
|
+
overlayOffset: 10,
|
|
95
|
+
overlayInnerStyle: {
|
|
96
|
+
width: 'fit-content'
|
|
97
|
+
},
|
|
98
|
+
placement: placement,
|
|
99
|
+
getTooltipContainer: function getTooltipContainer(e) {
|
|
100
|
+
return e;
|
|
101
|
+
},
|
|
102
|
+
trigger: "click",
|
|
103
|
+
showArrow: false,
|
|
104
|
+
content: content,
|
|
105
|
+
onVisibleChange: handleVisibleChange,
|
|
106
|
+
children: element
|
|
107
|
+
})
|
|
108
|
+
})
|
|
109
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
|
|
110
|
+
showArrow: false,
|
|
111
|
+
visible: visibled,
|
|
112
|
+
content: title,
|
|
113
|
+
onVisibleChange: handleVisibleChange,
|
|
114
|
+
children: element
|
|
115
|
+
}) : element;
|
|
116
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.annotation-toolbar-item {
|
|
2
|
+
min-width: 36px;
|
|
3
|
+
max-width: 64px;
|
|
4
|
+
min-height: 36px;
|
|
5
|
+
max-height: 52px;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
color: var(--fcr_ui_scene_icontext1);
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.annotation-toolbar-item-icon {
|
|
15
|
+
max-width: 44px;
|
|
16
|
+
min-width: 32px;
|
|
17
|
+
height: 32px;
|
|
18
|
+
border-radius: var(--fcr_cornerradius_xs);
|
|
19
|
+
display: flex;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.annotation-toolbar-item-title {
|
|
24
|
+
margin-top: 4px;
|
|
25
|
+
font-size: 12px;
|
|
26
|
+
font-weight: 300;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.annotation-toolbar-item.is-active > .annotation-toolbar-item-icon {
|
|
30
|
+
background: var(--fcr_ui_scene_ramp_brand0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.annotation-toolbar-item.is-active > .annotation-toolbar-item-title {
|
|
34
|
+
color: var(--fcr_ui_scene_ramp_brand6);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.annotation-toolbar-item.is-disabled {
|
|
38
|
+
cursor: not-allowed;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.annotation-toolbar-item.is-disabled > .annotation-toolbar-item-title {
|
|
42
|
+
color: var(--fcr_ui_scene_icontext3);
|
|
43
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
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.AnnotationToolPanel = void 0;
|
|
8
|
+
require("./style.css");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var AnnotationToolPanel = exports.AnnotationToolPanel = function AnnotationToolPanel(props) {
|
|
11
|
+
var footer = props.footer;
|
|
12
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
13
|
+
className: "annotation-toolbar-panel",
|
|
14
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
15
|
+
className: "annotation-toolbar-panel-header",
|
|
16
|
+
children: props.header
|
|
17
|
+
}), footer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
18
|
+
className: "annotation-toolbar-panel-footer",
|
|
19
|
+
children: props.footer
|
|
20
|
+
})]
|
|
21
|
+
});
|
|
22
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.annotation-toolbar-panel {
|
|
2
|
+
max-width: 300px;
|
|
3
|
+
height: auto;
|
|
4
|
+
background: var(fcr_mobile_ui_scene_color_popup_fill2);
|
|
5
|
+
border-radius: var(--fcr_cornerradius_l);
|
|
6
|
+
padding: 12px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.annotation-toolbar-panel > div {
|
|
10
|
+
height: 36px;
|
|
11
|
+
display: flex;
|
|
12
|
+
gap: 12px;
|
|
13
|
+
box-sizing: content-box;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.annotation-toolbar-panel .annotation-toolbar-item {
|
|
17
|
+
width: 36px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.annotation-toolbar-panel-footer {
|
|
21
|
+
border-top: 1px solid var(--fcr_ui_scene_line1);
|
|
22
|
+
padding-top: 8px;
|
|
23
|
+
margin-top: 8px;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AnnotationPenTool: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,58 @@
|
|
|
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/item");
|
|
13
|
+
var _penPanel = require("./pen-panel");
|
|
14
|
+
var _mobxReact = require("mobx-react");
|
|
15
|
+
var _store = require("../../store");
|
|
16
|
+
var _react = require("react");
|
|
17
|
+
var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
|
|
18
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
var AnnotationPenTool = exports.AnnotationPenTool = (0, _mobxReact.observer)(function () {
|
|
21
|
+
var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
|
|
22
|
+
_useContext$observabl = _useContext.observables,
|
|
23
|
+
currentColor = _useContext$observabl.currentColor,
|
|
24
|
+
currentTool = _useContext$observabl.currentTool,
|
|
25
|
+
setTool = _useContext.setTool,
|
|
26
|
+
popoverVisible = _useContext.popoverVisible,
|
|
27
|
+
setPopoverVisible = _useContext.setPopoverVisible;
|
|
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
|
+
setPopoverVisible(!visible);
|
|
35
|
+
setTool(_enums.FcrBoardToolType.CURVE);
|
|
36
|
+
};
|
|
37
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
38
|
+
setVisible(visible);
|
|
39
|
+
setPopoverVisible(visible);
|
|
40
|
+
};
|
|
41
|
+
(0, _react.useEffect)(function () {
|
|
42
|
+
!popoverVisible && setVisible(false);
|
|
43
|
+
}, [popoverVisible]);
|
|
44
|
+
var t = (0, _i18n.useI18n)();
|
|
45
|
+
var penMap = (0, _defineProperty2["default"])({}, _enums.FcrBoardToolType.CURVE, _type.FcrIconType.FCR_WHITEBOARD_PED5);
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
|
|
47
|
+
active: currentTool in penMap,
|
|
48
|
+
iconType: currentTool in penMap ? penMap[currentTool] : _type.FcrIconType.FCR_WHITEBOARD_PED5,
|
|
49
|
+
title: t('fmt_screenshare_whiteboard_button_paintbrush'),
|
|
50
|
+
lineColor: currentColor,
|
|
51
|
+
visible: visible && popoverVisible,
|
|
52
|
+
onVisibleChange: handleVisibleChange,
|
|
53
|
+
onClick: handleClick,
|
|
54
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_penPanel.AnnotationPenPanel, {
|
|
55
|
+
onClick: handleClick
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
10
|
+
var _item = require("../../item/item");
|
|
11
|
+
var _panel = require("../../panel");
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
var _store = require("../../../store");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var AnnotationPenPanel = exports.AnnotationPenPanel = (0, _mobxReact.observer)(function (props) {
|
|
17
|
+
var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
|
|
18
|
+
currentStrokeWidth = _useContext.observables.currentStrokeWidth,
|
|
19
|
+
setStrokeWidth = _useContext.setStrokeWidth;
|
|
20
|
+
var _onClick = props.onClick;
|
|
21
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
|
|
22
|
+
header: [2, 4, 5, 6].map(function (width, index) {
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
|
|
24
|
+
active: currentStrokeWidth === width,
|
|
25
|
+
iconType: _type.FcrIconType.FCR_PENSIZE_STRAIGHT,
|
|
26
|
+
level: index + 1,
|
|
27
|
+
onClick: function onClick() {
|
|
28
|
+
_onClick();
|
|
29
|
+
setStrokeWidth(width);
|
|
30
|
+
}
|
|
31
|
+
}, width);
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
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.AnnotationToolbarTips = void 0;
|
|
8
|
+
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
9
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
10
|
+
require("./style.css");
|
|
11
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
var AnnotationToolbarTips = exports.AnnotationToolbarTips = function AnnotationToolbarTips() {
|
|
14
|
+
var t = (0, _i18n.useI18n)();
|
|
15
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
16
|
+
className: "annotation-toolbar-tips",
|
|
17
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
18
|
+
type: _type.FcrIconType.FCR_SHOWVIDEO,
|
|
19
|
+
size: 24,
|
|
20
|
+
colors: {
|
|
21
|
+
iconPrimary: 'var(--fcr_ui_scene_icontext1)'
|
|
22
|
+
}
|
|
23
|
+
}), t('fmt_screenshare_toast_annotations_visible_participants')]
|
|
24
|
+
});
|
|
25
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.annotation-toolbar-tips {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 50%;
|
|
4
|
+
transform: translateX(-104px);
|
|
5
|
+
/* width: 208px; */
|
|
6
|
+
height: 32px;
|
|
7
|
+
background: var(--fcr_mobile_ui_scene_color_popup_fill2);
|
|
8
|
+
box-shadow: var(--fcr_web_light_dropup);
|
|
9
|
+
border-radius: var(--fcr_cornerradius_m);
|
|
10
|
+
font-size: 12px;
|
|
11
|
+
color: var(--fcr_ui_scene_text1);
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
z-index: 10;
|
|
16
|
+
gap: 4px;
|
|
17
|
+
top: -40px;
|
|
18
|
+
padding: 2px 8px;
|
|
19
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
|
|
2
|
+
import { FcrUIPrivilegeProvider } from '../../../../providers/privilege-provider';
|
|
3
|
+
export declare class AnnotationToolbarStore {
|
|
4
|
+
private _privilegeProvider;
|
|
5
|
+
private _tipsTimer;
|
|
6
|
+
private _disposer;
|
|
7
|
+
accessor observables: {
|
|
8
|
+
currentTool: FcrBoardToolType;
|
|
9
|
+
currentShape: FcrBoardShape;
|
|
10
|
+
currentColor: string;
|
|
11
|
+
currentStrokeWidth: number;
|
|
12
|
+
redoSteps: boolean;
|
|
13
|
+
undoSteps: boolean;
|
|
14
|
+
lastPen: FcrBoardToolType;
|
|
15
|
+
lastShape: FcrBoardShape;
|
|
16
|
+
colors: string[];
|
|
17
|
+
};
|
|
18
|
+
accessor isTipsVisible: boolean;
|
|
19
|
+
accessor popoverVisible: boolean;
|
|
20
|
+
get hasAnnotationAllowWritePermission(): boolean;
|
|
21
|
+
get allowAnnotationWriteState(): boolean;
|
|
22
|
+
constructor({ privilegeProvider }: {
|
|
23
|
+
privilegeProvider: FcrUIPrivilegeProvider;
|
|
24
|
+
});
|
|
25
|
+
redo(): void;
|
|
26
|
+
undo(): void;
|
|
27
|
+
clean(): void;
|
|
28
|
+
setTool(tool: FcrBoardToolType): void;
|
|
29
|
+
setPen(shape: FcrBoardShape): void;
|
|
30
|
+
setShape(shape: FcrBoardShape): void;
|
|
31
|
+
setStrokeColor(color: string): void;
|
|
32
|
+
setStrokeWidth(strokeWidth: number): void;
|
|
33
|
+
onTooltipMount(dom: HTMLDivElement): void;
|
|
34
|
+
onTooltipUnmount(): void;
|
|
35
|
+
setPopoverVisible(visible: boolean): void;
|
|
36
|
+
captureScreen(): void;
|
|
37
|
+
setAllowAnnotationWrite(allow: boolean): void;
|
|
38
|
+
release(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare const AnnotationToolbarContext: import("react").Context<AnnotationToolbarStore>;
|