react-native-enriched 0.0.0 → 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 (169) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +869 -0
  3. package/ReactNativeEnriched.podspec +27 -0
  4. package/android/build.gradle +101 -0
  5. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +146 -0
  6. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +55 -0
  7. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/ComponentDescriptors.cpp +22 -0
  8. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/ComponentDescriptors.h +24 -0
  9. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.cpp +118 -0
  10. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/EventEmitters.h +95 -0
  11. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.cpp +128 -0
  12. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/Props.h +577 -0
  13. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/ShadowNodes.cpp +17 -0
  14. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/ShadowNodes.h +23 -0
  15. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/States.cpp +16 -0
  16. package/android/generated/jni/react/renderer/components/RNEnrichedTextInputViewSpec/States.h +20 -0
  17. package/android/gradle.properties +5 -0
  18. package/android/src/main/AndroidManifest.xml +3 -0
  19. package/android/src/main/AndroidManifestNew.xml +2 -0
  20. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputView.kt +535 -0
  21. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewLayoutManager.kt +64 -0
  22. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewManager.kt +292 -0
  23. package/android/src/main/java/com/swmansion/enriched/EnrichedTextInputViewPackage.kt +19 -0
  24. package/android/src/main/java/com/swmansion/enriched/events/MentionHandler.kt +40 -0
  25. package/android/src/main/java/com/swmansion/enriched/events/OnChangeHtmlEvent.kt +28 -0
  26. package/android/src/main/java/com/swmansion/enriched/events/OnChangeSelectionEvent.kt +29 -0
  27. package/android/src/main/java/com/swmansion/enriched/events/OnChangeStateEvent.kt +24 -0
  28. package/android/src/main/java/com/swmansion/enriched/events/OnChangeTextEvent.kt +30 -0
  29. package/android/src/main/java/com/swmansion/enriched/events/OnInputBlurEvent.kt +27 -0
  30. package/android/src/main/java/com/swmansion/enriched/events/OnInputFocusEvent.kt +27 -0
  31. package/android/src/main/java/com/swmansion/enriched/events/OnLinkDetectedEvent.kt +30 -0
  32. package/android/src/main/java/com/swmansion/enriched/events/OnMentionDetectedEvent.kt +29 -0
  33. package/android/src/main/java/com/swmansion/enriched/events/OnMentionEvent.kt +33 -0
  34. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBlockQuoteSpan.kt +34 -0
  35. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedBoldSpan.kt +10 -0
  36. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedCodeBlockSpan.kt +38 -0
  37. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH1Span.kt +17 -0
  38. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH2Span.kt +17 -0
  39. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedH3Span.kt +17 -0
  40. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedImageSpan.kt +41 -0
  41. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedInlineCodeSpan.kt +16 -0
  42. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedItalicSpan.kt +10 -0
  43. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedLinkSpan.kt +24 -0
  44. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedMentionSpan.kt +36 -0
  45. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedOrderedListSpan.kt +71 -0
  46. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedSpans.kt +111 -0
  47. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedStrikeThroughSpan.kt +9 -0
  48. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnderlineSpan.kt +9 -0
  49. package/android/src/main/java/com/swmansion/enriched/spans/EnrichedUnorderedListSpan.kt +49 -0
  50. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedBlockSpan.kt +4 -0
  51. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedHeadingSpan.kt +4 -0
  52. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedInlineSpan.kt +4 -0
  53. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedParagraphSpan.kt +4 -0
  54. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedSpan.kt +4 -0
  55. package/android/src/main/java/com/swmansion/enriched/spans/interfaces/EnrichedZeroWidthSpaceSpan.kt +5 -0
  56. package/android/src/main/java/com/swmansion/enriched/styles/HtmlStyle.kt +227 -0
  57. package/android/src/main/java/com/swmansion/enriched/styles/InlineStyles.kt +146 -0
  58. package/android/src/main/java/com/swmansion/enriched/styles/ListStyles.kt +173 -0
  59. package/android/src/main/java/com/swmansion/enriched/styles/ParagraphStyles.kt +186 -0
  60. package/android/src/main/java/com/swmansion/enriched/styles/ParametrizedStyles.kt +223 -0
  61. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedParser.java +857 -0
  62. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSelection.kt +285 -0
  63. package/android/src/main/java/com/swmansion/enriched/utils/EnrichedSpanState.kt +204 -0
  64. package/android/src/main/java/com/swmansion/enriched/utils/Utils.kt +91 -0
  65. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedSpanWatcher.kt +73 -0
  66. package/android/src/main/java/com/swmansion/enriched/watchers/EnrichedTextWatcher.kt +51 -0
  67. package/android/src/main/new_arch/CMakeLists.txt +56 -0
  68. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.cpp +22 -0
  69. package/android/src/main/new_arch/RNEnrichedTextInputViewSpec.h +26 -0
  70. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputComponentDescriptor.h +35 -0
  71. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.cpp +51 -0
  72. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputMeasurementManager.h +26 -0
  73. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.cpp +34 -0
  74. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputShadowNode.h +54 -0
  75. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.cpp +9 -0
  76. package/android/src/main/new_arch/react/renderer/components/RNEnrichedTextInputViewSpec/EnrichedTextInputState.h +25 -0
  77. package/ios/EnrichedTextInputView.h +33 -0
  78. package/ios/EnrichedTextInputView.mm +1190 -0
  79. package/ios/EnrichedTextInputViewManager.mm +13 -0
  80. package/ios/config/InputConfig.h +67 -0
  81. package/ios/config/InputConfig.mm +382 -0
  82. package/ios/generated/RNEnrichedTextInputViewSpec/ComponentDescriptors.cpp +22 -0
  83. package/ios/generated/RNEnrichedTextInputViewSpec/ComponentDescriptors.h +24 -0
  84. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.cpp +118 -0
  85. package/ios/generated/RNEnrichedTextInputViewSpec/EventEmitters.h +95 -0
  86. package/ios/generated/RNEnrichedTextInputViewSpec/Props.cpp +128 -0
  87. package/ios/generated/RNEnrichedTextInputViewSpec/Props.h +577 -0
  88. package/ios/generated/RNEnrichedTextInputViewSpec/RCTComponentViewHelpers.h +384 -0
  89. package/ios/generated/RNEnrichedTextInputViewSpec/ShadowNodes.cpp +17 -0
  90. package/ios/generated/RNEnrichedTextInputViewSpec/ShadowNodes.h +23 -0
  91. package/ios/generated/RNEnrichedTextInputViewSpec/States.cpp +16 -0
  92. package/ios/generated/RNEnrichedTextInputViewSpec/States.h +20 -0
  93. package/ios/inputParser/InputParser.h +11 -0
  94. package/ios/inputParser/InputParser.mm +669 -0
  95. package/ios/inputTextView/InputTextView.h +6 -0
  96. package/ios/inputTextView/InputTextView.mm +115 -0
  97. package/ios/internals/EnrichedTextInputViewComponentDescriptor.h +17 -0
  98. package/ios/internals/EnrichedTextInputViewShadowNode.h +40 -0
  99. package/ios/internals/EnrichedTextInputViewShadowNode.mm +83 -0
  100. package/ios/internals/EnrichedTextInputViewState.cpp +10 -0
  101. package/ios/internals/EnrichedTextInputViewState.h +20 -0
  102. package/ios/styles/BlockQuoteStyle.mm +248 -0
  103. package/ios/styles/BoldStyle.mm +122 -0
  104. package/ios/styles/H1Style.mm +10 -0
  105. package/ios/styles/H2Style.mm +10 -0
  106. package/ios/styles/H3Style.mm +10 -0
  107. package/ios/styles/HeadingStyleBase.mm +144 -0
  108. package/ios/styles/InlineCodeStyle.mm +163 -0
  109. package/ios/styles/ItalicStyle.mm +110 -0
  110. package/ios/styles/LinkStyle.mm +463 -0
  111. package/ios/styles/MentionStyle.mm +476 -0
  112. package/ios/styles/OrderedListStyle.mm +225 -0
  113. package/ios/styles/StrikethroughStyle.mm +80 -0
  114. package/ios/styles/UnderlineStyle.mm +112 -0
  115. package/ios/styles/UnorderedListStyle.mm +225 -0
  116. package/ios/utils/BaseStyleProtocol.h +16 -0
  117. package/ios/utils/ColorExtension.h +6 -0
  118. package/ios/utils/ColorExtension.mm +27 -0
  119. package/ios/utils/FontExtension.h +13 -0
  120. package/ios/utils/FontExtension.mm +91 -0
  121. package/ios/utils/LayoutManagerExtension.h +6 -0
  122. package/ios/utils/LayoutManagerExtension.mm +171 -0
  123. package/ios/utils/LinkData.h +9 -0
  124. package/ios/utils/LinkData.mm +4 -0
  125. package/ios/utils/MentionParams.h +9 -0
  126. package/ios/utils/MentionParams.mm +4 -0
  127. package/ios/utils/MentionStyleProps.h +13 -0
  128. package/ios/utils/MentionStyleProps.mm +56 -0
  129. package/ios/utils/OccurenceUtils.h +37 -0
  130. package/ios/utils/OccurenceUtils.mm +124 -0
  131. package/ios/utils/ParagraphsUtils.h +7 -0
  132. package/ios/utils/ParagraphsUtils.mm +54 -0
  133. package/ios/utils/StringExtension.h +15 -0
  134. package/ios/utils/StringExtension.mm +57 -0
  135. package/ios/utils/StyleHeaders.h +74 -0
  136. package/ios/utils/StylePair.h +9 -0
  137. package/ios/utils/StylePair.mm +4 -0
  138. package/ios/utils/StyleTypeEnum.h +22 -0
  139. package/ios/utils/TextDecorationLineEnum.h +6 -0
  140. package/ios/utils/TextDecorationLineEnum.mm +4 -0
  141. package/ios/utils/TextInsertionUtils.h +6 -0
  142. package/ios/utils/TextInsertionUtils.mm +48 -0
  143. package/ios/utils/WordsUtils.h +6 -0
  144. package/ios/utils/WordsUtils.mm +88 -0
  145. package/ios/utils/ZeroWidthSpaceUtils.h +7 -0
  146. package/ios/utils/ZeroWidthSpaceUtils.mm +164 -0
  147. package/lib/module/EnrichedTextInput.js +191 -0
  148. package/lib/module/EnrichedTextInput.js.map +1 -0
  149. package/lib/module/EnrichedTextInputNativeComponent.ts +235 -0
  150. package/lib/module/index.js +4 -0
  151. package/lib/module/index.js.map +1 -0
  152. package/lib/module/normalizeHtmlStyle.js +141 -0
  153. package/lib/module/normalizeHtmlStyle.js.map +1 -0
  154. package/lib/module/package.json +1 -0
  155. package/lib/typescript/package.json +1 -0
  156. package/lib/typescript/src/EnrichedTextInput.d.ts +113 -0
  157. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -0
  158. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts +160 -0
  159. package/lib/typescript/src/EnrichedTextInputNativeComponent.d.ts.map +1 -0
  160. package/lib/typescript/src/index.d.ts +3 -0
  161. package/lib/typescript/src/index.d.ts.map +1 -0
  162. package/lib/typescript/src/normalizeHtmlStyle.d.ts +4 -0
  163. package/lib/typescript/src/normalizeHtmlStyle.d.ts.map +1 -0
  164. package/package.json +172 -1
  165. package/react-native.config.js +13 -0
  166. package/src/EnrichedTextInput.tsx +358 -0
  167. package/src/EnrichedTextInputNativeComponent.ts +235 -0
  168. package/src/index.tsx +9 -0
  169. package/src/normalizeHtmlStyle.ts +188 -0
