react-native-enriched 0.2.0 → 0.3.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 (186) hide show
  1. package/README.md +16 -17
  2. package/android/build.gradle +77 -72
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +21 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +7 -0
  5. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.cpp +156 -0
  6. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.h +147 -0
  7. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.cpp +10 -0
  8. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.h +194 -0
  9. package/android/lint.gradle +70 -0
  10. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputConnectionWrapper.kt +140 -0
  11. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputView.kt +304 -83
  12. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewLayoutManager.kt +3 -1
  13. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewManager.kt +166 -51
  14. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewPackage.kt +1 -3
  15. package/android/src/main/java/com/swmansion/enriched/MeasurementStore.kt +70 -21
  16. package/android/src/main/java/com/swmansion/enriched/events/MentionHandler.kt +21 -11
  17. package/android/src/main/java/com/swmansion/enriched/events/OnChangeHtmlEvent.kt +8 -9
  18. package/android/src/main/java/com/swmansion/enriched/events/OnChangeSelectionEvent.kt +10 -9
  19. package/android/src/main/java/com/swmansion/enriched/events/OnChangeStateDeprecatedEvent.kt +21 -0
  20. package/android/src/main/java/com/swmansion/enriched/events/OnChangeStateEvent.kt +9 -12
  21. package/android/src/main/java/com/swmansion/enriched/events/OnChangeTextEvent.kt +10 -10
  22. package/android/src/main/java/com/swmansion/enriched/events/OnInputBlurEvent.kt +7 -9
  23. package/android/src/main/java/com/swmansion/enriched/events/OnInputFocusEvent.kt +7 -9
  24. package/android/src/main/java/com/swmansion/enriched/events/OnInputKeyPressEvent.kt +27 -0
  25. package/android/src/main/java/com/swmansion/enriched/events/OnLinkDetectedEvent.kt +13 -11
  26. package/android/src/main/java/com/swmansion/enriched/events/OnMentionDetectedEvent.kt +10 -9
  27. package/android/src/main/java/com/swmansion/enriched/events/OnMentionEvent.kt +9 -8
  28. package/android/src/main/java/com/swmansion/enriched/events/OnRequestHtmlResultEvent.kt +32 -0
  29. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBlockQuoteSpan.kt +24 -5
  30. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBoldSpan.kt +8 -1
  31. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedCodeBlockSpan.kt +10 -2
  32. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH1Span.kt +8 -1
  33. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH2Span.kt +8 -1
  34. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH3Span.kt +8 -1
  35. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH4Span.kt +24 -0
  36. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH5Span.kt +24 -0
  37. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH6Span.kt +24 -0
  38. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedImageSpan.kt +34 -17
  39. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedInlineCodeSpan.kt +8 -1
  40. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedItalicSpan.kt +7 -1
  41. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedLinkSpan.kt +10 -4
  42. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedMentionSpan.kt +14 -11
  43. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedOrderedListSpan.kt +18 -11
  44. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedSpans.kt +174 -72
  45. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedStrikeThroughSpan.kt +7 -1
  46. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnderlineSpan.kt +7 -1
  47. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnorderedListSpan.kt +11 -5
  48. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedBlockSpan.kt +3 -2
  49. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedHeadingSpan.kt +1 -2
  50. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedInlineSpan.kt +1 -2
  51. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedParagraphSpan.kt +3 -2
  52. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedSpan.kt +5 -0
  53. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedZeroWidthSpaceSpan.kt +1 -2
  54. package/android/src/main/java/com/swmansion/enriched/spans/utils/ForceRedrawSpan.kt +2 -1
  55. package/android/src/main/java/com/swmansion/enriched/styles/HtmlStyle.kt +155 -20
  56. package/android/src/main/java/com/swmansion/enriched/styles/InlineStyles.kt +25 -8
  57. package/android/src/main/java/com/swmansion/enriched/styles/ListStyles.kt +60 -20
  58. package/android/src/main/java/com/swmansion/enriched/styles/ParagraphStyles.kt +161 -25
  59. package/android/src/main/java/com/swmansion/enriched/styles/ParametrizedStyles.kt +128 -52
  60. package/android/src/main/java/com/swmansion/enriched/utils/AsyncDrawable.kt +10 -7
  61. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedConstants.kt +11 -0
  62. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedEditableFactory.kt +17 -0
  63. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedParser.java +136 -87
  64. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSelection.kt +71 -42
  65. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpanState.kt +183 -48
  66. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpannable.kt +82 -0
  67. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpannableStringBuilder.kt +15 -0
  68. package/android/src/main/java/com/swmansion/enriched/utils/Utils.kt +0 -70
  69. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedSpanWatcher.kt +46 -14
  70. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedTextWatcher.kt +34 -11
  71. package/android/src/main/new_arch/CMakeLists.txt +6 -0
  72. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.cpp +6 -6
  73. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.h +6 -6
  74. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputComponentDescriptor.h +19 -19
  75. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.cpp +40 -51
  76. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.h +13 -15
  77. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.cpp +23 -21
  78. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.h +35 -36
  79. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.cpp +4 -4
  80. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.h +13 -14
  81. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/conversions.h +33 -14
  82. package/ios/EnrichedTextInputView.h +26 -14
  83. package/ios/EnrichedTextInputView.mm +1209 -586
  84. package/ios/config/InputConfig.h +24 -6
  85. package/ios/config/InputConfig.mm +154 -38
  86. package/ios/{utils → extensions}/ColorExtension.mm +7 -5
  87. package/ios/extensions/FontExtension.mm +106 -0
  88. package/ios/{utils → extensions}/LayoutManagerExtension.h +1 -1
  89. package/ios/extensions/LayoutManagerExtension.mm +396 -0
  90. package/ios/{utils → extensions}/StringExtension.mm +19 -16
  91. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.cpp +156 -0
  92. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.h +147 -0
  93. package/ios/generated/RNEnrichedTextInputViewSpec/Props.cpp +10 -0
  94. package/ios/generated/RNEnrichedTextInputViewSpec/Props.h +194 -0
  95. package/ios/generated/RNEnrichedTextInputViewSpec/RCTComponentViewHelpers.h +95 -0
  96. package/ios/inputParser/InputParser.h +5 -5
  97. package/ios/inputParser/InputParser.mm +864 -380
  98. package/ios/inputTextView/InputTextView.h +1 -1
  99. package/ios/inputTextView/InputTextView.mm +100 -59
  100. package/ios/{utils → interfaces}/BaseStyleProtocol.h +2 -2
  101. package/ios/interfaces/ImageAttachment.h +10 -0
  102. package/ios/interfaces/ImageAttachment.mm +36 -0
  103. package/ios/interfaces/LinkRegexConfig.h +19 -0
  104. package/ios/interfaces/LinkRegexConfig.mm +37 -0
  105. package/ios/interfaces/MediaAttachment.h +23 -0
  106. package/ios/interfaces/MediaAttachment.mm +31 -0
  107. package/ios/{utils → interfaces}/MentionParams.h +0 -1
  108. package/ios/{utils → interfaces}/MentionStyleProps.mm +27 -20
  109. package/ios/{utils → interfaces}/StyleHeaders.h +37 -15
  110. package/ios/{utils → interfaces}/StyleTypeEnum.h +3 -0
  111. package/ios/internals/EnrichedTextInputViewComponentDescriptor.h +11 -9
  112. package/ios/internals/EnrichedTextInputViewShadowNode.h +28 -25
  113. package/ios/internals/EnrichedTextInputViewShadowNode.mm +45 -40
  114. package/ios/internals/EnrichedTextInputViewState.h +3 -1
  115. package/ios/styles/BlockQuoteStyle.mm +189 -118
  116. package/ios/styles/BoldStyle.mm +110 -63
  117. package/ios/styles/CodeBlockStyle.mm +204 -128
  118. package/ios/styles/H1Style.mm +10 -4
  119. package/ios/styles/H2Style.mm +10 -4
  120. package/ios/styles/H3Style.mm +10 -4
  121. package/ios/styles/H4Style.mm +17 -0
  122. package/ios/styles/H5Style.mm +17 -0
  123. package/ios/styles/H6Style.mm +17 -0
  124. package/ios/styles/HeadingStyleBase.mm +148 -86
  125. package/ios/styles/ImageStyle.mm +75 -73
  126. package/ios/styles/InlineCodeStyle.mm +162 -88
  127. package/ios/styles/ItalicStyle.mm +76 -52
  128. package/ios/styles/LinkStyle.mm +411 -232
  129. package/ios/styles/MentionStyle.mm +363 -246
  130. package/ios/styles/OrderedListStyle.mm +171 -106
  131. package/ios/styles/StrikethroughStyle.mm +52 -35
  132. package/ios/styles/UnderlineStyle.mm +68 -46
  133. package/ios/styles/UnorderedListStyle.mm +169 -106
  134. package/ios/utils/OccurenceUtils.h +42 -42
  135. package/ios/utils/OccurenceUtils.mm +142 -119
  136. package/ios/utils/ParagraphAttributesUtils.h +10 -2
  137. package/ios/utils/ParagraphAttributesUtils.mm +182 -71
  138. package/ios/utils/ParagraphsUtils.h +2 -1
  139. package/ios/utils/ParagraphsUtils.mm +41 -27
  140. package/ios/utils/TextInsertionUtils.h +13 -2
  141. package/ios/utils/TextInsertionUtils.mm +38 -20
  142. package/ios/utils/WordsUtils.h +2 -1
  143. package/ios/utils/WordsUtils.mm +32 -22
  144. package/ios/utils/ZeroWidthSpaceUtils.h +3 -1
  145. package/ios/utils/ZeroWidthSpaceUtils.mm +145 -79
  146. package/lib/module/EnrichedTextInput.js +61 -2
  147. package/lib/module/EnrichedTextInput.js.map +1 -1
  148. package/lib/module/EnrichedTextInputNativeComponent.ts +149 -12
  149. package/lib/module/{normalizeHtmlStyle.js → utils/normalizeHtmlStyle.js} +12 -0
  150. package/lib/module/utils/normalizeHtmlStyle.js.map +1 -0
  151. package/lib/module/utils/regexParser.js +46 -0
  152. package/lib/module/utils/regexParser.js.map +1 -0
  153. package/lib/typescript/src/EnrichedTextInput.d.ts +24 -14
  154. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
  155. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts +129 -12
  156. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts.map +1 -1
  157. package/lib/typescript/src/index.d.ts +1 -1
  158. package/lib/typescript/src/index.d.ts.map +1 -1
  159. package/lib/typescript/src/utils/normalizeHtmlStyle.d.ts +4 -0
  160. package/lib/typescript/src/utils/normalizeHtmlStyle.d.ts.map +1 -0
  161. package/lib/typescript/src/utils/regexParser.d.ts +3 -0
  162. package/lib/typescript/src/utils/regexParser.d.ts.map +1 -0
  163. package/package.json +17 -6
  164. package/src/EnrichedTextInput.tsx +96 -13
  165. package/src/EnrichedTextInputNativeComponent.ts +149 -12
  166. package/src/index.tsx +2 -0
  167. package/src/{normalizeHtmlStyle.ts → utils/normalizeHtmlStyle.ts} +14 -2
  168. package/src/utils/regexParser.ts +56 -0
  169. package/ios/utils/FontExtension.mm +0 -91
  170. package/ios/utils/LayoutManagerExtension.mm +0 -286
  171. package/lib/module/normalizeHtmlStyle.js.map +0 -1
  172. package/lib/typescript/src/normalizeHtmlStyle.d.ts +0 -4
  173. package/lib/typescript/src/normalizeHtmlStyle.d.ts.map +0 -1
  174. package/ios/{utils → extensions}/ColorExtension.h +0 -0
  175. package/ios/{utils → extensions}/FontExtension.h +0 -0
  176. package/ios/{utils → extensions}/StringExtension.h +1 -1
  177. package/ios/{utils → interfaces}/ImageData.h +0 -0
  178. package/ios/{utils → interfaces}/ImageData.mm +0 -0
  179. package/ios/{utils → interfaces}/LinkData.h +0 -0
  180. package/ios/{utils → interfaces}/LinkData.mm +0 -0
  181. package/ios/{utils → interfaces}/MentionParams.mm +0 -0
  182. package/ios/{utils → interfaces}/MentionStyleProps.h +1 -1
  183. /package/ios/{utils → interfaces}/StylePair.h +0 -0
  184. /package/ios/{utils → interfaces}/StylePair.mm +0 -0
  185. /package/ios/{utils → interfaces}/TextDecorationLineEnum.h +0 -0
  186. /package/ios/{utils → interfaces}/TextDecorationLineEnum.mm +0 -0
