@nutui/nutui-react 2.3.12-beta.0 → 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 (184) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/ActionSheet.js +30 -76
  3. package/dist/esm/Address.js +80 -171
  4. package/dist/esm/Animate.js +21 -49
  5. package/dist/esm/AnimatingNumbers.js +47 -120
  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/Barrage.js +49 -83
  12. package/dist/esm/Calendar.js +27 -119
  13. package/dist/esm/CalendarCard.js +180 -291
  14. package/dist/esm/CalendarItem.js +253 -314
  15. package/dist/esm/Card.js +38 -72
  16. package/dist/esm/Cell.js +27 -62
  17. package/dist/esm/CellGroup.js +16 -45
  18. package/dist/esm/CheckboxGroup.js +49 -85
  19. package/dist/esm/CircleProgress.js +42 -93
  20. package/dist/esm/Col.js +17 -48
  21. package/dist/esm/Collapse.js +18 -49
  22. package/dist/esm/ConfigProvider.js +3 -2
  23. package/dist/esm/CountDown.js +62 -101
  24. package/dist/esm/DatePicker.js +87 -127
  25. package/dist/esm/Dialog.js +116 -196
  26. package/dist/esm/Divider.js +16 -36
  27. package/dist/esm/Drag.js +32 -76
  28. package/dist/esm/Elevator.js +93 -133
  29. package/dist/esm/Ellipsis.js +71 -92
  30. package/dist/esm/Empty.js +31 -70
  31. package/dist/esm/FixedNav.js +32 -81
  32. package/dist/esm/Form.js +28 -61
  33. package/dist/esm/Grid.js +27 -51
  34. package/dist/esm/Image.js +47 -102
  35. package/dist/esm/ImagePreview.js +82 -135
  36. package/dist/esm/InfiniteLoading.js +77 -159
  37. package/dist/esm/Input.js +57 -125
  38. package/dist/esm/InputNumber.js +66 -96
  39. package/dist/esm/Layout.js +4 -28
  40. package/dist/esm/Loading.js +13 -40
  41. package/dist/esm/Menu.js +51 -105
  42. package/dist/esm/NavBar.js +46 -85
  43. package/dist/esm/NoticeBar.js +153 -226
  44. package/dist/esm/Notify.js +87 -178
  45. package/dist/esm/NumberKeyboard.js +84 -150
  46. package/dist/esm/Pagination.js +58 -97
  47. package/dist/esm/Picker.js +215 -276
  48. package/dist/esm/Popover.js +111 -159
  49. package/dist/esm/Price.js +23 -60
  50. package/dist/esm/Progress.js +47 -77
  51. package/dist/esm/PullToRefresh.js +94 -201
  52. package/dist/esm/RadioGroup.js +23 -53
  53. package/dist/esm/Range.js +113 -177
  54. package/dist/esm/Rate.js +48 -95
  55. package/dist/esm/Row.js +19 -43
  56. package/dist/esm/SearchBar.js +52 -119
  57. package/dist/esm/ShortPassword.js +58 -106
  58. package/dist/esm/SideNavBar.js +34 -59
  59. package/dist/esm/SideNavBarItem.js +7 -36
  60. package/dist/esm/Signature.js +49 -84
  61. package/dist/esm/Skeleton.js +31 -68
  62. package/dist/esm/Space.js +7 -34
  63. package/dist/esm/Step.js +35 -64
  64. package/dist/esm/Steps.js +16 -40
  65. package/dist/esm/Sticky.js +64 -108
  66. package/dist/esm/SubSideNavBar.js +42 -71
  67. package/dist/esm/Swipe.js +79 -143
  68. package/dist/esm/Swiper.js +136 -183
  69. package/dist/esm/SwiperItem.js +13 -38
  70. package/dist/esm/Switch.js +20 -53
  71. package/dist/esm/TabPane.js +6 -30
  72. package/dist/esm/Tabbar.js +29 -59
  73. package/dist/esm/Table.js +92 -141
  74. package/dist/esm/Tag.js +30 -74
  75. package/dist/esm/TextArea.js +37 -82
  76. package/dist/esm/TimeDetail.js +20 -58
  77. package/dist/esm/TimeSelect.js +57 -95
  78. package/dist/esm/Toast.js +110 -197
  79. package/dist/esm/Tour.js +88 -132
  80. package/dist/esm/TrendArrow.js +32 -74
  81. package/dist/esm/Uploader.js +226 -346
  82. package/dist/esm/UserContext.js +1 -1
  83. package/dist/esm/Video.js +34 -67
  84. package/dist/esm/VirtualList.js +127 -160
  85. package/dist/esm/WaterMark.js +24 -68
  86. package/dist/esm/badge2.js +23 -53
  87. package/dist/esm/button2.js +30 -63
  88. package/dist/esm/can-use-dom.js +1 -1
  89. package/dist/esm/cascader2.js +307 -536
  90. package/dist/esm/checkbox2.js +59 -96
  91. package/dist/esm/collapseitem2.js +48 -86
  92. package/dist/esm/configprovider2.js +43 -1003
  93. package/dist/esm/context.js +1 -1
  94. package/dist/esm/context2.js +1 -1
  95. package/dist/esm/context3.js +1 -1
  96. package/dist/esm/context4.js +1 -1
  97. package/dist/esm/context5.js +8 -8
  98. package/dist/esm/date.js +88 -66
  99. package/dist/esm/formitem2.js +236 -1510
  100. package/dist/esm/get-scroll-parent.js +8 -10
  101. package/dist/esm/griditem2.js +34 -52
  102. package/dist/esm/index.js +5 -12
  103. package/dist/esm/indicator2.js +13 -42
  104. package/dist/esm/menuitem2.js +81 -124
  105. package/dist/esm/overlay2.js +39 -78
  106. package/dist/esm/pad-zero.js +3 -4
  107. package/dist/esm/popup2.js +79 -124
  108. package/dist/esm/px-check.js +2 -2
  109. package/dist/esm/radio2.js +48 -79
  110. package/dist/esm/raf.js +5 -3
  111. package/dist/esm/render.js +17 -54
  112. package/dist/esm/safearea2.js +3 -5
  113. package/dist/esm/supports-passive.js +3 -3
  114. package/dist/esm/tabbaritem2.js +42 -58
  115. package/dist/esm/tabs2.js +82 -120
  116. package/dist/esm/tslib.es6.js +47 -0
  117. package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
  118. package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
  119. package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
  120. package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
  121. package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
  122. package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
  123. package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
  124. package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
  125. package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
  126. package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
  127. package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
  128. package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
  129. package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
  130. package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
  131. package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
  132. package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
  133. package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
  134. package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
  135. package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
  136. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
  137. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
  138. package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
  139. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
  140. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  141. package/dist/esm/typings.js +1 -1
  142. package/dist/esm/use-click-away.js +9 -13
  143. package/dist/esm/use-client-rect.js +4 -4
  144. package/dist/esm/use-props-value.js +10 -15
  145. package/dist/esm/use-refs.js +5 -7
  146. package/dist/esm/use-touch.js +16 -20
  147. package/dist/locales/base.js +1 -1
  148. package/dist/locales/en-US.js +1 -1
  149. package/dist/locales/id-ID.js +1 -1
  150. package/dist/locales/tr-TR.js +1 -1
  151. package/dist/locales/zh-CN.js +1 -1
  152. package/dist/locales/zh-TW.js +1 -1
  153. package/dist/locales/zh-UG.js +1 -1
  154. package/dist/nutui.react.es.js +242 -284
  155. package/dist/nutui.react.umd.js +239 -281
  156. package/dist/style.mjs +1 -1
  157. package/dist/styles/variables-jmapp.scss +4 -0
  158. package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
  159. package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
  160. package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
  161. package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
  162. package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
  163. package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
  164. package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
  165. package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
  166. package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
  167. package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
  168. package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
  169. package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
  170. package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
  171. package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
  172. package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
  173. package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
  174. package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
  175. package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
  176. package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
  177. package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
  178. package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
  179. package/dist/types/packages/configprovider/index.d.ts +2 -2
  180. package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
  181. package/dist/types/packages/empty/empty.d.ts +15 -3
  182. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  183. package/dist/types/packages/rate/rate.d.ts +1 -1
  184. package/package.json +5 -1
