@tarojs/components-react 4.0.4 → 4.0.5-alpha.1

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