@nutui/nutui-react-taro 1.5.2 → 1.5.3-beta.1

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 (232) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/esm/ActionSheet.js +14 -90
  3. package/dist/esm/Address.js +21 -620
  4. package/dist/esm/Animate.js +7 -53
  5. package/dist/esm/AnimatingNumbers.js +7 -125
  6. package/dist/esm/Audio.js +19 -264
  7. package/dist/esm/Avatar.js +11 -130
  8. package/dist/esm/{AvatarContext-15733596.js → AvatarContext-c96afdcc.js} +3 -1
  9. package/dist/esm/AvatarGroup.js +11 -41
  10. package/dist/esm/BackTop.js +10 -138
  11. package/dist/esm/Badge.js +9 -71
  12. package/dist/esm/Barrage.js +8 -97
  13. package/dist/esm/Button.js +9 -108
  14. package/dist/esm/Calendar.js +20 -128
  15. package/dist/esm/CalendarItem.js +12 -674
  16. package/dist/esm/Card.js +11 -61
  17. package/dist/esm/Cascader.js +16 -671
  18. package/dist/esm/Cell.js +9 -101
  19. package/dist/esm/CellGroup.js +5 -2
  20. package/dist/esm/Checkbox.js +7 -5
  21. package/dist/esm/CheckboxGroup.js +8 -111
  22. package/dist/esm/CircleProgress.js +8 -114
  23. package/dist/esm/Col.js +7 -57
  24. package/dist/esm/Collapse.js +7 -97
  25. package/dist/esm/CollapseItem.js +8 -146
  26. package/dist/esm/ConfigProvider.js +8 -187
  27. package/dist/esm/CountDown.js +9 -247
  28. package/dist/esm/DatePicker.js +25 -309
  29. package/dist/esm/Dialog.js +17 -296
  30. package/dist/esm/Divider.js +7 -34
  31. package/dist/esm/Drag.js +7 -118
  32. package/dist/esm/Elevator.js +8 -234
  33. package/dist/esm/Ellipsis.js +10 -176
  34. package/dist/esm/Empty.js +8 -79
  35. package/dist/esm/FixedNav.js +14 -103
  36. package/dist/esm/Form.js +10 -215
  37. package/dist/esm/FormItem.js +10 -3
  38. package/dist/esm/Grid.js +11 -81
  39. package/dist/esm/GridItem.js +13 -123
  40. package/dist/esm/Icon.js +5 -2
  41. package/dist/esm/Image.js +11 -169
  42. package/dist/esm/ImagePreview.js +19 -225
  43. package/dist/esm/Indicator.js +7 -50
  44. package/dist/esm/Infiniteloading.js +14 -215
  45. package/dist/esm/Input.js +12 -362
  46. package/dist/esm/InputNumber.js +9 -275
  47. package/dist/esm/Layout.js +5 -13
  48. package/dist/esm/Menu.js +10 -153
  49. package/dist/esm/MenuItem.js +15 -175
  50. package/dist/esm/NavBar.js +9 -114
  51. package/dist/esm/NoticeBar.js +10 -568
  52. package/dist/esm/Notify.js +8 -234
  53. package/dist/esm/NumberKeyboard.js +17 -247
  54. package/dist/esm/Overlay.js +6 -2
  55. package/dist/esm/Pagination.js +9 -168
  56. package/dist/esm/Picker.js +22 -494
  57. package/dist/esm/Popover.js +12 -223
  58. package/dist/esm/Popup.js +13 -193
  59. package/dist/esm/Price.js +6 -84
  60. package/dist/esm/Progress.js +9 -122
  61. package/dist/esm/PullToRefresh.js +13 -276
  62. package/dist/esm/Radio.js +8 -4
  63. package/dist/esm/RadioGroup.js +7 -120
  64. package/dist/esm/Range.js +15 -406
  65. package/dist/esm/Rate.js +9 -121
  66. package/dist/esm/Row.js +7 -49
  67. package/dist/esm/SearchBar.js +12 -235
  68. package/dist/esm/ShortPassword.js +17 -191
  69. package/dist/esm/SideNavBar.js +19 -57
  70. package/dist/esm/SideNavBarItem.js +5 -24
  71. package/dist/esm/Signature.js +13 -153
  72. package/dist/esm/Skeleton.js +12 -98
  73. package/dist/esm/Step.js +10 -87
  74. package/dist/esm/Steps.js +8 -38
  75. package/dist/esm/Sticky.js +11 -190
  76. package/dist/esm/SubSideNavBar.js +6 -78
  77. package/dist/esm/Swipe.js +10 -230
  78. package/dist/esm/Swiper.js +9 -490
  79. package/dist/esm/SwiperItem.js +8 -36
  80. package/dist/esm/Switch.js +6 -71
  81. package/dist/esm/TabPane.js +5 -2
  82. package/dist/esm/Tabbar.js +6 -68
  83. package/dist/esm/TabbarItem.js +9 -78
  84. package/dist/esm/Table.js +12 -140
  85. package/dist/esm/Tabs.js +8 -5
  86. package/dist/esm/Tag.js +10 -110
  87. package/dist/esm/TextArea.js +9 -148
  88. package/dist/esm/TimeDetail.js +9 -67
  89. package/dist/esm/TimePannel.js +9 -29
  90. package/dist/esm/TimeSelect.js +19 -171
  91. package/dist/esm/Toast.js +7 -268
  92. package/dist/esm/TrendArrow.js +7 -99
  93. package/dist/esm/Uploader.js +17 -566
  94. package/dist/esm/{UserContext-101ad4a4.js → UserContext-0aac9a82.js} +3 -1
  95. package/dist/esm/{UserContext-2629d479.js → UserContext-e402e1a6.js} +3 -1
  96. package/dist/esm/{UserContext-b33bcf21.js → UserContext-e8176108.js} +3 -1
  97. package/dist/esm/Video.js +7 -90
  98. package/dist/esm/VirtualList.js +9 -313
  99. package/dist/esm/WaterMark.js +11 -111
  100. package/dist/esm/actionsheet.taro-e6a51446.js +53 -0
  101. package/dist/esm/address.taro-3a9b6396.js +461 -0
  102. package/dist/esm/animate.taro-fb7986d6.js +40 -0
  103. package/dist/esm/animatingnumbers.taro-03e5d61d.js +104 -0
  104. package/dist/esm/audio.taro-87ec8bf2.js +161 -0
  105. package/dist/esm/avatar.taro-3676f38f.js +103 -0
  106. package/dist/esm/avatargroup-f3574510.js +34 -0
  107. package/dist/esm/backtop.taro-66394a36.js +48 -0
  108. package/dist/esm/badge.taro-a4e59c11.js +52 -0
  109. package/dist/esm/barrage.taro-0495a1b2.js +94 -0
  110. package/dist/esm/{bem-3b438e61.js → bem-350c1702.js} +3 -6
  111. package/dist/esm/button.taro-9244d065.js +100 -0
  112. package/dist/esm/calendar.taro-670842ea.js +65 -0
  113. package/dist/esm/calendaritem.taro-2a603571.js +787 -0
  114. package/dist/esm/can-use-dom-3eeb5af4.js +6 -0
  115. package/dist/esm/card.taro-e4c76dad.js +33 -0
  116. package/dist/esm/cascader.taro-a5553aa5.js +437 -0
  117. package/dist/esm/cell.taro-a10a74d3.js +64 -0
  118. package/dist/esm/cellgroup.taro-abe501bc.js +25 -0
  119. package/dist/esm/checkbox.taro-6120e3e3.js +171 -0
  120. package/dist/esm/circleprogress.taro-79854448.js +109 -0
  121. package/dist/esm/col.taro-53eed3cc.js +41 -0
  122. package/dist/esm/collapse.taro-1a9e4ba2.js +83 -0
  123. package/dist/esm/collapseitem-4d0bc55d.js +83 -0
  124. package/dist/esm/configprovider-67d19d3a.js +19 -0
  125. package/dist/esm/configprovider.taro-8d71eb49.js +42 -0
  126. package/dist/esm/countdown.taro-5b17c607.js +226 -0
  127. package/dist/esm/datepicker.taro-477ad357.js +275 -0
  128. package/dist/esm/dialog.taro-a3267d29.js +118 -0
  129. package/dist/esm/divider.taro-26d1d8b4.js +35 -0
  130. package/dist/esm/drag.taro-79bb8744.js +110 -0
  131. package/dist/esm/elevator.taro-6019669e.js +178 -0
  132. package/dist/esm/ellipsis.taro-f15f26da.js +241 -0
  133. package/dist/esm/empty.taro-04ae4389.js +62 -0
  134. package/dist/esm/fixednav.taro-1f05acaf.js +53 -0
  135. package/dist/esm/form.taro-0b399b30.js +178 -0
  136. package/dist/esm/formitem.taro-190a3326.js +89 -0
  137. package/dist/esm/get-scroll-parent-b4a07e65.js +25 -0
  138. package/dist/esm/grid.taro-3503b82c.js +61 -0
  139. package/dist/esm/{grid.context-2ee27d95.js → grid.taro.context-c2bbfb4f.js} +4 -2
  140. package/dist/esm/griditem.taro-cdb3f119.js +98 -0
  141. package/dist/esm/icon-296a1bec.js +63 -0
  142. package/dist/esm/icon.taro-296a1bec.js +63 -0
  143. package/dist/esm/image.taro-142cf512.js +64 -0
  144. package/dist/esm/imagepreview.taro-c50bb0a3.js +167 -0
  145. package/dist/esm/index-5bcb0ff8.js +7 -0
  146. package/dist/esm/indicator.taro-cba8b010.js +37 -0
  147. package/dist/esm/infiniteloading.taro-183bccbf.js +144 -0
  148. package/dist/esm/input.taro-97af6c96.js +240 -0
  149. package/dist/esm/inputnumber.taro-91f65d17.js +130 -0
  150. package/dist/esm/layout.taro-9046d093.js +11 -0
  151. package/dist/esm/menu.taro-7e4038a1.js +99 -0
  152. package/dist/esm/menuitem.taro-96cc4f15.js +130 -0
  153. package/dist/esm/navbar.taro-777c4705.js +79 -0
  154. package/dist/esm/noticebar.taro-4a23cdee.js +448 -0
  155. package/dist/esm/notify.taro-e17c6f82.js +75 -0
  156. package/dist/esm/numberkeyboard.taro-1bc24744.js +159 -0
  157. package/dist/esm/nutui-react.es.js +119 -94
  158. package/dist/esm/offsetContext-c2a746fa.js +5 -0
  159. package/dist/esm/overlay.taro-21e87fb1.js +69 -0
  160. package/dist/esm/pagination.taro-715a173b.js +124 -0
  161. package/dist/esm/picker.taro-0073eeaa.js +472 -0
  162. package/dist/esm/popover.taro-ad5e76ea.js +156 -0
  163. package/dist/esm/popup.taro-01676bff.js +137 -0
  164. package/dist/esm/price.taro-776ed16e.js +83 -0
  165. package/dist/esm/progress.taro-f0ce38e9.js +90 -0
  166. package/dist/esm/pulltorefresh.taro-a294f656.js +181 -0
  167. package/dist/esm/radio.taro-a6eff96c.js +168 -0
  168. package/dist/esm/range.taro-d8fc7656.js +332 -0
  169. package/dist/esm/rate.taro-6cdf03bd.js +75 -0
  170. package/dist/esm/row.taro-f64d4a13.js +46 -0
  171. package/dist/esm/searchbar.taro-0c25927b.js +152 -0
  172. package/dist/esm/shortpassword.taro-9ee034f7.js +111 -0
  173. package/dist/esm/sidenavbar.taro-c307b35e.js +35 -0
  174. package/dist/esm/sidenavbaritem.taro-5a7965d0.js +12 -0
  175. package/dist/esm/signature.taro-ec4e713b.js +143 -0
  176. package/dist/esm/skeleton.taro-76faf63f.js +62 -0
  177. package/dist/esm/step.taro-b7903e8c.js +59 -0
  178. package/dist/esm/steps.taro-c82d2252.js +30 -0
  179. package/dist/esm/sticky.taro-218bda37.js +138 -0
  180. package/dist/esm/subsidenavbar.taro-69cb9752.js +63 -0
  181. package/dist/esm/supports-passive-c85ef996.js +18 -0
  182. package/dist/esm/swipe.taro-ea35f07f.js +177 -0
  183. package/dist/esm/swiper.taro-7a94e211.js +451 -0
  184. package/dist/esm/swiperitem-c9e3d0d5.js +29 -0
  185. package/dist/esm/switch.taro-34ca8228.js +50 -0
  186. package/dist/esm/tabbar.taro-9acfc2fa.js +59 -0
  187. package/dist/esm/tabbaritem.taro-bf517487.js +58 -0
  188. package/dist/esm/table.taro-91fc0c01.js +93 -0
  189. package/dist/esm/tabpane.taro-4ca340ef.js +23 -0
  190. package/dist/esm/tabs.taro-6a7524a4.js +140 -0
  191. package/dist/esm/tag.taro-23ba0834.js +92 -0
  192. package/dist/esm/textarea.taro-442e7350.js +94 -0
  193. package/dist/esm/timedetail.taro-5b2f2269.js +44 -0
  194. package/dist/esm/timepannel.taro-d6e40180.js +22 -0
  195. package/dist/esm/timeselect.taro-a07036f4.js +133 -0
  196. package/dist/esm/toast.taro-d6c14811.js +109 -0
  197. package/dist/esm/trendarrow.taro-b8c5ccd9.js +73 -0
  198. package/dist/esm/typings-b9828dba.js +9 -0
  199. package/dist/esm/uploader.taro-587e6bf3.js +492 -0
  200. package/dist/esm/useClientRect-1f8ed1fe.js +18 -0
  201. package/dist/esm/useTouch-db24bb5c.js +69 -0
  202. package/dist/esm/video-f1be8a91.js +67 -0
  203. package/dist/esm/virtuallist.taro-f0b0270d.js +214 -0
  204. package/dist/esm/watermark.taro-9ce2ae37.js +114 -0
  205. package/dist/esm/zh-CN-c779e6c1.js +131 -0
  206. package/dist/locales/base.js +1 -1
  207. package/dist/locales/en-US.js +1 -1
  208. package/dist/locales/id-ID.js +1 -1
  209. package/dist/locales/zh-CN.js +1 -1
  210. package/dist/locales/zh-TW.js +1 -1
  211. package/dist/locales/zh-UG.js +1 -1
  212. package/dist/nutui.react.mjs +13028 -14863
  213. package/dist/nutui.react.umd.js +13027 -14864
  214. package/dist/style.mjs +1 -1
  215. package/dist/types/index.d.ts +176 -183
  216. package/package.json +1 -1
  217. package/dist/esm/cellgroup-fcc72767.js +0 -34
  218. package/dist/esm/checkbox-44e13cd0.js +0 -137
  219. package/dist/esm/date-c7aad4c0.js +0 -97
  220. package/dist/esm/formitem-8a73a5fb.js +0 -157
  221. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  222. package/dist/esm/icon-4ef1581c.js +0 -70
  223. package/dist/esm/index-030b7245.js +0 -11
  224. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  225. package/dist/esm/overlay-de6c79d5.js +0 -83
  226. package/dist/esm/radio-9f141e6b.js +0 -118
  227. package/dist/esm/render-bbebb760.js +0 -79
  228. package/dist/esm/tabpane-01075e6c.js +0 -29
  229. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  230. package/dist/esm/typings-f27b58f4.js +0 -8
  231. package/dist/esm/useClientRect-56bb675b.js +0 -39
  232. package/dist/esm/useTouch-cf73a407.js +0 -99
