@expensify/react-native-live-markdown 0.1.120 → 0.1.122
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/README.md +1 -1
- package/android/src/main/java/com/expensify/livemarkdown/CustomMountingManager.java +2 -2
- package/android/src/main/java/com/expensify/livemarkdown/LiveMarkdownModule.java +0 -1
- package/android/src/main/java/com/expensify/livemarkdown/MarkdownUtils.java +1 -6
- package/android/src/main/new_arch/CMakeLists.txt +4 -2
- package/lib/commonjs/MarkdownTextInput.web.js +1 -1
- package/lib/commonjs/web/utils/inputUtils.js +1 -1
- package/lib/commonjs/web/utils/inputUtils.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +1 -1
- package/lib/module/web/utils/inputUtils.js +1 -1
- package/lib/module/web/utils/inputUtils.js.map +1 -1
- package/package.json +5 -4
- package/src/MarkdownTextInput.web.tsx +1 -1
- package/src/web/utils/inputUtils.ts +1 -1
package/README.md
CHANGED
|
@@ -132,7 +132,7 @@ Currently, `react-native-live-markdown` supports only [ExpensiMark](https://gith
|
|
|
132
132
|
|
|
133
133
|
## Compatibility
|
|
134
134
|
|
|
135
|
-
`react-native-live-markdown` requires React Native 0.
|
|
135
|
+
`react-native-live-markdown` requires React Native 0.74 or newer.
|
|
136
136
|
|
|
137
137
|
## License
|
|
138
138
|
|
|
@@ -21,8 +21,8 @@ import com.facebook.react.fabric.mounting.MountingManager;
|
|
|
21
21
|
import com.facebook.react.uimanager.PixelUtil;
|
|
22
22
|
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
23
23
|
import com.facebook.react.views.text.TextAttributeProps;
|
|
24
|
-
import com.facebook.react.views.text.TextInlineViewPlaceholderSpan;
|
|
25
24
|
import com.facebook.react.views.text.TextLayoutManagerMapBuffer;
|
|
25
|
+
import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan;
|
|
26
26
|
import com.facebook.yoga.YogaMeasureMode;
|
|
27
27
|
import com.facebook.yoga.YogaMeasureOutput;
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ public class CustomMountingManager extends MountingManager {
|
|
|
44
44
|
|
|
45
45
|
AssetManager assetManager = context.getAssets();
|
|
46
46
|
MarkdownUtils.maybeInitializeRuntime(assetManager);
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
this.markdownUtils = new MarkdownUtils(assetManager);
|
|
49
49
|
this.markdownUtils.setMarkdownStyle(new MarkdownStyle(decoratorProps, context));
|
|
50
50
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
package com.expensify.livemarkdown;
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
|
-
import com.facebook.react.bridge.UIManager;
|
|
5
4
|
import com.facebook.react.fabric.FabricUIManager;
|
|
6
5
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
7
6
|
import com.facebook.react.uimanager.common.UIManagerType;
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
package com.expensify.livemarkdown;
|
|
2
2
|
|
|
3
|
-
import static com.facebook.infer.annotation.ThreadConfined.UI;
|
|
4
|
-
|
|
5
3
|
import android.content.res.AssetManager;
|
|
6
4
|
import android.text.SpannableStringBuilder;
|
|
7
5
|
import android.text.Spanned;
|
|
8
6
|
|
|
9
7
|
import androidx.annotation.NonNull;
|
|
10
8
|
|
|
11
|
-
import com.facebook.
|
|
12
|
-
import com.facebook.infer.annotation.ThreadConfined;
|
|
13
|
-
import com.facebook.react.bridge.UiThreadUtil;
|
|
14
|
-
import com.facebook.react.views.text.CustomLineHeightSpan;
|
|
9
|
+
import com.facebook.react.views.text.internal.span.CustomLineHeightSpan;
|
|
15
10
|
import com.facebook.soloader.SoLoader;
|
|
16
11
|
|
|
17
12
|
import org.json.JSONArray;
|
|
@@ -19,7 +19,7 @@ set(RN_DIR ${LIB_ANDROID_DIR}/../example/node_modules/react-native)
|
|
|
19
19
|
|
|
20
20
|
add_library(
|
|
21
21
|
${LIB_TARGET_NAME}
|
|
22
|
-
SHARED
|
|
22
|
+
SHARED
|
|
23
23
|
${LIB_MODULE_SRCS}
|
|
24
24
|
${LIB_CUSTOM_SRCS}
|
|
25
25
|
${LIB_CODEGEN_SRCS}
|
|
@@ -42,6 +42,8 @@ target_link_libraries(
|
|
|
42
42
|
ReactAndroid::rrc_textinput
|
|
43
43
|
ReactAndroid::react_render_textlayoutmanager
|
|
44
44
|
ReactAndroid::react_render_imagemanager
|
|
45
|
+
ReactAndroid::reactnativejni
|
|
46
|
+
ReactAndroid::mapbufferjni
|
|
45
47
|
fabricjni
|
|
46
48
|
fbjni
|
|
47
49
|
folly_runtime
|
|
@@ -79,4 +81,4 @@ target_include_directories(
|
|
|
79
81
|
${CMAKE_PROJECT_NAME}
|
|
80
82
|
PUBLIC
|
|
81
83
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
82
|
-
)
|
|
84
|
+
)
|
|
@@ -86,7 +86,7 @@ function parseInnerHTMLToText(target) {
|
|
|
86
86
|
} else if (node.nodeName === 'BR') {
|
|
87
87
|
var _parentNode$parentEle;
|
|
88
88
|
const parentNode = getTopParentNode(node);
|
|
89
|
-
if (parentNode && ((_parentNode$parentEle = parentNode.parentElement) === null || _parentNode$parentEle === void 0 ? void 0 : _parentNode$parentEle.contentEditable) !== 'true') {
|
|
89
|
+
if (parentNode && ((_parentNode$parentEle = parentNode.parentElement) === null || _parentNode$parentEle === void 0 ? void 0 : _parentNode$parentEle.contentEditable) !== 'true' && !!node.getAttribute('data-id')) {
|
|
90
90
|
// Parse br elements into newlines only if their parent is not a child of the MarkdownTextInputElement (a paragraph when writing or a div when pasting).
|
|
91
91
|
// It prevents adding extra newlines when entering text
|
|
92
92
|
text += '\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_parentNode$parentEle","i","child","push"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_parentNode$parentEle","i","child","push"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ function parseInnerHTMLToText(target) {
|
|
|
76
76
|
} else if (node.nodeName === 'BR') {
|
|
77
77
|
var _parentNode$parentEle;
|
|
78
78
|
const parentNode = getTopParentNode(node);
|
|
79
|
-
if (parentNode && ((_parentNode$parentEle = parentNode.parentElement) === null || _parentNode$parentEle === void 0 ? void 0 : _parentNode$parentEle.contentEditable) !== 'true') {
|
|
79
|
+
if (parentNode && ((_parentNode$parentEle = parentNode.parentElement) === null || _parentNode$parentEle === void 0 ? void 0 : _parentNode$parentEle.contentEditable) !== 'true' && !!node.getAttribute('data-id')) {
|
|
80
80
|
// Parse br elements into newlines only if their parent is not a child of the MarkdownTextInputElement (a paragraph when writing or a div when pasting).
|
|
81
81
|
// It prevents adding extra newlines when entering text
|
|
82
82
|
text += '\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_parentNode$parentEle","i","child","push"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["ZERO_WIDTH_SPACE","isEventComposing","nativeEvent","isComposing","keyCode","getPlaceholderValue","placeholder","length","getElementHeight","node","styles","numberOfLines","tempElement","document","createElement","setAttribute","Object","assign","style","textContent","Array","fill","join","parentElement","appendChild","height","clientHeight","removeChild","normalizeValue","value","replaceAll","parseInnerHTMLToText","target","getTopParentNode","currentParentNode","parentNode","includes","_currentParentNode$pa","getAttribute","_currentParentNode","stack","text","shouldAddNewline","lastNode","childNodes","nodeName","innerHTML","_node$parentElement","pop","isTopComponent","contentEditable","nodeType","Node","TEXT_NODE","_parentNode$parentEle","i","child","push"],"sourceRoot":"../../../../src","sources":["web/utils/inputUtils.ts"],"mappings":"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"}
|
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.122",
|
|
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",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"nodemon": "^3.1.3",
|
|
92
92
|
"prettier": "2.8.8",
|
|
93
93
|
"react": "18.2.0",
|
|
94
|
-
"react-native": "0.
|
|
94
|
+
"react-native": "0.74.5",
|
|
95
95
|
"react-native-builder-bob": "^0.20.0",
|
|
96
96
|
"react-native-web": "^0.19.10",
|
|
97
97
|
"release-it": "^15.0.0",
|
|
@@ -100,7 +100,8 @@
|
|
|
100
100
|
},
|
|
101
101
|
"resolutions": {
|
|
102
102
|
"@types/react": "17.0.21",
|
|
103
|
-
"link@^2.1.1": "patch:link@npm%3A2.1.1#./.yarn/patches/link-npm-2.1.1-1c9fea076e.patch"
|
|
103
|
+
"link@^2.1.1": "patch:link@npm%3A2.1.1#./.yarn/patches/link-npm-2.1.1-1c9fea076e.patch",
|
|
104
|
+
"react-native@0.74.5": "patch:react-native@npm%3A0.74.5#./.yarn/patches/react-native-npm-0.74.5-3cfd406787.patch"
|
|
104
105
|
},
|
|
105
106
|
"peerDependencies": {
|
|
106
107
|
"react": "*",
|
|
@@ -111,7 +112,7 @@
|
|
|
111
112
|
"example",
|
|
112
113
|
"WebExample"
|
|
113
114
|
],
|
|
114
|
-
"packageManager": "yarn@3.6.
|
|
115
|
+
"packageManager": "yarn@3.6.4",
|
|
115
116
|
"engines": {
|
|
116
117
|
"node": ">= 18.0.0"
|
|
117
118
|
},
|
|
@@ -82,7 +82,7 @@ function parseInnerHTMLToText(target: MarkdownTextInputElement): string {
|
|
|
82
82
|
text += node.textContent;
|
|
83
83
|
} else if (node.nodeName === 'BR') {
|
|
84
84
|
const parentNode = getTopParentNode(node);
|
|
85
|
-
if (parentNode && parentNode.parentElement?.contentEditable !== 'true') {
|
|
85
|
+
if (parentNode && parentNode.parentElement?.contentEditable !== 'true' && !!(node as HTMLElement).getAttribute('data-id')) {
|
|
86
86
|
// Parse br elements into newlines only if their parent is not a child of the MarkdownTextInputElement (a paragraph when writing or a div when pasting).
|
|
87
87
|
// It prevents adding extra newlines when entering text
|
|
88
88
|
text += '\n';
|