@expensify/react-native-live-markdown 0.1.36 → 0.1.38

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.
@@ -120,6 +120,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
120
120
  autoFocus = false
121
121
  }, ref) => {
122
122
  const compositionRef = (0, _react.useRef)(false);
123
+ const pasteRef = (0, _react.useRef)(false);
123
124
  const divRef = (0, _react.useRef)(null);
124
125
  const currentlyFocusedField = (0, _react.useRef)(null);
125
126
  const contentSelection = (0, _react.useRef)(null);
@@ -164,7 +165,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
164
165
  parseText(divRef.current, divRef.current.innerText, newMarkdownStyle);
165
166
  }
166
167
  return newMarkdownStyle;
167
- }, [markdownStyle]);
168
+ }, [markdownStyle, parseText]);
168
169
  const inputStyles = (0, _react.useMemo)(() => _reactNative.StyleSheet.flatten([styles.defaultInputStyles, flattenedStyle && {
169
170
  caretColor: flattenedStyle.color || 'black'
170
171
  }, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
@@ -172,12 +173,12 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
172
173
  if (!history.current) return '';
173
174
  const item = history.current.undo();
174
175
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
175
- }, [processedMarkdownStyle]);
176
+ }, [parseText, processedMarkdownStyle]);
176
177
  const redo = (0, _react.useCallback)(target => {
177
178
  if (!history.current) return '';
178
179
  const item = history.current.redo();
179
180
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
180
- }, [processedMarkdownStyle]);
181
+ }, [parseText, processedMarkdownStyle]);
181
182
 
182
183
  // We have to process value property since contentEditable div adds one additional '\n' at the end of the text if we are entering new line
183
184
  const processedValue = (0, _react.useMemo)(() => {
@@ -191,7 +192,37 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
191
192
  const updateTextColor = (0, _react.useCallback)((node, text) => {
192
193
  // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
193
194
  node.style.color = String(placeholder && (text === '' || text === '\n') ? placeholderTextColor : flattenedStyle.color || 'black');
195
+ }, [flattenedStyle.color, placeholder, placeholderTextColor]);
196
+ const handleSelectionChange = (0, _react.useCallback)(event => {
197
+ const e = event;
198
+ setEventProps(e);
199
+ if (onSelectionChange && contentSelection.current) {
200
+ e.nativeEvent.selection = contentSelection.current;
201
+ onSelectionChange(e);
202
+ }
203
+ }, [onSelectionChange, setEventProps]);
204
+ const updateRefSelectionVariables = (0, _react.useCallback)(newSelection => {
205
+ const {
206
+ start,
207
+ end
208
+ } = newSelection;
209
+ const markdownHTMLInput = divRef.current;
210
+ markdownHTMLInput.selectionStart = start;
211
+ markdownHTMLInput.selectionEnd = end;
194
212
  }, []);
213
+ const updateSelection = (0, _react.useCallback)((e = null, predefinedSelection = null) => {
214
+ if (!divRef.current) {
215
+ return;
216
+ }
217
+ const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
218
+ if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
219
+ updateRefSelectionVariables(newSelection);
220
+ contentSelection.current = newSelection;
221
+ if (e) {
222
+ handleSelectionChange(e);
223
+ }
224
+ }
225
+ }, [handleSelectionChange, updateRefSelectionVariables]);
195
226
  const handleOnChangeText = (0, _react.useCallback)(e => {
196
227
  if (!divRef.current || !(e.target instanceof HTMLElement)) {
197
228
  return;
@@ -213,7 +244,10 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
213
244
  default:
214
245
  text = parseText(divRef.current, e.target.innerText, processedMarkdownStyle).text;
215
246
  }
216
- updateSelection(e);
247
+ if (pasteRef !== null && pasteRef !== void 0 && pasteRef.current) {
248
+ pasteRef.current = false;
249
+ updateSelection(e);
250
+ }
217
251
  updateTextColor(divRef.current, e.target.innerText);
218
252
  if (onChange) {
219
253
  const event = e;
@@ -224,37 +258,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
224
258
  const normalizedText = normalizeValue(text);
225
259
  onChangeText(normalizedText);
226
260
  }
227
- }, [multiline, onChange, onChangeText, setEventProps, processedMarkdownStyle]);
228
- const handleSelectionChange = (0, _react.useCallback)(event => {
229
- const e = event;
230
- setEventProps(e);
231
- if (onSelectionChange && contentSelection.current) {
232
- e.nativeEvent.selection = contentSelection.current;
233
- onSelectionChange(e);
234
- }
235
- }, [onSelectionChange, setEventProps]);
236
- const updateRefSelectionVariables = (0, _react.useCallback)(newSelection => {
237
- const {
238
- start,
239
- end
240
- } = newSelection;
241
- const markdownHTMLInput = divRef.current;
242
- markdownHTMLInput.selectionStart = start;
243
- markdownHTMLInput.selectionEnd = end;
244
- }, []);
245
- const updateSelection = (0, _react.useCallback)((e = null, predefinedSelection = null) => {
246
- if (!divRef.current) {
247
- return;
248
- }
249
- const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
250
- if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
251
- updateRefSelectionVariables(newSelection);
252
- contentSelection.current = newSelection;
253
- if (e) {
254
- handleSelectionChange(e);
255
- }
256
- }
257
- }, []);
261
+ }, [updateSelection, updateTextColor, onChange, onChangeText, undo, redo, parseText, processedMarkdownStyle, setEventProps]);
258
262
  const handleKeyPress = (0, _react.useCallback)(e => {
259
263
  if (!divRef.current) {
260
264
  return;
@@ -299,7 +303,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
299
303
  setTimeout(() => divRef.current && divRef.current.blur(), 0);
300
304
  }
301
305
  }
302
- }, [onKeyPress]);
306
+ }, [multiline, blurOnSubmit, setEventProps, onKeyPress, updateSelection, handleOnChangeText, onSubmitEditing]);
303
307
  const handleFocus = (0, _react.useCallback)(event => {
304
308
  const e = event;
305
309
  const hostNode = e.target;
@@ -331,7 +335,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
331
335
  }, 0);
