@expensify/react-native-live-markdown 0.1.114 → 0.1.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/web/cursorUtils.js +15 -4
- package/lib/commonjs/web/cursorUtils.js.map +1 -1
- package/lib/module/web/cursorUtils.js +15 -4
- package/lib/module/web/cursorUtils.js.map +1 -1
- package/lib/parser/react-native-live-markdown-parser.js +1 -1
- package/lib/typescript/src/web/cursorUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/parser/react-native-live-markdown-parser.js +1 -1
- package/src/web/cursorUtils.ts +16 -4
|
@@ -139,17 +139,28 @@ function scrollCursorIntoView(target) {
|
|
|
139
139
|
if (!selection || selection && selection.rangeCount === 0) {
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
|
-
const
|
|
142
|
+
const caretRects = selection.getRangeAt(0).getClientRects();
|
|
143
|
+
|
|
144
|
+
// we'll find the caretRect from the DOMRectList above with the largest bottom value
|
|
145
|
+
let currentCaretRect = caretRects[0];
|
|
146
|
+
if (currentCaretRect) {
|
|
147
|
+
for (let i = 1; i < caretRects.length; i++) {
|
|
148
|
+
const caretRect = caretRects[i];
|
|
149
|
+
if (caretRect && caretRect.bottom > currentCaretRect.bottom) {
|
|
150
|
+
currentCaretRect = caretRect;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
143
154
|
const editableRect = target.getBoundingClientRect();
|
|
144
155
|
|
|
145
156
|
// Adjust for padding and border
|
|
146
157
|
const paddingTop = parseFloat(window.getComputedStyle(target).paddingTop);
|
|
147
158
|
const borderTop = parseFloat(window.getComputedStyle(target).borderTopWidth);
|
|
148
|
-
if (
|
|
149
|
-
const topToCaret =
|
|
159
|
+
if (currentCaretRect && !(currentCaretRect.top >= editableRect.top + paddingTop + borderTop && currentCaretRect.bottom <= editableRect.bottom - 2 * (paddingTop - borderTop))) {
|
|
160
|
+
const topToCaret = currentCaretRect.top - editableRect.top;
|
|
150
161
|
const inputHeight = editableRect.height;
|
|
151
162
|
// Chrome Rects don't include padding & border, so we're adding them manually
|
|
152
|
-
const inputOffset =
|
|
163
|
+
const inputOffset = currentCaretRect.height - inputHeight + paddingTop + borderTop + (BrowserUtils.isChromium ? 0 : 4 * (paddingTop + borderTop));
|
|
153
164
|
target.scrollTo(0, topToCaret + target.scrollTop + inputOffset);
|
|
154
165
|
}
|
|
155
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BrowserUtils","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","prevTextLength","getPrevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","selectionStart","value","isFirefox","
|
|
1
|
+
{"version":3,"names":["BrowserUtils","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","prevTextLength","getPrevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","selectionStart","value","isFirefox","caretRects","getClientRects","currentCaretRect","caretRect","bottom","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
|
|
@@ -125,17 +125,28 @@ function scrollCursorIntoView(target) {
|
|
|
125
125
|
if (!selection || selection && selection.rangeCount === 0) {
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
|
-
const
|
|
128
|
+
const caretRects = selection.getRangeAt(0).getClientRects();
|
|
129
|
+
|
|
130
|
+
// we'll find the caretRect from the DOMRectList above with the largest bottom value
|
|
131
|
+
let currentCaretRect = caretRects[0];
|
|
132
|
+
if (currentCaretRect) {
|
|
133
|
+
for (let i = 1; i < caretRects.length; i++) {
|
|
134
|
+
const caretRect = caretRects[i];
|
|
135
|
+
if (caretRect && caretRect.bottom > currentCaretRect.bottom) {
|
|
136
|
+
currentCaretRect = caretRect;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
129
140
|
const editableRect = target.getBoundingClientRect();
|
|
130
141
|
|
|
131
142
|
// Adjust for padding and border
|
|
132
143
|
const paddingTop = parseFloat(window.getComputedStyle(target).paddingTop);
|
|
133
144
|
const borderTop = parseFloat(window.getComputedStyle(target).borderTopWidth);
|
|
134
|
-
if (
|
|
135
|
-
const topToCaret =
|
|
145
|
+
if (currentCaretRect && !(currentCaretRect.top >= editableRect.top + paddingTop + borderTop && currentCaretRect.bottom <= editableRect.bottom - 2 * (paddingTop - borderTop))) {
|
|
146
|
+
const topToCaret = currentCaretRect.top - editableRect.top;
|
|
136
147
|
const inputHeight = editableRect.height;
|
|
137
148
|
// Chrome Rects don't include padding & border, so we're adding them manually
|
|
138
|
-
const inputOffset =
|
|
149
|
+
const inputOffset = currentCaretRect.height - inputHeight + paddingTop + borderTop + (BrowserUtils.isChromium ? 0 : 4 * (paddingTop + borderTop));
|
|
139
150
|
target.scrollTo(0, topToCaret + target.scrollTop + inputOffset);
|
|
140
151
|
}
|
|
141
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BrowserUtils","prevTextLength","getPrevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","i","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","e","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","n","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","selectionStart","value","isFirefox","
|
|
1
|
+
{"version":3,"names":["BrowserUtils","prevTextLength","getPrevTextLength","findTextNodes","textNodes","node","nodeType","Node","TEXT_NODE","push","i","length","childNodes","childNode","setPrevText","target","_textNodes$map","text","map","e","nodeValue","join","split","setCursorPosition","start","end","_textNodes$map2","document","activeElement","range","createRange","selectNodeContents","textCharacters","prevChar","nextChar","charCount","startNode","endNode","n","textNode","nextCharCount","undefined","setStart","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollCursorIntoView","moveCursorToEnd","getCurrentCursorPosition","rangeCount","getRangeAt","preSelectionRange","cloneRange","toString","removeSelection","removeAllRanges","selectionStart","value","isFirefox","caretRects","getClientRects","currentCaretRect","caretRect","bottom","editableRect","getBoundingClientRect","paddingTop","parseFloat","getComputedStyle","borderTop","borderTopWidth","top","topToCaret","inputHeight","height","inputOffset","isChromium","scrollTo","scrollTop"],"sourceRoot":"../../../src","sources":["web/cursorUtils.ts"],"mappings":"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"}
|