agora-ui-foundation 3.7.4 → 3.7.6

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.
@@ -14,8 +14,8 @@ var ScreenShare = exports.ScreenShare = function ScreenShare(_ref) {
14
14
  var id = _ref.id,
15
15
  order = _ref.order;
16
16
  var t = (0, _i18n.useI18n)();
17
- var title = t('fmt_screenshare_label_screenshare');
18
- var tooltip = t('fmt_screenshare_label_screenshare');
17
+ var title = t('fmt_screenshare_controlbar_security_list_participant_screenshare');
18
+ var tooltip = t('fmt_screenshare_controlbar_security_list_participant_screenshare');
19
19
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
20
20
  content: tooltip,
21
21
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
@@ -4,6 +4,7 @@ interface MoreOption {
4
4
  morePopoverContent?: ReactNode;
5
5
  visible?: boolean;
6
6
  onButtonClick?: () => void;
7
+ onVisibleChange?: (visible: boolean) => void;
7
8
  }
8
9
  export declare const More: (props: MoreOption) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -21,8 +21,10 @@ var More = exports.More = function More(props) {
21
21
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
22
22
  className: "share-action-nav__button share-action-nav__not-draggable share-action-nav__single-button",
23
23
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
24
+ trigger: "click",
24
25
  overlayClassName: "share-action-nav__popover",
25
26
  visible: props.visible,
27
+ onVisibleChange: props.onVisibleChange,
26
28
  content: props.morePopoverContent ? props.morePopoverContent : /*#__PURE__*/(0, _jsxRuntime.jsx)(MorePopoverContent, {}),
27
29
  overlayInnerStyle: {
28
30
  border: 0,
@@ -46,7 +46,7 @@
46
46
  border-radius: var(--fcr_cornerradius_xs);
47
47
  position: absolute;
48
48
  height: 100%;
49
- transition: 0.3s all;
49
+ transition: 0.3s left;
50
50
  }
51
51
 
52
52
  .fcr-tabs.fcr-fashion-tabs {
@@ -17,6 +17,41 @@ require("./index.css");
17
17
  var _icon = require("../icon");
18
18
  var _type = require("../icon/type");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
+ // 这里本来是用了useEffect,但是因为useEffect会在组件渲染后执行,所以会导致组件渲染后,元素尺寸变化不会立即生效
21
+ // 所以这里用了useLayoutEffect,确保元素尺寸变化立即生效
22
+ var useElementSize = function useElementSize(selector, dependency) {
23
+ var _useState = (0, _react.useState)({
24
+ left: 0,
25
+ width: 0
26
+ }),
27
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
28
+ size = _useState2[0],
29
+ setSize = _useState2[1];
30
+ var containerRef = (0, _react.useRef)(null);
31
+ (0, _react.useLayoutEffect)(function () {
32
+ var container = containerRef.current;
33
+ if (!container) return;
34
+ var updateSize = function updateSize() {
35
+ var el = container.querySelector(selector);
36
+ if ((el === null || el === void 0 ? void 0 : el.clientWidth) > 0) {
37
+ setSize({
38
+ left: el.offsetLeft,
39
+ width: el.clientWidth
40
+ });
41
+ }
42
+ };
43
+ updateSize();
44
+ var resizeObserver = new ResizeObserver(updateSize);
45
+ resizeObserver.observe(container);
46
+ return function () {
47
+ return resizeObserver.disconnect();
48
+ };
49
+ }, [selector, dependency]);
50
+ return {
51
+ size: size,
52
+ containerRef: containerRef
53
+ };
54
+ };
20
55
  var FcrTabs = exports.FcrTabs = function FcrTabs(_ref) {
21
56
  var _ref$items = _ref.items,
22
57
  items = _ref$items === void 0 ? [] : _ref$items,
@@ -24,23 +59,10 @@ var FcrTabs = exports.FcrTabs = function FcrTabs(_ref) {
24
59
  _ref$onChange = _ref.onChange,
25
60
  onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
26
61
  variant = _ref.variant;
27
- var _useState = (0, _react.useState)({}),
28
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
29
- indicatorStyle = _useState2[0],
30
- setIndicatorStyle = _useState2[1];
31
- var selectorRef = (0, _react.useRef)(null);
32
- (0, _react.useEffect)(function () {
33
- var _selectorRef$current;
34
- var el = (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.querySelector(".fcr-tabs__nav-item-".concat(activeKey));
35
- if (el) {
36
- var _ref2 = el,
37
- offsetLeft = _ref2.offsetLeft;
38
- setIndicatorStyle({
39
- left: offsetLeft,
40
- width: el.clientWidth
41
- });
42
- }
43
- }, [activeKey]);
62
+ // 使用自定义Hook监听元素尺寸变化
63
+ var _useElementSize = useElementSize(".fcr-tabs__nav-item-".concat(activeKey), activeKey),
64
+ indicatorStyle = _useElementSize.size,
65
+ containerRef = _useElementSize.containerRef;
44
66
  var cls = (0, _classnames["default"])('fcr-tabs', {
45
67
  'fcr-simple-tabs': variant === 'simple'
46
68
  });
@@ -48,10 +70,10 @@ var FcrTabs = exports.FcrTabs = function FcrTabs(_ref) {
48
70
  className: cls,
49
71
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
50
72
  className: "fcr-tabs__nav-list",
51
- ref: selectorRef,
52
- children: [items.map(function (_ref3) {
53
- var label = _ref3.label,
54
- key = _ref3.key;
73
+ ref: containerRef,
74
+ children: [items.map(function (_ref2) {
75
+ var label = _ref2.label,
76
+ key = _ref2.key;
55
77
  var cls = (0, _classnames["default"])("fcr-tabs__nav-item fcr-tabs__nav-item-".concat(key), {
56
78
  'fcr-tabs__nav-item--active': key === activeKey
57
79
  });
@@ -70,20 +92,20 @@ var FcrTabs = exports.FcrTabs = function FcrTabs(_ref) {
70
92
  })
71
93
  });
72
94
  };
73
- var FcrFashionTabs = exports.FcrFashionTabs = function FcrFashionTabs(_ref4) {
74
- var _ref4$items = _ref4.items,
75
- items = _ref4$items === void 0 ? [] : _ref4$items,
76
- activeKey = _ref4.activeKey,
77
- _ref4$onChange = _ref4.onChange,
78
- onChange = _ref4$onChange === void 0 ? function () {} : _ref4$onChange;
95
+ var FcrFashionTabs = exports.FcrFashionTabs = function FcrFashionTabs(_ref3) {
96
+ var _ref3$items = _ref3.items,
97
+ items = _ref3$items === void 0 ? [] : _ref3$items,
98
+ activeKey = _ref3.activeKey,
99
+ _ref3$onChange = _ref3.onChange,
100
+ onChange = _ref3$onChange === void 0 ? function () {} : _ref3$onChange;
79
101
  var size = 40;
80
102
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
81
103
  className: "fcr-tabs fcr-fashion-tabs",
82
104
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
105
  className: "fcr-tabs__nav-list",
84
- children: items.map(function (_ref5) {
85
- var label = _ref5.label,
86
- key = _ref5.key;
106
+ children: items.map(function (_ref4) {
107
+ var label = _ref4.label,
108
+ key = _ref4.key;
87
109
  var isActive = key === activeKey;
88
110
  var cls = (0, _classnames["default"])("fcr-tabs__nav-item fcr-tabs__nav-item-".concat(key), {
89
111
  'fcr-tabs__nav-item--active': isActive
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agora-ui-foundation",
3
- "version": "3.7.4",
3
+ "version": "3.7.6",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "lib",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@react-spring/web": "^9.7.3",
14
14
  "@use-gesture/react": "^10.3.1",
15
- "agora-foundation": "~3.7.4",
15
+ "agora-foundation": "~3.7.6",
16
16
  "classnames": "^2.5.1",
17
17
  "i18next": "^23.10.1",
18
18
  "normalize.css": "^8.0.1",
@@ -51,7 +51,7 @@
51
51
  "@types/react-virtualized": "^9.21.30",
52
52
  "@types/tinycolor2": "^1.4.6",
53
53
  "@types/webpack-env": "^1.18.4",
54
- "agora-toolchain": "~3.7.4",
54
+ "agora-toolchain": "~3.7.6",
55
55
  "core-js": "^3.33.3",
56
56
  "eslint": "^9.0.0",
57
57
  "node-html-parser": "^6.1.13",
@@ -0,0 +1,52 @@
1
+ diff --git a/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js b/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
2
+ index 29403d9..bb006c1 100644
3
+ --- a/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
4
+ +++ b/node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js
5
+ @@ -32,7 +32,9 @@ function createDetectElementResize(nonce, hostWindow) {
6
+ var attachEvent = typeof _window.document !== 'undefined' && _window.document.attachEvent;
7
+ if (!attachEvent) {
8
+ var requestFrame = function () {
9
+ - var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {
10
+ + var raf =
11
+ + // _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame ||
12
+ + function (fn) {
13
+ return _window.setTimeout(fn, 20);
14
+ };
15
+ return function (fn) {
16
+ @@ -40,7 +42,9 @@ function createDetectElementResize(nonce, hostWindow) {
17
+ };
18
+ }();
19
+ var cancelFrame = function () {
20
+ - var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;
21
+ + var cancel =
22
+ + // _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame ||
23
+ + _window.clearTimeout;
24
+ return function (id) {
25
+ return cancel(id);
26
+ };
27
+ diff --git a/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js b/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
28
+ index 16fda9a..0c72bf0 100644
29
+ --- a/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
30
+ +++ b/node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
31
+ @@ -26,7 +26,9 @@ export default function createDetectElementResize(nonce, hostWindow) {
32
+ var attachEvent = typeof _window.document !== 'undefined' && _window.document.attachEvent;
33
+ if (!attachEvent) {
34
+ var requestFrame = function () {
35
+ - var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {
36
+ + var raf =
37
+ + // _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame ||
38
+ + function (fn) {
39
+ return _window.setTimeout(fn, 20);
40
+ };
41
+ return function (fn) {
42
+ @@ -34,7 +36,9 @@ export default function createDetectElementResize(nonce, hostWindow) {
43
+ };
44
+ }();
45
+ var cancelFrame = function () {
46
+ - var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;
47
+ + var cancel =
48
+ + // _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame ||
49
+ + _window.clearTimeout;
50
+ return function (id) {
51
+ return cancel(id);
52
+ };