@mathers101/react-native-render-rich-text 0.1.10 → 0.1.14
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/LICENSE +20 -20
- package/README.md +140 -140
- package/ReactNativeRenderRichText.podspec +23 -23
- package/android/build.gradle +86 -86
- package/android/consumer-rules.pro +3 -3
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/java/com/renderrichtext/EnrichedTiptapTextLayoutManager.kt +24 -24
- package/android/src/main/java/com/renderrichtext/EnrichedTiptapTextPackage.kt +13 -13
- package/android/src/main/java/com/renderrichtext/MeasurementStore.kt +644 -644
- package/android/src/main/java/com/renderrichtext/accessibility/AccessibilityLabels.kt +17 -17
- package/android/src/main/java/com/renderrichtext/accessibility/AccessibleTiptapTextView.kt +112 -112
- package/android/src/main/java/com/renderrichtext/accessibility/TiptapAccessibilityHelper.kt +576 -576
- package/android/src/main/java/com/renderrichtext/events/CodeBlockPressEvent.kt +24 -24
- package/android/src/main/java/com/renderrichtext/events/ContextMenuItemPressEvent.kt +28 -28
- package/android/src/main/java/com/renderrichtext/events/CopyPressEvent.kt +24 -24
- package/android/src/main/java/com/renderrichtext/events/ImagePressEvent.kt +25 -25
- package/android/src/main/java/com/renderrichtext/events/LatexErrorEvent.kt +29 -29
- package/android/src/main/java/com/renderrichtext/events/LinkLongPressEvent.kt +23 -23
- package/android/src/main/java/com/renderrichtext/events/LinkPressEvent.kt +23 -23
- package/android/src/main/java/com/renderrichtext/events/MentionLongPressEvent.kt +25 -25
- package/android/src/main/java/com/renderrichtext/events/MentionPressEvent.kt +25 -25
- package/android/src/main/java/com/renderrichtext/events/TaskListItemPressEvent.kt +26 -26
- package/android/src/main/java/com/renderrichtext/math/LatexErrorReporter.kt +9 -9
- package/android/src/main/java/com/renderrichtext/parser/Parser.kt +59 -59
- package/android/src/main/java/com/renderrichtext/parser/TextLinkMatching.kt +35 -35
- package/android/src/main/java/com/renderrichtext/renderer/BaselineShiftRenderer.kt +45 -45
- package/android/src/main/java/com/renderrichtext/renderer/BlankLineRenderer.kt +39 -39
- package/android/src/main/java/com/renderrichtext/renderer/BlockquoteRenderer.kt +243 -243
- package/android/src/main/java/com/renderrichtext/renderer/BlockquoteTextRenderer.kt +56 -56
- package/android/src/main/java/com/renderrichtext/renderer/CodeBlockRenderer.kt +135 -135
- package/android/src/main/java/com/renderrichtext/renderer/CodeRenderer.kt +37 -37
- package/android/src/main/java/com/renderrichtext/renderer/EmphasisRenderer.kt +28 -28
- package/android/src/main/java/com/renderrichtext/renderer/HeadingRenderer.kt +81 -81
- package/android/src/main/java/com/renderrichtext/renderer/HighlightRenderer.kt +26 -26
- package/android/src/main/java/com/renderrichtext/renderer/LineBreakRenderer.kt +17 -17
- package/android/src/main/java/com/renderrichtext/renderer/LinkRenderer.kt +90 -90
- package/android/src/main/java/com/renderrichtext/renderer/ListContextManager.kt +109 -109
- package/android/src/main/java/com/renderrichtext/renderer/ListItemRenderer.kt +211 -211
- package/android/src/main/java/com/renderrichtext/renderer/ListRenderer.kt +133 -133
- package/android/src/main/java/com/renderrichtext/renderer/MentionRenderer.kt +85 -85
- package/android/src/main/java/com/renderrichtext/renderer/ParagraphRenderer.kt +91 -91
- package/android/src/main/java/com/renderrichtext/renderer/Renderer.kt +148 -148
- package/android/src/main/java/com/renderrichtext/renderer/SoftBreakRenderer.kt +17 -17
- package/android/src/main/java/com/renderrichtext/renderer/SpanStyleCache.kt +143 -143
- package/android/src/main/java/com/renderrichtext/renderer/StrikethroughRenderer.kt +28 -28
- package/android/src/main/java/com/renderrichtext/renderer/StrongRenderer.kt +28 -28
- package/android/src/main/java/com/renderrichtext/renderer/TextRenderer.kt +31 -31
- package/android/src/main/java/com/renderrichtext/renderer/ThematicBreakRenderer.kt +46 -46
- package/android/src/main/java/com/renderrichtext/renderer/UnderlineRenderer.kt +28 -28
- package/android/src/main/java/com/renderrichtext/spans/BaseListSpan.kt +164 -164
- package/android/src/main/java/com/renderrichtext/spans/BaselineShiftSpan.kt +27 -27
- package/android/src/main/java/com/renderrichtext/spans/BlockquoteSpan.kt +302 -302
- package/android/src/main/java/com/renderrichtext/spans/CodeBackgroundSpan.kt +205 -205
- package/android/src/main/java/com/renderrichtext/spans/CodeBlockSpan.kt +216 -216
- package/android/src/main/java/com/renderrichtext/spans/CodeSpan.kt +32 -32
- package/android/src/main/java/com/renderrichtext/spans/EmphasisSpan.kt +42 -42
- package/android/src/main/java/com/renderrichtext/spans/FadeInSpan.kt +29 -29
- package/android/src/main/java/com/renderrichtext/spans/HeadingSpan.kt +38 -38
- package/android/src/main/java/com/renderrichtext/spans/HighlightSpan.kt +80 -80
- package/android/src/main/java/com/renderrichtext/spans/ImageSpan.kt +481 -481
- package/android/src/main/java/com/renderrichtext/spans/InlineBackgroundGeometry.kt +42 -42
- package/android/src/main/java/com/renderrichtext/spans/LineHeightSpan.kt +39 -39
- package/android/src/main/java/com/renderrichtext/spans/LinkPillIconCache.kt +154 -154
- package/android/src/main/java/com/renderrichtext/spans/LinkPillSpan.kt +381 -381
- package/android/src/main/java/com/renderrichtext/spans/LinkSpan.kt +68 -68
- package/android/src/main/java/com/renderrichtext/spans/ListItemSpacingSpan.kt +33 -33
- package/android/src/main/java/com/renderrichtext/spans/ListMarkerAnchorSpan.kt +38 -38
- package/android/src/main/java/com/renderrichtext/spans/MarginBottomSpan.kt +76 -76
- package/android/src/main/java/com/renderrichtext/spans/MentionChipSpan.kt +132 -132
- package/android/src/main/java/com/renderrichtext/spans/MentionSpan.kt +46 -46
- package/android/src/main/java/com/renderrichtext/spans/OrderedListSpan.kt +127 -127
- package/android/src/main/java/com/renderrichtext/spans/SpoilerSpan.kt +33 -33
- package/android/src/main/java/com/renderrichtext/spans/StrikethroughSpan.kt +12 -12
- package/android/src/main/java/com/renderrichtext/spans/StrongSpan.kt +39 -39
- package/android/src/main/java/com/renderrichtext/spans/TaskListSpan.kt +143 -143
- package/android/src/main/java/com/renderrichtext/spans/TextSpan.kt +26 -26
- package/android/src/main/java/com/renderrichtext/spans/ThematicBreakSpan.kt +69 -69
- package/android/src/main/java/com/renderrichtext/spans/UnorderedListSpan.kt +96 -96
- package/android/src/main/java/com/renderrichtext/spoiler/SpoilerStubs.kt +46 -46
- package/android/src/main/java/com/renderrichtext/styles/BaseBlockStyle.kt +11 -11
- package/android/src/main/java/com/renderrichtext/styles/BlockquoteStyle.kt +83 -83
- package/android/src/main/java/com/renderrichtext/styles/CodeBlockStyle.kt +80 -80
- package/android/src/main/java/com/renderrichtext/styles/CodeStyle.kt +26 -26
- package/android/src/main/java/com/renderrichtext/styles/EmphasisStyle.kt +21 -21
- package/android/src/main/java/com/renderrichtext/styles/FactoidStyle.kt +21 -21
- package/android/src/main/java/com/renderrichtext/styles/HeadingStyle.kt +33 -33
- package/android/src/main/java/com/renderrichtext/styles/HighlightStyle.kt +19 -19
- package/android/src/main/java/com/renderrichtext/styles/ImageStyle.kt +29 -29
- package/android/src/main/java/com/renderrichtext/styles/InlineImageStyle.kt +17 -17
- package/android/src/main/java/com/renderrichtext/styles/InlineMathStyle.kt +17 -17
- package/android/src/main/java/com/renderrichtext/styles/LinkPillContent.kt +36 -36
- package/android/src/main/java/com/renderrichtext/styles/LinkPillStyle.kt +44 -44
- package/android/src/main/java/com/renderrichtext/styles/LinkStyle.kt +23 -23
- package/android/src/main/java/com/renderrichtext/styles/LinkVariantEntry.kt +34 -34
- package/android/src/main/java/com/renderrichtext/styles/ListStyle.kt +65 -65
- package/android/src/main/java/com/renderrichtext/styles/MathStyle.kt +29 -29
- package/android/src/main/java/com/renderrichtext/styles/MentionStyle.kt +19 -19
- package/android/src/main/java/com/renderrichtext/styles/ParagraphStyle.kt +33 -33
- package/android/src/main/java/com/renderrichtext/styles/SpoilerStyle.kt +27 -27
- package/android/src/main/java/com/renderrichtext/styles/StrikethroughStyle.kt +17 -17
- package/android/src/main/java/com/renderrichtext/styles/StrongStyle.kt +21 -21
- package/android/src/main/java/com/renderrichtext/styles/StyleConfig.kt +411 -411
- package/android/src/main/java/com/renderrichtext/styles/StyleParser.kt +92 -92
- package/android/src/main/java/com/renderrichtext/styles/SubscriptStyle.kt +16 -16
- package/android/src/main/java/com/renderrichtext/styles/SuperscriptStyle.kt +16 -16
- package/android/src/main/java/com/renderrichtext/styles/TableStyle.kt +75 -75
- package/android/src/main/java/com/renderrichtext/styles/TaskListStyle.kt +29 -29
- package/android/src/main/java/com/renderrichtext/styles/TextAlignment.kt +32 -32
- package/android/src/main/java/com/renderrichtext/styles/ThematicBreakStyle.kt +23 -23
- package/android/src/main/java/com/renderrichtext/styles/UnderlineStyle.kt +17 -17
- package/android/src/main/java/com/renderrichtext/styles/VideoStyle.kt +31 -31
- package/android/src/main/java/com/renderrichtext/utils/common/BorderStyleUtils.kt +86 -86
- package/android/src/main/java/com/renderrichtext/utils/common/BreakStrategyUtils.kt +32 -32
- package/android/src/main/java/com/renderrichtext/utils/common/CodeBlockHighlighter.kt +36 -36
- package/android/src/main/java/com/renderrichtext/utils/common/CodeBlockNode.kt +42 -42
- package/android/src/main/java/com/renderrichtext/utils/common/EllipsizeUtils.kt +27 -27
- package/android/src/main/java/com/renderrichtext/utils/common/EnrichedTiptapAncestorUtils.kt +10 -10
- package/android/src/main/java/com/renderrichtext/utils/common/FeatureFlags.kt +9 -9
- package/android/src/main/java/com/renderrichtext/utils/common/LinkRecognitionProps.kt +31 -31
- package/android/src/main/java/com/renderrichtext/utils/common/LinkRegexConfig.kt +56 -56
- package/android/src/main/java/com/renderrichtext/utils/common/MotionPreferences.kt +18 -18
- package/android/src/main/java/com/renderrichtext/utils/common/ReadableMapExtensions.kt +28 -28
- package/android/src/main/java/com/renderrichtext/utils/common/layout/RTLUtils.kt +6 -6
- package/android/src/main/java/com/renderrichtext/utils/common/serialization/TiptapASTSerializer.kt +368 -368
- package/android/src/main/java/com/renderrichtext/utils/text/ImageCache.kt +88 -88
- package/android/src/main/java/com/renderrichtext/utils/text/ImageDownloader.kt +203 -203
- package/android/src/main/java/com/renderrichtext/utils/text/LocalImageLoader.kt +167 -167
- package/android/src/main/java/com/renderrichtext/utils/text/TailFadeInAnimator.kt +84 -84
- package/android/src/main/java/com/renderrichtext/utils/text/conversion/HTMLGenerator.kt +1105 -1105
- package/android/src/main/java/com/renderrichtext/utils/text/conversion/TiptapExtractor.kt +423 -423
- package/android/src/main/java/com/renderrichtext/utils/text/extensions/ParagraphUtils.kt +9 -9
- package/android/src/main/java/com/renderrichtext/utils/text/extensions/SpannableExtensions.kt +9 -9
- package/android/src/main/java/com/renderrichtext/utils/text/extensions/TextPaintExtensions.kt +76 -76
- package/android/src/main/java/com/renderrichtext/utils/text/interaction/CheckboxTouchHelper.kt +61 -61
- package/android/src/main/java/com/renderrichtext/utils/text/interaction/TaskListTapUtils.kt +286 -286
- package/android/src/main/java/com/renderrichtext/utils/text/span/ApplyLineHeight.kt +39 -39
- package/android/src/main/java/com/renderrichtext/utils/text/span/BlockSpacing.kt +142 -142
- package/android/src/main/java/com/renderrichtext/utils/text/span/SpanFlags.kt +43 -43
- package/android/src/main/java/com/renderrichtext/utils/text/span/WidthAwareSpans.kt +30 -30
- package/android/src/main/java/com/renderrichtext/utils/text/view/CodeBlockPressHost.kt +15 -15
- package/android/src/main/java/com/renderrichtext/utils/text/view/ImagePressHost.kt +19 -19
- package/android/src/main/java/com/renderrichtext/utils/text/view/SelectionActionMode.kt +235 -235
- package/android/src/main/java/com/renderrichtext/utils/text/view/TextSelectionColors.kt +48 -48
- package/android/src/main/java/com/renderrichtext/utils/text/view/TextViewSetup.kt +119 -119
- package/android/src/main/java/com/renderrichtext/views/ContextMenuPopup.kt +217 -217
- package/android/src/main/java/com/renderrichtext/views/CopyGlyph.kt +101 -101
- package/android/src/main/java/com/renderrichtext/views/WrapGlyph.kt +40 -40
- package/android/src/main/jni/CMakeLists.txt +52 -52
- package/android/src/main/jni/react/renderer/components/RichTextSpec/ComponentDescriptors.h +30 -30
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextComponentDescriptor.h +29 -29
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextMeasurementManager.cpp +45 -45
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextMeasurementManager.h +21 -21
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextShadowNode.cpp +38 -38
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextShadowNode.h +53 -53
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextState.cpp +9 -9
- package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextState.h +24 -24
- package/android/src/main/jni/react/renderer/components/RichTextSpec/conversions.h +40 -40
- package/cpp/parser/TiptapParser.hpp +13 -13
- package/cpp/vendor/nlohmann/json.hpp +24765 -24765
- package/ios/EnrichedTiptapText.h +27 -27
- package/ios/attachments/ENRMImageAttachment.h +51 -51
- package/ios/attachments/ENRMImageAttachment.m +398 -398
- package/ios/attachments/ENRMLinkPillAttachment.h +47 -47
- package/ios/attachments/ENRMLinkPillAttachment.m +324 -324
- package/ios/attachments/ENRMLinkPillIconCache.h +28 -28
- package/ios/attachments/ENRMLinkPillIconCache.m +181 -181
- package/ios/attachments/ENRMLinkPillText.h +27 -27
- package/ios/attachments/ENRMLinkPillText.m +118 -118
- package/ios/attachments/ENRMMathInlineAttachment.h +7 -7
- package/ios/attachments/ENRMMathInlineAttachment.m +4 -4
- package/ios/attachments/ThematicBreakAttachment.h +15 -15
- package/ios/attachments/ThematicBreakAttachment.m +33 -33
- package/ios/internals/ENRMViewFreeMeasurement.h +208 -208
- package/ios/internals/EnrichedTiptapTextComponentDescriptor.h +19 -19
- package/ios/internals/EnrichedTiptapTextShadowNode.h +43 -43
- package/ios/internals/EnrichedTiptapTextShadowNode.mm +69 -69
- package/ios/internals/EnrichedTiptapTextState.h +24 -24
- package/ios/internals/MeasurementCache.h +308 -308
- package/ios/internals/ShadowMeasurementUtils.h +145 -145
- package/ios/parser/ENRMTextLinkAttributes.h +7 -7
- package/ios/parser/ENRMTiptapParser.h +33 -33
- package/ios/parser/ENRMTiptapParser.mm +73 -73
- package/ios/parser/TiptapASTNode.m +52 -52
- package/ios/renderer/AttributedRenderer.h +23 -23
- package/ios/renderer/AttributedRenderer.m +229 -229
- package/ios/renderer/BaseRenderer.h +33 -33
- package/ios/renderer/BaseRenderer.m +46 -46
- package/ios/renderer/BaselineShiftTextAttributes.h +10 -10
- package/ios/renderer/BaselineShiftTextAttributes.m +26 -26
- package/ios/renderer/BlankLineRenderer.h +4 -4
- package/ios/renderer/BlankLineRenderer.m +51 -51
- package/ios/renderer/BlockquoteRenderer.h +6 -6
- package/ios/renderer/BlockquoteRenderer.m +258 -258
- package/ios/renderer/CodeBlockRenderer.h +9 -9
- package/ios/renderer/CodeBlockRenderer.m +99 -99
- package/ios/renderer/CodeRenderer.h +9 -9
- package/ios/renderer/CodeRenderer.m +69 -69
- package/ios/renderer/ENRMBlockquoteTextRenderer.h +25 -25
- package/ios/renderer/ENRMBlockquoteTextRenderer.m +48 -48
- package/ios/renderer/EmphasisRenderer.h +5 -5
- package/ios/renderer/EmphasisRenderer.m +99 -99
- package/ios/renderer/HeadingRenderer.h +6 -6
- package/ios/renderer/HeadingRenderer.m +102 -102
- package/ios/renderer/HighlightRenderer.h +7 -7
- package/ios/renderer/HighlightRenderer.m +33 -33
- package/ios/renderer/LinkRenderer.h +6 -6
- package/ios/renderer/LinkRenderer.m +157 -157
- package/ios/renderer/ListItemRenderer.h +24 -24
- package/ios/renderer/ListItemRenderer.m +283 -283
- package/ios/renderer/ListRenderer.h +13 -13
- package/ios/renderer/ListRenderer.m +126 -126
- package/ios/renderer/MentionRenderer.h +9 -9
- package/ios/renderer/MentionRenderer.m +96 -96
- package/ios/renderer/NodeRenderer.h +8 -8
- package/ios/renderer/ParagraphRenderer.h +6 -6
- package/ios/renderer/ParagraphRenderer.m +85 -85
- package/ios/renderer/RenderContext.h +145 -145
- package/ios/renderer/RenderContext.m +402 -402
- package/ios/renderer/RendererFactory.h +12 -12
- package/ios/renderer/StrikethroughRenderer.h +5 -5
- package/ios/renderer/StrikethroughRenderer.m +30 -30
- package/ios/renderer/StrongRenderer.h +5 -5
- package/ios/renderer/StrongRenderer.m +87 -87
- package/ios/renderer/TextRenderer.h +6 -6
- package/ios/renderer/TextRenderer.m +18 -18
- package/ios/renderer/ThematicBreakRenderer.h +4 -4
- package/ios/renderer/ThematicBreakRenderer.m +41 -41
- package/ios/renderer/UnderlineRenderer.h +4 -4
- package/ios/renderer/UnderlineRenderer.m +41 -41
- package/ios/styles/ENRMFontSlot.h +12 -12
- package/ios/styles/ENRMFontSlot.m +24 -24
- package/ios/styles/StyleConfig.h +488 -488
- package/ios/styles/StyleConfig.mm +2820 -2820
- package/ios/utils/AccessibilityInfo.h +35 -35
- package/ios/utils/AccessibilityInfo.m +24 -24
- package/ios/utils/BlockquoteBorder.h +26 -26
- package/ios/utils/BlockquoteBorder.m +294 -294
- package/ios/utils/CodeBackground.h +19 -19
- package/ios/utils/CodeBackground.m +196 -196
- package/ios/utils/CodeBlockBackground.h +17 -17
- package/ios/utils/CodeBlockBackground.m +102 -102
- package/ios/utils/ContextMenuUtils.h +76 -76
- package/ios/utils/ContextMenuUtils.mm +75 -75
- package/ios/utils/ENRMAccessibilityLabels.h +40 -40
- package/ios/utils/ENRMAccessibilityLabels.m +5 -5
- package/ios/utils/ENRMAsyncRenderCoordinator.h +24 -24
- package/ios/utils/ENRMAsyncRenderCoordinator.m +37 -37
- package/ios/utils/ENRMAtomicSize.h +65 -65
- package/ios/utils/ENRMCodeBlockContent.h +37 -37
- package/ios/utils/ENRMCodeBlockContent.mm +89 -89
- package/ios/utils/ENRMFeatureFlags.h +25 -25
- package/ios/utils/ENRMImageDownloader.h +30 -30
- package/ios/utils/ENRMImageDownloader.m +168 -168
- package/ios/utils/ENRMLatexErrorCoordinator.h +27 -27
- package/ios/utils/ENRMLatexErrorCoordinator.mm +75 -75
- package/ios/utils/ENRMLatexErrorReporting.h +13 -13
- package/ios/utils/ENRMLinkContextMenus.h +93 -93
- package/ios/utils/ENRMLinkContextMenus.m +178 -178
- package/ios/utils/ENRMLinkRegexConfig.h +30 -30
- package/ios/utils/ENRMLinkRegexConfig.mm +104 -104
- package/ios/utils/ENRMLinkRegexProps.h +23 -23
- package/ios/utils/ENRMLocalImageLoader.h +35 -35
- package/ios/utils/ENRMLocalImageLoader.m +111 -111
- package/ios/utils/ENRMMenuAction.h +27 -27
- package/ios/utils/ENRMMenuAction.m +33 -33
- package/ios/utils/ENRMSpoilerOverlayManager.h +15 -15
- package/ios/utils/ENRMSpoilerOverlayManager.m +19 -19
- package/ios/utils/ENRMSpoilerTapUtils.h +6 -6
- package/ios/utils/ENRMSpoilerTapUtils.m +11 -11
- package/ios/utils/ENRMTailFadeInAnimator.h +16 -16
- package/ios/utils/ENRMTailFadeInAnimator.m +161 -161
- package/ios/utils/ENRMTextHitTest.h +23 -23
- package/ios/utils/ENRMTextHitTest.m +20 -20
- package/ios/utils/ENRMTextInteractionUtils.h +20 -20
- package/ios/utils/ENRMTextInteractionUtils.m +15 -15
- package/ios/utils/ENRMTextRenderer.h +38 -38
- package/ios/utils/ENRMTextRenderer.m +54 -54
- package/ios/utils/ENRMTextViewSetup.h +132 -132
- package/ios/utils/ENRMUIKit.h +429 -429
- package/ios/utils/EditMenuUtils.h +105 -105
- package/ios/utils/EditMenuUtils.m +143 -143
- package/ios/utils/FontScaleObserver.h +10 -10
- package/ios/utils/FontScaleObserver.m +55 -55
- package/ios/utils/FontUtils.h +31 -31
- package/ios/utils/FontUtils.m +63 -63
- package/ios/utils/HTMLGenerator.h +25 -25
- package/ios/utils/HTMLGenerator.m +1041 -1041
- package/ios/utils/HeightUpdateUtils.h +25 -25
- package/ios/utils/ImageRequestHeaderUtils.h +35 -35
- package/ios/utils/LastElementUtils.h +97 -97
- package/ios/utils/LinkContextMenuUtils.h +55 -55
- package/ios/utils/LinkPillContentUtils.h +46 -46
- package/ios/utils/ListMarkerDrawer.h +15 -15
- package/ios/utils/ListMarkerDrawer.m +239 -239
- package/ios/utils/MentionBackground.h +26 -26
- package/ios/utils/MentionBackground.m +86 -86
- package/ios/utils/ParagraphStyleUtils.h +87 -87
- package/ios/utils/ParagraphStyleUtils.m +484 -484
- package/ios/utils/PasteboardUtils.h +48 -48
- package/ios/utils/PasteboardUtils.m +166 -166
- package/ios/utils/RTFExportUtils.h +24 -24
- package/ios/utils/RTFExportUtils.m +299 -299
- package/ios/utils/SelectionColorUtils.h +14 -14
- package/ios/utils/StylePropsUtils.h +1340 -1340
- package/ios/utils/TaskListTapUtils.h +6 -6
- package/ios/utils/TaskListTapUtils.m +14 -14
- package/ios/utils/TextViewLayoutManager.h +14 -14
- package/ios/utils/TiptapAccessibilityElementBuilder.h +43 -43
- package/ios/utils/TiptapAccessibilityElementBuilder.m +432 -432
- package/ios/utils/TiptapExtractor.h +17 -17
- package/ios/utils/TiptapExtractor.m +367 -367
- package/ios/views/ENRMTiptapTextView.h +25 -25
- package/ios/views/ENRMTiptapTextView.m +247 -247
- package/package.json +65 -70
- package/react-native.config.js +10 -10
- package/src/admonitionDefaults.ts +58 -58
- package/src/darkModeTextStyle.ts +99 -99
- package/src/headingDefaults.ts +21 -21
- package/src/index.tsx +4 -4
- package/src/linkVariantUtils.ts +120 -120
- package/src/normalizeTiptapStyle.ts +397 -397
- package/src/rn-globals.d.ts +1 -1
- package/src/styleUtils.ts +107 -107
- package/src/types/TiptapStyle.ts +532 -532
- package/src/types/TiptapStyleInternal.ts +299 -299
- package/src/types/linkPill.ts +9 -9
- package/src/utils/isDev.ts +4 -4
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
#import "BaseRenderer.h"
|
|
2
|
-
#import "RenderContext.h"
|
|
3
|
-
#import "RendererFactory.h"
|
|
4
|
-
#import "StyleConfig.h"
|
|
5
|
-
|
|
6
|
-
@implementation BaseRenderer
|
|
7
|
-
|
|
8
|
-
- (instancetype)initWithRendererFactory:(id)rendererFactory config:(id)config
|
|
9
|
-
{
|
|
10
|
-
if (self = [super init]) {
|
|
11
|
-
_rendererFactory = rendererFactory;
|
|
12
|
-
_config = (StyleConfig *)config;
|
|
13
|
-
}
|
|
14
|
-
return self;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
- (void)renderNode:(TiptapASTNode *)node into:(NSMutableAttributedString *)output context:(RenderContext *)context
|
|
18
|
-
{
|
|
19
|
-
id snapshot = [self takeContextSnapshot:context];
|
|
20
|
-
@try {
|
|
21
|
-
[self renderNodeContent:node into:output context:context];
|
|
22
|
-
} @finally {
|
|
23
|
-
[self restoreContextSnapshot:snapshot context:context];
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
28
|
-
into:(NSMutableAttributedString *)output
|
|
29
|
-
context:(RenderContext *)context
|
|
30
|
-
{
|
|
31
|
-
[self doesNotRecognizeSelector:_cmd];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
- (id)takeContextSnapshot:(RenderContext *)context
|
|
35
|
-
{
|
|
36
|
-
return nil;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
- (void)restoreContextSnapshot:(id)snapshot context:(RenderContext *)context
|
|
40
|
-
{
|
|
41
|
-
if (snapshot) {
|
|
42
|
-
[context restoreScope:snapshot];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@end
|
|
1
|
+
#import "BaseRenderer.h"
|
|
2
|
+
#import "RenderContext.h"
|
|
3
|
+
#import "RendererFactory.h"
|
|
4
|
+
#import "StyleConfig.h"
|
|
5
|
+
|
|
6
|
+
@implementation BaseRenderer
|
|
7
|
+
|
|
8
|
+
- (instancetype)initWithRendererFactory:(id)rendererFactory config:(id)config
|
|
9
|
+
{
|
|
10
|
+
if (self = [super init]) {
|
|
11
|
+
_rendererFactory = rendererFactory;
|
|
12
|
+
_config = (StyleConfig *)config;
|
|
13
|
+
}
|
|
14
|
+
return self;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
- (void)renderNode:(TiptapASTNode *)node into:(NSMutableAttributedString *)output context:(RenderContext *)context
|
|
18
|
+
{
|
|
19
|
+
id snapshot = [self takeContextSnapshot:context];
|
|
20
|
+
@try {
|
|
21
|
+
[self renderNodeContent:node into:output context:context];
|
|
22
|
+
} @finally {
|
|
23
|
+
[self restoreContextSnapshot:snapshot context:context];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
28
|
+
into:(NSMutableAttributedString *)output
|
|
29
|
+
context:(RenderContext *)context
|
|
30
|
+
{
|
|
31
|
+
[self doesNotRecognizeSelector:_cmd];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
- (id)takeContextSnapshot:(RenderContext *)context
|
|
35
|
+
{
|
|
36
|
+
return nil;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
- (void)restoreContextSnapshot:(id)snapshot context:(RenderContext *)context
|
|
40
|
+
{
|
|
41
|
+
if (snapshot) {
|
|
42
|
+
[context restoreScope:snapshot];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
#import "ENRMUIKit.h"
|
|
3
|
-
#import <Foundation/Foundation.h>
|
|
4
|
-
|
|
5
|
-
extern NSString *const ENRMScriptAttributeName;
|
|
6
|
-
extern NSString *const ENRMScriptValueSuperscript;
|
|
7
|
-
extern NSString *const ENRMScriptValueSubscript;
|
|
8
|
-
|
|
9
|
-
void ENRMApplyBaselineShift(NSMutableAttributedString *output, NSRange range, CGFloat fontScale,
|
|
10
|
-
CGFloat baselineOffsetScale);
|
|
1
|
+
#pragma once
|
|
2
|
+
#import "ENRMUIKit.h"
|
|
3
|
+
#import <Foundation/Foundation.h>
|
|
4
|
+
|
|
5
|
+
extern NSString *const ENRMScriptAttributeName;
|
|
6
|
+
extern NSString *const ENRMScriptValueSuperscript;
|
|
7
|
+
extern NSString *const ENRMScriptValueSubscript;
|
|
8
|
+
|
|
9
|
+
void ENRMApplyBaselineShift(NSMutableAttributedString *output, NSRange range, CGFloat fontScale,
|
|
10
|
+
CGFloat baselineOffsetScale);
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
#import "BaselineShiftTextAttributes.h"
|
|
2
|
-
|
|
3
|
-
NSString *const ENRMScriptAttributeName = @"ENRMScript";
|
|
4
|
-
NSString *const ENRMScriptValueSuperscript = @"superscript";
|
|
5
|
-
NSString *const ENRMScriptValueSubscript = @"subscript";
|
|
6
|
-
|
|
7
|
-
void ENRMApplyBaselineShift(NSMutableAttributedString *output, NSRange range, CGFloat fontScale,
|
|
8
|
-
CGFloat baselineOffsetScale)
|
|
9
|
-
{
|
|
10
|
-
[output enumerateAttribute:NSFontAttributeName
|
|
11
|
-
inRange:range
|
|
12
|
-
options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
|
|
13
|
-
usingBlock:^(UIFont *font, NSRange fontRange, BOOL *stop) {
|
|
14
|
-
(void)stop;
|
|
15
|
-
if (![font isKindOfClass:UIFont.class]) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
UIFont *scaledFont = [UIFont fontWithDescriptor:font.fontDescriptor
|
|
20
|
-
size:font.pointSize * fontScale];
|
|
21
|
-
[output addAttribute:NSFontAttributeName value:scaledFont range:fontRange];
|
|
22
|
-
[output addAttribute:NSBaselineOffsetAttributeName
|
|
23
|
-
value:@(font.pointSize * baselineOffsetScale)
|
|
24
|
-
range:fontRange];
|
|
25
|
-
}];
|
|
26
|
-
}
|
|
1
|
+
#import "BaselineShiftTextAttributes.h"
|
|
2
|
+
|
|
3
|
+
NSString *const ENRMScriptAttributeName = @"ENRMScript";
|
|
4
|
+
NSString *const ENRMScriptValueSuperscript = @"superscript";
|
|
5
|
+
NSString *const ENRMScriptValueSubscript = @"subscript";
|
|
6
|
+
|
|
7
|
+
void ENRMApplyBaselineShift(NSMutableAttributedString *output, NSRange range, CGFloat fontScale,
|
|
8
|
+
CGFloat baselineOffsetScale)
|
|
9
|
+
{
|
|
10
|
+
[output enumerateAttribute:NSFontAttributeName
|
|
11
|
+
inRange:range
|
|
12
|
+
options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
|
|
13
|
+
usingBlock:^(UIFont *font, NSRange fontRange, BOOL *stop) {
|
|
14
|
+
(void)stop;
|
|
15
|
+
if (![font isKindOfClass:UIFont.class]) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
UIFont *scaledFont = [UIFont fontWithDescriptor:font.fontDescriptor
|
|
20
|
+
size:font.pointSize * fontScale];
|
|
21
|
+
[output addAttribute:NSFontAttributeName value:scaledFont range:fontRange];
|
|
22
|
+
[output addAttribute:NSBaselineOffsetAttributeName
|
|
23
|
+
value:@(font.pointSize * baselineOffsetScale)
|
|
24
|
+
range:fontRange];
|
|
25
|
+
}];
|
|
26
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#import "BaseRenderer.h"
|
|
2
|
-
|
|
3
|
-
@interface BlankLineRenderer : BaseRenderer
|
|
4
|
-
@end
|
|
1
|
+
#import "BaseRenderer.h"
|
|
2
|
+
|
|
3
|
+
@interface BlankLineRenderer : BaseRenderer
|
|
4
|
+
@end
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
#import "BlankLineRenderer.h"
|
|
2
|
-
#import "TiptapASTNode.h"
|
|
3
|
-
#import "ParagraphStyleUtils.h"
|
|
4
|
-
#import "StyleConfig.h"
|
|
5
|
-
|
|
6
|
-
#pragma mark - Renderer Implementation
|
|
7
|
-
|
|
8
|
-
// Renders a run of consecutive blank lines emitted by the parser when the
|
|
9
|
-
// preserveBlankLines flag is enabled. Each blank line in the source is drawn as
|
|
10
|
-
// one empty line, so the rendered text keeps the exact line count that was typed
|
|
11
|
-
// (e.g. in EnrichedTiptapTextInput). The empty lines use the paragraph font
|
|
12
|
-
// and line height so their vertical rhythm matches the surrounding paragraphs;
|
|
13
|
-
// any extra block spacing is left to the caller to configure via tiptapStyle.
|
|
14
|
-
@implementation BlankLineRenderer
|
|
15
|
-
|
|
16
|
-
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
17
|
-
into:(NSMutableAttributedString *)output
|
|
18
|
-
context:(RenderContext *)context
|
|
19
|
-
{
|
|
20
|
-
NSInteger count = [node.attributes[@"count"] integerValue];
|
|
21
|
-
if (count <= 0) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
[self ensureStartingNewline:output];
|
|
26
|
-
|
|
27
|
-
NSDictionary *attributes = @{NSFontAttributeName : _config.paragraphFont};
|
|
28
|
-
|
|
29
|
-
NSMutableString *blanks = [NSMutableString stringWithCapacity:(NSUInteger)count];
|
|
30
|
-
for (NSInteger i = 0; i < count; i++) {
|
|
31
|
-
[blanks appendString:@"\n"];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
NSUInteger start = output.length;
|
|
35
|
-
[output appendAttributedString:[[NSAttributedString alloc] initWithString:blanks attributes:attributes]];
|
|
36
|
-
|
|
37
|
-
NSRange range = NSMakeRange(start, output.length - start);
|
|
38
|
-
applyLineHeight(output, range, _config.paragraphLineHeight);
|
|
39
|
-
applyTextAlignment(output, range, _config.paragraphTextAlign);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
#pragma mark - Private Utilities
|
|
43
|
-
|
|
44
|
-
- (void)ensureStartingNewline:(NSMutableAttributedString *)output
|
|
45
|
-
{
|
|
46
|
-
if (output.length > 0 && ![output.string hasSuffix:@"\n"]) {
|
|
47
|
-
[output appendAttributedString:[[NSAttributedString alloc] initWithString:@"\n"]];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@end
|
|
1
|
+
#import "BlankLineRenderer.h"
|
|
2
|
+
#import "TiptapASTNode.h"
|
|
3
|
+
#import "ParagraphStyleUtils.h"
|
|
4
|
+
#import "StyleConfig.h"
|
|
5
|
+
|
|
6
|
+
#pragma mark - Renderer Implementation
|
|
7
|
+
|
|
8
|
+
// Renders a run of consecutive blank lines emitted by the parser when the
|
|
9
|
+
// preserveBlankLines flag is enabled. Each blank line in the source is drawn as
|
|
10
|
+
// one empty line, so the rendered text keeps the exact line count that was typed
|
|
11
|
+
// (e.g. in EnrichedTiptapTextInput). The empty lines use the paragraph font
|
|
12
|
+
// and line height so their vertical rhythm matches the surrounding paragraphs;
|
|
13
|
+
// any extra block spacing is left to the caller to configure via tiptapStyle.
|
|
14
|
+
@implementation BlankLineRenderer
|
|
15
|
+
|
|
16
|
+
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
17
|
+
into:(NSMutableAttributedString *)output
|
|
18
|
+
context:(RenderContext *)context
|
|
19
|
+
{
|
|
20
|
+
NSInteger count = [node.attributes[@"count"] integerValue];
|
|
21
|
+
if (count <= 0) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
[self ensureStartingNewline:output];
|
|
26
|
+
|
|
27
|
+
NSDictionary *attributes = @{NSFontAttributeName : _config.paragraphFont};
|
|
28
|
+
|
|
29
|
+
NSMutableString *blanks = [NSMutableString stringWithCapacity:(NSUInteger)count];
|
|
30
|
+
for (NSInteger i = 0; i < count; i++) {
|
|
31
|
+
[blanks appendString:@"\n"];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
NSUInteger start = output.length;
|
|
35
|
+
[output appendAttributedString:[[NSAttributedString alloc] initWithString:blanks attributes:attributes]];
|
|
36
|
+
|
|
37
|
+
NSRange range = NSMakeRange(start, output.length - start);
|
|
38
|
+
applyLineHeight(output, range, _config.paragraphLineHeight);
|
|
39
|
+
applyTextAlignment(output, range, _config.paragraphTextAlign);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#pragma mark - Private Utilities
|
|
43
|
+
|
|
44
|
+
- (void)ensureStartingNewline:(NSMutableAttributedString *)output
|
|
45
|
+
{
|
|
46
|
+
if (output.length > 0 && ![output.string hasSuffix:@"\n"]) {
|
|
47
|
+
[output appendAttributedString:[[NSAttributedString alloc] initWithString:@"\n"]];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#import "BaseRenderer.h"
|
|
2
|
-
#import "TiptapASTNode.h"
|
|
3
|
-
#import "RenderContext.h"
|
|
4
|
-
|
|
5
|
-
@interface BlockquoteRenderer : BaseRenderer
|
|
6
|
-
@end
|
|
1
|
+
#import "BaseRenderer.h"
|
|
2
|
+
#import "TiptapASTNode.h"
|
|
3
|
+
#import "RenderContext.h"
|
|
4
|
+
|
|
5
|
+
@interface BlockquoteRenderer : BaseRenderer
|
|
6
|
+
@end
|