fcr-ui-scene 3.7.6 → 3.7.7

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 (259) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +12 -6
  4. package/lib/creator/provider-initializer.browser.js +0 -3
  5. package/lib/creator/provider-initializer.electron.js +0 -4
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +70 -20
  9. package/lib/electron/struct.d.ts +7 -1
  10. package/lib/electron/struct.js +8 -1
  11. package/lib/electron/until.d.ts +3 -1
  12. package/lib/electron/until.js +7 -2
  13. package/lib/modules/action-bar/components/item/index.js +1 -0
  14. package/lib/modules/action-bar/components/screen-share/submenu.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +58 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +109 -0
  19. package/lib/modules/action-bar/store.d.ts +259 -0
  20. package/lib/modules/action-bar/store.js +1529 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +620 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/chat/index.css +5 -1
  70. package/lib/modules/chat/view.js +6 -1
  71. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  72. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  73. package/lib/modules/components/control-bar/index.js +26 -7
  74. package/lib/modules/components/device-control/store.d.ts +42 -0
  75. package/lib/modules/components/device-control/store.js +241 -0
  76. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  77. package/lib/modules/components/leave-meeting/store.js +270 -0
  78. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  79. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  80. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  81. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +43 -42
  82. package/lib/modules/components/toolbar/index.js +6 -24
  83. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  84. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  85. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  86. package/lib/modules/control-bar/components/cloud-recording-buttons.js +65 -3
  87. package/lib/modules/control-bar/store.js +11 -6
  88. package/lib/modules/control-bar/types.d.ts +20 -0
  89. package/lib/modules/control-bar/types.js +6 -0
  90. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  91. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  92. package/lib/modules/dialog/components/dialog-container/index.css +1 -1
  93. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  94. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  95. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  96. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  97. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  98. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  99. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  100. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  101. package/lib/modules/dialog/dialogs/participant/index.js +2 -1
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  106. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  110. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  111. package/lib/modules/dialog/store.d.ts +135 -0
  112. package/lib/modules/dialog/store.js +616 -0
  113. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  114. package/lib/modules/event-confirm/components/window/index.js +221 -0
  115. package/lib/modules/event-confirm/index.css +24 -0
  116. package/lib/modules/event-confirm/index.d.ts +27 -0
  117. package/lib/modules/event-confirm/index.js +76 -0
  118. package/lib/modules/event-confirm/store.d.ts +50 -0
  119. package/lib/modules/event-confirm/store.js +394 -0
  120. package/lib/modules/event-confirm/view.d.ts +2 -0
  121. package/lib/modules/event-confirm/view.js +55 -0
  122. package/lib/modules/event-toast/store.d.ts +27 -0
  123. package/lib/modules/event-toast/store.js +205 -0
  124. package/lib/modules/layout/store.d.ts +176 -0
  125. package/lib/modules/layout/store.electron.js +1 -1
  126. package/lib/modules/layout/store.js +1452 -0
  127. package/lib/modules/participant/store.d.ts +222 -0
  128. package/lib/modules/participant/store.js +1929 -0
  129. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  130. package/lib/modules/pc-audio-connect/index.js +67 -0
  131. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  132. package/lib/modules/pc-audio-connect/store.js +304 -0
  133. package/lib/modules/secondary-window/store.d.ts +0 -1
  134. package/lib/modules/secondary-window/store.js +9 -22
  135. package/lib/modules/secondary-window/view.js +6 -5
  136. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  137. package/lib/modules/setting/common/advance-link.js +27 -0
  138. package/lib/modules/setting/common/index.css +26 -0
  139. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  140. package/lib/modules/setting/common/useNamespace.js +66 -0
  141. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  142. package/lib/modules/setting/dialog-wrapper.js +110 -0
  143. package/lib/modules/setting/index.css +0 -1
  144. package/lib/modules/setting/store.base.js +6 -0
  145. package/lib/modules/setting/store.d.ts +261 -0
  146. package/lib/modules/setting/store.js +1321 -0
  147. package/lib/modules/setting/view.js +0 -3
  148. package/lib/modules/share-screen/store.d.ts +148 -0
  149. package/lib/modules/share-screen/store.electron.js +1 -1
  150. package/lib/modules/share-screen/store.js +960 -0
  151. package/lib/modules/share-screen/types.d.ts +26 -0
  152. package/lib/modules/share-screen/types.js +6 -0
  153. package/lib/modules/state-bar/layout-config.js +6 -0
  154. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  155. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  156. package/lib/modules/state-bar/store.d.ts +124 -0
  157. package/lib/modules/state-bar/store.js +664 -0
  158. package/lib/modules/video-window/index.css +6 -0
  159. package/lib/modules/video-window/popover-watcher.d.ts +4 -1
  160. package/lib/modules/video-window/popover-watcher.js +15 -2
  161. package/lib/modules/video-window/store.d.ts +18 -1
  162. package/lib/modules/video-window/store.js +55 -7
  163. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  164. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  165. package/lib/modules/whiteboard/store.js +20 -2
  166. package/lib/modules/widget/store.d.ts +14 -0
  167. package/lib/modules/widget/store.js +28 -0
  168. package/lib/object-manager.d.ts +0 -1
  169. package/lib/object-manager.js +0 -1
  170. package/lib/providers/annotation-provider.d.ts +124 -0
  171. package/lib/providers/annotation-provider.js +369 -0
  172. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  173. package/lib/providers/board-share/bar-control/base.js +37 -28
  174. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  175. package/lib/providers/board-share/bar-control/electron.js +19 -16
  176. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  177. package/lib/providers/board-share/provider.browser.js +21 -3
  178. package/lib/providers/device-provider.js +5 -1
  179. package/lib/providers/dialog/provider.electron.js +6 -0
  180. package/lib/providers/dialog-provider.d.ts +137 -0
  181. package/lib/providers/dialog-provider.js +194 -0
  182. package/lib/providers/message-provider.d.ts +69 -0
  183. package/lib/providers/message-provider.js +140 -0
  184. package/lib/providers/mouse-detect/provider.d.ts +5 -0
  185. package/lib/providers/mouse-detect/provider.js +74 -49
  186. package/lib/providers/multi-display-provider.d.ts +3 -5
  187. package/lib/providers/multi-display-provider.js +0 -9
  188. package/lib/providers/room-provider/room-provider.d.ts +3 -14
  189. package/lib/providers/room-provider/room-provider.js +5 -26
  190. package/lib/providers/room-provider.d.ts +194 -0
  191. package/lib/providers/room-provider.js +916 -0
  192. package/lib/providers/screen-share/stream-state-sync.js +19 -12
  193. package/lib/providers/screen-share-provider.d.ts +245 -0
  194. package/lib/providers/screen-share-provider.js +850 -0
  195. package/lib/providers/sharing-provider.d.ts +42 -0
  196. package/lib/providers/sharing-provider.js +228 -0
  197. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  198. package/lib/providers/user-setting-storage-provider.js +65 -0
  199. package/lib/providers/whiteboard-provider.d.ts +24 -0
  200. package/lib/providers/whiteboard-provider.js +128 -0
  201. package/lib/providers/window/main-window.d.ts +0 -5
  202. package/lib/providers/window/main-window.js +0 -44
  203. package/lib/providers/window/renderer-window.d.ts +1 -0
  204. package/lib/providers/window/renderer-window.js +9 -1
  205. package/lib/scenes/main-scene.js +0 -2
  206. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  207. package/lib/shared-data-source/annotation-data.js +110 -0
  208. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  209. package/lib/shared-data-source/app-list-data.js +133 -0
  210. package/lib/shared-data-source/chat-data.d.ts +25 -0
  211. package/lib/shared-data-source/chat-data.js +139 -0
  212. package/lib/shared-data-source/config.d.ts +35 -0
  213. package/lib/shared-data-source/config.js +40 -0
  214. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  215. package/lib/shared-data-source/confirm-data.js +201 -0
  216. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  217. package/lib/shared-data-source/device-privilege-data.js +25 -0
  218. package/lib/shared-data-source/interpreter.d.ts +77 -0
  219. package/lib/shared-data-source/interpreter.js +247 -0
  220. package/lib/shared-data-source/layout-data.d.ts +31 -0
  221. package/lib/shared-data-source/layout-data.js +189 -0
  222. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  223. package/lib/shared-data-source/meeting-time.js +416 -0
  224. package/lib/shared-data-source/member-data.d.ts +139 -0
  225. package/lib/shared-data-source/member-data.js +517 -0
  226. package/lib/shared-data-source/pin-data.d.ts +13 -0
  227. package/lib/shared-data-source/pin-data.js +111 -0
  228. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  229. package/lib/shared-data-source/screen-share-data.js +513 -0
  230. package/lib/shared-data-source/security-data.d.ts +39 -0
  231. package/lib/shared-data-source/security-data.js +156 -0
  232. package/lib/shared-data-source/setting.d.ts +67 -0
  233. package/lib/shared-data-source/setting.js +220 -0
  234. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  235. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  236. package/lib/shared-data-source/video-window.d.ts +165 -0
  237. package/lib/shared-data-source/video-window.js +1266 -0
  238. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  239. package/lib/shared-data-source/waiting-room.js +222 -0
  240. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  241. package/lib/{providers/board-share/bar-control.js → shared-data-source/whiteboard-data.js} +62 -104
  242. package/lib/ui-scene.js +4 -2
  243. package/lib/utilities/board-context.d.ts +4 -0
  244. package/lib/utilities/board-context.js +12 -0
  245. package/lib/utilities/copyText.d.ts +2 -0
  246. package/lib/utilities/copyText.js +48 -0
  247. package/lib/utilities/renderer-event.d.ts +10 -0
  248. package/lib/utilities/renderer-event.js +95 -0
  249. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  250. package/lib/utilities/screen-capture-permission.js +24 -0
  251. package/lib/utilities/screen.d.ts +3 -0
  252. package/lib/utilities/screen.js +53 -0
  253. package/lib/utilities/video-track-render-context.d.ts +6 -0
  254. package/lib/utilities/video-track-render-context.js +9 -0
  255. package/lib/waiting-room-control-manager.d.ts +28 -0
  256. package/lib/waiting-room-control-manager.js +230 -0
  257. package/package.json +5 -5
  258. package/public/index.html +22 -1
  259. package/lib/providers/board-share/bar-control.d.ts +0 -51
