@autobest-ui/components 2.3.0 → 2.5.0

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 (141) hide show
  1. package/esm/accordion/Item.js +6 -23
  2. package/esm/accordion/index.js +8 -36
  3. package/esm/affix/PortalAffix.js +7 -11
  4. package/esm/affix/index.js +30 -70
  5. package/esm/carousel/index.js +45 -141
  6. package/esm/checkbox/index.js +12 -37
  7. package/esm/collapse/index.js +11 -49
  8. package/esm/confirm/index.d.ts +8 -0
  9. package/esm/confirm/index.js +23 -31
  10. package/esm/date-picker/DateEnum.js +0 -3
  11. package/esm/date-picker/calendar/Day.js +62 -78
  12. package/esm/date-picker/calendar/MonthYear.js +20 -53
  13. package/esm/date-picker/calendar/grid/index.js +7 -12
  14. package/esm/date-picker/calendar/index.js +4 -31
  15. package/esm/date-picker/index.js +11 -51
  16. package/esm/date-picker/utils.js +6 -11
  17. package/esm/drawer/Child.js +10 -20
  18. package/esm/drawer/index.js +22 -71
  19. package/esm/ellipsis/index.js +9 -17
  20. package/esm/guide/index.js +25 -63
  21. package/esm/index.d.ts +2 -2
  22. package/esm/index.js +1 -1
  23. package/esm/input-number/ControlArrow.js +0 -2
  24. package/esm/input-number/constants.js +2 -2
  25. package/esm/input-number/index.js +26 -106
  26. package/esm/lazy-image/index.js +10 -55
  27. package/esm/link-list/index.js +11 -35
  28. package/esm/loading/index.js +15 -42
  29. package/esm/loading-container/index.js +3 -6
  30. package/esm/loading-icon/index.js +0 -2
  31. package/esm/mask/index.js +6 -9
  32. package/esm/message/index.d.ts +44 -7
  33. package/esm/message/index.js +96 -111
  34. package/esm/message/renderMessage.d.ts +17 -0
  35. package/esm/message/renderMessage.js +137 -0
  36. package/esm/message/style/index.css +1 -1
  37. package/esm/modal/Title.js +5 -12
  38. package/esm/modal/getPopupLocation.js +5 -7
  39. package/esm/modal/index.js +44 -125
  40. package/esm/move/index.js +32 -132
  41. package/esm/move/range.js +6 -12
  42. package/esm/move/utils.js +3 -10
  43. package/esm/popover/index.js +9 -28
  44. package/esm/portal/index.js +1 -22
  45. package/esm/script/index.js +19 -59
  46. package/esm/select/index.js +28 -106
  47. package/esm/show-more/index.js +40 -103
  48. package/esm/skeleton/Item.js +1 -3
  49. package/esm/skeleton/index.js +5 -11
  50. package/esm/style.css +1 -1
  51. package/esm/table/body/BodyRow.js +11 -28
  52. package/esm/table/body/CheckIcon.js +10 -18
  53. package/esm/table/body/index.js +8 -12
  54. package/esm/table/header/CheckIcon.js +3 -11
  55. package/esm/table/header/HeaderCell.js +12 -33
  56. package/esm/table/header/HeaderRow.js +6 -17
  57. package/esm/table/index.js +30 -100
  58. package/esm/tabs/index.js +35 -118
  59. package/esm/tooltip/index.js +0 -4
  60. package/esm/trigger/align.js +6 -6
  61. package/esm/trigger/bottomAlign.js +33 -45
  62. package/esm/trigger/constants.js +0 -1
  63. package/esm/trigger/getPopupLocation.js +48 -68
  64. package/esm/trigger/index.js +52 -187
  65. package/esm/trigger/leftAlign.js +33 -47
  66. package/esm/trigger/ref.js +2 -7
  67. package/esm/trigger/rightAlign.js +33 -45
  68. package/esm/trigger/topAlign.js +33 -45
  69. package/esm/trigger/utils.js +28 -45
  70. package/lib/accordion/Item.js +6 -27
  71. package/lib/accordion/index.js +8 -41
  72. package/lib/affix/PortalAffix.js +7 -17
  73. package/lib/affix/index.js +30 -75
  74. package/lib/carousel/index.js +45 -146
  75. package/lib/checkbox/index.js +12 -41
  76. package/lib/collapse/index.js +11 -53
  77. package/lib/confirm/index.d.ts +8 -0
  78. package/lib/confirm/index.js +23 -38
  79. package/lib/date-picker/DateEnum.js +0 -3
  80. package/lib/date-picker/calendar/Day.js +62 -87
  81. package/lib/date-picker/calendar/MonthYear.js +20 -62
  82. package/lib/date-picker/calendar/grid/index.js +7 -16
  83. package/lib/date-picker/calendar/index.js +4 -37
  84. package/lib/date-picker/index.js +9 -58
  85. package/lib/date-picker/utils.js +6 -26
  86. package/lib/drawer/Child.js +10 -25
  87. package/lib/drawer/index.js +22 -78
  88. package/lib/ellipsis/index.js +9 -23
  89. package/lib/guide/index.js +25 -71
  90. package/lib/index.d.ts +2 -2
  91. package/lib/index.js +12 -32
  92. package/lib/input-number/ControlArrow.js +0 -4
  93. package/lib/input-number/constants.js +2 -2
  94. package/lib/input-number/index.js +26 -114
  95. package/lib/lazy-image/index.js +10 -58
  96. package/lib/link-list/index.js +11 -40
  97. package/lib/loading/index.js +13 -48
  98. package/lib/loading-bar/index.js +0 -5
  99. package/lib/loading-container/index.js +3 -11
  100. package/lib/loading-icon/index.js +0 -7
  101. package/lib/mask/index.js +6 -17
  102. package/lib/message/index.d.ts +44 -7
  103. package/lib/message/index.js +97 -120
  104. package/lib/message/renderMessage.d.ts +17 -0
  105. package/lib/message/renderMessage.js +144 -0
  106. package/lib/message/style/index.css +1 -1
  107. package/lib/modal/Affix.js +0 -4
  108. package/lib/modal/Title.js +5 -15
  109. package/lib/modal/getPopupLocation.js +5 -9
  110. package/lib/modal/index.js +44 -135
  111. package/lib/move/index.js +32 -144
  112. package/lib/move/range.js +6 -14
  113. package/lib/move/utils.js +3 -12
  114. package/lib/popover/index.js +9 -33
  115. package/lib/portal/index.js +1 -25
  116. package/lib/script/index.js +19 -61
  117. package/lib/select/index.js +28 -113
  118. package/lib/show-more/index.js +40 -110
  119. package/lib/skeleton/Item.js +1 -8
  120. package/lib/skeleton/index.js +5 -16
  121. package/lib/style.css +1 -1
  122. package/lib/table/body/BodyRow.js +11 -33
  123. package/lib/table/body/CheckIcon.js +10 -22
  124. package/lib/table/body/index.js +8 -17
  125. package/lib/table/header/CheckIcon.js +3 -15
  126. package/lib/table/header/HeaderCell.js +12 -37
  127. package/lib/table/header/HeaderRow.js +6 -22
  128. package/lib/table/index.js +30 -107
  129. package/lib/tabs/index.js +35 -122
  130. package/lib/tooltip/index.js +0 -9
  131. package/lib/trigger/align.js +0 -4
  132. package/lib/trigger/bottomAlign.js +33 -48
  133. package/lib/trigger/constants.js +0 -2
  134. package/lib/trigger/getPopupLocation.js +48 -74
  135. package/lib/trigger/index.js +52 -198
  136. package/lib/trigger/leftAlign.js +33 -50
  137. package/lib/trigger/ref.js +2 -12
  138. package/lib/trigger/rightAlign.js +33 -48
  139. package/lib/trigger/topAlign.js +33 -48
  140. package/lib/trigger/utils.js +28 -53
  141. package/package.json +7 -3
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var _utils = require("@autobest-ui/utils");
15
-
16
11
  var _popover = _interopRequireDefault(require("../popover"));
