@sigmela/router 0.3.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/LICENSE +2 -1
- package/README.md +108 -479
- package/dist/Router.d.ts +190 -0
- package/dist/Router.d.ts.map +1 -0
- package/dist/components/Modal.d.ts +56 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/OverlayContentScope.d.ts +8 -0
- package/dist/components/OverlayContentScope.d.ts.map +1 -0
- package/dist/components/RouterCloseButton.d.ts +9 -0
- package/dist/components/RouterCloseButton.d.ts.map +1 -0
- package/dist/components/Sheet.d.ts +53 -0
- package/dist/components/Sheet.d.ts.map +1 -0
- package/dist/components/SheetSurface.d.ts +27 -0
- package/dist/components/SheetSurface.d.ts.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/pageScrollLock.d.ts +3 -0
- package/dist/components/pageScrollLock.d.ts.map +1 -0
- package/dist/components/sheetDragEngine.d.ts +27 -0
- package/dist/components/sheetDragEngine.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3649 -0
- package/dist/index.js.map +1 -0
- package/dist/navigationHistory.d.ts +17 -0
- package/dist/navigationHistory.d.ts.map +1 -0
- package/dist/router.css +971 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/id.d.ts +2 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/package.json +69 -174
- package/lib/module/Drawer/Drawer.js +0 -250
- package/lib/module/Drawer/DrawerContext.js +0 -4
- package/lib/module/Drawer/DrawerIcon.web.js +0 -47
- package/lib/module/Drawer/RenderDrawer.native.js +0 -248
- package/lib/module/Drawer/RenderDrawer.web.js +0 -197
- package/lib/module/Drawer/useDrawer.js +0 -11
- package/lib/module/Navigation.js +0 -80
- package/lib/module/NavigationStack.js +0 -254
- package/lib/module/Router.js +0 -2171
- package/lib/module/RouterContext.js +0 -33
- package/lib/module/ScreenStack/ScreenStack.native.js +0 -3
- package/lib/module/ScreenStack/ScreenStack.web.js +0 -561
- package/lib/module/ScreenStack/ScreenStackContext.js +0 -21
- package/lib/module/ScreenStack/animationHelpers.js +0 -87
- package/lib/module/ScreenStack/index.js +0 -3
- package/lib/module/ScreenStackItem/ScreenStackItem.js +0 -70
- package/lib/module/ScreenStackItem/ScreenStackItem.types.js +0 -3
- package/lib/module/ScreenStackItem/ScreenStackItem.web.js +0 -171
- package/lib/module/ScreenStackItem/index.js +0 -3
- package/lib/module/ScreenStackSheetItem/ScreenStackSheetItem.native.js +0 -70
- package/lib/module/ScreenStackSheetItem/ScreenStackSheetItem.web.js +0 -5
- package/lib/module/ScreenStackSheetItem/index.js +0 -3
- package/lib/module/SplitView/RenderSplitView.native.js +0 -101
- package/lib/module/SplitView/RenderSplitView.web.js +0 -107
- package/lib/module/SplitView/SplitView.js +0 -97
- package/lib/module/SplitView/SplitViewContext.js +0 -4
- package/lib/module/SplitView/index.js +0 -5
- package/lib/module/SplitView/useSplitView.js +0 -11
- package/lib/module/StackRenderer.js +0 -42
- package/lib/module/TabBar/RenderTabBar.native.js +0 -418
- package/lib/module/TabBar/RenderTabBar.web.js +0 -218
- package/lib/module/TabBar/TabBar.js +0 -208
- package/lib/module/TabBar/TabBarContext.js +0 -4
- package/lib/module/TabBar/TabIcon.web.js +0 -47
- package/lib/module/TabBar/index.js +0 -6
- package/lib/module/TabBar/useTabBar.js +0 -11
- package/lib/module/TabBar/useTabBarHeight.js +0 -22
- package/lib/module/createController.js +0 -5
- package/lib/module/index.js +0 -15
- package/lib/module/navigationNode.js +0 -3
- package/lib/module/package.json +0 -1
- package/lib/module/styles.css +0 -1111
- package/lib/module/types.js +0 -13
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/src/Drawer/Drawer.d.ts +0 -100
- package/lib/typescript/src/Drawer/DrawerContext.d.ts +0 -3
- package/lib/typescript/src/Drawer/DrawerIcon.web.d.ts +0 -7
- package/lib/typescript/src/Drawer/RenderDrawer.native.d.ts +0 -8
- package/lib/typescript/src/Drawer/RenderDrawer.web.d.ts +0 -8
- package/lib/typescript/src/Drawer/useDrawer.d.ts +0 -2
- package/lib/typescript/src/Navigation.d.ts +0 -17
- package/lib/typescript/src/NavigationStack.d.ts +0 -46
- package/lib/typescript/src/Router.d.ts +0 -232
- package/lib/typescript/src/RouterContext.d.ts +0 -18
- package/lib/typescript/src/ScreenStack/ScreenStack.native.d.ts +0 -2
- package/lib/typescript/src/ScreenStack/ScreenStack.web.d.ts +0 -9
- package/lib/typescript/src/ScreenStack/ScreenStackContext.d.ts +0 -31
- package/lib/typescript/src/ScreenStack/animationHelpers.d.ts +0 -6
- package/lib/typescript/src/ScreenStack/index.d.ts +0 -2
- package/lib/typescript/src/ScreenStackItem/ScreenStackItem.d.ts +0 -3
- package/lib/typescript/src/ScreenStackItem/ScreenStackItem.types.d.ts +0 -14
- package/lib/typescript/src/ScreenStackItem/ScreenStackItem.web.d.ts +0 -3
- package/lib/typescript/src/ScreenStackItem/index.d.ts +0 -3
- package/lib/typescript/src/ScreenStackSheetItem/ScreenStackSheetItem.native.d.ts +0 -11
- package/lib/typescript/src/ScreenStackSheetItem/ScreenStackSheetItem.web.d.ts +0 -2
- package/lib/typescript/src/ScreenStackSheetItem/index.d.ts +0 -2
- package/lib/typescript/src/SplitView/RenderSplitView.native.d.ts +0 -19
- package/lib/typescript/src/SplitView/RenderSplitView.web.d.ts +0 -8
- package/lib/typescript/src/SplitView/SplitView.d.ts +0 -33
- package/lib/typescript/src/SplitView/SplitViewContext.d.ts +0 -3
- package/lib/typescript/src/SplitView/index.d.ts +0 -5
- package/lib/typescript/src/SplitView/useSplitView.d.ts +0 -2
- package/lib/typescript/src/StackRenderer.d.ts +0 -8
- package/lib/typescript/src/TabBar/RenderTabBar.native.d.ts +0 -8
- package/lib/typescript/src/TabBar/RenderTabBar.web.d.ts +0 -8
- package/lib/typescript/src/TabBar/TabBar.d.ts +0 -112
- package/lib/typescript/src/TabBar/TabBarContext.d.ts +0 -3
- package/lib/typescript/src/TabBar/TabIcon.web.d.ts +0 -7
- package/lib/typescript/src/TabBar/index.d.ts +0 -5
- package/lib/typescript/src/TabBar/useTabBar.d.ts +0 -2
- package/lib/typescript/src/TabBar/useTabBarHeight.d.ts +0 -18
- package/lib/typescript/src/createController.d.ts +0 -15
- package/lib/typescript/src/index.d.ts +0 -21
- package/lib/typescript/src/navigationNode.d.ts +0 -41
- package/lib/typescript/src/types.d.ts +0 -140
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { HistoryItem, NavigationAppearance } from './types';
|
|
2
|
-
export interface StackRendererProps {
|
|
3
|
-
stackId: string;
|
|
4
|
-
appearance?: NavigationAppearance;
|
|
5
|
-
history?: HistoryItem[];
|
|
6
|
-
}
|
|
7
|
-
export declare const StackRenderer: import("react").NamedExoticComponent<StackRendererProps>;
|
|
8
|
-
//# sourceMappingURL=StackRenderer.d.ts.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { TabBar } from './TabBar';
|
|
2
|
-
import type { NavigationAppearance } from '../types';
|
|
3
|
-
export interface RenderTabBarProps {
|
|
4
|
-
tabBar: TabBar;
|
|
5
|
-
appearance?: NavigationAppearance;
|
|
6
|
-
}
|
|
7
|
-
export declare const RenderTabBar: import("react").NamedExoticComponent<RenderTabBarProps>;
|
|
8
|
-
//# sourceMappingURL=RenderTabBar.native.d.ts.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { NavigationAppearance } from '../types';
|
|
2
|
-
import type { TabBar } from './TabBar';
|
|
3
|
-
export interface RenderTabBarProps {
|
|
4
|
-
tabBar: TabBar;
|
|
5
|
-
appearance?: NavigationAppearance;
|
|
6
|
-
}
|
|
7
|
-
export declare const RenderTabBar: import("react").NamedExoticComponent<RenderTabBarProps>;
|
|
8
|
-
//# sourceMappingURL=RenderTabBar.web.d.ts.map
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import type { ImageSourcePropType } from 'react-native';
|
|
2
|
-
import { NavigationStack } from '../NavigationStack';
|
|
3
|
-
import type { ComponentType } from 'react';
|
|
4
|
-
import type { TabItem } from '../types';
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import type { NavigationNode, NodeChild, NodeRoute } from '../navigationNode';
|
|
7
|
-
import type { PlatformIcon, TabAccessoryComponentFactory } from 'react-native-screens';
|
|
8
|
-
type LegacyIOSIconShape = {
|
|
9
|
-
sfSymbolName: string;
|
|
10
|
-
} | {
|
|
11
|
-
imageSource: ImageSourcePropType;
|
|
12
|
-
} | {
|
|
13
|
-
templateSource: ImageSourcePropType;
|
|
14
|
-
};
|
|
15
|
-
type ExtendedIcon = ImageSourcePropType | LegacyIOSIconShape | PlatformIcon;
|
|
16
|
-
export type InternalTabItem = Omit<TabItem, 'icon' | 'selectedIcon'> & {
|
|
17
|
-
icon?: ExtendedIcon;
|
|
18
|
-
selectedIcon?: ExtendedIcon;
|
|
19
|
-
badgeValue?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Optional base prefix for this tab's navigation subtree, e.g. '/mail'.
|
|
22
|
-
* Used by Router registry building via TabBar.getNodeChildren().
|
|
23
|
-
*/
|
|
24
|
-
tabPrefix?: string;
|
|
25
|
-
};
|
|
26
|
-
export type TabBarProps = {
|
|
27
|
-
onTabPress: (index: number) => void;
|
|
28
|
-
tabs: InternalTabItem[];
|
|
29
|
-
activeIndex: number;
|
|
30
|
-
};
|
|
31
|
-
export type TabBarDescriptor = {
|
|
32
|
-
renderer?: ComponentType<TabBarProps>;
|
|
33
|
-
};
|
|
34
|
-
type TabBarConfig = Omit<InternalTabItem, 'tabKey' | 'key'> & {
|
|
35
|
-
/**
|
|
36
|
-
* Legacy content type: a stack rendered in the tab.
|
|
37
|
-
*/
|
|
38
|
-
stack?: NavigationStack;
|
|
39
|
-
/**
|
|
40
|
-
* New content type: any NavigationNode (e.g. SplitView).
|
|
41
|
-
*/
|
|
42
|
-
node?: NavigationNode;
|
|
43
|
-
/**
|
|
44
|
-
* Screen component rendered in the tab (no routing).
|
|
45
|
-
*/
|
|
46
|
-
screen?: React.ComponentType<any>;
|
|
47
|
-
/**
|
|
48
|
-
* Optional base prefix for node/stack routes, e.g. '/mail'.
|
|
49
|
-
*/
|
|
50
|
-
prefix?: string;
|
|
51
|
-
/**
|
|
52
|
-
* Custom tab bar component (UI). Kept for compatibility.
|
|
53
|
-
*/
|
|
54
|
-
component?: ComponentType<TabBarProps>;
|
|
55
|
-
/**
|
|
56
|
-
* iOS 26+ bottom accessory factory.
|
|
57
|
-
*/
|
|
58
|
-
bottomAccessory?: TabAccessoryComponentFactory;
|
|
59
|
-
/**
|
|
60
|
-
* Experimental: control navigation state in JS.
|
|
61
|
-
*/
|
|
62
|
-
experimentalControlNavigationStateInJS?: boolean;
|
|
63
|
-
};
|
|
64
|
-
type TabBarOptions = {
|
|
65
|
-
component?: ComponentType<TabBarProps>;
|
|
66
|
-
config?: TabBarConfig;
|
|
67
|
-
initialIndex?: number;
|
|
68
|
-
};
|
|
69
|
-
export declare class TabBar implements NavigationNode {
|
|
70
|
-
private readonly tabBarId;
|
|
71
|
-
screens: Record<string, React.ComponentType<any>>;
|
|
72
|
-
stacks: Record<string, NavigationStack>;
|
|
73
|
-
nodes: Record<string, NavigationNode>;
|
|
74
|
-
private listeners;
|
|
75
|
-
private _cachedRenderer;
|
|
76
|
-
private state;
|
|
77
|
-
constructor(options?: TabBarOptions);
|
|
78
|
-
getId(): string;
|
|
79
|
-
addTab(tab: Omit<TabBarConfig, 'tabKey'> & {
|
|
80
|
-
key: string;
|
|
81
|
-
}): TabBar;
|
|
82
|
-
setBadge(tabIndex: number, badge: string | null): void;
|
|
83
|
-
setTabBarConfig(config: Partial<TabBarConfig>): void;
|
|
84
|
-
onIndexChange(index: number): void;
|
|
85
|
-
getState: () => {
|
|
86
|
-
tabs: InternalTabItem[];
|
|
87
|
-
config: TabBarConfig;
|
|
88
|
-
index: number;
|
|
89
|
-
};
|
|
90
|
-
private setState;
|
|
91
|
-
private notifyListeners;
|
|
92
|
-
subscribe(listener: () => void): () => void;
|
|
93
|
-
getTabs(): InternalTabItem[];
|
|
94
|
-
getInitialIndex(): number;
|
|
95
|
-
getActiveChildId(): string | undefined;
|
|
96
|
-
switchToRoute(routeId: string): void;
|
|
97
|
-
hasRoute(routeId: string): boolean;
|
|
98
|
-
setActiveChildByRoute(routeId: string): void;
|
|
99
|
-
getNodeRoutes(): NodeRoute[];
|
|
100
|
-
getNodeChildren(): NodeChild[];
|
|
101
|
-
getRenderer(): React.ComponentType<any>;
|
|
102
|
-
seed(): {
|
|
103
|
-
routeId: string;
|
|
104
|
-
params?: Record<string, unknown>;
|
|
105
|
-
path: string;
|
|
106
|
-
stackId?: string;
|
|
107
|
-
} | null;
|
|
108
|
-
private findTabIndexByRoute;
|
|
109
|
-
private nodeHasRoute;
|
|
110
|
-
}
|
|
111
|
-
export {};
|
|
112
|
-
//# sourceMappingURL=TabBar.d.ts.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ImageSourcePropType } from 'react-native';
|
|
2
|
-
export interface TabIconProps {
|
|
3
|
-
source: ImageSourcePropType;
|
|
4
|
-
tintColor?: string;
|
|
5
|
-
}
|
|
6
|
-
export declare const TabIcon: import("react").MemoExoticComponent<({ source, tintColor }: TabIconProps) => import("react/jsx-runtime").JSX.Element>;
|
|
7
|
-
//# sourceMappingURL=TabIcon.web.d.ts.map
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The height of the TabBar in pixels
|
|
3
|
-
*/
|
|
4
|
-
export declare const TAB_BAR_HEIGHT = 57;
|
|
5
|
-
/**
|
|
6
|
-
* Hook that returns the height of the TabBar
|
|
7
|
-
* @returns {number} The height of the TabBar in pixels
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* const TabBarExample = () => {
|
|
12
|
-
* const tabBarHeight = useTabBarHeight();
|
|
13
|
-
* return <div style={{ paddingBottom: tabBarHeight }}>Content</div>;
|
|
14
|
-
* };
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare const useTabBarHeight: () => number;
|
|
18
|
-
//# sourceMappingURL=useTabBarHeight.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
type ControllerPresenter<P = any> = (passProps?: P) => void;
|
|
2
|
-
type ControllerInput<TParams, TQuery> = {
|
|
3
|
-
params: TParams;
|
|
4
|
-
query: TQuery;
|
|
5
|
-
};
|
|
6
|
-
export type Controller<TParams = Record<string, unknown>, TQuery = Record<string, unknown>> = (input: ControllerInput<TParams, TQuery>, present: ControllerPresenter) => void;
|
|
7
|
-
export type ComponentWithController = {
|
|
8
|
-
controller?: Controller<any, any>;
|
|
9
|
-
component: React.ComponentType<any>;
|
|
10
|
-
childNode?: import('./navigationNode').NavigationNode;
|
|
11
|
-
};
|
|
12
|
-
export type MixedComponent = ComponentWithController | React.ComponentType<any>;
|
|
13
|
-
export declare function createController<TParams, TQuery = Record<string, unknown>>(controller: Controller<TParams, TQuery>): Controller<TParams, TQuery>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=createController.d.ts.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export { useTabBar } from './TabBar/useTabBar';
|
|
2
|
-
export { useTabBarHeight, TAB_BAR_HEIGHT } from './TabBar/useTabBarHeight';
|
|
3
|
-
export { TabBar } from './TabBar/TabBar';
|
|
4
|
-
export type { TabBarProps } from './TabBar/TabBar';
|
|
5
|
-
export { Drawer } from './Drawer/Drawer';
|
|
6
|
-
export type { DrawerProps } from './Drawer/Drawer';
|
|
7
|
-
export { useDrawer } from './Drawer/useDrawer';
|
|
8
|
-
export { SplitView } from './SplitView/SplitView';
|
|
9
|
-
export type { SplitViewOptions } from './SplitView/SplitView';
|
|
10
|
-
export { useSplitView } from './SplitView/useSplitView';
|
|
11
|
-
export type { NavigationAppearance } from './types';
|
|
12
|
-
export type { ScreenOptions, ActiveRoute, StackPresentationTypes, NavigationStackOptions, } from './types';
|
|
13
|
-
export { Router } from './Router';
|
|
14
|
-
export { Navigation } from './Navigation';
|
|
15
|
-
export { createController } from './createController';
|
|
16
|
-
export type { Controller, ComponentWithController } from './createController';
|
|
17
|
-
export { NavigationStack } from './NavigationStack';
|
|
18
|
-
export type { HistoryItem } from './types';
|
|
19
|
-
export { StackRenderer } from './StackRenderer';
|
|
20
|
-
export { useRouter, useCurrentRoute, useParams, useQueryParams, useRoute, } from './RouterContext';
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { ScreenOptions, QueryPattern } from './types';
|
|
2
|
-
import type { Controller } from './createController';
|
|
3
|
-
import type React from 'react';
|
|
4
|
-
export type NodeRoute = {
|
|
5
|
-
routeId: string;
|
|
6
|
-
path: string;
|
|
7
|
-
pathnamePattern: string;
|
|
8
|
-
isWildcardPath: boolean;
|
|
9
|
-
queryPattern: QueryPattern | null;
|
|
10
|
-
baseSpecificity: number;
|
|
11
|
-
matchPath: (path: string) => false | {
|
|
12
|
-
params: Record<string, any>;
|
|
13
|
-
};
|
|
14
|
-
component: React.ComponentType<any>;
|
|
15
|
-
controller?: Controller<any, any>;
|
|
16
|
-
options?: ScreenOptions;
|
|
17
|
-
childNode?: NavigationNode;
|
|
18
|
-
};
|
|
19
|
-
export type NodeChild = {
|
|
20
|
-
prefix: string;
|
|
21
|
-
node: NavigationNode;
|
|
22
|
-
onMatch?: () => void;
|
|
23
|
-
};
|
|
24
|
-
export interface NavigationNode {
|
|
25
|
-
getId(): string;
|
|
26
|
-
getNodeRoutes(): NodeRoute[];
|
|
27
|
-
getNodeChildren(): NodeChild[];
|
|
28
|
-
getRenderer(): React.ComponentType<any>;
|
|
29
|
-
getActiveChildId?: () => string | undefined;
|
|
30
|
-
switchToRoute?: (routeId: string) => void;
|
|
31
|
-
hasRoute?: (routeId: string) => boolean;
|
|
32
|
-
setActiveChildByRoute?: (routeId: string) => void;
|
|
33
|
-
seed?: () => {
|
|
34
|
-
routeId: string;
|
|
35
|
-
params?: Record<string, unknown>;
|
|
36
|
-
path: string;
|
|
37
|
-
stackId?: string;
|
|
38
|
-
} | null;
|
|
39
|
-
getDefaultOptions?: () => ScreenOptions | undefined;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=navigationNode.d.ts.map
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import type { ColorValue, StyleProp, ViewStyle, TextStyle } from 'react-native';
|
|
2
|
-
import type { TabsScreenProps, ScreenProps as RNSScreenProps, ScreenStackHeaderConfigProps, TabBarItemLabelVisibilityMode, TabBarMinimizeBehavior, TabBarControllerMode, TabAccessoryComponentFactory, TabsScreenBlurEffect } from 'react-native-screens';
|
|
3
|
-
export type StackPresentationTypes = 'push' | 'modal' | 'modalRight' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet' | 'pageSheet' | 'sheet';
|
|
4
|
-
/**
|
|
5
|
-
* Presentations that behave like modals (overlay on top of content).
|
|
6
|
-
*/
|
|
7
|
-
export declare const MODAL_LIKE_PRESENTATIONS: ReadonlySet<StackPresentationTypes>;
|
|
8
|
-
/**
|
|
9
|
-
* Check if a presentation type is modal-like (renders as overlay).
|
|
10
|
-
*/
|
|
11
|
-
export declare function isModalLikePresentation(presentation: StackPresentationTypes | undefined): boolean;
|
|
12
|
-
export type TabItem = Omit<TabsScreenProps, 'isFocused' | 'children'>;
|
|
13
|
-
export type NavigationState<Route extends TabItem> = {
|
|
14
|
-
index: number;
|
|
15
|
-
routes: Route[];
|
|
16
|
-
};
|
|
17
|
-
export type TabBarIcon = {
|
|
18
|
-
sfSymbolName?: string;
|
|
19
|
-
} | string;
|
|
20
|
-
export type ScreenOptions = Partial<Omit<RNSScreenProps, 'stackPresentation'>> & {
|
|
21
|
-
header?: ScreenStackHeaderConfigProps;
|
|
22
|
-
stackPresentation?: StackPresentationTypes;
|
|
23
|
-
convertModalToSheetForAndroid?: boolean;
|
|
24
|
-
syncWithUrl?: boolean;
|
|
25
|
-
tabBarIcon?: TabBarIcon;
|
|
26
|
-
animated?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Allows pushing multiple instances of the same screen (same routeId) onto a stack.
|
|
29
|
-
*
|
|
30
|
-
* By default, Router.navigate() will behave like "replace" when targeting the currently
|
|
31
|
-
* active routeId in the same stack (i.e. treat it as "same screen, new data").
|
|
32
|
-
* Set this to true to force "push" even when navigating to the active routeId.
|
|
33
|
-
*/
|
|
34
|
-
allowMultipleInstances?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Allows Router.goBack() to pop the last (root) screen of a stack.
|
|
37
|
-
* Useful for secondary stacks in split-view / overlays.
|
|
38
|
-
*/
|
|
39
|
-
allowRootPop?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Maximum width for modal presentation on web (in pixels).
|
|
42
|
-
* Only applies to modal-like presentations on web platform.
|
|
43
|
-
*/
|
|
44
|
-
maxWidth?: number;
|
|
45
|
-
};
|
|
46
|
-
export type NavigationStackOptions = ScreenOptions & {
|
|
47
|
-
/**
|
|
48
|
-
* Optional React component to wrap the entire stack renderer.
|
|
49
|
-
* Useful for providing context (theme, auth, etc.) to all screens in the stack.
|
|
50
|
-
*/
|
|
51
|
-
provider?: React.ComponentType<{
|
|
52
|
-
children: React.ReactNode;
|
|
53
|
-
}>;
|
|
54
|
-
};
|
|
55
|
-
export type HistoryItem = {
|
|
56
|
-
key: string;
|
|
57
|
-
routeId: string;
|
|
58
|
-
component: React.ComponentType<any>;
|
|
59
|
-
options?: ScreenOptions;
|
|
60
|
-
params?: Record<string, unknown>;
|
|
61
|
-
query?: Record<string, unknown>;
|
|
62
|
-
passProps?: Record<string, unknown>;
|
|
63
|
-
stackId?: string;
|
|
64
|
-
pattern?: string;
|
|
65
|
-
path?: string;
|
|
66
|
-
};
|
|
67
|
-
export type ActiveRoute = {
|
|
68
|
-
routeId: string;
|
|
69
|
-
stackId?: string;
|
|
70
|
-
tabIndex?: number;
|
|
71
|
-
path?: string;
|
|
72
|
-
params?: Record<string, unknown>;
|
|
73
|
-
query?: Record<string, unknown>;
|
|
74
|
-
} | null;
|
|
75
|
-
export type QueryToken = {
|
|
76
|
-
type: 'const';
|
|
77
|
-
value: string;
|
|
78
|
-
} | {
|
|
79
|
-
type: 'param';
|
|
80
|
-
name: string;
|
|
81
|
-
};
|
|
82
|
-
export type QueryPattern = Record<string, QueryToken>;
|
|
83
|
-
export type CompiledRoute = {
|
|
84
|
-
routeId: string;
|
|
85
|
-
path: string;
|
|
86
|
-
pathnamePattern: string;
|
|
87
|
-
isWildcardPath: boolean;
|
|
88
|
-
queryPattern: QueryPattern | null;
|
|
89
|
-
baseSpecificity: number;
|
|
90
|
-
matchPath: (path: string) => false | {
|
|
91
|
-
params: Record<string, any>;
|
|
92
|
-
};
|
|
93
|
-
component: React.ComponentType<any>;
|
|
94
|
-
controller?: import('./createController').Controller<any, any>;
|
|
95
|
-
options?: ScreenOptions;
|
|
96
|
-
stackId?: string;
|
|
97
|
-
childNode?: import('./navigationNode').NavigationNode;
|
|
98
|
-
};
|
|
99
|
-
export type TabBarConfig = {
|
|
100
|
-
tabBarMinimizeBehavior?: TabBarMinimizeBehavior;
|
|
101
|
-
bottomAccessory?: TabAccessoryComponentFactory;
|
|
102
|
-
experimentalControlNavigationStateInJS?: boolean;
|
|
103
|
-
};
|
|
104
|
-
export type SheetAppearance = {
|
|
105
|
-
androidFullScreenTopInset?: number;
|
|
106
|
-
backgroundColor?: ColorValue;
|
|
107
|
-
cornerRadius?: number;
|
|
108
|
-
};
|
|
109
|
-
export interface NavigationAppearance {
|
|
110
|
-
tabBar?: {
|
|
111
|
-
backgroundColor?: ColorValue;
|
|
112
|
-
badgeBackgroundColor?: ColorValue;
|
|
113
|
-
iconColor?: ColorValue;
|
|
114
|
-
iconColorActive?: ColorValue;
|
|
115
|
-
androidActiveIndicatorEnabled?: boolean;
|
|
116
|
-
androidActiveIndicatorColor?: ColorValue;
|
|
117
|
-
androidRippleColor?: ColorValue;
|
|
118
|
-
labelVisibilityMode?: TabBarItemLabelVisibilityMode;
|
|
119
|
-
iOSShadowColor?: ColorValue;
|
|
120
|
-
hidden?: boolean;
|
|
121
|
-
tintColor?: ColorValue;
|
|
122
|
-
controllerMode?: TabBarControllerMode;
|
|
123
|
-
minimizeBehavior?: TabBarMinimizeBehavior;
|
|
124
|
-
nativeContainerBackgroundColor?: ColorValue;
|
|
125
|
-
iOSBlurEffect?: TabsScreenBlurEffect;
|
|
126
|
-
title: {
|
|
127
|
-
fontFamily?: TextStyle['fontFamily'];
|
|
128
|
-
fontSize?: TextStyle['fontSize'];
|
|
129
|
-
fontWeight?: TextStyle['fontWeight'];
|
|
130
|
-
fontStyle?: TextStyle['fontStyle'];
|
|
131
|
-
color?: TextStyle['color'];
|
|
132
|
-
activeColor?: TextStyle['color'];
|
|
133
|
-
activeFontSize?: TextStyle['fontSize'];
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
screen?: StyleProp<ViewStyle>;
|
|
137
|
-
header?: ScreenStackHeaderConfigProps;
|
|
138
|
-
sheet?: SheetAppearance;
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=types.d.ts.map
|