@@ -0,0 +1,90 @@
1
+ import { FcrIconProps } from 'agora-ui-foundation/lib/components/icon';
2
+ import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
3
+ import { PopoverProps } from 'agora-ui-foundation/lib/components/popover';
4
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
5
+ import { FcrUserInfo, FcrUserRole } from 'fcr-core/lib/type';
6
+ import { FcrUIRoomType } from '../../type';
7
+ import { GenerateI18nKey } from 'agora-ui-foundation/lib/i18n';
8
+ export interface Item {
9
+ name: string;
10
+ width: number;
11
+ order: number;
12
+ }
13
+ export type ActionBarItemPlacementProps = {
14
+ placement: 'left' | 'mid' | 'right';
15
+ };
16
+ export type FcrActionBarProps = {};
17
+ export interface ActionBarItemProps extends React.ComponentProps<'div'> {
18
+ className?: string;
19
+ icon: FcrIconType | React.ReactNode;
20
+ iconColors: FcrIconProps['colors'];
21
+ active?: boolean;
22
+ onClick?: () => void;
23
+ disabled?: boolean;
24
+ title: string;
25
+ order?: number;
26
+ id: string;
27
+ moreVisible?: boolean;
28
+ }
29
+ export interface ActionBarItemWithPopoverProps extends ActionBarItemProps {
30
+ popoverProps?: PopoverProps;
31
+ }
32
+ export interface AppItemProps {
33
+ name: GenerateI18nKey<I18nResouceTypes>;
34
+ onClick: () => void;
35
+ fcrToolTipProps?: ToolTipProps;
36
+ fcrIconProps?: FcrIconProps;
37
+ permission: boolean;
38
+ imgSrc?: string;
39
+ }
40
+ export interface AppListPorps {
41
+ onAppClick?: () => void;
42
+ }
43
+ export interface InterpreterPropsType {
44
+ id: string;
45
+ order: number;
46
+ }
47
+ export interface AssignHostProps {
48
+ remoteUsers: FcrUserInfo[];
49
+ assignHost: (user: FcrUserInfo) => void;
50
+ setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
51
+ setCanAssign: (value: boolean) => void;
52
+ handleKeepConnect?: () => void;
53
+ loading?: boolean;
54
+ }
55
+ export interface LeaveMeetingProps {
56
+ setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
57
+ end: () => void;
58
+ leave: () => void;
59
+ isLocked: boolean;
60
+ keepPhoneAudioConnection: () => void;
61
+ localUserRole: FcrUserRole;
62
+ remoteUsers: FcrUserInfo[];
63
+ hasAssignHostBeforeLeavingPermission: boolean;
64
+ hasEndRoomPermission: boolean;
65
+ isPstnUser: boolean;
66
+ assignHost: (user: FcrUserInfo) => void;
67
+ setHeight?: () => void;
68
+ }
69
+ export interface MenuItemProps {
70
+ setVisible: React.Dispatch<React.SetStateAction<boolean>>;
71
+ }
72
+ export interface StopCloudRecordingProps {
73
+ stopCloudRecording: () => void;
74
+ }
75
+ export interface GuideToolTipPropsRef {
76
+ setShow: React.Dispatch<React.SetStateAction<boolean>>;
77
+ show: boolean;
78
+ }
79
+ export interface GuideTooltipProps {
80
+ children: React.ReactNode;
81
+ guideContent: string | React.ReactNode;
82
+ content: string;
83
+ }
84
+ export interface FcrCloudRecordingParams {
85
+ action: 'start' | 'pause' | 'resume' | 'stop';
86
+ }
87
+ export type ChatRoomStoreMap = {
88
+ [K in FcrUIRoomType]?: number;
89
+ };
90
+ export type RoomTypeKeys = keyof typeof FcrUIRoomType;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import './index.css';
3
+ import { FcrActionBarProps } from './types';
4
+ export declare const actionBarClassName = "fcr-action-bar";
5
+ export declare const FcrActionBar: FC<FcrActionBarProps>;
@@ -0,0 +1,112 @@
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.actionBarClassName = exports.FcrActionBar = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _placement = require("./components/placement");
13
+ var _collapse = require("./components/collapse");
14
+ require("./index.css");
15
+ var _icon = require("agora-ui-foundation/lib/components/icon");
16
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
17
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
18
+ var _smaller = require("./components/smaller");
19
+ var _mobxReact = require("mobx-react");
20
+ var _store = require("./store");
21
+ var _i18n = require("agora-ui-foundation/lib/i18n");
22
+ var _triggerOutputLanguage = require("./components/trigger-output-language");
23
+ var _notificationBar = require("./components/notification-bar");
24
+ var _deviceControl = _interopRequireDefault(require("../components/device-control"));
25
+ var _leave = require("./components/leave");
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+ var actionBarClassName = exports.actionBarClassName = 'fcr-action-bar';
28
+ /**
29
+ * @param toggleFold 用于点击折叠底部操作栏
30
+ * @returns
31
+ */
32
+ var ToggleToolbarBtn = function ToggleToolbarBtn(_ref) {
33
+ var className = _ref.className,
34
+ toggleFold = _ref.toggleFold,
35
+ mouseLeaveFn = _ref.mouseLeaveFn;
36
+ var transI18n = (0, _i18n.useI18n)();
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
38
+ className: (0, _classnames["default"])('fcr-action-bar--fold-wrap', className),
39
+ onMouseLeave: function onMouseLeave() {
40
+ return mouseLeaveFn();
41
+ },
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
43
+ content: transI18n('fmt_settings_options_toolbarcollapse'),
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
+ className: "fcr-action-bar--fold-btn",
46
+ onClick: function onClick() {
47
+ return toggleFold();
48
+ },
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
50
+ className: "fcr-action-bar--fold",
51
+ type: _type.FcrIconType.FCR_DROPDOWN,
52
+ colors: {
53
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon2)'
54
+ }
55
+ })
56
+ })
57
+ })
58
+ });
59
+ };
60
+ var FcrActionBar = exports.FcrActionBar = (0, _mobxReact.observer)(function () {
61
+ var _useState = (0, _react.useState)(false),
62
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
63
+ opened = _useState2[0],
64
+ setOpenState = _useState2[1];
65
+ var _useContext = (0, _react.useContext)(_store.ActionBarContext),
66
+ folded = _useContext.folded,
67
+ setShowArrow = _useContext.setShowArrow,
68
+ showArrow = _useContext.showArrow,
69
+ toggleFold = _useContext.toggleFold,
70
+ isMainRoom = _useContext.isMainRoom,
71
+ appItemOptions = _useContext.appItemOptions;
72
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
73
+ children: [!folded && showArrow ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ToggleToolbarBtn, {
74
+ toggleFold: toggleFold,
75
+ mouseLeaveFn: function mouseLeaveFn() {
76
+ setShowArrow(false);
77
+ }
78
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
79
+ className: "fcr-action-bar--fold-hotarea"
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
81
+ className: (0, _classnames["default"])(actionBarClassName, {
82
+ 'fcr-action-bar-fold-style': folded
83
+ }),
84
+ onMouseEnter: function onMouseEnter() {
85
+ isMainRoom && setShowArrow(true);
86
+ },
87
+ children: folded ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
88
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_smaller.SmallerActionbar, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
89
+ className: "fcr-action-bar-small-end",
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_leave.End, {
91
+ onPopoverChanged: function onPopoverChanged() {}
92
+ })
93
+ })]
94
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
95
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_placement.ActionBarItemPlacement, {
96
+ placement: "left",
97
+ children: !opened && /*#__PURE__*/(0, _jsxRuntime.jsx)(_deviceControl["default"], {})
98
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_placement.ActionBarItemPlacement, {
99
+ placement: "mid",
100
+ children: !opened && isMainRoom && /*#__PURE__*/(0, _jsxRuntime.jsx)(_collapse.ActionBarCollapseItems, {
101
+ appItemOptions: appItemOptions
102
+ })
103
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_placement.ActionBarItemPlacement, {
104
+ placement: "right",
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_leave.End, {
106
+ onPopoverChanged: setOpenState
107
+ })
108
+ })]
109
+ })
110
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_triggerOutputLanguage.TriggerOutputLanguage, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_notificationBar.NotificationBar, {})]
111
+ });
112
+ });
@@ -0,0 +1,2 @@
1
+ import './style.css';
2
+ export declare const Toolbar: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,80 @@
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.Toolbar = void 0;
9
+ require("core-js/modules/es.error.to-string.js");
10
+ require("core-js/modules/es.array.map.js");
11
+ require("core-js/modules/es.date.to-string.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/es.regexp.to-string.js");
14
+ require("core-js/modules/esnext.iterator.constructor.js");
15
+ require("core-js/modules/esnext.iterator.map.js");
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _mobxReact = require("mobx-react");
18
+ var _react = require("react");
19
+ var _classnames = _interopRequireDefault(require("classnames"));
20
+ var _icon = require("agora-ui-foundation/lib/components/icon");
21
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
22
+ var _i18n = require("agora-ui-foundation/lib/i18n");
23
+ var _annotationToolbarStore = require("./annotation-toolbar-store");
24
+ var _moveHandle = require("./components/move-handle");
25
+ var _foldIcon = _interopRequireDefault(require("./components/icons/fold-icon"));
26
+ require("./style.css");
27
+ var _hooks = require("./hooks");
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+ var Toolbar = exports.Toolbar = (0, _mobxReact.observer)(function () {
30
+ var _useAnnotationVisible = (0, _hooks.useAnnotationVisibleTools)(),
31
+ mainTools = _useAnnotationVisible.mainTools;
32
+ var _useContext = (0, _react.useContext)(_annotationToolbarStore.AnnotationReceiverToolbarContext),
33
+ repositionToolbar = _useContext.repositionToolbar;
34
+ var transI18n = (0, _i18n.useI18n)();
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
37
+ folded = _useState2[0],
38
+ setFolded = _useState2[1];
39
+ var handleFoldClick = function handleFoldClick() {
40
+ setFolded(!folded);
41
+ };
42
+ (0, _react.useEffect)(function () {
43
+ repositionToolbar();
44
+ }, []);
45
+ var clsn = (0, _classnames["default"])({
46
+ 'fcr-board-toolbar--folded': folded,
47
+ // prevent first animation play
48
+ 'fcr-board-toolbar--unfolded': typeof folded !== 'undefined' && !folded
49
+ });
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_moveHandle.DraggableWrapper, {
51
+ className: clsn,
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ className: "fcr-board-toolbar-main",
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
55
+ className: "fcr-board-toolbar-list",
56
+ children: mainTools.map(function (_ref, i) {
57
+ var renderItem = _ref.renderItem;
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
59
+ children: renderItem()
60
+ }, i.toString());
61
+ })
62
+ })
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
+ className: "fcr-board-toolbar-fold",
65
+ onClick: handleFoldClick,
66
+ children: !folded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_foldIcon["default"], {}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
67
+ className: "fcr-board-toobar-folded-button",
68
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
69
+ type: _type.FcrIconType.FCR_WHITEBOARD_EXPAND2,
70
+ colors: {
71
+ iconPrimary: '#000',
72
+ iconSecondary: '#000'
73
+ }
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
75
+ children: transI18n('fmt_screenshare_whiteboard_button_spread')
76
+ })]
77
+ })
78
+ })]
79
+ });
80
+ });
@@ -0,0 +1,75 @@
1
+ import { FcrBoardShape, WhiteboardThemeType } from '../whiteboard/type';
2
+ import { FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
3
+ import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
4
+ import { FcrUIEventProvider } from '../../providers/event-provider';
5
+ import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
6
+ import { FcrPrivilegedAnnotationControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/annotation-control/type';
7
+ export declare class AnnotationReceiverToolbarStore {
8
+ private _whiteboardControl;
9
+ private _roomControl;
10
+ private _eventProvider;
11
+ private _sharedAnnotationDataSource;
12
+ protected logger: import("agora-foundation/lib/logger").Logger;
13
+ private _lastStrokeWidth;
14
+ private _boardObserver;
15
+ private _whiteboardObserver;
16
+ accessor observables: {
17
+ currentTool: FcrBoardToolType | undefined;
18
+ currentShape: FcrBoardShape | undefined;
19
+ currentColor: string;
20
+ currentStrokeWidth: number;
21
+ currentThemeType: WhiteboardThemeType;
22
+ toolbarPosition: {
23
+ x: number;
24
+ y: number;
25
+ };
26
+ toolbarReleased: boolean;
27
+ toolbarDockPosition: {
28
+ x: number | undefined;
29
+ y: number | undefined;
30
+ placement: "left" | "right";
31
+ };
32
+ redoSteps: boolean;
33
+ undoSteps: boolean;
34
+ lastPen: FcrBoardShape | undefined;
35
+ lastShape: FcrBoardShape | undefined;
36
+ maxCountVisibleTools: number;
37
+ layoutReady: boolean;
38
+ colors: string[];
39
+ commonColorIndex: number;
40
+ background: string;
41
+ commonColors: string[];
42
+ progress: number;
43
+ };
44
+ get roomInfo(): import("fcr-core/lib/type").FcrRoomInfo | undefined;
45
+ get boardMainWindow(): import("fcr-core/lib/room-control/whiteboard-control/types").FcrBoardMainWindow | null;
46
+ constructor(_whiteboardControl: FcrPrivilegedAnnotationControl, _roomControl: FcrBaseRoomControl, _eventProvider: FcrUIEventProvider, _sharedAnnotationDataSource: FcrUISharedAnnotationSource);
47
+ resetToolbarVars(): void;
48
+ get annotationHasStart(): boolean;
49
+ redo(): void;
50
+ undo(): void;
51
+ clean(): void;
52
+ setTool(tool: FcrBoardToolType): void;
53
+ setPen(shape: FcrBoardShape): void;
54
+ setShape(shape: FcrBoardShape): void;
55
+ setStrokeColor(color: string): void;
56
+ setStrokeWidth(strokeWidth: number): void;
57
+ clickExpansionTool(): void;
58
+ setToolbarPosition(pos: {
59
+ x: number;
60
+ y: number;
61
+ }): void;
62
+ dragToolbar(): void;
63
+ releaseToolbar(): void;
64
+ captureScreen(hideWindow?: boolean): void;
65
+ saveDraft(): void;
66
+ setCommonColor(color: string): void;
67
+ repositionToolbar(): void;
68
+ release(): void;
69
+ private _updateDockPlacement;
70
+ private _updateDockPosition;
71
+ private _updateMaxVisibleTools;
72
+ private _getSnapshotImage;
73
+ private _convertShapeToBoardToolType;
74
+ }
75
+ export declare const AnnotationReceiverToolbarContext: import("react").Context<AnnotationReceiverToolbarStore>;