@expensify/react-native-live-markdown 0.1.157 → 0.1.158

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.
@@ -63,6 +63,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
63
63
  const history = (0, _react.useRef)();
64
64
  const dimensions = (0, _react.useRef)(null);
65
65
  const pasteContent = (0, _react.useRef)(null);
66
+ const hasJustBeenFocused = (0, _react.useRef)(false);
66
67
  if (!history.current) {
67
68
  history.current = new _InputHistory.default(100, 150, value || '');
68
69
  }
@@ -83,7 +84,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
83
84
  }
84
85
  return e;
85
86
  }, []);
86
- const parseText = (0, _react.useCallback)((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false) => {
87
+ const parseText = (0, _react.useCallback)((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false, shouldScrollIntoView = false) => {
87
88
  if (!divRef.current) {
88
89
  return {
89
90
  text: text || '',
@@ -96,7 +97,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
96
97
  cursorPosition: null
97
98
  };
98
99
  }
99
- const parsedText = (0, _parserUtils.updateInputStructure)(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate);
100
+ const parsedText = (0, _parserUtils.updateInputStructure)(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView);
100
101
  divRef.current.value = parsedText.text;
101
102
  if (history.current && shouldAddToHistory) {
102
103
  history.current.throttledAdd(parsedText.text, parsedText.cursorPosition);
@@ -175,6 +176,16 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
175
176
  handleSelectionChange(e);
176
177
  }
177
178
  }, [handleSelectionChange, updateRefSelectionVariables]);
179
+ const handleOnSelect = (0, _react.useCallback)(e => {
180
+ updateSelection(e);
181
+
182
+ // If the input has just been focused, we need to scroll the cursor into view
183
+ if (divRef.current && contentSelection.current && hasJustBeenFocused.current) {
184
+ var _contentSelection$cur, _contentSelection$cur2;
185
+ (0, _cursorUtils.setCursorPosition)(divRef.current, (_contentSelection$cur = contentSelection.current) === null || _contentSelection$cur === void 0 ? void 0 : _contentSelection$cur.start, (_contentSelection$cur2 = contentSelection.current) === null || _contentSelection$cur2 === void 0 ? void 0 : _contentSelection$cur2.end, true);
186
+ hasJustBeenFocused.current = false;
187
+ }
188
+ }, [updateSelection]);
178
189
  const handleContentSizeChange = (0, _react.useCallback)(() => {
179
190
  var _dimensions$current;
180
191
  if (!divRef.current || !multiline || !onContentSizeChange) {
@@ -232,7 +243,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
232
243
  newInputUpdate = redo(divRef.current);
233
244
  break;
234
245
  default:
235
- newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType);
246
+ newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
236
247
  }
237
248
  const {
238
249
  text,
@@ -334,6 +345,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
334
345
  }
335
346
  }, [multiline, blurOnSubmit, setEventProps, onKeyPress, handleOnChangeText, onSubmitEditing, insertText]);
336
347
  const handleFocus = (0, _react.useCallback)(event => {
348
+ hasJustBeenFocused.current = true;
337
349
  const e = event;
338
350
  const hostNode = e.target;
339
351
  currentlyFocusedField.current = hostNode;
@@ -342,10 +354,15 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
342
354
  if (contentSelection.current) {
343
355
  (0, _cursorUtils.setCursorPosition)(divRef.current, contentSelection.current.start, contentSelection.current.end);
344
356
  } else {
345
- const valueLength = value ? value.length : divRef.current.value.length;
357
+ const valueLength = value ? value.length : (divRef.current.value || '').length;
346
358
  (0, _cursorUtils.setCursorPosition)(divRef.current, valueLength, null);
347
359
  }
348
360
  }
361
+ if (divRef.current) {
362
+ divRef.current.scrollIntoView({
363
+ block: 'nearest'
364
+ });
365
+ }
349
366
  if (onFocus) {
350
367
  setEventProps(e);
351
368
  onFocus(e);
@@ -458,7 +475,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
458
475
  }
459
476
  const normalizedValue = (0, _inputUtils.normalizeValue)(value);
460
477
  divRef.current.value = normalizedValue;
461
- parseText(divRef.current, normalizedValue, processedMarkdownStyle);
478
+ parseText(divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
462
479
  updateTextColor(divRef.current, value);
463
480
  }, [multiline, processedMarkdownStyle, value]);
464
481
  useClientEffect(function adjustHeight() {
@@ -534,7 +551,7 @@ const MarkdownTextInput = /*#__PURE__*/_react.default.forwardRef(({
534
551
  spellCheck: spellCheck,
535
552
  dir: dir,
536
553
  inputMode: inputMode,
537
- onSelect: updateSelection,
554
+ onSelect: handleOnSelect,
538
555
  onTouchStart: handleTouchStart
539
556
  })
540
557
  );
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_parserUtils","_InputHistory","_interopRequireDefault","_cursorUtils","_inputUtils","_webStyleUtils","_inlineImage","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","focusTimeout","MarkdownTextInput","React","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","onTouchStart","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","getPlaceholderValue","setEventProps","useCallback","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","parsedText","updateInputStructure","throttledAdd","processedMarkdownStyle","newMarkdownStyle","processMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","parseToReactDOMStyle","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","getCurrentCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","normalizeValue","parseInnerHTMLToText","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","isEventComposing","isDefaultPrevented","setTimeout","blur","handleFocus","setCursorPosition","valueLength","clearTimeout","handleBlur","removeSelection","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","getElementHeight","maxHeight","focus","handleReconnect","forceRefreshAllImages","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","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","_parserUtils","_InputHistory","_interopRequireDefault","_cursorUtils","_inputUtils","_webStyleUtils","_inlineImage","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","focusTimeout","MarkdownTextInput","React","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","onTouchStart","ref","compositionRef","useRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","InputHistory","flattenedStyle","useMemo","StyleSheet","flatten","heightSafePlaceholder","getPlaceholderValue","setEventProps","useCallback","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","updateInputStructure","throttledAdd","processedMarkdownStyle","newMarkdownStyle","processMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","parseToReactDOMStyle","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","getCurrentCursorPosition","handleOnSelect","_contentSelection$cur","_contentSelection$cur2","setCursorPosition","handleContentSizeChange","_dimensions$current","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","textContent","previousText","normalizeValue","parseInnerHTMLToText","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","isEventComposing","isDefaultPrevented","setTimeout","blur","handleFocus","valueLength","scrollIntoView","block","clearTimeout","handleBlur","removeSelection","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","isFocused","activeElement","clear","undefined","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","getElementHeight","maxHeight","focus","handleReconnect","forceRefreshAllImages","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor","_default","exports"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -9,7 +9,7 @@ exports.removeSelection = removeSelection;
9
9
  exports.scrollIntoView = scrollIntoView;
10
10
  exports.setCursorPosition = setCursorPosition;
11
11
  var _treeUtils = require("./treeUtils");
12
- function setCursorPosition(target, startIndex, endIndex = null) {
12
+ function setCursorPosition(target, startIndex, endIndex = null, shouldScrollIntoView = false) {
13
13
  // We don't want to move the cursor if the target is not focused
14
14
  if (!target.tree || target !== document.activeElement) {
15
15
  return;
@@ -44,16 +44,30 @@ function setCursorPosition(target, startIndex, endIndex = null) {
44
44
  if (selection) {
45
45
  selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
46
46
  }
47
- scrollIntoView(startTreeNode);
47
+ if (shouldScrollIntoView) {
48
+ scrollIntoView(target, endTreeNode);
49
+ }
48
50
  }
49
- function scrollIntoView(node) {
51
+ function scrollIntoView(target, node) {
50
52
  var _node$parentNode;
53
+ const targetElement = target;
51
54
  if (node.type === 'br' && ((_node$parentNode = node.parentNode) === null || _node$parentNode === void 0 || (_node$parentNode = _node$parentNode.parentNode) === null || _node$parentNode === void 0 ? void 0 : _node$parentNode.type) === 'line') {
52
55
  // If the node is a line break, scroll to the parent paragraph, because Safari doesn't support scrollIntoView on br elements
53
56
  node.parentNode.parentNode.element.scrollIntoView({
54
57
  block: 'nearest'
55
58
  });
56
59
  } else {
60
+ const selection = window.getSelection();
61
+ if (selection && selection.rangeCount > 0) {
62
+ const range = selection.getRangeAt(0);
63
+ const caretRect = range.getBoundingClientRect();
64
+ const targetRect = target.getBoundingClientRect();
65
+
66
+ // In case the caret is below the visible input area, scroll to the end of the node
67
+ if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
68
+ targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
69
+ }
70
+ }
57
71
  node.element.scrollIntoView({
58
72
  block: 'nearest'
59
73
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_treeUtils","require","setCursorPosition","target","startIndex","endIndex","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","getTreeNodeByIndex","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","parentNode","block","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","rangeCount","getRangeAt","startElement","endElement","findHTMLElementInTree","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_treeUtils","require","setCursorPosition","target","startIndex","endIndex","shouldScrollIntoView","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","getTreeNodeByIndex","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","targetElement","parentNode","block","rangeCount","getRangeAt","caretRect","getBoundingClientRect","targetRect","top","height","scrollTop","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","startElement","endElement","findHTMLElementInTree","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
@@ -235,17 +235,17 @@ function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle
235
235
  tree: rootNode
236
236
  };
237
237
  }
238
- function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target) {
238
+ function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target, shouldScrollIntoView = false) {
239
239
  if (!isFocused) {
240
240
  return;
241
241
  }
242
242
  if (alwaysMoveCursorToTheEnd || cursorPosition === null) {
243
243
  (0, _cursorUtils.moveCursorToEnd)(target);
244
244
  } else if (cursorPosition !== null) {
245
- (0, _cursorUtils.setCursorPosition)(target, cursorPosition);
245
+ (0, _cursorUtils.setCursorPosition)(target, cursorPosition, null, shouldScrollIntoView);
246
246
  }
247
247
  }
248
- function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false) {
248
+ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false, shouldScrollIntoView = false) {
249
249
  const targetElement = target;
250
250
 
251
251
  // in case the cursorPositionIndex is larger than text length, cursorPosition will be null, i.e: move the caret to the end
@@ -276,7 +276,7 @@ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = t
276
276
  }
277
277
  (0, _treeUtils.updateTreeElementRefs)(tree, targetElement);
278
278
  targetElement.tree = tree;
279
- moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement);
279
+ moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement, shouldScrollIntoView);
280
280
  }
281
281
  return {
282
282
  text,
@@ -1 +1 @@
1
- {"version":3,"names":["_treeUtils","require","_cursorUtils","_blockUtils","_animationUtils","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","addNodeToTree","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","addStyleToBlock","pNode","addBlockWrapper","targetNode","markdownStyle","parseRangesToHTMLNodes","isMultiline","currentInput","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","getFirstBlockMarkdownRange","substring","textBeforeRange","extendBlockStructure","textAfterRange","isBlockMarkdownType","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","moveCursorToEnd","setCursorPosition","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","getCurrentCursorPosition","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes","getAnimationCurrentTimes","updateAnimationsTime","updateTreeElementRefs"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_treeUtils","require","_cursorUtils","_blockUtils","_animationUtils","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","addNodeToTree","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","addStyleToBlock","pNode","addBlockWrapper","targetNode","markdownStyle","parseRangesToHTMLNodes","isMultiline","currentInput","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","getFirstBlockMarkdownRange","substring","textBeforeRange","extendBlockStructure","textAfterRange","isBlockMarkdownType","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","moveCursorToEnd","setCursorPosition","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","getCurrentCursorPosition","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes","getAnimationCurrentTimes","updateAnimationsTime","updateTreeElementRefs"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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"}
@@ -54,6 +54,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
54
54
  const history = useRef();
55
55
  const dimensions = useRef(null);
56
56
  const pasteContent = useRef(null);
57
+ const hasJustBeenFocused = useRef(false);
57
58
  if (!history.current) {
58
59
  history.current = new InputHistory(100, 150, value || '');
59
60
  }
@@ -74,7 +75,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
74
75
  }
75
76
  return e;
76
77
  }, []);
77
- const parseText = useCallback((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false) => {
78
+ const parseText = useCallback((target, text, customMarkdownStyles, cursorPosition = null, shouldAddToHistory = true, shouldForceDOMUpdate = false, shouldScrollIntoView = false) => {
78
79
  if (!divRef.current) {
79
80
  return {
80
81
  text: text || '',
@@ -87,7 +88,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
87
88
  cursorPosition: null
88
89
  };
89
90
  }
90
- const parsedText = updateInputStructure(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate);
91
+ const parsedText = updateInputStructure(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView);
91
92
  divRef.current.value = parsedText.text;
92
93
  if (history.current && shouldAddToHistory) {
93
94
  history.current.throttledAdd(parsedText.text, parsedText.cursorPosition);
@@ -166,6 +167,16 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
166
167
  handleSelectionChange(e);
167
168
  }
168
169
  }, [handleSelectionChange, updateRefSelectionVariables]);
170
+ const handleOnSelect = useCallback(e => {
171
+ updateSelection(e);
172
+
173
+ // If the input has just been focused, we need to scroll the cursor into view
174
+ if (divRef.current && contentSelection.current && hasJustBeenFocused.current) {
175
+ var _contentSelection$cur, _contentSelection$cur2;
176
+ setCursorPosition(divRef.current, (_contentSelection$cur = contentSelection.current) === null || _contentSelection$cur === void 0 ? void 0 : _contentSelection$cur.start, (_contentSelection$cur2 = contentSelection.current) === null || _contentSelection$cur2 === void 0 ? void 0 : _contentSelection$cur2.end, true);
177
+ hasJustBeenFocused.current = false;
178
+ }
179
+ }, [updateSelection]);
169
180
  const handleContentSizeChange = useCallback(() => {
170
181
  var _dimensions$current;
171
182
  if (!divRef.current || !multiline || !onContentSizeChange) {
@@ -223,7 +234,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
223
234
  newInputUpdate = redo(divRef.current);
224
235
  break;
225
236
  default:
226
- newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType);
237
+ newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
227
238
  }
228
239
  const {
229
240
  text,
@@ -325,6 +336,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
325
336
  }
326
337
  }, [multiline, blurOnSubmit, setEventProps, onKeyPress, handleOnChangeText, onSubmitEditing, insertText]);
327
338
  const handleFocus = useCallback(event => {
339
+ hasJustBeenFocused.current = true;
328
340
  const e = event;
329
341
  const hostNode = e.target;
330
342
  currentlyFocusedField.current = hostNode;
@@ -333,10 +345,15 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
333
345
  if (contentSelection.current) {
334
346
  setCursorPosition(divRef.current, contentSelection.current.start, contentSelection.current.end);
335
347
  } else {
336
- const valueLength = value ? value.length : divRef.current.value.length;
348
+ const valueLength = value ? value.length : (divRef.current.value || '').length;
337
349
  setCursorPosition(divRef.current, valueLength, null);
338
350
  }
339
351
  }
352
+ if (divRef.current) {
353
+ divRef.current.scrollIntoView({
354
+ block: 'nearest'
355
+ });
356
+ }
340
357
  if (onFocus) {
341
358
  setEventProps(e);
342
359
  onFocus(e);
@@ -449,7 +466,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
449
466
  }
450
467
  const normalizedValue = normalizeValue(value);
451
468
  divRef.current.value = normalizedValue;
452
- parseText(divRef.current, normalizedValue, processedMarkdownStyle);
469
+ parseText(divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
453
470
  updateTextColor(divRef.current, value);
454
471
  }, [multiline, processedMarkdownStyle, value]);
455
472
  useClientEffect(function adjustHeight() {
@@ -525,7 +542,7 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
525
542
  spellCheck: spellCheck,
526
543
  dir: dir,
527
544
  inputMode: inputMode,
528
- onSelect: updateSelection,
545
+ onSelect: handleOnSelect,
529
546
  onTouchStart: handleTouchStart
530
547
  })
531
548
  );
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","parseToReactDOMStyle","processMarkdownStyle","forceRefreshAllImages","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","onTouchStart","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","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","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","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","handleReconnect","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","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","forceRefreshAllImages","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","onTouchStart","ref","compositionRef","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","flattenedStyle","flatten","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","handleOnSelect","_contentSelection$cur","_contentSelection$cur2","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","scrollIntoView","block","clearTimeout","handleBlur","handleClick","handleCopy","_divRef$current","clipboardData","setData","handleCut","handlePaste","getData","startComposition","endComposition","setRef","currentRef","r","isFocused","activeElement","clear","undefined","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","handleReconnect","addEventListener","removeEventListener","createElement","contentEditable","role","onKeyDown","onCompositionStart","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { findHTMLElementInTree, getTreeNodeByIndex } from './treeUtils';
2
- function setCursorPosition(target, startIndex, endIndex = null) {
2
+ function setCursorPosition(target, startIndex, endIndex = null, shouldScrollIntoView = false) {
3
3
  // We don't want to move the cursor if the target is not focused
4
4
  if (!target.tree || target !== document.activeElement) {
5
5
  return;
@@ -34,16 +34,30 @@ function setCursorPosition(target, startIndex, endIndex = null) {
34
34
  if (selection) {
35
35
  selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
36
36
  }
37
- scrollIntoView(startTreeNode);
37
+ if (shouldScrollIntoView) {
38
+ scrollIntoView(target, endTreeNode);
39
+ }
38
40
  }
39
- function scrollIntoView(node) {
41
+ function scrollIntoView(target, node) {
40
42
  var _node$parentNode;
43
+ const targetElement = target;
41
44
  if (node.type === 'br' && ((_node$parentNode = node.parentNode) === null || _node$parentNode === void 0 || (_node$parentNode = _node$parentNode.parentNode) === null || _node$parentNode === void 0 ? void 0 : _node$parentNode.type) === 'line') {
42
45
  // If the node is a line break, scroll to the parent paragraph, because Safari doesn't support scrollIntoView on br elements
43
46
  node.parentNode.parentNode.element.scrollIntoView({
44
47
  block: 'nearest'
45
48
  });
46
49
  } else {
50
+ const selection = window.getSelection();
51
+ if (selection && selection.rangeCount > 0) {
52
+ const range = selection.getRangeAt(0);
53
+ const caretRect = range.getBoundingClientRect();
54
+ const targetRect = target.getBoundingClientRect();
55
+
56
+ // In case the caret is below the visible input area, scroll to the end of the node
57
+ if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
58
+ targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
59
+ }
60
+ }
47
61
  node.element.scrollIntoView({
48
62
  block: 'nearest'
49
63
  });
@@ -1 +1 @@
1
- {"version":3,"names":["findHTMLElementInTree","getTreeNodeByIndex","setCursorPosition","target","startIndex","endIndex","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","parentNode","block","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","rangeCount","getRangeAt","startElement","endElement","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"AACA,SAAQA,qBAAqB,EAAEC,kBAAkB,QAAO,aAAa;AAGrE,SAASC,iBAAiBA,CAACC,MAAgC,EAAEC,UAAkB,EAAEC,QAAuB,GAAG,IAAI,EAAE;EAC/G;EACA,IAAI,CAACF,MAAM,CAACG,IAAI,IAAIH,MAAM,KAAKI,QAAQ,CAACC,aAAa,EAAE;IACrD;EACF;EAEA,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACR,UAAU,EAAED,MAAM,CAACG,IAAI,CAACO,MAAM,CAAC,CAAC;EACnE,MAAMC,GAAG,GAAGT,QAAQ,GAAGK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACP,QAAQ,EAAEF,MAAM,CAACG,IAAI,CAACO,MAAM,CAAC,CAAC,GAAG,IAAI;EACjF,IAAIC,GAAG,IAAIA,GAAG,GAAGL,KAAK,EAAE;IACtB;EACF;EAEA,MAAMM,KAAK,GAAGR,QAAQ,CAACS,WAAW,CAAC,CAAC;EACpCD,KAAK,CAACE,kBAAkB,CAACd,MAAM,CAAC;EAEhC,MAAMe,aAAa,GAAGjB,kBAAkB,CAACE,MAAM,CAACG,IAAI,EAAEG,KAAK,CAAC;EAC5D,MAAMU,WAAW,GAAGL,GAAG,IAAII,aAAa,KAAKJ,GAAG,GAAGI,aAAa,CAACT,KAAK,IAAIK,GAAG,IAAII,aAAa,CAACT,KAAK,GAAGS,aAAa,CAACL,MAAM,CAAC,GAAGZ,kBAAkB,CAACE,MAAM,CAACG,IAAI,EAAEQ,GAAG,CAAC,GAAGI,aAAa;EACnL,IAAI,CAACA,aAAa,IAAI,CAACC,WAAW,EAAE;IAClCC,OAAO,CAACC,KAAK,CAAC,gCAAgC,CAAC;IAC/C;EACF;EAEA,IAAIH,aAAa,CAACI,IAAI,KAAK,IAAI,EAAE;IAC/BP,KAAK,CAACQ,cAAc,CAACL,aAAa,CAACM,OAAO,CAAC;EAC7C,CAAC,MAAM;IACLT,KAAK,CAACU,QAAQ,CAACP,aAAa,CAACM,OAAO,CAACE,UAAU,CAAC,CAAC,CAAC,EAAejB,KAAK,GAAGS,aAAa,CAACT,KAAK,CAAC;EAC/F;EAEA,IAAIU,WAAW,CAACG,IAAI,KAAK,IAAI,EAAE;IAC7BP,KAAK,CAACY,YAAY,CAACR,WAAW,CAACK,OAAO,CAAC;EACzC,CAAC,MAAM;IACLT,KAAK,CAACa,MAAM,CAACT,WAAW,CAACK,OAAO,CAACE,UAAU,CAAC,CAAC,CAAC,EAAe,CAACZ,GAAG,IAAIL,KAAK,IAAIU,WAAW,CAACV,KAAK,CAAC;EAClG;EAEA,IAAI,CAACK,GAAG,EAAE;IACRC,KAAK,CAACc,QAAQ,CAAC,IAAI,CAAC;EACtB;EAEA,MAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAACG,gBAAgB,CAAClB,KAAK,CAACmB,cAAc,EAAEnB,KAAK,CAACoB,WAAW,EAAEpB,KAAK,CAACqB,YAAY,EAAErB,KAAK,CAACsB,SAAS,CAAC;EAC1G;EAEAC,cAAc,CAACpB,aAAa,CAAC;AAC/B;AAEA,SAASoB,cAAcA,CAACC,IAAc,EAAE;EAAA,IAAAC,gBAAA;EACtC,IAAID,IAAI,CAACjB,IAAI,KAAK,IAAI,IAAI,EAAAkB,gBAAA,GAAAD,IAAI,CAACE,UAAU,cAAAD,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBC,UAAU,cAAAD,gBAAA,uBAA3BA,gBAAA,CAA6BlB,IAAI,MAAK,MAAM,EAAE;IACtE;IACAiB,IAAI,CAACE,UAAU,CAACA,UAAU,CAACjB,OAAO,CAACc,cAAc,CAAC;MAChDI,KAAK,EAAE;IACT,CAAC,CAAC;EACJ,CAAC,MAAM;IACLH,IAAI,CAACf,OAAO,CAACc,cAAc,CAAC;MAC1BI,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;AACF;AAEA,SAASC,eAAeA,CAACxC,MAAmB,EAAE;EAC5C,MAAMY,KAAK,GAAGR,QAAQ,CAACS,WAAW,CAAC,CAAC;EACpC,MAAMc,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbf,KAAK,CAACU,QAAQ,CAACtB,MAAM,EAAEA,MAAM,CAACuB,UAAU,CAACb,MAAM,CAAC;IAChDE,KAAK,CAACc,QAAQ,CAAC,IAAI,CAAC;IACpBC,SAAS,CAACG,gBAAgB,CAAClB,KAAK,CAACmB,cAAc,EAAEnB,KAAK,CAACoB,WAAW,EAAEpB,KAAK,CAACqB,YAAY,EAAErB,KAAK,CAACsB,SAAS,CAAC;EAC1G;AACF;AAEA,SAASO,wBAAwBA,CAACzC,MAAgC,EAAE;EAClE,SAAS0C,cAAcA,CAACN,IAAU,EAAE;IAClC,IAAIf,OAAO,GAAGe,IAA0B;IACxC,IAAIf,OAAO,YAAYsB,IAAI,EAAE;MAC3BtB,OAAO,GAAGe,IAAI,CAACQ,aAA4B;IAC7C;IACA,OAAOvB,OAAO;EAChB;EAEA,MAAMM,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAI,CAACF,SAAS,IAAKA,SAAS,IAAIA,SAAS,CAACkB,UAAU,KAAK,CAAE,EAAE;IAC3D,OAAO,IAAI;EACb;EACA,MAAMjC,KAAK,GAAGe,SAAS,CAACmB,UAAU,CAAC,CAAC,CAAC;EACrC,MAAMC,YAAY,GAAGL,cAAc,CAAC9B,KAAK,CAACmB,cAAc,CAAC;EACzD,MAAMiB,UAAU,GAAGpC,KAAK,CAACmB,cAAc,KAAKnB,KAAK,CAACqB,YAAY,GAAGc,YAAY,GAAGL,cAAc,CAAC9B,KAAK,CAACqB,YAAY,CAAC;EAElH,MAAMlB,aAAa,GAAGlB,qBAAqB,CAACG,MAAM,CAACG,IAAI,EAAE4C,YAAY,CAAC;EACtE,MAAM/B,WAAW,GAAGnB,qBAAqB,CAACG,MAAM,CAACG,IAAI,EAAE6C,UAAU,CAAC;EAElE,IAAI1C,KAAK,GAAG,CAAC,CAAC;EACd,IAAIK,GAAG,GAAG,CAAC,CAAC;EACZ,IAAII,aAAa,IAAIC,WAAW,EAAE;IAChCV,KAAK,GAAGS,aAAa,CAACT,KAAK,GAAGM,KAAK,CAACoB,WAAW;;IAE/C;IACA,IAAI,CAAAhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsB,UAAU,MAAK,IAAI,EAAE;MACpC3B,GAAG,GAAGX,MAAM,CAACiD,KAAK,CAACvC,MAAM;IAC3B,CAAC,MAAM;MACLC,GAAG,GAAGK,WAAW,CAACV,KAAK,GAAGM,KAAK,CAACsB,SAAS;IAC3C;EACF;EACA,OAAO;IAAC5B,KAAK;IAAEK;EAAG,CAAC;AACrB;AAEA,SAASuC,eAAeA,CAAA,EAAG;EACzB,MAAMvB,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAACwB,eAAe,CAAC,CAAC;EAC7B;AACF;AAEA,SAAQV,wBAAwB,EAAED,eAAe,EAAEzC,iBAAiB,EAAEmD,eAAe,EAAEf,cAAc"}
1
+ {"version":3,"names":["findHTMLElementInTree","getTreeNodeByIndex","setCursorPosition","target","startIndex","endIndex","shouldScrollIntoView","tree","document","activeElement","start","Math","max","min","length","end","range","createRange","selectNodeContents","startTreeNode","endTreeNode","console","error","type","setStartBefore","element","setStart","childNodes","setEndBefore","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_node$parentNode","targetElement","parentNode","block","rangeCount","getRangeAt","caretRect","getBoundingClientRect","targetRect","top","height","scrollTop","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","startElement","endElement","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"AACA,SAAQA,qBAAqB,EAAEC,kBAAkB,QAAO,aAAa;AAGrE,SAASC,iBAAiBA,CAACC,MAAgC,EAAEC,UAAkB,EAAEC,QAAuB,GAAG,IAAI,EAAEC,oBAAoB,GAAG,KAAK,EAAE;EAC7I;EACA,IAAI,CAACH,MAAM,CAACI,IAAI,IAAIJ,MAAM,KAAKK,QAAQ,CAACC,aAAa,EAAE;IACrD;EACF;EAEA,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACT,UAAU,EAAED,MAAM,CAACI,IAAI,CAACO,MAAM,CAAC,CAAC;EACnE,MAAMC,GAAG,GAAGV,QAAQ,GAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACR,QAAQ,EAAEF,MAAM,CAACI,IAAI,CAACO,MAAM,CAAC,CAAC,GAAG,IAAI;EACjF,IAAIC,GAAG,IAAIA,GAAG,GAAGL,KAAK,EAAE;IACtB;EACF;EAEA,MAAMM,KAAK,GAAGR,QAAQ,CAACS,WAAW,CAAC,CAAC;EACpCD,KAAK,CAACE,kBAAkB,CAACf,MAAM,CAAC;EAEhC,MAAMgB,aAAa,GAAGlB,kBAAkB,CAACE,MAAM,CAACI,IAAI,EAAEG,KAAK,CAAC;EAC5D,MAAMU,WAAW,GAAGL,GAAG,IAAII,aAAa,KAAKJ,GAAG,GAAGI,aAAa,CAACT,KAAK,IAAIK,GAAG,IAAII,aAAa,CAACT,KAAK,GAAGS,aAAa,CAACL,MAAM,CAAC,GAAGb,kBAAkB,CAACE,MAAM,CAACI,IAAI,EAAEQ,GAAG,CAAC,GAAGI,aAAa;EACnL,IAAI,CAACA,aAAa,IAAI,CAACC,WAAW,EAAE;IAClCC,OAAO,CAACC,KAAK,CAAC,gCAAgC,CAAC;IAC/C;EACF;EAEA,IAAIH,aAAa,CAACI,IAAI,KAAK,IAAI,EAAE;IAC/BP,KAAK,CAACQ,cAAc,CAACL,aAAa,CAACM,OAAO,CAAC;EAC7C,CAAC,MAAM;IACLT,KAAK,CAACU,QAAQ,CAACP,aAAa,CAACM,OAAO,CAACE,UAAU,CAAC,CAAC,CAAC,EAAejB,KAAK,GAAGS,aAAa,CAACT,KAAK,CAAC;EAC/F;EAEA,IAAIU,WAAW,CAACG,IAAI,KAAK,IAAI,EAAE;IAC7BP,KAAK,CAACY,YAAY,CAACR,WAAW,CAACK,OAAO,CAAC;EACzC,CAAC,MAAM;IACLT,KAAK,CAACa,MAAM,CAACT,WAAW,CAACK,OAAO,CAACE,UAAU,CAAC,CAAC,CAAC,EAAe,CAACZ,GAAG,IAAIL,KAAK,IAAIU,WAAW,CAACV,KAAK,CAAC;EAClG;EAEA,IAAI,CAACK,GAAG,EAAE;IACRC,KAAK,CAACc,QAAQ,CAAC,IAAI,CAAC;EACtB;EAEA,MAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAACG,gBAAgB,CAAClB,KAAK,CAACmB,cAAc,EAAEnB,KAAK,CAACoB,WAAW,EAAEpB,KAAK,CAACqB,YAAY,EAAErB,KAAK,CAACsB,SAAS,CAAC;EAC1G;EAEA,IAAIhC,oBAAoB,EAAE;IACxBiC,cAAc,CAACpC,MAAM,EAAEiB,WAAW,CAAC;EACrC;AACF;AAEA,SAASmB,cAAcA,CAACpC,MAAgC,EAAEqC,IAAc,EAAE;EAAA,IAAAC,gBAAA;EACxE,MAAMC,aAAa,GAAGvC,MAAM;EAC5B,IAAIqC,IAAI,CAACjB,IAAI,KAAK,IAAI,IAAI,EAAAkB,gBAAA,GAAAD,IAAI,CAACG,UAAU,cAAAF,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBE,UAAU,cAAAF,gBAAA,uBAA3BA,gBAAA,CAA6BlB,IAAI,MAAK,MAAM,EAAE;IACtE;IACAiB,IAAI,CAACG,UAAU,CAACA,UAAU,CAAClB,OAAO,CAACc,cAAc,CAAC;MAChDK,KAAK,EAAE;IACT,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,MAAMb,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;IACvC,IAAIF,SAAS,IAAIA,SAAS,CAACc,UAAU,GAAG,CAAC,EAAE;MACzC,MAAM7B,KAAK,GAAGe,SAAS,CAACe,UAAU,CAAC,CAAC,CAAC;MACrC,MAAMC,SAAS,GAAG/B,KAAK,CAACgC,qBAAqB,CAAC,CAAC;MAC/C,MAAMC,UAAU,GAAG9C,MAAM,CAAC6C,qBAAqB,CAAC,CAAC;;MAEjD;MACA,IAAID,SAAS,CAACG,GAAG,GAAGH,SAAS,CAACI,MAAM,GAAGF,UAAU,CAACC,GAAG,GAAGD,UAAU,CAACE,MAAM,EAAE;QACzET,aAAa,CAACU,SAAS,GAAGL,SAAS,CAACG,GAAG,GAAGH,SAAS,CAACI,MAAM,GAAGF,UAAU,CAACC,GAAG,GAAGD,UAAU,CAACE,MAAM,GAAGhD,MAAM,CAACiD,SAAS;MACpH;IACF;IAEAZ,IAAI,CAACf,OAAO,CAACc,cAAc,CAAC;MAC1BK,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;AACF;AAEA,SAASS,eAAeA,CAAClD,MAAmB,EAAE;EAC5C,MAAMa,KAAK,GAAGR,QAAQ,CAACS,WAAW,CAAC,CAAC;EACpC,MAAMc,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbf,KAAK,CAACU,QAAQ,CAACvB,MAAM,EAAEA,MAAM,CAACwB,UAAU,CAACb,MAAM,CAAC;IAChDE,KAAK,CAACc,QAAQ,CAAC,IAAI,CAAC;IACpBC,SAAS,CAACG,gBAAgB,CAAClB,KAAK,CAACmB,cAAc,EAAEnB,KAAK,CAACoB,WAAW,EAAEpB,KAAK,CAACqB,YAAY,EAAErB,KAAK,CAACsB,SAAS,CAAC;EAC1G;AACF;AAEA,SAASgB,wBAAwBA,CAACnD,MAAgC,EAAE;EAClE,SAASoD,cAAcA,CAACf,IAAU,EAAE;IAClC,IAAIf,OAAO,GAAGe,IAA0B;IACxC,IAAIf,OAAO,YAAY+B,IAAI,EAAE;MAC3B/B,OAAO,GAAGe,IAAI,CAACiB,aAA4B;IAC7C;IACA,OAAOhC,OAAO;EAChB;EAEA,MAAMM,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAI,CAACF,SAAS,IAAKA,SAAS,IAAIA,SAAS,CAACc,UAAU,KAAK,CAAE,EAAE;IAC3D,OAAO,IAAI;EACb;EACA,MAAM7B,KAAK,GAAGe,SAAS,CAACe,UAAU,CAAC,CAAC,CAAC;EACrC,MAAMY,YAAY,GAAGH,cAAc,CAACvC,KAAK,CAACmB,cAAc,CAAC;EACzD,MAAMwB,UAAU,GAAG3C,KAAK,CAACmB,cAAc,KAAKnB,KAAK,CAACqB,YAAY,GAAGqB,YAAY,GAAGH,cAAc,CAACvC,KAAK,CAACqB,YAAY,CAAC;EAElH,MAAMlB,aAAa,GAAGnB,qBAAqB,CAACG,MAAM,CAACI,IAAI,EAAEmD,YAAY,CAAC;EACtE,MAAMtC,WAAW,GAAGpB,qBAAqB,CAACG,MAAM,CAACI,IAAI,EAAEoD,UAAU,CAAC;EAElE,IAAIjD,KAAK,GAAG,CAAC,CAAC;EACd,IAAIK,GAAG,GAAG,CAAC,CAAC;EACZ,IAAII,aAAa,IAAIC,WAAW,EAAE;IAChCV,KAAK,GAAGS,aAAa,CAACT,KAAK,GAAGM,KAAK,CAACoB,WAAW;;IAE/C;IACA,IAAI,CAAAhB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuB,UAAU,MAAK,IAAI,EAAE;MACpC5B,GAAG,GAAGZ,MAAM,CAACyD,KAAK,CAAC9C,MAAM;IAC3B,CAAC,MAAM;MACLC,GAAG,GAAGK,WAAW,CAACV,KAAK,GAAGM,KAAK,CAACsB,SAAS;IAC3C;EACF;EACA,OAAO;IAAC5B,KAAK;IAAEK;EAAG,CAAC;AACrB;AAEA,SAAS8C,eAAeA,CAAA,EAAG;EACzB,MAAM9B,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;EACvC,IAAIF,SAAS,EAAE;IACbA,SAAS,CAAC+B,eAAe,CAAC,CAAC;EAC7B;AACF;AAEA,SAAQR,wBAAwB,EAAED,eAAe,EAAEnD,iBAAiB,EAAE2D,eAAe,EAAEtB,cAAc"}
@@ -228,17 +228,17 @@ function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle
228
228
  tree: rootNode
229
229
  };
230
230
  }
231
- function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target) {
231
+ function moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, target, shouldScrollIntoView = false) {
232
232
  if (!isFocused) {
233
233
  return;
234
234
  }
235
235
  if (alwaysMoveCursorToTheEnd || cursorPosition === null) {
236
236
  moveCursorToEnd(target);
237
237
  } else if (cursorPosition !== null) {
238
- setCursorPosition(target, cursorPosition);
238
+ setCursorPosition(target, cursorPosition, null, shouldScrollIntoView);
239
239
  }
240
240
  }
241
- function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false) {
241
+ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = true, markdownStyle = {}, alwaysMoveCursorToTheEnd = false, shouldForceDOMUpdate = false, shouldScrollIntoView = false) {
242
242
  const targetElement = target;
243
243
 
244
244
  // in case the cursorPositionIndex is larger than text length, cursorPosition will be null, i.e: move the caret to the end
@@ -269,7 +269,7 @@ function updateInputStructure(target, text, cursorPositionIndex, isMultiline = t
269
269
  }
270
270
  updateTreeElementRefs(tree, targetElement);
271
271
  targetElement.tree = tree;
272
- moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement);
272
+ moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement, shouldScrollIntoView);
273
273
  }
274
274
  return {
275
275
  text,
@@ -1 +1 @@
1
- {"version":3,"names":["addNodeToTree","updateTreeElementRefs","getCurrentCursorPosition","moveCursorToEnd","setCursorPosition","addStyleToBlock","extendBlockStructure","getFirstBlockMarkdownRange","isBlockMarkdownType","getAnimationCurrentTimes","updateAnimationsTime","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","pNode","addBlockWrapper","targetNode","markdownStyle","parseRangesToHTMLNodes","isMultiline","currentInput","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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"}
1
+ {"version":3,"names":["addNodeToTree","updateTreeElementRefs","getCurrentCursorPosition","moveCursorToEnd","setCursorPosition","addStyleToBlock","extendBlockStructure","getFirstBlockMarkdownRange","isBlockMarkdownType","getAnimationCurrentTimes","updateAnimationsTime","ungroupRanges","ranges","ungroupedRanges","forEach","range","depth","push","rangeWithoutDepth","Array","from","length","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","markdownRanges","mergeLinesWithMultilineTags","mergedLines","lineIndexes","_line","index","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","otherLineIndexes","lineIndex","otherLine","filter","includes","appendValueToElement","element","parentTreeNode","value","targetElement","parentNode","appendNode","type","node","appendChild","addBrElement","span","document","createElement","setAttribute","spanNode","addTextToElement","createTextNode","addParagraph","disableInlineStyles","p","pNode","addBlockWrapper","targetNode","markdownStyle","parseRangesToHTMLNodes","isMultiline","currentInput","rootElement","textLength","rootNode","childNodes","orderIndex","isGeneratingNewline","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","updateInputStructure","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","global","parseExpensiMarkToRanges","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"AACA,SAAQA,aAAa,EAAEC,qBAAqB,QAAO,aAAa;AAGhE,SAAQC,wBAAwB,EAAEC,eAAe,EAAEC,iBAAiB,QAAO,eAAe;AAC1F,SAAQC,eAAe,EAAEC,oBAAoB,EAAEC,0BAA0B,EAAEC,mBAAmB,QAAO,cAAc;AAEnH,SAAQC,wBAAwB,EAAEC,oBAAoB,QAAO,kBAAkB;AAS/E,SAASC,aAAaA,CAACC,MAAuB,EAAmB;EAC/D,MAAMC,eAAgC,GAAG,EAAE;EAC3CD,MAAM,CAACE,OAAO,CAAEC,KAAK,IAAK;IACxB,IAAI,CAACA,KAAK,CAACC,KAAK,EAAE;MAChBH,eAAe,CAACI,IAAI,CAACF,KAAK,CAAC;IAC7B;IACA,MAAM;MAACC,KAAK;MAAE,GAAGE;IAAiB,CAAC,GAAGH,KAAK;IAC3CI,KAAK,CAACC,IAAI,CAAC;MAACC,MAAM,EAAEL;IAAM,CAAC,CAAC,CAACF,OAAO,CAAC,MAAM;MACzCD,eAAe,CAACI,IAAI,CAACC,iBAAiB,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOL,eAAe;AACxB;AAEA,SAASS,kBAAkBA,CAACC,IAAY,EAAe;EACrD,IAAIC,cAAc,GAAG,CAAC;EACtB,MAAMC,KAAkB,GAAGF,IAAI,CAACG,KAAK,CAAC,IAAI,CAAC,CAACC,GAAG,CAAEC,IAAI,IAAK;IACxD,MAAMC,UAAqB,GAAG;MAC5BN,IAAI,EAAEK,IAAI;MACVE,KAAK,EAAEN,cAAc;MACrBH,MAAM,EAAEO,IAAI,CAACP,MAAM;MACnBU,cAAc,EAAE;IAClB,CAAC;IACDP,cAAc,IAAII,IAAI,CAACP,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAOQ,UAAU;EACnB,CAAC,CAAC;EAEF,OAAOJ,KAAK;AACd;;AAEA;AACA,SAASO,2BAA2BA,CAACP,KAAkB,EAAEb,MAAuB,EAAE;EAChF,IAAIqB,WAAW,GAAG,CAAC,GAAGR,KAAK,CAAC;EAC5B,MAAMS,WAAW,GAAGD,WAAW,CAACN,GAAG,CAAC,CAACQ,KAAK,EAAEC,KAAK,KAAKA,KAAK,CAAC;EAE5DxB,MAAM,CAACE,OAAO,CAAEC,KAAK,IAAK;IACxB,MAAMsB,cAAc,GAAGJ,WAAW,CAACK,aAAa,CAAEV,IAAI,IAAKA,IAAI,CAACE,KAAK,IAAIf,KAAK,CAACe,KAAK,CAAC;IACrF,MAAMS,YAAY,GAAGN,WAAW,CAACO,SAAS,CAAEZ,IAAI,IAAKA,IAAI,CAACE,KAAK,GAAGF,IAAI,CAACP,MAAM,IAAIN,KAAK,CAACe,KAAK,GAAGf,KAAK,CAACM,MAAM,CAAC;IAC5G,MAAMoB,wBAAwB,GAAGP,WAAW,CAACQ,KAAK,CAACL,cAAc,EAAEE,YAAY,GAAG,CAAC,CAAC;IAEpF,IAAIE,wBAAwB,CAACpB,MAAM,GAAG,CAAC,EAAE;MACvC,MAAMsB,aAAa,GAAGF,wBAAwB,CAAC,CAAC,CAAW;MAC3D,MAAMG,QAAQ,GAAGX,WAAW,CAACU,aAAa,CAAc;MAExDC,QAAQ,CAACb,cAAc,CAACd,IAAI,CAACF,KAAK,CAAC;MAEnC,MAAM8B,gBAAgB,GAAGJ,wBAAwB,CAACC,KAAK,CAAC,CAAC,CAAC;MAC1DG,gBAAgB,CAAC/B,OAAO,CAAEgC,SAAS,IAAK;QACtC,MAAMC,SAAS,GAAGd,WAAW,CAACa,SAAS,CAAc;QAErDF,QAAQ,CAACrB,IAAI,IAAK,KAAIwB,SAAS,CAACxB,IAAK,EAAC;QACtCqB,QAAQ,CAACvB,MAAM,IAAI0B,SAAS,CAAC1B,MAAM,GAAG,CAAC;QACvCuB,QAAQ,CAACb,cAAc,CAACd,IAAI,CAAC,GAAG8B,SAAS,CAAChB,cAAc,CAAC;MAC3D,CAAC,CAAC;MACF,IAAIc,gBAAgB,CAACxB,MAAM,GAAG,CAAC,EAAE;QAC/BY,WAAW,GAAGA,WAAW,CAACe,MAAM,CAAC,CAACb,KAAK,EAAEC,KAAK,KAAK,CAACS,gBAAgB,CAACI,QAAQ,CAACb,KAAK,CAAC,CAAC;MACvF;IACF;EACF,CAAC,CAAC;EAEF,OAAOH,WAAW;AACpB;;AAEA;AACA,SAASiB,oBAAoBA,CAACC,OAA4B,EAAEC,cAAwB,EAAEC,KAAa,EAAE;EACnG,MAAMC,aAAa,GAAGH,OAAO;EAC7B,MAAMI,UAAU,GAAGH,cAAc;EACjCE,aAAa,CAACD,KAAK,GAAGA,KAAK;EAC3BE,UAAU,CAACJ,OAAO,CAACE,KAAK,GAAG,CAACE,UAAU,CAACJ,OAAO,CAACE,KAAK,IAAI,EAAE,IAAIA,KAAK;AACrE;AAEA,SAASG,UAAUA,CAACL,OAA4B,EAAEC,cAAwB,EAAEK,IAAc,EAAEpC,MAAc,EAAE;EAC1G,MAAMqC,IAAI,GAAG1D,aAAa,CAACmD,OAAO,EAAEC,cAAc,EAAEK,IAAI,EAAEpC,MAAM,CAAC;EACjE+B,cAAc,CAACD,OAAO,CAACQ,WAAW,CAACR,OAAO,CAAC;EAC3C,OAAOO,IAAI;AACb;AAEA,SAASE,YAAYA,CAACF,IAAc,EAAE;EACpC,MAAMG,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;EACpCd,oBAAoB,CAACW,IAAI,EAAEH,IAAI,EAAE,IAAI,CAAC;EACtC,MAAMO,QAAQ,GAAGT,UAAU,CAACK,IAAI,EAAEH,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAChDF,UAAU,CAACM,QAAQ,CAACC,aAAa,CAAC,IAAI,CAAC,EAAoCE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;EAC7F,OAAOA,QAAQ;AACjB;AAEA,SAASC,gBAAgBA,CAACR,IAAc,EAAEnC,IAAY,EAAE;EACtD,MAAME,KAAK,GAAGF,IAAI,CAACG,KAAK,CAAC,IAAI,CAAC;EAC9BD,KAAK,CAACX,OAAO,CAAC,CAACc,IAAI,EAAEQ,KAAK,KAAK;IAC7B,IAAIR,IAAI,KAAK,EAAE,EAAE;MACf,MAAMiC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEb,oBAAoB,CAACW,IAAI,EAAEH,IAAI,EAAE9B,IAAI,CAAC;MACtCiC,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;MACtCH,IAAI,CAACF,WAAW,CAACG,QAAQ,CAACK,cAAc,CAACvC,IAAI,CAAC,CAAC;MAC/C4B,UAAU,CAACK,IAAI,EAAEH,IAAI,EAAE,MAAM,EAAE9B,IAAI,CAACP,MAAM,CAAC;IAC7C;IAEA,IAAIe,KAAK,GAAGX,KAAK,CAACJ,MAAM,GAAG,CAAC,IAAKe,KAAK,KAAK,CAAC,IAAIR,IAAI,KAAK,EAAG,EAAE;MAC5DgC,YAAY,CAACF,IAAI,CAAC;IACpB;EACF,CAAC,CAAC;AACJ;AAEA,SAASU,YAAYA,CAACV,IAAc,EAAEnC,IAAmB,GAAG,IAAI,EAAEF,MAAc,EAAEgD,mBAAmB,GAAG,KAAK,EAAE;EAC7G,MAAMC,CAAC,GAAGR,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EACrCO,CAAC,CAACN,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;EACnC,IAAI,CAACK,mBAAmB,EAAE;IACxBhE,eAAe,CAACiE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;EAChC;EAEA,MAAMC,KAAK,GAAGf,UAAU,CAACc,CAAC,EAAoCZ,IAAI,EAAE,MAAM,EAAErC,MAAM,CAAC;EAEnF,IAAIE,IAAI,KAAK,EAAE,EAAE;IACf;IACAqC,YAAY,CAACW,KAAK,CAAC;EACrB,CAAC,MAAM,IAAIhD,IAAI,EAAE;IACf2C,gBAAgB,CAACK,KAAK,EAAEhD,IAAI,CAAC;EAC/B;EAEA,OAAOgD,KAAK;AACd;AAEA,SAASC,eAAeA,CAACC,UAAoB,EAAEpD,MAAc,EAAEqD,aAAmC,EAAE;EAClG,MAAMb,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;EACvC3D,eAAe,CAACwD,IAAI,EAAE,OAAO,EAAEa,aAAa,CAAC;EAC7C,OAAOlB,UAAU,CAACK,IAAI,EAAEY,UAAU,EAAE,OAAO,EAAEpD,MAAM,CAAC;AACtD;;AAEA;AACA,SAASsD,sBAAsBA,CAC7BpD,IAAY,EACZX,MAAuB,EACvBgE,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxCL,mBAAmB,GAAG,KAAK,EAC3BQ,YAA6C,GAAG,IAAI,EACpD;EACA,MAAMC,WAAgC,GAAGhB,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAC9F,MAAMgB,UAAU,GAAGxD,IAAI,CAACF,MAAM;EAC9B,MAAM2D,QAAkB,GAAG;IACzB7B,OAAO,EAAE2B,WAAW;IACpBhD,KAAK,EAAE,CAAC;IACRT,MAAM,EAAE0D,UAAU;IAClBxB,UAAU,EAAE,IAAI;IAChB0B,UAAU,EAAE,EAAE;IACdxB,IAAI,EAAE,MAAM;IACZyB,UAAU,EAAE,EAAE;IACdC,mBAAmB,EAAE;EACvB,CAAC;EACD,IAAIC,iBAA2B,GAAGJ,QAAQ;EAC1C,IAAIvD,KAAK,GAAGH,kBAAkB,CAACC,IAAI,CAAC;EAEpC,IAAIX,MAAM,CAACS,MAAM,KAAK,CAAC,EAAE;IACvBI,KAAK,CAACX,OAAO,CAAEc,IAAI,IAAK;MACtBwC,YAAY,CAACY,QAAQ,EAAEpD,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACP,MAAM,EAAEgD,mBAAmB,CAAC;IACrE,CAAC,CAAC;IACF,OAAO;MAACgB,GAAG,EAAEP,WAAW;MAAEQ,IAAI,EAAEN;IAAQ,CAAC;EAC3C;EAEA,MAAMjD,cAAc,GAAGpB,aAAa,CAACC,MAAM,CAAC;EAC5Ca,KAAK,GAAGO,2BAA2B,CAACP,KAAK,EAAEM,cAAc,CAAC;EAE1D,IAAIwD,iBAAiB,GAAG,CAAC;EACzB,OAAO9D,KAAK,CAACJ,MAAM,GAAG,CAAC,EAAE;IACvB,MAAMO,IAAI,GAAGH,KAAK,CAAC+D,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC5D,IAAI,EAAE;MACT;IACF;;IAEA;IACAwD,iBAAiB,GAAGhB,YAAY,CAACY,QAAQ,EAAE,IAAI,EAAEpD,IAAI,CAACP,MAAM,EAAEgD,mBAAmB,CAAC;IAClFS,WAAW,CAACzB,KAAK,GAAG,CAACyB,WAAW,CAACzB,KAAK,IAAI,EAAE,IAAIzB,IAAI,CAACL,IAAI;IACzD,IAAIE,KAAK,CAACJ,MAAM,GAAG,CAAC,EAAE;MACpByD,WAAW,CAACzB,KAAK,GAAI,GAAEyB,WAAW,CAACzB,KAAK,IAAI,EAAG,IAAG;IACpD;IAEA,IAAIzB,IAAI,CAACG,cAAc,CAACV,MAAM,KAAK,CAAC,EAAE;MACpC6C,gBAAgB,CAACkB,iBAAiB,EAAExD,IAAI,CAACL,IAAI,CAAC;IAChD;IAEA,IAAIkE,iBAAiB,GAAG,KAAK;IAE7BF,iBAAiB,GAAG3D,IAAI,CAACE,KAAK;IAC9B,MAAM4D,kBAAkB,GAAG9D,IAAI,CAACG,cAAc;IAC9C;IACA,OAAO2D,kBAAkB,CAACrE,MAAM,GAAG,CAAC,EAAE;MACpC,MAAMN,KAAK,GAAG2E,kBAAkB,CAACF,KAAK,CAAC,CAAC;MACxC,IAAI,CAACzE,KAAK,EAAE;QACV;MACF;MAEA,MAAM4E,iBAAiB,GAAG5E,KAAK,CAACe,KAAK,GAAGf,KAAK,CAACM,MAAM;MACpD,MAAMuE,mBAAmB,GAAGF,kBAAkB,CAACrE,MAAM,GAAG,CAAC,IAAI,CAAC,CAACqE,kBAAkB,CAAC,CAAC,CAAC,GAAGA,kBAAkB,CAAC,CAAC,CAAC,CAAC5D,KAAK,IAAI,CAAC,GAAGiD,UAAU;;MAEpI;MACA,MAAMc,UAAU,GAAGtF,0BAA0B,CAAC,CAACQ,KAAK,EAAE,GAAG2E,kBAAkB,CAAC,CAAC;MAC7E,IAAI,CAACD,iBAAiB,IAAII,UAAU,EAAE;QACpCT,iBAAiB,GAAGZ,eAAe,CAACY,iBAAiB,EAAExD,IAAI,CAACL,IAAI,CAACuE,SAAS,CAACP,iBAAiB,GAAG3D,IAAI,CAACE,KAAK,EAAE+D,UAAU,CAAC/D,KAAK,GAAG+D,UAAU,CAACxE,MAAM,GAAGO,IAAI,CAACE,KAAK,CAAC,CAACT,MAAM,EAAEqD,aAAa,CAAC;QACpLe,iBAAiB,GAAG,IAAI;MAC1B;MACA;MACA,MAAMM,eAAe,GAAGnE,IAAI,CAACL,IAAI,CAACuE,SAAS,CAACP,iBAAiB,GAAG3D,IAAI,CAACE,KAAK,EAAEf,KAAK,CAACe,KAAK,GAAGF,IAAI,CAACE,KAAK,CAAC;MACrG,IAAIiE,eAAe,EAAE;QACnB7B,gBAAgB,CAACkB,iBAAiB,EAAEW,eAAe,CAAC;MACtD;;MAEA;MACA,MAAMlC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAEjD,KAAK,CAAC0C,IAAI,CAAC;MAE1C,IAAI,CAACY,mBAAmB,EAAE;QACxBhE,eAAe,CAACwD,IAAI,EAAE9C,KAAK,CAAC0C,IAAI,EAAEiB,aAAa,CAAC;MAClD;MAEA,MAAMT,QAAQ,GAAGT,UAAU,CAACK,IAAI,EAAEuB,iBAAiB,EAAErE,KAAK,CAAC0C,IAAI,EAAE1C,KAAK,CAACM,MAAM,CAAC;MAE9E,IAAIuD,WAAW,IAAI,CAACP,mBAAmB,IAAIQ,YAAY,EAAE;QACvDO,iBAAiB,GAAG9E,oBAAoB,CAACuE,YAAY,EAAEO,iBAAiB,EAAErE,KAAK,EAAE2E,kBAAkB,EAAEnE,IAAI,EAAEmD,aAAa,CAAC;MAC3H;MAEA,IAAIgB,kBAAkB,CAACrE,MAAM,GAAG,CAAC,IAAIuE,mBAAmB,GAAGD,iBAAiB,IAAI5E,KAAK,CAAC0C,IAAI,KAAK,QAAQ,EAAE;QACvG;QACA2B,iBAAiB,GAAGnB,QAAQ;QAC5BsB,iBAAiB,GAAGxE,KAAK,CAACe,KAAK;MACjC,CAAC,MAAM;QACL;QACAoC,gBAAgB,CAACD,QAAQ,EAAE1C,IAAI,CAACuE,SAAS,CAAC/E,KAAK,CAACe,KAAK,EAAE6D,iBAAiB,CAAC,CAAC;QAC1EP,iBAAiB,CAACjC,OAAO,CAACE,KAAK,GAAG,CAAC+B,iBAAiB,CAACjC,OAAO,CAACE,KAAK,IAAI,EAAE,KAAKY,QAAQ,CAACd,OAAO,CAACE,KAAK,IAAI,EAAE,CAAC;QAC1GkC,iBAAiB,GAAGI,iBAAiB;QACrC;QACA,OAAOP,iBAAiB,CAAC7B,UAAU,KAAK,IAAI,IAAIqC,mBAAmB,IAAIR,iBAAiB,CAACtD,KAAK,GAAGsD,iBAAiB,CAAC/D,MAAM,EAAE;UACzH,MAAM2E,cAAc,GAAGpE,IAAI,CAACL,IAAI,CAACuE,SAAS,CAACP,iBAAiB,GAAG3D,IAAI,CAACE,KAAK,EAAEsD,iBAAiB,CAACtD,KAAK,GAAGF,IAAI,CAACE,KAAK,GAAGsD,iBAAiB,CAAC/D,MAAM,CAAC;UAC3I,IAAI2E,cAAc,EAAE;YAClB9B,gBAAgB,CAACkB,iBAAiB,EAAEY,cAAc,CAAC;UACrD;UACAT,iBAAiB,GAAGH,iBAAiB,CAACtD,KAAK,GAAGsD,iBAAiB,CAAC/D,MAAM;UACtE,IAAI+D,iBAAiB,CAAC7B,UAAU,CAACE,IAAI,KAAK,MAAM,EAAE;YAChD2B,iBAAiB,CAAC7B,UAAU,CAACJ,OAAO,CAACE,KAAK,GAAG+B,iBAAiB,CAACjC,OAAO,CAACE,KAAK,IAAI,EAAE;UACpF;UACA,IAAI7C,mBAAmB,CAAC4E,iBAAiB,CAAC3B,IAAI,CAAC,EAAE;YAC/CgC,iBAAiB,GAAG,KAAK;UAC3B;UACAL,iBAAiB,GAAGA,iBAAiB,CAAC7B,UAAU,IAAIyB,QAAQ;QAC9D;MACF;IACF;EACF;EAEA,OAAO;IAACK,GAAG,EAAEP,WAAW;IAAEQ,IAAI,EAAEN;EAAQ,CAAC;AAC3C;AAEA,SAASiB,UAAUA,CAACC,SAAkB,EAAEC,wBAAiC,EAAEC,cAA6B,EAAEC,MAAgC,EAAEC,oBAAoB,GAAG,KAAK,EAAE;EACxK,IAAI,CAACJ,SAAS,EAAE;IACd;EACF;EAEA,IAAIC,wBAAwB,IAAIC,cAAc,KAAK,IAAI,EAAE;IACvDjG,eAAe,CAACkG,MAAM,CAAC;EACzB,CAAC,MAAM,IAAID,cAAc,KAAK,IAAI,EAAE;IAClChG,iBAAiB,CAACiG,MAAM,EAAED,cAAc,EAAE,IAAI,EAAEE,oBAAoB,CAAC;EACvE;AACF;AAEA,SAASC,oBAAoBA,CAC3BF,MAAgC,EAChC9E,IAAY,EACZiF,mBAAkC,EAClC5B,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxCyB,wBAAwB,GAAG,KAAK,EAChCM,oBAAoB,GAAG,KAAK,EAC5BH,oBAAoB,GAAG,KAAK,EAC5B;EACA,MAAMhD,aAAa,GAAG+C,MAAM;;EAE5B;EACA,IAAID,cAA6B,GAAGI,mBAAmB,KAAK,IAAI,IAAIA,mBAAmB,IAAIjF,IAAI,CAACF,MAAM,GAAGmF,mBAAmB,GAAG,IAAI;EACnI,MAAMN,SAAS,GAAGpC,QAAQ,CAAC4C,aAAa,KAAKL,MAAM;EACnD,IAAIH,SAAS,IAAIM,mBAAmB,KAAK,IAAI,EAAE;IAC7C,MAAMG,SAAS,GAAGzG,wBAAwB,CAACmG,MAAM,CAAC;IAClDD,cAAc,GAAGO,SAAS,GAAGA,SAAS,CAAC7E,KAAK,GAAG,IAAI;EACrD;EACA,MAAMC,cAAc,GAAG6E,MAAM,CAACC,wBAAwB,CAACtF,IAAI,CAAC;EAC5D,IAAI,CAACA,IAAI,IAAI+B,aAAa,CAACwD,SAAS,KAAK,MAAM,IAAKxD,aAAa,IAAIA,aAAa,CAACwD,SAAS,KAAK,IAAK,EAAE;IACtGxD,aAAa,CAACwD,SAAS,GAAG,EAAE;IAC5BxD,aAAa,CAACyD,SAAS,GAAG,EAAE;EAC9B;;EAEA;EACA,IAAIxF,IAAI,EAAE;IACR,MAAM;MAAC8D,GAAG;MAAEC;IAAI,CAAC,GAAGX,sBAAsB,CAACpD,IAAI,EAAEQ,cAAc,EAAE6C,WAAW,EAAEF,aAAa,EAAE,KAAK,EAAEpB,aAAa,CAAC;IAElH,IAAImD,oBAAoB,IAAInD,aAAa,CAACwD,SAAS,KAAKzB,GAAG,CAACyB,SAAS,EAAE;MACrE,MAAME,cAAc,GAAGvG,wBAAwB,CAAC6C,aAAa,CAAC;MAC9DA,aAAa,CAACwD,SAAS,GAAG,EAAE;MAC5BxD,aAAa,CAACyD,SAAS,GAAG,EAAE;MAC5BzD,aAAa,CAACwD,SAAS,GAAGzB,GAAG,CAACyB,SAAS;MACvCpG,oBAAoB,CAAC4C,aAAa,EAAE0D,cAAc,CAAC;IACrD;IAEA/G,qBAAqB,CAACqF,IAAI,EAAEhC,aAAa,CAAC;IAC1CA,aAAa,CAACgC,IAAI,GAAGA,IAAI;IAEzBW,UAAU,CAACC,SAAS,EAAEC,wBAAwB,EAAEC,cAAc,EAAE9C,aAAa,EAAEgD,oBAAoB,CAAC;EACtG;EAEA,OAAO;IAAC/E,IAAI;IAAE6E,cAAc,EAAEA,cAAc,IAAI;EAAC,CAAC;AACpD;AAEA,SAAQG,oBAAoB,EAAE5B,sBAAsB"}
@@ -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,EAKf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAmE,MAAM,OAAO,CAAC;AAI/K,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AASnF,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;AAMD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAcF,KAAK,wBAAwB,GAAG,cAAc,GAC5C,gBAAgB,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEJ,KAAK,mBAAmB,GAAG,WAAW,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,iBAAiB,0FA4nBtB,CAAC;AAoBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAE,wBAAwB,EAAE,mBAAmB,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,EAKf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAwE,UAAU,EAAmE,MAAM,OAAO,CAAC;AAI/K,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AASnF,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;AAMD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAcF,KAAK,wBAAwB,GAAG,cAAc,GAC5C,gBAAgB,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEJ,KAAK,mBAAmB,GAAG,WAAW,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,iBAAiB,0FAkpBtB,CAAC;AAoBF,eAAe,iBAAiB,CAAC;AAEjC,YAAY,EAAC,sBAAsB,EAAE,wBAAwB,EAAE,mBAAmB,EAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { MarkdownTextInputElement } from '../../MarkdownTextInput.web';
2
2
  import type { TreeNode } from './treeUtils';
3
- declare function setCursorPosition(target: MarkdownTextInputElement, startIndex: number, endIndex?: number | null): void;
4
- declare function scrollIntoView(node: TreeNode): void;
3
+ declare function setCursorPosition(target: MarkdownTextInputElement, startIndex: number, endIndex?: number | null, shouldScrollIntoView?: boolean): void;
4
+ declare function scrollIntoView(target: MarkdownTextInputElement, node: TreeNode): void;
5
5
  declare function moveCursorToEnd(target: HTMLElement): void;
6
6
  declare function getCurrentCursorPosition(target: MarkdownTextInputElement): {
7
7
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/cursorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAE1C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,QA4C9G;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,QAAQ,QAWrC;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,WAAW,QAQ3C;AAED,iBAAS,wBAAwB,CAAC,MAAM,EAAE,wBAAwB;;;SAiCjE;AAED,iBAAS,eAAe,SAKvB;AAED,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAC,CAAC"}
1
+ {"version":3,"file":"cursorUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/cursorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAE1C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,IAAW,EAAE,oBAAoB,UAAQ,QA8C5I;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,QAwBvE;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,WAAW,QAQ3C;AAED,iBAAS,wBAAwB,CAAC,MAAM,EAAE,wBAAwB;;;SAiCjE;AAED,iBAAS,eAAe,SAKvB;AAED,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAC,CAAC"}
@@ -7,7 +7,7 @@ declare function parseRangesToHTMLNodes(text: string, ranges: MarkdownRange[], i
7
7
  dom: HTMLMarkdownElement;
8
8
  tree: TreeNode;
9
9
  };
10
- declare function updateInputStructure(target: MarkdownTextInputElement, text: string, cursorPositionIndex: number | null, isMultiline?: boolean, markdownStyle?: PartialMarkdownStyle, alwaysMoveCursorToTheEnd?: boolean, shouldForceDOMUpdate?: boolean): {
10
+ declare function updateInputStructure(target: MarkdownTextInputElement, text: string, cursorPositionIndex: number | null, isMultiline?: boolean, markdownStyle?: PartialMarkdownStyle, alwaysMoveCursorToTheEnd?: boolean, shouldForceDOMUpdate?: boolean, shouldScrollIntoView?: boolean): {
11
11
  text: string;
12
12
  cursorPosition: number;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parserUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/parserUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE/F,OAAO,KAAK,EAAW,QAAQ,EAAC,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AA2IrD,yEAAyE;AACzE,iBAAS,sBAAsB,CAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EAAE,EACvB,WAAW,UAAO,EAClB,aAAa,GAAE,oBAAyB,EACxC,mBAAmB,UAAQ,EAC3B,YAAY,GAAE,wBAAwB,GAAG,IAAW;;;EAkHrD;AAcD,iBAAS,oBAAoB,CAC3B,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,WAAW,UAAO,EAClB,aAAa,GAAE,oBAAyB,EACxC,wBAAwB,UAAQ,EAChC,oBAAoB,UAAQ;;;EAoC7B;AAED,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,CAAC"}
1
+ {"version":3,"file":"parserUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/parserUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE/F,OAAO,KAAK,EAAW,QAAQ,EAAC,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AA2IrD,yEAAyE;AACzE,iBAAS,sBAAsB,CAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EAAE,EACvB,WAAW,UAAO,EAClB,aAAa,GAAE,oBAAyB,EACxC,mBAAmB,UAAQ,EAC3B,YAAY,GAAE,wBAAwB,GAAG,IAAW;;;EAkHrD;AAcD,iBAAS,oBAAoB,CAC3B,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,WAAW,UAAO,EAClB,aAAa,GAAE,oBAAyB,EACxC,wBAAwB,UAAQ,EAChC,oBAAoB,UAAQ,EAC5B,oBAAoB,UAAQ;;;EAoC7B;AAED,OAAO,EAAC,oBAAoB,EAAE,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.157",
3
+ "version": "0.1.158",
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",
@@ -112,6 +112,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
112
112
  const history = useRef<InputHistory>();
113
113
  const dimensions = useRef<Dimensions | null>(null);
114
114
  const pasteContent = useRef<string | null>(null);
115
+ const hasJustBeenFocused = useRef<boolean>(false);
115
116
 
116
117
  if (!history.current) {
117
118
  history.current = new InputHistory(100, 150, value || '');
@@ -144,6 +145,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
144
145
  cursorPosition: number | null = null,
145
146
  shouldAddToHistory = true,
146
147
  shouldForceDOMUpdate = false,
148
+ shouldScrollIntoView = false,
147
149
  ): ParseTextResult => {
148
150
  if (!divRef.current) {
149
151
  return {text: text || '', cursorPosition: null};
@@ -152,7 +154,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
152
154
  if (text === null) {
153
155
  return {text: divRef.current.value, cursorPosition: null};
154
156
  }
155
- const parsedText = updateInputStructure(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate);
157
+ const parsedText = updateInputStructure(target, text, cursorPosition, multiline, customMarkdownStyles, false, shouldForceDOMUpdate, shouldScrollIntoView);
156
158
  divRef.current.value = parsedText.text;
157
159
 
158
160
  if (history.current && shouldAddToHistory) {
@@ -262,6 +264,19 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
262
264
  [handleSelectionChange, updateRefSelectionVariables],
263
265
  );
264
266
 
267
+ const handleOnSelect = useCallback(
268
+ (e) => {
269
+ updateSelection(e);
270
+
271
+ // If the input has just been focused, we need to scroll the cursor into view
272
+ if (divRef.current && contentSelection.current && hasJustBeenFocused.current) {
273
+ setCursorPosition(divRef.current, contentSelection.current?.start, contentSelection.current?.end, true);
274
+ hasJustBeenFocused.current = false;
275
+ }
276
+ },
277
+ [updateSelection],
278
+ );
279
+
265
280
  const handleContentSizeChange = useCallback(() => {
266
281
  if (!divRef.current || !multiline || !onContentSizeChange) {
267
282
  return;
@@ -323,7 +338,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
323
338
  newInputUpdate = redo(divRef.current);
324
339
  break;
325
340
  default:
326
- newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType);
341
+ newInputUpdate = parseText(divRef.current, parsedText, processedMarkdownStyle, newCursorPosition, true, !inputType, inputType === 'pasteText');
327
342
  }
328
343
  const {text, cursorPosition} = newInputUpdate;
329
344
  updateTextColor(divRef.current, text);
@@ -457,6 +472,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
457
472
 
458
473
  const handleFocus: FocusEventHandler<HTMLDivElement> = useCallback(
459
474
  (event) => {
475
+ hasJustBeenFocused.current = true;
460
476
  const e = event as unknown as NativeSyntheticEvent<TextInputFocusEventData>;
461
477
  const hostNode = e.target as unknown as HTMLDivElement;
462
478
  currentlyFocusedField.current = hostNode;
@@ -465,11 +481,17 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
465
481
  if (contentSelection.current) {
466
482
  setCursorPosition(divRef.current, contentSelection.current.start, contentSelection.current.end);
467
483
  } else {
468
- const valueLength = value ? value.length : divRef.current.value.length;
484
+ const valueLength = value ? value.length : (divRef.current.value || '').length;
469
485
  setCursorPosition(divRef.current, valueLength, null);
470
486
  }
471
487
  }
472
488
 
489
+ if (divRef.current) {
490
+ divRef.current.scrollIntoView({
491
+ block: 'nearest',
492
+ });
493
+ }
494
+
473
495
  if (onFocus) {
474
496
  setEventProps(e);
475
497
  onFocus(e);
@@ -613,7 +635,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
613
635
  }
614
636
  const normalizedValue = normalizeValue(value);
615
637
  divRef.current.value = normalizedValue;
616
- parseText(divRef.current, normalizedValue, processedMarkdownStyle);
638
+ parseText(divRef.current, normalizedValue, processedMarkdownStyle, null, true, false, true);
617
639
  updateTextColor(divRef.current, value);
618
640
  },
619
641
  [multiline, processedMarkdownStyle, value],
@@ -697,7 +719,7 @@ const MarkdownTextInput = React.forwardRef<TextInput, MarkdownTextInputProps>(
697
719
  spellCheck={spellCheck}
698
720
  dir={dir}
699
721
  inputMode={inputMode}
700
- onSelect={updateSelection}
722
+ onSelect={handleOnSelect}
701
723
  onTouchStart={handleTouchStart}
702
724
  />
703
725
  );
@@ -2,7 +2,7 @@ import type {MarkdownTextInputElement} from '../../MarkdownTextInput.web';
2
2
  import {findHTMLElementInTree, getTreeNodeByIndex} from './treeUtils';
3
3
  import type {TreeNode} from './treeUtils';
4
4
 
5
- function setCursorPosition(target: MarkdownTextInputElement, startIndex: number, endIndex: number | null = null) {
5
+ function setCursorPosition(target: MarkdownTextInputElement, startIndex: number, endIndex: number | null = null, shouldScrollIntoView = false) {
6
6
  // We don't want to move the cursor if the target is not focused
7
7
  if (!target.tree || target !== document.activeElement) {
8
8
  return;
@@ -45,16 +45,31 @@ function setCursorPosition(target: MarkdownTextInputElement, startIndex: number,
45
45
  selection.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
46
46
  }
47
47
 
48
- scrollIntoView(startTreeNode);
48
+ if (shouldScrollIntoView) {
49
+ scrollIntoView(target, endTreeNode);
50
+ }
49
51
  }
50
52
 
51
- function scrollIntoView(node: TreeNode) {
53
+ function scrollIntoView(target: MarkdownTextInputElement, node: TreeNode) {
54
+ const targetElement = target;
52
55
  if (node.type === 'br' && node.parentNode?.parentNode?.type === 'line') {
53
56
  // If the node is a line break, scroll to the parent paragraph, because Safari doesn't support scrollIntoView on br elements
54
57
  node.parentNode.parentNode.element.scrollIntoView({
55
58
  block: 'nearest',
56
59
  });
57
60
  } else {
61
+ const selection = window.getSelection();
62
+ if (selection && selection.rangeCount > 0) {
63
+ const range = selection.getRangeAt(0);
64
+ const caretRect = range.getBoundingClientRect();
65
+ const targetRect = target.getBoundingClientRect();
66
+
67
+ // In case the caret is below the visible input area, scroll to the end of the node
68
+ if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
69
+ targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
70
+ }
71
+ }
72
+
58
73
  node.element.scrollIntoView({
59
74
  block: 'nearest',
60
75
  });
@@ -266,7 +266,7 @@ function parseRangesToHTMLNodes(
266
266
  return {dom: rootElement, tree: rootNode};
267
267
  }
268
268
 
269
- function moveCursor(isFocused: boolean, alwaysMoveCursorToTheEnd: boolean, cursorPosition: number | null, target: MarkdownTextInputElement) {
269
+ function moveCursor(isFocused: boolean, alwaysMoveCursorToTheEnd: boolean, cursorPosition: number | null, target: MarkdownTextInputElement, shouldScrollIntoView = false) {
270
270
  if (!isFocused) {
271
271
  return;
272
272
  }
@@ -274,7 +274,7 @@ function moveCursor(isFocused: boolean, alwaysMoveCursorToTheEnd: boolean, curso
274
274
  if (alwaysMoveCursorToTheEnd || cursorPosition === null) {
275
275
  moveCursorToEnd(target);
276
276
  } else if (cursorPosition !== null) {
277
- setCursorPosition(target, cursorPosition);
277
+ setCursorPosition(target, cursorPosition, null, shouldScrollIntoView);
278
278
  }
279
279
  }
280
280
 
@@ -286,6 +286,7 @@ function updateInputStructure(
286
286
  markdownStyle: PartialMarkdownStyle = {},
287
287
  alwaysMoveCursorToTheEnd = false,
288
288
  shouldForceDOMUpdate = false,
289
+ shouldScrollIntoView = false,
289
290
  ) {
290
291
  const targetElement = target;
291
292
 
@@ -317,7 +318,7 @@ function updateInputStructure(
317
318
  updateTreeElementRefs(tree, targetElement);
318
319
  targetElement.tree = tree;
319
320
 
320
- moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement);
321
+ moveCursor(isFocused, alwaysMoveCursorToTheEnd, cursorPosition, targetElement, shouldScrollIntoView);
321
322
  }
322
323
 
323
324
  return {text, cursorPosition: cursorPosition || 0};