antd-mobile 5.0.0-rc.4 → 5.0.0-rc.8

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 (257) hide show
  1. package/2x/README.md +12 -1
  2. package/2x/cjs/components/checkbox/checkbox.css +1 -1
  3. package/2x/cjs/components/collapse/collapse.d.ts +2 -2
  4. package/2x/cjs/components/collapse/collapse.js +1 -1
  5. package/2x/cjs/components/date-picker/date-picker.js +1 -1
  6. package/2x/cjs/components/dialog/dialog.d.ts +1 -0
  7. package/2x/cjs/components/dialog/dialog.js +12 -7
  8. package/2x/cjs/components/form/form-item.css +1 -1
  9. package/2x/cjs/components/form/index.css +1 -1
  10. package/2x/cjs/components/image/lazy-detector.js +4 -1
  11. package/2x/cjs/components/image-uploader/image-uploader.js +9 -3
  12. package/2x/cjs/components/image-viewer/slide.js +0 -5
  13. package/2x/cjs/components/index-bar/index-bar.css +1 -1
  14. package/2x/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
  15. package/2x/cjs/components/input/input.d.ts +2 -2
  16. package/2x/cjs/components/list/list.css +5 -4
  17. package/2x/cjs/components/list/list.js +1 -3
  18. package/2x/cjs/components/mask/mask.js +3 -2
  19. package/2x/cjs/components/modal/modal.d.ts +1 -0
  20. package/2x/cjs/components/modal/modal.js +5 -3
  21. package/2x/cjs/components/notice-bar/notice-bar.css +1 -0
  22. package/2x/cjs/components/number-keyboard/number-keyboard.css +2 -2
  23. package/2x/cjs/components/number-keyboard/number-keyboard.js +1 -1
  24. package/2x/cjs/components/passcode-input/index.d.ts +4 -0
  25. package/2x/cjs/components/passcode-input/index.js +13 -0
  26. package/2x/cjs/components/passcode-input/passcode-input.css +166 -0
  27. package/2x/cjs/components/passcode-input/passcode-input.d.ts +35 -0
  28. package/2x/cjs/components/passcode-input/passcode-input.js +169 -0
  29. package/2x/cjs/components/picker/picker.js +5 -3
  30. package/2x/cjs/components/picker-view/picker-view.css +46 -5
  31. package/2x/cjs/components/picker-view/picker-view.js +32 -22
  32. package/2x/cjs/components/picker-view/wheel.d.ts +10 -0
  33. package/{cjs/components/picker-view/column.js → 2x/cjs/components/picker-view/wheel.js} +74 -14
  34. package/2x/cjs/components/progress-bar/progress-bar.css +3 -1
  35. package/2x/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  36. package/2x/cjs/components/radio/radio.css +1 -1
  37. package/2x/cjs/components/rate/rate.css +1 -0
  38. package/2x/cjs/components/search-bar/search-bar.css +5 -0
  39. package/2x/cjs/components/search-bar/search-bar.d.ts +3 -1
  40. package/2x/cjs/components/search-bar/search-bar.js +6 -5
  41. package/2x/cjs/components/side-bar/side-bar.css +2 -0
  42. package/2x/cjs/components/skeleton/index.d.ts +8 -0
  43. package/2x/cjs/components/skeleton/index.js +19 -0
  44. package/2x/cjs/components/skeleton/skeleton.css +45 -0
  45. package/2x/cjs/components/skeleton/skeleton.d.ts +15 -0
  46. package/2x/cjs/components/skeleton/skeleton.js +61 -0
  47. package/2x/cjs/components/stepper/stepper.d.ts +1 -0
  48. package/2x/cjs/components/stepper/stepper.js +4 -2
  49. package/2x/cjs/components/tab-bar/tab-bar.css +1 -1
  50. package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  51. package/2x/cjs/components/tab-bar/tab-bar.js +24 -11
  52. package/2x/cjs/components/toast/index.d.ts +2 -1
  53. package/2x/cjs/components/toast/index.js +2 -1
  54. package/2x/cjs/components/toast/methods.d.ts +1 -0
  55. package/2x/cjs/components/toast/methods.js +18 -1
  56. package/2x/cjs/components/tree-select/tree-select.css +1 -0
  57. package/2x/cjs/components/virtual-input/virtual-input.js +1 -3
  58. package/2x/cjs/global/global.css +0 -4
  59. package/2x/cjs/index.d.ts +2 -0
  60. package/2x/cjs/index.js +16 -0
  61. package/2x/cjs/utils/use-mutation-effect.js +1 -1
  62. package/2x/cjs/utils/use-props-value.js +1 -1
  63. package/2x/cjs/utils/use-resize-effect.js +1 -1
  64. package/2x/es/components/checkbox/checkbox.css +1 -1
  65. package/2x/es/components/collapse/collapse.d.ts +2 -2
  66. package/2x/es/components/collapse/collapse.js +1 -1
  67. package/2x/es/components/date-picker/date-picker.js +2 -2
  68. package/2x/es/components/dialog/dialog.d.ts +1 -0
  69. package/2x/es/components/dialog/dialog.js +11 -7
  70. package/2x/es/components/form/form-item.css +1 -1
  71. package/2x/es/components/form/index.css +1 -1
  72. package/2x/es/components/image/lazy-detector.js +4 -1
  73. package/2x/es/components/image-uploader/image-uploader.js +10 -4
  74. package/2x/es/components/image-viewer/slide.js +0 -5
  75. package/2x/es/components/index-bar/index-bar.css +1 -1
  76. package/2x/es/components/infinite-scroll/infinite-scroll.js +2 -2
  77. package/2x/es/components/input/input.d.ts +2 -2
  78. package/2x/es/components/list/list.css +5 -4
  79. package/2x/es/components/list/list.js +1 -3
  80. package/2x/es/components/mask/mask.js +3 -2
  81. package/2x/es/components/modal/modal.d.ts +1 -0
  82. package/2x/es/components/modal/modal.js +5 -3
  83. package/2x/es/components/notice-bar/notice-bar.css +1 -0
  84. package/2x/es/components/number-keyboard/number-keyboard.css +2 -2
  85. package/2x/es/components/number-keyboard/number-keyboard.js +2 -2
  86. package/2x/es/components/passcode-input/index.d.ts +4 -0
  87. package/2x/es/components/passcode-input/index.js +3 -0
  88. package/2x/es/components/passcode-input/passcode-input.css +166 -0
  89. package/2x/es/components/passcode-input/passcode-input.d.ts +35 -0
  90. package/2x/es/components/passcode-input/passcode-input.js +149 -0
  91. package/2x/es/components/picker/picker.js +6 -4
  92. package/2x/es/components/picker-view/picker-view.css +46 -5
  93. package/2x/es/components/picker-view/picker-view.js +33 -23
  94. package/2x/es/components/picker-view/wheel.d.ts +10 -0
  95. package/{es/components/picker-view/column.js → 2x/es/components/picker-view/wheel.js} +71 -12
  96. package/2x/es/components/progress-bar/progress-bar.css +3 -1
  97. package/2x/es/components/progress-bar/progress-bar.d.ts +1 -1
  98. package/2x/es/components/radio/radio.css +1 -1
  99. package/2x/es/components/rate/rate.css +1 -0
  100. package/2x/es/components/search-bar/search-bar.css +5 -0
  101. package/2x/es/components/search-bar/search-bar.d.ts +3 -1
  102. package/2x/es/components/search-bar/search-bar.js +6 -5
  103. package/2x/es/components/side-bar/side-bar.css +2 -0
  104. package/2x/es/components/skeleton/index.d.ts +8 -0
  105. package/2x/es/components/skeleton/index.js +7 -0
  106. package/2x/es/components/skeleton/skeleton.css +45 -0
  107. package/2x/es/components/skeleton/skeleton.d.ts +15 -0
  108. package/2x/es/components/skeleton/skeleton.js +36 -0
  109. package/2x/es/components/stepper/stepper.d.ts +1 -0
  110. package/2x/es/components/stepper/stepper.js +4 -2
  111. package/2x/es/components/tab-bar/tab-bar.css +1 -1
  112. package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
  113. package/2x/es/components/tab-bar/tab-bar.js +22 -11
  114. package/2x/es/components/toast/index.d.ts +2 -1
  115. package/2x/es/components/toast/index.js +3 -2
  116. package/2x/es/components/toast/methods.d.ts +1 -0
  117. package/2x/es/components/toast/methods.js +16 -1
  118. package/2x/es/components/tree-select/tree-select.css +1 -0
  119. package/2x/es/components/virtual-input/virtual-input.js +1 -3
  120. package/2x/es/global/global.css +0 -4
  121. package/2x/es/index.d.ts +2 -0
  122. package/2x/es/index.js +2 -0
  123. package/2x/es/utils/use-mutation-effect.js +2 -2
  124. package/2x/es/utils/use-props-value.js +2 -2
  125. package/2x/es/utils/use-resize-effect.js +2 -2
  126. package/2x/package.json +4 -4
  127. package/README.md +12 -1
  128. package/cjs/components/checkbox/checkbox.css +1 -1
  129. package/cjs/components/collapse/collapse.d.ts +2 -2
  130. package/cjs/components/collapse/collapse.js +1 -1
  131. package/cjs/components/date-picker/date-picker.js +1 -1
  132. package/cjs/components/dialog/dialog.d.ts +1 -0
  133. package/cjs/components/dialog/dialog.js +12 -7
  134. package/cjs/components/form/form-item.css +1 -1
  135. package/cjs/components/form/index.css +1 -1
  136. package/cjs/components/image/lazy-detector.js +4 -1
  137. package/cjs/components/image-uploader/image-uploader.js +9 -3
  138. package/cjs/components/image-viewer/slide.js +0 -5
  139. package/cjs/components/index-bar/index-bar.css +1 -1
  140. package/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
  141. package/cjs/components/input/input.d.ts +2 -2
  142. package/cjs/components/list/list.css +4 -3
  143. package/cjs/components/list/list.js +1 -3
  144. package/cjs/components/mask/mask.js +3 -2
  145. package/cjs/components/modal/modal.d.ts +1 -0
  146. package/cjs/components/modal/modal.js +5 -3
  147. package/cjs/components/notice-bar/notice-bar.css +1 -0
  148. package/cjs/components/number-keyboard/number-keyboard.css +2 -2
  149. package/cjs/components/number-keyboard/number-keyboard.js +1 -1
  150. package/cjs/components/passcode-input/index.d.ts +4 -0
  151. package/cjs/components/passcode-input/index.js +13 -0
  152. package/cjs/components/passcode-input/passcode-input.css +136 -0
  153. package/cjs/components/passcode-input/passcode-input.d.ts +35 -0
  154. package/cjs/components/passcode-input/passcode-input.js +169 -0
  155. package/cjs/components/picker/picker.js +5 -3
  156. package/cjs/components/picker-view/picker-view.css +40 -5
  157. package/cjs/components/picker-view/picker-view.js +32 -22
  158. package/cjs/components/picker-view/wheel.d.ts +10 -0
  159. package/{2x/cjs/components/picker-view/column.js → cjs/components/picker-view/wheel.js} +74 -14
  160. package/cjs/components/progress-bar/progress-bar.css +3 -1
  161. package/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  162. package/cjs/components/radio/radio.css +1 -1
  163. package/cjs/components/rate/rate.css +1 -0
  164. package/cjs/components/search-bar/search-bar.css +4 -0
  165. package/cjs/components/search-bar/search-bar.d.ts +3 -1
  166. package/cjs/components/search-bar/search-bar.js +6 -5
  167. package/cjs/components/side-bar/side-bar.css +2 -0
  168. package/cjs/components/skeleton/index.d.ts +8 -0
  169. package/cjs/components/skeleton/index.js +19 -0
  170. package/cjs/components/skeleton/skeleton.css +39 -0
  171. package/cjs/components/skeleton/skeleton.d.ts +15 -0
  172. package/cjs/components/skeleton/skeleton.js +61 -0
  173. package/cjs/components/stepper/stepper.d.ts +1 -0
  174. package/cjs/components/stepper/stepper.js +4 -2
  175. package/cjs/components/tab-bar/tab-bar.css +1 -1
  176. package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  177. package/cjs/components/tab-bar/tab-bar.js +24 -11
  178. package/cjs/components/toast/index.d.ts +2 -1
  179. package/cjs/components/toast/index.js +2 -1
  180. package/cjs/components/toast/methods.d.ts +1 -0
  181. package/cjs/components/toast/methods.js +18 -1
  182. package/cjs/components/tree-select/tree-select.css +1 -0
  183. package/cjs/components/virtual-input/virtual-input.js +1 -3
  184. package/cjs/global/global.css +0 -3
  185. package/cjs/index.d.ts +2 -0
  186. package/cjs/index.js +16 -0
  187. package/cjs/utils/use-mutation-effect.js +1 -1
  188. package/cjs/utils/use-props-value.js +1 -1
  189. package/cjs/utils/use-resize-effect.js +1 -1
  190. package/es/components/checkbox/checkbox.css +1 -1
  191. package/es/components/collapse/collapse.d.ts +2 -2
  192. package/es/components/collapse/collapse.js +1 -1
  193. package/es/components/date-picker/date-picker.js +2 -2
  194. package/es/components/dialog/dialog.d.ts +1 -0
  195. package/es/components/dialog/dialog.js +11 -7
  196. package/es/components/form/form-item.css +1 -1
  197. package/es/components/form/index.css +1 -1
  198. package/es/components/image/lazy-detector.js +4 -1
  199. package/es/components/image-uploader/image-uploader.js +10 -4
  200. package/es/components/image-viewer/slide.js +0 -5
  201. package/es/components/index-bar/index-bar.css +1 -1
  202. package/es/components/infinite-scroll/infinite-scroll.js +2 -2
  203. package/es/components/input/input.d.ts +2 -2
  204. package/es/components/list/list.css +4 -3
  205. package/es/components/list/list.js +1 -3
  206. package/es/components/mask/mask.js +3 -2
  207. package/es/components/modal/modal.d.ts +1 -0
  208. package/es/components/modal/modal.js +5 -3
  209. package/es/components/notice-bar/notice-bar.css +1 -0
  210. package/es/components/number-keyboard/number-keyboard.css +2 -2
  211. package/es/components/number-keyboard/number-keyboard.js +2 -2
  212. package/es/components/passcode-input/index.d.ts +4 -0
  213. package/es/components/passcode-input/index.js +3 -0
  214. package/es/components/passcode-input/passcode-input.css +136 -0
  215. package/es/components/passcode-input/passcode-input.d.ts +35 -0
  216. package/es/components/passcode-input/passcode-input.js +149 -0
  217. package/es/components/picker/picker.js +6 -4
  218. package/es/components/picker-view/picker-view.css +40 -5
  219. package/es/components/picker-view/picker-view.js +33 -23
  220. package/es/components/picker-view/wheel.d.ts +10 -0
  221. package/{2x/es/components/picker-view/column.js → es/components/picker-view/wheel.js} +71 -12
  222. package/es/components/progress-bar/progress-bar.css +3 -1
  223. package/es/components/progress-bar/progress-bar.d.ts +1 -1
  224. package/es/components/radio/radio.css +1 -1
  225. package/es/components/rate/rate.css +1 -0
  226. package/es/components/search-bar/search-bar.css +4 -0
  227. package/es/components/search-bar/search-bar.d.ts +3 -1
  228. package/es/components/search-bar/search-bar.js +6 -5
  229. package/es/components/side-bar/side-bar.css +2 -0
  230. package/es/components/skeleton/index.d.ts +8 -0
  231. package/es/components/skeleton/index.js +7 -0
  232. package/es/components/skeleton/skeleton.css +39 -0
  233. package/es/components/skeleton/skeleton.d.ts +15 -0
  234. package/es/components/skeleton/skeleton.js +36 -0
  235. package/es/components/stepper/stepper.d.ts +1 -0
  236. package/es/components/stepper/stepper.js +4 -2
  237. package/es/components/tab-bar/tab-bar.css +1 -1
  238. package/es/components/tab-bar/tab-bar.d.ts +1 -0
  239. package/es/components/tab-bar/tab-bar.js +22 -11
  240. package/es/components/toast/index.d.ts +2 -1
  241. package/es/components/toast/index.js +3 -2
  242. package/es/components/toast/methods.d.ts +1 -0
  243. package/es/components/toast/methods.js +16 -1
  244. package/es/components/tree-select/tree-select.css +1 -0
  245. package/es/components/virtual-input/virtual-input.js +1 -3
  246. package/es/global/global.css +0 -3
  247. package/es/index.d.ts +2 -0
  248. package/es/index.js +2 -0
  249. package/es/utils/use-mutation-effect.js +2 -2
  250. package/es/utils/use-props-value.js +2 -2
  251. package/es/utils/use-resize-effect.js +2 -2
  252. package/package.json +4 -4
  253. package/umd/antd-mobile.js +1 -1
  254. package/2x/cjs/components/picker-view/column.d.ts +0 -9
  255. package/2x/es/components/picker-view/column.d.ts +0 -9
  256. package/cjs/components/picker-view/column.d.ts +0 -9
  257. package/es/components/picker-view/column.d.ts +0 -9
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Column = void 0;
6
+ exports.Wheel = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
@@ -17,18 +17,24 @@ var _rubberband = require("../../utils/rubberband");
17
17
 
