antd-mobile 5.0.0-rc.5 → 5.0.0-rc.9

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 (241) hide show
  1. package/2x/README.md +10 -1
  2. package/2x/cjs/components/cascader/cascader.d.ts +2 -2
  3. package/2x/cjs/components/checkbox/checkbox.css +1 -1
  4. package/2x/cjs/components/date-picker/date-picker.js +1 -1
  5. package/2x/cjs/components/dialog/dialog.d.ts +1 -0
  6. package/2x/cjs/components/dialog/dialog.js +5 -3
  7. package/2x/cjs/components/form/form-item.css +2 -1
  8. package/2x/cjs/components/form/form-item.js +1 -1
  9. package/2x/cjs/components/form/index.css +2 -1
  10. package/2x/cjs/components/image/lazy-detector.js +4 -1
  11. package/2x/cjs/components/image-uploader/image-uploader.js +3 -4
  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/mask/mask.js +3 -2
  17. package/2x/cjs/components/modal/modal.d.ts +1 -0
  18. package/2x/cjs/components/modal/modal.js +5 -3
  19. package/2x/cjs/components/notice-bar/notice-bar.css +1 -0
  20. package/2x/cjs/components/number-keyboard/number-keyboard.js +1 -1
  21. package/2x/cjs/components/picker/picker.d.ts +2 -2
  22. package/2x/cjs/components/picker/picker.js +4 -3
  23. package/2x/cjs/components/picker-view/picker-view.css +1 -0
  24. package/2x/cjs/components/picker-view/picker-view.js +25 -19
  25. package/2x/cjs/components/picker-view/wheel.d.ts +10 -0
  26. package/2x/cjs/components/picker-view/{column.js → wheel.js} +29 -13
  27. package/2x/cjs/components/progress-bar/progress-bar.css +3 -1
  28. package/2x/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  29. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  30. package/2x/cjs/components/pull-to-refresh/pull-to-refresh.js +2 -0
  31. package/2x/cjs/components/radio/radio.css +1 -1
  32. package/2x/cjs/components/rate/rate.css +1 -0
  33. package/2x/cjs/components/search-bar/search-bar.css +5 -0
  34. package/2x/cjs/components/search-bar/search-bar.d.ts +3 -1
  35. package/2x/cjs/components/search-bar/search-bar.js +6 -5
  36. package/2x/cjs/components/side-bar/side-bar.css +2 -0
  37. package/2x/cjs/components/side-bar/side-bar.d.ts +1 -1
  38. package/2x/cjs/components/skeleton/index.d.ts +8 -0
  39. package/2x/cjs/components/skeleton/index.js +19 -0
  40. package/2x/cjs/components/skeleton/skeleton.css +45 -0
  41. package/2x/cjs/components/skeleton/skeleton.d.ts +15 -0
  42. package/2x/cjs/components/skeleton/skeleton.js +61 -0
  43. package/2x/cjs/components/stepper/stepper.d.ts +1 -0
  44. package/2x/cjs/components/stepper/stepper.js +4 -2
  45. package/2x/cjs/components/tab-bar/tab-bar.css +1 -1
  46. package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  47. package/2x/cjs/components/tab-bar/tab-bar.js +24 -11
  48. package/2x/cjs/components/tabs/tabs.css +4 -1
  49. package/2x/cjs/components/tabs/tabs.d.ts +1 -1
  50. package/2x/cjs/components/tree-select/tree-select.css +1 -0
  51. package/2x/cjs/components/virtual-input/virtual-input.js +1 -3
  52. package/2x/cjs/global/global.css +0 -4
  53. package/2x/cjs/index.d.ts +2 -1
  54. package/2x/cjs/index.js +10 -2
  55. package/2x/cjs/utils/use-mutation-effect.js +1 -1
  56. package/2x/cjs/utils/use-props-value.js +1 -1
  57. package/2x/cjs/utils/use-resize-effect.js +1 -1
  58. package/2x/es/components/cascader/cascader.d.ts +2 -2
  59. package/2x/es/components/checkbox/checkbox.css +1 -1
  60. package/2x/es/components/date-picker/date-picker.js +2 -2
  61. package/2x/es/components/dialog/dialog.d.ts +1 -0
  62. package/2x/es/components/dialog/dialog.js +5 -3
  63. package/2x/es/components/form/form-item.css +2 -1
  64. package/2x/es/components/form/form-item.js +1 -1
  65. package/2x/es/components/form/index.css +2 -1
  66. package/2x/es/components/image/lazy-detector.js +4 -1
  67. package/2x/es/components/image-uploader/image-uploader.js +4 -5
  68. package/2x/es/components/image-viewer/slide.js +0 -5
  69. package/2x/es/components/index-bar/index-bar.css +1 -1
  70. package/2x/es/components/infinite-scroll/infinite-scroll.js +2 -2
  71. package/2x/es/components/input/input.d.ts +2 -2
  72. package/2x/es/components/mask/mask.js +3 -2
  73. package/2x/es/components/modal/modal.d.ts +1 -0
  74. package/2x/es/components/modal/modal.js +5 -3
  75. package/2x/es/components/notice-bar/notice-bar.css +1 -0
  76. package/2x/es/components/number-keyboard/number-keyboard.js +2 -2
  77. package/2x/es/components/picker/picker.d.ts +2 -2
  78. package/2x/es/components/picker/picker.js +5 -4
  79. package/2x/es/components/picker-view/picker-view.css +1 -0
  80. package/2x/es/components/picker-view/picker-view.js +26 -20
  81. package/2x/es/components/picker-view/wheel.d.ts +10 -0
  82. package/2x/es/components/picker-view/{column.js → wheel.js} +26 -11
  83. package/2x/es/components/progress-bar/progress-bar.css +3 -1
  84. package/2x/es/components/progress-bar/progress-bar.d.ts +1 -1
  85. package/2x/es/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  86. package/2x/es/components/pull-to-refresh/pull-to-refresh.js +2 -0
  87. package/2x/es/components/radio/radio.css +1 -1
  88. package/2x/es/components/rate/rate.css +1 -0
  89. package/2x/es/components/search-bar/search-bar.css +5 -0
  90. package/2x/es/components/search-bar/search-bar.d.ts +3 -1
  91. package/2x/es/components/search-bar/search-bar.js +6 -5
  92. package/2x/es/components/side-bar/side-bar.css +2 -0
  93. package/2x/es/components/side-bar/side-bar.d.ts +1 -1
  94. package/2x/es/components/skeleton/index.d.ts +8 -0
  95. package/2x/es/components/skeleton/index.js +7 -0
  96. package/2x/es/components/skeleton/skeleton.css +45 -0
  97. package/2x/es/components/skeleton/skeleton.d.ts +15 -0
  98. package/2x/es/components/skeleton/skeleton.js +36 -0
  99. package/2x/es/components/stepper/stepper.d.ts +1 -0
  100. package/2x/es/components/stepper/stepper.js +4 -2
  101. package/2x/es/components/tab-bar/tab-bar.css +1 -1
  102. package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
  103. package/2x/es/components/tab-bar/tab-bar.js +22 -11
  104. package/2x/es/components/tabs/tabs.css +4 -1
  105. package/2x/es/components/tabs/tabs.d.ts +1 -1
  106. package/2x/es/components/tree-select/tree-select.css +1 -0
  107. package/2x/es/components/virtual-input/virtual-input.js +1 -3
  108. package/2x/es/global/global.css +0 -4
  109. package/2x/es/index.d.ts +2 -1
  110. package/2x/es/index.js +3 -2
  111. package/2x/es/utils/use-mutation-effect.js +2 -2
  112. package/2x/es/utils/use-props-value.js +2 -2
  113. package/2x/es/utils/use-resize-effect.js +2 -2
  114. package/2x/package.json +4 -4
  115. package/README.md +10 -1
  116. package/cjs/components/cascader/cascader.d.ts +2 -2
  117. package/cjs/components/checkbox/checkbox.css +1 -1
  118. package/cjs/components/date-picker/date-picker.js +1 -1
  119. package/cjs/components/dialog/dialog.d.ts +1 -0
  120. package/cjs/components/dialog/dialog.js +5 -3
  121. package/cjs/components/form/form-item.css +2 -1
  122. package/cjs/components/form/form-item.js +1 -1
  123. package/cjs/components/form/index.css +2 -1
  124. package/cjs/components/image/lazy-detector.js +4 -1
  125. package/cjs/components/image-uploader/image-uploader.js +3 -4
  126. package/cjs/components/image-viewer/slide.js +0 -5
  127. package/cjs/components/index-bar/index-bar.css +1 -1
  128. package/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
  129. package/cjs/components/input/input.d.ts +2 -2
  130. package/cjs/components/mask/mask.js +3 -2
  131. package/cjs/components/modal/modal.d.ts +1 -0
  132. package/cjs/components/modal/modal.js +5 -3
  133. package/cjs/components/notice-bar/notice-bar.css +1 -0
  134. package/cjs/components/number-keyboard/number-keyboard.js +1 -1
  135. package/cjs/components/picker/picker.d.ts +2 -2
  136. package/cjs/components/picker/picker.js +4 -3
  137. package/cjs/components/picker-view/picker-view.css +1 -0
  138. package/cjs/components/picker-view/picker-view.js +25 -19
  139. package/cjs/components/picker-view/wheel.d.ts +10 -0
  140. package/cjs/components/picker-view/{column.js → wheel.js} +29 -13
  141. package/cjs/components/progress-bar/progress-bar.css +3 -1
  142. package/cjs/components/progress-bar/progress-bar.d.ts +1 -1
  143. package/cjs/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  144. package/cjs/components/pull-to-refresh/pull-to-refresh.js +2 -0
  145. package/cjs/components/radio/radio.css +1 -1
  146. package/cjs/components/rate/rate.css +1 -0
  147. package/cjs/components/search-bar/search-bar.css +4 -0
  148. package/cjs/components/search-bar/search-bar.d.ts +3 -1
  149. package/cjs/components/search-bar/search-bar.js +6 -5
  150. package/cjs/components/side-bar/side-bar.css +2 -0
  151. package/cjs/components/side-bar/side-bar.d.ts +1 -1
  152. package/cjs/components/skeleton/index.d.ts +8 -0
  153. package/cjs/components/skeleton/index.js +19 -0
  154. package/cjs/components/skeleton/skeleton.css +39 -0
  155. package/cjs/components/skeleton/skeleton.d.ts +15 -0
  156. package/cjs/components/skeleton/skeleton.js +61 -0
  157. package/cjs/components/stepper/stepper.d.ts +1 -0
  158. package/cjs/components/stepper/stepper.js +4 -2
  159. package/cjs/components/tab-bar/tab-bar.css +1 -1
  160. package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
  161. package/cjs/components/tab-bar/tab-bar.js +24 -11
  162. package/cjs/components/tabs/tabs.css +4 -1
  163. package/cjs/components/tabs/tabs.d.ts +1 -1
  164. package/cjs/components/tree-select/tree-select.css +1 -0
  165. package/cjs/components/virtual-input/virtual-input.js +1 -3
  166. package/cjs/global/global.css +0 -3
  167. package/cjs/index.d.ts +2 -1
  168. package/cjs/index.js +10 -2
  169. package/cjs/utils/use-mutation-effect.js +1 -1
  170. package/cjs/utils/use-props-value.js +1 -1
  171. package/cjs/utils/use-resize-effect.js +1 -1
  172. package/es/components/cascader/cascader.d.ts +2 -2
  173. package/es/components/checkbox/checkbox.css +1 -1
  174. package/es/components/date-picker/date-picker.js +2 -2
  175. package/es/components/dialog/dialog.d.ts +1 -0
  176. package/es/components/dialog/dialog.js +5 -3
  177. package/es/components/form/form-item.css +2 -1
  178. package/es/components/form/form-item.js +1 -1
  179. package/es/components/form/index.css +2 -1
  180. package/es/components/image/lazy-detector.js +4 -1
  181. package/es/components/image-uploader/image-uploader.js +4 -5
  182. package/es/components/image-viewer/slide.js +0 -5
  183. package/es/components/index-bar/index-bar.css +1 -1
  184. package/es/components/infinite-scroll/infinite-scroll.js +2 -2
  185. package/es/components/input/input.d.ts +2 -2
  186. package/es/components/mask/mask.js +3 -2
  187. package/es/components/modal/modal.d.ts +1 -0
  188. package/es/components/modal/modal.js +5 -3
  189. package/es/components/notice-bar/notice-bar.css +1 -0
  190. package/es/components/number-keyboard/number-keyboard.js +2 -2
  191. package/es/components/picker/picker.d.ts +2 -2
  192. package/es/components/picker/picker.js +5 -4
  193. package/es/components/picker-view/picker-view.css +1 -0
  194. package/es/components/picker-view/picker-view.js +26 -20
  195. package/es/components/picker-view/wheel.d.ts +10 -0
  196. package/es/components/picker-view/{column.js → wheel.js} +26 -11
  197. package/es/components/progress-bar/progress-bar.css +3 -1
  198. package/es/components/progress-bar/progress-bar.d.ts +1 -1
  199. package/es/components/pull-to-refresh/pull-to-refresh.d.ts +2 -0
  200. package/es/components/pull-to-refresh/pull-to-refresh.js +2 -0
  201. package/es/components/radio/radio.css +1 -1
  202. package/es/components/rate/rate.css +1 -0
  203. package/es/components/search-bar/search-bar.css +4 -0
  204. package/es/components/search-bar/search-bar.d.ts +3 -1
  205. package/es/components/search-bar/search-bar.js +6 -5
  206. package/es/components/side-bar/side-bar.css +2 -0
  207. package/es/components/side-bar/side-bar.d.ts +1 -1
  208. package/es/components/skeleton/index.d.ts +8 -0
  209. package/es/components/skeleton/index.js +7 -0
  210. package/es/components/skeleton/skeleton.css +39 -0
  211. package/es/components/skeleton/skeleton.d.ts +15 -0
  212. package/es/components/skeleton/skeleton.js +36 -0
  213. package/es/components/stepper/stepper.d.ts +1 -0
  214. package/es/components/stepper/stepper.js +4 -2
  215. package/es/components/tab-bar/tab-bar.css +1 -1
  216. package/es/components/tab-bar/tab-bar.d.ts +1 -0
  217. package/es/components/tab-bar/tab-bar.js +22 -11
  218. package/es/components/tabs/tabs.css +4 -1
  219. package/es/components/tabs/tabs.d.ts +1 -1
  220. package/es/components/tree-select/tree-select.css +1 -0
  221. package/es/components/virtual-input/virtual-input.js +1 -3
  222. package/es/global/global.css +0 -3
  223. package/es/index.d.ts +2 -1
  224. package/es/index.js +3 -2
  225. package/es/utils/use-mutation-effect.js +2 -2
  226. package/es/utils/use-props-value.js +2 -2
  227. package/es/utils/use-resize-effect.js +2 -2
  228. package/package.json +4 -4
  229. package/umd/antd-mobile.js +1 -1
  230. package/2x/cjs/components/picker-view/column.d.ts +0 -9
  231. package/2x/cjs/utils/memo-with-event-marks.d.ts +0 -2
  232. package/2x/cjs/utils/memo-with-event-marks.js +0 -23
  233. package/2x/es/components/picker-view/column.d.ts +0 -9
  234. package/2x/es/utils/memo-with-event-marks.d.ts +0 -2
  235. package/2x/es/utils/memo-with-event-marks.js +0 -15
  236. package/cjs/components/picker-view/column.d.ts +0 -9
  237. package/cjs/utils/memo-with-event-marks.d.ts +0 -2
  238. package/cjs/utils/memo-with-event-marks.js +0 -23
  239. package/es/components/picker-view/column.d.ts +0 -9
  240. package/es/utils/memo-with-event-marks.d.ts +0 -2
  241. package/es/utils/memo-with-event-marks.js +0 -15
