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.
- package/README.md +54 -8
- package/ReactNativeEnrichedMarkdown.podspec +82 -73
- package/android/build.gradle +186 -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 +24 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +8 -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 +35 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +886 -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 +189 -13
- 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 +54 -4
- package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +901 -462
- 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/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 +116 -22
- 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 +4 -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 +37 -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 +49 -15
- package/android/src/main/java/com/swmansion/enriched/markdown/views/BlockMenuOptions.kt +45 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +396 -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 +36 -9
- 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 +6 -4
- 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 +234 -12
- package/docs/BREAKING_CHANGES.md +129 -0
- package/docs/CODE_HIGHLIGHT.md +133 -0
- package/docs/COPY_OPTIONS.md +47 -3
- package/docs/ELEMENTS_STRUCTURE.md +52 -4
- package/docs/IMAGE_CACHING.md +30 -0
- package/docs/INPUT.md +108 -11
- 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 +284 -75
- package/ios/EnrichedMarkdownText.h +7 -0
- package/ios/EnrichedMarkdownText.mm +101 -73
- 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 +35 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +886 -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/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 +5 -6
- package/ios/input/ENRMInputParser.mm +461 -178
- 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 +1089 -1023
- 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/ENRMBlockMenu.h +57 -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.h +22 -5
- package/ios/utils/EditMenuUtils.m +53 -9
- 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 +53 -0
- package/ios/views/ENRMCodeBlockContainerView.m +559 -0
- package/ios/views/ENRMMathContainerView.h +16 -0
- package/ios/views/ENRMMathContainerView.m +74 -19
- package/ios/views/TableContainerView.h +22 -0
- package/ios/views/TableContainerView.m +261 -175
- package/jest.d.ts +1 -0
- package/jest.js +5 -0
- package/lib/module/EnrichedMarkdownNativeComponent.ts +73 -0
- package/lib/module/EnrichedMarkdownTextInput.js +84 -5
- package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
- package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +78 -5
- package/lib/module/EnrichedMarkdownTextNativeComponent.ts +74 -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 +37 -5
- 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 +66 -0
- package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +94 -9
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +69 -5
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +66 -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 +104 -9
- 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 +73 -0
- package/src/EnrichedMarkdownTextInput.tsx +159 -8
- package/src/EnrichedMarkdownTextInputNativeComponent.ts +78 -5
- package/src/EnrichedMarkdownTextNativeComponent.ts +74 -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 +53 -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 +101 -9
- 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
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import { isStyleEqual, mergeSubStyle } from "./styleUtils.js";
|
|
4
4
|
import { normalizeLinkVariantEntries } from "./linkVariantUtils.js";
|
|
5
|
+
import { DEFAULT_HEADING_FONT_WEIGHT, HEADING_DEFAULTS } from "./headingDefaults.js";
|
|
5
6
|
const SYSTEM_FONT = 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif';
|
|
6
7
|
const MONOSPACE_FONT = 'ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace';
|
|
7
8
|
const defaultTextColor = '#1F2937';
|
|
8
|
-
const defaultHeadingColor = '#111827';
|
|
9
9
|
const baseHeader = {
|
|
10
10
|
fontFamily: SYSTEM_FONT,
|
|
11
|
-
fontWeight:
|
|
11
|
+
fontWeight: DEFAULT_HEADING_FONT_WEIGHT,
|
|
12
12
|
marginTop: 0,
|
|
13
13
|
marginBottom: 8,
|
|
14
14
|
textAlign: 'auto'
|
|
@@ -26,38 +26,38 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
26
26
|
},
|
|
27
27
|
h1: {
|
|
28
28
|
...baseHeader,
|
|
29
|
-
fontSize:
|
|
30
|
-
color:
|
|
29
|
+
fontSize: HEADING_DEFAULTS.h1.fontSize,
|
|
30
|
+
color: HEADING_DEFAULTS.h1.color,
|
|
31
31
|
lineHeight: 38
|
|
32
32
|
},
|
|
33
33
|
h2: {
|
|
34
34
|
...baseHeader,
|
|
35
|
-
fontSize:
|
|
36
|
-
color:
|
|
35
|
+
fontSize: HEADING_DEFAULTS.h2.fontSize,
|
|
36
|
+
color: HEADING_DEFAULTS.h2.color,
|
|
37
37
|
lineHeight: 32
|
|
38
38
|
},
|
|
39
39
|
h3: {
|
|
40
40
|
...baseHeader,
|
|
41
|
-
fontSize:
|
|
42
|
-
color:
|
|
41
|
+
fontSize: HEADING_DEFAULTS.h3.fontSize,
|
|
42
|
+
color: HEADING_DEFAULTS.h3.color,
|
|
43
43
|
lineHeight: 28
|
|
44
44
|
},
|
|
45
45
|
h4: {
|
|
46
46
|
...baseHeader,
|
|
47
|
-
fontSize:
|
|
48
|
-
color:
|
|
47
|
+
fontSize: HEADING_DEFAULTS.h4.fontSize,
|
|
48
|
+
color: HEADING_DEFAULTS.h4.color,
|
|
49
49
|
lineHeight: 26
|
|
50
50
|
},
|
|
51
51
|
h5: {
|
|
52
52
|
...baseHeader,
|
|
53
|
-
fontSize:
|
|
54
|
-
color:
|
|
53
|
+
fontSize: HEADING_DEFAULTS.h5.fontSize,
|
|
54
|
+
color: HEADING_DEFAULTS.h5.color,
|
|
55
55
|
lineHeight: 24
|
|
56
56
|
},
|
|
57
57
|
h6: {
|
|
58
58
|
...baseHeader,
|
|
59
|
-
fontSize:
|
|
60
|
-
color:
|
|
59
|
+
fontSize: HEADING_DEFAULTS.h6.fontSize,
|
|
60
|
+
color: HEADING_DEFAULTS.h6.color,
|
|
61
61
|
lineHeight: 22
|
|
62
62
|
},
|
|
63
63
|
blockquote: {
|
|
@@ -71,7 +71,9 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
71
71
|
borderColor: '#D1D5DB',
|
|
72
72
|
borderWidth: 3,
|
|
73
73
|
gapWidth: 16,
|
|
74
|
-
backgroundColor: '#F9FAFB'
|
|
74
|
+
backgroundColor: '#F9FAFB',
|
|
75
|
+
borderRadius: 0,
|
|
76
|
+
padding: 0
|
|
75
77
|
},
|
|
76
78
|
list: {
|
|
77
79
|
fontSize: 16,
|
|
@@ -87,7 +89,8 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
87
89
|
markerColor: '#6B7280',
|
|
88
90
|
markerFontWeight: '500',
|
|
89
91
|
gapWidth: 12,
|
|
90
|
-
marginLeft: 24
|
|
92
|
+
marginLeft: 24,
|
|
93
|
+
itemSpacing: 0
|
|
91
94
|
},
|
|
92
95
|
codeBlock: {
|
|
93
96
|
fontSize: 14,
|
|
@@ -101,7 +104,23 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
101
104
|
borderColor: '#374151',
|
|
102
105
|
borderRadius: 8,
|
|
103
106
|
borderWidth: 1,
|
|
104
|
-
padding: 16
|
|
107
|
+
padding: 16,
|
|
108
|
+
syntaxColors: {
|
|
109
|
+
keyword: '#FF7B72',
|
|
110
|
+
operatorColor: '#F3F4F6',
|
|
111
|
+
punctuation: '#F3F4F6',
|
|
112
|
+
string: '#A5D6FF',
|
|
113
|
+
number: '#79C0FF',
|
|
114
|
+
constant: '#79C0FF',
|
|
115
|
+
comment: '#8B949E',
|
|
116
|
+
function: '#D2A8FF',
|
|
117
|
+
type: '#FFA657',
|
|
118
|
+
variable: '#F3F4F6',
|
|
119
|
+
property: '#79C0FF',
|
|
120
|
+
tag: '#7EE787',
|
|
121
|
+
attribute: '#79C0FF',
|
|
122
|
+
embedded: '#F3F4F6'
|
|
123
|
+
}
|
|
105
124
|
},
|
|
106
125
|
link: {
|
|
107
126
|
fontFamily: '',
|
|
@@ -135,6 +154,9 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
135
154
|
},
|
|
136
155
|
image: {
|
|
137
156
|
height: 200,
|
|
157
|
+
maxHeight: 0,
|
|
158
|
+
aspectRatio: 0,
|
|
159
|
+
resizeMode: '',
|
|
138
160
|
borderRadius: 8,
|
|
139
161
|
marginTop: 0,
|
|
140
162
|
marginBottom: 16
|
|
@@ -165,7 +187,9 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
|
|
|
165
187
|
borderWidth: 1,
|
|
166
188
|
borderRadius: 6,
|
|
167
189
|
cellPaddingHorizontal: 12,
|
|
168
|
-
cellPaddingVertical: 8
|
|
190
|
+
cellPaddingVertical: 8,
|
|
191
|
+
horizontalOverflow: 0,
|
|
192
|
+
align: ''
|
|
169
193
|
},
|
|
170
194
|
math: {
|
|
171
195
|
fontSize: 20,
|
|
@@ -251,10 +275,24 @@ export const normalizeMarkdownStyle = style => {
|
|
|
251
275
|
const listSize = result.list.fontSize;
|
|
252
276
|
result.taskList.checkboxSize = Math.round(listSize * 0.9);
|
|
253
277
|
}
|
|
278
|
+
|
|
279
|
+
// maxHeight/aspectRatio sizing is resize-mode driven; default to 'cover'.
|
|
280
|
+
const image = result.image;
|
|
281
|
+
if (!image.resizeMode && (image.maxHeight > 0 || image.aspectRatio > 0)) {
|
|
282
|
+
result.image.resizeMode = 'cover';
|
|
283
|
+
}
|
|
254
284
|
if (!style.highlight?.color) {
|
|
255
285
|
const paragraphColor = result.paragraph.color;
|
|
256
286
|
result.highlight.color = paragraphColor;
|
|
257
287
|
}
|
|
288
|
+
|
|
289
|
+
// The public API exposes `operator`, but the internal token is `operatorColor`
|
|
290
|
+
// (`operator` is reserved in the generated C++ struct). Remap it after merge.
|
|
291
|
+
const syntaxColors = result.codeBlock.syntaxColors;
|
|
292
|
+
if (syntaxColors && 'operator' in syntaxColors) {
|
|
293
|
+
syntaxColors.operatorColor = syntaxColors.operator;
|
|
294
|
+
delete syntaxColors.operator;
|
|
295
|
+
}
|
|
258
296
|
const finalResult = Object.freeze(result);
|
|
259
297
|
refCache.set(style, finalResult);
|
|
260
298
|
structuralCache.unshift({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isStyleEqual","mergeSubStyle","normalizeLinkVariantEntries","SYSTEM_FONT","MONOSPACE_FONT","defaultTextColor","
|
|
1
|
+
{"version":3,"names":["isStyleEqual","mergeSubStyle","normalizeLinkVariantEntries","DEFAULT_HEADING_FONT_WEIGHT","HEADING_DEFAULTS","SYSTEM_FONT","MONOSPACE_FONT","defaultTextColor","baseHeader","fontFamily","fontWeight","marginTop","marginBottom","textAlign","DEFAULT_NORMALIZED_STYLE","Object","freeze","paragraph","fontSize","color","lineHeight","h1","h2","h3","h4","h5","h6","blockquote","borderColor","borderWidth","gapWidth","backgroundColor","borderRadius","padding","list","bulletColor","bulletSize","markerMinWidth","markerColor","markerFontWeight","marginLeft","itemSpacing","codeBlock","syntaxColors","keyword","operatorColor","punctuation","string","number","constant","comment","function","type","variable","property","tag","attribute","embedded","link","underline","linkVariants","strong","undefined","em","fontStyle","strikethrough","code","image","height","maxHeight","aspectRatio","resizeMode","inlineImage","size","thematicBreak","table","headerFontFamily","headerBackgroundColor","headerTextColor","rowEvenBackgroundColor","rowOddBackgroundColor","cellPaddingHorizontal","cellPaddingVertical","horizontalOverflow","align","math","inlineMath","paddingVertical","taskList","checkedColor","checkboxSize","checkboxBorderRadius","checkmarkColor","checkedTextColor","checkedStrikethrough","spoiler","particles","density","speed","solid","superscript","fontScale","baselineOffsetScale","subscript","highlight","refCache","WeakMap","structuralCache","LRU_MAX","styleReferenceKeys","keys","normalizeMarkdownStyle","style","length","refHit","get","structIdx","findIndex","e","entry","splice","unshift","set","result","forEach","key","Array","isArray","userValue","linkBase","map","pattern","override","listSize","Math","round","paragraphColor","operator","finalResult","pop"],"sourceRoot":"../../src","sources":["normalizeMarkdownStyle.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { processColor } from 'react-native';
|
|
4
4
|
import { normalizeLinkVariantEntries } from "./linkVariantUtils.js";
|
|
5
5
|
import { normalizeColor } from "./styleUtils.js";
|
|
6
|
+
import { DEFAULT_HEADING_FONT_WEIGHT, HEADING_DEFAULTS } from "./headingDefaults.js";
|
|
6
7
|
const DEFAULT_LINK_COLOR = '#2563EB';
|
|
7
8
|
const DEFAULT_LINK_BG_COLOR = 'transparent';
|
|
8
9
|
const DEFAULT_SPOILER_COLOR = '#374151';
|
|
@@ -11,7 +12,7 @@ const DEFAULT_MATH_COLOR = '#111827';
|
|
|
11
12
|
const DEFAULT_MATH_BG_COLOR = 'transparent';
|
|
12
13
|
const DEFAULT_MATH_BORDER_COLOR = 'transparent';
|
|
13
14
|
const TRANSPARENT = processColor('transparent');
|
|
14
|
-
const
|
|
15
|
+
const defaultInlineMathInternal = Object.freeze({
|
|
15
16
|
color: processColor(DEFAULT_MATH_COLOR),
|
|
16
17
|
fontSize: 16,
|
|
17
18
|
backgroundColor: processColor(DEFAULT_MATH_BG_COLOR),
|
|
@@ -24,7 +25,7 @@ const defaultMathInternal = Object.freeze({
|
|
|
24
25
|
selectedBorderColor: TRANSPARENT,
|
|
25
26
|
fontWeight: 'normal'
|
|
26
27
|
});
|
|
27
|
-
const
|
|
28
|
+
const defaultBlockMathInternal = Object.freeze({
|
|
28
29
|
color: processColor(DEFAULT_MATH_COLOR),
|
|
29
30
|
fontSize: 20,
|
|
30
31
|
backgroundColor: processColor(DEFAULT_MATH_BG_COLOR),
|
|
@@ -38,8 +39,19 @@ const defaultMathBlockInternal = Object.freeze({
|
|
|
38
39
|
fontWeight: 'normal',
|
|
39
40
|
marginTop: 8,
|
|
40
41
|
marginBottom: 8,
|
|
41
|
-
|
|
42
|
+
textAlign: 'center'
|
|
42
43
|
});
|
|
44
|
+
|
|
45
|
+
// Defaults shared with the read-only renderer via headingDefaults; consumers
|
|
46
|
+
// override per level via markdownStyle h1..h6.
|
|
47
|
+
const defaultHeadingInternal = key => {
|
|
48
|
+
const d = HEADING_DEFAULTS[key];
|
|
49
|
+
return {
|
|
50
|
+
fontSize: d.fontSize,
|
|
51
|
+
fontWeight: DEFAULT_HEADING_FONT_WEIGHT,
|
|
52
|
+
color: processColor(d.color)
|
|
53
|
+
};
|
|
54
|
+
};
|
|
43
55
|
const defaultInternal = Object.freeze({
|
|
44
56
|
strong: {
|
|
45
57
|
color: undefined
|
|
@@ -57,9 +69,26 @@ const defaultInternal = Object.freeze({
|
|
|
57
69
|
color: processColor(DEFAULT_SPOILER_COLOR),
|
|
58
70
|
backgroundColor: processColor(DEFAULT_SPOILER_BG_COLOR)
|
|
59
71
|
},
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
inlineMath: defaultInlineMathInternal,
|
|
73
|
+
math: defaultBlockMathInternal,
|
|
74
|
+
h1: defaultHeadingInternal('h1'),
|
|
75
|
+
h2: defaultHeadingInternal('h2'),
|
|
76
|
+
h3: defaultHeadingInternal('h3'),
|
|
77
|
+
h4: defaultHeadingInternal('h4'),
|
|
78
|
+
h5: defaultHeadingInternal('h5'),
|
|
79
|
+
h6: defaultHeadingInternal('h6'),
|
|
80
|
+
list: {
|
|
81
|
+
itemSpacing: 0
|
|
82
|
+
}
|
|
62
83
|
});
|
|
84
|
+
const normalizeHeadingStyle = (key, style) => {
|
|
85
|
+
const fallback = defaultInternal[key];
|
|
86
|
+
return {
|
|
87
|
+
fontSize: style?.fontSize ?? fallback.fontSize,
|
|
88
|
+
fontWeight: style?.fontWeight ?? fallback.fontWeight,
|
|
89
|
+
color: normalizeColor(style?.color) ?? fallback.color
|
|
90
|
+
};
|
|
91
|
+
};
|
|
63
92
|
let cachedInput;
|
|
64
93
|
let cachedResult;
|
|
65
94
|
function normalizeInputLinkStyle(style, fallback) {
|
|
@@ -69,7 +98,7 @@ function normalizeInputLinkStyle(style, fallback) {
|
|
|
69
98
|
backgroundColor: normalizeColor(style?.backgroundColor) ?? fallback.backgroundColor
|
|
70
99
|
};
|
|
71
100
|
}
|
|
72
|
-
function
|
|
101
|
+
function normalizeInlineMathStyle(style, fallback) {
|
|
73
102
|
const color = normalizeColor(style?.color) ?? fallback.color;
|
|
74
103
|
const backgroundColor = normalizeColor(style?.backgroundColor) ?? fallback.backgroundColor;
|
|
75
104
|
const borderColor = normalizeColor(style?.borderColor) ?? fallback.borderColor;
|
|
@@ -87,7 +116,10 @@ function normalizeMathStyle(style, fallback) {
|
|
|
87
116
|
fontWeight: style?.fontWeight ?? fallback.fontWeight
|
|
88
117
|
};
|
|
89
118
|
}
|
|
90
|
-
|
|
119
|
+
|
|
120
|
+
// Block math (`markdownStyle.math`). Inherits the chip look from the inline
|
|
121
|
+
// key so a single override styles both, then applies its own block-only fields.
|
|
122
|
+
function normalizeBlockMathStyle(style, baseInline, fallback) {
|
|
91
123
|
const merged = {
|
|
92
124
|
color: baseInline.color,
|
|
93
125
|
fontSize: fallback.fontSize,
|
|
@@ -101,16 +133,22 @@ function normalizeMathBlockStyle(style, baseInline, fallback) {
|
|
|
101
133
|
selectedBorderColor: baseInline.selectedBorderColor,
|
|
102
134
|
fontWeight: baseInline.fontWeight
|
|
103
135
|
};
|
|
104
|
-
const inheritedInline =
|
|
105
|
-
let
|
|
106
|
-
if (style?.
|
|
107
|
-
|
|
136
|
+
const inheritedInline = normalizeInlineMathStyle(style, merged);
|
|
137
|
+
let textAlign = fallback.textAlign;
|
|
138
|
+
if (style?.textAlign === 'left' || style?.textAlign === 'center' || style?.textAlign === 'right') {
|
|
139
|
+
textAlign = style.textAlign;
|
|
108
140
|
}
|
|
141
|
+
// `padding` is the renderer-compatible shorthand; the per-axis fields win
|
|
142
|
+
// when both are given. Resolved here so the bridge only ever carries the
|
|
143
|
+
// two axes and no native side has to know about the shorthand.
|
|
144
|
+
const padding = style?.padding;
|
|
109
145
|
return {
|
|
110
146
|
...inheritedInline,
|
|
147
|
+
paddingHorizontal: style?.paddingHorizontal ?? padding ?? inheritedInline.paddingHorizontal,
|
|
148
|
+
paddingVertical: style?.paddingVertical ?? padding ?? inheritedInline.paddingVertical,
|
|
111
149
|
marginTop: style?.marginTop ?? fallback.marginTop,
|
|
112
150
|
marginBottom: style?.marginBottom ?? fallback.marginBottom,
|
|
113
|
-
|
|
151
|
+
textAlign
|
|
114
152
|
};
|
|
115
153
|
}
|
|
116
154
|
export const normalizeMarkdownTextInputStyle = style => {
|
|
@@ -139,10 +177,19 @@ export const normalizeMarkdownTextInputStyle = style => {
|
|
|
139
177
|
color: normalizeColor(style.spoiler?.color) ?? defaultInternal.spoiler.color,
|
|
140
178
|
backgroundColor: normalizeColor(style.spoiler?.backgroundColor) ?? defaultInternal.spoiler.backgroundColor
|
|
141
179
|
},
|
|
142
|
-
|
|
143
|
-
|
|
180
|
+
inlineMath: normalizeInlineMathStyle(style.inlineMath, defaultInternal.inlineMath),
|
|
181
|
+
math: defaultInternal.math,
|
|
182
|
+
h1: normalizeHeadingStyle('h1', style.h1),
|
|
183
|
+
h2: normalizeHeadingStyle('h2', style.h2),
|
|
184
|
+
h3: normalizeHeadingStyle('h3', style.h3),
|
|
185
|
+
h4: normalizeHeadingStyle('h4', style.h4),
|
|
186
|
+
h5: normalizeHeadingStyle('h5', style.h5),
|
|
187
|
+
h6: normalizeHeadingStyle('h6', style.h6),
|
|
188
|
+
list: {
|
|
189
|
+
itemSpacing: style.list?.itemSpacing ?? defaultInternal.list.itemSpacing
|
|
190
|
+
}
|
|
144
191
|
};
|
|
145
|
-
result.
|
|
192
|
+
result.math = normalizeBlockMathStyle(style.math, result.inlineMath, defaultInternal.math);
|
|
146
193
|
cachedInput = style;
|
|
147
194
|
cachedResult = result;
|
|
148
195
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["processColor","normalizeLinkVariantEntries","normalizeColor","DEFAULT_LINK_COLOR","DEFAULT_LINK_BG_COLOR","DEFAULT_SPOILER_COLOR","DEFAULT_SPOILER_BG_COLOR","DEFAULT_MATH_COLOR","DEFAULT_MATH_BG_COLOR","DEFAULT_MATH_BORDER_COLOR","TRANSPARENT","
|
|
1
|
+
{"version":3,"names":["processColor","normalizeLinkVariantEntries","normalizeColor","DEFAULT_HEADING_FONT_WEIGHT","HEADING_DEFAULTS","DEFAULT_LINK_COLOR","DEFAULT_LINK_BG_COLOR","DEFAULT_SPOILER_COLOR","DEFAULT_SPOILER_BG_COLOR","DEFAULT_MATH_COLOR","DEFAULT_MATH_BG_COLOR","DEFAULT_MATH_BORDER_COLOR","TRANSPARENT","defaultInlineMathInternal","Object","freeze","color","fontSize","backgroundColor","borderColor","borderWidth","borderRadius","paddingHorizontal","paddingVertical","selectedBackgroundColor","selectedBorderColor","fontWeight","defaultBlockMathInternal","marginTop","marginBottom","textAlign","defaultHeadingInternal","key","d","defaultInternal","strong","undefined","em","link","underline","linkVariants","spoiler","inlineMath","math","h1","h2","h3","h4","h5","h6","list","itemSpacing","normalizeHeadingStyle","style","fallback","cachedInput","cachedResult","normalizeInputLinkStyle","normalizeInlineMathStyle","normalizeBlockMathStyle","baseInline","merged","inheritedInline","padding","normalizeMarkdownTextInputStyle","keys","length","linkBase","result","map","pattern","override"],"sourceRoot":"../../src","sources":["normalizeMarkdownTextInputStyle.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ export const normalizeMenuItem = (raw, defaultEnabled, defaultLabel) => {
|
|
|
27
27
|
};
|
|
28
28
|
export const normalizeLegacyBooleanMenuItem = (raw, parentProp, field, defaultEnabled, defaultLabel) => {
|
|
29
29
|
if (typeof raw === 'boolean') {
|
|
30
|
-
warnOnce(`${parentProp}.${field}`, `[react-native-enriched-markdown] ${parentProp}.${field} as a boolean is ` + `deprecated; use { enabled: ${raw} }. The boolean form will be removed in 0.8.`);
|
|
30
|
+
warnOnce(`${parentProp}.${field}`, `[react-native-enriched-markdown-scaffold] ${parentProp}.${field} as a boolean is ` + `deprecated; use { enabled: ${raw} }. The boolean form will be removed in 0.8.`);
|
|
31
31
|
return {
|
|
32
32
|
enabled: raw,
|
|
33
33
|
label: defaultLabel
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Bridges EnrichedMarkdownTextInput into React Native's TextInputState focus
|
|
5
|
+
* registry so it participates in RN's keyboard-dismiss behavior (issue #577).
|
|
6
|
+
*
|
|
7
|
+
* Registering a non-TextInput host component is safe: TextInputState's
|
|
8
|
+
* blurTextInput dispatches the built-in TextInput's "blur" command at the
|
|
9
|
+
* registered instance, and Fabric command dispatch is name-based — it works
|
|
10
|
+
* as long as the component ships a command with that name, which ours does.
|
|
11
|
+
*
|
|
12
|
+
* A deep import is required because the public TextInput.State API lacks the
|
|
13
|
+
* registerInput/focusInput/blurInput bookkeeping functions.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The internal module's export shape has changed across RN versions: newer
|
|
18
|
+
* versions use `export default` (surfacing as `.default` after Metro's CJS
|
|
19
|
+
* transform) while older ones assigned `module.exports` directly. A raw
|
|
20
|
+
* require bypasses Babel's import interop, so both shapes are handled here.
|
|
21
|
+
*/
|
|
22
|
+
const TextInputStateModuleImpl =
|
|
23
|
+
// eslint-disable-next-line @react-native/no-deep-imports
|
|
24
|
+
require('react-native/Libraries/Components/TextInput/TextInputState');
|
|
25
|
+
export const TextInputState = TextInputStateModuleImpl.default ?? TextInputStateModuleImpl;
|
|
26
|
+
//# sourceMappingURL=textInputState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TextInputStateModuleImpl","require","TextInputState","default"],"sourceRoot":"../../../src","sources":["utils/textInputState.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,wBAAwB;AAC5B;AACAC,OAAO,CAAC,4DAA4D,CAAC;AAEvE,OAAO,MAAMC,cAAc,GAAIF,wBAAwB,CAACG,OAAO,IAC7DH,wBAAiD","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ export const EnrichedMarkdownText = ({
|
|
|
16
16
|
onLinkPress,
|
|
17
17
|
onLinkLongPress,
|
|
18
18
|
onTaskListItemPress,
|
|
19
|
+
enableTaskListItemToggle = true,
|
|
19
20
|
allowTrailingMargin = false,
|
|
20
21
|
containerStyle,
|
|
21
22
|
selectable = true,
|
|
@@ -32,7 +33,8 @@ export const EnrichedMarkdownText = ({
|
|
|
32
33
|
latexMath = true,
|
|
33
34
|
superscript = false,
|
|
34
35
|
subscript = false,
|
|
35
|
-
highlight = false
|
|
36
|
+
highlight = false,
|
|
37
|
+
hardSoftBreaks = false
|
|
36
38
|
} = md4cFlags;
|
|
37
39
|
useEffect(() => {
|
|
38
40
|
let cancelled = false;
|
|
@@ -42,7 +44,8 @@ export const EnrichedMarkdownText = ({
|
|
|
42
44
|
latexMath,
|
|
43
45
|
superscript,
|
|
44
46
|
subscript,
|
|
45
|
-
highlight
|
|
47
|
+
highlight,
|
|
48
|
+
hardSoftBreaks
|
|
46
49
|
}), katexPromise]).then(([result, katexInstance]) => {
|
|
47
50
|
if (!cancelled) {
|
|
48
51
|
indexTaskItems(result);
|
|
@@ -64,15 +67,16 @@ export const EnrichedMarkdownText = ({
|
|
|
64
67
|
return () => {
|
|
65
68
|
cancelled = true;
|
|
66
69
|
};
|
|
67
|
-
}, [markdown, underline, latexMath, superscript, subscript, highlight]);
|
|
70
|
+
}, [markdown, underline, latexMath, superscript, subscript, highlight, hardSoftBreaks]);
|
|
68
71
|
const callbacks = useMemo(() => ({
|
|
69
72
|
onLinkPress,
|
|
70
73
|
onLinkLongPress,
|
|
71
74
|
onTaskListItemPress
|
|
72
75
|
}), [onLinkPress, onLinkLongPress, onTaskListItemPress]);
|
|
73
76
|
const capabilities = useMemo(() => ({
|
|
74
|
-
katex
|
|
75
|
-
|
|
77
|
+
katex,
|
|
78
|
+
enableTaskListItemToggle
|
|
79
|
+
}), [katex, enableTaskListItemToggle]);
|
|
76
80
|
const lastChildStyle = useMemo(() => allowTrailingMargin ? normalizedStyle : zeroTrailingMargins(normalizedStyle), [normalizedStyle, allowTrailingMargin]);
|
|
77
81
|
const styles = useMemo(() => buildStyles(normalizedStyle), [normalizedStyle]);
|
|
78
82
|
const lastChildStyles = useMemo(() => buildStyles(lastChildStyle), [lastChildStyle]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useMemo","normalizeMarkdownStyle","zeroTrailingMargins","parseErrorFallbackStyle","buildStyles","parseMarkdown","RenderNode","indexTaskItems","markInlineImages","loadKaTeX","ENRM_TEXT_CLASS","ENRM_SELECTION_BG_VAR","jsx","_jsx","EnrichedMarkdownText","markdown","markdownStyle","md4cFlags","onLinkPress","onLinkLongPress","onTaskListItemPress","allowTrailingMargin","containerStyle","selectable","dir","selectionColor","rest","normalizedStyle","ast","setAst","katex","setKatex","parseError","setParseError","underline","latexMath","superscript","subscript","highlight","cancelled","katexPromise","Promise","resolve","all","then","result","katexInstance","catch","error","__DEV__","console","callbacks","capabilities","lastChildStyle","styles","lastChildStyles","wrapperStyle","display","flexDirection","undefined","userSelect","className","style","children","lastIdx","length","map","child","index","node","type"],"sourceRoot":"../../../src","sources":["web/EnrichedMarkdownText.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,OAAO,QAA4B,OAAO;AAExE,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SACEC,mBAAmB,EACnBC,uBAAuB,EACvBC,WAAW,QACN,aAAU;AACjB,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,UAAU,QAAQ,sBAAa;AAExC,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,YAAS;AAC1D,SAASC,SAAS,QAAQ,YAAS;AAEnC,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExE,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,QAAQ;EACRC,aAAa,GAAG,CAAC,CAAC;EAClBC,SAAS,GAAG,CAAC,CAAC;EACdC,WAAW;EACXC,eAAe;EACfC,mBAAmB;EACnBC,mBAAmB,GAAG,KAAK;EAC3BC,cAAc;EACdC,UAAU,GAAG,IAAI;EACjBC,GAAG;EACHC,cAAc;EACd,GAAGC;AACsB,CAAC,KAAK;EAC/B,MAAMC,eAAe,
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useMemo","normalizeMarkdownStyle","zeroTrailingMargins","parseErrorFallbackStyle","buildStyles","parseMarkdown","RenderNode","indexTaskItems","markInlineImages","loadKaTeX","ENRM_TEXT_CLASS","ENRM_SELECTION_BG_VAR","jsx","_jsx","EnrichedMarkdownText","markdown","markdownStyle","md4cFlags","onLinkPress","onLinkLongPress","onTaskListItemPress","enableTaskListItemToggle","allowTrailingMargin","containerStyle","selectable","dir","selectionColor","rest","normalizedStyle","ast","setAst","katex","setKatex","parseError","setParseError","underline","latexMath","superscript","subscript","highlight","hardSoftBreaks","cancelled","katexPromise","Promise","resolve","all","then","result","katexInstance","catch","error","__DEV__","console","callbacks","capabilities","lastChildStyle","styles","lastChildStyles","wrapperStyle","display","flexDirection","undefined","userSelect","className","style","children","lastIdx","length","map","child","index","node","type"],"sourceRoot":"../../../src","sources":["web/EnrichedMarkdownText.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ let parserPromise = null;
|
|
|
8
8
|
// network fetch is needed — only a one-time decode + compile on first call.
|
|
9
9
|
function initializeParser() {
|
|
10
10
|
if (!parserPromise) {
|
|
11
|
-
parserPromise = import('./wasm/md4c').then(module => module.default()).then(wasmModule => wasmModule.cwrap('parseMarkdown', 'string', ['string', 'number', 'number', 'number', 'number', 'number'])).catch(error => {
|
|
11
|
+
parserPromise = import('./wasm/md4c').then(module => module.default()).then(wasmModule => wasmModule.cwrap('parseMarkdown', 'string', ['string', 'number', 'number', 'number', 'number', 'number', 'number'])).catch(error => {
|
|
12
12
|
parserPromise = null;
|
|
13
13
|
throw error;
|
|
14
14
|
});
|
|
@@ -23,10 +23,11 @@ export async function parseMarkdown(markdown, {
|
|
|
23
23
|
latexMath = true,
|
|
24
24
|
superscript = false,
|
|
25
25
|
subscript = false,
|
|
26
|
-
highlight = false
|
|
26
|
+
highlight = false,
|
|
27
|
+
hardSoftBreaks = false
|
|
27
28
|
} = {}) {
|
|
28
29
|
const parse = await initializeParser();
|
|
29
|
-
const result = JSON.parse(parse(markdown, underline ? 1 : 0, latexMath ? 1 : 0, superscript ? 1 : 0, subscript ? 1 : 0, highlight ? 1 : 0));
|
|
30
|
+
const result = JSON.parse(parse(markdown, underline ? 1 : 0, latexMath ? 1 : 0, superscript ? 1 : 0, subscript ? 1 : 0, highlight ? 1 : 0, hardSoftBreaks ? 1 : 0));
|
|
30
31
|
if (!isASTNode(result)) {
|
|
31
32
|
throw new Error('WASM parser returned invalid AST');
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parserPromise","initializeParser","then","module","default","wasmModule","cwrap","catch","error","isASTNode","value","type","parseMarkdown","markdown","underline","latexMath","superscript","subscript","highlight","parse","result","JSON","Error"],"sourceRoot":"../../../src","sources":["web/parseMarkdown.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["parserPromise","initializeParser","then","module","default","wasmModule","cwrap","catch","error","isASTNode","value","type","parseMarkdown","markdown","underline","latexMath","superscript","subscript","highlight","hardSoftBreaks","parse","result","JSON","Error"],"sourceRoot":"../../../src","sources":["web/parseMarkdown.ts"],"mappings":";;AAaA;AACA;AACA,IAAIA,aAAsC,GAAG,IAAI;;AAEjD;AACA;AACA,SAASC,gBAAgBA,CAAA,EAAqB;EAC5C,IAAI,CAACD,aAAa,EAAE;IAClBA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAClCE,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,OAAO,CAAC,CAAC,CAAC,CAClCF,IAAI,CAAEG,UAAU,IACfA,UAAU,CAACC,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,CAC1C,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,CACT,CACH,CAAC,CACAC,KAAK,CAAEC,KAAK,IAAK;MAChBR,aAAa,GAAG,IAAI;MACpB,MAAMQ,KAAK;IACb,CAAC,CAAqB;EAC1B;EACA,OAAOR,aAAa;AACtB;AAEA,SAASS,SAASA,CAACC,KAAc,EAAoB;EACnD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,MAAM,IAAIA,KAAK,IACf,OAAQA,KAAK,CAAaC,IAAI,KAAK,QAAQ;AAE/C;AAEA,OAAO,eAAeC,aAAaA,CACjCC,QAAgB,EAChB;EACEC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,IAAI;EAChBC,WAAW,GAAG,KAAK;EACnBC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,KAAK;EACjBC,cAAc,GAAG;AACR,CAAC,GAAG,CAAC,CAAC,EACC;EAClB,MAAMC,KAAK,GAAG,MAAMnB,gBAAgB,CAAC,CAAC;EAEtC,MAAMoB,MAAe,GAAGC,IAAI,CAACF,KAAK,CAChCA,KAAK,CACHP,QAAQ,EACRC,SAAS,GAAG,CAAC,GAAG,CAAC,EACjBC,SAAS,GAAG,CAAC,GAAG,CAAC,EACjBC,WAAW,GAAG,CAAC,GAAG,CAAC,EACnBC,SAAS,GAAG,CAAC,GAAG,CAAC,EACjBC,SAAS,GAAG,CAAC,GAAG,CAAC,EACjBC,cAAc,GAAG,CAAC,GAAG,CACvB,CACF,CAAC;EAED,IAAI,CAACV,SAAS,CAACY,MAAM,CAAC,EAAE;IACtB,MAAM,IAAIE,KAAK,CAAC,kCAAkC,CAAC;EACrD;EAEA,OAAOF,MAAM;AACf","ignoreList":[]}
|
|
@@ -14,6 +14,11 @@ function TextRenderer({
|
|
|
14
14
|
function LineBreakRenderer(_props) {
|
|
15
15
|
return /*#__PURE__*/_jsx("br", {});
|
|
16
16
|
}
|
|
17
|
+
function SoftBreakRenderer(_props) {
|
|
18
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
19
|
+
children: " "
|
|
20
|
+
});
|
|
21
|
+
}
|
|
17
22
|
function StrongRenderer({
|
|
18
23
|
node,
|
|
19
24
|
styles,
|
|
@@ -146,6 +151,7 @@ function LatexMathInlineRenderer({
|
|
|
146
151
|
export const inlineRenderers = {
|
|
147
152
|
Text: TextRenderer,
|
|
148
153
|
LineBreak: LineBreakRenderer,
|
|
154
|
+
SoftBreak: SoftBreakRenderer,
|
|
149
155
|
Strong: StrongRenderer,
|
|
150
156
|
Emphasis: EmphasisRenderer,
|
|
151
157
|
Strikethrough: StrikethroughRenderer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["extractNodeText","KaTeXRenderer","linkStyleForUrl","Fragment","_Fragment","jsx","_jsx","TextRenderer","node","children","content","LineBreakRenderer","_props","StrongRenderer","styles","renderChildren","style","strong","EmphasisRenderer","emphasis","StrikethroughRenderer","strikethrough","UnderlineRenderer","underline","SuperscriptRenderer","superscript","SubscriptRenderer","subscript","HighlightRenderer","highlight","CodeRenderer","code","LinkRenderer","callbacks","url","attributes","handleClick","event","onLinkPress","preventDefault","handleContextMenu","onLinkLongPress","href","target","rel","onClick","onContextMenu","LatexMathInlineRenderer","capabilities","katex","displayMode","mathInline","inlineRenderers","Text","LineBreak","Strong","Emphasis","Strikethrough","Underline","Superscript","Subscript","Highlight","Code","Link","LatexMathInline"],"sourceRoot":"../../../../src","sources":["web/renderers/InlineRenderers.tsx"],"mappings":";;AAEA,SAASA,eAAe,QAAQ,aAAU;AAC1C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,eAAe,QAAQ,cAAW;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAE5C,SAASC,YAAYA,CAAC;EAAEC;AAAoB,CAAC,EAAE;EAC7C,oBAAOF,IAAA,CAAAF,SAAA;IAAAK,QAAA,EAAGD,IAAI,CAACE,OAAO,IAAI;EAAE,CAAG,CAAC;AAClC;AAEA,SAASC,iBAAiBA,CAACC,MAAqB,EAAE;EAChD,oBAAON,IAAA,SAAK,CAAC;AACf;AAEA,SAASO,cAAcA,CAAC;
|
|
1
|
+
{"version":3,"names":["extractNodeText","KaTeXRenderer","linkStyleForUrl","Fragment","_Fragment","jsx","_jsx","TextRenderer","node","children","content","LineBreakRenderer","_props","SoftBreakRenderer","StrongRenderer","styles","renderChildren","style","strong","EmphasisRenderer","emphasis","StrikethroughRenderer","strikethrough","UnderlineRenderer","underline","SuperscriptRenderer","superscript","SubscriptRenderer","subscript","HighlightRenderer","highlight","CodeRenderer","code","LinkRenderer","callbacks","url","attributes","handleClick","event","onLinkPress","preventDefault","handleContextMenu","onLinkLongPress","href","target","rel","onClick","onContextMenu","LatexMathInlineRenderer","capabilities","katex","displayMode","mathInline","inlineRenderers","Text","LineBreak","SoftBreak","Strong","Emphasis","Strikethrough","Underline","Superscript","Subscript","Highlight","Code","Link","LatexMathInline"],"sourceRoot":"../../../../src","sources":["web/renderers/InlineRenderers.tsx"],"mappings":"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","ignoreList":[]}
|