react-native-tab-view 3.3.3 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +4 -0
  2. package/lib/commonjs/Pager.android.js +0 -2
  3. package/lib/commonjs/Pager.android.js.map +1 -1
  4. package/lib/commonjs/Pager.ios.js +0 -2
  5. package/lib/commonjs/Pager.ios.js.map +1 -1
  6. package/lib/commonjs/Pager.js +0 -2
  7. package/lib/commonjs/Pager.js.map +1 -1
  8. package/lib/commonjs/PagerViewAdapter.js +0 -24
  9. package/lib/commonjs/PagerViewAdapter.js.map +1 -1
  10. package/lib/commonjs/PanResponderAdapter.js +11 -42
  11. package/lib/commonjs/PanResponderAdapter.js.map +1 -1
  12. package/lib/commonjs/PlatformPressable.js +1 -7
  13. package/lib/commonjs/PlatformPressable.js.map +1 -1
  14. package/lib/commonjs/SceneMap.js +0 -5
  15. package/lib/commonjs/SceneMap.js.map +1 -1
  16. package/lib/commonjs/SceneView.js +4 -15
  17. package/lib/commonjs/SceneView.js.map +1 -1
  18. package/lib/commonjs/TabBar.js +24 -60
  19. package/lib/commonjs/TabBar.js.map +1 -1
  20. package/lib/commonjs/TabBarIndicator.js +7 -18
  21. package/lib/commonjs/TabBarIndicator.js.map +1 -1
  22. package/lib/commonjs/TabBarItem.js +7 -31
  23. package/lib/commonjs/TabBarItem.js.map +1 -1
  24. package/lib/commonjs/TabView.js +9 -19
  25. package/lib/commonjs/TabView.js.map +1 -1
  26. package/lib/commonjs/index.js +0 -6
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/types.js.map +1 -1
  29. package/lib/commonjs/useAnimatedValue.js +0 -7
  30. package/lib/commonjs/useAnimatedValue.js.map +1 -1
  31. package/lib/module/Pager.android.js.map +1 -1
  32. package/lib/module/Pager.ios.js.map +1 -1
  33. package/lib/module/Pager.js.map +1 -1
  34. package/lib/module/PagerViewAdapter.js +0 -14
  35. package/lib/module/PagerViewAdapter.js.map +1 -1
  36. package/lib/module/PanResponderAdapter.js +11 -28
  37. package/lib/module/PanResponderAdapter.js.map +1 -1
  38. package/lib/module/PlatformPressable.js +1 -2
  39. package/lib/module/PlatformPressable.js.map +1 -1
  40. package/lib/module/SceneMap.js.map +1 -1
  41. package/lib/module/SceneView.js +4 -9
  42. package/lib/module/SceneView.js.map +1 -1
  43. package/lib/module/TabBar.js +24 -48
  44. package/lib/module/TabBar.js.map +1 -1
  45. package/lib/module/TabBarIndicator.js +7 -10
  46. package/lib/module/TabBarIndicator.js.map +1 -1
  47. package/lib/module/TabBarItem.js +7 -19
  48. package/lib/module/TabBarItem.js.map +1 -1
  49. package/lib/module/TabView.js +9 -9
  50. package/lib/module/TabView.js.map +1 -1
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/types.js.map +1 -1
  53. package/lib/module/useAnimatedValue.js +0 -2
  54. package/lib/module/useAnimatedValue.js.map +1 -1
  55. package/lib/typescript/src/Pager.android.d.ts +1 -0
  56. package/lib/typescript/src/Pager.android.d.ts.map +1 -0
  57. package/lib/typescript/src/Pager.d.ts +1 -0
  58. package/lib/typescript/src/Pager.d.ts.map +1 -0
  59. package/lib/typescript/src/Pager.ios.d.ts +1 -0
  60. package/lib/typescript/src/Pager.ios.d.ts.map +1 -0
  61. package/lib/typescript/src/PagerViewAdapter.d.ts +1 -0
  62. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -0
  63. package/lib/typescript/src/PanResponderAdapter.d.ts +1 -0
  64. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -0
  65. package/lib/typescript/src/PlatformPressable.d.ts +1 -0
  66. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -0
  67. package/lib/typescript/src/SceneMap.d.ts +1 -0
  68. package/lib/typescript/src/SceneMap.d.ts.map +1 -0
  69. package/lib/typescript/src/SceneView.d.ts +1 -0
  70. package/lib/typescript/src/SceneView.d.ts.map +1 -0
  71. package/lib/typescript/src/TabBar.d.ts +4 -2
  72. package/lib/typescript/src/TabBar.d.ts.map +1 -0
  73. package/lib/typescript/src/TabBarIndicator.d.ts +1 -0
  74. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -0
  75. package/lib/typescript/src/TabBarItem.d.ts +3 -1
  76. package/lib/typescript/src/TabBarItem.d.ts.map +1 -0
  77. package/lib/typescript/src/TabView.d.ts +2 -1
  78. package/lib/typescript/src/TabView.d.ts.map +1 -0
  79. package/lib/typescript/src/index.d.ts +1 -0
  80. package/lib/typescript/src/index.d.ts.map +1 -0
  81. package/lib/typescript/src/types.d.ts +1 -0
  82. package/lib/typescript/src/types.d.ts.map +1 -0
  83. package/lib/typescript/src/useAnimatedValue.d.ts +1 -0
  84. package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -0
  85. package/package.json +3 -3
  86. package/src/TabBar.tsx +5 -0
  87. package/src/TabBarItem.tsx +4 -1
  88. package/src/TabView.tsx +2 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","useLatestCallback","TabBarIndicator","TabBarItem","useAnimatedValue","Separator","width","getFlattenedTabWidth","style","tabStyle","flatten","getComputedTabWidth","index","layout","routes","scrollEnabled","tabWidths","flattenedWidth","key","endsWith","parseFloat","Number","isFinite","length","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","multiply","OS","isRTL","add","getTabBarWidth","navigationState","gap","flattenedTabWidth","reduce","acc","_","i","normalizeScrollValue","value","maxDistance","scrollValue","Math","max","min","getScrollAmount","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","getLabelText","getAccessible","getAccessibilityLabel","getTestID","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","labelStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","renderBadge","renderIcon","renderLabel","renderTabBarItem","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","changed","isViewable","tabBar","indicatorContainer","transform","getTabWidth","scroll","create","flex","overflow","select","default","web","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","zIndex","flexDirection","flexWrap","top","left","right","bottom"],"sources":["TabBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n FlatList,\n I18nManager,\n LayoutChangeEvent,\n ListRenderItemInfo,\n Platform,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n ViewToken,\n} from 'react-native';\nimport useLatestCallback from 'use-latest-callback';\n\nimport TabBarIndicator, { Props as IndicatorProps } from './TabBarIndicator';\nimport TabBarItem, { Props as TabBarItemProps } from './TabBarItem';\nimport type {\n Event,\n Layout,\n NavigationState,\n Route,\n Scene,\n SceneRendererProps,\n} from './types';\nimport useAnimatedValue from './useAnimatedValue';\n\nexport type Props<T extends Route> = SceneRendererProps & {\n navigationState: NavigationState<T>;\n scrollEnabled?: boolean;\n bounces?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n pressColor?: string;\n pressOpacity?: number;\n getLabelText?: (scene: Scene<T>) => string | undefined;\n getAccessible?: (scene: Scene<T>) => boolean | undefined;\n getAccessibilityLabel?: (scene: Scene<T>) => string | undefined;\n getTestID?: (scene: Scene<T>) => string | undefined;\n renderLabel?: (\n scene: Scene<T> & {\n focused: boolean;\n color: string;\n }\n ) => React.ReactNode;\n renderIcon?: (\n scene: Scene<T> & {\n focused: boolean;\n color: string;\n }\n ) => React.ReactNode;\n renderBadge?: (scene: Scene<T>) => React.ReactNode;\n renderIndicator?: (props: IndicatorProps<T>) => React.ReactNode;\n renderTabBarItem?: (\n props: TabBarItemProps<T> & { key: string }\n ) => React.ReactElement;\n onTabPress?: (scene: Scene<T> & Event) => void;\n onTabLongPress?: (scene: Scene<T>) => void;\n tabStyle?: StyleProp<ViewStyle>;\n indicatorStyle?: StyleProp<ViewStyle>;\n indicatorContainerStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n contentContainerStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<ViewStyle>;\n gap?: number;\n testID?: string;\n};\n\ntype FlattenedTabWidth = string | number | undefined;\n\nconst Separator = ({ width }: { width: number }) => {\n return <View style={{ width }} />;\n};\n\nconst getFlattenedTabWidth = (style: StyleProp<ViewStyle>) => {\n const tabStyle = StyleSheet.flatten(style);\n\n return tabStyle?.width;\n};\n\nconst getComputedTabWidth = (\n index: number,\n layout: Layout,\n routes: Route[],\n scrollEnabled: boolean | undefined,\n tabWidths: { [key: string]: number },\n flattenedWidth: FlattenedTabWidth\n) => {\n if (flattenedWidth === 'auto') {\n return tabWidths[routes[index].key] || 0;\n }\n\n switch (typeof flattenedWidth) {\n case 'number':\n return flattenedWidth;\n case 'string':\n if (flattenedWidth.endsWith('%')) {\n const width = parseFloat(flattenedWidth);\n if (Number.isFinite(width)) {\n return layout.width * (width / 100);\n }\n }\n }\n\n if (scrollEnabled) {\n return (layout.width / 5) * 2;\n }\n return layout.width / routes.length;\n};\n\nconst getMaxScrollDistance = (tabBarWidth: number, layoutWidth: number) =>\n tabBarWidth - layoutWidth;\n\nconst getTranslateX = (\n scrollAmount: Animated.Value,\n maxScrollDistance: number\n) =>\n Animated.multiply(\n Platform.OS === 'android' && I18nManager.isRTL\n ? Animated.add(maxScrollDistance, Animated.multiply(scrollAmount, -1))\n : scrollAmount,\n I18nManager.isRTL ? 1 : -1\n );\n\nconst getTabBarWidth = <T extends Route>({\n navigationState,\n layout,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n tabWidths,\n}: Pick<Props<T>, 'navigationState' | 'gap' | 'layout' | 'scrollEnabled'> & {\n tabWidths: Record<string, number>;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const { routes } = navigationState;\n\n return routes.reduce<number>(\n (acc, _, i) =>\n acc +\n (i > 0 ? gap ?? 0 : 0) +\n getComputedTabWidth(\n i,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n ),\n 0\n );\n};\n\nconst normalizeScrollValue = <T extends Route>({\n layout,\n navigationState,\n gap,\n scrollEnabled,\n tabWidths,\n value,\n flattenedTabWidth,\n}: Pick<Props<T>, 'layout' | 'navigationState' | 'gap' | 'scrollEnabled'> & {\n tabWidths: Record<string, number>;\n value: number;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const tabBarWidth = getTabBarWidth({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);\n const scrollValue = Math.max(Math.min(value, maxDistance), 0);\n\n if (Platform.OS === 'android' && I18nManager.isRTL) {\n // On Android, scroll value is not applied in reverse in RTL\n // so we need to manually adjust it to apply correct value\n return maxDistance - scrollValue;\n }\n\n return scrollValue;\n};\n\nconst getScrollAmount = <T extends Route>({\n layout,\n navigationState,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n tabWidths,\n}: Pick<Props<T>, 'layout' | 'navigationState' | 'scrollEnabled' | 'gap'> & {\n tabWidths: Record<string, number>;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const centerDistance = Array.from({\n length: navigationState.index + 1,\n }).reduce<number>((total, _, i) => {\n const tabWidth = getComputedTabWidth(\n i,\n layout,\n navigationState.routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n );\n\n // To get the current index centered we adjust scroll amount by width of indexes\n // 0 through (i - 1) and add half the width of current index i\n return (\n total +\n (navigationState.index === i\n ? (tabWidth + (gap ?? 0)) / 2\n : tabWidth + (gap ?? 0))\n );\n }, 0);\n\n const scrollAmount = centerDistance - layout.width / 2;\n\n return normalizeScrollValue({\n layout,\n navigationState,\n tabWidths,\n value: scrollAmount,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n};\n\nconst getLabelTextDefault = ({ route }: Scene<Route>) => route.title;\n\nconst getAccessibleDefault = ({ route }: Scene<Route>) =>\n typeof route.accessible !== 'undefined' ? route.accessible : true;\n\nconst getAccessibilityLabelDefault = ({ route }: Scene<Route>) =>\n typeof route.accessibilityLabel === 'string'\n ? route.accessibilityLabel\n : typeof route.title === 'string'\n ? route.title\n : undefined;\n\nconst renderIndicatorDefault = (props: IndicatorProps<Route>) => (\n <TabBarIndicator {...props} />\n);\n\nconst getTestIdDefault = ({ route }: Scene<Route>) => route.testID;\n\n// How many items measurements should we update per batch.\n// Defaults to 10, since that's whats FlatList is using in initialNumToRender.\nconst MEASURE_PER_BATCH = 10;\n\nexport default function TabBar<T extends Route>({\n getLabelText = getLabelTextDefault,\n getAccessible = getAccessibleDefault,\n getAccessibilityLabel = getAccessibilityLabelDefault,\n getTestID = getTestIdDefault,\n renderIndicator = renderIndicatorDefault,\n gap = 0,\n scrollEnabled,\n jumpTo,\n navigationState,\n position,\n activeColor,\n bounces,\n contentContainerStyle,\n inactiveColor,\n indicatorContainerStyle,\n indicatorStyle,\n labelStyle,\n onTabLongPress,\n onTabPress,\n pressColor,\n pressOpacity,\n renderBadge,\n renderIcon,\n renderLabel,\n renderTabBarItem,\n style,\n tabStyle,\n testID,\n}: Props<T>) {\n const [layout, setLayout] = React.useState<Layout>({ width: 0, height: 0 });\n const [tabWidths, setTabWidths] = React.useState<Record<string, number>>({});\n const flatListRef = React.useRef<FlatList | null>(null);\n const isFirst = React.useRef(true);\n const scrollAmount = useAnimatedValue(0);\n const measuredTabWidths = React.useRef<Record<string, number>>({});\n\n const { routes } = navigationState;\n const flattenedTabWidth = getFlattenedTabWidth(tabStyle);\n const isWidthDynamic = flattenedTabWidth === 'auto';\n const scrollOffset = getScrollAmount({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n\n const hasMeasuredTabWidths =\n Boolean(layout.width) &&\n routes\n .slice(0, navigationState.index)\n .every((r) => typeof tabWidths[r.key] === 'number');\n\n React.useEffect(() => {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n\n if (isWidthDynamic && !hasMeasuredTabWidths) {\n return;\n }\n\n if (scrollEnabled) {\n flatListRef.current?.scrollToOffset({\n offset: scrollOffset,\n animated: true,\n });\n }\n }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);\n\n const handleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setLayout((layout) =>\n layout.width === width && layout.height === height\n ? layout\n : { width, height }\n );\n };\n\n const tabBarWidth = getTabBarWidth({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n\n const separatorsWidth = Math.max(0, routes.length - 1) * gap;\n const separatorPercent = (separatorsWidth / tabBarWidth) * 100;\n const tabBarWidthPercent = `${routes.length * 40}%`;\n\n const translateX = React.useMemo(\n () =>\n getTranslateX(\n scrollAmount,\n getMaxScrollDistance(tabBarWidth, layout.width)\n ),\n [layout.width, scrollAmount, tabBarWidth]\n );\n\n const renderItem = React.useCallback(\n ({ item: route, index }: ListRenderItemInfo<T>) => {\n const props: TabBarItemProps<T> & { key: string } = {\n key: route.key,\n position: position,\n route: route,\n navigationState: navigationState,\n getAccessibilityLabel: getAccessibilityLabel,\n getAccessible: getAccessible,\n getLabelText: getLabelText,\n getTestID: getTestID,\n renderBadge: renderBadge,\n renderIcon: renderIcon,\n renderLabel: renderLabel,\n activeColor: activeColor,\n inactiveColor: inactiveColor,\n pressColor: pressColor,\n pressOpacity: pressOpacity,\n onLayout: isWidthDynamic\n ? (e: LayoutChangeEvent) => {\n measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;\n\n // When we have measured widths for all of the tabs, we should updates the state\n // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app\n // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.\n if (\n routes.length > MEASURE_PER_BATCH &&\n index === MEASURE_PER_BATCH &&\n routes\n .slice(0, MEASURE_PER_BATCH)\n .every(\n (r) => typeof measuredTabWidths.current[r.key] === 'number'\n )\n ) {\n setTabWidths({ ...measuredTabWidths.current });\n } else if (\n routes.every(\n (r) => typeof measuredTabWidths.current[r.key] === 'number'\n )\n ) {\n // When we have measured widths for all of the tabs, we should updates the state\n // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app\n setTabWidths({ ...measuredTabWidths.current });\n }\n }\n : undefined,\n onPress: () => {\n const event: Scene<T> & Event = {\n route,\n defaultPrevented: false,\n preventDefault: () => {\n event.defaultPrevented = true;\n },\n };\n\n onTabPress?.(event);\n\n if (event.defaultPrevented) {\n return;\n }\n\n jumpTo(route.key);\n },\n onLongPress: () => onTabLongPress?.({ route }),\n labelStyle: labelStyle,\n style: tabStyle,\n // Calculate the deafult width for tab for FlatList to work\n defaultTabWidth: !isWidthDynamic\n ? getComputedTabWidth(\n index,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n getFlattenedTabWidth(tabStyle)\n )\n : undefined,\n };\n\n return (\n <>\n {gap > 0 && index > 0 ? <Separator width={gap} /> : null}\n {renderTabBarItem ? (\n renderTabBarItem(props)\n ) : (\n <TabBarItem {...props} />\n )}\n </>\n );\n },\n [\n activeColor,\n gap,\n getAccessibilityLabel,\n getAccessible,\n getLabelText,\n getTestID,\n inactiveColor,\n isWidthDynamic,\n jumpTo,\n labelStyle,\n layout,\n navigationState,\n onTabLongPress,\n onTabPress,\n position,\n pressColor,\n pressOpacity,\n renderBadge,\n renderIcon,\n renderLabel,\n renderTabBarItem,\n routes,\n scrollEnabled,\n tabStyle,\n tabWidths,\n ]\n );\n\n const keyExtractor = React.useCallback((item: T) => item.key, []);\n\n const contentContainerStyleMemoized = React.useMemo(\n () => [\n styles.tabContent,\n scrollEnabled\n ? {\n width:\n tabBarWidth > separatorsWidth ? tabBarWidth : tabBarWidthPercent,\n }\n : styles.container,\n contentContainerStyle,\n ],\n [\n contentContainerStyle,\n scrollEnabled,\n separatorsWidth,\n tabBarWidth,\n tabBarWidthPercent,\n ]\n );\n\n const handleScroll = React.useMemo(\n () =>\n Animated.event(\n [\n {\n nativeEvent: {\n contentOffset: { x: scrollAmount },\n },\n },\n ],\n { useNativeDriver: true }\n ),\n [scrollAmount]\n );\n\n const handleViewableItemsChanged = useLatestCallback(\n ({ changed }: { changed: ViewToken[] }) => {\n if (routes.length <= MEASURE_PER_BATCH) {\n return;\n }\n // Get next vievable item\n const item = changed[changed.length - 1];\n const index = item?.index || 0;\n if (\n item.isViewable &&\n (index % 10 === 0 ||\n index === navigationState.index ||\n index === routes.length - 1)\n ) {\n setTabWidths({ ...measuredTabWidths.current });\n }\n }\n );\n\n return (\n <Animated.View onLayout={handleLayout} style={[styles.tabBar, style]}>\n <Animated.View\n pointerEvents=\"none\"\n style={[\n styles.indicatorContainer,\n scrollEnabled ? { transform: [{ translateX }] as any } : null,\n tabBarWidth > separatorsWidth\n ? { width: tabBarWidth - separatorsWidth }\n : scrollEnabled\n ? { width: tabBarWidthPercent }\n : null,\n indicatorContainerStyle,\n ]}\n >\n {renderIndicator({\n position,\n layout,\n navigationState,\n jumpTo,\n width: isWidthDynamic\n ? 'auto'\n : `${(100 - separatorPercent) / routes.length}%`,\n style: indicatorStyle,\n getTabWidth: (i: number) =>\n getComputedTabWidth(\n i,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n ),\n gap,\n })}\n </Animated.View>\n <View style={styles.scroll}>\n <Animated.FlatList\n data={routes as Animated.WithAnimatedValue<T>[]}\n keyExtractor={keyExtractor}\n horizontal\n accessibilityRole=\"tablist\"\n keyboardShouldPersistTaps=\"handled\"\n scrollEnabled={scrollEnabled}\n bounces={bounces}\n initialNumToRender={MEASURE_PER_BATCH}\n onViewableItemsChanged={handleViewableItemsChanged}\n alwaysBounceHorizontal={false}\n scrollsToTop={false}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n automaticallyAdjustContentInsets={false}\n overScrollMode=\"never\"\n contentContainerStyle={contentContainerStyleMemoized}\n scrollEventThrottle={16}\n renderItem={renderItem}\n onScroll={handleScroll}\n ref={flatListRef}\n testID={testID}\n />\n </View>\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scroll: {\n overflow: Platform.select({ default: 'scroll', web: undefined }),\n },\n tabBar: {\n backgroundColor: '#2196f3',\n elevation: 4,\n shadowColor: 'black',\n shadowOpacity: 0.1,\n shadowRadius: StyleSheet.hairlineWidth,\n shadowOffset: {\n height: StyleSheet.hairlineWidth,\n width: 0,\n },\n zIndex: 1,\n },\n tabContent: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n },\n indicatorContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","useLatestCallback","TabBarIndicator","TabBarItem","useAnimatedValue","Separator","width","getFlattenedTabWidth","style","tabStyle","flatten","getComputedTabWidth","index","layout","routes","scrollEnabled","tabWidths","flattenedWidth","key","endsWith","parseFloat","Number","isFinite","length","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","multiply","OS","isRTL","add","getTabBarWidth","navigationState","gap","flattenedTabWidth","reduce","acc","_","i","normalizeScrollValue","value","maxDistance","scrollValue","Math","max","min","getScrollAmount","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","getLabelText","getAccessible","getAccessibilityLabel","getTestID","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","labelStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","renderBadge","renderIcon","renderLabel","renderTabBarItem","android_ripple","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","changed","isViewable","tabBar","indicatorContainer","transform","getTabWidth","scroll","create","flex","overflow","select","default","web","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","zIndex","flexDirection","flexWrap","top","left","right","bottom"],"sourceRoot":"../../src","sources":["TabBar.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EAERC,WAAW,EAGXC,QAAQ,EAGRC,UAAU,EAEVC,IAAI,QAGC,cAAc;AACrB,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,OAAOC,eAAe,MAAmC,mBAAmB;AAC5E,OAAOC,UAAU,MAAoC,cAAc;AASnE,OAAOC,gBAAgB,MAAM,oBAAoB;AA8CjD,MAAMC,SAAS,GAAG,QAAkC;EAAA,IAAjC;IAAEC;EAAyB,CAAC;EAC7C,oBAAO,oBAAC,IAAI;IAAC,KAAK,EAAE;MAAEA;IAAM;EAAE,EAAG;AACnC,CAAC;AAED,MAAMC,oBAAoB,GAAIC,KAA2B,IAAK;EAC5D,MAAMC,QAAQ,GAAGV,UAAU,CAACW,OAAO,CAACF,KAAK,CAAC;EAE1C,OAAOC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEH,KAAK;AACxB,CAAC;AAED,MAAMK,mBAAmB,GAAG,CAC1BC,KAAa,EACbC,MAAc,EACdC,MAAe,EACfC,aAAkC,EAClCC,SAAoC,EACpCC,cAAiC,KAC9B;EACH,IAAIA,cAAc,KAAK,MAAM,EAAE;IAC7B,OAAOD,SAAS,CAACF,MAAM,CAACF,KAAK,CAAC,CAACM,GAAG,CAAC,IAAI,CAAC;EAC1C;EAEA,QAAQ,OAAOD,cAAc;IAC3B,KAAK,QAAQ;MACX,OAAOA,cAAc;IACvB,KAAK,QAAQ;MACX,IAAIA,cAAc,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;QAChC,MAAMb,KAAK,GAAGc,UAAU,CAACH,cAAc,CAAC;QACxC,IAAII,MAAM,CAACC,QAAQ,CAAChB,KAAK,CAAC,EAAE;UAC1B,OAAOO,MAAM,CAACP,KAAK,IAAIA,KAAK,GAAG,GAAG,CAAC;QACrC;MACF;EAAC;EAGL,IAAIS,aAAa,EAAE;IACjB,OAAQF,MAAM,CAACP,KAAK,GAAG,CAAC,GAAI,CAAC;EAC/B;EACA,OAAOO,MAAM,CAACP,KAAK,GAAGQ,MAAM,CAACS,MAAM;AACrC,CAAC;AAED,MAAMC,oBAAoB,GAAG,CAACC,WAAmB,EAAEC,WAAmB,KACpED,WAAW,GAAGC,WAAW;AAE3B,MAAMC,aAAa,GAAG,CACpBC,YAA4B,EAC5BC,iBAAyB,KAEzBjC,QAAQ,CAACkC,QAAQ,CACfhC,QAAQ,CAACiC,EAAE,KAAK,SAAS,IAAIlC,WAAW,CAACmC,KAAK,GAC1CpC,QAAQ,CAACqC,GAAG,CAACJ,iBAAiB,EAAEjC,QAAQ,CAACkC,QAAQ,CAACF,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GACpEA,YAAY,EAChB/B,WAAW,CAACmC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAC3B;AAEH,MAAME,cAAc,GAAG,SAUjB;EAAA,IAVmC;IACvCC,eAAe;IACftB,MAAM;IACNuB,GAAG;IACHrB,aAAa;IACbsB,iBAAiB;IACjBrB;EAIF,CAAC;EACC,MAAM;IAAEF;EAAO,CAAC,GAAGqB,eAAe;EAElC,OAAOrB,MAAM,CAACwB,MAAM,CAClB,CAACC,GAAG,EAAEC,CAAC,EAAEC,CAAC,KACRF,GAAG,IACFE,CAAC,GAAG,CAAC,GAAGL,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GACtBzB,mBAAmB,CACjB8B,CAAC,EACD5B,MAAM,EACNC,MAAM,EACNC,aAAa,EACbC,SAAS,EACTqB,iBAAiB,CAClB,EACH,CAAC,CACF;AACH,CAAC;AAED,MAAMK,oBAAoB,GAAG,SAYvB;EAAA,IAZyC;IAC7C7B,MAAM;IACNsB,eAAe;IACfC,GAAG;IACHrB,aAAa;IACbC,SAAS;IACT2B,KAAK;IACLN;EAKF,CAAC;EACC,MAAMZ,WAAW,GAAGS,cAAc,CAAC;IACjCrB,MAAM;IACNsB,eAAe;IACfnB,SAAS;IACToB,GAAG;IACHrB,aAAa;IACbsB;EACF,CAAC,CAAC;EACF,MAAMO,WAAW,GAAGpB,oBAAoB,CAACC,WAAW,EAAEZ,MAAM,CAACP,KAAK,CAAC;EACnE,MAAMuC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACL,KAAK,EAAEC,WAAW,CAAC,EAAE,CAAC,CAAC;EAE7D,IAAI9C,QAAQ,CAACiC,EAAE,KAAK,SAAS,IAAIlC,WAAW,CAACmC,KAAK,EAAE;IAClD;IACA;IACA,OAAOY,WAAW,GAAGC,WAAW;EAClC;EAEA,OAAOA,WAAW;AACpB,CAAC;AAED,MAAMI,eAAe,GAAG,SAUlB;EAAA,IAVoC;IACxCpC,MAAM;IACNsB,eAAe;IACfC,GAAG;IACHrB,aAAa;IACbsB,iBAAiB;IACjBrB;EAIF,CAAC;EACC,MAAMkC,cAAc,GAAGC,KAAK,CAACC,IAAI,CAAC;IAChC7B,MAAM,EAAEY,eAAe,CAACvB,KAAK,GAAG;EAClC,CAAC,CAAC,CAAC0B,MAAM,CAAS,CAACe,KAAK,EAAEb,CAAC,EAAEC,CAAC,KAAK;IACjC,MAAMa,QAAQ,GAAG3C,mBAAmB,CAClC8B,CAAC,EACD5B,MAAM,EACNsB,eAAe,CAACrB,MAAM,EACtBC,aAAa,EACbC,SAAS,EACTqB,iBAAiB,CAClB;;IAED;IACA;IACA,OACEgB,KAAK,IACJlB,eAAe,CAACvB,KAAK,KAAK6B,CAAC,GACxB,CAACa,QAAQ,IAAIlB,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAC3BkB,QAAQ,IAAIlB,GAAG,IAAI,CAAC,CAAC,CAAC;EAE9B,CAAC,EAAE,CAAC,CAAC;EAEL,MAAMR,YAAY,GAAGsB,cAAc,GAAGrC,MAAM,CAACP,KAAK,GAAG,CAAC;EAEtD,OAAOoC,oBAAoB,CAAC;IAC1B7B,MAAM;IACNsB,eAAe;IACfnB,SAAS;IACT2B,KAAK,EAAEf,YAAY;IACnBQ,GAAG;IACHrB,aAAa;IACbsB;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMkB,mBAAmB,GAAG;EAAA,IAAC;IAAEC;EAAoB,CAAC;EAAA,OAAKA,KAAK,CAACC,KAAK;AAAA;AAEpE,MAAMC,oBAAoB,GAAG;EAAA,IAAC;IAAEF;EAAoB,CAAC;EAAA,OACnD,OAAOA,KAAK,CAACG,UAAU,KAAK,WAAW,GAAGH,KAAK,CAACG,UAAU,GAAG,IAAI;AAAA;AAEnE,MAAMC,4BAA4B,GAAG;EAAA,IAAC;IAAEJ;EAAoB,CAAC;EAAA,OAC3D,OAAOA,KAAK,CAACK,kBAAkB,KAAK,QAAQ,GACxCL,KAAK,CAACK,kBAAkB,GACxB,OAAOL,KAAK,CAACC,KAAK,KAAK,QAAQ,GAC/BD,KAAK,CAACC,KAAK,GACXK,SAAS;AAAA;AAEf,MAAMC,sBAAsB,GAAIC,KAA4B,iBAC1D,oBAAC,eAAe,EAAKA,KAAK,CAC3B;AAED,MAAMC,gBAAgB,GAAG;EAAA,IAAC;IAAET;EAAoB,CAAC;EAAA,OAAKA,KAAK,CAACU,MAAM;AAAA;;AAElE;AACA;AACA,MAAMC,iBAAiB,GAAG,EAAE;AAE5B,eAAe,SAASC,MAAM,QA8BjB;EAAA,IA9BmC;IAC9CC,YAAY,GAAGd,mBAAmB;IAClCe,aAAa,GAAGZ,oBAAoB;IACpCa,qBAAqB,GAAGX,4BAA4B;IACpDY,SAAS,GAAGP,gBAAgB;IAC5BQ,eAAe,GAAGV,sBAAsB;IACxC3B,GAAG,GAAG,CAAC;IACPrB,aAAa;IACb2D,MAAM;IACNvC,eAAe;IACfwC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,qBAAqB;IACrBC,aAAa;IACbC,uBAAuB;IACvBC,cAAc;IACdC,UAAU;IACVC,cAAc;IACdC,UAAU;IACVC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,UAAU;IACVC,WAAW;IACXC,gBAAgB;IAChBlF,KAAK;IACLC,QAAQ;IACRyD,MAAM;IACNyB;EACQ,CAAC;EACT,MAAM,CAAC9E,MAAM,EAAE+E,SAAS,CAAC,GAAGjG,KAAK,CAACkG,QAAQ,CAAS;IAAEvF,KAAK,EAAE,CAAC;IAAEwF,MAAM,EAAE;EAAE,CAAC,CAAC;EAC3E,MAAM,CAAC9E,SAAS,EAAE+E,YAAY,CAAC,GAAGpG,KAAK,CAACkG,QAAQ,CAAyB,CAAC,CAAC,CAAC;EAC5E,MAAMG,WAAW,GAAGrG,KAAK,CAACsG,MAAM,CAAkB,IAAI,CAAC;EACvD,MAAMC,OAAO,GAAGvG,KAAK,CAACsG,MAAM,CAAC,IAAI,CAAC;EAClC,MAAMrE,YAAY,GAAGxB,gBAAgB,CAAC,CAAC,CAAC;EACxC,MAAM+F,iBAAiB,GAAGxG,KAAK,CAACsG,MAAM,CAAyB,CAAC,CAAC,CAAC;EAElE,MAAM;IAAEnF;EAAO,CAAC,GAAGqB,eAAe;EAClC,MAAME,iBAAiB,GAAG9B,oBAAoB,CAACE,QAAQ,CAAC;EACxD,MAAM2F,cAAc,GAAG/D,iBAAiB,KAAK,MAAM;EACnD,MAAMgE,YAAY,GAAGpD,eAAe,CAAC;IACnCpC,MAAM;IACNsB,eAAe;IACfnB,SAAS;IACToB,GAAG;IACHrB,aAAa;IACbsB;EACF,CAAC,CAAC;EAEF,MAAMiE,oBAAoB,GACxBC,OAAO,CAAC1F,MAAM,CAACP,KAAK,CAAC,IACrBQ,MAAM,CACH0F,KAAK,CAAC,CAAC,EAAErE,eAAe,CAACvB,KAAK,CAAC,CAC/B6F,KAAK,CAAEC,CAAC,IAAK,OAAO1F,SAAS,CAAC0F,CAAC,CAACxF,GAAG,CAAC,KAAK,QAAQ,CAAC;EAEvDvB,KAAK,CAACgH,SAAS,CAAC,MAAM;IACpB,IAAIT,OAAO,CAACU,OAAO,EAAE;MACnBV,OAAO,CAACU,OAAO,GAAG,KAAK;MACvB;IACF;IAEA,IAAIR,cAAc,IAAI,CAACE,oBAAoB,EAAE;MAC3C;IACF;IAEA,IAAIvF,aAAa,EAAE;MAAA;MACjB,wBAAAiF,WAAW,CAACY,OAAO,yDAAnB,qBAAqBC,cAAc,CAAC;QAClCC,MAAM,EAAET,YAAY;QACpBU,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACT,oBAAoB,EAAEF,cAAc,EAAErF,aAAa,EAAEsF,YAAY,CAAC,CAAC;EAEvE,MAAMW,YAAY,GAAIC,CAAoB,IAAK;IAC7C,MAAM;MAAEnB,MAAM;MAAExF;IAAM,CAAC,GAAG2G,CAAC,CAACC,WAAW,CAACrG,MAAM;IAE9C+E,SAAS,CAAE/E,MAAM,IACfA,MAAM,CAACP,KAAK,KAAKA,KAAK,IAAIO,MAAM,CAACiF,MAAM,KAAKA,MAAM,GAC9CjF,MAAM,GACN;MAAEP,KAAK;MAAEwF;IAAO,CAAC,CACtB;EACH,CAAC;EAED,MAAMrE,WAAW,GAAGS,cAAc,CAAC;IACjCrB,MAAM;IACNsB,eAAe;IACfnB,SAAS;IACToB,GAAG;IACHrB,aAAa;IACbsB;EACF,CAAC,CAAC;EAEF,MAAM8E,eAAe,GAAGrE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEjC,MAAM,CAACS,MAAM,GAAG,CAAC,CAAC,GAAGa,GAAG;EAC5D,MAAMgF,gBAAgB,GAAID,eAAe,GAAG1F,WAAW,GAAI,GAAG;EAC9D,MAAM4F,kBAAkB,GAAI,GAAEvG,MAAM,CAACS,MAAM,GAAG,EAAG,GAAE;EAEnD,MAAM+F,UAAU,GAAG3H,KAAK,CAAC4H,OAAO,CAC9B,MACE5F,aAAa,CACXC,YAAY,EACZJ,oBAAoB,CAACC,WAAW,EAAEZ,MAAM,CAACP,KAAK,CAAC,CAChD,EACH,CAACO,MAAM,CAACP,KAAK,EAAEsB,YAAY,EAAEH,WAAW,CAAC,CAC1C;EAED,MAAM+F,UAAU,GAAG7H,KAAK,CAAC8H,WAAW,CAClC,UAAmD;IAAA,IAAlD;MAAEC,IAAI,EAAElE,KAAK;MAAE5C;IAA6B,CAAC;IAC5C,MAAMoD,KAA2C,GAAG;MAClD9C,GAAG,EAAEsC,KAAK,CAACtC,GAAG;MACdyD,QAAQ,EAAEA,QAAQ;MAClBnB,KAAK,EAAEA,KAAK;MACZrB,eAAe,EAAEA,eAAe;MAChCoC,qBAAqB,EAAEA,qBAAqB;MAC5CD,aAAa,EAAEA,aAAa;MAC5BD,YAAY,EAAEA,YAAY;MAC1BG,SAAS,EAAEA,SAAS;MACpBe,WAAW,EAAEA,WAAW;MACxBC,UAAU,EAAEA,UAAU;MACtBC,WAAW,EAAEA,WAAW;MACxBb,WAAW,EAAEA,WAAW;MACxBG,aAAa,EAAEA,aAAa;MAC5BM,UAAU,EAAEA,UAAU;MACtBC,YAAY,EAAEA,YAAY;MAC1BqC,QAAQ,EAAEvB,cAAc,GACnBa,CAAoB,IAAK;QACxBd,iBAAiB,CAACS,OAAO,CAACpD,KAAK,CAACtC,GAAG,CAAC,GAAG+F,CAAC,CAACC,WAAW,CAACrG,MAAM,CAACP,KAAK;;QAEjE;QACA;QACA;QACA,IACEQ,MAAM,CAACS,MAAM,GAAG4C,iBAAiB,IACjCvD,KAAK,KAAKuD,iBAAiB,IAC3BrD,MAAM,CACH0F,KAAK,CAAC,CAAC,EAAErC,iBAAiB,CAAC,CAC3BsC,KAAK,CACHC,CAAC,IAAK,OAAOP,iBAAiB,CAACS,OAAO,CAACF,CAAC,CAACxF,GAAG,CAAC,KAAK,QAAQ,CAC5D,EACH;UACA6E,YAAY,CAAC;YAAE,GAAGI,iBAAiB,CAACS;UAAQ,CAAC,CAAC;QAChD,CAAC,MAAM,IACL9F,MAAM,CAAC2F,KAAK,CACTC,CAAC,IAAK,OAAOP,iBAAiB,CAACS,OAAO,CAACF,CAAC,CAACxF,GAAG,CAAC,KAAK,QAAQ,CAC5D,EACD;UACA;UACA;UACA6E,YAAY,CAAC;YAAE,GAAGI,iBAAiB,CAACS;UAAQ,CAAC,CAAC;QAChD;MACF,CAAC,GACD9C,SAAS;MACb8D,OAAO,EAAE,MAAM;QACb,MAAMC,KAAuB,GAAG;UAC9BrE,KAAK;UACLsE,gBAAgB,EAAE,KAAK;UACvBC,cAAc,EAAE,MAAM;YACpBF,KAAK,CAACC,gBAAgB,GAAG,IAAI;UAC/B;QACF,CAAC;QAED1C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGyC,KAAK,CAAC;QAEnB,IAAIA,KAAK,CAACC,gBAAgB,EAAE;UAC1B;QACF;QAEApD,MAAM,CAAClB,KAAK,CAACtC,GAAG,CAAC;MACnB,CAAC;MACD8G,WAAW,EAAE,MAAM7C,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;QAAE3B;MAAM,CAAC,CAAC;MAC9C0B,UAAU,EAAEA,UAAU;MACtB1E,KAAK,EAAEC,QAAQ;MACf;MACAwH,eAAe,EAAE,CAAC7B,cAAc,GAC5BzF,mBAAmB,CACjBC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,aAAa,EACbC,SAAS,EACTT,oBAAoB,CAACE,QAAQ,CAAC,CAC/B,GACDqD,SAAS;MACb6B;IACF,CAAC;IAED,oBACE,0CACGvD,GAAG,GAAG,CAAC,IAAIxB,KAAK,GAAG,CAAC,gBAAG,oBAAC,SAAS;MAAC,KAAK,EAAEwB;IAAI,EAAG,GAAG,IAAI,EACvDsD,gBAAgB,GACfA,gBAAgB,CAAC1B,KAAK,CAAC,gBAEvB,oBAAC,UAAU,EAAKA,KAAK,CACtB,CACA;EAEP,CAAC,EACD,CACEY,WAAW,EACXe,cAAc,EACdvD,GAAG,EACHmC,qBAAqB,EACrBD,aAAa,EACbD,YAAY,EACZG,SAAS,EACTO,aAAa,EACbqB,cAAc,EACd1B,MAAM,EACNQ,UAAU,EACVrE,MAAM,EACNsB,eAAe,EACfgD,cAAc,EACdC,UAAU,EACVT,QAAQ,EACRU,UAAU,EACVC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,gBAAgB,EAChB5E,MAAM,EACNC,aAAa,EACbN,QAAQ,EACRO,SAAS,CACV,CACF;EAED,MAAMkH,YAAY,GAAGvI,KAAK,CAAC8H,WAAW,CAAEC,IAAO,IAAKA,IAAI,CAACxG,GAAG,EAAE,EAAE,CAAC;EAEjE,MAAMiH,6BAA6B,GAAGxI,KAAK,CAAC4H,OAAO,CACjD,MAAM,CACJa,MAAM,CAACC,UAAU,EACjBtH,aAAa,GACT;IACET,KAAK,EACHmB,WAAW,GAAG0F,eAAe,GAAG1F,WAAW,GAAG4F;EAClD,CAAC,GACDe,MAAM,CAACE,SAAS,EACpBxD,qBAAqB,CACtB,EACD,CACEA,qBAAqB,EACrB/D,aAAa,EACboG,eAAe,EACf1F,WAAW,EACX4F,kBAAkB,CACnB,CACF;EAED,MAAMkB,YAAY,GAAG5I,KAAK,CAAC4H,OAAO,CAChC,MACE3H,QAAQ,CAACiI,KAAK,CACZ,CACE;IACEX,WAAW,EAAE;MACXsB,aAAa,EAAE;QAAEC,CAAC,EAAE7G;MAAa;IACnC;EACF,CAAC,CACF,EACD;IAAE8G,eAAe,EAAE;EAAK,CAAC,CAC1B,EACH,CAAC9G,YAAY,CAAC,CACf;EAED,MAAM+G,0BAA0B,GAAG1I,iBAAiB,CAClD,UAA2C;IAAA,IAA1C;MAAE2I;IAAkC,CAAC;IACpC,IAAI9H,MAAM,CAACS,MAAM,IAAI4C,iBAAiB,EAAE;MACtC;IACF;IACA;IACA,MAAMuD,IAAI,GAAGkB,OAAO,CAACA,OAAO,CAACrH,MAAM,GAAG,CAAC,CAAC;IACxC,MAAMX,KAAK,GAAG,CAAA8G,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE9G,KAAK,KAAI,CAAC;IAC9B,IACE8G,IAAI,CAACmB,UAAU,KACdjI,KAAK,GAAG,EAAE,KAAK,CAAC,IACfA,KAAK,KAAKuB,eAAe,CAACvB,KAAK,IAC/BA,KAAK,KAAKE,MAAM,CAACS,MAAM,GAAG,CAAC,CAAC,EAC9B;MACAwE,YAAY,CAAC;QAAE,GAAGI,iBAAiB,CAACS;MAAQ,CAAC,CAAC;IAChD;EACF,CAAC,CACF;EAED,oBACE,oBAAC,QAAQ,CAAC,IAAI;IAAC,QAAQ,EAAEI,YAAa;IAAC,KAAK,EAAE,CAACoB,MAAM,CAACU,MAAM,EAAEtI,KAAK;EAAE,gBACnE,oBAAC,QAAQ,CAAC,IAAI;IACZ,aAAa,EAAC,MAAM;IACpB,KAAK,EAAE,CACL4H,MAAM,CAACW,kBAAkB,EACzBhI,aAAa,GAAG;MAAEiI,SAAS,EAAE,CAAC;QAAE1B;MAAW,CAAC;IAAS,CAAC,GAAG,IAAI,EAC7D7F,WAAW,GAAG0F,eAAe,GACzB;MAAE7G,KAAK,EAAEmB,WAAW,GAAG0F;IAAgB,CAAC,GACxCpG,aAAa,GACb;MAAET,KAAK,EAAE+G;IAAmB,CAAC,GAC7B,IAAI,EACRrC,uBAAuB;EACvB,GAEDP,eAAe,CAAC;IACfE,QAAQ;IACR9D,MAAM;IACNsB,eAAe;IACfuC,MAAM;IACNpE,KAAK,EAAE8F,cAAc,GACjB,MAAM,GACL,GAAE,CAAC,GAAG,GAAGgB,gBAAgB,IAAItG,MAAM,CAACS,MAAO,GAAE;IAClDf,KAAK,EAAEyE,cAAc;IACrBgE,WAAW,EAAGxG,CAAS,IACrB9B,mBAAmB,CACjB8B,CAAC,EACD5B,MAAM,EACNC,MAAM,EACNC,aAAa,EACbC,SAAS,EACTqB,iBAAiB,CAClB;IACHD;EACF,CAAC,CAAC,CACY,eAChB,oBAAC,IAAI;IAAC,KAAK,EAAEgG,MAAM,CAACc;EAAO,gBACzB,oBAAC,QAAQ,CAAC,QAAQ;IAChB,IAAI,EAAEpI,MAA0C;IAChD,YAAY,EAAEoH,YAAa;IAC3B,UAAU;IACV,iBAAiB,EAAC,SAAS;IAC3B,yBAAyB,EAAC,SAAS;IACnC,aAAa,EAAEnH,aAAc;IAC7B,OAAO,EAAE8D,OAAQ;IACjB,kBAAkB,EAAEV,iBAAkB;IACtC,sBAAsB,EAAEwE,0BAA2B;IACnD,sBAAsB,EAAE,KAAM;IAC9B,YAAY,EAAE,KAAM;IACpB,8BAA8B,EAAE,KAAM;IACtC,4BAA4B,EAAE,KAAM;IACpC,gCAAgC,EAAE,KAAM;IACxC,cAAc,EAAC,OAAO;IACtB,qBAAqB,EAAER,6BAA8B;IACrD,mBAAmB,EAAE,EAAG;IACxB,UAAU,EAAEX,UAAW;IACvB,QAAQ,EAAEe,YAAa;IACvB,GAAG,EAAEvC,WAAY;IACjB,MAAM,EAAE9B;EAAO,EACf,CACG,CACO;AAEpB;AAEA,MAAMkE,MAAM,GAAGrI,UAAU,CAACoJ,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE;EACR,CAAC;EACDF,MAAM,EAAE;IACNG,QAAQ,EAAEvJ,QAAQ,CAACwJ,MAAM,CAAC;MAAEC,OAAO,EAAE,QAAQ;MAAEC,GAAG,EAAE1F;IAAU,CAAC;EACjE,CAAC;EACDgF,MAAM,EAAE;IACNW,eAAe,EAAE,SAAS;IAC1BC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,OAAO;IACpBC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE9J,UAAU,CAAC+J,aAAa;IACtCC,YAAY,EAAE;MACZjE,MAAM,EAAE/F,UAAU,CAAC+J,aAAa;MAChCxJ,KAAK,EAAE;IACT,CAAC;IACD0J,MAAM,EAAE;EACV,CAAC;EACD3B,UAAU,EAAE;IACV4B,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDnB,kBAAkB,EAAE;IAClBpE,QAAQ,EAAE,UAAU;IACpBwF,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { Animated, Easing, I18nManager, Platform, StyleSheet } from 'react-native';
3
3
  import useAnimatedValue from './useAnimatedValue';
4
-
5
4
  const getTranslateX = (position, routes, getTabWidth, gap) => {
6
- const inputRange = routes.map((_, i) => i); // every index contains widths at all previous indices
5
+ const inputRange = routes.map((_, i) => i);
7
6
 
7
+ // every index contains widths at all previous indices
8
8
  const outputRange = routes.reduce((acc, _, i) => {
9
9
  if (i === 0) return [0];
10
- return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap !== null && gap !== void 0 ? gap : 0)];
10
+ return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
11
11
  }, []);
12
12
  const translateX = position.interpolate({
13
13
  inputRange,
@@ -16,7 +16,6 @@ const getTranslateX = (position, routes, getTabWidth, gap) => {
16
16
  });
17
17
  return Animated.multiply(translateX, I18nManager.isRTL ? -1 : 1);
18
18
  };
19
-
20
19
  export default function TabBarIndicator(_ref) {
21
20
  let {
22
21
  getTabWidth,
@@ -33,7 +32,8 @@ export default function TabBarIndicator(_ref) {
33
32
  const indicatorVisible = isWidthDynamic ? layout.width && navigationState.routes.slice(0, navigationState.index).every((_, r) => getTabWidth(r)) : true;
34
33
  React.useEffect(() => {
35
34
  const fadeInIndicator = () => {
36
- if (!isIndicatorShown.current && isWidthDynamic && // We should fade-in the indicator when we have widths for all the tab items
35
+ if (!isIndicatorShown.current && isWidthDynamic &&
36
+ // We should fade-in the indicator when we have widths for all the tab items
37
37
  indicatorVisible) {
38
38
  isIndicatorShown.current = true;
39
39
  Animated.timing(opacity, {
@@ -44,7 +44,6 @@ export default function TabBarIndicator(_ref) {
44
44
  }).start();
45
45
  }
46
46
  };
47
-
48
47
  fadeInIndicator();
49
48
  return () => opacity.stopAnimation();
50
49
  }, [indicatorVisible, isWidthDynamic, opacity]);
@@ -52,14 +51,12 @@ export default function TabBarIndicator(_ref) {
52
51
  routes
53
52
  } = navigationState;
54
53
  const transform = [];
55
-
56
54
  if (layout.width) {
57
55
  const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, gap) : 0;
58
56
  transform.push({
59
57
  translateX
60
58
  });
61
59
  }
62
-
63
60
  if (width === 'auto') {
64
61
  const inputRange = routes.map((_, i) => i);
65
62
  const outputRange = inputRange.map(getTabWidth);
@@ -73,11 +70,11 @@ export default function TabBarIndicator(_ref) {
73
70
  translateX: 0.5
74
71
  });
75
72
  }
76
-
77
73
  return /*#__PURE__*/React.createElement(Animated.View, {
78
74
  style: [styles.indicator, {
79
75
  width: width === 'auto' ? 1 : width
80
- }, // If layout is not available, use `left` property for positioning the indicator
76
+ },
77
+ // If layout is not available, use `left` property for positioning the indicator
81
78
  // This avoids rendering delay until we are able to calculate translateX
82
79
  // If platform is macos use `left` property as `transform` is broken at the moment.
83
80
  // See: https://github.com/microsoft/react-native-macos/issues/280
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","I18nManager","Platform","StyleSheet","useAnimatedValue","getTranslateX","position","routes","getTabWidth","gap","inputRange","map","_","i","outputRange","reduce","acc","translateX","interpolate","extrapolate","multiply","isRTL","TabBarIndicator","layout","navigationState","width","style","isIndicatorShown","useRef","isWidthDynamic","opacity","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","in","linear","useNativeDriver","start","stopAnimation","transform","length","push","scaleX","styles","indicator","OS","left","create","backgroundColor","bottom","right","height"],"sources":["TabBarIndicator.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n Easing,\n I18nManager,\n Platform,\n StyleProp,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\n\nimport type { NavigationState, Route, SceneRendererProps } from './types';\nimport useAnimatedValue from './useAnimatedValue';\n\nexport type GetTabWidth = (index: number) => number;\n\nexport type Props<T extends Route> = SceneRendererProps & {\n navigationState: NavigationState<T>;\n width: string | number;\n style?: StyleProp<ViewStyle>;\n getTabWidth: GetTabWidth;\n gap?: number;\n};\n\nconst getTranslateX = (\n position: Animated.AnimatedInterpolation,\n routes: Route[],\n getTabWidth: GetTabWidth,\n gap?: number\n) => {\n const inputRange = routes.map((_, i) => i);\n\n // every index contains widths at all previous indices\n const outputRange = routes.reduce<number[]>((acc, _, i) => {\n if (i === 0) return [0];\n return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];\n }, []);\n\n const translateX = position.interpolate({\n inputRange,\n outputRange,\n extrapolate: 'clamp',\n });\n\n return Animated.multiply(translateX, I18nManager.isRTL ? -1 : 1);\n};\n\nexport default function TabBarIndicator<T extends Route>({\n getTabWidth,\n layout,\n navigationState,\n position,\n width,\n gap,\n style,\n}: Props<T>) {\n const isIndicatorShown = React.useRef(false);\n const isWidthDynamic = width === 'auto';\n\n const opacity = useAnimatedValue(isWidthDynamic ? 0 : 1);\n\n const indicatorVisible = isWidthDynamic\n ? layout.width &&\n navigationState.routes\n .slice(0, navigationState.index)\n .every((_, r) => getTabWidth(r))\n : true;\n\n React.useEffect(() => {\n const fadeInIndicator = () => {\n if (\n !isIndicatorShown.current &&\n isWidthDynamic &&\n // We should fade-in the indicator when we have widths for all the tab items\n indicatorVisible\n ) {\n isIndicatorShown.current = true;\n\n Animated.timing(opacity, {\n toValue: 1,\n duration: 150,\n easing: Easing.in(Easing.linear),\n useNativeDriver: true,\n }).start();\n }\n };\n\n fadeInIndicator();\n\n return () => opacity.stopAnimation();\n }, [indicatorVisible, isWidthDynamic, opacity]);\n\n const { routes } = navigationState;\n\n const transform = [];\n\n if (layout.width) {\n const translateX =\n routes.length > 1 ? getTranslateX(position, routes, getTabWidth, gap) : 0;\n\n transform.push({ translateX });\n }\n\n if (width === 'auto') {\n const inputRange = routes.map((_, i) => i);\n const outputRange = inputRange.map(getTabWidth);\n\n transform.push(\n {\n scaleX:\n routes.length > 1\n ? position.interpolate({\n inputRange,\n outputRange,\n extrapolate: 'clamp',\n })\n : outputRange[0],\n },\n { translateX: 0.5 }\n );\n }\n\n return (\n <Animated.View\n style={[\n styles.indicator,\n { width: width === 'auto' ? 1 : width },\n // If layout is not available, use `left` property for positioning the indicator\n // This avoids rendering delay until we are able to calculate translateX\n // If platform is macos use `left` property as `transform` is broken at the moment.\n // See: https://github.com/microsoft/react-native-macos/issues/280\n layout.width && Platform.OS !== 'macos'\n ? { left: 0 }\n : { left: `${(100 / routes.length) * navigationState.index}%` },\n { transform },\n width === 'auto' ? { opacity: opacity } : null,\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n indicator: {\n backgroundColor: '#ffeb3b',\n position: 'absolute',\n left: 0,\n bottom: 0,\n right: 0,\n height: 2,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","Easing","I18nManager","Platform","StyleSheet","useAnimatedValue","getTranslateX","position","routes","getTabWidth","gap","inputRange","map","_","i","outputRange","reduce","acc","translateX","interpolate","extrapolate","multiply","isRTL","TabBarIndicator","layout","navigationState","width","style","isIndicatorShown","useRef","isWidthDynamic","opacity","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","in","linear","useNativeDriver","start","stopAnimation","transform","length","push","scaleX","styles","indicator","OS","left","create","backgroundColor","bottom","right","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import * as React from 'react';
4
3
  import { Animated, StyleSheet, View } from 'react-native';
5
4
  import useLatestCallback from 'use-latest-callback';
6
5
  import PlatformPressable from './PlatformPressable';
7
6
  const DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';
8
7
  const DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';
9
-
10
8
  const getActiveOpacity = (position, routesLength, tabIndex) => {
11
9
  if (routesLength > 1) {
12
10
  const inputRange = Array.from({
@@ -20,7 +18,6 @@ const getActiveOpacity = (position, routesLength, tabIndex) => {
20
18
  return 1;
21
19
  }
22
20
  };
23
-
24
21
  const getInactiveOpacity = (position, routesLength, tabIndex) => {
25
22
  if (routesLength > 1) {
26
23
  const inputRange = Array.from({
@@ -34,7 +31,6 @@ const getInactiveOpacity = (position, routesLength, tabIndex) => {
34
31
  return 0;
35
32
  }
36
33
  };
37
-
38
34
  const TabBarItemInternal = _ref => {
39
35
  let {
40
36
  getAccessibilityLabel,
@@ -58,7 +54,10 @@ const TabBarItemInternal = _ref => {
58
54
  renderIcon,
59
55
  defaultTabWidth,
60
56
  routesLength,
61
- renderLabel: renderLabelCustom
57
+ renderLabel: renderLabelCustom,
58
+ android_ripple = {
59
+ borderless: true
60
+ }
62
61
  } = _ref;
63
62
  const labelColorFromStyle = StyleSheet.flatten(labelStyle || {}).color;
64
63
  const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
@@ -67,7 +66,6 @@ const TabBarItemInternal = _ref => {
67
66
  const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);
68
67
  let icon = null;
69
68
  let label = null;
70
-
71
69
  if (renderIcon) {
72
70
  const activeIcon = renderIcon({
73
71
  route,
@@ -79,7 +77,6 @@ const TabBarItemInternal = _ref => {
79
77
  focused: false,
80
78
  color: inactiveColor
81
79
  });
82
-
83
80
  if (inactiveIcon != null && activeIcon != null) {
84
81
  icon = /*#__PURE__*/React.createElement(View, {
85
82
  style: styles.icon
@@ -94,12 +91,10 @@ const TabBarItemInternal = _ref => {
94
91
  }, activeIcon));
95
92
  }
96
93
  }
97
-
98
94
  const renderLabel = renderLabelCustom !== undefined ? renderLabelCustom : labelProps => {
99
95
  const labelText = getLabelText({
100
96
  route: labelProps.route
101
97
  });
102
-
103
98
  if (typeof labelText === 'string') {
104
99
  return /*#__PURE__*/React.createElement(Animated.Text, {
105
100
  style: [styles.label, icon ? {
@@ -109,10 +104,8 @@ const TabBarItemInternal = _ref => {
109
104
  }]
110
105
  }, labelText);
111
106
  }
112
-
113
107
  return labelText;
114
108
  };
115
-
116
109
  if (renderLabel) {
117
110
  const activeLabel = renderLabel({
118
111
  route,
@@ -134,7 +127,6 @@ const TabBarItemInternal = _ref => {
134
127
  }]
135
128
  }, activeLabel));
136
129
  }
137
-
138
130
  const tabStyle = StyleSheet.flatten(style);
139
131
  const isWidthSet = (tabStyle === null || tabStyle === void 0 ? void 0 : tabStyle.width) !== undefined;
140
132
  const tabContainerStyle = isWidthSet ? null : {
@@ -147,16 +139,15 @@ const TabBarItemInternal = _ref => {
147
139
  accessibilityLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : getLabelText(scene);
148
140
  const badge = renderBadge ? renderBadge(scene) : null;
149
141
  return /*#__PURE__*/React.createElement(PlatformPressable, {
150
- android_ripple: {
151
- borderless: true
152
- },
142
+ android_ripple: android_ripple,
153
143
  testID: getTestID(scene),
154
144
  accessible: getAccessible(scene),
155
145
  accessibilityLabel: accessibilityLabel,
156
146
  accessibilityRole: "tab",
157
147
  accessibilityState: {
158
148
  selected: isFocused
159
- } // @ts-ignore: this is to support older React Native versions
149
+ }
150
+ // @ts-ignore: this is to support older React Native versions
160
151
  ,
161
152
  accessibilityStates: isFocused ? ['selected'] : [],
162
153
  pressColor: pressColor,
@@ -173,9 +164,7 @@ const TabBarItemInternal = _ref => {
173
164
  style: styles.badge
174
165
  }, badge) : null));
175
166
  };
176
-
177
167
  const MemoizedTabBarItemInternal = /*#__PURE__*/React.memo(TabBarItemInternal);
178
-
179
168
  function TabBarItem(props) {
180
169
  const {
181
170
  onPress,
@@ -199,7 +188,6 @@ function TabBarItem(props) {
199
188
  routesLength: navigationState.routes.length
200
189
  }));
201
190
  }
202
-
203
191
  export default TabBarItem;
204
192
  const styles = StyleSheet.create({
205
193
  label: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","StyleSheet","View","useLatestCallback","PlatformPressable","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","getAccessibilityLabel","getAccessible","getLabelText","getTestID","onLongPress","onPress","isFocused","route","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","renderBadge","renderIcon","defaultTabWidth","renderLabel","renderLabelCustom","labelColorFromStyle","flatten","color","undefined","activeOpacity","inactiveOpacity","icon","label","activeIcon","focused","inactiveIcon","styles","opacity","absoluteFill","labelProps","labelText","marginTop","activeLabel","inactiveLabel","tabStyle","isWidthSet","width","tabContainerStyle","scene","accessibilityLabel","badge","borderless","selected","pressable","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","backgroundColor","textTransform","flex","alignItems","justifyContent","padding","minHeight","top","right"],"sources":["TabBarItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport useLatestCallback from 'use-latest-callback';\n\nimport PlatformPressable from './PlatformPressable';\nimport type { NavigationState, Route, Scene } from './types';\n\nexport type Props<T extends Route> = {\n position: Animated.AnimatedInterpolation;\n route: T;\n navigationState: NavigationState<T>;\n activeColor?: string;\n inactiveColor?: string;\n pressColor?: string;\n pressOpacity?: number;\n getLabelText: (scene: Scene<T>) => string | undefined;\n getAccessible: (scene: Scene<T>) => boolean | undefined;\n getAccessibilityLabel: (scene: Scene<T>) => string | undefined;\n getTestID: (scene: Scene<T>) => string | undefined;\n renderLabel?: (scene: {\n route: T;\n focused: boolean;\n color: string;\n }) => React.ReactNode;\n renderIcon?: (scene: {\n route: T;\n focused: boolean;\n color: string;\n }) => React.ReactNode;\n renderBadge?: (scene: Scene<T>) => React.ReactNode;\n onLayout?: (event: LayoutChangeEvent) => void;\n onPress: () => void;\n onLongPress: () => void;\n defaultTabWidth?: number;\n labelStyle?: StyleProp<TextStyle>;\n style: StyleProp<ViewStyle>;\n};\n\nconst DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';\nconst DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';\n\nconst getActiveOpacity = (\n position: Animated.AnimatedInterpolation,\n routesLength: number,\n tabIndex: number\n) => {\n if (routesLength > 1) {\n const inputRange = Array.from({ length: routesLength }, (_, i) => i);\n\n return position.interpolate({\n inputRange,\n outputRange: inputRange.map((i) => (i === tabIndex ? 1 : 0)),\n });\n } else {\n return 1;\n }\n};\n\nconst getInactiveOpacity = (\n position: Animated.AnimatedInterpolation,\n routesLength: number,\n tabIndex: number\n) => {\n if (routesLength > 1) {\n const inputRange = Array.from({ length: routesLength }, (_, i) => i);\n\n return position.interpolate({\n inputRange,\n outputRange: inputRange.map((i: number) => (i === tabIndex ? 0 : 1)),\n });\n } else {\n return 0;\n }\n};\n\ntype TabBarItemInternalProps<T extends Route> = Omit<\n Props<T>,\n 'navigationState'\n> & {\n isFocused: boolean;\n index: number;\n routesLength: number;\n};\n\nconst TabBarItemInternal = <T extends Route>({\n getAccessibilityLabel,\n getAccessible,\n getLabelText,\n getTestID,\n onLongPress,\n onPress,\n isFocused,\n position,\n route,\n style,\n inactiveColor: inactiveColorCustom,\n activeColor: activeColorCustom,\n labelStyle,\n onLayout,\n index: tabIndex,\n pressColor,\n pressOpacity,\n renderBadge,\n renderIcon,\n defaultTabWidth,\n routesLength,\n renderLabel: renderLabelCustom,\n}: TabBarItemInternalProps<T>) => {\n const labelColorFromStyle = StyleSheet.flatten(labelStyle || {}).color;\n\n const activeColor =\n activeColorCustom !== undefined\n ? activeColorCustom\n : typeof labelColorFromStyle === 'string'\n ? labelColorFromStyle\n : DEFAULT_ACTIVE_COLOR;\n const inactiveColor =\n inactiveColorCustom !== undefined\n ? inactiveColorCustom\n : typeof labelColorFromStyle === 'string'\n ? labelColorFromStyle\n : DEFAULT_INACTIVE_COLOR;\n\n const activeOpacity = getActiveOpacity(position, routesLength, tabIndex);\n const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);\n\n let icon: React.ReactNode | null = null;\n let label: React.ReactNode | null = null;\n\n if (renderIcon) {\n const activeIcon = renderIcon({\n route,\n focused: true,\n color: activeColor,\n });\n const inactiveIcon = renderIcon({\n route,\n focused: false,\n color: inactiveColor,\n });\n\n if (inactiveIcon != null && activeIcon != null) {\n icon = (\n <View style={styles.icon}>\n <Animated.View style={{ opacity: inactiveOpacity }}>\n {inactiveIcon}\n </Animated.View>\n <Animated.View\n style={[StyleSheet.absoluteFill, { opacity: activeOpacity }]}\n >\n {activeIcon}\n </Animated.View>\n </View>\n );\n }\n }\n\n const renderLabel =\n renderLabelCustom !== undefined\n ? renderLabelCustom\n : (labelProps: { route: T; color: string }) => {\n const labelText = getLabelText({ route: labelProps.route });\n\n if (typeof labelText === 'string') {\n return (\n <Animated.Text\n style={[\n styles.label,\n icon ? { marginTop: 0 } : null,\n labelStyle,\n { color: labelProps.color },\n ]}\n >\n {labelText}\n </Animated.Text>\n );\n }\n\n return labelText;\n };\n\n if (renderLabel) {\n const activeLabel = renderLabel({\n route,\n focused: true,\n color: activeColor,\n });\n const inactiveLabel = renderLabel({\n route,\n focused: false,\n color: inactiveColor,\n });\n\n label = (\n <View>\n <Animated.View style={{ opacity: inactiveOpacity }}>\n {inactiveLabel}\n </Animated.View>\n <Animated.View\n style={[StyleSheet.absoluteFill, { opacity: activeOpacity }]}\n >\n {activeLabel}\n </Animated.View>\n </View>\n );\n }\n\n const tabStyle = StyleSheet.flatten(style);\n const isWidthSet = tabStyle?.width !== undefined;\n\n const tabContainerStyle: ViewStyle | null = isWidthSet\n ? null\n : { width: defaultTabWidth };\n\n const scene = { route };\n\n let accessibilityLabel = getAccessibilityLabel(scene);\n\n accessibilityLabel =\n typeof accessibilityLabel !== 'undefined'\n ? accessibilityLabel\n : getLabelText(scene);\n\n const badge = renderBadge ? renderBadge(scene) : null;\n\n return (\n <PlatformPressable\n android_ripple={{ borderless: true }}\n testID={getTestID(scene)}\n accessible={getAccessible(scene)}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"tab\"\n accessibilityState={{ selected: isFocused }}\n // @ts-ignore: this is to support older React Native versions\n accessibilityStates={isFocused ? ['selected'] : []}\n pressColor={pressColor}\n pressOpacity={pressOpacity}\n delayPressIn={0}\n onLayout={onLayout}\n onPress={onPress}\n onLongPress={onLongPress}\n style={[styles.pressable, tabContainerStyle]}\n >\n <View pointerEvents=\"none\" style={[styles.item, tabStyle]}>\n {icon}\n {label}\n {badge != null ? <View style={styles.badge}>{badge}</View> : null}\n </View>\n </PlatformPressable>\n );\n};\n\nconst MemoizedTabBarItemInternal = React.memo(\n TabBarItemInternal\n) as typeof TabBarItemInternal;\n\nfunction TabBarItem<T extends Route>(props: Props<T>) {\n const { onPress, onLongPress, onLayout, navigationState, route, ...rest } =\n props;\n const onPressLatest = useLatestCallback(onPress);\n const onLongPressLatest = useLatestCallback(onLongPress);\n const onLayoutLatest = useLatestCallback(onLayout ? onLayout : () => {});\n\n const tabIndex = navigationState.routes.indexOf(route);\n\n return (\n <MemoizedTabBarItemInternal\n {...rest}\n onPress={onPressLatest}\n onLayout={onLayoutLatest}\n onLongPress={onLongPressLatest}\n isFocused={navigationState.index === tabIndex}\n route={route}\n index={tabIndex}\n routesLength={navigationState.routes.length}\n />\n );\n}\n\nexport default TabBarItem;\n\nconst styles = StyleSheet.create({\n label: {\n margin: 4,\n backgroundColor: 'transparent',\n textTransform: 'uppercase',\n },\n icon: {\n margin: 2,\n },\n item: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n padding: 10,\n minHeight: 48,\n },\n badge: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n pressable: {\n // The label is not pressable on Windows\n // Adding backgroundColor: 'transparent' seems to fix it\n backgroundColor: 'transparent',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","StyleSheet","View","useLatestCallback","PlatformPressable","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","getAccessibilityLabel","getAccessible","getLabelText","getTestID","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","label","activeIcon","focused","inactiveIcon","styles","opacity","absoluteFill","labelProps","labelText","marginTop","activeLabel","inactiveLabel","tabStyle","isWidthSet","width","tabContainerStyle","scene","accessibilityLabel","badge","selected","pressable","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","backgroundColor","textTransform","flex","alignItems","justifyContent","padding","minHeight","top","right"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import * as React from 'react';
4
3
  import { StyleSheet, View } from 'react-native';
5
4
  import Pager from './Pager';
@@ -23,20 +22,19 @@ export default function TabView(_ref) {
23
22
  style,
24
23
  swipeEnabled = true,
25
24
  tabBarPosition = 'top',
26
- animationEnabled = true
25
+ animationEnabled = true,
26
+ overScrollMode
27
27
  } = _ref;
28
28
  const [layout, setLayout] = React.useState({
29
29
  width: 0,
30
30
  height: 0,
31
31
  ...initialLayout
32
32
  });
33
-
34
33
  const jumpToIndex = index => {
35
34
  if (index !== navigationState.index) {
36
35
  onIndexChange(index);
37
36
  }
38
37
  };
39
-
40
38
  const handleLayout = e => {
41
39
  const {
42
40
  height,
@@ -46,14 +44,12 @@ export default function TabView(_ref) {
46
44
  if (prevLayout.width === width && prevLayout.height === height) {
47
45
  return prevLayout;
48
46
  }
49
-
50
47
  return {
51
48
  height,
52
49
  width
53
50
  };
54
51
  });
55
52
  };
56
-
57
53
  return /*#__PURE__*/React.createElement(View, {
58
54
  onLayout: handleLayout,
59
55
  style: [styles.pager, style]
@@ -66,6 +62,7 @@ export default function TabView(_ref) {
66
62
  onSwipeEnd: onSwipeEnd,
67
63
  onIndexChange: jumpToIndex,
68
64
  animationEnabled: animationEnabled,
65
+ overScrollMode: overScrollMode,
69
66
  style: pagerStyle
70
67
  }, _ref2 => {
71
68
  let {
@@ -81,7 +78,8 @@ export default function TabView(_ref) {
81
78
  layout,
82
79
  jumpTo
83
80
  };
84
- return /*#__PURE__*/React.createElement(React.Fragment, null, tabBarPosition === 'top' && renderTabBar({ ...sceneRendererProps,
81
+ return /*#__PURE__*/React.createElement(React.Fragment, null, tabBarPosition === 'top' && renderTabBar({
82
+ ...sceneRendererProps,
85
83
  navigationState
86
84
  }), render(navigationState.routes.map((route, i) => {
87
85
  return /*#__PURE__*/React.createElement(SceneView, _extends({}, sceneRendererProps, {
@@ -100,11 +98,13 @@ export default function TabView(_ref) {
100
98
  } = _ref3;
101
99
  return loading ? renderLazyPlaceholder({
102
100
  route
103
- }) : renderScene({ ...sceneRendererProps,
101
+ }) : renderScene({
102
+ ...sceneRendererProps,
104
103
  route
105
104
  });
106
105
  });
107
- })), tabBarPosition === 'bottom' && renderTabBar({ ...sceneRendererProps,
106
+ })), tabBarPosition === 'bottom' && renderTabBar({
107
+ ...sceneRendererProps,
108
108
  navigationState
109
109
  }));
110
110
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Pager","SceneView","TabBar","TabView","onIndexChange","navigationState","renderScene","initialLayout","keyboardDismissMode","lazy","lazyPreloadDistance","onSwipeStart","onSwipeEnd","renderLazyPlaceholder","renderTabBar","props","sceneContainerStyle","pagerStyle","style","swipeEnabled","tabBarPosition","animationEnabled","layout","setLayout","useState","width","height","jumpToIndex","index","handleLayout","e","nativeEvent","prevLayout","styles","pager","position","render","addEnterListener","jumpTo","sceneRendererProps","routes","map","route","i","key","loading","create","flex","overflow"],"sources":["TabView.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport Pager from './Pager';\nimport SceneView from './SceneView';\nimport TabBar from './TabBar';\nimport type {\n Layout,\n NavigationState,\n PagerProps,\n Route,\n SceneRendererProps,\n} from './types';\n\nexport type Props<T extends Route> = PagerProps & {\n onIndexChange: (index: number) => void;\n navigationState: NavigationState<T>;\n renderScene: (props: SceneRendererProps & { route: T }) => React.ReactNode;\n renderLazyPlaceholder?: (props: { route: T }) => React.ReactNode;\n renderTabBar?: (\n props: SceneRendererProps & { navigationState: NavigationState<T> }\n ) => React.ReactNode;\n tabBarPosition?: 'top' | 'bottom';\n initialLayout?: Partial<Layout>;\n lazy?: ((props: { route: T }) => boolean) | boolean;\n lazyPreloadDistance?: number;\n sceneContainerStyle?: StyleProp<ViewStyle>;\n pagerStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<ViewStyle>;\n};\n\nexport default function TabView<T extends Route>({\n onIndexChange,\n navigationState,\n renderScene,\n initialLayout,\n keyboardDismissMode = 'auto',\n lazy = false,\n lazyPreloadDistance = 0,\n onSwipeStart,\n onSwipeEnd,\n renderLazyPlaceholder = () => null,\n renderTabBar = (props) => <TabBar {...props} />,\n sceneContainerStyle,\n pagerStyle,\n style,\n swipeEnabled = true,\n tabBarPosition = 'top',\n animationEnabled = true,\n}: Props<T>) {\n const [layout, setLayout] = React.useState({\n width: 0,\n height: 0,\n ...initialLayout,\n });\n\n const jumpToIndex = (index: number) => {\n if (index !== navigationState.index) {\n onIndexChange(index);\n }\n };\n\n const handleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setLayout((prevLayout) => {\n if (prevLayout.width === width && prevLayout.height === height) {\n return prevLayout;\n }\n\n return { height, width };\n });\n };\n\n return (\n <View onLayout={handleLayout} style={[styles.pager, style]}>\n <Pager\n layout={layout}\n navigationState={navigationState}\n keyboardDismissMode={keyboardDismissMode}\n swipeEnabled={swipeEnabled}\n onSwipeStart={onSwipeStart}\n onSwipeEnd={onSwipeEnd}\n onIndexChange={jumpToIndex}\n animationEnabled={animationEnabled}\n style={pagerStyle}\n >\n {({ position, render, addEnterListener, jumpTo }) => {\n // All of the props here must not change between re-renders\n // This is crucial to optimizing the routes with PureComponent\n const sceneRendererProps = {\n position,\n layout,\n jumpTo,\n };\n\n return (\n <React.Fragment>\n {tabBarPosition === 'top' &&\n renderTabBar({\n ...sceneRendererProps,\n navigationState,\n })}\n {render(\n navigationState.routes.map((route, i) => {\n return (\n <SceneView\n {...sceneRendererProps}\n addEnterListener={addEnterListener}\n key={route.key}\n index={i}\n lazy={typeof lazy === 'function' ? lazy({ route }) : lazy}\n lazyPreloadDistance={lazyPreloadDistance}\n navigationState={navigationState}\n style={sceneContainerStyle}\n >\n {({ loading }) =>\n loading\n ? renderLazyPlaceholder({ route })\n : renderScene({\n ...sceneRendererProps,\n route,\n })\n }\n </SceneView>\n );\n })\n )}\n {tabBarPosition === 'bottom' &&\n renderTabBar({\n ...sceneRendererProps,\n navigationState,\n })}\n </React.Fragment>\n );\n }}\n </Pager>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n pager: {\n flex: 1,\n overflow: 'hidden',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","StyleSheet","View","Pager","SceneView","TabBar","TabView","onIndexChange","navigationState","renderScene","initialLayout","keyboardDismissMode","lazy","lazyPreloadDistance","onSwipeStart","onSwipeEnd","renderLazyPlaceholder","renderTabBar","props","sceneContainerStyle","pagerStyle","style","swipeEnabled","tabBarPosition","animationEnabled","overScrollMode","layout","setLayout","useState","width","height","jumpToIndex","index","handleLayout","e","nativeEvent","prevLayout","styles","pager","position","render","addEnterListener","jumpTo","sceneRendererProps","routes","map","route","i","key","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["TabView.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["default","SceneMap","TabBar","TabBarIndicator","TabBarItem","TabView"],"sources":["index.tsx"],"sourcesContent":["export { default as SceneMap } from './SceneMap';\nexport type { Props as TabBarProps } from './TabBar';\nexport { default as TabBar } from './TabBar';\nexport type { Props as TabBarIndicatorProps } from './TabBarIndicator';\nexport { default as TabBarIndicator } from './TabBarIndicator';\nexport type { Props as TabBarItemProps } from './TabBarItem';\nexport { default as TabBarItem } from './TabBarItem';\nexport type { Props as TabViewProps } from './TabView';\nexport { default as TabView } from './TabView';\nexport type { NavigationState, Route, SceneRendererProps } from './types';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAApB,QAAoC,YAApC;AAEA,SAASD,OAAO,IAAIE,MAApB,QAAkC,UAAlC;AAEA,SAASF,OAAO,IAAIG,eAApB,QAA2C,mBAA3C;AAEA,SAASH,OAAO,IAAII,UAApB,QAAsC,cAAtC;AAEA,SAASJ,OAAO,IAAIK,OAApB,QAAmC,WAAnC"}
1
+ {"version":3,"names":["default","SceneMap","TabBar","TabBarIndicator","TabBarItem","TabView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAEhD,SAASD,OAAO,IAAIE,MAAM,QAAQ,UAAU;AAE5C,SAASF,OAAO,IAAIG,eAAe,QAAQ,mBAAmB;AAE9D,SAASH,OAAO,IAAII,UAAU,QAAQ,cAAc;AAEpD,SAASJ,OAAO,IAAIK,OAAO,QAAQ,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type { Animated } from 'react-native';\nimport type { PagerViewProps } from 'react-native-pager-view';\n\nexport type Route = {\n key: string;\n icon?: string;\n title?: string;\n accessible?: boolean;\n accessibilityLabel?: string;\n testID?: string;\n};\n\nexport type Event = {\n defaultPrevented: boolean;\n preventDefault(): void;\n};\n\nexport type Scene<T extends Route> = {\n route: T;\n};\n\nexport type NavigationState<T extends Route> = {\n index: number;\n routes: T[];\n};\n\nexport type Layout = {\n width: number;\n height: number;\n};\n\nexport type Listener = (value: number) => void;\n\nexport type SceneRendererProps = {\n layout: Layout;\n position: Animated.AnimatedInterpolation;\n jumpTo: (key: string) => void;\n};\n\nexport type EventEmitterProps = {\n addEnterListener: (listener: Listener) => () => void;\n};\n\nexport type PagerProps = Omit<\n PagerViewProps,\n | 'initialPage'\n | 'scrollEnabled'\n | 'onPageScroll'\n | 'onPageSelected'\n | 'onPageScrollStateChanged'\n | 'keyboardDismissMode'\n | 'children'\n> & {\n keyboardDismissMode?: 'none' | 'on-drag' | 'auto';\n swipeEnabled?: boolean;\n animationEnabled?: boolean;\n onSwipeStart?: () => void;\n onSwipeEnd?: () => void;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
@@ -2,11 +2,9 @@ import * as React from 'react';
2
2
  import { Animated } from 'react-native';
3
3
  export default function useAnimatedValue(initialValue) {
4
4
  const lazyRef = React.useRef();
5
-
6
5
  if (lazyRef.current === undefined) {
7
6
  lazyRef.current = new Animated.Value(initialValue);
8
7
  }
9
-
10
8
  return lazyRef.current;
11
9
  }
12
10
  //# sourceMappingURL=useAnimatedValue.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","useAnimatedValue","initialValue","lazyRef","useRef","current","undefined","Value"],"sources":["useAnimatedValue.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Animated } from 'react-native';\n\nexport default function useAnimatedValue(initialValue: number) {\n const lazyRef = React.useRef<Animated.Value>();\n\n if (lazyRef.current === undefined) {\n lazyRef.current = new Animated.Value(initialValue);\n }\n\n return lazyRef.current as Animated.Value;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,eAAe,SAASC,gBAAT,CAA0BC,YAA1B,EAAgD;EAC7D,MAAMC,OAAO,GAAGJ,KAAK,CAACK,MAAN,EAAhB;;EAEA,IAAID,OAAO,CAACE,OAAR,KAAoBC,SAAxB,EAAmC;IACjCH,OAAO,CAACE,OAAR,GAAkB,IAAIL,QAAQ,CAACO,KAAb,CAAmBL,YAAnB,CAAlB;EACD;;EAED,OAAOC,OAAO,CAACE,OAAf;AACD"}
1
+ {"version":3,"names":["React","Animated","useAnimatedValue","initialValue","lazyRef","useRef","current","undefined","Value"],"sourceRoot":"../../src","sources":["useAnimatedValue.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,eAAe,SAASC,gBAAgB,CAACC,YAAoB,EAAE;EAC7D,MAAMC,OAAO,GAAGJ,KAAK,CAACK,MAAM,EAAkB;EAE9C,IAAID,OAAO,CAACE,OAAO,KAAKC,SAAS,EAAE;IACjCH,OAAO,CAACE,OAAO,GAAG,IAAIL,QAAQ,CAACO,KAAK,CAACL,YAAY,CAAC;EACpD;EAEA,OAAOC,OAAO,CAACE,OAAO;AACxB"}
@@ -1 +1,2 @@
1
1
  export { default } from './PagerViewAdapter';
2
+ //# sourceMappingURL=Pager.android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pager.android.d.ts","sourceRoot":"","sources":["../../../src/Pager.android.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1,2 @@
1
1
  export { default } from './PanResponderAdapter';
2
+ //# sourceMappingURL=Pager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pager.d.ts","sourceRoot":"","sources":["../../../src/Pager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1,2 @@
1
1
  export { default } from './PagerViewAdapter';
2
+ //# sourceMappingURL=Pager.ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pager.ios.d.ts","sourceRoot":"","sources":["../../../src/Pager.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -12,3 +12,4 @@ declare type Props<T extends Route> = PagerProps & {
12
12
  };
13
13
  export default function PagerViewAdapter<T extends Route>({ keyboardDismissMode, swipeEnabled, navigationState, onIndexChange, onSwipeStart, onSwipeEnd, children, style, animationEnabled, ...rest }: Props<T>): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
14
14
  export {};
15
+ //# sourceMappingURL=PagerViewAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagerViewAdapter.d.ts","sourceRoot":"","sources":["../../../src/PagerViewAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAK9D,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAKjB,aAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC;QAGzC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,CAAC,SAAS,KAAK,EAAE,EACxD,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,CAAC,CAAC,sEA+HV"}