react-native-tab-view 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (37) hide show
  1. package/lib/commonjs/PlatformPressable.js +22 -1
  2. package/lib/commonjs/PlatformPressable.js.map +1 -1
  3. package/lib/commonjs/TabBar.js +107 -91
  4. package/lib/commonjs/TabBar.js.map +1 -1
  5. package/lib/commonjs/TabBarIndicator.js +4 -11
  6. package/lib/commonjs/TabBarIndicator.js.map +1 -1
  7. package/lib/commonjs/TabBarItem.js +53 -72
  8. package/lib/commonjs/TabBarItem.js.map +1 -1
  9. package/lib/module/PlatformPressable.js +22 -1
  10. package/lib/module/PlatformPressable.js.map +1 -1
  11. package/lib/module/TabBar.js +107 -91
  12. package/lib/module/TabBar.js.map +1 -1
  13. package/lib/module/TabBarIndicator.js +5 -12
  14. package/lib/module/TabBarIndicator.js.map +1 -1
  15. package/lib/module/TabBarItem.js +53 -72
  16. package/lib/module/TabBarItem.js.map +1 -1
  17. package/lib/typescript/src/PlatformPressable.d.ts +3 -2
  18. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  19. package/lib/typescript/src/TabBar.d.ts +4 -15
  20. package/lib/typescript/src/TabBar.d.ts.map +1 -1
  21. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
  22. package/lib/typescript/src/TabBarItem.d.ts +2 -17
  23. package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
  24. package/lib/typescript/src/TabView.d.ts +3 -3
  25. package/lib/typescript/src/TabView.d.ts.map +1 -1
  26. package/lib/typescript/src/index.d.ts +1 -1
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/lib/typescript/src/types.d.ts +26 -1
  29. package/lib/typescript/src/types.d.ts.map +1 -1
  30. package/package.json +2 -2
  31. package/src/PlatformPressable.tsx +31 -2
  32. package/src/TabBar.tsx +158 -160
  33. package/src/TabBarIndicator.tsx +3 -10
  34. package/src/TabBarItem.tsx +82 -106
  35. package/src/TabView.tsx +1 -1
  36. package/src/index.tsx +6 -1
  37. package/src/types.tsx +26 -1
@@ -6,6 +6,7 @@ import { PlatformPressable } from './PlatformPressable';
6
6
  import { TabBarItemLabel } from './TabBarItemLabel';
7
7
  const DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';
8
8
  const DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';
