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

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.
Files changed (32) hide show
  1. package/android/build.gradle +3 -1
  2. package/android/src/main/new_arch/CMakeLists.txt +14 -5
  3. package/android/src/main/new_arch/react/renderer/components/RNLiveMarkdownSpec/MarkdownTextInputDecoratorShadowNode.cpp +2 -2
  4. package/android/src/main/new_arch/react/renderer/components/RNLiveMarkdownSpec/MarkdownTextInputDecoratorShadowNode.h +2 -2
  5. package/android/src/reactNativeVersionPatch/CustomMountingManager/80/com/expensify/livemarkdown/CustomFabricUIManager.java +47 -0
  6. package/android/src/reactNativeVersionPatch/CustomMountingManager/latest/com/expensify/livemarkdown/CustomFabricUIManager.java +83 -5
  7. package/cpp/react/renderer/components/RNLiveMarkdownSpec/MarkdownTextInputDecoratorState.h +6 -4
  8. package/lib/commonjs/parseExpensiMark.js +5 -7
  9. package/lib/commonjs/parseExpensiMark.js.map +1 -1
  10. package/lib/commonjs/rangeUtils.js +40 -13
  11. package/lib/commonjs/rangeUtils.js.map +1 -1
  12. package/lib/commonjs/web/utils/blockUtils.js +1 -6
  13. package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
  14. package/lib/module/parseExpensiMark.js +6 -8
  15. package/lib/module/parseExpensiMark.js.map +1 -1
  16. package/lib/module/rangeUtils.js +39 -13
  17. package/lib/module/rangeUtils.js.map +1 -1
  18. package/lib/module/web/utils/blockUtils.js +1 -6
  19. package/lib/module/web/utils/blockUtils.js.map +1 -1
  20. package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts +0 -1
  21. package/lib/typescript/src/MarkdownTextInputDecoratorViewNativeComponent.d.ts.map +1 -1
  22. package/lib/typescript/src/parseExpensiMark.d.ts.map +1 -1
  23. package/lib/typescript/src/rangeUtils.d.ts +13 -2
  24. package/lib/typescript/src/rangeUtils.d.ts.map +1 -1
  25. package/lib/typescript/src/web/InputHistory.d.ts +0 -1
  26. package/lib/typescript/src/web/InputHistory.d.ts.map +1 -1
  27. package/lib/typescript/src/web/utils/blockUtils.d.ts.map +1 -1
  28. package/package.json +9 -8
  29. package/src/parseExpensiMark.ts +6 -9
  30. package/src/rangeUtils.ts +38 -14
  31. package/src/web/utils/blockUtils.ts +0 -3
  32. /package/android/src/reactNativeVersionPatch/CustomMountingManager/{latest → 80}/com/expensify/livemarkdown/CustomMountingManager.java +0 -0
@@ -128,8 +128,10 @@ android {
128
128
  ]
129
129
 
130
130
  // TextLayoutManager
