@expensify/react-native-live-markdown 0.1.115 → 0.1.117

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.
Files changed (90) hide show
  1. package/lib/commonjs/MarkdownTextInput.js +2 -4
  2. package/lib/commonjs/MarkdownTextInput.js.map +1 -1
  3. package/lib/commonjs/MarkdownTextInput.web.js +105 -149
  4. package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
  5. package/lib/commonjs/styleUtils.js.map +1 -1
  6. package/lib/commonjs/web/utils/blockUtils.js +77 -0
  7. package/lib/commonjs/web/utils/blockUtils.js.map +1 -0
  8. package/lib/commonjs/web/utils/browserUtils.js +18 -0
  9. package/lib/commonjs/web/utils/browserUtils.js.map +1 -0
  10. package/lib/commonjs/web/utils/cursorUtils.js +111 -0
  11. package/lib/commonjs/web/utils/cursorUtils.js.map +1 -0
  12. package/lib/commonjs/web/utils/inputUtils.js +108 -0
  13. package/lib/commonjs/web/utils/inputUtils.js.map +1 -0
  14. package/lib/commonjs/web/utils/parserUtils.js +266 -0
  15. package/lib/commonjs/web/utils/parserUtils.js.map +1 -0
  16. package/lib/commonjs/web/utils/treeUtils.js +85 -0
  17. package/lib/commonjs/web/utils/treeUtils.js.map +1 -0
  18. package/lib/commonjs/web/utils/webStyleUtils.js +51 -0
  19. package/lib/commonjs/web/utils/webStyleUtils.js.map +1 -0
  20. package/lib/module/MarkdownTextInput.js +2 -2
  21. package/lib/module/MarkdownTextInput.js.map +1 -1
  22. package/lib/module/MarkdownTextInput.web.js +101 -145
  23. package/lib/module/MarkdownTextInput.web.js.map +1 -1
  24. package/lib/module/styleUtils.js.map +1 -1
  25. package/lib/module/web/utils/blockUtils.js +72 -0
  26. package/lib/module/web/utils/blockUtils.js.map +1 -0
  27. package/lib/module/web/utils/browserUtils.js +12 -0
  28. package/lib/module/web/utils/browserUtils.js.map +1 -0
  29. package/lib/module/web/utils/cursorUtils.js +102 -0
  30. package/lib/module/web/utils/cursorUtils.js.map +1 -0
  31. package/lib/module/web/utils/inputUtils.js +99 -0
  32. package/lib/module/web/utils/inputUtils.js.map +1 -0
  33. package/lib/module/web/utils/parserUtils.js +260 -0
  34. package/lib/module/web/utils/parserUtils.js.map +1 -0
  35. package/lib/module/web/utils/treeUtils.js +78 -0
  36. package/lib/module/web/utils/treeUtils.js.map +1 -0
  37. package/lib/module/web/utils/webStyleUtils.js +45 -0
  38. package/lib/module/web/utils/webStyleUtils.js.map +1 -0
  39. package/lib/typescript/src/MarkdownTextInput.d.ts +1 -2
  40. package/lib/typescript/src/MarkdownTextInput.d.ts.map +1 -1
  41. package/lib/typescript/src/MarkdownTextInput.web.d.ts +9 -3
  42. package/lib/typescript/src/MarkdownTextInput.web.d.ts.map +1 -1
  43. package/lib/typescript/src/styleUtils.d.ts +1 -2
  44. package/lib/typescript/src/styleUtils.d.ts.map +1 -1
  45. package/lib/typescript/src/web/utils/blockUtils.d.ts +5 -0
  46. package/lib/typescript/src/web/utils/blockUtils.d.ts.map +1 -0
  47. package/lib/typescript/src/web/utils/browserUtils.d.ts +12 -0
  48. package/lib/typescript/src/web/utils/browserUtils.d.ts.map +1 -0
  49. package/lib/typescript/src/web/utils/cursorUtils.d.ts +12 -0
  50. package/lib/typescript/src/web/utils/cursorUtils.d.ts.map +1 -0
  51. package/lib/typescript/src/web/utils/inputUtils.d.ts +9 -0
  52. package/lib/typescript/src/web/utils/inputUtils.d.ts.map +1 -0
  53. package/lib/typescript/src/web/utils/parserUtils.d.ts +22 -0
  54. package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -0
  55. package/lib/typescript/src/web/utils/treeUtils.d.ts +17 -0
  56. package/lib/typescript/src/web/utils/treeUtils.d.ts.map +1 -0
  57. package/lib/typescript/src/web/utils/webStyleUtils.d.ts +6 -0
  58. package/lib/typescript/src/web/utils/webStyleUtils.d.ts.map +1 -0
  59. package/package.json +1 -1
  60. package/src/MarkdownTextInput.tsx +4 -7
  61. package/src/MarkdownTextInput.web.tsx +142 -171
  62. package/src/styleUtils.ts +1 -3
  63. package/src/web/utils/blockUtils.ts +72 -0
  64. package/src/web/utils/browserUtils.ts +13 -0
  65. package/src/web/utils/cursorUtils.ts +116 -0
  66. package/src/web/utils/inputUtils.ts +106 -0
  67. package/src/web/utils/parserUtils.ts +302 -0
  68. package/src/web/utils/treeUtils.ts +103 -0
  69. package/src/web/utils/webStyleUtils.ts +54 -0
  70. package/lib/commonjs/web/browserUtils.js +0 -16
  71. package/lib/commonjs/web/browserUtils.js.map +0 -1
  72. package/lib/commonjs/web/cursorUtils.js +0 -156
  73. package/lib/commonjs/web/cursorUtils.js.map +0 -1
  74. package/lib/commonjs/web/parserUtils.js +0 -214
  75. package/lib/commonjs/web/parserUtils.js.map +0 -1
  76. package/lib/module/web/browserUtils.js +0 -11
  77. package/lib/module/web/browserUtils.js.map +0 -1
  78. package/lib/module/web/cursorUtils.js +0 -143
  79. package/lib/module/web/cursorUtils.js.map +0 -1
  80. package/lib/module/web/parserUtils.js +0 -206
  81. package/lib/module/web/parserUtils.js.map +0 -1
  82. package/lib/typescript/src/web/browserUtils.d.ts +0 -10
  83. package/lib/typescript/src/web/browserUtils.d.ts.map +0 -1
  84. package/lib/typescript/src/web/cursorUtils.d.ts +0 -12
  85. package/lib/typescript/src/web/cursorUtils.d.ts.map +0 -1
  86. package/lib/typescript/src/web/parserUtils.d.ts +0 -17
  87. package/lib/typescript/src/web/parserUtils.d.ts.map +0 -1
  88. package/src/web/browserUtils.ts +0 -11
  89. package/src/web/cursorUtils.ts +0 -165
  90. package/src/web/parserUtils.ts +0 -228
