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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/LICENSE +1 -2
  2. package/lib/commonjs/components/CollapsibleContainer.js +11 -25
  3. package/lib/commonjs/components/CollapsibleContainer.js.map +1 -1
  4. package/lib/commonjs/components/CollapsibleView.js +39 -44
  5. package/lib/commonjs/components/CollapsibleView.js.map +1 -1
  6. package/lib/commonjs/components/header/AnimatedTopView.js +4 -9
  7. package/lib/commonjs/components/header/AnimatedTopView.js.map +1 -1
  8. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js +12 -20
  9. package/lib/commonjs/components/header/CollapsibleHeaderConsumer.js.map +1 -1
  10. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js +6 -12
  11. package/lib/commonjs/components/header/CollapsibleHeaderContainer.js.map +1 -1
  12. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js +7 -11
  13. package/lib/commonjs/components/header/CollapsibleHeaderProvider.js.map +1 -1
  14. package/lib/commonjs/components/header/StickyView.js +11 -20
  15. package/lib/commonjs/components/header/StickyView.js.map +1 -1
  16. package/lib/commonjs/components/scrollable/CollapsibleFlatList.js +12 -26
  17. package/lib/commonjs/components/scrollable/CollapsibleFlatList.js.map +1 -1
  18. package/lib/commonjs/components/scrollable/CollapsibleScrollView.js +13 -24
  19. package/lib/commonjs/components/scrollable/CollapsibleScrollView.js.map +1 -1
  20. package/lib/commonjs/components/scrollable/useAnimatedScroll.js +9 -18
  21. package/lib/commonjs/components/scrollable/useAnimatedScroll.js.map +1 -1
  22. package/lib/commonjs/hooks/useCollapsibleContext.js +1 -6
  23. package/lib/commonjs/hooks/useCollapsibleContext.js.map +1 -1
  24. package/lib/commonjs/hooks/useCollapsibleHeaderContext.js +1 -6
  25. package/lib/commonjs/hooks/useCollapsibleHeaderContext.js.map +1 -1
  26. package/lib/commonjs/hooks/useInternalCollapsibleContext.js +1 -6
  27. package/lib/commonjs/hooks/useInternalCollapsibleContext.js.map +1 -1
  28. package/lib/commonjs/hooks/useKeyboardShowEvent.js +0 -4
  29. package/lib/commonjs/hooks/useKeyboardShowEvent.js.map +1 -1
  30. package/lib/commonjs/index.js +12 -33
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/types.js.map +1 -1
  33. package/lib/commonjs/utils/debounce.js +8 -7
  34. package/lib/commonjs/utils/debounce.js.map +1 -1
  35. package/lib/commonjs/withCollapsibleContext.js +31 -44
  36. package/lib/commonjs/withCollapsibleContext.js.map +1 -1
  37. package/lib/module/components/CollapsibleContainer.js +11 -14
  38. package/lib/module/components/CollapsibleContainer.js.map +1 -1
  39. package/lib/module/components/CollapsibleView.js +38 -35
  40. package/lib/module/components/CollapsibleView.js.map +1 -1
  41. package/lib/module/components/header/AnimatedTopView.js +4 -3
  42. package/lib/module/components/header/AnimatedTopView.js.map +1 -1
  43. package/lib/module/components/header/CollapsibleHeaderConsumer.js +12 -9
  44. package/lib/module/components/header/CollapsibleHeaderConsumer.js.map +1 -1
  45. package/lib/module/components/header/CollapsibleHeaderContainer.js +5 -4
  46. package/lib/module/components/header/CollapsibleHeaderContainer.js.map +1 -1
  47. package/lib/module/components/header/CollapsibleHeaderProvider.js +6 -6
  48. package/lib/module/components/header/CollapsibleHeaderProvider.js.map +1 -1
  49. package/lib/module/components/header/StickyView.js +11 -10
  50. package/lib/module/components/header/StickyView.js.map +1 -1
  51. package/lib/module/components/scrollable/CollapsibleFlatList.js +12 -13
  52. package/lib/module/components/scrollable/CollapsibleFlatList.js.map +1 -1
  53. package/lib/module/components/scrollable/CollapsibleScrollView.js +13 -12
  54. package/lib/module/components/scrollable/CollapsibleScrollView.js.map +1 -1
  55. package/lib/module/components/scrollable/useAnimatedScroll.js +8 -10
  56. package/lib/module/components/scrollable/useAnimatedScroll.js.map +1 -1
  57. package/lib/module/hooks/useCollapsibleContext.js +0 -2
  58. package/lib/module/hooks/useCollapsibleContext.js.map +1 -1
  59. package/lib/module/hooks/useCollapsibleHeaderContext.js +0 -2
  60. package/lib/module/hooks/useCollapsibleHeaderContext.js.map +1 -1
  61. package/lib/module/hooks/useInternalCollapsibleContext.js +0 -2
  62. package/lib/module/hooks/useInternalCollapsibleContext.js.map +1 -1
  63. package/lib/module/hooks/useKeyboardShowEvent.js.map +1 -1
  64. package/lib/module/index.js +0 -1
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/types.js.map +1 -1
  67. package/lib/module/utils/debounce.js +8 -6
  68. package/lib/module/utils/debounce.js.map +1 -1
  69. package/lib/module/withCollapsibleContext.js +30 -34
  70. package/lib/module/withCollapsibleContext.js.map +1 -1
  71. package/lib/typescript/components/CollapsibleContainer.d.ts +4 -2
  72. package/lib/typescript/components/CollapsibleContainer.d.ts.map +1 -0
  73. package/lib/typescript/components/CollapsibleView.d.ts +6 -5
  74. package/lib/typescript/components/CollapsibleView.d.ts.map +1 -0
  75. package/lib/typescript/components/header/AnimatedTopView.d.ts +4 -2
  76. package/lib/typescript/components/header/AnimatedTopView.d.ts.map +1 -0
  77. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts +3 -1
  78. package/lib/typescript/components/header/CollapsibleHeaderConsumer.d.ts.map +1 -0
  79. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts +2 -1
  80. package/lib/typescript/components/header/CollapsibleHeaderContainer.d.ts.map +1 -0
  81. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts +3 -2
  82. package/lib/typescript/components/header/CollapsibleHeaderProvider.d.ts.map +1 -0
  83. package/lib/typescript/components/header/StickyView.d.ts +4 -2
  84. package/lib/typescript/components/header/StickyView.d.ts.map +1 -0
  85. package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts +4 -2
  86. package/lib/typescript/components/scrollable/CollapsibleFlatList.d.ts.map +1 -0
  87. package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts +4 -3
  88. package/lib/typescript/components/scrollable/CollapsibleScrollView.d.ts.map +1 -0
  89. package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts +2 -1
  90. package/lib/typescript/components/scrollable/useAnimatedScroll.d.ts.map +1 -0
  91. package/lib/typescript/hooks/useCollapsibleContext.d.ts +1 -0
  92. package/lib/typescript/hooks/useCollapsibleContext.d.ts.map +1 -0
  93. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts +3 -2
  94. package/lib/typescript/hooks/useCollapsibleHeaderContext.d.ts.map +1 -0
  95. package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts +1 -0
  96. package/lib/typescript/hooks/useInternalCollapsibleContext.d.ts.map +1 -0
  97. package/lib/typescript/hooks/useKeyboardShowEvent.d.ts +1 -0
  98. package/lib/typescript/hooks/useKeyboardShowEvent.d.ts.map +1 -0
  99. package/lib/typescript/index.d.ts +1 -1
  100. package/lib/typescript/index.d.ts.map +1 -0
  101. package/lib/typescript/types.d.ts +8 -7
  102. package/lib/typescript/types.d.ts.map +1 -0
  103. package/lib/typescript/utils/debounce.d.ts +1 -0
  104. package/lib/typescript/utils/debounce.d.ts.map +1 -0
  105. package/lib/typescript/withCollapsibleContext.d.ts +3 -2
  106. package/lib/typescript/withCollapsibleContext.d.ts.map +1 -0
  107. package/package.json +39 -34
  108. package/src/components/CollapsibleView.tsx +13 -6
  109. package/src/components/header/CollapsibleHeaderConsumer.tsx +2 -1
  110. package/src/components/header/StickyView.tsx +3 -4
  111. package/src/index.tsx +0 -1
  112. package/src/withCollapsibleContext.tsx +30 -26
  113. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js +0 -75
  114. package/lib/commonjs/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  115. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js +0 -35
  116. package/lib/commonjs/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  117. package/lib/commonjs/components/pullToRefresh/RefreshControl.js +0 -91
  118. package/lib/commonjs/components/pullToRefresh/RefreshControl.js.map +0 -1
  119. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js +0 -24
  120. package/lib/commonjs/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  121. package/lib/commonjs/components/pullToRefresh/utils.js +0 -59
  122. package/lib/commonjs/components/pullToRefresh/utils.js.map +0 -1
  123. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js +0 -56
  124. package/lib/module/components/pullToRefresh/PullToRefreshContainer.js.map +0 -1
  125. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js +0 -21
  126. package/lib/module/components/pullToRefresh/PullToRefreshProvider.js.map +0 -1
  127. package/lib/module/components/pullToRefresh/RefreshControl.js +0 -73
  128. package/lib/module/components/pullToRefresh/RefreshControl.js.map +0 -1
  129. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js +0 -13
  130. package/lib/module/components/pullToRefresh/usePullToRefreshContext.js.map +0 -1
  131. package/lib/module/components/pullToRefresh/utils.js +0 -42
  132. package/lib/module/components/pullToRefresh/utils.js.map +0 -1
  133. package/lib/typescript/components/pullToRefresh/PullToRefreshContainer.d.ts +0 -8
  134. package/lib/typescript/components/pullToRefresh/PullToRefreshProvider.d.ts +0 -6
  135. package/lib/typescript/components/pullToRefresh/RefreshControl.d.ts +0 -9
  136. package/lib/typescript/components/pullToRefresh/usePullToRefreshContext.d.ts +0 -4
  137. package/lib/typescript/components/pullToRefresh/utils.d.ts +0 -20
  138. package/src/components/pullToRefresh/PullToRefreshContainer.tsx +0 -66
  139. package/src/components/pullToRefresh/PullToRefreshProvider.tsx +0 -27
  140. package/src/components/pullToRefresh/RefreshControl.tsx +0 -100
  141. package/src/components/pullToRefresh/usePullToRefreshContext.ts +0 -13
  142. package/src/components/pullToRefresh/utils.ts +0 -49
