@arco-design/mobile-react 2.29.4 → 2.29.6

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 (86) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/action-sheet/index.d.ts +2 -2
  5. package/cjs/dialog/index.d.ts +2 -2
  6. package/cjs/image/index.d.ts +7 -7
  7. package/cjs/image/index.js +81 -61
  8. package/cjs/image-picker/index.js +14 -6
  9. package/cjs/image-preview/index.d.ts +2 -2
  10. package/cjs/image-preview/index.js +11 -5
  11. package/cjs/image-preview/methods.d.ts +1 -0
  12. package/cjs/image-preview/methods.js +7 -2
  13. package/cjs/index.d.ts +5 -5
  14. package/cjs/index.js +16 -16
  15. package/cjs/load-more/index.d.ts +7 -2
  16. package/cjs/load-more/index.js +9 -1
  17. package/cjs/masking/index.d.ts +2 -2
  18. package/cjs/masking/methods.js +7 -2
  19. package/cjs/popup/index.d.ts +2 -2
  20. package/cjs/popup-swiper/index.d.ts +4 -10
  21. package/cjs/pull-refresh/android-pull-refresh.js +12 -20
  22. package/cjs/pull-refresh/hooks.js +2 -2
  23. package/cjs/pull-refresh/style/css/index.css +0 -1
  24. package/cjs/pull-refresh/style/index.less +0 -1
  25. package/cjs/style.d.ts +5 -5
  26. package/cjs/style.js +8 -8
  27. package/cjs/tabs/index.js +4 -1
  28. package/cjs/tabs/tab-pane.js +5 -2
  29. package/cjs/toast/index.d.ts +12 -12
  30. package/dist/index.js +2505 -2458
  31. package/dist/index.min.js +4 -4
  32. package/dist/style.css +503 -504
  33. package/dist/style.min.css +1 -1
  34. package/esm/action-sheet/index.d.ts +2 -2
  35. package/esm/dialog/index.d.ts +2 -2
  36. package/esm/image/index.d.ts +7 -7
  37. package/esm/image/index.js +81 -61
  38. package/esm/image-picker/index.js +13 -6
  39. package/esm/image-preview/index.d.ts +2 -2
  40. package/esm/image-preview/index.js +11 -5
  41. package/esm/image-preview/methods.d.ts +1 -0
  42. package/esm/image-preview/methods.js +7 -3
  43. package/esm/index.d.ts +5 -5
  44. package/esm/index.js +5 -5
  45. package/esm/load-more/index.d.ts +7 -2
  46. package/esm/load-more/index.js +9 -1
  47. package/esm/masking/index.d.ts +2 -2
  48. package/esm/masking/methods.js +7 -3
  49. package/esm/popup/index.d.ts +2 -2
  50. package/esm/popup-swiper/index.d.ts +4 -10
  51. package/esm/pull-refresh/android-pull-refresh.js +13 -22
  52. package/esm/pull-refresh/hooks.js +2 -2
  53. package/esm/pull-refresh/style/css/index.css +0 -1
  54. package/esm/pull-refresh/style/index.less +0 -1
  55. package/esm/style.d.ts +5 -5
  56. package/esm/style.js +5 -5
  57. package/esm/tabs/index.js +4 -1
  58. package/esm/tabs/tab-pane.js +6 -3
  59. package/esm/toast/index.d.ts +12 -12
  60. package/package.json +3 -3
  61. package/umd/action-sheet/index.d.ts +2 -2
  62. package/umd/dialog/index.d.ts +2 -2
  63. package/umd/image/index.d.ts +7 -7
  64. package/umd/image/index.js +81 -61
  65. package/umd/image-picker/index.js +16 -10
  66. package/umd/image-preview/index.d.ts +2 -2
  67. package/umd/image-preview/index.js +11 -5
  68. package/umd/image-preview/methods.d.ts +1 -0
  69. package/umd/image-preview/methods.js +7 -2
  70. package/umd/index.d.ts +5 -5
  71. package/umd/index.js +14 -14
  72. package/umd/load-more/index.d.ts +7 -2
  73. package/umd/load-more/index.js +9 -1
  74. package/umd/masking/index.d.ts +2 -2
  75. package/umd/masking/methods.js +7 -2
  76. package/umd/popup/index.d.ts +2 -2
  77. package/umd/popup-swiper/index.d.ts +4 -10
  78. package/umd/pull-refresh/android-pull-refresh.js +15 -24
  79. package/umd/pull-refresh/hooks.js +2 -2
  80. package/umd/pull-refresh/style/css/index.css +0 -1
  81. package/umd/pull-refresh/style/index.less +0 -1
  82. package/umd/style.d.ts +5 -5
  83. package/umd/style.js +2 -2
  84. package/umd/tabs/index.js +4 -1
  85. package/umd/tabs/tab-pane.js +5 -2
  86. package/umd/toast/index.d.ts +12 -12
