@zoverdoser/react-native-tab-view 1.0.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/PagerViewAdapter.js +1 -1
- package/lib/module/PagerViewAdapter.js.map +1 -1
- package/lib/module/PanResponderAdapter.js +1 -1
- package/lib/module/PanResponderAdapter.js.map +1 -1
- package/lib/module/TabBar.js +7 -30
- package/lib/module/TabBar.js.map +1 -1
- package/lib/module/TabBarIndicator.js +110 -35
- package/lib/module/TabBarIndicator.js.map +1 -1
- package/lib/module/TabBarItem.js +1 -1
- package/lib/module/TabBarItem.js.map +1 -1
- package/lib/module/TabBarItemLabel.js.map +1 -1
- package/lib/module/useAnimatedValue.js.map +1 -1
- package/lib/typescript/src/Pager.android.d.ts +1 -1
- package/lib/typescript/src/Pager.android.d.ts.map +1 -1
- package/lib/typescript/src/Pager.d.ts +1 -1
- package/lib/typescript/src/Pager.d.ts.map +1 -1
- package/lib/typescript/src/Pager.ios.d.ts +1 -1
- package/lib/typescript/src/Pager.ios.d.ts.map +1 -1
- package/lib/typescript/src/PagerViewAdapter.d.ts +1 -1
- package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
- package/lib/typescript/src/PanResponderAdapter.d.ts +1 -1
- package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
- package/lib/typescript/src/SceneMap.d.ts +1 -1
- package/lib/typescript/src/SceneMap.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts +1 -1
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/TabBar.d.ts +3 -3
- package/lib/typescript/src/TabBar.d.ts.map +1 -1
- package/lib/typescript/src/TabBarIndicator.d.ts +1 -1
- package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
- package/lib/typescript/src/TabBarItem.d.ts +1 -1
- package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
- package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -1
- package/lib/typescript/src/TabView.d.ts +1 -1
- package/lib/typescript/src/TabView.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +10 -10
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/PagerViewAdapter.tsx +1 -1
- package/src/PanResponderAdapter.tsx +1 -1
- package/src/TabBar.tsx +11 -45
- package/src/TabBarIndicator.tsx +182 -41
- package/src/TabBarItem.tsx +1 -1
- package/src/TabBarItemLabel.tsx +1 -0
- package/src/useAnimatedValue.tsx +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { PagerViewAdapter as Pager } from './PagerViewAdapter';
|
|
1
|
+
export { PagerViewAdapter as Pager } from './PagerViewAdapter.js';
|
|
2
2
|
//# sourceMappingURL=Pager.ios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pager.ios.d.ts","sourceRoot":"","sources":["../../../src/Pager.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Pager.ios.d.ts","sourceRoot":"","sources":["../../../src/Pager.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,KAAK,EAAE,MAAM,uBAAoB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Animated } from 'react-native';
|
|
3
|
-
import type { EventEmitterProps, NavigationState, PagerProps, Route } from './types';
|
|
3
|
+
import type { EventEmitterProps, NavigationState, PagerProps, Route } from './types.js';
|
|
4
4
|
type Props<T extends Route> = PagerProps & {
|
|
5
5
|
onIndexChange: (index: number) => void;
|
|
6
6
|
onTabSelect?: (props: {
|
|
@@ -1 +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,EAAkC,MAAM,cAAc,CAAC;AAMxE,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,
|
|
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,EAAkC,MAAM,cAAc,CAAC;AAMxE,OAAO,KAAK,EACV,iBAAiB,EAEjB,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,YAAS,CAAC;AAKjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,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;AAIF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,EAAE,EAChD,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,CAAC,CAAC,0EAgIV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Animated } from 'react-native';
|
|
3
|
-
import type { EventEmitterProps, Layout, NavigationState, PagerProps, Route } from './types';
|
|
3
|
+
import type { EventEmitterProps, Layout, NavigationState, PagerProps, Route } from './types.js';
|
|
4
4
|
type Props<T extends Route> = PagerProps & {
|
|
5
5
|
layout: Layout;
|
|
6
6
|
onIndexChange: (index: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,
|
|
1
|
+
{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,YAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,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;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EA8QV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneMap.d.ts","sourceRoot":"","sources":["../../../src/SceneMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SceneMap.d.ts","sourceRoot":"","sources":["../../../src/SceneMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAS,CAAC;AAElD,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,GAAG,CAAC;CACZ,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAavC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,IACnE,6BAA6B,UAAU,6CAShD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
import type { EventEmitterProps, NavigationState, Route, SceneRendererProps } from './types';
|
|
3
|
+
import type { EventEmitterProps, NavigationState, Route, SceneRendererProps } from './types.js';
|
|
4
4
|
type Props<T extends Route> = SceneRendererProps & EventEmitterProps & {
|
|
5
5
|
navigationState: NavigationState<T>;
|
|
6
6
|
lazy: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,YAAS,CAAC;AAEjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAC9C,iBAAiB,GAAG;IAClB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,wBAAgB,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,EACzC,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,GACN,EAAE,KAAK,CAAC,CAAC,CAAC,2CAqEV"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type PressableAndroidRippleConfig, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
import { type Props as IndicatorProps } from './TabBarIndicator';
|
|
4
|
-
import { type Props as TabBarItemProps } from './TabBarItem';
|
|
5
|
-
import type { AnimatedStyles, Event, LocaleDirection, NavigationState, Route, Scene, SceneRendererProps, TabDescriptor } from './types';
|
|
3
|
+
import { type Props as IndicatorProps } from './TabBarIndicator.js';
|
|
4
|
+
import { type Props as TabBarItemProps } from './TabBarItem.js';
|
|
5
|
+
import type { AnimatedStyles, Event, LocaleDirection, NavigationState, Route, Scene, SceneRendererProps, TabDescriptor } from './types.js';
|
|
6
6
|
export type Props<T extends Route> = SceneRendererProps & {
|
|
7
7
|
navigationState: NavigationState<T>;
|
|
8
8
|
scrollEnabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
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,EAGd,KAAK,SAAS,
|
|
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,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,KAAK,IAAI,cAAc,EAE7B,MAAM,sBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,KAAK,IAAI,eAAe,EAAc,MAAM,iBAAc,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EAEL,eAAe,EACf,eAAe,EACf,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAS,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,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,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,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;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAkRF,wBAAgB,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,EACtC,eAAwC,EACxC,GAAO,EACP,aAAa,EACb,MAAM,EACN,eAAe,EACf,QAAQ,EACR,OAAO,EACP,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,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,cAAc,GACf,EAAE,KAAK,CAAC,CAAC,CAAC,2CA0SV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
import type { LocaleDirection, NavigationState, Route, SceneRendererProps } from './types';
|
|
3
|
+
import type { LocaleDirection, NavigationState, Route, SceneRendererProps } from './types.js';
|
|
4
4
|
export type GetTabWidth = (index: number) => number;
|
|
5
5
|
export type Props<T extends Route> = SceneRendererProps & {
|
|
6
6
|
navigationState: NavigationState<T>;
|
|
@@ -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,
|
|
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,YAAS,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;AAsGF,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,2CAmLV"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Animated, type LayoutChangeEvent, type PressableAndroidRippleConfig, type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
-
import type { AnimatedStyles, NavigationState, Route, TabDescriptor } from './types';
|
|
2
|
+
import type { AnimatedStyles, NavigationState, Route, TabDescriptor } from './types.js';
|
|
3
3
|
export type Props<T extends Route> = TabDescriptor<T> & {
|
|
4
4
|
position: Animated.AnimatedInterpolation<number>;
|
|
5
5
|
route: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EAEtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,KAAK,EACL,aAAa,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,KAAK,iBAAiB,EAEtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,KAAK,EACL,aAAa,EACd,MAAM,YAAS,CAAC;AAEjB,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,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,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAkNF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsB1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBarItemLabel.d.ts","sourceRoot":"","sources":["../../../src/TabBarItemLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"TabBarItemLabel.d.ts","sourceRoot":"","sources":["../../../src/TabBarItemLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEvE,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,eAAe,6FAOvB,oBAAoB,oDAmBxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
-
import type { Layout, LocaleDirection, NavigationState, PagerProps, Route, SceneRendererProps, TabDescriptor } from './types';
|
|
3
|
+
import type { Layout, LocaleDirection, NavigationState, PagerProps, Route, SceneRendererProps, TabDescriptor } from './types.js';
|
|
4
4
|
export type Props<T extends Route> = Omit<PagerProps, 'layoutDirection'> & {
|
|
5
5
|
onIndexChange: (index: number) => void;
|
|
6
6
|
onTabSelect?: (props: {
|
|
@@ -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,EAClB,aAAa,EACd,MAAM,
|
|
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,EAClB,aAAa,EACd,MAAM,YAAS,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,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,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;QAC1B,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;KACvD,KACE,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,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;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAIF,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,EACvC,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,EACX,aAAa,EACb,mBAA4B,EAC5B,IAAY,EACZ,mBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,qBAAoD,EAEpD,YAA+C,EAC/C,UAAU,EACV,KAAK,EACL,SAA4D,EAC5D,YAAmB,EACnB,cAAsB,EACtB,gBAAuB,EACvB,cAAc,EACd,OAAO,EAAE,YAAY,EACrB,aAAa,GACd,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsHV"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { SceneMap } from './SceneMap';
|
|
2
|
-
export type { Props as TabBarProps } from './TabBar';
|
|
3
|
-
export { TabBar } from './TabBar';
|
|
4
|
-
export type { Props as TabBarIndicatorProps } from './TabBarIndicator';
|
|
5
|
-
export { TabBarIndicator } from './TabBarIndicator';
|
|
6
|
-
export type { Props as TabBarItemProps } from './TabBarItem';
|
|
7
|
-
export { TabBarItem } from './TabBarItem';
|
|
8
|
-
export type { Props as TabViewProps } from './TabView';
|
|
9
|
-
export { TabView } from './TabView';
|
|
10
|
-
export type { AnimatedStyles, NavigationState, Route, SceneRendererProps, TabDescriptor, } from './types';
|
|
1
|
+
export { SceneMap } from './SceneMap.js';
|
|
2
|
+
export type { Props as TabBarProps } from './TabBar.js';
|
|
3
|
+
export { TabBar } from './TabBar.js';
|
|
4
|
+
export type { Props as TabBarIndicatorProps } from './TabBarIndicator.js';
|
|
5
|
+
export { TabBarIndicator } from './TabBarIndicator.js';
|
|
6
|
+
export type { Props as TabBarItemProps } from './TabBarItem.js';
|
|
7
|
+
export { TabBarItem } from './TabBarItem.js';
|
|
8
|
+
export type { Props as TabViewProps } from './TabView.js';
|
|
9
|
+
export { TabView } from './TabView.js';
|
|
10
|
+
export type { AnimatedStyles, NavigationState, Route, SceneRendererProps, TabDescriptor, } from './types.js';
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAY,CAAC;AACtC,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,YAAY,EAAE,KAAK,IAAI,oBAAoB,EAAE,MAAM,sBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAmB,CAAC;AACpD,YAAY,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,iBAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,cAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAW,CAAC;AACpC,YAAY,EACV,cAAc,EACd,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedValue.d.ts","sourceRoot":"","sources":["../../../src/useAnimatedValue.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useAnimatedValue.d.ts","sourceRoot":"","sources":["../../../src/useAnimatedValue.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAQrE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zoverdoser/react-native-tab-view",
|
|
3
3
|
"description": "Tab view component for React Native",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@jest/globals": "^30.0.0",
|
|
51
|
-
"@testing-library/react-native": "^13.2.
|
|
51
|
+
"@testing-library/react-native": "^13.2.1",
|
|
52
52
|
"del-cli": "^6.0.0",
|
|
53
|
-
"react": "19.
|
|
54
|
-
"react-native": "0.
|
|
55
|
-
"react-native-builder-bob": "^0.
|
|
56
|
-
"react-native-pager-view": "6.
|
|
57
|
-
"react-test-renderer": "19.
|
|
58
|
-
"typescript": "^5.
|
|
53
|
+
"react": "19.1.0",
|
|
54
|
+
"react-native": "0.81.5",
|
|
55
|
+
"react-native-builder-bob": "^0.42.1",
|
|
56
|
+
"react-native-pager-view": "6.9.1",
|
|
57
|
+
"react-test-renderer": "19.1.0",
|
|
58
|
+
"typescript": "^5.9.2"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"react": ">= 18.2.0",
|
package/src/PagerViewAdapter.tsx
CHANGED
|
@@ -117,7 +117,7 @@ export function PanResponderAdapter<T extends Route>({
|
|
|
117
117
|
onTabSelectRef.current = onTabSelect;
|
|
118
118
|
});
|
|
119
119
|
|
|
120
|
-
React.
|
|
120
|
+
React.useLayoutEffect(() => {
|
|
121
121
|
const offset = -navigationStateRef.current.index * layout.width;
|
|
122
122
|
|
|
123
123
|
panX.setValue(offset);
|
package/src/TabBar.tsx
CHANGED
|
@@ -12,9 +12,7 @@ import {
|
|
|
12
12
|
StyleSheet,
|
|
13
13
|
View,
|
|
14
14
|
type ViewStyle,
|
|
15
|
-
type ViewToken,
|
|
16
15
|
} from 'react-native';
|
|
17
|
-
import useLatestCallback from 'use-latest-callback';
|
|
18
16
|
|
|
19
17
|
import {
|
|
20
18
|
type Props as IndicatorProps,
|
|
@@ -363,7 +361,6 @@ export function TabBar<T extends Route>({
|
|
|
363
361
|
const flatListRef = React.useRef<FlatList | null>(null);
|
|
364
362
|
const isFirst = React.useRef(true);
|
|
365
363
|
const scrollAmount = useAnimatedValue(0);
|
|
366
|
-
const measuredTabWidths = React.useRef<Record<string, number>>({});
|
|
367
364
|
const { routes } = navigationState;
|
|
368
365
|
const flattenedTabWidth = getFlattenedTabWidth(tabStyle);
|
|
369
366
|
const isWidthDynamic = flattenedTabWidth === 'auto';
|
|
@@ -443,6 +440,10 @@ export function TabBar<T extends Route>({
|
|
|
443
440
|
[direction, layout.width, scrollAmount, tabBarWidth]
|
|
444
441
|
);
|
|
445
442
|
|
|
443
|
+
const measuredTabWidths = React.useRef<Record<string, number>>({});
|
|
444
|
+
const animationFrameHandle =
|
|
445
|
+
React.useRef<ReturnType<typeof requestAnimationFrame>>(null);
|
|
446
|
+
|
|
446
447
|
const renderItem = React.useCallback(
|
|
447
448
|
({ item: route, index }: ListRenderItemInfo<T>) => {
|
|
448
449
|
const {
|
|
@@ -457,28 +458,13 @@ export function TabBar<T extends Route>({
|
|
|
457
458
|
? (e: LayoutChangeEvent) => {
|
|
458
459
|
measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
|
|
459
460
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
// If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
|
|
463
|
-
if (
|
|
464
|
-
routes.length > MEASURE_PER_BATCH &&
|
|
465
|
-
index === MEASURE_PER_BATCH &&
|
|
466
|
-
routes
|
|
467
|
-
.slice(0, MEASURE_PER_BATCH)
|
|
468
|
-
.every(
|
|
469
|
-
(r) => typeof measuredTabWidths.current[r.key] === 'number'
|
|
470
|
-
)
|
|
471
|
-
) {
|
|
472
|
-
setTabWidths({ ...measuredTabWidths.current });
|
|
473
|
-
} else if (
|
|
474
|
-
routes.every(
|
|
475
|
-
(r) => typeof measuredTabWidths.current[r.key] === 'number'
|
|
476
|
-
)
|
|
477
|
-
) {
|
|
478
|
-
// When we have measured widths for all of the tabs, we should updates the state
|
|
479
|
-
// We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
|
|
480
|
-
setTabWidths({ ...measuredTabWidths.current });
|
|
461
|
+
if (animationFrameHandle.current != null) {
|
|
462
|
+
cancelAnimationFrame(animationFrameHandle.current);
|
|
481
463
|
}
|
|
464
|
+
|
|
465
|
+
animationFrameHandle.current = requestAnimationFrame(() => {
|
|
466
|
+
setTabWidths({ ...measuredTabWidths.current });
|
|
467
|
+
});
|
|
482
468
|
}
|
|
483
469
|
: undefined;
|
|
484
470
|
|
|
@@ -597,32 +583,13 @@ export function TabBar<T extends Route>({
|
|
|
597
583
|
[scrollAmount]
|
|
598
584
|
);
|
|
599
585
|
|
|
600
|
-
const handleViewableItemsChanged = useLatestCallback(
|
|
601
|
-
({ changed }: { changed: ViewToken[] }) => {
|
|
602
|
-
if (routes.length <= MEASURE_PER_BATCH) {
|
|
603
|
-
return;
|
|
604
|
-
}
|
|
605
|
-
// Get next vievable item
|
|
606
|
-
const item = changed[changed.length - 1];
|
|
607
|
-
const index = item?.index || 0;
|
|
608
|
-
if (
|
|
609
|
-
item.isViewable &&
|
|
610
|
-
(index % 10 === 0 ||
|
|
611
|
-
index === navigationState.index ||
|
|
612
|
-
index === routes.length - 1)
|
|
613
|
-
) {
|
|
614
|
-
setTabWidths({ ...measuredTabWidths.current });
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
);
|
|
618
|
-
|
|
619
586
|
return (
|
|
620
587
|
<Animated.View onLayout={handleLayout} style={[styles.tabBar, style]}>
|
|
621
588
|
<Animated.View
|
|
622
589
|
pointerEvents="none"
|
|
623
590
|
style={[
|
|
624
591
|
styles.indicatorContainer,
|
|
625
|
-
scrollEnabled ? { transform: [{ translateX }]
|
|
592
|
+
scrollEnabled ? { transform: [{ translateX }] } : null,
|
|
626
593
|
scrollEnabled ? { width: tabBarWidth } : null,
|
|
627
594
|
indicatorContainerStyle,
|
|
628
595
|
]}
|
|
@@ -668,7 +635,6 @@ export function TabBar<T extends Route>({
|
|
|
668
635
|
scrollEnabled={scrollEnabled}
|
|
669
636
|
bounces={bounces}
|
|
670
637
|
initialNumToRender={MEASURE_PER_BATCH}
|
|
671
|
-
onViewableItemsChanged={handleViewableItemsChanged}
|
|
672
638
|
alwaysBounceHorizontal={false}
|
|
673
639
|
scrollsToTop={false}
|
|
674
640
|
showsHorizontalScrollIndicator={false}
|