@expensify/react-native-live-markdown 0.1.213 → 0.1.214

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.
@@ -237,7 +237,9 @@ function parseExpensiMark(markdown) {
237
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
238
  return [];
239
239
  }
240
- const sortedRanges = (0, _rangeUtils.sortRanges)(ranges);
240
+ let splittedRanges = (0, _rangeUtils.splitRangesOnEmojis)(ranges, 'italic');
241
+ splittedRanges = (0, _rangeUtils.splitRangesOnEmojis)(splittedRanges, 'strikethrough');
242
+ const sortedRanges = (0, _rangeUtils.sortRanges)(splittedRanges);
241
243
  const groupedRanges = (0, _rangeUtils.groupRanges)(sortedRanges);
242
244
  return groupedRanges;
243
245
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","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":[]}
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","splittedRanges","splitRangesOnEmojis","sortedRanges","sortRanges","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
+ 'worklet';
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.groupRanges = groupRanges;
7
8
  exports.sortRanges = sortRanges;
9
+ exports.splitRangesOnEmojis = splitRangesOnEmojis;
8
10
  exports.ungroupRanges = ungroupRanges;
9
11
  // getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
10
12
  function getTagPriority(tag) {
@@ -56,4 +58,54 @@ function ungroupRanges(ranges) {
56
58
  });
57
59
  return ungroupedRanges;
58
60
  }