9
+ const ICON_SIZE = 24;
9
10
  const getActiveOpacity = (position, routesLength, tabIndex) => {
10
11
  if (routesLength > 1) {
11
12
  const inputRange = Array.from({
@@ -36,13 +37,12 @@ const TabBarItemInternal = _ref => {
36
37
  let {
37
38
  accessibilityLabel,
38
39
  accessible,
39
- label: labelText,
40
+ label: customlabel,
40
41
  testID,
41
42
  onLongPress,
42
43
  onPress,
43
44
  isFocused,
44
45
  position,
45
- route,
46
46
  style,
47
47
  inactiveColor: inactiveColorCustom,
48
48
  activeColor: activeColorCustom,
@@ -51,83 +51,70 @@ const TabBarItemInternal = _ref => {
51
51
  index: tabIndex,
52
52
  pressColor,
53
53
  pressOpacity,
54
- renderBadge,
55
- renderIcon,
56
54
  defaultTabWidth,
55
+ icon: customIcon,
56
+ badge: customBadge,
57
+ href,
58
+ labelText,
57
59
  routesLength,
58
- renderLabel: renderLabelCustom,
59
60
  android_ripple = {
60
61
  borderless: true
61
- }
62
+ },
63
+ labelAllowFontScaling,
64
+ route
62
65
  } = _ref;
63
66
  const labelColorFromStyle = StyleSheet.flatten(labelStyle || {}).color;
64
67
  const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
65
68
  const inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_INACTIVE_COLOR;
66
69
  const activeOpacity = getActiveOpacity(position, routesLength, tabIndex);
67
70
  const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);
68
- let icon = null;
69
- let label = null;
70
- if (renderIcon) {
71
- const activeIcon = renderIcon({
72
- route,
73
- focused: true,
74
- color: activeColor
75
- });
76
- const inactiveIcon = renderIcon({
77
- route,
71
+ const icon = React.useMemo(() => {
72
+ if (!customIcon) {
73
+ return null;
74
+ }
75
+ const inactiveIcon = customIcon({
78
76
  focused: false,
79
- color: inactiveColor
77
+ color: inactiveColor,
78
+ size: ICON_SIZE,
79
+ route
80
80
  });
81
- if (inactiveIcon != null && activeIcon != null) {
82
- icon = /*#__PURE__*/React.createElement(View, {
83
- style: styles.icon
84
- }, /*#__PURE__*/React.createElement(Animated.View, {
85
- style: {
86
- opacity: inactiveOpacity
87
- }
88
- }, inactiveIcon), /*#__PURE__*/React.createElement(Animated.View, {
89
- style: [StyleSheet.absoluteFill, {
90
- opacity: activeOpacity
91
- }]
92
- }, activeIcon));
93
- }
94
- }
95
- const renderLabel = renderLabelCustom ? renderLabelCustom : labelProps => /*#__PURE__*/React.createElement(TabBarItemLabel, _extends({}, labelProps, {
96
- icon: icon,
97
- label: labelText,
98
- labelStyle: labelStyle
99
- }));
100
- if (renderLabel) {
101
- const activeLabel = renderLabel({
102
- route,
81
+ const activeIcon = customIcon({
103
82
  focused: true,
104
- color: activeColor
83
+ color: activeColor,
84
+ size: ICON_SIZE,
85
+ route
105
86
  });
106
- const inactiveLabel = renderLabel({
107
- route,
108
- focused: false,
109
- color: inactiveColor
110
- });
111
- label = /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Animated.View, {
87
+ return /*#__PURE__*/React.createElement(View, {
88
+ style: styles.icon
89
+ }, /*#__PURE__*/React.createElement(Animated.View, {
112
90
  style: {
113
91
  opacity: inactiveOpacity
114
92
  }
115
- }, inactiveLabel), /*#__PURE__*/React.createElement(Animated.View, {
93
+ }, inactiveIcon), /*#__PURE__*/React.createElement(Animated.View, {
116
94
  style: [StyleSheet.absoluteFill, {
117
95
  opacity: activeOpacity
118
96
  }]
119
- }, activeLabel));
120
- }
97
+ }, activeIcon));
98
+ }, [activeColor, activeOpacity, customIcon, inactiveColor, inactiveOpacity, route]);
99
+ const renderLabel = React.useCallback(focused => customlabel ? customlabel({
100
+ focused,
101
+ color: focused ? activeColor : inactiveColor,
102
+ style: labelStyle,
103
+ label: labelText,
104
+ allowFontScaling: labelAllowFontScaling,
105
+ route
106
+ }) : /*#__PURE__*/React.createElement(TabBarItemLabel, {
107
+ color: focused ? activeColor : inactiveColor,
108
+ icon: icon,
109
+ label: labelText,
110
+ labelStyle: labelStyle
111
+ }), [customlabel, activeColor, labelStyle, labelText, labelAllowFontScaling, route, inactiveColor, icon]);
121
112
  const tabStyle = StyleSheet.flatten(style);
122
113
  const isWidthSet = tabStyle?.width !== undefined;
123
114
  const tabContainerStyle = isWidthSet ? null : {
124
115
  width: defaultTabWidth
125
116
  };
126
- const scene = {
127
- route
128
- };
129
117
  accessibilityLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : labelText;
130
- const badge = renderBadge ? renderBadge(scene) : null;
131
118
  return /*#__PURE__*/React.createElement(PlatformPressable, {
132
119
  android_ripple: android_ripple,
133
120
  testID: testID,
@@ -143,13 +130,22 @@ const TabBarItemInternal = _ref => {
143
130
  onLayout: onLayout,
144
131
  onPress: onPress,
145
132
  onLongPress: onLongPress,
133
+ href: href,
146
134
  style: [styles.pressable, tabContainerStyle]
147
135
  }, /*#__PURE__*/React.createElement(View, {
148
136
  pointerEvents: "none",
149
137
  style: [styles.item, tabStyle]
150
- }, icon, label, badge != null ? /*#__PURE__*/React.createElement(View, {
138
+ }, icon, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Animated.View, {
139
+ style: {
140
+ opacity: inactiveOpacity
141
+ }
142
+ }, renderLabel(false)), /*#__PURE__*/React.createElement(Animated.View, {
143
+ style: [StyleSheet.absoluteFill, {
144
+ opacity: activeOpacity
145
+ }]
146
+ }, renderLabel(true))), customBadge != null ? /*#__PURE__*/React.createElement(View, {
151
147
  style: styles.badge
152
- }, badge) : null));
148
+ }, customBadge()) : null));
153
149
  };
154
150
  const MemoizedTabBarItemInternal = /*#__PURE__*/React.memo(TabBarItemInternal);
155
151
  export function TabBarItem(props) {
@@ -159,23 +155,12 @@ export function TabBarItem(props) {
159
155
  onLayout,
160
156
  navigationState,
161
157
  route,
162
- getAccessibilityLabel,
163
- getLabelText,
164
- getTestID,
165
- getAccessible,
166
158
  ...rest
167
159
  } = props;
168
160
  const onPressLatest = useLatestCallback(onPress);
169
161
  const onLongPressLatest = useLatestCallback(onLongPress);
170
162
  const onLayoutLatest = useLatestCallback(onLayout ? onLayout : () => {});
171
163
  const tabIndex = navigationState.routes.indexOf(route);
172
- const scene = {
173
- route
174
- };
175
- const accessibilityLabel = getAccessibilityLabel(scene);
176
- const label = getLabelText(scene);
177
- const testID = getTestID(scene);
178
- const accessible = getAccessible(scene);
179
164
  return /*#__PURE__*/React.createElement(MemoizedTabBarItemInternal, _extends({}, rest, {
180
165
  onPress: onPressLatest,
181
166
  onLayout: onLayoutLatest,
@@ -183,11 +168,7 @@ export function TabBarItem(props) {
183
168
  isFocused: navigationState.index === tabIndex,
184
169
  route: route,
185
170
  index: tabIndex,
186
- routesLength: navigationState.routes.length,
187
- accessibilityLabel: accessibilityLabel,
188
- label: label,
189
- testID: testID,
190
- accessible: accessible
171
+ routesLength: navigationState.routes.length
191
172
  }));
192
173
  }
193
174
  const styles = StyleSheet.create({
@@ -204,7 +185,7 @@ const styles = StyleSheet.create({
204
185
  badge: {
205
186
  position: 'absolute',
206
187
  top: 0,
207
- right: 0
188
+ end: 0
208
189
  },
209
190
  pressable: {
210
191
  // The label is not pressable on Windows
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","StyleSheet","View","useLatestCallback","PlatformPressable","TabBarItemLabel","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","_ref","accessibilityLabel","accessible","label","labelText","testID","onLongPress","onPress","isFocused","route","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","renderBadge","renderIcon","defaultTabWidth","renderLabel","renderLabelCustom","android_ripple","borderless","labelColorFromStyle","flatten","color","undefined","activeOpacity","inactiveOpacity","icon","activeIcon","focused","inactiveIcon","createElement","styles","opacity","absoluteFill","labelProps","_extends","activeLabel","inactiveLabel","tabStyle","isWidthSet","width","tabContainerStyle","scene","badge","accessibilityRole","accessibilityState","selected","unstable_pressDelay","pressable","pointerEvents","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","getAccessibilityLabel","getLabelText","getTestID","getAccessible","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","flex","alignItems","justifyContent","padding","minHeight","top","right","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","StyleSheet","View","useLatestCallback","PlatformPressable","TabBarItemLabel","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","ICON_SIZE","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","_ref","accessibilityLabel","accessible","label","customlabel","testID","onLongPress","onPress","isFocused","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","defaultTabWidth","icon","customIcon","badge","customBadge","href","labelText","android_ripple","borderless","labelAllowFontScaling","route","labelColorFromStyle","flatten","color","undefined","activeOpacity","inactiveOpacity","useMemo","inactiveIcon","focused","size","activeIcon","createElement","styles","opacity","absoluteFill","renderLabel","useCallback","allowFontScaling","tabStyle","isWidthSet","width","tabContainerStyle","accessibilityRole","accessibilityState","selected","unstable_pressDelay","pressable","pointerEvents","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","_extends","create","margin","flex","alignItems","justifyContent","padding","minHeight","top","end","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { type PressableProps } from 'react-native';
3
3
  export type Props = PressableProps & {
4
+ children: React.ReactNode;
4
5
  pressColor?: string;
5
6
  pressOpacity?: number;
6
- children: React.ReactNode;
7
+ href?: string;
7
8
  };
8
9
  /**
9
10
  * PlatformPressable provides an abstraction on top of TouchableNativeFeedback and
@@ -12,5 +13,5 @@ export type Props = PressableProps & {
12
13
  * On Android, you can pass the props of TouchableNativeFeedback.
13
14
  * On other platforms, you can pass the props of TouchableOpacity.
14
15
  */
15
- export declare function PlatformPressable({ android_ripple, pressColor, pressOpacity, style, ...rest }: Props): React.JSX.Element;
16
+ export declare function PlatformPressable({ disabled, android_ripple, pressColor, pressOpacity, style, onPress, ...rest }: Props): React.JSX.Element;
16
17
  //# sourceMappingURL=PlatformPressable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformPressable.d.ts","sourceRoot":"","sources":["../../../src/PlatformPressable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,cAAc,EACd,UAAiC,EACjC,YAAY,EACZ,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,qBAeP"}
1
+ {"version":3,"file":"PlatformPressable.d.ts","sourceRoot":"","sources":["../../../src/PlatformPressable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,cAAc,EACd,UAAiC,EACjC,YAAY,EACZ,KAAK,EACL,OAAO,EACP,GAAG,IAAI,EACR,EAAE,KAAK,qBAoCP"}
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { type PressableAndroidRippleConfig, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
3
  import { type Props as IndicatorProps } from './TabBarIndicator';
4
4
  import { type Props as TabBarItemProps } from './TabBarItem';
5
- import type { Event, LocaleDirection, NavigationState, Route, Scene, SceneRendererProps } from './types';
5
+ import type { Event, LocaleDirection, NavigationState, Route, Scene, SceneRendererProps, TabDescriptor } from './types';
6
6
  export type Props<T extends Route> = SceneRendererProps & {
7
7
  navigationState: NavigationState<T>;
8
8
  scrollEnabled?: boolean;
@@ -11,19 +11,8 @@ export type Props<T extends Route> = SceneRendererProps & {
11
11
  inactiveColor?: string;
12
12
  pressColor?: string;
13
13
  pressOpacity?: number;
14
- getLabelText?: (scene: Scene<T>) => string | undefined;
15
- getAccessible?: (scene: Scene<T>) => boolean | undefined;
16
- getAccessibilityLabel?: (scene: Scene<T>) => string | undefined;
17
- getTestID?: (scene: Scene<T>) => string | undefined;
18
- renderLabel?: (scene: Scene<T> & {
19
- focused: boolean;
20
- color: string;
21
- }) => React.ReactNode;
22
- renderIcon?: (scene: Scene<T> & {
23
- focused: boolean;
24
- color: string;
25
- }) => React.ReactNode;
26
- renderBadge?: (scene: Scene<T>) => React.ReactNode;
14
+ options?: Record<string, TabDescriptor<T>>;
15
+ commonOptions?: TabDescriptor<T>;
27
16
  renderIndicator?: (props: IndicatorProps<T>) => React.ReactNode;
28
17
  renderTabBarItem?: (props: TabBarItemProps<T> & {
29
18
  key: string;
@@ -41,5 +30,5 @@ export type Props<T extends Route> = SceneRendererProps & {
41
30
  testID?: string;
42
31
  android_ripple?: PressableAndroidRippleConfig;
43
32
  };
44
- export declare function TabBar<T extends Route>({ getLabelText, getAccessible, getAccessibilityLabel, getTestID, renderIndicator, gap, scrollEnabled, jumpTo, navigationState, position, activeColor, bounces, contentContainerStyle, inactiveColor, indicatorContainerStyle, indicatorStyle, labelStyle, onTabLongPress, onTabPress, pressColor, pressOpacity, renderBadge, renderIcon, renderLabel, direction, renderTabBarItem, style, tabStyle, layout: propLayout, testID, android_ripple, }: Props<T>): React.JSX.Element;
33
+ export declare function TabBar<T extends Route>({ renderIndicator, gap, scrollEnabled, jumpTo, navigationState, position, activeColor, bounces, contentContainerStyle, inactiveColor, indicatorContainerStyle, indicatorStyle, labelStyle, onTabLongPress, onTabPress, pressColor, pressOpacity, direction, renderTabBarItem, style, tabStyle, layout: propLayout, testID, android_ripple, options, commonOptions, }: Props<T>): React.JSX.Element;
45
34
  //# sourceMappingURL=TabBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAQL,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,KAAK,IAAI,cAAc,EAE7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,KAAK,IAAI,eAAe,EAAc,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EACV,KAAK,EAEL,eAAe,EACf,eAAe,EACf,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAChE,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,KACxC,KAAK,CAAC,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC;IAC/C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C,CAAC;AAgRF,wBAAgB,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,EACtC,eAAwC,EACxC,GAAO,EACP,aAAa,EACb,MAAM,EACN,eAAe,EACf,QAAQ,EACR,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAA4D,EAC5D,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,MAAM,EACN,cAAc,EACd,OAAO,EACP,aAAa,GACd,EAAE,KAAK,CAAC,CAAC,CAAC,qBAmVV"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AA0BF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,qBAyFV"}
1
+ {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AA0BF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,WAAW,EACX,MAAM,EACN,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,qBAmFV"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Animated, type LayoutChangeEvent, type PressableAndroidRippleConfig, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
- import type { NavigationState, Route, Scene } from './types';
4
- export type Props<T extends Route> = {
3
+ import type { NavigationState, Route, TabDescriptor } from './types';
4
+ export type Props<T extends Route> = TabDescriptor<T> & {
5
5
  position: Animated.AnimatedInterpolation<number>;
6
6
  route: T;
7
7
  navigationState: NavigationState<T>;
@@ -9,21 +9,6 @@ export type Props<T extends Route> = {
9
9
  inactiveColor?: string;
10
10
  pressColor?: string;
11
11
  pressOpacity?: number;
12
- getLabelText: (scene: Scene<T>) => string | undefined;
13
- getAccessible: (scene: Scene<T>) => boolean | undefined;
14
- getAccessibilityLabel: (scene: Scene<T>) => string | undefined;
15
- getTestID: (scene: Scene<T>) => string | undefined;
16
- renderLabel?: (scene: {
17
- route: T;
18
- focused: boolean;
19
- color: string;
20
- }) => React.ReactNode;
21
- renderIcon?: (scene: {
22
- route: T;
23
- focused: boolean;
24
- color: string;
25
- }) => React.ReactNode;
26
- renderBadge?: (scene: Scene<T>) => React.ReactNode;
27
12
  onLayout?: (event: LayoutChangeEvent) => void;
28
13
  onPress: () => void;
29
14
  onLongPress: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI;IACnC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC;IACT,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,SAAS,CAAC;IACxD,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C,CAAC;AAkNF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,qBA0C1D"}
1
+ {"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACtD,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC;IACT,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C,CAAC;AA6NF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,qBAsB1D"}
@@ -4,9 +4,6 @@ import type { Layout, LocaleDirection, NavigationState, PagerProps, Route, Scene
4
4
  export type Props<T extends Route> = Omit<PagerProps, 'layoutDirection'> & {
5
5
  onIndexChange: (index: number) => void;
6
6
  navigationState: NavigationState<T>;
7
- renderScene: (props: SceneRendererProps & {
8
- route: T;
9
- }) => React.ReactNode;
10
7
  renderLazyPlaceholder?: (props: {
11
8
  route: T;
12
9
  }) => React.ReactNode;
@@ -23,6 +20,9 @@ export type Props<T extends Route> = Omit<PagerProps, 'layoutDirection'> & {
23
20
  direction?: LocaleDirection;
24
21
  pagerStyle?: StyleProp<ViewStyle>;
25
22
  style?: StyleProp<ViewStyle>;
23
+ renderScene: (props: SceneRendererProps & {
24
+ route: T;
25
+ }) => React.ReactNode;
26
26
  };
27
27
  export declare function TabView<T extends Route>({ onIndexChange, navigationState, renderScene, initialLayout, keyboardDismissMode, lazy, lazyPreloadDistance, onSwipeStart, onSwipeEnd, renderLazyPlaceholder, renderTabBar, sceneContainerStyle, pagerStyle, style, direction, swipeEnabled, tabBarPosition, animationEnabled, overScrollMode, }: Props<T>): React.JSX.Element;
28
28
  //# sourceMappingURL=TabView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabView.d.ts","sourceRoot":"","sources":["../../../src/TabView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG;IACzE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACjE,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,kBAAkB,GAAG;QAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,KAChE,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,EACvC,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,mBAA4B,EAC5B,IAAY,EACZ,mBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,qBAAkC,EAClC,YAA+C,EAC/C,mBAAmB,EACnB,UAAU,EACV,KAAK,EACL,SAA4D,EAC5D,YAAmB,EACnB,cAAsB,EACtB,gBAAuB,EACvB,cAAc,GACf,EAAE,KAAK,CAAC,CAAC,CAAC,qBAuGV"}
1
+ {"version":3,"file":"TabView.d.ts","sourceRoot":"","sources":["../../../src/TabView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG;IACzE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACjE,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,kBAAkB,GAAG;QAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,KAChE,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CAC5E,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,EACvC,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,mBAA4B,EAC5B,IAAY,EACZ,mBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,qBAAkC,EAClC,YAA+C,EAC/C,mBAAmB,EACnB,UAAU,EACV,KAAK,EACL,SAA4D,EAC5D,YAAmB,EACnB,cAAsB,EACtB,gBAAuB,EACvB,cAAc,GACf,EAAE,KAAK,CAAC,CAAC,CAAC,qBAuGV"}
@@ -7,5 +7,5 @@ export type { Props as TabBarItemProps } from './TabBarItem';
7
7
  export { TabBarItem } from './TabBarItem';
8
8
  export type { Props as TabViewProps } from './TabView';
9
9
  export { TabView } from './TabView';
10
- export type { NavigationState, Route, SceneRendererProps } from './types';
10
+ export type { NavigationState, Route, SceneRendererProps, TabDescriptor, } from './types';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,KAAK,IAAI,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,KAAK,IAAI,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,SAAS,CAAC"}
@@ -1,5 +1,30 @@
1
- import type { Animated } from 'react-native';
1
+ /// <reference types="react" />
2
+ import type { Animated, StyleProp, TextStyle } from 'react-native';
2
3
  import type { PagerViewProps } from 'react-native-pager-view';
4
+ export type TabDescriptor<T extends Route> = {
5
+ accessibilityLabel?: string;
6
+ labelStyle?: StyleProp<TextStyle>;
7
+ accessible?: boolean;
8
+ testID?: string;
9
+ labelText?: string;
10
+ labelAllowFontScaling?: boolean;
11
+ href?: string;
12
+ label?: (props: {
13
+ focused: boolean;
14
+ color: string;
15
+ style?: StyleProp<TextStyle>;
16
+ allowFontScaling?: boolean;
17
+ label?: string;
18
+ route: T;
19
+ }) => React.ReactElement;
20
+ icon?: (props: {
21
+ focused: boolean;
22
+ color: string;
23
+ size: number;
24
+ route: T;
25
+ }) => React.ReactElement;
26
+ badge?: () => React.ReactElement;
27
+ };
3
28
  export type LocaleDirection = 'ltr' | 'rtl';
4
29
  export type Route = {
5
30
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5C,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,IAAI,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI;IACnC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,IAAI;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,cAAc,EACZ,aAAa,GACb,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,0BAA0B,GAC1B,qBAAqB,GACrB,UAAU,CACb,GAAG;IACF,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-tab-view",
3
3
  "description": "Tab view component for React Native",
4
- "version": "4.0.0-alpha.6",
4
+ "version": "4.0.0-alpha.8",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -68,5 +68,5 @@
68
68
  ]
69
69
  ]
70
70
  },
71
- "gitHead": "b407411496a2eaeeeb29b563d66294e79ae31311"
71
+ "gitHead": "d0b5489cb3eb8092d05b8d058ba5774d0538cec6"
72
72
  }
@@ -1,10 +1,16 @@
1
1
  import * as React from 'react';
2
- import { Platform, Pressable, type PressableProps } from 'react-native';
2
+ import {
3
+ type GestureResponderEvent,
4
+ Platform,
5
+ Pressable,
6
+ type PressableProps,
7
+ } from 'react-native';
3
8
 
4
9
  export type Props = PressableProps & {
10
+ children: React.ReactNode;
5
11
  pressColor?: string;
6
12
  pressOpacity?: number;
7
- children: React.ReactNode;
13
+ href?: string;
8
14
  };
9
15
 
10
16
  const ANDROID_VERSION_LOLLIPOP = 21;
@@ -19,12 +25,34 @@ const ANDROID_SUPPORTS_RIPPLE =
19
25
  * On other platforms, you can pass the props of TouchableOpacity.
20
26
  */
21
27
  export function PlatformPressable({
28
+ disabled,
22
29
  android_ripple,
23
30
  pressColor = 'rgba(0, 0, 0, .32)',
24
31
  pressOpacity,
25
32
  style,
33
+ onPress,
26
34
  ...rest
27
35
  }: Props) {
36
+ const handlePress = (e: GestureResponderEvent) => {
37
+ // @ts-expect-error: these properties exist on web, but not in React Native
38
+ const hasModifierKey = e.metaKey || e.altKey || e.ctrlKey || e.shiftKey; // ignore clicks with modifier keys
39
+ // @ts-expect-error: these properties exist on web, but not in React Native
40
+ const isLeftClick = e.button == null || e.button === 0; // only handle left clicks
41
+ const isSelfTarget = [undefined, null, '', 'self'].includes(
42
+ // @ts-expect-error: these properties exist on web, but not in React Native
43
+ e.currentTarget?.target
44
+ ); // let browser handle "target=_blank" etc.
45
+
46
+ if (Platform.OS === 'web' && rest.href != null) {
47
+ if (!hasModifierKey && isLeftClick && isSelfTarget) {
48
+ e.preventDefault();
49
+ onPress?.(e);
50
+ }
51
+ } else {
52
+ onPress?.(e);
53
+ }
54
+ };
55
+
28
56
  return (
29
57
  <Pressable
30
58
  android_ripple={
@@ -36,6 +64,7 @@ export function PlatformPressable({
36
64
  { opacity: pressed && !ANDROID_SUPPORTS_RIPPLE ? pressOpacity : 1 },
37
65
  typeof style === 'function' ? style({ pressed }) : style,
38
66
  ]}
67
+ onPress={disabled ? undefined : handlePress}
39
68
  {...rest}
40
69
  />
41
70
  );