@expensify/react-native-live-markdown 0.1.305 → 0.1.307

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.
@@ -166,7 +166,7 @@ void MarkdownTextInputDecoratorShadowNode::layout(LayoutContext layoutContext) {
166
166
  children.size() == 1 &&
167
167
  "MarkdownTextInputDecoratorView didn't receive exactly one child");
168
168
 
169
- auto child = std::static_pointer_cast<const YogaLayoutableShadowNode>(getChildren()[0]);
169
+ auto child = std::static_pointer_cast<const YogaLayoutableShadowNode>(children[0]);
170
170
  child->ensureUnsealed();
171
171
  auto mutableChild = std::const_pointer_cast<YogaLayoutableShadowNode>(child);
172
172
 
@@ -61,7 +61,6 @@ function ungroupRanges(ranges) {
61
61
  });
62
62
  return ungroupedRanges;
63
63
  }
64
-
65
64
  /**
66
65
  * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
67
66
  * This includes emojis and syntaxes of inline code blocks.
@@ -70,11 +69,14 @@ function getRangesToExcludeFormatting(ranges) {
70
69
  let closingSyntaxPosition = null;
71
70
  return ranges.filter((range, index) => {
72
71
  const nextRange = ranges[index + 1];
72
+ const currentRange = range;
73
73
  if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
74
+ currentRange.syntaxType = 'opening';
74
75
  closingSyntaxPosition = nextRange.start + nextRange.length;
75
76
  return true;
76
77
  }
77
78
  if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
79
+ currentRange.syntaxType = 'closing';
78
80
  closingSyntaxPosition = null;
79
81
  return true;
80
82
  }
@@ -116,13 +118,14 @@ function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclu
116
118
  const newRange = {
117
119
  type: currentRange.type,
118
120
  start: currentStart,
119
- length: excludeRangeStart - currentStart,
121
+ length: excludeRangeStart - currentStart + (excludeRange.syntaxType === 'opening' ? 1 : 0),
122
+ // Adjust the length so the new range from the split ends after the opening syntax
120
123
  ...(currentRange?.depth && {
121
124
  depth: currentRange?.depth
122
125
  })
123
126
  };
124
- currentRange.start = excludeRangeEnd;
125
- currentRange.length = currentEnd - excludeRangeEnd;
127
+ currentRange.start = excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? -1 : 0); // Adjust the current range to start before the closing syntax
128
+ currentRange.length = currentEnd - excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? 1 : 0);
126
129
  if (newRange.length > 0) {
127
130
  newRanges.push(newRange);
128
131
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Object","defineProperty","exports","value","excludeRangeTypesFromFormatting","getRangesToExcludeFormatting","groupRanges","sortRanges","ungroupRanges","getTagPriority","tag","ranges","sort","a","b","start","length","type","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","closingSyntaxPosition","filter","index","nextRange","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","excludeRangeTypesFromFormatting","getRangesToExcludeFormatting","groupRanges","sortRanges","ungroupRanges","getTagPriority","tag","ranges","sort","a","b","start","length","type","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","closingSyntaxPosition","filter","index","nextRange","currentRange","syntaxType","baseMarkdownType","rangesToExclude","newRanges","i","j","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,6 @@ function ungroupRanges(ranges) {
53
53
  });
54
54
  return ungroupedRanges;
55
55
  }
56
-
57
56
  /**
58
57
  * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
59
58
  * This includes emojis and syntaxes of inline code blocks.
@@ -62,11 +61,14 @@ function getRangesToExcludeFormatting(ranges) {
62
61
  let closingSyntaxPosition = null;
63
62
  return ranges.filter((range, index) => {
64
63
  const nextRange = ranges[index + 1];
64
+ const currentRange = range;
65
65
  if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
66
+ currentRange.syntaxType = 'opening';
66
67
  closingSyntaxPosition = nextRange.start + nextRange.length;
67
68
  return true;
68
69
  }
69
70
  if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
71
+ currentRange.syntaxType = 'closing';
70
72
  closingSyntaxPosition = null;
71
73
  return true;
72
74
  }
@@ -108,13 +110,14 @@ function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclu
108
110
  const newRange = {
109
111
  type: currentRange.type,
110
112
  start: currentStart,
111
- length: excludeRangeStart - currentStart,
113
+ length: excludeRangeStart - currentStart + (excludeRange.syntaxType === 'opening' ? 1 : 0),
114
+ // Adjust the length so the new range from the split ends after the opening syntax
112
115
  ...(currentRange?.depth && {
113
116
  depth: currentRange?.depth
114
117
  })
115
118
  };
116
- currentRange.start = excludeRangeEnd;
117
- currentRange.length = currentEnd - excludeRangeEnd;
119
+ currentRange.start = excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? -1 : 0); // Adjust the current range to start before the closing syntax
120
+ currentRange.length = currentEnd - excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? 1 : 0);
118
121
  if (newRange.length > 0) {
119
122
  newRanges.push(newRange);
120
123
  }
@@ -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","getRangesToExcludeFormatting","closingSyntaxPosition","filter","index","nextRange","excludeRangeTypesFromFormatting","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","getRangesToExcludeFormatting","closingSyntaxPosition","filter","index","nextRange","currentRange","syntaxType","excludeRangeTypesFromFormatting","baseMarkdownType","rangesToExclude","newRanges","i","j","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ interface MarkdownRange {
4
4
  start: number;
5
5
  length: number;
6
6
  depth?: number;
7
+ syntaxType?: 'opening' | 'closing';
7
8
  }
8
9
  type InlineImagesInputProps = {
9
10
  addAuthTokenToImageURLCallback?: (url: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../../../src/commonTypes.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GACb,MAAM,GACN,QAAQ,GACR,eAAe,GACf,OAAO,GACP,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,MAAM,GACN,MAAM,GACN,KAAK,GACL,YAAY,GACZ,IAAI,GACJ,QAAQ,GACR,cAAc,GACd,WAAW,CAAC;AAEhB,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,sBAAsB,GAAG;IAC5B,8BAA8B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,YAAY,EAAC,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAC,CAAC"}
1
+ {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../../../src/commonTypes.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GACb,MAAM,GACN,QAAQ,GACR,eAAe,GACf,OAAO,GACP,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,MAAM,GACN,MAAM,GACN,KAAK,GACL,YAAY,GACZ,IAAI,GACJ,QAAQ,GACR,cAAc,GACd,WAAW,CAAC;AAEhB,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,KAAK,sBAAsB,GAAG;IAC5B,8BAA8B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,YAAY,EAAC,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAgB/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AAED;;;GAGG;AACH,iBAAS,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,mBAc5D;AAED;;;;;GAKG;AACH,iBAAS,+BAA+B,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAoDnJ;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,4BAA4B,EAAC,CAAC"}
1
+ {"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAgB/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AACD;;;GAGG;AACH,iBAAS,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAiB9E;AAED;;;;;GAKG;AACH,iBAAS,+BAA+B,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAoDnJ;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,4BAA4B,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.305",
3
+ "version": "0.1.307",
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",
@@ -21,6 +21,7 @@ interface MarkdownRange {
21
21
  start: number;
22
22
  length: number;
23
23
  depth?: number;
24
+ syntaxType?: 'opening' | 'closing';
24
25
  }
25
26
 
26
27
  type InlineImagesInputProps = {
package/src/rangeUtils.ts CHANGED
@@ -56,20 +56,22 @@ function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
56
56
  });
57
57
  return ungroupedRanges;
58
58
  }
59
-
60
59
  /**
61
60
  * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
62
61
  * This includes emojis and syntaxes of inline code blocks.
63
62
  */
