antd-mobile 5.0.0-rc.23 → 5.0.0-rc.27

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 (251) hide show
  1. package/2x/README.md +6 -6
  2. package/2x/cjs/components/button/button.css +2 -2
  3. package/2x/cjs/components/calendar/calendar.js +3 -1
  4. package/2x/cjs/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  5. package/2x/cjs/components/date-picker/date-picker.d.ts +1 -1
  6. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +3 -2
  7. package/2x/cjs/components/dialog/dialog.css +4 -0
  8. package/2x/cjs/components/dropdown/dropdown.css +0 -4
  9. package/2x/cjs/components/dropdown/item.js +3 -1
  10. package/2x/cjs/components/ellipsis/ellipsis.js +3 -1
  11. package/2x/cjs/components/empty/empty.css +1 -1
  12. package/2x/cjs/components/floating-bubble/floating-bubble.css +1 -0
  13. package/2x/cjs/components/floating-panel/floating-panel.d.ts +7 -5
  14. package/2x/cjs/components/floating-panel/floating-panel.js +11 -1
  15. package/2x/cjs/components/form/form-item.css +4 -6
  16. package/2x/cjs/components/form/form-item.d.ts +2 -2
  17. package/2x/cjs/components/form/form-item.js +9 -5
  18. package/2x/cjs/components/form/form.css +3 -3
  19. package/2x/cjs/components/form/form.d.ts +5 -4
  20. package/2x/cjs/components/form/index.css +7 -9
  21. package/2x/cjs/components/form/index.d.ts +5 -4
  22. package/2x/cjs/components/image-uploader/image-uploader.js +1 -1
  23. package/2x/cjs/components/image-viewer/image-viewer.css +2 -0
  24. package/2x/cjs/components/image-viewer/image-viewer.js +12 -2
  25. package/2x/cjs/components/image-viewer/slide.js +11 -7
  26. package/2x/cjs/components/image-viewer/slides.d.ts +1 -1
  27. package/2x/cjs/components/index-bar/index-bar.css +2 -1
  28. package/2x/cjs/components/input/input.d.ts +6 -2
  29. package/2x/cjs/components/input/input.js +23 -3
  30. package/2x/cjs/components/list/list.css +8 -10
  31. package/2x/cjs/components/picker/picker.css +10 -2
  32. package/2x/cjs/components/picker/picker.d.ts +2 -1
  33. package/2x/cjs/components/picker/picker.js +3 -1
  34. package/2x/cjs/components/picker-view/picker-view.css +2 -1
  35. package/2x/cjs/components/picker-view/picker-view.d.ts +1 -1
  36. package/2x/cjs/components/picker-view/wheel.js +4 -2
  37. package/2x/cjs/components/popover/arrow.d.ts +3 -0
  38. package/2x/cjs/components/popover/arrow.js +26 -0
  39. package/2x/cjs/components/popover/index.d.ts +10 -20
  40. package/2x/cjs/components/popover/index.js +4 -2
  41. package/2x/cjs/components/popover/popover-menu.css +63 -0
  42. package/2x/cjs/components/popover/popover-menu.d.ts +17 -0
  43. package/{cjs/components/popover/pop-menu.js → 2x/cjs/components/popover/popover-menu.js} +23 -26
  44. package/2x/cjs/components/popover/popover.css +90 -318
  45. package/2x/cjs/components/popover/popover.d.ts +9 -8
  46. package/2x/cjs/components/popover/popover.js +11 -17
  47. package/2x/cjs/components/radio/radio.js +2 -3
  48. package/2x/cjs/components/selector/selector.css +14 -6
  49. package/2x/cjs/components/selector/selector.d.ts +2 -1
  50. package/2x/cjs/components/selector/selector.js +3 -2
  51. package/2x/cjs/components/swiper/swiper.js +1 -1
  52. package/2x/cjs/components/tabs/tabs.js +2 -2
  53. package/2x/cjs/components/text-area/text-area.css +9 -9
  54. package/2x/cjs/components/text-area/text-area.d.ts +2 -2
  55. package/2x/cjs/components/text-area/text-area.js +41 -32
  56. package/2x/cjs/components/virtual-input/virtual-input.js +3 -1
  57. package/2x/cjs/utils/get-scroll-parent.js +1 -1
  58. package/2x/cjs/utils/use-ref-state.js +1 -1
  59. package/2x/cjs/utils/use-resize-effect.js +1 -3
  60. package/2x/cjs/utils/use-tab-list-scroll.js +1 -3
  61. package/2x/es/components/button/button.css +2 -2
  62. package/2x/es/components/calendar/calendar.js +3 -2
  63. package/2x/es/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  64. package/2x/es/components/date-picker/date-picker.d.ts +1 -1
  65. package/2x/es/components/date-picker-view/date-picker-view.d.ts +3 -2
  66. package/2x/es/components/dialog/dialog.css +4 -0
  67. package/2x/es/components/dropdown/dropdown.css +0 -4
  68. package/2x/es/components/dropdown/item.js +3 -1
  69. package/2x/es/components/ellipsis/ellipsis.js +3 -2
  70. package/2x/es/components/empty/empty.css +1 -1
  71. package/2x/es/components/floating-bubble/floating-bubble.css +1 -0
  72. package/2x/es/components/floating-panel/floating-panel.d.ts +7 -5
  73. package/2x/es/components/floating-panel/floating-panel.js +9 -1
  74. package/2x/es/components/form/form-item.css +4 -6
  75. package/2x/es/components/form/form-item.d.ts +2 -2
  76. package/2x/es/components/form/form-item.js +9 -5
  77. package/2x/es/components/form/form.css +3 -3
  78. package/2x/es/components/form/form.d.ts +5 -4
  79. package/2x/es/components/form/index.css +7 -9
  80. package/2x/es/components/form/index.d.ts +5 -4
  81. package/2x/es/components/image-uploader/image-uploader.js +3 -3
  82. package/2x/es/components/image-viewer/image-viewer.css +2 -0
  83. package/2x/es/components/image-viewer/image-viewer.js +13 -3
  84. package/2x/es/components/image-viewer/slide.js +11 -7
  85. package/2x/es/components/image-viewer/slides.d.ts +1 -1
  86. package/2x/es/components/index-bar/index-bar.css +2 -1
  87. package/2x/es/components/input/input.d.ts +6 -2
  88. package/2x/es/components/input/input.js +22 -4
  89. package/2x/es/components/list/list.css +8 -10
  90. package/2x/es/components/picker/picker.css +10 -2
  91. package/2x/es/components/picker/picker.d.ts +2 -1
  92. package/2x/es/components/picker/picker.js +3 -1
  93. package/2x/es/components/picker-view/picker-view.css +2 -1
  94. package/2x/es/components/picker-view/picker-view.d.ts +1 -1
  95. package/2x/es/components/picker-view/wheel.js +4 -3
  96. package/2x/es/components/popover/arrow.d.ts +3 -0
  97. package/2x/es/components/popover/arrow.js +12 -0
  98. package/2x/es/components/popover/index.d.ts +10 -20
  99. package/2x/es/components/popover/index.js +3 -2
  100. package/2x/es/components/popover/popover-menu.css +63 -0
  101. package/2x/es/components/popover/popover-menu.d.ts +17 -0
  102. package/2x/es/components/popover/popover-menu.js +52 -0
  103. package/2x/es/components/popover/popover.css +90 -318
  104. package/2x/es/components/popover/popover.d.ts +9 -8
  105. package/2x/es/components/popover/popover.js +10 -17
  106. package/2x/es/components/radio/radio.js +2 -3
  107. package/2x/es/components/selector/selector.css +14 -6
  108. package/2x/es/components/selector/selector.d.ts +2 -1
  109. package/2x/es/components/selector/selector.js +3 -2
  110. package/2x/es/components/swiper/swiper.js +3 -3
  111. package/2x/es/components/tabs/tabs.js +4 -4
  112. package/2x/es/components/text-area/text-area.css +9 -9
  113. package/2x/es/components/text-area/text-area.d.ts +2 -2
  114. package/2x/es/components/text-area/text-area.js +41 -31
  115. package/2x/es/components/virtual-input/virtual-input.js +3 -2
  116. package/2x/es/utils/get-scroll-parent.js +1 -1
  117. package/2x/es/utils/use-ref-state.js +2 -2
  118. package/2x/es/utils/use-resize-effect.js +2 -3
  119. package/2x/es/utils/use-tab-list-scroll.js +2 -3
  120. package/2x/package.json +5 -5
  121. package/README.md +6 -6
  122. package/cjs/components/button/button.css +2 -2
  123. package/cjs/components/calendar/calendar.js +3 -1
  124. package/cjs/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  125. package/cjs/components/date-picker/date-picker.d.ts +1 -1
  126. package/cjs/components/date-picker-view/date-picker-view.d.ts +3 -2
  127. package/cjs/components/dialog/dialog.css +3 -0
  128. package/cjs/components/dropdown/dropdown.css +0 -3
  129. package/cjs/components/dropdown/item.js +3 -1
  130. package/cjs/components/ellipsis/ellipsis.js +3 -1
  131. package/cjs/components/empty/empty.css +1 -1
  132. package/cjs/components/floating-bubble/floating-bubble.css +1 -0
  133. package/cjs/components/floating-panel/floating-panel.d.ts +7 -5
  134. package/cjs/components/floating-panel/floating-panel.js +11 -1
  135. package/cjs/components/form/form-item.css +4 -5
  136. package/cjs/components/form/form-item.d.ts +2 -2
  137. package/cjs/components/form/form-item.js +9 -5
  138. package/cjs/components/form/form.css +3 -3
  139. package/cjs/components/form/form.d.ts +5 -4
  140. package/cjs/components/form/index.css +7 -8
  141. package/cjs/components/form/index.d.ts +5 -4
  142. package/cjs/components/image-uploader/image-uploader.js +1 -1
  143. package/cjs/components/image-viewer/image-viewer.css +2 -0
  144. package/cjs/components/image-viewer/image-viewer.js +12 -2
  145. package/cjs/components/image-viewer/slide.js +11 -7
  146. package/cjs/components/image-viewer/slides.d.ts +1 -1
  147. package/cjs/components/index-bar/index-bar.css +2 -1
  148. package/cjs/components/input/input.d.ts +6 -2
  149. package/cjs/components/input/input.js +23 -3
  150. package/cjs/components/list/list.css +7 -9
  151. package/cjs/components/picker/picker.css +9 -2
  152. package/cjs/components/picker/picker.d.ts +2 -1
  153. package/cjs/components/picker/picker.js +3 -1
  154. package/cjs/components/picker-view/picker-view.css +2 -1
  155. package/cjs/components/picker-view/picker-view.d.ts +1 -1
  156. package/cjs/components/picker-view/wheel.js +4 -2
  157. package/cjs/components/popover/arrow.d.ts +3 -0
  158. package/cjs/components/popover/arrow.js +26 -0
  159. package/cjs/components/popover/index.d.ts +10 -20
  160. package/cjs/components/popover/index.js +4 -2
  161. package/cjs/components/popover/popover-menu.css +52 -0
  162. package/cjs/components/popover/popover-menu.d.ts +17 -0
  163. package/{2x/cjs/components/popover/pop-menu.js → cjs/components/popover/popover-menu.js} +23 -26
  164. package/cjs/components/popover/popover.css +83 -276
  165. package/cjs/components/popover/popover.d.ts +9 -8
  166. package/cjs/components/popover/popover.js +11 -17
  167. package/cjs/components/radio/radio.js +2 -3
  168. package/cjs/components/selector/selector.css +14 -6
  169. package/cjs/components/selector/selector.d.ts +2 -1
  170. package/cjs/components/selector/selector.js +3 -2
  171. package/cjs/components/swiper/swiper.js +1 -1
  172. package/cjs/components/tabs/tabs.js +2 -2
  173. package/cjs/components/text-area/text-area.css +9 -9
  174. package/cjs/components/text-area/text-area.d.ts +2 -2
  175. package/cjs/components/text-area/text-area.js +41 -32
  176. package/cjs/components/virtual-input/virtual-input.js +3 -1
  177. package/cjs/utils/get-scroll-parent.js +1 -1
  178. package/cjs/utils/use-ref-state.js +1 -1
  179. package/cjs/utils/use-resize-effect.js +1 -3
  180. package/cjs/utils/use-tab-list-scroll.js +1 -3
  181. package/es/components/button/button.css +2 -2
  182. package/es/components/calendar/calendar.js +3 -2
  183. package/es/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  184. package/es/components/date-picker/date-picker.d.ts +1 -1
  185. package/es/components/date-picker-view/date-picker-view.d.ts +3 -2
  186. package/es/components/dialog/dialog.css +3 -0
  187. package/es/components/dropdown/dropdown.css +0 -3
  188. package/es/components/dropdown/item.js +3 -1
  189. package/es/components/ellipsis/ellipsis.js +3 -2
  190. package/es/components/empty/empty.css +1 -1
  191. package/es/components/floating-bubble/floating-bubble.css +1 -0
  192. package/es/components/floating-panel/floating-panel.d.ts +7 -5
  193. package/es/components/floating-panel/floating-panel.js +9 -1
  194. package/es/components/form/form-item.css +4 -5
  195. package/es/components/form/form-item.d.ts +2 -2
  196. package/es/components/form/form-item.js +9 -5
  197. package/es/components/form/form.css +3 -3
  198. package/es/components/form/form.d.ts +5 -4
  199. package/es/components/form/index.css +7 -8
  200. package/es/components/form/index.d.ts +5 -4
  201. package/es/components/image-uploader/image-uploader.js +3 -3
  202. package/es/components/image-viewer/image-viewer.css +2 -0
  203. package/es/components/image-viewer/image-viewer.js +13 -3
  204. package/es/components/image-viewer/slide.js +11 -7
  205. package/es/components/image-viewer/slides.d.ts +1 -1
  206. package/es/components/index-bar/index-bar.css +2 -1
  207. package/es/components/input/input.d.ts +6 -2
  208. package/es/components/input/input.js +22 -4
  209. package/es/components/list/list.css +7 -9
  210. package/es/components/picker/picker.css +9 -2
  211. package/es/components/picker/picker.d.ts +2 -1
  212. package/es/components/picker/picker.js +3 -1
  213. package/es/components/picker-view/picker-view.css +2 -1
  214. package/es/components/picker-view/picker-view.d.ts +1 -1
  215. package/es/components/picker-view/wheel.js +4 -3
  216. package/es/components/popover/arrow.d.ts +3 -0
  217. package/es/components/popover/arrow.js +12 -0
  218. package/es/components/popover/index.d.ts +10 -20
  219. package/es/components/popover/index.js +3 -2
  220. package/es/components/popover/popover-menu.css +52 -0
  221. package/es/components/popover/popover-menu.d.ts +17 -0
  222. package/es/components/popover/popover-menu.js +52 -0
  223. package/es/components/popover/popover.css +83 -276
  224. package/es/components/popover/popover.d.ts +9 -8
  225. package/es/components/popover/popover.js +10 -17
  226. package/es/components/radio/radio.js +2 -3
  227. package/es/components/selector/selector.css +14 -6
  228. package/es/components/selector/selector.d.ts +2 -1
  229. package/es/components/selector/selector.js +3 -2
  230. package/es/components/swiper/swiper.js +3 -3
  231. package/es/components/tabs/tabs.js +4 -4
  232. package/es/components/text-area/text-area.css +9 -9
  233. package/es/components/text-area/text-area.d.ts +2 -2
  234. package/es/components/text-area/text-area.js +41 -31
  235. package/es/components/virtual-input/virtual-input.js +3 -2
  236. package/es/utils/get-scroll-parent.js +1 -1
  237. package/es/utils/use-ref-state.js +2 -2
  238. package/es/utils/use-resize-effect.js +2 -3
  239. package/es/utils/use-tab-list-scroll.js +2 -3
  240. package/package.json +5 -5
  241. package/umd/antd-mobile.js +1 -1
  242. package/2x/cjs/components/popover/animation.css +0 -111
  243. package/2x/cjs/components/popover/pop-menu.d.ts +0 -28
  244. package/2x/es/components/popover/animation.css +0 -111
  245. package/2x/es/components/popover/pop-menu.d.ts +0 -28
  246. package/2x/es/components/popover/pop-menu.js +0 -54
  247. package/cjs/components/popover/animation.css +0 -96
  248. package/cjs/components/popover/pop-menu.d.ts +0 -28
  249. package/es/components/popover/animation.css +0 -96
  250. package/es/components/popover/pop-menu.d.ts +0 -28
  251. package/es/components/popover/pop-menu.js +0 -54
