react-native-enriched 0.4.1 → 0.5.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 (52) hide show
  1. package/README.md +27 -2
  2. package/ReactNativeEnriched.podspec +5 -1
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +12 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +4 -0
  5. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
  6. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
  7. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.cpp +16 -1
  8. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.h +46 -0
  9. package/android/src/main/java/com/swmansion/enriched/common/GumboNormalizer.kt +5 -0
  10. package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedCheckboxListSpan.kt +3 -2
  11. package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedUnorderedListSpan.kt +2 -1
  12. package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +166 -20
  13. package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputViewManager.kt +32 -0
  14. package/android/src/main/java/com/swmansion/enriched/textinput/MeasurementStore.kt +19 -2
  15. package/android/src/main/java/com/swmansion/enriched/textinput/events/OnContextMenuItemPressEvent.kt +35 -0
  16. package/android/src/main/java/com/swmansion/enriched/textinput/spans/EnrichedLineHeightSpan.kt +44 -0
  17. package/android/src/main/java/com/swmansion/enriched/textinput/styles/ParametrizedStyles.kt +16 -0
  18. package/android/src/main/java/com/swmansion/enriched/textinput/utils/EnrichedSpanState.kt +18 -12
  19. package/android/src/main/new_arch/CMakeLists.txt +9 -13
  20. package/android/src/main/new_arch/GumboNormalizerJni.cpp +14 -0
  21. package/android/src/main/new_arch/react/renderer/components/ReactNativeEnrichedSpec/conversions.h +2 -21
  22. package/cpp/CMakeLists.txt +50 -0
  23. package/cpp/GumboParser/GumboParser.h +34043 -0
  24. package/cpp/README.md +59 -0
  25. package/cpp/parser/GumboNormalizer.c +915 -0
  26. package/cpp/parser/GumboParser.cpp +16 -0
  27. package/cpp/parser/GumboParser.hpp +23 -0
  28. package/cpp/tests/GumboParserTest.cpp +457 -0
  29. package/ios/EnrichedTextInputView.h +2 -0
  30. package/ios/EnrichedTextInputView.mm +152 -2
  31. package/ios/config/InputConfig.h +3 -0
  32. package/ios/config/InputConfig.mm +15 -0
  33. package/ios/extensions/LayoutManagerExtension.mm +34 -11
  34. package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
  35. package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
  36. package/ios/generated/ReactNativeEnrichedSpec/Props.cpp +16 -1
  37. package/ios/generated/ReactNativeEnrichedSpec/Props.h +46 -0
  38. package/ios/generated/ReactNativeEnrichedSpec/RCTComponentViewHelpers.h +29 -0
  39. package/ios/inputParser/InputParser.mm +27 -0
  40. package/lib/module/EnrichedTextInput.js +43 -30
  41. package/lib/module/EnrichedTextInput.js.map +1 -1
  42. package/lib/module/spec/EnrichedTextInputNativeComponent.ts +118 -22
  43. package/lib/typescript/src/EnrichedTextInput.d.ts +24 -6
  44. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
  45. package/lib/typescript/src/index.d.ts +1 -1
  46. package/lib/typescript/src/index.d.ts.map +1 -1
  47. package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts +111 -21
  48. package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts.map +1 -1
  49. package/package.json +5 -5
  50. package/src/EnrichedTextInput.tsx +79 -40
  51. package/src/index.tsx +0 -1
  52. package/src/spec/EnrichedTextInputNativeComponent.ts +118 -22
@@ -1,4 +1,4 @@
1
1
  export * from './EnrichedTextInput';
2
- export type { OnChangeTextEvent, OnChangeHtmlEvent, OnChangeStateEvent, OnChangeStateDeprecatedEvent, OnLinkDetected, OnMentionDetected, OnChangeSelectionEvent, OnKeyPressEvent, OnPasteImagesEvent, } from './spec/EnrichedTextInputNativeComponent';
2
+ export type { OnChangeTextEvent, OnChangeHtmlEvent, OnChangeStateEvent, OnLinkDetected, OnMentionDetected, OnChangeSelectionEvent, OnKeyPressEvent, OnPasteImagesEvent, } from './spec/EnrichedTextInputNativeComponent';
3
3
  export type { HtmlStyle, MentionStyleProperties } from './types';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC"}
@@ -111,27 +111,6 @@ export interface OnChangeStateEvent {
111
111
  isBlocking: boolean;
112
112
  };
