antd-mobile 5.36.1 → 5.37.1

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 (224) hide show
  1. package/2x/bundle/antd-mobile.cjs.development.js +1260 -1138
  2. package/2x/bundle/antd-mobile.cjs.js +7 -7
  3. package/2x/bundle/antd-mobile.es.development.js +1260 -1138
  4. package/2x/bundle/antd-mobile.es.js +6853 -6777
  5. package/2x/bundle/antd-mobile.umd.development.js +1260 -1138
  6. package/2x/bundle/antd-mobile.umd.js +7 -7
  7. package/2x/bundle/style.css +50 -53
  8. package/2x/cjs/components/calendar-picker/calendar-picker.js +12 -6
  9. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +3 -0
  10. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.js +41 -19
  11. package/2x/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  12. package/2x/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
  13. package/2x/cjs/components/card/card.css +5 -5
  14. package/2x/cjs/components/card/card.patch.css +21 -0
  15. package/2x/cjs/components/center-popup/center-popup.js +46 -43
  16. package/2x/cjs/components/check-list/check-list.js +15 -11
  17. package/2x/cjs/components/collapse/collapse.d.ts +9 -1
  18. package/2x/cjs/components/collapse/collapse.js +26 -28
  19. package/2x/cjs/components/config-provider/config-provider.d.ts +40 -2
  20. package/2x/cjs/components/dropdown/context.d.ts +2 -0
  21. package/2x/cjs/components/dropdown/context.js +10 -0
  22. package/2x/cjs/components/dropdown/dropdown.d.ts +11 -3
  23. package/2x/cjs/components/dropdown/dropdown.js +23 -16
  24. package/2x/cjs/components/dropdown/index.d.ts +1 -0
  25. package/2x/cjs/components/dropdown/item.d.ts +5 -1
  26. package/2x/cjs/components/dropdown/item.js +22 -8
  27. package/2x/cjs/components/form/form-item.d.ts +6 -5
  28. package/2x/cjs/components/form/form-item.js +25 -17
  29. package/2x/cjs/components/form/form.d.ts +1 -1
  30. package/2x/cjs/components/form/index.d.ts +1 -1
  31. package/2x/cjs/components/input/input.d.ts +3 -1
  32. package/2x/cjs/components/input/input.js +53 -51
  33. package/2x/cjs/components/list/list-item.d.ts +6 -2
  34. package/2x/cjs/components/list/list-item.js +16 -6
  35. package/2x/cjs/components/nav-bar/nav-bar.d.ts +4 -0
  36. package/2x/cjs/components/nav-bar/nav-bar.js +20 -15
  37. package/2x/cjs/components/notice-bar/notice-bar.css +0 -3
  38. package/2x/cjs/components/notice-bar/notice-bar.d.ts +3 -1
  39. package/2x/cjs/components/notice-bar/notice-bar.js +30 -25
  40. package/2x/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
  41. package/2x/cjs/components/number-keyboard/number-keyboard.js +14 -13
  42. package/2x/cjs/components/popup/popup-base-props.d.ts +3 -2
  43. package/2x/cjs/components/popup/popup-base-props.js +4 -0
  44. package/2x/cjs/components/popup/popup.js +5 -5
  45. package/2x/cjs/components/result/result.js +3 -10
  46. package/2x/cjs/components/result/use-result-icon.d.ts +3 -0
  47. package/2x/cjs/components/result/use-result-icon.js +37 -0
  48. package/2x/cjs/components/result-page/result-page.js +3 -10
  49. package/2x/cjs/components/search-bar/search-bar.d.ts +10 -2
  50. package/2x/cjs/components/search-bar/search-bar.js +34 -33
  51. package/2x/cjs/components/toast/toast.d.ts +2 -2
  52. package/2x/cjs/components/toast/toast.js +4 -4
  53. package/2x/cjs/components/virtual-input/virtual-input.d.ts +5 -5
  54. package/2x/cjs/components/virtual-input/virtual-input.js +26 -24
  55. package/2x/cjs/utils/is-node-with-content.d.ts +3 -0
  56. package/2x/cjs/utils/is-node-with-content.js +3 -0
  57. package/2x/cjs/utils/with-default-props.d.ts +7 -0
  58. package/2x/cjs/utils/with-default-props.js +21 -5
  59. package/2x/es/components/calendar-picker/calendar-picker.js +11 -5
  60. package/2x/es/components/calendar-picker-view/calendar-picker-view.d.ts +3 -0
  61. package/2x/es/components/calendar-picker-view/calendar-picker-view.js +40 -19
  62. package/2x/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  63. package/2x/es/components/calendar-picker-view/useSyncScroll.js +33 -0
  64. package/2x/es/components/card/card.css +5 -5
  65. package/2x/es/components/card/card.patch.css +21 -0
  66. package/2x/es/components/center-popup/center-popup.js +45 -42
  67. package/2x/es/components/check-list/check-list.js +15 -11
  68. package/2x/es/components/collapse/collapse.d.ts +9 -1
  69. package/2x/es/components/collapse/collapse.js +26 -28
  70. package/2x/es/components/config-provider/config-provider.d.ts +40 -2
  71. package/2x/es/components/dropdown/context.d.ts +2 -0
  72. package/2x/es/components/dropdown/context.js +2 -0
  73. package/2x/es/components/dropdown/dropdown.d.ts +11 -3
  74. package/2x/es/components/dropdown/dropdown.js +24 -17
  75. package/2x/es/components/dropdown/index.d.ts +1 -0
  76. package/2x/es/components/dropdown/item.d.ts +5 -1
  77. package/2x/es/components/dropdown/item.js +22 -8
  78. package/2x/es/components/form/form-item.d.ts +6 -5
  79. package/2x/es/components/form/form-item.js +24 -16
  80. package/2x/es/components/form/form.d.ts +1 -1
  81. package/2x/es/components/form/index.d.ts +1 -1
  82. package/2x/es/components/input/input.d.ts +3 -1
  83. package/2x/es/components/input/input.js +52 -50
  84. package/2x/es/components/list/list-item.d.ts +6 -2
  85. package/2x/es/components/list/list-item.js +16 -6
  86. package/2x/es/components/nav-bar/nav-bar.d.ts +4 -0
  87. package/2x/es/components/nav-bar/nav-bar.js +21 -16
  88. package/2x/es/components/notice-bar/notice-bar.css +0 -3
  89. package/2x/es/components/notice-bar/notice-bar.d.ts +3 -1
  90. package/2x/es/components/notice-bar/notice-bar.js +29 -24
  91. package/2x/es/components/number-keyboard/number-keyboard.d.ts +1 -1
  92. package/2x/es/components/number-keyboard/number-keyboard.js +13 -12
  93. package/2x/es/components/popup/popup-base-props.d.ts +3 -2
  94. package/2x/es/components/popup/popup-base-props.js +3 -0
  95. package/2x/es/components/popup/popup.js +5 -5
  96. package/2x/es/components/result/result.js +3 -10
  97. package/2x/es/components/result/use-result-icon.d.ts +3 -0
  98. package/2x/es/components/result/use-result-icon.js +29 -0
  99. package/2x/es/components/result-page/result-page.js +3 -10
  100. package/2x/es/components/search-bar/search-bar.d.ts +10 -2
  101. package/2x/es/components/search-bar/search-bar.js +33 -32
  102. package/2x/es/components/toast/toast.d.ts +2 -2
  103. package/2x/es/components/toast/toast.js +3 -3
  104. package/2x/es/components/virtual-input/virtual-input.d.ts +5 -5
  105. package/2x/es/components/virtual-input/virtual-input.js +25 -23
  106. package/2x/es/utils/is-node-with-content.d.ts +3 -0
  107. package/2x/es/utils/is-node-with-content.js +3 -0
  108. package/2x/es/utils/with-default-props.d.ts +7 -0
  109. package/2x/es/utils/with-default-props.js +20 -5
  110. package/2x/package.json +1 -1
  111. package/bundle/antd-mobile.cjs.development.js +1260 -1138
  112. package/bundle/antd-mobile.cjs.js +7 -7
  113. package/bundle/antd-mobile.compatible.umd.js +1 -1
  114. package/bundle/antd-mobile.es.development.js +1260 -1138
  115. package/bundle/antd-mobile.es.js +6853 -6777
  116. package/bundle/antd-mobile.umd.development.js +1260 -1138
  117. package/bundle/antd-mobile.umd.js +7 -7
  118. package/bundle/style.css +1 -1
  119. package/cjs/components/calendar-picker/calendar-picker.js +12 -6
  120. package/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +3 -0
  121. package/cjs/components/calendar-picker-view/calendar-picker-view.js +41 -19
  122. package/cjs/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  123. package/cjs/components/calendar-picker-view/useSyncScroll.js +39 -0
  124. package/cjs/components/card/card.css +5 -5
  125. package/cjs/components/card/card.patch.css +17 -0
  126. package/cjs/components/center-popup/center-popup.js +46 -43
  127. package/cjs/components/check-list/check-list.js +15 -11
  128. package/cjs/components/collapse/collapse.d.ts +9 -1
  129. package/cjs/components/collapse/collapse.js +26 -28
  130. package/cjs/components/config-provider/config-provider.d.ts +40 -2
  131. package/cjs/components/dropdown/context.d.ts +2 -0
  132. package/cjs/components/dropdown/context.js +10 -0
  133. package/cjs/components/dropdown/dropdown.d.ts +11 -3
  134. package/cjs/components/dropdown/dropdown.js +23 -16
  135. package/cjs/components/dropdown/index.d.ts +1 -0
  136. package/cjs/components/dropdown/item.d.ts +5 -1
  137. package/cjs/components/dropdown/item.js +22 -8
  138. package/cjs/components/form/form-item.d.ts +6 -5
  139. package/cjs/components/form/form-item.js +25 -17
  140. package/cjs/components/form/form.d.ts +1 -1
  141. package/cjs/components/form/index.d.ts +1 -1
  142. package/cjs/components/input/input.d.ts +3 -1
  143. package/cjs/components/input/input.js +53 -51
  144. package/cjs/components/list/list-item.d.ts +6 -2
  145. package/cjs/components/list/list-item.js +16 -6
  146. package/cjs/components/nav-bar/nav-bar.d.ts +4 -0
  147. package/cjs/components/nav-bar/nav-bar.js +20 -15
  148. package/cjs/components/notice-bar/notice-bar.css +0 -2
  149. package/cjs/components/notice-bar/notice-bar.d.ts +3 -1
  150. package/cjs/components/notice-bar/notice-bar.js +30 -25
  151. package/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
  152. package/cjs/components/number-keyboard/number-keyboard.js +14 -13
  153. package/cjs/components/popup/popup-base-props.d.ts +3 -2
  154. package/cjs/components/popup/popup-base-props.js +4 -0
  155. package/cjs/components/popup/popup.js +5 -5
  156. package/cjs/components/result/result.js +3 -10
  157. package/cjs/components/result/use-result-icon.d.ts +3 -0
  158. package/cjs/components/result/use-result-icon.js +37 -0
  159. package/cjs/components/result-page/result-page.js +3 -10
  160. package/cjs/components/search-bar/search-bar.d.ts +10 -2
  161. package/cjs/components/search-bar/search-bar.js +34 -33
  162. package/cjs/components/toast/toast.css +1 -1
  163. package/cjs/components/toast/toast.d.ts +2 -2
  164. package/cjs/components/toast/toast.js +4 -4
  165. package/cjs/components/virtual-input/virtual-input.d.ts +5 -5
  166. package/cjs/components/virtual-input/virtual-input.js +26 -24
  167. package/cjs/utils/is-node-with-content.d.ts +3 -0
  168. package/cjs/utils/is-node-with-content.js +3 -0
  169. package/cjs/utils/with-default-props.d.ts +7 -0
  170. package/cjs/utils/with-default-props.js +21 -5
  171. package/es/components/calendar-picker/calendar-picker.js +11 -5
  172. package/es/components/calendar-picker-view/calendar-picker-view.d.ts +3 -0
  173. package/es/components/calendar-picker-view/calendar-picker-view.js +40 -19
  174. package/es/components/calendar-picker-view/useSyncScroll.d.ts +2 -0
  175. package/es/components/calendar-picker-view/useSyncScroll.js +33 -0
  176. package/es/components/card/card.css +5 -5
  177. package/es/components/card/card.patch.css +17 -0
  178. package/es/components/center-popup/center-popup.js +45 -42
  179. package/es/components/check-list/check-list.js +15 -11
  180. package/es/components/collapse/collapse.d.ts +9 -1
  181. package/es/components/collapse/collapse.js +26 -28
  182. package/es/components/config-provider/config-provider.d.ts +40 -2
  183. package/es/components/dropdown/context.d.ts +2 -0
  184. package/es/components/dropdown/context.js +2 -0
  185. package/es/components/dropdown/dropdown.d.ts +11 -3
  186. package/es/components/dropdown/dropdown.js +24 -17
  187. package/es/components/dropdown/index.d.ts +1 -0
  188. package/es/components/dropdown/item.d.ts +5 -1
  189. package/es/components/dropdown/item.js +22 -8
  190. package/es/components/form/form-item.d.ts +6 -5
  191. package/es/components/form/form-item.js +24 -16
  192. package/es/components/form/form.d.ts +1 -1
  193. package/es/components/form/index.d.ts +1 -1
  194. package/es/components/input/input.d.ts +3 -1
  195. package/es/components/input/input.js +52 -50
  196. package/es/components/list/list-item.d.ts +6 -2
  197. package/es/components/list/list-item.js +16 -6
  198. package/es/components/nav-bar/nav-bar.d.ts +4 -0
  199. package/es/components/nav-bar/nav-bar.js +21 -16
  200. package/es/components/notice-bar/notice-bar.css +0 -2
  201. package/es/components/notice-bar/notice-bar.d.ts +3 -1
  202. package/es/components/notice-bar/notice-bar.js +29 -24
  203. package/es/components/number-keyboard/number-keyboard.d.ts +1 -1
  204. package/es/components/number-keyboard/number-keyboard.js +13 -12
  205. package/es/components/popup/popup-base-props.d.ts +3 -2
  206. package/es/components/popup/popup-base-props.js +3 -0
  207. package/es/components/popup/popup.js +5 -5
  208. package/es/components/result/result.js +3 -10
  209. package/es/components/result/use-result-icon.d.ts +3 -0
  210. package/es/components/result/use-result-icon.js +29 -0
  211. package/es/components/result-page/result-page.js +3 -10
  212. package/es/components/search-bar/search-bar.d.ts +10 -2
  213. package/es/components/search-bar/search-bar.js +33 -32
  214. package/es/components/toast/toast.css +1 -1
  215. package/es/components/toast/toast.d.ts +2 -2
  216. package/es/components/toast/toast.js +3 -3
  217. package/es/components/virtual-input/virtual-input.d.ts +5 -5
  218. package/es/components/virtual-input/virtual-input.js +25 -23
  219. package/es/utils/is-node-with-content.d.ts +3 -0
  220. package/es/utils/is-node-with-content.js +3 -0
  221. package/es/utils/with-default-props.d.ts +7 -0
  222. package/es/utils/with-default-props.js +20 -5
  223. package/package.json +1 -1
  224. package/umd/antd-mobile.js +1 -1
