react-native-animated-header-flat-list 1.6.3 → 1.6.5
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/components/AnimatedHeaderFlatList.js +8 -13
- package/lib/module/components/AnimatedHeaderFlatList.js.map +1 -1
- package/lib/typescript/src/components/AnimatedHeaderFlatList.d.ts +4 -4
- package/lib/typescript/src/components/AnimatedHeaderFlatList.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/AnimatedHeaderFlatList.tsx +34 -20
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { forwardRef } from 'react';
|
|
3
|
+
import { forwardRef, useLayoutEffect, useCallback, useMemo } from 'react';
|
|
4
4
|
import { StatusBar, StyleSheet, View } from 'react-native';
|
|
5
|
-
import { useLayoutEffect, useCallback, useMemo } from 'react';
|
|
6
5
|
import Animated from 'react-native-reanimated';
|
|
7
6
|
import { useAnimatedHeaderFlatListAnimatedStyles } from "../hooks/useAnimatedHeaderFlatListAnimatedStyles.js";
|
|
8
7
|
import { getFontSizeFromStyle } from "../utils/styleUtils.js";
|
|
@@ -44,10 +43,9 @@ function AnimatedHeaderFlatListInner({
|
|
|
44
43
|
navigationTitleTranslateX,
|
|
45
44
|
navigationTitleTranslateY
|
|
46
45
|
});
|
|
47
|
-
const navigationTitle = useCallback(() => /*#__PURE__*/_jsx(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
style: navigationTitleStyle,
|
|
46
|
+
const navigationTitle = useCallback(() => /*#__PURE__*/_jsx(View, {
|
|
47
|
+
children: title.length > 0 && /*#__PURE__*/_jsx(Animated.Text, {
|
|
48
|
+
style: [navigationTitleAnimatedStyle, navigationTitleStyle],
|
|
51
49
|
numberOfLines: 1,
|
|
52
50
|
children: title
|
|
53
51
|
})
|
|
@@ -85,16 +83,13 @@ function AnimatedHeaderFlatListInner({
|
|
|
85
83
|
style: [navigationBarAnimatedStyle, styles.animatedNavigationBar, {
|
|
86
84
|
backgroundColor: navigationBarColor
|
|
87
85
|
}]
|
|
88
|
-
}), /*#__PURE__*/_jsx(Animated.
|
|
89
|
-
style: headerTitleAnimatedStyle,
|
|
86
|
+
}), title.length > 0 && /*#__PURE__*/_jsx(Animated.Text, {
|
|
90
87
|
onLayout: event => {
|
|
91
88
|
setHeaderTitleLayout(event.nativeEvent.layout);
|
|
92
89
|
},
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
children: title
|
|
97
|
-
}, `${key}-title`)
|
|
90
|
+
numberOfLines: 1,
|
|
91
|
+
style: [headerTitleAnimatedStyle, styles.headerTitle, headerTitleStyle],
|
|
92
|
+
children: title
|
|
98
93
|
})]
|
|
99
94
|
})
|
|
100
95
|
}, key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","
|
|
1
|
+
{"version":3,"names":["forwardRef","useLayoutEffect","useCallback","useMemo","StatusBar","StyleSheet","View","Animated","useAnimatedHeaderFlatListAnimatedStyles","getFontSizeFromStyle","useNavigation","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HEADER_ITEM","AnimatedHeaderFlatListInner","title","navigationBarColor","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","navigationTitleTranslateX","navigationTitleTranslateY","flatListProps","ref","navigation","scrollHandler","navigationBarHeight","headerLayout","setHeaderLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","stickyComponentAnimatedStyle","navigationBarAnimatedStyle","navigationTitleAnimatedStyle","headerTitleAnimatedStyle","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","headerTitleFontSize","navigationTitleFontSize","navigationTitle","children","length","Text","style","numberOfLines","setOptions","headerShown","headerStyle","styles","navigationBar","headerShadowVisible","headerTransparent","headerTitle","headerTitleAlign","createHeaderComponent","key","headerWrapper","headerContainer","top","onLayout","event","nativeEvent","layout","height","undefined","headerContentContainer","animatedNavigationBar","backgroundColor","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","translucent","FlatList","stickyHeaderIndices","ListHeaderComponent","mainHeaderContainer","transform","translateY","onScroll","create","overflow","position","left","right","width","AnimatedHeaderFlatList"],"sourceRoot":"../../../src","sources":["components/AnimatedHeaderFlatList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactElement, type RefObject } from 'react';
|
|
1
|
+
import { type ReactElement, type RefObject, type ComponentType } from 'react';
|
|
2
2
|
import { FlatList, type ColorValue, type StyleProp, type TextStyle } from 'react-native';
|
|
3
3
|
import type { FlatListPropsWithLayout } from 'react-native-reanimated';
|
|
4
4
|
interface Props {
|
|
@@ -6,9 +6,9 @@ interface Props {
|
|
|
6
6
|
navigationBarColor?: ColorValue;
|
|
7
7
|
headerTitleStyle?: StyleProp<TextStyle>;
|
|
8
8
|
navigationTitleStyle?: StyleProp<TextStyle>;
|
|
9
|
-
HeaderBackground:
|
|
10
|
-
HeaderContent?:
|
|
11
|
-
StickyComponent?:
|
|
9
|
+
HeaderBackground: ComponentType;
|
|
10
|
+
HeaderContent?: ComponentType;
|
|
11
|
+
StickyComponent?: ComponentType;
|
|
12
12
|
parallax?: boolean;
|
|
13
13
|
navigationTitleTranslateX?: number;
|
|
14
14
|
navigationTitleTranslateY?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAKd,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,QAAQ,EAIR,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAMvE,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,gBAAgB,EAAE,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,KAAK,2BAA2B,CAAC,CAAC,IAAI,IAAI,CACxC,uBAAuB,CAAC,CAAC,CAAC,EAC1B,MAAM,KAAK,CACZ,GACC,KAAK,CAAC;AAgSR,eAAO,MAAM,sBAAsB,EAE9B,CAAC,CAAC,EACL,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACrC,KACE,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-animated-header-flat-list",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.5",
|
|
4
4
|
"description": "A React Native FlatList component with an animated collapsible header, featuring parallax effects, smooth title transitions, sticky component support, and customizable styles. Built with TypeScript and separate background/content layers in header.",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/module/index.js",
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type ReactElement,
|
|
3
|
+
type RefObject,
|
|
4
|
+
forwardRef,
|
|
5
|
+
useLayoutEffect,
|
|
6
|
+
useCallback,
|
|
7
|
+
useMemo,
|
|
8
|
+
type ComponentType,
|
|
9
|
+
type ForwardedRef,
|
|
10
|
+
} from 'react';
|
|
2
11
|
import {
|
|
3
12
|
FlatList,
|
|
4
13
|
StatusBar,
|
|
@@ -10,7 +19,6 @@ import {
|
|
|
10
19
|
type StyleProp,
|
|
11
20
|
type TextStyle,
|
|
12
21
|
} from 'react-native';
|
|
13
|
-
import { useLayoutEffect, useCallback, useMemo } from 'react';
|
|
14
22
|
import type { FlatListPropsWithLayout } from 'react-native-reanimated';
|
|
15
23
|
import Animated from 'react-native-reanimated';
|
|
16
24
|
import { useAnimatedHeaderFlatListAnimatedStyles } from '../hooks/useAnimatedHeaderFlatListAnimatedStyles';
|
|
@@ -22,9 +30,9 @@ interface Props {
|
|
|
22
30
|
navigationBarColor?: ColorValue;
|
|
23
31
|
headerTitleStyle?: StyleProp<TextStyle>;
|
|
24
32
|
navigationTitleStyle?: StyleProp<TextStyle>;
|
|
25
|
-
HeaderBackground:
|
|
26
|
-
HeaderContent?:
|
|
27
|
-
StickyComponent?:
|
|
33
|
+
HeaderBackground: ComponentType;
|
|
34
|
+
HeaderContent?: ComponentType;
|
|
35
|
+
StickyComponent?: ComponentType;
|
|
28
36
|
parallax?: boolean;
|
|
29
37
|
navigationTitleTranslateX?: number;
|
|
30
38
|
navigationTitleTranslateY?: number;
|
|
@@ -52,7 +60,7 @@ function AnimatedHeaderFlatListInner<T>(
|
|
|
52
60
|
navigationTitleTranslateY = 0,
|
|
53
61
|
...flatListProps
|
|
54
62
|
}: AnimatedHeaderFlatListProps<T>,
|
|
55
|
-
ref:
|
|
63
|
+
ref: ForwardedRef<FlatList<T>>
|
|
56
64
|
) {
|
|
57
65
|
const navigation = useNavigation();
|
|
58
66
|
const {
|
|
@@ -79,11 +87,16 @@ function AnimatedHeaderFlatListInner<T>(
|
|
|
79
87
|
|
|
80
88
|
const navigationTitle = useCallback(
|
|
81
89
|
() => (
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
<View>
|
|
91
|
+
{title.length > 0 && (
|
|
92
|
+
<Animated.Text
|
|
93
|
+
style={[navigationTitleAnimatedStyle, navigationTitleStyle]}
|
|
94
|
+
numberOfLines={1}
|
|
95
|
+
>
|
|
96
|
+
{title}
|
|
97
|
+
</Animated.Text>
|
|
98
|
+
)}
|
|
99
|
+
</View>
|
|
87
100
|
),
|
|
88
101
|
[navigationTitleAnimatedStyle, navigationTitleStyle, title]
|
|
89
102
|
);
|
|
@@ -136,20 +149,21 @@ function AnimatedHeaderFlatListInner<T>(
|
|
|
136
149
|
]}
|
|
137
150
|
/>
|
|
138
151
|
)}
|
|
139
|
-
|
|
140
|
-
style={headerTitleAnimatedStyle}
|
|
141
|
-
onLayout={(event: LayoutChangeEvent) => {
|
|
142
|
-
setHeaderTitleLayout(event.nativeEvent.layout);
|
|
143
|
-
}}
|
|
144
|
-
>
|
|
152
|
+
{title.length > 0 && (
|
|
145
153
|
<Animated.Text
|
|
146
|
-
|
|
154
|
+
onLayout={(event: LayoutChangeEvent) => {
|
|
155
|
+
setHeaderTitleLayout(event.nativeEvent.layout);
|
|
156
|
+
}}
|
|
147
157
|
numberOfLines={1}
|
|
148
|
-
style={[
|
|
158
|
+
style={[
|
|
159
|
+
headerTitleAnimatedStyle,
|
|
160
|
+
styles.headerTitle,
|
|
161
|
+
headerTitleStyle,
|
|
162
|
+
]}
|
|
149
163
|
>
|
|
150
164
|
{title}
|
|
151
165
|
</Animated.Text>
|
|
152
|
-
|
|
166
|
+
)}
|
|
153
167
|
</View>
|
|
154
168
|
</View>
|
|
155
169
|
);
|