@tarojs/components-react 4.0.0-beta.1 → 4.0.0-beta.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.
Files changed (59) hide show
  1. package/LICENSE +14 -0
  2. package/dist/components/button/index.js +84 -0
  3. package/dist/components/button/index.js.map +1 -0
  4. package/dist/components/button/style/index.scss.js +4 -0
  5. package/dist/components/button/style/index.scss.js.map +1 -0
  6. package/dist/components/icon/index.js +28 -0
  7. package/dist/components/icon/index.js.map +1 -0
  8. package/dist/components/icon/style/index.scss.js +4 -0
  9. package/dist/components/icon/style/index.scss.js.map +1 -0
  10. package/dist/components/image/index.js +76 -100
  11. package/dist/components/image/index.js.map +1 -1
  12. package/dist/components/image/style/index.css.js +4 -0
  13. package/dist/components/image/style/index.css.js.map +1 -0
  14. package/dist/components/input/index.js +228 -0
  15. package/dist/components/input/index.js.map +1 -0
  16. package/dist/components/input/style/index.scss.js +4 -0
  17. package/dist/components/input/style/index.scss.js.map +1 -0
  18. package/dist/components/pull-down-refresh/index.js +184 -211
  19. package/dist/components/pull-down-refresh/index.js.map +1 -1
  20. package/dist/components/pull-down-refresh/style/index.css.js +4 -0
  21. package/dist/components/pull-down-refresh/style/index.css.js.map +1 -0
  22. package/dist/components/scroll-view/index.js +128 -157
  23. package/dist/components/scroll-view/index.js.map +1 -1
  24. package/dist/components/scroll-view/style/index.css.js +4 -0
  25. package/dist/components/scroll-view/style/index.css.js.map +1 -0
  26. package/dist/components/swiper/index.js +233 -271
  27. package/dist/components/swiper/index.js.map +1 -1
  28. package/dist/components/swiper/style/index.css.js +4 -0
  29. package/dist/components/swiper/style/index.css.js.map +1 -0
  30. package/dist/components/text/index.js +17 -31
  31. package/dist/components/text/index.js.map +1 -1
  32. package/dist/components/text/style/index.css.js +4 -0
  33. package/dist/components/text/style/index.css.js.map +1 -0
  34. package/dist/components/view/index.js +74 -96
  35. package/dist/components/view/index.js.map +1 -1
  36. package/dist/components/view/style/index.css.js +4 -0
  37. package/dist/components/view/style/index.css.js.map +1 -0
  38. package/dist/index.css +1 -0
  39. package/dist/index.js +4 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/utils/index.js +20 -12
  42. package/dist/utils/index.js.map +1 -1
  43. package/package.json +17 -12
  44. package/dist/components/image/style/index.js +0 -8
  45. package/dist/components/image/style/index.js.map +0 -1
  46. package/dist/components/pull-down-refresh/style/index.js +0 -8
  47. package/dist/components/pull-down-refresh/style/index.js.map +0 -1
  48. package/dist/components/scroll-view/style/index.js +0 -8
  49. package/dist/components/scroll-view/style/index.js.map +0 -1
  50. package/dist/components/swiper/style/index.js +0 -8
  51. package/dist/components/swiper/style/index.js.map +0 -1
  52. package/dist/components/text/style/index.js +0 -8
  53. package/dist/components/text/style/index.js.map +0 -1
  54. package/dist/components/view/style/index.js +0 -8
  55. package/dist/components/view/style/index.js.map +0 -1
  56. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +0 -27
  57. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  58. package/dist/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.js +0 -526
  59. package/dist/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { omit } from '../../utils'\n\nfunction getTrueType (type: string | undefined, confirmType: string, password: boolean) {\n if (confirmType === 'search') type = 'search'\n if (password) type = 'password'\n if (typeof type === 'undefined') {\n return 'text'\n }\n if (!type) {\n throw new Error('unexpected type')\n }\n if (type === 'digit') type = 'number'\n\n return type\n}\n\nfunction fixControlledValue (value) {\n return value ?? ''\n}\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n password?: boolean\n disabled?: boolean\n maxlength?: number\n placeholder?: string\n value?: string\n focus?: boolean\n confirmType?: string\n name?: string\n type?: string\n onConfirm?: (e) => void\n}\n\nclass Input extends React.Component<IProps, null> {\n constructor (props) {\n super(props)\n this.handleInput = this.handleInput.bind(this)\n this.handlePaste = this.handlePaste.bind(this)\n this.handleFocus = this.handleFocus.bind(this)\n this.handleBlur = this.handleBlur.bind(this)\n this.handleKeyDown = this.handleKeyDown.bind(this)\n this.handleComposition = this.handleComposition.bind(this)\n this.handleBeforeInput = this.handleBeforeInput.bind(this)\n this.isOnComposition = false\n this.onInputExcuted = false\n }\n\n inputRef: HTMLInputElement\n isOnComposition: boolean\n onInputExcuted: boolean\n\n componentDidMount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef?.addEventListener('change', this.handleInput)\n } else {\n this.inputRef?.addEventListener('textInput', this.handleBeforeInput)\n }\n\n // 处理初始化是否 focus\n if (this.props.focus && this.inputRef) this.inputRef.focus()\n }\n\n\n componentWillUnmount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef.removeEventListener('change', this.handleInput)\n } else {\n this.inputRef?.removeEventListener('textInput', this.handleBeforeInput)\n }\n }\n\n UNSAFE_componentWillReceiveProps (nextProps: Readonly<IProps>) {\n if (!this.props.focus && nextProps.focus && this.inputRef) this.inputRef.focus()\n }\n\n\n handleInput (e) {\n e.stopPropagation()\n const {\n type,\n maxlength = 140,\n confirmType = 'done',\n password = false,\n onInput\n } = this.props\n\n if (!this.isOnComposition && !this.onInputExcuted) {\n let { value } = e.target\n const inputType = getTrueType(type, confirmType, password)\n this.onInputExcuted = true\n /* 修复 number 类型 maxLength 无效 */\n if (inputType === 'number' && value && maxlength <= value.length) {\n value = value.substring(0, maxlength)\n e.target.value = value\n }\n\n Object.defineProperty(e, 'detail', {\n value: { value, cursor: value.length }\n })\n // // 修复 IOS 光标跳转问题\n // if (!(['number', 'file'].indexOf(inputType) >= 0)) {\n // const pos = e.target.selectionEnd\n // setTimeout(\n // () => {\n // e.target.selectionStart = pos\n // e.target.selectionEnd = pos\n // }\n // )\n // }\n\n typeof onInput === 'function' && onInput(e)\n this.onInputExcuted = false\n }\n }\n\n\n handlePaste (e) {\n e.stopPropagation()\n const { onPaste } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n typeof onPaste === 'function' && onPaste(e)\n }\n\n handleFocus (e) {\n e.stopPropagation()\n const { onFocus } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onFocus && onFocus(e)\n }\n\n handleBlur (e) {\n e.stopPropagation()\n const { onBlur } = this.props\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onBlur && onBlur(e)\n }\n\n handleKeyDown (e) {\n e.stopPropagation()\n const { onConfirm, onKeyDown } = this.props\n const { value } = e.target\n const keyCode = e.keyCode || e.code\n this.onInputExcuted = false\n\n if (typeof onKeyDown === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value,\n cursor: value.length,\n keyCode\n }\n })\n onKeyDown(e)\n }\n\n if (e.keyCode === 13 && typeof onConfirm === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value\n }\n })\n onConfirm(e)\n }\n }\n\n handleComposition (e) {\n e.stopPropagation()\n if (!(e.target instanceof HTMLInputElement)) return\n\n if (e.type === 'compositionend') {\n this.isOnComposition = false\n this.handleInput(e)\n } else {\n this.isOnComposition = true\n }\n }\n\n handleBeforeInput = (e) => {\n if (!e.data) return\n const isNumber = e.data && /[0-9]/.test(e.data)\n if (this.props.type === 'number' && !isNumber) {\n e.preventDefault()\n }\n if (this.props.type === 'digit' && !isNumber) {\n if (e.data !== '.' || (e.data === '.' && e.target.value.indexOf('.') > -1)) {\n e.preventDefault()\n }\n }\n }\n\n render () {\n const {\n className = '',\n placeholder,\n type,\n password = false,\n disabled = false,\n maxlength = 140,\n confirmType = 'done',\n name,\n value\n } = this.props\n const cls = classNames('taro-input-core', 'weui-input', className)\n\n const otherProps = omit(this.props, [\n 'className',\n 'placeholder',\n 'disabled',\n 'password',\n 'type',\n 'maxlength',\n 'confirmType',\n 'focus',\n 'name'\n ])\n\n if ('value' in this.props) {\n otherProps.value = fixControlledValue(value)\n }\n\n return (\n <input\n ref={(input: HTMLInputElement) => {\n this.inputRef = input\n }}\n {...otherProps}\n className={cls}\n type={getTrueType(type, confirmType, password)}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxlength}\n name={name}\n onInput={this.handleInput}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n onCompositionStart={this.handleComposition}\n onCompositionEnd={this.handleComposition}\n onBeforeInput={this.handleBeforeInput}\n />\n )\n }\n}\n\nexport default Input\n"],"names":["getTrueType","type","confirmType","password","Error","fixControlledValue","value","Input","React","Component","constructor","props","handleBeforeInput","e","data","isNumber","test","preventDefault","target","indexOf","handleInput","bind","handlePaste","handleFocus","handleBlur","handleKeyDown","handleComposition","isOnComposition","onInputExcuted","componentDidMount","_a","inputRef","addEventListener","_b","focus","componentWillUnmount","removeEventListener","UNSAFE_componentWillReceiveProps","nextProps","stopPropagation","maxlength","onInput","inputType","length","substring","Object","defineProperty","cursor","onPaste","onFocus","onBlur","onConfirm","onKeyDown","keyCode","code","HTMLInputElement","render","className","placeholder","disabled","name","cls","classNames","otherProps","omit","createElement","assign","ref","input","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var undefined$1 = undefined;