@@ -1,14 +1,52 @@
1
- import type { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import { Locale } from '../../locales/base';
3
3
  declare type Config = {
4
4
  locale: Locale;
5
+ checkList?: {
6
+ activeIcon?: ReactNode;
7
+ };
8
+ collapse?: {
9
+ arrowIcon?: ReactNode | ((active: boolean) => ReactNode);
10
+ };
11
+ dropdown?: {
12
+ arrowIcon?: ReactNode;
13
+ };
14
+ form?: {
15
+ helpIcon?: ReactNode;
16
+ };
17
+ input?: {
18
+ clearIcon?: ReactNode;
19
+ };
20
+ list?: {
21
+ arrowIcon?: ReactNode;
22
+ };
23
+ navBar?: {
24
+ backIcon?: ReactNode;
25
+ };
26
+ noticeBar?: {
27
+ icon?: ReactNode;
28
+ closeIcon?: ReactNode;
29
+ };
30
+ popup?: {
31
+ closeIcon?: ReactNode;
32
+ };
33
+ result?: {
34
+ successIcon?: ReactNode;
35
+ errorIcon?: ReactNode;
36
+ infoIcon?: ReactNode;
37
+ waitingIcon?: ReactNode;
38
+ warningIcon?: ReactNode;
39
+ };
40
+ searchBar?: {
41
+ searchIcon?: ReactNode;
42
+ };
5
43
  };
6
44
  export declare const defaultConfigRef: {
7
45
  current: Config;
8
46
  };
9
47
  export declare function setDefaultConfig(config: Config): void;
10
48
  export declare function getDefaultConfig(): Config;
11
- export declare type ConfigProviderProps = Config & {
49
+ export declare type ConfigProviderProps = Partial<Config> & {
12
50
  children?: ReactNode;
13
51
  };
14
52
  export declare const ConfigProvider: FC<ConfigProviderProps>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const IconContext: React.Context<React.ReactNode>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IconContext = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const IconContext = _react.default.createContext(null);
10
+ exports.IconContext = IconContext;
@@ -1,13 +1,17 @@
1
- import React from 'react';
2
1
  import type { ReactNode } from 'react';
3
- import { PopupProps } from '../popup';
2
+ import React from 'react';
4
3
  import { NativeProps } from '../../utils/native-props';
4
+ import { PopupProps } from '../popup';
5
5
  export declare type DropdownProps = {
6
6
  activeKey?: string | null;
7
7
  defaultActiveKey?: string | null;
8
8
  closeOnMaskClick?: boolean;
9
9
  closeOnClickAway?: boolean;
10
10
  onChange?: (key: string | null) => void;
11
+ arrowIcon?: ReactNode;
12
+ /**
13
+ * @deprecated use `arrowIcon` instead
14
+ */
11
15
  arrow?: ReactNode;
12
16
  getContainer?: PopupProps['getContainer'];
13
17
  } & NativeProps;
@@ -20,6 +24,10 @@ declare const Dropdown: React.ForwardRefExoticComponent<{
20
24
  closeOnMaskClick?: boolean | undefined;
21
25
  closeOnClickAway?: boolean | undefined;
22
26
  onChange?: ((key: string | null) => void) | undefined;
27
+ arrowIcon?: ReactNode;
28
+ /**
29
+ * @deprecated use `arrowIcon` instead
30
+ */
23
31
  arrow?: ReactNode;
24
32
  getContainer?: PopupProps['getContainer'];
25
33
  } & {
@@ -27,6 +35,6 @@ declare const Dropdown: React.ForwardRefExoticComponent<{
27
35
  style?: (React.CSSProperties & Partial<Record<never, string>>) | undefined;
28
36
  tabIndex?: number | undefined;
29
37
  } & React.AriaAttributes & {
30
- children?: React.ReactNode;
38
+ children?: ReactNode;
31
39
  } & React.RefAttributes<DropdownRef>>;
32
40
  export default Dropdown;
@@ -7,12 +7,14 @@ exports.default = void 0;
7
7
  var _ahooks = require("ahooks");
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _popup = _interopRequireDefault(require("../popup"));
11
- var _item = require("./item");
12
10
  var _nativeProps = require("../../utils/native-props");
13
- var _withDefaultProps = require("../../utils/with-default-props");
14
11
  var _usePropsValue = require("../../utils/use-props-value");
12
+ var _withDefaultProps = require("../../utils/with-default-props");
13
+ var _configProvider = require("../config-provider");
14
+ var _popup = _interopRequireDefault(require("../popup"));
15
15
  var _popupBaseProps = require("../popup/popup-base-props");
16
+ var _context = require("./context");
17
+ var _item = require("./item");
16
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); }
17
19
  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; }
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -23,18 +25,22 @@ const defaultProps = {
23
25
  closeOnClickAway: false,
24
26
  getContainer: _popupBaseProps.defaultPopupBaseProps['getContainer']
25
27
  };