332
336
  }
333
337
  }
334
- }, [clearTextOnFocus, multiline, onFocus, selectTextOnFocus, setEventProps]);
338
+ }, [clearTextOnFocus, onFocus, selectTextOnFocus, setEventProps, updateSelection, value]);
335
339
  const handleBlur = (0, _react.useCallback)(event => {
336
340
  const e = event;
337
341
  CursorUtils.removeSelection();
@@ -348,7 +352,10 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
348
352
  }
349
353
  e.target.value = normalizeValue(divRef.current.innerText || '');
350
354
  onClick(e);
351
- }, [onClick]);
355
+ }, [onClick, updateSelection]);
356
+ const handlePaste = (0, _react.useCallback)(() => {
357
+ pasteRef.current = true;
358
+ }, []);
352
359
  const startComposition = (0, _react.useCallback)(() => {
353
360
  compositionRef.current = true;
354
361
  }, []);
@@ -403,7 +410,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
403
410
  if (autoFocus) {
404
411
  divRef.current.focus();
405
412
  }
406
- }, []);
413
+ }, [autoFocus]);
407
414
  (0, _react.useEffect)(() => {
408
415
  if (!divRef.current || !selection || contentSelection.current && selection.start === contentSelection.current.start && selection.end === contentSelection.current.end) {
409
416
  return;
@@ -413,7 +420,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
413
420
  start: selection.start,
414
421
  end: selection.end || selection.start
415
422
  });
416
- }, [selection]);
423
+ }, [selection, updateSelection]);
417
424
  return (
418
425
  /*#__PURE__*/
419
426
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
@@ -436,6 +443,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
436
443
  onClick: handleClick,
437
444
  onFocus: handleFocus,
438
445
  onBlur: handleBlur,
446
+ onPaste: handlePaste,
439
447
  placeholder: heightSafePlaceholder,
440
448
  spellCheck: spellCheck,
441
449
  dir: dir
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","ParseUtils","CursorUtils","StyleUtils","_InputHistory","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useClientEffect","window","useEffect","useLayoutEffect","createReactDOMStyle","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","keys","forEach","key","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","React","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","selectTextOnFocus","spellCheck","selection","autoFocus","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","setEventProps","useCallback","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","predefinedSelection","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","ParseUtils","CursorUtils","StyleUtils","_InputHistory","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useClientEffect","window","useEffect","useLayoutEffect","createReactDOMStyle","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","keys","forEach","key","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","React","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","selectTextOnFocus","spellCheck","selection","autoFocus","ref","compositionRef","useRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","setEventProps","useCallback","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","updateSelection","predefinedSelection","getCurrentCursorPosition","handleOnChangeText","HTMLElement","inputType","normalizedText","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","startComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -111,6 +111,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
111
111
  autoFocus = false
112
112
  }, ref) => {
113
113
  const compositionRef = useRef(false);
114
+ const pasteRef = useRef(false);
114
115
  const divRef = useRef(null);
115
116
  const currentlyFocusedField = useRef(null);
116
117
  const contentSelection = useRef(null);
@@ -155,7 +156,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
155
156
  parseText(divRef.current, divRef.current.innerText, newMarkdownStyle);
156
157
  }
