@r0b0t3d/react-native-collapsible 1.3.5-beta.0 → 1.3.5-beta.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.
Files changed (142) hide show
  1. package/LICENSE +1 -2
  2. package/lib/commonjs/components/CollapsibleContainer.js +11 -25
  3. package/lib/commonjs/components/CollapsibleContainer.js.map +1 -1
  4. package/lib/commonjs/components/CollapsibleView.js +39 -44
  5. package/lib/commonjs/components/CollapsibleView.js.map +1 -1
  6. package/lib/commonjs/components/header/AnimatedTopView.js +4 -9
  7. package/lib/commonjs/components/header/AnimatedTopView.js.map +1 -1
  8. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js +12 -20
  9. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js.map +1 -1
  10. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js +6 -12
  11. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js.map +1 -1
  12. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js +7 -11
  13. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js.map +1 -1
  14. package/lib/commonjs/components/header/StickyView.js +11 -20
  15. package/lib/commonjs/components/header/StickyView.js.map +1 -1
  16. package/lib/commonjs/components/scrollable/CollapsibleFlatList.js +12 -26
  17. package/lib/commonjs/components/scrollable/CollapsibleFlatList.js.map +1 -1
  18. package/lib/commonjs/components/scrollable/CollapsibleScrollView.js +13 -24
  19. package/lib/commonjs/components/scrollable/CollapsibleScrollView.js.map +1 -1
  20. package/lib/commonjs/components/scrollable/useAnimatedScroll.js +9 -18
  21. package/lib/commonjs/components/scrollable/useAnimatedScroll.js.map +1 -1
  22. package/lib/commonjs/hooks/useCollapsibleContext.js +1 -6
  23. package/lib/commonjs/hooks/useCollapsibleContext.js.map +1 -1
  24. package/lib/commonjs/hooks/useCollapsibleHeaderContext.js +1 -6
  25. package/lib/commonjs/hooks/useCollapsibleHeaderContext.js.map +1 -1
  26. package/lib/commonjs/hooks/useInternalCollapsibleContext.js +1 -6
  27. package/lib/commonjs/hooks/useInternalCollapsibleContext.js.map +1 -1
  28. package/lib/commonjs/hooks/useKeyboardShowEvent.js +0 -4
  29. package/lib/commonjs/hooks/useKeyboardShowEvent.js.map +1 -1
  30. package/lib/commonjs/index.js +12 -33
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/types.js.map +1 -1
  33. package/lib/commonjs/utils/debounce.js +8 -7
  34. package/lib/commonjs/utils/debounce.js.map +1 -1
  35. package/lib/commonjs/withCollapsibleContext.js +31 -44
  36. package/lib/commonjs/withCollapsibleContext.js.map +1 -1
  37. package/lib/module/components/CollapsibleContainer.js +11 -14
  38. package/lib/module/components/CollapsibleContainer.js.map +1 -1
  39. package/lib/module/components/CollapsibleView.js +38 -35
  40. package/lib/module/components/CollapsibleView.js.map +1 -1
  41. package/lib/module/components/header/AnimatedTopView.js +4 -3
  42. package/lib/module/components/header/AnimatedTopView.js.map +1 -1
  43. package/lib/module/components/header/CollapsibleHeaderConsumer.js +12 -9
  44. package/lib/module/components/header/CollapsibleHeaderConsumer.js.map +1 -1
  45. package/lib/module/components/header/CollapsibleHeaderContainer.js +5 -4
  46. package/lib/module/components/header/CollapsibleHeaderContainer.js.map +1 -1
  47. package/lib/module/components/header/CollapsibleHeaderProvider.js +6 -6
  48. package/lib/module/components/header/CollapsibleHeaderProvider.js.map +1 -1
  49. package/lib/module/components/header/StickyView.js +11 -10
  50. package/lib/module/components/header/StickyView.js.map +1 -1
  51. package/lib/module/components/scrollable/CollapsibleFlatList.js +12 -13
  52. package/lib/module/components/scrollable/CollapsibleFlatList.js.map +1 -1
  53. package/lib/module/components/scrollable/CollapsibleScrollView.js +13 -12
  54. package/lib/module/components/scrollable/CollapsibleScrollView.js.map +1 -1
  55. package/lib/module/components/scrollable/useAnimatedScroll.js +8 -10
  56. package/lib/module/components/scrollable/useAnimatedScroll.js.map +1 -1
  57. package/lib/module/hooks/useCollapsibleContext.js +0 -2
  58. package/lib/module/hooks/useCollapsibleContext.js.map +1 -1
  59. package/lib/module/hooks/useCollapsibleHeaderContext.js +0 -2
  60. package/lib/module/hooks/useCollapsibleHeaderContext.js.map +1 -1
  61. package/lib/module/hooks/useInternalCollapsibleContext.js +0 -2
  62. package/lib/module/hooks/useInternalCollapsibleContext.js.map +1 -1
  63. package/lib/module/hooks/useKeyboardShowEvent.js.map +1 -1
  64. package/lib/module/index.js +0 -1
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/types.js.map +1 -1
  67. package/lib/module/utils/debounce.js +8 -6
  68. package/lib/module/utils/debounce.js.map +1 -1
  69. package/lib/module/withCollapsibleContext.js +30 -34
  70. package/lib/module/withCollapsibleContext.js.map +1 -1
  71. package/lib/typescript/components/CollapsibleContainer.d.ts +4 -2
  72. package/lib/typescript/components/CollapsibleContainer.d.ts.map +1 -0
  73. package/lib/typescript/components/CollapsibleView.d.ts +6 -5
  74. package/lib/typescript/components/CollapsibleView.d.ts.map +1 -0
  75. package/lib/typescript/components/header/AnimatedTopView.d.ts +4 -2
  76. package/lib/typescript/components/header/AnimatedTopView.d.ts.map +1 -0
  77. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts +3 -1
  78. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts.map +1 -0
  79. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts +2 -1
  80. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts.map +1 -0
  81. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts +3 -2
  82. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts.map +1 -0
  83. package/lib/typescript/components/header/StickyView.d.ts +4 -2
  84. package/lib/typescript/components/header/StickyView.d.ts.map +1 -0
  85. package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts +4 -2
  86. package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts.map +1 -0
  87. package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts +4 -3
  88. package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts.map +1 -0
  89. package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts +2 -1
  90. package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts.map +1 -0
  91. package/lib/typescript/hooks/useCollapsibleContext.d.ts +1 -0
  92. package/lib/typescript/hooks/useCollapsibleContext.d.ts.map +1 -0
  93. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts +3 -2
  94. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts.map +1 -0
  95. package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts +1 -0
  96. package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts.map +1 -0
  97. package/lib/typescript/hooks/useKeyboardShowEvent.d.ts +1 -0
  98. package/lib/typescript/hooks/useKeyboardShowEvent.d.ts.map +1 -0
  99. package/lib/typescript/index.d.ts +1 -1
  100. package/lib/typescript/index.d.ts.map +1 -0
  101. package/lib/typescript/types.d.ts +8 -7
  102. package/lib/typescript/types.d.ts.map +1 -0
  103. package/lib/typescript/utils/debounce.d.ts +1 -0
  104. package/lib/typescript/utils/debounce.d.ts.map +1 -0
  105. package/lib/typescript/withCollapsibleContext.d.ts +3 -2
  106. package/lib/typescript/withCollapsibleContext.d.ts.map +1 -0
  107. package/package.json +39 -34
  108. package/src/components/CollapsibleView.tsx +13 -6
  109. package/src/components/header/CollapsibleHeaderConsumer.tsx +2 -1
  110. package/src/components/header/StickyView.tsx +3 -4
  111. package/src/index.tsx +0 -1
  112. package/src/withCollapsibleContext.tsx +30 -26
  113. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js +0 -75
  114. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  115. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js +0 -35
  116. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  117. package/lib/commonjs/components/pullToRefresh/RefreshControl.js +0 -91
  118. package/lib/commonjs/components/pullToRefresh/RefreshControl.js.map +0 -1
  119. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js +0 -24
  120. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  121. package/lib/commonjs/components/pullToRefresh/utils.js +0 -59
  122. package/lib/commonjs/components/pullToRefresh/utils.js.map +0 -1
  123. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js +0 -56
  124. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  125. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js +0 -21
  126. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  127. package/lib/module/components/pullToRefresh/RefreshControl.js +0 -73
  128. package/lib/module/components/pullToRefresh/RefreshControl.js.map +0 -1
  129. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js +0 -13
  130. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  131. package/lib/module/components/pullToRefresh/utils.js +0 -42
  132. package/lib/module/components/pullToRefresh/utils.js.map +0 -1
  133. package/lib/typescript/components/pullToRefresh/PullToRefreshContainer.d.ts +0 -8
  134. package/lib/typescript/components/pullToRefresh/PullToRefreshProvider.d.ts +0 -6
  135. package/lib/typescript/components/pullToRefresh/RefreshControl.d.ts +0 -9
  136. package/lib/typescript/components/pullToRefresh/usePullToRefreshContext.d.ts +0 -4
  137. package/lib/typescript/components/pullToRefresh/utils.d.ts +0 -20
  138. package/src/components/pullToRefresh/PullToRefreshContainer.tsx +0 -66
  139. package/src/components/pullToRefresh/PullToRefreshProvider.tsx +0 -27
  140. package/src/components/pullToRefresh/RefreshControl.tsx +0 -100
  141. package/src/components/pullToRefresh/usePullToRefreshContext.ts +0 -13
  142. package/src/components/pullToRefresh/utils.ts +0 -49
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleView.tsx"],"names":["React","useCallback","useEffect","useMemo","StyleSheet","Text","TouchableOpacity","View","Animated","useAnimatedStyle","useSharedValue","withSpring","interpolateColor","interpolate","useAnimatedReaction","runOnJS","key","CollapsibleView","initialState","collapseState","renderHeader","children","containerStyle","collapsedBackgroundColor","expandedBackgroundColor","onToggle","actualHeight","contentKey","newValue","value","handleToggle","overshootClamping","handleLayout","event","nativeEvent","layout","height","wrapperStyle","damping","stiffness","contentHeight","undefined","result","prev","containerAnimatedStyle","backgroundColor","headerProps","collapsed","styles","wrapper","content","CollapsibleHeaderText","title","style","titleStyle","icon","iconInitialAngle","iconStyle","rotate","transform","headerContainer","headerTitle","create","overflow","flexDirection","alignItems","flex"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { ReactNode, useCallback, useEffect, useMemo } from 'react';\nimport {\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withSpring,\n interpolateColor,\n interpolate,\n useAnimatedReaction,\n runOnJS,\n} from 'react-native-reanimated';\n\nexport type CollapsibleHeaderProps = {\n onToggle: () => void;\n collapsed: Animated.SharedValue<number>;\n};\n\ntype Props = {\n initialState?: 'collapsed' | 'expanded';\n collapseState?: Animated.SharedValue<number>;\n renderHeader: (props: CollapsibleHeaderProps) => ReactNode;\n children: ReactNode;\n containerStyle?: StyleProp<ViewStyle>;\n collapsedBackgroundColor?: string;\n expandedBackgroundColor?: string;\n useDynamicLayout?: boolean;\n onToggle?: (isExpand: boolean) => void;\n};\n\nlet key = 0;\nexport default function CollapsibleView({\n initialState = 'collapsed',\n collapseState = useSharedValue(0),\n renderHeader,\n children,\n containerStyle,\n collapsedBackgroundColor,\n expandedBackgroundColor,\n onToggle,\n}: Props) {\n const actualHeight = useSharedValue(11110);\n const contentKey = useMemo(() => `collapsible-view-${key++}`, []);\n\n useEffect(() => {\n const newValue = initialState === 'collapsed' ? 0 : 1;\n if (newValue === collapseState.value) {\n return;\n }\n collapseState.value = newValue;\n }, [initialState]);\n\n const handleToggle = useCallback(() => {\n collapseState.value = withSpring(collapseState.value === 0 ? 1 : 0, {\n overshootClamping: true,\n });\n }, []);\n\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n if (event.nativeEvent.layout.height >= 0) {\n actualHeight.value = event.nativeEvent.layout.height;\n }\n }, []);\n\n const wrapperStyle = useAnimatedStyle(\n () => ({\n height: withSpring(collapseState.value === 1 ? actualHeight.value : 0, {\n damping: 5,\n stiffness: 130,\n overshootClamping: true,\n }),\n }),\n [actualHeight, contentKey]\n );\n\n const contentHeight = useAnimatedStyle(\n () => ({\n height: actualHeight.value > 0 ? actualHeight.value : undefined,\n }),\n [actualHeight, contentKey]\n );\n\n useAnimatedReaction(\n () => (collapseState.value === 0 ? 0 : collapseState.value === 1 ? 1 : 0),\n (result, prev) => {\n if (result === prev) {\n return;\n }\n if (onToggle) {\n runOnJS(onToggle)(result === 1);\n }\n }\n );\n\n // @ts-ignore\n const containerAnimatedStyle = useAnimatedStyle(() => {\n if (collapsedBackgroundColor && expandedBackgroundColor) {\n return {\n backgroundColor: interpolateColor(\n collapseState.value,\n [0, 1],\n [collapsedBackgroundColor, expandedBackgroundColor]\n ),\n };\n }\n return {};\n }, []);\n\n const headerProps = useMemo(\n () => ({ onToggle: handleToggle, collapsed: collapseState }),\n [handleToggle, collapseState]\n );\n\n return (\n <Animated.View\n style={[containerStyle, containerAnimatedStyle]}\n pointerEvents=\"box-none\"\n >\n <View pointerEvents=\"box-none\">{renderHeader(headerProps)}</View>\n <Animated.View\n style={[styles.wrapper, wrapperStyle]}\n pointerEvents=\"box-none\"\n >\n <Animated.View\n style={[styles.content, contentHeight]}\n pointerEvents=\"box-none\"\n >\n <View\n key={contentKey}\n onLayout={handleLayout}\n pointerEvents=\"box-none\"\n >\n {children}\n </View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n );\n}\n\nexport function CollapsibleHeaderText({\n title,\n collapsed,\n onToggle,\n style,\n titleStyle,\n icon,\n iconInitialAngle = 0,\n children,\n}: {\n title: string | Element;\n style?: StyleProp<ViewStyle>;\n titleStyle?: StyleProp<TextStyle>;\n icon?: ReactNode;\n iconInitialAngle?: number;\n children?: ReactNode;\n} & CollapsibleHeaderProps) {\n const iconStyle = useAnimatedStyle(() => {\n const rotate = interpolate(\n collapsed.value,\n [0, 1],\n [iconInitialAngle, 180]\n );\n return {\n transform: [\n {\n rotate: `${rotate}deg`,\n },\n ],\n };\n }, [iconInitialAngle]);\n\n return (\n <TouchableOpacity activeOpacity={0.9} onPress={onToggle} style={style}>\n <View style={styles.headerContainer}>\n <Text style={[styles.headerTitle, titleStyle]}>{title}</Text>\n {icon && <Animated.View style={iconStyle}>{icon}</Animated.View>}\n </View>\n {children}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n wrapper: {\n overflow: 'hidden',\n },\n content: {},\n headerContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n headerTitle: {\n flex: 1,\n },\n});\n"]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","Pressable","StyleSheet","Text","View","Animated","useAnimatedStyle","useSharedValue","withSpring","interpolateColor","interpolate","useAnimatedReaction","runOnJS","key","CollapsibleView","_ref","initialState","collapseState","renderHeader","children","containerStyle","collapsedBackgroundColor","expandedBackgroundColor","onToggle","actualHeight","contentKey","newValue","value","handleToggle","overshootClamping","handleLayout","event","nativeEvent","layout","height","wrapperStyle","damping","stiffness","contentHeight","undefined","result","prev","containerAnimatedStyle","backgroundColor","headerProps","collapsed","createElement","style","pointerEvents","styles","wrapper","content","onLayout","CollapsibleHeaderText","_ref2","title","titleStyle","icon","iconInitialAngle","iconStyle","rotate","transform","headerContainer","onPress","headerTitle","create","overflow","flexDirection","alignItems","justifyContent","flex"],"sourceRoot":"../../../src","sources":["components/CollapsibleView.tsx"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
  import Animated, { useAnimatedStyle } from 'react-native-reanimated';