@@ -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", "es6-promise", "@arco-design/mobile-utils", "../context-provider", "../icon", "../image", "../grid", "./add-icon", "./type"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "react", "es6-promise", "@arco-design/mobile-utils", "../context-provider", "../icon", "../image", "../grid", "./add-icon", "../_helpers", "./type"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("es6-promise"), require("@arco-design/mobile-utils"), require("../context-provider"), require("../icon"), require("../image"), require("../grid"), require("./add-icon"), require("./type"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("es6-promise"), require("@arco-design/mobile-utils"), require("../context-provider"), require("../icon"), require("../image"), require("../grid"), require("./add-icon"), require("../_helpers"), require("./type"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.react, global.es6Promise, global.mobileUtils, global.contextProvider, global.icon, global.image, global.grid, global.addIcon, global.type);
10
+ factory(mod.exports, global._extends, global.react, global.es6Promise, global.mobileUtils, global.contextProvider, global.icon, global.image, global.grid, global.addIcon, global._helpers, global.type);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _es6Promise, _mobileUtils, _contextProvider, _icon, _image, _grid, _addIcon, _type) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _es6Promise, _mobileUtils, _contextProvider, _icon, _image, _grid, _addIcon, _helpers, _type) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -78,7 +78,7 @@
78
78
  onDeleteClick = props.onDeleteClick;
79
79
  var domRef = (0, _react.useRef)(null);
80
80
  var fileRef = (0, _react.useRef)(null);
81
- var cacheRef = (0, _react.useRef)([]);
81
+ var cacheRef = (0, _helpers.useLatestRef)(images);
82
82
  (0, _react.useImperativeHandle)(ref, function () {
83
83
  return {
84
84
  dom: domRef.current
@@ -145,7 +145,7 @@
145
145
  file: files[index]
146
146
  };
147
147
  });
148
- cacheRef.current = [].concat(images, res);
148
+ cacheRef.current = [].concat(cacheRef.current, res);
149
149
  onChange([].concat(cacheRef.current)); // 执行upload
150
150
 
151
151
  if (typeof upload === 'function') {
@@ -158,15 +158,21 @@
158
158
  var file = _ref2.file;
159
159
  return file === _file;
160
160
  });
161
- cacheRef.current[index] = (0, _extends2.default)({}, cacheRef.current[index], data, {
162
- status: undefined
163
- });
161
+
162
+ if (index !== -1) {
163
+ cacheRef.current[index] = (0, _extends2.default)({}, cacheRef.current[index], data, {
164
+ status: undefined
165
+ });
166
+ }
164
167
  }).catch(function () {
165
168
  var index = cacheRef.current.findIndex(function (_ref3) {
166
169
  var file = _ref3.file;
167
170
  return file === _file;
168
171
  });
169
- cacheRef.current[index].status = 'error';
172
+
173
+ if (index !== -1) {
174
+ cacheRef.current[index].status = 'error';
175
+ }
170
176
  }).finally(function () {
171
177
  onChange([].concat(cacheRef.current));
172
178
  });
@@ -274,9 +274,9 @@ declare const _default: React.ForwardRefExoticComponent<ImagePreviewProps & Reac
274
274
  * @param {ImagePreviewProps} config configuration
275
275
  * @returns {{ close: () => void; update: (newConfig: ImagePreviewProps) => void; }}
276
276
  */
