@nutui/nutui-react 1.5.1 → 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/CHANGELOG.md +1 -35
  2. package/dist/esm/ActionSheet.js +62 -54
  3. package/dist/esm/Address/style/index.js +0 -1
  4. package/dist/esm/Address.js +235 -330
  5. package/dist/esm/Animate.js +43 -32
  6. package/dist/esm/AnimatingNumbers.js +88 -49
  7. package/dist/esm/Audio/style/index.js +0 -1
  8. package/dist/esm/Audio.js +104 -114
  9. package/dist/esm/Avatar.js +65 -78
  10. package/dist/esm/AvatarContext.js +5 -0
  11. package/dist/esm/AvatarGroup.js +46 -27
  12. package/dist/esm/BackTop/style/index.js +1 -1
  13. package/dist/esm/BackTop.js +74 -76
  14. package/dist/esm/Badge.js +57 -54
  15. package/dist/esm/Barrage.js +45 -32
  16. package/dist/esm/Button/style/index.js +1 -1
  17. package/dist/esm/Button.js +66 -87
  18. package/dist/esm/Calendar.js +80 -79
  19. package/dist/esm/CalendarItem.js +199 -231
  20. package/dist/esm/Card.js +44 -37
  21. package/dist/esm/Cascader.js +430 -433
  22. package/dist/esm/Cell/style/index.js +1 -1
  23. package/dist/esm/Cell.js +57 -87
  24. package/dist/esm/CellGroup.js +7 -5
  25. package/dist/esm/Checkbox/style/index.js +0 -1
  26. package/dist/esm/Checkbox.js +11 -8
  27. package/dist/esm/CheckboxGroup.js +78 -71
  28. package/dist/esm/CircleProgress.js +50 -40
  29. package/dist/esm/Col.js +46 -41
  30. package/dist/esm/Collapse.js +44 -44
  31. package/dist/esm/CollapseItem/style/index.js +1 -1
  32. package/dist/esm/CollapseItem.js +64 -104
  33. package/dist/esm/ConfigProvider.js +400 -101
  34. package/dist/esm/CountDown.js +90 -95
  35. package/dist/esm/DatePicker.js +104 -123
  36. package/dist/esm/Dialog.js +98 -104
  37. package/dist/esm/Divider.js +36 -27
  38. package/dist/esm/Drag.js +55 -59
  39. package/dist/esm/Elevator.js +77 -88
  40. package/dist/esm/Ellipsis.js +80 -79
  41. package/dist/esm/Empty.js +50 -44
  42. package/dist/esm/FixedNav/style/index.js +0 -1
  43. package/dist/esm/FixedNav.js +57 -65
  44. package/dist/esm/Form.js +1154 -123
  45. package/dist/esm/FormItem.js +7 -5
  46. package/dist/esm/Grid/style/index.js +1 -1
  47. package/dist/esm/Grid.js +51 -55
  48. package/dist/esm/GridItem.js +7 -124
  49. package/dist/esm/Icon.js +83 -5
  50. package/dist/esm/Image.js +123 -122
  51. package/dist/esm/ImagePreview.js +75 -93
  52. package/dist/esm/Indicator.js +41 -36
  53. package/dist/esm/Infiniteloading/style/index.js +1 -1
  54. package/dist/esm/Infiniteloading.js +77 -93
  55. package/dist/esm/Input/style/index.js +1 -1
  56. package/dist/esm/Input.js +120 -172
  57. package/dist/esm/InputNumber/style/index.js +1 -1
  58. package/dist/esm/InputNumber.js +133 -167
  59. package/dist/esm/Layout.js +27 -6
  60. package/dist/esm/Menu.js +84 -86
  61. package/dist/esm/MenuItem/style/index.js +0 -1
  62. package/dist/esm/MenuItem.js +76 -86
  63. package/dist/esm/NavBar/style/index.js +1 -1
  64. package/dist/esm/NavBar.js +59 -63
  65. package/dist/esm/NoticeBar/style/index.js +1 -1
  66. package/dist/esm/NoticeBar.js +173 -290
  67. package/dist/esm/Notify.js +112 -78
  68. package/dist/esm/NumberKeyboard.js +110 -109
  69. package/dist/esm/Overlay.js +7 -6
  70. package/dist/esm/Pagination.js +94 -135
  71. package/dist/esm/Picker.js +149 -201
  72. package/dist/esm/Popover/style/index.js +0 -1
  73. package/dist/esm/Popover.js +121 -116
  74. package/dist/esm/Popup/style/index.js +0 -1
  75. package/dist/esm/Popup.js +109 -119
  76. package/dist/esm/Price.js +51 -39
  77. package/dist/esm/Progress/style/index.js +1 -1
  78. package/dist/esm/Progress.js +59 -64
  79. package/dist/esm/PullToRefresh.js +173 -149
  80. package/dist/esm/Radio/style/index.js +0 -1
  81. package/dist/esm/Radio.js +8 -6
  82. package/dist/esm/RadioGroup.js +64 -84
  83. package/dist/esm/Range.js +93 -122
  84. package/dist/esm/Rate/style/index.js +1 -1
  85. package/dist/esm/Rate.js +77 -95
  86. package/dist/esm/Row.js +46 -35
  87. package/dist/esm/SearchBar/style/index.js +1 -1
  88. package/dist/esm/SearchBar.js +110 -120
  89. package/dist/esm/ShortPassword/style/index.js +0 -1
  90. package/dist/esm/ShortPassword.js +120 -116
  91. package/dist/esm/SideNavBar.js +39 -27
  92. package/dist/esm/SideNavBarItem.js +31 -14
  93. package/dist/esm/Signature.js +65 -61
  94. package/dist/esm/Skeleton.js +48 -40
  95. package/dist/esm/Step/style/index.js +1 -1
  96. package/dist/esm/Step.js +49 -49
  97. package/dist/esm/Steps.js +37 -23
  98. package/dist/esm/Sticky.js +111 -120
  99. package/dist/esm/SubSideNavBar.js +50 -38
  100. package/dist/esm/Swipe.js +75 -63
  101. package/dist/esm/Swiper.js +171 -206
  102. package/dist/esm/SwiperItem.js +39 -22
  103. package/dist/esm/Switch.js +46 -37
  104. package/dist/esm/TabPane.js +8 -6
  105. package/dist/esm/Tabbar.js +47 -39
  106. package/dist/esm/TabbarItem/style/index.js +1 -1
  107. package/dist/esm/TabbarItem.js +50 -52
  108. package/dist/esm/Table/style/index.js +1 -1
  109. package/dist/esm/Table.js +70 -70
  110. package/dist/esm/Tabs/style/index.js +1 -2
  111. package/dist/esm/Tabs.js +11 -9
  112. package/dist/esm/Tag/style/index.js +1 -1
  113. package/dist/esm/Tag.js +69 -70
  114. package/dist/esm/TextArea.js +70 -64
  115. package/dist/esm/TimeDetail.js +47 -38
  116. package/dist/esm/TimePannel.js +35 -19
  117. package/dist/esm/TimeSelect.js +60 -68
  118. package/dist/esm/Toast/style/index.js +1 -1
  119. package/dist/esm/Toast.js +126 -98
  120. package/dist/esm/TrendArrow/style/index.js +1 -1
  121. package/dist/esm/TrendArrow.js +59 -55
  122. package/dist/esm/Uploader/style/index.js +0 -1
  123. package/dist/esm/Uploader.js +180 -229
  124. package/dist/esm/UserContext.js +5 -0
  125. package/dist/esm/UserContext2.js +5 -0
  126. package/dist/esm/UserContext3.js +5 -0
  127. package/dist/esm/Video.js +49 -39
  128. package/dist/esm/VirtualList.js +111 -146
  129. package/dist/esm/WaterMark.js +57 -60
  130. package/dist/esm/bem.js +10 -0
  131. package/dist/esm/cellgroup2.js +49 -0
  132. package/dist/esm/checkbox2.js +145 -0
  133. package/dist/esm/{date-c7aad4c0.js → date.js} +13 -11
  134. package/dist/esm/{formitem-8a73a5fb.js → formitem2.js} +83 -50
  135. package/dist/esm/get-scroll-parent.js +26 -0
  136. package/dist/esm/griditem2.js +96 -0
  137. package/dist/esm/index.js +14 -0
  138. package/dist/esm/nutui-react.es.js +188 -94
  139. package/dist/esm/offsetContext.js +19 -0
  140. package/dist/esm/overlay2.js +98 -0
  141. package/dist/esm/px-check.js +6 -0
  142. package/dist/esm/radio2.js +129 -0
  143. package/dist/esm/render.js +95 -0
  144. package/dist/esm/tabpane2.js +44 -0
  145. package/dist/esm/tabs2.js +175 -0
  146. package/dist/esm/typings.js +7 -0
  147. package/dist/esm/use-client-rect.js +32 -0
  148. package/dist/esm/use-props-value.js +18 -0
  149. package/dist/esm/use-touch.js +74 -0
  150. package/dist/locales/base.d.ts +2 -2
  151. package/dist/locales/base.js +1 -1
  152. package/dist/locales/en-US.js +3 -3
  153. package/dist/locales/id-ID.js +3 -3
  154. package/dist/locales/zh-CN.js +3 -3
  155. package/dist/locales/zh-TW.js +3 -3
  156. package/dist/locales/zh-UG.js +3 -3
  157. package/dist/nutui.react.mjs +8327 -4829
  158. package/dist/nutui.react.umd.js +8328 -4830
  159. package/dist/packages/actionsheet/actionsheet.scss +10 -2
  160. package/dist/packages/backtop/backtop.scss +0 -8
  161. package/dist/packages/badge/badge.scss +3 -4
  162. package/dist/packages/button/button.scss +80 -93
  163. package/dist/packages/cell/cell.scss +18 -90
  164. package/dist/packages/cellgroup/cellgroup.scss +26 -20
  165. package/dist/packages/collapseitem/collapseitem.scss +0 -1
  166. package/dist/packages/dialog/dialog.scss +1 -1
  167. package/dist/packages/divider/divider.scss +3 -17
  168. package/dist/packages/grid/grid.scss +1 -0
  169. package/dist/packages/griditem/griditem.scss +2 -17
  170. package/dist/packages/icon/icon.scss +0 -132
  171. package/dist/packages/image/image.scss +0 -12
  172. package/dist/packages/indicator/indicator.scss +21 -39
  173. package/dist/packages/infiniteloading/infiniteloading.scss +4 -12
  174. package/dist/packages/input/input.scss +4 -0
  175. package/dist/packages/inputnumber/inputnumber.scss +10 -26
  176. package/dist/packages/menuitem/menuitem.scss +2 -0
  177. package/dist/packages/navbar/navbar.scss +4 -5
  178. package/dist/packages/overlay/overlay.scss +0 -19
  179. package/dist/packages/picker/picker.scss +97 -103
  180. package/dist/packages/progress/progress.scss +0 -1
  181. package/dist/packages/radio/radio.scss +8 -0
  182. package/dist/packages/rate/rate.scss +29 -6
  183. package/dist/packages/searchbar/searchbar.scss +0 -1
  184. package/dist/packages/shortpassword/shortpassword.scss +4 -1
  185. package/dist/packages/step/step.scss +0 -1
  186. package/dist/packages/sticky/sticky.scss +1 -1
  187. package/dist/packages/swiper/swiper.scss +8 -0
  188. package/dist/packages/tabbaritem/tabbaritem.scss +0 -1
  189. package/dist/packages/table/table.scss +0 -1
  190. package/dist/packages/tag/tag.scss +9 -2
  191. package/dist/packages/timedetail/timedetail.scss +9 -3
  192. package/dist/packages/timeselect/timeselect.scss +1 -1
  193. package/dist/packages/toast/toast.scss +0 -1
  194. package/dist/style.css +1 -1
  195. package/dist/style.mjs +1 -1
  196. package/dist/styles/font-jmapp/config.json +175 -0
  197. package/dist/styles/font-jmapp/demo.css +539 -0
  198. package/dist/styles/font-jmapp/demo_index.html +1821 -0
  199. package/dist/styles/font-jmapp/iconfont.css +299 -0
  200. package/dist/styles/font-jmapp/iconfont.eot +0 -0
  201. package/dist/styles/font-jmapp/iconfont.js +68 -0
  202. package/dist/styles/font-jmapp/iconfont.json +506 -0
  203. package/dist/styles/font-jmapp/iconfont.svg +356 -0
  204. package/dist/styles/font-jmapp/iconfont.ttf +0 -0
  205. package/dist/styles/font-jmapp/iconfont.woff +0 -0
  206. package/dist/styles/font-jmapp/iconfont.woff2 +0 -0
  207. package/dist/styles/theme-default.scss +1 -0
  208. package/dist/styles/theme-jmapp.scss +41 -0
  209. package/dist/styles/themes/default.scss +0 -1
  210. package/dist/styles/variables-jmapp.scss +2601 -0
  211. package/dist/styles/variables.scss +49 -73
  212. package/dist/types/index.d.ts +147 -240
  213. package/package.json +23 -154
  214. package/dist/esm/AvatarContext-15733596.js +0 -3
  215. package/dist/esm/Icon/style/index.js +0 -4
  216. package/dist/esm/UserContext-101ad4a4.js +0 -3
  217. package/dist/esm/UserContext-2629d479.js +0 -3
  218. package/dist/esm/UserContext-b33bcf21.js +0 -3
  219. package/dist/esm/bem-3b438e61.js +0 -8
  220. package/dist/esm/cellgroup-fcc72767.js +0 -34
  221. package/dist/esm/checkbox-44e13cd0.js +0 -137
  222. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  223. package/dist/esm/grid.context-2ee27d95.js +0 -6
  224. package/dist/esm/icon-4ef1581c.js +0 -70
  225. package/dist/esm/index-030b7245.js +0 -11
  226. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  227. package/dist/esm/overlay-de6c79d5.js +0 -83
  228. package/dist/esm/radio-9f141e6b.js +0 -118
  229. package/dist/esm/render-bbebb760.js +0 -79
  230. package/dist/esm/tabpane-01075e6c.js +0 -29
  231. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  232. package/dist/esm/typings-f27b58f4.js +0 -8
  233. package/dist/esm/useClientRect-56bb675b.js +0 -39
  234. package/dist/esm/useTouch-cf73a407.js +0 -99
