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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/lib/commonjs/components/CollapsibleContainer.js +1 -2
  2. package/lib/commonjs/components/CollapsibleContainer.js.map +1 -1
  3. package/lib/commonjs/components/CollapsibleView.js +14 -9
  4. package/lib/commonjs/components/CollapsibleView.js.map +1 -1
  5. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js +85 -23
  6. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js.map +1 -1
  7. package/lib/commonjs/components/header/StickyView.js +30 -19
  8. package/lib/commonjs/components/header/StickyView.js.map +1 -1
  9. package/lib/commonjs/components/scrollable/useAnimatedScroll.js +2 -3
  10. package/lib/commonjs/components/scrollable/useAnimatedScroll.js.map +1 -1
  11. package/lib/commonjs/hooks/useCollapsibleHeaderContext.js.map +1 -1
  12. package/lib/commonjs/utils/useSharedValueRef.js +21 -0
  13. package/lib/commonjs/utils/useSharedValueRef.js.map +1 -0
  14. package/lib/commonjs/withCollapsibleContext.js +37 -92
  15. package/lib/commonjs/withCollapsibleContext.js.map +1 -1
  16. package/lib/module/components/CollapsibleContainer.js +1 -2
  17. package/lib/module/components/CollapsibleContainer.js.map +1 -1
  18. package/lib/module/components/CollapsibleView.js +15 -10
  19. package/lib/module/components/CollapsibleView.js.map +1 -1
  20. package/lib/module/components/header/CollapsibleHeaderContainer.js +87 -24
  21. package/lib/module/components/header/CollapsibleHeaderContainer.js.map +1 -1
  22. package/lib/module/components/header/StickyView.js +31 -20
  23. package/lib/module/components/header/StickyView.js.map +1 -1
  24. package/lib/module/components/scrollable/useAnimatedScroll.js +2 -3
  25. package/lib/module/components/scrollable/useAnimatedScroll.js.map +1 -1
  26. package/lib/module/hooks/useCollapsibleHeaderContext.js.map +1 -1
  27. package/lib/module/utils/useSharedValueRef.js +15 -0
  28. package/lib/module/utils/useSharedValueRef.js.map +1 -0
  29. package/lib/module/withCollapsibleContext.js +38 -92
  30. package/lib/module/withCollapsibleContext.js.map +1 -1
  31. package/lib/typescript/components/CollapsibleContainer.d.ts.map +1 -1
  32. package/lib/typescript/components/CollapsibleView.d.ts.map +1 -1
  33. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts +2 -2
  34. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts.map +1 -1
  35. package/lib/typescript/components/header/StickyView.d.ts.map +1 -1
  36. package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts.map +1 -1
  37. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts +6 -11
  38. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts.map +1 -1
  39. package/lib/typescript/types.d.ts +6 -6
  40. package/lib/typescript/types.d.ts.map +1 -1
  41. package/lib/typescript/utils/useSharedValueRef.d.ts +3 -0
  42. package/lib/typescript/utils/useSharedValueRef.d.ts.map +1 -0
  43. package/lib/typescript/withCollapsibleContext.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/components/CollapsibleContainer.tsx +0 -2
  46. package/src/components/CollapsibleView.tsx +14 -7
  47. package/src/components/header/CollapsibleHeaderContainer.tsx +145 -25
  48. package/src/components/header/StickyView.tsx +32 -17
  49. package/src/components/scrollable/useAnimatedScroll.ts +3 -9
  50. package/src/hooks/useCollapsibleHeaderContext.ts +6 -8
  51. package/src/types.ts +8 -8
  52. package/src/utils/useSharedValueRef.ts +22 -0
  53. package/src/withCollapsibleContext.tsx +46 -110
  54. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js +0 -59
  55. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js.map +0 -1
  56. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js +0 -58
  57. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js.map +0 -1
  58. package/lib/module/components/header/CollapsibleHeaderConsumer.js +0 -50
  59. package/lib/module/components/header/CollapsibleHeaderConsumer.js.map +0 -1
  60. package/lib/module/components/header/CollapsibleHeaderProvider.js +0 -49
  61. package/lib/module/components/header/CollapsibleHeaderProvider.js.map +0 -1
  62. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts +0 -3
  63. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts.map +0 -1
  64. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts +0 -5
  65. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts.map +0 -1
  66. package/src/components/header/CollapsibleHeaderConsumer.tsx +0 -62
  67. package/src/components/header/CollapsibleHeaderProvider.tsx +0 -70
@@ -8,9 +8,6 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _useCollapsibleContext = require("./hooks/useCollapsibleContext");
9
9
  var _useInternalCollapsibleContext = require("./hooks/useInternalCollapsibleContext");
10
10
  var _reactNativeReanimated = require("react-native-reanimated");
11
- var _debounce = require("./utils/debounce");
12
- var _CollapsibleHeaderProvider = _interopRequireDefault(require("./components/header/CollapsibleHeaderProvider"));
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
11
  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); }
15
12
  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; }
16
13
  /* eslint-disable react-hooks/exhaustive-deps */
