@arco-design/mobile-react 2.21.3 → 2.22.2

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 (119) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/index.d.ts +1 -0
  5. package/cjs/_helpers/index.js +9 -0
  6. package/cjs/_helpers/react-dom.d.ts +13 -0
  7. package/cjs/_helpers/react-dom.js +65 -0
  8. package/cjs/_helpers/render.d.ts +10 -0
  9. package/cjs/_helpers/render.js +40 -0
  10. package/cjs/action-sheet/index.d.ts +1 -1
  11. package/cjs/action-sheet/style/css/index.css +2 -2
  12. package/cjs/action-sheet/style/index.less +1 -1
  13. package/cjs/dialog/style/css/index.css +2 -2
  14. package/cjs/dialog/style/index.less +1 -1
  15. package/cjs/image-picker/index.js +0 -1
  16. package/cjs/image-preview/index.d.ts +2 -10
  17. package/cjs/image-preview/methods.js +4 -11
  18. package/cjs/masking/index.d.ts +10 -0
  19. package/cjs/masking/methods.js +4 -11
  20. package/cjs/notify/methods.js +6 -9
  21. package/cjs/popover/hooks/useEvent.js +6 -6
  22. package/cjs/pull-refresh/android-pull-refresh.js +2 -0
  23. package/cjs/pull-refresh/ios-pull-refresh.js +3 -2
  24. package/cjs/pull-refresh/model.d.ts +6 -2
  25. package/cjs/steps/demo/style/css/mobile.css +8 -2
  26. package/cjs/steps/index.d.ts +1 -1
  27. package/cjs/steps/index.js +5 -1
  28. package/cjs/steps/step.js +5 -3
  29. package/cjs/steps/style/css/index.css +78 -23
  30. package/cjs/steps/style/index.less +92 -24
  31. package/cjs/steps/type.d.ts +12 -0
  32. package/cjs/swipe-action/index.js +21 -3
  33. package/cjs/tabs/index.js +8 -4
  34. package/cjs/tabs/style/css/index.css +8 -8
  35. package/cjs/tabs/style/index.less +4 -4
  36. package/cjs/tabs/tab-cell.js +4 -3
  37. package/cjs/tabs/type.d.ts +11 -0
  38. package/cjs/toast/methods.js +9 -12
  39. package/dist/index.js +186 -81
  40. package/dist/index.min.js +4 -4
  41. package/dist/style.css +87 -35
  42. package/dist/style.min.css +1 -1
  43. package/esm/_helpers/index.d.ts +1 -0
  44. package/esm/_helpers/index.js +1 -0
  45. package/esm/_helpers/react-dom.d.ts +13 -0
  46. package/esm/_helpers/react-dom.js +57 -0
  47. package/esm/_helpers/render.d.ts +10 -0
  48. package/esm/_helpers/render.js +29 -0
  49. package/esm/action-sheet/index.d.ts +1 -1
  50. package/esm/action-sheet/style/css/index.css +2 -2
  51. package/esm/action-sheet/style/index.less +1 -1
  52. package/esm/dialog/style/css/index.css +2 -2
  53. package/esm/dialog/style/index.less +1 -1
  54. package/esm/image-picker/index.js +0 -1
  55. package/esm/image-preview/index.d.ts +2 -10
  56. package/esm/image-preview/methods.js +3 -9
  57. package/esm/masking/index.d.ts +10 -0
  58. package/esm/masking/methods.js +3 -9
  59. package/esm/notify/methods.js +6 -7
  60. package/esm/popover/hooks/useEvent.js +6 -6
  61. package/esm/pull-refresh/android-pull-refresh.js +2 -0
  62. package/esm/pull-refresh/ios-pull-refresh.js +3 -2
  63. package/esm/pull-refresh/model.d.ts +6 -2
  64. package/esm/steps/demo/style/css/mobile.css +8 -2
  65. package/esm/steps/index.d.ts +1 -1
  66. package/esm/steps/index.js +5 -1
  67. package/esm/steps/step.js +5 -3
  68. package/esm/steps/style/css/index.css +78 -23
  69. package/esm/steps/style/index.less +92 -24
  70. package/esm/steps/type.d.ts +12 -0
  71. package/esm/swipe-action/index.js +21 -3
  72. package/esm/tabs/index.js +9 -5
  73. package/esm/tabs/style/css/index.css +8 -8
  74. package/esm/tabs/style/index.less +4 -4
  75. package/esm/tabs/tab-cell.js +4 -3
  76. package/esm/tabs/type.d.ts +11 -0
  77. package/esm/toast/methods.js +8 -9
  78. package/package.json +3 -3
  79. package/tokens/app/arcodesign/default/css-variables.less +7 -3
  80. package/tokens/app/arcodesign/default/index.d.ts +4 -0
  81. package/tokens/app/arcodesign/default/index.js +7 -3
  82. package/tokens/app/arcodesign/default/index.json +58 -10
  83. package/tokens/app/arcodesign/default/index.less +7 -3
  84. package/tokens/mixin/index.less +1 -1
  85. package/umd/_helpers/index.d.ts +1 -0
  86. package/umd/_helpers/index.js +10 -4
  87. package/umd/_helpers/react-dom.d.ts +13 -0
  88. package/umd/_helpers/react-dom.js +78 -0
  89. package/umd/_helpers/render.d.ts +10 -0
  90. package/umd/_helpers/render.js +51 -0
  91. package/umd/action-sheet/index.d.ts +1 -1
  92. package/umd/action-sheet/style/css/index.css +2 -2
  93. package/umd/action-sheet/style/index.less +1 -1
  94. package/umd/dialog/style/css/index.css +2 -2
  95. package/umd/dialog/style/index.less +1 -1
  96. package/umd/image-picker/index.js +0 -1
  97. package/umd/image-preview/index.d.ts +2 -10
  98. package/umd/image-preview/methods.js +6 -13
  99. package/umd/masking/index.d.ts +10 -0
  100. package/umd/masking/methods.js +6 -13
  101. package/umd/notify/methods.js +9 -12
  102. package/umd/popover/hooks/useEvent.js +6 -6
  103. package/umd/pull-refresh/android-pull-refresh.js +2 -0
  104. package/umd/pull-refresh/ios-pull-refresh.js +3 -2
  105. package/umd/pull-refresh/model.d.ts +6 -2
  106. package/umd/steps/demo/style/css/mobile.css +8 -2
  107. package/umd/steps/index.d.ts +1 -1
  108. package/umd/steps/index.js +5 -1
  109. package/umd/steps/step.js +5 -3
  110. package/umd/steps/style/css/index.css +78 -23
  111. package/umd/steps/style/index.less +92 -24
  112. package/umd/steps/type.d.ts +12 -0
  113. package/umd/swipe-action/index.js +21 -3
  114. package/umd/tabs/index.js +8 -4
  115. package/umd/tabs/style/css/index.css +8 -8
  116. package/umd/tabs/style/index.less +4 -4
  117. package/umd/tabs/tab-cell.js +4 -3
  118. package/umd/tabs/type.d.ts +11 -0
  119. package/umd/toast/methods.js +11 -14