package/dist/esm/Input.js CHANGED
@@ -1,180 +1,137 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
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';
4
+ var _excluded = ["children", "type", "name", "defaultValue", "placeholder", "label", "labelClass", "labelWidth", "labelAlign", "colon", "inputAlign", "center", "required", "disabled", "readonly", "error", "maxlength", "leftIcon", "rightIcon", "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"];
5
+ function ownKeys(object, enumerableOnly) {
6
+ var keys = Object.keys(object);
7
+ if (Object.getOwnPropertySymbols) {
8
+ var symbols = Object.getOwnPropertySymbols(object);
9
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
10
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11
+ })), keys.push.apply(keys, symbols);
12
+ }
13
+ return keys;
14
+ }
15
+ function _objectSpread(target) {
16
+ for (var i = 1; i < arguments.length; i++) {
17
+ var source = null != arguments[i] ? arguments[i] : {};
18
+ i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
19
+ _defineProperty(target, key, source[key]);
20
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
21
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
22
+ });
23
+ }
24
+ return target;
25
+ }
26
+ import React__default, { forwardRef, useState, useRef, useEffect, useImperativeHandle, useCallback } from "react";
27
+ import { MaskClose } from "@nutui/icons-react";
28
+ import { useConfig } from "./ConfigProvider.js";
29
+ import { C as ComponentDefaults } from "./typings.js";
11
30
  function trimExtraChar(value, _char, regExp) {
12
31
  var index = value.indexOf(_char);
13
32
  if (index === -1) {
14
33
  return value;
15
34
  }
16
- if (_char === '-' && index !== 0) {
35
+ if (_char === "-" && index !== 0) {
17
36
  return value.slice(0, index);
18
37
  }
19
- return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
38
+ return value.slice(0, index + 1) + value.slice(index).replace(regExp, "");
20
39
  }
21
40
  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;
41
+ var allowDot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
42
+ var allowMinus = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
24
43
  if (allowDot) {
25
- value = trimExtraChar(value, '.', /\./g);
44
+ value = trimExtraChar(value, ".", /\./g);
26
45
  } else {
27
- value = value.split('.')[0];
46
+ value = value.split(".")[0];
28
47
  }
29
48
  if (allowMinus) {
30
- value = trimExtraChar(value, '-', /-/g);
49
+ value = trimExtraChar(value, "-", /-/g);
31
50
  } else {
32
- value = value.replace(/-/, '');
51
+ value = value.replace(/-/, "");
33
52
  }
34
53
  var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
35
- return value.replace(regExp, '');
54
+ return value.replace(regExp, "");
36
55
  }