@@ -8,6 +8,16 @@ import type {
8
8
  import type { ColorValue, HostComponent, ViewProps } from 'react-native';
9
9
  import React from 'react';
10
10
 
11
+ export interface LinkNativeRegex {
12
+ pattern: string;
13
+ caseInsensitive: boolean;
14
+ dotAll: boolean;
15
+ // Link detection will be disabled
16
+ isDisabled: boolean;
17
+ // Use default native link regex
18
+ isDefault: boolean;
19
+ }
20
+
11
21
  export interface OnChangeTextEvent {
12
22
  value: string;
13
23
  }
@@ -17,6 +27,99 @@ export interface OnChangeHtmlEvent {
17
27
  }
18
28
 
19
29
  export interface OnChangeStateEvent {
30
+ bold: {
31
+ isActive: boolean;
32
+ isConflicting: boolean;
33
+ isBlocking: boolean;
34
+ };
35
+ italic: {
36
+ isActive: boolean;
37
+ isConflicting: boolean;
38
+ isBlocking: boolean;
39
+ };
40
+ underline: {
41
+ isActive: boolean;
42
+ isConflicting: boolean;
43
+ isBlocking: boolean;
44
+ };
45
+ strikeThrough: {
46
+ isActive: boolean;
47
+ isConflicting: boolean;
48
+ isBlocking: boolean;
49
+ };
50
+ inlineCode: {
51
+ isActive: boolean;
52
+ isConflicting: boolean;
53
+ isBlocking: boolean;
54
+ };
55
+ h1: {
56
+ isActive: boolean;
57
+ isConflicting: boolean;
58
+ isBlocking: boolean;
59
+ };
60
+ h2: {
61
+ isActive: boolean;
62
+ isConflicting: boolean;
63
+ isBlocking: boolean;
64
+ };
65
+ h3: {
66
+ isActive: boolean;
67
+ isConflicting: boolean;
68
+ isBlocking: boolean;
69
+ };
70
+ h4: {
71
+ isActive: boolean;
72
+ isConflicting: boolean;
73
+ isBlocking: boolean;
74
+ };
75
+ h5: {
76
+ isActive: boolean;
77
+ isConflicting: boolean;
78
+ isBlocking: boolean;
79
+ };
80
+ h6: {
81
+ isActive: boolean;
82
+ isConflicting: boolean;
83
+ isBlocking: boolean;
84
+ };
85
+ codeBlock: {
86
+ isActive: boolean;
87
+ isConflicting: boolean;
88
+ isBlocking: boolean;
89
+ };
90
+ blockQuote: {
91
+ isActive: boolean;
92
+ isConflicting: boolean;
93
+ isBlocking: boolean;
94
+ };
95
+ orderedList: {
96
+ isActive: boolean;
97
+ isConflicting: boolean;
98
+ isBlocking: boolean;
99
+ };
100
+ unorderedList: {
101
+ isActive: boolean;
102
+ isConflicting: boolean;
103
+ isBlocking: boolean;
104
+ };
105
+ link: {
106
+ isActive: boolean;
107
+ isConflicting: boolean;
108
+ isBlocking: boolean;
109
+ };
110
+ image: {
111
+ isActive: boolean;
112
+ isConflicting: boolean;
113
+ isBlocking: boolean;
114
+ };
115
+ mention: {
116
+ isActive: boolean;
117
+ isConflicting: boolean;
118
+ isBlocking: boolean;
119
+ };
120
+ }
121
+
122
+ export interface OnChangeStateDeprecatedEvent {
20
123
  isBold: boolean;
21
124
  isItalic: boolean;
22
125
  isUnderline: boolean;
@@ -25,6 +128,9 @@ export interface OnChangeStateEvent {
25
128
  isH1: boolean;
26
129
  isH2: boolean;
27
130
  isH3: boolean;
131
+ isH4: boolean;
132
+ isH5: boolean;
133
+ isH6: boolean;
28
134
  isCodeBlock: boolean;
29
135
  isBlockQuote: boolean;
30
136
  isOrderedList: boolean;
@@ -64,25 +170,33 @@ export interface OnChangeSelectionEvent {
64
170
  text: string;
65
171
  }
66
172
 
173
+ export interface OnRequestHtmlResultEvent {
174
+ requestId: Int32;
175
+ html: UnsafeMixed;
176
+ }
177
+
67
178
  export interface MentionStyleProperties {
68
179
  color?: ColorValue;
69
180
  backgroundColor?: ColorValue;
70
181
  textDecorationLine?: 'underline' | 'none';
71
182
  }
72
183
 
184
+ export interface OnKeyPressEvent {
185
+ key: string;
186
+ }
187
+
188
+ type Heading = {
189
+ fontSize?: Float;
190
+ bold?: boolean;
191
+ };
192
+
73
193
  export interface HtmlStyleInternal {
74
- h1?: {
75
- fontSize?: Float;
76
- bold?: boolean;
77
- };
78
- h2?: {
79
- fontSize?: Float;
80
- bold?: boolean;
81
- };
82
- h3?: {
83
- fontSize?: Float;
84
- bold?: boolean;
85
- };
194
+ h1?: Heading;
195
+ h2?: Heading;
196
+ h3?: Heading;
197
+ h4?: Heading;
198
+ h5?: Heading;
199
+ h6?: Heading;
86
200
  blockquote?: {
87
201
  borderColor?: ColorValue;
88
202
  borderWidth?: Float;
@@ -132,6 +246,7 @@ export interface NativeProps extends ViewProps {
132
246
  autoCapitalize?: string;
133
247
  htmlStyle?: HtmlStyleInternal;
134
248
  scrollEnabled?: boolean;
249
+ linkRegex?: LinkNativeRegex;
135
250
 
136
251
  // event callbacks
137
252
  onInputFocus?: DirectEventHandler<null>;
@@ -139,10 +254,13 @@ export interface NativeProps extends ViewProps {
139
254
  onChangeText?: DirectEventHandler<OnChangeTextEvent>;
140
255
  onChangeHtml?: DirectEventHandler<OnChangeHtmlEvent>;
141
256
  onChangeState?: DirectEventHandler<OnChangeStateEvent>;
257
+ onChangeStateDeprecated?: DirectEventHandler<OnChangeStateDeprecatedEvent>;
142
258
  onLinkDetected?: DirectEventHandler<OnLinkDetected>;
143
259
  onMentionDetected?: DirectEventHandler<OnMentionDetectedInternal>;
144
260
  onMention?: DirectEventHandler<OnMentionEvent>;
145
261
  onChangeSelection?: DirectEventHandler<OnChangeSelectionEvent>;
262
+ onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
263
+ onInputKeyPress?: DirectEventHandler<OnKeyPressEvent>;
146
264
 
147
265
  // Style related props - used for generating proper setters in component's manager
148
266
  // These should not be passed as regular props
@@ -154,6 +272,8 @@ export interface NativeProps extends ViewProps {
154
272
 
155
273
  // Used for onChangeHtml event performance optimization
156
274
  isOnChangeHtmlSet: boolean;
275
+ // Used for onChangeText event performance optimization
276
+ isOnChangeTextSet: boolean;
157
277
 
158
278
  // Experimental
159
279
  androidExperimentalSynchronousEvents: boolean;
@@ -166,6 +286,11 @@ interface NativeCommands {
166
286
  focus: (viewRef: React.ElementRef<ComponentType>) => void;
167
287
  blur: (viewRef: React.ElementRef<ComponentType>) => void;
168
288
  setValue: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
289
+ setSelection: (
290
+ viewRef: React.ElementRef<ComponentType>,
291
+ start: Int32,
292
+ end: Int32
293
+ ) => void;
169
294
 
170
295
  // Text formatting commands
171
296
  toggleBold: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -176,6 +301,9 @@ interface NativeCommands {
176
301
  toggleH1: (viewRef: React.ElementRef<ComponentType>) => void;
177
302
  toggleH2: (viewRef: React.ElementRef<ComponentType>) => void;
178
303
  toggleH3: (viewRef: React.ElementRef<ComponentType>) => void;
304
+ toggleH4: (viewRef: React.ElementRef<ComponentType>) => void;
305
+ toggleH5: (viewRef: React.ElementRef<ComponentType>) => void;
306
+ toggleH6: (viewRef: React.ElementRef<ComponentType>) => void;
179
307
  toggleCodeBlock: (viewRef: React.ElementRef<ComponentType>) => void;
180
308
  toggleBlockQuote: (viewRef: React.ElementRef<ComponentType>) => void;
181
309
  toggleOrderedList: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -203,6 +331,10 @@ interface NativeCommands {
203
331
  text: string,
204
332
  payload: string
205
333
  ) => void;
334
+ requestHTML: (
335
+ viewRef: React.ElementRef<ComponentType>,
336
+ requestId: Int32
337
+ ) => void;
206
338
  }
207
339
 
208
340
  export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
@@ -211,6 +343,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
211
343
  'focus',
212
344
  'blur',
213
345
  'setValue',
346
+ 'setSelection',
214
347
 
215
348
  // Text formatting commands
216
349
  'toggleBold',
@@ -221,6 +354,9 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
221
354
  'toggleH1',
222
355
  'toggleH2',
223
356
  'toggleH3',
357
+ 'toggleH4',
358
+ 'toggleH5',
359
+ 'toggleH6',
224
360
  'toggleCodeBlock',
225
361
  'toggleBlockQuote',
226
362
  'toggleOrderedList',
@@ -229,6 +365,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
229
365
  'addImage',
230
366
  'startMention',
231
367
  'addMention',
368
+ 'requestHTML',
232
369
  ],
233
370
  });
234
371
 
@@ -14,6 +14,18 @@ const defaultStyle = {
14
14
  fontSize: 20,
15
15
  bold: false
16
16
  },
17
+ h4: {
18
+ fontSize: 16,
19
+ bold: false
20
+ },
21
+ h5: {
22
+ fontSize: 14,
23
+ bold: false
24
+ },
25
+ h6: {
26
+ fontSize: 12,
27
+ bold: false
28
+ },
17
29
  blockquote: {
18
30
  borderColor: 'darkgray',
19
31
  borderWidth: 4,
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColor","defaultStyle","h1","fontSize","bold","h2","h3","h4","h5","h6","blockquote","borderColor","borderWidth","gapWidth","color","undefined","codeblock","borderRadius","backgroundColor","code","a","textDecorationLine","mention","ol","marginLeft","markerFontWeight","markerColor","ul","bulletColor","bulletSize","isMentionStyleRecord","mentionStyle","Array","isArray","keys","Object","length","every","key","convertToHtmlStyleInternal","style","mentionIndicators","mentionStyles","forEach","indicator","default","String","olStyles","assignDefaultValues","merged","parseStyle","name","value","endsWith","parseColors","finalStyle","tagName","tagStyle","entries","tagStyles","styleName","styleValue","normalizeHtmlStyle","converted","withDefaults"],"sourceRoot":"../../../src","sources":["utils/normalizeHtmlStyle.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ const DISABLED_REGEX = {
4
+ pattern: '',
5
+ caseInsensitive: false,
6
+ dotAll: false,
7
+ isDisabled: true,
8
+ isDefault: false
9
+ };
10
+ const DEFAULT_REGEX = {
11
+ pattern: '',
12
+ caseInsensitive: false,
13
+ dotAll: false,
14
+ isDisabled: false,
15
+ isDefault: true
16
+ };
17
+ export const toNativeRegexConfig = regex => {
18
+ if (regex === null) {
19
+ return DISABLED_REGEX;
20
+ }
21
+ if (regex === undefined) {
22
+ return DEFAULT_REGEX;
23
+ }
24
+ const source = regex.source;
25
+
26
+ // iOS fails on variable-width lookbehinds like (?<=a+)
27
+ const hasLookbehind = source.includes('(?<=') || source.includes('(?<!');
28
+ if (hasLookbehind) {
29
+ // Basic detection for quantifiers inside a group
30
+ const lookbehindContent = source.match(/\(\?<[=!](.*?)\)/)?.[1] || '';
31
+ if (/[*+{]/.test(lookbehindContent)) {
32
+ if (__DEV__) {
33
+ console.error('Variable-width lookbehinds are not supported. Using default link regex.');
34
+ }
35
+ return DEFAULT_REGEX;
36
+ }
37
+ }
38
+ return {
39
+ pattern: source,
40
+ caseInsensitive: regex.ignoreCase,
41
+ dotAll: regex.dotAll,
42
+ isDisabled: false,
43
+ isDefault: false
44
+ };
45
+ };
46
+ //# sourceMappingURL=regexParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DISABLED_REGEX","pattern","caseInsensitive","dotAll","isDisabled","isDefault","DEFAULT_REGEX","toNativeRegexConfig","regex","undefined","source","hasLookbehind","includes","lookbehindContent","match","test","__DEV__","console","error","ignoreCase"],"sourceRoot":"../../../src","sources":["utils/regexParser.ts"],"mappings":";;AAEA,MAAMA,cAA+B,GAAG;EACtCC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,KAAK;EACtBC,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAA8B,GAAG;EACrCL,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,KAAK;EACtBC,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAME,mBAAmB,GAC9BC,KAAgC,IACZ;EACpB,IAAIA,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOR,cAAc;EACvB;EAEA,IAAIQ,KAAK,KAAKC,SAAS,EAAE;IACvB,OAAOH,aAAa;EACtB;EAEA,MAAMI,MAAM,GAAGF,KAAK,CAACE,MAAM;;EAE3B;EACA,MAAMC,aAAa,GAAGD,MAAM,CAACE,QAAQ,CAAC,MAAM,CAAC,IAAIF,MAAM,CAACE,QAAQ,CAAC,MAAM,CAAC;EAExE,IAAID,aAAa,EAAE;IACjB;IACA,MAAME,iBAAiB,GAAGH,MAAM,CAACI,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACrE,IAAI,OAAO,CAACC,IAAI,CAACF,iBAAiB,CAAC,EAAE;MACnC,IAAIG,OAAO,EAAE;QACXC,OAAO,CAACC,KAAK,CACX,yEACF,CAAC;MACH;MAEA,OAAOZ,aAAa;IACtB;EACF;EAEA,OAAO;IACLL,OAAO,EAAES,MAAM;IACfR,eAAe,EAAEM,KAAK,CAACW,UAAU;IACjChB,MAAM,EAAEK,KAAK,CAACL,MAAM;IACpBC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,10 +1,12 @@
1
1
  import { type RefObject } from 'react';
2
- import { type OnChangeHtmlEvent, type OnChangeSelectionEvent, type OnChangeStateEvent, type OnChangeTextEvent, type OnLinkDetected, type OnMentionDetected, type MentionStyleProperties } from './EnrichedTextInputNativeComponent';
2
+ import { type OnChangeHtmlEvent, type OnChangeSelectionEvent, type OnChangeStateEvent, type OnChangeTextEvent, type OnLinkDetected, type OnMentionDetected, type MentionStyleProperties, type OnChangeStateDeprecatedEvent, type OnKeyPressEvent } from './EnrichedTextInputNativeComponent';
3
3
  import type { ColorValue, NativeMethods, NativeSyntheticEvent, TextStyle, ViewProps, ViewStyle } from 'react-native';
4
4
  export interface EnrichedTextInputInstance extends NativeMethods {
5
5
  focus: () => void;
6
6
  blur: () => void;
7
7
  setValue: (value: string) => void;
8
+ setSelection: (start: number, end: number) => void;
9
+ getHTML: () => Promise<string>;
8
10
  toggleBold: () => void;
9
11
  toggleItalic: () => void;
10
12
  toggleUnderline: () => void;
@@ -13,6 +15,9 @@ export interface EnrichedTextInputInstance extends NativeMethods {
13
15
  toggleH1: () => void;
14
16
  toggleH2: () => void;
15
17
  toggleH3: () => void;
18
+ toggleH4: () => void;
19
+ toggleH5: () => void;
20
+ toggleH6: () => void;
16
21
  toggleCodeBlock: () => void;
17
22
  toggleBlockQuote: () => void;
18
23
  toggleOrderedList: () => void;
@@ -26,19 +31,17 @@ export interface OnChangeMentionEvent {
26
31
  indicator: string;
27
32
  text: string;
28
33
  }
34
+ type HeadingStyle = {
35
+ fontSize?: number;
36
+ bold?: boolean;
37
+ };
29
38
  export interface HtmlStyle {
30
- h1?: {
31
- fontSize?: number;
32
- bold?: boolean;
33
- };
34
- h2?: {
35
- fontSize?: number;
36
- bold?: boolean;
37
- };
38
- h3?: {
39
- fontSize?: number;
40
- bold?: boolean;
41
- };
39
+ h1?: HeadingStyle;
40
+ h2?: HeadingStyle;
41
+ h3?: HeadingStyle;
42
+ h4?: HeadingStyle;
43
+ h5?: HeadingStyle;
44
+ h6?: HeadingStyle;
42
45
  blockquote?: {
43
46
  borderColor?: ColorValue;
44
47
  borderWidth?: number;
@@ -86,17 +89,23 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
86
89
  htmlStyle?: HtmlStyle;
87
90
  style?: ViewStyle | TextStyle;
88
91
  scrollEnabled?: boolean;
92
+ linkRegex?: RegExp | null;
89
93
  onFocus?: () => void;
90
94
  onBlur?: () => void;
91
95
  onChangeText?: (e: NativeSyntheticEvent<OnChangeTextEvent>) => void;
92
96
  onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void;
93
97
  onChangeState?: (e: NativeSyntheticEvent<OnChangeStateEvent>) => void;
98
+ /**
99
+ * @deprecated Use onChangeState prop instead.
100
+ */
101
+ onChangeStateDeprecated?: (e: NativeSyntheticEvent<OnChangeStateDeprecatedEvent>) => void;
94
102
  onLinkDetected?: (e: OnLinkDetected) => void;
95
103
  onMentionDetected?: (e: OnMentionDetected) => void;
96
104
  onStartMention?: (indicator: string) => void;
97
105
  onChangeMention?: (e: OnChangeMentionEvent) => void;
98
106
  onEndMention?: (indicator: string) => void;
99
107
  onChangeSelection?: (e: NativeSyntheticEvent<OnChangeSelectionEvent>) => void;
108
+ onKeyPress?: (e: NativeSyntheticEvent<OnKeyPressEvent>) => void;
100
109
  /**
101
110
  * If true, Android will use experimental synchronous events.
102
111
  * This will prevent from input flickering when updating component size.
@@ -106,5 +115,6 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
106
115
  */
107
116
  androidExperimentalSynchronousEvents?: boolean;
108
117
  }
109
- export declare const EnrichedTextInput: ({ ref, autoFocus, editable, mentionIndicators, defaultValue, placeholder, placeholderTextColor, cursorColor, selectionColor, style, autoCapitalize, htmlStyle, onFocus, onBlur, onChangeText, onChangeHtml, onChangeState, onLinkDetected, onMentionDetected, onStartMention, onChangeMention, onEndMention, onChangeSelection, androidExperimentalSynchronousEvents, scrollEnabled, ...rest }: EnrichedTextInputProps) => import("react/jsx-runtime").JSX.Element;
118
+ export declare const EnrichedTextInput: ({ ref, autoFocus, editable, mentionIndicators, defaultValue, placeholder, placeholderTextColor, cursorColor, selectionColor, style, autoCapitalize, htmlStyle, linkRegex: _linkRegex, onFocus, onBlur, onChangeText, onChangeHtml, onChangeState, onChangeStateDeprecated, onLinkDetected, onMentionDetected, onStartMention, onChangeMention, onEndMention, onChangeSelection, onKeyPress, androidExperimentalSynchronousEvents, scrollEnabled, ...rest }: EnrichedTextInputProps) => import("react/jsx-runtime").JSX.Element;
119
+ export {};
110
120
  //# sourceMappingURL=EnrichedTextInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnrichedTextInput.d.ts","sourceRoot":"","sources":["../../../src/EnrichedTextInput.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import type { DirectEventHandler, Float, Int32, UnsafeMixed } from 'react-native/Libraries/Types/CodegenTypes';
2
2
  import type { ColorValue, HostComponent, ViewProps } from 'react-native';
3
3
  import React from 'react';
4
+ export interface LinkNativeRegex {
5
+ pattern: string;
6
+ caseInsensitive: boolean;
7
+ dotAll: boolean;
8
+ isDisabled: boolean;
9
+ isDefault: boolean;
10
+ }
4
11
  export interface OnChangeTextEvent {
5
12
  value: string;
6
13
  }
@@ -8,6 +15,98 @@ export interface OnChangeHtmlEvent {
8
15
  value: string;
9
16
  }
10
17
  export interface OnChangeStateEvent {
18
+ bold: {
19
+ isActive: boolean;
20
+ isConflicting: boolean;
21
+ isBlocking: boolean;
22
+ };
23
+ italic: {
24
+ isActive: boolean;
25
+ isConflicting: boolean;
26
+ isBlocking: boolean;
27
+ };
28
+ underline: {
29
+ isActive: boolean;
30
+ isConflicting: boolean;
31
+ isBlocking: boolean;
32
+ };
33
+ strikeThrough: {
34
+ isActive: boolean;
35
+ isConflicting: boolean;
36
+ isBlocking: boolean;
37
+ };
38
+ inlineCode: {
39
+ isActive: boolean;
40
+ isConflicting: boolean;
41
+ isBlocking: boolean;
42
+ };
43
+ h1: {
44
+ isActive: boolean;
45
+ isConflicting: boolean;
46
+ isBlocking: boolean;
47
+ };
48
+ h2: {
49
+ isActive: boolean;
50
+ isConflicting: boolean;
51
+ isBlocking: boolean;
52
+ };
53
+ h3: {
54
+ isActive: boolean;
55
+ isConflicting: boolean;
56
+ isBlocking: boolean;
57
+ };
58
+ h4: {
59
+ isActive: boolean;
60
+ isConflicting: boolean;
61
+ isBlocking: boolean;
62
+ };
63
+ h5: {
64
+ isActive: boolean;
65
+ isConflicting: boolean;
66
+ isBlocking: boolean;
67
+ };
68
+ h6: {
69
+ isActive: boolean;
70
+ isConflicting: boolean;
71
+ isBlocking: boolean;
72
+ };
73
+ codeBlock: {
74
+ isActive: boolean;
75
+ isConflicting: boolean;
76
+ isBlocking: boolean;
77
+ };
78
+ blockQuote: {
79
+ isActive: boolean;
80
+ isConflicting: boolean;
81
+ isBlocking: boolean;
82
+ };
83
+ orderedList: {
84
+ isActive: boolean;
85
+ isConflicting: boolean;
86
+ isBlocking: boolean;
87
+ };
88
+ unorderedList: {
89
+ isActive: boolean;
90
+ isConflicting: boolean;
91
+ isBlocking: boolean;
92
+ };
93
+ link: {
94
+ isActive: boolean;
95
+ isConflicting: boolean;
96
+ isBlocking: boolean;
97
+ };
98
+ image: {
99
+ isActive: boolean;
100
+ isConflicting: boolean;
101
+ isBlocking: boolean;
102
+ };
103
+ mention: {
104
+ isActive: boolean;
105
+ isConflicting: boolean;
106
+ isBlocking: boolean;
107
+ };
108
+ }
109
+ export interface OnChangeStateDeprecatedEvent {
11
110
  isBold: boolean;
12
111
  isItalic: boolean;
13
112
  isUnderline: boolean;
@@ -16,6 +115,9 @@ export interface OnChangeStateEvent {
16
115
  isH1: boolean;
17
116
  isH2: boolean;
18
117
  isH3: boolean;
118
+ isH4: boolean;
119
+ isH5: boolean;
120
+ isH6: boolean;
19
121
  isCodeBlock: boolean;
20
122
  isBlockQuote: boolean;
21
123
  isOrderedList: boolean;
@@ -49,24 +151,29 @@ export interface OnChangeSelectionEvent {
49
151
  end: Int32;
50
152
  text: string;
51
153
  }
154
+ export interface OnRequestHtmlResultEvent {
155
+ requestId: Int32;
156
+ html: UnsafeMixed;
157
+ }
52
158
  export interface MentionStyleProperties {
53
159
  color?: ColorValue;
54
160
  backgroundColor?: ColorValue;
55
161
  textDecorationLine?: 'underline' | 'none';
56
162
  }
163
+ export interface OnKeyPressEvent {
164
+ key: string;
165
+ }
166
+ type Heading = {
167
+ fontSize?: Float;
168
+ bold?: boolean;
169
+ };
57
170
  export interface HtmlStyleInternal {
58
- h1?: {
59
- fontSize?: Float;
60
- bold?: boolean;
61
- };
62
- h2?: {
63
- fontSize?: Float;
64
- bold?: boolean;
65
- };
66
- h3?: {
67
- fontSize?: Float;
68
- bold?: boolean;
69
- };
171
+ h1?: Heading;
172
+ h2?: Heading;
173
+ h3?: Heading;
174
+ h4?: Heading;
175
+ h5?: Heading;
176
+ h6?: Heading;
70
177
  blockquote?: {
71
178
  borderColor?: ColorValue;
72
179
  borderWidth?: Float;
@@ -112,21 +219,26 @@ export interface NativeProps extends ViewProps {
112
219
  autoCapitalize?: string;
113
220
  htmlStyle?: HtmlStyleInternal;
114
221
  scrollEnabled?: boolean;
222
+ linkRegex?: LinkNativeRegex;
115
223
  onInputFocus?: DirectEventHandler<null>;
116
224
  onInputBlur?: DirectEventHandler<null>;
117
225
  onChangeText?: DirectEventHandler<OnChangeTextEvent>;
118
226
  onChangeHtml?: DirectEventHandler<OnChangeHtmlEvent>;
119
227
  onChangeState?: DirectEventHandler<OnChangeStateEvent>;
228
+ onChangeStateDeprecated?: DirectEventHandler<OnChangeStateDeprecatedEvent>;
120
229
  onLinkDetected?: DirectEventHandler<OnLinkDetected>;
121
230
  onMentionDetected?: DirectEventHandler<OnMentionDetectedInternal>;
122
231
  onMention?: DirectEventHandler<OnMentionEvent>;
123
232
  onChangeSelection?: DirectEventHandler<OnChangeSelectionEvent>;
233
+ onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
234
+ onInputKeyPress?: DirectEventHandler<OnKeyPressEvent>;
124
235
  color?: ColorValue;
125
236
  fontSize?: Float;
126
237
  fontFamily?: string;
127
238
  fontWeight?: string;
128
239
  fontStyle?: string;
129
240
  isOnChangeHtmlSet: boolean;
241
+ isOnChangeTextSet: boolean;
130
242
  androidExperimentalSynchronousEvents: boolean;
131
243
  }
132
244
  type ComponentType = HostComponent<NativeProps>;
@@ -134,6 +246,7 @@ interface NativeCommands {
134
246
  focus: (viewRef: React.ElementRef<ComponentType>) => void;
135
247
  blur: (viewRef: React.ElementRef<ComponentType>) => void;
136
248
  setValue: (viewRef: React.ElementRef<ComponentType>, text: string) => void;
249
+ setSelection: (viewRef: React.ElementRef<ComponentType>, start: Int32, end: Int32) => void;
137
250
  toggleBold: (viewRef: React.ElementRef<ComponentType>) => void;
138
251
  toggleItalic: (viewRef: React.ElementRef<ComponentType>) => void;
139
252
  toggleUnderline: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -142,6 +255,9 @@ interface NativeCommands {
142
255
  toggleH1: (viewRef: React.ElementRef<ComponentType>) => void;
143
256
  toggleH2: (viewRef: React.ElementRef<ComponentType>) => void;
144
257
  toggleH3: (viewRef: React.ElementRef<ComponentType>) => void;
258
+ toggleH4: (viewRef: React.ElementRef<ComponentType>) => void;
259
+ toggleH5: (viewRef: React.ElementRef<ComponentType>) => void;
260
+ toggleH6: (viewRef: React.ElementRef<ComponentType>) => void;
145
261
  toggleCodeBlock: (viewRef: React.ElementRef<ComponentType>) => void;
146
262
  toggleBlockQuote: (viewRef: React.ElementRef<ComponentType>) => void;
147
263
  toggleOrderedList: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -150,6 +266,7 @@ interface NativeCommands {
150
266
  addImage: (viewRef: React.ElementRef<ComponentType>, uri: string, width: Float, height: Float) => void;
151
267
  startMention: (viewRef: React.ElementRef<ComponentType>, indicator: string) => void;
152
268
  addMention: (viewRef: React.ElementRef<ComponentType>, indicator: string, text: string, payload: string) => void;
269
+ requestHTML: (viewRef: React.ElementRef<ComponentType>, requestId: Int32) => void;
153
270
  }
154
271
  export declare const Commands: NativeCommands;
155
272
  declare const _default: HostComponent<NativeProps>;