@tarojs/components-react 4.0.1-alpha.1 → 4.0.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.
- package/LICENSE +8 -8
- package/dist/components/button/index.js +103 -78
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/icon/index.js +17 -26
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image/index.js +101 -76
- package/dist/components/image/index.js.map +1 -1
- package/dist/components/input/index.js +206 -183
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/pull-down-refresh/index.js +211 -195
- package/dist/components/pull-down-refresh/index.js.map +1 -1
- package/dist/components/scroll-view/index.js +167 -137
- package/dist/components/scroll-view/index.js.map +1 -1
- package/dist/components/swiper/index.js +268 -248
- package/dist/components/swiper/index.js.map +1 -1
- package/dist/components/text/index.js +31 -22
- package/dist/components/text/index.js.map +1 -1
- package/dist/components/view/index.js +97 -72
- package/dist/components/view/index.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/utils/index.js +15 -26
- package/dist/utils/index.js.map +1 -1
- package/package.json +18 -19
- package/dist/solid/components/button/index.js +0 -95
- package/dist/solid/components/button/index.js.map +0 -1
- package/dist/solid/components/button/style/index.scss.js +0 -4
- package/dist/solid/components/button/style/index.scss.js.map +0 -1
- package/dist/solid/components/icon/index.js +0 -39
- package/dist/solid/components/icon/index.js.map +0 -1
- package/dist/solid/components/icon/style/index.scss.js +0 -4
- package/dist/solid/components/icon/style/index.scss.js.map +0 -1
- package/dist/solid/components/image/index.js +0 -94
- package/dist/solid/components/image/index.js.map +0 -1
- package/dist/solid/components/input/index.js +0 -256
- package/dist/solid/components/input/index.js.map +0 -1
- package/dist/solid/components/input/style/index.scss.js +0 -4
- package/dist/solid/components/input/style/index.scss.js.map +0 -1
- package/dist/solid/components/pull-down-refresh/index.js +0 -334
- package/dist/solid/components/pull-down-refresh/index.js.map +0 -1
- package/dist/solid/components/pull-down-refresh/style/index.css.js +0 -4
- package/dist/solid/components/pull-down-refresh/style/index.css.js.map +0 -1
- package/dist/solid/components/scroll-view/index.js +0 -188
- package/dist/solid/components/scroll-view/index.js.map +0 -1
- package/dist/solid/components/scroll-view/style/index.css.js +0 -4
- package/dist/solid/components/scroll-view/style/index.css.js.map +0 -1
- package/dist/solid/components/swiper/index.js +0 -307
- package/dist/solid/components/swiper/index.js.map +0 -1
- package/dist/solid/components/swiper/style/index.css.js +0 -4
- package/dist/solid/components/swiper/style/index.css.js.map +0 -1
- package/dist/solid/components/text/index.js +0 -32
- package/dist/solid/components/text/index.js.map +0 -1
- package/dist/solid/components/text/style/index.css.js +0 -4
- package/dist/solid/components/text/style/index.css.js.map +0 -1
- package/dist/solid/components/view/index.js +0 -88
- package/dist/solid/components/view/index.js.map +0 -1
- package/dist/solid/index.css +0 -1
- package/dist/solid/index.js +0 -13
- package/dist/solid/index.js.map +0 -1
- package/dist/solid/utils/hooks.solid.js +0 -54
- package/dist/solid/utils/hooks.solid.js.map +0 -1
- package/dist/solid/utils/index.js +0 -58
- package/dist/solid/utils/index.js.map +0 -1
- package/dist/utils/hooks.react.js +0 -15
- package/dist/utils/hooks.react.js.map +0 -1
- package/types/index.d.ts +0 -17
- /package/dist/{solid/components/image → components/view}/style/index.css.js +0 -0
- /package/dist/{solid/components/image → components/view}/style/index.css.js.map +0 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
2
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
3
|
+
import _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';
|
|
4
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
5
|
+
import _createSuper from '@babel/runtime/helpers/createSuper';
|
|
1
6
|
import './style/index.scss.js';
|
|
2
7
|
import classNames from 'classnames';
|
|
3
|
-
import
|
|
4
|
-
import { omit
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { omit } from '../../utils/index.js';
|
|
6
10
|
|
|
7
11
|
function getTrueType(type, confirmType, password) {
|
|
8
12
|
if (confirmType === 'search') type = 'search';
|
|
@@ -19,215 +23,234 @@ function getTrueType(type, confirmType, password) {
|
|
|
19
23
|
function fixControlledValue(value) {
|
|
20
24
|
return value !== null && value !== void 0 ? value : '';
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
var Input = /*#__PURE__*/function (_React$Component) {
|
|
27
|
+
_inherits(Input, _React$Component);
|
|
28
|
+
var _super = _createSuper(Input);
|
|
29
|
+
function Input(props) {
|
|
30
|
+
var _this;
|
|
31
|
+
_classCallCheck(this, Input);
|
|
32
|
+
_this = _super.call(this, props);
|
|
33
|
+
_this.handleBeforeInput = function (e) {
|
|
26
34
|
if (!e.data) return;
|
|
27
|
-
|
|
28
|
-
if (
|
|
35
|
+
var isNumber = e.data && /[0-9]/.test(e.data);
|
|
36
|
+
if (_this.props.type === 'number' && !isNumber) {
|
|
29
37
|
e.preventDefault();
|
|
30
38
|
}
|
|
31
|
-
if (
|
|
39
|
+
if (_this.props.type === 'digit' && !isNumber) {
|
|
32
40
|
if (e.data !== '.' || e.data === '.' && e.target.value.indexOf('.') > -1) {
|
|
33
41
|
e.preventDefault();
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
44
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
_this.handleInput = _this.handleInput.bind(_assertThisInitialized(_this));
|
|
46
|
+
_this.handlePaste = _this.handlePaste.bind(_assertThisInitialized(_this));
|
|
47
|
+
_this.handleFocus = _this.handleFocus.bind(_assertThisInitialized(_this));
|
|
48
|
+
_this.handleBlur = _this.handleBlur.bind(_assertThisInitialized(_this));
|
|
49
|
+
_this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this));
|
|
50
|
+
_this.handleComposition = _this.handleComposition.bind(_assertThisInitialized(_this));
|
|
51
|
+
_this.handleBeforeInput = _this.handleBeforeInput.bind(_assertThisInitialized(_this));
|
|
52
|
+
_this.isOnComposition = false;
|
|
53
|
+
_this.onInputExcuted = false;
|
|
54
|
+
return _this;
|
|
46
55
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
_createClass(Input, [{
|
|
57
|
+
key: "componentDidMount",
|
|
58
|
+
value: function componentDidMount() {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
// 修复无法选择文件
|
|
61
|
+
if (this.props.type === 'file') {
|
|
62
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.addEventListener('change', this.handleInput);
|
|
63
|
+
} else {
|
|
64
|
+
(_b = this.inputRef) === null || _b === void 0 ? void 0 : _b.addEventListener('textInput', this.handleBeforeInput);
|
|
65
|
+
}
|
|
66
|
+
// 处理初始化是否 focus
|
|
67
|
+
if (this.props.focus && this.inputRef) this.inputRef.focus();
|
|
54
68
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
69
|
+
}, {
|
|
70
|
+
key: "componentWillUnmount",
|
|
71
|
+
value: function componentWillUnmount() {
|
|
72
|
+
var _a;
|
|
73
|
+
// 修复无法选择文件
|
|
74
|
+
if (this.props.type === 'file') {
|
|
75
|
+
this.inputRef.removeEventListener('change', this.handleInput);
|
|
76
|
+
} else {
|
|
77
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('textInput', this.handleBeforeInput);
|
|
78
|
+
}
|
|
65
79
|
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
this.onInputExcuted
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
}, {
|
|
81
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
82
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
83
|
+
if (!this.props.focus && nextProps.focus && this.inputRef) this.inputRef.focus();
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "handleInput",
|
|
87
|
+
value: function handleInput(e) {
|
|
88
|
+
e.stopPropagation();
|
|
89
|
+
var _this$props = this.props,
|
|
90
|
+
type = _this$props.type,
|
|
91
|
+
_this$props$maxlength = _this$props.maxlength,
|
|
92
|
+
maxlength = _this$props$maxlength === void 0 ? 140 : _this$props$maxlength,
|
|
93
|
+
_this$props$confirmTy = _this$props.confirmType,
|
|
94
|
+
confirmType = _this$props$confirmTy === void 0 ? 'done' : _this$props$confirmTy,
|
|
95
|
+
_this$props$password = _this$props.password,
|
|
96
|
+
password = _this$props$password === void 0 ? false : _this$props$password,
|
|
97
|
+
onInput = _this$props.onInput;
|
|
98
|
+
if (!this.isOnComposition && !this.onInputExcuted) {
|
|
99
|
+
var value = e.target.value;
|
|
100
|
+
var inputType = getTrueType(type, confirmType, password);
|
|
101
|
+
this.onInputExcuted = true;
|
|
102
|
+
/* 修复 number 类型 maxLength 无效 */
|
|
103
|
+
if (inputType === 'number' && value && maxlength <= value.length) {
|
|
104
|
+
value = value.substring(0, maxlength);
|
|
105
|
+
e.target.value = value;
|
|
106
|
+
}
|
|
107
|
+
Object.defineProperty(e, 'detail', {
|
|
108
|
+
value: {
|
|
109
|
+
value: value,
|
|
110
|
+
cursor: value.length
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
// // 修复 IOS 光标跳转问题
|
|
114
|
+
// if (!(['number', 'file'].indexOf(inputType) >= 0)) {
|
|
115
|
+
// const pos = e.target.selectionEnd
|
|
116
|
+
// setTimeout(
|
|
117
|
+
// () => {
|
|
118
|
+
// e.target.selectionStart = pos
|
|
119
|
+
// e.target.selectionEnd = pos
|
|
120
|
+
// }
|
|
121
|
+
// )
|
|
122
|
+
// }
|
|
123
|
+
typeof onInput === 'function' && onInput(e);
|
|
124
|
+
this.onInputExcuted = false;
|
|
89
125
|
}
|
|
126
|
+
}
|
|
127
|
+
}, {
|
|
128
|
+
key: "handlePaste",
|
|
129
|
+
value: function handlePaste(e) {
|
|
130
|
+
e.stopPropagation();
|
|
131
|
+
var onPaste = this.props.onPaste;
|
|
132
|
+
this.onInputExcuted = false;
|
|
90
133
|
Object.defineProperty(e, 'detail', {
|
|
91
134
|
value: {
|
|
92
|
-
value
|
|
93
|
-
cursor: value.length
|
|
135
|
+
value: e.target.value
|
|
94
136
|
}
|
|
95
137
|
});
|
|
96
|
-
|
|
97
|
-
// if (!(['number', 'file'].indexOf(inputType) >= 0)) {
|
|
98
|
-
// const pos = e.target.selectionEnd
|
|
99
|
-
// setTimeout(
|
|
100
|
-
// () => {
|
|
101
|
-
// e.target.selectionStart = pos
|
|
102
|
-
// e.target.selectionEnd = pos
|
|
103
|
-
// }
|
|
104
|
-
// )
|
|
105
|
-
// }
|
|
106
|
-
typeof onInput === 'function' && onInput(e);
|
|
107
|
-
this.onInputExcuted = false;
|
|
138
|
+
typeof onPaste === 'function' && onPaste(e);
|
|
108
139
|
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
e
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
this.onInputExcuted = false;
|
|
116
|
-
Object.defineProperty(e, 'detail', {
|
|
117
|
-
value: {
|
|
118
|
-
value: e.target.value
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
typeof onPaste === 'function' && onPaste(e);
|
|
122
|
-
}
|
|
123
|
-
handleFocus(e) {
|
|
124
|
-
e.stopPropagation();
|
|
125
|
-
const {
|
|
126
|
-
onFocus
|
|
127
|
-
} = this.props;
|
|
128
|
-
this.onInputExcuted = false;
|
|
129
|
-
Object.defineProperty(e, 'detail', {
|
|
130
|
-
value: {
|
|
131
|
-
value: e.target.value
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
onFocus && onFocus(e);
|
|
135
|
-
}
|
|
136
|
-
handleBlur(e) {
|
|
137
|
-
e.stopPropagation();
|
|
138
|
-
const {
|
|
139
|
-
onBlur
|
|
140
|
-
} = this.props;
|
|
141
|
-
Object.defineProperty(e, 'detail', {
|
|
142
|
-
value: {
|
|
143
|
-
value: e.target.value
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
onBlur && onBlur(e);
|
|
147
|
-
}
|
|
148
|
-
handleKeyDown(e) {
|
|
149
|
-
e.stopPropagation();
|
|
150
|
-
const {
|
|
151
|
-
onConfirm,
|
|
152
|
-
onKeyDown
|
|
153
|
-
} = this.props;
|
|
154
|
-
const {
|
|
155
|
-
value
|
|
156
|
-
} = e.target;
|
|
157
|
-
const keyCode = e.keyCode || e.code;
|
|
158
|
-
this.onInputExcuted = false;
|
|
159
|
-
if (typeof onKeyDown === 'function') {
|
|
140
|
+
}, {
|
|
141
|
+
key: "handleFocus",
|
|
142
|
+
value: function handleFocus(e) {
|
|
143
|
+
e.stopPropagation();
|
|
144
|
+
var onFocus = this.props.onFocus;
|
|
145
|
+
this.onInputExcuted = false;
|
|
160
146
|
Object.defineProperty(e, 'detail', {
|
|
161
147
|
value: {
|
|
162
|
-
value
|
|
163
|
-
cursor: value.length,
|
|
164
|
-
keyCode
|
|
148
|
+
value: e.target.value
|
|
165
149
|
}
|
|
166
150
|
});
|
|
167
|
-
|
|
151
|
+
onFocus && onFocus(e);
|
|
168
152
|
}
|
|
169
|
-
|
|
153
|
+
}, {
|
|
154
|
+
key: "handleBlur",
|
|
155
|
+
value: function handleBlur(e) {
|
|
156
|
+
e.stopPropagation();
|
|
157
|
+
var onBlur = this.props.onBlur;
|
|
170
158
|
Object.defineProperty(e, 'detail', {
|
|
171
159
|
value: {
|
|
172
|
-
value
|
|
160
|
+
value: e.target.value
|
|
173
161
|
}
|
|
174
162
|
});
|
|
175
|
-
|
|
163
|
+
onBlur && onBlur(e);
|
|
176
164
|
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
e
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
165
|
+
}, {
|
|
166
|
+
key: "handleKeyDown",
|
|
167
|
+
value: function handleKeyDown(e) {
|
|
168
|
+
e.stopPropagation();
|
|
169
|
+
var _this$props2 = this.props,
|
|
170
|
+
onConfirm = _this$props2.onConfirm,
|
|
171
|
+
onKeyDown = _this$props2.onKeyDown;
|
|
172
|
+
var value = e.target.value;
|
|
173
|
+
var keyCode = e.keyCode || e.code;
|
|
174
|
+
this.onInputExcuted = false;
|
|
175
|
+
if (typeof onKeyDown === 'function') {
|
|
176
|
+
Object.defineProperty(e, 'detail', {
|
|
177
|
+
value: {
|
|
178
|
+
value: value,
|
|
179
|
+
cursor: value.length,
|
|
180
|
+
keyCode: keyCode
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
onKeyDown(e);
|
|
184
|
+
}
|
|
185
|
+
if (e.keyCode === 13 && typeof onConfirm === 'function') {
|
|
186
|
+
Object.defineProperty(e, 'detail', {
|
|
187
|
+
value: {
|
|
188
|
+
value: value
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
onConfirm(e);
|
|
192
|
+
}
|
|
186
193
|
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
type
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
value
|
|
199
|
-
} = this.props;
|
|
200
|
-
const cls = classNames('taro-input-core', 'weui-input', className);
|
|
201
|
-
const otherProps = omit(this.props, ['forwardedRef', 'className', 'placeholder', 'disabled', 'password', 'type', 'maxlength', 'confirmType', 'focus', 'name']);
|
|
202
|
-
if ('value' in this.props) {
|
|
203
|
-
otherProps.value = fixControlledValue(value);
|
|
194
|
+
}, {
|
|
195
|
+
key: "handleComposition",
|
|
196
|
+
value: function handleComposition(e) {
|
|
197
|
+
e.stopPropagation();
|
|
198
|
+
if (!(e.target instanceof HTMLInputElement)) return;
|
|
199
|
+
if (e.type === 'compositionend') {
|
|
200
|
+
this.isOnComposition = false;
|
|
201
|
+
this.handleInput(e);
|
|
202
|
+
} else {
|
|
203
|
+
this.isOnComposition = true;
|
|
204
|
+
}
|
|
204
205
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
}, {
|
|
207
|
+
key: "render",
|
|
208
|
+
value: function render() {
|
|
209
|
+
var _this2 = this;
|
|
210
|
+
var _this$props3 = this.props,
|
|
211
|
+
_this$props3$classNam = _this$props3.className,
|
|
212
|
+
className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,
|
|
213
|
+
placeholder = _this$props3.placeholder,
|
|
214
|
+
type = _this$props3.type,
|
|
215
|
+
_this$props3$password = _this$props3.password,
|
|
216
|
+
password = _this$props3$password === void 0 ? false : _this$props3$password,
|
|
217
|
+
_this$props3$disabled = _this$props3.disabled,
|
|
218
|
+
disabled = _this$props3$disabled === void 0 ? false : _this$props3$disabled,
|
|
219
|
+
_this$props3$maxlengt = _this$props3.maxlength,
|
|
220
|
+
maxlength = _this$props3$maxlengt === void 0 ? 140 : _this$props3$maxlengt,
|
|
221
|
+
_this$props3$confirmT = _this$props3.confirmType,
|
|
222
|
+
confirmType = _this$props3$confirmT === void 0 ? 'done' : _this$props3$confirmT,
|
|
223
|
+
name = _this$props3.name,
|
|
224
|
+
value = _this$props3.value;
|
|
225
|
+
var cls = classNames('taro-input-core', 'weui-input', className);
|
|
226
|
+
var otherProps = omit(this.props, ['className', 'placeholder', 'disabled', 'password', 'type', 'maxlength', 'confirmType', 'focus', 'name']);
|
|
227
|
+
if ('value' in this.props) {
|
|
228
|
+
otherProps.value = fixControlledValue(value);
|
|
229
|
+
}
|
|
230
|
+
return React.createElement("input", Object.assign({
|
|
231
|
+
ref: function ref(input) {
|
|
232
|
+
_this2.inputRef = input;
|
|
209
233
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
var index = createForwardRefComponent(Input);
|
|
234
|
+
}, otherProps, {
|
|
235
|
+
className: cls,
|
|
236
|
+
type: getTrueType(type, confirmType, password),
|
|
237
|
+
placeholder: placeholder,
|
|
238
|
+
disabled: disabled,
|
|
239
|
+
maxLength: maxlength,
|
|
240
|
+
name: name,
|
|
241
|
+
onInput: this.handleInput,
|
|
242
|
+
onPaste: this.handlePaste,
|
|
243
|
+
onFocus: this.handleFocus,
|
|
244
|
+
onBlur: this.handleBlur,
|
|
245
|
+
onKeyDown: this.handleKeyDown,
|
|
246
|
+
onCompositionStart: this.handleComposition,
|
|
247
|
+
onCompositionEnd: this.handleComposition,
|
|
248
|
+
onBeforeInput: this.handleBeforeInput
|
|
249
|
+
}));
|
|
250
|
+
}
|
|
251
|
+
}]);
|
|
252
|
+
return Input;
|
|
253
|
+
}(React.Component);
|
|
231
254
|
|
|
232
|
-
export {
|
|
255
|
+
export { Input as default };
|
|
233
256
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +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 { 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","_jsx","ref","input","forwardedRef","current","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput","createForwardRefComponent"],"mappings":";;;;;;AAOA,SAASA,WAAWA,CAAEC,IAAwB,EAAEC,WAAmB,EAAEC,QAAiB,EAAA;AACpF,EAAA,IAAID,WAAW,KAAK,QAAQ,EAAED,IAAI,GAAG,QAAQ,CAAA;AAC7C,EAAA,IAAIE,QAAQ,EAAEF,IAAI,GAAG,UAAU,CAAA;AAC/B,EAAA,IAAI,OAAOA,IAAI,KAAK,WAAW,EAAE;AAC/B,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;EACA,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,MAAM,IAAIG,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,GAAA;AACA,EAAA,IAAIH,IAAI,KAAK,OAAO,EAAEA,IAAI,GAAG,QAAQ,CAAA;AAErC,EAAA,OAAOA,IAAI,CAAA;AACb,CAAA;AAEA,SAASI,kBAAkBA,CAAEC,KAAK,EAAA;EAChC,OAAOA,KAAK,KAAL,IAAA,IAAAA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAA;AACpB,CAAA;AAgBA,MAAMC,KAAM,SAAQC,cAAK,CAACC,SAAuB,CAAA;EAC/CC,WAAAA,CAAaC,KAAK,EAAA;IAChB,KAAK,CAACA,KAAK,CAAC,CAAA;AA2Jd,IAAA,IAAA,CAAAC,iBAAiB,GAAIC,CAAC,IAAI;AACxB,MAAA,IAAI,CAACA,CAAC,CAACC,IAAI,EAAE,OAAA;AACb,MAAA,MAAMC,QAAQ,GAAGF,CAAC,CAACC,IAAI,IAAI,OAAO,CAACE,IAAI,CAACH,CAAC,CAACC,IAAI,CAAC,CAAA;MAC/C,IAAI,IAAI,CAACH,KAAK,CAACV,IAAI,KAAK,QAAQ,IAAI,CAACc,QAAQ,EAAE;QAC7CF,CAAC,CAACI,cAAc,EAAE,CAAA;AACpB,OAAA;MACA,IAAI,IAAI,CAACN,KAAK,CAACV,IAAI,KAAK,OAAO,IAAI,CAACc,QAAQ,EAAE;QAC5C,IAAIF,CAAC,CAACC,IAAI,KAAK,GAAG,IAAKD,CAAC,CAACC,IAAI,KAAK,GAAG,IAAID,CAAC,CAACK,MAAM,CAACZ,KAAK,CAACa,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAE,EAAE;UAC1EN,CAAC,CAACI,cAAc,EAAE,CAAA;AACpB,SAAA;AACF,OAAA;KACD,CAAA;IArKC,IAAI,CAACG,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAACE,WAAW,GAAG,IAAI,CAACA,WAAW,CAACF,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAACG,UAAU,GAAG,IAAI,CAACA,UAAU,CAACH,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,IAAI,CAACI,aAAa,GAAG,IAAI,CAACA,aAAa,CAACJ,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACK,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACL,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,CAACT,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACS,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,CAACM,eAAe,GAAG,KAAK,CAAA;IAC5B,IAAI,CAACC,cAAc,GAAG,KAAK,CAAA;AAC7B,GAAA;AAMAC,EAAAA,iBAAiBA,GAAA;;AACf;AACA,IAAA,IAAI,IAAI,CAAClB,KAAK,CAACV,IAAI,KAAK,MAAM,EAAE;MAC9B,CAAA6B,EAAA,GAAA,IAAI,CAACC,QAAQ,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACZ,WAAW,CAAC,CAAA;AAC7D,KAAC,MAAM;MACL,CAAAa,EAAA,GAAA,IAAI,CAACF,QAAQ,MAAA,IAAA,IAAAE,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAED,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACpB,iBAAiB,CAAC,CAAA;AACtE,KAAA;AAEA;AACA,IAAA,IAAI,IAAI,CAACD,KAAK,CAACuB,KAAK,IAAI,IAAI,CAACH,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACG,KAAK,EAAE,CAAA;AAC9D,GAAA;AAEAC,EAAAA,oBAAoBA,GAAA;;AAClB;AACA,IAAA,IAAI,IAAI,CAACxB,KAAK,CAACV,IAAI,KAAK,MAAM,EAAE;MAC9B,IAAI,CAAC8B,QAAQ,CAACK,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAChB,WAAW,CAAC,CAAA;AAC/D,KAAC,MAAM;MACL,CAAAU,EAAA,GAAA,IAAI,CAACC,QAAQ,MAAA,IAAA,IAAAD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACxB,iBAAiB,CAAC,CAAA;AACzE,KAAA;AACF,GAAA;EAEAyB,gCAAgCA,CAAEC,SAA2B,EAAA;IAC3D,IAAI,CAAC,IAAI,CAAC3B,KAAK,CAACuB,KAAK,IAAII,SAAS,CAACJ,KAAK,IAAI,IAAI,CAACH,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACG,KAAK,EAAE,CAAA;AAClF,GAAA;EAEAd,WAAWA,CAAEP,CAAC,EAAA;IACZA,CAAC,CAAC0B,eAAe,EAAE,CAAA;IACnB,MAAM;MACJtC,IAAI;AACJuC,MAAAA,SAAS,GAAG,GAAG;AACftC,MAAAA,WAAW,GAAG,MAAM;AACpBC,MAAAA,QAAQ,GAAG,KAAK;AAChBsC,MAAAA,OAAAA;KACD,GAAG,IAAI,CAAC9B,KAAK,CAAA;IAEd,IAAI,CAAC,IAAI,CAACgB,eAAe,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE;MACjD,IAAI;AAAEtB,QAAAA,KAAAA;OAAO,GAAGO,CAAC,CAACK,MAAM,CAAA;MACxB,MAAMwB,SAAS,GAAG1C,WAAW,CAACC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,CAAC,CAAA;MAC1D,IAAI,CAACyB,cAAc,GAAG,IAAI,CAAA;AAC1B;MACA,IAAIc,SAAS,KAAK,QAAQ,IAAIpC,KAAK,IAAIkC,SAAS,IAAIlC,KAAK,CAACqC,MAAM,EAAE;QAChErC,KAAK,GAAGA,KAAK,CAACsC,SAAS,CAAC,CAAC,EAAEJ,SAAS,CAAC,CAAA;AACrC3B,QAAAA,CAAC,CAACK,MAAM,CAACZ,KAAK,GAAGA,KAAK,CAAA;AACxB,OAAA;AAEAuC,MAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,QAAAA,KAAK,EAAE;UAAEA,KAAK;UAAEyC,MAAM,EAAEzC,KAAK,CAACqC,MAAAA;AAAQ,SAAA;AACvC,OAAA,CAAC,CAAA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAA,OAAOF,OAAO,KAAK,UAAU,IAAIA,OAAO,CAAC5B,CAAC,CAAC,CAAA;MAC3C,IAAI,CAACe,cAAc,GAAG,KAAK,CAAA;AAC7B,KAAA;AACF,GAAA;EAEAN,WAAWA,CAAET,CAAC,EAAA;IACZA,CAAC,CAAC0B,eAAe,EAAE,CAAA;IACnB,MAAM;AAAES,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACrC,KAAK,CAAA;IAC9B,IAAI,CAACiB,cAAc,GAAG,KAAK,CAAA;AAC3BiB,IAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,MAAAA,KAAK,EAAE;AACLA,QAAAA,KAAK,EAAEO,CAAC,CAACK,MAAM,CAACZ,KAAAA;AACjB,OAAA;AACF,KAAA,CAAC,CAAA;AACF,IAAA,OAAO0C,OAAO,KAAK,UAAU,IAAIA,OAAO,CAACnC,CAAC,CAAC,CAAA;AAC7C,GAAA;EAEAU,WAAWA,CAAEV,CAAC,EAAA;IACZA,CAAC,CAAC0B,eAAe,EAAE,CAAA;IACnB,MAAM;AAAEU,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACtC,KAAK,CAAA;IAC9B,IAAI,CAACiB,cAAc,GAAG,KAAK,CAAA;AAC3BiB,IAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,MAAAA,KAAK,EAAE;AACLA,QAAAA,KAAK,EAAEO,CAAC,CAACK,MAAM,CAACZ,KAAAA;AACjB,OAAA;AACF,KAAA,CAAC,CAAA;AACF2C,IAAAA,OAAO,IAAIA,OAAO,CAACpC,CAAC,CAAC,CAAA;AACvB,GAAA;EAEAW,UAAUA,CAAEX,CAAC,EAAA;IACXA,CAAC,CAAC0B,eAAe,EAAE,CAAA;IACnB,MAAM;AAAEW,MAAAA,MAAAA;KAAQ,GAAG,IAAI,CAACvC,KAAK,CAAA;AAC7BkC,IAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,MAAAA,KAAK,EAAE;AACLA,QAAAA,KAAK,EAAEO,CAAC,CAACK,MAAM,CAACZ,KAAAA;AACjB,OAAA;AACF,KAAA,CAAC,CAAA;AACF4C,IAAAA,MAAM,IAAIA,MAAM,CAACrC,CAAC,CAAC,CAAA;AACrB,GAAA;EAEAY,aAAaA,CAAEZ,CAAC,EAAA;IACdA,CAAC,CAAC0B,eAAe,EAAE,CAAA;IACnB,MAAM;MAAEY,SAAS;AAAEC,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACzC,KAAK,CAAA;IAC3C,MAAM;AAAEL,MAAAA,KAAAA;KAAO,GAAGO,CAAC,CAACK,MAAM,CAAA;IAC1B,MAAMmC,OAAO,GAAGxC,CAAC,CAACwC,OAAO,IAAIxC,CAAC,CAACyC,IAAI,CAAA;IACnC,IAAI,CAAC1B,cAAc,GAAG,KAAK,CAAA;AAE3B,IAAA,IAAI,OAAOwB,SAAS,KAAK,UAAU,EAAE;AACnCP,MAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,QAAAA,KAAK,EAAE;UACLA,KAAK;UACLyC,MAAM,EAAEzC,KAAK,CAACqC,MAAM;AACpBU,UAAAA,OAAAA;AACD,SAAA;AACF,OAAA,CAAC,CAAA;MACFD,SAAS,CAACvC,CAAC,CAAC,CAAA;AACd,KAAA;IAEA,IAAIA,CAAC,CAACwC,OAAO,KAAK,EAAE,IAAI,OAAOF,SAAS,KAAK,UAAU,EAAE;AACvDN,MAAAA,MAAM,CAACC,cAAc,CAACjC,CAAC,EAAE,QAAQ,EAAE;AACjCP,QAAAA,KAAK,EAAE;AACLA,UAAAA,KAAAA;AACD,SAAA;AACF,OAAA,CAAC,CAAA;MACF6C,SAAS,CAACtC,CAAC,CAAC,CAAA;AACd,KAAA;AACF,GAAA;EAEAa,iBAAiBA,CAAEb,CAAC,EAAA;IAClBA,CAAC,CAAC0B,eAAe,EAAE,CAAA;AACnB,IAAA,IAAI,EAAE1B,CAAC,CAACK,MAAM,YAAYqC,gBAAgB,CAAC,EAAE,OAAA;AAE7C,IAAA,IAAI1C,CAAC,CAACZ,IAAI,KAAK,gBAAgB,EAAE;MAC/B,IAAI,CAAC0B,eAAe,GAAG,KAAK,CAAA;AAC5B,MAAA,IAAI,CAACP,WAAW,CAACP,CAAC,CAAC,CAAA;AACrB,KAAC,MAAM;MACL,IAAI,CAACc,eAAe,GAAG,IAAI,CAAA;AAC7B,KAAA;AACF,GAAA;AAeA6B,EAAAA,MAAMA,GAAA;IACJ,MAAM;AACJC,MAAAA,SAAS,GAAG,EAAE;MACdC,WAAW;MACXzD,IAAI;AACJE,MAAAA,QAAQ,GAAG,KAAK;AAChBwD,MAAAA,QAAQ,GAAG,KAAK;AAChBnB,MAAAA,SAAS,GAAG,GAAG;AACftC,MAAAA,WAAW,GAAG,MAAM;MACpB0D,IAAI;AACJtD,MAAAA,KAAAA;KACD,GAAG,IAAI,CAACK,KAAK,CAAA;IACd,MAAMkD,GAAG,GAAGC,UAAU,CAAC,iBAAiB,EAAE,YAAY,EAAEL,SAAS,CAAC,CAAA;AAElE,IAAA,MAAMM,UAAU,GAAGC,IAAI,CAAC,IAAI,CAACrD,KAAK,EAAE,CAClC,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,WAAW,EACX,aAAa,EACb,OAAO,EACP,MAAM,CACP,CAAC,CAAA;AAEF,IAAA,IAAI,OAAO,IAAI,IAAI,CAACA,KAAK,EAAE;AACzBoD,MAAAA,UAAU,CAACzD,KAAK,GAAGD,kBAAkB,CAACC,KAAK,CAAC,CAAA;AAC9C,KAAA;AAEA,IAAA,oBACE2D,GAAA,CAAA,OAAA,EAAA;MACEC,GAAG,EAAGC,KAAuB,IAAI;AAC/B,QAAA,IAAI,IAAI,CAACxD,KAAK,CAACyD,YAAY,EAAE;AAC3B,UAAA,IAAI,CAACzD,KAAK,CAACyD,YAAY,CAACC,OAAO,GAAGF,KAAK,CAAA;AACzC,SAAA;QACA,IAAI,CAACpC,QAAQ,GAAGoC,KAAK,CAAA;OACrB;AAAA,MAAA,GACEJ,UAAU;AACdN,MAAAA,SAAS,EAAEI,GAAI;MACf5D,IAAI,EAAED,WAAW,CAACC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,CAAE;AAC/CuD,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,QAAQ,EAAEA,QAAS;AACnBW,MAAAA,SAAS,EAAE9B,SAAU;AACrBoB,MAAAA,IAAI,EAAEA,IAAK;MACXnB,OAAO,EAAE,IAAI,CAACrB,WAAY;MAC1B4B,OAAO,EAAE,IAAI,CAAC1B,WAAY;MAC1B2B,OAAO,EAAE,IAAI,CAAC1B,WAAY;MAC1B2B,MAAM,EAAE,IAAI,CAAC1B,UAAW;MACxB4B,SAAS,EAAE,IAAI,CAAC3B,aAAc;MAC9B8C,kBAAkB,EAAE,IAAI,CAAC7C,iBAAkB;MAC3C8C,gBAAgB,EAAE,IAAI,CAAC9C,iBAAkB;MACzC+C,aAAa,EAAE,IAAI,CAAC7D,iBAAAA;AAAkB,KACtC,CAAA,CAAA;AAEN,GAAA;AACD,CAAA;AAED,YAAe8D,yBAAyB,CAACnE,KAAK,CAAC;;;;"}
|
|
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","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","handleBeforeInput","e","data","isNumber","test","preventDefault","target","indexOf","handleInput","bind","_assertThisInitialized","handlePaste","handleFocus","handleBlur","handleKeyDown","handleComposition","isOnComposition","onInputExcuted","_createClass","key","componentDidMount","_a","inputRef","addEventListener","_b","focus","componentWillUnmount","removeEventListener","UNSAFE_componentWillReceiveProps","nextProps","stopPropagation","_this$props","_this$props$maxlength","maxlength","_this$props$confirmTy","_this$props$password","onInput","inputType","length","substring","Object","defineProperty","cursor","onPaste","onFocus","onBlur","_this$props2","onConfirm","onKeyDown","keyCode","code","HTMLInputElement","render","_this2","_this$props3","_this$props3$classNam","className","placeholder","_this$props3$password","_this$props3$disabled","disabled","_this$props3$maxlengt","_this$props3$confirmT","name","cls","classNames","otherProps","omit","React","createElement","assign","ref","input","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput","Component"],"mappings":"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"}
|