agora-ui-foundation 3.8.2 → 3.9.0-alpha

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 (32) hide show
  1. package/lib/components/button/index.css +13 -3
  2. package/lib/components/button/index.js +4 -1
  3. package/lib/components/comfirm-dialog/index.css +42 -0
  4. package/lib/components/comfirm-dialog/index.d.ts +1 -0
  5. package/lib/components/comfirm-dialog/index.js +10 -5
  6. package/lib/components/icon/paths/fcr_btn_loading.js +4 -3
  7. package/lib/components/icon/paths/fcr_host3.d.ts +3 -0
  8. package/lib/components/icon/paths/fcr_host3.js +21 -0
  9. package/lib/components/icon/svg-exports.d.ts +1 -0
  10. package/lib/components/icon/svg-exports.js +6 -4
  11. package/lib/components/icon/type.d.ts +1 -0
  12. package/lib/components/icon/type.js +1 -0
  13. package/lib/components/state-bar/view.js +2 -37
  14. package/lib/utilities/copy-text.d.ts +1 -0
  15. package/lib/utilities/copy-text.js +49 -0
  16. package/lib/utilities/hooks.d.ts +14 -0
  17. package/lib/utilities/hooks.js +100 -0
  18. package/lib/utilities/mute-action.d.ts +4 -0
  19. package/lib/utilities/mute-action.js +48 -0
  20. package/lib-es/components/button/index.css +13 -3
  21. package/lib-es/components/button/index.js +4 -1
  22. package/lib-es/components/comfirm-dialog/index.css +42 -0
  23. package/lib-es/components/comfirm-dialog/index.js +10 -5
  24. package/lib-es/components/icon/paths/fcr_btn_loading.js +4 -3
  25. package/lib-es/components/icon/paths/fcr_host3.js +13 -0
  26. package/lib-es/components/icon/svg-exports.js +2 -0
  27. package/lib-es/components/icon/type.js +1 -0
  28. package/lib-es/components/state-bar/view.js +1 -36
  29. package/lib-es/utilities/copy-text.js +41 -0
  30. package/lib-es/utilities/hooks.js +82 -0
  31. package/lib-es/utilities/mute-action.js +41 -0
  32. package/package.json +5 -4
@@ -121,19 +121,29 @@
121
121
 
122
122
  .fcr-button-secondary-bordered {
123
123
  color: var(--fcr_ui_scene_icontext1);
124
- border: 0.5px solid var(--fcr_web_ui_scene_line4);
124
+ border: 0.5px solid var(--fcr_web_ui_scene_line4) !important;
125
125
  background: var(--fcr_web_ui_scene_fill2);
126
126
  }
127
- .fcr-button-secondary-bordered:not(:disabled):hover {
127
+
128
+ .fcr-button-secondary-bordered .fcr-button-icon-wrapper {
129
+ color: var(--fcr_ui_scene_icontext2);
130
+ }
131
+
132
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):hover {
128
133
  border: 0.5px solid var(--fcr_ui_scene_ramp_brand6);
129
134
  background: var(--fcr_web_ui_scene_hover);
130
135
  color: var(--fcr_web_ui_scene_mainicon2);
131
136
  }
132
- .fcr-button-secondary-bordered:not(:disabled):active {
137
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):active {
133
138
  border: 0.5px solid var(--fcr_ui_scene_ramp_brand6);
134
139
  background: var(--fcr_web_ui_scene_click);
135
140
  color: var(--fcr_web_ui_scene_mainicon2);
136
141
  }
142
+
143
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):hover .fcr-button-icon-wrapper,
144
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):active .fcr-button-icon-wrapper {
145
+ color: var(--fcr_web_ui_scene_mainicon2);
146
+ }
137
147
  /** gray button **/
138
148
 
139
149
  .fcr-button-gray {
@@ -130,7 +130,10 @@ var FcrButton = exports.FcrButton = function FcrButton(props) {
130
130
  className: (0, _classnames["default"])('fcr-button-icon fcr-button-posticon', {
131
131
  'fcr-button-loading': loading
132
132
  }),
133
- type: loading ? _type.FcrIconType.FCR_BTN_LOADING : postIcon
133
+ type: loading ? _type.FcrIconType.FCR_BTN_LOADING : postIcon,
134
+ colors: loading ? {
135
+ iconPrimary: 'white'
136
+ } : undefined
134
137
  }, postIconProps))
135
138
  })]
136
139
  }));
@@ -0,0 +1,42 @@
1
+ .fcr-login-confirm-dialog-content {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ flex-direction: column;
6
+ padding: 0px 20px 24px;
7
+ width: 320px;
8
+ }
9
+
10
+ .fcr-login-confirm-dialog-content img {
11
+ }
12
+
13
+ .fcr-login-confirm-dialog-title {
14
+ margin-top: 24px;
15
+ font-weight: 600;
16
+ font-size: 16px;
17
+ font-weight: 600;
18
+ font-size: 16px;
19
+ line-height: 100%;
20
+ text-align: center;
21
+ vertical-align: middle;
22
+ }
23
+
24
+ .fcr-login-confirm-dialog-desc {
25
+ margin-top: 12px;
26
+ font-weight: 400;
27
+ font-style: Regular;
28
+ font-size: 14px;
29
+ line-height: 130%;
30
+ letter-spacing: 0%;
31
+ text-align: center;
32
+ vertical-align: middle;
33
+ }
34
+
35
+ .fcr-login-confirm-dialog-btn {
36
+ margin-top: 20px;
37
+ width: 100%;
38
+ }
39
+
40
+ .fcr-login-confirm-dialog-content .fcr-button {
41
+ width: 100%;
42
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './index.css';
2
3
  type LoginConfirmDialogProps = {
3
4
  title?: string;
4
5
  desc: string;
@@ -19,6 +19,7 @@ require("core-js/modules/web.timers.js");
19
19
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
  var _button = require("../button");
22
+ require("./index.css");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
25
  var LoginConfirmDialog = exports.LoginConfirmDialog = function LoginConfirmDialog(_ref) {
@@ -51,21 +52,25 @@ var LoginConfirmDialog = exports.LoginConfirmDialog = function LoginConfirmDialo
51
52
  };
52
53
  }, [countDown, isShowCoutDown]);
53
54
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
54
- className: "login-confirm-dialog-content",
55
+ className: "fcr-login-confirm-dialog-content",
55
56
  children: [showImg && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
56
- className: "login-confirm-dialog-img",
57
+ className: "fcr-login-confirm-dialog-img",
57
58
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
59
+ style: {
60
+ width: 280,
61
+ height: 192
62
+ },
58
63
  src: imgSrc,
59
64
  alt: ""
60
65
  })
61
66
  }), title && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
62
- className: "login-confirm-dialog-title",
67
+ className: "fcr-login-confirm-dialog-title",
63
68
  children: title
64
69
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
65
- className: "login-confirm-dialog-desc",
70
+ className: "fcr-login-confirm-dialog-desc",
66
71
  children: desc
67
72
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
- className: "login-confirm-dialog-btn",
73
+ className: "fcr-login-confirm-dialog-btn",
69
74
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button.FcrButton, {
70
75
  size: "S",
71
76
  shape: "rounded",
@@ -9,7 +9,8 @@ exports.viewBox = exports.path = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var path = exports.path = function path(_ref) {
12
- var iconPrimary = _ref.iconPrimary;
12
+ var _ref$iconPrimary = _ref.iconPrimary,
13
+ iconPrimary = _ref$iconPrimary === void 0 ? 'white' : _ref$iconPrimary;
13
14
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
14
15
  xmlns: "http://www.w3.org/2000/svg",
15
16
  width: "48",
@@ -31,11 +32,11 @@ var path = exports.path = function path(_ref) {
31
32
  gradientTransform: "translate(24 24) scale(10.1587)",
32
33
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
33
34
  offset: "0.892377",
34
- stopColor: "white",
35
+ stopColor: iconPrimary,
35
36
  stopOpacity: "0"
36
37
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
37
38
  offset: "1",
38
- stopColor: "white"
39
+ stopColor: iconPrimary
39
40
  })]
40
41
  })
41
42
  })]
