@sigmela/router 0.3.7 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +2 -1
  3. package/README.md +127 -471
  4. package/dist/Router.d.ts +190 -0
  5. package/dist/Router.d.ts.map +1 -0
  6. package/dist/components/Modal.d.ts +56 -0
  7. package/dist/components/Modal.d.ts.map +1 -0
  8. package/dist/components/OverlayContentScope.d.ts +8 -0
  9. package/dist/components/OverlayContentScope.d.ts.map +1 -0
  10. package/dist/components/RouterCloseButton.d.ts +9 -0
  11. package/dist/components/RouterCloseButton.d.ts.map +1 -0
  12. package/dist/components/Sheet.d.ts +56 -0
  13. package/dist/components/Sheet.d.ts.map +1 -0
  14. package/dist/components/SheetSurface.d.ts +27 -0
  15. package/dist/components/SheetSurface.d.ts.map +1 -0
  16. package/dist/components/index.d.ts +4 -0
  17. package/dist/components/index.d.ts.map +1 -0
  18. package/dist/components/pageScrollLock.d.ts +3 -0
  19. package/dist/components/pageScrollLock.d.ts.map +1 -0
  20. package/dist/components/sheetDragEngine.d.ts +27 -0
  21. package/dist/components/sheetDragEngine.d.ts.map +1 -0
  22. package/dist/index.d.ts +5 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +3696 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/navigationHistory.d.ts +17 -0
  27. package/dist/navigationHistory.d.ts.map +1 -0
  28. package/dist/router.css +975 -0
  29. package/dist/types.d.ts +3 -0
  30. package/dist/types.d.ts.map +1 -0
  31. package/dist/utils/id.d.ts +2 -0
  32. package/dist/utils/id.d.ts.map +1 -0
  33. package/package.json +73 -174
  34. package/lib/module/Drawer/Drawer.js +0 -250
  35. package/lib/module/Drawer/DrawerContext.js +0 -4
  36. package/lib/module/Drawer/DrawerIcon.web.js +0 -47
  37. package/lib/module/Drawer/RenderDrawer.native.js +0 -248
  38. package/lib/module/Drawer/RenderDrawer.web.js +0 -197
  39. package/lib/module/Drawer/useDrawer.js +0 -11
  40. package/lib/module/Navigation.js +0 -80
  41. package/lib/module/NavigationStack.js +0 -254
  42. package/lib/module/Router.js +0 -2171
  43. package/lib/module/RouterContext.js +0 -33
  44. package/lib/module/ScreenStack/ScreenStack.native.js +0 -3
  45. package/lib/module/ScreenStack/ScreenStack.web.js +0 -561
  46. package/lib/module/ScreenStack/ScreenStackContext.js +0 -21
  47. package/lib/module/ScreenStack/animationHelpers.js +0 -87
  48. package/lib/module/ScreenStack/index.js +0 -3
  49. package/lib/module/ScreenStackItem/ScreenStackItem.js +0 -70
  50. package/lib/module/ScreenStackItem/ScreenStackItem.types.js +0 -3
  51. package/lib/module/ScreenStackItem/ScreenStackItem.web.js +0 -171
  52. package/lib/module/ScreenStackItem/index.js +0 -3
  53. package/lib/module/ScreenStackSheetItem/ScreenStackSheetItem.native.js +0 -70
  54. package/lib/module/ScreenStackSheetItem/ScreenStackSheetItem.web.js +0 -5
  55. package/lib/module/ScreenStackSheetItem/index.js +0 -3
  56. package/lib/module/SplitView/RenderSplitView.native.js +0 -101
  57. package/lib/module/SplitView/RenderSplitView.web.js +0 -107
  58. package/lib/module/SplitView/SplitView.js +0 -97
  59. package/lib/module/SplitView/SplitViewContext.js +0 -4
  60. package/lib/module/SplitView/index.js +0 -5
  61. package/lib/module/SplitView/useSplitView.js +0 -11
  62. package/lib/module/StackRenderer.js +0 -42
  63. package/lib/module/TabBar/RenderTabBar.native.js +0 -418
  64. package/lib/module/TabBar/RenderTabBar.web.js +0 -218
  65. package/lib/module/TabBar/TabBar.js +0 -208
  66. package/lib/module/TabBar/TabBarContext.js +0 -4
  67. package/lib/module/TabBar/TabIcon.web.js +0 -47
  68. package/lib/module/TabBar/index.js +0 -6
  69. package/lib/module/TabBar/useTabBar.js +0 -11
  70. package/lib/module/TabBar/useTabBarHeight.js +0 -22
  71. package/lib/module/createController.js +0 -5
  72. package/lib/module/index.js +0 -15
  73. package/lib/module/navigationNode.js +0 -3
  74. package/lib/module/package.json +0 -1
  75. package/lib/module/styles.css +0 -1111
  76. package/lib/module/types.js +0 -13
  77. package/lib/typescript/package.json +0 -1
  78. package/lib/typescript/src/Drawer/Drawer.d.ts +0 -100
  79. package/lib/typescript/src/Drawer/DrawerContext.d.ts +0 -3
  80. package/lib/typescript/src/Drawer/DrawerIcon.web.d.ts +0 -7
  81. package/lib/typescript/src/Drawer/RenderDrawer.native.d.ts +0 -8
  82. package/lib/typescript/src/Drawer/RenderDrawer.web.d.ts +0 -8
  83. package/lib/typescript/src/Drawer/useDrawer.d.ts +0 -2
  84. package/lib/typescript/src/Navigation.d.ts +0 -17
  85. package/lib/typescript/src/NavigationStack.d.ts +0 -46
  86. package/lib/typescript/src/Router.d.ts +0 -232
  87. package/lib/typescript/src/RouterContext.d.ts +0 -18
  88. package/lib/typescript/src/ScreenStack/ScreenStack.native.d.ts +0 -2
  89. package/lib/typescript/src/ScreenStack/ScreenStack.web.d.ts +0 -9
  90. package/lib/typescript/src/ScreenStack/ScreenStackContext.d.ts +0 -31
  91. package/lib/typescript/src/ScreenStack/animationHelpers.d.ts +0 -6
  92. package/lib/typescript/src/ScreenStack/index.d.ts +0 -2
  93. package/lib/typescript/src/ScreenStackItem/ScreenStackItem.d.ts +0 -3
  94. package/lib/typescript/src/ScreenStackItem/ScreenStackItem.types.d.ts +0 -14
  95. package/lib/typescript/src/ScreenStackItem/ScreenStackItem.web.d.ts +0 -3
  96. package/lib/typescript/src/ScreenStackItem/index.d.ts +0 -3
  97. package/lib/typescript/src/ScreenStackSheetItem/ScreenStackSheetItem.native.d.ts +0 -11
  98. package/lib/typescript/src/ScreenStackSheetItem/ScreenStackSheetItem.web.d.ts +0 -2
  99. package/lib/typescript/src/ScreenStackSheetItem/index.d.ts +0 -2
  100. package/lib/typescript/src/SplitView/RenderSplitView.native.d.ts +0 -19
  101. package/lib/typescript/src/SplitView/RenderSplitView.web.d.ts +0 -8
  102. package/lib/typescript/src/SplitView/SplitView.d.ts +0 -33
  103. package/lib/typescript/src/SplitView/SplitViewContext.d.ts +0 -3
  104. package/lib/typescript/src/SplitView/index.d.ts +0 -5
  105. package/lib/typescript/src/SplitView/useSplitView.d.ts +0 -2
  106. package/lib/typescript/src/StackRenderer.d.ts +0 -8
  107. package/lib/typescript/src/TabBar/RenderTabBar.native.d.ts +0 -8
  108. package/lib/typescript/src/TabBar/RenderTabBar.web.d.ts +0 -8
  109. package/lib/typescript/src/TabBar/TabBar.d.ts +0 -112
  110. package/lib/typescript/src/TabBar/TabBarContext.d.ts +0 -3
  111. package/lib/typescript/src/TabBar/TabIcon.web.d.ts +0 -7
  112. package/lib/typescript/src/TabBar/index.d.ts +0 -5
  113. package/lib/typescript/src/TabBar/useTabBar.d.ts +0 -2
  114. package/lib/typescript/src/TabBar/useTabBarHeight.d.ts +0 -18
  115. package/lib/typescript/src/createController.d.ts +0 -15
  116. package/lib/typescript/src/index.d.ts +0 -21
  117. package/lib/typescript/src/navigationNode.d.ts +0 -41
  118. 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,3 +0,0 @@
1
- import { TabBar } from './TabBar';
2
- export declare const TabBarContext: import("react").Context<TabBar | null>;
3
- //# sourceMappingURL=TabBarContext.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,5 +0,0 @@
1
- export { RenderTabBar } from './RenderTabBar';
2
- export { TabBar } from './TabBar';
3
- export { useTabBar } from './useTabBar';
4
- export { useTabBarHeight, TAB_BAR_HEIGHT } from './useTabBarHeight';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +0,0 @@
1
- export declare const useTabBar: () => import("./TabBar").TabBar;
2
- //# sourceMappingURL=useTabBar.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