@@ -516,9 +516,13 @@
516
516
  @notify-font-size: ~`pxtorem(14)`;
517
517
  @notify-min-height: ~`pxtorem(36)`;
518
518
  @steps-padding: ~`pxtorem(16)` 0;
519
- @steps-tail-horizontal-padding: 0 ~`pxtorem(18)`;
520
- @steps-tail-vertical-padding: ~`pxtorem(14)` 0;
521
- @steps-tail-vertical-top: ~`pxtorem(9)`;
519
+ @steps-tail-border-radius: 2PX;
520
+ @steps-tail-horizontal-gutter: 18PX;
521
+ @steps-tail-vertical-gutter: 14PX;
522
+ @steps-tail-horizontal-padding: 0 @steps-tail-horizontal-gutter;
523
+ @steps-tail-vertical-padding: @steps-tail-vertical-gutter 0;
524
+ @steps-tail-horizontal-left: 9PX;
525
+ @steps-tail-vertical-top: 9PX;
522
526
  @steps-tail-standard-size: 1PX;
523
527
  @steps-tail-standard-background: @line-color;
524
528
  @steps-tail-finish-background: @primary-color;
@@ -38,7 +38,7 @@
38
38
  }
39
39
  }
40
40
 
41
- .text-medium-var(@color, @stroke: 0.3PX) {
41
+ .text-medium-var(@color: currentColor, @stroke: 0.3PX) {
42
42
  .text-medium(@@color, @stroke);
43
43
  & when (@use-css-vars = 1) {
44
44
  .text-medium(var(~"--@{color}", @@color), @stroke);
@@ -5,6 +5,7 @@
5
5
  import { CSSProperties } from 'react';
6
6
  export * from './hooks';
7
7
  export * from './type';
8
+ export * from './react-dom';
8
9
  export declare function getStyleWithVendor(style: CSSProperties): CSSProperties;
9
10
  /**
10
11
  * 计算默认值,仅未定义时使用默认值
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "./hooks", "./type"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "./hooks", "./type", "./react-dom"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("./hooks"), require("./type"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("./hooks"), require("./type"), require("./react-dom"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.hooks, global.type);
10
+ factory(mod.exports, global._extends, global.hooks, global.type, global.reactDom);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends3, _hooks, _type) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends3, _hooks, _type, _reactDom) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -35,6 +35,12 @@
35
35
  if (key in _exports && _exports[key] === _type[key]) return;
36
36
  _exports[key] = _type[key];
37
37
  });
38
+ Object.keys(_reactDom).forEach(function (key) {
39
+ if (key === "default" || key === "__esModule") return;
40
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
41
+ if (key in _exports && _exports[key] === _reactDom[key]) return;
42
+ _exports[key] = _reactDom[key];
43
+ });
38
44
 
39
45
  /**
40
46
  * @type utils
@@ -0,0 +1,13 @@
1
+ import { ReactElement } from 'react';
2
+ export interface RootType {
3
+ render: (container: ReactElement) => void;
4
+ _unmount: () => void;
5
+ }
6
+ export interface RootTypeReact extends RootType {
7
+ unmount?: () => void;
8
+ }
9
+ export declare type CreateRootFnType = (container: Element | DocumentFragment) => RootTypeReact;
10
+ export declare const render: (app: ReactElement, container: Element | DocumentFragment) => {
11
+ render: (container: ReactElement) => void;
12
+ _unmount: () => void;
13
+ };
@@ -0,0 +1,78 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define(["exports", "react-dom"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports, require("react-dom"));
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports, global.reactDom);
11
+ global.reactDom = mod.exports;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _reactDom) {
14
+ "use strict";
15
+
16
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
18
+ _exports.__esModule = true;
19
+ _exports.render = void 0;
20
+ _reactDom = _interopRequireDefault(_reactDom);
21
+
22
+ var _CopyReactDOM$version;
23
+
24
+ function isObject(obj) {
25
+ return Object.prototype.toString.call(obj) === '[object Object]';
26
+ }
27
+
28
+ var __SECRET_INTERNALS__ = '__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED';
29
+ var CopyReactDOM = _reactDom.default;
30
+ var copyRender;
31
+ var isReact18 = Number((_CopyReactDOM$version = CopyReactDOM.version) == null ? void 0 : _CopyReactDOM$version.split('.')[0]) > 17;
32
+
33
+ var updateUsingClientEntryPoint = function updateUsingClientEntryPoint(skipWarning) {
34
+ // https://github.com/facebook/react/blob/17806594cc28284fe195f918e8d77de3516848ec/packages/react-dom/npm/client.js#L10
35
+ // Avoid console warning
36
+ if (isObject(CopyReactDOM[__SECRET_INTERNALS__])) {
37
+ CopyReactDOM[__SECRET_INTERNALS__].usingClientEntryPoint = skipWarning;
38
+ }
39
+ };
40
+
41
+ var createRoot;
42
+
43
+ try {
44
+ createRoot = CopyReactDOM.createRoot;
45
+ } catch (_) {}
46
+
47
+ if (isReact18 && createRoot) {
48
+ copyRender = function copyRender(app, container) {
49
+ updateUsingClientEntryPoint(true);
50
+ var root = createRoot(container);
51
+ updateUsingClientEntryPoint(false);
52
+ root.render(app);
53
+
54
+ root._unmount = function () {
55
+ setTimeout(function () {
56
+ root == null ? void 0 : root.unmount == null ? void 0 : root.unmount();
57
+ });
58
+ };
59
+
60
+ return root;
61
+ };
62
+ } else {
63
+ copyRender = function copyRender(app, container) {
64
+ CopyReactDOM.render(app, container);
65
+ return {
66
+ render: function render(comment) {
67
+ CopyReactDOM.render(comment, container);
68
+ },
69
+ _unmount: function _unmount() {
70
+ CopyReactDOM.unmountComponentAtNode(container);
71
+ }
72
+ };
73
+ };
74
+ }
75
+
76
+ var render = copyRender;
77
+ _exports.render = render;
78
+ });
@@ -0,0 +1,10 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { RootType } from './react-dom';
3
+ export declare class ReactDOMRender {
4
+ root: RootType | undefined;
5
+ app: FunctionComponent;
6
+ container: Element | DocumentFragment;
7
+ constructor(app: FunctionComponent, container: Element | DocumentFragment);
8
+ render: (props: any) => void;
9
+ unmount: () => void;
10
+ }
@@ -0,0 +1,51 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define(["exports", "react", "./react-dom"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports, require("react"), require("./react-dom"));
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports, global.react, global.reactDom);
11
+ global.render = mod.exports;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _reactDom) {
14
+ "use strict";
15
+
16
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
18
+ _exports.__esModule = true;
19
+ _exports.ReactDOMRender = void 0;
20
+ _react = _interopRequireDefault(_react);
21
+
22
+ var ReactDOMRender = function ReactDOMRender(app, container) {
23
+ var _this = this;
24
+
25
+ this.root = void 0;
26
+ this.app = void 0;
27
+ this.container = void 0;
28
+
29
+ this.render = function (props) {
30
+ var CustomApp = _this.app;
31
+
32
+ if (_this.root) {
33
+ _this.root.render( /*#__PURE__*/_react.default.createElement(CustomApp, props));
34
+ } else {
35
+ _this.root = (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(CustomApp, props), _this.container);
36
+ }
37
+ };
38
+
39
+ this.unmount = function () {
40
+ var _this$root;
41
+
42
+ (_this$root = _this.root) == null ? void 0 : _this$root._unmount();
43
+ _this.root = undefined;
44
+ };
45
+
46
+ this.app = app;
47
+ this.container = container;
48
+ };
49
+
50
+ _exports.ReactDOMRender = ReactDOMRender;
51
+ });
@@ -26,7 +26,7 @@ export interface ActionSheetItemOptions {
26
26
  * 点击选项事件,返回值为 true 时可以阻止动作面板关闭
27
27
  * @en Click option event, actionSheet will be prevent from closing when returning true
28
28
  */
29
- onClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => (void | boolean) | Promise<void | boolean>;
29
+ onClick?: (e?: React.MouseEvent<HTMLElement, MouseEvent>) => (void | boolean) | Promise<void | boolean>;
30
30
  }