@@ -0,0 +1,3 @@
1
+ import { PathOptions } from '../svg-dict';
2
+ export declare const path: ({ iconPrimary }: PathOptions) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const viewBox = "0 0 24 24";
@@ -0,0 +1,21 @@
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.viewBox = exports.path = void 0;
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var path = exports.path = function path(_ref) {
12
+ var _ref$iconPrimary = _ref.iconPrimary,
13
+ iconPrimary = _ref$iconPrimary === void 0 ? '444B71' : _ref$iconPrimary;
14
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
15
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
16
+ d: "M19.3805 7.71538C19.3953 7.72074 19.4063 7.72788 19.4211 7.73324L19.4284 7.67428L19.3805 7.71538ZM4.57866 7.70644C4.58603 7.70287 4.59525 7.70108 4.60262 7.69572L4.57129 7.6707L4.57866 7.70644ZM18.7649 8.42297C18.6341 8.42297 18.5161 8.473 18.4295 8.55341C18.4239 8.55877 18.4221 8.55698 18.4239 8.54983L15.1856 11.382L12.5482 6.25909C12.4247 6.10006 12.2293 6 12.0082 6C11.7501 6 11.5253 6.14116 11.411 6.34665L8.81777 11.382L5.47625 8.4587C5.40621 8.42118 5.32511 8.39974 5.23849 8.39974C4.97124 8.39974 4.7556 8.61059 4.7556 8.86789C4.7556 8.88934 4.75191 8.90006 4.74454 8.90006L5.77851 16.3887C5.77851 16.3602 5.77667 16.3316 5.77298 16.3012C5.83565 16.8229 6.19874 17.2554 6.68716 17.4341C6.64292 17.418 6.59869 17.4055 6.55814 17.3983C7.5958 17.7753 9.63241 18.0201 11.9787 17.9987C14.336 17.979 16.391 17.6967 17.4434 17.2983C17.4047 17.3054 17.3642 17.3161 17.3199 17.3322C17.8084 17.1517 18.1714 16.7193 18.2341 16.1976C18.2267 16.2583 18.2267 16.3155 18.2304 16.3673L19.257 8.91793C19.2533 8.91435 19.2497 8.90363 19.2497 8.88755C19.2497 8.63382 19.034 8.42297 18.7649 8.42297Z",
17
+ fill: iconPrimary
18
+ })
19
+ });
20
+ };
21
+ var viewBox = exports.viewBox = '0 0 24 24';
@@ -88,6 +88,7 @@ export * as fcr_home_code2 from './paths/fcr_home_code2';
88
88
  export * as fcr_home_quickstart from './paths/fcr_home_quickstart';
89
89
  export * as fcr_host from './paths/fcr_host';
90
90
  export * as fcr_host2 from './paths/fcr_host2';
91
+ export * as fcr_host3 from './paths/fcr_host3';
91
92
  export * as fcr_interpretation2 from './paths/fcr_interpretation2';
92
93
  export * as fcr_jbh from './paths/fcr_jbh';
93
94
  export * as fcr_jbh_invite from './paths/fcr_jbh_invite';
@@ -13,10 +13,10 @@ var _typeof = require("@babel/runtime/helpers/typeof");
13
13
  Object.defineProperty(exports, "__esModule", {
14
14
  value: true
15
15
  });
