react-native-enriched-markdown 0.1.0 → 0.2.0

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.
Files changed (226) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +551 -0
  3. package/ReactNativeEnrichedMarkdown.podspec +27 -0
  4. package/android/build.gradle +101 -0
  5. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +54 -0
  6. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +26 -0
  7. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ComponentDescriptors.cpp +22 -0
  8. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ComponentDescriptors.h +24 -0
  9. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +33 -0
  10. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +31 -0
  11. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +82 -0
  12. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +1388 -0
  13. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ShadowNodes.cpp +17 -0
  14. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/ShadowNodes.h +32 -0
  15. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/States.cpp +16 -0
  16. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/States.h +20 -0
  17. package/android/gradle.properties +5 -0
  18. package/android/src/main/AndroidManifest.xml +2 -0
  19. package/android/src/main/baseline-prof.txt +65 -0
  20. package/android/src/main/cpp/jni-adapter.cpp +220 -0
  21. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +270 -0
  22. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextLayoutManager.kt +15 -0
  23. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +173 -0
  24. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextPackage.kt +17 -0
  25. package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +385 -0
  26. package/android/src/main/java/com/swmansion/enriched/markdown/accessibility/MarkdownAccessibilityHelper.kt +279 -0
  27. package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkLongPressEvent.kt +23 -0
  28. package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkPressEvent.kt +23 -0
  29. package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +31 -0
  30. package/android/src/main/java/com/swmansion/enriched/markdown/parser/Parser.kt +62 -0
  31. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockStyleContext.kt +166 -0
  32. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/BlockquoteRenderer.kt +84 -0
  33. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeBlockRenderer.kt +104 -0
  34. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/CodeRenderer.kt +36 -0
  35. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/DocumentRenderer.kt +16 -0
  36. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/EmphasisRenderer.kt +27 -0
  37. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/HeadingRenderer.kt +70 -0
  38. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ImageRenderer.kt +68 -0
  39. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/LineBreakRenderer.kt +16 -0
  40. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/LinkRenderer.kt +29 -0
  41. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListContextManager.kt +105 -0
  42. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListItemRenderer.kt +59 -0
  43. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ListRenderer.kt +76 -0
  44. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/NodeRenderer.kt +103 -0
  45. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ParagraphRenderer.kt +80 -0
  46. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/Renderer.kt +109 -0
  47. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +86 -0
  48. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/StrikethroughRenderer.kt +27 -0
  49. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/StrongRenderer.kt +27 -0
  50. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/TextRenderer.kt +30 -0
  51. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/ThematicBreakRenderer.kt +45 -0
  52. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/UnderlineRenderer.kt +27 -0
  53. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BaseListSpan.kt +136 -0
  54. package/android/src/main/java/com/swmansion/enriched/markdown/spans/BlockquoteSpan.kt +135 -0
  55. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +180 -0
  56. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBlockSpan.kt +196 -0
  57. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeSpan.kt +27 -0
  58. package/android/src/main/java/com/swmansion/enriched/markdown/spans/EmphasisSpan.kt +34 -0
  59. package/android/src/main/java/com/swmansion/enriched/markdown/spans/HeadingSpan.kt +38 -0
  60. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ImageSpan.kt +321 -0
  61. package/android/src/main/java/com/swmansion/enriched/markdown/spans/LineHeightSpan.kt +27 -0
  62. package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkSpan.kt +51 -0
  63. package/android/src/main/java/com/swmansion/enriched/markdown/spans/MarginBottomSpan.kt +76 -0
  64. package/android/src/main/java/com/swmansion/enriched/markdown/spans/OrderedListSpan.kt +87 -0
  65. package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrikethroughSpan.kt +12 -0
  66. package/android/src/main/java/com/swmansion/enriched/markdown/spans/StrongSpan.kt +37 -0
  67. package/android/src/main/java/com/swmansion/enriched/markdown/spans/TextSpan.kt +26 -0
  68. package/android/src/main/java/com/swmansion/enriched/markdown/spans/ThematicBreakSpan.kt +69 -0
  69. package/android/src/main/java/com/swmansion/enriched/markdown/spans/UnorderedListSpan.kt +69 -0
  70. package/android/src/main/java/com/swmansion/enriched/markdown/styles/BaseBlockStyle.kt +11 -0
  71. package/android/src/main/java/com/swmansion/enriched/markdown/styles/BlockquoteStyle.kt +51 -0
  72. package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeBlockStyle.kt +54 -0
  73. package/android/src/main/java/com/swmansion/enriched/markdown/styles/CodeStyle.kt +21 -0
  74. package/android/src/main/java/com/swmansion/enriched/markdown/styles/EmphasisStyle.kt +17 -0
  75. package/android/src/main/java/com/swmansion/enriched/markdown/styles/HeadingStyle.kt +33 -0
  76. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ImageStyle.kt +23 -0
  77. package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineImageStyle.kt +17 -0
  78. package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkStyle.kt +19 -0
  79. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ListStyle.kt +57 -0
  80. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ParagraphStyle.kt +33 -0
  81. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StrikethroughStyle.kt +17 -0
  82. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StrongStyle.kt +17 -0
  83. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleConfig.kt +211 -0
  84. package/android/src/main/java/com/swmansion/enriched/markdown/styles/StyleParser.kt +92 -0
  85. package/android/src/main/java/com/swmansion/enriched/markdown/styles/TextAlignment.kt +32 -0
  86. package/android/src/main/java/com/swmansion/enriched/markdown/styles/ThematicBreakStyle.kt +23 -0
  87. package/android/src/main/java/com/swmansion/enriched/markdown/styles/UnderlineStyle.kt +17 -0
  88. package/android/src/main/java/com/swmansion/enriched/markdown/utils/AsyncDrawable.kt +91 -0
  89. package/android/src/main/java/com/swmansion/enriched/markdown/utils/HTMLGenerator.kt +827 -0
  90. package/android/src/main/java/com/swmansion/enriched/markdown/utils/LinkLongPressMovementMethod.kt +121 -0
  91. package/android/src/main/java/com/swmansion/enriched/markdown/utils/MarkdownExtractor.kt +375 -0
  92. package/android/src/main/java/com/swmansion/enriched/markdown/utils/SelectionActionMode.kt +139 -0
  93. package/android/src/main/java/com/swmansion/enriched/markdown/utils/Utils.kt +183 -0
  94. package/android/src/main/jni/CMakeLists.txt +70 -0
  95. package/android/src/main/jni/EnrichedMarkdownTextSpec.cpp +21 -0
  96. package/android/src/main/jni/EnrichedMarkdownTextSpec.h +25 -0
  97. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextComponentDescriptor.h +29 -0
  98. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextMeasurementManager.cpp +45 -0
  99. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextMeasurementManager.h +21 -0
  100. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.cpp +20 -0
  101. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/MarkdownTextShadowNode.h +37 -0
  102. package/android/src/main/jni/react/renderer/components/EnrichedMarkdownTextSpec/conversions.h +22 -0
  103. package/cpp/md4c/md4c.c +6492 -0
  104. package/cpp/md4c/md4c.h +402 -0
  105. package/cpp/parser/MD4CParser.cpp +327 -0
  106. package/cpp/parser/MD4CParser.hpp +27 -0
  107. package/cpp/parser/MarkdownASTNode.hpp +51 -0
  108. package/ios/EnrichedMarkdownText.h +18 -0
  109. package/ios/EnrichedMarkdownText.mm +1401 -0
  110. package/ios/attachments/EnrichedMarkdownImageAttachment.h +23 -0
  111. package/ios/attachments/EnrichedMarkdownImageAttachment.m +185 -0
  112. package/ios/attachments/ThematicBreakAttachment.h +15 -0
  113. package/ios/attachments/ThematicBreakAttachment.m +33 -0
  114. package/ios/generated/EnrichedMarkdownTextSpec/ComponentDescriptors.cpp +22 -0
  115. package/ios/generated/EnrichedMarkdownTextSpec/ComponentDescriptors.h +24 -0
  116. package/ios/generated/EnrichedMarkdownTextSpec/EventEmitters.cpp +33 -0
  117. package/ios/generated/EnrichedMarkdownTextSpec/EventEmitters.h +31 -0
  118. package/ios/generated/EnrichedMarkdownTextSpec/Props.cpp +82 -0
  119. package/ios/generated/EnrichedMarkdownTextSpec/Props.h +1388 -0
  120. package/ios/generated/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +20 -0
  121. package/ios/generated/EnrichedMarkdownTextSpec/ShadowNodes.cpp +17 -0
  122. package/ios/generated/EnrichedMarkdownTextSpec/ShadowNodes.h +32 -0
  123. package/ios/generated/EnrichedMarkdownTextSpec/States.cpp +16 -0
  124. package/ios/generated/EnrichedMarkdownTextSpec/States.h +20 -0
  125. package/ios/internals/EnrichedMarkdownTextComponentDescriptor.h +19 -0
  126. package/ios/internals/EnrichedMarkdownTextShadowNode.h +43 -0
  127. package/ios/internals/EnrichedMarkdownTextShadowNode.mm +85 -0
  128. package/ios/internals/EnrichedMarkdownTextState.h +24 -0
  129. package/ios/parser/MarkdownASTNode.h +35 -0
  130. package/ios/parser/MarkdownASTNode.m +32 -0
  131. package/ios/parser/MarkdownParser.h +17 -0
  132. package/ios/parser/MarkdownParser.mm +42 -0
  133. package/ios/parser/MarkdownParserBridge.mm +120 -0
  134. package/ios/renderer/AttributedRenderer.h +11 -0
  135. package/ios/renderer/AttributedRenderer.m +152 -0
  136. package/ios/renderer/BlockquoteRenderer.h +7 -0
  137. package/ios/renderer/BlockquoteRenderer.m +160 -0
  138. package/ios/renderer/CodeBlockRenderer.h +10 -0
  139. package/ios/renderer/CodeBlockRenderer.m +90 -0
  140. package/ios/renderer/CodeRenderer.h +10 -0
  141. package/ios/renderer/CodeRenderer.m +60 -0
  142. package/ios/renderer/EmphasisRenderer.h +6 -0
  143. package/ios/renderer/EmphasisRenderer.m +96 -0
  144. package/ios/renderer/HeadingRenderer.h +7 -0
  145. package/ios/renderer/HeadingRenderer.m +105 -0
  146. package/ios/renderer/ImageRenderer.h +12 -0
  147. package/ios/renderer/ImageRenderer.m +83 -0
  148. package/ios/renderer/LinkRenderer.h +7 -0
  149. package/ios/renderer/LinkRenderer.m +69 -0
  150. package/ios/renderer/ListItemRenderer.h +16 -0
  151. package/ios/renderer/ListItemRenderer.m +103 -0
  152. package/ios/renderer/ListRenderer.h +13 -0
  153. package/ios/renderer/ListRenderer.m +70 -0
  154. package/ios/renderer/NodeRenderer.h +8 -0
  155. package/ios/renderer/ParagraphRenderer.h +7 -0
  156. package/ios/renderer/ParagraphRenderer.m +80 -0
  157. package/ios/renderer/RenderContext.h +105 -0
  158. package/ios/renderer/RenderContext.m +312 -0
  159. package/ios/renderer/RendererFactory.h +12 -0
  160. package/ios/renderer/RendererFactory.m +116 -0
  161. package/ios/renderer/StrikethroughRenderer.h +6 -0
  162. package/ios/renderer/StrikethroughRenderer.m +40 -0
  163. package/ios/renderer/StrongRenderer.h +6 -0
  164. package/ios/renderer/StrongRenderer.m +83 -0
  165. package/ios/renderer/TextRenderer.h +6 -0
  166. package/ios/renderer/TextRenderer.m +16 -0
  167. package/ios/renderer/ThematicBreakRenderer.h +5 -0
  168. package/ios/renderer/ThematicBreakRenderer.m +53 -0
  169. package/ios/renderer/UnderlineRenderer.h +6 -0
  170. package/ios/renderer/UnderlineRenderer.m +39 -0
  171. package/ios/styles/StyleConfig.h +274 -0
  172. package/ios/styles/StyleConfig.mm +1806 -0
  173. package/ios/utils/AccessibilityInfo.h +35 -0
  174. package/ios/utils/AccessibilityInfo.m +24 -0
  175. package/ios/utils/BlockquoteBorder.h +20 -0
  176. package/ios/utils/BlockquoteBorder.m +92 -0
  177. package/ios/utils/CodeBackground.h +19 -0
  178. package/ios/utils/CodeBackground.m +191 -0
  179. package/ios/utils/CodeBlockBackground.h +17 -0
  180. package/ios/utils/CodeBlockBackground.m +82 -0
  181. package/ios/utils/EditMenuUtils.h +22 -0
  182. package/ios/utils/EditMenuUtils.m +118 -0
  183. package/ios/utils/FontUtils.h +25 -0
  184. package/ios/utils/FontUtils.m +27 -0
  185. package/ios/utils/HTMLGenerator.h +20 -0
  186. package/ios/utils/HTMLGenerator.m +793 -0
  187. package/ios/utils/LastElementUtils.h +53 -0
  188. package/ios/utils/ListMarkerDrawer.h +15 -0
  189. package/ios/utils/ListMarkerDrawer.m +127 -0
  190. package/ios/utils/MarkdownAccessibilityElementBuilder.h +45 -0
  191. package/ios/utils/MarkdownAccessibilityElementBuilder.m +323 -0
  192. package/ios/utils/MarkdownExtractor.h +17 -0
  193. package/ios/utils/MarkdownExtractor.m +308 -0
  194. package/ios/utils/ParagraphStyleUtils.h +21 -0
  195. package/ios/utils/ParagraphStyleUtils.m +111 -0
  196. package/ios/utils/PasteboardUtils.h +36 -0
  197. package/ios/utils/PasteboardUtils.m +134 -0
  198. package/ios/utils/RTFExportUtils.h +24 -0
  199. package/ios/utils/RTFExportUtils.m +297 -0
  200. package/ios/utils/RuntimeKeys.h +38 -0
  201. package/ios/utils/RuntimeKeys.m +11 -0
  202. package/ios/utils/TextViewLayoutManager.h +14 -0
  203. package/ios/utils/TextViewLayoutManager.mm +113 -0
  204. package/lib/module/EnrichedMarkdownText.js +65 -0
  205. package/lib/module/EnrichedMarkdownText.js.map +1 -0
  206. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +210 -0
  207. package/lib/module/index.js +4 -0
  208. package/lib/module/index.js.map +1 -0
  209. package/lib/module/normalizeMarkdownStyle.js +384 -0
  210. package/lib/module/normalizeMarkdownStyle.js.map +1 -0
  211. package/lib/module/package.json +1 -0
  212. package/lib/typescript/package.json +1 -0
  213. package/lib/typescript/src/EnrichedMarkdownText.d.ts +183 -0
  214. package/lib/typescript/src/EnrichedMarkdownText.d.ts.map +1 -0
  215. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +185 -0
  216. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -0
  217. package/lib/typescript/src/index.d.ts +4 -0
  218. package/lib/typescript/src/index.d.ts.map +1 -0
  219. package/lib/typescript/src/normalizeMarkdownStyle.d.ts +6 -0
  220. package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -0
  221. package/package.json +186 -1
  222. package/react-native.config.js +13 -0
  223. package/src/EnrichedMarkdownText.tsx +280 -0
  224. package/src/EnrichedMarkdownTextNativeComponent.ts +210 -0
  225. package/src/index.tsx +10 -0
  226. package/src/normalizeMarkdownStyle.ts +423 -0