61
+ function splitRangesOnEmojis(ranges, type) {
62
+ const emojiRanges = ranges.filter(range => range.type === 'emoji');
63
+ const newRanges = [];
64
+ let i = 0;
65
+ let j = 0;
66
+ while (i < ranges.length) {
67
+ const currentRange = ranges[i];
68
+ if (!currentRange) {
69
+ break;
70
+ }
71
+ if (currentRange.type !== type) {
72
+ newRanges.push(currentRange);
73
+ i++;
74
+ } else {
75
+ // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
76
+ while (j < emojiRanges.length) {
77
+ const emojiRange = emojiRanges[j];
78
+ if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
79
+ break;
80
+ }
81
+ const currentStart = currentRange.start;
82
+ const currentEnd = currentRange.start + currentRange.length;
83
+ const emojiStart = emojiRange.start;
84
+ const emojiEnd = emojiRange.start + emojiRange.length;
85
+ if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
86
+ // Intersection
87
+ const newRange = {
88
+ type: currentRange.type,
89
+ start: currentStart,
90
+ length: emojiStart - currentStart,
91
+ ...((currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth) && {
92
+ depth: currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth
93
+ })
94
+ };
95
+ currentRange.start = emojiEnd;
96
+ currentRange.length = currentEnd - emojiEnd;
97
+ if (newRange.length > 0) {
98
+ newRanges.push(newRange);
99
+ }
100
+ }
101
+ j++;
102
+ }
103
+ if (currentRange.length > 0) {
104
+ newRanges.push(currentRange);
105
+ }
106
+ i++;
107
+ }
108
+ }
109
+ return newRanges;
110
+ }
59
111
  //# sourceMappingURL=rangeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from"],"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":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","groupRanges","sortRanges","splitRangesOnEmojis","ungroupRanges","getTagPriority","tag","ranges","sort","a","b","start","length","type","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","emojiRanges","filter","newRanges","i","j","currentRange","emojiRange","currentStart","currentEnd","emojiStart","emojiEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":";AAAA,SAAS;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,WAAA,GAAAA,WAAA;AAAAF,OAAA,CAAAG,UAAA,GAAAA,UAAA;AAAAH,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAAAJ,OAAA,CAAAK,aAAA,GAAAA,aAAA;AAIV;AACA,SAASC,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,SAASJ,UAAUA,CAACK,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,IAAIP,cAAc,CAACK,CAAC,CAACG,IAAI,CAAC,GAAGR,cAAc,CAACI,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC,CAAC;AAChI;AAEA,SAASZ,WAAWA,CAACM,MAAuB,EAAE;EAC5C,MAAMO,qBAAuD,GAAG,CAAC,CAAC;EAElE,OAAOP,MAAM,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACnC,MAAMN,KAAK,GAAGM,KAAK,CAACN,KAAK;IACzB,MAAMO,GAAG,GAAGD,KAAK,CAACN,KAAK,GAAGM,KAAK,CAACL,MAAM;IAEtC,MAAMO,uBAAuB,GAAGL,qBAAqB,CAACG,KAAK,CAACJ,IAAI,CAAC;IACjE,MAAMO,cAAc,GAAGD,uBAAuB,KAAKE,SAAS,GAAGL,GAAG,CAACG,uBAAuB,CAAC,GAAGE,SAAS;IAEvG,IAAID,cAAc,IAAIA,cAAc,CAACT,KAAK,IAAIA,KAAK,IAAIS,cAAc,CAACT,KAAK,GAAGS,cAAc,CAACR,MAAM,IAAIM,GAAG,IAAID,KAAK,CAACL,MAAM,GAAG,CAAC,EAAE;MAC9H;MACAQ,cAAc,CAACE,KAAK,GAAG,CAACF,cAAc,CAACE,KAAK,IAAI,CAAC,IAAI,CAAC;IACxD,CAAC,MAAM;MACLR,qBAAqB,CAACG,KAAK,CAACJ,IAAI,CAAC,GAAGG,GAAG,CAACJ,MAAM;MAC9CI,GAAG,CAACO,IAAI,CAACN,KAAK,CAAC;IACjB;IAEA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAqB,CAAC;AAC3B;AAEA,SAASZ,aAAaA,CAACG,MAAuB,EAAmB;EAC/D,MAAMiB,eAAgC,GAAG,EAAE;EAC3CjB,MAAM,CAACkB,OAAO,CAAER,KAAK,IAAK;IACxB,IAAI,CAACA,KAAK,CAACK,KAAK,EAAE;MAChBE,eAAe,CAACD,IAAI,CAACN,KAAK,CAAC;IAC7B;IACA,MAAM;MAACK,KAAK;MAAE,GAAGI;IAAiB,CAAC,GAAGT,KAAK;IAC3CU,KAAK,CAACC,IAAI,CAAC;MAAChB,MAAM,EAAEU;IAAM,CAAC,CAAC,CAACG,OAAO,CAAC,MAAM;MACzCD,eAAe,CAACD,IAAI,CAACG,iBAAiB,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOF,eAAe;AACxB;AAEA,SAASrB,mBAAmBA,CAACI,MAAuB,EAAEM,IAAkB,EAAmB;EACzF,MAAMgB,WAA4B,GAAGtB,MAAM,CAACuB,MAAM,CAAEb,KAAK,IAAKA,KAAK,CAACJ,IAAI,KAAK,OAAO,CAAC;EACrF,MAAMkB,SAA0B,GAAG,EAAE;EAErC,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOD,CAAC,GAAGzB,MAAM,CAACK,MAAM,EAAE;IACxB,MAAMsB,YAAY,GAAG3B,MAAM,CAACyB,CAAC,CAAC;IAC9B,IAAI,CAACE,YAAY,EAAE;MACjB;IACF;IAEA,IAAIA,YAAY,CAACrB,IAAI,KAAKA,IAAI,EAAE;MAC9BkB,SAAS,CAACR,IAAI,CAACW,YAAY,CAAC;MAC5BF,CAAC,EAAE;IACL,CAAC,MAAM;MACL;MACA,OAAOC,CAAC,GAAGJ,WAAW,CAACjB,MAAM,EAAE;QAC7B,MAAMuB,UAAU,GAAGN,WAAW,CAACI,CAAC,CAAC;QACjC,IAAI,CAACE,UAAU,IAAIA,UAAU,CAACxB,KAAK,GAAGuB,YAAY,CAACvB,KAAK,GAAGuB,YAAY,CAACtB,MAAM,EAAE;UAC9E;QACF;QAEA,MAAMwB,YAAoB,GAAGF,YAAY,CAACvB,KAAK;QAC/C,MAAM0B,UAAkB,GAAGH,YAAY,CAACvB,KAAK,GAAGuB,YAAY,CAACtB,MAAM;QACnE,MAAM0B,UAAkB,GAAGH,UAAU,CAACxB,KAAK;QAC3C,MAAM4B,QAAgB,GAAGJ,UAAU,CAACxB,KAAK,GAAGwB,UAAU,CAACvB,MAAM;QAE7D,IAAI0B,UAAU,IAAIF,YAAY,IAAIG,QAAQ,IAAIF,UAAU,EAAE;UACxD;UACA,MAAMG,QAAuB,GAAG;YAC9B3B,IAAI,EAAEqB,YAAY,CAACrB,IAAI;YACvBF,KAAK,EAAEyB,YAAY;YACnBxB,MAAM,EAAE0B,UAAU,GAAGF,YAAY;YACjC,IAAI,CAAAF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEZ,KAAK,KAAI;cAACA,KAAK,EAAEY,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEZ;YAAK,CAAC;UACzD,CAAC;UAEDY,YAAY,CAACvB,KAAK,GAAG4B,QAAQ;UAC7BL,YAAY,CAACtB,MAAM,GAAGyB,UAAU,GAAGE,QAAQ;UAE3C,IAAIC,QAAQ,CAAC5B,MAAM,GAAG,CAAC,EAAE;YACvBmB,SAAS,CAACR,IAAI,CAACiB,QAAQ,CAAC;UAC1B;QACF;QACAP,CAAC,EAAE;MACL;MAEA,IAAIC,YAAY,CAACtB,MAAM,GAAG,CAAC,EAAE;QAC3BmB,SAAS,CAACR,IAAI,CAACW,YAAY,CAAC;MAC9B;MACAF,CAAC,EAAE;IACL;EACF;EACA,OAAOD,SAAS;AAClB","ignoreList":[]}
