@oceanbase/ui 1.0.0-alpha.10 → 1.0.0-alpha.11

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 (244) hide show
  1. package/dist/ui.min.js +1 -1
  2. package/es/Action/Group.js +1 -0
  3. package/es/Action/Item.js +1 -0
  4. package/es/Action/index.js +1 -0
  5. package/es/BackgroundTaskManager/RefreshMan.js +1 -0
  6. package/es/BackgroundTaskManager/index.js +1 -0
  7. package/es/BasicLayout/Header.js +1 -0
  8. package/es/BasicLayout/index.js +1 -0
  9. package/es/BatchOperationBar/index.js +1 -0
  10. package/es/Boundary/Components/Code.js +1 -0
  11. package/es/Boundary/Components/Exception.js +1 -0
  12. package/es/Boundary/Components/Function.js +1 -0
  13. package/es/Boundary/index.js +1 -0
  14. package/es/ContentWithIcon/index.js +1 -0
  15. package/es/ContentWithQuestion/index.js +1 -0
  16. package/es/DateRanger/PickerPanel.js +1 -0
  17. package/es/DateRanger/Ranger.js +1 -0
  18. package/es/DateRanger/index.js +1 -0
  19. package/es/Dialog/Anchor.js +1 -0
  20. package/es/Dialog/EventProxy.js +1 -0
  21. package/es/Dialog/index.js +1 -0
  22. package/es/DocDialog/index.js +1 -0
  23. package/es/FooterToolbar/index.js +1 -0
  24. package/es/FullscreenBox/index.js +1 -0
  25. package/es/Highlight/DiffView/DiffCells.js +1 -0
  26. package/es/Highlight/DiffView/index.js +1 -0
  27. package/es/Highlight/HighlightCell.js +1 -0
  28. package/es/Highlight/JsonView.js +1 -0
  29. package/es/Highlight/index.js +1 -0
  30. package/es/Highlight/useKeyDownCopyEvent.js +1 -0
  31. package/es/IconFont/index.js +1 -0
  32. package/es/LightFilter/index.js +1 -0
  33. package/es/LocaleDropdown/index.js +1 -0
  34. package/es/Login/ActivateForm.js +1 -0
  35. package/es/Login/LoginForm.js +1 -0
  36. package/es/Login/RegisterForm.js +1 -0
  37. package/es/Login/index.js +1 -0
  38. package/es/Lottie/index.js +1 -0
  39. package/es/NavMenu/index.js +1 -0
  40. package/es/PageContainer/ItemRender.js +1 -0
  41. package/es/PageContainer/index.js +1 -0
  42. package/es/PageLoading/index.js +1 -0
  43. package/es/Password/Content.js +1 -0
  44. package/es/Password/index.js +1 -0
  45. package/es/ProCard/index.js +1 -0
  46. package/es/ProTable/index.js +2 -3
  47. package/es/Ranger/QuickPicker.js +1 -0
  48. package/es/Ranger/Ranger.js +1 -0
  49. package/es/Ranger/index.js +1 -0
  50. package/es/SideTip/Dragger.js +1 -0
  51. package/es/SideTip/IconLoading.js +1 -0
  52. package/es/SideTip/index.js +1 -0
  53. package/es/TagSelect/Group.js +1 -0
  54. package/es/TagSelect/Item.js +1 -0
  55. package/es/TagSelect/index.js +1 -0
  56. package/es/TreeSearch/index.js +1 -0
  57. package/es/Welcome/index.js +1 -0
  58. package/es/Welcome/step.js +1 -0
  59. package/es/_util/index.js +1 -0
  60. package/es/constant/index.js +1 -0
  61. package/es/index.js +1 -0
  62. package/es/locale/LocaleWrapper.js +1 -0
  63. package/es/locale/index.js +1 -0
  64. package/lib/Action/Group.js +189 -162
  65. package/lib/Action/Item.js +47 -65
  66. package/lib/Action/index.js +13 -35
  67. package/lib/Action/style/index.js +25 -43
  68. package/lib/BackgroundTaskManager/RefreshMan.js +34 -50
  69. package/lib/BackgroundTaskManager/constants.js +10 -32
  70. package/lib/BackgroundTaskManager/index.js +118 -126
  71. package/lib/BasicLayout/Header.js +242 -200
  72. package/lib/BasicLayout/index.js +265 -307
  73. package/lib/BasicLayout/locale/en-US.js +16 -34
  74. package/lib/BasicLayout/locale/ja-JP.js +16 -34
  75. package/lib/BasicLayout/locale/zh-CN.js +16 -34
  76. package/lib/BasicLayout/locale/zh-TW.js +16 -34
  77. package/lib/BasicLayout/style/Header.js +41 -60
  78. package/lib/BasicLayout/style/index.js +176 -197
  79. package/lib/BatchOperationBar/index.js +109 -151
  80. package/lib/BatchOperationBar/locale/en-US.js +10 -28
  81. package/lib/BatchOperationBar/locale/ja-JP.js +10 -28
  82. package/lib/BatchOperationBar/locale/zh-CN.js +10 -28
  83. package/lib/BatchOperationBar/locale/zh-TW.js +10 -28
  84. package/lib/BatchOperationBar/style/index.js +30 -46
  85. package/lib/Boundary/Components/Code.js +57 -75
  86. package/lib/Boundary/Components/Exception.js +103 -123
  87. package/lib/Boundary/Components/Function.js +47 -62
  88. package/lib/Boundary/Components/index.js +36 -25
  89. package/lib/Boundary/IBoundary.js +4 -16
  90. package/lib/Boundary/constant.js +16 -38
  91. package/lib/Boundary/index.js +11 -24
  92. package/lib/Boundary/locale/en-US.js +14 -32
  93. package/lib/Boundary/locale/ja-JP.js +14 -32
  94. package/lib/Boundary/locale/zh-CN.js +14 -32
  95. package/lib/Boundary/locale/zh-TW.js +14 -32
  96. package/lib/Boundary/style/index.js +28 -47
  97. package/lib/Boundary/utils.js +9 -31
  98. package/lib/ContentWithIcon/index.js +101 -114
  99. package/lib/ContentWithIcon/style/index.js +17 -36
  100. package/lib/ContentWithQuestion/index.js +40 -52
  101. package/lib/ContentWithQuestion/style/index.js +16 -35
  102. package/lib/DateRanger/PickerPanel.js +343 -325
  103. package/lib/DateRanger/Ranger.js +430 -515
  104. package/lib/DateRanger/constant/index.js +188 -376
  105. package/lib/DateRanger/index.js +45 -64
  106. package/lib/DateRanger/locale/en-US.js +20 -47
  107. package/lib/DateRanger/locale/ja-JP.js +20 -47
  108. package/lib/DateRanger/locale/zh-CN.js +20 -47
  109. package/lib/DateRanger/locale/zh-TW.js +20 -47
  110. package/lib/DateRanger/style/index.js +41 -62
  111. package/lib/DateRanger/typing.js +4 -16
  112. package/lib/Dialog/Anchor.js +70 -95
  113. package/lib/Dialog/Dock.js +14 -36
  114. package/lib/Dialog/EventProxy.js +21 -39
  115. package/lib/Dialog/index.js +327 -370
  116. package/lib/Dialog/locale/en-US.js +8 -26
  117. package/lib/Dialog/locale/ja-JP.js +8 -26
  118. package/lib/Dialog/locale/zh-CN.js +8 -26
  119. package/lib/Dialog/locale/zh-TW.js +8 -26
  120. package/lib/Dialog/style/index.js +58 -76
  121. package/lib/DocDialog/index.js +51 -77
  122. package/lib/DocDialog/locale/en-US.js +5 -23
  123. package/lib/DocDialog/locale/ja-JP.js +5 -23
  124. package/lib/DocDialog/locale/zh-CN.js +5 -23
  125. package/lib/DocDialog/locale/zh-TW.js +5 -23
  126. package/lib/FooterToolbar/index.js +27 -45
  127. package/lib/FooterToolbar/style/index.js +23 -38
  128. package/lib/FullscreenBox/index.js +151 -138
  129. package/lib/FullscreenBox/locale/en-US.js +5 -23
  130. package/lib/FullscreenBox/locale/ja-JP.js +5 -23
  131. package/lib/FullscreenBox/locale/zh-CN.js +5 -23
  132. package/lib/FullscreenBox/locale/zh-TW.js +5 -23
  133. package/lib/FullscreenBox/style/index.js +23 -41
  134. package/lib/Highlight/DiffView/DiffCells.js +34 -54
  135. package/lib/Highlight/DiffView/index.js +165 -163
  136. package/lib/Highlight/HighlightCell.js +28 -47
  137. package/lib/Highlight/JsonView.js +45 -74
  138. package/lib/Highlight/index.js +200 -214
  139. package/lib/Highlight/languages/bash.js +7 -34
  140. package/lib/Highlight/languages/cpp.js +7 -34
  141. package/lib/Highlight/languages/css.js +7 -34
  142. package/lib/Highlight/languages/dockerfile.js +7 -34
  143. package/lib/Highlight/languages/go.js +7 -34
  144. package/lib/Highlight/languages/groovy.js +7 -34
  145. package/lib/Highlight/languages/http.js +7 -34
  146. package/lib/Highlight/languages/java.js +7 -34
  147. package/lib/Highlight/languages/javascript.js +7 -34
  148. package/lib/Highlight/languages/json.js +7 -34
  149. package/lib/Highlight/languages/markdown.js +7 -34
  150. package/lib/Highlight/languages/nginx.js +7 -34
  151. package/lib/Highlight/languages/python.js +7 -34
  152. package/lib/Highlight/languages/ruby.js +7 -34
  153. package/lib/Highlight/languages/solidity.js +7 -34
  154. package/lib/Highlight/languages/sql.js +7 -34
  155. package/lib/Highlight/languages/typescript.js +7 -34
  156. package/lib/Highlight/languages/xml.js +7 -34
  157. package/lib/Highlight/languages/yaml.js +7 -34
  158. package/lib/Highlight/locale/en-US.js +7 -25
  159. package/lib/Highlight/locale/ja-JP.js +7 -25
  160. package/lib/Highlight/locale/zh-CN.js +7 -25
  161. package/lib/Highlight/locale/zh-TW.js +7 -25
  162. package/lib/Highlight/style/index.js +128 -144
  163. package/lib/Highlight/useKeyDownCopyEvent.js +40 -64
  164. package/lib/IconFont/index.js +23 -28
  165. package/lib/LightFilter/index.js +29 -43
  166. package/lib/LightFilter/style/index.js +15 -33
  167. package/lib/LocaleDropdown/index.js +43 -53
  168. package/lib/Login/ActivateForm.js +93 -119
  169. package/lib/Login/LoginForm.js +149 -184
  170. package/lib/Login/RegisterForm.js +122 -163
  171. package/lib/Login/index.js +157 -163
  172. package/lib/Login/locale/en-US.js +31 -49
  173. package/lib/Login/locale/ja-JP.js +31 -49
  174. package/lib/Login/locale/zh-CN.js +31 -49
  175. package/lib/Login/locale/zh-TW.js +30 -48
  176. package/lib/Login/style/index.js +77 -98
  177. package/lib/Lottie/index.js +7 -24
  178. package/lib/NavMenu/index.js +105 -108
  179. package/lib/NavMenu/style/index.js +31 -49
  180. package/lib/PageContainer/ItemRender.js +28 -46
  181. package/lib/PageContainer/index.js +125 -140
  182. package/lib/PageContainer/locale/en-US.js +8 -26
  183. package/lib/PageContainer/locale/ja-JP.js +8 -26
  184. package/lib/PageContainer/locale/zh-CN.js +8 -26
  185. package/lib/PageContainer/locale/zh-TW.js +8 -26
  186. package/lib/PageContainer/style/index.js +19 -40
  187. package/lib/PageLoading/index.js +33 -54
  188. package/lib/Password/Content.js +92 -80
  189. package/lib/Password/index.js +125 -160
  190. package/lib/Password/locale/en-US.js +14 -32
  191. package/lib/Password/locale/ja-JP.js +16 -34
  192. package/lib/Password/locale/zh-CN.js +15 -33
  193. package/lib/Password/locale/zh-TW.js +14 -32
  194. package/lib/ProCard/index.js +77 -98
  195. package/lib/ProCard/style/index.js +21 -39
  196. package/lib/ProTable/index.js +102 -123
  197. package/lib/ProTable/style/index.js +21 -38
  198. package/lib/Ranger/QuickPicker.js +92 -94
  199. package/lib/Ranger/Ranger.js +98 -133
  200. package/lib/Ranger/constant/index.js +115 -266
  201. package/lib/Ranger/index.js +61 -69
  202. package/lib/Ranger/locale/en-US.js +31 -49
  203. package/lib/Ranger/locale/ja-JP.js +31 -49
  204. package/lib/Ranger/locale/zh-CN.js +7 -25
  205. package/lib/Ranger/locale/zh-TW.js +7 -25
  206. package/lib/Ranger/style/index.js +21 -39
  207. package/lib/Ranger/typing.js +4 -16
  208. package/lib/SideTip/Dragger.js +259 -219
  209. package/lib/SideTip/IconLoading.js +43 -74
  210. package/lib/SideTip/index.js +124 -126
  211. package/lib/SideTip/locale/en-US.js +5 -23
  212. package/lib/SideTip/locale/ja-JP.js +5 -23
  213. package/lib/SideTip/locale/zh-CN.js +5 -23
  214. package/lib/SideTip/locale/zh-TW.js +5 -23
  215. package/lib/SideTip/style/index.js +76 -92
  216. package/lib/SideTip/utils.js +40 -61
  217. package/lib/TagSelect/Group.js +64 -83
  218. package/lib/TagSelect/Item.js +68 -91
  219. package/lib/TagSelect/TagSelectContext.js +7 -25
  220. package/lib/TagSelect/index.js +12 -35
  221. package/lib/TagSelect/style/index.js +41 -64
  222. package/lib/TreeSearch/index.js +133 -127
  223. package/lib/TreeSearch/util.js +52 -70
  224. package/lib/Welcome/index.js +142 -117
  225. package/lib/Welcome/locale/en-US.js +8 -26
  226. package/lib/Welcome/locale/ja-JP.js +8 -26
  227. package/lib/Welcome/locale/zh-CN.js +8 -26
  228. package/lib/Welcome/locale/zh-TW.js +8 -26
  229. package/lib/Welcome/step/style/index.js +24 -40
  230. package/lib/Welcome/step.js +63 -59
  231. package/lib/Welcome/style/index.js +58 -70
  232. package/lib/_util/genComponentStyleHook.js +15 -43
  233. package/lib/_util/index.js +38 -43
  234. package/lib/_util/useNavigate.js +11 -26
  235. package/lib/constant/index.js +23 -49
  236. package/lib/index.js +283 -129
  237. package/lib/interface.js +4 -16
  238. package/lib/locale/LocaleWrapper.js +50 -60
  239. package/lib/locale/en-US.js +37 -64
  240. package/lib/locale/index.js +5 -16
  241. package/lib/locale/ja-JP.js +37 -64
  242. package/lib/locale/zh-CN.js +36 -63
  243. package/lib/locale/zh-TW.js +32 -59
  244. package/package.json +3 -3
