@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
package/LICENSE CHANGED
@@ -1,7 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 Tuan Luong
4
-
3
+ Copyright (c) 2023 Tuan Luong
5
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
5
  of this software and associated documentation files (the "Software"), to deal
7
6
  in the Software without restriction, including without limitation the rights
@@ -4,33 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleContainer;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _useKeyboardShowEvent = _interopRequireDefault(require("../hooks/useKeyboardShowEvent"));
13
-
14
10
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../hooks/useInternalCollapsibleContext"));
15
-
16
11
  var _useCollapsibleContext = _interopRequireDefault(require("../hooks/useCollapsibleContext"));
17
-
18
12
  var _CollapsibleHeaderConsumer = _interopRequireDefault(require("./header/CollapsibleHeaderConsumer"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
- function CollapsibleContainer({
29
- children,
30
- keyboardAvoidingViewProps,
31
- textInputRefs = [],
32
- ...props
33
- }) {
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable react-hooks/exhaustive-deps */
17
+ function CollapsibleContainer(_ref) {
18
+ let {
19
+ children,
20
+ keyboardAvoidingViewProps,
21
+ textInputRefs = [],
22
+ ...props
23
+ } = _ref;
34
24
  const {
35
25
  containerRef,
36
26
  handleContainerHeight
@@ -44,19 +34,16 @@ function CollapsibleContainer({
44
34
  textInputRefs.some(ref => {
45
35
  const isFocusedFunc = ref.current.isFocused;
46
36
  const isFocused = isFocusedFunc && typeof isFocusedFunc === 'function' ? isFocusedFunc() : isFocusedFunc;
47
-
48
37
  if (isFocused) {
49
- ref.current.measureLayout( // @ts-ignore
38
+ ref.current.measureLayout(
39
+ // @ts-ignore
50
40
  containerRef.current, (_left, top, _width, height) => {
51
41
  if (top + height - scrollY.value > containerHeight.current) {
52
- var _keyboardAvoidingView;
53
-
54
- const extraOffset = (_keyboardAvoidingView = keyboardAvoidingViewProps === null || keyboardAvoidingViewProps === void 0 ? void 0 : keyboardAvoidingViewProps.keyboardVerticalOffset) !== null && _keyboardAvoidingView !== void 0 ? _keyboardAvoidingView : 20;
42
+ const extraOffset = (keyboardAvoidingViewProps === null || keyboardAvoidingViewProps === void 0 ? void 0 : keyboardAvoidingViewProps.keyboardVerticalOffset) ?? 20;
55
43
  scrollTo(top + height + extraOffset - containerHeight.current);
56
44
  }
57
45
  }, () => {});
58
46
  }
59
-
60
47
  return isFocused;
61
48
  });
62
49
  });
@@ -75,7 +62,6 @@ function CollapsibleContainer({
75
62
  collapsable: false
76
63
  }), children, /*#__PURE__*/_react.default.createElement(_CollapsibleHeaderConsumer.default, null)));
77
64
  }
78
-
79
65
  const styles = _reactNative.StyleSheet.create({
80
66
  container: {
81
67
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleContainer.tsx"],"names":["CollapsibleContainer","children","keyboardAvoidingViewProps","textInputRefs","props","containerRef","handleContainerHeight","scrollY","scrollTo","containerHeight","some","ref","isFocusedFunc","current","isFocused","measureLayout","_left","top","_width","height","value","extraOffset","keyboardVerticalOffset","handleContainerLayout","layout","nativeEvent","styles","container","style","StyleSheet","create","flex","overflow"],"mappings":";;;;;;;AACA;;AACA;;AAQA;;AACA;;AACA;;AACA;;;;;;;;;;AAQe,SAASA,oBAAT,CAA8B;AAC3CC,EAAAA,QAD2C;AAE3CC,EAAAA,yBAF2C;AAG3CC,EAAAA,aAAa,GAAG,EAH2B;AAI3C,KAAGC;AAJwC,CAA9B,EAKL;AACR,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MACJ,6CADF;AAEA,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAwB,qCAA9B;AAEA,QAAMC,eAAe,GAAG,mBAAO,CAAP,CAAxB;AAEA,qCAAqB,MAAM;AACzBN,IAAAA,aAAa,CAACO,IAAd,CAAoBC,GAAD,IAAS;AAC1B,YAAMC,aAAa,GAAGD,GAAG,CAACE,OAAJ,CAAYC,SAAlC;AACA,YAAMA,SAAS,GACbF,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA1C,GACIA,aAAa,EADjB,GAEIA,aAHN;;AAIA,UAAIE,SAAJ,EAAe;AACbH,QAAAA,GAAG,CAACE,OAAJ,CAAYE,aAAZ,EACE;AACAV,QAAAA,YAAY,CAACQ,OAFf,EAGE,CAACG,KAAD,EAAgBC,GAAhB,EAA6BC,MAA7B,EAA6CC,MAA7C,KAAgE;AAC9D,cAAIF,GAAG,GAAGE,MAAN,GAAeZ,OAAO,CAACa,KAAvB,GAA+BX,eAAe,CAACI,OAAnD,EAA4D;AAAA;;AAC1D,kBAAMQ,WAAW,4BACfnB,yBADe,aACfA,yBADe,uBACfA,yBAAyB,CAAEoB,sBADZ,yEACsC,EADvD;AAEAd,YAAAA,QAAQ,CAACS,GAAG,GAAGE,MAAN,GAAeE,WAAf,GAA6BZ,eAAe,CAACI,OAA9C,CAAR;AACD;AACF,SATH,EAUE,MAAM,CAAE,CAVV;AAYD;;AACD,aAAOC,SAAP;AACD,KArBD;AAsBD,GAvBD;AAyBA,QAAMS,qBAAqB,GAAG,wBAAaC,MAAD,IAA+B;AACvE,UAAML,MAAM,GAAGK,MAAM,CAACC,WAAP,CAAmBD,MAAnB,CAA0BL,MAAzC;AACAV,IAAAA,eAAe,CAACI,OAAhB,GAA0BM,MAA1B;AACAb,IAAAA,qBAAqB,CAACa,MAAD,CAArB;AACD,GAJ6B,EAI3B,EAJ2B,CAA9B;AAMA,sBACE,6BAAC,iCAAD;AACE,IAAA,KAAK,EAAEO,MAAM,CAACC,SADhB;AAEE,IAAA,QAAQ,EAAC;AAFX,KAGMzB,yBAHN,gBAKE,6BAAC,iBAAD,eACME,KADN;AAEE,IAAA,GAAG,EAAEC,YAFP;AAGE,IAAA,KAAK,EAAE,CAACqB,MAAM,CAACC,SAAR,EAAmBvB,KAAK,CAACwB,KAAzB,CAHT;AAIE,IAAA,QAAQ,EAAEL,qBAJZ;AAKE,IAAA,WAAW,EAAE;AALf,MAOGtB,QAPH,eAQE,6BAAC,kCAAD,OARF,CALF,CADF;AAkBD;;AAED,MAAMyB,MAAM,GAAGG,wBAAWC,MAAX,CAAkB;AAC/BH,EAAAA,SAAS,EAAE;AACTI,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,QAAQ,EAAE;AAFD;AADoB,CAAlB,CAAf","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useRef } from 'react';\nimport {\n KeyboardAvoidingView,\n KeyboardAvoidingViewProps,\n LayoutChangeEvent,\n StyleSheet,\n View,\n ViewProps,\n} from 'react-native';\nimport useKeyboardShowEvent from '../hooks/useKeyboardShowEvent';\nimport useInternalCollapsibleContext from '../hooks/useInternalCollapsibleContext';\nimport useCollapsibleContext from '../hooks/useCollapsibleContext';\nimport CollapsibleHeaderConsumer from './header/CollapsibleHeaderConsumer';\n\ntype Props = Omit<ViewProps, 'ref' | 'onLayout'> & {\n children: Element;\n keyboardAvoidingViewProps?: KeyboardAvoidingViewProps;\n textInputRefs?: any[];\n};\n\nexport default function CollapsibleContainer({\n children,\n keyboardAvoidingViewProps,\n textInputRefs = [],\n ...props\n}: Props) {\n const { containerRef, handleContainerHeight } =\n useInternalCollapsibleContext();\n const { scrollY, scrollTo } = useCollapsibleContext();\n\n const containerHeight = useRef(0);\n\n useKeyboardShowEvent(() => {\n textInputRefs.some((ref) => {\n const isFocusedFunc = ref.current.isFocused;\n const isFocused =\n isFocusedFunc && typeof isFocusedFunc === 'function'\n ? isFocusedFunc()\n : isFocusedFunc;\n if (isFocused) {\n ref.current.measureLayout(\n // @ts-ignore\n containerRef.current,\n (_left: number, top: number, _width: number, height: number) => {\n if (top + height - scrollY.value > containerHeight.current) {\n const extraOffset =\n keyboardAvoidingViewProps?.keyboardVerticalOffset ?? 20;\n scrollTo(top + height + extraOffset - containerHeight.current);\n }\n },\n () => {}\n );\n }\n return isFocused;\n });\n });\n\n const handleContainerLayout = useCallback((layout: LayoutChangeEvent) => {\n const height = layout.nativeEvent.layout.height;\n containerHeight.current = height;\n handleContainerHeight(height);\n }, []);\n\n return (\n <KeyboardAvoidingView\n style={styles.container}\n behavior=\"padding\"\n {...keyboardAvoidingViewProps}\n >\n <View\n {...props}\n ref={containerRef}\n style={[styles.container, props.style]}\n onLayout={handleContainerLayout}\n collapsable={false}\n >\n {children}\n <CollapsibleHeaderConsumer />\n </View>\n </KeyboardAvoidingView>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n overflow: 'hidden',\n },\n});\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useKeyboardShowEvent","_interopRequireDefault","_useInternalCollapsibleContext","_useCollapsibleContext","_CollapsibleHeaderConsumer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","CollapsibleContainer","_ref","children","keyboardAvoidingViewProps","textInputRefs","props","containerRef","handleContainerHeight","useInternalCollapsibleContext","scrollY","scrollTo","useCollapsibleContext","containerHeight","useRef","useKeyboardShowEvent","some","ref","isFocusedFunc","current","isFocused","measureLayout","_left","top","_width","height","value","extraOffset","keyboardVerticalOffset","handleContainerLayout","useCallback","layout","nativeEvent","createElement","KeyboardAvoidingView","style","styles","container","behavior","View","onLayout","collapsable","StyleSheet","create","flex","overflow"],"sourceRoot":"../../../src","sources":["components/CollapsibleContainer.tsx"],"mappings":"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"}
@@ -3,43 +3,35 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = CollapsibleView;
7
6
  exports.CollapsibleHeaderText = CollapsibleHeaderText;
8
-
7
+ exports.default = CollapsibleView;
9
8
  var _react = _interopRequireWildcard(require("react"));
10
-
11
9
  var _reactNative = require("react-native");
12
-
13
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
14
-
15
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
-
17
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
-
19
13
  /* eslint-disable react-hooks/exhaustive-deps */
20
-
21
14
  /* eslint-disable react-hooks/rules-of-hooks */
22
- let key = 0;
23
15
 
24
- function CollapsibleView({
25
- initialState = 'collapsed',
26
- collapseState = (0, _reactNativeReanimated.useSharedValue)(0),
27
- renderHeader,
28
- children,
29
- containerStyle,
30
- collapsedBackgroundColor,
31
- expandedBackgroundColor,
32
- onToggle
33
- }) {
16
+ let key = 0;
17
+ function CollapsibleView(_ref) {
18
+ let {
19
+ initialState = 'collapsed',
20
+ collapseState = (0, _reactNativeReanimated.useSharedValue)(0),
21
+ renderHeader,
22
+ children,
23
+ containerStyle,
24
+ collapsedBackgroundColor,
25
+ expandedBackgroundColor,
26
+ onToggle
27
+ } = _ref;
34
28
  const actualHeight = (0, _reactNativeReanimated.useSharedValue)(11110);
35
29
  const contentKey = (0, _react.useMemo)(() => `collapsible-view-${key++}`, []);
36
30
  (0, _react.useEffect)(() => {
37
31
  const newValue = initialState === 'collapsed' ? 0 : 1;
38
-
39
32
  if (newValue === collapseState.value) {
40
33
  return;
41
34
  }
42
-
43
35
  collapseState.value = newValue;
44
36
  }, [initialState]);
45
37
  const handleToggle = (0, _react.useCallback)(() => {
@@ -66,19 +58,18 @@ function CollapsibleView({
66
58
  if (result === prev) {
67
59
  return;
68
60
  }
69
-
70
61
  if (onToggle) {
71
62
  (0, _reactNativeReanimated.runOnJS)(onToggle)(result === 1);
72
63
  }
73
- }); // @ts-ignore
64
+ });
74
65
 
66
+ // @ts-ignore
75
67
  const containerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
76
68
  if (collapsedBackgroundColor && expandedBackgroundColor) {
77
69
  return {
78
70
  backgroundColor: (0, _reactNativeReanimated.interpolateColor)(collapseState.value, [0, 1], [collapsedBackgroundColor, expandedBackgroundColor])
79
71
  };
80
72
  }
81
-
82
73
  return {};
83
74
  }, []);
84
75
  const headerProps = (0, _react.useMemo)(() => ({
@@ -102,17 +93,17 @@ function CollapsibleView({
102
93
  pointerEvents: "box-none"
103
94
  }, children))));
104
95
  }
105
-
106
- function CollapsibleHeaderText({
107
- title,
108
- collapsed,
109
- onToggle,
110
- style,
111
- titleStyle,
112
- icon,
113
- iconInitialAngle = 0,
114
- children
115
- }) {
96
+ function CollapsibleHeaderText(_ref2) {
97
+ let {
98
+ title,
99
+ collapsed,
100
+ onToggle,
101
+ style,
102
+ titleStyle,
103
+ icon,
104
+ iconInitialAngle = 0,
105
+ children
106
+ } = _ref2;
116
107
  const iconStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
117
108
  const rotate = (0, _reactNativeReanimated.interpolate)(collapsed.value, [0, 1], [iconInitialAngle, 180]);
118
109
  return {
@@ -121,19 +112,22 @@ function CollapsibleHeaderText({
121
112
  }]
122
113
  };
123
114
  }, [iconInitialAngle]);
124
- return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
125
- activeOpacity: 0.9,
126
- onPress: onToggle,
127
- style: style
115
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
116
+ style: style,
117
+ pointerEvents: "box-none"
128
118
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
129
- style: styles.headerContainer
119
+ style: styles.headerContainer,
120
+ pointerEvents: "box-none"
121
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
122
+ onPress: onToggle
130
123
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
131
124
  style: [styles.headerTitle, titleStyle]
132
- }, title), icon && /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
125
+ }, title)), icon && /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
126
+ onPress: onToggle
127
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
133
128
  style: iconStyle
134
- }, icon)), children);
129
+ }, icon))), children);
135
130
  }
