@r0b0t3d/react-native-collapsible 1.5.0-alpha.0 → 1.5.0-alpha.2

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.
@@ -14,7 +14,7 @@ function AnimatedTopView(_ref) {
14
14
  height
15
15
  } = _ref;
16
16
  const contentStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
17
- paddingTop: height.value
17
+ height: height.value
18
18
  }), []);
19
19
  return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
20
20
  style: contentStyle
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeReanimated","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AnimatedTopView","_ref","height","contentStyle","useAnimatedStyle","paddingTop","value","createElement","View","style"],"sourceRoot":"../../../../src","sources":["components/header/AnimatedTopView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAqE,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAf,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMtD,SAASiB,eAAeA,CAAAC,IAAA,EAAoB;EAAA,IAAnB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACvD,MAAME,YAAY,GAAG,IAAAC,uCAAgB,EACnC,OAAO;IACLC,UAAU,EAAEH,MAAM,CAACI;EACrB,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBAAOjC,MAAA,CAAAY,OAAA,CAAAsB,aAAA,CAAC/B,sBAAA,CAAAS,OAAQ,CAACuB,IAAI;IAACC,KAAK,EAAEN;EAAa,CAAE,CAAC;AAC/C"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeReanimated","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AnimatedTopView","_ref","height","contentStyle","useAnimatedStyle","value","createElement","View","style"],"sourceRoot":"../../../../src","sources":["components/header/AnimatedTopView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAqE,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAf,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMtD,SAASiB,eAAeA,CAAAC,IAAA,EAAoB;EAAA,IAAnB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACvD,MAAME,YAAY,GAAG,IAAAC,uCAAgB,EACnC,OAAO;IACLF,MAAM,EAAEA,MAAM,CAACG;EACjB,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBAAOhC,MAAA,CAAAY,OAAA,CAAAqB,aAAA,CAAC9B,sBAAA,CAAAS,OAAQ,CAACsB,IAAI;IAACC,KAAK,EAAEL;EAAa,CAAE,CAAC;AAC/C"}
@@ -26,13 +26,11 @@ function CollapsibleFlatList(_ref) {
26
26
  headerHeight
27
27
  } = (0, _useCollapsibleContext.default)();
28
28
  const {
29
- contentMinHeight,
30
29
  scrollViewRef,
31
- fixedHeaderHeight
30
+ fixedHeaderHeight,
31
+ contentMinHeight
32
32
  } = (0, _useInternalCollapsibleContext.default)();
33
33
  const mounted = (0, _react.useRef)(true);
34
- const contentHeight = (0, _react.useRef)(0);
35
- const [internalContentMinHeight, setInternalContentMinHeight] = (0, _react.useState)(contentMinHeight.value);
36
34
  const [internalProgressViewOffset, setInternalProgressViewOffset] = (0, _react.useState)(0);
37
35
  (0, _react.useEffect)(() => {
38
36
  return () => {
@@ -62,24 +60,13 @@ function CollapsibleFlatList(_ref) {
62
60
  scrollToIndex,
63
61
  scrollToLocation
64
62
  });
65
- const handleInternalContentHeight = (0, _react.useCallback)(value => {
66
- if (mounted.current) {
67
- setInternalContentMinHeight(value);
68
- }
69
- }, []);
70
63
  const handleInternalProgressViewOffset = (0, _react.useCallback)(value => {
71
64
  if (mounted.current) {
72
65
  setInternalProgressViewOffset(value);
73
66
  }
74
67
  }, []);
75
- (0, _reactNativeReanimated.useAnimatedReaction)(() => {
76
- return contentMinHeight.value;
77
- }, (result, previous) => {
78
- if (result !== previous) {
79
- if (contentHeight.current < result && internalContentMinHeight !== result) {
80
- (0, _reactNativeReanimated.runOnJS)(handleInternalContentHeight)(result);
81
- }
82
- }
68
+ const additionalBottomHeight = (0, _reactNativeReanimated.useDerivedValue)(() => {
69
+ return contentMinHeight.value - fixedHeaderHeight.value;
83
70
  });
84
71
  (0, _reactNativeReanimated.useAnimatedReaction)(() => {
85
72
  return fixedHeaderHeight.value;
@@ -88,35 +75,34 @@ function CollapsibleFlatList(_ref) {
88
75
  (0, _reactNativeReanimated.runOnJS)(handleInternalProgressViewOffset)(result);
89
76
  }
90
77
  });
91
- const contentContainerStyle = (0, _react.useMemo)(() => [styles.contentContainer, {
92
- minHeight: internalContentMinHeight
93
- }, props.contentContainerStyle], [props.contentContainerStyle, internalContentMinHeight]);
94
- const handleContentSizeChange = (0, _react.useCallback)((_, height) => {
95
- contentHeight.current = height;
96
- }, []);
97
78
  const handleScrollToIndexFailed = (0, _react.useCallback)(() => {}, []);
98
79
  function renderListHeader() {
99
80
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_AnimatedTopView.default, {
100
81
  height: headerHeight
101
82
  }), props.ListHeaderComponent);
102
83
  }
103
- return /*#__PURE__*/_react.default.createElement(AnimatedFlashList, _extends({
84
+ function renderListFooter() {
85
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, props.ListFooterComponent, /*#__PURE__*/_react.default.createElement(_AnimatedTopView.default, {
86
+ height: additionalBottomHeight
87
+ }));
88
+ }
89
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
90
+ style: [styles.container, props.style]
91
+ }, /*#__PURE__*/_react.default.createElement(AnimatedFlashList, _extends({
104
92
  ref: scrollViewRef,
105
93
  keyboardDismissMode: "on-drag",
106
94
  keyboardShouldPersistTaps: "handled",
107
95
  scrollEventThrottle: 1,
108
96
  onScrollToIndexFailed: handleScrollToIndexFailed
109
97
  }, props, {
110
- style: [styles.container, props.style]
111
- //@ts-ignore
112
- ,
113
- contentContainerStyle: contentContainerStyle,
114
98
  onScroll: scrollHandler,
115
99
  ListHeaderComponent: renderListHeader(),
116
- onContentSizeChange: handleContentSizeChange,
100
+ ListFooterComponent: renderListFooter()
101
+ //@ts-ignore
102
+ ,
117
103
  simultaneousHandlers: [],
118
104
  progressViewOffset: internalProgressViewOffset
119
- }));
105
+ })));
120
106
  }
