react-native-screens 4.11.0-beta.0 → 4.11.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNScreens.podspec +3 -1
- package/android/src/main/java/com/swmansion/rnscreens/Screen.kt +18 -12
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +48 -97
- package/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt +4 -124
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetDelegate.kt +2 -2
- package/android/src/main/java/com/swmansion/rnscreens/bottomsheet/SheetUtils.kt +23 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/anim/ScreensAnimation.kt +18 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/views/ChildDrawingOrderStrategyImpl.kt +48 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/views/ChildrenDrawingOrderStrategy.kt +24 -0
- package/android/src/main/java/com/swmansion/rnscreens/stack/views/ScreensCoordinatorLayout.kt +99 -0
- package/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.cpp +1 -2
- package/ios/RNSConvert.mm +44 -47
- package/ios/RNSFullWindowOverlay.h +2 -0
- package/ios/RNSFullWindowOverlay.mm +32 -8
- package/ios/RNSScreen.mm +20 -34
- package/ios/RNSScreenStack.mm +6 -8
- package/ios/RNSScreenStackHeaderConfig.mm +120 -223
- package/ios/RNSScreenWindowTraits.mm +19 -37
- package/ios/RNSSearchBar.mm +15 -24
- package/lib/commonjs/components/FullWindowOverlay.js +2 -1
- package/lib/commonjs/components/FullWindowOverlay.js.map +1 -1
- package/lib/commonjs/components/ScreenContentWrapper.windows.js +10 -0
- package/lib/commonjs/components/ScreenContentWrapper.windows.js.map +1 -0
- package/lib/commonjs/components/ScreenFooter.windows.js +11 -0
- package/lib/commonjs/components/ScreenFooter.windows.js.map +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +1 -0
- package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/module/components/FullWindowOverlay.js +2 -1
- package/lib/module/components/FullWindowOverlay.js.map +1 -1
- package/lib/module/components/ScreenContentWrapper.windows.js +4 -0
- package/lib/module/components/ScreenContentWrapper.windows.js.map +1 -0
- package/lib/module/components/ScreenFooter.windows.js +6 -0
- package/lib/module/components/ScreenFooter.windows.js.map +1 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js +3 -0
- package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
- package/lib/typescript/components/FullWindowOverlay.d.ts +4 -2
- package/lib/typescript/components/FullWindowOverlay.d.ts.map +1 -1
- package/lib/typescript/components/ScreenContentWrapper.windows.d.ts +4 -0
- package/lib/typescript/components/ScreenContentWrapper.windows.d.ts.map +1 -0
- package/lib/typescript/components/ScreenFooter.windows.d.ts +6 -0
- package/lib/typescript/components/ScreenFooter.windows.d.ts.map +1 -0
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts +3 -1
- package/lib/typescript/fabric/FullWindowOverlayNativeComponent.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +1 -1
- package/lib/typescript/types.d.ts +2 -2
- package/native-stack/README.md +2 -2
- package/package.json +1 -1
- package/src/components/FullWindowOverlay.tsx +14 -3
- package/src/components/ScreenContentWrapper.windows.tsx +5 -0
- package/src/components/ScreenFooter.windows.tsx +7 -0
- package/src/fabric/FullWindowOverlayNativeComponent.ts +5 -1
- package/src/native-stack/types.tsx +1 -1
- package/src/types.tsx +2 -2
- package/windows/RNScreens/ModalScreenViewManager.cpp +22 -0
- package/windows/RNScreens/ModalScreenViewManager.h +13 -0
- package/windows/RNScreens/RNScreens.vcxproj +11 -1
- package/windows/RNScreens/RNScreens.vcxproj.filters +10 -0
- package/windows/RNScreens/ReactPackageProvider.cpp +18 -0
- package/windows/RNScreens/Screen.cpp +128 -122
- package/windows/RNScreens/Screen.h +6 -2
- package/windows/RNScreens/ScreenStackHeaderConfig.cpp +25 -1
- package/windows/RNScreens/ScreenStackHeaderConfig.h +10 -1
- package/windows/RNScreens/ScreenStackHeaderConfigViewManager.cpp +42 -1
- package/windows/RNScreens/ScreenStackHeaderConfigViewManager.h +15 -0
- package/windows/RNScreens/ScreenStackHeaderSubview.cpp +43 -0
- package/windows/RNScreens/ScreenStackHeaderSubview.h +24 -0
- package/windows/RNScreens/ScreenStackHeaderSubviewViewManager.cpp +129 -0
- package/windows/RNScreens/ScreenStackHeaderSubviewViewManager.h +77 -0
- package/windows/RNScreens/ScreenViewManager.cpp +45 -16
- package/windows/RNScreens/ScreenViewManager.h +1 -1
- package/windows/RNScreens/SearchBar.cpp +19 -0
- package/windows/RNScreens/SearchBar.h +14 -0
- package/windows/RNScreens/SearchBarViewManager.cpp +88 -0
- package/windows/RNScreens/SearchBarViewManager.h +62 -0
|
@@ -35,7 +35,10 @@
|
|
|
35
35
|
namespace react = facebook::react;
|
|
36
36
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
static constexpr auto DEFAULT_TITLE_FONT_SIZE = @17;
|
|
39
|
+
static constexpr auto DEFAULT_TITLE_LARGE_FONT_SIZE = @34;
|
|
40
|
+
|
|
41
|
+
#if !defined(RCT_NEW_ARCH_ENABLED)
|
|
39
42
|
// Some RN private method hacking below. Couldn't figure out better way to access image data
|
|
40
43
|
// of a given RCTImageView. See more comments in the code section processing SubviewTypeBackButton
|
|
41
44
|
@interface RCTImageView (Private)
|
|
@@ -276,96 +279,9 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
276
279
|
+ (void)setAnimatedConfig:(UIViewController *)vc withConfig:(RNSScreenStackHeaderConfig *)config
|
|
277
280
|
{
|
|
278
281
|
UINavigationBar *navbar = ((UINavigationController *)vc.parentViewController).navigationBar;
|
|
279
|
-
// It is workaround for loading custom back icon when transitioning from a screen without header to the screen which
|
|
280
|
-
// has one. This action fails when navigating to the screen with header for the second time and loads default back
|
|
281
|
-
// button. It looks like changing the tint color of navbar triggers an update of the items belonging to it and it
|
|
282
|
-
// seems to load the custom back image so we change the tint color's alpha by a very small amount and then set it to
|
|
283
|
-
// the one it should have.
|
|
284
|
-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_14_0) && \
|
|
285
|
-
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0
|
|
286
|
-
// it brakes the behavior of `headerRight` in iOS 14, where the bug desribed above seems to be fixed, so we do nothing
|
|
287
|
-
// in iOS 14
|
|
288
|
-
if (@available(iOS 14.0, *)) {
|
|
289
|
-
} else
|
|
290
|
-
#endif
|
|
291
|
-
{
|
|
292
|
-
[navbar setTintColor:[config.color colorWithAlphaComponent:CGColorGetAlpha(config.color.CGColor) - 0.01]];
|
|
293
|
-
}
|
|
294
282
|
[navbar setTintColor:config.color];
|
|
295
283
|
|
|
296
|
-
|
|
297
|
-
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
|
298
|
-
if (@available(iOS 13.0, *)) {
|
|
299
|
-
// font customized on the navigation item level, so nothing to do here
|
|
300
|
-
} else
|
|
301
|
-
#endif
|
|
302
|
-
{
|
|
303
|
-
BOOL hideShadow = config.hideShadow;
|
|
304
|
-
|
|
305
|
-
if (config.backgroundColor && CGColorGetAlpha(config.backgroundColor.CGColor) == 0.) {
|
|
306
|
-
[navbar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
|
|
307
|
-
[navbar setBarTintColor:[UIColor clearColor]];
|
|
308
|
-
hideShadow = YES;
|
|
309
|
-
} else {
|
|
310
|
-
[navbar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
|
|
311
|
-
[navbar setBarTintColor:config.backgroundColor];
|
|
312
|
-
}
|
|
313
|
-
[navbar setTranslucent:config.translucent];
|
|
314
|
-
[navbar setValue:@(hideShadow ? YES : NO) forKey:@"hidesShadow"];
|
|
315
|
-
|
|
316
|
-
if (config.titleFontFamily || config.titleFontSize || config.titleFontWeight || config.titleColor) {
|
|
317
|
-
NSMutableDictionary *attrs = [NSMutableDictionary new];
|
|
318
|
-
|
|
319
|
-
if (config.titleColor) {
|
|
320
|
-
attrs[NSForegroundColorAttributeName] = config.titleColor;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
NSString *family = config.titleFontFamily ?: nil;
|
|
324
|
-
NSNumber *size = config.titleFontSize ?: @17;
|
|
325
|
-
NSString *weight = config.titleFontWeight ?: nil;
|
|
326
|
-
if (family || weight) {
|
|
327
|
-
attrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
328
|
-
withFamily:family
|
|
329
|
-
size:size
|
|
330
|
-
weight:weight
|
|
331
|
-
style:nil
|
|
332
|
-
variant:nil
|
|
333
|
-
scaleMultiplier:1.0];
|
|
334
|
-
} else {
|
|
335
|
-
attrs[NSFontAttributeName] = [UIFont boldSystemFontOfSize:[size floatValue]];
|
|
336
|
-
}
|
|
337
|
-
[navbar setTitleTextAttributes:attrs];
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
#if !TARGET_OS_TV && !TARGET_OS_VISION
|
|
341
|
-
if (@available(iOS 11.0, *)) {
|
|
342
|
-
if (config.largeTitle &&
|
|
343
|
-
(config.largeTitleFontFamily || config.largeTitleFontSize || config.largeTitleFontWeight ||
|
|
344
|
-
config.largeTitleColor || config.titleColor)) {
|
|
345
|
-
NSMutableDictionary *largeAttrs = [NSMutableDictionary new];
|
|
346
|
-
if (config.largeTitleColor || config.titleColor) {
|
|
347
|
-
largeAttrs[NSForegroundColorAttributeName] =
|
|
348
|
-
config.largeTitleColor ? config.largeTitleColor : config.titleColor;
|
|
349
|
-
}
|
|
350
|
-
NSString *largeFamily = config.largeTitleFontFamily ?: nil;
|
|
351
|
-
NSNumber *largeSize = config.largeTitleFontSize ?: @34;
|
|
352
|
-
NSString *largeWeight = config.largeTitleFontWeight ?: nil;
|
|
353
|
-
if (largeFamily || largeWeight) {
|
|
354
|
-
largeAttrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
355
|
-
withFamily:largeFamily
|
|
356
|
-
size:largeSize
|
|
357
|
-
weight:largeWeight
|
|
358
|
-
style:nil
|
|
359
|
-
variant:nil
|
|
360
|
-
scaleMultiplier:1.0];
|
|
361
|
-
} else {
|
|
362
|
-
largeAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:[largeSize floatValue] weight:UIFontWeightBold];
|
|
363
|
-
}
|
|
364
|
-
[navbar setLargeTitleTextAttributes:largeAttrs];
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
#endif
|
|
368
|
-
}
|
|
284
|
+
// font customized on the navigation item level, so nothing to do here
|
|
369
285
|
}
|
|
370
286
|
|
|
371
287
|
+ (void)setTitleAttibutes:(NSDictionary *)attrs forButton:(UIBarButtonItem *)button
|
|
@@ -476,8 +392,6 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
476
392
|
}
|
|
477
393
|
}
|
|
478
394
|
|
|
479
|
-
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
|
480
|
-
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
|
481
395
|
+ (UINavigationBarAppearance *)buildAppearance:(UIViewController *)vc
|
|
482
396
|
withConfig:(RNSScreenStackHeaderConfig *)config API_AVAILABLE(ios(13.0))
|
|
483
397
|
{
|
|
@@ -525,7 +439,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
525
439
|
#endif
|
|
526
440
|
|
|
527
441
|
NSString *family = config.titleFontFamily ?: nil;
|
|
528
|
-
NSNumber *size = config.titleFontSize ?:
|
|
442
|
+
NSNumber *size = config.titleFontSize ?: DEFAULT_TITLE_FONT_SIZE;
|
|
529
443
|
NSString *weight = config.titleFontWeight ?: nil;
|
|
530
444
|
if (family || weight) {
|
|
531
445
|
attrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
@@ -553,7 +467,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
553
467
|
#endif
|
|
554
468
|
|
|
555
469
|
NSString *largeFamily = config.largeTitleFontFamily ?: nil;
|
|
556
|
-
NSNumber *largeSize = config.largeTitleFontSize ?:
|
|
470
|
+
NSNumber *largeSize = config.largeTitleFontSize ?: DEFAULT_TITLE_LARGE_FONT_SIZE;
|
|
557
471
|
NSString *largeWeight = config.largeTitleFontWeight ?: nil;
|
|
558
472
|
if (largeFamily || largeWeight) {
|
|
559
473
|
largeAttrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
@@ -578,7 +492,6 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
578
492
|
}
|
|
579
493
|
return appearance;
|
|
580
494
|
}
|
|
581
|
-
#endif // Check for >= iOS 13.0
|
|
582
495
|
|
|
583
496
|
+ (void)updateViewController:(UIViewController *)vc
|
|
584
497
|
withConfig:(RNSScreenStackHeaderConfig *)config
|
|
@@ -603,7 +516,7 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
603
516
|
BOOL shouldHide = config == nil || !config.shouldHeaderBeVisible;
|
|
604
517
|
|
|
605
518
|
if (!shouldHide && !config.translucent) {
|
|
606
|
-
// when nav bar is not translucent we
|
|
519
|
+
// when nav bar is not translucent we change edgesForExtendedLayout to avoid system laying out
|
|
607
520
|
// the screen underneath navigation controllers
|
|
608
521
|
vc.edgesForExtendedLayout = UIRectEdgeNone;
|
|
609
522
|
} else {
|
|
@@ -621,118 +534,44 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
621
534
|
}
|
|
622
535
|
|
|
623
536
|
#if !TARGET_OS_TV
|
|
624
|
-
|
|
625
|
-
NSString *resolvedBackTitle = isBackTitleBlank ? prevItem.title : config.backTitle;
|
|
626
|
-
RNSUIBarButtonItem *backBarButtonItem = [[RNSUIBarButtonItem alloc] initWithTitle:resolvedBackTitle
|
|
627
|
-
style:UIBarButtonItemStylePlain
|
|
628
|
-
target:nil
|
|
629
|
-
action:nil];
|
|
630
|
-
[backBarButtonItem setMenuHidden:config.disableBackButtonMenu];
|
|
631
|
-
|
|
632
|
-
auto shouldUseCustomBackBarButtonItem = !isBackTitleBlank || config.disableBackButtonMenu;
|
|
633
|
-
|
|
634
|
-
// This has any effect only in case the `backBarButtonItem` is not set.
|
|
635
|
-
// We apply it before we configure the back item, because it might get overriden.
|
|
636
|
-
prevItem.backButtonDisplayMode = config.backButtonDisplayMode;
|
|
637
|
-
|
|
638
|
-
if (config.isBackTitleVisible) {
|
|
639
|
-
if ((config.backTitleFontFamily &&
|
|
640
|
-
// While being used by react-navigation, the `backTitleFontFamily` will
|
|
641
|
-
// be set to "System" by default - which is the system default font.
|
|
642
|
-
// To avoid always considering the font as customized, we need to have an additional check.
|
|
643
|
-
// See: https://github.com/software-mansion/react-native-screens/pull/2105#discussion_r1565222738
|
|
644
|
-
![config.backTitleFontFamily isEqual:@"System"]) ||
|
|
645
|
-
config.backTitleFontSize) {
|
|
646
|
-
shouldUseCustomBackBarButtonItem = YES;
|
|
647
|
-
NSMutableDictionary *attrs = [NSMutableDictionary new];
|
|
648
|
-
NSNumber *size = config.backTitleFontSize ?: @17;
|
|
649
|
-
if (config.backTitleFontFamily) {
|
|
650
|
-
attrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
651
|
-
withFamily:config.backTitleFontFamily
|
|
652
|
-
size:size
|
|
653
|
-
weight:nil
|
|
654
|
-
style:nil
|
|
655
|
-
variant:nil
|
|
656
|
-
scaleMultiplier:1.0];
|
|
657
|
-
} else {
|
|
658
|
-
attrs[NSFontAttributeName] = [UIFont boldSystemFontOfSize:[size floatValue]];
|
|
659
|
-
}
|
|
660
|
-
[self setTitleAttibutes:attrs forButton:backBarButtonItem];
|
|
661
|
-
}
|
|
662
|
-
} else {
|
|
663
|
-
// back button title should be not visible next to back button,
|
|
664
|
-
// but it should still appear in back menu (if one is enabled)
|
|
665
|
-
|
|
666
|
-
prevItem.backButtonTitle = resolvedBackTitle;
|
|
667
|
-
prevItem.backButtonDisplayMode = UINavigationItemBackButtonDisplayModeMinimal;
|
|
668
|
-
shouldUseCustomBackBarButtonItem = NO;
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
// Prevent unnecessary assignment of backBarButtonItem if it is not customized,
|
|
672
|
-
// as assigning one will override the native behavior of automatically shortening
|
|
673
|
-
// the title to "Back" or hide the back title if there's not enough space.
|
|
674
|
-
// See: https://github.com/software-mansion/react-native-screens/issues/1589
|
|
675
|
-
if (shouldUseCustomBackBarButtonItem) {
|
|
676
|
-
prevItem.backBarButtonItem = backBarButtonItem;
|
|
677
|
-
}
|
|
537
|
+
[config configureBackItem:prevItem];
|
|
678
538
|
|
|
679
|
-
if (
|
|
680
|
-
|
|
681
|
-
navctr.navigationBar.prefersLargeTitles = YES;
|
|
682
|
-
}
|
|
683
|
-
navitem.largeTitleDisplayMode =
|
|
684
|
-
config.largeTitle ? UINavigationItemLargeTitleDisplayModeAlways : UINavigationItemLargeTitleDisplayModeNever;
|
|
539
|
+
if (config.largeTitle) {
|
|
540
|
+
navctr.navigationBar.prefersLargeTitles = YES;
|
|
685
541
|
}
|
|
542
|
+
navitem.largeTitleDisplayMode =
|
|
543
|
+
config.largeTitle ? UINavigationItemLargeTitleDisplayModeAlways : UINavigationItemLargeTitleDisplayModeNever;
|
|
686
544
|
#endif
|
|
687
545
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
UINavigationBarAppearance *appearance = [self buildAppearance:vc withConfig:config];
|
|
692
|
-
navitem.standardAppearance = appearance;
|
|
693
|
-
navitem.compactAppearance = appearance;
|
|
546
|
+
UINavigationBarAppearance *appearance = [self buildAppearance:vc withConfig:config];
|
|
547
|
+
navitem.standardAppearance = appearance;
|
|
548
|
+
navitem.compactAppearance = appearance;
|
|
694
549
|
|
|
695
550
|
// appearance does not apply to the tvOS so we need to use lagacy customization
|
|
696
551
|
#if TARGET_OS_TV
|
|
697
|
-
|
|
698
|
-
|
|
552
|
+
navctr.navigationBar.titleTextAttributes = appearance.titleTextAttributes;
|
|
553
|
+
navctr.navigationBar.backgroundColor = appearance.backgroundColor;
|
|
699
554
|
#endif
|
|
700
555
|
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
if (config.largeTitleHideShadow) {
|
|
717
|
-
scrollEdgeAppearance.shadowColor = nil;
|
|
718
|
-
}
|
|
719
|
-
navitem.scrollEdgeAppearance = scrollEdgeAppearance;
|
|
720
|
-
} else
|
|
721
|
-
#endif
|
|
722
|
-
{
|
|
723
|
-
#if !TARGET_OS_TV
|
|
724
|
-
// updating backIndicatotImage does not work when called during transition. On iOS pre 13 we need
|
|
725
|
-
// to update it before the navigation starts.
|
|
726
|
-
UIImage *backButtonImage = [config loadBackButtonImageInViewController:vc];
|
|
727
|
-
if (backButtonImage) {
|
|
728
|
-
navctr.navigationBar.backIndicatorImage = backButtonImage;
|
|
729
|
-
navctr.navigationBar.backIndicatorTransitionMaskImage = backButtonImage;
|
|
730
|
-
} else if (navctr.navigationBar.backIndicatorImage) {
|
|
731
|
-
navctr.navigationBar.backIndicatorImage = nil;
|
|
732
|
-
navctr.navigationBar.backIndicatorTransitionMaskImage = nil;
|
|
556
|
+
UINavigationBarAppearance *scrollEdgeAppearance =
|
|
557
|
+
[[UINavigationBarAppearance alloc] initWithBarAppearance:appearance];
|
|
558
|
+
if (config.largeTitleBackgroundColor != nil) {
|
|
559
|
+
// Add support for using a fully transparent bar when the backgroundColor is set to transparent.
|
|
560
|
+
if (CGColorGetAlpha(config.largeTitleBackgroundColor.CGColor) == 0.) {
|
|
561
|
+
// This will also remove the background blur effect in the large title which is otherwise inherited from the
|
|
562
|
+
// standard appearance.
|
|
563
|
+
[scrollEdgeAppearance configureWithTransparentBackground];
|
|
564
|
+
// This must be set to nil otherwise a default view will be added to the navigation bar background with an
|
|
565
|
+
// opaque background.
|
|
566
|
+
scrollEdgeAppearance.backgroundColor = nil;
|
|
567
|
+
} else {
|
|
568
|
+
scrollEdgeAppearance.backgroundColor = config.largeTitleBackgroundColor;
|
|
733
569
|
}
|
|
734
|
-
#endif
|
|
735
570
|
}
|
|
571
|
+
if (config.largeTitleHideShadow) {
|
|
572
|
+
scrollEdgeAppearance.shadowColor = nil;
|
|
573
|
+
}
|
|
574
|
+
navitem.scrollEdgeAppearance = scrollEdgeAppearance;
|
|
736
575
|
#if !TARGET_OS_TV
|
|
737
576
|
navitem.hidesBackButton = config.hideBackButton;
|
|
738
577
|
#endif
|
|
@@ -828,6 +667,71 @@ RNS_IGNORE_SUPER_CALL_END
|
|
|
828
667
|
}
|
|
829
668
|
}
|
|
830
669
|
|
|
670
|
+
- (void)configureBackItem:(nullable UINavigationItem *)prevItem API_UNAVAILABLE(tvos)
|
|
671
|
+
{
|
|
672
|
+
#if !TARGET_OS_TV
|
|
673
|
+
if (prevItem == nil) {
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
const auto *config = self;
|
|
678
|
+
|
|
679
|
+
const auto isBackTitleBlank = [NSString rnscreens_isBlankOrNull:config.backTitle] == YES;
|
|
680
|
+
NSString *resolvedBackTitle = isBackTitleBlank ? prevItem.title : config.backTitle;
|
|
681
|
+
RNSUIBarButtonItem *backBarButtonItem = [[RNSUIBarButtonItem alloc] initWithTitle:resolvedBackTitle
|
|
682
|
+
style:UIBarButtonItemStylePlain
|
|
683
|
+
target:nil
|
|
684
|
+
action:nil];
|
|
685
|
+
[backBarButtonItem setMenuHidden:config.disableBackButtonMenu];
|
|
686
|
+
|
|
687
|
+
auto shouldUseCustomBackBarButtonItem = config.disableBackButtonMenu;
|
|
688
|
+
|
|
689
|
+
// This has any effect only in case the `backBarButtonItem` is not set.
|
|
690
|
+
// We apply it before we configure the back item, because it might get overriden.
|
|
691
|
+
prevItem.backButtonDisplayMode = config.backButtonDisplayMode;
|
|
692
|
+
prevItem.backButtonTitle = resolvedBackTitle;
|
|
693
|
+
|
|
694
|
+
if (config.isBackTitleVisible) {
|
|
695
|
+
if ((config.backTitleFontFamily &&
|
|
696
|
+
// While being used by react-navigation, the `backTitleFontFamily` will
|
|
697
|
+
// be set to "System" by default - which is the system default font.
|
|
698
|
+
// To avoid always considering the font as customized, we need to have an additional check.
|
|
699
|
+
// See: https://github.com/software-mansion/react-native-screens/pull/2105#discussion_r1565222738
|
|
700
|
+
![config.backTitleFontFamily isEqual:@"System"]) ||
|
|
701
|
+
config.backTitleFontSize) {
|
|
702
|
+
shouldUseCustomBackBarButtonItem = YES;
|
|
703
|
+
NSMutableDictionary *attrs = [NSMutableDictionary new];
|
|
704
|
+
NSNumber *size = config.backTitleFontSize ?: @17;
|
|
705
|
+
if (config.backTitleFontFamily) {
|
|
706
|
+
attrs[NSFontAttributeName] = [RCTFont updateFont:nil
|
|
707
|
+
withFamily:config.backTitleFontFamily
|
|
708
|
+
size:size
|
|
709
|
+
weight:nil
|
|
710
|
+
style:nil
|
|
711
|
+
variant:nil
|
|
712
|
+
scaleMultiplier:1.0];
|
|
713
|
+
} else {
|
|
714
|
+
attrs[NSFontAttributeName] = [UIFont boldSystemFontOfSize:[size floatValue]];
|
|
715
|
+
}
|
|
716
|
+
[RNSScreenStackHeaderConfig setTitleAttibutes:attrs forButton:backBarButtonItem];
|
|
717
|
+
}
|
|
718
|
+
} else {
|
|
719
|
+
// back button title should be not visible next to back button,
|
|
720
|
+
// but it should still appear in back menu
|
|
721
|
+
prevItem.backButtonDisplayMode = UINavigationItemBackButtonDisplayModeMinimal;
|
|
722
|
+
shouldUseCustomBackBarButtonItem = NO;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
// Prevent unnecessary assignment of backBarButtonItem if it is not customized,
|
|
726
|
+
// as assigning one will override the native behavior of automatically shortening
|
|
727
|
+
// the title to "Back" or hide the back title if there's not enough space.
|
|
728
|
+
// See: https://github.com/software-mansion/react-native-screens/issues/1589
|
|
729
|
+
if (shouldUseCustomBackBarButtonItem) {
|
|
730
|
+
prevItem.backBarButtonItem = backBarButtonItem;
|
|
731
|
+
}
|
|
732
|
+
#endif
|
|
733
|
+
}
|
|
734
|
+
|
|
831
735
|
- (void)applySemanticContentAttributeIfNeededToNavCtrl:(UINavigationController *)navCtrl
|
|
832
736
|
{
|
|
833
737
|
if ((self.direction == UISemanticContentAttributeForceLeftToRight ||
|
|
@@ -1239,35 +1143,28 @@ RCT_EXPORT_VIEW_PROPERTY(translucent, BOOL)
|
|
|
1239
1143
|
@"extraLight" : @(RNSBlurEffectStyleExtraLight),
|
|
1240
1144
|
@"light" : @(RNSBlurEffectStyleLight),
|
|
1241
1145
|
@"dark" : @(RNSBlurEffectStyleDark),
|
|
1146
|
+
@"regular" : @(RNSBlurEffectStyleRegular),
|
|
1147
|
+
@"prominent" : @(RNSBlurEffectStyleProminent),
|
|
1242
1148
|
}];
|
|
1243
1149
|
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
@"systemThickMaterialLight" : @(RNSBlurEffectStyleSystemThickMaterialLight),
|
|
1263
|
-
@"systemChromeMaterialLight" : @(RNSBlurEffectStyleSystemChromeMaterialLight),
|
|
1264
|
-
@"systemUltraThinMaterialDark" : @(RNSBlurEffectStyleSystemUltraThinMaterialDark),
|
|
1265
|
-
@"systemThinMaterialDark" : @(RNSBlurEffectStyleSystemThinMaterialDark),
|
|
1266
|
-
@"systemMaterialDark" : @(RNSBlurEffectStyleSystemMaterialDark),
|
|
1267
|
-
@"systemThickMaterialDark" : @(RNSBlurEffectStyleSystemThickMaterialDark),
|
|
1268
|
-
@"systemChromeMaterialDark" : @(RNSBlurEffectStyleSystemChromeMaterialDark),
|
|
1269
|
-
}];
|
|
1270
|
-
}
|
|
1150
|
+
#if !TARGET_OS_TV
|
|
1151
|
+
[blurEffects addEntriesFromDictionary:@{
|
|
1152
|
+
@"systemUltraThinMaterial" : @(RNSBlurEffectStyleSystemUltraThinMaterial),
|
|
1153
|
+
@"systemThinMaterial" : @(RNSBlurEffectStyleSystemThinMaterial),
|
|
1154
|
+
@"systemMaterial" : @(RNSBlurEffectStyleSystemMaterial),
|
|
1155
|
+
@"systemThickMaterial" : @(RNSBlurEffectStyleSystemThickMaterial),
|
|
1156
|
+
@"systemChromeMaterial" : @(RNSBlurEffectStyleSystemChromeMaterial),
|
|
1157
|
+
@"systemUltraThinMaterialLight" : @(RNSBlurEffectStyleSystemUltraThinMaterialLight),
|
|
1158
|
+
@"systemThinMaterialLight" : @(RNSBlurEffectStyleSystemThinMaterialLight),
|
|
1159
|
+
@"systemMaterialLight" : @(RNSBlurEffectStyleSystemMaterialLight),
|
|
1160
|
+
@"systemThickMaterialLight" : @(RNSBlurEffectStyleSystemThickMaterialLight),
|
|
1161
|
+
@"systemChromeMaterialLight" : @(RNSBlurEffectStyleSystemChromeMaterialLight),
|
|
1162
|
+
@"systemUltraThinMaterialDark" : @(RNSBlurEffectStyleSystemUltraThinMaterialDark),
|
|
1163
|
+
@"systemThinMaterialDark" : @(RNSBlurEffectStyleSystemThinMaterialDark),
|
|
1164
|
+
@"systemMaterialDark" : @(RNSBlurEffectStyleSystemMaterialDark),
|
|
1165
|
+
@"systemThickMaterialDark" : @(RNSBlurEffectStyleSystemThickMaterialDark),
|
|
1166
|
+
@"systemChromeMaterialDark" : @(RNSBlurEffectStyleSystemChromeMaterialDark),
|
|
1167
|
+
}];
|
|
1271
1168
|
#endif
|
|
1272
1169
|
return blurEffects;
|
|
1273
1170
|
}
|
|
@@ -40,32 +40,22 @@
|
|
|
40
40
|
#if !TARGET_OS_TV
|
|
41
41
|
+ (UIStatusBarStyle)statusBarStyleForRNSStatusBarStyle:(RNSStatusBarStyle)statusBarStyle
|
|
42
42
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return UIStatusBarStyleDarkContent;
|
|
59
|
-
default:
|
|
60
|
-
return UIStatusBarStyleLightContent;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
#endif
|
|
64
|
-
// it is the only non-default style available for iOS < 13
|
|
65
|
-
if (statusBarStyle == RNSStatusBarStyleLight) {
|
|
66
|
-
return UIStatusBarStyleLightContent;
|
|
43
|
+
switch (statusBarStyle) {
|
|
44
|
+
case RNSStatusBarStyleAuto:
|
|
45
|
+
return [UITraitCollection.currentTraitCollection userInterfaceStyle] == UIUserInterfaceStyleDark
|
|
46
|
+
? UIStatusBarStyleLightContent
|
|
47
|
+
: UIStatusBarStyleDarkContent;
|
|
48
|
+
case RNSStatusBarStyleInverted:
|
|
49
|
+
return [UITraitCollection.currentTraitCollection userInterfaceStyle] == UIUserInterfaceStyleDark
|
|
50
|
+
? UIStatusBarStyleDarkContent
|
|
51
|
+
: UIStatusBarStyleLightContent;
|
|
52
|
+
case RNSStatusBarStyleLight:
|
|
53
|
+
return UIStatusBarStyleLightContent;
|
|
54
|
+
case RNSStatusBarStyleDark:
|
|
55
|
+
return UIStatusBarStyleDarkContent;
|
|
56
|
+
default:
|
|
57
|
+
return UIStatusBarStyleLightContent;
|
|
67
58
|
}
|
|
68
|
-
return UIStatusBarStyleDefault;
|
|
69
59
|
}
|
|
70
60
|
#endif
|
|
71
61
|
|
|
@@ -194,19 +184,11 @@
|
|
|
194
184
|
// https://stackoverflow.com/questions/57965701/statusbarorientation-was-deprecated-in-ios-13-0-when-attempting-to-get-app-ori/61249908#61249908
|
|
195
185
|
+ (UIInterfaceOrientation)interfaceOrientation
|
|
196
186
|
{
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
UIWindowScene *windowScene = RCTKeyWindow().windowScene;
|
|
201
|
-
if (windowScene == nil) {
|
|
202
|
-
return UIInterfaceOrientationUnknown;
|
|
203
|
-
}
|
|
204
|
-
return windowScene.interfaceOrientation;
|
|
205
|
-
} else
|
|
206
|
-
#endif
|
|
207
|
-
{
|
|
208
|
-
return UIApplication.sharedApplication.statusBarOrientation;
|
|
187
|
+
UIWindowScene *windowScene = RCTKeyWindow().windowScene;
|
|
188
|
+
if (windowScene == nil) {
|
|
189
|
+
return UIInterfaceOrientationUnknown;
|
|
209
190
|
}
|
|
191
|
+
return windowScene.interfaceOrientation;
|
|
210
192
|
}
|
|
211
193
|
#endif
|
|
212
194
|
|
package/ios/RNSSearchBar.mm
CHANGED
|
@@ -173,11 +173,8 @@ namespace react = facebook::react;
|
|
|
173
173
|
|
|
174
174
|
- (void)setBarTintColor:(UIColor *)barTintColor
|
|
175
175
|
{
|
|
176
|
-
#if
|
|
177
|
-
|
|
178
|
-
if (@available(iOS 13.0, *)) {
|
|
179
|
-
[_controller.searchBar.searchTextField setBackgroundColor:barTintColor];
|
|
180
|
-
}
|
|
176
|
+
#if !TARGET_OS_TV
|
|
177
|
+
[_controller.searchBar.searchTextField setBackgroundColor:barTintColor];
|
|
181
178
|
#endif
|
|
182
179
|
}
|
|
183
180
|
|
|
@@ -188,12 +185,9 @@ namespace react = facebook::react;
|
|
|
188
185
|
|
|
189
186
|
- (void)setTextColor:(UIColor *)textColor
|
|
190
187
|
{
|
|
191
|
-
#if
|
|
192
|
-
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0 && !TARGET_OS_TV
|
|
188
|
+
#if !TARGET_OS_TV
|
|
193
189
|
_textColor = textColor;
|
|
194
|
-
|
|
195
|
-
[_controller.searchBar.searchTextField setTextColor:_textColor];
|
|
196
|
-
}
|
|
190
|
+
[_controller.searchBar.searchTextField setTextColor:_textColor];
|
|
197
191
|
#endif
|
|
198
192
|
}
|
|
199
193
|
|
|
@@ -205,11 +199,11 @@ namespace react = facebook::react;
|
|
|
205
199
|
- (void)hideCancelButton
|
|
206
200
|
{
|
|
207
201
|
#if !TARGET_OS_TV
|
|
208
|
-
if (
|
|
202
|
+
if (!_controller.automaticallyShowsCancelButton) {
|
|
203
|
+
[_controller.searchBar setShowsCancelButton:NO animated:YES];
|
|
204
|
+
} else {
|
|
209
205
|
// On iOS 13+ UISearchController automatically shows/hides cancel button
|
|
210
206
|
// https://developer.apple.com/documentation/uikit/uisearchcontroller/3152926-automaticallyshowscancelbutton?language=objc
|
|
211
|
-
} else {
|
|
212
|
-
[_controller.searchBar setShowsCancelButton:NO animated:YES];
|
|
213
207
|
}
|
|
214
208
|
#endif
|
|
215
209
|
}
|
|
@@ -217,11 +211,11 @@ namespace react = facebook::react;
|
|
|
217
211
|
- (void)showCancelButton
|
|
218
212
|
{
|
|
219
213
|
#if !TARGET_OS_TV
|
|
220
|
-
if (
|
|
214
|
+
if (!_controller.automaticallyShowsCancelButton) {
|
|
215
|
+
[_controller.searchBar setShowsCancelButton:YES animated:YES];
|
|
216
|
+
} else {
|
|
221
217
|
// On iOS 13+ UISearchController automatically shows/hides cancel button
|
|
222
218
|
// https://developer.apple.com/documentation/uikit/uisearchcontroller/3152926-automaticallyshowscancelbutton?language=objc
|
|
223
|
-
} else {
|
|
224
|
-
[_controller.searchBar setShowsCancelButton:YES animated:YES];
|
|
225
219
|
}
|
|
226
220
|
#endif
|
|
227
221
|
}
|
|
@@ -246,14 +240,11 @@ namespace react = facebook::react;
|
|
|
246
240
|
|
|
247
241
|
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
|
|
248
242
|
{
|
|
249
|
-
#if
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
if (_textColor != nil) {
|
|
255
|
-
[_controller.searchBar.searchTextField setTextColor:_textColor];
|
|
256
|
-
}
|
|
243
|
+
#if !TARGET_OS_TV
|
|
244
|
+
// for some reason, the color does not change when set at the beginning,
|
|
245
|
+
// so we apply it again here
|
|
246
|
+
if (_textColor != nil) {
|
|
247
|
+
[_controller.searchBar.searchTextField setTextColor:_textColor];
|
|
257
248
|
}
|
|
258
249
|
#endif
|
|
259
250
|
|
|
@@ -24,7 +24,8 @@ function FullWindowOverlay(props) {
|
|
|
24
24
|
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
25
25
|
width,
|
|
26
26
|
height
|
|
27
|
-
}]
|
|
27
|
+
}],
|
|
28
|
+
accessibilityContainerViewIsModal: props.unstable_accessibilityContainerViewIsModal
|
|
28
29
|
}, props.children);
|
|
29
30
|
}
|
|
30
31
|
var _default = exports.default = FullWindowOverlay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_FullWindowOverlayNativeComponent","e","__esModule","default","NativeFullWindowOverlay","FullWindowOverlayNativeComponent","FullWindowOverlay","props","width","height","useWindowDimensions","Platform","OS","console","warn","createElement","View","style","StyleSheet","absoluteFill","children","_default","exports"],"sourceRoot":"../../../src","sources":["components/FullWindowOverlay.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,iCAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0F,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAD1F;;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_FullWindowOverlayNativeComponent","e","__esModule","default","NativeFullWindowOverlay","FullWindowOverlayNativeComponent","FullWindowOverlay","props","width","height","useWindowDimensions","Platform","OS","console","warn","createElement","View","style","StyleSheet","absoluteFill","accessibilityContainerViewIsModal","unstable_accessibilityContainerViewIsModal","children","_default","exports"],"sourceRoot":"../../../src","sources":["components/FullWindowOverlay.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,iCAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0F,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAD1F;;AAIA,MAAMG,uBAKL,GAAGC,yCAAuC;AAO3C,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EACxD,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAC/C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzBC,OAAO,CAACC,IAAI,CAAC,uDAAuD,CAAC;IACrE,oBAAOlB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAiB,IAAI,EAAKT,KAAQ,CAAC;EAC5B;EACA,oBACEX,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACX,uBAAuB;IACtBa,KAAK,EAAE,CAACC,uBAAU,CAACC,YAAY,EAAE;MAAEX,KAAK;MAAEC;IAAO,CAAC,CAAE;IACpDW,iCAAiC,EAC/Bb,KAAK,CAACc;EACP,GACAd,KAAK,CAACe,QACgB,CAAC;AAE9B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAArB,OAAA,GAEcG,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const ScreenContentWrapper = _reactNative.View;
|
|
9
|
+
var _default = exports.default = ScreenContentWrapper;
|
|
10
|
+
//# sourceMappingURL=ScreenContentWrapper.windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","ScreenContentWrapper","View","_default","exports","default"],"sourceRoot":"../../../src","sources":["components/ScreenContentWrapper.windows.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,oBAAoB,GAAGC,iBAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEnBJ,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.FooterComponent = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const ScreenFooter = _reactNative.View;
|
|
9
|
+
const FooterComponent = exports.FooterComponent = _reactNative.View;
|
|
10
|
+
var _default = exports.default = ScreenFooter;
|
|
11
|
+
//# sourceMappingURL=ScreenFooter.windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","ScreenFooter","View","FooterComponent","exports","_default","default"],"sourceRoot":"../../../src","sources":["components/ScreenFooter.windows.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAGC,iBAAI;AACzB,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGD,iBAAI;AAAC,IAAAG,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEdL,YAAY","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
// Internal export, not part of stable library API.
|
|
10
11
|
var _default = exports.default = (0, _codegenNativeComponent.default)('RNSFullWindowOverlay', {
|
|
11
12
|
interfaceOnly: true
|
|
12
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","_default","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/FullWindowOverlayNativeComponent.ts"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,OAAA;AAEb,IAAAC,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAJ,OAAA,EAAAI,CAAA;AAAA,IAAAE,QAAA,GAAAR,OAAA,CAAAE,OAAA,
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","default","_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","_default","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/FullWindowOverlayNativeComponent.ts"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,OAAA;AAEb,IAAAC,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAJ,OAAA,EAAAI,CAAA;AAI7F;AAAA,IAAAE,QAAA,GAAAR,OAAA,CAAAE,OAAA,GAKe,IAAAO,+BAAsB,EAAc,sBAAsB,EAAE;EACzEC,aAAa,EAAE;AACjB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -17,7 +17,8 @@ function FullWindowOverlay(props) {
|
|
|
17
17
|
style: [StyleSheet.absoluteFill, {
|
|
18
18
|
width,
|
|
19
19
|
height
|
|
20
|
-
}]
|
|
20
|
+
}],
|
|
21
|
+
accessibilityContainerViewIsModal: props.unstable_accessibilityContainerViewIsModal
|
|
21
22
|
}, props.children);
|
|
22
23
|
}
|
|
23
24
|
export default FullWindowOverlay;
|