@tarojs/components-react 3.6.0-canary.0 → 3.6.0-canary.10
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/dist/image/index.js +11 -21
- package/dist/image/index.js.map +1 -1
- package/dist/index.js +1 -12
- package/dist/index.js.map +1 -1
- package/dist/index2.js +0 -3
- package/dist/index2.js.map +1 -1
- package/dist/pull-down-refresh/index.js +23 -83
- package/dist/pull-down-refresh/index.js.map +1 -1
- package/dist/scroll-view/index.js +27 -63
- package/dist/scroll-view/index.js.map +1 -1
- package/dist/swiper/index.js +238 -1564
- package/dist/swiper/index.js.map +1 -1
- package/dist/text/index.js +4 -10
- package/dist/text/index.js.map +1 -1
- package/dist/tslib.es6.js +0 -2
- package/dist/tslib.es6.js.map +1 -1
- package/dist/view/index.js +10 -29
- package/dist/view/index.js.map +1 -1
- package/package.json +1 -1
package/dist/image/index.js
CHANGED
|
@@ -13,33 +13,26 @@ var css_248z = "img[src=\"\"] {\n opacity: 0;\n}\n\n.taro-img {\n display: inl
|
|
|
13
13
|
styleInject(css_248z,{"insertAt":"top"});
|
|
14
14
|
|
|
15
15
|
require('intersection-observer');
|
|
16
|
-
|
|
17
16
|
var Image = /*#__PURE__*/function (_React$Component) {
|
|
18
17
|
_inherits(Image, _React$Component);
|
|
19
|
-
|
|
20
18
|
var _super = _createSuper(Image);
|
|
21
|
-
|
|
22
19
|
function Image(props) {
|
|
23
20
|
var _this;
|
|
24
|
-
|
|
25
21
|
_classCallCheck(this, Image);
|
|
26
|
-
|
|
27
22
|
_this = _super.call(this, props);
|
|
28
23
|
_this.observer = {};
|
|
29
24
|
_this.imgRef = null;
|
|
30
25
|
_this.state = {
|
|
31
26
|
isLoaded: false
|
|
32
27
|
};
|
|
33
|
-
_this.imageOnLoad = _this.imageOnLoad.bind(_assertThisInitialized(_this));
|
|
34
|
-
|
|
28
|
+
_this.imageOnLoad = _this.imageOnLoad.bind(_assertThisInitialized(_this));
|
|
29
|
+
// this.observer = {}
|
|
35
30
|
return _this;
|
|
36
31
|
}
|
|
37
|
-
|
|
38
32
|
_createClass(Image, [{
|
|
39
33
|
key: "componentDidMount",
|
|
40
34
|
value: function componentDidMount() {
|
|
41
35
|
var _this2 = this;
|
|
42
|
-
|
|
43
36
|
if (this.props.lazyLoad) {
|
|
44
37
|
this.observer = new IntersectionObserver(function (entries) {
|
|
45
38
|
// 异步 api 关系
|
|
@@ -80,18 +73,16 @@ var Image = /*#__PURE__*/function (_React$Component) {
|
|
|
80
73
|
key: "render",
|
|
81
74
|
value: function render() {
|
|
82
75
|
var _this3 = this;
|
|
83
|
-
|
|
84
76
|
var _a = this.props,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
className = _a.className,
|
|
78
|
+
_a$style = _a.style,
|
|
79
|
+
style = _a$style === void 0 ? {} : _a$style,
|
|
80
|
+
src = _a.src,
|
|
81
|
+
mode = _a.mode,
|
|
82
|
+
onError = _a.onError,
|
|
83
|
+
lazyLoad = _a.lazyLoad,
|
|
84
|
+
imgProps = _a.imgProps,
|
|
85
|
+
reset = __rest(_a, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
|
|
95
86
|
var cls = classNames('taro-img', {
|
|
96
87
|
'taro-img__widthfix': mode === 'widthFix'
|
|
97
88
|
}, className);
|
|
@@ -118,7 +109,6 @@ var Image = /*#__PURE__*/function (_React$Component) {
|
|
|
118
109
|
}, imgProps)));
|
|
119
110
|
}
|
|
120
111
|
}]);
|
|
121
|
-
|
|
122
112
|
return Image;
|
|
123
113
|
}(React.Component);
|
|
124
114
|
|
package/dist/image/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/components/image/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nrequire('intersection-observer')\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nclass Image extends React.Component<IProps> {\n constructor (props) {\n super(props)\n this.state = {\n isLoaded: false\n }\n this.imageOnLoad = this.imageOnLoad.bind(this)\n // this.observer = {}\n }\n\n observer: any = {}\n imgRef: any = null\n\n componentDidMount () {\n if (this.props.lazyLoad) {\n this.observer = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n this.setState({ isLoaded: true }, () => {\n // findDOMNode(this).children[0].src = this.props.src\n this.imgRef.src = this.props.src\n })\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n this.observer.observe(this.imgRef)\n }\n }\n\n componentWillUnmount () {\n this.observer.disconnect && this.observer.disconnect()\n }\n\n imageOnLoad (e) {\n const { onLoad } = this.props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }\n\n render () {\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = this.props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n data-src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n }\n}\n\nexport default Image\n"],"names":["require","Image","props","observer","imgRef","state","isLoaded","imageOnLoad","bind","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","_a","className","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","React","createElement","assign","ref","img","Component"],"mappings":";;;;;;;;;;;;;;AAMAA,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/image/index.tsx"],"sourcesContent":["import 'weui'\nimport './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nrequire('intersection-observer')\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nclass Image extends React.Component<IProps> {\n constructor (props) {\n super(props)\n this.state = {\n isLoaded: false\n }\n this.imageOnLoad = this.imageOnLoad.bind(this)\n // this.observer = {}\n }\n\n observer: any = {}\n imgRef: any = null\n\n componentDidMount () {\n if (this.props.lazyLoad) {\n this.observer = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n this.setState({ isLoaded: true }, () => {\n // findDOMNode(this).children[0].src = this.props.src\n this.imgRef.src = this.props.src\n })\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n this.observer.observe(this.imgRef)\n }\n }\n\n componentWillUnmount () {\n this.observer.disconnect && this.observer.disconnect()\n }\n\n imageOnLoad (e) {\n const { onLoad } = this.props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }\n\n render () {\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = this.props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n data-src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n }\n}\n\nexport default Image\n"],"names":["require","Image","props","observer","imgRef","state","isLoaded","imageOnLoad","bind","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","_a","className","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","React","createElement","assign","ref","img","Component"],"mappings":";;;;;;;;;;;;;;AAMAA,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAAA,IAW1BC,KAAM,gBAAA,UAAA,gBAAA,EAAA;AAAA,EAAA,SAAA,CAAA,KAAA,EAAA,gBAAA,CAAA,CAAA;AAAA,EAAA,IAAA,MAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACV,EAAA,SAAA,KAAA,CAAaC,KAAK,EAAA;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAChB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,KAAK,CAAA,CAAA;IAQb,KAAQC,CAAAA,QAAA,GAAQ,EAAE,CAAA;IAClB,KAAMC,CAAAA,MAAA,GAAQ,IAAI,CAAA;AARhB,IAAA,KAAA,CAAKC,KAAK,GAAG;AACXC,MAAAA,QAAQ,EAAE,KAAA;KACX,CAAA;AACD,IAAA,KAAA,CAAKC,WAAW,GAAG,KAAA,CAAKA,WAAW,CAACC,IAAI,CAAM,sBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAC9C;AAAA,IAAA,OAAA,KAAA,CAAA;AACF,GAAA;AAAC,EAAA,YAAA,CAAA,KAAA,EAAA,CAAA;AAAA,IAAA,GAAA,EAAA,mBAAA;AAAA,IAAA,KAAA,EAKD,SAAiB,iBAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AACf,MAAA,IAAI,IAAI,CAACN,KAAK,CAACO,QAAQ,EAAE;QACvB,IAAI,CAACN,QAAQ,GAAG,IAAIO,oBAAoB,CACtC,UAAAC,OAAO,EAAG;AACR;UACA,IAAIA,OAAO,CAACA,OAAO,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,cAAc,EAAE;YAC9C,MAAI,CAACC,QAAQ,CAAC;AAAER,cAAAA,QAAQ,EAAE,IAAA;AAAI,aAAE,EAAE,YAAK;AACrC;cACA,MAAI,CAACF,MAAM,CAACW,GAAG,GAAG,MAAI,CAACb,KAAK,CAACa,GAAG,CAAA;AAClC,aAAC,CAAC,CAAA;AACH,WAAA;AACH,SAAC,EACD;AACEC,UAAAA,UAAU,EAAE,WAAA;AACb,SAAA,CACF,CAAA;QACD,IAAI,CAACb,QAAQ,CAACc,OAAO,CAAC,IAAI,CAACb,MAAM,CAAC,CAAA;AACnC,OAAA;AACH,KAAA;AAAC,GAAA,EAAA;AAAA,IAAA,GAAA,EAAA,sBAAA;AAAA,IAAA,KAAA,EAED,SAAoB,oBAAA,GAAA;MAClB,IAAI,CAACD,QAAQ,CAACe,UAAU,IAAI,IAAI,CAACf,QAAQ,CAACe,UAAU,EAAE,CAAA;AACxD,KAAA;AAAC,GAAA,EAAA;AAAA,IAAA,GAAA,EAAA,aAAA;IAAA,KAED,EAAA,SAAA,WAAA,CAAaC,CAAC,EAAA;AACZ,MAAA,IAAQC,MAAM,GAAK,IAAI,CAAClB,KAAK,CAArBkB,MAAM,CAAA;AACdC,MAAAA,MAAM,CAACC,cAAc,CAACH,CAAC,EAAE,QAAQ,EAAE;AACjCI,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAEP,CAAC,CAACQ,MAAM,CAACD,KAAK;AACrBE,UAAAA,MAAM,EAAET,CAAC,CAACQ,MAAM,CAACC,MAAAA;AAClB,SAAA;AACF,OAAA,CAAC,CAAA;AAEFR,MAAAA,MAAM,IAAIA,MAAM,CAACD,CAAC,CAAC,CAAA;AACrB,KAAA;AAAC,GAAA,EAAA;AAAA,IAAA,GAAA,EAAA,QAAA;AAAA,IAAA,KAAA,EAED,SAAM,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AACE,MAAA,IAAAU,EAAA,GASF,IAAI,CAAC3B,KAAK;QARZ4B,SAAS,GAQGD,EAAA,CARZC,SAAS;QAAA,QAQGD,GAAAA,EAAA,CAPZE,KAAK;QAALA,KAAK,GAAA,QAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,QAAA;QACVhB,GAAG,GAMSc,EAAA,CANZd,GAAG;QACHiB,IAAI,GAKQH,EAAA,CALZG,IAAI;QACJC,OAAO,GAIKJ,EAAA,CAJZI,OAAO;QACPxB,QAAQ,GAGIoB,EAAA,CAHZpB,QAAQ;QACRyB,QAAQ,GAEIL,EAAA,CAFZK,QAAQ;QACLC,KAAK,GAAAC,MAAA,CAAAP,EAAA,EARJ,CASL,WAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,CAAa,CAAA;AACd,MAAA,IAAMQ,GAAG,GAAGC,UAAU,CACpB,UAAU,EACV;QACE,oBAAoB,EAAEN,IAAI,KAAK,UAAA;OAChC,EACDF,SAAS,CACV,CAAA;MACD,IAAMS,MAAM,GAAGD,UAAU,CACvB,iBAAiB,GACf,CAACN,IAAI,IAAI,aAAa,EAAEQ,WAAW,EAAE,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3D,CAAA;MAED,OACEC;AAAKZ,QAAAA,SAAS,EAAEO,GAAG;AAAEN,QAAAA,KAAK,EAAEA,KAAAA;AAAK,OAAA,EAAMI,KAAK,CACzC,EAAA1B,QAAQ,GACPiC,KACE,CAAAC,aAAA,CAAA,KAAA,EAAAtB,MAAA,CAAAuB,MAAA,CAAA;QAAAC,GAAG,EAAE,aAAAC,GAAG,EAAA;AAAA,UAAA,OAAK,MAAI,CAAC1C,MAAM,GAAG0C,GAAG,CAAA;SAAC;AAC/BhB,QAAAA,SAAS,EAAES,MAAM;AACP,QAAA,UAAA,EAAAxB,GAAG;QACbK,MAAM,EAAE,IAAI,CAACb,WAAW;AACxB0B,QAAAA,OAAO,EAAEA,OAAAA;AACL,OAAA,EAAAC,QAAQ,EACZ,GAEFQ;QACEG,GAAG,EAAE,aAAAC,GAAG,EAAA;AAAA,UAAA,OAAK,MAAI,CAAC1C,MAAM,GAAG0C,GAAG,CAAA;SAAC;AAC/BhB,QAAAA,SAAS,EAAES,MAAM;AACjBxB,QAAAA,GAAG,EAAEA,GAAG;QACRK,MAAM,EAAE,IAAI,CAACb,WAAW;AACxB0B,QAAAA,OAAO,EAAEA,OAAAA;AAAO,OAAA,EACZC,QAAQ,CACZ,CACH,CACG,CAAA;AAEV,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA,KAAA,CAAA;AAAA,CAjGiBQ,CAAAA,KAAK,CAACK,SAAiB;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -3,15 +3,12 @@ import _typeof from '@babel/runtime/helpers/typeof';
|
|
|
3
3
|
function styleInject(css, ref) {
|
|
4
4
|
if (ref === void 0) ref = {};
|
|
5
5
|
var insertAt = ref.insertAt;
|
|
6
|
-
|
|
7
6
|
if (!css || typeof document === 'undefined') {
|
|
8
7
|
return;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
var head = document.head || document.getElementsByTagName('head')[0];
|
|
12
10
|
var style = document.createElement('style');
|
|
13
11
|
style.type = 'text/css';
|
|
14
|
-
|
|
15
12
|
if (insertAt === 'top') {
|
|
16
13
|
if (head.firstChild) {
|
|
17
14
|
head.insertBefore(style, head.firstChild);
|
|
@@ -21,7 +18,6 @@ function styleInject(css, ref) {
|
|
|
21
18
|
} else {
|
|
22
19
|
head.appendChild(style);
|
|
23
20
|
}
|
|
24
|
-
|
|
25
21
|
if (style.styleSheet) {
|
|
26
22
|
style.styleSheet.cssText = css;
|
|
27
23
|
} else {
|
|
@@ -33,25 +29,21 @@ var classnames = {exports: {}};
|
|
|
33
29
|
|
|
34
30
|
(function (module) {
|
|
35
31
|
/* global define */
|
|
32
|
+
|
|
36
33
|
(function () {
|
|
37
34
|
|
|
38
35
|
var hasOwn = {}.hasOwnProperty;
|
|
39
|
-
|
|
40
36
|
function classNames() {
|
|
41
37
|
var classes = [];
|
|
42
|
-
|
|
43
38
|
for (var i = 0; i < arguments.length; i++) {
|
|
44
39
|
var arg = arguments[i];
|
|
45
40
|
if (!arg) continue;
|
|
46
|
-
|
|
47
41
|
var argType = _typeof(arg);
|
|
48
|
-
|
|
49
42
|
if (argType === 'string' || argType === 'number') {
|
|
50
43
|
classes.push(arg);
|
|
51
44
|
} else if (Array.isArray(arg)) {
|
|
52
45
|
if (arg.length) {
|
|
53
46
|
var inner = classNames.apply(null, arg);
|
|
54
|
-
|
|
55
47
|
if (inner) {
|
|
56
48
|
classes.push(inner);
|
|
57
49
|
}
|
|
@@ -68,10 +60,8 @@ var classnames = {exports: {}};
|
|
|
68
60
|
}
|
|
69
61
|
}
|
|
70
62
|
}
|
|
71
|
-
|
|
72
63
|
return classes.join(' ');
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
if (module.exports) {
|
|
76
66
|
classNames.default = classNames;
|
|
77
67
|
module.exports = classNames;
|
|
@@ -80,7 +70,6 @@ var classnames = {exports: {}};
|
|
|
80
70
|
}
|
|
81
71
|
})();
|
|
82
72
|
})(classnames);
|
|
83
|
-
|
|
84
73
|
var classNames = classnames.exports;
|
|
85
74
|
|
|
86
75
|
export { classNames as c, styleInject as s };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index2.js
CHANGED
|
@@ -7,10 +7,8 @@ function throttle(fn) {
|
|
|
7
7
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8
8
|
args[_key] = arguments[_key];
|
|
9
9
|
}
|
|
10
|
-
|
|
11
10
|
var context = scope || this;
|
|
12
11
|
var now = Date.now();
|
|
13
|
-
|
|
14
12
|
if (now - lastTime > threshold) {
|
|
15
13
|
fn.apply(this, args);
|
|
16
14
|
lastTime = now;
|
|
@@ -31,7 +29,6 @@ function debounce(fn) {
|
|
|
31
29
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
32
30
|
args[_key2] = arguments[_key2];
|
|
33
31
|
}
|
|
34
|
-
|
|
35
32
|
var context = scope || this;
|
|
36
33
|
clearTimeout(timer);
|
|
37
34
|
timer = setTimeout(function () {
|
package/dist/index2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../src/utils/index.ts"],"sourcesContent":["export function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n"],"names":["throttle","fn","threshold","scope","lastTime","deferTimer","args","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer"],"mappings":"AAAM,SAAUA,
|
|
1
|
+
{"version":3,"file":"index2.js","sources":["../src/utils/index.ts"],"sourcesContent":["export function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n"],"names":["throttle","fn","threshold","scope","lastTime","deferTimer","args","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer"],"mappings":"AAAM,SAAUA,QAAQ,CAAEC,EAAE,EAAyB;EAAA,IAAvBC,SAAS,uEAAG,GAAG,CAAA;AAAA,EAAA,IAAEC,KAAM,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAA,SAAA,CAAA;EACnD,IAAIC,QAAQ,GAAG,CAAC,CAAA;AAChB,EAAA,IAAIC,UAAyC,CAAA;AAC7C,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAJC,IAAI,GAAA,IAAA,KAAA,CAAA,IAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAA,EAAA,EAAA;MAAJA,IAAI,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AACtB,IAAA,IAAMC,OAAO,GAAGJ,KAAK,IAAI,IAAI,CAAA;AAC7B,IAAA,IAAMK,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE,CAAA;AACtB,IAAA,IAAIA,GAAG,GAAGJ,QAAQ,GAAGF,SAAS,EAAE;AAC9BD,MAAAA,EAAE,CAACS,KAAK,CAAC,IAAI,EAAEJ,IAAI,CAAC,CAAA;AACpBF,MAAAA,QAAQ,GAAGI,GAAG,CAAA;AACf,KAAA,MAAM;MACLG,YAAY,CAACN,UAAU,CAAC,CAAA;MACxBA,UAAU,GAAGO,UAAU,CAAC,YAAK;AAC3BR,QAAAA,QAAQ,GAAGI,GAAG,CAAA;AACdP,QAAAA,EAAE,CAACS,KAAK,CAACH,OAAO,EAAED,IAAI,CAAC,CAAA;OACxB,EAAEJ,SAAS,CAAC,CAAA;AACd,KAAA;GACF,CAAA;AACH,CAAA;AAEM,SAAUW,QAAQ,CAAEZ,EAAE,EAAkB;EAAA,IAAhBa,EAAE,uEAAG,GAAG,CAAA;AAAA,EAAA,IAAEX,KAAM,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAA,SAAA,CAAA;AAC5C,EAAA,IAAIY,KAAoC,CAAA;AAExC,EAAA,OAAO,YAAiB;AAAA,IAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAJT,IAAI,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;MAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AACtB,IAAA,IAAMC,OAAO,GAAGJ,KAAK,IAAI,IAAI,CAAA;IAC7BQ,YAAY,CAACI,KAAK,CAAC,CAAA;IACnBA,KAAK,GAAGH,UAAU,CAAC,YAAA;AACjBX,MAAAA,EAAE,CAACS,KAAK,CAACH,OAAO,EAAED,IAAI,CAAC,CAAA;KACxB,EAAEQ,EAAE,CAAC,CAAA;GACP,CAAA;AACH;;;;"}
|
|
@@ -18,28 +18,22 @@ function setTransform(nodeStyle, value) {
|
|
|
18
18
|
nodeStyle.webkitTransform = value;
|
|
19
19
|
nodeStyle.MozTransform = value;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
21
|
var isWebView = typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
|
|
23
22
|
var PullDownState;
|
|
24
|
-
|
|
25
23
|
(function (PullDownState) {
|
|
26
24
|
PullDownState["activate"] = "activate";
|
|
27
25
|
PullDownState["deactivate"] = "deactivate";
|
|
28
26
|
PullDownState["release"] = "release";
|
|
29
27
|
PullDownState["finish"] = "finish";
|
|
30
28
|
})(PullDownState || (PullDownState = {}));
|
|
31
|
-
|
|
32
29
|
var INDICATOR;
|
|
33
|
-
|
|
34
30
|
(function (INDICATOR) {
|
|
35
31
|
INDICATOR["activate"] = "release";
|
|
36
32
|
INDICATOR["deactivate"] = "pull";
|
|
37
33
|
INDICATOR["release"] = "loading";
|
|
38
34
|
INDICATOR["finish"] = "finish";
|
|
39
35
|
})(INDICATOR || (INDICATOR = {}));
|
|
40
|
-
|
|
41
36
|
var supportsPassive = false;
|
|
42
|
-
|
|
43
37
|
try {
|
|
44
38
|
var opts = Object.defineProperty({}, 'passive', {
|
|
45
39
|
get: function get() {
|
|
@@ -50,25 +44,18 @@ try {
|
|
|
50
44
|
return {};
|
|
51
45
|
}, opts);
|
|
52
46
|
} catch (e) {} // eslint-disable-line no-empty
|
|
53
|
-
|
|
54
|
-
|
|
55
47
|
var willPreventDefault = supportsPassive ? {
|
|
56
48
|
passive: false
|
|
57
49
|
} : false;
|
|
58
|
-
|
|
59
50
|
var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
60
51
|
_inherits(PullDownRefresh, _React$Component);
|
|
61
|
-
|
|
62
52
|
var _super = _createSuper(PullDownRefresh);
|
|
63
|
-
|
|
64
53
|
function PullDownRefresh() {
|
|
65
54
|
var _this;
|
|
66
|
-
|
|
67
55
|
_classCallCheck(this, PullDownRefresh);
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
_this = _super.apply(this, arguments);
|
|
57
|
+
// https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355
|
|
70
58
|
// currSt: `activate` / `deactivate` / `release` / `finish`
|
|
71
|
-
|
|
72
59
|
_this.state = {
|
|
73
60
|
currSt: PullDownState.deactivate,
|
|
74
61
|
dragOnEdge: false
|
|
@@ -78,14 +65,13 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
78
65
|
_this._lastScreenY = 0;
|
|
79
66
|
_this._isMounted = false;
|
|
80
67
|
_this.listeners = [];
|
|
81
|
-
|
|
82
68
|
_this.triggerPullDownRefresh = function (flag) {
|
|
83
69
|
// 在初始化时、用代码 自动 触发 pullDownRefresh
|
|
84
70
|
// 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish
|
|
85
71
|
if (!_this.state.dragOnEdge && _this._isMounted) {
|
|
86
72
|
if (flag) {
|
|
87
|
-
_this._lastScreenY = _this.props.distanceToRefresh + 1;
|
|
88
|
-
|
|
73
|
+
_this._lastScreenY = _this.props.distanceToRefresh + 1;
|
|
74
|
+
// change dom need after setState
|
|
89
75
|
_this.setState({
|
|
90
76
|
currSt: PullDownState.release
|
|
91
77
|
}, function () {
|
|
@@ -100,7 +86,6 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
100
86
|
}
|
|
101
87
|
}
|
|
102
88
|
};
|
|
103
|
-
|
|
104
89
|
_this.init = function () {
|
|
105
90
|
var ele = _this.scrollContainer;
|
|
106
91
|
_this._to = {
|
|
@@ -113,75 +98,60 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
113
98
|
ele.addEventListener(key, _this._to[key], willPreventDefault);
|
|
114
99
|
});
|
|
115
100
|
};
|
|
116
|
-
|
|
117
101
|
_this.destroy = function () {
|
|
118
102
|
var ele = _this.scrollContainer;
|
|
119
103
|
Object.keys(_this._to).forEach(function (key) {
|
|
120
104
|
ele.removeEventListener(key, _this._to[key]);
|
|
121
105
|
});
|
|
122
106
|
};
|
|
123
|
-
|
|
124
107
|
_this.onTouchStart = function (_, e) {
|
|
125
|
-
_this._ScreenY = _this._startScreenY = e.touches[0].screenY;
|
|
126
|
-
|
|
108
|
+
_this._ScreenY = _this._startScreenY = e.touches[0].screenY;
|
|
109
|
+
// 一开始 refreshing 为 true 时 this._lastScreenY 有值
|
|
127
110
|
_this._lastScreenY = _this._lastScreenY || 0;
|
|
128
111
|
};
|
|
129
|
-
|
|
130
112
|
_this.isEdge = function (ele) {
|
|
131
113
|
var container = _this.scrollContainer;
|
|
132
|
-
|
|
133
114
|
if (container && container === document.body) {
|
|
134
115
|
// In chrome61 `document.body.scrollTop` is invalid
|
|
135
116
|
var scrollNode = document.scrollingElement ? document.scrollingElement : document.body;
|
|
136
117
|
return scrollNode.scrollTop <= 0;
|
|
137
118
|
}
|
|
138
|
-
|
|
139
119
|
return ele.scrollTop <= 0;
|
|
140
120
|
};
|
|
141
|
-
|
|
142
121
|
_this.damping = function (dy) {
|
|
143
122
|
if (Math.abs(_this._lastScreenY) > _this.props.damping) {
|
|
144
123
|
return 0;
|
|
145
124
|
}
|
|
146
|
-
|
|
147
125
|
var ratio = Math.abs(_this._ScreenY - _this._startScreenY) / window.screen.height;
|
|
148
126
|
dy *= (1 - ratio) * 0.6;
|
|
149
127
|
return dy;
|
|
150
128
|
};
|
|
151
|
-
|
|
152
129
|
_this.onTouchMove = function (ele, e) {
|
|
153
130
|
// 使用 pageY 对比有问题
|
|
154
|
-
var _screenY = e.touches[0].screenY;
|
|
155
|
-
|
|
131
|
+
var _screenY = e.touches[0].screenY;
|
|
132
|
+
// 拖动方向不符合的不处理
|
|
156
133
|
if (_this._startScreenY > _screenY) {
|
|
157
134
|
return;
|
|
158
135
|
}
|
|
159
|
-
|
|
160
136
|
if (_this.isEdge(ele)) {
|
|
161
137
|
if (!_this.state.dragOnEdge) {
|
|
162
138
|
// 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义
|
|
163
139
|
// 下面这行代码解决了上面这个问题
|
|
164
140
|
_this._ScreenY = _this._startScreenY = e.touches[0].screenY;
|
|
165
|
-
|
|
166
141
|
_this.setState({
|
|
167
142
|
dragOnEdge: true
|
|
168
143
|
});
|
|
169
144
|
}
|
|
170
|
-
|
|
171
145
|
if (e.cancelable) {
|
|
172
146
|
e.preventDefault();
|
|
173
|
-
}
|
|
147
|
+
}
|
|
148
|
+
// add stopPropagation with fastclick will trigger content onClick event. why?
|
|
174
149
|
// ref https://github.com/ant-design/ant-design-mobile/issues/2141
|
|
175
150
|
// e.stopPropagation();
|
|
176
|
-
|
|
177
|
-
|
|
178
151
|
var _diff = Math.round(_screenY - _this._ScreenY);
|
|
179
|
-
|
|
180
152
|
_this._ScreenY = _screenY;
|
|
181
153
|
_this._lastScreenY += _this.damping(_diff);
|
|
182
|
-
|
|
183
154
|
_this.setContentStyle(_this._lastScreenY);
|
|
184
|
-
|
|
185
155
|
if (Math.abs(_this._lastScreenY) < _this.props.distanceToRefresh) {
|
|
186
156
|
if (_this.state.currSt !== PullDownState.deactivate) {
|
|
187
157
|
// console.log('back to the distance');
|
|
@@ -196,49 +166,39 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
196
166
|
currSt: PullDownState.activate
|
|
197
167
|
});
|
|
198
168
|
}
|
|
199
|
-
}
|
|
169
|
+
}
|
|
170
|
+
// https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829
|
|
200
171
|
// iOS UIWebView issue, It seems no problem in WKWebView
|
|
201
|
-
|
|
202
|
-
|
|
203
172
|
if (isWebView && e.changedTouches[0].clientY < 0) {
|
|
204
173
|
_this.onTouchEnd();
|
|
205
174
|
}
|
|
206
175
|
}
|
|
207
176
|
};
|
|
208
|
-
|
|
209
177
|
_this.onTouchEnd = function () {
|
|
210
178
|
var _a, _b;
|
|
211
|
-
|
|
212
179
|
if (_this.state.dragOnEdge) {
|
|
213
180
|
_this.setState({
|
|
214
181
|
dragOnEdge: false
|
|
215
182
|
});
|
|
216
183
|
}
|
|
217
|
-
|
|
218
184
|
if (_this.state.currSt === PullDownState.activate) {
|
|
219
185
|
_this.setState({
|
|
220
186
|
currSt: PullDownState.release
|
|
221
187
|
});
|
|
222
|
-
|
|
223
188
|
(_b = (_a = _this.props).onRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
224
189
|
_this._lastScreenY = _this.props.distanceToRefresh + 1;
|
|
225
|
-
|
|
226
190
|
_this.setContentStyle(_this._lastScreenY);
|
|
227
191
|
} else if (_this.state.currSt === 'release') {
|
|
228
192
|
_this._lastScreenY = _this.props.distanceToRefresh + 1;
|
|
229
|
-
|
|
230
193
|
_this.setContentStyle(_this._lastScreenY);
|
|
231
194
|
} else {
|
|
232
195
|
_this.reset();
|
|
233
196
|
}
|
|
234
197
|
};
|
|
235
|
-
|
|
236
198
|
_this.reset = function () {
|
|
237
199
|
_this._lastScreenY = 0;
|
|
238
|
-
|
|
239
200
|
_this.setContentStyle(0);
|
|
240
201
|
};
|
|
241
|
-
|
|
242
202
|
_this.setContentStyle = function (ty) {
|
|
243
203
|
// TODO: Why sometimes do not have `this.contentRef` ?
|
|
244
204
|
if (_this.contentRef) {
|
|
@@ -250,31 +210,25 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
250
210
|
}
|
|
251
211
|
}
|
|
252
212
|
};
|
|
253
|
-
|
|
254
213
|
return _this;
|
|
255
214
|
}
|
|
256
|
-
|
|
257
215
|
_createClass(PullDownRefresh, [{
|
|
258
216
|
key: "scrollContainer",
|
|
259
217
|
get: function get() {
|
|
260
218
|
var _a, _b;
|
|
261
|
-
|
|
262
219
|
return ((_a = this.contentRef) === null || _a === void 0 ? void 0 : _a.parentElement) || ((_b = this.contentRef) === null || _b === void 0 ? void 0 : _b.closest('.taro_page_stationed')) || document.querySelector('.taro_page_stationed') || document.querySelector('.taro_page') || document.querySelector('.taro_router') || document.querySelector('.taro-tabbar__panel') || document.body;
|
|
263
220
|
}
|
|
264
221
|
}, {
|
|
265
222
|
key: "componentDidMount",
|
|
266
223
|
value: function componentDidMount() {
|
|
267
224
|
var _this2 = this;
|
|
268
|
-
|
|
269
225
|
this.init();
|
|
270
226
|
this._isMounted = true;
|
|
271
227
|
this.listeners = [['__taroStartPullDownRefresh', function (_ref) {
|
|
272
228
|
var successHandler = _ref.successHandler,
|
|
273
|
-
|
|
274
|
-
|
|
229
|
+
errorHandler = _ref.errorHandler;
|
|
275
230
|
try {
|
|
276
231
|
_this2.triggerPullDownRefresh(true);
|
|
277
|
-
|
|
278
232
|
successHandler({
|
|
279
233
|
errMsg: 'startPullDownRefresh: ok'
|
|
280
234
|
});
|
|
@@ -285,11 +239,9 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
285
239
|
}
|
|
286
240
|
}], ['__taroStopPullDownRefresh', function (_ref2) {
|
|
287
241
|
var successHandler = _ref2.successHandler,
|
|
288
|
-
|
|
289
|
-
|
|
242
|
+
errorHandler = _ref2.errorHandler;
|
|
290
243
|
try {
|
|
291
244
|
_this2.triggerPullDownRefresh(false);
|
|
292
|
-
|
|
293
245
|
successHandler({
|
|
294
246
|
errMsg: 'stopPullDownRefresh: ok'
|
|
295
247
|
});
|
|
@@ -301,9 +253,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
301
253
|
}]];
|
|
302
254
|
this.listeners.forEach(function (_ref3) {
|
|
303
255
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
256
|
+
evtName = _ref4[0],
|
|
257
|
+
callback = _ref4[1];
|
|
307
258
|
Taro.eventCenter.on(evtName, callback);
|
|
308
259
|
});
|
|
309
260
|
}
|
|
@@ -313,9 +264,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
313
264
|
this.destroy();
|
|
314
265
|
this.listeners.forEach(function (_ref5) {
|
|
315
266
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
267
|
+
evtName = _ref6[0],
|
|
268
|
+
callback = _ref6[1];
|
|
319
269
|
Taro.eventCenter.off(evtName, callback);
|
|
320
270
|
});
|
|
321
271
|
}
|
|
@@ -323,15 +273,12 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
323
273
|
key: "componentDidUpdate",
|
|
324
274
|
value: function componentDidUpdate(_, prevState) {
|
|
325
275
|
var _a, _b, _c, _d;
|
|
326
|
-
|
|
327
276
|
if (prevState.currSt !== this.state.currSt) {
|
|
328
277
|
var pageEl = this.scrollContainer;
|
|
329
|
-
|
|
330
278
|
switch (this.state.currSt) {
|
|
331
279
|
case PullDownState.release:
|
|
332
280
|
(_b = (_a = pageEl === null || pageEl === void 0 ? void 0 : pageEl.__page) === null || _a === void 0 ? void 0 : _a.onPullDownRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
333
281
|
break;
|
|
334
|
-
|
|
335
282
|
case PullDownState.deactivate:
|
|
336
283
|
(_d = (_c = pageEl === null || pageEl === void 0 ? void 0 : pageEl.__page) === null || _c === void 0 ? void 0 : _c.onPullIntercept) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
337
284
|
}
|
|
@@ -341,22 +288,19 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
341
288
|
key: "render",
|
|
342
289
|
value: function render() {
|
|
343
290
|
var _this3 = this;
|
|
344
|
-
|
|
345
291
|
var props = Object.assign({}, this.props);
|
|
346
292
|
delete props.damping;
|
|
347
293
|
delete props.indicator;
|
|
348
294
|
delete props.distanceToRefresh;
|
|
349
295
|
delete props.onRefresh;
|
|
350
|
-
|
|
351
296
|
var className = props.className,
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
297
|
+
prefixCls = props.prefixCls,
|
|
298
|
+
children = props.children,
|
|
299
|
+
restProps = __rest(props, ["className", "prefixCls", "children"]);
|
|
356
300
|
var renderRefresh = function renderRefresh(cls) {
|
|
357
301
|
var _this3$state = _this3.state,
|
|
358
|
-
|
|
359
|
-
|
|
302
|
+
currSt = _this3$state.currSt,
|
|
303
|
+
dragOnEdge = _this3$state.dragOnEdge;
|
|
360
304
|
var cla = classNames(cls, !dragOnEdge && "".concat(prefixCls, "-transition"));
|
|
361
305
|
var showIndicator = currSt === 'activate' || currSt === 'release';
|
|
362
306
|
return React.createElement("div", {
|
|
@@ -370,11 +314,9 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
370
314
|
className: "".concat(prefixCls, "-indicator")
|
|
371
315
|
}, React.createElement("div", null), React.createElement("div", null), React.createElement("div", null)), children));
|
|
372
316
|
};
|
|
373
|
-
|
|
374
317
|
if (this.scrollContainer) {
|
|
375
318
|
return renderRefresh("".concat(prefixCls, "-content ").concat(prefixCls, "-down"));
|
|
376
319
|
}
|
|
377
|
-
|
|
378
320
|
return React.createElement("pull-down-refresh", Object.assign({
|
|
379
321
|
ref: function ref(el) {
|
|
380
322
|
_this3.containerRef = el;
|
|
@@ -383,10 +325,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
|
|
|
383
325
|
}, restProps), renderRefresh("".concat(prefixCls, "-content")));
|
|
384
326
|
}
|
|
385
327
|
}]);
|
|
386
|
-
|
|
387
328
|
return PullDownRefresh;
|
|
388
329
|
}(React.Component);
|
|
389
|
-
|
|
390
330
|
PullDownRefresh.defaultProps = {
|
|
391
331
|
prefixCls: 'rmc-pull-to-refresh',
|
|
392
332
|
distanceToRefresh: 50,
|