@@ -2,88 +2,15 @@
2
2
 
3
3
  import React, { useEffect, useRef, useCallback, useMemo, useLayoutEffect } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
- import * as ParseUtils from './web/parserUtils';
6
- import * as CursorUtils from './web/cursorUtils';
7
- import * as StyleUtils from './styleUtils';
8
- import './web/MarkdownTextInput.css';
5
+ import { updateInputStructure } from './web/utils/parserUtils';
9
6
  import InputHistory from './web/InputHistory';
7
+ import { getCurrentCursorPosition, removeSelection, setCursorPosition } from './web/utils/cursorUtils';
8
+ import './web/MarkdownTextInput.css';
9
+ import { getElementHeight, getPlaceholderValue, isEventComposing, normalizeValue, parseInnerHTMLToText } from './web/utils/inputUtils';
10
+ import { parseToReactDOMStyle, processMarkdownStyle } from './web/utils/webStyleUtils';
10
11
  require('../parser/react-native-live-markdown-parser.js');
11
12
  const useClientEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;
12
- let createReactDOMStyle;
13
- try {
14
- createReactDOMStyle =
15
- // eslint-disable-next-line @typescript-eslint/no-var-requires
16
- require('react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle').default;
17
- } catch (e) {
18
- throw new Error('[react-native-live-markdown] Function `createReactDOMStyle` from react-native-web not found. Please make sure that you are using React Native Web 0.18 or newer.');
19
- }
20
- let preprocessStyle;
21
- try {
22
- preprocessStyle =
23
- // eslint-disable-next-line @typescript-eslint/no-var-requires
24
- require('react-native-web/dist/exports/StyleSheet/preprocess').default;
25
- } catch (e) {
26
- throw new Error('[react-native-live-markdown] Function `preprocessStyle` from react-native-web not found.');
27
- }
28
- let dangerousStyleValue;
29
- try {
30
- dangerousStyleValue =
31
- // eslint-disable-next-line @typescript-eslint/no-var-requires
32
- require('react-native-web/dist/modules/setValueForStyles/dangerousStyleValue').default;
33
- } catch (e) {
34
- throw new Error('[react-native-live-markdown] Function `dangerousStyleValue` from react-native-web not found.');
35
- }
36
13
  let focusTimeout = null;