37
56
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
38
- type: 'text',
39
- name: '',
40
- defaultValue: '',
41
- placeholder: '',
42
- label: '',
43
- labelClass: '',
44
- labelWidth: '80',
45
- labelAlign: 'left',
57
+ type: "text",
58
+ name: "",
59
+ defaultValue: "",
60
+ placeholder: "",
61
+ label: "",
62
+ labelClass: "",
63
+ labelWidth: "80",
64
+ labelAlign: "left",
46
65
  colon: false,
47
- inputAlign: 'left',
66
+ inputAlign: "left",
48
67
  center: false,
49
68
  required: false,
50
69
  disabled: false,
51
70
  readonly: false,
52
71
  error: false,
53
- maxlength: '9999',
54
- leftIcon: '',
55
- leftIconSize: '',
56
- rightIcon: '',
57
- rightIconSize: '',
72
+ maxlength: "9999",
73
+ leftIcon: null,
74
+ rightIcon: null,
58
75
  clearable: false,
59
- clearIcon: 'mask-close',
60
- clearSize: '14',
76
+ clearIcon: null,
77
+ clearSize: "14",
61
78
  border: true,
62
- formatTrigger: 'onChange',
79
+ formatTrigger: "onChange",
63
80
  rules: [],
64
81
  rows: null,
