@tbvjaos510/react-native-paste-input 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +130 -0
- package/LICENSE +21 -0
- package/README.md +73 -0
- package/android/.project +17 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/build.gradle +94 -0
- package/android/generated/java/com/facebook/react/viewmanagers/PasteTextInputManagerDelegate.java +236 -0
- package/android/generated/java/com/facebook/react/viewmanagers/PasteTextInputManagerInterface.java +84 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/PasteTextInputSpecs-generated.cpp +27 -0
- package/android/generated/jni/PasteTextInputSpecs.h +28 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/ComponentDescriptors.cpp +22 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/ComponentDescriptors.h +166 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/EventEmitters.cpp +183 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/EventEmitters.h +148 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/PasteTextInputSpecsJSI-generated.cpp +17 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/PasteTextInputSpecsJSI.h +19 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/Props.cpp +640 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/Props.h +144 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/ShadowNodes.cpp +247 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/ShadowNodes.h +95 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/States.cpp +14 -0
- package/android/generated/jni/react/renderer/components/PasteTextInputSpecs/States.h +19 -0
- package/android/gradle.properties +6 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/IPasteInputListener.kt +8 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteInputActionCallback.kt +72 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteInputEditText.kt +60 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteInputFileFromUrl.kt +50 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteInputListener.kt +84 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt +72 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputPackage.kt +14 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputPasteEvent.java +41 -0
- package/android/src/main/java/com/mattermost/pasteinputtext/RealPathUtil.kt +174 -0
- package/ios/NSData+MimeType.h +20 -0
- package/ios/NSData+MimeType.m +59 -0
- package/ios/PasteInput-Bridging-Header.h +1 -0
- package/ios/PasteInput.xcodeproj/project.pbxproj +319 -0
- package/ios/PasteInputTextView.h +20 -0
- package/ios/PasteInputTextView.m +68 -0
- package/ios/PasteInputView.h +18 -0
- package/ios/PasteInputView.m +96 -0
- package/ios/PasteTextInput.h +13 -0
- package/ios/PasteTextInput.mm +726 -0
- package/ios/PasteTextInputManager.mm +171 -0
- package/ios/Swime/MimeType.h +70 -0
- package/ios/Swime/MimeType.m +701 -0
- package/ios/Swime/Swime.h +14 -0
- package/ios/Swime/Swime.m +28 -0
- package/ios/Swime/SwimeProxy.h +18 -0
- package/ios/Swime/SwimeProxy.m +66 -0
- package/ios/Swime/SwimeUtils.h +12 -0
- package/ios/Swime/SwimeUtils.m +23 -0
- package/ios/UIImage+ImageEffects.h +112 -0
- package/ios/UIImage+ImageEffects.m +310 -0
- package/ios/UIImage+vImageScaling.h +16 -0
- package/ios/UIImage+vImageScaling.m +48 -0
- package/ios/UIPasteboard+GetImageInfo.h +19 -0
- package/ios/UIPasteboard+GetImageInfo.m +98 -0
- package/ios/generated/PasteTextInputSpecs/ComponentDescriptors.cpp +22 -0
- package/ios/generated/PasteTextInputSpecs/ComponentDescriptors.h +42 -0
- package/ios/generated/PasteTextInputSpecs/EventEmitters.cpp +41 -0
- package/ios/generated/PasteTextInputSpecs/EventEmitters.h +37 -0
- package/ios/generated/PasteTextInputSpecs/PasteTextInputSpecs-generated.mm +16 -0
- package/ios/generated/PasteTextInputSpecs/PasteTextInputSpecs.h +38 -0
- package/ios/generated/PasteTextInputSpecs/Props.cpp +142 -0
- package/ios/generated/PasteTextInputSpecs/Props.h +81 -0
- package/ios/generated/PasteTextInputSpecs/RCTComponentViewHelpers.h +106 -0
- package/ios/generated/PasteTextInputSpecs/ShadowNodes.cpp +127 -0
- package/ios/generated/PasteTextInputSpecs/ShadowNodes.h +85 -0
- package/ios/generated/PasteTextInputSpecs/States.cpp +16 -0
- package/ios/generated/PasteTextInputSpecs/States.h +53 -0
- package/ios/generated/PasteTextInputSpecsJSI-generated.cpp +17 -0
- package/ios/generated/PasteTextInputSpecsJSI.h +19 -0
- package/lib/commonjs/PasteTextInput.js +446 -0
- package/lib/commonjs/PasteTextInput.js.map +1 -0
- package/lib/commonjs/PasteTextInputNativeComponent.ts +277 -0
- package/lib/commonjs/index.js +25 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/module.d.js +2 -0
- package/lib/commonjs/module.d.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/PasteTextInput.js +440 -0
- package/lib/module/PasteTextInput.js.map +1 -0
- package/lib/module/PasteTextInputNativeComponent.ts +277 -0
- package/lib/module/index.js +9 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/module.d.js +2 -0
- package/lib/module/module.d.js.map +1 -0
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/src/PasteTextInput.d.ts +5 -0
- package/lib/typescript/src/PasteTextInput.d.ts.map +1 -0
- package/lib/typescript/src/PasteTextInputNativeComponent.d.ts +168 -0
- package/lib/typescript/src/PasteTextInputNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +56 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +140 -0
- package/react-native-paste-input.podspec +20 -0
- package/react-native.config.js +13 -0
- package/src/PasteTextInput.tsx +615 -0
- package/src/PasteTextInputNativeComponent.ts +277 -0
- package/src/index.ts +13 -0
- package/src/module.d.ts +4 -0
- package/src/types.ts +71 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import PasteTextInputNativeComponent, { Commands } from './PasteTextInputNativeComponent';
|
|
5
|
+
import { Platform, StyleSheet, Text } from 'react-native';
|
|
6
|
+
import TextAncestor from 'react-native/Libraries/Text/TextAncestor';
|
|
7
|
+
import TextInputState from 'react-native/Libraries/Components/TextInput/TextInputState';
|
|
8
|
+
import usePressability from 'react-native/Libraries/Pressability/usePressability';
|
|
9
|
+
import flattenStyle from 'react-native/Libraries/StyleSheet/flattenStyle';
|
|
10
|
+
import nullthrows from 'nullthrows';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
const emptyFunctionThatReturnsTrue = () => true;
|
|
13
|
+
function useMergeRefs(...refs) {
|
|
14
|
+
return React.useCallback(current => {
|
|
15
|
+
for (const ref of refs) {
|
|
16
|
+
if (ref != null) {
|
|
17
|
+
if (typeof ref === 'function') {
|
|
18
|
+
ref(current);
|
|
19
|
+
} else {
|
|
20
|
+
ref.current = current;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}, [...refs] // eslint-disable-line react-hooks/exhaustive-deps
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function InternalTextInput(props) {
|
|
28
|
+
const {
|
|
29
|
+
'aria-busy': ariaBusy,
|
|
30
|
+
'aria-checked': ariaChecked,
|
|
31
|
+
'aria-disabled': ariaDisabled,
|
|
32
|
+
'aria-expanded': ariaExpanded,
|
|
33
|
+
'aria-selected': ariaSelected,
|
|
34
|
+
accessibilityState,
|
|
35
|
+
id,
|
|
36
|
+
tabIndex,
|
|
37
|
+
'selection': propsSelection,
|
|
38
|
+
selectionColor,
|
|
39
|
+
// selectionHandleColor,
|
|
40
|
+
// cursorColor,
|
|
41
|
+
...otherProps
|
|
42
|
+
} = props;
|
|
43
|
+
const inputRef = React.useRef(null);
|
|
44
|
+
const selection = React.useMemo(() => propsSelection == null ? null : {
|
|
45
|
+
start: propsSelection.start,
|
|
46
|
+
end: propsSelection.end ?? propsSelection.start
|
|
47
|
+
}, [propsSelection]);
|
|
48
|
+
const [mostRecentEventCount, setMostRecentEventCount] = React.useState(0);
|
|
49
|
+
const [lastNativeText, setLastNativeText] = React.useState(props.value);
|
|
50
|
+
const [lastNativeSelectionState, setLastNativeSelection] = React.useState({
|
|
51
|
+
selection: {
|
|
52
|
+
start: -1,
|
|
53
|
+
end: -1
|
|
54
|
+
},
|
|
55
|
+
mostRecentEventCount
|
|
56
|
+
});
|
|
57
|
+
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
58
|
+
const text = typeof props.value === 'string' ? props.value : typeof props.defaultValue === 'string' ? props.defaultValue : undefined;
|
|
59
|
+
|
|
60
|
+
// This is necessary in case native updates the text and JS decides
|
|
61
|
+
// that the update should be ignored and we should stick with the value
|
|
62
|
+
// that we have in JS.
|
|
63
|
+
React.useLayoutEffect(() => {
|
|
64
|
+
const nativeUpdate = {};
|
|
65
|
+
if (lastNativeText !== props.value && typeof props.value === 'string') {
|
|
66
|
+
nativeUpdate.text = props.value;
|
|
67
|
+
setLastNativeText(props.value);
|
|
68
|
+
}
|
|
69
|
+
if (selection && lastNativeSelection && (lastNativeSelection.start !== selection.start || lastNativeSelection.end !== selection.end)) {
|
|
70
|
+
nativeUpdate.selection = selection;
|
|
71
|
+
setLastNativeSelection({
|
|
72
|
+
selection,
|
|
73
|
+
mostRecentEventCount
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (Object.keys(nativeUpdate).length === 0) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (inputRef.current != null) {
|
|
80
|
+
Commands.setTextAndSelection(inputRef.current, mostRecentEventCount, text, selection?.start ?? -1, selection?.end ?? -1);
|
|
81
|
+
}
|
|
82
|
+
}, [mostRecentEventCount, inputRef, props.value, props.defaultValue, lastNativeText, selection, lastNativeSelection, text]);
|
|
83
|
+
let children = props.children;
|
|
84
|
+
const childCount = React.Children.count(children);
|
|
85
|
+
if (props.value != null && childCount) {
|
|
86
|
+
throw new Error('Cannot specify both value and children');
|
|
87
|
+
}
|
|
88
|
+
if (childCount > 1) {
|
|
89
|
+
children = /*#__PURE__*/_jsx(Text, {
|
|
90
|
+
children: children
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
React.useLayoutEffect(() => {
|
|
94
|
+
const inputRefValue = inputRef.current;
|
|
95
|
+
if (inputRefValue != null) {
|
|
96
|
+
TextInputState.registerInput(inputRefValue);
|
|
97
|
+
}
|
|
98
|
+
return () => {
|
|
99
|
+
if (inputRefValue != null) {
|
|
100
|
+
TextInputState.unregisterInput(inputRefValue);
|
|
101
|
+
}
|
|
102
|
+
if (TextInputState.currentlyFocusedInput() === inputRefValue) {
|
|
103
|
+
nullthrows(inputRefValue).blur();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}, [inputRef]);
|
|
107
|
+
const setLocalRef = React.useCallback(instance => {
|
|
108
|
+
inputRef.current = instance;
|
|
109
|
+
if (instance != null) {
|
|
110
|
+
// $FlowFixMe[incompatible-use] - See the explanation above.
|
|
111
|
+
Object.assign(instance, {
|
|
112
|
+
clear() {
|
|
113
|
+
if (inputRef.current != null) {
|
|
114
|
+
Commands.setTextAndSelection(inputRef.current, mostRecentEventCount, '', 0, 0);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
// TODO: Fix this returning true on null === null, when no input is focused
|
|
118
|
+
isFocused() {
|
|
119
|
+
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
120
|
+
},
|
|
121
|
+
getNativeRef() {
|
|
122
|
+
return inputRef.current;
|
|
123
|
+
},
|
|
124
|
+
setSelection(start, end) {
|
|
125
|
+
if (inputRef.current != null) {
|
|
126
|
+
Commands.setTextAndSelection(inputRef.current, mostRecentEventCount, null, start, end);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}, [mostRecentEventCount]);
|
|
132
|
+
const ref = useMergeRefs(setLocalRef, props.forwardedRef);
|
|
133
|
+
const _onChange = event => {
|
|
134
|
+
const currentText = event.nativeEvent.text;
|
|
135
|
+
props.onChange && props.onChange(event);
|
|
136
|
+
props.onChangeText && props.onChangeText(currentText);
|
|
137
|
+
if (inputRef.current == null) {
|
|
138
|
+
// calling `props.onChange` or `props.onChangeText`
|
|
139
|
+
// may clean up the input itself. Exits here.
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
setLastNativeText(currentText);
|
|
143
|
+
// This must happen last, after we call setLastNativeText.
|
|
144
|
+
// Different ordering can cause bugs when editing AndroidTextInputs
|
|
145
|
+
// with multiple Fragments.
|
|
146
|
+
// We must update this so that controlled input updates work.
|
|
147
|
+
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
148
|
+
};
|
|
149
|
+
const _onBlur = event => {
|
|
150
|
+
TextInputState.blurInput(inputRef.current);
|
|
151
|
+
if (props.onBlur) {
|
|
152
|
+
props.onBlur(event);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const _onFocus = event => {
|
|
156
|
+
TextInputState.focusInput(inputRef.current);
|
|
157
|
+
if (props.onFocus) {
|
|
158
|
+
props.onFocus(event);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const _onPaste = event => {
|
|
162
|
+
if (props.onPaste) {
|
|
163
|
+
const {
|
|
164
|
+
data,
|
|
165
|
+
error
|
|
166
|
+
} = event.nativeEvent;
|
|
167
|
+
props.onPaste(error?.message, data);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const _onScroll = event => {
|
|
171
|
+
props.onScroll && props.onScroll(event);
|
|
172
|
+
};
|
|
173
|
+
const _onSelectionChange = event => {
|
|
174
|
+
props.onSelectionChange && props.onSelectionChange(event);
|
|
175
|
+
if (inputRef.current == null) {
|
|
176
|
+
// calling `props.onSelectionChange`
|
|
177
|
+
// may clean up the input itself. Exits here.
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
setLastNativeSelection({
|
|
181
|
+
selection: event.nativeEvent.selection,
|
|
182
|
+
mostRecentEventCount
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
const multiline = props.multiline ?? false;
|
|
186
|
+
let submitBehavior;
|
|
187
|
+
if (props.submitBehavior != null) {
|
|
188
|
+
// `submitBehavior` is set explicitly
|
|
189
|
+
if (!multiline && props.submitBehavior === 'newline') {
|
|
190
|
+
// For single line text inputs, `'newline'` is not a valid option
|
|
191
|
+
submitBehavior = 'blurAndSubmit';
|
|
192
|
+
} else {
|
|
193
|
+
submitBehavior = props.submitBehavior;
|
|
194
|
+
}
|
|
195
|
+
} else if (multiline) {
|
|
196
|
+
if (props.blurOnSubmit === true) {
|
|
197
|
+
submitBehavior = 'blurAndSubmit';
|
|
198
|
+
} else {
|
|
199
|
+
submitBehavior = 'newline';
|
|
200
|
+
}
|
|
201
|
+
} else {
|
|
202
|
+
// Single line
|
|
203
|
+
if (props.blurOnSubmit !== false) {
|
|
204
|
+
submitBehavior = 'blurAndSubmit';
|
|
205
|
+
} else {
|
|
206
|
+
submitBehavior = 'submit';
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const accessible = props.accessible !== false;
|
|
210
|
+
const focusable = props.focusable !== false;
|
|
211
|
+
const {
|
|
212
|
+
editable,
|
|
213
|
+
hitSlop,
|
|
214
|
+
onPress,
|
|
215
|
+
onPressIn,
|
|
216
|
+
onPressOut,
|
|
217
|
+
rejectResponderTermination
|
|
218
|
+
} = props;
|
|
219
|
+
const config = React.useMemo(() => ({
|
|
220
|
+
hitSlop,
|
|
221
|
+
onPress: event => {
|
|
222
|
+
onPress?.(event);
|
|
223
|
+
if (editable !== false) {
|
|
224
|
+
if (inputRef.current != null) {
|
|
225
|
+
inputRef.current.focus();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
onPressIn: onPressIn,
|
|
230
|
+
onPressOut: onPressOut,
|
|
231
|
+
cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null
|
|
232
|
+
}), [editable, hitSlop, onPress, onPressIn, onPressOut, rejectResponderTermination]);
|
|
233
|
+
|
|
234
|
+
// Hide caret during test runs due to a flashing caret
|
|
235
|
+
// makes screenshot tests flakey
|
|
236
|
+
let caretHidden = props.caretHidden;
|
|
237
|
+
if (Platform.isTesting) {
|
|
238
|
+
caretHidden = true;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// TextInput handles onBlur and onFocus events
|
|
242
|
+
// so omitting onBlur and onFocus pressability handlers here.
|
|
243
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
244
|
+
const {
|
|
245
|
+
onBlur,
|
|
246
|
+
onFocus,
|
|
247
|
+
...eventHandlers
|
|
248
|
+
} = usePressability(config) || {};
|
|
249
|
+
let _accessibilityState;
|
|
250
|
+
if (accessibilityState != null || ariaBusy != null || ariaChecked != null || ariaDisabled != null || ariaExpanded != null || ariaSelected != null) {
|
|
251
|
+
_accessibilityState = {
|
|
252
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
253
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
254
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
255
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
256
|
+
selected: ariaSelected ?? accessibilityState?.selected
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
const style = flattenStyle(props.style);
|
|
260
|
+
const useMultilineDefaultStyle = props.multiline === true && (style == null || style.padding == null && style.paddingVertical == null && style.paddingTop == null);
|
|
261
|
+
const textInput = /*#__PURE__*/_jsx(PasteTextInputNativeComponent, {
|
|
262
|
+
ref: ref,
|
|
263
|
+
...otherProps,
|
|
264
|
+
...eventHandlers,
|
|
265
|
+
accessibilityState: _accessibilityState,
|
|
266
|
+
accessible: accessible,
|
|
267
|
+
submitBehavior: submitBehavior,
|
|
268
|
+
caretHidden: caretHidden,
|
|
269
|
+
dataDetectorTypes: props.dataDetectorTypes,
|
|
270
|
+
focusable: tabIndex !== undefined ? !tabIndex : focusable,
|
|
271
|
+
mostRecentEventCount: mostRecentEventCount,
|
|
272
|
+
nativeID: id ?? props.nativeID,
|
|
273
|
+
onBlur: _onBlur,
|
|
274
|
+
onChange: _onChange,
|
|
275
|
+
onContentSizeChange: props.onContentSizeChange,
|
|
276
|
+
onFocus: _onFocus,
|
|
277
|
+
onPaste: _onPaste,
|
|
278
|
+
onScroll: _onScroll,
|
|
279
|
+
onSelectionChange: _onSelectionChange,
|
|
280
|
+
onSelectionChangeShouldSetResponder: emptyFunctionThatReturnsTrue,
|
|
281
|
+
selection: selection,
|
|
282
|
+
selectionColor: selectionColor,
|
|
283
|
+
style: StyleSheet.compose(useMultilineDefaultStyle ? styles.multilineDefault : null, style),
|
|
284
|
+
text: text,
|
|
285
|
+
children: children
|
|
286
|
+
});
|
|
287
|
+
return /*#__PURE__*/_jsx(TextAncestor.Provider, {
|
|
288
|
+
value: true,
|
|
289
|
+
children: textInput
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
const enterKeyHintToReturnTypeMap = {
|
|
293
|
+
enter: 'default',
|
|
294
|
+
done: 'done',
|
|
295
|
+
go: 'go',
|
|
296
|
+
next: 'next',
|
|
297
|
+
previous: 'previous',
|
|
298
|
+
search: 'search',
|
|
299
|
+
send: 'send'
|
|
300
|
+
};
|
|
301
|
+
const inputModeToKeyboardTypeMap = {
|
|
302
|
+
none: 'default',
|
|
303
|
+
text: 'default',
|
|
304
|
+
decimal: 'decimal-pad',
|
|
305
|
+
numeric: 'number-pad',
|
|
306
|
+
tel: 'phone-pad',
|
|
307
|
+
search: Platform.OS === 'ios' ? 'web-search' : 'default',
|
|
308
|
+
email: 'email-address',
|
|
309
|
+
url: 'url'
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
// Map HTML autocomplete values to Android autoComplete values
|
|
313
|
+
const autoCompleteWebToAutoCompleteAndroidMap = {
|
|
314
|
+
'address-line1': 'postal-address-region',
|
|
315
|
+
'address-line2': 'postal-address-locality',
|
|
316
|
+
'bday': 'birthdate-full',
|
|
317
|
+
'bday-day': 'birthdate-day',
|
|
318
|
+
'bday-month': 'birthdate-month',
|
|
319
|
+
'bday-year': 'birthdate-year',
|
|
320
|
+
'cc-csc': 'cc-csc',
|
|
321
|
+
'cc-exp': 'cc-exp',
|
|
322
|
+
'cc-exp-month': 'cc-exp-month',
|
|
323
|
+
'cc-exp-year': 'cc-exp-year',
|
|
324
|
+
'cc-number': 'cc-number',
|
|
325
|
+
'country': 'postal-address-country',
|
|
326
|
+
'current-password': 'password',
|
|
327
|
+
'email': 'email',
|
|
328
|
+
'honorific-prefix': 'name-prefix',
|
|
329
|
+
'honorific-suffix': 'name-suffix',
|
|
330
|
+
'name': 'name',
|
|
331
|
+
'additional-name': 'name-middle',
|
|
332
|
+
'family-name': 'name-family',
|
|
333
|
+
'given-name': 'name-given',
|
|
334
|
+
'new-password': 'password-new',
|
|
335
|
+
'off': 'off',
|
|
336
|
+
'one-time-code': 'sms-otp',
|
|
337
|
+
'postal-code': 'postal-code',
|
|
338
|
+
'sex': 'gender',
|
|
339
|
+
'street-address': 'street-address',
|
|
340
|
+
'tel': 'tel',
|
|
341
|
+
'tel-country-code': 'tel-country-code',
|
|
342
|
+
'tel-national': 'tel-national',
|
|
343
|
+
'username': 'username'
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// Map HTML autocomplete values to iOS textContentType values
|
|
347
|
+
const autoCompleteWebToTextContentTypeMap = {
|
|
348
|
+
'address-line1': 'streetAddressLine1',
|
|
349
|
+
'address-line2': 'streetAddressLine2',
|
|
350
|
+
'bday': 'birthdate',
|
|
351
|
+
'bday-day': 'birthdateDay',
|
|
352
|
+
'bday-month': 'birthdateMonth',
|
|
353
|
+
'bday-year': 'birthdateYear',
|
|
354
|
+
'cc-csc': 'creditCardSecurityCode',
|
|
355
|
+
'cc-exp-month': 'creditCardExpirationMonth',
|
|
356
|
+
'cc-exp-year': 'creditCardExpirationYear',
|
|
357
|
+
'cc-exp': 'creditCardExpiration',
|
|
358
|
+
'cc-given-name': 'creditCardGivenName',
|
|
359
|
+
'cc-additional-name': 'creditCardMiddleName',
|
|
360
|
+
'cc-family-name': 'creditCardFamilyName',
|
|
361
|
+
'cc-name': 'creditCardName',
|
|
362
|
+
'cc-number': 'creditCardNumber',
|
|
363
|
+
'cc-type': 'creditCardType',
|
|
364
|
+
'current-password': 'password',
|
|
365
|
+
'country': 'countryName',
|
|
366
|
+
'email': 'emailAddress',
|
|
367
|
+
'name': 'name',
|
|
368
|
+
'additional-name': 'middleName',
|
|
369
|
+
'family-name': 'familyName',
|
|
370
|
+
'given-name': 'givenName',
|
|
371
|
+
'nickname': 'nickname',
|
|
372
|
+
'honorific-prefix': 'namePrefix',
|
|
373
|
+
'honorific-suffix': 'nameSuffix',
|
|
374
|
+
'new-password': 'newPassword',
|
|
375
|
+
'off': 'none',
|
|
376
|
+
'one-time-code': 'oneTimeCode',
|
|
377
|
+
'organization': 'organizationName',
|
|
378
|
+
'organization-title': 'jobTitle',
|
|
379
|
+
'postal-code': 'postalCode',
|
|
380
|
+
'street-address': 'fullStreetAddress',
|
|
381
|
+
'tel': 'telephoneNumber',
|
|
382
|
+
'url': 'URL',
|
|
383
|
+
'username': 'username'
|
|
384
|
+
};
|
|
385
|
+
const verticalAlignToTextAlignVerticalMap = {
|
|
386
|
+
auto: 'auto',
|
|
387
|
+
top: 'top',
|
|
388
|
+
bottom: 'bottom',
|
|
389
|
+
middle: 'center'
|
|
390
|
+
};
|
|
391
|
+
const ExportedForwardRef = /*#__PURE__*/React.forwardRef(function PasteTextInput({
|
|
392
|
+
allowFontScaling = true,
|
|
393
|
+
rejectResponderTermination = true,
|
|
394
|
+
underlineColorAndroid = 'transparent',
|
|
395
|
+
autoComplete,
|
|
396
|
+
textContentType,
|
|
397
|
+
readOnly,
|
|
398
|
+
editable,
|
|
399
|
+
enterKeyHint,
|
|
400
|
+
returnKeyType,
|
|
401
|
+
inputMode,
|
|
402
|
+
showSoftInputOnFocus,
|
|
403
|
+
keyboardType,
|
|
404
|
+
...restProps
|
|
405
|
+
}, forwardedRef) {
|
|
406
|
+
let style = flattenStyle(restProps.style);
|
|
407
|
+
if (style?.verticalAlign != null) {
|
|
408
|
+
style.textAlignVertical = verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
409
|
+
delete style.verticalAlign;
|
|
410
|
+
}
|
|
411
|
+
return /*#__PURE__*/_jsx(InternalTextInput, {
|
|
412
|
+
allowFontScaling: allowFontScaling,
|
|
413
|
+
rejectResponderTermination: rejectResponderTermination,
|
|
414
|
+
underlineColorAndroid: underlineColorAndroid,
|
|
415
|
+
editable: readOnly !== undefined ? !readOnly : editable,
|
|
416
|
+
returnKeyType: enterKeyHint ? enterKeyHintToReturnTypeMap[enterKeyHint] : returnKeyType,
|
|
417
|
+
keyboardType: inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType,
|
|
418
|
+
showSoftInputOnFocus: inputMode == null ? showSoftInputOnFocus : inputMode !== 'none',
|
|
419
|
+
autoComplete: Platform.OS === 'android' ?
|
|
420
|
+
// @ts-ignore
|
|
421
|
+
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ?? autoComplete : undefined,
|
|
422
|
+
textContentType: textContentType != null ? textContentType : Platform.OS === 'ios' && autoComplete && autoComplete in autoCompleteWebToTextContentTypeMap ?
|
|
423
|
+
// @ts-ignore
|
|
424
|
+
autoCompleteWebToTextContentTypeMap[autoComplete] : textContentType,
|
|
425
|
+
...restProps,
|
|
426
|
+
forwardedRef: forwardedRef,
|
|
427
|
+
style: style
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
ExportedForwardRef.displayName = 'PasteTextInput';
|
|
431
|
+
const styles = StyleSheet.create({
|
|
432
|
+
multilineDefault: {
|
|
433
|
+
// This default top inset makes RCTMultilineTextInputView seem as close as possible
|
|
434
|
+
// to single-line RCTSinglelineTextInputView defaults, using the system defaults
|
|
435
|
+
// of font size 17 and a height of 31 points.
|
|
436
|
+
paddingTop: 5
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
export default ExportedForwardRef;
|
|
440
|
+
//# sourceMappingURL=PasteTextInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","PasteTextInputNativeComponent","Commands","Platform","StyleSheet","Text","TextAncestor","TextInputState","usePressability","flattenStyle","nullthrows","jsx","_jsx","emptyFunctionThatReturnsTrue","useMergeRefs","refs","useCallback","current","ref","InternalTextInput","props","ariaBusy","ariaChecked","ariaDisabled","ariaExpanded","ariaSelected","accessibilityState","id","tabIndex","propsSelection","selectionColor","otherProps","inputRef","useRef","selection","useMemo","start","end","mostRecentEventCount","setMostRecentEventCount","useState","lastNativeText","setLastNativeText","value","lastNativeSelectionState","setLastNativeSelection","lastNativeSelection","text","defaultValue","undefined","useLayoutEffect","nativeUpdate","Object","keys","length","setTextAndSelection","children","childCount","Children","count","Error","inputRefValue","registerInput","unregisterInput","currentlyFocusedInput","blur","setLocalRef","instance","assign","clear","isFocused","getNativeRef","setSelection","forwardedRef","_onChange","event","currentText","nativeEvent","onChange","onChangeText","eventCount","_onBlur","blurInput","onBlur","_onFocus","focusInput","onFocus","_onPaste","onPaste","data","error","message","_onScroll","onScroll","_onSelectionChange","onSelectionChange","multiline","submitBehavior","blurOnSubmit","accessible","focusable","editable","hitSlop","onPress","onPressIn","onPressOut","rejectResponderTermination","config","focus","cancelable","OS","caretHidden","isTesting","eventHandlers","_accessibilityState","busy","checked","disabled","expanded","selected","style","useMultilineDefaultStyle","padding","paddingVertical","paddingTop","textInput","dataDetectorTypes","nativeID","onContentSizeChange","onSelectionChangeShouldSetResponder","compose","styles","multilineDefault","Provider","enterKeyHintToReturnTypeMap","enter","done","go","next","previous","search","send","inputModeToKeyboardTypeMap","none","decimal","numeric","tel","email","url","autoCompleteWebToAutoCompleteAndroidMap","autoCompleteWebToTextContentTypeMap","verticalAlignToTextAlignVerticalMap","auto","top","bottom","middle","ExportedForwardRef","forwardRef","PasteTextInput","allowFontScaling","underlineColorAndroid","autoComplete","textContentType","readOnly","enterKeyHint","returnKeyType","inputMode","showSoftInputOnFocus","keyboardType","restProps","verticalAlign","textAlignVertical","displayName","create"],"sourceRoot":"../../src","sources":["PasteTextInput.tsx"],"mappings":"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","ignoreList":[]}
|