@arco-design/mobile-react 2.36.1 → 2.37.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 (233) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.d.ts +1 -1
  5. package/cjs/_helpers/hooks.js +1 -1
  6. package/cjs/_helpers/react-dom.d.ts +5 -5
  7. package/cjs/_helpers/react-dom.js +49 -32
  8. package/cjs/_helpers/render.js +6 -3
  9. package/cjs/action-sheet/index.d.ts +3 -2
  10. package/cjs/action-sheet/index.js +2 -2
  11. package/cjs/carousel/index.js +8 -7
  12. package/cjs/checkbox/checkbox.d.ts +1 -1
  13. package/cjs/checkbox/group.d.ts +1 -1
  14. package/cjs/checkbox/hooks/useMergeProps.d.ts +1 -1
  15. package/cjs/checkbox/index.d.ts +2 -2
  16. package/cjs/context-provider/index.d.ts +8 -2
  17. package/cjs/count-down/hooks.js +2 -2
  18. package/cjs/dialog/index.d.ts +8 -3
  19. package/cjs/dialog/methods.d.ts +6 -2
  20. package/cjs/dropdown-menu/helper.d.ts +2 -2
  21. package/cjs/ellipsis/components/native-ellipsis.d.ts +2 -3
  22. package/cjs/ellipsis/components/native-ellipsis.js +1 -2
  23. package/cjs/form/form-item.d.ts +33 -2
  24. package/cjs/form/form-item.js +142 -121
  25. package/cjs/form/index.js +3 -1
  26. package/cjs/form/linked-container.d.ts +1 -1
  27. package/cjs/form/linked-container.js +4 -0
  28. package/cjs/form/style/css/index.css +4 -1
  29. package/cjs/form/style/index.less +6 -1
  30. package/cjs/form/type.d.ts +29 -6
  31. package/cjs/form/type.js +10 -2
  32. package/cjs/form/useForm.d.ts +2 -17
  33. package/cjs/form/useForm.js +98 -17
  34. package/cjs/form/utils.d.ts +2 -0
  35. package/cjs/form/utils.js +42 -2
  36. package/cjs/image-preview/index.d.ts +2 -2
  37. package/cjs/index-bar/group.js +3 -1
  38. package/cjs/index-bar/index.d.ts +2 -2
  39. package/cjs/index-bar/utils.d.ts +1 -1
  40. package/cjs/input/index.js +1 -1
  41. package/cjs/masking/index.d.ts +2 -2
  42. package/cjs/notify/index.d.ts +8 -8
  43. package/cjs/notify/index.js +2 -2
  44. package/cjs/picker-view/components/cascader.js +3 -1
  45. package/cjs/picker-view/components/picker-cell.js +1 -1
  46. package/cjs/picker-view/index.js +3 -1
  47. package/cjs/popup/index.d.ts +2 -2
  48. package/cjs/popup-swiper/index.d.ts +2 -2
  49. package/cjs/pull-refresh/hooks.d.ts +2 -2
  50. package/cjs/radio/group.d.ts +1 -1
  51. package/cjs/radio/group.js +1 -1
  52. package/cjs/radio/index.d.ts +2 -2
  53. package/cjs/radio/radio.d.ts +1 -1
  54. package/cjs/radio/type.d.ts +2 -2
  55. package/cjs/skeleton/elements.js +9 -3
  56. package/cjs/slider/hooks/index.d.ts +1 -1
  57. package/cjs/slider/hooks/useSliderEvents.d.ts +1 -1
  58. package/cjs/stepper/hooks/useValue.d.ts +2 -1
  59. package/cjs/steps/index.d.ts +1 -1
  60. package/cjs/tabs/type.d.ts +2 -2
  61. package/cjs/toast/index.d.ts +12 -12
  62. package/cjs/toast/index.js +1 -1
  63. package/dist/index.js +3070 -411
  64. package/dist/index.min.js +4 -4
  65. package/dist/style.css +4 -1
  66. package/dist/style.min.css +1 -1
  67. package/esm/_helpers/hooks.d.ts +1 -1
  68. package/esm/_helpers/hooks.js +1 -1
  69. package/esm/_helpers/react-dom.d.ts +5 -5
  70. package/esm/_helpers/react-dom.js +49 -30
  71. package/esm/_helpers/render.js +6 -3
  72. package/esm/action-sheet/index.d.ts +3 -2
  73. package/esm/action-sheet/index.js +2 -2
  74. package/esm/carousel/index.js +8 -7
  75. package/esm/checkbox/checkbox.d.ts +1 -1
  76. package/esm/checkbox/group.d.ts +1 -1
  77. package/esm/checkbox/hooks/useMergeProps.d.ts +1 -1
  78. package/esm/checkbox/index.d.ts +2 -2
  79. package/esm/context-provider/index.d.ts +8 -2
  80. package/esm/count-down/hooks.js +2 -2
  81. package/esm/dialog/index.d.ts +8 -3
  82. package/esm/dialog/methods.d.ts +6 -2
  83. package/esm/dropdown-menu/helper.d.ts +2 -2
  84. package/esm/ellipsis/components/native-ellipsis.d.ts +2 -3
  85. package/esm/ellipsis/components/native-ellipsis.js +1 -1
  86. package/esm/form/form-item.d.ts +33 -2
  87. package/esm/form/form-item.js +143 -122
  88. package/esm/form/index.js +3 -1
  89. package/esm/form/linked-container.d.ts +1 -1
  90. package/esm/form/linked-container.js +4 -0
  91. package/esm/form/style/css/index.css +4 -1
  92. package/esm/form/style/index.less +6 -1
  93. package/esm/form/type.d.ts +29 -6
  94. package/esm/form/type.js +8 -1
  95. package/esm/form/useForm.d.ts +2 -17
  96. package/esm/form/useForm.js +97 -17
  97. package/esm/form/utils.d.ts +2 -0
  98. package/esm/form/utils.js +31 -1
  99. package/esm/image-preview/index.d.ts +2 -2
  100. package/esm/index-bar/group.js +3 -1
  101. package/esm/index-bar/index.d.ts +2 -2
  102. package/esm/index-bar/utils.d.ts +1 -1
  103. package/esm/input/index.js +1 -1
  104. package/esm/masking/index.d.ts +2 -2
  105. package/esm/notify/index.d.ts +8 -8
  106. package/esm/notify/index.js +2 -2
  107. package/esm/picker-view/components/cascader.js +3 -1
  108. package/esm/picker-view/components/picker-cell.js +1 -1
  109. package/esm/picker-view/index.js +3 -1
  110. package/esm/popup/index.d.ts +2 -2
  111. package/esm/popup-swiper/index.d.ts +2 -2
  112. package/esm/pull-refresh/hooks.d.ts +2 -2
  113. package/esm/radio/group.d.ts +1 -1
  114. package/esm/radio/group.js +1 -1
  115. package/esm/radio/index.d.ts +2 -2
  116. package/esm/radio/radio.d.ts +1 -1
  117. package/esm/radio/type.d.ts +2 -2
  118. package/esm/skeleton/elements.js +9 -3
  119. package/esm/slider/hooks/index.d.ts +1 -1
  120. package/esm/slider/hooks/useSliderEvents.d.ts +1 -1
  121. package/esm/stepper/hooks/useValue.d.ts +2 -1
  122. package/esm/steps/index.d.ts +1 -1
  123. package/esm/tabs/type.d.ts +2 -2
  124. package/esm/toast/index.d.ts +12 -12
  125. package/esm/toast/index.js +1 -1
  126. package/esnext/_helpers/hooks.js +1 -1
  127. package/esnext/_helpers/react-dom.d.ts +5 -5
  128. package/esnext/_helpers/react-dom.js +47 -28
  129. package/esnext/_helpers/render.js +3 -2
  130. package/esnext/action-sheet/index.d.ts +3 -2
  131. package/esnext/action-sheet/index.js +1 -1
  132. package/esnext/carousel/index.js +7 -5
  133. package/esnext/context-provider/index.d.ts +8 -2
  134. package/esnext/context-provider/index.js +1 -1
  135. package/esnext/count-down/hooks.js +2 -2
  136. package/esnext/dialog/index.d.ts +8 -3
  137. package/esnext/dialog/methods.d.ts +6 -2
  138. package/esnext/dropdown-menu/helper.d.ts +1 -1
  139. package/esnext/ellipsis/components/native-ellipsis.d.ts +2 -3
  140. package/esnext/ellipsis/components/native-ellipsis.js +1 -1
  141. package/esnext/form/form-item.d.ts +33 -2
  142. package/esnext/form/form-item.js +85 -71
  143. package/esnext/form/index.js +2 -1
  144. package/esnext/form/linked-container.d.ts +1 -1
  145. package/esnext/form/linked-container.js +3 -0
  146. package/esnext/form/style/css/index.css +4 -1
  147. package/esnext/form/style/index.less +6 -1
  148. package/esnext/form/type.d.ts +29 -6
  149. package/esnext/form/type.js +7 -0
  150. package/esnext/form/useForm.d.ts +2 -17
  151. package/esnext/form/useForm.js +72 -13
  152. package/esnext/form/utils.d.ts +2 -0
  153. package/esnext/form/utils.js +26 -0
  154. package/esnext/image-preview/index.d.ts +2 -2
  155. package/esnext/index-bar/group.js +5 -1
  156. package/esnext/index-bar/index.d.ts +2 -2
  157. package/esnext/input/index.js +1 -1
  158. package/esnext/masking/index.d.ts +2 -2
  159. package/esnext/notify/index.d.ts +8 -8
  160. package/esnext/notify/index.js +2 -2
  161. package/esnext/picker-view/components/cascader.js +5 -1
  162. package/esnext/picker-view/components/picker-cell.js +1 -1
  163. package/esnext/picker-view/index.js +5 -1
  164. package/esnext/popup/index.d.ts +2 -2
  165. package/esnext/popup-swiper/index.d.ts +2 -2
  166. package/esnext/pull-refresh/hooks.d.ts +2 -2
  167. package/esnext/radio/group.js +3 -1
  168. package/esnext/radio/type.d.ts +2 -2
  169. package/esnext/skeleton/elements.js +15 -3
  170. package/esnext/slider/hooks/useSliderEvents.d.ts +1 -1
  171. package/esnext/tabs/type.d.ts +2 -2
  172. package/esnext/toast/index.d.ts +12 -12
  173. package/esnext/toast/index.js +1 -1
  174. package/package.json +3 -3
  175. package/umd/_helpers/hooks.d.ts +1 -1
  176. package/umd/_helpers/hooks.js +1 -1
  177. package/umd/_helpers/react-dom.d.ts +5 -5
  178. package/umd/_helpers/react-dom.js +53 -35
  179. package/umd/_helpers/render.js +6 -3
  180. package/umd/action-sheet/index.d.ts +3 -2
  181. package/umd/action-sheet/index.js +2 -2
  182. package/umd/carousel/index.js +8 -7
  183. package/umd/checkbox/checkbox.d.ts +1 -1
  184. package/umd/checkbox/group.d.ts +1 -1
  185. package/umd/checkbox/hooks/useMergeProps.d.ts +1 -1
  186. package/umd/checkbox/index.d.ts +2 -2
  187. package/umd/context-provider/index.d.ts +8 -2
  188. package/umd/count-down/hooks.js +2 -2
  189. package/umd/dialog/index.d.ts +8 -3
  190. package/umd/dialog/methods.d.ts +6 -2
  191. package/umd/dropdown-menu/helper.d.ts +2 -2
  192. package/umd/ellipsis/components/native-ellipsis.d.ts +2 -3
  193. package/umd/ellipsis/components/native-ellipsis.js +1 -2
  194. package/umd/form/form-item.d.ts +33 -2
  195. package/umd/form/form-item.js +142 -121
  196. package/umd/form/index.js +3 -1
  197. package/umd/form/linked-container.d.ts +1 -1
  198. package/umd/form/linked-container.js +4 -0
  199. package/umd/form/style/css/index.css +4 -1
  200. package/umd/form/style/index.less +6 -1
  201. package/umd/form/type.d.ts +29 -6
  202. package/umd/form/type.js +9 -1
  203. package/umd/form/useForm.d.ts +2 -17
  204. package/umd/form/useForm.js +98 -21
  205. package/umd/form/utils.d.ts +2 -0
  206. package/umd/form/utils.js +40 -5
  207. package/umd/image-preview/index.d.ts +2 -2
  208. package/umd/index-bar/group.js +3 -1
  209. package/umd/index-bar/index.d.ts +2 -2
  210. package/umd/index-bar/utils.d.ts +1 -1
  211. package/umd/input/index.js +1 -1
  212. package/umd/masking/index.d.ts +2 -2
  213. package/umd/notify/index.d.ts +8 -8
  214. package/umd/notify/index.js +2 -2
  215. package/umd/picker-view/components/cascader.js +3 -1
  216. package/umd/picker-view/components/picker-cell.js +1 -1
  217. package/umd/picker-view/index.js +3 -1
  218. package/umd/popup/index.d.ts +2 -2
  219. package/umd/popup-swiper/index.d.ts +2 -2
  220. package/umd/pull-refresh/hooks.d.ts +2 -2
  221. package/umd/radio/group.d.ts +1 -1
  222. package/umd/radio/group.js +1 -1
  223. package/umd/radio/index.d.ts +2 -2
  224. package/umd/radio/radio.d.ts +1 -1
  225. package/umd/radio/type.d.ts +2 -2
  226. package/umd/skeleton/elements.js +9 -3
  227. package/umd/slider/hooks/index.d.ts +1 -1
  228. package/umd/slider/hooks/useSliderEvents.d.ts +1 -1
  229. package/umd/stepper/hooks/useValue.d.ts +2 -1
  230. package/umd/steps/index.d.ts +1 -1
  231. package/umd/tabs/type.d.ts +2 -2
  232. package/umd/toast/index.d.ts +12 -12
  233. package/umd/toast/index.js +1 -1