136
-
137
131
  const styles = _reactNative.StyleSheet.create({
138
132
  wrapper: {
139
133
  overflow: 'hidden'
@@ -141,7 +135,8 @@ const styles = _reactNative.StyleSheet.create({
141
135
  content: {},
142
136
  headerContainer: {
143
137
  flexDirection: 'row',
144
- alignItems: 'center'
138
+ alignItems: 'center',
139
+ justifyContent: 'space-between'
145
140
  },
146
141
  headerTitle: {
147
142
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleView.tsx"],"names":["key","CollapsibleView","initialState","collapseState","renderHeader","children","containerStyle","collapsedBackgroundColor","expandedBackgroundColor","onToggle","actualHeight","contentKey","newValue","value","handleToggle","overshootClamping","handleLayout","event","nativeEvent","layout","height","wrapperStyle","damping","stiffness","contentHeight","undefined","result","prev","containerAnimatedStyle","backgroundColor","headerProps","collapsed","styles","wrapper","content","CollapsibleHeaderText","title","style","titleStyle","icon","iconInitialAngle","iconStyle","rotate","transform","headerContainer","headerTitle","StyleSheet","create","overflow","flexDirection","alignItems","flex"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { ReactNode, useCallback, useEffect, useMemo } from 'react';\nimport {\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withSpring,\n interpolateColor,\n interpolate,\n useAnimatedReaction,\n runOnJS,\n} from 'react-native-reanimated';\n\nexport type CollapsibleHeaderProps = {\n onToggle: () => void;\n collapsed: Animated.SharedValue<number>;\n};\n\ntype Props = {\n initialState?: 'collapsed' | 'expanded';\n collapseState?: Animated.SharedValue<number>;\n renderHeader: (props: CollapsibleHeaderProps) => ReactNode;\n children: ReactNode;\n containerStyle?: StyleProp<ViewStyle>;\n collapsedBackgroundColor?: string;\n expandedBackgroundColor?: string;\n useDynamicLayout?: boolean;\n onToggle?: (isExpand: boolean) => void;\n};\n\nlet key = 0;\nexport default function CollapsibleView({\n initialState = 'collapsed',\n collapseState = useSharedValue(0),\n renderHeader,\n children,\n containerStyle,\n collapsedBackgroundColor,\n expandedBackgroundColor,\n onToggle,\n}: Props) {\n const actualHeight = useSharedValue(11110);\n const contentKey = useMemo(() => `collapsible-view-${key++}`, []);\n\n useEffect(() => {\n const newValue = initialState === 'collapsed' ? 0 : 1;\n if (newValue === collapseState.value) {\n return;\n }\n collapseState.value = newValue;\n }, [initialState]);\n\n const handleToggle = useCallback(() => {\n collapseState.value = withSpring(collapseState.value === 0 ? 1 : 0, {\n overshootClamping: true,\n });\n }, []);\n\n const handleLayout = useCallback((event: LayoutChangeEvent) => {\n if (event.nativeEvent.layout.height >= 0) {\n actualHeight.value = event.nativeEvent.layout.height;\n }\n }, []);\n\n const wrapperStyle = useAnimatedStyle(\n () => ({\n height: withSpring(collapseState.value === 1 ? actualHeight.value : 0, {\n damping: 5,\n stiffness: 130,\n overshootClamping: true,\n }),\n }),\n [actualHeight, contentKey]\n );\n\n const contentHeight = useAnimatedStyle(\n () => ({\n height: actualHeight.value > 0 ? actualHeight.value : undefined,\n }),\n [actualHeight, contentKey]\n );\n\n useAnimatedReaction(\n () => (collapseState.value === 0 ? 0 : collapseState.value === 1 ? 1 : 0),\n (result, prev) => {\n if (result === prev) {\n return;\n }\n if (onToggle) {\n runOnJS(onToggle)(result === 1);\n }\n }\n );\n\n // @ts-ignore\n const containerAnimatedStyle = useAnimatedStyle(() => {\n if (collapsedBackgroundColor && expandedBackgroundColor) {\n return {\n backgroundColor: interpolateColor(\n collapseState.value,\n [0, 1],\n [collapsedBackgroundColor, expandedBackgroundColor]\n ),\n };\n }\n return {};\n }, []);\n\n const headerProps = useMemo(\n () => ({ onToggle: handleToggle, collapsed: collapseState }),\n [handleToggle, collapseState]\n );\n\n return (\n <Animated.View\n style={[containerStyle, containerAnimatedStyle]}\n pointerEvents=\"box-none\"\n >\n <View pointerEvents=\"box-none\">{renderHeader(headerProps)}</View>\n <Animated.View\n style={[styles.wrapper, wrapperStyle]}\n pointerEvents=\"box-none\"\n >\n <Animated.View\n style={[styles.content, contentHeight]}\n pointerEvents=\"box-none\"\n >\n <View\n key={contentKey}\n onLayout={handleLayout}\n pointerEvents=\"box-none\"\n >\n {children}\n </View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n );\n}\n\nexport function CollapsibleHeaderText({\n title,\n collapsed,\n onToggle,\n style,\n titleStyle,\n icon,\n iconInitialAngle = 0,\n children,\n}: {\n title: string | Element;\n style?: StyleProp<ViewStyle>;\n titleStyle?: StyleProp<TextStyle>;\n icon?: ReactNode;\n iconInitialAngle?: number;\n children?: ReactNode;\n} & CollapsibleHeaderProps) {\n const iconStyle = useAnimatedStyle(() => {\n const rotate = interpolate(\n collapsed.value,\n [0, 1],\n [iconInitialAngle, 180]\n );\n return {\n transform: [\n {\n rotate: `${rotate}deg`,\n },\n ],\n };\n }, [iconInitialAngle]);\n\n return (\n <TouchableOpacity activeOpacity={0.9} onPress={onToggle} style={style}>\n <View style={styles.headerContainer}>\n <Text style={[styles.headerTitle, titleStyle]}>{title}</Text>\n {icon && <Animated.View style={iconStyle}>{icon}</Animated.View>}\n </View>\n {children}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n wrapper: {\n overflow: 'hidden',\n },\n content: {},\n headerContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n headerTitle: {\n flex: 1,\n },\n});\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CollapsibleView","_ref","initialState","collapseState","useSharedValue","renderHeader","children","containerStyle","collapsedBackgroundColor","expandedBackgroundColor","onToggle","actualHeight","contentKey","useMemo","useEffect","newValue","value","handleToggle","useCallback","withSpring","overshootClamping","handleLayout","event","nativeEvent","layout","height","wrapperStyle","useAnimatedStyle","damping","stiffness","contentHeight","undefined","useAnimatedReaction","result","prev","runOnJS","containerAnimatedStyle","backgroundColor","interpolateColor","headerProps","collapsed","createElement","View","style","pointerEvents","styles","wrapper","content","onLayout","CollapsibleHeaderText","_ref2","title","titleStyle","icon","iconInitialAngle","iconStyle","rotate","interpolate","transform","headerContainer","Pressable","onPress","Text","headerTitle","StyleSheet","create","overflow","flexDirection","alignItems","justifyContent","flex"],"sourceRoot":"../../../src","sources":["components/CollapsibleView.tsx"],"mappings":"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"}
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = AnimatedTopView;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
-
12
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function AnimatedTopView({
19
- height
20
- }) {
12
+ function AnimatedTopView(_ref) {
13
+ let {
14
+ height
15
+ } = _ref;
21
16
  const contentStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
22
17
  paddingTop: height.value
23
18
  }), []);
@@ -1 +1 @@
1
- {"version":3,"sources":["AnimatedTopView.tsx"],"names":["AnimatedTopView","height","contentStyle","paddingTop","value"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAMe,SAASA,eAAT,CAAyB;AAAEC,EAAAA;AAAF,CAAzB,EAA4C;AACzD,QAAMC,YAAY,GAAG,6CACnB,OAAO;AACLC,IAAAA,UAAU,EAAEF,MAAM,CAACG;AADd,GAAP,CADmB,EAInB,EAJmB,CAArB;AAOA,sBAAO,6BAAC,8BAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEF;AAAtB,IAAP;AACD","sourcesContent":["import React from 'react';\nimport Animated, { useAnimatedStyle } from 'react-native-reanimated';\n\ntype Props = {\n height: Animated.SharedValue<number>;\n};\n\nexport default function AnimatedTopView({ height }: Props) {\n const contentStyle = useAnimatedStyle(\n () => ({\n paddingTop: height.value,\n }),\n []\n );\n\n return <Animated.View style={contentStyle} />;\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeReanimated","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AnimatedTopView","_ref","height","contentStyle","useAnimatedStyle","paddingTop","value","createElement","View","style"],"sourceRoot":"../../../../src","sources":["components/header/AnimatedTopView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAqE,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAf,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMtD,SAASiB,eAAeA,CAAAC,IAAA,EAAoB;EAAA,IAAnB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACvD,MAAME,YAAY,GAAG,IAAAC,uCAAgB,EACnC,OAAO;IACLC,UAAU,EAAEH,MAAM,CAACI;EACrB,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBAAOjC,MAAA,CAAAY,OAAA,CAAAsB,aAAA,CAAC/B,sBAAA,CAAAS,OAAQ,CAACuB,IAAI;IAACC,KAAK,EAAEN;EAAa,CAAE,CAAC;AAC/C"}
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleHeaderConsumer;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _useInternalCollapsibleContext = _interopRequireDefault(require("../../hooks/useInternalCollapsibleContext"));
11
-
12
9
  var _useCollapsibleHeaderContext = _interopRequireDefault(require("../../hooks/useCollapsibleHeaderContext"));
13
-
14
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
15
-
16
11
  var _useCollapsibleContext = _interopRequireDefault(require("../../hooks/useCollapsibleContext"));
17
-
18
12
  var _reactNative = require("react-native");
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function CollapsibleHeaderConsumer() {
27
17
  const {
28
18
  headers
@@ -34,8 +24,9 @@ function CollapsibleHeaderConsumer() {
34
24
  scrollY,
35
25
  headerHeight
36
26
  } = (0, _useCollapsibleContext.default)();
37
- const headerTranslate = (0, _reactNativeReanimated.useDerivedValue)(() => (0, _reactNativeReanimated.interpolate)(scrollY.value, // FIXME: can improve by geting maxY value of header and sticky views
38
- [-1000, 0, 100000], [0, 0, -100000], _reactNativeReanimated.default.Extrapolate.CLAMP), []);
27
+ const headerTranslate = (0, _reactNativeReanimated.useDerivedValue)(() => (0, _reactNativeReanimated.interpolate)(scrollY.value,
28
+ // FIXME: can improve by geting maxY value of header and sticky views
29
+ [-1000, 0, 100000], [0, 0, -100000], 'clamp'), []);
39
30
  const headerStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
40
31
  return {
41
32
  transform: [{
@@ -43,13 +34,14 @@ function CollapsibleHeaderConsumer() {
43
34
  }]
44
35
  };
45
36
  }, [headerHeight, headerTranslate]);
46
- const handleHeaderLayout = (0, _react.useCallback)(({
47
- nativeEvent: {
48
- layout: {
49
- height
37
+ const handleHeaderLayout = (0, _react.useCallback)(_ref => {
38
+ let {
39
+ nativeEvent: {
40
+ layout: {
41
+ height
42
+ }
50
43
  }
51
- }
52
- }) => {
44
+ } = _ref;
53
45
  handleHeaderContainerLayout(height);
54
46
  }, [handleHeaderContainerLayout]);
55
47
  return /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
@@ -58,10 +50,10 @@ function CollapsibleHeaderConsumer() {
58
50
  pointerEvents: "box-none"
59
51
  }, headers.map(item => item.children));
60
52
  }
61
-
62
53
  const styles = _reactNative.StyleSheet.create({
63
54
  container: {
64
- zIndex: 10
55
+ zIndex: 10,
56
+ backgroundColor: 'white'
65
57
  }
66
58
  });
67
59
  //# sourceMappingURL=CollapsibleHeaderConsumer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderConsumer.tsx"],"names":["CollapsibleHeaderConsumer","headers","handleHeaderContainerLayout","scrollY","headerHeight","headerTranslate","value","Animated","Extrapolate","CLAMP","headerStyle","transform","translateY","handleHeaderLayout","nativeEvent","layout","height","styles","container","map","item","children","StyleSheet","create","zIndex"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAKA;;AACA;;;;;;;;AAEe,SAASA,yBAAT,GAAqC;AAClD,QAAM;AAAEC,IAAAA;AAAF,MAAc,2CAApB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAkC,6CAAxC;AACA,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAA4B,qCAAlC;AAEA,QAAMC,eAAe,GAAG,4CACtB,MACE,wCACEF,OAAO,CAACG,KADV,EAEE;AACA,GAAC,CAAC,IAAF,EAAQ,CAAR,EAAW,MAAX,CAHF,EAIE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAC,MAAR,CAJF,EAKEC,+BAASC,WAAT,CAAqBC,KALvB,CAFoB,EAStB,EATsB,CAAxB;AAYA,QAAMC,WAAW,GAAG,6CAAiB,MAAM;AACzC,WAAO;AACLC,MAAAA,SAAS,EAAE,CAAC;AAAEC,QAAAA,UAAU,EAAEP,eAAe,CAACC;AAA9B,OAAD;AADN,KAAP;AAGD,GAJmB,EAIjB,CAACF,YAAD,EAAeC,eAAf,CAJiB,CAApB;AAMA,QAAMQ,kBAAkB,GAAG,wBACzB,CAAC;AACCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,MAAM,EAAE;AAAEC,QAAAA;AAAF;AADG;AADd,GAAD,KAIyB;AACvBd,IAAAA,2BAA2B,CAACc,MAAD,CAA3B;AACD,GAPwB,EAQzB,CAACd,2BAAD,CARyB,CAA3B;AAWA,sBACE,6BAAC,8BAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAEW,kBADZ;AAEE,IAAA,KAAK,EAAE,CAACI,MAAM,CAACC,SAAR,EAAmBR,WAAnB,CAFT;AAGE,IAAA,aAAa,EAAC;AAHhB,KAKGT,OAAO,CAACkB,GAAR,CAAaC,IAAD,IAAUA,IAAI,CAACC,QAA3B,CALH,CADF;AASD;;AAED,MAAMJ,MAAM,GAAGK,wBAAWC,MAAX,CAAkB;AAC/BL,EAAAA,SAAS,EAAE;AACTM,IAAAA,MAAM,EAAE;AADC;AADoB,CAAlB,CAAf","sourcesContent":["import React, { useCallback } from 'react';\nimport useInternalCollapsibleContext from '../../hooks/useInternalCollapsibleContext';\nimport useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';\nimport Animated, {\n interpolate,\n useAnimatedStyle,\n useDerivedValue,\n} from 'react-native-reanimated';\nimport useCollapsibleContext from '../../hooks/useCollapsibleContext';\nimport { LayoutChangeEvent, StyleSheet } from 'react-native';\n\nexport default function CollapsibleHeaderConsumer() {\n const { headers } = useCollapsibleHeaderContext();\n const { handleHeaderContainerLayout } = useInternalCollapsibleContext();\n const { scrollY, headerHeight } = useCollapsibleContext();\n\n const headerTranslate = useDerivedValue(\n () =>\n interpolate(\n scrollY.value,\n // FIXME: can improve by geting maxY value of header and sticky views\n [-1000, 0, 100000],\n [0, 0, -100000],\n Animated.Extrapolate.CLAMP\n ),\n []\n );\n\n const headerStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateY: headerTranslate.value }],\n };\n }, [headerHeight, headerTranslate]);\n\n const handleHeaderLayout = useCallback(\n ({\n nativeEvent: {\n layout: { height },\n },\n }: LayoutChangeEvent) => {\n handleHeaderContainerLayout(height);\n },\n [handleHeaderContainerLayout]\n );\n\n return (\n <Animated.View\n onLayout={handleHeaderLayout}\n style={[styles.container, headerStyle]}\n pointerEvents=\"box-none\"\n >\n {headers.map((item) => item.children)}\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 10,\n },\n});\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useInternalCollapsibleContext","_interopRequireDefault","_useCollapsibleHeaderContext","_reactNativeReanimated","_useCollapsibleContext","_reactNative","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CollapsibleHeaderConsumer","headers","useCollapsibleHeaderContext","handleHeaderContainerLayout","useInternalCollapsibleContext","scrollY","headerHeight","useCollapsibleContext","headerTranslate","useDerivedValue","interpolate","value","headerStyle","useAnimatedStyle","transform","translateY","handleHeaderLayout","useCallback","_ref","nativeEvent","layout","height","createElement","View","onLayout","style","styles","container","pointerEvents","map","item","children","StyleSheet","create","zIndex","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderConsumer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,8BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAL,uBAAA,CAAAC,OAAA;AAKA,IAAAK,sBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAA6D,SAAAE,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAQ,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAE9C,SAASW,yBAAyBA,CAAA,EAAG;EAClD,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,oCAA2B,EAAC,CAAC;EACjD,MAAM;IAAEC;EAA4B,CAAC,GAAG,IAAAC,sCAA6B,EAAC,CAAC;EACvE,MAAM;IAAEC,OAAO;IAAEC;EAAa,CAAC,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAEzD,MAAMC,eAAe,GAAG,IAAAC,sCAAe,EACrC,MACE,IAAAC,kCAAW,EACTL,OAAO,CAACM,KAAK;EACb;EACA,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAClB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EACf,OACF,CAAC,EACH,EACF,CAAC;EAED,MAAMC,WAAW,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACzC,OAAO;MACLC,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEP,eAAe,CAACG;MAAM,CAAC;IACnD,CAAC;EACH,CAAC,EAAE,CAACL,YAAY,EAAEE,eAAe,CAAC,CAAC;EAEnC,MAAMQ,kBAAkB,GAAG,IAAAC,kBAAW,EACpCC,IAAA,IAIyB;IAAA,IAJxB;MACCC,WAAW,EAAE;QACXC,MAAM,EAAE;UAAEC;QAAO;MACnB;IACiB,CAAC,GAAAH,IAAA;IAClBf,2BAA2B,CAACkB,MAAM,CAAC;EACrC,CAAC,EACD,CAAClB,2BAA2B,CAC9B,CAAC;EAED,oBACElC,MAAA,CAAAW,OAAA,CAAA0C,aAAA,CAAC/C,sBAAA,CAAAK,OAAQ,CAAC2C,IAAI;IACZC,QAAQ,EAAER,kBAAmB;IAC7BS,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEf,WAAW,CAAE;IACvCgB,aAAa,EAAC;EAAU,GAEvB3B,OAAO,CAAC4B,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,QAAQ,CACvB,CAAC;AAEpB;AAEA,MAAML,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,MAAM,EAAE,EAAE;IACVC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC"}
@@ -4,26 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleHeaderContainer;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _useCollapsibleHeaderContext = _interopRequireDefault(require("../../hooks/useCollapsibleHeaderContext"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
13
  /* eslint-disable react-hooks/exhaustive-deps */
21
- let key = 0;
22
14
 
23
- function CollapsibleHeaderContainer({
24
- children,
25
- containerStyle
26
- }) {
15
+ let key = 0;
16
+ function CollapsibleHeaderContainer(_ref) {
17
+ let {
18
+ children,
19
+ containerStyle
20
+ } = _ref;
27
21
  const contentKey = (0, _react.useMemo)(() => `collapsible-header-${key++}`, []);
28
22
  const {
29
23
  mount,
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderContainer.tsx"],"names":["key","CollapsibleHeaderContainer","children","containerStyle","contentKey","mount","unmount","update","internalStyle","zIndex","content"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;;;;;AAHA;AAUA,IAAIA,GAAG,GAAG,CAAV;;AAEe,SAASC,0BAAT,CAAoC;AACjDC,EAAAA,QADiD;AAEjDC,EAAAA;AAFiD,CAApC,EAGL;AACR,QAAMC,UAAU,GAAG,oBAAQ,MAAO,sBAAqBJ,GAAG,EAAG,EAA1C,EAA6C,EAA7C,CAAnB;AACA,QAAM;AAAEK,IAAAA,KAAF;AAASC,IAAAA,OAAT;AAAkBC,IAAAA;AAAlB,MAA6B,2CAAnC;AAEA,QAAMC,aAAa,GAAG,oBAAQ,MAAM;AAClC,WAAO;AACLC,MAAAA,MAAM,EAAE,SAAST;AADZ,KAAP;AAGD,GAJqB,EAInB,EAJmB,CAAtB;AAMA,QAAMU,OAAO,GAAG,oBAAQ,MAAM;AAC5B,wBACE,6BAAC,iBAAD;AACE,MAAA,GAAG,EAAEN,UADP;AAEE,MAAA,KAAK,EAAE,CAACD,cAAD,EAAiBK,aAAjB,CAFT;AAGE,MAAA,aAAa,EAAC;AAHhB,OAKGN,QALH,CADF;AASD,GAVe,EAUb,CAACA,QAAD,EAAWC,cAAX,CAVa,CAAhB;AAYA,wBAAU,MAAM;AACdE,IAAAA,KAAK,CAACD,UAAD,EAAaM,OAAb,CAAL;AAEA,WAAO,MAAM;AACXJ,MAAAA,OAAO,CAACF,UAAD,CAAP;AACD,KAFD;AAGD,GAND,EAMG,CAACA,UAAD,CANH;AAQA,wBAAU,MAAM;AACdG,IAAAA,MAAM,CAACH,UAAD,EAAaM,OAAb,CAAN;AACD,GAFD,EAEG,CAACA,OAAD,CAFH;AAIA,SAAO,IAAP;AACD","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { ReactNode, useEffect, useMemo } from 'react';\nimport { View, StyleProp, ViewStyle } from 'react-native';\nimport useCollapsibleHeaderContext from '../../hooks/useCollapsibleHeaderContext';\n\ntype Props = {\n children: ReactNode;\n containerStyle?: StyleProp<ViewStyle>;\n};\n\nlet key = 0;\n\nexport default function CollapsibleHeaderContainer({\n children,\n containerStyle,\n}: Props) {\n const contentKey = useMemo(() => `collapsible-header-${key++}`, []);\n const { mount, unmount, update } = useCollapsibleHeaderContext();\n\n const internalStyle = useMemo(() => {\n return {\n zIndex: 100000 - key,\n };\n }, []);\n\n const content = useMemo(() => {\n return (\n <View\n key={contentKey}\n style={[containerStyle, internalStyle]}\n pointerEvents=\"box-none\"\n >\n {children}\n </View>\n );\n }, [children, containerStyle]);\n\n useEffect(() => {\n mount(contentKey, content);\n\n return () => {\n unmount(contentKey);\n };\n }, [contentKey]);\n\n useEffect(() => {\n update(contentKey, content);\n }, [content]);\n\n return null;\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useCollapsibleHeaderContext","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CollapsibleHeaderContainer","_ref","children","containerStyle","contentKey","useMemo","mount","unmount","update","useCollapsibleHeaderContext","internalStyle","zIndex","content","createElement","View","style","pointerEvents","useEffect"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderContainer.tsx"],"mappings":"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"}
@@ -4,19 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CollapsibleHeaderProvider;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _useCollapsibleHeaderContext = require("../../hooks/useCollapsibleHeaderContext");
11
-
12
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
11
  /* eslint-disable no-shadow */
17
- function CollapsibleHeaderProvider({
18
- children
19
- }) {
12
+
13
+ function CollapsibleHeaderProvider(_ref) {
14
+ let {
15
+ children
16
+ } = _ref;
20
17
  const [headers, setHeaders] = (0, _react.useState)([]);
21
18
  const mounted = (0, _react.useRef)(false);
22
19
  (0, _react.useEffect)(() => {
@@ -38,14 +35,13 @@ function CollapsibleHeaderProvider({
38
35
  if (!mounted.current) {
39
36
  return;
40
37
  }
41
-
42
38
  setHeaders(prev => prev.map(item => {
43
39
  if (item.key === key) {
44
- return { ...item,
40
+ return {
41
+ ...item,
45
42
  children
46
43
  };
47
44
  }
48
-
49
45
  return item;
50
46
  }));
51
47
  }, []);
@@ -1 +1 @@
1
- {"version":3,"sources":["CollapsibleHeaderProvider.tsx"],"names":["CollapsibleHeaderProvider","children","headers","setHeaders","mounted","current","mount","key","prev","unmount","filter","h","update","map","item","context"],"mappings":";;;;;;;AACA;;AAQA;;;;;;AATA;AAce,SAASA,yBAAT,CAAmC;AAChDC,EAAAA;AADgD,CAAnC,EAIZ;AACD,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwB,qBAAuB,EAAvB,CAA9B;AACA,QAAMC,OAAO,GAAG,mBAAO,KAAP,CAAhB;AAEA,wBAAU,MAAM;AACdA,IAAAA,OAAO,CAACC,OAAR,GAAkB,IAAlB;AACA,WAAO,MAAM;AACXD,MAAAA,OAAO,CAACC,OAAR,GAAkB,KAAlB;AACD,KAFD;AAGD,GALD,EAKG,EALH;AAOA,QAAMC,KAAK,GAAG,wBAAY,CAACC,GAAD,EAAcN,QAAd,KAAsC;AAC9DE,IAAAA,UAAU,CAAEK,IAAD,IAAU,CAAC,GAAGA,IAAJ,EAAU;AAAED,MAAAA,GAAF;AAAON,MAAAA;AAAP,KAAV,CAAX,CAAV;AACD,GAFa,EAEX,EAFW,CAAd;AAIA,QAAMQ,OAAO,GAAG,wBAAaF,GAAD,IAAiB;AAC3CJ,IAAAA,UAAU,CAAEK,IAAD,IAAUA,IAAI,CAACE,MAAL,CAAaC,CAAD,IAAOA,CAAC,CAACJ,GAAF,KAAUA,GAA7B,CAAX,CAAV;AACD,GAFe,EAEb,EAFa,CAAhB;AAIA,QAAMK,MAAM,GAAG,wBAAY,CAACL,GAAD,EAAcN,QAAd,KAAsC;AAC/D,QAAI,CAACG,OAAO,CAACC,OAAb,EAAsB;AACpB;AACD;;AACDF,IAAAA,UAAU,CAAEK,IAAD,IACTA,IAAI,CAACK,GAAL,CAAUC,IAAD,IAAU;AACjB,UAAIA,IAAI,CAACP,GAAL,KAAaA,GAAjB,EAAsB;AACpB,eAAO,EACL,GAAGO,IADE;AAELb,UAAAA;AAFK,SAAP;AAID;;AACD,aAAOa,IAAP;AACD,KARD,CADQ,CAAV;AAWD,GAfc,EAeZ,EAfY,CAAf;AAiBA,QAAMC,OAAO,GAAG,oBACd,OAAO;AACLb,IAAAA,OADK;AAELI,IAAAA,KAFK;AAGLG,IAAAA,OAHK;AAILG,IAAAA;AAJK,GAAP,CADc,EAOd,CAACV,OAAD,EAAUI,KAAV,EAAiBG,OAAjB,EAA0BG,MAA1B,CAPc,CAAhB;AAUA,sBACE,6BAAC,qDAAD,CAA0B,QAA1B;AAAmC,IAAA,KAAK,EAAEG;AAA1C,KACGd,QADH,CADF;AAKD","sourcesContent":["/* eslint-disable no-shadow */\nimport React, {\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n CollapsibleHeaderContext,\n HeaderItem,\n} from '../../hooks/useCollapsibleHeaderContext';\n\nexport default function CollapsibleHeaderProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const [headers, setHeaders] = useState<HeaderItem[]>([]);\n const mounted = useRef(false);\n\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n }, []);\n\n const mount = useCallback((key: string, children: ReactNode) => {\n setHeaders((prev) => [...prev, { key, children }]);\n }, []);\n\n const unmount = useCallback((key: string) => {\n setHeaders((prev) => prev.filter((h) => h.key !== key));\n }, []);\n\n const update = useCallback((key: string, children: ReactNode) => {\n if (!mounted.current) {\n return;\n }\n setHeaders((prev) =>\n prev.map((item) => {\n if (item.key === key) {\n return {\n ...item,\n children,\n };\n }\n return item;\n })\n );\n }, []);\n\n const context = useMemo(\n () => ({\n headers,\n mount,\n unmount,\n update,\n }),\n [headers, mount, unmount, update]\n );\n\n return (\n <CollapsibleHeaderContext.Provider value={context}>\n {children}\n </CollapsibleHeaderContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useCollapsibleHeaderContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CollapsibleHeaderProvider","_ref","children","headers","setHeaders","useState","mounted","useRef","useEffect","current","mount","useCallback","prev","unmount","filter","h","update","map","item","context","useMemo","createElement","CollapsibleHeaderContext","Provider","value"],"sourceRoot":"../../../../src","sources":["components/header/CollapsibleHeaderProvider.tsx"],"mappings":"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"}