157
158
  return newMarkdownStyle;
158
- }, [markdownStyle]);
159
+ }, [markdownStyle, parseText]);
159
160
  const inputStyles = useMemo(() => StyleSheet.flatten([styles.defaultInputStyles, flattenedStyle && {
160
161
  caretColor: flattenedStyle.color || 'black'
161
162
  }, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
@@ -163,12 +164,12 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
163
164
  if (!history.current) return '';
164
165
  const item = history.current.undo();
165
166
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
166
- }, [processedMarkdownStyle]);
167
+ }, [parseText, processedMarkdownStyle]);
167
168
  const redo = useCallback(target => {
168
169
  if (!history.current) return '';
169
170
  const item = history.current.redo();
170
171
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
171
- }, [processedMarkdownStyle]);
172
+ }, [parseText, processedMarkdownStyle]);
172
173
 
173
174
  // We have to process value property since contentEditable div adds one additional '\n' at the end of the text if we are entering new line
174
175
  const processedValue = useMemo(() => {
@@ -182,7 +183,37 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
182
183
  const updateTextColor = useCallback((node, text) => {
183
184
  // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
184
185
  node.style.color = String(placeholder && (text === '' || text === '\n') ? placeholderTextColor : flattenedStyle.color || 'black');
186
+ }, [flattenedStyle.color, placeholder, placeholderTextColor]);
187
+ const handleSelectionChange = useCallback(event => {
188
+ const e = event;
189
+ setEventProps(e);
190
+ if (onSelectionChange && contentSelection.current) {
191
+ e.nativeEvent.selection = contentSelection.current;
192
+ onSelectionChange(e);
193
+ }
194
+ }, [onSelectionChange, setEventProps]);
195
+ const updateRefSelectionVariables = useCallback(newSelection => {
196
+ const {
197
+ start,
198
+ end
199
+ } = newSelection;
200
+ const markdownHTMLInput = divRef.current;
201
+ markdownHTMLInput.selectionStart = start;
202
+ markdownHTMLInput.selectionEnd = end;
185
203
  }, []);
204
+ const updateSelection = useCallback((e = null, predefinedSelection = null) => {
205
+ if (!divRef.current) {
206
+ return;
207
+ }
208
+ const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
209
+ if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
210
+ updateRefSelectionVariables(newSelection);
211
+ contentSelection.current = newSelection;
212
+ if (e) {
213
+ handleSelectionChange(e);
214
+ }
215
+ }
216
+ }, [handleSelectionChange, updateRefSelectionVariables]);
186
217
  const handleOnChangeText = useCallback(e => {
187
218
  if (!divRef.current || !(e.target instanceof HTMLElement)) {
188
219
  return;
@@ -204,7 +235,10 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
204
235
  default:
205
236
  text = parseText(divRef.current, e.target.innerText, processedMarkdownStyle).text;
206
237
  }
207
- updateSelection(e);
238
+ if (pasteRef !== null && pasteRef !== void 0 && pasteRef.current) {
239
+ pasteRef.current = false;
240
+ updateSelection(e);
241
+ }
208
242
  updateTextColor(divRef.current, e.target.innerText);
209
243
  if (onChange) {
210
244
  const event = e;
@@ -215,37 +249,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
215
249
  const normalizedText = normalizeValue(text);
216
250
  onChangeText(normalizedText);
217
251
  }
218
- }, [multiline, onChange, onChangeText, setEventProps, processedMarkdownStyle]);
219
- const handleSelectionChange = useCallback(event => {
220
- const e = event;
221
- setEventProps(e);
222
- if (onSelectionChange && contentSelection.current) {
223
- e.nativeEvent.selection = contentSelection.current;
224
- onSelectionChange(e);
225
- }
226
- }, [onSelectionChange, setEventProps]);
227
- const updateRefSelectionVariables = useCallback(newSelection => {
228
- const {
229
- start,
230
- end
231
- } = newSelection;
232
- const markdownHTMLInput = divRef.current;
233
- markdownHTMLInput.selectionStart = start;
234
- markdownHTMLInput.selectionEnd = end;
235
- }, []);
236
- const updateSelection = useCallback((e = null, predefinedSelection = null) => {
237
- if (!divRef.current) {
238
- return;
239
- }
240
- const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
241
- if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
242
- updateRefSelectionVariables(newSelection);
243
- contentSelection.current = newSelection;
244
- if (e) {
245
- handleSelectionChange(e);
246
- }
247
- }
248
- }, []);
252
+ }, [updateSelection, updateTextColor, onChange, onChangeText, undo, redo, parseText, processedMarkdownStyle, setEventProps]);
249
253
  const handleKeyPress = useCallback(e => {
250
254
  if (!divRef.current) {
251
255
  return;
@@ -290,7 +294,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
290
294
  setTimeout(() => divRef.current && divRef.current.blur(), 0);
291
295
  }
292
296
  }
293
- }, [onKeyPress]);
297
+ }, [multiline, blurOnSubmit, setEventProps, onKeyPress, updateSelection, handleOnChangeText, onSubmitEditing]);
294
298
  const handleFocus = useCallback(event => {
295
299
  const e = event;
296
300
  const hostNode = e.target;
@@ -322,7 +326,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
322
326
  }, 0);
