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

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 (231) hide show
  1. package/dist/esm/ActionSheet.js +90 -14
  2. package/dist/esm/Address.js +620 -21
  3. package/dist/esm/Animate.js +53 -7
  4. package/dist/esm/AnimatingNumbers.js +125 -7
  5. package/dist/esm/Audio.js +264 -19
  6. package/dist/esm/Avatar.js +130 -11
  7. package/dist/esm/{AvatarContext-c96afdcc.js → AvatarContext-15733596.js} +1 -3
  8. package/dist/esm/AvatarGroup.js +41 -11
  9. package/dist/esm/BackTop.js +138 -10
  10. package/dist/esm/Badge.js +71 -9
  11. package/dist/esm/Barrage.js +97 -8
  12. package/dist/esm/Button.js +108 -9
  13. package/dist/esm/Calendar.js +128 -20
  14. package/dist/esm/CalendarItem.js +674 -12
  15. package/dist/esm/Card.js +61 -11
  16. package/dist/esm/Cascader.js +671 -16
  17. package/dist/esm/Cell.js +101 -9
  18. package/dist/esm/CellGroup.js +2 -5
  19. package/dist/esm/Checkbox.js +5 -7
  20. package/dist/esm/CheckboxGroup.js +111 -8
  21. package/dist/esm/CircleProgress.js +114 -8
  22. package/dist/esm/Col.js +57 -7
  23. package/dist/esm/Collapse.js +97 -7
  24. package/dist/esm/CollapseItem.js +146 -8
  25. package/dist/esm/ConfigProvider.js +187 -8
  26. package/dist/esm/CountDown.js +247 -9
  27. package/dist/esm/DatePicker.js +309 -25
  28. package/dist/esm/Dialog.js +296 -17
  29. package/dist/esm/Divider.js +34 -7
  30. package/dist/esm/Drag.js +118 -7
  31. package/dist/esm/Elevator.js +234 -8
  32. package/dist/esm/Ellipsis.js +176 -10
  33. package/dist/esm/Empty.js +79 -8
  34. package/dist/esm/FixedNav.js +103 -14
  35. package/dist/esm/Form.js +215 -10
  36. package/dist/esm/FormItem.js +3 -10
  37. package/dist/esm/Grid.js +81 -11
  38. package/dist/esm/GridItem.js +123 -13
  39. package/dist/esm/Icon.js +2 -5
  40. package/dist/esm/Image.js +169 -11
  41. package/dist/esm/ImagePreview.js +225 -19
  42. package/dist/esm/Indicator.js +50 -7
  43. package/dist/esm/Infiniteloading.js +215 -14
  44. package/dist/esm/Input.js +362 -12
  45. package/dist/esm/InputNumber.js +275 -9
  46. package/dist/esm/Layout.js +13 -5
  47. package/dist/esm/Menu.js +153 -10
  48. package/dist/esm/MenuItem.js +175 -15
  49. package/dist/esm/NavBar.js +114 -9
  50. package/dist/esm/NoticeBar.js +568 -10
  51. package/dist/esm/Notify.js +234 -8
  52. package/dist/esm/NumberKeyboard.js +247 -17
  53. package/dist/esm/Overlay.js +2 -6
  54. package/dist/esm/Pagination.js +168 -9
  55. package/dist/esm/Picker.js +494 -22
  56. package/dist/esm/Popover.js +223 -12
  57. package/dist/esm/Popup.js +193 -13
  58. package/dist/esm/Price.js +84 -6
  59. package/dist/esm/Progress.js +122 -9
  60. package/dist/esm/PullToRefresh.js +276 -13
  61. package/dist/esm/Radio.js +4 -8
  62. package/dist/esm/RadioGroup.js +120 -7
  63. package/dist/esm/Range.js +406 -15
  64. package/dist/esm/Rate.js +121 -9
  65. package/dist/esm/Row.js +49 -7
  66. package/dist/esm/SearchBar.js +235 -12
  67. package/dist/esm/ShortPassword.js +191 -17
  68. package/dist/esm/SideNavBar.js +57 -19
  69. package/dist/esm/SideNavBarItem.js +24 -5
  70. package/dist/esm/Signature.js +153 -13
  71. package/dist/esm/Skeleton.js +98 -12
  72. package/dist/esm/Step.js +87 -10
  73. package/dist/esm/Steps.js +38 -8
  74. package/dist/esm/Sticky.js +190 -11
  75. package/dist/esm/SubSideNavBar.js +78 -6
  76. package/dist/esm/Swipe.js +230 -10
  77. package/dist/esm/Swiper.js +490 -9
  78. package/dist/esm/SwiperItem.js +36 -8
  79. package/dist/esm/Switch.js +71 -6
  80. package/dist/esm/TabPane.js +2 -5
  81. package/dist/esm/Tabbar.js +68 -6
  82. package/dist/esm/TabbarItem.js +78 -9
  83. package/dist/esm/Table.js +140 -12
  84. package/dist/esm/Tabs.js +5 -8
  85. package/dist/esm/Tag.js +110 -10
  86. package/dist/esm/TextArea.js +148 -9
  87. package/dist/esm/TimeDetail.js +67 -9
  88. package/dist/esm/TimePannel.js +29 -9
  89. package/dist/esm/TimeSelect.js +171 -19
  90. package/dist/esm/Toast.js +268 -7
  91. package/dist/esm/TrendArrow.js +99 -7
  92. package/dist/esm/Uploader.js +566 -17
  93. package/dist/esm/{UserContext-0aac9a82.js → UserContext-101ad4a4.js} +1 -3
  94. package/dist/esm/{UserContext-e402e1a6.js → UserContext-2629d479.js} +1 -3
  95. package/dist/esm/{UserContext-e8176108.js → UserContext-b33bcf21.js} +1 -3
  96. package/dist/esm/Video.js +90 -7
  97. package/dist/esm/VirtualList.js +313 -9
  98. package/dist/esm/WaterMark.js +111 -11
  99. package/dist/esm/{bem-350c1702.js → bem-3b438e61.js} +6 -3
  100. package/dist/esm/cellgroup-fcc72767.js +34 -0
  101. package/dist/esm/checkbox-44e13cd0.js +137 -0
  102. package/dist/esm/date-c7aad4c0.js +97 -0
  103. package/dist/esm/formitem-8a73a5fb.js +157 -0
  104. package/dist/esm/get-scroll-parent-5f85dee8.js +24 -0
  105. package/dist/esm/{grid.taro.context-c2bbfb4f.js → grid.context-2ee27d95.js} +2 -4
  106. package/dist/esm/icon-4ef1581c.js +70 -0
  107. package/dist/esm/index-030b7245.js +11 -0
  108. package/dist/esm/nutui-react.es.js +94 -119
  109. package/dist/esm/offsetContext-3ab00d40.js +16 -0
  110. package/dist/esm/overlay-de6c79d5.js +83 -0
  111. package/dist/esm/radio-9f141e6b.js +118 -0
  112. package/dist/esm/render-bbebb760.js +79 -0
  113. package/dist/esm/tabpane-01075e6c.js +29 -0
  114. package/dist/esm/tabs-e1b4e4b1.js +181 -0
  115. package/dist/esm/typings-f27b58f4.js +8 -0
  116. package/dist/esm/useClientRect-56bb675b.js +39 -0
  117. package/dist/esm/useTouch-cf73a407.js +99 -0
  118. package/dist/locales/base.js +1 -1
  119. package/dist/locales/en-US.js +1 -1
  120. package/dist/locales/id-ID.js +1 -1
  121. package/dist/locales/zh-CN.js +1 -1
  122. package/dist/locales/zh-TW.js +1 -1
  123. package/dist/locales/zh-UG.js +1 -1
  124. package/dist/nutui.react.mjs +15025 -13192
  125. package/dist/nutui.react.umd.js +15004 -13169
  126. package/dist/style.mjs +1 -1
  127. package/dist/types/index.d.ts +183 -176
  128. package/package.json +1 -1
  129. package/dist/esm/actionsheet.taro-e6a51446.js +0 -53
  130. package/dist/esm/address.taro-3a9b6396.js +0 -461
  131. package/dist/esm/animate.taro-fb7986d6.js +0 -40
  132. package/dist/esm/animatingnumbers.taro-03e5d61d.js +0 -104
  133. package/dist/esm/audio.taro-87ec8bf2.js +0 -161
  134. package/dist/esm/avatar.taro-3676f38f.js +0 -103
  135. package/dist/esm/avatargroup-f3574510.js +0 -34
  136. package/dist/esm/backtop.taro-66394a36.js +0 -48
  137. package/dist/esm/badge.taro-a4e59c11.js +0 -52
  138. package/dist/esm/barrage.taro-0495a1b2.js +0 -94
  139. package/dist/esm/button.taro-9244d065.js +0 -100
  140. package/dist/esm/calendar.taro-670842ea.js +0 -65
  141. package/dist/esm/calendaritem.taro-2a603571.js +0 -787
  142. package/dist/esm/can-use-dom-3eeb5af4.js +0 -6
  143. package/dist/esm/card.taro-e4c76dad.js +0 -33
  144. package/dist/esm/cascader.taro-eb1fb011.js +0 -438
  145. package/dist/esm/cell.taro-a10a74d3.js +0 -64
  146. package/dist/esm/cellgroup.taro-abe501bc.js +0 -25
  147. package/dist/esm/checkbox.taro-6120e3e3.js +0 -171
  148. package/dist/esm/circleprogress.taro-79854448.js +0 -109
  149. package/dist/esm/col.taro-53eed3cc.js +0 -41
  150. package/dist/esm/collapse.taro-1a9e4ba2.js +0 -83
  151. package/dist/esm/collapseitem-4d0bc55d.js +0 -83
  152. package/dist/esm/configprovider-67d19d3a.js +0 -19
  153. package/dist/esm/configprovider.taro-8d71eb49.js +0 -42
  154. package/dist/esm/countdown.taro-5b17c607.js +0 -226
  155. package/dist/esm/datepicker.taro-6e9b4b8f.js +0 -275
  156. package/dist/esm/dialog.taro-a3267d29.js +0 -118
  157. package/dist/esm/divider.taro-26d1d8b4.js +0 -35
  158. package/dist/esm/drag.taro-79bb8744.js +0 -110
  159. package/dist/esm/elevator.taro-6019669e.js +0 -178
  160. package/dist/esm/ellipsis.taro-f15f26da.js +0 -241
  161. package/dist/esm/empty.taro-04ae4389.js +0 -62
  162. package/dist/esm/fixednav.taro-1f05acaf.js +0 -53
  163. package/dist/esm/form.taro-0c8e7a39.js +0 -179
  164. package/dist/esm/formitem.taro-190a3326.js +0 -89
  165. package/dist/esm/get-scroll-parent-b4a07e65.js +0 -25
  166. package/dist/esm/grid.taro-3503b82c.js +0 -61
  167. package/dist/esm/griditem.taro-cdb3f119.js +0 -98
  168. package/dist/esm/icon-296a1bec.js +0 -63
  169. package/dist/esm/icon.taro-296a1bec.js +0 -63
  170. package/dist/esm/image.taro-142cf512.js +0 -64
  171. package/dist/esm/imagepreview.taro-c50bb0a3.js +0 -167
  172. package/dist/esm/index-5bcb0ff8.js +0 -7
  173. package/dist/esm/indicator.taro-cba8b010.js +0 -37
  174. package/dist/esm/infiniteloading.taro-183bccbf.js +0 -144
  175. package/dist/esm/input.taro-97af6c96.js +0 -240
  176. package/dist/esm/inputnumber.taro-91f65d17.js +0 -130
  177. package/dist/esm/layout.taro-9046d093.js +0 -11
  178. package/dist/esm/menu.taro-7e4038a1.js +0 -99
  179. package/dist/esm/menuitem.taro-96cc4f15.js +0 -130
  180. package/dist/esm/navbar.taro-777c4705.js +0 -79
  181. package/dist/esm/noticebar.taro-4a23cdee.js +0 -448
  182. package/dist/esm/notify.taro-e17c6f82.js +0 -75
  183. package/dist/esm/numberkeyboard.taro-1bc24744.js +0 -159
  184. package/dist/esm/offsetContext-c2a746fa.js +0 -5
  185. package/dist/esm/overlay.taro-21e87fb1.js +0 -69
  186. package/dist/esm/pagination.taro-715a173b.js +0 -124
  187. package/dist/esm/picker.taro-9ad1b7c5.js +0 -473
  188. package/dist/esm/popover.taro-ad5e76ea.js +0 -156
  189. package/dist/esm/popup.taro-01676bff.js +0 -137
  190. package/dist/esm/price.taro-776ed16e.js +0 -83
  191. package/dist/esm/progress.taro-f0ce38e9.js +0 -90
  192. package/dist/esm/pulltorefresh.taro-a294f656.js +0 -181
  193. package/dist/esm/radio.taro-a6eff96c.js +0 -168
  194. package/dist/esm/range.taro-d8fc7656.js +0 -332
  195. package/dist/esm/rate.taro-6cdf03bd.js +0 -75
  196. package/dist/esm/row.taro-f64d4a13.js +0 -46
  197. package/dist/esm/searchbar.taro-0c25927b.js +0 -152
  198. package/dist/esm/shortpassword.taro-9ee034f7.js +0 -111
  199. package/dist/esm/sidenavbar.taro-c307b35e.js +0 -35
  200. package/dist/esm/sidenavbaritem.taro-5a7965d0.js +0 -12
  201. package/dist/esm/signature.taro-ec4e713b.js +0 -143
  202. package/dist/esm/skeleton.taro-76faf63f.js +0 -62
  203. package/dist/esm/step.taro-b7903e8c.js +0 -59
  204. package/dist/esm/steps.taro-c82d2252.js +0 -30
  205. package/dist/esm/sticky.taro-218bda37.js +0 -138
  206. package/dist/esm/subsidenavbar.taro-69cb9752.js +0 -63
  207. package/dist/esm/supports-passive-c85ef996.js +0 -18
  208. package/dist/esm/swipe.taro-ea35f07f.js +0 -177
  209. package/dist/esm/swiper.taro-7a94e211.js +0 -451
  210. package/dist/esm/swiperitem-c9e3d0d5.js +0 -29
  211. package/dist/esm/switch.taro-34ca8228.js +0 -50
  212. package/dist/esm/tabbar.taro-9acfc2fa.js +0 -59
  213. package/dist/esm/tabbaritem.taro-bf517487.js +0 -58
  214. package/dist/esm/table.taro-91fc0c01.js +0 -93
  215. package/dist/esm/tabpane.taro-4ca340ef.js +0 -23
  216. package/dist/esm/tabs.taro-6a7524a4.js +0 -140
  217. package/dist/esm/tag.taro-23ba0834.js +0 -92
  218. package/dist/esm/textarea.taro-442e7350.js +0 -94
  219. package/dist/esm/timedetail.taro-5b2f2269.js +0 -44
  220. package/dist/esm/timepannel.taro-d6e40180.js +0 -22
  221. package/dist/esm/timeselect.taro-a07036f4.js +0 -133
  222. package/dist/esm/toast.taro-d6c14811.js +0 -109
  223. package/dist/esm/trendarrow.taro-b8c5ccd9.js +0 -73
  224. package/dist/esm/typings-b9828dba.js +0 -9
  225. package/dist/esm/uploader.taro-587e6bf3.js +0 -492
  226. package/dist/esm/useClientRect-1f8ed1fe.js +0 -18
  227. package/dist/esm/useTouch-db24bb5c.js +0 -69
  228. package/dist/esm/video-f1be8a91.js +0 -67
  229. package/dist/esm/virtuallist.taro-f0b0270d.js +0 -214
  230. package/dist/esm/watermark.taro-9ce2ae37.js +0 -114
  231. package/dist/esm/zh-CN-c779e6c1.js +0 -131
