@nutui/nutui-react 2.3.11 → 2.3.12

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 (252) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/ActionSheet.js +30 -86
  3. package/dist/esm/Address.js +80 -184
  4. package/dist/esm/Animate.js +21 -49
  5. package/dist/esm/AnimatingNumbers.js +47 -136
  6. package/dist/esm/Audio.js +88 -159
  7. package/dist/esm/Avatar.js +44 -91
  8. package/dist/esm/AvatarCropper.js +149 -268
  9. package/dist/esm/AvatarGroup.js +13 -44
  10. package/dist/esm/BackTop.js +34 -75
  11. package/dist/esm/Badge.js +0 -3
  12. package/dist/esm/Barrage.js +49 -83
  13. package/dist/esm/Button.js +0 -4
  14. package/dist/esm/Calendar.js +27 -119
  15. package/dist/esm/CalendarCard.js +180 -291
  16. package/dist/esm/CalendarItem.js +253 -314
  17. package/dist/esm/Card.js +38 -72
  18. package/dist/esm/Cascader.js +0 -17
  19. package/dist/esm/Cell.js +27 -62
  20. package/dist/esm/CellGroup.js +16 -45
  21. package/dist/esm/Checkbox.js +0 -6
  22. package/dist/esm/CheckboxGroup.js +49 -88
  23. package/dist/esm/CircleProgress.js +42 -93
  24. package/dist/esm/Col.js +17 -48
  25. package/dist/esm/Collapse.js +18 -49
  26. package/dist/esm/CollapseItem.js +0 -3
  27. package/dist/esm/ConfigProvider.js +3 -4
  28. package/dist/esm/CountDown.js +62 -101
  29. package/dist/esm/DatePicker.js +87 -127
  30. package/dist/esm/Dialog.js +117 -203
  31. package/dist/esm/Divider.js +16 -36
  32. package/dist/esm/Drag.js +32 -76
  33. package/dist/esm/Elevator.js +94 -133
  34. package/dist/esm/Ellipsis.js +71 -92
  35. package/dist/esm/Empty.js +31 -71
  36. package/dist/esm/FixedNav.js +32 -81
  37. package/dist/esm/Form.js +28 -61
  38. package/dist/esm/FormItem.js +0 -3
  39. package/dist/esm/Grid.js +27 -52
  40. package/dist/esm/GridItem.js +0 -4
  41. package/dist/esm/Image.js +47 -102
  42. package/dist/esm/ImagePreview.js +82 -135
  43. package/dist/esm/Indicator.js +0 -2
  44. package/dist/esm/InfiniteLoading.js +77 -159
  45. package/dist/esm/Input.js +57 -125
  46. package/dist/esm/InputNumber.js +66 -96
  47. package/dist/esm/Layout.js +4 -28
  48. package/dist/esm/Loading.js +13 -40
  49. package/dist/esm/Menu.js +51 -114
  50. package/dist/esm/MenuItem.js +0 -13
  51. package/dist/esm/NavBar.js +46 -85
  52. package/dist/esm/NoticeBar.js +153 -226
  53. package/dist/esm/Notify.js +87 -195
  54. package/dist/esm/NumberKeyboard.js +84 -150
  55. package/dist/esm/Overlay.js +0 -8
  56. package/dist/esm/Pagination.js +58 -97
  57. package/dist/esm/Picker.js +215 -283
  58. package/dist/esm/Popover.js +111 -160
  59. package/dist/esm/Popup.js +0 -12
  60. package/dist/esm/Price.js +23 -60
  61. package/dist/esm/Progress.js +47 -77
  62. package/dist/esm/PullToRefresh.js +94 -202
  63. package/dist/esm/Radio.js +0 -6
  64. package/dist/esm/RadioGroup.js +23 -56
  65. package/dist/esm/Range.js +113 -177
  66. package/dist/esm/Rate.js +48 -95
  67. package/dist/esm/Row.js +19 -43
  68. package/dist/esm/SafeArea.js +0 -2
  69. package/dist/esm/SearchBar.js +52 -119
  70. package/dist/esm/ShortPassword.js +58 -106
  71. package/dist/esm/SideNavBar.js +34 -59
  72. package/dist/esm/SideNavBarItem.js +7 -36
  73. package/dist/esm/Signature.js +49 -84
  74. package/dist/esm/Skeleton.js +31 -68
  75. package/dist/esm/Space.js +7 -34
  76. package/dist/esm/Step.js +35 -64
  77. package/dist/esm/Steps.js +16 -40
  78. package/dist/esm/Sticky.js +64 -109
  79. package/dist/esm/SubSideNavBar.js +42 -71
  80. package/dist/esm/Swipe.js +79 -143
  81. package/dist/esm/Swiper.js +136 -183
  82. package/dist/esm/SwiperItem.js +13 -38
  83. package/dist/esm/Switch.js +20 -53
  84. package/dist/esm/TabPane.js +6 -30
  85. package/dist/esm/Tabbar.js +29 -60
  86. package/dist/esm/TabbarItem.js +0 -4
  87. package/dist/esm/Table.js +92 -141
  88. package/dist/esm/Tabs.js +0 -7
  89. package/dist/esm/Tag.js +30 -74
  90. package/dist/esm/TextArea.js +37 -82
  91. package/dist/esm/TimeDetail.js +20 -58
  92. package/dist/esm/TimeSelect.js +57 -95
  93. package/dist/esm/Toast.js +110 -219
  94. package/dist/esm/Tour.js +88 -132
  95. package/dist/esm/TrendArrow.js +32 -74
  96. package/dist/esm/Uploader.js +226 -346
  97. package/dist/esm/UserContext.js +1 -1
  98. package/dist/esm/Video.js +34 -67
  99. package/dist/esm/VirtualList.js +127 -160
  100. package/dist/esm/WaterMark.js +24 -68
  101. package/dist/esm/badge2.js +23 -53
  102. package/dist/esm/button2.js +30 -63
  103. package/dist/esm/can-use-dom.js +1 -1
  104. package/dist/esm/cascader2.js +308 -538
  105. package/dist/esm/checkbox2.js +59 -96
  106. package/dist/esm/collapseitem2.js +48 -86
  107. package/dist/esm/configprovider2.js +43 -1003
  108. package/dist/esm/context.js +1 -1
  109. package/dist/esm/context2.js +1 -1
  110. package/dist/esm/context3.js +1 -1
  111. package/dist/esm/context4.js +1 -1
  112. package/dist/esm/context5.js +8 -8
  113. package/dist/esm/date.js +88 -66
  114. package/dist/esm/formitem2.js +236 -1526
  115. package/dist/esm/get-scroll-parent.js +8 -10
  116. package/dist/esm/griditem2.js +34 -52
  117. package/dist/esm/index.js +5 -12
  118. package/dist/esm/indicator2.js +13 -42
  119. package/dist/esm/menuitem2.js +81 -124
  120. package/dist/esm/overlay2.js +39 -78
  121. package/dist/esm/pad-zero.js +3 -4
  122. package/dist/esm/popup2.js +79 -124
  123. package/dist/esm/px-check.js +2 -2
  124. package/dist/esm/radio2.js +48 -79
  125. package/dist/esm/raf.js +5 -3
  126. package/dist/esm/render.js +17 -54
  127. package/dist/esm/safearea2.js +3 -5
  128. package/dist/esm/supports-passive.js +3 -3
  129. package/dist/esm/tabbaritem2.js +42 -58
  130. package/dist/esm/tabs2.js +82 -120
  131. package/dist/esm/tslib.es6.js +47 -0
  132. package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
  133. package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
  134. package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
  135. package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
  136. package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
  137. package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
  138. package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
  139. package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
  140. package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
  141. package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
  142. package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
  143. package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
  144. package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
  145. package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
  146. package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
  147. package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
  148. package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
  149. package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
  150. package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
  151. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
  152. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
  153. package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
  154. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
  155. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  156. package/dist/esm/typings.js +1 -1
  157. package/dist/esm/use-click-away.js +9 -13
  158. package/dist/esm/use-client-rect.js +4 -4
  159. package/dist/esm/use-props-value.js +10 -15
  160. package/dist/esm/use-refs.js +5 -7
  161. package/dist/esm/use-touch.js +16 -20
  162. package/dist/locales/base.js +1 -1
  163. package/dist/locales/en-US.js +1 -1
  164. package/dist/locales/id-ID.js +1 -1
  165. package/dist/locales/tr-TR.js +1 -1
  166. package/dist/locales/zh-CN.js +1 -1
  167. package/dist/locales/zh-TW.js +1 -1
  168. package/dist/locales/zh-UG.js +1 -1
  169. package/dist/nutui.react.es.js +465 -485
  170. package/dist/nutui.react.umd.js +462 -482
  171. package/dist/style.mjs +1 -1
  172. package/dist/styles/variables-jmapp.scss +4 -0
  173. package/dist/types/index.d.ts +98 -98
  174. package/dist/types/packages/actionsheet/actionsheet.d.ts +1 -1
  175. package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +1 -1
  176. package/dist/types/packages/address/address.d.ts +1 -1
  177. package/dist/types/packages/address/address.taro.d.ts +1 -1
  178. package/dist/types/packages/address/customRender.d.ts +1 -1
  179. package/dist/types/packages/address/customRender.taro.d.ts +1 -1
  180. package/dist/types/packages/avatar/avatar.d.ts +1 -1
  181. package/dist/types/packages/avatar/avatar.taro.d.ts +1 -1
  182. package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
  183. package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
  184. package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
  185. package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
  186. package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
  187. package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
  188. package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
  189. package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
  190. package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
  191. package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
  192. package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
  193. package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
  194. package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
  195. package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
  196. package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
  197. package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
  198. package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
  199. package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
  200. package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
  201. package/dist/types/packages/calendaritem/calendaritem.d.ts +1 -1
  202. package/dist/types/packages/calendaritem/calendaritem.taro.d.ts +1 -1
  203. package/dist/types/packages/cascader/cascader.d.ts +1 -1
  204. package/dist/types/packages/cascader/cascader.taro.d.ts +1 -1
  205. package/dist/types/packages/cell/cell.d.ts +1 -1
  206. package/dist/types/packages/cell/cell.taro.d.ts +1 -1
  207. package/dist/types/packages/checkbox/checkbox.d.ts +2 -2
  208. package/dist/types/packages/checkbox/checkbox.taro.d.ts +2 -2
  209. package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +2 -2
  210. package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
  211. package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
  212. package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
  213. package/dist/types/packages/configprovider/index.d.ts +2 -2
  214. package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
  215. package/dist/types/packages/datepicker/datepicker.d.ts +1 -1
  216. package/dist/types/packages/datepicker/datepicker.taro.d.ts +1 -1
  217. package/dist/types/packages/dialog/dialogwrap.d.ts +1 -1
  218. package/dist/types/packages/empty/empty.d.ts +16 -4
  219. package/dist/types/packages/fixednav/fixednav.d.ts +1 -1
  220. package/dist/types/packages/fixednav/fixednav.taro.d.ts +1 -1
  221. package/dist/types/packages/form/form.d.ts +1 -1
  222. package/dist/types/packages/form/form.taro.d.ts +1 -1
  223. package/dist/types/packages/form/index.d.ts +1 -1
  224. package/dist/types/packages/form/index.taro.d.ts +1 -1
  225. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  226. package/dist/types/packages/menu/menu.d.ts +1 -1
  227. package/dist/types/packages/menu/menu.taro.d.ts +1 -1
  228. package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  229. package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +1 -1
  230. package/dist/types/packages/nutui.react.d.ts +98 -98
  231. package/dist/types/packages/nutui.react.taro.d.ts +98 -98
  232. package/dist/types/packages/nutui.taro.react.build.d.ts +98 -98
  233. package/dist/types/packages/picker/picker.d.ts +1 -1
  234. package/dist/types/packages/picker/picker.taro.d.ts +1 -1
  235. package/dist/types/packages/popover/popover.d.ts +1 -1
  236. package/dist/types/packages/popover/popover.taro.d.ts +1 -1
  237. package/dist/types/packages/popup/popup.d.ts +1 -1
  238. package/dist/types/packages/popup/popup.taro.d.ts +1 -1
  239. package/dist/types/packages/radio/radio.d.ts +2 -2
  240. package/dist/types/packages/radio/radio.taro.d.ts +2 -2
  241. package/dist/types/packages/rate/rate.d.ts +1 -1
  242. package/dist/types/packages/shortpassword/shortpassword.d.ts +1 -1
  243. package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +1 -1
  244. package/dist/types/packages/swiper/index.d.ts +1 -1
  245. package/dist/types/packages/swiper/index.taro.d.ts +1 -1
  246. package/dist/types/packages/tabs/tabs.d.ts +1 -1
  247. package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
  248. package/dist/types/packages/timedetail/timedetail.d.ts +1 -1
  249. package/dist/types/packages/timedetail/timedetail.taro.d.ts +1 -1
  250. package/dist/types/packages/tour/tour.d.ts +1 -1
  251. package/dist/types/packages/tour/tour.taro.d.ts +1 -1
  252. package/package.json +5 -1
