react-native-enriched-markdown 1.1.0 → 1.2.0-nightly-20261002-c10ab5683
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/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +43 -5
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt +9 -8
- package/docs/API_REFERENCE.md +24 -0
- package/lib/module/EnrichedMarkdownTextInput.js +48 -2
- package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
- package/lib/module/utils/textInputState.js +4 -3
- package/lib/module/utils/textInputState.js.map +1 -1
- package/lib/module/utils/usePressability.js +28 -0
- package/lib/module/utils/usePressability.js.map +1 -0
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +3 -3
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/src/utils/textInputState.d.ts +5 -3
- package/lib/typescript/src/utils/textInputState.d.ts.map +1 -1
- package/lib/typescript/src/utils/usePressability.d.ts +24 -0
- package/lib/typescript/src/utils/usePressability.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/EnrichedMarkdownTextInput.tsx +66 -4
- package/src/utils/textInputState.ts +5 -3
- package/src/utils/usePressability.ts +34 -0
package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt
CHANGED
|
@@ -60,6 +60,8 @@ class EnrichedMarkdownTextInputView(
|
|
|
60
60
|
context: Context,
|
|
61
61
|
) : AppCompatEditText(context) {
|
|
62
62
|
private var isComponentReady = false
|
|
63
|
+
private var lastEmittedSelectionStart = -1
|
|
64
|
+
private var lastEmittedSelectionEnd = -1
|
|
63
65
|
|
|
64
66
|
val formattingStore = FormattingStore()
|
|
65
67
|
val blockStore = BlockStore()
|
|
@@ -387,6 +389,7 @@ class EnrichedMarkdownTextInputView(
|
|
|
387
389
|
} finally {
|
|
388
390
|
editSession.exit()
|
|
389
391
|
}
|
|
392
|
+
emitSelectionIfChanged()
|
|
390
393
|
}
|
|
391
394
|
|
|
392
395
|
override fun onSelectionChanged(
|
|
@@ -416,12 +419,33 @@ class EnrichedMarkdownTextInputView(
|
|
|
416
419
|
syncEmptyListAnchor()
|
|
417
420
|
}
|
|
418
421
|
|
|
419
|
-
|
|
422
|
+
emitSelectionIfChanged()
|
|
420
423
|
dispatchMentionUpdate()
|
|
421
424
|
eventEmitter.emitState()
|
|
422
425
|
eventEmitter.emitCaretRectChangeIfNeeded()
|
|
423
426
|
}
|
|
424
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Sends the caret range to JS when it differs from the last range JS received.
|
|
430
|
+
*
|
|
431
|
+
* [onSelectionChanged] returns immediately while an edit phase is active, so
|
|
432
|
+
* a caret move from setValue, a programmatic insert, or anchor management is
|
|
433
|
+
* not reported there. Those callers invoke this once the edit phase has ended.
|
|
434
|
+
*
|
|
435
|
+
* This function then rereads the latest range at that point before emitting
|
|
436
|
+
* the selection.
|
|
437
|
+
*/
|
|
438
|
+
private fun emitSelectionIfChanged() {
|
|
439
|
+
if (!isComponentReady) return
|
|
440
|
+
val start = selectionStart
|
|
441
|
+
val end = selectionEnd
|
|
442
|
+
if (start == lastEmittedSelectionStart && end == lastEmittedSelectionEnd) return
|
|
443
|
+
if (eventEmitter.emitSelection(start, end)) {
|
|
444
|
+
lastEmittedSelectionStart = start
|
|
445
|
+
lastEmittedSelectionEnd = end
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
425
449
|
/**
|
|
426
450
|
* Text typed over a non-empty selection inherits the inline styles of the first
|
|
427
451
|
* selected character (mirrors iOS rebuildFromContext and the range-inheritance
|
|
@@ -478,6 +502,7 @@ class EnrichedMarkdownTextInputView(
|
|
|
478
502
|
} finally {
|
|
479
503
|
editSession.exit()
|
|
480
504
|
}
|
|
505
|
+
emitSelectionIfChanged()
|
|
481
506
|
}
|
|
482
507
|
|
|
483
508
|
fun applyFormatting() {
|
|
@@ -971,6 +996,7 @@ class EnrichedMarkdownTextInputView(
|
|
|
971
996
|
} finally {
|
|
972
997
|
editSession.exit()
|
|
973
998
|
}
|
|
999
|
+
emitSelectionIfChanged()
|
|
974
1000
|
}
|
|
975
1001
|
|
|
976
1002
|
override fun setBackgroundColor(color: Int) {
|
|
@@ -1036,10 +1062,22 @@ class EnrichedMarkdownTextInputView(
|
|
|
1036
1062
|
AutoCapitalizeUtils.apply(this, flagName)
|
|
1037
1063
|
}
|
|
1038
1064
|
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1065
|
+
/**
|
|
1066
|
+
* Programmatic focus for ref.focus() and for the focus command that the JS
|
|
1067
|
+
* pressability onPress sends on finger-up (including after a long-press word
|
|
1068
|
+
* select).
|
|
1069
|
+
*
|
|
1070
|
+
* Matches ReactEditText.requestFocusProgrammatically: request focus and show
|
|
1071
|
+
* the keyboard without touching the selection, so a long-press word selection
|
|
1072
|
+
* isn't collapsed:
|
|
1073
|
+
* https://github.com/react/react-native/blob/v0.86.2/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt#L396-L402
|
|
1074
|
+
*/
|
|
1075
|
+
fun requestFocusProgrammatically(): Boolean {
|
|
1076
|
+
val focused = super.requestFocus(FOCUS_DOWN, null)
|
|
1077
|
+
if (isInTouchMode && showSoftInputOnFocus) {
|
|
1078
|
+
inputMethodManager?.showSoftInput(this, 0)
|
|
1079
|
+
}
|
|
1080
|
+
return focused
|
|
1043
1081
|
}
|
|
1044
1082
|
|
|
1045
1083
|
private fun showAutoFocusKeyboardIfPending() {
|
package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt
CHANGED
|
@@ -48,9 +48,7 @@ class InputEventEmitter(
|
|
|
48
48
|
fun emitSelection(
|
|
49
49
|
start: Int,
|
|
50
50
|
end: Int,
|
|
51
|
-
)
|
|
52
|
-
dispatch(OnChangeSelectionEvent(surfaceId(), view.id, start, end))
|
|
53
|
-
}
|
|
51
|
+
): Boolean = dispatch(OnChangeSelectionEvent(surfaceId(), view.id, start, end))
|
|
54
52
|
|
|
55
53
|
fun emitState() {
|
|
56
54
|
val pos = view.selectionStart
|
|
@@ -236,10 +234,13 @@ class InputEventEmitter(
|
|
|
236
234
|
return UIManagerHelper.getSurfaceId(reactContext)
|
|
237
235
|
}
|
|
238
236
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
val
|
|
243
|
-
dispatcher
|
|
237
|
+
/** Returns true when [event] was handed to the React event dispatcher */
|
|
238
|
+
private fun dispatch(event: Event<*>): Boolean {
|
|
239
|
+
if (view.editSession.shouldSuppressEvents) return false
|
|
240
|
+
val reactContext = view.context as? ReactContext ?: return false
|
|
241
|
+
val dispatcher =
|
|
242
|
+
UIManagerHelper.getEventDispatcherForReactTag(reactContext, view.id) ?: return false
|
|
243
|
+
dispatcher.dispatchEvent(event)
|
|
244
|
+
return true
|
|
244
245
|
}
|
|
245
246
|
}
|
package/docs/API_REFERENCE.md
CHANGED
|
@@ -935,6 +935,30 @@ Fires when the input loses focus.
|
|
|
935
935
|
|
|
936
936
|
The input participates in React Native's text-input focus tracking (`TextInput.State`), so blur also happens through the platform's standard keyboard-dismiss paths: taps outside the input inside a `ScrollView` (per its `keyboardShouldPersistTaps` setting) and `Keyboard.dismiss()`. See [Keyboard Dismissal](INPUT.md#keyboard-dismissal).
|
|
937
937
|
|
|
938
|
+
### `onPress`, `onPressIn`, `onPressOut`
|
|
939
|
+
|
|
940
|
+
Fire for taps on the input, like React Native `TextInput`. The input claims the JS touch responder, so a tap that focuses it does not also fire the `onPress` of an ancestor `Pressable`. After `onPress` runs, the input focuses itself (unless `editable` is `false`) without changing the current selection. As on `TextInput`, responder props passed through `ViewProps` (`onStartShouldSetResponder`, `onResponderGrant`, and the rest) are overridden by the input's press handling.
|
|
941
|
+
|
|
942
|
+
| Type | Default Value | Platform |
|
|
943
|
+
| ------------------------------------------- | ------------- | -------- |
|
|
944
|
+
| `(event: GestureResponderEvent) => unknown` | - | Both |
|
|
945
|
+
|
|
946
|
+
### `hitSlop`
|
|
947
|
+
|
|
948
|
+
Extends the touchable area for the press handlers above. Same as `hitSlop` on React Native `TextInput`.
|
|
949
|
+
|
|
950
|
+
| Type | Default Value | Platform |
|
|
951
|
+
| ---------------------- | ------------- | -------- |
|
|
952
|
+
| `ViewProps['hitSlop']` | - | Both |
|
|
953
|
+
|
|
954
|
+
### `rejectResponderTermination`
|
|
955
|
+
|
|
956
|
+
When `true`, a parent scroll view or pressable can't take over the touch responder while the input is being pressed. Same as React Native `TextInput`.
|
|
957
|
+
|
|
958
|
+
| Type | Default Value | Platform |
|
|
959
|
+
| --------- | ------------- | -------- |
|
|
960
|
+
| `boolean` | `true` | iOS |
|
|
961
|
+
|
|
938
962
|
### `onStartMention`
|
|
939
963
|
|
|
940
964
|
Fires when a new mention flow starts. See [Mentions](MENTIONS.md#events).
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import EnrichedMarkdownTextInputNativeComponent, { Commands } from './EnrichedMarkdownTextInputNativeComponent';
|
|
5
|
+
import { Platform } from 'react-native';
|
|
5
6
|
import { normalizeMarkdownShortcuts } from "./normalizeMarkdownShortcuts.js";
|
|
6
7
|
import { normalizeMarkdownTextInputStyle } from "./normalizeMarkdownTextInputStyle.js";
|
|
7
8
|
import { normalizeMenuItem } from "./normalizeMenuItem.js";
|
|
8
9
|
import { toNativeRegexConfig } from "./utils/regexParser.js";
|
|
9
10
|
import { TextInputState } from "./utils/textInputState.js";
|
|
11
|
+
import { usePressability } from "./utils/usePressability.js";
|
|
10
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
13
|
const VALID_HEADING_LEVELS = new Set([1, 2, 3, 4, 5, 6]);
|
|
12
14
|
function toHeadingLevel(n) {
|
|
@@ -59,6 +61,11 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
59
61
|
onEndMention,
|
|
60
62
|
onFocus,
|
|
61
63
|
onBlur,
|
|
64
|
+
onPress,
|
|
65
|
+
onPressIn,
|
|
66
|
+
onPressOut,
|
|
67
|
+
hitSlop,
|
|
68
|
+
rejectResponderTermination = true,
|
|
62
69
|
contextMenuItems,
|
|
63
70
|
selectionMenuConfig,
|
|
64
71
|
formatMenuConfig,
|
|
@@ -244,6 +251,40 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
244
251
|
TextInputState.blurInput(nativeRef.current);
|
|
245
252
|
onBlur?.();
|
|
246
253
|
}, [onBlur]);
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* React Native TextInput attaches usePressability to the native host so taps
|
|
257
|
+
* claim the JS touch responder and ancestor Pressable handlers do not also
|
|
258
|
+
* run.
|
|
259
|
+
* https://github.com/react/react-native/blob/v0.86.2/packages/react-native/Libraries/Components/TextInput/TextInput.js#L582-L616
|
|
260
|
+
*/
|
|
261
|
+
const pressabilityConfig = useMemo(() => ({
|
|
262
|
+
cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : undefined,
|
|
263
|
+
hitSlop,
|
|
264
|
+
onPress: event => {
|
|
265
|
+
onPress?.(event);
|
|
266
|
+
if (editable !== false) {
|
|
267
|
+
// Same call TextInput's host focus() makes. A tap on the text view
|
|
268
|
+
// focuses it natively, which makes this a no-op; it matters when the
|
|
269
|
+
// press lands outside the native view, e.g. in the hitSlop area.
|
|
270
|
+
TextInputState.focusTextInput(nativeRef.current);
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
onPressIn,
|
|
274
|
+
onPressOut
|
|
275
|
+
}), [editable, hitSlop, onPress, onPressIn, onPressOut, rejectResponderTermination]);
|
|
276
|
+
|
|
277
|
+
// TextInput handles onBlur and onFocus events
|
|
278
|
+
// so omitting onBlur and onFocus pressability handlers here.
|
|
279
|
+
//
|
|
280
|
+
// Same logic as https://github.com/react/react-native/blob/v0.86.2/packages/react-native/Libraries/Components/TextInput/TextInput.js#L629
|
|
281
|
+
const {
|
|
282
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
283
|
+
onBlur: _onBlur,
|
|
284
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
285
|
+
onFocus: _onFocus,
|
|
286
|
+
...pressabilityHandlers
|
|
287
|
+
} = usePressability(pressabilityConfig) ?? {};
|
|
247
288
|
const handleRequestMarkdownResult = useCallback(e => {
|
|
248
289
|
const {
|
|
249
290
|
requestId,
|
|
@@ -380,8 +421,13 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
380
421
|
writingDirection: writingDirection,
|
|
381
422
|
onStartMention: handleStartMention,
|
|
382
423
|
onChangeMention: handleChangeMention,
|
|
383
|
-
onEndMention: handleEndMention
|
|
384
|
-
|
|
424
|
+
onEndMention: handleEndMention
|
|
425
|
+
// Explicitly pass through hitSlop because the native view subclasses
|
|
426
|
+
// RCTViewComponentView and makes use of hitSlop too
|
|
427
|
+
,
|
|
428
|
+
hitSlop: hitSlop,
|
|
429
|
+
...rest,
|
|
430
|
+
...pressabilityHandlers
|
|
385
431
|
});
|
|
386
432
|
};
|
|
387
433
|
export default EnrichedMarkdownTextInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownShortcuts","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","TextInputState","jsx","_jsx","VALID_HEADING_LEVELS","Set","toHeadingLevel","n","has","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","markdownShortcuts","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onKeyPress","onCaretRectChange","onLinkDetected","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","instance","registerInput","currentlyFocusedInput","blurTextInput","unregisterInput","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","normalizedMarkdownShortcuts","handleLinkDetected","e","url","start","end","nativeEvent","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","heading","unorderedList","orderedList","level","handleCaretRectChange","x","y","width","height","handleStartMention","handleChangeMention","handleEndMention","handleFocus","focusInput","handleBlur","blurInput","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","toggleHeading","toggleUnorderedList","toggleOrderedList","indentList","outdentList","setLink","insertLink","insertText","insertMention","displayText","startMention","indicator","removeLink","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputKeyPress","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","Platform","normalizeMarkdownShortcuts","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","TextInputState","usePressability","jsx","_jsx","VALID_HEADING_LEVELS","Set","toHeadingLevel","n","has","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","markdownShortcuts","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onKeyPress","onCaretRectChange","onLinkDetected","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","onPress","onPressIn","onPressOut","hitSlop","rejectResponderTermination","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","instance","registerInput","currentlyFocusedInput","blurTextInput","unregisterInput","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","normalizedMarkdownShortcuts","handleLinkDetected","e","url","start","end","nativeEvent","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","heading","unorderedList","orderedList","level","handleCaretRectChange","x","y","width","height","handleStartMention","handleChangeMention","handleEndMention","handleFocus","focusInput","handleBlur","blurInput","pressabilityConfig","cancelable","OS","undefined","event","focusTextInput","_onBlur","_onFocus","pressabilityHandlers","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","toggleHeading","toggleUnorderedList","toggleOrderedList","indentList","outdentList","setLink","insertLink","insertText","insertMention","displayText","startMention","indicator","removeLink","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","onInputKeyPress","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* registry so it participates in RN's keyboard-dismiss behavior (issue #577).
|
|
6
6
|
*
|
|
7
7
|
* Registering a non-TextInput host component is safe: TextInputState's
|
|
8
|
-
* blurTextInput
|
|
9
|
-
*
|
|
10
|
-
* as long as the component ships
|
|
8
|
+
* focusTextInput and blurTextInput dispatch the built-in TextInput's "focus"
|
|
9
|
+
* and "blur" commands at the given instance, and Fabric command dispatch is
|
|
10
|
+
* name-based — it works as long as the component ships commands with those
|
|
11
|
+
* names, which ours does.
|
|
11
12
|
*
|
|
12
13
|
* A deep import is required because the public TextInput.State API lacks the
|
|
13
14
|
* registerInput/focusInput/blurInput bookkeeping functions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextInputStateModuleImpl","require","TextInputState","default"],"sourceRoot":"../../../src","sources":["utils/textInputState.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["TextInputStateModuleImpl","require","TextInputState","default"],"sourceRoot":"../../../src","sources":["utils/textInputState.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,wBAAwB;AAC5B;AACAC,OAAO,CAAC,4DAA4D,CAAC;AAEvE,OAAO,MAAMC,cAAc,GAAIF,wBAAwB,CAACG,OAAO,IAC7DH,wBAAiD","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Deep import of React Native's `usePressability`.
|
|
5
|
+
*
|
|
6
|
+
* The hook only became a root `react-native` export around 0.84. The peer
|
|
7
|
+
* dependency is `react-native: "*"`, so a named root import is `undefined`
|
|
8
|
+
* before that.
|
|
9
|
+
*
|
|
10
|
+
* `Libraries/Pressability/usePressability.js` exists on those versions, so
|
|
11
|
+
* we use that deep import instead.
|
|
12
|
+
*
|
|
13
|
+
* The export shape has changed across versions: newer ones use `export
|
|
14
|
+
* default` (surfacing as `.default` after Metro's CJS transform) while older
|
|
15
|
+
* ones assigned `module.exports` directly. A raw require bypasses Babel's
|
|
16
|
+
* import interop, so both shapes are handled here.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Copied from the type for usePressability in
|
|
21
|
+
* packages/react-native-enriched-markdown/node_modules/react-native/types_generated/Libraries/Pressability/usePressability.d.ts
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const usePressabilityModule =
|
|
25
|
+
// eslint-disable-next-line @react-native/no-deep-imports
|
|
26
|
+
require('react-native/Libraries/Pressability/usePressability');
|
|
27
|
+
export const usePressability = usePressabilityModule.default ?? usePressabilityModule;
|
|
28
|
+
//# sourceMappingURL=usePressability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["usePressabilityModule","require","usePressability","default"],"sourceRoot":"../../../src","sources":["utils/usePressability.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAKA,MAAMA,qBAAqB;AACzB;AACAC,OAAO,CAAC,qDAAqD,CAAC;AAEhE,OAAO,MAAMC,eAAe,GAAIF,qBAAqB,CAACG,OAAO,IAC3DH,qBAAyC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type OnKeyPressEvent, type OnLinkDetected, type OnStartMentionEvent, type OnChangeMentionEvent, type OnEndMentionEvent } from './EnrichedMarkdownTextInputNativeComponent';
|
|
2
2
|
export type { OnKeyPressEvent, OnLinkDetected, OnStartMentionEvent, OnChangeMentionEvent, OnEndMentionEvent, } from './EnrichedMarkdownTextInputNativeComponent';
|
|
3
|
-
import type { HostInstance, NativeSyntheticEvent, ViewProps, ViewStyle, TextStyle, ColorValue } from 'react-native';
|
|
3
|
+
import type { HostInstance, NativeSyntheticEvent, TextInputProps, ViewProps, ViewStyle, TextStyle, ColorValue } from 'react-native';
|
|
4
4
|
import type { RefObject } from 'react';
|
|
5
5
|
export interface LinkStyle {
|
|
6
6
|
color?: string;
|
|
@@ -175,7 +175,7 @@ export interface MarkdownShortcutsConfig {
|
|
|
175
175
|
/** `1.` or `1)` + space. @default false */
|
|
176
176
|
orderedList?: boolean;
|
|
177
177
|
}
|
|
178
|
-
export interface EnrichedMarkdownTextInputProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
178
|
+
export interface EnrichedMarkdownTextInputProps extends Omit<ViewProps, 'style' | 'children'>, Pick<TextInputProps, 'onPress' | 'onPressIn' | 'onPressOut' | 'rejectResponderTermination'> {
|
|
179
179
|
ref?: RefObject<EnrichedMarkdownTextInputInstance | null>;
|
|
180
180
|
defaultValue?: string;
|
|
181
181
|
placeholder?: string;
|
|
@@ -252,6 +252,6 @@ export interface EnrichedMarkdownTextInputProps extends Omit<ViewProps, 'style'
|
|
|
252
252
|
*/
|
|
253
253
|
writingDirection?: 'auto' | 'ltr' | 'rtl' | 'first-strong';
|
|
254
254
|
}
|
|
255
|
-
export declare const EnrichedMarkdownTextInput: ({ ref, markdownStyle, style, defaultValue, placeholder, placeholderTextColor, editable, autoFocus, scrollEnabled, markdownShortcuts, autoCapitalize, multiline, cursorColor, selectionColor, onChangeText, onChangeMarkdown, onChangeSelection, onChangeState, onKeyPress, onCaretRectChange, onLinkDetected, mentionIndicators, onStartMention, onChangeMention, onEndMention, onFocus, onBlur, contextMenuItems, selectionMenuConfig, formatMenuConfig, linkRegex: _linkRegex, writingDirection, ...rest }: EnrichedMarkdownTextInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
255
|
+
export declare const EnrichedMarkdownTextInput: ({ ref, markdownStyle, style, defaultValue, placeholder, placeholderTextColor, editable, autoFocus, scrollEnabled, markdownShortcuts, autoCapitalize, multiline, cursorColor, selectionColor, onChangeText, onChangeMarkdown, onChangeSelection, onChangeState, onKeyPress, onCaretRectChange, onLinkDetected, mentionIndicators, onStartMention, onChangeMention, onEndMention, onFocus, onBlur, onPress, onPressIn, onPressOut, hitSlop, rejectResponderTermination, contextMenuItems, selectionMenuConfig, formatMenuConfig, linkRegex: _linkRegex, writingDirection, ...rest }: EnrichedMarkdownTextInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
256
256
|
export default EnrichedMarkdownTextInput;
|
|
257
257
|
//# sourceMappingURL=EnrichedMarkdownTextInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrichedMarkdownTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedMarkdownTextInput.tsx"],"names":[],"mappings":"AASA,OAAiD,EAO/C,KAAK,eAAe,EAKpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EnrichedMarkdownTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedMarkdownTextInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* registry so it participates in RN's keyboard-dismiss behavior (issue #577).
|
|
4
4
|
*
|
|
5
5
|
* Registering a non-TextInput host component is safe: TextInputState's
|
|
6
|
-
* blurTextInput
|
|
7
|
-
*
|
|
8
|
-
* as long as the component ships
|
|
6
|
+
* focusTextInput and blurTextInput dispatch the built-in TextInput's "focus"
|
|
7
|
+
* and "blur" commands at the given instance, and Fabric command dispatch is
|
|
8
|
+
* name-based — it works as long as the component ships commands with those
|
|
9
|
+
* names, which ours does.
|
|
9
10
|
*
|
|
10
11
|
* A deep import is required because the public TextInput.State API lacks the
|
|
11
12
|
* registerInput/focusInput/blurInput bookkeeping functions.
|
|
@@ -16,6 +17,7 @@ interface TextInputStateModule {
|
|
|
16
17
|
unregisterInput(input: HostInstance): void;
|
|
17
18
|
focusInput(input: HostInstance | null): void;
|
|
18
19
|
blurInput(input: HostInstance | null): void;
|
|
20
|
+
focusTextInput(input: HostInstance | null): void;
|
|
19
21
|
blurTextInput(input: HostInstance | null): void;
|
|
20
22
|
currentlyFocusedInput(): HostInstance | null;
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textInputState.d.ts","sourceRoot":"","sources":["../../../../src/utils/textInputState.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"textInputState.d.ts","sourceRoot":"","sources":["../../../../src/utils/textInputState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,qBAAqB,IAAI,YAAY,GAAG,IAAI,CAAC;CAC9C;AAYD,eAAO,MAAM,cAAc,EACI,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep import of React Native's `usePressability`.
|
|
3
|
+
*
|
|
4
|
+
* The hook only became a root `react-native` export around 0.84. The peer
|
|
5
|
+
* dependency is `react-native: "*"`, so a named root import is `undefined`
|
|
6
|
+
* before that.
|
|
7
|
+
*
|
|
8
|
+
* `Libraries/Pressability/usePressability.js` exists on those versions, so
|
|
9
|
+
* we use that deep import instead.
|
|
10
|
+
*
|
|
11
|
+
* The export shape has changed across versions: newer ones use `export
|
|
12
|
+
* default` (surfacing as `.default` after Metro's CJS transform) while older
|
|
13
|
+
* ones assigned `module.exports` directly. A raw require bypasses Babel's
|
|
14
|
+
* import interop, so both shapes are handled here.
|
|
15
|
+
*/
|
|
16
|
+
import type { PressabilityConfig, PressabilityEventHandlers } from 'react-native';
|
|
17
|
+
/**
|
|
18
|
+
* Copied from the type for usePressability in
|
|
19
|
+
* packages/react-native-enriched-markdown/node_modules/react-native/types_generated/Libraries/Pressability/usePressability.d.ts
|
|
20
|
+
*/
|
|
21
|
+
type UsePressability = (config: null | undefined | PressabilityConfig) => null | PressabilityEventHandlers;
|
|
22
|
+
export declare const usePressability: UsePressability;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=usePressability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePressability.d.ts","sourceRoot":"","sources":["../../../../src/utils/usePressability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,KAAK,eAAe,GAAG,CACrB,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,kBAAkB,KAC1C,IAAI,GAAG,yBAAyB,CAAC;AAMtC,eAAO,MAAM,eAAe,EACA,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -32,18 +32,22 @@ export type {
|
|
|
32
32
|
OnEndMentionEvent,
|
|
33
33
|
} from './EnrichedMarkdownTextInputNativeComponent';
|
|
34
34
|
import type {
|
|
35
|
+
GestureResponderEvent,
|
|
35
36
|
HostInstance,
|
|
36
37
|
NativeSyntheticEvent,
|
|
38
|
+
TextInputProps,
|
|
37
39
|
ViewProps,
|
|
38
40
|
ViewStyle,
|
|
39
41
|
TextStyle,
|
|
40
42
|
ColorValue,
|
|
41
43
|
} from 'react-native';
|
|
44
|
+
import { Platform } from 'react-native';
|
|
42
45
|
import { normalizeMarkdownShortcuts } from './normalizeMarkdownShortcuts';
|
|
43
46
|
import { normalizeMarkdownTextInputStyle } from './normalizeMarkdownTextInputStyle';
|
|
44
47
|
import { normalizeMenuItem } from './normalizeMenuItem';
|
|
45
48
|
import { toNativeRegexConfig } from './utils/regexParser';
|
|
46
49
|
import { TextInputState } from './utils/textInputState';
|
|
50
|
+
import { usePressability } from './utils/usePressability';
|
|
47
51
|
import type { RefObject } from 'react';
|
|
48
52
|
|
|
49
53
|
type NativeRef = HostInstance;
|
|
@@ -212,10 +216,14 @@ export interface MarkdownShortcutsConfig {
|
|
|
212
216
|
orderedList?: boolean;
|
|
213
217
|
}
|
|
214
218
|
|
|
215
|
-
export interface EnrichedMarkdownTextInputProps
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
+
export interface EnrichedMarkdownTextInputProps
|
|
220
|
+
extends
|
|
221
|
+
Omit<ViewProps, 'style' | 'children'>,
|
|
222
|
+
// Same press props as React Native TextInput; `hitSlop` comes from ViewProps.
|
|
223
|
+
Pick<
|
|
224
|
+
TextInputProps,
|
|
225
|
+
'onPress' | 'onPressIn' | 'onPressOut' | 'rejectResponderTermination'
|
|
226
|
+
> {
|
|
219
227
|
ref?: RefObject<EnrichedMarkdownTextInputInstance | null>;
|
|
220
228
|
defaultValue?: string;
|
|
221
229
|
placeholder?: string;
|
|
@@ -332,6 +340,11 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
332
340
|
onEndMention,
|
|
333
341
|
onFocus,
|
|
334
342
|
onBlur,
|
|
343
|
+
onPress,
|
|
344
|
+
onPressIn,
|
|
345
|
+
onPressOut,
|
|
346
|
+
hitSlop,
|
|
347
|
+
rejectResponderTermination = true,
|
|
335
348
|
contextMenuItems,
|
|
336
349
|
selectionMenuConfig,
|
|
337
350
|
formatMenuConfig,
|
|
@@ -567,6 +580,51 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
567
580
|
onBlur?.();
|
|
568
581
|
}, [onBlur]);
|
|
569
582
|
|
|
583
|
+
/**
|
|
584
|
+
* React Native TextInput attaches usePressability to the native host so taps
|
|
585
|
+
* claim the JS touch responder and ancestor Pressable handlers do not also
|
|
586
|
+
* run.
|
|
587
|
+
* https://github.com/react/react-native/blob/v0.86.2/packages/react-native/Libraries/Components/TextInput/TextInput.js#L582-L616
|
|
588
|
+
*/
|
|
589
|
+
const pressabilityConfig = useMemo(
|
|
590
|
+
() => ({
|
|
591
|
+
cancelable:
|
|
592
|
+
Platform.OS === 'ios' ? !rejectResponderTermination : undefined,
|
|
593
|
+
hitSlop,
|
|
594
|
+
onPress: (event: GestureResponderEvent) => {
|
|
595
|
+
onPress?.(event);
|
|
596
|
+
if (editable !== false) {
|
|
597
|
+
// Same call TextInput's host focus() makes. A tap on the text view
|
|
598
|
+
// focuses it natively, which makes this a no-op; it matters when the
|
|
599
|
+
// press lands outside the native view, e.g. in the hitSlop area.
|
|
600
|
+
TextInputState.focusTextInput(nativeRef.current);
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
onPressIn,
|
|
604
|
+
onPressOut,
|
|
605
|
+
}),
|
|
606
|
+
[
|
|
607
|
+
editable,
|
|
608
|
+
hitSlop,
|
|
609
|
+
onPress,
|
|
610
|
+
onPressIn,
|
|
611
|
+
onPressOut,
|
|
612
|
+
rejectResponderTermination,
|
|
613
|
+
]
|
|
614
|
+
);
|
|
615
|
+
|
|
616
|
+
// TextInput handles onBlur and onFocus events
|
|
617
|
+
// so omitting onBlur and onFocus pressability handlers here.
|
|
618
|
+
//
|
|
619
|
+
// Same logic as https://github.com/react/react-native/blob/v0.86.2/packages/react-native/Libraries/Components/TextInput/TextInput.js#L629
|
|
620
|
+
const {
|
|
621
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
622
|
+
onBlur: _onBlur,
|
|
623
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
624
|
+
onFocus: _onFocus,
|
|
625
|
+
...pressabilityHandlers
|
|
626
|
+
} = usePressability(pressabilityConfig) ?? {};
|
|
627
|
+
|
|
570
628
|
const handleRequestMarkdownResult = useCallback(
|
|
571
629
|
(e: NativeSyntheticEvent<OnRequestMarkdownResultEvent>) => {
|
|
572
630
|
const { requestId, markdown } = e.nativeEvent;
|
|
@@ -715,7 +773,11 @@ export const EnrichedMarkdownTextInput = ({
|
|
|
715
773
|
onStartMention={handleStartMention as NativeProps['onStartMention']}
|
|
716
774
|
onChangeMention={handleChangeMention as NativeProps['onChangeMention']}
|
|
717
775
|
onEndMention={handleEndMention as NativeProps['onEndMention']}
|
|
776
|
+
// Explicitly pass through hitSlop because the native view subclasses
|
|
777
|
+
// RCTViewComponentView and makes use of hitSlop too
|
|
778
|
+
hitSlop={hitSlop}
|
|
718
779
|
{...rest}
|
|
780
|
+
{...pressabilityHandlers}
|
|
719
781
|
/>
|
|
720
782
|
);
|
|
721
783
|
};
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* registry so it participates in RN's keyboard-dismiss behavior (issue #577).
|
|
4
4
|
*
|
|
5
5
|
* Registering a non-TextInput host component is safe: TextInputState's
|
|
6
|
-
* blurTextInput
|
|
7
|
-
*
|
|
8
|
-
* as long as the component ships
|
|
6
|
+
* focusTextInput and blurTextInput dispatch the built-in TextInput's "focus"
|
|
7
|
+
* and "blur" commands at the given instance, and Fabric command dispatch is
|
|
8
|
+
* name-based — it works as long as the component ships commands with those
|
|
9
|
+
* names, which ours does.
|
|
9
10
|
*
|
|
10
11
|
* A deep import is required because the public TextInput.State API lacks the
|
|
11
12
|
* registerInput/focusInput/blurInput bookkeeping functions.
|
|
@@ -17,6 +18,7 @@ interface TextInputStateModule {
|
|
|
17
18
|
unregisterInput(input: HostInstance): void;
|
|
18
19
|
focusInput(input: HostInstance | null): void;
|
|
19
20
|
blurInput(input: HostInstance | null): void;
|
|
21
|
+
focusTextInput(input: HostInstance | null): void;
|
|
20
22
|
blurTextInput(input: HostInstance | null): void;
|
|
21
23
|
currentlyFocusedInput(): HostInstance | null;
|
|
22
24
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep import of React Native's `usePressability`.
|
|
3
|
+
*
|
|
4
|
+
* The hook only became a root `react-native` export around 0.84. The peer
|
|
5
|
+
* dependency is `react-native: "*"`, so a named root import is `undefined`
|
|
6
|
+
* before that.
|
|
7
|
+
*
|
|
8
|
+
* `Libraries/Pressability/usePressability.js` exists on those versions, so
|
|
9
|
+
* we use that deep import instead.
|
|
10
|
+
*
|
|
11
|
+
* The export shape has changed across versions: newer ones use `export
|
|
12
|
+
* default` (surfacing as `.default` after Metro's CJS transform) while older
|
|
13
|
+
* ones assigned `module.exports` directly. A raw require bypasses Babel's
|
|
14
|
+
* import interop, so both shapes are handled here.
|
|
15
|
+
*/
|
|
16
|
+
import type {
|
|
17
|
+
PressabilityConfig,
|
|
18
|
+
PressabilityEventHandlers,
|
|
19
|
+
} from 'react-native';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Copied from the type for usePressability in
|
|
23
|
+
* packages/react-native-enriched-markdown/node_modules/react-native/types_generated/Libraries/Pressability/usePressability.d.ts
|
|
24
|
+
*/
|
|
25
|
+
type UsePressability = (
|
|
26
|
+
config: null | undefined | PressabilityConfig
|
|
27
|
+
) => null | PressabilityEventHandlers;
|
|
28
|
+
|
|
29
|
+
const usePressabilityModule =
|
|
30
|
+
// eslint-disable-next-line @react-native/no-deep-imports
|
|
31
|
+
require('react-native/Libraries/Pressability/usePressability');
|
|
32
|
+
|
|
33
|
+
export const usePressability = (usePressabilityModule.default ??
|
|
34
|
+
usePressabilityModule) as UsePressability;
|