@@ -4,7 +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
+ import { groupRanges, sortRanges, splitRangesOnEmojis } from './rangeUtils';
8
8
  function isWeb() {
9
9
  return Platform.OS === 'web';
10
10
  }
@@ -232,7 +232,9 @@ function parseExpensiMark(markdown) {
232
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
233
  return [];
234
234
  }
235
- const sortedRanges = sortRanges(ranges);
235
+ let splittedRanges = splitRangesOnEmojis(ranges, 'italic');
236
+ splittedRanges = splitRangesOnEmojis(splittedRanges, 'strikethrough');
237
+ const sortedRanges = sortRanges(splittedRanges);
236
238
  const groupedRanges = groupRanges(sortedRanges);
237
239
  return groupedRanges;
238
240
  }
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","splitRangesOnEmojis","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","splittedRanges","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ 'worklet';
2
+
1
3
  // getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
2
4
  function getTagPriority(tag) {
3
5
  switch (tag) {
@@ -48,5 +50,55 @@ function ungroupRanges(ranges) {
48
50
  });
49
51
  return ungroupedRanges;
50
52
  }
51
- export { sortRanges, groupRanges, ungroupRanges };
53
+ function splitRangesOnEmojis(ranges, type) {
54
+ const emojiRanges = ranges.filter(range => range.type === 'emoji');
55
+ const newRanges = [];
56
+ let i = 0;
57
+ let j = 0;
58
+ while (i < ranges.length) {
59
+ const currentRange = ranges[i];
60
+ if (!currentRange) {
61
+ break;
62
+ }
63
+ if (currentRange.type !== type) {
64
+ newRanges.push(currentRange);
65
+ i++;
66
+ } else {
67
+ // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
68
+ while (j < emojiRanges.length) {
69
+ const emojiRange = emojiRanges[j];
70
+ if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
71
+ break;
72
+ }
73
+ const currentStart = currentRange.start;
74
+ const currentEnd = currentRange.start + currentRange.length;
75
+ const emojiStart = emojiRange.start;
76
+ const emojiEnd = emojiRange.start + emojiRange.length;
77
+ if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
78
+ // Intersection
79
+ const newRange = {
80
+ type: currentRange.type,
81
+ start: currentStart,
82
+ length: emojiStart - currentStart,
83
+ ...((currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth) && {
84
+ depth: currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth
85
+ })
86
+ };
87
+ currentRange.start = emojiEnd;
88
+ currentRange.length = currentEnd - emojiEnd;
89
+ if (newRange.length > 0) {
90
+ newRanges.push(newRange);
91
+ }
92
+ }
93
+ j++;
94
+ }
95
+ if (currentRange.length > 0) {
96
+ newRanges.push(currentRange);
97
+ }
98
+ i++;
99
+ }
100
+ }
101
+ return newRanges;
102
+ }
103
+ export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
52
104
  //# sourceMappingURL=rangeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from"],"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":[]}
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","splitRangesOnEmojis","emojiRanges","filter","newRanges","i","j","currentRange","emojiRange","currentStart","currentEnd","emojiStart","emojiEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.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;AAqO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmB3D;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,CAwB3D;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,6 +1,7 @@
1
- import type { MarkdownRange } from './commonTypes';
1
+ import type { MarkdownRange, MarkdownType } from './commonTypes';
2
2
  declare function sortRanges(ranges: MarkdownRange[]): MarkdownRange[];
