@r0b0t3d/react-native-collapsible 1.3.5-beta.0 → 1.3.5-beta.1

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 (141) 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 +26 -36
  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 +24 -26
  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/header/CollapsibleHeaderConsumer.tsx +2 -1
  109. package/src/components/header/StickyView.tsx +3 -4
  110. package/src/index.tsx +0 -1
  111. package/src/withCollapsibleContext.tsx +30 -26
  112. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js +0 -75
  113. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  114. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js +0 -35
  115. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  116. package/lib/commonjs/components/pullToRefresh/RefreshControl.js +0 -91
  117. package/lib/commonjs/components/pullToRefresh/RefreshControl.js.map +0 -1
  118. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js +0 -24
  119. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  120. package/lib/commonjs/components/pullToRefresh/utils.js +0 -59
  121. package/lib/commonjs/components/pullToRefresh/utils.js.map +0 -1
  122. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js +0 -56
  123. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  124. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js +0 -21
  125. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  126. package/lib/module/components/pullToRefresh/RefreshControl.js +0 -73
  127. package/lib/module/components/pullToRefresh/RefreshControl.js.map +0 -1
  128. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js +0 -13
  129. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  130. package/lib/module/components/pullToRefresh/utils.js +0 -42
  131. package/lib/module/components/pullToRefresh/utils.js.map +0 -1
  132. package/lib/typescript/components/pullToRefresh/PullToRefreshContainer.d.ts +0 -8
  133. package/lib/typescript/components/pullToRefresh/PullToRefreshProvider.d.ts +0 -6
  134. package/lib/typescript/components/pullToRefresh/RefreshControl.d.ts +0 -9
  135. package/lib/typescript/components/pullToRefresh/usePullToRefreshContext.d.ts +0 -4
  136. package/lib/typescript/components/pullToRefresh/utils.d.ts +0 -20
  137. package/src/components/pullToRefresh/PullToRefreshContainer.tsx +0 -66
  138. package/src/components/pullToRefresh/PullToRefreshProvider.tsx +0 -27
  139. package/src/components/pullToRefresh/RefreshControl.tsx +0 -100
  140. package/src/components/pullToRefresh/usePullToRefreshContext.ts +0 -13
  141. package/src/components/pullToRefresh/utils.ts +0 -49
@@ -4,30 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = StickyView;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _useCollapsibleContext = _interopRequireDefault(require("../../hooks/useCollapsibleContext"));
13
-
14
10
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../../hooks/useInternalCollapsibleContext"));
15
-
16
11
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
15
  /* eslint-disable react-hooks/exhaustive-deps */
25
- let stickyKey = 0;
26
16
 
27
- function StickyView({
28
- children,
29
- style
30
- }) {
17
+ let stickyKey = 0;
18
+ function StickyView(_ref) {
19
+ let {
20
+ children,
21
+ style
22
+ } = _ref;
31
23
  const key = (0, _react.useMemo)(() => `sticky_${stickyKey++}`, []);
32
24
  const viewRef = (0, _react.useRef)(null);
33
25
  const {
@@ -40,7 +32,7 @@ function StickyView({
40
32
  } = (0, _useCollapsibleContext.default)();
41
33
  (0, _react.useEffect)(() => {
42
34
  return () => handleStickyViewLayout(key, undefined);
43
- }, []);
35
+ }, [key]);
44
36
  const handleLayout = (0, _react.useCallback)(() => {
45
37
  handleStickyViewLayout(key, viewRef);
46
38
  }, [key]);
@@ -51,7 +43,7 @@ function StickyView({
51
43
  };
52
44
  const inputMid = layoutValues.top - top;
53
45
  return (0, _reactNativeReanimated.interpolate)(scrollY.value, [0, inputMid, inputMid + 100000], [0, 0, 100000], _reactNativeReanimated.Extrapolate.CLAMP);
54
- }, []);
46
+ }, [key]);
55
47
  const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
