@tarojs/components-react 3.6.5-alpha → 3.6.5-canary.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.
@@ -9,33 +9,26 @@ import classNames from 'classnames';
9
9
  import React from 'react';
10
10
 
11
11
  require('intersection-observer');
12
-
13
12
  var Image = /*#__PURE__*/function (_React$Component) {
14
13
  _inherits(Image, _React$Component);
15
-
16
14
  var _super = _createSuper(Image);
17
-
18
15
  function Image(props) {
19
16
  var _this;
20
-
21
17
  _classCallCheck(this, Image);
22
-
23
18
  _this = _super.call(this, props);
24
19
  _this.observer = {};
25
20
  _this.imgRef = null;
26
21
  _this.state = {
27
22
  isLoaded: false
28
23
  };
29
- _this.imageOnLoad = _this.imageOnLoad.bind(_assertThisInitialized(_this)); // this.observer = {}
30
-
24
+ _this.imageOnLoad = _this.imageOnLoad.bind(_assertThisInitialized(_this));
25
+ // this.observer = {}
31
26
  return _this;
32
27
  }
33
-
34
28
  _createClass(Image, [{
35
29
  key: "componentDidMount",
36
30
  value: function componentDidMount() {
37
31
  var _this2 = this;
38
-
39
32
  if (this.props.lazyLoad) {
40
33
  this.observer = new IntersectionObserver(function (entries) {
41
34
  // 异步 api 关系
@@ -76,18 +69,16 @@ var Image = /*#__PURE__*/function (_React$Component) {
76
69
  key: "render",
77
70
  value: function render() {
78
71
  var _this3 = this;
79
-
80
72
  var _a = this.props,
81
- className = _a.className,
82
- _a$style = _a.style,
83
- style = _a$style === void 0 ? {} : _a$style,
84
- src = _a.src,
85
- mode = _a.mode,
86
- onError = _a.onError,
87
- lazyLoad = _a.lazyLoad,
88
- imgProps = _a.imgProps,
89
- reset = __rest(_a, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
90
-
73
+ className = _a.className,
74
+ _a$style = _a.style,
75
+ style = _a$style === void 0 ? {} : _a$style,
76
+ src = _a.src,
77
+ mode = _a.mode,
78
+ onError = _a.onError,
79
+ lazyLoad = _a.lazyLoad,
80
+ imgProps = _a.imgProps,
81
+ reset = __rest(_a, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
91
82
  var cls = classNames('taro-img', {
92
83
  'taro-img__widthfix': mode === 'widthFix'
93
84
  }, className);
@@ -114,7 +105,6 @@ var Image = /*#__PURE__*/function (_React$Component) {
114
105
  }, imgProps)));
115
106
  }
116
107
  }]);
117
-
118
108
  return Image;
119
109
  }(React.Component);
120
110
 
@@ -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,uBAAD,CAAP,CAAA;;IAWMC;;;;;AACJ,EAAA,SAAA,KAAA,CAAaC,KAAb,EAAkB;AAAA,IAAA,IAAA,KAAA,CAAA;;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;;AAChB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,KAAN,CAAA,CAAA;IAQF,KAAQC,CAAAA,QAAR,GAAgB,EAAhB,CAAA;IACA,KAAMC,CAAAA,MAAN,GAAc,IAAd,CAAA;AARE,IAAA,KAAA,CAAKC,KAAL,GAAa;AACXC,MAAAA,QAAQ,EAAE,KAAA;KADZ,CAAA;IAGA,KAAKC,CAAAA,WAAL,GAAmB,KAAKA,CAAAA,WAAL,CAAiBC,IAAjB,CAAA,sBAAA,CAAA,KAAA,CAAA,CAAnB,CALgB;;AAAA,IAAA,OAAA,KAAA,CAAA;AAOjB,GAAA;;;;WAKD,SAAiB,iBAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AACf,MAAA,IAAI,IAAKN,CAAAA,KAAL,CAAWO,QAAf,EAAyB;AACvB,QAAA,IAAA,CAAKN,QAAL,GAAgB,IAAIO,oBAAJ,CACd,UAAAC,OAAO,EAAG;AACR;UACA,IAAIA,OAAO,CAACA,OAAO,CAACC,MAAR,GAAiB,CAAlB,CAAP,CAA4BC,cAAhC,EAAgD;YAC9C,MAAI,CAACC,QAAL,CAAc;AAAER,cAAAA,QAAQ,EAAE,IAAA;AAAZ,aAAd,EAAkC,YAAK;AACrC;cACA,MAAI,CAACF,MAAL,CAAYW,GAAZ,GAAkB,MAAI,CAACb,KAAL,CAAWa,GAA7B,CAAA;aAFF,CAAA,CAAA;AAID,WAAA;AACF,SATa,EAUd;AACEC,UAAAA,UAAU,EAAE,WAAA;AADd,SAVc,CAAhB,CAAA;AAcA,QAAA,IAAA,CAAKb,QAAL,CAAcc,OAAd,CAAsB,KAAKb,MAA3B,CAAA,CAAA;AACD,OAAA;AACF,KAAA;;;WAED,SAAoB,oBAAA,GAAA;MAClB,IAAKD,CAAAA,QAAL,CAAce,UAAd,IAA4B,KAAKf,QAAL,CAAce,UAAd,EAA5B,CAAA;AACD,KAAA;;;AAED,IAAA,KAAA,EAAA,SAAA,WAAA,CAAaC,CAAb,EAAc;AACZ,MAAA,IAAQC,MAAR,GAAmB,IAAKlB,CAAAA,KAAxB,CAAQkB,MAAR,CAAA;AACAC,MAAAA,MAAM,CAACC,cAAP,CAAsBH,CAAtB,EAAyB,QAAzB,EAAmC;AACjCI,QAAAA,UAAU,EAAE,IADqB;AAEjCC,QAAAA,QAAQ,EAAE,IAFuB;AAGjCC,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAEP,CAAC,CAACQ,MAAF,CAASD,KADX;AAELE,UAAAA,MAAM,EAAET,CAAC,CAACQ,MAAF,CAASC,MAAAA;AAFZ,SAAA;OAHT,CAAA,CAAA;AASAR,MAAAA,MAAM,IAAIA,MAAM,CAACD,CAAD,CAAhB,CAAA;AACD,KAAA;;;WAED,SAAM,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;MACE,IAAAU,EAAA,GASF,IAAA,CAAK3B,KATH;AAAA,UACJ4B,SADI,GASQD,EATR,CACJC,SADI;UASQD,QAAAA,GAAAA,EATR,CAEJE,KAFI;UAEJA,KAFI,yBAEI,EAFJ,GAAA,QAAA;AAAA,UAGJhB,GAHI,GASQc,EATR,CAGJd,GAHI;AAAA,UAIJiB,IAJI,GASQH,EATR,CAIJG,IAJI;AAAA,UAKJC,OALI,GASQJ,EATR,CAKJI,OALI;AAAA,UAMJxB,QANI,GASQoB,EATR,CAMJpB,QANI;AAAA,UAOJyB,QAPI,GASQL,EATR,CAOJK,QAPI;UAQDC,KARC,GAQIC,MAAA,CAAAP,EAAA,EARJ,CASL,WATK,EASL,OATK,EASL,KATK,EASL,MATK,EASL,SATK,EASL,UATK,EASL,UATK,CAQI,CARJ,CAAA;;AAUN,MAAA,IAAMQ,GAAG,GAAGC,UAAU,CACpB,UADoB,EAEpB;AACE,QAAA,oBAAA,EAAsBN,IAAI,KAAK,UAAA;OAHb,EAKpBF,SALoB,CAAtB,CAAA;AAOA,MAAA,IAAMS,MAAM,GAAGD,UAAU,CACvB,iBACE,GAAA,CAACN,IAAI,IAAI,aAAT,EAAwBQ,WAAxB,GAAsCC,OAAtC,CAA8C,KAA9C,EAAqD,EAArD,CAFqB,CAAzB,CAAA;MAKA,OACEC,mBAAA,MAAA;AAAKZ,QAAAA,SAAS,EAAEO;AAAKN,QAAAA,KAAK,EAAEA,KAAAA;SAAWI,MAAvC,EACG1B,QAAQ,GACPiC,KACE,CAAAC,aADF,CACE,KADF,EACEtB,MAAA,CAAAuB,MAAA,CAAA;QAAAC,GAAG,EAAE,aAAAC,GAAG,EAAA;AAAA,UAAA,OAAK,MAAI,CAAC1C,MAAL,GAAc0C,GAAnB,CAAA;SAAR;AACAhB,QAAAA,SAAS,EAAES,MADX;AAEU,QAAA,UAAA,EAAAxB,GAFV;QAGAK,MAAM,EAAE,KAAKb,WAHb;AAIA0B,QAAAA,OAAO,EAAEA,OAAAA;AAJT,OAAA,EAKIC,QALJ,CADF,CADO,GAUPQ,mBAAA,MAAA;QACEG,GAAG,EAAE,aAAAC,GAAG,EAAA;AAAA,UAAA,OAAK,MAAI,CAAC1C,MAAL,GAAc0C,GAAnB,CAAA;;AACRhB,QAAAA,SAAS,EAAES;AACXxB,QAAAA,GAAG,EAAEA;QACLK,MAAM,EAAE,KAAKb;AACb0B,QAAAA,OAAO,EAAEA,OAAAA;SACLC,SANN,CAXJ,CADF,CAAA;AAuBD,KAAA;;;;AAjGiBQ,CAAAA,CAAAA,KAAK,CAACK;;;;"}
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","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","observer","imgRef","state","isLoaded","imageOnLoad","bind","_assertThisInitialized","_createClass","key","value","componentDidMount","_this2","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","componentWillUnmount","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","width","target","height","render","_this3","_a","className","_a$style","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","React","createElement","assign","ref","img","Component"],"mappings":"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"}
@@ -14,28 +14,22 @@ function setTransform(nodeStyle, value) {
14
14
  nodeStyle.webkitTransform = value;
15
15
  nodeStyle.MozTransform = value;
16
16
  }
17
-
18
17
  var isWebView = typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
19
18
  var PullDownState;
20
-
21
19
  (function (PullDownState) {
22
20
  PullDownState["activate"] = "activate";
23
21
  PullDownState["deactivate"] = "deactivate";
24
22
  PullDownState["release"] = "release";
25
23
  PullDownState["finish"] = "finish";
26
24
  })(PullDownState || (PullDownState = {}));
27
-
28
25
  var INDICATOR;
29
-
30
26
  (function (INDICATOR) {
31
27
  INDICATOR["activate"] = "release";
32
28
  INDICATOR["deactivate"] = "pull";
33
29
  INDICATOR["release"] = "loading";
34
30
  INDICATOR["finish"] = "finish";
35
31
  })(INDICATOR || (INDICATOR = {}));
36
-
37
32
  var supportsPassive = false;
38
-
39
33
  try {
40
34
  var opts = Object.defineProperty({}, 'passive', {
41
35
  get: function get() {
@@ -46,25 +40,18 @@ try {
46
40
  return {};
47
41
  }, opts);
48
42
  } catch (e) {} // eslint-disable-line no-empty
49
-
50
-
51
43
  var willPreventDefault = supportsPassive ? {
52
44
  passive: false
53
45
  } : false;
54
-
55
46
  var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
56
47
  _inherits(PullDownRefresh, _React$Component);
57
-
58
48
  var _super = _createSuper(PullDownRefresh);
59
-
60
49
  function PullDownRefresh() {
61
50
  var _this;
62
-
63
51
  _classCallCheck(this, PullDownRefresh);
64
-
65
- _this = _super.apply(this, arguments); // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355
52
+ _this = _super.apply(this, arguments);
53
+ // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355
66
54
  // currSt: `activate` / `deactivate` / `release` / `finish`
67
-
68
55
  _this.state = {
69
56
  currSt: PullDownState.deactivate,
70
57
  dragOnEdge: false
@@ -74,14 +61,13 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
74
61
  _this._lastScreenY = 0;
75
62
  _this._isMounted = false;
76
63
  _this.listeners = [];
77
-
78
64
  _this.triggerPullDownRefresh = function (flag) {
79
65
  // 在初始化时、用代码 自动 触发 pullDownRefresh
80
66
  // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish
81
67
  if (!_this.state.dragOnEdge && _this._isMounted) {
82
68
  if (flag) {
83
- _this._lastScreenY = _this.props.distanceToRefresh + 1; // change dom need after setState
84
-
69
+ _this._lastScreenY = _this.props.distanceToRefresh + 1;
70
+ // change dom need after setState
85
71
  _this.setState({
86
72
  currSt: PullDownState.release
87
73
  }, function () {
@@ -96,7 +82,6 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
96
82
  }
97
83
  }
98
84
  };
99
-
100
85
  _this.init = function () {
101
86
  var ele = _this.scrollContainer;
102
87
  _this._to = {
@@ -109,75 +94,60 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
109
94
  ele.addEventListener(key, _this._to[key], willPreventDefault);
110
95
  });
111
96
  };
112
-
113
97
  _this.destroy = function () {
114
98
  var ele = _this.scrollContainer;
115
99
  Object.keys(_this._to).forEach(function (key) {
116
100
  ele.removeEventListener(key, _this._to[key]);
117
101
  });
118
102
  };
119
-
120
103
  _this.onTouchStart = function (_, e) {
121
- _this._ScreenY = _this._startScreenY = e.touches[0].screenY; // 一开始 refreshing 为 true 时 this._lastScreenY 有值
122
-
104
+ _this._ScreenY = _this._startScreenY = e.touches[0].screenY;
105
+ // 一开始 refreshing 为 true 时 this._lastScreenY 有值
123
106
  _this._lastScreenY = _this._lastScreenY || 0;
124
107
  };
125
-
126
108
  _this.isEdge = function (ele) {
127
109
  var container = _this.scrollContainer;
128
-
129
110
  if (container && container === document.body) {
130
111
  // In chrome61 `document.body.scrollTop` is invalid
131
112
  var scrollNode = document.scrollingElement ? document.scrollingElement : document.body;
132
113
  return scrollNode.scrollTop <= 0;
133
114
  }
134
-
135
115
  return ele.scrollTop <= 0;
136
116
  };
137
-
138
117
  _this.damping = function (dy) {
139
118
  if (Math.abs(_this._lastScreenY) > _this.props.damping) {
140
119
  return 0;
141
120
  }
142
-
143
121
  var ratio = Math.abs(_this._ScreenY - _this._startScreenY) / window.screen.height;
144
122
  dy *= (1 - ratio) * 0.6;
145
123
  return dy;
146
124
  };
147
-
148
125
  _this.onTouchMove = function (ele, e) {
149
126
  // 使用 pageY 对比有问题
150
- var _screenY = e.touches[0].screenY; // 拖动方向不符合的不处理
151
-
127
+ var _screenY = e.touches[0].screenY;
128
+ // 拖动方向不符合的不处理
152
129
  if (_this._startScreenY > _screenY) {
153
130
  return;
154
131
  }
155
-
156
132
  if (_this.isEdge(ele)) {
157
133
  if (!_this.state.dragOnEdge) {
158
134
  // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义
159
135
  // 下面这行代码解决了上面这个问题
160
136
  _this._ScreenY = _this._startScreenY = e.touches[0].screenY;
161
-
162
137
  _this.setState({
163
138
  dragOnEdge: true
164
139
  });
165
140
  }
166
-
167
141
  if (e.cancelable) {
168
142
  e.preventDefault();
169
- } // add stopPropagation with fastclick will trigger content onClick event. why?
143
+ }
144
+ // add stopPropagation with fastclick will trigger content onClick event. why?
170
145
  // ref https://github.com/ant-design/ant-design-mobile/issues/2141
171
146
  // e.stopPropagation();
172
-
173
-
174
147
  var _diff = Math.round(_screenY - _this._ScreenY);
175
-
176
148
  _this._ScreenY = _screenY;
177
149
  _this._lastScreenY += _this.damping(_diff);
178
-
179
150
  _this.setContentStyle(_this._lastScreenY);
180
-
181
151
  if (Math.abs(_this._lastScreenY) < _this.props.distanceToRefresh) {
182
152
  if (_this.state.currSt !== PullDownState.deactivate) {
183
153
  // console.log('back to the distance');
@@ -192,49 +162,39 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
192
162
  currSt: PullDownState.activate
193
163
  });
194
164
  }
195
- } // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829
165
+ }
166
+ // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829
196
167
  // iOS UIWebView issue, It seems no problem in WKWebView
197
-
198
-
199
168
  if (isWebView && e.changedTouches[0].clientY < 0) {
200
169
  _this.onTouchEnd();
201
170
  }
202
171
  }
203
172
  };
204
-
205
173
  _this.onTouchEnd = function () {
206
174
  var _a, _b;
207
-
208
175
  if (_this.state.dragOnEdge) {
209
176
  _this.setState({
210
177
  dragOnEdge: false
211
178
  });
212
179
  }
213
-
214
180
  if (_this.state.currSt === PullDownState.activate) {
215
181
  _this.setState({
216
182
  currSt: PullDownState.release
217
183
  });
218
-
219
184
  (_b = (_a = _this.props).onRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
220
185
  _this._lastScreenY = _this.props.distanceToRefresh + 1;
221
-
222
186
  _this.setContentStyle(_this._lastScreenY);
223
187
  } else if (_this.state.currSt === 'release') {
224
188
  _this._lastScreenY = _this.props.distanceToRefresh + 1;
225
-
226
189
  _this.setContentStyle(_this._lastScreenY);
227
190
  } else {
228
191
  _this.reset();
229
192
  }
230
193
  };
231
-
232
194
  _this.reset = function () {
233
195
  _this._lastScreenY = 0;
234
-
235
196
  _this.setContentStyle(0);
236
197
  };
237
-
238
198
  _this.setContentStyle = function (ty) {
239
199
  // TODO: Why sometimes do not have `this.contentRef` ?
240
200
  if (_this.contentRef) {
@@ -246,31 +206,25 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
246
206
  }
247
207
  }
248
208
  };
249
-
250
209
  return _this;
251
210
  }
252
-
253
211
  _createClass(PullDownRefresh, [{
254
212
  key: "scrollContainer",
255
213
  get: function get() {
256
214
  var _a, _b;
257
-
258
215
  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;
259
216
  }
260
217
  }, {
261
218
  key: "componentDidMount",
262
219
  value: function componentDidMount() {
263
220
  var _this2 = this;
264
-
265
221
  this.init();
266
222
  this._isMounted = true;
267
223
  this.listeners = [['__taroStartPullDownRefresh', function (_ref) {
268
224
  var successHandler = _ref.successHandler,
269
- errorHandler = _ref.errorHandler;
270
-
225
+ errorHandler = _ref.errorHandler;
271
226
  try {
272
227
  _this2.triggerPullDownRefresh(true);
273
-
274
228
  successHandler({
275
229
  errMsg: 'startPullDownRefresh: ok'
276
230
  });
@@ -281,11 +235,9 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
281
235
  }
282
236
  }], ['__taroStopPullDownRefresh', function (_ref2) {
283
237
  var successHandler = _ref2.successHandler,
284
- errorHandler = _ref2.errorHandler;
285
-
238
+ errorHandler = _ref2.errorHandler;
286
239
  try {
287
240
  _this2.triggerPullDownRefresh(false);
288
-
289
241
  successHandler({
290
242
  errMsg: 'stopPullDownRefresh: ok'
291
243
  });
@@ -297,9 +249,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
297
249
  }]];
298
250
  this.listeners.forEach(function (_ref3) {
299
251
  var _ref4 = _slicedToArray(_ref3, 2),
300
- evtName = _ref4[0],
301
- callback = _ref4[1];
302
-
252
+ evtName = _ref4[0],
253
+ callback = _ref4[1];
303
254
  Taro.eventCenter.on(evtName, callback);
304
255
  });
305
256
  }
@@ -309,9 +260,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
309
260
  this.destroy();
310
261
  this.listeners.forEach(function (_ref5) {
311
262
  var _ref6 = _slicedToArray(_ref5, 2),
312
- evtName = _ref6[0],
313
- callback = _ref6[1];
314
-
263
+ evtName = _ref6[0],
264
+ callback = _ref6[1];
315
265
  Taro.eventCenter.off(evtName, callback);
316
266
  });
317
267
  }
@@ -319,15 +269,12 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
319
269
  key: "componentDidUpdate",
320
270
  value: function componentDidUpdate(_, prevState) {
321
271
  var _a, _b, _c, _d;
322
-
323
272
  if (prevState.currSt !== this.state.currSt) {
324
273
  var pageEl = this.scrollContainer;
325
-
326
274
  switch (this.state.currSt) {
327
275
  case PullDownState.release:
328
276
  (_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);
329
277
  break;
330
-
331
278
  case PullDownState.deactivate:
332
279
  (_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);
333
280
  }
@@ -337,22 +284,19 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
337
284
  key: "render",
338
285
  value: function render() {
339
286
  var _this3 = this;
340
-
341
287
  var props = Object.assign({}, this.props);
342
288
  delete props.damping;
343
289
  delete props.indicator;
344
290
  delete props.distanceToRefresh;
345
291
  delete props.onRefresh;
346
-
347
292
  var className = props.className,
348
- prefixCls = props.prefixCls,
349
- children = props.children,
350
- restProps = __rest(props, ["className", "prefixCls", "children"]);
351
-
293
+ prefixCls = props.prefixCls,
294
+ children = props.children,
295
+ restProps = __rest(props, ["className", "prefixCls", "children"]);
352
296
  var renderRefresh = function renderRefresh(cls) {
353
297
  var _this3$state = _this3.state,
354
- currSt = _this3$state.currSt,
355
- dragOnEdge = _this3$state.dragOnEdge;
298
+ currSt = _this3$state.currSt,
299
+ dragOnEdge = _this3$state.dragOnEdge;
356
300
  var cla = classNames(cls, !dragOnEdge && "".concat(prefixCls, "-transition"));
357
301
  var showIndicator = currSt === 'activate' || currSt === 'release';
358
302
  return React.createElement("div", {
@@ -366,11 +310,9 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
366
310
  className: "".concat(prefixCls, "-indicator")
367
311
  }, React.createElement("div", null), React.createElement("div", null), React.createElement("div", null)), children));
368
312
  };
369
-
370
313
  if (this.scrollContainer) {
371
314
  return renderRefresh("".concat(prefixCls, "-content ").concat(prefixCls, "-down"));
372
315
  }
373
-
374
316
  return React.createElement("pull-down-refresh", Object.assign({
375
317
  ref: function ref(el) {
376
318
  _this3.containerRef = el;
@@ -379,10 +321,8 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
379
321
  }, restProps), renderRefresh("".concat(prefixCls, "-content")));
380
322
  }
381
323
  }]);
382
-
383
324
  return PullDownRefresh;
384
325
  }(React.Component);
385
-
386
326
  PullDownRefresh.defaultProps = {
387
327
  prefixCls: 'rmc-pull-to-refresh',
388
328
  distanceToRefresh: 50,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import './style/index.css'\r\n\r\nimport Taro from '@tarojs/taro'\r\nimport classNames from 'classnames'\r\nimport React from 'react'\r\n\r\nfunction setTransform (nodeStyle, value) {\r\n nodeStyle.transform = value\r\n nodeStyle.webkitTransform = value\r\n nodeStyle.MozTransform = value\r\n}\r\n\r\nconst isWebView =\r\n typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)\r\n\r\nenum PullDownState {\r\n activate = 'activate',\r\n deactivate = 'deactivate',\r\n release = 'release',\r\n finish = 'finish'\r\n}\r\n\r\nenum INDICATOR {\r\n activate = 'release',\r\n deactivate = 'pull',\r\n release = 'loading',\r\n finish = 'finish'\r\n}\r\n\r\nlet supportsPassive = false\r\ntry {\r\n const opts = Object.defineProperty({}, 'passive', {\r\n get () {\r\n supportsPassive = true\r\n }\r\n })\r\n window.addEventListener('cancel', () => ({}), opts)\r\n} catch (e) {} // eslint-disable-line no-empty\r\n\r\nconst willPreventDefault = supportsPassive ? { passive: false } : false\r\n\r\ninterface IProps extends React.HTMLAttributes<HTMLBaseElement> {\r\n prefixCls: string\r\n distanceToRefresh: number\r\n damping: number\r\n indicator: INDICATOR\r\n onRefresh?: () => void\r\n}\r\n\r\ninterface IState {\r\n currSt: PullDownState\r\n dragOnEdge: boolean\r\n}\r\n\r\nclass PullDownRefresh extends React.Component<IProps, IState> {\r\n static defaultProps = {\r\n prefixCls: 'rmc-pull-to-refresh',\r\n distanceToRefresh: 50,\r\n damping: 100,\r\n indicator: INDICATOR\r\n }\r\n\r\n // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355\r\n // currSt: `activate` / `deactivate` / `release` / `finish`\r\n state = {\r\n currSt: PullDownState.deactivate,\r\n dragOnEdge: false\r\n }\r\n\r\n containerRef: HTMLElement | null\r\n contentRef: HTMLDivElement | null\r\n _to: Record<string, EventListener>\r\n _ScreenY = 0\r\n _startScreenY = 0\r\n _lastScreenY = 0\r\n _isMounted = false\r\n listeners: [string, (...args: any[]) => void][] = []\r\n\r\n get scrollContainer () {\r\n return (\r\n this.contentRef?.parentElement ||\r\n this.contentRef?.closest('.taro_page_stationed') ||\r\n document.querySelector('.taro_page_stationed') ||\r\n document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router') ||\r\n document.querySelector('.taro-tabbar__panel') ||\r\n document.body\r\n )\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n [\r\n '__taroStartPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(true)\r\n successHandler({\r\n errMsg: 'startPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'startPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ],\r\n [\r\n '__taroStopPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(false)\r\n successHandler({\r\n errMsg: 'stopPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'stopPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ]\r\n ]\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.on(evtName, callback)\r\n })\r\n }\r\n\r\n componentWillUnmount () {\r\n this.destroy()\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.off(evtName, callback)\r\n })\r\n }\r\n\r\n componentDidUpdate (_, prevState: IState) {\r\n if (prevState.currSt !== this.state.currSt) {\r\n const pageEl: any = this.scrollContainer\r\n switch (this.state.currSt) {\r\n case PullDownState.release:\r\n pageEl?.__page?.onPullDownRefresh?.()\r\n break\r\n case PullDownState.deactivate:\r\n pageEl?.__page?.onPullIntercept?.()\r\n }\r\n }\r\n }\r\n\r\n triggerPullDownRefresh = (flag: boolean) => {\r\n // 在初始化时、用代码 自动 触发 pullDownRefresh\r\n // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish\r\n if (!this.state.dragOnEdge && this._isMounted) {\r\n if (flag) {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n // change dom need after setState\r\n this.setState({ currSt: PullDownState.release }, () => this.setContentStyle(this._lastScreenY))\r\n } else {\r\n this.setState({ currSt: PullDownState.finish }, () => this.reset())\r\n }\r\n }\r\n }\r\n\r\n init = () => {\r\n const ele = this.scrollContainer\r\n this._to = {\r\n touchstart: this.onTouchStart.bind(this, ele),\r\n touchmove: this.onTouchMove.bind(this, ele),\r\n touchend: this.onTouchEnd.bind(this, ele),\r\n touchcancel: this.onTouchEnd.bind(this, ele)\r\n }\r\n Object.keys(this._to).forEach(key => {\r\n ele.addEventListener(key, this._to[key], willPreventDefault)\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const ele = this.scrollContainer\r\n Object.keys(this._to).forEach(key => {\r\n ele.removeEventListener(key, this._to[key])\r\n })\r\n }\r\n\r\n onTouchStart = (_, e: TouchEvent) => {\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n // 一开始 refreshing 为 true 时 this._lastScreenY 有值\r\n this._lastScreenY = this._lastScreenY || 0\r\n }\r\n\r\n isEdge = (ele: HTMLElement) => {\r\n const container = this.scrollContainer\r\n if (container && container === document.body) {\r\n // In chrome61 `document.body.scrollTop` is invalid\r\n const scrollNode = document.scrollingElement ? document.scrollingElement : document.body\r\n return scrollNode.scrollTop <= 0\r\n }\r\n return ele.scrollTop <= 0\r\n }\r\n\r\n damping = (dy: number) => {\r\n if (Math.abs(this._lastScreenY) > this.props.damping) {\r\n return 0\r\n }\r\n\r\n const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height\r\n dy *= (1 - ratio) * 0.6\r\n\r\n return dy\r\n }\r\n\r\n onTouchMove = (ele: HTMLElement, e: TouchEvent) => {\r\n // 使用 pageY 对比有问题\r\n const _screenY = e.touches[0].screenY\r\n\r\n // 拖动方向不符合的不处理\r\n if (this._startScreenY > _screenY) {\r\n return\r\n }\r\n\r\n if (this.isEdge(ele)) {\r\n if (!this.state.dragOnEdge) {\r\n // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义\r\n // 下面这行代码解决了上面这个问题\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n this.setState({ dragOnEdge: true })\r\n }\r\n if (e.cancelable) {\r\n e.preventDefault()\r\n }\r\n // add stopPropagation with fastclick will trigger content onClick event. why?\r\n // ref https://github.com/ant-design/ant-design-mobile/issues/2141\r\n // e.stopPropagation();\r\n\r\n const _diff = Math.round(_screenY - this._ScreenY)\r\n this._ScreenY = _screenY\r\n this._lastScreenY += this.damping(_diff)\r\n\r\n this.setContentStyle(this._lastScreenY)\r\n\r\n if (Math.abs(this._lastScreenY) < this.props.distanceToRefresh) {\r\n if (this.state.currSt !== PullDownState.deactivate) {\r\n // console.log('back to the distance');\r\n this.setState({ currSt: PullDownState.deactivate })\r\n }\r\n } else {\r\n if (this.state.currSt === PullDownState.deactivate) {\r\n // console.log('reach to the distance');\r\n this.setState({ currSt: PullDownState.activate })\r\n }\r\n }\r\n\r\n // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829\r\n // iOS UIWebView issue, It seems no problem in WKWebView\r\n if (isWebView && e.changedTouches[0].clientY < 0) {\r\n this.onTouchEnd()\r\n }\r\n }\r\n }\r\n\r\n onTouchEnd = () => {\r\n if (this.state.dragOnEdge) {\r\n this.setState({ dragOnEdge: false })\r\n }\r\n if (this.state.currSt === PullDownState.activate) {\r\n this.setState({ currSt: PullDownState.release })\r\n this.props.onRefresh?.()\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else if (this.state.currSt === 'release') {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else {\r\n this.reset()\r\n }\r\n }\r\n\r\n reset = () => {\r\n this._lastScreenY = 0\r\n this.setContentStyle(0)\r\n }\r\n\r\n setContentStyle = ty => {\r\n // TODO: Why sometimes do not have `this.contentRef` ?\r\n if (this.contentRef) {\r\n // translate3d 不清理 会影响内部元素定位\r\n if (ty) {\r\n setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`)\r\n } else {\r\n setTransform(this.contentRef.style, '')\r\n }\r\n }\r\n }\r\n\r\n render () {\r\n const props: Partial<IProps> & {\r\n children?: React.ReactNode\r\n } = { ...this.props }\r\n delete props.damping\r\n delete props.indicator\r\n delete props.distanceToRefresh\r\n delete props.onRefresh\r\n\r\n const { className, prefixCls, children, ...restProps } = props\r\n\r\n const renderRefresh = (cls: string) => {\r\n const { currSt, dragOnEdge } = this.state\r\n const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`)\r\n const showIndicator = currSt === 'activate' || currSt === 'release'\r\n return (\r\n <div className={`${prefixCls}-content-wrapper`}>\r\n <div\r\n className={cla}\r\n ref={el => {\r\n this.contentRef = el\r\n }}\r\n >\r\n {showIndicator && (\r\n <div className={`${prefixCls}-indicator`}>\r\n <div />\r\n <div />\r\n <div />\r\n </div>\r\n )}\r\n {children}\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (this.scrollContainer) {\r\n return renderRefresh(`${prefixCls}-content ${prefixCls}-down`)\r\n }\r\n return (\r\n <pull-down-refresh\r\n ref={el => {\r\n this.containerRef = el\r\n }}\r\n className={classNames(className, prefixCls, `${prefixCls}-down`)}\r\n {...restProps}\r\n >\r\n {renderRefresh(`${prefixCls}-content`)}\r\n </pull-down-refresh>\r\n )\r\n }\r\n}\r\n\r\nexport default PullDownRefresh\r\n"],"names":["setTransform","nodeStyle","value","transform","webkitTransform","MozTransform","isWebView","navigator","test","userAgent","PullDownState","INDICATOR","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","willPreventDefault","passive","PullDownRefresh","state","currSt","deactivate","dragOnEdge","_ScreenY","_startScreenY","_lastScreenY","_isMounted","listeners","triggerPullDownRefresh","flag","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","init","ele","scrollContainer","_to","touchstart","onTouchStart","bind","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","destroy","removeEventListener","_","touches","screenY","isEdge","container","document","body","scrollNode","scrollingElement","scrollTop","damping","dy","Math","abs","ratio","screen","height","_screenY","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","_b","onRefresh","ty","contentRef","style","_a","parentElement","closest","querySelector","successHandler","errorHandler","errMsg","evtName","callback","Taro","eventCenter","on","off","prevState","pageEl","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","assign","indicator","className","prefixCls","children","restProps","__rest","renderRefresh","cls","cla","classNames","showIndicator","React","createElement","ref","el","containerRef","Component","defaultProps"],"mappings":";;;;;;;;;;;AAMA,SAASA,YAAT,CAAuBC,SAAvB,EAAkCC,KAAlC,EAAuC;EACrCD,SAAS,CAACE,SAAV,GAAsBD,KAAtB,CAAA;EACAD,SAAS,CAACG,eAAV,GAA4BF,KAA5B,CAAA;EACAD,SAAS,CAACI,YAAV,GAAyBH,KAAzB,CAAA;AACD,CAAA;;AAED,IAAMI,SAAS,GACb,OAAOC,SAAP,KAAqB,WAArB,IAAoC,8CAAA,CAA+CC,IAA/C,CAAoDD,SAAS,CAACE,SAA9D,CADtC,CAAA;AAGA,IAAKC,aAAL,CAAA;;AAAA,CAAA,UAAKA,aAAL,EAAkB;AAChBA,EAAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AACAA,EAAAA,aAAA,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;AACAA,EAAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AACD,CALD,EAAKA,aAAa,KAAbA,aAAa,GAKjB,EALiB,CAAlB,CAAA,CAAA;;AAOA,IAAKC,SAAL,CAAA;;AAAA,CAAA,UAAKA,SAAL,EAAc;AACZA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,SAAA,CAAA,YAAA,CAAA,GAAA,MAAA,CAAA;AACAA,EAAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AACD,CALD,EAAKA,SAAS,KAATA,SAAS,GAKb,EALa,CAAd,CAAA,CAAA;;AAOA,IAAIC,eAAe,GAAG,KAAtB,CAAA;;AACA,IAAI;EACF,IAAMC,IAAI,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAChDC,IAAAA,GADgD,EAC7C,SAAA,GAAA,GAAA;AACDJ,MAAAA,eAAe,GAAG,IAAlB,CAAA;AACD,KAAA;AAH+C,GAArC,CAAb,CAAA;AAKAK,EAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkC,YAAA;AAAA,IAAA,OAAO,EAAP,CAAA;AAAA,GAAlC,EAA8CL,IAA9C,CAAA,CAAA;AACD,CAPD,CAOE,OAAOM,CAAP,EAAU;;;AAEZ,IAAMC,kBAAkB,GAAGR,eAAe,GAAG;AAAES,EAAAA,OAAO,EAAE,KAAA;AAAX,CAAH,GAAwB,KAAlE,CAAA;;IAeMC;;;;;EAAN,SAAA,eAAA,GAAA;AAAA,IAAA,IAAA,KAAA,CAAA;;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,eAAA,CAAA,CAAA;;0CAAA;AASE;;AACA,IAAA,KAAA,CAAAC,KAAA,GAAQ;MACNC,MAAM,EAAEd,aAAa,CAACe,UADhB;AAENC,MAAAA,UAAU,EAAE,KAAA;KAFd,CAAA;IAQA,KAAQC,CAAAA,QAAR,GAAW,CAAX,CAAA;IACA,KAAaC,CAAAA,aAAb,GAAgB,CAAhB,CAAA;IACA,KAAYC,CAAAA,YAAZ,GAAe,CAAf,CAAA;IACA,KAAUC,CAAAA,UAAV,GAAa,KAAb,CAAA;IACA,KAASC,CAAAA,SAAT,GAAkD,EAAlD,CAAA;;AA0EA,IAAA,KAAA,CAAAC,sBAAA,GAAyB,UAACC,IAAD,EAAkB;AACzC;AACA;MACA,IAAI,CAAC,MAAKV,KAAL,CAAWG,UAAZ,IAA0B,KAAA,CAAKI,UAAnC,EAA+C;AAC7C,QAAA,IAAIG,IAAJ,EAAU;UACR,KAAKJ,CAAAA,YAAL,GAAoB,KAAKK,CAAAA,KAAL,CAAWC,iBAAX,GAA+B,CAAnD,CADQ;;AAGR,UAAA,KAAA,CAAKC,QAAL,CAAc;YAAEZ,MAAM,EAAEd,aAAa,CAAC2B,OAAAA;AAAxB,WAAd,EAAiD,YAAA;AAAA,YAAA,OAAM,KAAKC,CAAAA,eAAL,CAAqB,KAAA,CAAKT,YAA1B,CAAN,CAAA;WAAjD,CAAA,CAAA;AACD,SAJD,MAIO;AACL,UAAA,KAAA,CAAKO,QAAL,CAAc;YAAEZ,MAAM,EAAEd,aAAa,CAAC6B,MAAAA;AAAxB,WAAd,EAAgD,YAAA;YAAA,OAAM,KAAA,CAAKC,KAAL,EAAN,CAAA;WAAhD,CAAA,CAAA;AACD,SAAA;AACF,OAAA;KAXH,CAAA;;IAcA,KAAIC,CAAAA,IAAJ,GAAO,YAAK;MACV,IAAMC,GAAG,GAAG,KAAA,CAAKC,eAAjB,CAAA;AACA,MAAA,KAAA,CAAKC,GAAL,GAAW;AACTC,QAAAA,UAAU,EAAE,KAAKC,CAAAA,YAAL,CAAkBC,IAAlB,CAAA,sBAAA,CAAA,KAAA,CAAA,EAA6BL,GAA7B,CADH;AAETM,QAAAA,SAAS,EAAE,KAAKC,CAAAA,WAAL,CAAiBF,IAAjB,CAAA,sBAAA,CAAA,KAAA,CAAA,EAA4BL,GAA5B,CAFF;AAGTQ,QAAAA,QAAQ,EAAE,KAAKC,CAAAA,UAAL,CAAgBJ,IAAhB,CAAA,sBAAA,CAAA,KAAA,CAAA,EAA2BL,GAA3B,CAHD;AAITU,QAAAA,WAAW,EAAE,KAAKD,CAAAA,UAAL,CAAgBJ,IAAhB,gCAA2BL,GAA3B,CAAA;OAJf,CAAA;MAMA5B,MAAM,CAACuC,IAAP,CAAY,KAAKT,CAAAA,GAAjB,EAAsBU,OAAtB,CAA8B,UAAAC,GAAG,EAAG;QAClCb,GAAG,CAACxB,gBAAJ,CAAqBqC,GAArB,EAA0B,KAAKX,CAAAA,GAAL,CAASW,GAAT,CAA1B,EAAyCnC,kBAAzC,CAAA,CAAA;OADF,CAAA,CAAA;KARF,CAAA;;IAaA,KAAOoC,CAAAA,OAAP,GAAU,YAAK;MACb,IAAMd,GAAG,GAAG,KAAA,CAAKC,eAAjB,CAAA;MACA7B,MAAM,CAACuC,IAAP,CAAY,KAAKT,CAAAA,GAAjB,EAAsBU,OAAtB,CAA8B,UAAAC,GAAG,EAAG;QAClCb,GAAG,CAACe,mBAAJ,CAAwBF,GAAxB,EAA6B,KAAKX,CAAAA,GAAL,CAASW,GAAT,CAA7B,CAAA,CAAA;OADF,CAAA,CAAA;KAFF,CAAA;;AAOA,IAAA,KAAA,CAAAT,YAAA,GAAe,UAACY,CAAD,EAAIvC,CAAJ,EAAqB;AAClC,MAAA,KAAA,CAAKQ,QAAL,GAAgB,KAAKC,CAAAA,aAAL,GAAqBT,CAAC,CAACwC,OAAF,CAAU,CAAV,CAAaC,CAAAA,OAAlD,CADkC;;AAGlC,MAAA,KAAA,CAAK/B,YAAL,GAAoB,KAAKA,CAAAA,YAAL,IAAqB,CAAzC,CAAA;KAHF,CAAA;;AAMA,IAAA,KAAA,CAAAgC,MAAA,GAAS,UAACnB,GAAD,EAAqB;MAC5B,IAAMoB,SAAS,GAAG,KAAA,CAAKnB,eAAvB,CAAA;;AACA,MAAA,IAAImB,SAAS,IAAIA,SAAS,KAAKC,QAAQ,CAACC,IAAxC,EAA8C;AAC5C;AACA,QAAA,IAAMC,UAAU,GAAGF,QAAQ,CAACG,gBAAT,GAA4BH,QAAQ,CAACG,gBAArC,GAAwDH,QAAQ,CAACC,IAApF,CAAA;AACA,QAAA,OAAOC,UAAU,CAACE,SAAX,IAAwB,CAA/B,CAAA;AACD,OAAA;;AACD,MAAA,OAAOzB,GAAG,CAACyB,SAAJ,IAAiB,CAAxB,CAAA;KAPF,CAAA;;AAUA,IAAA,KAAA,CAAAC,OAAA,GAAU,UAACC,EAAD,EAAe;MACvB,IAAIC,IAAI,CAACC,GAAL,CAAS,KAAA,CAAK1C,YAAd,CAAA,GAA8B,KAAKK,CAAAA,KAAL,CAAWkC,OAA7C,EAAsD;AACpD,QAAA,OAAO,CAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAMI,KAAK,GAAGF,IAAI,CAACC,GAAL,CAAS,KAAK5C,CAAAA,QAAL,GAAgB,KAAA,CAAKC,aAA9B,CAA+CX,GAAAA,MAAM,CAACwD,MAAP,CAAcC,MAA3E,CAAA;AACAL,MAAAA,EAAE,IAAI,CAAC,CAAIG,GAAAA,KAAL,IAAc,GAApB,CAAA;AAEA,MAAA,OAAOH,EAAP,CAAA;KARF,CAAA;;AAWA,IAAA,KAAA,CAAApB,WAAA,GAAc,UAACP,GAAD,EAAmBvB,CAAnB,EAAoC;AAChD;MACA,IAAMwD,QAAQ,GAAGxD,CAAC,CAACwC,OAAF,CAAU,CAAV,CAAA,CAAaC,OAA9B,CAFgD;;AAKhD,MAAA,IAAI,KAAKhC,CAAAA,aAAL,GAAqB+C,QAAzB,EAAmC;AACjC,QAAA,OAAA;AACD,OAAA;;AAED,MAAA,IAAI,KAAKd,CAAAA,MAAL,CAAYnB,GAAZ,CAAJ,EAAsB;AACpB,QAAA,IAAI,CAAC,KAAA,CAAKnB,KAAL,CAAWG,UAAhB,EAA4B;AAC1B;AACA;UACA,KAAKC,CAAAA,QAAL,GAAgB,KAAA,CAAKC,aAAL,GAAqBT,CAAC,CAACwC,OAAF,CAAU,CAAV,CAAA,CAAaC,OAAlD,CAAA;;AACA,UAAA,KAAA,CAAKxB,QAAL,CAAc;AAAEV,YAAAA,UAAU,EAAE,IAAA;WAA5B,CAAA,CAAA;AACD,SAAA;;QACD,IAAIP,CAAC,CAACyD,UAAN,EAAkB;AAChBzD,UAAAA,CAAC,CAAC0D,cAAF,EAAA,CAAA;AACD,SATmB;AAWpB;AACA;;;QAEA,IAAMC,KAAK,GAAGR,IAAI,CAACS,KAAL,CAAWJ,QAAQ,GAAG,KAAKhD,CAAAA,QAA3B,CAAd,CAAA;;QACA,KAAKA,CAAAA,QAAL,GAAgBgD,QAAhB,CAAA;AACA,QAAA,KAAA,CAAK9C,YAAL,IAAqB,KAAA,CAAKuC,OAAL,CAAaU,KAAb,CAArB,CAAA;;QAEA,KAAKxC,CAAAA,eAAL,CAAqB,KAAA,CAAKT,YAA1B,CAAA,CAAA;;QAEA,IAAIyC,IAAI,CAACC,GAAL,CAAS,KAAA,CAAK1C,YAAd,CAAA,GAA8B,KAAKK,CAAAA,KAAL,CAAWC,iBAA7C,EAAgE;UAC9D,IAAI,KAAA,CAAKZ,KAAL,CAAWC,MAAX,KAAsBd,aAAa,CAACe,UAAxC,EAAoD;AAClD;AACA,YAAA,KAAA,CAAKW,QAAL,CAAc;cAAEZ,MAAM,EAAEd,aAAa,CAACe,UAAAA;aAAtC,CAAA,CAAA;AACD,WAAA;AACF,SALD,MAKO;UACL,IAAI,KAAA,CAAKF,KAAL,CAAWC,MAAX,KAAsBd,aAAa,CAACe,UAAxC,EAAoD;AAClD;AACA,YAAA,KAAA,CAAKW,QAAL,CAAc;cAAEZ,MAAM,EAAEd,aAAa,CAACsE,QAAAA;aAAtC,CAAA,CAAA;AACD,WAAA;AACF,SA9BmB;AAiCpB;;;QACA,IAAI1E,SAAS,IAAIa,CAAC,CAAC8D,cAAF,CAAiB,CAAjB,CAAoBC,CAAAA,OAApB,GAA8B,CAA/C,EAAkD;AAChD,UAAA,KAAA,CAAK/B,UAAL,EAAA,CAAA;AACD,SAAA;AACF,OAAA;KA9CH,CAAA;;IAiDA,KAAUA,CAAAA,UAAV,GAAa,YAAK;;;AAChB,MAAA,IAAI,KAAK5B,CAAAA,KAAL,CAAWG,UAAf,EAA2B;AACzB,QAAA,KAAA,CAAKU,QAAL,CAAc;AAAEV,UAAAA,UAAU,EAAE,KAAA;SAA5B,CAAA,CAAA;AACD,OAAA;;MACD,IAAI,KAAA,CAAKH,KAAL,CAAWC,MAAX,KAAsBd,aAAa,CAACsE,QAAxC,EAAkD;AAChD,QAAA,KAAA,CAAK5C,QAAL,CAAc;UAAEZ,MAAM,EAAEd,aAAa,CAAC2B,OAAAA;SAAtC,CAAA,CAAA;;QACA,CAAA8C,EAAA,GAAA,MAAA,MAAKjD,KAAL,EAAWkD,SAAX,UAAA,iBAAA,SAAA,cAAA,CAAA;AACA,QAAA,KAAA,CAAKvD,YAAL,GAAoB,KAAA,CAAKK,KAAL,CAAWC,iBAAX,GAA+B,CAAnD,CAAA;;QACA,KAAKG,CAAAA,eAAL,CAAqB,KAAA,CAAKT,YAA1B,CAAA,CAAA;OAJF,MAKO,IAAI,KAAKN,CAAAA,KAAL,CAAWC,MAAX,KAAsB,SAA1B,EAAqC;AAC1C,QAAA,KAAA,CAAKK,YAAL,GAAoB,KAAA,CAAKK,KAAL,CAAWC,iBAAX,GAA+B,CAAnD,CAAA;;QACA,KAAKG,CAAAA,eAAL,CAAqB,KAAA,CAAKT,YAA1B,CAAA,CAAA;AACD,OAHM,MAGA;AACL,QAAA,KAAA,CAAKW,KAAL,EAAA,CAAA;AACD,OAAA;KAdH,CAAA;;IAiBA,KAAKA,CAAAA,KAAL,GAAQ,YAAK;MACX,KAAKX,CAAAA,YAAL,GAAoB,CAApB,CAAA;;MACA,KAAKS,CAAAA,eAAL,CAAqB,CAArB,CAAA,CAAA;KAFF,CAAA;;AAKA,IAAA,KAAA,CAAeA,eAAf,GAAkB,UAAA+C,EAAE,EAAG;AACrB;MACA,IAAI,KAAA,CAAKC,UAAT,EAAqB;AACnB;AACA,QAAA,IAAID,EAAJ,EAAQ;AACNrF,UAAAA,YAAY,CAAC,KAAKsF,CAAAA,UAAL,CAAgBC,KAAjB,EAAA,kBAAA,CAAA,MAAA,CAA2CF,EAA3C,EAAZ,OAAA,CAAA,CAAA,CAAA;AACD,SAFD,MAEO;AACLrF,UAAAA,YAAY,CAAC,KAAKsF,CAAAA,UAAL,CAAgBC,KAAjB,EAAwB,EAAxB,CAAZ,CAAA;AACD,SAAA;AACF,OAAA;KATH,CAAA;;AApOF,IAAA,OAAA,KAAA,CAAA;AAmSC,GAAA;;;;SA3QC,SAAmB,GAAA,GAAA;;;AACjB,MAAA,OACE,CAAA,CAAAC,EAAA,GAAA,KAAKF,UAAL,UAAA,iBAAA,SAAA,MAAiBG,aAAjB,MACA,CAAAN,EAAA,GAAA,KAAKG,UAAL,MAAe,IAAf,IAAeH,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAEO,OAAF,CAAU,sBAAV,CADf,KAEA3B,QAAQ,CAAC4B,aAAT,CAAuB,sBAAvB,CAFA,IAGA5B,QAAQ,CAAC4B,aAAT,CAAuB,YAAvB,CAHA,IAIA5B,QAAQ,CAAC4B,aAAT,CAAuB,cAAvB,CAJA,IAKA5B,QAAQ,CAAC4B,aAAT,CAAuB,qBAAvB,CALA,IAMA5B,QAAQ,CAACC,IAPX,CAAA;AASD,KAAA;;;WAED,SAAiB,iBAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AACf,MAAA,IAAA,CAAKvB,IAAL,EAAA,CAAA;MACA,IAAKX,CAAAA,UAAL,GAAkB,IAAlB,CAAA;AACA,MAAA,IAAA,CAAKC,SAAL,GAAiB,CACf,CACE,4BADF,EAEE,UAAqC,IAAA,EAAA;QAAA,IAAlC6D,cAAkC,QAAlCA,cAAkC;YAAlBC,YAAkB,QAAlBA,YAAkB,CAAA;;QACnC,IAAI;UACF,MAAI,CAAC7D,sBAAL,CAA4B,IAA5B,CAAA,CAAA;;AACA4D,UAAAA,cAAc,CAAC;AACbE,YAAAA,MAAM,EAAE,0BAAA;AADK,WAAD,CAAd,CAAA;SAFF,CAKE,OAAO3E,CAAP,EAAU;AACV0E,UAAAA,YAAY,CAAC;AACXC,YAAAA,MAAM,EAAE,4BAAA;AADG,WAAD,CAAZ,CAAA;AAGD,SAAA;AACF,OAbH,CADe,EAgBf,CACE,2BADF,EAEE,UAAqC,KAAA,EAAA;QAAA,IAAlCF,cAAkC,SAAlCA,cAAkC;YAAlBC,YAAkB,SAAlBA,YAAkB,CAAA;;QACnC,IAAI;UACF,MAAI,CAAC7D,sBAAL,CAA4B,KAA5B,CAAA,CAAA;;AACA4D,UAAAA,cAAc,CAAC;AACbE,YAAAA,MAAM,EAAE,yBAAA;AADK,WAAD,CAAd,CAAA;SAFF,CAKE,OAAO3E,CAAP,EAAU;AACV0E,UAAAA,YAAY,CAAC;AACXC,YAAAA,MAAM,EAAE,2BAAA;AADG,WAAD,CAAZ,CAAA;AAGD,SAAA;AACF,OAbH,CAhBe,CAAjB,CAAA;AAgCA,MAAA,IAAA,CAAK/D,SAAL,CAAeuB,OAAf,CAAuB,UAAwB,KAAA,EAAA;AAAA,QAAA,IAAA,KAAA,GAAA,cAAA,CAAA,KAAA,EAAA,CAAA,CAAA;AAAA,YAAtByC,OAAsB,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,YAAbC,QAAa,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;AAC7CC,QAAAA,IAAI,CAACC,WAAL,CAAiBC,EAAjB,CAAoBJ,OAApB,EAA6BC,QAA7B,CAAA,CAAA;OADF,CAAA,CAAA;AAGD,KAAA;;;WAED,SAAoB,oBAAA,GAAA;AAClB,MAAA,IAAA,CAAKxC,OAAL,EAAA,CAAA;AACA,MAAA,IAAA,CAAKzB,SAAL,CAAeuB,OAAf,CAAuB,UAAwB,KAAA,EAAA;AAAA,QAAA,IAAA,KAAA,GAAA,cAAA,CAAA,KAAA,EAAA,CAAA,CAAA;AAAA,YAAtByC,OAAsB,GAAA,KAAA,CAAA,CAAA,CAAA;AAAA,YAAbC,QAAa,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;AAC7CC,QAAAA,IAAI,CAACC,WAAL,CAAiBE,GAAjB,CAAqBL,OAArB,EAA8BC,QAA9B,CAAA,CAAA;OADF,CAAA,CAAA;AAGD,KAAA;;;WAED,SAAoBtC,kBAAAA,CAAAA,CAApB,EAAuB2C,SAAvB,EAAwC;;;MACtC,IAAIA,SAAS,CAAC7E,MAAV,KAAqB,KAAKD,KAAL,CAAWC,MAApC,EAA4C;QAC1C,IAAM8E,MAAM,GAAQ,IAAA,CAAK3D,eAAzB,CAAA;;QACA,QAAQ,IAAA,CAAKpB,KAAL,CAAWC,MAAnB;UACE,KAAKd,aAAa,CAAC2B,OAAnB;YACE,CAAA8C,EAAA,GAAA,CAAAK,EAAA,GAAAc,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEC,MAAR,MAAc,IAAd,IAAcf,EAAA,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAcA,EAAA,CAAEgB,iBAAhB,MAAiC,IAAjC,IAAiCrB,EAAA,KAAA,KAAA,CAAjC,GAAiC,KAAA,CAAjC,GAAiCA,EAAA,CAAAsB,IAAA,CAAAjB,EAAA,CAAjC,CAAA;AACA,YAAA,MAAA;;UACF,KAAK9E,aAAa,CAACe,UAAnB;YACE,CAAAiF,EAAA,GAAA,CAAAC,EAAA,GAAAL,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEC,MAAR,MAAc,IAAd,IAAcI,EAAA,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAcA,EAAA,CAAEC,eAAhB,MAA+B,IAA/B,IAA+BF,EAAA,KAAA,KAAA,CAA/B,GAA+B,KAAA,CAA/B,GAA+BA,EAAA,CAAAD,IAAA,CAAAE,EAAA,CAA/B,CAAA;AALJ,SAAA;AAOD,OAAA;AACF,KAAA;;;WAkJD,SAAM,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;MACJ,IAAMzE,KAAK,GAEFpB,MAAA,CAAA+F,MAAA,CAAA,EAAA,EAAA,IAAK3E,CAAAA,KAAL,CAFT,CAAA;MAGA,OAAOA,KAAK,CAACkC,OAAb,CAAA;MACA,OAAOlC,KAAK,CAAC4E,SAAb,CAAA;MACA,OAAO5E,KAAK,CAACC,iBAAb,CAAA;MACA,OAAOD,KAAK,CAACkD,SAAb,CAAA;;AAEA,MAAA,IAAQ2B,SAAR,GAAyD7E,KAAzD,CAAQ6E,SAAR;AAAA,UAAmBC,SAAnB,GAAyD9E,KAAzD,CAAmB8E,SAAnB;AAAA,UAA8BC,QAA9B,GAAyD/E,KAAzD,CAA8B+E,QAA9B;AAAA,UAA2CC,SAA3C,GAAyDC,MAAA,CAAAjF,KAAA,EAAnD,CAAA,WAAA,EAAA,WAAA,EAAA,UAAA,CAAmD,CAAzD,CAAA;;AAEA,MAAA,IAAMkF,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAgB;QACpC,IAA+B,YAAA,GAAA,MAAI,CAAC9F,KAApC;YAAQC,MAAR,gBAAQA,MAAR;YAAgBE,UAAhB,gBAAgBA,UAAhB,CAAA;QACA,IAAM4F,GAAG,GAAGC,UAAU,CAACF,GAAD,EAAM,CAAC3F,UAAD,IAAA,EAAA,CAAA,MAAA,CAAkBsF,SAAlB,EAAA,aAAA,CAAN,CAAtB,CAAA;QACA,IAAMQ,aAAa,GAAGhG,MAAM,KAAK,UAAX,IAAyBA,MAAM,KAAK,SAA1D,CAAA;AACA,QAAA,OACEiG,KAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAX,UAAAA,SAAS,YAAKC,SAAL,EAAA,kBAAA,CAAA;AAAT,SAAL,EACES,KACE,CAAAC,aADF,CACE,KADF,EACE;AAAAX,UAAAA,SAAS,EAAEO,GAAX;UACAK,GAAG,EAAE,SAAAC,GAAAA,CAAAA,EAAE,EAAG;YACR,MAAI,CAACtC,UAAL,GAAkBsC,EAAlB,CAAA;AACD,WAAA;SAJH,EAMGJ,aAAa,IACZC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKX,UAAAA,SAAS,YAAKC,SAAL,EAAA,YAAA,CAAA;AAAd,SAAA,EACES,KAAO,CAAAC,aAAP,CAAO,KAAP,EAAO,IAAP,CADF,EAEED,KAAO,CAAAC,aAAP,CAAO,KAAP,EAAO,IAAP,CAFF,EAGED,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,CAHF,CAPJ,EAaGT,QAbH,CADF,CADF,CAAA;OAJF,CAAA;;MAyBA,IAAI,IAAA,CAAKtE,eAAT,EAA0B;AACxB,QAAA,OAAOyE,aAAa,CAAA,EAAA,CAAA,MAAA,CAAIJ,SAAJ,EAAA,WAAA,CAAA,CAAA,MAAA,CAAyBA,SAAzB,EAApB,OAAA,CAAA,CAAA,CAAA;AACD,OAAA;;MACD,OACES,KACE,CAAAC,aADF,CACE,mBADF,EACE5G,MAAA,CAAA+F,MAAA,CAAA;QAAAc,GAAG,EAAE,SAAAC,GAAAA,CAAAA,EAAE,EAAG;UACR,MAAI,CAACC,YAAL,GAAoBD,EAApB,CAAA;SADF;AAGAb,QAAAA,SAAS,EAAEQ,UAAU,CAACR,SAAD,EAAYC,SAAZ,YAA0BA,SAA1B,EAAA,OAAA,CAAA,CAAA;OAHrB,EAIIE,SAJJ,CADF,EAOGE,aAAa,CAAIJ,EAAAA,CAAAA,MAAAA,CAAAA,SAAJ,cAPhB,CADF,CAAA;AAWD,KAAA;;;;AAlS2BS,CAAAA,CAAAA,KAAK,CAACK;;AAC3BxG,eAAA,CAAAyG,YAAA,GAAe;AACpBf,EAAAA,SAAS,EAAE,qBADS;AAEpB7E,EAAAA,iBAAiB,EAAE,EAFC;AAGpBiC,EAAAA,OAAO,EAAE,GAHW;AAIpB0C,EAAAA,SAAS,EAAEnG,SAAAA;AAJS,CAAf;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/pull-down-refresh/index.tsx"],"sourcesContent":["import './style/index.css'\r\n\r\nimport Taro from '@tarojs/taro'\r\nimport classNames from 'classnames'\r\nimport React from 'react'\r\n\r\nfunction setTransform (nodeStyle, value) {\r\n nodeStyle.transform = value\r\n nodeStyle.webkitTransform = value\r\n nodeStyle.MozTransform = value\r\n}\r\n\r\nconst isWebView =\r\n typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent)\r\n\r\nenum PullDownState {\r\n activate = 'activate',\r\n deactivate = 'deactivate',\r\n release = 'release',\r\n finish = 'finish'\r\n}\r\n\r\nenum INDICATOR {\r\n activate = 'release',\r\n deactivate = 'pull',\r\n release = 'loading',\r\n finish = 'finish'\r\n}\r\n\r\nlet supportsPassive = false\r\ntry {\r\n const opts = Object.defineProperty({}, 'passive', {\r\n get () {\r\n supportsPassive = true\r\n }\r\n })\r\n window.addEventListener('cancel', () => ({}), opts)\r\n} catch (e) {} // eslint-disable-line no-empty\r\n\r\nconst willPreventDefault = supportsPassive ? { passive: false } : false\r\n\r\ninterface IProps extends React.HTMLAttributes<HTMLBaseElement> {\r\n prefixCls: string\r\n distanceToRefresh: number\r\n damping: number\r\n indicator: INDICATOR\r\n onRefresh?: () => void\r\n}\r\n\r\ninterface IState {\r\n currSt: PullDownState\r\n dragOnEdge: boolean\r\n}\r\n\r\nclass PullDownRefresh extends React.Component<IProps, IState> {\r\n static defaultProps = {\r\n prefixCls: 'rmc-pull-to-refresh',\r\n distanceToRefresh: 50,\r\n damping: 100,\r\n indicator: INDICATOR\r\n }\r\n\r\n // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355\r\n // currSt: `activate` / `deactivate` / `release` / `finish`\r\n state = {\r\n currSt: PullDownState.deactivate,\r\n dragOnEdge: false\r\n }\r\n\r\n containerRef: HTMLElement | null\r\n contentRef: HTMLDivElement | null\r\n _to: Record<string, EventListener>\r\n _ScreenY = 0\r\n _startScreenY = 0\r\n _lastScreenY = 0\r\n _isMounted = false\r\n listeners: [string, (...args: any[]) => void][] = []\r\n\r\n get scrollContainer () {\r\n return (\r\n this.contentRef?.parentElement ||\r\n this.contentRef?.closest('.taro_page_stationed') ||\r\n document.querySelector('.taro_page_stationed') ||\r\n document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router') ||\r\n document.querySelector('.taro-tabbar__panel') ||\r\n document.body\r\n )\r\n }\r\n\r\n componentDidMount () {\r\n this.init()\r\n this._isMounted = true\r\n this.listeners = [\r\n [\r\n '__taroStartPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(true)\r\n successHandler({\r\n errMsg: 'startPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'startPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ],\r\n [\r\n '__taroStopPullDownRefresh',\r\n ({ successHandler, errorHandler }) => {\r\n try {\r\n this.triggerPullDownRefresh(false)\r\n successHandler({\r\n errMsg: 'stopPullDownRefresh: ok'\r\n })\r\n } catch (e) {\r\n errorHandler({\r\n errMsg: 'stopPullDownRefresh: fail'\r\n })\r\n }\r\n }\r\n ]\r\n ]\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.on(evtName, callback)\r\n })\r\n }\r\n\r\n componentWillUnmount () {\r\n this.destroy()\r\n this.listeners.forEach(([evtName, callback]) => {\r\n Taro.eventCenter.off(evtName, callback)\r\n })\r\n }\r\n\r\n componentDidUpdate (_, prevState: IState) {\r\n if (prevState.currSt !== this.state.currSt) {\r\n const pageEl: any = this.scrollContainer\r\n switch (this.state.currSt) {\r\n case PullDownState.release:\r\n pageEl?.__page?.onPullDownRefresh?.()\r\n break\r\n case PullDownState.deactivate:\r\n pageEl?.__page?.onPullIntercept?.()\r\n }\r\n }\r\n }\r\n\r\n triggerPullDownRefresh = (flag: boolean) => {\r\n // 在初始化时、用代码 自动 触发 pullDownRefresh\r\n // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish\r\n if (!this.state.dragOnEdge && this._isMounted) {\r\n if (flag) {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n // change dom need after setState\r\n this.setState({ currSt: PullDownState.release }, () => this.setContentStyle(this._lastScreenY))\r\n } else {\r\n this.setState({ currSt: PullDownState.finish }, () => this.reset())\r\n }\r\n }\r\n }\r\n\r\n init = () => {\r\n const ele = this.scrollContainer\r\n this._to = {\r\n touchstart: this.onTouchStart.bind(this, ele),\r\n touchmove: this.onTouchMove.bind(this, ele),\r\n touchend: this.onTouchEnd.bind(this, ele),\r\n touchcancel: this.onTouchEnd.bind(this, ele)\r\n }\r\n Object.keys(this._to).forEach(key => {\r\n ele.addEventListener(key, this._to[key], willPreventDefault)\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const ele = this.scrollContainer\r\n Object.keys(this._to).forEach(key => {\r\n ele.removeEventListener(key, this._to[key])\r\n })\r\n }\r\n\r\n onTouchStart = (_, e: TouchEvent) => {\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n // 一开始 refreshing 为 true 时 this._lastScreenY 有值\r\n this._lastScreenY = this._lastScreenY || 0\r\n }\r\n\r\n isEdge = (ele: HTMLElement) => {\r\n const container = this.scrollContainer\r\n if (container && container === document.body) {\r\n // In chrome61 `document.body.scrollTop` is invalid\r\n const scrollNode = document.scrollingElement ? document.scrollingElement : document.body\r\n return scrollNode.scrollTop <= 0\r\n }\r\n return ele.scrollTop <= 0\r\n }\r\n\r\n damping = (dy: number) => {\r\n if (Math.abs(this._lastScreenY) > this.props.damping) {\r\n return 0\r\n }\r\n\r\n const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height\r\n dy *= (1 - ratio) * 0.6\r\n\r\n return dy\r\n }\r\n\r\n onTouchMove = (ele: HTMLElement, e: TouchEvent) => {\r\n // 使用 pageY 对比有问题\r\n const _screenY = e.touches[0].screenY\r\n\r\n // 拖动方向不符合的不处理\r\n if (this._startScreenY > _screenY) {\r\n return\r\n }\r\n\r\n if (this.isEdge(ele)) {\r\n if (!this.state.dragOnEdge) {\r\n // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义\r\n // 下面这行代码解决了上面这个问题\r\n this._ScreenY = this._startScreenY = e.touches[0].screenY\r\n this.setState({ dragOnEdge: true })\r\n }\r\n if (e.cancelable) {\r\n e.preventDefault()\r\n }\r\n // add stopPropagation with fastclick will trigger content onClick event. why?\r\n // ref https://github.com/ant-design/ant-design-mobile/issues/2141\r\n // e.stopPropagation();\r\n\r\n const _diff = Math.round(_screenY - this._ScreenY)\r\n this._ScreenY = _screenY\r\n this._lastScreenY += this.damping(_diff)\r\n\r\n this.setContentStyle(this._lastScreenY)\r\n\r\n if (Math.abs(this._lastScreenY) < this.props.distanceToRefresh) {\r\n if (this.state.currSt !== PullDownState.deactivate) {\r\n // console.log('back to the distance');\r\n this.setState({ currSt: PullDownState.deactivate })\r\n }\r\n } else {\r\n if (this.state.currSt === PullDownState.deactivate) {\r\n // console.log('reach to the distance');\r\n this.setState({ currSt: PullDownState.activate })\r\n }\r\n }\r\n\r\n // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829\r\n // iOS UIWebView issue, It seems no problem in WKWebView\r\n if (isWebView && e.changedTouches[0].clientY < 0) {\r\n this.onTouchEnd()\r\n }\r\n }\r\n }\r\n\r\n onTouchEnd = () => {\r\n if (this.state.dragOnEdge) {\r\n this.setState({ dragOnEdge: false })\r\n }\r\n if (this.state.currSt === PullDownState.activate) {\r\n this.setState({ currSt: PullDownState.release })\r\n this.props.onRefresh?.()\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else if (this.state.currSt === 'release') {\r\n this._lastScreenY = this.props.distanceToRefresh + 1\r\n this.setContentStyle(this._lastScreenY)\r\n } else {\r\n this.reset()\r\n }\r\n }\r\n\r\n reset = () => {\r\n this._lastScreenY = 0\r\n this.setContentStyle(0)\r\n }\r\n\r\n setContentStyle = ty => {\r\n // TODO: Why sometimes do not have `this.contentRef` ?\r\n if (this.contentRef) {\r\n // translate3d 不清理 会影响内部元素定位\r\n if (ty) {\r\n setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`)\r\n } else {\r\n setTransform(this.contentRef.style, '')\r\n }\r\n }\r\n }\r\n\r\n render () {\r\n const props: Partial<IProps> & {\r\n children?: React.ReactNode\r\n } = { ...this.props }\r\n delete props.damping\r\n delete props.indicator\r\n delete props.distanceToRefresh\r\n delete props.onRefresh\r\n\r\n const { className, prefixCls, children, ...restProps } = props\r\n\r\n const renderRefresh = (cls: string) => {\r\n const { currSt, dragOnEdge } = this.state\r\n const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`)\r\n const showIndicator = currSt === 'activate' || currSt === 'release'\r\n return (\r\n <div className={`${prefixCls}-content-wrapper`}>\r\n <div\r\n className={cla}\r\n ref={el => {\r\n this.contentRef = el\r\n }}\r\n >\r\n {showIndicator && (\r\n <div className={`${prefixCls}-indicator`}>\r\n <div />\r\n <div />\r\n <div />\r\n </div>\r\n )}\r\n {children}\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (this.scrollContainer) {\r\n return renderRefresh(`${prefixCls}-content ${prefixCls}-down`)\r\n }\r\n return (\r\n <pull-down-refresh\r\n ref={el => {\r\n this.containerRef = el\r\n }}\r\n className={classNames(className, prefixCls, `${prefixCls}-down`)}\r\n {...restProps}\r\n >\r\n {renderRefresh(`${prefixCls}-content`)}\r\n </pull-down-refresh>\r\n )\r\n }\r\n}\r\n\r\nexport default PullDownRefresh\r\n"],"names":["setTransform","nodeStyle","value","transform","webkitTransform","MozTransform","isWebView","navigator","test","userAgent","PullDownState","INDICATOR","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","willPreventDefault","passive","PullDownRefresh","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","state","currSt","deactivate","dragOnEdge","_ScreenY","_startScreenY","_lastScreenY","_isMounted","listeners","triggerPullDownRefresh","flag","props","distanceToRefresh","setState","release","setContentStyle","finish","reset","init","ele","scrollContainer","_to","touchstart","onTouchStart","bind","_assertThisInitialized","touchmove","onTouchMove","touchend","onTouchEnd","touchcancel","keys","forEach","key","destroy","removeEventListener","_","touches","screenY","isEdge","container","document","body","scrollNode","scrollingElement","scrollTop","damping","dy","Math","abs","ratio","screen","height","_screenY","cancelable","preventDefault","_diff","round","activate","changedTouches","clientY","_b","onRefresh","ty","contentRef","style","concat","_createClass","_a","parentElement","closest","querySelector","componentDidMount","_this2","_ref","successHandler","errorHandler","errMsg","_ref2","_ref3","_ref4","_slicedToArray","evtName","callback","Taro","eventCenter","on","componentWillUnmount","_ref5","_ref6","off","componentDidUpdate","prevState","pageEl","__page","onPullDownRefresh","call","_d","_c","onPullIntercept","render","_this3","assign","indicator","className","prefixCls","children","restProps","__rest","renderRefresh","cls","_this3$state","cla","classNames","showIndicator","React","createElement","ref","el","containerRef","Component","defaultProps"],"mappings":"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"}