react-native-enriched-markdown-scaffold 0.7.4-scaffold.9 → 1.0.2-scaffold.2

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 +186 -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 +24 -0
  8. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +8 -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 +35 -0
  14. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +886 -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 +189 -13
  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 +54 -4
  26. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +901 -462
  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/FormattingStore.kt +80 -87
  43. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputFormatter.kt +109 -1
  44. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputParser.kt +116 -22
  45. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/MarkdownSerializer.kt +167 -38
  46. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/RangeEditAdjustment.kt +149 -0
  47. package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt +66 -5
  48. package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputMeasurementStore.kt +4 -2
  49. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockRange.kt +27 -0
  50. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockType.kt +48 -0
  51. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/FormattingRange.kt +9 -4
  52. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/InputFormatterStyle.kt +39 -2
  53. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathAtom.kt +20 -0
  54. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +1 -1
  55. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MutableRangeBounds.kt +11 -0
  56. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputBulletSpan.kt +82 -0
  57. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputHeadingSpan.kt +58 -0
  58. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputListItemSpacingSpan.kt +37 -0
  59. package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputOrderedListMarkerSpan.kt +63 -0
  60. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/BlockHandler.kt +54 -0
  61. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/HeadingBlockHandler.kt +27 -0
  62. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/OrderedListBlockHandler.kt +38 -0
  63. package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/UnorderedListBlockHandler.kt +37 -0
  64. package/android/src/main/java/com/swmansion/enriched/markdown/input/toolbar/InputContextMenu.kt +8 -26
  65. package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +1 -0
  66. package/android/src/main/java/com/swmansion/enriched/markdown/parser/Parser.kt +1 -0
  67. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockStyleContext.kt +9 -2
  68. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockquoteRenderer.kt +100 -12
  69. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeBlockRenderer.kt +16 -1
  70. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HeadingRenderer.kt +4 -0
  71. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListContextManager.kt +2 -1
  72. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListItemRenderer.kt +74 -18
  73. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListRenderer.kt +43 -4
  74. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/NodeRenderer.kt +9 -1
  75. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SoftBreakRenderer.kt +16 -0
  76. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +30 -27
  77. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaseListSpan.kt +24 -0
  78. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BlockquoteSpan.kt +174 -24
  79. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +27 -3
  80. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBlockSpan.kt +13 -16
  81. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeSpan.kt +1 -1
  82. package/android/src/main/java/com/swmansion/enriched/markdown/spans/EmphasisSpan.kt +1 -1
  83. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ImageSpan.kt +182 -46
  84. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListItemSpacingSpan.kt +33 -0
  85. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListMarkerAnchorSpan.kt +38 -0
  86. package/android/src/main/java/com/swmansion/enriched/markdown/spans/OrderedListSpan.kt +2 -0
  87. package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrongSpan.kt +1 -1
  88. package/android/src/main/java/com/swmansion/enriched/markdown/spans/TaskListSpan.kt +3 -2
  89. package/android/src/main/java/com/swmansion/enriched/markdown/spans/UnorderedListSpan.kt +3 -2
  90. package/android/src/main/java/com/swmansion/enriched/markdown/styles/BlockquoteStyle.kt +6 -0
  91. package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeBlockStyle.kt +26 -0
  92. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ImageStyle.kt +7 -1
  93. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +4 -1
  94. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleConfig.kt +13 -4
  95. package/android/src/main/java/com/swmansion/enriched/markdown/styles/TableStyle.kt +6 -0
  96. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockHighlighter.kt +90 -0
  97. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockNode.kt +57 -0
  98. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/FeatureFlags.kt +1 -0
  99. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownSegment.kt +9 -0
  100. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +37 -7
  101. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/ReadableMapExtensions.kt +3 -0
  102. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/RenderedSegment.kt +10 -0
  103. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/SegmentSignature.kt +1 -0
  104. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/StreamingMarkdownFilter.kt +83 -5
  105. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/serialization/MarkdownASTSerializer.kt +4 -0
  106. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +74 -44
  107. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/PasteTextUtils.kt +20 -0
  108. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageCache.kt +26 -3
  109. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageDownloader.kt +22 -9
  110. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/LocalImageLoader.kt +161 -0
  111. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/TextPaintExtensions.kt +23 -0
  112. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/CheckboxTouchHelper.kt +7 -0
  113. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/TaskListTapUtils.kt +41 -21
  114. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/span/BlockSpacing.kt +15 -8
  115. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLongPressMovementMethod.kt +58 -27
  116. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +49 -15
  117. package/android/src/main/java/com/swmansion/enriched/markdown/views/BlockMenuOptions.kt +45 -0
  118. package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +396 -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 +36 -9
  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 +6 -4
  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 +234 -12
  152. package/docs/BREAKING_CHANGES.md +129 -0
  153. package/docs/CODE_HIGHLIGHT.md +133 -0
  154. package/docs/COPY_OPTIONS.md +47 -3
  155. package/docs/ELEMENTS_STRUCTURE.md +52 -4
  156. package/docs/IMAGE_CACHING.md +30 -0
  157. package/docs/INPUT.md +108 -11
  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 +284 -75
  169. package/ios/EnrichedMarkdownText.h +7 -0
  170. package/ios/EnrichedMarkdownText.mm +101 -73
  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 +35 -0
  179. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +886 -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/ENRMClipboardCoordinator.h +45 -0
  190. package/ios/input/ENRMClipboardCoordinator.mm +120 -0
  191. package/ios/input/ENRMDetectorPipeline.h +2 -1
  192. package/ios/input/ENRMEditPipeline.h +76 -0
  193. package/ios/input/ENRMEditPipeline.mm +228 -0
  194. package/ios/input/ENRMEditSession.h +36 -0
  195. package/ios/input/ENRMEditSession.mm +63 -0
  196. package/ios/input/ENRMFormattingStore.h +17 -0
  197. package/ios/input/ENRMFormattingStore.mm +95 -105
  198. package/ios/input/ENRMInputBlockType.h +91 -0
  199. package/ios/input/ENRMInputBlockType.mm +5 -0
  200. package/ios/input/ENRMInputDecorationDrawer.h +18 -0
  201. package/ios/input/ENRMInputEventEmitter.h +56 -0
  202. package/ios/input/ENRMInputEventEmitter.mm +308 -0
  203. package/ios/input/ENRMInputFormatter.h +29 -69
  204. package/ios/input/ENRMInputFormatter.mm +216 -124
  205. package/ios/input/ENRMInputFormatterStyle.h +99 -0
  206. package/ios/input/ENRMInputFormatterStyle.mm +188 -0
  207. package/ios/input/ENRMInputLayoutManager.h +9 -0
  208. package/ios/input/ENRMInputLayoutManager.mm +30 -0
  209. package/ios/input/ENRMInputListMarkerDrawer.h +32 -0
  210. package/ios/input/ENRMInputListMarkerDrawer.mm +426 -0
  211. package/ios/input/ENRMInputParser.h +5 -6
  212. package/ios/input/ENRMInputParser.mm +461 -178
  213. package/ios/input/ENRMInputRemend.mm +2 -2
  214. package/ios/input/ENRMInputStyleStateBuilder.h +40 -0
  215. package/ios/input/ENRMInputStyleStateBuilder.mm +60 -0
  216. package/ios/input/ENRMInputTextView.mm +103 -8
  217. package/ios/input/ENRMInputTypingAttributesController.h +42 -0
  218. package/ios/input/ENRMInputTypingAttributesController.mm +203 -0
  219. package/ios/input/ENRMLinkCoordinator.h +41 -0
  220. package/ios/input/ENRMLinkCoordinator.mm +89 -0
  221. package/ios/input/ENRMMarkdownSerializer.h +29 -5
  222. package/ios/input/ENRMMarkdownSerializer.mm +170 -48
  223. package/ios/input/ENRMMathAtom.h +26 -0
  224. package/ios/input/ENRMMathAtom.mm +12 -0
  225. package/ios/input/ENRMMentionCoordinator.h +45 -0
  226. package/ios/input/ENRMMentionCoordinator.mm +167 -0
  227. package/ios/input/ENRMRangeEditAdjustment.h +38 -0
  228. package/ios/input/ENRMRangeEditAdjustment.mm +91 -0
  229. package/ios/input/ENRMRangeStoreUtils.h +39 -0
  230. package/ios/input/EnrichedMarkdownTextInput+ContextMenu.mm +6 -6
  231. package/ios/input/EnrichedMarkdownTextInput+Internal.h +11 -3
  232. package/ios/input/EnrichedMarkdownTextInput.h +7 -1
  233. package/ios/input/EnrichedMarkdownTextInput.mm +1089 -1023
  234. package/ios/input/InputStylePropsUtils.h +109 -68
  235. package/ios/input/internals/EnrichedMarkdownTextInputShadowNode.mm +2 -1
  236. package/ios/input/styles/ENRMBlockHandler.h +46 -0
  237. package/ios/input/styles/ENRMHeadingBlockHandler.h +15 -0
  238. package/ios/input/styles/ENRMHeadingBlockHandler.mm +38 -0
  239. package/ios/input/styles/ENRMOrderedListBlockHandler.h +14 -0
  240. package/ios/input/styles/ENRMOrderedListBlockHandler.mm +48 -0
  241. package/ios/input/styles/ENRMUnorderedListBlockHandler.h +15 -0
  242. package/ios/input/styles/ENRMUnorderedListBlockHandler.mm +51 -0
  243. package/ios/internals/ENRMViewFreeMeasurement.h +331 -0
  244. package/ios/internals/EnrichedMarkdownShadowNode.h +1 -3
  245. package/ios/internals/EnrichedMarkdownShadowNode.mm +16 -20
  246. package/ios/internals/EnrichedMarkdownTextShadowNode.h +1 -3
  247. package/ios/internals/EnrichedMarkdownTextShadowNode.mm +15 -20
  248. package/ios/internals/MeasurementCache.h +33 -7
  249. package/ios/internals/ShadowMeasurementUtils.h +63 -58
  250. package/ios/math/ENRMMathChipController.h +74 -0
  251. package/ios/math/ENRMMathChipController.mm +476 -0
  252. package/ios/math/ENRMRaTeXBridge.swift +4 -1
  253. package/ios/parser/ENRMMarkdownParser.h +1 -8
  254. package/ios/parser/ENRMMarkdownParser.mm +2 -11
  255. package/ios/parser/MarkdownASTNode.h +2 -1
  256. package/ios/parser/MarkdownParserBridge.mm +4 -0
  257. package/ios/renderer/AttributedRenderer.m +20 -2
  258. package/ios/renderer/BaseRenderer.h +17 -2
  259. package/ios/renderer/BaseRenderer.m +30 -0
  260. package/ios/renderer/BlockquoteRenderer.h +1 -1
  261. package/ios/renderer/BlockquoteRenderer.m +144 -35
  262. package/ios/renderer/CodeBlockRenderer.h +1 -1
  263. package/ios/renderer/CodeBlockRenderer.m +27 -23
  264. package/ios/renderer/CodeRenderer.h +1 -1
  265. package/ios/renderer/CodeRenderer.m +3 -1
  266. package/ios/renderer/ENRMImageRenderer.h +1 -1
  267. package/ios/renderer/ENRMImageRenderer.m +5 -1
  268. package/ios/renderer/ENRMMathInlineRenderer.h +1 -1
  269. package/ios/renderer/ENRMMathInlineRenderer.m +5 -1
  270. package/ios/renderer/ENRMSpoilerRenderer.h +1 -1
  271. package/ios/renderer/ENRMSpoilerRenderer.m +3 -1
  272. package/ios/renderer/EmphasisRenderer.h +1 -1
  273. package/ios/renderer/EmphasisRenderer.m +3 -1
  274. package/ios/renderer/HeadingRenderer.h +1 -1
  275. package/ios/renderer/HeadingRenderer.m +13 -6
  276. package/ios/renderer/HighlightRenderer.h +1 -1
  277. package/ios/renderer/HighlightRenderer.m +3 -1
  278. package/ios/renderer/LinkRenderer.h +1 -1
  279. package/ios/renderer/LinkRenderer.m +3 -1
  280. package/ios/renderer/ListItemRenderer.h +13 -1
  281. package/ios/renderer/ListItemRenderer.m +102 -44
  282. package/ios/renderer/ListRenderer.h +2 -2
  283. package/ios/renderer/ListRenderer.m +63 -25
  284. package/ios/renderer/ParagraphRenderer.h +1 -1
  285. package/ios/renderer/ParagraphRenderer.m +16 -8
  286. package/ios/renderer/RenderContext.h +10 -0
  287. package/ios/renderer/RenderContext.m +44 -0
  288. package/ios/renderer/RendererFactory.m +14 -0
  289. package/ios/renderer/StrikethroughRenderer.h +1 -1
  290. package/ios/renderer/StrikethroughRenderer.m +3 -1
  291. package/ios/renderer/StrongRenderer.h +1 -1
  292. package/ios/renderer/StrongRenderer.m +3 -1
  293. package/ios/renderer/SubscriptRenderer.h +1 -1
  294. package/ios/renderer/SubscriptRenderer.m +3 -1
  295. package/ios/renderer/SuperscriptRenderer.h +1 -1
  296. package/ios/renderer/SuperscriptRenderer.m +3 -1
  297. package/ios/renderer/TextRenderer.h +2 -2
  298. package/ios/renderer/TextRenderer.m +3 -1
  299. package/ios/renderer/ThematicBreakRenderer.h +1 -1
  300. package/ios/renderer/ThematicBreakRenderer.m +3 -1
  301. package/ios/renderer/UnderlineRenderer.h +1 -1
  302. package/ios/renderer/UnderlineRenderer.m +3 -1
  303. package/ios/styles/StyleConfig.h +22 -0
  304. package/ios/styles/StyleConfig.mm +132 -0
  305. package/ios/utils/BlockquoteBorder.h +6 -0
  306. package/ios/utils/BlockquoteBorder.m +249 -52
  307. package/ios/utils/CodeBlockBackground.m +16 -2
  308. package/ios/utils/ENRMAtomicSize.h +65 -0
  309. package/ios/utils/ENRMBlockMenu.h +57 -0
  310. package/ios/utils/ENRMCodeBlockContent.h +37 -0
  311. package/ios/utils/ENRMCodeBlockContent.mm +79 -0
  312. package/ios/utils/ENRMCodeBlockHighlighter.h +37 -0
  313. package/ios/utils/ENRMCodeBlockHighlighter.mm +51 -0
  314. package/ios/utils/ENRMFeatureFlags.h +7 -0
  315. package/ios/utils/ENRMImageDownloader.h +11 -1
  316. package/ios/utils/ENRMImageDownloader.m +60 -16
  317. package/ios/utils/ENRMLocalImageLoader.h +31 -0
  318. package/ios/utils/ENRMLocalImageLoader.m +68 -0
  319. package/ios/utils/ENRMMathFallback.h +26 -0
  320. package/ios/utils/ENRMMathFallback.m +18 -0
  321. package/ios/utils/ENRMTextViewSetup.h +35 -17
  322. package/ios/utils/EditMenuUtils.h +22 -5
  323. package/ios/utils/EditMenuUtils.m +53 -9
  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 +53 -0
  338. package/ios/views/ENRMCodeBlockContainerView.m +559 -0
  339. package/ios/views/ENRMMathContainerView.h +16 -0
  340. package/ios/views/ENRMMathContainerView.m +74 -19
  341. package/ios/views/TableContainerView.h +22 -0
  342. package/ios/views/TableContainerView.m +261 -175
  343. package/jest.d.ts +1 -0
  344. package/jest.js +5 -0
  345. package/lib/module/EnrichedMarkdownNativeComponent.ts +73 -0
  346. package/lib/module/EnrichedMarkdownTextInput.js +84 -5
  347. package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
  348. package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +78 -5
  349. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +74 -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 +37 -5
  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 +66 -0
  383. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  384. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +94 -9
  385. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
  386. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +69 -5
  387. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
  388. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +66 -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 +104 -9
  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 +73 -0
  433. package/src/EnrichedMarkdownTextInput.tsx +159 -8
  434. package/src/EnrichedMarkdownTextInputNativeComponent.ts +78 -5
  435. package/src/EnrichedMarkdownTextNativeComponent.ts +74 -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 +53 -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 +101 -9
  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
