react-native-enriched 0.2.0 → 0.2.1

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 (107) hide show
  1. package/README.md +1 -5
  2. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +3 -0
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +1 -0
  4. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.cpp +10 -0
  5. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.h +7 -0
  6. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputView.kt +92 -0
  7. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewManager.kt +6 -0
  8. package/android/src/main/java/com/swmansion/enriched/events/MentionHandler.kt +1 -1
  9. package/android/src/main/java/com/swmansion/enriched/events/OnRequestHtmlResultEvent.kt +33 -0
  10. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBlockQuoteSpan.kt +6 -0
  11. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBoldSpan.kt +6 -0
  12. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedCodeBlockSpan.kt +6 -0
  13. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH1Span.kt +6 -0
  14. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH2Span.kt +6 -0
  15. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH3Span.kt +6 -0
  16. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedImageSpan.kt +5 -0
  17. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedInlineCodeSpan.kt +6 -0
  18. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedItalicSpan.kt +5 -0
  19. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedLinkSpan.kt +6 -0
  20. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedMentionSpan.kt +6 -0
  21. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedOrderedListSpan.kt +6 -0
  22. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedSpans.kt +9 -3
  23. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedStrikeThroughSpan.kt +5 -0
  24. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnderlineSpan.kt +5 -0
  25. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnorderedListSpan.kt +6 -0
  26. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedSpan.kt +4 -0
  27. package/android/src/main/java/com/swmansion/enriched/styles/HtmlStyle.kt +78 -0
  28. package/android/src/main/java/com/swmansion/enriched/styles/ParagraphStyles.kt +80 -4
  29. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedParser.java +8 -0
  30. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.cpp +6 -6
  31. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.h +6 -6
  32. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputComponentDescriptor.h +19 -19
  33. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.cpp +40 -51
  34. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.h +13 -15
  35. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.cpp +23 -21
  36. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.h +35 -36
  37. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.cpp +4 -4
  38. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.h +13 -14
  39. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/conversions.h +12 -13
  40. package/ios/EnrichedTextInputView.h +25 -13
  41. package/ios/EnrichedTextInputView.mm +872 -581
  42. package/ios/attachments/ImageAttachment.h +10 -0
  43. package/ios/attachments/ImageAttachment.mm +34 -0
  44. package/ios/attachments/MediaAttachment.h +23 -0
  45. package/ios/attachments/MediaAttachment.mm +31 -0
  46. package/ios/config/InputConfig.h +6 -6
  47. package/ios/config/InputConfig.mm +39 -33
  48. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.cpp +10 -0
  49. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.h +7 -0
  50. package/ios/generated/RNEnrichedTextInputViewSpec/RCTComponentViewHelpers.h +21 -0
  51. package/ios/inputParser/InputParser.h +5 -5
  52. package/ios/inputParser/InputParser.mm +789 -378
  53. package/ios/inputTextView/InputTextView.h +1 -1
  54. package/ios/inputTextView/InputTextView.mm +100 -59
  55. package/ios/internals/EnrichedTextInputViewComponentDescriptor.h +11 -9
  56. package/ios/internals/EnrichedTextInputViewShadowNode.h +28 -25
  57. package/ios/internals/EnrichedTextInputViewShadowNode.mm +45 -40
  58. package/ios/internals/EnrichedTextInputViewState.h +3 -1
  59. package/ios/styles/BlockQuoteStyle.mm +189 -118
  60. package/ios/styles/BoldStyle.mm +95 -63
  61. package/ios/styles/CodeBlockStyle.mm +204 -128
  62. package/ios/styles/H1Style.mm +10 -4
  63. package/ios/styles/H2Style.mm +10 -4
  64. package/ios/styles/H3Style.mm +10 -4
  65. package/ios/styles/HeadingStyleBase.mm +129 -84
  66. package/ios/styles/ImageStyle.mm +75 -73
  67. package/ios/styles/InlineCodeStyle.mm +148 -85
  68. package/ios/styles/ItalicStyle.mm +76 -52
  69. package/ios/styles/LinkStyle.mm +348 -227
  70. package/ios/styles/MentionStyle.mm +363 -246
  71. package/ios/styles/OrderedListStyle.mm +171 -106
  72. package/ios/styles/StrikethroughStyle.mm +52 -35
  73. package/ios/styles/UnderlineStyle.mm +68 -46
  74. package/ios/styles/UnorderedListStyle.mm +169 -106
  75. package/ios/utils/BaseStyleProtocol.h +2 -2
  76. package/ios/utils/ColorExtension.mm +7 -5
  77. package/ios/utils/FontExtension.mm +42 -27
  78. package/ios/utils/LayoutManagerExtension.h +1 -1
  79. package/ios/utils/LayoutManagerExtension.mm +280 -170
  80. package/ios/utils/MentionParams.h +0 -1
  81. package/ios/utils/MentionStyleProps.h +1 -1
  82. package/ios/utils/MentionStyleProps.mm +27 -20
  83. package/ios/utils/OccurenceUtils.h +42 -42
  84. package/ios/utils/OccurenceUtils.mm +142 -119
  85. package/ios/utils/ParagraphAttributesUtils.h +6 -2
  86. package/ios/utils/ParagraphAttributesUtils.mm +115 -71
  87. package/ios/utils/ParagraphsUtils.h +2 -1
  88. package/ios/utils/ParagraphsUtils.mm +40 -26
  89. package/ios/utils/StringExtension.h +1 -1
  90. package/ios/utils/StringExtension.mm +19 -16
  91. package/ios/utils/StyleHeaders.h +27 -15
  92. package/ios/utils/TextInsertionUtils.h +13 -2
  93. package/ios/utils/TextInsertionUtils.mm +38 -20
  94. package/ios/utils/WordsUtils.h +2 -1
  95. package/ios/utils/WordsUtils.mm +32 -22
  96. package/ios/utils/ZeroWidthSpaceUtils.h +3 -1
  97. package/ios/utils/ZeroWidthSpaceUtils.mm +145 -79
  98. package/lib/module/EnrichedTextInput.js +39 -1
  99. package/lib/module/EnrichedTextInput.js.map +1 -1
  100. package/lib/module/EnrichedTextInputNativeComponent.ts +11 -0
  101. package/lib/typescript/src/EnrichedTextInput.d.ts +1 -0
  102. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
  103. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts +6 -0
  104. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts.map +1 -1
  105. package/package.json +8 -1
  106. package/src/EnrichedTextInput.tsx +45 -0
  107. package/src/EnrichedTextInputNativeComponent.ts +11 -0