26
- const Dropdown = (0, _react.forwardRef)((p, ref) => {
27
- const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
28
+ const Dropdown = (0, _react.forwardRef)((props, ref) => {
29
+ const {
30
+ dropdown: componentConfig = {}
31
+ } = (0, _configProvider.useConfig)();
32
+ const mergedProps = (0, _withDefaultProps.mergeProps)(defaultProps, componentConfig, props);
33
+ const arrowIcon = (0, _withDefaultProps.mergeProp)(componentConfig.arrowIcon, props.arrow, props.arrowIcon);
28
34
  const [value, setValue] = (0, _usePropsValue.usePropsValue)({
29
- value: props.activeKey,
30
- defaultValue: props.defaultActiveKey,
31
- onChange: props.onChange
35
+ value: mergedProps.activeKey,
36
+ defaultValue: mergedProps.defaultActiveKey,
37
+ onChange: mergedProps.onChange
32
38
  });
33
39
  const navRef = (0, _react.useRef)(null);
34
40
  const contentRef = (0, _react.useRef)(null);
35
41
  // 点击外部区域,关闭
36
42
  (0, _ahooks.useClickAway)(() => {
37
- if (!props.closeOnClickAway) return;
43
+ if (!mergedProps.closeOnClickAway) return;
38
44
  setValue(null);
39
45
  }, [navRef, contentRef]);
40
46
  // 计算 navs 的 top 值
@@ -57,7 +63,7 @@ const Dropdown = (0, _react.forwardRef)((p, ref) => {
57
63
  };
58
64
  let popupForceRender = false;
59
65
  const items = [];
60
- const navs = _react.default.Children.map(props.children, child => {
66
+ const navs = _react.default.Children.map(mergedProps.children, child => {
61
67
  if ((0, _react.isValidElement)(child)) {
62
68
  const childProps = Object.assign(Object.assign({}, child.props), {
63
69
  onClick: event => {
@@ -65,8 +71,7 @@ const Dropdown = (0, _react.forwardRef)((p, ref) => {
65
71
  changeActive(child.key);
66
72
  (_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
67
73
  },
68
- active: child.key === value,
69
- arrow: child.props.arrow === undefined ? props.arrow : child.props.arrow
74
+ active: child.key === value
70
75
  });
71
76
  items.push(child);
72
77
  if (child.props.forceRender) popupForceRender = true;
@@ -80,18 +85,20 @@ const Dropdown = (0, _react.forwardRef)((p, ref) => {
80
85
  setValue(null);
81
86
  }
82
87
  }), [setValue]);
83
- return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
88
+ return (0, _nativeProps.withNativeProps)(mergedProps, _react.default.createElement("div", {
84
89
  className: (0, _classnames.default)(classPrefix, {
85
90
  [`${classPrefix}-open`]: !!value
86
91
  }),
87
92
  ref: containerRef
93
+ }, _react.default.createElement(_context.IconContext.Provider, {
94
+ value: arrowIcon
88
95
  }, _react.default.createElement("div", {
89
96
  className: `${classPrefix}-nav`,
90
97
  ref: navRef
91
- }, navs), _react.default.createElement(_popup.default, {
98
+ }, navs)), _react.default.createElement(_popup.default, {
92
99
  visible: !!value,
93
100
  position: 'top',
94
- getContainer: props.getContainer,
101
+ getContainer: mergedProps.getContainer,
95
102
  className: `${classPrefix}-popup`,
96
103
  maskClassName: `${classPrefix}-popup-mask`,
97
104
  bodyClassName: `${classPrefix}-popup-body`,
@@ -99,7 +106,7 @@ const Dropdown = (0, _react.forwardRef)((p, ref) => {
99
106
  top
100
107
  },
101
108
  forceRender: popupForceRender,
102
- onMaskClick: props.closeOnMaskClick ? () => {
109
+ onMaskClick: mergedProps.closeOnMaskClick ? () => {
103
110
  changeActive(null);
104
111
  } : undefined
105
112
  }, _react.default.createElement("div", {
@@ -7,6 +7,7 @@ declare const _default: import("react").ForwardRefExoticComponent<{
7
7
  closeOnMaskClick?: boolean | undefined;
8
8
  closeOnClickAway?: boolean | undefined;
9
9
  onChange?: ((key: string | null) => void) | undefined;
10
+ arrowIcon?: import("react").ReactNode;
10
11
  arrow?: import("react").ReactNode;
11
12
  getContainer?: import("../../utils/render-to-container").GetContainer | undefined;
12
13
  } & {
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import type { FC, ReactNode } from 'react';
2
+ import React from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type DropdownItemProps = {
5
5
  key: string;
@@ -9,6 +9,10 @@ export declare type DropdownItemProps = {
9
9
  forceRender?: boolean;
10
10
  destroyOnClose?: boolean;
11
11
  onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
12
+ arrowIcon?: ReactNode;
13
+ /**
14
+ * @deprecated use `arrowIcon` instead
15
+ */
12
16
  arrow?: ReactNode;
13
17
  children?: ReactNode;
14
18
  } & NativeProps;
@@ -4,31 +4,45 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.ItemChildrenWrap = void 0;
7
+ var _antdMobileIcons = require("antd-mobile-icons");
7
8
  var _classnames = _interopRequireDefault(require("classnames"));
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
  var _nativeProps = require("../../utils/native-props");
10
11
  var _shouldRender = require("../../utils/should-render");
11
- var _antdMobileIcons = require("antd-mobile-icons");
12
+ var _withDefaultProps = require("../../utils/with-default-props");
13
+ var _configProvider = require("../config-provider");
14
+ var _context = require("./context");
12
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
16
  const classPrefix = `adm-dropdown-item`;
14
17
  const Item = props => {
15
- var _a;
18
+ const {
19
+ dropdown: componentConfig = {}
20
+ } = (0, _configProvider.useConfig)();
21
+ const mergedProps = (0, _withDefaultProps.mergeProps)(componentConfig, props);
22
+ const {
23
+ active,
24
+ highlight,
25
+ onClick,
26
+ title
27
+ } = mergedProps;
16
28
  const cls = (0, _classnames.default)(classPrefix, {
17
- [`${classPrefix}-active`]: props.active,
18
- [`${classPrefix}-highlight`]: (_a = props.highlight) !== null && _a !== void 0 ? _a : props.active
29
+ [`${classPrefix}-active`]: active,
30
+ [`${classPrefix}-highlight`]: highlight !== null && highlight !== void 0 ? highlight : active
19
31
  });
32
+ const contextArrowIcon = _react.default.useContext(_context.IconContext);
33
+ const mergedArrowIcon = (0, _withDefaultProps.mergeProp)(_react.default.createElement(_antdMobileIcons.DownFill, null), contextArrowIcon, mergedProps.arrow, mergedProps.arrowIcon);
20
34
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
21
35
  className: cls,
22
- onClick: props.onClick
36
+ onClick: onClick
23
37
  }, _react.default.createElement("div", {
24
38
  className: `${classPrefix}-title`
25
39
  }, _react.default.createElement("span", {
26
40
  className: `${classPrefix}-title-text`
27
- }, props.title), _react.default.createElement("span", {
41
+ }, title), _react.default.createElement("span", {
28
42
  className: (0, _classnames.default)(`${classPrefix}-title-arrow`, {
29
- [`${classPrefix}-title-arrow-active`]: props.active
43
+ [`${classPrefix}-title-arrow-active`]: active
30
44
  })
31
- }, props.arrow === undefined ? _react.default.createElement(_antdMobileIcons.DownFill, null) : props.arrow))));
45
+ }, mergedArrowIcon))));
32
46
  };
33
47
  var _default = Item;
34
48
  exports.default = _default;
@@ -1,16 +1,17 @@
1
- import React from 'react';
2
- import type { FC, ReactNode, MutableRefObject } from 'react';
3
- import { NativeProps } from '../../utils/native-props';
4
1
  import { FormInstance } from 'rc-field-form';
5
2
  import type { FieldProps } from 'rc-field-form/lib/Field';
6
- import type { FormLayout } from './index';
3
+ import type { FC, MutableRefObject, ReactNode } from 'react';
4
+ import React from 'react';
5
+ import { NativeProps } from '../../utils/native-props';
7
6
  import { ListItemProps } from '../list';
7
+ import type { FormLayout } from './index';
8
8
  declare type RenderChildren<Values = any> = (form: FormInstance<Values>) => ReactNode;
9
9
  declare type ChildrenType<Values = any> = RenderChildren<Values> | ReactNode;
10
10
  declare type RcFieldProps = Omit<FieldProps, 'children'>;
11
- export declare type FormItemProps = Pick<RcFieldProps, 'dependencies' | 'valuePropName' | 'name' | 'rules' | 'messageVariables' | 'trigger' | 'validateTrigger' | 'shouldUpdate' | 'initialValue' | 'getValueFromEvent' | 'getValueProps' | 'normalize' | 'preserve' | 'validateFirst'> & Pick<ListItemProps, 'style' | 'extra' | 'clickable' | 'arrow' | 'description'> & {
11
+ export declare type FormItemProps = Pick<RcFieldProps, 'dependencies' | 'valuePropName' | 'name' | 'rules' | 'messageVariables' | 'trigger' | 'validateTrigger' | 'shouldUpdate' | 'initialValue' | 'getValueFromEvent' | 'getValueProps' | 'normalize' | 'preserve' | 'validateFirst'> & Pick<ListItemProps, 'style' | 'extra' | 'clickable' | 'arrow' | 'arrowIcon' | 'description'> & {
12
12
  label?: ReactNode;
13
13
  help?: ReactNode;
14
+ helpIcon?: ReactNode;
14
15
  hasFeedback?: boolean;
15
16
  required?: boolean;
16
17
  noStyle?: boolean;
@@ -5,22 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FormItem = void 0;
7
7
  var _tslib = require("tslib");
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _antdMobileIcons = require("antd-mobile-icons");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _nativeProps = require("../../utils/native-props");
11
10
  var _rcFieldForm = require("rc-field-form");
12
11
  var _FieldContext = _interopRequireDefault(require("rc-field-form/lib/FieldContext"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
13
  var _devLog = require("../../utils/dev-log");
14
- var _context = require("./context");
15
- var _utils = require("./utils");
14
+ var _nativeProps = require("../../utils/native-props");
15
+ var _undefinedFallback = require("../../utils/undefined-fallback");
16
+ var _withDefaultProps = require("../../utils/with-default-props");
17
+ var _configProvider = require("../config-provider");
16
18
  var _list = _interopRequireDefault(require("../list"));
17
19
  var _popover = _interopRequireDefault(require("../popover"));
18
- var _antdMobileIcons = require("antd-mobile-icons");
19
- var _configProvider = require("../config-provider");
20
- var _undefinedFallback = require("../../utils/undefined-fallback");
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ var _context = require("./context");
21
+ var _utils = require("./utils");
22
22
  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); }
23
23
  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; }
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25
  const NAME_SPLIT = '__SPLIT__';
25
26
  const classPrefix = `adm-form-item`;
26
27
  const MemoInput = _react.default.memo(({
@@ -28,22 +29,25 @@ const MemoInput = _react.default.memo(({
28
29
  }) => children, (prev, next) => prev.value === next.value && prev.update === next.update);
29
30
  const FormItemLayout = props => {
30
31
  var _a;
32
+ const {
33
+ locale,
34
+ form: componentConfig = {}
35
+ } = (0, _configProvider.useConfig)();
31
36
  const {
32
37
  style,
33
38
  extra,
34
39
  label,
35
40
  help,
41
+ helpIcon,
36
42
  required,
37
43
  children,
38
44
  htmlFor,
39
45
  hidden,
40
46
  arrow,
47
+ arrowIcon,
41
48
  childElementPosition = 'normal'
42
- } = props;
49
+ } = (0, _withDefaultProps.mergeProps)(componentConfig, props);
43
50
  const context = (0, _react.useContext)(_context.FormContext);
44
- const {
45
- locale
46
- } = (0, _configProvider.useConfig)();
47
51
  const hasFeedback = props.hasFeedback !== undefined ? props.hasFeedback : context.hasFeedback;
48
52
  const layout = props.layout || context.layout;
49
53
  const disabled = (_a = props.disabled) !== null && _a !== void 0 ? _a : context.disabled;
@@ -83,7 +87,7 @@ const FormItemLayout = props => {
83
87
  e.stopPropagation();
84
88
  e.preventDefault();
85
89
  }
86
- }, _react.default.createElement(_antdMobileIcons.QuestionCircleOutline, null))));
90
+ }, helpIcon || _react.default.createElement(_antdMobileIcons.QuestionCircleOutline, null))));
87
91
  const description = (!!props.description || hasFeedback) && _react.default.createElement(_react.default.Fragment, null, props.description, hasFeedback && _react.default.createElement(_react.default.Fragment, null, props.errors.map((error, index) => _react.default.createElement("div", {
88
92
  key: `error-${index}`,
89
93
  className: `${classPrefix}-feedback-error`
@@ -104,7 +108,7 @@ const FormItemLayout = props => {
104
108
  disabled: disabled,
105
109
  onClick: props.onClick,
106
110
  clickable: props.clickable,
107
- arrow: arrow
111
+ arrowIcon: arrowIcon || arrow
108
112
  }, _react.default.createElement("div", {
109
113
  className: (0, _classnames.default)(`${classPrefix}-child`, `${classPrefix}-child-position-${childElementPosition}`)
110
114
  }, _react.default.createElement("div", {
@@ -118,6 +122,7 @@ const FormItem = props => {
118
122
  // FormItem 相关
119
123
  label,
120
124
  help,
125
+ helpIcon,
121
126
  extra,
122
127
  hasFeedback,
123
128
  name,
@@ -138,9 +143,10 @@ const FormItem = props => {
138
143
  shouldUpdate,
139
144
  dependencies,
140
145
  clickable,
141
- arrow
146
+ arrow,
147
+ arrowIcon
142
148
  } = props,
143
- fieldProps = (0, _tslib.__rest)(props, ["style", "label", "help", "extra", "hasFeedback", "name", "required", "noStyle", "hidden", "layout", "childElementPosition", "description", "disabled", "rules", "children", "messageVariables", "trigger", "validateTrigger", "onClick", "shouldUpdate", "dependencies", "clickable", "arrow"]);
149
+ fieldProps = (0, _tslib.__rest)(props, ["style", "label", "help", "helpIcon", "extra", "hasFeedback", "name", "required", "noStyle", "hidden", "layout", "childElementPosition", "description", "disabled", "rules", "children", "messageVariables", "trigger", "validateTrigger", "onClick", "shouldUpdate", "dependencies", "clickable", "arrow", "arrowIcon"]);
144
150
  const {
145
151
  name: formName
146
152
  } = (0, _react.useContext)(_context.FormContext);
@@ -192,6 +198,7 @@ const FormItem = props => {
192
198
  label: label,
193
199
  extra: extra,
194
200
  help: help,
201
+ helpIcon: helpIcon,
195
202
  description: description,
196
203
  required: isRequired,
197
204
  disabled: disabled,
@@ -204,7 +211,8 @@ const FormItem = props => {
204
211
  layout: layout,
205
212
  childElementPosition: childElementPosition,
206
213
  clickable: clickable,
207
- arrow: arrow
214
+ arrow: arrow,
215
+ arrowIcon: arrowIcon
208
216
  }, _react.default.createElement(_context.NoStyleItemContext.Provider, {
209
217
  value: onSubMetaChange
210
218
  }, baseChildren)));
@@ -9,7 +9,7 @@ export declare type FormProps = Pick<RcFormProps, 'form' | 'initialValues' | 'na
9
9
  footer?: ReactNode;
10
10
  mode?: ListProps['mode'];
11
11
  };
12
- export declare const Form: React.ForwardRefExoticComponent<Pick<RcFormProps<any>, "children" | "form" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & {
12
+ export declare const Form: React.ForwardRefExoticComponent<Pick<RcFormProps<any>, "form" | "children" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & {
13
13
  className?: string | undefined;
14
14
  style?: (React.CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top" | "--prefix-width", string>>) | undefined;
15
15
  tabIndex?: number | undefined;
@@ -6,7 +6,7 @@ export type { FormItemProps } from './form-item';
6
6
  export type { FormSubscribeProps } from './form-subscribe';
7
7
  export type { ValidateMessages, FieldData, NamePath, Rule, RuleObject, RuleRender, } from 'rc-field-form/es/interface';
8
8
  export type { FormArrayField, FormArrayOperation, FormArrayProps, } from './form-array';
9
- declare const _default: import("react").ForwardRefExoticComponent<Pick<import("rc-field-form").FormProps<any>, "children" | "form" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & {
9
+ declare const _default: import("react").ForwardRefExoticComponent<Pick<import("rc-field-form").FormProps<any>, "form" | "children" | "name" | "initialValues" | "preserve" | "validateMessages" | "validateTrigger" | "onFieldsChange" | "onFinish" | "onFinishFailed" | "onValuesChange"> & {
10
10
  className?: string | undefined;
11
11
  style?: (import("react").CSSProperties & Partial<Record<"--border-bottom" | "--border-inner" | "--border-top" | "--prefix-width", string>>) | undefined;
12
12
  tabIndex?: number | undefined;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  declare type NativeInputProps = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
4
4
  declare type AriaProps = {
@@ -9,6 +9,7 @@ export declare type InputProps = Pick<NativeInputProps, 'maxLength' | 'minLength
9
9
  defaultValue?: string;
10
10
  onChange?: (val: string) => void;
11
11
  clearable?: boolean;
12
+ clearIcon?: ReactNode;
12
13
  onlyShowClearWhenFocus?: boolean;
13
14
  onClear?: () => void;
14
15
  onEnterPress?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
@@ -26,6 +27,7 @@ export declare const Input: React.ForwardRefExoticComponent<Pick<NativeInputProp
26
27
  defaultValue?: string | undefined;
27
28
  onChange?: ((val: string) => void) | undefined;
28
29
  clearable?: boolean | undefined;
30
+ clearIcon?: ReactNode;
29
31
  onlyShowClearWhenFocus?: boolean | undefined;
30
32
  onClear?: (() => void) | undefined;
31
33
  onEnterPress?: ((e: React.KeyboardEvent<HTMLInputElement>) => void) | undefined;