antd-mobile 5.15.1 → 5.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/2x/README.md +30 -16
  2. package/2x/bundle/antd-mobile.cjs.js +322 -193
  3. package/2x/bundle/antd-mobile.es.js +323 -194
  4. package/2x/bundle/style.css +66 -13
  5. package/2x/cjs/components/action-sheet/action-sheet.d.ts +2 -4
  6. package/2x/cjs/components/action-sheet/action-sheet.js +6 -2
  7. package/2x/cjs/components/cascader/cascader.d.ts +29 -4
  8. package/2x/cjs/components/cascader/cascader.js +41 -19
  9. package/2x/cjs/components/cascader/index.d.ts +21 -2
  10. package/2x/cjs/components/center-popup/center-popup.css +11 -0
  11. package/2x/cjs/components/center-popup/center-popup.d.ts +3 -20
  12. package/2x/cjs/components/center-popup/center-popup.js +24 -13
  13. package/2x/cjs/components/date-picker/date-picker.d.ts +2 -2
  14. package/2x/cjs/components/date-picker/date-picker.js +3 -1
  15. package/2x/cjs/components/date-picker/index.d.ts +1 -1
  16. package/2x/cjs/components/input/input.css +4 -0
  17. package/2x/cjs/components/input/input.d.ts +7 -4
  18. package/2x/cjs/components/input/input.js +5 -1
  19. package/2x/cjs/components/list/index.d.ts +10 -2
  20. package/2x/cjs/components/list/list.d.ts +13 -2
  21. package/2x/cjs/components/list/list.js +16 -6
  22. package/2x/cjs/components/modal/modal-action-button.d.ts +2 -2
  23. package/2x/cjs/components/modal/modal.css +0 -9
  24. package/2x/cjs/components/modal/modal.js +4 -11
  25. package/2x/cjs/components/number-keyboard/number-keyboard.d.ts +1 -5
  26. package/2x/cjs/components/number-keyboard/number-keyboard.js +13 -7
  27. package/2x/cjs/components/picker/index.d.ts +2 -6
  28. package/2x/cjs/components/picker/picker.d.ts +2 -6
  29. package/2x/cjs/components/picker/picker.js +8 -7
  30. package/2x/cjs/components/picker-view/picker-view.css +1 -0
  31. package/2x/cjs/components/picker-view/wheel.js +10 -8
  32. package/2x/cjs/components/popup/popup-base-props.d.ts +35 -0
  33. package/2x/cjs/components/popup/popup-base-props.js +18 -0
  34. package/2x/cjs/components/popup/popup.css +32 -0
  35. package/2x/cjs/components/popup/popup.d.ts +3 -19
  36. package/2x/cjs/components/popup/popup.js +43 -18
  37. package/2x/cjs/components/progress-bar/progress-bar.css +17 -3
  38. package/2x/cjs/components/progress-bar/progress-bar.d.ts +4 -2
  39. package/2x/cjs/components/progress-bar/progress-bar.js +27 -5
  40. package/2x/cjs/components/slider/slider.js +2 -1
  41. package/2x/cjs/components/slider/thumb.d.ts +2 -1
  42. package/2x/cjs/components/slider/thumb.js +13 -1
  43. package/2x/cjs/components/stepper/stepper.js +14 -3
  44. package/2x/cjs/components/steps/steps.css +1 -1
  45. package/2x/cjs/locales/base.d.ts +7 -0
  46. package/2x/cjs/locales/base.js +7 -0
  47. package/2x/cjs/locales/en-US.d.ts +7 -0
  48. package/2x/cjs/locales/es-ES.d.ts +7 -0
  49. package/2x/cjs/locales/fa-IR.d.ts +7 -0
  50. package/2x/cjs/locales/fr-FR.d.ts +7 -0
  51. package/2x/cjs/locales/id-ID.d.ts +118 -0
  52. package/2x/cjs/locales/id-ID.js +121 -0
  53. package/2x/cjs/locales/kk-KZ.d.ts +118 -0
  54. package/2x/cjs/locales/kk-KZ.js +124 -0
  55. package/2x/cjs/locales/ko-KR.d.ts +7 -0
  56. package/2x/cjs/locales/zh-CN.d.ts +7 -0
  57. package/2x/cjs/locales/zh-CN.js +7 -0
  58. package/2x/cjs/locales/zh-HK.d.ts +7 -0
  59. package/2x/cjs/locales/zh-TW.d.ts +7 -0
  60. package/2x/es/components/action-sheet/action-sheet.d.ts +2 -4
  61. package/2x/es/components/action-sheet/action-sheet.js +6 -2
  62. package/2x/es/components/cascader/cascader.d.ts +29 -4
  63. package/2x/es/components/cascader/cascader.js +42 -18
  64. package/2x/es/components/cascader/index.d.ts +21 -2
  65. package/2x/es/components/center-popup/center-popup.css +11 -0
  66. package/2x/es/components/center-popup/center-popup.d.ts +3 -20
  67. package/2x/es/components/center-popup/center-popup.js +22 -13
  68. package/2x/es/components/date-picker/date-picker.d.ts +2 -2
  69. package/2x/es/components/date-picker/date-picker.js +3 -1
  70. package/2x/es/components/date-picker/index.d.ts +1 -1
  71. package/2x/es/components/input/input.css +4 -0
  72. package/2x/es/components/input/input.d.ts +7 -4
  73. package/2x/es/components/input/input.js +5 -1
  74. package/2x/es/components/list/index.d.ts +10 -2
  75. package/2x/es/components/list/list.d.ts +13 -2
  76. package/2x/es/components/list/list.js +12 -4
  77. package/2x/es/components/modal/modal-action-button.d.ts +2 -2
  78. package/2x/es/components/modal/modal.css +0 -9
  79. package/2x/es/components/modal/modal.js +4 -10
  80. package/2x/es/components/number-keyboard/number-keyboard.d.ts +1 -5
  81. package/2x/es/components/number-keyboard/number-keyboard.js +13 -7
  82. package/2x/es/components/picker/index.d.ts +2 -6
  83. package/2x/es/components/picker/picker.d.ts +2 -6
  84. package/2x/es/components/picker/picker.js +8 -6
  85. package/2x/es/components/picker-view/picker-view.css +1 -0
  86. package/2x/es/components/picker-view/wheel.js +10 -8
  87. package/2x/es/components/popup/popup-base-props.d.ts +35 -0
  88. package/2x/es/components/popup/popup-base-props.js +11 -0
  89. package/2x/es/components/popup/popup.css +32 -0
  90. package/2x/es/components/popup/popup.d.ts +3 -19
  91. package/2x/es/components/popup/popup.js +41 -19
  92. package/2x/es/components/progress-bar/progress-bar.css +17 -3
  93. package/2x/es/components/progress-bar/progress-bar.d.ts +4 -2
  94. package/2x/es/components/progress-bar/progress-bar.js +25 -5
  95. package/2x/es/components/slider/slider.js +2 -1
  96. package/2x/es/components/slider/thumb.d.ts +2 -1
  97. package/2x/es/components/slider/thumb.js +12 -1
  98. package/2x/es/components/stepper/stepper.js +13 -3
  99. package/2x/es/components/steps/steps.css +1 -1
  100. package/2x/es/locales/base.d.ts +7 -0
  101. package/2x/es/locales/base.js +7 -0
  102. package/2x/es/locales/en-US.d.ts +7 -0
  103. package/2x/es/locales/es-ES.d.ts +7 -0
  104. package/2x/es/locales/fa-IR.d.ts +7 -0
  105. package/2x/es/locales/fr-FR.d.ts +7 -0
  106. package/2x/es/locales/id-ID.d.ts +118 -0
  107. package/2x/es/locales/id-ID.js +111 -0
  108. package/2x/es/locales/kk-KZ.d.ts +118 -0
  109. package/2x/es/locales/kk-KZ.js +114 -0
  110. package/2x/es/locales/ko-KR.d.ts +7 -0
  111. package/2x/es/locales/zh-CN.d.ts +7 -0
  112. package/2x/es/locales/zh-CN.js +7 -0
  113. package/2x/es/locales/zh-HK.d.ts +7 -0
  114. package/2x/es/locales/zh-TW.d.ts +7 -0
  115. package/2x/package.json +1 -1
  116. package/2x/umd/antd-mobile.js +1 -1
  117. package/README.md +30 -16
  118. package/bundle/antd-mobile.cjs.js +322 -193
  119. package/bundle/antd-mobile.es.js +323 -194
  120. package/bundle/style.css +56 -12
  121. package/cjs/components/action-sheet/action-sheet.d.ts +2 -4
  122. package/cjs/components/action-sheet/action-sheet.js +6 -2
  123. package/cjs/components/cascader/cascader.d.ts +29 -4
  124. package/cjs/components/cascader/cascader.js +41 -19
  125. package/cjs/components/cascader/index.d.ts +21 -2
  126. package/cjs/components/center-popup/center-popup.css +10 -0
  127. package/cjs/components/center-popup/center-popup.d.ts +3 -20
  128. package/cjs/components/center-popup/center-popup.js +24 -13
  129. package/cjs/components/date-picker/date-picker.d.ts +2 -2
  130. package/cjs/components/date-picker/date-picker.js +3 -1
  131. package/cjs/components/date-picker/index.d.ts +1 -1
  132. package/cjs/components/input/input.css +3 -0
  133. package/cjs/components/input/input.d.ts +7 -4
  134. package/cjs/components/input/input.js +5 -1
  135. package/cjs/components/list/index.d.ts +10 -2
  136. package/cjs/components/list/list.d.ts +13 -2
  137. package/cjs/components/list/list.js +16 -6
  138. package/cjs/components/modal/modal-action-button.d.ts +2 -2
  139. package/cjs/components/modal/modal.css +0 -8
  140. package/cjs/components/modal/modal.js +4 -11
  141. package/cjs/components/number-keyboard/number-keyboard.d.ts +1 -5
  142. package/cjs/components/number-keyboard/number-keyboard.js +13 -7
  143. package/cjs/components/picker/index.d.ts +2 -6
  144. package/cjs/components/picker/picker.d.ts +2 -6
  145. package/cjs/components/picker/picker.js +8 -7
  146. package/cjs/components/picker-view/picker-view.css +1 -0
  147. package/cjs/components/picker-view/wheel.js +10 -8
  148. package/cjs/components/popup/popup-base-props.d.ts +35 -0
  149. package/cjs/components/popup/popup-base-props.js +18 -0
  150. package/cjs/components/popup/popup.css +26 -0
  151. package/cjs/components/popup/popup.d.ts +3 -19
  152. package/cjs/components/popup/popup.js +43 -18
  153. package/cjs/components/progress-bar/progress-bar.css +15 -3
  154. package/cjs/components/progress-bar/progress-bar.d.ts +4 -2
  155. package/cjs/components/progress-bar/progress-bar.js +27 -5
  156. package/cjs/components/slider/slider.js +2 -1
  157. package/cjs/components/slider/thumb.d.ts +2 -1
  158. package/cjs/components/slider/thumb.js +13 -1
  159. package/cjs/components/stepper/stepper.js +14 -3
  160. package/cjs/components/steps/steps.css +1 -1
  161. package/cjs/locales/base.d.ts +7 -0
  162. package/cjs/locales/base.js +7 -0
  163. package/cjs/locales/en-US.d.ts +7 -0
  164. package/cjs/locales/es-ES.d.ts +7 -0
  165. package/cjs/locales/fa-IR.d.ts +7 -0
  166. package/cjs/locales/fr-FR.d.ts +7 -0
  167. package/cjs/locales/id-ID.d.ts +118 -0
  168. package/cjs/locales/id-ID.js +121 -0
  169. package/cjs/locales/kk-KZ.d.ts +118 -0
  170. package/cjs/locales/kk-KZ.js +124 -0
  171. package/cjs/locales/ko-KR.d.ts +7 -0
  172. package/cjs/locales/zh-CN.d.ts +7 -0
  173. package/cjs/locales/zh-CN.js +7 -0
  174. package/cjs/locales/zh-HK.d.ts +7 -0
  175. package/cjs/locales/zh-TW.d.ts +7 -0
  176. package/es/components/action-sheet/action-sheet.d.ts +2 -4
  177. package/es/components/action-sheet/action-sheet.js +6 -2
  178. package/es/components/cascader/cascader.d.ts +29 -4
  179. package/es/components/cascader/cascader.js +42 -18
  180. package/es/components/cascader/index.d.ts +21 -2
  181. package/es/components/center-popup/center-popup.css +10 -0
  182. package/es/components/center-popup/center-popup.d.ts +3 -20
  183. package/es/components/center-popup/center-popup.js +22 -13
  184. package/es/components/date-picker/date-picker.d.ts +2 -2
  185. package/es/components/date-picker/date-picker.js +3 -1
  186. package/es/components/date-picker/index.d.ts +1 -1
  187. package/es/components/input/input.css +3 -0
  188. package/es/components/input/input.d.ts +7 -4
  189. package/es/components/input/input.js +5 -1
  190. package/es/components/list/index.d.ts +10 -2
  191. package/es/components/list/list.d.ts +13 -2
  192. package/es/components/list/list.js +12 -4
  193. package/es/components/modal/modal-action-button.d.ts +2 -2
  194. package/es/components/modal/modal.css +0 -8
  195. package/es/components/modal/modal.js +4 -10
  196. package/es/components/number-keyboard/number-keyboard.d.ts +1 -5
  197. package/es/components/number-keyboard/number-keyboard.js +13 -7
  198. package/es/components/picker/index.d.ts +2 -6
  199. package/es/components/picker/picker.d.ts +2 -6
  200. package/es/components/picker/picker.js +8 -6
  201. package/es/components/picker-view/picker-view.css +1 -0
  202. package/es/components/picker-view/wheel.js +10 -8
  203. package/es/components/popup/popup-base-props.d.ts +35 -0
  204. package/es/components/popup/popup-base-props.js +11 -0
  205. package/es/components/popup/popup.css +26 -0
  206. package/es/components/popup/popup.d.ts +3 -19
  207. package/es/components/popup/popup.js +41 -19
  208. package/es/components/progress-bar/progress-bar.css +15 -3
  209. package/es/components/progress-bar/progress-bar.d.ts +4 -2
  210. package/es/components/progress-bar/progress-bar.js +25 -5
  211. package/es/components/slider/slider.js +2 -1
  212. package/es/components/slider/thumb.d.ts +2 -1
  213. package/es/components/slider/thumb.js +12 -1
  214. package/es/components/stepper/stepper.js +13 -3
  215. package/es/components/steps/steps.css +1 -1
  216. package/es/locales/base.d.ts +7 -0
  217. package/es/locales/base.js +7 -0
  218. package/es/locales/en-US.d.ts +7 -0
  219. package/es/locales/es-ES.d.ts +7 -0
  220. package/es/locales/fa-IR.d.ts +7 -0
  221. package/es/locales/fr-FR.d.ts +7 -0
  222. package/es/locales/id-ID.d.ts +118 -0
  223. package/es/locales/id-ID.js +111 -0
  224. package/es/locales/kk-KZ.d.ts +118 -0
  225. package/es/locales/kk-KZ.js +114 -0
  226. package/es/locales/ko-KR.d.ts +7 -0
  227. package/es/locales/zh-CN.d.ts +7 -0
  228. package/es/locales/zh-CN.js +7 -0
  229. package/es/locales/zh-HK.d.ts +7 -0
  230. package/es/locales/zh-TW.d.ts +7 -0
  231. package/package.json +1 -1
  232. package/umd/antd-mobile.js +1 -1
