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.
- package/README.md +54 -8
- package/ReactNativeEnrichedMarkdown.podspec +82 -73
- package/android/build.gradle +191 -1
- package/android/consumer-rules.pro +1 -1
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +9 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +3 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerDelegate.java +27 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +9 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +9 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +3 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +75 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +63 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +40 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +839 -23
- package/android/src/main/baseline-prof.txt +1 -1
- package/android/src/main/cpp/jni-adapter.cpp +74 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdown.kt +175 -11
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +50 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +48 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextLayoutManager.kt +10 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +42 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +82 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/events/CopyPressEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputManager.kt +62 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +911 -460
- package/android/src/main/java/com/swmansion/enriched/markdown/input/MarkdownClipboard.kt +42 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/BlockEditCoordinator.kt +196 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/ClipboardCoordinator.kt +73 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditContext.kt +19 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditPipeline.kt +248 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/EditSession.kt +52 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/InputConnectionWrapper.kt +101 -7
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/LinkCoordinator.kt +69 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MarkdownTextWatcher.kt +3 -3
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MentionCoordinator.kt +118 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeStateEvent.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnContextMenuItemPressEvent.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnInputKeyPressEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnPasteEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/BlockStore.kt +254 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/BlockSyntaxSentinel.kt +69 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/FormattingStore.kt +80 -87
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputFormatter.kt +109 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputParser.kt +180 -27
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/MarkdownSerializer.kt +167 -38
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/RangeEditAdjustment.kt +149 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt +66 -5
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputMeasurementStore.kt +7 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockRange.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/BlockType.kt +48 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/FormattingRange.kt +9 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/InputFormatterStyle.kt +39 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathAtom.kt +20 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +1 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MutableRangeBounds.kt +11 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputBulletSpan.kt +82 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputHeadingSpan.kt +58 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputListItemSpacingSpan.kt +37 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/spans/InputOrderedListMarkerSpan.kt +63 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/BlockHandler.kt +54 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/HeadingBlockHandler.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/OrderedListBlockHandler.kt +38 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/UnorderedListBlockHandler.kt +37 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/toolbar/InputContextMenu.kt +8 -26
- package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +1 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/parser/Parser.kt +1 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockStyleContext.kt +9 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockquoteRenderer.kt +100 -12
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeBlockRenderer.kt +16 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HeadingRenderer.kt +4 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListContextManager.kt +2 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListItemRenderer.kt +74 -18
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListRenderer.kt +43 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/NodeRenderer.kt +9 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SoftBreakRenderer.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +30 -27
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaseListSpan.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/BlockquoteSpan.kt +174 -24
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +27 -3
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBlockSpan.kt +13 -16
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeSpan.kt +1 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/EmphasisSpan.kt +1 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/ImageSpan.kt +182 -46
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListItemSpacingSpan.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/ListMarkerAnchorSpan.kt +38 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/OrderedListSpan.kt +2 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrongSpan.kt +1 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/TaskListSpan.kt +3 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/UnorderedListSpan.kt +3 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/BlockquoteStyle.kt +6 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeBlockStyle.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ImageStyle.kt +7 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +4 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleConfig.kt +13 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/TableStyle.kt +6 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockHighlighter.kt +90 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/CodeBlockNode.kt +57 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/FeatureFlags.kt +1 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownSegment.kt +9 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +33 -7
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/ReadableMapExtensions.kt +3 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/RenderedSegment.kt +10 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/SegmentSignature.kt +1 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/StreamingMarkdownFilter.kt +83 -5
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/serialization/MarkdownASTSerializer.kt +4 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +74 -44
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/PasteTextUtils.kt +20 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageCache.kt +26 -3
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageDownloader.kt +22 -9
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/LocalImageLoader.kt +161 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/TextPaintExtensions.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/CheckboxTouchHelper.kt +7 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/TaskListTapUtils.kt +41 -21
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/span/BlockSpacing.kt +15 -8
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLongPressMovementMethod.kt +58 -27
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +19 -2
- package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +388 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/ContextMenuPopup.kt +9 -6
- package/android/src/main/java/com/swmansion/enriched/markdown/views/CopyGlyph.kt +101 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +32 -5
- package/android/src/main/jni/CMakeLists.txt +53 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.cpp +10 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.h +11 -2
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.cpp +10 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.h +12 -2
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextState.cpp +9 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextState.h +24 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/conversions.h +16 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/input/math/MathChipControllerImpl.kt +21 -4
- package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +7 -2
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +1 -1
- package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +2 -0
- package/cpp/highlight/CodeBlockHighlighter.cpp +284 -0
- package/cpp/highlight/CodeBlockHighlighter.hpp +66 -0
- package/cpp/highlight/CodeBlockLanguages.cpp +138 -0
- package/cpp/highlight/CodeBlockLanguages.hpp +25 -0
- package/cpp/highlight/HighlightGrammars.hpp +28 -0
- package/cpp/highlight/code_highlight_podspec.rb +211 -0
- package/cpp/highlight/gen-registry.mjs +155 -0
- package/cpp/highlight/grammar-versions.json +159 -0
- package/cpp/highlight/vendor/generated/generated_queries.h +1665 -0
- package/cpp/highlight/vendor/generated/generated_registry.cpp +59 -0
- package/cpp/parser/MD4CParser.cpp +173 -61
- package/cpp/parser/MD4CParser.hpp +1 -0
- package/cpp/parser/MarkdownASTNode.hpp +2 -1
- package/cpp/wasm/ASTSerializer.cpp +2 -0
- package/cpp/wasm/build.sh +1 -0
- package/cpp/wasm/md4c_wasm.cpp +3 -1
- package/docs/ACCESSIBILITY.md +14 -2
- package/docs/API_REFERENCE.md +231 -8
- package/docs/BREAKING_CHANGES.md +129 -0
- package/docs/CODE_HIGHLIGHT.md +133 -0
- package/docs/COPY_OPTIONS.md +21 -3
- package/docs/ELEMENTS_STRUCTURE.md +52 -4
- package/docs/IMAGE_CACHING.md +30 -0
- package/docs/INPUT.md +146 -5
- package/docs/LATEX_MATH.md +87 -45
- package/docs/MACOS.md +1 -1
- package/docs/MARKDOWN_STREAMING.md +27 -1
- package/docs/NATIVE_ASSETS.md +127 -0
- package/docs/RTL.md +1 -1
- package/docs/STYLES.md +46 -6
- package/docs/TESTING.md +112 -0
- package/docs/TEXT.md +16 -6
- package/docs/WEB.md +3 -1
- package/ios/EnrichedMarkdown.h +7 -0
- package/ios/EnrichedMarkdown.mm +262 -67
- package/ios/EnrichedMarkdownText.h +7 -0
- package/ios/EnrichedMarkdownText.mm +97 -68
- package/ios/attachments/ENRMImageAttachment.h +9 -0
- package/ios/attachments/ENRMImageAttachment.m +143 -40
- package/ios/attachments/ENRMMathInlineAttachment.h +2 -0
- package/ios/attachments/ENRMMathInlineAttachment.m +48 -81
- package/ios/attachments/ENRMMathInlineAttachmentShared.h +2 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +75 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +63 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +40 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +839 -23
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +131 -0
- package/ios/input/ENRMAutoLinkDetector.h +2 -1
- package/ios/input/ENRMAutoLinkDetector.mm +79 -41
- package/ios/input/ENRMBlockEditCoordinator.h +71 -0
- package/ios/input/ENRMBlockEditCoordinator.mm +195 -0
- package/ios/input/ENRMBlockRange.h +28 -0
- package/ios/input/ENRMBlockRange.mm +30 -0
- package/ios/input/ENRMBlockStore.h +56 -0
- package/ios/input/ENRMBlockStore.mm +275 -0
- package/ios/input/ENRMBlockSyntaxSentinel.h +25 -0
- package/ios/input/ENRMBlockSyntaxSentinel.mm +80 -0
- package/ios/input/ENRMClipboardCoordinator.h +45 -0
- package/ios/input/ENRMClipboardCoordinator.mm +120 -0
- package/ios/input/ENRMDetectorPipeline.h +2 -1
- package/ios/input/ENRMEditPipeline.h +76 -0
- package/ios/input/ENRMEditPipeline.mm +228 -0
- package/ios/input/ENRMEditSession.h +36 -0
- package/ios/input/ENRMEditSession.mm +63 -0
- package/ios/input/ENRMFormattingStore.h +17 -0
- package/ios/input/ENRMFormattingStore.mm +95 -105
- package/ios/input/ENRMInputBlockType.h +91 -0
- package/ios/input/ENRMInputBlockType.mm +5 -0
- package/ios/input/ENRMInputDecorationDrawer.h +18 -0
- package/ios/input/ENRMInputEventEmitter.h +56 -0
- package/ios/input/ENRMInputEventEmitter.mm +308 -0
- package/ios/input/ENRMInputFormatter.h +29 -69
- package/ios/input/ENRMInputFormatter.mm +216 -124
- package/ios/input/ENRMInputFormatterStyle.h +99 -0
- package/ios/input/ENRMInputFormatterStyle.mm +188 -0
- package/ios/input/ENRMInputLayoutManager.h +9 -0
- package/ios/input/ENRMInputLayoutManager.mm +30 -0
- package/ios/input/ENRMInputListMarkerDrawer.h +32 -0
- package/ios/input/ENRMInputListMarkerDrawer.mm +426 -0
- package/ios/input/ENRMInputParser.h +10 -6
- package/ios/input/ENRMInputParser.mm +527 -171
- package/ios/input/ENRMInputRemend.mm +2 -2
- package/ios/input/ENRMInputStyleStateBuilder.h +40 -0
- package/ios/input/ENRMInputStyleStateBuilder.mm +60 -0
- package/ios/input/ENRMInputTextView.mm +103 -8
- package/ios/input/ENRMInputTypingAttributesController.h +42 -0
- package/ios/input/ENRMInputTypingAttributesController.mm +203 -0
- package/ios/input/ENRMLinkCoordinator.h +41 -0
- package/ios/input/ENRMLinkCoordinator.mm +89 -0
- package/ios/input/ENRMMarkdownSerializer.h +29 -5
- package/ios/input/ENRMMarkdownSerializer.mm +170 -48
- package/ios/input/ENRMMathAtom.h +26 -0
- package/ios/input/ENRMMathAtom.mm +12 -0
- package/ios/input/ENRMMentionCoordinator.h +45 -0
- package/ios/input/ENRMMentionCoordinator.mm +167 -0
- package/ios/input/ENRMRangeEditAdjustment.h +38 -0
- package/ios/input/ENRMRangeEditAdjustment.mm +91 -0
- package/ios/input/ENRMRangeStoreUtils.h +39 -0
- package/ios/input/EnrichedMarkdownTextInput+ContextMenu.mm +6 -6
- package/ios/input/EnrichedMarkdownTextInput+Internal.h +11 -3
- package/ios/input/EnrichedMarkdownTextInput.h +7 -1
- package/ios/input/EnrichedMarkdownTextInput.mm +1104 -1024
- package/ios/input/InputStylePropsUtils.h +109 -68
- package/ios/input/internals/EnrichedMarkdownTextInputShadowNode.mm +2 -1
- package/ios/input/styles/ENRMBlockHandler.h +46 -0
- package/ios/input/styles/ENRMHeadingBlockHandler.h +15 -0
- package/ios/input/styles/ENRMHeadingBlockHandler.mm +38 -0
- package/ios/input/styles/ENRMOrderedListBlockHandler.h +14 -0
- package/ios/input/styles/ENRMOrderedListBlockHandler.mm +48 -0
- package/ios/input/styles/ENRMUnorderedListBlockHandler.h +15 -0
- package/ios/input/styles/ENRMUnorderedListBlockHandler.mm +51 -0
- package/ios/internals/ENRMViewFreeMeasurement.h +331 -0
- package/ios/internals/EnrichedMarkdownShadowNode.h +1 -3
- package/ios/internals/EnrichedMarkdownShadowNode.mm +16 -20
- package/ios/internals/EnrichedMarkdownTextShadowNode.h +1 -3
- package/ios/internals/EnrichedMarkdownTextShadowNode.mm +15 -20
- package/ios/internals/MeasurementCache.h +33 -7
- package/ios/internals/ShadowMeasurementUtils.h +63 -58
- package/ios/math/ENRMMathChipController.h +74 -0
- package/ios/math/ENRMMathChipController.mm +476 -0
- package/ios/math/ENRMRaTeXBridge.swift +4 -1
- package/ios/parser/ENRMMarkdownParser.h +1 -8
- package/ios/parser/ENRMMarkdownParser.mm +2 -11
- package/ios/parser/MarkdownASTNode.h +2 -1
- package/ios/parser/MarkdownParserBridge.mm +4 -0
- package/ios/renderer/AttributedRenderer.m +20 -2
- package/ios/renderer/BaseRenderer.h +17 -2
- package/ios/renderer/BaseRenderer.m +30 -0
- package/ios/renderer/BlockquoteRenderer.h +1 -1
- package/ios/renderer/BlockquoteRenderer.m +144 -35
- package/ios/renderer/CodeBlockRenderer.h +1 -1
- package/ios/renderer/CodeBlockRenderer.m +27 -23
- package/ios/renderer/CodeRenderer.h +1 -1
- package/ios/renderer/CodeRenderer.m +3 -1
- package/ios/renderer/ENRMImageRenderer.h +1 -1
- package/ios/renderer/ENRMImageRenderer.m +5 -1
- package/ios/renderer/ENRMMathInlineRenderer.h +1 -1
- package/ios/renderer/ENRMMathInlineRenderer.m +5 -1
- package/ios/renderer/ENRMSpoilerRenderer.h +1 -1
- package/ios/renderer/ENRMSpoilerRenderer.m +3 -1
- package/ios/renderer/EmphasisRenderer.h +1 -1
- package/ios/renderer/EmphasisRenderer.m +3 -1
- package/ios/renderer/HeadingRenderer.h +1 -1
- package/ios/renderer/HeadingRenderer.m +13 -6
- package/ios/renderer/HighlightRenderer.h +1 -1
- package/ios/renderer/HighlightRenderer.m +3 -1
- package/ios/renderer/LinkRenderer.h +1 -1
- package/ios/renderer/LinkRenderer.m +3 -1
- package/ios/renderer/ListItemRenderer.h +13 -1
- package/ios/renderer/ListItemRenderer.m +102 -44
- package/ios/renderer/ListRenderer.h +2 -2
- package/ios/renderer/ListRenderer.m +63 -25
- package/ios/renderer/ParagraphRenderer.h +1 -1
- package/ios/renderer/ParagraphRenderer.m +16 -8
- package/ios/renderer/RenderContext.h +10 -0
- package/ios/renderer/RenderContext.m +44 -0
- package/ios/renderer/RendererFactory.m +14 -0
- package/ios/renderer/StrikethroughRenderer.h +1 -1
- package/ios/renderer/StrikethroughRenderer.m +3 -1
- package/ios/renderer/StrongRenderer.h +1 -1
- package/ios/renderer/StrongRenderer.m +3 -1
- package/ios/renderer/SubscriptRenderer.h +1 -1
- package/ios/renderer/SubscriptRenderer.m +3 -1
- package/ios/renderer/SuperscriptRenderer.h +1 -1
- package/ios/renderer/SuperscriptRenderer.m +3 -1
- package/ios/renderer/TextRenderer.h +2 -2
- package/ios/renderer/TextRenderer.m +3 -1
- package/ios/renderer/ThematicBreakRenderer.h +1 -1
- package/ios/renderer/ThematicBreakRenderer.m +3 -1
- package/ios/renderer/UnderlineRenderer.h +1 -1
- package/ios/renderer/UnderlineRenderer.m +3 -1
- package/ios/styles/StyleConfig.h +22 -0
- package/ios/styles/StyleConfig.mm +132 -0
- package/ios/utils/BlockquoteBorder.h +6 -0
- package/ios/utils/BlockquoteBorder.m +249 -52
- package/ios/utils/CodeBlockBackground.m +16 -2
- package/ios/utils/ENRMAtomicSize.h +65 -0
- package/ios/utils/ENRMCodeBlockContent.h +37 -0
- package/ios/utils/ENRMCodeBlockContent.mm +79 -0
- package/ios/utils/ENRMCodeBlockHighlighter.h +37 -0
- package/ios/utils/ENRMCodeBlockHighlighter.mm +51 -0
- package/ios/utils/ENRMFeatureFlags.h +7 -0
- package/ios/utils/ENRMImageDownloader.h +11 -1
- package/ios/utils/ENRMImageDownloader.m +60 -16
- package/ios/utils/ENRMLocalImageLoader.h +31 -0
- package/ios/utils/ENRMLocalImageLoader.m +68 -0
- package/ios/utils/ENRMMathFallback.h +26 -0
- package/ios/utils/ENRMMathFallback.m +18 -0
- package/ios/utils/ENRMTextViewSetup.h +35 -17
- package/ios/utils/EditMenuUtils.m +22 -1
- package/ios/utils/ImageRequestHeaderUtils.h +35 -0
- package/ios/utils/LastElementUtils.h +1 -0
- package/ios/utils/ListMarkerDrawer.m +29 -42
- package/ios/utils/MarkdownASTSerializer.m +4 -0
- package/ios/utils/ParagraphStyleUtils.h +5 -0
- package/ios/utils/ParagraphStyleUtils.m +77 -17
- package/ios/utils/RenderedMarkdownSegment.h +13 -1
- package/ios/utils/RenderedMarkdownSegment.m +20 -0
- package/ios/utils/SegmentRenderer.m +17 -4
- package/ios/utils/StreamingMarkdownFilter.h +11 -1
- package/ios/utils/StreamingMarkdownFilter.m +98 -2
- package/ios/utils/StylePropsUtils.h +63 -0
- package/ios/utils/TaskListTapUtils.m +24 -0
- package/ios/views/ENRMCodeBlockContainerView.h +46 -0
- package/ios/views/ENRMCodeBlockContainerView.m +566 -0
- package/ios/views/ENRMMathContainerView.h +12 -0
- package/ios/views/ENRMMathContainerView.m +71 -1
- package/ios/views/TableContainerView.h +18 -0
- package/ios/views/TableContainerView.m +259 -159
- package/jest.d.ts +1 -0
- package/jest.js +5 -0
- package/lib/module/EnrichedMarkdownNativeComponent.ts +65 -0
- package/lib/module/EnrichedMarkdownTextInput.js +86 -5
- package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
- package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +89 -5
- package/lib/module/EnrichedMarkdownTextNativeComponent.ts +66 -0
- package/lib/module/headingDefaults.js +34 -0
- package/lib/module/headingDefaults.js.map +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jest/index.js +191 -0
- package/lib/module/jest/index.js.map +1 -0
- package/lib/module/native/EnrichedMarkdownText.js +30 -4
- package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
- package/lib/module/normalizeMarkdownStyle.js +81 -19
- package/lib/module/normalizeMarkdownStyle.js.map +1 -1
- package/lib/module/normalizeMarkdownStyle.web.js +56 -18
- package/lib/module/normalizeMarkdownStyle.web.js.map +1 -1
- package/lib/module/normalizeMarkdownTextInputStyle.js +62 -15
- package/lib/module/normalizeMarkdownTextInputStyle.js.map +1 -1
- package/lib/module/normalizeMenuItem.js +1 -1
- package/lib/module/utils/textInputState.js +26 -0
- package/lib/module/utils/textInputState.js.map +1 -0
- package/lib/module/web/EnrichedMarkdownText.js +9 -5
- package/lib/module/web/EnrichedMarkdownText.js.map +1 -1
- package/lib/module/web/parseMarkdown.js +4 -3
- package/lib/module/web/parseMarkdown.js.map +1 -1
- package/lib/module/web/renderers/InlineRenderers.js +6 -0
- package/lib/module/web/renderers/InlineRenderers.js.map +1 -1
- package/lib/module/web/renderers/ListRenderers.js +7 -2
- package/lib/module/web/renderers/ListRenderers.js.map +1 -1
- package/lib/module/web/renderers/index.js +7 -4
- package/lib/module/web/renderers/index.js.map +1 -1
- package/lib/module/web/styles.js +83 -6
- package/lib/module/web/styles.js.map +1 -1
- package/lib/module/web/utils.js +1 -0
- package/lib/module/web/utils.js.map +1 -1
- package/lib/module/web/wasm/md4c.js +0 -0
- package/lib/module/web/wasm/md4c.js.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +62 -0
- package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +95 -9
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +80 -5
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +62 -0
- package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/headingDefaults.d.ts +9 -0
- package/lib/typescript/src/headingDefaults.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.web.d.ts +1 -1
- package/lib/typescript/src/index.web.d.ts.map +1 -1
- package/lib/typescript/src/jest/index.d.ts +6 -0
- package/lib/typescript/src/jest/index.d.ts.map +1 -0
- package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +3 -3
- package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -1
- package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -1
- package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -1
- package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts +19 -5
- package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownStyle.d.ts +72 -0
- package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +27 -0
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownTextProps.d.ts +65 -1
- package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts +19 -0
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts.map +1 -1
- package/lib/typescript/src/types/events.d.ts +19 -0
- package/lib/typescript/src/types/events.d.ts.map +1 -1
- package/lib/typescript/src/utils/textInputState.d.ts +24 -0
- package/lib/typescript/src/utils/textInputState.d.ts.map +1 -0
- package/lib/typescript/src/web/EnrichedMarkdownText.d.ts +1 -1
- package/lib/typescript/src/web/EnrichedMarkdownText.d.ts.map +1 -1
- package/lib/typescript/src/web/parseMarkdown.d.ts +1 -1
- package/lib/typescript/src/web/parseMarkdown.d.ts.map +1 -1
- package/lib/typescript/src/web/renderers/InlineRenderers.d.ts.map +1 -1
- package/lib/typescript/src/web/renderers/ListRenderers.d.ts.map +1 -1
- package/lib/typescript/src/web/renderers/index.d.ts +2 -1
- package/lib/typescript/src/web/renderers/index.d.ts.map +1 -1
- package/lib/typescript/src/web/styles.d.ts +2 -1
- package/lib/typescript/src/web/styles.d.ts.map +1 -1
- package/lib/typescript/src/web/types.d.ts +6 -2
- package/lib/typescript/src/web/types.d.ts.map +1 -1
- package/lib/typescript/src/web/utils.d.ts.map +1 -1
- package/package.json +36 -9
- package/postinstall.mjs +131 -0
- package/ratex-version.json +21 -0
- package/src/EnrichedMarkdownNativeComponent.ts +65 -0
- package/src/EnrichedMarkdownTextInput.tsx +162 -8
- package/src/EnrichedMarkdownTextInputNativeComponent.ts +89 -5
- package/src/EnrichedMarkdownTextNativeComponent.ts +66 -0
- package/src/headingDefaults.ts +21 -0
- package/src/index.tsx +9 -0
- package/src/index.web.tsx +1 -0
- package/src/jest/index.tsx +215 -0
- package/src/native/EnrichedMarkdownText.tsx +40 -2
- package/src/normalizeMarkdownStyle.ts +102 -16
- package/src/normalizeMarkdownStyle.web.ts +63 -15
- package/src/normalizeMarkdownTextInputStyle.ts +110 -35
- package/src/normalizeMenuItem.ts +1 -1
- package/src/types/MarkdownStyle.ts +74 -0
- package/src/types/MarkdownStyleInternal.ts +39 -0
- package/src/types/MarkdownTextProps.ts +65 -0
- package/src/types/MarkdownTextProps.web.ts +19 -0
- package/src/types/events.ts +21 -0
- package/src/utils/textInputState.ts +35 -0
- package/src/web/EnrichedMarkdownText.tsx +16 -2
- package/src/web/parseMarkdown.ts +6 -2
- package/src/web/renderers/InlineRenderers.tsx +5 -0
- package/src/web/renderers/ListRenderers.tsx +14 -2
- package/src/web/renderers/index.tsx +6 -2
- package/src/web/styles.ts +89 -5
- package/src/web/types.ts +6 -1
- package/src/web/utils.ts +1 -0
- package/src/web/wasm/md4c.js +0 -0
- package/vendor-grammars.mjs +511 -0
- package/vendor-ratex.mjs +173 -0
- package/app.plugin.js +0 -2
- package/plugin/build/withAndroidMath.js +0 -19
- package/plugin/build/withIosMath.js +0 -28
- package/plugin/build/withReactNativeEnrichedMarkdown.js +0 -11
- package/plugin/src/withAndroidMath.ts +0 -24
- package/plugin/src/withIosMath.ts +0 -35
- package/plugin/src/withReactNativeEnrichedMarkdown.ts +0 -17
- package/plugin/tsconfig.build.json +0 -16
|
@@ -32,6 +32,9 @@ public class EnrichedMarkdownTextManagerDelegate<T extends View, U extends BaseV
|
|
|
32
32
|
case "markdownStyle":
|
|
33
33
|
mViewManager.setMarkdownStyle(view, (ReadableMap) value);
|
|
34
34
|
break;
|
|
35
|
+
case "enableTaskListItemToggle":
|
|
36
|
+
mViewManager.setEnableTaskListItemToggle(view, value == null ? true : (boolean) value);
|
|
37
|
+
break;
|
|
35
38
|
case "enableLinkPreview":
|
|
36
39
|
mViewManager.setEnableLinkPreview(view, value == null ? true : (boolean) value);
|
|
37
40
|
break;
|
|
@@ -65,9 +68,15 @@ public class EnrichedMarkdownTextManagerDelegate<T extends View, U extends BaseV
|
|
|
65
68
|
case "spoilerOverlay":
|
|
66
69
|
mViewManager.setSpoilerOverlay(view, value == null ? "particles" : (String) value);
|
|
67
70
|
break;
|
|
71
|
+
case "contextMenuHidden":
|
|
72
|
+
mViewManager.setContextMenuHidden(view, value == null ? false : (boolean) value);
|
|
73
|
+
break;
|
|
68
74
|
case "contextMenuItems":
|
|
69
75
|
mViewManager.setContextMenuItems(view, (ReadableArray) value);
|
|
70
76
|
break;
|
|
77
|
+
case "imageRequestHeaders":
|
|
78
|
+
mViewManager.setImageRequestHeaders(view, (ReadableArray) value);
|
|
79
|
+
break;
|
|
71
80
|
case "selectionMenuConfig":
|
|
72
81
|
mViewManager.setSelectionMenuConfig(view, (ReadableMap) value);
|
|
73
82
|
break;
|
|
@@ -18,6 +18,7 @@ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
|
|
|
18
18
|
public interface EnrichedMarkdownTextManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
|
|
19
19
|
void setMarkdown(T view, @Nullable String value);
|
|
20
20
|
void setMarkdownStyle(T view, @Nullable ReadableMap value);
|
|
21
|
+
void setEnableTaskListItemToggle(T view, boolean value);
|
|
21
22
|
void setEnableLinkPreview(T view, boolean value);
|
|
22
23
|
void setSelectable(T view, boolean value);
|
|
23
24
|
void setSelectionColor(T view, @Nullable Integer value);
|
|
@@ -29,7 +30,9 @@ public interface EnrichedMarkdownTextManagerInterface<T extends View> extends Vi
|
|
|
29
30
|
void setStreamingAnimation(T view, boolean value);
|
|
30
31
|
void setStreamingConfig(T view, @Nullable ReadableMap value);
|
|
31
32
|
void setSpoilerOverlay(T view, @Nullable String value);
|
|
33
|
+
void setContextMenuHidden(T view, boolean value);
|
|
32
34
|
void setContextMenuItems(T view, @Nullable ReadableArray value);
|
|
35
|
+
void setImageRequestHeaders(T view, @Nullable ReadableArray value);
|
|
33
36
|
void setSelectionMenuConfig(T view, @Nullable ReadableMap value);
|
|
34
37
|
void setAccessibilityLabels(T view, @Nullable ReadableMap value);
|
|
35
38
|
void setTextBreakStrategy(T view, @Nullable String value);
|
package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp
CHANGED
|
@@ -42,6 +42,16 @@ payload.setProperty(runtime, "text", event.text);
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
|
|
45
|
+
void EnrichedMarkdownEventEmitter::onCopyPress(OnCopyPress event) const {
|
|
46
|
+
dispatchEvent("copyPress", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
47
|
+
auto payload = jsi::Object(runtime);
|
|
48
|
+
payload.setProperty(runtime, "code", event.code);
|
|
49
|
+
payload.setProperty(runtime, "language", event.language);
|
|
50
|
+
return payload;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
45
55
|
void EnrichedMarkdownEventEmitter::onContextMenuItemPress(OnContextMenuItemPress event) const {
|
|
46
56
|
dispatchEvent("contextMenuItemPress", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
47
57
|
auto payload = jsi::Object(runtime);
|
|
@@ -82,6 +92,15 @@ payload.setProperty(runtime, "end", event.end);
|
|
|
82
92
|
}
|
|
83
93
|
|
|
84
94
|
|
|
95
|
+
void EnrichedMarkdownTextInputEventEmitter::onInputKeyPress(OnInputKeyPress event) const {
|
|
96
|
+
dispatchEvent("inputKeyPress", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
97
|
+
auto payload = jsi::Object(runtime);
|
|
98
|
+
payload.setProperty(runtime, "key", event.key);
|
|
99
|
+
return payload;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
85
104
|
void EnrichedMarkdownTextInputEventEmitter::onChangeState(OnChangeState event) const {
|
|
86
105
|
dispatchEvent("changeState", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
87
106
|
auto payload = jsi::Object(runtime);
|
|
@@ -114,6 +133,24 @@ void EnrichedMarkdownTextInputEventEmitter::onChangeState(OnChangeState event) c
|
|
|
114
133
|
auto link = jsi::Object(runtime);
|
|
115
134
|
link.setProperty(runtime, "isActive", event.link.isActive);
|
|
116
135
|
payload.setProperty(runtime, "link", link);
|
|
136
|
+
}
|
|
137
|
+
{
|
|
138
|
+
auto heading = jsi::Object(runtime);
|
|
139
|
+
heading.setProperty(runtime, "isActive", event.heading.isActive);
|
|
140
|
+
heading.setProperty(runtime, "level", event.heading.level);
|
|
141
|
+
payload.setProperty(runtime, "heading", heading);
|
|
142
|
+
}
|
|
143
|
+
{
|
|
144
|
+
auto unorderedList = jsi::Object(runtime);
|
|
145
|
+
unorderedList.setProperty(runtime, "isActive", event.unorderedList.isActive);
|
|
146
|
+
unorderedList.setProperty(runtime, "depth", event.unorderedList.depth);
|
|
147
|
+
payload.setProperty(runtime, "unorderedList", unorderedList);
|
|
148
|
+
}
|
|
149
|
+
{
|
|
150
|
+
auto orderedList = jsi::Object(runtime);
|
|
151
|
+
orderedList.setProperty(runtime, "isActive", event.orderedList.isActive);
|
|
152
|
+
orderedList.setProperty(runtime, "depth", event.orderedList.depth);
|
|
153
|
+
payload.setProperty(runtime, "orderedList", orderedList);
|
|
117
154
|
}
|
|
118
155
|
return payload;
|
|
119
156
|
});
|
|
@@ -212,6 +249,24 @@ payload.setProperty(runtime, "selectionEnd", event.selectionEnd);
|
|
|
212
249
|
link.setProperty(runtime, "isActive", event.styleState.link.isActive);
|
|
213
250
|
styleState.setProperty(runtime, "link", link);
|
|
214
251
|
}
|
|
252
|
+
{
|
|
253
|
+
auto heading = jsi::Object(runtime);
|
|
254
|
+
heading.setProperty(runtime, "isActive", event.styleState.heading.isActive);
|
|
255
|
+
heading.setProperty(runtime, "level", event.styleState.heading.level);
|
|
256
|
+
styleState.setProperty(runtime, "heading", heading);
|
|
257
|
+
}
|
|
258
|
+
{
|
|
259
|
+
auto unorderedList = jsi::Object(runtime);
|
|
260
|
+
unorderedList.setProperty(runtime, "isActive", event.styleState.unorderedList.isActive);
|
|
261
|
+
unorderedList.setProperty(runtime, "depth", event.styleState.unorderedList.depth);
|
|
262
|
+
styleState.setProperty(runtime, "unorderedList", unorderedList);
|
|
263
|
+
}
|
|
264
|
+
{
|
|
265
|
+
auto orderedList = jsi::Object(runtime);
|
|
266
|
+
orderedList.setProperty(runtime, "isActive", event.styleState.orderedList.isActive);
|
|
267
|
+
orderedList.setProperty(runtime, "depth", event.styleState.orderedList.depth);
|
|
268
|
+
styleState.setProperty(runtime, "orderedList", orderedList);
|
|
269
|
+
}
|
|
215
270
|
payload.setProperty(runtime, "styleState", styleState);
|
|
216
271
|
}
|
|
217
272
|
return payload;
|
|
@@ -247,6 +302,16 @@ payload.setProperty(runtime, "height", event.height);
|
|
|
247
302
|
}
|
|
248
303
|
|
|
249
304
|
|
|
305
|
+
void EnrichedMarkdownTextInputEventEmitter::onPaste(OnPaste event) const {
|
|
306
|
+
dispatchEvent("paste", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
307
|
+
auto payload = jsi::Object(runtime);
|
|
308
|
+
payload.setProperty(runtime, "text", event.text);
|
|
309
|
+
payload.setProperty(runtime, "markdown", event.markdown);
|
|
310
|
+
return payload;
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
|
|
250
315
|
void EnrichedMarkdownTextInputEventEmitter::onStartMention(OnStartMention event) const {
|
|
251
316
|
dispatchEvent("startMention", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
252
317
|
auto payload = jsi::Object(runtime);
|
|
@@ -304,6 +369,16 @@ payload.setProperty(runtime, "text", event.text);
|
|
|
304
369
|
}
|
|
305
370
|
|
|
306
371
|
|
|
372
|
+
void EnrichedMarkdownTextEventEmitter::onCopyPress(OnCopyPress event) const {
|
|
373
|
+
dispatchEvent("copyPress", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
374
|
+
auto payload = jsi::Object(runtime);
|
|
375
|
+
payload.setProperty(runtime, "code", event.code);
|
|
376
|
+
payload.setProperty(runtime, "language", event.language);
|
|
377
|
+
return payload;
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
|
|
307
382
|
void EnrichedMarkdownTextEventEmitter::onContextMenuItemPress(OnContextMenuItemPress event) const {
|
|
308
383
|
dispatchEvent("contextMenuItemPress", [event=std::move(event)](jsi::Runtime &runtime) {
|
|
309
384
|
auto payload = jsi::Object(runtime);
|
package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h
CHANGED
|
@@ -31,6 +31,11 @@ class EnrichedMarkdownEventEmitter : public ViewEventEmitter {
|
|
|
31
31
|
std::string text;
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
struct OnCopyPress {
|
|
35
|
+
std::string code;
|
|
36
|
+
std::string language;
|
|
37
|
+
};
|
|
38
|
+
|
|
34
39
|
struct OnContextMenuItemPress {
|
|
35
40
|
std::string itemText;
|
|
36
41
|
std::string selectedText;
|
|
@@ -43,6 +48,8 @@ class EnrichedMarkdownEventEmitter : public ViewEventEmitter {
|
|
|
43
48
|
|
|
44
49
|
void onTaskListItemPress(OnTaskListItemPress value) const;
|
|
45
50
|
|
|
51
|
+
void onCopyPress(OnCopyPress value) const;
|
|
52
|
+
|
|
46
53
|
void onContextMenuItemPress(OnContextMenuItemPress value) const;
|
|
47
54
|
};
|
|
48
55
|
class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
@@ -62,6 +69,10 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
62
69
|
int end;
|
|
63
70
|
};
|
|
64
71
|
|
|
72
|
+
struct OnInputKeyPress {
|
|
73
|
+
std::string key;
|
|
74
|
+
};
|
|
75
|
+
|
|
65
76
|
struct OnChangeStateBold {
|
|
66
77
|
bool isActive;
|
|
67
78
|
};
|
|
@@ -86,6 +97,21 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
86
97
|
bool isActive;
|
|
87
98
|
};
|
|
88
99
|
|
|
100
|
+
struct OnChangeStateHeading {
|
|
101
|
+
bool isActive;
|
|
102
|
+
int level;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
struct OnChangeStateUnorderedList {
|
|
106
|
+
bool isActive;
|
|
107
|
+
int depth;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
struct OnChangeStateOrderedList {
|
|
111
|
+
bool isActive;
|
|
112
|
+
int depth;
|
|
113
|
+
};
|
|
114
|
+
|
|
89
115
|
struct OnChangeState {
|
|
90
116
|
OnChangeStateBold bold;
|
|
91
117
|
OnChangeStateItalic italic;
|
|
@@ -93,6 +119,9 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
93
119
|
OnChangeStateStrikethrough strikethrough;
|
|
94
120
|
OnChangeStateSpoiler spoiler;
|
|
95
121
|
OnChangeStateLink link;
|
|
122
|
+
OnChangeStateHeading heading;
|
|
123
|
+
OnChangeStateUnorderedList unorderedList;
|
|
124
|
+
OnChangeStateOrderedList orderedList;
|
|
96
125
|
};
|
|
97
126
|
|
|
98
127
|
struct OnInputFocus {
|
|
@@ -147,6 +176,21 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
147
176
|
bool isActive;
|
|
148
177
|
};
|
|
149
178
|
|
|
179
|
+
struct OnContextMenuItemPressStyleStateHeading {
|
|
180
|
+
bool isActive;
|
|
181
|
+
int level;
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
struct OnContextMenuItemPressStyleStateUnorderedList {
|
|
185
|
+
bool isActive;
|
|
186
|
+
int depth;
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
struct OnContextMenuItemPressStyleStateOrderedList {
|
|
190
|
+
bool isActive;
|
|
191
|
+
int depth;
|
|
192
|
+
};
|
|
193
|
+
|
|
150
194
|
struct OnContextMenuItemPressStyleState {
|
|
151
195
|
OnContextMenuItemPressStyleStateBold bold;
|
|
152
196
|
OnContextMenuItemPressStyleStateItalic italic;
|
|
@@ -154,6 +198,9 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
154
198
|
OnContextMenuItemPressStyleStateStrikethrough strikethrough;
|
|
155
199
|
OnContextMenuItemPressStyleStateSpoiler spoiler;
|
|
156
200
|
OnContextMenuItemPressStyleStateLink link;
|
|
201
|
+
OnContextMenuItemPressStyleStateHeading heading;
|
|
202
|
+
OnContextMenuItemPressStyleStateUnorderedList unorderedList;
|
|
203
|
+
OnContextMenuItemPressStyleStateOrderedList orderedList;
|
|
157
204
|
};
|
|
158
205
|
|
|
159
206
|
struct OnContextMenuItemPress {
|
|
@@ -182,6 +229,11 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
182
229
|
double height;
|
|
183
230
|
};
|
|
184
231
|
|
|
232
|
+
struct OnPaste {
|
|
233
|
+
std::string text;
|
|
234
|
+
std::string markdown;
|
|
235
|
+
};
|
|
236
|
+
|
|
185
237
|
struct OnStartMention {
|
|
186
238
|
std::string indicator;
|
|
187
239
|
};
|
|
@@ -200,6 +252,8 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
200
252
|
|
|
201
253
|
void onChangeSelection(OnChangeSelection value) const;
|
|
202
254
|
|
|
255
|
+
void onInputKeyPress(OnInputKeyPress value) const;
|
|
256
|
+
|
|
203
257
|
void onChangeState(OnChangeState value) const;
|
|
204
258
|
|
|
205
259
|
void onInputFocus(OnInputFocus value) const;
|
|
@@ -218,6 +272,8 @@ class EnrichedMarkdownTextInputEventEmitter : public ViewEventEmitter {
|
|
|
218
272
|
|
|
219
273
|
void onMathPress(OnMathPress value) const;
|
|
220
274
|
|
|
275
|
+
void onPaste(OnPaste value) const;
|
|
276
|
+
|
|
221
277
|
void onStartMention(OnStartMention value) const;
|
|
222
278
|
|
|
223
279
|
void onChangeMention(OnChangeMention value) const;
|
|
@@ -242,6 +298,11 @@ class EnrichedMarkdownTextEventEmitter : public ViewEventEmitter {
|
|
|
242
298
|
std::string text;
|
|
243
299
|
};
|
|
244
300
|
|
|
301
|
+
struct OnCopyPress {
|
|
302
|
+
std::string code;
|
|
303
|
+
std::string language;
|
|
304
|
+
};
|
|
305
|
+
|
|
245
306
|
struct OnContextMenuItemPress {
|
|
246
307
|
std::string itemText;
|
|
247
308
|
std::string selectedText;
|
|
@@ -254,6 +315,8 @@ class EnrichedMarkdownTextEventEmitter : public ViewEventEmitter {
|
|
|
254
315
|
|
|
255
316
|
void onTaskListItemPress(OnTaskListItemPress value) const;
|
|
256
317
|
|
|
318
|
+
void onCopyPress(OnCopyPress value) const;
|
|
319
|
+
|
|
257
320
|
void onContextMenuItemPress(OnContextMenuItemPress value) const;
|
|
258
321
|
};
|
|
259
322
|
} // namespace facebook::react
|
|
@@ -21,6 +21,7 @@ EnrichedMarkdownProps::EnrichedMarkdownProps(
|
|
|
21
21
|
|
|
22
22
|
markdown(convertRawProp(context, rawProps, "markdown", sourceProps.markdown, {})),
|
|
23
23
|
markdownStyle(convertRawProp(context, rawProps, "markdownStyle", sourceProps.markdownStyle, {})),
|
|
24
|
+
enableTaskListItemToggle(convertRawProp(context, rawProps, "enableTaskListItemToggle", sourceProps.enableTaskListItemToggle, {true})),
|
|
24
25
|
enableLinkPreview(convertRawProp(context, rawProps, "enableLinkPreview", sourceProps.enableLinkPreview, {true})),
|
|
25
26
|
selectable(convertRawProp(context, rawProps, "selectable", sourceProps.selectable, {false})),
|
|
26
27
|
selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
|
|
@@ -32,7 +33,9 @@ EnrichedMarkdownProps::EnrichedMarkdownProps(
|
|
|
32
33
|
streamingAnimation(convertRawProp(context, rawProps, "streamingAnimation", sourceProps.streamingAnimation, {false})),
|
|
33
34
|
streamingConfig(convertRawProp(context, rawProps, "streamingConfig", sourceProps.streamingConfig, {})),
|
|
34
35
|
spoilerOverlay(convertRawProp(context, rawProps, "spoilerOverlay", sourceProps.spoilerOverlay, {std::string{"particles"}})),
|
|
36
|
+
contextMenuHidden(convertRawProp(context, rawProps, "contextMenuHidden", sourceProps.contextMenuHidden, {false})),
|
|
35
37
|
contextMenuItems(convertRawProp(context, rawProps, "contextMenuItems", sourceProps.contextMenuItems, {})),
|
|
38
|
+
imageRequestHeaders(convertRawProp(context, rawProps, "imageRequestHeaders", sourceProps.imageRequestHeaders, {})),
|
|
36
39
|
selectionMenuConfig(convertRawProp(context, rawProps, "selectionMenuConfig", sourceProps.selectionMenuConfig, {})),
|
|
37
40
|
accessibilityLabels(convertRawProp(context, rawProps, "accessibilityLabels", sourceProps.accessibilityLabels, {})),
|
|
38
41
|
textBreakStrategy(convertRawProp(context, rawProps, "textBreakStrategy", sourceProps.textBreakStrategy, {std::string{"highQuality"}})),
|
|
@@ -63,6 +66,10 @@ folly::dynamic EnrichedMarkdownProps::getDiffProps(
|
|
|
63
66
|
result["markdownStyle"] = toDynamic(markdownStyle);
|
|
64
67
|
}
|
|
65
68
|
|
|
69
|
+
if (enableTaskListItemToggle != oldProps->enableTaskListItemToggle) {
|
|
70
|
+
result["enableTaskListItemToggle"] = enableTaskListItemToggle;
|
|
71
|
+
}
|
|
72
|
+
|
|
66
73
|
if (enableLinkPreview != oldProps->enableLinkPreview) {
|
|
67
74
|
result["enableLinkPreview"] = enableLinkPreview;
|
|
68
75
|
}
|
|
@@ -107,10 +114,18 @@ folly::dynamic EnrichedMarkdownProps::getDiffProps(
|
|
|
107
114
|
result["spoilerOverlay"] = spoilerOverlay;
|
|
108
115
|
}
|
|
109
116
|
|
|
117
|
+
if (contextMenuHidden != oldProps->contextMenuHidden) {
|
|
118
|
+
result["contextMenuHidden"] = contextMenuHidden;
|
|
119
|
+
}
|
|
120
|
+
|
|
110
121
|
if (contextMenuItems != oldProps->contextMenuItems) {
|
|
111
122
|
result["contextMenuItems"] = toDynamic(contextMenuItems);
|
|
112
123
|
}
|
|
113
124
|
|
|
125
|
+
if (imageRequestHeaders != oldProps->imageRequestHeaders) {
|
|
126
|
+
result["imageRequestHeaders"] = toDynamic(imageRequestHeaders);
|
|
127
|
+
}
|
|
128
|
+
|
|
114
129
|
if (selectionMenuConfig != oldProps->selectionMenuConfig) {
|
|
115
130
|
result["selectionMenuConfig"] = toDynamic(selectionMenuConfig);
|
|
116
131
|
}
|
|
@@ -144,7 +159,9 @@ EnrichedMarkdownTextInputProps::EnrichedMarkdownTextInputProps(
|
|
|
144
159
|
editable(convertRawProp(context, rawProps, "editable", sourceProps.editable, {false})),
|
|
145
160
|
autoFocus(convertRawProp(context, rawProps, "autoFocus", sourceProps.autoFocus, {false})),
|
|
146
161
|
scrollEnabled(convertRawProp(context, rawProps, "scrollEnabled", sourceProps.scrollEnabled, {false})),
|
|
162
|
+
blockSyntax(convertRawProp(context, rawProps, "blockSyntax", sourceProps.blockSyntax, {false})),
|
|
147
163
|
autoCapitalize(convertRawProp(context, rawProps, "autoCapitalize", sourceProps.autoCapitalize, {})),
|
|
164
|
+
interceptPaste(convertRawProp(context, rawProps, "interceptPaste", sourceProps.interceptPaste, {false})),
|
|
148
165
|
multiline(convertRawProp(context, rawProps, "multiline", sourceProps.multiline, {false})),
|
|
149
166
|
cursorColor(convertRawProp(context, rawProps, "cursorColor", sourceProps.cursorColor, {})),
|
|
150
167
|
selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
|
|
@@ -202,10 +219,18 @@ folly::dynamic EnrichedMarkdownTextInputProps::getDiffProps(
|
|
|
202
219
|
result["scrollEnabled"] = scrollEnabled;
|
|
203
220
|
}
|
|
204
221
|
|
|
222
|
+
if (blockSyntax != oldProps->blockSyntax) {
|
|
223
|
+
result["blockSyntax"] = blockSyntax;
|
|
224
|
+
}
|
|
225
|
+
|
|
205
226
|
if (autoCapitalize != oldProps->autoCapitalize) {
|
|
206
227
|
result["autoCapitalize"] = autoCapitalize;
|
|
207
228
|
}
|
|
208
229
|
|
|
230
|
+
if (interceptPaste != oldProps->interceptPaste) {
|
|
231
|
+
result["interceptPaste"] = interceptPaste;
|
|
232
|
+
}
|
|
233
|
+
|
|
209
234
|
if (multiline != oldProps->multiline) {
|
|
210
235
|
result["multiline"] = multiline;
|
|
211
236
|
}
|
|
@@ -279,6 +304,7 @@ EnrichedMarkdownTextProps::EnrichedMarkdownTextProps(
|
|
|
279
304
|
|
|
280
305
|
markdown(convertRawProp(context, rawProps, "markdown", sourceProps.markdown, {})),
|
|
281
306
|
markdownStyle(convertRawProp(context, rawProps, "markdownStyle", sourceProps.markdownStyle, {})),
|
|
307
|
+
enableTaskListItemToggle(convertRawProp(context, rawProps, "enableTaskListItemToggle", sourceProps.enableTaskListItemToggle, {true})),
|
|
282
308
|
enableLinkPreview(convertRawProp(context, rawProps, "enableLinkPreview", sourceProps.enableLinkPreview, {true})),
|
|
283
309
|
selectable(convertRawProp(context, rawProps, "selectable", sourceProps.selectable, {false})),
|
|
284
310
|
selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
|
|
@@ -290,7 +316,9 @@ EnrichedMarkdownTextProps::EnrichedMarkdownTextProps(
|
|
|
290
316
|
streamingAnimation(convertRawProp(context, rawProps, "streamingAnimation", sourceProps.streamingAnimation, {false})),
|
|
291
317
|
streamingConfig(convertRawProp(context, rawProps, "streamingConfig", sourceProps.streamingConfig, {})),
|
|
292
318
|
spoilerOverlay(convertRawProp(context, rawProps, "spoilerOverlay", sourceProps.spoilerOverlay, {std::string{"particles"}})),
|
|
319
|
+
contextMenuHidden(convertRawProp(context, rawProps, "contextMenuHidden", sourceProps.contextMenuHidden, {false})),
|
|
293
320
|
contextMenuItems(convertRawProp(context, rawProps, "contextMenuItems", sourceProps.contextMenuItems, {})),
|
|
321
|
+
imageRequestHeaders(convertRawProp(context, rawProps, "imageRequestHeaders", sourceProps.imageRequestHeaders, {})),
|
|
294
322
|
selectionMenuConfig(convertRawProp(context, rawProps, "selectionMenuConfig", sourceProps.selectionMenuConfig, {})),
|
|
295
323
|
accessibilityLabels(convertRawProp(context, rawProps, "accessibilityLabels", sourceProps.accessibilityLabels, {})),
|
|
296
324
|
textBreakStrategy(convertRawProp(context, rawProps, "textBreakStrategy", sourceProps.textBreakStrategy, {std::string{"highQuality"}})),
|
|
@@ -321,6 +349,10 @@ folly::dynamic EnrichedMarkdownTextProps::getDiffProps(
|
|
|
321
349
|
result["markdownStyle"] = toDynamic(markdownStyle);
|
|
322
350
|
}
|
|
323
351
|
|
|
352
|
+
if (enableTaskListItemToggle != oldProps->enableTaskListItemToggle) {
|
|
353
|
+
result["enableTaskListItemToggle"] = enableTaskListItemToggle;
|
|
354
|
+
}
|
|
355
|
+
|
|
324
356
|
if (enableLinkPreview != oldProps->enableLinkPreview) {
|
|
325
357
|
result["enableLinkPreview"] = enableLinkPreview;
|
|
326
358
|
}
|
|
@@ -365,10 +397,18 @@ folly::dynamic EnrichedMarkdownTextProps::getDiffProps(
|
|
|
365
397
|
result["spoilerOverlay"] = spoilerOverlay;
|
|
366
398
|
}
|
|
367
399
|
|
|
400
|
+
if (contextMenuHidden != oldProps->contextMenuHidden) {
|
|
401
|
+
result["contextMenuHidden"] = contextMenuHidden;
|
|
402
|
+
}
|
|
403
|
+
|
|
368
404
|
if (contextMenuItems != oldProps->contextMenuItems) {
|
|
369
405
|
result["contextMenuItems"] = toDynamic(contextMenuItems);
|
|
370
406
|
}
|
|
371
407
|
|
|
408
|
+
if (imageRequestHeaders != oldProps->imageRequestHeaders) {
|
|
409
|
+
result["imageRequestHeaders"] = toDynamic(imageRequestHeaders);
|
|
410
|
+
}
|
|
411
|
+
|
|
372
412
|
if (selectionMenuConfig != oldProps->selectionMenuConfig) {
|
|
373
413
|
result["selectionMenuConfig"] = toDynamic(selectionMenuConfig);
|
|
374
414
|
}
|