277
- open: (config: Pick<import("../context-provider").WithGlobalContext<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>>, "style" | "ref" | "key" | "context" | "className" | "swipeable" | "lazyloadCount" | "onChange" | "onAfterChange" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "loadingArea" | "onClose" | "fit" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "animateDurationSlide" | "loop" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "extra" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">, context?: import("../context-provider").GlobalContextParams | undefined) => {
277
+ open: (config: Pick<import("../context-provider").WithGlobalContext<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>>, "style" | "ref" | "key" | "context" | "className" | "swipeable" | "lazyloadCount" | "onChange" | "onAfterChange" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "onClose" | "fit" | "loadingArea" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "animateDurationSlide" | "loop" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "extra" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">, context?: import("../context-provider").GlobalContextParams | undefined) => {
278
278
  close: () => void;
279
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>>, "style" | "ref" | "key" | "context" | "className" | "swipeable" | "lazyloadCount" | "onChange" | "onAfterChange" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "loadingArea" | "onClose" | "fit" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "animateDurationSlide" | "loop" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "extra" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">) => void;
279
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<ImagePreviewProps & React.RefAttributes<ImagePreviewRef>>, "style" | "ref" | "key" | "context" | "className" | "swipeable" | "lazyloadCount" | "onChange" | "onAfterChange" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "onClose" | "fit" | "loadingArea" | "errorArea" | "showLoading" | "showError" | "retryTime" | "staticLabel" | "animateDurationSlide" | "loop" | "renderIndicator" | "indicatorPos" | "showIndicator" | "hideSingleIndicator" | "spaceBetween" | "percentToChange" | "distanceToChange" | "speedToChange" | "extra" | "images" | "openIndex" | "displayDuration" | "replaceFallbackWhenLoaded" | "noselect" | "scrollBezier" | "swipeToClose" | "getMinScale" | "getMaxScale" | "getDoubleClickScale" | "getThumbBounds" | "onImageClick" | "onImageDoubleClick" | "onImageLongTap">) => void;
280
280
  };
281
281
  };
282
282
  /**
@@ -652,9 +652,11 @@
652
652
 
653
653
 
654
654
  function setImagesStatusByIndex(index, data) {
655
- var newStatus = imagesStatusRef.current.slice();
656
- newStatus[index] = (0, _extends5.default)({}, newStatus[index] || {}, data);
657
- setImagesStatus(newStatus);
655
+ setImagesStatus(function (current) {
656
+ var newStatus = current.slice();
657
+ newStatus[index] = (0, _extends5.default)({}, newStatus[index] || {}, data);
658
+ return newStatus;
659
+ });
658
660
  }
659
661
  /**
660
662
  * 缩略图放大过渡动画设置
@@ -841,7 +843,9 @@
841
843
  return renderIndicator(currentIndex, total, lastIndex);
842
844
  }
843
845
 
844
- return openLoaded ? /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement("div", {
846
+ return openLoaded ? /*#__PURE__*/_react.default.createElement(_portal.default, {
847
+ getContainer: getContainer
848
+ }, /*#__PURE__*/_react.default.createElement("div", {
845
849
  className: "image-preview-indicator"
846
850
  }, currentIndex + 1, "/", total)) : null;
847
851
  } // ios在重设style时图片会消失一下造成闪动,因此在底下垫一张图