16
- exports.fcr_list_delete = exports.fcr_link = exports.fcr_left4 = exports.fcr_left3 = exports.fcr_left1 = exports.fcr_left = exports.fcr_jbh_invite = exports.fcr_jbh = exports.fcr_interpretation2 = exports.fcr_host2 = exports.fcr_host = exports.fcr_home_quickstart = exports.fcr_home_code2 = exports.fcr_hidevideo = exports.fcr_helpquestion = exports.fcr_head = exports.fcr_grid_big = exports.fcr_gototop = exports.fcr_gotostage_on = exports.fcr_gotostage_not = exports.fcr_gotostage = exports.fcr_fullcoverage = exports.fcr_fourwindows2 = exports.fcr_fourwindows = exports.fcr_focusonhim = exports.fcr_file_video = exports.fcr_file_ppt = exports.fcr_file_photo = exports.fcr_file_pdf = exports.fcr_file_noformat = exports.fcr_file_excel = exports.fcr_file_doc = exports.fcr_file_audio = exports.fcr_file_alf = exports.fcr_file_ah5 = exports.fcr_file = exports.fcr_exclamationmask = exports.fcr_equalratio = exports.fcr_endmeeting = exports.fcr_emo = exports.fcr_dropup4 = exports.fcr_dropdown4 = exports.fcr_dropdown2 = exports.fcr_dropdown = exports.fcr_download2 = exports.fcr_download = exports.fcr_down1 = exports.fcr_down = exports.fcr_dialog_more = exports.fcr_deviceaudioon = exports.fcr_deviceaudiooff = exports.fcr_delete5 = exports.fcr_delete4 = exports.fcr_delete3 = exports.fcr_defaultpage = exports.fcr_countdown_up = exports.fcr_countdown_down = exports.fcr_copy_icon = exports.fcr_copy2 = exports.fcr_copy = exports.fcr_computerdata = exports.fcr_color = exports.fcr_colon = exports.fcr_cohost2 = exports.fcr_cohost1 = exports.fcr_cloudrecord = exports.fcr_closed = exports.fcr_close2 = exports.fcr_close = exports.fcr_clock = exports.fcr_chooseit = exports.fcr_chexbox_indeterminate = exports.fcr_checkbox_check = exports.fcr_chat_reddot = exports.fcr_chat_placeholder = exports.fcr_chat_on = exports.fcr_chat2 = exports.fcr_chat = exports.fcr_cameraoff = exports.fcr_cameracrash = exports.fcr_camera_window_notwork = exports.fcr_camera_window_not = exports.fcr_camera_window_loading = exports.fcr_camera3 = exports.fcr_camera = exports.fcr_btn_loading = exports.fcr_bell = exports.fcr_beauty_retouch = exports.fcr_beauty_blush = exports.fcr_beauty = exports.fcr_background2 = exports.fcr_attach = exports.fcr_angle_tips = exports.fcr_allleave = exports.fcr_all_unmute = exports.fcr_all_mute = exports.fcr_aliyun = exports.fcr_alf2 = exports.chevron_right = exports.chat_private = void 0;
17
- exports.fcr_sharingbar_up = exports.fcr_sharingbar_down = exports.fcr_share_sound = exports.fcr_share = exports.fcr_setting_teacher = exports.fcr_setting_none = exports.fcr_setting_meetingassistant = exports.fcr_setting2 = exports.fcr_setting = exports.fcr_send = exports.fcr_security = exports.fcr_screensharing_on = exports.fcr_screensharing_1 = exports.fcr_screensharing = exports.fcr_screenshare_change2 = exports.fcr_screenshare_change1 = exports.fcr_rotatingvideo = exports.fcr_rightwindows = exports.fcr_right5 = exports.fcr_right4 = exports.fcr_right3 = exports.fcr_right2 = exports.fcr_right = exports.fcr_rewardall = exports.fcr_reward = exports.fcr_reverseorder = exports.fcr_reset = exports.fcr_rename2 = exports.fcr_rename = exports.fcr_remove_pin = exports.fcr_recording_stop = exports.fcr_recording_play2 = exports.fcr_recording_play = exports.fcr_recording_on = exports.fcr_recording_end = exports.fcr_raisehands = exports.fcr_quit2 = exports.fcr_question2 = exports.fcr_question = exports.fcr_put_waiting_room = exports.fcr_ppt_broken = exports.fcr_platform = exports.fcr_pinpage2 = exports.fcr_pinpage = exports.fcr_pin = exports.fcr_picture = exports.fcr_phonecall_silence = exports.fcr_phonecall3 = exports.fcr_phonecall2 = exports.fcr_phonecall1 = exports.fcr_people = exports.fcr_pensize_straight = exports.fcr_pensize3_straight = exports.fcr_pensize = exports.fcr_pen_line_4size = exports.fcr_pen_line_3size = exports.fcr_pen_line_2size = exports.fcr_pen_line_1size = exports.fcr_pen_curve_4size = exports.fcr_pen_curve_3size = exports.fcr_pen_curve_2size = exports.fcr_pen_curve_1size = exports.fcr_pause2 = exports.fcr_order_up = exports.fcr_order_down = exports.fcr_openfile = exports.fcr_oneleave = exports.fcr_notice = exports.fcr_nomute = exports.fcr_mutedefault = exports.fcr_mutecrash = exports.fcr_mute = exports.fcr_moveto = exports.fcr_move = exports.fcr_moreapp = exports.fcr_more2 = exports.fcr_mobile_whiteboard_undo = exports.fcr_mobile_whiteboard_redo = exports.fcr_mobile_subtities_on = exports.fcr_mobile_subtities_off = exports.fcr_mobile_sharescreen = exports.fcr_mobile_more = exports.fcr_mobile_duplicate = exports.fcr_mobile_chat3 = exports.fcr_mobile_chat2 = exports.fcr_mobile_cameraoff2 = exports.fcr_mobile_camera2 = exports.fcr_mobile_arrow_left = exports.fcr_mirrorimage_right = exports.fcr_mirrorimage_off = exports.fcr_mirrorimage_left = exports.fcr_minus = exports.fcr_meetingrecord = exports.fcr_lower_hand = exports.fcr_loading = exports.fcr_liveicon = exports.fcr_live2 = exports.fcr_live = exports.fcr_list_on_top_big = exports.fcr_list_on_right_big = void 0;
18
- exports.fcr_whiteboard_ped_curve = exports.fcr_whiteboard_ped5 = exports.fcr_whiteboard_ped4 = exports.fcr_whiteboard_ped3 = exports.fcr_whiteboard_ped2 = exports.fcr_whiteboard_ped = exports.fcr_whiteboard_page = exports.fcr_whiteboard_on = exports.fcr_whiteboard_movesubjects2 = exports.fcr_whiteboard_movesubjects = exports.fcr_whiteboard_move = exports.fcr_whiteboard_mouse = exports.fcr_whiteboard_lowerrightarrow = exports.fcr_whiteboard_laserpen3 = exports.fcr_whiteboard_laserpen2 = exports.fcr_whiteboard_laserpen1 = exports.fcr_whiteboard_laserpen = exports.fcr_whiteboard_forward = exports.fcr_whiteboard_expand2 = exports.fcr_whiteboard_eraser2 = exports.fcr_whiteboard_eraser = exports.fcr_whiteboard_eliminate = exports.fcr_whiteboard_cloud = exports.fcr_whiteboard_bg = exports.fcr_whiteboard_back = exports.fcr_whiteboard2 = exports.fcr_whiteboard = exports.fcr_web_smallest = exports.fcr_web_sharingview_small = exports.fcr_web_sharingview_mix = exports.fcr_web_sharingview_middle = exports.fcr_web_scale_right = exports.fcr_web_scale_left = exports.fcr_web_restoration = exports.fcr_web_move_page = exports.fcr_web_fullscream = exports.fcr_web_connectsound = exports.fcr_web_chat = exports.fcr_waiting_room = exports.fcr_volume_hear = exports.fcr_videorotation2 = exports.fcr_videoback = exports.fcr_video_sharescreen = exports.fcr_v2_vote = exports.fcr_v2_tool_new = exports.fcr_v2_timer = exports.fcr_v2_tanhao_alart = exports.fcr_v2_subtitieshistory = exports.fcr_v2_signal_normal = exports.fcr_v2_signal_good = exports.fcr_v2_signal_bad = exports.fcr_v2_search = exports.fcr_v2_quite = exports.fcr_v2_poll_zoom = exports.fcr_v2_poll_minus = exports.fcr_v2_poll_add = exports.fcr_v2_phone_more1 = exports.fcr_v2_louder_min = exports.fcr_v2_louder = exports.fcr_v2_gou_alart = exports.fcr_v2_expansionscreen = exports.fcr_v2_chevron_right2 = exports.fcr_v2_chevron_left2 = exports.fcr_v2_chevron_down2 = exports.fcr_v2_breakroom = exports.fcr_v2_answer = exports.fcr_users = exports.fcr_uporder = exports.fcr_uploadlist = exports.fcr_up2 = exports.fcr_up = exports.fcr_untop = exports.fcr_unpin = exports.fcr_underline = exports.fcr_translate1 = exports.fcr_translanguage = exports.fcr_topwindows = exports.fcr_top = exports.fcr_tooltip_arrow_2 = exports.fcr_tooltip_arrow = exports.fcr_toggle_dialog = exports.fcr_to2 = exports.fcr_subtract = exports.fcr_subtitles = exports.fcr_subtitieshistory_on = exports.fcr_subtitieshistory_off = exports.fcr_subtitieshistory2 = exports.fcr_subtitieshistory = exports.fcr_student_rasiehand = exports.fcr_stopscreensharing = exports.fcr_stoplive = exports.fcr_stop3 = exports.fcr_stop = exports.fcr_star = exports.fcr_smooth = exports.fcr_sipdevice = exports.fcr_simultaneousinterpretation_on = exports.fcr_simultaneousinterpretation_off = exports.fcr_showvideo2 = exports.fcr_showvideo = void 0;
19
- exports.zhipuai = exports.set_sale = exports.logo_openai = exports.logo_moonshot = exports.fcr_zoomout = exports.fcr_zoomin = exports.fcr_wrong = exports.fcr_wizard_arrow = exports.fcr_windowpage_smaller3 = exports.fcr_windowpage_smaller2 = exports.fcr_windowpage_smaller = exports.fcr_windowpage_lonely = exports.fcr_windowpage_bigger = exports.fcr_window_smaller = exports.fcr_window_bigger = exports.fcr_wihiteboard_slicewithoutclassroom = exports.fcr_wihiteboard_slice = exports.fcr_whitechoose = exports.fcr_whiteboard_toolbox = exports.fcr_whiteboard_text = exports.fcr_whiteboard_slice = exports.fcr_whiteboard_shap_triangle = exports.fcr_whiteboard_shap_star = exports.fcr_whiteboard_shap_square = exports.fcr_whiteboard_shap_rehumbus = exports.fcr_whiteboard_shap_line = exports.fcr_whiteboard_shap_circle_1 = exports.fcr_whiteboard_shap_circle = exports.fcr_whiteboard_shap_arrow = exports.fcr_whiteboard_save = exports.fcr_whiteboard_ped_straightline = void 0;
16
+ exports.fcr_link = exports.fcr_left4 = exports.fcr_left3 = exports.fcr_left1 = exports.fcr_left = exports.fcr_jbh_invite = exports.fcr_jbh = exports.fcr_interpretation2 = exports.fcr_host3 = exports.fcr_host2 = exports.fcr_host = exports.fcr_home_quickstart = exports.fcr_home_code2 = exports.fcr_hidevideo = exports.fcr_helpquestion = exports.fcr_head = exports.fcr_grid_big = exports.fcr_gototop = exports.fcr_gotostage_on = exports.fcr_gotostage_not = exports.fcr_gotostage = exports.fcr_fullcoverage = exports.fcr_fourwindows2 = exports.fcr_fourwindows = exports.fcr_focusonhim = exports.fcr_file_video = exports.fcr_file_ppt = exports.fcr_file_photo = exports.fcr_file_pdf = exports.fcr_file_noformat = exports.fcr_file_excel = exports.fcr_file_doc = exports.fcr_file_audio = exports.fcr_file_alf = exports.fcr_file_ah5 = exports.fcr_file = exports.fcr_exclamationmask = exports.fcr_equalratio = exports.fcr_endmeeting = exports.fcr_emo = exports.fcr_dropup4 = exports.fcr_dropdown4 = exports.fcr_dropdown2 = exports.fcr_dropdown = exports.fcr_download2 = exports.fcr_download = exports.fcr_down1 = exports.fcr_down = exports.fcr_dialog_more = exports.fcr_deviceaudioon = exports.fcr_deviceaudiooff = exports.fcr_delete5 = exports.fcr_delete4 = exports.fcr_delete3 = exports.fcr_defaultpage = exports.fcr_countdown_up = exports.fcr_countdown_down = exports.fcr_copy_icon = exports.fcr_copy2 = exports.fcr_copy = exports.fcr_computerdata = exports.fcr_color = exports.fcr_colon = exports.fcr_cohost2 = exports.fcr_cohost1 = exports.fcr_cloudrecord = exports.fcr_closed = exports.fcr_close2 = exports.fcr_close = exports.fcr_clock = exports.fcr_chooseit = exports.fcr_chexbox_indeterminate = exports.fcr_checkbox_check = exports.fcr_chat_reddot = exports.fcr_chat_placeholder = exports.fcr_chat_on = exports.fcr_chat2 = exports.fcr_chat = exports.fcr_cameraoff = exports.fcr_cameracrash = exports.fcr_camera_window_notwork = exports.fcr_camera_window_not = exports.fcr_camera_window_loading = exports.fcr_camera3 = exports.fcr_camera = exports.fcr_btn_loading = exports.fcr_bell = exports.fcr_beauty_retouch = exports.fcr_beauty_blush = exports.fcr_beauty = exports.fcr_background2 = exports.fcr_attach = exports.fcr_angle_tips = exports.fcr_allleave = exports.fcr_all_unmute = exports.fcr_all_mute = exports.fcr_aliyun = exports.fcr_alf2 = exports.chevron_right = exports.chat_private = void 0;
17
+ exports.fcr_sharingbar_down = exports.fcr_share_sound = exports.fcr_share = exports.fcr_setting_teacher = exports.fcr_setting_none = exports.fcr_setting_meetingassistant = exports.fcr_setting2 = exports.fcr_setting = exports.fcr_send = exports.fcr_security = exports.fcr_screensharing_on = exports.fcr_screensharing_1 = exports.fcr_screensharing = exports.fcr_screenshare_change2 = exports.fcr_screenshare_change1 = exports.fcr_rotatingvideo = exports.fcr_rightwindows = exports.fcr_right5 = exports.fcr_right4 = exports.fcr_right3 = exports.fcr_right2 = exports.fcr_right = exports.fcr_rewardall = exports.fcr_reward = exports.fcr_reverseorder = exports.fcr_reset = exports.fcr_rename2 = exports.fcr_rename = exports.fcr_remove_pin = exports.fcr_recording_stop = exports.fcr_recording_play2 = exports.fcr_recording_play = exports.fcr_recording_on = exports.fcr_recording_end = exports.fcr_raisehands = exports.fcr_quit2 = exports.fcr_question2 = exports.fcr_question = exports.fcr_put_waiting_room = exports.fcr_ppt_broken = exports.fcr_platform = exports.fcr_pinpage2 = exports.fcr_pinpage = exports.fcr_pin = exports.fcr_picture = exports.fcr_phonecall_silence = exports.fcr_phonecall3 = exports.fcr_phonecall2 = exports.fcr_phonecall1 = exports.fcr_people = exports.fcr_pensize_straight = exports.fcr_pensize3_straight = exports.fcr_pensize = exports.fcr_pen_line_4size = exports.fcr_pen_line_3size = exports.fcr_pen_line_2size = exports.fcr_pen_line_1size = exports.fcr_pen_curve_4size = exports.fcr_pen_curve_3size = exports.fcr_pen_curve_2size = exports.fcr_pen_curve_1size = exports.fcr_pause2 = exports.fcr_order_up = exports.fcr_order_down = exports.fcr_openfile = exports.fcr_oneleave = exports.fcr_notice = exports.fcr_nomute = exports.fcr_mutedefault = exports.fcr_mutecrash = exports.fcr_mute = exports.fcr_moveto = exports.fcr_move = exports.fcr_moreapp = exports.fcr_more2 = exports.fcr_mobile_whiteboard_undo = exports.fcr_mobile_whiteboard_redo = exports.fcr_mobile_subtities_on = exports.fcr_mobile_subtities_off = exports.fcr_mobile_sharescreen = exports.fcr_mobile_more = exports.fcr_mobile_duplicate = exports.fcr_mobile_chat3 = exports.fcr_mobile_chat2 = exports.fcr_mobile_cameraoff2 = exports.fcr_mobile_camera2 = exports.fcr_mobile_arrow_left = exports.fcr_mirrorimage_right = exports.fcr_mirrorimage_off = exports.fcr_mirrorimage_left = exports.fcr_minus = exports.fcr_meetingrecord = exports.fcr_lower_hand = exports.fcr_loading = exports.fcr_liveicon = exports.fcr_live2 = exports.fcr_live = exports.fcr_list_on_top_big = exports.fcr_list_on_right_big = exports.fcr_list_delete = void 0;
18
+ exports.fcr_whiteboard_ped5 = exports.fcr_whiteboard_ped4 = exports.fcr_whiteboard_ped3 = exports.fcr_whiteboard_ped2 = exports.fcr_whiteboard_ped = exports.fcr_whiteboard_page = exports.fcr_whiteboard_on = exports.fcr_whiteboard_movesubjects2 = exports.fcr_whiteboard_movesubjects = exports.fcr_whiteboard_move = exports.fcr_whiteboard_mouse = exports.fcr_whiteboard_lowerrightarrow = exports.fcr_whiteboard_laserpen3 = exports.fcr_whiteboard_laserpen2 = exports.fcr_whiteboard_laserpen1 = exports.fcr_whiteboard_laserpen = exports.fcr_whiteboard_forward = exports.fcr_whiteboard_expand2 = exports.fcr_whiteboard_eraser2 = exports.fcr_whiteboard_eraser = exports.fcr_whiteboard_eliminate = exports.fcr_whiteboard_cloud = exports.fcr_whiteboard_bg = exports.fcr_whiteboard_back = exports.fcr_whiteboard2 = exports.fcr_whiteboard = exports.fcr_web_smallest = exports.fcr_web_sharingview_small = exports.fcr_web_sharingview_mix = exports.fcr_web_sharingview_middle = exports.fcr_web_scale_right = exports.fcr_web_scale_left = exports.fcr_web_restoration = exports.fcr_web_move_page = exports.fcr_web_fullscream = exports.fcr_web_connectsound = exports.fcr_web_chat = exports.fcr_waiting_room = exports.fcr_volume_hear = exports.fcr_videorotation2 = exports.fcr_videoback = exports.fcr_video_sharescreen = exports.fcr_v2_vote = exports.fcr_v2_tool_new = exports.fcr_v2_timer = exports.fcr_v2_tanhao_alart = exports.fcr_v2_subtitieshistory = exports.fcr_v2_signal_normal = exports.fcr_v2_signal_good = exports.fcr_v2_signal_bad = exports.fcr_v2_search = exports.fcr_v2_quite = exports.fcr_v2_poll_zoom = exports.fcr_v2_poll_minus = exports.fcr_v2_poll_add = exports.fcr_v2_phone_more1 = exports.fcr_v2_louder_min = exports.fcr_v2_louder = exports.fcr_v2_gou_alart = exports.fcr_v2_expansionscreen = exports.fcr_v2_chevron_right2 = exports.fcr_v2_chevron_left2 = exports.fcr_v2_chevron_down2 = exports.fcr_v2_breakroom = exports.fcr_v2_answer = exports.fcr_users = exports.fcr_uporder = exports.fcr_uploadlist = exports.fcr_up2 = exports.fcr_up = exports.fcr_untop = exports.fcr_unpin = exports.fcr_underline = exports.fcr_translate1 = exports.fcr_translanguage = exports.fcr_topwindows = exports.fcr_top = exports.fcr_tooltip_arrow_2 = exports.fcr_tooltip_arrow = exports.fcr_toggle_dialog = exports.fcr_to2 = exports.fcr_subtract = exports.fcr_subtitles = exports.fcr_subtitieshistory_on = exports.fcr_subtitieshistory_off = exports.fcr_subtitieshistory2 = exports.fcr_subtitieshistory = exports.fcr_student_rasiehand = exports.fcr_stopscreensharing = exports.fcr_stoplive = exports.fcr_stop3 = exports.fcr_stop = exports.fcr_star = exports.fcr_smooth = exports.fcr_sipdevice = exports.fcr_simultaneousinterpretation_on = exports.fcr_simultaneousinterpretation_off = exports.fcr_showvideo2 = exports.fcr_showvideo = exports.fcr_sharingbar_up = void 0;
19
+ exports.zhipuai = exports.set_sale = exports.logo_openai = exports.logo_moonshot = exports.fcr_zoomout = exports.fcr_zoomin = exports.fcr_wrong = exports.fcr_wizard_arrow = exports.fcr_windowpage_smaller3 = exports.fcr_windowpage_smaller2 = exports.fcr_windowpage_smaller = exports.fcr_windowpage_lonely = exports.fcr_windowpage_bigger = exports.fcr_window_smaller = exports.fcr_window_bigger = exports.fcr_wihiteboard_slicewithoutclassroom = exports.fcr_wihiteboard_slice = exports.fcr_whitechoose = exports.fcr_whiteboard_toolbox = exports.fcr_whiteboard_text = exports.fcr_whiteboard_slice = exports.fcr_whiteboard_shap_triangle = exports.fcr_whiteboard_shap_star = exports.fcr_whiteboard_shap_square = exports.fcr_whiteboard_shap_rehumbus = exports.fcr_whiteboard_shap_line = exports.fcr_whiteboard_shap_circle_1 = exports.fcr_whiteboard_shap_circle = exports.fcr_whiteboard_shap_arrow = exports.fcr_whiteboard_save = exports.fcr_whiteboard_ped_straightline = exports.fcr_whiteboard_ped_curve = void 0;
20
20
  var _chat_private = _interopRequireWildcard(require("./paths/chat_private"));