121
107
  const styles = _reactNative.StyleSheet.create({
122
108
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_flashList","_useAnimatedScroll","_interopRequireDefault","_useInternalCollapsibleContext","_AnimatedTopView","_useCollapsibleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","AnimatedFlashList","Animated","createAnimatedComponent","FlashList","CollapsibleFlatList","_ref","headerSnappable","props","headerHeight","useCollapsibleContext","contentMinHeight","scrollViewRef","fixedHeaderHeight","useInternalCollapsibleContext","mounted","useRef","contentHeight","internalContentMinHeight","setInternalContentMinHeight","useState","value","internalProgressViewOffset","setInternalProgressViewOffset","useEffect","current","scrollTo","useCallback","yValue","_scrollViewRef$curren","animated","undefined","scrollToOffset","offset","scrollToIndex","params","_scrollViewRef$curren2","scrollToLocation","console","warn","scrollHandler","useAnimatedScroll","handleInternalContentHeight","handleInternalProgressViewOffset","useAnimatedReaction","result","previous","runOnJS","contentContainerStyle","useMemo","styles","contentContainer","minHeight","handleContentSizeChange","_","height","handleScrollToIndexFailed","renderListHeader","createElement","View","ListHeaderComponent","ref","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","onScrollToIndexFailed","style","container","onScroll","onContentSizeChange","simultaneousHandlers","progressViewOffset","StyleSheet","create","absoluteFillObject","flexGrow","topView","position","top","left","right"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleFlashList.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_flashList","_useAnimatedScroll","_interopRequireDefault","_useInternalCollapsibleContext","_AnimatedTopView","_useCollapsibleContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","AnimatedFlashList","Animated","createAnimatedComponent","FlashList","CollapsibleFlatList","_ref","headerSnappable","props","headerHeight","useCollapsibleContext","scrollViewRef","fixedHeaderHeight","contentMinHeight","useInternalCollapsibleContext","mounted","useRef","internalProgressViewOffset","setInternalProgressViewOffset","useState","useEffect","current","scrollTo","useCallback","yValue","_scrollViewRef$curren","animated","undefined","scrollToOffset","offset","scrollToIndex","params","_scrollViewRef$curren2","scrollToLocation","console","warn","scrollHandler","useAnimatedScroll","handleInternalProgressViewOffset","value","additionalBottomHeight","useDerivedValue","useAnimatedReaction","result","previous","runOnJS","handleScrollToIndexFailed","renderListHeader","createElement","View","height","ListHeaderComponent","renderListFooter","ListFooterComponent","style","styles","container","ref","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","onScrollToIndexFailed","onScroll","simultaneousHandlers","progressViewOffset","StyleSheet","create","absoluteFillObject","contentContainer","flexGrow","topView","position","top","left","right"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleFlashList.tsx"],"mappings":"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"}
@@ -62,6 +62,9 @@ function withCollapsibleContext(Component) {
62
62
  containerHeight.value = height;
63
63
  }, []);
64
64
  const handleScrollToView = (0, _react.useCallback)((ref, animated) => {
65
+ if (!ref.current) {
66
+ return;
67
+ }
65
68
  ref.current.measureLayout(containerRef.current, (_left, top, _width, _height) => {
66
69
  var _collapsibleHandlers$;
67
70
  const headerContainers = Object.keys(headerContainerLayouts.current).filter(k => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useCollapsibleContext","_useInternalCollapsibleContext","_reactNativeReanimated","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","withCollapsibleContext","Component","props","collapsibleHandlers","useRef","headerHeight","useSharedValue","scrollY","fixedHeaderHeight","containerHeight","scrollViewRef","containerRef","headerContainerLayouts","headerViewPositions","setCollapsibleHandlers","useCallback","handlers","current","headerCollapsed","useDerivedValue","maxY","value","contentMinHeight","handleHeaderContainerLayout","layout","stickyHeight","undefined","headerContainers","keys","filter","k","sortedHeaders","sort","a","b","_headerContainerLayou","_headerContainerLayou2","y","values","aStickyHeight","index","length","_headerContainerLayou3","headerKey","sHeight","top","handleContainerHeight","height","handleScrollToView","ref","animated","measureLayout","_left","_width","_height","_collapsibleHandlers$","stickyHeightAbove","reduce","acc","scrollTo","context","useMemo","collapse","_collapsibleHandlers$2","expand","_collapsibleHandlers$3","offset","animate","_collapsibleHandlers$4","scrollToIndex","params","_collapsibleHandlers$5","scrollToLocation","_collapsibleHandlers$6","scrollToView","internalContext","createElement","CollapsibleContext","Provider","InternalCollapsibleContext"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useCollapsibleContext","_useInternalCollapsibleContext","_reactNativeReanimated","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","withCollapsibleContext","Component","props","collapsibleHandlers","useRef","headerHeight","useSharedValue","scrollY","fixedHeaderHeight","containerHeight","scrollViewRef","containerRef","headerContainerLayouts","headerViewPositions","setCollapsibleHandlers","useCallback","handlers","current","headerCollapsed","useDerivedValue","maxY","value","contentMinHeight","handleHeaderContainerLayout","layout","stickyHeight","undefined","headerContainers","keys","filter","k","sortedHeaders","sort","a","b","_headerContainerLayou","_headerContainerLayou2","y","values","aStickyHeight","index","length","_headerContainerLayou3","headerKey","sHeight","top","handleContainerHeight","height","handleScrollToView","ref","animated","measureLayout","_left","_width","_height","_collapsibleHandlers$","stickyHeightAbove","reduce","acc","scrollTo","context","useMemo","collapse","_collapsibleHandlers$2","expand","_collapsibleHandlers$3","offset","animate","_collapsibleHandlers$4","scrollToIndex","params","_collapsibleHandlers$5","scrollToLocation","_collapsibleHandlers$6","scrollToView","internalContext","createElement","CollapsibleContext","Provider","InternalCollapsibleContext"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"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"}
@@ -5,7 +5,7 @@ export default function AnimatedTopView(_ref) {
5
5
  height
6
6
  } = _ref;
7
7
  const contentStyle = useAnimatedStyle(() => ({
8
- paddingTop: height.value
8
+ height: height.value
9
9
  }), []);
10
10
  return /*#__PURE__*/React.createElement(Animated.View, {
11
11
  style: contentStyle
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","useAnimatedStyle","AnimatedTopView","_ref","height","contentStyle","paddingTop","value","createElement","View","style"],"sourceRoot":"../../../../src","sources":["components/header/AnimatedTopView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AAMpE,eAAe,SAASC,eAAeA,CAAAC,IAAA,EAAoB;EAAA,IAAnB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACvD,MAAME,YAAY,GAAGJ,gBAAgB,CACnC,OAAO;IACLK,UAAU,EAAEF,MAAM,CAACG;EACrB,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBAAOR,KAAA,CAAAS,aAAA,CAACR,QAAQ,CAACS,IAAI;IAACC,KAAK,EAAEL;EAAa,CAAE,CAAC;AAC/C"}
1
+ {"version":3,"names":["React","Animated","useAnimatedStyle","AnimatedTopView","_ref","height","contentStyle","value","createElement","View","style"],"sourceRoot":"../../../../src","sources":["components/header/AnimatedTopView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AAMpE,eAAe,SAASC,eAAeA,CAAAC,IAAA,EAAoB;EAAA,IAAnB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACvD,MAAME,YAAY,GAAGJ,gBAAgB,CACnC,OAAO;IACLG,MAAM,EAAEA,MAAM,CAACE;EACjB,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBAAOP,KAAA,CAAAQ,aAAA,CAACP,QAAQ,CAACQ,IAAI;IAACC,KAAK,EAAEJ;EAAa,CAAE,CAAC;AAC/C"}
@@ -1,8 +1,8 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  /* eslint-disable react-hooks/exhaustive-deps */
3
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
- import Animated, { runOnJS, useAnimatedReaction } from 'react-native-reanimated';
5
+ import Animated, { runOnJS, useAnimatedReaction, useDerivedValue } from 'react-native-reanimated';
6
6
  import { FlashList } from '@shopify/flash-list';
7
7
  import useAnimatedScroll from './useAnimatedScroll';
8
8
  import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
@@ -18,13 +18,11 @@ export default function CollapsibleFlatList(_ref) {
18
18
  headerHeight
19
19
  } = useCollapsibleContext();
20
20
  const {
21
- contentMinHeight,
22
21
  scrollViewRef,
23
- fixedHeaderHeight
22
+ fixedHeaderHeight,
23
+ contentMinHeight
24
24
  } = useInternalCollapsibleContext();
25
25
  const mounted = useRef(true);
26
- const contentHeight = useRef(0);
27
- const [internalContentMinHeight, setInternalContentMinHeight] = useState(contentMinHeight.value);
28
26
  const [internalProgressViewOffset, setInternalProgressViewOffset] = useState(0);
29
27
  useEffect(() => {
30
28
  return () => {
@@ -54,24 +52,13 @@ export default function CollapsibleFlatList(_ref) {
54
52
  scrollToIndex,
55
53
  scrollToLocation
56
54
  });
57
- const handleInternalContentHeight = useCallback(value => {
58
- if (mounted.current) {
59
- setInternalContentMinHeight(value);
60
- }
61
- }, []);
62
55
  const handleInternalProgressViewOffset = useCallback(value => {
63
56
  if (mounted.current) {
64
57
  setInternalProgressViewOffset(value);
65
58
  }
66
59
  }, []);
67
- useAnimatedReaction(() => {
68
- return contentMinHeight.value;
69
- }, (result, previous) => {
70
- if (result !== previous) {
71
- if (contentHeight.current < result && internalContentMinHeight !== result) {
72
- runOnJS(handleInternalContentHeight)(result);
73
- }
74
- }
60
+ const additionalBottomHeight = useDerivedValue(() => {
61
+ return contentMinHeight.value - fixedHeaderHeight.value;
75
62
  });
76
63
  useAnimatedReaction(() => {
77
64
  return fixedHeaderHeight.value;
@@ -80,35 +67,34 @@ export default function CollapsibleFlatList(_ref) {
80
67
  runOnJS(handleInternalProgressViewOffset)(result);
81
68
  }
82
69
  });
83
- const contentContainerStyle = useMemo(() => [styles.contentContainer, {
84
- minHeight: internalContentMinHeight
85
- }, props.contentContainerStyle], [props.contentContainerStyle, internalContentMinHeight]);
86
- const handleContentSizeChange = useCallback((_, height) => {
87
- contentHeight.current = height;
88
- }, []);
89
70
  const handleScrollToIndexFailed = useCallback(() => {}, []);
90
71
  function renderListHeader() {
91
72
  return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(AnimatedTopView, {
92
73
  height: headerHeight
93
74
  }), props.ListHeaderComponent);
94
75
  }
95
- return /*#__PURE__*/React.createElement(AnimatedFlashList, _extends({
76
+ function renderListFooter() {
77
+ return /*#__PURE__*/React.createElement(View, null, props.ListFooterComponent, /*#__PURE__*/React.createElement(AnimatedTopView, {
78
+ height: additionalBottomHeight
79
+ }));
80
+ }
81
+ return /*#__PURE__*/React.createElement(View, {
82
+ style: [styles.container, props.style]
83
+ }, /*#__PURE__*/React.createElement(AnimatedFlashList, _extends({
96
84
  ref: scrollViewRef,
97
85
  keyboardDismissMode: "on-drag",
98
86
  keyboardShouldPersistTaps: "handled",
99
87
  scrollEventThrottle: 1,
100
88
  onScrollToIndexFailed: handleScrollToIndexFailed
101
89
  }, props, {
102
- style: [styles.container, props.style]
103
- //@ts-ignore
104
- ,
105
- contentContainerStyle: contentContainerStyle,
106
90
  onScroll: scrollHandler,
107
91
  ListHeaderComponent: renderListHeader(),
108
- onContentSizeChange: handleContentSizeChange,
92
+ ListFooterComponent: renderListFooter()
93
+ //@ts-ignore
94
+ ,
109
95
  simultaneousHandlers: [],
110
96
  progressViewOffset: internalProgressViewOffset
111
- }));
97
+ })));
112
98
  }
113
99
  const styles = StyleSheet.create({
114
100
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","Animated","runOnJS","useAnimatedReaction","FlashList","useAnimatedScroll","useInternalCollapsibleContext","AnimatedTopView","useCollapsibleContext","AnimatedFlashList","createAnimatedComponent","CollapsibleFlatList","_ref","headerSnappable","props","headerHeight","contentMinHeight","scrollViewRef","fixedHeaderHeight","mounted","contentHeight","internalContentMinHeight","setInternalContentMinHeight","value","internalProgressViewOffset","setInternalProgressViewOffset","current","scrollTo","yValue","_scrollViewRef$curren","animated","arguments","length","undefined","scrollToOffset","offset","scrollToIndex","params","_scrollViewRef$curren2","scrollToLocation","console","warn","scrollHandler","handleInternalContentHeight","handleInternalProgressViewOffset","result","previous","contentContainerStyle","styles","contentContainer","minHeight","handleContentSizeChange","_","height","handleScrollToIndexFailed","renderListHeader","createElement","ListHeaderComponent","_extends","ref","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","onScrollToIndexFailed","style","container","onScroll","onContentSizeChange","simultaneousHandlers","progressViewOffset","create","absoluteFillObject","flexGrow","topView","position","top","left","right"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleFlashList.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","View","StyleSheet","Animated","runOnJS","useAnimatedReaction","useDerivedValue","FlashList","useAnimatedScroll","useInternalCollapsibleContext","AnimatedTopView","useCollapsibleContext","AnimatedFlashList","createAnimatedComponent","CollapsibleFlatList","_ref","headerSnappable","props","headerHeight","scrollViewRef","fixedHeaderHeight","contentMinHeight","mounted","internalProgressViewOffset","setInternalProgressViewOffset","current","scrollTo","yValue","_scrollViewRef$curren","animated","arguments","length","undefined","scrollToOffset","offset","scrollToIndex","params","_scrollViewRef$curren2","scrollToLocation","console","warn","scrollHandler","handleInternalProgressViewOffset","value","additionalBottomHeight","result","previous","handleScrollToIndexFailed","renderListHeader","createElement","height","ListHeaderComponent","renderListFooter","ListFooterComponent","style","styles","container","_extends","ref","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","onScrollToIndexFailed","onScroll","simultaneousHandlers","progressViewOffset","create","absoluteFillObject","contentContainer","flexGrow","topView","position","top","left","right"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleFlashList.tsx"],"mappings":"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"}
@@ -53,6 +53,9 @@ export default function withCollapsibleContext(Component) {
53
53
  containerHeight.value = height;
54
54
  }, []);
55
55
  const handleScrollToView = useCallback((ref, animated) => {
56
+ if (!ref.current) {
57
+ return;
58
+ }
56
59
  ref.current.measureLayout(containerRef.current, (_left, top, _width, _height) => {
57
60
  var _collapsibleHandlers$;
58
61
  const headerContainers = Object.keys(headerContainerLayouts.current).filter(k => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","CollapsibleContext","InternalCollapsibleContext","useDerivedValue","useSharedValue","withCollapsibleContext","Component","props","collapsibleHandlers","headerHeight","scrollY","fixedHeaderHeight","containerHeight","scrollViewRef","containerRef","headerContainerLayouts","headerViewPositions","setCollapsibleHandlers","handlers","current","headerCollapsed","maxY","value","contentMinHeight","handleHeaderContainerLayout","key","layout","stickyHeight","undefined","headerContainers","Object","keys","filter","k","sortedHeaders","sort","a","b","_headerContainerLayou","_headerContainerLayou2","y","values","aStickyHeight","index","length","_headerContainerLayou3","headerKey","sHeight","top","handleContainerHeight","height","handleScrollToView","ref","animated","measureLayout","_left","_width","_height","_collapsibleHandlers$","stickyHeightAbove","reduce","acc","scrollTo","context","collapse","_collapsibleHandlers$2","expand","_collapsibleHandlers$3","offset","animate","_collapsibleHandlers$4","scrollToIndex","params","_collapsibleHandlers$5","scrollToLocation","_collapsibleHandlers$6","scrollToView","internalContext","createElement","Provider"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","CollapsibleContext","InternalCollapsibleContext","useDerivedValue","useSharedValue","withCollapsibleContext","Component","props","collapsibleHandlers","headerHeight","scrollY","fixedHeaderHeight","containerHeight","scrollViewRef","containerRef","headerContainerLayouts","headerViewPositions","setCollapsibleHandlers","handlers","current","headerCollapsed","maxY","value","contentMinHeight","handleHeaderContainerLayout","key","layout","stickyHeight","undefined","headerContainers","Object","keys","filter","k","sortedHeaders","sort","a","b","_headerContainerLayou","_headerContainerLayou2","y","values","aStickyHeight","index","length","_headerContainerLayou3","headerKey","sHeight","top","handleContainerHeight","height","handleScrollToView","ref","animated","measureLayout","_left","_width","_height","_collapsibleHandlers$","stickyHeightAbove","reduce","acc","scrollTo","context","collapse","_collapsibleHandlers$2","expand","_collapsibleHandlers$3","offset","animate","_collapsibleHandlers$4","scrollToIndex","params","_collapsibleHandlers$5","scrollToLocation","_collapsibleHandlers$6","scrollToView","internalContext","createElement","Provider"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAY,OAAO;AAE/D,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,0BAA0B,QAAQ,uCAAuC;AAClF,SAASC,eAAe,EAAEC,cAAc,QAAQ,yBAAyB;AAGzE,eAAe,SAASC,sBAAsBA,CAAIC,SAAgB,EAAE;EAClE,OAAQC,KAAQ,IAAK;IACnB,MAAMC,mBAAmB,GAAGR,MAAM,CAAqB,CAAC;IACxD,MAAMS,YAAY,GAAGL,cAAc,CAAC,CAAC,CAAC;IACtC,MAAMM,OAAO,GAAGN,cAAc,CAAC,CAAC,CAAC;IACjC,MAAMO,iBAAiB,GAAGP,cAAc,CAAC,CAAC,CAAC;IAC3C,MAAMQ,eAAe,GAAGR,cAAc,CAAC,CAAC,CAAC;IACzC,MAAMS,aAAa,GAAGb,MAAM,CAAO,IAAI,CAAC;IACxC,MAAMc,YAAY,GAAGd,MAAM,CAAO,IAAI,CAAC;IACvC,MAAMe,sBAAsB,GAAGf,MAAM,CAEnC,CAAC,CAAC,CAAC;IACL,MAAMgB,mBAAmB,GAAGZ,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAMa,sBAAsB,GAAGnB,WAAW,CAAEoB,QAAQ,IAAK;MACvDV,mBAAmB,CAACW,OAAO,GAAGD,QAAQ;IACxC,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,eAAe,GAAGjB,eAAe,CAAC,MAAM;MAC5C,MAAMkB,IAAI,GAAGV,iBAAiB,CAACW,KAAK;MACpC,OAAOZ,OAAO,CAACY,KAAK,IAAID,IAAI;IAC9B,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,gBAAgB,GAAGpB,eAAe,CAAC,MAAM;MAC7C,OAAOS,eAAe,CAACU,KAAK,GAAGX,iBAAiB,CAACW,KAAK;IACxD,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,2BAA2B,GAAG1B,WAAW,CAC7C,CAAC2B,GAAW,EAAEC,MAAwB,EAAEC,YAAqB,KAAK;MAChEZ,sBAAsB,CAACI,OAAO,CAACM,GAAG,CAAC,GAAGC,MAAM,GACxC;QACE,GAAGA,MAAM;QACTC;MACF,CAAC,GACDC,SAAS;MACb,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAClChB,sBAAsB,CAACI,OACzB,CAAC,CAACa,MAAM,CAAEC,CAAS,IAAK,CAAC,CAAClB,sBAAsB,CAACI,OAAO,CAACc,CAAC,CAAC,CAAC;MAC5D;MACA,MAAMC,aAAa,GAAGL,gBAAgB,CAACM,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QACpD,OACE,CAAC,EAAAD,qBAAA,GAAAvB,sBAAsB,CAACI,OAAO,CAACiB,CAAC,CAAC,cAAAE,qBAAA,uBAAjCA,qBAAA,CAAmCE,CAAC,KAAI,CAAC,KACzC,EAAAD,sBAAA,GAAAxB,sBAAsB,CAACI,OAAO,CAACkB,CAAC,CAAC,cAAAE,sBAAA,uBAAjCA,sBAAA,CAAmCC,CAAC,KAAI,CAAC,CAAC;MAE/C,CAAC,CAAC;MACF,MAAMC,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIC,aAAa,GAAG,CAAC;MACrB,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGT,aAAa,CAACU,MAAM,EAAED,KAAK,EAAE,EAAE;QAAA,IAAAE,sBAAA;QACzD,MAAMC,SAAS,GAAGZ,aAAa,CAACS,KAAK,CAAC;QACtC,MAAMI,OAAO,GACX,EAAAF,sBAAA,GAAA9B,sBAAsB,CAACI,OAAO,CAAC2B,SAAS,CAAC,cAAAD,sBAAA,uBAAzCA,sBAAA,CAA2ClB,YAAY,KAAI,CAAC;QAC9Dc,MAAM,CAACK,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAEN,aAAa;UAClBf,YAAY,EAAEoB;QAChB,CAAC;QACDL,aAAa,IAAIK,OAAO;MAC1B;MACA/B,mBAAmB,CAACM,KAAK,GAAGmB,MAAM;IACpC,CAAC,EACD,EACF,CAAC;IAED,MAAMQ,qBAAqB,GAAGnD,WAAW,CAAEoD,MAAc,IAAK;MAC5DtC,eAAe,CAACU,KAAK,GAAG4B,MAAM;IAChC,CAAC,EAAE,EAAE,CAAC;IAEN,MAAMC,kBAAkB,GAAGrD,WAAW,CACpC,CAACsD,GAAyB,EAAEC,QAAkB,KAAK;MACjD,IAAI,CAACD,GAAG,CAACjC,OAAO,EAAE;QAChB;MACF;MACAiC,GAAG,CAACjC,OAAO,CAACmC,aAAa,CACvBxC,YAAY,CAACK,OAAO,EACpB,CAACoC,KAAa,EAAEP,GAAW,EAAEQ,MAAc,EAAEC,OAAe,KAAK;QAAA,IAAAC,qBAAA;QAC/D,MAAM7B,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAClChB,sBAAsB,CAACI,OACzB,CAAC,CAACa,MAAM,CAAEC,CAAS,IAAK;UACtB,MAAMP,MAAM,GAAGX,sBAAsB,CAACI,OAAO,CAACc,CAAC,CAAC;UAChD,IAAIP,MAAM,EAAE;YACV,OAAOA,MAAM,CAACc,CAAC,GAAGd,MAAM,CAACwB,MAAM,GAAGF,GAAG;UACvC;UACA,OAAO,KAAK;QACd,CAAC,CAAC;QACF,MAAMW,iBAAiB,GAAG9B,gBAAgB,CAAC+B,MAAM,CAAC,CAACC,GAAG,EAAEpC,GAAG,KAAK;UAC9D,MAAMC,MAAM,GAAGX,sBAAsB,CAACI,OAAO,CAACM,GAAG,CAAC;UAClDoC,GAAG,IAAI,CAAAnC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,YAAY,KAAI,CAAC;UAChC,OAAOkC,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC;QACL,CAAAH,qBAAA,GAAAlD,mBAAmB,CAACW,OAAO,cAAAuC,qBAAA,uBAA3BA,qBAAA,CAA6BI,QAAQ,CACnCd,GAAG,GAAGW,iBAAiB,EACvBN,QACF,CAAC;MACH,CAAC,EACD,MAAM,CAAC,CACT,CAAC;IACH,CAAC,EACD,EACF,CAAC;IAED,MAAMU,OAAO,GAAGhE,OAAO,CAAC,MAAM;MAC5B,OAAO;QACLiE,QAAQ,EAAGX,QAAkB;UAAA,IAAAY,sBAAA;UAAA,QAAAA,sBAAA,GAC3BzD,mBAAmB,CAACW,OAAO,cAAA8C,sBAAA,uBAA3BA,sBAAA,CAA6BD,QAAQ,CAACX,QAAQ,CAAC;QAAA;QACjDa,MAAM,EAAEA,CAAA;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GAAM3D,mBAAmB,CAACW,OAAO,cAAAgD,sBAAA,uBAA3BA,sBAAA,CAA6BD,MAAM,CAAC,CAAC;QAAA;QACnDJ,QAAQ,EAAEA,CAACM,MAAc,EAAEC,OAAiB;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GAC1C9D,mBAAmB,CAACW,OAAO,cAAAmD,sBAAA,uBAA3BA,sBAAA,CAA6BR,QAAQ,CAACM,MAAM,EAAEC,OAAO,CAAC;QAAA;QACxDE,aAAa,EAAGC,MAAW;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GACzBjE,mBAAmB,CAACW,OAAO,cAAAsD,sBAAA,uBAA3BA,sBAAA,CAA6BF,aAAa,CAACC,MAAM,CAAC;QAAA;QACpDE,gBAAgB,EAAGF,MAAW;UAAA,IAAAG,sBAAA;UAAA,QAAAA,sBAAA,GAC5BnE,mBAAmB,CAACW,OAAO,cAAAwD,sBAAA,uBAA3BA,sBAAA,CAA6BD,gBAAgB,CAACF,MAAM,CAAC;QAAA;QACvD/D,YAAY;QACZC,OAAO;QACPU,eAAe;QACfwD,YAAY,EAAEzB;MAChB,CAAC;IACH,CAAC,EAAE,CAACzC,OAAO,EAAED,YAAY,EAAEW,eAAe,EAAE+B,kBAAkB,CAAC,CAAC;IAEhE,MAAM0B,eAAe,GAAG9E,OAAO,CAC7B,OAAO;MACLe,YAAY;MACZD,aAAa;MACbW,2BAA2B;MAC3BP,sBAAsB;MACtBgC,qBAAqB;MACrBxC,YAAY;MACZE,iBAAiB;MACjBY,gBAAgB;MAChBP;IACF,CAAC,CAAC,EACF,CACEC,sBAAsB,EACtBO,2BAA2B,EAC3ByB,qBAAqB,EACrBxC,YAAY,EACZE,iBAAiB,EACjBY,gBAAgB,EAChBP,mBAAmB,CAEvB,CAAC;IAED,oBACEnB,KAAA,CAAAiF,aAAA,CAAC7E,kBAAkB,CAAC8E,QAAQ;MAACzD,KAAK,EAAEyC;IAAQ,gBAC1ClE,KAAA,CAAAiF,aAAA,CAAC5E,0BAA0B,CAAC6E,QAAQ;MAACzD,KAAK,EAAEuD;IAAgB,gBAE1DhF,KAAA,CAAAiF,aAAA,CAACxE,SAAS,EAAKC,KAAQ,CACY,CACV,CAAC;EAElC,CAAC;AACH"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { FlatListProps } from 'react-native';
2
+ import { FlashListProps } from '@shopify/flash-list';
3
3
  import type { CollapsibleProps } from '../../types';
4
- type Props<Data> = Omit<FlatListProps<Data>, 'scrollEnabled'> & CollapsibleProps;
4
+ type Props<Data> = Omit<FlashListProps<Data>, 'scrollEnabled'> & CollapsibleProps;
5
5
  export default function CollapsibleFlatList<Data>({ headerSnappable, ...props }: Props<Data>): React.JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=CollapsibleFlashList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleFlashList.d.ts","sourceRoot":"","sources":["../../../../src/components/scrollable/CollapsibleFlashList.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAC;AAQ/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,GAC3D,gBAAgB,CAAC;AAEnB,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,EAChD,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,IAAI,CAAC,qBAyHb"}
1
+ {"version":3,"file":"CollapsibleFlashList.d.ts","sourceRoot":"","sources":["../../../../src/components/scrollable/CollapsibleFlashList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAOxE,OAAO,EAAa,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,GAC5D,gBAAgB,CAAC;AAEnB,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,EAChD,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,IAAI,CAAC,qBA+Fb"}
@@ -1 +1 @@
1
- {"version":3,"file":"withCollapsibleContext.d.ts","sourceRoot":"","sources":["../../src/withCollapsibleContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAgC,EAAE,EAAE,MAAM,OAAO,CAAC;AAOhE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WACjD,CAAC,uBAiJjB"}
1
+ {"version":3,"file":"withCollapsibleContext.d.ts","sourceRoot":"","sources":["../../src/withCollapsibleContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAgC,EAAE,EAAE,MAAM,OAAO,CAAC;AAOhE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WACjD,CAAC,uBAoJjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r0b0t3d/react-native-collapsible",
3
- "version": "1.5.0-alpha.0",
3
+ "version": "1.5.0-alpha.2",
4
4
  "description": "Fully customizable collapsible views",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -8,7 +8,7 @@ type Props = {
8
8
  export default function AnimatedTopView({ height }: Props) {
9
9
  const contentStyle = useAnimatedStyle(
10
10
  () => ({
11
- paddingTop: height.value,
11
+ height: height.value,
12
12
  }),
13
13
  []
14
14
  );
@@ -1,17 +1,12 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
- import React, {
3
- useCallback,
4
- useEffect,
5
- useMemo,
6
- useRef,
7
- useState,
8
- } from 'react';
9
- import { FlatListProps, View, StyleSheet } from 'react-native';
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { View, StyleSheet } from 'react-native';
10
4
  import Animated, {
11
5
  runOnJS,
12
6
  useAnimatedReaction,
7
+ useDerivedValue,
13
8
  } from 'react-native-reanimated';
14
- import { FlashList } from '@shopify/flash-list';
9
+ import { FlashList, FlashListProps } from '@shopify/flash-list';
15
10
  import useAnimatedScroll from './useAnimatedScroll';
16
11
  import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
17
12
  import type { CollapsibleProps } from '../../types';
@@ -20,7 +15,7 @@ import useCollapsibleContext from '../../hooks/useCollapsibleContext';
20
15
 
21
16
  const AnimatedFlashList = Animated.createAnimatedComponent(FlashList);
22
17
 
23
- type Props<Data> = Omit<FlatListProps<Data>, 'scrollEnabled'> &
18
+ type Props<Data> = Omit<FlashListProps<Data>, 'scrollEnabled'> &
24
19
  CollapsibleProps;
25
20
 
26
21
  export default function CollapsibleFlatList<Data>({
@@ -28,13 +23,9 @@ export default function CollapsibleFlatList<Data>({
28
23
  ...props
29
24
  }: Props<Data>) {
30
25
  const { headerHeight } = useCollapsibleContext();
31
- const { contentMinHeight, scrollViewRef, fixedHeaderHeight } =
26
+ const { scrollViewRef, fixedHeaderHeight, contentMinHeight } =
32
27
  useInternalCollapsibleContext();
33
28
  const mounted = useRef(true);
34
- const contentHeight = useRef(0);
35
- const [internalContentMinHeight, setInternalContentMinHeight] = useState(
36
- contentMinHeight.value
37
- );
38
29
  const [internalProgressViewOffset, setInternalProgressViewOffset] =
39
30
  useState(0);
40
31
 
@@ -66,33 +57,15 @@ export default function CollapsibleFlatList<Data>({
66
57
  scrollToLocation,
67
58
  });
68
59
 
69
- const handleInternalContentHeight = useCallback((value: number) => {
70
- if (mounted.current) {
71
- setInternalContentMinHeight(value);
72
- }
73
- }, []);
74
-
75
60
  const handleInternalProgressViewOffset = useCallback((value: number) => {
76
61
  if (mounted.current) {
77
62
  setInternalProgressViewOffset(value);
78
63
  }
79
64
  }, []);
80
65
 
81
- useAnimatedReaction(
82
- () => {
83
- return contentMinHeight.value;
84
- },
85
- (result, previous) => {
86
- if (result !== previous) {
87
- if (
88
- contentHeight.current < result &&
89
- internalContentMinHeight !== result
90
- ) {
91
- runOnJS(handleInternalContentHeight)(result);
92
- }
93
- }
94
- }
95
- );
66
+ const additionalBottomHeight = useDerivedValue(() => {
67
+ return contentMinHeight.value - fixedHeaderHeight.value;
68
+ });
96
69
 
97
70
  useAnimatedReaction(
98
71
  () => {
@@ -105,19 +78,6 @@ export default function CollapsibleFlatList<Data>({
105
78
  }
106
79
  );
107
80
 
108
- const contentContainerStyle = useMemo(
109
- () => [
110
- styles.contentContainer,
111
- { minHeight: internalContentMinHeight },
112
- props.contentContainerStyle,
113
- ],
114
- [props.contentContainerStyle, internalContentMinHeight]
115
- );
116
-
117
- const handleContentSizeChange = useCallback((_, height) => {
118
- contentHeight.current = height;
119
- }, []);
120
-
121
81
  const handleScrollToIndexFailed = useCallback(() => {}, []);
122
82
 
123
83
  function renderListHeader() {
@@ -129,23 +89,32 @@ export default function CollapsibleFlatList<Data>({
129
89
  );
130
90
  }
131
91
 
92
+ function renderListFooter() {
93
+ return (
94
+ <View>
95
+ {props.ListFooterComponent}
96
+ <AnimatedTopView height={additionalBottomHeight} />
97
+ </View>
98
+ );
99
+ }
100
+
132
101
  return (
133
- <AnimatedFlashList
134
- ref={scrollViewRef}
135
- keyboardDismissMode="on-drag"
136
- keyboardShouldPersistTaps="handled"
137
- scrollEventThrottle={1}
138
- onScrollToIndexFailed={handleScrollToIndexFailed}
139
- {...props}
140
- style={[styles.container, props.style]}
141
- //@ts-ignore
142
- contentContainerStyle={contentContainerStyle}
143
- onScroll={scrollHandler}
144
- ListHeaderComponent={renderListHeader()}
145
- onContentSizeChange={handleContentSizeChange}
146
- simultaneousHandlers={[]}
147
- progressViewOffset={internalProgressViewOffset}
148
- />
102
+ <View style={[styles.container, props.style]}>
103
+ <AnimatedFlashList
104
+ ref={scrollViewRef}
105
+ keyboardDismissMode="on-drag"
106
+ keyboardShouldPersistTaps="handled"
107
+ scrollEventThrottle={1}
108
+ onScrollToIndexFailed={handleScrollToIndexFailed}
109
+ {...props}
110
+ onScroll={scrollHandler}
111
+ ListHeaderComponent={renderListHeader()}
112
+ ListFooterComponent={renderListFooter()}
113
+ //@ts-ignore
114
+ simultaneousHandlers={[]}
115
+ progressViewOffset={internalProgressViewOffset}
116
+ />
117
+ </View>
149
118
  );
150
119
  }
151
120
 
@@ -74,6 +74,9 @@ export default function withCollapsibleContext<T>(Component: FC<T>) {
74
74
 
75
75
  const handleScrollToView = useCallback(
76
76
  (ref: React.RefObject<any>, animated?: boolean) => {
77
+ if (!ref.current) {
78
+ return;
79
+ }
77
80
  ref.current.measureLayout(
78
81
  containerRef.current,
79
82
  (_left: number, top: number, _width: number, _height: number) => {