@@ -1,23 +1,20 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "react-dom"], factory);
3
+ define(["exports", "react-dom"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("react-dom"));
5
+ factory(exports, require("react-dom"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.reactDom);
10
+ factory(mod.exports, global.reactDom);
11
11
  global.reactDom = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, ReactDOM) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, ReactDOM) {
14
14
  "use strict";
15
15
 
16
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
-
18
16
  _exports.__esModule = true;
19
17
  _exports.render = void 0;
20
- _extends2 = _interopRequireDefault(_extends2);
21
18
  ReactDOM = _interopRequireWildcard(ReactDOM);
22
19
 
23
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -28,56 +25,77 @@
28
25
  return Object.prototype.toString.call(obj) === '[object Object]';
29
26
  }
30
27
 
31
- var CopyReactDOM = (0, _extends2.default)({}, ReactDOM);
28
+ // Cast ReactDOM to a version that might have createRoot and other properties
29
+ var typedReactDOM = ReactDOM;
32
30
  var copyRender;
33
- var version = CopyReactDOM.version,
34
- reactRender = CopyReactDOM.render,
35
- unmountComponentAtNode = CopyReactDOM.unmountComponentAtNode;
36
- var isReact18 = Number((version || '').split('.')[0]) > 17;
37
31
 
38
32
  var updateUsingClientEntryPoint = function updateUsingClientEntryPoint(skipWarning) {
39
33
  // https://github.com/facebook/react/blob/17806594cc28284fe195f918e8d77de3516848ec/packages/react-dom/npm/client.js#L10
40
34
  // Avoid console warning
41
- var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = CopyReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
35
+ var secretInternals = typedReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
42
36
 
43
- if (isObject(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)) {
44
- __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skipWarning;
37
+ if (isObject(secretInternals)) {
38
+ secretInternals.usingClientEntryPoint = skipWarning;
45
39
  }
46
40
  };
47
41
 
48
- var createRoot;
49
-
50
- try {
51
- createRoot = CopyReactDOM.createRoot;
52
- } catch (_) {}
42
+ var createRootFn = typedReactDOM.createRoot;
53
43
 
54
- if (isReact18 && createRoot) {
55
- copyRender = function copyRender(app, container) {
44
+ var getRender = function getRender(createRootFunction) {
45
+ return function (app, container) {
56
46
  updateUsingClientEntryPoint(true);
57
- var root = createRoot(container);
47
+ var root = createRootFunction(container);
58
48
  updateUsingClientEntryPoint(false);
59
49
  root.render(app);
60
-
61
- root._unmount = function () {
62
- setTimeout(function () {
63
- root == null ? void 0 : root.unmount == null ? void 0 : root.unmount();
64
- });
50
+ return {
51
+ render: function render(elementToRender) {
52
+ root.render(elementToRender);
53
+ },
54
+ _unmount: function _unmount() {
55
+ setTimeout(function () {
56
+ if (root && typeof root.unmount === 'function') {
57
+ root.unmount();
58
+ }
59
+ });
60
+ }
65
61
  };
66
-
67
- return root;
68
62
  };
69
- } else {
63
+ };
64
+
65
+ if (createRootFn) {
66
+ // React 18
67
+ copyRender = getRender(createRootFn);
68
+ } else if (typeof typedReactDOM.render === 'function' && typeof typedReactDOM.unmountComponentAtNode === 'function') {
69
+ // React 16/17
70
70
  copyRender = function copyRender(app, container) {
71
- reactRender(app, container);
71
+ typedReactDOM.render(app, container); // Use non-null assertion
72
+
72
73
  return {
73
- render: function render(comment) {
74
- reactRender(comment, container);
74
+ render: function render(elementToRender) {
75
+ typedReactDOM.render(elementToRender, container); // Use non-null assertion
75
76
  },
76
77
  _unmount: function _unmount() {
77
- unmountComponentAtNode(container);
78
+ typedReactDOM.unmountComponentAtNode(container); // Use non-null assertion
78
79
  }
79
80
  };
80
81
  };
82
+ } else {
83
+ copyRender = function copyRender(app, container, createRootFunction) {
84
+ var defaultCb = function defaultCb() {
85
+ // Fallback if no rendering method is found
86
+ console.error('ArcoDesign: ReactDOM.createRoot() or ReactDOM.render() not found. ' + 'This usually means you are using an unsupported version of React, ' + 'or ReactDOM is not properly initialized. ' + 'ArcoDesign Mobile React requires React 16, 17, 18, or 19.');
87
+ return {
88
+ render: function render(_element) {},
89
+ _unmount: function _unmount() {}
90
+ };
91
+ };
92
+
93
+ if (createRootFunction) {
94
+ return getRender(createRootFunction)(app, container);
95
+ }
96
+
97
+ return defaultCb();
98
+ };
81
99
  }
82
100
 
83
101
  var render = copyRender;
@@ -35,14 +35,17 @@
35
35
 
36
36
  this.render = function (props) {
37
37
  var CustomApp = _this.app;
38
- var propsWithContext = (0, _extends2.default)({}, props, {
38
+ var propsWithContext = (0, _extends2.default)({
39
39
  context: _this.context
40
- });
40
+ }, props);
41
41
 
42
42
  if (_this.root) {
43
43
  _this.root.render( /*#__PURE__*/_react.default.createElement(CustomApp, propsWithContext));
44
44
  } else {
45
- _this.root = (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(CustomApp, propsWithContext), _this.container);
45
+ var _ref = _this.context || {},
46
+ createRoot = _ref.createRoot;
47
+
48
+ _this.root = (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(CustomApp, propsWithContext), _this.container, createRoot);
46
49
  }
47
50
  };
48
51
 
@@ -1,4 +1,5 @@
1
1
  import React, { ReactNode, CSSProperties } from 'react';
2
+ import { Promise } from 'es6-promise';
2
3
  import { PopupProps } from '../popup';
3
4
  import { OpenBaseProps } from '../masking';
4
5
  export interface ActionSheetItemOptions {
@@ -86,11 +87,11 @@ declare const _default: React.ForwardRefExoticComponent<ActionSheetProps & React
86
87
  * @param {ActionSheetProps} config setting
87
88
  * @returns {{ close: () => void; update: (newConfig: ActionSheetProps) => void; }}
88
89
  */
89
- open: (config: Pick<import("../context-provider").WithGlobalContext<ActionSheetProps & React.RefAttributes<ActionSheetRef>>, "title" | "ref" | "key" | "context" | "translateZ" | "className" | "onTouchMove" | "getContainer" | "items" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "cancelText" | "subTitle"> & {
90
+ open: (config: Pick<import("../context-provider").WithGlobalContext<ActionSheetProps & React.RefAttributes<ActionSheetRef>>, "ref" | "className" | "title" | "context" | "key" | "translateZ" | "onTouchMove" | "getContainer" | "items" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "cancelText" | "subTitle"> & {
90
91
  key?: string | undefined;
91
92
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
92
93
  close: () => void;
93
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<ActionSheetProps & React.RefAttributes<ActionSheetRef>>, "title" | "ref" | "key" | "context" | "translateZ" | "className" | "onTouchMove" | "getContainer" | "items" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "cancelText" | "subTitle"> & {
94
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<ActionSheetProps & React.RefAttributes<ActionSheetRef>>, "ref" | "className" | "title" | "context" | "key" | "translateZ" | "onTouchMove" | "getContainer" | "items" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "cancelText" | "subTitle"> & {
94
95
  key?: string | undefined;
95
96
  }) => void;
96
97
  };
@@ -80,14 +80,14 @@
80
80
  }, subTitle) : null) : null, /*#__PURE__*/_react.default.createElement("div", {
81
81
  className: prefixCls + "-action-sheet-list"
82
82
  }, (items || []).map(function (item, index) {
83
- return /*#__PURE__*/_react.default.createElement("div", {
83
+ return item.content ? /*#__PURE__*/_react.default.createElement("div", {
84
84
  className: (0, _mobileUtils.cls)(prefixCls + "-action-sheet-item", item.className, item.status || 'normal'),
85
85
  key: index,
86
86
  style: item.style,
87
87
  onClick: function onClick(e) {
88
88
  return handleItemClick(e, item);
89
89
  }
90
- }, item.content);
90
+ }, item.content) : null;
91
91
  })), cancelText ? /*#__PURE__*/_react.default.createElement("div", {
92
92
  className: prefixCls + "-action-sheet-item cancel-item",
93
93
  onClick: function onClick(e) {
@@ -704,12 +704,6 @@
704
704
 
705
705
  stopPropagation && e.stopPropagation();
706
706
 
707
- if (bouncingRef.current) {
708
- bouncingRef.current = false;
709
- jumpTo(index, false);
710
- return;
711
- }
712
-
713
707
  if (!touchStartedRef.current) {
714
708
  return;
715
709
  }
@@ -721,7 +715,14 @@
721
715
  return;
722
716
  }
723
717
 
724
- touchMovedRef.current = false;
718
+ touchMovedRef.current = false; // bugfix: 回弹判断逻辑需在touchMovedRef标识重置逻辑之后,否则会在触发回弹后导致标识无法重置引起滑动判断问题
719
+ // @en bugfix: The logic for the bounce judgment needs to be after the touchMovedRef reset logic, otherwise it will cause the problem of slide judgment after the bounce is triggered.
720
+
721
+ if (bouncingRef.current) {
722
+ bouncingRef.current = false;
723
+ jumpTo(index, false);
724
+ return;
725
+ }
725
726
 
726
727
  if (posAdjustingRef.current || touchStoppedRef.current) {
727
728
  return;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CheckboxProps, CheckboxRef } from './type';
3
- export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps<string | number> & React.RefAttributes<CheckboxRef>>;
3
+ export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps<React.ReactText> & React.RefAttributes<CheckboxRef>>;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { GroupContextParams, CheckboxGroupProps, CheckboxGroupRef, ValueType, CheckboxProps, CheckboxRef } from './type';
3
- export declare const CheckboxGroupContext: React.Context<GroupContextParams<string | number>>;
3
+ export declare const CheckboxGroupContext: React.Context<GroupContextParams<React.ReactText>>;
4
4
  export declare function componentGenerator<T extends ValueType = ValueType, P extends CheckboxProps<T> = CheckboxProps<T>, R extends CheckboxRef = CheckboxRef>(Comp: React.ForwardRefExoticComponent<P & React.RefAttributes<R>>): React.ForwardRefExoticComponent<CheckboxGroupProps<T, P> & React.RefAttributes<CheckboxGroupRef>>;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CheckboxProps, GroupContextParams, ValueType } from '../type';
3
- export declare const useMergeProps: <T extends string | number = string | number, P extends CheckboxProps<T> = CheckboxProps<T>>(props: P, groupContext: React.Context<GroupContextParams<ValueType>>) => P;
3
+ export declare const useMergeProps: <T extends React.ReactText = React.ReactText, P extends CheckboxProps<T> = CheckboxProps<T>>(props: P, groupContext: React.Context<GroupContextParams<ValueType>>) => P;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export * from './type';
3
- declare const _default: import("react").ForwardRefExoticComponent<import("./type").CheckboxProps<string | number> & import("react").RefAttributes<import("./type").CheckboxRef>> & {
4
- Group: import("react").ForwardRefExoticComponent<import("./type").CheckboxGroupProps<string | number, import("./type").CheckboxProps<string | number> & import("react").RefAttributes<import("./type").CheckboxRef>> & import("react").RefAttributes<import("./type").CheckboxGroupRef>> & {
3
+ declare const _default: import("react").ForwardRefExoticComponent<import("./type").CheckboxProps<import("react").ReactText> & import("react").RefAttributes<import("./type").CheckboxRef>> & {
4
+ Group: import("react").ForwardRefExoticComponent<import("./type").CheckboxGroupProps<import("react").ReactText, import("./type").CheckboxProps<import("react").ReactText> & import("react").RefAttributes<import("./type").CheckboxRef>> & import("react").RefAttributes<import("./type").CheckboxGroupRef>> & {
5
5
  displayName?: string | undefined;
6
6
  };
7
7
  } & {
@@ -1,5 +1,6 @@
1
- import React from 'react';
1
+ import React, { Attributes } from 'react';
2
2
  import { ILocale } from '@arco-design/mobile-utils';
3
+ import { CreateRootFnType } from '../_helpers';
3
4
  export interface GlobalContextParams {
4
5
  /**
5
6
  * 组件类名前缀
@@ -52,6 +53,11 @@ export interface GlobalContextParams {
52
53
  * @en Triggered when the system's native dark mode changes, valid when useDarkMode=true
53
54
  */
54
55
  onDarkModeChange?: (isDark: boolean) => void;
56
+ /**
57
+ * React19 修改了 createRoot 的引入路径,导致组件内部无法直接引入(低react版本会找不到模块)。因此使用 react 19 的用户需从外部传入 createRoot 方法
58
+ * @en Users using react 19 need to pass in the createRoot method from outside
59
+ */
60
+ createRoot?: CreateRootFnType;
55
61
  }
56
62
  export declare const defaultContext: GlobalContextParams;
57
63
  export declare const GlobalContext: React.Context<GlobalContextParams>;
@@ -71,4 +77,4 @@ export declare type WithGlobalContext<T> = T & {
71
77
  */
72
78
  export default function ContextProvider(props: ContextProviderProps): JSX.Element;
73
79
  export declare const ContextLayout: React.Consumer<GlobalContextParams>;
74
- export declare function CompWithGlobalContext<P extends JSX.IntrinsicAttributes>(Component: React.FunctionComponent<P>): (props: WithGlobalContext<P>) => JSX.Element;
80
+ export declare function CompWithGlobalContext<P extends Attributes>(Component: React.FunctionComponent<P>): (props: WithGlobalContext<P>) => JSX.Element;
@@ -18,8 +18,8 @@
18
18
 
19
19
  var useCountDown = function useCountDown(options) {
20
20
  var taskIdRef = (0, _react.useRef)(0);
21
- var endTimeRef = (0, _react.useRef)();
22
- var countingRef = (0, _react.useRef)();
21
+ var endTimeRef = (0, _react.useRef)(undefined);
22
+ var countingRef = (0, _react.useRef)(undefined);
23
23
 
24
24
  var _useRefState = (0, _helpers.useRefState)(options.time),
25
25
  remain = _useRefState[0],
@@ -1,5 +1,6 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { ILocale } from '@arco-design/mobile-utils';
3
+ import { Promise } from 'es6-promise';
3
4
  import { MaskingCommonProps, MaskingRef, OpenBaseProps } from '../masking';
4
5
  export * from './methods';
5
6
  export interface FooterButtonOptions {
@@ -130,7 +131,11 @@ export interface ConfirmOptions extends AlertOptions {
130
131
  * */
131
132
  cancelText?: ReactNode;
132
133
  }
133
- export declare function methodsGenerator<P extends OpenBaseProps, A = AlertOptions, C = ConfirmOptions>(Comp: React.FunctionComponent<P>): {
134
+ export declare function methodsGenerator<P extends OpenBaseProps, A extends {
135
+ key?: string;
136
+ } = AlertOptions, C extends {
137
+ key?: string;
138
+ } = ConfirmOptions>(Comp: React.FunctionComponent<P>): {
134
139
  /**
135
140
  * 打开确认框(含一个确认按钮)
136
141
  * @desc {en} Open a confirmation dialog (with a confirmation button)
@@ -193,11 +198,11 @@ declare const _default: React.ForwardRefExoticComponent<DialogProps & React.RefA
193
198
  * @param {DialogProps} config Configuration
194
199
  * @returns {{ close: () => void; update: (newConfig: DialogProps) => void; }}
195
200
  */
196
- open: (config: Pick<import("../context-provider").WithGlobalContext<DialogProps & React.RefAttributes<DialogRef>>, "platform" | "footer" | "title" | "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "footerType" | "renderFooter" | "footerCollapseCount" | "titleAlign" | "contentAlign" | "extra"> & {
201
+ open: (config: Pick<import("../context-provider").WithGlobalContext<DialogProps & React.RefAttributes<DialogRef>>, "ref" | "className" | "footer" | "title" | "children" | "context" | "key" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "footerType" | "renderFooter" | "footerCollapseCount" | "titleAlign" | "contentAlign" | "platform" | "extra"> & {
197
202
  key?: string | undefined;
198
203
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
199
204
  close: () => void;
200
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<DialogProps & React.RefAttributes<DialogRef>>, "platform" | "footer" | "title" | "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "footerType" | "renderFooter" | "footerCollapseCount" | "titleAlign" | "contentAlign" | "extra"> & {
205
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<DialogProps & React.RefAttributes<DialogRef>>, "ref" | "className" | "footer" | "title" | "children" | "context" | "key" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "footerType" | "renderFooter" | "footerCollapseCount" | "titleAlign" | "contentAlign" | "platform" | "extra"> & {
201
206
  key?: string | undefined;
202
207
  }) => void;
203
208
  };
@@ -2,11 +2,15 @@ import React from 'react';
2
2
  import { OpenBaseProps } from '../masking/methods';
3
3
  export declare function normalizeAlert<AlertOptions, P>(config: AlertOptions): P;
4
4
  export declare function normalizeConfirm<ConfirmOptions, P>(config: ConfirmOptions): P;
5
- export declare function alert<AlertOptions, P extends OpenBaseProps>(Component: React.FunctionComponent<P>, normalize?: <T, Props>(config: T) => Props): (config: AlertOptions, context?: import("../context-provider").GlobalContextParams | undefined) => {
5
+ export declare function alert<AlertOptions extends {
6
+ key?: string;
7
+ }, P extends OpenBaseProps>(Component: React.FunctionComponent<P>, normalize?: <T, Props>(config: T) => Props): (config: AlertOptions, context?: import("../context-provider").GlobalContextParams | undefined) => {
6
8
  close: () => void;
7
9
  update: (newConfig: AlertOptions) => void;
8
10
  };
9
- export declare function confirm<ConfirmOptions, P extends OpenBaseProps>(Component: React.FunctionComponent<P>, normalize?: <T, Props>(config: T) => Props): (config: ConfirmOptions, context?: import("../context-provider").GlobalContextParams | undefined) => {
11
+ export declare function confirm<ConfirmOptions extends {
12
+ key?: string;
13
+ }, P extends OpenBaseProps>(Component: React.FunctionComponent<P>, normalize?: <T, Props>(config: T) => Props): (config: ConfirmOptions, context?: import("../context-provider").GlobalContextParams | undefined) => {
10
14
  close: () => void;
11
15
  update: (newConfig: ConfirmOptions) => void;
12
16
  };
@@ -20,13 +20,13 @@ export declare function isCascadeArray(options: string[] | OptionsItem[][] | Cas
20
20
  * */
21
21
  export declare const getFormattedOptions: (options: OptionsItem[][] | string[] | CascadeOptions[], currentValues: ValueType) => {
22
22
  formattedOptions: OptionsItem[][];
23
- formattedValue: (string | number | (string | number)[])[];
23
+ formattedValue: (string | number | React.ReactText[])[];
24
24
  };
25
25
  /**
26
26
  * 判断是否为指定ref内的元素
27
27
  * @en Determine whether it is an element within the specified ref
28
28
  */
29
- export declare const isRefDom: (dom: any, ref: React.RefObject<HTMLDivElement>) => boolean;
29
+ export declare const isRefDom: (dom: any, ref: React.RefObject<HTMLDivElement | null>) => boolean;
30
30
  /**
31
31
  * 判断是否为指定类名下的元素
32
32
  * @en Determine whether it is an element under the specified classname
@@ -1,5 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { NativeEllipsisProps } from '../type';
3
3
  declare function NativeEllipsis({ prefixCls, ellipsis, dangerouslyUseInnerHTML, text, maxLine, ellipsisNode, collapseNode, onEllipsisNodeClick, onCollapseNodeClick, }: NativeEllipsisProps): JSX.Element;
4
- declare const _default: React.MemoExoticComponent<typeof NativeEllipsis>;
5
- export default _default;
4
+ export default NativeEllipsis;
@@ -53,7 +53,6 @@
53
53
  }, ellipsisNode) : null);
54
54
  }
55
55
 
56
- var _default = /*#__PURE__*/_react.default.memo(NativeEllipsis);
57
-
56
+ var _default = NativeEllipsis;
58
57
  _exports.default = _default;
59
58
  });
@@ -1,4 +1,35 @@
1
- import React from 'react';
2
- import { FormItemProps, FormItemRef } from './type';
1
+ import React, { PureComponent, ReactNode } from 'react';
2
+ import { Promise } from 'es6-promise';
3
+ import { FormItemContext } from './form-item-context';
4
+ import { IFieldError, FieldValue, IFormItemInnerProps, FormItemProps, ValidateStatus, FormItemRef, ValueChangeType, IFormItemContext } from './type';
5
+ interface IFormItemInnerState {
6
+ validateStatus: ValidateStatus;
7
+ errors?: ReactNode[];
8
+ _touched: boolean;
9
+ }
10
+ declare class FormItemInner extends PureComponent<IFormItemInnerProps, IFormItemInnerState> {
11
+ context: React.ContextType<typeof FormItemContext>;
12
+ destroyField: () => void;
13
+ private _errors;
14
+ private _touched;
15
+ constructor(props: IFormItemInnerProps, context: IFormItemContext);
16
+ componentDidMount(): void;
17
+ componentWillUnmount(): void;
18
+ onValueChange: (curValue: FieldValue, preValue: any, info?: {
19
+ changeType: ValueChangeType;
20
+ } | undefined) => void;
21
+ getInitialValue: () => any;
22
+ getFieldError: () => React.ReactNode[];
23
+ isFieldTouched: () => boolean;
24
+ getAllRuleValidateTriggers: () => string[];
25
+ validateField: (validateTrigger?: string | undefined) => Promise<IFieldError>;
26
+ setFieldData: (value: FieldValue) => void;
27
+ innerTriggerFunctionWithValueFirst: (value: any, ...args: any[]) => void;
28
+ innerOnInputFunction: (_: any, value: any, ...args: any[]) => void;
29
+ innerClearFunction: (...args: any[]) => void;
30
+ renderChildren(): React.FunctionComponentElement<any>;
31
+ render(): React.FunctionComponentElement<any>;
32
+ }
33
+ export { FormItemInner };
3
34
  declare const _default: React.ForwardRefExoticComponent<FormItemProps & React.RefAttributes<FormItemRef>>;
4
35
  export default _default;