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.
- package/README.md +27 -2
- package/ReactNativeEnriched.podspec +5 -1
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +12 -0
- package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +4 -0
- package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
- package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
- package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.cpp +16 -1
- package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.h +46 -0
- package/android/src/main/java/com/swmansion/enriched/common/GumboNormalizer.kt +5 -0
- package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedCheckboxListSpan.kt +3 -2
- package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedUnorderedListSpan.kt +2 -1
- package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +166 -20
- package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputViewManager.kt +32 -0
- package/android/src/main/java/com/swmansion/enriched/textinput/MeasurementStore.kt +19 -2
- package/android/src/main/java/com/swmansion/enriched/textinput/events/OnContextMenuItemPressEvent.kt +35 -0
- package/android/src/main/java/com/swmansion/enriched/textinput/spans/EnrichedLineHeightSpan.kt +44 -0
- package/android/src/main/java/com/swmansion/enriched/textinput/styles/ParametrizedStyles.kt +16 -0
- package/android/src/main/java/com/swmansion/enriched/textinput/utils/EnrichedSpanState.kt +18 -12
- package/android/src/main/new_arch/CMakeLists.txt +9 -13
- package/android/src/main/new_arch/GumboNormalizerJni.cpp +14 -0
- package/android/src/main/new_arch/react/renderer/components/ReactNativeEnrichedSpec/conversions.h +2 -21
- package/cpp/CMakeLists.txt +50 -0
- package/cpp/GumboParser/GumboParser.h +34043 -0
- package/cpp/README.md +59 -0
- package/cpp/parser/GumboNormalizer.c +915 -0
- package/cpp/parser/GumboParser.cpp +16 -0
- package/cpp/parser/GumboParser.hpp +23 -0
- package/cpp/tests/GumboParserTest.cpp +457 -0
- package/ios/EnrichedTextInputView.h +2 -0
- package/ios/EnrichedTextInputView.mm +152 -2
- package/ios/config/InputConfig.h +3 -0
- package/ios/config/InputConfig.mm +15 -0
- package/ios/extensions/LayoutManagerExtension.mm +34 -11
- package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
- package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
- package/ios/generated/ReactNativeEnrichedSpec/Props.cpp +16 -1
- package/ios/generated/ReactNativeEnrichedSpec/Props.h +46 -0
- package/ios/generated/ReactNativeEnrichedSpec/RCTComponentViewHelpers.h +29 -0
- package/ios/inputParser/InputParser.mm +27 -0
- package/lib/module/EnrichedTextInput.js +43 -30
- package/lib/module/EnrichedTextInput.js.map +1 -1
- package/lib/module/spec/EnrichedTextInputNativeComponent.ts +118 -22
- package/lib/typescript/src/EnrichedTextInput.d.ts +24 -6
- package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts +111 -21
- package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/EnrichedTextInput.tsx +79 -40
- package/src/index.tsx +0 -1
- package/src/spec/EnrichedTextInputNativeComponent.ts +118 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './EnrichedTextInput';
|
|
2
|
-
export type { OnChangeTextEvent, OnChangeHtmlEvent, OnChangeStateEvent,
|
|
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,
|
|
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.
|
|
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={
|
|
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
|
@@ -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',
|