react-native-typerich 0.1.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 (74) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +37 -0
  3. package/TypeRichTextInput.podspec +20 -0
  4. package/android/build.gradle +99 -0
  5. package/android/generated/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/TypeRichTextInputViewManagerDelegate.java +100 -0
  6. package/android/generated/android/app/build/generated/source/codegen/java/com/facebook/react/viewmanagers/TypeRichTextInputViewManagerInterface.java +38 -0
  7. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/ComponentDescriptors.cpp +22 -0
  8. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/ComponentDescriptors.h +24 -0
  9. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/EventEmitters.cpp +70 -0
  10. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/EventEmitters.h +59 -0
  11. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/Props.cpp +132 -0
  12. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/Props.h +51 -0
  13. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/ShadowNodes.cpp +17 -0
  14. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/ShadowNodes.h +23 -0
  15. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/States.cpp +16 -0
  16. package/android/generated/android/app/build/generated/source/codegen/jni/react/renderer/components/TypeRichTextInputViewSpec/States.h +20 -0
  17. package/android/gradle.properties +5 -0
  18. package/android/src/main/AndroidManifest.xml +2 -0
  19. package/android/src/main/AndroidManifestNew.xml +2 -0
  20. package/android/src/main/java/com/typerich/MeasurementStore.kt +148 -0
  21. package/android/src/main/java/com/typerich/TypeRichTextInputView.kt +503 -0
  22. package/android/src/main/java/com/typerich/TypeRichTextInputViewLayoutManager.kt +30 -0
  23. package/android/src/main/java/com/typerich/TypeRichTextInputViewManager.kt +188 -0
  24. package/android/src/main/java/com/typerich/TypeRichTextInputViewPackage.kt +19 -0
  25. package/android/src/main/java/com/typerich/events/OnChangeSelectionEvent.kt +29 -0
  26. package/android/src/main/java/com/typerich/events/OnChangeTextEvent.kt +35 -0
  27. package/android/src/main/java/com/typerich/events/OnInputBlurEvent.kt +27 -0
  28. package/android/src/main/java/com/typerich/events/OnInputFocusEvent.kt +27 -0
  29. package/android/src/main/java/com/typerich/events/OnPasteImageEvent.kt +45 -0
  30. package/android/src/main/new_arch/CMakeLists.txt +73 -0
  31. package/android/src/main/new_arch/TypeRichTextInputViewSpec.cpp +22 -0
  32. package/android/src/main/new_arch/TypeRichTextInputViewSpec.h +26 -0
  33. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewComponentDescriptor.h +36 -0
  34. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewMeasurementManager.cpp +83 -0
  35. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewMeasurementManager.h +25 -0
  36. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewShadowNode.cpp +132 -0
  37. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewShadowNode.h +54 -0
  38. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewState.cpp +9 -0
  39. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/TypeRichTextInputViewState.h +28 -0
  40. package/android/src/main/new_arch/react/renderer/components/TypeRichTextInputView/conversions.h +21 -0
  41. package/ios/TypeRichTextInputView.h +14 -0
  42. package/ios/TypeRichTextInputView.mm +71 -0
  43. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/ComponentDescriptors.cpp +22 -0
  44. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/ComponentDescriptors.h +24 -0
  45. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/EventEmitters.cpp +70 -0
  46. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/EventEmitters.h +59 -0
  47. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/Props.cpp +132 -0
  48. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/Props.h +51 -0
  49. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/RCTComponentViewHelpers.h +80 -0
  50. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/ShadowNodes.cpp +17 -0
  51. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/ShadowNodes.h +23 -0
  52. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/States.cpp +16 -0
  53. package/ios/generated/build/generated/ios/react/renderer/components/TypeRichTextInputViewSpec/States.h +20 -0
  54. package/lib/module/TypeRichTextInput.js +50 -0
  55. package/lib/module/TypeRichTextInput.js.map +1 -0
  56. package/lib/module/TypeRichTextInputNativeComponent.ts +92 -0
  57. package/lib/module/index.js +5 -0
  58. package/lib/module/index.js.map +1 -0
  59. package/lib/module/package.json +1 -0
  60. package/lib/module/types/react-native-codegen.d.js +2 -0
  61. package/lib/module/types/react-native-codegen.d.js.map +1 -0
  62. package/lib/typescript/package.json +1 -0
  63. package/lib/typescript/src/TypeRichTextInput.d.ts +35 -0
  64. package/lib/typescript/src/TypeRichTextInput.d.ts.map +1 -0
  65. package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts +57 -0
  66. package/lib/typescript/src/TypeRichTextInputNativeComponent.d.ts.map +1 -0
  67. package/lib/typescript/src/index.d.ts +4 -0
  68. package/lib/typescript/src/index.d.ts.map +1 -0
  69. package/package.json +180 -0
  70. package/react-native.config.js +13 -0
  71. package/src/TypeRichTextInput.tsx +115 -0
  72. package/src/TypeRichTextInputNativeComponent.ts +92 -0
  73. package/src/index.tsx +6 -0
  74. package/src/types/react-native-codegen.d.ts +11 -0