3
3
  declare function groupRanges(ranges: MarkdownRange[]): MarkdownRange[];
4
4
  declare function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[];
5
- export { sortRanges, groupRanges, ungroupRanges };
5
+ declare function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[];
6
+ export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
6
7
  //# sourceMappingURL=rangeUtils.d.ts.map
@@ -1 +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
+ {"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,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,iBAAS,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,aAAa,EAAE,CAsDzF;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.213",
3
+ "version": "0.1.214",
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,7 +6,7 @@ import {unescapeText} from 'expensify-common/dist/utils';
6
6
  import {decode} from 'html-entities';
7
7
  import type {WorkletFunction} from 'react-native-reanimated/lib/typescript/commonTypes';
8
8
  import type {MarkdownType, MarkdownRange} from './commonTypes';
9
- import {groupRanges, sortRanges} from './rangeUtils';
9
+ import {groupRanges, sortRanges, splitRangesOnEmojis} from './rangeUtils';
10
10
 
11
11
  function isWeb() {
12
12
  return Platform.OS === 'web';
@@ -250,8 +250,13 @@ function parseExpensiMark(markdown: string): MarkdownRange[] {
250
250
  );
251
251
  return [];
252
252
  }
253
- const sortedRanges = sortRanges(ranges);
253
+
254
+ let splittedRanges = splitRangesOnEmojis(ranges, 'italic');
255
+ splittedRanges = splitRangesOnEmojis(splittedRanges, 'strikethrough');
256
+
257
+ const sortedRanges = sortRanges(splittedRanges);
254
258
  const groupedRanges = groupRanges(sortedRanges);
259
+
255
260
  return groupedRanges;
256
261
  }
257
262
 
package/src/rangeUtils.ts CHANGED
@@ -1,3 +1,5 @@
1
+ 'worklet';
2
+
1
3
  import type {MarkdownRange, MarkdownType} from './commonTypes';
2
4
 
3
5
  // getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
@@ -53,4 +55,60 @@ function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
53
55
  return ungroupedRanges;
54
56
  }
55
57
 
56
- export {sortRanges, groupRanges, ungroupRanges};
58
+ function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[] {
59
+ const emojiRanges: MarkdownRange[] = ranges.filter((range) => range.type === 'emoji');
60
+ const newRanges: MarkdownRange[] = [];
61
+
62
+ let i = 0;
63
+ let j = 0;
64
+ while (i < ranges.length) {
65
+ const currentRange = ranges[i];
66
+ if (!currentRange) {
67
+ break;
68
+ }
69
+
70
+ if (currentRange.type !== type) {
71
+ newRanges.push(currentRange);
72
+ i++;
73
+ } else {
74
+ // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
75
+ while (j < emojiRanges.length) {
76
+ const emojiRange = emojiRanges[j];
77
+ if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
78
+ break;
79
+ }
80
+
81
+ const currentStart: number = currentRange.start;
82
+ const currentEnd: number = currentRange.start + currentRange.length;
83
+ const emojiStart: number = emojiRange.start;
84
+ const emojiEnd: number = emojiRange.start + emojiRange.length;
85
+
86
+ if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
87
+ // Intersection
88
+ const newRange: MarkdownRange = {
89
+ type: currentRange.type,
90
+ start: currentStart,
91
+ length: emojiStart - currentStart,
92
+ ...(currentRange?.depth && {depth: currentRange?.depth}),
93
+ };
94
+
95
+ currentRange.start = emojiEnd;
96
+ currentRange.length = currentEnd - emojiEnd;
97
+
98
+ if (newRange.length > 0) {
99
+ newRanges.push(newRange);
100
+ }
101
+ }
102
+ j++;
103
+ }
104
+
105
+ if (currentRange.length > 0) {
106
+ newRanges.push(currentRange);
107
+ }
108
+ i++;
109
+ }
110
+ }
111
+ return newRanges;
112
+ }
113
+
114
+ export {sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis};