expo-router 7.0.0-canary-20251031-b135dff → 7.0.0-canary-20251118-8f7ee64

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 (157) hide show
  1. package/build/Route.d.ts +2 -0
  2. package/build/Route.d.ts.map +1 -1
  3. package/build/Route.js.map +1 -1
  4. package/build/color/android.attr.types.d.ts +142 -0
  5. package/build/color/android.attr.types.d.ts.map +1 -0
  6. package/build/color/android.attr.types.js +3 -0
  7. package/build/color/android.attr.types.js.map +1 -0
  8. package/build/color/android.color.types.d.ts +1278 -0
  9. package/build/color/android.color.types.d.ts.map +1 -0
  10. package/build/color/android.color.types.js +3 -0
  11. package/build/color/android.color.types.js.map +1 -0
  12. package/build/color/android.dynamic.types.d.ts +384 -0
  13. package/build/color/android.dynamic.types.d.ts.map +1 -0
  14. package/build/color/android.dynamic.types.js +3 -0
  15. package/build/color/android.dynamic.types.js.map +1 -0
  16. package/build/color/android.material.types.d.ts +291 -0
  17. package/build/color/android.material.types.d.ts.map +1 -0
  18. package/build/color/android.material.types.js +3 -0
  19. package/build/color/android.material.types.js.map +1 -0
  20. package/build/color/index.d.ts +35 -0
  21. package/build/color/index.d.ts.map +1 -0
  22. package/build/color/index.js +71 -0
  23. package/build/color/index.js.map +1 -0
  24. package/build/color/ios.types.d.ts +156 -0
  25. package/build/color/ios.types.d.ts.map +1 -0
  26. package/build/color/ios.types.js +3 -0
  27. package/build/color/ios.types.js.map +1 -0
  28. package/build/color/materialColor.android.d.ts +4 -0
  29. package/build/color/materialColor.android.d.ts.map +1 -0
  30. package/build/color/materialColor.android.js +28 -0
  31. package/build/color/materialColor.android.js.map +1 -0
  32. package/build/color/materialColor.d.ts +4 -0
  33. package/build/color/materialColor.d.ts.map +1 -0
  34. package/build/color/materialColor.js +11 -0
  35. package/build/color/materialColor.js.map +1 -0
  36. package/build/exports.d.ts +2 -0
  37. package/build/exports.d.ts.map +1 -1
  38. package/build/exports.js +7 -1
  39. package/build/exports.js.map +1 -1
  40. package/build/layouts/DrawerClient.d.ts +4 -2
  41. package/build/layouts/DrawerClient.d.ts.map +1 -1
  42. package/build/layouts/Stack.d.ts.map +1 -1
  43. package/build/layouts/Stack.js +3 -2
  44. package/build/layouts/Stack.js.map +1 -1
  45. package/build/layouts/Stack.web.d.ts.map +1 -1
  46. package/build/layouts/Stack.web.js +3 -2
  47. package/build/layouts/Stack.web.js.map +1 -1
  48. package/build/layouts/StackClient.d.ts +18 -10
  49. package/build/layouts/StackClient.d.ts.map +1 -1
  50. package/build/layouts/StackClient.js +95 -5
  51. package/build/layouts/StackClient.js.map +1 -1
  52. package/build/layouts/TabsClient.d.ts +6 -3
  53. package/build/layouts/TabsClient.d.ts.map +1 -1
  54. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts +14 -0
  55. package/build/layouts/stack-utils/StackHeaderBackButton.d.ts.map +1 -0
  56. package/build/layouts/stack-utils/StackHeaderBackButton.js +19 -0
  57. package/build/layouts/stack-utils/StackHeaderBackButton.js.map +1 -0
  58. package/build/layouts/stack-utils/StackHeaderComponent.d.ts +22 -0
  59. package/build/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -0
  60. package/build/layouts/stack-utils/StackHeaderComponent.js +67 -0
  61. package/build/layouts/stack-utils/StackHeaderComponent.js.map +1 -0
  62. package/build/layouts/stack-utils/StackHeaderLeft.d.ts +9 -0
  63. package/build/layouts/stack-utils/StackHeaderLeft.d.ts.map +1 -0
  64. package/build/layouts/stack-utils/StackHeaderLeft.js +17 -0
  65. package/build/layouts/stack-utils/StackHeaderLeft.js.map +1 -0
  66. package/build/layouts/stack-utils/StackHeaderRight.d.ts +9 -0
  67. package/build/layouts/stack-utils/StackHeaderRight.d.ts.map +1 -0
  68. package/build/layouts/stack-utils/StackHeaderRight.js +17 -0
  69. package/build/layouts/stack-utils/StackHeaderRight.js.map +1 -0
  70. package/build/layouts/stack-utils/StackHeaderSearchBar.d.ts +7 -0
  71. package/build/layouts/stack-utils/StackHeaderSearchBar.d.ts.map +1 -0
  72. package/build/layouts/stack-utils/StackHeaderSearchBar.js +16 -0
  73. package/build/layouts/stack-utils/StackHeaderSearchBar.js.map +1 -0
  74. package/build/layouts/stack-utils/StackHeaderTitle.d.ts +22 -0
  75. package/build/layouts/stack-utils/StackHeaderTitle.d.ts.map +1 -0
  76. package/build/layouts/stack-utils/StackHeaderTitle.js +41 -0
  77. package/build/layouts/stack-utils/StackHeaderTitle.js.map +1 -0
  78. package/build/layouts/stack-utils/StackScreen.d.ts +9 -0
  79. package/build/layouts/stack-utils/StackScreen.d.ts.map +1 -0
  80. package/build/layouts/stack-utils/StackScreen.js +34 -0
  81. package/build/layouts/stack-utils/StackScreen.js.map +1 -0
  82. package/build/layouts/stack-utils/index.d.ts +17 -0
  83. package/build/layouts/stack-utils/index.d.ts.map +1 -0
  84. package/build/layouts/stack-utils/index.js +28 -0
  85. package/build/layouts/stack-utils/index.js.map +1 -0
  86. package/build/layouts/stack-utils/utils.d.ts +3 -0
  87. package/build/layouts/stack-utils/utils.d.ts.map +1 -0
  88. package/build/layouts/stack-utils/utils.js +8 -0
  89. package/build/layouts/stack-utils/utils.js.map +1 -0
  90. package/build/layouts/withLayoutContext.js +1 -1
  91. package/build/layouts/withLayoutContext.js.map +1 -1
  92. package/build/loaders/utils.d.ts +9 -0
  93. package/build/loaders/utils.d.ts.map +1 -1
  94. package/build/loaders/utils.js +16 -2
  95. package/build/loaders/utils.js.map +1 -1
  96. package/build/native-tabs/NativeBottomTabsNavigator.d.ts.map +1 -1
  97. package/build/native-tabs/NativeBottomTabsNavigator.js.map +1 -1
  98. package/build/native-tabs/NativeTabTrigger.d.ts +9 -7
  99. package/build/native-tabs/NativeTabTrigger.d.ts.map +1 -1
  100. package/build/native-tabs/NativeTabTrigger.js +25 -64
  101. package/build/native-tabs/NativeTabTrigger.js.map +1 -1
  102. package/build/native-tabs/NativeTabs.d.ts +4 -1
  103. package/build/native-tabs/NativeTabs.d.ts.map +1 -1
  104. package/build/native-tabs/NativeTabsView.d.ts.map +1 -1
  105. package/build/native-tabs/NativeTabsView.js +8 -3
  106. package/build/native-tabs/NativeTabsView.js.map +1 -1
  107. package/build/native-tabs/common/elements.d.ts +28 -90
  108. package/build/native-tabs/common/elements.d.ts.map +1 -1
  109. package/build/native-tabs/common/elements.js +16 -18
  110. package/build/native-tabs/common/elements.js.map +1 -1
  111. package/build/native-tabs/index.d.ts +1 -2
  112. package/build/native-tabs/index.d.ts.map +1 -1
  113. package/build/native-tabs/index.js +1 -3
  114. package/build/native-tabs/index.js.map +1 -1
  115. package/build/native-tabs/types.d.ts +20 -170
  116. package/build/native-tabs/types.d.ts.map +1 -1
  117. package/build/native-tabs/types.js.map +1 -1
  118. package/build/native-tabs/utils/icon.d.ts +3 -3
  119. package/build/native-tabs/utils/icon.d.ts.map +1 -1
  120. package/build/native-tabs/utils/icon.js +22 -13
  121. package/build/native-tabs/utils/icon.js.map +1 -1
  122. package/build/primitives/elements.d.ts +18 -0
  123. package/build/primitives/elements.d.ts.map +1 -0
  124. package/build/primitives/elements.js +31 -0
  125. package/build/primitives/elements.js.map +1 -0
  126. package/build/primitives/index.d.ts +5 -0
  127. package/build/primitives/index.d.ts.map +1 -0
  128. package/build/primitives/index.js +26 -0
  129. package/build/primitives/index.js.map +1 -0
  130. package/build/primitives/menu.d.ts +12 -0
  131. package/build/primitives/menu.d.ts.map +1 -0
  132. package/build/primitives/menu.js +28 -0
  133. package/build/primitives/menu.js.map +1 -0
  134. package/build/{primitives.d.ts → primitives/navigation.d.ts} +1 -1
  135. package/build/primitives/navigation.d.ts.map +1 -0
  136. package/build/{primitives.js → primitives/navigation.js} +1 -1
  137. package/build/primitives/navigation.js.map +1 -0
  138. package/build/primitives/types.d.ts +26 -0
  139. package/build/primitives/types.d.ts.map +1 -0
  140. package/build/primitives/types.js +3 -0
  141. package/build/primitives/types.js.map +1 -0
  142. package/build/split-view/elements.js +4 -4
  143. package/build/split-view/elements.js.map +1 -1
  144. package/build/split-view/split-view.d.ts +1 -1
  145. package/build/split-view/split-view.d.ts.map +1 -1
  146. package/build/split-view/split-view.js +5 -5
  147. package/build/split-view/split-view.js.map +1 -1
  148. package/expo-module.config.json +10 -1
  149. package/ios/{ExpoHead.podspec → ExpoRouter.podspec} +1 -1
  150. package/package.json +14 -14
  151. package/build/native-tabs/NativeTabsTriggerTabBar.d.ts +0 -24
  152. package/build/native-tabs/NativeTabsTriggerTabBar.d.ts.map +0 -1
  153. package/build/native-tabs/NativeTabsTriggerTabBar.js +0 -28
  154. package/build/native-tabs/NativeTabsTriggerTabBar.js.map +0 -1
  155. package/build/primitives.d.ts.map +0 -1
  156. package/build/primitives.js.map +0 -1
  157. package/node/getExpoConstantsManifest.js +0 -163
