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.
@@ -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
- eventEmitter.emitSelection(selStart, selEnd)
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
- fun requestFocusProgrammatically() {
1040
- requestFocus()
1041
- inputMethodManager?.showSoftInput(this, 0)
1042
- setSelection(selectionStart.coerceAtLeast(0))
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() {
@@ -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
- private fun dispatch(event: Event<*>) {
240
- if (view.editSession.shouldSuppressEvents) return
241
- val reactContext = view.context as? ReactContext ?: return
242
- val dispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, view.id)
243
- dispatcher?.dispatchEvent(event)
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
  }
@@ -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
- ...rest
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 dispatches the built-in TextInput's "blur" command at the
9
- * registered instance, and Fabric command dispatch is name-based — it works
10
- * as long as the component ships a command with that name, which ours does.
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;;AAYA;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":[]}
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":"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"}
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 dispatches the built-in TextInput's "blur" command at the
7
- * registered instance, and Fabric command dispatch is name-based — it works
8
- * as long as the component ships a command with that name, which ours does.
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;;;;;;;;;;;GAWG;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,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-enriched-markdown",
3
- "version": "1.1.0",
3
+ "version": "1.2.0-nightly-20261002-c10ab5683",
4
4
  "description": "Markdown-based Rich Text solution for React Native",
5
5
  "main": "./lib/module/index",
6
6
  "module": "./lib/module/index",
@@ -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 extends Omit<
216
- ViewProps,
217
- 'style' | 'children'
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 dispatches the built-in TextInput's "blur" command at the
7
- * registered instance, and Fabric command dispatch is name-based — it works
8
- * as long as the component ships a command with that name, which ours does.
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;