@@ -17,6 +17,8 @@ var _withDefaultProps = require("../../utils/with-default-props");
17
17
 
18
18
  var _withStopPropagation = require("../../utils/with-stop-propagation");
19
19
 
20
+ var _arrow = require("./arrow");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -24,11 +26,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
24
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; }
25
27
 
26
28
  const classPrefix = `adm-popover`;
27
- const enterClassName = 'entering';
28
- const leaveClassName = 'leaving';
29
29
  const defaultProps = {
30
+ placement: 'top',
30
31
  defaultVisible: false,
31
- stopPropagation: ['click']
32
+ stopPropagation: ['click'],
33
+ getContainer: () => document.body
32
34
  };
33
35
  const Popover = (0, _react.forwardRef)((p, ref) => {
34
36
  var _a;
@@ -53,27 +55,19 @@ const Popover = (0, _react.forwardRef)((p, ref) => {
53
55
  className: `${classPrefix}-inner-content`
54
56
  }, props.content));
55
57
  return _react.default.createElement(_rcTooltip.default, Object.assign({}, props, {
56
- overlayClassName: (0, _classnames.default)(`${classPrefix}-${mode}`, props.overlayClassName),
58
+ placement: props.placement,
59
+ align: props.align,
60
+ overlayClassName: (0, _classnames.default)(`${classPrefix}-${mode}`, props.className),
61
+ overlayStyle: props.style,
57
62
  destroyTooltipOnHide: props.destroyOnHide,
58
63
  prefixCls: classPrefix,
59
64
  getTooltipContainer: props.getContainer || (() => document.body),
60
65
  visible: visible,
61
- arrowContent: _react.default.createElement("span", {
62
- className: `${classPrefix}-arrow-content`
66
+ arrowContent: _react.default.createElement(_arrow.Arrow, {
67
+ className: `${classPrefix}-arrow-icon`
63
68
  }),
64
69
  onVisibleChange: setVisible,
65
70
  trigger: (_a = props.trigger) !== null && _a !== void 0 ? _a : [],
66
- motion: {
67
- motionName: {
68
- appear: enterClassName,
69
- appearActive: enterClassName,
70
- enter: enterClassName,
71
- enterActive: enterClassName,
72
- leaveActive: leaveClassName,
73
- leave: leaveClassName
74
- },
75
- motionDeadline: 200
76
- },
77
71
  overlay: overlay
78
72
  }), props.children);
79
73
  });
@@ -74,12 +74,11 @@ const Radio = p => {
74
74
  };
75
75
 
76
76
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("label", {
77
- className: (0, _classnames.default)(classPrefix, props.className, {
77
+ className: (0, _classnames.default)(classPrefix, {
78
78
  [`${classPrefix}-checked`]: checked,
79
79
  [`${classPrefix}-disabled`]: disabled,
80
80
  [`${classPrefix}-block`]: props.block
81
- }),
82
- style: props.style
81
+ })
83
82
  }, _react.default.createElement("input", {
84
83
  type: 'radio',
85
84
  checked: checked,
@@ -1,6 +1,12 @@
1
1
  .adm-selector {
2
- --color: var(--adm-color-text);
2
+ --color: #f5f5f5;
3
3
  --checked-color: #e7f1ff;
4
+ --text-color: var(--adm-color-text);
5
+ --checked-text-color: var(--adm-color-primary);
6
+ --border: none;
7
+ --checked-border: none;
8
+ --border-radius: 2px;
9
+ --padding: 8px 16px;
4
10
  overflow: hidden;
5
11
  font-size: 15px;
6
12
  line-height: 1.4;
@@ -9,11 +15,12 @@
9
15
  --gap: 12px;
10
16
  }
11
17
  .adm-selector-item {
12
- padding: 8px 16px;
18
+ padding: var(--padding);
13
19
  position: relative;
14
- background-color: #f5f5f5;
15
- border-radius: 2px;
16
- color: #333;
20
+ background-color: var(--color);
21
+ border: var(--border);
22
+ border-radius: var(--border-radius);
23
+ color: var(--text-color);
17
24
  opacity: 1;
18
25
  cursor: pointer;
19
26
  display: inline-block;
@@ -27,8 +34,9 @@
27
34
  }
28
35
  .adm-selector-item-active,
29
36
  .adm-selector-item-multiple-active {
30
- color: var(--adm-color-primary);
37
+ color: var(--checked-text-color);
31
38
  background-color: var(--checked-color);
39
+ border: var(--checked-border);
32
40
  }
33
41
  .adm-selector-item .adm-selector-check-mark-wrapper {
34
42
  position: absolute;
@@ -16,5 +16,6 @@ export declare type SelectorProps<V> = {
16
16
  onChange?: (v: V[], extend: {
17
17
  items: SelectorOption<V>[];
18
18
  }) => void;
19
- } & NativeProps<'--checked-color'>;
19
+ showCheckMark?: boolean;
20
+ } & NativeProps<'--color' | '--checked-color' | '--text-color' | '--checked-text-color' | '--border' | '--checked-border' | '--border-radius' | '--padding'>;
20
21
  export declare const Selector: <V extends string | number>(p: SelectorProps<V>) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
@@ -28,7 +28,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
28
28
  const classPrefix = `adm-selector`;
29
29
  const defaultProps = {
30
30
  multiple: false,
31
- defaultValue: []
31
+ defaultValue: [],
32
+ showCheckMark: true
32
33
  };
33
34
 
34
35
  const Selector = p => {
@@ -74,7 +75,7 @@ const Selector = p => {
74
75
  }
75
76
  }, option.label, option.description && _react.default.createElement("div", {
76
77
  className: `${classPrefix}-item-description`
77
- }, option.description), active && _react.default.createElement("div", {
78
+ }, option.description), active && props.showCheckMark && _react.default.createElement("div", {
78
79
  className: `${classPrefix}-check-mark-wrapper`
79
80
  }, _react.default.createElement(_checkMark.CheckMark, null)));
80
81
  });
@@ -212,7 +212,7 @@ const Swiper = (0, _react.forwardRef)((0, _stagedComponents.staged)((p, ref) =>
212
212
  swipeNext,
213
213
  swipePrev
214
214
  }));