65
- errorMessage: '',
66
- errorMessageAlign: '',
82
+ errorMessage: "",
83
+ errorMessageAlign: "",
67
84
  showWordLimit: false,
68
85
  autofocus: false,
69
86
  slotButton: null,
70
87
  slotInput: null
71
88
  });
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);
89
+ var Input = forwardRef(function(props, ref) {
90
+ var _useConfig = useConfig(), locale = _useConfig.locale;
91
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, type = _defaultProps$props.type, name = _defaultProps$props.name, defaultValue = _defaultProps$props.defaultValue, placeholder = _defaultProps$props.placeholder, label = _defaultProps$props.label, labelClass = _defaultProps$props.labelClass, labelWidth = _defaultProps$props.labelWidth, labelAlign = _defaultProps$props.labelAlign, colon = _defaultProps$props.colon, inputAlign = _defaultProps$props.inputAlign, center = _defaultProps$props.center, required = _defaultProps$props.required, disabled = _defaultProps$props.disabled, readonly = _defaultProps$props.readonly, error = _defaultProps$props.error, maxlength = _defaultProps$props.maxlength, leftIcon = _defaultProps$props.leftIcon, rightIcon = _defaultProps$props.rightIcon, clearable = _defaultProps$props.clearable, clearIcon = _defaultProps$props.clearIcon, clearSize = _defaultProps$props.clearSize, border = _defaultProps$props.border, formatTrigger = _defaultProps$props.formatTrigger, rules = _defaultProps$props.rules, errorMessage = _defaultProps$props.errorMessage, errorMessageAlign = _defaultProps$props.errorMessageAlign, showWordLimit = _defaultProps$props.showWordLimit, autofocus = _defaultProps$props.autofocus, style = _defaultProps$props.style, className = _defaultProps$props.className, rows = _defaultProps$props.rows, slotButton = _defaultProps$props.slotButton, slotInput = _defaultProps$props.slotInput, onChange = _defaultProps$props.onChange, onBlur = _defaultProps$props.onBlur, onFocus = _defaultProps$props.onFocus, onClear = _defaultProps$props.onClear, formatter = _defaultProps$props.formatter, keypress = _defaultProps$props.keypress, onClickInput = _defaultProps$props.onClickInput, onClickLeftIcon = _defaultProps$props.onClickLeftIcon, onClickRightIcon = _defaultProps$props.onClickRightIcon, _onClick = _defaultProps$props.onClick, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
125
92
  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 : '');
93
+ var _useState = useState(""), _useState2 = _slicedToArray(_useState, 2), inputValue = _useState2[0], SetInputValue = _useState2[1];
94
+ var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), active = _useState4[0], SetActive = _useState4[1];
95
+ var _useState5 = useState(""), _useState6 = _slicedToArray(_useState5, 2), classes = _useState6[0], setClasses = _useState6[1];
96
+ var getModelValue = function getModelValue2() {
97
+ return String(inputValue !== null && inputValue !== void 0 ? inputValue : "");
140
98
  };