113
113
  }
114
- export interface OnChangeStateDeprecatedEvent {
115
- isBold: boolean;
116
- isItalic: boolean;
117
- isUnderline: boolean;
118
- isStrikeThrough: boolean;
119
- isInlineCode: boolean;
120
- isH1: boolean;
121
- isH2: boolean;
122
- isH3: boolean;
123
- isH4: boolean;
124
- isH5: boolean;
125
- isH6: boolean;
126
- isCodeBlock: boolean;
127
- isBlockQuote: boolean;
128
- isOrderedList: boolean;
129
- isUnorderedList: boolean;
130
- isCheckboxList: boolean;
131
- isLink: boolean;
132
- isImage: boolean;
133
- isMention: boolean;
134
- }
135
114
  export interface OnLinkDetected {
136
115
  text: string;
137
116
  url: string;
@@ -164,6 +143,112 @@ export interface OnRequestHtmlResultEvent {
164
143
  export interface OnKeyPressEvent {
165
144
  key: string;
166
145
  }
146
+ export interface ContextMenuItemConfig {
147
+ text: string;
148
+ }
149
+ export interface OnContextMenuItemPressEvent {
150
+ itemText: string;
151
+ selectedText: string;
152
+ selectionStart: Int32;
153
+ selectionEnd: Int32;
154
+ styleState: {
155
+ bold: {
156
+ isActive: boolean;
157
+ isConflicting: boolean;
158
+ isBlocking: boolean;
159
+ };
160
+ italic: {
161
+ isActive: boolean;
162
+ isConflicting: boolean;
163
+ isBlocking: boolean;
164
+ };
165
+ underline: {
166
+ isActive: boolean;
167
+ isConflicting: boolean;
168
+ isBlocking: boolean;
169
+ };
170
+ strikeThrough: {
171
+ isActive: boolean;
172
+ isConflicting: boolean;
173
+ isBlocking: boolean;
174
+ };
175
+ inlineCode: {
176
+ isActive: boolean;
177
+ isConflicting: boolean;
178
+ isBlocking: boolean;
179
+ };
180
+ h1: {
181
+ isActive: boolean;
182
+ isConflicting: boolean;
183
+ isBlocking: boolean;
184
+ };
185
+ h2: {
186
+ isActive: boolean;
187
+ isConflicting: boolean;
188
+ isBlocking: boolean;
189
+ };
190
+ h3: {
191
+ isActive: boolean;
192
+ isConflicting: boolean;
193
+ isBlocking: boolean;
194
+ };
195
+ h4: {
196
+ isActive: boolean;
197
+ isConflicting: boolean;
198
+ isBlocking: boolean;
199
+ };
200
+ h5: {
201
+ isActive: boolean;
202
+ isConflicting: boolean;
203
+ isBlocking: boolean;
204
+ };
205
+ h6: {
206
+ isActive: boolean;
207
+ isConflicting: boolean;
208
+ isBlocking: boolean;
209
+ };
210
+ codeBlock: {
211
+ isActive: boolean;
212
+ isConflicting: boolean;
213
+ isBlocking: boolean;
214
+ };
215
+ blockQuote: {
216
+ isActive: boolean;
217
+ isConflicting: boolean;
218
+ isBlocking: boolean;
219
+ };
220
+ orderedList: {
221
+ isActive: boolean;
222
+ isConflicting: boolean;
223
+ isBlocking: boolean;
224
+ };
225
+ unorderedList: {
226
+ isActive: boolean;
227
+ isConflicting: boolean;
228
+ isBlocking: boolean;
229
+ };
230
+ link: {
231
+ isActive: boolean;
232
+ isConflicting: boolean;
233
+ isBlocking: boolean;
234
+ };
235
+ image: {
236
+ isActive: boolean;
237
+ isConflicting: boolean;
238
+ isBlocking: boolean;
239
+ };
240
+ mention: {
241
+ isActive: boolean;
242
+ isConflicting: boolean;
243
+ isBlocking: boolean;
244
+ };
245
+ checkboxList: {
246
+ isActive: boolean;
247
+ isConflicting: boolean;
248
+ isBlocking: boolean;
249
+ };
250
+ };
251
+ }
167
252
  interface TargetedEvent {
168
253
  target: Int32;
169
254
  }
@@ -244,6 +329,7 @@ export interface NativeProps extends ViewProps {
244
329
  htmlStyle?: HtmlStyleInternal;
245
330
  scrollEnabled?: boolean;
246
331
  linkRegex?: LinkNativeRegex;
332
+ contextMenuItems?: ReadonlyArray<Readonly<ContextMenuItemConfig>>;
247
333
  onInputFocus?: DirectEventHandler<TargetedEvent>;
248
334
  onInputBlur?: DirectEventHandler<TargetedEvent>;
249
335
  onChangeText?: DirectEventHandler<OnChangeTextEvent>;
@@ -256,14 +342,17 @@ export interface NativeProps extends ViewProps {
256
342
  onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
257
343
  onInputKeyPress?: DirectEventHandler<OnKeyPressEvent>;
258
344
  onPasteImages?: DirectEventHandler<OnPasteImagesEvent>;
345
+ onContextMenuItemPress?: DirectEventHandler<OnContextMenuItemPressEvent>;
259
346
  color?: ColorValue;
260
347
  fontSize?: Float;
348
+ lineHeight?: Float;
261
349
  fontFamily?: string;
262
350
  fontWeight?: string;
263
351
  fontStyle?: string;
264
352
  isOnChangeHtmlSet: boolean;
265
353
  isOnChangeTextSet: boolean;
266
354
  androidExperimentalSynchronousEvents: boolean;
355
+ useHtmlNormalizer: boolean;
267
356
  }
268
357
  type ComponentType = HostComponent<NativeProps>;
269
358
  interface NativeCommands {
@@ -288,6 +377,7 @@ interface NativeCommands {
288
377
  toggleUnorderedList: (viewRef: React.ElementRef<ComponentType>) => void;
289
378
  toggleCheckboxList: (viewRef: React.ElementRef<ComponentType>, checked: boolean) => void;
290
379
  addLink: (viewRef: React.ElementRef<ComponentType>, start: Int32, end: Int32, text: string, url: string) => void;
380
+ removeLink: (viewRef: React.ElementRef<ComponentType>, start: Int32, end: Int32) => void;
291
381
  addImage: (viewRef: React.ElementRef<ComponentType>, uri: string, width: Float, height: Float) => void;
292
382
  startMention: (viewRef: React.ElementRef<ComponentType>, indicator: string) => void;
293
383
  addMention: (viewRef: React.ElementRef<ComponentType>, indicator: string, text: string, payload: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"EnrichedTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/spec/EnrichedTextInputNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnrichedTextInputNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/spec/EnrichedTextInputNativeComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-enriched",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Rich Text Editor component for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -39,10 +39,10 @@
39
39
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
40
40
  "lint:android": "cd apps/example/android && ./gradlew lintVerify",
41
41
  "lint:android:fix": "cd apps/example/android && ./gradlew lintFormat",
42
- "lint-clang:ios": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build | xargs npx clang-format -i -n --Werror",
43
- "lint-clang:ios:fix": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build | xargs npx clang-format -i",
44
- "lint-clang:android": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build | xargs npx clang-format -i -n --Werror",
45
- "lint-clang:android:fix": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build | xargs npx clang-format -i",
42
+ "lint-clang:ios": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build -e generated | xargs npx clang-format -i -n --Werror",
43
+ "lint-clang:ios:fix": "find ios/ \\( -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.mm\" \\) | grep -v -e Pods -e build -e generated | xargs npx clang-format -i",
44
+ "lint-clang:android": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build -e generated | xargs npx clang-format -i -n --Werror",
45
+ "lint-clang:android:fix": "find android/ \\( -iname \"*.h\" -o -iname \"*.cpp\" \\) | grep -v -e build -e generated | xargs npx clang-format -i",
46
46
  "lint-clang": "yarn lint-clang:ios && yarn lint-clang:android",
47
47
  "lint-clang:fix": "yarn lint-clang:ios:fix && yarn lint-clang:android:fix",
48
48
  "clean": "del-cli android/build apps/example/android/build apps/example/android/app/build apps/example/ios/build lib",
@@ -6,6 +6,7 @@ import {
6
6
  useMemo,
7
7
  useRef,
8
8
  } from 'react';
9
+ import { useCallback } from 'react';
9
10
  import EnrichedTextInputNativeComponent, {
10
11
  Commands,
11
12
  type NativeProps,
@@ -13,12 +14,12 @@ import EnrichedTextInputNativeComponent, {
13
14
  type OnChangeSelectionEvent,
14
15
  type OnChangeStateEvent,
15
16
  type OnChangeTextEvent,
17
+ type OnContextMenuItemPressEvent,
16
18
  type OnLinkDetected,
17
19
  type OnMentionEvent,
18
20
  type OnMentionDetected,
19
21
  type OnMentionDetectedInternal,
20
22
  type OnRequestHtmlResultEvent,
21
- type OnChangeStateDeprecatedEvent,
22
23
  type OnKeyPressEvent,
23
24
  type OnPasteImagesEvent,
24
25
  } from './spec/EnrichedTextInputNativeComponent';
@@ -69,6 +70,7 @@ export interface EnrichedTextInputInstance extends NativeMethods {
69
70
  toggleUnorderedList: () => void;
70
71
  toggleCheckboxList: (checked: boolean) => void;
71
72
  setLink: (start: number, end: number, text: string, url: string) => void;
73
+ removeLink: (start: number, end: number) => void;
72
74
  setImage: (src: string, width: number, height: number) => void;
73
75
  startMention: (indicator: string) => void;
74
76
  setMention: (
@@ -78,6 +80,20 @@ export interface EnrichedTextInputInstance extends NativeMethods {
78
80
  ) => void;
79
81
  }
80
82
 
83
+ export interface ContextMenuItem {
84
+ text: string;
85
+ onPress: ({
86
+ text,
87
+ selection,
88
+ styleState,
89
+ }: {
90
+ text: string;
91
+ selection: { start: number; end: number };
92
+ styleState: OnChangeStateEvent;
93
+ }) => void;
94
+ visible?: boolean;
95
+ }
96
+
81
97
  export interface OnChangeMentionEvent {
82
98
  indicator: string;
83
99
  text: string;
@@ -103,12 +119,6 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
103
119
  onChangeText?: (e: NativeSyntheticEvent<OnChangeTextEvent>) => void;
104
120
  onChangeHtml?: (e: NativeSyntheticEvent<OnChangeHtmlEvent>) => void;
105
121
  onChangeState?: (e: NativeSyntheticEvent<OnChangeStateEvent>) => void;
106
- /**
107
- * @deprecated Use onChangeState prop instead.
108
- */
109
- onChangeStateDeprecated?: (
110
- e: NativeSyntheticEvent<OnChangeStateDeprecatedEvent>
111
- ) => void;
112
122
  onLinkDetected?: (e: OnLinkDetected) => void;
113
123
  onMentionDetected?: (e: OnMentionDetected) => void;
114
124
  onStartMention?: (indicator: string) => void;
@@ -117,6 +127,7 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
117
127
  onChangeSelection?: (e: NativeSyntheticEvent<OnChangeSelectionEvent>) => void;
118
128
  onKeyPress?: (e: NativeSyntheticEvent<OnKeyPressEvent>) => void;
119
129
  onPasteImages?: (e: NativeSyntheticEvent<OnPasteImagesEvent>) => void;
130
+ contextMenuItems?: ContextMenuItem[];
120
131
  /**
121
132
  * If true, Android will use experimental synchronous events.
122
133
  * This will prevent from input flickering when updating component size.
@@ -125,6 +136,14 @@ export interface EnrichedTextInputProps extends Omit<ViewProps, 'children'> {
125
136
  * Disabled by default.
126
137
  */
127
138
  androidExperimentalSynchronousEvents?: boolean;
139
+ /**
140
+ * If true, external HTML (e.g. from Google Docs, Word, web pages) will be
141
+ * normalized through the HTML normalizer before being applied.
142
+ * This converts arbitrary HTML into the canonical tag subset that the enriched
143
+ * parser understands.
144
+ * Disabled by default.
145
+ */
146
+ useHtmlNormalizer?: boolean;
128
147
  }
129
148
 
130
149
  const warnMentionIndicators = (indicator: string) => {
@@ -159,7 +178,6 @@ export const EnrichedTextInput = ({
159
178
  onChangeText,
160
179
  onChangeHtml,
161
180
  onChangeState,
162
- onChangeStateDeprecated,
163
181
  onLinkDetected,
164
182
  onMentionDetected,
165
183
  onStartMention,
@@ -167,7 +185,9 @@ export const EnrichedTextInput = ({
167
185
  onEndMention,
168
186
  onChangeSelection,
169
187
  onKeyPress,
188
+ contextMenuItems,
170
189
  androidExperimentalSynchronousEvents = false,
190
+ useHtmlNormalizer = false,
171
191
  scrollEnabled = true,
172
192
  ...rest
173
193
  }: EnrichedTextInputProps) => {
@@ -176,6 +196,50 @@ export const EnrichedTextInput = ({
176
196
  const nextHtmlRequestId = useRef(1);
177
197
  const pendingHtmlRequests = useRef(new Map<number, HtmlRequest>());
178
198
 
199
+ // Store onPress callbacks in a ref so native only receives serializable data
200
+ const contextMenuCallbacksRef = useRef<
201
+ Map<string, ContextMenuItem['onPress']>
202
+ >(new Map());
203
+
204
+ useEffect(() => {
205
+ const callbacksMap = new Map<string, ContextMenuItem['onPress']>();
206
+ if (contextMenuItems) {
207
+ for (const item of contextMenuItems) {
208
+ callbacksMap.set(item.text, item.onPress);
209
+ }
210
+ }
211
+ contextMenuCallbacksRef.current = callbacksMap;
212
+ }, [contextMenuItems]);
213
+
214
+ const nativeContextMenuItems = useMemo(
215
+ () =>
216
+ contextMenuItems
217
+ ?.filter((item) => item.visible !== false)
218
+ .map((item) => ({
219
+ text: item.text,
220
+ })),
221
+ [contextMenuItems]
222
+ );
223
+
224
+ const handleContextMenuItemPress = useCallback(
225
+ (e: NativeSyntheticEvent<OnContextMenuItemPressEvent>) => {
226
+ const {
227
+ itemText,
228
+ selectedText,
229
+ selectionStart,
230
+ selectionEnd,
231
+ styleState,
232
+ } = e.nativeEvent;
233
+ const callback = contextMenuCallbacksRef.current.get(itemText);
234
+ callback?.({
235
+ text: selectedText,
236
+ selection: { start: selectionStart, end: selectionEnd },
237
+ styleState,
238
+ });
239
+ },
240
+ []
241
+ );
242
+
179
243
  useEffect(() => {
180
244
  const pendingRequests = pendingHtmlRequests.current;
181
245
  return () => {
@@ -284,6 +348,9 @@ export const EnrichedTextInput = ({
284
348
  setLink: (start: number, end: number, text: string, url: string) => {
285
349
  Commands.addLink(nullthrows(nativeRef.current), start, end, text, url);
286
350
  },
351
+ removeLink: (start: number, end: number) => {
352
+ Commands.removeLink(nullthrows(nativeRef.current), start, end);
353
+ },
287
354
  setImage: (uri: string, width: number, height: number) => {
288
355
  Commands.addImage(nullthrows(nativeRef.current), uri, width, height);
289
356
  },
@@ -358,37 +425,6 @@ export const EnrichedTextInput = ({
358
425
  pendingHtmlRequests.current.delete(requestId);
359
426
  };
360
427
 
361
- const onChangeStateWithDeprecated = (
362
- e: NativeSyntheticEvent<OnChangeStateEvent>
363
- ) => {
364
- onChangeState?.(e);
365
- // TODO: remove in 0.5.0 release
366
- onChangeStateDeprecated?.({
367
- ...e,
368
- nativeEvent: {
369
- isBold: e.nativeEvent.bold.isActive,
370
- isItalic: e.nativeEvent.italic.isActive,
371
- isUnderline: e.nativeEvent.underline.isActive,
372
- isStrikeThrough: e.nativeEvent.strikeThrough.isActive,
373
- isInlineCode: e.nativeEvent.inlineCode.isActive,
374
- isH1: e.nativeEvent.h1.isActive,
375
- isH2: e.nativeEvent.h2.isActive,
376
- isH3: e.nativeEvent.h3.isActive,
377
- isH4: e.nativeEvent.h4.isActive,
378
- isH5: e.nativeEvent.h5.isActive,
379
- isH6: e.nativeEvent.h6.isActive,
380
- isCodeBlock: e.nativeEvent.codeBlock.isActive,
381
- isBlockQuote: e.nativeEvent.blockQuote.isActive,
382
- isOrderedList: e.nativeEvent.orderedList.isActive,
383
- isUnorderedList: e.nativeEvent.unorderedList.isActive,
384
- isCheckboxList: e.nativeEvent.checkboxList.isActive,
385
- isLink: e.nativeEvent.link.isActive,
386
- isImage: e.nativeEvent.image.isActive,
387
- isMention: e.nativeEvent.mention.isActive,
388
- },
389
- });
390
- };
391
-
392
428
  return (
393
429
  <EnrichedTextInputNativeComponent
394
430
  ref={nativeRef}
@@ -410,16 +446,19 @@ export const EnrichedTextInput = ({
410
446
  onChangeHtml={onChangeHtml}
411
447
  isOnChangeHtmlSet={onChangeHtml !== undefined}
412
448
  isOnChangeTextSet={onChangeText !== undefined}
413
- onChangeState={onChangeStateWithDeprecated}
449
+ onChangeState={onChangeState}
414
450
  onLinkDetected={handleLinkDetected}
415
451
  onMentionDetected={handleMentionDetected}
416
452
  onMention={handleMentionEvent}
417
453
  onChangeSelection={onChangeSelection}
418
454
  onRequestHtmlResult={handleRequestHtmlResult}
419
455
  onInputKeyPress={onKeyPress}
456
+ contextMenuItems={nativeContextMenuItems}
457
+ onContextMenuItemPress={handleContextMenuItemPress}
420
458
  androidExperimentalSynchronousEvents={
421
459
  androidExperimentalSynchronousEvents
422
460
  }
461
+ useHtmlNormalizer={useHtmlNormalizer}
423
462
  scrollEnabled={scrollEnabled}
424
463
  {...rest}
425
464
  />
package/src/index.tsx CHANGED
@@ -3,7 +3,6 @@ export type {
3
3
  OnChangeTextEvent,
4
4
  OnChangeHtmlEvent,
5
5
  OnChangeStateEvent,
6
- OnChangeStateDeprecatedEvent,
7
6
  OnLinkDetected,
8
7
  OnMentionDetected,
9
8
  OnChangeSelectionEvent,
@@ -124,28 +124,6 @@ export interface OnChangeStateEvent {
124
124
  };
125
125
  }
126
126
 
127
- export interface OnChangeStateDeprecatedEvent {
128
- isBold: boolean;
129
- isItalic: boolean;
130
- isUnderline: boolean;
131
- isStrikeThrough: boolean;
132
- isInlineCode: boolean;
133
- isH1: boolean;
134
- isH2: boolean;
135
- isH3: boolean;
136
- isH4: boolean;
137
- isH5: boolean;
138
- isH6: boolean;
139
- isCodeBlock: boolean;
140
- isBlockQuote: boolean;
141
- isOrderedList: boolean;
142
- isUnorderedList: boolean;
143
- isCheckboxList: boolean;
144
- isLink: boolean;
145
- isImage: boolean;
146
- isMention: boolean;
147
- }
148
-
149
127
  export interface OnLinkDetected {
150
128
  text: string;
151
129
  url: string;
@@ -185,6 +163,114 @@ export interface OnKeyPressEvent {
185
163
  key: string;
186
164
  }
187
165
 
166
+ export interface ContextMenuItemConfig {
167
+ text: string;
168
+ }
169
+
170
+ export interface OnContextMenuItemPressEvent {
171
+ itemText: string;
172
+ selectedText: string;
173
+ selectionStart: Int32;
174
+ selectionEnd: Int32;
175
+ styleState: {
176
+ bold: {
177
+ isActive: boolean;
178
+ isConflicting: boolean;
179
+ isBlocking: boolean;
180
+ };
181
+ italic: {
182
+ isActive: boolean;
183
+ isConflicting: boolean;
184
+ isBlocking: boolean;
185
+ };
186
+ underline: {
187
+ isActive: boolean;
188
+ isConflicting: boolean;
189
+ isBlocking: boolean;
190
+ };
191
+ strikeThrough: {
192
+ isActive: boolean;
193
+ isConflicting: boolean;
194
+ isBlocking: boolean;
195
+ };
196
+ inlineCode: {
197
+ isActive: boolean;
198
+ isConflicting: boolean;
199
+ isBlocking: boolean;
200
+ };
201
+ h1: {
202
+ isActive: boolean;
203
+ isConflicting: boolean;
204
+ isBlocking: boolean;
205
+ };
206
+ h2: {
207
+ isActive: boolean;
208
+ isConflicting: boolean;
209
+ isBlocking: boolean;
210
+ };
211
+ h3: {
212
+ isActive: boolean;
213
+ isConflicting: boolean;
214
+ isBlocking: boolean;
215
+ };
216
+ h4: {
217
+ isActive: boolean;
218
+ isConflicting: boolean;
219
+ isBlocking: boolean;
220
+ };
221
+ h5: {
222
+ isActive: boolean;
223
+ isConflicting: boolean;
224
+ isBlocking: boolean;
225
+ };
226
+ h6: {
227
+ isActive: boolean;
228
+ isConflicting: boolean;
229
+ isBlocking: boolean;
230
+ };
231
+ codeBlock: {
232
+ isActive: boolean;
233
+ isConflicting: boolean;
234
+ isBlocking: boolean;
235
+ };
236
+ blockQuote: {
237
+ isActive: boolean;
238
+ isConflicting: boolean;
239
+ isBlocking: boolean;
240
+ };
241
+ orderedList: {
242
+ isActive: boolean;
243
+ isConflicting: boolean;
244
+ isBlocking: boolean;
245
+ };
246
+ unorderedList: {
247
+ isActive: boolean;
248
+ isConflicting: boolean;
249
+ isBlocking: boolean;
250
+ };
251
+ link: {
252
+ isActive: boolean;
253
+ isConflicting: boolean;
254
+ isBlocking: boolean;
255
+ };
256
+ image: {
257
+ isActive: boolean;
258
+ isConflicting: boolean;
259
+ isBlocking: boolean;
260
+ };
261
+ mention: {
262
+ isActive: boolean;
263
+ isConflicting: boolean;
264
+ isBlocking: boolean;
265
+ };
266
+ checkboxList: {
267
+ isActive: boolean;
268
+ isConflicting: boolean;
269
+ isBlocking: boolean;
270
+ };
271
+ };
272
+ }
273
+
188
274
  interface TargetedEvent {
189
275
  target: Int32;
190
276
  }
@@ -273,6 +359,7 @@ export interface NativeProps extends ViewProps {
273
359
  htmlStyle?: HtmlStyleInternal;
274
360
  scrollEnabled?: boolean;
275
361
  linkRegex?: LinkNativeRegex;
362
+ contextMenuItems?: ReadonlyArray<Readonly<ContextMenuItemConfig>>;
276
363
 
277
364
  // event callbacks
278
365
  onInputFocus?: DirectEventHandler<TargetedEvent>;
@@ -287,11 +374,13 @@ export interface NativeProps extends ViewProps {
287
374
  onRequestHtmlResult?: DirectEventHandler<OnRequestHtmlResultEvent>;
288
375
  onInputKeyPress?: DirectEventHandler<OnKeyPressEvent>;
289
376
  onPasteImages?: DirectEventHandler<OnPasteImagesEvent>;
377
+ onContextMenuItemPress?: DirectEventHandler<OnContextMenuItemPressEvent>;
290
378
 
291
379
  // Style related props - used for generating proper setters in component's manager
292
380
  // These should not be passed as regular props
293
381
  color?: ColorValue;
294
382
  fontSize?: Float;
383
+ lineHeight?: Float;
295
384
  fontFamily?: string;
296
385
  fontWeight?: string;
297
386
  fontStyle?: string;
@@ -303,6 +392,7 @@ export interface NativeProps extends ViewProps {
303
392
 
304
393
  // Experimental
305
394
  androidExperimentalSynchronousEvents: boolean;
395
+ useHtmlNormalizer: boolean;
306
396
  }
307
397
 
308
398
  type ComponentType = HostComponent<NativeProps>;
@@ -345,6 +435,11 @@ interface NativeCommands {
345
435
  text: string,
346
436
  url: string
347
437
  ) => void;
438
+ removeLink: (
439
+ viewRef: React.ElementRef<ComponentType>,
440
+ start: Int32,
441
+ end: Int32
442
+ ) => void;
348
443
  addImage: (
349
444
  viewRef: React.ElementRef<ComponentType>,
350
445
  uri: string,
@@ -393,6 +488,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
393
488
  'toggleUnorderedList',
394
489
  'toggleCheckboxList',
395
490
  'addLink',
491
+ 'removeLink',
396
492
  'addImage',
397
493
  'startMention',
398
494
  'addMention',