@@ -0,0 +1,39 @@
1
+ #import "UnderlineRenderer.h"
2
+ #import "MarkdownASTNode.h"
3
+ #import "RenderContext.h"
4
+ #import "RendererFactory.h"
5
+ #import "StyleConfig.h"
6
+
7
+ @implementation UnderlineRenderer {
8
+ RendererFactory *_rendererFactory;
9
+ StyleConfig *_config;
10
+ }
11
+
12
+ - (instancetype)initWithRendererFactory:(id)rendererFactory config:(id)config
13
+ {
14
+ if (self = [super init]) {
15
+ _rendererFactory = rendererFactory;
16
+ _config = (StyleConfig *)config;
17
+ }
18
+ return self;
19
+ }
20
+
21
+ #pragma mark - Rendering
22
+
23
+ - (void)renderNode:(MarkdownASTNode *)node into:(NSMutableAttributedString *)output context:(RenderContext *)context
24
+ {
25
+ NSUInteger start = output.length;
26
+ [_rendererFactory renderChildrenOfNode:node into:output context:context];
27
+
28
+ NSRange range = NSMakeRange(start, output.length - start);
29
+ if (range.length == 0)
30
+ return;
31
+
32
+ [output addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:range];
33
+
34
+ UIColor *underlineColor = [_config underlineColor];
35
+
36
+ [output addAttribute:NSUnderlineColorAttributeName value:underlineColor range:range];
37
+ }
38
+
39
+ @end
@@ -0,0 +1,274 @@
1
+ #pragma once
2
+ #import <UIKit/UIKit.h>
3
+
4
+ @interface StyleConfig : NSObject <NSCopying>
5
+ - (instancetype)init;
6
+ - (CGFloat)fontScaleMultiplier;
7
+ - (void)setFontScaleMultiplier:(CGFloat)newValue;
8
+ - (CGFloat)maxFontSizeMultiplier;
9
+ - (void)setMaxFontSizeMultiplier:(CGFloat)newValue;
10
+ // Primary font properties
11
+ - (UIColor *)primaryColor;
12
+ - (void)setPrimaryColor:(UIColor *)newValue;
13
+ - (NSNumber *)primaryFontSize;
14
+ - (void)setPrimaryFontSize:(NSNumber *)newValue;
15
+ - (NSString *)primaryFontWeight;
16
+ - (void)setPrimaryFontWeight:(NSString *)newValue;
17
+ - (NSString *)primaryFontFamily;
18
+ - (void)setPrimaryFontFamily:(NSString *)newValue;
19
+ - (UIFont *)primaryFont;
20
+ // Paragraph properties
21
+ - (CGFloat)paragraphFontSize;
22
+ - (void)setParagraphFontSize:(CGFloat)newValue;
23
+ - (NSString *)paragraphFontFamily;
24
+ - (void)setParagraphFontFamily:(NSString *)newValue;
25
+ - (NSString *)paragraphFontWeight;
26
+ - (void)setParagraphFontWeight:(NSString *)newValue;
27
+ - (UIColor *)paragraphColor;
28
+ - (void)setParagraphColor:(UIColor *)newValue;
29
+ - (CGFloat)paragraphMarginTop;
30
+ - (void)setParagraphMarginTop:(CGFloat)newValue;
31
+ - (CGFloat)paragraphMarginBottom;
32
+ - (void)setParagraphMarginBottom:(CGFloat)newValue;
33
+ - (CGFloat)paragraphLineHeight;
34
+ - (void)setParagraphLineHeight:(CGFloat)newValue;
35
+ - (NSTextAlignment)paragraphTextAlign;
36
+ - (void)setParagraphTextAlign:(NSTextAlignment)newValue;
37
+ - (UIFont *)paragraphFont;
38
+ // H1 properties
39
+ - (CGFloat)h1FontSize;
40
+ - (void)setH1FontSize:(CGFloat)newValue;
41
+ - (NSString *)h1FontFamily;
42
+ - (void)setH1FontFamily:(NSString *)newValue;
43
+ - (NSString *)h1FontWeight;
44
+ - (void)setH1FontWeight:(NSString *)newValue;
45
+ - (UIColor *)h1Color;
46
+ - (void)setH1Color:(UIColor *)newValue;
47
+ - (CGFloat)h1MarginTop;
48
+ - (void)setH1MarginTop:(CGFloat)newValue;
49
+ - (CGFloat)h1MarginBottom;
50
+ - (void)setH1MarginBottom:(CGFloat)newValue;
51
+ - (CGFloat)h1LineHeight;
52
+ - (void)setH1LineHeight:(CGFloat)newValue;
53
+ - (NSTextAlignment)h1TextAlign;
54
+ - (void)setH1TextAlign:(NSTextAlignment)newValue;
55
+ - (UIFont *)h1Font;
56
+ // H2 properties
57
+ - (CGFloat)h2FontSize;
58
+ - (void)setH2FontSize:(CGFloat)newValue;
59
+ - (NSString *)h2FontFamily;
60
+ - (void)setH2FontFamily:(NSString *)newValue;
61
+ - (NSString *)h2FontWeight;
62
+ - (void)setH2FontWeight:(NSString *)newValue;
63
+ - (UIColor *)h2Color;
64
+ - (void)setH2Color:(UIColor *)newValue;
65
+ - (CGFloat)h2MarginTop;
66
+ - (void)setH2MarginTop:(CGFloat)newValue;
67
+ - (CGFloat)h2MarginBottom;
68
+ - (void)setH2MarginBottom:(CGFloat)newValue;
69
+ - (CGFloat)h2LineHeight;
70
+ - (void)setH2LineHeight:(CGFloat)newValue;
71
+ - (NSTextAlignment)h2TextAlign;
72
+ - (void)setH2TextAlign:(NSTextAlignment)newValue;
73
+ - (UIFont *)h2Font;
74
+ // H3 properties
75
+ - (CGFloat)h3FontSize;
76
+ - (void)setH3FontSize:(CGFloat)newValue;
77
+ - (NSString *)h3FontFamily;
78
+ - (void)setH3FontFamily:(NSString *)newValue;
79
+ - (NSString *)h3FontWeight;
80
+ - (void)setH3FontWeight:(NSString *)newValue;
81
+ - (UIColor *)h3Color;
82
+ - (void)setH3Color:(UIColor *)newValue;
83
+ - (CGFloat)h3MarginTop;
84
+ - (void)setH3MarginTop:(CGFloat)newValue;
85
+ - (CGFloat)h3MarginBottom;
86
+ - (void)setH3MarginBottom:(CGFloat)newValue;
87
+ - (CGFloat)h3LineHeight;
88
+ - (void)setH3LineHeight:(CGFloat)newValue;
89
+ - (NSTextAlignment)h3TextAlign;
90
+ - (void)setH3TextAlign:(NSTextAlignment)newValue;
91
+ - (UIFont *)h3Font;
92
+ // H4 properties
93
+ - (CGFloat)h4FontSize;
94
+ - (void)setH4FontSize:(CGFloat)newValue;
95
+ - (NSString *)h4FontFamily;
96
+ - (void)setH4FontFamily:(NSString *)newValue;
97
+ - (NSString *)h4FontWeight;
98
+ - (void)setH4FontWeight:(NSString *)newValue;
99
+ - (UIColor *)h4Color;
100
+ - (void)setH4Color:(UIColor *)newValue;
101
+ - (CGFloat)h4MarginTop;
102
+ - (void)setH4MarginTop:(CGFloat)newValue;
103
+ - (CGFloat)h4MarginBottom;
104
+ - (void)setH4MarginBottom:(CGFloat)newValue;
105
+ - (CGFloat)h4LineHeight;
106
+ - (void)setH4LineHeight:(CGFloat)newValue;
107
+ - (NSTextAlignment)h4TextAlign;
108
+ - (void)setH4TextAlign:(NSTextAlignment)newValue;
109
+ - (UIFont *)h4Font;
110
+ // H5 properties
111
+ - (CGFloat)h5FontSize;
112
+ - (void)setH5FontSize:(CGFloat)newValue;
113
+ - (NSString *)h5FontFamily;
114
+ - (void)setH5FontFamily:(NSString *)newValue;
115
+ - (NSString *)h5FontWeight;
116
+ - (void)setH5FontWeight:(NSString *)newValue;
117
+ - (UIColor *)h5Color;
118
+ - (void)setH5Color:(UIColor *)newValue;
119
+ - (CGFloat)h5MarginTop;
120
+ - (void)setH5MarginTop:(CGFloat)newValue;
121
+ - (CGFloat)h5MarginBottom;
122
+ - (void)setH5MarginBottom:(CGFloat)newValue;
123
+ - (CGFloat)h5LineHeight;
124
+ - (void)setH5LineHeight:(CGFloat)newValue;
125
+ - (NSTextAlignment)h5TextAlign;
126
+ - (void)setH5TextAlign:(NSTextAlignment)newValue;
127
+ - (UIFont *)h5Font;
128
+ // H6 properties
129
+ - (CGFloat)h6FontSize;
130
+ - (void)setH6FontSize:(CGFloat)newValue;
131
+ - (NSString *)h6FontFamily;
132
+ - (void)setH6FontFamily:(NSString *)newValue;
133
+ - (NSString *)h6FontWeight;
134
+ - (void)setH6FontWeight:(NSString *)newValue;
135
+ - (UIColor *)h6Color;
136
+ - (void)setH6Color:(UIColor *)newValue;
137
+ - (CGFloat)h6MarginTop;
138
+ - (void)setH6MarginTop:(CGFloat)newValue;
139
+ - (CGFloat)h6MarginBottom;
140
+ - (void)setH6MarginBottom:(CGFloat)newValue;
141
+ - (CGFloat)h6LineHeight;
142
+ - (void)setH6LineHeight:(CGFloat)newValue;
143
+ - (NSTextAlignment)h6TextAlign;
144
+ - (void)setH6TextAlign:(NSTextAlignment)newValue;
145
+ - (UIFont *)h6Font;
146
+ // Link properties
147
+ - (UIColor *)linkColor;
148
+ - (void)setLinkColor:(UIColor *)newValue;
149
+ - (BOOL)linkUnderline;
150
+ - (void)setLinkUnderline:(BOOL)newValue;
151
+ // Strong properties
152
+ - (UIColor *)strongColor;
153
+ - (void)setStrongColor:(UIColor *)newValue;
154
+ // Emphasis properties
155
+ - (UIColor *)emphasisColor;
156
+ - (void)setEmphasisColor:(UIColor *)newValue;
157
+ // Strikethrough properties
158
+ - (UIColor *)strikethroughColor;
159
+ - (void)setStrikethroughColor:(UIColor *)newValue;
160
+ // Underline properties
161
+ - (UIColor *)underlineColor;
162
+ - (void)setUnderlineColor:(UIColor *)newValue;
163
+ // Code properties
164
+ - (UIColor *)codeColor;
165
+ - (void)setCodeColor:(UIColor *)newValue;
166
+ - (UIColor *)codeBackgroundColor;
167
+ - (void)setCodeBackgroundColor:(UIColor *)newValue;
168
+ - (UIColor *)codeBorderColor;
169
+ - (void)setCodeBorderColor:(UIColor *)newValue;
170
+ // Image properties
171
+ - (CGFloat)imageHeight;
172
+ - (void)setImageHeight:(CGFloat)newValue;
173
+ - (CGFloat)imageBorderRadius;
174
+ - (void)setImageBorderRadius:(CGFloat)newValue;
175
+ - (CGFloat)imageMarginTop;
176
+ - (void)setImageMarginTop:(CGFloat)newValue;
177
+ - (CGFloat)imageMarginBottom;
178
+ - (void)setImageMarginBottom:(CGFloat)newValue;
179
+ // Inline image properties
180
+ - (CGFloat)inlineImageSize;
181
+ - (void)setInlineImageSize:(CGFloat)newValue;
182
+ // Blockquote properties
183
+ - (CGFloat)blockquoteFontSize;
184
+ - (void)setBlockquoteFontSize:(CGFloat)newValue;
185
+ - (NSString *)blockquoteFontFamily;
186
+ - (void)setBlockquoteFontFamily:(NSString *)newValue;
187
+ - (NSString *)blockquoteFontWeight;
188
+ - (void)setBlockquoteFontWeight:(NSString *)newValue;
189
+ - (UIColor *)blockquoteColor;
190
+ - (void)setBlockquoteColor:(UIColor *)newValue;
191
+ - (CGFloat)blockquoteMarginTop;
192
+ - (void)setBlockquoteMarginTop:(CGFloat)newValue;
193
+ - (CGFloat)blockquoteMarginBottom;
194
+ - (void)setBlockquoteMarginBottom:(CGFloat)newValue;
195
+ - (CGFloat)blockquoteLineHeight;
196
+ - (void)setBlockquoteLineHeight:(CGFloat)newValue;
197
+ - (UIFont *)blockquoteFont;
198
+ - (UIColor *)blockquoteBorderColor;
199
+ - (void)setBlockquoteBorderColor:(UIColor *)newValue;
200
+ - (CGFloat)blockquoteBorderWidth;
201
+ - (void)setBlockquoteBorderWidth:(CGFloat)newValue;
202
+ - (CGFloat)blockquoteGapWidth;
203
+ - (void)setBlockquoteGapWidth:(CGFloat)newValue;
204
+ - (UIColor *)blockquoteBackgroundColor;
205
+ - (void)setBlockquoteBackgroundColor:(UIColor *)newValue;
206
+ // List style properties (combined for both ordered and unordered lists)
207
+ - (CGFloat)listStyleFontSize;
208
+ - (void)setListStyleFontSize:(CGFloat)newValue;
209
+ - (NSString *)listStyleFontFamily;
210
+ - (void)setListStyleFontFamily:(NSString *)newValue;
211
+ - (NSString *)listStyleFontWeight;
212
+ - (void)setListStyleFontWeight:(NSString *)newValue;
213
+ - (UIColor *)listStyleColor;
214
+ - (void)setListStyleColor:(UIColor *)newValue;
215
+ - (CGFloat)listStyleMarginTop;
216
+ - (void)setListStyleMarginTop:(CGFloat)newValue;
217
+ - (CGFloat)listStyleMarginBottom;
218
+ - (void)setListStyleMarginBottom:(CGFloat)newValue;
219
+ - (CGFloat)listStyleLineHeight;
220
+ - (void)setListStyleLineHeight:(CGFloat)newValue;
221
+ - (UIColor *)listStyleBulletColor;
222
+ - (void)setListStyleBulletColor:(UIColor *)newValue;
223
+ - (CGFloat)listStyleBulletSize;
224
+ - (void)setListStyleBulletSize:(CGFloat)newValue;
225
+ - (UIColor *)listStyleMarkerColor;
226
+ - (void)setListStyleMarkerColor:(UIColor *)newValue;
227
+ - (NSString *)listStyleMarkerFontWeight;
228
+ - (void)setListStyleMarkerFontWeight:(NSString *)newValue;
229
+ - (CGFloat)listStyleGapWidth;
230
+ - (void)setListStyleGapWidth:(CGFloat)newValue;
231
+ - (CGFloat)listStyleMarginLeft;
232
+ - (void)setListStyleMarginLeft:(CGFloat)newValue;
233
+ - (UIFont *)listMarkerFont;
234
+ - (UIFont *)listStyleFont;
235
+ - (CGFloat)effectiveListGapWidth;
236
+ - (CGFloat)effectiveListMarginLeftForBullet;
237
+ - (CGFloat)effectiveListMarginLeftForNumber;
238
+ // Code block properties
239
+ - (CGFloat)codeBlockFontSize;
240
+ - (void)setCodeBlockFontSize:(CGFloat)newValue;
241
+ - (NSString *)codeBlockFontFamily;
242
+ - (void)setCodeBlockFontFamily:(NSString *)newValue;
243
+ - (NSString *)codeBlockFontWeight;
244
+ - (void)setCodeBlockFontWeight:(NSString *)newValue;
245
+ - (UIColor *)codeBlockColor;
246
+ - (void)setCodeBlockColor:(UIColor *)newValue;
247
+ - (CGFloat)codeBlockMarginTop;
248
+ - (void)setCodeBlockMarginTop:(CGFloat)newValue;
249
+ - (CGFloat)codeBlockMarginBottom;
250
+ - (void)setCodeBlockMarginBottom:(CGFloat)newValue;
251
+ - (CGFloat)codeBlockLineHeight;
252
+ - (void)setCodeBlockLineHeight:(CGFloat)newValue;
253
+ - (UIColor *)codeBlockBackgroundColor;
254
+ - (void)setCodeBlockBackgroundColor:(UIColor *)newValue;
255
+ - (UIColor *)codeBlockBorderColor;
256
+ - (void)setCodeBlockBorderColor:(UIColor *)newValue;
257
+ - (CGFloat)codeBlockBorderRadius;
258
+ - (void)setCodeBlockBorderRadius:(CGFloat)newValue;
259
+ - (CGFloat)codeBlockBorderWidth;
260
+ - (void)setCodeBlockBorderWidth:(CGFloat)newValue;
261
+ - (CGFloat)codeBlockPadding;
262
+ - (void)setCodeBlockPadding:(CGFloat)newValue;
263
+ - (UIFont *)codeBlockFont;
264
+ // Thematic break properties
265
+ - (UIColor *)thematicBreakColor;
266
+ - (void)setThematicBreakColor:(UIColor *)newValue;
267
+ - (CGFloat)thematicBreakHeight;
268
+ - (void)setThematicBreakHeight:(CGFloat)newValue;
269
+ - (CGFloat)thematicBreakMarginTop;
270
+ - (void)setThematicBreakMarginTop:(CGFloat)newValue;
271
+ - (CGFloat)thematicBreakMarginBottom;
272
+ - (void)setThematicBreakMarginBottom:(CGFloat)newValue;
273
+
274
+ @end