56
48
  return {
57
49
  transform: [{
@@ -60,7 +52,8 @@ function StickyView({
60
52
  };
61
53
  }, []);
62
54
  return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
63
- key: key // @ts-ignore
55
+ key: key
56
+ // @ts-ignore
64
57
  ,
65
58
  ref: viewRef,
66
59
  onLayout: handleLayout,
@@ -68,12 +61,10 @@ function StickyView({
68
61
  pointerEvents: "box-none"
69
62
  }, children);
70
63
  }
71
-
72
64
  const styles = _reactNative.StyleSheet.create({
73
65
  container: {
74
66
  backgroundColor: 'white',
75
- zIndex: 10,
76
- marginTop: _reactNative.Platform.OS === 'android' ? -1 : 0
67
+ zIndex: 10
77
68
  }
78
69
  });
79
70
  //# sourceMappingURL=StickyView.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["StickyView.tsx"],"names":["stickyKey","StickyView","children","style","key","viewRef","handleStickyViewLayout","stickyViewTops","stickyViewPositions","scrollY","undefined","handleLayout","translateY","top","value","layoutValues","inputMid","Extrapolate","CLAMP","animatedStyle","transform","styles","container","StyleSheet","create","backgroundColor","zIndex","marginTop","Platform","OS"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AALA;AAiBA,IAAIA,SAAS,GAAG,CAAhB;;AAEe,SAASC,UAAT,CAAoB;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAApB,EAAgD;AAC7D,QAAMC,GAAG,GAAG,oBAAQ,MAAO,UAASJ,SAAS,EAAG,EAApC,EAAuC,EAAvC,CAAZ;AACA,QAAMK,OAAO,GAAG,mBAAa,IAAb,CAAhB;AACA,QAAM;AAAEC,IAAAA,sBAAF;AAA0BC,IAAAA,cAA1B;AAA0CC,IAAAA;AAA1C,MACJ,6CADF;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAc,qCAApB;AAEA,wBAAU,MAAM;AACd,WAAO,MAAMH,sBAAsB,CAACF,GAAD,EAAMM,SAAN,CAAnC;AACD,GAFD,EAEG,EAFH;AAIA,QAAMC,YAAY,GAAG,wBAAY,MAAM;AACrCL,IAAAA,sBAAsB,CAACF,GAAD,EAAMC,OAAN,CAAtB;AACD,GAFoB,EAElB,CAACD,GAAD,CAFkB,CAArB;AAIA,QAAMQ,UAAU,GAAG,4CAAgB,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,WAAO,wCACLJ,OAAO,CAACK,KADH,EAEL,CAAC,CAAD,EAAIE,QAAJ,EAAcA,QAAQ,GAAG,MAAzB,CAFK,EAGL,CAAC,CAAD,EAAI,CAAJ,EAAO,MAAP,CAHK,EAILC,mCAAYC,KAJP,CAAP;AAMD,GAVkB,EAUhB,EAVgB,CAAnB;AAYA,QAAMC,aAAa,GAAG,6CAAiB,MAAM;AAC3C,WAAO;AACLC,MAAAA,SAAS,EAAE,CACT;AACER,QAAAA,UAAU,EAAEA,UAAU,CAACE;AADzB,OADS;AADN,KAAP;AAOD,GARqB,EAQnB,EARmB,CAAtB;AAUA,sBACE,6BAAC,8BAAD,CAAU,IAAV;AACE,IAAA,GAAG,EAAEV,GADP,CAEE;AAFF;AAGE,IAAA,GAAG,EAAEC,OAHP;AAIE,IAAA,QAAQ,EAAEM,YAJZ;AAKE,IAAA,KAAK,EAAE,CAACU,MAAM,CAACC,SAAR,EAAmBH,aAAnB,EAAkChB,KAAlC,CALT;AAME,IAAA,aAAa,EAAC;AANhB,KAQGD,QARH,CADF;AAYD;;AAED,MAAMmB,MAAM,GAAGE,wBAAWC,MAAX,CAAkB;AAC/BF,EAAAA,SAAS,EAAE;AACTG,IAAAA,eAAe,EAAE,OADR;AAETC,IAAAA,MAAM,EAAE,EAFC;AAGTC,IAAAA,SAAS,EAAEC,sBAASC,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","_interopRequireWildcard","require","_reactNative","_useCollapsibleContext","_interopRequireDefault","_useInternalCollapsibleContext","_reactNativeReanimated","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","stickyKey","StickyView","_ref","children","style","useMemo","viewRef","useRef","handleStickyViewLayout","stickyViewTops","stickyViewPositions","useInternalCollapsibleContext","scrollY","useCollapsibleContext","useEffect","undefined","handleLayout","useCallback","translateY","useDerivedValue","top","value","layoutValues","inputMid","interpolate","Extrapolate","CLAMP","animatedStyle","useAnimatedStyle","transform","createElement","View","ref","onLayout","styles","container","pointerEvents","StyleSheet","create","backgroundColor","zIndex"],"sourceRoot":"../../../../src","sources":["components/header/StickyView.tsx"],"mappings":"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"}
@@ -4,35 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleFlatList;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
13
-
14
10
  var _useAnimatedScroll = _interopRequireDefault(require("./useAnimatedScroll"));
15
-
16
11
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../../hooks/useInternalCollapsibleContext"));
17
-
18
12
  var _AnimatedTopView = _interopRequireDefault(require("../header/AnimatedTopView"));
19
-
20
13
  var _useCollapsibleContext = _interopRequireDefault(require("../../hooks/useCollapsibleContext"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
- 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); }
29
-
17
+ 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); } /* eslint-disable react-hooks/exhaustive-deps */
30
18
  const AnimatedFlatList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.FlatList);