@@ -1,8 +1,19 @@
1
- import { FC, ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type ListProps = {
4
4
  header?: ReactNode;
5
5
  mode?: 'default' | 'card';
6
6
  children?: ReactNode;
7
7
  } & NativeProps<'--active-background-color' | '--align-items' | '--border-bottom' | '--border-inner' | '--border-top' | '--extra-max-width' | '--font-size' | '--header-font-size' | '--padding-left' | '--padding-right' | '--prefix-padding-right' | '--prefix-width'>;
8
- export declare const List: FC<ListProps>;
8
+ export declare type ListRef = {
9
+ nativeElement: HTMLDivElement | null;
10
+ };
11
+ export declare const List: React.ForwardRefExoticComponent<{
12
+ header?: ReactNode;
13
+ mode?: "default" | "card" | undefined;
14
+ children?: ReactNode;
15
+ } & {
16
+ className?: string | undefined;
17
+ style?: (React.CSSProperties & Partial<Record<"--active-background-color" | "--align-items" | "--border-bottom" | "--border-inner" | "--border-top" | "--extra-max-width" | "--font-size" | "--header-font-size" | "--padding-left" | "--padding-right" | "--prefix-padding-right" | "--prefix-width", string>>) | undefined;
18
+ tabIndex?: number | undefined;
19
+ } & React.AriaAttributes & React.RefAttributes<ListRef>>;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.List = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
 
@@ -15,15 +15,26 @@ var _withDefaultProps = require("../../utils/with-default-props");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
+ 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); }
19
+
20
+ 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; }
21
+
18
22
  const classPrefix = `adm-list`;