323
327
  }
324
328
  }
325
- }, [clearTextOnFocus, multiline, onFocus, selectTextOnFocus, setEventProps]);
329
+ }, [clearTextOnFocus, onFocus, selectTextOnFocus, setEventProps, updateSelection, value]);
326
330
  const handleBlur = useCallback(event => {
327
331
  const e = event;
328
332
  CursorUtils.removeSelection();
@@ -339,7 +343,10 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
339
343
  }
340
344
  e.target.value = normalizeValue(divRef.current.innerText || '');
341
345
  onClick(e);
342
- }, [onClick]);
346
+ }, [onClick, updateSelection]);
347
+ const handlePaste = useCallback(() => {
348
+ pasteRef.current = true;
349
+ }, []);
343
350
  const startComposition = useCallback(() => {
344
351
  compositionRef.current = true;
345
352
  }, []);
@@ -394,7 +401,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
394
401
  if (autoFocus) {
395
402
  divRef.current.focus();
396
403
  }
397
- }, []);
404
+ }, [autoFocus]);
398
405
  useEffect(() => {
399
406
  if (!divRef.current || !selection || contentSelection.current && selection.start === contentSelection.current.start && selection.end === contentSelection.current.end) {
400
407
  return;
@@ -404,7 +411,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
404
411
  start: selection.start,
405
412
  end: selection.end || selection.start
406
413
  });
407
- }, [selection]);
414
+ }, [selection, updateSelection]);
408
415
  return (
409
416
  /*#__PURE__*/
410
417
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
@@ -427,6 +434,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
427
434
  onClick: handleClick,
428
435
  onFocus: handleFocus,
429
436
  onBlur: handleBlur,
437
+ onPaste: handlePaste,
430
438
  placeholder: heightSafePlaceholder,
431
439
  spellCheck: spellCheck,
432
440
  dir: dir
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","Object","keys","forEach","key","obj","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","selectTextOnFocus","spellCheck","selection","autoFocus","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleOnChangeText","HTMLElement","inputType","updateSelection","event","normalizedText","handleSelectionChange","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","predefinedSelection","getCurrentCursorPosition","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","ParseUtils","CursorUtils","StyleUtils","InputHistory","require","useClientEffect","window","createReactDOMStyle","default","e","Error","preprocessStyle","dangerousStyleValue","focusTimeout","normalizeValue","value","replace","isEventComposing","nativeEvent","isComposing","keyCode","ZERO_WIDTH_SPACE","getPlaceholderValue","placeholder","length","processUnitsInMarkdownStyle","input","output","JSON","parse","stringify","Object","keys","forEach","key","obj","prop","processMarkdownStyle","mergeMarkdownStyleWithDefault","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","assign","style","innerText","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","selectTextOnFocus","spellCheck","selection","autoFocus","ref","compositionRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","debouncedAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","redo","processedValue","updateTextColor","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","updateSelection","predefinedSelection","getCurrentCursorPosition","handleOnChangeText","HTMLElement","inputType","normalizedText","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","valueLength","setCursorPosition","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","startComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onKeyUp","onInput","onPaste","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","whiteSpace","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownTextInput.web.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInput.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAKT,cAAc,EAGf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAK5I,OAAO,KAAK,KAAK,6CAA6C,MAAM,iDAAiD,CAAC;AACtH,OAAO,6BAA6B,CAAC;AAkCrC,KAAK,aAAa,GAAG,6CAA6C,CAAC,aAAa,CAAC;AAEjF,UAAU,sBAAuB,SAAQ,cAAc;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkED,QAAA,MAAM,iBAAiB,0FAobtB,CAAC;AAqBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAC,CAAC"}
1
+ {"version":3,"file":"MarkdownTextInput.web.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInput.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EAKT,cAAc,EAGf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAgC,MAAM,OAAO,CAAC;AAK5I,OAAO,KAAK,KAAK,6CAA6C,MAAM,iDAAiD,CAAC;AACtH,OAAO,6BAA6B,CAAC;AAkCrC,KAAK,aAAa,GAAG,6CAA6C,CAAC,aAAa,CAAC;AAEjF,UAAU,sBAAuB,SAAQ,cAAc;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkED,QAAA,MAAM,iBAAiB,0FAmctB,CAAC;AAqBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "Drop-in replacement for React Native's TextInput component with Markdown formatting.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -158,6 +158,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
158
158
  ref,
159
159
  ) => {
160
160
  const compositionRef = useRef<boolean>(false);
161
+ const pasteRef = useRef<boolean>(false);
161
162
  const divRef = useRef<HTMLDivElement | null>(null);
162
163
  const currentlyFocusedField = useRef<HTMLDivElement | null>(null);
163
164
  const contentSelection = useRef<Selection | null>(null);
@@ -207,7 +208,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
207
208
  parseText(divRef.current, divRef.current.innerText, newMarkdownStyle);
208
209
  }
209
210
  return newMarkdownStyle;
210
- }, [markdownStyle]);
211
+ }, [markdownStyle, parseText]);
211
212
 
