react-native-enriched 0.2.0 → 0.3.0

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 (186) hide show
  1. package/README.md +16 -17
  2. package/android/build.gradle +77 -72
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +21 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +7 -0
  5. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.cpp +156 -0
  6. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.h +147 -0
  7. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.cpp +10 -0
  8. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.h +194 -0
  9. package/android/lint.gradle +70 -0
  10. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputConnectionWrapper.kt +140 -0
  11. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputView.kt +304 -83
  12. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewLayoutManager.kt +3 -1
  13. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewManager.kt +166 -51
  14. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewPackage.kt +1 -3
  15. package/android/src/main/java/com/swmansion/enriched/MeasurementStore.kt +70 -21
  16. package/android/src/main/java/com/swmansion/enriched/events/MentionHandler.kt +21 -11
  17. package/android/src/main/java/com/swmansion/enriched/events/OnChangeHtmlEvent.kt +8 -9
  18. package/android/src/main/java/com/swmansion/enriched/events/OnChangeSelectionEvent.kt +10 -9
  19. package/android/src/main/java/com/swmansion/enriched/events/OnChangeStateDeprecatedEvent.kt +21 -0
  20. package/android/src/main/java/com/swmansion/enriched/events/OnChangeStateEvent.kt +9 -12
  21. package/android/src/main/java/com/swmansion/enriched/events/OnChangeTextEvent.kt +10 -10
  22. package/android/src/main/java/com/swmansion/enriched/events/OnInputBlurEvent.kt +7 -9
  23. package/android/src/main/java/com/swmansion/enriched/events/OnInputFocusEvent.kt +7 -9
  24. package/android/src/main/java/com/swmansion/enriched/events/OnInputKeyPressEvent.kt +27 -0
  25. package/android/src/main/java/com/swmansion/enriched/events/OnLinkDetectedEvent.kt +13 -11
  26. package/android/src/main/java/com/swmansion/enriched/events/OnMentionDetectedEvent.kt +10 -9
  27. package/android/src/main/java/com/swmansion/enriched/events/OnMentionEvent.kt +9 -8
  28. package/android/src/main/java/com/swmansion/enriched/events/OnRequestHtmlResultEvent.kt +32 -0
  29. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBlockQuoteSpan.kt +24 -5
  30. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBoldSpan.kt +8 -1
  31. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedCodeBlockSpan.kt +10 -2
  32. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH1Span.kt +8 -1
  33. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH2Span.kt +8 -1
  34. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH3Span.kt +8 -1
  35. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH4Span.kt +24 -0
  36. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH5Span.kt +24 -0
  37. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH6Span.kt +24 -0
  38. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedImageSpan.kt +34 -17
  39. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedInlineCodeSpan.kt +8 -1
  40. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedItalicSpan.kt +7 -1
  41. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedLinkSpan.kt +10 -4
  42. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedMentionSpan.kt +14 -11
  43. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedOrderedListSpan.kt +18 -11
  44. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedSpans.kt +174 -72
  45. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedStrikeThroughSpan.kt +7 -1
  46. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnderlineSpan.kt +7 -1
  47. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnorderedListSpan.kt +11 -5
  48. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedBlockSpan.kt +3 -2
  49. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedHeadingSpan.kt +1 -2
  50. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedInlineSpan.kt +1 -2
  51. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedParagraphSpan.kt +3 -2
  52. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedSpan.kt +5 -0
  53. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedZeroWidthSpaceSpan.kt +1 -2
  54. package/android/src/main/java/com/swmansion/enriched/spans/utils/ForceRedrawSpan.kt +2 -1
  55. package/android/src/main/java/com/swmansion/enriched/styles/HtmlStyle.kt +155 -20
  56. package/android/src/main/java/com/swmansion/enriched/styles/InlineStyles.kt +25 -8
  57. package/android/src/main/java/com/swmansion/enriched/styles/ListStyles.kt +60 -20
  58. package/android/src/main/java/com/swmansion/enriched/styles/ParagraphStyles.kt +161 -25
  59. package/android/src/main/java/com/swmansion/enriched/styles/ParametrizedStyles.kt +128 -52
  60. package/android/src/main/java/com/swmansion/enriched/utils/AsyncDrawable.kt +10 -7
  61. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedConstants.kt +11 -0
  62. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedEditableFactory.kt +17 -0
  63. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedParser.java +136 -87
  64. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSelection.kt +71 -42
  65. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpanState.kt +183 -48
  66. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpannable.kt +82 -0
  67. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpannableStringBuilder.kt +15 -0
  68. package/android/src/main/java/com/swmansion/enriched/utils/Utils.kt +0 -70
  69. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedSpanWatcher.kt +46 -14
  70. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedTextWatcher.kt +34 -11
  71. package/android/src/main/new_arch/CMakeLists.txt +6 -0
  72. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.cpp +6 -6
  73. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.h +6 -6
  74. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputComponentDescriptor.h +19 -19
  75. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.cpp +40 -51
  76. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.h +13 -15
  77. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.cpp +23 -21
  78. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.h +35 -36
  79. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.cpp +4 -4
  80. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.h +13 -14
  81. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/conversions.h +33 -14
  82. package/ios/EnrichedTextInputView.h +26 -14
  83. package/ios/EnrichedTextInputView.mm +1209 -586
  84. package/ios/config/InputConfig.h +24 -6
  85. package/ios/config/InputConfig.mm +154 -38
  86. package/ios/{utils → extensions}/ColorExtension.mm +7 -5
  87. package/ios/extensions/FontExtension.mm +106 -0
  88. package/ios/{utils → extensions}/LayoutManagerExtension.h +1 -1
  89. package/ios/extensions/LayoutManagerExtension.mm +396 -0
  90. package/ios/{utils → extensions}/StringExtension.mm +19 -16
  91. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.cpp +156 -0
  92. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.h +147 -0
  93. package/ios/generated/RNEnrichedTextInputViewSpec/Props.cpp +10 -0
  94. package/ios/generated/RNEnrichedTextInputViewSpec/Props.h +194 -0
  95. package/ios/generated/RNEnrichedTextInputViewSpec/RCTComponentViewHelpers.h +95 -0
  96. package/ios/inputParser/InputParser.h +5 -5
  97. package/ios/inputParser/InputParser.mm +864 -380
  98. package/ios/inputTextView/InputTextView.h +1 -1
  99. package/ios/inputTextView/InputTextView.mm +100 -59
  100. package/ios/{utils → interfaces}/BaseStyleProtocol.h +2 -2
  101. package/ios/interfaces/ImageAttachment.h +10 -0
  102. package/ios/interfaces/ImageAttachment.mm +36 -0
  103. package/ios/interfaces/LinkRegexConfig.h +19 -0
  104. package/ios/interfaces/LinkRegexConfig.mm +37 -0
  105. package/ios/interfaces/MediaAttachment.h +23 -0
  106. package/ios/interfaces/MediaAttachment.mm +31 -0
  107. package/ios/{utils → interfaces}/MentionParams.h +0 -1
  108. package/ios/{utils → interfaces}/MentionStyleProps.mm +27 -20
  109. package/ios/{utils → interfaces}/StyleHeaders.h +37 -15
  110. package/ios/{utils → interfaces}/StyleTypeEnum.h +3 -0
  111. package/ios/internals/EnrichedTextInputViewComponentDescriptor.h +11 -9
  112. package/ios/internals/EnrichedTextInputViewShadowNode.h +28 -25
  113. package/ios/internals/EnrichedTextInputViewShadowNode.mm +45 -40
  114. package/ios/internals/EnrichedTextInputViewState.h +3 -1
  115. package/ios/styles/BlockQuoteStyle.mm +189 -118
  116. package/ios/styles/BoldStyle.mm +110 -63
  117. package/ios/styles/CodeBlockStyle.mm +204 -128
  118. package/ios/styles/H1Style.mm +10 -4
  119. package/ios/styles/H2Style.mm +10 -4
  120. package/ios/styles/H3Style.mm +10 -4
  121. package/ios/styles/H4Style.mm +17 -0
  122. package/ios/styles/H5Style.mm +17 -0
  123. package/ios/styles/H6Style.mm +17 -0
  124. package/ios/styles/HeadingStyleBase.mm +148 -86
  125. package/ios/styles/ImageStyle.mm +75 -73
  126. package/ios/styles/InlineCodeStyle.mm +162 -88
  127. package/ios/styles/ItalicStyle.mm +76 -52
  128. package/ios/styles/LinkStyle.mm +411 -232
  129. package/ios/styles/MentionStyle.mm +363 -246
  130. package/ios/styles/OrderedListStyle.mm +171 -106
  131. package/ios/styles/StrikethroughStyle.mm +52 -35
  132. package/ios/styles/UnderlineStyle.mm +68 -46
  133. package/ios/styles/UnorderedListStyle.mm +169 -106
  134. package/ios/utils/OccurenceUtils.h +42 -42
  135. package/ios/utils/OccurenceUtils.mm +142 -119
  136. package/ios/utils/ParagraphAttributesUtils.h +10 -2
  137. package/ios/utils/ParagraphAttributesUtils.mm +182 -71
  138. package/ios/utils/ParagraphsUtils.h +2 -1
  139. package/ios/utils/ParagraphsUtils.mm +41 -27
  140. package/ios/utils/TextInsertionUtils.h +13 -2
  141. package/ios/utils/TextInsertionUtils.mm +38 -20
  142. package/ios/utils/WordsUtils.h +2 -1
  143. package/ios/utils/WordsUtils.mm +32 -22
  144. package/ios/utils/ZeroWidthSpaceUtils.h +3 -1
  145. package/ios/utils/ZeroWidthSpaceUtils.mm +145 -79
  146. package/lib/module/EnrichedTextInput.js +61 -2
  147. package/lib/module/EnrichedTextInput.js.map +1 -1
  148. package/lib/module/EnrichedTextInputNativeComponent.ts +149 -12
  149. package/lib/module/{normalizeHtmlStyle.js → utils/normalizeHtmlStyle.js} +12 -0
  150. package/lib/module/utils/normalizeHtmlStyle.js.map +1 -0
  151. package/lib/module/utils/regexParser.js +46 -0
  152. package/lib/module/utils/regexParser.js.map +1 -0
  153. package/lib/typescript/src/EnrichedTextInput.d.ts +24 -14
  154. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
  155. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts +129 -12
  156. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts.map +1 -1
  157. package/lib/typescript/src/index.d.ts +1 -1
  158. package/lib/typescript/src/index.d.ts.map +1 -1
  159. package/lib/typescript/src/utils/normalizeHtmlStyle.d.ts +4 -0
  160. package/lib/typescript/src/utils/normalizeHtmlStyle.d.ts.map +1 -0
  161. package/lib/typescript/src/utils/regexParser.d.ts +3 -0
  162. package/lib/typescript/src/utils/regexParser.d.ts.map +1 -0
  163. package/package.json +17 -6
  164. package/src/EnrichedTextInput.tsx +96 -13
  165. package/src/EnrichedTextInputNativeComponent.ts +149 -12
  166. package/src/index.tsx +2 -0
  167. package/src/{normalizeHtmlStyle.ts → utils/normalizeHtmlStyle.ts} +14 -2
  168. package/src/utils/regexParser.ts +56 -0
  169. package/ios/utils/FontExtension.mm +0 -91
  170. package/ios/utils/LayoutManagerExtension.mm +0 -286
  171. package/lib/module/normalizeHtmlStyle.js.map +0 -1
  172. package/lib/typescript/src/normalizeHtmlStyle.d.ts +0 -4
  173. package/lib/typescript/src/normalizeHtmlStyle.d.ts.map +0 -1
  174. package/ios/{utils → extensions}/ColorExtension.h +0 -0
  175. package/ios/{utils → extensions}/FontExtension.h +0 -0
  176. package/ios/{utils → extensions}/StringExtension.h +1 -1
  177. package/ios/{utils → interfaces}/ImageData.h +0 -0
  178. package/ios/{utils → interfaces}/ImageData.mm +0 -0
  179. package/ios/{utils → interfaces}/LinkData.h +0 -0
  180. package/ios/{utils → interfaces}/LinkData.mm +0 -0
  181. package/ios/{utils → interfaces}/MentionParams.mm +0 -0
  182. package/ios/{utils → interfaces}/MentionStyleProps.h +1 -1
  183. /package/ios/{utils → interfaces}/StylePair.h +0 -0
  184. /package/ios/{utils → interfaces}/StylePair.mm +0 -0
  185. /package/ios/{utils → interfaces}/TextDecorationLineEnum.h +0 -0
  186. /package/ios/{utils → interfaces}/TextDecorationLineEnum.mm +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EnrichedTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInputNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,KAAK,EACL,WAAW,EACZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;CACZ;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,kBAAkB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,KAAK,CAAC;QACrB,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,MAAM,CAAC;KAC7B,CAAC;IAGF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,UAAU,CAAC;KAC1B,CAAC;IACF,EAAE,CAAC,EAAE;QACH,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACrD,aAAa,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACpD,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAI/D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,oCAAoC,EAAE,OAAO,CAAC;CAC/C;AAED,KAAK,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEhD,UAAU,cAAc;IAEtB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAG3E,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC/D,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACpE,mBAAmB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC7D,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC7D,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC7D,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACpE,gBAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACrE,iBAAiB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACtE,mBAAmB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxE,OAAO,EAAE,CACP,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,KACR,IAAI,CAAC;IACV,QAAQ,EAAE,CACR,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,KACV,IAAI,CAAC;IACV,YAAY,EAAE,CACZ,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,UAAU,EAAE,CACV,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EACxC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;CACX;AAED,eAAO,MAAM,QAAQ,EAAE,cAyBrB,CAAC;wBAIG,aAAa,CAAC,WAAW,CAAC;AAFhC,wBAEiC"}