37
-
38
- // Removes one '\n' from the end of the string that were added by contentEditable div
39
- function normalizeValue(value) {
40
- return value.replace(/\n$/, '');
41
- }
42
- // Adds one '\n' at the end of the string if it's missing
43
- function denormalizeValue(value) {
44
- return value.endsWith('\n') ? `${value}\n` : value;
45
- }
46
-
47
- // If an Input Method Editor is processing key input, the 'keyCode' is 229.
48
- // https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
49
- function isEventComposing(nativeEvent) {
50
- return nativeEvent.isComposing || nativeEvent.keyCode === 229;
51
- }
52
- const ZERO_WIDTH_SPACE = '\u200B';
53
- function getPlaceholderValue(placeholder) {
54
- if (!placeholder) {
55
- return ZERO_WIDTH_SPACE;
56
- }
57
- return placeholder.length ? placeholder : ZERO_WIDTH_SPACE;
58
- }
59
- function processUnitsInMarkdownStyle(input) {
60
- const output = JSON.parse(JSON.stringify(input));
61
- Object.keys(output).forEach(key => {
62
- const obj = output[key];
63
- Object.keys(obj).forEach(prop => {
64
- obj[prop] = dangerousStyleValue(prop, obj[prop], false);
65
- });
66
- });
67
- return output;
68
- }
69
- function processMarkdownStyle(input) {
70
- return processUnitsInMarkdownStyle(StyleUtils.mergeMarkdownStyleWithDefault(input));
71
- }
72
- function getElementHeight(node, styles, numberOfLines) {
73
- if (numberOfLines) {
74
- const tempElement = document.createElement('div');
75
- tempElement.setAttribute('contenteditable', 'true');
76
- Object.assign(tempElement.style, styles);
77
- tempElement.innerText = Array(numberOfLines).fill('A').join('\n');
78
- if (node.parentElement) {
79
- node.parentElement.appendChild(tempElement);
80
- const height = tempElement.clientHeight;
81
- node.parentElement.removeChild(tempElement);
82
- return height ? `${height}px` : 'auto';
83
- }
84
- }
85
- return styles.height ? `${styles.height}px` : 'auto';
86
- }
87
14
  const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
88
15
  accessibilityLabel,
89
16
  accessibilityLabelledBy,
@@ -118,13 +45,13 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
118
45
  inputMode
119
46
  }, ref) => {
120
47
  const compositionRef = useRef(false);
121
- const pasteRef = useRef(false);
122
48
  const divRef = useRef(null);
123
49
  const currentlyFocusedField = useRef(null);
124
50
  const contentSelection = useRef(null);
125
51
  const className = `react-native-live-markdown-input-${multiline ? 'multiline' : 'singleline'}`;
126
52
  const history = useRef();
127
- const dimensions = React.useRef(null);
53
+ const dimensions = useRef(null);
54
+ const pasteContent = useRef(null);
128
55
  if (!history.current) {
129
56
  history.current = new InputHistory(100, 150, value || '');
130
57
  }
@@ -134,7 +61,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
134
61
  const heightSafePlaceholder = useMemo(() => getPlaceholderValue(placeholder), [placeholder]);
135
62
  const setEventProps = useCallback(e => {
136
63
  if (divRef.current) {
137
- const text = normalizeValue(divRef.current.innerText || '');
64
+ const text = divRef.current.value;
138
65
  if (e.target) {
139
66
  // TODO: change the logic here so every event have value property
140
67
  e.target.value = text;
@@ -145,30 +72,36 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
145
72
  }
146
73
  return e;
147
74
  }, []);
148
- const parseText = useCallback((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true) => {
75
+ const parseText = useCallback((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false) => {
76
+ if (!divRef.current) {
77
+ return {
78
+ text: text || '',
79
+ cursorPosition: null
80
+ };
81
+ }
149
82
  if (text === null) {
150
83
  return {
151
- text: target.innerText,
84
+ text: divRef.current.value,
152
85
  cursorPosition: null
153
86
  };
154
87
  }
155
- const parsedText = ParseUtils.parseText(target, text, cursorPosition, customMarkdownStyles, !multiline);
88
+ const parsedText = updateInputStructure(target, text, cursorPosition, customMarkdownStyles, !multiline, shouldForceDOMUpdate);
89
+ divRef.current.value = parsedText.text;
156
90
  if (history.current && shouldAddToHistory) {
157
- // We need to normalize the value before saving it to the history to prevent situations when additional new lines break the cursor position calculation logic
158
- history.current.throttledAdd(normalizeValue(parsedText.text), parsedText.cursorPosition);
91
+ history.current.throttledAdd(parsedText.text, parsedText.cursorPosition);
159
92
  }
160
93
  return parsedText;
161
94
  }, [multiline]);
162
95
  const processedMarkdownStyle = useMemo(() => {
163
96
  const newMarkdownStyle = processMarkdownStyle(markdownStyle);
164
97
  if (divRef.current) {
165
- parseText(divRef.current, divRef.current.innerText, newMarkdownStyle, null, false);
98
+ parseText(divRef.current, divRef.current.value, newMarkdownStyle, null, false);
166
99
  }
167
100
  return newMarkdownStyle;
168
101
  }, [markdownStyle, parseText]);
169
102
  const inputStyles = useMemo(() => StyleSheet.flatten([styles.defaultInputStyles, flattenedStyle && {
170
103
  caretColor: flattenedStyle.color || 'black'
171
- }, disabled && styles.disabledInputStyles, createReactDOMStyle(preprocessStyle(flattenedStyle))]), [flattenedStyle, disabled]);
104
+ }, disabled && styles.disabledInputStyles, parseToReactDOMStyle(flattenedStyle)]), [flattenedStyle, disabled]);
172
105
  const undo = useCallback(target => {
173
106
  if (!history.current) {
174
107
  return {
@@ -177,7 +110,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
177
110
  };
178
111
  }
179
112
  const item = history.current.undo();
180
- const undoValue = item ? denormalizeValue(item.text) : null;
113
+ const undoValue = item ? item.text : null;
181
114
  return parseText(target, undoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
182
115
  }, [parseText, processedMarkdownStyle]);
183
116
  const redo = useCallback(target => {
@@ -188,18 +121,10 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
188
121
  };
189
122
  }
190
123
  const item = history.current.redo();
191
- const redoValue = item ? denormalizeValue(item.text) : null;
124
+ const redoValue = item ? item.text : null;
192
125
  return parseText(target, redoValue, processedMarkdownStyle, item ? item.cursorPosition : null, false);
193
126
  }, [parseText, processedMarkdownStyle]);