215
- (0, _react.useLayoutEffect)(() => {
215
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
216
216
  const maxIndex = validChildren.length - 1;
217
217
 
218
218
  if (current > maxIndex) {
@@ -163,7 +163,7 @@ const Tabs = p => {
163
163
  });
164
164
  }
165
165
 
166
- (0, _react.useLayoutEffect)(() => {
166
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
167
167
  animate(true);
168
168
  }, []);
169
169
  (0, _ahooks.useUpdateLayoutEffect)(() => {
@@ -197,7 +197,7 @@ const Tabs = p => {
197
197
  trailing: true,
198
198
  leading: true
199
199
  });
200
- (0, _react.useLayoutEffect)(() => {
200
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
201
201
  updateMask(true);
202
202
  }, []);
203
203
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
@@ -1,4 +1,4 @@
1
- .adm-text-area-wrapper {
1
+ .adm-text-area {
2
2
  --font-size: 17px;
3
3
  --color: var(--adm-color-text);
4
4
  --placeholder-color: var(--adm-color-light);
@@ -7,7 +7,7 @@
7
7
  max-width: 100%;
8
8
  max-height: 100%;
9
9
  }
10
- .adm-text-area {
10
+ .adm-text-area-element {
11
11
  font-family: var(--adm-font-family);
12
12
  resize: none;
13
13
  flex: auto;
@@ -27,29 +27,29 @@
27
27
  appearance: none;
28
28
  min-height: 1.5em;
29
29
  }
30
- .adm-text-area::placeholder {
30
+ .adm-text-area-element::placeholder {
31
31
  color: var(--placeholder-color);
32
32
  font-family: inherit;
33
33
  }
34
- .adm-text-area:-webkit-autofill {
34
+ .adm-text-area-element:-webkit-autofill {
35
35
  background-color: transparent;
36
36
  }
37
- .adm-text-area:disabled {
37
+ .adm-text-area-element:disabled {
38
38
  color: var(--disabled-color);
39
39
  cursor: not-allowed;
40
40
  opacity: 1;
41
41
  -webkit-text-fill-color: var(--disabled-color);
42
42
  }
43
- .adm-text-area:read-only {
43
+ .adm-text-area-element:read-only {
44
44
  cursor: default;
45
45
  }
46
- .adm-text-area:invalid {
46
+ .adm-text-area-element:invalid {
47
47
  box-shadow: none;
48
48
  }
49
- .adm-text-area::-ms-clear {
49
+ .adm-text-area-element::-ms-clear {
50
50
  display: none;
51
51
  }
52
- .adm-text-area[readonly] {
52
+ .adm-text-area-element[readonly] {
53
53
  pointer-events: none;
54
54
  }
55
55
  .adm-text-area-count {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ReactNode } from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
- export declare type TextAreaProps = Pick<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, 'autoComplete' | 'disabled' | 'readOnly' | 'onFocus' | 'onBlur'> & {
4
+ export declare type TextAreaProps = Pick<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, 'autoComplete' | 'disabled' | 'readOnly' | 'onFocus' | 'onBlur' | 'onCompositionStart' | 'onCompositionEnd'> & {
5
5
  onChange?: (val: string) => void;
6
6
  value?: string;
7
7
  defaultValue?: string;
@@ -20,7 +20,7 @@ export declare type TextAreaRef = {
20
20
  focus: () => void;
21
21
  blur: () => void;
22
22
  };
23
- export declare const TextArea: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "disabled" | "onFocus" | "onBlur" | "autoComplete" | "readOnly"> & {
23
+ export declare const TextArea: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "disabled" | "onCompositionEnd" | "onCompositionStart" | "onFocus" | "onBlur" | "autoComplete" | "readOnly"> & {
24
24
  onChange?: ((val: string) => void) | undefined;
25
25
  value?: string | undefined;
26
26
  defaultValue?: string | undefined;
@@ -5,18 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TextArea = void 0;
7
7
 
8
- var _tslib = require("tslib");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
9
 
12
- var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _nativeProps = require("../../utils/native-props");
13
11
 
14
12
  var _usePropsValue = require("../../utils/use-props-value");
15
13
 
16
14
  var _withDefaultProps = require("../../utils/with-default-props");
17
15
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
17
 
22
18
  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; }
@@ -31,16 +27,10 @@ const defaultProps = {
31
27
  const TextArea = (0, _react.forwardRef)((p, ref) => {
32
28
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
33
29
  const {
34
- className,
35
- style,
36
- defaultValue: outerDefaultValue,
37
- value: outerValue,
38
- onChange: outerOnChange,
39
- rows: rows,
40
- autoSize: autoSize,
41
- showCount
42
- } = props,
43
- textAreaProps = (0, _tslib.__rest)(props, ["className", "style", "defaultValue", "value", "onChange", "rows", "autoSize", "showCount"]);
30
+ autoSize,
31
+ showCount,
32
+ maxLength
33
+ } = props;
44
34
  const [value, setValue] = (0, _usePropsValue.usePropsValue)(props);
45
35
  const nativeTextAreaRef = (0, _react.useRef)(null);
46
36
  (0, _react.useImperativeHandle)(ref, () => ({
@@ -80,40 +70,59 @@ const TextArea = (0, _react.forwardRef)((p, ref) => {
80
70
 
81
71
  textArea.style.height = `${height}px`;
82
72
  }, [value, autoSize]);
73
+ const compositingRef = (0, _react.useRef)(false);
83
74
  let count;
75
+ const valueLength = [...value].length;
84
76
 
85
77
  if (typeof showCount === 'function') {
86
- count = showCount(value.length, props.maxLength);
78
+ count = showCount(valueLength, maxLength);
87
79
  } else if (showCount) {
88
80
  count = _react.default.createElement("div", {
89
81
  className: `${classPrefix}-count`
90
- }, props.maxLength === undefined ? value.length : value.length + '/' + props.maxLength);
82
+ }, maxLength === undefined ? valueLength : valueLength + '/' + maxLength);
91
83
  }
92
84
 
93
- return _react.default.createElement("div", {
94
- className: (0, _classnames.default)(`${classPrefix}-wrapper`, className),
95
- style: style
96
- }, _react.default.createElement("textarea", Object.assign({
97
- ref: nativeTextAreaRef
98
- }, textAreaProps, {
99
- className: classPrefix,
100
- rows: rows,
85
+ return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
86
+ className: classPrefix
87
+ }, _react.default.createElement("textarea", {
88
+ ref: nativeTextAreaRef,
89
+ className: `${classPrefix}-element`,
90
+ rows: props.rows,
101
91
  value: value,
92
+ placeholder: props.placeholder,
102
93
  onChange: e => {
103
- setValue(e.target.value);
94
+ let v = e.target.value;
95
+
96
+ if (maxLength && !compositingRef.current) {
97
+ v = [...v].slice(0, maxLength).join('');
98
+ }
99
+
100
+ setValue(v);
104
101
  },
105
- onFocus: e => {
102
+ id: props.id,
103
+ onCompositionStart: e => {
106
104
  var _a;
107
105
 
108
- (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);
106
+ compositingRef.current = true;
107
+ (_a = props.onCompositionStart) === null || _a === void 0 ? void 0 : _a.call(props, e);
109
108
  },
110
- onBlur: e => {
109
+ onCompositionEnd: e => {
111
110
  var _a;
112
111
 
113
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
112
+ compositingRef.current = false;
113
+
114
+ if (maxLength) {
115
+ setValue([...value].slice(0, maxLength).join(''));
116
+ }
117
+
118
+ (_a = props.onCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(props, e);
114
119
  },
115
- id: props.id
116
- })), count);
120
+ autoComplete: props.autoComplete,
121
+ disabled: props.disabled,
122
+ readOnly: props.readOnly,
123
+ onFocus: props.onFocus,
124
+ onBlur: props.onBlur
125
+ }), count));
117
126
  });
118
127
  exports.TextArea = TextArea;
119
128
  TextArea.defaultProps = defaultProps;
@@ -17,6 +17,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
17
17
 
18
18
  var _antdMobileIcons = require("antd-mobile-icons");
19
19
 
20
+ var _ahooks = require("ahooks");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -47,7 +49,7 @@ const VirtualInput = (0, _react.forwardRef)((p, ref) => {
47
49
  content.scrollLeft = content.clientWidth;
48
50
  }
49
51
 
50
- (0, _react.useLayoutEffect)(() => {
52
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
51
53
  scrollToEnd();
52
54
  }, [value]);
53
55
  (0, _react.useEffect)(() => {
@@ -12,7 +12,7 @@ const defaultRoot = _canUseDom.canUseDom ? window : undefined;
12
12
 
13
13
  function isElement(node) {
14
14
  const ELEMENT_NODE_TYPE = 1;
15
- return node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === ELEMENT_NODE_TYPE;
15
+ return node.nodeType === ELEMENT_NODE_TYPE;
16
16
  } // https://github.com/youzan/vant/issues/3823
17
17
 
18
18
 
@@ -10,7 +10,7 @@ var _react = require("react");
10
10
  function useRefState(initialState) {
11
11
  const [state, setState] = (0, _react.useState)(initialState);
12
12
  const ref = (0, _react.useRef)(state);
13
- (0, _react.useLayoutEffect)(() => {
13
+ (0, _react.useEffect)(() => {
14
14
  ref.current = state;
15
15
  }, [state]);
16
16
  return [state, setState, ref];
@@ -5,13 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useResizeEffect = useResizeEffect;
7
7
 
8
- var _react = require("react");
9
-
10
8
  var _ahooks = require("ahooks");
11
9
 
12
10
  function useResizeEffect(effect, targetRef) {
13
11
  const fn = (0, _ahooks.useMemoizedFn)(effect);
14
- (0, _react.useLayoutEffect)(() => {
12
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
15
13
  const target = targetRef.current;
16
14
  if (!target) return;
17
15
 
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useTabListScroll = void 0;
7
7
 
8
- var _react = require("react");
9
-
10
8
  var _web = require("@react-spring/web");
11
9
 
12
10
  var _useMutationEffect = require("./use-mutation-effect");
@@ -49,7 +47,7 @@ const useTabListScroll = (targetRef, activeIndex) => {
49
47
  });
50
48
  }
51
49
 
52
- (0, _react.useLayoutEffect)(() => {
50
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
53
51
  animate(true);
54
52
  }, []);
55
53
  (0, _ahooks.useUpdateLayoutEffect)(() => {
@@ -12,9 +12,9 @@
12
12
  display: inline-block;
13
13
  box-sizing: border-box;
14
14
  height: auto;
15
- padding: 8px 12px;
15
+ padding: 7px 12px;
16
16
  margin: 0;
17
- font-size: 15px;
17
+ font-size: 17px;
18
18
  line-height: 1.4;
19
19
  text-align: center;
20
20
  border: var(--border-width) var(--border-style) var(--border-color);
@@ -1,4 +1,4 @@
1
- import React, { useLayoutEffect, useMemo, useState } from 'react';
1
+ import React, { useMemo, useState } from 'react';
2
2
  import { withNativeProps } from '../../utils/native-props';
3
3
  import dayjs from 'dayjs';
4
4
  import classNames from 'classnames';
@@ -7,6 +7,7 @@ import { ArrowLeft } from './arrow-left';
7
7
  import { ArrowLeftDouble } from './arrow-left-double';
8
8
  import { useConfig } from '../config-provider';
9
9
  import isoWeek from 'dayjs/plugin/isoWeek';
10
+ import { useIsomorphicLayoutEffect } from 'ahooks';
10
11
  dayjs.extend(isoWeek);
11
12
  const classPrefix = 'adm-calendar';
12
13
  const defaultProps = {
@@ -65,7 +66,7 @@ export const Calendar = p => {
65
66
  }, [props.selectionMode, props.value, props.defaultValue]);
66
67
  const [begin, setBegin] = useState(null);
67
68
  const [end, setEnd] = useState(null);
68
- useLayoutEffect(() => {
69
+ useIsomorphicLayoutEffect(() => {
69
70
  setBegin(dateRange[0] ? dayjs(dateRange[0]) : null);
70
71
  setEnd(dateRange[1] ? dayjs(dateRange[1]) : null);
71
72
  }, [dateRange[0], dateRange[1]]);
@@ -1,8 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { NativeProps } from '../../utils/native-props';
3
2
  import type { PickerViewProps } from '../picker-view';
4
3
  import type { CascadePickerOption } from '../cascade-picker';
5
4
  export declare type CascadePickerViewProps = Omit<PickerViewProps, 'columns'> & {
6
5
  options: CascadePickerOption[];
7
- } & NativeProps<'--height'>;
6
+ };
8
7
  export declare const CascadePickerView: FC<CascadePickerViewProps>;
@@ -2,7 +2,7 @@ import { FC, ReactNode } from 'react';
2
2
  import type { PickerProps } from '../picker';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import type { Precision, DatePickerFilter } from './date-picker-utils';
5
- export declare type DatePickerProps = Pick<PickerProps, 'onCancel' | 'onClose' | 'visible' | 'confirmText' | 'cancelText' | 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'title' | 'stopPropagation'> & {
5
+ export declare type DatePickerProps = Pick<PickerProps, 'onCancel' | 'onClose' | 'closeOnMaskClick' | 'visible' | 'confirmText' | 'cancelText' | 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'title' | 'stopPropagation' | 'style'> & {
6
6
  value?: Date | null;
7
7
  defaultValue?: Date | null;
8
8
  onSelect?: (value: Date) => void;
@@ -1,7 +1,8 @@
1
1
  import { FC, ReactNode } from 'react';
2
+ import type { PickerViewProps } from '../picker-view';
2
3
  import { NativeProps } from '../../utils/native-props';
3
4
  import type { Precision, DatePickerFilter } from '../date-picker/date-picker-utils';
4
- export declare type DatePickerViewProps = {
5
+ export declare type DatePickerViewProps = Pick<PickerViewProps, 'style'> & {
5
6
  value?: Date;
6
7
  defaultValue?: Date;
7
8
  onChange?: (value: Date) => void;
@@ -10,5 +11,5 @@ export declare type DatePickerViewProps = {
10
11
  precision?: Precision;
11
12
  renderLabel?: (type: Precision, data: number) => ReactNode;
12
13
  filter?: DatePickerFilter;
13
- } & NativeProps<'--height'>;
14
+ } & NativeProps;
14
15
  export declare const DatePickerView: FC<DatePickerViewProps>;
@@ -31,6 +31,9 @@
31
31
  .adm-dialog-main > .adm-dialog-image-container {
32
32
  flex: auto;
33
33
  }
34
+ .adm-dialog-main > .adm-dialog-image-container + .adm-dialog-body {
35
+ padding-top: 12px;
36
+ }
34
37
  .adm-dialog-main .adm-dialog-body {
35
38
  padding: 20px 12px;
36
39
  }
@@ -43,9 +43,6 @@
43
43
  .adm-dropdown-item-highlight {
44
44
  color: var(--adm-color-primary);
45
45
  }
46
- .adm-dropdown-item-active {
47
- color: var(--adm-color-primary);
48
- }
49
46
  .adm-dropdown-item-active .adm-dropdown-item-title:after {
50
47
  margin-top: -1px;
51
48
  transform: rotate(135deg);
@@ -6,9 +6,11 @@ import { DownFill } from 'antd-mobile-icons';
6
6
  const classPrefix = `adm-dropdown-item`;
7
7
 
8
8
  const Item = props => {
9
+ var _a;
10
+
9
11
  const cls = classNames(classPrefix, {
10
12
  [`${classPrefix}-active`]: props.active,
11
- [`${classPrefix}-highlight`]: props.highlight
13
+ [`${classPrefix}-highlight`]: (_a = props.highlight) !== null && _a !== void 0 ? _a : props.active
12
14
  });
13
15
  return withNativeProps(props, React.createElement("div", {
14
16
  className: cls,
@@ -1,7 +1,8 @@
1
- import React, { useLayoutEffect, useRef, useState } from 'react';
1
+ import React, { useRef, useState } from 'react';
2
2
  import { mergeProps } from '../../utils/with-default-props';
3
3
  import { withNativeProps } from '../../utils/native-props';
4
4
  import { useResizeEffect } from '../../utils/use-resize-effect';
5
+ import { useIsomorphicLayoutEffect } from 'ahooks';
5
6
  const classPrefix = `adm-ellipsis`;
6
7
  const defaultProps = {
7
8
  direction: 'end',
@@ -113,7 +114,7 @@ export const Ellipsis = p => {
113
114
  }
114
115
 
115
116
  useResizeEffect(calcEllipsised, rootRef);
116
- useLayoutEffect(() => {
117
+ useIsomorphicLayoutEffect(() => {
117
118
  calcEllipsised();
118
119
  }, [props.content, props.direction, props.rows, props.expandText, props.collapseText]);
119
120
  const expandActionElement = exceeded && props.expandText ? React.createElement("a", {
@@ -9,7 +9,7 @@
9
9
  display: flex;
10
10
  justify-content: center;
11
11
  }
12
- .adm-empty-image-container-image {
12
+ .adm-empty-image-container .adm-empty-image {
13
13
  width: 64px;
14
14
  }
15
15
  .adm-empty-description {
@@ -15,6 +15,7 @@
15
15
  width: 100vw;
16
16
  height: 100vh;
17
17
  padding: var(--edge-distance);
18
+ box-sizing: border-box;
18
19
  pointer-events: none;
19
20
  }
20
21
  .adm-floating-bubble-boundary {
@@ -1,17 +1,19 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
- export declare type FloatingPanelProps = {
4
- anchors: number[];
5
- children: ReactNode;
6
- onHeightChange?: (height: number, animating: boolean) => void;
7
- } & NativeProps<'--border-radius' | '--z-index'>;
8
3
  export declare type FloatingPanelRef = {
9
4
  setHeight: (height: number, options?: {
10
5
  immediate?: boolean;
11
6
  }) => void;
12
7
  };
8
+ export declare type FloatingPanelProps = {
9
+ anchors: number[];
10
+ children: ReactNode;
11
+ onHeightChange?: (height: number, animating: boolean) => void;
12
+ handleDraggingOfContent?: boolean;
13
+ } & NativeProps<'--border-radius' | '--z-index'>;
13
14
  export declare const FloatingPanel: React.ForwardRefExoticComponent<{
14
15
  anchors: number[];
15
16
  children: ReactNode;
16
17
  onHeightChange?: ((height: number, animating: boolean) => void) | undefined;
18
+ handleDraggingOfContent?: boolean | undefined;
17
19
  } & NativeProps<"--z-index" | "--border-radius"> & React.RefAttributes<FloatingPanelRef>>;
@@ -4,9 +4,15 @@ import { useDrag } from '@use-gesture/react';
4
4
  import { useSpring, animated } from '@react-spring/web';
5
5
  import { supportsPassive } from '../../utils/supports-passive';
6
6
  import { nearest } from '../../utils/nearest';
7
- export const FloatingPanel = forwardRef((props, ref) => {
7
+ import { mergeProps } from '../../utils/with-default-props';
8
+ import { useLockScroll } from '../../utils/use-lock-scroll';
9
+ const defaultProps = {
10
+ handleDraggingOfContent: true
11
+ };
12
+ export const FloatingPanel = forwardRef((p, ref) => {
8
13
  var _a;
9
14
 
15
+ const props = mergeProps(defaultProps, p);
10
16
  const {
11
17
  anchors
12
18
  } = props;
@@ -44,6 +50,7 @@ export const FloatingPanel = forwardRef((props, ref) => {
44
50
  if (header === target || (header === null || header === void 0 ? void 0 : header.contains(target))) {
45
51
  pullingRef.current = true;
46
52
  } else {
53
+ if (!props.handleDraggingOfContent) return;
47
54
  const reachedTop = y.goal <= bounds.top;
48
55
  const content = contentRef.current;
49
56
  if (!content) return;
@@ -101,6 +108,7 @@ export const FloatingPanel = forwardRef((props, ref) => {
101
108
  });
102
109
  }
103
110
  }), [api]);
111
+ useLockScroll(elementRef, true);
104
112
  return withNativeProps(props, React.createElement(animated.div, {
105
113
  ref: elementRef,
106
114
  className: 'adm-floating-panel',