react-native-enriched-markdown-scaffold 0.7.4-scaffold.8 → 1.0.2-scaffold.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 (469) hide show
  1. package/README.md +54 -8
  2. package/ReactNativeEnrichedMarkdown.podspec +82 -73
  3. package/android/build.gradle +191 -1
  4. package/android/consumer-rules.pro +1 -1
  5. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +9 -0
  6. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +3 -0
  7. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerDelegate.java +27 -0
  8. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +9 -0
  9. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +9 -0
  10. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +3 -0
  11. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +75 -0
  12. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +63 -0
  13. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +40 -0
  14. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +839 -23
  15. package/android/src/main/baseline-prof.txt +1 -1
  16. package/android/src/main/cpp/jni-adapter.cpp +74 -0
  17. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdown.kt +175 -11
  18. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +17 -0
  19. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +50 -0
  20. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +48 -1
  21. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextLayoutManager.kt +10 -1
  22. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +42 -0
  23. package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +82 -4
  24. package/android/src/main/java/com/swmansion/enriched/markdown/events/CopyPressEvent.kt +24 -0
  25. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputManager.kt +62 -4
  26. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +911 -460
  27. package/android/src/main/java/com/swmansion/enriched/markdown/input/MarkdownClipboard.kt +42 -0
  28. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/BlockEditCoordinator.kt +196 -0
  29. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/ClipboardCoordinator.kt +73 -0
  30. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditContext.kt +19 -0
  31. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditPipeline.kt +248 -0
  32. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditSession.kt +52 -0
  33. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/InputConnectionWrapper.kt +101 -7
  34. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/LinkCoordinator.kt +69 -0
  35. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MarkdownTextWatcher.kt +3 -3
  36. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MentionCoordinator.kt +118 -0
  37. package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeStateEvent.kt +26 -0
  38. package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnContextMenuItemPressEvent.kt +26 -0
  39. package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnInputKeyPressEvent.kt +24 -0
  40. package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnPasteEvent.kt +24 -0
  41. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/BlockStore.kt +254 -0
  42. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/BlockSyntaxSentinel.kt +69 -0
  43. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/FormattingStore.kt +80 -87
  44. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputFormatter.kt +109 -1
  45. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputParser.kt +180 -27
  46. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/MarkdownSerializer.kt +167 -38
  47. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/RangeEditAdjustment.kt +149 -0
  48. package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt +66 -5
  49. package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputMeasurementStore.kt +7 -2
  50. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockRange.kt +27 -0
  51. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockType.kt +48 -0
  52. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/FormattingRange.kt +9 -4
  53. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/InputFormatterStyle.kt +39 -2
  54. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathAtom.kt +20 -0
  55. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +1 -1
  56. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MutableRangeBounds.kt +11 -0
  57. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputBulletSpan.kt +82 -0
  58. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputHeadingSpan.kt +58 -0
  59. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputListItemSpacingSpan.kt +37 -0
  60. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputOrderedListMarkerSpan.kt +63 -0
  61. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/BlockHandler.kt +54 -0
  62. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/HeadingBlockHandler.kt +27 -0
  63. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/OrderedListBlockHandler.kt +38 -0
  64. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/UnorderedListBlockHandler.kt +37 -0
  65. package/android/src/main/java/com/swmansion/enriched/markdown/input/toolbar/InputContextMenu.kt +8 -26
  66. package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +1 -0
  67. package/android/src/main/java/com/swmansion/enriched/markdown/parser/Parser.kt +1 -0
  68. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockStyleContext.kt +9 -2
  69. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockquoteRenderer.kt +100 -12
  70. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeBlockRenderer.kt +16 -1
  71. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HeadingRenderer.kt +4 -0
  72. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListContextManager.kt +2 -1
  73. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListItemRenderer.kt +74 -18
  74. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListRenderer.kt +43 -4
  75. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/NodeRenderer.kt +9 -1
  76. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SoftBreakRenderer.kt +16 -0
  77. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +30 -27
  78. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaseListSpan.kt +24 -0
  79. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BlockquoteSpan.kt +174 -24
  80. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +27 -3
  81. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBlockSpan.kt +13 -16
  82. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeSpan.kt +1 -1
  83. package/android/src/main/java/com/swmansion/enriched/markdown/spans/EmphasisSpan.kt +1 -1
  84. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ImageSpan.kt +182 -46
  85. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListItemSpacingSpan.kt +33 -0
  86. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListMarkerAnchorSpan.kt +38 -0
  87. package/android/src/main/java/com/swmansion/enriched/markdown/spans/OrderedListSpan.kt +2 -0
  88. package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrongSpan.kt +1 -1
  89. package/android/src/main/java/com/swmansion/enriched/markdown/spans/TaskListSpan.kt +3 -2
  90. package/android/src/main/java/com/swmansion/enriched/markdown/spans/UnorderedListSpan.kt +3 -2
  91. package/android/src/main/java/com/swmansion/enriched/markdown/styles/BlockquoteStyle.kt +6 -0
  92. package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeBlockStyle.kt +26 -0
  93. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ImageStyle.kt +7 -1
  94. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +4 -1
  95. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleConfig.kt +13 -4
  96. package/android/src/main/java/com/swmansion/enriched/markdown/styles/TableStyle.kt +6 -0
  97. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockHighlighter.kt +90 -0
  98. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockNode.kt +57 -0
  99. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/FeatureFlags.kt +1 -0
  100. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownSegment.kt +9 -0
  101. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +33 -7
  102. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/ReadableMapExtensions.kt +3 -0
  103. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/RenderedSegment.kt +10 -0
  104. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/SegmentSignature.kt +1 -0
  105. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/StreamingMarkdownFilter.kt +83 -5
  106. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/serialization/MarkdownASTSerializer.kt +4 -0
  107. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +74 -44
  108. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/PasteTextUtils.kt +20 -0
  109. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageCache.kt +26 -3
  110. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageDownloader.kt +22 -9
  111. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/LocalImageLoader.kt +161 -0
  112. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/TextPaintExtensions.kt +23 -0
  113. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/CheckboxTouchHelper.kt +7 -0
  114. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/TaskListTapUtils.kt +41 -21
  115. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/span/BlockSpacing.kt +15 -8
  116. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLongPressMovementMethod.kt +58 -27
  117. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +19 -2
  118. package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +388 -0
  119. package/android/src/main/java/com/swmansion/enriched/markdown/views/ContextMenuPopup.kt +9 -6
  120. package/android/src/main/java/com/swmansion/enriched/markdown/views/CopyGlyph.kt +101 -0
  121. package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +32 -5
  122. package/android/src/main/jni/CMakeLists.txt +53 -0
  123. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.cpp +10 -0
  124. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.h +11 -2
  125. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.cpp +10 -0
  126. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.h +12 -2
  127. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextState.cpp +9 -0
  128. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextState.h +24 -0
  129. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/conversions.h +16 -0
  130. package/android/src/math/java/com/swmansion/enriched/markdown/input/math/MathChipControllerImpl.kt +21 -4
  131. package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +7 -2
  132. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +1 -1
  133. package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +2 -0
  134. package/cpp/highlight/CodeBlockHighlighter.cpp +284 -0
  135. package/cpp/highlight/CodeBlockHighlighter.hpp +66 -0
  136. package/cpp/highlight/CodeBlockLanguages.cpp +138 -0
  137. package/cpp/highlight/CodeBlockLanguages.hpp +25 -0
  138. package/cpp/highlight/HighlightGrammars.hpp +28 -0
  139. package/cpp/highlight/code_highlight_podspec.rb +211 -0
  140. package/cpp/highlight/gen-registry.mjs +155 -0
  141. package/cpp/highlight/grammar-versions.json +159 -0
  142. package/cpp/highlight/vendor/generated/generated_queries.h +1665 -0
  143. package/cpp/highlight/vendor/generated/generated_registry.cpp +59 -0
  144. package/cpp/parser/MD4CParser.cpp +173 -61
  145. package/cpp/parser/MD4CParser.hpp +1 -0
  146. package/cpp/parser/MarkdownASTNode.hpp +2 -1
  147. package/cpp/wasm/ASTSerializer.cpp +2 -0
  148. package/cpp/wasm/build.sh +1 -0
  149. package/cpp/wasm/md4c_wasm.cpp +3 -1
  150. package/docs/ACCESSIBILITY.md +14 -2
  151. package/docs/API_REFERENCE.md +231 -8
  152. package/docs/BREAKING_CHANGES.md +129 -0
  153. package/docs/CODE_HIGHLIGHT.md +133 -0
  154. package/docs/COPY_OPTIONS.md +21 -3
  155. package/docs/ELEMENTS_STRUCTURE.md +52 -4
  156. package/docs/IMAGE_CACHING.md +30 -0
  157. package/docs/INPUT.md +146 -5
  158. package/docs/LATEX_MATH.md +87 -45
  159. package/docs/MACOS.md +1 -1
  160. package/docs/MARKDOWN_STREAMING.md +27 -1
  161. package/docs/NATIVE_ASSETS.md +127 -0
  162. package/docs/RTL.md +1 -1
  163. package/docs/STYLES.md +46 -6
  164. package/docs/TESTING.md +112 -0
  165. package/docs/TEXT.md +16 -6
  166. package/docs/WEB.md +3 -1
  167. package/ios/EnrichedMarkdown.h +7 -0
  168. package/ios/EnrichedMarkdown.mm +262 -67
  169. package/ios/EnrichedMarkdownText.h +7 -0
  170. package/ios/EnrichedMarkdownText.mm +97 -68
  171. package/ios/attachments/ENRMImageAttachment.h +9 -0
  172. package/ios/attachments/ENRMImageAttachment.m +143 -40
  173. package/ios/attachments/ENRMMathInlineAttachment.h +2 -0
  174. package/ios/attachments/ENRMMathInlineAttachment.m +48 -81
  175. package/ios/attachments/ENRMMathInlineAttachmentShared.h +2 -0
  176. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +75 -0
  177. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +63 -0
  178. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +40 -0
  179. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +839 -23
  180. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +131 -0
  181. package/ios/input/ENRMAutoLinkDetector.h +2 -1
  182. package/ios/input/ENRMAutoLinkDetector.mm +79 -41
  183. package/ios/input/ENRMBlockEditCoordinator.h +71 -0
  184. package/ios/input/ENRMBlockEditCoordinator.mm +195 -0
  185. package/ios/input/ENRMBlockRange.h +28 -0
  186. package/ios/input/ENRMBlockRange.mm +30 -0
  187. package/ios/input/ENRMBlockStore.h +56 -0
  188. package/ios/input/ENRMBlockStore.mm +275 -0
  189. package/ios/input/ENRMBlockSyntaxSentinel.h +25 -0
  190. package/ios/input/ENRMBlockSyntaxSentinel.mm +80 -0
  191. package/ios/input/ENRMClipboardCoordinator.h +45 -0
  192. package/ios/input/ENRMClipboardCoordinator.mm +120 -0
  193. package/ios/input/ENRMDetectorPipeline.h +2 -1
  194. package/ios/input/ENRMEditPipeline.h +76 -0
  195. package/ios/input/ENRMEditPipeline.mm +228 -0
  196. package/ios/input/ENRMEditSession.h +36 -0
  197. package/ios/input/ENRMEditSession.mm +63 -0
  198. package/ios/input/ENRMFormattingStore.h +17 -0
  199. package/ios/input/ENRMFormattingStore.mm +95 -105
  200. package/ios/input/ENRMInputBlockType.h +91 -0
  201. package/ios/input/ENRMInputBlockType.mm +5 -0
  202. package/ios/input/ENRMInputDecorationDrawer.h +18 -0
  203. package/ios/input/ENRMInputEventEmitter.h +56 -0
  204. package/ios/input/ENRMInputEventEmitter.mm +308 -0
  205. package/ios/input/ENRMInputFormatter.h +29 -69
  206. package/ios/input/ENRMInputFormatter.mm +216 -124
  207. package/ios/input/ENRMInputFormatterStyle.h +99 -0
  208. package/ios/input/ENRMInputFormatterStyle.mm +188 -0
  209. package/ios/input/ENRMInputLayoutManager.h +9 -0
  210. package/ios/input/ENRMInputLayoutManager.mm +30 -0
  211. package/ios/input/ENRMInputListMarkerDrawer.h +32 -0
  212. package/ios/input/ENRMInputListMarkerDrawer.mm +426 -0
  213. package/ios/input/ENRMInputParser.h +10 -6
  214. package/ios/input/ENRMInputParser.mm +527 -171
  215. package/ios/input/ENRMInputRemend.mm +2 -2
  216. package/ios/input/ENRMInputStyleStateBuilder.h +40 -0
  217. package/ios/input/ENRMInputStyleStateBuilder.mm +60 -0
  218. package/ios/input/ENRMInputTextView.mm +103 -8
  219. package/ios/input/ENRMInputTypingAttributesController.h +42 -0
  220. package/ios/input/ENRMInputTypingAttributesController.mm +203 -0
  221. package/ios/input/ENRMLinkCoordinator.h +41 -0
  222. package/ios/input/ENRMLinkCoordinator.mm +89 -0
  223. package/ios/input/ENRMMarkdownSerializer.h +29 -5
  224. package/ios/input/ENRMMarkdownSerializer.mm +170 -48
  225. package/ios/input/ENRMMathAtom.h +26 -0
  226. package/ios/input/ENRMMathAtom.mm +12 -0
  227. package/ios/input/ENRMMentionCoordinator.h +45 -0
  228. package/ios/input/ENRMMentionCoordinator.mm +167 -0
  229. package/ios/input/ENRMRangeEditAdjustment.h +38 -0
  230. package/ios/input/ENRMRangeEditAdjustment.mm +91 -0
  231. package/ios/input/ENRMRangeStoreUtils.h +39 -0
  232. package/ios/input/EnrichedMarkdownTextInput+ContextMenu.mm +6 -6
  233. package/ios/input/EnrichedMarkdownTextInput+Internal.h +11 -3
  234. package/ios/input/EnrichedMarkdownTextInput.h +7 -1
  235. package/ios/input/EnrichedMarkdownTextInput.mm +1104 -1024
  236. package/ios/input/InputStylePropsUtils.h +109 -68
  237. package/ios/input/internals/EnrichedMarkdownTextInputShadowNode.mm +2 -1
  238. package/ios/input/styles/ENRMBlockHandler.h +46 -0
  239. package/ios/input/styles/ENRMHeadingBlockHandler.h +15 -0
  240. package/ios/input/styles/ENRMHeadingBlockHandler.mm +38 -0
  241. package/ios/input/styles/ENRMOrderedListBlockHandler.h +14 -0
  242. package/ios/input/styles/ENRMOrderedListBlockHandler.mm +48 -0
  243. package/ios/input/styles/ENRMUnorderedListBlockHandler.h +15 -0
  244. package/ios/input/styles/ENRMUnorderedListBlockHandler.mm +51 -0
  245. package/ios/internals/ENRMViewFreeMeasurement.h +331 -0
  246. package/ios/internals/EnrichedMarkdownShadowNode.h +1 -3
  247. package/ios/internals/EnrichedMarkdownShadowNode.mm +16 -20
  248. package/ios/internals/EnrichedMarkdownTextShadowNode.h +1 -3
  249. package/ios/internals/EnrichedMarkdownTextShadowNode.mm +15 -20
  250. package/ios/internals/MeasurementCache.h +33 -7
  251. package/ios/internals/ShadowMeasurementUtils.h +63 -58
  252. package/ios/math/ENRMMathChipController.h +74 -0
  253. package/ios/math/ENRMMathChipController.mm +476 -0
  254. package/ios/math/ENRMRaTeXBridge.swift +4 -1
  255. package/ios/parser/ENRMMarkdownParser.h +1 -8
  256. package/ios/parser/ENRMMarkdownParser.mm +2 -11
  257. package/ios/parser/MarkdownASTNode.h +2 -1
  258. package/ios/parser/MarkdownParserBridge.mm +4 -0
  259. package/ios/renderer/AttributedRenderer.m +20 -2
  260. package/ios/renderer/BaseRenderer.h +17 -2
  261. package/ios/renderer/BaseRenderer.m +30 -0
  262. package/ios/renderer/BlockquoteRenderer.h +1 -1
  263. package/ios/renderer/BlockquoteRenderer.m +144 -35
  264. package/ios/renderer/CodeBlockRenderer.h +1 -1
  265. package/ios/renderer/CodeBlockRenderer.m +27 -23
  266. package/ios/renderer/CodeRenderer.h +1 -1
  267. package/ios/renderer/CodeRenderer.m +3 -1
  268. package/ios/renderer/ENRMImageRenderer.h +1 -1
  269. package/ios/renderer/ENRMImageRenderer.m +5 -1
  270. package/ios/renderer/ENRMMathInlineRenderer.h +1 -1
  271. package/ios/renderer/ENRMMathInlineRenderer.m +5 -1
  272. package/ios/renderer/ENRMSpoilerRenderer.h +1 -1
  273. package/ios/renderer/ENRMSpoilerRenderer.m +3 -1
  274. package/ios/renderer/EmphasisRenderer.h +1 -1
  275. package/ios/renderer/EmphasisRenderer.m +3 -1
  276. package/ios/renderer/HeadingRenderer.h +1 -1
  277. package/ios/renderer/HeadingRenderer.m +13 -6
  278. package/ios/renderer/HighlightRenderer.h +1 -1
  279. package/ios/renderer/HighlightRenderer.m +3 -1
  280. package/ios/renderer/LinkRenderer.h +1 -1
  281. package/ios/renderer/LinkRenderer.m +3 -1
  282. package/ios/renderer/ListItemRenderer.h +13 -1
  283. package/ios/renderer/ListItemRenderer.m +102 -44
  284. package/ios/renderer/ListRenderer.h +2 -2
  285. package/ios/renderer/ListRenderer.m +63 -25
  286. package/ios/renderer/ParagraphRenderer.h +1 -1
  287. package/ios/renderer/ParagraphRenderer.m +16 -8
  288. package/ios/renderer/RenderContext.h +10 -0
  289. package/ios/renderer/RenderContext.m +44 -0
  290. package/ios/renderer/RendererFactory.m +14 -0
  291. package/ios/renderer/StrikethroughRenderer.h +1 -1
  292. package/ios/renderer/StrikethroughRenderer.m +3 -1
  293. package/ios/renderer/StrongRenderer.h +1 -1
  294. package/ios/renderer/StrongRenderer.m +3 -1
  295. package/ios/renderer/SubscriptRenderer.h +1 -1
  296. package/ios/renderer/SubscriptRenderer.m +3 -1
  297. package/ios/renderer/SuperscriptRenderer.h +1 -1
  298. package/ios/renderer/SuperscriptRenderer.m +3 -1
  299. package/ios/renderer/TextRenderer.h +2 -2
  300. package/ios/renderer/TextRenderer.m +3 -1
  301. package/ios/renderer/ThematicBreakRenderer.h +1 -1
  302. package/ios/renderer/ThematicBreakRenderer.m +3 -1
  303. package/ios/renderer/UnderlineRenderer.h +1 -1
  304. package/ios/renderer/UnderlineRenderer.m +3 -1
  305. package/ios/styles/StyleConfig.h +22 -0
  306. package/ios/styles/StyleConfig.mm +132 -0
  307. package/ios/utils/BlockquoteBorder.h +6 -0
  308. package/ios/utils/BlockquoteBorder.m +249 -52
  309. package/ios/utils/CodeBlockBackground.m +16 -2
  310. package/ios/utils/ENRMAtomicSize.h +65 -0
  311. package/ios/utils/ENRMCodeBlockContent.h +37 -0
  312. package/ios/utils/ENRMCodeBlockContent.mm +79 -0
  313. package/ios/utils/ENRMCodeBlockHighlighter.h +37 -0
  314. package/ios/utils/ENRMCodeBlockHighlighter.mm +51 -0
  315. package/ios/utils/ENRMFeatureFlags.h +7 -0
  316. package/ios/utils/ENRMImageDownloader.h +11 -1
  317. package/ios/utils/ENRMImageDownloader.m +60 -16
  318. package/ios/utils/ENRMLocalImageLoader.h +31 -0
  319. package/ios/utils/ENRMLocalImageLoader.m +68 -0
  320. package/ios/utils/ENRMMathFallback.h +26 -0
  321. package/ios/utils/ENRMMathFallback.m +18 -0
  322. package/ios/utils/ENRMTextViewSetup.h +35 -17
  323. package/ios/utils/EditMenuUtils.m +22 -1
  324. package/ios/utils/ImageRequestHeaderUtils.h +35 -0
  325. package/ios/utils/LastElementUtils.h +1 -0
  326. package/ios/utils/ListMarkerDrawer.m +29 -42
  327. package/ios/utils/MarkdownASTSerializer.m +4 -0
  328. package/ios/utils/ParagraphStyleUtils.h +5 -0
  329. package/ios/utils/ParagraphStyleUtils.m +77 -17
  330. package/ios/utils/RenderedMarkdownSegment.h +13 -1
  331. package/ios/utils/RenderedMarkdownSegment.m +20 -0
  332. package/ios/utils/SegmentRenderer.m +17 -4
  333. package/ios/utils/StreamingMarkdownFilter.h +11 -1
  334. package/ios/utils/StreamingMarkdownFilter.m +98 -2
  335. package/ios/utils/StylePropsUtils.h +63 -0
  336. package/ios/utils/TaskListTapUtils.m +24 -0
  337. package/ios/views/ENRMCodeBlockContainerView.h +46 -0
  338. package/ios/views/ENRMCodeBlockContainerView.m +566 -0
  339. package/ios/views/ENRMMathContainerView.h +12 -0
  340. package/ios/views/ENRMMathContainerView.m +71 -1
  341. package/ios/views/TableContainerView.h +18 -0
  342. package/ios/views/TableContainerView.m +259 -159
  343. package/jest.d.ts +1 -0
  344. package/jest.js +5 -0
  345. package/lib/module/EnrichedMarkdownNativeComponent.ts +65 -0
  346. package/lib/module/EnrichedMarkdownTextInput.js +86 -5
  347. package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
  348. package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +89 -5
  349. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +66 -0
  350. package/lib/module/headingDefaults.js +34 -0
  351. package/lib/module/headingDefaults.js.map +1 -0
  352. package/lib/module/index.js.map +1 -1
  353. package/lib/module/jest/index.js +191 -0
  354. package/lib/module/jest/index.js.map +1 -0
  355. package/lib/module/native/EnrichedMarkdownText.js +30 -4
  356. package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
  357. package/lib/module/normalizeMarkdownStyle.js +81 -19
  358. package/lib/module/normalizeMarkdownStyle.js.map +1 -1
  359. package/lib/module/normalizeMarkdownStyle.web.js +56 -18
  360. package/lib/module/normalizeMarkdownStyle.web.js.map +1 -1
  361. package/lib/module/normalizeMarkdownTextInputStyle.js +62 -15
  362. package/lib/module/normalizeMarkdownTextInputStyle.js.map +1 -1
  363. package/lib/module/normalizeMenuItem.js +1 -1
  364. package/lib/module/utils/textInputState.js +26 -0
  365. package/lib/module/utils/textInputState.js.map +1 -0
  366. package/lib/module/web/EnrichedMarkdownText.js +9 -5
  367. package/lib/module/web/EnrichedMarkdownText.js.map +1 -1
  368. package/lib/module/web/parseMarkdown.js +4 -3
  369. package/lib/module/web/parseMarkdown.js.map +1 -1
  370. package/lib/module/web/renderers/InlineRenderers.js +6 -0
  371. package/lib/module/web/renderers/InlineRenderers.js.map +1 -1
  372. package/lib/module/web/renderers/ListRenderers.js +7 -2
  373. package/lib/module/web/renderers/ListRenderers.js.map +1 -1
  374. package/lib/module/web/renderers/index.js +7 -4
  375. package/lib/module/web/renderers/index.js.map +1 -1
  376. package/lib/module/web/styles.js +83 -6
  377. package/lib/module/web/styles.js.map +1 -1
  378. package/lib/module/web/utils.js +1 -0
  379. package/lib/module/web/utils.js.map +1 -1
  380. package/lib/module/web/wasm/md4c.js +0 -0
  381. package/lib/module/web/wasm/md4c.js.map +1 -1
  382. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +62 -0
  383. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  384. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +95 -9
  385. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
  386. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +80 -5
  387. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
  388. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +62 -0
  389. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
  390. package/lib/typescript/src/headingDefaults.d.ts +9 -0
  391. package/lib/typescript/src/headingDefaults.d.ts.map +1 -0
  392. package/lib/typescript/src/index.d.ts +2 -2
  393. package/lib/typescript/src/index.d.ts.map +1 -1
  394. package/lib/typescript/src/index.web.d.ts +1 -1
  395. package/lib/typescript/src/index.web.d.ts.map +1 -1
  396. package/lib/typescript/src/jest/index.d.ts +6 -0
  397. package/lib/typescript/src/jest/index.d.ts.map +1 -0
  398. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +3 -3
  399. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -1
  400. package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -1
  401. package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -1
  402. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts +19 -5
  403. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts.map +1 -1
  404. package/lib/typescript/src/types/MarkdownStyle.d.ts +72 -0
  405. package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
  406. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +27 -0
  407. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
  408. package/lib/typescript/src/types/MarkdownTextProps.d.ts +65 -1
  409. package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
  410. package/lib/typescript/src/types/MarkdownTextProps.web.d.ts +19 -0
  411. package/lib/typescript/src/types/MarkdownTextProps.web.d.ts.map +1 -1
  412. package/lib/typescript/src/types/events.d.ts +19 -0
  413. package/lib/typescript/src/types/events.d.ts.map +1 -1
  414. package/lib/typescript/src/utils/textInputState.d.ts +24 -0
  415. package/lib/typescript/src/utils/textInputState.d.ts.map +1 -0
  416. package/lib/typescript/src/web/EnrichedMarkdownText.d.ts +1 -1
  417. package/lib/typescript/src/web/EnrichedMarkdownText.d.ts.map +1 -1
  418. package/lib/typescript/src/web/parseMarkdown.d.ts +1 -1
  419. package/lib/typescript/src/web/parseMarkdown.d.ts.map +1 -1
  420. package/lib/typescript/src/web/renderers/InlineRenderers.d.ts.map +1 -1
  421. package/lib/typescript/src/web/renderers/ListRenderers.d.ts.map +1 -1
  422. package/lib/typescript/src/web/renderers/index.d.ts +2 -1
  423. package/lib/typescript/src/web/renderers/index.d.ts.map +1 -1
  424. package/lib/typescript/src/web/styles.d.ts +2 -1
  425. package/lib/typescript/src/web/styles.d.ts.map +1 -1
  426. package/lib/typescript/src/web/types.d.ts +6 -2
  427. package/lib/typescript/src/web/types.d.ts.map +1 -1
  428. package/lib/typescript/src/web/utils.d.ts.map +1 -1
  429. package/package.json +36 -9
  430. package/postinstall.mjs +131 -0
  431. package/ratex-version.json +21 -0
  432. package/src/EnrichedMarkdownNativeComponent.ts +65 -0
  433. package/src/EnrichedMarkdownTextInput.tsx +162 -8
  434. package/src/EnrichedMarkdownTextInputNativeComponent.ts +89 -5
  435. package/src/EnrichedMarkdownTextNativeComponent.ts +66 -0
  436. package/src/headingDefaults.ts +21 -0
  437. package/src/index.tsx +9 -0
  438. package/src/index.web.tsx +1 -0
  439. package/src/jest/index.tsx +215 -0
  440. package/src/native/EnrichedMarkdownText.tsx +40 -2
  441. package/src/normalizeMarkdownStyle.ts +102 -16
  442. package/src/normalizeMarkdownStyle.web.ts +63 -15
  443. package/src/normalizeMarkdownTextInputStyle.ts +110 -35
  444. package/src/normalizeMenuItem.ts +1 -1
  445. package/src/types/MarkdownStyle.ts +74 -0
  446. package/src/types/MarkdownStyleInternal.ts +39 -0
  447. package/src/types/MarkdownTextProps.ts +65 -0
  448. package/src/types/MarkdownTextProps.web.ts +19 -0
  449. package/src/types/events.ts +21 -0
  450. package/src/utils/textInputState.ts +35 -0
  451. package/src/web/EnrichedMarkdownText.tsx +16 -2
  452. package/src/web/parseMarkdown.ts +6 -2
  453. package/src/web/renderers/InlineRenderers.tsx +5 -0
  454. package/src/web/renderers/ListRenderers.tsx +14 -2
  455. package/src/web/renderers/index.tsx +6 -2
  456. package/src/web/styles.ts +89 -5
  457. package/src/web/types.ts +6 -1
  458. package/src/web/utils.ts +1 -0
  459. package/src/web/wasm/md4c.js +0 -0
  460. package/vendor-grammars.mjs +511 -0
  461. package/vendor-ratex.mjs +173 -0
  462. package/app.plugin.js +0 -2
  463. package/plugin/build/withAndroidMath.js +0 -19
  464. package/plugin/build/withIosMath.js +0 -28
  465. package/plugin/build/withReactNativeEnrichedMarkdown.js +0 -11
  466. package/plugin/src/withAndroidMath.ts +0 -24
  467. package/plugin/src/withIosMath.ts +0 -35
  468. package/plugin/src/withReactNativeEnrichedMarkdown.ts +0 -17
  469. package/plugin/tsconfig.build.json +0 -16
