@mathers101/react-native-render-rich-text 0.1.9 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +140 -140
  3. package/ReactNativeRenderRichText.podspec +23 -23
  4. package/android/build.gradle +86 -86
  5. package/android/consumer-rules.pro +3 -3
  6. package/android/src/main/AndroidManifest.xml +2 -2
  7. package/android/src/main/java/com/renderrichtext/EnrichedTiptapTextLayoutManager.kt +24 -24
  8. package/android/src/main/java/com/renderrichtext/EnrichedTiptapTextPackage.kt +13 -13
  9. package/android/src/main/java/com/renderrichtext/MeasurementStore.kt +644 -644
  10. package/android/src/main/java/com/renderrichtext/accessibility/AccessibilityLabels.kt +17 -17
  11. package/android/src/main/java/com/renderrichtext/accessibility/AccessibleTiptapTextView.kt +112 -112
  12. package/android/src/main/java/com/renderrichtext/accessibility/TiptapAccessibilityHelper.kt +576 -576
  13. package/android/src/main/java/com/renderrichtext/events/CodeBlockPressEvent.kt +24 -24
  14. package/android/src/main/java/com/renderrichtext/events/ContextMenuItemPressEvent.kt +28 -28
  15. package/android/src/main/java/com/renderrichtext/events/CopyPressEvent.kt +24 -24
  16. package/android/src/main/java/com/renderrichtext/events/ImagePressEvent.kt +25 -25
  17. package/android/src/main/java/com/renderrichtext/events/LatexErrorEvent.kt +29 -29
  18. package/android/src/main/java/com/renderrichtext/events/LinkLongPressEvent.kt +23 -23
  19. package/android/src/main/java/com/renderrichtext/events/LinkPressEvent.kt +23 -23
  20. package/android/src/main/java/com/renderrichtext/events/MentionLongPressEvent.kt +25 -25
  21. package/android/src/main/java/com/renderrichtext/events/MentionPressEvent.kt +25 -25
  22. package/android/src/main/java/com/renderrichtext/events/TaskListItemPressEvent.kt +26 -26
  23. package/android/src/main/java/com/renderrichtext/math/LatexErrorReporter.kt +9 -9
  24. package/android/src/main/java/com/renderrichtext/parser/Parser.kt +59 -59
  25. package/android/src/main/java/com/renderrichtext/parser/TextLinkMatching.kt +35 -35
  26. package/android/src/main/java/com/renderrichtext/renderer/BaselineShiftRenderer.kt +45 -45
  27. package/android/src/main/java/com/renderrichtext/renderer/BlankLineRenderer.kt +39 -39
  28. package/android/src/main/java/com/renderrichtext/renderer/BlockquoteRenderer.kt +243 -243
  29. package/android/src/main/java/com/renderrichtext/renderer/BlockquoteTextRenderer.kt +56 -56
  30. package/android/src/main/java/com/renderrichtext/renderer/CodeBlockRenderer.kt +135 -135
  31. package/android/src/main/java/com/renderrichtext/renderer/CodeRenderer.kt +37 -37
  32. package/android/src/main/java/com/renderrichtext/renderer/EmphasisRenderer.kt +28 -28
  33. package/android/src/main/java/com/renderrichtext/renderer/HeadingRenderer.kt +81 -81
  34. package/android/src/main/java/com/renderrichtext/renderer/HighlightRenderer.kt +26 -26
  35. package/android/src/main/java/com/renderrichtext/renderer/LineBreakRenderer.kt +17 -17
  36. package/android/src/main/java/com/renderrichtext/renderer/LinkRenderer.kt +90 -90
  37. package/android/src/main/java/com/renderrichtext/renderer/ListContextManager.kt +109 -109
  38. package/android/src/main/java/com/renderrichtext/renderer/ListItemRenderer.kt +211 -211
  39. package/android/src/main/java/com/renderrichtext/renderer/ListRenderer.kt +133 -133
  40. package/android/src/main/java/com/renderrichtext/renderer/MentionRenderer.kt +85 -85
  41. package/android/src/main/java/com/renderrichtext/renderer/ParagraphRenderer.kt +91 -91
  42. package/android/src/main/java/com/renderrichtext/renderer/Renderer.kt +148 -148
  43. package/android/src/main/java/com/renderrichtext/renderer/SoftBreakRenderer.kt +17 -17
  44. package/android/src/main/java/com/renderrichtext/renderer/SpanStyleCache.kt +143 -143
  45. package/android/src/main/java/com/renderrichtext/renderer/StrikethroughRenderer.kt +28 -28
  46. package/android/src/main/java/com/renderrichtext/renderer/StrongRenderer.kt +28 -28
  47. package/android/src/main/java/com/renderrichtext/renderer/TextRenderer.kt +31 -31
  48. package/android/src/main/java/com/renderrichtext/renderer/ThematicBreakRenderer.kt +46 -46
  49. package/android/src/main/java/com/renderrichtext/renderer/UnderlineRenderer.kt +28 -28
  50. package/android/src/main/java/com/renderrichtext/spans/BaseListSpan.kt +164 -164
  51. package/android/src/main/java/com/renderrichtext/spans/BaselineShiftSpan.kt +27 -27
  52. package/android/src/main/java/com/renderrichtext/spans/BlockquoteSpan.kt +302 -302
  53. package/android/src/main/java/com/renderrichtext/spans/CodeBackgroundSpan.kt +205 -205
  54. package/android/src/main/java/com/renderrichtext/spans/CodeBlockSpan.kt +216 -216
  55. package/android/src/main/java/com/renderrichtext/spans/CodeSpan.kt +32 -32
  56. package/android/src/main/java/com/renderrichtext/spans/EmphasisSpan.kt +42 -42
  57. package/android/src/main/java/com/renderrichtext/spans/FadeInSpan.kt +29 -29
  58. package/android/src/main/java/com/renderrichtext/spans/HeadingSpan.kt +38 -38
  59. package/android/src/main/java/com/renderrichtext/spans/HighlightSpan.kt +80 -80
  60. package/android/src/main/java/com/renderrichtext/spans/ImageSpan.kt +481 -481
  61. package/android/src/main/java/com/renderrichtext/spans/InlineBackgroundGeometry.kt +42 -42
  62. package/android/src/main/java/com/renderrichtext/spans/LineHeightSpan.kt +39 -39
  63. package/android/src/main/java/com/renderrichtext/spans/LinkPillIconCache.kt +154 -154
  64. package/android/src/main/java/com/renderrichtext/spans/LinkPillSpan.kt +381 -381
  65. package/android/src/main/java/com/renderrichtext/spans/LinkSpan.kt +68 -68
  66. package/android/src/main/java/com/renderrichtext/spans/ListItemSpacingSpan.kt +33 -33
  67. package/android/src/main/java/com/renderrichtext/spans/ListMarkerAnchorSpan.kt +38 -38
  68. package/android/src/main/java/com/renderrichtext/spans/MarginBottomSpan.kt +76 -76
  69. package/android/src/main/java/com/renderrichtext/spans/MentionChipSpan.kt +132 -132
  70. package/android/src/main/java/com/renderrichtext/spans/MentionSpan.kt +46 -46
  71. package/android/src/main/java/com/renderrichtext/spans/OrderedListSpan.kt +127 -127
  72. package/android/src/main/java/com/renderrichtext/spans/SpoilerSpan.kt +33 -33
  73. package/android/src/main/java/com/renderrichtext/spans/StrikethroughSpan.kt +12 -12
  74. package/android/src/main/java/com/renderrichtext/spans/StrongSpan.kt +39 -39
  75. package/android/src/main/java/com/renderrichtext/spans/TaskListSpan.kt +143 -143
  76. package/android/src/main/java/com/renderrichtext/spans/TextSpan.kt +26 -26
  77. package/android/src/main/java/com/renderrichtext/spans/ThematicBreakSpan.kt +69 -69
  78. package/android/src/main/java/com/renderrichtext/spans/UnorderedListSpan.kt +96 -96
  79. package/android/src/main/java/com/renderrichtext/spoiler/SpoilerStubs.kt +46 -46
  80. package/android/src/main/java/com/renderrichtext/styles/BaseBlockStyle.kt +11 -11
  81. package/android/src/main/java/com/renderrichtext/styles/BlockquoteStyle.kt +83 -83
  82. package/android/src/main/java/com/renderrichtext/styles/CodeBlockStyle.kt +80 -80
  83. package/android/src/main/java/com/renderrichtext/styles/CodeStyle.kt +26 -26
  84. package/android/src/main/java/com/renderrichtext/styles/EmphasisStyle.kt +21 -21
  85. package/android/src/main/java/com/renderrichtext/styles/FactoidStyle.kt +21 -21
  86. package/android/src/main/java/com/renderrichtext/styles/HeadingStyle.kt +33 -33
  87. package/android/src/main/java/com/renderrichtext/styles/HighlightStyle.kt +19 -19
  88. package/android/src/main/java/com/renderrichtext/styles/ImageStyle.kt +29 -29
  89. package/android/src/main/java/com/renderrichtext/styles/InlineImageStyle.kt +17 -17
  90. package/android/src/main/java/com/renderrichtext/styles/InlineMathStyle.kt +17 -17
  91. package/android/src/main/java/com/renderrichtext/styles/LinkPillContent.kt +36 -36
  92. package/android/src/main/java/com/renderrichtext/styles/LinkPillStyle.kt +44 -44
  93. package/android/src/main/java/com/renderrichtext/styles/LinkStyle.kt +23 -23
  94. package/android/src/main/java/com/renderrichtext/styles/LinkVariantEntry.kt +34 -34
  95. package/android/src/main/java/com/renderrichtext/styles/ListStyle.kt +65 -65
  96. package/android/src/main/java/com/renderrichtext/styles/MathStyle.kt +29 -29
  97. package/android/src/main/java/com/renderrichtext/styles/MentionStyle.kt +19 -19
  98. package/android/src/main/java/com/renderrichtext/styles/ParagraphStyle.kt +33 -33
  99. package/android/src/main/java/com/renderrichtext/styles/SpoilerStyle.kt +27 -27
  100. package/android/src/main/java/com/renderrichtext/styles/StrikethroughStyle.kt +17 -17
  101. package/android/src/main/java/com/renderrichtext/styles/StrongStyle.kt +21 -21
  102. package/android/src/main/java/com/renderrichtext/styles/StyleConfig.kt +411 -411
  103. package/android/src/main/java/com/renderrichtext/styles/StyleParser.kt +92 -92
  104. package/android/src/main/java/com/renderrichtext/styles/SubscriptStyle.kt +16 -16
  105. package/android/src/main/java/com/renderrichtext/styles/SuperscriptStyle.kt +16 -16
  106. package/android/src/main/java/com/renderrichtext/styles/TableStyle.kt +75 -75
  107. package/android/src/main/java/com/renderrichtext/styles/TaskListStyle.kt +29 -29
  108. package/android/src/main/java/com/renderrichtext/styles/TextAlignment.kt +32 -32
  109. package/android/src/main/java/com/renderrichtext/styles/ThematicBreakStyle.kt +23 -23
  110. package/android/src/main/java/com/renderrichtext/styles/UnderlineStyle.kt +17 -17
  111. package/android/src/main/java/com/renderrichtext/styles/VideoStyle.kt +31 -31
  112. package/android/src/main/java/com/renderrichtext/utils/common/BorderStyleUtils.kt +86 -86
  113. package/android/src/main/java/com/renderrichtext/utils/common/BreakStrategyUtils.kt +32 -32
  114. package/android/src/main/java/com/renderrichtext/utils/common/CodeBlockHighlighter.kt +36 -36
  115. package/android/src/main/java/com/renderrichtext/utils/common/CodeBlockNode.kt +42 -42
  116. package/android/src/main/java/com/renderrichtext/utils/common/EllipsizeUtils.kt +27 -27
  117. package/android/src/main/java/com/renderrichtext/utils/common/EnrichedTiptapAncestorUtils.kt +10 -10
  118. package/android/src/main/java/com/renderrichtext/utils/common/FeatureFlags.kt +9 -9
  119. package/android/src/main/java/com/renderrichtext/utils/common/LinkRecognitionProps.kt +31 -31
  120. package/android/src/main/java/com/renderrichtext/utils/common/LinkRegexConfig.kt +56 -56
  121. package/android/src/main/java/com/renderrichtext/utils/common/MotionPreferences.kt +18 -18
  122. package/android/src/main/java/com/renderrichtext/utils/common/ReadableMapExtensions.kt +28 -28
  123. package/android/src/main/java/com/renderrichtext/utils/common/layout/RTLUtils.kt +6 -6
  124. package/android/src/main/java/com/renderrichtext/utils/common/serialization/TiptapASTSerializer.kt +368 -368
  125. package/android/src/main/java/com/renderrichtext/utils/text/ImageCache.kt +88 -88
  126. package/android/src/main/java/com/renderrichtext/utils/text/ImageDownloader.kt +203 -203
  127. package/android/src/main/java/com/renderrichtext/utils/text/LocalImageLoader.kt +167 -167
  128. package/android/src/main/java/com/renderrichtext/utils/text/TailFadeInAnimator.kt +84 -84
  129. package/android/src/main/java/com/renderrichtext/utils/text/conversion/HTMLGenerator.kt +1105 -1105
  130. package/android/src/main/java/com/renderrichtext/utils/text/conversion/TiptapExtractor.kt +423 -423
  131. package/android/src/main/java/com/renderrichtext/utils/text/extensions/ParagraphUtils.kt +9 -9
  132. package/android/src/main/java/com/renderrichtext/utils/text/extensions/SpannableExtensions.kt +9 -9
  133. package/android/src/main/java/com/renderrichtext/utils/text/extensions/TextPaintExtensions.kt +76 -76
  134. package/android/src/main/java/com/renderrichtext/utils/text/interaction/CheckboxTouchHelper.kt +61 -61
  135. package/android/src/main/java/com/renderrichtext/utils/text/interaction/TaskListTapUtils.kt +286 -286
  136. package/android/src/main/java/com/renderrichtext/utils/text/span/ApplyLineHeight.kt +39 -39
  137. package/android/src/main/java/com/renderrichtext/utils/text/span/BlockSpacing.kt +142 -142
  138. package/android/src/main/java/com/renderrichtext/utils/text/span/SpanFlags.kt +43 -43
  139. package/android/src/main/java/com/renderrichtext/utils/text/span/WidthAwareSpans.kt +30 -30
  140. package/android/src/main/java/com/renderrichtext/utils/text/view/CodeBlockPressHost.kt +15 -15
  141. package/android/src/main/java/com/renderrichtext/utils/text/view/ImagePressHost.kt +19 -19
  142. package/android/src/main/java/com/renderrichtext/utils/text/view/SelectionActionMode.kt +235 -235
  143. package/android/src/main/java/com/renderrichtext/utils/text/view/TextSelectionColors.kt +48 -48
  144. package/android/src/main/java/com/renderrichtext/utils/text/view/TextViewSetup.kt +119 -119
  145. package/android/src/main/java/com/renderrichtext/views/ContextMenuPopup.kt +217 -217
  146. package/android/src/main/java/com/renderrichtext/views/CopyGlyph.kt +101 -101
  147. package/android/src/main/java/com/renderrichtext/views/WrapGlyph.kt +40 -40
  148. package/android/src/main/jni/CMakeLists.txt +52 -52
  149. package/android/src/main/jni/react/renderer/components/RichTextSpec/ComponentDescriptors.h +30 -30
  150. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextComponentDescriptor.h +29 -29
  151. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextMeasurementManager.cpp +45 -45
  152. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextMeasurementManager.h +21 -21
  153. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextShadowNode.cpp +38 -38
  154. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextShadowNode.h +53 -53
  155. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextState.cpp +9 -9
  156. package/android/src/main/jni/react/renderer/components/RichTextSpec/TiptapTextState.h +24 -24
  157. package/android/src/main/jni/react/renderer/components/RichTextSpec/conversions.h +40 -40
  158. package/cpp/parser/TiptapParser.hpp +13 -13
  159. package/cpp/vendor/nlohmann/json.hpp +24765 -24765
  160. package/ios/EnrichedTiptapText.h +27 -27
  161. package/ios/attachments/ENRMImageAttachment.h +51 -51
  162. package/ios/attachments/ENRMImageAttachment.m +398 -398
  163. package/ios/attachments/ENRMLinkPillAttachment.h +47 -47
  164. package/ios/attachments/ENRMLinkPillAttachment.m +324 -324
  165. package/ios/attachments/ENRMLinkPillIconCache.h +28 -28
  166. package/ios/attachments/ENRMLinkPillIconCache.m +181 -181
  167. package/ios/attachments/ENRMLinkPillText.h +27 -27
  168. package/ios/attachments/ENRMLinkPillText.m +118 -118
  169. package/ios/attachments/ENRMMathInlineAttachment.h +7 -7
  170. package/ios/attachments/ENRMMathInlineAttachment.m +4 -4
  171. package/ios/attachments/ThematicBreakAttachment.h +15 -15
  172. package/ios/attachments/ThematicBreakAttachment.m +33 -33
  173. package/ios/internals/ENRMViewFreeMeasurement.h +208 -208
  174. package/ios/internals/EnrichedTiptapTextComponentDescriptor.h +19 -19
  175. package/ios/internals/EnrichedTiptapTextShadowNode.h +43 -43
  176. package/ios/internals/EnrichedTiptapTextShadowNode.mm +69 -69
  177. package/ios/internals/EnrichedTiptapTextState.h +24 -24
  178. package/ios/internals/MeasurementCache.h +308 -308
  179. package/ios/internals/ShadowMeasurementUtils.h +145 -145
  180. package/ios/parser/ENRMTextLinkAttributes.h +7 -7
  181. package/ios/parser/ENRMTiptapParser.h +33 -33
  182. package/ios/parser/ENRMTiptapParser.mm +73 -73
  183. package/ios/parser/TiptapASTNode.m +52 -52
  184. package/ios/renderer/AttributedRenderer.h +23 -23
  185. package/ios/renderer/AttributedRenderer.m +229 -229
  186. package/ios/renderer/BaseRenderer.h +33 -33
  187. package/ios/renderer/BaseRenderer.m +46 -46
  188. package/ios/renderer/BaselineShiftTextAttributes.h +10 -10
  189. package/ios/renderer/BaselineShiftTextAttributes.m +26 -26
  190. package/ios/renderer/BlankLineRenderer.h +4 -4
  191. package/ios/renderer/BlankLineRenderer.m +51 -51
  192. package/ios/renderer/BlockquoteRenderer.h +6 -6
  193. package/ios/renderer/BlockquoteRenderer.m +258 -258
  194. package/ios/renderer/CodeBlockRenderer.h +9 -9
  195. package/ios/renderer/CodeBlockRenderer.m +99 -99
  196. package/ios/renderer/CodeRenderer.h +9 -9
  197. package/ios/renderer/CodeRenderer.m +69 -69
  198. package/ios/renderer/ENRMBlockquoteTextRenderer.h +25 -25
  199. package/ios/renderer/ENRMBlockquoteTextRenderer.m +48 -48
  200. package/ios/renderer/EmphasisRenderer.h +5 -5
  201. package/ios/renderer/EmphasisRenderer.m +99 -99
  202. package/ios/renderer/HeadingRenderer.h +6 -6
  203. package/ios/renderer/HeadingRenderer.m +102 -102
  204. package/ios/renderer/HighlightRenderer.h +7 -7
  205. package/ios/renderer/HighlightRenderer.m +33 -33
  206. package/ios/renderer/LinkRenderer.h +6 -6
  207. package/ios/renderer/LinkRenderer.m +157 -157
  208. package/ios/renderer/ListItemRenderer.h +24 -24
  209. package/ios/renderer/ListItemRenderer.m +283 -283
  210. package/ios/renderer/ListRenderer.h +13 -13
  211. package/ios/renderer/ListRenderer.m +126 -126
  212. package/ios/renderer/MentionRenderer.h +9 -9
  213. package/ios/renderer/MentionRenderer.m +96 -96
  214. package/ios/renderer/NodeRenderer.h +8 -8
  215. package/ios/renderer/ParagraphRenderer.h +6 -6
  216. package/ios/renderer/ParagraphRenderer.m +85 -85
  217. package/ios/renderer/RenderContext.h +145 -145
  218. package/ios/renderer/RenderContext.m +402 -402
  219. package/ios/renderer/RendererFactory.h +12 -12
  220. package/ios/renderer/StrikethroughRenderer.h +5 -5
  221. package/ios/renderer/StrikethroughRenderer.m +30 -30
  222. package/ios/renderer/StrongRenderer.h +5 -5
  223. package/ios/renderer/StrongRenderer.m +87 -87
  224. package/ios/renderer/TextRenderer.h +6 -6
  225. package/ios/renderer/TextRenderer.m +18 -18
  226. package/ios/renderer/ThematicBreakRenderer.h +4 -4
  227. package/ios/renderer/ThematicBreakRenderer.m +41 -41
  228. package/ios/renderer/UnderlineRenderer.h +4 -4
  229. package/ios/renderer/UnderlineRenderer.m +41 -41
  230. package/ios/styles/ENRMFontSlot.h +12 -12
  231. package/ios/styles/ENRMFontSlot.m +24 -24
  232. package/ios/styles/StyleConfig.h +488 -488
  233. package/ios/styles/StyleConfig.mm +2820 -2820
  234. package/ios/utils/AccessibilityInfo.h +35 -35
  235. package/ios/utils/AccessibilityInfo.m +24 -24
  236. package/ios/utils/BlockquoteBorder.h +26 -26
  237. package/ios/utils/BlockquoteBorder.m +294 -294
  238. package/ios/utils/CodeBackground.h +19 -19
  239. package/ios/utils/CodeBackground.m +196 -196
  240. package/ios/utils/CodeBlockBackground.h +17 -17
  241. package/ios/utils/CodeBlockBackground.m +102 -102
  242. package/ios/utils/ContextMenuUtils.h +76 -76
  243. package/ios/utils/ContextMenuUtils.mm +75 -75
  244. package/ios/utils/ENRMAccessibilityLabels.h +40 -40
  245. package/ios/utils/ENRMAccessibilityLabels.m +5 -5
  246. package/ios/utils/ENRMAsyncRenderCoordinator.h +24 -24
  247. package/ios/utils/ENRMAsyncRenderCoordinator.m +37 -37
  248. package/ios/utils/ENRMAtomicSize.h +65 -65
  249. package/ios/utils/ENRMCodeBlockContent.h +37 -37
  250. package/ios/utils/ENRMCodeBlockContent.mm +89 -89
  251. package/ios/utils/ENRMFeatureFlags.h +25 -25
  252. package/ios/utils/ENRMImageDownloader.h +30 -30
  253. package/ios/utils/ENRMImageDownloader.m +168 -168
  254. package/ios/utils/ENRMLatexErrorCoordinator.h +27 -27
  255. package/ios/utils/ENRMLatexErrorCoordinator.mm +75 -75
  256. package/ios/utils/ENRMLatexErrorReporting.h +13 -13
  257. package/ios/utils/ENRMLinkContextMenus.h +93 -93
  258. package/ios/utils/ENRMLinkContextMenus.m +178 -178
  259. package/ios/utils/ENRMLinkRegexConfig.h +30 -30
  260. package/ios/utils/ENRMLinkRegexConfig.mm +104 -104
  261. package/ios/utils/ENRMLinkRegexProps.h +23 -23
  262. package/ios/utils/ENRMLocalImageLoader.h +35 -35
  263. package/ios/utils/ENRMLocalImageLoader.m +111 -111
  264. package/ios/utils/ENRMMenuAction.h +27 -27
  265. package/ios/utils/ENRMMenuAction.m +33 -33
  266. package/ios/utils/ENRMSpoilerOverlayManager.h +15 -15
  267. package/ios/utils/ENRMSpoilerOverlayManager.m +19 -19
  268. package/ios/utils/ENRMSpoilerTapUtils.h +6 -6
  269. package/ios/utils/ENRMSpoilerTapUtils.m +11 -11
  270. package/ios/utils/ENRMTailFadeInAnimator.h +16 -16
  271. package/ios/utils/ENRMTailFadeInAnimator.m +161 -161
  272. package/ios/utils/ENRMTextHitTest.h +23 -23
  273. package/ios/utils/ENRMTextHitTest.m +20 -20
  274. package/ios/utils/ENRMTextInteractionUtils.h +20 -20
  275. package/ios/utils/ENRMTextInteractionUtils.m +15 -15
  276. package/ios/utils/ENRMTextRenderer.h +38 -38
  277. package/ios/utils/ENRMTextRenderer.m +54 -54
  278. package/ios/utils/ENRMTextViewSetup.h +132 -132
  279. package/ios/utils/ENRMUIKit.h +429 -429
  280. package/ios/utils/EditMenuUtils.h +105 -105
  281. package/ios/utils/EditMenuUtils.m +143 -143
  282. package/ios/utils/FontScaleObserver.h +10 -10
  283. package/ios/utils/FontScaleObserver.m +55 -55
  284. package/ios/utils/FontUtils.h +31 -31
  285. package/ios/utils/FontUtils.m +63 -63
  286. package/ios/utils/HTMLGenerator.h +25 -25
  287. package/ios/utils/HTMLGenerator.m +1041 -1041
  288. package/ios/utils/HeightUpdateUtils.h +25 -25
  289. package/ios/utils/ImageRequestHeaderUtils.h +35 -35
  290. package/ios/utils/LastElementUtils.h +97 -97
  291. package/ios/utils/LinkContextMenuUtils.h +55 -55
  292. package/ios/utils/LinkPillContentUtils.h +46 -46
  293. package/ios/utils/ListMarkerDrawer.h +15 -15
  294. package/ios/utils/ListMarkerDrawer.m +239 -239
  295. package/ios/utils/MentionBackground.h +26 -26
  296. package/ios/utils/MentionBackground.m +86 -86
  297. package/ios/utils/ParagraphStyleUtils.h +87 -87
  298. package/ios/utils/ParagraphStyleUtils.m +484 -484
  299. package/ios/utils/PasteboardUtils.h +48 -48
  300. package/ios/utils/PasteboardUtils.m +166 -166
  301. package/ios/utils/RTFExportUtils.h +24 -24
  302. package/ios/utils/RTFExportUtils.m +299 -299
  303. package/ios/utils/SelectionColorUtils.h +14 -14
  304. package/ios/utils/StylePropsUtils.h +1340 -1340
  305. package/ios/utils/TaskListTapUtils.h +6 -6
  306. package/ios/utils/TaskListTapUtils.m +14 -14
  307. package/ios/utils/TextViewLayoutManager.h +14 -14
  308. package/ios/utils/TiptapAccessibilityElementBuilder.h +43 -43
  309. package/ios/utils/TiptapAccessibilityElementBuilder.m +432 -432
  310. package/ios/utils/TiptapExtractor.h +17 -17
  311. package/ios/utils/TiptapExtractor.m +367 -367
  312. package/ios/views/ENRMTiptapTextView.h +25 -25
  313. package/ios/views/ENRMTiptapTextView.m +247 -247
  314. package/package.json +65 -70
  315. package/react-native.config.js +10 -10
  316. package/src/admonitionDefaults.ts +58 -58
  317. package/src/darkModeTextStyle.ts +99 -99
  318. package/src/headingDefaults.ts +21 -21
  319. package/src/index.tsx +4 -4
  320. package/src/linkVariantUtils.ts +120 -120
  321. package/src/normalizeTiptapStyle.ts +397 -397
  322. package/src/rn-globals.d.ts +1 -1
  323. package/src/styleUtils.ts +107 -107
  324. package/src/types/TiptapStyle.ts +532 -532
  325. package/src/types/TiptapStyleInternal.ts +299 -299
  326. package/src/types/linkPill.ts +9 -9
  327. package/src/utils/isDev.ts +4 -4
