react-native-animated-header-flat-list 1.4.1 → 1.4.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.
Files changed (38) hide show
  1. package/LICENSE +1 -1
  2. package/lib/module/components/AnimatedHeaderFlatList.js +5 -4
  3. package/lib/module/components/AnimatedHeaderFlatList.js.map +1 -1
  4. package/lib/module/hooks/useAnimatedHeaderFlatListAnimatedStyles.js +13 -2
  5. package/lib/module/hooks/useAnimatedHeaderFlatListAnimatedStyles.js.map +1 -1
  6. package/lib/typescript/src/components/AnimatedHeaderFlatList.d.ts.map +1 -0
  7. package/lib/typescript/{commonjs/src → src}/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts +1 -0
  8. package/lib/typescript/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts.map +1 -0
  9. package/lib/typescript/src/index.d.ts.map +1 -0
  10. package/lib/typescript/src/utils/styleUtils.d.ts.map +1 -0
  11. package/package.json +33 -50
  12. package/src/components/AnimatedHeaderFlatList.tsx +9 -4
  13. package/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.ts +17 -2
  14. package/lib/commonjs/components/AnimatedHeaderFlatList.js +0 -199
  15. package/lib/commonjs/components/AnimatedHeaderFlatList.js.map +0 -1
  16. package/lib/commonjs/hooks/useAnimatedHeaderFlatListAnimatedStyles.js +0 -119
  17. package/lib/commonjs/hooks/useAnimatedHeaderFlatListAnimatedStyles.js.map +0 -1
  18. package/lib/commonjs/index.js +0 -13
  19. package/lib/commonjs/index.js.map +0 -1
  20. package/lib/commonjs/utils/styleUtils.js +0 -21
  21. package/lib/commonjs/utils/styleUtils.js.map +0 -1
  22. package/lib/typescript/commonjs/package.json +0 -1
  23. package/lib/typescript/commonjs/src/components/AnimatedHeaderFlatList.d.ts.map +0 -1
  24. package/lib/typescript/commonjs/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts.map +0 -1
  25. package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
  26. package/lib/typescript/commonjs/src/utils/styleUtils.d.ts.map +0 -1
  27. package/lib/typescript/module/package.json +0 -1
  28. package/lib/typescript/module/src/components/AnimatedHeaderFlatList.d.ts +0 -20
  29. package/lib/typescript/module/src/components/AnimatedHeaderFlatList.d.ts.map +0 -1
  30. package/lib/typescript/module/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts +0 -27
  31. package/lib/typescript/module/src/hooks/useAnimatedHeaderFlatListAnimatedStyles.d.ts.map +0 -1
  32. package/lib/typescript/module/src/index.d.ts +0 -3
  33. package/lib/typescript/module/src/index.d.ts.map +0 -1
  34. package/lib/typescript/module/src/utils/styleUtils.d.ts +0 -3
  35. package/lib/typescript/module/src/utils/styleUtils.d.ts.map +0 -1
  36. /package/lib/typescript/{commonjs/src → src}/components/AnimatedHeaderFlatList.d.ts +0 -0
  37. /package/lib/typescript/{commonjs/src → src}/index.d.ts +0 -0
  38. /package/lib/typescript/{commonjs/src → src}/utils/styleUtils.d.ts +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Karen
3
+ Copyright (c) 2025 Karen
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  of this software and associated documentation files (the "Software"), to deal
6
6
  in the Software without restriction, including without limitation the rights