@@ -1,217 +1,16 @@
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", "hasMore", "threshold", "containerId", "useWindow", "useCapture", "isOpenRefresh", "pullIcon", "pullTxt", "loadIcon", "loadTxt", "loadMoreTxt", "className", "onRefresh", "onLoadMore", "onScrollChange", "iconClassPrefix", "iconFontClassName"];
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
- import React__default, { useState, useRef, useEffect } from 'react';
8
- import classNames from 'classnames';
9
- import { c as cn } from './bem-3b438e61.js';
10
- import Icon from './Icon.js';
11
- import { useConfig } from './ConfigProvider.js';
12
- import { C as ComponentDefaults } from './typings-f27b58f4.js';
1
+ import { I as Infiniteloading } from './infiniteloading.taro-183bccbf.js';
2
+ import 'react';
3
+ import 'classnames';
4
+ import '@tarojs/components';
5
+ import '@tarojs/taro';
6
+ import './bem-350c1702.js';
13
7
  import '@bem-react/classname';
14
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
15
- hasMore: true,
16
- threshold: 200,
17
- containerId: '',
18
- useWindow: true,
19
- useCapture: false,
20
- isOpenRefresh: false,
21
- pullIcon: 'https://img10.360buyimg.com/imagetools/jfs/t1/169863/6/4565/6306/60125948E7e92774e/40b3a0cf42852bcb.png',
22
- pullTxt: '松开刷新',
23
- loadIcon: 'https://img10.360buyimg.com/imagetools/jfs/t1/169863/6/4565/6306/60125948E7e92774e/40b3a0cf42852bcb.png',
24
- loadTxt: '加载中···',
25
- loadMoreTxt: '哎呀,这里是底部了啦'
26
- });
27
- var Infiniteloading = function Infiniteloading(props) {
28
- var _useConfig = useConfig(),
29
- locale = _useConfig.locale;
30
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
31
- children = _defaultProps$props.children,
32
- hasMore = _defaultProps$props.hasMore,
33
- threshold = _defaultProps$props.threshold,
34
- containerId = _defaultProps$props.containerId,
35
- useWindow = _defaultProps$props.useWindow,
36
- useCapture = _defaultProps$props.useCapture,
37
- isOpenRefresh = _defaultProps$props.isOpenRefresh,
38
- pullIcon = _defaultProps$props.pullIcon,
39
- pullTxt = _defaultProps$props.pullTxt,
40
- loadIcon = _defaultProps$props.loadIcon,
41
- loadTxt = _defaultProps$props.loadTxt,
42
- loadMoreTxt = _defaultProps$props.loadMoreTxt,
43
- className = _defaultProps$props.className,
44
- onRefresh = _defaultProps$props.onRefresh,
45
- onLoadMore = _defaultProps$props.onLoadMore,
46
- onScrollChange = _defaultProps$props.onScrollChange,
47
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
48
- iconFontClassName = _defaultProps$props.iconFontClassName,
49
- restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
50
- var _useState = useState(false),
51
- _useState2 = _slicedToArray(_useState, 2),
52
- isInfiniting = _useState2[0],
53
- setIsInfiniting = _useState2[1];
54
- var scroller = useRef(null);
55
- var refreshTop = useRef(null);
56
- var scrollEl = useRef(window);
57
- var isTouching = useRef(false);
58
- var beforeScrollTop = useRef(0);
59
- var refreshMaxH = useRef(0);
60
- var y = useRef(0);
61
- var distance = useRef(0);
62
- var b = cn('infiniteloading');
63
- var classes = classNames(className, b());
64
- useEffect(function () {
65
- var parentElement = getParentElement(scroller.current);
66
- scrollEl.current = useWindow ? window : parentElement;
67
- scrollEl.current.addEventListener('scroll', handleScroll, useCapture);
68
- return function () {
69
- scrollEl.current.removeEventListener('scroll', handleScroll, useCapture);
70
- };
71
- }, [hasMore, isInfiniting]);
72
- useEffect(function () {
73
- var element = scroller.current;
74
- element.addEventListener('touchmove', touchMove, {
75
- passive: false
76
- });
77
- return function () {
78
- element.removeEventListener('touchmove', touchMove, {
79
- passive: false
80
- });
81
- };
82
- }, []);
83
- var getStyle = function getStyle() {
84
- return {
85
- height: distance.current < 0 ? "0px" : "".concat(distance.current, "px"),
86
- 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)"
87
- };
88
- };
89
- var getParentElement = function getParentElement(el) {
90
- return containerId ? document.querySelector("#".concat(containerId)) : el && el.parentNode;
91
- };
92
- var handleScroll = function handleScroll() {
93
- requestAniFrame()(function () {
94
- if (!isScrollAtBottom() || !hasMore || isInfiniting) {
95
- return false;
96
- }
97
- setIsInfiniting(true);
98
- onLoadMore && onLoadMore(infiniteDone);
99
- return true;
100
- });
101
- };
102
- var infiniteDone = function infiniteDone() {
103
- setIsInfiniting(false);
104
- };
105
- var refreshDone = function refreshDone() {
106
- distance.current = 0;
107
- refreshTop.current.style.height = "".concat(distance.current, "px");
108
- isTouching.current = false;
109
- };
110
- var touchStart = function touchStart(event) {
111
- if (beforeScrollTop.current === 0 && !isTouching.current && isOpenRefresh) {
112
- y.current = event.touches[0].pageY;
113
- isTouching.current = true;
114
- var childHeight = refreshTop.current.firstElementChild.offsetHeight;
115
- refreshMaxH.current = Math.floor(childHeight * 1 + 10);
116
- }
117
- };
118
- var touchMove = function touchMove(event) {
119
- distance.current = event.touches[0].pageY - y.current;
120
- if (distance.current > 0 && isTouching.current) {
121
- event.preventDefault();
122
- if (distance.current >= refreshMaxH.current) {
123
- distance.current = refreshMaxH.current;
124
- refreshTop.current.style.height = "".concat(distance.current, "px");
125
- } else {
126
- refreshTop.current.style.height = "".concat(distance.current, "px");
127
- }
128
- } else {
129
- distance.current = 0;
130
- refreshTop.current.style.height = "".concat(distance.current, "px");
131
- isTouching.current = false;
132
- }
133
- };
134
- var touchEnd = function touchEnd() {
135
- if (distance.current < refreshMaxH.current) {
136
- distance.current = 0;
137
- refreshTop.current.style.height = "".concat(distance.current, "px");
138
- } else {
139
- onRefresh && onRefresh(refreshDone);
140
- }
141
- };
142
- var requestAniFrame = function requestAniFrame() {
143
- return window.requestAnimationFrame || window.webkitRequestAnimationFrame || function fn(callback) {
144
- window.setTimeout(callback, 1000 / 60);
145
- };
146
- };
147
- var getWindowScrollTop = function getWindowScrollTop() {
148
- return window.pageYOffset !== undefined ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
149
- };
150
- var calculateTopPosition = function calculateTopPosition(el) {
151
- return !el ? 0 : el.offsetTop + calculateTopPosition(el.offsetParent);
152
- };
153
- var isScrollAtBottom = function isScrollAtBottom() {
154
- var offsetDistance = 0;
155
- var resScrollTop = 0;
156
- var direction = 'down';
157
- var windowScrollTop = getWindowScrollTop();
158
- if (useWindow) {
159
- if (scroller.current) {
160
- offsetDistance = calculateTopPosition(scroller.current) + scroller.current.offsetHeight - windowScrollTop - window.innerHeight;
161
- }
162
- resScrollTop = windowScrollTop;
163
- } else {
164
- var _scrollEl$current = scrollEl.current,
165
- scrollHeight = _scrollEl$current.scrollHeight,
166
- clientHeight = _scrollEl$current.clientHeight,
167
- scrollTop = _scrollEl$current.scrollTop;
168
- offsetDistance = scrollHeight - clientHeight - scrollTop;
169
- resScrollTop = scrollTop;
170
- }
171
- if (beforeScrollTop.current > resScrollTop) {
172
- direction = 'up';
173
- } else {
174
- direction = 'down';
175
- }
176
- beforeScrollTop.current = resScrollTop;
177
- onScrollChange && onScrollChange(resScrollTop);
178
- return offsetDistance <= threshold && direction === 'down';
179
- };
180
- return React__default.createElement("div", _objectSpread({
181
- className: classes,
182
- ref: scroller,
183
- onTouchStart: touchStart,
184
- onTouchEnd: touchEnd
185
- }, restProps), React__default.createElement("div", {
186
- className: "nut-infinite-top",
187
- ref: refreshTop,
188
- style: getStyle()
189
- }, React__default.createElement("div", {
190
- className: "top-box"
191
- }, React__default.createElement(Icon, {
192
- classPrefix: iconClassPrefix,
193
- fontClassName: iconFontClassName,
194
- className: "top-img",
195
- name: pullIcon
196
- }), React__default.createElement("span", {
197
- className: "top-text"
198
- }, pullTxt || locale.infiniteloading.pullRefreshText))), React__default.createElement("div", {
199
- className: "nut-infinite-container"
200
- }, children), React__default.createElement("div", {
201
- className: "nut-infinite-bottom"
202
- }, isInfiniting ? React__default.createElement("div", {
203
- className: "bottom-box"
204
- }, React__default.createElement(Icon, {
205
- classPrefix: iconClassPrefix,
206
- fontClassName: iconFontClassName,
207
- className: "bottom-img",
208
- name: loadIcon
209
- }), React__default.createElement("div", {
210
- className: "bottom-text"
211
- }, loadTxt || locale.infiniteloading.loadText)) : !hasMore && React__default.createElement("div", {
212
- className: "tips"
213
- }, loadMoreTxt || locale.infiniteloading.loadMoreText)));
214
- };
215
- Infiniteloading.defaultProps = defaultProps;
216
- Infiniteloading.displayName = 'NutInfiniteloading';
8
+ import './icon.taro-296a1bec.js';
9
+ import './configprovider.taro-8d71eb49.js';
10
+ import 'lodash.kebabcase';
11
+ import './zh-CN-c779e6c1.js';
12
+ import './typings-b9828dba.js';
13
+
14
+
15
+
217
16
  export { Infiniteloading as default };
