taro-ui 3.3.3 → 3.4.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 (312) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +85 -0
  3. package/dist/common/utils.d.ts +2 -1
  4. package/dist/common/utils.js +3 -0
  5. package/dist/common/utils.js.map +1 -1
  6. package/dist/components/accordion/index.d.ts +16 -13
  7. package/dist/components/accordion/index.js +77 -97
  8. package/dist/components/accordion/index.js.map +1 -1
  9. package/dist/components/action-sheet/body/index.d.ts +2 -4
  10. package/dist/components/action-sheet/body/index.js +8 -6
  11. package/dist/components/action-sheet/body/index.js.map +1 -1
  12. package/dist/components/action-sheet/body/item/index.d.ts +7 -7
  13. package/dist/components/action-sheet/body/item/index.js +14 -14
  14. package/dist/components/action-sheet/body/item/index.js.map +1 -1
  15. package/dist/components/action-sheet/footer/index.d.ts +7 -7
  16. package/dist/components/action-sheet/footer/index.js +14 -17
  17. package/dist/components/action-sheet/footer/index.js.map +1 -1
  18. package/dist/components/action-sheet/header/index.d.ts +2 -4
  19. package/dist/components/action-sheet/header/index.js +8 -9
  20. package/dist/components/action-sheet/header/index.js.map +1 -1
  21. package/dist/components/action-sheet/index.d.ts +12 -13
  22. package/dist/components/action-sheet/index.js +53 -57
  23. package/dist/components/action-sheet/index.js.map +1 -1
  24. package/dist/components/activity-indicator/index.d.ts +12 -6
  25. package/dist/components/activity-indicator/index.js +19 -22
  26. package/dist/components/activity-indicator/index.js.map +1 -1
  27. package/dist/components/avatar/index.d.ts +14 -8
  28. package/dist/components/avatar/index.js +36 -43
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/badge/index.d.ts +11 -8
  31. package/dist/components/badge/index.js +18 -34
  32. package/dist/components/badge/index.js.map +1 -1
  33. package/dist/components/button/index.d.ts +29 -14
  34. package/dist/components/button/index.js +97 -112
  35. package/dist/components/button/index.js.map +1 -1
  36. package/dist/components/calendar/body/index.d.ts +3 -26
  37. package/dist/components/calendar/body/index.js +215 -235
  38. package/dist/components/calendar/body/index.js.map +1 -1
  39. package/dist/components/calendar/controller/index.d.ts +3 -5
  40. package/dist/components/calendar/controller/index.js +47 -43
  41. package/dist/components/calendar/controller/index.js.map +1 -1
  42. package/dist/components/calendar/index.d.ts +3 -20
  43. package/dist/components/calendar/index.js +219 -201
  44. package/dist/components/calendar/index.js.map +1 -1
  45. package/dist/components/calendar/ui/date-list/index.d.ts +2 -6
  46. package/dist/components/calendar/ui/date-list/index.js +36 -41
  47. package/dist/components/calendar/ui/date-list/index.js.map +1 -1
  48. package/dist/components/calendar/ui/day-list/index.d.ts +2 -4
  49. package/dist/components/calendar/ui/day-list/index.js +6 -5
  50. package/dist/components/calendar/ui/day-list/index.js.map +1 -1
  51. package/dist/components/card/index.d.ts +15 -7
  52. package/dist/components/card/index.js +42 -43
  53. package/dist/components/card/index.js.map +1 -1
  54. package/dist/components/checkbox/index.d.ts +11 -7
  55. package/dist/components/checkbox/index.js +30 -35
  56. package/dist/components/checkbox/index.js.map +1 -1
  57. package/dist/components/config-provider/context.d.ts +6 -0
  58. package/dist/components/config-provider/context.js +13 -0
  59. package/dist/components/config-provider/context.js.map +1 -0
  60. package/dist/components/config-provider/index.d.ts +7 -0
  61. package/dist/components/config-provider/index.js +15 -0
  62. package/dist/components/config-provider/index.js.map +1 -0
  63. package/dist/components/countdown/index.d.ts +19 -19
  64. package/dist/components/countdown/index.js +183 -118
  65. package/dist/components/countdown/index.js.map +1 -1
  66. package/dist/components/countdown/item/index.d.ts +8 -7
  67. package/dist/components/countdown/item/index.js +10 -13
  68. package/dist/components/countdown/item/index.js.map +1 -1
  69. package/dist/components/curtain/index.d.ts +11 -8
  70. package/dist/components/curtain/index.js +36 -45
  71. package/dist/components/curtain/index.js.map +1 -1
  72. package/dist/components/divider/index.d.ts +13 -6
  73. package/dist/components/divider/index.js +29 -38
  74. package/dist/components/divider/index.js.map +1 -1
  75. package/dist/components/drawer/index.d.ts +13 -15
  76. package/dist/components/drawer/index.js +100 -93
  77. package/dist/components/drawer/index.js.map +1 -1
  78. package/dist/components/fab/index.d.ts +8 -7
  79. package/dist/components/fab/index.js +16 -16
  80. package/dist/components/fab/index.js.map +1 -1
  81. package/dist/components/flex/index.d.ts +11 -5
  82. package/dist/components/flex/index.js +17 -18
  83. package/dist/components/flex/index.js.map +1 -1
  84. package/dist/components/flex/item/index.d.ts +11 -5
  85. package/dist/components/flex/item/index.js +17 -18
  86. package/dist/components/flex/item/index.js.map +1 -1
  87. package/dist/components/float-layout/index.d.ts +20 -12
  88. package/dist/components/float-layout/index.js +56 -72
  89. package/dist/components/float-layout/index.js.map +1 -1
  90. package/dist/components/form/index.d.ts +11 -8
  91. package/dist/components/form/index.js +28 -28
  92. package/dist/components/form/index.js.map +1 -1
  93. package/dist/components/grid/index.d.ts +22 -7
  94. package/dist/components/grid/index.js +61 -66
  95. package/dist/components/grid/index.js.map +1 -1
  96. package/dist/components/icon/index.d.ts +13 -7
  97. package/dist/components/icon/index.js +24 -34
  98. package/dist/components/icon/index.js.map +1 -1
  99. package/dist/components/image-picker/index.d.ts +19 -9
  100. package/dist/components/image-picker/index.js +83 -102
  101. package/dist/components/image-picker/index.js.map +1 -1
  102. package/dist/components/indexes/index.d.ts +16 -28
  103. package/dist/components/indexes/index.js +198 -209
  104. package/dist/components/indexes/index.js.map +1 -1
  105. package/dist/components/input/index.d.ts +37 -15
  106. package/dist/components/input/index.js +152 -161
  107. package/dist/components/input/index.js.map +1 -1
  108. package/dist/components/input-number/index.d.ts +20 -11
  109. package/dist/components/input-number/index.js +107 -126
  110. package/dist/components/input-number/index.js.map +1 -1
  111. package/dist/components/list/index.d.ts +7 -6
  112. package/dist/components/list/index.js +15 -15
  113. package/dist/components/list/index.js.map +1 -1
  114. package/dist/components/list/item/index.d.ts +27 -9
  115. package/dist/components/list/item/index.js +89 -117
  116. package/dist/components/list/item/index.js.map +1 -1
  117. package/dist/components/load-more/index.d.ts +15 -7
  118. package/dist/components/load-more/index.js +29 -50
  119. package/dist/components/load-more/index.js.map +1 -1
  120. package/dist/components/loading/index.d.ts +8 -7
  121. package/dist/components/loading/index.js +14 -20
  122. package/dist/components/loading/index.js.map +1 -1
  123. package/dist/components/message/index.d.ts +9 -14
  124. package/dist/components/message/index.js +45 -59
  125. package/dist/components/message/index.js.map +1 -1
  126. package/dist/components/modal/action/index.d.ts +7 -6
  127. package/dist/components/modal/action/index.js +15 -15
  128. package/dist/components/modal/action/index.js.map +1 -1
  129. package/dist/components/modal/content/index.d.ts +2 -4
  130. package/dist/components/modal/content/index.js +8 -6
  131. package/dist/components/modal/content/index.js.map +1 -1
  132. package/dist/components/modal/header/index.d.ts +2 -4
  133. package/dist/components/modal/header/index.js +8 -6
  134. package/dist/components/modal/header/index.js.map +1 -1
  135. package/dist/components/modal/index.d.ts +16 -14
  136. package/dist/components/modal/index.js +63 -77
  137. package/dist/components/modal/index.js.map +1 -1
  138. package/dist/components/nav-bar/index.d.ts +20 -10
  139. package/dist/components/nav-bar/index.js +146 -162
  140. package/dist/components/nav-bar/index.js.map +1 -1
  141. package/dist/components/noticebar/index.d.ts +17 -15
  142. package/dist/components/noticebar/index.js +115 -128
  143. package/dist/components/noticebar/index.js.map +1 -1
  144. package/dist/components/pagination/index.d.ts +13 -11
  145. package/dist/components/pagination/index.js +64 -120
  146. package/dist/components/pagination/index.js.map +1 -1
  147. package/dist/components/progress/index.d.ts +11 -5
  148. package/dist/components/progress/index.js +39 -36
  149. package/dist/components/progress/index.js.map +1 -1
  150. package/dist/components/radio/index.d.ts +11 -7
  151. package/dist/components/radio/index.js +29 -33
  152. package/dist/components/radio/index.js.map +1 -1
  153. package/dist/components/range/index.d.ts +19 -21
  154. package/dist/components/range/index.js +146 -153
  155. package/dist/components/range/index.js.map +1 -1
  156. package/dist/components/rate/index.d.ts +13 -7
  157. package/dist/components/rate/index.js +47 -62
  158. package/dist/components/rate/index.js.map +1 -1
  159. package/dist/components/search-bar/index.d.ts +23 -15
  160. package/dist/components/search-bar/index.js +120 -146
  161. package/dist/components/search-bar/index.js.map +1 -1
  162. package/dist/components/segmented-control/index.d.ts +14 -7
  163. package/dist/components/segmented-control/index.js +52 -66
  164. package/dist/components/segmented-control/index.js.map +1 -1
  165. package/dist/components/slider/index.d.ts +21 -12
  166. package/dist/components/slider/index.js +66 -90
  167. package/dist/components/slider/index.js.map +1 -1
  168. package/dist/components/steps/index.d.ts +11 -7
  169. package/dist/components/steps/index.js +43 -48
  170. package/dist/components/steps/index.js.map +1 -1
  171. package/dist/components/swipe-action/index.d.ts +12 -25
  172. package/dist/components/swipe-action/index.js +118 -115
  173. package/dist/components/swipe-action/index.js.map +1 -1
  174. package/dist/components/swipe-action/options/index.d.ts +2 -4
  175. package/dist/components/swipe-action/options/index.js +18 -17
  176. package/dist/components/swipe-action/options/index.js.map +1 -1
  177. package/dist/components/switch/index.d.ts +14 -7
  178. package/dist/components/switch/index.js +36 -41
  179. package/dist/components/switch/index.js.map +1 -1
  180. package/dist/components/tab-bar/index.d.ts +17 -7
  181. package/dist/components/tab-bar/index.js +108 -135
  182. package/dist/components/tab-bar/index.js.map +1 -1
  183. package/dist/components/tabs/index.d.ts +17 -23
  184. package/dist/components/tabs/index.js +185 -174
  185. package/dist/components/tabs/index.js.map +1 -1
  186. package/dist/components/tabs-pane/index.d.ts +11 -6
  187. package/dist/components/tabs-pane/index.js +26 -28
  188. package/dist/components/tabs-pane/index.js.map +1 -1
  189. package/dist/components/tag/index.d.ts +14 -7
  190. package/dist/components/tag/index.js +31 -40
  191. package/dist/components/tag/index.js.map +1 -1
  192. package/dist/components/textarea/index.d.ts +29 -11
  193. package/dist/components/textarea/index.js +72 -92
  194. package/dist/components/textarea/index.js.map +1 -1
  195. package/dist/components/timeline/index.d.ts +9 -6
  196. package/dist/components/timeline/index.js +50 -56
  197. package/dist/components/timeline/index.js.map +1 -1
  198. package/dist/components/toast/img.json +3 -6
  199. package/dist/components/toast/index.d.ts +16 -15
  200. package/dist/components/toast/index.js +85 -94
  201. package/dist/components/toast/index.js.map +1 -1
  202. package/dist/hooks/useComponentLocale.d.ts +2 -0
  203. package/dist/hooks/useComponentLocale.js +12 -0
  204. package/dist/hooks/useComponentLocale.js.map +1 -0
  205. package/dist/index.d.ts +3 -0
  206. package/dist/index.esm.js +4006 -4404
  207. package/dist/index.esm.js.map +1 -1
  208. package/dist/index.js +4032 -4434
  209. package/dist/index.js.map +1 -1
  210. package/dist/locale/en_US.d.ts +3 -0
  211. package/dist/locale/en_US.js +34 -0
  212. package/dist/locale/en_US.js.map +1 -0
  213. package/dist/locale/index.d.ts +4 -0
  214. package/dist/locale/index.js +10 -0
  215. package/dist/locale/index.js.map +1 -0
  216. package/dist/locale/types.d.ts +34 -0
  217. package/dist/locale/types.js +1 -0
  218. package/dist/locale/types.js.map +1 -0
  219. package/dist/locale/zh_CN.d.ts +3 -0
  220. package/dist/locale/zh_CN.js +34 -0
  221. package/dist/locale/zh_CN.js.map +1 -0
  222. package/dist/style/components/avatar.scss +1 -1
  223. package/dist/style/components/badge.scss +7 -2
  224. package/dist/style/components/calendar.scss +1 -1
  225. package/dist/style/components/countdown.scss +2 -1
  226. package/dist/style/components/flex.scss +1 -1
  227. package/dist/style/components/grid.scss +2 -2
  228. package/dist/style/components/icon.scss +302 -101
  229. package/dist/style/components/input.scss +2 -2
  230. package/dist/style/components/progress.scss +1 -1
  231. package/dist/style/components/search-bar.scss +1 -1
  232. package/dist/style/components/steps.scss +2 -2
  233. package/dist/style/components/tabs.scss +1 -1
  234. package/dist/style/components/tag.scss +1 -1
  235. package/dist/style/components/timeline.scss +1 -1
  236. package/dist/style/components/toast.scss +7 -3
  237. package/dist/style/index.css +176 -176
  238. package/dist/style/index.css.map +1 -1
  239. package/dist/style/mixins/libs/hairline.scss +4 -19
  240. package/dist/style/mixins/libs/shade.scss +3 -6
  241. package/dist/style/mixins/libs/tint.scss +4 -7
  242. package/dist/style/themes/purple.scss +15 -15
  243. package/dist/style/themes/red.scss +16 -13
  244. package/dist/style/variables/default.scss +69 -73
  245. package/package.json +5 -3
  246. package/rn/components/accordion/index.tsx +2 -9
  247. package/rn/components/action-sheet/body/index.tsx +1 -3
  248. package/rn/components/action-sheet/body/item/index.tsx +1 -3
  249. package/rn/components/action-sheet/footer/index.tsx +1 -3
  250. package/rn/components/action-sheet/header/index.tsx +1 -3
  251. package/rn/components/activity-indicator/index.tsx +1 -3
  252. package/rn/components/avatar/index.tsx +5 -5
  253. package/rn/components/calendar/controller/index.tsx +2 -7
  254. package/rn/components/card/index.tsx +4 -4
  255. package/rn/components/countdown/index.scss +5 -4
  256. package/rn/components/countdown/item/index.tsx +1 -3
  257. package/rn/components/curtain/index.tsx +5 -5
  258. package/rn/components/flex/index.scss +2 -2
  259. package/rn/components/flex/item/index.scss +2 -2
  260. package/rn/components/grid/index.tsx +15 -15
  261. package/rn/components/icon/index.tsx +4 -4
  262. package/rn/components/image-picker/index.tsx +7 -7
  263. package/rn/components/pagination/index.tsx +7 -7
  264. package/rn/components/progress/index.tsx +5 -5
  265. package/rn/components/radio/index.tsx +7 -7
  266. package/rn/components/rate/index.tsx +4 -4
  267. package/rn/components/segmented-control/index.tsx +8 -8
  268. package/rn/components/slider/index.tsx +9 -9
  269. package/rn/components/steps/index.tsx +8 -8
  270. package/rn/components/swipe-action/options/index.tsx +1 -3
  271. package/rn/components/switch/index.tsx +2 -9
  272. package/rn/components/toast/img.json +3 -6
  273. package/rn/components/toast/index.tsx +8 -8
  274. package/rn/style/components/accordion.scss +1 -1
  275. package/rn/style/components/action-sheet.scss +1 -1
  276. package/rn/style/components/avatar.scss +1 -1
  277. package/rn/style/components/badge.scss +8 -3
  278. package/rn/style/components/button.scss +1 -1
  279. package/rn/style/components/calendar.scss +1 -1
  280. package/rn/style/components/checkbox.scss +1 -1
  281. package/rn/style/components/curtain.scss +1 -1
  282. package/rn/style/components/fab.scss +1 -4
  283. package/rn/style/components/flex.scss +1 -1
  284. package/rn/style/components/grid.scss +2 -6
  285. package/rn/style/components/icon.scss +302 -101
  286. package/rn/style/components/index.scss +41 -41
  287. package/rn/style/components/input.scss +1 -1
  288. package/rn/style/components/list.scss +2 -4
  289. package/rn/style/components/loading.scss +4 -4
  290. package/rn/style/components/message.scss +1 -1
  291. package/rn/style/components/modal.scss +0 -2
  292. package/rn/style/components/nav-bar.scss +3 -3
  293. package/rn/style/components/noticebar.scss +0 -4
  294. package/rn/style/components/progress.scss +1 -1
  295. package/rn/style/components/radio.scss +2 -2
  296. package/rn/style/components/range.scss +1 -1
  297. package/rn/style/components/search-bar.scss +1 -1
  298. package/rn/style/components/segmented-control.scss +4 -1
  299. package/rn/style/components/slider.scss +0 -1
  300. package/rn/style/components/steps.scss +3 -3
  301. package/rn/style/components/switch.scss +0 -1
  302. package/rn/style/components/tabs.scss +2 -2
  303. package/rn/style/components/tag.scss +1 -1
  304. package/rn/style/components/timeline.scss +0 -2
  305. package/rn/style/components/toast.scss +5 -2
  306. package/rn/style/index.scss +1 -1
  307. package/rn/style/mixins/libs/hairline.scss +4 -22
  308. package/rn/style/mixins/libs/shade.scss +1 -4
  309. package/rn/style/mixins/libs/tint.scss +2 -5
  310. package/rn/style/themes/purple.scss +15 -15
  311. package/rn/style/themes/red.scss +16 -13
  312. package/rn/style/variables/default.scss +69 -73