@@ -879,7 +883,9 @@
879
883
  function renderLoadingArea(index) {
880
884
  // loadingArea提出来,放到过渡图上层
881
885
  // @en The loadingArea is extracted and placed on the upper layer of the transition image
882
- return index === openIndex ? /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement("div", {
886
+ return index === openIndex ? /*#__PURE__*/_react.default.createElement(_portal.default, {
887
+ getContainer: getContainer
888
+ }, /*#__PURE__*/_react.default.createElement("div", {
883
889
  className: "image-preview-loading-area"
884
890
  }, loadingArea || /*#__PURE__*/_react.default.createElement(_loading.default, {
885
891
  type: "circle",
@@ -5,6 +5,7 @@ export interface OpenBaseProps {
5
5
  close: (e: any) => void;
6
6
  openIndex: number;
7
7
  images: any[];
8
+ getContainer?: () => HTMLElement;
8
9
  }
9
10
  export declare function open<P extends OpenBaseProps>(Component: React.FunctionComponent<P>): (config: Pick<P, Exclude<keyof P, "close">>, context?: GlobalContextParams | undefined) => {
10
11
  close: () => void;
@@ -25,8 +25,7 @@
25
25
  unmountOnExit: true
26
26
  }, config || {}, {
27
27
  close: function close() {}
28
- });
29
- var dynamicProps = (0, _extends2.default)({}, baseProps); // 不同的key用不同的容器挂载
28
+ }); // 不同的key用不同的容器挂载
30
29
  // @en Different keys are mounted in different containers
31
30
 
32
31
  var id = "_ARCO_IMAGE_PREVIEW_DIV_" + (baseProps.key || '') + "_";
@@ -39,6 +38,12 @@
39
38
  var _ReactDOMRender = new _render.ReactDOMRender(Component, div, context),
40
39
  render = _ReactDOMRender.render;
41
40
 
41
+ var dynamicProps = (0, _extends2.default)({}, baseProps, {
42
+ getContainer: function getContainer() {
43
+ return div;
44
+ }
45
+ });
46
+
42
47
  function update(newConfig) {
43
48
  dynamicProps = (0, _extends2.default)({}, dynamicProps, newConfig || {});
44
49
  render(dynamicProps);
package/umd/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  export { default as Tabs } from './tabs';
2
2
  export { default as Sticky } from './sticky';
3
- export { default as LoadMore } from './load-more';
4
- export { default as Cell } from './cell';
3
+ export { default as Portal } from './portal';
4
+ export { default as Toast } from './toast';
5
5
  export { default as ActionSheet } from './action-sheet';
6
6
  export { default as Avatar } from './avatar';
7
7
  export { default as Badge } from './badge';
8
8
  export { default as Button } from './button';
9
9
  export { default as Carousel } from './carousel';
10
+ export { default as Cell } from './cell';
10
11
  export { default as Checkbox } from './checkbox';
11
12
  export { default as CircleProgress } from './circle-progress';
12
13
  export { default as Collapse } from './collapse';
@@ -26,6 +27,7 @@ export { default as ImagePreview } from './image-preview';
26
27
  export { default as IndexBar } from './index-bar';
27
28
  export { default as Input } from './input';
28
29
  export { default as Keyboard } from './keyboard';
30
+ export { default as LoadMore } from './load-more';
29
31
  export { default as Loading } from './loading';
30
32
  export { default as Masking } from './masking';
31
33
  export { default as NavBar } from './nav-bar';
@@ -37,14 +39,13 @@ export { default as PickerView } from './picker-view';
37
39
  export { default as Popover } from './popover';
38
40
  export { default as Popup } from './popup';
39
41
  export { default as PopupSwiper } from './popup-swiper';
40
- export { default as Portal } from './portal';
41
42
  export { default as Progress } from './progress';
42
43
  export { default as PullRefresh } from './pull-refresh';
43
44
  export { default as Radio } from './radio';
44
45
  export { default as Rate } from './rate';
45
46
  export { default as SearchBar } from './search-bar';
46
- export { default as Skeleton } from './skeleton';
47
47
  export { default as ShowMonitor } from './show-monitor';
48
+ export { default as Skeleton } from './skeleton';
48
49
  export { default as Slider } from './slider';
49
50
  export { default as Stepper } from './stepper';
50
51
  export { default as Steps } from './steps';
@@ -54,5 +55,4 @@ export { default as Switch } from './switch';
54
55
  export { default as TabBar } from './tab-bar';
55
56
  export { default as Tag } from './tag';
56
57
  export { default as Textarea } from './textarea';
57
- export { default as Toast } from './toast';
58
58
  export { default as Transition } from './transition';
package/umd/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "./tabs", "./sticky", "./load-more", "./cell", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./skeleton", "./show-monitor", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./toast", "./transition"], factory);
3
+ define(["exports", "./tabs", "./sticky", "./portal", "./toast", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./cell", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./load-more", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./show-monitor", "./skeleton", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./transition"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./tabs"), require("./sticky"), require("./load-more"), require("./cell"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./skeleton"), require("./show-monitor"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./toast"), require("./transition"));
5
+ factory(exports, require("./tabs"), require("./sticky"), require("./portal"), require("./toast"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./cell"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./load-more"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./show-monitor"), require("./skeleton"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./transition"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.tabs, global.sticky, global.loadMore, global.cell, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.skeleton, global.showMonitor, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.toast, global.transition);
10
+ factory(mod.exports, global.tabs, global.sticky, global.portal, global.toast, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.cell, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loadMore, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.showMonitor, global.skeleton, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.transition);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _loadMore, _cell, _actionSheet, _avatar, _badge, _button, _carousel, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _searchBar, _skeleton, _showMonitor, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _toast, _transition) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _portal, _toast, _actionSheet, _avatar, _badge, _button, _carousel, _cell, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loadMore, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _progress, _pullRefresh, _radio, _rate, _searchBar, _showMonitor, _skeleton, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _transition) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -21,10 +21,10 @@
21
21
  _exports.Tabs = _tabs.default;
22
22
  _sticky = _interopRequireDefault(_sticky);
23
23
  _exports.Sticky = _sticky.default;
24
- _loadMore = _interopRequireDefault(_loadMore);
25
- _exports.LoadMore = _loadMore.default;
26
- _cell = _interopRequireDefault(_cell);
27
- _exports.Cell = _cell.default;
24
+ _portal = _interopRequireDefault(_portal);
25
+ _exports.Portal = _portal.default;
26
+ _toast = _interopRequireDefault(_toast);
27
+ _exports.Toast = _toast.default;
28
28
  _actionSheet = _interopRequireDefault(_actionSheet);
29
29
  _exports.ActionSheet = _actionSheet.default;
30
30
  _avatar = _interopRequireDefault(_avatar);
@@ -35,6 +35,8 @@
35
35
  _exports.Button = _button.default;
36
36
  _carousel = _interopRequireDefault(_carousel);
37
37
  _exports.Carousel = _carousel.default;
38
+ _cell = _interopRequireDefault(_cell);
39
+ _exports.Cell = _cell.default;
38
40
  _checkbox = _interopRequireDefault(_checkbox);
39
41
  _exports.Checkbox = _checkbox.default;
40
42
  _circleProgress = _interopRequireDefault(_circleProgress);
@@ -73,6 +75,8 @@
73
75
  _exports.Input = _input.default;
74
76
  _keyboard = _interopRequireDefault(_keyboard);
75
77
  _exports.Keyboard = _keyboard.default;
78
+ _loadMore = _interopRequireDefault(_loadMore);
79
+ _exports.LoadMore = _loadMore.default;
76
80
  _loading = _interopRequireDefault(_loading);
77
81
  _exports.Loading = _loading.default;
78
82
  _masking = _interopRequireDefault(_masking);
@@ -95,8 +99,6 @@
95
99
  _exports.Popup = _popup.default;
96
100
  _popupSwiper = _interopRequireDefault(_popupSwiper);
97
101
  _exports.PopupSwiper = _popupSwiper.default;
98
- _portal = _interopRequireDefault(_portal);
99
- _exports.Portal = _portal.default;
100
102
  _progress = _interopRequireDefault(_progress);
101
103
  _exports.Progress = _progress.default;
102
104
  _pullRefresh = _interopRequireDefault(_pullRefresh);
@@ -107,10 +109,10 @@
107
109
  _exports.Rate = _rate.default;
108
110
  _searchBar = _interopRequireDefault(_searchBar);
109
111
  _exports.SearchBar = _searchBar.default;
110
- _skeleton = _interopRequireDefault(_skeleton);
111
- _exports.Skeleton = _skeleton.default;
112
112
  _showMonitor = _interopRequireDefault(_showMonitor);
113
113
  _exports.ShowMonitor = _showMonitor.default;
114
+ _skeleton = _interopRequireDefault(_skeleton);
115
+ _exports.Skeleton = _skeleton.default;
114
116
  _slider = _interopRequireDefault(_slider);
115
117
  _exports.Slider = _slider.default;
116
118
  _stepper = _interopRequireDefault(_stepper);
@@ -129,8 +131,6 @@
129
131
  _exports.Tag = _tag.default;
130
132
  _textarea = _interopRequireDefault(_textarea);
131
133
  _exports.Textarea = _textarea.default;
132
- _toast = _interopRequireDefault(_toast);
133
- _exports.Toast = _toast.default;
134
134
  _transition = _interopRequireDefault(_transition);
135
135
  _exports.Transition = _transition.default;
136
136
  });
@@ -108,8 +108,8 @@ export interface LoadMoreProps {
108
108
  */
109
109
  getDataAtFirst?: boolean;
110
110
  /**
111
- * 当 getDataAtFirst === false 且数据不满一屏时是否触发一次请求,trigger=scroll时有效
112
- * @en Whether to trigger a request when getDataAtFirst === false and the data is not full of one screen, valid when trigger=scroll
111
+ * 当 getDataAtFirst 值为 false 且数据不满一屏时是否触发一次请求,trigger=scroll时有效
112
+ * @en Whether to trigger a request when getDataAtFirst equals false and the data is not full of one screen, valid when trigger=scroll
113
113
  * @default false
114
114
  */
115
115
  getDataWhenNoScrollAtFirst?: boolean;
@@ -140,6 +140,11 @@ export interface LoadMoreRef {
140
140
  * @en Change component state manually
141
141
  */
142
142
  changeStatus: (status: LoadMoreStatus, scene?: string) => void;
143
+ /**
144
+ * 判断是否滚动到底部并手动触发数据获取
145
+ * @en Determine whether to scroll to the bottom and manually trigger data acquisition
146
+ */
147
+ getDataWithEndReachCheck: () => void;
143
148
  }
144
149
  /**
145
150
  * 上拉加载组件,支持`scroll`和`click`两种触发加载方式,支持滚动监听。支持受控与不受控两种形式。<br>如果引入组件后发现仅触发了初始的`getData`,请确认是否在`getData`方法内没有调用`callback`移除 loading 状态,且未设置`blockWhenLoading`属性为 false。
@@ -152,10 +152,18 @@
152
152
  }
153
153
  };
154
154
  }, [trigger, disabled, getScrollContainer, handleContainerScroll, throttle]);
155
+
156
+ var getDataWithEndReachCheck = function getDataWithEndReachCheck() {
157
+ if (checkNeedTrigger(0, threshold)) {
158
+ triggerGetData('pageEnd');
159
+ }
160
+ };
161
+
155
162
  (0, _react.useImperativeHandle)(ref, function () {
156
163
  return {
157
164
  dom: domRef.current,
158
- changeStatus: changeStatus
165
+ changeStatus: changeStatus,
166
+ getDataWithEndReachCheck: getDataWithEndReachCheck
159
167
  };
160
168
  }, [changeStatus]);
161
169
 
@@ -205,11 +205,11 @@ declare const _default: React.ForwardRefExoticComponent<MaskingProps & React.Ref
205
205
  * @param {MaskingProps} config Configuration
206
206
  * @returns {{ close: () => void; update: (newConfig: MaskingProps) => void; }}
207
207
  */
208
- open: (config: Pick<import("../context-provider").WithGlobalContext<MaskingProps & React.RefAttributes<MaskingRef>>, "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove"> & {
208
+ open: (config: Pick<import("../context-provider").WithGlobalContext<MaskingProps & React.RefAttributes<MaskingRef>>, "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove"> & {
209
209
  key?: string | undefined;
210
210
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
211
211
  close: () => void;
212
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<MaskingProps & React.RefAttributes<MaskingRef>>, "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove"> & {
212
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<MaskingProps & React.RefAttributes<MaskingRef>>, "children" | "ref" | "key" | "context" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "contentAtCenter" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove"> & {
213
213
  key?: string | undefined;
214
214
  }) => void;
215
215
  };
@@ -33,8 +33,7 @@
33
33
  }, normalize(config), {
34
34
  visible: false,
35
35
  close: function close() {}
36
- });
37
- var dynamicProps = (0, _extends2.default)({}, baseProps); // 不同的key用不同的容器挂载
36
+ }); // 不同的key用不同的容器挂载
38
37
 
39
38
  var id = "_" + (containerId || 'ARCO_MASKING') + "_DIV_" + (config.key || '') + "_";
40
39
 
@@ -46,6 +45,12 @@
46
45
  var _ReactDOMRender = new _render.ReactDOMRender(Component, div, context),
47
46
  render = _ReactDOMRender.render;
48
47
 
48
+ var dynamicProps = (0, _extends2.default)({}, baseProps, {
49
+ getContainer: function getContainer() {
50
+ return div;
51
+ }
52
+ });
53
+
49
54
  function update(newConfig) {
50
55
  dynamicProps = (0, _extends2.default)({}, dynamicProps, normalize(newConfig));
51
56
  render(dynamicProps);
@@ -66,11 +66,11 @@ declare const _default: React.ForwardRefExoticComponent<PopupProps & React.RefAt
66
66
  * @param {PopupProps} config Configuration
67
67
  * @returns {{ close: () => void; update: (newConfig: PopupProps) => void; }}
68
68
  */
69
- open: (config: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
69
+ open: (config: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
70
70
  key?: string | undefined;
71
71
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
72
72
  close: () => void;
73
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
73
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupProps & React.RefAttributes<PopupRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchMove" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset"> & {
74
74
  key?: string | undefined;
75
75
  }) => void;
76
76
  };
@@ -63,10 +63,7 @@ export declare function methodsGenerator<P extends OpenBaseProps>(Comp: React.Fu
63
63
  close: () => void;
64
64
  update: (newConfig: Pick<P, Exclude<keyof P, "visible" | "close">> & {
65
65
  key?: string | undefined;
66
- }) => void; /**
67
- * 内容面板 touchstart 事件,返回true时表示阻止本组件内部处理事件
68
- * @en The touchstart callback of content panel. When it returns true, it means that the event is prevented from being processed inside the component
69
- */
66
+ }) => void;
70
67
  };
