@expensify/react-native-live-markdown 0.1.212 → 0.1.213
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/parseExpensiMark.js +3 -35
- package/lib/commonjs/parseExpensiMark.js.map +1 -1
- package/lib/commonjs/rangeUtils.js +59 -0
- package/lib/commonjs/rangeUtils.js.map +1 -0
- package/lib/commonjs/web/utils/parserUtils.js +5 -19
- package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
- package/lib/module/parseExpensiMark.js +1 -33
- package/lib/module/parseExpensiMark.js.map +1 -1
- package/lib/module/rangeUtils.js +52 -0
- package/lib/module/rangeUtils.js.map +1 -0
- package/lib/module/web/utils/parserUtils.js +5 -19
- package/lib/module/web/utils/parserUtils.js.map +1 -1
- package/lib/typescript/src/parseExpensiMark.d.ts.map +1 -1
- package/lib/typescript/src/rangeUtils.d.ts +6 -0
- package/lib/typescript/src/rangeUtils.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/parserUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/parseExpensiMark.ts +1 -39
- package/src/rangeUtils.ts +56 -0
- package/src/web/utils/parserUtils.ts +4 -15
|
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _expensifyCommon = require("expensify-common");
|
|
10
10
|
var _utils = require("expensify-common/dist/utils");
|
|
11
11
|
var _htmlEntities = require("html-entities");
|
|
12
|
+
var _rangeUtils = require("./rangeUtils");
|
|
12
13
|
function isWeb() {
|
|
13
14
|
return _reactNative.Platform.OS === 'web';
|
|
14
15
|
}
|
|
@@ -224,39 +225,6 @@ function parseTreeToTextAndRanges(tree) {
|
|
|
224
225
|
dfs(tree);
|
|
225
226
|
return [text, ranges];
|
|
226
227
|
}
|
|
227
|
-
|
|
228
|
-
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
229
|
-
function getTagPriority(tag) {
|
|
230
|
-
switch (tag) {
|
|
231
|
-
case 'blockquote':
|
|
232
|
-
return 2;
|
|
233
|
-
case 'h1':
|
|
234
|
-
return 1;
|
|
235
|
-
default:
|
|
236
|
-
return 0;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
function sortRanges(ranges) {
|
|
240
|
-
// sort ranges by start position, then by length, then by tag hierarchy
|
|
241
|
-
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
242
|
-
}
|
|
243
|
-
function groupRanges(ranges) {
|
|
244
|
-
const lastVisibleRangeIndex = {};
|
|
245
|
-
return ranges.reduce((acc, range) => {
|
|
246
|
-
const start = range.start;
|
|
247
|
-
const end = range.start + range.length;
|
|
248
|
-
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
249
|
-
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
250
|
-
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
251
|
-
// increment depth of overlapping range
|
|
252
|
-
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
253
|
-
} else {
|
|
254
|
-
lastVisibleRangeIndex[range.type] = acc.length;
|
|
255
|
-
acc.push(range);
|
|
256
|
-
}
|
|
257
|
-
return acc;
|
|
258
|
-
}, []);
|
|
259
|
-
}
|
|
260
228
|
function parseExpensiMark(markdown) {
|
|
261
229
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
262
230
|
return [];
|
|
@@ -269,8 +237,8 @@ function parseExpensiMark(markdown) {
|
|
|
269
237
|
console.error(`[react-native-live-markdown] Parsing error: the processed text does not match the original Markdown input. This may be caused by incorrect parsing functions or invalid input Markdown.\nProcessed input: '${JSON.stringify(text)}'\nOriginal input: '${JSON.stringify(markdown)}'`);
|
|
270
238
|
return [];
|
|
271
239
|
}
|
|
272
|
-
const sortedRanges = sortRanges(ranges);
|
|
273
|
-
const groupedRanges = groupRanges(sortedRanges);
|
|
240
|
+
const sortedRanges = (0, _rangeUtils.sortRanges)(ranges);
|
|
241
|
+
const groupedRanges = (0, _rangeUtils.groupRanges)(sortedRanges);
|
|
274
242
|
return groupedRanges;
|
|
275
243
|
}
|
|
276
244
|
var _default = exports.default = parseExpensiMark;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","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","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","getTagPriority","sortRanges","sort","a","b","groupRanges","lastVisibleRangeIndex","reduce","acc","range","rangeWithSameStyleIndex","sameStyleRange","depth","parseExpensiMark","console","error","JSON","stringify","sortedRanges","groupedRanges","_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","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","sortedRanges","sortRanges","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.groupRanges = groupRanges;
|
|
7
|
+
exports.sortRanges = sortRanges;
|
|
8
|
+
exports.ungroupRanges = ungroupRanges;
|
|
9
|
+
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
10
|
+
function getTagPriority(tag) {
|
|
11
|
+
switch (tag) {
|
|
12
|
+
case 'blockquote':
|
|
13
|
+
return 2;
|
|
14
|
+
case 'h1':
|
|
15
|
+
return 1;
|
|
16
|
+
default:
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function sortRanges(ranges) {
|
|
21
|
+
// sort ranges by start position, then by length, then by tag hierarchy
|
|
22
|
+
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
23
|
+
}
|
|
24
|
+
function groupRanges(ranges) {
|
|
25
|
+
const lastVisibleRangeIndex = {};
|
|
26
|
+
return ranges.reduce((acc, range) => {
|
|
27
|
+
const start = range.start;
|
|
28
|
+
const end = range.start + range.length;
|
|
29
|
+
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
30
|
+
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
31
|
+
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
32
|
+
// increment depth of overlapping range
|
|
33
|
+
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
34
|
+
} else {
|
|
35
|
+
lastVisibleRangeIndex[range.type] = acc.length;
|
|
36
|
+
acc.push(range);
|
|
37
|
+
}
|
|
38
|
+
return acc;
|
|
39
|
+
}, []);
|
|
40
|
+
}
|
|
41
|
+
function ungroupRanges(ranges) {
|
|
42
|
+
const ungroupedRanges = [];
|
|
43
|
+
ranges.forEach(range => {
|
|
44
|
+
if (!range.depth) {
|
|
45
|
+
ungroupedRanges.push(range);
|
|
46
|
+
}
|
|
47
|
+
const {
|
|
48
|
+
depth,
|
|
49
|
+
...rangeWithoutDepth
|
|
50
|
+
} = range;
|
|
51
|
+
Array.from({
|
|
52
|
+
length: depth
|
|
53
|
+
}).forEach(() => {
|
|
54
|
+
ungroupedRanges.push(rangeWithoutDepth);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
return ungroupedRanges;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=rangeUtils.js.map
|
|
@@ -0,0 +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"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":";;;;;;;;AAEA;AACA,SAASA,cAAcA,CAACC,GAAW,EAAE;EACnC,QAAQA,GAAG;IACT,KAAK,YAAY;MACf,OAAO,CAAC;IACV,KAAK,IAAI;MACP,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF;AAEA,SAASC,UAAUA,CAACC,MAAuB,EAAE;EAC3C;EACA,OAAOA,MAAM,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,IAAID,CAAC,CAACE,MAAM,GAAGH,CAAC,CAACG,MAAM,IAAIR,cAAc,CAACM,CAAC,CAACG,IAAI,CAAC,GAAGT,cAAc,CAACK,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC,CAAC;AAChI;AAEA,SAASC,WAAWA,CAACP,MAAuB,EAAE;EAC5C,MAAMQ,qBAAuD,GAAG,CAAC,CAAC;EAElE,OAAOR,MAAM,CAACS,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACnC,MAAMP,KAAK,GAAGO,KAAK,CAACP,KAAK;IACzB,MAAMQ,GAAG,GAAGD,KAAK,CAACP,KAAK,GAAGO,KAAK,CAACN,MAAM;IAEtC,MAAMQ,uBAAuB,GAAGL,qBAAqB,CAACG,KAAK,CAACL,IAAI,CAAC;IACjE,MAAMQ,cAAc,GAAGD,uBAAuB,KAAKE,SAAS,GAAGL,GAAG,CAACG,uBAAuB,CAAC,GAAGE,SAAS;IAEvG,IAAID,cAAc,IAAIA,cAAc,CAACV,KAAK,IAAIA,KAAK,IAAIU,cAAc,CAACV,KAAK,GAAGU,cAAc,CAACT,MAAM,IAAIO,GAAG,IAAID,KAAK,CAACN,MAAM,GAAG,CAAC,EAAE;MAC9H;MACAS,cAAc,CAACE,KAAK,GAAG,CAACF,cAAc,CAACE,KAAK,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC,MAAM;MACLR,qBAAqB,CAACG,KAAK,CAACL,IAAI,CAAC,GAAGI,GAAG,CAACL,MAAM;MAC9CK,GAAG,CAACO,IAAI,CAACN,KAAK,CAAC;IACjB;IAEA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAqB,CAAC;AAC3B;AAEA,SAASQ,aAAaA,CAAClB,MAAuB,EAAmB;EAC/D,MAAMmB,eAAgC,GAAG,EAAE;EAC3CnB,MAAM,CAACoB,OAAO,CAAET,KAAK,IAAK;IACxB,IAAI,CAACA,KAAK,CAACK,KAAK,EAAE;MAChBG,eAAe,CAACF,IAAI,CAACN,KAAK,CAAC;IAC7B;IACA,MAAM;MAACK,KAAK;MAAE,GAAGK;IAAiB,CAAC,GAAGV,KAAK;IAC3CW,KAAK,CAACC,IAAI,CAAC;MAAClB,MAAM,EAAEW;IAAM,CAAC,CAAC,CAACI,OAAO,CAAC,MAAM;MACzCD,eAAe,CAACF,IAAI,CAACI,iBAAiB,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOF,eAAe;AACxB","ignoreList":[]}
|
|
@@ -9,24 +9,7 @@ var _treeUtils = require("./treeUtils");
|
|
|
9
9
|
var _cursorUtils = require("./cursorUtils");
|
|
10
10
|
var _blockUtils = require("./blockUtils");
|
|
11
11
|
var _animationUtils = require("./animationUtils");
|
|
12
|
-
|
|
13
|
-
const ungroupedRanges = [];
|
|
14
|
-
ranges.forEach(range => {
|
|
15
|
-
if (!range.depth) {
|
|
16
|
-
ungroupedRanges.push(range);
|
|
17
|
-
}
|
|
18
|
-
const {
|
|
19
|
-
depth,
|
|
20
|
-
...rangeWithoutDepth
|
|
21
|
-
} = range;
|
|
22
|
-
Array.from({
|
|
23
|
-
length: depth
|
|
24
|
-
}).forEach(() => {
|
|
25
|
-
ungroupedRanges.push(rangeWithoutDepth);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
return ungroupedRanges;
|
|
29
|
-
}
|
|
12
|
+
var _rangeUtils = require("../../rangeUtils");
|
|
30
13
|
function splitTextIntoLines(text) {
|
|
31
14
|
let lineStartIndex = 0;
|
|
32
15
|
const lines = text.split('\n').map(line => {
|
|
@@ -142,7 +125,10 @@ function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle
|
|
|
142
125
|
tree: rootNode
|
|
143
126
|
};
|
|
144
127
|
}
|
|
145
|
-
|
|
128
|
+
|
|
129
|
+
// Sort all ranges by start position, length, and by tag hierarchy so the styles and text are applied in correct order
|
|
130
|
+
const sortedRanges = (0, _rangeUtils.sortRanges)(ranges);
|
|
131
|
+
const markdownRanges = (0, _rangeUtils.ungroupRanges)(sortedRanges);
|
|
146
132
|
lines = mergeLinesWithMultilineTags(lines, markdownRanges);
|
|
147
133
|
let lastRangeEndIndex = 0;
|
|
148
134
|
while (lines.length > 0) {
|
|
@@ -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","inlineImagesProps","rootElement","textLength","rootNode","createRootTreeNode","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","parserFunction","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","getCurrentCursorPosition","innerHTML","innerText","animationTimes","getAnimationCurrentTimes","updateAnimationsTime","updateTreeElementRefs"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_treeUtils","require","_cursorUtils","_blockUtils","_animationUtils","_rangeUtils","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","length","markdownRanges","mergeLinesWithMultilineTags","ranges","mergedLines","lineIndexes","_line","index","forEach","range","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","push","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","inlineImagesProps","rootElement","textLength","rootNode","createRootTreeNode","currentParentNode","dom","tree","sortedRanges","sortRanges","ungroupRanges","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","getFirstBlockMarkdownRange","substring","textBeforeRange","extendBlockStructure","textAfterRange","isBlockMarkdownType","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","moveCursorToEnd","setCursorPosition","updateInputStructure","parserFunction","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","getCurrentCursorPosition","innerHTML","innerText","animationTimes","getAnimationCurrentTimes","updateAnimationsTime","updateTreeElementRefs"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":";;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAGA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AASA,SAASK,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;MACrBO,MAAM,EAAEH,IAAI,CAACG,MAAM;MACnBC,cAAc,EAAE;IAClB,CAAC;IACDR,cAAc,IAAII,IAAI,CAACG,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAOF,UAAU;EACnB,CAAC,CAAC;EAEF,OAAOJ,KAAK;AACd;;AAEA;AACA,SAASQ,2BAA2BA,CAACR,KAAkB,EAAES,MAAuB,EAAE;EAChF,IAAIC,WAAW,GAAG,CAAC,GAAGV,KAAK,CAAC;EAC5B,MAAMW,WAAW,GAAGD,WAAW,CAACR,GAAG,CAAC,CAACU,KAAK,EAAEC,KAAK,KAAKA,KAAK,CAAC;EAE5DJ,MAAM,CAACK,OAAO,CAAEC,KAAK,IAAK;IACxB,MAAMC,cAAc,GAAGN,WAAW,CAACO,aAAa,CAAEd,IAAI,IAAKA,IAAI,CAACE,KAAK,IAAIU,KAAK,CAACV,KAAK,CAAC;IACrF,MAAMa,YAAY,GAAGR,WAAW,CAACS,SAAS,CAAEhB,IAAI,IAAKA,IAAI,CAACE,KAAK,GAAGF,IAAI,CAACG,MAAM,IAAIS,KAAK,CAACV,KAAK,GAAGU,KAAK,CAACT,MAAM,CAAC;IAC5G,MAAMc,wBAAwB,GAAGT,WAAW,CAACU,KAAK,CAACL,cAAc,EAAEE,YAAY,GAAG,CAAC,CAAC;IAEpF,IAAIE,wBAAwB,CAACd,MAAM,GAAG,CAAC,EAAE;MACvC,MAAMgB,aAAa,GAAGF,wBAAwB,CAAC,CAAC,CAAW;MAC3D,MAAMG,QAAQ,GAAGb,WAAW,CAACY,aAAa,CAAc;MAExDC,QAAQ,CAAChB,cAAc,CAACiB,IAAI,CAACT,KAAK,CAAC;MAEnC,MAAMU,gBAAgB,GAAGL,wBAAwB,CAACC,KAAK,CAAC,CAAC,CAAC;MAC1DI,gBAAgB,CAACX,OAAO,CAAEY,SAAS,IAAK;QACtC,MAAMC,SAAS,GAAGjB,WAAW,CAACgB,SAAS,CAAc;QAErDH,QAAQ,CAACzB,IAAI,IAAI,KAAK6B,SAAS,CAAC7B,IAAI,EAAE;QACtCyB,QAAQ,CAACjB,MAAM,IAAIqB,SAAS,CAACrB,MAAM,GAAG,CAAC;QACvCiB,QAAQ,CAAChB,cAAc,CAACiB,IAAI,CAAC,GAAGG,SAAS,CAACpB,cAAc,CAAC;MAC3D,CAAC,CAAC;MACF,IAAIkB,gBAAgB,CAACnB,MAAM,GAAG,CAAC,EAAE;QAC/BI,WAAW,GAAGA,WAAW,CAACkB,MAAM,CAAC,CAAChB,KAAK,EAAEC,KAAK,KAAK,CAACY,gBAAgB,CAACI,QAAQ,CAAChB,KAAK,CAAC,CAAC;MACvF;IACF;EACF,CAAC,CAAC;EAEF,OAAOH,WAAW;AACpB;;AAEA;AACA,SAASoB,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,EAAE/B,MAAc,EAAE;EAC1G,MAAMgC,IAAI,GAAG,IAAAC,wBAAa,EAACR,OAAO,EAAEC,cAAc,EAAEK,IAAI,EAAE/B,MAAM,CAAC;EACjE0B,cAAc,CAACD,OAAO,CAACS,WAAW,CAACT,OAAO,CAAC;EAC3C,OAAOO,IAAI;AACb;AAEA,SAASG,YAAYA,CAACH,IAAc,EAAE;EACpC,MAAMI,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;EACpCf,oBAAoB,CAACY,IAAI,EAAEJ,IAAI,EAAE,IAAI,CAAC;EACtC,MAAMQ,QAAQ,GAAGV,UAAU,CAACM,IAAI,EAAEJ,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAChDF,UAAU,CAACO,QAAQ,CAACC,aAAa,CAAC,IAAI,CAAC,EAAoCE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;EAC7F,OAAOA,QAAQ;AACjB;AAEA,SAASC,gBAAgBA,CAACT,IAAc,EAAExC,IAAY,EAAE;EACtD,MAAME,KAAK,GAAGF,IAAI,CAACG,KAAK,CAAC,IAAI,CAAC;EAC9BD,KAAK,CAACc,OAAO,CAAC,CAACX,IAAI,EAAEU,KAAK,KAAK;IAC7B,IAAIV,IAAI,KAAK,EAAE,EAAE;MACf,MAAMuC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEd,oBAAoB,CAACY,IAAI,EAAEJ,IAAI,EAAEnC,IAAI,CAAC;MACtCuC,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;MACtCH,IAAI,CAACF,WAAW,CAACG,QAAQ,CAACK,cAAc,CAAC7C,IAAI,CAAC,CAAC;MAC/CiC,UAAU,CAACM,IAAI,EAAEJ,IAAI,EAAE,MAAM,EAAEnC,IAAI,CAACG,MAAM,CAAC;IAC7C;IAEA,IAAIO,KAAK,GAAGb,KAAK,CAACM,MAAM,GAAG,CAAC,IAAKO,KAAK,KAAK,CAAC,IAAIV,IAAI,KAAK,EAAG,EAAE;MAC5DsC,YAAY,CAACH,IAAI,CAAC;IACpB;EACF,CAAC,CAAC;AACJ;AAEA,SAASW,YAAYA,CAACX,IAAc,EAAExC,IAAmB,EAAEQ,MAAc,EAAE4C,mBAAmB,GAAG,KAAK,EAAE;EACtG,MAAMC,CAAC,GAAGR,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EACrCO,CAAC,CAACN,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;EACnC,IAAI,CAACK,mBAAmB,EAAE;IACxB,IAAAE,2BAAe,EAACD,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;EAChC;EAEA,MAAME,KAAK,GAAGjB,UAAU,CAACe,CAAC,EAAoCb,IAAI,EAAE,MAAM,EAAEhC,MAAM,CAAC;EAEnF,IAAIR,IAAI,KAAK,EAAE,EAAE;IACf;IACA2C,YAAY,CAACY,KAAK,CAAC;EACrB,CAAC,MAAM,IAAIvD,IAAI,EAAE;IACfiD,gBAAgB,CAACM,KAAK,EAAEvD,IAAI,CAAC;EAC/B;EAEA,OAAOuD,KAAK;AACd;AAEA,SAASC,eAAeA,CAACC,UAAoB,EAAEjD,MAAc,EAAEkD,aAAmC,EAAE;EAClG,MAAMd,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;EACvC,IAAAO,2BAAe,EAACV,IAAI,EAAE,OAAO,EAAEc,aAAa,CAAC;EAC7C,OAAOpB,UAAU,CAACM,IAAI,EAAEa,UAAU,EAAE,OAAO,EAAEjD,MAAM,CAAC;AACtD;;AAEA;AACA,SAASmD,sBAAsBA,CAC7B3D,IAAY,EACZW,MAAuB,EACvBiD,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxCN,mBAAmB,GAAG,KAAK,EAC3BS,YAA6C,GAAG,IAAI,EACpDC,iBAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,MAAMC,WAAgC,GAAGlB,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAC9F,MAAMkB,UAAU,GAAGhE,IAAI,CAACQ,MAAM;EAC9B,MAAMyD,QAAkB,GAAG,IAAAC,6BAAkB,EAACH,WAAW,EAAEC,UAAU,CAAC;EAEtE,IAAIG,iBAA2B,GAAGF,QAAQ;EAC1C,IAAI/D,KAAK,GAAGH,kBAAkB,CAACC,IAAI,CAAC;EAEpC,IAAIW,MAAM,CAACH,MAAM,KAAK,CAAC,EAAE;IACvBN,KAAK,CAACc,OAAO,CAAEX,IAAI,IAAK;MACtB8C,YAAY,CAACc,QAAQ,EAAE5D,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACG,MAAM,EAAE4C,mBAAmB,CAAC;IACrE,CAAC,CAAC;IACF,OAAO;MAACgB,GAAG,EAAEL,WAAW;MAAEM,IAAI,EAAEJ;IAAQ,CAAC;EAC3C;;EAEA;EACA,MAAMK,YAAY,GAAG,IAAAC,sBAAU,EAAC5D,MAAM,CAAC;EACvC,MAAMF,cAAc,GAAG,IAAA+D,yBAAa,EAACF,YAAY,CAAC;EAClDpE,KAAK,GAAGQ,2BAA2B,CAACR,KAAK,EAAEO,cAAc,CAAC;EAE1D,IAAIgE,iBAAiB,GAAG,CAAC;EACzB,OAAOvE,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;IACvB,MAAMH,IAAI,GAAGH,KAAK,CAACwE,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACrE,IAAI,EAAE;MACT;IACF;;IAEA;IACA8D,iBAAiB,GAAGhB,YAAY,CAACc,QAAQ,EAAE,IAAI,EAAE5D,IAAI,CAACG,MAAM,EAAE4C,mBAAmB,CAAC;IAClFW,WAAW,CAAC5B,KAAK,GAAG,CAAC4B,WAAW,CAAC5B,KAAK,IAAI,EAAE,IAAI9B,IAAI,CAACL,IAAI;IACzD,IAAIE,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;MACpBuD,WAAW,CAAC5B,KAAK,GAAG,GAAG4B,WAAW,CAAC5B,KAAK,IAAI,EAAE,IAAI;IACpD;IAEA,IAAI9B,IAAI,CAACI,cAAc,CAACD,MAAM,KAAK,CAAC,EAAE;MACpCyC,gBAAgB,CAACkB,iBAAiB,EAAE9D,IAAI,CAACL,IAAI,CAAC;IAChD;IAEA,IAAI2E,iBAAiB,GAAG,KAAK;IAE7BF,iBAAiB,GAAGpE,IAAI,CAACE,KAAK;IAC9B,MAAMqE,kBAAkB,GAAGvE,IAAI,CAACI,cAAc;IAC9C;IACA,OAAOmE,kBAAkB,CAACpE,MAAM,GAAG,CAAC,EAAE;MACpC,MAAMS,KAAK,GAAG2D,kBAAkB,CAACF,KAAK,CAAC,CAAC;MACxC,IAAI,CAACzD,KAAK,EAAE;QACV;MACF;MAEA,MAAM4D,iBAAiB,GAAG5D,KAAK,CAACV,KAAK,GAAGU,KAAK,CAACT,MAAM;MACpD,MAAMsE,mBAAmB,GAAGF,kBAAkB,CAACpE,MAAM,GAAG,CAAC,IAAI,CAAC,CAACoE,kBAAkB,CAAC,CAAC,CAAC,GAAGA,kBAAkB,CAAC,CAAC,CAAC,CAACrE,KAAK,IAAI,CAAC,GAAGyD,UAAU;;MAEpI;MACA,MAAMe,UAAU,GAAG,IAAAC,sCAA0B,EAAC,CAAC/D,KAAK,EAAE,GAAG2D,kBAAkB,CAAC,CAAC;MAC7E,IAAI,CAACD,iBAAiB,IAAII,UAAU,EAAE;QACpCZ,iBAAiB,GAAGX,eAAe,CAACW,iBAAiB,EAAE9D,IAAI,CAACL,IAAI,CAACiF,SAAS,CAACR,iBAAiB,GAAGpE,IAAI,CAACE,KAAK,EAAEwE,UAAU,CAACxE,KAAK,GAAGwE,UAAU,CAACvE,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,CAACC,MAAM,EAAEkD,aAAa,CAAC;QACpLiB,iBAAiB,GAAG,IAAI;MAC1B;MACA;MACA,MAAMO,eAAe,GAAG7E,IAAI,CAACL,IAAI,CAACiF,SAAS,CAACR,iBAAiB,GAAGpE,IAAI,CAACE,KAAK,EAAEU,KAAK,CAACV,KAAK,GAAGF,IAAI,CAACE,KAAK,CAAC;MACrG,IAAI2E,eAAe,EAAE;QACnBjC,gBAAgB,CAACkB,iBAAiB,EAAEe,eAAe,CAAC;MACtD;;MAEA;MACA,MAAMtC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE9B,KAAK,CAACsB,IAAI,CAAC;MAE1C,IAAI,CAACa,mBAAmB,EAAE;QACxB,IAAAE,2BAAe,EAACV,IAAI,EAAE3B,KAAK,CAACsB,IAAI,EAAEmB,aAAa,CAAC;MAClD;MAEA,MAAMV,QAAQ,GAAGV,UAAU,CAACM,IAAI,EAAEuB,iBAAiB,EAAElD,KAAK,CAACsB,IAAI,EAAEtB,KAAK,CAACT,MAAM,CAAC;MAE9E,IAAIoD,WAAW,IAAI,CAACR,mBAAmB,IAAIS,YAAY,EAAE;QACvDM,iBAAiB,GAAG,IAAAgB,gCAAoB,EAACtB,YAAY,EAAEM,iBAAiB,EAAElD,KAAK,EAAE2D,kBAAkB,EAAE5E,IAAI,EAAE0D,aAAa,EAAEI,iBAAiB,CAAC;MAC9I;MAEA,IAAIc,kBAAkB,CAACpE,MAAM,GAAG,CAAC,IAAIsE,mBAAmB,GAAGD,iBAAiB,IAAI5D,KAAK,CAACsB,IAAI,KAAK,QAAQ,EAAE;QACvG;QACA4B,iBAAiB,GAAGnB,QAAQ;QAC5ByB,iBAAiB,GAAGxD,KAAK,CAACV,KAAK;MACjC,CAAC,MAAM;QACL;QACA0C,gBAAgB,CAACD,QAAQ,EAAEhD,IAAI,CAACiF,SAAS,CAAChE,KAAK,CAACV,KAAK,EAAEsE,iBAAiB,CAAC,CAAC;QAC1EV,iBAAiB,CAAClC,OAAO,CAACE,KAAK,GAAG,CAACgC,iBAAiB,CAAClC,OAAO,CAACE,KAAK,IAAI,EAAE,KAAKa,QAAQ,CAACf,OAAO,CAACE,KAAK,IAAI,EAAE,CAAC;QAC1GsC,iBAAiB,GAAGI,iBAAiB;QACrC;QACA,OAAOV,iBAAiB,CAAC9B,UAAU,KAAK,IAAI,IAAIyC,mBAAmB,IAAIX,iBAAiB,CAAC5D,KAAK,GAAG4D,iBAAiB,CAAC3D,MAAM,EAAE;UACzH,MAAM4E,cAAc,GAAG/E,IAAI,CAACL,IAAI,CAACiF,SAAS,CAACR,iBAAiB,GAAGpE,IAAI,CAACE,KAAK,EAAE4D,iBAAiB,CAAC5D,KAAK,GAAGF,IAAI,CAACE,KAAK,GAAG4D,iBAAiB,CAAC3D,MAAM,CAAC;UAC3I,IAAI4E,cAAc,EAAE;YAClBnC,gBAAgB,CAACkB,iBAAiB,EAAEiB,cAAc,CAAC;UACrD;UACAX,iBAAiB,GAAGN,iBAAiB,CAAC5D,KAAK,GAAG4D,iBAAiB,CAAC3D,MAAM;UACtE,IAAI2D,iBAAiB,CAAC9B,UAAU,CAACE,IAAI,KAAK,MAAM,EAAE;YAChD4B,iBAAiB,CAAC9B,UAAU,CAACJ,OAAO,CAACE,KAAK,GAAGgC,iBAAiB,CAAClC,OAAO,CAACE,KAAK,IAAI,EAAE;UACpF;UACA,IAAI,IAAAkD,+BAAmB,EAAClB,iBAAiB,CAAC5B,IAAI,CAAC,EAAE;YAC/CoC,iBAAiB,GAAG,KAAK;UAC3B;UACAR,iBAAiB,GAAGA,iBAAiB,CAAC9B,UAAU,IAAI4B,QAAQ;QAC9D;MACF;IACF;EACF;EAEA,OAAO;IAACG,GAAG,EAAEL,WAAW;IAAEM,IAAI,EAAEJ;EAAQ,CAAC;AAC3C;AAEA,SAASqB,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;IACvD,IAAAG,4BAAe,EAACF,MAAM,CAAC;EACzB,CAAC,MAAM,IAAID,cAAc,KAAK,IAAI,EAAE;IAClC,IAAAI,8BAAiB,EAACH,MAAM,EAAED,cAAc,EAAE,IAAI,EAAEE,oBAAoB,CAAC;EACvE;AACF;AAEA,SAASG,oBAAoBA,CAC3BC,cAAkD,EAClDL,MAAgC,EAChC1F,IAAY,EACZgG,mBAAkC,EAClCpC,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxC8B,wBAAwB,GAAG,KAAK,EAChCS,oBAAoB,GAAG,KAAK,EAC5BN,oBAAoB,GAAG,KAAK,EAC5B7B,iBAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,MAAM1B,aAAa,GAAGsD,MAAM;;EAE5B;EACA,IAAID,cAA6B,GAAGO,mBAAmB,KAAK,IAAI,IAAIA,mBAAmB,IAAIhG,IAAI,CAACQ,MAAM,GAAGwF,mBAAmB,GAAG,IAAI;EACnI,MAAMT,SAAS,GAAG1C,QAAQ,CAACqD,aAAa,KAAKR,MAAM;EACnD,IAAIH,SAAS,IAAIS,mBAAmB,KAAK,IAAI,EAAE;IAC7C,MAAMG,SAAS,GAAG,IAAAC,qCAAwB,EAACV,MAAM,CAAC;IAClDD,cAAc,GAAGU,SAAS,GAAGA,SAAS,CAAC5F,KAAK,GAAG,IAAI;EACrD;EACA,MAAME,cAAc,GAAGsF,cAAc,CAAC/F,IAAI,CAAC;EAC3C,IAAI,CAACA,IAAI,IAAIoC,aAAa,CAACiE,SAAS,KAAK,MAAM,IAAKjE,aAAa,IAAIA,aAAa,CAACiE,SAAS,KAAK,IAAK,EAAE;IACtGjE,aAAa,CAACiE,SAAS,GAAG,EAAE;IAC5BjE,aAAa,CAACkE,SAAS,GAAG,EAAE;EAC9B;;EAEA;EACA,IAAItG,IAAI,EAAE;IACR,MAAM;MAACoE,GAAG;MAAEC;IAAI,CAAC,GAAGV,sBAAsB,CAAC3D,IAAI,EAAES,cAAc,EAAEmD,WAAW,EAAEF,aAAa,EAAE,KAAK,EAAEtB,aAAa,EAAE0B,iBAAiB,CAAC;IAErI,IAAImC,oBAAoB,IAAI7D,aAAa,CAACiE,SAAS,KAAKjC,GAAG,CAACiC,SAAS,EAAE;MACrE,MAAME,cAAc,GAAG,IAAAC,wCAAwB,EAACpE,aAAa,CAAC;MAC9DA,aAAa,CAACiE,SAAS,GAAG,EAAE;MAC5BjE,aAAa,CAACkE,SAAS,GAAG,EAAE;MAC5BlE,aAAa,CAACiE,SAAS,GAAGjC,GAAG,CAACiC,SAAS;MACvC,IAAAI,oCAAoB,EAACrE,aAAa,EAAEmE,cAAc,CAAC;IACrD;IAEA,IAAAG,gCAAqB,EAACrC,IAAI,EAAEjC,aAAa,CAAC;IAC1CA,aAAa,CAACiC,IAAI,GAAGA,IAAI;IAEzBiB,UAAU,CAACC,SAAS,EAAEC,wBAAwB,EAAEC,cAAc,EAAErD,aAAa,EAAEuD,oBAAoB,CAAC;EACtG,CAAC,MAAM;IACLvD,aAAa,CAACiC,IAAI,GAAG,IAAAH,6BAAkB,EAAC9B,aAAa,CAAC;EACxD;EAEA,OAAO;IAACpC,IAAI;IAAEyF,cAAc,EAAEA,cAAc,IAAI;EAAC,CAAC;AACpD","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import { ExpensiMark } from 'expensify-common';
|
|
5
5
|
import { unescapeText } from 'expensify-common/dist/utils';
|
|
6
6
|
import { decode } from 'html-entities';
|
|
7
|
+
import { groupRanges, sortRanges } from './rangeUtils';
|
|
7
8
|
function isWeb() {
|
|
8
9
|
return Platform.OS === 'web';
|
|
9
10
|
}
|
|
@@ -219,39 +220,6 @@ function parseTreeToTextAndRanges(tree) {
|
|
|
219
220
|
dfs(tree);
|
|
220
221
|
return [text, ranges];
|
|
221
222
|
}
|
|
222
|
-
|
|
223
|
-
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
224
|
-
function getTagPriority(tag) {
|
|
225
|
-
switch (tag) {
|
|
226
|
-
case 'blockquote':
|
|
227
|
-
return 2;
|
|
228
|
-
case 'h1':
|
|
229
|
-
return 1;
|
|
230
|
-
default:
|
|
231
|
-
return 0;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
function sortRanges(ranges) {
|
|
235
|
-
// sort ranges by start position, then by length, then by tag hierarchy
|
|
236
|
-
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
237
|
-
}
|
|
238
|
-
function groupRanges(ranges) {
|
|
239
|
-
const lastVisibleRangeIndex = {};
|
|
240
|
-
return ranges.reduce((acc, range) => {
|
|
241
|
-
const start = range.start;
|
|
242
|
-
const end = range.start + range.length;
|
|
243
|
-
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
244
|
-
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
245
|
-
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
246
|
-
// increment depth of overlapping range
|
|
247
|
-
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
248
|
-
} else {
|
|
249
|
-
lastVisibleRangeIndex[range.type] = acc.length;
|
|
250
|
-
acc.push(range);
|
|
251
|
-
}
|
|
252
|
-
return acc;
|
|
253
|
-
}, []);
|
|
254
|
-
}
|
|
255
223
|
function parseExpensiMark(markdown) {
|
|
256
224
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
257
225
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","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","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","getTagPriority","sortRanges","sort","a","b","groupRanges","lastVisibleRangeIndex","reduce","acc","range","rangeWithSameStyleIndex","sameStyleRange","depth","parseExpensiMark","console","error","JSON","stringify","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","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","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
2
|
+
function getTagPriority(tag) {
|
|
3
|
+
switch (tag) {
|
|
4
|
+
case 'blockquote':
|
|
5
|
+
return 2;
|
|
6
|
+
case 'h1':
|
|
7
|
+
return 1;
|
|
8
|
+
default:
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function sortRanges(ranges) {
|
|
13
|
+
// sort ranges by start position, then by length, then by tag hierarchy
|
|
14
|
+
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
15
|
+
}
|
|
16
|
+
function groupRanges(ranges) {
|
|
17
|
+
const lastVisibleRangeIndex = {};
|
|
18
|
+
return ranges.reduce((acc, range) => {
|
|
19
|
+
const start = range.start;
|
|
20
|
+
const end = range.start + range.length;
|
|
21
|
+
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
22
|
+
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
23
|
+
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
24
|
+
// increment depth of overlapping range
|
|
25
|
+
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
26
|
+
} else {
|
|
27
|
+
lastVisibleRangeIndex[range.type] = acc.length;
|
|
28
|
+
acc.push(range);
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
}, []);
|
|
32
|
+
}
|
|
33
|
+
function ungroupRanges(ranges) {
|
|
34
|
+
const ungroupedRanges = [];
|
|
35
|
+
ranges.forEach(range => {
|
|
36
|
+
if (!range.depth) {
|
|
37
|
+
ungroupedRanges.push(range);
|
|
38
|
+
}
|
|
39
|
+
const {
|
|
40
|
+
depth,
|
|
41
|
+
...rangeWithoutDepth
|
|
42
|
+
} = range;
|
|
43
|
+
Array.from({
|
|
44
|
+
length: depth
|
|
45
|
+
}).forEach(() => {
|
|
46
|
+
ungroupedRanges.push(rangeWithoutDepth);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
return ungroupedRanges;
|
|
50
|
+
}
|
|
51
|
+
export { sortRanges, groupRanges, ungroupRanges };
|
|
52
|
+
//# sourceMappingURL=rangeUtils.js.map
|
|
@@ -0,0 +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"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"AAEA;AACA,SAASA,cAAcA,CAACC,GAAW,EAAE;EACnC,QAAQA,GAAG;IACT,KAAK,YAAY;MACf,OAAO,CAAC;IACV,KAAK,IAAI;MACP,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF;AAEA,SAASC,UAAUA,CAACC,MAAuB,EAAE;EAC3C;EACA,OAAOA,MAAM,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,IAAID,CAAC,CAACE,MAAM,GAAGH,CAAC,CAACG,MAAM,IAAIR,cAAc,CAACM,CAAC,CAACG,IAAI,CAAC,GAAGT,cAAc,CAACK,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC,CAAC;AAChI;AAEA,SAASC,WAAWA,CAACP,MAAuB,EAAE;EAC5C,MAAMQ,qBAAuD,GAAG,CAAC,CAAC;EAElE,OAAOR,MAAM,CAACS,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACnC,MAAMP,KAAK,GAAGO,KAAK,CAACP,KAAK;IACzB,MAAMQ,GAAG,GAAGD,KAAK,CAACP,KAAK,GAAGO,KAAK,CAACN,MAAM;IAEtC,MAAMQ,uBAAuB,GAAGL,qBAAqB,CAACG,KAAK,CAACL,IAAI,CAAC;IACjE,MAAMQ,cAAc,GAAGD,uBAAuB,KAAKE,SAAS,GAAGL,GAAG,CAACG,uBAAuB,CAAC,GAAGE,SAAS;IAEvG,IAAID,cAAc,IAAIA,cAAc,CAACV,KAAK,IAAIA,KAAK,IAAIU,cAAc,CAACV,KAAK,GAAGU,cAAc,CAACT,MAAM,IAAIO,GAAG,IAAID,KAAK,CAACN,MAAM,GAAG,CAAC,EAAE;MAC9H;MACAS,cAAc,CAACE,KAAK,GAAG,CAACF,cAAc,CAACE,KAAK,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC,MAAM;MACLR,qBAAqB,CAACG,KAAK,CAACL,IAAI,CAAC,GAAGI,GAAG,CAACL,MAAM;MAC9CK,GAAG,CAACO,IAAI,CAACN,KAAK,CAAC;IACjB;IAEA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAqB,CAAC;AAC3B;AAEA,SAASQ,aAAaA,CAAClB,MAAuB,EAAmB;EAC/D,MAAMmB,eAAgC,GAAG,EAAE;EAC3CnB,MAAM,CAACoB,OAAO,CAAET,KAAK,IAAK;IACxB,IAAI,CAACA,KAAK,CAACK,KAAK,EAAE;MAChBG,eAAe,CAACF,IAAI,CAACN,KAAK,CAAC;IAC7B;IACA,MAAM;MAACK,KAAK;MAAE,GAAGK;IAAiB,CAAC,GAAGV,KAAK;IAC3CW,KAAK,CAACC,IAAI,CAAC;MAAClB,MAAM,EAAEW;IAAM,CAAC,CAAC,CAACI,OAAO,CAAC,MAAM;MACzCD,eAAe,CAACF,IAAI,CAACI,iBAAiB,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOF,eAAe;AACxB;AAEA,SAAQpB,UAAU,EAAEQ,WAAW,EAAEW,aAAa","ignoreList":[]}
|
|
@@ -2,24 +2,7 @@ import { addNodeToTree, createRootTreeNode, updateTreeElementRefs } from './tree
|
|
|
2
2
|
import { getCurrentCursorPosition, moveCursorToEnd, setCursorPosition } from './cursorUtils';
|
|
3
3
|
import { addStyleToBlock, extendBlockStructure, getFirstBlockMarkdownRange, isBlockMarkdownType } from './blockUtils';
|
|
4
4
|
import { getAnimationCurrentTimes, updateAnimationsTime } from './animationUtils';
|
|
5
|
-
|
|
6
|
-
const ungroupedRanges = [];
|
|
7
|
-
ranges.forEach(range => {
|
|
8
|
-
if (!range.depth) {
|
|
9
|
-
ungroupedRanges.push(range);
|
|
10
|
-
}
|
|
11
|
-
const {
|
|
12
|
-
depth,
|
|
13
|
-
...rangeWithoutDepth
|
|
14
|
-
} = range;
|
|
15
|
-
Array.from({
|
|
16
|
-
length: depth
|
|
17
|
-
}).forEach(() => {
|
|
18
|
-
ungroupedRanges.push(rangeWithoutDepth);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
return ungroupedRanges;
|
|
22
|
-
}
|
|
5
|
+
import { sortRanges, ungroupRanges } from '../../rangeUtils';
|
|
23
6
|
function splitTextIntoLines(text) {
|
|
24
7
|
let lineStartIndex = 0;
|
|
25
8
|
const lines = text.split('\n').map(line => {
|
|
@@ -135,7 +118,10 @@ function parseRangesToHTMLNodes(text, ranges, isMultiline = true, markdownStyle
|
|
|
135
118
|
tree: rootNode
|
|
136
119
|
};
|
|
137
120
|
}
|
|
138
|
-
|
|
121
|
+
|
|
122
|
+
// Sort all ranges by start position, length, and by tag hierarchy so the styles and text are applied in correct order
|
|
123
|
+
const sortedRanges = sortRanges(ranges);
|
|
124
|
+
const markdownRanges = ungroupRanges(sortedRanges);
|
|
139
125
|
lines = mergeLinesWithMultilineTags(lines, markdownRanges);
|
|
140
126
|
let lastRangeEndIndex = 0;
|
|
141
127
|
while (lines.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addNodeToTree","createRootTreeNode","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","inlineImagesProps","rootElement","textLength","rootNode","currentParentNode","dom","tree","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","updateInputStructure","parserFunction","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["addNodeToTree","createRootTreeNode","updateTreeElementRefs","getCurrentCursorPosition","moveCursorToEnd","setCursorPosition","addStyleToBlock","extendBlockStructure","getFirstBlockMarkdownRange","isBlockMarkdownType","getAnimationCurrentTimes","updateAnimationsTime","sortRanges","ungroupRanges","splitTextIntoLines","text","lineStartIndex","lines","split","map","line","lineObject","start","length","markdownRanges","mergeLinesWithMultilineTags","ranges","mergedLines","lineIndexes","_line","index","forEach","range","beginLineIndex","findLastIndex","endLineIndex","findIndex","correspondingLineIndexes","slice","mainLineIndex","mainLine","push","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","inlineImagesProps","rootElement","textLength","rootNode","currentParentNode","dom","tree","sortedRanges","lastRangeEndIndex","shift","wasBlockGenerated","lineMarkdownRanges","endOfCurrentRange","nextRangeStartIndex","blockRange","substring","textBeforeRange","textAfterRange","moveCursor","isFocused","alwaysMoveCursorToTheEnd","cursorPosition","target","shouldScrollIntoView","updateInputStructure","parserFunction","cursorPositionIndex","shouldForceDOMUpdate","activeElement","selection","innerHTML","innerText","animationTimes"],"sourceRoot":"../../../../src","sources":["web/utils/parserUtils.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;AAqO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmB3D;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MarkdownRange } from './commonTypes';
|
|
2
|
+
declare function sortRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
3
|
+
declare function groupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
4
|
+
declare function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
5
|
+
export { sortRanges, groupRanges, ungroupRanges };
|
|
6
|
+
//# sourceMappingURL=rangeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAe,MAAM,eAAe,CAAC;AAc/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,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAC,CAAC"}
|
|
@@ -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,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,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,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AA8H7E,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,EACpD,iBAAiB,GAAE,sBAA2B;;;EA4G/C;AAcD,iBAAS,oBAAoB,CAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,EAAE,EAClD,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,EAC5B,iBAAiB,GAAE,sBAA2B;;;EAsC/C;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.
|
|
3
|
+
"version": "0.1.213",
|
|
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,6 +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} from './rangeUtils';
|
|
9
10
|
|
|
10
11
|
function isWeb() {
|
|
11
12
|
return Platform.OS === 'web';
|
|
@@ -233,45 +234,6 @@ function parseTreeToTextAndRanges(tree: StackItem): [string, MarkdownRange[]] {
|
|
|
233
234
|
return [text, ranges];
|
|
234
235
|
}
|
|
235
236
|
|
|
236
|
-
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
237
|
-
function getTagPriority(tag: string) {
|
|
238
|
-
switch (tag) {
|
|
239
|
-
case 'blockquote':
|
|
240
|
-
return 2;
|
|
241
|
-
case 'h1':
|
|
242
|
-
return 1;
|
|
243
|
-
default:
|
|
244
|
-
return 0;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
function sortRanges(ranges: MarkdownRange[]) {
|
|
249
|
-
// sort ranges by start position, then by length, then by tag hierarchy
|
|
250
|
-
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
function groupRanges(ranges: MarkdownRange[]) {
|
|
254
|
-
const lastVisibleRangeIndex: {[key in MarkdownType]?: number} = {};
|
|
255
|
-
|
|
256
|
-
return ranges.reduce((acc, range) => {
|
|
257
|
-
const start = range.start;
|
|
258
|
-
const end = range.start + range.length;
|
|
259
|
-
|
|
260
|
-
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
261
|
-
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
262
|
-
|
|
263
|
-
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
264
|
-
// increment depth of overlapping range
|
|
265
|
-
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
266
|
-
} else {
|
|
267
|
-
lastVisibleRangeIndex[range.type] = acc.length;
|
|
268
|
-
acc.push(range);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
return acc;
|
|
272
|
-
}, [] as MarkdownRange[]);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
237
|
function parseExpensiMark(markdown: string): MarkdownRange[] {
|
|
276
238
|
if (markdown.length > MAX_PARSABLE_LENGTH) {
|
|
277
239
|
return [];
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type {MarkdownRange, MarkdownType} from './commonTypes';
|
|
2
|
+
|
|
3
|
+
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
4
|
+
function getTagPriority(tag: string) {
|
|
5
|
+
switch (tag) {
|
|
6
|
+
case 'blockquote':
|
|
7
|
+
return 2;
|
|
8
|
+
case 'h1':
|
|
9
|
+
return 1;
|
|
10
|
+
default:
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function sortRanges(ranges: MarkdownRange[]) {
|
|
16
|
+
// sort ranges by start position, then by length, then by tag hierarchy
|
|
17
|
+
return ranges.sort((a, b) => a.start - b.start || b.length - a.length || getTagPriority(b.type) - getTagPriority(a.type) || 0);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function groupRanges(ranges: MarkdownRange[]) {
|
|
21
|
+
const lastVisibleRangeIndex: {[key in MarkdownType]?: number} = {};
|
|
22
|
+
|
|
23
|
+
return ranges.reduce((acc, range) => {
|
|
24
|
+
const start = range.start;
|
|
25
|
+
const end = range.start + range.length;
|
|
26
|
+
|
|
27
|
+
const rangeWithSameStyleIndex = lastVisibleRangeIndex[range.type];
|
|
28
|
+
const sameStyleRange = rangeWithSameStyleIndex !== undefined ? acc[rangeWithSameStyleIndex] : undefined;
|
|
29
|
+
|
|
30
|
+
if (sameStyleRange && sameStyleRange.start <= start && sameStyleRange.start + sameStyleRange.length >= end && range.length > 1) {
|
|
31
|
+
// increment depth of overlapping range
|
|
32
|
+
sameStyleRange.depth = (sameStyleRange.depth || 1) + 1;
|
|
33
|
+
} else {
|
|
34
|
+
lastVisibleRangeIndex[range.type] = acc.length;
|
|
35
|
+
acc.push(range);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return acc;
|
|
39
|
+
}, [] as MarkdownRange[]);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
|
|
43
|
+
const ungroupedRanges: MarkdownRange[] = [];
|
|
44
|
+
ranges.forEach((range) => {
|
|
45
|
+
if (!range.depth) {
|
|
46
|
+
ungroupedRanges.push(range);
|
|
47
|
+
}
|
|
48
|
+
const {depth, ...rangeWithoutDepth} = range;
|
|
49
|
+
Array.from({length: depth!}).forEach(() => {
|
|
50
|
+
ungroupedRanges.push(rangeWithoutDepth);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return ungroupedRanges;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export {sortRanges, groupRanges, ungroupRanges};
|
|
@@ -6,6 +6,7 @@ import {getCurrentCursorPosition, moveCursorToEnd, setCursorPosition} from './cu
|
|
|
6
6
|
import {addStyleToBlock, extendBlockStructure, getFirstBlockMarkdownRange, isBlockMarkdownType} from './blockUtils';
|
|
7
7
|
import type {InlineImagesInputProps, MarkdownRange} from '../../commonTypes';
|
|
8
8
|
import {getAnimationCurrentTimes, updateAnimationsTime} from './animationUtils';
|
|
9
|
+
import {sortRanges, ungroupRanges} from '../../rangeUtils';
|
|
9
10
|
|
|
10
11
|
type Paragraph = {
|
|
11
12
|
text: string;
|
|
@@ -14,20 +15,6 @@ type Paragraph = {
|
|
|
14
15
|
markdownRanges: MarkdownRange[];
|
|
15
16
|
};
|
|
16
17
|
|
|
17
|
-
function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
|
|
18
|
-
const ungroupedRanges: MarkdownRange[] = [];
|
|
19
|
-
ranges.forEach((range) => {
|
|
20
|
-
if (!range.depth) {
|
|
21
|
-
ungroupedRanges.push(range);
|
|
22
|
-
}
|
|
23
|
-
const {depth, ...rangeWithoutDepth} = range;
|
|
24
|
-
Array.from({length: depth!}).forEach(() => {
|
|
25
|
-
ungroupedRanges.push(rangeWithoutDepth);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
return ungroupedRanges;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
18
|
function splitTextIntoLines(text: string): Paragraph[] {
|
|
32
19
|
let lineStartIndex = 0;
|
|
33
20
|
const lines: Paragraph[] = text.split('\n').map((line) => {
|
|
@@ -167,7 +154,9 @@ function parseRangesToHTMLNodes(
|
|
|
167
154
|
return {dom: rootElement, tree: rootNode};
|
|
168
155
|
}
|
|
169
156
|
|
|
170
|
-
|
|
157
|
+
// Sort all ranges by start position, length, and by tag hierarchy so the styles and text are applied in correct order
|
|
158
|
+
const sortedRanges = sortRanges(ranges);
|
|
159
|
+
const markdownRanges = ungroupRanges(sortedRanges);
|
|
171
160
|
lines = mergeLinesWithMultilineTags(lines, markdownRanges);
|
|
172
161
|
|
|
173
162
|
let lastRangeEndIndex = 0;
|