@@ -1 +1 @@
1
- {"version":3,"sources":["useAnimatedScroll.ts"],"names":["useCallback","useEffect","Dimensions","runOnJS","useAnimatedScrollHandler","useSharedValue","useCollapsibleContext","useInternalCollapsibleContext","height","wHeight","get","useAnimatedScroll","headerSnappable","scrollTo","scrollToIndex","scrollDirection","scrollY","setCollapsibleHandlers","firstStickyViewY","fixedHeaderHeight","value","requestAnimationFrame","collapse","animated","Math","min","expand","scrollHandler","onScroll","event","offset","contentOffset","y","diff","onEndDrag","maxY","delta","abs","yValue"],"mappings":"AAAA;AACA,SAASA,WAAT,EAAsBC,SAAtB,QAAuC,OAAvC;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SACEC,OADF,EAEEC,wBAFF,EAGEC,cAHF,QAIO,yBAJP;AAMA,OAAOC,qBAAP,MAAkC,mCAAlC;AACA,OAAOC,6BAAP,MAA0C,2CAA1C;AAEA,MAAM;AAAEC,EAAAA,MAAM,EAAEC;AAAV,IAAsBP,UAAU,CAACQ,GAAX,CAAe,QAAf,CAA5B;AAQA,eAAe,SAASC,iBAAT,CAA2B;AACxCC,EAAAA,eADwC;AAExCC,EAAAA,QAFwC;AAGxCC,EAAAA;AAHwC,CAA3B,EAIL;AACR,QAAMC,eAAe,GAAGV,cAAc,CAAC,SAAD,CAAtC;AACA,QAAM;AAAEW,IAAAA;AAAF,MAAcV,qBAAqB,EAAzC;AACA,QAAM;AAAEW,IAAAA,sBAAF;AAA0BC,IAAAA,gBAA1B;AAA4CC,IAAAA;AAA5C,MACJZ,6BAA6B,EAD/B;AAGAN,EAAAA,SAAS,CAAC,MAAM;AACd,QAAIe,OAAO,CAACI,KAAR,GAAgB,CAApB,EAAuB;AACrBC,MAAAA,qBAAqB,CAAC,MAAMR,QAAQ,CAACG,OAAO,CAACI,KAAT,EAAgB,KAAhB,CAAf,CAArB;AACD;AACF,GAJQ,EAIN,EAJM,CAAT;AAMA,QAAME,QAAQ,GAAGtB,WAAW,CAC1B,CAACuB,QAAQ,GAAG,IAAZ,KAAqB;AACnBV,IAAAA,QAAQ,CACNW,IAAI,CAACC,GAAL,CAASN,iBAAiB,CAACC,KAAlB,IAA2B,CAApC,EAAuCF,gBAAgB,CAACE,KAAjB,IAA0B,CAAjE,CADM,EAENG,QAFM,CAAR;AAID,GANyB,EAO1B,CAACV,QAAD,CAP0B,CAA5B;AAUA,QAAMa,MAAM,GAAG1B,WAAW,CAAC,MAAMa,QAAQ,CAAC,CAAD,CAAf,EAAoB,CAACA,QAAD,CAApB,CAA1B;AAEAZ,EAAAA,SAAS,CAAC,MAAM;AACdgB,IAAAA,sBAAsB,CAAC;AACrBK,MAAAA,QADqB;AAErBI,MAAAA,MAFqB;AAGrBb,MAAAA,QAHqB;AAIrBC,MAAAA;AAJqB,KAAD,CAAtB;AAMD,GAPQ,EAON,CAACG,sBAAD,EAAyBK,QAAzB,EAAmCI,MAAnC,EAA2Cb,QAA3C,EAAqDC,aAArD,CAPM,CAAT;AASA,QAAMa,aAAa,GAAGvB,wBAAwB,CAC5C;AACEwB,IAAAA,QAAQ,EAAGC,KAAD,IAAW;AACnB,YAAMC,MAAM,GAAGD,KAAK,CAACE,aAAN,CAAoBC,CAAnC;AACA,YAAMC,IAAI,GAAGjB,OAAO,CAACI,KAAR,GAAgBU,MAA7B;AACAf,MAAAA,eAAe,CAACK,KAAhB,GAAwBa,IAAI,GAAG,CAAP,GAAW,MAAX,GAAoBA,IAAI,GAAG,CAAP,GAAW,IAAX,GAAkB,SAA9D;AACAjB,MAAAA,OAAO,CAACI,KAAR,GAAgBU,MAAhB;AACD,KANH;AAOEI,IAAAA,SAAS,EAAE,MAAM;AACf,UAAI,CAACtB,eAAL,EAAsB;AACtB,YAAMuB,IAAI,GACRjB,gBAAgB,CAACE,KAAjB,IAA0BF,gBAAgB,CAACE,KAAjB,GAAyB,CAAnD,GACIF,gBAAgB,CAACE,KADrB,GAEID,iBAAiB,CAACC,KAAlB,IAA2B,CAHjC;;AAKA,UAAIJ,OAAO,CAACI,KAAR,GAAgBe,IAApB,EAA0B;AACxB,cAAMC,KAAK,GAAGZ,IAAI,CAACa,GAAL,CAASrB,OAAO,CAACI,KAAR,GAAgBe,IAAzB,CAAd;;AACA,YAAIC,KAAK,GAAG3B,OAAO,GAAG,CAAtB,EAAyB;AACvB,cAAI6B,MAAM,GAAG,CAAb;;AACA,cAAIvB,eAAe,CAACK,KAAhB,KAA0B,IAA9B,EAAoC;AAClCkB,YAAAA,MAAM,GAAGH,IAAT;AACD;;AACDhC,UAAAA,OAAO,CAACU,QAAD,CAAP,CAAkByB,MAAlB;AACD;AACF;AACF;AAxBH,GAD4C,EA2B5C,CAACzB,QAAD,CA3B4C,CAA9C;AA8BA,SAAO;AACLc,IAAAA,aADK;AAELL,IAAAA,QAFK;AAGLI,IAAAA;AAHK,GAAP;AAKD","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useCallback, useEffect } from 'react';\nimport { Dimensions } from 'react-native';\nimport {\n runOnJS,\n useAnimatedScrollHandler,\n useSharedValue,\n} from 'react-native-reanimated';\nimport type { ScrollToIndexParams } from '../../types';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\n\nconst { height: wHeight } = Dimensions.get('window');\n\ntype Props = {\n headerSnappable: boolean;\n scrollTo: (yValue: number, animated?: boolean) => void;\n scrollToIndex: (params: ScrollToIndexParams) => void;\n};\n\nexport default function useAnimatedScroll({\n headerSnappable,\n scrollTo,\n scrollToIndex,\n}: Props) {\n const scrollDirection = useSharedValue('unknown');\n const { scrollY } = useCollapsibleContext();\n const { setCollapsibleHandlers, firstStickyViewY, fixedHeaderHeight } =\n useInternalCollapsibleContext();\n\n useEffect(() => {\n if (scrollY.value > 0) {\n requestAnimationFrame(() => scrollTo(scrollY.value, false));\n }\n }, []);\n\n const collapse = useCallback(\n (animated = true) => {\n scrollTo(\n Math.min(fixedHeaderHeight.value || 0, firstStickyViewY.value || 0),\n animated\n );\n },\n [scrollTo]\n );\n\n const expand = useCallback(() => scrollTo(0), [scrollTo]);\n\n useEffect(() => {\n setCollapsibleHandlers({\n collapse,\n expand,\n scrollTo,\n scrollToIndex,\n });\n }, [setCollapsibleHandlers, collapse, expand, scrollTo, scrollToIndex]);\n\n const scrollHandler = useAnimatedScrollHandler(\n {\n onScroll: (event) => {\n const offset = event.contentOffset.y;\n const diff = scrollY.value - offset;\n scrollDirection.value = diff > 0 ? 'down' : diff < 0 ? 'up' : 'unknown';\n scrollY.value = offset;\n },\n onEndDrag: () => {\n if (!headerSnappable) return;\n const maxY =\n firstStickyViewY.value && firstStickyViewY.value > 0\n ? firstStickyViewY.value\n : fixedHeaderHeight.value || 0;\n\n if (scrollY.value < maxY) {\n const delta = Math.abs(scrollY.value - maxY);\n if (delta < wHeight / 2) {\n let yValue = 0;\n if (scrollDirection.value === 'up') {\n yValue = maxY;\n }\n runOnJS(scrollTo)(yValue);\n }\n }\n },\n },\n [scrollTo]\n );\n\n return {\n scrollHandler,\n collapse,\n expand,\n };\n}\n"]}
1
+ {"version":3,"names":["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,"sources":["useCollapsibleContext.ts"],"names":["createContext","useContext","CollapsibleContext","useCollapsibleContext","ctx","Error"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAGA;AACA,OAAO,MAAMC,kBAAkB,gBAAGF,aAAa,CAAyB,EAAzB,CAAxC;AAEP,eAAe,SAASG,qBAAT,GAAiC;AAC9C,QAAMC,GAAG,GAAGH,UAAU,CAACC,kBAAD,CAAtB;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,yDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, useContext } from 'react';\nimport type { CollapsibleContextType } from '../types';\n\n// @ts-ignore\nexport const CollapsibleContext = createContext<CollapsibleContextType>({});\n\nexport default function useCollapsibleContext() {\n const ctx = useContext(CollapsibleContext);\n if (!ctx) {\n throw new Error('Component should be wrapped with withCollapsibleContext');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["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,"sources":["useCollapsibleHeaderContext.ts"],"names":["createContext","useContext","CollapsibleHeaderContext","useCollapsibleHeaderContext","ctx","Error"],"mappings":"AAAA,SAASA,aAAT,EAAmCC,UAAnC,QAAqD,OAArD;AAWA,OAAO,MAAMC,wBAAwB;AAAA;AACnC;AACAF,aAAa,CAA+B,EAA/B,CAFR;AAIP,eAAe,SAASG,2BAAT,GAAuC;AACpD,QAAMC,GAAG,GAAGH,UAAU,CAACC,wBAAD,CAAtB;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,uDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, ReactNode, useContext } from 'react';\n\nexport type HeaderItem = { key: string; children: ReactNode };\n\ntype CollapsibleContextHeaderType = {\n headers: HeaderItem[];\n mount: (key: string, header: ReactNode) => void;\n update: (key: string, header: ReactNode) => void;\n unmount: (key: string) => void;\n};\n\nexport const CollapsibleHeaderContext =\n // @ts-ignore\n createContext<CollapsibleContextHeaderType>({});\n\nexport default function useCollapsibleHeaderContext() {\n const ctx = useContext(CollapsibleHeaderContext);\n if (!ctx) {\n throw new Error('Component should be wrapped CollapsibleHeaderProvider');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["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,"sources":["useInternalCollapsibleContext.ts"],"names":["createContext","useContext","InternalCollapsibleContext","useInternalCollapsibleContext","ctx","Error"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAGA,OAAO,MAAMC,0BAA0B;AAAA;AACrC;AACAF,aAAa,EAFR;AAIP,eAAe,SAASG,6BAAT,GAAyC;AACtD,QAAMC,GAAG,GAAGH,UAAU,CAACC,0BAAD,CAAtB;;AACA,MAAI,CAACE,GAAL,EAAU;AACR,UAAM,IAAIC,KAAJ,CAAU,yDAAV,CAAN;AACD;;AACD,SAAOD,GAAP;AACD","sourcesContent":["import { createContext, useContext } from 'react';\nimport type { CollapsibleContextInternalType } from '../types';\n\nexport const InternalCollapsibleContext =\n // @ts-ignore\n createContext<CollapsibleContextInternalType>();\n\nexport default function useInternalCollapsibleContext() {\n const ctx = useContext(InternalCollapsibleContext);\n if (!ctx) {\n throw new Error('Component should be wrapped with withCollapsibleContext');\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"names":["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,"sources":["useKeyboardShowEvent.ts"],"names":["useEffect","useRef","Keyboard","useKeyboardShowEvent","callback","savedCallback","current","subscription","addListener","remove"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,eAAe,SAASC,oBAAT,CAA8BC,QAA9B,EAAoD;AACjE,QAAMC,aAAa,GAAGJ,MAAM,CAACG,QAAD,CAA5B;AAEAJ,EAAAA,SAAS,CAAC,MAAM;AACdK,IAAAA,aAAa,CAACC,OAAd,GAAwBF,QAAxB;AACD,GAFQ,EAEN,CAACA,QAAD,CAFM,CAAT;AAIAJ,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMO,YAAY,GAAGL,QAAQ,CAACM,WAAT,CAAqB,iBAArB,EAAwC,MAAM;AACjE,UAAIH,aAAa,CAACC,OAAlB,EAA2B;AACzBD,QAAAA,aAAa,CAACC,OAAd;AACD;AACF,KAJoB,CAArB;AAMA,WAAO,MAAM;AACXC,MAAAA,YAAY,CAACE,MAAb;AACD,KAFD;AAGD,GAVQ,EAUN,EAVM,CAAT;AAWD","sourcesContent":["import { useEffect, useRef } from 'react';\nimport { Keyboard } from 'react-native';\n\nexport default function useKeyboardShowEvent(callback: () => void) {\n const savedCallback = useRef(callback);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const subscription = Keyboard.addListener('keyboardDidShow', () => {\n if (savedCallback.current) {\n savedCallback.current();\n }\n });\n\n return () => {\n subscription.remove();\n };\n }, []);\n}\n"]}
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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["default","withCollapsibleContext","useCollapsibleContext","CollapsibleContainer","CollapsibleFlatList","CollapsibleScrollView","CollapsibleHeaderContainer","StickyView","RefreshControl","CollapsibleView"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAApB,QAAkD,0BAAlD;AACA,SAASD,OAAO,IAAIE,qBAApB,QAAiD,+BAAjD;AAEA,SAASF,OAAO,IAAIG,oBAApB,QAAgD,mCAAhD;AACA,SAASH,OAAO,IAAII,mBAApB,QAA+C,6CAA/C;AACA,SAASJ,OAAO,IAAIK,qBAApB,QAAiD,+CAAjD;AACA,SAASL,OAAO,IAAIM,0BAApB,QAAsD,gDAAtD;AACA,SAASN,OAAO,IAAIO,UAApB,QAAsC,gCAAtC;AACA,SAASP,OAAO,IAAIQ,cAApB,QAA0C,2CAA1C;AACA,SAASR,OAAO,IAAIS,eAApB,QAA2C,8BAA3C;AACA,cAAc,8BAAd","sourcesContent":["export { default as withCollapsibleContext } from './withCollapsibleContext';\nexport { default as useCollapsibleContext } from './hooks/useCollapsibleContext';\n\nexport { default as CollapsibleContainer } from './components/CollapsibleContainer';\nexport { default as CollapsibleFlatList } from './components/scrollable/CollapsibleFlatList';\nexport { default as CollapsibleScrollView } from './components/scrollable/CollapsibleScrollView';\nexport { default as CollapsibleHeaderContainer } from './components/header/CollapsibleHeaderContainer';\nexport { default as StickyView } from './components/header/StickyView';\nexport { default as RefreshControl } from './components/pullToRefresh/RefreshControl';\nexport { default as CollapsibleView } from './components/CollapsibleView';\nexport * from './components/CollapsibleView';\n"]}
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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
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, wait = 20) {
2
+ export function debounce(cb) {
3
+ let wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;
3
4
  let h = 0;
4
-
5
- let callable = (...args) => {
6
- clearTimeout(h); // @ts-ignore
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,"sources":["debounce.ts"],"names":["debounce","cb","wait","h","callable","args","clearTimeout","setTimeout"],"mappings":"AAAA;AACA,OAAO,SAASA,QAAT,CAAsCC,EAAtC,EAA6CC,IAAI,GAAG,EAApD,EAAwD;AAC7D,MAAIC,CAAC,GAAG,CAAR;;AACA,MAAIC,QAAQ,GAAG,CAAC,GAAGC,IAAJ,KAAkB;AAC/BC,IAAAA,YAAY,CAACH,CAAD,CAAZ,CAD+B,CAE/B;;AACAA,IAAAA,CAAC,GAAGI,UAAU,CAAC,MAAMN,EAAE,CAAC,GAAGI,IAAJ,CAAT,EAAoBH,IAApB,CAAd;AACD,GAJD;;AAKA,SAAgBE,QAAhB;AACD","sourcesContent":["// https://gist.github.com/ca0v/73a31f57b397606c9813472f7493a940\nexport function debounce<T extends Function>(cb: T, wait = 20) {\n let h = 0;\n let callable = (...args: any) => {\n clearTimeout(h);\n // @ts-ignore\n h = setTimeout(() => cb(...args), wait);\n };\n return <T>(<any>callable);\n}\n"]}
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 - stickyHeaderHeight.value;
30
+ return containerHeight.value + fixedHeaderHeight.value;
34
31
  }, []);
35
32
  useAnimatedReaction(() => {
36
33
  const totalHeight = Object.keys(stickyViewPositions.value).reduce((acc, item) => {
37
- return acc + stickyViewPositions.value[item].top;
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 headerHeight = fixedHeaderHeight.value;
46
- const sortedKeys = Object.keys(viewPositions).sort((a, b) => viewPositions[a].top - viewPositions[b].top);
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
- values[sortedKeys[i]] = totalTop; // Try minus 1 make it filled when scrolling up.
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( // @ts-ignore
66
+ viewRef.current.measureLayout(
67
+ // @ts-ignore
76
68
  containerRef.current, (left, top, width, height) => {
77
- stickyViewPositionsRef.current = { ...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
- delete stickyViewRefs.current[viewKey];
89
- delete stickyViewPositionsRef.current[viewKey];
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; // Try refresh sticky positions
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":"AAAA;;AACA;AACA,OAAOA,KAAP,IAAoBC,WAApB,EAAiCC,OAAjC,EAA0CC,MAA1C,QAAwD,OAAxD;AAEA,SAASC,kBAAT,QAAmC,+BAAnC;AACA,SAASC,0BAAT,QAA2C,uCAA3C;AACA,SACEC,mBADF,EAEEC,eAFF,EAGEC,cAHF,EAIEC,UAJF,QAKO,yBALP;AAOA,SAASC,QAAT,QAAyB,kBAAzB;AACA,OAAOC,yBAAP,MAAsC,+CAAtC;AAEA,eAAe,SAASC,sBAAT,CAAmCC,SAAnC,EAAqD;AAClE,SAAQC,KAAD,IAAc;AACnB,UAAMC,mBAAmB,GAAGZ,MAAM,EAAlC;AACA,UAAMa,YAAY,GAAGR,cAAc,CAAC,CAAD,CAAnC;AACA,UAAMS,OAAO,GAAGT,cAAc,CAAC,CAAD,CAA9B;AACA,UAAMU,cAAc,GAAGf,MAAM,CAAwC,EAAxC,CAA7B;AACA,UAAMgB,cAAc,GAAGX,cAAc,CAAyB,EAAzB,CAArC;AACA,UAAMY,sBAAsB,GAAGjB,MAAM,CAA+B,EAA/B,CAArC;AACA,UAAMkB,mBAAmB,GAAGb,cAAc,CACxC,EADwC,CAA1C;AAGA,UAAMc,iBAAiB,GAAGd,cAAc,CAAC,CAAD,CAAxC;AACA,UAAMe,kBAAkB,GAAGf,cAAc,CAAC,CAAD,CAAzC;AACA,UAAMgB,eAAe,GAAGhB,cAAc,CAAC,CAAD,CAAtC;AACA,UAAMiB,gBAAgB,GAAGjB,cAAc,CAAC,OAAD,CAAvC;AACA,UAAMkB,YAAY,GAAGvB,MAAM,CAAO,IAAP,CAA3B;AACA,UAAMwB,aAAa,GAAGxB,MAAM,CAAO,IAAP,CAA5B;AAEA,UAAMyB,sBAAsB,GAAG3B,WAAW,CAAE4B,QAAD,IAAc;AACvDd,MAAAA,mBAAmB,CAACe,OAApB,GAA8BD,QAA9B;AACD,KAFyC,EAEvC,EAFuC,CAA1C;AAIA,UAAME,eAAe,GAAGxB,eAAe,CAAC,MAAM;AAC5C,YAAMyB,IAAI,GAAGV,iBAAiB,CAACW,KAAlB,GAA0BR,gBAAgB,CAACQ,KAAxD;AACA,aAAOhB,OAAO,CAACgB,KAAR,IAAiBD,IAAxB;AACD,KAHsC,EAGpC,EAHoC,CAAvC;AAKA,UAAME,gBAAgB,GAAG3B,eAAe,CAAC,MAAM;AAC7C,aACEiB,eAAe,CAACS,KAAhB,GACAX,iBAAiB,CAACW,KADlB,GAEAV,kBAAkB,CAACU,KAHrB;AAKD,KANuC,EAMrC,EANqC,CAAxC;AAQA3B,IAAAA,mBAAmB,CACjB,MAAM;AACJ,YAAM6B,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYhB,mBAAmB,CAACY,KAAhC,EAAuCK,MAAvC,CAClB,CAACC,GAAD,EAAMC,IAAN,KAAe;AACb,eAAOD,GAAG,GAAGlB,mBAAmB,CAACY,KAApB,CAA0BO,IAA1B,EAAgCC,GAA7C;AACD,OAHiB,EAIlB,CAJkB,CAApB;AAMA,aAAON,WAAW,GAAGb,iBAAiB,CAACW,KAAvC;AACD,KATgB,EAUjB,CAACS,MAAD,EAASC,QAAT,KAAsB;AACpB,UAAID,MAAM,KAAKC,QAAf,EAAyB;AAAA;;AACvB,cAAMC,aAAa,GAAGvB,mBAAmB,CAACY,KAA1C;AACA,cAAMjB,YAAY,GAAGM,iBAAiB,CAACW,KAAvC;AACA,cAAMY,UAAU,GAAGT,MAAM,CAACC,IAAP,CAAYO,aAAZ,EAA2BE,IAA3B,CACjB,CAACC,CAAD,EAAIC,CAAJ,KAAUJ,aAAa,CAACG,CAAD,CAAb,CAAiBN,GAAjB,GAAuBG,aAAa,CAACI,CAAD,CAAb,CAAiBP,GADjC,CAAnB;AAGA,YAAIQ,QAAQ,GAAG,CAAf;AACA,cAAMC,MAAW,GAAG,EAApB;;AACA,aAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,UAAU,CAACO,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AAC1CD,UAAAA,MAAM,CAACL,UAAU,CAACM,CAAD,CAAX,CAAN,GAAwBF,QAAxB,CAD0C,CAE1C;AACA;;AACAA,UAAAA,QAAQ,IAAIL,aAAa,CAACC,UAAU,CAACM,CAAD,CAAX,CAAb,CAA6BE,MAA7B,GAAsC,CAAlD;AACD;;AACDlC,QAAAA,cAAc,CAACc,KAAf,GAAuBiB,MAAvB;AACAzB,QAAAA,gBAAgB,CAACQ,KAAjB,GAAyB,0BAAAW,aAAa,CAACC,UAAU,CAAC,CAAD,CAAX,CAAb,gFAA8BJ,GAA9B,KAAqC,CAA9D;AACA,cAAMa,YAAY,GAAGT,UAAU,CAACP,MAAX,CAAkB,CAACC,GAAD,EAAMgB,GAAN,KAAc;AACnD,gBAAMC,IAAI,GAAGZ,aAAa,CAACW,GAAD,CAA1B;AACA,gBAAME,cAAc,GAAGD,IAAI,CAACf,GAAL,GAAWzB,YAAlC;;AACA,cAAIyC,cAAJ,EAAoB;AAClB,mBAAOlB,GAAG,GAAGiB,IAAI,CAACH,MAAlB;AACD;;AACD,iBAAOd,GAAP;AACD,SAPoB,EAOlB,CAPkB,CAArB;AAQAhB,QAAAA,kBAAkB,CAACU,KAAnB,GAA2BqB,YAA3B;AACD;AACF,KArCgB,CAAnB;AAwCA,UAAMI,sBAAsB,GAAGzD,WAAW,CACxC,CAAC0D,OAAD,EAAkBC,OAAlB,KAAsD;AACpD,UAAIA,OAAO,IAAIA,OAAO,CAAC9B,OAAnB,IAA8BJ,YAAY,CAACI,OAA/C,EAAwD;AACtDZ,QAAAA,cAAc,CAACY,OAAf,CAAuB6B,OAAvB,IAAkCC,OAAlC;AACAA,QAAAA,OAAO,CAAC9B,OAAR,CAAgB+B,aAAhB,EACE;AACAnC,QAAAA,YAAY,CAACI,OAFf,EAGE,CAACgC,IAAD,EAAOrB,GAAP,EAAYsB,KAAZ,EAAmBV,MAAnB,KAA8B;AAC5BjC,UAAAA,sBAAsB,CAACU,OAAvB,GAAiC,EAC/B,GAAGV,sBAAsB,CAACU,OADK;AAE/B,aAAC6B,OAAD,GAAW;AAAEG,cAAAA,IAAF;AAAQrB,cAAAA,GAAR;AAAasB,cAAAA,KAAb;AAAoBV,cAAAA;AAApB;AAFoB,WAAjC;AAIAhC,UAAAA,mBAAmB,CAACY,KAApB,GAA4Bb,sBAAsB,CAACU,OAAnD;AACD,SATH,EAUE,MAAM,CAAE,CAVV;AAYD,OAdD,MAcO;AACL,eAAOZ,cAAc,CAACY,OAAf,CAAuB6B,OAAvB,CAAP;AACA,eAAOvC,sBAAsB,CAACU,OAAvB,CAA+B6B,OAA/B,CAAP;AACAtC,QAAAA,mBAAmB,CAACY,KAApB,GAA4Bb,sBAAsB,CAACU,OAAnD;AACD;AACF,KArBuC,EAsBxC,EAtBwC,CAA1C;AAyBA,UAAMkC,8BAA8B,GAAG9D,OAAO,CAAC,MAAM;AACnD,aAAOQ,QAAQ,CAAC,MAAM;AACpB0B,QAAAA,MAAM,CAACC,IAAP,CAAYnB,cAAc,CAACY,OAA3B,EAAoCmC,OAApC,CAA6CV,GAAD,IAAS;AACnD,gBAAMK,OAAO,GAAG1C,cAAc,CAACY,OAAf,CAAuByB,GAAvB,CAAhB;;AACA,cAAIK,OAAJ,EAAa;AACXF,YAAAA,sBAAsB,CAACH,GAAD,EAAMK,OAAN,CAAtB;AACD;AACF,SALD;AAMD,OAPc,EAOZ,GAPY,CAAf;AAQD,KAT6C,EAS3C,EAT2C,CAA9C;AAWA,UAAMM,2BAA2B,GAAGjE,WAAW,CAAEoD,MAAD,IAAoB;AAClErC,MAAAA,YAAY,CAACiB,KAAb,GAAqBxB,UAAU,CAAC4C,MAAD,EAAS;AACtCc,QAAAA,QAAQ,EAAE7C,iBAAiB,CAACW,KAAlB,KAA4B,CAA5B,GAAgC,CAAhC,GAAoC;AADR,OAAT,CAA/B;AAGAX,MAAAA,iBAAiB,CAACW,KAAlB,GAA0BoB,MAA1B,CAJkE,CAKlE;;AACAW,MAAAA,8BAA8B;AAC/B,KAP8C,EAO5C,EAP4C,CAA/C;AASA,UAAMI,qBAAqB,GAAGnE,WAAW,CAAEoD,MAAD,IAAoB;AAC5D7B,MAAAA,eAAe,CAACS,KAAhB,GAAwBoB,MAAxB;AACD,KAFwC,EAEtC,EAFsC,CAAzC;AAIA,UAAMgB,OAAO,GAAGnE,OAAO,CAAC,MAAM;AAC5B,aAAO;AACLoE,QAAAA,QAAQ,EAAGC,QAAD;AAAA;;AAAA,0CACRxD,mBAAmB,CAACe,OADZ,0DACR,sBAA6BwC,QAA7B,CAAsCC,QAAtC,CADQ;AAAA,SADL;AAGLC,QAAAA,MAAM,EAAE;AAAA;;AAAA,2CAAMzD,mBAAmB,CAACe,OAA1B,2DAAM,uBAA6B0C,MAA7B,EAAN;AAAA,SAHH;AAILC,QAAAA,QAAQ,EAAE,CAACC,MAAD,EAAiBC,OAAjB;AAAA;;AAAA,2CACR5D,mBAAmB,CAACe,OADZ,2DACR,uBAA6B2C,QAA7B,CAAsCC,MAAtC,EAA8CC,OAA9C,CADQ;AAAA,SAJL;AAMLC,QAAAA,aAAa,EAAGC,MAAD;AAAA;;AAAA,2CACb9D,mBAAmB,CAACe,OADP,2DACb,uBAA6B8C,aAA7B,CAA2CC,MAA3C,CADa;AAAA,SANV;AAQL7D,QAAAA,YARK;AASLC,QAAAA,OATK;AAULc,QAAAA;AAVK,OAAP;AAYD,KAbsB,EAapB,CAACd,OAAD,EAAUD,YAAV,EAAwBe,eAAxB,CAboB,CAAvB;AAeA,UAAM+C,eAAe,GAAG5E,OAAO,CAC7B,OAAO;AACLyB,MAAAA,aADK;AAELD,MAAAA,YAFK;AAGLgC,MAAAA,sBAHK;AAILQ,MAAAA,2BAJK;AAKLtC,MAAAA,sBALK;AAMLwC,MAAAA,qBANK;AAOL3C,MAAAA,gBAPK;AAQLN,MAAAA,cARK;AASLE,MAAAA,mBATK;AAULC,MAAAA,iBAVK;AAWLY,MAAAA;AAXK,KAAP,CAD6B,EAc7B,CACEN,sBADF,EAEE8B,sBAFF,EAGEQ,2BAHF,EAIEE,qBAJF,EAKE3C,gBALF,EAMEN,cANF,EAOEE,mBAPF,EAQEC,iBARF,EASEY,gBATF,CAd6B,CAA/B;AA2BA,wBACE,oBAAC,kBAAD,CAAoB,QAApB;AAA6B,MAAA,KAAK,EAAEmC;AAApC,oBACE,oBAAC,0BAAD,CAA4B,QAA5B;AAAqC,MAAA,KAAK,EAAES;AAA5C,oBACE,oBAAC,yBAAD,qBAEE,oBAAC,SAAD,EAAehE,KAAf,CAFF,CADF,CADF,CADF;AAUD,GA/KD;AAgLD","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
- declare type Props = Omit<ViewProps, 'ref' | 'onLayout'> & {
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 declare type CollapsibleHeaderProps = {
4
+ export type CollapsibleHeaderProps = {
5
5
  onToggle: () => void;
6
6
  collapsed: Animated.SharedValue<number>;
7
7
  };
8
- declare type Props = {
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
- declare type Props = {
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"}
@@ -1 +1,3 @@
1
- export default function CollapsibleHeaderConsumer(): JSX.Element;
1
+ import React from 'react';
2
+ export default function CollapsibleHeaderConsumer(): React.JSX.Element;
3
+ //# sourceMappingURL=CollapsibleHeaderConsumer.d.ts.map
@@ -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
- declare type Props = {
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
- declare type Props = {
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
- declare type Props<Data> = Omit<FlatListProps<Data>, 'scrollEnabled'> & CollapsibleProps;
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
- declare type Props = ScrollViewProps & CollapsibleProps & {
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
- declare type Props = {
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 declare type HeaderItem = {
2
+ export type HeaderItem = {
3
3
  key: string;
4
4
  children: ReactNode;
5
5
  };
6
- declare type CollapsibleContextHeaderType = {
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"}
@@ -1 +1,2 @@
1
1
  export default function useKeyboardShowEvent(callback: () => void): void;
2
+ //# sourceMappingURL=useKeyboardShowEvent.d.ts.map
@@ -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"}