18
18
  var _bound = require("../../utils/bound");
19
19
 
20
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
20
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
25
 
22
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
27
 
24
28
  var classPrefix = "adm-picker-view";
25
-
26
- var Column = function Column(props) {
29
+ var Wheel = /*#__PURE__*/(0, _react.memo)(function (props) {
27
30
  var itemHeight = (0, _convertPx.convertPx)(34);
28
31
  var value = props.value,
29
- onSelect = props.onSelect,
30
32
  column = props.column;
31
33
 
34
+ function onSelect(val) {
35
+ props.onSelect(val, props.index);
36
+ }
37
+
32
38
  var _useSpring = (0, _web.useSpring)(function () {
33
39
  return {
34
40
  from: {
@@ -54,20 +60,20 @@ var Column = function Column(props) {
54
60
  var finalPosition = targetIndex * -itemHeight;
55
61
  api.start({
56
62
  y: finalPosition,
57
- immediate: y.idle
63
+ immediate: y.goal !== finalPosition
58
64
  });
59
65
  }, [value, column]);
60
66
  (0, _react.useLayoutEffect)(function () {
61
67
  if (column.length === 0) {
62
68
  if (value !== null) {
63
- props.onSelect(null);
69
+ onSelect(null);
64
70
  }
65
71
  } else {
66
72
  if (!column.some(function (item) {
67
73
  return item.value === value;
68
74
  })) {
69
75
  var firstItem = column[0];
70
- props.onSelect(firstItem.value);
76
+ onSelect(firstItem.value);
71
77
  }
72
78
  }
73
79
  }, [column, value]);
@@ -77,7 +83,9 @@ var Column = function Column(props) {
77
83
  api.start({
78
84
  y: finalPosition
79
85
  });
80
- onSelect(column[index].value);
86
+ var item = column[index];
87
+ if (!item) return;
88
+ onSelect(item.value);
81
89
  }
82
90
 
83
91
  var bind = (0, _react2.useDrag)(function (state) {
@@ -88,7 +96,7 @@ var Column = function Column(props) {
88
96
  if (state.last) {
89
97
  draggingRef.current = false;
90
98
  var position = state.offset[1] + state.velocity[1] * state.direction[1] * 50;
91
- var targetIndex = -Math.round((0, _bound.bound)(position, min, max) / itemHeight);
99
+ var targetIndex = min < max ? -Math.round((0, _bound.bound)(position, min, max) / itemHeight) : 0;
92
100
  scrollSelect(targetIndex);
93
101
  } else {
94
102
  var _position = state.offset[1];
@@ -106,14 +114,53 @@ var Column = function Column(props) {
106
114
  touch: true
107
115
  }
108
116
  });
117
+ var selectedIndex = null;
118
+
119
+ function renderAccessible() {
120
+ if (selectedIndex === null) {
121
+ return null;
122
+ }
123
+
124
+ var current = column[selectedIndex];
125
+ var previousIndex = selectedIndex - 1;
126
+ var nextIndex = selectedIndex + 1;
127
+ var previous = column[previousIndex];
128
+ var next = column[nextIndex];
129
+ return /*#__PURE__*/_react["default"].createElement("div", {
130
+ className: 'adm-picker-view-column-accessible'
131
+ }, /*#__PURE__*/_react["default"].createElement("div", {
132
+ className: 'adm-picker-view-column-accessible-current',
133
+ role: 'button',
134
+ "aria-label": current ? "\u5F53\u524D\u9009\u62E9\u7684\u662F\uFF1A" + current.label : '当前未选择'
135
+ }, "-"), /*#__PURE__*/_react["default"].createElement("div", null, previous && /*#__PURE__*/_react["default"].createElement("div", {
136
+ className: 'adm-picker-view-column-accessible-button',
137
+ onClick: function onClick() {
138
+ scrollSelect(previousIndex);
139
+ },
140
+ role: 'button',
141
+ "aria-label": "\u9009\u62E9\u4E0A\u4E00\u9879\uFF1A" + previous.label
142
+ }, "-")), /*#__PURE__*/_react["default"].createElement("div", null, next && /*#__PURE__*/_react["default"].createElement("div", {
143
+ className: 'adm-picker-view-column-accessible-button',
144
+ onClick: function onClick() {
145
+ scrollSelect(nextIndex);
146
+ },
147
+ role: 'button',
148
+ "aria-label": "\u9009\u62E9\u4E0B\u4E00\u9879\uFF1A" + next.label
149
+ }, "-")));
150
+ }
151
+
109
152
  return /*#__PURE__*/_react["default"].createElement("div", Object.assign({
110
153
  className: classPrefix + "-column"
111
154
  }, bind()), /*#__PURE__*/_react["default"].createElement(_web.animated.div, {
112
155
  style: {
113
156
  y: y
114
157
  },
115
- className: classPrefix + "-column-wheel"
158
+ className: classPrefix + "-column-wheel",
159
+ "aria-hidden": true
116
160
  }, column.map(function (item, index) {
161
+ var selected = props.value === item.value;
162
+ if (selected) selectedIndex = index;
163
+
117
164
  function handleClick() {
118
165
  draggingRef.current = false;
119
166
  scrollSelect(index);
@@ -121,12 +168,25 @@ var Column = function Column(props) {
121
168
 
122
169
  return /*#__PURE__*/_react["default"].createElement("div", {
123
170
  key: item.value,
171
+ "data-selected": item.value === value,
124
172
  className: classPrefix + "-column-item",
125
- onClick: handleClick
173
+ onClick: handleClick,
174
+ "aria-hidden": !selected,
175
+ "aria-label": selected ? 'active' : ''
126
176
  }, /*#__PURE__*/_react["default"].createElement("div", {
127
177
  className: classPrefix + "-column-item-label"
128
178
  }, item.label));
129
- })));
130
- };
179
+ })), renderAccessible());
180
+ }, function (prev, next) {
181
+ if (prev.index !== next.index) return false;
182
+ if (prev.value !== next.value) return false;
183
+ if (prev.onSelect !== next.onSelect) return false;
184
+
185
+ if (!(0, _isEqual["default"])(prev.column, next.column)) {
186
+ return false;
187
+ }
131
188
 
132
- exports.Column = Column;
189
+ return true;
190
+ });
191
+ exports.Wheel = Wheel;
192
+ Wheel.displayName = 'Wheel';
@@ -1,9 +1,11 @@
1
1
  .adm-progress-bar {
2
2
  --track-width: var(--adm-progress-bar-track-width, 3px);
3
+ --track-color: var(--adm-progress-bar-track-color, #e5e5e5);
3
4
  --fill-color: var(--adm-progress-bar-fill-color, #1677ff);
4
5
  }
5
6
  .adm-progress-bar-trail {
6
- background: #e5e5e5;
7
+ background: var(--track-color);
8
+ overflow: hidden;
7
9
  height: var(--track-width);
8
10
  border-radius: var(--track-width);
9
11
  }
@@ -2,5 +2,5 @@ import { FC } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type ProgressBarProps = {
4
4
  percent?: number;
5
- } & NativeProps<'--track-width' | '--fill-color'>;
5
+ } & NativeProps<'--track-width' | '--track-color' | '--fill-color'>;
6
6
  export declare const ProgressBar: FC<ProgressBarProps>;
@@ -50,7 +50,7 @@
50
50
  font-size: var(--icon-size);
51
51
  }
52
52
  .adm-radio-content {
53
- flex: none;
53
+ flex: 0 1 auto;
54
54
  font-size: var(--font-size);
55
55
  padding-left: var(--gap);
56
56
  }
@@ -14,6 +14,7 @@
14
14
  text-align: center;
15
15
  overflow: hidden;
16
16
  cursor: pointer;
17
+ box-sizing: border-box;
17
18
  }
18
19
  .adm-rate-star-half {
19
20
  padding-right: 0;
@@ -26,6 +26,7 @@
26
26
  flex: auto;
27
27
  padding: 4px 8px 4px 4px;
28
28
  height: 28px;
29
+ box-sizing: border-box;
29
30
  }
30
31
  .adm-search-bar .adm-search-bar-input-box .adm-search-bar-input.adm-input-wrapper {
31
32
  --placeholder-color: var(---placeholder-color);
@@ -34,6 +35,9 @@
34
35
  font-size: 13px;
35
36
  line-height: 19px;
36
37
  }
38
+ .adm-search-bar .adm-search-bar-input-box .adm-search-bar-input.adm-search-bar-input-without-icon {
39
+ padding-left: 8px;
40
+ }
37
41
  .adm-search-bar .adm-search-bar-suffix {
38
42
  flex: none;
39
43
  margin-left: 16px;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { InputRef, InputProps } from '../input';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type SearchBarRef = InputRef;
@@ -10,6 +10,7 @@ export declare type SearchBarProps = Pick<InputProps, 'onFocus' | 'onBlur' | 'on
10
10
  clearable?: boolean;
11
11
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean);
12
12
  cancelText?: string;
13
+ icon?: ReactNode;
13
14
  clearOnCancel?: boolean;
14
15
  onSearch?: (val: string) => void;
15
16
  onChange?: (val: string) => void;
@@ -23,6 +24,7 @@ export declare const SearchBar: React.ForwardRefExoticComponent<Pick<InputProps,
23
24
  clearable?: boolean | undefined;
24
25
  showCancelButton?: boolean | ((focus: boolean, value: string) => boolean) | undefined;
25
26
  cancelText?: string | undefined;
27
+ icon?: ReactNode;
26
28
  clearOnCancel?: boolean | undefined;
27
29
  onSearch?: ((val: string) => void) | undefined;
28
30
  onChange?: ((val: string) => void) | undefined;
@@ -32,10 +32,11 @@ var defaultProps = {
32
32
  clearable: true,
33
33
  showCancelButton: false,
34
34
  defaultValue: '',
35
- clearOnCancel: true
35
+ clearOnCancel: true,
36
+ icon: /*#__PURE__*/_react["default"].createElement(_antdMobileIcons.SearchOutline, null)
36
37
  };
37
38
  var SearchBar = /*#__PURE__*/(0, _react.forwardRef)(function (p, ref) {
38
- var _classNames;
39
+ var _classNames, _classNames2;
39
40
 
40
41
  var _useConfig = (0, _configProvider.useConfig)(),
41
42
  locale = _useConfig.locale;
@@ -108,11 +109,11 @@ var SearchBar = /*#__PURE__*/(0, _react.forwardRef)(function (p, ref) {
108
109
  className: (0, _classnames["default"])(classPrefix, (_classNames = {}, _classNames[classPrefix + "-active"] = hasFocus, _classNames))
109
110
  }, /*#__PURE__*/_react["default"].createElement("div", {
110
111
  className: classPrefix + "-input-box"
111
- }, /*#__PURE__*/_react["default"].createElement("div", {
112
+ }, props.icon && /*#__PURE__*/_react["default"].createElement("div", {
112
113
  className: classPrefix + "-input-box-icon"
113
- }, /*#__PURE__*/_react["default"].createElement(_antdMobileIcons.SearchOutline, null)), /*#__PURE__*/_react["default"].createElement(_input["default"], {
114
+ }, props.icon), /*#__PURE__*/_react["default"].createElement(_input["default"], {
114
115
  ref: inputRef,
115
- className: classPrefix + "-input",
116
+ className: (0, _classnames["default"])(classPrefix + "-input", (_classNames2 = {}, _classNames2[classPrefix + "-input-without-icon"] = !props.icon, _classNames2)),
116
117
  value: value,
117
118
  onChange: setValue,
118
119
  maxLength: props.maxLength,
@@ -4,6 +4,7 @@
4
4
  --item-border-radius: 8px;
5
5
  width: var(--width);
6
6
  height: var(--height);
7
+ box-sizing: border-box;
7
8
  font-size: 15px;
8
9
  overflow-y: auto;
9
10
  transform: translateZ(0);
@@ -13,6 +14,7 @@
13
14
  display: flex;
14
15
  align-items: center;
15
16
  min-height: 50px;
17
+ box-sizing: border-box;
16
18
  padding: 6px 22px;
17
19
  position: relative;
18
20
  cursor: pointer;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import './skeleton.less';
3
+ export type { SkeletonProps, SkeletonTitleProps } from './skeleton';
4
+ declare const _default: import("react").FC<import("./skeleton").SkeletonProps> & {
5
+ Title: import("react").FC<import("./skeleton").SkeletonTitleProps>;
6
+ Paragraph: import("react").FC<import("./skeleton").SkeletonParagraphProps>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ require("./skeleton.css");
9
+
10
+ var _skeleton2 = require("./skeleton");
11
+
12
+ var _attachPropertiesToComponent = require("../../utils/attach-properties-to-component");
13
+
14
+ var _default = (0, _attachPropertiesToComponent.attachPropertiesToComponent)(_skeleton2.Skeleton, {
15
+ Title: _skeleton2.SkeletonTitle,
16
+ Paragraph: _skeleton2.SkeletonParagraph
17
+ });
18
+
19
+ exports["default"] = _default;
@@ -0,0 +1,39 @@
1
+ .adm-skeleton {
2
+ --width: 100%;
3
+ --height: 0;
4
+ --border-radius: 0;
5
+ background-color: rgba(190, 190, 190, 0.2);
6
+ border-radius: var(--border-radius);
7
+ width: var(--width);
8
+ height: var(--height);
9
+ display: block;
10
+ }
11
+ .adm-skeleton.adm-skeleton-animated {
12
+ background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);
13
+ background-size: 400% 100%;
14
+ animation: adm-skeleton-loading 1.4s ease infinite;
15
+ }
16
+ .adm-skeleton.adm-skeleton-title {
17
+ --width: 45%;
18
+ --height: 32px;
19
+ --border-radius: 2px;
20
+ margin-bottom: 16px;
21
+ margin-top: 16px;
22
+ }
23
+ .adm-skeleton.adm-skeleton-paragraph-line {
24
+ --height: 18px;
25
+ --border-radius: 2px;
26
+ margin-top: 12px;
27
+ margin-bottom: 12px;
28
+ }
29
+ .adm-skeleton.adm-skeleton-paragraph-line:last-child {
30
+ --width: 65%;
31
+ }
32
+ @keyframes adm-skeleton-loading {
33
+ 0% {
34
+ background-position: 100% 50%;
35
+ }
36
+ 100% {
37
+ background-position: 0 50%;
38
+ }
39
+ }
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ import { NativeProps } from '../../utils/native-props';
3
+ export declare type SkeletonProps = {
4
+ animated?: boolean;
5
+ } & NativeProps<'--width' | '--height' | '--border-radius'>;
6
+ export declare const Skeleton: FC<SkeletonProps>;
7
+ export declare type SkeletonTitleProps = {
8
+ animated?: boolean;
9
+ } & NativeProps;
10
+ export declare const SkeletonTitle: FC<SkeletonTitleProps>;
11
+ export declare type SkeletonParagraphProps = {
12
+ animated?: boolean;
13
+ lineCount?: number;
14
+ } & NativeProps;
15
+ export declare const SkeletonParagraph: FC<SkeletonParagraphProps>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SkeletonTitle = exports.SkeletonParagraph = exports.Skeleton = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _nativeProps = require("../../utils/native-props");
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _generateIntArray = require("../../utils/generate-int-array");
15
+
16
+ var _withDefaultProps = require("../../utils/with-default-props");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var classPrefix = 'adm-skeleton';
21
+
22
+ var Skeleton = function Skeleton(props) {
23
+ var _classNames;
24
+
25
+ return (0, _nativeProps.withNativeProps)(props, /*#__PURE__*/_react["default"].createElement("div", {
26
+ className: (0, _classnames["default"])(classPrefix, (_classNames = {}, _classNames[classPrefix + "-animated"] = props.animated, _classNames))
27
+ }));
28
+ };
29
+
30
+ exports.Skeleton = Skeleton;
31
+
32
+ var SkeletonTitle = function SkeletonTitle(props) {
33
+ return (0, _nativeProps.withNativeProps)(props, /*#__PURE__*/_react["default"].createElement(Skeleton, {
34
+ animated: props.animated,
35
+ className: classPrefix + "-title"
36
+ }));
37
+ };
38
+
39
+ exports.SkeletonTitle = SkeletonTitle;
40
+ var defaultSkeletonParagraphProps = {
41
+ lineCount: 3
42
+ };
43
+
44
+ var SkeletonParagraph = function SkeletonParagraph(p) {
45
+ var props = (0, _withDefaultProps.mergeProps)(defaultSkeletonParagraphProps, p);
46
+ var keys = (0, _generateIntArray.generateIntArray)(1, props.lineCount);
47
+
48
+ var node = /*#__PURE__*/_react["default"].createElement("div", {
49
+ className: classPrefix + "-paragraph"
50
+ }, keys.map(function (key) {
51
+ return /*#__PURE__*/_react["default"].createElement(Skeleton, {
52
+ key: key,
53
+ animated: props.animated,
54
+ className: classPrefix + "-paragraph-line"
55
+ });
56
+ }));
57
+
58
+ return (0, _nativeProps.withNativeProps)(props, node);
59
+ };
60
+
61
+ exports.SkeletonParagraph = SkeletonParagraph;
@@ -9,6 +9,7 @@ export declare type StepperProps = Pick<InputProps, 'onFocus' | 'onBlur'> & {
9
9
  step?: number;
10
10
  digits?: number;
11
11
  disabled?: boolean;
12
+ inputReadOnly?: boolean;
12
13
  onChange?: (value: number) => void;
13
14
  } & NativeProps<'--height' | '--input-width' | '--input-font-size' | '--border-radius' | '--border' | '--border-inner' | '--active-border' | '--button-font-size' | '--button-background-color' | '--button-width' | '--input-font-color' | '--button-text-color'>;
14
15
  export declare const Stepper: FC<StepperProps>;
@@ -43,7 +43,8 @@ var Stepper = function Stepper(p) {
43
43
  var disabled = props.disabled,
44
44
  step = props.step,
45
45
  max = props.max,
46
- min = props.min;
46
+ min = props.min,
47
+ inputReadOnly = props.inputReadOnly;
47
48
 
48
49
  var _usePropsValue = (0, _usePropsValue2.usePropsValue)(props),
49
50
  value = _usePropsValue[0],
@@ -136,7 +137,8 @@ var Stepper = function Stepper(p) {
136
137
 
137
138
  setHasFocus(false);
138
139
  (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
139
- }
140
+ },
141
+ readOnly: inputReadOnly
140
142
  }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
141
143
  className: classPrefix + "-plus",
142
144
  onClick: handlePlus,
@@ -1,4 +1,4 @@
1
- .adm-tab-bar {
1
+ .adm-tab-bar-wrap {
2
2
  display: flex;
3
3
  flex-wrap: nowrap;
4
4
  justify-content: flex-start;
@@ -11,5 +11,6 @@ export declare type TabBarProps = {
11
11
  activeKey?: string | null;
12
12
  defaultActiveKey?: string | null;
13
13
  onChange?: (key: string) => void;
14
+ safeArea?: boolean;
14
15
  } & NativeProps;
15
16
  export declare const TabBar: FC<TabBarProps>;
@@ -11,8 +11,12 @@ var _classnames = _interopRequireDefault(require("classnames"));
11
11
 
12
12
  var _nativeProps = require("../../utils/native-props");
13
13
 
14
+ var _withDefaultProps = require("../../utils/with-default-props");
15
+
14
16
  var _badge = _interopRequireDefault(require("../badge"));
15
17
 
18
+ var _safeArea = _interopRequireDefault(require("../safe-area"));
19
+
16
20
  var _usePropsValue2 = require("../../utils/use-props-value");
17
21
 
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -22,10 +26,15 @@ var TabBarItem = function TabBarItem() {
22
26
  };
23
27
 
24
28
  exports.TabBarItem = TabBarItem;
29
+ var classPrefix = "adm-tab-bar";
30
+ var defaultProps = {
31
+ safeArea: false
32
+ };
25
33
 
26
- var TabBar = function TabBar(props) {
34
+ var TabBar = function TabBar(p) {
27
35
  var _a;
28
36
 
37
+ var props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
29
38
  var firstActiveKey = null;
30
39
  var items = [];
31
40
 
@@ -50,29 +59,33 @@ var TabBar = function TabBar(props) {
50
59
  setActiveKey = _usePropsValue[1];
51
60
 
52
61
  return (0, _nativeProps.withNativeProps)(props, /*#__PURE__*/_react["default"].createElement("div", {
53
- className: 'adm-tab-bar'
62
+ className: classPrefix
63
+ }, /*#__PURE__*/_react["default"].createElement("div", {
64
+ className: classPrefix + "-wrap"
54
65
  }, items.map(function (item) {
66
+ var _classNames;
67
+
55
68
  var active = item.key === activeKey;
56
69
 
57
70
  function renderContent() {
58
71
  var iconElement = item.props.icon && /*#__PURE__*/_react["default"].createElement("div", {
59
- className: 'adm-tab-bar-item-icon'
72
+ className: classPrefix + "-item-icon"
60
73
  }, typeof item.props.icon === 'function' ? item.props.icon(active) : item.props.icon);
61
74
 
62
75
  var titleElement = item.props.title && /*#__PURE__*/_react["default"].createElement("div", {
63
- className: 'adm-tab-bar-item-title'
76
+ className: classPrefix + "-item-title"
64
77
  }, item.props.title);
65
78
 
66
79
  if (iconElement) {
67
80
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_badge["default"], {
68
81
  content: item.props.badge,
69
- className: 'adm-tab-bar-icon-badge'
82
+ className: classPrefix + "-icon-badge"
70
83
  }, iconElement), titleElement);
71
84
  } else if (titleElement) {
72
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_badge["default"], {
85
+ return /*#__PURE__*/_react["default"].createElement(_badge["default"], {
73
86
  content: item.props.badge,
74
- className: 'adm-tab-bar-title-badge'
75
- }, titleElement));
87
+ className: classPrefix + "-title-badge"
88
+ }, titleElement);
76
89
  }
77
90
 
78
91
  return null;
@@ -85,10 +98,10 @@ var TabBar = function TabBar(props) {
85
98
  if (key === undefined || key === null) return;
86
99
  setActiveKey(key.toString());
87
100
  },
88
- className: (0, _classnames["default"])('adm-tab-bar-item', {
89
- 'adm-tab-bar-item-active': active
90
- })
101
+ className: (0, _classnames["default"])(classPrefix + "-item", (_classNames = {}, _classNames[classPrefix + "-item-active"] = active, _classNames))
91
102
  }, renderContent()));
103
+ })), props.safeArea && /*#__PURE__*/_react["default"].createElement(_safeArea["default"], {
104
+ position: 'bottom'
92
105
  })));
93
106
  };
94
107
 
@@ -1,8 +1,9 @@
1
1
  import './toast.less';
2
- import { clear, show } from './methods';
2
+ import { clear, show, config } from './methods';
3
3
  export type { ToastShowProps } from './methods';
4
4
  declare const Toast: {
5
5
  show: typeof show;
6
6
  clear: typeof clear;
7
+ config: typeof config;
7
8
  };
8
9
  export default Toast;
@@ -11,7 +11,8 @@ var _methods = require("./methods");
11
11
 
12
12
  var Toast = {
13
13
  show: _methods.show,
14
- clear: _methods.clear
14
+ clear: _methods.clear,
15
+ config: _methods.config
15
16
  };
16
17
  var _default = Toast;
17
18
  exports["default"] = _default;
@@ -2,3 +2,4 @@ import { ToastProps } from './toast';
2
2
  export declare type ToastShowProps = Omit<ToastProps, 'visible'>;
3
3
  export declare function show(p: ToastShowProps | string): void;
4
4
  export declare function clear(): void;
5
+ export declare function config(val: Pick<ToastProps, 'duration' | 'position' | 'maskClickable'>): void;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.clear = clear;
7
+ exports.config = config;
7
8
  exports.show = show;
8
9
 
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -33,7 +34,9 @@ function unmount(container) {
33
34
  }
34
35
 
35
36
  var defaultProps = {
36
- duration: 2000
37
+ duration: 2000,
38
+ position: 'center',
39
+ maskClickable: true
37
40
  };
38
41
 
39
42
  function show(p) {
@@ -95,4 +98,18 @@ function clear() {
95
98
  if (!container) break;
96
99
  unmount(container);
97
100
  }
101
+ }
102
+
103
+ function config(val) {
104
+ if (val.duration !== undefined) {
105
+ defaultProps.duration = val.duration;
106
+ }
107
+
108
+ if (val.position !== undefined) {
109
+ defaultProps.position = val.position;
110
+ }
111
+
112
+ if (val.maskClickable !== undefined) {
113
+ defaultProps.maskClickable = val.maskClickable;
114
+ }
98
115
  }
@@ -24,6 +24,7 @@
24
24
  display: flex;
25
25
  align-items: center;
26
26
  min-height: 50px;
27
+ box-sizing: border-box;
27
28
  padding: 6px 12px;
28
29
  position: relative;
29
30
  }
@@ -53,9 +53,7 @@ var VirtualInput = /*#__PURE__*/(0, _react.forwardRef)(function (p, ref) {
53
53
 
54
54
  var content = contentRef.current;
55
55
  if (!content) return;
56
- content.scrollTo({
57
- left: content.clientWidth
58
- });
56
+ content.scrollLeft = content.clientWidth;
59
57
  }
60
58
 
61
59
  (0, _react.useLayoutEffect)(function () {