@expensify/react-native-live-markdown 0.1.211 → 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.
@@ -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 [];
@@ -266,10 +234,11 @@ function parseExpensiMark(markdown) {
266
234
  const tree = parseTokensToTree(tokens);
267
235
  const [text, ranges] = parseTreeToTextAndRanges(tree);
268
236
  if (text !== markdown) {
269
- throw new 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)}'`);
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)}'`);
238
+ return [];
270
239
  }
271
- const sortedRanges = sortRanges(ranges);
272
- const groupedRanges = groupRanges(sortedRanges);
240
+ const sortedRanges = (0, _rangeUtils.sortRanges)(ranges);
241
+ const groupedRanges = (0, _rangeUtils.groupRanges)(sortedRanges);
273
242
  return groupedRanges;
274
243
  }
275
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","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
- function ungroupRanges(ranges) {
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
- const markdownRanges = ungroupRanges(ranges);
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":"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","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 [];
@@ -261,7 +229,8 @@ function parseExpensiMark(markdown) {
261
229
  const tree = parseTokensToTree(tokens);
262
230
  const [text, ranges] = parseTreeToTextAndRanges(tree);
263
231
  if (text !== markdown) {
264
- throw new 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)}'`);
232
+ 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)}'`);
233
+ return [];
265
234
  }
266
235
  const sortedRanges = sortRanges(ranges);
267
236
  const groupedRanges = groupRanges(sortedRanges);