@@ -2,8 +2,9 @@
2
2
 
3
3
  @implementation WordsUtils
4
4
 
5
- + (NSArray<NSDictionary *> *)getAffectedWordsFromText:(NSString *)text modificationRange:(NSRange)range {
6
- if(text.length == 0) {
5
+ + (NSArray<NSDictionary *> *)getAffectedWordsFromText:(NSString *)text
6
+ modificationRange:(NSRange)range {
7
+ if (text.length == 0) {
7
8
  return [[NSArray alloc] init];
8
9
  }
9
10
 
@@ -12,7 +13,8 @@
12
13
  if (leftIt > 0) {
13
14
  while (leftIt >= 0) {
14
15
  unichar charAtIndex = [text characterAtIndex:leftIt];
15
- if ([[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:charAtIndex]) {
16
+ if ([[NSCharacterSet whitespaceAndNewlineCharacterSet]
17
+ characterIsMember:charAtIndex]) {
16
18
  leftIt += 1;
17
19
  break;
18
20
  }
@@ -21,12 +23,13 @@
21
23
  }
22
24
  leftIt = MAX(0, leftIt);
23
25
  leftIt = MIN(NSInteger(text.length - 1), leftIt);
24
-
26
+
25
27
  NSInteger rightIt = range.location + range.length;
26
28
  if (rightIt < text.length - 1) {
27
29
  while (rightIt <= text.length - 1) {
28
30
  unichar charAtIndex = [text characterAtIndex:rightIt];
29
- if ([[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:charAtIndex]) {
31
+ if ([[NSCharacterSet whitespaceAndNewlineCharacterSet]
32
+ characterIsMember:charAtIndex]) {
30
33
  rightIt -= 1;
31
34
  break;
32
35
  }
@@ -34,23 +37,26 @@
34
37
  }
35
38
  }
36
39
  rightIt = MIN(NSInteger(text.length - 1), rightIt);
37
-
38
- if(leftIt > rightIt) {
40
+
41
+ if (leftIt > rightIt) {
39
42
  return [[NSArray alloc] init];
40
43
  }
41
-
42
- NSMutableArray<NSDictionary *> *separatedWords = [[NSMutableArray<NSDictionary *> alloc] init];
44
+
45
+ NSMutableArray<NSDictionary *> *separatedWords =
46
+ [[NSMutableArray<NSDictionary *> alloc] init];
43
47
  NSMutableString *currentWord = [[NSMutableString alloc] init];
44
48
  NSInteger currentRangeStart = leftIt;
45
49
  NSInteger currentIdx = leftIt;
46
-
50
+
47
51
  while (currentIdx <= rightIt) {
48
52
  unichar charAtIndex = [text characterAtIndex:currentIdx];
49
- if ([[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:charAtIndex]) {
53
+ if ([[NSCharacterSet whitespaceAndNewlineCharacterSet]
54
+ characterIsMember:charAtIndex]) {
50
55
  if (currentWord.length > 0) {
51
56
  [separatedWords addObject:@{
52
- @"word": [currentWord copy],
53
- @"range": [NSValue valueWithRange:NSMakeRange(currentRangeStart, currentWord.length)]
57
+ @"word" : [currentWord copy],
58
+ @"range" : [NSValue
59
+ valueWithRange:NSMakeRange(currentRangeStart, currentWord.length)]
54
60
  }];
55
61
  [currentWord setString:@""];
56
62
  }
@@ -60,28 +66,32 @@
60
66
  }
61
67
  currentIdx += 1;
62
68
  }
63
-
69
+
64
70
  if (currentWord.length > 0) {
65
71
  [separatedWords addObject:@{
66
- @"word": [currentWord copy],
67
- @"range": [NSValue valueWithRange:NSMakeRange(currentRangeStart, rightIt - currentRangeStart + 1)]
72
+ @"word" : [currentWord copy],
73
+ @"range" :
74
+ [NSValue valueWithRange:NSMakeRange(currentRangeStart,
75
+ rightIt - currentRangeStart + 1)]
68
76
  }];
69
77
  }
70
-
78
+
71
79
  return separatedWords;
72
80
  }
73
81
 
74
82
  + (NSDictionary *)getCurrentWord:(NSString *)text range:(NSRange)range {
75
83
  // we just get current word at the cursor
76
- if(range.length > 0) {
84
+ if (range.length > 0) {
77
85
  return nullptr;
78
86
  }
79
-
80
- NSArray<NSDictionary *> *words = [WordsUtils getAffectedWordsFromText:text modificationRange:range];
81
- if(words != nullptr && [words count] == 1 && [words firstObject] != nullptr) {
87
+
88
+ NSArray<NSDictionary *> *words = [WordsUtils getAffectedWordsFromText:text
89
+ modificationRange:range];
90
+ if (words != nullptr && [words count] == 1 &&
91
+ [words firstObject] != nullptr) {
82
92
  return [words firstObject];
83
93
  }
84
-
94
+
85
95
  return nullptr;
86
96
  }
87
97
 
@@ -3,5 +3,7 @@
3
3
 
4
4
  @interface ZeroWidthSpaceUtils : NSObject
5
5
  + (void)handleZeroWidthSpacesInInput:(id)input;
6
- + (BOOL)handleBackspaceInRange:(NSRange)range replacementText:(NSString *)text input:(id)input;
6
+ + (BOOL)handleBackspaceInRange:(NSRange)range
7
+ replacementText:(NSString *)text
8
+ input:(id)input;
7
9
  @end
@@ -7,8 +7,10 @@
7
7
  @implementation ZeroWidthSpaceUtils
8
8
  + (void)handleZeroWidthSpacesInInput:(id)input {
9
9
  EnrichedTextInputView *typedInput = (EnrichedTextInputView *)input;
10
- if(typedInput == nullptr) { return; }
11
-
10
+ if (typedInput == nullptr) {
11
+ return;
12
+ }
13
+
12
14
  [self removeSpacesIfNeededinInput:typedInput];
13
15
  [self addSpacesIfNeededinInput:typedInput];
14
16
  }
@@ -17,155 +19,219 @@
17
19
  NSMutableArray *indexesToBeRemoved = [[NSMutableArray alloc] init];
18
20
  NSRange preRemoveSelection = input->textView.selectedRange;
19
21
 
20
- for(int i = 0; i < input->textView.textStorage.string.length; i++) {
22
+ for (int i = 0; i < input->textView.textStorage.string.length; i++) {
21
23
  unichar character = [input->textView.textStorage.string characterAtIndex:i];
22
- if(character == 0x200B) {
24
+ if (character == 0x200B) {
23
25
  NSRange characterRange = NSMakeRange(i, 1);
24
-
25
- NSRange paragraphRange = [input->textView.textStorage.string paragraphRangeForRange:characterRange];
26
- // having paragraph longer than 1 character means someone most likely added something and we probably can remove the space
26
+
27
+ NSRange paragraphRange = [input->textView.textStorage.string
28
+ paragraphRangeForRange:characterRange];
29
+ // having paragraph longer than 1 character means someone most likely
30
+ // added something and we probably can remove the space
27
31
  BOOL removeSpace = paragraphRange.length > 1;
28
32
  // exception; 2 characters paragraph with zero width space + newline
29
33
  // here, we still need zero width space to keep the empty list items
30
- if(paragraphRange.length == 2 &&
31
- paragraphRange.location == i &&
32
- [[NSCharacterSet newlineCharacterSet] characterIsMember:[input->textView.textStorage.string characterAtIndex:i+1]]
33
- ) {
34
+ if (paragraphRange.length == 2 && paragraphRange.location == i &&
35
+ [[NSCharacterSet newlineCharacterSet]
36
+ characterIsMember:[input->textView.textStorage.string
37
+ characterAtIndex:i + 1]]) {
34
38
  removeSpace = NO;
35
39
  }
36
-
37
- if(removeSpace) {
40
+
41
+ if (removeSpace) {
38
42
  [indexesToBeRemoved addObject:@(characterRange.location)];
39
43
  continue;
40
44
  }
41
-
42
- UnorderedListStyle *ulStyle = input->stylesDict[@([UnorderedListStyle getStyleType])];
43
- OrderedListStyle *olStyle = input->stylesDict[@([OrderedListStyle getStyleType])];
44
- BlockQuoteStyle *bqStyle = input->stylesDict[@([BlockQuoteStyle getStyleType])];
45
- CodeBlockStyle *cbStyle = input->stylesDict[@([CodeBlockStyle getStyleType])];
46
-
47
- // zero width spaces with no lists/blockquotes/codeblocks on them get removed
48
- if(![ulStyle detectStyle:characterRange] && ![olStyle detectStyle:characterRange] && ![bqStyle detectStyle:characterRange] && ![cbStyle detectStyle:characterRange]) {
45
+
46
+ UnorderedListStyle *ulStyle =
47
+ input->stylesDict[@([UnorderedListStyle getStyleType])];
48
+ OrderedListStyle *olStyle =
49
+ input->stylesDict[@([OrderedListStyle getStyleType])];
50
+ BlockQuoteStyle *bqStyle =
51
+ input->stylesDict[@([BlockQuoteStyle getStyleType])];
52
+ CodeBlockStyle *cbStyle =
53
+ input->stylesDict[@([CodeBlockStyle getStyleType])];
54
+
55
+ // zero width spaces with no lists/blockquotes/codeblocks on them get
56
+ // removed
57
+ if (![ulStyle detectStyle:characterRange] &&
58
+ ![olStyle detectStyle:characterRange] &&
59
+ ![bqStyle detectStyle:characterRange] &&
60
+ ![cbStyle detectStyle:characterRange]) {
49
61
  [indexesToBeRemoved addObject:@(characterRange.location)];
50
62
  }
51
63
  }
52
64
  }
53
-
65
+
54
66
  // do the removing
55
67
  NSInteger offset = 0;
56
68
  NSInteger postRemoveLocationOffset = 0;
57
69
  NSInteger postRemoveLengthOffset = 0;
58
- for(NSNumber *index in indexesToBeRemoved) {
70
+ for (NSNumber *index in indexesToBeRemoved) {
59
71
  NSRange replaceRange = NSMakeRange([index integerValue] + offset, 1);
60
- [TextInsertionUtils replaceText:@"" at:replaceRange additionalAttributes:nullptr input:input withSelection:NO];
72
+ [TextInsertionUtils replaceText:@""
73
+ at:replaceRange
74
+ additionalAttributes:nullptr
75
+ input:input
76
+ withSelection:NO];
61
77
  offset -= 1;
62
- if([index integerValue] < preRemoveSelection.location) {
78
+ if ([index integerValue] < preRemoveSelection.location) {
63
79
  postRemoveLocationOffset -= 1;
64
80
  }
65
- if([index integerValue] >= preRemoveSelection.location && [index integerValue] < NSMaxRange(preRemoveSelection)) {
81
+ if ([index integerValue] >= preRemoveSelection.location &&
82
+ [index integerValue] < NSMaxRange(preRemoveSelection)) {
66
83
  postRemoveLengthOffset -= 1;
67
84
  }
68
85
  }
69
-
86
+
70
87
  // fix the selection if needed
71
- if([input->textView isFirstResponder]) {
72
- input->textView.selectedRange = NSMakeRange(preRemoveSelection.location + postRemoveLocationOffset, preRemoveSelection.length + postRemoveLengthOffset);
88
+ if ([input->textView isFirstResponder]) {
89
+ input->textView.selectedRange =
90
+ NSMakeRange(preRemoveSelection.location + postRemoveLocationOffset,
91
+ preRemoveSelection.length + postRemoveLengthOffset);
73
92
  }
74
93
  }
75
94
 
76
95
  + (void)addSpacesIfNeededinInput:(EnrichedTextInputView *)input {
77
- UnorderedListStyle *ulStyle = input->stylesDict[@([UnorderedListStyle getStyleType])];
78
- OrderedListStyle *olStyle = input->stylesDict[@([OrderedListStyle getStyleType])];
79
- BlockQuoteStyle *bqStyle = input->stylesDict[@([BlockQuoteStyle getStyleType])];
96
+ UnorderedListStyle *ulStyle =
97
+ input->stylesDict[@([UnorderedListStyle getStyleType])];
98
+ OrderedListStyle *olStyle =
99
+ input->stylesDict[@([OrderedListStyle getStyleType])];
100
+ BlockQuoteStyle *bqStyle =
101
+ input->stylesDict[@([BlockQuoteStyle getStyleType])];
80
102
  CodeBlockStyle *cbStyle = input->stylesDict[@([CodeBlockStyle getStyleType])];
81
103
  NSMutableArray *indexesToBeInserted = [[NSMutableArray alloc] init];
82
104
  NSRange preAddSelection = input->textView.selectedRange;
83
-
84
- for(int i = 0; i < input->textView.textStorage.string.length; i++) {
105
+
106
+ for (int i = 0; i < input->textView.textStorage.string.length; i++) {
85
107
  unichar character = [input->textView.textStorage.string characterAtIndex:i];
86
-
87
- if([[NSCharacterSet newlineCharacterSet] characterIsMember:character]) {
108
+
109
+ if ([[NSCharacterSet newlineCharacterSet] characterIsMember:character]) {
88
110
  NSRange characterRange = NSMakeRange(i, 1);
89
- NSRange paragraphRange = [input->textView.textStorage.string paragraphRangeForRange:characterRange];
90
-
91
- if(paragraphRange.length == 1) {
92
- if([ulStyle detectStyle:characterRange] || [olStyle detectStyle:characterRange] || [bqStyle detectStyle:characterRange] || [cbStyle detectStyle:characterRange]) {
111
+ NSRange paragraphRange = [input->textView.textStorage.string
112
+ paragraphRangeForRange:characterRange];
113
+
114
+ if (paragraphRange.length == 1) {
115
+ if ([ulStyle detectStyle:characterRange] ||
116
+ [olStyle detectStyle:characterRange] ||
117
+ [bqStyle detectStyle:characterRange] ||
118
+ [cbStyle detectStyle:characterRange]) {
93
119
  // we have an empty list or quote item with no space: add it!
94
120
  [indexesToBeInserted addObject:@(paragraphRange.location)];
95
121
  }
96
122
  }
97
123
  }
98
124
  }
99
-
125
+
100
126
  // do the replacing
101
127
  NSInteger offset = 0;
102
128
  NSInteger postAddLocationOffset = 0;
103
129
  NSInteger postAddLengthOffset = 0;
104
- for(NSNumber *index in indexesToBeInserted) {
130
+ for (NSNumber *index in indexesToBeInserted) {
105
131
  NSRange replaceRange = NSMakeRange([index integerValue] + offset, 1);
106
- [TextInsertionUtils replaceText:@"\u200B\n" at:replaceRange additionalAttributes:nullptr input:input withSelection:NO];
132
+ [TextInsertionUtils replaceText:@"\u200B\n"
133
+ at:replaceRange
134
+ additionalAttributes:nullptr
135
+ input:input
136
+ withSelection:NO];
107
137
  offset += 1;
108
- if([index integerValue] < preAddSelection.location) {
138
+ if ([index integerValue] < preAddSelection.location) {
109
139
  postAddLocationOffset += 1;
110
140
  }
111
- if([index integerValue] >= preAddSelection.location && [index integerValue] < NSMaxRange(preAddSelection)) {
141
+ if ([index integerValue] >= preAddSelection.location &&
142
+ [index integerValue] < NSMaxRange(preAddSelection)) {
112
143
  postAddLengthOffset += 1;
113
144
  }
114
145
  }
115
-
146
+
116
147
  // additional check for last index of the input
117
148
  NSRange lastRange = NSMakeRange(input->textView.textStorage.string.length, 0);
118
- NSRange lastParagraphRange = [input->textView.textStorage.string paragraphRangeForRange:lastRange];
119
- if(lastParagraphRange.length == 0 && ([ulStyle detectStyle:lastRange] || [olStyle detectStyle:lastRange] || [bqStyle detectStyle:lastRange] || [cbStyle detectStyle:lastRange])) {
120
- [TextInsertionUtils insertText:@"\u200B" at:lastRange.location additionalAttributes:nullptr input:input withSelection:NO];
149
+ NSRange lastParagraphRange =
150
+ [input->textView.textStorage.string paragraphRangeForRange:lastRange];
151
+ if (lastParagraphRange.length == 0 &&
152
+ ([ulStyle detectStyle:lastRange] || [olStyle detectStyle:lastRange] ||
153
+ [bqStyle detectStyle:lastRange] || [cbStyle detectStyle:lastRange])) {
154
+ [TextInsertionUtils insertText:@"\u200B"
155
+ at:lastRange.location
156
+ additionalAttributes:nullptr
157
+ input:input
158
+ withSelection:NO];
121
159
  }
122
-
160
+
123
161
  // fix the selection if needed
124
- if([input->textView isFirstResponder]) {
125
- input->textView.selectedRange = NSMakeRange(preAddSelection.location + postAddLocationOffset, preAddSelection.length + postAddLengthOffset);
162
+ if ([input->textView isFirstResponder]) {
163
+ input->textView.selectedRange =
164
+ NSMakeRange(preAddSelection.location + postAddLocationOffset,
165
+ preAddSelection.length + postAddLengthOffset);
126
166
  }
127
167
  }
128
168
 
129
- + (BOOL)handleBackspaceInRange:(NSRange)range replacementText:(NSString *)text input:(id)input {
130
- if(range.length != 1 || ![text isEqualToString:@""]) { return NO; }
169
+ + (BOOL)handleBackspaceInRange:(NSRange)range
170
+ replacementText:(NSString *)text
171
+ input:(id)input {
172
+ if (range.length != 1 || ![text isEqualToString:@""]) {
173
+ return NO;
174
+ }
131
175
  EnrichedTextInputView *typedInput = (EnrichedTextInputView *)input;
132
- if(typedInput == nullptr) { return NO; }
133
-
134
- unichar character = [typedInput->textView.textStorage.string characterAtIndex:range.location];
176
+ if (typedInput == nullptr) {
177
+ return NO;
178
+ }
179
+
180
+ unichar character =
181
+ [typedInput->textView.textStorage.string characterAtIndex:range.location];
135
182
  // zero-width space got backspaced
136
- if(character == 0x200B) {
183
+ if (character == 0x200B) {
137
184
  // in such case: remove the whole line without the endline if there is one
138
-
139
- NSRange paragraphRange = [typedInput->textView.textStorage.string paragraphRangeForRange:range];
185
+
186
+ NSRange paragraphRange =
187
+ [typedInput->textView.textStorage.string paragraphRangeForRange:range];
140
188
  NSRange removalRange = paragraphRange;
141
189
  // if whole paragraph gets removed then 0 length for style removal
142
190
  NSRange styleRemovalRange = NSMakeRange(paragraphRange.location, 0);
143
-
144
- if([[NSCharacterSet newlineCharacterSet] characterIsMember:[typedInput->textView.textStorage.string characterAtIndex:NSMaxRange(paragraphRange) - 1]]) {
191
+
192
+ if ([[NSCharacterSet newlineCharacterSet]
193
+ characterIsMember:[typedInput->textView.textStorage.string
194
+ characterAtIndex:NSMaxRange(paragraphRange) -
195
+ 1]]) {
145
196
  // if endline is there, don't remove it
146
- removalRange = NSMakeRange(paragraphRange.location, paragraphRange.length - 1);
197
+ removalRange =
198
+ NSMakeRange(paragraphRange.location, paragraphRange.length - 1);
147
199
  // if endline is left then 1 length for style removal
148
200
  styleRemovalRange = NSMakeRange(paragraphRange.location, 1);
149
201
  }
150
-
202
+
151
203
  // and then remove associated styling
152
-
153
- UnorderedListStyle *ulStyle = typedInput->stylesDict[@([UnorderedListStyle getStyleType])];
154
- OrderedListStyle *olStyle = typedInput->stylesDict[@([OrderedListStyle getStyleType])];
155
- BlockQuoteStyle *bqStyle = typedInput->stylesDict[@([BlockQuoteStyle getStyleType])];
156
- CodeBlockStyle *cbStyle = typedInput->stylesDict[@([CodeBlockStyle getStyleType])];
157
-
158
- if([cbStyle detectStyle:removalRange]) {
159
- // code blocks are being handled differently; we want to remove previous newline if there is a one
160
- if(range.location > 0) {
161
- removalRange = NSMakeRange(removalRange.location - 1, removalRange.length + 1);
204
+
205
+ UnorderedListStyle *ulStyle =
206
+ typedInput->stylesDict[@([UnorderedListStyle getStyleType])];
207
+ OrderedListStyle *olStyle =
208
+ typedInput->stylesDict[@([OrderedListStyle getStyleType])];
209
+ BlockQuoteStyle *bqStyle =
210
+ typedInput->stylesDict[@([BlockQuoteStyle getStyleType])];
211
+ CodeBlockStyle *cbStyle =
212
+ typedInput->stylesDict[@([CodeBlockStyle getStyleType])];
213
+
214
+ if ([cbStyle detectStyle:removalRange]) {
215
+ // code blocks are being handled differently; we want to remove previous
216
+ // newline if there is a one
217
+ if (range.location > 0) {
218
+ removalRange =
219
+ NSMakeRange(removalRange.location - 1, removalRange.length + 1);
162
220
  }
163
- [TextInsertionUtils replaceText:@"" at:removalRange additionalAttributes:nullptr input:typedInput withSelection:YES];
221
+ [TextInsertionUtils replaceText:@""
222
+ at:removalRange
223
+ additionalAttributes:nullptr
224
+ input:typedInput
225
+ withSelection:YES];
164
226
  return YES;
165
227
  }
166
-
167
- [TextInsertionUtils replaceText:@"" at:removalRange additionalAttributes:nullptr input:typedInput withSelection:YES];
168
-
228
+
229
+ [TextInsertionUtils replaceText:@""
230
+ at:removalRange
231
+ additionalAttributes:nullptr
232
+ input:typedInput
233
+ withSelection:YES];
234
+
169
235
  if ([ulStyle detectStyle:styleRemovalRange]) {
170
236
  [ulStyle removeAttributes:styleRemovalRange];
171
237
  } else if ([olStyle detectStyle:styleRemovalRange]) {
@@ -173,7 +239,7 @@
173
239
  } else if ([bqStyle detectStyle:styleRemovalRange]) {
174
240
  [bqStyle removeAttributes:styleRemovalRange];
175
241
  }
176
-
242
+
177
243
  return YES;
178
244
  }
179
245
  return NO;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useImperativeHandle, useMemo, useRef } from 'react';
3
+ import { useEffect, useImperativeHandle, useMemo, useRef } from 'react';
4
4
  import EnrichedTextInputNativeComponent, { Commands } from './EnrichedTextInputNativeComponent';
5
5
  import { normalizeHtmlStyle } from "./normalizeHtmlStyle.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -42,6 +42,19 @@ export const EnrichedTextInput = ({
42
42
  ...rest
43
43
  }) => {
44
44
  const nativeRef = useRef(null);
45
+ const nextHtmlRequestId = useRef(1);
46
+ const pendingHtmlRequests = useRef(new Map());
47
+ useEffect(() => {
48
+ const pendingRequests = pendingHtmlRequests.current;
49
+ return () => {
50
+ pendingRequests.forEach(({
51
+ reject
52
+ }) => {
53
+ reject(new Error('Component unmounted'));
54
+ });
55
+ pendingRequests.clear();
56
+ };
57
+ }, []);
45
58
  const normalizedHtmlStyle = useMemo(() => normalizeHtmlStyle(htmlStyle, mentionIndicators), [htmlStyle, mentionIndicators]);
46
59
  useImperativeHandle(ref, () => ({
47
60
  measureInWindow: callback => {
@@ -65,6 +78,16 @@ export const EnrichedTextInput = ({
65
78
  setValue: value => {
66
79
  Commands.setValue(nullthrows(nativeRef.current), value);
67
80
  },
81
+ getHTML: () => {
82
+ return new Promise((resolve, reject) => {
83
+ const requestId = nextHtmlRequestId.current++;
84
+ pendingHtmlRequests.current.set(requestId, {
85
+ resolve,
86
+ reject
87
+ });
88
+ Commands.requestHTML(nullthrows(nativeRef.current), requestId);
89
+ });
90
+ },
68
91
  toggleBold: () => {
69
92
  Commands.toggleBold(nullthrows(nativeRef.current));
70
93
  },
@@ -162,6 +185,20 @@ export const EnrichedTextInput = ({
162
185
  attributes
163
186
  });
164
187
  };
188
+ const handleRequestHtmlResult = e => {
189
+ const {
190
+ requestId,
191
+ html
192
+ } = e.nativeEvent;
193
+ const pending = pendingHtmlRequests.current.get(requestId);
194
+ if (!pending) return;
195
+ if (html === null || typeof html !== 'string') {
196
+ pending.reject(new Error('Failed to parse HTML'));
197
+ } else {
198
+ pending.resolve(html);
199
+ }
200
+ pendingHtmlRequests.current.delete(requestId);
201
+ };
165
202
  return /*#__PURE__*/_jsx(EnrichedTextInputNativeComponent, {
166
203
  ref: nativeRef,
167
204
  mentionIndicators: mentionIndicators,
@@ -185,6 +222,7 @@ export const EnrichedTextInput = ({
185
222
  onMentionDetected: handleMentionDetected,
186
223
  onMention: handleMentionEvent,
187
224
  onChangeSelection: onChangeSelection,
225
+ onRequestHtmlResult: handleRequestHtmlResult,
188
226
  androidExperimentalSynchronousEvents: androidExperimentalSynchronousEvents,
189
227
  scrollEnabled: scrollEnabled,
190
228
  ...rest
@@ -1 +1 @@
1
- {"version":3,"names":["useImperativeHandle","useMemo","useRef","EnrichedTextInputNativeComponent","Commands","normalizeHtmlStyle","jsx","_jsx","nullthrows","value","Error","warnAboutMissconfiguredMentions","indicator","console","warn","EnrichedTextInput","ref","autoFocus","editable","mentionIndicators","defaultValue","placeholder","placeholderTextColor","cursorColor","selectionColor","style","autoCapitalize","htmlStyle","onFocus","onBlur","onChangeText","onChangeHtml","onChangeState","onLinkDetected","onMentionDetected","onStartMention","onChangeMention","onEndMention","onChangeSelection","androidExperimentalSynchronousEvents","scrollEnabled","rest","nativeRef","normalizedHtmlStyle","measureInWindow","callback","current","measure","measureLayout","relativeToNativeComponentRef","onSuccess","onFail","setNativeProps","nativeProps","focus","blur","setValue","toggleBold","toggleItalic","toggleUnderline","toggleStrikeThrough","toggleInlineCode","toggleH1","toggleH2","toggleH3","toggleCodeBlock","toggleBlockQuote","toggleOrderedList","toggleUnorderedList","setLink","start","end","text","url","addLink","setImage","uri","width","height","addImage","setMention","attributes","parsedAttributes","JSON","stringify","addMention","startMention","includes","handleMentionEvent","e","mentionText","nativeEvent","mentionIndicator","handleLinkDetected","handleMentionDetected","payload","parse","onInputFocus","onInputBlur","isOnChangeHtmlSet","undefined","onMention"],"sourceRoot":"../../src","sources":["EnrichedTextInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useImperativeHandle","useMemo","useRef","EnrichedTextInputNativeComponent","Commands","normalizeHtmlStyle","jsx","_jsx","nullthrows","value","Error","warnAboutMissconfiguredMentions","indicator","console","warn","EnrichedTextInput","ref","autoFocus","editable","mentionIndicators","defaultValue","placeholder","placeholderTextColor","cursorColor","selectionColor","style","autoCapitalize","htmlStyle","onFocus","onBlur","onChangeText","onChangeHtml","onChangeState","onLinkDetected","onMentionDetected","onStartMention","onChangeMention","onEndMention","onChangeSelection","androidExperimentalSynchronousEvents","scrollEnabled","rest","nativeRef","nextHtmlRequestId","pendingHtmlRequests","Map","pendingRequests","current","forEach","reject","clear","normalizedHtmlStyle","measureInWindow","callback","measure","measureLayout","relativeToNativeComponentRef","onSuccess","onFail","setNativeProps","nativeProps","focus","blur","setValue","getHTML","Promise","resolve","requestId","set","requestHTML","toggleBold","toggleItalic","toggleUnderline","toggleStrikeThrough","toggleInlineCode","toggleH1","toggleH2","toggleH3","toggleCodeBlock","toggleBlockQuote","toggleOrderedList","toggleUnorderedList","setLink","start","end","text","url","addLink","setImage","uri","width","height","addImage","setMention","attributes","parsedAttributes","JSON","stringify","addMention","startMention","includes","handleMentionEvent","e","mentionText","nativeEvent","mentionIndicator","handleLinkDetected","handleMentionDetected","payload","parse","handleRequestHtmlResult","html","pending","get","delete","onInputFocus","onInputBlur","isOnChangeHtmlSet","undefined","onMention","onRequestHtmlResult"],"sourceRoot":"../../src","sources":["EnrichedTextInput.tsx"],"mappings":";;AAAA,SAGEA,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,OAAOC,gCAAgC,IACrCC,QAAQ,QAYH,oCAAoC;AAa3C,SAASC,kBAAkB,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuH1D,MAAMC,UAAU,GAAQC,KAA2B,IAAQ;EACzD,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;EACvD;EAEA,OAAOD,KAAK;AACd,CAAC;AAED,MAAME,+BAA+B,GAAIC,SAAiB,IAAK;EAC7DC,OAAO,CAACC,IAAI,CACV,uCAAuCF,SAAS,8CAClD,CAAC;AACH,CAAC;AASD,OAAO,MAAMG,iBAAiB,GAAGA,CAAC;EAChCC,GAAG;EACHC,SAAS;EACTC,QAAQ,GAAG,IAAI;EACfC,iBAAiB,GAAG,CAAC,GAAG,CAAC;EACzBC,YAAY;EACZC,WAAW;EACXC,oBAAoB;EACpBC,WAAW;EACXC,cAAc;EACdC,KAAK;EACLC,cAAc,GAAG,WAAW;EAC5BC,SAAS,GAAG,CAAC,CAAC;EACdC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,aAAa;EACbC,cAAc;EACdC,iBAAiB;EACjBC,cAAc;EACdC,eAAe;EACfC,YAAY;EACZC,iBAAiB;EACjBC,oCAAoC,GAAG,KAAK;EAC5CC,aAAa,GAAG,IAAI;EACpB,GAAGC;AACmB,CAAC,KAAK;EAC5B,MAAMC,SAAS,GAAGxC,MAAM,CAAuB,IAAI,CAAC;EAEpD,MAAMyC,iBAAiB,GAAGzC,MAAM,CAAC,CAAC,CAAC;EACnC,MAAM0C,mBAAmB,GAAG1C,MAAM,CAAC,IAAI2C,GAAG,CAAsB,CAAC,CAAC;EAElE9C,SAAS,CAAC,MAAM;IACd,MAAM+C,eAAe,GAAGF,mBAAmB,CAACG,OAAO;IACnD,OAAO,MAAM;MACXD,eAAe,CAACE,OAAO,CAAC,CAAC;QAAEC;MAAO,CAAC,KAAK;QACtCA,MAAM,CAAC,IAAIvC,KAAK,CAAC,qBAAqB,CAAC,CAAC;MAC1C,CAAC,CAAC;MACFoC,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,mBAAmB,GAAGlD,OAAO,CACjC,MAAMI,kBAAkB,CAACsB,SAAS,EAAER,iBAAiB,CAAC,EACtD,CAACQ,SAAS,EAAER,iBAAiB,CAC/B,CAAC;EAEDnB,mBAAmB,CAACgB,GAAG,EAAE,OAAO;IAC9BoC,eAAe,EAAGC,QAA0C,IAAK;MAC/D7C,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAACK,eAAe,CAACC,QAAQ,CAAC;IACzD,CAAC;IACDC,OAAO,EAAGD,QAAkC,IAAK;MAC/C7C,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAACO,OAAO,CAACD,QAAQ,CAAC;IACjD,CAAC;IACDE,aAAa,EAAEA,CACbC,4BAAmD,EACnDC,SAAyC,EACzCC,MAAmB,KAChB;MACHlD,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAACQ,aAAa,CACzCC,4BAA4B,EAC5BC,SAAS,EACTC,MACF,CAAC;IACH,CAAC;IACDC,cAAc,EAAGC,WAAmB,IAAK;MACvCpD,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAACY,cAAc,CAACC,WAAW,CAAC;IAC3D,CAAC;IACDC,KAAK,EAAEA,CAAA,KAAM;MACXzD,QAAQ,CAACyD,KAAK,CAACrD,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC/C,CAAC;IACDe,IAAI,EAAEA,CAAA,KAAM;MACV1D,QAAQ,CAAC0D,IAAI,CAACtD,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC9C,CAAC;IACDgB,QAAQ,EAAGtD,KAAa,IAAK;MAC3BL,QAAQ,CAAC2D,QAAQ,CAACvD,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAAEtC,KAAK,CAAC;IACzD,CAAC;IACDuD,OAAO,EAAEA,CAAA,KAAM;MACb,OAAO,IAAIC,OAAO,CAAS,CAACC,OAAO,EAAEjB,MAAM,KAAK;QAC9C,MAAMkB,SAAS,GAAGxB,iBAAiB,CAACI,OAAO,EAAE;QAC7CH,mBAAmB,CAACG,OAAO,CAACqB,GAAG,CAACD,SAAS,EAAE;UAAED,OAAO;UAAEjB;QAAO,CAAC,CAAC;QAC/D7C,QAAQ,CAACiE,WAAW,CAAC7D,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAAEoB,SAAS,CAAC;MAChE,CAAC,CAAC;IACJ,CAAC;IACDG,UAAU,EAAEA,CAAA,KAAM;MAChBlE,QAAQ,CAACkE,UAAU,CAAC9D,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IACpD,CAAC;IACDwB,YAAY,EAAEA,CAAA,KAAM;MAClBnE,QAAQ,CAACmE,YAAY,CAAC/D,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IACtD,CAAC;IACDyB,eAAe,EAAEA,CAAA,KAAM;MACrBpE,QAAQ,CAACoE,eAAe,CAAChE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IACzD,CAAC;IACD0B,mBAAmB,EAAEA,CAAA,KAAM;MACzBrE,QAAQ,CAACqE,mBAAmB,CAACjE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD2B,gBAAgB,EAAEA,CAAA,KAAM;MACtBtE,QAAQ,CAACsE,gBAAgB,CAAClE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD4B,QAAQ,EAAEA,CAAA,KAAM;MACdvE,QAAQ,CAACuE,QAAQ,CAACnE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAClD,CAAC;IACD6B,QAAQ,EAAEA,CAAA,KAAM;MACdxE,QAAQ,CAACwE,QAAQ,CAACpE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAClD,CAAC;IACD8B,QAAQ,EAAEA,CAAA,KAAM;MACdzE,QAAQ,CAACyE,QAAQ,CAACrE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAClD,CAAC;IACD+B,eAAe,EAAEA,CAAA,KAAM;MACrB1E,QAAQ,CAAC0E,eAAe,CAACtE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IACzD,CAAC;IACDgC,gBAAgB,EAAEA,CAAA,KAAM;MACtB3E,QAAQ,CAAC2E,gBAAgB,CAACvE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC1D,CAAC;IACDiC,iBAAiB,EAAEA,CAAA,KAAM;MACvB5E,QAAQ,CAAC4E,iBAAiB,CAACxE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC3D,CAAC;IACDkC,mBAAmB,EAAEA,CAAA,KAAM;MACzB7E,QAAQ,CAAC6E,mBAAmB,CAACzE,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,CAAC;IAC7D,CAAC;IACDmC,OAAO,EAAEA,CAACC,KAAa,EAAEC,GAAW,EAAEC,IAAY,EAAEC,GAAW,KAAK;MAClElF,QAAQ,CAACmF,OAAO,CAAC/E,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAAEoC,KAAK,EAAEC,GAAG,EAAEC,IAAI,EAAEC,GAAG,CAAC;IACxE,CAAC;IACDE,QAAQ,EAAEA,CAACC,GAAW,EAAEC,KAAa,EAAEC,MAAc,KAAK;MACxDvF,QAAQ,CAACwF,QAAQ,CAACpF,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAAE0C,GAAG,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACtE,CAAC;IACDE,UAAU,EAAEA,CACVjF,SAAiB,EACjByE,IAAY,EACZS,UAAmC,KAChC;MACH;MACA,MAAMC,gBAAgB,GAAGC,IAAI,CAACC,SAAS,CAACH,UAAU,IAAI,CAAC,CAAC,CAAC;MAEzD1F,QAAQ,CAAC8F,UAAU,CACjB1F,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAC7BnC,SAAS,EACTyE,IAAI,EACJU,gBACF,CAAC;IACH,CAAC;IACDI,YAAY,EAAGvF,SAAiB,IAAK;MACnC,IAAI,CAACO,iBAAiB,EAAEiF,QAAQ,CAACxF,SAAS,CAAC,EAAE;QAC3CD,+BAA+B,CAACC,SAAS,CAAC;MAC5C;MAEAR,QAAQ,CAAC+F,YAAY,CAAC3F,UAAU,CAACkC,SAAS,CAACK,OAAO,CAAC,EAAEnC,SAAS,CAAC;IACjE;EACF,CAAC,CAAC,CAAC;EAEH,MAAMyF,kBAAkB,GAAIC,CAAuC,IAAK;IACtE,MAAMC,WAAW,GAAGD,CAAC,CAACE,WAAW,CAACnB,IAAI;IACtC,MAAMoB,gBAAgB,GAAGH,CAAC,CAACE,WAAW,CAAC5F,SAAS;IAEhD,IAAI,OAAO2F,WAAW,KAAK,QAAQ,EAAE;MACnC,IAAIA,WAAW,KAAK,EAAE,EAAE;QACtBpE,cAAc,GAAGsE,gBAAgB,CAAC;MACpC,CAAC,MAAM;QACLrE,eAAe,GAAG;UAAExB,SAAS,EAAE6F,gBAAgB;UAAEpB,IAAI,EAAEkB;QAAY,CAAC,CAAC;MACvE;IACF,CAAC,MAAM,IAAIA,WAAW,KAAK,IAAI,EAAE;MAC/BlE,YAAY,GAAGoE,gBAAgB,CAAC;IAClC;EACF,CAAC;EAED,MAAMC,kBAAkB,GAAIJ,CAAuC,IAAK;IACtE,MAAM;MAAEjB,IAAI;MAAEC,GAAG;MAAEH,KAAK;MAAEC;IAAI,CAAC,GAAGkB,CAAC,CAACE,WAAW;IAC/CvE,cAAc,GAAG;MAAEoD,IAAI;MAAEC,GAAG;MAAEH,KAAK;MAAEC;IAAI,CAAC,CAAC;EAC7C,CAAC;EAED,MAAMuB,qBAAqB,GACzBL,CAAkD,IAC/C;IACH,MAAM;MAAEjB,IAAI;MAAEzE,SAAS;MAAEgG;IAAQ,CAAC,GAAGN,CAAC,CAACE,WAAW;IAClD,MAAMV,UAAU,GAAGE,IAAI,CAACa,KAAK,CAACD,OAAO,CAA2B;IAChE1E,iBAAiB,GAAG;MAAEmD,IAAI;MAAEzE,SAAS;MAAEkF;IAAW,CAAC,CAAC;EACtD,CAAC;EAED,MAAMgB,uBAAuB,GAC3BR,CAAiD,IAC9C;IACH,MAAM;MAAEnC,SAAS;MAAE4C;IAAK,CAAC,GAAGT,CAAC,CAACE,WAAW;IACzC,MAAMQ,OAAO,GAAGpE,mBAAmB,CAACG,OAAO,CAACkE,GAAG,CAAC9C,SAAS,CAAC;IAC1D,IAAI,CAAC6C,OAAO,EAAE;IAEd,IAAID,IAAI,KAAK,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC7CC,OAAO,CAAC/D,MAAM,CAAC,IAAIvC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACnD,CAAC,MAAM;MACLsG,OAAO,CAAC9C,OAAO,CAAC6C,IAAI,CAAC;IACvB;IAEAnE,mBAAmB,CAACG,OAAO,CAACmE,MAAM,CAAC/C,SAAS,CAAC;EAC/C,CAAC;EAED,oBACE5D,IAAA,CAACJ,gCAAgC;IAC/Ba,GAAG,EAAE0B,SAAU;IACfvB,iBAAiB,EAAEA,iBAAkB;IACrCD,QAAQ,EAAEA,QAAS;IACnBD,SAAS,EAAEA,SAAU;IACrBG,YAAY,EAAEA,YAAa;IAC3BC,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CC,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEA,cAAe;IAC/BC,KAAK,EAAEA,KAAM;IACbC,cAAc,EAAEA,cAAe;IAC/BC,SAAS,EAAEwB,mBAAoB;IAC/BgE,YAAY,EAAEvF,OAAQ;IACtBwF,WAAW,EAAEvF,MAAO;IACpBC,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3BsF,iBAAiB,EAAEtF,YAAY,KAAKuF,SAAU;IAC9CtF,aAAa,EAAEA,aAAc;IAC7BC,cAAc,EAAEyE,kBAAmB;IACnCxE,iBAAiB,EAAEyE,qBAAsB;IACzCY,SAAS,EAAElB,kBAAmB;IAC9B/D,iBAAiB,EAAEA,iBAAkB;IACrCkF,mBAAmB,EAAEV,uBAAwB;IAC7CvE,oCAAoC,EAClCA,oCACD;IACDC,aAAa,EAAEA,aAAc;IAAA,GACzBC;EAAI,CACT,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -64,6 +64,11 @@ export interface OnChangeSelectionEvent {
64
64
  text: string;
65
65
  }
66
66
 
67
+ export interface OnRequestHtmlResultEvent {
68
+ requestId: Int32;
69
+ html: UnsafeMixed;
70
+ }
71
+
67
72
  export interface MentionStyleProperties {
68
73
  color?: ColorValue;
69
74
  backgroundColor?: ColorValue;
@@ -143,6 +148,7 @@ export interface NativeProps extends ViewProps {
143
148
  onMentionDetected?: DirectEventHandler<OnMentionDetectedInternal>;
144
149
  onMention?: DirectEventHandler<OnMentionEvent>;
145
150
  onChangeSelection?: DirectEventHandler<OnChangeSelectionEvent>;
151
+ onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
146
152
 
147
153
  // Style related props - used for generating proper setters in component's manager
148
154
  // These should not be passed as regular props
@@ -203,6 +209,10 @@ interface NativeCommands {
203
209
  text: string,
204
210
  payload: string
205
211
  ) => void;
212
+ requestHTML: (
213
+ viewRef: React.ElementRef<ComponentType>,
214
+ requestId: Int32
215
+ ) => void;
206
216
  }
207
217
 
208
218
  export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
@@ -229,6 +239,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
229
239
  'addImage',
230
240
  'startMention',
231
241
  'addMention',
242
+ 'requestHTML',
232
243
  ],
233
244
  });
234
245
 
@@ -5,6 +5,7 @@ export interface EnrichedTextInputInstance extends NativeMethods {
5
5
  focus: () => void;
6
6
  blur: () => void;
7
7
  setValue: (value: string) => void;
8
+ getHTML: () => Promise<string>;
8
9
  toggleBold: () => void;
9
10
  toggleItalic: () => void;
10
11
  toggleUnderline: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AACf,OAAyC,EAGvC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,UAAU,EAKV,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAE9D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGlC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,IAAI,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,UAAU,CAAC;KAC9B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,eAAe,CAAC,EAAE,UAAU,CAAC;KAC9B,CAAC;IACF,CAAC,CAAC,EAAE;QACF,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,kBAAkB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;KAC3C,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,sBAAsB,CAAC;IAC1E,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3C,WAAW,CAAC,EAAE,UAAU,CAAC;KAC1B,CAAC;IACF,EAAE,CAAC,EAAE;QACH,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE,GAAG,CAAC,EAAE,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACtE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IAC9E;;;;;;OAMG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAChD;AAkBD,eAAO,MAAM,iBAAiB,GAAI,gYA2B/B,sBAAsB,4CAmKxB,CAAC"}
1
+ {"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInput.tsx"],"names":[],"mappings":"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"}