@@ -17,6 +17,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
17
17
  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; }
18
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
19
  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); }
20
+ "use client";
20
21
  import { ConfigProvider } from '@oceanbase/design';
21
22
  import hoistNonReactStatic from 'hoist-non-react-statics';
22
23
  import React from 'react';
@@ -1 +1,2 @@
1
+ "use client";
1
2
  export {};
@@ -1,47 +1,30 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/Action/Group.tsx
30
- var Group_exports = {};
31
- __export(Group_exports, {
32
- default: () => Group_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(Group_exports);
35
- var import_react = __toESM(require("react"));
36
- var import_design = require("@oceanbase/design");
37
- var import_icons = require("@oceanbase/icons");
38
- var import_lodash = require("lodash");
39
- var import_style = __toESM(require("./style"));
40
- var import_jsx_runtime = require("react/jsx-runtime");
41
- var getOrder = ({ type, fixed }) => {
42
- const ORDER_SET = { primary: 3, fixed: 2, default: 0 };
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _design = require("@oceanbase/design");
9
+ var _icons = require("@oceanbase/icons");
10
+ var _lodash = require("lodash");
11
+ var _style = _interopRequireDefault(require("./style"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ "use client";
17
+ const getOrder = ({
18
+ type,
19
+ fixed
20
+ }) => {
21
+ const ORDER_SET = {
22
+ primary: 3,
23
+ fixed: 2,
24
+ default: 0
25
+ };
43
26
  let order = ORDER_SET.default;
44
- if (type === "primary") {
27
+ if (type === 'primary') {
45
28
  order += ORDER_SET.primary;
46
29
  }
47
30
  if (fixed) {
@@ -49,65 +32,103 @@ var getOrder = ({ type, fixed }) => {
49
32
  }
50
33
  return order;
51
34
  };
52
- var findActionComponent = (element, depth = 0) => {
53
- var _a, _b, _c;
54
- if (!import_react.default.isValidElement(element)) {
35
+
36
+ /**
37
+ * 递归查找 Action 组件(可能被 Popconfirm/Tooltip 等组件包裹)
38
+ * 返回实际的 Action 组件和其 props
39
+ */
40
+ const findActionComponent = (element, depth = 0) => {
41
+ if (! /*#__PURE__*/_react.default.isValidElement(element)) {
55
42
  return null;
56
43
  }
57
- if (((_a = element.type) == null ? void 0 : _a.__DISPLAY_NAME) === "button" || ((_b = element.type) == null ? void 0 : _b.__DISPLAY_NAME) === "link") {
58
- return { action: element, wrapper: null };
44
+
45
+ // 检查是否是 Action.Button Action.Link
46
+ // @ts-ignore
47
+ if (element.type?.__DISPLAY_NAME === 'button' || element.type?.__DISPLAY_NAME === 'link') {
48
+ return {
49
+ action: element,
50
+ wrapper: null
51
+ };
59
52
  }
53
+
54
+ // 如果深度太深,避免无限递归
60
55
  if (depth > 10) {
61
56
  return null;
62
57
  }
63
- const elementChildren = (_c = element.props) == null ? void 0 : _c.children;
58
+
59
+ // 如果有 children,递归查找
60
+ const elementChildren = element.props?.children;
64
61
  if (elementChildren) {
65
- const child = import_react.default.Children.only(elementChildren);
66
- if (import_react.default.isValidElement(child)) {
62
+ const child = _react.default.Children.only(elementChildren);
63
+ if ( /*#__PURE__*/_react.default.isValidElement(child)) {
67
64
  const result = findActionComponent(child, depth + 1);
68
65
  if (result) {
69
- return { action: result.action, wrapper: element };
66
+ // 如果找到了 Action 组件,当前元素就是 wrapper
67
+ return {
68
+ action: result.action,
69
+ wrapper: element
70
+ };
70
71
  }
71
72
  }
72
73
  }
73
74
  return null;
74
75
  };
75
- var renderMenuItemContent = (action, actionProps, enableLoading) => {
76
- const { loading, children, tooltip } = actionProps;
76
+
77
+ /**
78
+ * 渲染菜单项内容,保持嵌套的 Popconfirm/Tooltip 结构
79
+ */
80
+ const renderMenuItemContent = (action, actionProps, enableLoading) => {
81
+ const {
82
+ loading,
83
+ children,
84
+ tooltip
85
+ } = actionProps;
77
86
  const result = findActionComponent(action);
78
87
  if (!result) {
79
- const content2 = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
80
- loading && enableLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LoadingOutlined, {}),
81
- " ",
82
- children || action
83
- ] });
84
- return tooltip ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Tooltip, { title: tooltip, children: content2 }) : content2;
88
+ // 如果没有找到嵌套结构,使用默认渲染
89
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
90
+ children: [loading && enableLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {}), " ", children || action]
91
+ });
92
+ // 如果有 tooltip,用 Tooltip 包裹
93
+ return tooltip ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Tooltip, {
94
+ title: tooltip,
95
+ children: content
96
+ }) : content;
85
97
  }
86
- const { action: actualAction, wrapper } = result;
87
- const newAction = import_react.default.cloneElement(actualAction, {
98
+ const {
99
+ action: actualAction,
100
+ wrapper
101
+ } = result;
102
+
103
+ // 创建新的 action 元素,保留所有 props 并添加 loading 状态
104
+ const newAction = /*#__PURE__*/_react.default.cloneElement(actualAction, {
88
105
  ...actualAction.props,
89
106
  ...actionProps,
90
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
91
- loading && enableLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LoadingOutlined, {}),
92
- " ",
93
- children || actualAction.props.children
94
- ] })
107
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
108
+ children: [loading && enableLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {}), " ", children || actualAction.props.children]
109
+ })
95
110
  });
