@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,158 +1,158 @@
|
|
|
1
|
-
#import "LinkRenderer.h"
|
|
2
|
-
#import "CodeBackground.h"
|
|
3
|
-
#import "ENRMLinkPillAttachment.h"
|
|
4
|
-
#import "ENRMSpoilerTapUtils.h"
|
|
5
|
-
#import "ENRMTextLinkAttributes.h"
|
|
6
|
-
#import "FontUtils.h"
|
|
7
|
-
#import "RenderContext.h"
|
|
8
|
-
#import "RendererFactory.h"
|
|
9
|
-
#import "StyleConfig.h"
|
|
10
|
-
#import <React/RCTFont.h>
|
|
11
|
-
|
|
12
|
-
#if !TARGET_OS_OSX
|
|
13
|
-
static BOOL ENRMRangeHasAttribute(NSAttributedString *text, NSRange range, NSAttributedStringKey key)
|
|
14
|
-
{
|
|
15
|
-
__block BOOL found = NO;
|
|
16
|
-
[text enumerateAttribute:key
|
|
17
|
-
inRange:range
|
|
18
|
-
options:0
|
|
19
|
-
usingBlock:^(id value, NSRange subrange, BOOL *stop) {
|
|
20
|
-
if (value) {
|
|
21
|
-
found = YES;
|
|
22
|
-
*stop = YES;
|
|
23
|
-
}
|
|
24
|
-
}];
|
|
25
|
-
return found;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/// Replaces the rendered link content with one attachment character and returns its range.
|
|
29
|
-
static NSRange ENRMCollapseLinkIntoPill(NSMutableAttributedString *output, NSRange range, NSString *url,
|
|
30
|
-
LinkVariantConfig *variant, StyleConfig *config, RenderContext *context)
|
|
31
|
-
{
|
|
32
|
-
LinkPillContent *content = [config linkPillContent][url];
|
|
33
|
-
BOOL hasOwnIcon = content.iconUri.length > 0;
|
|
34
|
-
// A tint set for the link wins. The variant's tint is for the variant's own icon, not for an
|
|
35
|
-
// icon supplied per link (an avatar would become a silhouette).
|
|
36
|
-
RCTUIColor *iconTint = content.iconTintColor ?: (hasOwnIcon ? nil : variant.pill.iconTintColor);
|
|
37
|
-
NSDictionary<NSAttributedStringKey, id> *attributes = [output attributesAtIndex:range.location effectiveRange:NULL];
|
|
38
|
-
ENRMLinkPillAttachment *pill = [[ENRMLinkPillAttachment alloc]
|
|
39
|
-
initWithOriginalText:[output attributedSubstringFromRange:range]
|
|
40
|
-
variant:variant
|
|
41
|
-
label:content.label.length > 0 ? content.label : variant.pill.label
|
|
42
|
-
iconUri:hasOwnIcon ? content.iconUri : variant.pill.iconUri
|
|
43
|
-
iconTintColor:iconTint
|
|
44
|
-
font:attributes[NSFontAttributeName] ?: [context getBlockStyle].cachedFont
|
|
45
|
-
requestHeaders:[config imageRequestHeaders]];
|
|
46
|
-
pill.lineHeight = [config lineHeightForLinkPill:variant.pill];
|
|
47
|
-
|
|
48
|
-
// The placeholder keeps the block context of the text it replaces. The pill draws its own
|
|
49
|
-
// background, underline and label, so inline decoration of that text must not show around it.
|
|
50
|
-
NSMutableDictionary<NSAttributedStringKey, id> *placeholder = [attributes mutableCopy];
|
|
51
|
-
[placeholder removeObjectsForKeys:@[
|
|
52
|
-
NSBackgroundColorAttributeName, NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName,
|
|
53
|
-
NSStrikethroughStyleAttributeName, CodeAttributeName
|
|
54
|
-
]];
|
|
55
|
-
placeholder[NSAttachmentAttributeName] = pill;
|
|
56
|
-
[output replaceCharactersInRange:range
|
|
57
|
-
withAttributedString:[[NSAttributedString alloc] initWithString:@"\uFFFC" attributes:placeholder]];
|
|
58
|
-
return NSMakeRange(range.location, 1);
|
|
59
|
-
}
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
|
-
@implementation LinkRenderer
|
|
63
|
-
|
|
64
|
-
#pragma mark - Rendering
|
|
65
|
-
|
|
66
|
-
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
67
|
-
into:(NSMutableAttributedString *)output
|
|
68
|
-
context:(RenderContext *)context
|
|
69
|
-
{
|
|
70
|
-
BOOL recognizedLink = [node.attributes[@"recognizedLink"] isEqualToString:@"true"];
|
|
71
|
-
NSUInteger start = output.length;
|
|
72
|
-
|
|
73
|
-
// 1. Render children first to establish base attributes
|
|
74
|
-
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
|
75
|
-
|
|
76
|
-
NSRange range = NSMakeRange(start, output.length - start);
|
|
77
|
-
if (range.length == 0)
|
|
78
|
-
return;
|
|
79
|
-
|
|
80
|
-
// 2. Extract configuration
|
|
81
|
-
NSString *url = node.attributes[@"url"] ?: @"";
|
|
82
|
-
LinkVariantConfig *variant = [_config effectiveLinkVariantForURL:url];
|
|
83
|
-
|
|
84
|
-
RCTUIColor *linkColor = variant.color ?: [_config linkColor];
|
|
85
|
-
BOOL linkUnderline = variant ? variant.underline : [_config linkUnderline];
|
|
86
|
-
NSString *linkFontFamily = variant.fontFamily.length > 0 ? variant.fontFamily : [_config linkFontFamily];
|
|
87
|
-
RCTUIColor *backgroundColor = variant ? variant.backgroundColor : [_config linkBackgroundColor];
|
|
88
|
-
|
|
89
|
-
NSNumber *underlineStyle = @(linkUnderline ? NSUnderlineStyleSingle : NSUnderlineStyleNone);
|
|
90
|
-
|
|
91
|
-
// 3. Apply core link functionality (non-destructive)
|
|
92
|
-
[output addAttribute:NSLinkAttributeName value:url range:range];
|
|
93
|
-
|
|
94
|
-
// 4. Optimize visual attributes via enumeration to avoid redundant updates
|
|
95
|
-
[output enumerateAttributesInRange:range
|
|
96
|
-
options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
|
|
97
|
-
usingBlock:^(NSDictionary<NSAttributedStringKey, id> *attrs, NSRange subrange, BOOL *stop) {
|
|
98
|
-
NSMutableDictionary *newAttributes = [NSMutableDictionary dictionary];
|
|
99
|
-
if (recognizedLink) {
|
|
100
|
-
newAttributes[ENRMRecognizedLinkAttributeName] = @YES;
|
|
101
|
-
newAttributes[ENRMRecognizedLinkOriginalUnderlineAttributeName] =
|
|
102
|
-
attrs[NSUnderlineStyleAttributeName] ?: @0;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Only apply link color if the subrange isn't already colored by the link style
|
|
106
|
-
if (linkColor && ![attrs[NSForegroundColorAttributeName] isEqual:linkColor]) {
|
|
107
|
-
newAttributes[NSForegroundColorAttributeName] = linkColor;
|
|
108
|
-
newAttributes[NSUnderlineColorAttributeName] = linkColor;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Only update underline style if it differs from the config
|
|
112
|
-
if (![attrs[NSUnderlineStyleAttributeName] isEqual:underlineStyle]) {
|
|
113
|
-
newAttributes[NSUnderlineStyleAttributeName] = underlineStyle;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (linkFontFamily.length > 0) {
|
|
117
|
-
UIFont *currentFont = attrs[NSFontAttributeName];
|
|
118
|
-
if (currentFont) {
|
|
119
|
-
UIFont *linkFont = [RCTFont updateFont:currentFont
|
|
120
|
-
withFamily:linkFontFamily
|
|
121
|
-
size:nil
|
|
122
|
-
weight:nil
|
|
123
|
-
style:nil
|
|
124
|
-
variant:nil
|
|
125
|
-
scaleMultiplier:1.0];
|
|
126
|
-
if (linkFont && ![currentFont isEqual:linkFont]) {
|
|
127
|
-
newAttributes[NSFontAttributeName] = linkFont;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (newAttributes.count > 0) {
|
|
133
|
-
[output addAttributes:newAttributes range:subrange];
|
|
134
|
-
}
|
|
135
|
-
}];
|
|
136
|
-
|
|
137
|
-
#if !TARGET_OS_OSX
|
|
138
|
-
// A pill is one line and one unit: links holding attachments or a line break stay ordinary links.
|
|
139
|
-
// So do links holding a spoiler, whose hidden text the label would show.
|
|
140
|
-
BOOL willBePill =
|
|
141
|
-
variant.pill != nil && !ENRMRangeHasAttribute(output, range, NSAttachmentAttributeName) &&
|
|
142
|
-
!ENRMRangeHasAttribute(output, range, SpoilerAttributeName) &&
|
|
143
|
-
[output.string rangeOfCharacterFromSet:NSCharacterSet.newlineCharacterSet options:0 range:range].location ==
|
|
144
|
-
NSNotFound;
|
|
145
|
-
#else
|
|
146
|
-
BOOL willBePill = NO;
|
|
147
|
-
#endif
|
|
148
|
-
if (backgroundColor && !willBePill)
|
|
149
|
-
[output addAttribute:NSBackgroundColorAttributeName value:backgroundColor range:range];
|
|
150
|
-
|
|
151
|
-
#if !TARGET_OS_OSX
|
|
152
|
-
if (willBePill)
|
|
153
|
-
range = ENRMCollapseLinkIntoPill(output, range, url, variant, _config, context);
|
|
154
|
-
#endif
|
|
155
|
-
[context registerLinkRange:range url:url];
|
|
156
|
-
}
|
|
157
|
-
|
|
1
|
+
#import "LinkRenderer.h"
|
|
2
|
+
#import "CodeBackground.h"
|
|
3
|
+
#import "ENRMLinkPillAttachment.h"
|
|
4
|
+
#import "ENRMSpoilerTapUtils.h"
|
|
5
|
+
#import "ENRMTextLinkAttributes.h"
|
|
6
|
+
#import "FontUtils.h"
|
|
7
|
+
#import "RenderContext.h"
|
|
8
|
+
#import "RendererFactory.h"
|
|
9
|
+
#import "StyleConfig.h"
|
|
10
|
+
#import <React/RCTFont.h>
|
|
11
|
+
|
|
12
|
+
#if !TARGET_OS_OSX
|
|
13
|
+
static BOOL ENRMRangeHasAttribute(NSAttributedString *text, NSRange range, NSAttributedStringKey key)
|
|
14
|
+
{
|
|
15
|
+
__block BOOL found = NO;
|
|
16
|
+
[text enumerateAttribute:key
|
|
17
|
+
inRange:range
|
|
18
|
+
options:0
|
|
19
|
+
usingBlock:^(id value, NSRange subrange, BOOL *stop) {
|
|
20
|
+
if (value) {
|
|
21
|
+
found = YES;
|
|
22
|
+
*stop = YES;
|
|
23
|
+
}
|
|
24
|
+
}];
|
|
25
|
+
return found;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// Replaces the rendered link content with one attachment character and returns its range.
|
|
29
|
+
static NSRange ENRMCollapseLinkIntoPill(NSMutableAttributedString *output, NSRange range, NSString *url,
|
|
30
|
+
LinkVariantConfig *variant, StyleConfig *config, RenderContext *context)
|
|
31
|
+
{
|
|
32
|
+
LinkPillContent *content = [config linkPillContent][url];
|
|
33
|
+
BOOL hasOwnIcon = content.iconUri.length > 0;
|
|
34
|
+
// A tint set for the link wins. The variant's tint is for the variant's own icon, not for an
|
|
35
|
+
// icon supplied per link (an avatar would become a silhouette).
|
|
36
|
+
RCTUIColor *iconTint = content.iconTintColor ?: (hasOwnIcon ? nil : variant.pill.iconTintColor);
|
|
37
|
+
NSDictionary<NSAttributedStringKey, id> *attributes = [output attributesAtIndex:range.location effectiveRange:NULL];
|
|
38
|
+
ENRMLinkPillAttachment *pill = [[ENRMLinkPillAttachment alloc]
|
|
39
|
+
initWithOriginalText:[output attributedSubstringFromRange:range]
|
|
40
|
+
variant:variant
|
|
41
|
+
label:content.label.length > 0 ? content.label : variant.pill.label
|
|
42
|
+
iconUri:hasOwnIcon ? content.iconUri : variant.pill.iconUri
|
|
43
|
+
iconTintColor:iconTint
|
|
44
|
+
font:attributes[NSFontAttributeName] ?: [context getBlockStyle].cachedFont
|
|
45
|
+
requestHeaders:[config imageRequestHeaders]];
|
|
46
|
+
pill.lineHeight = [config lineHeightForLinkPill:variant.pill];
|
|
47
|
+
|
|
48
|
+
// The placeholder keeps the block context of the text it replaces. The pill draws its own
|
|
49
|
+
// background, underline and label, so inline decoration of that text must not show around it.
|
|
50
|
+
NSMutableDictionary<NSAttributedStringKey, id> *placeholder = [attributes mutableCopy];
|
|
51
|
+
[placeholder removeObjectsForKeys:@[
|
|
52
|
+
NSBackgroundColorAttributeName, NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName,
|
|
53
|
+
NSStrikethroughStyleAttributeName, CodeAttributeName
|
|
54
|
+
]];
|
|
55
|
+
placeholder[NSAttachmentAttributeName] = pill;
|
|
56
|
+
[output replaceCharactersInRange:range
|
|
57
|
+
withAttributedString:[[NSAttributedString alloc] initWithString:@"\uFFFC" attributes:placeholder]];
|
|
58
|
+
return NSMakeRange(range.location, 1);
|
|
59
|
+
}
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
@implementation LinkRenderer
|
|
63
|
+
|
|
64
|
+
#pragma mark - Rendering
|
|
65
|
+
|
|
66
|
+
- (void)renderNodeContent:(TiptapASTNode *)node
|
|
67
|
+
into:(NSMutableAttributedString *)output
|
|
68
|
+
context:(RenderContext *)context
|
|
69
|
+
{
|
|
70
|
+
BOOL recognizedLink = [node.attributes[@"recognizedLink"] isEqualToString:@"true"];
|
|
71
|
+
NSUInteger start = output.length;
|
|
72
|
+
|
|
73
|
+
// 1. Render children first to establish base attributes
|
|
74
|
+
[_rendererFactory renderChildrenOfNode:node into:output context:context];
|
|
75
|
+
|
|
76
|
+
NSRange range = NSMakeRange(start, output.length - start);
|
|
77
|
+
if (range.length == 0)
|
|
78
|
+
return;
|
|
79
|
+
|
|
80
|
+
// 2. Extract configuration
|
|
81
|
+
NSString *url = node.attributes[@"url"] ?: @"";
|
|
82
|
+
LinkVariantConfig *variant = [_config effectiveLinkVariantForURL:url];
|
|
83
|
+
|
|
84
|
+
RCTUIColor *linkColor = variant.color ?: [_config linkColor];
|
|
85
|
+
BOOL linkUnderline = variant ? variant.underline : [_config linkUnderline];
|
|
86
|
+
NSString *linkFontFamily = variant.fontFamily.length > 0 ? variant.fontFamily : [_config linkFontFamily];
|
|
87
|
+
RCTUIColor *backgroundColor = variant ? variant.backgroundColor : [_config linkBackgroundColor];
|
|
88
|
+
|
|
89
|
+
NSNumber *underlineStyle = @(linkUnderline ? NSUnderlineStyleSingle : NSUnderlineStyleNone);
|
|
90
|
+
|
|
91
|
+
// 3. Apply core link functionality (non-destructive)
|
|
92
|
+
[output addAttribute:NSLinkAttributeName value:url range:range];
|
|
93
|
+
|
|
94
|
+
// 4. Optimize visual attributes via enumeration to avoid redundant updates
|
|
95
|
+
[output enumerateAttributesInRange:range
|
|
96
|
+
options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
|
|
97
|
+
usingBlock:^(NSDictionary<NSAttributedStringKey, id> *attrs, NSRange subrange, BOOL *stop) {
|
|
98
|
+
NSMutableDictionary *newAttributes = [NSMutableDictionary dictionary];
|
|
99
|
+
if (recognizedLink) {
|
|
100
|
+
newAttributes[ENRMRecognizedLinkAttributeName] = @YES;
|
|
101
|
+
newAttributes[ENRMRecognizedLinkOriginalUnderlineAttributeName] =
|
|
102
|
+
attrs[NSUnderlineStyleAttributeName] ?: @0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Only apply link color if the subrange isn't already colored by the link style
|
|
106
|
+
if (linkColor && ![attrs[NSForegroundColorAttributeName] isEqual:linkColor]) {
|
|
107
|
+
newAttributes[NSForegroundColorAttributeName] = linkColor;
|
|
108
|
+
newAttributes[NSUnderlineColorAttributeName] = linkColor;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Only update underline style if it differs from the config
|
|
112
|
+
if (![attrs[NSUnderlineStyleAttributeName] isEqual:underlineStyle]) {
|
|
113
|
+
newAttributes[NSUnderlineStyleAttributeName] = underlineStyle;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (linkFontFamily.length > 0) {
|
|
117
|
+
UIFont *currentFont = attrs[NSFontAttributeName];
|
|
118
|
+
if (currentFont) {
|
|
119
|
+
UIFont *linkFont = [RCTFont updateFont:currentFont
|
|
120
|
+
withFamily:linkFontFamily
|
|
121
|
+
size:nil
|
|
122
|
+
weight:nil
|
|
123
|
+
style:nil
|
|
124
|
+
variant:nil
|
|
125
|
+
scaleMultiplier:1.0];
|
|
126
|
+
if (linkFont && ![currentFont isEqual:linkFont]) {
|
|
127
|
+
newAttributes[NSFontAttributeName] = linkFont;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (newAttributes.count > 0) {
|
|
133
|
+
[output addAttributes:newAttributes range:subrange];
|
|
134
|
+
}
|
|
135
|
+
}];
|
|
136
|
+
|
|
137
|
+
#if !TARGET_OS_OSX
|
|
138
|
+
// A pill is one line and one unit: links holding attachments or a line break stay ordinary links.
|
|
139
|
+
// So do links holding a spoiler, whose hidden text the label would show.
|
|
140
|
+
BOOL willBePill =
|
|
141
|
+
variant.pill != nil && !ENRMRangeHasAttribute(output, range, NSAttachmentAttributeName) &&
|
|
142
|
+
!ENRMRangeHasAttribute(output, range, SpoilerAttributeName) &&
|
|
143
|
+
[output.string rangeOfCharacterFromSet:NSCharacterSet.newlineCharacterSet options:0 range:range].location ==
|
|
144
|
+
NSNotFound;
|
|
145
|
+
#else
|
|
146
|
+
BOOL willBePill = NO;
|
|
147
|
+
#endif
|
|
148
|
+
if (backgroundColor && !willBePill)
|
|
149
|
+
[output addAttribute:NSBackgroundColorAttributeName value:backgroundColor range:range];
|
|
150
|
+
|
|
151
|
+
#if !TARGET_OS_OSX
|
|
152
|
+
if (willBePill)
|
|
153
|
+
range = ENRMCollapseLinkIntoPill(output, range, url, variant, _config, context);
|
|
154
|
+
#endif
|
|
155
|
+
[context registerLinkRange:range url:url];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
158
|
@end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
#import "BaseRenderer.h"
|
|
2
|
-
#import "RenderContext.h"
|
|
3
|
-
|
|
4
|
-
extern NSString *const ListDepthAttribute;
|
|
5
|
-
extern NSString *const ListTypeAttribute;
|
|
6
|
-
extern NSString *const ListItemNumberAttribute;
|
|
7
|
-
extern NSString *const ListItemMarkerStartAttribute;
|
|
8
|
-
|
|
9
|
-
extern NSString *const TaskItemAttribute;
|
|
10
|
-
extern NSString *const TaskCheckedAttribute;
|
|
11
|
-
extern NSString *const TaskIndexAttribute;
|
|
12
|
-
|
|
13
|
-
@interface ENRMListMarkerDescriptor : NSObject
|
|
14
|
-
@property (nonatomic, assign) BOOL isTask;
|
|
15
|
-
@property (nonatomic, assign) BOOL isChecked;
|
|
16
|
-
@property (nonatomic, assign) NSInteger taskIndex;
|
|
17
|
-
@property (nonatomic, assign) ListType listType;
|
|
18
|
-
@property (nonatomic, assign) NSInteger number;
|
|
19
|
-
@property (nonatomic, assign) NSInteger depth;
|
|
20
|
-
@property (nonatomic, assign) CGFloat indent;
|
|
21
|
-
@end
|
|
22
|
-
|
|
23
|
-
@interface ListItemRenderer : BaseRenderer
|
|
24
|
-
@end
|
|
1
|
+
#import "BaseRenderer.h"
|
|
2
|
+
#import "RenderContext.h"
|
|
3
|
+
|
|
4
|
+
extern NSString *const ListDepthAttribute;
|
|
5
|
+
extern NSString *const ListTypeAttribute;
|
|
6
|
+
extern NSString *const ListItemNumberAttribute;
|
|
7
|
+
extern NSString *const ListItemMarkerStartAttribute;
|
|
8
|
+
|
|
9
|
+
extern NSString *const TaskItemAttribute;
|
|
10
|
+
extern NSString *const TaskCheckedAttribute;
|
|
11
|
+
extern NSString *const TaskIndexAttribute;
|
|
12
|
+
|
|
13
|
+
@interface ENRMListMarkerDescriptor : NSObject
|
|
14
|
+
@property (nonatomic, assign) BOOL isTask;
|
|
15
|
+
@property (nonatomic, assign) BOOL isChecked;
|
|
16
|
+
@property (nonatomic, assign) NSInteger taskIndex;
|
|
17
|
+
@property (nonatomic, assign) ListType listType;
|
|
18
|
+
@property (nonatomic, assign) NSInteger number;
|
|
19
|
+
@property (nonatomic, assign) NSInteger depth;
|
|
20
|
+
@property (nonatomic, assign) CGFloat indent;
|
|
21
|
+
@end
|
|
22
|
+
|
|
23
|
+
@interface ListItemRenderer : BaseRenderer
|
|
24
|
+
@end
|