141
99
  var inputRef = useRef(null);
142
- useEffect(function () {
100
+ useEffect(function() {
143
101
  setClasses(inputClass);
144
102
  SetInputValue(defaultValue);
145
103
  }, [defaultValue]);
146
- useEffect(function () {
104
+ useEffect(function() {
147
105
  if (inputValue) {
148
106
  updateValue(getModelValue());
149
107
  resetValidation();
150
108
  }
151
109
  }, [inputValue]);
152
- useImperativeHandle(ref, function () {
110
+ useImperativeHandle(ref, function() {
153
111
  return inputRef.current;
154
112
  });
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(' ');
113
+ var inputClass = useCallback(function() {
114
+ var prefixCls = "nut-input";
115
+ 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
116
  }, [disabled, required, error, border, slotButton, rightIcon, center]);
159
- // 样式状态重置
160
- useEffect(function () {
117
+ useEffect(function() {
161
118
  setClasses(inputClass);
162
119
  }, [disabled, required, error, border, slotButton, rightIcon, center]);
163
- var updateValue = function updateValue(value) {
120
+ var updateValue = function updateValue2(value) {
164
121
  var _inputRef$current;
165
- var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'onChange';
166
- var event = arguments.length > 2 ? arguments[2] : undefined;
122
+ var trigger = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "onChange";
123
+ var event = arguments.length > 2 ? arguments[2] : void 0;
167
124
  var val = value;
168
- if (type === 'digit' || type === 'tel') {
125
+ if (type === "digit" || type === "tel") {
169
126
  val = formatNumber(val, false, false);
170
127
  }
171
- if (type === 'number') {
128
+ if (type === "number") {
172
129
  val = formatNumber(val, true, true);
173
130
  }
174
- if (type === 'tel' && !formatter) {
131
+ if (type === "tel" && !formatter) {
175
132
  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
133
  var regNumber = /[^-0-9]/g;
177
- val = !regTel.test(val) && val.length > 11 ? val.substring(0, 11) : val.replace(regNumber, '');
134
+ val = !regTel.test(val) && val.length > 11 ? val.substring(0, 11) : val.replace(regNumber, "");
178
135
  }
179
136
  if (formatter && trigger === formatTrigger) {
180
137
  val = formatter(val);
@@ -184,56 +141,57 @@ var Input = forwardRef(function (props, ref) {
184
141
  }
185
142
  SetInputValue(val);
186
143
  };
187
- var handleFocus = function handleFocus(event) {
144
+ var handleFocus = function handleFocus2(event) {
188
145
  var val = event.target.value;
189
146
  SetActive(true);
190
147
  onFocus && onFocus(val, event);
191
148
  };
192
- var handleInput = function handleInput(event) {
149
+ var handleInput = function handleInput2(event) {
193
150
  var val = event.target.value;
194
151
  if (maxlength && val.length > Number(maxlength)) {
195
152
  val = val.slice(0, Number(maxlength));
196
153
  }
197
- updateValue(val, 'onChange');
154
+ updateValue(val, "onChange");
198
155
  onChange && onChange(val, event);
199
156
  };
200
- var handleBlur = function handleBlur(event) {
201
- setTimeout(function () {
157
+ var handleBlur = function handleBlur2(event) {
158
+ setTimeout(function() {
202
159
  SetActive(false);
203
160
  }, 200);
204
161
  var val = event.target.value;
205
162
  if (maxlength && val.length > Number(maxlength)) {
206
163
  val = val.slice(0, Number(maxlength));
207
164
  }
208
- updateValue(val, 'onBlur');
165
+ updateValue(val, "onBlur");
209
166
  onBlur && onBlur(val, event);
210
167
  };
211
- var handleClickInput = function handleClickInput(event) {
168
+ var handleClickInput = function handleClickInput2(event) {
212
169
  onClickInput && onClickInput(event);
213
170
  };
214
- var handleClickLeftIcon = function handleClickLeftIcon(event) {
171
+ var handleClickLeftIcon = function handleClickLeftIcon2(event) {
215
172
  onClickLeftIcon && onClickLeftIcon(event);
216
173
  };
217
- var handleClickRightIcon = function handleClickRightIcon(event) {
174
+ var handleClickRightIcon = function handleClickRightIcon2(event) {
218
175
  onClickRightIcon && onClickRightIcon(event);
219
176
  };
220
- var resetValidation = function resetValidation() {};
221
- var inputType = function inputType(type) {
222
- if (type === 'number') {
223
- return 'text';
177
+ var resetValidation = function resetValidation2() {
178
+ };
179
+ var inputType = function inputType2(type2) {
180
+ if (type2 === "number") {
181
+ return "text";
224
182
  }
225
- if (type === 'digit') {
226
- return 'tel';
183
+ if (type2 === "digit") {
184
+ return "tel";
227
185
  }
228
- return type;
186
+ return type2;
229
187
  };
230
- var handleClear = function handleClear(event) {
231
- updateValue('');
232
- onClear && onClear('', event);
188
+ var handleClear = function handleClear2(event) {
189
+ updateValue("");
190
+ onClear && onClear("", event);
233
191
  };
234
192
  return React__default.createElement("div", _objectSpread(_objectSpread({
235
- className: "".concat(classes, " ").concat(className || ''),
236
- style: style
193
+ className: "".concat(classes, " ").concat(className || ""),
194
+ style
237
195
  }, rest), {}, {
238
196
  onClick: function onClick(e) {
239
197
  _onClick && _onClick(e);
@@ -246,24 +204,19 @@ var Input = forwardRef(function (props, ref) {
246
204
  }
247
205
  }, React__default.createElement("div", {
248
206
  className: "label-string"
249
- }, label, colon ? ':' : '')) : null, React__default.createElement("div", {
207
+ }, label, colon ? ":" : "")) : null, React__default.createElement("div", {
250
208
  className: "nut-input-value"
251
209
  }, React__default.createElement("div", {
252
210
  className: "nut-input-inner",
253
211
  onClick: function onClick(e) {
254
212
  handleClickInput(e);
255
213
  }
256
- }, slotInput))) : React__default.createElement(React__default.Fragment, null, leftIcon && leftIcon.length > 0 ? React__default.createElement("div", {
214
+ }, slotInput))) : React__default.createElement(React__default.Fragment, null, React__default.isValidElement(leftIcon) ? React__default.createElement("div", {
257
215
  className: "nut-input-left-icon",
258
216
  onClick: function onClick(e) {
259
217
  handleClickLeftIcon(e);
260
218
  }
261
- }, React__default.createElement(Icon, {
262
- classPrefix: iconClassPrefix,
263
- fontClassName: iconFontClassName,
264
- name: leftIcon,
265
- size: leftIconSize
266
- })) : null, label ? React__default.createElement("div", {
219
+ }, leftIcon) : null, label ? React__default.createElement("div", {
267
220
  className: "nut-input-label ".concat(labelClass),
268
221
  style: {
269
222
  width: "".concat(labelWidth, "px"),
@@ -271,7 +224,7 @@ var Input = forwardRef(function (props, ref) {
271
224
  }
272
225
  }, React__default.createElement("div", {
273
226
  className: "label-string"
274
- }, label, colon ? ':' : '')) : null, React__default.createElement("div", {
227
+ }, label, colon ? ":" : "")) : null, React__default.createElement("div", {
275
228
  className: "nut-input-value"
276
229
  }, React__default.createElement("div", {
277
230
  className: "nut-input-main-con"
@@ -280,8 +233,8 @@ var Input = forwardRef(function (props, ref) {
280
233
  onClick: function onClick(e) {
281
234
  handleClickInput(e);
282
235
  }
283
- }, type === 'textarea' ? React__default.createElement("textarea", {
284
- name: name,
236
+ }, type === "textarea" ? React__default.createElement("textarea", {
237
+ name,
285
238
  className: "input-text",
286
239
  ref: inputRef,
287
240
  style: {
@@ -290,21 +243,21 @@ var Input = forwardRef(function (props, ref) {
290
243
  },
291
244
  maxLength: maxlength,
292
245
  placeholder: inputPlaceholder,
293
- disabled: disabled,
246
+ disabled,
294
247
  readOnly: readonly,
295
248
  value: inputValue,
296
249
  autoFocus: autofocus,
297
- onBlur: function onBlur(e) {
250
+ onBlur: function onBlur2(e) {
298
251
  handleBlur(e);
299
252
  },
300
- onFocus: function onFocus(e) {
253
+ onFocus: function onFocus2(e) {
301
254
  handleFocus(e);
302
255
  },
303
256
  onInput: function onInput(e) {
304
257
  handleInput(e);
305
258
  }
306
259
  }) : React__default.createElement("input", {
307
- name: name,
260
+ name,
308
261
  className: "input-text",
309
262
  ref: inputRef,
310
263
  style: {
@@ -313,39 +266,32 @@ var Input = forwardRef(function (props, ref) {
313
266
  type: inputType(type),
314
267
  maxLength: maxlength,
315
268
  placeholder: inputPlaceholder,
316
- disabled: disabled,
269
+ disabled,
317
270
  readOnly: readonly,
318
271
  value: inputValue,
319
272
  autoFocus: autofocus,
320
- onBlur: function onBlur(e) {
273
+ onBlur: function onBlur2(e) {
321
274
  handleBlur(e);
322
275
  },
323
- onFocus: function onFocus(e) {
276
+ onFocus: function onFocus2(e) {
324
277
  handleFocus(e);
325
278
  },
326
279
  onInput: function onInput(e) {
327
280
  handleInput(e);
328
281
  }
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,
282
+ }), clearable && !readonly && active && inputValue.length > 0 ? React__default.createElement("span", {
283
+ className: "nut-input-clear-wrap",
335
284
  onClick: function onClick(e) {
336
- handleClear(e);
285
+ return handleClear(e);
337
286
  }
338
- }) : null), rightIcon && rightIcon.length > 0 ? React__default.createElement("div", {
287
+ }, clearIcon || React__default.createElement(MaskClose, {
288
+ className: "nut-input-clear"
289
+ })) : null), React__default.isValidElement(rightIcon) ? React__default.createElement("div", {
339
290
  className: "nut-input-right-icon",
340
291
  onClick: function onClick(e) {
341
292
  handleClickRightIcon(e);
342
293
  }
343
- }, React__default.createElement(Icon, {
344
- classPrefix: iconClassPrefix,
345
- fontClassName: iconFontClassName,
346
- name: rightIcon,
347
- size: rightIconSize
348
- })) : null, slotButton ? React__default.createElement("div", {
294
+ }, rightIcon) : null, slotButton ? React__default.createElement("div", {
349
295
  className: "nut-input-button"
350
296
  }, slotButton) : null, showWordLimit && maxlength ? React__default.createElement("div", {
351
297
  className: "nut-input-word-limit"
@@ -359,5 +305,7 @@ var Input = forwardRef(function (props, ref) {
359
305
  }, errorMessage) : React__default.createElement("div", null))));
360
306
  });
361
307
  Input.defaultProps = defaultProps;
362
- Input.displayName = 'NutInput';
363
- export { Input as default };
308
+ Input.displayName = "NutInput";
309
+ export {
310
+ Input as default
311
+ };
@@ -1,2 +1,2 @@
1
- import '../../Icon/style'
1
+
2
2
  import '../../../packages/inputnumber/inputnumber.scss'