@@ -20,104 +17,55 @@ function withCollapsibleContext(Component) {
20
17
  const collapsibleHandlers = (0, _react.useRef)();
21
18
  const headerHeight = (0, _reactNativeReanimated.useSharedValue)(0);
22
19
  const scrollY = (0, _reactNativeReanimated.useSharedValue)(0);
23
- const stickyViewRefs = (0, _react.useRef)({});
24
- const stickyViewTops = (0, _reactNativeReanimated.useSharedValue)({});
25
- const stickyViewPositionsRef = (0, _react.useRef)({});
26
- const stickyViewPositions = (0, _reactNativeReanimated.useSharedValue)({});
27
20
  const fixedHeaderHeight = (0, _reactNativeReanimated.useSharedValue)(0);
28
21
  const containerHeight = (0, _reactNativeReanimated.useSharedValue)(0);
29
- const firstStickyViewY = (0, _reactNativeReanimated.useSharedValue)(1000000);
30
22
  const containerRef = (0, _react.useRef)(null);
31
23
  const scrollViewRef = (0, _react.useRef)(null);
24
+ const headerContainerLayouts = (0, _react.useRef)({});
25
+ const headerViewPositions = (0, _reactNativeReanimated.useSharedValue)({});
32
26
  const setCollapsibleHandlers = (0, _react.useCallback)(handlers => {
33
27
  collapsibleHandlers.current = handlers;
34
28
  }, []);
35
29
  const headerCollapsed = (0, _reactNativeReanimated.useDerivedValue)(() => {
36
- const maxY = fixedHeaderHeight.value - firstStickyViewY.value;
30
+ const maxY = fixedHeaderHeight.value;
37
31
  return scrollY.value >= maxY;
38
32
  }, []);
39
33
  const contentMinHeight = (0, _reactNativeReanimated.useDerivedValue)(() => {
40
34
  return containerHeight.value + fixedHeaderHeight.value;
41
35
  }, []);
42
- (0, _reactNativeReanimated.useAnimatedReaction)(() => {
43
- const totalHeight = Object.keys(stickyViewPositions.value).reduce((acc, item) => {
44
- const value = stickyViewPositions.value[item];
45
- if (value) {
46
- return acc + value.top;
47
- }
48
- return acc;
36
+ const handleHeaderContainerLayout = (0, _react.useCallback)((key, layout, stickyHeight) => {
37
+ headerContainerLayouts.current[key] = layout ? {
38
+ ...layout,
39
+ stickyHeight
40
+ } : undefined;
41
+ const headerContainers = Object.keys(headerContainerLayouts.current).filter(k => !!headerContainerLayouts.current[k]);
42
+ // Calculate total header height
43
+ const totalHeight = headerContainers.reduce((acc, value) => {
44
+ var _headerContainerLayou;
45
+ return acc + (((_headerContainerLayou = headerContainerLayouts.current[value]) === null || _headerContainerLayou === void 0 ? void 0 : _headerContainerLayou.height) ?? 0);
49
46
  }, 0);
50
- return totalHeight - fixedHeaderHeight.value;
51
- }, (result, previous) => {
52
- if (result !== previous) {
53
- var _viewPositions$sorted;
54
- const viewPositions = stickyViewPositions.value;
55
- const sortedKeys = Object.keys(viewPositions).filter(v => !!viewPositions[v])
56
- // @ts-ignore
57
- .sort((a, b) => viewPositions[a].top - viewPositions[b].top);
58
- let totalTop = 0;
59
- const values = {};
60
- for (let i = 0; i < sortedKeys.length; i++) {
61
- // @ts-ignore
62
- values[sortedKeys[i]] = totalTop;
63
- // Try minus 1 make it filled when scrolling up.
64
- // Otherwise, we can see a small space between the persits views
65
- // @ts-ignore
66
- totalTop += viewPositions[sortedKeys[i]].height - 1;
67
- }
68
- stickyViewTops.value = values;
69
- // @ts-ignore
70
- firstStickyViewY.value = ((_viewPositions$sorted = viewPositions[sortedKeys[0]]) === null || _viewPositions$sorted === void 0 ? void 0 : _viewPositions$sorted.top) || 0;
71
- }
72
- });
73
- const handleStickyViewLayout = (0, _react.useCallback)((viewKey, viewRef) => {
74
- if (viewRef && viewRef.current && containerRef.current) {
75
- stickyViewRefs.current[viewKey] = viewRef;
76
- viewRef.current.measureLayout(
77
- // @ts-ignore
78
- containerRef.current, (left, top, width, height) => {
79
- stickyViewPositionsRef.current = {
80
- ...stickyViewPositionsRef.current,
81
- [viewKey]: {
82
- left,
83
- top,
84
- width,
85
- height
86
- }
87
- };
88
- // @ts-ignore
89
- stickyViewPositions.value = stickyViewPositionsRef.current;
90
- }, () => {});
91
- } else {
92
- stickyViewRefs.current = {
93
- ...stickyViewRefs.current,
94
- [viewKey]: undefined
95
- };
96
- stickyViewPositionsRef.current = {
97
- ...stickyViewPositionsRef.current,
98
- [viewKey]: undefined
99
- };
100
- // @ts-ignore
101
- stickyViewPositions.value = stickyViewPositionsRef.current;
102
- }
103
- }, []);
104
- const debounceRefreshStickyPositions = (0, _react.useMemo)(() => {
105
- return (0, _debounce.debounce)(() => {
106
- Object.keys(stickyViewRefs.current).forEach(key => {
107
- const viewRef = stickyViewRefs.current[key];
108
- if (viewRef) {
109
- handleStickyViewLayout(key, viewRef);
110
- }
111
- });
112
- }, 200);
113
- }, []);
114
- const handleHeaderContainerLayout = (0, _react.useCallback)(height => {
115
- headerHeight.value = (0, _reactNativeReanimated.withTiming)(height, {
47
+ headerHeight.value = (0, _reactNativeReanimated.withTiming)(totalHeight, {
116
48
  duration: fixedHeaderHeight.value === 0 ? 0 : 10
117
49
  });
118
- fixedHeaderHeight.value = height;
119
- // Try refresh sticky positions
120
- debounceRefreshStickyPositions();
50
+ fixedHeaderHeight.value = totalHeight;
51
+ // Calculate header positions
52
+ const sortedHeaders = headerContainers.sort((a, b) => {
53
+ var _headerContainerLayou2, _headerContainerLayou3;
54
+ return (((_headerContainerLayou2 = headerContainerLayouts.current[a]) === null || _headerContainerLayou2 === void 0 ? void 0 : _headerContainerLayou2.y) || 0) - (((_headerContainerLayou3 = headerContainerLayouts.current[b]) === null || _headerContainerLayou3 === void 0 ? void 0 : _headerContainerLayou3.y) || 0);
55
+ });
56
+ const values = {};
57
+ let aStickyHeight = 0;
58
+ for (let index = 0; index < sortedHeaders.length; index++) {
59
+ var _headerContainerLayou4;
60
+ const headerKey = sortedHeaders[index];
61
+ const sHeight = ((_headerContainerLayou4 = headerContainerLayouts.current[headerKey]) === null || _headerContainerLayou4 === void 0 ? void 0 : _headerContainerLayou4.stickyHeight) ?? 0;
62
+ values[headerKey] = {
63
+ top: aStickyHeight,
64
+ stickyHeight: sHeight
65
+ };
66
+ aStickyHeight += sHeight;
67
+ }
68
+ headerViewPositions.value = values;
121
69
  }, []);
122
70
  const handleContainerHeight = (0, _react.useCallback)(height => {
123
71
  containerHeight.value = height;
@@ -148,21 +96,18 @@ function withCollapsibleContext(Component) {
148
96
  const internalContext = (0, _react.useMemo)(() => ({
149
97
  scrollViewRef,
150
98
  containerRef,
151
- handleStickyViewLayout,
152
99
  handleHeaderContainerLayout,
153
100
  setCollapsibleHandlers,
154
101
  handleContainerHeight,
155
- firstStickyViewY,
156
- stickyViewTops,
157
- stickyViewPositions,
158
102
  fixedHeaderHeight,
159
- contentMinHeight
160
- }), [setCollapsibleHandlers, handleStickyViewLayout, handleHeaderContainerLayout, handleContainerHeight, firstStickyViewY, stickyViewTops, stickyViewPositions, fixedHeaderHeight, contentMinHeight]);
103
+ contentMinHeight,
104
+ headerViewPositions
105
+ }), [setCollapsibleHandlers, handleHeaderContainerLayout, handleContainerHeight, fixedHeaderHeight, contentMinHeight, headerViewPositions]);
161
106
  return /*#__PURE__*/_react.default.createElement(_useCollapsibleContext.CollapsibleContext.Provider, {
162
107
  value: context
163
108
  }, /*#__PURE__*/_react.default.createElement(_useInternalCollapsibleContext.InternalCollapsibleContext.Provider, {
164
109
  value: internalContext
165
- }, /*#__PURE__*/_react.default.createElement(_CollapsibleHeaderProvider.default, null, /*#__PURE__*/_react.default.createElement(Component, props))));
110
+ }, /*#__PURE__*/_react.default.createElement(Component, props)));
166
111
  };
167
112
  }
168
113
  //# sourceMappingURL=withCollapsibleContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useCollapsibleContext","_useInternalCollapsibleContext","_reactNativeReanimated","_debounce","_CollapsibleHeaderProvider","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","withCollapsibleContext","Component","props","collapsibleHandlers","useRef","headerHeight","useSharedValue","scrollY","stickyViewRefs","stickyViewTops","stickyViewPositionsRef","stickyViewPositions","fixedHeaderHeight","containerHeight","firstStickyViewY","containerRef","scrollViewRef","setCollapsibleHandlers","useCallback","handlers","current","headerCollapsed","useDerivedValue","maxY","value","contentMinHeight","useAnimatedReaction","totalHeight","keys","reduce","acc","item","top","result","previous","_viewPositions$sorted","viewPositions","sortedKeys","filter","v","sort","a","b","totalTop","values","i","length","height","handleStickyViewLayout","viewKey","viewRef","measureLayout","left","width","undefined","debounceRefreshStickyPositions","useMemo","debounce","forEach","handleHeaderContainerLayout","withTiming","duration","handleContainerHeight","context","collapse","animated","_collapsibleHandlers$","expand","_collapsibleHandlers$2","scrollTo","offset","animate","_collapsibleHandlers$3","scrollToIndex","params","_collapsibleHandlers$4","internalContext","createElement","CollapsibleContext","Provider","InternalCollapsibleContext"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useCollapsibleContext","_useInternalCollapsibleContext","_reactNativeReanimated","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","withCollapsibleContext","Component","props","collapsibleHandlers","useRef","headerHeight","useSharedValue","scrollY","fixedHeaderHeight","containerHeight","containerRef","scrollViewRef","headerContainerLayouts","headerViewPositions","setCollapsibleHandlers","useCallback","handlers","current","headerCollapsed","useDerivedValue","maxY","value","contentMinHeight","handleHeaderContainerLayout","layout","stickyHeight","undefined","headerContainers","keys","filter","k","totalHeight","reduce","acc","_headerContainerLayou","height","withTiming","duration","sortedHeaders","sort","a","b","_headerContainerLayou2","_headerContainerLayou3","y","values","aStickyHeight","index","length","_headerContainerLayou4","headerKey","sHeight","top","handleContainerHeight","context","useMemo","collapse","animated","_collapsibleHandlers$","expand","_collapsibleHandlers$2","scrollTo","offset","animate","_collapsibleHandlers$3","scrollToIndex","params","_collapsibleHandlers$4","internalContext","createElement","CollapsibleContext","Provider","InternalCollapsibleContext"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,8BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAIiC,SAAAI,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;AATjC;;AAYe,SAASW,sBAAsBA,CAAIC,SAAgB,EAAE;EAClE,OAAQC,KAAQ,IAAK;IACnB,MAAMC,mBAAmB,GAAG,IAAAC,aAAM,EAAqB,CAAC;IACxD,MAAMC,YAAY,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;IACtC,MAAMC,OAAO,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;IACjC,MAAME,iBAAiB,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;IAC3C,MAAMG,eAAe,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;IACzC,MAAMI,YAAY,GAAG,IAAAN,aAAM,EAAO,IAAI,CAAC;IACvC,MAAMO,aAAa,GAAG,IAAAP,aAAM,EAAO,IAAI,CAAC;IACxC,MAAMQ,sBAAsB,GAAG,IAAAR,aAAM,EAEnC,CAAC,CAAC,CAAC;IACL,MAAMS,mBAAmB,GAAG,IAAAP,qCAAc,EAAC,CAAC,CAAC,CAAC;IAE9C,MAAMQ,sBAAsB,GAAG,IAAAC,kBAAW,EAAEC,QAAQ,IAAK;MACvDb,mBAAmB,CAACc,OAAO,GAAGD,QAAQ;IACxC,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,eAAe,GAAG,IAAAC,sCAAe,EAAC,MAAM;MAC5C,MAAMC,IAAI,GAAGZ,iBAAiB,CAACa,KAAK;MACpC,OAAOd,OAAO,CAACc,KAAK,IAAID,IAAI;IAC9B,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,gBAAgB,GAAG,IAAAH,sCAAe,EAAC,MAAM;MAC7C,OAAOV,eAAe,CAACY,KAAK,GAAGb,iBAAiB,CAACa,KAAK;IACxD,CAAC,EAAE,EAAE,CAAC;IAEN,MAAME,2BAA2B,GAAG,IAAAR,kBAAW,EAC7C,CAACrB,GAAW,EAAE8B,MAAwB,EAAEC,YAAqB,KAAK;MAChEb,sBAAsB,CAACK,OAAO,CAACvB,GAAG,CAAC,GAAG8B,MAAM,GACxC;QACE,GAAGA,MAAM;QACTC;MACF,CAAC,GACDC,SAAS;MACb,MAAMC,gBAAgB,GAAGpC,MAAM,CAACqC,IAAI,CAClChB,sBAAsB,CAACK,OACzB,CAAC,CAACY,MAAM,CAAEC,CAAS,IAAK,CAAC,CAAClB,sBAAsB,CAACK,OAAO,CAACa,CAAC,CAAC,CAAC;MAC5D;MACA,MAAMC,WAAW,GAAGJ,gBAAgB,CAACK,MAAM,CACzC,CAACC,GAAG,EAAEZ,KAAK;QAAA,IAAAa,qBAAA;QAAA,OACTD,GAAG,IAAI,EAAAC,qBAAA,GAAAtB,sBAAsB,CAACK,OAAO,CAACI,KAAK,CAAC,cAAAa,qBAAA,uBAArCA,qBAAA,CAAuCC,MAAM,KAAI,CAAC,CAAC;MAAA,GAC5D,CACF,CAAC;MACD9B,YAAY,CAACgB,KAAK,GAAG,IAAAe,iCAAU,EAACL,WAAW,EAAE;QAC3CM,QAAQ,EAAE7B,iBAAiB,CAACa,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG;MAChD,CAAC,CAAC;MACFb,iBAAiB,CAACa,KAAK,GAAGU,WAAW;MACrC;MACA,MAAMO,aAAa,GAAGX,gBAAgB,CAACY,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QAAA,IAAAC,sBAAA,EAAAC,sBAAA;QACpD,OACE,CAAC,EAAAD,sBAAA,GAAA9B,sBAAsB,CAACK,OAAO,CAACuB,CAAC,CAAC,cAAAE,sBAAA,uBAAjCA,sBAAA,CAAmCE,CAAC,KAAI,CAAC,KACzC,EAAAD,sBAAA,GAAA/B,sBAAsB,CAACK,OAAO,CAACwB,CAAC,CAAC,cAAAE,sBAAA,uBAAjCA,sBAAA,CAAmCC,CAAC,KAAI,CAAC,CAAC;MAE/C,CAAC,CAAC;MACF,MAAMC,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIC,aAAa,GAAG,CAAC;MACrB,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGT,aAAa,CAACU,MAAM,EAAED,KAAK,EAAE,EAAE;QAAA,IAAAE,sBAAA;QACzD,MAAMC,SAAS,GAAGZ,aAAa,CAACS,KAAK,CAAC;QACtC,MAAMI,OAAO,GACX,EAAAF,sBAAA,GAAArC,sBAAsB,CAACK,OAAO,CAACiC,SAAS,CAAC,cAAAD,sBAAA,uBAAzCA,sBAAA,CAA2CxB,YAAY,KAAI,CAAC;QAC9DoB,MAAM,CAACK,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAEN,aAAa;UAClBrB,YAAY,EAAE0B;QAChB,CAAC;QACDL,aAAa,IAAIK,OAAO;MAC1B;MACAtC,mBAAmB,CAACQ,KAAK,GAAGwB,MAAM;IACpC,CAAC,EACD,EACF,CAAC;IAED,MAAMQ,qBAAqB,GAAG,IAAAtC,kBAAW,EAAEoB,MAAc,IAAK;MAC5D1B,eAAe,CAACY,KAAK,GAAGc,MAAM;IAChC,CAAC,EAAE,EAAE,CAAC;IAEN,MAAMmB,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;MAC5B,OAAO;QACLC,QAAQ,EAAGC,QAAkB;UAAA,IAAAC,qBAAA;UAAA,QAAAA,qBAAA,GAC3BvD,mBAAmB,CAACc,OAAO,cAAAyC,qBAAA,uBAA3BA,qBAAA,CAA6BF,QAAQ,CAACC,QAAQ,CAAC;QAAA;QACjDE,MAAM,EAAEA,CAAA;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GAAMzD,mBAAmB,CAACc,OAAO,cAAA2C,sBAAA,uBAA3BA,sBAAA,CAA6BD,MAAM,CAAC,CAAC;QAAA;QACnDE,QAAQ,EAAEA,CAACC,MAAc,EAAEC,OAAiB;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GAC1C7D,mBAAmB,CAACc,OAAO,cAAA+C,sBAAA,uBAA3BA,sBAAA,CAA6BH,QAAQ,CAACC,MAAM,EAAEC,OAAO,CAAC;QAAA;QACxDE,aAAa,EAAGC,MAAW;UAAA,IAAAC,sBAAA;UAAA,QAAAA,sBAAA,GACzBhE,mBAAmB,CAACc,OAAO,cAAAkD,sBAAA,uBAA3BA,sBAAA,CAA6BF,aAAa,CAACC,MAAM,CAAC;QAAA;QACpD7D,YAAY;QACZE,OAAO;QACPW;MACF,CAAC;IACH,CAAC,EAAE,CAACX,OAAO,EAAEF,YAAY,EAAEa,eAAe,CAAC,CAAC;IAE5C,MAAMkD,eAAe,GAAG,IAAAb,cAAO,EAC7B,OAAO;MACL5C,aAAa;MACbD,YAAY;MACZa,2BAA2B;MAC3BT,sBAAsB;MACtBuC,qBAAqB;MACrB7C,iBAAiB;MACjBc,gBAAgB;MAChBT;IACF,CAAC,CAAC,EACF,CACEC,sBAAsB,EACtBS,2BAA2B,EAC3B8B,qBAAqB,EACrB7C,iBAAiB,EACjBc,gBAAgB,EAChBT,mBAAmB,CAEvB,CAAC;IAED,oBACEzC,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC9F,sBAAA,CAAA+F,kBAAkB,CAACC,QAAQ;MAAClD,KAAK,EAAEiC;IAAQ,gBAC1ClF,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAAC7F,8BAAA,CAAAgG,0BAA0B,CAACD,QAAQ;MAAClD,KAAK,EAAE+C;IAAgB,gBAE1DhG,MAAA,CAAAa,OAAA,CAAAoF,aAAA,CAACpE,SAAS,EAAKC,KAAQ,CACY,CACV,CAAC;EAElC,CAAC;AACH"}
@@ -5,7 +5,6 @@ import { KeyboardAvoidingView, StyleSheet, View } from 'react-native';
5
5
  import useKeyboardShowEvent from '../hooks/useKeyboardShowEvent';
6
6
  import useInternalCollapsibleContext from '../hooks/useInternalCollapsibleContext';
7
7
  import useCollapsibleContext from '../hooks/useCollapsibleContext';
8
- import CollapsibleHeaderConsumer from './header/CollapsibleHeaderConsumer';
9
8
  export default function CollapsibleContainer(_ref) {
10
9
  let {
11
10
  children,
@@ -52,7 +51,7 @@ export default function CollapsibleContainer(_ref) {
52
51
  style: [styles.container, props.style],
53
52
  onLayout: handleContainerLayout,
54
53
  collapsable: false
55
- }), children, /*#__PURE__*/React.createElement(CollapsibleHeaderConsumer, null)));
54
+ }), children));
56
55
  }