21
21
  exports.chat_private = _chat_private;
22
22
  var _chevron_right = _interopRequireWildcard(require("./paths/chevron_right"));
@@ -197,6 +197,8 @@ var _fcr_host = _interopRequireWildcard(require("./paths/fcr_host"));
197
197
  exports.fcr_host = _fcr_host;
198
198
  var _fcr_host2 = _interopRequireWildcard(require("./paths/fcr_host2"));
199
199
  exports.fcr_host2 = _fcr_host2;
200
+ var _fcr_host3 = _interopRequireWildcard(require("./paths/fcr_host3"));
201
+ exports.fcr_host3 = _fcr_host3;
200
202
  var _fcr_interpretation = _interopRequireWildcard(require("./paths/fcr_interpretation2"));
201
203
  exports.fcr_interpretation2 = _fcr_interpretation;
202
204
  var _fcr_jbh = _interopRequireWildcard(require("./paths/fcr_jbh"));
@@ -89,6 +89,7 @@ export declare enum FcrIconType {
89
89
  FCR_HOME_QUICKSTART = "fcr_home_quickstart",
90
90
  FCR_HOST = "fcr_host",
91
91
  FCR_HOST2 = "fcr_host2",
92
+ FCR_HOST3 = "fcr_host3",
92
93
  FCR_INTERPRETATION2 = "fcr_interpretation2",
93
94
  FCR_JBH = "fcr_jbh",
94
95
  FCR_JBH_INVITE = "fcr_jbh_invite",
@@ -96,6 +96,7 @@ var FcrIconType = exports.FcrIconType = /*#__PURE__*/function (FcrIconType) {
96
96
  FcrIconType["FCR_HOME_QUICKSTART"] = "fcr_home_quickstart";
97
97
  FcrIconType["FCR_HOST"] = "fcr_host";
98
98
  FcrIconType["FCR_HOST2"] = "fcr_host2";
99
+ FcrIconType["FCR_HOST3"] = "fcr_host3";
99
100
  FcrIconType["FCR_INTERPRETATION2"] = "fcr_interpretation2";
100
101
  FcrIconType["FCR_JBH"] = "fcr_jbh";
101
102
  FcrIconType["FCR_JBH_INVITE"] = "fcr_jbh_invite";
@@ -19,10 +19,8 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: true
20
20
  });