@@ -1,7 +1,27 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
20
  import classNames from "classnames";
2
21
  import PropTypes from "prop-types";
3
- import React from "react";
22
+ import React, { useRef } from "react";
4
23
  import { Input, Label, Text, View } from "@tarojs/components";
24
+ import { noop } from "../../common/utils";
5
25
  function getInputProps(props) {
6
26
  const actualProps = {
7
27
  type: props.type,
@@ -26,173 +46,143 @@ function getInputProps(props) {
26
46
  }
27
47
  return actualProps;
28
48
  }
29
- class AtInput extends React.Component {
30
- constructor() {
31
- super(...arguments);
32
- // TODO: 有待考证是否为合理方式处理 #840
33
- this.inputClearing = false;
34
- this.handleInput = (event) => {
35
- var _a, _b;
36
- return (_b = (_a = this.props).onChange) == null ? void 0 : _b.call(_a, event.detail.value, event);
37
- };
38
- this.handleFocus = (event) => {
39
- if (typeof this.props.onFocus === "function") {
40
- this.props.onFocus(event.detail.value, event);
41
- }
42
- };
43
- this.handleBlur = (event) => {
44
- var _a, _b;
45
- if (typeof this.props.onBlur === "function") {
46
- this.props.onBlur(event.detail.value, event);
47
- }
48
- if (event.type === "blur" && !this.inputClearing) {
49
- (_b = (_a = this.props).onChange) == null ? void 0 : _b.call(
50
- _a,
51
- event.detail.value,
52
- event
53
- );
54
- }
55
- this.inputClearing = false;
56
- };
57
- this.handleConfirm = (event) => {
58
- if (typeof this.props.onConfirm === "function") {
59
- this.props.onConfirm(event.detail.value, event);
60
- }
61
- };
62
- this.handleClick = (event) => {
63
- if (!this.props.editable && typeof this.props.onClick === "function") {
64
- this.props.onClick(event);
65
- }
66
- };
67
- this.handleClearValue = (event) => {
68
- var _a, _b;
69
- this.inputClearing = true;
70
- (_b = (_a = this.props).onChange) == null ? void 0 : _b.call(_a, "", event);
71
- };
72
- this.handleKeyboardHeightChange = (event) => {
73
- if (typeof this.props.onKeyboardHeightChange === "function") {
74
- this.props.onKeyboardHeightChange(event);
75
- }
76
- };
77
- this.handleErrorClick = (event) => {
78
- if (typeof this.props.onErrorClick === "function") {
79
- this.props.onErrorClick(event);
80
- }
81
- };
82
- }
83
- render() {
84
- const {
85
- className,
86
- customStyle,
49
+ function AtInput(props) {
50
+ var _a, _b, _c, _d, _e;
51
+ const {
52
+ className = "",
53
+ customStyle = "",
54
+ value = "",
55
+ name = "",
56
+ placeholder = "",
57
+ placeholderStyle = "",
58
+ placeholderClass = "",
59
+ title = "",
60
+ cursorSpacing = 50,
61
+ confirmType = "done",
62
+ selectionStart = -1,
63
+ selectionEnd = -1,
64
+ adjustPosition = true,
65
+ editable = true,
66
+ border = true,
67
+ error = false,
68
+ clear = false,
69
+ autoFocus = false,
70
+ focus = false,
71
+ required = false,
72
+ cursor,
73
+ onChange = noop,
74
+ onFocus,
75
+ onBlur,
76
+ onConfirm,
77
+ onErrorClick,
78
+ onClick,
79
+ onKeyboardHeightChange,
80
+ children
81
+ } = props;
82
+ const inputClearing = useRef(false);
83
+ const handleInput = (event) => onChange == null ? void 0 : onChange(event.detail.value, event);
84
+ const handleFocus = (event) => {
85
+ if (typeof onFocus === "function") {
86
+ onFocus(event.detail.value, event);
87
+ }
88
+ };
89
+ const handleBlur = (event) => {
90
+ if (typeof onBlur === "function") {
91
+ onBlur(event.detail.value, event);
92
+ }
93
+ if (event.type === "blur" && !inputClearing.current) {
94
+ onChange == null ? void 0 : onChange(event.detail.value, event);
95
+ }
96
+ inputClearing.current = false;
97
+ };
98
+ const handleConfirm = (event) => {
99
+ if (typeof onConfirm === "function") {
100
+ onConfirm(event.detail.value, event);
101
+ }
102
+ };
103
+ const handleClick = (event) => {
104
+ if (!editable && typeof onClick === "function") {
105
+ onClick(event);
106
+ }
107
+ };
108
+ const handleClearValue = (event) => {
109
+ inputClearing.current = true;
110
+ onChange == null ? void 0 : onChange("", event);
111
+ };
112
+ const handleKeyboardHeightChange = (event) => {
113
+ if (typeof onKeyboardHeightChange === "function") {
114
+ onKeyboardHeightChange(event);
115
+ }
116
+ };
117
+ const handleErrorClick = (event) => {
118
+ if (typeof onErrorClick === "function") {
119
+ onErrorClick(event);
120
+ }
121
+ };
122
+ const {
123
+ type: inputType,
124
+ maxLength: inputMaxLength,
125
+ disabled: inputDisabled,
126
+ password
127
+ } = getInputProps(__spreadProps(__spreadValues({}, props), {
128
+ type: (_a = props.type) != null ? _a : "text",
129
+ maxlength: (_b = props.maxlength) != null ? _b : 140,
130
+ maxLength: (_c = props.maxLength) != null ? _c : 140,
131
+ disabled: (_d = props.disabled) != null ? _d : false,
132
+ editable: (_e = props.editable) != null ? _e : true
133
+ }));
134
+ const rootCls = classNames(
135
+ "at-input",
136
+ {
137
+ "at-input--without-border": !border
138
+ },
139
+ className
140
+ );
141
+ const containerCls = classNames("at-input__container", {
142
+ "at-input--error": error,
143
+ "at-input--disabled": inputDisabled
144
+ });
145
+ const overlayCls = classNames("at-input__overlay", {
146
+ "at-input__overlay--hidden": !inputDisabled
147
+ });
148
+ const placeholderCls = classNames("placeholder", placeholderClass);
149
+ return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: containerCls }, /* @__PURE__ */ React.createElement(View, { className: overlayCls, onClick: handleClick }), title && /* @__PURE__ */ React.createElement(
150
+ Label,
151
+ {
152
+ className: `at-input__title ${required && "at-input__title--required"}`,
153
+ for: name
154
+ },
155
+ title
156
+ ), /* @__PURE__ */ React.createElement(
157
+ Input,
158
+ {
159
+ className: "at-input__input",
160
+ id: name,
87
161
  name,
162
+ type: inputType,
163
+ disabled: inputDisabled,
164
+ password,
165
+ placeholderStyle,
166
+ placeholderClass: placeholderCls,
167
+ placeholder,
88
168
  cursorSpacing,
169
+ maxlength: inputMaxLength,
170
+ autoFocus,
171
+ focus,
172
+ value,
89
173
  confirmType,
90
174
  cursor,
91
175
  selectionStart,
92
176
  selectionEnd,
93
177
  adjustPosition,
94
- border,
95
- title,
96
- error,
97
- clear,
98
- placeholder,
99
- placeholderStyle,
100
- placeholderClass,
101
- autoFocus = false,
102
- focus = false,
103
- value,
104
- required
105
- } = this.props;
106
- const { type, maxLength, disabled, password } = getInputProps(this.props);
107
- const rootCls = classNames(
108
- "at-input",
109
- {
110
- "at-input--without-border": !border
111
- },
112
- className
113
- );
114
- const containerCls = classNames("at-input__container", {
115
- "at-input--error": error,
116
- "at-input--disabled": disabled
117
- });
118
- const overlayCls = classNames("at-input__overlay", {
119
- "at-input__overlay--hidden": !disabled
120
- });
121
- const placeholderCls = classNames("placeholder", placeholderClass);
122
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: containerCls }, /* @__PURE__ */ React.createElement(View, { className: overlayCls, onClick: this.handleClick }), title && /* @__PURE__ */ React.createElement(
123
- Label,
124
- {
125
- className: `at-input__title ${required && "at-input__title--required"}`,
126
- for: name
127
- },
128
- title
129
- ), /* @__PURE__ */ React.createElement(
130
- Input,
131
- {
132
- className: "at-input__input",
133
- id: name,
134
- name,
135
- type,
136
- disabled,
137
- password,
138
- placeholderStyle,
139
- placeholderClass: placeholderCls,
140
- placeholder,
141
- cursorSpacing,
142
- maxlength: maxLength,
143
- autoFocus,
144
- focus,
145
- value,
146
- confirmType,
147
- cursor,
148
- selectionStart,
149
- selectionEnd,
150
- adjustPosition,
151
- onInput: this.handleInput,
152
- onFocus: this.handleFocus,
153
- onBlur: this.handleBlur,
154
- onConfirm: this.handleConfirm,
155
- onKeyboardHeightChange: this.handleKeyboardHeightChange
156
- }
157
- ), clear && value && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchEnd: this.handleClearValue }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle at-input__icon-close" })), error && /* @__PURE__ */ React.createElement(
158
- View,
159
- {
160
- className: "at-input__icon",
161
- onTouchStart: this.handleErrorClick
162
- },
163
- /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-alert-circle at-input__icon-alert" })
164
- ), /* @__PURE__ */ React.createElement(View, { className: "at-input__children" }, this.props.children)));
165
- }
178
+ onInput: handleInput,
179
+ onFocus: handleFocus,
180
+ onBlur: handleBlur,
181
+ onConfirm: handleConfirm,
182
+ onKeyboardHeightChange: handleKeyboardHeightChange
183
+ }
184
+ ), clear && value && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchEnd: handleClearValue }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-close-circle at-input__icon-close" })), error && /* @__PURE__ */ React.createElement(View, { className: "at-input__icon", onTouchStart: handleErrorClick }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-alert-circle at-input__icon-alert" })), /* @__PURE__ */ React.createElement(View, { className: "at-input__children" }, children)));
166
185
  }