@@ -1,7 +1,8 @@
1
1
  import type { ColorValue, ImageSourcePropType } from 'react-native';
2
2
  import type { SFSymbol } from 'sf-symbols-typescript';
3
+ import { VectorIcon } from '../../primitives';
3
4
  import type { NativeTabsLabelStyle } from '../types';
4
- export interface LabelProps {
5
+ export interface NativeTabsTriggerLabelProps {
5
6
  /**
6
7
  * The text to display as the label for the tab.
7
8
  */
@@ -13,11 +14,15 @@ export interface LabelProps {
13
14
  */
14
15
  hidden?: boolean;
15
16
  }
16
- export declare function Label(props: LabelProps): null;
17
- export interface SourceIconCombination {
17
+ export declare const NativeTabsTriggerLabel: React.FC<NativeTabsTriggerLabelProps>;
18
+ export interface SrcIcon {
18
19
  /**
19
20
  * The image source to use as an icon.
20
21
  *
22
+ * When `sf` prop is used it will override this prop on iOS.
23
+ *
24
+ * When `drawable` or `material` prop is used it will override this prop on Android.
25
+ *
21
26
  * The value can be provided in two ways:
22
27
  * - As an image source
23
28
  * - As an object specifying the default and selected states
@@ -39,11 +44,8 @@ export interface SourceIconCombination {
39
44
  default?: ImageSourcePropType | React.ReactElement;
40
45
  selected: ImageSourcePropType | React.ReactElement;
41
46
  };
42
- drawable?: never;
43
- sf?: never;
44
- androidSrc?: never;
45
47
  }
46
- export interface NamedIconCombination {
48
+ export interface SFSymbolIcon {
47
49
  /**
48
50
  * The name of the SF Symbol to use as an icon.
49
51
  *
@@ -67,118 +69,54 @@ export interface NamedIconCombination {
67
69
  default?: SFSymbol;
68
70
  selected: SFSymbol;
69
71
  };
72
+ }
73
+ export interface DrawableIcon {
70
74
  /**
71
75
  * The name of the drawable resource to use as an icon.
72
76
  * @platform android
73
77
  */
74
78
  drawable?: string;
75
- src?: never;
76
- androidSrc?: never;
77
79
  }
78
- export interface CrossPlatformIconCombination {
79
- /**
80
- * The name of the SF Symbol to use as an icon on iOS.
81
- *
82
- * The value can be provided in two ways:
83
- * - As a string with the SF Symbol name
84
- * - As an object specifying the default and selected states
85
- *
86
- * @example
87
- * ```tsx
88
- * <Icon sf="magnifyingglass" androidSrc={require('./search.png')} />
89
- * ```
90
- *
91
- * @example
92
- * ```tsx
93
- * <Icon
94
- * sf={{ default: "house", selected: "house.fill" }}
95
- * androidSrc={{ default: require('./home.png'), selected: require('./home-filled.png') }}
96
- * />
97
- * ```
98
- *
99
- * @platform iOS
100
- */
101
- sf?: SFSymbol | {
102
- default?: SFSymbol;
103
- selected: SFSymbol;
104
- };
105
- /**
106
- * The image source to use as an icon on Android.
107
- *
108
- * The value can be provided in two ways:
109
- * - As an image source
110
- * - As an object specifying the default and selected states
111
- *
112
- * @example
113
- * ```tsx
114
- * <Icon sf="magnifyingglass" androidSrc={require('./search.png')} />
115
- * ```
116
- *
117
- * @example
118
- * ```tsx
119
- * <Icon
120
- * sf={{ default: "house", selected: "house.fill" }}
121
- * androidSrc={{ default: require('./icon.png'), selected: require('./icon-selected.png') }}
122
- * />
123
- * ```
124
- *
125
- * @platform Android
126
- */
127
- androidSrc?: ImageSourcePropType | React.ReactElement | {
128
- default?: ImageSourcePropType | React.ReactElement;
129
- selected: ImageSourcePropType | React.ReactElement;
130
- };
131
- src?: never;
132
- drawable?: never;
133
- }
134
- export type IconProps = {
80
+ export type BaseNativeTabsTriggerIconProps = {
135
81
  selectedColor?: ColorValue;
136
- } & (NamedIconCombination | SourceIconCombination | CrossPlatformIconCombination);
82
+ };
83
+ export type NativeTabsTriggerIconProps = BaseNativeTabsTriggerIconProps & ((SFSymbolIcon & DrawableIcon) | (SFSymbolIcon & SrcIcon) | (DrawableIcon & SrcIcon) | SrcIcon);
137
84
  /**
138
85
  * Renders an icon for the tab.
139
86
  *
87
+ * Accepts various icon sources such as SF Symbols, drawable resources, material icons, or image sources.
88
+ *
89
+ * Acceptable props combinations:
90
+ * - `sf` and `drawable` - `sf` will be used for iOS icon, `drawable` for Android icon
91
+ * - `sf` and `src` - `sf` will be used for iOS icon, `src` for Android icon
92
+ * - `src` and `drawable` - `src` will be used for iOS icon, `drawable` for Android icon
93
+ * - `src` only - `src` will be used for both iOS and Android icons
94
+ *
140
95
  * @platform ios
141
96
  * @platform android
142
97
  */
143
- export declare function Icon(props: IconProps): null;
144
- export interface VectorIconProps<NameT extends string> {
145
- /**
146
- * The family of the vector icon.
147
- *
148
- * @example
149
- * ```tsx
150
- * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';
151
- * ```
152
- */
153
- family: {
154
- getImageSource: (name: NameT, size: number, color: ColorValue) => Promise<ImageSourcePropType | null>;
155
- };
156
- /**
157
- * The name of the vector icon.
158
- */
159
- name: NameT;
160
- }
98
+ export declare const NativeTabsTriggerIcon: React.FC<NativeTabsTriggerIconProps>;
161
99
  /**
162
100
  * Helper component which can be used to load vector icons for `NativeTabs`.
163
101
  *
164
102
  * @example
165
103
  * ```tsx
166
- * import { NativeTabs, VectorIcon } from 'expo-router';
104
+ * import { NativeTabs } from 'expo-router/unstable-native-tabs';
167
105
  * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';
168
106
  *
169
107
  * export default Layout(){
170
108
  * return (
171
109
  * <NativeTabs>
172
110
  * <NativeTabs.Trigger name="index">
173
- * <Icon src={<VectorIcon family={MaterialCommunityIcons} name="home" />} />
111
+ * <NativeTabs.Trigger.Icon src={<NativeTabs.Trigger.VectorIcon family={MaterialCommunityIcons} name="home" />} />
174
112
  * </NativeTabs.Trigger>
175
113
  * </NativeTabs>
176
114
  * );
177
115
  * }
178
116
  * ```
179
117
  */
180
- export declare function VectorIcon<NameT extends string>(props: VectorIconProps<NameT>): null;
181
- export interface BadgeProps {
118
+ export declare const NativeTabsTriggerVectorIcon: typeof VectorIcon;
119
+ export interface NativeTabsTriggerBadgeProps {
182
120
  /**
183
121
  * The text to display as the badge for the tab.
184
122
  * If not provided, the badge will not be displayed.
@@ -191,5 +129,5 @@ export interface BadgeProps {
191
129
  hidden?: boolean;
192
130
  selectedBackgroundColor?: ColorValue;
193
131
  }
194
- export declare function Badge(props: BadgeProps): null;
132
+ export declare const NativeTabsTriggerBadge: React.FC<NativeTabsTriggerBadgeProps>;
195
133
  //# sourceMappingURL=elements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/native-tabs/common/elements.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/native-tabs/common/elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAsB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAS,CAAC;AAEnF,MAAM,WAAW,OAAO;IACtB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,GAAG,CAAC,EACA,mBAAmB,GACnB,KAAK,CAAC,YAAY,GAClB;QACE,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;QACnD,QAAQ,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;KACpD,CAAC;CACP;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,8BAA8B,GAAG;IAAE,aAAa,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,GACrE,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAElG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAQ,CAAC;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,mBAAa,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uBAAuB,CAAC,EAAE,UAAU,CAAC;CACtC;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAS,CAAC"}
@@ -1,44 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Label = Label;
4
- exports.Icon = Icon;
5
- exports.VectorIcon = VectorIcon;
6
- exports.Badge = Badge;
7
- function Label(props) {
8
- return null;
9
- }
3
+ exports.NativeTabsTriggerBadge = exports.NativeTabsTriggerVectorIcon = exports.NativeTabsTriggerIcon = exports.NativeTabsTriggerLabel = void 0;
4
+ const primitives_1 = require("../../primitives");
5
+ exports.NativeTabsTriggerLabel = primitives_1.Label;
10
6
  /**
11
7
  * Renders an icon for the tab.
12
8
  *
9
+ * Accepts various icon sources such as SF Symbols, drawable resources, material icons, or image sources.
10
+ *
11
+ * Acceptable props combinations:
12
+ * - `sf` and `drawable` - `sf` will be used for iOS icon, `drawable` for Android icon
13
+ * - `sf` and `src` - `sf` will be used for iOS icon, `src` for Android icon
14
+ * - `src` and `drawable` - `src` will be used for iOS icon, `drawable` for Android icon
15
+ * - `src` only - `src` will be used for both iOS and Android icons
16
+ *
13
17
  * @platform ios
14
18
  * @platform android
15
19
  */
16
- function Icon(props) {
17
- return null;
18
- }
20
+ exports.NativeTabsTriggerIcon = primitives_1.Icon;
19
21
  /**
20
22
  * Helper component which can be used to load vector icons for `NativeTabs`.
21
23
  *
22
24
  * @example
23
25
  * ```tsx
24
- * import { NativeTabs, VectorIcon } from 'expo-router';
26
+ * import { NativeTabs } from 'expo-router/unstable-native-tabs';
25
27
  * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';
26
28
  *
27
29
  * export default Layout(){
28
30
  * return (
29
31
  * <NativeTabs>
30
32
  * <NativeTabs.Trigger name="index">
31
- * <Icon src={<VectorIcon family={MaterialCommunityIcons} name="home" />} />
33
+ * <NativeTabs.Trigger.Icon src={<NativeTabs.Trigger.VectorIcon family={MaterialCommunityIcons} name="home" />} />
32
34
  * </NativeTabs.Trigger>
33
35
  * </NativeTabs>
34
36
  * );
35
37
  * }
36
38
  * ```
37
39
  */
38
- function VectorIcon(props) {
39
- return null;
40
- }
41
- function Badge(props) {
42
- return null;
43
- }
40
+ exports.NativeTabsTriggerVectorIcon = primitives_1.VectorIcon;
41
+ exports.NativeTabsTriggerBadge = primitives_1.Badge;
44
42
  //# sourceMappingURL=elements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/native-tabs/common/elements.tsx"],"names":[],"mappings":";;AAkBA,sBAEC;AAsID,oBAEC;AA2CD,gCAEC;AAiBD,sBAEC;AA1MD,SAAgB,KAAK,CAAC,KAAiB;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAgID;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,KAAgB;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAwBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,UAAU,CAAuB,KAA6B;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,SAAgB,KAAK,CAAC,KAAiB;IACrC,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { ColorValue, ImageSourcePropType } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport type { NativeTabsLabelStyle } from '../types';\n\nexport interface LabelProps {\n /**\n * The text to display as the label for the tab.\n */\n children?: string;\n selectedStyle?: NativeTabsLabelStyle;\n /**\n * If true, the label will be hidden.\n * @default false\n */\n hidden?: boolean;\n}\n\nexport function Label(props: LabelProps) {\n return null;\n}\n\nexport interface SourceIconCombination {\n /**\n * The image source to use as an icon.\n *\n * The value can be provided in two ways:\n * - As an image source\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon src={require('./path/to/icon.png')} />\n * ```\n *\n * @example\n * ```tsx\n * <Icon src={{ default: require('./path/to/icon.png'), selected: require('./path/to/icon-selected.png') }} />\n * ```\n *\n * @platform Android\n * @platform iOS\n */\n src?:\n | ImageSourcePropType\n | React.ReactElement\n | {\n default?: ImageSourcePropType | React.ReactElement;\n selected: ImageSourcePropType | React.ReactElement;\n };\n drawable?: never;\n sf?: never;\n androidSrc?: never;\n}\n\nexport interface NamedIconCombination {\n /**\n * The name of the SF Symbol to use as an icon.\n *\n * The value can be provided in two ways:\n * - As a string with the SF Symbol name\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon sf=\"magnifyingglass\" />\n * ```\n *\n * @example\n * ```tsx\n * <Icon sf={{ default: \"house\", selected: \"house.fill\" }} />\n * ```\n *\n * @platform iOS\n */\n sf?: SFSymbol | { default?: SFSymbol; selected: SFSymbol };\n /**\n * The name of the drawable resource to use as an icon.\n * @platform android\n */\n drawable?: string;\n src?: never;\n androidSrc?: never;\n}\n\nexport interface CrossPlatformIconCombination {\n /**\n * The name of the SF Symbol to use as an icon on iOS.\n *\n * The value can be provided in two ways:\n * - As a string with the SF Symbol name\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon sf=\"magnifyingglass\" androidSrc={require('./search.png')} />\n * ```\n *\n * @example\n * ```tsx\n * <Icon\n * sf={{ default: \"house\", selected: \"house.fill\" }}\n * androidSrc={{ default: require('./home.png'), selected: require('./home-filled.png') }}\n * />\n * ```\n *\n * @platform iOS\n */\n sf?: SFSymbol | { default?: SFSymbol; selected: SFSymbol };\n /**\n * The image source to use as an icon on Android.\n *\n * The value can be provided in two ways:\n * - As an image source\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon sf=\"magnifyingglass\" androidSrc={require('./search.png')} />\n * ```\n *\n * @example\n * ```tsx\n * <Icon\n * sf={{ default: \"house\", selected: \"house.fill\" }}\n * androidSrc={{ default: require('./icon.png'), selected: require('./icon-selected.png') }}\n * />\n * ```\n *\n * @platform Android\n */\n androidSrc?:\n | ImageSourcePropType\n | React.ReactElement\n | {\n default?: ImageSourcePropType | React.ReactElement;\n selected: ImageSourcePropType | React.ReactElement;\n };\n src?: never;\n drawable?: never;\n}\n\nexport type IconProps = { selectedColor?: ColorValue } & (\n | NamedIconCombination\n | SourceIconCombination\n | CrossPlatformIconCombination\n);\n\n/**\n * Renders an icon for the tab.\n *\n * @platform ios\n * @platform android\n */\nexport function Icon(props: IconProps) {\n return null;\n}\n\nexport interface VectorIconProps<NameT extends string> {\n /**\n * The family of the vector icon.\n *\n * @example\n * ```tsx\n * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';\n * ```\n */\n family: {\n getImageSource: (\n name: NameT,\n size: number,\n color: ColorValue\n ) => Promise<ImageSourcePropType | null>;\n };\n /**\n * The name of the vector icon.\n */\n name: NameT;\n}\n\n/**\n * Helper component which can be used to load vector icons for `NativeTabs`.\n *\n * @example\n * ```tsx\n * import { NativeTabs, VectorIcon } from 'expo-router';\n * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';\n *\n * export default Layout(){\n * return (\n * <NativeTabs>\n * <NativeTabs.Trigger name=\"index\">\n * <Icon src={<VectorIcon family={MaterialCommunityIcons} name=\"home\" />} />\n * </NativeTabs.Trigger>\n * </NativeTabs>\n * );\n * }\n * ```\n */\nexport function VectorIcon<NameT extends string>(props: VectorIconProps<NameT>) {\n return null;\n}\n\nexport interface BadgeProps {\n /**\n * The text to display as the badge for the tab.\n * If not provided, the badge will not be displayed.\n */\n children?: string;\n\n /**\n * If true, the badge will be hidden.\n * @default false\n */\n hidden?: boolean;\n selectedBackgroundColor?: ColorValue;\n}\n\nexport function Badge(props: BadgeProps) {\n return null;\n}\n"]}
1
+ {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/native-tabs/common/elements.tsx"],"names":[],"mappings":";;;AAGA,iDAAkE;AAgBrD,QAAA,sBAAsB,GAA0C,kBAAK,CAAC;AAwEnF;;;;;;;;;;;;;GAaG;AACU,QAAA,qBAAqB,GAAyC,iBAAI,CAAC;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,2BAA2B,GAAG,uBAAU,CAAC;AAiBzC,QAAA,sBAAsB,GAA0C,kBAAK,CAAC","sourcesContent":["import type { ColorValue, ImageSourcePropType } from 'react-native';\nimport type { SFSymbol } from 'sf-symbols-typescript';\n\nimport { Label, Icon, Badge, VectorIcon } from '../../primitives';\nimport type { NativeTabsLabelStyle } from '../types';\n\nexport interface NativeTabsTriggerLabelProps {\n /**\n * The text to display as the label for the tab.\n */\n children?: string;\n selectedStyle?: NativeTabsLabelStyle;\n /**\n * If true, the label will be hidden.\n * @default false\n */\n hidden?: boolean;\n}\n\nexport const NativeTabsTriggerLabel: React.FC<NativeTabsTriggerLabelProps> = Label;\n\nexport interface SrcIcon {\n /**\n * The image source to use as an icon.\n *\n * When `sf` prop is used it will override this prop on iOS.\n *\n * When `drawable` or `material` prop is used it will override this prop on Android.\n *\n * The value can be provided in two ways:\n * - As an image source\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon src={require('./path/to/icon.png')} />\n * ```\n *\n * @example\n * ```tsx\n * <Icon src={{ default: require('./path/to/icon.png'), selected: require('./path/to/icon-selected.png') }} />\n * ```\n *\n * @platform Android\n * @platform iOS\n */\n src?:\n | ImageSourcePropType\n | React.ReactElement\n | {\n default?: ImageSourcePropType | React.ReactElement;\n selected: ImageSourcePropType | React.ReactElement;\n };\n}\n\nexport interface SFSymbolIcon {\n /**\n * The name of the SF Symbol to use as an icon.\n *\n * The value can be provided in two ways:\n * - As a string with the SF Symbol name\n * - As an object specifying the default and selected states\n *\n * @example\n * ```tsx\n * <Icon sf=\"magnifyingglass\" />\n * ```\n *\n * @example\n * ```tsx\n * <Icon sf={{ default: \"house\", selected: \"house.fill\" }} />\n * ```\n *\n * @platform iOS\n */\n sf?: SFSymbol | { default?: SFSymbol; selected: SFSymbol };\n}\n\nexport interface DrawableIcon {\n /**\n * The name of the drawable resource to use as an icon.\n * @platform android\n */\n drawable?: string;\n}\n\nexport type BaseNativeTabsTriggerIconProps = { selectedColor?: ColorValue };\n\nexport type NativeTabsTriggerIconProps = BaseNativeTabsTriggerIconProps &\n ((SFSymbolIcon & DrawableIcon) | (SFSymbolIcon & SrcIcon) | (DrawableIcon & SrcIcon) | SrcIcon);\n\n/**\n * Renders an icon for the tab.\n *\n * Accepts various icon sources such as SF Symbols, drawable resources, material icons, or image sources.\n *\n * Acceptable props combinations:\n * - `sf` and `drawable` - `sf` will be used for iOS icon, `drawable` for Android icon\n * - `sf` and `src` - `sf` will be used for iOS icon, `src` for Android icon\n * - `src` and `drawable` - `src` will be used for iOS icon, `drawable` for Android icon\n * - `src` only - `src` will be used for both iOS and Android icons\n *\n * @platform ios\n * @platform android\n */\nexport const NativeTabsTriggerIcon: React.FC<NativeTabsTriggerIconProps> = Icon;\n\n/**\n * Helper component which can be used to load vector icons for `NativeTabs`.\n *\n * @example\n * ```tsx\n * import { NativeTabs } from 'expo-router/unstable-native-tabs';\n * import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons';\n *\n * export default Layout(){\n * return (\n * <NativeTabs>\n * <NativeTabs.Trigger name=\"index\">\n * <NativeTabs.Trigger.Icon src={<NativeTabs.Trigger.VectorIcon family={MaterialCommunityIcons} name=\"home\" />} />\n * </NativeTabs.Trigger>\n * </NativeTabs>\n * );\n * }\n * ```\n */\nexport const NativeTabsTriggerVectorIcon = VectorIcon;\n\nexport interface NativeTabsTriggerBadgeProps {\n /**\n * The text to display as the badge for the tab.\n * If not provided, the badge will not be displayed.\n */\n children?: string;\n\n /**\n * If true, the badge will be hidden.\n * @default false\n */\n hidden?: boolean;\n selectedBackgroundColor?: ColorValue;\n}\n\nexport const NativeTabsTriggerBadge: React.FC<NativeTabsTriggerBadgeProps> = Badge;\n"]}
@@ -1,6 +1,5 @@
1
1
  export * from './common/elements';
2
- export type { NativeTabsProps, NativeTabTriggerProps, NativeTabsLabelStyle, NativeTabsActiveStyleType, NativeTabOptions, SymbolOrImageSource, NativeTabsTabBarItemLabelVisibilityMode, NativeTabsBlurEffect, NativeTabsTabBarMinimizeBehavior, NativeTabsTabBarItemRole, NativeTabsTriggerTabBarProps, } from './types';
3
- export { NativeTabsTriggerTabBar } from './NativeTabsTriggerTabBar';
2
+ export type { NativeTabsProps, NativeTabTriggerProps, NativeTabsLabelStyle, NativeTabsActiveStyleType, SymbolOrImageSource, NativeTabsTabBarItemLabelVisibilityMode, NativeTabsBlurEffect, NativeTabsTabBarMinimizeBehavior, NativeTabsTabBarItemRole, } from './types';
4
3
  export { NativeTabTrigger } from './NativeTabTrigger';
5
4
  export { NativeTabs } from './NativeTabs';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native-tabs/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,uCAAuC,EACvC,oBAAoB,EACpB,gCAAgC,EAChC,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native-tabs/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,uCAAuC,EACvC,oBAAoB,EACpB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -14,10 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.NativeTabs = exports.NativeTabTrigger = exports.NativeTabsTriggerTabBar = void 0;
17
+ exports.NativeTabs = exports.NativeTabTrigger = void 0;
18
18
  __exportStar(require("./common/elements"), exports);
19
- var NativeTabsTriggerTabBar_1 = require("./NativeTabsTriggerTabBar");
20
- Object.defineProperty(exports, "NativeTabsTriggerTabBar", { enumerable: true, get: function () { return NativeTabsTriggerTabBar_1.NativeTabsTriggerTabBar; } });
21
19
  var NativeTabTrigger_1 = require("./NativeTabTrigger");
22
20
  Object.defineProperty(exports, "NativeTabTrigger", { enumerable: true, get: function () { return NativeTabTrigger_1.NativeTabTrigger; } });
23
21
  var NativeTabs_1 = require("./NativeTabs");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native-tabs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAclC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA","sourcesContent":["export * from './common/elements';\nexport type {\n NativeTabsProps,\n NativeTabTriggerProps,\n NativeTabsLabelStyle,\n NativeTabsActiveStyleType,\n NativeTabOptions,\n SymbolOrImageSource,\n NativeTabsTabBarItemLabelVisibilityMode,\n NativeTabsBlurEffect,\n NativeTabsTabBarMinimizeBehavior,\n NativeTabsTabBarItemRole,\n NativeTabsTriggerTabBarProps,\n} from './types';\nexport { NativeTabsTriggerTabBar } from './NativeTabsTriggerTabBar';\nexport { NativeTabTrigger } from './NativeTabTrigger';\nexport { NativeTabs } from './NativeTabs';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native-tabs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAYlC,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA","sourcesContent":["export * from './common/elements';\nexport type {\n NativeTabsProps,\n NativeTabTriggerProps,\n NativeTabsLabelStyle,\n NativeTabsActiveStyleType,\n SymbolOrImageSource,\n NativeTabsTabBarItemLabelVisibilityMode,\n NativeTabsBlurEffect,\n NativeTabsTabBarMinimizeBehavior,\n NativeTabsTabBarItemRole,\n} from './types';\nexport { NativeTabTrigger } from './NativeTabTrigger';\nexport { NativeTabs } from './NativeTabs';\n"]}
@@ -3,133 +3,36 @@ import type { PropsWithChildren } from 'react';
3
3
  import type { ColorValue, ImageSourcePropType, TextStyle } from 'react-native';
4
4
  import type { BottomTabsScreenProps } from 'react-native-screens';
5
5
  import type { SFSymbol } from 'sf-symbols-typescript';
6
+ export type NativeScreenProps = Partial<Omit<BottomTabsScreenProps, 'tabKey' | 'isFocused'>>;
6
7
  export interface NativeTabOptions extends DefaultRouterOptions {
7
- /**
8
- * The icon to display in the tab bar.
9
- * @platform android
10
- * @platform iOS
11
- */
12
8
  icon?: SymbolOrImageSource;
13
- /**
14
- * The icon to display when the tab is selected.
15
- * @platform iOS
16
- */
17
9
  selectedIcon?: SymbolOrImageSource;
18
- /**
19
- * Title of the tab screen, displayed in the tab bar item.
20
- *
21
- * @platform android
22
- * @platform iOS
23
- */
24
10
  title?: string;
25
- /**
26
- * Specifies content of tab bar item badge.
27
- *
28
- * On Android, the value is interpreted in the following order:
29
- * - If the string can be parsed to integer, displays the value as a number
30
- * - Otherwise if the string is empty, displays "small dot" badge
31
- * - Otherwise, displays the value as a text
32
- *
33
- * On iOS, badge is displayed as regular string.
34
- *
35
- * @platform android
36
- * @platform ios
37
- */
38
11
  badgeValue?: string;
39
- /**
40
- * The style of the tab label when the tab is selected.
41
- */
42
12
  selectedLabelStyle?: NativeTabsLabelStyle;
43
- /**
44
- * The style of all the tab labels, when the tab is selected
45
- */
46
13
  labelStyle?: NativeTabsLabelStyle;
47
- /**
48
- * System-provided tab bar item with predefined icon and title
49
- *
50
- * Uses Apple's built-in tab bar items (e.g., bookmarks, contacts, downloads) with
51
- * standard iOS styling and localized titles. If you override the `title`,
52
- * `icon`, or `selectedIcon`, note that this is not officially supported
53
- * by Apple and may lead to unexpected results.
54
- *
55
- * @see {@link https://developer.apple.com/documentation/uikit/uitabbaritem/systemitem|UITabBarItem.SystemItem}
56
- * @platform ios
57
- */
58
14
  role?: NativeTabsTabBarItemRole;
59
- /**
60
- * The color of the icon when the tab is selected.
61
- */
62
15
  selectedIconColor?: ColorValue;
63
- /**
64
- * The color of the badge when the tab is selected.
65
- */
66
16
  selectedBadgeBackgroundColor?: ColorValue;
67
- /**
68
- * The color of all the badges when the tab is selected.
69
- */
70
17
  badgeBackgroundColor?: ColorValue;
71
- /**
72
- * The color of the badge text.
73
- *
74
- * @platform android
75
- * @platform web
76
- */
77
18
  badgeTextColor?: ColorValue;
78
- /**
79
- * The color of the background when the tab is selected.
80
- */
81
19
  backgroundColor?: ColorValue;
82
- /**
83
- * The blur effect to apply when the tab is selected.
84
- *
85
- * @platform iOS
86
- */
87
20
  blurEffect?: NativeTabsBlurEffect;
88
- /**
89
- * The color of the shadow when the tab is selected.
90
- *
91
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uibarappearance/shadowcolor)
92
- *
93
- * @platform iOS
94
- */
95
21
  shadowColor?: ColorValue;
96
- /**
97
- * The color of the icon when the tab is selected.
98
- *
99
- * On iOS 26+ you can change the icon color in the scroll edge state.
100
- */
101
22
  iconColor?: ColorValue;
102
- /**
103
- * When set to `true`, the tab bar will not become transparent when scrolled to the edge.
104
- *
105
- * @platform iOS
106
- */
107
23
  disableTransparentOnScrollEdge?: boolean;
108
- /**
109
- * The position adjustment for all the labels when the tab is selected.
110
- *
111
- * @platform iOS
112
- */
113
24
  titlePositionAdjustment?: {
114
25
  horizontal?: number;
115
26
  vertical?: number;
116
27
  };
117
- /**
118
- * The position adjustment for the label when the tab is selected.
119
- *
120
- * @platform iOS
121
- */
122
28
  selectedTitlePositionAdjustment?: {
123
29
  horizontal?: number;
124
30
  vertical?: number;
125
31
  };
126
- /**
127
- * The color of the tab indicator.
128
- *
129
- * @platform android
130
- * @platform web
131
- */
132
32
  indicatorColor?: ColorValue;
33
+ hidden?: boolean;
34
+ specialEffects?: BottomTabsScreenProps['specialEffects'];
35
+ nativeProps?: NativeScreenProps;
133
36
  }
134
37
  export type SymbolOrImageSource = {
135
38
  /**
@@ -148,13 +51,6 @@ export type SymbolOrImageSource = {
148
51
  */
149
52
  src?: ImageSourcePropType | Promise<ImageSourcePropType | null>;
150
53
  };
151
- export interface ExtendedNativeTabOptions extends NativeTabOptions {
152
- /**
153
- * If true, the tab will be hidden from the tab bar.
154
- */
155
- hidden?: boolean;
156
- specialEffects?: BottomTabsScreenProps['specialEffects'];
157
- }
158
54
  type NumericFontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
159
55
  export interface NativeTabsLabelStyle {
160
56
  /**
@@ -287,6 +183,12 @@ export interface NativeTabsProps extends PropsWithChildren {
287
183
  * @platform iOS
288
184
  */
289
185
  disableTransparentOnScrollEdge?: boolean;
186
+ /**
187
+ * When set to `true`, enables the sidebarAdaptable tab bar style on iPadOS and macOS. This prop has no effect on iPhone.
188
+ *
189
+ * @platform iOS 18+
190
+ */
191
+ sidebarAdaptable?: boolean;
290
192
  /**
291
193
  * Disables the active indicator for the tab bar.
292
194
  *
@@ -334,7 +236,7 @@ export interface NativeTabsViewProps extends Omit<NativeTabsProps, 'labelStyle'
334
236
  onTabChange: (tabKey: string) => void;
335
237
  }
336
238
  export interface NativeTabsViewTabItem {
337
- options: ExtendedNativeTabOptions;
239
+ options: NativeTabOptions;
338
240
  routeKey: string;
339
241
  name: string;
340
242
  contentRenderer: () => React.ReactNode;
@@ -369,11 +271,17 @@ export interface NativeTabTriggerProps {
369
271
  */
370
272
  hidden?: boolean;
371
273
  /**
372
- * The options for the trigger.
274
+ * Props passed to the underlying native tab screen implementation.
275
+ * Use this to configure props not directly exposed by Expo Router, but available in `react-native-screens`.
276
+ *
277
+ * > **Note**: This will override any other props set by Expo Router and may lead to unexpected behavior.
373
278
  *
374
- * Use `Icon`, `Label`, and `Badge` components as children to customize the tab, rather then raw options.
279
+ * > **Note**: This is an unstable API and may change or be removed in minor versions.
280
+ *
281
+ * @platform android
282
+ * @platform iOS
375
283
  */
376
- options?: NativeTabOptions;
284
+ unstable_nativeProps?: NativeScreenProps;
377
285
  /**
378
286
  * If true, the tab will not pop stack to the root when selected again.
379
287
  *
@@ -409,63 +317,5 @@ export interface NativeTabTriggerProps {
409
317
  }
410
318
  declare const SUPPORTED_TAB_BAR_ITEM_ROLES: readonly ["bookmarks", "contacts", "downloads", "favorites", "featured", "history", "more", "mostRecent", "mostViewed", "recents", "search", "topRated"];
411
319
  export type NativeTabsTabBarItemRole = (typeof SUPPORTED_TAB_BAR_ITEM_ROLES)[number];
412
- export interface NativeTabsTriggerTabBarProps {
413
- /**
414
- * The style of the every tab label in the tab bar.
415
- *
416
- * @platform iOS
417
- * @platform web
418
- */
419
- labelStyle?: NativeTabsLabelStyle;
420
- /**
421
- * The background color of the tab bar, when the tab is selected
422
- */
423
- backgroundColor?: ColorValue;
424
- /**
425
- * The color of every tab icon, when the tab is selected
426
- *
427
- * @platform iOS
428
- */
429
- iconColor?: ColorValue;
430
- /**
431
- * The background color of every badge in the tab bar.
432
- *
433
- * @platform iOS
434
- * @platform web
435
- */
436
- badgeBackgroundColor?: ColorValue;
437
- /**
438
- * The blur effect applied to the tab bar, when the tab is selected
439
- *
440
- * @platform iOS
441
- */
442
- blurEffect?: NativeTabsBlurEffect;
443
- /**
444
- * The color of the shadow when the tab is selected.
445
- *
446
- * @see [Apple documentation](https://developer.apple.com/documentation/uikit/uibarappearance/shadowcolor)
447
- *
448
- * @platform iOS
449
- */
450
- shadowColor?: ColorValue;
451
- /**
452
- * When set to `true`, the tab bar will not become transparent when scrolled to the edge.
453
- *
454
- * @platform iOS
455
- */
456
- disableTransparentOnScrollEdge?: boolean;
457
- /**
458
- * The color of the badge text.
459
- *
460
- * @platform web
461
- */
462
- badgeTextColor?: ColorValue;
463
- /**
464
- * The color of the tab indicator.
465
- *
466
- * @platform web
467
- */
468
- indicatorColor?: ColorValue;
469
- }
470
320
  export {};
471
321
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/native-tabs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/native-tabs/types.ts"],"names":[],"mappings":"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"}