react-native-animated-header-flat-list 1.6.2 → 1.6.4

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.
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { forwardRef } from 'react';
3
+ import { useLayoutEffect, useCallback, useMemo, forwardRef } 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';
6
+ import { useNavigation } from '@react-navigation/native';
7
7
  import { useAnimatedHeaderFlatListAnimatedStyles } from "../hooks/useAnimatedHeaderFlatListAnimatedStyles.js";
8
8
  import { getFontSizeFromStyle } from "../utils/styleUtils.js";
9
- import { useNavigation } from '@react-navigation/native';
10
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
10
  const HEADER_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_HEADER';
12
11
  function AnimatedHeaderFlatListInner({
@@ -44,10 +43,13 @@ function AnimatedHeaderFlatListInner({
44
43
  navigationTitleTranslateX,
45
44
  navigationTitleTranslateY
46
45
  });
47
- const navigationTitle = useCallback(() => /*#__PURE__*/_jsx(Animated.Text, {
48
- style: [navigationTitleAnimatedStyle, navigationTitleStyle],
49
- numberOfLines: 1,
50
- children: title
46
+ const navigationTitle = useCallback(() => /*#__PURE__*/_jsx(Animated.View, {
47
+ style: [styles.navigationTitleContainer, navigationTitleAnimatedStyle],
48
+ children: /*#__PURE__*/_jsx(Animated.Text, {
49
+ style: navigationTitleStyle,
50
+ numberOfLines: 1,
51
+ children: title
52
+ })
51
53
  }), [navigationTitleAnimatedStyle, navigationTitleStyle, title]);
52
54
  useLayoutEffect(() => {
53
55
  navigation.setOptions({
@@ -82,14 +84,17 @@ function AnimatedHeaderFlatListInner({
82
84
  style: [navigationBarAnimatedStyle, styles.animatedNavigationBar, {
83
85
  backgroundColor: navigationBarColor
84
86
  }]
85
- }), /*#__PURE__*/_jsx(Animated.Text, {
87
+ }), /*#__PURE__*/_jsx(Animated.View, {
88
+ style: [styles.headerTitleContainer, headerTitleAnimatedStyle],
86
89
  onLayout: event => {
87
90
  setHeaderTitleLayout(event.nativeEvent.layout);
88
91
  },
89
- numberOfLines: 1,
90
- style: [headerTitleAnimatedStyle, styles.headerTitle, headerTitleStyle],
91
- children: title
92
- }, `${key}-title`)]
92
+ children: /*#__PURE__*/_jsx(Animated.Text, {
93
+ numberOfLines: 1,
94
+ style: [styles.headerTitle, headerTitleStyle],
95
+ children: title
96
+ }, `${key}-title`)
97
+ })]
93
98
  })
94
99
  }, key);
95
100
  }, [navigationBarHeight, parallax, headerBackgroundAnimatedStyle, HeaderBackground, HeaderContent, headerContentAnimatedStyle, headerTitleAnimatedStyle, headerTitleStyle, title, setHeaderLayout, setHeaderTitleLayout, navigationBarAnimatedStyle, navigationBarColor]);