71
68
  };
72
69
  declare const _default: React.ForwardRefExoticComponent<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>> & {
@@ -76,16 +73,13 @@ declare const _default: React.ForwardRefExoticComponent<PopupSwiperProps & React
76
73
  * @param {string | PopupSwiperProps} config Configuration
77
74
  * @returns {{ close: () => void; update: (newConfig: PopupSwiperProps) => void; }}
78
75
  */
79
- open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
76
+ open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
80
77
  key?: string | undefined;
81
78
  }, context?: import("../context-provider").GlobalContextParams | undefined) => {
82
79
  close: () => void;
83
- update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
80
+ update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "direction" | "children" | "ref" | "key" | "context" | "translateZ" | "className" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "initialBodyOverflow" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
84
81
  key?: string | undefined;
85
- }) => void; /**
86
- * 内容面板 touchstart 事件,返回true时表示阻止本组件内部处理事件
87
- * @en The touchstart callback of content panel. When it returns true, it means that the event is prevented from being processed inside the component
88
- */
82
+ }) => void;
89
83
  };
90
84
  };
91
85
  /**
@@ -1,22 +1,23 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "react", "@arco-design/mobile-utils", "../loading", "../context-provider", "./model", "./hooks", "../_helpers"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "react", "@arco-design/mobile-utils", "../loading", "../context-provider", "./model", "./hooks", "../_helpers"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("react"), require("@arco-design/mobile-utils"), require("../loading"), require("../context-provider"), require("./model"), require("./hooks"), require("../_helpers"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("@arco-design/mobile-utils"), require("../loading"), require("../context-provider"), require("./model"), require("./hooks"), require("../_helpers"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.react, global.mobileUtils, global.loading, global.contextProvider, global.model, global.hooks, global._helpers);
10
+ factory(mod.exports, global._extends, global.react, global.mobileUtils, global.loading, global.contextProvider, global.model, global.hooks, global._helpers);
11
11
  global.androidPullRefresh = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _mobileUtils, _loading, _contextProvider, _model, _hooks, _helpers) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _mobileUtils, _loading, _contextProvider, _model, _hooks, _helpers) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
17
 
18
18
  _exports.__esModule = true;
19
19
  _exports.PullRefresh = void 0;
20
+ _extends2 = _interopRequireDefault(_extends2);
20
21
  _react = _interopRequireWildcard(_react);
21
22
  _loading = _interopRequireDefault(_loading);
22
23
 
@@ -71,11 +72,7 @@
71
72
  onRefresh = props.onRefresh,
72
73
  _props$allowPullWhenN = props.allowPullWhenNotTop,
73
74
  allowPullWhenNotTop = _props$allowPullWhenN === void 0 ? false : _props$allowPullWhenN;
74
-
75
- var _useState = (0, _react.useState)({}),
76
- transition = _useState[0],
77
- setTransition = _useState[1];
78
-
75
+ var placeRef = (0, _react.useRef)(null);
79
76
  var touchRef = (0, _react.useRef)(null);
80
77
  var currentTranslateYRef = (0, _react.useRef)(0);
81
78
  var onTouching = (0, _react.useRef)(false);
@@ -112,17 +109,7 @@
112
109
 
113
110
  var scroll = function scroll(y, ms, callback) {
114
111
  if (y < 5) {
115
- if (y < 0) {
116
- currentTranslateYRef.current = 0;
117
- return;
118
- }
119
-
120
- if (ms === 0) {
121
- setTimeout(function () {
122
- setTransition({
123
- transition: 'all 0s'
124
- });
125
- });
112
+ if (y < 0 || ms === 0) {
126
113
  currentTranslateYRef.current = 0;
127
114
  return;
128
115
  }
@@ -130,10 +117,11 @@
130
117
 
131
118
  var translateY = dampRateCalculate(y, loosingHeight, dampRate);
132
119
  currentTranslateYRef.current = translateY;
133
- setTransition({
134
- transform: translateY ? "translateY(" + translateY + "px)" : '',
120
+ placeRef.current && (0, _helpers.setStyleWithVendor)(placeRef.current, (0, _extends2.default)({
121
+ transform: translateY ? "translateY(" + translateY + "px) translateZ(0)" : ''
122
+ }, ms ? {
135
123
  transition: "all " + ms / 1000 + "s"
136
- });
124
+ } : {}));
137
125
  setTimeout(function () {
138
126
  callback == null ? void 0 : callback();
139
127
  }, ms);
@@ -151,6 +139,9 @@
151
139
 
152
140
  loadingRef.current = false;
153
141
  setStatus(_model.PullRefreshStatus.Static);
142
+ placeRef.current && (0, _helpers.setStyleWithVendor)(placeRef.current, {
143
+ transition: ''
144
+ });
154
145
  callback();
155
146
  });
156
147
  };
@@ -278,7 +269,7 @@
278
269
  ref: domRef
279
270
  }, /*#__PURE__*/_react.default.createElement("div", {
280
271
  className: (0, _mobileUtils.cls)(prefixCls + "-pull-refresh-place"),
281
- style: (0, _helpers.getStyleWithVendor)(transition)
272
+ ref: placeRef
282
273
  }, /*#__PURE__*/_react.default.createElement("div", {
283
274
  className: (0, _mobileUtils.cls)(prefixCls + "-pull-refresh-label"),
284
275
  ref: labelRef,
@@ -117,9 +117,9 @@
117
117
  var allowPullWhenNotTop = _ref3.allowPullWhenNotTop,
118
118
  domRef = _ref3.domRef;
119
119
  var ifShouldHandle = (0, _react.useCallback)(function () {
120
- var _domRef$current$getBo, _domRef$current9, _domRef$current9$getB;
120
+ var _domRef$current$offse, _domRef$current9;
121
121
 
122
- var domRefHeight = (_domRef$current$getBo = (_domRef$current9 = domRef.current) == null ? void 0 : (_domRef$current9$getB = _domRef$current9.getBoundingClientRect()) == null ? void 0 : _domRef$current9$getB.height) != null ? _domRef$current$getBo : 0;
122
+ var domRefHeight = (_domRef$current$offse = (_domRef$current9 = domRef.current) == null ? void 0 : _domRef$current9.offsetHeight) != null ? _domRef$current$offse : 0;
123
123
  return domRef.current && !(!allowPullWhenNotTop && (domRef.current.scrollTop < 0 || domRef.current.scrollTop > domRef.current.scrollHeight - domRefHeight));
124
124
  }, [allowPullWhenNotTop]);
125
125
  return {
@@ -51,7 +51,6 @@
51
51
  overflow-y: auto;
52
52
  }
53
53
  .arco-pull-refresh-place {
54
- will-change: transform;
55
54
  position: relative;
56
55
  height: 100%;
57
56
  }
@@ -51,7 +51,6 @@
51
51
  }
52
52
 
53
53
  &-place {
54
- will-change: transform;
55
54
  position: relative;
56
55
  height: 100%;
57
56
  }
package/umd/style.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  import '../style/public.less';
2
2
  import './tabs/style';
3
3
  import './sticky/style';
4
- import './load-more/style';
5
- import './cell/style';
4
+ import './portal/style';
5
+ import './toast/style';
6
6
  import './action-sheet/style';
7
7
  import './avatar/style';
8
8
  import './badge/style';
9
9
  import './button/style';
10
10
  import './carousel/style';
11
+ import './cell/style';
11
12
  import './checkbox/style';
12
13
  import './circle-progress/style';
13
14
  import './collapse/style';
@@ -27,6 +28,7 @@ import './image-preview/style';
27
28
  import './index-bar/style';
28
29
  import './input/style';
29
30
  import './keyboard/style';
31
+ import './load-more/style';
30
32
  import './loading/style';
31
33
  import './masking/style';
32
34
  import './nav-bar/style';
@@ -38,14 +40,13 @@ import './picker-view/style';
38
40
  import './popover/style';
39
41
  import './popup/style';
40
42
  import './popup-swiper/style';
41
- import './portal/style';
42
43
  import './progress/style';
43
44
  import './pull-refresh/style';
44
45
  import './radio/style';
45
46
  import './rate/style';
46
47
  import './search-bar/style';
47
- import './skeleton/style';
48
48
  import './show-monitor/style';
49
+ import './skeleton/style';
49
50
  import './slider/style';
50
51
  import './stepper/style';
51
52
  import './steps/style';
@@ -55,5 +56,4 @@ import './switch/style';
55
56
  import './tab-bar/style';
56
57
  import './tag/style';
57
58
  import './textarea/style';
58
- import './toast/style';
59
59
  import './transition/style';