@@ -1,488 +1,488 @@
1
- #pragma once
2
- #import "ENRMUIKit.h"
3
-
4
- NS_ASSUME_NONNULL_BEGIN
5
-
6
- /// Pill presentation of a link variant: geometry plus the variant-wide default label and icon.
7
- @interface LinkPillConfig : NSObject
8
- @property (nonatomic, copy) NSString *label;
9
- @property (nonatomic, copy) NSString *iconUri;
10
- /// Nil keeps the icon's own colors.
11
- @property (nonatomic, strong, nullable) RCTUIColor *iconTintColor;
12
- @property (nonatomic, assign) CGFloat borderRadius;
13
- @property (nonatomic, assign) CGFloat paddingHorizontal;
14
- @property (nonatomic, assign) CGFloat paddingVertical;
15
- /// Minimum line height of a block that holds the pill; 0 when unset.
16
- @property (nonatomic, assign) CGFloat lineHeight;
17
- @property (nonatomic, assign) CGFloat borderWidth;
18
- @property (nonatomic, strong) RCTUIColor *borderColor;
19
- @property (nonatomic, assign) CGFloat maxWidth;
20
- @end
21
-
22
- /// What one specific link's pill shows (the `linkPillContent` prop), keyed by exact URL.
23
- @interface LinkPillContent : NSObject
24
- @property (nonatomic, copy) NSString *label;
25
- @property (nonatomic, copy) NSString *iconUri;
26
- /// Tint for this link's icon; nil means none was set for the link.
27
- @property (nonatomic, strong, nullable) RCTUIColor *iconTintColor;
28
- @end
29
-
30
- /**
31
- * Resolved style for a single URL-pattern variant (e.g. "^user:", "^channel:", "app\\.example\\.com/user/").
32
- * The `pattern` field is a regex tested against the full URL in normalized order.
33
- * Populated from the JS `linkVariants` map by StylePropsUtils and consumed by LinkRenderer.
34
- */
35
- @interface LinkVariantConfig : NSObject
36
- @property (nonatomic, copy) NSString *fontFamily;
37
- /// Pill presentation for links matching this variant; nil when disabled.
38
- @property (nonatomic, strong, nullable) LinkPillConfig *pill;
39
- @property (nonatomic, copy) NSString *pattern;
40
- @property (nonatomic, strong) RCTUIColor *color;
41
- @property (nonatomic, assign) BOOL underline;
42
- @property (nonatomic, strong, nullable) RCTUIColor *backgroundColor;
43
- @end
44
-
45
- @interface StyleConfig : NSObject <NSCopying>
46
- - (instancetype)init;
47
- - (CGFloat)fontScaleMultiplier;
48
- /// `pill.lineHeight`, scaled with the font like the blocks' own line heights.
49
- - (CGFloat)lineHeightForLinkPill:(LinkPillConfig *)pill;
50
- - (void)setFontScaleMultiplier:(CGFloat)newValue;
51
- - (CGFloat)maxFontSizeMultiplier;
52
- - (void)setMaxFontSizeMultiplier:(CGFloat)newValue;
53
- // Primary font properties
54
- - (RCTUIColor *)primaryColor;
55
- - (void)setPrimaryColor:(RCTUIColor *)newValue;
56
- - (NSNumber *)primaryFontSize;
57
- - (void)setPrimaryFontSize:(NSNumber *)newValue;
58
- - (NSString *)primaryFontWeight;
59
- - (void)setPrimaryFontWeight:(NSString *)newValue;
60
- - (NSString *)primaryFontFamily;
61
- - (void)setPrimaryFontFamily:(NSString *)newValue;
62
- - (UIFont *)primaryFont;
63
- // Paragraph properties
64
- - (CGFloat)paragraphFontSize;
65
- - (void)setParagraphFontSize:(CGFloat)newValue;
66
- - (NSString *)paragraphFontFamily;
67
- - (void)setParagraphFontFamily:(NSString *)newValue;
68
- - (NSString *)paragraphFontWeight;
69
- - (void)setParagraphFontWeight:(NSString *)newValue;
70
- - (RCTUIColor *)paragraphColor;
71
- - (void)setParagraphColor:(RCTUIColor *)newValue;
72
- - (CGFloat)paragraphMarginTop;
73
- - (void)setParagraphMarginTop:(CGFloat)newValue;
74
- - (CGFloat)paragraphMarginBottom;
75
- - (void)setParagraphMarginBottom:(CGFloat)newValue;
76
- - (CGFloat)paragraphLineHeight;
77
- - (void)setParagraphLineHeight:(CGFloat)newValue;
78
- - (NSTextAlignment)paragraphTextAlign;
79
- - (void)setParagraphTextAlign:(NSTextAlignment)newValue;
80
- - (UIFont *)paragraphFont;
81
- // H1 properties
82
- - (CGFloat)h1FontSize;
83
- - (void)setH1FontSize:(CGFloat)newValue;
84
- - (NSString *)h1FontFamily;
85
- - (void)setH1FontFamily:(NSString *)newValue;
86
- - (NSString *)h1FontWeight;
87
- - (void)setH1FontWeight:(NSString *)newValue;
88
- - (RCTUIColor *)h1Color;
89
- - (void)setH1Color:(RCTUIColor *)newValue;
90
- - (CGFloat)h1MarginTop;
91
- - (void)setH1MarginTop:(CGFloat)newValue;
92
- - (CGFloat)h1MarginBottom;
93
- - (void)setH1MarginBottom:(CGFloat)newValue;
94
- - (CGFloat)h1LineHeight;
95
- - (void)setH1LineHeight:(CGFloat)newValue;
96
- - (NSTextAlignment)h1TextAlign;
97
- - (void)setH1TextAlign:(NSTextAlignment)newValue;
98
- - (UIFont *)h1Font;
99
- // H2 properties
100
- - (CGFloat)h2FontSize;
101
- - (void)setH2FontSize:(CGFloat)newValue;
102
- - (NSString *)h2FontFamily;
103
- - (void)setH2FontFamily:(NSString *)newValue;
104
- - (NSString *)h2FontWeight;
105
- - (void)setH2FontWeight:(NSString *)newValue;
106
- - (RCTUIColor *)h2Color;
107
- - (void)setH2Color:(RCTUIColor *)newValue;
108
- - (CGFloat)h2MarginTop;
109
- - (void)setH2MarginTop:(CGFloat)newValue;
110
- - (CGFloat)h2MarginBottom;
111
- - (void)setH2MarginBottom:(CGFloat)newValue;
112
- - (CGFloat)h2LineHeight;
113
- - (void)setH2LineHeight:(CGFloat)newValue;
114
- - (NSTextAlignment)h2TextAlign;
115
- - (void)setH2TextAlign:(NSTextAlignment)newValue;
116
- - (UIFont *)h2Font;
117
- // H3 properties
118
- - (CGFloat)h3FontSize;
119
- - (void)setH3FontSize:(CGFloat)newValue;
120
- - (NSString *)h3FontFamily;
121
- - (void)setH3FontFamily:(NSString *)newValue;
122
- - (NSString *)h3FontWeight;
123
- - (void)setH3FontWeight:(NSString *)newValue;
124
- - (RCTUIColor *)h3Color;
125
- - (void)setH3Color:(RCTUIColor *)newValue;
126
- - (CGFloat)h3MarginTop;
127
- - (void)setH3MarginTop:(CGFloat)newValue;
128
- - (CGFloat)h3MarginBottom;
129
- - (void)setH3MarginBottom:(CGFloat)newValue;
130
- - (CGFloat)h3LineHeight;
131
- - (void)setH3LineHeight:(CGFloat)newValue;
132
- - (NSTextAlignment)h3TextAlign;
133
- - (void)setH3TextAlign:(NSTextAlignment)newValue;
134
- - (UIFont *)h3Font;
135
- // H4 properties
136
- - (CGFloat)h4FontSize;
137
- - (void)setH4FontSize:(CGFloat)newValue;
138
- - (NSString *)h4FontFamily;
139
- - (void)setH4FontFamily:(NSString *)newValue;
140
- - (NSString *)h4FontWeight;
141
- - (void)setH4FontWeight:(NSString *)newValue;
142
- - (RCTUIColor *)h4Color;
143
- - (void)setH4Color:(RCTUIColor *)newValue;
144
- - (CGFloat)h4MarginTop;
145
- - (void)setH4MarginTop:(CGFloat)newValue;
146
- - (CGFloat)h4MarginBottom;
147
- - (void)setH4MarginBottom:(CGFloat)newValue;
148
- - (CGFloat)h4LineHeight;
149
- - (void)setH4LineHeight:(CGFloat)newValue;
150
- - (NSTextAlignment)h4TextAlign;
151
- - (void)setH4TextAlign:(NSTextAlignment)newValue;
152
- - (UIFont *)h4Font;
153
- // H5 properties
154
- - (CGFloat)h5FontSize;
155
- - (void)setH5FontSize:(CGFloat)newValue;
156
- - (NSString *)h5FontFamily;
157
- - (void)setH5FontFamily:(NSString *)newValue;
158
- - (NSString *)h5FontWeight;
159
- - (void)setH5FontWeight:(NSString *)newValue;
160
- - (RCTUIColor *)h5Color;
161
- - (void)setH5Color:(RCTUIColor *)newValue;
162
- - (CGFloat)h5MarginTop;
163
- - (void)setH5MarginTop:(CGFloat)newValue;
164
- - (CGFloat)h5MarginBottom;
165
- - (void)setH5MarginBottom:(CGFloat)newValue;
166
- - (CGFloat)h5LineHeight;
167
- - (void)setH5LineHeight:(CGFloat)newValue;
168
- - (NSTextAlignment)h5TextAlign;
169
- - (void)setH5TextAlign:(NSTextAlignment)newValue;
170
- - (UIFont *)h5Font;
171
- // H6 properties
172
- - (CGFloat)h6FontSize;
173
- - (void)setH6FontSize:(CGFloat)newValue;
174
- - (NSString *)h6FontFamily;
175
- - (void)setH6FontFamily:(NSString *)newValue;
176
- - (NSString *)h6FontWeight;
177
- - (void)setH6FontWeight:(NSString *)newValue;
178
- - (RCTUIColor *)h6Color;
179
- - (void)setH6Color:(RCTUIColor *)newValue;
180
- - (CGFloat)h6MarginTop;
181
- - (void)setH6MarginTop:(CGFloat)newValue;
182
- - (CGFloat)h6MarginBottom;
183
- - (void)setH6MarginBottom:(CGFloat)newValue;
184
- - (CGFloat)h6LineHeight;
185
- - (void)setH6LineHeight:(CGFloat)newValue;
186
- - (NSTextAlignment)h6TextAlign;
187
- - (void)setH6TextAlign:(NSTextAlignment)newValue;
188
- - (UIFont *)h6Font;
189
- // Link properties
190
- - (NSString *)linkFontFamily;
191
- - (void)setLinkFontFamily:(NSString *)newValue;
192
- - (RCTUIColor *)linkColor;
193
- - (void)setLinkColor:(RCTUIColor *)newValue;
194
- - (BOOL)linkUnderline;
195
- - (void)setLinkUnderline:(BOOL)newValue;
196
- - (nullable RCTUIColor *)linkBackgroundColor;
197
- - (void)setLinkBackgroundColor:(nullable RCTUIColor *)newValue;
198
- - (NSArray<LinkVariantConfig *> *)linkVariants;
199
- - (void)setLinkVariants:(NSArray<LinkVariantConfig *> *)newValue;
200
- - (nullable LinkVariantConfig *)effectiveLinkVariantForURL:(NSString *)url;
201
- // Strong properties
202
- - (NSString *)strongFontFamily;
203
- - (void)setStrongFontFamily:(NSString *)newValue;
204
- - (NSString *)strongFontWeight;
205
- - (void)setStrongFontWeight:(NSString *)newValue;
206
- - (RCTUIColor *)strongColor;
207
- - (void)setStrongColor:(RCTUIColor *)newValue;
208
- // Emphasis properties
209
- - (NSString *)emphasisFontFamily;
210
- - (void)setEmphasisFontFamily:(NSString *)newValue;
211
- - (NSString *)emphasisFontStyle;
212
- - (void)setEmphasisFontStyle:(NSString *)newValue;
213
- - (RCTUIColor *)emphasisColor;
214
- - (void)setEmphasisColor:(RCTUIColor *)newValue;
215
- // Strikethrough properties
216
- - (RCTUIColor *)strikethroughColor;
217
- - (void)setStrikethroughColor:(RCTUIColor *)newValue;
218
- // Highlight properties
219
- - (nullable RCTUIColor *)highlightColor;
220
- - (void)setHighlightColor:(nullable RCTUIColor *)newValue;
221
- - (nullable RCTUIColor *)highlightBackgroundColor;
222
- - (void)setHighlightBackgroundColor:(nullable RCTUIColor *)newValue;
223
- // Underline properties
224
- - (RCTUIColor *)underlineColor;
225
- - (void)setUnderlineColor:(RCTUIColor *)newValue;
226
- // Code properties
227
- - (NSString *)codeFontFamily;
228
- - (void)setCodeFontFamily:(NSString *)newValue;
229
- - (CGFloat)codeFontSize;
230
- - (void)setCodeFontSize:(CGFloat)newValue;
231
- - (RCTUIColor *)codeColor;
232
- - (void)setCodeColor:(RCTUIColor *)newValue;
233
- - (RCTUIColor *)codeBackgroundColor;
234
- - (void)setCodeBackgroundColor:(RCTUIColor *)newValue;
235
- - (RCTUIColor *)codeBorderColor;
236
- - (void)setCodeBorderColor:(RCTUIColor *)newValue;
237
- // Factoid properties
238
- - (RCTUIColor *)factoidColor;
239
- - (void)setFactoidColor:(RCTUIColor *)newValue;
240
- - (RCTUIColor *)factoidBackgroundColor;
241
- - (void)setFactoidBackgroundColor:(RCTUIColor *)newValue;
242
- - (RCTUIColor *)factoidBorderColor;
243
- - (void)setFactoidBorderColor:(RCTUIColor *)newValue;
244
- // Mention properties
245
- - (RCTUIColor *)mentionColor;
246
- - (void)setMentionColor:(RCTUIColor *)newValue;
247
- - (RCTUIColor *)mentionBackgroundColor;
248
- - (void)setMentionBackgroundColor:(RCTUIColor *)newValue;
249
- // Image properties
250
- - (CGFloat)imageHeight;
251
- - (void)setImageHeight:(CGFloat)newValue;
252
- - (CGFloat)imageMaxHeight;
253
- - (void)setImageMaxHeight:(CGFloat)newValue;
254
- - (CGFloat)imageAspectRatio;
255
- - (void)setImageAspectRatio:(CGFloat)newValue;
256
- - (NSString *)imageResizeMode;
257
- - (void)setImageResizeMode:(NSString *)newValue;
258
- - (CGFloat)imageBorderRadius;
259
- - (void)setImageBorderRadius:(CGFloat)newValue;
260
- - (CGFloat)imageMarginTop;
261
- - (void)setImageMarginTop:(CGFloat)newValue;
262
- - (CGFloat)imageMarginBottom;
263
- - (void)setImageMarginBottom:(CGFloat)newValue;
264
- - (nullable NSDictionary<NSString *, NSString *> *)imageRequestHeaders;
265
- - (void)setImageRequestHeaders:(nullable NSDictionary<NSString *, NSString *> *)newValue;
266
- // Per-link pill content, keyed by exact URL
267
- - (nullable NSDictionary<NSString *, LinkPillContent *> *)linkPillContent;
268
- - (void)setLinkPillContent:(nullable NSDictionary<NSString *, LinkPillContent *> *)newValue;
269
- // Video properties
270
- - (CGFloat)videoMarginTop;
271
- - (void)setVideoMarginTop:(CGFloat)newValue;
272
- - (CGFloat)videoMarginBottom;
273
- - (void)setVideoMarginBottom:(CGFloat)newValue;
274
- - (CGFloat)videoBorderRadius;
275
- - (void)setVideoBorderRadius:(CGFloat)newValue;
276
- - (CGFloat)videoAspectRatio;
277
- - (void)setVideoAspectRatio:(CGFloat)newValue;
278
- - (RCTUIColor *)videoBackgroundColor;
279
- - (void)setVideoBackgroundColor:(RCTUIColor *)newValue;
280
- // Inline image properties
281
- - (CGFloat)inlineImageSize;
282
- - (void)setInlineImageSize:(CGFloat)newValue;
283
- // Blockquote properties
284
- - (CGFloat)blockquoteFontSize;
285
- - (void)setBlockquoteFontSize:(CGFloat)newValue;
286
- - (NSString *)blockquoteFontFamily;
287
- - (void)setBlockquoteFontFamily:(NSString *)newValue;
288
- - (NSString *)blockquoteFontWeight;
289
- - (void)setBlockquoteFontWeight:(NSString *)newValue;
290
- - (RCTUIColor *)blockquoteColor;
291
- - (void)setBlockquoteColor:(RCTUIColor *)newValue;
292
- - (CGFloat)blockquoteMarginTop;
293
- - (void)setBlockquoteMarginTop:(CGFloat)newValue;
294
- - (CGFloat)blockquoteMarginBottom;
295
- - (void)setBlockquoteMarginBottom:(CGFloat)newValue;
296
- - (CGFloat)blockquoteLineHeight;
297
- - (void)setBlockquoteLineHeight:(CGFloat)newValue;
298
- - (UIFont *)blockquoteFont;
299
- - (RCTUIColor *)blockquoteBorderColor;
300
- - (void)setBlockquoteBorderColor:(RCTUIColor *)newValue;
301
- - (CGFloat)blockquoteBorderWidth;
302
- - (void)setBlockquoteBorderWidth:(CGFloat)newValue;
303
- - (CGFloat)blockquoteGapWidth;
304
- - (void)setBlockquoteGapWidth:(CGFloat)newValue;
305
- - (RCTUIColor *)blockquoteBackgroundColor;
306
- - (void)setBlockquoteBackgroundColor:(RCTUIColor *)newValue;
307
- - (CGFloat)blockquoteBorderRadius;
308
- - (void)setBlockquoteBorderRadius:(CGFloat)newValue;
309
- - (CGFloat)blockquotePadding;
310
- - (void)setBlockquotePadding:(CGFloat)newValue;
311
- // Per-admonition-type colors (keyed by "note"/"tip"/"important"/"warning"/"caution").
312
- - (void)setAdmonitionColors:(NSDictionary<NSString *, RCTUIColor *> *)colors
313
- backgroundColors:(NSDictionary<NSString *, RCTUIColor *> *)backgroundColors;
314
- - (RCTUIColor *)admonitionColorForType:(NSString *)type;
315
- - (RCTUIColor *)admonitionBackgroundColorForType:(NSString *)type;
316
- // List style properties (combined for both ordered and unordered lists)
317
- - (CGFloat)listStyleFontSize;
318
- - (void)setListStyleFontSize:(CGFloat)newValue;
319
- - (NSString *)listStyleFontFamily;
320
- - (void)setListStyleFontFamily:(NSString *)newValue;
321
- - (NSString *)listStyleFontWeight;
322
- - (void)setListStyleFontWeight:(NSString *)newValue;
323
- - (RCTUIColor *)listStyleColor;
324
- - (void)setListStyleColor:(RCTUIColor *)newValue;
325
- - (CGFloat)listStyleMarginTop;
326
- - (void)setListStyleMarginTop:(CGFloat)newValue;
327
- - (CGFloat)listStyleMarginBottom;
328
- - (void)setListStyleMarginBottom:(CGFloat)newValue;
329
- - (CGFloat)listStyleLineHeight;
330
- - (void)setListStyleLineHeight:(CGFloat)newValue;
331
- - (RCTUIColor *)listStyleBulletColor;
332
- - (void)setListStyleBulletColor:(RCTUIColor *)newValue;
333
- - (CGFloat)listStyleBulletSize;
334
- - (void)setListStyleBulletSize:(CGFloat)newValue;
335
- - (CGFloat)listStyleMarkerMinWidth;
336
- - (void)setListStyleMarkerMinWidth:(CGFloat)newValue;
337
- - (RCTUIColor *)listStyleMarkerColor;
338
- - (void)setListStyleMarkerColor:(RCTUIColor *)newValue;
339
- - (NSString *)listStyleMarkerFontWeight;
340
- - (void)setListStyleMarkerFontWeight:(NSString *)newValue;
341
- - (CGFloat)listStyleGapWidth;
342
- - (void)setListStyleGapWidth:(CGFloat)newValue;
343
- - (CGFloat)listStyleMarginLeft;
344
- - (void)setListStyleMarginLeft:(CGFloat)newValue;
345
- - (CGFloat)listStyleItemSpacing;
346
- - (void)setListStyleItemSpacing:(CGFloat)newValue;
347
- - (UIFont *)listMarkerFont;
348
- - (UIFont *)listStyleFont;
349
- - (CGFloat)effectiveListGapWidth;
350
- - (CGFloat)effectiveListMarginLeftForNumber:(NSInteger)number;
351
- - (CGFloat)effectiveListMarginLeftForTask;
352
- // Code block properties
353
- - (CGFloat)codeBlockFontSize;
354
- - (void)setCodeBlockFontSize:(CGFloat)newValue;
355
- - (NSString *)codeBlockFontFamily;
356
- - (void)setCodeBlockFontFamily:(NSString *)newValue;
357
- - (NSString *)codeBlockFontWeight;
358
- - (void)setCodeBlockFontWeight:(NSString *)newValue;
359
- - (RCTUIColor *)codeBlockColor;
360
- - (void)setCodeBlockColor:(RCTUIColor *)newValue;
361
- - (CGFloat)codeBlockMarginTop;
362
- - (void)setCodeBlockMarginTop:(CGFloat)newValue;
363
- - (CGFloat)codeBlockMarginBottom;
364
- - (void)setCodeBlockMarginBottom:(CGFloat)newValue;
365
- - (CGFloat)codeBlockLineHeight;
366
- - (void)setCodeBlockLineHeight:(CGFloat)newValue;
367
- - (RCTUIColor *)codeBlockBackgroundColor;
368
- - (void)setCodeBlockBackgroundColor:(RCTUIColor *)newValue;
369
- - (RCTUIColor *)codeBlockBorderColor;
370
- - (void)setCodeBlockBorderColor:(RCTUIColor *)newValue;
371
- - (CGFloat)codeBlockBorderRadius;
372
- - (void)setCodeBlockBorderRadius:(CGFloat)newValue;
373
- - (CGFloat)codeBlockBorderWidth;
374
- - (void)setCodeBlockBorderWidth:(CGFloat)newValue;
375
- - (CGFloat)codeBlockPadding;
376
- - (void)setCodeBlockPadding:(CGFloat)newValue;
377
- - (UIFont *)codeBlockFont;
378
- // Syntax highlight colors, indexed by HighlightTokenType ordinal. Resolved on
379
- // the JS side; the getter returns a cached color with no allocation.
380
- - (RCTUIColor *_Nullable)codeBlockSyntaxColorForToken:(NSInteger)tokenType;
381
- - (void)setCodeBlockSyntaxColor:(RCTUIColor *)newValue forToken:(NSInteger)tokenType;
382
- // Thematic break properties
383
- - (RCTUIColor *)thematicBreakColor;
384
- - (void)setThematicBreakColor:(RCTUIColor *)newValue;
385
- - (CGFloat)thematicBreakHeight;
386
- - (void)setThematicBreakHeight:(CGFloat)newValue;
387
- - (CGFloat)thematicBreakMarginTop;
388
- - (void)setThematicBreakMarginTop:(CGFloat)newValue;
389
- - (CGFloat)thematicBreakMarginBottom;
390
- - (void)setThematicBreakMarginBottom:(CGFloat)newValue;
391
- // Table properties
392
- - (CGFloat)tableFontSize;
393
- - (void)setTableFontSize:(CGFloat)newValue;
394
- - (NSString *)tableFontFamily;
395
- - (void)setTableFontFamily:(NSString *)newValue;
396
- - (NSString *)tableFontWeight;
397
- - (void)setTableFontWeight:(NSString *)newValue;
398
- - (RCTUIColor *)tableColor;
399
- - (void)setTableColor:(RCTUIColor *)newValue;
400
- - (CGFloat)tableMarginTop;
401
- - (void)setTableMarginTop:(CGFloat)newValue;
402
- - (CGFloat)tableMarginBottom;
403
- - (void)setTableMarginBottom:(CGFloat)newValue;
404
- - (CGFloat)tableLineHeight;
405
- - (void)setTableLineHeight:(CGFloat)newValue;
406
- - (UIFont *)tableFont;
407
- - (NSString *)tableHeaderFontFamily;
408
- - (void)setTableHeaderFontFamily:(NSString *)newValue;
409
- - (UIFont *)tableHeaderFont;
410
- - (RCTUIColor *)tableHeaderBackgroundColor;
411
- - (void)setTableHeaderBackgroundColor:(RCTUIColor *)newValue;
412
- - (RCTUIColor *)tableHeaderTextColor;
413
- - (void)setTableHeaderTextColor:(RCTUIColor *)newValue;
414
- - (RCTUIColor *)tableRowEvenBackgroundColor;
415
- - (void)setTableRowEvenBackgroundColor:(RCTUIColor *)newValue;
416
- - (RCTUIColor *)tableRowOddBackgroundColor;
417
- - (void)setTableRowOddBackgroundColor:(RCTUIColor *)newValue;
418
- - (RCTUIColor *)tableBorderColor;
419
- - (void)setTableBorderColor:(RCTUIColor *)newValue;
420
- - (CGFloat)tableBorderWidth;
421
- - (void)setTableBorderWidth:(CGFloat)newValue;
422
- - (CGFloat)tableBorderRadius;
423
- - (void)setTableBorderRadius:(CGFloat)newValue;
424
- - (CGFloat)tableCellPaddingHorizontal;
425
- - (void)setTableCellPaddingHorizontal:(CGFloat)newValue;
426
- - (CGFloat)tableCellPaddingVertical;
427
- - (void)setTableCellPaddingVertical:(CGFloat)newValue;
428
- - (CGFloat)tableHorizontalOverflow;
429
- - (void)setTableHorizontalOverflow:(CGFloat)newValue;
430
- - (NSString *)tableAlign;
431
- - (void)setTableAlign:(NSString *)newValue;
432
- // Task list checkbox properties
433
- - (RCTUIColor *)taskListCheckedColor;
434
- - (void)setTaskListCheckedColor:(RCTUIColor *)newValue;
435
- - (RCTUIColor *)taskListBorderColor;
436
- - (void)setTaskListBorderColor:(RCTUIColor *)newValue;
437
- - (CGFloat)taskListCheckboxSize;
438
- - (void)setTaskListCheckboxSize:(CGFloat)newValue;
439
- - (CGFloat)taskListCheckboxBorderRadius;
440
- - (void)setTaskListCheckboxBorderRadius:(CGFloat)newValue;
441
- - (RCTUIColor *)taskListCheckmarkColor;
442
- - (void)setTaskListCheckmarkColor:(RCTUIColor *)newValue;
443
- - (RCTUIColor *)taskListCheckedTextColor;
444
- - (void)setTaskListCheckedTextColor:(RCTUIColor *)newValue;
445
- - (BOOL)taskListCheckedStrikethrough;
446
- - (void)setTaskListCheckedStrikethrough:(BOOL)newValue;
447
- // Math properties
448
- - (CGFloat)mathFontSize;
449
- - (void)setMathFontSize:(CGFloat)newValue;
450
- - (RCTUIColor *)mathColor;
451
- - (void)setMathColor:(RCTUIColor *)newValue;
452
- - (RCTUIColor *)mathBackgroundColor;
453
- - (void)setMathBackgroundColor:(RCTUIColor *)newValue;
454
- - (CGFloat)mathPadding;
455
- - (void)setMathPadding:(CGFloat)newValue;
456
- - (CGFloat)mathMarginTop;
457
- - (void)setMathMarginTop:(CGFloat)newValue;
458
- - (CGFloat)mathMarginBottom;
459
- - (void)setMathMarginBottom:(CGFloat)newValue;
460
- - (NSString *)mathTextAlign;
461
- - (void)setMathTextAlign:(NSString *)newValue;
462
-
463
- // Inline Math properties
464
- - (RCTUIColor *)inlineMathColor;
465
- - (void)setInlineMathColor:(RCTUIColor *)newValue;
466
- // Spoiler properties
467
- - (RCTUIColor *)spoilerColor;
468
- - (void)setSpoilerColor:(RCTUIColor *)newValue;
469
- - (CGFloat)spoilerParticleDensity;
470
- - (void)setSpoilerParticleDensity:(CGFloat)newValue;
471
- - (CGFloat)spoilerParticleSpeed;
472
- - (void)setSpoilerParticleSpeed:(CGFloat)newValue;
473
- - (CGFloat)spoilerSolidBorderRadius;
474
- - (void)setSpoilerSolidBorderRadius:(CGFloat)newValue;
475
- // Superscript properties
476
- - (CGFloat)superscriptFontScale;
477
- - (void)setSuperscriptFontScale:(CGFloat)newValue;
478
- - (CGFloat)superscriptBaselineOffsetScale;
479
- - (void)setSuperscriptBaselineOffsetScale:(CGFloat)newValue;
480
- // Subscript properties
481
- - (CGFloat)subscriptFontScale;
482
- - (void)setSubscriptFontScale:(CGFloat)newValue;
483
- - (CGFloat)subscriptBaselineOffsetScale;
484
- - (void)setSubscriptBaselineOffsetScale:(CGFloat)newValue;
485
-
486
- @end
487
-
488
- NS_ASSUME_NONNULL_END
1
+ #pragma once
2
+ #import "ENRMUIKit.h"
3
+
4
+ NS_ASSUME_NONNULL_BEGIN
5
+
6
+ /// Pill presentation of a link variant: geometry plus the variant-wide default label and icon.
7
+ @interface LinkPillConfig : NSObject
8
+ @property (nonatomic, copy) NSString *label;
9
+ @property (nonatomic, copy) NSString *iconUri;
10
+ /// Nil keeps the icon's own colors.
11
+ @property (nonatomic, strong, nullable) RCTUIColor *iconTintColor;
12
+ @property (nonatomic, assign) CGFloat borderRadius;
13
+ @property (nonatomic, assign) CGFloat paddingHorizontal;
14
+ @property (nonatomic, assign) CGFloat paddingVertical;
15
+ /// Minimum line height of a block that holds the pill; 0 when unset.
16
+ @property (nonatomic, assign) CGFloat lineHeight;
17
+ @property (nonatomic, assign) CGFloat borderWidth;
18
+ @property (nonatomic, strong) RCTUIColor *borderColor;
19
+ @property (nonatomic, assign) CGFloat maxWidth;
20
+ @end
21
+
22
+ /// What one specific link's pill shows (the `linkPillContent` prop), keyed by exact URL.
23
+ @interface LinkPillContent : NSObject
24
+ @property (nonatomic, copy) NSString *label;
25
+ @property (nonatomic, copy) NSString *iconUri;
26
+ /// Tint for this link's icon; nil means none was set for the link.
27
+ @property (nonatomic, strong, nullable) RCTUIColor *iconTintColor;
28
+ @end
29
+
30
+ /**
31
+ * Resolved style for a single URL-pattern variant (e.g. "^user:", "^channel:", "app\\.example\\.com/user/").
32
+ * The `pattern` field is a regex tested against the full URL in normalized order.
33
+ * Populated from the JS `linkVariants` map by StylePropsUtils and consumed by LinkRenderer.
34
+ */
35
+ @interface LinkVariantConfig : NSObject
36
+ @property (nonatomic, copy) NSString *fontFamily;
37
+ /// Pill presentation for links matching this variant; nil when disabled.
38
+ @property (nonatomic, strong, nullable) LinkPillConfig *pill;
39
+ @property (nonatomic, copy) NSString *pattern;
40
+ @property (nonatomic, strong) RCTUIColor *color;
41
+ @property (nonatomic, assign) BOOL underline;
42
+ @property (nonatomic, strong, nullable) RCTUIColor *backgroundColor;
43
+ @end
44
+
45
+ @interface StyleConfig : NSObject <NSCopying>
46
+ - (instancetype)init;
47
+ - (CGFloat)fontScaleMultiplier;
48
+ /// `pill.lineHeight`, scaled with the font like the blocks' own line heights.
49
+ - (CGFloat)lineHeightForLinkPill:(LinkPillConfig *)pill;
50
+ - (void)setFontScaleMultiplier:(CGFloat)newValue;
51
+ - (CGFloat)maxFontSizeMultiplier;
52
+ - (void)setMaxFontSizeMultiplier:(CGFloat)newValue;
53
+ // Primary font properties
54
+ - (RCTUIColor *)primaryColor;
55
+ - (void)setPrimaryColor:(RCTUIColor *)newValue;
56
+ - (NSNumber *)primaryFontSize;
57
+ - (void)setPrimaryFontSize:(NSNumber *)newValue;
58
+ - (NSString *)primaryFontWeight;
59
+ - (void)setPrimaryFontWeight:(NSString *)newValue;
60
+ - (NSString *)primaryFontFamily;
61
+ - (void)setPrimaryFontFamily:(NSString *)newValue;
62
+ - (UIFont *)primaryFont;
63
+ // Paragraph properties
64
+ - (CGFloat)paragraphFontSize;
65
+ - (void)setParagraphFontSize:(CGFloat)newValue;
66
+ - (NSString *)paragraphFontFamily;
67
+ - (void)setParagraphFontFamily:(NSString *)newValue;
68
+ - (NSString *)paragraphFontWeight;
69
+ - (void)setParagraphFontWeight:(NSString *)newValue;
70
+ - (RCTUIColor *)paragraphColor;
71
+ - (void)setParagraphColor:(RCTUIColor *)newValue;
72
+ - (CGFloat)paragraphMarginTop;
73
+ - (void)setParagraphMarginTop:(CGFloat)newValue;
74
+ - (CGFloat)paragraphMarginBottom;
75
+ - (void)setParagraphMarginBottom:(CGFloat)newValue;
76
+ - (CGFloat)paragraphLineHeight;
77
+ - (void)setParagraphLineHeight:(CGFloat)newValue;
78
+ - (NSTextAlignment)paragraphTextAlign;
79
+ - (void)setParagraphTextAlign:(NSTextAlignment)newValue;
80
+ - (UIFont *)paragraphFont;
81
+ // H1 properties
82
+ - (CGFloat)h1FontSize;
83
+ - (void)setH1FontSize:(CGFloat)newValue;
84
+ - (NSString *)h1FontFamily;
85
+ - (void)setH1FontFamily:(NSString *)newValue;
86
+ - (NSString *)h1FontWeight;
87
+ - (void)setH1FontWeight:(NSString *)newValue;
88
+ - (RCTUIColor *)h1Color;
89
+ - (void)setH1Color:(RCTUIColor *)newValue;
90
+ - (CGFloat)h1MarginTop;
91
+ - (void)setH1MarginTop:(CGFloat)newValue;
92
+ - (CGFloat)h1MarginBottom;
93
+ - (void)setH1MarginBottom:(CGFloat)newValue;
94
+ - (CGFloat)h1LineHeight;
95
+ - (void)setH1LineHeight:(CGFloat)newValue;
96
+ - (NSTextAlignment)h1TextAlign;
97
+ - (void)setH1TextAlign:(NSTextAlignment)newValue;
98
+ - (UIFont *)h1Font;
99
+ // H2 properties
100
+ - (CGFloat)h2FontSize;
101
+ - (void)setH2FontSize:(CGFloat)newValue;
102
+ - (NSString *)h2FontFamily;
103
+ - (void)setH2FontFamily:(NSString *)newValue;
104
+ - (NSString *)h2FontWeight;
105
+ - (void)setH2FontWeight:(NSString *)newValue;
106
+ - (RCTUIColor *)h2Color;
107
+ - (void)setH2Color:(RCTUIColor *)newValue;
108
+ - (CGFloat)h2MarginTop;
109
+ - (void)setH2MarginTop:(CGFloat)newValue;
110
+ - (CGFloat)h2MarginBottom;
111
+ - (void)setH2MarginBottom:(CGFloat)newValue;
112
+ - (CGFloat)h2LineHeight;
113
+ - (void)setH2LineHeight:(CGFloat)newValue;
114
+ - (NSTextAlignment)h2TextAlign;
115
+ - (void)setH2TextAlign:(NSTextAlignment)newValue;
116
+ - (UIFont *)h2Font;
117
+ // H3 properties
118
+ - (CGFloat)h3FontSize;
119
+ - (void)setH3FontSize:(CGFloat)newValue;
120
+ - (NSString *)h3FontFamily;
121
+ - (void)setH3FontFamily:(NSString *)newValue;
122
+ - (NSString *)h3FontWeight;
123
+ - (void)setH3FontWeight:(NSString *)newValue;
124
+ - (RCTUIColor *)h3Color;
125
+ - (void)setH3Color:(RCTUIColor *)newValue;
126
+ - (CGFloat)h3MarginTop;
127
+ - (void)setH3MarginTop:(CGFloat)newValue;
128
+ - (CGFloat)h3MarginBottom;
129
+ - (void)setH3MarginBottom:(CGFloat)newValue;
130
+ - (CGFloat)h3LineHeight;
131
+ - (void)setH3LineHeight:(CGFloat)newValue;
132
+ - (NSTextAlignment)h3TextAlign;
133
+ - (void)setH3TextAlign:(NSTextAlignment)newValue;
134
+ - (UIFont *)h3Font;
135
+ // H4 properties
136
+ - (CGFloat)h4FontSize;
137
+ - (void)setH4FontSize:(CGFloat)newValue;
138
+ - (NSString *)h4FontFamily;
139
+ - (void)setH4FontFamily:(NSString *)newValue;
140
+ - (NSString *)h4FontWeight;
141
+ - (void)setH4FontWeight:(NSString *)newValue;
142
+ - (RCTUIColor *)h4Color;
143
+ - (void)setH4Color:(RCTUIColor *)newValue;
144
+ - (CGFloat)h4MarginTop;
145
+ - (void)setH4MarginTop:(CGFloat)newValue;
146
+ - (CGFloat)h4MarginBottom;
147
+ - (void)setH4MarginBottom:(CGFloat)newValue;
148
+ - (CGFloat)h4LineHeight;
149
+ - (void)setH4LineHeight:(CGFloat)newValue;
150
+ - (NSTextAlignment)h4TextAlign;
151
+ - (void)setH4TextAlign:(NSTextAlignment)newValue;
152
+ - (UIFont *)h4Font;
153
+ // H5 properties
154
+ - (CGFloat)h5FontSize;
155
+ - (void)setH5FontSize:(CGFloat)newValue;
156
+ - (NSString *)h5FontFamily;
157
+ - (void)setH5FontFamily:(NSString *)newValue;
158
+ - (NSString *)h5FontWeight;
159
+ - (void)setH5FontWeight:(NSString *)newValue;
160
+ - (RCTUIColor *)h5Color;
161
+ - (void)setH5Color:(RCTUIColor *)newValue;
162
+ - (CGFloat)h5MarginTop;
163
+ - (void)setH5MarginTop:(CGFloat)newValue;
164
+ - (CGFloat)h5MarginBottom;
165
+ - (void)setH5MarginBottom:(CGFloat)newValue;
166
+ - (CGFloat)h5LineHeight;
167
+ - (void)setH5LineHeight:(CGFloat)newValue;
168
+ - (NSTextAlignment)h5TextAlign;
169
+ - (void)setH5TextAlign:(NSTextAlignment)newValue;
170
+ - (UIFont *)h5Font;
171
+ // H6 properties
172
+ - (CGFloat)h6FontSize;
173
+ - (void)setH6FontSize:(CGFloat)newValue;
174
+ - (NSString *)h6FontFamily;
175
+ - (void)setH6FontFamily:(NSString *)newValue;
176
+ - (NSString *)h6FontWeight;
177
+ - (void)setH6FontWeight:(NSString *)newValue;
178
+ - (RCTUIColor *)h6Color;
179
+ - (void)setH6Color:(RCTUIColor *)newValue;
180
+ - (CGFloat)h6MarginTop;
181
+ - (void)setH6MarginTop:(CGFloat)newValue;
182
+ - (CGFloat)h6MarginBottom;
183
+ - (void)setH6MarginBottom:(CGFloat)newValue;
184
+ - (CGFloat)h6LineHeight;
185
+ - (void)setH6LineHeight:(CGFloat)newValue;
186
+ - (NSTextAlignment)h6TextAlign;
187
+ - (void)setH6TextAlign:(NSTextAlignment)newValue;
188
+ - (UIFont *)h6Font;
189
+ // Link properties
190
+ - (NSString *)linkFontFamily;
191
+ - (void)setLinkFontFamily:(NSString *)newValue;
192
+ - (RCTUIColor *)linkColor;
193
+ - (void)setLinkColor:(RCTUIColor *)newValue;
194
+ - (BOOL)linkUnderline;
195
+ - (void)setLinkUnderline:(BOOL)newValue;
196
+ - (nullable RCTUIColor *)linkBackgroundColor;
197
+ - (void)setLinkBackgroundColor:(nullable RCTUIColor *)newValue;
198
+ - (NSArray<LinkVariantConfig *> *)linkVariants;
199
+ - (void)setLinkVariants:(NSArray<LinkVariantConfig *> *)newValue;
200
+ - (nullable LinkVariantConfig *)effectiveLinkVariantForURL:(NSString *)url;
201
+ // Strong properties
202
+ - (NSString *)strongFontFamily;
203
+ - (void)setStrongFontFamily:(NSString *)newValue;
204
+ - (NSString *)strongFontWeight;
205
+ - (void)setStrongFontWeight:(NSString *)newValue;
206
+ - (RCTUIColor *)strongColor;
207
+ - (void)setStrongColor:(RCTUIColor *)newValue;
208
+ // Emphasis properties
209
+ - (NSString *)emphasisFontFamily;
210
+ - (void)setEmphasisFontFamily:(NSString *)newValue;
211
+ - (NSString *)emphasisFontStyle;
212
+ - (void)setEmphasisFontStyle:(NSString *)newValue;
213
+ - (RCTUIColor *)emphasisColor;
214
+ - (void)setEmphasisColor:(RCTUIColor *)newValue;
215
+ // Strikethrough properties
216
+ - (RCTUIColor *)strikethroughColor;
217
+ - (void)setStrikethroughColor:(RCTUIColor *)newValue;
218
+ // Highlight properties
219
+ - (nullable RCTUIColor *)highlightColor;
220
+ - (void)setHighlightColor:(nullable RCTUIColor *)newValue;
221
+ - (nullable RCTUIColor *)highlightBackgroundColor;
222
+ - (void)setHighlightBackgroundColor:(nullable RCTUIColor *)newValue;
223
+ // Underline properties
224
+ - (RCTUIColor *)underlineColor;
225
+ - (void)setUnderlineColor:(RCTUIColor *)newValue;
226
+ // Code properties
227
+ - (NSString *)codeFontFamily;
228
+ - (void)setCodeFontFamily:(NSString *)newValue;
229
+ - (CGFloat)codeFontSize;
230
+ - (void)setCodeFontSize:(CGFloat)newValue;
231
+ - (RCTUIColor *)codeColor;
232
+ - (void)setCodeColor:(RCTUIColor *)newValue;
233
+ - (RCTUIColor *)codeBackgroundColor;
234
+ - (void)setCodeBackgroundColor:(RCTUIColor *)newValue;
235
+ - (RCTUIColor *)codeBorderColor;
236
+ - (void)setCodeBorderColor:(RCTUIColor *)newValue;
237
+ // Factoid properties
238
+ - (RCTUIColor *)factoidColor;
239
+ - (void)setFactoidColor:(RCTUIColor *)newValue;
240
+ - (RCTUIColor *)factoidBackgroundColor;
241
+ - (void)setFactoidBackgroundColor:(RCTUIColor *)newValue;
242
+ - (RCTUIColor *)factoidBorderColor;
243
+ - (void)setFactoidBorderColor:(RCTUIColor *)newValue;
244
+ // Mention properties
245
+ - (RCTUIColor *)mentionColor;
246
+ - (void)setMentionColor:(RCTUIColor *)newValue;
247
+ - (RCTUIColor *)mentionBackgroundColor;
248
+ - (void)setMentionBackgroundColor:(RCTUIColor *)newValue;
249
+ // Image properties
250
+ - (CGFloat)imageHeight;
251
+ - (void)setImageHeight:(CGFloat)newValue;
252
+ - (CGFloat)imageMaxHeight;
253
+ - (void)setImageMaxHeight:(CGFloat)newValue;
254
+ - (CGFloat)imageAspectRatio;
255
+ - (void)setImageAspectRatio:(CGFloat)newValue;
256
+ - (NSString *)imageResizeMode;
257
+ - (void)setImageResizeMode:(NSString *)newValue;
258
+ - (CGFloat)imageBorderRadius;
259
+ - (void)setImageBorderRadius:(CGFloat)newValue;
260
+ - (CGFloat)imageMarginTop;
261
+ - (void)setImageMarginTop:(CGFloat)newValue;
262
+ - (CGFloat)imageMarginBottom;
263
+ - (void)setImageMarginBottom:(CGFloat)newValue;
264
+ - (nullable NSDictionary<NSString *, NSString *> *)imageRequestHeaders;
265
+ - (void)setImageRequestHeaders:(nullable NSDictionary<NSString *, NSString *> *)newValue;
266
+ // Per-link pill content, keyed by exact URL
267
+ - (nullable NSDictionary<NSString *, LinkPillContent *> *)linkPillContent;
268
+ - (void)setLinkPillContent:(nullable NSDictionary<NSString *, LinkPillContent *> *)newValue;
269
+ // Video properties
270
+ - (CGFloat)videoMarginTop;
271
+ - (void)setVideoMarginTop:(CGFloat)newValue;
272
+ - (CGFloat)videoMarginBottom;
273
+ - (void)setVideoMarginBottom:(CGFloat)newValue;
274
+ - (CGFloat)videoBorderRadius;
275
+ - (void)setVideoBorderRadius:(CGFloat)newValue;
276
+ - (CGFloat)videoAspectRatio;
277
+ - (void)setVideoAspectRatio:(CGFloat)newValue;
278
+ - (RCTUIColor *)videoBackgroundColor;
279
+ - (void)setVideoBackgroundColor:(RCTUIColor *)newValue;
280
+ // Inline image properties
281
+ - (CGFloat)inlineImageSize;
282
+ - (void)setInlineImageSize:(CGFloat)newValue;
283
+ // Blockquote properties
284
+ - (CGFloat)blockquoteFontSize;
285
+ - (void)setBlockquoteFontSize:(CGFloat)newValue;
286
+ - (NSString *)blockquoteFontFamily;
287
+ - (void)setBlockquoteFontFamily:(NSString *)newValue;
288
+ - (NSString *)blockquoteFontWeight;
289
+ - (void)setBlockquoteFontWeight:(NSString *)newValue;
290
+ - (RCTUIColor *)blockquoteColor;
291
+ - (void)setBlockquoteColor:(RCTUIColor *)newValue;
292
+ - (CGFloat)blockquoteMarginTop;
293
+ - (void)setBlockquoteMarginTop:(CGFloat)newValue;
294
+ - (CGFloat)blockquoteMarginBottom;
295
+ - (void)setBlockquoteMarginBottom:(CGFloat)newValue;
296
+ - (CGFloat)blockquoteLineHeight;
297
+ - (void)setBlockquoteLineHeight:(CGFloat)newValue;
298
+ - (UIFont *)blockquoteFont;
299
+ - (RCTUIColor *)blockquoteBorderColor;
300
+ - (void)setBlockquoteBorderColor:(RCTUIColor *)newValue;
301
+ - (CGFloat)blockquoteBorderWidth;
302
+ - (void)setBlockquoteBorderWidth:(CGFloat)newValue;
303
+ - (CGFloat)blockquoteGapWidth;
304
+ - (void)setBlockquoteGapWidth:(CGFloat)newValue;
305
+ - (RCTUIColor *)blockquoteBackgroundColor;
306
+ - (void)setBlockquoteBackgroundColor:(RCTUIColor *)newValue;
307
+ - (CGFloat)blockquoteBorderRadius;
308
+ - (void)setBlockquoteBorderRadius:(CGFloat)newValue;
309
+ - (CGFloat)blockquotePadding;
310
+ - (void)setBlockquotePadding:(CGFloat)newValue;
311
+ // Per-admonition-type colors (keyed by "note"/"tip"/"important"/"warning"/"caution").
312
+ - (void)setAdmonitionColors:(NSDictionary<NSString *, RCTUIColor *> *)colors
313
+ backgroundColors:(NSDictionary<NSString *, RCTUIColor *> *)backgroundColors;
314
+ - (RCTUIColor *)admonitionColorForType:(NSString *)type;
315
+ - (RCTUIColor *)admonitionBackgroundColorForType:(NSString *)type;
316
+ // List style properties (combined for both ordered and unordered lists)
317
+ - (CGFloat)listStyleFontSize;
318
+ - (void)setListStyleFontSize:(CGFloat)newValue;
319
+ - (NSString *)listStyleFontFamily;
320
+ - (void)setListStyleFontFamily:(NSString *)newValue;
321
+ - (NSString *)listStyleFontWeight;
322
+ - (void)setListStyleFontWeight:(NSString *)newValue;
323
+ - (RCTUIColor *)listStyleColor;
324
+ - (void)setListStyleColor:(RCTUIColor *)newValue;
325
+ - (CGFloat)listStyleMarginTop;
326
+ - (void)setListStyleMarginTop:(CGFloat)newValue;
327
+ - (CGFloat)listStyleMarginBottom;
328
+ - (void)setListStyleMarginBottom:(CGFloat)newValue;
329
+ - (CGFloat)listStyleLineHeight;
330
+ - (void)setListStyleLineHeight:(CGFloat)newValue;
331
+ - (RCTUIColor *)listStyleBulletColor;
332
+ - (void)setListStyleBulletColor:(RCTUIColor *)newValue;
333
+ - (CGFloat)listStyleBulletSize;
334
+ - (void)setListStyleBulletSize:(CGFloat)newValue;
335
+ - (CGFloat)listStyleMarkerMinWidth;
336
+ - (void)setListStyleMarkerMinWidth:(CGFloat)newValue;
337
+ - (RCTUIColor *)listStyleMarkerColor;
338
+ - (void)setListStyleMarkerColor:(RCTUIColor *)newValue;
339
+ - (NSString *)listStyleMarkerFontWeight;
340
+ - (void)setListStyleMarkerFontWeight:(NSString *)newValue;
341
+ - (CGFloat)listStyleGapWidth;
342
+ - (void)setListStyleGapWidth:(CGFloat)newValue;
343
+ - (CGFloat)listStyleMarginLeft;
344
+ - (void)setListStyleMarginLeft:(CGFloat)newValue;
345
+ - (CGFloat)listStyleItemSpacing;
346
+ - (void)setListStyleItemSpacing:(CGFloat)newValue;
347
+ - (UIFont *)listMarkerFont;
348
+ - (UIFont *)listStyleFont;
349
+ - (CGFloat)effectiveListGapWidth;
350
+ - (CGFloat)effectiveListMarginLeftForNumber:(NSInteger)number;
351
+ - (CGFloat)effectiveListMarginLeftForTask;
352
+ // Code block properties
353
+ - (CGFloat)codeBlockFontSize;
354
+ - (void)setCodeBlockFontSize:(CGFloat)newValue;
355
+ - (NSString *)codeBlockFontFamily;
356
+ - (void)setCodeBlockFontFamily:(NSString *)newValue;
357
+ - (NSString *)codeBlockFontWeight;
358
+ - (void)setCodeBlockFontWeight:(NSString *)newValue;
359
+ - (RCTUIColor *)codeBlockColor;
360
+ - (void)setCodeBlockColor:(RCTUIColor *)newValue;
361
+ - (CGFloat)codeBlockMarginTop;
362
+ - (void)setCodeBlockMarginTop:(CGFloat)newValue;
363
+ - (CGFloat)codeBlockMarginBottom;
364
+ - (void)setCodeBlockMarginBottom:(CGFloat)newValue;
365
+ - (CGFloat)codeBlockLineHeight;
366
+ - (void)setCodeBlockLineHeight:(CGFloat)newValue;
367
+ - (RCTUIColor *)codeBlockBackgroundColor;
368
+ - (void)setCodeBlockBackgroundColor:(RCTUIColor *)newValue;
369
+ - (RCTUIColor *)codeBlockBorderColor;
370
+ - (void)setCodeBlockBorderColor:(RCTUIColor *)newValue;
371
+ - (CGFloat)codeBlockBorderRadius;
372
+ - (void)setCodeBlockBorderRadius:(CGFloat)newValue;
373
+ - (CGFloat)codeBlockBorderWidth;
374
+ - (void)setCodeBlockBorderWidth:(CGFloat)newValue;
375
+ - (CGFloat)codeBlockPadding;
376
+ - (void)setCodeBlockPadding:(CGFloat)newValue;
377
+ - (UIFont *)codeBlockFont;
378
+ // Syntax highlight colors, indexed by HighlightTokenType ordinal. Resolved on
379
+ // the JS side; the getter returns a cached color with no allocation.
380
+ - (RCTUIColor *_Nullable)codeBlockSyntaxColorForToken:(NSInteger)tokenType;
381
+ - (void)setCodeBlockSyntaxColor:(RCTUIColor *)newValue forToken:(NSInteger)tokenType;
382
+ // Thematic break properties
383
+ - (RCTUIColor *)thematicBreakColor;
384
+ - (void)setThematicBreakColor:(RCTUIColor *)newValue;
385
+ - (CGFloat)thematicBreakHeight;
386
+ - (void)setThematicBreakHeight:(CGFloat)newValue;
387
+ - (CGFloat)thematicBreakMarginTop;
388
+ - (void)setThematicBreakMarginTop:(CGFloat)newValue;
389
+ - (CGFloat)thematicBreakMarginBottom;
390
+ - (void)setThematicBreakMarginBottom:(CGFloat)newValue;
391
+ // Table properties
392
+ - (CGFloat)tableFontSize;
393
+ - (void)setTableFontSize:(CGFloat)newValue;
394
+ - (NSString *)tableFontFamily;
395
+ - (void)setTableFontFamily:(NSString *)newValue;
396
+ - (NSString *)tableFontWeight;
397
+ - (void)setTableFontWeight:(NSString *)newValue;
398
+ - (RCTUIColor *)tableColor;
399
+ - (void)setTableColor:(RCTUIColor *)newValue;
400
+ - (CGFloat)tableMarginTop;
401
+ - (void)setTableMarginTop:(CGFloat)newValue;
402
+ - (CGFloat)tableMarginBottom;
403
+ - (void)setTableMarginBottom:(CGFloat)newValue;
404
+ - (CGFloat)tableLineHeight;
405
+ - (void)setTableLineHeight:(CGFloat)newValue;
406
+ - (UIFont *)tableFont;
407
+ - (NSString *)tableHeaderFontFamily;
408
+ - (void)setTableHeaderFontFamily:(NSString *)newValue;
409
+ - (UIFont *)tableHeaderFont;
410
+ - (RCTUIColor *)tableHeaderBackgroundColor;
411
+ - (void)setTableHeaderBackgroundColor:(RCTUIColor *)newValue;
412
+ - (RCTUIColor *)tableHeaderTextColor;
413
+ - (void)setTableHeaderTextColor:(RCTUIColor *)newValue;
414
+ - (RCTUIColor *)tableRowEvenBackgroundColor;
415
+ - (void)setTableRowEvenBackgroundColor:(RCTUIColor *)newValue;
416
+ - (RCTUIColor *)tableRowOddBackgroundColor;
417
+ - (void)setTableRowOddBackgroundColor:(RCTUIColor *)newValue;
418
+ - (RCTUIColor *)tableBorderColor;
419
+ - (void)setTableBorderColor:(RCTUIColor *)newValue;
420
+ - (CGFloat)tableBorderWidth;
421
+ - (void)setTableBorderWidth:(CGFloat)newValue;
422
+ - (CGFloat)tableBorderRadius;
423
+ - (void)setTableBorderRadius:(CGFloat)newValue;
424
+ - (CGFloat)tableCellPaddingHorizontal;
425
+ - (void)setTableCellPaddingHorizontal:(CGFloat)newValue;
426
+ - (CGFloat)tableCellPaddingVertical;
427
+ - (void)setTableCellPaddingVertical:(CGFloat)newValue;
428
+ - (CGFloat)tableHorizontalOverflow;
429
+ - (void)setTableHorizontalOverflow:(CGFloat)newValue;
430
+ - (NSString *)tableAlign;
431
+ - (void)setTableAlign:(NSString *)newValue;
432
+ // Task list checkbox properties
433
+ - (RCTUIColor *)taskListCheckedColor;
434
+ - (void)setTaskListCheckedColor:(RCTUIColor *)newValue;
435
+ - (RCTUIColor *)taskListBorderColor;
436
+ - (void)setTaskListBorderColor:(RCTUIColor *)newValue;
437
+ - (CGFloat)taskListCheckboxSize;
438
+ - (void)setTaskListCheckboxSize:(CGFloat)newValue;
439
+ - (CGFloat)taskListCheckboxBorderRadius;
440
+ - (void)setTaskListCheckboxBorderRadius:(CGFloat)newValue;
441
+ - (RCTUIColor *)taskListCheckmarkColor;
442
+ - (void)setTaskListCheckmarkColor:(RCTUIColor *)newValue;
443
+ - (RCTUIColor *)taskListCheckedTextColor;
444
+ - (void)setTaskListCheckedTextColor:(RCTUIColor *)newValue;
445
+ - (BOOL)taskListCheckedStrikethrough;
446
+ - (void)setTaskListCheckedStrikethrough:(BOOL)newValue;
447
+ // Math properties
448
+ - (CGFloat)mathFontSize;
449
+ - (void)setMathFontSize:(CGFloat)newValue;
450
+ - (RCTUIColor *)mathColor;
451
+ - (void)setMathColor:(RCTUIColor *)newValue;
452
+ - (RCTUIColor *)mathBackgroundColor;
453
+ - (void)setMathBackgroundColor:(RCTUIColor *)newValue;
454
+ - (CGFloat)mathPadding;
455
+ - (void)setMathPadding:(CGFloat)newValue;
456
+ - (CGFloat)mathMarginTop;
457
+ - (void)setMathMarginTop:(CGFloat)newValue;
458
+ - (CGFloat)mathMarginBottom;
459
+ - (void)setMathMarginBottom:(CGFloat)newValue;
460
+ - (NSString *)mathTextAlign;
461
+ - (void)setMathTextAlign:(NSString *)newValue;
462
+
463
+ // Inline Math properties
464
+ - (RCTUIColor *)inlineMathColor;
465
+ - (void)setInlineMathColor:(RCTUIColor *)newValue;
466
+ // Spoiler properties
467
+ - (RCTUIColor *)spoilerColor;
468
+ - (void)setSpoilerColor:(RCTUIColor *)newValue;
469
+ - (CGFloat)spoilerParticleDensity;
470
+ - (void)setSpoilerParticleDensity:(CGFloat)newValue;
471
+ - (CGFloat)spoilerParticleSpeed;
472
+ - (void)setSpoilerParticleSpeed:(CGFloat)newValue;
473
+ - (CGFloat)spoilerSolidBorderRadius;
474
+ - (void)setSpoilerSolidBorderRadius:(CGFloat)newValue;
475
+ // Superscript properties
476
+ - (CGFloat)superscriptFontScale;
477
+ - (void)setSuperscriptFontScale:(CGFloat)newValue;
478
+ - (CGFloat)superscriptBaselineOffsetScale;
479
+ - (void)setSuperscriptBaselineOffsetScale:(CGFloat)newValue;
480
+ // Subscript properties
481
+ - (CGFloat)subscriptFontScale;
482
+ - (void)setSubscriptFontScale:(CGFloat)newValue;
483
+ - (CGFloat)subscriptBaselineOffsetScale;
484
+ - (void)setSubscriptBaselineOffsetScale:(CGFloat)newValue;
485
+
486
+ @end
487
+
488
+ NS_ASSUME_NONNULL_END