57
56
  const styles = StyleSheet.create({
58
57
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","KeyboardAvoidingView","StyleSheet","View","useKeyboardShowEvent","useInternalCollapsibleContext","useCollapsibleContext","CollapsibleHeaderConsumer","CollapsibleContainer","_ref","children","keyboardAvoidingViewProps","textInputRefs","props","containerRef","handleContainerHeight","scrollY","scrollTo","containerHeight","some","ref","isFocusedFunc","current","isFocused","measureLayout","_left","top","_width","height","value","extraOffset","keyboardVerticalOffset","handleContainerLayout","layout","nativeEvent","createElement","_extends","style","styles","container","behavior","onLayout","collapsable","create","flex","overflow"],"sourceRoot":"../../../src","sources":["components/CollapsibleContainer.tsx"],"mappings":";AAAA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAClD,SACEC,oBAAoB,EAGpBC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,OAAOC,6BAA6B,MAAM,wCAAwC;AAClF,OAAOC,qBAAqB,MAAM,gCAAgC;AAClE,OAAOC,yBAAyB,MAAM,oCAAoC;AAQ1E,eAAe,SAASC,oBAAoBA,CAAAC,IAAA,EAKlC;EAAA,IALmC;IAC3CC,QAAQ;IACRC,yBAAyB;IACzBC,aAAa,GAAG,EAAE;IAClB,GAAGC;EACE,CAAC,GAAAJ,IAAA;EACN,MAAM;IAAEK,YAAY;IAAEC;EAAsB,CAAC,GAC3CV,6BAA6B,CAAC,CAAC;EACjC,MAAM;IAAEW,OAAO;IAAEC;EAAS,CAAC,GAAGX,qBAAqB,CAAC,CAAC;EAErD,MAAMY,eAAe,GAAGlB,MAAM,CAAC,CAAC,CAAC;EAEjCI,oBAAoB,CAAC,MAAM;IACzBQ,aAAa,CAACO,IAAI,CAAEC,GAAG,IAAK;MAC1B,MAAMC,aAAa,GAAGD,GAAG,CAACE,OAAO,CAACC,SAAS;MAC3C,MAAMA,SAAS,GACbF,aAAa,IAAI,OAAOA,aAAa,KAAK,UAAU,GAChDA,aAAa,CAAC,CAAC,GACfA,aAAa;MACnB,IAAIE,SAAS,EAAE;QACbH,GAAG,CAACE,OAAO,CAACE,aAAa;QACvB;QACAV,YAAY,CAACQ,OAAO,EACpB,CAACG,KAAa,EAAEC,GAAW,EAAEC,MAAc,EAAEC,MAAc,KAAK;UAC9D,IAAIF,GAAG,GAAGE,MAAM,GAAGZ,OAAO,CAACa,KAAK,GAAGX,eAAe,CAACI,OAAO,EAAE;YAC1D,MAAMQ,WAAW,GACf,CAAAnB,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,CAAEoB,sBAAsB,KAAI,EAAE;YACzDd,QAAQ,CAACS,GAAG,GAAGE,MAAM,GAAGE,WAAW,GAAGZ,eAAe,CAACI,OAAO,CAAC;UAChE;QACF,CAAC,EACD,MAAM,CAAC,CACT,CAAC;MACH;MACA,OAAOC,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMS,qBAAqB,GAAGjC,WAAW,CAAEkC,MAAyB,IAAK;IACvE,MAAML,MAAM,GAAGK,MAAM,CAACC,WAAW,CAACD,MAAM,CAACL,MAAM;IAC/CV,eAAe,CAACI,OAAO,GAAGM,MAAM;IAChCb,qBAAqB,CAACa,MAAM,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE9B,KAAA,CAAAqC,aAAA,CAAClC,oBAAoB,EAAAmC,QAAA;IACnBC,KAAK,EAAEC,MAAM,CAACC,SAAU;IACxBC,QAAQ,EAAC;EAAS,GACd7B,yBAAyB,gBAE7Bb,KAAA,CAAAqC,aAAA,CAAChC,IAAI,EAAAiC,QAAA,KACCvB,KAAK;IACTO,GAAG,EAAEN,YAAa;IAClBuB,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACwB,KAAK,CAAE;IACvCI,QAAQ,EAAET,qBAAsB;IAChCU,WAAW,EAAE;EAAM,IAElBhC,QAAQ,eACTZ,KAAA,CAAAqC,aAAA,CAAC5B,yBAAyB,MAAE,CACxB,CACc,CAAC;AAE3B;AAEA,MAAM+B,MAAM,GAAGpC,UAAU,CAACyC,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["React","useCallback","useRef","KeyboardAvoidingView","StyleSheet","View","useKeyboardShowEvent","useInternalCollapsibleContext","useCollapsibleContext","CollapsibleContainer","_ref","children","keyboardAvoidingViewProps","textInputRefs","props","containerRef","handleContainerHeight","scrollY","scrollTo","containerHeight","some","ref","isFocusedFunc","current","isFocused","measureLayout","_left","top","_width","height","value","extraOffset","keyboardVerticalOffset","handleContainerLayout","layout","nativeEvent","createElement","_extends","style","styles","container","behavior","onLayout","collapsable","create","flex","overflow"],"sourceRoot":"../../../src","sources":["components/CollapsibleContainer.tsx"],"mappings":";AAAA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAClD,SACEC,oBAAoB,EAGpBC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,OAAOC,6BAA6B,MAAM,wCAAwC;AAClF,OAAOC,qBAAqB,MAAM,gCAAgC;AAQlE,eAAe,SAASC,oBAAoBA,CAAAC,IAAA,EAKlC;EAAA,IALmC;IAC3CC,QAAQ;IACRC,yBAAyB;IACzBC,aAAa,GAAG,EAAE;IAClB,GAAGC;EACE,CAAC,GAAAJ,IAAA;EACN,MAAM;IAAEK,YAAY;IAAEC;EAAsB,CAAC,GAC3CT,6BAA6B,CAAC,CAAC;EACjC,MAAM;IAAEU,OAAO;IAAEC;EAAS,CAAC,GAAGV,qBAAqB,CAAC,CAAC;EAErD,MAAMW,eAAe,GAAGjB,MAAM,CAAC,CAAC,CAAC;EAEjCI,oBAAoB,CAAC,MAAM;IACzBO,aAAa,CAACO,IAAI,CAAEC,GAAG,IAAK;MAC1B,MAAMC,aAAa,GAAGD,GAAG,CAACE,OAAO,CAACC,SAAS;MAC3C,MAAMA,SAAS,GACbF,aAAa,IAAI,OAAOA,aAAa,KAAK,UAAU,GAChDA,aAAa,CAAC,CAAC,GACfA,aAAa;MACnB,IAAIE,SAAS,EAAE;QACbH,GAAG,CAACE,OAAO,CAACE,aAAa;QACvB;QACAV,YAAY,CAACQ,OAAO,EACpB,CAACG,KAAa,EAAEC,GAAW,EAAEC,MAAc,EAAEC,MAAc,KAAK;UAC9D,IAAIF,GAAG,GAAGE,MAAM,GAAGZ,OAAO,CAACa,KAAK,GAAGX,eAAe,CAACI,OAAO,EAAE;YAC1D,MAAMQ,WAAW,GACf,CAAAnB,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,CAAEoB,sBAAsB,KAAI,EAAE;YACzDd,QAAQ,CAACS,GAAG,GAAGE,MAAM,GAAGE,WAAW,GAAGZ,eAAe,CAACI,OAAO,CAAC;UAChE;QACF,CAAC,EACD,MAAM,CAAC,CACT,CAAC;MACH;MACA,OAAOC,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMS,qBAAqB,GAAGhC,WAAW,CAAEiC,MAAyB,IAAK;IACvE,MAAML,MAAM,GAAGK,MAAM,CAACC,WAAW,CAACD,MAAM,CAACL,MAAM;IAC/CV,eAAe,CAACI,OAAO,GAAGM,MAAM;IAChCb,qBAAqB,CAACa,MAAM,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE7B,KAAA,CAAAoC,aAAA,CAACjC,oBAAoB,EAAAkC,QAAA;IACnBC,KAAK,EAAEC,MAAM,CAACC,SAAU;IACxBC,QAAQ,EAAC;EAAS,GACd7B,yBAAyB,gBAE7BZ,KAAA,CAAAoC,aAAA,CAAC/B,IAAI,EAAAgC,QAAA,KACCvB,KAAK;IACTO,GAAG,EAAEN,YAAa;IAClBuB,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE1B,KAAK,CAACwB,KAAK,CAAE;IACvCI,QAAQ,EAAET,qBAAsB;IAChCU,WAAW,EAAE;EAAM,IAElBhC,QACG,CACc,CAAC;AAE3B;AAEA,MAAM4B,MAAM,GAAGnC,UAAU,CAACwC,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
2
  /* eslint-disable react-hooks/rules-of-hooks */
3
3
  import React, { useCallback, useEffect, useMemo } from 'react';
4
- import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
4
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
5
5
  import Animated, { useAnimatedStyle, useSharedValue, withSpring, interpolateColor, interpolate, useAnimatedReaction, runOnJS } from 'react-native-reanimated';
6
6
  let key = 0;
7
7
  export default function CollapsibleView(_ref) {
@@ -102,17 +102,21 @@ export function CollapsibleHeaderText(_ref2) {
102
102
  }]
103
103
  };
104
104
  }, [iconInitialAngle]);
