@r0b0t3d/react-native-collapsible 1.3.5-beta.0 → 1.3.5-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -2
- package/lib/commonjs/components/CollapsibleContainer.js +11 -25
- package/lib/commonjs/components/CollapsibleContainer.js.map +1 -1
- package/lib/commonjs/components/CollapsibleView.js +39 -44
- package/lib/commonjs/components/CollapsibleView.js.map +1 -1
- package/lib/commonjs/components/header/AnimatedTopView.js +4 -9
- package/lib/commonjs/components/header/AnimatedTopView.js.map +1 -1
- package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js +12 -20
- package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js.map +1 -1
- package/lib/commonjs/components/header/CollapsibleHeaderContainer.js +6 -12
- package/lib/commonjs/components/header/CollapsibleHeaderContainer.js.map +1 -1
- package/lib/commonjs/components/header/CollapsibleHeaderProvider.js +7 -11
- package/lib/commonjs/components/header/CollapsibleHeaderProvider.js.map +1 -1
- package/lib/commonjs/components/header/StickyView.js +11 -20
- package/lib/commonjs/components/header/StickyView.js.map +1 -1
- package/lib/commonjs/components/scrollable/CollapsibleFlatList.js +12 -26
- package/lib/commonjs/components/scrollable/CollapsibleFlatList.js.map +1 -1
- package/lib/commonjs/components/scrollable/CollapsibleScrollView.js +13 -24
- package/lib/commonjs/components/scrollable/CollapsibleScrollView.js.map +1 -1
- package/lib/commonjs/components/scrollable/useAnimatedScroll.js +9 -18
- package/lib/commonjs/components/scrollable/useAnimatedScroll.js.map +1 -1
- package/lib/commonjs/hooks/useCollapsibleContext.js +1 -6
- package/lib/commonjs/hooks/useCollapsibleContext.js.map +1 -1
- package/lib/commonjs/hooks/useCollapsibleHeaderContext.js +1 -6
- package/lib/commonjs/hooks/useCollapsibleHeaderContext.js.map +1 -1
- package/lib/commonjs/hooks/useInternalCollapsibleContext.js +1 -6
- package/lib/commonjs/hooks/useInternalCollapsibleContext.js.map +1 -1
- package/lib/commonjs/hooks/useKeyboardShowEvent.js +0 -4
- package/lib/commonjs/hooks/useKeyboardShowEvent.js.map +1 -1
- package/lib/commonjs/index.js +12 -33
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/debounce.js +8 -7
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/withCollapsibleContext.js +31 -44
- package/lib/commonjs/withCollapsibleContext.js.map +1 -1
- package/lib/module/components/CollapsibleContainer.js +11 -14
- package/lib/module/components/CollapsibleContainer.js.map +1 -1
- package/lib/module/components/CollapsibleView.js +38 -35
- package/lib/module/components/CollapsibleView.js.map +1 -1
- package/lib/module/components/header/AnimatedTopView.js +4 -3
- package/lib/module/components/header/AnimatedTopView.js.map +1 -1
- package/lib/module/components/header/CollapsibleHeaderConsumer.js +12 -9
- package/lib/module/components/header/CollapsibleHeaderConsumer.js.map +1 -1
- package/lib/module/components/header/CollapsibleHeaderContainer.js +5 -4
- package/lib/module/components/header/CollapsibleHeaderContainer.js.map +1 -1
- package/lib/module/components/header/CollapsibleHeaderProvider.js +6 -6
- package/lib/module/components/header/CollapsibleHeaderProvider.js.map +1 -1
- package/lib/module/components/header/StickyView.js +11 -10
- package/lib/module/components/header/StickyView.js.map +1 -1
- package/lib/module/components/scrollable/CollapsibleFlatList.js +12 -13
- package/lib/module/components/scrollable/CollapsibleFlatList.js.map +1 -1
- package/lib/module/components/scrollable/CollapsibleScrollView.js +13 -12
- package/lib/module/components/scrollable/CollapsibleScrollView.js.map +1 -1
- package/lib/module/components/scrollable/useAnimatedScroll.js +8 -10
- package/lib/module/components/scrollable/useAnimatedScroll.js.map +1 -1
- package/lib/module/hooks/useCollapsibleContext.js +0 -2
- package/lib/module/hooks/useCollapsibleContext.js.map +1 -1
- package/lib/module/hooks/useCollapsibleHeaderContext.js +0 -2
- package/lib/module/hooks/useCollapsibleHeaderContext.js.map +1 -1
- package/lib/module/hooks/useInternalCollapsibleContext.js +0 -2
- package/lib/module/hooks/useInternalCollapsibleContext.js.map +1 -1
- package/lib/module/hooks/useKeyboardShowEvent.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/debounce.js +8 -6
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/withCollapsibleContext.js +30 -34
- package/lib/module/withCollapsibleContext.js.map +1 -1
- package/lib/typescript/components/CollapsibleContainer.d.ts +4 -2
- package/lib/typescript/components/CollapsibleContainer.d.ts.map +1 -0
- package/lib/typescript/components/CollapsibleView.d.ts +6 -5
- package/lib/typescript/components/CollapsibleView.d.ts.map +1 -0
- package/lib/typescript/components/header/AnimatedTopView.d.ts +4 -2
- package/lib/typescript/components/header/AnimatedTopView.d.ts.map +1 -0
- package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts +3 -1
- package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts.map +1 -0
- package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts +2 -1
- package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts.map +1 -0
- package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts +3 -2
- package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts.map +1 -0
- package/lib/typescript/components/header/StickyView.d.ts +4 -2
- package/lib/typescript/components/header/StickyView.d.ts.map +1 -0
- package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts +4 -2
- package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts.map +1 -0
- package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts +4 -3
- package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts.map +1 -0
- package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts +2 -1
- package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts.map +1 -0
- package/lib/typescript/hooks/useCollapsibleContext.d.ts +1 -0
- package/lib/typescript/hooks/useCollapsibleContext.d.ts.map +1 -0
- package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts +3 -2
- package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts.map +1 -0
- package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts +1 -0
- package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts.map +1 -0
- package/lib/typescript/hooks/useKeyboardShowEvent.d.ts +1 -0
- package/lib/typescript/hooks/useKeyboardShowEvent.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +8 -7
- package/lib/typescript/types.d.ts.map +1 -0
- package/lib/typescript/utils/debounce.d.ts +1 -0
- package/lib/typescript/utils/debounce.d.ts.map +1 -0
- package/lib/typescript/withCollapsibleContext.d.ts +3 -2
- package/lib/typescript/withCollapsibleContext.d.ts.map +1 -0
- package/package.json +39 -34
- package/src/components/CollapsibleView.tsx +13 -6
- package/src/components/header/CollapsibleHeaderConsumer.tsx +2 -1
- package/src/components/header/StickyView.tsx +3 -4
- package/src/index.tsx +0 -1
- package/src/withCollapsibleContext.tsx +30 -26
- package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js +0 -75
- package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
- package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js +0 -35
- package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
- package/lib/commonjs/components/pullToRefresh/RefreshControl.js +0 -91
- package/lib/commonjs/components/pullToRefresh/RefreshControl.js.map +0 -1
- package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js +0 -24
- package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
- package/lib/commonjs/components/pullToRefresh/utils.js +0 -59
- package/lib/commonjs/components/pullToRefresh/utils.js.map +0 -1
- package/lib/module/components/pullToRefresh/PullToRefreshContainer.js +0 -56
- package/lib/module/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
- package/lib/module/components/pullToRefresh/PullToRefreshProvider.js +0 -21
- package/lib/module/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
- package/lib/module/components/pullToRefresh/RefreshControl.js +0 -73
- package/lib/module/components/pullToRefresh/RefreshControl.js.map +0 -1
- package/lib/module/components/pullToRefresh/usePullToRefreshContext.js +0 -13
- package/lib/module/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
- package/lib/module/components/pullToRefresh/utils.js +0 -42
- package/lib/module/components/pullToRefresh/utils.js.map +0 -1
- package/lib/typescript/components/pullToRefresh/PullToRefreshContainer.d.ts +0 -8
- package/lib/typescript/components/pullToRefresh/PullToRefreshProvider.d.ts +0 -6
- package/lib/typescript/components/pullToRefresh/RefreshControl.d.ts +0 -9
- package/lib/typescript/components/pullToRefresh/usePullToRefreshContext.d.ts +0 -4
- package/lib/typescript/components/pullToRefresh/utils.d.ts +0 -20
- package/src/components/pullToRefresh/PullToRefreshContainer.tsx +0 -66
- package/src/components/pullToRefresh/PullToRefreshProvider.tsx +0 -27
- package/src/components/pullToRefresh/RefreshControl.tsx +0 -100
- package/src/components/pullToRefresh/usePullToRefreshContext.ts +0 -13
- package/src/components/pullToRefresh/utils.ts +0 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","Dimensions","runOnJS","useAnimatedScrollHandler","useSharedValue","useCollapsibleContext","useInternalCollapsibleContext","height","wHeight","get","useAnimatedScroll","_ref","headerSnappable","scrollTo","scrollToIndex","scrollDirection","scrollY","setCollapsibleHandlers","firstStickyViewY","fixedHeaderHeight","value","requestAnimationFrame","collapse","animated","arguments","length","undefined","Math","min","expand","scrollHandler","onScroll","event","offset","contentOffset","y","diff","onEndDrag","maxY","delta","abs","yValue"],"sourceRoot":"../../../../src","sources":["components/scrollable/useAnimatedScroll.ts"],"mappings":"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"}
|
|
@@ -3,11 +3,9 @@ import { createContext, useContext } from 'react';
|
|
|
3
3
|
export const CollapsibleContext = /*#__PURE__*/createContext({});
|
|
4
4
|
export default function useCollapsibleContext() {
|
|
5
5
|
const ctx = useContext(CollapsibleContext);
|
|
6
|
-
|
|
7
6
|
if (!ctx) {
|
|
8
7
|
throw new Error('Component should be wrapped with withCollapsibleContext');
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
return ctx;
|
|
12
10
|
}
|
|
13
11
|
//# sourceMappingURL=useCollapsibleContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["createContext","useContext","CollapsibleContext","useCollapsibleContext","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/useCollapsibleContext.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAGjD;AACA,OAAO,MAAMC,kBAAkB,gBAAGF,aAAa,CAAyB,CAAC,CAAC,CAAC;AAE3E,eAAe,SAASG,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,GAAG,GAAGH,UAAU,CAACC,kBAAkB,CAAC;EAC1C,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOD,GAAG;AACZ"}
|
|
@@ -5,11 +5,9 @@ export const CollapsibleHeaderContext =
|
|
|
5
5
|
createContext({});
|
|
6
6
|
export default function useCollapsibleHeaderContext() {
|
|
7
7
|
const ctx = useContext(CollapsibleHeaderContext);
|
|
8
|
-
|
|
9
8
|
if (!ctx) {
|
|
10
9
|
throw new Error('Component should be wrapped CollapsibleHeaderProvider');
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
return ctx;
|
|
14
12
|
}
|
|
15
13
|
//# sourceMappingURL=useCollapsibleHeaderContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["createContext","useContext","CollapsibleHeaderContext","useCollapsibleHeaderContext","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/useCollapsibleHeaderContext.ts"],"mappings":"AAAA,SAASA,aAAa,EAAaC,UAAU,QAAQ,OAAO;AAW5D,OAAO,MAAMC,wBAAwB;AAAA;AACnC;AACAF,aAAa,CAA+B,CAAC,CAAC,CAAC;AAEjD,eAAe,SAASG,2BAA2BA,CAAA,EAAG;EACpD,MAAMC,GAAG,GAAGH,UAAU,CAACC,wBAAwB,CAAC;EAChD,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EACA,OAAOD,GAAG;AACZ"}
|
|
@@ -5,11 +5,9 @@ export const InternalCollapsibleContext =
|
|
|
5
5
|
createContext();
|
|
6
6
|
export default function useInternalCollapsibleContext() {
|
|
7
7
|
const ctx = useContext(InternalCollapsibleContext);
|
|
8
|
-
|
|
9
8
|
if (!ctx) {
|
|
10
9
|
throw new Error('Component should be wrapped with withCollapsibleContext');
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
return ctx;
|
|
14
12
|
}
|
|
15
13
|
//# sourceMappingURL=useInternalCollapsibleContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["createContext","useContext","InternalCollapsibleContext","useInternalCollapsibleContext","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/useInternalCollapsibleContext.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAGjD,OAAO,MAAMC,0BAA0B;AAAA;AACrC;AACAF,aAAa,CAAiC,CAAC;AAEjD,eAAe,SAASG,6BAA6BA,CAAA,EAAG;EACtD,MAAMC,GAAG,GAAGH,UAAU,CAACC,0BAA0B,CAAC;EAClD,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOD,GAAG;AACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","Keyboard","useKeyboardShowEvent","callback","savedCallback","current","subscription","addListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useKeyboardShowEvent.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,eAAe,SAASC,oBAAoBA,CAACC,QAAoB,EAAE;EACjE,MAAMC,aAAa,GAAGJ,MAAM,CAACG,QAAQ,CAAC;EAEtCJ,SAAS,CAAC,MAAM;IACdK,aAAa,CAACC,OAAO,GAAGF,QAAQ;EAClC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEdJ,SAAS,CAAC,MAAM;IACd,MAAMO,YAAY,GAAGL,QAAQ,CAACM,WAAW,CAAC,iBAAiB,EAAE,MAAM;MACjE,IAAIH,aAAa,CAACC,OAAO,EAAE;QACzBD,aAAa,CAACC,OAAO,CAAC,CAAC;MACzB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXC,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR"}
|
package/lib/module/index.js
CHANGED
|
@@ -5,7 +5,6 @@ export { default as CollapsibleFlatList } from './components/scrollable/Collapsi
|
|
|
5
5
|
export { default as CollapsibleScrollView } from './components/scrollable/CollapsibleScrollView';
|
|
6
6
|
export { default as CollapsibleHeaderContainer } from './components/header/CollapsibleHeaderContainer';
|
|
7
7
|
export { default as StickyView } from './components/header/StickyView';
|
|
8
|
-
export { default as RefreshControl } from './components/pullToRefresh/RefreshControl';
|
|
9
8
|
export { default as CollapsibleView } from './components/CollapsibleView';
|
|
10
9
|
export * from './components/CollapsibleView';
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default","withCollapsibleContext","useCollapsibleContext","CollapsibleContainer","CollapsibleFlatList","CollapsibleScrollView","CollapsibleHeaderContainer","StickyView","CollapsibleView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,+BAA+B;AAEhF,SAASF,OAAO,IAAIG,oBAAoB,QAAQ,mCAAmC;AACnF,SAASH,OAAO,IAAII,mBAAmB,QAAQ,6CAA6C;AAC5F,SAASJ,OAAO,IAAIK,qBAAqB,QAAQ,+CAA+C;AAChG,SAASL,OAAO,IAAIM,0BAA0B,QAAQ,gDAAgD;AACtG,SAASN,OAAO,IAAIO,UAAU,QAAQ,gCAAgC;AACtE,SAASP,OAAO,IAAIQ,eAAe,QAAQ,8BAA8B;AACzE,cAAc,8BAA8B"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// https://gist.github.com/ca0v/73a31f57b397606c9813472f7493a940
|
|
2
|
-
export function debounce(cb
|
|
2
|
+
export function debounce(cb) {
|
|
3
|
+
let wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;
|
|
3
4
|
let h = 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
let callable = function () {
|
|
6
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7
|
+
args[_key] = arguments[_key];
|
|
8
|
+
}
|
|
9
|
+
clearTimeout(h);
|
|
10
|
+
// @ts-ignore
|
|
8
11
|
h = setTimeout(() => cb(...args), wait);
|
|
9
12
|
};
|
|
10
|
-
|
|
11
13
|
return callable;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=debounce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["debounce","cb","wait","arguments","length","undefined","h","callable","_len","args","Array","_key","clearTimeout","setTimeout"],"sourceRoot":"../../../src","sources":["utils/debounce.ts"],"mappings":"AAAA;AACA,OAAO,SAASA,QAAQA,CAAqBC,EAAK,EAAa;EAAA,IAAXC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC3D,IAAIG,CAAC,GAAG,CAAC;EACT,IAAIC,QAAQ,GAAG,SAAAA,CAAA,EAAkB;IAAA,SAAAC,IAAA,GAAAL,SAAA,CAAAC,MAAA,EAAdK,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAR,SAAA,CAAAQ,IAAA;IAAA;IACrBC,YAAY,CAACN,CAAC,CAAC;IACf;IACAA,CAAC,GAAGO,UAAU,CAAC,MAAMZ,EAAE,CAAC,GAAGQ,IAAI,CAAC,EAAEP,IAAI,CAAC;EACzC,CAAC;EACD,OAAgBK,QAAQ;AAC1B"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-shadow */
|
|
2
|
-
|
|
3
1
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
4
2
|
import React, { useCallback, useMemo, useRef } from 'react';
|
|
5
3
|
import { CollapsibleContext } from './hooks/useCollapsibleContext';
|
|
@@ -17,7 +15,6 @@ export default function withCollapsibleContext(Component) {
|
|
|
17
15
|
const stickyViewPositionsRef = useRef({});
|
|
18
16
|
const stickyViewPositions = useSharedValue({});
|
|
19
17
|
const fixedHeaderHeight = useSharedValue(0);
|
|
20
|
-
const stickyHeaderHeight = useSharedValue(0);
|
|
21
18
|
const containerHeight = useSharedValue(0);
|
|
22
19
|
const firstStickyViewY = useSharedValue(1000000);
|
|
23
20
|
const containerRef = useRef(null);
|
|
@@ -30,51 +27,47 @@ export default function withCollapsibleContext(Component) {
|
|
|
30
27
|
return scrollY.value >= maxY;
|
|
31
28
|
}, []);
|
|
32
29
|
const contentMinHeight = useDerivedValue(() => {
|
|
33
|
-
return containerHeight.value + fixedHeaderHeight.value
|
|
30
|
+
return containerHeight.value + fixedHeaderHeight.value;
|
|
34
31
|
}, []);
|
|
35
32
|
useAnimatedReaction(() => {
|
|
36
33
|
const totalHeight = Object.keys(stickyViewPositions.value).reduce((acc, item) => {
|
|
37
|
-
|
|
34
|
+
const value = stickyViewPositions.value[item];
|
|
35
|
+
if (value) {
|
|
36
|
+
return acc + value.top;
|
|
37
|
+
}
|
|
38
|
+
return acc;
|
|
38
39
|
}, 0);
|
|
39
40
|
return totalHeight - fixedHeaderHeight.value;
|
|
40
41
|
}, (result, previous) => {
|
|
41
42
|
if (result !== previous) {
|
|
42
43
|
var _viewPositions$sorted;
|
|
43
|
-
|
|
44
44
|
const viewPositions = stickyViewPositions.value;
|
|
45
|
-
const
|
|
46
|
-
|
|
45
|
+
const sortedKeys = Object.keys(viewPositions).filter(v => !!viewPositions[v])
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
.sort((a, b) => viewPositions[a].top - viewPositions[b].top);
|
|
47
48
|
let totalTop = 0;
|
|
48
49
|
const values = {};
|
|
49
|
-
|
|
50
50
|
for (let i = 0; i < sortedKeys.length; i++) {
|
|
51
|
-
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
values[sortedKeys[i]] = totalTop;
|
|
53
|
+
// Try minus 1 make it filled when scrolling up.
|
|
52
54
|
// Otherwise, we can see a small space between the persits views
|
|
53
|
-
|
|
55
|
+
// @ts-ignore
|
|
54
56
|
totalTop += viewPositions[sortedKeys[i]].height - 1;
|
|
55
57
|
}
|
|
56
|
-
|
|
57
58
|
stickyViewTops.value = values;
|
|
59
|
+
// @ts-ignore
|
|
58
60
|
firstStickyViewY.value = ((_viewPositions$sorted = viewPositions[sortedKeys[0]]) === null || _viewPositions$sorted === void 0 ? void 0 : _viewPositions$sorted.top) || 0;
|
|
59
|
-
const stickyHeader = sortedKeys.reduce((acc, key) => {
|
|
60
|
-
const data = viewPositions[key];
|
|
61
|
-
const isInsideHeader = data.top < headerHeight;
|
|
62
|
-
|
|
63
|
-
if (isInsideHeader) {
|
|
64
|
-
return acc + data.height;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return acc;
|
|
68
|
-
}, 0);
|
|
69
|
-
stickyHeaderHeight.value = stickyHeader;
|
|
70
61
|
}
|
|
71
62
|
});
|
|
72
63
|
const handleStickyViewLayout = useCallback((viewKey, viewRef) => {
|
|
73
64
|
if (viewRef && viewRef.current && containerRef.current) {
|
|
74
65
|
stickyViewRefs.current[viewKey] = viewRef;
|
|
75
|
-
viewRef.current.measureLayout(
|
|
66
|
+
viewRef.current.measureLayout(
|
|
67
|
+
// @ts-ignore
|
|
76
68
|
containerRef.current, (left, top, width, height) => {
|
|
77
|
-
stickyViewPositionsRef.current = {
|
|
69
|
+
stickyViewPositionsRef.current = {
|
|
70
|
+
...stickyViewPositionsRef.current,
|
|
78
71
|
[viewKey]: {
|
|
79
72
|
left,
|
|
80
73
|
top,
|
|
@@ -82,11 +75,19 @@ export default function withCollapsibleContext(Component) {
|
|
|
82
75
|
height
|
|
83
76
|
}
|
|
84
77
|
};
|
|
78
|
+
// @ts-ignore
|
|
85
79
|
stickyViewPositions.value = stickyViewPositionsRef.current;
|
|
86
80
|
}, () => {});
|
|
87
81
|
} else {
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
stickyViewRefs.current = {
|
|
83
|
+
...stickyViewRefs.current,
|
|
84
|
+
[viewKey]: undefined
|
|
85
|
+
};
|
|
86
|
+
stickyViewPositionsRef.current = {
|
|
87
|
+
...stickyViewPositionsRef.current,
|
|
88
|
+
[viewKey]: undefined
|
|
89
|
+
};
|
|
90
|
+
// @ts-ignore
|
|
90
91
|
stickyViewPositions.value = stickyViewPositionsRef.current;
|
|
91
92
|
}
|
|
92
93
|
}, []);
|
|
@@ -94,7 +95,6 @@ export default function withCollapsibleContext(Component) {
|
|
|
94
95
|
return debounce(() => {
|
|
95
96
|
Object.keys(stickyViewRefs.current).forEach(key => {
|
|
96
97
|
const viewRef = stickyViewRefs.current[key];
|
|
97
|
-
|
|
98
98
|
if (viewRef) {
|
|
99
99
|
handleStickyViewLayout(key, viewRef);
|
|
100
100
|
}
|
|
@@ -105,8 +105,8 @@ export default function withCollapsibleContext(Component) {
|
|
|
105
105
|
headerHeight.value = withTiming(height, {
|
|
106
106
|
duration: fixedHeaderHeight.value === 0 ? 0 : 10
|
|
107
107
|
});
|
|
108
|
-
fixedHeaderHeight.value = height;
|
|
109
|
-
|
|
108
|
+
fixedHeaderHeight.value = height;
|
|
109
|
+
// Try refresh sticky positions
|
|
110
110
|
debounceRefreshStickyPositions();
|
|
111
111
|
}, []);
|
|
112
112
|
const handleContainerHeight = useCallback(height => {
|
|
@@ -116,22 +116,18 @@ export default function withCollapsibleContext(Component) {
|
|
|
116
116
|
return {
|
|
117
117
|
collapse: animated => {
|
|
118
118
|
var _collapsibleHandlers$;
|
|
119
|
-
|
|
120
119
|
return (_collapsibleHandlers$ = collapsibleHandlers.current) === null || _collapsibleHandlers$ === void 0 ? void 0 : _collapsibleHandlers$.collapse(animated);
|
|
121
120
|
},
|
|
122
121
|
expand: () => {
|
|
123
122
|
var _collapsibleHandlers$2;
|
|
124
|
-
|
|
125
123
|
return (_collapsibleHandlers$2 = collapsibleHandlers.current) === null || _collapsibleHandlers$2 === void 0 ? void 0 : _collapsibleHandlers$2.expand();
|
|
126
124
|
},
|
|
127
125
|
scrollTo: (offset, animate) => {
|
|
128
126
|
var _collapsibleHandlers$3;
|
|
129
|
-
|
|
130
127
|
return (_collapsibleHandlers$3 = collapsibleHandlers.current) === null || _collapsibleHandlers$3 === void 0 ? void 0 : _collapsibleHandlers$3.scrollTo(offset, animate);
|
|
131
128
|
},
|
|
132
129
|
scrollToIndex: params => {
|
|
133
130
|
var _collapsibleHandlers$4;
|
|
134
|
-
|
|
135
131
|
return (_collapsibleHandlers$4 = collapsibleHandlers.current) === null || _collapsibleHandlers$4 === void 0 ? void 0 : _collapsibleHandlers$4.scrollToIndex(params);
|
|
136
132
|
},
|
|
137
133
|
headerHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["withCollapsibleContext.tsx"],"names":["React","useCallback","useMemo","useRef","CollapsibleContext","InternalCollapsibleContext","useAnimatedReaction","useDerivedValue","useSharedValue","withTiming","debounce","CollapsibleHeaderProvider","withCollapsibleContext","Component","props","collapsibleHandlers","headerHeight","scrollY","stickyViewRefs","stickyViewTops","stickyViewPositionsRef","stickyViewPositions","fixedHeaderHeight","stickyHeaderHeight","containerHeight","firstStickyViewY","containerRef","scrollViewRef","setCollapsibleHandlers","handlers","current","headerCollapsed","maxY","value","contentMinHeight","totalHeight","Object","keys","reduce","acc","item","top","result","previous","viewPositions","sortedKeys","sort","a","b","totalTop","values","i","length","height","stickyHeader","key","data","isInsideHeader","handleStickyViewLayout","viewKey","viewRef","measureLayout","left","width","debounceRefreshStickyPositions","forEach","handleHeaderContainerLayout","duration","handleContainerHeight","context","collapse","animated","expand","scrollTo","offset","animate","scrollToIndex","params","internalContext"],"mappings":"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","sourcesContent":["/* eslint-disable no-shadow */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { FC, useCallback, useMemo, useRef } from 'react';\nimport type { CollapsibleHandles, LayoutParams } from './types';\nimport { CollapsibleContext } from './hooks/useCollapsibleContext';\nimport { InternalCollapsibleContext } from './hooks/useInternalCollapsibleContext';\nimport {\n useAnimatedReaction,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport type { View } from 'react-native';\nimport { debounce } from './utils/debounce';\nimport CollapsibleHeaderProvider from './components/header/CollapsibleHeaderProvider';\n\nexport default function withCollapsibleContext<T>(Component: FC<T>) {\n return (props: T) => {\n const collapsibleHandlers = useRef<CollapsibleHandles>();\n const headerHeight = useSharedValue(0);\n const scrollY = useSharedValue(0);\n const stickyViewRefs = useRef<Record<string, React.RefObject<View>>>({});\n const stickyViewTops = useSharedValue<Record<string, number>>({});\n const stickyViewPositionsRef = useRef<Record<string, LayoutParams>>({});\n const stickyViewPositions = useSharedValue<Record<string, LayoutParams>>(\n {}\n );\n const fixedHeaderHeight = useSharedValue(0);\n const stickyHeaderHeight = useSharedValue(0);\n const containerHeight = useSharedValue(0);\n const firstStickyViewY = useSharedValue(1000000);\n const containerRef = useRef<View>(null);\n const scrollViewRef = useRef<View>(null);\n\n const setCollapsibleHandlers = useCallback((handlers) => {\n collapsibleHandlers.current = handlers;\n }, []);\n\n const headerCollapsed = useDerivedValue(() => {\n const maxY = fixedHeaderHeight.value - firstStickyViewY.value;\n return scrollY.value >= maxY;\n }, []);\n\n const contentMinHeight = useDerivedValue(() => {\n return (\n containerHeight.value +\n fixedHeaderHeight.value -\n stickyHeaderHeight.value\n );\n }, []);\n\n useAnimatedReaction(\n () => {\n const totalHeight = Object.keys(stickyViewPositions.value).reduce(\n (acc, item) => {\n return acc + stickyViewPositions.value[item].top;\n },\n 0\n );\n return totalHeight - fixedHeaderHeight.value;\n },\n (result, previous) => {\n if (result !== previous) {\n const viewPositions = stickyViewPositions.value;\n const headerHeight = fixedHeaderHeight.value;\n const sortedKeys = Object.keys(viewPositions).sort(\n (a, b) => viewPositions[a].top - viewPositions[b].top\n );\n let totalTop = 0;\n const values: any = {};\n for (let i = 0; i < sortedKeys.length; i++) {\n values[sortedKeys[i]] = totalTop;\n // Try minus 1 make it filled when scrolling up.\n // Otherwise, we can see a small space between the persits views\n totalTop += viewPositions[sortedKeys[i]].height - 1;\n }\n stickyViewTops.value = values;\n firstStickyViewY.value = viewPositions[sortedKeys[0]]?.top || 0;\n const stickyHeader = sortedKeys.reduce((acc, key) => {\n const data = viewPositions[key];\n const isInsideHeader = data.top < headerHeight;\n if (isInsideHeader) {\n return acc + data.height;\n }\n return acc;\n }, 0);\n stickyHeaderHeight.value = stickyHeader;\n }\n }\n );\n\n const handleStickyViewLayout = useCallback(\n (viewKey: string, viewRef?: React.RefObject<View>) => {\n if (viewRef && viewRef.current && containerRef.current) {\n stickyViewRefs.current[viewKey] = viewRef;\n viewRef.current.measureLayout(\n // @ts-ignore\n containerRef.current,\n (left, top, width, height) => {\n stickyViewPositionsRef.current = {\n ...stickyViewPositionsRef.current,\n [viewKey]: { left, top, width, height },\n };\n stickyViewPositions.value = stickyViewPositionsRef.current;\n },\n () => {}\n );\n } else {\n delete stickyViewRefs.current[viewKey];\n delete stickyViewPositionsRef.current[viewKey];\n stickyViewPositions.value = stickyViewPositionsRef.current;\n }\n },\n []\n );\n\n const debounceRefreshStickyPositions = useMemo(() => {\n return debounce(() => {\n Object.keys(stickyViewRefs.current).forEach((key) => {\n const viewRef = stickyViewRefs.current[key];\n if (viewRef) {\n handleStickyViewLayout(key, viewRef);\n }\n });\n }, 200);\n }, []);\n\n const handleHeaderContainerLayout = useCallback((height: number) => {\n headerHeight.value = withTiming(height, {\n duration: fixedHeaderHeight.value === 0 ? 0 : 10,\n });\n fixedHeaderHeight.value = height;\n // Try refresh sticky positions\n debounceRefreshStickyPositions();\n }, []);\n\n const handleContainerHeight = useCallback((height: number) => {\n containerHeight.value = height;\n }, []);\n\n const context = useMemo(() => {\n return {\n collapse: (animated?: boolean) =>\n collapsibleHandlers.current?.collapse(animated),\n expand: () => collapsibleHandlers.current?.expand(),\n scrollTo: (offset: number, animate?: boolean) =>\n collapsibleHandlers.current?.scrollTo(offset, animate),\n scrollToIndex: (params: any) =>\n collapsibleHandlers.current?.scrollToIndex(params),\n headerHeight,\n scrollY,\n headerCollapsed,\n };\n }, [scrollY, headerHeight, headerCollapsed]);\n\n const internalContext = useMemo(\n () => ({\n scrollViewRef,\n containerRef,\n handleStickyViewLayout,\n handleHeaderContainerLayout,\n setCollapsibleHandlers,\n handleContainerHeight,\n firstStickyViewY,\n stickyViewTops,\n stickyViewPositions,\n fixedHeaderHeight,\n contentMinHeight,\n }),\n [\n setCollapsibleHandlers,\n handleStickyViewLayout,\n handleHeaderContainerLayout,\n handleContainerHeight,\n firstStickyViewY,\n stickyViewTops,\n stickyViewPositions,\n fixedHeaderHeight,\n contentMinHeight,\n ]\n );\n\n return (\n <CollapsibleContext.Provider value={context}>\n <InternalCollapsibleContext.Provider value={internalContext}>\n <CollapsibleHeaderProvider>\n {/** @ts-ignore */}\n <Component {...props} />\n </CollapsibleHeaderProvider>\n </InternalCollapsibleContext.Provider>\n </CollapsibleContext.Provider>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useRef","CollapsibleContext","InternalCollapsibleContext","useAnimatedReaction","useDerivedValue","useSharedValue","withTiming","debounce","CollapsibleHeaderProvider","withCollapsibleContext","Component","props","collapsibleHandlers","headerHeight","scrollY","stickyViewRefs","stickyViewTops","stickyViewPositionsRef","stickyViewPositions","fixedHeaderHeight","containerHeight","firstStickyViewY","containerRef","scrollViewRef","setCollapsibleHandlers","handlers","current","headerCollapsed","maxY","value","contentMinHeight","totalHeight","Object","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","forEach","key","handleHeaderContainerLayout","duration","handleContainerHeight","context","collapse","animated","_collapsibleHandlers$","expand","_collapsibleHandlers$2","scrollTo","offset","animate","_collapsibleHandlers$3","scrollToIndex","params","_collapsibleHandlers$4","internalContext","createElement","Provider"],"sourceRoot":"../../src","sources":["withCollapsibleContext.tsx"],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { KeyboardAvoidingViewProps, ViewProps } from 'react-native';
|
|
2
|
-
|
|
3
|
+
type Props = Omit<ViewProps, 'ref' | 'onLayout'> & {
|
|
3
4
|
children: Element;
|
|
4
5
|
keyboardAvoidingViewProps?: KeyboardAvoidingViewProps;
|
|
5
6
|
textInputRefs?: any[];
|
|
6
7
|
};
|
|
7
|
-
export default function CollapsibleContainer({ children, keyboardAvoidingViewProps, textInputRefs, ...props }: Props): JSX.Element;
|
|
8
|
+
export default function CollapsibleContainer({ children, keyboardAvoidingViewProps, textInputRefs, ...props }: Props): React.JSX.Element;
|
|
8
9
|
export {};
|
|
10
|
+
//# sourceMappingURL=CollapsibleContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleContainer.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsibleContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAEL,yBAAyB,EAIzB,SAAS,EACV,MAAM,cAAc,CAAC;AAMtB,KAAK,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,yBAAyB,EACzB,aAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,qBAwDP"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
3
3
|
import Animated from 'react-native-reanimated';
|
|
4
|
-
export
|
|
4
|
+
export type CollapsibleHeaderProps = {
|
|
5
5
|
onToggle: () => void;
|
|
6
6
|
collapsed: Animated.SharedValue<number>;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
initialState?: 'collapsed' | 'expanded';
|
|
10
10
|
collapseState?: Animated.SharedValue<number>;
|
|
11
11
|
renderHeader: (props: CollapsibleHeaderProps) => ReactNode;
|
|
@@ -16,7 +16,7 @@ declare type Props = {
|
|
|
16
16
|
useDynamicLayout?: boolean;
|
|
17
17
|
onToggle?: (isExpand: boolean) => void;
|
|
18
18
|
};
|
|
19
|
-
export default function CollapsibleView({ initialState, collapseState, renderHeader, children, containerStyle, collapsedBackgroundColor, expandedBackgroundColor, onToggle, }: Props): JSX.Element;
|
|
19
|
+
export default function CollapsibleView({ initialState, collapseState, renderHeader, children, containerStyle, collapsedBackgroundColor, expandedBackgroundColor, onToggle, }: Props): React.JSX.Element;
|
|
20
20
|
export declare function CollapsibleHeaderText({ title, collapsed, onToggle, style, titleStyle, icon, iconInitialAngle, children, }: {
|
|
21
21
|
title: string | Element;
|
|
22
22
|
style?: StyleProp<ViewStyle>;
|
|
@@ -24,5 +24,6 @@ export declare function CollapsibleHeaderText({ title, collapsed, onToggle, styl
|
|
|
24
24
|
icon?: ReactNode;
|
|
25
25
|
iconInitialAngle?: number;
|
|
26
26
|
children?: ReactNode;
|
|
27
|
-
} & CollapsibleHeaderProps): JSX.Element;
|
|
27
|
+
} & CollapsibleHeaderProps): React.JSX.Element;
|
|
28
28
|
export {};
|
|
29
|
+
//# sourceMappingURL=CollapsibleView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleView.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsibleView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAmC,MAAM,OAAO,CAAC;AAC1E,OAAO,EAGL,SAAS,EAGT,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,QAQN,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACxC,aAAa,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,YAAY,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,SAAS,CAAC;IAC3D,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,YAA0B,EAC1B,aAAiC,EACjC,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,QAAQ,GACT,EAAE,KAAK,qBAkGP;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,EACV,IAAI,EACJ,gBAAoB,EACpB,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,GAAG,sBAAsB,qBA+BzB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import Animated from 'react-native-reanimated';
|
|
2
|
-
|
|
3
|
+
type Props = {
|
|
3
4
|
height: Animated.SharedValue<number>;
|
|
4
5
|
};
|
|
5
|
-
export default function AnimatedTopView({ height }: Props): JSX.Element;
|
|
6
|
+
export default function AnimatedTopView({ height }: Props): React.JSX.Element;
|
|
6
7
|
export {};
|
|
8
|
+
//# sourceMappingURL=AnimatedTopView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedTopView.d.ts","sourceRoot":"","sources":["../../../../src/components/header/AnimatedTopView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAA8B,MAAM,yBAAyB,CAAC;AAErE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,qBASxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleHeaderConsumer.d.ts","sourceRoot":"","sources":["../../../../src/components/header/CollapsibleHeaderConsumer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,MAAM,CAAC,OAAO,UAAU,yBAAyB,sBA2ChD"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
-
|
|
3
|
+
type Props = {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
containerStyle?: StyleProp<ViewStyle>;
|
|
6
6
|
};
|
|
7
7
|
export default function CollapsibleHeaderContainer({ children, containerStyle, }: Props): null;
|
|
8
8
|
export {};
|
|
9
|
+
//# sourceMappingURL=CollapsibleHeaderContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleHeaderContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/header/CollapsibleHeaderContainer.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAsB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,QAAQ,EACR,cAAc,GACf,EAAE,KAAK,QAmCP"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
export default function CollapsibleHeaderProvider({ children, }: {
|
|
3
3
|
children: ReactNode;
|
|
4
|
-
}): JSX.Element;
|
|
4
|
+
}): React.JSX.Element;
|
|
5
|
+
//# sourceMappingURL=CollapsibleHeaderProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleHeaderProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/header/CollapsibleHeaderProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,qBAmDA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
-
|
|
3
|
+
type Props = {
|
|
3
4
|
style?: StyleProp<ViewStyle>;
|
|
4
5
|
children: Element;
|
|
5
6
|
};
|
|
6
|
-
export default function StickyView({ children, style }: Props): JSX.Element;
|
|
7
|
+
export default function StickyView({ children, style }: Props): React.JSX.Element;
|
|
7
8
|
export {};
|
|
9
|
+
//# sourceMappingURL=StickyView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StickyView.d.ts","sourceRoot":"","sources":["../../../../src/components/header/StickyView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAUtE,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,qBAiD5D"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { FlatListProps } from 'react-native';
|
|
2
3
|
import type { CollapsibleProps } from '../../types';
|
|
3
|
-
|
|
4
|
-
export default function CollapsibleFlatList<Data>({ headerSnappable, ...props }: Props<Data>): JSX.Element;
|
|
4
|
+
type Props<Data> = Omit<FlatListProps<Data>, 'scrollEnabled'> & CollapsibleProps;
|
|
5
|
+
export default function CollapsibleFlatList<Data>({ headerSnappable, ...props }: Props<Data>): React.JSX.Element;
|
|
5
6
|
export {};
|
|
7
|
+
//# sourceMappingURL=CollapsibleFlatList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleFlatList.d.ts","sourceRoot":"","sources":["../../../../src/components/scrollable/CollapsibleFlatList.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAA8B,MAAM,cAAc,CAAC;AAOzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,GAC3D,gBAAgB,CAAC;AAEnB,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,EAChD,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,IAAI,CAAC,qBAoHb"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { ScrollViewProps } from 'react-native';
|
|
3
3
|
import type { CollapsibleProps } from '../../types';
|
|
4
|
-
|
|
4
|
+
type Props = ScrollViewProps & CollapsibleProps & {
|
|
5
5
|
children?: ReactNode;
|
|
6
6
|
refreshing?: boolean;
|
|
7
7
|
onRefresh?: () => void;
|
|
8
8
|
};
|
|
9
|
-
export default function CollapsibleScrollView({ headerSnappable, children, refreshing, onRefresh, ...props }: Props): JSX.Element;
|
|
9
|
+
export default function CollapsibleScrollView({ headerSnappable, children, refreshing, onRefresh, ...props }: Props): React.JSX.Element;
|
|
10
10
|
export {};
|
|
11
|
+
//# sourceMappingURL=CollapsibleScrollView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleScrollView.d.ts","sourceRoot":"","sources":["../../../../src/components/scrollable/CollapsibleScrollView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AACf,OAAO,EAAkB,eAAe,EAAc,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,KAAK,KAAK,GAAG,eAAe,GAC1B,gBAAgB,GAAG;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,eAAsB,EACtB,QAAQ,EACR,UAAkB,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,qBAkFP"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ScrollToIndexParams } from '../../types';
|
|
2
|
-
|
|
2
|
+
type Props = {
|
|
3
3
|
headerSnappable: boolean;
|
|
4
4
|
scrollTo: (yValue: number, animated?: boolean) => void;
|
|
5
5
|
scrollToIndex: (params: ScrollToIndexParams) => void;
|
|
@@ -10,3 +10,4 @@ export default function useAnimatedScroll({ headerSnappable, scrollTo, scrollToI
|
|
|
10
10
|
expand: () => void;
|
|
11
11
|
};
|
|
12
12
|
export {};
|
|
13
|
+
//# sourceMappingURL=useAnimatedScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnimatedScroll.d.ts","sourceRoot":"","sources":["../../../../src/components/scrollable/useAnimatedScroll.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMvD,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,eAAe,EACf,QAAQ,EACR,aAAa,GACd,EAAE,KAAK;;;;EAoEP"}
|
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
import type { CollapsibleContextType } from '../types';
|
|
3
3
|
export declare const CollapsibleContext: import("react").Context<CollapsibleContextType>;
|
|
4
4
|
export default function useCollapsibleContext(): CollapsibleContextType;
|
|
5
|
+
//# sourceMappingURL=useCollapsibleContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollapsibleContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCollapsibleContext.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,eAAO,MAAM,kBAAkB,iDAA4C,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,qBAAqB,2BAM5C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
export
|
|
2
|
+
export type HeaderItem = {
|
|
3
3
|
key: string;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
type CollapsibleContextHeaderType = {
|
|
7
7
|
headers: HeaderItem[];
|
|
8
8
|
mount: (key: string, header: ReactNode) => void;
|
|
9
9
|
update: (key: string, header: ReactNode) => void;
|
|
@@ -12,3 +12,4 @@ declare type CollapsibleContextHeaderType = {
|
|
|
12
12
|
export declare const CollapsibleHeaderContext: import("react").Context<CollapsibleContextHeaderType>;
|
|
13
13
|
export default function useCollapsibleHeaderContext(): CollapsibleContextHeaderType;
|
|
14
14
|
export {};
|
|
15
|
+
//# sourceMappingURL=useCollapsibleHeaderContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollapsibleHeaderContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCollapsibleHeaderContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC;AAE9D,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,wBAAwB,uDAEY,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,2BAA2B,iCAMlD"}
|
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
import type { CollapsibleContextInternalType } from '../types';
|
|
3
3
|
export declare const InternalCollapsibleContext: import("react").Context<CollapsibleContextInternalType>;
|
|
4
4
|
export default function useInternalCollapsibleContext(): CollapsibleContextInternalType;
|
|
5
|
+
//# sourceMappingURL=useInternalCollapsibleContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInternalCollapsibleContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInternalCollapsibleContext.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,0BAA0B,yDAEU,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,6BAA6B,mCAMpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardShowEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useKeyboardShowEvent.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAkBhE"}
|