react-native-animated-header-flat-list 1.2.1 → 1.2.3
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/commonjs/components/AnimatedHeaderFlatList.js +17 -35
- package/lib/commonjs/components/AnimatedHeaderFlatList.js.map +1 -1
- package/lib/commonjs/hooks/useAnimatedHeaderFlatListAnimatedStyles.js +1 -1
- package/lib/commonjs/hooks/useAnimatedHeaderFlatListAnimatedStyles.js.map +1 -1
- package/lib/module/components/AnimatedHeaderFlatList.js +18 -36
- package/lib/module/components/AnimatedHeaderFlatList.js.map +1 -1
- package/lib/module/hooks/useAnimatedHeaderFlatListAnimatedStyles.js +1 -1
- package/lib/module/hooks/useAnimatedHeaderFlatListAnimatedStyles.js.map +1 -1
- package/lib/typescript/commonjs/src/components/AnimatedHeaderFlatList.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/components/AnimatedHeaderFlatList.d.ts.map +1 -1
- package/lib/typescript/module/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/components/AnimatedHeaderFlatList.tsx +45 -69
- package/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts +0 -1
|
@@ -14,7 +14,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
const HEADER_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_HEADER';
|
|
17
|
-
const EMPTY_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_EMPTY_ITEM';
|
|
18
17
|
function AnimatedHeaderFlatList({
|
|
19
18
|
navigation,
|
|
20
19
|
title,
|
|
@@ -88,51 +87,34 @@ function AnimatedHeaderFlatList({
|
|
|
88
87
|
})
|
|
89
88
|
});
|
|
90
89
|
}, [navigationBarHeight, parallax, headerBackgroundAnimatedStyle, HeaderBackground, HeaderContent, headerContentAnimatedStyle, headerTitleAnimatedStyle, headerTitleStyle, title, setHeaderLayout, setHeaderTitleLayout]);
|
|
91
|
-
const HeaderItem = (0, _react.useCallback)(() => {
|
|
92
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
93
|
-
style: [styles.stickyHeaderContainer, {
|
|
94
|
-
height: navigationBarHeight + stickyComponentLayout.height
|
|
95
|
-
}],
|
|
96
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
97
|
-
style: [stickyHeaderAnimatedStyle, styles.stickyHeader, {
|
|
98
|
-
bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
|
|
99
|
-
}],
|
|
100
|
-
children: ListHeaderComponent
|
|
101
|
-
}), StickyComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
102
|
-
style: styles.stickyComponentContainer,
|
|
103
|
-
onLayout: event => {
|
|
104
|
-
setStickyComponentLayout(event.nativeEvent.layout);
|
|
105
|
-
},
|
|
106
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyComponent, {})
|
|
107
|
-
})]
|
|
108
|
-
});
|
|
109
|
-
}, [ListHeaderComponent, StickyComponent, headerLayout.height, navigationBarHeight, setStickyComponentLayout, stickyComponentLayout.height, stickyHeaderAnimatedStyle]);
|
|
110
90
|
const renderItem = (0, _react.useCallback)(({
|
|
111
91
|
item
|
|
112
92
|
}) => {
|
|
113
93
|
if (item === HEADER_ITEM) {
|
|
114
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
94
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
95
|
+
style: [styles.stickyHeaderContainer, {
|
|
96
|
+
height: navigationBarHeight + stickyComponentLayout.height
|
|
97
|
+
}],
|
|
98
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
99
|
+
style: [stickyHeaderAnimatedStyle, styles.stickyHeader, {
|
|
100
|
+
bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
|
|
101
|
+
}],
|
|
102
|
+
children: ListHeaderComponent
|
|
103
|
+
}), StickyComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
104
|
+
style: styles.stickyComponentContainer,
|
|
105
|
+
onLayout: event => {
|
|
106
|
+
setStickyComponentLayout(event.nativeEvent.layout);
|
|
107
|
+
},
|
|
108
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyComponent, {})
|
|
109
|
+
})]
|
|
125
110
|
});
|
|
126
111
|
}
|
|
127
112
|
return flatListProps.renderItem && typeof flatListProps.renderItem === 'function' ? flatListProps.renderItem({
|
|
128
113
|
item
|
|
129
114
|
}) : null;
|
|
130
|
-
}, [flatListProps,
|
|
115
|
+
}, [flatListProps, navigationBarHeight, stickyComponentLayout.height, stickyHeaderAnimatedStyle, headerLayout.height, ListHeaderComponent, StickyComponent, setStickyComponentLayout]);
|
|
131
116
|
const data = (0, _react.useMemo)(() => {
|
|
132
117
|
const listData = Array.isArray(flatListProps.data) ? flatListProps.data : [];
|
|
133
|
-
if (listData.length === 0) {
|
|
134
|
-
return [EMPTY_ITEM];
|
|
135
|
-
}
|
|
136
118
|
return [HEADER_ITEM, ...listData];
|
|
137
119
|
}, [flatListProps.data]);
|
|
138
120
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_useAnimatedHeaderFlatListAnimatedStyles","_styleUtils","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HEADER_ITEM","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_useAnimatedHeaderFlatListAnimatedStyles","_styleUtils","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HEADER_ITEM","AnimatedHeaderFlatList","navigation","title","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","flatListProps","scrollHandler","navigationBarHeight","headerLayout","setHeaderLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","navigationTitleAnimatedStyle","headerTitleAnimatedStyle","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","getFontSizeFromStyle","navigationTitleFontSize","navigationTitle","useCallback","jsx","Text","style","numberOfLines","children","useLayoutEffect","setOptions","headerShown","headerStyle","styles","navigationBar","headerShadowVisible","headerTransparent","headerTitle","headerTitleAlign","ListHeaderComponent","useMemo","View","headerWrapper","jsxs","headerContainer","top","onLayout","event","nativeEvent","layout","height","undefined","headerContentContainer","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","Fragment","StatusBar","backgroundColor","translucent","FlatList","stickyHeaderIndices","mainHeaderContainer","transform","translateY","onScroll","StyleSheet","create","overflow","position","left","right"],"sourceRoot":"../../../src","sources":["components/AnimatedHeaderFlatList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -73,7 +73,7 @@ const useAnimatedHeaderFlatListAnimatedStyles = ({
|
|
|
73
73
|
transform: [{
|
|
74
74
|
translateY: (0, _reactNativeReanimated.interpolate)(scrollY.value, [scrollY.value, 0], [scrollY.value / 2, 0], 'clamp')
|
|
75
75
|
}, {
|
|
76
|
-
scale: (0, _reactNativeReanimated.interpolate)(scrollY.value, [scrollY.value, 0], [1 - scrollY.value / (headerLayout.height - navigationBarHeight), 1
|
|
76
|
+
scale: (0, _reactNativeReanimated.interpolate)(scrollY.value, [scrollY.value, 0], [1 - scrollY.value / (headerLayout.height - navigationBarHeight), 1], 'clamp')
|
|
77
77
|
}]
|
|
78
78
|
};
|
|
79
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_elements","require","_react","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","width","windowWidth","useWindowDimensions","scrollY","useSharedValue","navigationBarHeight","useHeaderHeight","safeAreaInsets","useSafeAreaInsets","headerLayout","setHeaderLayout","useState","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationTitleAnimatedStyle","useAnimatedStyle","opacity","value","headerTitleAnimatedStyle","transform","translateX","interpolate","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","translateY","scrollHandler","useAnimatedScrollHandler","event","contentOffset","exports"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_elements","require","_react","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","width","windowWidth","useWindowDimensions","scrollY","useSharedValue","navigationBarHeight","useHeaderHeight","safeAreaInsets","useSafeAreaInsets","headerLayout","setHeaderLayout","useState","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationTitleAnimatedStyle","useAnimatedStyle","opacity","value","headerTitleAnimatedStyle","transform","translateX","interpolate","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","translateY","scrollHandler","useAnimatedScrollHandler","event","contentOffset","exports"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { StatusBar, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { useLayoutEffect, useCallback, useMemo } from 'react';
|
|
6
6
|
import Animated from 'react-native-reanimated';
|
|
@@ -8,7 +8,6 @@ import { useAnimatedHeaderFlatListAnimatedStyles } from "../hooks/useAnimatedHea
|
|
|
8
8
|
import { getFontSizeFromStyle } from "../utils/styleUtils.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
10
|
const HEADER_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_HEADER';
|
|
11
|
-
const EMPTY_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_EMPTY_ITEM';
|
|
12
11
|
export function AnimatedHeaderFlatList({
|
|
13
12
|
navigation,
|
|
14
13
|
title,
|
|
@@ -82,51 +81,34 @@ export function AnimatedHeaderFlatList({
|
|
|
82
81
|
})
|
|
83
82
|
});
|
|
84
83
|
}, [navigationBarHeight, parallax, headerBackgroundAnimatedStyle, HeaderBackground, HeaderContent, headerContentAnimatedStyle, headerTitleAnimatedStyle, headerTitleStyle, title, setHeaderLayout, setHeaderTitleLayout]);
|
|
85
|
-
const HeaderItem = useCallback(() => {
|
|
86
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
87
|
-
style: [styles.stickyHeaderContainer, {
|
|
88
|
-
height: navigationBarHeight + stickyComponentLayout.height
|
|
89
|
-
}],
|
|
90
|
-
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
91
|
-
style: [stickyHeaderAnimatedStyle, styles.stickyHeader, {
|
|
92
|
-
bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
|
|
93
|
-
}],
|
|
94
|
-
children: ListHeaderComponent
|
|
95
|
-
}), StickyComponent && /*#__PURE__*/_jsx(View, {
|
|
96
|
-
style: styles.stickyComponentContainer,
|
|
97
|
-
onLayout: event => {
|
|
98
|
-
setStickyComponentLayout(event.nativeEvent.layout);
|
|
99
|
-
},
|
|
100
|
-
children: /*#__PURE__*/_jsx(StickyComponent, {})
|
|
101
|
-
})]
|
|
102
|
-
});
|
|
103
|
-
}, [ListHeaderComponent, StickyComponent, headerLayout.height, navigationBarHeight, setStickyComponentLayout, stickyComponentLayout.height, stickyHeaderAnimatedStyle]);
|
|
104
84
|
const renderItem = useCallback(({
|
|
105
85
|
item
|
|
106
86
|
}) => {
|
|
107
87
|
if (item === HEADER_ITEM) {
|
|
108
|
-
return /*#__PURE__*/
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
88
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
89
|
+
style: [styles.stickyHeaderContainer, {
|
|
90
|
+
height: navigationBarHeight + stickyComponentLayout.height
|
|
91
|
+
}],
|
|
92
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
93
|
+
style: [stickyHeaderAnimatedStyle, styles.stickyHeader, {
|
|
94
|
+
bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
|
|
95
|
+
}],
|
|
96
|
+
children: ListHeaderComponent
|
|
97
|
+
}), StickyComponent && /*#__PURE__*/_jsx(View, {
|
|
98
|
+
style: styles.stickyComponentContainer,
|
|
99
|
+
onLayout: event => {
|
|
100
|
+
setStickyComponentLayout(event.nativeEvent.layout);
|
|
101
|
+
},
|
|
102
|
+
children: /*#__PURE__*/_jsx(StickyComponent, {})
|
|
103
|
+
})]
|
|
119
104
|
});
|
|
120
105
|
}
|
|
121
106
|
return flatListProps.renderItem && typeof flatListProps.renderItem === 'function' ? flatListProps.renderItem({
|
|
122
107
|
item
|
|
123
108
|
}) : null;
|
|
124
|
-
}, [flatListProps,
|
|
109
|
+
}, [flatListProps, navigationBarHeight, stickyComponentLayout.height, stickyHeaderAnimatedStyle, headerLayout.height, ListHeaderComponent, StickyComponent, setStickyComponentLayout]);
|
|
125
110
|
const data = useMemo(() => {
|
|
126
111
|
const listData = Array.isArray(flatListProps.data) ? flatListProps.data : [];
|
|
127
|
-
if (listData.length === 0) {
|
|
128
|
-
return [EMPTY_ITEM];
|
|
129
|
-
}
|
|
130
112
|
return [HEADER_ITEM, ...listData];
|
|
131
113
|
}, [flatListProps.data]);
|
|
132
114
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","StatusBar","StyleSheet","View","useLayoutEffect","useCallback","useMemo","Animated","useAnimatedHeaderFlatListAnimatedStyles","getFontSizeFromStyle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HEADER_ITEM","AnimatedHeaderFlatList","navigation","title","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","flatListProps","scrollHandler","navigationBarHeight","headerLayout","setHeaderLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","navigationTitleAnimatedStyle","headerTitleAnimatedStyle","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","headerTitleFontSize","navigationTitleFontSize","navigationTitle","Text","style","numberOfLines","children","setOptions","headerShown","headerStyle","styles","navigationBar","headerShadowVisible","headerTransparent","headerTitle","headerTitleAlign","ListHeaderComponent","headerWrapper","headerContainer","top","onLayout","event","nativeEvent","layout","height","undefined","headerContentContainer","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","backgroundColor","translucent","FlatList","stickyHeaderIndices","mainHeaderContainer","transform","translateY","onScroll","create","overflow","position","left","right"],"sourceRoot":"../../../src","sources":["components/AnimatedHeaderFlatList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,7 +69,7 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
|
|
|
69
69
|
transform: [{
|
|
70
70
|
translateY: interpolate(scrollY.value, [scrollY.value, 0], [scrollY.value / 2, 0], 'clamp')
|
|
71
71
|
}, {
|
|
72
|
-
scale: interpolate(scrollY.value, [scrollY.value, 0], [1 - scrollY.value / (headerLayout.height - navigationBarHeight), 1
|
|
72
|
+
scale: interpolate(scrollY.value, [scrollY.value, 0], [1 - scrollY.value / (headerLayout.height - navigationBarHeight), 1], 'clamp')
|
|
73
73
|
}]
|
|
74
74
|
};
|
|
75
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useHeaderHeight","useState","useWindowDimensions","interpolate","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","useSafeAreaInsets","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","width","windowWidth","scrollY","navigationBarHeight","safeAreaInsets","headerLayout","setHeaderLayout","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationTitleAnimatedStyle","opacity","value","headerTitleAnimatedStyle","transform","translateX","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","translateY","scrollHandler","event","contentOffset"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["useHeaderHeight","useState","useWindowDimensions","interpolate","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","useSafeAreaInsets","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","width","windowWidth","scrollY","navigationBarHeight","safeAreaInsets","headerLayout","setHeaderLayout","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationTitleAnimatedStyle","opacity","value","headerTitleAnimatedStyle","transform","translateX","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","translateY","scrollHandler","event","contentOffset"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,UAAU,KAAK;IACb,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,2BAA2B,CAAC,CAAC,IAAI,IAAI,CACxC,uBAAuB,CAAC,CAAC,CAAC,EAC1B,MAAM,KAAK,CACZ,GACC,KAAK,CAAC;AAIR,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAe,EACf,GAAG,aAAa,EACjB,EAAE,2BAA2B,CAAC,CAAC,CAAC,2CA+LhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedHeaderFlatListAnimatedStyles.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAGjC,KAAK,yCAAyC,GAAG;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,KAAK,oCAAoC,GAAG;IAC1C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,eAAe,CAAC;IACnC,oBAAoB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,eAAe,CAAC;IACvC,wBAAwB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,4BAA4B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,wBAAwB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,6BAA6B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uCAAuC,sDAGjD,yCAAyC,KAAG,
|
|
1
|
+
{"version":3,"file":"useAnimatedHeaderFlatListAnimatedStyles.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAGjC,KAAK,yCAAyC,GAAG;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,KAAK,oCAAoC,GAAG;IAC1C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,eAAe,CAAC;IACnC,oBAAoB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,eAAe,CAAC;IACvC,wBAAwB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,4BAA4B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,wBAAwB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,6BAA6B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uCAAuC,sDAGjD,yCAAyC,KAAG,oCAwI9C,CAAC"}
|
|
@@ -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,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,UAAU,KAAK;IACb,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,2BAA2B,CAAC,CAAC,IAAI,IAAI,CACxC,uBAAuB,CAAC,CAAC,CAAC,EAC1B,MAAM,KAAK,CACZ,GACC,KAAK,CAAC;AAIR,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAe,EACf,GAAG,aAAa,EACjB,EAAE,2BAA2B,CAAC,CAAC,CAAC,2CA+LhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimatedHeaderFlatListAnimatedStyles.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAGjC,KAAK,yCAAyC,GAAG;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,KAAK,oCAAoC,GAAG;IAC1C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,eAAe,CAAC;IACnC,oBAAoB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,eAAe,CAAC;IACvC,wBAAwB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,4BAA4B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,wBAAwB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,6BAA6B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uCAAuC,sDAGjD,yCAAyC,KAAG,
|
|
1
|
+
{"version":3,"file":"useAnimatedHeaderFlatListAnimatedStyles.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAGjC,KAAK,yCAAyC,GAAG;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,KAAK,oCAAoC,GAAG;IAC1C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,eAAe,CAAC;IACnC,oBAAoB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,eAAe,CAAC;IACvC,wBAAwB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,4BAA4B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,wBAAwB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,6BAA6B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uCAAuC,sDAGjD,yCAAyC,KAAG,oCAwI9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-animated-header-flat-list",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
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/commonjs/index.js",
|
|
@@ -67,24 +67,24 @@
|
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@commitlint/config-conventional": "17.7.0",
|
|
70
|
-
"@evilmartians/lefthook": "^1.8.
|
|
70
|
+
"@evilmartians/lefthook": "^1.8.5",
|
|
71
71
|
"@react-native/eslint-config": "0.73.1",
|
|
72
|
-
"@react-navigation/elements": "^2.
|
|
73
|
-
"@react-navigation/native": "^7.0.
|
|
74
|
-
"@react-navigation/native-stack": "^7.1.
|
|
72
|
+
"@react-navigation/elements": "^2.2.4",
|
|
73
|
+
"@react-navigation/native": "^7.0.13",
|
|
74
|
+
"@react-navigation/native-stack": "^7.1.14",
|
|
75
75
|
"@release-it/conventional-changelog": "7.0.0",
|
|
76
76
|
"@types/jest": "^29.5.14",
|
|
77
77
|
"@types/react": "^18.3.12",
|
|
78
78
|
"commitlint": "^19.6.0",
|
|
79
79
|
"del-cli": "^6.0.0",
|
|
80
|
-
"eslint": "
|
|
80
|
+
"eslint": "8.57.0",
|
|
81
81
|
"eslint-config-prettier": "^9.1.0",
|
|
82
82
|
"eslint-plugin-prettier": "^5.2.1",
|
|
83
83
|
"jest": "^29.7.0",
|
|
84
|
-
"prettier": "^3.4.
|
|
84
|
+
"prettier": "^3.4.2",
|
|
85
85
|
"react": "18.3.1",
|
|
86
86
|
"react-native": "0.76.3",
|
|
87
|
-
"react-native-builder-bob": "^0.33.
|
|
87
|
+
"react-native-builder-bob": "^0.33.3",
|
|
88
88
|
"react-native-reanimated": "^3.16.3",
|
|
89
89
|
"react-native-safe-area-context": "^4.14.0",
|
|
90
90
|
"release-it": "16.1.5",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { type ReactElement } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
StatusBar,
|
|
4
4
|
StyleSheet,
|
|
@@ -33,7 +33,6 @@ type AnimatedHeaderFlatListProps<T> = Omit<
|
|
|
33
33
|
Props;
|
|
34
34
|
|
|
35
35
|
const HEADER_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_HEADER';
|
|
36
|
-
const EMPTY_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_EMPTY_ITEM';
|
|
37
36
|
|
|
38
37
|
export function AnimatedHeaderFlatList<T>({
|
|
39
38
|
navigation,
|
|
@@ -146,74 +145,45 @@ export function AnimatedHeaderFlatList<T>({
|
|
|
146
145
|
setHeaderTitleLayout,
|
|
147
146
|
]);
|
|
148
147
|
|
|
149
|
-
type CustomItem = typeof HEADER_ITEM |
|
|
150
|
-
|
|
151
|
-
const HeaderItem = useCallback(() => {
|
|
152
|
-
return (
|
|
153
|
-
<View
|
|
154
|
-
style={[
|
|
155
|
-
styles.stickyHeaderContainer,
|
|
156
|
-
{
|
|
157
|
-
height: navigationBarHeight + stickyComponentLayout.height,
|
|
158
|
-
},
|
|
159
|
-
]}
|
|
160
|
-
>
|
|
161
|
-
<Animated.View
|
|
162
|
-
style={[
|
|
163
|
-
stickyHeaderAnimatedStyle,
|
|
164
|
-
styles.stickyHeader,
|
|
165
|
-
{
|
|
166
|
-
bottom:
|
|
167
|
-
headerLayout.height -
|
|
168
|
-
navigationBarHeight * 2 +
|
|
169
|
-
stickyComponentLayout.height,
|
|
170
|
-
},
|
|
171
|
-
]}
|
|
172
|
-
>
|
|
173
|
-
{ListHeaderComponent}
|
|
174
|
-
</Animated.View>
|
|
175
|
-
{StickyComponent && (
|
|
176
|
-
<View
|
|
177
|
-
style={styles.stickyComponentContainer}
|
|
178
|
-
onLayout={(event: LayoutChangeEvent) => {
|
|
179
|
-
setStickyComponentLayout(event.nativeEvent.layout);
|
|
180
|
-
}}
|
|
181
|
-
>
|
|
182
|
-
<StickyComponent />
|
|
183
|
-
</View>
|
|
184
|
-
)}
|
|
185
|
-
</View>
|
|
186
|
-
);
|
|
187
|
-
}, [
|
|
188
|
-
ListHeaderComponent,
|
|
189
|
-
StickyComponent,
|
|
190
|
-
headerLayout.height,
|
|
191
|
-
navigationBarHeight,
|
|
192
|
-
setStickyComponentLayout,
|
|
193
|
-
stickyComponentLayout.height,
|
|
194
|
-
stickyHeaderAnimatedStyle,
|
|
195
|
-
]);
|
|
148
|
+
type CustomItem = typeof HEADER_ITEM | T;
|
|
196
149
|
|
|
197
150
|
const renderItem = useCallback(
|
|
198
151
|
({ item }: ListRenderItemInfo<CustomItem>): ReactElement | null => {
|
|
199
152
|
if (item === HEADER_ITEM) {
|
|
200
|
-
return <HeaderItem />;
|
|
201
|
-
}
|
|
202
|
-
if (item === EMPTY_ITEM) {
|
|
203
|
-
const EmptyComponent = flatListProps.ListEmptyComponent;
|
|
204
|
-
if (typeof EmptyComponent === 'function') {
|
|
205
|
-
return (
|
|
206
|
-
<>
|
|
207
|
-
{HeaderItem()}
|
|
208
|
-
{createElement(EmptyComponent)}
|
|
209
|
-
</>
|
|
210
|
-
);
|
|
211
|
-
}
|
|
212
153
|
return (
|
|
213
|
-
|
|
214
|
-
{
|
|
215
|
-
|
|
216
|
-
|
|
154
|
+
<View
|
|
155
|
+
style={[
|
|
156
|
+
styles.stickyHeaderContainer,
|
|
157
|
+
{
|
|
158
|
+
height: navigationBarHeight + stickyComponentLayout.height,
|
|
159
|
+
},
|
|
160
|
+
]}
|
|
161
|
+
>
|
|
162
|
+
<Animated.View
|
|
163
|
+
style={[
|
|
164
|
+
stickyHeaderAnimatedStyle,
|
|
165
|
+
styles.stickyHeader,
|
|
166
|
+
{
|
|
167
|
+
bottom:
|
|
168
|
+
headerLayout.height -
|
|
169
|
+
navigationBarHeight * 2 +
|
|
170
|
+
stickyComponentLayout.height,
|
|
171
|
+
},
|
|
172
|
+
]}
|
|
173
|
+
>
|
|
174
|
+
{ListHeaderComponent}
|
|
175
|
+
</Animated.View>
|
|
176
|
+
{StickyComponent && (
|
|
177
|
+
<View
|
|
178
|
+
style={styles.stickyComponentContainer}
|
|
179
|
+
onLayout={(event: LayoutChangeEvent) => {
|
|
180
|
+
setStickyComponentLayout(event.nativeEvent.layout);
|
|
181
|
+
}}
|
|
182
|
+
>
|
|
183
|
+
<StickyComponent />
|
|
184
|
+
</View>
|
|
185
|
+
)}
|
|
186
|
+
</View>
|
|
217
187
|
);
|
|
218
188
|
}
|
|
219
189
|
return flatListProps.renderItem &&
|
|
@@ -221,16 +191,22 @@ export function AnimatedHeaderFlatList<T>({
|
|
|
221
191
|
? flatListProps.renderItem({ item } as ListRenderItemInfo<T>)
|
|
222
192
|
: null;
|
|
223
193
|
},
|
|
224
|
-
[
|
|
194
|
+
[
|
|
195
|
+
flatListProps,
|
|
196
|
+
navigationBarHeight,
|
|
197
|
+
stickyComponentLayout.height,
|
|
198
|
+
stickyHeaderAnimatedStyle,
|
|
199
|
+
headerLayout.height,
|
|
200
|
+
ListHeaderComponent,
|
|
201
|
+
StickyComponent,
|
|
202
|
+
setStickyComponentLayout,
|
|
203
|
+
]
|
|
225
204
|
);
|
|
226
205
|
|
|
227
206
|
const data = useMemo(() => {
|
|
228
207
|
const listData = Array.isArray(flatListProps.data)
|
|
229
208
|
? flatListProps.data
|
|
230
209
|
: [];
|
|
231
|
-
if (listData.length === 0) {
|
|
232
|
-
return [EMPTY_ITEM];
|
|
233
|
-
}
|
|
234
210
|
return [HEADER_ITEM, ...listData];
|
|
235
211
|
}, [flatListProps.data]);
|
|
236
212
|
|