194
127
 
195
- // 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
196
- const processedValue = useMemo(() => {
197
- if (value && value[value.length - 1] === '\n') {
198
- return `${value}\n`;
199
- }
200
- return value;
201
- }, [value]);
202
-
203
128
  // Placeholder text color logic
204
129
  const updateTextColor = useCallback((node, text) => {
205
130
  // eslint-disable-next-line no-param-reassign -- we need to change the style of the node, so we need to modify it
@@ -226,7 +151,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
226
151
  if (!divRef.current) {
227
152
  return;
228
153
  }
229
- const newSelection = predefinedSelection || CursorUtils.getCurrentCursorPosition(divRef.current);
154
+ const newSelection = predefinedSelection || getCurrentCursorPosition(divRef.current);
230
155
  if (newSelection && (!contentSelection.current || contentSelection.current.start !== newSelection.start || contentSelection.current.end !== newSelection.end)) {
231
156
  updateRefSelectionVariables(newSelection);
232
157
  contentSelection.current = newSelection;
@@ -257,22 +182,29 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
257
182
  }
258
183
  }, [multiline, onContentSizeChange]);
259
184
  const handleOnChangeText = useCallback(e => {
260
- if (!divRef.current || !(e.target instanceof HTMLElement)) {
185
+ if (!divRef.current || !(e.target instanceof HTMLElement) || !contentSelection.current) {
261
186
  return;
262
187
  }
188
+ const nativeEvent = e.nativeEvent;
189
+ const inputType = nativeEvent.inputType;
190
+ updateTextColor(divRef.current, e.target.textContent ?? '');
191
+ const previousText = divRef.current.value;
192
+ const parsedText = normalizeValue(inputType === 'pasteText' ? pasteContent.current || '' : parseInnerHTMLToText(e.target));
193
+ if (pasteContent.current) {
194
+ pasteContent.current = null;
195
+ }
263
196
  const prevSelection = contentSelection.current ?? {
264
197
  start: 0,
265
198
  end: 0
266
199
  };
267
- const prevTextLength = CursorUtils.getPrevTextLength() ?? 0;
268
- const changedText = e.target.innerText;
200
+ const newCursorPosition = Math.max(Math.max(contentSelection.current.end, 0) + (parsedText.length - previousText.length), 0);
269
201
  if (compositionRef.current) {
270
- updateTextColor(divRef.current, changedText);
202
+ divRef.current.value = parsedText;
203
+ compositionRef.current = false;
204
+ contentSelection.current.end = newCursorPosition;
271
205
  return;
272
206
  }
273
207
  let newInputUpdate;
274
- const nativeEvent = e.nativeEvent;
275
- const inputType = nativeEvent.inputType;
276
208
  switch (inputType) {
277
209
  case 'historyUndo':
278
210
  newInputUpdate = undo(divRef.current);
@@ -280,33 +212,24 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
280
212
  case 'historyRedo':
281
213
  newInputUpdate = redo(divRef.current);
282
214
  break;
283
- case 'insertFromPaste':
284
- // if there is no newline at the end of the copied text, contentEditable adds invisible <br> tag at the end of the text, so we need to normalize it
285
- if (changedText.length > 2 && changedText[changedText.length - 2] !== '\n' && changedText[changedText.length - 1] === '\n') {
286
- newInputUpdate = parseText(divRef.current, normalizeValue(changedText), processedMarkdownStyle);
287
- break;
288
- }
289
- newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
290
- break;
291
215
  default:
292
- newInputUpdate = parseText(divRef.current, changedText, processedMarkdownStyle);
216
+ newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType);
293
217
  }
294
218
  const {
295
219
  text,
296
220
  cursorPosition
297
221
  } = newInputUpdate;
298
- const normalizedText = normalizeValue(text);
299
- if (pasteRef !== null && pasteRef !== void 0 && pasteRef.current) {
300
- pasteRef.current = false;
301
- updateSelection(e);
302
- }
303
222
  updateTextColor(divRef.current, text);
223
+ updateSelection(e, {
224
+ start: cursorPosition ?? 0,
225
+ end: cursorPosition ?? 0
226
+ });
304
227
  if (onChange) {
305
228
  const event = e;
306
229
  setEventProps(event);
307
230
 
308
231
  // The new text is between the prev start selection and the new end selection, can be empty
309
- const addedText = normalizedText.slice(prevSelection.start, cursorPosition ?? 0);
232
+ const addedText = text.slice(prevSelection.start, cursorPosition ?? 0);
310
233
  // The length of the text that replaced the before text
311
234
  const count = addedText.length;
312
235
  // The start index of the replacement operation
@@ -316,7 +239,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
316
239
  let before = prevSelectionRange;
317
240
  if (prevSelectionRange === 0 && (inputType === 'deleteContentBackward' || inputType === 'deleteContentForward')) {
318
241
  // its possible the user pressed a delete key without a selection range, so we need to adjust the before value to have the length of the deleted text
319
- before = prevTextLength - normalizedText.length;
242
+ before = previousText.length - text.length;
320
243
  }
321
244
  if (inputType === 'deleteContentBackward') {
322
245
  // When the user does a backspace delete he expects the content before the cursor to be removed.
@@ -331,17 +254,31 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
331
254
  onChange(event);
332
255
  }
333
256
  if (onChangeText) {
334
- onChangeText(normalizedText);
257
+ onChangeText(text);
335
258
  }
336
259
  handleContentSizeChange();
337
- }, [updateTextColor, handleContentSizeChange, onChange, onChangeText, undo, redo, parseText, processedMarkdownStyle, updateSelection, setEventProps]);
260
+ }, [updateTextColor, updateSelection, onChange, onChangeText, handleContentSizeChange, undo, redo, parseText, processedMarkdownStyle, setEventProps]);
261
+ const insertText = useCallback((e, text) => {
262
+ if (!contentSelection.current || !divRef.current) {
263
+ return;
264
+ }
265
+ const previousText = divRef.current.value;
266
+ const newText = `${divRef.current.value.substring(0, contentSelection.current.start)}${text}${divRef.current.value.substring(contentSelection.current.end)}`;
267
+ if (previousText === newText) {
268
+ document.execCommand('delete');
269
+ }
270
+ pasteContent.current = newText;
271
+ e.nativeEvent.inputType = 'pasteText';
272
+ handleOnChangeText(e);
273
+ updateSelection(e);
274
+ }, [handleOnChangeText, updateSelection]);
338
275
  const handleKeyPress = useCallback(e => {
339
276
  if (!divRef.current) {
340
277
  return;
341
278
  }
342
279
  const hostNode = e.target;
343
280
  e.stopPropagation();
344
- if (e.key === 'z' && e.metaKey) {
281
+ if (e.key === 'z' && (e.ctrlKey || e.metaKey)) {
345
282
  e.preventDefault();
346
283
  const nativeEvent = e.nativeEvent;
347
284
  if (e.shiftKey) {
@@ -372,14 +309,13 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
372
309
  } else if (multiline) {
373
310
  // We need to change normal behavior of "Enter" key to insert a line breaks, to prevent wrapping contentEditable text in <div> tags.
374
311
  // Thanks to that in every situation we have proper amount of new lines in our parsed text. Without it pressing enter in empty lines will add 2 more new lines.
375
- document.execCommand('insertLineBreak');
376
- CursorUtils.scrollCursorIntoView(divRef.current);
312
+ insertText(e, '\n');
377
313
  }
378
314
  if (!e.shiftKey && (shouldBlurOnSubmit && hostNode !== null || !multiline)) {
379
315
  setTimeout(() => divRef.current && divRef.current.blur(), 0);
380
316
  }
381
317
  }
382
- }, [multiline, blurOnSubmit, setEventProps, onKeyPress, updateSelection, handleOnChangeText, onSubmitEditing]);
318
+ }, [multiline, blurOnSubmit, setEventProps, onKeyPress, updateSelection, handleOnChangeText, onSubmitEditing, insertText]);
383
319
  const handleFocus = useCallback(event => {
384
320
  const e = event;
385
321
  const hostNode = e.target;
@@ -387,10 +323,10 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
387
323
  setEventProps(e);
388
324
  if (divRef.current) {
389
325
  if (contentSelection.current) {
390
- CursorUtils.setCursorPosition(divRef.current, contentSelection.current.start, contentSelection.current.end);
326
+ setCursorPosition(divRef.current, contentSelection.current.start, contentSelection.current.end);
391
327
  } else {
392
- const valueLength = value ? value.length : divRef.current.innerText.length;
393
- CursorUtils.setCursorPosition(divRef.current, valueLength, null);
328
+ const valueLength = value ? value.length : divRef.current.value.length;
329
+ setCursorPosition(divRef.current, valueLength, null);
394
330
  }
395
331
  updateSelection(event, contentSelection.current);
396
332
  }
@@ -400,7 +336,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
400
336
  }
401
337
  if (hostNode !== null) {
402
338
  if (clearTextOnFocus && divRef.current) {
403
- divRef.current.innerText = '';
339
+ divRef.current.textContent = '';
404
340
  }
405
341
  if (selectTextOnFocus) {
406
342
  // Safari requires selection to occur in a setTimeout
@@ -418,7 +354,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
418
354
  }, [clearTextOnFocus, onFocus, selectTextOnFocus, setEventProps, updateSelection, value]);
419
355
  const handleBlur = useCallback(event => {
420
356
  const e = event;
421
- CursorUtils.removeSelection();
357
+ removeSelection();
422
358
  currentlyFocusedField.current = null;
423
359
  if (onBlur) {
424
360
  setEventProps(e);
@@ -430,19 +366,36 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
430
366
  if (!onClick || !divRef.current) {
431
367
  return;
432
368
  }
433
- e.target.value = normalizeValue(divRef.current.innerText || '');
369
+ e.target.value = divRef.current.value;
434
370
  onClick(e);
435
371
  }, [onClick, updateSelection]);
372
+ const handleCopy = useCallback(e => {
373
+ var _divRef$current;
374
+ if (!divRef.current || !contentSelection.current) {
375
+ return;
376
+ }
377
+ e.preventDefault();
378
+ const text = (_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.value.substring(contentSelection.current.start, contentSelection.current.end);
379
+ e.clipboardData.setData('text/plain', text ?? '');
380
+ }, []);
381
+ const handleCut = useCallback(e => {
382
+ if (!divRef.current || !contentSelection.current) {
383
+ return;
384
+ }
385
+ handleCopy(e);
386
+ if (contentSelection.current.start !== contentSelection.current.end) {
387
+ document.execCommand('delete');
388
+ }
389
+ }, [handleCopy]);
436
390
  const handlePaste = useCallback(e => {
437
- pasteRef.current = true;
438
- if (e.isDefaultPrevented()) {
391
+ if (e.isDefaultPrevented() || !divRef.current || !contentSelection.current) {
439
392
  return;
440
393
  }
441
394
  e.preventDefault();
442
395
  const clipboardData = e.clipboardData;
443
396
  const text = clipboardData.getData('text/plain');
444
- document.execCommand('insertText', false, text);
445
- }, []);
397
+ insertText(e, text);
398
+ }, [insertText]);
446
399
  const startComposition = useCallback(() => {
447
400
  compositionRef.current = true;
448
401
  }, []);
@@ -455,12 +408,12 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
455
408
  if (r) {
456
409
  r.isFocused = () => document.activeElement === r;
457
410
  r.clear = () => {
458
- r.innerText = '';
411
+ r.textContent = '';
459
412
  updateTextColor(r, '');
460
413
  };
461
414
  if (value === '' || value === undefined) {
462
415
  // update to placeholder color when value is empty
463
- updateTextColor(r, r.innerText);
416
+ updateTextColor(r, r.textContent ?? '');
464
417
  }
465
418
  }
466
419
  if (ref) {
@@ -474,17 +427,18 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
474
427
  divRef.current = r;
475
428
  };
476
429
  useClientEffect(function parseAndStyleValue() {
477
- if (!divRef.current || processedValue === divRef.current.innerText) {
430
+ if (!divRef.current || value === divRef.current.value) {
478
431
  return;
479
432
  }
480
433
  if (value === undefined) {
481
- parseText(divRef.current, divRef.current.innerText, processedMarkdownStyle);
434
+ parseText(divRef.current, divRef.current.value, processedMarkdownStyle);
482
435
  return;
483
436
  }
484
- const text = processedValue !== undefined ? processedValue : '';
485
- parseText(divRef.current, text, processedMarkdownStyle, text.length);
437
+ const normalizedValue = normalizeValue(value);
438
+ divRef.current.value = normalizedValue;
439
+ parseText(divRef.current, normalizedValue, processedMarkdownStyle);
486
440
  updateTextColor(divRef.current, value);
487
- }, [multiline, processedMarkdownStyle, processedValue]);
441
+ }, [multiline, processedMarkdownStyle, value]);
488
442
  useClientEffect(function adjustHeight() {
489
443
  if (!divRef.current || !multiline) {
490
444
  return;
@@ -517,7 +471,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
517
471
  };
518
472
  contentSelection.current = newSelection;
519
473
  updateRefSelectionVariables(newSelection);
520
- CursorUtils.setCursorPosition(divRef.current, newSelection.start, newSelection.end);
474
+ setCursorPosition(divRef.current, newSelection.start, newSelection.end);
521
475
  }, [selection, updateRefSelectionVariables]);
522
476
  return (
523
477
  /*#__PURE__*/
@@ -543,6 +497,8 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
543
497
  onClick: handleClick,
544
498
  onFocus: handleFocus,
545
499
  onBlur: handleBlur,
500
+ onCopy: handleCopy,
501
+ onCut: handleCut,
546
502
  onPaste: handlePaste,
547
503
  placeholder: heightSafePlaceholder,
548
504
  spellCheck: spellCheck,
@@ -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","denormalizeValue","endsWith","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","onContentSizeChange","id","inputMode","ref","compositionRef","pasteRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","text","target","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","undoValue","redo","redoValue","processedValue","updateTextColor","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","updateSelection","predefinedSelection","getCurrentCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","width","contentSize","handleOnChangeText","HTMLElement","prevSelection","prevTextLength","getPrevTextLength","changedText","newInputUpdate","inputType","normalizedText","addedText","slice","count","prevSelectionRange","before","Math","max","handleKeyPress","hostNode","stopPropagation","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isDefaultPrevented","execCommand","scrollCursorIntoView","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handlePaste","clipboardData","getData","startComposition","endComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","adjustHeight","elementHeight","maxHeight","focus","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","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
+ {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","parseToReactDOMStyle","processMarkdownStyle","require","useClientEffect","window","focusTimeout","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","markdownHTMLInput","selectionStart","selectionEnd","updateSelection","predefinedSelection","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","prevSelection","newCursorPosition","Math","max","length","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","newText","substring","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","blurOnSubmitDefault","shouldBlurOnSubmit","isComposing","isDefaultPrevented","setTimeout","blur","handleFocus","valueLength","clearTimeout","handleBlur","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onKeyUp","onInput","onCopy","onCut","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,"names":["Platform","FONT_FAMILY_MONOSPACE","select","ios","default","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","emoji","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mentionReport","mergeMarkdownStyleWithDefault","input","output","undefined","Object","keys","forEach","key","assign"],"sourceRoot":"../../src","sources":["styleUtils.ts"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,cAAc;AASrC,MAAMC,qBAAqB,GAAGD,QAAQ,CAACE,MAAM,CAAC;EAC5CC,GAAG,EAAE,SAAS;EACdC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,SAASC,wBAAwBA,CAAA,EAAkB;EACjD,OAAO;IACLC,MAAM,EAAE;MACNC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ,CAAC;IACDC,KAAK,EAAE;MACLD,QAAQ,EAAE;IACZ,CAAC;IACDE,UAAU,EAAE;MACVC,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAEjB,qBAAqB;MACjCS,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDC,GAAG,EAAE;MACHF,UAAU,EAAEjB,qBAAqB;MACjCS,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDE,WAAW,EAAE;MACXd,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDG,WAAW,EAAE;MACXf,KAAK,EAAE,MAAM;MACbY,eAAe,EAAE;IACnB,CAAC;IACDI,aAAa,EAAE;MACbhB,KAAK,EAAE,KAAK;MACZY,eAAe,EAAE;IACnB;EACF,CAAC;AACH;AAEA,SAASK,6BAA6BA,CAACC,KAAuC,EAAiB;EAC7F,MAAMC,MAAM,GAAGrB,wBAAwB,CAAC,CAAC;EAEzC,IAAIoB,KAAK,KAAKE,SAAS,EAAE;IACvBC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;MAClC,IAAI,EAAEA,GAAG,IAAIL,MAAM,CAAC,EAAE;QACpB;MACF;MACAE,MAAM,CAACI,MAAM,CAACN,MAAM,CAACK,GAAG,CAAwB,EAAEN,KAAK,CAACM,GAAG,CAAwB,CAAC;IACtF,CAAC,CAAC;EACJ;EAEA,OAAOL,MAAM;AACf;AAIA,SAAQF,6BAA6B"}
1
+ {"version":3,"names":["Platform","FONT_FAMILY_MONOSPACE","select","ios","default","makeDefaultMarkdownStyle","syntax","color","link","h1","fontSize","emoji","blockquote","borderColor","borderWidth","marginLeft","paddingLeft","code","fontFamily","backgroundColor","pre","mentionHere","mentionUser","mentionReport","mergeMarkdownStyleWithDefault","input","output","undefined","Object","keys","forEach","key","assign"],"sourceRoot":"../../src","sources":["styleUtils.ts"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,cAAc;AAOrC,MAAMC,qBAAqB,GAAGD,QAAQ,CAACE,MAAM,CAAC;EAC5CC,GAAG,EAAE,SAAS;EACdC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,SAASC,wBAAwBA,CAAA,EAAkB;EACjD,OAAO;IACLC,MAAM,EAAE;MACNC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ,CAAC;IACDC,KAAK,EAAE;MACLD,QAAQ,EAAE;IACZ,CAAC;IACDE,UAAU,EAAE;MACVC,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAEjB,qBAAqB;MACjCS,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDC,GAAG,EAAE;MACHF,UAAU,EAAEjB,qBAAqB;MACjCS,QAAQ,EAAE,EAAE;MACZH,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDE,WAAW,EAAE;MACXd,KAAK,EAAE,OAAO;MACdY,eAAe,EAAE;IACnB,CAAC;IACDG,WAAW,EAAE;MACXf,KAAK,EAAE,MAAM;MACbY,eAAe,EAAE;IACnB,CAAC;IACDI,aAAa,EAAE;MACbhB,KAAK,EAAE,KAAK;MACZY,eAAe,EAAE;IACnB;EACF,CAAC;AACH;AAEA,SAASK,6BAA6BA,CAACC,KAAuC,EAAiB;EAC7F,MAAMC,MAAM,GAAGrB,wBAAwB,CAAC,CAAC;EAEzC,IAAIoB,KAAK,KAAKE,SAAS,EAAE;IACvBC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,OAAO,CAAEC,GAAG,IAAK;MAClC,IAAI,EAAEA,GAAG,IAAIL,MAAM,CAAC,EAAE;QACpB;MACF;MACAE,MAAM,CAACI,MAAM,CAACN,MAAM,CAACK,GAAG,CAAwB,EAAEN,KAAK,CAACM,GAAG,CAAwB,CAAC;IACtF,CAAC,CAAC;EACJ;EAEA,OAAOL,MAAM;AACf;AAIA,SAAQF,6BAA6B"}
@@ -0,0 +1,72 @@
1
+ function addStyleToBlock(targetElement, type, markdownStyle) {
2
+ const node = targetElement;
3
+ switch (type) {
4
+ case 'line':
5
+ Object.assign(node.style, {
6
+ display: 'block',
7
+ margin: '0',
8
+ padding: '0'
9
+ });
10
+ break;
11
+ case 'syntax':
12
+ Object.assign(node.style, markdownStyle.syntax);
13
+ break;
14
+ case 'bold':
15
+ node.style.fontWeight = 'bold';
16
+ break;
17
+ case 'italic':
18
+ node.style.fontStyle = 'italic';
19
+ break;
20
+ case 'strikethrough':
21
+ node.style.textDecoration = 'line-through';
22
+ break;
23
+ case 'emoji':
24
+ Object.assign(node.style, {
25
+ ...markdownStyle.emoji,
26
+ verticalAlign: 'middle'
27
+ });
28
+ break;
29
+ case 'mention-here':
30
+ Object.assign(node.style, markdownStyle.mentionHere);
31
+ break;
32
+ case 'mention-user':
33
+ Object.assign(node.style, markdownStyle.mentionUser);
34
+ break;
35
+ case 'mention-report':
36
+ Object.assign(node.style, markdownStyle.mentionReport);
37
+ break;
38
+ case 'link':
39
+ Object.assign(node.style, {
40
+ ...markdownStyle.link,
41
+ textDecoration: 'underline'
42
+ });
43
+ break;
44
+ case 'code':
45
+ Object.assign(node.style, markdownStyle.code);
46
+ break;
47
+ case 'pre':
48
+ Object.assign(node.style, markdownStyle.pre);
49
+ break;
50
+ case 'blockquote':
51
+ Object.assign(node.style, {
52
+ ...markdownStyle.blockquote,
53
+ borderLeftStyle: 'solid',
54
+ display: 'inline-block',
55
+ maxWidth: '100%',
56
+ boxSizing: 'border-box'
57
+ });
58
+ break;
59
+ case 'h1':
60
+ Object.assign(node.style, {
61
+ ...markdownStyle.h1,
62
+ fontWeight: 'bold'
63
+ });
64
+ break;
65
+ default:
66
+ break;
67
+ }
68
+ }
69
+
70
+ // eslint-disable-next-line import/prefer-default-export
71
+ export { addStyleToBlock };
72
+ //# sourceMappingURL=blockUtils.js.map