@@ -30,6 +30,7 @@ export function AnimatedHeaderFlatList({
30
30
  setHeaderTitleLayout,
31
31
  stickyComponentLayout,
32
32
  setStickyComponentLayout,
33
+ stickyComponentAnimatedStyle,
33
34
  navigationBarAnimatedStyle,
34
35
  navigationTitleAnimatedStyle,
35
36
  headerTitleAnimatedStyle,
@@ -104,8 +105,8 @@ export function AnimatedHeaderFlatList({
104
105
  bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
105
106
  }],
106
107
  children: ListHeaderComponent
107
- }), StickyComponent && /*#__PURE__*/_jsx(View, {
108
- style: styles.stickyComponentContainer,
108
+ }), StickyComponent && /*#__PURE__*/_jsx(Animated.View, {
109
+ style: [styles.stickyComponentContainer, stickyComponentAnimatedStyle],
109
110
  onLayout: event => {
110
111
  setStickyComponentLayout(event.nativeEvent.layout);
111
112
  },
@@ -116,7 +117,7 @@ export function AnimatedHeaderFlatList({
116
117
  return flatListProps.renderItem && typeof flatListProps.renderItem === 'function' ? flatListProps.renderItem({
117
118
  item
118
119
  }) : null;
119
- }, [flatListProps, navigationBarHeight, stickyComponentLayout.height, stickyHeaderAnimatedStyle, headerLayout.height, ListHeaderComponent, StickyComponent, setStickyComponentLayout]);
120
+ }, [flatListProps, navigationBarHeight, stickyComponentLayout.height, stickyComponentAnimatedStyle, stickyHeaderAnimatedStyle, headerLayout.height, ListHeaderComponent, StickyComponent, setStickyComponentLayout]);
120
121
  const data = useMemo(() => {
121
122
  const listData = Array.isArray(flatListProps.data) ? flatListProps.data : [];
122
123
  return [HEADER_ITEM, ...listData];
@@ -157,7 +158,7 @@ const styles = StyleSheet.create({
157
158
  overflow: 'visible'
158
159
  },
159
160
  stickyHeaderContainer: {
160
- overflow: 'scroll'
161
+ width: '100%'
161
162
  },
162
163
  stickyHeader: {
163
164
  position: 'absolute',
@@ -1 +1 @@
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","navigationBarColor","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","navigationTitleTranslateX","navigationTitleTranslateY","flatListProps","scrollHandler","navigationBarHeight","headerLayout","setHeaderLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","navigationBarAnimatedStyle","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","animatedNavigationBar","backgroundColor","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","translucent","FlatList","stickyHeaderIndices","mainHeaderContainer","transform","translateY","onScroll","create","overflow","position","left","right"],"sourceRoot":"../../../src","sources":["components/AnimatedHeaderFlatList.tsx"],"mappings":"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","ignoreList":[]}
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","navigationBarColor","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","navigationTitleTranslateX","navigationTitleTranslateY","flatListProps","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","ListHeaderComponent","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","mainHeaderContainer","transform","translateY","onScroll","create","overflow","position","left","right","width"],"sourceRoot":"../../../src","sources":["components/AnimatedHeaderFlatList.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useHeaderHeight } from '@react-navigation/elements';
4
- import { useState } from 'react';
4
+ import { useCallback, useState } from 'react';
5
5
  import { useWindowDimensions } from 'react-native';
6
6
  import { interpolate, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
7
7
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -29,7 +29,7 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
29
29
  width: 0,
30
30
  height: 0
31
31
  });
32
- const [stickyComponentLayout, setStickyComponentLayout] = useState({
32
+ const [stickyComponentLayout, updateStickyComponentLayout] = useState({
33
33
  x: 0,
34
34
  y: 0,
35
35
  width: 0,
@@ -38,6 +38,11 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
38
38
  const distanceBetweenTitleAndNavigationBar = (navigationBarHeight - safeAreaInsets.top + headerTitleLayout.height) / 2 + headerTitleLayout.y - navigationBarHeight;
39
39
  const navigationTitleOpacity = useSharedValue(0);
40
40
  const stickyHeaderOpacity = useSharedValue(0);
41
+ const stickyComponentOpacity = useSharedValue(0);
42
+ const setStickyComponentLayout = useCallback(layout => {
43
+ updateStickyComponentLayout(layout);
44
+ stickyComponentOpacity.value = layout.height > 0 ? 1 : 0;
45
+ }, [updateStickyComponentLayout, stickyComponentOpacity]);
41
46
  const navigationBarAnimatedStyle = useAnimatedStyle(() => {
42
47
  return {
43
48
  opacity: interpolate(scrollY.value, [0, headerLayout.height - navigationBarHeight * 2], [0, 1], 'clamp'),
@@ -89,6 +94,11 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
89
94
  }]
90
95
  };
91
96
  });
97
+ const stickyComponentAnimatedStyle = useAnimatedStyle(() => {
98
+ return {
99
+ opacity: stickyComponentOpacity.value
100
+ };
101
+ });
92
102
  const scrollHandler = useAnimatedScrollHandler(event => {
93
103
  scrollY.value = event.contentOffset.y;
94
104
  navigationTitleOpacity.value = event.contentOffset.y >= distanceBetweenTitleAndNavigationBar ? 1 : 0;
@@ -103,6 +113,7 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
103
113
  setHeaderTitleLayout,
104
114
  stickyComponentLayout,
105
115
  setStickyComponentLayout,
116
+ stickyComponentAnimatedStyle,
106
117
  navigationBarAnimatedStyle,
107
118
  navigationTitleAnimatedStyle,
108
119
  headerTitleAnimatedStyle,
@@ -1 +1 @@
1
- {"version":3,"names":["useHeaderHeight","useState","useWindowDimensions","interpolate","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","useSafeAreaInsets","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","navigationTitleTranslateX","navigationTitleTranslateY","width","windowWidth","scrollY","navigationBarHeight","safeAreaInsets","headerLayout","setHeaderLayout","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationBarAnimatedStyle","opacity","value","marginBottom","Math","max","navigationTitleAnimatedStyle","transform","translateX","translateY","headerTitleAnimatedStyle","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","scrollHandler","event","contentOffset"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useHeaderHeight","useCallback","useState","useWindowDimensions","interpolate","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","useSafeAreaInsets","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","navigationTitleTranslateX","navigationTitleTranslateY","width","windowWidth","scrollY","navigationBarHeight","safeAreaInsets","headerLayout","setHeaderLayout","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","updateStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","stickyComponentOpacity","setStickyComponentLayout","layout","value","navigationBarAnimatedStyle","opacity","marginBottom","Math","max","navigationTitleAnimatedStyle","transform","translateX","translateY","headerTitleAnimatedStyle","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","stickyComponentAnimatedStyle","scrollHandler","event","contentOffset"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAKvE,UAAU,KAAK;IAEb,UAAU,EAAE,GAAG,CAAC;IAChB,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;AAIR,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAe,EACf,yBAA6B,EAC7B,yBAA6B,EAC7B,GAAG,aAAa,EACjB,EAAE,2BAA2B,CAAC,CAAC,CAAC,2CAgNhC"}
@@ -15,6 +15,7 @@ type AnimatedHeaderFlatListAnimatedStyles = {
15
15
  setHeaderTitleLayout: (layout: LayoutRectangle) => void;
16
16
  stickyComponentLayout: LayoutRectangle;
17
17
  setStickyComponentLayout: (layout: LayoutRectangle) => void;
18
+ stickyComponentAnimatedStyle: AnimatedStyle<ViewStyle>;
18
19
  navigationBarAnimatedStyle: AnimatedStyle<ViewStyle>;
19
20
  navigationTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
20
21
  headerTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
@@ -0,0 +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;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,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,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,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,GAAI,yGAKrD,yCAAyC,KAAG,oCAmL9C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/styleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,CAAC,SAAS,CAAC,uBAgBnE,CAAC"}
package/package.json CHANGED
@@ -1,21 +1,16 @@
1
1
  {
2
2
  "name": "react-native-animated-header-flat-list",
3
- "version": "1.4.1",
3
+ "version": "1.4.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
- "main": "./lib/commonjs/index.js",
7
- "module": "./lib/module/index.js",
6
+ "main": "./lib/module/index.js",
7
+ "types": "./lib/typescript/src/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "import": {
11
- "types": "./lib/typescript/module/src/index.d.ts",
12
- "default": "./lib/module/index.js"
13
- },
14
- "require": {
15
- "types": "./lib/typescript/commonjs/src/index.d.ts",
16
- "default": "./lib/commonjs/index.js"
17
- }
18
- }
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
19
14
  },
20
15
  "files": [
21
16
  "src",
@@ -43,8 +38,7 @@
43
38
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
44
39
  "clean": "del-cli lib",
45
40
  "prepare": "bob build",
46
- "release": "release-it",
47
- "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\""
41
+ "release": "release-it"
48
42
  },
49
43
  "keywords": [
50
44
  "react-native",
@@ -67,32 +61,32 @@
67
61
  "registry": "https://registry.npmjs.org/"
68
62
  },
69
63
  "devDependencies": {
70
- "@commitlint/config-conventional": "17.7.0",
71
- "@evilmartians/lefthook": "^1.11.3",
72
- "@react-native/eslint-config": "0.78.0",
73
- "@react-navigation/elements": "^2.2.6",
74
- "@react-navigation/native": "^7.0.15",
75
- "@react-navigation/native-stack": "^7.2.1",
76
- "@release-it/conventional-changelog": "7.0.0",
77
- "@types/jest": "^29.5.14",
78
- "@types/react": "^19.0.10",
64
+ "@commitlint/config-conventional": "^19.6.0",
65
+ "@eslint/compat": "^1.2.7",
66
+ "@eslint/eslintrc": "^3.3.0",
67
+ "@eslint/js": "^9.22.0",
68
+ "@evilmartians/lefthook": "^1.5.0",
69
+ "@react-native/eslint-config": "^0.78.0",
70
+ "@react-navigation/elements": "^2.3.8",
71
+ "@react-navigation/native": "^7.1.6",
72
+ "@react-navigation/native-stack": "^7.3.10",
73
+ "@release-it/conventional-changelog": "^9.0.2",
74
+ "@types/jest": "^29.5.5",
75
+ "@types/react": "^19.0.12",
79
76
  "commitlint": "^19.6.1",
80
- "del-cli": "^6.0.0",
81
- "eslint": "8.57.0",
82
- "eslint-config-prettier": "^9.1.0",
77
+ "del-cli": "^5.1.0",
78
+ "eslint": "^9.22.0",
79
+ "eslint-config-prettier": "^10.1.1",
83
80
  "eslint-plugin-prettier": "^5.2.3",
84
81
  "jest": "^29.7.0",
85
- "prettier": "^3.5.3",
86
- "react": "19.0.0",
87
- "react-native": "0.78.0",
88
- "react-native-builder-bob": "^0.37.0",
89
- "react-native-reanimated": "^3.17.1",
82
+ "prettier": "^3.0.3",
83
+ "react": "18.3.1",
84
+ "react-native": "0.76.9",
85
+ "react-native-builder-bob": "0.37.0",
86
+ "react-native-reanimated": "^3.17.4",
90
87
  "react-native-safe-area-context": "^5.3.0",
91
- "release-it": "16.1.5",
92
- "typescript": "^5.8.2"
93
- },
94
- "resolutions": {
95
- "@types/react": "^19.0.10"
88
+ "release-it": "^17.10.0",
89
+ "typescript": "^5.2.2"
96
90
  },
97
91
  "peerDependencies": {
98
92
  "@react-navigation/elements": ">=2.0.0",
@@ -101,7 +95,7 @@
101
95
  "react": "*",
102
96
  "react-native": "*",
103
97
  "react-native-reanimated": ">=3.0.0",
104
- "react-native-safe-area-context": ">=4.0.0"
98
+ "react-native-safe-area-context": ">=5.0.0"
105
99
  },
106
100
  "workspaces": [
107
101
  "example"
@@ -139,10 +133,6 @@
139
133
  }
140
134
  }
141
135
  },
142
- "eslintIgnore": [
143
- "node_modules/",
144
- "lib/"
145
- ],
146
136
  "prettier": {
147
137
  "quoteProps": "consistent",
148
138
  "singleQuote": true,
@@ -154,12 +144,6 @@
154
144
  "source": "src",
155
145
  "output": "lib",
156
146
  "targets": [
157
- [
158
- "commonjs",
159
- {
160
- "esm": true
161
- }
162
- ],
163
147
  [
164
148
  "module",
165
149
  {
@@ -169,8 +153,7 @@
169
153
  [
170
154
  "typescript",
171
155
  {
172
- "project": "tsconfig.build.json",
173
- "esm": true
156
+ "project": "tsconfig.build.json"
174
157
  }
175
158
  ]
176
159
  ]
@@ -178,6 +161,6 @@
178
161
  "create-react-native-library": {
179
162
  "languages": "js",
180
163
  "type": "library",
181
- "version": "0.44.2"
164
+ "version": "0.49.8"
182
165
  }
183
166
  }
@@ -60,6 +60,7 @@ export function AnimatedHeaderFlatList<T>({
60
60
  setHeaderTitleLayout,
61
61
  stickyComponentLayout,
62
62
  setStickyComponentLayout,
63
+ stickyComponentAnimatedStyle,
63
64
  navigationBarAnimatedStyle,
64
65
  navigationTitleAnimatedStyle,
65
66
  headerTitleAnimatedStyle,
@@ -193,14 +194,17 @@ export function AnimatedHeaderFlatList<T>({
193
194
  {ListHeaderComponent}
194
195
  </Animated.View>
195
196
  {StickyComponent && (
196
- <View
197
- style={styles.stickyComponentContainer}
197
+ <Animated.View
198
+ style={[
199
+ styles.stickyComponentContainer,
200
+ stickyComponentAnimatedStyle,
201
+ ]}
198
202
  onLayout={(event: LayoutChangeEvent) => {
199
203
  setStickyComponentLayout(event.nativeEvent.layout);
200
204
  }}
201
205
  >
202
206
  <StickyComponent />
203
- </View>
207
+ </Animated.View>
204
208
  )}
205
209
  </View>
206
210
  );
@@ -214,6 +218,7 @@ export function AnimatedHeaderFlatList<T>({
214
218
  flatListProps,
215
219
  navigationBarHeight,
216
220
  stickyComponentLayout.height,
221
+ stickyComponentAnimatedStyle,
217
222
  stickyHeaderAnimatedStyle,
218
223
  headerLayout.height,
219
224
  ListHeaderComponent,
@@ -270,7 +275,7 @@ const styles = StyleSheet.create({
270
275
  overflow: 'visible',
271
276
  },
272
277
  stickyHeaderContainer: {
273
- overflow: 'scroll',
278
+ width: '100%',
274
279
  },
275
280
  stickyHeader: {
276
281
  position: 'absolute',
@@ -1,5 +1,5 @@
1
1
  import { useHeaderHeight } from '@react-navigation/elements';
2
- import { useState } from 'react';
2
+ import { useCallback, useState } from 'react';
3
3
  import {
4
4
  useWindowDimensions,
5
5
  type LayoutRectangle,
@@ -31,6 +31,7 @@ type AnimatedHeaderFlatListAnimatedStyles = {
31
31
  setHeaderTitleLayout: (layout: LayoutRectangle) => void;
32
32
  stickyComponentLayout: LayoutRectangle;
33
33
  setStickyComponentLayout: (layout: LayoutRectangle) => void;
34
+ stickyComponentAnimatedStyle: AnimatedStyle<ViewStyle>;
34
35
  navigationBarAnimatedStyle: AnimatedStyle<ViewStyle>;
35
36
  navigationTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
36
37
  headerTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
@@ -61,7 +62,7 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
61
62
  width: 0,
62
63
  height: 0,
63
64
  });
64
- const [stickyComponentLayout, setStickyComponentLayout] =
65
+ const [stickyComponentLayout, updateStickyComponentLayout] =
65
66
  useState<LayoutRectangle>({
66
67
  x: 0,
67
68
  y: 0,
@@ -74,6 +75,14 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
74
75
  navigationBarHeight;
75
76
  const navigationTitleOpacity = useSharedValue(0);
76
77
  const stickyHeaderOpacity = useSharedValue(0);
78
+ const stickyComponentOpacity = useSharedValue(0);
79
+ const setStickyComponentLayout = useCallback(
80
+ (layout: LayoutRectangle) => {
81
+ updateStickyComponentLayout(layout);
82
+ stickyComponentOpacity.value = layout.height > 0 ? 1 : 0;
83
+ },
84
+ [updateStickyComponentLayout, stickyComponentOpacity]
85
+ );
77
86
  const navigationBarAnimatedStyle = useAnimatedStyle(() => {
78
87
  return {
79
88
  opacity: interpolate(
@@ -183,6 +192,11 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
183
192
  ],
184
193
  };
185
194
  });
195
+ const stickyComponentAnimatedStyle = useAnimatedStyle(() => {
196
+ return {
197
+ opacity: stickyComponentOpacity.value,
198
+ };
199
+ });
186
200
  const scrollHandler = useAnimatedScrollHandler((event) => {
187
201
  scrollY.value = event.contentOffset.y;
188
202
  navigationTitleOpacity.value =
@@ -202,6 +216,7 @@ export const useAnimatedHeaderFlatListAnimatedStyles = ({
202
216
  setHeaderTitleLayout,
203
217
  stickyComponentLayout,
204
218
  setStickyComponentLayout,
219
+ stickyComponentAnimatedStyle,
205
220
  navigationBarAnimatedStyle,
206
221
  navigationTitleAnimatedStyle,
207
222
  headerTitleAnimatedStyle,
@@ -1,199 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AnimatedHeaderFlatList = AnimatedHeaderFlatList;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
- var _useAnimatedHeaderFlatListAnimatedStyles = require("../hooks/useAnimatedHeaderFlatListAnimatedStyles.js");
11
- var _styleUtils = require("../utils/styleUtils.js");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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
- 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
- const HEADER_ITEM = 'REACT_NATIVE_ANIMATED_HEADER_FLAT_LIST_HEADER';
17
- function AnimatedHeaderFlatList({
18
- navigation,
19
- title,
20
- navigationBarColor,
21
- headerTitleStyle,
22
- navigationTitleStyle,
23
- HeaderBackground,
24
- HeaderContent,
25
- StickyComponent,
26
- parallax = true,
27
- navigationTitleTranslateX = 0,
28
- navigationTitleTranslateY = 0,
29
- ...flatListProps
30
- }) {
31
- const {
32
- scrollHandler,
33
- navigationBarHeight,
34
- headerLayout,
35
- setHeaderLayout,
36
- setHeaderTitleLayout,
37
- stickyComponentLayout,
38
- setStickyComponentLayout,
39
- navigationBarAnimatedStyle,
40
- navigationTitleAnimatedStyle,
41
- headerTitleAnimatedStyle,
42
- stickyHeaderAnimatedStyle,
43
- headerContentAnimatedStyle,
44
- headerBackgroundAnimatedStyle
45
- } = (0, _useAnimatedHeaderFlatListAnimatedStyles.useAnimatedHeaderFlatListAnimatedStyles)({
46
- headerTitleFontSize: (0, _styleUtils.getFontSizeFromStyle)(headerTitleStyle),
47
- navigationTitleFontSize: (0, _styleUtils.getFontSizeFromStyle)(navigationTitleStyle),
48
- navigationTitleTranslateX,
49
- navigationTitleTranslateY
50
- });
51
- const navigationTitle = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
52
- style: [navigationTitleAnimatedStyle, navigationTitleStyle],
53
- numberOfLines: 1,
54
- children: title
55
- }), [navigationTitleAnimatedStyle, navigationTitleStyle, title]);
56
- (0, _react.useLayoutEffect)(() => {
57
- navigation.setOptions({
58
- headerShown: true,
59
- headerStyle: styles.navigationBar,
60
- headerShadowVisible: false,
61
- headerTransparent: true,
62
- headerTitle: navigationTitle,
63
- headerTitleAlign: 'center'
64
- });
65
- }, [navigationTitle, navigation]);
66
- const ListHeaderComponent = (0, _react.useMemo)(() => {
67
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
68
- style: styles.headerWrapper,
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
70
- style: [styles.headerContainer, {
71
- top: -navigationBarHeight
72
- }],
73
- onLayout: event => {
74
- setHeaderLayout({
75
- ...event.nativeEvent.layout,
76
- height: event.nativeEvent.layout.height + navigationBarHeight
77
- });
78
- },
79
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
80
- style: parallax ? headerBackgroundAnimatedStyle : undefined,
81
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderBackground, {})
82
- }), HeaderContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
83
- style: [headerContentAnimatedStyle, styles.headerContentContainer],
84
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderContent, {})
85
- }), navigationBarColor && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
86
- style: [navigationBarAnimatedStyle, styles.animatedNavigationBar, {
87
- backgroundColor: navigationBarColor
88
- }]
89
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
90
- onLayout: event => {
91
- setHeaderTitleLayout(event.nativeEvent.layout);
92
- },
93
- numberOfLines: 1,
94
- style: [headerTitleAnimatedStyle, styles.headerTitle, headerTitleStyle],
95
- children: title
96
- })]
97
- })
98
- });
99
- }, [navigationBarHeight, parallax, headerBackgroundAnimatedStyle, HeaderBackground, HeaderContent, headerContentAnimatedStyle, headerTitleAnimatedStyle, headerTitleStyle, title, setHeaderLayout, setHeaderTitleLayout, navigationBarAnimatedStyle, navigationBarColor]);
100
- const renderItem = (0, _react.useCallback)(({
101
- item
102
- }) => {
103
- if (item === HEADER_ITEM) {
104
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
105
- style: [styles.stickyHeaderContainer, {
106
- height: navigationBarHeight + stickyComponentLayout.height
107
- }],
108
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
109
- style: [stickyHeaderAnimatedStyle, styles.stickyHeader, {
110
- bottom: headerLayout.height - navigationBarHeight * 2 + stickyComponentLayout.height
111
- }],
112
- children: ListHeaderComponent
113
- }), StickyComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
114
- style: styles.stickyComponentContainer,
115
- onLayout: event => {
116
- setStickyComponentLayout(event.nativeEvent.layout);
117
- },
118
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyComponent, {})
119
- })]
120
- });
121
- }
122
- return flatListProps.renderItem && typeof flatListProps.renderItem === 'function' ? flatListProps.renderItem({
123
- item
124
- }) : null;
125
- }, [flatListProps, navigationBarHeight, stickyComponentLayout.height, stickyHeaderAnimatedStyle, headerLayout.height, ListHeaderComponent, StickyComponent, setStickyComponentLayout]);
126
- const data = (0, _react.useMemo)(() => {
127
- const listData = Array.isArray(flatListProps.data) ? flatListProps.data : [];
128
- return [HEADER_ITEM, ...listData];
129
- }, [flatListProps.data]);
130
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
131
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.StatusBar, {
132
- backgroundColor: "transparent",
133
- translucent: true
134
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.FlatList, {
135
- ...flatListProps,
136
- stickyHeaderIndices: [1],
137
- ListHeaderComponent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
138
- style: [styles.mainHeaderContainer, {
139
- height: headerLayout.height - navigationBarHeight * 2,
140
- transform: [{
141
- translateY: navigationBarHeight
142
- }]
143
- }],
144
- children: ListHeaderComponent
145
- }),
146
- onScroll: scrollHandler,
147
- data: data,
148
- renderItem: renderItem
149
- })]
150
- });
151
- }
152
- const styles = _reactNative.StyleSheet.create({
153
- navigationBar: {
154
- backgroundColor: 'transparent'
155
- },
156
- headerWrapper: {
157
- overflow: 'visible'
158
- },
159
- headerContainer: {
160
- position: 'absolute',
161
- left: 0,
162
- right: 0,
163
- overflow: 'visible'
164
- },
165
- stickyHeaderContainer: {
166
- overflow: 'scroll'
167
- },
168
- stickyHeader: {
169
- position: 'absolute',
170
- left: 0,
171
- right: 0
172
- },
173
- mainHeaderContainer: {
174
- overflow: 'visible'
175
- },
176
- animatedNavigationBar: {
177
- position: 'absolute',
178
- bottom: 0,
179
- left: 0,
180
- right: 0
181
- },
182
- headerTitle: {
183
- position: 'absolute'
184
- },
185
- stickyComponentContainer: {
186
- position: 'absolute',
187
- bottom: 0,
188
- left: 0,
189
- right: 0
190
- },
191
- headerContentContainer: {
192
- position: 'absolute',
193
- top: 0,
194
- left: 0,
195
- right: 0,
196
- bottom: 0
197
- }
198
- });
199
- //# sourceMappingURL=AnimatedHeaderFlatList.js.map
@@ -1 +0,0 @@
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","navigationBarColor","headerTitleStyle","navigationTitleStyle","HeaderBackground","HeaderContent","StickyComponent","parallax","navigationTitleTranslateX","navigationTitleTranslateY","flatListProps","scrollHandler","navigationBarHeight","headerLayout","setHeaderLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","navigationBarAnimatedStyle","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","animatedNavigationBar","backgroundColor","renderItem","item","stickyHeaderContainer","stickyHeader","bottom","stickyComponentContainer","data","listData","Array","isArray","Fragment","StatusBar","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":[]}
@@ -1,119 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useAnimatedHeaderFlatListAnimatedStyles = void 0;
7
- var _elements = require("@react-navigation/elements");
8
- var _react = require("react");
9
- var _reactNative = require("react-native");
10
- var _reactNativeReanimated = require("react-native-reanimated");
11
- var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
12
- const useAnimatedHeaderFlatListAnimatedStyles = ({
13
- headerTitleFontSize,
14
- navigationTitleFontSize,
15
- navigationTitleTranslateX = 0,
16
- navigationTitleTranslateY = 0
17
- }) => {
18
- const {
19
- width: windowWidth
20
- } = (0, _reactNative.useWindowDimensions)();
21
- const scrollY = (0, _reactNativeReanimated.useSharedValue)(0);
22
- const navigationBarHeight = (0, _elements.useHeaderHeight)();
23
- const safeAreaInsets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
24
- const [headerLayout, setHeaderLayout] = (0, _react.useState)({
25
- x: 0,
26
- y: 0,
27
- width: 0,
28
- height: 0
29
- });
30
- const [headerTitleLayout, setHeaderTitleLayout] = (0, _react.useState)({
31
- x: 0,
32
- y: 0,
33
- width: 0,
34
- height: 0
35
- });
36
- const [stickyComponentLayout, setStickyComponentLayout] = (0, _react.useState)({
37
- x: 0,
38
- y: 0,
39
- width: 0,
40
- height: 0
41
- });
42
- const distanceBetweenTitleAndNavigationBar = (navigationBarHeight - safeAreaInsets.top + headerTitleLayout.height) / 2 + headerTitleLayout.y - navigationBarHeight;
43
- const navigationTitleOpacity = (0, _reactNativeReanimated.useSharedValue)(0);
44
- const stickyHeaderOpacity = (0, _reactNativeReanimated.useSharedValue)(0);
45
- const navigationBarAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
46
- return {
47
- opacity: (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, headerLayout.height - navigationBarHeight * 2], [0, 1], 'clamp'),
48
- marginBottom: Math.max(0, headerLayout.height - navigationBarHeight * 2 - scrollY.value),
49
- height: navigationBarHeight
50
- };
51
- });
52
- const navigationTitleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
53
- return {
54
- opacity: navigationTitleOpacity.value,
55
- transform: [{
56
- translateX: navigationTitleTranslateX
57
- }, {
58
- translateY: navigationTitleTranslateY
59
- }]
60
- };
61
- });
62
- const headerTitleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
63
- return {
64
- opacity: 1 - navigationTitleOpacity.value,
65
- transform: [{
66
- translateX: (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, distanceBetweenTitleAndNavigationBar], [0, windowWidth / 2 - headerTitleLayout.x - headerTitleLayout.width / 2 + navigationTitleTranslateX], 'clamp')
67
- }, {
68
- translateY: (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, distanceBetweenTitleAndNavigationBar], [0, navigationTitleTranslateY], 'clamp')
69
- }, {
70
- scale: (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, distanceBetweenTitleAndNavigationBar], [1, navigationTitleFontSize && headerTitleFontSize ? navigationTitleFontSize / headerTitleFontSize : 1], 'clamp')
71
- }]
72
- };
73
- });
74
- const stickyHeaderAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
75
- return {
76
- opacity: stickyHeaderOpacity.value
77
- };
78
- });
79
- const headerContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
80
- return {
81
- opacity: (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, headerLayout.height - navigationBarHeight * 2], [1, 0], 'clamp')
82
- };
83
- });
84
- const headerBackgroundAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
85
- if (scrollY.value >= 0) {
86
- return {};
87
- }
88
- return {
89
- transform: [{
90
- translateY: (0, _reactNativeReanimated.interpolate)(scrollY.value, [scrollY.value, 0], [scrollY.value / 2, 0], 'clamp')
91
- }, {
92
- scale: (0, _reactNativeReanimated.interpolate)(scrollY.value, [scrollY.value, 0], [1 - scrollY.value / (headerLayout.height - navigationBarHeight), 1], 'clamp')
93
- }]
94
- };
95
- });
96
- const scrollHandler = (0, _reactNativeReanimated.useAnimatedScrollHandler)(event => {
97
- scrollY.value = event.contentOffset.y;
98
- navigationTitleOpacity.value = event.contentOffset.y >= distanceBetweenTitleAndNavigationBar ? 1 : 0;
99
- stickyHeaderOpacity.value = event.contentOffset.y >= headerLayout.height - navigationBarHeight * 2 ? 1 : 0;
100
- });
101
- return {
102
- scrollHandler,
103
- navigationBarHeight,
104
- headerLayout,
105
- setHeaderLayout,
106
- headerTitleLayout,
107
- setHeaderTitleLayout,
108
- stickyComponentLayout,
109
- setStickyComponentLayout,
110
- navigationBarAnimatedStyle,
111
- navigationTitleAnimatedStyle,
112
- headerTitleAnimatedStyle,
113
- stickyHeaderAnimatedStyle,
114
- headerContentAnimatedStyle,
115
- headerBackgroundAnimatedStyle
116
- };
117
- };
118
- exports.useAnimatedHeaderFlatListAnimatedStyles = useAnimatedHeaderFlatListAnimatedStyles;
119
- //# sourceMappingURL=useAnimatedHeaderFlatListAnimatedStyles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_elements","require","_react","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","useAnimatedHeaderFlatListAnimatedStyles","headerTitleFontSize","navigationTitleFontSize","navigationTitleTranslateX","navigationTitleTranslateY","width","windowWidth","useWindowDimensions","scrollY","useSharedValue","navigationBarHeight","useHeaderHeight","safeAreaInsets","useSafeAreaInsets","headerLayout","setHeaderLayout","useState","x","y","height","headerTitleLayout","setHeaderTitleLayout","stickyComponentLayout","setStickyComponentLayout","distanceBetweenTitleAndNavigationBar","top","navigationTitleOpacity","stickyHeaderOpacity","navigationBarAnimatedStyle","useAnimatedStyle","opacity","interpolate","value","marginBottom","Math","max","navigationTitleAnimatedStyle","transform","translateX","translateY","headerTitleAnimatedStyle","scale","stickyHeaderAnimatedStyle","headerContentAnimatedStyle","headerBackgroundAnimatedStyle","scrollHandler","useAnimatedScrollHandler","event","contentOffset","exports"],"sourceRoot":"../../../src","sources":["hooks/useAnimatedHeaderFlatListAnimatedStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "AnimatedHeaderFlatList", {
7
- enumerable: true,
8
- get: function () {
9
- return _AnimatedHeaderFlatList.AnimatedHeaderFlatList;
10
- }
11
- });
12
- var _AnimatedHeaderFlatList = require("./components/AnimatedHeaderFlatList.js");
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_AnimatedHeaderFlatList","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getFontSizeFromStyle = void 0;
7
- const getFontSizeFromStyle = textStyle => {
8
- if (!textStyle) return undefined;
9
- if (Array.isArray(textStyle)) {
10
- for (const styleItem of textStyle.reverse()) {
11
- if (styleItem && typeof styleItem === 'object' && 'fontSize' in styleItem) {
12
- return styleItem.fontSize;
13
- }
14
- }
15
- } else if (typeof textStyle === 'object' && 'fontSize' in textStyle) {
16
- return textStyle.fontSize;
17
- }
18
- return undefined;
19
- };
20
- exports.getFontSizeFromStyle = getFontSizeFromStyle;
21
- //# sourceMappingURL=styleUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getFontSizeFromStyle","textStyle","undefined","Array","isArray","styleItem","reverse","fontSize","exports"],"sourceRoot":"../../../src","sources":["utils/styleUtils.ts"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAIC,SAA+B,IAAK;EACvE,IAAI,CAACA,SAAS,EAAE,OAAOC,SAAS;EAChC,IAAIC,KAAK,CAACC,OAAO,CAACH,SAAS,CAAC,EAAE;IAC5B,KAAK,MAAMI,SAAS,IAAIJ,SAAS,CAACK,OAAO,CAAC,CAAC,EAAE;MAC3C,IACED,SAAS,IACT,OAAOA,SAAS,KAAK,QAAQ,IAC7B,UAAU,IAAIA,SAAS,EACvB;QACA,OAAOA,SAAS,CAACE,QAAQ;MAC3B;IACF;EACF,CAAC,MAAM,IAAI,OAAON,SAAS,KAAK,QAAQ,IAAI,UAAU,IAAIA,SAAS,EAAE;IACnE,OAAOA,SAAS,CAACM,QAAQ;EAC3B;EACA,OAAOL,SAAS;AAClB,CAAC;AAACM,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"type":"commonjs"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAKvE,UAAU,KAAK;IAEb,UAAU,EAAE,GAAG,CAAC;IAChB,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;AAIR,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAe,EACf,yBAA6B,EAC7B,yBAA6B,EAC7B,GAAG,aAAa,EACjB,EAAE,2BAA2B,CAAC,CAAC,CAAC,2CA2MhC"}
@@ -1 +0,0 @@
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;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,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,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,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,GAAI,yGAKrD,yCAAyC,KAAG,oCAqK9C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"styleUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/styleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,CAAC,SAAS,CAAC,uBAgBnE,CAAC"}
@@ -1 +0,0 @@
1
- {"type":"module"}
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { type ColorValue, type StyleProp, type TextStyle } from 'react-native';
3
- import type { FlatListPropsWithLayout } from 'react-native-reanimated';
4
- interface Props {
5
- navigation: any;
6
- title: string;
7
- navigationBarColor?: ColorValue;
8
- headerTitleStyle?: StyleProp<TextStyle>;
9
- navigationTitleStyle?: StyleProp<TextStyle>;
10
- HeaderBackground: React.ComponentType;
11
- HeaderContent?: React.ComponentType;
12
- StickyComponent?: React.ComponentType;
13
- parallax?: boolean;
14
- navigationTitleTranslateX?: number;
15
- navigationTitleTranslateY?: number;
16
- }
17
- type AnimatedHeaderFlatListProps<T> = Omit<FlatListPropsWithLayout<T>, keyof Props> & Props;
18
- export declare function AnimatedHeaderFlatList<T>({ navigation, title, navigationBarColor, headerTitleStyle, navigationTitleStyle, HeaderBackground, HeaderContent, StickyComponent, parallax, navigationTitleTranslateX, navigationTitleTranslateY, ...flatListProps }: AnimatedHeaderFlatListProps<T>): import("react/jsx-runtime").JSX.Element;
19
- export {};
20
- //# sourceMappingURL=AnimatedHeaderFlatList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnimatedHeaderFlatList.d.ts","sourceRoot":"","sources":["../../../../../src/components/AnimatedHeaderFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAKvE,UAAU,KAAK;IAEb,UAAU,EAAE,GAAG,CAAC;IAChB,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;AAIR,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAe,EACf,yBAA6B,EAC7B,yBAA6B,EAC7B,GAAG,aAAa,EACjB,EAAE,2BAA2B,CAAC,CAAC,CAAC,2CA2MhC"}
@@ -1,27 +0,0 @@
1
- import { type LayoutRectangle, type ViewStyle } from 'react-native';
2
- import { type AnimatedStyle, type ScrollHandlerProcessed } from 'react-native-reanimated';
3
- type AnimatedHeaderFlatListAnimatedStylesProps = {
4
- headerTitleFontSize?: number;
5
- navigationTitleFontSize?: number;
6
- navigationTitleTranslateX?: number;
7
- navigationTitleTranslateY?: number;
8
- };
9
- type AnimatedHeaderFlatListAnimatedStyles = {
10
- scrollHandler: ScrollHandlerProcessed<Record<string, unknown>>;
11
- navigationBarHeight: number;
12
- headerLayout: LayoutRectangle;
13
- setHeaderLayout: (layout: LayoutRectangle) => void;
14
- headerTitleLayout: LayoutRectangle;
15
- setHeaderTitleLayout: (layout: LayoutRectangle) => void;
16
- stickyComponentLayout: LayoutRectangle;
17
- setStickyComponentLayout: (layout: LayoutRectangle) => void;
18
- navigationBarAnimatedStyle: AnimatedStyle<ViewStyle>;
19
- navigationTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
20
- headerTitleAnimatedStyle: AnimatedStyle<ViewStyle>;
21
- stickyHeaderAnimatedStyle: AnimatedStyle<ViewStyle>;
22
- headerContentAnimatedStyle: AnimatedStyle<ViewStyle>;
23
- headerBackgroundAnimatedStyle: AnimatedStyle<ViewStyle>;
24
- };
25
- export declare const useAnimatedHeaderFlatListAnimatedStyles: ({ headerTitleFontSize, navigationTitleFontSize, navigationTitleTranslateX, navigationTitleTranslateY, }: AnimatedHeaderFlatListAnimatedStylesProps) => AnimatedHeaderFlatListAnimatedStyles;
26
- export {};
27
- //# sourceMappingURL=useAnimatedHeaderFlatListAnimatedStyles.d.ts.map
@@ -1 +0,0 @@
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;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,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,0BAA0B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,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,GAAI,yGAKrD,yCAAyC,KAAG,oCAqK9C,CAAC"}
@@ -1,3 +0,0 @@
1
- import { AnimatedHeaderFlatList } from './components/AnimatedHeaderFlatList';
2
- export { AnimatedHeaderFlatList };
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type StyleProp, type TextStyle } from 'react-native';
2
- export declare const getFontSizeFromStyle: (textStyle: StyleProp<TextStyle>) => number | undefined;
3
- //# sourceMappingURL=styleUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styleUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/styleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,CAAC,SAAS,CAAC,uBAgBnE,CAAC"}
File without changes