212
213
  const inputStyles = useMemo(
213
214
  () =>
@@ -228,7 +229,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
228
229
  const item = history.current.undo();
229
230
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
230
231
  },
231
- [processedMarkdownStyle],
232
+ [parseText, processedMarkdownStyle],
232
233
  );
233
234
 
234
235
  const redo = useCallback(
@@ -237,7 +238,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
237
238
  const item = history.current.redo();
238
239
  return parseText(target, item ? item.text : null, processedMarkdownStyle, item ? item.cursorPosition : null, false).text;
239
240
  },
240
- [processedMarkdownStyle],
241
+ [parseText, processedMarkdownStyle],
241
242
  );
242
243
 
243
244
  // We have to process value property since contentEditable div adds one additional '\n' at the end of the text if we are entering new line
@@ -249,11 +250,52 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
249
250
  }, [value]);
250
251
 
251
252
  // Placeholder text color logic
252
- const updateTextColor = useCallback((node: HTMLDivElement, text: string) => {
253
- // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
254
- node.style.color = String(placeholder && (text === '' || text === '\n') ? placeholderTextColor : flattenedStyle.color || 'black');
253
+ const updateTextColor = useCallback(
254
+ (node: HTMLDivElement, text: string) => {
255
+ // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
256
+ node.style.color = String(placeholder && (text === '' || text === '\n') ? placeholderTextColor : flattenedStyle.color || 'black');
257
+ },
258
+ [flattenedStyle.color, placeholder, placeholderTextColor],
259
+ );
260
+
261
+ const handleSelectionChange: ReactEventHandler<HTMLDivElement> = useCallback(
262
+ (event) => {
263
+ const e = event as unknown as NativeSyntheticEvent<TextInputSelectionChangeEventData>;
264
+ setEventProps(e);
265
+ if (onSelectionChange && contentSelection.current) {
266
+ e.nativeEvent.selection = contentSelection.current;
267
+ onSelectionChange(e);
268
+ }
269
+ },
270
+ [onSelectionChange, setEventProps],
271
+ );
272
+
273
+ const updateRefSelectionVariables = useCallback((newSelection: Selection) => {
274
+ const {start, end} = newSelection;
275
+ const markdownHTMLInput = divRef.current as HTMLInputElement;
276
+ markdownHTMLInput.selectionStart = start;
277
+ markdownHTMLInput.selectionEnd = end;
255
278
  }, []);
256
279
 
280
+ const updateSelection = useCallback(
281
+ (e: SyntheticEvent<HTMLDivElement> | null = null, predefinedSelection: Selection | null = null) => {
282
+ if (!divRef.current) {
283
+ return;
284
+ }
285
+ const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
286
+
287
+ if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
288
+ updateRefSelectionVariables(newSelection);
289
+ contentSelection.current = newSelection;
290
+
291
+ if (e) {
292
+ handleSelectionChange(e);
293
+ }
294
+ }
295
+ },
296
+ [handleSelectionChange, updateRefSelectionVariables],
297
+ );
298
+
257
299
  const handleOnChangeText = useCallback(
258
300
  (e: SyntheticEvent<HTMLDivElement>) => {
259
301
  if (!divRef.current || !(e.target instanceof HTMLElement)) {
@@ -278,7 +320,10 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
278
320
  default:
279
321
  text = parseText(divRef.current, e.target.innerText, processedMarkdownStyle).text;
280
322
  }
281
- updateSelection(e);
323
+ if (pasteRef?.current) {
324
+ pasteRef.current = false;
325
+ updateSelection(e);
326
+ }
282
327
  updateTextColor(divRef.current, e.target.innerText);
283
328
 
284
329
  if (onChange) {
@@ -292,44 +337,9 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
292
337
  onChangeText(normalizedText);
293
338
  }
294
339
  },
295
- [multiline, onChange, onChangeText, setEventProps, processedMarkdownStyle],
340
+ [updateSelection, updateTextColor, onChange, onChangeText, undo, redo, parseText, processedMarkdownStyle, setEventProps],
296
341
  );
297
342
 
298
- const handleSelectionChange: ReactEventHandler<HTMLDivElement> = useCallback(
299
- (event) => {
300
- const e = event as unknown as NativeSyntheticEvent<TextInputSelectionChangeEventData>;
301
- setEventProps(e);
302
- if (onSelectionChange && contentSelection.current) {
303
- e.nativeEvent.selection = contentSelection.current;
304
- onSelectionChange(e);
305
- }
306
- },
307
- [onSelectionChange, setEventProps],
308
- );
309
-
310
- const updateRefSelectionVariables = useCallback((newSelection: Selection) => {
311
- const {start, end} = newSelection;
312
- const markdownHTMLInput = divRef.current as HTMLInputElement;
313
- markdownHTMLInput.selectionStart = start;
314
- markdownHTMLInput.selectionEnd = end;
315
- }, []);
316
-
317
- const updateSelection = useCallback((e: SyntheticEvent<HTMLDivElement> | null = null, predefinedSelection: Selection | null = null) => {
318
- if (!divRef.current) {
319
- return;
320
- }
321
- const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
322
-
323
- if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
324
- updateRefSelectionVariables(newSelection);
325
- contentSelection.current = newSelection;
326
-
327
- if (e) {
328
- handleSelectionChange(e);
329
- }
330
- }
331
- }, []);
332
-
333
343
  const handleKeyPress = useCallback(
334
344
  (e: KeyboardEvent<HTMLDivElement>) => {
335
345
  if (!divRef.current) {
@@ -388,7 +398,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
388
398
  }
389
399
  }
390
400
  },