@@ -1,11 +1,277 @@
1
- import { I as InputNumber } from './inputnumber.taro-91f65d17.js';
2
- import 'react';
3
- import 'classnames';
4
- import './icon.taro-296a1bec.js';
5
- import './bem-350c1702.js';
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", "disabled", "buttonSize", "min", "max", "inputWidth", "readonly", "modelValue", "decimalPlaces", "step", "isAsync", "className", "style", "formatter", "add", "reduce", "change", "overlimit", "blur", "focus", "onAdd", "onReduce", "onOverlimit", "onBlurFuc", "onFocus", "onChangeFuc", "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 Icon from './Icon.js';
10
+ import { c as cn } from './bem-3b438e61.js';
11
+ import { C as ComponentDefaults } from './typings-f27b58f4.js';
6
12
  import '@bem-react/classname';
7
- import './typings-b9828dba.js';
8
-
9
-
10
-
13
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
14
+ disabled: false,
15
+ buttonSize: '',
16
+ min: 1,
17
+ max: 9999,
18
+ inputWidth: '',
19
+ readonly: false,
20
+ modelValue: 0,
21
+ step: 1,
22
+ decimalPlaces: 0,
23
+ isAsync: false
24
+ });
25
+ function pxCheck(value) {
26
+ return Number.isNaN(Number(value)) ? String(value) : "".concat(value, "px");
27
+ }
28
+ var InputNumber = function InputNumber(props) {
29
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
30
+ children = _defaultProps$props.children,
31
+ disabled = _defaultProps$props.disabled,
32
+ buttonSize = _defaultProps$props.buttonSize,
33
+ min = _defaultProps$props.min,
34
+ max = _defaultProps$props.max,
35
+ inputWidth = _defaultProps$props.inputWidth,
36
+ readonly = _defaultProps$props.readonly,
37
+ modelValue = _defaultProps$props.modelValue,
38
+ decimalPlaces = _defaultProps$props.decimalPlaces,
39
+ step = _defaultProps$props.step,
40
+ isAsync = _defaultProps$props.isAsync,
41
+ className = _defaultProps$props.className,
42
+ style = _defaultProps$props.style,
43
+ formatter = _defaultProps$props.formatter,
44
+ add = _defaultProps$props.add,
45
+ reduce = _defaultProps$props.reduce,
46
+ change = _defaultProps$props.change,
47
+ overlimit = _defaultProps$props.overlimit,
48
+ blur = _defaultProps$props.blur,
49
+ focus = _defaultProps$props.focus,
50
+ onAdd = _defaultProps$props.onAdd,
51
+ onReduce = _defaultProps$props.onReduce,
52
+ onOverlimit = _defaultProps$props.onOverlimit,
53
+ onBlurFuc = _defaultProps$props.onBlurFuc,
54
+ onFocus = _defaultProps$props.onFocus,
55
+ onChangeFuc = _defaultProps$props.onChangeFuc,
56
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
57
+ iconFontClassName = _defaultProps$props.iconFontClassName,
58
+ restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
59
+ var _useState = useState(modelValue),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ inputValue = _useState2[0],
62
+ setInputValue = _useState2[1];
63
+ var inputRef = useRef('');
64
+ useEffect(function () {
65
+ if (formatter) {
66
+ inputRef.current = formatter(modelValue);
67
+ setInputValue(formatter(modelValue));
68
+ } else {
69
+ setInputValue(modelValue);
70
+ }
71
+ }, [modelValue, formatter]);
72
+ var b = cn('inputnumber');
73
+ var classes = classNames(_defineProperty({}, "".concat(b(''), "--disabled"), disabled), className, b(''));
74
+ var styles = _objectSpread({
75
+ height: pxCheck(buttonSize)
76
+ }, style);
77
+ var addAllow = function addAllow() {
78
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : inputValue;
79
+ if (formatter) {
80
+ var numValue = String(value).replace(/[^0-9|\.]/gi, '');
81
+ return Number(numValue) < Number(max) && !disabled;
82
+ }
83
+ if (value || typeof value === 'number') {
84
+ return value < Number(max) && !disabled;
85
+ }
86
+ return false;
87
+ };
88
+ var reduceAllow = function reduceAllow() {
89
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : inputValue;
90
+ if (formatter) {
91
+ var numValue = String(value).replace(/[^0-9|\.]/gi, '');
92
+ return Number(numValue) > Number(min) && !disabled;
93
+ }
94
+ if (value || typeof value === 'number') {
95
+ return value > Number(min) && !disabled;
96
+ }
97
+ return false;
98
+ };
99
+ var iconMinusClasses = classNames('nut-inputnumber__icon', {
100
+ 'nut-inputnumber__icon--disabled': !reduceAllow()
101
+ });
102
+ var iconAddClasses = classNames('nut-inputnumber__icon', {
103
+ 'nut-inputnumber__icon--disabled': !addAllow()
104
+ });
105
+ var fixedDecimalPlaces = function fixedDecimalPlaces(v) {
106
+ return Number(v).toFixed(Number(decimalPlaces));
107
+ };
108
+ var emitChange = function emitChange(value, e) {
109
+ var outputValue = fixedDecimalPlaces(value);
110
+ onChangeFuc && onChangeFuc(outputValue, e);
111
+ change && change(outputValue, e);
112
+ if (!isAsync) {
113
+ if (Number(outputValue) < Number(min)) {
114
+ formatter ? setInputValue(formatter(Number(min))) : setInputValue(Number(min));
115
+ } else if (Number(outputValue) > Number(max)) {
116
+ formatter ? setInputValue(formatter(Number(max))) : setInputValue(Number(max));
117
+ } else {
118
+ formatter ? setInputValue(formatter(outputValue)) : setInputValue(outputValue);
119
+ }
120
+ }
121
+ };
122
+ var reduceNumber = function reduceNumber(e) {
123
+ onReduce && onReduce(e);
124
+ reduce && reduce(e);
125
+ if (reduceAllow()) {
126
+ if (formatter) {
127
+ var numValue = String(inputValue).replace(/[^0-9|\.]/gi, '');
128
+ var outputValue = Number(numValue) - Number(step);
129
+ inputRef.current = formatter(outputValue);
130
+ emitChange(outputValue, e);
131
+ } else {
132
+ var _outputValue = Number(inputValue) - Number(step);
133
+ emitChange(_outputValue, e);
134
+ }
135
+ } else {
136
+ onOverlimit && onOverlimit(e);
137
+ overlimit && overlimit(e);
138
+ }
139
+ };
140
+ var addNumber = function addNumber(e) {
141
+ onAdd && onAdd(e);
142
+ add && add(e);
143
+ if (addAllow()) {
144
+ if (formatter) {
145
+ var numValue = String(inputValue).replace(/[^0-9|\.]/gi, '');
146
+ var outputValue = Number(numValue) + Number(step);
147
+ inputRef.current = formatter(outputValue);
148
+ emitChange(outputValue, e);
149
+ } else {
150
+ var _outputValue2 = Number(inputValue) + Number(step);
151
+ emitChange(_outputValue2, e);
152
+ }
153
+ } else {
154
+ onOverlimit && onOverlimit(e);
155
+ overlimit && overlimit(e);
156
+ }
157
+ };
158
+ var changeValue = function changeValue(e) {
159
+ var input = e.target;
160
+ change && change(input.valueAsNumber, e);
161
+ onChangeFuc && onChangeFuc(input.valueAsNumber, e);
162
+ if (!isAsync) {
163
+ if (Number.isNaN(input.valueAsNumber)) {
164
+ setInputValue('');
165
+ } else {
166
+ setInputValue(input.valueAsNumber);
167
+ }
168
+ }
169
+ };
170
+ var changeFormatValue = function changeFormatValue(e) {
171
+ var input = e.target.value;
172
+ var numReg = new RegExp('^[0-9]*$');
173
+ var numValue = input.replace(/[^0-9|\.]/gi, '');
174
+ if (formatter) {
175
+ if (!numReg.test(input[0]) && numValue) {
176
+ setInputValue(formatter(numValue));
177
+ } else if (!numReg.test(input[0]) && !numValue) {
178
+ setInputValue(input);
179
+ } else if (numReg.test(input[0])) {
180
+ console.log('inputRef.current', inputRef.current);
181
+ console.log('formatter(numValue)', formatter(numValue));
182
+ // 针对于100%这种尾字符例子,直接删除会进行匹配
183
+ if (formatter(numValue) === inputRef.current) {
184
+ setInputValue(numValue);
185
+ } else {
186
+ setInputValue(formatter(numValue));
187
+ inputRef.current = formatter(numValue);
188
+ }
189
+ }
190
+ }
191
+ };
192
+ var burFormatValue = function burFormatValue(e) {
193
+ var input = e.target.value;
194
+ var numReg = new RegExp('^[0-9]*$');
195
+ var numValue = input.replace(/[^0-9|\.]/gi, '');
196
+ if (formatter) {
197
+ if (formatter(numValue) === input) {
198
+ emitChange(numValue, e);
199
+ return;
200
+ }
201
+ if (!numReg.test(input) || !input) {
202
+ setInputValue(formatter(''));
203
+ }
204
+ }
205
+ };
206
+ var focusValue = function focusValue(e) {
207
+ if (disabled) return;
208
+ if (readonly) return;
209
+ onFocus && onFocus(e);
210
+ focus && focus(e);
211
+ };
212
+ var burValue = function burValue(e) {
213
+ if (disabled) return;
214
+ if (readonly) return;
215
+ var input = e.target;
216
+ var value = input.valueAsNumber;
217
+ if (value < Number(min)) {
218
+ value = Number(min);
219
+ } else if (value > Number(max)) {
220
+ value = Number(max);
221
+ }
222
+ emitChange(value, e);
223
+ onBlurFuc && onBlurFuc(e);
224
+ blur && blur(e);
225
+ };
226
+ return React__default.createElement("div", _objectSpread({
227
+ className: classes,
228
+ style: styles
229
+ }, restProps), React__default.createElement("div", {
230
+ className: "nut-input-minus"
231
+ }, React__default.createElement(Icon, {
232
+ classPrefix: iconClassPrefix,
233
+ fontClassName: iconFontClassName,
234
+ className: iconMinusClasses,
235
+ size: buttonSize,
236
+ name: "minus",
237
+ onClick: reduceNumber
238
+ })), React__default.createElement(React__default.Fragment, null, formatter ? React__default.createElement("input", {
239
+ type: "text",
240
+ min: min,
241
+ max: max,
242
+ style: {
243
+ width: pxCheck(inputWidth)
244
+ },
245
+ disabled: disabled,
246
+ readOnly: readonly,
247
+ value: inputValue,
248
+ onInput: changeFormatValue,
249
+ onBlur: burFormatValue,
250
+ onFocus: focusValue
251
+ }) : React__default.createElement("input", {
252
+ type: "number",
253
+ min: min,
254
+ max: max,
255
+ style: {
256
+ width: pxCheck(inputWidth)
257
+ },
258
+ disabled: disabled,
259
+ readOnly: readonly,
260
+ value: inputValue,
261
+ onInput: changeValue,
262
+ onBlur: burValue,
263
+ onFocus: focusValue
264
+ })), React__default.createElement("div", {
265
+ className: "nut-input-add"
266
+ }, React__default.createElement(Icon, {
267
+ classPrefix: iconClassPrefix,
268
+ fontClassName: iconFontClassName,
269
+ className: iconAddClasses,
270
+ size: buttonSize,
271
+ name: "plus",
272
+ onClick: addNumber
273
+ })));
274
+ };
275
+ InputNumber.defaultProps = defaultProps;
276
+ InputNumber.displayName = 'NutInputNumber';
11
277
  export { InputNumber as default };
