react-native-enriched-markdown-scaffold 0.6.0-scaffold.4
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 -0
- package/README.md +53 -0
- package/ReactNativeEnrichedMarkdown.podspec +67 -0
- package/android/build.gradle +94 -0
- package/android/consumer-rules.pro +19 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +87 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +37 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerDelegate.java +159 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +59 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +87 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +37 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ComponentDescriptors.cpp +22 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ComponentDescriptors.h +24 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +318 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +259 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +375 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +5174 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ShadowNodes.cpp +17 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ShadowNodes.h +23 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/States.h +20 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/baseline-prof.txt +254 -0
- package/android/src/main/cpp/jni-adapter.cpp +264 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdown.kt +554 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +122 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +255 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +363 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextLayoutManager.kt +15 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +253 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextPackage.kt +20 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +653 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/accessibility/AccessibleMarkdownTextView.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/accessibility/MarkdownAccessibilityHelper.kt +482 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/ContextMenuItemPressEvent.kt +28 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkLongPressEvent.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkPressEvent.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/events/TaskListItemPressEvent.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputManager.kt +465 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +1066 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/autolink/AutoDetectedLinkSpan.kt +29 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/autolink/AutoLinkDetector.kt +188 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/autolink/LinkRegexConfig.kt +9 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/detection/DetectorPipeline.kt +40 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/detection/TextDetector.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/detection/WordResult.kt +7 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/detection/WordsUtils.kt +65 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/InputConnectionWrapper.kt +69 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MarkdownEditableFactory.kt +15 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/MarkdownTextWatcher.kt +41 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnCaretRectChangeEvent.kt +20 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeMarkdownEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeMentionEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeSelectionEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeStateEvent.kt +50 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnChangeTextEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnContextMenuItemPressEvent.kt +48 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnEndMentionEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnInputBlurEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnInputFocusEvent.kt +18 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnLinkDetectedEvent.kt +28 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnMathPressEvent.kt +36 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnRequestCaretRectResultEvent.kt +25 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnRequestMarkdownResultEvent.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/events/OnStartMentionEvent.kt +22 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/FormattingStore.kt +192 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputFormatter.kt +117 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputParser.kt +117 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputRemend.kt +120 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/MarkdownSerializer.kt +176 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputEventEmitter.kt +216 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputLayoutManager.kt +28 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputMeasurementStore.kt +137 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/math/MathChipController.kt +113 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/CaretRect.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/FormattingRange.kt +10 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/InputFormatterStyle.kt +28 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathAtom.kt +7 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +47 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/model/StyleType.kt +10 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/BoldStyleHandler.kt +35 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/ItalicStyleHandler.kt +35 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/LinkStyleHandler.kt +75 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/SpoilerStyleHandler.kt +36 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/StrikethroughStyleHandler.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/StyleHandler.kt +18 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/StyleMergingConfig.kt +10 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/styles/UnderlineStyleHandler.kt +24 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/input/toolbar/InputContextMenu.kt +181 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +43 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/parser/Parser.kt +68 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BaselineShiftRenderer.kt +44 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockStyleContext.kt +152 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockquoteRenderer.kt +87 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeBlockRenderer.kt +104 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeRenderer.kt +36 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/DocumentRenderer.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/EmphasisRenderer.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HeadingRenderer.kt +71 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HighlightRenderer.kt +25 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ImageRenderer.kt +61 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/LineBreakRenderer.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/LinkRenderer.kt +29 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListContextManager.kt +89 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListItemRenderer.kt +127 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListRenderer.kt +74 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/NodeRenderer.kt +161 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ParagraphRenderer.kt +75 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/Renderer.kt +113 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +134 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpoilerRenderer.kt +25 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/StrikethroughRenderer.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/StrongRenderer.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SubscriptRenderer.kt +11 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SuperscriptRenderer.kt +11 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/TextRenderer.kt +30 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ThematicBreakRenderer.kt +45 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/renderer/UnderlineRenderer.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaseListSpan.kt +127 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaselineShiftSpan.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/BlockquoteSpan.kt +152 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +180 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBlockSpan.kt +196 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeSpan.kt +32 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/EmphasisSpan.kt +42 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/FadeInSpan.kt +25 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/HeadingSpan.kt +38 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/HighlightSpan.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/ImageSpan.kt +335 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/LineHeightSpan.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkSpan.kt +66 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/MarginBottomSpan.kt +76 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/MathModels.kt +18 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/OrderedListSpan.kt +85 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/SpoilerSpan.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrikethroughSpan.kt +12 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrongSpan.kt +39 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/TaskListSpan.kt +134 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/TextSpan.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/ThematicBreakSpan.kt +69 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spans/UnorderedListSpan.kt +92 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/ParticleStrategy.kt +68 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SegmentKey.kt +13 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SolidStrategy.kt +95 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerAnimator.kt +89 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerCapable.kt +5 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerConstants.kt +3 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerDrawContext.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerDrawUtils.kt +40 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerOverlay.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerOverlayDrawer.kt +152 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerParticleDrawable.kt +237 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/spoiler/SpoilerStrategy.kt +53 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/BaseBlockStyle.kt +11 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/BlockquoteStyle.kt +51 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeBlockStyle.kt +54 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeStyle.kt +26 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/EmphasisStyle.kt +21 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/HeadingStyle.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/HighlightStyle.kt +19 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ImageStyle.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineImageStyle.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineMathStyle.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkStyle.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkVariantEntry.kt +29 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +62 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathStyle.kt +29 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ParagraphStyle.kt +33 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/SpoilerStyle.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/StrikethroughStyle.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/StrongStyle.kt +21 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleConfig.kt +364 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleParser.kt +92 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/SubscriptStyle.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/SuperscriptStyle.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/TableStyle.kt +69 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/TaskListStyle.kt +29 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/TextAlignment.kt +32 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/ThematicBreakStyle.kt +23 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/styles/UnderlineStyle.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/BreakStrategyUtils.kt +32 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/FeatureFlags.kt +7 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownSegment.kt +56 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +100 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MotionPreferences.kt +18 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/ReadableMapExtensions.kt +20 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/RenderedSegment.kt +78 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/SegmentReconciler.kt +118 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/SegmentSignature.kt +78 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/StreamingMarkdownFilter.kt +142 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/layout/RTLUtils.kt +6 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/serialization/MarkdownASTSerializer.kt +115 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/AutoCapitalizeUtils.kt +27 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/BorderPropsApplicator.kt +77 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +184 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageCache.kt +53 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/ImageDownloader.kt +156 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/TailFadeInAnimator.kt +84 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/conversion/HTMLGenerator.kt +1067 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/conversion/MarkdownExtractor.kt +419 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/ParagraphUtils.kt +9 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/SpannableExtensions.kt +65 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/extensions/TextPaintExtensions.kt +53 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/CheckboxTouchHelper.kt +54 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/interaction/TaskListTapUtils.kt +249 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/span/BlockSpacing.kt +89 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/span/SpanFlags.kt +17 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkEvents.kt +43 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLongPressMovementMethod.kt +187 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +205 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/TextSelectionColors.kt +48 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/TextViewSetup.kt +40 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/BlockSegmentView.kt +10 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/ContextMenuPopup.kt +214 -0
- package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +501 -0
- package/android/src/main/jni/CMakeLists.txt +70 -0
- package/android/src/main/jni/EnrichedMarkdownTextSpec.cpp +21 -0
- package/android/src/main/jni/EnrichedMarkdownTextSpec.h +15 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/ComponentDescriptors.h +67 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerComponentDescriptor.h +26 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerMeasurementManager.cpp +45 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerMeasurementManager.h +21 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.cpp +20 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownContainerShadowNode.h +34 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextComponentDescriptor.h +29 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputMeasurementManager.cpp +44 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputMeasurementManager.h +21 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputShadowNode.cpp +30 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputShadowNode.h +43 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputState.cpp +9 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextInputState.h +24 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextMeasurementManager.cpp +45 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextMeasurementManager.h +21 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.cpp +20 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.h +37 -0
- package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/conversions.h +45 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/input/math/MathChipControllerImpl.kt +217 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +47 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +208 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlinePlaceholderSpan.kt +41 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlineSpan.kt +92 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathMeasureHelper.kt +57 -0
- package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +148 -0
- package/app.plugin.js +1 -0
- package/cpp/md4c/md4c.c +7235 -0
- package/cpp/md4c/md4c.h +475 -0
- package/cpp/parser/MD4CParser.cpp +539 -0
- package/cpp/parser/MD4CParser.hpp +32 -0
- package/cpp/parser/MarkdownASTNode.hpp +63 -0
- package/cpp/wasm/ASTSerializer.cpp +158 -0
- package/cpp/wasm/ASTSerializer.hpp +17 -0
- package/cpp/wasm/build.sh +58 -0
- package/cpp/wasm/md4c_wasm.cpp +43 -0
- package/ios/EnrichedMarkdown.h +20 -0
- package/ios/EnrichedMarkdown.mm +1121 -0
- package/ios/EnrichedMarkdownText.h +20 -0
- package/ios/EnrichedMarkdownText.mm +802 -0
- package/ios/attachments/ENRMImageAttachment.h +27 -0
- package/ios/attachments/ENRMImageAttachment.m +305 -0
- package/ios/attachments/ENRMMathInlineAttachment+macOS.m +60 -0
- package/ios/attachments/ENRMMathInlineAttachment.h +47 -0
- package/ios/attachments/ENRMMathInlineAttachment.m +142 -0
- package/ios/attachments/ENRMMathInlineAttachmentShared.h +17 -0
- package/ios/attachments/ThematicBreakAttachment.h +15 -0
- package/ios/attachments/ThematicBreakAttachment.m +33 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/ComponentDescriptors.cpp +22 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/ComponentDescriptors.h +24 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +318 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +259 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +375 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +5174 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +436 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/ShadowNodes.cpp +17 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/ShadowNodes.h +23 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/States.cpp +16 -0
- package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/States.h +20 -0
- package/ios/input/ENRMAutoLinkDetector.h +32 -0
- package/ios/input/ENRMAutoLinkDetector.mm +211 -0
- package/ios/input/ENRMDetectorPipeline.h +28 -0
- package/ios/input/ENRMDetectorPipeline.mm +53 -0
- package/ios/input/ENRMFormattingRange.h +19 -0
- package/ios/input/ENRMFormattingRange.mm +28 -0
- package/ios/input/ENRMFormattingStore.h +29 -0
- package/ios/input/ENRMFormattingStore.mm +278 -0
- package/ios/input/ENRMInputFormatter.h +84 -0
- package/ios/input/ENRMInputFormatter.mm +222 -0
- package/ios/input/ENRMInputLayoutManager.h +11 -0
- package/ios/input/ENRMInputLayoutManager.mm +5 -0
- package/ios/input/ENRMInputLinkPrompt.h +9 -0
- package/ios/input/ENRMInputLinkPrompt.mm +71 -0
- package/ios/input/ENRMInputMentionCandidate.h +21 -0
- package/ios/input/ENRMInputMentionCandidate.mm +18 -0
- package/ios/input/ENRMInputParser.h +27 -0
- package/ios/input/ENRMInputParser.mm +556 -0
- package/ios/input/ENRMInputRemend.h +9 -0
- package/ios/input/ENRMInputRemend.mm +136 -0
- package/ios/input/ENRMInputStyledRange.h +29 -0
- package/ios/input/ENRMInputStyledRange.mm +4 -0
- package/ios/input/ENRMInputTextView.h +13 -0
- package/ios/input/ENRMInputTextView.mm +175 -0
- package/ios/input/ENRMLinkRegexConfig.h +26 -0
- package/ios/input/ENRMLinkRegexConfig.mm +60 -0
- package/ios/input/ENRMMarkdownSerializer.h +19 -0
- package/ios/input/ENRMMarkdownSerializer.mm +283 -0
- package/ios/input/ENRMTextDetector.h +30 -0
- package/ios/input/ENRMWordsUtils.h +28 -0
- package/ios/input/ENRMWordsUtils.mm +88 -0
- package/ios/input/EnrichedMarkdownTextInput+ContextMenu.mm +157 -0
- package/ios/input/EnrichedMarkdownTextInput+Internal.h +30 -0
- package/ios/input/EnrichedMarkdownTextInput.h +20 -0
- package/ios/input/EnrichedMarkdownTextInput.mm +2008 -0
- package/ios/input/InputStylePropsUtils.h +261 -0
- package/ios/input/internals/EnrichedMarkdownTextInputComponentDescriptor.h +19 -0
- package/ios/input/internals/EnrichedMarkdownTextInputShadowNode.h +40 -0
- package/ios/input/internals/EnrichedMarkdownTextInputShadowNode.mm +83 -0
- package/ios/input/internals/EnrichedMarkdownTextInputState.h +23 -0
- package/ios/input/styles/ENRMBoldStyleHandler.h +10 -0
- package/ios/input/styles/ENRMBoldStyleHandler.mm +29 -0
- package/ios/input/styles/ENRMItalicStyleHandler.h +10 -0
- package/ios/input/styles/ENRMItalicStyleHandler.mm +29 -0
- package/ios/input/styles/ENRMLinkStyleHandler.h +10 -0
- package/ios/input/styles/ENRMLinkStyleHandler.mm +52 -0
- package/ios/input/styles/ENRMSpoilerStyleHandler.h +10 -0
- package/ios/input/styles/ENRMSpoilerStyleHandler.mm +33 -0
- package/ios/input/styles/ENRMStrikethroughStyleHandler.h +10 -0
- package/ios/input/styles/ENRMStrikethroughStyleHandler.mm +28 -0
- package/ios/input/styles/ENRMStyleHandler.h +26 -0
- package/ios/input/styles/ENRMStyleMergingConfig.h +26 -0
- package/ios/input/styles/ENRMStyleMergingConfig.mm +21 -0
- package/ios/input/styles/ENRMUnderlineStyleHandler.h +10 -0
- package/ios/input/styles/ENRMUnderlineStyleHandler.mm +28 -0
- package/ios/internals/EnrichedMarkdownComponentDescriptor.h +18 -0
- package/ios/internals/EnrichedMarkdownShadowNode.h +43 -0
- package/ios/internals/EnrichedMarkdownShadowNode.mm +73 -0
- package/ios/internals/EnrichedMarkdownState.h +23 -0
- package/ios/internals/EnrichedMarkdownTextComponentDescriptor.h +19 -0
- package/ios/internals/EnrichedMarkdownTextShadowNode.h +45 -0
- package/ios/internals/EnrichedMarkdownTextShadowNode.mm +74 -0
- package/ios/internals/EnrichedMarkdownTextState.h +24 -0
- package/ios/internals/MeasurementCache.h +223 -0
- package/ios/internals/ShadowMeasurementUtils.h +135 -0
- package/ios/math/ENRMRaTeXBridge.swift +58 -0
- package/ios/parser/ENRMMarkdownParser.h +21 -0
- package/ios/parser/ENRMMarkdownParser.mm +50 -0
- package/ios/parser/MarkdownASTNode.h +47 -0
- package/ios/parser/MarkdownASTNode.m +32 -0
- package/ios/parser/MarkdownParserBridge.mm +161 -0
- package/ios/renderer/AttributedRenderer.h +11 -0
- package/ios/renderer/AttributedRenderer.m +153 -0
- package/ios/renderer/BaseRenderer.h +18 -0
- package/ios/renderer/BaseRenderer.m +16 -0
- package/ios/renderer/BaselineShiftTextAttributes.h +6 -0
- package/ios/renderer/BaselineShiftTextAttributes.m +22 -0
- package/ios/renderer/BlockquoteRenderer.h +6 -0
- package/ios/renderer/BlockquoteRenderer.m +148 -0
- package/ios/renderer/CodeBlockRenderer.h +9 -0
- package/ios/renderer/CodeBlockRenderer.m +90 -0
- package/ios/renderer/CodeRenderer.h +9 -0
- package/ios/renderer/CodeRenderer.m +64 -0
- package/ios/renderer/ENRMImageRenderer.h +9 -0
- package/ios/renderer/ENRMImageRenderer.m +65 -0
- package/ios/renderer/ENRMMathInlineRenderer.h +9 -0
- package/ios/renderer/ENRMMathInlineRenderer.m +56 -0
- package/ios/renderer/ENRMSpoilerRenderer.h +5 -0
- package/ios/renderer/ENRMSpoilerRenderer.m +32 -0
- package/ios/renderer/EmphasisRenderer.h +5 -0
- package/ios/renderer/EmphasisRenderer.m +98 -0
- package/ios/renderer/HeadingRenderer.h +6 -0
- package/ios/renderer/HeadingRenderer.m +94 -0
- package/ios/renderer/HighlightRenderer.h +7 -0
- package/ios/renderer/HighlightRenderer.m +31 -0
- package/ios/renderer/LinkRenderer.h +6 -0
- package/ios/renderer/LinkRenderer.m +82 -0
- package/ios/renderer/ListItemRenderer.h +12 -0
- package/ios/renderer/ListItemRenderer.m +175 -0
- package/ios/renderer/ListRenderer.h +13 -0
- package/ios/renderer/ListRenderer.m +70 -0
- package/ios/renderer/NodeRenderer.h +8 -0
- package/ios/renderer/ParagraphRenderer.h +6 -0
- package/ios/renderer/ParagraphRenderer.m +70 -0
- package/ios/renderer/RenderContext.h +118 -0
- package/ios/renderer/RenderContext.m +337 -0
- package/ios/renderer/RendererFactory.h +12 -0
- package/ios/renderer/RendererFactory.m +147 -0
- package/ios/renderer/StrikethroughRenderer.h +5 -0
- package/ios/renderer/StrikethroughRenderer.m +28 -0
- package/ios/renderer/StrongRenderer.h +5 -0
- package/ios/renderer/StrongRenderer.m +86 -0
- package/ios/renderer/SubscriptRenderer.h +5 -0
- package/ios/renderer/SubscriptRenderer.m +22 -0
- package/ios/renderer/SuperscriptRenderer.h +5 -0
- package/ios/renderer/SuperscriptRenderer.m +22 -0
- package/ios/renderer/TextRenderer.h +6 -0
- package/ios/renderer/TextRenderer.m +16 -0
- package/ios/renderer/ThematicBreakRenderer.h +4 -0
- package/ios/renderer/ThematicBreakRenderer.m +40 -0
- package/ios/renderer/UnderlineRenderer.h +4 -0
- package/ios/renderer/UnderlineRenderer.m +27 -0
- package/ios/styles/ENRMFontSlot.h +12 -0
- package/ios/styles/ENRMFontSlot.m +24 -0
- package/ios/styles/StyleConfig.h +407 -0
- package/ios/styles/StyleConfig.mm +2515 -0
- package/ios/utils/AccessibilityInfo.h +35 -0
- package/ios/utils/AccessibilityInfo.m +24 -0
- package/ios/utils/BlockquoteBorder.h +20 -0
- package/ios/utils/BlockquoteBorder.m +97 -0
- package/ios/utils/CodeBackground.h +19 -0
- package/ios/utils/CodeBackground.m +197 -0
- package/ios/utils/CodeBlockBackground.h +17 -0
- package/ios/utils/CodeBlockBackground.m +89 -0
- package/ios/utils/ContextMenuUtils.h +76 -0
- package/ios/utils/ContextMenuUtils.mm +73 -0
- package/ios/utils/ENRMAsyncRenderCoordinator.h +24 -0
- package/ios/utils/ENRMAsyncRenderCoordinator.m +37 -0
- package/ios/utils/ENRMFeatureFlags.h +12 -0
- package/ios/utils/ENRMImageDownloader.h +16 -0
- package/ios/utils/ENRMImageDownloader.m +108 -0
- package/ios/utils/ENRMMenuAction.h +27 -0
- package/ios/utils/ENRMMenuAction.m +33 -0
- package/ios/utils/ENRMParticleOverlayView.h +12 -0
- package/ios/utils/ENRMParticleOverlayView.m +159 -0
- package/ios/utils/ENRMSolidOverlayView.h +12 -0
- package/ios/utils/ENRMSolidOverlayView.m +25 -0
- package/ios/utils/ENRMSpoilerCapable.h +15 -0
- package/ios/utils/ENRMSpoilerOverlayManager.h +21 -0
- package/ios/utils/ENRMSpoilerOverlayManager.m +181 -0
- package/ios/utils/ENRMSpoilerOverlayView.h +49 -0
- package/ios/utils/ENRMSpoilerOverlayView.m +144 -0
- package/ios/utils/ENRMSpoilerTapUtils.h +25 -0
- package/ios/utils/ENRMSpoilerTapUtils.m +68 -0
- package/ios/utils/ENRMTailFadeInAnimator.h +16 -0
- package/ios/utils/ENRMTailFadeInAnimator.m +161 -0
- package/ios/utils/ENRMTextHitTest.h +23 -0
- package/ios/utils/ENRMTextHitTest.m +20 -0
- package/ios/utils/ENRMTextInteractionUtils.h +20 -0
- package/ios/utils/ENRMTextInteractionUtils.m +15 -0
- package/ios/utils/ENRMTextRenderer.h +30 -0
- package/ios/utils/ENRMTextRenderer.m +38 -0
- package/ios/utils/ENRMTextViewSetup.h +78 -0
- package/ios/utils/ENRMUIKit.h +418 -0
- package/ios/utils/EditMenuUtils+macOS.m +60 -0
- package/ios/utils/EditMenuUtils.h +35 -0
- package/ios/utils/EditMenuUtils.m +119 -0
- package/ios/utils/FontScaleObserver.h +10 -0
- package/ios/utils/FontScaleObserver.m +55 -0
- package/ios/utils/FontUtils.h +30 -0
- package/ios/utils/FontUtils.m +47 -0
- package/ios/utils/HTMLGenerator.h +25 -0
- package/ios/utils/HTMLGenerator.m +1019 -0
- package/ios/utils/HeightUpdateUtils.h +25 -0
- package/ios/utils/LastElementUtils.h +53 -0
- package/ios/utils/LinkTapUtils.h +24 -0
- package/ios/utils/LinkTapUtils.m +32 -0
- package/ios/utils/ListMarkerDrawer.h +15 -0
- package/ios/utils/ListMarkerDrawer.m +212 -0
- package/ios/utils/MarkdownASTSerializer.h +24 -0
- package/ios/utils/MarkdownASTSerializer.m +114 -0
- package/ios/utils/MarkdownAccessibilityElementBuilder.h +41 -0
- package/ios/utils/MarkdownAccessibilityElementBuilder.m +450 -0
- package/ios/utils/MarkdownExtractor.h +17 -0
- package/ios/utils/MarkdownExtractor.m +355 -0
- package/ios/utils/ParagraphStyleUtils.h +53 -0
- package/ios/utils/ParagraphStyleUtils.m +349 -0
- package/ios/utils/PasteboardUtils.h +48 -0
- package/ios/utils/PasteboardUtils.m +162 -0
- package/ios/utils/RTFExportUtils.h +24 -0
- package/ios/utils/RTFExportUtils.m +297 -0
- package/ios/utils/RenderedMarkdownSegment.h +49 -0
- package/ios/utils/RenderedMarkdownSegment.m +130 -0
- package/ios/utils/RuntimeKeys.h +38 -0
- package/ios/utils/RuntimeKeys.m +11 -0
- package/ios/utils/SegmentReconciler.h +32 -0
- package/ios/utils/SegmentReconciler.m +118 -0
- package/ios/utils/SegmentRenderer.h +24 -0
- package/ios/utils/SegmentRenderer.m +88 -0
- package/ios/utils/SegmentViewRegistry.h +36 -0
- package/ios/utils/SegmentViewRegistry.m +67 -0
- package/ios/utils/SelectionColorUtils.h +14 -0
- package/ios/utils/StreamingMarkdownFilter.h +22 -0
- package/ios/utils/StreamingMarkdownFilter.m +165 -0
- package/ios/utils/StylePropsUtils.h +1146 -0
- package/ios/utils/TaskListTapUtils.h +43 -0
- package/ios/utils/TaskListTapUtils.m +227 -0
- package/ios/utils/TextViewLayoutManager.h +14 -0
- package/ios/utils/TextViewLayoutManager.mm +113 -0
- package/ios/views/ENRMContextMenuTextView+macOS.h +17 -0
- package/ios/views/ENRMContextMenuTextView+macOS.m +97 -0
- package/ios/views/ENRMMathContainerView.h +20 -0
- package/ios/views/ENRMMathContainerView.m +227 -0
- package/ios/views/ENRMTableGridView.h +36 -0
- package/ios/views/ENRMTableGridView.m +98 -0
- package/ios/views/EnrichedMarkdownInternalText.h +42 -0
- package/ios/views/EnrichedMarkdownInternalText.m +161 -0
- package/ios/views/TableContainerView.h +39 -0
- package/ios/views/TableContainerView.m +686 -0
- package/lib/module/EnrichedMarkdownNativeComponent.ts +429 -0
- package/lib/module/EnrichedMarkdownTextInput.js +310 -0
- package/lib/module/EnrichedMarkdownTextInput.js.map +1 -0
- package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +364 -0
- package/lib/module/EnrichedMarkdownTextNativeComponent.ts +428 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.web.js +4 -0
- package/lib/module/index.web.js.map +1 -0
- package/lib/module/linkVariantUtils.js +28 -0
- package/lib/module/linkVariantUtils.js.map +1 -0
- package/lib/module/native/EnrichedMarkdownText.js +158 -0
- package/lib/module/native/EnrichedMarkdownText.js.map +1 -0
- package/lib/module/normalizeMarkdownStyle.js +337 -0
- package/lib/module/normalizeMarkdownStyle.js.map +1 -0
- package/lib/module/normalizeMarkdownStyle.web.js +264 -0
- package/lib/module/normalizeMarkdownStyle.web.js.map +1 -0
- package/lib/module/normalizeMarkdownTextInputStyle.js +146 -0
- package/lib/module/normalizeMarkdownTextInputStyle.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/plugin/withAndroidMath.js +20 -0
- package/lib/module/plugin/withAndroidMath.js.map +1 -0
- package/lib/module/plugin/withIosMath.js +23 -0
- package/lib/module/plugin/withIosMath.js.map +1 -0
- package/lib/module/plugin/withReactNativeEnrichedMarkdown.js +16 -0
- package/lib/module/plugin/withReactNativeEnrichedMarkdown.js.map +1 -0
- package/lib/module/styleUtils.js +64 -0
- package/lib/module/styleUtils.js.map +1 -0
- package/lib/module/types/MarkdownStyle.js +2 -0
- package/lib/module/types/MarkdownStyle.js.map +1 -0
- package/lib/module/types/MarkdownStyleInternal.js +2 -0
- package/lib/module/types/MarkdownStyleInternal.js.map +1 -0
- package/lib/module/types/MarkdownTextProps.js +4 -0
- package/lib/module/types/MarkdownTextProps.js.map +1 -0
- package/lib/module/types/MarkdownTextProps.web.js +4 -0
- package/lib/module/types/MarkdownTextProps.web.js.map +1 -0
- package/lib/module/types/events.js +2 -0
- package/lib/module/types/events.js.map +1 -0
- package/lib/module/utils/regexParser.js +43 -0
- package/lib/module/utils/regexParser.js.map +1 -0
- package/lib/module/web/EnrichedMarkdownText.js +120 -0
- package/lib/module/web/EnrichedMarkdownText.js.map +1 -0
- package/lib/module/web/globalStyles.js +10 -0
- package/lib/module/web/globalStyles.js.map +1 -0
- package/lib/module/web/injectStyle.js +20 -0
- package/lib/module/web/injectStyle.js.map +1 -0
- package/lib/module/web/katex.js +22 -0
- package/lib/module/web/katex.js.map +1 -0
- package/lib/module/web/parseMarkdown.js +35 -0
- package/lib/module/web/parseMarkdown.js.map +1 -0
- package/lib/module/web/renderers/BlockRenderers.js +115 -0
- package/lib/module/web/renderers/BlockRenderers.js.map +1 -0
- package/lib/module/web/renderers/InlineRenderers.js +160 -0
- package/lib/module/web/renderers/InlineRenderers.js.map +1 -0
- package/lib/module/web/renderers/KaTeXRenderer.js +43 -0
- package/lib/module/web/renderers/KaTeXRenderer.js.map +1 -0
- package/lib/module/web/renderers/ListRenderers.js +92 -0
- package/lib/module/web/renderers/ListRenderers.js.map +1 -0
- package/lib/module/web/renderers/TableRenderers.js +77 -0
- package/lib/module/web/renderers/TableRenderers.js.map +1 -0
- package/lib/module/web/renderers/index.js +49 -0
- package/lib/module/web/renderers/index.js.map +1 -0
- package/lib/module/web/styles.js +454 -0
- package/lib/module/web/styles.js.map +1 -0
- package/lib/module/web/types.js +4 -0
- package/lib/module/web/types.js.map +1 -0
- package/lib/module/web/utils.js +56 -0
- package/lib/module/web/utils.js.map +1 -0
- package/lib/module/web/wasm/md4c.d.js +4 -0
- package/lib/module/web/wasm/md4c.d.js.map +1 -0
- package/lib/module/web/wasm/md4c.js +0 -0
- package/lib/module/web/wasm/md4c.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +384 -0
- package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +173 -0
- package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -0
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +285 -0
- package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +384 -0
- package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/index.web.d.ts +5 -0
- package/lib/typescript/src/index.web.d.ts.map +1 -0
- package/lib/typescript/src/linkVariantUtils.d.ts +5 -0
- package/lib/typescript/src/linkVariantUtils.d.ts.map +1 -0
- package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +9 -0
- package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -0
- package/lib/typescript/src/normalizeMarkdownStyle.d.ts +4 -0
- package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -0
- package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts +4 -0
- package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -0
- package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts +48 -0
- package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts.map +1 -0
- package/lib/typescript/src/plugin/withAndroidMath.d.ts +5 -0
- package/lib/typescript/src/plugin/withAndroidMath.d.ts.map +1 -0
- package/lib/typescript/src/plugin/withIosMath.d.ts +5 -0
- package/lib/typescript/src/plugin/withIosMath.d.ts.map +1 -0
- package/lib/typescript/src/plugin/withReactNativeEnrichedMarkdown.d.ts +6 -0
- package/lib/typescript/src/plugin/withReactNativeEnrichedMarkdown.d.ts.map +1 -0
- package/lib/typescript/src/styleUtils.d.ts +6 -0
- package/lib/typescript/src/styleUtils.d.ts.map +1 -0
- package/lib/typescript/src/types/MarkdownStyle.d.ts +300 -0
- package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -0
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +178 -0
- package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -0
- package/lib/typescript/src/types/MarkdownTextProps.d.ts +249 -0
- package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -0
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts +83 -0
- package/lib/typescript/src/types/MarkdownTextProps.web.d.ts.map +1 -0
- package/lib/typescript/src/types/events.d.ts +29 -0
- package/lib/typescript/src/types/events.d.ts.map +1 -0
- package/lib/typescript/src/utils/regexParser.d.ts +3 -0
- package/lib/typescript/src/utils/regexParser.d.ts.map +1 -0
- package/lib/typescript/src/web/EnrichedMarkdownText.d.ts +4 -0
- package/lib/typescript/src/web/EnrichedMarkdownText.d.ts.map +1 -0
- package/lib/typescript/src/web/globalStyles.d.ts +3 -0
- package/lib/typescript/src/web/globalStyles.d.ts.map +1 -0
- package/lib/typescript/src/web/injectStyle.d.ts +9 -0
- package/lib/typescript/src/web/injectStyle.d.ts.map +1 -0
- package/lib/typescript/src/web/katex.d.ts +11 -0
- package/lib/typescript/src/web/katex.d.ts.map +1 -0
- package/lib/typescript/src/web/parseMarkdown.d.ts +4 -0
- package/lib/typescript/src/web/parseMarkdown.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/BlockRenderers.d.ts +3 -0
- package/lib/typescript/src/web/renderers/BlockRenderers.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/InlineRenderers.d.ts +3 -0
- package/lib/typescript/src/web/renderers/InlineRenderers.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/KaTeXRenderer.d.ts +11 -0
- package/lib/typescript/src/web/renderers/KaTeXRenderer.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/ListRenderers.d.ts +3 -0
- package/lib/typescript/src/web/renderers/ListRenderers.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/TableRenderers.d.ts +3 -0
- package/lib/typescript/src/web/renderers/TableRenderers.d.ts.map +1 -0
- package/lib/typescript/src/web/renderers/index.d.ts +14 -0
- package/lib/typescript/src/web/renderers/index.d.ts.map +1 -0
- package/lib/typescript/src/web/styles.d.ts +49 -0
- package/lib/typescript/src/web/styles.d.ts.map +1 -0
- package/lib/typescript/src/web/types.d.ts +51 -0
- package/lib/typescript/src/web/types.d.ts.map +1 -0
- package/lib/typescript/src/web/utils.d.ts +21 -0
- package/lib/typescript/src/web/utils.d.ts.map +1 -0
- package/package.json +125 -0
- package/react-native.config.js +17 -0
- package/src/EnrichedMarkdownNativeComponent.ts +429 -0
- package/src/EnrichedMarkdownTextInput.tsx +547 -0
- package/src/EnrichedMarkdownTextInputNativeComponent.ts +364 -0
- package/src/EnrichedMarkdownTextNativeComponent.ts +428 -0
- package/src/index.tsx +28 -0
- package/src/index.web.tsx +8 -0
- package/src/linkVariantUtils.ts +42 -0
- package/src/native/EnrichedMarkdownText.tsx +187 -0
- package/src/normalizeMarkdownStyle.ts +310 -0
- package/src/normalizeMarkdownStyle.web.ts +281 -0
- package/src/normalizeMarkdownTextInputStyle.ts +242 -0
- package/src/plugin/withAndroidMath.ts +24 -0
- package/src/plugin/withIosMath.ts +35 -0
- package/src/plugin/withReactNativeEnrichedMarkdown.ts +17 -0
- package/src/styleUtils.ts +98 -0
- package/src/types/MarkdownStyle.ts +326 -0
- package/src/types/MarkdownStyleInternal.ts +208 -0
- package/src/types/MarkdownTextProps.ts +253 -0
- package/src/types/MarkdownTextProps.web.ts +90 -0
- package/src/types/events.ts +32 -0
- package/src/utils/regexParser.ts +54 -0
- package/src/web/EnrichedMarkdownText.tsx +154 -0
- package/src/web/globalStyles.ts +15 -0
- package/src/web/injectStyle.ts +17 -0
- package/src/web/katex.ts +31 -0
- package/src/web/parseMarkdown.ts +78 -0
- package/src/web/renderers/BlockRenderers.tsx +90 -0
- package/src/web/renderers/InlineRenderers.tsx +121 -0
- package/src/web/renderers/KaTeXRenderer.tsx +49 -0
- package/src/web/renderers/ListRenderers.tsx +110 -0
- package/src/web/renderers/TableRenderers.tsx +61 -0
- package/src/web/renderers/index.tsx +75 -0
- package/src/web/styles.ts +549 -0
- package/src/web/types.ts +92 -0
- package/src/web/utils.ts +52 -0
- package/src/web/wasm/md4c.d.ts +21 -0
- package/src/web/wasm/md4c.js +0 -0
|
@@ -0,0 +1,2515 @@
|
|
|
1
|
+
#import "StyleConfig.h"
|
|
2
|
+
#import "ENRMFontSlot.h"
|
|
3
|
+
#import "FontUtils.h"
|
|
4
|
+
#import <React/RCTFont.h>
|
|
5
|
+
#import <React/RCTUtils.h>
|
|
6
|
+
|
|
7
|
+
static inline NSString *normalizedFontWeight(NSString *fontWeight)
|
|
8
|
+
{
|
|
9
|
+
// If nil or empty string, return nil to let RCTFont use fontFamily as-is
|
|
10
|
+
if (fontWeight == nil || fontWeight.length == 0) {
|
|
11
|
+
return nil;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return fontWeight;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@implementation LinkVariantConfig
|
|
18
|
+
@end
|
|
19
|
+
|
|
20
|
+
@interface LinkVariantRegexEntry : NSObject
|
|
21
|
+
@property (nonatomic, strong) NSRegularExpression *regex;
|
|
22
|
+
@property (nonatomic, strong) LinkVariantConfig *variant;
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
@implementation LinkVariantRegexEntry
|
|
26
|
+
@end
|
|
27
|
+
|
|
28
|
+
@implementation StyleConfig {
|
|
29
|
+
BOOL _allowFontScaling;
|
|
30
|
+
CGFloat _maxFontSizeMultiplier;
|
|
31
|
+
// Primary font properties
|
|
32
|
+
RCTUIColor *_primaryColor;
|
|
33
|
+
NSNumber *_primaryFontSize;
|
|
34
|
+
NSString *_primaryFontWeight;
|
|
35
|
+
NSString *_primaryFontFamily;
|
|
36
|
+
ENRMFontSlot *_primaryFont;
|
|
37
|
+
// Paragraph properties
|
|
38
|
+
CGFloat _paragraphFontSize;
|
|
39
|
+
NSString *_paragraphFontFamily;
|
|
40
|
+
NSString *_paragraphFontWeight;
|
|
41
|
+
RCTUIColor *_paragraphColor;
|
|
42
|
+
CGFloat _paragraphMarginTop;
|
|
43
|
+
CGFloat _paragraphMarginBottom;
|
|
44
|
+
CGFloat _paragraphLineHeight;
|
|
45
|
+
NSTextAlignment _paragraphTextAlign;
|
|
46
|
+
ENRMFontSlot *_paragraphFont;
|
|
47
|
+
// H1 properties
|
|
48
|
+
CGFloat _h1FontSize;
|
|
49
|
+
NSString *_h1FontFamily;
|
|
50
|
+
NSString *_h1FontWeight;
|
|
51
|
+
RCTUIColor *_h1Color;
|
|
52
|
+
CGFloat _h1MarginTop;
|
|
53
|
+
CGFloat _h1MarginBottom;
|
|
54
|
+
CGFloat _h1LineHeight;
|
|
55
|
+
NSTextAlignment _h1TextAlign;
|
|
56
|
+
ENRMFontSlot *_h1Font;
|
|
57
|
+
// H2 properties
|
|
58
|
+
CGFloat _h2FontSize;
|
|
59
|
+
NSString *_h2FontFamily;
|
|
60
|
+
NSString *_h2FontWeight;
|
|
61
|
+
RCTUIColor *_h2Color;
|
|
62
|
+
CGFloat _h2MarginTop;
|
|
63
|
+
CGFloat _h2MarginBottom;
|
|
64
|
+
CGFloat _h2LineHeight;
|
|
65
|
+
NSTextAlignment _h2TextAlign;
|
|
66
|
+
ENRMFontSlot *_h2Font;
|
|
67
|
+
// H3 properties
|
|
68
|
+
CGFloat _h3FontSize;
|
|
69
|
+
NSString *_h3FontFamily;
|
|
70
|
+
NSString *_h3FontWeight;
|
|
71
|
+
RCTUIColor *_h3Color;
|
|
72
|
+
CGFloat _h3MarginTop;
|
|
73
|
+
CGFloat _h3MarginBottom;
|
|
74
|
+
CGFloat _h3LineHeight;
|
|
75
|
+
NSTextAlignment _h3TextAlign;
|
|
76
|
+
ENRMFontSlot *_h3Font;
|
|
77
|
+
// H4 properties
|
|
78
|
+
CGFloat _h4FontSize;
|
|
79
|
+
NSString *_h4FontFamily;
|
|
80
|
+
NSString *_h4FontWeight;
|
|
81
|
+
RCTUIColor *_h4Color;
|
|
82
|
+
CGFloat _h4MarginTop;
|
|
83
|
+
CGFloat _h4MarginBottom;
|
|
84
|
+
CGFloat _h4LineHeight;
|
|
85
|
+
NSTextAlignment _h4TextAlign;
|
|
86
|
+
ENRMFontSlot *_h4Font;
|
|
87
|
+
// H5 properties
|
|
88
|
+
CGFloat _h5FontSize;
|
|
89
|
+
NSString *_h5FontFamily;
|
|
90
|
+
NSString *_h5FontWeight;
|
|
91
|
+
RCTUIColor *_h5Color;
|
|
92
|
+
CGFloat _h5MarginTop;
|
|
93
|
+
CGFloat _h5MarginBottom;
|
|
94
|
+
CGFloat _h5LineHeight;
|
|
95
|
+
NSTextAlignment _h5TextAlign;
|
|
96
|
+
ENRMFontSlot *_h5Font;
|
|
97
|
+
// H6 properties
|
|
98
|
+
CGFloat _h6FontSize;
|
|
99
|
+
NSString *_h6FontFamily;
|
|
100
|
+
NSString *_h6FontWeight;
|
|
101
|
+
RCTUIColor *_h6Color;
|
|
102
|
+
CGFloat _h6MarginTop;
|
|
103
|
+
CGFloat _h6MarginBottom;
|
|
104
|
+
CGFloat _h6LineHeight;
|
|
105
|
+
NSTextAlignment _h6TextAlign;
|
|
106
|
+
ENRMFontSlot *_h6Font;
|
|
107
|
+
// Link properties
|
|
108
|
+
NSString *_linkFontFamily;
|
|
109
|
+
RCTUIColor *_linkColor;
|
|
110
|
+
BOOL _linkUnderline;
|
|
111
|
+
RCTUIColor *_linkBackgroundColor;
|
|
112
|
+
NSArray<LinkVariantConfig *> *_linkVariants;
|
|
113
|
+
NSArray<LinkVariantRegexEntry *> *_compiledVariantRegexes;
|
|
114
|
+
// Strong properties
|
|
115
|
+
NSString *_strongFontFamily;
|
|
116
|
+
NSString *_strongFontWeight;
|
|
117
|
+
RCTUIColor *_strongColor;
|
|
118
|
+
// Emphasis properties
|
|
119
|
+
NSString *_emphasisFontFamily;
|
|
120
|
+
NSString *_emphasisFontStyle;
|
|
121
|
+
RCTUIColor *_emphasisColor;
|
|
122
|
+
// Strikethrough properties
|
|
123
|
+
RCTUIColor *_strikethroughColor;
|
|
124
|
+
// Highlight properties
|
|
125
|
+
RCTUIColor *_highlightColor;
|
|
126
|
+
RCTUIColor *_highlightBackgroundColor;
|
|
127
|
+
// Underline properties
|
|
128
|
+
RCTUIColor *_underlineColor;
|
|
129
|
+
// Code properties
|
|
130
|
+
NSString *_codeFontFamily;
|
|
131
|
+
CGFloat _codeFontSize;
|
|
132
|
+
RCTUIColor *_codeColor;
|
|
133
|
+
RCTUIColor *_codeBackgroundColor;
|
|
134
|
+
RCTUIColor *_codeBorderColor;
|
|
135
|
+
// Image properties
|
|
136
|
+
CGFloat _imageHeight;
|
|
137
|
+
CGFloat _imageBorderRadius;
|
|
138
|
+
CGFloat _imageMarginTop;
|
|
139
|
+
CGFloat _imageMarginBottom;
|
|
140
|
+
// Inline image properties
|
|
141
|
+
CGFloat _inlineImageSize;
|
|
142
|
+
// Blockquote properties
|
|
143
|
+
CGFloat _blockquoteFontSize;
|
|
144
|
+
NSString *_blockquoteFontFamily;
|
|
145
|
+
NSString *_blockquoteFontWeight;
|
|
146
|
+
RCTUIColor *_blockquoteColor;
|
|
147
|
+
CGFloat _blockquoteMarginTop;
|
|
148
|
+
CGFloat _blockquoteMarginBottom;
|
|
149
|
+
CGFloat _blockquoteLineHeight;
|
|
150
|
+
RCTUIColor *_blockquoteBorderColor;
|
|
151
|
+
CGFloat _blockquoteBorderWidth;
|
|
152
|
+
CGFloat _blockquoteGapWidth;
|
|
153
|
+
RCTUIColor *_blockquoteBackgroundColor;
|
|
154
|
+
ENRMFontSlot *_blockquoteFont;
|
|
155
|
+
// List style properties (combined for both ordered and unordered lists)
|
|
156
|
+
CGFloat _listStyleFontSize;
|
|
157
|
+
NSString *_listStyleFontFamily;
|
|
158
|
+
NSString *_listStyleFontWeight;
|
|
159
|
+
RCTUIColor *_listStyleColor;
|
|
160
|
+
CGFloat _listStyleMarginTop;
|
|
161
|
+
CGFloat _listStyleMarginBottom;
|
|
162
|
+
CGFloat _listStyleLineHeight;
|
|
163
|
+
RCTUIColor *_listStyleBulletColor;
|
|
164
|
+
CGFloat _listStyleBulletSize;
|
|
165
|
+
CGFloat _listStyleMarkerMinWidth;
|
|
166
|
+
RCTUIColor *_listStyleMarkerColor;
|
|
167
|
+
NSString *_listStyleMarkerFontWeight;
|
|
168
|
+
CGFloat _listStyleGapWidth;
|
|
169
|
+
CGFloat _listStyleMarginLeft;
|
|
170
|
+
ENRMFontSlot *_listMarkerFont;
|
|
171
|
+
ENRMFontSlot *_listStyleFont;
|
|
172
|
+
// Code block properties
|
|
173
|
+
CGFloat _codeBlockFontSize;
|
|
174
|
+
NSString *_codeBlockFontFamily;
|
|
175
|
+
NSString *_codeBlockFontWeight;
|
|
176
|
+
RCTUIColor *_codeBlockColor;
|
|
177
|
+
CGFloat _codeBlockMarginTop;
|
|
178
|
+
CGFloat _codeBlockMarginBottom;
|
|
179
|
+
CGFloat _codeBlockLineHeight;
|
|
180
|
+
RCTUIColor *_codeBlockBackgroundColor;
|
|
181
|
+
RCTUIColor *_codeBlockBorderColor;
|
|
182
|
+
CGFloat _codeBlockBorderRadius;
|
|
183
|
+
CGFloat _codeBlockBorderWidth;
|
|
184
|
+
CGFloat _codeBlockPadding;
|
|
185
|
+
ENRMFontSlot *_codeBlockFont;
|
|
186
|
+
// Thematic break properties
|
|
187
|
+
RCTUIColor *_thematicBreakColor;
|
|
188
|
+
CGFloat _thematicBreakHeight;
|
|
189
|
+
CGFloat _thematicBreakMarginTop;
|
|
190
|
+
CGFloat _thematicBreakMarginBottom;
|
|
191
|
+
// Table properties
|
|
192
|
+
CGFloat _tableFontSize;
|
|
193
|
+
NSString *_tableFontFamily;
|
|
194
|
+
NSString *_tableFontWeight;
|
|
195
|
+
RCTUIColor *_tableColor;
|
|
196
|
+
CGFloat _tableMarginTop;
|
|
197
|
+
CGFloat _tableMarginBottom;
|
|
198
|
+
CGFloat _tableLineHeight;
|
|
199
|
+
ENRMFontSlot *_tableFont;
|
|
200
|
+
NSString *_tableHeaderFontFamily;
|
|
201
|
+
ENRMFontSlot *_tableHeaderFont;
|
|
202
|
+
RCTUIColor *_tableHeaderBackgroundColor;
|
|
203
|
+
RCTUIColor *_tableHeaderTextColor;
|
|
204
|
+
RCTUIColor *_tableRowEvenBackgroundColor;
|
|
205
|
+
RCTUIColor *_tableRowOddBackgroundColor;
|
|
206
|
+
RCTUIColor *_tableBorderColor;
|
|
207
|
+
CGFloat _tableBorderWidth;
|
|
208
|
+
CGFloat _tableBorderRadius;
|
|
209
|
+
CGFloat _tableCellPaddingHorizontal;
|
|
210
|
+
CGFloat _tableCellPaddingVertical;
|
|
211
|
+
// Task list checkbox
|
|
212
|
+
RCTUIColor *_taskListCheckedColor;
|
|
213
|
+
RCTUIColor *_taskListBorderColor;
|
|
214
|
+
CGFloat _taskListCheckboxSize;
|
|
215
|
+
CGFloat _taskListCheckboxBorderRadius;
|
|
216
|
+
RCTUIColor *_taskListCheckmarkColor;
|
|
217
|
+
RCTUIColor *_taskListCheckedTextColor;
|
|
218
|
+
BOOL _taskListCheckedStrikethrough;
|
|
219
|
+
// Math properties
|
|
220
|
+
CGFloat _mathFontSize;
|
|
221
|
+
RCTUIColor *_mathColor;
|
|
222
|
+
RCTUIColor *_mathBackgroundColor;
|
|
223
|
+
CGFloat _mathPadding;
|
|
224
|
+
CGFloat _mathMarginTop;
|
|
225
|
+
CGFloat _mathMarginBottom;
|
|
226
|
+
NSString *_mathTextAlign;
|
|
227
|
+
// Inline Math properties
|
|
228
|
+
RCTUIColor *_inlineMathColor;
|
|
229
|
+
// Spoiler properties
|
|
230
|
+
RCTUIColor *_spoilerColor;
|
|
231
|
+
CGFloat _spoilerParticleDensity;
|
|
232
|
+
CGFloat _spoilerParticleSpeed;
|
|
233
|
+
CGFloat _spoilerSolidBorderRadius;
|
|
234
|
+
CGFloat _superscriptFontScale;
|
|
235
|
+
CGFloat _superscriptBaselineOffsetScale;
|
|
236
|
+
CGFloat _subscriptFontScale;
|
|
237
|
+
CGFloat _subscriptBaselineOffsetScale;
|
|
238
|
+
// All font cache entries — used for bulk invalidation
|
|
239
|
+
NSArray<ENRMFontSlot *> *_allFontEntries;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
- (instancetype)init
|
|
243
|
+
{
|
|
244
|
+
self = [super init];
|
|
245
|
+
_allowFontScaling = YES;
|
|
246
|
+
_maxFontSizeMultiplier = 0;
|
|
247
|
+
_paragraphTextAlign = NSTextAlignmentNatural;
|
|
248
|
+
_h1TextAlign = NSTextAlignmentNatural;
|
|
249
|
+
_h2TextAlign = NSTextAlignmentNatural;
|
|
250
|
+
_h3TextAlign = NSTextAlignmentNatural;
|
|
251
|
+
_h4TextAlign = NSTextAlignmentNatural;
|
|
252
|
+
_h5TextAlign = NSTextAlignmentNatural;
|
|
253
|
+
_h6TextAlign = NSTextAlignmentNatural;
|
|
254
|
+
_linkUnderline = YES;
|
|
255
|
+
_linkVariants = @[];
|
|
256
|
+
_compiledVariantRegexes = @[];
|
|
257
|
+
_primaryFont = [[ENRMFontSlot alloc] init];
|
|
258
|
+
_paragraphFont = [[ENRMFontSlot alloc] init];
|
|
259
|
+
_h1Font = [[ENRMFontSlot alloc] init];
|
|
260
|
+
_h2Font = [[ENRMFontSlot alloc] init];
|
|
261
|
+
_h3Font = [[ENRMFontSlot alloc] init];
|
|
262
|
+
_h4Font = [[ENRMFontSlot alloc] init];
|
|
263
|
+
_h5Font = [[ENRMFontSlot alloc] init];
|
|
264
|
+
_h6Font = [[ENRMFontSlot alloc] init];
|
|
265
|
+
_listMarkerFont = [[ENRMFontSlot alloc] init];
|
|
266
|
+
_listStyleFont = [[ENRMFontSlot alloc] init];
|
|
267
|
+
_codeBlockFont = [[ENRMFontSlot alloc] init];
|
|
268
|
+
_blockquoteFont = [[ENRMFontSlot alloc] init];
|
|
269
|
+
_tableFont = [[ENRMFontSlot alloc] init];
|
|
270
|
+
_tableHeaderFont = [[ENRMFontSlot alloc] init];
|
|
271
|
+
_allFontEntries = @[
|
|
272
|
+
_primaryFont, _paragraphFont, _h1Font, _h2Font, _h3Font, _h4Font, _h5Font, _h6Font, _listMarkerFont, _listStyleFont,
|
|
273
|
+
_codeBlockFont, _blockquoteFont, _tableFont, _tableHeaderFont
|
|
274
|
+
];
|
|
275
|
+
return self;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
- (void)invalidateAllFonts
|
|
279
|
+
{
|
|
280
|
+
for (ENRMFontSlot *entry in _allFontEntries) {
|
|
281
|
+
[entry invalidate];
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
- (CGFloat)fontScaleMultiplier
|
|
286
|
+
{
|
|
287
|
+
return _allowFontScaling ? RCTFontSizeMultiplier() : 1.0;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
- (void)setFontScaleMultiplier:(CGFloat)newValue
|
|
291
|
+
{
|
|
292
|
+
BOOL newAllowFontScaling = (newValue != 1.0);
|
|
293
|
+
if (_allowFontScaling != newAllowFontScaling) {
|
|
294
|
+
_allowFontScaling = newAllowFontScaling;
|
|
295
|
+
[self invalidateAllFonts];
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
- (CGFloat)effectiveScaleMultiplierForFontSize:(CGFloat)fontSize
|
|
300
|
+
{
|
|
301
|
+
if (!_allowFontScaling) {
|
|
302
|
+
return 1.0;
|
|
303
|
+
}
|
|
304
|
+
return RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
- (CGFloat)maxFontSizeMultiplier
|
|
308
|
+
{
|
|
309
|
+
return _maxFontSizeMultiplier;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
- (void)setMaxFontSizeMultiplier:(CGFloat)newValue
|
|
313
|
+
{
|
|
314
|
+
if (_maxFontSizeMultiplier != newValue) {
|
|
315
|
+
_maxFontSizeMultiplier = newValue;
|
|
316
|
+
[self invalidateAllFonts];
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
- (id)copyWithZone:(NSZone *)zone
|
|
321
|
+
{
|
|
322
|
+
// -init creates fresh ENRMFontSlot instances with needsRecreation = YES,
|
|
323
|
+
// so all cached fonts will be rebuilt from the copied params below.
|
|
324
|
+
StyleConfig *copy = [[[self class] allocWithZone:zone] init];
|
|
325
|
+
copy->_allowFontScaling = _allowFontScaling;
|
|
326
|
+
copy->_maxFontSizeMultiplier = _maxFontSizeMultiplier;
|
|
327
|
+
copy->_primaryColor = [_primaryColor copy];
|
|
328
|
+
copy->_primaryFontSize = [_primaryFontSize copy];
|
|
329
|
+
copy->_primaryFontWeight = [_primaryFontWeight copy];
|
|
330
|
+
copy->_primaryFontFamily = [_primaryFontFamily copy];
|
|
331
|
+
copy->_paragraphFontSize = _paragraphFontSize;
|
|
332
|
+
copy->_paragraphFontFamily = [_paragraphFontFamily copy];
|
|
333
|
+
copy->_paragraphFontWeight = [_paragraphFontWeight copy];
|
|
334
|
+
copy->_paragraphColor = [_paragraphColor copy];
|
|
335
|
+
copy->_paragraphMarginTop = _paragraphMarginTop;
|
|
336
|
+
copy->_paragraphMarginBottom = _paragraphMarginBottom;
|
|
337
|
+
copy->_paragraphLineHeight = _paragraphLineHeight;
|
|
338
|
+
copy->_paragraphTextAlign = _paragraphTextAlign;
|
|
339
|
+
copy->_h1FontSize = _h1FontSize;
|
|
340
|
+
copy->_h1FontFamily = [_h1FontFamily copy];
|
|
341
|
+
copy->_h1FontWeight = [_h1FontWeight copy];
|
|
342
|
+
copy->_h1Color = [_h1Color copy];
|
|
343
|
+
copy->_h1MarginTop = _h1MarginTop;
|
|
344
|
+
copy->_h1MarginBottom = _h1MarginBottom;
|
|
345
|
+
copy->_h1LineHeight = _h1LineHeight;
|
|
346
|
+
copy->_h1TextAlign = _h1TextAlign;
|
|
347
|
+
copy->_h2FontSize = _h2FontSize;
|
|
348
|
+
copy->_h2FontFamily = [_h2FontFamily copy];
|
|
349
|
+
copy->_h2FontWeight = [_h2FontWeight copy];
|
|
350
|
+
copy->_h2Color = [_h2Color copy];
|
|
351
|
+
copy->_h2MarginTop = _h2MarginTop;
|
|
352
|
+
copy->_h2MarginBottom = _h2MarginBottom;
|
|
353
|
+
copy->_h2LineHeight = _h2LineHeight;
|
|
354
|
+
copy->_h2TextAlign = _h2TextAlign;
|
|
355
|
+
copy->_h3FontSize = _h3FontSize;
|
|
356
|
+
copy->_h3FontFamily = [_h3FontFamily copy];
|
|
357
|
+
copy->_h3FontWeight = [_h3FontWeight copy];
|
|
358
|
+
copy->_h3Color = [_h3Color copy];
|
|
359
|
+
copy->_h3MarginTop = _h3MarginTop;
|
|
360
|
+
copy->_h3MarginBottom = _h3MarginBottom;
|
|
361
|
+
copy->_h3LineHeight = _h3LineHeight;
|
|
362
|
+
copy->_h3TextAlign = _h3TextAlign;
|
|
363
|
+
copy->_h4FontSize = _h4FontSize;
|
|
364
|
+
copy->_h4FontFamily = [_h4FontFamily copy];
|
|
365
|
+
copy->_h4FontWeight = [_h4FontWeight copy];
|
|
366
|
+
copy->_h4Color = [_h4Color copy];
|
|
367
|
+
copy->_h4MarginTop = _h4MarginTop;
|
|
368
|
+
copy->_h4MarginBottom = _h4MarginBottom;
|
|
369
|
+
copy->_h4LineHeight = _h4LineHeight;
|
|
370
|
+
copy->_h4TextAlign = _h4TextAlign;
|
|
371
|
+
copy->_h5FontSize = _h5FontSize;
|
|
372
|
+
copy->_h5FontFamily = [_h5FontFamily copy];
|
|
373
|
+
copy->_h5FontWeight = [_h5FontWeight copy];
|
|
374
|
+
copy->_h5Color = [_h5Color copy];
|
|
375
|
+
copy->_h5MarginTop = _h5MarginTop;
|
|
376
|
+
copy->_h5MarginBottom = _h5MarginBottom;
|
|
377
|
+
copy->_h5LineHeight = _h5LineHeight;
|
|
378
|
+
copy->_h5TextAlign = _h5TextAlign;
|
|
379
|
+
copy->_h6FontSize = _h6FontSize;
|
|
380
|
+
copy->_h6FontFamily = [_h6FontFamily copy];
|
|
381
|
+
copy->_h6FontWeight = [_h6FontWeight copy];
|
|
382
|
+
copy->_h6Color = [_h6Color copy];
|
|
383
|
+
copy->_h6MarginTop = _h6MarginTop;
|
|
384
|
+
copy->_h6MarginBottom = _h6MarginBottom;
|
|
385
|
+
copy->_h6LineHeight = _h6LineHeight;
|
|
386
|
+
copy->_h6TextAlign = _h6TextAlign;
|
|
387
|
+
copy->_linkFontFamily = [_linkFontFamily copy];
|
|
388
|
+
copy->_linkColor = [_linkColor copy];
|
|
389
|
+
copy->_linkUnderline = _linkUnderline;
|
|
390
|
+
copy->_linkBackgroundColor = [_linkBackgroundColor copy];
|
|
391
|
+
copy->_linkVariants = [_linkVariants copy];
|
|
392
|
+
copy->_compiledVariantRegexes = [_compiledVariantRegexes copy];
|
|
393
|
+
copy->_strongFontFamily = [_strongFontFamily copy];
|
|
394
|
+
copy->_strongFontWeight = [_strongFontWeight copy];
|
|
395
|
+
copy->_strongColor = [_strongColor copy];
|
|
396
|
+
copy->_emphasisFontFamily = [_emphasisFontFamily copy];
|
|
397
|
+
copy->_emphasisFontStyle = [_emphasisFontStyle copy];
|
|
398
|
+
copy->_emphasisColor = [_emphasisColor copy];
|
|
399
|
+
copy->_strikethroughColor = [_strikethroughColor copy];
|
|
400
|
+
copy->_highlightColor = [_highlightColor copy];
|
|
401
|
+
copy->_highlightBackgroundColor = [_highlightBackgroundColor copy];
|
|
402
|
+
copy->_underlineColor = [_underlineColor copy];
|
|
403
|
+
copy->_codeFontFamily = [_codeFontFamily copy];
|
|
404
|
+
copy->_codeFontSize = _codeFontSize;
|
|
405
|
+
copy->_codeColor = [_codeColor copy];
|
|
406
|
+
copy->_codeBackgroundColor = [_codeBackgroundColor copy];
|
|
407
|
+
copy->_codeBorderColor = [_codeBorderColor copy];
|
|
408
|
+
copy->_imageHeight = _imageHeight;
|
|
409
|
+
copy->_imageBorderRadius = _imageBorderRadius;
|
|
410
|
+
copy->_imageMarginTop = _imageMarginTop;
|
|
411
|
+
copy->_imageMarginBottom = _imageMarginBottom;
|
|
412
|
+
copy->_inlineImageSize = _inlineImageSize;
|
|
413
|
+
copy->_blockquoteFontSize = _blockquoteFontSize;
|
|
414
|
+
copy->_blockquoteFontFamily = [_blockquoteFontFamily copy];
|
|
415
|
+
copy->_blockquoteFontWeight = [_blockquoteFontWeight copy];
|
|
416
|
+
copy->_blockquoteColor = [_blockquoteColor copy];
|
|
417
|
+
copy->_blockquoteMarginTop = _blockquoteMarginTop;
|
|
418
|
+
copy->_blockquoteMarginBottom = _blockquoteMarginBottom;
|
|
419
|
+
copy->_blockquoteLineHeight = _blockquoteLineHeight;
|
|
420
|
+
copy->_blockquoteBorderColor = [_blockquoteBorderColor copy];
|
|
421
|
+
copy->_blockquoteBorderWidth = _blockquoteBorderWidth;
|
|
422
|
+
copy->_blockquoteGapWidth = _blockquoteGapWidth;
|
|
423
|
+
copy->_blockquoteBackgroundColor = [_blockquoteBackgroundColor copy];
|
|
424
|
+
copy->_listStyleFontSize = _listStyleFontSize;
|
|
425
|
+
copy->_listStyleFontFamily = [_listStyleFontFamily copy];
|
|
426
|
+
copy->_listStyleFontWeight = [_listStyleFontWeight copy];
|
|
427
|
+
copy->_listStyleColor = [_listStyleColor copy];
|
|
428
|
+
copy->_listStyleMarginTop = _listStyleMarginTop;
|
|
429
|
+
copy->_listStyleMarginBottom = _listStyleMarginBottom;
|
|
430
|
+
copy->_listStyleLineHeight = _listStyleLineHeight;
|
|
431
|
+
copy->_listStyleBulletColor = [_listStyleBulletColor copy];
|
|
432
|
+
copy->_listStyleBulletSize = _listStyleBulletSize;
|
|
433
|
+
copy->_listStyleMarkerMinWidth = _listStyleMarkerMinWidth;
|
|
434
|
+
copy->_listStyleMarkerColor = [_listStyleMarkerColor copy];
|
|
435
|
+
copy->_listStyleMarkerFontWeight = [_listStyleMarkerFontWeight copy];
|
|
436
|
+
copy->_listStyleGapWidth = _listStyleGapWidth;
|
|
437
|
+
copy->_listStyleMarginLeft = _listStyleMarginLeft;
|
|
438
|
+
copy->_codeBlockFontSize = _codeBlockFontSize;
|
|
439
|
+
copy->_codeBlockFontFamily = [_codeBlockFontFamily copy];
|
|
440
|
+
copy->_codeBlockFontWeight = [_codeBlockFontWeight copy];
|
|
441
|
+
copy->_codeBlockColor = [_codeBlockColor copy];
|
|
442
|
+
copy->_codeBlockMarginTop = _codeBlockMarginTop;
|
|
443
|
+
copy->_codeBlockMarginBottom = _codeBlockMarginBottom;
|
|
444
|
+
copy->_codeBlockLineHeight = _codeBlockLineHeight;
|
|
445
|
+
copy->_codeBlockBackgroundColor = [_codeBlockBackgroundColor copy];
|
|
446
|
+
copy->_codeBlockBorderColor = [_codeBlockBorderColor copy];
|
|
447
|
+
copy->_codeBlockBorderRadius = _codeBlockBorderRadius;
|
|
448
|
+
copy->_codeBlockBorderWidth = _codeBlockBorderWidth;
|
|
449
|
+
copy->_codeBlockPadding = _codeBlockPadding;
|
|
450
|
+
copy->_thematicBreakColor = [_thematicBreakColor copy];
|
|
451
|
+
copy->_thematicBreakHeight = _thematicBreakHeight;
|
|
452
|
+
copy->_thematicBreakMarginTop = _thematicBreakMarginTop;
|
|
453
|
+
copy->_thematicBreakMarginBottom = _thematicBreakMarginBottom;
|
|
454
|
+
copy->_tableFontSize = _tableFontSize;
|
|
455
|
+
copy->_tableFontFamily = [_tableFontFamily copy];
|
|
456
|
+
copy->_tableFontWeight = [_tableFontWeight copy];
|
|
457
|
+
copy->_tableColor = [_tableColor copy];
|
|
458
|
+
copy->_tableMarginTop = _tableMarginTop;
|
|
459
|
+
copy->_tableMarginBottom = _tableMarginBottom;
|
|
460
|
+
copy->_tableLineHeight = _tableLineHeight;
|
|
461
|
+
copy->_tableHeaderFontFamily = [_tableHeaderFontFamily copy];
|
|
462
|
+
copy->_tableHeaderBackgroundColor = [_tableHeaderBackgroundColor copy];
|
|
463
|
+
copy->_tableHeaderTextColor = [_tableHeaderTextColor copy];
|
|
464
|
+
copy->_tableRowEvenBackgroundColor = [_tableRowEvenBackgroundColor copy];
|
|
465
|
+
copy->_tableRowOddBackgroundColor = [_tableRowOddBackgroundColor copy];
|
|
466
|
+
copy->_tableBorderColor = [_tableBorderColor copy];
|
|
467
|
+
copy->_tableBorderWidth = _tableBorderWidth;
|
|
468
|
+
copy->_tableBorderRadius = _tableBorderRadius;
|
|
469
|
+
copy->_tableCellPaddingHorizontal = _tableCellPaddingHorizontal;
|
|
470
|
+
copy->_tableCellPaddingVertical = _tableCellPaddingVertical;
|
|
471
|
+
copy->_taskListCheckedColor = [_taskListCheckedColor copy];
|
|
472
|
+
copy->_taskListBorderColor = [_taskListBorderColor copy];
|
|
473
|
+
copy->_taskListCheckboxSize = _taskListCheckboxSize;
|
|
474
|
+
copy->_taskListCheckboxBorderRadius = _taskListCheckboxBorderRadius;
|
|
475
|
+
copy->_taskListCheckmarkColor = [_taskListCheckmarkColor copy];
|
|
476
|
+
copy->_taskListCheckedTextColor = [_taskListCheckedTextColor copy];
|
|
477
|
+
copy->_taskListCheckedStrikethrough = _taskListCheckedStrikethrough;
|
|
478
|
+
copy->_mathFontSize = _mathFontSize;
|
|
479
|
+
copy->_mathColor = [_mathColor copy];
|
|
480
|
+
copy->_mathBackgroundColor = [_mathBackgroundColor copy];
|
|
481
|
+
copy->_mathPadding = _mathPadding;
|
|
482
|
+
copy->_mathMarginTop = _mathMarginTop;
|
|
483
|
+
copy->_mathMarginBottom = _mathMarginBottom;
|
|
484
|
+
copy->_mathTextAlign = [_mathTextAlign copy];
|
|
485
|
+
copy->_inlineMathColor = [_inlineMathColor copy];
|
|
486
|
+
copy->_spoilerColor = [_spoilerColor copy];
|
|
487
|
+
copy->_spoilerParticleDensity = _spoilerParticleDensity;
|
|
488
|
+
copy->_spoilerParticleSpeed = _spoilerParticleSpeed;
|
|
489
|
+
copy->_spoilerSolidBorderRadius = _spoilerSolidBorderRadius;
|
|
490
|
+
copy->_superscriptFontScale = _superscriptFontScale;
|
|
491
|
+
copy->_superscriptBaselineOffsetScale = _superscriptBaselineOffsetScale;
|
|
492
|
+
copy->_subscriptFontScale = _subscriptFontScale;
|
|
493
|
+
copy->_subscriptBaselineOffsetScale = _subscriptBaselineOffsetScale;
|
|
494
|
+
|
|
495
|
+
return copy;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
- (RCTUIColor *)primaryColor
|
|
499
|
+
{
|
|
500
|
+
return _primaryColor != nullptr ? _primaryColor : [RCTUIColor blackColor];
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
- (void)setPrimaryColor:(RCTUIColor *)newValue
|
|
504
|
+
{
|
|
505
|
+
_primaryColor = newValue;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
- (NSNumber *)primaryFontSize
|
|
509
|
+
{
|
|
510
|
+
return _primaryFontSize != nullptr ? _primaryFontSize : @16;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
- (void)setPrimaryFontSize:(NSNumber *)newValue
|
|
514
|
+
{
|
|
515
|
+
_primaryFontSize = newValue;
|
|
516
|
+
[_primaryFont invalidate];
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
- (NSString *)primaryFontWeight
|
|
520
|
+
{
|
|
521
|
+
return _primaryFontWeight != nullptr ? _primaryFontWeight : @"normal";
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
- (void)setPrimaryFontWeight:(NSString *)newValue
|
|
525
|
+
{
|
|
526
|
+
_primaryFontWeight = newValue;
|
|
527
|
+
[_primaryFont invalidate];
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
- (NSString *)primaryFontFamily
|
|
531
|
+
{
|
|
532
|
+
return _primaryFontFamily;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
- (void)setPrimaryFontFamily:(NSString *)newValue
|
|
536
|
+
{
|
|
537
|
+
_primaryFontFamily = newValue;
|
|
538
|
+
[_primaryFont invalidate];
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
- (UIFont *)primaryFont
|
|
542
|
+
{
|
|
543
|
+
if (_primaryFont.needsRecreation || !_primaryFont.cachedFont) {
|
|
544
|
+
_primaryFont.cachedFont =
|
|
545
|
+
[RCTFont updateFont:nil
|
|
546
|
+
withFamily:_primaryFontFamily
|
|
547
|
+
size:_primaryFontSize
|
|
548
|
+
weight:normalizedFontWeight(_primaryFontWeight)
|
|
549
|
+
style:nil
|
|
550
|
+
variant:nil
|
|
551
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:[_primaryFontSize floatValue]]];
|
|
552
|
+
_primaryFont.needsRecreation = NO;
|
|
553
|
+
}
|
|
554
|
+
return _primaryFont.cachedFont;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
// Paragraph properties
|
|
558
|
+
- (CGFloat)paragraphFontSize
|
|
559
|
+
{
|
|
560
|
+
return _paragraphFontSize;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
- (void)setParagraphFontSize:(CGFloat)newValue
|
|
564
|
+
{
|
|
565
|
+
_paragraphFontSize = newValue;
|
|
566
|
+
[_paragraphFont invalidate];
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
- (NSString *)paragraphFontFamily
|
|
570
|
+
{
|
|
571
|
+
return _paragraphFontFamily;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
- (void)setParagraphFontFamily:(NSString *)newValue
|
|
575
|
+
{
|
|
576
|
+
_paragraphFontFamily = newValue;
|
|
577
|
+
[_paragraphFont invalidate];
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
- (NSString *)paragraphFontWeight
|
|
581
|
+
{
|
|
582
|
+
return _paragraphFontWeight;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
- (void)setParagraphFontWeight:(NSString *)newValue
|
|
586
|
+
{
|
|
587
|
+
_paragraphFontWeight = newValue;
|
|
588
|
+
[_paragraphFont invalidate];
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
- (RCTUIColor *)paragraphColor
|
|
592
|
+
{
|
|
593
|
+
return _paragraphColor;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
- (void)setParagraphColor:(RCTUIColor *)newValue
|
|
597
|
+
{
|
|
598
|
+
_paragraphColor = newValue;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
- (CGFloat)paragraphMarginTop
|
|
602
|
+
{
|
|
603
|
+
return _paragraphMarginTop;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
- (void)setParagraphMarginTop:(CGFloat)newValue
|
|
607
|
+
{
|
|
608
|
+
_paragraphMarginTop = newValue;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
- (CGFloat)paragraphMarginBottom
|
|
612
|
+
{
|
|
613
|
+
return _paragraphMarginBottom;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
- (void)setParagraphMarginBottom:(CGFloat)newValue
|
|
617
|
+
{
|
|
618
|
+
_paragraphMarginBottom = newValue;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
- (CGFloat)paragraphLineHeight
|
|
622
|
+
{
|
|
623
|
+
if (_allowFontScaling && _paragraphLineHeight > 0) {
|
|
624
|
+
return _paragraphLineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
625
|
+
}
|
|
626
|
+
return _paragraphLineHeight;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
- (void)setParagraphLineHeight:(CGFloat)newValue
|
|
630
|
+
{
|
|
631
|
+
_paragraphLineHeight = newValue;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
- (NSTextAlignment)paragraphTextAlign
|
|
635
|
+
{
|
|
636
|
+
return _paragraphTextAlign;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
- (void)setParagraphTextAlign:(NSTextAlignment)newValue
|
|
640
|
+
{
|
|
641
|
+
_paragraphTextAlign = newValue;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
- (UIFont *)paragraphFont
|
|
645
|
+
{
|
|
646
|
+
if (_paragraphFont.needsRecreation || !_paragraphFont.cachedFont) {
|
|
647
|
+
_paragraphFont.cachedFont = [RCTFont updateFont:nil
|
|
648
|
+
withFamily:_paragraphFontFamily
|
|
649
|
+
size:@(_paragraphFontSize)
|
|
650
|
+
weight:normalizedFontWeight(_paragraphFontWeight)
|
|
651
|
+
style:nil
|
|
652
|
+
variant:nil
|
|
653
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_paragraphFontSize]];
|
|
654
|
+
_paragraphFont.needsRecreation = NO;
|
|
655
|
+
}
|
|
656
|
+
return _paragraphFont.cachedFont;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
- (CGFloat)h1FontSize
|
|
660
|
+
{
|
|
661
|
+
return _h1FontSize;
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
- (void)setH1FontSize:(CGFloat)newValue
|
|
665
|
+
{
|
|
666
|
+
_h1FontSize = newValue;
|
|
667
|
+
[_h1Font invalidate];
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
- (NSString *)h1FontFamily
|
|
671
|
+
{
|
|
672
|
+
return _h1FontFamily;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
- (void)setH1FontFamily:(NSString *)newValue
|
|
676
|
+
{
|
|
677
|
+
_h1FontFamily = newValue;
|
|
678
|
+
[_h1Font invalidate];
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
- (NSString *)h1FontWeight
|
|
682
|
+
{
|
|
683
|
+
return _h1FontWeight;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
- (void)setH1FontWeight:(NSString *)newValue
|
|
687
|
+
{
|
|
688
|
+
_h1FontWeight = newValue;
|
|
689
|
+
[_h1Font invalidate];
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
- (RCTUIColor *)h1Color
|
|
693
|
+
{
|
|
694
|
+
return _h1Color;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
- (void)setH1Color:(RCTUIColor *)newValue
|
|
698
|
+
{
|
|
699
|
+
_h1Color = newValue;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
- (CGFloat)h1MarginTop
|
|
703
|
+
{
|
|
704
|
+
return _h1MarginTop;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
- (void)setH1MarginTop:(CGFloat)newValue
|
|
708
|
+
{
|
|
709
|
+
_h1MarginTop = newValue;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
- (CGFloat)h1MarginBottom
|
|
713
|
+
{
|
|
714
|
+
return _h1MarginBottom;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
- (void)setH1MarginBottom:(CGFloat)newValue
|
|
718
|
+
{
|
|
719
|
+
_h1MarginBottom = newValue;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
- (CGFloat)h1LineHeight
|
|
723
|
+
{
|
|
724
|
+
if (_allowFontScaling && _h1LineHeight > 0) {
|
|
725
|
+
return _h1LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
726
|
+
}
|
|
727
|
+
return _h1LineHeight;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
- (void)setH1LineHeight:(CGFloat)newValue
|
|
731
|
+
{
|
|
732
|
+
_h1LineHeight = newValue;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
- (NSTextAlignment)h1TextAlign
|
|
736
|
+
{
|
|
737
|
+
return _h1TextAlign;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
- (void)setH1TextAlign:(NSTextAlignment)newValue
|
|
741
|
+
{
|
|
742
|
+
_h1TextAlign = newValue;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
- (UIFont *)h1Font
|
|
746
|
+
{
|
|
747
|
+
if (_h1Font.needsRecreation || !_h1Font.cachedFont) {
|
|
748
|
+
_h1Font.cachedFont = [RCTFont updateFont:nil
|
|
749
|
+
withFamily:_h1FontFamily
|
|
750
|
+
size:@(_h1FontSize)
|
|
751
|
+
weight:normalizedFontWeight(_h1FontWeight)
|
|
752
|
+
style:nil
|
|
753
|
+
variant:nil
|
|
754
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h1FontSize]];
|
|
755
|
+
_h1Font.needsRecreation = NO;
|
|
756
|
+
}
|
|
757
|
+
return _h1Font.cachedFont;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
- (CGFloat)h2FontSize
|
|
761
|
+
{
|
|
762
|
+
return _h2FontSize;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
- (void)setH2FontSize:(CGFloat)newValue
|
|
766
|
+
{
|
|
767
|
+
_h2FontSize = newValue;
|
|
768
|
+
[_h2Font invalidate];
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
- (NSString *)h2FontFamily
|
|
772
|
+
{
|
|
773
|
+
return _h2FontFamily;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
- (void)setH2FontFamily:(NSString *)newValue
|
|
777
|
+
{
|
|
778
|
+
_h2FontFamily = newValue;
|
|
779
|
+
[_h2Font invalidate];
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
- (NSString *)h2FontWeight
|
|
783
|
+
{
|
|
784
|
+
return _h2FontWeight;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
- (void)setH2FontWeight:(NSString *)newValue
|
|
788
|
+
{
|
|
789
|
+
_h2FontWeight = newValue;
|
|
790
|
+
[_h2Font invalidate];
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
- (RCTUIColor *)h2Color
|
|
794
|
+
{
|
|
795
|
+
return _h2Color;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
- (void)setH2Color:(RCTUIColor *)newValue
|
|
799
|
+
{
|
|
800
|
+
_h2Color = newValue;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
- (CGFloat)h2MarginTop
|
|
804
|
+
{
|
|
805
|
+
return _h2MarginTop;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
- (void)setH2MarginTop:(CGFloat)newValue
|
|
809
|
+
{
|
|
810
|
+
_h2MarginTop = newValue;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
- (CGFloat)h2MarginBottom
|
|
814
|
+
{
|
|
815
|
+
return _h2MarginBottom;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
- (void)setH2MarginBottom:(CGFloat)newValue
|
|
819
|
+
{
|
|
820
|
+
_h2MarginBottom = newValue;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
- (CGFloat)h2LineHeight
|
|
824
|
+
{
|
|
825
|
+
if (_allowFontScaling && _h2LineHeight > 0) {
|
|
826
|
+
return _h2LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
827
|
+
}
|
|
828
|
+
return _h2LineHeight;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
- (void)setH2LineHeight:(CGFloat)newValue
|
|
832
|
+
{
|
|
833
|
+
_h2LineHeight = newValue;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
- (NSTextAlignment)h2TextAlign
|
|
837
|
+
{
|
|
838
|
+
return _h2TextAlign;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
- (void)setH2TextAlign:(NSTextAlignment)newValue
|
|
842
|
+
{
|
|
843
|
+
_h2TextAlign = newValue;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
- (UIFont *)h2Font
|
|
847
|
+
{
|
|
848
|
+
if (_h2Font.needsRecreation || !_h2Font.cachedFont) {
|
|
849
|
+
_h2Font.cachedFont = [RCTFont updateFont:nil
|
|
850
|
+
withFamily:_h2FontFamily
|
|
851
|
+
size:@(_h2FontSize)
|
|
852
|
+
weight:normalizedFontWeight(_h2FontWeight)
|
|
853
|
+
style:nil
|
|
854
|
+
variant:nil
|
|
855
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h2FontSize]];
|
|
856
|
+
_h2Font.needsRecreation = NO;
|
|
857
|
+
}
|
|
858
|
+
return _h2Font.cachedFont;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
- (CGFloat)h3FontSize
|
|
862
|
+
{
|
|
863
|
+
return _h3FontSize;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
- (void)setH3FontSize:(CGFloat)newValue
|
|
867
|
+
{
|
|
868
|
+
_h3FontSize = newValue;
|
|
869
|
+
[_h3Font invalidate];
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
- (NSString *)h3FontFamily
|
|
873
|
+
{
|
|
874
|
+
return _h3FontFamily;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
- (void)setH3FontFamily:(NSString *)newValue
|
|
878
|
+
{
|
|
879
|
+
_h3FontFamily = newValue;
|
|
880
|
+
[_h3Font invalidate];
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
- (NSString *)h3FontWeight
|
|
884
|
+
{
|
|
885
|
+
return _h3FontWeight;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
- (void)setH3FontWeight:(NSString *)newValue
|
|
889
|
+
{
|
|
890
|
+
_h3FontWeight = newValue;
|
|
891
|
+
[_h3Font invalidate];
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
- (RCTUIColor *)h3Color
|
|
895
|
+
{
|
|
896
|
+
return _h3Color;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
- (void)setH3Color:(RCTUIColor *)newValue
|
|
900
|
+
{
|
|
901
|
+
_h3Color = newValue;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
- (CGFloat)h3MarginTop
|
|
905
|
+
{
|
|
906
|
+
return _h3MarginTop;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
- (void)setH3MarginTop:(CGFloat)newValue
|
|
910
|
+
{
|
|
911
|
+
_h3MarginTop = newValue;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
- (CGFloat)h3MarginBottom
|
|
915
|
+
{
|
|
916
|
+
return _h3MarginBottom;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
- (void)setH3MarginBottom:(CGFloat)newValue
|
|
920
|
+
{
|
|
921
|
+
_h3MarginBottom = newValue;
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
- (CGFloat)h3LineHeight
|
|
925
|
+
{
|
|
926
|
+
if (_allowFontScaling && _h3LineHeight > 0) {
|
|
927
|
+
return _h3LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
928
|
+
}
|
|
929
|
+
return _h3LineHeight;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
- (void)setH3LineHeight:(CGFloat)newValue
|
|
933
|
+
{
|
|
934
|
+
_h3LineHeight = newValue;
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
- (NSTextAlignment)h3TextAlign
|
|
938
|
+
{
|
|
939
|
+
return _h3TextAlign;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
- (void)setH3TextAlign:(NSTextAlignment)newValue
|
|
943
|
+
{
|
|
944
|
+
_h3TextAlign = newValue;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
- (UIFont *)h3Font
|
|
948
|
+
{
|
|
949
|
+
if (_h3Font.needsRecreation || !_h3Font.cachedFont) {
|
|
950
|
+
_h3Font.cachedFont = [RCTFont updateFont:nil
|
|
951
|
+
withFamily:_h3FontFamily
|
|
952
|
+
size:@(_h3FontSize)
|
|
953
|
+
weight:normalizedFontWeight(_h3FontWeight)
|
|
954
|
+
style:nil
|
|
955
|
+
variant:nil
|
|
956
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h3FontSize]];
|
|
957
|
+
_h3Font.needsRecreation = NO;
|
|
958
|
+
}
|
|
959
|
+
return _h3Font.cachedFont;
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
- (CGFloat)h4FontSize
|
|
963
|
+
{
|
|
964
|
+
return _h4FontSize;
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
- (void)setH4FontSize:(CGFloat)newValue
|
|
968
|
+
{
|
|
969
|
+
_h4FontSize = newValue;
|
|
970
|
+
[_h4Font invalidate];
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
- (NSString *)h4FontFamily
|
|
974
|
+
{
|
|
975
|
+
return _h4FontFamily;
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
- (void)setH4FontFamily:(NSString *)newValue
|
|
979
|
+
{
|
|
980
|
+
_h4FontFamily = newValue;
|
|
981
|
+
[_h4Font invalidate];
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
- (NSString *)h4FontWeight
|
|
985
|
+
{
|
|
986
|
+
return _h4FontWeight;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
- (void)setH4FontWeight:(NSString *)newValue
|
|
990
|
+
{
|
|
991
|
+
_h4FontWeight = newValue;
|
|
992
|
+
[_h4Font invalidate];
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
- (RCTUIColor *)h4Color
|
|
996
|
+
{
|
|
997
|
+
return _h4Color;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
- (void)setH4Color:(RCTUIColor *)newValue
|
|
1001
|
+
{
|
|
1002
|
+
_h4Color = newValue;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
- (CGFloat)h4MarginTop
|
|
1006
|
+
{
|
|
1007
|
+
return _h4MarginTop;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
- (void)setH4MarginTop:(CGFloat)newValue
|
|
1011
|
+
{
|
|
1012
|
+
_h4MarginTop = newValue;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
- (CGFloat)h4MarginBottom
|
|
1016
|
+
{
|
|
1017
|
+
return _h4MarginBottom;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
- (void)setH4MarginBottom:(CGFloat)newValue
|
|
1021
|
+
{
|
|
1022
|
+
_h4MarginBottom = newValue;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
- (CGFloat)h4LineHeight
|
|
1026
|
+
{
|
|
1027
|
+
if (_allowFontScaling && _h4LineHeight > 0) {
|
|
1028
|
+
return _h4LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1029
|
+
}
|
|
1030
|
+
return _h4LineHeight;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
- (void)setH4LineHeight:(CGFloat)newValue
|
|
1034
|
+
{
|
|
1035
|
+
_h4LineHeight = newValue;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
- (NSTextAlignment)h4TextAlign
|
|
1039
|
+
{
|
|
1040
|
+
return _h4TextAlign;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
- (void)setH4TextAlign:(NSTextAlignment)newValue
|
|
1044
|
+
{
|
|
1045
|
+
_h4TextAlign = newValue;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
- (UIFont *)h4Font
|
|
1049
|
+
{
|
|
1050
|
+
if (_h4Font.needsRecreation || !_h4Font.cachedFont) {
|
|
1051
|
+
_h4Font.cachedFont = [RCTFont updateFont:nil
|
|
1052
|
+
withFamily:_h4FontFamily
|
|
1053
|
+
size:@(_h4FontSize)
|
|
1054
|
+
weight:normalizedFontWeight(_h4FontWeight)
|
|
1055
|
+
style:nil
|
|
1056
|
+
variant:nil
|
|
1057
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h4FontSize]];
|
|
1058
|
+
_h4Font.needsRecreation = NO;
|
|
1059
|
+
}
|
|
1060
|
+
return _h4Font.cachedFont;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
- (CGFloat)h5FontSize
|
|
1064
|
+
{
|
|
1065
|
+
return _h5FontSize;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
- (void)setH5FontSize:(CGFloat)newValue
|
|
1069
|
+
{
|
|
1070
|
+
_h5FontSize = newValue;
|
|
1071
|
+
[_h5Font invalidate];
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
- (NSString *)h5FontFamily
|
|
1075
|
+
{
|
|
1076
|
+
return _h5FontFamily;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
- (void)setH5FontFamily:(NSString *)newValue
|
|
1080
|
+
{
|
|
1081
|
+
_h5FontFamily = newValue;
|
|
1082
|
+
[_h5Font invalidate];
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
- (NSString *)h5FontWeight
|
|
1086
|
+
{
|
|
1087
|
+
return _h5FontWeight;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
- (void)setH5FontWeight:(NSString *)newValue
|
|
1091
|
+
{
|
|
1092
|
+
_h5FontWeight = newValue;
|
|
1093
|
+
[_h5Font invalidate];
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
- (RCTUIColor *)h5Color
|
|
1097
|
+
{
|
|
1098
|
+
return _h5Color;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
- (void)setH5Color:(RCTUIColor *)newValue
|
|
1102
|
+
{
|
|
1103
|
+
_h5Color = newValue;
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
- (CGFloat)h5MarginTop
|
|
1107
|
+
{
|
|
1108
|
+
return _h5MarginTop;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
- (void)setH5MarginTop:(CGFloat)newValue
|
|
1112
|
+
{
|
|
1113
|
+
_h5MarginTop = newValue;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
- (CGFloat)h5MarginBottom
|
|
1117
|
+
{
|
|
1118
|
+
return _h5MarginBottom;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
- (void)setH5MarginBottom:(CGFloat)newValue
|
|
1122
|
+
{
|
|
1123
|
+
_h5MarginBottom = newValue;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
- (CGFloat)h5LineHeight
|
|
1127
|
+
{
|
|
1128
|
+
if (_allowFontScaling && _h5LineHeight > 0) {
|
|
1129
|
+
return _h5LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1130
|
+
}
|
|
1131
|
+
return _h5LineHeight;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
- (void)setH5LineHeight:(CGFloat)newValue
|
|
1135
|
+
{
|
|
1136
|
+
_h5LineHeight = newValue;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
- (NSTextAlignment)h5TextAlign
|
|
1140
|
+
{
|
|
1141
|
+
return _h5TextAlign;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
- (void)setH5TextAlign:(NSTextAlignment)newValue
|
|
1145
|
+
{
|
|
1146
|
+
_h5TextAlign = newValue;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
- (UIFont *)h5Font
|
|
1150
|
+
{
|
|
1151
|
+
if (_h5Font.needsRecreation || !_h5Font.cachedFont) {
|
|
1152
|
+
_h5Font.cachedFont = [RCTFont updateFont:nil
|
|
1153
|
+
withFamily:_h5FontFamily
|
|
1154
|
+
size:@(_h5FontSize)
|
|
1155
|
+
weight:normalizedFontWeight(_h5FontWeight)
|
|
1156
|
+
style:nil
|
|
1157
|
+
variant:nil
|
|
1158
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h5FontSize]];
|
|
1159
|
+
_h5Font.needsRecreation = NO;
|
|
1160
|
+
}
|
|
1161
|
+
return _h5Font.cachedFont;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
- (CGFloat)h6FontSize
|
|
1165
|
+
{
|
|
1166
|
+
return _h6FontSize;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
- (void)setH6FontSize:(CGFloat)newValue
|
|
1170
|
+
{
|
|
1171
|
+
_h6FontSize = newValue;
|
|
1172
|
+
[_h6Font invalidate];
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
- (NSString *)h6FontFamily
|
|
1176
|
+
{
|
|
1177
|
+
return _h6FontFamily;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
- (void)setH6FontFamily:(NSString *)newValue
|
|
1181
|
+
{
|
|
1182
|
+
_h6FontFamily = newValue;
|
|
1183
|
+
[_h6Font invalidate];
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
- (NSString *)h6FontWeight
|
|
1187
|
+
{
|
|
1188
|
+
return _h6FontWeight;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
- (void)setH6FontWeight:(NSString *)newValue
|
|
1192
|
+
{
|
|
1193
|
+
_h6FontWeight = newValue;
|
|
1194
|
+
[_h6Font invalidate];
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
- (RCTUIColor *)h6Color
|
|
1198
|
+
{
|
|
1199
|
+
return _h6Color;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
- (void)setH6Color:(RCTUIColor *)newValue
|
|
1203
|
+
{
|
|
1204
|
+
_h6Color = newValue;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
- (CGFloat)h6MarginTop
|
|
1208
|
+
{
|
|
1209
|
+
return _h6MarginTop;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
- (void)setH6MarginTop:(CGFloat)newValue
|
|
1213
|
+
{
|
|
1214
|
+
_h6MarginTop = newValue;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
- (CGFloat)h6MarginBottom
|
|
1218
|
+
{
|
|
1219
|
+
return _h6MarginBottom;
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
- (void)setH6MarginBottom:(CGFloat)newValue
|
|
1223
|
+
{
|
|
1224
|
+
_h6MarginBottom = newValue;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
- (CGFloat)h6LineHeight
|
|
1228
|
+
{
|
|
1229
|
+
if (_allowFontScaling && _h6LineHeight > 0) {
|
|
1230
|
+
return _h6LineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1231
|
+
}
|
|
1232
|
+
return _h6LineHeight;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
- (void)setH6LineHeight:(CGFloat)newValue
|
|
1236
|
+
{
|
|
1237
|
+
_h6LineHeight = newValue;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
- (NSTextAlignment)h6TextAlign
|
|
1241
|
+
{
|
|
1242
|
+
return _h6TextAlign;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
- (void)setH6TextAlign:(NSTextAlignment)newValue
|
|
1246
|
+
{
|
|
1247
|
+
_h6TextAlign = newValue;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
- (UIFont *)h6Font
|
|
1251
|
+
{
|
|
1252
|
+
if (_h6Font.needsRecreation || !_h6Font.cachedFont) {
|
|
1253
|
+
_h6Font.cachedFont = [RCTFont updateFont:nil
|
|
1254
|
+
withFamily:_h6FontFamily
|
|
1255
|
+
size:@(_h6FontSize)
|
|
1256
|
+
weight:normalizedFontWeight(_h6FontWeight)
|
|
1257
|
+
style:nil
|
|
1258
|
+
variant:nil
|
|
1259
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_h6FontSize]];
|
|
1260
|
+
_h6Font.needsRecreation = NO;
|
|
1261
|
+
}
|
|
1262
|
+
return _h6Font.cachedFont;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
- (NSString *)linkFontFamily
|
|
1266
|
+
{
|
|
1267
|
+
return _linkFontFamily;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
- (void)setLinkFontFamily:(NSString *)newValue
|
|
1271
|
+
{
|
|
1272
|
+
_linkFontFamily = newValue;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
- (RCTUIColor *)linkColor
|
|
1276
|
+
{
|
|
1277
|
+
return _linkColor;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
- (void)setLinkColor:(RCTUIColor *)newValue
|
|
1281
|
+
{
|
|
1282
|
+
_linkColor = newValue;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
- (BOOL)linkUnderline
|
|
1286
|
+
{
|
|
1287
|
+
return _linkUnderline;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
- (void)setLinkUnderline:(BOOL)newValue
|
|
1291
|
+
{
|
|
1292
|
+
_linkUnderline = newValue;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
- (RCTUIColor *)linkBackgroundColor
|
|
1296
|
+
{
|
|
1297
|
+
return _linkBackgroundColor;
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
- (void)setLinkBackgroundColor:(RCTUIColor *)newValue
|
|
1301
|
+
{
|
|
1302
|
+
_linkBackgroundColor = newValue;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
- (NSArray<LinkVariantConfig *> *)linkVariants
|
|
1306
|
+
{
|
|
1307
|
+
return _linkVariants;
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
/// The JS normalizer validates patterns before they reach native, but iOS and JS
|
|
1311
|
+
/// regex dialects still differ. Keep each compiled regex paired with its source
|
|
1312
|
+
/// variant so an unsupported pattern cannot shift later matches.
|
|
1313
|
+
- (void)setLinkVariants:(NSArray<LinkVariantConfig *> *)newValue
|
|
1314
|
+
{
|
|
1315
|
+
_linkVariants = newValue;
|
|
1316
|
+
NSMutableArray<LinkVariantRegexEntry *> *compiledEntries = [NSMutableArray arrayWithCapacity:newValue.count];
|
|
1317
|
+
for (LinkVariantConfig *variant in newValue) {
|
|
1318
|
+
NSError *error = nil;
|
|
1319
|
+
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:variant.pattern
|
|
1320
|
+
options:0
|
|
1321
|
+
error:&error];
|
|
1322
|
+
if (regex) {
|
|
1323
|
+
LinkVariantRegexEntry *entry = [[LinkVariantRegexEntry alloc] init];
|
|
1324
|
+
entry.regex = regex;
|
|
1325
|
+
entry.variant = variant;
|
|
1326
|
+
[compiledEntries addObject:entry];
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1329
|
+
_compiledVariantRegexes = [compiledEntries copy];
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
- (nullable LinkVariantConfig *)effectiveLinkVariantForURL:(NSString *)url
|
|
1333
|
+
{
|
|
1334
|
+
if (_linkVariants.count == 0)
|
|
1335
|
+
return nil;
|
|
1336
|
+
NSUInteger len = url.length;
|
|
1337
|
+
for (NSUInteger i = 0; i < _compiledVariantRegexes.count; i++) {
|
|
1338
|
+
LinkVariantRegexEntry *entry = _compiledVariantRegexes[i];
|
|
1339
|
+
if ([entry.regex rangeOfFirstMatchInString:url options:0 range:NSMakeRange(0, len)].location != NSNotFound) {
|
|
1340
|
+
return entry.variant;
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
return nil;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
- (NSString *)strongFontFamily
|
|
1347
|
+
{
|
|
1348
|
+
return _strongFontFamily;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
- (void)setStrongFontFamily:(NSString *)newValue
|
|
1352
|
+
{
|
|
1353
|
+
_strongFontFamily = newValue;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
- (NSString *)strongFontWeight
|
|
1357
|
+
{
|
|
1358
|
+
return _strongFontWeight;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
- (void)setStrongFontWeight:(NSString *)newValue
|
|
1362
|
+
{
|
|
1363
|
+
_strongFontWeight = newValue;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
- (RCTUIColor *)strongColor
|
|
1367
|
+
{
|
|
1368
|
+
return _strongColor;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
- (void)setStrongColor:(RCTUIColor *)newValue
|
|
1372
|
+
{
|
|
1373
|
+
_strongColor = newValue;
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
- (NSString *)emphasisFontFamily
|
|
1377
|
+
{
|
|
1378
|
+
return _emphasisFontFamily;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
- (void)setEmphasisFontFamily:(NSString *)newValue
|
|
1382
|
+
{
|
|
1383
|
+
_emphasisFontFamily = newValue;
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
- (NSString *)emphasisFontStyle
|
|
1387
|
+
{
|
|
1388
|
+
return _emphasisFontStyle;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
- (void)setEmphasisFontStyle:(NSString *)newValue
|
|
1392
|
+
{
|
|
1393
|
+
_emphasisFontStyle = newValue;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
- (RCTUIColor *)emphasisColor
|
|
1397
|
+
{
|
|
1398
|
+
return _emphasisColor;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
- (void)setEmphasisColor:(RCTUIColor *)newValue
|
|
1402
|
+
{
|
|
1403
|
+
_emphasisColor = newValue;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
- (RCTUIColor *)strikethroughColor
|
|
1407
|
+
{
|
|
1408
|
+
return _strikethroughColor;
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
- (void)setStrikethroughColor:(RCTUIColor *)newValue
|
|
1412
|
+
{
|
|
1413
|
+
_strikethroughColor = newValue;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
- (RCTUIColor *)highlightColor
|
|
1417
|
+
{
|
|
1418
|
+
return _highlightColor;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
- (void)setHighlightColor:(RCTUIColor *)newValue
|
|
1422
|
+
{
|
|
1423
|
+
_highlightColor = newValue;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
- (RCTUIColor *)highlightBackgroundColor
|
|
1427
|
+
{
|
|
1428
|
+
return _highlightBackgroundColor;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
- (void)setHighlightBackgroundColor:(RCTUIColor *)newValue
|
|
1432
|
+
{
|
|
1433
|
+
_highlightBackgroundColor = newValue;
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
- (RCTUIColor *)underlineColor
|
|
1437
|
+
{
|
|
1438
|
+
return _underlineColor;
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
- (void)setUnderlineColor:(RCTUIColor *)newValue
|
|
1442
|
+
{
|
|
1443
|
+
_underlineColor = newValue;
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
- (NSString *)codeFontFamily
|
|
1447
|
+
{
|
|
1448
|
+
return _codeFontFamily;
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
- (void)setCodeFontFamily:(NSString *)newValue
|
|
1452
|
+
{
|
|
1453
|
+
_codeFontFamily = newValue;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
- (CGFloat)codeFontSize
|
|
1457
|
+
{
|
|
1458
|
+
return _codeFontSize;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
- (void)setCodeFontSize:(CGFloat)newValue
|
|
1462
|
+
{
|
|
1463
|
+
_codeFontSize = newValue;
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
- (RCTUIColor *)codeColor
|
|
1467
|
+
{
|
|
1468
|
+
return _codeColor;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
- (void)setCodeColor:(RCTUIColor *)newValue
|
|
1472
|
+
{
|
|
1473
|
+
_codeColor = newValue;
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
- (RCTUIColor *)codeBackgroundColor
|
|
1477
|
+
{
|
|
1478
|
+
return _codeBackgroundColor;
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
- (void)setCodeBackgroundColor:(RCTUIColor *)newValue
|
|
1482
|
+
{
|
|
1483
|
+
_codeBackgroundColor = newValue;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
- (RCTUIColor *)codeBorderColor
|
|
1487
|
+
{
|
|
1488
|
+
return _codeBorderColor;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
- (void)setCodeBorderColor:(RCTUIColor *)newValue
|
|
1492
|
+
{
|
|
1493
|
+
_codeBorderColor = newValue;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
- (CGFloat)imageHeight
|
|
1497
|
+
{
|
|
1498
|
+
return _imageHeight;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
- (void)setImageHeight:(CGFloat)newValue
|
|
1502
|
+
{
|
|
1503
|
+
_imageHeight = newValue;
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
- (CGFloat)imageBorderRadius
|
|
1507
|
+
{
|
|
1508
|
+
return _imageBorderRadius;
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
- (void)setImageBorderRadius:(CGFloat)newValue
|
|
1512
|
+
{
|
|
1513
|
+
_imageBorderRadius = newValue;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
- (CGFloat)imageMarginTop
|
|
1517
|
+
{
|
|
1518
|
+
return _imageMarginTop;
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
- (void)setImageMarginTop:(CGFloat)newValue
|
|
1522
|
+
{
|
|
1523
|
+
_imageMarginTop = newValue;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
- (CGFloat)imageMarginBottom
|
|
1527
|
+
{
|
|
1528
|
+
return _imageMarginBottom;
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
- (void)setImageMarginBottom:(CGFloat)newValue
|
|
1532
|
+
{
|
|
1533
|
+
_imageMarginBottom = newValue;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
- (CGFloat)inlineImageSize
|
|
1537
|
+
{
|
|
1538
|
+
return _inlineImageSize;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
- (void)setInlineImageSize:(CGFloat)newValue
|
|
1542
|
+
{
|
|
1543
|
+
_inlineImageSize = newValue;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
// Blockquote properties
|
|
1547
|
+
- (CGFloat)blockquoteFontSize
|
|
1548
|
+
{
|
|
1549
|
+
return _blockquoteFontSize;
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
- (void)setBlockquoteFontSize:(CGFloat)newValue
|
|
1553
|
+
{
|
|
1554
|
+
_blockquoteFontSize = newValue;
|
|
1555
|
+
[_blockquoteFont invalidate];
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1558
|
+
- (NSString *)blockquoteFontFamily
|
|
1559
|
+
{
|
|
1560
|
+
return _blockquoteFontFamily;
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
- (void)setBlockquoteFontFamily:(NSString *)newValue
|
|
1564
|
+
{
|
|
1565
|
+
_blockquoteFontFamily = newValue;
|
|
1566
|
+
[_blockquoteFont invalidate];
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
- (NSString *)blockquoteFontWeight
|
|
1570
|
+
{
|
|
1571
|
+
return _blockquoteFontWeight;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
- (void)setBlockquoteFontWeight:(NSString *)newValue
|
|
1575
|
+
{
|
|
1576
|
+
_blockquoteFontWeight = newValue;
|
|
1577
|
+
[_blockquoteFont invalidate];
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
- (RCTUIColor *)blockquoteColor
|
|
1581
|
+
{
|
|
1582
|
+
return _blockquoteColor;
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
- (void)setBlockquoteColor:(RCTUIColor *)newValue
|
|
1586
|
+
{
|
|
1587
|
+
_blockquoteColor = newValue;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
- (CGFloat)blockquoteMarginTop
|
|
1591
|
+
{
|
|
1592
|
+
return _blockquoteMarginTop;
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
- (void)setBlockquoteMarginTop:(CGFloat)newValue
|
|
1596
|
+
{
|
|
1597
|
+
_blockquoteMarginTop = newValue;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
- (CGFloat)blockquoteMarginBottom
|
|
1601
|
+
{
|
|
1602
|
+
return _blockquoteMarginBottom;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
- (void)setBlockquoteMarginBottom:(CGFloat)newValue
|
|
1606
|
+
{
|
|
1607
|
+
_blockquoteMarginBottom = newValue;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
- (CGFloat)blockquoteLineHeight
|
|
1611
|
+
{
|
|
1612
|
+
if (_allowFontScaling && _blockquoteLineHeight > 0) {
|
|
1613
|
+
return _blockquoteLineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1614
|
+
}
|
|
1615
|
+
return _blockquoteLineHeight;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
- (void)setBlockquoteLineHeight:(CGFloat)newValue
|
|
1619
|
+
{
|
|
1620
|
+
_blockquoteLineHeight = newValue;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
- (UIFont *)blockquoteFont
|
|
1624
|
+
{
|
|
1625
|
+
if (_blockquoteFont.needsRecreation || !_blockquoteFont.cachedFont) {
|
|
1626
|
+
_blockquoteFont.cachedFont = [RCTFont updateFont:nil
|
|
1627
|
+
withFamily:_blockquoteFontFamily
|
|
1628
|
+
size:@(_blockquoteFontSize)
|
|
1629
|
+
weight:normalizedFontWeight(_blockquoteFontWeight)
|
|
1630
|
+
style:nil
|
|
1631
|
+
variant:nil
|
|
1632
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_blockquoteFontSize]];
|
|
1633
|
+
_blockquoteFont.needsRecreation = NO;
|
|
1634
|
+
}
|
|
1635
|
+
return _blockquoteFont.cachedFont;
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
- (RCTUIColor *)blockquoteBorderColor
|
|
1639
|
+
{
|
|
1640
|
+
return _blockquoteBorderColor;
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
- (void)setBlockquoteBorderColor:(RCTUIColor *)newValue
|
|
1644
|
+
{
|
|
1645
|
+
_blockquoteBorderColor = newValue;
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
- (CGFloat)blockquoteBorderWidth
|
|
1649
|
+
{
|
|
1650
|
+
return _blockquoteBorderWidth;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
- (void)setBlockquoteBorderWidth:(CGFloat)newValue
|
|
1654
|
+
{
|
|
1655
|
+
_blockquoteBorderWidth = newValue;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
- (CGFloat)blockquoteGapWidth
|
|
1659
|
+
{
|
|
1660
|
+
return _blockquoteGapWidth;
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
- (void)setBlockquoteGapWidth:(CGFloat)newValue
|
|
1664
|
+
{
|
|
1665
|
+
_blockquoteGapWidth = newValue;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
- (RCTUIColor *)blockquoteBackgroundColor
|
|
1669
|
+
{
|
|
1670
|
+
return _blockquoteBackgroundColor;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
- (void)setBlockquoteBackgroundColor:(RCTUIColor *)newValue
|
|
1674
|
+
{
|
|
1675
|
+
_blockquoteBackgroundColor = newValue;
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
// List style properties (combined for both ordered and unordered lists)
|
|
1679
|
+
- (CGFloat)listStyleFontSize
|
|
1680
|
+
{
|
|
1681
|
+
return _listStyleFontSize;
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
- (void)setListStyleFontSize:(CGFloat)newValue
|
|
1685
|
+
{
|
|
1686
|
+
_listStyleFontSize = newValue;
|
|
1687
|
+
[_listMarkerFont invalidate];
|
|
1688
|
+
[_listStyleFont invalidate];
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
- (NSString *)listStyleFontFamily
|
|
1692
|
+
{
|
|
1693
|
+
return _listStyleFontFamily;
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
- (void)setListStyleFontFamily:(NSString *)newValue
|
|
1697
|
+
{
|
|
1698
|
+
_listStyleFontFamily = newValue;
|
|
1699
|
+
[_listMarkerFont invalidate];
|
|
1700
|
+
[_listStyleFont invalidate];
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
- (NSString *)listStyleFontWeight
|
|
1704
|
+
{
|
|
1705
|
+
return _listStyleFontWeight;
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
- (void)setListStyleFontWeight:(NSString *)newValue
|
|
1709
|
+
{
|
|
1710
|
+
_listStyleFontWeight = newValue;
|
|
1711
|
+
[_listStyleFont invalidate];
|
|
1712
|
+
}
|
|
1713
|
+
|
|
1714
|
+
- (RCTUIColor *)listStyleColor
|
|
1715
|
+
{
|
|
1716
|
+
return _listStyleColor;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
- (void)setListStyleColor:(RCTUIColor *)newValue
|
|
1720
|
+
{
|
|
1721
|
+
_listStyleColor = newValue;
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
- (CGFloat)listStyleMarginTop
|
|
1725
|
+
{
|
|
1726
|
+
return _listStyleMarginTop;
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
- (void)setListStyleMarginTop:(CGFloat)newValue
|
|
1730
|
+
{
|
|
1731
|
+
_listStyleMarginTop = newValue;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
- (CGFloat)listStyleMarginBottom
|
|
1735
|
+
{
|
|
1736
|
+
return _listStyleMarginBottom;
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
- (void)setListStyleMarginBottom:(CGFloat)newValue
|
|
1740
|
+
{
|
|
1741
|
+
_listStyleMarginBottom = newValue;
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
- (CGFloat)listStyleLineHeight
|
|
1745
|
+
{
|
|
1746
|
+
if (_allowFontScaling && _listStyleLineHeight > 0) {
|
|
1747
|
+
return _listStyleLineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1748
|
+
}
|
|
1749
|
+
return _listStyleLineHeight;
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1752
|
+
- (void)setListStyleLineHeight:(CGFloat)newValue
|
|
1753
|
+
{
|
|
1754
|
+
_listStyleLineHeight = newValue;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1757
|
+
- (RCTUIColor *)listStyleBulletColor
|
|
1758
|
+
{
|
|
1759
|
+
return _listStyleBulletColor;
|
|
1760
|
+
}
|
|
1761
|
+
|
|
1762
|
+
- (void)setListStyleBulletColor:(RCTUIColor *)newValue
|
|
1763
|
+
{
|
|
1764
|
+
_listStyleBulletColor = newValue;
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
- (CGFloat)listStyleBulletSize
|
|
1768
|
+
{
|
|
1769
|
+
return _listStyleBulletSize;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
- (void)setListStyleBulletSize:(CGFloat)newValue
|
|
1773
|
+
{
|
|
1774
|
+
_listStyleBulletSize = newValue;
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
- (CGFloat)listStyleMarkerMinWidth
|
|
1778
|
+
{
|
|
1779
|
+
return _listStyleMarkerMinWidth;
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1782
|
+
- (void)setListStyleMarkerMinWidth:(CGFloat)newValue
|
|
1783
|
+
{
|
|
1784
|
+
_listStyleMarkerMinWidth = newValue;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
- (RCTUIColor *)listStyleMarkerColor
|
|
1788
|
+
{
|
|
1789
|
+
return _listStyleMarkerColor;
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
- (void)setListStyleMarkerColor:(RCTUIColor *)newValue
|
|
1793
|
+
{
|
|
1794
|
+
_listStyleMarkerColor = newValue;
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
- (NSString *)listStyleMarkerFontWeight
|
|
1798
|
+
{
|
|
1799
|
+
return _listStyleMarkerFontWeight;
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
- (void)setListStyleMarkerFontWeight:(NSString *)newValue
|
|
1803
|
+
{
|
|
1804
|
+
_listStyleMarkerFontWeight = newValue;
|
|
1805
|
+
[_listMarkerFont invalidate];
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1808
|
+
- (CGFloat)listStyleGapWidth
|
|
1809
|
+
{
|
|
1810
|
+
return _listStyleGapWidth;
|
|
1811
|
+
}
|
|
1812
|
+
|
|
1813
|
+
- (void)setListStyleGapWidth:(CGFloat)newValue
|
|
1814
|
+
{
|
|
1815
|
+
_listStyleGapWidth = newValue;
|
|
1816
|
+
}
|
|
1817
|
+
|
|
1818
|
+
- (CGFloat)listStyleMarginLeft
|
|
1819
|
+
{
|
|
1820
|
+
return _listStyleMarginLeft;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
- (void)setListStyleMarginLeft:(CGFloat)newValue
|
|
1824
|
+
{
|
|
1825
|
+
_listStyleMarginLeft = newValue;
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
- (UIFont *)listMarkerFont
|
|
1829
|
+
{
|
|
1830
|
+
if (_listMarkerFont.needsRecreation || !_listMarkerFont.cachedFont) {
|
|
1831
|
+
_listMarkerFont.cachedFont = [RCTFont updateFont:nil
|
|
1832
|
+
withFamily:_listStyleFontFamily
|
|
1833
|
+
size:@(_listStyleFontSize)
|
|
1834
|
+
weight:normalizedFontWeight(_listStyleMarkerFontWeight)
|
|
1835
|
+
style:nil
|
|
1836
|
+
variant:nil
|
|
1837
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_listStyleFontSize]];
|
|
1838
|
+
_listMarkerFont.needsRecreation = NO;
|
|
1839
|
+
}
|
|
1840
|
+
return _listMarkerFont.cachedFont;
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
- (UIFont *)listStyleFont
|
|
1844
|
+
{
|
|
1845
|
+
if (_listStyleFont.needsRecreation || !_listStyleFont.cachedFont) {
|
|
1846
|
+
_listStyleFont.cachedFont = [RCTFont updateFont:nil
|
|
1847
|
+
withFamily:_listStyleFontFamily
|
|
1848
|
+
size:@(_listStyleFontSize)
|
|
1849
|
+
weight:normalizedFontWeight(_listStyleFontWeight)
|
|
1850
|
+
style:nil
|
|
1851
|
+
variant:nil
|
|
1852
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_listStyleFontSize]];
|
|
1853
|
+
_listStyleFont.needsRecreation = NO;
|
|
1854
|
+
}
|
|
1855
|
+
return _listStyleFont.cachedFont;
|
|
1856
|
+
}
|
|
1857
|
+
|
|
1858
|
+
static const CGFloat kDefaultMinGap = 4.0;
|
|
1859
|
+
|
|
1860
|
+
- (CGFloat)effectiveListGapWidth
|
|
1861
|
+
{
|
|
1862
|
+
return MAX(_listStyleGapWidth, kDefaultMinGap);
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
- (CGFloat)effectiveListMarginLeftForBullet
|
|
1866
|
+
{
|
|
1867
|
+
return MAX(_listStyleMarkerMinWidth, _listStyleBulletSize / 2.0);
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
- (CGFloat)effectiveListMarginLeftForNumber
|
|
1871
|
+
{
|
|
1872
|
+
UIFont *font = [self listMarkerFont];
|
|
1873
|
+
CGFloat natural =
|
|
1874
|
+
[@"99." sizeWithAttributes:@{NSFontAttributeName : font ?: [UIFont systemFontOfSize:_listStyleFontSize]}].width;
|
|
1875
|
+
return MAX(_listStyleMarkerMinWidth, natural);
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
- (CGFloat)effectiveListMarginLeftForTask
|
|
1879
|
+
{
|
|
1880
|
+
return MAX(_listStyleMarkerMinWidth, [self taskListCheckboxSize]);
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
// Code block properties
|
|
1884
|
+
- (CGFloat)codeBlockFontSize
|
|
1885
|
+
{
|
|
1886
|
+
return _codeBlockFontSize;
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
- (void)setCodeBlockFontSize:(CGFloat)newValue
|
|
1890
|
+
{
|
|
1891
|
+
_codeBlockFontSize = newValue;
|
|
1892
|
+
[_codeBlockFont invalidate];
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
- (NSString *)codeBlockFontFamily
|
|
1896
|
+
{
|
|
1897
|
+
return _codeBlockFontFamily;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
- (void)setCodeBlockFontFamily:(NSString *)newValue
|
|
1901
|
+
{
|
|
1902
|
+
_codeBlockFontFamily = newValue;
|
|
1903
|
+
[_codeBlockFont invalidate];
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
- (NSString *)codeBlockFontWeight
|
|
1907
|
+
{
|
|
1908
|
+
return _codeBlockFontWeight;
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
- (void)setCodeBlockFontWeight:(NSString *)newValue
|
|
1912
|
+
{
|
|
1913
|
+
_codeBlockFontWeight = newValue;
|
|
1914
|
+
[_codeBlockFont invalidate];
|
|
1915
|
+
}
|
|
1916
|
+
|
|
1917
|
+
- (RCTUIColor *)codeBlockColor
|
|
1918
|
+
{
|
|
1919
|
+
return _codeBlockColor;
|
|
1920
|
+
}
|
|
1921
|
+
|
|
1922
|
+
- (void)setCodeBlockColor:(RCTUIColor *)newValue
|
|
1923
|
+
{
|
|
1924
|
+
_codeBlockColor = newValue;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
- (CGFloat)codeBlockMarginTop
|
|
1928
|
+
{
|
|
1929
|
+
return _codeBlockMarginTop;
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1932
|
+
- (void)setCodeBlockMarginTop:(CGFloat)newValue
|
|
1933
|
+
{
|
|
1934
|
+
_codeBlockMarginTop = newValue;
|
|
1935
|
+
}
|
|
1936
|
+
|
|
1937
|
+
- (CGFloat)codeBlockMarginBottom
|
|
1938
|
+
{
|
|
1939
|
+
return _codeBlockMarginBottom;
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
- (void)setCodeBlockMarginBottom:(CGFloat)newValue
|
|
1943
|
+
{
|
|
1944
|
+
_codeBlockMarginBottom = newValue;
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
- (CGFloat)codeBlockLineHeight
|
|
1948
|
+
{
|
|
1949
|
+
if (_allowFontScaling && _codeBlockLineHeight > 0) {
|
|
1950
|
+
return _codeBlockLineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
1951
|
+
}
|
|
1952
|
+
return _codeBlockLineHeight;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
- (void)setCodeBlockLineHeight:(CGFloat)newValue
|
|
1956
|
+
{
|
|
1957
|
+
_codeBlockLineHeight = newValue;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
- (RCTUIColor *)codeBlockBackgroundColor
|
|
1961
|
+
{
|
|
1962
|
+
return _codeBlockBackgroundColor;
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
- (void)setCodeBlockBackgroundColor:(RCTUIColor *)newValue
|
|
1966
|
+
{
|
|
1967
|
+
_codeBlockBackgroundColor = newValue;
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
- (RCTUIColor *)codeBlockBorderColor
|
|
1971
|
+
{
|
|
1972
|
+
return _codeBlockBorderColor;
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
- (void)setCodeBlockBorderColor:(RCTUIColor *)newValue
|
|
1976
|
+
{
|
|
1977
|
+
_codeBlockBorderColor = newValue;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
- (CGFloat)codeBlockBorderRadius
|
|
1981
|
+
{
|
|
1982
|
+
return _codeBlockBorderRadius;
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
- (void)setCodeBlockBorderRadius:(CGFloat)newValue
|
|
1986
|
+
{
|
|
1987
|
+
_codeBlockBorderRadius = newValue;
|
|
1988
|
+
}
|
|
1989
|
+
|
|
1990
|
+
- (CGFloat)codeBlockBorderWidth
|
|
1991
|
+
{
|
|
1992
|
+
return _codeBlockBorderWidth;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
- (void)setCodeBlockBorderWidth:(CGFloat)newValue
|
|
1996
|
+
{
|
|
1997
|
+
_codeBlockBorderWidth = newValue;
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
|
+
- (CGFloat)codeBlockPadding
|
|
2001
|
+
{
|
|
2002
|
+
return _codeBlockPadding;
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
- (void)setCodeBlockPadding:(CGFloat)newValue
|
|
2006
|
+
{
|
|
2007
|
+
_codeBlockPadding = newValue;
|
|
2008
|
+
}
|
|
2009
|
+
|
|
2010
|
+
- (UIFont *)codeBlockFont
|
|
2011
|
+
{
|
|
2012
|
+
if (_codeBlockFont.needsRecreation || !_codeBlockFont.cachedFont) {
|
|
2013
|
+
_codeBlockFont.cachedFont = [RCTFont updateFont:nil
|
|
2014
|
+
withFamily:_codeBlockFontFamily
|
|
2015
|
+
size:@(_codeBlockFontSize)
|
|
2016
|
+
weight:normalizedFontWeight(_codeBlockFontWeight)
|
|
2017
|
+
style:nil
|
|
2018
|
+
variant:nil
|
|
2019
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_codeBlockFontSize]];
|
|
2020
|
+
_codeBlockFont.needsRecreation = NO;
|
|
2021
|
+
}
|
|
2022
|
+
return _codeBlockFont.cachedFont;
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
// Thematic break properties
|
|
2026
|
+
- (RCTUIColor *)thematicBreakColor
|
|
2027
|
+
{
|
|
2028
|
+
return _thematicBreakColor;
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
- (void)setThematicBreakColor:(RCTUIColor *)newValue
|
|
2032
|
+
{
|
|
2033
|
+
_thematicBreakColor = newValue;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
- (CGFloat)thematicBreakHeight
|
|
2037
|
+
{
|
|
2038
|
+
return _thematicBreakHeight;
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
- (void)setThematicBreakHeight:(CGFloat)newValue
|
|
2042
|
+
{
|
|
2043
|
+
_thematicBreakHeight = newValue;
|
|
2044
|
+
}
|
|
2045
|
+
|
|
2046
|
+
- (CGFloat)thematicBreakMarginTop
|
|
2047
|
+
{
|
|
2048
|
+
return _thematicBreakMarginTop;
|
|
2049
|
+
}
|
|
2050
|
+
|
|
2051
|
+
- (void)setThematicBreakMarginTop:(CGFloat)newValue
|
|
2052
|
+
{
|
|
2053
|
+
_thematicBreakMarginTop = newValue;
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
- (CGFloat)thematicBreakMarginBottom
|
|
2057
|
+
{
|
|
2058
|
+
return _thematicBreakMarginBottom;
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
- (void)setThematicBreakMarginBottom:(CGFloat)newValue
|
|
2062
|
+
{
|
|
2063
|
+
_thematicBreakMarginBottom = newValue;
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2066
|
+
// Table properties
|
|
2067
|
+
- (CGFloat)tableFontSize
|
|
2068
|
+
{
|
|
2069
|
+
return _tableFontSize;
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
- (void)setTableFontSize:(CGFloat)newValue
|
|
2073
|
+
{
|
|
2074
|
+
_tableFontSize = newValue;
|
|
2075
|
+
[_tableFont invalidate];
|
|
2076
|
+
[_tableHeaderFont invalidate];
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
- (NSString *)tableFontFamily
|
|
2080
|
+
{
|
|
2081
|
+
return _tableFontFamily;
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
- (void)setTableFontFamily:(NSString *)newValue
|
|
2085
|
+
{
|
|
2086
|
+
_tableFontFamily = newValue;
|
|
2087
|
+
[_tableFont invalidate];
|
|
2088
|
+
[_tableHeaderFont invalidate];
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
- (NSString *)tableFontWeight
|
|
2092
|
+
{
|
|
2093
|
+
return _tableFontWeight;
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
- (void)setTableFontWeight:(NSString *)newValue
|
|
2097
|
+
{
|
|
2098
|
+
_tableFontWeight = newValue;
|
|
2099
|
+
[_tableFont invalidate];
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
- (RCTUIColor *)tableColor
|
|
2103
|
+
{
|
|
2104
|
+
return _tableColor;
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
- (void)setTableColor:(RCTUIColor *)newValue
|
|
2108
|
+
{
|
|
2109
|
+
_tableColor = newValue;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
- (CGFloat)tableMarginTop
|
|
2113
|
+
{
|
|
2114
|
+
return _tableMarginTop;
|
|
2115
|
+
}
|
|
2116
|
+
|
|
2117
|
+
- (void)setTableMarginTop:(CGFloat)newValue
|
|
2118
|
+
{
|
|
2119
|
+
_tableMarginTop = newValue;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
- (CGFloat)tableMarginBottom
|
|
2123
|
+
{
|
|
2124
|
+
return _tableMarginBottom;
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
- (void)setTableMarginBottom:(CGFloat)newValue
|
|
2128
|
+
{
|
|
2129
|
+
_tableMarginBottom = newValue;
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
- (CGFloat)tableLineHeight
|
|
2133
|
+
{
|
|
2134
|
+
if (_allowFontScaling && _tableLineHeight > 0) {
|
|
2135
|
+
return _tableLineHeight * RCTFontSizeMultiplierWithMax(_maxFontSizeMultiplier);
|
|
2136
|
+
}
|
|
2137
|
+
return _tableLineHeight;
|
|
2138
|
+
}
|
|
2139
|
+
|
|
2140
|
+
- (void)setTableLineHeight:(CGFloat)newValue
|
|
2141
|
+
{
|
|
2142
|
+
_tableLineHeight = newValue;
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
- (UIFont *)tableFont
|
|
2146
|
+
{
|
|
2147
|
+
if (_tableFont.needsRecreation || !_tableFont.cachedFont) {
|
|
2148
|
+
_tableFont.cachedFont = [RCTFont updateFont:nil
|
|
2149
|
+
withFamily:_tableFontFamily
|
|
2150
|
+
size:@(_tableFontSize)
|
|
2151
|
+
weight:normalizedFontWeight(_tableFontWeight)
|
|
2152
|
+
style:nil
|
|
2153
|
+
variant:nil
|
|
2154
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_tableFontSize]];
|
|
2155
|
+
_tableFont.needsRecreation = NO;
|
|
2156
|
+
}
|
|
2157
|
+
return _tableFont.cachedFont;
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
- (NSString *)tableHeaderFontFamily
|
|
2161
|
+
{
|
|
2162
|
+
return _tableHeaderFontFamily;
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
- (void)setTableHeaderFontFamily:(NSString *)newValue
|
|
2166
|
+
{
|
|
2167
|
+
_tableHeaderFontFamily = newValue;
|
|
2168
|
+
[_tableHeaderFont invalidate];
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
- (UIFont *)tableHeaderFont
|
|
2172
|
+
{
|
|
2173
|
+
if (_tableHeaderFont.needsRecreation || !_tableHeaderFont.cachedFont) {
|
|
2174
|
+
NSString *family = (_tableHeaderFontFamily.length > 0) ? _tableHeaderFontFamily : _tableFontFamily;
|
|
2175
|
+
_tableHeaderFont.cachedFont = [RCTFont updateFont:nil
|
|
2176
|
+
withFamily:family
|
|
2177
|
+
size:@(_tableFontSize)
|
|
2178
|
+
weight:normalizedFontWeight(@"bold")
|
|
2179
|
+
style:nil
|
|
2180
|
+
variant:nil
|
|
2181
|
+
scaleMultiplier:[self effectiveScaleMultiplierForFontSize:_tableFontSize]];
|
|
2182
|
+
_tableHeaderFont.needsRecreation = NO;
|
|
2183
|
+
}
|
|
2184
|
+
return _tableHeaderFont.cachedFont;
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
- (RCTUIColor *)tableHeaderBackgroundColor
|
|
2188
|
+
{
|
|
2189
|
+
return _tableHeaderBackgroundColor;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
- (void)setTableHeaderBackgroundColor:(RCTUIColor *)newValue
|
|
2193
|
+
{
|
|
2194
|
+
_tableHeaderBackgroundColor = newValue;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
- (RCTUIColor *)tableHeaderTextColor
|
|
2198
|
+
{
|
|
2199
|
+
return _tableHeaderTextColor;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
- (void)setTableHeaderTextColor:(RCTUIColor *)newValue
|
|
2203
|
+
{
|
|
2204
|
+
_tableHeaderTextColor = newValue;
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
- (RCTUIColor *)tableRowEvenBackgroundColor
|
|
2208
|
+
{
|
|
2209
|
+
return _tableRowEvenBackgroundColor;
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
- (void)setTableRowEvenBackgroundColor:(RCTUIColor *)newValue
|
|
2213
|
+
{
|
|
2214
|
+
_tableRowEvenBackgroundColor = newValue;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
- (RCTUIColor *)tableRowOddBackgroundColor
|
|
2218
|
+
{
|
|
2219
|
+
return _tableRowOddBackgroundColor;
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
- (void)setTableRowOddBackgroundColor:(RCTUIColor *)newValue
|
|
2223
|
+
{
|
|
2224
|
+
_tableRowOddBackgroundColor = newValue;
|
|
2225
|
+
}
|
|
2226
|
+
|
|
2227
|
+
- (RCTUIColor *)tableBorderColor
|
|
2228
|
+
{
|
|
2229
|
+
return _tableBorderColor;
|
|
2230
|
+
}
|
|
2231
|
+
|
|
2232
|
+
- (void)setTableBorderColor:(RCTUIColor *)newValue
|
|
2233
|
+
{
|
|
2234
|
+
_tableBorderColor = newValue;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
- (CGFloat)tableBorderWidth
|
|
2238
|
+
{
|
|
2239
|
+
return _tableBorderWidth;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
- (void)setTableBorderWidth:(CGFloat)newValue
|
|
2243
|
+
{
|
|
2244
|
+
_tableBorderWidth = newValue;
|
|
2245
|
+
}
|
|
2246
|
+
|
|
2247
|
+
- (CGFloat)tableBorderRadius
|
|
2248
|
+
{
|
|
2249
|
+
return _tableBorderRadius;
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
- (void)setTableBorderRadius:(CGFloat)newValue
|
|
2253
|
+
{
|
|
2254
|
+
_tableBorderRadius = newValue;
|
|
2255
|
+
}
|
|
2256
|
+
|
|
2257
|
+
- (CGFloat)tableCellPaddingHorizontal
|
|
2258
|
+
{
|
|
2259
|
+
return _tableCellPaddingHorizontal;
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2262
|
+
- (void)setTableCellPaddingHorizontal:(CGFloat)newValue
|
|
2263
|
+
{
|
|
2264
|
+
_tableCellPaddingHorizontal = newValue;
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
- (CGFloat)tableCellPaddingVertical
|
|
2268
|
+
{
|
|
2269
|
+
return _tableCellPaddingVertical;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
- (void)setTableCellPaddingVertical:(CGFloat)newValue
|
|
2273
|
+
{
|
|
2274
|
+
_tableCellPaddingVertical = newValue;
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
// Task list
|
|
2278
|
+
|
|
2279
|
+
- (RCTUIColor *)taskListCheckedColor
|
|
2280
|
+
{
|
|
2281
|
+
return _taskListCheckedColor;
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
- (void)setTaskListCheckedColor:(RCTUIColor *)newValue
|
|
2285
|
+
{
|
|
2286
|
+
_taskListCheckedColor = newValue;
|
|
2287
|
+
}
|
|
2288
|
+
|
|
2289
|
+
- (RCTUIColor *)taskListBorderColor
|
|
2290
|
+
{
|
|
2291
|
+
return _taskListBorderColor;
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
- (void)setTaskListBorderColor:(RCTUIColor *)newValue
|
|
2295
|
+
{
|
|
2296
|
+
_taskListBorderColor = newValue;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
- (CGFloat)taskListCheckboxSize
|
|
2300
|
+
{
|
|
2301
|
+
return _taskListCheckboxSize;
|
|
2302
|
+
}
|
|
2303
|
+
|
|
2304
|
+
- (void)setTaskListCheckboxSize:(CGFloat)newValue
|
|
2305
|
+
{
|
|
2306
|
+
_taskListCheckboxSize = newValue;
|
|
2307
|
+
}
|
|
2308
|
+
|
|
2309
|
+
- (CGFloat)taskListCheckboxBorderRadius
|
|
2310
|
+
{
|
|
2311
|
+
return _taskListCheckboxBorderRadius;
|
|
2312
|
+
}
|
|
2313
|
+
|
|
2314
|
+
- (void)setTaskListCheckboxBorderRadius:(CGFloat)newValue
|
|
2315
|
+
{
|
|
2316
|
+
_taskListCheckboxBorderRadius = newValue;
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2319
|
+
- (RCTUIColor *)taskListCheckmarkColor
|
|
2320
|
+
{
|
|
2321
|
+
return _taskListCheckmarkColor;
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
- (void)setTaskListCheckmarkColor:(RCTUIColor *)newValue
|
|
2325
|
+
{
|
|
2326
|
+
_taskListCheckmarkColor = newValue;
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
- (RCTUIColor *)taskListCheckedTextColor
|
|
2330
|
+
{
|
|
2331
|
+
return _taskListCheckedTextColor;
|
|
2332
|
+
}
|
|
2333
|
+
|
|
2334
|
+
- (void)setTaskListCheckedTextColor:(RCTUIColor *)newValue
|
|
2335
|
+
{
|
|
2336
|
+
_taskListCheckedTextColor = newValue;
|
|
2337
|
+
}
|
|
2338
|
+
|
|
2339
|
+
- (BOOL)taskListCheckedStrikethrough
|
|
2340
|
+
{
|
|
2341
|
+
return _taskListCheckedStrikethrough;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
- (void)setTaskListCheckedStrikethrough:(BOOL)newValue
|
|
2345
|
+
{
|
|
2346
|
+
_taskListCheckedStrikethrough = newValue;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
// Math
|
|
2350
|
+
|
|
2351
|
+
- (CGFloat)mathFontSize
|
|
2352
|
+
{
|
|
2353
|
+
return _mathFontSize;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
- (void)setMathFontSize:(CGFloat)newValue
|
|
2357
|
+
{
|
|
2358
|
+
_mathFontSize = newValue;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
- (RCTUIColor *)mathColor
|
|
2362
|
+
{
|
|
2363
|
+
return _mathColor;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
- (void)setMathColor:(RCTUIColor *)newValue
|
|
2367
|
+
{
|
|
2368
|
+
_mathColor = newValue;
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
- (RCTUIColor *)mathBackgroundColor
|
|
2372
|
+
{
|
|
2373
|
+
return _mathBackgroundColor;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
- (void)setMathBackgroundColor:(RCTUIColor *)newValue
|
|
2377
|
+
{
|
|
2378
|
+
_mathBackgroundColor = newValue;
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
- (CGFloat)mathPadding
|
|
2382
|
+
{
|
|
2383
|
+
return _mathPadding;
|
|
2384
|
+
}
|
|
2385
|
+
|
|
2386
|
+
- (void)setMathPadding:(CGFloat)newValue
|
|
2387
|
+
{
|
|
2388
|
+
_mathPadding = newValue;
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2391
|
+
- (CGFloat)mathMarginTop
|
|
2392
|
+
{
|
|
2393
|
+
return _mathMarginTop;
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
- (void)setMathMarginTop:(CGFloat)newValue
|
|
2397
|
+
{
|
|
2398
|
+
_mathMarginTop = newValue;
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
- (CGFloat)mathMarginBottom
|
|
2402
|
+
{
|
|
2403
|
+
return _mathMarginBottom;
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
- (void)setMathMarginBottom:(CGFloat)newValue
|
|
2407
|
+
{
|
|
2408
|
+
_mathMarginBottom = newValue;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
- (NSString *)mathTextAlign
|
|
2412
|
+
{
|
|
2413
|
+
return _mathTextAlign ?: @"center";
|
|
2414
|
+
}
|
|
2415
|
+
|
|
2416
|
+
- (void)setMathTextAlign:(NSString *)newValue
|
|
2417
|
+
{
|
|
2418
|
+
_mathTextAlign = newValue;
|
|
2419
|
+
}
|
|
2420
|
+
|
|
2421
|
+
// ── Inline Math ─────────────────────────────────────────────────────────────
|
|
2422
|
+
|
|
2423
|
+
- (RCTUIColor *)inlineMathColor
|
|
2424
|
+
{
|
|
2425
|
+
return _inlineMathColor;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
- (void)setInlineMathColor:(RCTUIColor *)newValue
|
|
2429
|
+
{
|
|
2430
|
+
_inlineMathColor = newValue;
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
// ── Spoiler ─────────────────────────────────────────────────────────────
|
|
2434
|
+
|
|
2435
|
+
- (RCTUIColor *)spoilerColor
|
|
2436
|
+
{
|
|
2437
|
+
return _spoilerColor;
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
- (void)setSpoilerColor:(RCTUIColor *)newValue
|
|
2441
|
+
{
|
|
2442
|
+
_spoilerColor = newValue;
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2445
|
+
- (CGFloat)spoilerParticleDensity
|
|
2446
|
+
{
|
|
2447
|
+
return _spoilerParticleDensity;
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
- (void)setSpoilerParticleDensity:(CGFloat)newValue
|
|
2451
|
+
{
|
|
2452
|
+
_spoilerParticleDensity = newValue;
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
- (CGFloat)spoilerParticleSpeed
|
|
2456
|
+
{
|
|
2457
|
+
return _spoilerParticleSpeed;
|
|
2458
|
+
}
|
|
2459
|
+
|
|
2460
|
+
- (void)setSpoilerParticleSpeed:(CGFloat)newValue
|
|
2461
|
+
{
|
|
2462
|
+
_spoilerParticleSpeed = newValue;
|
|
2463
|
+
}
|
|
2464
|
+
|
|
2465
|
+
- (CGFloat)spoilerSolidBorderRadius
|
|
2466
|
+
{
|
|
2467
|
+
return _spoilerSolidBorderRadius;
|
|
2468
|
+
}
|
|
2469
|
+
|
|
2470
|
+
- (void)setSpoilerSolidBorderRadius:(CGFloat)newValue
|
|
2471
|
+
{
|
|
2472
|
+
_spoilerSolidBorderRadius = newValue;
|
|
2473
|
+
}
|
|
2474
|
+
|
|
2475
|
+
- (CGFloat)superscriptFontScale
|
|
2476
|
+
{
|
|
2477
|
+
return _superscriptFontScale;
|
|
2478
|
+
}
|
|
2479
|
+
|
|
2480
|
+
- (void)setSuperscriptFontScale:(CGFloat)newValue
|
|
2481
|
+
{
|
|
2482
|
+
_superscriptFontScale = newValue;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
- (CGFloat)superscriptBaselineOffsetScale
|
|
2486
|
+
{
|
|
2487
|
+
return _superscriptBaselineOffsetScale;
|
|
2488
|
+
}
|
|
2489
|
+
|
|
2490
|
+
- (void)setSuperscriptBaselineOffsetScale:(CGFloat)newValue
|
|
2491
|
+
{
|
|
2492
|
+
_superscriptBaselineOffsetScale = newValue;
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2495
|
+
- (CGFloat)subscriptFontScale
|
|
2496
|
+
{
|
|
2497
|
+
return _subscriptFontScale;
|
|
2498
|
+
}
|
|
2499
|
+
|
|
2500
|
+
- (void)setSubscriptFontScale:(CGFloat)newValue
|
|
2501
|
+
{
|
|
2502
|
+
_subscriptFontScale = newValue;
|
|
2503
|
+
}
|
|
2504
|
+
|
|
2505
|
+
- (CGFloat)subscriptBaselineOffsetScale
|
|
2506
|
+
{
|
|
2507
|
+
return _subscriptBaselineOffsetScale;
|
|
2508
|
+
}
|
|
2509
|
+
|
|
2510
|
+
- (void)setSubscriptBaselineOffsetScale:(CGFloat)newValue
|
|
2511
|
+
{
|
|
2512
|
+
_subscriptBaselineOffsetScale = newValue;
|
|
2513
|
+
}
|
|
2514
|
+
|
|
2515
|
+
@end
|