Skip to content

Commit 3c14473

Browse files
fix: make it possible to make header absolute (own use-case)
1 parent 1c15e32 commit 3c14473

File tree

5 files changed

+12
-2
lines changed

5 files changed

+12
-2
lines changed

src/Swiper.native.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ function SwiperNative(props: SwiperProps) {
2323
mode,
2424
showLeadingSpace,
2525
disableSwipe,
26+
tabHeaderStyle,
2627
} = props;
2728
const { index, goTo } = React.useContext(TabsContext);
2829
const indexRef = React.useRef<number>(index || 0);
@@ -75,6 +76,7 @@ function SwiperNative(props: SwiperProps) {
7576
showLeadingSpace,
7677
uppercase,
7778
mode,
79+
tabHeaderStyle,
7880
};
7981
return (
8082
<>

src/Swiper.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ function Swiper(props: SwiperProps) {
1515
showLeadingSpace,
1616
uppercase,
1717
mode,
18+
tabHeaderStyle,
1819
} = props;
1920

2021
const index = useTabIndex();
@@ -37,6 +38,7 @@ function Swiper(props: SwiperProps) {
3738
showLeadingSpace,
3839
uppercase,
3940
mode,
41+
tabHeaderStyle,
4042
};
4143

4244
return (

src/Tabs.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ function Tabs({
1717
showTextLabel = true,
1818
showLeadingSpace = true,
1919
disableSwipe = false,
20+
tabHeaderStyle,
2021
}: {
2122
children: any;
2223
theme: typeof MD3LightTheme;
@@ -28,6 +29,7 @@ function Tabs({
2829
uppercase?: boolean;
2930
mode?: Mode;
3031
disableSwipe?: boolean;
32+
tabHeaderStyle?: ViewStyle | undefined;
3133
}) {
3234
return (
3335
<Swiper
@@ -40,6 +42,7 @@ function Tabs({
4042
showLeadingSpace={showLeadingSpace}
4143
mode={mode}
4244
disableSwipe={disableSwipe}
45+
tabHeaderStyle={tabHeaderStyle}
4346
>
4447
{children}
4548
</Swiper>

src/TabsHeader.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export default function TabsHeader({
2525
showLeadingSpace,
2626
uppercase,
2727
mode,
28+
tabHeaderStyle,
2829
...rest
2930
}: SwiperRenderProps) {
3031
const children = React.Children.toArray(rest.children).filter(Boolean);
@@ -166,7 +167,7 @@ export default function TabsHeader({
166167
const SurfaceComponent = theme.isV3 ? View : Surface;
167168

168169
return (
169-
<View style={styles.relative}>
170+
<Animated.View style={[styles.relative, tabHeaderStyle]}>
170171
<SurfaceComponent
171172
style={[
172173
{ backgroundColor, elevation },
@@ -241,7 +242,7 @@ export default function TabsHeader({
241242
/>
242243
)}
243244
</SurfaceComponent>
244-
</View>
245+
</Animated.View>
245246
);
246247
}
247248

src/utils.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export interface SwiperRenderProps {
2525
showLeadingSpace?: boolean;
2626
uppercase: boolean;
2727
mode: Mode;
28+
tabHeaderStyle: ViewStyle | undefined;
2829
}
2930

3031
export interface SwiperProps {
@@ -38,6 +39,7 @@ export interface SwiperProps {
3839
uppercase: boolean;
3940
mode: Mode;
4041
disableSwipe?: boolean;
42+
tabHeaderStyle: ViewStyle | undefined;
4143
}
4244

4345
export interface OffsetScrollArgs {

0 commit comments

Comments
 (0)