package/dist/esm/Input.js CHANGED
@@ -1,363 +1,13 @@
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", "type", "name", "defaultValue", "placeholder", "label", "labelClass", "labelWidth", "labelAlign", "colon", "inputAlign", "center", "required", "disabled", "readonly", "error", "maxlength", "leftIcon", "leftIconSize", "rightIcon", "rightIconSize", "clearable", "clearIcon", "clearSize", "border", "formatTrigger", "rules", "errorMessage", "errorMessageAlign", "showWordLimit", "autofocus", "style", "className", "rows", "slotButton", "slotInput", "onChange", "onBlur", "onFocus", "onClear", "formatter", "keypress", "onClickInput", "onClickLeftIcon", "onClickRightIcon", "onClick", "iconClassPrefix", "iconFontClassName"];
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
- import React__default, { forwardRef, useState, useRef, useEffect, useImperativeHandle, useCallback } from 'react';
8
- import Icon from './Icon.js';
9
- import { useConfig } from './ConfigProvider.js';
10
- import { C as ComponentDefaults } from './typings-f27b58f4.js';
11
- function trimExtraChar(value, _char, regExp) {
12
- var index = value.indexOf(_char);
13
- if (index === -1) {
14
- return value;
15
- }
16
- if (_char === '-' && index !== 0) {
17
- return value.slice(0, index);
18
- }
19
- return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
20
- }
21
- function formatNumber(value) {
22
- var allowDot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
23
- var allowMinus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
24
- if (allowDot) {
25
- value = trimExtraChar(value, '.', /\./g);
26
- } else {
27
- value = value.split('.')[0];
28
- }
29
- if (allowMinus) {
30
- value = trimExtraChar(value, '-', /-/g);
31
- } else {
32
- value = value.replace(/-/, '');
33
- }
34
- var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
35
- return value.replace(regExp, '');
36
- }
37
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
38
- type: 'text',
39
- name: '',
40
- defaultValue: '',
41
- placeholder: '',
42
- label: '',
43
- labelClass: '',
44
- labelWidth: '80',
45
- labelAlign: 'left',
46
- colon: false,
47
- inputAlign: 'left',
48
- center: false,
49
- required: false,
50
- disabled: false,
51
- readonly: false,
52
- error: false,
53
- maxlength: '9999',
54
- leftIcon: '',
55
- leftIconSize: '',
56
- rightIcon: '',
57
- rightIconSize: '',
58
- clearable: false,
59
- clearIcon: 'mask-close',
60
- clearSize: '14',
61
- border: true,
62
- formatTrigger: 'onChange',
63
- rules: [],
64
- rows: null,
65
- errorMessage: '',
66
- errorMessageAlign: '',
67
- showWordLimit: false,
68
- autofocus: false,
69
- slotButton: null,
70
- slotInput: null
71
- });
72
- var Input = forwardRef(function (props, ref) {
73
- var _useConfig = useConfig(),
74
- locale = _useConfig.locale;
75
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
76
- children = _defaultProps$props.children,
77
- type = _defaultProps$props.type,
78
- name = _defaultProps$props.name,
79
- defaultValue = _defaultProps$props.defaultValue,
80
- placeholder = _defaultProps$props.placeholder,
81
- label = _defaultProps$props.label,
82
- labelClass = _defaultProps$props.labelClass,
83
- labelWidth = _defaultProps$props.labelWidth,
84
- labelAlign = _defaultProps$props.labelAlign,
85
- colon = _defaultProps$props.colon,
86
- inputAlign = _defaultProps$props.inputAlign,
87
- center = _defaultProps$props.center,
88
- required = _defaultProps$props.required,
89
- disabled = _defaultProps$props.disabled,
90
- readonly = _defaultProps$props.readonly,
91
- error = _defaultProps$props.error,
92
- maxlength = _defaultProps$props.maxlength,
93
- leftIcon = _defaultProps$props.leftIcon,
94
- leftIconSize = _defaultProps$props.leftIconSize,
95
- rightIcon = _defaultProps$props.rightIcon,
96
- rightIconSize = _defaultProps$props.rightIconSize,
97
- clearable = _defaultProps$props.clearable,
98
- clearIcon = _defaultProps$props.clearIcon,
99
- clearSize = _defaultProps$props.clearSize,
100
- border = _defaultProps$props.border,
101
- formatTrigger = _defaultProps$props.formatTrigger,
102
- rules = _defaultProps$props.rules,
103
- errorMessage = _defaultProps$props.errorMessage,
104
- errorMessageAlign = _defaultProps$props.errorMessageAlign,
105
- showWordLimit = _defaultProps$props.showWordLimit,
106
- autofocus = _defaultProps$props.autofocus,
107
- style = _defaultProps$props.style,
108
- className = _defaultProps$props.className,
109
- rows = _defaultProps$props.rows,
110
- slotButton = _defaultProps$props.slotButton,
111
- slotInput = _defaultProps$props.slotInput,
112
- onChange = _defaultProps$props.onChange,
113
- onBlur = _defaultProps$props.onBlur,
114
- onFocus = _defaultProps$props.onFocus,
115
- onClear = _defaultProps$props.onClear,
116
- formatter = _defaultProps$props.formatter,
117
- keypress = _defaultProps$props.keypress,
118
- onClickInput = _defaultProps$props.onClickInput,
119
- onClickLeftIcon = _defaultProps$props.onClickLeftIcon,
120
- onClickRightIcon = _defaultProps$props.onClickRightIcon,
121
- _onClick = _defaultProps$props.onClick,
122
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
123
- iconFontClassName = _defaultProps$props.iconFontClassName,
124
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
125
- var inputPlaceholder = placeholder || locale.placeholder;
126
- var _useState = useState(''),
127
- _useState2 = _slicedToArray(_useState, 2),
128
- inputValue = _useState2[0],
129
- SetInputValue = _useState2[1];
130
- var _useState3 = useState(false),
131
- _useState4 = _slicedToArray(_useState3, 2),
132
- active = _useState4[0],
133
- SetActive = _useState4[1];
134
- var _useState5 = useState(''),
135
- _useState6 = _slicedToArray(_useState5, 2),
136
- classes = _useState6[0],
137
- setClasses = _useState6[1];
138
- var getModelValue = function getModelValue() {
139
- return String(inputValue !== null && inputValue !== void 0 ? inputValue : '');
140
- };
141
- var inputRef = useRef(null);
142
- useEffect(function () {
143
- setClasses(inputClass);
144
- SetInputValue(defaultValue);
145
- }, [defaultValue]);
146
- useEffect(function () {
147
- if (inputValue) {
148
- updateValue(getModelValue());
149
- resetValidation();
150
- }
151
- }, [inputValue]);
152
- useImperativeHandle(ref, function () {
153
- return inputRef.current;
154
- });
155
- var inputClass = useCallback(function () {
156
- var prefixCls = 'nut-input';
157
- return [prefixCls, "".concat(center ? 'center' : ''), "".concat(disabled ? "".concat(prefixCls, "-disabled") : ''), "".concat(required ? "".concat(prefixCls, "-required") : ''), "".concat(error ? "".concat(prefixCls, "-error") : ''), "".concat(border ? "".concat(prefixCls, "-border") : ''), "".concat(slotButton || rightIcon ? "".concat(prefixCls, "-right-mark") : '')].filter(Boolean).join(' ');
158
- }, [disabled, required, error, border, slotButton, rightIcon, center]);
159
- // 样式状态重置
160
- useEffect(function () {
161
- setClasses(inputClass);
162
- }, [disabled, required, error, border, slotButton, rightIcon, center]);
163
- var updateValue = function updateValue(value) {
164
- var _inputRef$current;
165
- var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'onChange';
166
- var event = arguments.length > 2 ? arguments[2] : undefined;
167
- var val = value;
168
- if (type === 'digit' || type === 'tel') {
169
- val = formatNumber(val, false, false);
170
- }
171
- if (type === 'number') {
172
- val = formatNumber(val, true, true);
173
- }
174
- if (type === 'tel' && !formatter) {
175
- var regTel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
176
- var regNumber = /[^-0-9]/g;
177
- val = !regTel.test(val) && val.length > 11 ? val.substring(0, 11) : val.replace(regNumber, '');
178
- }
179
- if (formatter && trigger === formatTrigger) {
180
- val = formatter(val);
181
- }
182
- if ((inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value) !== val) {
183
- inputRef.current.value = val;
184
- }
185
- SetInputValue(val);
186
- };
187
- var handleFocus = function handleFocus(event) {
188
- var val = event.target.value;
189
- SetActive(true);
190
- onFocus && onFocus(val, event);
191
- };
192
- var handleInput = function handleInput(event) {
193
- var val = event.target.value;
194
- if (maxlength && val.length > Number(maxlength)) {
195
- val = val.slice(0, Number(maxlength));
196
- }
197
- updateValue(val, 'onChange');
198
- onChange && onChange(val, event);
199
- };
200
- var handleBlur = function handleBlur(event) {
201
- setTimeout(function () {
202
- SetActive(false);
203
- }, 200);
204
- var val = event.target.value;
205
- if (maxlength && val.length > Number(maxlength)) {
206
- val = val.slice(0, Number(maxlength));
207
- }
208
- updateValue(val, 'onBlur');
209
- onBlur && onBlur(val, event);
210
- };
211
- var handleClickInput = function handleClickInput(event) {
212
- onClickInput && onClickInput(event);
213
- };
214
- var handleClickLeftIcon = function handleClickLeftIcon(event) {
215
- onClickLeftIcon && onClickLeftIcon(event);
216
- };
217
- var handleClickRightIcon = function handleClickRightIcon(event) {
218
- onClickRightIcon && onClickRightIcon(event);
219
- };
220
- var resetValidation = function resetValidation() {};
221
- var inputType = function inputType(type) {
222
- if (type === 'number') {
223
- return 'text';
224
- }
225
- if (type === 'digit') {
226
- return 'tel';
227
- }
228
- return type;
229
- };
230
- var handleClear = function handleClear(event) {
231
- updateValue('');
232
- onClear && onClear('', event);
233
- };
234
- return React__default.createElement("div", _objectSpread(_objectSpread({
235
- className: "".concat(classes, " ").concat(className || ''),
236
- style: style
237
- }, rest), {}, {
238
- onClick: function onClick(e) {
239
- _onClick && _onClick(e);
240
- }
241
- }), slotInput ? React__default.createElement(React__default.Fragment, null, label ? React__default.createElement("div", {
242
- className: "nut-input-label ".concat(labelClass),
243
- style: {
244
- width: "".concat(labelWidth, "px"),
245
- textAlign: labelAlign
246
- }
247
- }, React__default.createElement("div", {
248
- className: "label-string"
249
- }, label, colon ? ':' : '')) : null, React__default.createElement("div", {
250
- className: "nut-input-value"
251
- }, React__default.createElement("div", {
252
- className: "nut-input-inner",
253
- onClick: function onClick(e) {
254
- handleClickInput(e);
255
- }
256
- }, slotInput))) : React__default.createElement(React__default.Fragment, null, leftIcon && leftIcon.length > 0 ? React__default.createElement("div", {
257
- className: "nut-input-left-icon",
258
- onClick: function onClick(e) {
259
- handleClickLeftIcon(e);
260
- }
261
- }, React__default.createElement(Icon, {
262
- classPrefix: iconClassPrefix,
263
- fontClassName: iconFontClassName,
264
- name: leftIcon,
265
- size: leftIconSize
266
- })) : null, label ? React__default.createElement("div", {
267
- className: "nut-input-label ".concat(labelClass),
268
- style: {
269
- width: "".concat(labelWidth, "px"),
270
- textAlign: labelAlign
271
- }
272
- }, React__default.createElement("div", {
273
- className: "label-string"
274
- }, label, colon ? ':' : '')) : null, React__default.createElement("div", {
275
- className: "nut-input-value"
276
- }, React__default.createElement("div", {
277
- className: "nut-input-main-con"
278
- }, React__default.createElement("div", {
279
- className: "nut-input-inner",
280
- onClick: function onClick(e) {
281
- handleClickInput(e);
282
- }
283
- }, type === 'textarea' ? React__default.createElement("textarea", {
284
- name: name,
285
- className: "input-text",
286
- ref: inputRef,
287
- style: {
288
- textAlign: inputAlign,
289
- height: "".concat(Number(rows) * 24, "px")
290
- },
291
- maxLength: maxlength,
292
- placeholder: inputPlaceholder,
293
- disabled: disabled,
294
- readOnly: readonly,
295
- value: inputValue,
296
- autoFocus: autofocus,
297
- onBlur: function onBlur(e) {
298
- handleBlur(e);
299
- },
300
- onFocus: function onFocus(e) {
301
- handleFocus(e);
302
- },
303
- onInput: function onInput(e) {
304
- handleInput(e);
305
- }
306
- }) : React__default.createElement("input", {
307
- name: name,
308
- className: "input-text",
309
- ref: inputRef,
310
- style: {
311
- textAlign: inputAlign
312
- },
313
- type: inputType(type),
314
- maxLength: maxlength,
315
- placeholder: inputPlaceholder,
316
- disabled: disabled,
317
- readOnly: readonly,
318
- value: inputValue,
319
- autoFocus: autofocus,
320
- onBlur: function onBlur(e) {
321
- handleBlur(e);
322
- },
323
- onFocus: function onFocus(e) {
324
- handleFocus(e);
325
- },
326
- onInput: function onInput(e) {
327
- handleInput(e);
328
- }
329
- }), clearable && !readonly && active && inputValue.length > 0 ? React__default.createElement(Icon, {
330
- classPrefix: iconClassPrefix,
331
- fontClassName: iconFontClassName,
332
- className: "nut-input-clear",
333
- name: clearIcon,
334
- size: clearSize,
335
- onClick: function onClick(e) {
336
- handleClear(e);
337
- }
338
- }) : null), rightIcon && rightIcon.length > 0 ? React__default.createElement("div", {
339
- className: "nut-input-right-icon",
340
- onClick: function onClick(e) {
341
- handleClickRightIcon(e);
342
- }
343
- }, React__default.createElement(Icon, {
344
- classPrefix: iconClassPrefix,
345
- fontClassName: iconFontClassName,
346
- name: rightIcon,
347
- size: rightIconSize
348
- })) : null, slotButton ? React__default.createElement("div", {
349
- className: "nut-input-button"
350
- }, slotButton) : null, showWordLimit && maxlength ? React__default.createElement("div", {
351
- className: "nut-input-word-limit"
352
- }, React__default.createElement("span", {
353
- className: "nut-input-word-num"
354
- }, inputValue ? inputValue.length : 0), "/", maxlength) : null), errorMessage ? React__default.createElement("div", {
355
- className: "nut-input-error-message",
356
- style: {
357
- textAlign: errorMessageAlign
358
- }
359
- }, errorMessage) : React__default.createElement("div", null))));
360
- });
361
- Input.defaultProps = defaultProps;
362
- Input.displayName = 'NutInput';
1
+ import { I as Input } from './input.taro-97af6c96.js';
2
+ import 'react';
3
+ import './icon.taro-296a1bec.js';
4
+ import './bem-350c1702.js';
5
+ import '@bem-react/classname';
6
+ import './configprovider.taro-8d71eb49.js';
7
+ import 'lodash.kebabcase';
8
+ import './zh-CN-c779e6c1.js';
9
+ import './typings-b9828dba.js';
10
+
11
+
12
+
363
13
  export { Input as default };