111
+
112
+ // 如果 action 被包裹,需要重新构建包裹结构
96
113
  if (wrapper) {
97
114
  const wrapperProps = wrapper.props;
98
- return import_react.default.cloneElement(wrapper, {
115
+ // 保持原有的 wrapper 结构,只更新 children
116
+ return /*#__PURE__*/_react.default.cloneElement(wrapper, {
99
117
  ...wrapperProps,
100
118
  children: newAction
101
119
  });
102
120
  }
103
- const content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
104
- loading && enableLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LoadingOutlined, {}),
105
- " ",
106
- children || actualAction.props.children
107
- ] });
108
- return tooltip ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Tooltip, { title: tooltip, children: content }) : content;
121
+
122
+ // 如果没有包裹,直接渲染,如果有 tooltip 则用 Tooltip 包裹
123
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
124
+ children: [loading && enableLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {}), " ", children || actualAction.props.children]
125
+ });
126
+ return tooltip ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Tooltip, {
127
+ title: tooltip,
128
+ children: content
129
+ }) : content;
109
130
  };
110
- var Group_default = ({
131
+ var _default = ({
111
132
  prefixCls: customizePrefixCls,
112
133
  size = 3,
113
134
  children,
@@ -119,16 +140,16 @@ var Group_default = ({
119
140
  moreType,
120
141
  buttonSize
121
142
  }) => {
122
- const { getPrefixCls } = (0, import_react.useContext)(import_design.ConfigProvider.ConfigContext);
123
- const prefixCls = getPrefixCls("action", customizePrefixCls);
124
- const { wrapSSR } = (0, import_style.default)(prefixCls);
125
- const visibleActions = Array.isArray(children) ? children.filter((c) => {
126
- if ((0, import_lodash.isBoolean)(c.props.visible) && shouldVisible)
127
- return c.props.visible && shouldVisible(c.key);
128
- if ((0, import_lodash.isBoolean)(c.props.visible))
129
- return c.props.visible;
130
- else if (shouldVisible)
131
- return shouldVisible(c.key);
143
+ const {
144
+ getPrefixCls
145
+ } = (0, _react.useContext)(_design.ConfigProvider.ConfigContext);
146
+ const prefixCls = getPrefixCls('action', customizePrefixCls);
147
+ const {
148
+ wrapSSR
149
+ } = (0, _style.default)(prefixCls);
150
+ const visibleActions = Array.isArray(children) ? children.filter(c => {
151
+ if ((0, _lodash.isBoolean)(c.props.visible) && shouldVisible) return c.props.visible && shouldVisible(c.key);
152
+ if ((0, _lodash.isBoolean)(c.props.visible)) return c.props.visible;else if (shouldVisible) return shouldVisible(c.key);
132
153
  return true;
133
154
  }) : [children];
134
155
  const visibleActionsSort = visibleActions.slice(0);
@@ -137,92 +158,98 @@ var Group_default = ({
137
158
  const orderB = getOrder(b.props);
138
159
  return orderB - orderA;
139
160
  });
140
- const fixedSize = visibleActionsSort.filter(
141
- (action) => action.props.type === "primary" || action.props.fixed
142
- ).length;
143
- const realSize = (0, import_lodash.max)([fixedSize, size]);
161
+ const fixedSize = visibleActionsSort.filter(action => action.props.type === 'primary' || action.props.fixed).length;
162
+ const realSize = (0, _lodash.max)([fixedSize, size]);
144
163
  const mainActions = visibleActionsSort.slice(0, realSize);
145
164
  const ellipsisActions = visibleActionsSort.slice(realSize);
146
- let ellipsisType = "link";
147
- if (visibleActionsSort.some((action) => action.type.__DISPLAY_NAME === "button")) {
148
- ellipsisType = "button";
165
+ let ellipsisType = 'link';
166
+
167
+ // @ts-ignore
168
+ if (visibleActionsSort.some(action => action.type.__DISPLAY_NAME === 'button')) {
169
+ ellipsisType = 'button';
149
170
  }
150
- if (visibleActionsSort.some((action) => action.type.__DISPLAY_NAME === "link")) {
151
- ellipsisType = "link";
171
+
172
+ // @ts-ignore
173
+ if (visibleActionsSort.some(action => action.type.__DISPLAY_NAME === 'link')) {
174
+ ellipsisType = 'link';
152
175
  }
153
176
  ellipsisType = moreType ?? ellipsisType;
154
- const getDefaultDisabled = (key) => (shouldDisabled == null ? void 0 : shouldDisabled(key)) ?? false;
177
+ const getDefaultDisabled = key => shouldDisabled?.(key) ?? false;
155
178
  let moreDom;
156
- if (ellipsisType === "button") {
157
- moreDom = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
158
- import_design.Button,
159
- {
160
- size: buttonSize,
161
- icon: moreText ? void 0 : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.EllipsisOutlined, { style: { cursor: "pointer" } }),
162
- children: moreText
163
- }
164
- );
179
+ if (ellipsisType === 'button') {
180
+ moreDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Button, {
181
+ size: buttonSize,
182
+ icon: moreText ? undefined : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.EllipsisOutlined, {
183
+ style: {
184
+ cursor: 'pointer'
185
+ }
186
+ }),
187
+ children: moreText
188
+ });
165
189
  } else {
166
- moreDom = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Typography.Link, { children: moreText ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.EllipsisOutlined, { style: { cursor: "pointer" } }) });
190
+ moreDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Typography.Link, {
191
+ children: moreText ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.EllipsisOutlined, {
192
+ style: {
193
+ cursor: 'pointer'
194
+ }
195
+ })
196
+ });
167
197
  }
168
- return wrapSSR(
169
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_design.Space, { size: ellipsisType === "button" ? 8 : 16, children: [
170
- mainActions.map((action) => {
171
- return import_react.default.cloneElement(action, {
172
- // size should be covered by action props
173
- size: buttonSize,
174
- ...action.props,
175
- key: action.key,
176
- enableLoading,
177
- disabled: (0, import_lodash.isBoolean)(action.props.disabled) ? action.props.disabled : getDefaultDisabled(action.key)
178
- });
198
+ return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_design.Space, {
199
+ size: ellipsisType === 'button' ? 8 : 16,
200
+ children: [mainActions.map(action => {
201
+ return /*#__PURE__*/_react.default.cloneElement(action, {
202
+ // size should be covered by action props
203
+ size: buttonSize,
204
+ ...action.props,
205
+ key: action.key,
206
+ enableLoading: enableLoading,
207
+ disabled: (0, _lodash.isBoolean)(action.props.disabled) ? action.props.disabled : getDefaultDisabled(action.key)
208
+ });
209
+ }), ellipsisActions.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Dropdown, {
210
+ placement: dropDownPlacement,
211
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu, {
212
+ className: `${prefixCls}-more-menu`,
213
+ children: ellipsisActions.map((action, index) => {
214
+ const actionKey = action.key;
215
+ // 查找实际的 Action 组件以获取 props
216
+ const actionResult = findActionComponent(action);
217
+ const actualAction = actionResult?.action || action;
218
+ const actionProps = actualAction.props;
219
+
220
+ // 当用户传入loading 或者 传入 disabled 的情况都要禁用按钮
221
+ const actionDisabled = actionProps.loading || ((0, _lodash.isBoolean)(actionProps.disabled) ? actionProps.disabled : getDefaultDisabled(action.key));
222
+
223
+ // 提取需要传递给 Menu.Item 的 props(排除 danger,单独处理)
224
+ const menuItemProps = (0, _lodash.omit)(actionProps, ['disabled', 'loading', 'tooltip', 'visible', 'fixed', 'enableLoading', 'onClick', 'children', 'danger']);
225
+
226
+ // 处理 onClick:如果 action 被 Popconfirm 包裹,Menu.Item 的 onClick 不应该直接触发 action 的 onClick
227
+ // 而是让 Popconfirm 来处理。如果没有 Popconfirm,则正常触发。
228
+ const handleMenuItemClick = info => {
229
+ // 如果 action 被包裹(可能是 Popconfirm 或其他组件),不直接触发 onClick
230
+ // 让包裹组件来处理交互
231
+ if (actionResult?.wrapper) {
232
+ // 包裹组件会处理点击,这里不需要做任何事
233
+ // 注意:Menu.Item 的点击会关闭下拉菜单,但 Popconfirm 应该能够正常显示
234
+ return;
235
+ }
236
+ // 如果没有包裹,正常触发 onClick
237
+ actionProps.onClick?.(info.domEvent);
238
+ };
239
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
240
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Item, {
241
+ // @ts-ignore
242
+ onClick: handleMenuItemClick,
243
+ disabled: actionDisabled,
244
+ danger: !!actionProps.danger,
245
+ ...menuItemProps,
246
+ children: renderMenuItemContent(action, actionProps, enableLoading)
247
+ }, actionKey ?? index.toString()), actionProps.divider && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Divider, {})]
248
+ });
249
+ })
179
250
  }),
180
- ellipsisActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
181
- import_design.Dropdown,
182
- {
183
- placement: dropDownPlacement,
184
- overlay: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Menu, { className: `${prefixCls}-more-menu`, children: ellipsisActions.map((action, index) => {
185
- const actionKey = action.key;
186
- const actionResult = findActionComponent(action);
187
- const actualAction = (actionResult == null ? void 0 : actionResult.action) || action;
188
- const actionProps = actualAction.props;
189
- const actionDisabled = actionProps.loading || ((0, import_lodash.isBoolean)(actionProps.disabled) ? actionProps.disabled : getDefaultDisabled(action.key));
190
- const menuItemProps = (0, import_lodash.omit)(actionProps, [
191
- "disabled",
192
- "loading",
193
- "tooltip",
194
- "visible",
195
- "fixed",
196
- "enableLoading",
197
- "onClick",
198
- "children",
199
- "danger"
200
- ]);
201
- const handleMenuItemClick = (info) => {
202
- var _a;
203
- if (actionResult == null ? void 0 : actionResult.wrapper) {
204
- return;
205
- }
206
- (_a = actionProps.onClick) == null ? void 0 : _a.call(actionProps, info.domEvent);
207
- };
208
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
209
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
210
- import_design.Menu.Item,
211
- {
212
- onClick: handleMenuItemClick,
213
- disabled: actionDisabled,
214
- danger: !!actionProps.danger,
215
- ...menuItemProps,
216
- children: renderMenuItemContent(action, actionProps, enableLoading)
217
- },
218
- actionKey ?? index.toString()
219
- ),
220
- actionProps.divider && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Menu.Divider, {})
221
- ] });
222
- }) }),
223
- children: moreDom
224
- }
225
- )
226
- ] })
227
- );
251
+ children: moreDom
252
+ })]
253
+ }));
228
254
  };