@@ -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","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
- function ungroupRanges(ranges) {
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
- const markdownRanges = ungroupRanges(ranges);
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":"AACA,SAAQA,aAAa,EAAEC,kBAAkB,EAAEC,qBAAqB,QAAO,aAAa;AAGpF,SAAQC,wBAAwB,EAAEC,eAAe,EAAEC,iBAAiB,QAAO,eAAe;AAC1F,SAAQC,eAAe,EAAEC,oBAAoB,EAAEC,0BAA0B,EAAEC,mBAAmB,QAAO,cAAc;AAEnH,SAAQC,wBAAwB,EAAEC,oBAAoB,QAAO,kBAAkB;AAC/E,SAAQC,UAAU,EAAEC,aAAa,QAAO,kBAAkB;AAS1D,SAASC,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,GAAGvD,aAAa,CAACgD,OAAO,EAAEC,cAAc,EAAEK,IAAI,EAAE/B,MAAM,CAAC;EACjE0B,cAAc,CAACD,OAAO,CAACQ,WAAW,CAACR,OAAO,CAAC;EAC3C,OAAOO,IAAI;AACb;AAEA,SAASE,YAAYA,CAACF,IAAc,EAAE;EACpC,MAAMG,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;EACpCd,oBAAoB,CAACW,IAAI,EAAEH,IAAI,EAAE,IAAI,CAAC;EACtC,MAAMO,QAAQ,GAAGT,UAAU,CAACK,IAAI,EAAEH,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAChDF,UAAU,CAACM,QAAQ,CAACC,aAAa,CAAC,IAAI,CAAC,EAAoCE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;EAC7F,OAAOA,QAAQ;AACjB;AAEA,SAASC,gBAAgBA,CAACR,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,MAAMsC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEb,oBAAoB,CAACW,IAAI,EAAEH,IAAI,EAAEnC,IAAI,CAAC;MACtCsC,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;MACtCH,IAAI,CAACF,WAAW,CAACG,QAAQ,CAACK,cAAc,CAAC5C,IAAI,CAAC,CAAC;MAC/CiC,UAAU,CAACK,IAAI,EAAEH,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;MAC5DqC,YAAY,CAACF,IAAI,CAAC;IACpB;EACF,CAAC,CAAC;AACJ;AAEA,SAASU,YAAYA,CAACV,IAAc,EAAExC,IAAmB,EAAEQ,MAAc,EAAE2C,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;IACxB5D,eAAe,CAAC6D,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;EAChC;EAEA,MAAMC,KAAK,GAAGf,UAAU,CAACc,CAAC,EAAoCZ,IAAI,EAAE,MAAM,EAAEhC,MAAM,CAAC;EAEnF,IAAIR,IAAI,KAAK,EAAE,EAAE;IACf;IACA0C,YAAY,CAACW,KAAK,CAAC;EACrB,CAAC,MAAM,IAAIrD,IAAI,EAAE;IACfgD,gBAAgB,CAACK,KAAK,EAAErD,IAAI,CAAC;EAC/B;EAEA,OAAOqD,KAAK;AACd;AAEA,SAASC,eAAeA,CAACC,UAAoB,EAAE/C,MAAc,EAAEgD,aAAmC,EAAE;EAClG,MAAMb,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;EACvCvD,eAAe,CAACoD,IAAI,EAAE,OAAO,EAAEa,aAAa,CAAC;EAC7C,OAAOlB,UAAU,CAACK,IAAI,EAAEY,UAAU,EAAE,OAAO,EAAE/C,MAAM,CAAC;AACtD;;AAEA;AACA,SAASiD,sBAAsBA,CAC7BzD,IAAY,EACZW,MAAuB,EACvB+C,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxCL,mBAAmB,GAAG,KAAK,EAC3BQ,YAA6C,GAAG,IAAI,EACpDC,iBAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,MAAMC,WAAgC,GAAGjB,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;EAC9F,MAAMiB,UAAU,GAAG9D,IAAI,CAACQ,MAAM;EAC9B,MAAMuD,QAAkB,GAAG7E,kBAAkB,CAAC2E,WAAW,EAAEC,UAAU,CAAC;EAEtE,IAAIE,iBAA2B,GAAGD,QAAQ;EAC1C,IAAI7D,KAAK,GAAGH,kBAAkB,CAACC,IAAI,CAAC;EAEpC,IAAIW,MAAM,CAACH,MAAM,KAAK,CAAC,EAAE;IACvBN,KAAK,CAACc,OAAO,CAAEX,IAAI,IAAK;MACtB6C,YAAY,CAACa,QAAQ,EAAE1D,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACG,MAAM,EAAE2C,mBAAmB,CAAC;IACrE,CAAC,CAAC;IACF,OAAO;MAACc,GAAG,EAAEJ,WAAW;MAAEK,IAAI,EAAEH;IAAQ,CAAC;EAC3C;;EAEA;EACA,MAAMI,YAAY,GAAGtE,UAAU,CAACc,MAAM,CAAC;EACvC,MAAMF,cAAc,GAAGX,aAAa,CAACqE,YAAY,CAAC;EAClDjE,KAAK,GAAGQ,2BAA2B,CAACR,KAAK,EAAEO,cAAc,CAAC;EAE1D,IAAI2D,iBAAiB,GAAG,CAAC;EACzB,OAAOlE,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;IACvB,MAAMH,IAAI,GAAGH,KAAK,CAACmE,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAChE,IAAI,EAAE;MACT;IACF;;IAEA;IACA2D,iBAAiB,GAAGd,YAAY,CAACa,QAAQ,EAAE,IAAI,EAAE1D,IAAI,CAACG,MAAM,EAAE2C,mBAAmB,CAAC;IAClFU,WAAW,CAAC1B,KAAK,GAAG,CAAC0B,WAAW,CAAC1B,KAAK,IAAI,EAAE,IAAI9B,IAAI,CAACL,IAAI;IACzD,IAAIE,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;MACpBqD,WAAW,CAAC1B,KAAK,GAAG,GAAG0B,WAAW,CAAC1B,KAAK,IAAI,EAAE,IAAI;IACpD;IAEA,IAAI9B,IAAI,CAACI,cAAc,CAACD,MAAM,KAAK,CAAC,EAAE;MACpCwC,gBAAgB,CAACgB,iBAAiB,EAAE3D,IAAI,CAACL,IAAI,CAAC;IAChD;IAEA,IAAIsE,iBAAiB,GAAG,KAAK;IAE7BF,iBAAiB,GAAG/D,IAAI,CAACE,KAAK;IAC9B,MAAMgE,kBAAkB,GAAGlE,IAAI,CAACI,cAAc;IAC9C;IACA,OAAO8D,kBAAkB,CAAC/D,MAAM,GAAG,CAAC,EAAE;MACpC,MAAMS,KAAK,GAAGsD,kBAAkB,CAACF,KAAK,CAAC,CAAC;MACxC,IAAI,CAACpD,KAAK,EAAE;QACV;MACF;MAEA,MAAMuD,iBAAiB,GAAGvD,KAAK,CAACV,KAAK,GAAGU,KAAK,CAACT,MAAM;MACpD,MAAMiE,mBAAmB,GAAGF,kBAAkB,CAAC/D,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC+D,kBAAkB,CAAC,CAAC,CAAC,GAAGA,kBAAkB,CAAC,CAAC,CAAC,CAAChE,KAAK,IAAI,CAAC,GAAGuD,UAAU;;MAEpI;MACA,MAAMY,UAAU,GAAGjF,0BAA0B,CAAC,CAACwB,KAAK,EAAE,GAAGsD,kBAAkB,CAAC,CAAC;MAC7E,IAAI,CAACD,iBAAiB,IAAII,UAAU,EAAE;QACpCV,iBAAiB,GAAGV,eAAe,CAACU,iBAAiB,EAAE3D,IAAI,CAACL,IAAI,CAAC2E,SAAS,CAACP,iBAAiB,GAAG/D,IAAI,CAACE,KAAK,EAAEmE,UAAU,CAACnE,KAAK,GAAGmE,UAAU,CAAClE,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,CAACC,MAAM,EAAEgD,aAAa,CAAC;QACpLc,iBAAiB,GAAG,IAAI;MAC1B;MACA;MACA,MAAMM,eAAe,GAAGvE,IAAI,CAACL,IAAI,CAAC2E,SAAS,CAACP,iBAAiB,GAAG/D,IAAI,CAACE,KAAK,EAAEU,KAAK,CAACV,KAAK,GAAGF,IAAI,CAACE,KAAK,CAAC;MACrG,IAAIqE,eAAe,EAAE;QACnB5B,gBAAgB,CAACgB,iBAAiB,EAAEY,eAAe,CAAC;MACtD;;MAEA;MACA,MAAMjC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAwB;MAClEF,IAAI,CAACG,YAAY,CAAC,WAAW,EAAE7B,KAAK,CAACsB,IAAI,CAAC;MAE1C,IAAI,CAACY,mBAAmB,EAAE;QACxB5D,eAAe,CAACoD,IAAI,EAAE1B,KAAK,CAACsB,IAAI,EAAEiB,aAAa,CAAC;MAClD;MAEA,MAAMT,QAAQ,GAAGT,UAAU,CAACK,IAAI,EAAEqB,iBAAiB,EAAE/C,KAAK,CAACsB,IAAI,EAAEtB,KAAK,CAACT,MAAM,CAAC;MAE9E,IAAIkD,WAAW,IAAI,CAACP,mBAAmB,IAAIQ,YAAY,EAAE;QACvDK,iBAAiB,GAAGxE,oBAAoB,CAACmE,YAAY,EAAEK,iBAAiB,EAAE/C,KAAK,EAAEsD,kBAAkB,EAAEvE,IAAI,EAAEwD,aAAa,EAAEI,iBAAiB,CAAC;MAC9I;MAEA,IAAIW,kBAAkB,CAAC/D,MAAM,GAAG,CAAC,IAAIiE,mBAAmB,GAAGD,iBAAiB,IAAIvD,KAAK,CAACsB,IAAI,KAAK,QAAQ,EAAE;QACvG;QACAyB,iBAAiB,GAAGjB,QAAQ;QAC5BqB,iBAAiB,GAAGnD,KAAK,CAACV,KAAK;MACjC,CAAC,MAAM;QACL;QACAyC,gBAAgB,CAACD,QAAQ,EAAE/C,IAAI,CAAC2E,SAAS,CAAC1D,KAAK,CAACV,KAAK,EAAEiE,iBAAiB,CAAC,CAAC;QAC1ER,iBAAiB,CAAC/B,OAAO,CAACE,KAAK,GAAG,CAAC6B,iBAAiB,CAAC/B,OAAO,CAACE,KAAK,IAAI,EAAE,KAAKY,QAAQ,CAACd,OAAO,CAACE,KAAK,IAAI,EAAE,CAAC;QAC1GiC,iBAAiB,GAAGI,iBAAiB;QACrC;QACA,OAAOR,iBAAiB,CAAC3B,UAAU,KAAK,IAAI,IAAIoC,mBAAmB,IAAIT,iBAAiB,CAACzD,KAAK,GAAGyD,iBAAiB,CAACxD,MAAM,EAAE;UACzH,MAAMqE,cAAc,GAAGxE,IAAI,CAACL,IAAI,CAAC2E,SAAS,CAACP,iBAAiB,GAAG/D,IAAI,CAACE,KAAK,EAAEyD,iBAAiB,CAACzD,KAAK,GAAGF,IAAI,CAACE,KAAK,GAAGyD,iBAAiB,CAACxD,MAAM,CAAC;UAC3I,IAAIqE,cAAc,EAAE;YAClB7B,gBAAgB,CAACgB,iBAAiB,EAAEa,cAAc,CAAC;UACrD;UACAT,iBAAiB,GAAGJ,iBAAiB,CAACzD,KAAK,GAAGyD,iBAAiB,CAACxD,MAAM;UACtE,IAAIwD,iBAAiB,CAAC3B,UAAU,CAACE,IAAI,KAAK,MAAM,EAAE;YAChDyB,iBAAiB,CAAC3B,UAAU,CAACJ,OAAO,CAACE,KAAK,GAAG6B,iBAAiB,CAAC/B,OAAO,CAACE,KAAK,IAAI,EAAE;UACpF;UACA,IAAIzC,mBAAmB,CAACsE,iBAAiB,CAACzB,IAAI,CAAC,EAAE;YAC/C+B,iBAAiB,GAAG,KAAK;UAC3B;UACAN,iBAAiB,GAAGA,iBAAiB,CAAC3B,UAAU,IAAI0B,QAAQ;QAC9D;MACF;IACF;EACF;EAEA,OAAO;IAACE,GAAG,EAAEJ,WAAW;IAAEK,IAAI,EAAEH;EAAQ,CAAC;AAC3C;AAEA,SAASe,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;IACvD5F,eAAe,CAAC6F,MAAM,CAAC;EACzB,CAAC,MAAM,IAAID,cAAc,KAAK,IAAI,EAAE;IAClC3F,iBAAiB,CAAC4F,MAAM,EAAED,cAAc,EAAE,IAAI,EAAEE,oBAAoB,CAAC;EACvE;AACF;AAEA,SAASC,oBAAoBA,CAC3BC,cAAkD,EAClDH,MAAgC,EAChClF,IAAY,EACZsF,mBAAkC,EAClC5B,WAAW,GAAG,IAAI,EAClBF,aAAmC,GAAG,CAAC,CAAC,EACxCwB,wBAAwB,GAAG,KAAK,EAChCO,oBAAoB,GAAG,KAAK,EAC5BJ,oBAAoB,GAAG,KAAK,EAC5BvB,iBAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,MAAMxB,aAAa,GAAG8C,MAAM;;EAE5B;EACA,IAAID,cAA6B,GAAGK,mBAAmB,KAAK,IAAI,IAAIA,mBAAmB,IAAItF,IAAI,CAACQ,MAAM,GAAG8E,mBAAmB,GAAG,IAAI;EACnI,MAAMP,SAAS,GAAGnC,QAAQ,CAAC4C,aAAa,KAAKN,MAAM;EACnD,IAAIH,SAAS,IAAIO,mBAAmB,KAAK,IAAI,EAAE;IAC7C,MAAMG,SAAS,GAAGrG,wBAAwB,CAAC8F,MAAM,CAAC;IAClDD,cAAc,GAAGQ,SAAS,GAAGA,SAAS,CAAClF,KAAK,GAAG,IAAI;EACrD;EACA,MAAME,cAAc,GAAG4E,cAAc,CAACrF,IAAI,CAAC;EAC3C,IAAI,CAACA,IAAI,IAAIoC,aAAa,CAACsD,SAAS,KAAK,MAAM,IAAKtD,aAAa,IAAIA,aAAa,CAACsD,SAAS,KAAK,IAAK,EAAE;IACtGtD,aAAa,CAACsD,SAAS,GAAG,EAAE;IAC5BtD,aAAa,CAACuD,SAAS,GAAG,EAAE;EAC9B;;EAEA;EACA,IAAI3F,IAAI,EAAE;IACR,MAAM;MAACiE,GAAG;MAAEC;IAAI,CAAC,GAAGT,sBAAsB,CAACzD,IAAI,EAAES,cAAc,EAAEiD,WAAW,EAAEF,aAAa,EAAE,KAAK,EAAEpB,aAAa,EAAEwB,iBAAiB,CAAC;IAErI,IAAI2B,oBAAoB,IAAInD,aAAa,CAACsD,SAAS,KAAKzB,GAAG,CAACyB,SAAS,EAAE;MACrE,MAAME,cAAc,GAAGjG,wBAAwB,CAACyC,aAAa,CAAC;MAC9DA,aAAa,CAACsD,SAAS,GAAG,EAAE;MAC5BtD,aAAa,CAACuD,SAAS,GAAG,EAAE;MAC5BvD,aAAa,CAACsD,SAAS,GAAGzB,GAAG,CAACyB,SAAS;MACvC9F,oBAAoB,CAACwC,aAAa,EAAEwD,cAAc,CAAC;IACrD;IAEAzG,qBAAqB,CAAC+E,IAAI,EAAE9B,aAAa,CAAC;IAC1CA,aAAa,CAAC8B,IAAI,GAAGA,IAAI;IAEzBY,UAAU,CAACC,SAAS,EAAEC,wBAAwB,EAAEC,cAAc,EAAE7C,aAAa,EAAE+C,oBAAoB,CAAC;EACtG,CAAC,MAAM;IACL/C,aAAa,CAAC8B,IAAI,GAAGhF,kBAAkB,CAACkD,aAAa,CAAC;EACxD;EAEA,OAAO;IAACpC,IAAI;IAAEiF,cAAc,EAAEA,cAAc,IAAI;EAAC,CAAC;AACpD;AAEA,SAAQG,oBAAoB,EAAE3B,sBAAsB","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;AA2Q/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAkB3D;AAED,eAAe,gBAAgB,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;AA2I7E,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;;;EA0G/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"}
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.211",
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",
@@ -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 [];
@@ -281,11 +243,12 @@ function parseExpensiMark(markdown: string): MarkdownRange[] {
281
243
  const tree = parseTokensToTree(tokens);
282
244
  const [text, ranges] = parseTreeToTextAndRanges(tree);
283
245
  if (text !== markdown) {
284
- throw new Error(
246
+ console.error(
285
247
  `[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(
286
248
  text,
287
249
  )}'\nOriginal input: '${JSON.stringify(markdown)}'`,
288
250
  );
251
+ return [];
289
252
  }
290
253
  const sortedRanges = sortRanges(ranges);
291
254
  const groupedRanges = groupRanges(sortedRanges);
@@ -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
- const markdownRanges = ungroupRanges(ranges);
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;