31
31
  export interface ActionSheetProps extends Omit<PopupProps, 'children' | 'getScrollContainer' | 'orientationDirection' | 'direction'> {
32
32
  /**
@@ -46,8 +46,8 @@
46
46
  .arco-action-sheet-title.android,
47
47
  .arco-action-sheet-title.system-android {
48
48
  font-weight: 400;
49
- -webkit-text-stroke: 0.3PX #1d2129;
50
- text-stroke: 0.3PX #1d2129;
49
+ -webkit-text-stroke: 0.3PX currentColor;
50
+ text-stroke: 0.3PX currentColor;
51
51
  }
52
52
  .arco-action-sheet-sub-title {
53
53
  color: #86909c ;
@@ -11,7 +11,7 @@
11
11
 
12
12
  &-title {
13
13
  .use-var(font-size, action-sheet-title-font-size);
14
- .text-medium-var(font-color);
14
+ .text-medium();
15
15
  }
16
16
 
17
17
  &-sub-title {
@@ -126,8 +126,8 @@
126
126
  .arco-dialog-header.ios.android,
127
127
  .arco-dialog-header.ios.system-android {
128
128
  font-weight: 400;
129
- -webkit-text-stroke: 0.3PX #1d2129;
130
- text-stroke: 0.3PX #1d2129;
129
+ -webkit-text-stroke: 0.3PX currentColor;
130
+ text-stroke: 0.3PX currentColor;
131
131
  }
132
132
  .arco-dialog-header.ios.only-title {
133
133
  padding-bottom: 0.4rem ;
@@ -105,7 +105,7 @@
105
105
  .use-var(padding-right, dialog-ios-horizontal-padding);
106
106
  .use-var(font-size, dialog-header-ios-font-size);
107
107
  .use-var(line-height, dialog-header-ios-line-height);
108
- .text-medium-var(dialog-header-ios-color);
108
+ .text-medium();
109
109
 
110
110
  &.only-title {
111
111
  .use-var(padding-bottom, dialog-ios-vertical-padding);
@@ -191,7 +191,6 @@
191
191
  var timeOutEvent;
192
192
 
193
193
  var handleTouchStart = function handleTouchStart(e, image, index) {
194
- e.preventDefault();
195
194
  timeOutEvent = setTimeout(function () {
196
195
  timeOutEvent = 0;
197
196
  onLongPress == null ? void 0 : onLongPress(e, image, index);
@@ -254,11 +254,7 @@ export declare function methodsGenerator<P extends ImagePreviewProps>(Comp: Reac
254
254
  */
255
255
  open: (config: Pick<P, Exclude<keyof P, "close">>) => {
256
256
  close: () => void;
257
- update: (newConfig: Pick<P, Exclude<keyof P, "close">>) => void; /**
258
- * 是否可循环滑动
259
- * @en Whether it can be swiped circularly
260
- * @default false
261
- */
257
+ update: (newConfig: Pick<P, Exclude<keyof P, "close">>) => void;
262
258
  };
263
259
  };