@@ -0,0 +1,128 @@
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 "Props.h"
12
+ #include <folly/dynamic.h>
13
+ #include <react/renderer/core/PropsParserContext.h>
14
+ #include <react/renderer/core/propsConversions.h>
15
+
16
+ namespace facebook::react {
17
+
18
+ EnrichedTextInputViewProps::EnrichedTextInputViewProps(
19
+ const PropsParserContext &context,
20
+ const EnrichedTextInputViewProps &sourceProps,
21
+ const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
22
+
23
+ autoFocus(convertRawProp(context, rawProps, "autoFocus", sourceProps.autoFocus, {false})),
24
+ editable(convertRawProp(context, rawProps, "editable", sourceProps.editable, {false})),
25
+ defaultValue(convertRawProp(context, rawProps, "defaultValue", sourceProps.defaultValue, {})),
26
+ placeholder(convertRawProp(context, rawProps, "placeholder", sourceProps.placeholder, {})),
27
+ placeholderTextColor(convertRawProp(context, rawProps, "placeholderTextColor", sourceProps.placeholderTextColor, {})),
28
+ mentionIndicators(convertRawProp(context, rawProps, "mentionIndicators", sourceProps.mentionIndicators, {})),
29
+ cursorColor(convertRawProp(context, rawProps, "cursorColor", sourceProps.cursorColor, {})),
30
+ selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
31
+ autoCapitalize(convertRawProp(context, rawProps, "autoCapitalize", sourceProps.autoCapitalize, {})),
32
+ htmlStyle(convertRawProp(context, rawProps, "htmlStyle", sourceProps.htmlStyle, {})),
33
+ color(convertRawProp(context, rawProps, "color", sourceProps.color, {})),
34
+ fontSize(convertRawProp(context, rawProps, "fontSize", sourceProps.fontSize, {0.0})),
35
+ fontFamily(convertRawProp(context, rawProps, "fontFamily", sourceProps.fontFamily, {})),
36
+ fontWeight(convertRawProp(context, rawProps, "fontWeight", sourceProps.fontWeight, {})),
37
+ fontStyle(convertRawProp(context, rawProps, "fontStyle", sourceProps.fontStyle, {})),
38
+ isOnChangeHtmlSet(convertRawProp(context, rawProps, "isOnChangeHtmlSet", sourceProps.isOnChangeHtmlSet, {false})),
39
+ androidExperimentalSynchronousEvents(convertRawProp(context, rawProps, "androidExperimentalSynchronousEvents", sourceProps.androidExperimentalSynchronousEvents, {false})) {}
40
+
41
+ #ifdef RN_SERIALIZABLE_STATE
42
+ ComponentName EnrichedTextInputViewProps::getDiffPropsImplementationTarget() const {
43
+ return "EnrichedTextInputView";
44
+ }
45
+
46
+ folly::dynamic EnrichedTextInputViewProps::getDiffProps(
47
+ const Props* prevProps) const {
48
+ static const auto defaultProps = EnrichedTextInputViewProps();
49
+ const EnrichedTextInputViewProps* oldProps = prevProps == nullptr
50
+ ? &defaultProps
51
+ : static_cast<const EnrichedTextInputViewProps*>(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 (mentionIndicators != oldProps->mentionIndicators) {
78
+ result["mentionIndicators"] = toDynamic(mentionIndicators);
79
+ }
80
+
81
+ if (cursorColor != oldProps->cursorColor) {
82
+ result["cursorColor"] = *cursorColor;
83
+ }
84
+
85
+ if (selectionColor != oldProps->selectionColor) {
86
+ result["selectionColor"] = *selectionColor;
87
+ }
88
+
89
+ if (autoCapitalize != oldProps->autoCapitalize) {
90
+ result["autoCapitalize"] = autoCapitalize;
91
+ }
92
+
93
+ if (htmlStyle != oldProps->htmlStyle) {
94
+ result["htmlStyle"] = toDynamic(htmlStyle);
95
+ }
96
+
97
+ if (color != oldProps->color) {
98
+ result["color"] = *color;
99
+ }
100
+
101
+ if ((fontSize != oldProps->fontSize) && !(std::isnan(fontSize) && std::isnan(oldProps->fontSize))) {
102
+ result["fontSize"] = fontSize;
103
+ }
104
+
105
+ if (fontFamily != oldProps->fontFamily) {
106
+ result["fontFamily"] = fontFamily;
107
+ }
108
+
109
+ if (fontWeight != oldProps->fontWeight) {
110
+ result["fontWeight"] = fontWeight;
111
+ }
112
+
113
+ if (fontStyle != oldProps->fontStyle) {
114
+ result["fontStyle"] = fontStyle;
115
+ }
116
+
117
+ if (isOnChangeHtmlSet != oldProps->isOnChangeHtmlSet) {
118
+ result["isOnChangeHtmlSet"] = isOnChangeHtmlSet;
119
+ }
120
+
121
+ if (androidExperimentalSynchronousEvents != oldProps->androidExperimentalSynchronousEvents) {
122
+ result["androidExperimentalSynchronousEvents"] = androidExperimentalSynchronousEvents;
123
+ }
124
+ return result;
125
+ }
126
+ #endif
127
+
128
+ } // namespace facebook::react
@@ -0,0 +1,577 @@
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 <folly/dynamic.h>
13
+ #include <react/renderer/components/view/ViewProps.h>
14
+ #include <react/renderer/core/PropsParserContext.h>
15
+ #include <react/renderer/core/propsConversions.h>
16
+ #include <react/renderer/graphics/Color.h>
17
+ #include <vector>
18
+
19
+ namespace facebook::react {
20
+
21
+ struct EnrichedTextInputViewHtmlStyleH1Struct {
22
+ Float fontSize{0.0};
23
+ bool bold{false};
24
+
25
+ #ifdef RN_SERIALIZABLE_STATE
26
+ bool operator==(const EnrichedTextInputViewHtmlStyleH1Struct&) const = default;
27
+
28
+ folly::dynamic toDynamic() const {
29
+ folly::dynamic result = folly::dynamic::object();
30
+ result["fontSize"] = fontSize;
31
+ result["bold"] = bold;
32
+ return result;
33
+ }
34
+ #endif
35
+ };
36
+
37
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleH1Struct &result) {
38
+ auto map = (std::unordered_map<std::string, RawValue>)value;
39
+
40
+ auto tmp_fontSize = map.find("fontSize");
41
+ if (tmp_fontSize != map.end()) {
42
+ fromRawValue(context, tmp_fontSize->second, result.fontSize);
43
+ }
44
+ auto tmp_bold = map.find("bold");
45
+ if (tmp_bold != map.end()) {
46
+ fromRawValue(context, tmp_bold->second, result.bold);
47
+ }
48
+ }
49
+
50
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleH1Struct &value) {
51
+ return "[Object EnrichedTextInputViewHtmlStyleH1Struct]";
52
+ }
53
+
54
+ #ifdef RN_SERIALIZABLE_STATE
55
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleH1Struct &value) {
56
+ return value.toDynamic();
57
+ }
58
+ #endif
59
+
60
+ struct EnrichedTextInputViewHtmlStyleH2Struct {
61
+ Float fontSize{0.0};
62
+ bool bold{false};
63
+
64
+ #ifdef RN_SERIALIZABLE_STATE
65
+ bool operator==(const EnrichedTextInputViewHtmlStyleH2Struct&) const = default;
66
+
67
+ folly::dynamic toDynamic() const {
68
+ folly::dynamic result = folly::dynamic::object();
69
+ result["fontSize"] = fontSize;
70
+ result["bold"] = bold;
71
+ return result;
72
+ }
73
+ #endif
74
+ };
75
+
76
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleH2Struct &result) {
77
+ auto map = (std::unordered_map<std::string, RawValue>)value;
78
+
79
+ auto tmp_fontSize = map.find("fontSize");
80
+ if (tmp_fontSize != map.end()) {
81
+ fromRawValue(context, tmp_fontSize->second, result.fontSize);
82
+ }
83
+ auto tmp_bold = map.find("bold");
84
+ if (tmp_bold != map.end()) {
85
+ fromRawValue(context, tmp_bold->second, result.bold);
86
+ }
87
+ }
88
+
89
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleH2Struct &value) {
90
+ return "[Object EnrichedTextInputViewHtmlStyleH2Struct]";
91
+ }
92
+
93
+ #ifdef RN_SERIALIZABLE_STATE
94
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleH2Struct &value) {
95
+ return value.toDynamic();
96
+ }
97
+ #endif
98
+
99
+ struct EnrichedTextInputViewHtmlStyleH3Struct {
100
+ Float fontSize{0.0};
101
+ bool bold{false};
102
+
103
+ #ifdef RN_SERIALIZABLE_STATE
104
+ bool operator==(const EnrichedTextInputViewHtmlStyleH3Struct&) const = default;
105
+
106
+ folly::dynamic toDynamic() const {
107
+ folly::dynamic result = folly::dynamic::object();
108
+ result["fontSize"] = fontSize;
109
+ result["bold"] = bold;
110
+ return result;
111
+ }
112
+ #endif
113
+ };
114
+
115
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleH3Struct &result) {
116
+ auto map = (std::unordered_map<std::string, RawValue>)value;
117
+
118
+ auto tmp_fontSize = map.find("fontSize");
119
+ if (tmp_fontSize != map.end()) {
120
+ fromRawValue(context, tmp_fontSize->second, result.fontSize);
121
+ }
122
+ auto tmp_bold = map.find("bold");
123
+ if (tmp_bold != map.end()) {
124
+ fromRawValue(context, tmp_bold->second, result.bold);
125
+ }
126
+ }
127
+
128
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleH3Struct &value) {
129
+ return "[Object EnrichedTextInputViewHtmlStyleH3Struct]";
130
+ }
131
+
132
+ #ifdef RN_SERIALIZABLE_STATE
133
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleH3Struct &value) {
134
+ return value.toDynamic();
135
+ }
136
+ #endif
137
+
138
+ struct EnrichedTextInputViewHtmlStyleBlockquoteStruct {
139
+ SharedColor borderColor{};
140
+ Float borderWidth{0.0};
141
+ Float gapWidth{0.0};
142
+ SharedColor color{};
143
+
144
+ #ifdef RN_SERIALIZABLE_STATE
145
+ bool operator==(const EnrichedTextInputViewHtmlStyleBlockquoteStruct&) const = default;
146
+
147
+ folly::dynamic toDynamic() const {
148
+ folly::dynamic result = folly::dynamic::object();
149
+ result["borderColor"] = ::facebook::react::toDynamic(borderColor);
150
+ result["borderWidth"] = borderWidth;
151
+ result["gapWidth"] = gapWidth;
152
+ result["color"] = ::facebook::react::toDynamic(color);
153
+ return result;
154
+ }
155
+ #endif
156
+ };
157
+
158
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleBlockquoteStruct &result) {
159
+ auto map = (std::unordered_map<std::string, RawValue>)value;
160
+
161
+ auto tmp_borderColor = map.find("borderColor");
162
+ if (tmp_borderColor != map.end()) {
163
+ fromRawValue(context, tmp_borderColor->second, result.borderColor);
164
+ }
165
+ auto tmp_borderWidth = map.find("borderWidth");
166
+ if (tmp_borderWidth != map.end()) {
167
+ fromRawValue(context, tmp_borderWidth->second, result.borderWidth);
168
+ }
169
+ auto tmp_gapWidth = map.find("gapWidth");
170
+ if (tmp_gapWidth != map.end()) {
171
+ fromRawValue(context, tmp_gapWidth->second, result.gapWidth);
172
+ }
173
+ auto tmp_color = map.find("color");
174
+ if (tmp_color != map.end()) {
175
+ fromRawValue(context, tmp_color->second, result.color);
176
+ }
177
+ }
178
+
179
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleBlockquoteStruct &value) {
180
+ return "[Object EnrichedTextInputViewHtmlStyleBlockquoteStruct]";
181
+ }
182
+
183
+ #ifdef RN_SERIALIZABLE_STATE
184
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleBlockquoteStruct &value) {
185
+ return value.toDynamic();
186
+ }
187
+ #endif
188
+
189
+ struct EnrichedTextInputViewHtmlStyleCodeblockStruct {
190
+ SharedColor color{};
191
+ Float borderRadius{0.0};
192
+ SharedColor backgroundColor{};
193
+
194
+ #ifdef RN_SERIALIZABLE_STATE
195
+ bool operator==(const EnrichedTextInputViewHtmlStyleCodeblockStruct&) const = default;
196
+
197
+ folly::dynamic toDynamic() const {
198
+ folly::dynamic result = folly::dynamic::object();
199
+ result["color"] = ::facebook::react::toDynamic(color);
200
+ result["borderRadius"] = borderRadius;
201
+ result["backgroundColor"] = ::facebook::react::toDynamic(backgroundColor);
202
+ return result;
203
+ }
204
+ #endif
205
+ };
206
+
207
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleCodeblockStruct &result) {
208
+ auto map = (std::unordered_map<std::string, RawValue>)value;
209
+
210
+ auto tmp_color = map.find("color");
211
+ if (tmp_color != map.end()) {
212
+ fromRawValue(context, tmp_color->second, result.color);
213
+ }
214
+ auto tmp_borderRadius = map.find("borderRadius");
215
+ if (tmp_borderRadius != map.end()) {
216
+ fromRawValue(context, tmp_borderRadius->second, result.borderRadius);
217
+ }
218
+ auto tmp_backgroundColor = map.find("backgroundColor");
219
+ if (tmp_backgroundColor != map.end()) {
220
+ fromRawValue(context, tmp_backgroundColor->second, result.backgroundColor);
221
+ }
222
+ }
223
+
224
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleCodeblockStruct &value) {
225
+ return "[Object EnrichedTextInputViewHtmlStyleCodeblockStruct]";
226
+ }
227
+
228
+ #ifdef RN_SERIALIZABLE_STATE
229
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleCodeblockStruct &value) {
230
+ return value.toDynamic();
231
+ }
232
+ #endif
233
+
234
+ struct EnrichedTextInputViewHtmlStyleCodeStruct {
235
+ SharedColor color{};
236
+ SharedColor backgroundColor{};
237
+
238
+ #ifdef RN_SERIALIZABLE_STATE
239
+ bool operator==(const EnrichedTextInputViewHtmlStyleCodeStruct&) const = default;
240
+
241
+ folly::dynamic toDynamic() const {
242
+ folly::dynamic result = folly::dynamic::object();
243
+ result["color"] = ::facebook::react::toDynamic(color);
244
+ result["backgroundColor"] = ::facebook::react::toDynamic(backgroundColor);
245
+ return result;
246
+ }
247
+ #endif
248
+ };
249
+
250
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleCodeStruct &result) {
251
+ auto map = (std::unordered_map<std::string, RawValue>)value;
252
+
253
+ auto tmp_color = map.find("color");
254
+ if (tmp_color != map.end()) {
255
+ fromRawValue(context, tmp_color->second, result.color);
256
+ }
257
+ auto tmp_backgroundColor = map.find("backgroundColor");
258
+ if (tmp_backgroundColor != map.end()) {
259
+ fromRawValue(context, tmp_backgroundColor->second, result.backgroundColor);
260
+ }
261
+ }
262
+
263
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleCodeStruct &value) {
264
+ return "[Object EnrichedTextInputViewHtmlStyleCodeStruct]";
265
+ }
266
+
267
+ #ifdef RN_SERIALIZABLE_STATE
268
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleCodeStruct &value) {
269
+ return value.toDynamic();
270
+ }
271
+ #endif
272
+
273
+ struct EnrichedTextInputViewHtmlStyleAStruct {
274
+ SharedColor color{};
275
+ std::string textDecorationLine{};
276
+
277
+ #ifdef RN_SERIALIZABLE_STATE
278
+ bool operator==(const EnrichedTextInputViewHtmlStyleAStruct&) const = default;
279
+
280
+ folly::dynamic toDynamic() const {
281
+ folly::dynamic result = folly::dynamic::object();
282
+ result["color"] = ::facebook::react::toDynamic(color);
283
+ result["textDecorationLine"] = textDecorationLine;
284
+ return result;
285
+ }
286
+ #endif
287
+ };
288
+
289
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleAStruct &result) {
290
+ auto map = (std::unordered_map<std::string, RawValue>)value;
291
+
292
+ auto tmp_color = map.find("color");
293
+ if (tmp_color != map.end()) {
294
+ fromRawValue(context, tmp_color->second, result.color);
295
+ }
296
+ auto tmp_textDecorationLine = map.find("textDecorationLine");
297
+ if (tmp_textDecorationLine != map.end()) {
298
+ fromRawValue(context, tmp_textDecorationLine->second, result.textDecorationLine);
299
+ }
300
+ }
301
+
302
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleAStruct &value) {
303
+ return "[Object EnrichedTextInputViewHtmlStyleAStruct]";
304
+ }
305
+
306
+ #ifdef RN_SERIALIZABLE_STATE
307
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleAStruct &value) {
308
+ return value.toDynamic();
309
+ }
310
+ #endif
311
+
312
+ struct EnrichedTextInputViewHtmlStyleImgStruct {
313
+ Float width{0.0};
314
+ Float height{0.0};
315
+
316
+ #ifdef RN_SERIALIZABLE_STATE
317
+ bool operator==(const EnrichedTextInputViewHtmlStyleImgStruct&) const = default;
318
+
319
+ folly::dynamic toDynamic() const {
320
+ folly::dynamic result = folly::dynamic::object();
321
+ result["width"] = width;
322
+ result["height"] = height;
323
+ return result;
324
+ }
325
+ #endif
326
+ };
327
+
328
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleImgStruct &result) {
329
+ auto map = (std::unordered_map<std::string, RawValue>)value;
330
+
331
+ auto tmp_width = map.find("width");
332
+ if (tmp_width != map.end()) {
333
+ fromRawValue(context, tmp_width->second, result.width);
334
+ }
335
+ auto tmp_height = map.find("height");
336
+ if (tmp_height != map.end()) {
337
+ fromRawValue(context, tmp_height->second, result.height);
338
+ }
339
+ }
340
+
341
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleImgStruct &value) {
342
+ return "[Object EnrichedTextInputViewHtmlStyleImgStruct]";
343
+ }
344
+
345
+ #ifdef RN_SERIALIZABLE_STATE
346
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleImgStruct &value) {
347
+ return value.toDynamic();
348
+ }
349
+ #endif
350
+
351
+ struct EnrichedTextInputViewHtmlStyleOlStruct {
352
+ Float gapWidth{0.0};
353
+ Float marginLeft{0.0};
354
+ std::string markerFontWeight{};
355
+ SharedColor markerColor{};
356
+
357
+ #ifdef RN_SERIALIZABLE_STATE
358
+ bool operator==(const EnrichedTextInputViewHtmlStyleOlStruct&) const = default;
359
+
360
+ folly::dynamic toDynamic() const {
361
+ folly::dynamic result = folly::dynamic::object();
362
+ result["gapWidth"] = gapWidth;
363
+ result["marginLeft"] = marginLeft;
364
+ result["markerFontWeight"] = markerFontWeight;
365
+ result["markerColor"] = ::facebook::react::toDynamic(markerColor);
366
+ return result;
367
+ }
368
+ #endif
369
+ };
370
+
371
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleOlStruct &result) {
372
+ auto map = (std::unordered_map<std::string, RawValue>)value;
373
+
374
+ auto tmp_gapWidth = map.find("gapWidth");
375
+ if (tmp_gapWidth != map.end()) {
376
+ fromRawValue(context, tmp_gapWidth->second, result.gapWidth);
377
+ }
378
+ auto tmp_marginLeft = map.find("marginLeft");
379
+ if (tmp_marginLeft != map.end()) {
380
+ fromRawValue(context, tmp_marginLeft->second, result.marginLeft);
381
+ }
382
+ auto tmp_markerFontWeight = map.find("markerFontWeight");
383
+ if (tmp_markerFontWeight != map.end()) {
384
+ fromRawValue(context, tmp_markerFontWeight->second, result.markerFontWeight);
385
+ }
386
+ auto tmp_markerColor = map.find("markerColor");
387
+ if (tmp_markerColor != map.end()) {
388
+ fromRawValue(context, tmp_markerColor->second, result.markerColor);
389
+ }
390
+ }
391
+
392
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleOlStruct &value) {
393
+ return "[Object EnrichedTextInputViewHtmlStyleOlStruct]";
394
+ }
395
+
396
+ #ifdef RN_SERIALIZABLE_STATE
397
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleOlStruct &value) {
398
+ return value.toDynamic();
399
+ }
400
+ #endif
401
+
402
+ struct EnrichedTextInputViewHtmlStyleUlStruct {
403
+ SharedColor bulletColor{};
404
+ Float bulletSize{0.0};
405
+ Float marginLeft{0.0};
406
+ Float gapWidth{0.0};
407
+
408
+ #ifdef RN_SERIALIZABLE_STATE
409
+ bool operator==(const EnrichedTextInputViewHtmlStyleUlStruct&) const = default;
410
+
411
+ folly::dynamic toDynamic() const {
412
+ folly::dynamic result = folly::dynamic::object();
413
+ result["bulletColor"] = ::facebook::react::toDynamic(bulletColor);
414
+ result["bulletSize"] = bulletSize;
415
+ result["marginLeft"] = marginLeft;
416
+ result["gapWidth"] = gapWidth;
417
+ return result;
418
+ }
419
+ #endif
420
+ };
421
+
422
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleUlStruct &result) {
423
+ auto map = (std::unordered_map<std::string, RawValue>)value;
424
+
425
+ auto tmp_bulletColor = map.find("bulletColor");
426
+ if (tmp_bulletColor != map.end()) {
427
+ fromRawValue(context, tmp_bulletColor->second, result.bulletColor);
428
+ }
429
+ auto tmp_bulletSize = map.find("bulletSize");
430
+ if (tmp_bulletSize != map.end()) {
431
+ fromRawValue(context, tmp_bulletSize->second, result.bulletSize);
432
+ }
433
+ auto tmp_marginLeft = map.find("marginLeft");
434
+ if (tmp_marginLeft != map.end()) {
435
+ fromRawValue(context, tmp_marginLeft->second, result.marginLeft);
436
+ }
437
+ auto tmp_gapWidth = map.find("gapWidth");
438
+ if (tmp_gapWidth != map.end()) {
439
+ fromRawValue(context, tmp_gapWidth->second, result.gapWidth);
440
+ }
441
+ }
442
+
443
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleUlStruct &value) {
444
+ return "[Object EnrichedTextInputViewHtmlStyleUlStruct]";
445
+ }
446
+
447
+ #ifdef RN_SERIALIZABLE_STATE
448
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleUlStruct &value) {
449
+ return value.toDynamic();
450
+ }
451
+ #endif
452
+
453
+ struct EnrichedTextInputViewHtmlStyleStruct {
454
+ EnrichedTextInputViewHtmlStyleH1Struct h1{};
455
+ EnrichedTextInputViewHtmlStyleH2Struct h2{};
456
+ EnrichedTextInputViewHtmlStyleH3Struct h3{};
457
+ EnrichedTextInputViewHtmlStyleBlockquoteStruct blockquote{};
458
+ EnrichedTextInputViewHtmlStyleCodeblockStruct codeblock{};
459
+ EnrichedTextInputViewHtmlStyleCodeStruct code{};
460
+ EnrichedTextInputViewHtmlStyleAStruct a{};
461
+ folly::dynamic mention{};
462
+ EnrichedTextInputViewHtmlStyleImgStruct img{};
463
+ EnrichedTextInputViewHtmlStyleOlStruct ol{};
464
+ EnrichedTextInputViewHtmlStyleUlStruct ul{};
465
+
466
+ #ifdef RN_SERIALIZABLE_STATE
467
+ bool operator==(const EnrichedTextInputViewHtmlStyleStruct&) const = default;
468
+
469
+ folly::dynamic toDynamic() const {
470
+ folly::dynamic result = folly::dynamic::object();
471
+ result["h1"] = ::facebook::react::toDynamic(h1);
472
+ result["h2"] = ::facebook::react::toDynamic(h2);
473
+ result["h3"] = ::facebook::react::toDynamic(h3);
474
+ result["blockquote"] = ::facebook::react::toDynamic(blockquote);
475
+ result["codeblock"] = ::facebook::react::toDynamic(codeblock);
476
+ result["code"] = ::facebook::react::toDynamic(code);
477
+ result["a"] = ::facebook::react::toDynamic(a);
478
+ result["mention"] = mention;
479
+ result["img"] = ::facebook::react::toDynamic(img);
480
+ result["ol"] = ::facebook::react::toDynamic(ol);
481
+ result["ul"] = ::facebook::react::toDynamic(ul);
482
+ return result;
483
+ }
484
+ #endif
485
+ };
486
+
487
+ static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, EnrichedTextInputViewHtmlStyleStruct &result) {
488
+ auto map = (std::unordered_map<std::string, RawValue>)value;
489
+
490
+ auto tmp_h1 = map.find("h1");
491
+ if (tmp_h1 != map.end()) {
492
+ fromRawValue(context, tmp_h1->second, result.h1);
493
+ }
494
+ auto tmp_h2 = map.find("h2");
495
+ if (tmp_h2 != map.end()) {
496
+ fromRawValue(context, tmp_h2->second, result.h2);
497
+ }
498
+ auto tmp_h3 = map.find("h3");
499
+ if (tmp_h3 != map.end()) {
500
+ fromRawValue(context, tmp_h3->second, result.h3);
501
+ }
502
+ auto tmp_blockquote = map.find("blockquote");
503
+ if (tmp_blockquote != map.end()) {
504
+ fromRawValue(context, tmp_blockquote->second, result.blockquote);
505
+ }
506
+ auto tmp_codeblock = map.find("codeblock");
507
+ if (tmp_codeblock != map.end()) {
508
+ fromRawValue(context, tmp_codeblock->second, result.codeblock);
509
+ }
510
+ auto tmp_code = map.find("code");
511
+ if (tmp_code != map.end()) {
512
+ fromRawValue(context, tmp_code->second, result.code);
513
+ }
514
+ auto tmp_a = map.find("a");
515
+ if (tmp_a != map.end()) {
516
+ fromRawValue(context, tmp_a->second, result.a);
517
+ }
518
+ auto tmp_mention = map.find("mention");
519
+ if (tmp_mention != map.end()) {
520
+ fromRawValue(context, tmp_mention->second, result.mention);
521
+ }
522
+ auto tmp_img = map.find("img");
523
+ if (tmp_img != map.end()) {
524
+ fromRawValue(context, tmp_img->second, result.img);
525
+ }
526
+ auto tmp_ol = map.find("ol");
527
+ if (tmp_ol != map.end()) {
528
+ fromRawValue(context, tmp_ol->second, result.ol);
529
+ }
530
+ auto tmp_ul = map.find("ul");
531
+ if (tmp_ul != map.end()) {
532
+ fromRawValue(context, tmp_ul->second, result.ul);
533
+ }
534
+ }
535
+
536
+ static inline std::string toString(const EnrichedTextInputViewHtmlStyleStruct &value) {
537
+ return "[Object EnrichedTextInputViewHtmlStyleStruct]";
538
+ }
539
+
540
+ #ifdef RN_SERIALIZABLE_STATE
541
+ static inline folly::dynamic toDynamic(const EnrichedTextInputViewHtmlStyleStruct &value) {
542
+ return value.toDynamic();
543
+ }
544
+ #endif
545
+ class EnrichedTextInputViewProps final : public ViewProps {
546
+ public:
547
+ EnrichedTextInputViewProps() = default;
548
+ EnrichedTextInputViewProps(const PropsParserContext& context, const EnrichedTextInputViewProps &sourceProps, const RawProps &rawProps);
549
+
550
+ #pragma mark - Props
551
+
552
+ bool autoFocus{false};
553
+ bool editable{false};
554
+ std::string defaultValue{};
555
+ std::string placeholder{};
556
+ SharedColor placeholderTextColor{};
557
+ std::vector<std::string> mentionIndicators{};
558
+ SharedColor cursorColor{};
559
+ SharedColor selectionColor{};
560
+ std::string autoCapitalize{};
561
+ EnrichedTextInputViewHtmlStyleStruct htmlStyle{};
562
+ SharedColor color{};
563
+ Float fontSize{0.0};
564
+ std::string fontFamily{};
565
+ std::string fontWeight{};
566
+ std::string fontStyle{};
567
+ bool isOnChangeHtmlSet{false};
568
+ bool androidExperimentalSynchronousEvents{false};
569
+
570
+ #ifdef RN_SERIALIZABLE_STATE
571
+ ComponentName getDiffPropsImplementationTarget() const override;
572
+
573
+ folly::dynamic getDiffProps(const Props* prevProps) const override;
574
+ #endif
575
+ };
576
+
577
+ } // namespace facebook::react