21
21
  exports.View = exports.MyFcrToolTip = void 0;
22
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
23
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
23
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
26
24
  require("./index.css");
27
25
  var _stateBarLogo = _interopRequireDefault(require("./assets/state-bar-logo.png"));
28
26
  var _stepGradient = _interopRequireDefault(require("./assets/step-gradient.svg"));
@@ -39,7 +37,7 @@ var _type = require("../icon/type");
39
37
  var _popover = require("../popover");
40
38
  var _dropMenu = require("../drop-menu");
41
39
  var _i18n = require("../../i18n");
42
- var _safelyRemoveChild = require("agora-foundation/lib/utilities/safely-remove-child");
40
+ var _copyText = require("../../utilities/copy-text");
43
41
  var _jsxRuntime = require("react/jsx-runtime");
44
42
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45
43
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -52,46 +50,13 @@ var MyFcrToolTip = exports.MyFcrToolTip = function MyFcrToolTip(props) {
52
50
  children: props.children
53
51
  });
54
52
  };
55
- function copyText(_x) {
56
- return _copyText.apply(this, arguments);
57
- }
58
- function _copyText() {
59
- _copyText = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
60
- var input, _t;
61
- return _regenerator["default"].wrap(function (_context) {
62
- while (1) switch (_context.prev = _context.next) {
63
- case 0:
64
- _context.prev = 0;
65
- _context.next = 1;
66
- return navigator.clipboard.writeText(text);
67
- case 1:
68
- _context.next = 3;
69
- break;
70
- case 2:
71
- _context.prev = 2;
72
- _t = _context["catch"](0);
73
- input = document.createElement('input');
74
- input.setAttribute('readonly', 'readonly');
75
- input.setAttribute('value', text);
76
- document.body.appendChild(input);
77
- input.select();
78
- document.execCommand('copy');
79
- (0, _safelyRemoveChild.safelyRemoveChild)(document.body, input);
80
- case 3:
81
- case "end":
82
- return _context.stop();
83
- }
84
- }, _callee, null, [[0, 2]]);
85
- }));
86
- return _copyText.apply(this, arguments);
87
- }
88
53
  var View = exports.View = function View(props) {
89
54
  var ns = (0, _useNamespace.useNamespace)('state-bar');
90
55
  var t = (0, _i18n.useI18n)();
91
56
  var meetingId = '234 223 223';
92
57
  var isFullScreen = false;
93
58
  var onMeetingIdCopy = function onMeetingIdCopy() {
94
- copyText(meetingId).then(function () {
59
+ (0, _copyText.copyText)(meetingId).then(function () {
95
60
  _toast.FcrToastApi.open({
96
61
  toastProps: {
97
62
  type: 'info',
@@ -0,0 +1 @@
1
+ export declare function copyText(text: string): Promise<void>;
@@ -0,0 +1,49 @@
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.copyText = copyText;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _safelyRemoveChild = require("agora-foundation/lib/utilities/safely-remove-child");
12
+ function copyText(_x) {
13
+ return _copyText.apply(this, arguments);
14
+ }
15
+ function _copyText() {
16
+ _copyText = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
17
+ var textarea, _t;
18
+ return _regenerator["default"].wrap(function (_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ if (!('clipboard' in navigator)) {
22
+ _context.next = 4;
23
+ break;
24
+ }
25
+ _context.prev = 1;
26
+ _context.next = 2;
27
+ return navigator.clipboard.writeText(text);
28
+ case 2:
29
+ return _context.abrupt("return");
30
+ case 3:
31
+ _context.prev = 3;
32
+ _t = _context["catch"](1);
33
+ console.error('navigator.clipboard.writeText catch error:', _t);
34
+ case 4:
35
+ textarea = document.createElement('textarea');
36
+ textarea.setAttribute('readonly', 'readonly');
37
+ textarea.value = text;
38
+ document.body.appendChild(textarea);
39
+ textarea.select();
40
+ document.execCommand('copy');
41
+ (0, _safelyRemoveChild.safelyRemoveChild)(document.body, textarea);
42
+ case 5:
43
+ case "end":
44
+ return _context.stop();
45
+ }
46
+ }, _callee, null, [[1, 3]]);
47
+ }));
48
+ return _copyText.apply(this, arguments);
49
+ }
@@ -0,0 +1,14 @@
1
+ export declare const useUnmount: (callback: () => void) => void;
2
+ export declare const LanguageName: Record<string, string>;
3
+ export declare const useTheme: () => readonly ["dark" | "light", () => void];
4
+ export declare const useWindowFocus: () => boolean;
5
+ export declare const useDelayedValue: <T>(realValue: T, delay: number) => T | null;
6
+ type DelayedMeasureResult = [
7
+ ref: (element: HTMLElement | null) => void,
8
+ bounds: {
9
+ width: number;
10
+ height: number;
11
+ }
12
+ ];
13
+ export declare const useDelayedMeasure: (delay?: number) => DelayedMeasureResult;
14
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
7
+ require("core-js/modules/es.string.iterator.js");
8
+ require("core-js/modules/es.weak-map.js");
9
+ require("core-js/modules/esnext.weak-map.delete-all.js");
10
+ require("core-js/modules/esnext.weak-map.emplace.js");
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ var _typeof = require("@babel/runtime/helpers/typeof");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.useWindowFocus = exports.useUnmount = exports.useTheme = exports.useDelayedValue = exports.useDelayedMeasure = exports.LanguageName = void 0;
18
+ require("core-js/modules/web.timers.js");
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
20
+ var _react = require("react");
21
+ var _reactUseMeasure = _interopRequireDefault(require("react-use-measure"));
22
+ var theme_ = _interopRequireWildcard(require("../theme/generate"));
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
+ // FIXME: Files in 'lib' are commonjs modules.
25
+ // There's no variable binding unless you reference the whole module.
26
+
27
+ var useUnmount = exports.useUnmount = function useUnmount(callback) {
28
+ (0, _react.useEffect)(function () {
29
+ return callback;
30
+ }, []);
31
+ };
32
+ var LanguageName = exports.LanguageName = {
33
+ zh: '简体中文',
34
+ en: 'English'
35
+ };
36
+ var useTheme = exports.useTheme = function useTheme() {
37
+ var _useState = (0, _react.useState)(theme_.themeMode),
38
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
+ theme = _useState2[0],
40
+ setTheme = _useState2[1];
41
+ var toggleTheme = (0, _react.useCallback)(function () {
42
+ var nextTheme = theme_.themeMode === 'light' ? 'dark' : 'light';
43
+ theme_.setThemeMode(nextTheme);
44
+ setTheme(theme_.themeMode);
45
+ theme_.generateTheme();
46
+ document.documentElement.style.colorScheme = nextTheme;
47
+ }, []);
48
+ return [theme, toggleTheme];
49
+ };
50
+ var useWindowFocus = exports.useWindowFocus = function useWindowFocus() {
51
+ var _useState3 = (0, _react.useState)(true),
52
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
53
+ focus = _useState4[0],
54
+ setFocus = _useState4[1];
55
+ (0, _react.useEffect)(function () {
56
+ var onFocus = function onFocus() {
57
+ return setFocus(true);
58
+ };
59
+ var onBlur = function onBlur() {
60
+ return setFocus(false);
61
+ };
62
+ window.addEventListener('focus', onFocus);
63
+ window.addEventListener('blur', onBlur);
64
+ return function () {
65
+ window.removeEventListener('focus', onFocus);
66
+ window.removeEventListener('blur', onBlur);
67
+ };
68
+ }, []);
69
+ return focus;
70
+ };
71
+ var useDelayedValue = exports.useDelayedValue = function useDelayedValue(realValue, delay) {
72
+ var _useState5 = (0, _react.useState)(null),
73
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
74
+ value = _useState6[0],
75
+ setValue = _useState6[1];
76
+ (0, _react.useEffect)(function () {
77
+ var timer = setTimeout(function () {
78
+ return setValue(realValue);
79
+ }, delay);
80
+ return function () {
81
+ return clearTimeout(timer);
82
+ };
83
+ }, [realValue, delay]);
84
+ return value;
85
+ };
86
+ // Delay `useMeasure()`'s refreshing, improve re-layout performance.
87
+ // Also a workaround for 'loop completed with undelivered notifications' error.
88
+ // Since we only need width and height, other properties are hidden from type.
89
+ var useDelayedMeasure = exports.useDelayedMeasure = function useDelayedMeasure() {
90
+ var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
91
+ var _useMeasure = (0, _reactUseMeasure["default"])(),
92
+ _useMeasure2 = (0, _slicedToArray2["default"])(_useMeasure, 2),
93
+ ref = _useMeasure2[0],
94
+ bounds_ = _useMeasure2[1];
95
+ var bounds = useDelayedValue(bounds_, delay) || {
96
+ width: 0,
97
+ height: 0
98
+ };
99
+ return [ref, bounds];
100
+ };
@@ -0,0 +1,4 @@
1
+ export declare const actionMute: (isMyself: boolean, hasAudio: boolean, muteAudioPermission: boolean, startAudioPermission: boolean, requestStartAudioPermission: boolean) => {
2
+ isShowActionAudio: boolean;
3
+ actionAudioTag: string;
4
+ };
@@ -0,0 +1,48 @@
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.actionMute = void 0;
8
+ var actionMute = exports.actionMute = function actionMute(isMyself, hasAudio, muteAudioPermission, startAudioPermission, requestStartAudioPermission) {
9
+ var isShowActionAudio = true;
10
+ var actionAudioTag = '';
11
+ if (isMyself) {
12
+ if (hasAudio) {
13
+ if (muteAudioPermission) {
14
+ isShowActionAudio = true;
15
+ actionAudioTag = 'fmt_participants_member_button_mute';
16
+ } else {
17
+ isShowActionAudio = false;
18
+ }
19
+ } else {
20
+ if (startAudioPermission) {
21
+ isShowActionAudio = true;
22
+ actionAudioTag = 'fmt_participants_member_button_unmute';
23
+ } else {
24
+ isShowActionAudio = false;
25
+ }
26
+ }
27
+ } else {
28
+ if (hasAudio) {
29
+ if (muteAudioPermission) {
30
+ isShowActionAudio = true;
31
+ actionAudioTag = 'fmt_participants_member_button_mute';
32
+ } else {
33
+ isShowActionAudio = false;
34
+ }
35
+ } else {
36
+ if (requestStartAudioPermission) {
37
+ actionAudioTag = 'fmt_attendies_options_applyunmute';
38
+ isShowActionAudio = true;
39
+ } else {
40
+ isShowActionAudio = false;
41
+ }
42
+ }
43
+ }
44
+ return {
45
+ isShowActionAudio: isShowActionAudio,
46
+ actionAudioTag: actionAudioTag
47
+ };
48
+ };
@@ -121,19 +121,29 @@
121
121
 
122
122
  .fcr-button-secondary-bordered {
123
123
  color: var(--fcr_ui_scene_icontext1);
124
- border: 0.5px solid var(--fcr_web_ui_scene_line4);
124
+ border: 0.5px solid var(--fcr_web_ui_scene_line4) !important;
125
125
  background: var(--fcr_web_ui_scene_fill2);
126
126
  }
127
- .fcr-button-secondary-bordered:not(:disabled):hover {
127
+
128
+ .fcr-button-secondary-bordered .fcr-button-icon-wrapper {
129
+ color: var(--fcr_ui_scene_icontext2);
130
+ }
131
+
132
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):hover {
128
133
  border: 0.5px solid var(--fcr_ui_scene_ramp_brand6);
129
134
  background: var(--fcr_web_ui_scene_hover);
130
135
  color: var(--fcr_web_ui_scene_mainicon2);
131
136
  }
132
- .fcr-button-secondary-bordered:not(:disabled):active {
137
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):active {
133
138
  border: 0.5px solid var(--fcr_ui_scene_ramp_brand6);
134
139
  background: var(--fcr_web_ui_scene_click);
135
140
  color: var(--fcr_web_ui_scene_mainicon2);
136
141
  }
142
+
143
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):hover .fcr-button-icon-wrapper,
144
+ .fcr-button-secondary-bordered:not(.fcr-button-disabled):active .fcr-button-icon-wrapper {
145
+ color: var(--fcr_web_ui_scene_mainicon2);
146
+ }
137
147
  /** gray button **/
138
148
 
139
149
  .fcr-button-gray {
@@ -116,7 +116,10 @@ export var FcrButton = function FcrButton(props) {
116
116
  className: classNames('fcr-button-icon fcr-button-posticon', {
117
117
  'fcr-button-loading': loading
118
118
  }),
119
- type: loading ? FcrIconType.FCR_BTN_LOADING : postIcon
119
+ type: loading ? FcrIconType.FCR_BTN_LOADING : postIcon,
120
+ colors: loading ? {
121
+ iconPrimary: 'white'
122
+ } : undefined
120
123
  }, postIconProps))
121
124
  })]