255
+ exports.default = _default;
@@ -1,33 +1,17 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/Action/Item.tsx
20
- var Item_exports = {};
21
- __export(Item_exports, {
22
- ActionButton: () => ActionButton,
23
- ActionLink: () => ActionLink
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
24
5
  });
25
- module.exports = __toCommonJS(Item_exports);
26
- var import_icons = require("@oceanbase/icons");
27
- var import_design = require("@oceanbase/design");
28
- var import_react = require("react");
29
- var import_jsx_runtime = require("react/jsx-runtime");
30
- var ActionButton = ({
6
+ exports.ActionLink = exports.ActionButton = void 0;
7
+ var _icons = require("@oceanbase/icons");
8
+ var _design = require("@oceanbase/design");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ "use client";
14
+ const ActionButton = ({
31
15
  children,
32
16
  onClick,
33
17
  enableLoading = true,
@@ -35,28 +19,30 @@ var ActionButton = ({
35
19
  loading,
36
20
  ...restProps
37
21
  }) => {
38
- const [internalLoading, setInternalLoading] = (0, import_react.useState)(false);
39
- const handleClick = (e) => {
40
- const handle = onClick == null ? void 0 : onClick(e);
41
- if (enableLoading && (handle == null ? void 0 : handle.then)) {
22
+ const [internalLoading, setInternalLoading] = (0, _react.useState)(false);
23
+ const handleClick = e => {
24
+ const handle = onClick?.(e);
25
+ if (enableLoading && handle?.then) {
42
26
  setInternalLoading(true);
43
27
  handle.then(() => {
44
28
  setInternalLoading(false);
45
29
  });
46
30
  }
47
31
  };
48
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_design.Tooltip, { placement: "top", title: tooltip, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
49
- import_design.Button,
50
- {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Tooltip, {
33
+ placement: "top",
34
+ title: tooltip,
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Button, {
51
36
  loading: enableLoading && (loading || internalLoading),
52
37
  onClick: handleClick,
53
38
  ...restProps,
54
- children
55
- }
56
- ) });
39
+ children: children
40
+ })
41
+ });
57
42
  };
58
- ActionButton.__DISPLAY_NAME = "button";
59
- var ActionLink = ({
43
+ exports.ActionButton = ActionButton;
44
+ ActionButton.__DISPLAY_NAME = 'button';
45
+ const ActionLink = ({
60
46
  disabled,
61
47
  onClick,
62
48
  children,
@@ -67,11 +53,11 @@ var ActionLink = ({
67
53
  style,
68
54
  ...restProps
69
55
  }) => {
70
- const [internalLoading, setInternalLoading] = (0, import_react.useState)(false);
71
- const [internalDisabled, setInternalDisabled] = (0, import_react.useState)(false);
72
- const handleClick = (e) => {
73
- const handle = onClick == null ? void 0 : onClick(e);
74
- if (enableLoading && (handle == null ? void 0 : handle.then)) {
56
+ const [internalLoading, setInternalLoading] = (0, _react.useState)(false);
57
+ const [internalDisabled, setInternalDisabled] = (0, _react.useState)(false);
58
+ const handleClick = e => {
59
+ const handle = onClick?.(e);
60
+ if (enableLoading && handle?.then) {
75
61
  setInternalLoading(true);
76
62
  setInternalDisabled(true);
77
63
  handle.then(() => {
@@ -80,24 +66,20 @@ var ActionLink = ({
80
66
  });
81
67
  }
82
68
  };
83
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
84
- import_design.Typography.Link,
85
- {
86
- style: { padding: 0, ...style },
87
- disabled: loading || disabled || internalDisabled,
88
- onClick: handleClick,
89
- ...restProps,
90
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_design.Tooltip, { placement: "top", title: tooltip, children: [
91
- loading || internalDisabled ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.LoadingOutlined, {}) : "",
92
- " ",
93
- children
94
- ] })
95
- }
96
- );
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Typography.Link, {
70
+ style: {
71
+ padding: 0,
72
+ ...style
73
+ },
74
+ disabled: loading || disabled || internalDisabled,
75
+ onClick: handleClick,
76
+ ...restProps,
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_design.Tooltip, {
78
+ placement: "top",
79
+ title: tooltip,
80
+ children: [loading || internalDisabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.LoadingOutlined, {}) : '', " ", children]
81
+ })
82
+ });
97
83
  };
98
- ActionLink.__DISPLAY_NAME = "link";
99
- // Annotate the CommonJS export names for ESM import in node:
100
- 0 && (module.exports = {
101
- ActionButton,
102
- ActionLink
103
- });
84
+ exports.ActionLink = ActionLink;
85
+ ActionLink.__DISPLAY_NAME = 'link';
@@ -1,37 +1,15 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/Action/index.ts
30
- var Action_exports = {};
31
- __export(Action_exports, {
32
- default: () => Action_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(Action_exports);
35
- var import_Group = __toESM(require("./Group"));
36
- var import_Item = require("./Item");
37
- var Action_default = { Group: import_Group.default, Button: import_Item.ActionButton, Link: import_Item.ActionLink };
6
+ exports.default = void 0;
7
+ var _Group = _interopRequireDefault(require("./Group"));
8
+ var _Item = require("./Item");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ "use client";
11
+ var _default = exports.default = {
12
+ Group: _Group.default,
13
+ Button: _Item.ActionButton,
14
+ Link: _Item.ActionLink
15
+ };