31
-
32
- function CollapsibleFlatList({
33
- headerSnappable = true,
34
- ...props
35
- }) {
19
+ function CollapsibleFlatList(_ref) {
20
+ let {
21
+ headerSnappable = true,
22
+ ...props
23
+ } = _ref;
36
24
  const {
37
25
  headerHeight
38
26
  } = (0, _useCollapsibleContext.default)();
@@ -50,9 +38,9 @@ function CollapsibleFlatList({
50
38
  mounted.current = false;
51
39
  };
52
40
  }, []);
53
- const scrollTo = (0, _react.useCallback)((yValue, animated = true) => {
41
+ const scrollTo = (0, _react.useCallback)(function (yValue) {
54
42
  var _scrollViewRef$curren;
55
-
43
+ let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
56
44
  (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollToOffset({
57
45
  offset: yValue,
58
46
  animated
@@ -60,7 +48,6 @@ function CollapsibleFlatList({
60
48
  }, []);
61
49
  const scrollToIndex = (0, _react.useCallback)(params => {
62
50
  var _scrollViewRef$curren2;
63
-
64
51
  (_scrollViewRef$curren2 = scrollViewRef.current) === null || _scrollViewRef$curren2 === void 0 ? void 0 : _scrollViewRef$curren2.scrollToIndex(params);
65
52
  }, []);
66
53
  const {
@@ -103,13 +90,11 @@ function CollapsibleFlatList({
103
90
  contentHeight.current = height;
104
91
  }, []);
105
92
  const handleScrollToIndexFailed = (0, _react.useCallback)(() => {}, []);
106
-
107
93
  function renderListHeader() {
108
94
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_AnimatedTopView.default, {
109
95
  height: headerHeight
110
96
  }), props.ListHeaderComponent);
111
97
  }
112
-
113
98
  return /*#__PURE__*/_react.default.createElement(AnimatedFlatList, _extends({
114
99
  ref: scrollViewRef,
115
100
  keyboardDismissMode: "on-drag",
@@ -121,15 +106,16 @@ function CollapsibleFlatList({
121
106
  contentContainerStyle: contentContainerStyle,
122
107
  onScroll: scrollHandler,
123
108
  ListHeaderComponent: renderListHeader(),
124
- onContentSizeChange: handleContentSizeChange //@ts-ignore
109
+ onContentSizeChange: handleContentSizeChange
110
+ //@ts-ignore
125
111
  ,
126
112
  simultaneousHandlers: [],
127
113
  progressViewOffset: internalProgressViewOffset
128
114
  }));
129
115
  }
130
-
131
116
  const styles = _reactNative.StyleSheet.create({
132
- container: { ..._reactNative.StyleSheet.absoluteFillObject
117
+ container: {
118
+ ..._reactNative.StyleSheet.absoluteFillObject
133
119
  },
134
120
  contentContainer: {
135
121
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleFlatList.tsx"],"names":["AnimatedFlatList","Animated","createAnimatedComponent","FlatList","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","StyleSheet","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","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_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","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","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","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/CollapsibleFlatList.tsx"],"mappings":"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"}
@@ -4,36 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleScrollView;
7
-
8
7
  var _AnimatedTopView = _interopRequireDefault(require("../header/AnimatedTopView"));
9
-
10
8
  var _useAnimatedScroll = _interopRequireDefault(require("./useAnimatedScroll"));
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _reactNative = require("react-native");
15
-
16
11
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
17
-
18
12
  var _useCollapsibleContext = _interopRequireDefault(require("../../hooks/useCollapsibleContext"));
19
-
20
13
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../../hooks/useInternalCollapsibleContext"));
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- 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); }
29
-
30
- function CollapsibleScrollView({
31
- headerSnappable = true,
32
- children,
33
- refreshing = false,
34
- onRefresh,
35
- ...props
36
- }) {
17
+ 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); } /* eslint-disable react-hooks/exhaustive-deps */
18
+ function CollapsibleScrollView(_ref) {
19
+ let {
20
+ headerSnappable = true,
21
+ children,
22
+ refreshing = false,
23
+ onRefresh,
24
+ ...props
25
+ } = _ref;
37
26
  const {
38
27
  contentMinHeight,
39
28
  scrollViewRef,
@@ -49,9 +38,9 @@ function CollapsibleScrollView({
49
38
  mounted.current = false;
50
39
  };
51
40
  }, []);
52
- const scrollTo = (0, _react.useCallback)((yValue, animated = true) => {
41
+ const scrollTo = (0, _react.useCallback)(function (yValue) {
53
42
  var _scrollViewRef$curren;
54
-
43
+ let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55
44
  (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollTo({
56
45
  y: yValue,
57
46
  animated
@@ -105,9 +94,9 @@ function CollapsibleScrollView({
105
94
  height: headerHeight
106
95
  }), children));
107
96
  }
108
-
109
97
  const styles = _reactNative.StyleSheet.create({
110
- container: { ..._reactNative.StyleSheet.absoluteFillObject
98
+ container: {
99
+ ..._reactNative.StyleSheet.absoluteFillObject
111
100
  },
112
101
  contentContainer: {
113
102
  flexGrow: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleScrollView.tsx"],"names":["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","StyleSheet","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","_interopRequireDefault","require","_useAnimatedScroll","_react","_interopRequireWildcard","_reactNative","_reactNativeReanimated","_useCollapsibleContext","_useInternalCollapsibleContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","CollapsibleScrollView","_ref","headerSnappable","children","refreshing","onRefresh","props","contentMinHeight","scrollViewRef","fixedHeaderHeight","useInternalCollapsibleContext","headerHeight","useCollapsibleContext","internalProgressViewOffset","setInternalProgressViewOffset","useState","mounted","useRef","useEffect","current","scrollTo","useCallback","yValue","_scrollViewRef$curren","animated","undefined","y","scrollToIndex","console","warn","scrollHandler","useAnimatedScroll","animatedStyle","useAnimatedStyle","minHeight","value","handleInternalProgressViewOffset","useAnimatedReaction","result","previous","runOnJS","contentContainerStyle","useMemo","styles","contentContainer","createElement","ScrollView","ref","refreshControl","RefreshControl","progressViewOffset","style","container","onScroll","keyboardDismissMode","keyboardShouldPersistTaps","scrollEventThrottle","View","height","StyleSheet","create","absoluteFillObject","flexGrow"],"sourceRoot":"../../../../src","sources":["components/scrollable/CollapsibleScrollView.tsx"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AAQA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAF,uBAAA,CAAAH,OAAA;AAMA,IAAAM,sBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,8BAAA,GAAAR,sBAAA,CAAAC,OAAA;AAAsF,SAAAQ,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,SAAAN,wBAAAU,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,SAAApB,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA,KAnBtF;AA4Be,SAASI,qBAAqBA,CAAAC,IAAA,EAMnC;EAAA,IANoC;IAC5CC,eAAe,GAAG,IAAI;IACtBC,QAAQ;IACRC,UAAU,GAAG,KAAK;IAClBC,SAAS;IACT,GAAGC;EACE,CAAC,GAAAL,IAAA;EACN,MAAM;IAAEM,gBAAgB;IAAEC,aAAa;IAAEC;EAAkB,CAAC,GAC1D,IAAAC,sCAA6B,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAChD,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAC/D,IAAAC,eAAQ,EAAC,CAAC,CAAC;EACb,MAAMC,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAE5B,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXF,OAAO,CAACG,OAAO,GAAG,KAAK;IACzB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC,UAACC,MAAc,EAAsB;IAAA,IAAAC,qBAAA;IAAA,IAApBC,QAAQ,GAAA5B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,IAAI;IAC3D,CAAA2B,qBAAA,GAAAf,aAAa,CAACW,OAAO,cAAAI,qBAAA,uBAArBA,qBAAA,CAAuBH,QAAQ,CAAC;MAAEM,CAAC,EAAEJ,MAAM;MAAEE;IAAS,CAAC,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,aAAa,GAAG,IAAAN,kBAAW,EAAC,MAAM;IACtCO,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC;EACrE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,0BAAiB,EAAC;IAC1C7B,eAAe;IACfkB,QAAQ;IACRO;EACF,CAAC,CAAC;EAEF,MAAMK,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC3C,OAAO;MACLC,SAAS,EAAE3B,gBAAgB,CAAC4B;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gCAAgC,GAAG,IAAAf,kBAAW,EAAEc,KAAa,IAAK;IACtE,IAAInB,OAAO,CAACG,OAAO,EAAE;MACnBL,6BAA6B,CAACqB,KAAK,CAAC;IACtC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAE,0CAAmB,EACjB,MAAM;IACJ,OAAO5B,iBAAiB,CAAC0B,KAAK;EAChC,CAAC,EACD,CAACG,MAAM,EAAEC,QAAQ,KAAK;IACpB,IAAID,MAAM,KAAKC,QAAQ,EAAE;MACvB,IAAAC,8BAAO,EAACJ,gCAAgC,CAAC,CAACE,MAAM,CAAC;IACnD;EACF,CACF,CAAC;EAED,MAAMG,qBAAqB,GAAG,IAAAC,cAAO,EACnC,MAAM,CAACC,MAAM,CAACC,gBAAgB,EAAEtC,KAAK,CAACmC,qBAAqB,CAAC,EAC5D,CAACnC,KAAK,CAACmC,qBAAqB,CAC9B,CAAC;EAED,oBACE9E,MAAA,CAAAa,OAAA,CAAAqE,aAAA,CAAC/E,sBAAA,CAAAU,OAAQ,CAACsE,UAAU,EAAAvD,QAAA;IAClBwD,GAAG,EAAEvC,aAAc;IACnBwC,cAAc,EACZ3C,SAAS,gBACP1C,MAAA,CAAAa,OAAA,CAAAqE,aAAA,CAAChF,YAAA,CAAAoF,cAAc;MACbC,kBAAkB,EAAErC,0BAA2B;MAC/CT,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA;IAAU,CACtB,CAAC,GACAoB;EACL,GACGnB,KAAK;IACT6C,KAAK,EAAE,CAACR,MAAM,CAACS,SAAS,EAAE9C,KAAK,CAAC6C,KAAK,CAAE;IACvCV,qBAAqB,EAAEA,qBAAsB;IAC7CY,QAAQ,EAAEvB,aAAc;IACxBwB,mBAAmB,EAAC,SAAS;IAC7BC,yBAAyB,EAAC,SAAS;IACnCC,mBAAmB,EAAE;EAAE,iBAEvB7F,MAAA,CAAAa,OAAA,CAAAqE,aAAA,CAAC/E,sBAAA,CAAAU,OAAQ,CAACiF,IAAI;IAACN,KAAK,EAAEnB;EAAc,gBAClCrE,MAAA,CAAAa,OAAA,CAAAqE,aAAA,CAACtF,gBAAA,CAAAiB,OAAe;IAACkF,MAAM,EAAE/C;EAAa,CAAE,CAAC,EACxCR,QACY,CACI,CAAC;AAE1B;AAEA,MAAMwC,MAAM,GAAGgB,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACT,GAAGO,uBAAU,CAACE;EAChB,CAAC;EACDjB,gBAAgB,EAAE;IAChBkB,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -4,29 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useAnimatedScroll;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeReanimated = require("react-native-reanimated");
13
-
14
10
  var _useCollapsibleContext = _interopRequireDefault(require("../../hooks/useCollapsibleContext"));
15
-
16
11
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../../hooks/useInternalCollapsibleContext"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  /* eslint-disable react-hooks/exhaustive-deps */
14
+
21
15
  const {
22
16
  height: wHeight
23
17
  } = _reactNative.Dimensions.get('window');
24
-
25
- function useAnimatedScroll({
26
- headerSnappable,
27
- scrollTo,
28
- scrollToIndex
29
- }) {
18
+ function useAnimatedScroll(_ref) {
19
+ let {
20
+ headerSnappable,
21
+ scrollTo,
22
+ scrollToIndex
23
+ } = _ref;
30
24
  const scrollDirection = (0, _reactNativeReanimated.useSharedValue)('unknown');
31
25
  const {
32
26
  scrollY
@@ -41,7 +35,8 @@ function useAnimatedScroll({
41
35
  requestAnimationFrame(() => scrollTo(scrollY.value, false));
42
36
  }
43
37
  }, []);
44
- const collapse = (0, _react.useCallback)((animated = true) => {
38
+ const collapse = (0, _react.useCallback)(function () {
39
+ let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
45
40
  scrollTo(Math.min(fixedHeaderHeight.value || 0, firstStickyViewY.value || 0), animated);
46
41
  }, [scrollTo]);
47
42
  const expand = (0, _react.useCallback)(() => scrollTo(0), [scrollTo]);
@@ -63,17 +58,13 @@ function useAnimatedScroll({
63
58
  onEndDrag: () => {
64
59
  if (!headerSnappable) return;
65
60
  const maxY = firstStickyViewY.value && firstStickyViewY.value > 0 ? firstStickyViewY.value : fixedHeaderHeight.value || 0;
66
-
67
61
  if (scrollY.value < maxY) {
68
62
  const delta = Math.abs(scrollY.value - maxY);
69
-
70
63
  if (delta < wHeight / 2) {
71
64
  let yValue = 0;
72
-
73
65
  if (scrollDirection.value === 'up') {
74
66
  yValue = maxY;
75
67
  }
76
-
77
68
  (0, _reactNativeReanimated.runOnJS)(scrollTo)(yValue);
78
69
  }
79
70
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["useAnimatedScroll.ts"],"names":["height","wHeight","Dimensions","get","useAnimatedScroll","headerSnappable","scrollTo","scrollToIndex","scrollDirection","scrollY","setCollapsibleHandlers","firstStickyViewY","fixedHeaderHeight","value","requestAnimationFrame","collapse","animated","Math","min","expand","scrollHandler","onScroll","event","offset","contentOffset","y","diff","onEndDrag","maxY","delta","abs","yValue"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useCallback, useEffect } from 'react';\nimport { Dimensions } from 'react-native';\nimport {\n runOnJS,\n useAnimatedScrollHandler,\n useSharedValue,\n} from 'react-native-reanimated';\nimport type { ScrollToIndexParams } from '../../types';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\n\nconst { height: wHeight } = Dimensions.get('window');\n\ntype Props = {\n headerSnappable: boolean;\n scrollTo: (yValue: number, animated?: boolean) => void;\n scrollToIndex: (params: ScrollToIndexParams) => void;\n};\n\nexport default function useAnimatedScroll({\n headerSnappable,\n scrollTo,\n scrollToIndex,\n}: Props) {\n const scrollDirection = useSharedValue('unknown');\n const { scrollY } = useCollapsibleContext();\n const { setCollapsibleHandlers, firstStickyViewY, fixedHeaderHeight } =\n useInternalCollapsibleContext();\n\n useEffect(() => {\n if (scrollY.value > 0) {\n requestAnimationFrame(() => scrollTo(scrollY.value, false));\n }\n }, []);\n\n const collapse = useCallback(\n (animated = true) => {\n scrollTo(\n Math.min(fixedHeaderHeight.value || 0, firstStickyViewY.value || 0),\n animated\n );\n },\n [scrollTo]\n );\n\n const expand = useCallback(() => scrollTo(0), [scrollTo]);\n\n useEffect(() => {\n setCollapsibleHandlers({\n collapse,\n expand,\n scrollTo,\n scrollToIndex,\n });\n }, [setCollapsibleHandlers, collapse, expand, scrollTo, scrollToIndex]);\n\n const scrollHandler = useAnimatedScrollHandler(\n {\n onScroll: (event) => {\n const offset = event.contentOffset.y;\n const diff = scrollY.value - offset;\n scrollDirection.value = diff > 0 ? 'down' : diff < 0 ? 'up' : 'unknown';\n scrollY.value = offset;\n },\n onEndDrag: () => {\n if (!headerSnappable) return;\n const maxY =\n firstStickyViewY.value && firstStickyViewY.value > 0\n ? firstStickyViewY.value\n : fixedHeaderHeight.value || 0;\n\n if (scrollY.value < maxY) {\n const delta = Math.abs(scrollY.value - maxY);\n if (delta < wHeight / 2) {\n let yValue = 0;\n if (scrollDirection.value === 'up') {\n yValue = maxY;\n }\n runOnJS(scrollTo)(yValue);\n }\n }\n },\n },\n [scrollTo]\n );\n\n return {\n scrollHandler,\n collapse,\n expand,\n };\n}\n"]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_useCollapsibleContext","_interopRequireDefault","_useInternalCollapsibleContext","obj","__esModule","default","height","wHeight","Dimensions","get","useAnimatedScroll","_ref","headerSnappable","scrollTo","scrollToIndex","scrollDirection","useSharedValue","scrollY","useCollapsibleContext","setCollapsibleHandlers","firstStickyViewY","fixedHeaderHeight","useInternalCollapsibleContext","useEffect","value","requestAnimationFrame","collapse","useCallback","animated","arguments","length","undefined","Math","min","expand","scrollHandler","useAnimatedScrollHandler","onScroll","event","offset","contentOffset","y","diff","onEndDrag","maxY","delta","abs","yValue","runOnJS"],"sourceRoot":"../../../../src","sources":["components/scrollable/useAnimatedScroll.ts"],"mappings":"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"}
@@ -3,22 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = useCollapsibleContext;
7
6
  exports.CollapsibleContext = void 0;
8
-
7
+ exports.default = useCollapsibleContext;
9
8
  var _react = require("react");
10
-
11
9
  // @ts-ignore
12
10
  const CollapsibleContext = /*#__PURE__*/(0, _react.createContext)({});
13
11
  exports.CollapsibleContext = CollapsibleContext;
14
-
15
12
  function useCollapsibleContext() {
16
13
  const ctx = (0, _react.useContext)(CollapsibleContext);
17
-
18
14
  if (!ctx) {
19
15
  throw new Error('Component should be wrapped with withCollapsibleContext');
20
16
  }
21
-
22
17
  return ctx;
23
18
  }
24
19
  //# sourceMappingURL=useCollapsibleContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useCollapsibleContext.ts"],"names":["CollapsibleContext","useCollapsibleContext","ctx","Error"],"mappings":";;;;;;;;AAAA;;AAGA;AACO,MAAMA,kBAAkB,gBAAG,0BAAsC,EAAtC,CAA3B;;;AAEQ,SAASC,qBAAT,GAAiC;AAC9C,QAAMC,GAAG,GAAG,uBAAWF,kBAAX,CAAZ;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,yDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, useContext } from 'react';\nimport type { CollapsibleContextType } from '../types';\n\n// @ts-ignore\nexport const CollapsibleContext = createContext<CollapsibleContextType>({});\n\nexport default function useCollapsibleContext() {\n const ctx = useContext(CollapsibleContext);\n if (!ctx) {\n throw new Error('Component should be wrapped with withCollapsibleContext');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["_react","require","CollapsibleContext","createContext","exports","useCollapsibleContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["hooks/useCollapsibleContext.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACO,MAAMC,kBAAkB,gBAAG,IAAAC,oBAAa,EAAyB,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAF,kBAAA,GAAAA,kBAAA;AAE7D,SAASG,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACL,kBAAkB,CAAC;EAC1C,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOF,GAAG;AACZ"}
@@ -3,24 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = useCollapsibleHeaderContext;
7
6
  exports.CollapsibleHeaderContext = void 0;
8
-
7
+ exports.default = useCollapsibleHeaderContext;
9
8
  var _react = require("react");
10
-
11
9
  const CollapsibleHeaderContext =
12
10
  /*#__PURE__*/
13
11
  // @ts-ignore
14
12
  (0, _react.createContext)({});
15
13
  exports.CollapsibleHeaderContext = CollapsibleHeaderContext;
16
-
17
14
  function useCollapsibleHeaderContext() {
18
15
  const ctx = (0, _react.useContext)(CollapsibleHeaderContext);
19
-
20
16
  if (!ctx) {
21
17
  throw new Error('Component should be wrapped CollapsibleHeaderProvider');
22
18
  }
23
-
24
19
  return ctx;
25
20
  }
26
21
  //# sourceMappingURL=useCollapsibleHeaderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useCollapsibleHeaderContext.ts"],"names":["CollapsibleHeaderContext","useCollapsibleHeaderContext","ctx","Error"],"mappings":";;;;;;;;AAAA;;AAWO,MAAMA,wBAAwB;AAAA;AACnC;AACA,0BAA4C,EAA5C,CAFK;;;AAIQ,SAASC,2BAAT,GAAuC;AACpD,QAAMC,GAAG,GAAG,uBAAWF,wBAAX,CAAZ;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,uDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, ReactNode, useContext } from 'react';\n\nexport type HeaderItem = { key: string; children: ReactNode };\n\ntype CollapsibleContextHeaderType = {\n headers: HeaderItem[];\n mount: (key: string, header: ReactNode) => void;\n update: (key: string, header: ReactNode) => void;\n unmount: (key: string) => void;\n};\n\nexport const CollapsibleHeaderContext =\n // @ts-ignore\n createContext<CollapsibleContextHeaderType>({});\n\nexport default function useCollapsibleHeaderContext() {\n const ctx = useContext(CollapsibleHeaderContext);\n if (!ctx) {\n throw new Error('Component should be wrapped CollapsibleHeaderProvider');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["_react","require","CollapsibleHeaderContext","createContext","exports","useCollapsibleHeaderContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["hooks/useCollapsibleHeaderContext.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAWO,MAAMC,wBAAwB;AAAA;AACnC;AACA,IAAAC,oBAAa,EAA+B,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAF,wBAAA,GAAAA,wBAAA;AAEnC,SAASG,2BAA2BA,CAAA,EAAG;EACpD,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACL,wBAAwB,CAAC;EAChD,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EACA,OAAOF,GAAG;AACZ"}
@@ -3,24 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = useInternalCollapsibleContext;
7
6
  exports.InternalCollapsibleContext = void 0;
8
-
7
+ exports.default = useInternalCollapsibleContext;
9
8
  var _react = require("react");
10
-
11
9
  const InternalCollapsibleContext =
12
10
  /*#__PURE__*/
13
11
  // @ts-ignore
14
12
  (0, _react.createContext)();
15
13
  exports.InternalCollapsibleContext = InternalCollapsibleContext;
16
-
17
14
  function useInternalCollapsibleContext() {
18
15
  const ctx = (0, _react.useContext)(InternalCollapsibleContext);
19
-
20
16
  if (!ctx) {
21
17
  throw new Error('Component should be wrapped with withCollapsibleContext');
22
18
  }
23
-
24
19
  return ctx;
25
20
  }
26
21
  //# sourceMappingURL=useInternalCollapsibleContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useInternalCollapsibleContext.ts"],"names":["InternalCollapsibleContext","useInternalCollapsibleContext","ctx","Error"],"mappings":";;;;;;;;AAAA;;AAGO,MAAMA,0BAA0B;AAAA;AACrC;AACA,2BAFK;;;AAIQ,SAASC,6BAAT,GAAyC;AACtD,QAAMC,GAAG,GAAG,uBAAWF,0BAAX,CAAZ;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,yDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, useContext } from 'react';\nimport type { CollapsibleContextInternalType } from '../types';\n\nexport const InternalCollapsibleContext =\n // @ts-ignore\n createContext<CollapsibleContextInternalType>();\n\nexport default function useInternalCollapsibleContext() {\n const ctx = useContext(InternalCollapsibleContext);\n if (!ctx) {\n throw new Error('Component should be wrapped with withCollapsibleContext');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["_react","require","InternalCollapsibleContext","createContext","exports","useInternalCollapsibleContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["hooks/useInternalCollapsibleContext.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,0BAA0B;AAAA;AACrC;AACA,IAAAC,oBAAa,EAAiC,CAAC;AAACC,OAAA,CAAAF,0BAAA,GAAAA,0BAAA;AAEnC,SAASG,6BAA6BA,CAAA,EAAG;EACtD,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACL,0BAA0B,CAAC;EAClD,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOF,GAAG;AACZ"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useKeyboardShowEvent;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  function useKeyboardShowEvent(callback) {
13
10
  const savedCallback = (0, _react.useRef)(callback);
14
11
  (0, _react.useEffect)(() => {
@@ -20,7 +17,6 @@ function useKeyboardShowEvent(callback) {
20
17
  savedCallback.current();
21
18
  }
22
19
  });
23
-
24
20
  return () => {
25
21
  subscription.remove();
26
22
  };