@@ -12,5 +12,5 @@ export declare type TabsProps = {
12
12
  activeLineMode?: 'auto' | 'full' | 'fixed';
13
13
  stretch?: boolean;
14
14
  onChange?: (key: string) => void;
15
- } & NativeProps<'--fixed-active-line-width' | '--title-font-size' | '--content-padding'>;
15
+ } & NativeProps<'--fixed-active-line-width' | '--active-line-height' | '--active-line-border-radius' | '--title-font-size' | '--content-padding'>;
16
16
  export declare const Tabs: FC<TabsProps>;
@@ -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 () {
@@ -21,9 +21,6 @@ body {
21
21
  font-size: var(--adm-font-size-main);
22
22
  font-family: var(--adm-font-family);
23
23
  }
24
- * {
25
- box-sizing: border-box;
26
- }
27
24
  a,
28
25
  button {
29
26
  cursor: pointer;
package/cjs/index.d.ts CHANGED
@@ -41,6 +41,7 @@ export { default as NavBar } from './components/nav-bar';
41
41
  export { default as NoticeBar } from './components/notice-bar';
42
42
  export { default as NumberKeyboard } from './components/number-keyboard';
43
43
  export { default as PageIndicator } from './components/page-indicator';
44
+ export { default as PasscodeInput } from './components/passcode-input';
44
45
  export { default as Picker } from './components/picker';
45
46
  export { default as PickerView } from './components/picker-view';
46
47
  export { default as Popover } from './components/popover';
@@ -57,6 +58,7 @@ export { default as Search } from './components/search-bar';
57
58
  export { default as SearchBar } from './components/search-bar';
58
59
  export { default as Selector } from './components/selector';
59
60
  export { default as SideBar } from './components/side-bar';
61
+ export { default as Skeleton } from './components/skeleton';
60
62
  export { default as Slider } from './components/slider';
61
63
  export { default as Space } from './components/space';
62
64
  export { default as Stepper } from './components//stepper';
@@ -72,4 +74,3 @@ export { default as Toast } from './components/toast';
72
74
  export { default as TreeSelect } from './components/tree-select';
73
75
  export { default as VirtualInput } from './components/virtual-input';
74
76
  export { default as WaterMark } from './components/water-mark';
75
- export { default as PasscodeInput } from './components/passcode-input';
package/cjs/index.js CHANGED
@@ -351,6 +351,12 @@ Object.defineProperty(exports, "SideBar", {
351
351
  return _sideBar["default"];
352
352
  }
353
353
  });
354
+ Object.defineProperty(exports, "Skeleton", {
355
+ enumerable: true,
356
+ get: function get() {
357
+ return _skeleton["default"];
358
+ }
359
+ });
354
360
  Object.defineProperty(exports, "Slider", {
355
361
  enumerable: true,
356
362
  get: function get() {
@@ -532,6 +538,8 @@ var _numberKeyboard = _interopRequireDefault(require("./components/number-keyboa
532
538
 
533
539
  var _pageIndicator = _interopRequireDefault(require("./components/page-indicator"));
534
540
 
541
+ var _passcodeInput = _interopRequireDefault(require("./components/passcode-input"));
542
+
535
543
  var _picker = _interopRequireDefault(require("./components/picker"));
536
544
 
537
545
  var _pickerView = _interopRequireDefault(require("./components/picker-view"));
@@ -562,6 +570,8 @@ var _selector = _interopRequireDefault(require("./components/selector"));
562
570
 
563
571
  var _sideBar = _interopRequireDefault(require("./components/side-bar"));
564
572
 
573
+ var _skeleton = _interopRequireDefault(require("./components/skeleton"));
574
+
565
575
  var _slider = _interopRequireDefault(require("./components/slider"));
566
576
 
567
577
  var _space = _interopRequireDefault(require("./components/space"));
@@ -592,8 +602,6 @@ var _virtualInput = _interopRequireDefault(require("./components/virtual-input")
592
602
 
593
603
  var _waterMark = _interopRequireDefault(require("./components/water-mark"));
594
604
 
595
- var _passcodeInput = _interopRequireDefault(require("./components/passcode-input"));
596
-
597
605
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
598
606
 
599
607
  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); }
@@ -10,7 +10,7 @@ var _react = require("react");
10
10
  var _ahooks = require("ahooks");
11
11
 
12
12
  function useMutationEffect(effect, targetRef, options) {
13
- var fn = (0, _ahooks.usePersistFn)(effect);
13
+ var fn = (0, _ahooks.useMemoizedFn)(effect);
14
14
  (0, _react.useEffect)(function () {
15
15
  var observer = new MutationObserver(function () {
16
16
  fn();
@@ -20,7 +20,7 @@ function usePropsValue(options) {
20
20
  stateRef.current = value;
21
21
  }
22
22
 
23
- var setState = (0, _ahooks.usePersistFn)(function (v) {
23
+ var setState = (0, _ahooks.useMemoizedFn)(function (v) {
24
24
  if (value === undefined) {
25
25
  stateRef.current = v;
26
26
  update();
@@ -10,7 +10,7 @@ var _react = require("react");
10
10
  var _ahooks = require("ahooks");
11
11
 
12
12
  function useResizeEffect(effect, targetRef) {
13
- var fn = (0, _ahooks.usePersistFn)(effect);
13
+ var fn = (0, _ahooks.useMemoizedFn)(effect);
14
14
  (0, _react.useLayoutEffect)(function () {
15
15
  var target = targetRef.current;
16
16
  if (!target) return;
@@ -13,8 +13,8 @@ export declare type CascaderProps = {
13
13
  onClose?: () => void;
14
14
  visible?: boolean;
15
15
  title?: ReactNode;
16
- confirmText?: string;
17
- cancelText?: string;
16
+ confirmText?: ReactNode;
17
+ cancelText?: ReactNode;
18
18
  children?: (items: (CascaderOption | null)[]) => ReactNode;
19
19
  } & Pick<PopupProps, 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'stopPropagation'> & NativeProps;
20
20
  export declare const Cascader: FC<CascaderProps>;
@@ -67,7 +67,7 @@
67
67
  background-color: currentColor;
68
68
  }
69
69
  .adm-checkbox-content {
70
- flex: none;
70
+ flex: 0 1 auto;
71
71
  font-size: var(--font-size);
72
72
  padding-left: var(--gap);
73
73
  }
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useMemo } from 'react';
2
- import { usePersistFn } from 'ahooks';
2
+ import { useMemoizedFn } from 'ahooks';
3
3
  import Picker from '../picker';
4
4
  import { withNativeProps } from '../../utils/native-props';
5
5
  import { mergeProps } from '../../utils/with-default-props';
@@ -31,7 +31,7 @@ export var DatePicker = function DatePicker(p) {
31
31
  var onConfirm = useCallback(function (val) {
32
32
  setValue(convertStringArrayToDate(val, props.precision));
33
33
  }, [setValue, props.precision]);
34
- var onSelect = usePersistFn(function (val) {
34
+ var onSelect = useMemoizedFn(function (val) {
35
35
  var _a;
36
36
 
37
37
  var date = convertStringArrayToDate(val, props.precision);
@@ -5,6 +5,7 @@ import { PropagationEvent } from '../../utils/with-stop-propagation';
5
5
  import { NativeProps } from '../../utils/native-props';
6
6
  export declare type DialogProps = {
7
7
  afterClose?: () => void;
8
+ afterShow?: () => void;
8
9
  image?: string;
9
10
  header?: ReactNode;
10
11
  title?: ReactNode;
@@ -68,13 +68,15 @@ export var Dialog = function Dialog(p) {
68
68
  setActive(true);
69
69
  },
70
70
  onRest: function onRest() {
71
- var _a;
71
+ var _a, _b;
72
72
 
73
73
  if (unmountedRef.current) return;
74
74
  setActive(props.visible);
75
75
 
76
- if (!props.visible) {
77
- (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
76
+ if (props.visible) {
77
+ (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);
78
+ } else {
79
+ (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);
78
80
  }
79
81
  }
80
82
  });
@@ -4,6 +4,7 @@
4
4
  .adm-form-item-label {
5
5
  display: block;
6
6
  height: 100%;
7
+ line-height: 1.5;
7
8
  box-sizing: border-box;
8
9
  color: #666;
9
10
  position: relative;
@@ -18,7 +19,7 @@
18
19
  .adm-form-item-footer {
19
20
  color: var(--adm-color-danger);
20
21
  }
21
- .adm-form-item-hidden {
22
+ .adm-form-item.adm-form-item-hidden {
22
23
  display: none;
23
24
  }
24
25
  .adm-form-vertical .adm-form-item-label {
@@ -43,7 +43,7 @@ var FormItemLayout = function FormItemLayout(props) {
43
43
  hidden = props.hidden,
44
44
  errors = props.errors;
45
45
  var context = useContext(FormContext);
46
- var hasFeedback = props.hasFeedback || context.hasFeedback;
46
+ var hasFeedback = props.hasFeedback !== undefined ? props.hasFeedback : context.hasFeedback;
47
47
  var layout = props.layout || context.layout;
48
48
  var feedback = hasFeedback && errors && errors.length > 0 ? errors[0] : null;
49
49
  var labelElement = label ? /*#__PURE__*/React.createElement("label", {
@@ -10,6 +10,7 @@
10
10
  .adm-form-item-label {
11
11
  display: block;
12
12
  height: 100%;
13
+ line-height: 1.5;
13
14
  box-sizing: border-box;
14
15
  color: #666;
15
16
  position: relative;
@@ -24,7 +25,7 @@
24
25
  .adm-form-item-footer {
25
26
  color: var(--adm-color-danger);
26
27
  }
27
- .adm-form-item-hidden {
28
+ .adm-form-item.adm-form-item-hidden {
28
29
  display: none;
29
30
  }
30
31
  .adm-form-vertical .adm-form-item-label {
@@ -2,7 +2,10 @@ import React, { useEffect, useRef } from 'react';
2
2
  import { useInViewport } from 'ahooks';
3
3
  export var LazyDetector = function LazyDetector(props) {
4
4
  var ref = useRef(null);
5
- var inViewport = useInViewport(ref);
5
+
6
+ var _useInViewport = useInViewport(ref),
7
+ inViewport = _useInViewport[0];
8
+
6
9
  useEffect(function () {
7
10
  if (inViewport) {
8
11
  props.onActive();
@@ -36,7 +36,7 @@ import { mergeProps } from '../../utils/with-default-props';
36
36
  import ImageViewer from '../image-viewer';
37
37
  import PreviewItem from './preview-item';
38
38
  import { usePropsValue } from '../../utils/use-props-value';
39
- import { usePersistFn } from 'ahooks';
39
+ import { useMemoizedFn } from 'ahooks';
40
40
  import Space from '../space';
41
41
  import { withNativeProps } from '../../utils/native-props';
42
42
  var classPrefix = "adm-image-uploader";
@@ -56,7 +56,7 @@ export var ImageUploader = function ImageUploader(p) {
56
56
  value = _usePropsValue[0],
57
57
  setValue = _usePropsValue[1];
58
58
 
59
- var updateValue = usePersistFn(function (updater) {
59
+ var updateValue = useMemoizedFn(function (updater) {
60
60
  setValue(updater(value));
61
61
  });
62
62
 
@@ -167,9 +167,8 @@ export var ImageUploader = function ImageUploader(p) {
167
167
  });
168
168
  });
169
169
  updateValue(function (prev) {
170
- return [].concat(prev, [{
171
- url: result.url
172
- }]);
170
+ var newVal = Object.assign({}, result);
171
+ return [].concat(prev, [newVal]);
173
172
  });
174
173
  _context.next = 12;
175
174
  break;
@@ -92,11 +92,6 @@ export var Slide = function Slide(props) {
92
92
  }
93
93
  },
94
94
  pinch: {
95
- transform: function transform(_ref) {
96
- var d = _ref[0],
97
- a = _ref[1];
98
- return [d < 0 ? d * 0.5 : d * 2, 0];
99
- },
100
95
  from: function from() {
101
96
  return [zoom.get(), 0];
102
97
  }
@@ -52,7 +52,7 @@
52
52
  }
53
53
  .adm-index-bar-sidebar-row {
54
54
  cursor: pointer;
55
- width: 100%;
55
+ width: auto;
56
56
  text-align: right;
57
57
  position: relative;
58
58
  padding: 0 12px;
@@ -1,6 +1,6 @@
1
1
  import { mergeProps } from '../../utils/with-default-props';
2
2
  import React, { useEffect, useRef } from 'react';
3
- import { useLockFn, usePersistFn } from 'ahooks';
3
+ import { useLockFn, useMemoizedFn } from 'ahooks';
4
4
  import { withNativeProps } from '../../utils/native-props';
5
5
  import { getScrollParent } from '../../utils/get-scroll-parent';
6
6
  import Loading from '../loading';
@@ -25,7 +25,7 @@ export var InfiniteScroll = function InfiniteScroll(p) {
25
25
  });
26
26
  var elementRef = useRef(null);
27
27
  var checkTimeoutRef = useRef();
28
- var check = usePersistFn(function () {
28
+ var check = useMemoizedFn(function () {
29
29
  window.clearTimeout(checkTimeoutRef.current);
30
30
  checkTimeoutRef.current = window.setTimeout(function () {
31
31
  if (!props.hasMore) return;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  declare type NativeInputProps = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
4
- export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'max' | 'min' | 'autoComplete' | 'pattern' | 'type' | 'onFocus' | 'onBlur' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp'> & {
4
+ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength' | 'max' | 'min' | 'autoComplete' | 'pattern' | 'inputMode' | 'type' | 'onFocus' | 'onBlur' | 'autoCapitalize' | 'autoCorrect' | 'onKeyDown' | 'onKeyUp'> & {
5
5
  value?: string;
6
6
  defaultValue?: string;
7
7
  onChange?: (val: string) => void;
@@ -19,7 +19,7 @@ export declare type InputRef = {
19
19
  focus: () => void;
20
20
  blur: () => void;
21
21
  };
22
- export declare const Input: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "pattern" | "max" | "min" | "type" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "autoCapitalize" | "autoCorrect" | "autoComplete" | "maxLength" | "minLength"> & {
22
+ export declare const Input: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "pattern" | "max" | "min" | "type" | "onFocus" | "onBlur" | "onKeyDown" | "onKeyUp" | "autoCapitalize" | "autoCorrect" | "inputMode" | "autoComplete" | "maxLength" | "minLength"> & {
23
23
  value?: string | undefined;
24
24
  defaultValue?: string | undefined;
25
25
  onChange?: ((val: string) => void) | undefined;
@@ -77,9 +77,10 @@ export var Mask = function Mask(p) {
77
77
  var node = withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement(animated.div, {
78
78
  className: classPrefix,
79
79
  ref: ref,
80
- style: Object.assign(Object.assign({}, props.style), {
80
+ style: Object.assign(Object.assign({
81
81
  background: background,
82
- opacity: opacity,
82
+ opacity: opacity
83
+ }, props.style), {
83
84
  display: active ? 'unset' : 'none'
84
85
  })
85
86
  }, props.onMaskClick && /*#__PURE__*/React.createElement("div", {
@@ -5,6 +5,7 @@ import { PropagationEvent } from '../../utils/with-stop-propagation';
5
5
  import { NativeProps } from '../../utils/native-props';
6
6
  export declare type ModalProps = {
7
7
  afterClose?: () => void;
8
+ afterShow?: () => void;
8
9
  image?: string;
9
10
  header?: ReactNode;
10
11
  title?: ReactNode;
@@ -68,13 +68,15 @@ export var Modal = function Modal(p) {
68
68
  setActive(true);
69
69
  },
70
70
  onRest: function onRest() {
71
- var _a;
71
+ var _a, _b;
72
72
 
73
73
  if (unmountedRef.current) return;
74
74
  setActive(props.visible);
75
75
 
76
- if (!props.visible) {
77
- (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
76
+ if (props.visible) {
77
+ (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);
78
+ } else {
79
+ (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);
78
80
  }
79
81
  }
80
82
  });
@@ -1,5 +1,6 @@
1
1
  .adm-notice-bar {
2
2
  height: 30px;
3
+ box-sizing: border-box;
3
4
  font-size: 14px;
4
5
  line-height: 30px;
5
6
  padding: 0 12px;
@@ -6,7 +6,7 @@ import { shuffle } from '../../utils/shuffle';
6
6
  import Popup from '../popup';
7
7
  import { withNativeProps } from '../../utils/native-props';
8
8
  import SafeArea from '../safe-area';
9
- import { usePersistFn } from 'ahooks';
9
+ import { useMemoizedFn } from 'ahooks';
10
10
  var classPrefix = 'adm-number-keyboard';
11
11
  var defaultProps = {
12
12
  defaultVisible: false,
@@ -43,7 +43,7 @@ export var NumberKeyboard = function NumberKeyboard(p) {
43
43
  }, [customKey, confirmText, randomOrder, randomOrder && visible]);
44
44
  var timeoutRef = useRef(-1);
45
45
  var intervalRef = useRef(-1);
46
- var onDelete = usePersistFn(function () {
46
+ var onDelete = useMemoizedFn(function () {
47
47
  var _a;
48
48
 
49
49
  (_a = props.onDelete) === null || _a === void 0 ? void 0 : _a.call(props);
@@ -12,8 +12,8 @@ export declare type PickerProps = {
12
12
  onClose?: () => void;
13
13
  visible?: boolean;
14
14
  title?: ReactNode;
15
- confirmText?: string;
16
- cancelText?: string;
15
+ confirmText?: ReactNode;
16
+ cancelText?: ReactNode;
17
17
  children?: (items: (PickerColumnItem | null)[]) => ReactNode;
18
18
  } & Pick<PopupProps, 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'stopPropagation'> & NativeProps;
19
19
  export declare const Picker: React.NamedExoticComponent<PickerProps>;
@@ -7,7 +7,7 @@ import PickerView from '../picker-view';
7
7
  import { useColumns } from '../picker-view/use-columns';
8
8
  import { useConfig } from '../config-provider';
9
9
  import { usePickerValueExtend } from '../picker-view/use-picker-value-extend';
10
- import { usePersistFn } from 'ahooks';
10
+ import { useMemoizedFn } from 'ahooks';
11
11
  var classPrefix = "adm-picker";
12
12
  var defaultProps = {
13
13
  defaultValue: []
@@ -42,7 +42,7 @@ export var Picker = /*#__PURE__*/memo(function (p) {
42
42
  setInnerValue = _useState[1];
43
43
 
44
44
  useEffect(function () {
45
- if (!props.visible) {
45
+ if (innerValue !== value) {
46
46
  setInnerValue(value);
47
47
  }
48
48
  }, [props.visible]);
@@ -51,7 +51,7 @@ export var Picker = /*#__PURE__*/memo(function (p) {
51
51
  setInnerValue(value);
52
52
  }
53
53
  }, [value]);
54
- var onChange = usePersistFn(function (val, ext) {
54
+ var onChange = useMemoizedFn(function (val, ext) {
55
55
  var _a;
56
56
 
57
57
  setInnerValue(val);
@@ -107,4 +107,5 @@ export var Picker = /*#__PURE__*/memo(function (p) {
107
107
  stopPropagation: props.stopPropagation
108
108
  }, pickerElement);
109
109
  return /*#__PURE__*/React.createElement(React.Fragment, null, popupElement, (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, generateValueExtend(value).items));
110
- });
110
+ });
111
+ Picker.displayName = 'Picker';
@@ -5,6 +5,7 @@
5
5
  display: flex;
6
6
  position: relative;
7
7
  overflow: hidden;
8
+ background: var(--adm-color-white);
8
9
  }
9
10
  .adm-picker-view-column {
10
11
  height: 100%;
@@ -1,6 +1,6 @@
1
- import React, { memo, useEffect, useState } from 'react';
1
+ import React, { memo, useCallback, useEffect, useState } from 'react';
2
2
  import { mergeProps } from '../../utils/with-default-props';
3
- import { Column } from './column';
3
+ import { Wheel } from './wheel';
4
4
  import { useColumns } from './use-columns';
5
5
  import { withNativeProps } from '../../utils/native-props';
6
6
  import { usePickerValueExtend } from './use-picker-value-extend';
@@ -32,31 +32,36 @@ export var PickerView = /*#__PURE__*/memo(function (p) {
32
32
 
33
33
  if (props.value === innerValue) return;
34
34
  setInnerValue(props.value);
35
- }, [props.value]); // Reset `innerValue` after 1s in case user does not update `value` when `onChange` is called
36
-
37
- useDebounceEffect(function () {
38
- if (props.value !== undefined && props.value !== innerValue) {
39
- setInnerValue(props.value);
40
- }
41
- }, [props.value, innerValue], {
42
- wait: 1000,
43
- leading: false,
44
- trailing: true
45
- });
35
+ }, [props.value]);
36
+ useEffect(function () {
37
+ if (props.value === innerValue) return;
38
+ var timeout = window.setTimeout(function () {
39
+ if (props.value !== undefined && props.value !== innerValue) {
40
+ setInnerValue(props.value);
41
+ }
42
+ }, 1000);
43
+ return function () {
44
+ window.clearTimeout(timeout);
45
+ };
46
+ }, [props.value, innerValue]);
46
47
  var columns = useColumns(props.columns, innerValue);
47
48
  var generateValueExtend = usePickerValueExtend(columns);
49
+ var handleSelect = useCallback(function (val, index) {
50
+ setInnerValue(function (prev) {
51
+ var next = [].concat(prev);
52
+ next[index] = val;
53
+ return next;
54
+ });
55
+ }, []);
48
56
  return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
49
57
  className: "" + classPrefix
50
58
  }, columns.map(function (column, index) {
51
- return /*#__PURE__*/React.createElement(Column, {
59
+ return /*#__PURE__*/React.createElement(Wheel, {
52
60
  key: index,
61
+ index: index,
53
62
  column: column,
54
63
  value: innerValue[index],
55
- onSelect: function onSelect(val) {
56
- var nextInnerValue = [].concat(innerValue);
57
- nextInnerValue[index] = val;
58
- setInnerValue(nextInnerValue);
59
- }
64
+ onSelect: handleSelect
60
65
  });
61
66
  }), /*#__PURE__*/React.createElement("div", {
62
67
  className: classPrefix + "-mask"
@@ -67,4 +72,5 @@ export var PickerView = /*#__PURE__*/memo(function (p) {
67
72
  }), /*#__PURE__*/React.createElement("div", {
68
73
  className: classPrefix + "-mask-bottom"
69
74
  }))));
70
- });
75
+ });
76
+ PickerView.displayName = 'PickerView';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { PickerColumnItem, PickerValue } from './index';
3
+ interface Props {
4
+ index: number;
5
+ column: PickerColumnItem[];
6
+ value: PickerValue;
7
+ onSelect: (value: PickerValue, index: number) => void;
8
+ }
9
+ export declare const Wheel: React.NamedExoticComponent<Props>;
10
+ export {};
@@ -1,16 +1,20 @@
1
- import React, { useLayoutEffect, useRef } from 'react';
1
+ import React, { memo, useLayoutEffect, useRef } from 'react';
2
2
  import { useSpring, animated } from '@react-spring/web';
3
3
  import { useDrag } from '@use-gesture/react';
4
4
  import { convertPx } from '../../utils/convert-px';
5
5
  import { rubberbandIfOutOfBounds } from '../../utils/rubberband';
6
6
  import { bound } from '../../utils/bound';
7
+ import isEqual from 'lodash/isEqual';
7
8
  var classPrefix = "adm-picker-view";
8
- export var Column = function Column(props) {
9
+ export var Wheel = /*#__PURE__*/memo(function (props) {
9
10
  var itemHeight = convertPx(34);
10
11
  var value = props.value,
11
- onSelect = props.onSelect,
12
12
  column = props.column;
13
13
 
14
+ function onSelect(val) {
15
+ props.onSelect(val, props.index);
16
+ }
17
+
14
18
  var _useSpring = useSpring(function () {
15
19
  return {
16
20
  from: {
@@ -36,20 +40,20 @@ export var Column = function Column(props) {
36
40
  var finalPosition = targetIndex * -itemHeight;
37
41
  api.start({
38
42
  y: finalPosition,
39
- immediate: y.idle
43
+ immediate: y.goal !== finalPosition
40
44
  });
41
45
  }, [value, column]);
42
46
  useLayoutEffect(function () {
43
47
  if (column.length === 0) {
44
48
  if (value !== null) {
45
- props.onSelect(null);
49
+ onSelect(null);
46
50
  }
47
51
  } else {
48
52
  if (!column.some(function (item) {
49
53
  return item.value === value;
50
54
  })) {
51
55
  var firstItem = column[0];
52
- props.onSelect(firstItem.value);
56
+ onSelect(firstItem.value);
53
57
  }
54
58
  }
55
59
  }, [column, value]);
@@ -59,7 +63,9 @@ export var Column = function Column(props) {
59
63
  api.start({
60
64
  y: finalPosition
61
65
  });
62
- onSelect(column[index].value);
66
+ var item = column[index];
67
+ if (!item) return;
68
+ onSelect(item.value);
63
69
  }
64
70
 
65
71
  var bind = useDrag(function (state) {
@@ -70,7 +76,7 @@ export var Column = function Column(props) {
70
76
  if (state.last) {
71
77
  draggingRef.current = false;
72
78
  var position = state.offset[1] + state.velocity[1] * state.direction[1] * 50;
73
- var targetIndex = -Math.round(bound(position, min, max) / itemHeight);
79
+ var targetIndex = min < max ? -Math.round(bound(position, min, max) / itemHeight) : 0;
74
80
  scrollSelect(targetIndex);
75
81
  } else {
76
82
  var _position = state.offset[1];
@@ -91,8 +97,6 @@ export var Column = function Column(props) {
91
97
  var selectedIndex = null;
92
98
 
93
99
  function renderAccessible() {
94
- console.log('selectedIndex', selectedIndex);
95
-
96
100
  if (selectedIndex === null) {
97
101
  return null;
98
102
  }
@@ -153,4 +157,15 @@ export var Column = function Column(props) {
153
157
  className: classPrefix + "-column-item-label"
154
158
  }, item.label));
155
159
  })), renderAccessible());
156
- };
160
+ }, function (prev, next) {
161
+ if (prev.index !== next.index) return false;
162
+ if (prev.value !== next.value) return false;
163
+ if (prev.onSelect !== next.onSelect) return false;
164
+
165
+ if (!isEqual(prev.column, next.column)) {
166
+ return false;
167
+ }
168
+
169
+ return true;
170
+ });
171
+ Wheel.displayName = 'Wheel';