17
-
18
12
  var __extends = void 0 && (void 0).__extends || function () {
19
13
  var _extendStatics = function extendStatics(d, b) {
20
14
  _extendStatics = Object.setPrototypeOf || {
@@ -26,48 +20,34 @@ var __extends = void 0 && (void 0).__extends || function () {
26
20
  if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
27
21
  }
28
22
  };
29
-
30
23
  return _extendStatics(d, b);
31
24
  };
32
-
33
25
  return function (d, b) {
34
26
  if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
35
-
36
27
  _extendStatics(d, b);
37
-
38
28
  function __() {
39
29
  this.constructor = d;
40
30
  }
41
-
42
31
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
43
32
  };
44
33
  }();
45
-
46
- var LinkList =
47
- /** @class */
48
- function (_super) {
34
+ var LinkList = /** @class */function (_super) {
49
35
  __extends(LinkList, _super);
50
-
51
36
  function LinkList(props) {
52
37
  var _this = _super.call(this, props) || this;
53
-
54
38
  _this.prefixCls = 'ab-link-list';
55
-
56
39
  _this.onVisibleChange = function () {
57
40
  _this.setState({
58
41
  visible: !_this.state.visible
59
42
  });
60
43
  };
61
-
62
44
  _this.state = {
63
45
  visible: props.defaultVisible
64
46
  };
65
47
  return _this;
66
48
  }
67
-
68
49
  LinkList.prototype.renderItemContent = function (item) {
69
50
  var _a;
70
-
71
51
  var hrefTarget = this.props.hrefTarget;
72
52
  var cls = this.prefixCls;
73
53
  return item.url ? /*#__PURE__*/_react.default.createElement("a", {
@@ -80,13 +60,11 @@ function (_super) {
80
60
  className: (0, _classnames.default)((_a = {}, _a["".concat(cls, "-hidden")] = item.isHidden, _a))
81
61
  }, "".concat(item.name, " "));
82
62
  };
83
-
84
63
  LinkList.prototype.renderItem = function (item) {
85
64
  // 判断hiddenPopover和是否有具体的popover参数
86
65
  if (this.props.hiddenPopover || (0, _utils.isEmptyObject)(item.subInfo)) {
87
66
  return this.renderItemContent(item);
88
67
  }
89
-
90
68
  var subInfo = item.subInfo;
91
69
  var cls = this.prefixCls;
92
70
  return /*#__PURE__*/_react.default.createElement(_popover.default, {
@@ -107,37 +85,32 @@ function (_super) {
107
85
  mouseEnterDelay: 0.1
108
86
  }, this.renderItemContent(item));
109
87
  };
110
-
111
88
  LinkList.prototype.renderContent = function () {
112
89
  var _this = this;
113
-
114
90
  var _a = this.props,
115
- hiddenPopover = _a.hiddenPopover,
116
- options = _a.options; // 隐藏popover和忽略分列
117
-
91
+ hiddenPopover = _a.hiddenPopover,
92
+ options = _a.options;
93
+ // 隐藏popover和忽略分列
118
94
  if (hiddenPopover) {
119
95
  return options.map(function (item) {
120
96
  return _this.renderItemContent(item);
121
97
  });
122
- } // 忽略分列
123
-
124
-
98
+ }
99
+ // 忽略分列
125
100
  return options.map(function (item) {
126
101
  return _this.renderItem(item);
127
102
  });
128
103
  };
129
-
130
104
  LinkList.prototype.render = function () {
131
105
  var _a, _b;
132
-
133
106
  var cls = this.prefixCls;
134
107
  var visible = this.state.visible;
135
108
  var _c = this.props,
136
- className = _c.className,
137
- title = _c.title,
138
- extraTopElement = _c.extraTopElement,
139
- extraBottomElement = _c.extraBottomElement,
140
- columnCount = _c.columnCount;
109
+ className = _c.className,
110
+ title = _c.title,
111
+ extraTopElement = _c.extraTopElement,
112
+ extraBottomElement = _c.extraBottomElement,
113
+ columnCount = _c.columnCount;
141
114
  return /*#__PURE__*/_react.default.createElement("div", {
142
115
  className: (0, _classnames.default)(cls, className)
143
116
  }, title ? /*#__PURE__*/_react.default.createElement("div", {
@@ -151,7 +124,6 @@ function (_super) {
151
124
  className: (0, _classnames.default)("".concat(cls, "-content"), "".concat(cls, "-col").concat(columnCount))
152
125
  }, this.renderContent()), extraBottomElement));
153
126
  };
154
-
155
127
  LinkList.defaultProps = {
156
128
  className: '',
157
129
  hrefTarget: '_self',
@@ -162,6 +134,5 @@ function (_super) {
162
134
  };
163
135
  return LinkList;
164
136
  }(_react.default.Component);
165
-
166
137
  var _default = LinkList;
167
138
  exports.default = _default;
@@ -1,79 +1,59 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var _reactDom = _interopRequireDefault(require("react-dom"));
15
-
16
11
  var _utils = require("@autobest-ui/utils");
17
-
18
12
  var _loadingIcon = _interopRequireDefault(require("../loading-icon"));
19
-
20
13
  var __assign = void 0 && (void 0).__assign || function () {
21
14
  __assign = Object.assign || function (t) {
22
15
  for (var s, i = 1, n = arguments.length; i < n; i++) {
23
16
  s = arguments[i];
24
-
25
17
  for (var p in s) {
26
18
  if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
27
19
  }
28
20
  }
29
-
30
21
  return t;
31
22
  };
32
-
33
23
  return __assign.apply(this, arguments);
34
24
  };
35
-
36
25
  // 缓存创建的loading元素
37
26
  var loadingElement = null;
38
27
  var loadingTimer = null;
39
28
  var closeTimer = null;
40
29
  var prevCustomIcon = null;
41
30
  var cls = 'ab-loading';
42
-
43
31
  function getLoadingContainer(customIcon, className) {
44
32
  return /*#__PURE__*/_react.default.createElement("div", {
45
33
  className: (0, _classnames.default)("".concat(cls, "-wrap"), className)
46
34
  }, customIcon || /*#__PURE__*/_react.default.createElement(_loadingIcon.default, {
47
35
  className: "".concat(cls, "-content")
48
36
  }));
49
- } // openIds 容器
50
-
51
-
52
- var openIds = []; // closeIds 容器
53
-
37
+ }
38
+ // openIds 容器
39
+ var openIds = [];
40
+ // closeIds 容器
54
41
  var closeIds = [];
55
-
56
42
  function createLoading(customIcon, className) {
57
43
  loadingElement = document.createElement('div');
58
44
  document.body.appendChild(loadingElement);
59
-
60
45
  _reactDom.default.render(getLoadingContainer(customIcon, className), loadingElement);
61
46
  }
62
-
63
- var Loading =
64
- /** @class */
65
- function () {
47
+ var Loading = /** @class */function () {
66
48
  function Loading() {}
67
-
68
49
  Loading.open = function (config) {
69
50
  if (!_utils.canUseDOM) {
70
51
  return null;
71
52
  }
72
-
73
53
  config = __assign({
74
54
  expire: 0
75
- }, config); // 防止重复创建或自定义loading icon,重新创建
76
-
55
+ }, config);
56
+ // 防止重复创建或自定义loading icon,重新创建
77
57
  if (!loadingElement) {
78
58
  createLoading(config.customIcon, config.className);
79
59
  } else if (config.customIcon || config.customIcon !== prevCustomIcon) {
@@ -83,76 +63,61 @@ function () {
83
63
  loadingElement = null;
84
64
  } catch (e) {}
85
65
  }
86
-
87
66
  createLoading(config.customIcon, config.className);
88
67
  } else {
89
68
  loadingElement.style.display = 'block';
90
69
  }
91
-
92
- prevCustomIcon = config.customIcon; // 如果配置中有expire且大于0
70
+ prevCustomIcon = config.customIcon;
71
+ // 如果配置中有expire且大于0
93
72
  // 将会在到达时间后自动关闭,不用手动再关闭(不需要再close())
94
-
95
73
  if (config.expire > 0) {
96
74
  loadingTimer = setTimeout(function () {
97
75
  Loading.close();
98
76
  }, config.expire);
99
77
  }
100
-
101
78
  var id = new Date().getTime();
102
79
  openIds.push(id);
103
80
  return id;
104
81
  };
105
-
106
82
  Loading.close = function (closeId) {
107
83
  if (!_utils.canUseDOM) {
108
84
  return;
109
- } // 防止重复关闭
110
-
111
-
85
+ }
86
+ // 防止重复关闭
112
87
  if (loadingTimer) {
113
88
  clearTimeout(loadingTimer);
114
89
  }
115
-
116
90
  if (closeTimer) {
117
91
  clearTimeout(closeTimer);
118
92
  }
119
-
120
93
  if (!closeId) {
121
94
  openIds = [];
122
95
  closeIds = [];
123
-
124
96
  if (loadingElement) {
125
97
  loadingElement.style.display = 'none';
126
98
  }
127
-
128
99
  return;
129
100
  }
130
-
131
- closeIds.push(closeId); // 代码执行时,由于一些接口loading很短暂,而另一个接口还没有开始调用,
101
+ closeIds.push(closeId);
102
+ // 代码执行时,由于一些接口loading很短暂,而另一个接口还没有开始调用,
132
103
  // 只有closeId是不能真正解决一些特殊loading抖动情况,
133
104
  // 根据js的任务队列,我们加入setTimeout,只有主线程结束后才执行销毁
134
-
135
105
  closeTimer = setTimeout(function () {
136
106
  closeIds.forEach(function (id) {
137
107
  var index = openIds.indexOf(id);
138
-
139
108
  if (index >= 0) {
140
109
  openIds.splice(index, 1);
141
110
  }
142
111
  });
143
-
144
112
  if (!openIds.length) {
145
113
  closeIds = [];
146
-
147
114
  if (loadingElement) {
148
115
  loadingElement.style.display = 'none';
149
116
  }
150
117
  }
151
118
  });
152
119
  };