package/dist/esm/Toast.js CHANGED
@@ -1,208 +1,117 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- function ownKeys(e, r) {
9
- var t = Object.keys(e);
10
- if (Object.getOwnPropertySymbols) {
11
- var o = Object.getOwnPropertySymbols(e);
12
- r && (o = o.filter(function(r2) {
13
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
14
- })), t.push.apply(t, o);
15
- }
16
- return t;
17
- }
18
- function _objectSpread(e) {
19
- for (var r = 1; r < arguments.length; r++) {
20
- var t = null != arguments[r] ? arguments[r] : {};
21
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
22
- _defineProperty(e, r2, t[r2]);
23
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
24
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
25
- });
26
- }
27
- return e;
28
- }
29
- function _createSuper(Derived) {
30
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
31
- return function _createSuperInternal() {
32
- var Super = _getPrototypeOf(Derived), result;
33
- if (hasNativeReflectConstruct) {
34
- var NewTarget = _getPrototypeOf(this).constructor;
35
- result = Reflect.construct(Super, arguments, NewTarget);
36
- } else {
37
- result = Super.apply(this, arguments);
38
- }
39
- return _possibleConstructorReturn(this, result);
40
- };
41
- }
42
- function _isNativeReflectConstruct() {
43
- if (typeof Reflect === "undefined" || !Reflect.construct)
44
- return false;
45
- if (Reflect.construct.sham)
46
- return false;
47
- if (typeof Proxy === "function")
48
- return true;
49
- try {
50
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
51
- }));
52
- return true;
53
- } catch (e) {
54
- return false;
55
- }
56
- }
57
1
  import * as React from "react";