167
- AtInput.defaultProps = {
168
- className: "",
169
- customStyle: "",
170
- value: "",
171
- name: "",
172
- placeholder: "",
173
- placeholderStyle: "",
174
- placeholderClass: "",
175
- title: "",
176
- cursorSpacing: 50,
177
- confirmType: "done",
178
- selectionStart: -1,
179
- selectionEnd: -1,
180
- adjustPosition: true,
181
- maxlength: 140,
182
- maxLength: 140,
183
- type: "text",
184
- disabled: false,
185
- border: true,
186
- editable: true,
187
- error: false,
188
- clear: false,
189
- autoFocus: false,
190
- focus: false,
191
- required: false,
192
- // eslint-disable-next-line @typescript-eslint/no-empty-function
193
- onChange: () => {
194
- }
195
- };
196
186
  AtInput.propTypes = {
197
187
  className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
198
188
  customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
@@ -226,7 +216,8 @@ AtInput.propTypes = {
226
216
  onClick: PropTypes.func,
227
217
  required: PropTypes.bool
228
218
  };
219
+ var input_default = AtInput;
229
220
  export {
230
- AtInput as default
221
+ input_default as default
231
222
  };
232
223
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Input, Label, Text, View } from '@tarojs/components'\nimport { BaseEventOrig, ITouchEvent } from '@tarojs/components/types/common'\nimport { InputProps } from '@tarojs/components/types/Input'\nimport {\n AtInputProps,\n BlurEventDetail,\n ConfirmEventDetail,\n FocusEventDetail,\n InputEventDetail,\n KeyboardHeightEventDetail\n} from '../../../types/input'\n\ntype PickAtInputProps = Pick<\n AtInputProps,\n 'maxLength' | 'maxlength' | 'disabled' | 'password'\n>\ntype GetInputPropsReturn = PickAtInputProps & Pick<InputProps, 'type'>\n\nfunction getInputProps(props: AtInputProps): GetInputPropsReturn {\n const actualProps = {\n type: props.type,\n maxLength: props.maxLength || props.maxlength,\n disabled: props.disabled,\n password: false\n }\n\n switch (actualProps.type) {\n case 'phone':\n actualProps.type = 'number'\n actualProps.maxLength = 11\n break\n case 'password':\n actualProps.type = 'text'\n actualProps.password = true\n break\n default:\n break\n }\n if (!props.disabled && !props.editable) {\n actualProps.disabled = true\n }\n return actualProps as GetInputPropsReturn\n}\n\nexport default class AtInput extends React.Component<AtInputProps> {\n public static defaultProps: AtInputProps\n public static propTypes: InferProps<AtInputProps>\n // TODO: 有待考证是否为合理方式处理 #840\n private inputClearing = false\n\n private handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n this.props.onChange?.(event.detail.value, event)\n\n private handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof this.props.onFocus === 'function') {\n this.props.onFocus(event.detail.value, event)\n }\n }\n\n private handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof this.props.onBlur === 'function') {\n this.props.onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !this.inputClearing) {\n // fix # 583 AtInput 不触发 onChange 的问题\n this.props.onChange?.(\n event.detail.value,\n event as BaseEventOrig<InputEventDetail>\n )\n }\n // 还原状态\n this.inputClearing = false\n }\n\n private handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof this.props.onConfirm === 'function') {\n this.props.onConfirm(event.detail.value, event)\n }\n }\n\n private handleClick = (event: ITouchEvent): void => {\n if (!this.props.editable && typeof this.props.onClick === 'function') {\n this.props.onClick(event)\n }\n }\n\n private handleClearValue = (event: ITouchEvent): void => {\n this.inputClearing = true\n this.props.onChange?.('', event)\n }\n\n private handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof this.props.onKeyboardHeightChange === 'function') {\n this.props.onKeyboardHeightChange(event)\n }\n }\n\n private handleErrorClick = (event: ITouchEvent): void => {\n if (typeof this.props.onErrorClick === 'function') {\n this.props.onErrorClick(event)\n }\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n name,\n cursorSpacing,\n confirmType,\n cursor,\n selectionStart,\n selectionEnd,\n adjustPosition,\n border,\n title,\n error,\n clear,\n placeholder,\n placeholderStyle,\n placeholderClass,\n autoFocus = false,\n focus = false,\n value,\n required\n } = this.props\n const { type, maxLength, disabled, password } = getInputProps(this.props)\n\n const rootCls = classNames(\n 'at-input',\n {\n 'at-input--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-input__container', {\n 'at-input--error': error,\n 'at-input--disabled': disabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !disabled\n })\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={containerCls}>\n <View className={overlayCls} onClick={this.handleClick}></View>\n {title && (\n <Label\n className={`at-input__title ${\n required && 'at-input__title--required'\n }`}\n for={name}\n >\n {title}\n </Label>\n )}\n <Input\n className='at-input__input'\n id={name}\n name={name}\n type={type}\n disabled={disabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={maxLength}\n autoFocus={autoFocus}\n // TODO: 临时解决方案,等 Taro 更新后还原到 focus={focus}\n focus={focus}\n value={value}\n confirmType={confirmType}\n cursor={cursor}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n adjustPosition={adjustPosition}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n onKeyboardHeightChange={this.handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={this.handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View\n className='at-input__icon'\n onTouchStart={this.handleErrorClick}\n >\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{this.props.children}</View>\n </View>\n </View>\n )\n }\n}\n\nAtInput.defaultProps = {\n className: '',\n customStyle: '',\n value: '',\n name: '',\n placeholder: '',\n placeholderStyle: '',\n placeholderClass: '',\n title: '',\n cursorSpacing: 50,\n confirmType: 'done',\n selectionStart: -1,\n selectionEnd: -1,\n adjustPosition: true,\n maxlength: 140,\n maxLength: 140,\n type: 'text',\n disabled: false,\n border: true,\n editable: true,\n error: false,\n clear: false,\n autoFocus: false,\n focus: false,\n required: false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\n}\n\nAtInput.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n placeholder: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholderClass: PropTypes.string,\n title: PropTypes.string,\n confirmType: PropTypes.string,\n cursor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionStart: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionEnd: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n adjustPosition: PropTypes.bool,\n cursorSpacing: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxlength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n disabled: PropTypes.bool,\n border: PropTypes.bool,\n editable: PropTypes.bool,\n error: PropTypes.bool,\n clear: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onErrorClick: PropTypes.func,\n onClick: PropTypes.func,\n required: PropTypes.bool\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useRef } from 'react'\nimport { Input, Label, Text, View } from '@tarojs/components'\nimport { BaseEventOrig, ITouchEvent } from '@tarojs/components/types/common'\nimport { InputProps } from '@tarojs/components/types/Input'\nimport {\n AtInputProps,\n BlurEventDetail,\n ConfirmEventDetail,\n FocusEventDetail,\n InputEventDetail,\n KeyboardHeightEventDetail\n} from '../../../types/input'\nimport { noop } from '../../common/utils'\n\ntype PickAtInputProps = Pick<\n AtInputProps,\n 'maxLength' | 'maxlength' | 'disabled' | 'password'\n>\ntype GetInputPropsReturn = PickAtInputProps & Pick<InputProps, 'type'>\n\nfunction getInputProps(props: AtInputProps): GetInputPropsReturn {\n const actualProps = {\n type: props.type,\n maxLength: props.maxLength || props.maxlength,\n disabled: props.disabled,\n password: false\n }\n\n switch (actualProps.type) {\n case 'phone':\n actualProps.type = 'number'\n actualProps.maxLength = 11\n break\n case 'password':\n actualProps.type = 'text'\n actualProps.password = true\n break\n default:\n break\n }\n if (!props.disabled && !props.editable) {\n actualProps.disabled = true\n }\n return actualProps as GetInputPropsReturn\n}\n\nfunction AtInput(props: AtInputProps): JSX.Element {\n const {\n className = '',\n customStyle = '',\n value = '',\n name = '',\n placeholder = '',\n placeholderStyle = '',\n placeholderClass = '',\n title = '',\n cursorSpacing = 50,\n confirmType = 'done',\n selectionStart = -1,\n selectionEnd = -1,\n adjustPosition = true,\n editable = true,\n border = true,\n error = false,\n clear = false,\n autoFocus = false,\n focus = false,\n required = false,\n cursor,\n onChange = noop,\n onFocus,\n onBlur,\n onConfirm,\n onErrorClick,\n onClick,\n onKeyboardHeightChange,\n children\n } = props\n // TODO: 有待考证是否为合理方式处理 #840\n const inputClearing = useRef(false)\n\n const handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n onChange?.(event.detail.value, event)\n\n const handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof onFocus === 'function') {\n onFocus(event.detail.value, event)\n }\n }\n\n const handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof onBlur === 'function') {\n onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !inputClearing.current) {\n // fix # 583 AtInput 不触发 onChange 的问题\n onChange?.(event.detail.value, event as BaseEventOrig<InputEventDetail>)\n }\n // 还原状态\n inputClearing.current = false\n }\n\n const handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof onConfirm === 'function') {\n onConfirm(event.detail.value, event)\n }\n }\n\n const handleClick = (event: ITouchEvent): void => {\n if (!editable && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n const handleClearValue = (event: ITouchEvent): void => {\n inputClearing.current = true\n onChange?.('', event)\n }\n\n const handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof onKeyboardHeightChange === 'function') {\n onKeyboardHeightChange(event)\n }\n }\n\n const handleErrorClick = (event: ITouchEvent): void => {\n if (typeof onErrorClick === 'function') {\n onErrorClick(event)\n }\n }\n\n const {\n type: inputType,\n maxLength: inputMaxLength,\n disabled: inputDisabled,\n password\n } = getInputProps({\n ...props,\n type: props.type ?? 'text',\n maxlength: props.maxlength ?? 140,\n maxLength: props.maxLength ?? 140,\n disabled: props.disabled ?? false,\n editable: props.editable ?? true\n })\n\n const rootCls = classNames(\n 'at-input',\n {\n 'at-input--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-input__container', {\n 'at-input--error': error,\n 'at-input--disabled': inputDisabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !inputDisabled\n })\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={containerCls}>\n <View className={overlayCls} onClick={handleClick}></View>\n {title && (\n <Label\n className={`at-input__title ${\n required && 'at-input__title--required'\n }`}\n for={name}\n >\n {title}\n </Label>\n )}\n <Input\n className='at-input__input'\n id={name}\n name={name}\n type={inputType}\n disabled={inputDisabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={inputMaxLength}\n autoFocus={autoFocus}\n // TODO: 临时解决方案,等 Taro 更新后还原到 focus={focus}\n focus={focus}\n value={value}\n confirmType={confirmType}\n cursor={cursor}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n adjustPosition={adjustPosition}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n onKeyboardHeightChange={handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View className='at-input__icon' onTouchStart={handleErrorClick}>\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{children}</View>\n </View>\n </View>\n )\n}\n\nAtInput.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n placeholder: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholderClass: PropTypes.string,\n title: PropTypes.string,\n confirmType: PropTypes.string,\n cursor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionStart: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionEnd: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n adjustPosition: PropTypes.bool,\n cursorSpacing: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxlength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n disabled: PropTypes.bool,\n border: PropTypes.bool,\n editable: PropTypes.bool,\n error: PropTypes.bool,\n clear: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onErrorClick: PropTypes.func,\n onClick: PropTypes.func,\n required: PropTypes.bool\n}\n\nexport default AtInput\n"],"mappings":"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","names":[]}
@@ -1,13 +1,22 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtInputNumberProps } from '../../../types/input-number';
4
- export default class AtInputNumber extends React.Component<AtInputNumberProps> {
5
- static defaultProps: AtInputNumberProps;
6
- static propTypes: InferProps<AtInputNumberProps>;
7
- private handleClick;
8
- private handleValue;
9
- private handleInput;
10
- private handleBlur;
11
- private handleError;
12
- render(): JSX.Element;
3
+ declare function AtInputNumber({ customStyle, className, disabled, disabledInput, type, width, min, max, step, size, value, onChange, onBlur, onErrorInput }: AtInputNumberProps): JSX.Element;
4
+ declare namespace AtInputNumber {
5
+ var propTypes: {
6
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
7
+ className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
8
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
9
+ type: PropTypes.Requireable<string>;
10
+ disabled: PropTypes.Requireable<boolean>;
11
+ width: PropTypes.Requireable<number>;
12
+ min: PropTypes.Requireable<number>;
13
+ max: PropTypes.Requireable<number>;
14
+ step: PropTypes.Requireable<number>;
15
+ size: PropTypes.Requireable<string>;
16
+ disabledInput: PropTypes.Requireable<boolean>;
17
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
18
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
19
+ onErrorInput: PropTypes.Requireable<(...args: any[]) => any>;
20
+ };
13
21
  }
22
+ export default AtInputNumber;