@@ -1,6 +1,14 @@
1
- import { L as Layout } from './layout.taro-9046d093.js';
2
- import 'react';
3
-
4
-
5
-
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ import React__default from 'react';
5
+ var defaultProps = {};
6
+ var Layout = function Layout(props) {
7
+ _objectSpread(_objectSpread({}, defaultProps), props);
8
+ return React__default.createElement("div", {
9
+ className: "nut-layout"
10
+ }, "Layout");
11
+ };
12
+ Layout.defaultProps = defaultProps;
13
+ Layout.displayName = 'NutLayout';
6
14
  export { Layout as default };
package/dist/esm/Menu.js CHANGED
@@ -1,11 +1,154 @@
1
- import { M as Menu } from './menu.taro-7e4038a1.js';
2
- import 'react';
3
- import 'classnames';
4
- import './icon.taro-296a1bec.js';
5
- import './bem-350c1702.js';
6
- import '@bem-react/classname';
7
- import './typings-b9828dba.js';
8
-
9
-
10
-
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
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 = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor", "iconClassPrefix", "iconFontClassName"];
6
+ 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; }
7
+ 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; }
8
+ import React__default, { useRef, useState, useEffect } from 'react';
9
+ import classNames from 'classnames';
10
+ import Icon from './Icon.js';
11
+ import { C as ComponentDefaults } from './typings-f27b58f4.js';
12
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
13
+ className: '',
14
+ style: {},
15
+ activeColor: '#F2270C',
16
+ closeOnClickOverlay: true,
17
+ scrollFixed: false,
18
+ lockScroll: true,
19
+ titleIcon: ''
20
+ });
21
+ var Menu = function Menu(props) {
22
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
23
+ className = _defaultProps$props.className,
24
+ titleIcon = _defaultProps$props.titleIcon,
25
+ scrollFixed = _defaultProps$props.scrollFixed,
26
+ lockScroll = _defaultProps$props.lockScroll,
27
+ closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
28
+ children = _defaultProps$props.children,
29
+ activeColor = _defaultProps$props.activeColor,
30
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
31
+ iconFontClassName = _defaultProps$props.iconFontClassName,
32
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
33
+ var parentRef = useRef(null);
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ isScrollFixed = _useState2[0],
37
+ setIsScrollFixed = _useState2[1];
38
+ var getScrollTop = function getScrollTop(el) {
39
+ return Math.max(0, 'scrollTop' in el ? el.scrollTop : el.pageYOffset);
40
+ };
41
+ var onScroll = function onScroll() {
42
+ var scrollFixed = props.scrollFixed;
43
+ var scrollTop = getScrollTop(window);
44
+ var isFixed = scrollTop > (typeof scrollFixed === 'boolean' ? 30 : Number(scrollFixed));
45
+ setIsScrollFixed(isFixed);
46
+ };
47
+ useEffect(function () {
48
+ if (scrollFixed) {
49
+ window.addEventListener('scroll', onScroll);
50
+ }
51
+ return function () {
52
+ return window.removeEventListener('scroll', onScroll);
53
+ };
54
+ }, []);
55
+ var _useState3 = useState([]),
56
+ _useState4 = _slicedToArray(_useState3, 2),
57
+ itemShow = _useState4[0],
58
+ setItemShow = _useState4[1];
59
+ var _useState5 = useState([]),
60
+ _useState6 = _slicedToArray(_useState5, 2),
61
+ itemTitle = _useState6[0],
62
+ setItemTitle = _useState6[1];
63
+ var toggleItemShow = function toggleItemShow(index) {
64
+ itemShow[index] = !itemShow[index];
65
+ var temp = itemShow.map(function (i, idx) {
66
+ return idx === index ? i : false;
67
+ });
68
+ setItemShow(_toConsumableArray(temp));
69
+ };
70
+ var hideItemShow = function hideItemShow(index) {
71
+ itemShow[index] = false;
72
+ setItemShow(_toConsumableArray(itemShow));
73
+ };
74
+ var updateTitle = function updateTitle(text, index) {
75
+ itemTitle[index] = text;
76
+ setItemTitle(_toConsumableArray(itemTitle));
77
+ };
78
+ var parent = function parent() {
79
+ return parentRef;
80
+ };
81
+ var cloneChildren = function cloneChildren() {
82
+ return React__default.Children.map(children, function (child, index) {
83
+ return React__default.cloneElement(child, {
84
+ showPopup: itemShow[index],
85
+ orderKey: index,
86
+ activeColor: activeColor,
87
+ parent: {
88
+ closeOnClickOverlay: closeOnClickOverlay,
89
+ lockScroll: lockScroll,
90
+ toggleItemShow: toggleItemShow,
91
+ updateTitle: updateTitle,
92
+ hideItemShow: hideItemShow,
93
+ parent: parent
94
+ }
95
+ });
96
+ });
97
+ };
98
+ return React__default.createElement("div", _objectSpread(_objectSpread({
99
+ className: "nut-menu ".concat(className, " ").concat(isScrollFixed ? 'scroll-fixed' : '')
100
+ }, rest), {}, {
101
+ ref: parentRef
102
+ }), React__default.createElement("div", {
103
+ className: "nut-menu-relative"
104
+ }, React__default.createElement("div", {
105
+ className: "nut-menu__bar ".concat(itemShow.includes(true) ? 'opened' : '', " ").concat(className)
106
+ }, React__default.Children.toArray(children).map(function (child, index) {
107
+ if (!child) return null;
108
+ var _child$props = child.props,
109
+ disabled = _child$props.disabled,
110
+ title = _child$props.title,
111
+ value = _child$props.value,
112
+ direction = _child$props.direction,
113
+ options = _child$props.options,
114
+ className = _child$props.className;
115
+ var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
116
+ return option.value === value;
117
+ });
118
+ function finallyTitle() {
119
+ if (title) return title;
120
+ if (itemTitle && itemTitle[index]) return itemTitle[index];
121
+ if (currentTitle && currentTitle[0] && currentTitle[0].text) return currentTitle[0].text;
122
+ return '';
123
+ }
124
+ return React__default.createElement("div", {
125
+ className: "nut-menu__item ".concat(classNames({
126
+ active: itemShow[index],
127
+ disabled: disabled
128
+ }), " ").concat(className),
129
+ style: {
130
+ color: itemShow[index] ? activeColor : ''
131
+ },
132
+ key: index,
133
+ onClick: function onClick() {
134
+ !disabled && toggleItemShow(index);
135
+ }
136
+ }, React__default.createElement("div", {
137
+ className: "nut-menu__title ".concat(classNames({
138
+ active: itemShow[index],
139
+ disabled: disabled
140
+ }))
141
+ }, React__default.createElement("div", {
142
+ className: "nut-menu__title-text"
143
+ }, finallyTitle()), React__default.createElement(Icon, {
144
+ classPrefix: iconClassPrefix,
145
+ fontClassName: iconFontClassName,
146
+ className: "nut-menu__title-icon",
147
+ size: "10",
148
+ name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
149
+ })));
150
+ })), cloneChildren()));
151
+ };
152
+ Menu.defaultProps = defaultProps;
153
+ Menu.displayName = 'NutMenu';
11
154
  export { Menu as default };
