this repo has no description
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/core/propsConversions.h>
15#include <react/renderer/graphics/Color.h>
16#include <react/renderer/imagemanager/primitives.h>
17#include <vector>
18
19namespace facebook::react {
20
21enum class RNSBottomTabsTabBarItemLabelVisibilityMode { Auto, Selected, Labeled, Unlabeled };
22
23static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsTabBarItemLabelVisibilityMode &result) {
24 auto string = (std::string)value;
25 if (string == "auto") { result = RNSBottomTabsTabBarItemLabelVisibilityMode::Auto; return; }
26 if (string == "selected") { result = RNSBottomTabsTabBarItemLabelVisibilityMode::Selected; return; }
27 if (string == "labeled") { result = RNSBottomTabsTabBarItemLabelVisibilityMode::Labeled; return; }
28 if (string == "unlabeled") { result = RNSBottomTabsTabBarItemLabelVisibilityMode::Unlabeled; return; }
29 abort();
30}
31
32static inline std::string toString(const RNSBottomTabsTabBarItemLabelVisibilityMode &value) {
33 switch (value) {
34 case RNSBottomTabsTabBarItemLabelVisibilityMode::Auto: return "auto";
35 case RNSBottomTabsTabBarItemLabelVisibilityMode::Selected: return "selected";
36 case RNSBottomTabsTabBarItemLabelVisibilityMode::Labeled: return "labeled";
37 case RNSBottomTabsTabBarItemLabelVisibilityMode::Unlabeled: return "unlabeled";
38 }
39}
40
41#ifdef RN_SERIALIZABLE_STATE
42static inline folly::dynamic toDynamic(const RNSBottomTabsTabBarItemLabelVisibilityMode &value) {
43 return toString(value);
44}
45#endif
46enum class RNSBottomTabsTabBarMinimizeBehavior { Automatic, Never, OnScrollDown, OnScrollUp };
47
48static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsTabBarMinimizeBehavior &result) {
49 auto string = (std::string)value;
50 if (string == "automatic") { result = RNSBottomTabsTabBarMinimizeBehavior::Automatic; return; }
51 if (string == "never") { result = RNSBottomTabsTabBarMinimizeBehavior::Never; return; }
52 if (string == "onScrollDown") { result = RNSBottomTabsTabBarMinimizeBehavior::OnScrollDown; return; }
53 if (string == "onScrollUp") { result = RNSBottomTabsTabBarMinimizeBehavior::OnScrollUp; return; }
54 abort();
55}
56
57static inline std::string toString(const RNSBottomTabsTabBarMinimizeBehavior &value) {
58 switch (value) {
59 case RNSBottomTabsTabBarMinimizeBehavior::Automatic: return "automatic";
60 case RNSBottomTabsTabBarMinimizeBehavior::Never: return "never";
61 case RNSBottomTabsTabBarMinimizeBehavior::OnScrollDown: return "onScrollDown";
62 case RNSBottomTabsTabBarMinimizeBehavior::OnScrollUp: return "onScrollUp";
63 }
64}
65
66#ifdef RN_SERIALIZABLE_STATE
67static inline folly::dynamic toDynamic(const RNSBottomTabsTabBarMinimizeBehavior &value) {
68 return toString(value);
69}
70#endif
71
72class RNSBottomTabsProps final : public ViewProps {
73 public:
74 RNSBottomTabsProps() = default;
75 RNSBottomTabsProps(const PropsParserContext& context, const RNSBottomTabsProps &sourceProps, const RawProps &rawProps);
76
77#pragma mark - Props
78
79 SharedColor tabBarBackgroundColor{};
80 std::string tabBarItemTitleFontFamily{};
81 Float tabBarItemTitleFontSize{0.0};
82 Float tabBarItemTitleFontSizeActive{0.0};
83 std::string tabBarItemTitleFontWeight{};
84 std::string tabBarItemTitleFontStyle{};
85 SharedColor tabBarItemTitleFontColor{};
86 SharedColor tabBarItemTitleFontColorActive{};
87 SharedColor tabBarItemIconColor{};
88 SharedColor tabBarItemIconColorActive{};
89 SharedColor tabBarItemActiveIndicatorColor{};
90 bool tabBarItemActiveIndicatorEnabled{true};
91 SharedColor tabBarItemRippleColor{};
92 RNSBottomTabsTabBarItemLabelVisibilityMode tabBarItemLabelVisibilityMode{RNSBottomTabsTabBarItemLabelVisibilityMode::Auto};
93 SharedColor tabBarTintColor{};
94 RNSBottomTabsTabBarMinimizeBehavior tabBarMinimizeBehavior{RNSBottomTabsTabBarMinimizeBehavior::Automatic};
95 bool controlNavigationStateInJS{false};
96
97 #ifdef RN_SERIALIZABLE_STATE
98 ComponentName getDiffPropsImplementationTarget() const override;
99
100 folly::dynamic getDiffProps(const Props* prevProps) const override;
101 #endif
102};
103
104enum class RNSBottomTabsScreenOrientation { Inherit, All, AllButUpsideDown, Portrait, PortraitUp, PortraitDown, Landscape, LandscapeLeft, LandscapeRight };
105
106static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsScreenOrientation &result) {
107 auto string = (std::string)value;
108 if (string == "inherit") { result = RNSBottomTabsScreenOrientation::Inherit; return; }
109 if (string == "all") { result = RNSBottomTabsScreenOrientation::All; return; }
110 if (string == "allButUpsideDown") { result = RNSBottomTabsScreenOrientation::AllButUpsideDown; return; }
111 if (string == "portrait") { result = RNSBottomTabsScreenOrientation::Portrait; return; }
112 if (string == "portraitUp") { result = RNSBottomTabsScreenOrientation::PortraitUp; return; }
113 if (string == "portraitDown") { result = RNSBottomTabsScreenOrientation::PortraitDown; return; }
114 if (string == "landscape") { result = RNSBottomTabsScreenOrientation::Landscape; return; }
115 if (string == "landscapeLeft") { result = RNSBottomTabsScreenOrientation::LandscapeLeft; return; }
116 if (string == "landscapeRight") { result = RNSBottomTabsScreenOrientation::LandscapeRight; return; }
117 abort();
118}
119
120static inline std::string toString(const RNSBottomTabsScreenOrientation &value) {
121 switch (value) {
122 case RNSBottomTabsScreenOrientation::Inherit: return "inherit";
123 case RNSBottomTabsScreenOrientation::All: return "all";
124 case RNSBottomTabsScreenOrientation::AllButUpsideDown: return "allButUpsideDown";
125 case RNSBottomTabsScreenOrientation::Portrait: return "portrait";
126 case RNSBottomTabsScreenOrientation::PortraitUp: return "portraitUp";
127 case RNSBottomTabsScreenOrientation::PortraitDown: return "portraitDown";
128 case RNSBottomTabsScreenOrientation::Landscape: return "landscape";
129 case RNSBottomTabsScreenOrientation::LandscapeLeft: return "landscapeLeft";
130 case RNSBottomTabsScreenOrientation::LandscapeRight: return "landscapeRight";
131 }
132}
133
134#ifdef RN_SERIALIZABLE_STATE
135static inline folly::dynamic toDynamic(const RNSBottomTabsScreenOrientation &value) {
136 return toString(value);
137}
138#endif
139enum class RNSBottomTabsScreenIconType { Image, Template, SfSymbol };
140
141static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsScreenIconType &result) {
142 auto string = (std::string)value;
143 if (string == "image") { result = RNSBottomTabsScreenIconType::Image; return; }
144 if (string == "template") { result = RNSBottomTabsScreenIconType::Template; return; }
145 if (string == "sfSymbol") { result = RNSBottomTabsScreenIconType::SfSymbol; return; }
146 abort();
147}
148
149static inline std::string toString(const RNSBottomTabsScreenIconType &value) {
150 switch (value) {
151 case RNSBottomTabsScreenIconType::Image: return "image";
152 case RNSBottomTabsScreenIconType::Template: return "template";
153 case RNSBottomTabsScreenIconType::SfSymbol: return "sfSymbol";
154 }
155}
156
157#ifdef RN_SERIALIZABLE_STATE
158static inline folly::dynamic toDynamic(const RNSBottomTabsScreenIconType &value) {
159 return toString(value);
160}
161#endif
162enum class RNSBottomTabsScreenSystemItem { None, Bookmarks, Contacts, Downloads, Favorites, Featured, History, More, MostRecent, MostViewed, Recents, Search, TopRated };
163
164static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsScreenSystemItem &result) {
165 auto string = (std::string)value;
166 if (string == "none") { result = RNSBottomTabsScreenSystemItem::None; return; }
167 if (string == "bookmarks") { result = RNSBottomTabsScreenSystemItem::Bookmarks; return; }
168 if (string == "contacts") { result = RNSBottomTabsScreenSystemItem::Contacts; return; }
169 if (string == "downloads") { result = RNSBottomTabsScreenSystemItem::Downloads; return; }
170 if (string == "favorites") { result = RNSBottomTabsScreenSystemItem::Favorites; return; }
171 if (string == "featured") { result = RNSBottomTabsScreenSystemItem::Featured; return; }
172 if (string == "history") { result = RNSBottomTabsScreenSystemItem::History; return; }
173 if (string == "more") { result = RNSBottomTabsScreenSystemItem::More; return; }
174 if (string == "mostRecent") { result = RNSBottomTabsScreenSystemItem::MostRecent; return; }
175 if (string == "mostViewed") { result = RNSBottomTabsScreenSystemItem::MostViewed; return; }
176 if (string == "recents") { result = RNSBottomTabsScreenSystemItem::Recents; return; }
177 if (string == "search") { result = RNSBottomTabsScreenSystemItem::Search; return; }
178 if (string == "topRated") { result = RNSBottomTabsScreenSystemItem::TopRated; return; }
179 abort();
180}
181
182static inline std::string toString(const RNSBottomTabsScreenSystemItem &value) {
183 switch (value) {
184 case RNSBottomTabsScreenSystemItem::None: return "none";
185 case RNSBottomTabsScreenSystemItem::Bookmarks: return "bookmarks";
186 case RNSBottomTabsScreenSystemItem::Contacts: return "contacts";
187 case RNSBottomTabsScreenSystemItem::Downloads: return "downloads";
188 case RNSBottomTabsScreenSystemItem::Favorites: return "favorites";
189 case RNSBottomTabsScreenSystemItem::Featured: return "featured";
190 case RNSBottomTabsScreenSystemItem::History: return "history";
191 case RNSBottomTabsScreenSystemItem::More: return "more";
192 case RNSBottomTabsScreenSystemItem::MostRecent: return "mostRecent";
193 case RNSBottomTabsScreenSystemItem::MostViewed: return "mostViewed";
194 case RNSBottomTabsScreenSystemItem::Recents: return "recents";
195 case RNSBottomTabsScreenSystemItem::Search: return "search";
196 case RNSBottomTabsScreenSystemItem::TopRated: return "topRated";
197 }
198}
199
200#ifdef RN_SERIALIZABLE_STATE
201static inline folly::dynamic toDynamic(const RNSBottomTabsScreenSystemItem &value) {
202 return toString(value);
203}
204#endif
205struct RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct {
206 bool popToRoot{true};
207 bool scrollToTop{true};
208
209#ifdef RN_SERIALIZABLE_STATE
210 bool operator==(const RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct&) const = default;
211
212 folly::dynamic toDynamic() const {
213 folly::dynamic result = folly::dynamic::object();
214 result["popToRoot"] = popToRoot;
215 result["scrollToTop"] = scrollToTop;
216 return result;
217 }
218#endif
219};
220
221static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct &result) {
222 auto map = (std::unordered_map<std::string, RawValue>)value;
223
224 auto tmp_popToRoot = map.find("popToRoot");
225 if (tmp_popToRoot != map.end()) {
226 fromRawValue(context, tmp_popToRoot->second, result.popToRoot);
227 }
228 auto tmp_scrollToTop = map.find("scrollToTop");
229 if (tmp_scrollToTop != map.end()) {
230 fromRawValue(context, tmp_scrollToTop->second, result.scrollToTop);
231 }
232}
233
234static inline std::string toString(const RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct &value) {
235 return "[Object RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct]";
236}
237
238#ifdef RN_SERIALIZABLE_STATE
239static inline folly::dynamic toDynamic(const RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct &value) {
240 return value.toDynamic();
241}
242#endif
243
244struct RNSBottomTabsScreenSpecialEffectsStruct {
245 RNSBottomTabsScreenSpecialEffectsRepeatedTabSelectionStruct repeatedTabSelection{};
246
247#ifdef RN_SERIALIZABLE_STATE
248 bool operator==(const RNSBottomTabsScreenSpecialEffectsStruct&) const = default;
249
250 folly::dynamic toDynamic() const {
251 folly::dynamic result = folly::dynamic::object();
252 result["repeatedTabSelection"] = ::facebook::react::toDynamic(repeatedTabSelection);
253 return result;
254 }
255#endif
256};
257
258static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSBottomTabsScreenSpecialEffectsStruct &result) {
259 auto map = (std::unordered_map<std::string, RawValue>)value;
260
261 auto tmp_repeatedTabSelection = map.find("repeatedTabSelection");
262 if (tmp_repeatedTabSelection != map.end()) {
263 fromRawValue(context, tmp_repeatedTabSelection->second, result.repeatedTabSelection);
264 }
265}
266
267static inline std::string toString(const RNSBottomTabsScreenSpecialEffectsStruct &value) {
268 return "[Object RNSBottomTabsScreenSpecialEffectsStruct]";
269}
270
271#ifdef RN_SERIALIZABLE_STATE
272static inline folly::dynamic toDynamic(const RNSBottomTabsScreenSpecialEffectsStruct &value) {
273 return value.toDynamic();
274}
275#endif
276class RNSBottomTabsScreenProps final : public ViewProps {
277 public:
278 RNSBottomTabsScreenProps() = default;
279 RNSBottomTabsScreenProps(const PropsParserContext& context, const RNSBottomTabsScreenProps &sourceProps, const RawProps &rawProps);
280
281#pragma mark - Props
282
283 bool isFocused{false};
284 std::string tabKey{};
285 std::string title{};
286 std::string badgeValue{};
287 RNSBottomTabsScreenOrientation orientation{RNSBottomTabsScreenOrientation::Inherit};
288 std::string iconResourceName{};
289 ImageSource iconResource{};
290 SharedColor tabBarItemBadgeTextColor{};
291 SharedColor tabBarItemBadgeBackgroundColor{};
292 folly::dynamic standardAppearance{};
293 folly::dynamic scrollEdgeAppearance{};
294 RNSBottomTabsScreenIconType iconType{RNSBottomTabsScreenIconType::SfSymbol};
295 ImageSource iconImageSource{};
296 std::string iconSfSymbolName{};
297 ImageSource selectedIconImageSource{};
298 std::string selectedIconSfSymbolName{};
299 RNSBottomTabsScreenSystemItem systemItem{RNSBottomTabsScreenSystemItem::None};
300 RNSBottomTabsScreenSpecialEffectsStruct specialEffects{};
301 bool overrideScrollViewContentInsetAdjustmentBehavior{true};
302
303 #ifdef RN_SERIALIZABLE_STATE
304 ComponentName getDiffPropsImplementationTarget() const override;
305
306 folly::dynamic getDiffProps(const Props* prevProps) const override;
307 #endif
308};
309
310class RNSFullWindowOverlayProps final : public ViewProps {
311 public:
312 RNSFullWindowOverlayProps() = default;
313 RNSFullWindowOverlayProps(const PropsParserContext& context, const RNSFullWindowOverlayProps &sourceProps, const RawProps &rawProps);
314
315#pragma mark - Props
316
317 bool accessibilityContainerViewIsModal{true};
318
319 #ifdef RN_SERIALIZABLE_STATE
320 ComponentName getDiffPropsImplementationTarget() const override;
321
322 folly::dynamic getDiffProps(const Props* prevProps) const override;
323 #endif
324};
325
326class RNSScreenStackHostProps final : public ViewProps {
327 public:
328 RNSScreenStackHostProps() = default;
329 RNSScreenStackHostProps(const PropsParserContext& context, const RNSScreenStackHostProps &sourceProps, const RawProps &rawProps);
330
331#pragma mark - Props
332
333
334
335 #ifdef RN_SERIALIZABLE_STATE
336 ComponentName getDiffPropsImplementationTarget() const override;
337
338 folly::dynamic getDiffProps(const Props* prevProps) const override;
339 #endif
340};
341
342enum class RNSSplitViewHostPreferredDisplayMode { Automatic, SecondaryOnly, OneBesideSecondary, OneOverSecondary, TwoBesideSecondary, TwoOverSecondary, TwoDisplaceSecondary };
343
344static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostPreferredDisplayMode &result) {
345 auto string = (std::string)value;
346 if (string == "automatic") { result = RNSSplitViewHostPreferredDisplayMode::Automatic; return; }
347 if (string == "secondaryOnly") { result = RNSSplitViewHostPreferredDisplayMode::SecondaryOnly; return; }
348 if (string == "oneBesideSecondary") { result = RNSSplitViewHostPreferredDisplayMode::OneBesideSecondary; return; }
349 if (string == "oneOverSecondary") { result = RNSSplitViewHostPreferredDisplayMode::OneOverSecondary; return; }
350 if (string == "twoBesideSecondary") { result = RNSSplitViewHostPreferredDisplayMode::TwoBesideSecondary; return; }
351 if (string == "twoOverSecondary") { result = RNSSplitViewHostPreferredDisplayMode::TwoOverSecondary; return; }
352 if (string == "twoDisplaceSecondary") { result = RNSSplitViewHostPreferredDisplayMode::TwoDisplaceSecondary; return; }
353 abort();
354}
355
356static inline std::string toString(const RNSSplitViewHostPreferredDisplayMode &value) {
357 switch (value) {
358 case RNSSplitViewHostPreferredDisplayMode::Automatic: return "automatic";
359 case RNSSplitViewHostPreferredDisplayMode::SecondaryOnly: return "secondaryOnly";
360 case RNSSplitViewHostPreferredDisplayMode::OneBesideSecondary: return "oneBesideSecondary";
361 case RNSSplitViewHostPreferredDisplayMode::OneOverSecondary: return "oneOverSecondary";
362 case RNSSplitViewHostPreferredDisplayMode::TwoBesideSecondary: return "twoBesideSecondary";
363 case RNSSplitViewHostPreferredDisplayMode::TwoOverSecondary: return "twoOverSecondary";
364 case RNSSplitViewHostPreferredDisplayMode::TwoDisplaceSecondary: return "twoDisplaceSecondary";
365 }
366}
367
368#ifdef RN_SERIALIZABLE_STATE
369static inline folly::dynamic toDynamic(const RNSSplitViewHostPreferredDisplayMode &value) {
370 return toString(value);
371}
372#endif
373enum class RNSSplitViewHostPreferredSplitBehavior { Automatic, Displace, Overlay, Tile };
374
375static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostPreferredSplitBehavior &result) {
376 auto string = (std::string)value;
377 if (string == "automatic") { result = RNSSplitViewHostPreferredSplitBehavior::Automatic; return; }
378 if (string == "displace") { result = RNSSplitViewHostPreferredSplitBehavior::Displace; return; }
379 if (string == "overlay") { result = RNSSplitViewHostPreferredSplitBehavior::Overlay; return; }
380 if (string == "tile") { result = RNSSplitViewHostPreferredSplitBehavior::Tile; return; }
381 abort();
382}
383
384static inline std::string toString(const RNSSplitViewHostPreferredSplitBehavior &value) {
385 switch (value) {
386 case RNSSplitViewHostPreferredSplitBehavior::Automatic: return "automatic";
387 case RNSSplitViewHostPreferredSplitBehavior::Displace: return "displace";
388 case RNSSplitViewHostPreferredSplitBehavior::Overlay: return "overlay";
389 case RNSSplitViewHostPreferredSplitBehavior::Tile: return "tile";
390 }
391}
392
393#ifdef RN_SERIALIZABLE_STATE
394static inline folly::dynamic toDynamic(const RNSSplitViewHostPreferredSplitBehavior &value) {
395 return toString(value);
396}
397#endif
398enum class RNSSplitViewHostPrimaryEdge { Leading, Trailing };
399
400static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostPrimaryEdge &result) {
401 auto string = (std::string)value;
402 if (string == "leading") { result = RNSSplitViewHostPrimaryEdge::Leading; return; }
403 if (string == "trailing") { result = RNSSplitViewHostPrimaryEdge::Trailing; return; }
404 abort();
405}
406
407static inline std::string toString(const RNSSplitViewHostPrimaryEdge &value) {
408 switch (value) {
409 case RNSSplitViewHostPrimaryEdge::Leading: return "leading";
410 case RNSSplitViewHostPrimaryEdge::Trailing: return "trailing";
411 }
412}
413
414#ifdef RN_SERIALIZABLE_STATE
415static inline folly::dynamic toDynamic(const RNSSplitViewHostPrimaryEdge &value) {
416 return toString(value);
417}
418#endif
419enum class RNSSplitViewHostDisplayModeButtonVisibility { Always, Automatic, Never };
420
421static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostDisplayModeButtonVisibility &result) {
422 auto string = (std::string)value;
423 if (string == "always") { result = RNSSplitViewHostDisplayModeButtonVisibility::Always; return; }
424 if (string == "automatic") { result = RNSSplitViewHostDisplayModeButtonVisibility::Automatic; return; }
425 if (string == "never") { result = RNSSplitViewHostDisplayModeButtonVisibility::Never; return; }
426 abort();
427}
428
429static inline std::string toString(const RNSSplitViewHostDisplayModeButtonVisibility &value) {
430 switch (value) {
431 case RNSSplitViewHostDisplayModeButtonVisibility::Always: return "always";
432 case RNSSplitViewHostDisplayModeButtonVisibility::Automatic: return "automatic";
433 case RNSSplitViewHostDisplayModeButtonVisibility::Never: return "never";
434 }
435}
436
437#ifdef RN_SERIALIZABLE_STATE
438static inline folly::dynamic toDynamic(const RNSSplitViewHostDisplayModeButtonVisibility &value) {
439 return toString(value);
440}
441#endif
442enum class RNSSplitViewHostOrientation { Inherit, All, AllButUpsideDown, Portrait, PortraitUp, PortraitDown, Landscape, LandscapeLeft, LandscapeRight };
443
444static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostOrientation &result) {
445 auto string = (std::string)value;
446 if (string == "inherit") { result = RNSSplitViewHostOrientation::Inherit; return; }
447 if (string == "all") { result = RNSSplitViewHostOrientation::All; return; }
448 if (string == "allButUpsideDown") { result = RNSSplitViewHostOrientation::AllButUpsideDown; return; }
449 if (string == "portrait") { result = RNSSplitViewHostOrientation::Portrait; return; }
450 if (string == "portraitUp") { result = RNSSplitViewHostOrientation::PortraitUp; return; }
451 if (string == "portraitDown") { result = RNSSplitViewHostOrientation::PortraitDown; return; }
452 if (string == "landscape") { result = RNSSplitViewHostOrientation::Landscape; return; }
453 if (string == "landscapeLeft") { result = RNSSplitViewHostOrientation::LandscapeLeft; return; }
454 if (string == "landscapeRight") { result = RNSSplitViewHostOrientation::LandscapeRight; return; }
455 abort();
456}
457
458static inline std::string toString(const RNSSplitViewHostOrientation &value) {
459 switch (value) {
460 case RNSSplitViewHostOrientation::Inherit: return "inherit";
461 case RNSSplitViewHostOrientation::All: return "all";
462 case RNSSplitViewHostOrientation::AllButUpsideDown: return "allButUpsideDown";
463 case RNSSplitViewHostOrientation::Portrait: return "portrait";
464 case RNSSplitViewHostOrientation::PortraitUp: return "portraitUp";
465 case RNSSplitViewHostOrientation::PortraitDown: return "portraitDown";
466 case RNSSplitViewHostOrientation::Landscape: return "landscape";
467 case RNSSplitViewHostOrientation::LandscapeLeft: return "landscapeLeft";
468 case RNSSplitViewHostOrientation::LandscapeRight: return "landscapeRight";
469 }
470}
471
472#ifdef RN_SERIALIZABLE_STATE
473static inline folly::dynamic toDynamic(const RNSSplitViewHostOrientation &value) {
474 return toString(value);
475}
476#endif
477struct RNSSplitViewHostColumnMetricsStruct {
478 Float minimumPrimaryColumnWidth{-1.0};
479 Float maximumPrimaryColumnWidth{-1.0};
480 Float preferredPrimaryColumnWidthOrFraction{-1.0};
481 Float minimumSupplementaryColumnWidth{-1.0};
482 Float maximumSupplementaryColumnWidth{-1.0};
483 Float preferredSupplementaryColumnWidthOrFraction{-1.0};
484 Float minimumSecondaryColumnWidth{-1.0};
485 Float preferredSecondaryColumnWidthOrFraction{-1.0};
486 Float minimumInspectorColumnWidth{-1.0};
487 Float maximumInspectorColumnWidth{-1.0};
488 Float preferredInspectorColumnWidthOrFraction{-1.0};
489
490#ifdef RN_SERIALIZABLE_STATE
491 bool operator==(const RNSSplitViewHostColumnMetricsStruct&) const = default;
492
493 folly::dynamic toDynamic() const {
494 folly::dynamic result = folly::dynamic::object();
495 result["minimumPrimaryColumnWidth"] = minimumPrimaryColumnWidth;
496 result["maximumPrimaryColumnWidth"] = maximumPrimaryColumnWidth;
497 result["preferredPrimaryColumnWidthOrFraction"] = preferredPrimaryColumnWidthOrFraction;
498 result["minimumSupplementaryColumnWidth"] = minimumSupplementaryColumnWidth;
499 result["maximumSupplementaryColumnWidth"] = maximumSupplementaryColumnWidth;
500 result["preferredSupplementaryColumnWidthOrFraction"] = preferredSupplementaryColumnWidthOrFraction;
501 result["minimumSecondaryColumnWidth"] = minimumSecondaryColumnWidth;
502 result["preferredSecondaryColumnWidthOrFraction"] = preferredSecondaryColumnWidthOrFraction;
503 result["minimumInspectorColumnWidth"] = minimumInspectorColumnWidth;
504 result["maximumInspectorColumnWidth"] = maximumInspectorColumnWidth;
505 result["preferredInspectorColumnWidthOrFraction"] = preferredInspectorColumnWidthOrFraction;
506 return result;
507 }
508#endif
509};
510
511static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewHostColumnMetricsStruct &result) {
512 auto map = (std::unordered_map<std::string, RawValue>)value;
513
514 auto tmp_minimumPrimaryColumnWidth = map.find("minimumPrimaryColumnWidth");
515 if (tmp_minimumPrimaryColumnWidth != map.end()) {
516 fromRawValue(context, tmp_minimumPrimaryColumnWidth->second, result.minimumPrimaryColumnWidth);
517 }
518 auto tmp_maximumPrimaryColumnWidth = map.find("maximumPrimaryColumnWidth");
519 if (tmp_maximumPrimaryColumnWidth != map.end()) {
520 fromRawValue(context, tmp_maximumPrimaryColumnWidth->second, result.maximumPrimaryColumnWidth);
521 }
522 auto tmp_preferredPrimaryColumnWidthOrFraction = map.find("preferredPrimaryColumnWidthOrFraction");
523 if (tmp_preferredPrimaryColumnWidthOrFraction != map.end()) {
524 fromRawValue(context, tmp_preferredPrimaryColumnWidthOrFraction->second, result.preferredPrimaryColumnWidthOrFraction);
525 }
526 auto tmp_minimumSupplementaryColumnWidth = map.find("minimumSupplementaryColumnWidth");
527 if (tmp_minimumSupplementaryColumnWidth != map.end()) {
528 fromRawValue(context, tmp_minimumSupplementaryColumnWidth->second, result.minimumSupplementaryColumnWidth);
529 }
530 auto tmp_maximumSupplementaryColumnWidth = map.find("maximumSupplementaryColumnWidth");
531 if (tmp_maximumSupplementaryColumnWidth != map.end()) {
532 fromRawValue(context, tmp_maximumSupplementaryColumnWidth->second, result.maximumSupplementaryColumnWidth);
533 }
534 auto tmp_preferredSupplementaryColumnWidthOrFraction = map.find("preferredSupplementaryColumnWidthOrFraction");
535 if (tmp_preferredSupplementaryColumnWidthOrFraction != map.end()) {
536 fromRawValue(context, tmp_preferredSupplementaryColumnWidthOrFraction->second, result.preferredSupplementaryColumnWidthOrFraction);
537 }
538 auto tmp_minimumSecondaryColumnWidth = map.find("minimumSecondaryColumnWidth");
539 if (tmp_minimumSecondaryColumnWidth != map.end()) {
540 fromRawValue(context, tmp_minimumSecondaryColumnWidth->second, result.minimumSecondaryColumnWidth);
541 }
542 auto tmp_preferredSecondaryColumnWidthOrFraction = map.find("preferredSecondaryColumnWidthOrFraction");
543 if (tmp_preferredSecondaryColumnWidthOrFraction != map.end()) {
544 fromRawValue(context, tmp_preferredSecondaryColumnWidthOrFraction->second, result.preferredSecondaryColumnWidthOrFraction);
545 }
546 auto tmp_minimumInspectorColumnWidth = map.find("minimumInspectorColumnWidth");
547 if (tmp_minimumInspectorColumnWidth != map.end()) {
548 fromRawValue(context, tmp_minimumInspectorColumnWidth->second, result.minimumInspectorColumnWidth);
549 }
550 auto tmp_maximumInspectorColumnWidth = map.find("maximumInspectorColumnWidth");
551 if (tmp_maximumInspectorColumnWidth != map.end()) {
552 fromRawValue(context, tmp_maximumInspectorColumnWidth->second, result.maximumInspectorColumnWidth);
553 }
554 auto tmp_preferredInspectorColumnWidthOrFraction = map.find("preferredInspectorColumnWidthOrFraction");
555 if (tmp_preferredInspectorColumnWidthOrFraction != map.end()) {
556 fromRawValue(context, tmp_preferredInspectorColumnWidthOrFraction->second, result.preferredInspectorColumnWidthOrFraction);
557 }
558}
559
560static inline std::string toString(const RNSSplitViewHostColumnMetricsStruct &value) {
561 return "[Object RNSSplitViewHostColumnMetricsStruct]";
562}
563
564#ifdef RN_SERIALIZABLE_STATE
565static inline folly::dynamic toDynamic(const RNSSplitViewHostColumnMetricsStruct &value) {
566 return value.toDynamic();
567}
568#endif
569class RNSSplitViewHostProps final : public ViewProps {
570 public:
571 RNSSplitViewHostProps() = default;
572 RNSSplitViewHostProps(const PropsParserContext& context, const RNSSplitViewHostProps &sourceProps, const RawProps &rawProps);
573
574#pragma mark - Props
575
576 RNSSplitViewHostPreferredDisplayMode preferredDisplayMode{RNSSplitViewHostPreferredDisplayMode::Automatic};
577 RNSSplitViewHostPreferredSplitBehavior preferredSplitBehavior{RNSSplitViewHostPreferredSplitBehavior::Automatic};
578 RNSSplitViewHostPrimaryEdge primaryEdge{RNSSplitViewHostPrimaryEdge::Leading};
579 bool showSecondaryToggleButton{false};
580 RNSSplitViewHostDisplayModeButtonVisibility displayModeButtonVisibility{RNSSplitViewHostDisplayModeButtonVisibility::Automatic};
581 RNSSplitViewHostColumnMetricsStruct columnMetrics{};
582 RNSSplitViewHostOrientation orientation{RNSSplitViewHostOrientation::Inherit};
583 bool presentsWithGesture{true};
584 bool showInspector{false};
585
586 #ifdef RN_SERIALIZABLE_STATE
587 ComponentName getDiffPropsImplementationTarget() const override;
588
589 folly::dynamic getDiffProps(const Props* prevProps) const override;
590 #endif
591};
592
593enum class RNSSplitViewScreenColumnType { Column, Inspector };
594
595static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSplitViewScreenColumnType &result) {
596 auto string = (std::string)value;
597 if (string == "column") { result = RNSSplitViewScreenColumnType::Column; return; }
598 if (string == "inspector") { result = RNSSplitViewScreenColumnType::Inspector; return; }
599 abort();
600}
601
602static inline std::string toString(const RNSSplitViewScreenColumnType &value) {
603 switch (value) {
604 case RNSSplitViewScreenColumnType::Column: return "column";
605 case RNSSplitViewScreenColumnType::Inspector: return "inspector";
606 }
607}
608
609#ifdef RN_SERIALIZABLE_STATE
610static inline folly::dynamic toDynamic(const RNSSplitViewScreenColumnType &value) {
611 return toString(value);
612}
613#endif
614
615class RNSSplitViewScreenProps final : public ViewProps {
616 public:
617 RNSSplitViewScreenProps() = default;
618 RNSSplitViewScreenProps(const PropsParserContext& context, const RNSSplitViewScreenProps &sourceProps, const RawProps &rawProps);
619
620#pragma mark - Props
621
622 RNSSplitViewScreenColumnType columnType{RNSSplitViewScreenColumnType::Column};
623
624 #ifdef RN_SERIALIZABLE_STATE
625 ComponentName getDiffPropsImplementationTarget() const override;
626
627 folly::dynamic getDiffProps(const Props* prevProps) const override;
628 #endif
629};
630
631class RNSStackScreenProps final : public ViewProps {
632 public:
633 RNSStackScreenProps() = default;
634 RNSStackScreenProps(const PropsParserContext& context, const RNSStackScreenProps &sourceProps, const RawProps &rawProps);
635
636#pragma mark - Props
637
638 int maxLifecycleState{0};
639 std::string screenKey{};
640
641 #ifdef RN_SERIALIZABLE_STATE
642 ComponentName getDiffPropsImplementationTarget() const override;
643
644 folly::dynamic getDiffProps(const Props* prevProps) const override;
645 #endif
646};
647
648enum class RNSModalScreenStackPresentation { Push, Modal, TransparentModal, FullScreenModal, FormSheet, PageSheet, ContainedModal, ContainedTransparentModal };
649
650static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSModalScreenStackPresentation &result) {
651 auto string = (std::string)value;
652 if (string == "push") { result = RNSModalScreenStackPresentation::Push; return; }
653 if (string == "modal") { result = RNSModalScreenStackPresentation::Modal; return; }
654 if (string == "transparentModal") { result = RNSModalScreenStackPresentation::TransparentModal; return; }
655 if (string == "fullScreenModal") { result = RNSModalScreenStackPresentation::FullScreenModal; return; }
656 if (string == "formSheet") { result = RNSModalScreenStackPresentation::FormSheet; return; }
657 if (string == "pageSheet") { result = RNSModalScreenStackPresentation::PageSheet; return; }
658 if (string == "containedModal") { result = RNSModalScreenStackPresentation::ContainedModal; return; }
659 if (string == "containedTransparentModal") { result = RNSModalScreenStackPresentation::ContainedTransparentModal; return; }
660 abort();
661}
662
663static inline std::string toString(const RNSModalScreenStackPresentation &value) {
664 switch (value) {
665 case RNSModalScreenStackPresentation::Push: return "push";
666 case RNSModalScreenStackPresentation::Modal: return "modal";
667 case RNSModalScreenStackPresentation::TransparentModal: return "transparentModal";
668 case RNSModalScreenStackPresentation::FullScreenModal: return "fullScreenModal";
669 case RNSModalScreenStackPresentation::FormSheet: return "formSheet";
670 case RNSModalScreenStackPresentation::PageSheet: return "pageSheet";
671 case RNSModalScreenStackPresentation::ContainedModal: return "containedModal";
672 case RNSModalScreenStackPresentation::ContainedTransparentModal: return "containedTransparentModal";
673 }
674}
675
676#ifdef RN_SERIALIZABLE_STATE
677static inline folly::dynamic toDynamic(const RNSModalScreenStackPresentation &value) {
678 return toString(value);
679}
680#endif
681enum class RNSModalScreenStackAnimation { Default, Flip, Simple_push, None, Fade, Slide_from_right, Slide_from_left, Slide_from_bottom, Fade_from_bottom, Ios_from_right, Ios_from_left };
682
683static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSModalScreenStackAnimation &result) {
684 auto string = (std::string)value;
685 if (string == "default") { result = RNSModalScreenStackAnimation::Default; return; }
686 if (string == "flip") { result = RNSModalScreenStackAnimation::Flip; return; }
687 if (string == "simple_push") { result = RNSModalScreenStackAnimation::Simple_push; return; }
688 if (string == "none") { result = RNSModalScreenStackAnimation::None; return; }
689 if (string == "fade") { result = RNSModalScreenStackAnimation::Fade; return; }
690 if (string == "slide_from_right") { result = RNSModalScreenStackAnimation::Slide_from_right; return; }
691 if (string == "slide_from_left") { result = RNSModalScreenStackAnimation::Slide_from_left; return; }
692 if (string == "slide_from_bottom") { result = RNSModalScreenStackAnimation::Slide_from_bottom; return; }
693 if (string == "fade_from_bottom") { result = RNSModalScreenStackAnimation::Fade_from_bottom; return; }
694 if (string == "ios_from_right") { result = RNSModalScreenStackAnimation::Ios_from_right; return; }
695 if (string == "ios_from_left") { result = RNSModalScreenStackAnimation::Ios_from_left; return; }
696 abort();
697}
698
699static inline std::string toString(const RNSModalScreenStackAnimation &value) {
700 switch (value) {
701 case RNSModalScreenStackAnimation::Default: return "default";
702 case RNSModalScreenStackAnimation::Flip: return "flip";
703 case RNSModalScreenStackAnimation::Simple_push: return "simple_push";
704 case RNSModalScreenStackAnimation::None: return "none";
705 case RNSModalScreenStackAnimation::Fade: return "fade";
706 case RNSModalScreenStackAnimation::Slide_from_right: return "slide_from_right";
707 case RNSModalScreenStackAnimation::Slide_from_left: return "slide_from_left";
708 case RNSModalScreenStackAnimation::Slide_from_bottom: return "slide_from_bottom";
709 case RNSModalScreenStackAnimation::Fade_from_bottom: return "fade_from_bottom";
710 case RNSModalScreenStackAnimation::Ios_from_right: return "ios_from_right";
711 case RNSModalScreenStackAnimation::Ios_from_left: return "ios_from_left";
712 }
713}
714
715#ifdef RN_SERIALIZABLE_STATE
716static inline folly::dynamic toDynamic(const RNSModalScreenStackAnimation &value) {
717 return toString(value);
718}
719#endif
720enum class RNSModalScreenReplaceAnimation { Pop, Push };
721
722static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSModalScreenReplaceAnimation &result) {
723 auto string = (std::string)value;
724 if (string == "pop") { result = RNSModalScreenReplaceAnimation::Pop; return; }
725 if (string == "push") { result = RNSModalScreenReplaceAnimation::Push; return; }
726 abort();
727}
728
729static inline std::string toString(const RNSModalScreenReplaceAnimation &value) {
730 switch (value) {
731 case RNSModalScreenReplaceAnimation::Pop: return "pop";
732 case RNSModalScreenReplaceAnimation::Push: return "push";
733 }
734}
735
736#ifdef RN_SERIALIZABLE_STATE
737static inline folly::dynamic toDynamic(const RNSModalScreenReplaceAnimation &value) {
738 return toString(value);
739}
740#endif
741enum class RNSModalScreenSwipeDirection { Vertical, Horizontal };
742
743static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSModalScreenSwipeDirection &result) {
744 auto string = (std::string)value;
745 if (string == "vertical") { result = RNSModalScreenSwipeDirection::Vertical; return; }
746 if (string == "horizontal") { result = RNSModalScreenSwipeDirection::Horizontal; return; }
747 abort();
748}
749
750static inline std::string toString(const RNSModalScreenSwipeDirection &value) {
751 switch (value) {
752 case RNSModalScreenSwipeDirection::Vertical: return "vertical";
753 case RNSModalScreenSwipeDirection::Horizontal: return "horizontal";
754 }
755}
756
757#ifdef RN_SERIALIZABLE_STATE
758static inline folly::dynamic toDynamic(const RNSModalScreenSwipeDirection &value) {
759 return toString(value);
760}
761#endif
762struct RNSModalScreenGestureResponseDistanceStruct {
763 Float start{0.0};
764 Float end{0.0};
765 Float top{0.0};
766 Float bottom{0.0};
767
768#ifdef RN_SERIALIZABLE_STATE
769 bool operator==(const RNSModalScreenGestureResponseDistanceStruct&) const = default;
770
771 folly::dynamic toDynamic() const {
772 folly::dynamic result = folly::dynamic::object();
773 result["start"] = start;
774 result["end"] = end;
775 result["top"] = top;
776 result["bottom"] = bottom;
777 return result;
778 }
779#endif
780};
781
782static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSModalScreenGestureResponseDistanceStruct &result) {
783 auto map = (std::unordered_map<std::string, RawValue>)value;
784
785 auto tmp_start = map.find("start");
786 if (tmp_start != map.end()) {
787 fromRawValue(context, tmp_start->second, result.start);
788 }
789 auto tmp_end = map.find("end");
790 if (tmp_end != map.end()) {
791 fromRawValue(context, tmp_end->second, result.end);
792 }
793 auto tmp_top = map.find("top");
794 if (tmp_top != map.end()) {
795 fromRawValue(context, tmp_top->second, result.top);
796 }
797 auto tmp_bottom = map.find("bottom");
798 if (tmp_bottom != map.end()) {
799 fromRawValue(context, tmp_bottom->second, result.bottom);
800 }
801}
802
803static inline std::string toString(const RNSModalScreenGestureResponseDistanceStruct &value) {
804 return "[Object RNSModalScreenGestureResponseDistanceStruct]";
805}
806
807#ifdef RN_SERIALIZABLE_STATE
808static inline folly::dynamic toDynamic(const RNSModalScreenGestureResponseDistanceStruct &value) {
809 return value.toDynamic();
810}
811#endif
812class RNSModalScreenProps final : public ViewProps {
813 public:
814 RNSModalScreenProps() = default;
815 RNSModalScreenProps(const PropsParserContext& context, const RNSModalScreenProps &sourceProps, const RawProps &rawProps);
816
817#pragma mark - Props
818
819 std::string screenId{""};
820 std::vector<Float> sheetAllowedDetents{};
821 int sheetLargestUndimmedDetent{-1};
822 bool sheetGrabberVisible{false};
823 Float sheetCornerRadius{-1.0};
824 bool sheetExpandsWhenScrolledToEdge{false};
825 int sheetInitialDetent{0};
826 int sheetElevation{24};
827 bool customAnimationOnSwipe{false};
828 bool fullScreenSwipeEnabled{false};
829 bool fullScreenSwipeShadowEnabled{true};
830 bool homeIndicatorHidden{false};
831 bool preventNativeDismiss{false};
832 bool gestureEnabled{true};
833 SharedColor statusBarColor{};
834 bool statusBarHidden{false};
835 std::string screenOrientation{};
836 std::string statusBarAnimation{};
837 std::string statusBarStyle{};
838 bool statusBarTranslucent{false};
839 RNSModalScreenGestureResponseDistanceStruct gestureResponseDistance{};
840 RNSModalScreenStackPresentation stackPresentation{RNSModalScreenStackPresentation::Push};
841 RNSModalScreenStackAnimation stackAnimation{RNSModalScreenStackAnimation::Default};
842 int transitionDuration{500};
843 RNSModalScreenReplaceAnimation replaceAnimation{RNSModalScreenReplaceAnimation::Pop};
844 RNSModalScreenSwipeDirection swipeDirection{RNSModalScreenSwipeDirection::Horizontal};
845 bool hideKeyboardOnSwipe{false};
846 Float activityState{-1.0};
847 SharedColor navigationBarColor{};
848 bool navigationBarTranslucent{false};
849 bool navigationBarHidden{false};
850 bool nativeBackButtonDismissalEnabled{false};
851
852 #ifdef RN_SERIALIZABLE_STATE
853 ComponentName getDiffPropsImplementationTarget() const override;
854
855 folly::dynamic getDiffProps(const Props* prevProps) const override;
856 #endif
857};
858
859class RNSScreenContainerProps final : public ViewProps {
860 public:
861 RNSScreenContainerProps() = default;
862 RNSScreenContainerProps(const PropsParserContext& context, const RNSScreenContainerProps &sourceProps, const RawProps &rawProps);
863
864#pragma mark - Props
865
866
867
868 #ifdef RN_SERIALIZABLE_STATE
869 ComponentName getDiffPropsImplementationTarget() const override;
870
871 folly::dynamic getDiffProps(const Props* prevProps) const override;
872 #endif
873};
874
875class RNSScreenContentWrapperProps final : public ViewProps {
876 public:
877 RNSScreenContentWrapperProps() = default;
878 RNSScreenContentWrapperProps(const PropsParserContext& context, const RNSScreenContentWrapperProps &sourceProps, const RawProps &rawProps);
879
880#pragma mark - Props
881
882
883
884 #ifdef RN_SERIALIZABLE_STATE
885 ComponentName getDiffPropsImplementationTarget() const override;
886
887 folly::dynamic getDiffProps(const Props* prevProps) const override;
888 #endif
889};
890
891class RNSScreenFooterProps final : public ViewProps {
892 public:
893 RNSScreenFooterProps() = default;
894 RNSScreenFooterProps(const PropsParserContext& context, const RNSScreenFooterProps &sourceProps, const RawProps &rawProps);
895
896#pragma mark - Props
897
898
899
900 #ifdef RN_SERIALIZABLE_STATE
901 ComponentName getDiffPropsImplementationTarget() const override;
902
903 folly::dynamic getDiffProps(const Props* prevProps) const override;
904 #endif
905};
906
907enum class RNSScreenStackPresentation { Push, Modal, TransparentModal, FullScreenModal, FormSheet, PageSheet, ContainedModal, ContainedTransparentModal };
908
909static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackPresentation &result) {
910 auto string = (std::string)value;
911 if (string == "push") { result = RNSScreenStackPresentation::Push; return; }
912 if (string == "modal") { result = RNSScreenStackPresentation::Modal; return; }
913 if (string == "transparentModal") { result = RNSScreenStackPresentation::TransparentModal; return; }
914 if (string == "fullScreenModal") { result = RNSScreenStackPresentation::FullScreenModal; return; }
915 if (string == "formSheet") { result = RNSScreenStackPresentation::FormSheet; return; }
916 if (string == "pageSheet") { result = RNSScreenStackPresentation::PageSheet; return; }
917 if (string == "containedModal") { result = RNSScreenStackPresentation::ContainedModal; return; }
918 if (string == "containedTransparentModal") { result = RNSScreenStackPresentation::ContainedTransparentModal; return; }
919 abort();
920}
921
922static inline std::string toString(const RNSScreenStackPresentation &value) {
923 switch (value) {
924 case RNSScreenStackPresentation::Push: return "push";
925 case RNSScreenStackPresentation::Modal: return "modal";
926 case RNSScreenStackPresentation::TransparentModal: return "transparentModal";
927 case RNSScreenStackPresentation::FullScreenModal: return "fullScreenModal";
928 case RNSScreenStackPresentation::FormSheet: return "formSheet";
929 case RNSScreenStackPresentation::PageSheet: return "pageSheet";
930 case RNSScreenStackPresentation::ContainedModal: return "containedModal";
931 case RNSScreenStackPresentation::ContainedTransparentModal: return "containedTransparentModal";
932 }
933}
934
935#ifdef RN_SERIALIZABLE_STATE
936static inline folly::dynamic toDynamic(const RNSScreenStackPresentation &value) {
937 return toString(value);
938}
939#endif
940enum class RNSScreenStackAnimation { Default, Flip, Simple_push, None, Fade, Slide_from_right, Slide_from_left, Slide_from_bottom, Fade_from_bottom, Ios_from_right, Ios_from_left };
941
942static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackAnimation &result) {
943 auto string = (std::string)value;
944 if (string == "default") { result = RNSScreenStackAnimation::Default; return; }
945 if (string == "flip") { result = RNSScreenStackAnimation::Flip; return; }
946 if (string == "simple_push") { result = RNSScreenStackAnimation::Simple_push; return; }
947 if (string == "none") { result = RNSScreenStackAnimation::None; return; }
948 if (string == "fade") { result = RNSScreenStackAnimation::Fade; return; }
949 if (string == "slide_from_right") { result = RNSScreenStackAnimation::Slide_from_right; return; }
950 if (string == "slide_from_left") { result = RNSScreenStackAnimation::Slide_from_left; return; }
951 if (string == "slide_from_bottom") { result = RNSScreenStackAnimation::Slide_from_bottom; return; }
952 if (string == "fade_from_bottom") { result = RNSScreenStackAnimation::Fade_from_bottom; return; }
953 if (string == "ios_from_right") { result = RNSScreenStackAnimation::Ios_from_right; return; }
954 if (string == "ios_from_left") { result = RNSScreenStackAnimation::Ios_from_left; return; }
955 abort();
956}
957
958static inline std::string toString(const RNSScreenStackAnimation &value) {
959 switch (value) {
960 case RNSScreenStackAnimation::Default: return "default";
961 case RNSScreenStackAnimation::Flip: return "flip";
962 case RNSScreenStackAnimation::Simple_push: return "simple_push";
963 case RNSScreenStackAnimation::None: return "none";
964 case RNSScreenStackAnimation::Fade: return "fade";
965 case RNSScreenStackAnimation::Slide_from_right: return "slide_from_right";
966 case RNSScreenStackAnimation::Slide_from_left: return "slide_from_left";
967 case RNSScreenStackAnimation::Slide_from_bottom: return "slide_from_bottom";
968 case RNSScreenStackAnimation::Fade_from_bottom: return "fade_from_bottom";
969 case RNSScreenStackAnimation::Ios_from_right: return "ios_from_right";
970 case RNSScreenStackAnimation::Ios_from_left: return "ios_from_left";
971 }
972}
973
974#ifdef RN_SERIALIZABLE_STATE
975static inline folly::dynamic toDynamic(const RNSScreenStackAnimation &value) {
976 return toString(value);
977}
978#endif
979enum class RNSScreenReplaceAnimation { Pop, Push };
980
981static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenReplaceAnimation &result) {
982 auto string = (std::string)value;
983 if (string == "pop") { result = RNSScreenReplaceAnimation::Pop; return; }
984 if (string == "push") { result = RNSScreenReplaceAnimation::Push; return; }
985 abort();
986}
987
988static inline std::string toString(const RNSScreenReplaceAnimation &value) {
989 switch (value) {
990 case RNSScreenReplaceAnimation::Pop: return "pop";
991 case RNSScreenReplaceAnimation::Push: return "push";
992 }
993}
994
995#ifdef RN_SERIALIZABLE_STATE
996static inline folly::dynamic toDynamic(const RNSScreenReplaceAnimation &value) {
997 return toString(value);
998}
999#endif
1000enum class RNSScreenSwipeDirection { Vertical, Horizontal };
1001
1002static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenSwipeDirection &result) {
1003 auto string = (std::string)value;
1004 if (string == "vertical") { result = RNSScreenSwipeDirection::Vertical; return; }
1005 if (string == "horizontal") { result = RNSScreenSwipeDirection::Horizontal; return; }
1006 abort();
1007}
1008
1009static inline std::string toString(const RNSScreenSwipeDirection &value) {
1010 switch (value) {
1011 case RNSScreenSwipeDirection::Vertical: return "vertical";
1012 case RNSScreenSwipeDirection::Horizontal: return "horizontal";
1013 }
1014}
1015
1016#ifdef RN_SERIALIZABLE_STATE
1017static inline folly::dynamic toDynamic(const RNSScreenSwipeDirection &value) {
1018 return toString(value);
1019}
1020#endif
1021struct RNSScreenGestureResponseDistanceStruct {
1022 Float start{0.0};
1023 Float end{0.0};
1024 Float top{0.0};
1025 Float bottom{0.0};
1026
1027#ifdef RN_SERIALIZABLE_STATE
1028 bool operator==(const RNSScreenGestureResponseDistanceStruct&) const = default;
1029
1030 folly::dynamic toDynamic() const {
1031 folly::dynamic result = folly::dynamic::object();
1032 result["start"] = start;
1033 result["end"] = end;
1034 result["top"] = top;
1035 result["bottom"] = bottom;
1036 return result;
1037 }
1038#endif
1039};
1040
1041static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenGestureResponseDistanceStruct &result) {
1042 auto map = (std::unordered_map<std::string, RawValue>)value;
1043
1044 auto tmp_start = map.find("start");
1045 if (tmp_start != map.end()) {
1046 fromRawValue(context, tmp_start->second, result.start);
1047 }
1048 auto tmp_end = map.find("end");
1049 if (tmp_end != map.end()) {
1050 fromRawValue(context, tmp_end->second, result.end);
1051 }
1052 auto tmp_top = map.find("top");
1053 if (tmp_top != map.end()) {
1054 fromRawValue(context, tmp_top->second, result.top);
1055 }
1056 auto tmp_bottom = map.find("bottom");
1057 if (tmp_bottom != map.end()) {
1058 fromRawValue(context, tmp_bottom->second, result.bottom);
1059 }
1060}
1061
1062static inline std::string toString(const RNSScreenGestureResponseDistanceStruct &value) {
1063 return "[Object RNSScreenGestureResponseDistanceStruct]";
1064}
1065
1066#ifdef RN_SERIALIZABLE_STATE
1067static inline folly::dynamic toDynamic(const RNSScreenGestureResponseDistanceStruct &value) {
1068 return value.toDynamic();
1069}
1070#endif
1071class RNSScreenProps final : public ViewProps {
1072 public:
1073 RNSScreenProps() = default;
1074 RNSScreenProps(const PropsParserContext& context, const RNSScreenProps &sourceProps, const RawProps &rawProps);
1075
1076#pragma mark - Props
1077
1078 std::string screenId{""};
1079 std::vector<Float> sheetAllowedDetents{};
1080 int sheetLargestUndimmedDetent{-1};
1081 bool sheetGrabberVisible{false};
1082 Float sheetCornerRadius{-1.0};
1083 bool sheetExpandsWhenScrolledToEdge{false};
1084 int sheetInitialDetent{0};
1085 int sheetElevation{24};
1086 bool customAnimationOnSwipe{false};
1087 bool fullScreenSwipeEnabled{false};
1088 bool fullScreenSwipeShadowEnabled{true};
1089 bool homeIndicatorHidden{false};
1090 bool preventNativeDismiss{false};
1091 bool gestureEnabled{true};
1092 SharedColor statusBarColor{};
1093 bool statusBarHidden{false};
1094 std::string screenOrientation{};
1095 std::string statusBarAnimation{};
1096 std::string statusBarStyle{};
1097 bool statusBarTranslucent{false};
1098 RNSScreenGestureResponseDistanceStruct gestureResponseDistance{};
1099 RNSScreenStackPresentation stackPresentation{RNSScreenStackPresentation::Push};
1100 RNSScreenStackAnimation stackAnimation{RNSScreenStackAnimation::Default};
1101 int transitionDuration{500};
1102 RNSScreenReplaceAnimation replaceAnimation{RNSScreenReplaceAnimation::Pop};
1103 RNSScreenSwipeDirection swipeDirection{RNSScreenSwipeDirection::Horizontal};
1104 bool hideKeyboardOnSwipe{false};
1105 Float activityState{-1.0};
1106 SharedColor navigationBarColor{};
1107 bool navigationBarTranslucent{false};
1108 bool navigationBarHidden{false};
1109 bool nativeBackButtonDismissalEnabled{false};
1110
1111 #ifdef RN_SERIALIZABLE_STATE
1112 ComponentName getDiffPropsImplementationTarget() const override;
1113
1114 folly::dynamic getDiffProps(const Props* prevProps) const override;
1115 #endif
1116};
1117
1118class RNSScreenNavigationContainerProps final : public ViewProps {
1119 public:
1120 RNSScreenNavigationContainerProps() = default;
1121 RNSScreenNavigationContainerProps(const PropsParserContext& context, const RNSScreenNavigationContainerProps &sourceProps, const RawProps &rawProps);
1122
1123#pragma mark - Props
1124
1125
1126
1127 #ifdef RN_SERIALIZABLE_STATE
1128 ComponentName getDiffPropsImplementationTarget() const override;
1129
1130 folly::dynamic getDiffProps(const Props* prevProps) const override;
1131 #endif
1132};
1133
1134enum class RNSScreenStackHeaderConfigDirection { Rtl, Ltr };
1135
1136static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackHeaderConfigDirection &result) {
1137 auto string = (std::string)value;
1138 if (string == "rtl") { result = RNSScreenStackHeaderConfigDirection::Rtl; return; }
1139 if (string == "ltr") { result = RNSScreenStackHeaderConfigDirection::Ltr; return; }
1140 abort();
1141}
1142
1143static inline std::string toString(const RNSScreenStackHeaderConfigDirection &value) {
1144 switch (value) {
1145 case RNSScreenStackHeaderConfigDirection::Rtl: return "rtl";
1146 case RNSScreenStackHeaderConfigDirection::Ltr: return "ltr";
1147 }
1148}
1149
1150#ifdef RN_SERIALIZABLE_STATE
1151static inline folly::dynamic toDynamic(const RNSScreenStackHeaderConfigDirection &value) {
1152 return toString(value);
1153}
1154#endif
1155enum class RNSScreenStackHeaderConfigBackButtonDisplayMode { Minimal, Default, Generic };
1156
1157static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackHeaderConfigBackButtonDisplayMode &result) {
1158 auto string = (std::string)value;
1159 if (string == "minimal") { result = RNSScreenStackHeaderConfigBackButtonDisplayMode::Minimal; return; }
1160 if (string == "default") { result = RNSScreenStackHeaderConfigBackButtonDisplayMode::Default; return; }
1161 if (string == "generic") { result = RNSScreenStackHeaderConfigBackButtonDisplayMode::Generic; return; }
1162 abort();
1163}
1164
1165static inline std::string toString(const RNSScreenStackHeaderConfigBackButtonDisplayMode &value) {
1166 switch (value) {
1167 case RNSScreenStackHeaderConfigBackButtonDisplayMode::Minimal: return "minimal";
1168 case RNSScreenStackHeaderConfigBackButtonDisplayMode::Default: return "default";
1169 case RNSScreenStackHeaderConfigBackButtonDisplayMode::Generic: return "generic";
1170 }
1171}
1172
1173#ifdef RN_SERIALIZABLE_STATE
1174static inline folly::dynamic toDynamic(const RNSScreenStackHeaderConfigBackButtonDisplayMode &value) {
1175 return toString(value);
1176}
1177#endif
1178enum class RNSScreenStackHeaderConfigBlurEffect { None, ExtraLight, Light, Dark, Regular, Prominent, SystemUltraThinMaterial, SystemThinMaterial, SystemMaterial, SystemThickMaterial, SystemChromeMaterial, SystemUltraThinMaterialLight, SystemThinMaterialLight, SystemMaterialLight, SystemThickMaterialLight, SystemChromeMaterialLight, SystemUltraThinMaterialDark, SystemThinMaterialDark, SystemMaterialDark, SystemThickMaterialDark, SystemChromeMaterialDark };
1179
1180static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackHeaderConfigBlurEffect &result) {
1181 auto string = (std::string)value;
1182 if (string == "none") { result = RNSScreenStackHeaderConfigBlurEffect::None; return; }
1183 if (string == "extraLight") { result = RNSScreenStackHeaderConfigBlurEffect::ExtraLight; return; }
1184 if (string == "light") { result = RNSScreenStackHeaderConfigBlurEffect::Light; return; }
1185 if (string == "dark") { result = RNSScreenStackHeaderConfigBlurEffect::Dark; return; }
1186 if (string == "regular") { result = RNSScreenStackHeaderConfigBlurEffect::Regular; return; }
1187 if (string == "prominent") { result = RNSScreenStackHeaderConfigBlurEffect::Prominent; return; }
1188 if (string == "systemUltraThinMaterial") { result = RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterial; return; }
1189 if (string == "systemThinMaterial") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterial; return; }
1190 if (string == "systemMaterial") { result = RNSScreenStackHeaderConfigBlurEffect::SystemMaterial; return; }
1191 if (string == "systemThickMaterial") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterial; return; }
1192 if (string == "systemChromeMaterial") { result = RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterial; return; }
1193 if (string == "systemUltraThinMaterialLight") { result = RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialLight; return; }
1194 if (string == "systemThinMaterialLight") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialLight; return; }
1195 if (string == "systemMaterialLight") { result = RNSScreenStackHeaderConfigBlurEffect::SystemMaterialLight; return; }
1196 if (string == "systemThickMaterialLight") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialLight; return; }
1197 if (string == "systemChromeMaterialLight") { result = RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialLight; return; }
1198 if (string == "systemUltraThinMaterialDark") { result = RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialDark; return; }
1199 if (string == "systemThinMaterialDark") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialDark; return; }
1200 if (string == "systemMaterialDark") { result = RNSScreenStackHeaderConfigBlurEffect::SystemMaterialDark; return; }
1201 if (string == "systemThickMaterialDark") { result = RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialDark; return; }
1202 if (string == "systemChromeMaterialDark") { result = RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialDark; return; }
1203 abort();
1204}
1205
1206static inline std::string toString(const RNSScreenStackHeaderConfigBlurEffect &value) {
1207 switch (value) {
1208 case RNSScreenStackHeaderConfigBlurEffect::None: return "none";
1209 case RNSScreenStackHeaderConfigBlurEffect::ExtraLight: return "extraLight";
1210 case RNSScreenStackHeaderConfigBlurEffect::Light: return "light";
1211 case RNSScreenStackHeaderConfigBlurEffect::Dark: return "dark";
1212 case RNSScreenStackHeaderConfigBlurEffect::Regular: return "regular";
1213 case RNSScreenStackHeaderConfigBlurEffect::Prominent: return "prominent";
1214 case RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterial: return "systemUltraThinMaterial";
1215 case RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterial: return "systemThinMaterial";
1216 case RNSScreenStackHeaderConfigBlurEffect::SystemMaterial: return "systemMaterial";
1217 case RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterial: return "systemThickMaterial";
1218 case RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterial: return "systemChromeMaterial";
1219 case RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialLight: return "systemUltraThinMaterialLight";
1220 case RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialLight: return "systemThinMaterialLight";
1221 case RNSScreenStackHeaderConfigBlurEffect::SystemMaterialLight: return "systemMaterialLight";
1222 case RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialLight: return "systemThickMaterialLight";
1223 case RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialLight: return "systemChromeMaterialLight";
1224 case RNSScreenStackHeaderConfigBlurEffect::SystemUltraThinMaterialDark: return "systemUltraThinMaterialDark";
1225 case RNSScreenStackHeaderConfigBlurEffect::SystemThinMaterialDark: return "systemThinMaterialDark";
1226 case RNSScreenStackHeaderConfigBlurEffect::SystemMaterialDark: return "systemMaterialDark";
1227 case RNSScreenStackHeaderConfigBlurEffect::SystemThickMaterialDark: return "systemThickMaterialDark";
1228 case RNSScreenStackHeaderConfigBlurEffect::SystemChromeMaterialDark: return "systemChromeMaterialDark";
1229 }
1230}
1231
1232#ifdef RN_SERIALIZABLE_STATE
1233static inline folly::dynamic toDynamic(const RNSScreenStackHeaderConfigBlurEffect &value) {
1234 return toString(value);
1235}
1236#endif
1237
1238class RNSScreenStackHeaderConfigProps final : public ViewProps {
1239 public:
1240 RNSScreenStackHeaderConfigProps() = default;
1241 RNSScreenStackHeaderConfigProps(const PropsParserContext& context, const RNSScreenStackHeaderConfigProps &sourceProps, const RawProps &rawProps);
1242
1243#pragma mark - Props
1244
1245 SharedColor backgroundColor{};
1246 std::string backTitle{};
1247 std::string backTitleFontFamily{};
1248 int backTitleFontSize{0};
1249 bool backTitleVisible{true};
1250 SharedColor color{};
1251 RNSScreenStackHeaderConfigDirection direction{RNSScreenStackHeaderConfigDirection::Ltr};
1252 bool hidden{false};
1253 bool hideShadow{false};
1254 bool largeTitle{false};
1255 std::string largeTitleFontFamily{};
1256 int largeTitleFontSize{0};
1257 std::string largeTitleFontWeight{};
1258 SharedColor largeTitleBackgroundColor{};
1259 bool largeTitleHideShadow{false};
1260 SharedColor largeTitleColor{};
1261 bool translucent{false};
1262 std::string title{};
1263 std::string titleFontFamily{};
1264 int titleFontSize{0};
1265 std::string titleFontWeight{};
1266 SharedColor titleColor{};
1267 bool disableBackButtonMenu{false};
1268 RNSScreenStackHeaderConfigBackButtonDisplayMode backButtonDisplayMode{RNSScreenStackHeaderConfigBackButtonDisplayMode::Default};
1269 bool hideBackButton{false};
1270 bool backButtonInCustomView{false};
1271 RNSScreenStackHeaderConfigBlurEffect blurEffect{RNSScreenStackHeaderConfigBlurEffect::None};
1272 bool topInsetEnabled{false};
1273
1274 #ifdef RN_SERIALIZABLE_STATE
1275 ComponentName getDiffPropsImplementationTarget() const override;
1276
1277 folly::dynamic getDiffProps(const Props* prevProps) const override;
1278 #endif
1279};
1280
1281enum class RNSScreenStackHeaderSubviewType { Back, Right, Left, Title, Center, SearchBar };
1282
1283static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSScreenStackHeaderSubviewType &result) {
1284 auto string = (std::string)value;
1285 if (string == "back") { result = RNSScreenStackHeaderSubviewType::Back; return; }
1286 if (string == "right") { result = RNSScreenStackHeaderSubviewType::Right; return; }
1287 if (string == "left") { result = RNSScreenStackHeaderSubviewType::Left; return; }
1288 if (string == "title") { result = RNSScreenStackHeaderSubviewType::Title; return; }
1289 if (string == "center") { result = RNSScreenStackHeaderSubviewType::Center; return; }
1290 if (string == "searchBar") { result = RNSScreenStackHeaderSubviewType::SearchBar; return; }
1291 abort();
1292}
1293
1294static inline std::string toString(const RNSScreenStackHeaderSubviewType &value) {
1295 switch (value) {
1296 case RNSScreenStackHeaderSubviewType::Back: return "back";
1297 case RNSScreenStackHeaderSubviewType::Right: return "right";
1298 case RNSScreenStackHeaderSubviewType::Left: return "left";
1299 case RNSScreenStackHeaderSubviewType::Title: return "title";
1300 case RNSScreenStackHeaderSubviewType::Center: return "center";
1301 case RNSScreenStackHeaderSubviewType::SearchBar: return "searchBar";
1302 }
1303}
1304
1305#ifdef RN_SERIALIZABLE_STATE
1306static inline folly::dynamic toDynamic(const RNSScreenStackHeaderSubviewType &value) {
1307 return toString(value);
1308}
1309#endif
1310
1311class RNSScreenStackHeaderSubviewProps final : public ViewProps {
1312 public:
1313 RNSScreenStackHeaderSubviewProps() = default;
1314 RNSScreenStackHeaderSubviewProps(const PropsParserContext& context, const RNSScreenStackHeaderSubviewProps &sourceProps, const RawProps &rawProps);
1315
1316#pragma mark - Props
1317
1318 RNSScreenStackHeaderSubviewType type{RNSScreenStackHeaderSubviewType::Left};
1319
1320 #ifdef RN_SERIALIZABLE_STATE
1321 ComponentName getDiffPropsImplementationTarget() const override;
1322
1323 folly::dynamic getDiffProps(const Props* prevProps) const override;
1324 #endif
1325};
1326
1327class RNSScreenStackProps final : public ViewProps {
1328 public:
1329 RNSScreenStackProps() = default;
1330 RNSScreenStackProps(const PropsParserContext& context, const RNSScreenStackProps &sourceProps, const RawProps &rawProps);
1331
1332#pragma mark - Props
1333
1334
1335
1336 #ifdef RN_SERIALIZABLE_STATE
1337 ComponentName getDiffPropsImplementationTarget() const override;
1338
1339 folly::dynamic getDiffProps(const Props* prevProps) const override;
1340 #endif
1341};
1342
1343enum class RNSSearchBarAutoCapitalize { None, Words, Sentences, Characters };
1344
1345static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSearchBarAutoCapitalize &result) {
1346 auto string = (std::string)value;
1347 if (string == "none") { result = RNSSearchBarAutoCapitalize::None; return; }
1348 if (string == "words") { result = RNSSearchBarAutoCapitalize::Words; return; }
1349 if (string == "sentences") { result = RNSSearchBarAutoCapitalize::Sentences; return; }
1350 if (string == "characters") { result = RNSSearchBarAutoCapitalize::Characters; return; }
1351 abort();
1352}
1353
1354static inline std::string toString(const RNSSearchBarAutoCapitalize &value) {
1355 switch (value) {
1356 case RNSSearchBarAutoCapitalize::None: return "none";
1357 case RNSSearchBarAutoCapitalize::Words: return "words";
1358 case RNSSearchBarAutoCapitalize::Sentences: return "sentences";
1359 case RNSSearchBarAutoCapitalize::Characters: return "characters";
1360 }
1361}
1362
1363#ifdef RN_SERIALIZABLE_STATE
1364static inline folly::dynamic toDynamic(const RNSSearchBarAutoCapitalize &value) {
1365 return toString(value);
1366}
1367#endif
1368enum class RNSSearchBarPlacement { Automatic, Inline, Stacked, Integrated, IntegratedButton, IntegratedCentered };
1369
1370static inline void fromRawValue(const PropsParserContext& context, const RawValue &value, RNSSearchBarPlacement &result) {
1371 auto string = (std::string)value;
1372 if (string == "automatic") { result = RNSSearchBarPlacement::Automatic; return; }
1373 if (string == "inline") { result = RNSSearchBarPlacement::Inline; return; }
1374 if (string == "stacked") { result = RNSSearchBarPlacement::Stacked; return; }
1375 if (string == "integrated") { result = RNSSearchBarPlacement::Integrated; return; }
1376 if (string == "integratedButton") { result = RNSSearchBarPlacement::IntegratedButton; return; }
1377 if (string == "integratedCentered") { result = RNSSearchBarPlacement::IntegratedCentered; return; }
1378 abort();
1379}
1380
1381static inline std::string toString(const RNSSearchBarPlacement &value) {
1382 switch (value) {
1383 case RNSSearchBarPlacement::Automatic: return "automatic";
1384 case RNSSearchBarPlacement::Inline: return "inline";
1385 case RNSSearchBarPlacement::Stacked: return "stacked";
1386 case RNSSearchBarPlacement::Integrated: return "integrated";
1387 case RNSSearchBarPlacement::IntegratedButton: return "integratedButton";
1388 case RNSSearchBarPlacement::IntegratedCentered: return "integratedCentered";
1389 }
1390}
1391
1392#ifdef RN_SERIALIZABLE_STATE
1393static inline folly::dynamic toDynamic(const RNSSearchBarPlacement &value) {
1394 return toString(value);
1395}
1396#endif
1397
1398class RNSSearchBarProps final : public ViewProps {
1399 public:
1400 RNSSearchBarProps() = default;
1401 RNSSearchBarProps(const PropsParserContext& context, const RNSSearchBarProps &sourceProps, const RawProps &rawProps);
1402
1403#pragma mark - Props
1404
1405 bool hideWhenScrolling{true};
1406 RNSSearchBarAutoCapitalize autoCapitalize{RNSSearchBarAutoCapitalize::None};
1407 std::string placeholder{};
1408 RNSSearchBarPlacement placement{RNSSearchBarPlacement::Automatic};
1409 bool allowToolbarIntegration{true};
1410 bool obscureBackground{false};
1411 bool hideNavigationBar{false};
1412 std::string cancelButtonText{};
1413 SharedColor barTintColor{};
1414 SharedColor tintColor{};
1415 SharedColor textColor{};
1416 bool disableBackButtonOverride{false};
1417 std::string inputType{};
1418 SharedColor hintTextColor{};
1419 SharedColor headerIconColor{};
1420 bool shouldShowHintSearchIcon{true};
1421
1422 #ifdef RN_SERIALIZABLE_STATE
1423 ComponentName getDiffPropsImplementationTarget() const override;
1424
1425 folly::dynamic getDiffProps(const Props* prevProps) const override;
1426 #endif
1427};
1428
1429} // namespace facebook::react