58
2
  import classNames from "classnames";
59
3
  import { Tips, Failure, Loading, Check } from "@nutui/icons-react";
60
4
  import { r as render, u as unmount } from "./render.js";
61
5
  import { O as Overlay } from "./overlay2.js";
62
6
  import { C as ComponentDefaults } from "./typings.js";
63
- import "react-dom";
64
- import "react-transition-group";
65
- import "./use-touch.js";
66
- import "./get-scroll-parent.js";
67
- import "./can-use-dom.js";
68
- import "./supports-passive.js";
69
- var classPrefix = "nut-toast";
70
- var Notification = /* @__PURE__ */ function(_React$PureComponent) {
71
- _inherits(Notification2, _React$PureComponent);
72
- var _super = _createSuper(Notification2);
73
- function Notification2(props) {
74
- var _this;
75
- _classCallCheck(this, Notification2);
76
- _this = _super.call(this, props);
77
- _defineProperty(_assertThisInitialized(_this), "closeTimer", void 0);
78
- _this.close = _this.close.bind(_assertThisInitialized(_this));
79
- _this.startCloseTimer = _this.startCloseTimer.bind(_assertThisInitialized(_this));
80
- _this.clearCloseTimer = _this.clearCloseTimer.bind(_assertThisInitialized(_this));
81
- _this.clickCover = _this.clickCover.bind(_assertThisInitialized(_this));
82
- _this.state = {
7
+ const classPrefix = "nut-toast";
8
+ class Notification extends React.PureComponent {
9
+ constructor(props) {
10
+ super(props);
11
+ this.close = this.close.bind(this);
12
+ this.startCloseTimer = this.startCloseTimer.bind(this);
13
+ this.clearCloseTimer = this.clearCloseTimer.bind(this);
14
+ this.clickCover = this.clickCover.bind(this);
15
+ this.state = {
83
16
  show: true
84
17
  };
85
- return _this;
86
18
  }
87
- _createClass(Notification2, [{
88
- key: "close",
89
- value: function close() {
90
- this.setState({
91
- show: false
92
- });
93
- this.clearCloseTimer();
94
- if (this.props.id) {
95
- var element = document.getElementById(this.props.id);
96
- element && element.parentNode && element.parentNode.removeChild(element);
97
- }
98
- this.props.onClose();
99
- }
100
- }, {
101
- key: "startCloseTimer",
102
- value: function startCloseTimer() {
103
- var _this2 = this;
104
- var duration = this.props.duration;
105
- if (duration) {
106
- this.closeTimer = window.setTimeout(function() {
107
- _this2.close();
108
- }, duration * 1e3);
109
- }
110
- }
111
- }, {
112
- key: "clearCloseTimer",
113
- value: function clearCloseTimer() {
114
- if (this.closeTimer) {
115
- clearTimeout(this.closeTimer);
116
- this.closeTimer = -1;
117
- }
19
+ close() {
20
+ this.setState({
21
+ show: false
22
+ });
23
+ this.clearCloseTimer();
24
+ if (this.props.id) {
25
+ const element = document.getElementById(this.props.id);
26
+ element && element.parentNode && element.parentNode.removeChild(element);
118
27
  }
119
- }, {
120
- key: "clickCover",
121
- value: function clickCover() {
122
- var closeOnOverlayClick = this.props.closeOnOverlayClick;
123
- if (closeOnOverlayClick) {
28
+ this.props.onClose();
29
+ }
30
+ startCloseTimer() {
31
+ const { duration } = this.props;
32
+ if (duration) {
33
+ this.closeTimer = window.setTimeout(() => {
124
34
  this.close();
125
- }
126
- }
127
- }, {
128
- key: "renderIcon",
129
- value: function renderIcon() {
130
- var icon = this.props.icon;
131
- if (typeof icon === "string") {
132
- var iconNode = null;
133
- switch (icon) {
134
- case "success":
135
- iconNode = React.createElement(Check, null);
136
- break;
137
- case "loading":
138
- iconNode = React.createElement(Loading, {
139
- className: "nut-icon-loading"
140
- });
141
- break;
142
- case "fail":
143
- iconNode = React.createElement(Failure, null);
144
- break;
145
- case "warn":
146
- iconNode = React.createElement(Tips, null);
147
- break;
148
- }
149
- return React.createElement("p", {
150
- className: "".concat(classPrefix, "-icon-wrapper")
151
- }, iconNode);
152
- }
153
- return icon;
35
+ }, duration * 1e3);
154
36
  }
155
- }, {
156
- key: "componentDidMount",
157
- value: function componentDidMount() {
158
- this.startCloseTimer();
37
+ }
38
+ clearCloseTimer() {
39
+ if (this.closeTimer) {
40
+ clearTimeout(this.closeTimer);
41
+ this.closeTimer = -1;
159
42
  }
160
- }, {
161
- key: "componentWillUnmount",
162
- value: function componentWillUnmount() {
163
- this.clearCloseTimer();
43
+ }
44
+ clickCover() {
45
+ const { closeOnOverlayClick } = this.props;
46
+ if (closeOnOverlayClick) {
47
+ this.close();
164
48
  }
165
- }, {
166
- key: "render",
167
- value: function render2() {
168
- var _this3 = this;
169
- var _this$props = this.props, id = _this$props.id, icon = _this$props.icon, title = _this$props.title, content = _this$props.content, position = _this$props.position, size = _this$props.size, closeOnOverlayClick = _this$props.closeOnOverlayClick, lockScroll = _this$props.lockScroll, style = _this$props.style, className = _this$props.className, contentClassName = _this$props.contentClassName, contentStyle = _this$props.contentStyle, wordBreak = _this$props.wordBreak;
170
- var show2 = this.state.show;
171
- var classes = classNames(_defineProperty({
172
- "nut-toast-has-icon": icon
173
- }, "nut-toast-".concat(size), true));
174
- return React.createElement(React.Fragment, null, React.createElement(Overlay, {
175
- visible: show2,
176
- style,
177
- className: "".concat(classPrefix, "-overlay-default ").concat(className),
178
- onClick: function onClick() {
179
- _this3.clickCover();
180
- },
181
- closeOnOverlayClick,
182
- lockScroll
183
- }, React.createElement("div", {
184
- className: "".concat(classPrefix, " ").concat(classes),
185
- id: "toast-".concat(id)
186
- }, React.createElement("div", {
187
- className: "".concat(classPrefix, "-inner ").concat(classPrefix, "-").concat(position, " ").concat(contentClassName, " ").concat(wordBreak),
188
- style: contentStyle
189
- }, this.renderIcon(), title ? React.createElement("div", {
190
- className: "".concat(classPrefix, "-title")
191
- }, title) : null, React.createElement("span", {
192
- className: "".concat(classPrefix, "-text")
193
- }, content)))));
49
+ }
50
+ renderIcon() {
51
+ const { icon } = this.props;
52
+ if (typeof icon === "string") {
53
+ let iconNode = null;
54
+ switch (icon) {
55
+ case "success":
56
+ iconNode = React.createElement(Check, null);
57
+ break;
58
+ case "loading":
59
+ iconNode = React.createElement(Loading, { className: "nut-icon-loading" });
60
+ break;
61
+ case "fail":
62
+ iconNode = React.createElement(Failure, null);
63
+ break;
64
+ case "warn":
65
+ iconNode = React.createElement(Tips, null);
66
+ break;
67
+ }
68
+ return React.createElement("p", { className: `${classPrefix}-icon-wrapper` }, iconNode);
194
69
  }
195
- }]);
196
- return Notification2;
197
- }(React.PureComponent);
198
- _defineProperty(Notification, "newInstance", void 0);
199
- Notification.newInstance = function(properties, callback) {
200
- var element = document.createElement("div");
201
- var id = properties.id ? properties.id : "".concat((/* @__PURE__ */ new Date()).getTime());
70
+ return icon;
71
+ }
72
+ componentDidMount() {
73
+ this.startCloseTimer();
74
+ }
75
+ componentWillUnmount() {
76
+ this.clearCloseTimer();
77
+ }
78
+ render() {
79
+ const { id, icon, title, content, position, size, closeOnOverlayClick, lockScroll, style, className, contentClassName, contentStyle, wordBreak } = this.props;
80
+ const { show: show2 } = this.state;
81
+ const classes = classNames({
82
+ "nut-toast-has-icon": icon,
83
+ [`nut-toast-${size}`]: true
84
+ });
85
+ return React.createElement(
86
+ React.Fragment,
87
+ null,
88
+ React.createElement(
89
+ Overlay,
90
+ { visible: show2, style, className: `${classPrefix}-overlay-default ${className}`, onClick: () => {
91
+ this.clickCover();
92
+ }, closeOnOverlayClick, lockScroll },
93
+ React.createElement(
94
+ "div",
95
+ { className: `${classPrefix} ${classes}`, id: `toast-${id}` },
96
+ React.createElement(
97
+ "div",
98
+ { className: `${classPrefix}-inner ${classPrefix}-${position} ${contentClassName} ${wordBreak}`, style: contentStyle },
99
+ this.renderIcon(),
100
+ title ? React.createElement("div", { className: `${classPrefix}-title` }, title) : null,
101
+ React.createElement("span", { className: `${classPrefix}-text` }, content)
102
+ )
103
+ )
104
+ )
105
+ );
106
+ }
107
+ }
108
+ Notification.newInstance = (properties, callback) => {
109
+ const element = document.createElement("div");
110
+ const id = properties.id ? properties.id : `${(/* @__PURE__ */ new Date()).getTime()}`;
202
111
  element.id = id;
203
112
  properties.id = id;
204
113
  document.body.appendChild(element);
205
- var called = false;
114
+ let called = false;
206
115
  function ref(instance) {
207
116
  if (called) {
208
117
  return;
@@ -210,37 +119,23 @@ Notification.newInstance = function(properties, callback) {
210
119
  called = true;
211
120
  callback({
212
121
  component: instance,
213
- destroy: function destroy() {
122
+ destroy() {
214
123
  unmount(element);
215
124
  element && element.parentNode && element.parentNode.removeChild(element);
216
125
  }
217
126
  });
218
127
  }
219
- render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
220
- ref
221
- })), element);
128
+ render(React.createElement(Notification, Object.assign({}, properties, { ref })), element);
222
129
  };
223
- var messageInstance = null;
224
- var options = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
225
- id: "",
226
- duration: 2,
227
- position: "center",
228
- title: "",
229
- size: "base",
230
- icon: null,
231
- onClose: function onClose() {
232
- },
233
- closeOnOverlayClick: false,
234
- lockScroll: false,
235
- contentClassName: "",
236
- wordBreak: "break-all"
237
- });
130
+ let messageInstance = null;
131
+ let options = Object.assign(Object.assign({}, ComponentDefaults), { id: "", duration: 2, position: "center", title: "", size: "base", icon: null, onClose: () => {
132
+ }, closeOnOverlayClick: false, lockScroll: false, contentClassName: "", wordBreak: "break-all" });
238
133
  function getInstance(props, callback) {
239
134
  if (messageInstance) {
240
135
  messageInstance.destroy();
241
136
  messageInstance = null;
242
137
  }
243
- Notification.newInstance(props, function(notification) {
138
+ Notification.newInstance(props, (notification) => {
244
139
  return callback && callback(notification);
245
140
  });
246
141
  }
@@ -252,14 +147,12 @@ function notice(opts) {
252
147
  opts.onClose && opts.onClose();
253
148
  }
254
149
  }
255
- var opts2 = _objectSpread(_objectSpread(_objectSpread({}, options), opts), {}, {
256
- onClose: close
257
- });
258
- getInstance(opts2, function(notification) {
150
+ const opts2 = Object.assign(Object.assign(Object.assign({}, options), opts), { onClose: close });
151
+ getInstance(opts2, (notification) => {
259
152
  messageInstance = notification;
260
153
  });
261
154
  }
262
- var errorMsg = function errorMsg2(msg) {
155
+ const errorMsg = (msg) => {
263
156
  if (!msg) {
264
157
  console.warn("[NutUI Toast]: msg cannot be null");
265
158
  }
@@ -267,20 +160,18 @@ var errorMsg = function errorMsg2(msg) {
267
160
  function show(option) {
268
161
  if (typeof option === "string") {
269
162
  errorMsg(option);
270
- return notice({
271
- content: option
272
- });
163
+ return notice({ content: option });
273
164
  }
274
165
  errorMsg(option.content);
275
- return notice(_objectSpread({}, option));
166
+ return notice(Object.assign({}, option));
276
167
  }
277
168
  function config(config2) {
278
- options = _objectSpread(_objectSpread({}, options), config2);
169
+ options = Object.assign(Object.assign({}, options), config2);
279
170
  }
280
- var Toast = {
171
+ const Toast = {
281
172
  show,
282
173
  config,
283
- clear: function clear() {
174
+ clear() {
284
175
  if (messageInstance) {
285
176
  messageInstance.destroy();
286
177
  messageInstance = null;
package/dist/esm/Tour.js CHANGED
@@ -1,28 +1,4 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["children", "className", "title", "closeOnOverlayClick", "showPrev", "list", "type", "location", "visible", "mask", "maskWidth", "maskHeight", "offset", "next", "prev", "complete", "onClose", "onChange"];
5
- function ownKeys(e, r) {
6
- var t = Object.keys(e);
7
- if (Object.getOwnPropertySymbols) {
8
- var o = Object.getOwnPropertySymbols(e);
9
- r && (o = o.filter(function(r2) {
10
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
11
- })), t.push.apply(t, o);
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
19
- _defineProperty(e, r2, t[r2]);
20
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
21
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
22
- });
23
- }
24
- return e;
25
- }
1
+ import { _ as __rest } from "./tslib.es6.js";
26
2
  import React__default, { useState, useEffect } from "react";
27
3
  import { Close } from "@nutui/icons-react";
28
4
  import classNames from "classnames";
@@ -30,38 +6,24 @@ import Popover from "./Popover.js";
30
6
  import { g as getRect } from "./use-client-rect.js";
31
7
  import { C as ComponentDefaults } from "./typings.js";
32
8
  import { useConfig } from "./ConfigProvider.js";
33
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
34
- visible: false,
35
- type: "step",
36
- location: "bottom",
37
- mask: true,
38
- maskWidth: "",
39
- maskHeight: "",
40
- offset: [8, 10],
41
- title: "",
42
- next: "",
43
- prev: "",
44
- complete: "",
45
- showPrev: true,
46
- closeOnOverlayClick: true
47
- });
48
- var classPrefix = "nut-tour";
49
- var Tour = function Tour2(props) {
50
- var _useConfig = useConfig(), locale = _useConfig.locale;
51
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, className = _defaultProps$props.className, title = _defaultProps$props.title, closeOnOverlayClick = _defaultProps$props.closeOnOverlayClick, showPrev = _defaultProps$props.showPrev, list = _defaultProps$props.list, type = _defaultProps$props.type, location = _defaultProps$props.location, visible = _defaultProps$props.visible, mask = _defaultProps$props.mask, maskWidth = _defaultProps$props.maskWidth, maskHeight = _defaultProps$props.maskHeight, offset = _defaultProps$props.offset, next = _defaultProps$props.next, prev = _defaultProps$props.prev, complete = _defaultProps$props.complete, onClose = _defaultProps$props.onClose, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
52
- var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), showTour = _useState2[0], setShowTour = _useState2[1];
53
- var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), showPopup = _useState4[0], setShowPopup = _useState4[1];
54
- var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), active = _useState6[0], setActive = _useState6[1];
55
- var _useState7 = useState({
9
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { visible: false, type: "step", location: "bottom", mask: true, maskWidth: "", maskHeight: "", offset: [8, 10], title: "", next: "", prev: "", complete: "", showPrev: true, closeOnOverlayClick: true });
10
+ const classPrefix = "nut-tour";
11
+ const Tour = (props) => {
12
+ const { locale } = useConfig();
13
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { children, className, title, closeOnOverlayClick, showPrev, list, type, location, visible, mask, maskWidth, maskHeight, offset, next, prev, complete, onClose, onChange } = _a, rest = __rest(_a, ["children", "className", "title", "closeOnOverlayClick", "showPrev", "list", "type", "location", "visible", "mask", "maskWidth", "maskHeight", "offset", "next", "prev", "complete", "onClose", "onChange"]);
14
+ const [showTour, setShowTour] = useState(false);
15
+ const [showPopup, setShowPopup] = useState(false);
16
+ const [active, setActive] = useState(0);
17
+ const [maskRect, setMaskRect] = useState({
56
18
  top: 0,
57
19
  left: 0,
58
20
  right: 0,
59
21
  bottom: 0,
60
22
  width: 0,
61
23
  height: 0
62
- }), _useState8 = _slicedToArray(_useState7, 2), maskRect = _useState8[0], setMaskRect = _useState8[1];
63
- var classes = classNames(classPrefix, className);
64
- useEffect(function() {
24
+ });
25
+ const classes = classNames(classPrefix, className);
26
+ useEffect(() => {
65
27
  if (visible) {
66
28
  getRootPosition();
67
29
  }
@@ -69,39 +31,39 @@ var Tour = function Tour2(props) {
69
31
  setShowTour(visible);
70
32
  setShowPopup(visible);
71
33
  }, [visible]);
72
- useEffect(function() {
34
+ useEffect(() => {
73
35
  if (visible) {
74
36
  setShowPopup(true);
75
37
  getRootPosition();
76
38
  }
77
39
  }, [active]);
78
- var getRootPosition = function getRootPosition2() {
79
- var el = document.querySelector("#".concat(list[active].target));
80
- var rect = getRect(el);
40
+ const getRootPosition = () => {
41
+ const el = document.querySelector(`#${list[active].target}`);
42
+ const rect = getRect(el);
81
43
  setMaskRect(rect);
82
44
  };
83
- var maskStyle = function maskStyle2() {
84
- var width = maskRect.width, height = maskRect.height, left = maskRect.left, top = maskRect.top;
85
- var center = [left + width / 2, top + height / 2];
86
- var w = Number(maskWidth || width);
87
- var h = Number(maskHeight || height);
88
- var styles = {
89
- width: "".concat(w + +offset[1] * 2, "px"),
90
- height: "".concat(h + +offset[0] * 2, "px"),
91
- top: "".concat(center[1] - h / 2 - +offset[0], "px"),
92
- left: "".concat(center[0] - w / 2 - +offset[1], "px")
45
+ const maskStyle = () => {
46
+ const { width, height, left, top } = maskRect;
47
+ const center = [left + width / 2, top + height / 2];
48
+ const w = Number(maskWidth || width);
49
+ const h = Number(maskHeight || height);
50
+ const styles = {
51
+ width: `${w + +offset[1] * 2}px`,
52
+ height: `${h + +offset[0] * 2}px`,
53
+ top: `${center[1] - h / 2 - +offset[0]}px`,
54
+ left: `${center[0] - w / 2 - +offset[1]}px`
93
55
  };
94
56
  return styles;
95
57
  };
96
- var maskClose = function maskClose2(e) {
58
+ const maskClose = (e) => {
97
59
  setShowTour(false);
98
60
  setShowPopup(false);
99
61
  onClose && onClose(e);
100
62
  };
101
- var handleClickMask = function handleClickMask2(e) {
63
+ const handleClickMask = (e) => {
102
64
  closeOnOverlayClick && maskClose(e);
103
65
  };
104
- var changeStep = function changeStep2(type2) {
66
+ const changeStep = (type2) => {
105
67
  if (type2 === "next") {
106
68
  setActive(active + 1);
107
69
  onChange && onChange(active + 1);
@@ -111,70 +73,64 @@ var Tour = function Tour2(props) {
111
73
  }
112
74
  setShowPopup(false);
113
75
  };
114
- return React__default.createElement("div", _objectSpread({
115
- className: classes
116
- }, rest), React__default.createElement("div", {
117
- className: "nut-tour-masked",
118
- style: {
119
- display: showTour ? "block" : "none"
120
- },
121
- onClick: handleClickMask
122
- }), list.map(function(item, index) {
123
- return React__default.createElement("div", {
124
- key: index,
125
- style: {
126
- height: 0
127
- }
128
- }, index === active && React__default.createElement(React__default.Fragment, null, showTour && React__default.createElement("div", {
129
- className: "".concat(mask ? "nut-tour-mask" : "nut-tour-mask nut-tour-mask-none"),
130
- id: "nut-tour-popid",
131
- style: maskStyle()
132
- }), React__default.createElement(Popover, {
133
- visible: showPopup,
134
- location: item.location || location,
135
- targetId: "nut-tour-popid",
136
- closeOnOutsideClick: false,
137
- offset: item.popoverOffset || [0, 12],
138
- arrowOffset: item.arrowOffset || 0
139
- }, React__default.createElement(React__default.Fragment, null), React__default.createElement(React__default.Fragment, null, children || React__default.createElement(React__default.Fragment, null, type === "step" && React__default.createElement("div", {
140
- className: "nut-tour-content"
141
- }, title && React__default.createElement("div", {
142
- className: "nut-tour-content-top"
143
- }, React__default.createElement("div", {
144
- onClick: function onClick(e) {
145
- return maskClose(e);
146
- }
147
- }, React__default.createElement(Close, {
148
- className: "nut-tour-content-top-close"
149
- }))), React__default.createElement("div", {
150
- className: "nut-tour-content-inner"
151
- }, item.content), React__default.createElement("div", {
152
- className: "nut-tour-content-bottom"
153
- }, React__default.createElement("div", {
154
- className: "nut-tour-content-bottom-init"
155
- }, active + 1, "/", list.length), React__default.createElement("div", {
156
- className: "nut-tour-content-bottom-operate"
157
- }, active !== 0 && showPrev && React__default.createElement("div", {
158
- className: "nut-tour-content-bottom-operate-btn",
159
- onClick: function onClick() {
160
- return changeStep("prev");
161
- }
162
- }, prev || locale.tour.prevStepText), list.length - 1 === active && React__default.createElement("div", {
163
- className: "nut-tour-content-bottom-operate-btn active",
164
- onClick: function onClick(e) {
165
- return maskClose(e);
166
- }
167
- }, complete || locale.tour.completeText), list.length - 1 !== active && React__default.createElement("div", {
168
- className: "nut-tour-content-bottom-operate-btn active",
169
- onClick: function onClick() {
170
- return changeStep("next");
171
- }
172
- }, next || locale.tour.nextStepText)))), type === "tile" && React__default.createElement("div", {
173
- className: "nut-tour-content nut-tour-content-tile"
174
- }, React__default.createElement("div", {
175
- className: "nut-tour-content-inner"
176
- }, item.content)))))));
177
- }));
76
+ return React__default.createElement(
77
+ "div",
78
+ Object.assign({ className: classes }, rest),
79
+ React__default.createElement("div", { className: "nut-tour-masked", style: { display: showTour ? "block" : "none" }, onClick: handleClickMask }),
80
+ list.map((item, index) => {
81
+ return React__default.createElement("div", { key: index, style: { height: 0 } }, index === active && React__default.createElement(
82
+ React__default.Fragment,
83
+ null,
84
+ showTour && React__default.createElement("div", { className: `${mask ? "nut-tour-mask" : "nut-tour-mask nut-tour-mask-none"}`, id: "nut-tour-popid", style: maskStyle() }),
85
+ React__default.createElement(
86
+ Popover,
87
+ { visible: showPopup, location: item.location || location, targetId: "nut-tour-popid", closeOnOutsideClick: false, offset: item.popoverOffset || [0, 12], arrowOffset: item.arrowOffset || 0 },
88
+ React__default.createElement(React__default.Fragment, null),
89
+ React__default.createElement(React__default.Fragment, null, children || React__default.createElement(
90
+ React__default.Fragment,
91
+ null,
92
+ type === "step" && React__default.createElement(
93
+ "div",
94
+ { className: "nut-tour-content" },
95
+ title && React__default.createElement(
96
+ "div",
97
+ { className: "nut-tour-content-top" },
98
+ React__default.createElement(
99
+ "div",
100
+ { onClick: (e) => maskClose(e) },
101
+ React__default.createElement(Close, { className: "nut-tour-content-top-close" })
102
+ )
103
+ ),
104
+ React__default.createElement("div", { className: "nut-tour-content-inner" }, item.content),
105
+ React__default.createElement(
106
+ "div",
107
+ { className: "nut-tour-content-bottom" },
108
+ React__default.createElement(
109
+ "div",
110
+ { className: "nut-tour-content-bottom-init" },
111
+ active + 1,
112
+ "/",
113
+ list.length
114
+ ),
115
+ React__default.createElement(
116
+ "div",
117
+ { className: "nut-tour-content-bottom-operate" },
118
+ active !== 0 && showPrev && React__default.createElement("div", { className: "nut-tour-content-bottom-operate-btn", onClick: () => changeStep("prev") }, prev || locale.tour.prevStepText),
119
+ list.length - 1 === active && React__default.createElement("div", { className: "nut-tour-content-bottom-operate-btn active", onClick: (e) => maskClose(e) }, complete || locale.tour.completeText),
120
+ list.length - 1 !== active && React__default.createElement("div", { className: "nut-tour-content-bottom-operate-btn active", onClick: () => changeStep("next") }, next || locale.tour.nextStepText)
121
+ )
122
+ )
123
+ ),
124
+ type === "tile" && React__default.createElement(
125
+ "div",
126
+ { className: "nut-tour-content nut-tour-content-tile" },
127
+ React__default.createElement("div", { className: "nut-tour-content-inner" }, item.content)
128
+ )
129
+ ))
130
+ )
131
+ ));
132
+ })
133
+ );
178
134
  };
179
135
  Tour.defaultProps = defaultProps;
180
136
  Tour.displayName = "NutTour";