122
125
  }));
@@ -0,0 +1,42 @@
1
+ .fcr-login-confirm-dialog-content {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ flex-direction: column;
6
+ padding: 0px 20px 24px;
7
+ width: 320px;
8
+ }
9
+
10
+ .fcr-login-confirm-dialog-content img {
11
+ }
12
+
13
+ .fcr-login-confirm-dialog-title {
14
+ margin-top: 24px;
15
+ font-weight: 600;
16
+ font-size: 16px;
17
+ font-weight: 600;
18
+ font-size: 16px;
19
+ line-height: 100%;
20
+ text-align: center;
21
+ vertical-align: middle;
22
+ }
23
+
24
+ .fcr-login-confirm-dialog-desc {
25
+ margin-top: 12px;
26
+ font-weight: 400;
27
+ font-style: Regular;
28
+ font-size: 14px;
29
+ line-height: 130%;
30
+ letter-spacing: 0%;
31
+ text-align: center;
32
+ vertical-align: middle;
33
+ }
34
+
35
+ .fcr-login-confirm-dialog-btn {
36
+ margin-top: 20px;
37
+ width: 100%;
38
+ }
39
+
40
+ .fcr-login-confirm-dialog-content .fcr-button {
41
+ width: 100%;
42
+ }
@@ -2,6 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import "core-js/modules/web.timers.js";
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import { FcrButton } from '../button';
5
+ import './index.css';
5
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  export var LoginConfirmDialog = function LoginConfirmDialog(_ref) {
7
8
  var title = _ref.title,
@@ -33,21 +34,25 @@ export var LoginConfirmDialog = function LoginConfirmDialog(_ref) {
33
34
  };
34
35
  }, [countDown, isShowCoutDown]);