1
+ {"version":3,"file":"EnrichedTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInputNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export * from './EnrichedTextInput';
2
- export type { OnChangeTextEvent, OnChangeHtmlEvent, OnChangeStateEvent, OnLinkDetected, OnMentionDetected, OnChangeSelectionEvent, } from './EnrichedTextInputNativeComponent';
2
+ export type { OnChangeTextEvent, OnChangeHtmlEvent, OnChangeStateEvent, OnChangeStateDeprecatedEvent, OnLinkDetected, OnMentionDetected, OnChangeSelectionEvent, OnKeyPressEvent, } from './EnrichedTextInputNativeComponent';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,GAChB,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HtmlStyle } from '../EnrichedTextInput';
2
+ import type { HtmlStyleInternal } from '../EnrichedTextInputNativeComponent';
3
+ export declare const normalizeHtmlStyle: (style: HtmlStyle, mentionIndicators: string[]) => HtmlStyleInternal;
4
+ //# sourceMappingURL=normalizeHtmlStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeHtmlStyle.d.ts","sourceRoot":"","sources":["../../../../src/utils/normalizeHtmlStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAuL7C,eAAO,MAAM,kBAAkB,GAC7B,OAAO,SAAS,EAChB,mBAAmB,MAAM,EAAE,KAC1B,iBAIF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LinkNativeRegex } from '../EnrichedTextInputNativeComponent';
2
+ export declare const toNativeRegexConfig: (regex: RegExp | undefined | null) => LinkNativeRegex;
3
+ //# sourceMappingURL=regexParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regexParser.d.ts","sourceRoot":"","sources":["../../../../src/utils/regexParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAkB3E,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,GAAG,SAAS,GAAG,IAAI,KAC/B,eAmCF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-enriched",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Rich Text Editor component for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -33,14 +33,23 @@
33
33
  ],
