@expensify/react-native-live-markdown 0.1.170 → 0.1.171
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/utils/cursorUtils.js +13 -21
- package/lib/commonjs/web/utils/cursorUtils.js.map +1 -1
- package/lib/module/web/utils/cursorUtils.js +13 -21
- package/lib/module/web/utils/cursorUtils.js.map +1 -1
- package/lib/typescript/src/web/utils/cursorUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/web/utils/cursorUtils.ts +14 -21
|
@@ -51,29 +51,21 @@ function setCursorPosition(target, startIndex, endIndex = null, shouldScrollInto
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
function scrollIntoView(target, node) {
|
|
54
|
-
var
|
|
54
|
+
var _target$tree$childNod;
|
|
55
55
|
const targetElement = target;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const caretRect = range.getBoundingClientRect();
|
|
66
|
-
const targetRect = target.getBoundingClientRect();
|
|
67
|
-
|
|
68
|
-
// In case the caret is below the visible input area, scroll to the end of the node
|
|
69
|
-
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
70
|
-
targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
node.element.scrollIntoView({
|
|
74
|
-
block: 'nearest'
|
|
75
|
-
});
|
|
56
|
+
const orderIndex = Number(node.orderIndex.split(',')[0]);
|
|
57
|
+
const currentLine = (_target$tree$childNod = target.tree.childNodes[orderIndex]) === null || _target$tree$childNod === void 0 ? void 0 : _target$tree$childNod.element;
|
|
58
|
+
const scrollTargetElement = currentLine || node.element;
|
|
59
|
+
const caretRect = scrollTargetElement.getBoundingClientRect();
|
|
60
|
+
const targetRect = target.getBoundingClientRect();
|
|
61
|
+
// In case the caret is below the visible input area, scroll to the end of the node
|
|
62
|
+
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
63
|
+
targetElement.scrollTop = caretRect.top - targetRect.top + target.scrollTop - targetRect.height + caretRect.height + 4;
|
|
64
|
+
return;
|
|
76
65
|
}
|
|
66
|
+
scrollTargetElement.scrollIntoView({
|
|
67
|
+
block: 'nearest'
|
|
68
|
+
});
|
|
77
69
|
}
|
|
78
70
|
function moveCursorToEnd(target) {
|
|
79
71
|
const range = document.createRange();
|
|
@@ -1 +1 @@
|
|
|
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","startElement","setStart","childNodes","setEndBefore","endElement","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","
|
|
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","startElement","setStart","childNodes","setEndBefore","endElement","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_target$tree$childNod","targetElement","orderIndex","Number","split","currentLine","scrollTargetElement","caretRect","getBoundingClientRect","targetRect","top","height","scrollTop","block","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","rangeCount","getRangeAt","findHTMLElementInTree","parentNode","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
|
|
@@ -41,29 +41,21 @@ function setCursorPosition(target, startIndex, endIndex = null, shouldScrollInto
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
function scrollIntoView(target, node) {
|
|
44
|
-
var
|
|
44
|
+
var _target$tree$childNod;
|
|
45
45
|
const targetElement = target;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const caretRect = range.getBoundingClientRect();
|
|
56
|
-
const targetRect = target.getBoundingClientRect();
|
|
57
|
-
|
|
58
|
-
// In case the caret is below the visible input area, scroll to the end of the node
|
|
59
|
-
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
60
|
-
targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
node.element.scrollIntoView({
|
|
64
|
-
block: 'nearest'
|
|
65
|
-
});
|
|
46
|
+
const orderIndex = Number(node.orderIndex.split(',')[0]);
|
|
47
|
+
const currentLine = (_target$tree$childNod = target.tree.childNodes[orderIndex]) === null || _target$tree$childNod === void 0 ? void 0 : _target$tree$childNod.element;
|
|
48
|
+
const scrollTargetElement = currentLine || node.element;
|
|
49
|
+
const caretRect = scrollTargetElement.getBoundingClientRect();
|
|
50
|
+
const targetRect = target.getBoundingClientRect();
|
|
51
|
+
// In case the caret is below the visible input area, scroll to the end of the node
|
|
52
|
+
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
53
|
+
targetElement.scrollTop = caretRect.top - targetRect.top + target.scrollTop - targetRect.height + caretRect.height + 4;
|
|
54
|
+
return;
|
|
66
55
|
}
|
|
56
|
+
scrollTargetElement.scrollIntoView({
|
|
57
|
+
block: 'nearest'
|
|
58
|
+
});
|
|
67
59
|
}
|
|
68
60
|
function moveCursorToEnd(target) {
|
|
69
61
|
const range = document.createRange();
|
|
@@ -1 +1 @@
|
|
|
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","startElement","setStart","childNodes","setEndBefore","endElement","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","
|
|
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","startElement","setStart","childNodes","setEndBefore","endElement","setEnd","collapse","selection","window","getSelection","setBaseAndExtent","startContainer","startOffset","endContainer","endOffset","scrollIntoView","node","_target$tree$childNod","targetElement","orderIndex","Number","split","currentLine","scrollTargetElement","caretRect","getBoundingClientRect","targetRect","top","height","scrollTop","block","moveCursorToEnd","getCurrentCursorPosition","getHTMLElement","Text","parentElement","rangeCount","getRangeAt","parentNode","value","removeSelection","removeAllRanges"],"sourceRoot":"../../../../src","sources":["web/utils/cursorUtils.ts"],"mappings":"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"}
|
|
@@ -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,EAAE,oBAAoB,UAAQ,QAgD5I;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,
|
|
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,QAgD5I;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,QAiBvE;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expensify/react-native-live-markdown",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.171",
|
|
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",
|
|
@@ -54,28 +54,21 @@ function setCursorPosition(target: MarkdownTextInputElement, startIndex: number,
|
|
|
54
54
|
|
|
55
55
|
function scrollIntoView(target: MarkdownTextInputElement, node: TreeNode) {
|
|
56
56
|
const targetElement = target;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const targetRect = target.getBoundingClientRect();
|
|
68
|
-
|
|
69
|
-
// In case the caret is below the visible input area, scroll to the end of the node
|
|
70
|
-
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
71
|
-
targetElement.scrollTop = caretRect.top + caretRect.height - targetRect.top - targetRect.height + target.scrollTop;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
node.element.scrollIntoView({
|
|
76
|
-
block: 'nearest',
|
|
77
|
-
});
|
|
57
|
+
const orderIndex = Number(node.orderIndex.split(',')[0]);
|
|
58
|
+
const currentLine = target.tree.childNodes[orderIndex]?.element;
|
|
59
|
+
const scrollTargetElement = currentLine || node.element;
|
|
60
|
+
|
|
61
|
+
const caretRect = scrollTargetElement.getBoundingClientRect();
|
|
62
|
+
const targetRect = target.getBoundingClientRect();
|
|
63
|
+
// In case the caret is below the visible input area, scroll to the end of the node
|
|
64
|
+
if (caretRect.top + caretRect.height > targetRect.top + targetRect.height) {
|
|
65
|
+
targetElement.scrollTop = caretRect.top - targetRect.top + target.scrollTop - targetRect.height + caretRect.height + 4;
|
|
66
|
+
return;
|
|
78
67
|
}
|
|
68
|
+
|
|
69
|
+
scrollTargetElement.scrollIntoView({
|
|
70
|
+
block: 'nearest',
|
|
71
|
+
});
|
|
79
72
|
}
|
|
80
73
|
|
|
81
74
|
function moveCursorToEnd(target: HTMLElement) {
|