@@ -1,17 +1,177 @@
1
- import { M as MenuItem } from './menuitem.taro-96cc4f15.js';
2
- import 'react';
3
- import 'classnames';
4
- import 'react-transition-group';
5
- import './configprovider.taro-8d71eb49.js';
6
- import 'lodash.kebabcase';
7
- import './zh-CN-c779e6c1.js';
8
- import './icon.taro-296a1bec.js';
9
- import './bem-350c1702.js';
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ 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; }
4
+ 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; }
5
+ import React__default, { forwardRef, useState, useEffect, useImperativeHandle } from 'react';
6
+ import classNames from 'classnames';
7
+ import { CSSTransition } from 'react-transition-group';
8
+ import Icon from './Icon.js';
9
+ import { O as Overlay } from './overlay-de6c79d5.js';
10
+ import { C as ComponentDefaults } from './typings-f27b58f4.js';
11
+ import './bem-3b438e61.js';
10
12
  import '@bem-react/classname';
11
- import './overlay.taro-21e87fb1.js';
12
- import '@tarojs/components';
13
- import './typings-b9828dba.js';
14
-
15
-
16
-
13
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
14
+ className: '',
15
+ style: {},
16
+ columns: 1,
17
+ direction: 'down',
18
+ optionsIcon: 'Check',
19
+ activeTitleClass: '',
20
+ inactiveTitleClass: '',
21
+ iconClassPrefix: 'nut-icon',
22
+ fontClassName: 'nutui-iconfont',
23
+ onChange: function onChange(value) {
24
+ return undefined;
25
+ }
26
+ });
27
+ var MenuItem = forwardRef(function (props, ref) {
28
+ var mergedProps = _objectSpread(_objectSpread({}, defaultProps), props);
29
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
30
+ style = _defaultProps$props.style,
31
+ options = _defaultProps$props.options,
32
+ value = _defaultProps$props.value,
33
+ columns = _defaultProps$props.columns,
34
+ title = _defaultProps$props.title,
35
+ optionsIcon = _defaultProps$props.optionsIcon,
36
+ direction = _defaultProps$props.direction,
37
+ onChange = _defaultProps$props.onChange,
38
+ activeTitleClass = _defaultProps$props.activeTitleClass,
39
+ inactiveTitleClass = _defaultProps$props.inactiveTitleClass,
40
+ children = _defaultProps$props.children,
41
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
42
+ iconFontClassName = _defaultProps$props.iconFontClassName;
43
+ var activeColor = mergedProps.activeColor,
44
+ showPopup = mergedProps.showPopup,
45
+ parent = mergedProps.parent,
46
+ orderKey = mergedProps.orderKey;
47
+ var _useState = useState(showPopup),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ _showPopup = _useState2[0],
50
+ setShowPopup = _useState2[1];
51
+ var _useState3 = useState(value),
52
+ _useState4 = _slicedToArray(_useState3, 2),
53
+ _value = _useState4[0],
54
+ setValue = _useState4[1];
55
+ useEffect(function () {
56
+ setShowPopup(showPopup);
57
+ }, [showPopup]);
58
+ useEffect(function () {
59
+ getParentOffset();
60
+ }, [_showPopup]);
61
+ useImperativeHandle(ref, function () {
62
+ return {
63
+ toggle: parent.toggleItemShow
64
+ };
65
+ });
66
+ var getIconCName = function getIconCName(optionVal, value) {
67
+ var _classNames;
68
+ return classNames((_classNames = {}, _defineProperty(_classNames, activeTitleClass, optionVal === value), _defineProperty(_classNames, inactiveTitleClass, optionVal !== value), _classNames));
69
+ };
70
+ var setTitle = function setTitle(text) {
71
+ if (!title) {
72
+ parent.updateTitle(text, orderKey);
73
+ }
74
+ };
75
+ var handleClick = function handleClick(item) {
76
+ parent.toggleItemShow(orderKey);
77
+ setTitle(item.text);
78
+ setValue(item.value);
79
+ onChange && onChange(item);
80
+ };
81
+ var _useState5 = useState({
82
+ top: 0,
83
+ height: 0
84
+ }),
85
+ _useState6 = _slicedToArray(_useState5, 2),
86
+ position = _useState6[0],
87
+ setPosition = _useState6[1];
88
+ var getParentOffset = function getParentOffset() {
89
+ setTimeout(function () {
90
+ var p = parent.parent().current;
91
+ var rect = p.getBoundingClientRect();
92
+ setPosition({
93
+ height: rect.height,
94
+ top: rect.top
95
+ });
96
+ });
97
+ };
98
+ var isShow = function isShow() {
99
+ if (_showPopup) return {};
100
+ return {
101
+ display: 'none'
102
+ };
103
+ };
104
+ var getPosition = function getPosition() {
105
+ return direction === 'down' ? {
106
+ top: "".concat(position.top + position.height, "px")
107
+ } : {
108
+ bottom: "".concat(window.innerHeight - position.top, "px"),
109
+ top: 'auto'
110
+ };
111
+ };
112
+ var placeholderStyle = function placeholderStyle() {
113
+ if (direction === 'down') {
114
+ return _objectSpread(_objectSpread({
115
+ height: "".concat(position.top + position.height, "px")
116
+ }, isShow()), style);
117
+ }
118
+ return _objectSpread(_objectSpread({
119
+ height: "".concat(window.innerHeight - position.top, "px"),
120
+ top: 'auto'
121
+ }, isShow()), style);
122
+ };
123
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
124
+ className: "placeholder-element ".concat(classNames({
125
+ up: direction === 'up'
126
+ })),
127
+ style: placeholderStyle(),
128
+ onClick: function onClick() {
129
+ return parent.toggleItemShow(orderKey);
130
+ }
131
+ }), React__default.createElement(Overlay, {
132
+ overlayClass: "nut-menu__overlay",
133
+ style: getPosition(),
134
+ lockScroll: parent.lockScroll,
135
+ visible: _showPopup,
136
+ closeOnClickOverlay: parent.closeOnClickOverlay,
137
+ onClick: function onClick() {
138
+ parent.closeOnClickOverlay && parent.toggleItemShow(orderKey);
139
+ }
140
+ }), React__default.createElement("div", {
141
+ className: direction === 'down' ? 'nut-menu-item__wrap' : 'nut-menu-item__wrap-up',
142
+ style: _objectSpread({}, isShow())
143
+ }, React__default.createElement(CSSTransition, {
144
+ "in": _showPopup,
145
+ timeout: 100,
146
+ classNames: direction === 'down' ? 'menu-item' : 'menu-item-up'
147
+ }, React__default.createElement("div", {
148
+ className: "nut-menu-item__content"
149
+ }, options === null || options === void 0 ? void 0 : options.map(function (item, index) {
150
+ return React__default.createElement("div", {
151
+ className: "nut-menu-item__option ".concat(classNames({
152
+ active: item.value === _value
153
+ })),
154
+ key: item.text,
155
+ style: {
156
+ flexBasis: "".concat(100 / columns, "%")
157
+ },
158
+ onClick: function onClick() {
159
+ handleClick(item);
160
+ }
161
+ }, item.value === _value ? React__default.createElement(Icon, {
162
+ classPrefix: iconClassPrefix,
163
+ fontClassName: iconFontClassName,
164
+ className: getIconCName(item.value, value),
165
+ name: optionsIcon,
166
+ color: activeColor
167
+ }) : null, React__default.createElement("div", {
168
+ className: getIconCName(item.value, value),
169
+ style: {
170
+ color: "".concat(item.value === _value ? activeColor : '')
171
+ }
172
+ }, item.text));
173
+ }), children))));
174
+ });
175
+ MenuItem.defaultProps = defaultProps;
176
+ MenuItem.displayName = 'NutMenuItem';
17
177
  export { MenuItem as default };