@arco-design/mobile-react 2.21.3 → 2.22.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.
- package/CHANGELOG.md +17 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/index.d.ts +1 -0
- package/cjs/_helpers/index.js +9 -0
- package/cjs/_helpers/react-dom.d.ts +13 -0
- package/cjs/_helpers/react-dom.js +65 -0
- package/cjs/_helpers/render.d.ts +10 -0
- package/cjs/_helpers/render.js +40 -0
- package/cjs/action-sheet/index.d.ts +1 -1
- package/cjs/image-picker/index.js +0 -1
- package/cjs/image-preview/index.d.ts +2 -10
- package/cjs/image-preview/methods.js +4 -11
- package/cjs/masking/index.d.ts +10 -0
- package/cjs/masking/methods.js +4 -11
- package/cjs/notify/methods.js +6 -9
- package/cjs/popover/hooks/useEvent.js +6 -6
- package/cjs/swipe-action/index.js +21 -3
- package/cjs/tabs/index.js +5 -2
- package/cjs/tabs/tab-cell.js +4 -3
- package/cjs/tabs/type.d.ts +11 -0
- package/cjs/toast/methods.js +9 -12
- package/dist/index.js +167 -72
- package/dist/index.min.js +3 -3
- package/esm/_helpers/index.d.ts +1 -0
- package/esm/_helpers/index.js +1 -0
- package/esm/_helpers/react-dom.d.ts +13 -0
- package/esm/_helpers/react-dom.js +57 -0
- package/esm/_helpers/render.d.ts +10 -0
- package/esm/_helpers/render.js +29 -0
- package/esm/action-sheet/index.d.ts +1 -1
- package/esm/image-picker/index.js +0 -1
- package/esm/image-preview/index.d.ts +2 -10
- package/esm/image-preview/methods.js +3 -9
- package/esm/masking/index.d.ts +10 -0
- package/esm/masking/methods.js +3 -9
- package/esm/notify/methods.js +6 -7
- package/esm/popover/hooks/useEvent.js +6 -6
- package/esm/swipe-action/index.js +21 -3
- package/esm/tabs/index.js +5 -2
- package/esm/tabs/tab-cell.js +4 -3
- package/esm/tabs/type.d.ts +11 -0
- package/esm/toast/methods.js +8 -9
- package/package.json +3 -3
- package/umd/_helpers/index.d.ts +1 -0
- package/umd/_helpers/index.js +10 -4
- package/umd/_helpers/react-dom.d.ts +13 -0
- package/umd/_helpers/react-dom.js +78 -0
- package/umd/_helpers/render.d.ts +10 -0
- package/umd/_helpers/render.js +51 -0
- package/umd/action-sheet/index.d.ts +1 -1
- package/umd/image-picker/index.js +0 -1
- package/umd/image-preview/index.d.ts +2 -10
- package/umd/image-preview/methods.js +6 -13
- package/umd/masking/index.d.ts +10 -0
- package/umd/masking/methods.js +6 -13
- package/umd/notify/methods.js +9 -12
- package/umd/popover/hooks/useEvent.js +6 -6
- package/umd/swipe-action/index.js +21 -3
- package/umd/tabs/index.js +5 -2
- package/umd/tabs/tab-cell.js +4 -3
- package/umd/tabs/type.d.ts +11 -0
- package/umd/toast/methods.js +11 -14
@@ -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
|
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
|
/**
|
@@ -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", "
|
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("
|
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.
|
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,
|
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
|
-
|
42
|
-
|
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 || {});
|
package/umd/masking/index.d.ts
CHANGED
@@ -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;
|
package/umd/masking/methods.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
(function (global, factory) {
|
2
2
|
if (typeof define === "function" && define.amd) {
|
3
|
-
define(["exports", "@babel/runtime/helpers/extends", "
|
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("
|
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.
|
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,
|
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
|
-
|
49
|
-
|
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));
|
package/umd/notify/methods.js
CHANGED
@@ -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", "
|
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("
|
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.
|
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,
|
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
|
-
|
45
|
-
|
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
|
-
|
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
|
/**
|
@@ -71,6 +71,7 @@
|
|
71
71
|
|
72
72
|
var dampRateRef = (0, _helpers.useLatestRef)(dampRate);
|
73
73
|
var forbidClick = (0, _react.useRef)(false);
|
74
|
+
var scrollingRef = (0, _react.useRef)(null);
|
74
75
|
|
75
76
|
var _useRefState = (0, _helpers.useRefState)(false),
|
76
77
|
moving = _useRefState[0],
|
@@ -87,6 +88,7 @@
|
|
87
88
|
|
88
89
|
var startRef = (0, _react.useRef)(0);
|
89
90
|
var startX = (0, _react.useRef)(0);
|
91
|
+
var startY = (0, _react.useRef)(0);
|
90
92
|
var slideX = (0, _react.useRef)(0);
|
91
93
|
var isLayer = openStyleType === 'layer';
|
92
94
|
var transitionStyle = (0, _react.useMemo)(function () {
|
@@ -97,6 +99,7 @@
|
|
97
99
|
|
98
100
|
function resetMoveData() {
|
99
101
|
startX.current = 0;
|
102
|
+
startY.current = 0;
|
100
103
|
slideX.current = 0;
|
101
104
|
}
|
102
105
|
|
@@ -108,19 +111,34 @@
|
|
108
111
|
function touchstart(e) {
|
109
112
|
startRef.current = offsetRef.current;
|
110
113
|
resetMoveData();
|
114
|
+
scrollingRef.current = null;
|
111
115
|
startX.current = e.touches[0].pageX;
|
116
|
+
startY.current = e.touches[0].pageY;
|
112
117
|
}
|
113
118
|
|
114
119
|
function touchmove(e) {
|
115
|
-
e.
|
116
|
-
|
120
|
+
var x = e.changedTouches[0].pageX - startX.current;
|
121
|
+
var y = e.changedTouches[0].pageY - startY.current;
|
122
|
+
|
123
|
+
if (scrollingRef.current === null) {
|
124
|
+
scrollingRef.current = Math.abs(x) < Math.abs(y);
|
125
|
+
}
|
126
|
+
|
127
|
+
if (scrollingRef.current) {
|
128
|
+
setMoving(false);
|
129
|
+
setOffset(0);
|
130
|
+
return;
|
131
|
+
}
|
132
|
+
|
133
|
+
e.cancelable && e.preventDefault();
|
134
|
+
slideX.current = x;
|
117
135
|
forbidClick.current = true;
|
118
136
|
setMoving(true);
|
119
137
|
setOffset(getMenuCurrentWidth(slideX.current + startRef.current, -rightMenuWidthRef.current, leftMenuWidthRef.current));
|
120
138
|
}
|
121
139
|
|
122
140
|
function touchend() {
|
123
|
-
if (movingRef.current) {
|
141
|
+
if (movingRef.current && !scrollingRef.current) {
|
124
142
|
var currentMenu = offsetRef.current > 0 ? 'left' : 'right';
|
125
143
|
changeMenu(currentMenu);
|
126
144
|
setMoving(false);
|
package/umd/tabs/index.js
CHANGED
@@ -143,7 +143,9 @@
|
|
143
143
|
_props$translateZ = props.translateZ,
|
144
144
|
translateZ = _props$translateZ === void 0 ? true : _props$translateZ,
|
145
145
|
fullScreen = props.fullScreen,
|
146
|
-
autoHeight = props.autoHeight
|
146
|
+
autoHeight = props.autoHeight,
|
147
|
+
_props$tabBarStopProp = props.tabBarStopPropagation,
|
148
|
+
tabBarStopPropagation = _props$tabBarStopProp === void 0 ? true : _props$tabBarStopProp;
|
147
149
|
var domRef = (0, _react.useRef)(null);
|
148
150
|
var cellRef = (0, _react.useRef)(null);
|
149
151
|
var paneRef = (0, _react.useRef)(null);
|
@@ -497,7 +499,8 @@
|
|
497
499
|
renderTabBarItem: renderTabBarItem,
|
498
500
|
renderTabBarInner: renderTabBarInner,
|
499
501
|
tabBarStyle: tabBarStyle,
|
500
|
-
tabBarClass: tabBarClass
|
502
|
+
tabBarClass: tabBarClass,
|
503
|
+
tabBarStopPropagation: tabBarStopPropagation
|
501
504
|
}, commonProps);
|
502
505
|
|
503
506
|
var CellComp = /*#__PURE__*/_react.default.createElement(_tabCell.default, cellProps);
|
package/umd/tabs/tab-cell.js
CHANGED
@@ -70,7 +70,8 @@
|
|
70
70
|
renderTabBarInner = props.renderTabBarInner,
|
71
71
|
tabBarStyle = props.tabBarStyle,
|
72
72
|
tabBarClass = props.tabBarClass,
|
73
|
-
translateZ = props.translateZ
|
73
|
+
translateZ = props.translateZ,
|
74
|
+
tabBarStopPropagation = props.tabBarStopPropagation;
|
74
75
|
var prefix = prefixCls + "-tab-cell";
|
75
76
|
var domRef = (0, _react.useRef)(null);
|
76
77
|
var underlineRef = (0, _react.useRef)(null);
|
@@ -162,13 +163,13 @@
|
|
162
163
|
return e.stopPropagation();
|
163
164
|
};
|
164
165
|
|
165
|
-
if (isVertical && hasOverflow && domRef.current) {
|
166
|
+
if (isVertical && hasOverflow && domRef.current && tabBarStopPropagation) {
|
166
167
|
domRef.current.addEventListener('touchstart', stopFunc);
|
167
168
|
domRef.current.addEventListener('touchmove', stopFunc);
|
168
169
|
}
|
169
170
|
|
170
171
|
return function () {
|
171
|
-
if (isVertical && hasOverflow && domRef.current) {
|
172
|
+
if (isVertical && hasOverflow && domRef.current && tabBarStopPropagation) {
|
172
173
|
domRef.current.removeEventListener('touchstart', stopFunc);
|
173
174
|
domRef.current.removeEventListener('touchmove', stopFunc);
|
174
175
|
}
|
package/umd/tabs/type.d.ts
CHANGED
@@ -421,6 +421,12 @@ export interface TabsProps {
|
|
421
421
|
* @en Tabbar underline inner style, applied to tab-cell-underline-inner
|
422
422
|
*/
|
423
423
|
underlineInnerStyle?: React.CSSProperties;
|
424
|
+
/**
|
425
|
+
* 当前 TabBar 的触摸事件是否需要 stopPropagation
|
426
|
+
* @en Does the touch event of the current TabBar require stopPropagation
|
427
|
+
* @default true
|
428
|
+
*/
|
429
|
+
tabBarStopPropagation?: boolean;
|
424
430
|
}
|
425
431
|
export interface TabsRef {
|
426
432
|
/**
|
@@ -510,6 +516,11 @@ export interface TabCellProps extends Pick<TabsProps, 'tabs' | 'type' | 'onTabCl
|
|
510
516
|
* @en The distance the underline has been swiped
|
511
517
|
*/
|
512
518
|
jumpingDis: number;
|
519
|
+
/**
|
520
|
+
* 当前 TabBar 的触摸事件是否需要 stopPropagation
|
521
|
+
* @en Does the touch event of the current TabBar require stopPropagation
|
522
|
+
*/
|
523
|
+
tabBarStopPropagation: boolean;
|
513
524
|
}
|
514
525
|
export interface TabCellRef {
|
515
526
|
/**
|
package/umd/toast/methods.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
(function (global, factory) {
|
2
2
|
if (typeof define === "function" && define.amd) {
|
3
|
-
define(["exports", "@babel/runtime/helpers/extends", "
|
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("
|
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.
|
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,
|
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.toast = toast;
|
20
20
|
_extends2 = _interopRequireDefault(_extends2);
|
21
|
-
_react = _interopRequireDefault(_react);
|
22
|
-
_reactDom = _interopRequireDefault(_reactDom);
|
23
21
|
|
24
22
|
function toast(Component, type) {
|
25
23
|
return function (originConfig) {
|
@@ -36,17 +34,16 @@
|
|
36
34
|
var div = document.createElement('div');
|
37
35
|
document.body.appendChild(div);
|
38
36
|
|
39
|
-
|
40
|
-
|
41
|
-
|
37
|
+
var _ReactDOMRender = new _render.ReactDOMRender(Component, div),
|
38
|
+
render = _ReactDOMRender.render,
|
39
|
+
unmount = _ReactDOMRender.unmount;
|
42
40
|
|
43
|
-
function
|
41
|
+
function destroy() {
|
44
42
|
var onClose = config.onClose;
|
45
43
|
onClose && onClose();
|
44
|
+
unmount();
|
46
45
|
|
47
|
-
|
48
|
-
|
49
|
-
if (unmountResult && div.parentNode) {
|
46
|
+
if (div.parentNode) {
|
50
47
|
div.parentNode.removeChild(div);
|
51
48
|
}
|
52
49
|
}
|
@@ -56,7 +53,7 @@
|
|
56
53
|
getContainer: function getContainer() {
|
57
54
|
return div;
|
58
55
|
},
|
59
|
-
onClose:
|
56
|
+
onClose: destroy,
|
60
57
|
visible: false
|
61
58
|
});
|
62
59
|
var leaving = false;
|