2
+
3
+ export { undefined$1 as default };
4
+ //# sourceMappingURL=index.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,11 +1,5 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
- import _createClass from '@babel/runtime/helpers/createClass';
4
- import _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';
5
- import _inherits from '@babel/runtime/helpers/inherits';
6
- import _createSuper from '@babel/runtime/helpers/createSuper';
7
- import { __rest } from '../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.js';
8
- import './style/index.js';
1
+ import { __rest } from 'tslib';
2
+ import './style/index.css.js';
9
3
  import Taro from '@tarojs/taro';
10
4
  import classNames from 'classnames';
11
5
  import React from 'react';
@@ -15,7 +9,7 @@ function setTransform(nodeStyle, value) {
15
9
  nodeStyle.webkitTransform = value;
16
10
  nodeStyle.MozTransform = value;
17
11
  }
18
- var isWebView = typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
12
+ const isWebView = typeof navigator !== 'undefined' && /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
19
13
  var PullDownState;
20
14
  (function (PullDownState) {
21
15
  PullDownState["activate"] = "activate";
@@ -30,112 +24,103 @@ var INDICATOR;
30
24
  INDICATOR["release"] = "loading";
31
25
  INDICATOR["finish"] = "finish";
32
26
  })(INDICATOR || (INDICATOR = {}));
