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.
- package/lib/creator.js +23 -44
- package/lib/electron/app.js +7 -0
- package/lib/electron/injections.d.ts +1 -1
- package/lib/electron/injections.js +5 -3
- package/lib/electron/main.js +3 -1
- package/lib/fragments/annotation/index.d.ts +1 -0
- package/lib/fragments/annotation/index.js +13 -7
- package/lib/fragments/annotation/store.d.ts +8 -4
- package/lib/fragments/annotation/store.js +351 -267
- package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
- package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
- package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
- package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
- package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
- package/lib/fragments/annotation/utils.d.ts +1 -0
- package/lib/fragments/annotation/utils.js +27 -0
- package/lib/fragments/annotation/view.js +1 -6
- package/lib/fragments/base.js +5 -3
- package/lib/fragments/whiteboard/cursor.css +77 -0
- package/lib/fragments/whiteboard/index.d.ts +11 -0
- package/lib/fragments/whiteboard/index.js +91 -0
- package/lib/fragments/whiteboard/store.d.ts +31 -0
- package/lib/fragments/whiteboard/store.js +475 -0
- package/lib/fragments/whiteboard/style.css +4 -0
- package/lib/fragments/whiteboard/view.d.ts +4 -0
- package/lib/fragments/whiteboard/view.js +31 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/modules/action-bar/components/apps/index.js +15 -5
- package/lib/modules/action-bar/components/leave/index.js +4 -11
- package/lib/modules/action-bar/view.d.ts +1 -0
- package/lib/modules/action-bar/view.js +3 -2
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
- package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
- package/lib/modules/annotation/index.d.ts +2 -0
- package/lib/modules/annotation/index.js +2 -2
- package/lib/modules/annotation/store.d.ts +11 -49
- package/lib/modules/annotation/store.js +135 -418
- package/lib/modules/annotation/view.js +3 -6
- package/lib/modules/components/control-bar/components/loading/index.css +76 -0
- package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
- package/lib/modules/components/control-bar/components/loading/index.js +64 -0
- package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
- package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
- package/lib/modules/components/control-bar/components/progress/index.js +43 -0
- package/lib/modules/components/control-bar/components/progress/style.css +51 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
- package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
- package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
- package/lib/modules/components/control-bar/index.css +87 -0
- package/lib/modules/components/control-bar/index.d.ts +20 -0
- package/lib/modules/components/control-bar/index.js +276 -0
- package/lib/modules/components/leave-meeting/components/index.css +0 -9
- package/lib/modules/components/leave-meeting/index.d.ts +2 -1
- package/lib/modules/components/leave-meeting/index.js +15 -7
- package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
- package/lib/modules/components/leave-meeting/portal.js +29 -0
- package/lib/modules/components/leave-meeting/style.css +9 -0
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
- package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
- package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
- package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
- package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
- package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
- package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
- package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
- package/lib/modules/components/member-window/index.css +4 -0
- package/lib/modules/components/member-window/types.d.ts +6 -2
- package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
- package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
- package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
- package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
- package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
- package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
- package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
- package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
- package/lib/modules/components/toolbar/components/item/index.js +165 -0
- package/lib/modules/components/toolbar/components/item/style.css +94 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
- package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
- package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
- package/lib/modules/components/toolbar/components/panel/index.js +28 -0
- package/lib/modules/components/toolbar/components/panel/style.css +86 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
- package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
- package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
- package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
- package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
- package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
- package/lib/modules/components/toolbar/index.d.ts +29 -0
- package/lib/modules/components/toolbar/index.js +258 -0
- package/lib/modules/components/toolbar/style.css +85 -0
- package/lib/modules/components/toolbar/types.d.ts +13 -0
- package/lib/modules/components/toolbar/types.js +6 -0
- package/lib/modules/control-bar/components/more-actions/index.js +0 -6
- package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
- package/lib/modules/control-bar/index.js +2 -1
- package/lib/modules/control-bar/store.d.ts +7 -6
- package/lib/modules/control-bar/store.js +28 -21
- package/lib/modules/control-bar/view.js +7 -55
- package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
- package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
- package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
- package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
- package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
- package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
- package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
- package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
- package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
- package/lib/modules/dialog/hooks/useElectron.js +62 -12
- package/lib/modules/dialog/index.d.ts +6 -3
- package/lib/modules/dialog/index.js +5 -3
- package/lib/modules/dialog/store.d.ts +21 -8
- package/lib/modules/dialog/store.js +79 -11
- package/lib/modules/dialog/type.d.ts +8 -0
- package/lib/modules/event-confirm/index.css +5 -2
- package/lib/modules/event-confirm/store.js +6 -7
- package/lib/modules/event-confirm/view.js +1 -1
- package/lib/modules/event-sound/index.d.ts +1 -0
- package/lib/modules/event-sound/index.js +11 -24
- package/lib/modules/invite/components/pstn-invite.js +0 -1
- package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
- package/lib/modules/layout/components/who-is-speaking.js +3 -6
- package/lib/modules/layout/index.d.ts +3 -1
- package/lib/modules/layout/index.js +2 -1
- package/lib/modules/layout/store.d.ts +7 -59
- package/lib/modules/layout/store.js +126 -24
- package/lib/modules/layout/type.d.ts +55 -0
- package/lib/modules/participant/components/can-moveable/index.js +0 -1
- package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
- package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
- package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
- package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
- package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
- package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
- package/lib/modules/participant/components/participants/index.js +5 -2
- package/lib/modules/participant/components/participants/types.d.ts +3 -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 -1
- package/lib/modules/participant/store.js +8 -1
- package/lib/modules/secondary-window/index.d.ts +49 -0
- package/lib/modules/secondary-window/index.js +108 -0
- package/lib/modules/secondary-window/store.d.ts +76 -0
- package/lib/modules/secondary-window/store.js +407 -0
- package/lib/modules/secondary-window/type.d.ts +106 -0
- package/lib/modules/secondary-window/type.js +35 -0
- package/lib/modules/secondary-window/view.d.ts +6 -0
- package/lib/modules/secondary-window/view.js +257 -0
- package/lib/modules/setting/general-settings/general-settings.js +9 -0
- package/lib/modules/setting/state/index.js +0 -10
- package/lib/modules/setting/store.d.ts +1 -0
- package/lib/modules/setting/store.js +6 -3
- package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
- package/lib/modules/share-screen/components/control-bar/index.js +17 -12
- package/lib/modules/share-screen/components/selection/index.js +10 -15
- package/lib/modules/share-screen/index.d.ts +4 -1
- package/lib/modules/share-screen/index.js +6 -3
- package/lib/modules/share-screen/store.d.ts +9 -9
- package/lib/modules/share-screen/store.js +39 -64
- package/lib/modules/state-bar/index.d.ts +2 -0
- package/lib/modules/state-bar/index.js +2 -1
- package/lib/modules/state-bar/live-streaming-state.js +0 -1
- package/lib/modules/state-bar/store.d.ts +5 -2
- package/lib/modules/state-bar/store.js +14 -7
- package/lib/modules/state-bar/view.js +3 -3
- package/lib/modules/video-window/components/members/index.js +7 -12
- package/lib/modules/video-window/store.d.ts +1 -0
- package/lib/modules/video-window/store.js +5 -0
- package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
- package/lib/modules/whiteboard/index.d.ts +10 -13
- package/lib/modules/whiteboard/index.js +12 -11
- package/lib/providers/ability-provider.js +2 -0
- package/lib/providers/device-provider.d.ts +6 -3
- package/lib/providers/device-provider.js +331 -333
- package/lib/providers/multi-display-provider.d.ts +85 -0
- package/lib/providers/multi-display-provider.js +581 -0
- package/lib/providers/privilege-provider.js +1 -7
- package/lib/providers/room-provider.js +7 -1
- package/lib/providers/screen-share-provider.d.ts +3 -1
- package/lib/providers/screen-share-provider.js +39 -40
- package/lib/providers/sharing-provider.d.ts +7 -1
- package/lib/providers/sharing-provider.js +32 -3
- package/lib/providers/whiteboard-provider.d.ts +24 -0
- package/lib/providers/whiteboard-provider.js +127 -0
- package/lib/runtime.d.ts +1 -0
- package/lib/scenes/main-scene.d.ts +6 -0
- package/lib/scenes/main-scene.js +38 -2
- package/lib/scenes/waiting-scene.d.ts +0 -2
- package/lib/scenes/waiting-scene.js +0 -6
- package/lib/shared-data-source/member-data.d.ts +2 -2
- package/lib/shared-data-source/screen-share-data.d.ts +6 -0
- package/lib/shared-data-source/screen-share-data.js +5 -0
- package/lib/shared-data-source/setting.js +2 -1
- package/lib/shared-data-source/video-window.js +1 -2
- package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
- package/lib/shared-data-source/whiteboard-data.js +347 -0
- package/lib/translations/enUS.d.ts +1 -0
- package/lib/translations/enUS.js +2 -1
- package/lib/translations/zhCN.d.ts +1 -0
- package/lib/translations/zhCN.js +2 -1
- package/lib/ui-scene.d.ts +0 -1
- package/lib/ui-scene.js +0 -3
- package/lib/utilities/constant.d.ts +4 -2
- package/lib/utilities/constant.js +3 -1
- package/lib/utilities/debug.d.ts +4 -0
- package/lib/utilities/debug.js +40 -0
- package/lib/utilities/dialog-utils.js +26 -4
- package/lib/utilities/meeting-detail.js +4 -1
- package/lib/utilities/renderer-event.d.ts +4 -6
- package/lib/utilities/renderer-event.js +23 -43
- package/lib/utilities/renderer.d.ts +1 -1
- package/lib/utilities/renderer.js +44 -10
- package/lib/utilities/shared-storage.d.ts +18 -0
- package/lib/utilities/shared-storage.js +63 -0
- package/lib/utilities/tools.js +2 -1
- package/package.json +5 -6
- package/lib/electron/tools.d.ts +0 -5
- package/lib/electron/tools.js +0 -62
|
@@ -0,0 +1,43 @@
|
|
|
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.AnnotationGroupTool = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
11
|
+
var _item = require("../item");
|
|
12
|
+
var _panel = require("../panel");
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var AnnotationGroupTool = exports.AnnotationGroupTool = function AnnotationGroupTool(props) {
|
|
17
|
+
var size = props.size,
|
|
18
|
+
placement = props.placement,
|
|
19
|
+
children = props.children;
|
|
20
|
+
var t = (0, _i18n.useI18n)();
|
|
21
|
+
var _useState = (0, _react.useState)(false),
|
|
22
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
23
|
+
visible = _useState2[0],
|
|
24
|
+
setVisible = _useState2[1];
|
|
25
|
+
var handleClick = function handleClick() {
|
|
26
|
+
setVisible(!visible);
|
|
27
|
+
};
|
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
|
|
29
|
+
size: size,
|
|
30
|
+
iconType: _type.FcrIconType.FCR_SUBTRACT,
|
|
31
|
+
title: t('fmt_screenshare_whiteboard_button_additionaltools'),
|
|
32
|
+
hideTitle: true,
|
|
33
|
+
placement: placement,
|
|
34
|
+
visible: visible,
|
|
35
|
+
onClick: handleClick,
|
|
36
|
+
onVisibleChange: setVisible,
|
|
37
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
|
|
38
|
+
size: "small",
|
|
39
|
+
direction: "vertical",
|
|
40
|
+
header: children
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
var FoldIcon = function FoldIcon() {
|
|
12
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
|
13
|
+
width: "16",
|
|
14
|
+
height: "72",
|
|
15
|
+
viewBox: "0 0 16 72",
|
|
16
|
+
fill: "none",
|
|
17
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
18
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
19
|
+
clipPath: "url(#clip0_9209_166297)",
|
|
20
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
21
|
+
d: "M9.49744 11.6558C12.3854 14.6399 14 18.63 14 22.7827L14 49.2173C14 53.37 12.3854 57.3601 9.49744 60.3442L7 62.9248C4.68094 64.9898 2.69913 67.4048 1.12644 70.0823L-2.86197e-07 72L2.86102e-06 -6.11959e-07L1.12644 1.91773C2.69914 4.5952 4.68094 7.0102 7 9.07519L9.49744 11.6558Z",
|
|
22
|
+
fill: "#2F2F2F",
|
|
23
|
+
fillOpacity: "0.95"
|
|
24
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
25
|
+
d: "M6.56598 35.0095L8.13153 32.2698C8.6403 31.3795 10 31.7401 10 32.7656L10 39.2344C10 40.2599 8.64053 40.6209 8.13176 39.7306L6.56702 36.9923C6.21566 36.3774 6.21463 35.6244 6.56598 35.0095Z",
|
|
26
|
+
fill: "#4262FF"
|
|
27
|
+
})]
|
|
28
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("defs", {
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
|
|
30
|
+
id: "clip0_9209_166297",
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
32
|
+
width: "72",
|
|
33
|
+
height: "16",
|
|
34
|
+
fill: "white",
|
|
35
|
+
transform: "translate(16) rotate(90)"
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var _default = exports["default"] = FoldIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function MoveIcon(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,66 @@
|
|
|
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["default"] = MoveIcon;
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function MoveIcon() {
|
|
10
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
|
11
|
+
width: "40",
|
|
12
|
+
height: "16",
|
|
13
|
+
viewBox: "0 0 40 16",
|
|
14
|
+
fill: "none",
|
|
15
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
17
|
+
cx: "7.5",
|
|
18
|
+
cy: "4.5",
|
|
19
|
+
r: "1.5",
|
|
20
|
+
fill: "black",
|
|
21
|
+
fillOpacity: "0.1"
|
|
22
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
23
|
+
cx: "7.5",
|
|
24
|
+
cy: "10.5",
|
|
25
|
+
r: "1.5",
|
|
26
|
+
fill: "black",
|
|
27
|
+
fillOpacity: "0.1"
|
|
28
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
29
|
+
cx: "15.5",
|
|
30
|
+
cy: "4.5",
|
|
31
|
+
r: "1.5",
|
|
32
|
+
fill: "black",
|
|
33
|
+
fillOpacity: "0.1"
|
|
34
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
35
|
+
cx: "15.5",
|
|
36
|
+
cy: "10.5",
|
|
37
|
+
r: "1.5",
|
|
38
|
+
fill: "black",
|
|
39
|
+
fillOpacity: "0.1"
|
|
40
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
41
|
+
cx: "23.5",
|
|
42
|
+
cy: "4.5",
|
|
43
|
+
r: "1.5",
|
|
44
|
+
fill: "black",
|
|
45
|
+
fillOpacity: "0.1"
|
|
46
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
47
|
+
cx: "23.5",
|
|
48
|
+
cy: "10.5",
|
|
49
|
+
r: "1.5",
|
|
50
|
+
fill: "black",
|
|
51
|
+
fillOpacity: "0.1"
|
|
52
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
53
|
+
cx: "31.5",
|
|
54
|
+
cy: "4.5",
|
|
55
|
+
r: "1.5",
|
|
56
|
+
fill: "black",
|
|
57
|
+
fillOpacity: "0.1"
|
|
58
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
59
|
+
cx: "31.5",
|
|
60
|
+
cy: "10.5",
|
|
61
|
+
r: "1.5",
|
|
62
|
+
fill: "black",
|
|
63
|
+
fillOpacity: "0.1"
|
|
64
|
+
})]
|
|
65
|
+
});
|
|
66
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
|
|
2
|
+
import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
|
|
3
|
+
import './style.css';
|
|
4
|
+
export declare const toolBarItemClassName = "annotation-toolbar-item";
|
|
5
|
+
export declare const AnnotationToolItem: (props: {
|
|
6
|
+
iconType: FcrIconType;
|
|
7
|
+
title?: string;
|
|
8
|
+
size?: number;
|
|
9
|
+
active?: boolean;
|
|
10
|
+
content?: React.ReactNode;
|
|
11
|
+
color?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
lineColor?: string;
|
|
14
|
+
onClick?: (value: string) => void;
|
|
15
|
+
visible?: boolean;
|
|
16
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
17
|
+
level?: number;
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
hideTitle?: boolean;
|
|
20
|
+
placement?: ToolTipProps["placement"];
|
|
21
|
+
contextMenu?: React.ReactNode;
|
|
22
|
+
showArrow?: boolean;
|
|
23
|
+
onContextMenuClick?: (color: string) => void;
|
|
24
|
+
commonColors?: string[];
|
|
25
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,165 @@
|
|
|
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.toolBarItemClassName = exports.AnnotationToolItem = void 0;
|
|
9
|
+
require("core-js/modules/es.array.concat.js");
|
|
10
|
+
require("core-js/modules/es.array.includes.js");
|
|
11
|
+
require("core-js/modules/es.string.includes.js");
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _icon = require("agora-ui-foundation/lib/components/icon");
|
|
14
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
15
|
+
var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
|
|
16
|
+
var _popover = require("agora-ui-foundation/lib/components/popover");
|
|
17
|
+
var _react = require("react");
|
|
18
|
+
require("./style.css");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
var toolBarItemClassName = exports.toolBarItemClassName = 'annotation-toolbar-item';
|
|
21
|
+
var AnnotationToolItem = exports.AnnotationToolItem = function AnnotationToolItem(props) {
|
|
22
|
+
var _props$iconType = props.iconType,
|
|
23
|
+
iconType = _props$iconType === void 0 ? _type.FcrIconType.FCR_WHITEBOARD_TEXT : _props$iconType,
|
|
24
|
+
title = props.title,
|
|
25
|
+
_props$size = props.size,
|
|
26
|
+
size = _props$size === void 0 ? 32 : _props$size,
|
|
27
|
+
_props$active = props.active,
|
|
28
|
+
active = _props$active === void 0 ? false : _props$active,
|
|
29
|
+
content = props.content,
|
|
30
|
+
color = props.color,
|
|
31
|
+
_props$disabled = props.disabled,
|
|
32
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
33
|
+
lineColor = props.lineColor,
|
|
34
|
+
onClick = props.onClick,
|
|
35
|
+
visible = props.visible,
|
|
36
|
+
onVisibleChange = props.onVisibleChange,
|
|
37
|
+
level = props.level,
|
|
38
|
+
selected = props.selected,
|
|
39
|
+
hideTitle = props.hideTitle,
|
|
40
|
+
placement = props.placement,
|
|
41
|
+
contextMenu = props.contextMenu,
|
|
42
|
+
_props$showArrow = props.showArrow,
|
|
43
|
+
showArrow = _props$showArrow === void 0 ? false : _props$showArrow,
|
|
44
|
+
onContextMenuClick = props.onContextMenuClick,
|
|
45
|
+
commonColors = props.commonColors;
|
|
46
|
+
var _useState = (0, _react.useState)(visible),
|
|
47
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
48
|
+
visibled = _useState2[0],
|
|
49
|
+
setVisible = _useState2[1];
|
|
50
|
+
var _useState3 = (0, _react.useState)(false),
|
|
51
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
52
|
+
hover = _useState4[0],
|
|
53
|
+
setHover = _useState4[1];
|
|
54
|
+
var defaultColor = "var(".concat(active || visibled ? "--fcr_ui_scene_ramp_brand6" : "--fcr_ui_scene_icontext1", ")");
|
|
55
|
+
var disabledColor = "".concat(disabled ? "var(--fcr_ui_scene_icontext3)" : defaultColor);
|
|
56
|
+
var _useState5 = (0, _react.useState)(false),
|
|
57
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
58
|
+
contextMenuVisible = _useState6[0],
|
|
59
|
+
setContextMenuVisible = _useState6[1];
|
|
60
|
+
var handleClick = function handleClick() {
|
|
61
|
+
if (disabled) return;
|
|
62
|
+
onClick === null || onClick === void 0 || onClick(color || '');
|
|
63
|
+
};
|
|
64
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
65
|
+
onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(visible);
|
|
66
|
+
setVisible(visible);
|
|
67
|
+
};
|
|
68
|
+
var handleContextMenu = function handleContextMenu(e) {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
setContextMenuVisible(true);
|
|
71
|
+
};
|
|
72
|
+
(0, _react.useEffect)(function () {
|
|
73
|
+
setVisible(!!visible);
|
|
74
|
+
}, [visible]);
|
|
75
|
+
var hasSelected = typeof selected === 'boolean';
|
|
76
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
77
|
+
hasSelected && setHover(!hover);
|
|
78
|
+
};
|
|
79
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
80
|
+
setContextMenuVisible(false);
|
|
81
|
+
};
|
|
82
|
+
var colorIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
83
|
+
onClick: handleClick,
|
|
84
|
+
type: iconType,
|
|
85
|
+
size: size,
|
|
86
|
+
fill: "none",
|
|
87
|
+
colors: {
|
|
88
|
+
iconPrimary: color || disabledColor,
|
|
89
|
+
iconSecondary: hover && !commonColors ? color : lineColor || defaultColor,
|
|
90
|
+
level: level,
|
|
91
|
+
selected: selected
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
var iconElement = contextMenu ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
95
|
+
visible: contextMenuVisible,
|
|
96
|
+
overlayOffset: 0,
|
|
97
|
+
overlayInnerStyle: {
|
|
98
|
+
width: 'fit-content'
|
|
99
|
+
},
|
|
100
|
+
placement: "bottom",
|
|
101
|
+
showArrow: true,
|
|
102
|
+
trigger: "contextMenu",
|
|
103
|
+
size: "small",
|
|
104
|
+
content: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
105
|
+
className: "annotation-toolbar-item-context-menu",
|
|
106
|
+
onMouseLeave: handleMouseLeave,
|
|
107
|
+
onClick: function onClick() {
|
|
108
|
+
return onContextMenuClick === null || onContextMenuClick === void 0 ? void 0 : onContextMenuClick(color || '');
|
|
109
|
+
},
|
|
110
|
+
children: contextMenu
|
|
111
|
+
}),
|
|
112
|
+
children: colorIcon
|
|
113
|
+
}) : colorIcon;
|
|
114
|
+
var element = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
115
|
+
className: "".concat(toolBarItemClassName, " ").concat((active || visibled) && !hasSelected ? 'is-active' : '', " ").concat(disabled ? 'is-disabled' : ''),
|
|
116
|
+
onMouseLeave: handleMouseLeave,
|
|
117
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
118
|
+
className: "annotation-toolbar-item-icon",
|
|
119
|
+
onMouseEnter: handleMouseEnter,
|
|
120
|
+
onMouseLeave: handleMouseEnter,
|
|
121
|
+
onContextMenu: contextMenu ? handleContextMenu : undefined,
|
|
122
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
123
|
+
className: commonColors ? "annotation-toolbar-item-icon-wrapper" : '',
|
|
124
|
+
children: [!(commonColors !== null && commonColors !== void 0 && commonColors.includes(color || '')) && iconElement, content && !commonColors && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
|
|
125
|
+
type: _type.FcrIconType.FCR_WHITEBOARD_LOWERRIGHTARROW,
|
|
126
|
+
size: 4,
|
|
127
|
+
className: "fcr-board-toolbar-expansion-icon"
|
|
128
|
+
})]
|
|
129
|
+
})
|
|
130
|
+
}), title && !hideTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
131
|
+
className: "annotation-toolbar-item-title",
|
|
132
|
+
children: title
|
|
133
|
+
})]
|
|
134
|
+
});
|
|
135
|
+
return title ? content ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
136
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
|
|
137
|
+
showArrow: false,
|
|
138
|
+
content: title,
|
|
139
|
+
placement: placement,
|
|
140
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
|
|
141
|
+
visible: visibled,
|
|
142
|
+
overlayOffset: 10,
|
|
143
|
+
overlayInnerStyle: {
|
|
144
|
+
width: 'fit-content'
|
|
145
|
+
},
|
|
146
|
+
placement: placement,
|
|
147
|
+
getTooltipContainer: function getTooltipContainer(e) {
|
|
148
|
+
return e;
|
|
149
|
+
},
|
|
150
|
+
trigger: "click",
|
|
151
|
+
showArrow: showArrow,
|
|
152
|
+
content: content,
|
|
153
|
+
onVisibleChange: handleVisibleChange,
|
|
154
|
+
children: element
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
|
|
158
|
+
showArrow: showArrow,
|
|
159
|
+
visible: visibled,
|
|
160
|
+
content: title,
|
|
161
|
+
onVisibleChange: handleVisibleChange,
|
|
162
|
+
placement: placement,
|
|
163
|
+
children: element
|
|
164
|
+
}) : element;
|
|
165
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
.annotation-toolbar-item {
|
|
2
|
+
min-width: 32px;
|
|
3
|
+
max-width: 64px;
|
|
4
|
+
min-height: 32px;
|
|
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
|
+
position: relative;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.annotation-toolbar-item .fcr-popover .fcr-tooltip-inner {
|
|
16
|
+
overflow: inherit !important;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.annotation-toolbar-item-icon {
|
|
20
|
+
max-width: 44px;
|
|
21
|
+
min-width: 32px;
|
|
22
|
+
height: 32px;
|
|
23
|
+
border-radius: var(--fcr_cornerradius_xs);
|
|
24
|
+
display: flex;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
align-items: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.annotation-toolbar-item-title {
|
|
30
|
+
margin-top: 4px;
|
|
31
|
+
font-size: 12px;
|
|
32
|
+
font-weight: 300;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* .annotation-toolbar-item:hover > .annotation-toolbar-item-icon {
|
|
36
|
+
background: var(--fcr_ui_scene_ramp_brand1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.annotation-toolbar-item.hover > .annotation-toolbar-item-title {
|
|
40
|
+
color: var(--fcr_ui_scene_ramp_brand6);
|
|
41
|
+
} */
|
|
42
|
+
|
|
43
|
+
.annotation-toolbar-item.is-active > .annotation-toolbar-item-icon {
|
|
44
|
+
background: var(--fcr_ui_scene_ramp_brand0);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.annotation-toolbar-item.is-active > .annotation-toolbar-item-title {
|
|
48
|
+
color: var(--fcr_ui_scene_ramp_brand6);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.annotation-toolbar-item.is-disabled {
|
|
52
|
+
cursor: not-allowed;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.annotation-toolbar-item.is-disabled > .annotation-toolbar-item-title {
|
|
56
|
+
color: var(--fcr_ui_scene_icontext3);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.annotation-toolbar-item-context-menu {
|
|
60
|
+
color: var(--fcr_ui_scene_icontext1);
|
|
61
|
+
line-height: 100%;
|
|
62
|
+
}
|
|
63
|
+
.annotation-toolbar-item-icon-wrapper {
|
|
64
|
+
width: 18px;
|
|
65
|
+
height: 18px;
|
|
66
|
+
border-radius: 50%;
|
|
67
|
+
background: conic-gradient(
|
|
68
|
+
from 180deg at 50% 50%,
|
|
69
|
+
#ff7171 0deg,
|
|
70
|
+
#ffa471 30deg,
|
|
71
|
+
#ffe37f 63.75deg,
|
|
72
|
+
#e3ff75 91.88deg,
|
|
73
|
+
#a9ff75 125.63deg,
|
|
74
|
+
#79ff8f 163.12deg,
|
|
75
|
+
#72ffe6 189.38deg,
|
|
76
|
+
#70cff8 210deg,
|
|
77
|
+
#6880ff 232.5deg,
|
|
78
|
+
#7856ff 260.62deg,
|
|
79
|
+
#dd56ff 277.5deg,
|
|
80
|
+
#ff56da 303.75deg,
|
|
81
|
+
#ff3797 327.96deg,
|
|
82
|
+
#ff6464 340.25deg,
|
|
83
|
+
#ff5656 359.93deg,
|
|
84
|
+
#ff7171 360deg
|
|
85
|
+
);
|
|
86
|
+
display: flex;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
align-items: center;
|
|
89
|
+
}
|
|
90
|
+
.annotation-toolbar-item-icon-wrapper > svg {
|
|
91
|
+
position: absolute;
|
|
92
|
+
width: 28px;
|
|
93
|
+
height: 28px;
|
|
94
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
|
|
2
|
+
export declare const MultipleColorTool: (props: {
|
|
3
|
+
coverCount?: number;
|
|
4
|
+
commonColors: string[];
|
|
5
|
+
currentColor: string;
|
|
6
|
+
colors: string[];
|
|
7
|
+
setStrokeColor: (color: string) => void;
|
|
8
|
+
placement: ToolTipProps["placement"];
|
|
9
|
+
themeColors: string[];
|
|
10
|
+
size?: number;
|
|
11
|
+
onContextMenuClick?: (color: string[]) => void;
|
|
12
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,75 @@
|
|
|
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.MultipleColorTool = void 0;
|
|
9
|
+
require("core-js/modules/es.array.filter.js");
|
|
10
|
+
require("core-js/modules/es.array.includes.js");
|
|
11
|
+
require("core-js/modules/es.array.map.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/es.string.includes.js");
|
|
14
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
16
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
17
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
|
+
var _type = require("agora-ui-foundation/lib/components/icon/type");
|
|
19
|
+
var _item = require("../item");
|
|
20
|
+
var _colorTool = require("../color-tool");
|
|
21
|
+
var _button = require("agora-ui-foundation/lib/components/button");
|
|
22
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
var MultipleColorTool = exports.MultipleColorTool = function MultipleColorTool(props) {
|
|
25
|
+
var transI18n = (0, _i18n.useI18n)();
|
|
26
|
+
var _props$coverCount = props.coverCount,
|
|
27
|
+
coverCount = _props$coverCount === void 0 ? 0 : _props$coverCount,
|
|
28
|
+
commonColors = props.commonColors,
|
|
29
|
+
currentColor = props.currentColor,
|
|
30
|
+
setStrokeColor = props.setStrokeColor,
|
|
31
|
+
placement = props.placement,
|
|
32
|
+
themeColors = props.themeColors,
|
|
33
|
+
size = props.size,
|
|
34
|
+
onContextMenuClick = props.onContextMenuClick;
|
|
35
|
+
var handleContextMenuClick = function handleContextMenuClick(color) {
|
|
36
|
+
var _ref = commonColors || [],
|
|
37
|
+
_ref2 = (0, _slicedToArray2["default"])(_ref, 1),
|
|
38
|
+
firstColor = _ref2[0];
|
|
39
|
+
onContextMenuClick === null || onContextMenuClick === void 0 || onContextMenuClick(firstColor ? [color, firstColor] : [color]);
|
|
40
|
+
};
|
|
41
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
42
|
+
children: [commonColors === null || commonColors === void 0 ? void 0 : commonColors.filter(function (_, index) {
|
|
43
|
+
return commonColors.length - 1 - index > coverCount;
|
|
44
|
+
}).map(function (color) {
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
|
|
46
|
+
size: currentColor === color ? 26 : size,
|
|
47
|
+
hideTitle: true,
|
|
48
|
+
iconType: _type.FcrIconType.FCR_COLOR,
|
|
49
|
+
color: color,
|
|
50
|
+
lineColor: currentColor === color ? color : 'transparent',
|
|
51
|
+
onClick: function onClick() {
|
|
52
|
+
return setStrokeColor(color);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_colorTool.AnnotationColorTool, {
|
|
56
|
+
direction: "vertical",
|
|
57
|
+
placement: placement,
|
|
58
|
+
size: size,
|
|
59
|
+
currentColor: currentColor,
|
|
60
|
+
colors: themeColors,
|
|
61
|
+
commonColors: commonColors,
|
|
62
|
+
setStrokeColor: setStrokeColor,
|
|
63
|
+
selected: !(commonColors !== null && commonColors !== void 0 && commonColors.includes(currentColor)),
|
|
64
|
+
hideTitle: true,
|
|
65
|
+
contextMenu: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
|
|
66
|
+
type: "gray",
|
|
67
|
+
block: true,
|
|
68
|
+
size: "XXS",
|
|
69
|
+
shape: "rounded",
|
|
70
|
+
children: transI18n('fmt_screenshare_whiteboard_button_setcolor')
|
|
71
|
+
}),
|
|
72
|
+
onContextMenuClick: handleContextMenuClick
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import './style.css';
|
|
2
|
+
export declare const AnnotationToolPanel: (props: {
|
|
3
|
+
header?: React.ReactNode;
|
|
4
|
+
content?: React.ReactNode;
|
|
5
|
+
footer?: React.ReactNode;
|
|
6
|
+
size?: "small" | "medium";
|
|
7
|
+
direction?: "horizontal" | "vertical";
|
|
8
|
+
type?: "color" | "multiple-color" | "graphic" | "pen";
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
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("core-js/modules/es.array.concat.js");
|
|
9
|
+
require("./style.css");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
var AnnotationToolPanel = exports.AnnotationToolPanel = function AnnotationToolPanel(props) {
|
|
12
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
13
|
+
className: "fcr-annotation-toolbar-panel ".concat(props.size === 'small' ? 'small' : 'medium', " ").concat(props.direction),
|
|
14
|
+
style: {
|
|
15
|
+
flexDirection: props.type === 'color' ? 'column' : undefined
|
|
16
|
+
},
|
|
17
|
+
children: [props.header && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
18
|
+
className: "fcr-annotation-toolbar-panel-header",
|
|
19
|
+
children: props.header
|
|
20
|
+
}), props.content && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
21
|
+
className: "fcr-annotation-toolbar-panel-content",
|
|
22
|
+
children: props.content
|
|
23
|
+
}), props.footer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
24
|
+
className: "fcr-annotation-toolbar-panel-footer",
|
|
25
|
+
children: props.footer
|
|
26
|
+
})]
|
|
27
|
+
});
|
|
28
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
.fcr-annotation-toolbar-panel {
|
|
2
|
+
max-width: 300px;
|
|
3
|
+
padding: 0 6px;
|
|
4
|
+
height: auto;
|
|
5
|
+
background: var(fcr_mobile_ui_scene_color_popup_fill2);
|
|
6
|
+
border-radius: var(--fcr_cornerradius_l);
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
--small-width: 148px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.fcr-annotation-toolbar-panel.small {
|
|
14
|
+
box-sizing: content-box;
|
|
15
|
+
border-radius: 8px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.fcr-annotation-toolbar-panel.medium {
|
|
19
|
+
padding: 12px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.fcr-annotation-toolbar-panel.small > div {
|
|
23
|
+
min-height: 36px;
|
|
24
|
+
display: flex;
|
|
25
|
+
gap: 0;
|
|
26
|
+
box-sizing: content-box;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.fcr-annotation-toolbar-panel.medium > div {
|
|
30
|
+
min-height: 36px;
|
|
31
|
+
display: flex;
|
|
32
|
+
gap: 12px;
|
|
33
|
+
box-sizing: content-box;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.fcr-annotation-toolbar-panel .annotation-toolbar-item {
|
|
37
|
+
width: 36px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.fcr-annotation-toolbar-panel.medium .fcr-annotation-toolbar-panel-footer {
|
|
41
|
+
border-top: 1px solid var(--fcr_ui_scene_line1);
|
|
42
|
+
padding-top: 8px;
|
|
43
|
+
margin-top: 8px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.fcr-annotation-toolbar-panel.small .fcr-annotation-toolbar-panel-footer {
|
|
47
|
+
border-top: 1px solid var(--fcr_ui_scene_line1);
|
|
48
|
+
font-size: 12px;
|
|
49
|
+
color: var(--fcr_ui_scene_black3);
|
|
50
|
+
min-height: 24px;
|
|
51
|
+
text-align: center;
|
|
52
|
+
line-height: 1.2;
|
|
53
|
+
border-top: 1px solid var(--fcr_ui_scene_black1);
|
|
54
|
+
max-width: var(--small-width);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.fcr-annotation-toolbar-panel.vertical {
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
}
|
|
60
|
+
.fcr-annotation-toolbar-panel.vertical .fcr-annotation-toolbar-panel-header {
|
|
61
|
+
padding: 6px 0;
|
|
62
|
+
gap: 6px;
|
|
63
|
+
flex-direction: column;
|
|
64
|
+
}
|
|
65
|
+
.fcr-annotation-toolbar-panel.vertical .fcr-annotation-toolbar-panel-footer {
|
|
66
|
+
padding: 6px 0;
|
|
67
|
+
gap: 6px;
|
|
68
|
+
flex-direction: column;
|
|
69
|
+
}
|
|
70
|
+
.fcr-annotation-toolbar-panel.horizontal {
|
|
71
|
+
flex-direction: row;
|
|
72
|
+
}
|
|
73
|
+
.fcr-annotation-toolbar-panel.horizontal .fcr-annotation-toolbar-panel-header {
|
|
74
|
+
flex-direction: row;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.fcr-annotation-toolbar-panel.horizontal .fcr-annotation-toolbar-panel-footer {
|
|
78
|
+
flex-direction: row;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.fcr-annotation-toolbar-panel-content {
|
|
82
|
+
width: var(--small-width);
|
|
83
|
+
display: flex;
|
|
84
|
+
flex-wrap: wrap;
|
|
85
|
+
padding: 8px;
|
|
86
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
|
|
2
|
+
import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
|
|
3
|
+
export declare const AnnotationPenTool: (props: {
|
|
4
|
+
size?: number;
|
|
5
|
+
hideTitle?: boolean;
|
|
6
|
+
currentStrokeWidth: number;
|
|
7
|
+
currentColor: string;
|
|
8
|
+
currentTool: FcrBoardToolType;
|
|
9
|
+
setStrokeWidth: (width: number) => void;
|
|
10
|
+
setTool: (tool: FcrBoardToolType) => void;
|
|
11
|
+
placement: ToolTipProps["placement"];
|
|
12
|
+
direction?: "horizontal" | "vertical";
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|