153
-
154
120
  return Loading;
155
121
  }();
156
-
157
122
  var _default = Loading;
158
123
  exports.default = _default;
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = LoadingBar;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _portal = _interopRequireDefault(require("../portal"));
13
-
14
10
  var cls = 'ab-loading-bar';
15
-
16
11
  function LoadingBar() {
17
12
  return /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement("div", {
18
13
  className: cls
@@ -1,27 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var _loadingIcon = _interopRequireDefault(require("../loading-icon"));
15
-
16
11
  var cls = 'ab-loading-container';
17
-
18
12
  function LoadingContainer(props) {
19
13
  var _a;
20
-
21
14
  var _b = props.loading,
22
- loading = _b === void 0 ? false : _b,
23
- className = props.className,
24
- children = props.children;
15
+ loading = _b === void 0 ? false : _b,
16
+ className = props.className,
17
+ children = props.children;
25
18
  return /*#__PURE__*/_react.default.createElement("div", {
26
19
  className: (0, _classnames.default)(className, cls, (_a = {}, _a["".concat(cls, "-active")] = loading, _a))
27
20
  }, children, loading && /*#__PURE__*/_react.default.createElement("div", {
@@ -30,6 +23,5 @@ function LoadingContainer(props) {
30
23
  className: "".concat(cls, "-icon")
31
24
  })));
32
25
  }
33
-
34
26
  var _default = LoadingContainer;
35
27
  exports.default = _default;
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var cls = 'ab-svg-loading';
15
-
16
11
  var LoadingIcon = function LoadingIcon(props) {
17
12
  var className = props.className;
18
13
  return /*#__PURE__*/_react.default.createElement("span", {
@@ -65,7 +60,5 @@ var LoadingIcon = function LoadingIcon(props) {
65
60
  fill: "#fff"
66
61
  })));
67
62
  };
68
-
69
63
  var _default = /*#__PURE__*/_react.default.memo(LoadingIcon);
70
-
71
64
  exports.default = _default;
package/lib/mask/index.js CHANGED
@@ -1,38 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var _reactTransitionGroup = require("react-transition-group");
15
-
16
11
  var _utils = require("@autobest-ui/utils");
17
-
18
12
  var prefixCls = 'ab-mask';
19
-
20
13
  function Mask(_a, ref) {
21
14
  var className = _a.className,
22
- _b = _a.timeout,
23
- timeout = _b === void 0 ? 300 : _b,
24
- _c = _a.onClose,
25
- onClose = _c === void 0 ? function () {} : _c,
26
- visible = _a.visible; // mousedown和touchstart会一起触发,这里判断后,只执行一次
27
-
15
+ _b = _a.timeout,
16
+ timeout = _b === void 0 ? 300 : _b,
17
+ _c = _a.onClose,
18
+ onClose = _c === void 0 ? function () {} : _c,
19
+ visible = _a.visible;
20
+ // mousedown和touchstart会一起触发,这里判断后,只执行一次
28
21
  var onChangeVisible = _react.default.useCallback(function (event) {
29
22
  var touch = (0, _utils.isTouchScreen)();
30
-
31
23
  if (event.type === 'touchstart' && touch || event.type === 'mousedown' && !touch) {
32
24
  onClose(event);
33
25
  }
34
26
  }, [onClose]);
35
-
36
27
  return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, {
37
28
  in: visible,
38
29
  timeout: timeout,
@@ -45,7 +36,5 @@ function Mask(_a, ref) {
45
36
  ref: ref
46
37
  }));
47
38
  }
48
-
49
39
  var _default = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef(Mask));
