@apexnative/navigation 1.0.0-alpha.8 → 1.0.0-alpha.9
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/CHANGELOG.md +13 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +6 -1
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +36 -5
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +8 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +35 -3
- package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +12 -3
- package/android/src/main/java/dev/apexnative/navigation/views/stack/ScreenEdge.kt +34 -4
- package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +6 -3
- package/docs-md/containers/side-menu.md +15 -0
- package/docs-md/containers/tabs.md +1 -1
- package/docs-md/index.json +4 -0
- package/ios/CLAUDE.md +4 -1
- package/ios/CORE.md +2 -2
- package/ios/Core/ANNLayoutProtocol.h +5 -5
- package/ios/Core/ANNParking.h +5 -4
- package/ios/Core/ANNReloadCoordinator.mm +1 -4
- package/ios/Core/ANNRenderWait.h +5 -5
- package/ios/Core/ANNRenderWait.mm +24 -39
- package/ios/Core/ApexNavigation.mm +1 -4
- package/ios/Layouts/Modal/ANNModalCoordinator.mm +1 -1
- package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +1 -1
- package/ios/Layouts/Root/ANNRootCoordinator.mm +1 -1
- package/ios/Layouts/Screen/ANNComponentViewController.h +9 -15
- package/ios/Layouts/Screen/ANNComponentViewController.mm +6 -42
- package/ios/Layouts/Screen/ANNScreenPlace.h +12 -0
- package/ios/Layouts/Screen/ANNScreenPlace.mm +46 -16
- package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +8 -0
- package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +83 -14
- package/ios/Layouts/Stack/ANNStackController.mm +5 -2
- package/ios/Layouts/Stack/ANNStackQueue.h +2 -1
- package/ios/Layouts/Tabs/ANNBottomTabsController.h +3 -0
- package/ios/Layouts/Tabs/ANNBottomTabsController.mm +222 -51
- package/ios/Options/ANNSideMenuOptions.h +2 -0
- package/ios/Options/ANNSideMenuOptions.mm +2 -0
- package/ios/React/ANNSafeAreaViewComponentView.mm +2 -2
- package/lib/typescript/interfaces/options/bottomTabs.d.ts +2 -1
- package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -1
- package/lib/typescript/interfaces/options/sideMenu.d.ts +16 -0
- package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/interfaces/options/bottomTabs.ts +2 -1
- package/src/interfaces/options/sideMenu.ts +17 -0
- package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +0 -27
- package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +0 -53
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
#import "ANNTabsPreloadWindow.h"
|
|
2
|
-
#import "ANNAssert.h"
|
|
3
|
-
#import "ANNUtils.h"
|
|
4
|
-
|
|
5
|
-
// Every live preload window, weakly: the reload hides them, the scene's connection moves them. Main queue.
|
|
6
|
-
static NSHashTable<ANNTabsPreloadWindow *> *ANNPreloadWindows(void) {
|
|
7
|
-
static NSHashTable<ANNTabsPreloadWindow *> *windows;
|
|
8
|
-
if (!windows) {
|
|
9
|
-
windows = [NSHashTable weakObjectsHashTable];
|
|
10
|
-
}
|
|
11
|
-
return windows;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@implementation ANNTabsPreloadWindow
|
|
15
|
-
|
|
16
|
-
+ (instancetype)preloadWindow {
|
|
17
|
-
ANNAssertMainQueue();
|
|
18
|
-
ANNTabsPreloadWindow *window = [ANNUtils makeWindowOfClass:self];
|
|
19
|
-
window.frame = CGRectZero;
|
|
20
|
-
window.clipsToBounds = YES;
|
|
21
|
-
window.userInteractionEnabled = NO;
|
|
22
|
-
window.accessibilityElementsHidden = YES;
|
|
23
|
-
window.backgroundColor = UIColor.clearColor;
|
|
24
|
-
// Under every window of the app: nothing of it is ever drawn over the navigation.
|
|
25
|
-
window.windowLevel = UIWindowLevelNormal - 1;
|
|
26
|
-
window.hidden = NO;
|
|
27
|
-
[ANNPreloadWindows() addObject:window];
|
|
28
|
-
return window;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
+ (void)mainWindowSceneDidConnect:(UIWindowScene *)windowScene {
|
|
32
|
-
ANNAssertMainQueue();
|
|
33
|
-
for (ANNTabsPreloadWindow *window in ANNPreloadWindows().allObjects) {
|
|
34
|
-
if (window.windowScene != windowScene) {
|
|
35
|
-
window.windowScene = windowScene;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
+ (void)hideAllAfterReload {
|
|
41
|
-
ANNAssertMainQueue();
|
|
42
|
-
for (ANNTabsPreloadWindow *window in ANNPreloadWindows().allObjects) {
|
|
43
|
-
window.hidden = YES;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
- (void)close {
|
|
48
|
-
self.hidden = YES;
|
|
49
|
-
[ANNPreloadWindows() removeObject:self];
|
|
50
|
-
self.windowScene = nil;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@end
|