34
34
  "scripts": {
35
35
  "example": "yarn workspace react-native-enriched-example",
36
+ "example-web": "yarn workspace react-native-enriched-web-example",
36
37
  "test": "jest --passWithNoTests",
37
38
  "typecheck": "tsc",
38
39
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
39
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
40
+ "lint:android": "cd apps/example/android && ./gradlew lintVerify",
41
+ "lint:android:fix": "cd apps/example/android && ./gradlew lintFormat",
42
+ "lint-clang:ios": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build | xargs npx clang-format -i -n --Werror",
43
+ "lint-clang:ios:fix": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build | xargs npx clang-format -i",
44
+ "lint-clang:android": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build | xargs npx clang-format -i -n --Werror",
45
+ "lint-clang:android:fix": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build | xargs npx clang-format -i",
46
+ "lint-clang": "yarn lint-clang:ios && yarn lint-clang:android",
47
+ "lint-clang:fix": "yarn lint-clang:ios:fix && yarn lint-clang:android:fix",
48
+ "clean": "del-cli android/build apps/example/android/build apps/example/android/app/build apps/example/ios/build lib",
40
49
  "prepare": "bob build",
41
50
  "release": "release-it",
42
- "android-studio": "open -a 'Android Studio' example/android",
43
- "xcode": "open -a 'Xcode' example/ios/EnrichedTextInputExample.xcworkspace"
51
+ "android-studio": "open -a 'Android Studio' apps/example/android",
52
+ "xcode": "open -a 'Xcode' apps/example/ios/EnrichedTextInputExample.xcworkspace"
44
53
  },