50
-
51
40
  exports.default = _default;
@@ -1,24 +1,61 @@
1
1
  import React from 'react';
2
+ import { MessageItem } from './renderMessage';
2
3
  export interface MessageProps {
3
4
  /**
4
5
  * 提示文字
5
6
  */
6
- content: React.ReactNode;
7
+ content: React.ReactChild;
7
8
  /**
8
- * class样式名
9
+ * 支持多种样式
9
10
  */
10
- className?: string;
11
11
  contentClassName?: string;
12
12
  /**
13
13
  * 提示文字显示的时间,达到时间后自动关闭
14
14
  */
15
15
  expires?: number;
16
+ /**
17
+ * 销毁后的回调
18
+ */
19
+ onDestroy?: () => void;
20
+ }
21
+ export interface MessageConfig {
22
+ className?: string;
23
+ expires?: number;
16
24
  /**
17
25
  * 最多同时显示的提示文字条数
18
26
  */
19
27
  maxCount?: number;
20
- width?: string;
21
- height?: string;
22
- onDestroy?: (id: number) => void;
23
28
  }
24
- export default function Message(config: MessageProps): () => void;
29
+ export interface MessageResult {
30
+ onClose: () => void;
31
+ onCloseAll: () => void;
32
+ }
33
+ declare type MessageItemWithTimer = MessageItem & {
34
+ timer?: ReturnType<typeof setTimeout>;
35
+ };
36
+ export declare class Message {
37
+ id: number;
38
+ prefixCls: string;
39
+ options: MessageItemWithTimer[];
40
+ config: MessageConfig;
41
+ constructor(config?: MessageConfig & {
42
+ prefixCls?: string;
43
+ });
44
+ private _render;
45
+ /**
46
+ * 关闭指定的一条message
47
+ * @param currentId
48
+ */
49
+ private _onClose;
50
+ /**
51
+ * 关闭所有message
52
+ */
53
+ private _onCloseAll;
54
+ setConfig: (config: MessageConfig) => void;
55
+ open: (props: MessageProps) => {
56
+ onCloseAll: () => void;
57
+ onClose: () => void;
58
+ };
59
+ }
60
+ declare const message: Message;
61
+ export default message;