@@ -1,195 +1,122 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
- var _excluded = ["children", "hasMore", "threshold", "target", "capture", "pullRefresh", "pullingText", "loadingText", "loadMoreText", "className", "onRefresh", "onLoadMore", "onScroll"];
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- function ownKeys(e, r) {
8
- var t = Object.keys(e);
9
- if (Object.getOwnPropertySymbols) {
10
- var o = Object.getOwnPropertySymbols(e);
11
- r && (o = o.filter(function(r2) {
12
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
13
- })), t.push.apply(t, o);
14
- }
15
- return t;
16
- }
17
- function _objectSpread(e) {
18
- for (var r = 1; r < arguments.length; r++) {
19
- var t = null != arguments[r] ? arguments[r] : {};
20
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
21
- _defineProperty(e, r2, t[r2]);
22
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
23
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
24
- });
25
- }
26
- return e;
27
- }
1
+ import { _ as __rest, a as __awaiter } from "./tslib.es6.js";
28
2
  import React__default, { useState, useRef, useEffect } from "react";
29
3
  import classNames from "classnames";
30
4
  import { useConfig } from "./ConfigProvider.js";
31
5
  import { C as ComponentDefaults } from "./typings.js";
32
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
33
- hasMore: true,
34
- threshold: 200,
35
- target: "",
36
- capture: false,
37
- pullRefresh: false
38
- });
39
- var classPrefix = "nut-infiniteloading";
40
- var InfiniteLoading = function InfiniteLoading2(props) {
41
- var _useConfig = useConfig(), locale = _useConfig.locale;
42
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, hasMore = _defaultProps$props.hasMore, threshold = _defaultProps$props.threshold, target = _defaultProps$props.target, capture = _defaultProps$props.capture, pullRefresh = _defaultProps$props.pullRefresh, pullingText = _defaultProps$props.pullingText, loadingText = _defaultProps$props.loadingText, loadMoreText = _defaultProps$props.loadMoreText, className = _defaultProps$props.className, onRefresh = _defaultProps$props.onRefresh, onLoadMore = _defaultProps$props.onLoadMore, onScroll = _defaultProps$props.onScroll, restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
43
- var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isInfiniting = _useState2[0], setIsInfiniting = _useState2[1];
44
- var scroller = useRef(null);
45
- var refreshTop = useRef(null);
46
- var scrollEl = useRef(null);
47
- var isTouching = useRef(false);
48
- var beforeScrollTop = useRef(0);
49
- var refreshMaxH = useRef(0);
50
- var y = useRef(0);
51
- var distance = useRef(0);
52
- var classes = classNames(classPrefix, className);
53
- useEffect(function() {
54
- var _scrollEl$current;
6
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { hasMore: true, threshold: 200, target: "", capture: false, pullRefresh: false });
7
+ const classPrefix = `nut-infiniteloading`;
8
+ const InfiniteLoading = (props) => {
9
+ const { locale } = useConfig();
10
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { children, hasMore, threshold, target, capture, pullRefresh, pullingText, loadingText, loadMoreText, className, onRefresh, onLoadMore, onScroll } = _a, restProps = __rest(_a, ["children", "hasMore", "threshold", "target", "capture", "pullRefresh", "pullingText", "loadingText", "loadMoreText", "className", "onRefresh", "onLoadMore", "onScroll"]);
11
+ const [isInfiniting, setIsInfiniting] = useState(false);
12
+ const scroller = useRef(null);
13
+ const refreshTop = useRef(null);
14
+ const scrollEl = useRef(null);
15
+ const isTouching = useRef(false);
16
+ const beforeScrollTop = useRef(0);
17
+ const refreshMaxH = useRef(0);
18
+ const y = useRef(0);
19
+ const distance = useRef(0);
20
+ const classes = classNames(classPrefix, className);
21
+ useEffect(() => {
22
+ var _a2;
55
23
  if (target && document.getElementById(target)) {
56
24
  scrollEl.current = document.getElementById(target);
57
25
  } else {
58
26
  scrollEl.current = window;
59
27
  }
60
- (_scrollEl$current = scrollEl.current) === null || _scrollEl$current === void 0 || _scrollEl$current.addEventListener("scroll", handleScroll, capture);
61
- return function() {
62
- var _scrollEl$current2;
63
- (_scrollEl$current2 = scrollEl.current) === null || _scrollEl$current2 === void 0 || _scrollEl$current2.removeEventListener("scroll", handleScroll, capture);
28
+ (_a2 = scrollEl.current) === null || _a2 === void 0 ? void 0 : _a2.addEventListener("scroll", handleScroll, capture);
29
+ return () => {
30
+ var _a3;
31
+ (_a3 = scrollEl.current) === null || _a3 === void 0 ? void 0 : _a3.removeEventListener("scroll", handleScroll, capture);
64
32
  };
65
33
  }, [hasMore, isInfiniting, onLoadMore]);
66
- useEffect(function() {
67
- var element = scroller.current;
68
- element.addEventListener("touchmove", touchMove, {
69
- passive: false
70
- });
71
- return function() {
34
+ useEffect(() => {
35
+ const element = scroller.current;
36
+ element.addEventListener("touchmove", touchMove, { passive: false });
37
+ return () => {
72
38
  element.removeEventListener("touchmove", touchMove, {
73
39
  passive: false
74
40
  });
75
41
  };
76
42
  }, []);
77
- var getStyle = function getStyle2() {
43
+ const getStyle = () => {
78
44
  return {
79
- height: distance.current < 0 ? "0px" : "".concat(distance.current, "px"),
80
- transition: isTouching.current ? "height 0s cubic-bezier(0.25,0.1,0.25,1)" : "height 0.2s cubic-bezier(0.25,0.1,0.25,1)"
45
+ height: distance.current < 0 ? `0px` : `${distance.current}px`,
46
+ transition: isTouching.current ? `height 0s cubic-bezier(0.25,0.1,0.25,1)` : `height 0.2s cubic-bezier(0.25,0.1,0.25,1)`
81
47
  };
82
48
  };
83
- var handleScroll = /* @__PURE__ */ function() {
84
- var _ref = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime.mark(function _callee() {
85
- return _regeneratorRuntime.wrap(function _callee$(_context) {
86
- while (1)
87
- switch (_context.prev = _context.next) {
88
- case 0:
89
- if (!(!isScrollAtBottom() || !hasMore || isInfiniting)) {
90
- _context.next = 2;
91
- break;
92
- }
93
- return _context.abrupt("return");
94
- case 2:
95
- setIsInfiniting(true);
96
- _context.next = 5;
97
- return onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
98
- case 5:
99
- infiniteDone();
100
- case 6:
101
- case "end":
102
- return _context.stop();
103
- }
104
- }, _callee);
105
- }));
106
- return function handleScroll2() {
107
- return _ref.apply(this, arguments);
108
- };
109
- }();
110
- var infiniteDone = function infiniteDone2() {
49
+ const handleScroll = () => __awaiter(void 0, void 0, void 0, function* () {
50
+ if (!isScrollAtBottom() || !hasMore || isInfiniting) {
51
+ return;
52
+ }
53
+ setIsInfiniting(true);
54
+ yield onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
55
+ infiniteDone();
56
+ });
57
+ const infiniteDone = () => {
111
58
  setIsInfiniting(false);
112
59
  };
113
- var getRefreshTop = function getRefreshTop2() {
60
+ const getRefreshTop = () => {
114
61
  return refreshTop.current;
115
62
  };
116
- var refreshDone = function refreshDone2() {
63
+ const refreshDone = () => {
117
64
  distance.current = 0;
118
- getRefreshTop().style.height = "".concat(distance.current, "px");
65
+ getRefreshTop().style.height = `${distance.current}px`;
119
66
  isTouching.current = false;
120
67
  };
121
- var touchStart = function touchStart2(event) {
68
+ const touchStart = (event) => {
122
69
  if (beforeScrollTop.current === 0 && !isTouching.current && pullRefresh) {
123
70
  y.current = event.touches[0].pageY;
124
71
  isTouching.current = true;
125
- var childHeight = getRefreshTop().firstElementChild.offsetHeight;
72
+ const childHeight = getRefreshTop().firstElementChild.offsetHeight;
126
73
  refreshMaxH.current = Math.floor(childHeight * 1 + 10);
127
74
  }
128
75
  };
129
- var touchMove = function touchMove2(event) {
76
+ const touchMove = (event) => {
130
77
  distance.current = event.touches[0].pageY - y.current;
131
78
  if (distance.current > 0 && isTouching.current) {
132
79
  event.preventDefault();
133
80
  if (distance.current >= refreshMaxH.current) {
134
81
  distance.current = refreshMaxH.current;
135
- getRefreshTop().style.height = "".concat(distance.current, "px");
82
+ getRefreshTop().style.height = `${distance.current}px`;
136
83
  } else {
137
- getRefreshTop().style.height = "".concat(distance.current, "px");
84
+ getRefreshTop().style.height = `${distance.current}px`;
138
85
  }
139
86
  } else {
140
87
  distance.current = 0;
141
- getRefreshTop().style.height = "".concat(distance.current, "px");
88
+ getRefreshTop().style.height = `${distance.current}px`;
142
89
  isTouching.current = false;
143
90
  }
144
91
  };
145
- var touchEnd = /* @__PURE__ */ function() {
146
- var _ref2 = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime.mark(function _callee2() {
147
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
148
- while (1)
149
- switch (_context2.prev = _context2.next) {
150
- case 0:
151
- if (!(distance.current < refreshMaxH.current)) {
152
- _context2.next = 6;
153
- break;
154
- }
155
- distance.current = 0;
156
- getRefreshTop().style.height = "".concat(distance.current, "px");
157
- isTouching.current = false;
158
- _context2.next = 9;
159
- break;
160
- case 6:
161
- _context2.next = 8;
162
- return onRefresh === null || onRefresh === void 0 ? void 0 : onRefresh();
163
- case 8:
164
- refreshDone();
165
- case 9:
166
- case "end":
167
- return _context2.stop();
168
- }
169
- }, _callee2);
170
- }));
171
- return function touchEnd2() {
172
- return _ref2.apply(this, arguments);
173
- };
174
- }();
175
- var getWindowScrollTop = function getWindowScrollTop2() {
92
+ const touchEnd = () => __awaiter(void 0, void 0, void 0, function* () {
93
+ if (distance.current < refreshMaxH.current) {
94
+ distance.current = 0;
95
+ getRefreshTop().style.height = `${distance.current}px`;
96
+ isTouching.current = false;
97
+ } else {
98
+ yield onRefresh === null || onRefresh === void 0 ? void 0 : onRefresh();
99
+ refreshDone();
100
+ }
101
+ });
102
+ const getWindowScrollTop = () => {
176
103
  return window.scrollY !== void 0 ? window.scrollY : (document.documentElement || document.body.parentNode || document.body).scrollTop;
177
104
  };
178
- var calculateTopPosition = function calculateTopPosition2(el) {
179
- return !el ? 0 : el.offsetTop + calculateTopPosition2(el.offsetParent);
105
+ const calculateTopPosition = (el) => {
106
+ return !el ? 0 : el.offsetTop + calculateTopPosition(el.offsetParent);
180
107
  };
181
- var isScrollAtBottom = function isScrollAtBottom2() {
182
- var offsetDistance = 0;
183
- var resScrollTop = 0;
184
- var direction = "down";
185
- var windowScrollTop = getWindowScrollTop();
108
+ const isScrollAtBottom = () => {
109
+ let offsetDistance = 0;
110
+ let resScrollTop = 0;
111
+ let direction = "down";
112
+ const windowScrollTop = getWindowScrollTop();
186
113
  if (!target || !document.getElementById(target)) {
187
114
  if (scroller.current) {
188
115
  offsetDistance = calculateTopPosition(scroller.current) + scroller.current.offsetHeight - windowScrollTop - window.innerHeight;
189
116
  }
190
117
  resScrollTop = windowScrollTop;
191
118
  } else {
192
- var _scrollEl$current3 = scrollEl.current, scrollHeight = _scrollEl$current3.scrollHeight, clientHeight = _scrollEl$current3.clientHeight, scrollTop = _scrollEl$current3.scrollTop;
119
+ const { scrollHeight, clientHeight, scrollTop } = scrollEl.current;
193
120
  offsetDistance = scrollHeight - clientHeight - scrollTop;
194
121
  resScrollTop = scrollTop;
195
122
  }
@@ -202,26 +129,17 @@ var InfiniteLoading = function InfiniteLoading2(props) {
202
129
  onScroll && onScroll(resScrollTop);
203
130
  return offsetDistance <= threshold && direction === "down";
204
131
  };
205
- return React__default.createElement("div", _objectSpread({
206
- className: classes,
207
- ref: scroller,
208
- onTouchStart: touchStart,
209
- onTouchEnd: touchEnd
210
- }, restProps), React__default.createElement("div", {
211
- className: "nut-infinite-top",
212
- ref: refreshTop,
213
- style: getStyle()
214
- }, React__default.createElement("div", {
215
- className: "nut-infinite-top-tips"
216
- }, pullingText || locale.infiniteloading.pullRefreshText)), React__default.createElement("div", {
217
- className: "nut-infinite-container"
218
- }, children), React__default.createElement("div", {
219
- className: "nut-infinite-bottom"
220
- }, isInfiniting ? React__default.createElement("div", {
221
- className: "nut-infinite-bottom-tips"
222
- }, loadingText || locale.infiniteloading.loadText) : !hasMore && React__default.createElement("div", {
223
- className: "nut-infinite-bottom-tips"
224
- }, loadMoreText || locale.infiniteloading.loadMoreText)));
132
+ return React__default.createElement(
133
+ "div",
134
+ Object.assign({ className: classes, ref: scroller, onTouchStart: touchStart, onTouchEnd: touchEnd }, restProps),
135
+ React__default.createElement(
136
+ "div",
137
+ { className: "nut-infinite-top", ref: refreshTop, style: getStyle() },
138
+ React__default.createElement("div", { className: "nut-infinite-top-tips" }, pullingText || locale.infiniteloading.pullRefreshText)
139
+ ),
140
+ React__default.createElement("div", { className: "nut-infinite-container" }, children),
141
+ React__default.createElement("div", { className: "nut-infinite-bottom" }, isInfiniting ? React__default.createElement("div", { className: "nut-infinite-bottom-tips" }, loadingText || locale.infiniteloading.loadText) : !hasMore && React__default.createElement("div", { className: "nut-infinite-bottom-tips" }, loadMoreText || locale.infiniteloading.loadMoreText))
142
+ );
225
143
  };
226
144
  InfiniteLoading.defaultProps = defaultProps;
227
145
  InfiniteLoading.displayName = "NutInfiniteLoading";
package/dist/esm/Input.js CHANGED
@@ -1,46 +1,20 @@
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 = ["type", "name", "placeholder", "align", "disabled", "readOnly", "maxLength", "clearable", "clearIcon", "formatTrigger", "autoFocus", "style", "className", "onChange", "onFocus", "onClear", "formatter", "onClick", "confirmType", "defaultValue", "value"];
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, { forwardRef, useRef, useState, useImperativeHandle, useCallback } from "react";
27
3
  import { MaskClose } from "@nutui/icons-react";
28
4
  import { useConfig } from "./ConfigProvider.js";
29
5
  import { C as ComponentDefaults } from "./typings.js";
30
6
  import { u as usePropsValue } from "./use-props-value.js";
31
- function trimExtraChar(value, _char, regExp) {
32
- var index = value.indexOf(_char);
7
+ function trimExtraChar(value, char, regExp) {
8
+ const index = value.indexOf(char);
33
9
  if (index === -1) {
34
10
  return value;
35
11
  }
36
- if (_char === "-" && index !== 0) {
12
+ if (char === "-" && index !== 0) {
37
13
  return value.slice(0, index);
38
14
  }
39
15
  return value.slice(0, index + 1) + value.slice(index).replace(regExp, "");
40
16
  }
41
- function formatNumber(value) {
42
- var allowDot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
43
- var allowMinus = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
17
+ function formatNumber(value, allowDot = true, allowMinus = true) {
44
18
  if (allowDot) {
45
19
  value = trimExtraChar(value, ".", /\./g);
46
20
  } else {
@@ -51,61 +25,46 @@ function formatNumber(value) {
51
25
  } else {
52
26
  value = value.replace(/-/, "");
53
27
  }
54
- var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
28
+ const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
55
29
  return value.replace(regExp, "");
56
30
  }
57
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
58
- type: "text",
59
- name: "",
60
- placeholder: "",
61
- confirmType: "done",
62
- align: "left",
63
- required: false,
64
- disabled: false,
65
- readOnly: false,
66
- maxLength: 9999,
67
- clearable: false,
68
- clearIcon: null,
69
- formatTrigger: "onChange",
70
- autoFocus: false
71
- });
72
- var Input = forwardRef(function(props, ref) {
73
- var _useConfig = useConfig(), locale = _useConfig.locale;
74
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), type = _defaultProps$props.type, name = _defaultProps$props.name, placeholder = _defaultProps$props.placeholder, align = _defaultProps$props.align, disabled = _defaultProps$props.disabled, readOnly = _defaultProps$props.readOnly, maxLength = _defaultProps$props.maxLength, clearable = _defaultProps$props.clearable, clearIcon = _defaultProps$props.clearIcon, formatTrigger = _defaultProps$props.formatTrigger, autoFocus = _defaultProps$props.autoFocus, style = _defaultProps$props.style, className = _defaultProps$props.className, onChange = _defaultProps$props.onChange, onFocus = _defaultProps$props.onFocus, onClear = _defaultProps$props.onClear, formatter = _defaultProps$props.formatter, _onClick = _defaultProps$props.onClick, confirmType = _defaultProps$props.confirmType, defaultValue = _defaultProps$props.defaultValue, _value = _defaultProps$props.value, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
75
- var _usePropsValue = usePropsValue({
31
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { type: "text", name: "", placeholder: "", confirmType: "done", align: "left", required: false, disabled: false, readOnly: false, maxLength: 9999, clearable: false, clearIcon: null, formatTrigger: "onChange", autoFocus: false });
32
+ const Input = forwardRef((props, ref) => {
33
+ const { locale } = useConfig();
34
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { type, name, placeholder, align, disabled, readOnly, maxLength, clearable, clearIcon, formatTrigger, autoFocus, style, className, onChange, onFocus, onClear, formatter, onClick, confirmType, defaultValue, value: _value } = _a, rest = __rest(_a, ["type", "name", "placeholder", "align", "disabled", "readOnly", "maxLength", "clearable", "clearIcon", "formatTrigger", "autoFocus", "style", "className", "onChange", "onFocus", "onClear", "formatter", "onClick", "confirmType", "defaultValue", "value"]);
35
+ const [value, setValue] = usePropsValue({
76
36
  value: props.value,
77
37
  defaultValue: props.defaultValue,
78
38
  finalValue: "",
79
39
  onChange
80
- }), _usePropsValue2 = _slicedToArray(_usePropsValue, 2), value = _usePropsValue2[0], setValue = _usePropsValue2[1];
81
- var inputRef = useRef(null);
82
- var composingRef = useRef(false);
83
- var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), active = _useState2[0], setActive = _useState2[1];
84
- useImperativeHandle(ref, function() {
40
+ });
41
+ const inputRef = useRef(null);
42
+ const composingRef = useRef(false);
43
+ const [active, setActive] = useState(false);
44
+ useImperativeHandle(ref, () => {
85
45
  return {
86
- clear: function clear() {
46
+ clear: () => {
87
47
  setValue("");
88
48
  },
89
- focus: function focus() {
90
- var _inputRef$current;
91
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
49
+ focus: () => {
50
+ var _a2;
51
+ (_a2 = inputRef.current) === null || _a2 === void 0 ? void 0 : _a2.focus();
92
52
  },
93
- blur: function blur() {
94
- var _inputRef$current2;
95
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
53
+ blur: () => {
54
+ var _a2;
55
+ (_a2 = inputRef.current) === null || _a2 === void 0 ? void 0 : _a2.blur();
96
56
  },
97
57
  get nativeElement() {
98
58
  return inputRef.current;
99
59
  }
100
60
  };
101
61
  });
102
- var inputClass = useCallback(function() {
103
- var classPrefix = "nut-input";
104
- return [classPrefix, "".concat(disabled ? "".concat(classPrefix, "-disabled") : "")].filter(Boolean).join(" ");
62
+ const inputClass = useCallback(() => {
63
+ const classPrefix = "nut-input";
64
+ return [classPrefix, `${disabled ? `${classPrefix}-disabled` : ""}`].filter(Boolean).join(" ");
105
65
  }, [disabled]);
106
- var updateValue = function updateValue2(value2) {
107
- var trigger = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "onChange";
108
- var val = value2;
66
+ const updateValue = (value2, trigger = "onChange") => {
67
+ let val = value2;
109
68
  if (type === "number") {
110
69
  val = formatNumber(val, false, true);
111
70
  }
@@ -116,27 +75,27 @@ var Input = forwardRef(function(props, ref) {
116
75
  val = formatter(val);
117
76
  }
118
77
  setValue(val);
119
- var eventHandler = props[trigger];
78
+ const eventHandler = props[trigger];
120
79
  if (eventHandler && typeof eventHandler === "function" && trigger !== "onChange") {
121
80
  eventHandler(val);
122
81
  }
123
82
  };
124
- var handleFocus = function handleFocus2(event) {
125
- var val = event.target.value;
83
+ const handleFocus = (event) => {
84
+ const val = event.target.value;
126
85
  onFocus && onFocus(val);
127
86
  setActive(true);
128
87
  };
129
- var handleInput = function handleInput2(value2) {
88
+ const handleInput = (value2) => {
130
89
  updateValue(value2, "onChange");
131
90
  };
132
- var handleBlur = function handleBlur2(event) {
133
- var val = event.target.value;
91
+ const handleBlur = (event) => {
92
+ const val = event.target.value;
134
93
  updateValue(val, "onBlur");
135
- setTimeout(function() {
94
+ setTimeout(() => {
136
95
  setActive(false);
137
96
  }, 200);
138
97
  };
139
- var inputType = function inputType2(type2) {
98
+ const inputType = (type2) => {
140
99
  if (type2 === "digit") {
141
100
  return "text";
142
101
  }
@@ -145,63 +104,36 @@ var Input = forwardRef(function(props, ref) {
145
104
  }
146
105
  return type2;
147
106
  };
148
- return React__default.createElement("div", {
149
- className: "".concat(inputClass(), " ").concat(className || ""),
150
- style,
151
- onClick: function onClick(e) {
152
- _onClick && _onClick(e);
153
- }
154
- }, React__default.createElement("input", _objectSpread(_objectSpread({}, rest), {}, {
155
- name,
156
- className: "nut-input-native",
157
- ref: inputRef,
158
- style: {
159
- textAlign: "".concat(
160
- // eslint-disable-next-line no-nested-ternary
161
- align === "right" ? "end" : align === "left" ? "start" : "center"
162
- )
163
- },
164
- type: inputType(type),
165
- maxLength,
166
- placeholder: placeholder || locale.placeholder,
167
- disabled,
168
- readOnly,
169
- value,
170
- autoFocus,
171
- enterKeyHint: confirmType,
172
- onBlur: function onBlur(e) {
107
+ return React__default.createElement(
108
+ "div",
109
+ { className: `${inputClass()} ${className || ""}`, style, onClick: (e) => {
110
+ onClick && onClick(e);
111
+ } },
112
+ React__default.createElement("input", Object.assign({}, rest, { name, className: "nut-input-native", ref: inputRef, style: {
113
+ textAlign: `${// eslint-disable-next-line no-nested-ternary
114
+ align === "right" ? "end" : align === "left" ? "start" : "center"}`
115
+ }, type: inputType(type), maxLength, placeholder: placeholder || locale.placeholder, disabled, readOnly, value, autoFocus, enterKeyHint: confirmType, onBlur: (e) => {
173
116
  handleBlur(e);
174
- },
175
- onFocus: function onFocus2(e) {
117
+ }, onFocus: (e) => {
176
118
  handleFocus(e);
177
- },
178
- onChange: function onChange2(e) {
119
+ }, onChange: (e) => {
179
120
  handleInput(e.currentTarget.value);
180
- },
181
- onCompositionStart: function onCompositionStart(e) {
182
- var _props$onCompositionS;
121
+ }, onCompositionStart: (e) => {
122
+ var _a2;
183
123
  composingRef.current = true;
184
- (_props$onCompositionS = props.onCompositionStart) === null || _props$onCompositionS === void 0 || _props$onCompositionS.call(props, e);
185
- },
186
- onCompositionEnd: function onCompositionEnd(e) {
187
- var _props$onCompositionE;
124
+ (_a2 = props.onCompositionStart) === null || _a2 === void 0 ? void 0 : _a2.call(props, e);
125
+ }, onCompositionEnd: (e) => {
126
+ var _a2;
188
127
  composingRef.current = false;
189
- (_props$onCompositionE = props.onCompositionEnd) === null || _props$onCompositionE === void 0 || _props$onCompositionE.call(props, e);
190
- }
191
- })), clearable && !readOnly && active && value.length > 0 ? React__default.createElement("span", {
192
- style: {
193
- display: "flex",
194
- alignItems: "center"
195
- },
196
- onClick: function onClick() {
128
+ (_a2 = props.onCompositionEnd) === null || _a2 === void 0 ? void 0 : _a2.call(props, e);
129
+ } })),
130
+ clearable && !readOnly && active && value.length > 0 ? React__default.createElement("span", { style: { display: "flex", alignItems: "center" }, onClick: () => {
197
131
  if (!disabled) {
198
132
  setValue("");
199
133
  onClear && onClear("");
200
134
  }
201
- }
202
- }, clearIcon || React__default.createElement(MaskClose, {
203
- className: "nut-input-clear"
204
- })) : null);
135
+ } }, clearIcon || React__default.createElement(MaskClose, { className: "nut-input-clear" })) : null
136
+ );
205
137
  });
206
138
  Input.defaultProps = defaultProps;
207
139
  Input.displayName = "NutInput";