45
54
  "keywords": [
46
55
  "react-native",
@@ -71,6 +80,7 @@
71
80
  "@release-it/conventional-changelog": "^9.0.2",
72
81
  "@types/jest": "^29.5.5",
73
82
  "@types/react": "^19.1.0",
83
+ "clang-format": "^1.8.0",
74
84
  "commitlint": "^19.6.1",
75
85
  "del-cli": "^5.1.0",
76
86
  "eslint": "^9.22.0",
@@ -90,13 +100,14 @@
90
100
  "react-native": "*"
91
101
  },
92
102
  "workspaces": [
93
- "example"
103
+ "apps/example",
104
+ "apps/example-web"
94
105
  ],
95
106
  "packageManager": "yarn@3.6.1",
96
107
  "jest": {
97
108
  "preset": "react-native",
98
109
  "modulePathIgnorePatterns": [
99
- "<rootDir>/example/node_modules",
110
+ "<rootDir>/apps/example/node_modules",
100
111
  "<rootDir>/lib/"
101
112
  ]
102
113
  },
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  type Component,
3
3
  type RefObject,
4
+ useEffect,
4
5
  useImperativeHandle,
5
6
  useMemo,
6
7
  useRef,
@@ -16,7 +17,10 @@ import EnrichedTextInputNativeComponent, {
16
17
  type OnMentionEvent,
17
18
  type OnMentionDetected,
18
19
  type OnMentionDetectedInternal,
20
+ type OnRequestHtmlResultEvent,
19
21
  type MentionStyleProperties,
22
+ type OnChangeStateDeprecatedEvent,
23
+ type OnKeyPressEvent,
20
24
  } from './EnrichedTextInputNativeComponent';