3
- export default function AnimatedTopView({
4
- height
5
- }) {
3
+ export default function AnimatedTopView(_ref) {
4
+ let {
5
+ height
6
+ } = _ref;
6
7
  const contentStyle = useAnimatedStyle(() => ({
7
8
  paddingTop: height.value
8
9
  }), []);
@@ -1 +1 @@
1
- {"version":3,"sources":["AnimatedTopView.tsx"],"names":["React","Animated","useAnimatedStyle","AnimatedTopView","height","contentStyle","paddingTop","value"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,IAAmBC,gBAAnB,QAA2C,yBAA3C;AAMA,eAAe,SAASC,eAAT,CAAyB;AAAEC,EAAAA;AAAF,CAAzB,EAA4C;AACzD,QAAMC,YAAY,GAAGH,gBAAgB,CACnC,OAAO;AACLI,IAAAA,UAAU,EAAEF,MAAM,CAACG;AADd,GAAP,CADmC,EAInC,EAJmC,CAArC;AAOA,sBAAO,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEF;AAAtB,IAAP;AACD","sourcesContent":["import React from 'react';\nimport Animated, { useAnimatedStyle } from 'react-native-reanimated';\n\ntype Props = {\n height: Animated.SharedValue<number>;\n};\n\nexport default function AnimatedTopView({ height }: Props) {\n const contentStyle = useAnimatedStyle(\n () => ({\n paddingTop: height.value,\n }),\n []\n );\n\n return <Animated.View style={contentStyle} />;\n}\n"]}
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"}
@@ -15,8 +15,9 @@ export default function CollapsibleHeaderConsumer() {
15
15
  scrollY,
16
16
  headerHeight
17
17
  } = useCollapsibleContext();
18
- const headerTranslate = useDerivedValue(() => interpolate(scrollY.value, // FIXME: can improve by geting maxY value of header and sticky views
19
- [-1000, 0, 100000], [0, 0, -100000], Animated.Extrapolate.CLAMP), []);
18
+ const headerTranslate = useDerivedValue(() => interpolate(scrollY.value,
19
+ // FIXME: can improve by geting maxY value of header and sticky views
20
+ [-1000, 0, 100000], [0, 0, -100000], 'clamp'), []);
20
21
  const headerStyle = useAnimatedStyle(() => {
21
22
  return {
22
23
  transform: [{
@@ -24,13 +25,14 @@ export default function CollapsibleHeaderConsumer() {
24
25
  }]
25
26
  };
26
27
  }, [headerHeight, headerTranslate]);
27
- const handleHeaderLayout = useCallback(({
28
- nativeEvent: {
29
- layout: {
30
- height
28
+ const handleHeaderLayout = useCallback(_ref => {
29
+ let {
30
+ nativeEvent: {
31
+ layout: {
32
+ height
33
+ }
31
34
  }
32
- }
33
- }) => {
35
+ } = _ref;
34
36
  handleHeaderContainerLayout(height);
35
37
  }, [handleHeaderContainerLayout]);
36
38
  return /*#__PURE__*/React.createElement(Animated.View, {
@@ -41,7 +43,8 @@ export default function CollapsibleHeaderConsumer() {
41
43
  }
42
44
  const styles = StyleSheet.create({
43
45
  container: {
44
- zIndex: 10
46
+ zIndex: 10,
47
+ backgroundColor: 'white'
45
48
  }
46
49
  });
47
50
  //# sourceMappingURL=CollapsibleHeaderConsumer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderConsumer.tsx"],"names":["React","useCallback","useInternalCollapsibleContext","useCollapsibleHeaderContext","Animated","interpolate","useAnimatedStyle","useDerivedValue","useCollapsibleContext","StyleSheet","CollapsibleHeaderConsumer","headers","handleHeaderContainerLayout","scrollY","headerHeight","headerTranslate","value","Extrapolate","CLAMP","headerStyle","transform","translateY","handleHeaderLayout","nativeEvent","layout","height","styles","container","map","item","children","create","zIndex"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,OAAOC,6BAAP,MAA0C,2CAA1C;AACA,OAAOC,2BAAP,MAAwC,yCAAxC;AACA,OAAOC,QAAP,IACEC,WADF,EAEEC,gBAFF,EAGEC,eAHF,QAIO,yBAJP;AAKA,OAAOC,qBAAP,MAAkC,mCAAlC;AACA,SAA4BC,UAA5B,QAA8C,cAA9C;AAEA,eAAe,SAASC,yBAAT,GAAqC;AAClD,QAAM;AAAEC,IAAAA;AAAF,MAAcR,2BAA2B,EAA/C;AACA,QAAM;AAAES,IAAAA;AAAF,MAAkCV,6BAA6B,EAArE;AACA,QAAM;AAAEW,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAA4BN,qBAAqB,EAAvD;AAEA,QAAMO,eAAe,GAAGR,eAAe,CACrC,MACEF,WAAW,CACTQ,OAAO,CAACG,KADC,EAET;AACA,GAAC,CAAC,IAAF,EAAQ,CAAR,EAAW,MAAX,CAHS,EAIT,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAC,MAAR,CAJS,EAKTZ,QAAQ,CAACa,WAAT,CAAqBC,KALZ,CAFwB,EASrC,EATqC,CAAvC;AAYA,QAAMC,WAAW,GAAGb,gBAAgB,CAAC,MAAM;AACzC,WAAO;AACLc,MAAAA,SAAS,EAAE,CAAC;AAAEC,QAAAA,UAAU,EAAEN,eAAe,CAACC;AAA9B,OAAD;AADN,KAAP;AAGD,GAJmC,EAIjC,CAACF,YAAD,EAAeC,eAAf,CAJiC,CAApC;AAMA,QAAMO,kBAAkB,GAAGrB,WAAW,CACpC,CAAC;AACCsB,IAAAA,WAAW,EAAE;AACXC,MAAAA,MAAM,EAAE;AAAEC,QAAAA;AAAF;AADG;AADd,GAAD,KAIyB;AACvBb,IAAAA,2BAA2B,CAACa,MAAD,CAA3B;AACD,GAPmC,EAQpC,CAACb,2BAAD,CARoC,CAAtC;AAWA,sBACE,oBAAC,QAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAEU,kBADZ;AAEE,IAAA,KAAK,EAAE,CAACI,MAAM,CAACC,SAAR,EAAmBR,WAAnB,CAFT;AAGE,IAAA,aAAa,EAAC;AAHhB,KAKGR,OAAO,CAACiB,GAAR,CAAaC,IAAD,IAAUA,IAAI,CAACC,QAA3B,CALH,CADF;AASD;AAED,MAAMJ,MAAM,GAAGjB,UAAU,CAACsB,MAAX,CAAkB;AAC/BJ,EAAAA,SAAS,EAAE;AACTK,IAAAA,MAAM,EAAE;AADC;AADoB,CAAlB,CAAf","sourcesContent":["import React, { useCallback } from 'react';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\nimport useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';\nimport Animated, {\n interpolate,\n useAnimatedStyle,\n useDerivedValue,\n} from 'react-native-reanimated';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport { LayoutChangeEvent, StyleSheet } from 'react-native';\n\nexport default function CollapsibleHeaderConsumer() {\n const { headers } = useCollapsibleHeaderContext();\n const { handleHeaderContainerLayout } = useInternalCollapsibleContext();\n const { scrollY, headerHeight } = useCollapsibleContext();\n\n const headerTranslate = useDerivedValue(\n () =>\n interpolate(\n scrollY.value,\n // FIXME: can improve by geting maxY value of header and sticky views\n [-1000, 0, 100000],\n [0, 0, -100000],\n Animated.Extrapolate.CLAMP\n ),\n []\n );\n\n const headerStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateY: headerTranslate.value }],\n };\n }, [headerHeight, headerTranslate]);\n\n const handleHeaderLayout = useCallback(\n ({\n nativeEvent: {\n layout: { height },\n },\n }: LayoutChangeEvent) => {\n handleHeaderContainerLayout(height);\n },\n [handleHeaderContainerLayout]\n );\n\n return (\n <Animated.View\n onLayout={handleHeaderLayout}\n style={[styles.container, headerStyle]}\n pointerEvents=\"box-none\"\n >\n {headers.map((item) => item.children)}\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 10,\n },\n});\n"]}
1
+ {"version":3,"names":["React","useCallback","useInternalCollapsibleContext","useCollapsibleHeaderContext","Animated","interpolate","useAnimatedStyle","useDerivedValue","useCollapsibleContext","StyleSheet","CollapsibleHeaderConsumer","headers","handleHeaderContainerLayout","scrollY","headerHeight","headerTranslate","value","headerStyle","transform","translateY","handleHeaderLayout","_ref","nativeEvent","layout","height","createElement","View","onLayout","style","styles","container","pointerEvents","map","item","children","create","zIndex","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderConsumer.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,6BAA6B,MAAM,2CAA2C;AACrF,OAAOC,2BAA2B,MAAM,yCAAyC;AACjF,OAAOC,QAAQ,IACbC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,QACV,yBAAyB;AAChC,OAAOC,qBAAqB,MAAM,mCAAmC;AACrE,SAA4BC,UAAU,QAAQ,cAAc;AAE5D,eAAe,SAASC,yBAAyBA,CAAA,EAAG;EAClD,MAAM;IAAEC;EAAQ,CAAC,GAAGR,2BAA2B,CAAC,CAAC;EACjD,MAAM;IAAES;EAA4B,CAAC,GAAGV,6BAA6B,CAAC,CAAC;EACvE,MAAM;IAAEW,OAAO;IAAEC;EAAa,CAAC,GAAGN,qBAAqB,CAAC,CAAC;EAEzD,MAAMO,eAAe,GAAGR,eAAe,CACrC,MACEF,WAAW,CACTQ,OAAO,CAACG,KAAK;EACb;EACA,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAClB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EACf,OACF,CAAC,EACH,EACF,CAAC;EAED,MAAMC,WAAW,GAAGX,gBAAgB,CAAC,MAAM;IACzC,OAAO;MACLY,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEJ,eAAe,CAACC;MAAM,CAAC;IACnD,CAAC;EACH,CAAC,EAAE,CAACF,YAAY,EAAEC,eAAe,CAAC,CAAC;EAEnC,MAAMK,kBAAkB,GAAGnB,WAAW,CACpCoB,IAAA,IAIyB;IAAA,IAJxB;MACCC,WAAW,EAAE;QACXC,MAAM,EAAE;UAAEC;QAAO;MACnB;IACiB,CAAC,GAAAH,IAAA;IAClBT,2BAA2B,CAACY,MAAM,CAAC;EACrC,CAAC,EACD,CAACZ,2BAA2B,CAC9B,CAAC;EAED,oBACEZ,KAAA,CAAAyB,aAAA,CAACrB,QAAQ,CAACsB,IAAI;IACZC,QAAQ,EAAEP,kBAAmB;IAC7BQ,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEb,WAAW,CAAE;IACvCc,aAAa,EAAC;EAAU,GAEvBpB,OAAO,CAACqB,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,QAAQ,CACvB,CAAC;AAEpB;AAEA,MAAML,MAAM,GAAGpB,UAAU,CAAC0B,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,MAAM,EAAE,EAAE;IACVC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC"}
@@ -3,10 +3,11 @@ import React, { useEffect, useMemo } from 'react';
3
3
  import { View } from 'react-native';
4
4
  import useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';
5
5
  let key = 0;
6
- export default function CollapsibleHeaderContainer({
7
- children,
8
- containerStyle
9
- }) {
6
+ export default function CollapsibleHeaderContainer(_ref) {
7
+ let {
8
+ children,
9
+ containerStyle
10
+ } = _ref;
10
11
  const contentKey = useMemo(() => `collapsible-header-${key++}`, []);
11
12
  const {
12
13
  mount,
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderContainer.tsx"],"names":["React","useEffect","useMemo","View","useCollapsibleHeaderContext","key","CollapsibleHeaderContainer","children","containerStyle","contentKey","mount","unmount","update","internalStyle","zIndex","content"],"mappings":"AAAA;AACA,OAAOA,KAAP,IAA2BC,SAA3B,EAAsCC,OAAtC,QAAqD,OAArD;AACA,SAASC,IAAT,QAA2C,cAA3C;AACA,OAAOC,2BAAP,MAAwC,yCAAxC;AAOA,IAAIC,GAAG,GAAG,CAAV;AAEA,eAAe,SAASC,0BAAT,CAAoC;AACjDC,EAAAA,QADiD;AAEjDC,EAAAA;AAFiD,CAApC,EAGL;AACR,QAAMC,UAAU,GAAGP,OAAO,CAAC,MAAO,sBAAqBG,GAAG,EAAG,EAAnC,EAAsC,EAAtC,CAA1B;AACA,QAAM;AAAEK,IAAAA,KAAF;AAASC,IAAAA,OAAT;AAAkBC,IAAAA;AAAlB,MAA6BR,2BAA2B,EAA9D;AAEA,QAAMS,aAAa,GAAGX,OAAO,CAAC,MAAM;AAClC,WAAO;AACLY,MAAAA,MAAM,EAAE,SAAST;AADZ,KAAP;AAGD,GAJ4B,EAI1B,EAJ0B,CAA7B;AAMA,QAAMU,OAAO,GAAGb,OAAO,CAAC,MAAM;AAC5B,wBACE,oBAAC,IAAD;AACE,MAAA,GAAG,EAAEO,UADP;AAEE,MAAA,KAAK,EAAE,CAACD,cAAD,EAAiBK,aAAjB,CAFT;AAGE,MAAA,aAAa,EAAC;AAHhB,OAKGN,QALH,CADF;AASD,GAVsB,EAUpB,CAACA,QAAD,EAAWC,cAAX,CAVoB,CAAvB;AAYAP,EAAAA,SAAS,CAAC,MAAM;AACdS,IAAAA,KAAK,CAACD,UAAD,EAAaM,OAAb,CAAL;AAEA,WAAO,MAAM;AACXJ,MAAAA,OAAO,CAACF,UAAD,CAAP;AACD,KAFD;AAGD,GANQ,EAMN,CAACA,UAAD,CANM,CAAT;AAQAR,EAAAA,SAAS,CAAC,MAAM;AACdW,IAAAA,MAAM,CAACH,UAAD,EAAaM,OAAb,CAAN;AACD,GAFQ,EAEN,CAACA,OAAD,CAFM,CAAT;AAIA,SAAO,IAAP;AACD","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { ReactNode, useEffect, useMemo } from 'react';\nimport { View, StyleProp, ViewStyle } from 'react-native';\nimport useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';\n\ntype Props = {\n children: ReactNode;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nlet key = 0;\n\nexport default function CollapsibleHeaderContainer({\n children,\n containerStyle,\n}: Props) {\n const contentKey = useMemo(() => `collapsible-header-${key++}`, []);\n const { mount, unmount, update } = useCollapsibleHeaderContext();\n\n const internalStyle = useMemo(() => {\n return {\n zIndex: 100000 - key,\n };\n }, []);\n\n const content = useMemo(() => {\n return (\n <View\n key={contentKey}\n style={[containerStyle, internalStyle]}\n pointerEvents=\"box-none\"\n >\n {children}\n </View>\n );\n }, [children, containerStyle]);\n\n useEffect(() => {\n mount(contentKey, content);\n\n return () => {\n unmount(contentKey);\n };\n }, [contentKey]);\n\n useEffect(() => {\n update(contentKey, content);\n }, [content]);\n\n return null;\n}\n"]}
1
+ {"version":3,"names":["React","useEffect","useMemo","View","useCollapsibleHeaderContext","key","CollapsibleHeaderContainer","_ref","children","containerStyle","contentKey","mount","unmount","update","internalStyle","zIndex","content","createElement","style","pointerEvents"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderContainer.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAeC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC5D,SAASC,IAAI,QAA8B,cAAc;AACzD,OAAOC,2BAA2B,MAAM,yCAAyC;AAOjF,IAAIC,GAAG,GAAG,CAAC;AAEX,eAAe,SAASC,0BAA0BA,CAAAC,IAAA,EAGxC;EAAA,IAHyC;IACjDC,QAAQ;IACRC;EACK,CAAC,GAAAF,IAAA;EACN,MAAMG,UAAU,GAAGR,OAAO,CAAC,MAAO,sBAAqBG,GAAG,EAAG,EAAC,EAAE,EAAE,CAAC;EACnE,MAAM;IAAEM,KAAK;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGT,2BAA2B,CAAC,CAAC;EAEhE,MAAMU,aAAa,GAAGZ,OAAO,CAAC,MAAM;IAClC,OAAO;MACLa,MAAM,EAAE,MAAM,GAAGV;IACnB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMW,OAAO,GAAGd,OAAO,CAAC,MAAM;IAC5B,oBACEF,KAAA,CAAAiB,aAAA,CAACd,IAAI;MACHE,GAAG,EAAEK,UAAW;MAChBQ,KAAK,EAAE,CAACT,cAAc,EAAEK,aAAa,CAAE;MACvCK,aAAa,EAAC;IAAU,GAEvBX,QACG,CAAC;EAEX,CAAC,EAAE,CAACA,QAAQ,EAAEC,cAAc,CAAC,CAAC;EAE9BR,SAAS,CAAC,MAAM;IACdU,KAAK,CAACD,UAAU,EAAEM,OAAO,CAAC;IAE1B,OAAO,MAAM;MACXJ,OAAO,CAACF,UAAU,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhBT,SAAS,CAAC,MAAM;IACdY,MAAM,CAACH,UAAU,EAAEM,OAAO,CAAC;EAC7B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,OAAO,IAAI;AACb"}
@@ -1,9 +1,10 @@
1
1
  /* eslint-disable no-shadow */
2
2
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { CollapsibleHeaderContext } from '../../hooks/useCollapsibleHeaderContext';
4
- export default function CollapsibleHeaderProvider({
5
- children
6
- }) {
4
+ export default function CollapsibleHeaderProvider(_ref) {
5
+ let {
6
+ children
7
+ } = _ref;
7
8
  const [headers, setHeaders] = useState([]);
8
9
  const mounted = useRef(false);
9
10
  useEffect(() => {
@@ -25,14 +26,13 @@ export default function CollapsibleHeaderProvider({
25
26
  if (!mounted.current) {
26
27
  return;
27
28
  }
28
-
29
29
  setHeaders(prev => prev.map(item => {
30
30
  if (item.key === key) {
31
- return { ...item,
31
+ return {
32
+ ...item,
32
33
  children
33
34
  };
34
35
  }
35
-
36
36
  return item;
37
37
  }));
38
38
  }, []);
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderProvider.tsx"],"names":["React","useCallback","useEffect","useMemo","useRef","useState","CollapsibleHeaderContext","CollapsibleHeaderProvider","children","headers","setHeaders","mounted","current","mount","key","prev","unmount","filter","h","update","map","item","context"],"mappings":"AAAA;AACA,OAAOA,KAAP,IAEEC,WAFF,EAGEC,SAHF,EAIEC,OAJF,EAKEC,MALF,EAMEC,QANF,QAOO,OAPP;AAQA,SACEC,wBADF,QAGO,yCAHP;AAKA,eAAe,SAASC,yBAAT,CAAmC;AAChDC,EAAAA;AADgD,CAAnC,EAIZ;AACD,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBL,QAAQ,CAAe,EAAf,CAAtC;AACA,QAAMM,OAAO,GAAGP,MAAM,CAAC,KAAD,CAAtB;AAEAF,EAAAA,SAAS,CAAC,MAAM;AACdS,IAAAA,OAAO,CAACC,OAAR,GAAkB,IAAlB;AACA,WAAO,MAAM;AACXD,MAAAA,OAAO,CAACC,OAAR,GAAkB,KAAlB;AACD,KAFD;AAGD,GALQ,EAKN,EALM,CAAT;AAOA,QAAMC,KAAK,GAAGZ,WAAW,CAAC,CAACa,GAAD,EAAcN,QAAd,KAAsC;AAC9DE,IAAAA,UAAU,CAAEK,IAAD,IAAU,CAAC,GAAGA,IAAJ,EAAU;AAAED,MAAAA,GAAF;AAAON,MAAAA;AAAP,KAAV,CAAX,CAAV;AACD,GAFwB,EAEtB,EAFsB,CAAzB;AAIA,QAAMQ,OAAO,GAAGf,WAAW,CAAEa,GAAD,IAAiB;AAC3CJ,IAAAA,UAAU,CAAEK,IAAD,IAAUA,IAAI,CAACE,MAAL,CAAaC,CAAD,IAAOA,CAAC,CAACJ,GAAF,KAAUA,GAA7B,CAAX,CAAV;AACD,GAF0B,EAExB,EAFwB,CAA3B;AAIA,QAAMK,MAAM,GAAGlB,WAAW,CAAC,CAACa,GAAD,EAAcN,QAAd,KAAsC;AAC/D,QAAI,CAACG,OAAO,CAACC,OAAb,EAAsB;AACpB;AACD;;AACDF,IAAAA,UAAU,CAAEK,IAAD,IACTA,IAAI,CAACK,GAAL,CAAUC,IAAD,IAAU;AACjB,UAAIA,IAAI,CAACP,GAAL,KAAaA,GAAjB,EAAsB;AACpB,eAAO,EACL,GAAGO,IADE;AAELb,UAAAA;AAFK,SAAP;AAID;;AACD,aAAOa,IAAP;AACD,KARD,CADQ,CAAV;AAWD,GAfyB,EAevB,EAfuB,CAA1B;AAiBA,QAAMC,OAAO,GAAGnB,OAAO,CACrB,OAAO;AACLM,IAAAA,OADK;AAELI,IAAAA,KAFK;AAGLG,IAAAA,OAHK;AAILG,IAAAA;AAJK,GAAP,CADqB,EAOrB,CAACV,OAAD,EAAUI,KAAV,EAAiBG,OAAjB,EAA0BG,MAA1B,CAPqB,CAAvB;AAUA,sBACE,oBAAC,wBAAD,CAA0B,QAA1B;AAAmC,IAAA,KAAK,EAAEG;AAA1C,KACGd,QADH,CADF;AAKD","sourcesContent":["/* eslint-disable no-shadow */\nimport React, {\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n CollapsibleHeaderContext,\n HeaderItem,\n} from '../../hooks/useCollapsibleHeaderContext';\n\nexport default function CollapsibleHeaderProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const [headers, setHeaders] = useState<HeaderItem[]>([]);\n const mounted = useRef(false);\n\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n }, []);\n\n const mount = useCallback((key: string, children: ReactNode) => {\n setHeaders((prev) => [...prev, { key, children }]);\n }, []);\n\n const unmount = useCallback((key: string) => {\n setHeaders((prev) => prev.filter((h) => h.key !== key));\n }, []);\n\n const update = useCallback((key: string, children: ReactNode) => {\n if (!mounted.current) {\n return;\n }\n setHeaders((prev) =>\n prev.map((item) => {\n if (item.key === key) {\n return {\n ...item,\n children,\n };\n }\n return item;\n })\n );\n }, []);\n\n const context = useMemo(\n () => ({\n headers,\n mount,\n unmount,\n update,\n }),\n [headers, mount, unmount, update]\n );\n\n return (\n <CollapsibleHeaderContext.Provider value={context}>\n {children}\n </CollapsibleHeaderContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","CollapsibleHeaderContext","CollapsibleHeaderProvider","_ref","children","headers","setHeaders","mounted","current","mount","key","prev","unmount","filter","h","update","map","item","context","createElement","Provider","value"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderProvider.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAEVC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,wBAAwB,QAEnB,yCAAyC;AAEhD,eAAe,SAASC,yBAAyBA,CAAAC,IAAA,EAI9C;EAAA,IAJ+C;IAChDC;EAGF,CAAC,GAAAD,IAAA;EACC,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAe,EAAE,CAAC;EACxD,MAAMO,OAAO,GAAGR,MAAM,CAAC,KAAK,CAAC;EAE7BF,SAAS,CAAC,MAAM;IACdU,OAAO,CAACC,OAAO,GAAG,IAAI;IACtB,OAAO,MAAM;MACXD,OAAO,CAACC,OAAO,GAAG,KAAK;IACzB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,KAAK,GAAGb,WAAW,CAAC,CAACc,GAAW,EAAEN,QAAmB,KAAK;IAC9DE,UAAU,CAAEK,IAAI,IAAK,CAAC,GAAGA,IAAI,EAAE;MAAED,GAAG;MAAEN;IAAS,CAAC,CAAC,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,OAAO,GAAGhB,WAAW,CAAEc,GAAW,IAAK;IAC3CJ,UAAU,CAAEK,IAAI,IAAKA,IAAI,CAACE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACJ,GAAG,KAAKA,GAAG,CAAC,CAAC;EACzD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMK,MAAM,GAAGnB,WAAW,CAAC,CAACc,GAAW,EAAEN,QAAmB,KAAK;IAC/D,IAAI,CAACG,OAAO,CAACC,OAAO,EAAE;MACpB;IACF;IACAF,UAAU,CAAEK,IAAI,IACdA,IAAI,CAACK,GAAG,CAAEC,IAAI,IAAK;MACjB,IAAIA,IAAI,CAACP,GAAG,KAAKA,GAAG,EAAE;QACpB,OAAO;UACL,GAAGO,IAAI;UACPb;QACF,CAAC;MACH;MACA,OAAOa,IAAI;IACb,CAAC,CACH,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAGpB,OAAO,CACrB,OAAO;IACLO,OAAO;IACPI,KAAK;IACLG,OAAO;IACPG;EACF,CAAC,CAAC,EACF,CAACV,OAAO,EAAEI,KAAK,EAAEG,OAAO,EAAEG,MAAM,CAClC,CAAC;EAED,oBACEpB,KAAA,CAAAwB,aAAA,CAAClB,wBAAwB,CAACmB,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAC/Cd,QACgC,CAAC;AAExC"}
@@ -1,14 +1,15 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
2
  import React, { useCallback, useEffect, useMemo, useRef } from 'react';
3
- import { Platform, StyleSheet } from 'react-native';
3
+ import { StyleSheet } from 'react-native';
4
4
  import useCollapsibleContext from '../../hooks/useCollapsibleContext';
5
5
  import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
6
6
  import Animated, { Extrapolate, interpolate, useAnimatedStyle, useDerivedValue } from 'react-native-reanimated';
7
7
  let stickyKey = 0;
8
- export default function StickyView({
9
- children,
10
- style
11
- }) {
8
+ export default function StickyView(_ref) {
9
+ let {
10
+ children,
11
+ style
12
+ } = _ref;
12
13
  const key = useMemo(() => `sticky_${stickyKey++}`, []);
13
14
  const viewRef = useRef(null);
14
15
  const {
@@ -21,7 +22,7 @@ export default function StickyView({
21
22
  } = useCollapsibleContext();
22
23
  useEffect(() => {
23
24
  return () => handleStickyViewLayout(key, undefined);
24
- }, []);
25
+ }, [key]);
25
26
  const handleLayout = useCallback(() => {
26
27
  handleStickyViewLayout(key, viewRef);
27
28
  }, [key]);
@@ -32,7 +33,7 @@ export default function StickyView({
32
33
  };
33
34
  const inputMid = layoutValues.top - top;
34
35
  return interpolate(scrollY.value, [0, inputMid, inputMid + 100000], [0, 0, 100000], Extrapolate.CLAMP);
35
- }, []);
36
+ }, [key]);
36
37
  const animatedStyle = useAnimatedStyle(() => {
37
38
  return {
38
39
  transform: [{
@@ -41,7 +42,8 @@ export default function StickyView({
41
42
  };
42
43
  }, []);
43
44
  return /*#__PURE__*/React.createElement(Animated.View, {
44
- key: key // @ts-ignore
45
+ key: key
46
+ // @ts-ignore
45
47
  ,
46
48
  ref: viewRef,
47
49
  onLayout: handleLayout,
@@ -52,8 +54,7 @@ export default function StickyView({
52
54
  const styles = StyleSheet.create({
53
55
  container: {
54
56
  backgroundColor: 'white',
55
- zIndex: 10,
56
- marginTop: Platform.OS === 'android' ? -1 : 0
57
+ zIndex: 10
57
58
  }
58
59
  });
59
60
  //# sourceMappingURL=StickyView.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["StickyView.tsx"],"names":["React","useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useCollapsibleContext","useInternalCollapsibleContext","Animated","Extrapolate","interpolate","useAnimatedStyle","useDerivedValue","stickyKey","StickyView","children","style","key","viewRef","handleStickyViewLayout","stickyViewTops","stickyViewPositions","scrollY","undefined","handleLayout","translateY","top","value","layoutValues","inputMid","CLAMP","animatedStyle","transform","styles","container","create","backgroundColor","zIndex","marginTop","OS"],"mappings":"AAAA;AACA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,EAAwCC,OAAxC,EAAiDC,MAAjD,QAA+D,OAA/D;AACA,SAASC,QAAT,EAA8BC,UAA9B,QAAiE,cAAjE;AACA,OAAOC,qBAAP,MAAkC,mCAAlC;AACA,OAAOC,6BAAP,MAA0C,2CAA1C;AACA,OAAOC,QAAP,IACEC,WADF,EAEEC,WAFF,EAGEC,gBAHF,EAIEC,eAJF,QAKO,yBALP;AAYA,IAAIC,SAAS,GAAG,CAAhB;AAEA,eAAe,SAASC,UAAT,CAAoB;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAApB,EAAgD;AAC7D,QAAMC,GAAG,GAAGf,OAAO,CAAC,MAAO,UAASW,SAAS,EAAG,EAA7B,EAAgC,EAAhC,CAAnB;AACA,QAAMK,OAAO,GAAGf,MAAM,CAAO,IAAP,CAAtB;AACA,QAAM;AAAEgB,IAAAA,sBAAF;AAA0BC,IAAAA,cAA1B;AAA0CC,IAAAA;AAA1C,MACJd,6BAA6B,EAD/B;AAEA,QAAM;AAAEe,IAAAA;AAAF,MAAchB,qBAAqB,EAAzC;AAEAL,EAAAA,SAAS,CAAC,MAAM;AACd,WAAO,MAAMkB,sBAAsB,CAACF,GAAD,EAAMM,SAAN,CAAnC;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,QAAMC,YAAY,GAAGxB,WAAW,CAAC,MAAM;AACrCmB,IAAAA,sBAAsB,CAACF,GAAD,EAAMC,OAAN,CAAtB;AACD,GAF+B,EAE7B,CAACD,GAAD,CAF6B,CAAhC;AAIA,QAAMQ,UAAU,GAAGb,eAAe,CAAC,MAAM;AACvC,UAAMc,GAAG,GAAGN,cAAc,CAACO,KAAf,CAAqBV,GAArB,KAA6B,CAAzC;AACA,UAAMW,YAAY,GAAGP,mBAAmB,CAACM,KAApB,CAA0BV,GAA1B,KAAkC;AAAES,MAAAA,GAAG,EAAE;AAAP,KAAvD;AACA,UAAMG,QAAQ,GAAGD,YAAY,CAACF,GAAb,GAAmBA,GAApC;AACA,WAAOhB,WAAW,CAChBY,OAAO,CAACK,KADQ,EAEhB,CAAC,CAAD,EAAIE,QAAJ,EAAcA,QAAQ,GAAG,MAAzB,CAFgB,EAGhB,CAAC,CAAD,EAAI,CAAJ,EAAO,MAAP,CAHgB,EAIhBpB,WAAW,CAACqB,KAJI,CAAlB;AAMD,GAViC,EAU/B,EAV+B,CAAlC;AAYA,QAAMC,aAAa,GAAGpB,gBAAgB,CAAC,MAAM;AAC3C,WAAO;AACLqB,MAAAA,SAAS,EAAE,CACT;AACEP,QAAAA,UAAU,EAAEA,UAAU,CAACE;AADzB,OADS;AADN,KAAP;AAOD,GARqC,EAQnC,EARmC,CAAtC;AAUA,sBACE,oBAAC,QAAD,CAAU,IAAV;AACE,IAAA,GAAG,EAAEV,GADP,CAEE;AAFF;AAGE,IAAA,GAAG,EAAEC,OAHP;AAIE,IAAA,QAAQ,EAAEM,YAJZ;AAKE,IAAA,KAAK,EAAE,CAACS,MAAM,CAACC,SAAR,EAAmBH,aAAnB,EAAkCf,KAAlC,CALT;AAME,IAAA,aAAa,EAAC;AANhB,KAQGD,QARH,CADF;AAYD;AAED,MAAMkB,MAAM,GAAG5B,UAAU,CAAC8B,MAAX,CAAkB;AAC/BD,EAAAA,SAAS,EAAE;AACTE,IAAAA,eAAe,EAAE,OADR;AAETC,IAAAA,MAAM,EAAE,EAFC;AAGTC,IAAAA,SAAS,EAAElC,QAAQ,CAACmC,EAAT,KAAgB,SAAhB,GAA4B,CAAC,CAA7B,GAAiC;AAHnC;AADoB,CAAlB,CAAf","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Platform, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\nimport Animated, {\n Extrapolate,\n interpolate,\n useAnimatedStyle,\n useDerivedValue,\n} from 'react-native-reanimated';\n\ntype Props = {\n style?: StyleProp<ViewStyle>;\n children: Element;\n};\n\nlet stickyKey = 0;\n\nexport default function StickyView({ children, style }: Props) {\n const key = useMemo(() => `sticky_${stickyKey++}`, []);\n const viewRef = useRef<View>(null);\n const { handleStickyViewLayout, stickyViewTops, stickyViewPositions } =\n useInternalCollapsibleContext();\n const { scrollY } = useCollapsibleContext();\n\n useEffect(() => {\n return () => handleStickyViewLayout(key, undefined);\n }, []);\n\n const handleLayout = useCallback(() => {\n handleStickyViewLayout(key, viewRef);\n }, [key]);\n\n const translateY = useDerivedValue(() => {\n const top = stickyViewTops.value[key] || 0;\n const layoutValues = stickyViewPositions.value[key] || { top: 0 };\n const inputMid = layoutValues.top - top;\n return interpolate(\n scrollY.value,\n [0, inputMid, inputMid + 100000],\n [0, 0, 100000],\n Extrapolate.CLAMP\n );\n }, []);\n\n const animatedStyle = useAnimatedStyle(() => {\n return {\n transform: [\n {\n translateY: translateY.value,\n },\n ],\n };\n }, []);\n\n return (\n <Animated.View\n key={key}\n // @ts-ignore\n ref={viewRef}\n onLayout={handleLayout}\n style={[styles.container, animatedStyle, style]}\n pointerEvents=\"box-none\"\n >\n {children}\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: 'white',\n zIndex: 10,\n marginTop: Platform.OS === 'android' ? -1 : 0,\n },\n});\n"]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","StyleSheet","useCollapsibleContext","useInternalCollapsibleContext","Animated","Extrapolate","interpolate","useAnimatedStyle","useDerivedValue","stickyKey","StickyView","_ref","children","style","key","viewRef","handleStickyViewLayout","stickyViewTops","stickyViewPositions","scrollY","undefined","handleLayout","translateY","top","value","layoutValues","inputMid","CLAMP","animatedStyle","transform","createElement","View","ref","onLayout","styles","container","pointerEvents","create","backgroundColor","zIndex"],"sourceRoot":"../../../../src","sources":["components/header/StickyView.tsx"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACtE,SAAoBC,UAAU,QAAyB,cAAc;AACrE,OAAOC,qBAAqB,MAAM,mCAAmC;AACrE,OAAOC,6BAA6B,MAAM,2CAA2C;AACrF,OAAOC,QAAQ,IACbC,WAAW,EACXC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,QACV,yBAAyB;AAOhC,IAAIC,SAAS,GAAG,CAAC;AAEjB,eAAe,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAF,IAAA;EAC3D,MAAMG,GAAG,GAAGf,OAAO,CAAC,MAAO,UAASU,SAAS,EAAG,EAAC,EAAE,EAAE,CAAC;EACtD,MAAMM,OAAO,GAAGf,MAAM,CAAO,IAAI,CAAC;EAClC,MAAM;IAAEgB,sBAAsB;IAAEC,cAAc;IAAEC;EAAoB,CAAC,GACnEf,6BAA6B,CAAC,CAAC;EACjC,MAAM;IAAEgB;EAAQ,CAAC,GAAGjB,qBAAqB,CAAC,CAAC;EAE3CJ,SAAS,CAAC,MAAM;IACd,OAAO,MAAMkB,sBAAsB,CAACF,GAAG,EAAEM,SAAS,CAAC;EACrD,CAAC,EAAE,CAACN,GAAG,CAAC,CAAC;EAET,MAAMO,YAAY,GAAGxB,WAAW,CAAC,MAAM;IACrCmB,sBAAsB,CAACF,GAAG,EAAEC,OAAO,CAAC;EACtC,CAAC,EAAE,CAACD,GAAG,CAAC,CAAC;EAET,MAAMQ,UAAU,GAAGd,eAAe,CAAC,MAAM;IACvC,MAAMe,GAAG,GAAGN,cAAc,CAACO,KAAK,CAACV,GAAG,CAAC,IAAI,CAAC;IAC1C,MAAMW,YAAY,GAAGP,mBAAmB,CAACM,KAAK,CAACV,GAAG,CAAC,IAAI;MAAES,GAAG,EAAE;IAAE,CAAC;IACjE,MAAMG,QAAQ,GAAGD,YAAY,CAACF,GAAG,GAAGA,GAAG;IACvC,OAAOjB,WAAW,CAChBa,OAAO,CAACK,KAAK,EACb,CAAC,CAAC,EAAEE,QAAQ,EAAEA,QAAQ,GAAG,MAAM,CAAC,EAChC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EACdrB,WAAW,CAACsB,KACd,CAAC;EACH,CAAC,EAAE,CAACb,GAAG,CAAC,CAAC;EAET,MAAMc,aAAa,GAAGrB,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLsB,SAAS,EAAE,CACT;QACEP,UAAU,EAAEA,UAAU,CAACE;MACzB,CAAC;IAEL,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE5B,KAAA,CAAAkC,aAAA,CAAC1B,QAAQ,CAAC2B,IAAI;IACZjB,GAAG,EAAEA;IACL;IAAA;IACAkB,GAAG,EAAEjB,OAAQ;IACbkB,QAAQ,EAAEZ,YAAa;IACvBR,KAAK,EAAE,CAACqB,MAAM,CAACC,SAAS,EAAEP,aAAa,EAAEf,KAAK,CAAE;IAChDuB,aAAa,EAAC;EAAU,GAEvBxB,QACY,CAAC;AAEpB;AAEA,MAAMsB,MAAM,GAAGjC,UAAU,CAACoC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,eAAe,EAAE,OAAO;IACxBC,MAAM,EAAE;EACV;AACF,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || 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
-
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); }
3
2
  /* eslint-disable react-hooks/exhaustive-deps */
4
3
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
4
  import { View, StyleSheet, FlatList } from 'react-native';
@@ -9,10 +8,11 @@ import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleCon
9
8
  import AnimatedTopView from '../header/AnimatedTopView';
10
9
  import useCollapsibleContext from '../../hooks/useCollapsibleContext';
11
10
  const AnimatedFlatList = Animated.createAnimatedComponent(FlatList);
12
- export default function CollapsibleFlatList({
13
- headerSnappable = true,
14
- ...props
15
- }) {
11
+ export default function CollapsibleFlatList(_ref) {
12
+ let {
13
+ headerSnappable = true,
14
+ ...props
15
+ } = _ref;
16
16
  const {
17
17
  headerHeight
18
18
  } = useCollapsibleContext();
@@ -30,9 +30,9 @@ export default function CollapsibleFlatList({
30
30
  mounted.current = false;
31
31
  };
32
32
  }, []);
33
- const scrollTo = useCallback((yValue, animated = true) => {
33
+ const scrollTo = useCallback(function (yValue) {
34
34
  var _scrollViewRef$curren;
35
-
35
+ let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
36
36
  (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollToOffset({
37
37
  offset: yValue,
38
38
  animated
@@ -40,7 +40,6 @@ export default function CollapsibleFlatList({
40
40
  }, []);
41
41
  const scrollToIndex = useCallback(params => {
42
42
  var _scrollViewRef$curren2;
43
-
44
43
  (_scrollViewRef$curren2 = scrollViewRef.current) === null || _scrollViewRef$curren2 === void 0 ? void 0 : _scrollViewRef$curren2.scrollToIndex(params);
45
44
  }, []);
46
45
  const {
@@ -83,13 +82,11 @@ export default function CollapsibleFlatList({
83
82
  contentHeight.current = height;
84
83
  }, []);
85
84
  const handleScrollToIndexFailed = useCallback(() => {}, []);
86
-
87
85
  function renderListHeader() {
88
86
  return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(AnimatedTopView, {
89
87
  height: headerHeight
90
88
  }), props.ListHeaderComponent);
91
89
  }
92
-
93
90
  return /*#__PURE__*/React.createElement(AnimatedFlatList, _extends({
94
91
  ref: scrollViewRef,
95
92
  keyboardDismissMode: "on-drag",
@@ -101,14 +98,16 @@ export default function CollapsibleFlatList({
101
98
  contentContainerStyle: contentContainerStyle,
102
99
  onScroll: scrollHandler,
103
100
  ListHeaderComponent: renderListHeader(),
104
- onContentSizeChange: handleContentSizeChange //@ts-ignore
101
+ onContentSizeChange: handleContentSizeChange
102
+ //@ts-ignore
105
103
  ,
106
104
  simultaneousHandlers: [],
107
105
  progressViewOffset: internalProgressViewOffset
108
106
  }));
109
107
  }
110
108
  const styles = StyleSheet.create({
111
- container: { ...StyleSheet.absoluteFillObject
109
+ container: {
110
+ ...StyleSheet.absoluteFillObject
112
111
  },
113
112
  contentContainer: {
114
113
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleFlatList.tsx"],"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","FlatList","Animated","runOnJS","useAnimatedReaction","useAnimatedScroll","useInternalCollapsibleContext","AnimatedTopView","useCollapsibleContext","AnimatedFlatList","createAnimatedComponent","CollapsibleFlatList","headerSnappable","props","headerHeight","contentMinHeight","scrollViewRef","fixedHeaderHeight","mounted","contentHeight","internalContentMinHeight","setInternalContentMinHeight","value","internalProgressViewOffset","setInternalProgressViewOffset","current","scrollTo","yValue","animated","scrollToOffset","offset","scrollToIndex","params","scrollHandler","handleInternalContentHeight","handleInternalProgressViewOffset","result","previous","contentContainerStyle","styles","contentContainer","minHeight","handleContentSizeChange","_","height","handleScrollToIndexFailed","renderListHeader","ListHeaderComponent","container","style","create","absoluteFillObject","flexGrow","topView","position","top","left","right"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { FlatListProps, View, StyleSheet, FlatList } from 'react-native';\nimport Animated, {\n runOnJS,\n useAnimatedReaction,\n} from 'react-native-reanimated';\nimport useAnimatedScroll from './useAnimatedScroll';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\nimport type { CollapsibleProps } from '../../types';\nimport AnimatedTopView from '../header/AnimatedTopView';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\n\nconst AnimatedFlatList = Animated.createAnimatedComponent(FlatList);\n\ntype Props<Data> = Omit<FlatListProps<Data>, 'scrollEnabled'> &\n CollapsibleProps;\n\nexport default function CollapsibleFlatList<Data>({\n headerSnappable = true,\n ...props\n}: Props<Data>) {\n const { headerHeight } = useCollapsibleContext();\n const { contentMinHeight, scrollViewRef, fixedHeaderHeight } =\n useInternalCollapsibleContext();\n const mounted = useRef(true);\n const contentHeight = useRef(0);\n const [internalContentMinHeight, setInternalContentMinHeight] = useState(\n contentMinHeight.value\n );\n const [internalProgressViewOffset, setInternalProgressViewOffset] =\n useState(0);\n\n useEffect(() => {\n return () => {\n mounted.current = false;\n };\n }, []);\n\n const scrollTo = useCallback((yValue: number, animated = true) => {\n scrollViewRef.current?.scrollToOffset({\n offset: yValue,\n animated,\n });\n }, []);\n\n const scrollToIndex = useCallback((params) => {\n scrollViewRef.current?.scrollToIndex(params);\n }, []);\n\n const { scrollHandler } = useAnimatedScroll({\n headerSnappable,\n scrollTo,\n scrollToIndex,\n });\n\n const handleInternalContentHeight = useCallback((value: number) => {\n if (mounted.current) {\n setInternalContentMinHeight(value);\n }\n }, []);\n\n const handleInternalProgressViewOffset = useCallback((value: number) => {\n if (mounted.current) {\n setInternalProgressViewOffset(value);\n }\n }, []);\n\n useAnimatedReaction(\n () => {\n return contentMinHeight.value;\n },\n (result, previous) => {\n if (result !== previous) {\n if (\n contentHeight.current < result &&\n internalContentMinHeight !== result\n ) {\n runOnJS(handleInternalContentHeight)(result);\n }\n }\n }\n );\n\n useAnimatedReaction(\n () => {\n return fixedHeaderHeight.value;\n },\n (result, previous) => {\n if (result !== previous) {\n runOnJS(handleInternalProgressViewOffset)(result);\n }\n }\n );\n\n const contentContainerStyle = useMemo(\n () => [\n styles.contentContainer,\n { minHeight: internalContentMinHeight },\n props.contentContainerStyle,\n ],\n [props.contentContainerStyle, internalContentMinHeight]\n );\n\n const handleContentSizeChange = useCallback((_, height) => {\n contentHeight.current = height;\n }, []);\n\n const handleScrollToIndexFailed = useCallback(() => {}, []);\n\n function renderListHeader() {\n return (\n <View>\n <AnimatedTopView height={headerHeight} />\n {props.ListHeaderComponent}\n </View>\n );\n }\n\n return (\n <AnimatedFlatList\n ref={scrollViewRef}\n keyboardDismissMode=\"on-drag\"\n keyboardShouldPersistTaps=\"handled\"\n scrollEventThrottle={1}\n onScrollToIndexFailed={handleScrollToIndexFailed}\n {...props}\n style={[styles.container, props.style]}\n contentContainerStyle={contentContainerStyle}\n onScroll={scrollHandler}\n ListHeaderComponent={renderListHeader()}\n onContentSizeChange={handleContentSizeChange}\n //@ts-ignore\n simultaneousHandlers={[]}\n progressViewOffset={internalProgressViewOffset}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n ...StyleSheet.absoluteFillObject,\n },\n contentContainer: {\n flexGrow: 1,\n },\n topView: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","FlatList","Animated","runOnJS","useAnimatedReaction","useAnimatedScroll","useInternalCollapsibleContext","AnimatedTopView","useCollapsibleContext","AnimatedFlatList","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","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/CollapsibleFlatList.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || 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
-
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); }
3
2
  /* eslint-disable react-hooks/exhaustive-deps */
4
3
  import AnimatedTopView from '../header/AnimatedTopView';
5
4
  import useAnimatedScroll from './useAnimatedScroll';
@@ -8,13 +7,14 @@ import { RefreshControl, StyleSheet } from 'react-native';
8
7
  import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle } from 'react-native-reanimated';
9
8
  import useCollapsibleContext from '../../hooks/useCollapsibleContext';
10
9
  import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
11
- export default function CollapsibleScrollView({
12
- headerSnappable = true,
13
- children,
14
- refreshing = false,
15
- onRefresh,
16
- ...props
17
- }) {
10
+ export default function CollapsibleScrollView(_ref) {
11
+ let {
12
+ headerSnappable = true,
13
+ children,
14
+ refreshing = false,
15
+ onRefresh,
16
+ ...props
17
+ } = _ref;
18
18
  const {
19
19
  contentMinHeight,
20
20
  scrollViewRef,
@@ -30,9 +30,9 @@ export default function CollapsibleScrollView({
30
30
  mounted.current = false;
31
31
  };
32
32
  }, []);
33
- const scrollTo = useCallback((yValue, animated = true) => {
33
+ const scrollTo = useCallback(function (yValue) {
34
34
  var _scrollViewRef$curren;
35
-
35
+ let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
36
36
  (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollTo({
37
37
  y: yValue,
38
38
  animated
@@ -87,7 +87,8 @@ export default function CollapsibleScrollView({
87
87
  }), children));
88
88
  }
89
89
  const styles = StyleSheet.create({
90
- container: { ...StyleSheet.absoluteFillObject
90
+ container: {
91
+ ...StyleSheet.absoluteFillObject
91
92
  },
92
93
  contentContainer: {
93
94
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleScrollView.tsx"],"names":["AnimatedTopView","useAnimatedScroll","React","useCallback","useEffect","useMemo","useRef","useState","RefreshControl","StyleSheet","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useCollapsibleContext","useInternalCollapsibleContext","CollapsibleScrollView","headerSnappable","children","refreshing","onRefresh","props","contentMinHeight","scrollViewRef","fixedHeaderHeight","headerHeight","internalProgressViewOffset","setInternalProgressViewOffset","mounted","current","scrollTo","yValue","animated","y","scrollToIndex","console","warn","scrollHandler","animatedStyle","minHeight","value","handleInternalProgressViewOffset","result","previous","contentContainerStyle","styles","contentContainer","undefined","container","style","create","absoluteFillObject","flexGrow"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport AnimatedTopView from '../header/AnimatedTopView';\nimport useAnimatedScroll from './useAnimatedScroll';\nimport React, {\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { RefreshControl, ScrollViewProps, StyleSheet } from 'react-native';\nimport Animated, {\n runOnJS,\n useAnimatedReaction,\n useAnimatedStyle,\n} from 'react-native-reanimated';\nimport type { CollapsibleProps } from '../../types';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\n\ntype Props = ScrollViewProps &\n CollapsibleProps & {\n children?: ReactNode;\n refreshing?: boolean;\n onRefresh?: () => void;\n };\n\nexport default function CollapsibleScrollView({\n headerSnappable = true,\n children,\n refreshing = false,\n onRefresh,\n ...props\n}: Props) {\n const { contentMinHeight, scrollViewRef, fixedHeaderHeight } =\n useInternalCollapsibleContext();\n const { headerHeight } = useCollapsibleContext();\n const [internalProgressViewOffset, setInternalProgressViewOffset] =\n useState(0);\n const mounted = useRef(true);\n\n useEffect(() => {\n return () => {\n mounted.current = false;\n };\n }, []);\n\n const scrollTo = useCallback((yValue: number, animated = true) => {\n scrollViewRef.current?.scrollTo({ y: yValue, animated });\n }, []);\n\n const scrollToIndex = useCallback(() => {\n console.warn(\"CollapsibleScrollView doesn't support scrollToIndex\");\n }, []);\n\n const { scrollHandler } = useAnimatedScroll({\n headerSnappable,\n scrollTo,\n scrollToIndex,\n });\n\n const animatedStyle = useAnimatedStyle(() => {\n return {\n minHeight: contentMinHeight.value,\n };\n }, []);\n\n const handleInternalProgressViewOffset = useCallback((value: number) => {\n if (mounted.current) {\n setInternalProgressViewOffset(value);\n }\n }, []);\n\n useAnimatedReaction(\n () => {\n return fixedHeaderHeight.value;\n },\n (result, previous) => {\n if (result !== previous) {\n runOnJS(handleInternalProgressViewOffset)(result);\n }\n }\n );\n\n const contentContainerStyle = useMemo(\n () => [styles.contentContainer, props.contentContainerStyle],\n [props.contentContainerStyle]\n );\n\n return (\n <Animated.ScrollView\n ref={scrollViewRef}\n refreshControl={\n onRefresh ? (\n <RefreshControl\n progressViewOffset={internalProgressViewOffset}\n refreshing={refreshing}\n onRefresh={onRefresh}\n />\n ) : undefined\n }\n {...props}\n style={[styles.container, props.style]}\n contentContainerStyle={contentContainerStyle}\n onScroll={scrollHandler}\n keyboardDismissMode=\"on-drag\"\n keyboardShouldPersistTaps=\"handled\"\n scrollEventThrottle={1}\n >\n <Animated.View style={animatedStyle}>\n <AnimatedTopView height={headerHeight} />\n {children}\n </Animated.View>\n </Animated.ScrollView>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n ...StyleSheet.absoluteFillObject,\n },\n contentContainer: {\n flexGrow: 1,\n },\n});\n"]}
1
+ {"version":3,"names":["AnimatedTopView","useAnimatedScroll","React","useCallback","useEffect","useMemo","useRef","useState","RefreshControl","StyleSheet","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useCollapsibleContext","useInternalCollapsibleContext","CollapsibleScrollView","_ref","headerSnappable","children","refreshing","onRefresh","props","contentMinHeight","scrollViewRef","fixedHeaderHeight","headerHeight","internalProgressViewOffset","setInternalProgressViewOffset","mounted","current","scrollTo","yValue","_scrollViewRef$curren","animated","arguments","length","undefined","y","scrollToIndex","console","warn","scrollHandler","animatedStyle","minHeight","value","handleInternalProgressViewOffset","result","previous","contentContainerStyle","styles","contentContainer","createElement","ScrollView","_extends","ref","refreshControl","progressViewOffset","style","container","onScroll","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","View","height","create","absoluteFillObject","flexGrow"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleScrollView.tsx"],"mappings":"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"}
@@ -7,11 +7,12 @@ import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleCon
7
7
  const {
8
8
  height: wHeight
9
9
  } = Dimensions.get('window');
10
- export default function useAnimatedScroll({
11
- headerSnappable,
12
- scrollTo,
13
- scrollToIndex
14
- }) {
10
+ export default function useAnimatedScroll(_ref) {
11
+ let {
12
+ headerSnappable,
13
+ scrollTo,
14
+ scrollToIndex
15
+ } = _ref;
15
16
  const scrollDirection = useSharedValue('unknown');
16
17
  const {
17
18
  scrollY
@@ -26,7 +27,8 @@ export default function useAnimatedScroll({
26
27
  requestAnimationFrame(() => scrollTo(scrollY.value, false));
27
28
  }
28
29
  }, []);
29
- const collapse = useCallback((animated = true) => {
30
+ const collapse = useCallback(function () {
31
+ let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
30
32
  scrollTo(Math.min(fixedHeaderHeight.value || 0, firstStickyViewY.value || 0), animated);
31
33
  }, [scrollTo]);
32
34
  const expand = useCallback(() => scrollTo(0), [scrollTo]);
@@ -48,17 +50,13 @@ export default function useAnimatedScroll({
48
50
  onEndDrag: () => {
49
51
  if (!headerSnappable) return;
50
52
  const maxY = firstStickyViewY.value && firstStickyViewY.value > 0 ? firstStickyViewY.value : fixedHeaderHeight.value || 0;
51
-
52
53
  if (scrollY.value < maxY) {
53
54
  const delta = Math.abs(scrollY.value - maxY);
54
-
55
55
  if (delta < wHeight / 2) {
56
56
  let yValue = 0;
57
-
58
57
  if (scrollDirection.value === 'up') {
59
58
  yValue = maxY;
60
59
  }
61
-
62
60
  runOnJS(scrollTo)(yValue);
63
61
  }
64
62
  }