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
@@ -4,16 +4,19 @@
4
4
  @implementation UIFont (FontExtension)
5
5
 
6
6
  - (BOOL)isBold {
7
- return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitBold) == UIFontDescriptorTraitBold;
7
+ return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitBold) ==
8
+ UIFontDescriptorTraitBold;
8
9
  }
9
10
 
10
11
  - (UIFont *)setBold {
11
- if([self isBold]) {
12
+ if ([self isBold]) {
12
13
  return self;
13
14
  }
14
- UIFontDescriptorSymbolicTraits newTraits = (self.fontDescriptor.symbolicTraits | UIFontDescriptorTraitBold);
15
- UIFontDescriptor *fontDescriptor = [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
16
- if(fontDescriptor != nullptr) {
15
+ UIFontDescriptorSymbolicTraits newTraits =
16
+ (self.fontDescriptor.symbolicTraits | UIFontDescriptorTraitBold);
17
+ UIFontDescriptor *fontDescriptor =
18
+ [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
19
+ if (fontDescriptor != nullptr) {
17
20
  return [UIFont fontWithDescriptor:fontDescriptor size:0];
18
21
  } else {
19
22
  RCTLogWarn(@"[EnrichedTextInput]: Couldn't apply bold trait to the font.");
@@ -22,68 +25,80 @@
22
25
  }
23
26
 
24
27
  - (UIFont *)removeBold {
25
- if(![self isBold]) {
28
+ if (![self isBold]) {
26
29
  return self;
27
30
  }
28
- UIFontDescriptorSymbolicTraits newTraits = (self.fontDescriptor.symbolicTraits ^ UIFontDescriptorTraitBold);
29
- UIFontDescriptor *fontDescriptor = [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
30
- if(fontDescriptor != nullptr) {
31
+ UIFontDescriptorSymbolicTraits newTraits =
32
+ (self.fontDescriptor.symbolicTraits ^ UIFontDescriptorTraitBold);
33
+ UIFontDescriptor *fontDescriptor =
34
+ [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
35
+ if (fontDescriptor != nullptr) {
31
36
  return [UIFont fontWithDescriptor:fontDescriptor size:0];
32
37
  } else {
33
- RCTLogWarn(@"[EnrichedTextInput]: Couldn't remove bold trait from the font.");
38
+ RCTLogWarn(
39
+ @"[EnrichedTextInput]: Couldn't remove bold trait from the font.");
34
40
  return self;
35
41
  }
36
42
  }
37
43
 
38
44
  - (BOOL)isItalic {
39
- return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitItalic) == UIFontDescriptorTraitItalic;
45
+ return (self.fontDescriptor.symbolicTraits & UIFontDescriptorTraitItalic) ==
46
+ UIFontDescriptorTraitItalic;
40
47
  }
41
48
 
42
49
  - (UIFont *)setItalic {
43
- if([self isItalic]) {
50
+ if ([self isItalic]) {
44
51
  return self;
45
52
  }
46
- UIFontDescriptorSymbolicTraits newTraits = (self.fontDescriptor.symbolicTraits | UIFontDescriptorTraitItalic);
47
- UIFontDescriptor *fontDescriptor = [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
48
- if(fontDescriptor != nullptr) {
53
+ UIFontDescriptorSymbolicTraits newTraits =
54
+ (self.fontDescriptor.symbolicTraits | UIFontDescriptorTraitItalic);
55
+ UIFontDescriptor *fontDescriptor =
56
+ [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
57
+ if (fontDescriptor != nullptr) {
49
58
  return [UIFont fontWithDescriptor:fontDescriptor size:0];
50
59
  } else {
51
- RCTLogWarn(@"[EnrichedTextInput]: Couldn't apply italic trait to the font.");
60
+ RCTLogWarn(
61
+ @"[EnrichedTextInput]: Couldn't apply italic trait to the font.");
52
62
  return self;
53
63
  }
54
64
  }
55
65
 
56
66
  - (UIFont *)removeItalic {
57
- if(![self isItalic]) {
67
+ if (![self isItalic]) {
58
68
  return self;
59
69
  }
60
- UIFontDescriptorSymbolicTraits newTraits = (self.fontDescriptor.symbolicTraits ^ UIFontDescriptorTraitItalic);
61
- UIFontDescriptor *fontDescriptor = [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
62
- if(fontDescriptor != nullptr) {
70
+ UIFontDescriptorSymbolicTraits newTraits =
71
+ (self.fontDescriptor.symbolicTraits ^ UIFontDescriptorTraitItalic);
72
+ UIFontDescriptor *fontDescriptor =
73
+ [self.fontDescriptor fontDescriptorWithSymbolicTraits:newTraits];
74
+ if (fontDescriptor != nullptr) {
63
75
  return [UIFont fontWithDescriptor:fontDescriptor size:0];
64
76
  } else {
65
- RCTLogWarn(@"[EnrichedTextInput]: Couldn't remove italic trait from the font.");
77
+ RCTLogWarn(
78
+ @"[EnrichedTextInput]: Couldn't remove italic trait from the font.");
66
79
  return self;
67
80
  }
68
81
  }
69
82
 
70
83
  - (UIFont *)withFontTraits:(UIFont *)from {
71
- UIFont* newFont = self;
72
- if([from isBold]) {
84
+ UIFont *newFont = self;
85
+ if ([from isBold]) {
73
86
  newFont = [newFont setBold];
74
87
  }
75
- if([from isItalic]) {
88
+ if ([from isItalic]) {
76
89
  newFont = [newFont setItalic];
77
90
  }
78
91
  return newFont;
79
92
  }
80
93
 
81
94
  - (UIFont *)setSize:(CGFloat)size {
82
- UIFontDescriptor *newFontDescriptor = [self.fontDescriptor fontDescriptorWithSize:size];
83
- if(newFontDescriptor != nullptr) {
95
+ UIFontDescriptor *newFontDescriptor =
96
+ [self.fontDescriptor fontDescriptorWithSize:size];
97
+ if (newFontDescriptor != nullptr) {
84
98
  return [UIFont fontWithDescriptor:newFontDescriptor size:0];
85
99
  } else {
86
- RCTLogWarn(@"[EnrichedTextInput]: Couldn't apply heading style to the font.");
100
+ RCTLogWarn(
101
+ @"[EnrichedTextInput]: Couldn't apply heading style to the font.");
87
102
  return self;
88
103
  }
89
104
  }
@@ -2,5 +2,5 @@
2
2
  #import <UIKit/UIKit.h>
3
3
 
4
4
  @interface NSLayoutManager (LayoutManagerExtension)
5
- @property (nonatomic, weak) id input;
5
+ @property(nonatomic, weak) id input;
6
6
  @end