21
25
  import type {
22
26
  ColorValue,
@@ -30,13 +34,16 @@ import type {
30
34
  ViewProps,
31
35
  ViewStyle,
32
36
  } from 'react-native';
33
- import { normalizeHtmlStyle } from './normalizeHtmlStyle';
37
+ import { normalizeHtmlStyle } from './utils/normalizeHtmlStyle';
38
+ import { toNativeRegexConfig } from './utils/regexParser';
34
39
 
35
40
  export interface EnrichedTextInputInstance extends NativeMethods {
36
41
  // General commands
37
42
  focus: () => void;
38
43
  blur: () => void;
39
44
  setValue: (value: string) => void;
45
+ setSelection: (start: number, end: number) => void;
46
+ getHTML: () => Promise<string>;
40
47
 
41
48
  // Text formatting commands
42
49
  toggleBold: () => void;
@@ -47,6 +54,9 @@ export interface EnrichedTextInputInstance extends NativeMethods {
47
54
  toggleH1: () => void;
48
55
  toggleH2: () => void;
49
56
  toggleH3: () => void;
57
+ toggleH4: () => void;
58
+ toggleH5: () => void;
59
+ toggleH6: () => void;
50
60
  toggleCodeBlock: () => void;
51
61
  toggleBlockQuote: () => void;
52
62
  toggleOrderedList: () => void;
@@ -66,19 +76,18 @@ export interface OnChangeMentionEvent {
66
76
  text: string;
67
77
  }
68
78
 
79
+ type HeadingStyle = {
80
+ fontSize?: number;
81
+ bold?: boolean;
82
+ };
83
+
69
84
  export interface HtmlStyle {
70
- h1?: {
71
- fontSize?: number;
72
- bold?: boolean;
73
- };
74
- h2?: {
75
- fontSize?: number;
76
- bold?: boolean;
77
- };
78
- h3?: {
79
- fontSize?: number;
80
- bold?: boolean;
81
- };
85
+ h1?: HeadingStyle;
86
+ h2?: HeadingStyle;
87
+ h3?: HeadingStyle;
88
+ h4?: HeadingStyle;
89
+ h5?: HeadingStyle;
90
+ h6?: HeadingStyle;
82
91
  blockquote?: {
83
92
  borderColor?: ColorValue;
84
93
  borderWidth?: number;
@@ -127,17 +136,25 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
127
136
  htmlStyle?: HtmlStyle;
128
137
  style?: ViewStyle | TextStyle;
129
138
  scrollEnabled?: boolean;
139
+ linkRegex?: RegExp | null;
130
140
  onFocus?: () => void;
131
141
  onBlur?: () => void;
132
142
  onChangeText?: (e: NativeSyntheticEvent<OnChangeTextEvent>) => void;
133
143
  onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void;
134
144
  onChangeState?: (e: NativeSyntheticEvent<OnChangeStateEvent>) => void;
145
+ /**
146
+ * @deprecated Use onChangeState prop instead.
147
+ */
148
+ onChangeStateDeprecated?: (
149
+ e: NativeSyntheticEvent<OnChangeStateDeprecatedEvent>
150
+ ) => void;
135
151
  onLinkDetected?: (e: OnLinkDetected) => void;
136
152
  onMentionDetected?: (e: OnMentionDetected) => void;
137
153
  onStartMention?: (indicator: string) => void;
138
154
  onChangeMention?: (e: OnChangeMentionEvent) => void;
139
155
  onEndMention?: (indicator: string) => void;
140
156
  onChangeSelection?: (e: NativeSyntheticEvent<OnChangeSelectionEvent>) => void;
157
+ onKeyPress?: (e: NativeSyntheticEvent<OnKeyPressEvent>) => void;
141
158
  /**
142
159
  * If true, Android will use experimental synchronous events.
143
160
  * This will prevent from input flickering when updating component size.
@@ -164,6 +181,11 @@ const warnAboutMissconfiguredMentions = (indicator: string) => {
164
181
 
165
182
  type ComponentType = (Component<NativeProps, {}, any> & NativeMethods) | null;
166
183
 
184
+ type HtmlRequest = {
185
+ resolve: (html: string) => void;
186
+ reject: (error: Error) => void;
187
+ };
188
+
167
189
  export const EnrichedTextInput = ({
168
190
  ref,
169
191
  autoFocus,
@@ -177,28 +199,49 @@ export const EnrichedTextInput = ({
177
199
  style,
178
200
  autoCapitalize = 'sentences',
179
201
  htmlStyle = {},
202
+ linkRegex: _linkRegex,
180
203
  onFocus,
181
204
  onBlur,
182
205
  onChangeText,
183
206
  onChangeHtml,
184
207
  onChangeState,
208
+ onChangeStateDeprecated,
185
209
  onLinkDetected,
186
210
  onMentionDetected,
187
211
  onStartMention,
188
212
  onChangeMention,
189
213
  onEndMention,
190
214
  onChangeSelection,
215
+ onKeyPress,
191
216
  androidExperimentalSynchronousEvents = false,
192
217
  scrollEnabled = true,
193
218
  ...rest
194
219
  }: EnrichedTextInputProps) => {
195
220
  const nativeRef = useRef<ComponentType | null>(null);
196
221
 
222
+ const nextHtmlRequestId = useRef(1);
223
+ const pendingHtmlRequests = useRef(new Map<number, HtmlRequest>());
224
+
225
+ useEffect(() => {
226
+ const pendingRequests = pendingHtmlRequests.current;
227
+ return () => {
228
+ pendingRequests.forEach(({ reject }) => {
229
+ reject(new Error('Component unmounted'));
230
+ });
231
+ pendingRequests.clear();
232
+ };
233
+ }, []);
234
+
197
235
  const normalizedHtmlStyle = useMemo(
198
236
  () => normalizeHtmlStyle(htmlStyle, mentionIndicators),
199
237
  [htmlStyle, mentionIndicators]
200
238
  );
201
239
 
240
+ const linkRegex = useMemo(
241
+ () => toNativeRegexConfig(_linkRegex),
242
+ [_linkRegex]
243
+ );
244
+
202
245
  useImperativeHandle(ref, () => ({
203
246
  measureInWindow: (callback: MeasureInWindowOnSuccessCallback) => {
204
247
  nullthrows(nativeRef.current).measureInWindow(callback);
@@ -229,6 +272,13 @@ export const EnrichedTextInput = ({
229
272
  setValue: (value: string) => {
230
273
  Commands.setValue(nullthrows(nativeRef.current), value);
231
274
  },
275
+ getHTML: () => {
276
+ return new Promise<string>((resolve, reject) => {
277
+ const requestId = nextHtmlRequestId.current++;
278
+ pendingHtmlRequests.current.set(requestId, { resolve, reject });
279
+ Commands.requestHTML(nullthrows(nativeRef.current), requestId);
280
+ });
281
+ },
232
282
  toggleBold: () => {
233
283
  Commands.toggleBold(nullthrows(nativeRef.current));
234
284
  },
@@ -253,6 +303,15 @@ export const EnrichedTextInput = ({
253
303
  toggleH3: () => {
254
304
  Commands.toggleH3(nullthrows(nativeRef.current));
255
305
  },
306
+ toggleH4: () => {
307
+ Commands.toggleH4(nullthrows(nativeRef.current));
308
+ },
309
+ toggleH5: () => {
310
+ Commands.toggleH5(nullthrows(nativeRef.current));
311
+ },
312
+ toggleH6: () => {
313
+ Commands.toggleH6(nullthrows(nativeRef.current));
314
+ },
256
315
  toggleCodeBlock: () => {
257
316
  Commands.toggleCodeBlock(nullthrows(nativeRef.current));
258
317
  },
@@ -293,6 +352,9 @@ export const EnrichedTextInput = ({
293
352
 
294
353
  Commands.startMention(nullthrows(nativeRef.current), indicator);
295
354
  },
355
+ setSelection: (start: number, end: number) => {
356
+ Commands.setSelection(nullthrows(nativeRef.current), start, end);
357
+ },
296
358
  }));
297
359
 
298
360
  const handleMentionEvent = (e: NativeSyntheticEvent<OnMentionEvent>) => {
@@ -323,6 +385,22 @@ export const EnrichedTextInput = ({
323
385
  onMentionDetected?.({ text, indicator, attributes });
324
386
  };
325
387
 
388
+ const handleRequestHtmlResult = (
389
+ e: NativeSyntheticEvent<OnRequestHtmlResultEvent>
390
+ ) => {
391
+ const { requestId, html } = e.nativeEvent;
392
+ const pending = pendingHtmlRequests.current.get(requestId);
393
+ if (!pending) return;
394
+
395
+ if (html === null || typeof html !== 'string') {
396
+ pending.reject(new Error('Failed to parse HTML'));
397
+ } else {
398
+ pending.resolve(html);
399
+ }
400
+
401
+ pendingHtmlRequests.current.delete(requestId);
402
+ };
403
+
326
404
  return (
327
405
  <EnrichedTextInputNativeComponent
328
406
  ref={nativeRef}
@@ -337,16 +415,21 @@ export const EnrichedTextInput = ({
337
415
  style={style}
338
416
  autoCapitalize={autoCapitalize}
339
417
  htmlStyle={normalizedHtmlStyle}
418
+ linkRegex={linkRegex}
340
419
  onInputFocus={onFocus}
341
420
  onInputBlur={onBlur}
342
421
  onChangeText={onChangeText}
343
422
  onChangeHtml={onChangeHtml}
344
423
  isOnChangeHtmlSet={onChangeHtml !== undefined}
424
+ isOnChangeTextSet={onChangeText !== undefined}
345
425
  onChangeState={onChangeState}
426
+ onChangeStateDeprecated={onChangeStateDeprecated}
346
427
  onLinkDetected={handleLinkDetected}
347
428
  onMentionDetected={handleMentionDetected}
348
429
  onMention={handleMentionEvent}
349
430
  onChangeSelection={onChangeSelection}
431
+ onRequestHtmlResult={handleRequestHtmlResult}
432
+ onInputKeyPress={onKeyPress}
350
433
  androidExperimentalSynchronousEvents={
351
434
  androidExperimentalSynchronousEvents
352
435
  }
@@ -8,6 +8,16 @@ import type {
8
8
  import type { ColorValue, HostComponent, ViewProps } from 'react-native';
9
9
  import React from 'react';
10
10
 
11
+ export interface LinkNativeRegex {
12
+ pattern: string;
13
+ caseInsensitive: boolean;
14
+ dotAll: boolean;
15
+ // Link detection will be disabled
16
+ isDisabled: boolean;
17
+ // Use default native link regex
18
+ isDefault: boolean;
19
+ }
20
+
11
21
  export interface OnChangeTextEvent {
12
22
  value: string;
13
23
  }
@@ -17,6 +27,99 @@ export interface OnChangeHtmlEvent {
17
27
  }
18
28
 
19
29
  export interface OnChangeStateEvent {
30
+ bold: {
31
+ isActive: boolean;
32
+ isConflicting: boolean;
33
+ isBlocking: boolean;
34
+ };
35
+ italic: {
36
+ isActive: boolean;
37
+ isConflicting: boolean;
38
+ isBlocking: boolean;
39
+ };
40
+ underline: {
41
+ isActive: boolean;
42
+ isConflicting: boolean;
43
+ isBlocking: boolean;
44
+ };
45
+ strikeThrough: {
46
+ isActive: boolean;
47
+ isConflicting: boolean;
48
+ isBlocking: boolean;
49
+ };
50
+ inlineCode: {
51
+ isActive: boolean;
52
+ isConflicting: boolean;
53
+ isBlocking: boolean;
54
+ };
55
+ h1: {
56
+ isActive: boolean;
57
+ isConflicting: boolean;
58
+ isBlocking: boolean;
59
+ };
60
+ h2: {
61
+ isActive: boolean;
62
+ isConflicting: boolean;
63
+ isBlocking: boolean;
64
+ };
65
+ h3: {
66
+ isActive: boolean;
67
+ isConflicting: boolean;
68
+ isBlocking: boolean;
69
+ };
70
+ h4: {
71
+ isActive: boolean;
72
+ isConflicting: boolean;
73
+ isBlocking: boolean;
74
+ };
75
+ h5: {
76
+ isActive: boolean;
77
+ isConflicting: boolean;
78
+ isBlocking: boolean;
79
+ };
80
+ h6: {
81
+ isActive: boolean;
82
+ isConflicting: boolean;
83
+ isBlocking: boolean;
84
+ };
85
+ codeBlock: {
86
+ isActive: boolean;
87
+ isConflicting: boolean;
88
+ isBlocking: boolean;
89
+ };
90
+ blockQuote: {
91
+ isActive: boolean;
92
+ isConflicting: boolean;
93
+ isBlocking: boolean;
94
+ };
95
+ orderedList: {
96
+ isActive: boolean;
97
+ isConflicting: boolean;
98
+ isBlocking: boolean;
99
+ };
100
+ unorderedList: {
101
+ isActive: boolean;
102
+ isConflicting: boolean;
103
+ isBlocking: boolean;
104
+ };
105
+ link: {
106
+ isActive: boolean;
107
+ isConflicting: boolean;
108
+ isBlocking: boolean;
109
+ };
110
+ image: {
111
+ isActive: boolean;
112
+ isConflicting: boolean;
113
+ isBlocking: boolean;
114
+ };
115
+ mention: {
116
+ isActive: boolean;
117
+ isConflicting: boolean;
118
+ isBlocking: boolean;
119
+ };
120
+ }
121
+
122
+ export interface OnChangeStateDeprecatedEvent {
20
123
  isBold: boolean;
21
124
  isItalic: boolean;
22
125
  isUnderline: boolean;
@@ -25,6 +128,9 @@ export interface OnChangeStateEvent {
25
128
  isH1: boolean;
26
129
  isH2: boolean;
27
130
  isH3: boolean;
131
+ isH4: boolean;
132
+ isH5: boolean;
133
+ isH6: boolean;
28
134
  isCodeBlock: boolean;
29
135
  isBlockQuote: boolean;
30
136
  isOrderedList: boolean;
@@ -64,25 +170,33 @@ export interface OnChangeSelectionEvent {
64
170
  text: string;
65
171
  }
66
172
 
173
+ export interface OnRequestHtmlResultEvent {
174
+ requestId: Int32;
175
+ html: UnsafeMixed;
176
+ }
177
+
67
178
  export interface MentionStyleProperties {
68
179
  color?: ColorValue;
69
180
  backgroundColor?: ColorValue;
70
181
  textDecorationLine?: 'underline' | 'none';
71
182
  }
72
183
 
184
+ export interface OnKeyPressEvent {
185
+ key: string;
186
+ }
187
+
188
+ type Heading = {
189
+ fontSize?: Float;
190
+ bold?: boolean;
191
+ };
192
+
73
193
  export interface HtmlStyleInternal {
74
- h1?: {
75
- fontSize?: Float;
76
- bold?: boolean;
77
- };
78
- h2?: {
79
- fontSize?: Float;
80
- bold?: boolean;
81
- };
82
- h3?: {
83
- fontSize?: Float;
84
- bold?: boolean;
85
- };
194
+ h1?: Heading;
195
+ h2?: Heading;
196
+ h3?: Heading;
197
+ h4?: Heading;
198
+ h5?: Heading;
199
+ h6?: Heading;
86
200
  blockquote?: {
87
201
  borderColor?: ColorValue;
88
202
  borderWidth?: Float;
@@ -132,6 +246,7 @@ export interface NativeProps extends ViewProps {
132
246
  autoCapitalize?: string;
133
247
  htmlStyle?: HtmlStyleInternal;
134
248
  scrollEnabled?: boolean;
249
+ linkRegex?: LinkNativeRegex;
135
250
 
136
251
  // event callbacks
137
252
  onInputFocus?: DirectEventHandler<null>;
@@ -139,10 +254,13 @@ export interface NativeProps extends ViewProps {
139
254
  onChangeText?: DirectEventHandler<OnChangeTextEvent>;
140
255
  onChangeHtml?: DirectEventHandler<OnChangeHtmlEvent>;
141
256
  onChangeState?: DirectEventHandler<OnChangeStateEvent>;
257
+ onChangeStateDeprecated?: DirectEventHandler<OnChangeStateDeprecatedEvent>;
142
258
  onLinkDetected?: DirectEventHandler<OnLinkDetected>;
143
259
  onMentionDetected?: DirectEventHandler<OnMentionDetectedInternal>;
144
260
  onMention?: DirectEventHandler<OnMentionEvent>;
145
261
  onChangeSelection?: DirectEventHandler<OnChangeSelectionEvent>;
262
+ onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
263
+ onInputKeyPress?: DirectEventHandler<OnKeyPressEvent>;
146
264
 
147
265
  // Style related props - used for generating proper setters in component's manager
148
266
  // These should not be passed as regular props
@@ -154,6 +272,8 @@ export interface NativeProps extends ViewProps {
154
272
 
155
273
  // Used for onChangeHtml event performance optimization
156
274
  isOnChangeHtmlSet: boolean;
275
+ // Used for onChangeText event performance optimization
276
+ isOnChangeTextSet: boolean;
157
277
 
158
278
  // Experimental
159
279
  androidExperimentalSynchronousEvents: boolean;
@@ -166,6 +286,11 @@ interface NativeCommands {
166
286
  focus: (viewRef: React.ElementRef<ComponentType>) => void;
167
287
  blur: (viewRef: React.ElementRef<ComponentType>) => void;
168
288
  setValue: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
289
+ setSelection: (
290
+ viewRef: React.ElementRef<ComponentType>,
291
+ start: Int32,
292
+ end: Int32
293
+ ) => void;
169
294
 
170
295
  // Text formatting commands
171
296
  toggleBold: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -176,6 +301,9 @@ interface NativeCommands {
176
301
  toggleH1: (viewRef: React.ElementRef<ComponentType>) => void;
177
302
  toggleH2: (viewRef: React.ElementRef<ComponentType>) => void;
178
303
  toggleH3: (viewRef: React.ElementRef<ComponentType>) => void;
304
+ toggleH4: (viewRef: React.ElementRef<ComponentType>) => void;
305
+ toggleH5: (viewRef: React.ElementRef<ComponentType>) => void;
306
+ toggleH6: (viewRef: React.ElementRef<ComponentType>) => void;
179
307
  toggleCodeBlock: (viewRef: React.ElementRef<ComponentType>) => void;
180
308
  toggleBlockQuote: (viewRef: React.ElementRef<ComponentType>) => void;
181
309
  toggleOrderedList: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -203,6 +331,10 @@ interface NativeCommands {
203
331
  text: string,
204
332
  payload: string
205
333
  ) => void;
334
+ requestHTML: (
335
+ viewRef: React.ElementRef<ComponentType>,
336
+ requestId: Int32
337
+ ) => void;
206
338
  }
207
339
 
208
340
  export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
@@ -211,6 +343,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
211
343
  'focus',
212
344
  'blur',
213
345
  'setValue',
346
+ 'setSelection',
214
347
 
215
348
  // Text formatting commands
216
349
  'toggleBold',
@@ -221,6 +354,9 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
221
354
  'toggleH1',
222
355
  'toggleH2',
223
356
  'toggleH3',
357
+ 'toggleH4',
358
+ 'toggleH5',
359
+ 'toggleH6',
224
360
  'toggleCodeBlock',
225
361
  'toggleBlockQuote',
226
362
  'toggleOrderedList',
@@ -229,6 +365,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
229
365
  'addImage',
230
366
  'startMention',
231
367
  'addMention',
368
+ 'requestHTML',
232
369
  ],
233
370
  });
234
371
 
package/src/index.tsx CHANGED
@@ -3,7 +3,9 @@ export type {
3
3
  OnChangeTextEvent,
4
4
  OnChangeHtmlEvent,
5
5
  OnChangeStateEvent,
6
+ OnChangeStateDeprecatedEvent,
6
7
  OnLinkDetected,
7
8
  OnMentionDetected,
8
9
  OnChangeSelectionEvent,
10
+ OnKeyPressEvent,
9
11
  } from './EnrichedTextInputNativeComponent';
@@ -1,9 +1,9 @@
1
- import type { HtmlStyle } from './EnrichedTextInput';
1
+ import type { HtmlStyle } from '../EnrichedTextInput';
2
2
  import { type ColorValue, processColor } from 'react-native';
3
3
  import type {
4
4
  MentionStyleProperties,
5
5
  HtmlStyleInternal,
6
- } from './EnrichedTextInputNativeComponent';
6
+ } from '../EnrichedTextInputNativeComponent';
7
7
 
8
8
  const defaultStyle: Required<HtmlStyle> = {
9
9
  h1: {
@@ -18,6 +18,18 @@ const defaultStyle: Required<HtmlStyle> = {
18
18
  fontSize: 20,
19
19
  bold: false,
20
20
  },
21
+ h4: {
22
+ fontSize: 16,
23
+ bold: false,
24
+ },
25
+ h5: {
26
+ fontSize: 14,
27
+ bold: false,
28
+ },
29
+ h6: {
30
+ fontSize: 12,
31
+ bold: false,
32
+ },
21
33
  blockquote: {
22
34
  borderColor: 'darkgray',
23
35
  borderWidth: 4,