264
260
  declare const _default: React.ForwardRefExoticComponent<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>> & {
@@ -270,11 +266,7 @@ declare const _default: React.ForwardRefExoticComponent<ImagePreviewProps & Reac
270
266
  */
271
267
  open: (config: Pick<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>, "style" | "ref" | "key" | "getContainer" | "className" | "onClose" | "onTouchMove" | "fit" | "loadingArea" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "onChange" | "onTouchEnd" | "onTouchStart" | "animateDurationSlide" | "loop" | "swipeable" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "lazyloadCount" | "onAfterChange" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">) => {
272
268
  close: () => void;
273
- update: (newConfig: Pick<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>, "style" | "ref" | "key" | "getContainer" | "className" | "onClose" | "onTouchMove" | "fit" | "loadingArea" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "onChange" | "onTouchEnd" | "onTouchStart" | "animateDurationSlide" | "loop" | "swipeable" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "lazyloadCount" | "onAfterChange" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">) => void; /**
274
- * 是否可循环滑动
275
- * @en Whether it can be swiped circularly
276
- * @default false
277
- */
269
+ update: (newConfig: Pick<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>, "style" | "ref" | "key" | "getContainer" | "className" | "onClose" | "onTouchMove" | "fit" | "loadingArea" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "onChange" | "onTouchEnd" | "onTouchStart" | "animateDurationSlide" | "loop" | "swipeable" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "lazyloadCount" | "onAfterChange" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">) => void;
278
270
  };
279
271
  };
280
272
  /**
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "react", "react-dom", "@arco-design/mobile-utils"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "@arco-design/mobile-utils", "../_helpers/render"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("react-dom"), require("@arco-design/mobile-utils"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("@arco-design/mobile-utils"), require("../_helpers/render"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.react, global.reactDom, global.mobileUtils);
10
+ factory(mod.exports, global._extends, global.mobileUtils, global.render);
11
11
  global.methods = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _reactDom, _mobileUtils) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _mobileUtils, _render) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -18,8 +18,6 @@
18
18
  _exports.__esModule = true;
19
19
  _exports.open = open;
20
20
  _extends2 = _interopRequireDefault(_extends2);
21
- _react = _interopRequireDefault(_react);
22
- _reactDom = _interopRequireDefault(_reactDom);
23
21
 
24
22
  function open(Component) {
25
23
  return function (config) {
@@ -38,13 +36,8 @@
38
36
 
39
37
  var leaving = false;
40
38
 
41
- function render(props) {
42
- _reactDom.default.render( /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, {
43
- getContainer: function getContainer() {
44
- return div;
45
- }
46
- })), div);
47
- }
39
+ var _ReactDOMRender = new _render.ReactDOMRender(Component, div),
40
+ render = _ReactDOMRender.render;
48
41
 
49
42
  function update(newConfig) {
50
43
  dynamicProps = (0, _extends2.default)({}, dynamicProps, newConfig || {});
@@ -192,6 +192,11 @@ export declare function methodsGenerator<P extends OpenBaseProps>(Comp: React.Fu
192
192
  open: (config: Pick<P, Exclude<keyof P, "visible" | "close">> & {
193
193
  key?: string | undefined;
194
194
  }) => {
195
+ /**
196
+ * 点击蒙层是否关闭菜单
197
+ * @en Whether to click the mask to close the menu
198
+ * @default true
199
+ */
195
200
  close: () => void;
196
201
  update: (newConfig: Pick<P, Exclude<keyof P, "visible" | "close">> & {
197
202
  key?: string | undefined;
@@ -208,6 +213,11 @@ declare const _default: React.ForwardRefExoticComponent<MaskingProps & React.Ref
208
213
  open: (config: Pick<MaskingProps & React.RefAttributes<MaskingRef>, "ref" | "children" | "key" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "className" | "onClose" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onTouchMove" | "onPreventTouchMove" | "getScrollContainer"> & {
209
214
  key?: string | undefined;
210
215
  }) => {
216
+ /**
217
+ * 点击蒙层是否关闭菜单
218
+ * @en Whether to click the mask to close the menu
219
+ * @default true
220
+ */
211
221
  close: () => void;
212
222
  update: (newConfig: Pick<MaskingProps & React.RefAttributes<MaskingRef>, "ref" | "children" | "key" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "className" | "onClose" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onTouchMove" | "onPreventTouchMove" | "getScrollContainer"> & {
213
223
  key?: string | undefined;
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "react", "react-dom", "@arco-design/mobile-utils"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "@arco-design/mobile-utils", "../_helpers/render"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("react-dom"), require("@arco-design/mobile-utils"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("@arco-design/mobile-utils"), require("../_helpers/render"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.react, global.reactDom, global.mobileUtils);
10
+ factory(mod.exports, global._extends, global.mobileUtils, global.render);
11
11
  global.methods = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _reactDom, _mobileUtils) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _mobileUtils, _render) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -19,8 +19,6 @@
19
19
  _exports.getOpenMethod = getOpenMethod;
20
20
  _exports.open = open;
21
21
  _extends2 = _interopRequireDefault(_extends2);
22
- _react = _interopRequireDefault(_react);
23
- _reactDom = _interopRequireDefault(_reactDom);
24
22
 
25
23
  function getOpenMethod(Component, containerId, normalize) {
26
24
  if (normalize === void 0) {
@@ -45,13 +43,8 @@
45
43
 
46
44
  var leaving = false;
47
45
 
48
- function render(props) {
49
- _reactDom.default.render( /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, {
50
- getContainer: function getContainer() {
51
- return div;
52
- }
53
- })), div);
54
- }
46
+ var _ReactDOMRender = new _render.ReactDOMRender(Component, div),
47
+ render = _ReactDOMRender.render;
55
48
 
56
49
  function update(newConfig) {
57
50
  dynamicProps = (0, _extends2.default)({}, dynamicProps, normalize(newConfig));
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "@arco-design/mobile-utils", "react", "react-dom"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "@arco-design/mobile-utils", "../_helpers/render"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("@arco-design/mobile-utils"), require("react"), require("react-dom"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("@arco-design/mobile-utils"), require("../_helpers/render"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.mobileUtils, global.react, global.reactDom);
10
+ factory(mod.exports, global._extends, global.mobileUtils, global.render);
11
11
  global.methods = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _mobileUtils, _react, _reactDom) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _mobileUtils, _render) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -18,8 +18,6 @@
18
18
  _exports.__esModule = true;
19
19
  _exports.notify = notify;
20
20
  _extends2 = _interopRequireDefault(_extends2);
21
- _react = _interopRequireDefault(_react);
22
- _reactDom = _interopRequireDefault(_reactDom);
23
21
 
24
22
  function notify(Component, type) {
25
23
  return function (originConfig) {
@@ -41,17 +39,16 @@
41
39
  document.body.appendChild(div);
42
40
  }
43
41
 
44
- function render(props) {
45
- _reactDom.default.render( /*#__PURE__*/_react.default.createElement(Component, props), div);
46
- }
42
+ var _ReactDOMRender = new _render.ReactDOMRender(Component, div),
43
+ render = _ReactDOMRender.render,
44
+ unmount = _ReactDOMRender.unmount;
47
45
 
48
46
  function destroy() {
49
47
  var onClose = config.onClose;
50
48
  onClose && onClose();
49
+ unmount();
51
50
 
52
- var unmountResult = _reactDom.default.unmountComponentAtNode(div);
53
-
54
- if (unmountResult && div.parentNode) {
51
+ if (div.parentNode) {
55
52
  div.parentNode.removeChild(div);
56
53
  }
57
54
  }
@@ -56,6 +56,7 @@
56
56
  onVisibleChange(false);
57
57
  window.clearTimeout(closeTimer.current);
58
58
  closeTimer.current = 0;
59
+ mayRemoveEventListenerOnBody();
59
60
  };
60
61
 
61
62
  var throttleHandleVerticalScroll = (0, _react.useMemo)(function () {
@@ -75,7 +76,7 @@
75
76
  };
76
77
  }, [throttleHandleVerticalScroll, getVerticalScrollContainer, autoVerticalDirection, visibleRef]);
77
78
  var mayRemoveEventListenerOnBody = (0, _react.useCallback)(function () {
78
- document.body.removeEventListener('click', handleClickBody);
79
+ document.body.removeEventListener('click', handleClickBody, true);
79
80
  document.body.removeEventListener('touchstart', handleTouchBody);
80
81
  var el = getVerticalScrollContainer();
81
82
 
@@ -90,7 +91,6 @@
90
91
  // 仅处理子元素和气泡元素外的点击事件
91
92
  // @en Only handle click events outside of children elements and bubble elements
92
93
  if (!(0, _mobileUtils.isContains)(wrapperRef.current, e.target) && !(0, _mobileUtils.isContains)(((_popoverInnerRef$curr = popoverInnerRef.current) == null ? void 0 : _popoverInnerRef$curr.dom) || null, e.target)) {
93
- // TODO: 这里仅阻止了react事件,react 18 将不再在document上挂事件,这里的stop会失效
94
94
  if (preventBodyClick) {
95
95
  e.stopPropagation();
96
96
  e.preventDefault();
@@ -116,13 +116,13 @@
116
116
  var handle = function handle(e) {
117
117
  e.stopPropagation();
118
118
  e.preventDefault();
119
- document.body.removeEventListener('click', handle);
119
+ document.body.removeEventListener('click', handle, true);
120
120
  clearTimeout(preventRecentClickTimer);
121
121
  };
122
122
 
123
- document.body.addEventListener('click', handle);
123
+ document.body.addEventListener('click', handle, true);
124
124
  preventRecentClickTimer = window.setTimeout(function () {
125
- document.body.removeEventListener('click', handle);
125
+ document.body.removeEventListener('click', handle, true);
126
126
  }, 500);
127
127
  };
128
128
 
@@ -165,7 +165,7 @@
165
165
  var el = getVerticalScrollContainer();
166
166
  el && el.addEventListener('scroll', handleScrollBody);
167
167
  } else if (clickOtherToClose) {
168
- document.body.addEventListener('click', handleClickBody);
168
+ document.body.addEventListener('click', handleClickBody, true);
169
169
  }
170
170
  };
171
171
  /**
@@ -37,6 +37,7 @@
37
37
  locale = _useContext$locale === void 0 ? _mobileUtils.defaultLocale : _useContext$locale;
38
38
 
39
39
  var className = props.className,
40
+ style = props.style,
40
41
  children = props.children,
41
42
  _props$loosingText = props.loosingText,
42
43
  loosingText = _props$loosingText === void 0 ? /*#__PURE__*/_react.default.createElement("div", {
@@ -273,6 +274,7 @@
273
274
  className: (0, _mobileUtils.cls)(prefixCls + "-pull-refresh all-border-box is-android", className, {
274
275
  'is-disabled': (disabled || !touching && useHideAsNestedScroll) && status !== _model.PullRefreshStatus.Loading
275
276
  }),
277
+ style: style,
276
278
  ref: domRef
277
279
  }, /*#__PURE__*/_react.default.createElement("div", {
278
280
  className: (0, _mobileUtils.cls)(prefixCls + "-pull-refresh-place"),
@@ -35,6 +35,7 @@
35
35
 
36
36
  var animationRef = (0, _react.useRef)(0);
37
37
  var className = props.className,
38
+ style = props.style,
38
39
  children = props.children,
39
40
  _props$loadingText = props.loadingText,
40
41
  loadingText = _props$loadingText === void 0 ? /*#__PURE__*/_react.default.createElement("div", {
@@ -214,9 +215,9 @@
214
215
  'is-disabled': disabled || !touching && useHideAsNestedScroll
215
216
  }),
216
217
  ref: domRef,
217
- style: contentHeight > 0 ? {
218
+ style: contentHeight > 0 ? (0, _extends2.default)({
218
219
  height: contentHeight
219
- } : {}
220
+ }, style || {}) : style
220
221
  }, /*#__PURE__*/_react.default.createElement("div", {
221
222
  className: (0, _mobileUtils.cls)(prefixCls + "-pull-refresh-content-wrapper")
222
223
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from 'react';
1
+ import type { CSSProperties, ReactNode } from 'react';
2
2
  export interface PullRefreshRef {
3
3
  /**
4
4
  * 最外层元素 DOM
@@ -32,9 +32,13 @@ export interface PullRefreshBasicProps {
32
32
  /**
33
33
  * 样式类名
34
34
  * @en Custom classname
35
- * @default ""
36
35
  */
37
36
  className?: string;
37
+ /**
38
+ * 自定义样式
39
+ * @en Custom style
40
+ */
41
+ style?: CSSProperties;
38
42
  /**
39
43
  * 是否禁用
40
44
  * @en Whether to be disabled
@@ -30,7 +30,10 @@
30
30
  #demo-steps #demo-order-7 .process-title-color-with-config {
31
31
  color: #FFB400;
32
32
  }
33
- #demo-steps #demo-order-7 .finish-tail-color-with-config:after {
33
+ #demo-steps #demo-order-7 .finish-tail-color-with-config::before,
34
+ #demo-steps #demo-order-7 .finish-tail-color-with-config::after,
35
+ #demo-steps #demo-order-7 .process-tail-color-with-config::before,
36
+ #demo-steps #demo-order-7 .error-tail-color-with-config::before {
34
37
  background: #FFB400;
35
38
  }
36
39
  #demo-steps #demo-order-8 .demo-svg .arco-steps-item-custom-icon {
@@ -57,7 +60,10 @@
57
60
  #demo-steps #demo-order-8 .demo-svg .process-title-color-with-config {
58
61
  color: #165DFF;
59
62
  }
60
- #demo-steps #demo-order-8 .demo-svg .finish-tail-color-with-config:after {
63
+ #demo-steps #demo-order-8 .demo-svg .finish-tail-color-with-config::before,
64
+ #demo-steps #demo-order-8 .demo-svg .finish-tail-color-with-config::after,
65
+ #demo-steps #demo-order-8 .demo-svg .process-tail-color-with-config::before,
66
+ #demo-steps #demo-order-8 .demo-svg .error-tail-color-with-config::before {
61
67
  background: #165DFF;
62
68
  }
63
69
  #demo-steps #demo-order-8 .demo-svg .arco-steps-item-custom-icon {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { StepsProps, StepsRef } from './type';
3
3
  export * from './type';
4
- export declare const StepsContext: React.Context<Pick<StepsProps, "direction" | "status" | "current" | "iconType"> & {
4
+ export declare const StepsContext: React.Context<Pick<StepsProps, "direction" | "status" | "current" | "align" | "iconType"> & {
5
5
  index?: number | undefined;
6
6
  changeIndex: (newIndex: number) => void;
7
7
  }>;