@oceanbase/ui 1.0.0-alpha.19 → 1.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui.min.js +1 -1
- package/es/Action/Group.d.ts +1 -2
- package/es/Action/Group.js +253 -90
- package/es/BackgroundTaskManager/index.d.ts +2 -0
- package/es/BackgroundTaskManager/index.js +25 -4
- package/es/BasicLayout/index.d.ts +3 -1
- package/es/BasicLayout/index.js +62 -24
- package/es/BasicLayout/locale/en-US.d.ts +3 -0
- package/es/BasicLayout/locale/en-US.js +4 -1
- package/es/BasicLayout/locale/ja-JP.d.ts +3 -0
- package/es/BasicLayout/locale/ja-JP.js +4 -1
- package/es/BasicLayout/locale/zh-CN.d.ts +3 -0
- package/es/BasicLayout/locale/zh-CN.js +4 -1
- package/es/BasicLayout/locale/zh-TW.d.ts +3 -0
- package/es/BasicLayout/locale/zh-TW.js +4 -1
- package/es/BasicLayout/style/index.js +10 -2
- package/es/BatchOperationBar/index.js +15 -4
- package/es/BatchOperationBar/locale/en-US.d.ts +1 -0
- package/es/BatchOperationBar/locale/en-US.js +2 -1
- package/es/BatchOperationBar/locale/ja-JP.d.ts +1 -0
- package/es/BatchOperationBar/locale/ja-JP.js +2 -1
- package/es/BatchOperationBar/locale/zh-CN.d.ts +1 -0
- package/es/BatchOperationBar/locale/zh-CN.js +2 -1
- package/es/BatchOperationBar/locale/zh-TW.d.ts +1 -0
- package/es/BatchOperationBar/locale/zh-TW.js +2 -1
- package/es/BatchOperationBar/style/index.js +6 -1
- package/es/DateRanger/Ranger.js +17 -5
- package/es/DateRanger/locale/en-US.d.ts +2 -0
- package/es/DateRanger/locale/en-US.js +3 -1
- package/es/DateRanger/locale/ja-JP.d.ts +2 -0
- package/es/DateRanger/locale/ja-JP.js +3 -1
- package/es/DateRanger/locale/zh-CN.d.ts +2 -0
- package/es/DateRanger/locale/zh-CN.js +3 -1
- package/es/DateRanger/locale/zh-TW.d.ts +2 -0
- package/es/DateRanger/locale/zh-TW.js +3 -1
- package/es/Dialog/index.d.ts +5 -0
- package/es/Dialog/index.js +77 -14
- package/es/Dialog/locale/en-US.d.ts +5 -0
- package/es/Dialog/locale/en-US.js +6 -1
- package/es/Dialog/locale/ja-JP.d.ts +5 -0
- package/es/Dialog/locale/ja-JP.js +6 -1
- package/es/Dialog/locale/zh-CN.d.ts +5 -0
- package/es/Dialog/locale/zh-CN.js +6 -1
- package/es/Dialog/locale/zh-TW.d.ts +5 -0
- package/es/Dialog/locale/zh-TW.js +6 -1
- package/es/Dialog/style/index.js +24 -5
- package/es/DocDialog/index.js +4 -2
- package/es/DocDialog/locale/en-US.d.ts +3 -1
- package/es/DocDialog/locale/en-US.js +3 -1
- package/es/DocDialog/locale/ja-JP.d.ts +3 -1
- package/es/DocDialog/locale/ja-JP.js +3 -1
- package/es/DocDialog/locale/zh-CN.d.ts +3 -1
- package/es/DocDialog/locale/zh-CN.js +3 -1
- package/es/DocDialog/locale/zh-TW.d.ts +3 -1
- package/es/DocDialog/locale/zh-TW.js +3 -1
- package/es/FooterToolbar/index.d.ts +7 -4
- package/es/FooterToolbar/index.js +27 -11
- package/es/FooterToolbar/locale/en-US.d.ts +4 -0
- package/es/FooterToolbar/locale/en-US.js +3 -0
- package/es/FooterToolbar/locale/ja-JP.d.ts +4 -0
- package/es/FooterToolbar/locale/ja-JP.js +3 -0
- package/es/FooterToolbar/locale/zh-CN.d.ts +4 -0
- package/es/FooterToolbar/locale/zh-CN.js +3 -0
- package/es/FooterToolbar/locale/zh-TW.d.ts +4 -0
- package/es/FooterToolbar/locale/zh-TW.js +3 -0
- package/es/FullscreenBox/index.js +18 -10
- package/es/FullscreenBox/locale/en-US.d.ts +4 -1
- package/es/FullscreenBox/locale/en-US.js +4 -1
- package/es/FullscreenBox/locale/ja-JP.d.ts +4 -1
- package/es/FullscreenBox/locale/ja-JP.js +4 -1
- package/es/FullscreenBox/locale/zh-CN.d.ts +4 -1
- package/es/FullscreenBox/locale/zh-CN.js +4 -1
- package/es/FullscreenBox/locale/zh-TW.d.ts +4 -1
- package/es/FullscreenBox/locale/zh-TW.js +4 -1
- package/es/FullscreenBox/style/index.js +32 -11
- package/es/Highlight/index.js +9 -2
- package/es/Highlight/locale/en-US.d.ts +2 -0
- package/es/Highlight/locale/en-US.js +3 -1
- package/es/Highlight/locale/ja-JP.d.ts +2 -0
- package/es/Highlight/locale/ja-JP.js +3 -1
- package/es/Highlight/locale/zh-CN.d.ts +2 -0
- package/es/Highlight/locale/zh-CN.js +3 -1
- package/es/Highlight/locale/zh-TW.d.ts +2 -0
- package/es/Highlight/locale/zh-TW.js +3 -1
- package/es/LightFilter/index.d.ts +6 -2
- package/es/LightFilter/index.js +24 -8
- package/es/LightFilter/locale/en-US.d.ts +4 -0
- package/es/LightFilter/locale/en-US.js +3 -0
- package/es/LightFilter/locale/ja-JP.d.ts +4 -0
- package/es/LightFilter/locale/ja-JP.js +3 -0
- package/es/LightFilter/locale/zh-CN.d.ts +4 -0
- package/es/LightFilter/locale/zh-CN.js +3 -0
- package/es/LightFilter/locale/zh-TW.d.ts +4 -0
- package/es/LightFilter/locale/zh-TW.js +3 -0
- package/es/NavMenu/index.d.ts +5 -2
- package/es/NavMenu/index.js +13 -3
- package/es/NavMenu/locale/en-US.d.ts +4 -0
- package/es/NavMenu/locale/en-US.js +3 -0
- package/es/NavMenu/locale/ja-JP.d.ts +4 -0
- package/es/NavMenu/locale/ja-JP.js +3 -0
- package/es/NavMenu/locale/zh-CN.d.ts +4 -0
- package/es/NavMenu/locale/zh-CN.js +3 -0
- package/es/NavMenu/locale/zh-TW.d.ts +4 -0
- package/es/NavMenu/locale/zh-TW.js +3 -0
- package/es/Password/Content.d.ts +2 -0
- package/es/Password/Content.js +11 -3
- package/es/Password/index.d.ts +1 -0
- package/es/Password/index.js +14 -9
- package/es/Password/locale/en-US.d.ts +1 -0
- package/es/Password/locale/en-US.js +2 -1
- package/es/Password/locale/ja-JP.d.ts +1 -0
- package/es/Password/locale/ja-JP.js +1 -0
- package/es/Password/locale/zh-CN.d.ts +1 -0
- package/es/Password/locale/zh-CN.js +1 -0
- package/es/Password/locale/zh-TW.d.ts +1 -0
- package/es/Password/locale/zh-TW.js +2 -1
- package/es/SideTip/Dragger.js +2 -1
- package/es/SideTip/index.js +28 -7
- package/es/SideTip/locale/en-US.d.ts +4 -1
- package/es/SideTip/locale/en-US.js +4 -1
- package/es/SideTip/locale/ja-JP.d.ts +4 -1
- package/es/SideTip/locale/ja-JP.js +4 -1
- package/es/SideTip/locale/zh-CN.d.ts +4 -1
- package/es/SideTip/locale/zh-CN.js +4 -1
- package/es/SideTip/locale/zh-TW.d.ts +4 -1
- package/es/SideTip/locale/zh-TW.js +4 -1
- package/es/SideTip/style/index.js +10 -1
- package/es/TagSelect/Group.js +6 -2
- package/es/TagSelect/Item.js +2 -1
- package/es/assets/logo/oceanbase_logo.svg +45 -29
- package/es/assets/logo/oceanbase_logo_dark.svg +45 -29
- package/es/assets/logo/oceanbase_watermark.svg +45 -31
- package/es/locale/en-US.js +6 -0
- package/es/locale/ja-JP.js +6 -0
- package/es/locale/zh-CN.js +6 -0
- package/es/locale/zh-TW.js +6 -0
- package/lib/Action/Group.d.ts +1 -2
- package/lib/Action/Group.js +217 -92
- package/lib/BackgroundTaskManager/index.d.ts +2 -0
- package/lib/BackgroundTaskManager/index.js +23 -4
- package/lib/BasicLayout/index.d.ts +3 -1
- package/lib/BasicLayout/index.js +51 -17
- package/lib/BasicLayout/locale/en-US.d.ts +3 -0
- package/lib/BasicLayout/locale/en-US.js +4 -1
- package/lib/BasicLayout/locale/ja-JP.d.ts +3 -0
- package/lib/BasicLayout/locale/ja-JP.js +4 -1
- package/lib/BasicLayout/locale/zh-CN.d.ts +3 -0
- package/lib/BasicLayout/locale/zh-CN.js +4 -1
- package/lib/BasicLayout/locale/zh-TW.d.ts +3 -0
- package/lib/BasicLayout/locale/zh-TW.js +4 -1
- package/lib/BasicLayout/style/index.js +9 -0
- package/lib/BatchOperationBar/index.js +15 -4
- package/lib/BatchOperationBar/locale/en-US.d.ts +1 -0
- package/lib/BatchOperationBar/locale/en-US.js +2 -1
- package/lib/BatchOperationBar/locale/ja-JP.d.ts +1 -0
- package/lib/BatchOperationBar/locale/ja-JP.js +2 -1
- package/lib/BatchOperationBar/locale/zh-CN.d.ts +1 -0
- package/lib/BatchOperationBar/locale/zh-CN.js +2 -1
- package/lib/BatchOperationBar/locale/zh-TW.d.ts +1 -0
- package/lib/BatchOperationBar/locale/zh-TW.js +2 -1
- package/lib/BatchOperationBar/style/index.js +6 -1
- package/lib/DateRanger/Ranger.js +17 -5
- package/lib/DateRanger/locale/en-US.d.ts +2 -0
- package/lib/DateRanger/locale/en-US.js +2 -0
- package/lib/DateRanger/locale/ja-JP.d.ts +2 -0
- package/lib/DateRanger/locale/ja-JP.js +2 -0
- package/lib/DateRanger/locale/zh-CN.d.ts +2 -0
- package/lib/DateRanger/locale/zh-CN.js +2 -0
- package/lib/DateRanger/locale/zh-TW.d.ts +2 -0
- package/lib/DateRanger/locale/zh-TW.js +2 -0
- package/lib/Dialog/index.d.ts +5 -0
- package/lib/Dialog/index.js +71 -13
- package/lib/Dialog/locale/en-US.d.ts +5 -0
- package/lib/Dialog/locale/en-US.js +6 -1
- package/lib/Dialog/locale/ja-JP.d.ts +5 -0
- package/lib/Dialog/locale/ja-JP.js +6 -1
- package/lib/Dialog/locale/zh-CN.d.ts +5 -0
- package/lib/Dialog/locale/zh-CN.js +6 -1
- package/lib/Dialog/locale/zh-TW.d.ts +5 -0
- package/lib/Dialog/locale/zh-TW.js +6 -1
- package/lib/Dialog/style/index.js +23 -3
- package/lib/DocDialog/index.js +4 -2
- package/lib/DocDialog/locale/en-US.d.ts +3 -1
- package/lib/DocDialog/locale/en-US.js +3 -1
- package/lib/DocDialog/locale/ja-JP.d.ts +3 -1
- package/lib/DocDialog/locale/ja-JP.js +3 -1
- package/lib/DocDialog/locale/zh-CN.d.ts +3 -1
- package/lib/DocDialog/locale/zh-CN.js +3 -1
- package/lib/DocDialog/locale/zh-TW.d.ts +3 -1
- package/lib/DocDialog/locale/zh-TW.js +3 -1
- package/lib/FooterToolbar/index.d.ts +7 -4
- package/lib/FooterToolbar/index.js +27 -11
- package/lib/FooterToolbar/locale/en-US.d.ts +4 -0
- package/lib/FooterToolbar/locale/en-US.js +9 -0
- package/lib/FooterToolbar/locale/ja-JP.d.ts +4 -0
- package/lib/FooterToolbar/locale/ja-JP.js +9 -0
- package/lib/FooterToolbar/locale/zh-CN.d.ts +4 -0
- package/lib/FooterToolbar/locale/zh-CN.js +9 -0
- package/lib/FooterToolbar/locale/zh-TW.d.ts +4 -0
- package/lib/FooterToolbar/locale/zh-TW.js +9 -0
- package/lib/FullscreenBox/index.js +19 -11
- package/lib/FullscreenBox/locale/en-US.d.ts +4 -1
- package/lib/FullscreenBox/locale/en-US.js +4 -1
- package/lib/FullscreenBox/locale/ja-JP.d.ts +4 -1
- package/lib/FullscreenBox/locale/ja-JP.js +4 -1
- package/lib/FullscreenBox/locale/zh-CN.d.ts +4 -1
- package/lib/FullscreenBox/locale/zh-CN.js +4 -1
- package/lib/FullscreenBox/locale/zh-TW.d.ts +4 -1
- package/lib/FullscreenBox/locale/zh-TW.js +4 -1
- package/lib/FullscreenBox/style/index.js +33 -11
- package/lib/Highlight/index.js +9 -2
- package/lib/Highlight/locale/en-US.d.ts +2 -0
- package/lib/Highlight/locale/en-US.js +3 -1
- package/lib/Highlight/locale/ja-JP.d.ts +2 -0
- package/lib/Highlight/locale/ja-JP.js +3 -1
- package/lib/Highlight/locale/zh-CN.d.ts +2 -0
- package/lib/Highlight/locale/zh-CN.js +3 -1
- package/lib/Highlight/locale/zh-TW.d.ts +2 -0
- package/lib/Highlight/locale/zh-TW.js +3 -1
- package/lib/LightFilter/index.d.ts +6 -2
- package/lib/LightFilter/index.js +25 -8
- package/lib/LightFilter/locale/en-US.d.ts +4 -0
- package/lib/LightFilter/locale/en-US.js +9 -0
- package/lib/LightFilter/locale/ja-JP.d.ts +4 -0
- package/lib/LightFilter/locale/ja-JP.js +9 -0
- package/lib/LightFilter/locale/zh-CN.d.ts +4 -0
- package/lib/LightFilter/locale/zh-CN.js +9 -0
- package/lib/LightFilter/locale/zh-TW.d.ts +4 -0
- package/lib/LightFilter/locale/zh-TW.js +9 -0
- package/lib/NavMenu/index.d.ts +5 -2
- package/lib/NavMenu/index.js +12 -3
- package/lib/NavMenu/locale/en-US.d.ts +4 -0
- package/lib/NavMenu/locale/en-US.js +9 -0
- package/lib/NavMenu/locale/ja-JP.d.ts +4 -0
- package/lib/NavMenu/locale/ja-JP.js +9 -0
- package/lib/NavMenu/locale/zh-CN.d.ts +4 -0
- package/lib/NavMenu/locale/zh-CN.js +9 -0
- package/lib/NavMenu/locale/zh-TW.d.ts +4 -0
- package/lib/NavMenu/locale/zh-TW.js +9 -0
- package/lib/Password/Content.d.ts +2 -0
- package/lib/Password/Content.js +11 -3
- package/lib/Password/index.d.ts +1 -0
- package/lib/Password/index.js +13 -5
- package/lib/Password/locale/en-US.d.ts +1 -0
- package/lib/Password/locale/en-US.js +2 -1
- package/lib/Password/locale/ja-JP.d.ts +1 -0
- package/lib/Password/locale/ja-JP.js +1 -0
- package/lib/Password/locale/zh-CN.d.ts +1 -0
- package/lib/Password/locale/zh-CN.js +1 -0
- package/lib/Password/locale/zh-TW.d.ts +1 -0
- package/lib/Password/locale/zh-TW.js +2 -1
- package/lib/SideTip/Dragger.js +1 -1
- package/lib/SideTip/index.js +28 -7
- package/lib/SideTip/locale/en-US.d.ts +4 -1
- package/lib/SideTip/locale/en-US.js +4 -1
- package/lib/SideTip/locale/ja-JP.d.ts +4 -1
- package/lib/SideTip/locale/ja-JP.js +4 -1
- package/lib/SideTip/locale/zh-CN.d.ts +4 -1
- package/lib/SideTip/locale/zh-CN.js +4 -1
- package/lib/SideTip/locale/zh-TW.d.ts +4 -1
- package/lib/SideTip/locale/zh-TW.js +4 -1
- package/lib/SideTip/style/index.js +9 -0
- package/lib/TagSelect/Group.js +5 -1
- package/lib/TagSelect/Item.js +1 -1
- package/lib/assets/logo/oceanbase_logo.svg +45 -29
- package/lib/assets/logo/oceanbase_logo_dark.svg +45 -29
- package/lib/assets/logo/oceanbase_watermark.svg +45 -31
- package/lib/locale/en-US.js +24 -18
- package/lib/locale/ja-JP.js +24 -18
- package/lib/locale/zh-CN.js +25 -19
- package/lib/locale/zh-TW.js +21 -15
- package/package.json +4 -4
package/es/Action/Group.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ButtonSize } from '@oceanbase/design/es/button';
|
|
3
|
-
import type { BaseProps } from './Item';
|
|
4
3
|
export interface GroupProps {
|
|
5
4
|
prefixCls?: string;
|
|
6
5
|
size?: number;
|
|
7
6
|
dropDownPlacement?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
|
|
8
|
-
children: React.
|
|
7
|
+
children: React.ReactNode;
|
|
9
8
|
shouldVisible?: (key: string) => boolean;
|
|
10
9
|
shouldDisabled?: (key: string) => boolean;
|
|
11
10
|
enableLoading?: boolean;
|
package/es/Action/Group.js
CHANGED
|
@@ -5,8 +5,11 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
7
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
11
|
import React, { useContext } from 'react';
|
|
9
|
-
import { Button, Dropdown, Menu, Space, Tooltip, Typography, ConfigProvider } from '@oceanbase/design';
|
|
12
|
+
import { Button, Dropdown, Drawer, Menu, Modal, Space, Tooltip, Typography, ConfigProvider } from '@oceanbase/design';
|
|
10
13
|
import { EllipsisOutlined, LoadingOutlined } from '@oceanbase/icons';
|
|
11
14
|
import { isBoolean, max, omit } from 'lodash';
|
|
12
15
|
import useStyle from "./style";
|
|
@@ -34,10 +37,34 @@ var getOrder = function getOrder(_ref) {
|
|
|
34
37
|
/**
|
|
35
38
|
* 判断是否是 Action 组件(Action.Button 或 Action.Link)
|
|
36
39
|
*/
|
|
40
|
+
var getActionDisplayName = function getActionDisplayName(element) {
|
|
41
|
+
var _element$type;
|
|
42
|
+
return (_element$type = element.type) === null || _element$type === void 0 ? void 0 : _element$type.__DISPLAY_NAME;
|
|
43
|
+
};
|
|
37
44
|
var isActionComponent = function isActionComponent(element) {
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
var name = getActionDisplayName(element);
|
|
46
|
+
return name === 'button' || name === 'link';
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/** 不向内部查找 Action:与操作列同级的 Modal/Drawer 等应整体忽略 */
|
|
50
|
+
var isOpaqueToActionSearch = function isOpaqueToActionSearch(element) {
|
|
51
|
+
var t = element.type;
|
|
52
|
+
return t === Modal || t === Drawer;
|
|
53
|
+
};
|
|
54
|
+
var REACT_HOOKS_IN_SOURCE = /\buse(?:State|Effect|Reducer|Ref|Context|Memo|Callback|LayoutEffect|ImperativeHandle|DeferredValue|SyncExternalStore|Insertion|Id)\b/;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 粗略判断函数组件是否可能使用 Hooks。含 Hooks 的不能在 Group 渲染阶段同步调用,需按「函数子树」整体参与折叠。
|
|
58
|
+
*/
|
|
59
|
+
var isLikelyUsingReactHooks = function isLikelyUsingReactHooks(fn) {
|
|
60
|
+
return REACT_HOOKS_IN_SOURCE.test(Function.prototype.toString.call(fn));
|
|
61
|
+
};
|
|
62
|
+
var isClassComponent = function isClassComponent(type) {
|
|
63
|
+
if (typeof type !== 'function') {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
var proto = type.prototype;
|
|
67
|
+
return !!(proto && (proto.isReactComponent || proto.render));
|
|
41
68
|
};
|
|
42
69
|
|
|
43
70
|
/**
|
|
@@ -50,6 +77,9 @@ var findActionComponent = function findActionComponent(element) {
|
|
|
50
77
|
if (! /*#__PURE__*/React.isValidElement(element)) {
|
|
51
78
|
return null;
|
|
52
79
|
}
|
|
80
|
+
if (isOpaqueToActionSearch(element)) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
53
83
|
if (isActionComponent(element)) {
|
|
54
84
|
return {
|
|
55
85
|
action: element,
|
|
@@ -61,12 +91,16 @@ var findActionComponent = function findActionComponent(element) {
|
|
|
61
91
|
if (depth > 10) {
|
|
62
92
|
return null;
|
|
63
93
|
}
|
|
64
|
-
|
|
65
|
-
// 如果有 children,递归查找
|
|
66
94
|
var elementChildren = (_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props.children;
|
|
67
|
-
if (elementChildren) {
|
|
68
|
-
|
|
69
|
-
|
|
95
|
+
if (elementChildren == null) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
var childArray = React.Children.toArray(elementChildren).filter(React.isValidElement);
|
|
99
|
+
var _iterator = _createForOfIteratorHelper(childArray),
|
|
100
|
+
_step;
|
|
101
|
+
try {
|
|
102
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
103
|
+
var child = _step.value;
|
|
70
104
|
var result = findActionComponent(child, depth + 1);
|
|
71
105
|
if (result) {
|
|
72
106
|
return {
|
|
@@ -75,9 +109,81 @@ var findActionComponent = function findActionComponent(element) {
|
|
|
75
109
|
};
|
|
76
110
|
}
|
|
77
111
|
}
|
|
112
|
+
} catch (err) {
|
|
113
|
+
_iterator.e(err);
|
|
114
|
+
} finally {
|
|
115
|
+
_iterator.f();
|
|
78
116
|
}
|
|
79
117
|
return null;
|
|
80
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* 扁平化 Fragment,过滤 null / false。
|
|
121
|
+
* - Action(及可解析的外包)→ 操作位
|
|
122
|
+
* - 无 Hooks 的函数组件 → 同步求值后递归展开(如 () => <Action.Button />)
|
|
123
|
+
* - 含 Hooks 的函数组件 → 整体占 1 位
|
|
124
|
+
* - Modal / Drawer → 透传挂载,不占折叠位
|
|
125
|
+
*/
|
|
126
|
+
var normalizeActionGroupPieces = function normalizeActionGroupPieces(node) {
|
|
127
|
+
var out = [];
|
|
128
|
+
React.Children.forEach(node, function (child) {
|
|
129
|
+
if (child == null || typeof child === 'boolean') {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (child.type === React.Fragment) {
|
|
136
|
+
normalizeActionGroupPieces(child.props.children).forEach(function (p) {
|
|
137
|
+
return out.push(p);
|
|
138
|
+
});
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (findActionComponent(child)) {
|
|
142
|
+
out.push({
|
|
143
|
+
kind: 'action',
|
|
144
|
+
el: child
|
|
145
|
+
});
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (isOpaqueToActionSearch(child)) {
|
|
149
|
+
out.push({
|
|
150
|
+
kind: 'passthrough',
|
|
151
|
+
el: child
|
|
152
|
+
});
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
var t = child.type;
|
|
156
|
+
if (typeof t === 'function' && !isClassComponent(t)) {
|
|
157
|
+
if (isLikelyUsingReactHooks(t)) {
|
|
158
|
+
out.push({
|
|
159
|
+
kind: 'function-child',
|
|
160
|
+
el: child
|
|
161
|
+
});
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
try {
|
|
165
|
+
var rendered = t(child.props);
|
|
166
|
+
if (rendered == null) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
normalizeActionGroupPieces(rendered).forEach(function (p) {
|
|
170
|
+
return out.push(p);
|
|
171
|
+
});
|
|
172
|
+
} catch (_unused) {
|
|
173
|
+
out.push({
|
|
174
|
+
kind: 'function-child',
|
|
175
|
+
el: child
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
out.push({
|
|
181
|
+
kind: 'function-child',
|
|
182
|
+
el: child
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
return out;
|
|
186
|
+
};
|
|
81
187
|
|
|
82
188
|
/**
|
|
83
189
|
* 递归克隆元素树,将 newProps 应用到最内层的 Action 组件
|
|
@@ -140,35 +246,79 @@ export default (function (_ref2) {
|
|
|
140
246
|
var prefixCls = getPrefixCls('action', customizePrefixCls);
|
|
141
247
|
var _useStyle = useStyle(prefixCls),
|
|
142
248
|
wrapSSR = _useStyle.wrapSSR;
|
|
143
|
-
var
|
|
144
|
-
|
|
145
|
-
|
|
249
|
+
var childPieces = normalizeActionGroupPieces(children);
|
|
250
|
+
var passthroughChildren = childPieces.filter(function (p) {
|
|
251
|
+
return p.kind === 'passthrough';
|
|
252
|
+
}).map(function (p) {
|
|
253
|
+
return p.el;
|
|
254
|
+
});
|
|
255
|
+
var slotPieces = childPieces.filter(function (p) {
|
|
256
|
+
return p.kind === 'action' || p.kind === 'function-child';
|
|
257
|
+
});
|
|
258
|
+
var visibleSlots = slotPieces.filter(function (p) {
|
|
259
|
+
var _findActionComponent;
|
|
260
|
+
if (p.kind === 'function-child') {
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
var c = p.el;
|
|
264
|
+
var inner = (_findActionComponent = findActionComponent(c)) === null || _findActionComponent === void 0 ? void 0 : _findActionComponent.action;
|
|
265
|
+
if (!inner) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
var bp = inner.props;
|
|
269
|
+
if (isBoolean(bp.visible) && shouldVisible) {
|
|
270
|
+
return bp.visible && shouldVisible(c.key);
|
|
271
|
+
}
|
|
272
|
+
if (isBoolean(bp.visible)) {
|
|
273
|
+
return bp.visible;
|
|
274
|
+
}
|
|
275
|
+
if (shouldVisible) {
|
|
276
|
+
return shouldVisible(c.key);
|
|
277
|
+
}
|
|
146
278
|
return true;
|
|
147
|
-
}) : [children];
|
|
148
|
-
var visibleActionsSort = visibleActions.slice(0);
|
|
149
|
-
visibleActionsSort.sort(function (a, b) {
|
|
150
|
-
var orderA = getOrder(a.props);
|
|
151
|
-
var orderB = getOrder(b.props);
|
|
152
|
-
return orderB - orderA;
|
|
153
279
|
});
|
|
154
|
-
var
|
|
155
|
-
|
|
280
|
+
var visibleSlotsWithOrder = visibleSlots.map(function (p, sourceIdx) {
|
|
281
|
+
var _findActionComponent$, _findActionComponent2;
|
|
282
|
+
return {
|
|
283
|
+
piece: p,
|
|
284
|
+
sourceIdx: sourceIdx,
|
|
285
|
+
sortOrder: p.kind === 'action' ? getOrder(((_findActionComponent$ = (_findActionComponent2 = findActionComponent(p.el)) === null || _findActionComponent2 === void 0 ? void 0 : _findActionComponent2.action) !== null && _findActionComponent$ !== void 0 ? _findActionComponent$ : p.el).props) : getOrder({
|
|
286
|
+
type: undefined,
|
|
287
|
+
fixed: false
|
|
288
|
+
})
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
visibleSlotsWithOrder.sort(function (a, b) {
|
|
292
|
+
var d = b.sortOrder - a.sortOrder;
|
|
293
|
+
if (d !== 0) {
|
|
294
|
+
return d;
|
|
295
|
+
}
|
|
296
|
+
return a.sourceIdx - b.sourceIdx;
|
|
297
|
+
});
|
|
298
|
+
var visibleOrderedSlots = visibleSlotsWithOrder.map(function (x) {
|
|
299
|
+
return x.piece;
|
|
300
|
+
});
|
|
301
|
+
var fixedSize = visibleOrderedSlots.filter(function (p) {
|
|
302
|
+
var _findActionComponent$2, _findActionComponent3;
|
|
303
|
+
if (p.kind !== 'action') {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
var props = ((_findActionComponent$2 = (_findActionComponent3 = findActionComponent(p.el)) === null || _findActionComponent3 === void 0 ? void 0 : _findActionComponent3.action) !== null && _findActionComponent$2 !== void 0 ? _findActionComponent$2 : p.el).props;
|
|
307
|
+
return props.type === 'primary' || props.fixed;
|
|
156
308
|
}).length;
|
|
157
309
|
var realSize = max([fixedSize, size]);
|
|
158
|
-
var
|
|
159
|
-
var
|
|
310
|
+
var mainSlots = visibleOrderedSlots.slice(0, realSize);
|
|
311
|
+
var ellipsisSlots = visibleOrderedSlots.slice(realSize);
|
|
160
312
|
var ellipsisType = 'link';
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return action.type.__DISPLAY_NAME === 'button';
|
|
313
|
+
if (visibleOrderedSlots.some(function (p) {
|
|
314
|
+
var _findActionComponent$3, _findActionComponent4;
|
|
315
|
+
return p.kind === 'action' && getActionDisplayName((_findActionComponent$3 = (_findActionComponent4 = findActionComponent(p.el)) === null || _findActionComponent4 === void 0 ? void 0 : _findActionComponent4.action) !== null && _findActionComponent$3 !== void 0 ? _findActionComponent$3 : p.el) === 'button';
|
|
165
316
|
})) {
|
|
166
317
|
ellipsisType = 'button';
|
|
167
318
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return action.type.__DISPLAY_NAME === 'link';
|
|
319
|
+
if (visibleOrderedSlots.some(function (p) {
|
|
320
|
+
var _findActionComponent$4, _findActionComponent5;
|
|
321
|
+
return p.kind === 'action' && getActionDisplayName((_findActionComponent$4 = (_findActionComponent5 = findActionComponent(p.el)) === null || _findActionComponent5 === void 0 ? void 0 : _findActionComponent5.action) !== null && _findActionComponent$4 !== void 0 ? _findActionComponent$4 : p.el) === 'link';
|
|
172
322
|
})) {
|
|
173
323
|
ellipsisType = 'link';
|
|
174
324
|
}
|
|
@@ -197,68 +347,81 @@ export default (function (_ref2) {
|
|
|
197
347
|
})
|
|
198
348
|
});
|
|
199
349
|
}
|
|
200
|
-
return wrapSSR( /*#__PURE__*/_jsxs(
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
var actualAction = (actionResult === null || actionResult === void 0 ? void 0 : actionResult.action) || action;
|
|
206
|
-
var actualActionProps = actualAction.props;
|
|
207
|
-
var newProps = {
|
|
208
|
-
key: action.key,
|
|
209
|
-
// size should be covered by action props
|
|
210
|
-
size: buttonSize,
|
|
211
|
-
enableLoading: enableLoading,
|
|
212
|
-
disabled: isBoolean(actualActionProps.disabled) ? actualActionProps.disabled : getDefaultDisabled(action.key)
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
// 统一使用 cloneWithActionProps,无论是否有包裹都能正确处理
|
|
216
|
-
return cloneWithActionProps(action, newProps);
|
|
217
|
-
}), ellipsisActions.length > 0 && /*#__PURE__*/_jsx(Dropdown, {
|
|
218
|
-
placement: dropDownPlacement,
|
|
219
|
-
overlay: /*#__PURE__*/_jsx(Menu, {
|
|
220
|
-
className: "".concat(prefixCls, "-more-menu"),
|
|
221
|
-
children: ellipsisActions.map(function (action, index) {
|
|
350
|
+
return wrapSSR( /*#__PURE__*/_jsxs(_Fragment, {
|
|
351
|
+
children: [/*#__PURE__*/_jsxs(Space, {
|
|
352
|
+
size: ellipsisType === 'button' ? 8 : 16,
|
|
353
|
+
children: [mainSlots.map(function (slot, slotIndex) {
|
|
354
|
+
if (slot.kind === 'function-child') {
|
|
222
355
|
var _ref3;
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
356
|
+
return /*#__PURE__*/_jsx(React.Fragment, {
|
|
357
|
+
children: slot.el
|
|
358
|
+
}, (_ref3 = slot.el.key) !== null && _ref3 !== void 0 ? _ref3 : "fn-main-".concat(slotIndex));
|
|
359
|
+
}
|
|
360
|
+
var action = slot.el;
|
|
361
|
+
var actionResult = findActionComponent(action);
|
|
362
|
+
var actualAction = (actionResult === null || actionResult === void 0 ? void 0 : actionResult.action) || action;
|
|
363
|
+
var actualActionProps = actualAction.props;
|
|
364
|
+
var newProps = {
|
|
365
|
+
key: action.key,
|
|
366
|
+
size: buttonSize,
|
|
367
|
+
enableLoading: enableLoading,
|
|
368
|
+
disabled: isBoolean(actualActionProps.disabled) ? actualActionProps.disabled : getDefaultDisabled(action.key)
|
|
369
|
+
};
|
|
370
|
+
return cloneWithActionProps(action, newProps);
|
|
371
|
+
}), ellipsisSlots.length > 0 && /*#__PURE__*/_jsx(Dropdown, {
|
|
372
|
+
placement: dropDownPlacement,
|
|
373
|
+
overlay: /*#__PURE__*/_jsx(Menu, {
|
|
374
|
+
className: "".concat(prefixCls, "-more-menu"),
|
|
375
|
+
children: ellipsisSlots.map(function (slot, index) {
|
|
376
|
+
var _ref5;
|
|
377
|
+
if (slot.kind === 'function-child') {
|
|
378
|
+
var _ref4;
|
|
379
|
+
var fcKey = (_ref4 = slot.el.key) !== null && _ref4 !== void 0 ? _ref4 : "fn-".concat(index);
|
|
380
|
+
return /*#__PURE__*/_jsx(Menu.Item, {
|
|
381
|
+
className: "".concat(prefixCls, "-more-menu-fn"),
|
|
382
|
+
style: {
|
|
383
|
+
height: 'auto',
|
|
384
|
+
lineHeight: 'normal',
|
|
385
|
+
paddingBlock: 4
|
|
386
|
+
},
|
|
387
|
+
children: /*#__PURE__*/React.cloneElement(slot.el, {
|
|
388
|
+
key: fcKey
|
|
389
|
+
})
|
|
390
|
+
}, fcKey);
|
|
245
391
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
392
|
+
var action = slot.el;
|
|
393
|
+
var actionKey = action.key;
|
|
394
|
+
var actionResult = findActionComponent(action);
|
|
395
|
+
var actualAction = (actionResult === null || actionResult === void 0 ? void 0 : actionResult.action) || action;
|
|
396
|
+
var actionProps = actualAction.props;
|
|
397
|
+
var actionDisabled = actionProps.loading || (isBoolean(actionProps.disabled) ? actionProps.disabled : getDefaultDisabled(action.key));
|
|
398
|
+
var menuItemProps = omit(actionProps, ['disabled', 'loading', 'tooltip', 'visible', 'fixed', 'enableLoading', 'onClick', 'children', 'danger']);
|
|
399
|
+
var handleMenuItemClick = function handleMenuItemClick(info) {
|
|
400
|
+
var _actionProps$onClick;
|
|
401
|
+
if (actionResult !== null && actionResult !== void 0 && actionResult.hasWrapper) {
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
(_actionProps$onClick = actionProps.onClick) === null || _actionProps$onClick === void 0 || _actionProps$onClick.call(actionProps, info.domEvent);
|
|
405
|
+
};
|
|
406
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
407
|
+
children: [/*#__PURE__*/_jsx(Menu.Item, _objectSpread(_objectSpread({
|
|
408
|
+
// @ts-ignore
|
|
409
|
+
onClick: handleMenuItemClick,
|
|
410
|
+
disabled: actionDisabled,
|
|
411
|
+
danger: !!actionProps.danger
|
|
412
|
+
}, menuItemProps), {}, {
|
|
413
|
+
children: renderMenuItemContent(action, actionProps, enableLoading)
|
|
414
|
+
}), (_ref5 = actionKey) !== null && _ref5 !== void 0 ? _ref5 : index.toString()), actionProps.divider && /*#__PURE__*/_jsx(Menu.Divider, {})]
|
|
415
|
+
});
|
|
416
|
+
})
|
|
417
|
+
}),
|
|
418
|
+
children: moreDom
|
|
419
|
+
})]
|
|
420
|
+
}), passthroughChildren.map(function (el, index) {
|
|
421
|
+
var _ref6;
|
|
422
|
+
return /*#__PURE__*/React.cloneElement(el, {
|
|
423
|
+
key: (_ref6 = el.key) !== null && _ref6 !== void 0 ? _ref6 : "action-group-extra-".concat(index)
|
|
424
|
+
});
|
|
262
425
|
})]
|
|
263
426
|
}));
|
|
264
427
|
});
|
|
@@ -45,6 +45,8 @@ export interface BackgroundTaskManagerRef {
|
|
|
45
45
|
interface IProps {
|
|
46
46
|
rollingFrequency?: number;
|
|
47
47
|
prefix: Namespace;
|
|
48
|
+
/** 后台任务队列变化时供读屏器播报的文案模板,`{count}` 为任务数 */
|
|
49
|
+
taskStatusTemplate?: string;
|
|
48
50
|
}
|
|
49
51
|
declare const _default: React.ForwardRefExoticComponent<IProps & React.RefAttributes<BackgroundTaskManagerRef>>;
|
|
50
52
|
export default _default;
|
|
@@ -19,6 +19,7 @@ import { RefreshMan } from "./RefreshMan";
|
|
|
19
19
|
// antd Notification组件支持的api种类
|
|
20
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
21
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
23
|
export var NotificationApi = /*#__PURE__*/function (NotificationApi) {
|
|
23
24
|
NotificationApi["success"] = "success";
|
|
24
25
|
NotificationApi["error"] = "error";
|
|
@@ -31,10 +32,23 @@ export var BackgroundTaskManagerConstants = {
|
|
|
31
32
|
REFRESH_FREQUENCY: REFRESH_FREQUENCY,
|
|
32
33
|
NotificationApi: NotificationApi
|
|
33
34
|
};
|
|
35
|
+
var visuallyHiddenStyle = {
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
width: 1,
|
|
38
|
+
height: 1,
|
|
39
|
+
padding: 0,
|
|
40
|
+
margin: -1,
|
|
41
|
+
overflow: 'hidden',
|
|
42
|
+
clip: 'rect(0, 0, 0, 0)',
|
|
43
|
+
whiteSpace: 'nowrap',
|
|
44
|
+
border: 0
|
|
45
|
+
};
|
|
34
46
|
export default /*#__PURE__*/forwardRef(function (props, ref) {
|
|
35
47
|
var _props$rollingFrequen = props.rollingFrequency,
|
|
36
48
|
rollingFrequency = _props$rollingFrequen === void 0 ? REFRESH_FREQUENCY.EXTREMELY : _props$rollingFrequen,
|
|
37
|
-
prefix = props.prefix
|
|
49
|
+
prefix = props.prefix,
|
|
50
|
+
_props$taskStatusTemp = props.taskStatusTemplate,
|
|
51
|
+
taskStatusTemplate = _props$taskStatusTemp === void 0 ? '{count} background tasks in progress' : _props$taskStatusTemp;
|
|
38
52
|
// 任务管理器的任务队列
|
|
39
53
|
var _useState = useState({}),
|
|
40
54
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -155,10 +169,17 @@ export default /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
155
169
|
window.removeEventListener('beforeunload', onUnload);
|
|
156
170
|
};
|
|
157
171
|
}, [queue, preset]);
|
|
158
|
-
|
|
159
|
-
|
|
172
|
+
var statusMessage = taskQueue.length > 0 ? taskStatusTemplate.replace('{count}', String(taskQueue.length)) : '';
|
|
173
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
174
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
175
|
+
role: "status",
|
|
176
|
+
"aria-live": "polite",
|
|
177
|
+
"aria-atomic": "true",
|
|
178
|
+
style: visuallyHiddenStyle,
|
|
179
|
+
children: statusMessage
|
|
180
|
+
}), !!taskQueue.length && /*#__PURE__*/_jsx(RefreshMan, {
|
|
160
181
|
run: run,
|
|
161
182
|
rollingFrequency: rollingFrequency
|
|
162
|
-
})
|
|
183
|
+
})]
|
|
163
184
|
});
|
|
164
185
|
});
|
|
@@ -12,12 +12,14 @@ export interface SiderHeaderProps {
|
|
|
12
12
|
badgeProps?: BadgeProps;
|
|
13
13
|
}
|
|
14
14
|
export interface MenuItem {
|
|
15
|
-
link
|
|
15
|
+
link?: string;
|
|
16
16
|
title: string;
|
|
17
17
|
icon?: React.ReactNode;
|
|
18
18
|
selectedIcon?: React.ReactNode;
|
|
19
19
|
accessible?: boolean;
|
|
20
20
|
divider?: boolean;
|
|
21
|
+
/** 与 antd Menu 一致,设为 'group' 时渲染为分组标题,children 为该组下的菜单项 */
|
|
22
|
+
type?: 'group';
|
|
21
23
|
children?: MenuItem[];
|
|
22
24
|
}
|
|
23
25
|
export interface BasicLayoutProps extends LocaleWrapperProps {
|