105
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
106
- activeOpacity: 0.9,
107
- onPress: onToggle,
108
- style: style
105
+ return /*#__PURE__*/React.createElement(View, {
106
+ style: style,
107
+ pointerEvents: "box-none"
109
108
  }, /*#__PURE__*/React.createElement(View, {
110
- style: styles.headerContainer
109
+ style: styles.headerContainer,
110
+ pointerEvents: "box-none"
111
+ }, /*#__PURE__*/React.createElement(Pressable, {
112
+ onPress: onToggle
111
113
  }, /*#__PURE__*/React.createElement(Text, {
112
114
  style: [styles.headerTitle, titleStyle]
113
- }, title), icon && /*#__PURE__*/React.createElement(Animated.View, {
115
+ }, title)), icon && /*#__PURE__*/React.createElement(Pressable, {
116
+ onPress: onToggle
117
+ }, /*#__PURE__*/React.createElement(Animated.View, {
114
118
  style: iconStyle
115
- }, icon)), children);
119
+ }, icon))), children);
116
120
  }
117
121
  const styles = StyleSheet.create({
118
122
  wrapper: {
@@ -121,10 +125,11 @@ const styles = StyleSheet.create({
121
125
  content: {},
122
126
  headerContainer: {
123
127
  flexDirection: 'row',
124
- alignItems: 'center'
128
+ alignItems: 'center',
129
+ justifyContent: 'space-between'
125
130
  },
126
131
  headerTitle: {
127
- flex: 1
132
+ // flex: 1,
128
133
  }
129
134
  });
130
135
  //# sourceMappingURL=CollapsibleView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","StyleSheet","Text","TouchableOpacity","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","activeOpacity","onPress","headerContainer","headerTitle","create","overflow","flexDirection","alignItems","flex"],"sourceRoot":"../../../src","sources":["components/CollapsibleView.tsx"],"mappings":"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"}
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"],"sourceRoot":"../../../src","sources":["components/CollapsibleView.tsx"],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
- import React, { useEffect, useMemo } from 'react';
3
- import { View } from 'react-native';
4
- import useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';
1
+ import React, { useCallback, useEffect, useMemo } from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
4
+ import useCollapsibleContext from '../../hooks/useCollapsibleContext';
5
+ import Animated, { Extrapolate, interpolate, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
6
+ import { CollapsibleHeaderContext } from '../../hooks/useCollapsibleHeaderContext';
7
+ import useSharedValueRef from '../../utils/useSharedValueRef';
5
8
  let key = 0;
6
9
  export default function CollapsibleHeaderContainer(_ref) {
7
10
  let {
@@ -10,31 +13,91 @@ export default function CollapsibleHeaderContainer(_ref) {
10
13
  } = _ref;
11
14
  const contentKey = useMemo(() => `collapsible-header-${key++}`, []);
12
15
  const {
13
- mount,
14
- unmount,
15
- update
16
- } = useCollapsibleHeaderContext();
16
+ handleHeaderContainerLayout,
17
+ headerViewPositions
18
+ } = useInternalCollapsibleContext();
19
+ const {
20
+ scrollY
21
+ } = useCollapsibleContext();
22
+ const currentLayout = useSharedValue(undefined);
23
+ const [stickyLayouts, setStickyLayouts] = useSharedValueRef({});
24
+ useEffect(() => {
25
+ return () => {
26
+ handleHeaderContainerLayout(contentKey);
27
+ };
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ }, [contentKey]);
30
+ const stickyHeight = useDerivedValue(() => Object.values(stickyLayouts.value).reduce((acc, value) => acc + ((value === null || value === void 0 ? void 0 : value.height) ?? 0), 0), []);
31
+ useAnimatedReaction(() => {
32
+ if (!currentLayout.value) {
33
+ return -1;
34
+ }
35
+ return currentLayout.value.height - stickyHeight.value;
36
+ }, (result, previous) => {
37
+ if (result !== -1 && result !== previous) {
38
+ runOnJS(handleHeaderContainerLayout)(contentKey, currentLayout.value, stickyHeight.value);
39
+ }
40
+ });
41
+ const handleLayout = useCallback(_ref2 => {
42
+ let {
43
+ nativeEvent: {
44
+ layout
45
+ }
46
+ } = _ref2;
47
+ currentLayout.value = layout;
48
+ }, [currentLayout]);
49
+ const handleStickyViewLayout = useCallback((stickyKey, layout) => {
50
+ console.log('handleStickyViewLayout', stickyKey, layout);
51
+ setStickyLayouts({
52
+ [stickyKey]: layout
53
+ });
54
+ }, [setStickyLayouts]);
17
55
  const internalStyle = useMemo(() => {
18
56
  return {
19
57
  zIndex: 100000 - key
20
58
  };
21
59
  }, []);
22
- const content = useMemo(() => {
23
- return /*#__PURE__*/React.createElement(View, {
24
- key: contentKey,
25
- style: [containerStyle, internalStyle],
26
- pointerEvents: "box-none"
27
- }, children);
28
- }, [children, containerStyle]);
29
- useEffect(() => {
30
- mount(contentKey, content);
31
- return () => {
32
- unmount(contentKey);
60
+ const translateY = useDerivedValue(() => {
61
+ const position = headerViewPositions.value[contentKey];
62
+ if (!currentLayout.value || !position) {
63
+ return scrollY.value;
64
+ }
65
+ const topPosition = currentLayout.value.height + currentLayout.value.y - position.top - position.stickyHeight;
66
+ return interpolate(scrollY.value, [0, topPosition, 10000], [0, -topPosition, -topPosition], Extrapolate.CLAMP);
67
+ });
68
+ const animatedStyle = useAnimatedStyle(() => {
69
+ return {
70
+ transform: [{
71
+ translateY: translateY.value
72
+ }]
33
73
  };
34
- }, [contentKey]);
35
- useEffect(() => {
36
- update(contentKey, content);
37
- }, [content]);
38
- return null;
74
+ });
75
+ const animatedY = useDerivedValue(() => {
76
+ const position = headerViewPositions.value[contentKey];
77
+ if (!currentLayout.value || !position) {
78
+ return 0;
79
+ }
80
+ const value = scrollY.value - currentLayout.value.y + position.top;
81
+ const maxV = currentLayout.value.height - stickyHeight.value;
82
+ return Math.max(0, Math.min(value, maxV));
83
+ });
84
+ const value = useMemo(() => ({
85
+ handleStickyViewLayout,
86
+ animatedY
87
+ }), [handleStickyViewLayout, animatedY]);
88
+ return /*#__PURE__*/React.createElement(CollapsibleHeaderContext.Provider, {
89
+ value: value
90
+ }, /*#__PURE__*/React.createElement(Animated.View, {
91
+ key: contentKey,
92
+ style: [styles.container, containerStyle, internalStyle, animatedStyle],
93
+ pointerEvents: "box-none",
94
+ onLayout: handleLayout
95
+ }, children));
39
96
  }
97
+ const styles = StyleSheet.create({
98
+ container: {
99
+ overflow: 'hidden',
100
+ backgroundColor: 'white'
101
+ }
102
+ });
40
103
  //# sourceMappingURL=CollapsibleHeaderContainer.js.map
@@ -1 +1 @@
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
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","StyleSheet","useInternalCollapsibleContext","useCollapsibleContext","Animated","Extrapolate","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","CollapsibleHeaderContext","useSharedValueRef","key","CollapsibleHeaderContainer","_ref","children","containerStyle","contentKey","handleHeaderContainerLayout","headerViewPositions","scrollY","currentLayout","undefined","stickyLayouts","setStickyLayouts","stickyHeight","Object","values","value","reduce","acc","height","result","previous","handleLayout","_ref2","nativeEvent","layout","handleStickyViewLayout","stickyKey","console","log","internalStyle","zIndex","translateY","position","topPosition","y","top","CLAMP","animatedStyle","transform","animatedY","maxV","Math","max","min","createElement","Provider","View","style","styles","container","pointerEvents","onLayout","create","overflow","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderContainer.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAeC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AACzE,SAKEC,UAAU,QACL,cAAc;AACrB,OAAOC,6BAA6B,MAAM,2CAA2C;AACrF,OAAOC,qBAAqB,MAAM,mCAAmC;AACrE,OAAOC,QAAQ,IACbC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACT,yBAAyB;AAChC,SAEEC,wBAAwB,QACnB,yCAAyC;AAChD,OAAOC,iBAAiB,MAAM,+BAA+B;AAO7D,IAAIC,GAAG,GAAG,CAAC;AAEX,eAAe,SAASC,0BAA0BA,CAAAC,IAAA,EAGxC;EAAA,IAHyC;IACjDC,QAAQ;IACRC;EACK,CAAC,GAAAF,IAAA;EACN,MAAMG,UAAU,GAAGnB,OAAO,CAAC,MAAO,sBAAqBc,GAAG,EAAG,EAAC,EAAE,EAAE,CAAC;EACnE,MAAM;IAAEM,2BAA2B;IAAEC;EAAoB,CAAC,GACxDnB,6BAA6B,CAAC,CAAC;EACjC,MAAM;IAAEoB;EAAQ,CAAC,GAAGnB,qBAAqB,CAAC,CAAC;EAC3C,MAAMoB,aAAa,GAAGZ,cAAc,CAA8Ba,SAAS,CAAC;EAC5E,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGb,iBAAiB,CAEzD,CAAC,CAAC,CAAC;EAELd,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXqB,2BAA2B,CAACD,UAAU,CAAC;IACzC,CAAC;IACD;EACF,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMQ,YAAY,GAAGjB,eAAe,CAClC,MACEkB,MAAM,CAACC,MAAM,CAACJ,aAAa,CAACK,KAAK,CAAC,CAACC,MAAM,CACvC,CAACC,GAAG,EAAEF,KAAK,KAAKE,GAAG,IAAI,CAAAF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,MAAM,KAAI,CAAC,CAAC,EAC1C,CACF,CAAC,EACH,EACF,CAAC;EAEDzB,mBAAmB,CACjB,MAAM;IACJ,IAAI,CAACe,aAAa,CAACO,KAAK,EAAE;MACxB,OAAO,CAAC,CAAC;IACX;IACA,OAAOP,aAAa,CAACO,KAAK,CAACG,MAAM,GAAGN,YAAY,CAACG,KAAK;EACxD,CAAC,EACD,CAACI,MAAM,EAAEC,QAAQ,KAAK;IACpB,IAAID,MAAM,KAAK,CAAC,CAAC,IAAIA,MAAM,KAAKC,QAAQ,EAAE;MACxC5B,OAAO,CAACa,2BAA2B,CAAC,CAClCD,UAAU,EACVI,aAAa,CAACO,KAAK,EACnBH,YAAY,CAACG,KACf,CAAC;IACH;EACF,CACF,CAAC;EAED,MAAMM,YAAY,GAAGtC,WAAW,CAC9BuC,KAAA,IAAoD;IAAA,IAAnD;MAAEC,WAAW,EAAE;QAAEC;MAAO;IAAqB,CAAC,GAAAF,KAAA;IAC7Cd,aAAa,CAACO,KAAK,GAAGS,MAAM;EAC9B,CAAC,EACD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAMiB,sBAAsB,GAAG1C,WAAW,CACxC,CAAC2C,SAAiB,EAAEF,MAAwB,KAAK;IAC/CG,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEF,SAAS,EAAEF,MAAM,CAAC;IAExDb,gBAAgB,CAAC;MACf,CAACe,SAAS,GAAGF;IACf,CAAC,CAAC;EACJ,CAAC,EACD,CAACb,gBAAgB,CACnB,CAAC;EAED,MAAMkB,aAAa,GAAG5C,OAAO,CAAC,MAAM;IAClC,OAAO;MACL6C,MAAM,EAAE,MAAM,GAAG/B;IACnB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMgC,UAAU,GAAGpC,eAAe,CAAC,MAAM;IACvC,MAAMqC,QAAQ,GAAG1B,mBAAmB,CAACS,KAAK,CAACX,UAAU,CAAC;IACtD,IAAI,CAACI,aAAa,CAACO,KAAK,IAAI,CAACiB,QAAQ,EAAE;MACrC,OAAOzB,OAAO,CAACQ,KAAK;IACtB;IACA,MAAMkB,WAAW,GACfzB,aAAa,CAACO,KAAK,CAACG,MAAM,GAC1BV,aAAa,CAACO,KAAK,CAACmB,CAAC,GACrBF,QAAQ,CAACG,GAAG,GACZH,QAAQ,CAACpB,YAAY;IAEvB,OAAOrB,WAAW,CAChBgB,OAAO,CAACQ,KAAK,EACb,CAAC,CAAC,EAAEkB,WAAW,EAAE,KAAK,CAAC,EACvB,CAAC,CAAC,EAAE,CAACA,WAAW,EAAE,CAACA,WAAW,CAAC,EAC/B3C,WAAW,CAAC8C,KACd,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAG3C,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACL4C,SAAS,EAAE,CACT;QACEP,UAAU,EAAEA,UAAU,CAAChB;MACzB,CAAC;IAEL,CAAC;EACH,CAAC,CAAC;EAEF,MAAMwB,SAAS,GAAG5C,eAAe,CAAC,MAAM;IACtC,MAAMqC,QAAQ,GAAG1B,mBAAmB,CAACS,KAAK,CAACX,UAAU,CAAC;IACtD,IAAI,CAACI,aAAa,CAACO,KAAK,IAAI,CAACiB,QAAQ,EAAE;MACrC,OAAO,CAAC;IACV;IACA,MAAMjB,KAAK,GAAGR,OAAO,CAACQ,KAAK,GAAGP,aAAa,CAACO,KAAK,CAACmB,CAAC,GAAGF,QAAQ,CAACG,GAAG;IAClE,MAAMK,IAAI,GAAGhC,aAAa,CAACO,KAAK,CAACG,MAAM,GAAGN,YAAY,CAACG,KAAK;IAE5D,OAAO0B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC5B,KAAK,EAAEyB,IAAI,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,MAAMzB,KAAmC,GAAG9B,OAAO,CACjD,OAAO;IACLwC,sBAAsB;IACtBc;EACF,CAAC,CAAC,EACF,CAACd,sBAAsB,EAAEc,SAAS,CACpC,CAAC;EAED,oBACEzD,KAAA,CAAA8D,aAAA,CAAC/C,wBAAwB,CAACgD,QAAQ;IAAC9B,KAAK,EAAEA;EAAM,gBAC9CjC,KAAA,CAAA8D,aAAA,CAACvD,QAAQ,CAACyD,IAAI;IACZ/C,GAAG,EAAEK,UAAW;IAChB2C,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE9C,cAAc,EAAE0B,aAAa,EAAEQ,aAAa,CAAE;IACxEa,aAAa,EAAC,UAAU;IACxBC,QAAQ,EAAE9B;EAAa,GAEtBnB,QACY,CACkB,CAAC;AAExC;AAEA,MAAM8C,MAAM,GAAG9D,UAAU,CAACkE,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,QAAQ;IAClBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
2
  import React, { useCallback, useEffect, useMemo, useRef } from 'react';
3
3
  import { StyleSheet } from 'react-native';
4
- import useCollapsibleContext from '../../hooks/useCollapsibleContext';
5
- import useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';
6
- import Animated, { Extrapolate, interpolate, useAnimatedStyle, useDerivedValue } from 'react-native-reanimated';
4
+ import Animated, { Extrapolate, interpolate, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
5
+ import useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';
7
6
  let stickyKey = 0;
8
7
  export default function StickyView(_ref) {
9
8
  let {
@@ -14,26 +13,38 @@ export default function StickyView(_ref) {
14
13
  const viewRef = useRef(null);
15
14
  const {
16
15
  handleStickyViewLayout,
17
- stickyViewTops,
18
- stickyViewPositions
19
- } = useInternalCollapsibleContext();
20
- const {
21
- scrollY
22
- } = useCollapsibleContext();
16
+ animatedY
17
+ } = useCollapsibleHeaderContext();
18
+ const currentLayout = useSharedValue(undefined);
23
19
  useEffect(() => {
24
20
  return () => handleStickyViewLayout(key, undefined);
25
21
  }, [key]);
26
- const handleLayout = useCallback(() => {
27
- handleStickyViewLayout(key, viewRef);
28
- }, [key]);
22
+ const handleLayout = useCallback(_ref2 => {
23
+ let {
24
+ nativeEvent: {
25
+ layout
26
+ }
27
+ } = _ref2;
28
+ currentLayout.value = layout;
29
+ handleStickyViewLayout(key, layout);
30
+ }, [key, handleStickyViewLayout]);
29
31
  const translateY = useDerivedValue(() => {
30
- const top = stickyViewTops.value[key] || 0;
31
- const layoutValues = stickyViewPositions.value[key] || {
32
- top: 0
33
- };
34
- const inputMid = layoutValues.top - top;
35
- return interpolate(scrollY.value, [0, inputMid, inputMid + 100000], [0, 0, 100000], Extrapolate.CLAMP);
36
- }, [key]);
32
+ if (!currentLayout.value) {
33
+ return 0;
34
+ }
35
+ const {
36
+ height: stickyHeight,
37
+ y: top
38
+ } = currentLayout.value;
39
+ const topValue = top;
40
+ console.log({
41
+ key,
42
+ animatedY: animatedY.value,
43
+ top,
44
+ stickyHeight
45
+ });
46
+ return interpolate(animatedY.value, [0, topValue, topValue + stickyHeight + 100], [0, 0, stickyHeight + 100], Extrapolate.CLAMP);
47
+ }, []);
37
48
  const animatedStyle = useAnimatedStyle(() => {
38
49
  return {
39
50
  transform: [{
@@ -47,7 +58,7 @@ export default function StickyView(_ref) {
47
58
  ,
48
59
  ref: viewRef,
49
60
  onLayout: handleLayout,
50
- style: [styles.container, animatedStyle, style],
61
+ style: [styles.container, style, animatedStyle],
51
62
  pointerEvents: "box-none"
52
63
  }, children);
53
64
  }
@@ -1 +1 @@
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
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","StyleSheet","Animated","Extrapolate","interpolate","useAnimatedStyle","useDerivedValue","useSharedValue","useCollapsibleHeaderContext","stickyKey","StickyView","_ref","children","style","key","viewRef","handleStickyViewLayout","animatedY","currentLayout","undefined","handleLayout","_ref2","nativeEvent","layout","value","translateY","height","stickyHeight","y","top","topValue","console","log","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,SAIEC,UAAU,QAGL,cAAc;AACrB,OAAOC,QAAQ,IACbC,WAAW,EACXC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACT,yBAAyB;AAChC,OAAOC,2BAA2B,MAAM,yCAAyC;AAOjF,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;EAAU,CAAC,GAAGT,2BAA2B,CAAC,CAAC;EAC3E,MAAMU,aAAa,GAAGX,cAAc,CAA8BY,SAAS,CAAC;EAE5ErB,SAAS,CAAC,MAAM;IACd,OAAO,MAAMkB,sBAAsB,CAACF,GAAG,EAAEK,SAAS,CAAC;EACrD,CAAC,EAAE,CAACL,GAAG,CAAC,CAAC;EAET,MAAMM,YAAY,GAAGvB,WAAW,CAC9BwB,KAAA,IAAoD;IAAA,IAAnD;MAAEC,WAAW,EAAE;QAAEC;MAAO;IAAqB,CAAC,GAAAF,KAAA;IAC7CH,aAAa,CAACM,KAAK,GAAGD,MAAM;IAC5BP,sBAAsB,CAACF,GAAG,EAAES,MAAM,CAAC;EACrC,CAAC,EACD,CAACT,GAAG,EAAEE,sBAAsB,CAC9B,CAAC;EAED,MAAMS,UAAU,GAAGnB,eAAe,CAAC,MAAM;IACvC,IAAI,CAACY,aAAa,CAACM,KAAK,EAAE;MACxB,OAAO,CAAC;IACV;IACA,MAAM;MAAEE,MAAM,EAAEC,YAAY;MAAEC,CAAC,EAAEC;IAAI,CAAC,GAAGX,aAAa,CAACM,KAAK;IAC5D,MAAMM,QAAQ,GAAGD,GAAG;IAEpBE,OAAO,CAACC,GAAG,CAAC;MAAElB,GAAG;MAAEG,SAAS,EAAEA,SAAS,CAACO,KAAK;MAAEK,GAAG;MAAEF;IAAa,CAAC,CAAC;IAEnE,OAAOvB,WAAW,CAChBa,SAAS,CAACO,KAAK,EACf,CAAC,CAAC,EAAEM,QAAQ,EAAEA,QAAQ,GAAGH,YAAY,GAAG,GAAG,CAAC,EAC5C,CAAC,CAAC,EAAE,CAAC,EAAEA,YAAY,GAAG,GAAG,CAAC,EAC1BxB,WAAW,CAAC8B,KACd,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,aAAa,GAAG7B,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACL8B,SAAS,EAAE,CACT;QACEV,UAAU,EAAEA,UAAU,CAACD;MACzB,CAAC;IAEL,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE5B,KAAA,CAAAwC,aAAA,CAAClC,QAAQ,CAACmC,IAAI;IACZvB,GAAG,EAAEA;IACL;IAAA;IACAwB,GAAG,EAAEvB,OAAQ;IACbwB,QAAQ,EAAEnB,YAAa;IACvBP,KAAK,EAAE,CAAC2B,MAAM,CAACC,SAAS,EAAE5B,KAAK,EAAEqB,aAAa,CAAE;IAChDQ,aAAa,EAAC;EAAU,GAEvB9B,QACY,CAAC;AAEpB;AAEA,MAAM4B,MAAM,GAAGvC,UAAU,CAAC0C,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,eAAe,EAAE,OAAO;IACxBC,MAAM,EAAE;EACV;AACF,CAAC,CAAC"}
@@ -19,7 +19,6 @@ export default function useAnimatedScroll(_ref) {
19
19
  } = useCollapsibleContext();
20
20
  const {
21
21
  setCollapsibleHandlers,
22
- firstStickyViewY,
23
22
  fixedHeaderHeight
24
23
  } = useInternalCollapsibleContext();
25
24
  useEffect(() => {
@@ -29,7 +28,7 @@ export default function useAnimatedScroll(_ref) {
29
28
  }, []);
30
29
  const collapse = useCallback(function () {
31
30
  let animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
32
- scrollTo(Math.min(fixedHeaderHeight.value || 0, firstStickyViewY.value || 0), animated);
31
+ scrollTo(fixedHeaderHeight.value, animated);
33
32
  }, [scrollTo]);
34
33
  const expand = useCallback(() => scrollTo(0), [scrollTo]);
35
34
  useEffect(() => {
@@ -49,7 +48,7 @@ export default function useAnimatedScroll(_ref) {
49
48
  },
50
49
  onEndDrag: () => {
51
50
  if (!headerSnappable) return;
52
- const maxY = firstStickyViewY.value && firstStickyViewY.value > 0 ? firstStickyViewY.value : fixedHeaderHeight.value || 0;
51
+ const maxY = fixedHeaderHeight.value;
53
52
  if (scrollY.value < maxY) {
54
53
  const delta = Math.abs(scrollY.value - maxY);
55
54
  if (delta < wHeight / 2) {