35
36
  return /*#__PURE__*/_jsxs("div", {
36
- className: "login-confirm-dialog-content",
37
+ className: "fcr-login-confirm-dialog-content",
37
38
  children: [showImg && /*#__PURE__*/_jsx("div", {
38
- className: "login-confirm-dialog-img",
39
+ className: "fcr-login-confirm-dialog-img",
39
40
  children: /*#__PURE__*/_jsx("img", {
41
+ style: {
42
+ width: 280,
43
+ height: 192
44
+ },
40
45
  src: imgSrc,
41
46
  alt: ""
42
47
  })
43
48
  }), title && /*#__PURE__*/_jsx("div", {
44
- className: "login-confirm-dialog-title",
49
+ className: "fcr-login-confirm-dialog-title",
45
50
  children: title
46
51
  }), /*#__PURE__*/_jsx("div", {
47
- className: "login-confirm-dialog-desc",
52
+ className: "fcr-login-confirm-dialog-desc",
48
53
  children: desc
49
54
  }), /*#__PURE__*/_jsx("div", {
50
- className: "login-confirm-dialog-btn",
55
+ className: "fcr-login-confirm-dialog-btn",
51
56
  children: /*#__PURE__*/_jsxs(FcrButton, {
52
57
  size: "S",
53
58
  shape: "rounded",
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export var path = function path(_ref) {
4
- var iconPrimary = _ref.iconPrimary;
4
+ var _ref$iconPrimary = _ref.iconPrimary,
5
+ iconPrimary = _ref$iconPrimary === void 0 ? 'white' : _ref$iconPrimary;
5
6
  return /*#__PURE__*/_jsxs("svg", {
6
7
  xmlns: "http://www.w3.org/2000/svg",
7
8
  width: "48",
@@ -23,11 +24,11 @@ export var path = function path(_ref) {
23
24
  gradientTransform: "translate(24 24) scale(10.1587)",
24
25
  children: [/*#__PURE__*/_jsx("stop", {
25
26
  offset: "0.892377",
26
- stopColor: "white",
27
+ stopColor: iconPrimary,
27
28
  stopOpacity: "0"
28
29
  }), /*#__PURE__*/_jsx("stop", {
29
30
  offset: "1",
30
- stopColor: "white"
31
+ stopColor: iconPrimary
31
32
  })]
32
33
  })
33
34
  })]
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export var path = function path(_ref) {
4
+ var _ref$iconPrimary = _ref.iconPrimary,
5
+ iconPrimary = _ref$iconPrimary === void 0 ? '444B71' : _ref$iconPrimary;
6
+ return /*#__PURE__*/_jsx("g", {
7
+ children: /*#__PURE__*/_jsx("path", {
8
+ d: "M19.3805 7.71538C19.3953 7.72074 19.4063 7.72788 19.4211 7.73324L19.4284 7.67428L19.3805 7.71538ZM4.57866 7.70644C4.58603 7.70287 4.59525 7.70108 4.60262 7.69572L4.57129 7.6707L4.57866 7.70644ZM18.7649 8.42297C18.6341 8.42297 18.5161 8.473 18.4295 8.55341C18.4239 8.55877 18.4221 8.55698 18.4239 8.54983L15.1856 11.382L12.5482 6.25909C12.4247 6.10006 12.2293 6 12.0082 6C11.7501 6 11.5253 6.14116 11.411 6.34665L8.81777 11.382L5.47625 8.4587C5.40621 8.42118 5.32511 8.39974 5.23849 8.39974C4.97124 8.39974 4.7556 8.61059 4.7556 8.86789C4.7556 8.88934 4.75191 8.90006 4.74454 8.90006L5.77851 16.3887C5.77851 16.3602 5.77667 16.3316 5.77298 16.3012C5.83565 16.8229 6.19874 17.2554 6.68716 17.4341C6.64292 17.418 6.59869 17.4055 6.55814 17.3983C7.5958 17.7753 9.63241 18.0201 11.9787 17.9987C14.336 17.979 16.391 17.6967 17.4434 17.2983C17.4047 17.3054 17.3642 17.3161 17.3199 17.3322C17.8084 17.1517 18.1714 16.7193 18.2341 16.1976C18.2267 16.2583 18.2267 16.3155 18.2304 16.3673L19.257 8.91793C19.2533 8.91435 19.2497 8.90363 19.2497 8.88755C19.2497 8.63382 19.034 8.42297 18.7649 8.42297Z",
9
+ fill: iconPrimary
10
+ })
11
+ });
12
+ };
13
+ export var viewBox = '0 0 24 24';
@@ -178,6 +178,8 @@ import * as _fcr_host from './paths/fcr_host';
178
178
  export { _fcr_host as fcr_host };
179
179
  import * as _fcr_host2 from './paths/fcr_host2';
180
180
  export { _fcr_host2 as fcr_host2 };
181
+ import * as _fcr_host3 from './paths/fcr_host3';
182
+ export { _fcr_host3 as fcr_host3 };
181
183
  import * as _fcr_interpretation from './paths/fcr_interpretation2';
182
184
  export { _fcr_interpretation as fcr_interpretation2 };
183
185
  import * as _fcr_jbh from './paths/fcr_jbh';
@@ -89,6 +89,7 @@ export var FcrIconType = /*#__PURE__*/function (FcrIconType) {
89
89
  FcrIconType["FCR_HOME_QUICKSTART"] = "fcr_home_quickstart";
90
90
  FcrIconType["FCR_HOST"] = "fcr_host";
91
91
  FcrIconType["FCR_HOST2"] = "fcr_host2";
92
+ FcrIconType["FCR_HOST3"] = "fcr_host3";
92
93
  FcrIconType["FCR_INTERPRETATION2"] = "fcr_interpretation2";
93
94
  FcrIconType["FCR_JBH"] = "fcr_jbh";
94
95
  FcrIconType["FCR_JBH_INVITE"] = "fcr_jbh_invite";
@@ -14,8 +14,6 @@ import "core-js/modules/esnext.iterator.for-each.js";
14
14
  import "core-js/modules/web.dom-collections.for-each.js";
15
15
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
16
16
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
17
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
18
- import _regeneratorRuntime from "@babel/runtime/regenerator";
19
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
19
  import './index.css';
@@ -34,7 +32,7 @@ import { FcrIconType } from '../icon/type';
34
32
  import { FcrPopover } from '../popover';
35
33
  import { FcrDropMenu } from '../drop-menu';
36
34
  import { useI18n } from '../../i18n';
37
- import { safelyRemoveChild } from 'agora-foundation/lib/utilities/safely-remove-child';
35
+ import { copyText } from '../../utilities/copy-text';
38
36
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
39
37
  export var MyFcrToolTip = function MyFcrToolTip(props) {
40
38
  return /*#__PURE__*/_jsx(FcrToolTip, {
@@ -45,39 +43,6 @@ export var MyFcrToolTip = function MyFcrToolTip(props) {
45
43
  children: props.children
46
44
  });
47
45
  };
48
- function copyText(_x) {
49
- return _copyText.apply(this, arguments);
50
- }
51
- function _copyText() {
52
- _copyText = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(text) {
53
- var input, _t;
54
- return _regeneratorRuntime.wrap(function (_context) {
55
- while (1) switch (_context.prev = _context.next) {
56
- case 0:
57
- _context.prev = 0;
58
- _context.next = 1;
59
- return navigator.clipboard.writeText(text);
60
- case 1:
61
- _context.next = 3;
62
- break;
63
- case 2:
64
- _context.prev = 2;
65
- _t = _context["catch"](0);
66
- input = document.createElement('input');
67
- input.setAttribute('readonly', 'readonly');
68
- input.setAttribute('value', text);
69
- document.body.appendChild(input);
70
- input.select();
71
- document.execCommand('copy');
72
- safelyRemoveChild(document.body, input);
73
- case 3:
74
- case "end":
75
- return _context.stop();
76
- }
77
- }, _callee, null, [[0, 2]]);
78
- }));
79
- return _copyText.apply(this, arguments);
80
- }
81
46
  export var View = function View(props) {
82
47
  var ns = useNamespace('state-bar');
83
48
  var t = useI18n();
@@ -0,0 +1,41 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { safelyRemoveChild } from 'agora-foundation/lib/utilities/safely-remove-child';
4
+ export function copyText(_x) {
5
+ return _copyText.apply(this, arguments);
6
+ }
7
+ function _copyText() {
8
+ _copyText = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(text) {
9
+ var textarea, _t;
10
+ return _regeneratorRuntime.wrap(function (_context) {
11
+ while (1) switch (_context.prev = _context.next) {
12
+ case 0:
13
+ if (!('clipboard' in navigator)) {
14
+ _context.next = 4;
15
+ break;
16
+ }
17
+ _context.prev = 1;
18
+ _context.next = 2;
19
+ return navigator.clipboard.writeText(text);
20
+ case 2:
21
+ return _context.abrupt("return");
22
+ case 3:
23
+ _context.prev = 3;
24
+ _t = _context["catch"](1);
25
+ console.error('navigator.clipboard.writeText catch error:', _t);
26
+ case 4:
27
+ textarea = document.createElement('textarea');
28
+ textarea.setAttribute('readonly', 'readonly');
29
+ textarea.value = text;
30
+ document.body.appendChild(textarea);
31
+ textarea.select();
32
+ document.execCommand('copy');
33
+ safelyRemoveChild(document.body, textarea);
34
+ case 5:
35
+ case "end":
36
+ return _context.stop();
37
+ }
38
+ }, _callee, null, [[1, 3]]);
39
+ }));
40
+ return _copyText.apply(this, arguments);
41
+ }
@@ -0,0 +1,82 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import "core-js/modules/web.timers.js";
3
+ import { useCallback, useEffect, useState } from 'react';
4
+ import useMeasure from 'react-use-measure';
5
+
6
+ // FIXME: Files in 'lib' are commonjs modules.
7
+ // There's no variable binding unless you reference the whole module.
8
+ import * as theme_ from '../theme/generate';
9
+ export var useUnmount = function useUnmount(callback) {
10
+ useEffect(function () {
11
+ return callback;
12
+ }, []);
13
+ };
14
+ export var LanguageName = {
15
+ zh: '简体中文',
16
+ en: 'English'
17
+ };
18
+ export var useTheme = function useTheme() {
19
+ var _useState = useState(theme_.themeMode),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ theme = _useState2[0],
22
+ setTheme = _useState2[1];
23
+ var toggleTheme = useCallback(function () {
24
+ var nextTheme = theme_.themeMode === 'light' ? 'dark' : 'light';
25
+ theme_.setThemeMode(nextTheme);
26
+ setTheme(theme_.themeMode);
27
+ theme_.generateTheme();
28
+ document.documentElement.style.colorScheme = nextTheme;
29
+ }, []);
30
+ return [theme, toggleTheme];
31
+ };
32
+ export var useWindowFocus = function useWindowFocus() {
33
+ var _useState3 = useState(true),
34
+ _useState4 = _slicedToArray(_useState3, 2),
35
+ focus = _useState4[0],
36
+ setFocus = _useState4[1];
37
+ useEffect(function () {
38
+ var onFocus = function onFocus() {
39
+ return setFocus(true);
40
+ };
41
+ var onBlur = function onBlur() {
42
+ return setFocus(false);
43
+ };
44
+ window.addEventListener('focus', onFocus);
45
+ window.addEventListener('blur', onBlur);
46
+ return function () {
47
+ window.removeEventListener('focus', onFocus);
48
+ window.removeEventListener('blur', onBlur);
49
+ };
50
+ }, []);
51
+ return focus;
52
+ };
53
+ export var useDelayedValue = function useDelayedValue(realValue, delay) {
54
+ var _useState5 = useState(null),
55
+ _useState6 = _slicedToArray(_useState5, 2),
56
+ value = _useState6[0],
57
+ setValue = _useState6[1];
58
+ useEffect(function () {
59
+ var timer = setTimeout(function () {
60
+ return setValue(realValue);
61
+ }, delay);
62
+ return function () {
63
+ return clearTimeout(timer);
64
+ };
65
+ }, [realValue, delay]);
66
+ return value;
67
+ };
68
+ // Delay `useMeasure()`'s refreshing, improve re-layout performance.
69
+ // Also a workaround for 'loop completed with undelivered notifications' error.
70
+ // Since we only need width and height, other properties are hidden from type.
71
+ export var useDelayedMeasure = function useDelayedMeasure() {
72
+ var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
73
+ var _useMeasure = useMeasure(),
74
+ _useMeasure2 = _slicedToArray(_useMeasure, 2),
75
+ ref = _useMeasure2[0],
76
+ bounds_ = _useMeasure2[1];
77
+ var bounds = useDelayedValue(bounds_, delay) || {
78
+ width: 0,
79
+ height: 0
80
+ };
81
+ return [ref, bounds];
82
+ };
@@ -0,0 +1,41 @@
1
+ export var actionMute = function actionMute(isMyself, hasAudio, muteAudioPermission, startAudioPermission, requestStartAudioPermission) {
2
+ var isShowActionAudio = true;
3
+ var actionAudioTag = '';
4
+ if (isMyself) {
5
+ if (hasAudio) {
6
+ if (muteAudioPermission) {
7
+ isShowActionAudio = true;
8
+ actionAudioTag = 'fmt_participants_member_button_mute';
9
+ } else {
10
+ isShowActionAudio = false;
11
+ }
12
+ } else {
13
+ if (startAudioPermission) {
14
+ isShowActionAudio = true;
15
+ actionAudioTag = 'fmt_participants_member_button_unmute';
16
+ } else {
17
+ isShowActionAudio = false;
18
+ }
19
+ }
20
+ } else {
21
+ if (hasAudio) {
22
+ if (muteAudioPermission) {
23
+ isShowActionAudio = true;
24
+ actionAudioTag = 'fmt_participants_member_button_mute';
25
+ } else {
26
+ isShowActionAudio = false;
27
+ }
28
+ } else {
29
+ if (requestStartAudioPermission) {
30
+ actionAudioTag = 'fmt_attendies_options_applyunmute';
31
+ isShowActionAudio = true;
32
+ } else {
33
+ isShowActionAudio = false;
34
+ }
35
+ }
36
+ }
37
+ return {
38
+ isShowActionAudio: isShowActionAudio,
39
+ actionAudioTag: actionAudioTag
40
+ };
41
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agora-ui-foundation",
3
- "version": "3.8.2",
3
+ "version": "3.9.0-alpha",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "lib",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@react-spring/web": "^9.7.3",
15
15
  "@use-gesture/react": "^10.3.1",
16
- "agora-foundation": "3.8.2",
16
+ "agora-foundation": "3.9.0-alpha",
17
17
  "classnames": "^2.5.1",
18
18
  "i18next": "^23.10.1",
19
19
  "normalize.css": "^8.0.1",
@@ -28,7 +28,8 @@
28
28
  "react-select": "5.8.0",
29
29
  "react-transition-group": "^4.4.2",
30
30
  "react-virtualized": "^9.22.5",
31
- "tinycolor2": "^1.6.0"
31
+ "tinycolor2": "^1.6.0",
32
+ "react-use-measure": "^2.1.1"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@babel/core": "^7.23.5",
@@ -52,7 +53,7 @@
52
53
  "@types/react-virtualized": "^9.21.30",
53
54
  "@types/tinycolor2": "^1.4.6",
54
55
  "@types/webpack-env": "^1.18.4",
55
- "agora-toolchain": "3.8.2",
56
+ "agora-toolchain": "3.9.0-alpha",
56
57
  "core-js": "^3.33.3",
57
58
  "eslint": "^9.0.0",
58
59
  "node-html-parser": "^6.1.13",