391
- [onKeyPress],
401
+ [multiline, blurOnSubmit, setEventProps, onKeyPress, updateSelection, handleOnChangeText, onSubmitEditing],
392
402
  );
393
403
 
394
404
  const handleFocus: FocusEventHandler<HTMLDivElement> = useCallback(
@@ -426,7 +436,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
426
436
  }
427
437
  }
428
438
  },
429
- [clearTextOnFocus, multiline, onFocus, selectTextOnFocus, setEventProps],
439
+ [clearTextOnFocus, onFocus, selectTextOnFocus, setEventProps, updateSelection, value],
430
440
  );
431
441
 
432
442
  const handleBlur: FocusEventHandler<HTMLDivElement> = useCallback(
@@ -451,9 +461,13 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
451
461
  (e.target as HTMLInputElement).value = normalizeValue(divRef.current.innerText || '');
452
462
  onClick(e);
453
463
  },
454
- [onClick],
464
+ [onClick, updateSelection],
455
465
  );
456
466
 
467
+ const handlePaste = useCallback(() => {
468
+ pasteRef.current = true;
469
+ }, []);
470
+
457
471
  const startComposition = useCallback(() => {
458
472
  compositionRef.current = true;
459
473
  }, []);
@@ -522,7 +536,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
522
536
  if (autoFocus) {
523
537
  divRef.current.focus();
524
538
  }
525
- }, []);
539
+ }, [autoFocus]);
526
540
 
527
541
  useEffect(() => {
528
542
  if (!divRef.current || !selection || (contentSelection.current && selection.start === contentSelection.current.start && selection.end === contentSelection.current.end)) {
@@ -530,7 +544,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
530
544
  }
531
545
  CursorUtils.setCursorPosition(divRef.current, selection.start, selection.end);
532
546
  updateSelection(null, {start: selection.start, end: selection.end || selection.start});
533
- }, [selection]);
547
+ }, [selection, updateSelection]);
534
548
 
535
549
  return (
536
550
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
@@ -553,6 +567,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
553
567
  onClick={handleClick}
554
568
  onFocus={handleFocus}
555
569
  onBlur={handleBlur}
570
+ onPaste={handlePaste}
556
571
  placeholder={heightSafePlaceholder}
557
572
  spellCheck={spellCheck}
558
573
  dir={dir}