19
23
  const defaultProps = {
20
24
  mode: 'default'
21
25
  };
22
-
23
- const List = p => {
26
+ const List = (0, _react.forwardRef)((p, ref) => {
24
27
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
28
+ const nativeElementRef = (0, _react.useRef)(null);
29
+ (0, _react.useImperativeHandle)(ref, () => ({
30
+ get nativeElement() {
31
+ return nativeElementRef.current;
32
+ }
33
+
34
+ }));
25
35
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
26
- className: (0, _classnames.default)(classPrefix, `${classPrefix}-${props.mode}`)
36
+ className: (0, _classnames.default)(classPrefix, `${classPrefix}-${props.mode}`),
37
+ ref: nativeElementRef
27
38
  }, props.header && _react.default.createElement("div", {
28
39
  className: `${classPrefix}-header`
29
40
  }, props.header), _react.default.createElement("div", {
@@ -31,6 +42,5 @@ const List = p => {
31
42
  }, _react.default.createElement("div", {
32
43
  className: `${classPrefix}-body-inner`
33
44
  }, props.children))));
34
- };
35
-
45
+ });
36
46
  exports.List = List;
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type Action = {
4
4
  key: string | number;
5
- text: string;
5
+ text: ReactNode;
6
6
  disabled?: boolean;
7
7
  danger?: boolean;
8
8
  primary?: boolean;
@@ -58,15 +58,6 @@
58
58
  color: var(--adm-color-text);
59
59
  }
