@expensify/react-native-live-markdown 0.1.304 → 0.1.306
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/android/src/main/new_arch/react/renderer/components/RNLiveMarkdownSpec/MarkdownTextInputDecoratorShadowNode.cpp +1 -1
- package/lib/commonjs/parseExpensiMark.js +5 -7
- package/lib/commonjs/parseExpensiMark.js.map +1 -1
- package/lib/commonjs/rangeUtils.js +40 -13
- package/lib/commonjs/rangeUtils.js.map +1 -1
- package/lib/commonjs/web/utils/blockUtils.js +1 -6
- package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
- package/lib/module/parseExpensiMark.js +6 -8
- package/lib/module/parseExpensiMark.js.map +1 -1
- package/lib/module/rangeUtils.js +39 -13
- package/lib/module/rangeUtils.js.map +1 -1
- package/lib/module/web/utils/blockUtils.js +1 -6
- package/lib/module/web/utils/blockUtils.js.map +1 -1
- package/lib/typescript/src/parseExpensiMark.d.ts.map +1 -1
- package/lib/typescript/src/rangeUtils.d.ts +13 -2
- package/lib/typescript/src/rangeUtils.d.ts.map +1 -1
- package/lib/typescript/src/web/utils/blockUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/parseExpensiMark.ts +6 -9
- package/src/rangeUtils.ts +38 -14
- package/src/web/utils/blockUtils.ts +0 -3
|
@@ -166,7 +166,7 @@ void MarkdownTextInputDecoratorShadowNode::layout(LayoutContext layoutContext) {
|
|
|
166
166
|
children.size() == 1 &&
|
|
167
167
|
"MarkdownTextInputDecoratorView didn't receive exactly one child");
|
|
168
168
|
|
|
169
|
-
auto child = std::static_pointer_cast<const YogaLayoutableShadowNode>(
|
|
169
|
+
auto child = std::static_pointer_cast<const YogaLayoutableShadowNode>(children[0]);
|
|
170
170
|
child->ensureUnsealed();
|
|
171
171
|
auto mutableChild = std::const_pointer_cast<YogaLayoutableShadowNode>(child);
|
|
172
172
|
|
|
@@ -233,7 +233,6 @@ function parseTreeToTextAndRanges(tree) {
|
|
|
233
233
|
dfs(tree);
|
|
234
234
|
return [text, ranges];
|
|
235
235
|
}
|
|
236
|
-
const isNative = _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'ios';
|
|
237
236
|
function parseExpensiMark(markdown) {
|
|
238
237
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
239
238
|
return [];
|
|
@@ -247,12 +246,11 @@ function parseExpensiMark(markdown) {
|
|
|
247
246
|
return [];
|
|
248
247
|
}
|
|
249
248
|
let markdownRanges = (0, _rangeUtils.sortRanges)(ranges);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
249
|
+
|
|
250
|
+
// Prevent italic and strikethrough formatting inside emojis and inline code blocks
|
|
251
|
+
const rangesToExclude = (0, _rangeUtils.getRangesToExcludeFormatting)(markdownRanges);
|
|
252
|
+
markdownRanges = (0, _rangeUtils.excludeRangeTypesFromFormatting)(markdownRanges, 'italic', rangesToExclude);
|
|
253
|
+
markdownRanges = (0, _rangeUtils.excludeRangeTypesFromFormatting)(markdownRanges, 'strikethrough', rangesToExclude);
|
|
256
254
|
const groupedRanges = (0, _rangeUtils.groupRanges)(markdownRanges);
|
|
257
255
|
return groupedRanges;
|
|
258
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","isNative","parseExpensiMark","console","error","JSON","stringify","markdownRanges","sortRanges","splitRangesOnEmojis","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","markdownRanges","sortRanges","rangesToExclude","getRangesToExcludeFormatting","excludeRangeTypesFromFormatting","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.excludeRangeTypesFromFormatting = excludeRangeTypesFromFormatting;
|
|
8
|
+
exports.getRangesToExcludeFormatting = getRangesToExcludeFormatting;
|
|
7
9
|
exports.groupRanges = groupRanges;
|
|
8
10
|
exports.sortRanges = sortRanges;
|
|
9
|
-
exports.splitRangesOnEmojis = splitRangesOnEmojis;
|
|
10
11
|
exports.ungroupRanges = ungroupRanges;
|
|
11
12
|
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
12
13
|
function getTagPriority(tag) {
|
|
@@ -60,8 +61,34 @@ function ungroupRanges(ranges) {
|
|
|
60
61
|
});
|
|
61
62
|
return ungroupedRanges;
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
|
|
67
|
+
* This includes emojis and syntaxes of inline code blocks.
|
|
68
|
+
*/
|
|
69
|
+
function getRangesToExcludeFormatting(ranges) {
|
|
70
|
+
let closingSyntaxPosition = null;
|
|
71
|
+
return ranges.filter((range, index) => {
|
|
72
|
+
const nextRange = ranges[index + 1];
|
|
73
|
+
if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
|
|
74
|
+
closingSyntaxPosition = nextRange.start + nextRange.length;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
|
|
78
|
+
closingSyntaxPosition = null;
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return range.type === 'emoji';
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
|
|
87
|
+
* @param ranges - The array of MarkdownRange objects to process.
|
|
88
|
+
* @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
|
|
89
|
+
* @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
|
|
90
|
+
*/
|
|
91
|
+
function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclude) {
|
|
65
92
|
const newRanges = [];
|
|
66
93
|
let i = 0;
|
|
67
94
|
let j = 0;
|
|
@@ -70,32 +97,32 @@ function splitRangesOnEmojis(ranges, type) {
|
|
|
70
97
|
if (!currentRange) {
|
|
71
98
|
break;
|
|
72
99
|
}
|
|
73
|
-
if (currentRange.type !==
|
|
100
|
+
if (currentRange.type !== baseMarkdownType) {
|
|
74
101
|
newRanges.push(currentRange);
|
|
75
102
|
i++;
|
|
76
103
|
} else {
|
|
77
104
|
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
78
|
-
while (j <
|
|
79
|
-
const
|
|
80
|
-
if (!
|
|
105
|
+
while (j < rangesToExclude.length) {
|
|
106
|
+
const excludeRange = rangesToExclude[j];
|
|
107
|
+
if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
|
|
81
108
|
break;
|
|
82
109
|
}
|
|
83
110
|
const currentStart = currentRange.start;
|
|
84
111
|
const currentEnd = currentRange.start + currentRange.length;
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
112
|
+
const excludeRangeStart = excludeRange.start;
|
|
113
|
+
const excludeRangeEnd = excludeRange.start + excludeRange.length;
|
|
114
|
+
if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
|
|
88
115
|
// Intersection
|
|
89
116
|
const newRange = {
|
|
90
117
|
type: currentRange.type,
|
|
91
118
|
start: currentStart,
|
|
92
|
-
length:
|
|
119
|
+
length: excludeRangeStart - currentStart,
|
|
93
120
|
...(currentRange?.depth && {
|
|
94
121
|
depth: currentRange?.depth
|
|
95
122
|
})
|
|
96
123
|
};
|
|
97
|
-
currentRange.start =
|
|
98
|
-
currentRange.length = currentEnd -
|
|
124
|
+
currentRange.start = excludeRangeEnd;
|
|
125
|
+
currentRange.length = currentEnd - excludeRangeEnd;
|
|
99
126
|
if (newRange.length > 0) {
|
|
100
127
|
newRanges.push(newRange);
|
|
101
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","excludeRangeTypesFromFormatting","getRangesToExcludeFormatting","groupRanges","sortRanges","ungroupRanges","getTagPriority","tag","ranges","sort","a","b","start","length","type","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","closingSyntaxPosition","filter","index","nextRange","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -37,12 +37,7 @@ function addStyleToBlock(targetElement, type, markdownStyle, isMultiline = true)
|
|
|
37
37
|
case 'emoji':
|
|
38
38
|
Object.assign(node.style, {
|
|
39
39
|
...markdownStyle.emoji,
|
|
40
|
-
verticalAlign: 'middle'
|
|
41
|
-
fontStyle: 'normal',
|
|
42
|
-
// remove italic
|
|
43
|
-
textDecoration: 'none',
|
|
44
|
-
// remove strikethrough
|
|
45
|
-
display: 'inline-block'
|
|
40
|
+
verticalAlign: 'middle'
|
|
46
41
|
});
|
|
47
42
|
break;
|
|
48
43
|
case 'mention-here':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styleUtils","require","_inlineImage","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","
|
|
1
|
+
{"version":3,"names":["_styleUtils","require","_inlineImage","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","parseStringWithUnitToNumber","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","exports","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","addInlineImagePreview","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import { Platform } from 'react-native';
|
|
|
5
5
|
import { ExpensiMark } from 'expensify-common';
|
|
6
6
|
import { unescapeText } from 'expensify-common/dist/utils';
|
|
7
7
|
import { decode } from 'html-entities';
|
|
8
|
-
import { groupRanges, sortRanges,
|
|
8
|
+
import { groupRanges, sortRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting } from "./rangeUtils.js";
|
|
9
9
|
function isWeb() {
|
|
10
10
|
return Platform.OS === 'web';
|
|
11
11
|
}
|
|
@@ -229,7 +229,6 @@ function parseTreeToTextAndRanges(tree) {
|
|
|
229
229
|
dfs(tree);
|
|
230
230
|
return [text, ranges];
|
|
231
231
|
}
|
|
232
|
-
const isNative = Platform.OS === 'android' || Platform.OS === 'ios';
|
|
233
232
|
function parseExpensiMark(markdown) {
|
|
234
233
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
235
234
|
return [];
|
|
@@ -243,12 +242,11 @@ function parseExpensiMark(markdown) {
|
|
|
243
242
|
return [];
|
|
244
243
|
}
|
|
245
244
|
let markdownRanges = sortRanges(ranges);
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
245
|
+
|
|
246
|
+
// Prevent italic and strikethrough formatting inside emojis and inline code blocks
|
|
247
|
+
const rangesToExclude = getRangesToExcludeFormatting(markdownRanges);
|
|
248
|
+
markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'italic', rangesToExclude);
|
|
249
|
+
markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'strikethrough', rangesToExclude);
|
|
252
250
|
const groupedRanges = groupRanges(markdownRanges);
|
|
253
251
|
return groupedRanges;
|
|
254
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","splitRangesOnEmojis","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","isNative","parseExpensiMark","console","error","JSON","stringify","markdownRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","excludeRangeTypesFromFormatting","getRangesToExcludeFormatting","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","markdownRanges","rangesToExclude","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/rangeUtils.js
CHANGED
|
@@ -53,8 +53,34 @@ function ungroupRanges(ranges) {
|
|
|
53
53
|
});
|
|
54
54
|
return ungroupedRanges;
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
|
|
59
|
+
* This includes emojis and syntaxes of inline code blocks.
|
|
60
|
+
*/
|
|
61
|
+
function getRangesToExcludeFormatting(ranges) {
|
|
62
|
+
let closingSyntaxPosition = null;
|
|
63
|
+
return ranges.filter((range, index) => {
|
|
64
|
+
const nextRange = ranges[index + 1];
|
|
65
|
+
if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
|
|
66
|
+
closingSyntaxPosition = nextRange.start + nextRange.length;
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
|
|
70
|
+
closingSyntaxPosition = null;
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
return range.type === 'emoji';
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
|
|
79
|
+
* @param ranges - The array of MarkdownRange objects to process.
|
|
80
|
+
* @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
|
|
81
|
+
* @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
|
|
82
|
+
*/
|
|
83
|
+
function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclude) {
|
|
58
84
|
const newRanges = [];
|
|
59
85
|
let i = 0;
|
|
60
86
|
let j = 0;
|
|
@@ -63,32 +89,32 @@ function splitRangesOnEmojis(ranges, type) {
|
|
|
63
89
|
if (!currentRange) {
|
|
64
90
|
break;
|
|
65
91
|
}
|
|
66
|
-
if (currentRange.type !==
|
|
92
|
+
if (currentRange.type !== baseMarkdownType) {
|
|
67
93
|
newRanges.push(currentRange);
|
|
68
94
|
i++;
|
|
69
95
|
} else {
|
|
70
96
|
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
71
|
-
while (j <
|
|
72
|
-
const
|
|
73
|
-
if (!
|
|
97
|
+
while (j < rangesToExclude.length) {
|
|
98
|
+
const excludeRange = rangesToExclude[j];
|
|
99
|
+
if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
|
|
74
100
|
break;
|
|
75
101
|
}
|
|
76
102
|
const currentStart = currentRange.start;
|
|
77
103
|
const currentEnd = currentRange.start + currentRange.length;
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
104
|
+
const excludeRangeStart = excludeRange.start;
|
|
105
|
+
const excludeRangeEnd = excludeRange.start + excludeRange.length;
|
|
106
|
+
if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
|
|
81
107
|
// Intersection
|
|
82
108
|
const newRange = {
|
|
83
109
|
type: currentRange.type,
|
|
84
110
|
start: currentStart,
|
|
85
|
-
length:
|
|
111
|
+
length: excludeRangeStart - currentStart,
|
|
86
112
|
...(currentRange?.depth && {
|
|
87
113
|
depth: currentRange?.depth
|
|
88
114
|
})
|
|
89
115
|
};
|
|
90
|
-
currentRange.start =
|
|
91
|
-
currentRange.length = currentEnd -
|
|
116
|
+
currentRange.start = excludeRangeEnd;
|
|
117
|
+
currentRange.length = currentEnd - excludeRangeEnd;
|
|
92
118
|
if (newRange.length > 0) {
|
|
93
119
|
newRanges.push(newRange);
|
|
94
120
|
}
|
|
@@ -103,5 +129,5 @@ function splitRangesOnEmojis(ranges, type) {
|
|
|
103
129
|
}
|
|
104
130
|
return newRanges;
|
|
105
131
|
}
|
|
106
|
-
export { sortRanges, groupRanges, ungroupRanges,
|
|
132
|
+
export { sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting };
|
|
107
133
|
//# sourceMappingURL=rangeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","
|
|
1
|
+
{"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","getRangesToExcludeFormatting","closingSyntaxPosition","filter","index","nextRange","excludeRangeTypesFromFormatting","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,12 +26,7 @@ function addStyleToBlock(targetElement, type, markdownStyle, isMultiline = true)
|
|
|
26
26
|
case 'emoji':
|
|
27
27
|
Object.assign(node.style, {
|
|
28
28
|
...markdownStyle.emoji,
|
|
29
|
-
verticalAlign: 'middle'
|
|
30
|
-
fontStyle: 'normal',
|
|
31
|
-
// remove italic
|
|
32
|
-
textDecoration: 'none',
|
|
33
|
-
// remove strikethrough
|
|
34
|
-
display: 'inline-block'
|
|
29
|
+
verticalAlign: 'middle'
|
|
35
30
|
});
|
|
36
31
|
break;
|
|
37
32
|
case 'mention-here':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseStringWithUnitToNumber","addInlineImagePreview","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","
|
|
1
|
+
{"version":3,"names":["parseStringWithUnitToNumber","addInlineImagePreview","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseExpensiMark.d.ts","sourceRoot":"","sources":["../../../src/parseExpensiMark.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,aAAa,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"parseExpensiMark.d.ts","sourceRoot":"","sources":["../../../src/parseExpensiMark.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,aAAa,EAAC,MAAM,eAAe,CAAC;AAyO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyB3D;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -2,6 +2,17 @@ import type { MarkdownRange, MarkdownType } from './commonTypes';
|
|
|
2
2
|
declare function sortRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
3
3
|
declare function groupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
4
4
|
declare function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
|
|
7
|
+
* This includes emojis and syntaxes of inline code blocks.
|
|
8
|
+
*/
|
|
9
|
+
declare function getRangesToExcludeFormatting(ranges: MarkdownRange[]): MarkdownRange[];
|
|
10
|
+
/**
|
|
11
|
+
* Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
|
|
12
|
+
* @param ranges - The array of MarkdownRange objects to process.
|
|
13
|
+
* @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
|
|
14
|
+
* @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
|
|
15
|
+
*/
|
|
16
|
+
declare function excludeRangeTypesFromFormatting(ranges: MarkdownRange[], baseMarkdownType: MarkdownType, rangesToExclude: MarkdownRange[]): MarkdownRange[];
|
|
17
|
+
export { sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting };
|
|
7
18
|
//# sourceMappingURL=rangeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAgB/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AAED,iBAAS,
|
|
1
|
+
{"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAgB/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AAED;;;GAGG;AACH,iBAAS,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,mBAc5D;AAED;;;;;GAKG;AACH,iBAAS,+BAA+B,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAoDnJ;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,4BAA4B,EAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/blockUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAEpD,iBAAS,eAAe,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,UAAO,
|
|
1
|
+
{"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/blockUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAEpD,iBAAS,eAAe,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,UAAO,QAkF3H;AA4CD,QAAA,MAAM,wBAAwB,UAAgB,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ,WAE1C;AAED,iBAAS,uBAAuB,CAAC,IAAI,EAAE,QAAQ,WAE9C;AAED,iBAAS,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,6BAG1D;AAED,iBAAS,oBAAoB,CAC3B,YAAY,EAAE,wBAAwB,EACtC,UAAU,EAAE,QAAQ,EACpB,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,oBAAoB,EACnC,iBAAiB,EAAE,sBAAsB,YAU1C;AAcD,iBAAS,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAEnF;AACD,iBAAS,iCAAiC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,iCAAiC,EACjC,wBAAwB,GACzB,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.306",
|
|
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",
|
package/src/parseExpensiMark.ts
CHANGED
|
@@ -6,7 +6,7 @@ import {unescapeText} from 'expensify-common/dist/utils';
|
|
|
6
6
|
import {decode} from 'html-entities';
|
|
7
7
|
import type {WorkletFunction} from 'react-native-reanimated/lib/typescript/commonTypes';
|
|
8
8
|
import type {MarkdownType, MarkdownRange} from './commonTypes';
|
|
9
|
-
import {groupRanges, sortRanges,
|
|
9
|
+
import {groupRanges, sortRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting} from './rangeUtils';
|
|
10
10
|
|
|
11
11
|
function isWeb() {
|
|
12
12
|
return Platform.OS === 'web';
|
|
@@ -238,8 +238,6 @@ function parseTreeToTextAndRanges(tree: StackItem): [string, MarkdownRange[]] {
|
|
|
238
238
|
return [text, ranges];
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
const isNative = Platform.OS === 'android' || Platform.OS === 'ios';
|
|
242
|
-
|
|
243
241
|
function parseExpensiMark(markdown: string): MarkdownRange[] {
|
|
244
242
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
245
243
|
return [];
|
|
@@ -257,12 +255,11 @@ function parseExpensiMark(markdown: string): MarkdownRange[] {
|
|
|
257
255
|
return [];
|
|
258
256
|
}
|
|
259
257
|
let markdownRanges = sortRanges(ranges);
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}
|
|
258
|
+
|
|
259
|
+
// Prevent italic and strikethrough formatting inside emojis and inline code blocks
|
|
260
|
+
const rangesToExclude = getRangesToExcludeFormatting(markdownRanges);
|
|
261
|
+
markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'italic', rangesToExclude);
|
|
262
|
+
markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'strikethrough', rangesToExclude);
|
|
266
263
|
|
|
267
264
|
const groupedRanges = groupRanges(markdownRanges);
|
|
268
265
|
return groupedRanges;
|
package/src/rangeUtils.ts
CHANGED
|
@@ -57,8 +57,33 @@ function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
|
|
|
57
57
|
return ungroupedRanges;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
|
|
62
|
+
* This includes emojis and syntaxes of inline code blocks.
|
|
63
|
+
*/
|
|
64
|
+
function getRangesToExcludeFormatting(ranges: MarkdownRange[]) {
|
|
65
|
+
let closingSyntaxPosition: number | null = null;
|
|
66
|
+
return ranges.filter((range, index) => {
|
|
67
|
+
const nextRange = ranges[index + 1];
|
|
68
|
+
if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
|
|
69
|
+
closingSyntaxPosition = nextRange.start + nextRange.length;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
|
|
73
|
+
closingSyntaxPosition = null;
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
return range.type === 'emoji';
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
|
|
82
|
+
* @param ranges - The array of MarkdownRange objects to process.
|
|
83
|
+
* @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
|
|
84
|
+
* @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
|
|
85
|
+
*/
|
|
86
|
+
function excludeRangeTypesFromFormatting(ranges: MarkdownRange[], baseMarkdownType: MarkdownType, rangesToExclude: MarkdownRange[]): MarkdownRange[] {
|
|
62
87
|
const newRanges: MarkdownRange[] = [];
|
|
63
88
|
|
|
64
89
|
let i = 0;
|
|
@@ -69,33 +94,32 @@ function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): Markd
|
|
|
69
94
|
break;
|
|
70
95
|
}
|
|
71
96
|
|
|
72
|
-
if (currentRange.type !==
|
|
97
|
+
if (currentRange.type !== baseMarkdownType) {
|
|
73
98
|
newRanges.push(currentRange);
|
|
74
99
|
i++;
|
|
75
100
|
} else {
|
|
76
101
|
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
77
|
-
while (j <
|
|
78
|
-
const
|
|
79
|
-
if (!
|
|
102
|
+
while (j < rangesToExclude.length) {
|
|
103
|
+
const excludeRange = rangesToExclude[j];
|
|
104
|
+
if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
|
|
80
105
|
break;
|
|
81
106
|
}
|
|
82
107
|
|
|
83
108
|
const currentStart: number = currentRange.start;
|
|
84
109
|
const currentEnd: number = currentRange.start + currentRange.length;
|
|
85
|
-
const
|
|
86
|
-
const
|
|
110
|
+
const excludeRangeStart: number = excludeRange.start;
|
|
111
|
+
const excludeRangeEnd: number = excludeRange.start + excludeRange.length;
|
|
87
112
|
|
|
88
|
-
if (
|
|
113
|
+
if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
|
|
89
114
|
// Intersection
|
|
90
115
|
const newRange: MarkdownRange = {
|
|
91
116
|
type: currentRange.type,
|
|
92
117
|
start: currentStart,
|
|
93
|
-
length:
|
|
118
|
+
length: excludeRangeStart - currentStart,
|
|
94
119
|
...(currentRange?.depth && {depth: currentRange?.depth}),
|
|
95
120
|
};
|
|
96
|
-
|
|
97
|
-
currentRange.
|
|
98
|
-
currentRange.length = currentEnd - emojiEnd;
|
|
121
|
+
currentRange.start = excludeRangeEnd;
|
|
122
|
+
currentRange.length = currentEnd - excludeRangeEnd;
|
|
99
123
|
|
|
100
124
|
if (newRange.length > 0) {
|
|
101
125
|
newRanges.push(newRange);
|
|
@@ -113,4 +137,4 @@ function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): Markd
|
|
|
113
137
|
return newRanges;
|
|
114
138
|
}
|
|
115
139
|
|
|
116
|
-
export {sortRanges, groupRanges, ungroupRanges,
|
|
140
|
+
export {sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting};
|
|
@@ -31,9 +31,6 @@ function addStyleToBlock(targetElement: HTMLElement, type: NodeType, markdownSty
|
|
|
31
31
|
Object.assign(node.style, {
|
|
32
32
|
...markdownStyle.emoji,
|
|
33
33
|
verticalAlign: 'middle',
|
|
34
|
-
fontStyle: 'normal', // remove italic
|
|
35
|
-
textDecoration: 'none', // remove strikethrough
|
|
36
|
-
display: 'inline-block',
|
|
37
34
|
});
|
|
38
35
|
break;
|
|
39
36
|
case 'mention-here':
|