33
- var supportsPassive = false;
27
+ let supportsPassive = false;
34
28
  try {
35
- var opts = Object.defineProperty({}, 'passive', {
36
- get: function get() {
29
+ const opts = Object.defineProperty({}, 'passive', {
30
+ get() {
37
31
  supportsPassive = true;
38
32
  }
39
33
  });
40
- window.addEventListener('cancel', function () {
41
- return {};
42
- }, opts);
34
+ window.addEventListener('cancel', () => ({}), opts);
43
35
  } catch (e) {} // eslint-disable-line no-empty
44
- var willPreventDefault = supportsPassive ? {
36
+ const willPreventDefault = supportsPassive ? {
45
37
  passive: false
46
38
  } : false;
47
- var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
48
- _inherits(PullDownRefresh, _React$Component);
49
- var _super = _createSuper(PullDownRefresh);
50
- function PullDownRefresh() {
51
- var _this;
52
- _classCallCheck(this, PullDownRefresh);
53
- _this = _super.apply(this, arguments);
39
+ class PullDownRefresh extends React.Component {
40
+ constructor() {
41
+ super(...arguments);
54
42
  // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355
55
43
  // currSt: `activate` / `deactivate` / `release` / `finish`
56
- _this.state = {
44
+ this.state = {
57
45
  currSt: PullDownState.deactivate,
58
46
  dragOnEdge: false
59
47
  };
60
- _this._ScreenY = 0;
61
- _this._startScreenY = 0;
62
- _this._lastScreenY = 0;
63
- _this._isMounted = false;
64
- _this.listeners = [];
65
- _this.triggerPullDownRefresh = function (flag) {
48
+ this._ScreenY = 0;
49
+ this._startScreenY = 0;
50
+ this._lastScreenY = 0;
51
+ this._isMounted = false;
52
+ this.listeners = [];
53
+ this.triggerPullDownRefresh = flag => {
66
54
  // 在初始化时、用代码 自动 触发 pullDownRefresh
67
55
  // 添加this._isMounted的判断,否则组建一实例化,currSt就会是finish
68
- if (!_this.state.dragOnEdge && _this._isMounted) {
56
+ if (!this.state.dragOnEdge && this._isMounted) {
69
57
  if (flag) {
70
- _this._lastScreenY = _this.props.distanceToRefresh + 1;
58
+ this._lastScreenY = this.props.distanceToRefresh + 1;
71
59
  // change dom need after setState
72
- _this.setState({
60
+ this.setState({
73
61
  currSt: PullDownState.release
74
- }, function () {
75
- return _this.setContentStyle(_this._lastScreenY);
76
- });
62
+ }, () => this.setContentStyle(this._lastScreenY));
77
63
  } else {
78
- _this.setState({
64
+ this.setState({
79
65
  currSt: PullDownState.finish
80
- }, function () {
81
- return _this.reset();
82
- });
66
+ }, () => this.reset());
83
67
  }
84
68
  }
85
69
  };
86
- _this.init = function () {
87
- var ele = _this.scrollContainer;
88
- _this._to = {
89
- touchstart: _this.onTouchStart.bind(_assertThisInitialized(_this), ele),
90
- touchmove: _this.onTouchMove.bind(_assertThisInitialized(_this), ele),
91
- touchend: _this.onTouchEnd.bind(_assertThisInitialized(_this), ele),
92
- touchcancel: _this.onTouchEnd.bind(_assertThisInitialized(_this), ele)
70
+ this.init = () => {
71
+ const ele = this.scrollContainer;
72
+ this._to = {
73
+ touchstart: this.onTouchStart.bind(this, ele),
74
+ touchmove: this.onTouchMove.bind(this, ele),
75
+ touchend: this.onTouchEnd.bind(this, ele),
76
+ touchcancel: this.onTouchEnd.bind(this, ele)
93
77
  };
94
- Object.keys(_this._to).forEach(function (key) {
95
- ele.addEventListener(key, _this._to[key], willPreventDefault);
78
+ Object.keys(this._to).forEach(key => {
79
+ ele.addEventListener(key, this._to[key], willPreventDefault);
96
80
  });
97
81
  };
98
- _this.destroy = function () {
99
- var ele = _this.scrollContainer;
100
- Object.keys(_this._to).forEach(function (key) {
101
- ele.removeEventListener(key, _this._to[key]);
82
+ this.destroy = () => {
83
+ if (!this._to) return;
84
+ const ele = this.scrollContainer;
85
+ Object.keys(this._to).forEach(key => {
86
+ ele.removeEventListener(key, this._to[key]);
102
87
  });
103
88
  };
104
- _this.onTouchStart = function (_, e) {
105
- _this._ScreenY = _this._startScreenY = e.touches[0].screenY;
89
+ this.onTouchStart = (_, e) => {
90
+ this._ScreenY = this._startScreenY = e.touches[0].screenY;
106
91
  // 一开始 refreshing 为 true 时 this._lastScreenY 有值
107
- _this._lastScreenY = _this._lastScreenY || 0;
92
+ this._lastScreenY = this._lastScreenY || 0;
108
93
  };
109
- _this.isEdge = function (ele) {
110
- var container = _this.scrollContainer;
94
+ this.isEdge = ele => {
95
+ const container = this.scrollContainer;
111
96
  if (container && container === document.body) {
112
97
  // In chrome61 `document.body.scrollTop` is invalid
113
- var scrollNode = document.scrollingElement ? document.scrollingElement : document.body;
98
+ const scrollNode = document.scrollingElement ? document.scrollingElement : document.body;
114
99
  return scrollNode.scrollTop <= 0;
115
100
  }
116
101
  return ele.scrollTop <= 0;
117
102
  };
118
- _this.damping = function (dy) {
119
- if (Math.abs(_this._lastScreenY) > _this.props.damping) {
103
+ this.damping = dy => {
104
+ if (Math.abs(this._lastScreenY) > this.props.damping) {
120
105
  return 0;
121
106
  }
122
- var ratio = Math.abs(_this._ScreenY - _this._startScreenY) / window.screen.height;
107
+ const ratio = Math.abs(this._ScreenY - this._startScreenY) / window.screen.height;
123
108
  dy *= (1 - ratio) * 0.6;
124
109
  return dy;
125
110
  };
126
- _this.onTouchMove = function (ele, e) {
111
+ this.onTouchMove = (ele, e) => {
127
112
  // 使用 pageY 对比有问题
128
- var _screenY = e.touches[0].screenY;
113
+ const _screenY = e.touches[0].screenY;
129
114
  // 拖动方向不符合的不处理
130
- if (_this._startScreenY > _screenY) {
115
+ if (this._startScreenY > _screenY) {
131
116
  return;
132
117
  }
133
- if (_this.isEdge(ele)) {
134
- if (!_this.state.dragOnEdge) {
118
+ if (this.isEdge(ele)) {
119
+ if (!this.state.dragOnEdge) {
135
120
  // 当用户开始往上滑的时候isEdge还是false的话,会导致this._ScreenY不是想要的,只有当isEdge为true时,再上滑,才有意义
136
121
  // 下面这行代码解决了上面这个问题
137
- _this._ScreenY = _this._startScreenY = e.touches[0].screenY;
138
- _this.setState({
122
+ this._ScreenY = this._startScreenY = e.touches[0].screenY;
123
+ this.setState({
139
124
  dragOnEdge: true
140
125
  });
141
126
  }
@@ -145,21 +130,21 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
145
130
  // add stopPropagation with fastclick will trigger content onClick event. why?
146
131
  // ref https://github.com/ant-design/ant-design-mobile/issues/2141
147
132
  // e.stopPropagation();
148
- var _diff = Math.round(_screenY - _this._ScreenY);
149
- _this._ScreenY = _screenY;
150
- _this._lastScreenY += _this.damping(_diff);
151
- _this.setContentStyle(_this._lastScreenY);
152
- if (Math.abs(_this._lastScreenY) < _this.props.distanceToRefresh) {
153
- if (_this.state.currSt !== PullDownState.deactivate) {
133
+ const _diff = Math.round(_screenY - this._ScreenY);
134
+ this._ScreenY = _screenY;
135
+ this._lastScreenY += this.damping(_diff);
136
+ this.setContentStyle(this._lastScreenY);
137
+ if (Math.abs(this._lastScreenY) < this.props.distanceToRefresh) {
138
+ if (this.state.currSt !== PullDownState.deactivate) {
154
139
  // console.log('back to the distance');
155
- _this.setState({
140
+ this.setState({
156
141
  currSt: PullDownState.deactivate
157
142
  });
158
143
  }
159
144
  } else {
160
- if (_this.state.currSt === PullDownState.deactivate) {
145
+ if (this.state.currSt === PullDownState.deactivate) {
161
146
  // console.log('reach to the distance');
162
- _this.setState({
147
+ this.setState({
163
148
  currSt: PullDownState.activate
164
149
  });
165
150
  }
@@ -167,163 +152,151 @@ var PullDownRefresh = /*#__PURE__*/function (_React$Component) {
167
152
  // https://github.com/ant-design/ant-design-mobile/issues/573#issuecomment-339560829
168
153
  // iOS UIWebView issue, It seems no problem in WKWebView
169
154
  if (isWebView && e.changedTouches[0].clientY < 0) {
170
- _this.onTouchEnd();
155
+ this.onTouchEnd();
171
156
  }
172
157
  }
173
158
  };
174
- _this.onTouchEnd = function () {
159
+ this.onTouchEnd = () => {
175
160
  var _a, _b;
176
- if (_this.state.dragOnEdge) {
177
- _this.setState({
161
+ if (this.state.dragOnEdge) {
162
+ this.setState({
178
163
  dragOnEdge: false
179
164
  });
180
165
  }
181
- if (_this.state.currSt === PullDownState.activate) {
182
- _this.setState({
166
+ if (this.state.currSt === PullDownState.activate) {
167
+ this.setState({
183
168
  currSt: PullDownState.release
184
169
  });
185
- (_b = (_a = _this.props).onRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
186
- _this._lastScreenY = _this.props.distanceToRefresh + 1;
187
- _this.setContentStyle(_this._lastScreenY);
188
- } else if (_this.state.currSt === 'release') {
189
- _this._lastScreenY = _this.props.distanceToRefresh + 1;
190
- _this.setContentStyle(_this._lastScreenY);
170
+ (_b = (_a = this.props).onRefresh) === null || _b === void 0 ? void 0 : _b.call(_a);
171
+ this._lastScreenY = this.props.distanceToRefresh + 1;
172
+ this.setContentStyle(this._lastScreenY);
173
+ } else if (this.state.currSt === 'release') {
174
+ this._lastScreenY = this.props.distanceToRefresh + 1;
175
+ this.setContentStyle(this._lastScreenY);
191
176
  } else {
192
- _this.reset();
177
+ this.reset();
193
178
  }
194
179
  };
195
- _this.reset = function () {
196
- _this._lastScreenY = 0;
197
- _this.setContentStyle(0);
180
+ this.reset = () => {
181
+ this._lastScreenY = 0;
182
+ this.setContentStyle(0);
198
183
  };
199
- _this.setContentStyle = function (ty) {
184
+ this.setContentStyle = ty => {
200
185
  // TODO: Why sometimes do not have `this.contentRef` ?
201
- if (_this.contentRef) {
186
+ if (this.contentRef) {
202
187
  // translate3d 不清理 会影响内部元素定位
203
188
  if (ty) {
204
- setTransform(_this.contentRef.style, "translate3d(0px,".concat(ty, "px,0)"));
189
+ setTransform(this.contentRef.style, `translate3d(0px,${ty}px,0)`);
205
190
  } else {
206
- setTransform(_this.contentRef.style, '');
191
+ setTransform(this.contentRef.style, '');
207
192
  }
208
193
  }
209
194
  };
210
- return _this;
211
195
  }
212
- _createClass(PullDownRefresh, [{
213
- key: "scrollContainer",
214
- get: function get() {
215
- var _a, _b;
216
- 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;
217
- }
218
- }, {
219
- key: "componentDidMount",
220
- value: function componentDidMount() {
221
- var _this2 = this;
222
- this.init();
223
- this._isMounted = true;
224
- this.listeners = [['__taroStartPullDownRefresh', function (_ref) {
225
- var successHandler = _ref.successHandler,
226
- errorHandler = _ref.errorHandler;
227
- try {
228
- _this2.triggerPullDownRefresh(true);
229
- successHandler({
230
- errMsg: 'startPullDownRefresh: ok'
231
- });
232
- } catch (e) {
233
- errorHandler({
234
- errMsg: 'startPullDownRefresh: fail'
235
- });
236
- }
237
- }], ['__taroStopPullDownRefresh', function (_ref2) {
238
- var successHandler = _ref2.successHandler,
239
- errorHandler = _ref2.errorHandler;
240
- try {
241
- _this2.triggerPullDownRefresh(false);
242
- successHandler({
243
- errMsg: 'stopPullDownRefresh: ok'
244
- });
245
- } catch (e) {
246
- errorHandler({
247
- errMsg: 'stopPullDownRefresh: fail'
248
- });
249
- }
250
- }]];
251
- this.listeners.forEach(function (_ref3) {
252
- var _ref4 = _slicedToArray(_ref3, 2),
253
- evtName = _ref4[0],
254
- callback = _ref4[1];
255
- Taro.eventCenter.on(evtName, callback);
256
- });
257
- }
258
- }, {
259
- key: "componentWillUnmount",
260
- value: function componentWillUnmount() {
261
- this.destroy();
262
- this.listeners.forEach(function (_ref5) {
263
- var _ref6 = _slicedToArray(_ref5, 2),
264
- evtName = _ref6[0],
265
- callback = _ref6[1];
266
- Taro.eventCenter.off(evtName, callback);
267
- });
268
- }
269
- }, {
270
- key: "componentDidUpdate",
271
- value: function componentDidUpdate(_, prevState) {
272
- var _a, _b, _c, _d;
273
- if (prevState.currSt !== this.state.currSt) {
274
- var pageEl = this.scrollContainer;
275
- switch (this.state.currSt) {
276
- case PullDownState.release:
277
- (_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);
278
- break;
279
- case PullDownState.deactivate:
280
- (_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);
281
- }
196
+ get scrollContainer() {
197
+ var _a, _b;
198
+ 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;
199
+ }
200
+ componentDidMount() {
201
+ this.init();
202
+ this._isMounted = true;
203
+ this.listeners = [['__taroStartPullDownRefresh', _ref => {
204
+ let {
205
+ successHandler,
206
+ errorHandler
207
+ } = _ref;
208
+ try {
209
+ this.triggerPullDownRefresh(true);
210
+ successHandler({
211
+ errMsg: 'startPullDownRefresh: ok'
212
+ });
213
+ } catch (e) {
214
+ errorHandler({
215
+ errMsg: 'startPullDownRefresh: fail'
216
+ });
282
217
  }
283
- }
284
- }, {
285
- key: "render",
286
- value: function render() {
287
- var _this3 = this;
288
- var props = Object.assign({}, this.props);
289
- delete props.damping;
290
- delete props.indicator;
291
- delete props.distanceToRefresh;
292
- delete props.onRefresh;
293
- var className = props.className,
294
- prefixCls = props.prefixCls,
295
- children = props.children,
296
- restProps = __rest(props, ["className", "prefixCls", "children"]);
297
- var renderRefresh = function renderRefresh(cls) {
298
- var _this3$state = _this3.state,
299
- currSt = _this3$state.currSt,
300
- dragOnEdge = _this3$state.dragOnEdge;
301
- var cla = classNames(cls, !dragOnEdge && "".concat(prefixCls, "-transition"));
302
- var showIndicator = currSt === 'activate' || currSt === 'release';
303
- return React.createElement("div", {
304
- className: "".concat(prefixCls, "-content-wrapper")
305
- }, React.createElement("div", {
306
- className: cla,
307
- ref: function ref(el) {
308
- _this3.contentRef = el;
309
- }
310
- }, showIndicator && React.createElement("div", {
311
- className: "".concat(prefixCls, "-indicator")
312
- }, React.createElement("div", null), React.createElement("div", null), React.createElement("div", null)), children));
313
- };
314
- if (this.scrollContainer) {
315
- return renderRefresh("".concat(prefixCls, "-content ").concat(prefixCls, "-down"));
218
+ }], ['__taroStopPullDownRefresh', _ref2 => {
219
+ let {
220
+ successHandler,
221
+ errorHandler
222
+ } = _ref2;
223
+ try {
224
+ this.triggerPullDownRefresh(false);
225
+ successHandler({
226
+ errMsg: 'stopPullDownRefresh: ok'
227
+ });
228
+ } catch (e) {
229
+ errorHandler({
230
+ errMsg: 'stopPullDownRefresh: fail'
231
+ });
232
+ }
233
+ }]];
234
+ this.listeners.forEach(_ref3 => {
235
+ let [evtName, callback] = _ref3;
236
+ Taro.eventCenter.on(evtName, callback);
237
+ });
238
+ }
239
+ componentWillUnmount() {
240
+ this.destroy();
241
+ this.listeners.forEach(_ref4 => {
242
+ let [evtName, callback] = _ref4;
243
+ Taro.eventCenter.off(evtName, callback);
244
+ });
245
+ }
246
+ componentDidUpdate(_, prevState) {
247
+ var _a, _b, _c, _d;
248
+ if (prevState.currSt !== this.state.currSt) {
249
+ const pageEl = this.scrollContainer;
250
+ switch (this.state.currSt) {
251
+ case PullDownState.release:
252
+ (_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);
253
+ break;
254
+ case PullDownState.deactivate:
255
+ (_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);
316
256
  }
317
- return React.createElement("pull-down-refresh", Object.assign({
318
- ref: function ref(el) {
319
- _this3.containerRef = el;
320
- },
321
- className: classNames(className, prefixCls, "".concat(prefixCls, "-down"))
322
- }, restProps), renderRefresh("".concat(prefixCls, "-content")));
323
257
  }
324
- }]);
325
- return PullDownRefresh;
326
- }(React.Component);
258
+ }
259
+ render() {
260
+ const props = Object.assign({}, this.props);
261
+ delete props.damping;
262
+ delete props.indicator;
263
+ delete props.distanceToRefresh;
264
+ delete props.onRefresh;
265
+ const {
266
+ className,
267
+ prefixCls,
268
+ children
269
+ } = props,
270
+ restProps = __rest(props, ["className", "prefixCls", "children"]);
271
+ const renderRefresh = cls => {
272
+ const {
273
+ currSt,
274
+ dragOnEdge
275
+ } = this.state;
276
+ const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`);
277
+ const showIndicator = currSt === 'activate' || currSt === 'release';
278
+ return React.createElement("div", {
279
+ className: `${prefixCls}-content-wrapper`
280
+ }, React.createElement("div", {
281
+ className: cla,
282
+ ref: el => {
283
+ this.contentRef = el;
284
+ }
285
+ }, showIndicator && React.createElement("div", {
286
+ className: `${prefixCls}-indicator`
287
+ }, React.createElement("div", null), React.createElement("div", null), React.createElement("div", null)), children));
288
+ };
289
+ if (this.scrollContainer) {
290
+ return renderRefresh(`${prefixCls}-content ${prefixCls}-down`);
291
+ }
292
+ return React.createElement("pull-down-refresh", Object.assign({
293
+ ref: el => {
294
+ this.containerRef = el;
295
+ },
296
+ className: classNames(className, prefixCls, `${prefixCls}-down`)
297
+ }, restProps), renderRefresh(`${prefixCls}-content`));
298
+ }
299
+ }
327
300
  PullDownRefresh.defaultProps = {
328
301
  prefixCls: 'rmc-pull-to-refresh',
329
302
  distanceToRefresh: 50,