60
60
 
61
- .adm-modal-close {
62
- position: absolute;
63
- right: 16px;
64
- top: 16px;
65
- color: var(--adm-color-weak);
66
- padding: 8px;
67
- font-size: var(--adm-font-size-10);
68
- }
69
-
70
61
  .adm-modal-footer {
71
62
  user-select: none;
72
63
  padding: 16px 24px 24px;
@@ -21,8 +21,6 @@ var _space = _interopRequireDefault(require("../space"));
21
21
 
22
22
  var _autoCenter = _interopRequireDefault(require("../auto-center"));
23
23
 
24
- var _antdMobileIcons = require("antd-mobile-icons");
25
-
26
24
  var _centerPopup = _interopRequireDefault(require("../center-popup"));
27
25
 
28
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,10 +34,7 @@ const defaultProps = {
36
34
  const Modal = p => {
37
35
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
38
36
 
39
- const element = _react.default.createElement(_react.default.Fragment, null, props.showCloseButton && _react.default.createElement("a", {
40
- className: (0, _classnames.default)(cls('close'), 'adm-plain-anchor'),
41
- onClick: props.onClose
42
- }, _react.default.createElement(_antdMobileIcons.CloseOutline, null)), !!props.image && _react.default.createElement("div", {
37
+ const element = _react.default.createElement(_react.default.Fragment, null, !!props.image && _react.default.createElement("div", {
43
38
  className: cls('image-container')
44
39
  }, _react.default.createElement(_image.default, {
45
40
  src: props.image,
@@ -76,11 +71,9 @@ const Modal = p => {
76
71
  style: props.style,
77
72
  afterClose: props.afterClose,
78
73
  afterShow: props.afterShow,
79
- onMaskClick: props.closeOnMaskClick ? () => {
80
- var _a;
81
-
82
- (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
83
- } : undefined,
74
+ showCloseButton: props.showCloseButton,
75
+ closeOnMaskClick: props.closeOnMaskClick,
76
+ onClose: props.onClose,
84
77
  visible: props.visible,
85
78
  getContainer: props.getContainer,
86
79
  bodyStyle: props.bodyStyle,
@@ -1,11 +1,9 @@
1
1
  import React from 'react';
2
2
  import { PopupProps } from '../popup';
3
- import { GetContainer } from '../../utils/render-to-container';
4
3
  import { NativeProps } from '../../utils/native-props';
5
4
  export declare type NumberKeyboardProps = {
6
5
  visible?: boolean;
7
6
  title?: string;
8
- getContainer?: GetContainer;
9
7
  confirmText?: string | null;
10
8
  customKey?: '-' | '.' | 'X';
11
9
  randomOrder?: boolean;
@@ -14,9 +12,7 @@ export declare type NumberKeyboardProps = {
14
12
  onDelete?: () => void;
15
13
  onClose?: () => void;
16
14
  onConfirm?: () => void;
17
- afterShow?: () => void;
18
- afterClose?: () => void;
19
15
  closeOnConfirm?: boolean;
20
16
  safeArea?: boolean;
21
- } & Pick<PopupProps, 'stopPropagation'> & NativeProps;
17
+ } & Pick<PopupProps, 'afterClose' | 'afterShow' | 'getContainer' | 'destroyOnClose' | 'forceRender' | 'stopPropagation'> & NativeProps;
22
18
  export declare const NumberKeyboard: React.FC<NumberKeyboardProps>;
@@ -36,7 +36,9 @@ const defaultProps = {
36
36
  showCloseButton: true,
37
37
  confirmText: null,
38
38
  closeOnConfirm: true,
39
- safeArea: true
39
+ safeArea: true,
40
+ destroyOnClose: false,
41
+ forceRender: false
40
42
  };
41
43
 
42
44
  const NumberKeyboard = p => {
@@ -142,7 +144,11 @@ const NumberKeyboard = p => {
142
144
  'sign-key': !isNumberKey && key,
143
145
  'mid-key': index === 9 && !!confirmText
144
146
  });
145
- return _react.default.createElement("div", {
147
+ const ariaProps = key ? {
148
+ role: 'button',
149
+ title: key
150
+ } : undefined;
151
+ return _react.default.createElement("div", Object.assign({
146
152
  key: key,
147
153
  className: className,
148
154
  onTouchStart: () => {
@@ -156,10 +162,8 @@ const NumberKeyboard = p => {
156
162
  if (key === 'BACKSPACE') {
157
163
  onBackspacePressEnd();
158
164
  }
159
- },
160
- title: key,
161
- role: 'button'
162
- }, key === 'BACKSPACE' ? _react.default.createElement(_antdMobileIcons.TextDeletionOutline, null) : key);
165
+ }
166
+ }, ariaProps), key === 'BACKSPACE' ? _react.default.createElement(_antdMobileIcons.TextDeletionOutline, null) : key);
163
167
  };
164
168
 
165
169
  return _react.default.createElement(_popup.default, {
@@ -169,7 +173,9 @@ const NumberKeyboard = p => {
169
173
  afterClose: props.afterClose,
170
174
  afterShow: props.afterShow,
171
175
  className: `${classPrefix}-popup`,
172
- stopPropagation: props.stopPropagation
176
+ stopPropagation: props.stopPropagation,
177
+ destroyOnClose: props.destroyOnClose,
178
+ forceRender: props.forceRender
173
179
  }, (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
174
180
  ref: keyboardRef,
175
181
  className: classPrefix,
@@ -20,9 +20,7 @@ declare const _default: import("react").NamedExoticComponent<{
20
20
  mouseWheel?: boolean | undefined;
21
21
  popupClassName?: string | undefined;
22
22
  popupStyle?: import("react").CSSProperties | undefined;
23
- forceRender?: boolean | undefined;
24
- destroyOnClose?: boolean | undefined;
25
- } & Pick<import("../popup").PopupProps, "onClick" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
23
+ } & Pick<import("../popup").PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
26
24
  className?: string | undefined;
27
25
  style?: (import("react").CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
28
26
  tabIndex?: number | undefined;
@@ -45,9 +43,7 @@ declare const _default: import("react").NamedExoticComponent<{
45
43
  mouseWheel?: boolean | undefined;
46
44
  popupClassName?: string | undefined;
47
45
  popupStyle?: import("react").CSSProperties | undefined;
48
- forceRender?: boolean | undefined;
49
- destroyOnClose?: boolean | undefined;
50
- } & Pick<import("../popup").PopupProps, "onClick" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
46
+ } & Pick<import("../popup").PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
51
47
  className?: string | undefined;
52
48
  style?: (import("react").CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
53
49
  tabIndex?: number | undefined;
@@ -26,9 +26,7 @@ export declare type PickerProps = {
26
26
  mouseWheel?: boolean;
27
27
  popupClassName?: string;
28
28
  popupStyle?: React.CSSProperties;
29
- forceRender?: boolean;
30
- destroyOnClose?: boolean;
31
- } & Pick<PopupProps, 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'stopPropagation'> & NativeProps<'--header-button-font-size' | '--title-font-size' | '--item-font-size' | '--item-height'>;
29
+ } & Pick<PopupProps, 'getContainer' | 'afterShow' | 'afterClose' | 'onClick' | 'stopPropagation' | 'forceRender' | 'destroyOnClose'> & NativeProps<'--header-button-font-size' | '--title-font-size' | '--item-font-size' | '--item-height'>;
32
30
  export declare const Picker: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
33
31
  columns: PickerColumn[] | ((value: PickerValue[]) => PickerColumn[]);
34
32
  value?: PickerValue[] | undefined;
@@ -47,9 +45,7 @@ export declare const Picker: React.MemoExoticComponent<React.ForwardRefExoticCom
47
45
  mouseWheel?: boolean | undefined;
48
46
  popupClassName?: string | undefined;
49
47
  popupStyle?: React.CSSProperties | undefined;
50
- forceRender?: boolean | undefined;
51
- destroyOnClose?: boolean | undefined;
52
- } & Pick<PopupProps, "onClick" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
48
+ } & Pick<PopupProps, "onClick" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation"> & {
53
49
  className?: string | undefined;
54
50
  style?: (React.CSSProperties & Partial<Record<"--item-height" | "--header-button-font-size" | "--title-font-size" | "--item-font-size", string>>) | undefined;
55
51
  tabIndex?: number | undefined;
@@ -29,8 +29,6 @@ var _safeArea = _interopRequireDefault(require("../safe-area"));
29
29
 
30
30
  var _pickerUtils = require("./picker-utils");
31
31
 
32
- var _shouldRender = require("../../utils/should-render");
33
-
34
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
33
 
36
34
  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); }
@@ -41,7 +39,9 @@ const classPrefix = `adm-picker`;
41
39
  const defaultProps = {
42
40
  defaultValue: [],
43
41
  closeOnMaskClick: true,
44
- renderLabel: _pickerUtils.defaultRenderLabel
42
+ renderLabel: _pickerUtils.defaultRenderLabel,
43
+ destroyOnClose: false,
44
+ forceRender: false
45
45
  };
46
46
  const Picker = (0, _react.memo)((0, _react.forwardRef)((p, ref) => {
47
47
  var _a;
@@ -105,12 +105,12 @@ const Picker = (0, _react.memo)((0, _react.forwardRef)((p, ref) => {
105
105
  (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, val, ext);
106
106
  }
107
107
  });
108
- const shouldRender = (0, _shouldRender.useShouldRender)(visible, props.forceRender, props.destroyOnClose);
109
108
  const pickerElement = (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
110
109
  className: classPrefix
111
110
  }, _react.default.createElement("div", {
112
111
  className: `${classPrefix}-header`
113
112
  }, _react.default.createElement("a", {
113
+ role: 'button',
114
114
  className: `${classPrefix}-header-button`,
115
115
  onClick: () => {
116
116
  var _a;
@@ -121,6 +121,7 @@ const Picker = (0, _react.memo)((0, _react.forwardRef)((p, ref) => {
121
121
  }, props.cancelText), _react.default.createElement("div", {
122
122
  className: `${classPrefix}-header-title`
123
123
  }, props.title), _react.default.createElement("a", {
124
+ role: 'button',
124
125
  className: `${classPrefix}-header-button`,
125
126
  onClick: () => {
126
127
  setValue(innerValue);
@@ -149,13 +150,13 @@ const Picker = (0, _react.memo)((0, _react.forwardRef)((p, ref) => {
149
150
  setVisible(false);
150
151
  },
151
152
  getContainer: props.getContainer,
152
- destroyOnClose: true,
153
+ destroyOnClose: props.destroyOnClose,
153
154
  afterShow: props.afterShow,
154
155
  afterClose: props.afterClose,
155
156
  onClick: props.onClick,
156
- forceRender: true,
157
+ forceRender: props.forceRender,
157
158
  stopPropagation: props.stopPropagation
158
- }, shouldRender && pickerElement, _react.default.createElement(_safeArea.default, {
159
+ }, pickerElement, _react.default.createElement(_safeArea.default, {
159
160
  position: 'bottom'
160
161
  }));
161
162
 
@@ -69,6 +69,7 @@
69
69
  flex-direction: column;
70
70
  position: relative;
71
71
  z-index: 0;
72
+ padding-bottom: 2px;
72
73
  }
73
74
 
74
75
  .adm-picker-view-column-accessible > * {
@@ -154,27 +154,29 @@ const Wheel = (0, _react.memo)(props => {
154
154
  className: 'adm-picker-view-column-accessible-current',
155
155
  role: 'button',
156
156
  "aria-label": current ? `当前选择的是:${current.label}` : '当前未选择'
157
- }, "-"), _react.default.createElement("div", null, previous && _react.default.createElement("div", {
157
+ }, "-"), _react.default.createElement("div", {
158
158
  className: 'adm-picker-view-column-accessible-button',
159
159
  onClick: () => {
160
+ if (!previous) return;
160
161
  scrollSelect(previousIndex);
161
162
  },
162
- role: 'button',
163
- "aria-label": `选择上一项:${previous.label}`
164
- }, "-")), _react.default.createElement("div", null, next && _react.default.createElement("div", {
163
+ role: previous ? 'button' : 'text',
164
+ "aria-label": !previous ? '没有上一项' : `选择上一项:${previous.label}`
165
+ }, "-"), _react.default.createElement("div", {
165
166
  className: 'adm-picker-view-column-accessible-button',
166
167
  onClick: () => {
168
+ if (!next) return;
167
169
  scrollSelect(nextIndex);
168
170
  },
169
- role: 'button',
170
- "aria-label": `选择下一项:${next.label}`
171
- }, "-")));
171
+ role: next ? 'button' : 'text',
172
+ "aria-label": !next ? '没有下一项' : `选择下一项:${next.label}`
173
+ }, "-"));
172
174
  }
173
175
 
174
176
  return _react.default.createElement("div", {
175
- ref: rootRef,
176
177
  className: `${classPrefix}-column`
177
178
  }, _react.default.createElement(_web.animated.div, {
179
+ ref: rootRef,
178
180
  style: {
179
181
  translateY: y
180
182
  },
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { GetContainer } from '../../utils/render-to-container';
3
+ import { MaskProps } from '../mask';
4
+ import { PropagationEvent } from '../../utils/with-stop-propagation';
5
+ export declare type PopupBaseProps = {
6
+ afterClose?: () => void;
7
+ afterShow?: () => void;
8
+ bodyClassName?: string;
9
+ bodyStyle?: React.CSSProperties;
10
+ closeOnMaskClick?: boolean;
11
+ destroyOnClose?: boolean;
12
+ disableBodyScroll?: boolean;
13
+ forceRender?: boolean;
14
+ getContainer?: GetContainer;
15
+ mask?: boolean;
16
+ maskClassName?: string;
17
+ maskStyle?: MaskProps['style'];
18
+ onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
19
+ onClose?: () => void;
20
+ onMaskClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
21
+ showCloseButton?: boolean;
22
+ stopPropagation?: PropagationEvent[];
23
+ visible?: boolean;
24
+ };
25
+ export declare const defaultPopupBaseProps: {
26
+ closeOnMaskClick: boolean;
27
+ destroyOnClose: boolean;
28
+ disableBodyScroll: boolean;
29
+ forceRender: boolean;
30
+ getContainer: null;
31
+ mask: boolean;
32
+ showCloseButton: boolean;
33
+ stopPropagation: string[];
34
+ visible: boolean;
35
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultPopupBaseProps = void 0;
7
+ const defaultPopupBaseProps = {
8
+ closeOnMaskClick: false,
9
+ destroyOnClose: false,
10
+ disableBodyScroll: true,
11
+ forceRender: false,
12
+ getContainer: null,
13
+ mask: true,
14
+ showCloseButton: false,
15
+ stopPropagation: ['click'],
16
+ visible: false
17
+ };
18
+ exports.defaultPopupBaseProps = defaultPopupBaseProps;
@@ -10,26 +10,58 @@
10
10
  z-index: calc(var(--z-index) + 10);
11
11
  }
12
12
 
13
+ .adm-popup-body .adm-popup-close-icon {
14
+ position: absolute;
15
+ z-index: 100;
16
+ }
17
+
13
18
  .adm-popup-body-position-bottom {
14
19
  width: 100%;
15
20
  bottom: 0;
16
21
  left: 0;
17
22
  }
18
23
 
24
+ .adm-popup-body-position-bottom .adm-popup-close-icon {
25
+ right: 16px;
26
+ top: 16px;
27
+ }
28
+
19
29
  .adm-popup-body-position-top {
20
30
  width: 100%;
21
31
  top: 0;
22
32
  left: 0;
23
33
  }
24
34
 
35
+ .adm-popup-body-position-top .adm-popup-close-icon {
36
+ right: 16px;
37
+ bottom: 16px;
38
+ }
39
+
25
40
  .adm-popup-body-position-left {
26
41
  height: 100%;
27
42
  top: 0;
28
43
  left: 0;
29
44
  }
30
45
 
46
+ .adm-popup-body-position-left .adm-popup-close-icon {
47
+ right: 16px;
48
+ top: 16px;
49
+ }
50
+
31
51
  .adm-popup-body-position-right {
32
52
  height: 100%;
33
53
  top: 0;
34
54
  right: 0;
55
+ }
56
+
57
+ .adm-popup-body-position-right .adm-popup-close-icon {
58
+ left: 16px;
59
+ top: 16px;
60
+ }
61
+
62
+ .adm-popup-close-icon {
63
+ cursor: pointer;
64
+ padding: 8px;
65
+ font-size: 36px;
66
+ color: var(--adm-color-weak);
35
67
  }
@@ -1,23 +1,7 @@
1
- import React, { FC, PropsWithChildren } from 'react';
1
+ import { FC, PropsWithChildren } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
- import type { MaskProps } from '../mask';
4
- import { GetContainer } from '../../utils/render-to-container';
5
- import { PropagationEvent } from '../../utils/with-stop-propagation';
6
- export declare type PopupProps = PropsWithChildren<{
7
- afterClose?: () => void;
8
- afterShow?: () => void;
9
- bodyClassName?: string;
10
- bodyStyle?: React.CSSProperties;
11
- destroyOnClose?: boolean;
12
- forceRender?: boolean;
13
- getContainer?: GetContainer;
14
- mask?: boolean;
15
- maskClassName?: string;
16
- maskStyle?: MaskProps['style'];
17
- onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
18
- onMaskClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
3
+ import { PopupBaseProps } from './popup-base-props';
4
+ export declare type PopupProps = PopupBaseProps & PropsWithChildren<{
19
5
  position?: 'bottom' | 'top' | 'left' | 'right';
20
- stopPropagation?: PropagationEvent[];
21
- visible?: boolean;
22
6
  }> & NativeProps<'--z-index'>;
23
7
  export declare const Popup: FC<PopupProps>;
@@ -23,9 +23,15 @@ var _renderToContainer = require("../../utils/render-to-container");
23
23
 
24
24
  var _web = require("@react-spring/web");
25
25
 
26
+ var _withStopPropagation = require("../../utils/with-stop-propagation");
27
+
26
28
  var _shouldRender = require("../../utils/should-render");
27
29
 
28
- var _withStopPropagation = require("../../utils/with-stop-propagation");
30
+ var _antdMobileIcons = require("antd-mobile-icons");
31
+
32
+ var _popupBaseProps = require("./popup-base-props");
33
+
34
+ var _useInnerVisible = require("../../utils/use-inner-visible");
29
35
 
30
36
  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); }
31
37
 
@@ -34,21 +40,21 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
34
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
41
 
36
42
  const classPrefix = `adm-popup`;
37
- const defaultProps = {
38
- position: 'bottom',
39
- visible: false,
40
- getContainer: () => document.body,
41
- mask: true,
42
- stopPropagation: ['click']
43
- };
43
+ const defaultProps = Object.assign(Object.assign({}, _popupBaseProps.defaultPopupBaseProps), {
44
+ position: 'bottom'
45
+ });
44
46
 
45
47
  const Popup = p => {
46
48
  const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
47
49
  const bodyCls = (0, _classnames.default)(`${classPrefix}-body`, props.bodyClassName, `${classPrefix}-body-position-${props.position}`);
48
- const ref = (0, _react.useRef)(null);
49
50
  const [active, setActive] = (0, _react.useState)(props.visible);
50
- (0, _useLockScroll.useLockScroll)(ref, active);
51
- const shouldRender = (0, _shouldRender.useShouldRender)(active, props.forceRender, props.destroyOnClose);
51
+ (0, _ahooks.useIsomorphicLayoutEffect)(() => {
52
+ if (props.visible) {
53
+ setActive(true);
54
+ }
55
+ }, [props.visible]);
56
+ const ref = (0, _react.useRef)(null);
57
+ (0, _useLockScroll.useLockScroll)(ref, props.disableBodyScroll && active);
52
58
  const unmountedRef = (0, _ahooks.useUnmountedRef)();
53
59
  const {
54
60
  percent
@@ -60,9 +66,6 @@ const Popup = p => {
60
66
  tension: 300,
61
67
  friction: 30
62
68
  },
63
- onStart: () => {
64
- setActive(true);
65
- },
66
69
  onRest: () => {
67
70
  var _a, _b;
68
71
 
@@ -76,6 +79,7 @@ const Popup = p => {
76
79
  }
77
80
  }
78
81
  });
82
+ const maskVisible = (0, _useInnerVisible.useInnerVisible)(active && props.visible);
79
83
  const node = (0, _withStopPropagation.withStopPropagation)(props.stopPropagation, (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
80
84
  className: classPrefix,
81
85
  onClick: props.onClick,
@@ -83,8 +87,18 @@ const Popup = p => {
83
87
  display: active ? undefined : 'none'
84
88
  }
85
89
  }, props.mask && _react.default.createElement(_mask.default, {
86
- visible: props.visible,
87
- onMaskClick: props.onMaskClick,
90
+ visible: maskVisible,
91
+ forceRender: props.forceRender,
92
+ destroyOnClose: props.destroyOnClose,
93
+ onMaskClick: e => {
94
+ var _a, _b;
95
+
96
+ (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
97
+
98
+ if (props.closeOnMaskClick) {
99
+ (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);
100
+ }
101
+ },
88
102
  className: props.maskClassName,
89
103
  style: props.maskStyle,
90
104
  disableBodyScroll: false,
@@ -113,8 +127,19 @@ const Popup = p => {
113
127
  })
114
128
  }),
115
129
  ref: ref
116
- }, shouldRender && props.children))));
117
- return (0, _renderToContainer.renderToContainer)(props.getContainer, node);
130
+ }, props.showCloseButton && _react.default.createElement("a", {
131
+ className: (0, _classnames.default)(`${classPrefix}-close-icon`, 'adm-plain-anchor'),
132
+ onClick: () => {
133
+ var _a;
134
+
135
+ (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
136
+ }
137
+ }, _react.default.createElement(_antdMobileIcons.CloseOutline, null)), props.children))));
138
+ return _react.default.createElement(_shouldRender.ShouldRender, {
139
+ active: active,
140
+ forceRender: props.forceRender,
141
+ destroyOnClose: props.destroyOnClose
142
+ }, (0, _renderToContainer.renderToContainer)(props.getContainer, node));
118
143
  };
119
144
 
120
145
  exports.Popup = Popup;
@@ -1,19 +1,33 @@
1
1
  .adm-progress-bar {
2
- --track-width: var(--adm-progress-bar-track-width, 6px);
2
+ --track-width: var(--adm-progress-bar-track-width, 16px);
3
3
  --track-color: var(--adm-progress-bar-track-color, #e5e5e5);
4
4
  --fill-color: var(--adm-progress-bar-fill-color, var(--adm-color-primary));
5
+ --text-width: var(--adm-progress-bar-text-width, 80px);
6
+ display: flex;
7
+ align-items: center;
5
8
  }
6
9
 
7
10
  .adm-progress-bar-trail {
11
+ flex: auto;
8
12
  background: var(--track-color);
9
13
  overflow: hidden;
10
14
  height: var(--track-width);
11
- border-radius: var(--track-width);
12
15
  }
13
16
 
14
17
  .adm-progress-bar-fill {
15
18
  transition: width 0.3s;
16
19
  background: var(--fill-color);
17
- height: 100%;
20
+ height: var(--track-width);
21
+ }
22
+
23
+ .adm-progress-bar-text {
24
+ flex: none;
25
+ width: calc(var(--text-width) + 16px);
26
+ padding-left: 16px;
27
+ color: #999999;
28
+ }
29
+
30
+ .adm-progress-bar-rounded .adm-progress-bar-trail,
31
+ .adm-progress-bar-rounded .adm-progress-bar-fill {
18
32
  border-radius: var(--track-width);
19
33
  }
@@ -1,6 +1,8 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type ProgressBarProps = {
4
4
  percent?: number;
5
- } & NativeProps<'--track-width' | '--track-color' | '--fill-color'>;
5
+ rounded?: boolean;
6
+ text?: boolean | ReactNode | ((percent: number) => ReactNode);
7
+ } & NativeProps<'--track-width' | '--track-color' | '--fill-color' | '--text-width'>;
6
8
  export declare const ProgressBar: FC<ProgressBarProps>;