package/LICENSE ADDED
@@ -0,0 +1,28 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Software Mansion
4
+ Copyright (c) 2025 Divyanshu Patil
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software, including any modified versions
15
+ of this Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
24
+
25
+ NOTE:
26
+ This project includes modifications to the original 'react-native-enriched'
27
+ Text Input component created by Software Mansion, which was released
28
+ under the MIT License.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+ # react-native-type-rich-text-input
2
+
3
+ Textinput replacement
4
+
5
+ ## Installation
6
+
7
+
8
+ ```sh
9
+ npm install react-native-type-rich-text-input
10
+ ```
11
+
12
+
13
+ ## Usage
14
+
15
+
16
+ ```js
17
+ import { TypeRichTextInputView } from "react-native-type-rich-text-input";
18
+
19
+ // ...
20
+
21
+ <TypeRichTextInputView color="tomato" />
22
+ ```
23
+
24
+
25
+ ## Contributing
26
+
27
+ - [Development workflow](CONTRIBUTING.md#development-workflow)
28
+ - [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)
29
+ - [Code of conduct](CODE_OF_CONDUCT.md)
30
+
31
+ ## License
32
+
33
+ MIT
34
+
35
+ ---
36
+
37
+ Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -0,0 +1,20 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "TypeRichTextInput"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ s.platforms = { :ios => min_ios_version_supported }
14
+ s.source = { :git => "https://github.com/divyanshu-patil/react-native-typerich.git", :tag => "#{s.version}" }
15
+
16
+ s.source_files = "ios/**/*.{h,m,mm,swift,cpp}"
17
+ s.private_header_files = "ios/**/*.h"
18
+
19
+ install_modules_dependencies(s)
20
+ end
@@ -0,0 +1,99 @@
1
+ buildscript {
2
+ ext.getExtOrDefault = {name ->
3
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['TypeRichTextInput_' + name]
4
+ }
5
+
6
+ repositories {
7
+ google()
8
+ mavenCentral()
9
+ }
10
+
11
+ dependencies {
12
+ classpath "com.android.tools.build:gradle:8.7.2"
13
+ // noinspection DifferentKotlinGradleVersion
14
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
15
+ }
16
+ }
17
+
18
+
19
+ apply plugin: "com.android.library"
20
+ apply plugin: "kotlin-android"
21
+
22
+ apply plugin: "com.facebook.react"
23
+
24
+ def getExtOrIntegerDefault(name) {
25
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["TypeRichTextInput_" + name]).toInteger()
26
+ }
27
+
28
+ def supportsNamespace() {
29
+ def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
30
+ def major = parsed[0].toInteger()
31
+ def minor = parsed[1].toInteger()
32
+
33
+ // Namespace support was added in 7.3.0
34
+ return (major == 7 && minor >= 3) || major >= 8
35
+ }
36
+
37
+ android {
38
+ if (supportsNamespace()) {
39
+ namespace "com.typerich"
40
+
41
+ sourceSets {
42
+ main {
43
+ manifest.srcFile "src/main/AndroidManifestNew.xml"
44
+ }
45
+ }
46
+ }
47
+
48
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
49
+
50
+ defaultConfig {
51
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
52
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
53
+ }
54
+
55
+ buildFeatures {
56
+ buildConfig true
57
+ }
58
+
59
+ buildTypes {
60
+ release {
61
+ minifyEnabled false
62
+ }
63
+ }
64
+
65
+ lintOptions {
66
+ disable "GradleCompatible"
67
+ }
68
+
69
+ compileOptions {
70
+ sourceCompatibility JavaVersion.VERSION_1_8
71
+ targetCompatibility JavaVersion.VERSION_1_8
72
+ }
73
+
74
+ sourceSets {
75
+ main {
76
+ java.srcDirs += [
77
+ "generated/java",
78
+ "generated/jni"
79
+ ]
80
+ }
81
+ }
82
+ }
83
+
84
+ repositories {
85
+ mavenCentral()
86
+ google()
87
+ }
88
+
89
+ def kotlin_version = getExtOrDefault("kotlinVersion")
90
+
91
+ dependencies {
92
+ implementation "com.facebook.react:react-android"
93
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
94
+ }
95
+
96
+ react {
97
+ jsRootDir = file("../src/")
98
+ codegenDir= file("..")
99
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.ColorPropConverter;
15
+ import com.facebook.react.bridge.ReadableArray;
16
+ import com.facebook.react.uimanager.BaseViewManager;
17
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
18
+ import com.facebook.react.uimanager.LayoutShadowNode;
19
+
20
+ public class TypeRichTextInputViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & TypeRichTextInputViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
21
+ public TypeRichTextInputViewManagerDelegate(U viewManager) {
22
+ super(viewManager);
23
+ }
24
+ @Override
25
+ public void setProperty(T view, String propName, @Nullable Object value) {
26
+ switch (propName) {
27
+ case "autoFocus":
28
+ mViewManager.setAutoFocus(view, value == null ? false : (boolean) value);
29
+ break;
30
+ case "editable":
31
+ mViewManager.setEditable(view, value == null ? false : (boolean) value);
32
+ break;
33
+ case "defaultValue":
34
+ mViewManager.setDefaultValue(view, value == null ? null : (String) value);
35
+ break;
36
+ case "placeholder":
37
+ mViewManager.setPlaceholder(view, value == null ? null : (String) value);
38
+ break;
39
+ case "placeholderTextColor":
40
+ mViewManager.setPlaceholderTextColor(view, ColorPropConverter.getColor(value, view.getContext()));
41
+ break;
42
+ case "cursorColor":
43
+ mViewManager.setCursorColor(view, ColorPropConverter.getColor(value, view.getContext()));
44
+ break;
45
+ case "selectionColor":
46
+ mViewManager.setSelectionColor(view, ColorPropConverter.getColor(value, view.getContext()));
47
+ break;
48
+ case "autoCapitalize":
49
+ mViewManager.setAutoCapitalize(view, value == null ? null : (String) value);
50
+ break;
51
+ case "scrollEnabled":
52
+ mViewManager.setScrollEnabled(view, value == null ? false : (boolean) value);
53
+ break;
54
+ case "multiline":
55
+ mViewManager.setMultiline(view, value == null ? false : (boolean) value);
56
+ break;
57
+ case "numberOfLines":
58
+ mViewManager.setNumberOfLines(view, value == null ? 0 : ((Double) value).intValue());
59
+ break;
60
+ case "secureTextEntry":
61
+ mViewManager.setSecureTextEntry(view, value == null ? false : (boolean) value);
62
+ break;
63
+ case "color":
64
+ mViewManager.setColor(view, ColorPropConverter.getColor(value, view.getContext()));
65
+ break;
66
+ case "fontSize":
67
+ mViewManager.setFontSize(view, value == null ? 0f : ((Double) value).floatValue());
68
+ break;
69
+ case "fontFamily":
70
+ mViewManager.setFontFamily(view, value == null ? null : (String) value);
71
+ break;
72
+ case "fontWeight":
73
+ mViewManager.setFontWeight(view, value == null ? null : (String) value);
74
+ break;
75
+ case "fontStyle":
76
+ mViewManager.setFontStyle(view, value == null ? null : (String) value);
77
+ break;
78
+ case "androidExperimentalSynchronousEvents":
79
+ mViewManager.setAndroidExperimentalSynchronousEvents(view, value == null ? false : (boolean) value);
80
+ break;
81
+ default:
82
+ super.setProperty(view, propName, value);
83
+ }
84
+ }
85
+
86
+ @Override
87
+ public void receiveCommand(T view, String commandName, ReadableArray args) {
88
+ switch (commandName) {
89
+ case "focus":
90
+ mViewManager.focus(view);
91
+ break;
92
+ case "blur":
93
+ mViewManager.blur(view);
94
+ break;
95
+ case "setValue":
96
+ mViewManager.setValue(view, args.getString(0));
97
+ break;
98
+ }
99
+ }
100
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
15
+
16
+ public interface TypeRichTextInputViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
+ void setAutoFocus(T view, boolean value);
18
+ void setEditable(T view, boolean value);
19
+ void setDefaultValue(T view, @Nullable String value);
20
+ void setPlaceholder(T view, @Nullable String value);
21
+ void setPlaceholderTextColor(T view, @Nullable Integer value);
22
+ void setCursorColor(T view, @Nullable Integer value);
23
+ void setSelectionColor(T view, @Nullable Integer value);
24
+ void setAutoCapitalize(T view, @Nullable String value);
25
+ void setScrollEnabled(T view, boolean value);
26
+ void setMultiline(T view, boolean value);
27
+ void setNumberOfLines(T view, int value);
28
+ void setSecureTextEntry(T view, boolean value);
29
+ void setColor(T view, @Nullable Integer value);
30
+ void setFontSize(T view, float value);
31
+ void setFontFamily(T view, @Nullable String value);
32
+ void setFontWeight(T view, @Nullable String value);
33
+ void setFontStyle(T view, @Nullable String value);
34
+ void setAndroidExperimentalSynchronousEvents(T view, boolean value);
35
+ void focus(T view);
36
+ void blur(T view);
37
+ void setValue(T view, String text);
38
+ }
@@ -0,0 +1,22 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateComponentDescriptorCpp.js
9
+ */
10
+
11
+ #include <react/renderer/components/TypeRichTextInputViewSpec/ComponentDescriptors.h>
12
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
13
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
14
+
15
+ namespace facebook::react {
16
+
17
+ void TypeRichTextInputViewSpec_registerComponentDescriptorsFromCodegen(
18
+ std::shared_ptr<const ComponentDescriptorProviderRegistry> registry) {
19
+
20
+ }
21
+
22
+ } // namespace facebook::react
@@ -0,0 +1,24 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateComponentDescriptorH.js
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include <react/renderer/components/TypeRichTextInputViewSpec/ShadowNodes.h>
14
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
15
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
16
+
17
+ namespace facebook::react {
18
+
19
+
20
+
21
+ void TypeRichTextInputViewSpec_registerComponentDescriptorsFromCodegen(
22
+ std::shared_ptr<const ComponentDescriptorProviderRegistry> registry);
23
+
24
+ } // namespace facebook::react
@@ -0,0 +1,70 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateEventEmitterCpp.js
9
+ */
10
+
11
+ #include <react/renderer/components/TypeRichTextInputViewSpec/EventEmitters.h>
12
+
13
+
14
+ namespace facebook::react {
15
+
16
+ void TypeRichTextInputViewEventEmitter::onInputFocus(OnInputFocus event) const {
17
+ dispatchEvent("inputFocus", [](jsi::Runtime &runtime) {
18
+ auto payload = jsi::Object(runtime);
19
+
20
+ return payload;
21
+ });
22
+ }
23
+
24
+
25
+ void TypeRichTextInputViewEventEmitter::onInputBlur(OnInputBlur event) const {
26
+ dispatchEvent("inputBlur", [](jsi::Runtime &runtime) {
27
+ auto payload = jsi::Object(runtime);
28
+
29
+ return payload;
30
+ });
31
+ }
32
+
33
+
34
+ void TypeRichTextInputViewEventEmitter::onChangeText(OnChangeText event) const {
35
+ dispatchEvent("changeText", [event=std::move(event)](jsi::Runtime &runtime) {
36
+ auto payload = jsi::Object(runtime);
37
+ payload.setProperty(runtime, "value", event.value);
38
+ return payload;
39
+ });
40
+ }
41
+
42
+
43
+ void TypeRichTextInputViewEventEmitter::onChangeSelection(OnChangeSelection event) const {
44
+ dispatchEvent("changeSelection", [event=std::move(event)](jsi::Runtime &runtime) {
45
+ auto payload = jsi::Object(runtime);
46
+ payload.setProperty(runtime, "start", event.start);
47
+ payload.setProperty(runtime, "end", event.end);
48
+ payload.setProperty(runtime, "text", event.text);
49
+ return payload;
50
+ });
51
+ }
52
+
53
+
54
+ void TypeRichTextInputViewEventEmitter::onPasteImage(OnPasteImage event) const {
55
+ dispatchEvent("pasteImage", [event=std::move(event)](jsi::Runtime &runtime) {
56
+ auto payload = jsi::Object(runtime);
57
+ payload.setProperty(runtime, "uri", event.uri);
58
+ payload.setProperty(runtime, "type", event.type);
59
+ payload.setProperty(runtime, "fileName", event.fileName);
60
+ payload.setProperty(runtime, "fileSize", event.fileSize);
61
+ {
62
+ auto error = jsi::Object(runtime);
63
+ error.setProperty(runtime, "message", event.error.message);
64
+ payload.setProperty(runtime, "error", error);
65
+ }
66
+ return payload;
67
+ });
68
+ }
69
+
70
+ } // namespace facebook::react
@@ -0,0 +1,59 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateEventEmitterH.js
9
+ */
10
+ #pragma once
11
+
12
+ #include <react/renderer/components/view/ViewEventEmitter.h>
13
+
14
+
15
+ namespace facebook::react {
16
+ class TypeRichTextInputViewEventEmitter : public ViewEventEmitter {
17
+ public:
18
+ using ViewEventEmitter::ViewEventEmitter;
19
+
20
+ struct OnInputFocus {
21
+
22
+ };
23
+
24
+ struct OnInputBlur {
25
+
26
+ };
27
+
28
+ struct OnChangeText {
29
+ std::string value;
30
+ };
31
+
32
+ struct OnChangeSelection {
33
+ int start;
34
+ int end;
35
+ std::string text;
36
+ };
37
+
38
+ struct OnPasteImageError {
39
+ std::string message;
40
+ };
41
+
42
+ struct OnPasteImage {
43
+ std::string uri;
44
+ std::string type;
45
+ std::string fileName;
46
+ double fileSize;
47
+ OnPasteImageError error;
48
+ };
49
+ void onInputFocus(OnInputFocus value) const;
50
+
51
+ void onInputBlur(OnInputBlur value) const;
52
+
53
+ void onChangeText(OnChangeText value) const;
54
+
55
+ void onChangeSelection(OnChangeSelection value) const;
56
+
57
+ void onPasteImage(OnPasteImage value) const;
58
+ };
59
+ } // namespace facebook::react
@@ -0,0 +1,132 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GeneratePropsCpp.js
9
+ */
10
+
11
+ #include <react/renderer/components/TypeRichTextInputViewSpec/Props.h>
12
+ #include <react/renderer/core/PropsParserContext.h>
13
+ #include <react/renderer/core/propsConversions.h>
14
+
15
+ namespace facebook::react {
16
+
17
+ TypeRichTextInputViewProps::TypeRichTextInputViewProps(
18
+ const PropsParserContext &context,
19
+ const TypeRichTextInputViewProps &sourceProps,
20
+ const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
21
+
22
+ autoFocus(convertRawProp(context, rawProps, "autoFocus", sourceProps.autoFocus, {false})),
23
+ editable(convertRawProp(context, rawProps, "editable", sourceProps.editable, {false})),
24
+ defaultValue(convertRawProp(context, rawProps, "defaultValue", sourceProps.defaultValue, {})),
25
+ placeholder(convertRawProp(context, rawProps, "placeholder", sourceProps.placeholder, {})),
26
+ placeholderTextColor(convertRawProp(context, rawProps, "placeholderTextColor", sourceProps.placeholderTextColor, {})),
27
+ cursorColor(convertRawProp(context, rawProps, "cursorColor", sourceProps.cursorColor, {})),
28
+ selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
29
+ autoCapitalize(convertRawProp(context, rawProps, "autoCapitalize", sourceProps.autoCapitalize, {})),
30
+ scrollEnabled(convertRawProp(context, rawProps, "scrollEnabled", sourceProps.scrollEnabled, {false})),
31
+ multiline(convertRawProp(context, rawProps, "multiline", sourceProps.multiline, {false})),
32
+ numberOfLines(convertRawProp(context, rawProps, "numberOfLines", sourceProps.numberOfLines, {0})),
33
+ secureTextEntry(convertRawProp(context, rawProps, "secureTextEntry", sourceProps.secureTextEntry, {false})),
34
+ color(convertRawProp(context, rawProps, "color", sourceProps.color, {})),
35
+ fontSize(convertRawProp(context, rawProps, "fontSize", sourceProps.fontSize, {0.0})),
36
+ fontFamily(convertRawProp(context, rawProps, "fontFamily", sourceProps.fontFamily, {})),
37
+ fontWeight(convertRawProp(context, rawProps, "fontWeight", sourceProps.fontWeight, {})),
38
+ fontStyle(convertRawProp(context, rawProps, "fontStyle", sourceProps.fontStyle, {})),
39
+ androidExperimentalSynchronousEvents(convertRawProp(context, rawProps, "androidExperimentalSynchronousEvents", sourceProps.androidExperimentalSynchronousEvents, {false})) {}
40
+
41
+ #ifdef RN_SERIALIZABLE_STATE
42
+ ComponentName TypeRichTextInputViewProps::getDiffPropsImplementationTarget() const {
43
+ return "TypeRichTextInputView";
44
+ }
45
+
46
+ folly::dynamic TypeRichTextInputViewProps::getDiffProps(
47
+ const Props* prevProps) const {
48
+ static const auto defaultProps = TypeRichTextInputViewProps();
49
+ const TypeRichTextInputViewProps* oldProps = prevProps == nullptr
50
+ ? &defaultProps
51
+ : static_cast<const TypeRichTextInputViewProps*>(prevProps);
52
+ if (this == oldProps) {
53
+ return folly::dynamic::object();
54
+ }
55
+ folly::dynamic result = HostPlatformViewProps::getDiffProps(prevProps);
56
+
57
+ if (autoFocus != oldProps->autoFocus) {
58
+ result["autoFocus"] = autoFocus;
59
+ }
60
+
61
+ if (editable != oldProps->editable) {
62
+ result["editable"] = editable;
63
+ }
64
+
65
+ if (defaultValue != oldProps->defaultValue) {
66
+ result["defaultValue"] = defaultValue;
67
+ }
68
+
69
+ if (placeholder != oldProps->placeholder) {
70
+ result["placeholder"] = placeholder;
71
+ }
72
+
73
+ if (placeholderTextColor != oldProps->placeholderTextColor) {
74
+ result["placeholderTextColor"] = *placeholderTextColor;
75
+ }
76
+
77
+ if (cursorColor != oldProps->cursorColor) {
78
+ result["cursorColor"] = *cursorColor;
79
+ }
80
+
81
+ if (selectionColor != oldProps->selectionColor) {
82
+ result["selectionColor"] = *selectionColor;
83
+ }
84
+
85
+ if (autoCapitalize != oldProps->autoCapitalize) {
86
+ result["autoCapitalize"] = autoCapitalize;
87
+ }
88
+
89
+ if (scrollEnabled != oldProps->scrollEnabled) {
90
+ result["scrollEnabled"] = scrollEnabled;
91
+ }
92
+
93
+ if (multiline != oldProps->multiline) {
94
+ result["multiline"] = multiline;
95
+ }
96
+
97
+ if (numberOfLines != oldProps->numberOfLines) {
98
+ result["numberOfLines"] = numberOfLines;
99
+ }
100
+
101
+ if (secureTextEntry != oldProps->secureTextEntry) {
102
+ result["secureTextEntry"] = secureTextEntry;
103
+ }
104
+
105
+ if (color != oldProps->color) {
106
+ result["color"] = *color;
107
+ }
108
+
109
+ if ((fontSize != oldProps->fontSize) && !(std::isnan(fontSize) && std::isnan(oldProps->fontSize))) {
110
+ result["fontSize"] = fontSize;
111
+ }
112
+
113
+ if (fontFamily != oldProps->fontFamily) {
114
+ result["fontFamily"] = fontFamily;
115
+ }
116
+
117
+ if (fontWeight != oldProps->fontWeight) {
118
+ result["fontWeight"] = fontWeight;
119
+ }
120
+
121
+ if (fontStyle != oldProps->fontStyle) {
122
+ result["fontStyle"] = fontStyle;
123
+ }
124
+
125
+ if (androidExperimentalSynchronousEvents != oldProps->androidExperimentalSynchronousEvents) {
126
+ result["androidExperimentalSynchronousEvents"] = androidExperimentalSynchronousEvents;
127
+ }
128
+ return result;
129
+ }
130
+ #endif
131
+
132
+ } // namespace facebook::react
@@ -0,0 +1,51 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GeneratePropsH.js
9
+ */
10
+ #pragma once
11
+
12
+ #include <react/renderer/components/view/ViewProps.h>
13
+ #include <react/renderer/core/PropsParserContext.h>
14
+ #include <react/renderer/graphics/Color.h>
15
+
16
+ namespace facebook::react {
17
+
18
+ class TypeRichTextInputViewProps final : public ViewProps {
19
+ public:
20
+ TypeRichTextInputViewProps() = default;
21
+ TypeRichTextInputViewProps(const PropsParserContext& context, const TypeRichTextInputViewProps &sourceProps, const RawProps &rawProps);
22
+
23
+ #pragma mark - Props
24
+
25
+ bool autoFocus{false};
26
+ bool editable{false};
27
+ std::string defaultValue{};
28
+ std::string placeholder{};
29
+ SharedColor placeholderTextColor{};
30
+ SharedColor cursorColor{};
31
+ SharedColor selectionColor{};
32
+ std::string autoCapitalize{};
33
+ bool scrollEnabled{false};
34
+ bool multiline{false};
35
+ int numberOfLines{0};
36
+ bool secureTextEntry{false};
37
+ SharedColor color{};
38
+ Float fontSize{0.0};
39
+ std::string fontFamily{};
40
+ std::string fontWeight{};
41
+ std::string fontStyle{};
42
+ bool androidExperimentalSynchronousEvents{false};
43
+
44
+ #ifdef RN_SERIALIZABLE_STATE
45
+ ComponentName getDiffPropsImplementationTarget() const override;
46
+
47
+ folly::dynamic getDiffProps(const Props* prevProps) const override;
48
+ #endif
49
+ };
50
+
51
+ } // namespace facebook::react