64
- function getRangesToExcludeFormatting(ranges: MarkdownRange[]) {
63
+ function getRangesToExcludeFormatting(ranges: MarkdownRange[]): MarkdownRange[] {
65
64
  let closingSyntaxPosition: number | null = null;
66
65
  return ranges.filter((range, index) => {
67
66
  const nextRange = ranges[index + 1];
67
+ const currentRange = range;
68
68
  if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
69
+ currentRange.syntaxType = 'opening';
69
70
  closingSyntaxPosition = nextRange.start + nextRange.length;
70
71
  return true;
71
72
  }
72
73
  if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
74
+ currentRange.syntaxType = 'closing';
73
75
  closingSyntaxPosition = null;
74
76
  return true;
75
77
  }
@@ -115,11 +117,11 @@ function excludeRangeTypesFromFormatting(ranges: MarkdownRange[], baseMarkdownTy
115
117
  const newRange: MarkdownRange = {
116
118
  type: currentRange.type,
117
119
  start: currentStart,
118
- length: excludeRangeStart - currentStart,
120
+ length: excludeRangeStart - currentStart + (excludeRange.syntaxType === 'opening' ? 1 : 0), // Adjust the length so the new range from the split ends after the opening syntax
119
121
  ...(currentRange?.depth && {depth: currentRange?.depth}),
120
122
  };
121
- currentRange.start = excludeRangeEnd;
122
- currentRange.length = currentEnd - excludeRangeEnd;
123
+ currentRange.start = excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? -1 : 0); // Adjust the current range to start before the closing syntax
124
+ currentRange.length = currentEnd - excludeRangeEnd + (excludeRange.syntaxType === 'closing' ? 1 : 0);
123
125
 
124
126
  if (newRange.length > 0) {
125
127
  newRanges.push(newRange);