@@ -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.');
@@ -31,6 +50,7 @@ export const EnrichedMarkdownTextInput = ({
31
50
  scrollEnabled = true,
32
51
  blockSyntax = true,
33
52
  autoCapitalize = 'sentences',
53
+ interceptPaste = false,
34
54
  multiline = true,
35
55
  cursorColor,
36
56
  selectionColor,
@@ -38,9 +58,11 @@ export const EnrichedMarkdownTextInput = ({
38
58
  onChangeMarkdown,
39
59
  onChangeSelection,
40
60
  onChangeState,
61
+ onKeyPress,
41
62
  onCaretRectChange,
42
63
  onLinkDetected,
43
64
  onMathPress,
65
+ onPaste,
44
66
  mentionIndicators,
45
67
  onStartMention,
46
68
  onChangeMention,
@@ -89,6 +111,26 @@ export const EnrichedMarkdownTextInput = ({
89
111
  pendingCaretRect.clear();
90
112
  };
91
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
+ }, []);
92
134
  const normalizedStyle = normalizeMarkdownTextInputStyle(markdownStyle);
93
135
  const normalizedSelectionMenuConfig = useMemo(() => {
94
136
  const format = normalizeMenuItem(selectionMenuConfig?.format, true, 'Format');
@@ -161,6 +203,16 @@ export const EnrichedMarkdownTextInput = ({
161
203
  }
162
204
  });
163
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]);
164
216
  const handleChangeText = useCallback(e => {
165
217
  onChangeText?.(e.nativeEvent.value);
166
218
  }, [onChangeText]);
@@ -184,7 +236,10 @@ export const EnrichedMarkdownTextInput = ({
184
236
  underline,
185
237
  strikethrough,
186
238
  spoiler,
187
- link
239
+ link,
240
+ heading,
241
+ unorderedList,
242
+ orderedList
188
243
  } = e.nativeEvent;
189
244
  onChangeState?.({
190
245
  bold,
@@ -192,7 +247,13 @@ export const EnrichedMarkdownTextInput = ({
192
247
  underline,
193
248
  strikethrough,
194
249
  spoiler,
195
- link
250
+ link,
251
+ heading: {
252
+ ...heading,
253
+ level: toHeadingLevel(heading.level)
254
+ },
255
+ unorderedList,
256
+ orderedList
196
257
  });
197
258
  }, [onChangeState]);
198
259
  const handleCaretRectChange = useCallback(e => {
@@ -219,9 +280,11 @@ export const EnrichedMarkdownTextInput = ({
219
280
  onEndMention?.(e.nativeEvent);
220
281
  }, [onEndMention]);
221
282
  const handleFocus = useCallback(() => {
283
+ TextInputState.focusInput(nativeRef.current);
222
284
  onFocus?.();
223
285
  }, [onFocus]);
224
286
  const handleBlur = useCallback(() => {
287
+ TextInputState.blurInput(nativeRef.current);
225
288
  onBlur?.();
226
289
  }, [onBlur]);
227
290
  const handleRequestMarkdownResult = useCallback(e => {
@@ -267,7 +330,13 @@ export const EnrichedMarkdownTextInput = ({
267
330
  start: selectionStart,
268
331
  end: selectionEnd
269
332
  },
270
- styleState
333
+ styleState: {
334
+ ...styleState,
335
+ heading: {
336
+ ...styleState.heading,
337
+ level: toHeadingLevel(styleState.heading.level)
338
+ }
339
+ }
271
340
  });
272
341
  }, []);
273
342
  useImperativeHandle(ref, () => {
@@ -288,8 +357,14 @@ export const EnrichedMarkdownTextInput = ({
288
357
  toggleUnderline: () => Commands.toggleUnderline(commandRef),
289
358
  toggleStrikethrough: () => Commands.toggleStrikethrough(commandRef),
290
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),
291
365
  setLink: url => Commands.setLink(commandRef, url),
292
366
  insertLink: (text, url) => Commands.insertLink(commandRef, text, url),
367
+ insertText: text => Commands.insertText(commandRef, text),
293
368
  insertMention: (displayText, url) => Commands.insertMention(commandRef, displayText, url),
294
369
  startMention: indicator => Commands.startMention(commandRef, indicator),
295
370
  removeLink: () => Commands.removeLink(commandRef),
@@ -297,6 +372,7 @@ export const EnrichedMarkdownTextInput = ({
297
372
  updateMath: (start, latex, options) => Commands.updateMath(commandRef, start, latex, options?.display ?? false),
298
373
  removeMath: start => Commands.removeMath(commandRef, start),
299
374
  copyToClipboard: () => Commands.copyToClipboard(commandRef),
375
+ resolvePaste: (text, markdown = '') => Commands.resolvePaste(commandRef, text, markdown),
300
376
  getMarkdown: () => new Promise((resolve, reject) => {
301
377
  const requestId = nextRequestId.current++;
302
378
  pendingRequests.current.set(requestId, {
@@ -327,6 +403,7 @@ export const EnrichedMarkdownTextInput = ({
327
403
  scrollEnabled: scrollEnabled,
328
404
  blockSyntax: blockSyntax,
329
405
  autoCapitalize: autoCapitalize,
406
+ interceptPaste: interceptPaste === true && onPaste != null,
330
407
  multiline: multiline,
331
408
  cursorColor: cursorColor,
332
409
  selectionColor: selectionColor,
@@ -335,8 +412,10 @@ export const EnrichedMarkdownTextInput = ({
335
412
  onChangeMarkdown: handleChangeMarkdown,
336
413
  onChangeSelection: handleChangeSelection,
337
414
  onChangeState: handleChangeState,
415
+ onInputKeyPress: onKeyPress,
338
416
  onLinkDetected: handleLinkDetected,
339
417
  onMathPress: handleMathPress,
418
+ onPaste: handlePaste,
340
419
  onInputFocus: handleFocus,
341
420
  onInputBlur: handleBlur,
342
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","blockSyntax","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
 
@@ -226,6 +266,16 @@ export interface NativeProps extends ViewProps {
226
266
  * Auto-capitalization behavior.
227
267
  */
228
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;
229
279
  /**
230
280
  * Whether the input supports multiple lines.
231
281
  * @default true
@@ -303,6 +353,7 @@ export interface NativeProps extends ViewProps {
303
353
  onChangeText?: CodegenTypes.DirectEventHandler<OnChangeTextEvent>;
304
354
  onChangeMarkdown?: CodegenTypes.DirectEventHandler<OnChangeMarkdownEvent>;
305
355
  onChangeSelection?: CodegenTypes.DirectEventHandler<OnChangeSelectionEvent>;
356
+ onInputKeyPress?: CodegenTypes.DirectEventHandler<OnKeyPressEvent>;
306
357
  onChangeState?: CodegenTypes.DirectEventHandler<OnChangeStateEvent>;
307
358
  onInputFocus?: CodegenTypes.DirectEventHandler<TargetedEvent>;
308
359
  onInputBlur?: CodegenTypes.DirectEventHandler<TargetedEvent>;
@@ -312,6 +363,7 @@ export interface NativeProps extends ViewProps {
312
363
  onContextMenuItemPress?: CodegenTypes.DirectEventHandler<OnContextMenuItemPressEvent>;
313
364
  onLinkDetected?: CodegenTypes.DirectEventHandler<OnLinkDetected>;
314
365
  onMathPress?: CodegenTypes.DirectEventHandler<OnMathPressNativeEvent>;
366
+ onPaste?: CodegenTypes.DirectEventHandler<OnPasteEvent>;
315
367
  onStartMention?: CodegenTypes.DirectEventHandler<OnStartMentionEvent>;
316
368
  onChangeMention?: CodegenTypes.DirectEventHandler<OnChangeMentionEvent>;
317
369
  onEndMention?: CodegenTypes.DirectEventHandler<OnEndMentionEvent>;
@@ -336,12 +388,21 @@ interface NativeCommands {
336
388
  toggleUnderline: (viewRef: React.ElementRef<ComponentType>) => void;
337
389
  toggleStrikethrough: (viewRef: React.ElementRef<ComponentType>) => void;
338
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;
339
399
  setLink: (viewRef: React.ElementRef<ComponentType>, url: string) => void;
340
400
  insertLink: (
341
401
  viewRef: React.ElementRef<ComponentType>,
342
402
  text: string,
343
403
  url: string
344
404
  ) => void;
405
+ insertText: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
345
406
  insertMention: (
346
407
  viewRef: React.ElementRef<ComponentType>,
347
408
  displayText: string,
@@ -368,6 +429,11 @@ interface NativeCommands {
368
429
  start: CodegenTypes.Int32
369
430
  ) => void;
370
431
  copyToClipboard: (viewRef: React.ElementRef<ComponentType>) => void;
432
+ resolvePaste: (
433
+ viewRef: React.ElementRef<ComponentType>,
434
+ text: string,
435
+ markdown: string
436
+ ) => void;
371
437
  requestMarkdown: (
372
438
  viewRef: React.ElementRef<ComponentType>,
373
439
  requestId: CodegenTypes.Int32
@@ -389,8 +455,14 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
389
455
  'toggleUnderline',
390
456
  'toggleStrikethrough',
391
457
  'toggleSpoiler',
458
+ 'toggleHeading',
459
+ 'toggleUnorderedList',
460
+ 'toggleOrderedList',
461
+ 'indentList',
462
+ 'outdentList',
392
463
  'setLink',
393
464
  'insertLink',
465
+ 'insertText',
394
466
  'insertMention',
395
467
  'startMention',
396
468
  'removeLink',
@@ -398,6 +470,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
398
470
  'updateMath',
399
471
  'removeMath',
400
472
  'copyToClipboard',
473
+ 'resolvePaste',
401
474
  'requestMarkdown',
402
475
  'requestCaretRect',
403
476
  ],
@@ -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,10 @@ interface CodeStyleInternal {
94
115
 
95
116
  interface ImageStyleInternal {
96
117
  height: CodegenTypes.Float;
118
+ maxHeight: CodegenTypes.Float;
119
+ aspectRatio: CodegenTypes.Float;
120
+ // Nested struct fields cannot use WithDefault; default is applied in JS normalization.
121
+ resizeMode: string;
97
122
  borderRadius: CodegenTypes.Float;
98
123
  marginTop: CodegenTypes.Float;
99
124
  marginBottom: CodegenTypes.Float;
@@ -121,6 +146,8 @@ interface TableStyleInternal extends BaseBlockStyleInternal {
121
146
  borderRadius: CodegenTypes.Float;
122
147
  cellPaddingHorizontal: CodegenTypes.Float;
123
148
  cellPaddingVertical: CodegenTypes.Float;
149
+ horizontalOverflow: CodegenTypes.Float;
150
+ align: string;
124
151
  }
125
152
 
126
153
  interface TaskListStyleInternal {
@@ -225,11 +252,21 @@ export interface TaskListItemPressEvent {
225
252
  text: string;
226
253
  }
227
254
 
255
+ export interface CopyPressEvent {
256
+ code: string;
257
+ language: string;
258
+ }
259
+
228
260
  export interface ContextMenuItemConfig {
229
261
  text: string;
230
262
  icon?: string;
231
263
  }
232
264
 
265
+ export interface ImageRequestHeaderInternal {
266
+ name: string;
267
+ value: string;
268
+ }
269
+
233
270
  export interface SelectionMenuConfig {
234
271
  copyAsMarkdown: boolean;
235
272
  copyImageUrl: boolean;
@@ -240,6 +277,14 @@ export interface SelectionMenuConfig {
240
277
  // Precomputed plural templates indexed by image count (0..100). Empty when no
241
278
  // pluralLabels are set; native then uses copyImageUrlLabel/copyImageUrlsLabel.
242
279
  copyImageUrlPluralTemplates: ReadonlyArray<string>;
280
+ // false removes the Copy item from the text and block menus.
281
+ copyEnabled: boolean;
282
+ // true: Copy writes Markdown (plain text) instead of rich text / raw block content.
283
+ copyFormatMarkdown: boolean;
284
+ // true: the text selection menu drops every system-provided item.
285
+ systemItemsNone: boolean;
286
+ // false hides the copy button in the code block header.
287
+ codeBlockCopyButton: boolean;
243
288
  }
244
289
 
245
290
  export interface OnContextMenuItemPressEvent {
@@ -311,10 +356,16 @@ export interface Md4cFlagsInternal {
311
356
  * @default false
312
357
  */
313
358
  highlight: boolean;
359
+ /**
360
+ * Treat soft breaks (single newlines) as hard breaks (visible line breaks).
361
+ * @default false
362
+ */
363
+ hardSoftBreaks: boolean;
314
364
  }
315
365
 
316
366
  interface StreamingConfigInternal {
317
367
  tableMode: string;
368
+ codeBlockMode: string;
318
369
  }
319
370
 
320
371
  export interface NativeProps extends ViewProps {
@@ -345,6 +396,21 @@ export interface NativeProps extends ViewProps {
345
396
  * Receives the 0-based task index, current checked state, and the item's plain text.
346
397
  */
347
398
  onTaskListItemPress?: CodegenTypes.BubblingEventHandler<TaskListItemPressEvent>;
399
+ /**
400
+ * Controls whether tapping a task list checkbox toggles its checked state.
401
+ *
402
+ * When `false`, the tap is fully inert: no visual toggle and no
403
+ * `onTaskListItemPress` emission. Text selection and links are unaffected.
404
+ *
405
+ * @default true
406
+ */
407
+ enableTaskListItemToggle?: CodegenTypes.WithDefault<boolean, true>;
408
+ /**
409
+ * Callback fired when code is copied from a fenced code block's header copy
410
+ * button, its long-press context-menu "Copy" action, or the VoiceOver copy
411
+ * action. Receives the copied code and its language.
412
+ */
413
+ onCopyPress?: CodegenTypes.BubblingEventHandler<CopyPressEvent>;
348
414
  /**
349
415
  * Controls whether the system link preview is shown on long press (iOS only).
350
416
  *
@@ -424,10 +490,18 @@ export interface NativeProps extends ViewProps {
424
490
  * @default 'particles'
425
491
  */
426
492
  spoilerOverlay?: CodegenTypes.WithDefault<string, 'particles'>;
493
+ /**
494
+ * Hides the text selection context menu while keeping text selectable.
495
+ */
496
+ contextMenuHidden?: CodegenTypes.WithDefault<boolean, false>;
427
497
  /**
428
498
  * Custom items to show in the text selection context menu.
429
499
  */
430
500
  contextMenuItems?: ReadonlyArray<Readonly<ContextMenuItemConfig>>;
501
+ /**
502
+ * HTTP headers attached to remote image requests, as name/value pairs.
503
+ */
504
+ imageRequestHeaders?: ReadonlyArray<Readonly<ImageRequestHeaderInternal>>;
431
505
  /**
432
506
  * Built-in items to show in the text selection context menu.
433
507
  */
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ // Single source of truth for default heading appearance, shared by the
4
+ // read-only renderer and the editable input so headings match across views.
5
+
6
+ /** Default font weight applied to every heading level. */
7
+ export const DEFAULT_HEADING_FONT_WEIGHT = 'bold';
8
+ export const HEADING_DEFAULTS = {
9
+ h1: {
10
+ fontSize: 30,
11
+ color: '#111827'
12
+ },
13
+ h2: {
14
+ fontSize: 24,
15
+ color: '#111827'
16
+ },
17
+ h3: {
18
+ fontSize: 20,
19
+ color: '#111827'
20
+ },
21
+ h4: {
22
+ fontSize: 18,
23
+ color: '#111827'
24
+ },
25
+ h5: {
26
+ fontSize: 16,
27
+ color: '#374151'
28
+ },
29
+ h6: {
30
+ fontSize: 14,
31
+ color: '#4B5563'
32
+ }
33
+ };
34
+ //# sourceMappingURL=headingDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_HEADING_FONT_WEIGHT","HEADING_DEFAULTS","h1","fontSize","color","h2","h3","h4","h5","h6"],"sourceRoot":"../../src","sources":["headingDefaults.ts"],"mappings":";;AAAA;AACA;;AASA;AACA,OAAO,MAAMA,2BAA2B,GAAG,MAAM;AAEjD,OAAO,MAAMC,gBAAyD,GAAG;EACvEC,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU,CAAC;EACtCC,EAAE,EAAE;IAAEF,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU,CAAC;EACtCE,EAAE,EAAE;IAAEH,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU,CAAC;EACtCG,EAAE,EAAE;IAAEJ,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU,CAAC;EACtCI,EAAE,EAAE;IAAEL,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU,CAAC;EACtCK,EAAE,EAAE;IAAEN,QAAQ,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAU;AACvC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["default","EnrichedMarkdownText","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","EnrichedMarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,kCAA+B;AAmB/E,SACEC,4BAA4B,EAC5BC,0BAA0B,QACrB,iCAA8B;AAErC,SAASC,yBAAyB,QAAQ,gCAA6B","ignoreList":[]}
1
+ {"version":3,"names":["default","EnrichedMarkdownText","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","EnrichedMarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,kCAA+B;AAqB/E,SACEC,4BAA4B,EAC5BC,0BAA0B,QACrB,iCAA8B;AAErC,SAASC,yBAAyB,QAAQ,gCAA6B","ignoreList":[]}