131
- if (REACT_NATIVE_MINOR_VERSION <= 79 ) {
131
+ if (REACT_NATIVE_MINOR_VERSION <= 79) {
132
132
  java.srcDirs += "src/reactNativeVersionPatch/CustomMountingManager/79"
133
+ } else if (REACT_NATIVE_MINOR_VERSION == 80) {
134
+ java.srcDirs += "src/reactNativeVersionPatch/CustomMountingManager/80"
133
135
  } else {
134
136
  java.srcDirs += "src/reactNativeVersionPatch/CustomMountingManager/latest"
135
137
  }
@@ -43,14 +43,23 @@ target_link_libraries(
43
43
  ReactAndroid::reactnative
44
44
  )
45
45
 
46
+ if (ReactAndroid_VERSION_MINOR LESS_EQUAL 80)
47
+ target_compile_options(
48
+ ${LIB_TARGET_NAME}
49
+ PRIVATE
50
+ -DLOG_TAG=\"ReactNative\"
51
+ -fexceptions
52
+ -frtti
53
+ -Wall
54
+ -std=c++20
55
+ )
56
+ else()
57
+ target_compile_reactnative_options(${LIB_TARGET_NAME} PRIVATE)
58
+ endif()
59
+
46
60
  target_compile_options(
47
61
  ${LIB_TARGET_NAME}
48
62
  PRIVATE
49
- -DLOG_TAG=\"ReactNative\"
50
- -fexceptions
51
- -frtti
52
- -Wall
53
- -std=c++20
54
63
  -DREACT_NATIVE_MINOR_VERSION=${ReactAndroid_VERSION_MINOR}
55
64
  )
56
65
 
@@ -144,14 +144,14 @@ void MarkdownTextInputDecoratorShadowNode::overwriteTextLayoutManager() {
144
144
  }
145
145
 
146
146
  void MarkdownTextInputDecoratorShadowNode::appendChild(
147
- const ShadowNode::Shared &child) {
147
+ const std::shared_ptr<const ShadowNode> &child) {
148
148
  YogaLayoutableShadowNode::appendChild(child);
149
149
 
150
150
  overwriteTextLayoutManager();
151
151
  }
152
152
 
153
153
  void MarkdownTextInputDecoratorShadowNode::replaceChild(
154
- const ShadowNode &oldChild, const ShadowNode::Shared &newChild,
154
+ const ShadowNode &oldChild, const std::shared_ptr<const ShadowNode> &newChild,
155
155
  size_t suggestedIndex) {
156
156
  YogaLayoutableShadowNode::replaceChild(oldChild, newChild, suggestedIndex);
157
157
 
@@ -26,10 +26,10 @@ public:
26
26
  MarkdownTextInputDecoratorShadowNode(ShadowNode const &sourceShadowNode,
27
27
  ShadowNodeFragment const &fragment);
28
28
 
29
- void appendChild(const ShadowNode::Shared &child) override;
29
+ void appendChild(const std::shared_ptr<const ShadowNode> &child) override;
30
30
 
31
31
  void replaceChild(const ShadowNode &oldChild,
32
- const ShadowNode::Shared &newChild,
32
+ const std::shared_ptr<const ShadowNode> &newChild,
33
33
  size_t suggestedIndex = SIZE_MAX) override;
34
34
 
35
35
  void layout(LayoutContext layoutContext) override;
@@ -0,0 +1,47 @@
1
+ package com.expensify.livemarkdown;
2
+
3
+ import com.facebook.react.bridge.ReactApplicationContext;
4
+ import com.facebook.react.bridge.ReadableMap;
5
+ import com.facebook.react.fabric.FabricUIManager;
6
+ import com.facebook.react.fabric.mounting.MountingManager;
7
+ import com.facebook.react.uimanager.ViewManagerRegistry;
8
+ import com.facebook.react.uimanager.events.BatchEventDispatchedListener;
9
+
10
+ import java.lang.reflect.Field;
11
+
12
+ public class CustomFabricUIManager {
13
+
14
+ public static FabricUIManager create(FabricUIManager source, ReadableMap markdownProps, int parserId) {
15
+ Class<? extends FabricUIManager> uiManagerClass = source.getClass();
16
+
17
+ try {
18
+ Field mountingManagerField = uiManagerClass.getDeclaredField("mMountingManager");
19
+ mountingManagerField.setAccessible(true);
20
+
21
+ MountingManager sourceMountingManager = readPrivateField(source, "mMountingManager");
22
+ ReactApplicationContext reactContext = readPrivateField(source, "mReactApplicationContext");
23
+ ViewManagerRegistry viewManagerRegistry = readPrivateField(source, "mViewManagerRegistry");
24
+ BatchEventDispatchedListener batchEventDispatchedListener = readPrivateField(source, "mBatchEventDispatchedListener");
25
+ MountingManager.MountItemExecutor mountItemExecutor = readPrivateField(source, "mMountItemExecutor");
26
+
27
+ FabricUIManager customFabricUIManager = new FabricUIManager(reactContext, viewManagerRegistry, batchEventDispatchedListener);
28
+
29
+ mountingManagerField.set(customFabricUIManager, new CustomMountingManager(sourceMountingManager, viewManagerRegistry, mountItemExecutor, reactContext, markdownProps, parserId));
30
+
31
+ return customFabricUIManager;
32
+ } catch (NoSuchFieldException | IllegalAccessException e) {
33
+ throw new RuntimeException("[LiveMarkdown] Cannot read data from FabricUIManager");
34
+ }
35
+ }
36
+
37
+ @SuppressWarnings("unchecked")
38
+ private static <T> T readPrivateField(Object obj, String name) throws NoSuchFieldException, IllegalAccessException {
39
+ Class<?> clazz = obj.getClass();
40
+
41
+ Field field = clazz.getDeclaredField(name);
42
+ field.setAccessible(true);
43
+ T value = (T) field.get(obj);
44
+
45
+ return value;
46
+ }
47
+ }
@@ -1,15 +1,89 @@
1
1
  package com.expensify.livemarkdown;
2
2
 
3
+ import static com.facebook.react.fabric.mounting.LayoutMetricsConversions.getYogaMeasureMode;
4
+ import static com.facebook.react.fabric.mounting.LayoutMetricsConversions.getYogaSize;
5
+
6
+ import android.text.SpannableStringBuilder;
7
+
8
+ import androidx.annotation.Nullable;
9
+
10
+ import com.facebook.infer.annotation.Assertions;
11
+ import com.facebook.jni.annotations.DoNotStrip;
3
12
  import com.facebook.react.bridge.ReactApplicationContext;
13
+ import com.facebook.react.bridge.ReactContext;
4
14
  import com.facebook.react.bridge.ReadableMap;
15
+ import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
5
16
  import com.facebook.react.fabric.FabricUIManager;
6
17
  import com.facebook.react.fabric.mounting.MountingManager;
18
+ import com.facebook.react.fabric.mounting.SurfaceMountingManager;
7
19
  import com.facebook.react.uimanager.ViewManagerRegistry;
8
20
  import com.facebook.react.uimanager.events.BatchEventDispatchedListener;
21
+ import com.facebook.react.views.text.TextLayoutManager;
9
22
 
10
23
  import java.lang.reflect.Field;
11
24
 
12
- public class CustomFabricUIManager {
25
+ @DoNotStrip
26
+ public class CustomFabricUIManager extends FabricUIManager {
27
+
28
+ private final ReactApplicationContext mReactApplicationContext;
29
+ private final MountingManager mMountingManager;
30
+ private final MarkdownUtils mMarkdownUtils;
31
+
32
+ public CustomFabricUIManager(
33
+ ReactApplicationContext reactContext,
34
+ ViewManagerRegistry viewManagerRegistry,
35
+ BatchEventDispatchedListener batchEventDispatchedListener,
36
+ MountingManager mountingManager,
37
+ ReadableMap markdownProps,
38
+ int parserId
39
+ ) {
40
+ super(reactContext, viewManagerRegistry, batchEventDispatchedListener);
41
+
42
+ this.mReactApplicationContext = reactContext;
43
+ this.mMountingManager = mountingManager;
44
+
45
+ this.mMarkdownUtils = new MarkdownUtils(reactContext);
46
+ this.mMarkdownUtils.setMarkdownStyle(new MarkdownStyle(markdownProps, reactContext));
47
+ this.mMarkdownUtils.setParserId(parserId);
48
+ }
49
+
50
+ public long measureText(
51
+ int surfaceId,
52
+ ReadableMapBuffer attributedString,
53
+ ReadableMapBuffer paragraphAttributes,
54
+ float minWidth,
55
+ float maxWidth,
56
+ float minHeight,
57
+ float maxHeight,
58
+ @Nullable float[] attachmentsPositions) {
59
+
60
+ ReactContext context;
61
+ if (surfaceId > 0) {
62
+ SurfaceMountingManager surfaceMountingManager =
63
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "measureText");
64
+ if (surfaceMountingManager.isStopped()) {
65
+ return 0;
66
+ }
67
+ context = surfaceMountingManager.getContext();
68
+ Assertions.assertNotNull(
69
+ context, "Context in SurfaceMountingManager is null. surfaceId: " + surfaceId);
70
+ } else {
71
+ context = mReactApplicationContext;
72
+ }
73
+
74
+ return TextLayoutManager.measureText(
75
+ context,
76
+ attributedString,
77
+ paragraphAttributes,
78
+ getYogaSize(minWidth, maxWidth),
79
+ getYogaMeasureMode(minWidth, maxWidth),
80
+ getYogaSize(minHeight, maxHeight),
81
+ getYogaMeasureMode(minHeight, maxHeight),
82
+ spannable -> {
83
+ mMarkdownUtils.applyMarkdownFormatting((SpannableStringBuilder)spannable);
84
+ },
85
+ attachmentsPositions);
86
+ }
13
87
 
14
88
  public static FabricUIManager create(FabricUIManager source, ReadableMap markdownProps, int parserId) {
15
89
  Class<? extends FabricUIManager> uiManagerClass = source.getClass();
@@ -22,11 +96,15 @@ public class CustomFabricUIManager {
22
96
  ReactApplicationContext reactContext = readPrivateField(source, "mReactApplicationContext");
23
97
  ViewManagerRegistry viewManagerRegistry = readPrivateField(source, "mViewManagerRegistry");
24
98
  BatchEventDispatchedListener batchEventDispatchedListener = readPrivateField(source, "mBatchEventDispatchedListener");
25
- MountingManager.MountItemExecutor mountItemExecutor = readPrivateField(source, "mMountItemExecutor");
26
-
27
- FabricUIManager customFabricUIManager = new FabricUIManager(reactContext, viewManagerRegistry, batchEventDispatchedListener);
28
99
 
29
- mountingManagerField.set(customFabricUIManager, new CustomMountingManager(sourceMountingManager, viewManagerRegistry, mountItemExecutor, reactContext, markdownProps, parserId));
100
+ FabricUIManager customFabricUIManager = new CustomFabricUIManager(
101
+ reactContext,
102
+ viewManagerRegistry,
103
+ batchEventDispatchedListener,
104
+ sourceMountingManager,
105
+ markdownProps,
106
+ parserId
107
+ );
30
108
 
31
109
  return customFabricUIManager;
32
110
  } catch (NoSuchFieldException | IllegalAccessException e) {
@@ -12,17 +12,19 @@ public:
12
12
 
13
13
  MarkdownTextInputDecoratorState(){};
14
14
 
15
- #ifdef ANDROID
15
+ // TODO: Simplify once RN 0.81 is the lowest supported version
16
+ #if (defined(ANDROID) && REACT_NATIVE_MINOR_VERSION < 81) || (defined(RN_SERIALIZABLE_STATE) && REACT_NATIVE_MINOR_VERSION >= 81)
16
17
  MarkdownTextInputDecoratorState(
17
18
  MarkdownTextInputDecoratorState const &previousState, folly::dynamic data){};
18
- #endif
19
19
 
20
- #ifdef ANDROID
21
20
  folly::dynamic getDynamic() const {
22
21
  return {};
23
22
  }
23
+ #if REACT_NATIVE_MINOR_VERSION < 81
24
24
  MapBuffer getMapBuffer() const { return MapBufferBuilder::EMPTY(); };
25
- #endif
25
+ #endif // REACT_NATIVE_MINOR_VERSION < 81
26
+ #endif // (defined(ANDROID) && REACT_NATIVE_MINOR_VERSION < 81) || (defined(RN_SERIALIZABLE_STATE) && REACT_NATIVE_MINOR_VERSION >= 81)
27
+
26
28
  };
27
29
 
28
30
  } // namespace react
@@ -233,7 +233,6 @@ function parseTreeToTextAndRanges(tree) {
233
233
  dfs(tree);
234
234
  return [text, ranges];
235
235
  }
236
- const isNative = _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'ios';
237
236
  function parseExpensiMark(markdown) {
238
237
  if (markdown.length > MAX_PARSABLE_LENGTH) {
239
238
  return [];
@@ -247,12 +246,11 @@ function parseExpensiMark(markdown) {
247
246
  return [];
248
247
  }
249
248
  let markdownRanges = (0, _rangeUtils.sortRanges)(ranges);
250
- if (isNative) {
251
- // Blocks applying italic and strikethrough styles to emojis on Android and iOS
252
- // TODO: Remove this condition when splitting emojis inside the inline code block will be fixed on the web
253
- markdownRanges = (0, _rangeUtils.splitRangesOnEmojis)(markdownRanges, 'italic');
254
- markdownRanges = (0, _rangeUtils.splitRangesOnEmojis)(markdownRanges, 'strikethrough');
255
- }
249
+
250
+ // Prevent italic and strikethrough formatting inside emojis and inline code blocks
251
+ const rangesToExclude = (0, _rangeUtils.getRangesToExcludeFormatting)(markdownRanges);
252
+ markdownRanges = (0, _rangeUtils.excludeRangeTypesFromFormatting)(markdownRanges, 'italic', rangesToExclude);
253
+ markdownRanges = (0, _rangeUtils.excludeRangeTypesFromFormatting)(markdownRanges, 'strikethrough', rangesToExclude);
256
254
  const groupedRanges = (0, _rangeUtils.groupRanges)(markdownRanges);
257
255
  return groupedRanges;
258
256
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","isNative","parseExpensiMark","console","error","JSON","stringify","markdownRanges","sortRanges","splitRangesOnEmojis","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","markdownRanges","sortRanges","rangesToExclude","getRangesToExcludeFormatting","excludeRangeTypesFromFormatting","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
@@ -4,9 +4,10 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.excludeRangeTypesFromFormatting = excludeRangeTypesFromFormatting;
8
+ exports.getRangesToExcludeFormatting = getRangesToExcludeFormatting;
7
9
  exports.groupRanges = groupRanges;
8
10
  exports.sortRanges = sortRanges;
9
- exports.splitRangesOnEmojis = splitRangesOnEmojis;
10
11
  exports.ungroupRanges = ungroupRanges;
11
12
  // getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
12
13
  function getTagPriority(tag) {
@@ -60,8 +61,34 @@ function ungroupRanges(ranges) {
60
61
  });
61
62
  return ungroupedRanges;
62
63
  }
63
- function splitRangesOnEmojis(ranges, type) {
64
- const emojiRanges = ranges.filter(range => range.type === 'emoji');
64
+
65
+ /**
66
+ * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
67
+ * This includes emojis and syntaxes of inline code blocks.
68
+ */
69
+ function getRangesToExcludeFormatting(ranges) {
70
+ let closingSyntaxPosition = null;
71
+ return ranges.filter((range, index) => {
72
+ const nextRange = ranges[index + 1];
73
+ if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
74
+ closingSyntaxPosition = nextRange.start + nextRange.length;
75
+ return true;
76
+ }
77
+ if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
78
+ closingSyntaxPosition = null;
79
+ return true;
80
+ }
81
+ return range.type === 'emoji';
82
+ });
83
+ }
84
+
85
+ /**
86
+ * Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
87
+ * @param ranges - The array of MarkdownRange objects to process.
88
+ * @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
89
+ * @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
90
+ */
91
+ function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclude) {
65
92
  const newRanges = [];
66
93
  let i = 0;
67
94
  let j = 0;
@@ -70,32 +97,32 @@ function splitRangesOnEmojis(ranges, type) {
70
97
  if (!currentRange) {
71
98
  break;
72
99
  }
73
- if (currentRange.type !== type) {
100
+ if (currentRange.type !== baseMarkdownType) {
74
101
  newRanges.push(currentRange);
75
102
  i++;
76
103
  } else {
77
104
  // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
78
- while (j < emojiRanges.length) {
79
- const emojiRange = emojiRanges[j];
80
- if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
105
+ while (j < rangesToExclude.length) {
106
+ const excludeRange = rangesToExclude[j];
107
+ if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
81
108
  break;
82
109
  }
83
110
  const currentStart = currentRange.start;
84
111
  const currentEnd = currentRange.start + currentRange.length;
85
- const emojiStart = emojiRange.start;
86
- const emojiEnd = emojiRange.start + emojiRange.length;
87
- if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
112
+ const excludeRangeStart = excludeRange.start;
113
+ const excludeRangeEnd = excludeRange.start + excludeRange.length;
114
+ if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
88
115
  // Intersection
89
116
  const newRange = {
90
117
  type: currentRange.type,
91
118
  start: currentStart,
92
- length: emojiStart - currentStart,
119
+ length: excludeRangeStart - currentStart,
93
120
  ...(currentRange?.depth && {
94
121
  depth: currentRange?.depth
95
122
  })
96
123
  };
97
- currentRange.start = emojiEnd;
98
- currentRange.length = currentEnd - emojiEnd;
124
+ currentRange.start = excludeRangeEnd;
125
+ currentRange.length = currentEnd - excludeRangeEnd;
99
126
  if (newRange.length > 0) {
100
127
  newRanges.push(newRange);
101
128
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Object","defineProperty","exports","value","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":"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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","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -37,12 +37,7 @@ function addStyleToBlock(targetElement, type, markdownStyle, isMultiline = true)
37
37
  case 'emoji':
38
38
  Object.assign(node.style, {
39
39
  ...markdownStyle.emoji,
40
- verticalAlign: 'middle',
41
- fontStyle: 'normal',
42
- // remove italic
43
- textDecoration: 'none',
44
- // remove strikethrough
45
- display: 'inline-block'
40
+ verticalAlign: 'middle'
46
41
  });
47
42
  break;
48
43
  case 'mention-here':
@@ -1 +1 @@
1
- {"version":3,"names":["_styleUtils","require","_inlineImage","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","display","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","parseStringWithUnitToNumber","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","exports","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","addInlineImagePreview","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_styleUtils","require","_inlineImage","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","parseStringWithUnitToNumber","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","exports","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","addInlineImagePreview","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { Platform } from 'react-native';
5
5
  import { ExpensiMark } from 'expensify-common';
6
6
  import { unescapeText } from 'expensify-common/dist/utils';
7
7
  import { decode } from 'html-entities';
8
- import { groupRanges, sortRanges, splitRangesOnEmojis } from "./rangeUtils.js";
8
+ import { groupRanges, sortRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting } from "./rangeUtils.js";
9
9
  function isWeb() {
10
10
  return Platform.OS === 'web';
11
11
  }
@@ -229,7 +229,6 @@ function parseTreeToTextAndRanges(tree) {
229
229
  dfs(tree);
230
230
  return [text, ranges];
231
231
  }
232
- const isNative = Platform.OS === 'android' || Platform.OS === 'ios';
233
232
  function parseExpensiMark(markdown) {
234
233
  if (markdown.length > MAX_PARSABLE_LENGTH) {
235
234
  return [];
@@ -243,12 +242,11 @@ function parseExpensiMark(markdown) {
243
242
  return [];
244
243
  }
245
244
  let markdownRanges = sortRanges(ranges);
246
- if (isNative) {
247
- // Blocks applying italic and strikethrough styles to emojis on Android and iOS
248
- // TODO: Remove this condition when splitting emojis inside the inline code block will be fixed on the web
249
- markdownRanges = splitRangesOnEmojis(markdownRanges, 'italic');
250
- markdownRanges = splitRangesOnEmojis(markdownRanges, 'strikethrough');
251
- }
245
+
246
+ // Prevent italic and strikethrough formatting inside emojis and inline code blocks
247
+ const rangesToExclude = getRangesToExcludeFormatting(markdownRanges);
248
+ markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'italic', rangesToExclude);
249
+ markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'strikethrough', rangesToExclude);
252
250
  const groupedRanges = groupRanges(markdownRanges);
253
251
  return groupedRanges;
254
252
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","splitRangesOnEmojis","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","isNative","parseExpensiMark","console","error","JSON","stringify","markdownRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","excludeRangeTypesFromFormatting","getRangesToExcludeFormatting","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","_","lb","content","match","rawHref","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","markdownRanges","rangesToExclude","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
@@ -53,8 +53,34 @@ function ungroupRanges(ranges) {
53
53
  });
54
54
  return ungroupedRanges;
55
55
  }
56
- function splitRangesOnEmojis(ranges, type) {
57
- const emojiRanges = ranges.filter(range => range.type === 'emoji');
56
+
57
+ /**
58
+ * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
59
+ * This includes emojis and syntaxes of inline code blocks.
60
+ */
61
+ function getRangesToExcludeFormatting(ranges) {
62
+ let closingSyntaxPosition = null;
63
+ return ranges.filter((range, index) => {
64
+ const nextRange = ranges[index + 1];
65
+ if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
66
+ closingSyntaxPosition = nextRange.start + nextRange.length;
67
+ return true;
68
+ }
69
+ if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
70
+ closingSyntaxPosition = null;
71
+ return true;
72
+ }
73
+ return range.type === 'emoji';
74
+ });
75
+ }
76
+
77
+ /**
78
+ * Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
79
+ * @param ranges - The array of MarkdownRange objects to process.
80
+ * @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
81
+ * @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
82
+ */
83
+ function excludeRangeTypesFromFormatting(ranges, baseMarkdownType, rangesToExclude) {
58
84
  const newRanges = [];
59
85
  let i = 0;
60
86
  let j = 0;
@@ -63,32 +89,32 @@ function splitRangesOnEmojis(ranges, type) {
63
89
  if (!currentRange) {
64
90
  break;
65
91
  }
66
- if (currentRange.type !== type) {
92
+ if (currentRange.type !== baseMarkdownType) {
67
93
  newRanges.push(currentRange);
68
94
  i++;
69
95
  } else {
70
96
  // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
71
- while (j < emojiRanges.length) {
72
- const emojiRange = emojiRanges[j];
73
- if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
97
+ while (j < rangesToExclude.length) {
98
+ const excludeRange = rangesToExclude[j];
99
+ if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
74
100
  break;
75
101
  }
76
102
  const currentStart = currentRange.start;
77
103
  const currentEnd = currentRange.start + currentRange.length;
78
- const emojiStart = emojiRange.start;
79
- const emojiEnd = emojiRange.start + emojiRange.length;
80
- if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
104
+ const excludeRangeStart = excludeRange.start;
105
+ const excludeRangeEnd = excludeRange.start + excludeRange.length;
106
+ if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
81
107
  // Intersection
82
108
  const newRange = {
83
109
  type: currentRange.type,
84
110
  start: currentStart,
85
- length: emojiStart - currentStart,
111
+ length: excludeRangeStart - currentStart,
86
112
  ...(currentRange?.depth && {
87
113
  depth: currentRange?.depth
88
114
  })
89
115
  };
90
- currentRange.start = emojiEnd;
91
- currentRange.length = currentEnd - emojiEnd;
116
+ currentRange.start = excludeRangeEnd;
117
+ currentRange.length = currentEnd - excludeRangeEnd;
92
118
  if (newRange.length > 0) {
93
119
  newRanges.push(newRange);
94
120
  }
@@ -103,5 +129,5 @@ function splitRangesOnEmojis(ranges, type) {
103
129
  }
104
130
  return newRanges;
105
131
  }
106
- export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
132
+ export { sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting };
107
133
  //# sourceMappingURL=rangeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","splitRangesOnEmojis","emojiRanges","filter","newRanges","i","j","currentRange","emojiRange","currentStart","currentEnd","emojiStart","emojiEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":";AAAA,SAAS;;AAIT;AACA,SAASA,cAAcA,CAACC,GAAW,EAAE;EACnC,QAAQA,GAAG;IACT,KAAK,YAAY;MACf,OAAO,CAAC;IACV,KAAK,IAAI;MACP,OAAO,CAAC;IACV,KAAK,OAAO;MACV,OAAO,CAAC,CAAC;IACX;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,SAASK,mBAAmBA,CAACxB,MAAuB,EAAEM,IAAkB,EAAmB;EACzF,MAAMmB,WAA4B,GAAGzB,MAAM,CAAC0B,MAAM,CAAEf,KAAK,IAAKA,KAAK,CAACL,IAAI,KAAK,OAAO,CAAC;EACrF,MAAMqB,SAA0B,GAAG,EAAE;EAErC,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOD,CAAC,GAAG5B,MAAM,CAACK,MAAM,EAAE;IACxB,MAAMyB,YAAY,GAAG9B,MAAM,CAAC4B,CAAC,CAAC;IAC9B,IAAI,CAACE,YAAY,EAAE;MACjB;IACF;IAEA,IAAIA,YAAY,CAACxB,IAAI,KAAKA,IAAI,EAAE;MAC9BqB,SAAS,CAACV,IAAI,CAACa,YAAY,CAAC;MAC5BF,CAAC,EAAE;IACL,CAAC,MAAM;MACL;MACA,OAAOC,CAAC,GAAGJ,WAAW,CAACpB,MAAM,EAAE;QAC7B,MAAM0B,UAAU,GAAGN,WAAW,CAACI,CAAC,CAAC;QACjC,IAAI,CAACE,UAAU,IAAIA,UAAU,CAAC3B,KAAK,GAAG0B,YAAY,CAAC1B,KAAK,GAAG0B,YAAY,CAACzB,MAAM,EAAE;UAC9E;QACF;QAEA,MAAM2B,YAAoB,GAAGF,YAAY,CAAC1B,KAAK;QAC/C,MAAM6B,UAAkB,GAAGH,YAAY,CAAC1B,KAAK,GAAG0B,YAAY,CAACzB,MAAM;QACnE,MAAM6B,UAAkB,GAAGH,UAAU,CAAC3B,KAAK;QAC3C,MAAM+B,QAAgB,GAAGJ,UAAU,CAAC3B,KAAK,GAAG2B,UAAU,CAAC1B,MAAM;QAE7D,IAAI6B,UAAU,IAAIF,YAAY,IAAIG,QAAQ,IAAIF,UAAU,EAAE;UACxD;UACA,MAAMG,QAAuB,GAAG;YAC9B9B,IAAI,EAAEwB,YAAY,CAACxB,IAAI;YACvBF,KAAK,EAAE4B,YAAY;YACnB3B,MAAM,EAAE6B,UAAU,GAAGF,YAAY;YACjC,IAAIF,YAAY,EAAEd,KAAK,IAAI;cAACA,KAAK,EAAEc,YAAY,EAAEd;YAAK,CAAC;UACzD,CAAC;UAEDc,YAAY,CAAC1B,KAAK,GAAG+B,QAAQ;UAC7BL,YAAY,CAACzB,MAAM,GAAG4B,UAAU,GAAGE,QAAQ;UAE3C,IAAIC,QAAQ,CAAC/B,MAAM,GAAG,CAAC,EAAE;YACvBsB,SAAS,CAACV,IAAI,CAACmB,QAAQ,CAAC;UAC1B;QACF;QACAP,CAAC,EAAE;MACL;MAEA,IAAIC,YAAY,CAACzB,MAAM,GAAG,CAAC,EAAE;QAC3BsB,SAAS,CAACV,IAAI,CAACa,YAAY,CAAC;MAC9B;MACAF,CAAC,EAAE;IACL;EACF;EACA,OAAOD,SAAS;AAClB;AAEA,SAAQ5B,UAAU,EAAEQ,WAAW,EAAEW,aAAa,EAAEM,mBAAmB","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","excludeRangeTypesFromFormatting","baseMarkdownType","rangesToExclude","newRanges","i","j","currentRange","excludeRange","currentStart","currentEnd","excludeRangeStart","excludeRangeEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -26,12 +26,7 @@ function addStyleToBlock(targetElement, type, markdownStyle, isMultiline = true)
26
26
  case 'emoji':
27
27
  Object.assign(node.style, {
28
28
  ...markdownStyle.emoji,
29
- verticalAlign: 'middle',
30
- fontStyle: 'normal',
31
- // remove italic
32
- textDecoration: 'none',
33
- // remove strikethrough
34
- display: 'inline-block'
29
+ verticalAlign: 'middle'
35
30
  });
36
31
  break;
37
32
  case 'mention-here':
@@ -1 +1 @@
1
- {"version":3,"names":["parseStringWithUnitToNumber","addInlineImagePreview","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","display","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["parseStringWithUnitToNumber","addInlineImagePreview","addStyleToBlock","targetElement","type","markdownStyle","isMultiline","node","Object","assign","style","margin","padding","syntax","fontWeight","fontStyle","textDecoration","emoji","verticalAlign","mentionHere","mentionUser","mentionReport","link","addCodeBlockStyles","blockquote","borderLeftStyle","display","maxWidth","boxSizing","overflowWrap","h1","position","parentElement","cssText","defaultPrePadding","pre","preHorizontalPadding","paddingHorizontal","toString","preVerticalPadding","paddingVertical","defaultCodePadding","code","codeHorizontalPadding","codeVerticalPadding","fontSize","h1NestedFontSize","isChildOfMarkdownElement","lineHeight","BLOCK_MARKDOWN_TYPES","FULL_LINE_MARKDOWN_TYPES","MULTILINE_MARKDOWN_TYPES","isBlockMarkdownType","includes","isMultilineMarkdownType","getFirstBlockMarkdownRange","ranges","blockMarkdownRange","find","r","undefined","extendBlockStructure","currentInput","targetNode","currentRange","text","inlineImagesProps","isDescendantOfMarkdownElement","predicate","currentNode","parentNode","contentEditable","elementType","getAttribute","isChildOfMultilineMarkdownElement"],"sourceRoot":"../../../../src","sources":["web/utils/blockUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react-native/types/modules/Codegen" />
2
1
  import type { ColorValue, ViewProps } from 'react-native';
3
2
  import type { Float, Int32 } from 'react-native/Libraries/Types/CodegenTypes';
4
3
  interface CodeBlockStyle {
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownTextInputDecoratorViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInputDecoratorViewNativeComponent.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAC,KAAK,EAAE,KAAK,EAAC,MAAM,2CAA2C,CAAC;AAG5E,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,UAAU,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,QAAQ,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;IACF,EAAE,EAAE;QACF,QAAQ,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,EAAE,KAAK,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,cAAc,GAAG;QACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;KAC1B,CAAC;IACF,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE;QACX,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,aAAa,EAAE;QACb,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,KAAK,CAAC;QACpB,YAAY,EAAE,KAAK,CAAC;KACrB,CAAC;IACF,yBAAyB,CAAC,EAAE;QAC1B,eAAe,CAAC,EAAE,UAAU,CAAC;QAC7B,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,YAAY,CAAC,EAAE,KAAK,CAAC;QACrB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,KAAK,CAAC;KAChB,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,YAAY,CAAC,EAAE,UAAU,CAAC;QAC1B,cAAc,CAAC,EAAE,UAAU,CAAC;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,WAAW,CAAC,EAAE,KAAK,CAAC;KACrB,CAAC;CACH;AAED,UAAU,WAAY,SAAQ,SAAS;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;;AAED,wBAEG;AAEH,YAAY,EAAC,aAAa,EAAC,CAAC"}
1
+ {"version":3,"file":"MarkdownTextInputDecoratorViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/MarkdownTextInputDecoratorViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAC,KAAK,EAAE,KAAK,EAAC,MAAM,2CAA2C,CAAC;AAG5E,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,UAAU,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,QAAQ,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;IACF,EAAE,EAAE;QACF,QAAQ,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,EAAE,KAAK,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,cAAc,GAAG;QACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;KAC1B,CAAC;IACF,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE;QACX,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,aAAa,EAAE;QACb,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,UAAU,CAAC;QAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,KAAK,CAAC;QACpB,YAAY,EAAE,KAAK,CAAC;KACrB,CAAC;IACF,yBAAyB,CAAC,EAAE;QAC1B,eAAe,CAAC,EAAE,UAAU,CAAC;QAC7B,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,YAAY,CAAC,EAAE,KAAK,CAAC;QACrB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,KAAK,CAAC;KAChB,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,YAAY,CAAC,EAAE,UAAU,CAAC;QAC1B,cAAc,CAAC,EAAE,UAAU,CAAC;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,WAAW,CAAC,EAAE,KAAK,CAAC;KACrB,CAAC;CACH;AAED,UAAU,WAAY,SAAQ,SAAS;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC;CACjB;;AAED,wBAEG;AAEH,YAAY,EAAC,aAAa,EAAC,CAAC"}
@@ -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;AA2O/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CA0B3D;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;AAyO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyB3D;AAED,eAAe,gBAAgB,CAAC"}
@@ -2,6 +2,17 @@ import type { MarkdownRange, MarkdownType } from './commonTypes';
2
2
  declare function sortRanges(ranges: MarkdownRange[]): MarkdownRange[];
3
3
  declare function groupRanges(ranges: MarkdownRange[]): MarkdownRange[];
4
4
  declare function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[];
5
- declare function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[];
6
- export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
5
+ /**
6
+ * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
7
+ * This includes emojis and syntaxes of inline code blocks.
8
+ */
9
+ declare function getRangesToExcludeFormatting(ranges: MarkdownRange[]): MarkdownRange[];
10
+ /**
11
+ * Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
12
+ * @param ranges - The array of MarkdownRange objects to process.
13
+ * @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
14
+ * @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
15
+ */
16
+ declare function excludeRangeTypesFromFormatting(ranges: MarkdownRange[], baseMarkdownType: MarkdownType, rangesToExclude: MarkdownRange[]): MarkdownRange[];
17
+ export { sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting };
7
18
  //# sourceMappingURL=rangeUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAgB/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AAED,iBAAS,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"}
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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  type HistoryItem = {
3
2
  text: string;
4
3
  cursorPosition: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"InputHistory.d.ts","sourceRoot":"","sources":["../../../../src/web/InputHistory.ts"],"names":[],"mappings":";AAAA,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAEtC,YAAY,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM,EAAE,YAAY,SAAM,EAAE,YAAY,SAAK;IAOhE,cAAc,IAAI,WAAW,GAAG,IAAI;IAIpC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI;IAK3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;IAKb,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAkBxD,WAAW,IAAI,IAAI;IAQnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAqB/C,IAAI,IAAI,WAAW,GAAG,IAAI;IA2B1B,IAAI,IAAI,WAAW,GAAG,IAAI;CAiB3B"}
1
+ {"version":3,"file":"InputHistory.d.ts","sourceRoot":"","sources":["../../../../src/web/InputHistory.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAEtC,YAAY,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM,EAAE,YAAY,SAAM,EAAE,YAAY,SAAK;IAOhE,cAAc,IAAI,WAAW,GAAG,IAAI;IAIpC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI;IAK3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;IAKb,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAkBxD,WAAW,IAAI,IAAI;IAQnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAqB/C,IAAI,IAAI,WAAW,GAAG,IAAI;IA2B1B,IAAI,IAAI,WAAW,GAAG,IAAI;CAiB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/blockUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAEpD,iBAAS,eAAe,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,UAAO,QAqF3H;AA4CD,QAAA,MAAM,wBAAwB,UAAgB,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ,WAE1C;AAED,iBAAS,uBAAuB,CAAC,IAAI,EAAE,QAAQ,WAE9C;AAED,iBAAS,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,6BAG1D;AAED,iBAAS,oBAAoB,CAC3B,YAAY,EAAE,wBAAwB,EACtC,UAAU,EAAE,QAAQ,EACpB,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,oBAAoB,EACnC,iBAAiB,EAAE,sBAAsB,YAU1C;AAcD,iBAAS,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAEnF;AACD,iBAAS,iCAAiC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,iCAAiC,EACjC,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../../../../src/web/utils/blockUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAEpD,iBAAS,eAAe,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,UAAO,QAkF3H;AA4CD,QAAA,MAAM,wBAAwB,UAAgB,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,IAAI,EAAE,QAAQ,WAE1C;AAED,iBAAS,uBAAuB,CAAC,IAAI,EAAE,QAAQ,WAE9C;AAED,iBAAS,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,6BAG1D;AAED,iBAAS,oBAAoB,CAC3B,YAAY,EAAE,wBAAwB,EACtC,UAAU,EAAE,QAAQ,EACpB,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,oBAAoB,EACnC,iBAAiB,EAAE,sBAAsB,YAU1C;AAcD,iBAAS,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAEnF;AACD,iBAAS,iCAAiC,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,iCAAiC,EACjC,wBAAwB,GACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expensify/react-native-live-markdown",
3
- "version": "0.1.303",
3
+ "version": "0.1.305",
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",
@@ -64,10 +64,11 @@
64
64
  "@commitlint/config-conventional": "^17.0.2",
65
65
  "@evilmartians/lefthook": "^1.5.0",
66
66
  "@lwc/eslint-plugin-lwc": "^1.7.2",
67
- "@react-native-community/cli": "19.0.0",
68
- "@react-native-community/cli-platform-android": "19.0.0",
69
- "@react-native-community/cli-platform-ios": "19.0.0",
70
- "@react-native/eslint-config": "0.80.1",
67
+ "@react-native-community/cli": "20.0.0",
68
+ "@react-native-community/cli-platform-android": "20.0.0",
69
+ "@react-native-community/cli-platform-ios": "20.0.0",
70
+ "@react-native/eslint-config": "0.81.4",
71
+ "@react-native/metro-config": "0.81.4",
71
72
  "@release-it/conventional-changelog": "^5.0.0",
72
73
  "@types/jest": "^29.5.14",
73
74
  "@types/react": "^19.1.0",
@@ -95,13 +96,13 @@
95
96
  "prettier": "2.8.8",
96
97
  "react": "19.1.0",
97
98
  "react-dom": "19.1.0",
98
- "react-native": "0.80.1",
99
+ "react-native": "0.81.4",
99
100
  "react-native-builder-bob": "^0.30.2",
100
- "react-native-reanimated": "3.18.0",
101
+ "react-native-reanimated": "3.19.0",
101
102
  "react-native-web": "^0.20.0",
102
103
  "release-it": "^15.0.0",
103
104
  "turbo": "^1.10.7",
104
- "typescript": "~5.3.3"
105
+ "typescript": "^5.8.3"
105
106
  },
106
107
  "peerDependencies": {
107
108
  "expensify-common": ">=2.0.148",
@@ -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, splitRangesOnEmojis} from './rangeUtils';
9
+ import {groupRanges, sortRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting} from './rangeUtils';
10
10
 
11
11
  function isWeb() {
12
12
  return Platform.OS === 'web';
@@ -238,8 +238,6 @@ function parseTreeToTextAndRanges(tree: StackItem): [string, MarkdownRange[]] {
238
238
  return [text, ranges];
239
239
  }
240
240
 
241
- const isNative = Platform.OS === 'android' || Platform.OS === 'ios';
242
-
243
241
  function parseExpensiMark(markdown: string): MarkdownRange[] {
244
242
  if (markdown.length > MAX_PARSABLE_LENGTH) {
245
243
  return [];
@@ -257,12 +255,11 @@ function parseExpensiMark(markdown: string): MarkdownRange[] {
257
255
  return [];
258
256
  }
259
257
  let markdownRanges = sortRanges(ranges);
260
- if (isNative) {
261
- // Blocks applying italic and strikethrough styles to emojis on Android and iOS
262
- // TODO: Remove this condition when splitting emojis inside the inline code block will be fixed on the web
263
- markdownRanges = splitRangesOnEmojis(markdownRanges, 'italic');
264
- markdownRanges = splitRangesOnEmojis(markdownRanges, 'strikethrough');
265
- }
258
+
259
+ // Prevent italic and strikethrough formatting inside emojis and inline code blocks
260
+ const rangesToExclude = getRangesToExcludeFormatting(markdownRanges);
261
+ markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'italic', rangesToExclude);
262
+ markdownRanges = excludeRangeTypesFromFormatting(markdownRanges, 'strikethrough', rangesToExclude);
266
263
 
267
264
  const groupedRanges = groupRanges(markdownRanges);
268
265
  return groupedRanges;
package/src/rangeUtils.ts CHANGED
@@ -57,8 +57,33 @@ function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
57
57
  return ungroupedRanges;
58
58
  }
59
59
 
60
- function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[] {
61
- const emojiRanges: MarkdownRange[] = ranges.filter((range) => range.type === 'emoji');
60
+ /**
61
+ * Creates a list of ranges that should not be formatted by certain markdown types (italic, strikethrough).
62
+ * This includes emojis and syntaxes of inline code blocks.
63
+ */
64
+ function getRangesToExcludeFormatting(ranges: MarkdownRange[]) {
65
+ let closingSyntaxPosition: number | null = null;
66
+ return ranges.filter((range, index) => {
67
+ const nextRange = ranges[index + 1];
68
+ if (nextRange && nextRange.type === 'code' && range.type === 'syntax') {
69
+ closingSyntaxPosition = nextRange.start + nextRange.length;
70
+ return true;
71
+ }
72
+ if (closingSyntaxPosition !== null && range.type === 'syntax' && range.start <= closingSyntaxPosition) {
73
+ closingSyntaxPosition = null;
74
+ return true;
75
+ }
76
+ return range.type === 'emoji';
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Splits ranges of a specific type from being formatted by specified markdown types (e.g., 'emoji', 'syntax').
82
+ * @param ranges - The array of MarkdownRange objects to process.
83
+ * @param baseMarkdownType - The base markdown type to exclude formatting from (e.g., 'italic').
84
+ * @param rangesToExclude - The array of MarkdownRange objects representing the ranges to exclude from formatting.
85
+ */
86
+ function excludeRangeTypesFromFormatting(ranges: MarkdownRange[], baseMarkdownType: MarkdownType, rangesToExclude: MarkdownRange[]): MarkdownRange[] {
62
87
  const newRanges: MarkdownRange[] = [];
63
88
 
64
89
  let i = 0;
@@ -69,33 +94,32 @@ function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): Markd
69
94
  break;
70
95
  }
71
96
 
72
- if (currentRange.type !== type) {
97
+ if (currentRange.type !== baseMarkdownType) {
73
98
  newRanges.push(currentRange);
74
99
  i++;
75
100
  } else {
76
101
  // Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
77
- while (j < emojiRanges.length) {
78
- const emojiRange = emojiRanges[j];
79
- if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
102
+ while (j < rangesToExclude.length) {
103
+ const excludeRange = rangesToExclude[j];
104
+ if (!excludeRange || excludeRange.start > currentRange.start + currentRange.length) {
80
105
  break;
81
106
  }
82
107
 
83
108
  const currentStart: number = currentRange.start;
84
109
  const currentEnd: number = currentRange.start + currentRange.length;
85
- const emojiStart: number = emojiRange.start;
86
- const emojiEnd: number = emojiRange.start + emojiRange.length;
110
+ const excludeRangeStart: number = excludeRange.start;
111
+ const excludeRangeEnd: number = excludeRange.start + excludeRange.length;
87
112
 
88
- if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
113
+ if (excludeRangeStart >= currentStart && excludeRangeEnd <= currentEnd) {
89
114
  // Intersection
90
115
  const newRange: MarkdownRange = {
91
116
  type: currentRange.type,
92
117
  start: currentStart,
93
- length: emojiStart - currentStart,
118
+ length: excludeRangeStart - currentStart,
94
119
  ...(currentRange?.depth && {depth: currentRange?.depth}),
95
120
  };
96
-
97
- currentRange.start = emojiEnd;
98
- currentRange.length = currentEnd - emojiEnd;
121
+ currentRange.start = excludeRangeEnd;
122
+ currentRange.length = currentEnd - excludeRangeEnd;
99
123
 
100
124
  if (newRange.length > 0) {
101
125
  newRanges.push(newRange);
@@ -113,4 +137,4 @@ function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): Markd
113
137
  return newRanges;
114
138
  }
115
139
 
116
- export {sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis};
140
+ export {sortRanges, groupRanges, ungroupRanges, excludeRangeTypesFromFormatting, getRangesToExcludeFormatting};
@@ -31,9 +31,6 @@ function addStyleToBlock(targetElement: HTMLElement, type: NodeType, markdownSty
31
31
  Object.assign(node.style, {
32
32
  ...markdownStyle.emoji,
33
33
  verticalAlign: 'middle',
34
- fontStyle: 'normal', // remove italic
35
- textDecoration: 'none', // remove strikethrough
36
- display: 'inline-block',
37
34
  });
38
35
  break;
39
36
  case 'mention-here':