@@ -29,6 +29,8 @@ interface BlockquoteStyleInternal extends BaseBlockStyleInternal {
29
29
  borderWidth: CodegenTypes.Float;
30
30
  gapWidth: CodegenTypes.Float;
31
31
  backgroundColor: ColorValue;
32
+ borderRadius: CodegenTypes.Float;
33
+ padding: CodegenTypes.Float;
32
34
  }
33
35
 
34
36
  interface ListStyleInternal extends BaseBlockStyleInternal {
@@ -39,6 +41,24 @@ interface ListStyleInternal extends BaseBlockStyleInternal {
39
41
  markerFontWeight: string;
40
42
  gapWidth: CodegenTypes.Float;
41
43
  marginLeft: CodegenTypes.Float;
44
+ itemSpacing: CodegenTypes.Float;
45
+ }
46
+
47
+ interface CodeBlockSyntaxColorsInternal {
48
+ keyword: ColorValue;
49
+ operatorColor: ColorValue;
50
+ punctuation: ColorValue;
51
+ string: ColorValue;
52
+ number: ColorValue;
53
+ constant: ColorValue;
54
+ comment: ColorValue;
55
+ function: ColorValue;
56
+ type: ColorValue;
57
+ variable: ColorValue;
58
+ property: ColorValue;
59
+ tag: ColorValue;
60
+ attribute: ColorValue;
61
+ embedded: ColorValue;
42
62
  }
43
63
 
44
64
  interface CodeBlockStyleInternal extends BaseBlockStyleInternal {
@@ -47,6 +67,7 @@ interface CodeBlockStyleInternal extends BaseBlockStyleInternal {
47
67
  borderRadius: CodegenTypes.Float;
48
68
  borderWidth: CodegenTypes.Float;
49
69
  padding: CodegenTypes.Float;
70
+ syntaxColors: CodeBlockSyntaxColorsInternal;
50
71
  }
51
72
 
52
73
  interface LinkStyleInternal {
@@ -94,6 +115,9 @@ interface CodeStyleInternal {
94
115
 
95
116
  interface ImageStyleInternal {
96
117
  height: CodegenTypes.Float;
118
+ maxHeight: CodegenTypes.Float;
119
+ aspectRatio: CodegenTypes.Float;
120
+ resizeMode: string;
97
121
  borderRadius: CodegenTypes.Float;
98
122
  marginTop: CodegenTypes.Float;
99
123
  marginBottom: CodegenTypes.Float;
@@ -121,6 +145,8 @@ interface TableStyleInternal extends BaseBlockStyleInternal {
121
145
  borderRadius: CodegenTypes.Float;
122
146
  cellPaddingHorizontal: CodegenTypes.Float;
123
147
  cellPaddingVertical: CodegenTypes.Float;
148
+ horizontalOverflow: CodegenTypes.Float;
149
+ align: string;
124
150
  }
125
151
 
126
152
  interface TaskListStyleInternal {
@@ -225,11 +251,21 @@ export interface TaskListItemPressEvent {
225
251
  text: string;
226
252
  }
227
253
 
254
+ export interface CopyPressEvent {
255
+ code: string;
256
+ language: string;
257
+ }
258
+
228
259
  export interface ContextMenuItemConfig {
229
260
  text: string;
230
261
  icon?: string;
231
262
  }
232
263
 
264
+ export interface ImageRequestHeaderInternal {
265
+ name: string;
266
+ value: string;
267
+ }
268
+
233
269
  export interface SelectionMenuConfig {
234
270
  copyAsMarkdown: boolean;
235
271
  copyImageUrl: boolean;
@@ -311,10 +347,16 @@ export interface Md4cFlagsInternal {
311
347
  * @default false
312
348
  */
313
349
  highlight: boolean;
350
+ /**
351
+ * Treat soft breaks (single newlines) as hard breaks (visible line breaks).
352
+ * @default false
353
+ */
354
+ hardSoftBreaks: boolean;
314
355
  }
315
356
 
316
357
  interface StreamingConfigInternal {
317
358
  tableMode: string;
359
+ codeBlockMode: string;
318
360
  }
319
361
 
320
362
  export interface NativeProps extends ViewProps {
@@ -345,6 +387,21 @@ export interface NativeProps extends ViewProps {
345
387
  * Receives the 0-based task index, current checked state, and the item's plain text.
346
388
  */
347
389
  onTaskListItemPress?: CodegenTypes.BubblingEventHandler<TaskListItemPressEvent>;
390
+ /**
391
+ * Controls whether tapping a task list checkbox toggles its checked state.
392
+ *
393
+ * When `false`, the tap is fully inert: no visual toggle and no
394
+ * `onTaskListItemPress` emission. Text selection and links are unaffected.
395
+ *
396
+ * @default true
397
+ */
398
+ enableTaskListItemToggle?: CodegenTypes.WithDefault<boolean, true>;
399
+ /**
400
+ * Callback fired when code is copied from a fenced code block's header copy
401
+ * button, its long-press context-menu "Copy" action, or the VoiceOver copy
402
+ * action. Receives the copied code and its language.
403
+ */
404
+ onCopyPress?: CodegenTypes.BubblingEventHandler<CopyPressEvent>;
348
405
  /**
349
406
  * Controls whether the system link preview is shown on long press (iOS only).
350
407
  *
@@ -425,10 +482,18 @@ export interface NativeProps extends ViewProps {
425
482
  */
426
483
  spoilerOverlay?: CodegenTypes.WithDefault<string, 'particles'>;
427
484
 
485
+ /**
486
+ * Hides the text selection context menu while keeping text selectable.
487
+ */
488
+ contextMenuHidden?: CodegenTypes.WithDefault<boolean, false>;
428
489
  /**
429
490
  * Custom items to show in the text selection context menu.
430
491
  */
431
492
  contextMenuItems?: ReadonlyArray<Readonly<ContextMenuItemConfig>>;
493
+ /**
494
+ * HTTP headers attached to remote image requests, as name/value pairs.
495
+ */
496
+ imageRequestHeaders?: ReadonlyArray<Readonly<ImageRequestHeaderInternal>>;
432
497
  /**
433
498
  * Built-in items to show in the text selection context menu.
434
499
  */
@@ -1,10 +1,29 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
3
+ import { useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';
4
4
  import EnrichedMarkdownTextInputNativeComponent, { Commands } from './EnrichedMarkdownTextInputNativeComponent';
5
5
  import { normalizeMarkdownTextInputStyle } from "./normalizeMarkdownTextInputStyle.js";
6
6
  import { normalizeMenuItem } from "./normalizeMenuItem.js";
7
7
  import { toNativeRegexConfig } from "./utils/regexParser.js";
8
+ import { TextInputState } from "./utils/textInputState.js";
9
+
10
+ /**
11
+ * Chip style for inline math (`$...$`) in the editor. Mirrors the read-only
12
+ * renderer's `markdownStyle.inlineMath`, which shares `color`; the remaining
13
+ * fields are the chip's own box and have no counterpart there.
14
+ */
15
+
16
+ /**
17
+ * Chip style for block math (`$$...$$`) in the editor. Field names mirror the
18
+ * read-only renderer's `markdownStyle.math` (`padding`, `marginTop`,
19
+ * `marginBottom`, `textAlign`) so the same key means the same thing on both
20
+ * surfaces; the chip additionally splits `padding` per axis.
21
+ */
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ const VALID_HEADING_LEVELS = new Set([1, 2, 3, 4, 5, 6]);
24
+ function toHeadingLevel(n) {
25
+ return VALID_HEADING_LEVELS.has(n) ? n : 1;
26
+ }
8
27
 
9
28
  /**
10
29
  * Per-item shape: `{ enabled }` toggles visibility, `label` overrides the
@@ -12,7 +31,7 @@ import { toNativeRegexConfig } from "./utils/regexParser.js";
12
31
  */
13
32
 
14
33
  /** Controls the individual items inside the Format submenu. */
15
- import { jsx as _jsx } from "react/jsx-runtime";
34
+
16
35
  function getNativeRef(ref) {
17
36
  if (ref.current == null) {
18
37
  throw new Error('EnrichedMarkdownTextInput: native ref is not attached. Ensure the component is mounted.');
@@ -29,7 +48,9 @@ export const EnrichedMarkdownTextInput = ({
29
48
  editable = true,
30
49
  autoFocus = false,
31
50
  scrollEnabled = true,
51
+ blockSyntax = true,
32
52
  autoCapitalize = 'sentences',
53
+ interceptPaste = false,
33
54
  multiline = true,
34
55
  cursorColor,
35
56
  selectionColor,
@@ -37,9 +58,11 @@ export const EnrichedMarkdownTextInput = ({
37
58
  onChangeMarkdown,
38
59
  onChangeSelection,
39
60
  onChangeState,
61
+ onKeyPress,
40
62
  onCaretRectChange,
41
63
  onLinkDetected,
42
64
  onMathPress,
65
+ onPaste,
43
66
  mentionIndicators,
44
67
  onStartMention,
45
68
  onChangeMention,
@@ -88,6 +111,26 @@ export const EnrichedMarkdownTextInput = ({
88
111
  pendingCaretRect.clear();
89
112
  };
90
113
  }, []);
114
+
115
+ /**
116
+ * Mirrors the built-in TextInput's TextInputState integration so scroll
117
+ * containers' keyboardShouldPersistTaps logic and Keyboard.dismiss treat
118
+ * this input like a native TextInput. See utils/textInputState.ts for the
119
+ * full rationale. The unmount cleanup blurs through blurTextInput so both
120
+ * the registry entry and the native focus are released, matching the
121
+ * TextInput unmount path.
122
+ */
123
+ useLayoutEffect(() => {
124
+ const instance = nativeRef.current;
125
+ if (instance == null) return;
126
+ TextInputState.registerInput(instance);
127
+ return () => {
128
+ if (TextInputState.currentlyFocusedInput() === instance) {
129
+ TextInputState.blurTextInput(instance);
130
+ }
131
+ TextInputState.unregisterInput(instance);
132
+ };
133
+ }, []);
91
134
  const normalizedStyle = normalizeMarkdownTextInputStyle(markdownStyle);
92
135
  const normalizedSelectionMenuConfig = useMemo(() => {
93
136
  const format = normalizeMenuItem(selectionMenuConfig?.format, true, 'Format');
@@ -160,6 +203,16 @@ export const EnrichedMarkdownTextInput = ({
160
203
  }
161
204
  });
162
205
  }, [onMathPress]);
206
+ const handlePaste = useCallback(e => {
207
+ const {
208
+ text,
209
+ markdown
210
+ } = e.nativeEvent;
211
+ onPaste?.({
212
+ text,
213
+ markdown
214
+ });
215
+ }, [onPaste]);
163
216
  const handleChangeText = useCallback(e => {
164
217
  onChangeText?.(e.nativeEvent.value);
165
218
  }, [onChangeText]);
@@ -183,7 +236,10 @@ export const EnrichedMarkdownTextInput = ({
183
236
  underline,
184
237
  strikethrough,
185
238
  spoiler,
186
- link
239
+ link,
240
+ heading,
241
+ unorderedList,
242
+ orderedList
187
243
  } = e.nativeEvent;
188
244
  onChangeState?.({
189
245
  bold,
@@ -191,7 +247,13 @@ export const EnrichedMarkdownTextInput = ({
191
247
  underline,
192
248
  strikethrough,
193
249
  spoiler,
194
- link
250
+ link,
251
+ heading: {
252
+ ...heading,
253
+ level: toHeadingLevel(heading.level)
254
+ },
255
+ unorderedList,
256
+ orderedList
195
257
  });
196
258
  }, [onChangeState]);
197
259
  const handleCaretRectChange = useCallback(e => {
@@ -218,9 +280,11 @@ export const EnrichedMarkdownTextInput = ({
218
280
  onEndMention?.(e.nativeEvent);
219
281
  }, [onEndMention]);
220
282
  const handleFocus = useCallback(() => {
283
+ TextInputState.focusInput(nativeRef.current);
221
284
  onFocus?.();
222
285
  }, [onFocus]);
223
286
  const handleBlur = useCallback(() => {
287
+ TextInputState.blurInput(nativeRef.current);
224
288
  onBlur?.();
225
289
  }, [onBlur]);
226
290
  const handleRequestMarkdownResult = useCallback(e => {
@@ -266,7 +330,13 @@ export const EnrichedMarkdownTextInput = ({
266
330
  start: selectionStart,
267
331
  end: selectionEnd
268
332
  },
269
- styleState
333
+ styleState: {
334
+ ...styleState,
335
+ heading: {
336
+ ...styleState.heading,
337
+ level: toHeadingLevel(styleState.heading.level)
338
+ }
339
+ }
270
340
  });
271
341
  }, []);
272
342
  useImperativeHandle(ref, () => {
@@ -287,8 +357,14 @@ export const EnrichedMarkdownTextInput = ({
287
357
  toggleUnderline: () => Commands.toggleUnderline(commandRef),
288
358
  toggleStrikethrough: () => Commands.toggleStrikethrough(commandRef),
289
359
  toggleSpoiler: () => Commands.toggleSpoiler(commandRef),
360
+ toggleHeading: level => Commands.toggleHeading(commandRef, level),
361
+ toggleUnorderedList: () => Commands.toggleUnorderedList(commandRef),
362
+ toggleOrderedList: () => Commands.toggleOrderedList(commandRef),
363
+ indentList: () => Commands.indentList(commandRef),
364
+ outdentList: () => Commands.outdentList(commandRef),
290
365
  setLink: url => Commands.setLink(commandRef, url),
291
366
  insertLink: (text, url) => Commands.insertLink(commandRef, text, url),
367
+ insertText: text => Commands.insertText(commandRef, text),
292
368
  insertMention: (displayText, url) => Commands.insertMention(commandRef, displayText, url),
293
369
  startMention: indicator => Commands.startMention(commandRef, indicator),
294
370
  removeLink: () => Commands.removeLink(commandRef),
@@ -296,6 +372,7 @@ export const EnrichedMarkdownTextInput = ({
296
372
  updateMath: (start, latex, options) => Commands.updateMath(commandRef, start, latex, options?.display ?? false),
297
373
  removeMath: start => Commands.removeMath(commandRef, start),
298
374
  copyToClipboard: () => Commands.copyToClipboard(commandRef),
375
+ resolvePaste: (text, markdown = '') => Commands.resolvePaste(commandRef, text, markdown),
299
376
  getMarkdown: () => new Promise((resolve, reject) => {
300
377
  const requestId = nextRequestId.current++;
301
378
  pendingRequests.current.set(requestId, {
@@ -324,7 +401,9 @@ export const EnrichedMarkdownTextInput = ({
324
401
  editable: editable,
325
402
  autoFocus: autoFocus,
326
403
  scrollEnabled: scrollEnabled,
404
+ blockSyntax: blockSyntax,
327
405
  autoCapitalize: autoCapitalize,
406
+ interceptPaste: interceptPaste === true && onPaste != null,
328
407
  multiline: multiline,
329
408
  cursorColor: cursorColor,
330
409
  selectionColor: selectionColor,
@@ -333,8 +412,10 @@ export const EnrichedMarkdownTextInput = ({
333
412
  onChangeMarkdown: handleChangeMarkdown,
334
413
  onChangeSelection: handleChangeSelection,
335
414
  onChangeState: handleChangeState,
415
+ onInputKeyPress: onKeyPress,
336
416
  onLinkDetected: handleLinkDetected,
337
417
  onMathPress: handleMathPress,
418
+ onPaste: handlePaste,
338
419
  onInputFocus: handleFocus,
339
420
  onInputBlur: handleBlur,
340
421
  onRequestMarkdownResult: handleRequestMarkdownResult,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","jsx","_jsx","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onCaretRectChange","onLinkDetected","onMathPress","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","handleBlur","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","setLink","insertLink","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","TextInputState","jsx","_jsx","VALID_HEADING_LEVELS","Set","toHeadingLevel","n","has","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","blockSyntax","autoCapitalize","interceptPaste","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onKeyPress","onCaretRectChange","onLinkDetected","onMathPress","onPaste","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","instance","registerInput","currentlyFocusedInput","blurTextInput","unregisterInput","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handlePaste","markdown","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","heading","unorderedList","orderedList","level","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","focusInput","handleBlur","blurInput","handleRequestMarkdownResult","requestId","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","toggleHeading","toggleUnorderedList","toggleOrderedList","indentList","outdentList","setLink","insertLink","insertText","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","copyToClipboard","resolvePaste","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputKeyPress","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,13 @@ import {
8
8
  } from 'react-native';
9
9
  import type React from 'react';
10
10
 
11
- interface MathStyleInternal {
11
+ interface HeadingStyleInternal {
12
+ fontSize: CodegenTypes.Float;
13
+ fontWeight: string;
14
+ color: ColorValue;
15
+ }
16
+
17
+ interface InputInlineMathStyleInternal {
12
18
  color: ColorValue;
13
19
  fontSize: CodegenTypes.Float;
14
20
  backgroundColor: ColorValue;
@@ -22,10 +28,10 @@ interface MathStyleInternal {
22
28
  fontWeight: string;
23
29
  }
24
30
 
25
- interface MathBlockStyleInternal extends MathStyleInternal {
31
+ interface InputMathStyleInternal extends InputInlineMathStyleInternal {
26
32
  marginTop: CodegenTypes.Float;
27
33
  marginBottom: CodegenTypes.Float;
28
- alignment: string;
34
+ textAlign: string;
29
35
  }
30
36
 
31
37
  interface MarkdownTextInputStyleInternal {
@@ -52,8 +58,27 @@ interface MarkdownTextInputStyleInternal {
52
58
  color: ColorValue;
53
59
  backgroundColor: ColorValue;
54
60
  };
55
- math: MathStyleInternal;
56
- mathBlock: MathBlockStyleInternal;
61
+ // Per-level heading styles, mirroring the readonly renderer's markdownStyle
62
+ // h1..h6 so heading sizing is configured consistently across read and edit
63
+ // views. Always provided with complete defaults via normalizeMarkdownTextInputStyle.
64
+ h1: HeadingStyleInternal;
65
+ h2: HeadingStyleInternal;
66
+ h3: HeadingStyleInternal;
67
+ h4: HeadingStyleInternal;
68
+ h5: HeadingStyleInternal;
69
+ h6: HeadingStyleInternal;
70
+ list: {
71
+ // Vertical spacing (points) added above each list item. iOS applies it via
72
+ // paragraphSpacingBefore; Android via a LineHeightSpan. Float for parity with
73
+ // every other spacing value in the library.
74
+ itemSpacing: CodegenTypes.Float;
75
+ };
76
+ // Inline math (`$...$`) chip; block math (`$$...$$`) chip. Key names and the
77
+ // shared field names match the read-only renderer's markdownStyle. The
78
+ // author-facing `math.padding` shorthand is expanded into the two axes by
79
+ // normalizeMarkdownTextInputStyle, so nothing below carries it.
80
+ inlineMath: InputInlineMathStyleInternal;
81
+ math: InputMathStyleInternal;
57
82
  }
58
83
 
59
84
  interface TargetedEvent {
@@ -68,6 +93,10 @@ export interface OnChangeMarkdownEvent {
68
93
  value: string;
69
94
  }
70
95
 
96
+ export interface OnKeyPressEvent {
97
+ key: string;
98
+ }
99
+
71
100
  export interface OnChangeSelectionEvent {
72
101
  start: CodegenTypes.Int32;
73
102
  end: CodegenTypes.Int32;
@@ -80,6 +109,9 @@ export interface OnChangeStateEvent {
80
109
  strikethrough: { isActive: boolean };
81
110
  spoiler: { isActive: boolean };
82
111
  link: { isActive: boolean };
112
+ heading: { isActive: boolean; level: CodegenTypes.Int32 };
113
+ unorderedList: { isActive: boolean; depth: CodegenTypes.Int32 };
114
+ orderedList: { isActive: boolean; depth: CodegenTypes.Int32 };
83
115
  }
84
116
 
85
117
  export interface OnRequestMarkdownResultEvent {
@@ -141,6 +173,11 @@ export interface OnEndMentionEvent {
141
173
  indicator: string;
142
174
  }
143
175
 
176
+ export interface OnPasteEvent {
177
+ text: string;
178
+ markdown: string;
179
+ }
180
+
144
181
  export interface ContextMenuItemConfig {
145
182
  text: string;
146
183
  icon?: string;
@@ -180,6 +217,9 @@ export interface OnContextMenuItemPressEvent {
180
217
  strikethrough: { isActive: boolean };
181
218
  spoiler: { isActive: boolean };
182
219
  link: { isActive: boolean };
220
+ heading: { isActive: boolean; level: CodegenTypes.Int32 };
221
+ unorderedList: { isActive: boolean; depth: CodegenTypes.Int32 };
222
+ orderedList: { isActive: boolean; depth: CodegenTypes.Int32 };
183
223
  };
184
224
  }
185
225
 
@@ -211,10 +251,31 @@ export interface NativeProps extends ViewProps {
211
251
  * @default true
212
252
  */
213
253
  scrollEnabled?: boolean;
254
+ /**
255
+ * Whether block-level markdown syntax is interpreted.
256
+ *
257
+ * When `false`, list markers, headings, blockquotes, tables, code blocks and
258
+ * thematic breaks stay in the text verbatim instead of being consumed as
259
+ * structure, so the markdown round-trips byte-for-byte. Inline syntax
260
+ * (`**bold**`, links, `$math$`) still applies. `\r\n` is normalized to `\n`
261
+ * and `U+000B` is stripped from the input.
262
+ * @default true
263
+ */
264
+ blockSyntax?: boolean;
214
265
  /**
215
266
  * Auto-capitalization behavior.
216
267
  */
217
268
  autoCapitalize?: string;
269
+ /**
270
+ * When `true`, a paste is reported through `onPaste` instead of being
271
+ * inserted. Native reads the clipboard and leaves the buffer untouched — the
272
+ * JS handler decides what happens and must call the `resolvePaste` command
273
+ * exactly once, or the paste is dropped.
274
+ *
275
+ * macOS ignores this prop and always pastes inline.
276
+ * @default false
277
+ */
278
+ interceptPaste?: boolean;
218
279
  /**
219
280
  * Whether the input supports multiple lines.
220
281
  * @default true
@@ -292,6 +353,7 @@ export interface NativeProps extends ViewProps {
292
353
  onChangeText?: CodegenTypes.DirectEventHandler<OnChangeTextEvent>;
293
354
  onChangeMarkdown?: CodegenTypes.DirectEventHandler<OnChangeMarkdownEvent>;
294
355
  onChangeSelection?: CodegenTypes.DirectEventHandler<OnChangeSelectionEvent>;
356
+ onInputKeyPress?: CodegenTypes.DirectEventHandler<OnKeyPressEvent>;
295
357
  onChangeState?: CodegenTypes.DirectEventHandler<OnChangeStateEvent>;
296
358
  onInputFocus?: CodegenTypes.DirectEventHandler<TargetedEvent>;
297
359
  onInputBlur?: CodegenTypes.DirectEventHandler<TargetedEvent>;
@@ -301,6 +363,7 @@ export interface NativeProps extends ViewProps {
301
363
  onContextMenuItemPress?: CodegenTypes.DirectEventHandler<OnContextMenuItemPressEvent>;
302
364
  onLinkDetected?: CodegenTypes.DirectEventHandler<OnLinkDetected>;
303
365
  onMathPress?: CodegenTypes.DirectEventHandler<OnMathPressNativeEvent>;
366
+ onPaste?: CodegenTypes.DirectEventHandler<OnPasteEvent>;
304
367
  onStartMention?: CodegenTypes.DirectEventHandler<OnStartMentionEvent>;
305
368
  onChangeMention?: CodegenTypes.DirectEventHandler<OnChangeMentionEvent>;
306
369
  onEndMention?: CodegenTypes.DirectEventHandler<OnEndMentionEvent>;
@@ -325,12 +388,21 @@ interface NativeCommands {
325
388
  toggleUnderline: (viewRef: React.ElementRef<ComponentType>) => void;
326
389
  toggleStrikethrough: (viewRef: React.ElementRef<ComponentType>) => void;
327
390
  toggleSpoiler: (viewRef: React.ElementRef<ComponentType>) => void;
391
+ toggleHeading: (
392
+ viewRef: React.ElementRef<ComponentType>,
393
+ level: CodegenTypes.Int32
394
+ ) => void;
395
+ toggleUnorderedList: (viewRef: React.ElementRef<ComponentType>) => void;
396
+ toggleOrderedList: (viewRef: React.ElementRef<ComponentType>) => void;
397
+ indentList: (viewRef: React.ElementRef<ComponentType>) => void;
398
+ outdentList: (viewRef: React.ElementRef<ComponentType>) => void;
328
399
  setLink: (viewRef: React.ElementRef<ComponentType>, url: string) => void;
329
400
  insertLink: (
330
401
  viewRef: React.ElementRef<ComponentType>,
331
402
  text: string,
332
403
  url: string
333
404
  ) => void;
405
+ insertText: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
334
406
  insertMention: (
335
407
  viewRef: React.ElementRef<ComponentType>,
336
408
  displayText: string,
@@ -357,6 +429,11 @@ interface NativeCommands {
357
429
  start: CodegenTypes.Int32
358
430
  ) => void;
359
431
  copyToClipboard: (viewRef: React.ElementRef<ComponentType>) => void;
432
+ resolvePaste: (
433
+ viewRef: React.ElementRef<ComponentType>,
434
+ text: string,
435
+ markdown: string
436
+ ) => void;
360
437
  requestMarkdown: (
361
438
  viewRef: React.ElementRef<ComponentType>,
362
439
  requestId: CodegenTypes.Int32
@@ -378,8 +455,14 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
378
455
  'toggleUnderline',
379
456
  'toggleStrikethrough',
380
457
  'toggleSpoiler',
458
+ 'toggleHeading',
459
+ 'toggleUnorderedList',
460
+ 'toggleOrderedList',
461
+ 'indentList',
462
+ 'outdentList',
381
463
  'setLink',
382
464
  'insertLink',
465
+ 'insertText',
383
466
  'insertMention',
384
467
  'startMention',
385
468
  'removeLink',
@@ -387,6 +470,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
387
470
  'updateMath',
388
471
  'removeMath',
389
472
  'copyToClipboard',
473
+ 'resolvePaste',
390
474
  'requestMarkdown',
391
475
  'requestCaretRect',
392
476
  ],