@@ -150,6 +155,13 @@ const styles = StyleSheet.create({
150
155
  navigationBar: {
151
156
  backgroundColor: 'transparent'
152
157
  },
158
+ navigationTitleContainer: {
159
+ flex: 1,
160
+ justifyContent: 'center',
161
+ alignItems: 'center',
162
+ width: '100%',
163
+ minHeight: 44
164
+ },
153
165
  headerWrapper: {
154
166
  overflow: 'visible'
155
167
  },
@@ -176,6 +188,14 @@ const styles = StyleSheet.create({
176
188
  left: 0,
177
189
  right: 0
178
190
  },
191
+ headerTitleContainer: {
192
+ position: 'absolute',
193
+ bottom: 0,
194
+ left: 0,
195
+ right: 0,
196
+ justifyContent: 'center',
197
+ alignItems: 'center'
198
+ },
179
199
  headerTitle: {
180
200
  position: 'absolute'
181
201
  },
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","StatusBar","StyleSheet","View","useLayoutEffect","useCallback","useMemo","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","Text","style","numberOfLines","children","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
+ {"version":3,"names":["useLayoutEffect","useCallback","useMemo","forwardRef","StatusBar","StyleSheet","View","Animated","useNavigation","useAnimatedHeaderFlatListAnimatedStyles","getFontSizeFromStyle","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","style","styles","navigationTitleContainer","children","Text","numberOfLines","setOptions","headerShown","headerStyle","navigationBar","headerShadowVisible","headerTransparent","headerTitle","headerTitleAlign","createHeaderComponent","key","headerWrapper","headerContainer","top","onLayout","event","nativeEvent","layout","height","undefined","headerContentContainer","animatedNavigationBar","backgroundColor","headerTitleContainer","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","translucent","FlatList","stickyHeaderIndices","ListHeaderComponent","mainHeaderContainer","transform","translateY","onScroll","create","flex","justifyContent","alignItems","width","minHeight","overflow","position","left","right","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: React.ComponentType;
10
- HeaderContent?: React.ComponentType;
11
- StickyComponent?: React.ComponentType;
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,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,QAAQ,EAIR,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,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,KAAK,CAAC,aAAa,CAAC;IACtC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,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;AA2RR,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"}
1
+ {"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,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;AA2SR,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.2",
3
+ "version": "1.6.4",
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 { type ReactElement, type RefObject, forwardRef } from 'react';
1
+ import {
2
+ useLayoutEffect,
3
+ useCallback,
4
+ useMemo,
5
+ type ReactElement,
6
+ type RefObject,
7
+ forwardRef,
8
+ type ComponentType,
9
+ type ForwardedRef,
10
+ } from 'react';
2
11
  import {
3
12
  FlatList,
4
13
  StatusBar,
@@ -10,21 +19,20 @@ 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';
24
+ import { useNavigation } from '@react-navigation/native';
16
25
  import { useAnimatedHeaderFlatListAnimatedStyles } from '../hooks/useAnimatedHeaderFlatListAnimatedStyles';
17
26
  import { getFontSizeFromStyle } from '../utils/styleUtils';
18
- import { useNavigation } from '@react-navigation/native';
19
27
 
20
28
  interface Props {
21
29
  title: string;
22
30
  navigationBarColor?: ColorValue;
23
31
  headerTitleStyle?: StyleProp<TextStyle>;
24
32
  navigationTitleStyle?: StyleProp<TextStyle>;
25
- HeaderBackground: React.ComponentType;
26
- HeaderContent?: React.ComponentType;
27
- StickyComponent?: React.ComponentType;
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: React.ForwardedRef<FlatList<T>>
63
+ ref: ForwardedRef<FlatList<T>>
56
64
  ) {
57
65
  const navigation = useNavigation();
58
66
  const {
@@ -79,12 +87,13 @@ function AnimatedHeaderFlatListInner<T>(
79
87
 
80
88
  const navigationTitle = useCallback(
81
89
  () => (
82
- <Animated.Text
83
- style={[navigationTitleAnimatedStyle, navigationTitleStyle]}
84
- numberOfLines={1}
90
+ <Animated.View
91
+ style={[styles.navigationTitleContainer, navigationTitleAnimatedStyle]}
85
92
  >
86
- {title}
87
- </Animated.Text>
93
+ <Animated.Text style={navigationTitleStyle} numberOfLines={1}>
94
+ {title}
95
+ </Animated.Text>
96
+ </Animated.View>
88
97
  ),
89
98
  [navigationTitleAnimatedStyle, navigationTitleStyle, title]
90
99
  );
@@ -137,20 +146,20 @@ function AnimatedHeaderFlatListInner<T>(
137
146
  ]}
138
147
  />
139
148
  )}
140
- <Animated.Text
141
- key={`${key}-title`}
149
+ <Animated.View
150
+ style={[styles.headerTitleContainer, headerTitleAnimatedStyle]}
142
151
  onLayout={(event: LayoutChangeEvent) => {
143
152
  setHeaderTitleLayout(event.nativeEvent.layout);
144
153
  }}
145
- numberOfLines={1}
146
- style={[
147
- headerTitleAnimatedStyle,
148
- styles.headerTitle,
149
- headerTitleStyle,
150
- ]}
151
154
  >
152
- {title}
153
- </Animated.Text>
155
+ <Animated.Text
156
+ key={`${key}-title`}
157
+ numberOfLines={1}
158
+ style={[styles.headerTitle, headerTitleStyle]}
159
+ >
160
+ {title}
161
+ </Animated.Text>
162
+ </Animated.View>
154
163
  </View>
155
164
  </View>
156
165
  );
@@ -273,6 +282,13 @@ const styles = StyleSheet.create({
273
282
  navigationBar: {
274
283
  backgroundColor: 'transparent',
275
284
  },
285
+ navigationTitleContainer: {
286
+ flex: 1,
287
+ justifyContent: 'center',
288
+ alignItems: 'center',
289
+ width: '100%',
290
+ minHeight: 44,
291
+ },
276
292
  headerWrapper: {
277
293
  overflow: 'visible',
278
294
  },
@@ -299,6 +315,14 @@ const styles = StyleSheet.create({
299
315
  left: 0,
300
316
  right: 0,
301
317
  },
318
+ headerTitleContainer: {
319
+ position: 'absolute',
320
+ bottom: 0,
321
+ left: 0,
322
+ right: 0,
323
+ justifyContent: 'center',
324
+ alignItems: 'center',
325
+ },
302
326
  headerTitle: {
303
327
  position: 'absolute',
304
328
  },