react-native-enriched-markdown-scaffold 0.7.4-scaffold.9 → 1.0.2-scaffold.10
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 +188 -1
- package/android/consumer-rules.pro +1 -1
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +27 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +7 -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 +27 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +7 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +223 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +183 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +65 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +1086 -61
- 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 +351 -13
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +62 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +85 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +160 -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 +76 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +126 -10
- package/android/src/main/java/com/swmansion/enriched/markdown/events/CopyPressEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/CopyRequestEvent.kt +28 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkLayoutEvent.kt +36 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/SelectionChangeEvent.kt +43 -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 +923 -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 +108 -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/LinkRenderer.kt +37 -7
- 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 +35 -28
- 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 +20 -82
- 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/InlineChipPainter.kt +140 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkChipSpans.kt +177 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkSpan.kt +1 -6
- 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/InlineMathStyle.kt +16 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkStyle.kt +36 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkVariantEntry.kt +7 -3
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +4 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathStyle.kt +3 -0
- 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 +84 -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 +52 -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/conversion/HTMLGenerator.kt +2 -1
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/conversion/MarkdownExtractor.kt +6 -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/HeadlessActionMode.kt +88 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLayoutCollector.kt +100 -0
- 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 +72 -16
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionChangeReporter.kt +232 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/BlockMenuOptions.kt +64 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +414 -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 +61 -11
- 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 +8 -2
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +1 -1
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlineSpan.kt +13 -6
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathMeasureHelper.kt +2 -1
- package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +26 -8
- 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 +405 -12
- package/docs/BREAKING_CHANGES.md +129 -0
- package/docs/CODE_HIGHLIGHT.md +133 -0
- package/docs/COPY_OPTIONS.md +61 -3
- package/docs/ELEMENTS_STRUCTURE.md +52 -4
- package/docs/IMAGE_CACHING.md +30 -0
- package/docs/INPUT.md +110 -11
- package/docs/LATEX_MATH.md +87 -45
- package/docs/MACOS.md +1 -1
- package/docs/MARKDOWN_STREAMING.md +27 -1
- package/docs/MENTIONS.md +8 -1
- package/docs/NATIVE_ASSETS.md +127 -0
- package/docs/RTL.md +1 -1
- package/docs/STYLES.md +73 -6
- package/docs/TESTING.md +112 -0
- package/docs/TEXT.md +18 -6
- package/docs/WEB.md +4 -1
- package/ios/EnrichedMarkdown.h +7 -0
- package/ios/EnrichedMarkdown.mm +583 -76
- package/ios/EnrichedMarkdownText.h +7 -0
- package/ios/EnrichedMarkdownText.mm +299 -73
- package/ios/attachments/ENRMImageAttachment.h +9 -0
- package/ios/attachments/ENRMImageAttachment.m +143 -40
- package/ios/attachments/ENRMMathInlineAttachment+macOS.m +2 -1
- package/ios/attachments/ENRMMathInlineAttachment.h +5 -0
- package/ios/attachments/ENRMMathInlineAttachment.m +50 -82
- package/ios/attachments/ENRMMathInlineAttachmentShared.h +2 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +223 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +183 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +65 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +1086 -61
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +181 -2
- 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 +41 -9
- 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 +27 -6
- 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 +6 -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 +50 -16
- 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 +42 -0
- package/ios/styles/StyleConfig.mm +216 -0
- package/ios/utils/BlockquoteBorder.h +6 -0
- package/ios/utils/BlockquoteBorder.m +249 -52
- package/ios/utils/CodeBackground.m +3 -65
- package/ios/utils/CodeBlockBackground.m +16 -2
- package/ios/utils/ENRMAtomicSize.h +65 -0
- package/ios/utils/ENRMBlockMenu.h +66 -0
- package/ios/utils/ENRMChipDrawing.h +24 -0
- package/ios/utils/ENRMChipDrawing.m +83 -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/ENRMLinkChip.h +70 -0
- package/ios/utils/ENRMLinkChip.m +213 -0
- package/ios/utils/ENRMLinkLayout.h +50 -0
- package/ios/utils/ENRMLinkLayout.m +45 -0
- 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/ENRMSelectionChange.h +120 -0
- package/ios/utils/ENRMSelectionChange.m +282 -0
- package/ios/utils/ENRMTextViewSetup.h +35 -17
- package/ios/utils/EditMenuUtils+macOS.m +4 -1
- package/ios/utils/EditMenuUtils.h +35 -6
- package/ios/utils/EditMenuUtils.m +188 -11
- package/ios/utils/HTMLGenerator.m +2 -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/MarkdownAccessibilityElementBuilder.m +3 -1
- package/ios/utils/MarkdownExtractor.m +2 -1
- package/ios/utils/ParagraphStyleUtils.h +5 -0
- package/ios/utils/ParagraphStyleUtils.m +77 -17
- package/ios/utils/RTFExportUtils.m +2 -0
- 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 +110 -1
- package/ios/utils/TaskListTapUtils.m +24 -0
- package/ios/utils/TextViewLayoutManager.mm +3 -0
- package/ios/views/ENRMCodeBlockContainerView.h +60 -0
- package/ios/views/ENRMCodeBlockContainerView.m +569 -0
- package/ios/views/ENRMMathContainerView.h +23 -0
- package/ios/views/ENRMMathContainerView.m +87 -20
- package/ios/views/TableContainerView.h +32 -0
- package/ios/views/TableContainerView.m +291 -175
- package/jest.d.ts +1 -0
- package/jest.js +5 -0
- package/lib/module/EnrichedMarkdownNativeComponent.ts +203 -1
- 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 +204 -1
- 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 +205 -0
- package/lib/module/jest/index.js.map +1 -0
- package/lib/module/native/EnrichedMarkdownText.js +199 -15
- package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
- package/lib/module/normalizeMarkdownStyle.js +98 -23
- package/lib/module/normalizeMarkdownStyle.js.map +1 -1
- package/lib/module/normalizeMarkdownStyle.web.js +73 -22
- 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 +15 -8
- 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 +102 -3
- 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 +101 -6
- package/lib/module/web/styles.js.map +1 -1
- package/lib/module/web/utils.js +14 -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 +185 -2
- 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 +185 -2
- 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 +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.web.d.ts +2 -2
- 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 +5 -5
- 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 +122 -5
- package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +39 -0
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownTextProps.d.ts +207 -10
- package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts +60 -1
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts.map +1 -1
- package/lib/typescript/src/types/events.d.ts +85 -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 +10 -2
- package/lib/typescript/src/web/types.d.ts.map +1 -1
- package/lib/typescript/src/web/utils.d.ts +4 -0
- 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 +203 -1
- package/src/EnrichedMarkdownTextInput.tsx +159 -8
- package/src/EnrichedMarkdownTextInputNativeComponent.ts +78 -5
- package/src/EnrichedMarkdownTextNativeComponent.ts +204 -1
- package/src/headingDefaults.ts +21 -0
- package/src/index.tsx +15 -0
- package/src/index.web.tsx +6 -1
- package/src/jest/index.tsx +236 -0
- package/src/native/EnrichedMarkdownText.tsx +260 -11
- package/src/normalizeMarkdownStyle.ts +117 -16
- package/src/normalizeMarkdownStyle.web.ts +76 -15
- package/src/normalizeMarkdownTextInputStyle.ts +110 -35
- package/src/normalizeMenuItem.ts +1 -1
- package/src/types/MarkdownStyle.ts +125 -5
- package/src/types/MarkdownStyleInternal.ts +51 -0
- package/src/types/MarkdownTextProps.ts +215 -10
- package/src/types/MarkdownTextProps.web.ts +62 -1
- package/src/types/events.ts +90 -0
- package/src/utils/textInputState.ts +35 -0
- package/src/web/EnrichedMarkdownText.tsx +26 -5
- package/src/web/parseMarkdown.ts +6 -2
- package/src/web/renderers/InlineRenderers.tsx +116 -3
- package/src/web/renderers/ListRenderers.tsx +14 -2
- package/src/web/renderers/index.tsx +6 -2
- package/src/web/styles.ts +114 -5
- package/src/web/types.ts +10 -1
- package/src/web/utils.ts +9 -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
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
#pragma mark - Rendering
|
|
12
12
|
|
|
13
|
-
- (void)
|
|
13
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
14
|
+
into:(NSMutableAttributedString *)output
|
|
15
|
+
context:(RenderContext *)context
|
|
14
16
|
{
|
|
15
17
|
NSUInteger start = output.length;
|
|
16
18
|
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
@implementation SubscriptRenderer
|
|
9
9
|
|
|
10
|
-
- (void)
|
|
10
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
11
|
+
into:(NSMutableAttributedString *)output
|
|
12
|
+
context:(RenderContext *)context
|
|
11
13
|
{
|
|
12
14
|
NSUInteger start = output.length;
|
|
13
15
|
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
@implementation SuperscriptRenderer
|
|
9
9
|
|
|
10
|
-
- (void)
|
|
10
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
11
|
+
into:(NSMutableAttributedString *)output
|
|
12
|
+
context:(RenderContext *)context
|
|
11
13
|
{
|
|
12
14
|
NSUInteger start = output.length;
|
|
13
15
|
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
@implementation TextRenderer
|
|
5
5
|
|
|
6
|
-
- (void)
|
|
6
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
7
|
+
into:(NSMutableAttributedString *)output
|
|
8
|
+
context:(RenderContext *)context
|
|
7
9
|
{
|
|
8
10
|
if (!node.content)
|
|
9
11
|
return;
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
@implementation ThematicBreakRenderer
|
|
9
9
|
|
|
10
|
-
- (void)
|
|
10
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
11
|
+
into:(NSMutableAttributedString *)output
|
|
12
|
+
context:(RenderContext *)context
|
|
11
13
|
{
|
|
12
14
|
[self ensureStartingNewline:output];
|
|
13
15
|
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
#pragma mark - Rendering
|
|
10
10
|
|
|
11
|
-
- (void)
|
|
11
|
+
- (void)renderNodeContent:(MarkdownASTNode *)node
|
|
12
|
+
into:(NSMutableAttributedString *)output
|
|
13
|
+
context:(RenderContext *)context
|
|
12
14
|
{
|
|
13
15
|
NSUInteger start = output.length;
|
|
14
16
|
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
package/ios/styles/StyleConfig.h
CHANGED
|
@@ -13,6 +13,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
13
13
|
@property (nonatomic, strong) RCTUIColor *color;
|
|
14
14
|
@property (nonatomic, assign) BOOL underline;
|
|
15
15
|
@property (nonatomic, strong, nullable) RCTUIColor *backgroundColor;
|
|
16
|
+
// Chip ("box") properties — never inherited from the base link style.
|
|
17
|
+
@property (nonatomic, assign) CGFloat borderRadius;
|
|
18
|
+
@property (nonatomic, assign) CGFloat paddingHorizontal;
|
|
19
|
+
@property (nonatomic, assign) CGFloat paddingVertical;
|
|
20
|
+
@property (nonatomic, strong, nullable) RCTUIColor *borderColor;
|
|
21
|
+
@property (nonatomic, assign) CGFloat borderWidth;
|
|
16
22
|
@end
|
|
17
23
|
|
|
18
24
|
@interface StyleConfig : NSObject <NSCopying>
|
|
@@ -166,6 +172,16 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
166
172
|
- (void)setLinkUnderline:(BOOL)newValue;
|
|
167
173
|
- (nullable RCTUIColor *)linkBackgroundColor;
|
|
168
174
|
- (void)setLinkBackgroundColor:(nullable RCTUIColor *)newValue;
|
|
175
|
+
- (CGFloat)linkBorderRadius;
|
|
176
|
+
- (void)setLinkBorderRadius:(CGFloat)newValue;
|
|
177
|
+
- (CGFloat)linkPaddingHorizontal;
|
|
178
|
+
- (void)setLinkPaddingHorizontal:(CGFloat)newValue;
|
|
179
|
+
- (CGFloat)linkPaddingVertical;
|
|
180
|
+
- (void)setLinkPaddingVertical:(CGFloat)newValue;
|
|
181
|
+
- (nullable RCTUIColor *)linkBorderColor;
|
|
182
|
+
- (void)setLinkBorderColor:(nullable RCTUIColor *)newValue;
|
|
183
|
+
- (CGFloat)linkBorderWidth;
|
|
184
|
+
- (void)setLinkBorderWidth:(CGFloat)newValue;
|
|
169
185
|
- (NSArray<LinkVariantConfig *> *)linkVariants;
|
|
170
186
|
- (void)setLinkVariants:(NSArray<LinkVariantConfig *> *)newValue;
|
|
171
187
|
- (nullable LinkVariantConfig *)effectiveLinkVariantForURL:(NSString *)url;
|
|
@@ -208,12 +224,20 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
208
224
|
// Image properties
|
|
209
225
|
- (CGFloat)imageHeight;
|
|
210
226
|
- (void)setImageHeight:(CGFloat)newValue;
|
|
227
|
+
- (CGFloat)imageMaxHeight;
|
|
228
|
+
- (void)setImageMaxHeight:(CGFloat)newValue;
|
|
229
|
+
- (CGFloat)imageAspectRatio;
|
|
230
|
+
- (void)setImageAspectRatio:(CGFloat)newValue;
|
|
231
|
+
- (NSString *)imageResizeMode;
|
|
232
|
+
- (void)setImageResizeMode:(NSString *)newValue;
|
|
211
233
|
- (CGFloat)imageBorderRadius;
|
|
212
234
|
- (void)setImageBorderRadius:(CGFloat)newValue;
|
|
213
235
|
- (CGFloat)imageMarginTop;
|
|
214
236
|
- (void)setImageMarginTop:(CGFloat)newValue;
|
|
215
237
|
- (CGFloat)imageMarginBottom;
|
|
216
238
|
- (void)setImageMarginBottom:(CGFloat)newValue;
|
|
239
|
+
- (nullable NSDictionary<NSString *, NSString *> *)imageRequestHeaders;
|
|
240
|
+
- (void)setImageRequestHeaders:(nullable NSDictionary<NSString *, NSString *> *)newValue;
|
|
217
241
|
// Inline image properties
|
|
218
242
|
- (CGFloat)inlineImageSize;
|
|
219
243
|
- (void)setInlineImageSize:(CGFloat)newValue;
|
|
@@ -241,6 +265,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
241
265
|
- (void)setBlockquoteGapWidth:(CGFloat)newValue;
|
|
242
266
|
- (RCTUIColor *)blockquoteBackgroundColor;
|
|
243
267
|
- (void)setBlockquoteBackgroundColor:(RCTUIColor *)newValue;
|
|
268
|
+
- (CGFloat)blockquoteBorderRadius;
|
|
269
|
+
- (void)setBlockquoteBorderRadius:(CGFloat)newValue;
|
|
270
|
+
- (CGFloat)blockquotePadding;
|
|
271
|
+
- (void)setBlockquotePadding:(CGFloat)newValue;
|
|
244
272
|
// List style properties (combined for both ordered and unordered lists)
|
|
245
273
|
- (CGFloat)listStyleFontSize;
|
|
246
274
|
- (void)setListStyleFontSize:(CGFloat)newValue;
|
|
@@ -270,6 +298,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
270
298
|
- (void)setListStyleGapWidth:(CGFloat)newValue;
|
|
271
299
|
- (CGFloat)listStyleMarginLeft;
|
|
272
300
|
- (void)setListStyleMarginLeft:(CGFloat)newValue;
|
|
301
|
+
- (CGFloat)listStyleItemSpacing;
|
|
302
|
+
- (void)setListStyleItemSpacing:(CGFloat)newValue;
|
|
273
303
|
- (UIFont *)listMarkerFont;
|
|
274
304
|
- (UIFont *)listStyleFont;
|
|
275
305
|
- (CGFloat)effectiveListGapWidth;
|
|
@@ -302,6 +332,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
302
332
|
- (CGFloat)codeBlockPadding;
|
|
303
333
|
- (void)setCodeBlockPadding:(CGFloat)newValue;
|
|
304
334
|
- (UIFont *)codeBlockFont;
|
|
335
|
+
// Syntax highlight colors, indexed by HighlightTokenType ordinal. Resolved on
|
|
336
|
+
// the JS side; the getter returns a cached color with no allocation.
|
|
337
|
+
- (RCTUIColor *_Nullable)codeBlockSyntaxColorForToken:(NSInteger)tokenType;
|
|
338
|
+
- (void)setCodeBlockSyntaxColor:(RCTUIColor *)newValue forToken:(NSInteger)tokenType;
|
|
305
339
|
// Thematic break properties
|
|
306
340
|
- (RCTUIColor *)thematicBreakColor;
|
|
307
341
|
- (void)setThematicBreakColor:(RCTUIColor *)newValue;
|
|
@@ -348,6 +382,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
348
382
|
- (void)setTableCellPaddingHorizontal:(CGFloat)newValue;
|
|
349
383
|
- (CGFloat)tableCellPaddingVertical;
|
|
350
384
|
- (void)setTableCellPaddingVertical:(CGFloat)newValue;
|
|
385
|
+
- (CGFloat)tableHorizontalOverflow;
|
|
386
|
+
- (void)setTableHorizontalOverflow:(CGFloat)newValue;
|
|
387
|
+
- (NSString *)tableAlign;
|
|
388
|
+
- (void)setTableAlign:(NSString *)newValue;
|
|
351
389
|
// Task list checkbox properties
|
|
352
390
|
- (RCTUIColor *)taskListCheckedColor;
|
|
353
391
|
- (void)setTaskListCheckedColor:(RCTUIColor *)newValue;
|
|
@@ -380,6 +418,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
380
418
|
- (void)setMathTextAlign:(NSString *)newValue;
|
|
381
419
|
- (NSString *)mathFontWeight;
|
|
382
420
|
- (void)setMathFontWeight:(NSString *)newValue;
|
|
421
|
+
- (CGFloat)mathGlyphOverflow;
|
|
422
|
+
- (void)setMathGlyphOverflow:(CGFloat)newValue;
|
|
383
423
|
|
|
384
424
|
// Inline Math properties
|
|
385
425
|
- (RCTUIColor *)inlineMathColor;
|
|
@@ -388,6 +428,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
388
428
|
- (void)setInlineMathPaddingVertical:(CGFloat)newValue;
|
|
389
429
|
- (NSString *)inlineMathFontWeight;
|
|
390
430
|
- (void)setInlineMathFontWeight:(NSString *)newValue;
|
|
431
|
+
- (CGFloat)inlineMathGlyphOverflow;
|
|
432
|
+
- (void)setInlineMathGlyphOverflow:(CGFloat)newValue;
|
|
391
433
|
// Spoiler properties
|
|
392
434
|
- (RCTUIColor *)spoilerColor;
|
|
393
435
|
- (void)setSpoilerColor:(RCTUIColor *)newValue;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
#import "StyleConfig.h"
|
|
2
|
+
#include "CodeBlockHighlighter.hpp"
|
|
2
3
|
#import "ENRMFontSlot.h"
|
|
3
4
|
#import "FontUtils.h"
|
|
4
5
|
#import <React/RCTFont.h>
|
|
5
6
|
#import <React/RCTUtils.h>
|
|
6
7
|
|
|
8
|
+
static const NSInteger kENRMCodeBlockSyntaxColorCount =
|
|
9
|
+
static_cast<NSInteger>(Markdown::HighlightTokenType::Embedded) + 1;
|
|
10
|
+
|
|
7
11
|
static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
8
12
|
{
|
|
9
13
|
// If nil or empty string, return nil to let RCTFont use fontFamily as-is
|
|
@@ -109,6 +113,11 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
109
113
|
RCTUIColor *_linkColor;
|
|
110
114
|
BOOL _linkUnderline;
|
|
111
115
|
RCTUIColor *_linkBackgroundColor;
|
|
116
|
+
CGFloat _linkBorderRadius;
|
|
117
|
+
CGFloat _linkPaddingHorizontal;
|
|
118
|
+
CGFloat _linkPaddingVertical;
|
|
119
|
+
RCTUIColor *_linkBorderColor;
|
|
120
|
+
CGFloat _linkBorderWidth;
|
|
112
121
|
NSArray<LinkVariantConfig *> *_linkVariants;
|
|
113
122
|
NSArray<LinkVariantRegexEntry *> *_compiledVariantRegexes;
|
|
114
123
|
// Strong properties
|
|
@@ -134,9 +143,13 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
134
143
|
RCTUIColor *_codeBorderColor;
|
|
135
144
|
// Image properties
|
|
136
145
|
CGFloat _imageHeight;
|
|
146
|
+
CGFloat _imageMaxHeight;
|
|
147
|
+
CGFloat _imageAspectRatio;
|
|
148
|
+
NSString *_imageResizeMode;
|
|
137
149
|
CGFloat _imageBorderRadius;
|
|
138
150
|
CGFloat _imageMarginTop;
|
|
139
151
|
CGFloat _imageMarginBottom;
|
|
152
|
+
NSDictionary<NSString *, NSString *> *_imageRequestHeaders;
|
|
140
153
|
// Inline image properties
|
|
141
154
|
CGFloat _inlineImageSize;
|
|
142
155
|
// Blockquote properties
|
|
@@ -151,6 +164,8 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
151
164
|
CGFloat _blockquoteBorderWidth;
|
|
152
165
|
CGFloat _blockquoteGapWidth;
|
|
153
166
|
RCTUIColor *_blockquoteBackgroundColor;
|
|
167
|
+
CGFloat _blockquoteBorderRadius;
|
|
168
|
+
CGFloat _blockquotePadding;
|
|
154
169
|
ENRMFontSlot *_blockquoteFont;
|
|
155
170
|
// List style properties (combined for both ordered and unordered lists)
|
|
156
171
|
CGFloat _listStyleFontSize;
|
|
@@ -167,6 +182,7 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
167
182
|
NSString *_listStyleMarkerFontWeight;
|
|
168
183
|
CGFloat _listStyleGapWidth;
|
|
169
184
|
CGFloat _listStyleMarginLeft;
|
|
185
|
+
CGFloat _listStyleItemSpacing;
|
|
170
186
|
ENRMFontSlot *_listMarkerFont;
|
|
171
187
|
ENRMFontSlot *_listStyleFont;
|
|
172
188
|
// Code block properties
|
|
@@ -182,6 +198,7 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
182
198
|
CGFloat _codeBlockBorderRadius;
|
|
183
199
|
CGFloat _codeBlockBorderWidth;
|
|
184
200
|
CGFloat _codeBlockPadding;
|
|
201
|
+
RCTUIColor *_codeBlockSyntaxColors[kENRMCodeBlockSyntaxColorCount];
|
|
185
202
|
ENRMFontSlot *_codeBlockFont;
|
|
186
203
|
// Thematic break properties
|
|
187
204
|
RCTUIColor *_thematicBreakColor;
|
|
@@ -208,6 +225,8 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
208
225
|
CGFloat _tableBorderRadius;
|
|
209
226
|
CGFloat _tableCellPaddingHorizontal;
|
|
210
227
|
CGFloat _tableCellPaddingVertical;
|
|
228
|
+
CGFloat _tableHorizontalOverflow;
|
|
229
|
+
NSString *_tableAlign;
|
|
211
230
|
// Task list checkbox
|
|
212
231
|
RCTUIColor *_taskListCheckedColor;
|
|
213
232
|
RCTUIColor *_taskListBorderColor;
|
|
@@ -225,10 +244,12 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
225
244
|
CGFloat _mathMarginBottom;
|
|
226
245
|
NSString *_mathTextAlign;
|
|
227
246
|
NSString *_mathFontWeight;
|
|
247
|
+
CGFloat _mathGlyphOverflow;
|
|
228
248
|
// Inline Math properties
|
|
229
249
|
RCTUIColor *_inlineMathColor;
|
|
230
250
|
CGFloat _inlineMathPaddingVertical;
|
|
231
251
|
NSString *_inlineMathFontWeight;
|
|
252
|
+
CGFloat _inlineMathGlyphOverflow;
|
|
232
253
|
// Spoiler properties
|
|
233
254
|
RCTUIColor *_spoilerColor;
|
|
234
255
|
CGFloat _spoilerParticleDensity;
|
|
@@ -391,6 +412,11 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
391
412
|
copy->_linkColor = [_linkColor copy];
|
|
392
413
|
copy->_linkUnderline = _linkUnderline;
|
|
393
414
|
copy->_linkBackgroundColor = [_linkBackgroundColor copy];
|
|
415
|
+
copy->_linkBorderRadius = _linkBorderRadius;
|
|
416
|
+
copy->_linkPaddingHorizontal = _linkPaddingHorizontal;
|
|
417
|
+
copy->_linkPaddingVertical = _linkPaddingVertical;
|
|
418
|
+
copy->_linkBorderColor = [_linkBorderColor copy];
|
|
419
|
+
copy->_linkBorderWidth = _linkBorderWidth;
|
|
394
420
|
copy->_linkVariants = [_linkVariants copy];
|
|
395
421
|
copy->_compiledVariantRegexes = [_compiledVariantRegexes copy];
|
|
396
422
|
copy->_strongFontFamily = [_strongFontFamily copy];
|
|
@@ -409,9 +435,13 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
409
435
|
copy->_codeBackgroundColor = [_codeBackgroundColor copy];
|
|
410
436
|
copy->_codeBorderColor = [_codeBorderColor copy];
|
|
411
437
|
copy->_imageHeight = _imageHeight;
|
|
438
|
+
copy->_imageMaxHeight = _imageMaxHeight;
|
|
439
|
+
copy->_imageAspectRatio = _imageAspectRatio;
|
|
440
|
+
copy->_imageResizeMode = [_imageResizeMode copy];
|
|
412
441
|
copy->_imageBorderRadius = _imageBorderRadius;
|
|
413
442
|
copy->_imageMarginTop = _imageMarginTop;
|
|
414
443
|
copy->_imageMarginBottom = _imageMarginBottom;
|
|
444
|
+
copy->_imageRequestHeaders = [_imageRequestHeaders copy];
|
|
415
445
|
copy->_inlineImageSize = _inlineImageSize;
|
|
416
446
|
copy->_blockquoteFontSize = _blockquoteFontSize;
|
|
417
447
|
copy->_blockquoteFontFamily = [_blockquoteFontFamily copy];
|
|
@@ -424,6 +454,8 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
424
454
|
copy->_blockquoteBorderWidth = _blockquoteBorderWidth;
|
|
425
455
|
copy->_blockquoteGapWidth = _blockquoteGapWidth;
|
|
426
456
|
copy->_blockquoteBackgroundColor = [_blockquoteBackgroundColor copy];
|
|
457
|
+
copy->_blockquoteBorderRadius = _blockquoteBorderRadius;
|
|
458
|
+
copy->_blockquotePadding = _blockquotePadding;
|
|
427
459
|
copy->_listStyleFontSize = _listStyleFontSize;
|
|
428
460
|
copy->_listStyleFontFamily = [_listStyleFontFamily copy];
|
|
429
461
|
copy->_listStyleFontWeight = [_listStyleFontWeight copy];
|
|
@@ -438,6 +470,7 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
438
470
|
copy->_listStyleMarkerFontWeight = [_listStyleMarkerFontWeight copy];
|
|
439
471
|
copy->_listStyleGapWidth = _listStyleGapWidth;
|
|
440
472
|
copy->_listStyleMarginLeft = _listStyleMarginLeft;
|
|
473
|
+
copy->_listStyleItemSpacing = _listStyleItemSpacing;
|
|
441
474
|
copy->_codeBlockFontSize = _codeBlockFontSize;
|
|
442
475
|
copy->_codeBlockFontFamily = [_codeBlockFontFamily copy];
|
|
443
476
|
copy->_codeBlockFontWeight = [_codeBlockFontWeight copy];
|
|
@@ -450,6 +483,9 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
450
483
|
copy->_codeBlockBorderRadius = _codeBlockBorderRadius;
|
|
451
484
|
copy->_codeBlockBorderWidth = _codeBlockBorderWidth;
|
|
452
485
|
copy->_codeBlockPadding = _codeBlockPadding;
|
|
486
|
+
for (NSInteger i = 0; i < kENRMCodeBlockSyntaxColorCount; i++) {
|
|
487
|
+
copy->_codeBlockSyntaxColors[i] = [_codeBlockSyntaxColors[i] copy];
|
|
488
|
+
}
|
|
453
489
|
copy->_thematicBreakColor = [_thematicBreakColor copy];
|
|
454
490
|
copy->_thematicBreakHeight = _thematicBreakHeight;
|
|
455
491
|
copy->_thematicBreakMarginTop = _thematicBreakMarginTop;
|
|
@@ -471,6 +507,8 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
471
507
|
copy->_tableBorderRadius = _tableBorderRadius;
|
|
472
508
|
copy->_tableCellPaddingHorizontal = _tableCellPaddingHorizontal;
|
|
473
509
|
copy->_tableCellPaddingVertical = _tableCellPaddingVertical;
|
|
510
|
+
copy->_tableHorizontalOverflow = _tableHorizontalOverflow;
|
|
511
|
+
copy->_tableAlign = [_tableAlign copy];
|
|
474
512
|
copy->_taskListCheckedColor = [_taskListCheckedColor copy];
|
|
475
513
|
copy->_taskListBorderColor = [_taskListBorderColor copy];
|
|
476
514
|
copy->_taskListCheckboxSize = _taskListCheckboxSize;
|
|
@@ -486,9 +524,11 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
486
524
|
copy->_mathMarginBottom = _mathMarginBottom;
|
|
487
525
|
copy->_mathTextAlign = [_mathTextAlign copy];
|
|
488
526
|
copy->_mathFontWeight = [_mathFontWeight copy];
|
|
527
|
+
copy->_mathGlyphOverflow = _mathGlyphOverflow;
|
|
489
528
|
copy->_inlineMathColor = [_inlineMathColor copy];
|
|
490
529
|
copy->_inlineMathPaddingVertical = _inlineMathPaddingVertical;
|
|
491
530
|
copy->_inlineMathFontWeight = [_inlineMathFontWeight copy];
|
|
531
|
+
copy->_inlineMathGlyphOverflow = _inlineMathGlyphOverflow;
|
|
492
532
|
copy->_spoilerColor = [_spoilerColor copy];
|
|
493
533
|
copy->_spoilerParticleDensity = _spoilerParticleDensity;
|
|
494
534
|
copy->_spoilerParticleSpeed = _spoilerParticleSpeed;
|
|
@@ -1308,6 +1348,56 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
1308
1348
|
_linkBackgroundColor = newValue;
|
|
1309
1349
|
}
|
|
1310
1350
|
|
|
1351
|
+
- (CGFloat)linkBorderRadius
|
|
1352
|
+
{
|
|
1353
|
+
return _linkBorderRadius;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
- (void)setLinkBorderRadius:(CGFloat)newValue
|
|
1357
|
+
{
|
|
1358
|
+
_linkBorderRadius = newValue;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
- (CGFloat)linkPaddingHorizontal
|
|
1362
|
+
{
|
|
1363
|
+
return _linkPaddingHorizontal;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
- (void)setLinkPaddingHorizontal:(CGFloat)newValue
|
|
1367
|
+
{
|
|
1368
|
+
_linkPaddingHorizontal = newValue;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
- (CGFloat)linkPaddingVertical
|
|
1372
|
+
{
|
|
1373
|
+
return _linkPaddingVertical;
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
- (void)setLinkPaddingVertical:(CGFloat)newValue
|
|
1377
|
+
{
|
|
1378
|
+
_linkPaddingVertical = newValue;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
- (RCTUIColor *)linkBorderColor
|
|
1382
|
+
{
|
|
1383
|
+
return _linkBorderColor;
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
- (void)setLinkBorderColor:(RCTUIColor *)newValue
|
|
1387
|
+
{
|
|
1388
|
+
_linkBorderColor = newValue;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
- (CGFloat)linkBorderWidth
|
|
1392
|
+
{
|
|
1393
|
+
return _linkBorderWidth;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
- (void)setLinkBorderWidth:(CGFloat)newValue
|
|
1397
|
+
{
|
|
1398
|
+
_linkBorderWidth = newValue;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1311
1401
|
- (NSArray<LinkVariantConfig *> *)linkVariants
|
|
1312
1402
|
{
|
|
1313
1403
|
return _linkVariants;
|
|
@@ -1509,6 +1599,36 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
1509
1599
|
_imageHeight = newValue;
|
|
1510
1600
|
}
|
|
1511
1601
|
|
|
1602
|
+
- (CGFloat)imageMaxHeight
|
|
1603
|
+
{
|
|
1604
|
+
return _imageMaxHeight;
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
- (void)setImageMaxHeight:(CGFloat)newValue
|
|
1608
|
+
{
|
|
1609
|
+
_imageMaxHeight = newValue;
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
- (CGFloat)imageAspectRatio
|
|
1613
|
+
{
|
|
1614
|
+
return _imageAspectRatio;
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
- (void)setImageAspectRatio:(CGFloat)newValue
|
|
1618
|
+
{
|
|
1619
|
+
_imageAspectRatio = newValue;
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
- (NSString *)imageResizeMode
|
|
1623
|
+
{
|
|
1624
|
+
return _imageResizeMode ?: @"";
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
- (void)setImageResizeMode:(NSString *)newValue
|
|
1628
|
+
{
|
|
1629
|
+
_imageResizeMode = newValue;
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1512
1632
|
- (CGFloat)imageBorderRadius
|
|
1513
1633
|
{
|
|
1514
1634
|
return _imageBorderRadius;
|
|
@@ -1539,6 +1659,16 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
1539
1659
|
_imageMarginBottom = newValue;
|
|
1540
1660
|
}
|
|
1541
1661
|
|
|
1662
|
+
- (NSDictionary<NSString *, NSString *> *)imageRequestHeaders
|
|
1663
|
+
{
|
|
1664
|
+
return _imageRequestHeaders;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
- (void)setImageRequestHeaders:(NSDictionary<NSString *, NSString *> *)newValue
|
|
1668
|
+
{
|
|
1669
|
+
_imageRequestHeaders = [newValue copy];
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1542
1672
|
- (CGFloat)inlineImageSize
|
|
1543
1673
|
{
|
|
1544
1674
|
return _inlineImageSize;
|
|
@@ -1681,6 +1811,26 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
1681
1811
|
_blockquoteBackgroundColor = newValue;
|
|
1682
1812
|
}
|
|
1683
1813
|
|
|
1814
|
+
- (CGFloat)blockquoteBorderRadius
|
|
1815
|
+
{
|
|
1816
|
+
return _blockquoteBorderRadius;
|
|
1817
|
+
}
|
|
1818
|
+
|
|
1819
|
+
- (void)setBlockquoteBorderRadius:(CGFloat)newValue
|
|
1820
|
+
{
|
|
1821
|
+
_blockquoteBorderRadius = newValue;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
- (CGFloat)blockquotePadding
|
|
1825
|
+
{
|
|
1826
|
+
return _blockquotePadding;
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
- (void)setBlockquotePadding:(CGFloat)newValue
|
|
1830
|
+
{
|
|
1831
|
+
_blockquotePadding = newValue;
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1684
1834
|
// List style properties (combined for both ordered and unordered lists)
|
|
1685
1835
|
- (CGFloat)listStyleFontSize
|
|
1686
1836
|
{
|
|
@@ -1831,6 +1981,16 @@ static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
|
1831
1981
|
_listStyleMarginLeft = newValue;
|
|
1832
1982
|
}
|
|
1833
1983
|
|
|
1984
|
+
- (CGFloat)listStyleItemSpacing
|
|
1985
|
+
{
|
|
1986
|
+
return _listStyleItemSpacing;
|
|
1987
|
+
}
|
|
1988
|
+
|
|
1989
|
+
- (void)setListStyleItemSpacing:(CGFloat)newValue
|
|
1990
|
+
{
|
|
1991
|
+
_listStyleItemSpacing = newValue;
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1834
1994
|
- (UIFont *)listMarkerFont
|
|
1835
1995
|
{
|
|
1836
1996
|
if (_listMarkerFont.needsRecreation || !_listMarkerFont.cachedFont) {
|
|
@@ -2028,6 +2188,22 @@ static const CGFloat kDefaultMinGap = 4.0;
|
|
|
2028
2188
|
return _codeBlockFont.cachedFont;
|
|
2029
2189
|
}
|
|
2030
2190
|
|
|
2191
|
+
- (RCTUIColor *)codeBlockSyntaxColorForToken:(NSInteger)tokenType
|
|
2192
|
+
{
|
|
2193
|
+
if (tokenType < 0 || tokenType >= kENRMCodeBlockSyntaxColorCount) {
|
|
2194
|
+
return nil;
|
|
2195
|
+
}
|
|
2196
|
+
return _codeBlockSyntaxColors[tokenType];
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
- (void)setCodeBlockSyntaxColor:(RCTUIColor *)newValue forToken:(NSInteger)tokenType
|
|
2200
|
+
{
|
|
2201
|
+
if (tokenType < 0 || tokenType >= kENRMCodeBlockSyntaxColorCount) {
|
|
2202
|
+
return;
|
|
2203
|
+
}
|
|
2204
|
+
_codeBlockSyntaxColors[tokenType] = newValue;
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2031
2207
|
// Thematic break properties
|
|
2032
2208
|
- (RCTUIColor *)thematicBreakColor
|
|
2033
2209
|
{
|
|
@@ -2280,6 +2456,26 @@ static const CGFloat kDefaultMinGap = 4.0;
|
|
|
2280
2456
|
_tableCellPaddingVertical = newValue;
|
|
2281
2457
|
}
|
|
2282
2458
|
|
|
2459
|
+
- (CGFloat)tableHorizontalOverflow
|
|
2460
|
+
{
|
|
2461
|
+
return _tableHorizontalOverflow;
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
- (void)setTableHorizontalOverflow:(CGFloat)newValue
|
|
2465
|
+
{
|
|
2466
|
+
_tableHorizontalOverflow = newValue;
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2469
|
+
- (NSString *)tableAlign
|
|
2470
|
+
{
|
|
2471
|
+
return _tableAlign ?: @"";
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
- (void)setTableAlign:(NSString *)newValue
|
|
2475
|
+
{
|
|
2476
|
+
_tableAlign = newValue;
|
|
2477
|
+
}
|
|
2478
|
+
|
|
2283
2479
|
// Task list
|
|
2284
2480
|
|
|
2285
2481
|
- (RCTUIColor *)taskListCheckedColor
|
|
@@ -2466,6 +2662,26 @@ static const CGFloat kDefaultMinGap = 4.0;
|
|
|
2466
2662
|
_inlineMathPaddingVertical = newValue;
|
|
2467
2663
|
}
|
|
2468
2664
|
|
|
2665
|
+
- (CGFloat)mathGlyphOverflow
|
|
2666
|
+
{
|
|
2667
|
+
return _mathGlyphOverflow;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
- (void)setMathGlyphOverflow:(CGFloat)newValue
|
|
2671
|
+
{
|
|
2672
|
+
_mathGlyphOverflow = newValue;
|
|
2673
|
+
}
|
|
2674
|
+
|
|
2675
|
+
- (CGFloat)inlineMathGlyphOverflow
|
|
2676
|
+
{
|
|
2677
|
+
return _inlineMathGlyphOverflow;
|
|
2678
|
+
}
|
|
2679
|
+
|
|
2680
|
+
- (void)setInlineMathGlyphOverflow:(CGFloat)newValue
|
|
2681
|
+
{
|
|
2682
|
+
_inlineMathGlyphOverflow = newValue;
|
|
2683
|
+
}
|
|
2684
|
+
|
|
2469
2685
|
// ── Spoiler ─────────────────────────────────────────────────────────────
|
|
2470
2686
|
|
|
2471
2687
|
- (RCTUIColor *)spoilerColor
|
|
@@ -6,6 +6,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
6
6
|
|
|
7
7
|
extern NSString *const BlockquoteDepthAttributeName;
|
|
8
8
|
extern NSString *const BlockquoteBackgroundColorAttributeName;
|
|
9
|
+
extern NSString *const BlockquoteSpacerAttributeName;
|
|
10
|
+
|
|
11
|
+
static inline CGFloat blockquoteIndentForDepth(NSInteger depth, CGFloat levelSpacing)
|
|
12
|
+
{
|
|
13
|
+
return depth * levelSpacing;
|
|
14
|
+
}
|
|
9
15
|
|
|
10
16
|
@interface BlockquoteBorder : NSObject
|
|
11
17
|
|