@shaquillehinds/react-native-bottom-sheet 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +880 -0
  3. package/lib/commonjs/BottomSheet/animations/drag.animation.js +72 -0
  4. package/lib/commonjs/BottomSheet/animations/drag.animation.js.map +1 -0
  5. package/lib/commonjs/BottomSheet/components/BottomSheet.js +92 -0
  6. package/lib/commonjs/BottomSheet/components/BottomSheet.js.map +1 -0
  7. package/lib/commonjs/BottomSheet/components/BottomSheetFlatlist.js +38 -0
  8. package/lib/commonjs/BottomSheet/components/BottomSheetFlatlist.js.map +1 -0
  9. package/lib/commonjs/BottomSheet/components/BottomSheetModal.js +34 -0
  10. package/lib/commonjs/BottomSheet/components/BottomSheetModal.js.map +1 -0
  11. package/lib/commonjs/BottomSheet/components/BottomSheetScrollView.js +37 -0
  12. package/lib/commonjs/BottomSheet/components/BottomSheetScrollView.js.map +1 -0
  13. package/lib/commonjs/BottomSheet/config/bottomSheet.constants.js +35 -0
  14. package/lib/commonjs/BottomSheet/config/bottomSheet.constants.js.map +1 -0
  15. package/lib/commonjs/BottomSheet/config/bottomSheet.styles.js +42 -0
  16. package/lib/commonjs/BottomSheet/config/bottomSheet.styles.js.map +1 -0
  17. package/lib/commonjs/BottomSheet/config/bottomSheet.types.js +14 -0
  18. package/lib/commonjs/BottomSheet/config/bottomSheet.types.js.map +1 -0
  19. package/lib/commonjs/BottomSheet/controller/bottomFlatlist.controller.js +69 -0
  20. package/lib/commonjs/BottomSheet/controller/bottomFlatlist.controller.js.map +1 -0
  21. package/lib/commonjs/BottomSheet/controller/bottomScrollView.controller.js +41 -0
  22. package/lib/commonjs/BottomSheet/controller/bottomScrollView.controller.js.map +1 -0
  23. package/lib/commonjs/BottomSheet/controller/bottomSheet.controller.js +216 -0
  24. package/lib/commonjs/BottomSheet/controller/bottomSheet.controller.js.map +1 -0
  25. package/lib/commonjs/BottomSheet/controller/callbacks.controller.js +135 -0
  26. package/lib/commonjs/BottomSheet/controller/callbacks.controller.js.map +1 -0
  27. package/lib/commonjs/BottomSheet/controller/dragAnimation.controller.js +127 -0
  28. package/lib/commonjs/BottomSheet/controller/dragAnimation.controller.js.map +1 -0
  29. package/lib/commonjs/BottomSheet/controller/hooks/useBottomSheetRef.js +60 -0
  30. package/lib/commonjs/BottomSheet/controller/hooks/useBottomSheetRef.js.map +1 -0
  31. package/lib/commonjs/BottomSheet/controller/hooks/useBottomSheetUtils.js +74 -0
  32. package/lib/commonjs/BottomSheet/controller/hooks/useBottomSheetUtils.js.map +1 -0
  33. package/lib/commonjs/BottomSheet/controller/index.js +17 -0
  34. package/lib/commonjs/BottomSheet/controller/index.js.map +1 -0
  35. package/lib/commonjs/BottomSheet/controller/keyboardAnimation.controller.js +88 -0
  36. package/lib/commonjs/BottomSheet/controller/keyboardAnimation.controller.js.map +1 -0
  37. package/lib/commonjs/BottomSheet/controller/scrollContent.controller.js +89 -0
  38. package/lib/commonjs/BottomSheet/controller/scrollContent.controller.js.map +1 -0
  39. package/lib/commonjs/BottomSheet/index.js +130 -0
  40. package/lib/commonjs/BottomSheet/index.js.map +1 -0
  41. package/lib/commonjs/index.js +17 -0
  42. package/lib/commonjs/index.js.map +1 -0
  43. package/lib/commonjs/package.json +1 -0
  44. package/lib/module/BottomSheet/animations/drag.animation.js +68 -0
  45. package/lib/module/BottomSheet/animations/drag.animation.js.map +1 -0
  46. package/lib/module/BottomSheet/components/BottomSheet.js +87 -0
  47. package/lib/module/BottomSheet/components/BottomSheet.js.map +1 -0
  48. package/lib/module/BottomSheet/components/BottomSheetFlatlist.js +32 -0
  49. package/lib/module/BottomSheet/components/BottomSheetFlatlist.js.map +1 -0
  50. package/lib/module/BottomSheet/components/BottomSheetModal.js +30 -0
  51. package/lib/module/BottomSheet/components/BottomSheetModal.js.map +1 -0
  52. package/lib/module/BottomSheet/components/BottomSheetScrollView.js +31 -0
  53. package/lib/module/BottomSheet/components/BottomSheetScrollView.js.map +1 -0
  54. package/lib/module/BottomSheet/config/bottomSheet.constants.js +30 -0
  55. package/lib/module/BottomSheet/config/bottomSheet.constants.js.map +1 -0
  56. package/lib/module/BottomSheet/config/bottomSheet.styles.js +38 -0
  57. package/lib/module/BottomSheet/config/bottomSheet.styles.js.map +1 -0
  58. package/lib/module/BottomSheet/config/bottomSheet.types.js +10 -0
  59. package/lib/module/BottomSheet/config/bottomSheet.types.js.map +1 -0
  60. package/lib/module/BottomSheet/controller/bottomFlatlist.controller.js +64 -0
  61. package/lib/module/BottomSheet/controller/bottomFlatlist.controller.js.map +1 -0
  62. package/lib/module/BottomSheet/controller/bottomScrollView.controller.js +37 -0
  63. package/lib/module/BottomSheet/controller/bottomScrollView.controller.js.map +1 -0
  64. package/lib/module/BottomSheet/controller/bottomSheet.controller.js +212 -0
  65. package/lib/module/BottomSheet/controller/bottomSheet.controller.js.map +1 -0
  66. package/lib/module/BottomSheet/controller/callbacks.controller.js +130 -0
  67. package/lib/module/BottomSheet/controller/callbacks.controller.js.map +1 -0
  68. package/lib/module/BottomSheet/controller/dragAnimation.controller.js +122 -0
  69. package/lib/module/BottomSheet/controller/dragAnimation.controller.js.map +1 -0
  70. package/lib/module/BottomSheet/controller/hooks/useBottomSheetRef.js +56 -0
  71. package/lib/module/BottomSheet/controller/hooks/useBottomSheetRef.js.map +1 -0
  72. package/lib/module/BottomSheet/controller/hooks/useBottomSheetUtils.js +70 -0
  73. package/lib/module/BottomSheet/controller/hooks/useBottomSheetUtils.js.map +1 -0
  74. package/lib/module/BottomSheet/controller/index.js +4 -0
  75. package/lib/module/BottomSheet/controller/index.js.map +1 -0
  76. package/lib/module/BottomSheet/controller/keyboardAnimation.controller.js +84 -0
  77. package/lib/module/BottomSheet/controller/keyboardAnimation.controller.js.map +1 -0
  78. package/lib/module/BottomSheet/controller/scrollContent.controller.js +84 -0
  79. package/lib/module/BottomSheet/controller/scrollContent.controller.js.map +1 -0
  80. package/lib/module/BottomSheet/index.js +112 -0
  81. package/lib/module/BottomSheet/index.js.map +1 -0
  82. package/lib/module/index.js +4 -0
  83. package/lib/module/index.js.map +1 -0
  84. package/lib/module/package.json +1 -0
  85. package/lib/typescript/commonjs/package.json +1 -0
  86. package/lib/typescript/commonjs/src/BottomSheet/animations/drag.animation.d.ts +31 -0
  87. package/lib/typescript/commonjs/src/BottomSheet/animations/drag.animation.d.ts.map +1 -0
  88. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheet.d.ts +9 -0
  89. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheet.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetFlatlist.d.ts +3 -0
  91. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetFlatlist.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetModal.d.ts +8 -0
  93. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetModal.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetScrollView.d.ts +3 -0
  95. package/lib/typescript/commonjs/src/BottomSheet/components/BottomSheetScrollView.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.constants.d.ts +30 -0
  97. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.constants.d.ts.map +1 -0
  98. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.styles.d.ts +37 -0
  99. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.styles.d.ts.map +1 -0
  100. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.types.d.ts +185 -0
  101. package/lib/typescript/commonjs/src/BottomSheet/config/bottomSheet.types.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomFlatlist.controller.d.ts +480 -0
  103. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomFlatlist.controller.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomScrollView.controller.d.ts +338 -0
  105. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomScrollView.controller.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomSheet.controller.d.ts +51 -0
  107. package/lib/typescript/commonjs/src/BottomSheet/controller/bottomSheet.controller.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/src/BottomSheet/controller/callbacks.controller.d.ts +36 -0
  109. package/lib/typescript/commonjs/src/BottomSheet/controller/callbacks.controller.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/src/BottomSheet/controller/dragAnimation.controller.d.ts +27 -0
  111. package/lib/typescript/commonjs/src/BottomSheet/controller/dragAnimation.controller.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/src/BottomSheet/controller/hooks/useBottomSheetRef.d.ts +12 -0
  113. package/lib/typescript/commonjs/src/BottomSheet/controller/hooks/useBottomSheetRef.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/src/BottomSheet/controller/hooks/useBottomSheetUtils.d.ts +40 -0
  115. package/lib/typescript/commonjs/src/BottomSheet/controller/hooks/useBottomSheetUtils.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/src/BottomSheet/controller/index.d.ts +2 -0
  117. package/lib/typescript/commonjs/src/BottomSheet/controller/index.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/src/BottomSheet/controller/keyboardAnimation.controller.d.ts +15 -0
  119. package/lib/typescript/commonjs/src/BottomSheet/controller/keyboardAnimation.controller.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/src/BottomSheet/controller/scrollContent.controller.d.ts +20 -0
  121. package/lib/typescript/commonjs/src/BottomSheet/controller/scrollContent.controller.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/src/BottomSheet/index.d.ts +23 -0
  123. package/lib/typescript/commonjs/src/BottomSheet/index.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/src/index.d.ts +2 -0
  125. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  126. package/lib/typescript/module/package.json +1 -0
  127. package/lib/typescript/module/src/BottomSheet/animations/drag.animation.d.ts +31 -0
  128. package/lib/typescript/module/src/BottomSheet/animations/drag.animation.d.ts.map +1 -0
  129. package/lib/typescript/module/src/BottomSheet/components/BottomSheet.d.ts +9 -0
  130. package/lib/typescript/module/src/BottomSheet/components/BottomSheet.d.ts.map +1 -0
  131. package/lib/typescript/module/src/BottomSheet/components/BottomSheetFlatlist.d.ts +3 -0
  132. package/lib/typescript/module/src/BottomSheet/components/BottomSheetFlatlist.d.ts.map +1 -0
  133. package/lib/typescript/module/src/BottomSheet/components/BottomSheetModal.d.ts +8 -0
  134. package/lib/typescript/module/src/BottomSheet/components/BottomSheetModal.d.ts.map +1 -0
  135. package/lib/typescript/module/src/BottomSheet/components/BottomSheetScrollView.d.ts +3 -0
  136. package/lib/typescript/module/src/BottomSheet/components/BottomSheetScrollView.d.ts.map +1 -0
  137. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.constants.d.ts +30 -0
  138. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.constants.d.ts.map +1 -0
  139. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.styles.d.ts +37 -0
  140. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.styles.d.ts.map +1 -0
  141. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.types.d.ts +185 -0
  142. package/lib/typescript/module/src/BottomSheet/config/bottomSheet.types.d.ts.map +1 -0
  143. package/lib/typescript/module/src/BottomSheet/controller/bottomFlatlist.controller.d.ts +480 -0
  144. package/lib/typescript/module/src/BottomSheet/controller/bottomFlatlist.controller.d.ts.map +1 -0
  145. package/lib/typescript/module/src/BottomSheet/controller/bottomScrollView.controller.d.ts +338 -0
  146. package/lib/typescript/module/src/BottomSheet/controller/bottomScrollView.controller.d.ts.map +1 -0
  147. package/lib/typescript/module/src/BottomSheet/controller/bottomSheet.controller.d.ts +51 -0
  148. package/lib/typescript/module/src/BottomSheet/controller/bottomSheet.controller.d.ts.map +1 -0
  149. package/lib/typescript/module/src/BottomSheet/controller/callbacks.controller.d.ts +36 -0
  150. package/lib/typescript/module/src/BottomSheet/controller/callbacks.controller.d.ts.map +1 -0
  151. package/lib/typescript/module/src/BottomSheet/controller/dragAnimation.controller.d.ts +27 -0
  152. package/lib/typescript/module/src/BottomSheet/controller/dragAnimation.controller.d.ts.map +1 -0
  153. package/lib/typescript/module/src/BottomSheet/controller/hooks/useBottomSheetRef.d.ts +12 -0
  154. package/lib/typescript/module/src/BottomSheet/controller/hooks/useBottomSheetRef.d.ts.map +1 -0
  155. package/lib/typescript/module/src/BottomSheet/controller/hooks/useBottomSheetUtils.d.ts +40 -0
  156. package/lib/typescript/module/src/BottomSheet/controller/hooks/useBottomSheetUtils.d.ts.map +1 -0
  157. package/lib/typescript/module/src/BottomSheet/controller/index.d.ts +2 -0
  158. package/lib/typescript/module/src/BottomSheet/controller/index.d.ts.map +1 -0
  159. package/lib/typescript/module/src/BottomSheet/controller/keyboardAnimation.controller.d.ts +15 -0
  160. package/lib/typescript/module/src/BottomSheet/controller/keyboardAnimation.controller.d.ts.map +1 -0
  161. package/lib/typescript/module/src/BottomSheet/controller/scrollContent.controller.d.ts +20 -0
  162. package/lib/typescript/module/src/BottomSheet/controller/scrollContent.controller.d.ts.map +1 -0
  163. package/lib/typescript/module/src/BottomSheet/index.d.ts +23 -0
  164. package/lib/typescript/module/src/BottomSheet/index.d.ts.map +1 -0
  165. package/lib/typescript/module/src/index.d.ts +2 -0
  166. package/lib/typescript/module/src/index.d.ts.map +1 -0
  167. package/package.json +203 -0
  168. package/src/BottomSheet/animations/drag.animation.ts +86 -0
  169. package/src/BottomSheet/components/BottomSheet.tsx +157 -0
  170. package/src/BottomSheet/components/BottomSheetFlatlist.tsx +46 -0
  171. package/src/BottomSheet/components/BottomSheetModal.tsx +47 -0
  172. package/src/BottomSheet/components/BottomSheetScrollView.tsx +46 -0
  173. package/src/BottomSheet/config/bottomSheet.constants.ts +31 -0
  174. package/src/BottomSheet/config/bottomSheet.styles.ts +42 -0
  175. package/src/BottomSheet/config/bottomSheet.types.ts +246 -0
  176. package/src/BottomSheet/controller/bottomFlatlist.controller.ts +87 -0
  177. package/src/BottomSheet/controller/bottomScrollView.controller.ts +43 -0
  178. package/src/BottomSheet/controller/bottomSheet.controller.ts +238 -0
  179. package/src/BottomSheet/controller/callbacks.controller.ts +222 -0
  180. package/src/BottomSheet/controller/dragAnimation.controller.ts +211 -0
  181. package/src/BottomSheet/controller/hooks/useBottomSheetRef.ts +73 -0
  182. package/src/BottomSheet/controller/hooks/useBottomSheetUtils.ts +75 -0
  183. package/src/BottomSheet/controller/index.ts +1 -0
  184. package/src/BottomSheet/controller/keyboardAnimation.controller.ts +148 -0
  185. package/src/BottomSheet/controller/scrollContent.controller.ts +120 -0
  186. package/src/BottomSheet/index.tsx +139 -0
  187. package/src/index.tsx +1 -0
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useBottomSheetUtils = useBottomSheetUtils;
7
+ var _reactNativeEssentials = require("@shaquillehinds/react-native-essentials");
8
+ var _bottomSheetConstants = require("../../config/bottomSheet.constants.js");
9
+ function useBottomSheetUtils() {
10
+ const deviceOrientation = (0, _reactNativeEssentials.useDeviceOrientation)();
11
+ const extraHeight = deviceOrientation.relativeY(_bottomSheetConstants.extraHeightPercent);
12
+ const modalHeight = deviceOrientation.relativeY(100) + extraHeight;
13
+ const modalBottomOffset = -modalHeight * 2;
14
+ const getMaxMinSnapPoints = snapPoints => {
15
+ const firstSnapPoint = snapPoints[0];
16
+ let maxSnapPoint = firstSnapPoint.offset;
17
+ let minSnapPoint = firstSnapPoint.offset;
18
+ for (const snapPoint of snapPoints) {
19
+ if (snapPoint.offset < maxSnapPoint) maxSnapPoint = snapPoint.offset;
20
+ if (snapPoint.offset > minSnapPoint) minSnapPoint = snapPoint.offset;
21
+ }
22
+ return {
23
+ maxSnapPoint,
24
+ minSnapPoint,
25
+ firstSnapPoint
26
+ };
27
+ };
28
+ const getMaxMinSnapPointsWorklet = snapPoints => {
29
+ 'worklet';
30
+
31
+ const firstSnapPoint = snapPoints.value[0];
32
+ let maxSnapPoint = firstSnapPoint.offset;
33
+ let minSnapPoint = firstSnapPoint.offset;
34
+ for (const snapPoint of snapPoints.value) {
35
+ if (snapPoint.offset < maxSnapPoint) maxSnapPoint = snapPoint.offset;
36
+ if (snapPoint.offset > minSnapPoint) minSnapPoint = snapPoint.offset;
37
+ }
38
+ return {
39
+ maxSnapPoint,
40
+ minSnapPoint,
41
+ firstSnapPoint
42
+ };
43
+ };
44
+ const percentageToSnapPoint = p => {
45
+ const percentage = (0, _reactNativeEssentials.strToNumPercentage)(p);
46
+ return {
47
+ percentage: percentage / 100,
48
+ offset: -(deviceOrientation.relativeY(percentage) + extraHeight)
49
+ };
50
+ };
51
+ const percentageToSnapPointWorklet = (p, screenHeight) => {
52
+ 'worklet';
53
+
54
+ const percentage = (0, _reactNativeEssentials.strToNumPercentageWorklet)(p);
55
+ const decimal = percentage / 100;
56
+ const snapPointOffset = screenHeight * decimal;
57
+ const extraSnapPointHeight = screenHeight * (_bottomSheetConstants.extraHeightPercent / 100);
58
+ return {
59
+ percentage: decimal,
60
+ offset: -(snapPointOffset + extraSnapPointHeight)
61
+ };
62
+ };
63
+ return {
64
+ ...deviceOrientation,
65
+ extraHeight,
66
+ modalHeight,
67
+ modalBottomOffset,
68
+ getMaxMinSnapPoints,
69
+ getMaxMinSnapPointsWorklet,
70
+ percentageToSnapPoint,
71
+ percentageToSnapPointWorklet
72
+ };
73
+ }
74
+ //# sourceMappingURL=useBottomSheetUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeEssentials","require","_bottomSheetConstants","useBottomSheetUtils","deviceOrientation","useDeviceOrientation","extraHeight","relativeY","extraHeightPercent","modalHeight","modalBottomOffset","getMaxMinSnapPoints","snapPoints","firstSnapPoint","maxSnapPoint","offset","minSnapPoint","snapPoint","getMaxMinSnapPointsWorklet","value","percentageToSnapPoint","p","percentage","strToNumPercentage","percentageToSnapPointWorklet","screenHeight","strToNumPercentageWorklet","decimal","snapPointOffset","extraSnapPointHeight"],"sourceRoot":"../../../../../src","sources":["BottomSheet/controller/hooks/useBottomSheetUtils.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAOA,IAAAC,qBAAA,GAAAD,OAAA;AAEO,SAASE,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,iBAAiB,GAAG,IAAAC,2CAAoB,EAAC,CAAC;EAEhD,MAAMC,WAAW,GAAGF,iBAAiB,CAACG,SAAS,CAACC,wCAAkB,CAAC;EACnE,MAAMC,WAAW,GAAGL,iBAAiB,CAACG,SAAS,CAAC,GAAG,CAAC,GAAGD,WAAW;EAClE,MAAMI,iBAAiB,GAAG,CAACD,WAAW,GAAG,CAAC;EAE1C,MAAME,mBAAmB,GAAIC,UAAuB,IAAK;IACvD,MAAMC,cAAc,GAAGD,UAAU,CAAC,CAAC,CAAE;IACrC,IAAIE,YAAY,GAAGD,cAAc,CAACE,MAAM;IACxC,IAAIC,YAAY,GAAGH,cAAc,CAACE,MAAM;IACxC,KAAK,MAAME,SAAS,IAAIL,UAAU,EAAE;MAClC,IAAIK,SAAS,CAACF,MAAM,GAAGD,YAAY,EAAEA,YAAY,GAAGG,SAAS,CAACF,MAAM;MACpE,IAAIE,SAAS,CAACF,MAAM,GAAGC,YAAY,EAAEA,YAAY,GAAGC,SAAS,CAACF,MAAM;IACtE;IACA,OAAO;MAAED,YAAY;MAAEE,YAAY;MAAEH;IAAe,CAAC;EACvD,CAAC;EAED,MAAMK,0BAA0B,GAAIN,UAAoC,IAAK;IAC3E,SAAS;;IACT,MAAMC,cAAc,GAAGD,UAAU,CAACO,KAAK,CAAC,CAAC,CAAE;IAC3C,IAAIL,YAAY,GAAGD,cAAc,CAACE,MAAM;IACxC,IAAIC,YAAY,GAAGH,cAAc,CAACE,MAAM;IACxC,KAAK,MAAME,SAAS,IAAIL,UAAU,CAACO,KAAK,EAAE;MACxC,IAAIF,SAAS,CAACF,MAAM,GAAGD,YAAY,EAAEA,YAAY,GAAGG,SAAS,CAACF,MAAM;MACpE,IAAIE,SAAS,CAACF,MAAM,GAAGC,YAAY,EAAEA,YAAY,GAAGC,SAAS,CAACF,MAAM;IACtE;IACA,OAAO;MAAED,YAAY;MAAEE,YAAY;MAAEH;IAAe,CAAC;EACvD,CAAC;EAED,MAAMO,qBAAqB,GAAIC,CAAkB,IAAK;IACpD,MAAMC,UAAU,GAAG,IAAAC,yCAAkB,EAACF,CAAC,CAAC;IACxC,OAAO;MACLC,UAAU,EAAEA,UAAU,GAAG,GAAG;MAC5BP,MAAM,EAAE,EAAEX,iBAAiB,CAACG,SAAS,CAACe,UAAU,CAAC,GAAGhB,WAAW;IACjE,CAAC;EACH,CAAC;EAED,MAAMkB,4BAA4B,GAAGA,CACnCH,CAAkB,EAClBI,YAAoB,KACjB;IACH,SAAS;;IACT,MAAMH,UAAU,GAAG,IAAAI,gDAAyB,EAACL,CAAC,CAAC;IAC/C,MAAMM,OAAO,GAAGL,UAAU,GAAG,GAAG;IAChC,MAAMM,eAAe,GAAGH,YAAY,GAAGE,OAAO;IAC9C,MAAME,oBAAoB,GAAGJ,YAAY,IAAIjB,wCAAkB,GAAG,GAAG,CAAC;IACtE,OAAO;MACLc,UAAU,EAAEK,OAAO;MACnBZ,MAAM,EAAE,EAAEa,eAAe,GAAGC,oBAAoB;IAClD,CAAC;EACH,CAAC;EAED,OAAO;IACL,GAAGzB,iBAAiB;IACpBE,WAAW;IACXG,WAAW;IACXC,iBAAiB;IACjBC,mBAAmB;IACnBO,0BAA0B;IAC1BE,qBAAqB;IACrBI;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _bottomSheetController = require("./bottomSheet.controller.js");
7
+ Object.keys(_bottomSheetController).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _bottomSheetController[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _bottomSheetController[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bottomSheetController","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../../src","sources":["BottomSheet/controller/index.ts"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.keyboardAnimationController = keyboardAnimationController;
7
+ var _react = require("react");
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+ var _bottomSheetConstants = require("../config/bottomSheet.constants.js");
10
+ var _reactNativeEssentials = require("@shaquillehinds/react-native-essentials");
11
+ function keyboardAnimationController(props) {
12
+ const {
13
+ translationY,
14
+ prevTranslationY,
15
+ modalContentTranslateY,
16
+ keyboardHeight
17
+ } = props;
18
+ const keyboardHeightRef = (0, _react.useRef)(0);
19
+ const setKeyboardHeight = (0, _react.useCallback)(height => {
20
+ keyboardHeight.value = height;
21
+ keyboardHeightRef.current = height;
22
+ }, []);
23
+ const adjustForKeyboardHeight = (0, _react.useCallback)((currentKeyboardHeight, previousKeyboardHeight, screenHeight) => {
24
+ 'worklet';
25
+
26
+ const maxModalY = screenHeight * -1;
27
+ if (currentKeyboardHeight > 10) {
28
+ if (translationY.value <= maxModalY) {
29
+ modalContentTranslateY.value = (0, _reactNativeReanimated.withTiming)(-currentKeyboardHeight, _bottomSheetConstants.openKeyboardTimingConfig);
30
+ } else {
31
+ const maxGap = maxModalY - translationY.value;
32
+ const height = translationY.value - currentKeyboardHeight;
33
+ if (height < maxModalY) {
34
+ const modalShift = translationY.value + maxGap;
35
+ translationY.value = (0, _reactNativeReanimated.withTiming)(modalShift, _bottomSheetConstants.openKeyboardTimingConfig);
36
+ prevTranslationY.value = modalShift;
37
+ modalContentTranslateY.value = (0, _reactNativeReanimated.withTiming)(-currentKeyboardHeight - maxGap, _bottomSheetConstants.openKeyboardTimingConfig);
38
+ } else {
39
+ translationY.value = (0, _reactNativeReanimated.withTiming)(height, _bottomSheetConstants.openKeyboardTimingConfig);
40
+ prevTranslationY.value = height;
41
+ }
42
+ }
43
+ } else {
44
+ const newTranslationY = translationY.value + (previousKeyboardHeight + modalContentTranslateY.value);
45
+ translationY.value = (0, _reactNativeReanimated.withTiming)(newTranslationY, _bottomSheetConstants.closeKeyboardTimingConfig);
46
+ prevTranslationY.value = newTranslationY;
47
+ modalContentTranslateY.value = (0, _reactNativeReanimated.withTiming)(0, _bottomSheetConstants.closeKeyboardTimingConfig);
48
+ }
49
+ }, []);
50
+ const keyBoardShowListener = (0, _react.useCallback)(async (e, shouldAdjust) => {
51
+ await (0, _reactNativeEssentials.wait)(10);
52
+ if (keyboardHeightRef.current) return;
53
+ setKeyboardHeight(e.endCoordinates.height);
54
+ if (!shouldAdjust) return;
55
+ if (props.inputsForKeyboardToAvoid && !props.inputsForKeyboardToAvoid.find(input => {
56
+ return input.current?.isFocused();
57
+ })) return;
58
+ props.setDisableLayoutAnimation(true);
59
+ (0, _reactNativeReanimated.runOnUI)(adjustForKeyboardHeight)(keyboardHeightRef.current, 0, props.screenHeight);
60
+ }, [props.screenHeight]);
61
+ const keyboardHideListener = (0, _react.useCallback)(async shouldAdjust => {
62
+ if (!keyboardHeightRef.current) return;
63
+ const previousKeyboardHeight = keyboardHeightRef.current;
64
+ setKeyboardHeight(0);
65
+ if (!shouldAdjust) return;
66
+ props.setDisableLayoutAnimation(false);
67
+ (0, _reactNativeReanimated.runOnUI)(adjustForKeyboardHeight)(keyboardHeightRef.current, previousKeyboardHeight, props.screenHeight);
68
+ }, [props.screenHeight]);
69
+ const shouldAdjustForKeyboard = !!(props.avoidKeyboard || props.inputsForKeyboardToAvoid?.length);
70
+ (0, _reactNativeEssentials.useKeyboardListeners)({
71
+ listeners: {
72
+ keyboardWillShow: e => {
73
+ _reactNativeEssentials.isIOS && keyBoardShowListener(e, shouldAdjustForKeyboard);
74
+ },
75
+ keyboardWillHide: () => {
76
+ _reactNativeEssentials.isIOS && keyboardHideListener(shouldAdjustForKeyboard);
77
+ },
78
+ keyboardDidShow: e => {
79
+ _reactNativeEssentials.isAndroid && keyBoardShowListener(e, shouldAdjustForKeyboard);
80
+ },
81
+ keyboardDidHide: async () => {
82
+ _reactNativeEssentials.isAndroid && keyboardHideListener(shouldAdjustForKeyboard);
83
+ }
84
+ },
85
+ subscribeCondition: () => true
86
+ });
87
+ }
88
+ //# sourceMappingURL=keyboardAnimation.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_bottomSheetConstants","_reactNativeEssentials","keyboardAnimationController","props","translationY","prevTranslationY","modalContentTranslateY","keyboardHeight","keyboardHeightRef","useRef","setKeyboardHeight","useCallback","height","value","current","adjustForKeyboardHeight","currentKeyboardHeight","previousKeyboardHeight","screenHeight","maxModalY","withTiming","openKeyboardTimingConfig","maxGap","modalShift","newTranslationY","closeKeyboardTimingConfig","keyBoardShowListener","e","shouldAdjust","wait","endCoordinates","inputsForKeyboardToAvoid","find","input","isFocused","setDisableLayoutAnimation","runOnUI","keyboardHideListener","shouldAdjustForKeyboard","avoidKeyboard","length","useKeyboardListeners","listeners","keyboardWillShow","isIOS","keyboardWillHide","keyboardDidShow","isAndroid","keyboardDidHide","subscribeCondition"],"sourceRoot":"../../../../src","sources":["BottomSheet/controller/keyboardAnimation.controller.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.scrollContentController = scrollContentController;
7
+ var _reactNativeReanimated = require("react-native-reanimated");
8
+ var _react = require("react");
9
+ //$lf-ignore
10
+
11
+ function scrollContentController({
12
+ scrollActive,
13
+ scrollY,
14
+ onDragStartGesture,
15
+ onDragEndGesture,
16
+ onDragGesture,
17
+ maxScrollOffset,
18
+ inverted,
19
+ scrollableComponentRef
20
+ }) {
21
+ const enableScroll = (scrollEnabled, timeout) => {
22
+ if (timeout) setTimeout(() => scrollableComponentRef?.current?.setNativeProps({
23
+ scrollEnabled
24
+ }), timeout);else scrollableComponentRef?.current?.setNativeProps({
25
+ scrollEnabled
26
+ });
27
+ };
28
+ const dragEnabled = (0, _reactNativeReanimated.useSharedValue)(false);
29
+ const initDragPos = (0, _reactNativeReanimated.useSharedValue)(0);
30
+ const beginDragInit = (0, _reactNativeReanimated.useSharedValue)(false);
31
+ const scrollEnabled = (0, _reactNativeReanimated.useSharedValue)(true);
32
+ const onBeginScroll = (0, _react.useCallback)(e => {
33
+ 'worklet';
34
+
35
+ const maxPositionFromTopToEnableScroll = 15;
36
+ const isPositionFarFromTop = inverted.value ? scrollY.value < maxScrollOffset.value - maxPositionFromTopToEnableScroll : scrollY.value > maxPositionFromTopToEnableScroll;
37
+ if (isPositionFarFromTop) {
38
+ scrollActive.value = true;
39
+ } else {
40
+ beginDragInit.value = true;
41
+ onDragStartGesture(e);
42
+ }
43
+ }, []);
44
+ const onUpdateScroll = (0, _react.useCallback)(e => {
45
+ 'worklet';
46
+
47
+ if (scrollActive.value) return;
48
+ if (dragEnabled.value) {
49
+ if (scrollEnabled.value) {
50
+ if (e.translationY < initDragPos.value) {
51
+ scrollEnabled.value = false;
52
+ (0, _reactNativeReanimated.runOnJS)(enableScroll)(false);
53
+ }
54
+ initDragPos.value = e.translationY;
55
+ }
56
+ return onDragGesture(e);
57
+ }
58
+ if (beginDragInit.value) {
59
+ beginDragInit.value = false;
60
+ return;
61
+ }
62
+ if (e.translationY > -400 && (inverted.value ? Math.round(scrollY.value) >= Math.round(maxScrollOffset.value) : scrollY.value <= 0)) {
63
+ if (!dragEnabled.value) {
64
+ initDragPos.value = e.translationY;
65
+ dragEnabled.value = true;
66
+ onDragGesture(e);
67
+ }
68
+ } else if (scrollY.value > 0) {
69
+ scrollActive.value = true;
70
+ }
71
+ }, [enableScroll]);
72
+ const onEndScroll = (0, _react.useCallback)(e => {
73
+ 'worklet';
74
+
75
+ if (!scrollActive.value) {
76
+ onDragEndGesture(e);
77
+ (0, _reactNativeReanimated.runOnJS)(enableScroll)(true);
78
+ } else (0, _reactNativeReanimated.runOnJS)(enableScroll)(true);
79
+ scrollActive.value = false;
80
+ dragEnabled.value = false;
81
+ scrollEnabled.value = true;
82
+ }, [enableScroll]);
83
+ return {
84
+ onBeginScroll,
85
+ onUpdateScroll,
86
+ onEndScroll
87
+ };
88
+ }
89
+ //# sourceMappingURL=scrollContent.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","_react","scrollContentController","scrollActive","scrollY","onDragStartGesture","onDragEndGesture","onDragGesture","maxScrollOffset","inverted","scrollableComponentRef","enableScroll","scrollEnabled","timeout","setTimeout","current","setNativeProps","dragEnabled","useSharedValue","initDragPos","beginDragInit","onBeginScroll","useCallback","e","maxPositionFromTopToEnableScroll","isPositionFarFromTop","value","onUpdateScroll","translationY","runOnJS","Math","round","onEndScroll"],"sourceRoot":"../../../../src","sources":["BottomSheet/controller/scrollContent.controller.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BottomSheet = exports.BottomModalContext = void 0;
7
+ Object.defineProperty(exports, "BottomSheetFlatlist", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _BottomSheetFlatlist.BottomSheetFlatlist;
11
+ }
12
+ });
13
+ exports.BottomSheetModal = void 0;
14
+ Object.defineProperty(exports, "BottomSheetScrollView", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _BottomSheetScrollView.BottomSheetScrollView;
18
+ }
19
+ });
20
+ exports.useBottomSheetRef = void 0;
21
+ var _react = require("react");
22
+ var _BottomSheetModal = require("./components/BottomSheetModal.js");
23
+ var _BottomSheet = require("./components/BottomSheet.js");
24
+ var _BottomSheetFlatlist = require("./components/BottomSheetFlatlist.js");
25
+ var _BottomSheetScrollView = require("./components/BottomSheetScrollView.js");
26
+ var _index = require("./controller/index.js");
27
+ var _useBottomSheetRef = require("./controller/hooks/useBottomSheetRef.js");
28
+ var _bottomSheetConstants = require("./config/bottomSheet.constants.js");
29
+ var _reactNativeEssentials = require("@shaquillehinds/react-native-essentials");
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+ const BottomModalContext = exports.BottomModalContext = /*#__PURE__*/(0, _react.createContext)(null);
32
+ const BottomSheetModal = exports.BottomSheetModal = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
33
+ const {
34
+ mounterRef,
35
+ sheetRef,
36
+ modalRef
37
+ } = (0, _useBottomSheetRef.useBottomSheetRef)({
38
+ ref,
39
+ showModal: props.showModal,
40
+ setShowModal: props.setShowModal
41
+ });
42
+ const Modal = /*#__PURE__*/(0, _jsxRuntime.jsx)(BottomModalContext.Provider, {
43
+ value: {
44
+ modalRef
45
+ },
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeEssentials.ComponentMounter, {
47
+ ref: mounterRef,
48
+ showComponent: props.showModal,
49
+ setShowComponent: props.setShowModal,
50
+ unMountDelayInMilliSeconds: _bottomSheetConstants.animateCloseTimingConfig.duration,
51
+ onComponentShow: props.onModalShow,
52
+ onComponentClose: props.onModalClose,
53
+ component: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetModal.BottomSheetModal, {
54
+ ...props,
55
+ _unMounter: () => mounterRef.current?.unMountComponent(),
56
+ ref: sheetRef
57
+ })
58
+ })
59
+ });
60
+ const portal = (0, _reactNativeEssentials.usePortalComponent)({
61
+ Component: Modal,
62
+ name: 'smooth-bottom-modal',
63
+ disable: props.disablePortal || props.useNativeModal,
64
+ CustomPortalContext: props.CustomPortalContext
65
+ });
66
+ if (portal && !props.disablePortal && !props.useNativeModal) {
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
68
+ } else {
69
+ return Modal;
70
+ }
71
+ });
72
+ const BottomSheetControl = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
73
+ const controller = (0, _index.bottomSheetController)(props);
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeEssentials.ModalWrapper, {
75
+ enableBackgroundContentPress: true,
76
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheet.BottomSheet, {
77
+ ...props,
78
+ controller: controller,
79
+ ref: ref
80
+ })
81
+ });
82
+ });
83
+ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
84
+ const {
85
+ mounterRef,
86
+ sheetRef,
87
+ modalRef
88
+ } = (0, _useBottomSheetRef.useBottomSheetRef)({
89
+ ref,
90
+ showModal: props.showModal,
91
+ setShowModal: props.setShowModal
92
+ });
93
+ const Modal = /*#__PURE__*/(0, _jsxRuntime.jsx)(BottomModalContext.Provider, {
94
+ value: {
95
+ modalRef
96
+ },
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeEssentials.ComponentMounter, {
98
+ ref: mounterRef,
99
+ showComponent: props.showModal,
100
+ setShowComponent: props.setShowModal,
101
+ unMountDelayInMilliSeconds: _bottomSheetConstants.animateCloseTimingConfig.duration,
102
+ onComponentShow: props.onModalShow,
103
+ onComponentClose: props.onModalClose,
104
+ component: /*#__PURE__*/(0, _jsxRuntime.jsx)(BottomSheetControl, {
105
+ ...props,
106
+ _unMounter: () => mounterRef.current?.unMountComponent(),
107
+ ref: sheetRef
108
+ })
109
+ })
110
+ });
111
+ const portal = (0, _reactNativeEssentials.usePortalComponent)({
112
+ Component: Modal,
113
+ name: 'smooth-bottom-modal',
114
+ disable: props.disablePortal || props.useNativeModal,
115
+ CustomPortalContext: props.CustomPortalContext
116
+ });
117
+ if (portal && !props.disablePortal && !props.useNativeModal) {
118
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
119
+ } else {
120
+ return Modal;
121
+ }
122
+ });
123
+ const useBottomSheetRef = () => {
124
+ const context = (0, _react.useContext)(BottomModalContext);
125
+ return {
126
+ modalRef: context?.modalRef
127
+ };
128
+ };
129
+ exports.useBottomSheetRef = useBottomSheetRef;
130
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_BottomSheetModal","_BottomSheet","_BottomSheetFlatlist","_BottomSheetScrollView","_index","_useBottomSheetRef","_bottomSheetConstants","_reactNativeEssentials","_jsxRuntime","BottomModalContext","exports","createContext","BottomSheetModal","forwardRef","props","ref","mounterRef","sheetRef","modalRef","useBottomSheetRefs","showModal","setShowModal","Modal","jsx","Provider","value","children","ComponentMounter","showComponent","setShowComponent","unMountDelayInMilliSeconds","animateCloseTimingConfig","duration","onComponentShow","onModalShow","onComponentClose","onModalClose","component","_unMounter","current","unMountComponent","portal","usePortalComponent","Component","name","disable","disablePortal","useNativeModal","CustomPortalContext","Fragment","BottomSheetControl","controller","bottomSheetController","ModalWrapper","enableBackgroundContentPress","BottomSheet","useBottomSheetRef","context","useContext"],"sourceRoot":"../../../src","sources":["BottomSheet/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _index = require("./BottomSheet/index.js");
7
+ Object.keys(_index).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _index[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _index[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ //$lf-ignore
4
+ import { useSharedValue, useAnimatedStyle } from 'react-native-reanimated';
5
+ import { useCallback } from 'react';
6
+
7
+ // function clamp(val: number, min: number, max: number) {
8
+ // 'worklet';
9
+ // return Math.min(Math.max(val, min), max);
10
+ // }
11
+
12
+ //prettier-ignore
13
+ // function stretch(val: number,min: number,max: number,maxStretch: number,stretchOn: 'min' | 'max') {
14
+ // 'worklet';
15
+ // const isMax = stretchOn === 'max';
16
+ // const limit = isMax ? max : min;
17
+ // const direction = isMax ? 1 : -1;
18
+ // const inBounds = isMax ? val <= max : val >= min;
19
+ // if (inBounds) return val;
20
+ // const overshoot = Math.abs(val - limit);
21
+ // const resistance = maxStretch * (1 - 1 / (overshoot / maxStretch + 1));
22
+ // return limit + resistance * direction;
23
+ // }
24
+
25
+ // function maxStretch(val:number, max: number, stretch: number){
26
+ // 'worklet';
27
+ // return val <= max ? val : max - stretch + stretch / ((val - max) / stretch + 1);
28
+ // }
29
+ function minStretch(val, min, stretch) {
30
+ 'worklet';
31
+
32
+ //prettier-ignore
33
+ return val >= min ? val : min - stretch + stretch / ((min - val) / stretch + 1);
34
+ }
35
+ export function useDragAnimation(props) {
36
+ const translationX = props?.translationX || useSharedValue(0);
37
+ const translationY = props?.translationY || useSharedValue(0);
38
+ const prevTranslationX = props?.prevTranslationX || useSharedValue(0);
39
+ const prevTranslationY = props?.prevTranslationY || useSharedValue(0);
40
+ const dragAnimatedStyle = useAnimatedStyle(() => ({
41
+ transform: [{
42
+ translateX: translationX.value
43
+ }, {
44
+ translateY: translationY.value
45
+ }]
46
+ }));
47
+ const onDragStart = useCallback(() => {
48
+ 'worklet';
49
+
50
+ prevTranslationX.value = translationX.value;
51
+ prevTranslationY.value = translationY.value;
52
+ }, []);
53
+ const onDrag = useCallback(dragProps => {
54
+ 'worklet';
55
+
56
+ translationY.value = minStretch(prevTranslationY.value + dragProps.posY, dragProps.minPosY, 100);
57
+ }, []);
58
+ return {
59
+ onDrag,
60
+ onDragStart,
61
+ dragAnimatedStyle,
62
+ translationX,
63
+ translationY,
64
+ prevTranslationX,
65
+ prevTranslationY
66
+ };
67
+ }
68
+ //# sourceMappingURL=drag.animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSharedValue","useAnimatedStyle","useCallback","minStretch","val","min","stretch","useDragAnimation","props","translationX","translationY","prevTranslationX","prevTranslationY","dragAnimatedStyle","transform","translateX","value","translateY","onDragStart","onDrag","dragProps","posY","minPosY"],"sourceRoot":"../../../../src","sources":["BottomSheet/animations/drag.animation.ts"],"mappings":";;AAAA;AACA,SACEA,cAAc,EACdC,gBAAgB,QAEX,yBAAyB;AAChC,SAASC,WAAW,QAAQ,OAAO;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,GAAW,EAAEC,GAAW,EAAEC,OAAe,EAAE;EAC7D,SAAS;;EACT;EACA,OAAOF,GAAG,IAAIC,GAAG,GAAGD,GAAG,GAAGC,GAAG,GAAGC,OAAO,GAAGA,OAAO,IAAI,CAACD,GAAG,GAAGD,GAAG,IAAIE,OAAO,GAAG,CAAC,CAAC;AACjF;AAgBA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,MAAMC,YAAY,GAAGD,KAAK,EAAEC,YAAY,IAAIT,cAAc,CAAC,CAAC,CAAC;EAC7D,MAAMU,YAAY,GAAGF,KAAK,EAAEE,YAAY,IAAIV,cAAc,CAAC,CAAC,CAAC;EAC7D,MAAMW,gBAAgB,GAAGH,KAAK,EAAEG,gBAAgB,IAAIX,cAAc,CAAC,CAAC,CAAC;EACrE,MAAMY,gBAAgB,GAAGJ,KAAK,EAAEI,gBAAgB,IAAIZ,cAAc,CAAC,CAAC,CAAC;EAErE,MAAMa,iBAAiB,GAAGZ,gBAAgB,CAAC,OAAO;IAChDa,SAAS,EAAE,CACT;MAAEC,UAAU,EAAEN,YAAY,CAACO;IAAM,CAAC,EAClC;MAAEC,UAAU,EAAEP,YAAY,CAACM;IAAM,CAAC;EAEtC,CAAC,CAAC,CAAC;EAEH,MAAME,WAAW,GAAGhB,WAAW,CAAC,MAAM;IACpC,SAAS;;IACTS,gBAAgB,CAACK,KAAK,GAAGP,YAAY,CAACO,KAAK;IAC3CJ,gBAAgB,CAACI,KAAK,GAAGN,YAAY,CAACM,KAAK;EAC7C,CAAC,EAAE,EAAE,CAAC;EACN,MAAMG,MAAM,GAAGjB,WAAW,CAAEkB,SAA+B,IAAK;IAC9D,SAAS;;IACTV,YAAY,CAACM,KAAK,GAAGb,UAAU,CAC7BS,gBAAgB,CAACI,KAAK,GAAGI,SAAS,CAACC,IAAI,EACvCD,SAAS,CAACE,OAAO,EACjB,GACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAO;IACLH,MAAM;IACND,WAAW;IACXL,iBAAiB;IACjBJ,YAAY;IACZC,YAAY;IACZC,gBAAgB;IAChBC;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ import Animated, { FadeIn, runOnUI } from 'react-native-reanimated';
4
+ import { View } from 'react-native';
5
+ import { forwardRef, createContext, useImperativeHandle } from 'react';
6
+ import { bottomModalStyle as styles } from "../config/bottomSheet.styles.js";
7
+ import { ModalForegroundWrapper, ComponentMounter, DragGesture } from '@shaquillehinds/react-native-essentials';
8
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const BottomSheetContext = /*#__PURE__*/createContext(null);
10
+ export const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
11
+ const controller = props.controller;
12
+ useImperativeHandle(ref, () => ({
13
+ animateCloseModal: prop => {
14
+ controller.disableLayoutAnimation.current = true;
15
+ runOnUI(controller.animateModalClose)(prop);
16
+ },
17
+ snapToIndex: snapPointIndex => {
18
+ runOnUI(controller.animateToSnapPointIndex)(snapPointIndex);
19
+ },
20
+ snapToPercentage: percentage => {
21
+ runOnUI(controller.animateToPercentage)(percentage, controller.screenHeight);
22
+ },
23
+ getModalState: () => controller.modalState.current
24
+ }), [controller.screenHeight, controller.modalState.current]);
25
+ return /*#__PURE__*/_jsx(ModalForegroundWrapper, {
26
+ children: /*#__PURE__*/_jsx(DragGesture, {
27
+ minDistance: 15,
28
+ disable: props.dragArea !== 'full',
29
+ onDrag: controller.onDragGesture,
30
+ onDragStart: controller.onDragStartGesture,
31
+ onDragEnd: controller.onDragEndGesture,
32
+ children: /*#__PURE__*/_jsxs(Animated.View, {
33
+ style: [styles.bottomSheet, props.style, controller.modalDimensionsStyle, controller.dragAnimatedStyle, {
34
+ backgroundColor: props.backgroundColor,
35
+ bottom: controller.modalDimensionsStyle.bottom + (props.bottomOffset || 0)
36
+ }],
37
+ children: [props.hideBumper ? /*#__PURE__*/_jsx(_Fragment, {}) : props.dragArea === 'bumper' || !props.dragArea ? /*#__PURE__*/_jsx(DragGesture, {
38
+ onDrag: controller.onDragGesture,
39
+ onDragStart: controller.onDragStartGesture,
40
+ onDragEnd: controller.onDragEndGesture,
41
+ children: props.BumperComponent ? /*#__PURE__*/_jsx(props.BumperComponent, {}) : /*#__PURE__*/_jsx(Bumper, {
42
+ ...props
43
+ })
44
+ }) : props.BumperComponent ? /*#__PURE__*/_jsx(props.BumperComponent, {}) : /*#__PURE__*/_jsx(Bumper, {
45
+ ...props
46
+ }), /*#__PURE__*/_jsx(Animated.View, {
47
+ onLayout: controller.onModalContentLayout,
48
+ style: [styles.contentContainer, controller.modalContentAnimatedStyle, props.contentContainerStyle],
49
+ children: /*#__PURE__*/_jsx(BottomSheetContext.Provider, {
50
+ value: {
51
+ scrollY: controller.scrollY,
52
+ onBeginScroll: controller.onBeginScroll,
53
+ onUpdateScroll: controller.onUpdateScroll,
54
+ onEndScroll: controller.onEndScroll,
55
+ scrollableComponentRef: controller.scrollableComponentRef,
56
+ maxScrollOffset: controller.maxScrollOffset,
57
+ inverted: controller.inverted
58
+ },
59
+ children: !props.showContentDelay ? props.children : !props.showContentDelay.type || props.showContentDelay.type === 'opacity' ? /*#__PURE__*/_jsx(Animated.View, {
60
+ style: [controller.contentOpacityStyle],
61
+ children: props.children
62
+ }) : /*#__PURE__*/_jsx(ComponentMounter, {
63
+ component: /*#__PURE__*/_jsx(Animated.View, {
64
+ entering: FadeIn.delay(50).duration(200),
65
+ children: props.children
66
+ }),
67
+ mountDelayInMilliSeconds: props.showContentDelay.timeInMilliSecs,
68
+ showComponent: true,
69
+ setShowComponent: () => true
70
+ })
71
+ })
72
+ })]
73
+ })
74
+ })
75
+ });
76
+ });
77
+ function Bumper(props) {
78
+ return /*#__PURE__*/_jsx(View, {
79
+ style: [styles.bumperContainer, {
80
+ backgroundColor: props.backgroundColor
81
+ }, props.bumperContainerStyle],
82
+ children: /*#__PURE__*/_jsx(View, {
83
+ style: [styles.bumper, props.bumperStyle]
84
+ })
85
+ });
86
+ }
87
+ //# sourceMappingURL=BottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Animated","FadeIn","runOnUI","View","forwardRef","createContext","useImperativeHandle","bottomModalStyle","styles","ModalForegroundWrapper","ComponentMounter","DragGesture","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","BottomSheetContext","BottomSheet","props","ref","controller","animateCloseModal","prop","disableLayoutAnimation","current","animateModalClose","snapToIndex","snapPointIndex","animateToSnapPointIndex","snapToPercentage","percentage","animateToPercentage","screenHeight","getModalState","modalState","children","minDistance","disable","dragArea","onDrag","onDragGesture","onDragStart","onDragStartGesture","onDragEnd","onDragEndGesture","style","bottomSheet","modalDimensionsStyle","dragAnimatedStyle","backgroundColor","bottom","bottomOffset","hideBumper","BumperComponent","Bumper","onLayout","onModalContentLayout","contentContainer","modalContentAnimatedStyle","contentContainerStyle","Provider","value","scrollY","onBeginScroll","onUpdateScroll","onEndScroll","scrollableComponentRef","maxScrollOffset","inverted","showContentDelay","type","contentOpacityStyle","component","entering","delay","duration","mountDelayInMilliSeconds","timeInMilliSecs","showComponent","setShowComponent","bumperContainer","bumperContainerStyle","bumper","bumperStyle"],"sourceRoot":"../../../../src","sources":["BottomSheet/components/BottomSheet.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,IAAIC,MAAM,EAAEC,OAAO,QAAQ,yBAAyB;AACnE,SAASC,IAAI,QAAQ,cAAc;AACnC,SACEC,UAAU,EACVC,aAAa,EACbC,mBAAmB,QAEd,OAAO;AACd,SAASC,gBAAgB,IAAIC,MAAM,QAAQ,iCAA8B;AAOzE,SACEC,sBAAsB,EACtBC,gBAAgB,EAChBC,WAAW,QACN,yCAAyC;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjD,OAAO,MAAMC,kBAAkB,gBAAGb,aAAa,CAC7C,IACF,CAAC;AAED,OAAO,MAAMc,WAAW,gBAAGf,UAAU,CACnC,CACEgB,KAEC,EACDC,GAAyB,KACtB;EACH,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;EACnChB,mBAAmB,CACjBe,GAAG,EACH,OAAO;IACLE,iBAAiB,EAAGC,IAAI,IAAK;MAC3BF,UAAU,CAACG,sBAAsB,CAACC,OAAO,GAAG,IAAI;MAChDxB,OAAO,CAACoB,UAAU,CAACK,iBAAiB,CAAC,CAACH,IAAI,CAAC;IAC7C,CAAC;IACDI,WAAW,EAAGC,cAAc,IAAK;MAC/B3B,OAAO,CAACoB,UAAU,CAACQ,uBAAuB,CAAC,CAACD,cAAc,CAAC;IAC7D,CAAC;IACDE,gBAAgB,EAAGC,UAAU,IAAK;MAChC9B,OAAO,CAACoB,UAAU,CAACW,mBAAmB,CAAC,CACrCD,UAAU,EACVV,UAAU,CAACY,YACb,CAAC;IACH,CAAC;IACDC,aAAa,EAAEA,CAAA,KAAMb,UAAU,CAACc,UAAU,CAACV;EAC7C,CAAC,CAAC,EACF,CAACJ,UAAU,CAACY,YAAY,EAAEZ,UAAU,CAACc,UAAU,CAACV,OAAO,CACzD,CAAC;EACD,oBACEX,IAAA,CAACN,sBAAsB;IAAA4B,QAAA,eACrBtB,IAAA,CAACJ,WAAW;MACV2B,WAAW,EAAE,EAAG;MAChBC,OAAO,EAAEnB,KAAK,CAACoB,QAAQ,KAAK,MAAO;MACnCC,MAAM,EAAEnB,UAAU,CAACoB,aAAc;MACjCC,WAAW,EAAErB,UAAU,CAACsB,kBAAmB;MAC3CC,SAAS,EAAEvB,UAAU,CAACwB,gBAAiB;MAAAT,QAAA,eAEvCpB,KAAA,CAACjB,QAAQ,CAACG,IAAI;QACZ4C,KAAK,EAAE,CACLvC,MAAM,CAACwC,WAAW,EAClB5B,KAAK,CAAC2B,KAAK,EACXzB,UAAU,CAAC2B,oBAAoB,EAC/B3B,UAAU,CAAC4B,iBAAiB,EAC5B;UACEC,eAAe,EAAE/B,KAAK,CAAC+B,eAAe;UACtCC,MAAM,EACJ9B,UAAU,CAAC2B,oBAAoB,CAACG,MAAM,IACrChC,KAAK,CAACiC,YAAY,IAAI,CAAC;QAC5B,CAAC,CACD;QAAAhB,QAAA,GAEDjB,KAAK,CAACkC,UAAU,gBACfvC,IAAA,CAAAF,SAAA,IAAI,CAAC,GACHO,KAAK,CAACoB,QAAQ,KAAK,QAAQ,IAAI,CAACpB,KAAK,CAACoB,QAAQ,gBAChDzB,IAAA,CAACJ,WAAW;UACV8B,MAAM,EAAEnB,UAAU,CAACoB,aAAc;UACjCC,WAAW,EAAErB,UAAU,CAACsB,kBAAmB;UAC3CC,SAAS,EAAEvB,UAAU,CAACwB,gBAAiB;UAAAT,QAAA,EAEtCjB,KAAK,CAACmC,eAAe,gBACpBxC,IAAA,CAACK,KAAK,CAACmC,eAAe,IAAE,CAAC,gBAEzBxC,IAAA,CAACyC,MAAM;YAAA,GAAKpC;UAAK,CAAG;QACrB,CACU,CAAC,GACZA,KAAK,CAACmC,eAAe,gBACvBxC,IAAA,CAACK,KAAK,CAACmC,eAAe,IAAE,CAAC,gBAEzBxC,IAAA,CAACyC,MAAM;UAAA,GAAKpC;QAAK,CAAG,CACrB,eACDL,IAAA,CAACf,QAAQ,CAACG,IAAI;UACZsD,QAAQ,EAAEnC,UAAU,CAACoC,oBAAqB;UAC1CX,KAAK,EAAE,CACLvC,MAAM,CAACmD,gBAAgB,EACvBrC,UAAU,CAACsC,yBAAyB,EACpCxC,KAAK,CAACyC,qBAAqB,CAC3B;UAAAxB,QAAA,eAEFtB,IAAA,CAACG,kBAAkB,CAAC4C,QAAQ;YAC1BC,KAAK,EAAE;cACLC,OAAO,EAAE1C,UAAU,CAAC0C,OAAO;cAC3BC,aAAa,EAAE3C,UAAU,CAAC2C,aAAa;cACvCC,cAAc,EAAE5C,UAAU,CAAC4C,cAAc;cACzCC,WAAW,EAAE7C,UAAU,CAAC6C,WAAW;cACnCC,sBAAsB,EAAE9C,UAAU,CAAC8C,sBAAsB;cACzDC,eAAe,EAAE/C,UAAU,CAAC+C,eAAe;cAC3CC,QAAQ,EAAEhD,UAAU,CAACgD;YACvB,CAAE;YAAAjC,QAAA,EAED,CAACjB,KAAK,CAACmD,gBAAgB,GACtBnD,KAAK,CAACiB,QAAQ,GACZ,CAACjB,KAAK,CAACmD,gBAAgB,CAACC,IAAI,IAC9BpD,KAAK,CAACmD,gBAAgB,CAACC,IAAI,KAAK,SAAS,gBACzCzD,IAAA,CAACf,QAAQ,CAACG,IAAI;cAAC4C,KAAK,EAAE,CAACzB,UAAU,CAACmD,mBAAmB,CAAE;cAAApC,QAAA,EACpDjB,KAAK,CAACiB;YAAQ,CACF,CAAC,gBAEhBtB,IAAA,CAACL,gBAAgB;cACfgE,SAAS,eACP3D,IAAA,CAACf,QAAQ,CAACG,IAAI;gBAACwE,QAAQ,EAAE1E,MAAM,CAAC2E,KAAK,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,GAAG,CAAE;gBAAAxC,QAAA,EACrDjB,KAAK,CAACiB;cAAQ,CACF,CAChB;cACDyC,wBAAwB,EACtB1D,KAAK,CAACmD,gBAAgB,CAACQ,eACxB;cACDC,aAAa,EAAE,IAAK;cACpBC,gBAAgB,EAAEA,CAAA,KAAM;YAAK,CAC9B;UACF,CAC0B;QAAC,CACjB,CAAC;MAAA,CACH;IAAC,CACL;EAAC,CACQ,CAAC;AAE7B,CACF,CAAC;AAED,SAASzB,MAAMA,CAACpC,KAA0C,EAAE;EAC1D,oBACEL,IAAA,CAACZ,IAAI;IACH4C,KAAK,EAAE,CACLvC,MAAM,CAAC0E,eAAe,EACtB;MAAE/B,eAAe,EAAE/B,KAAK,CAAC+B;IAAgB,CAAC,EAC1C/B,KAAK,CAAC+D,oBAAoB,CAC1B;IAAA9C,QAAA,eAEFtB,IAAA,CAACZ,IAAI;MAAC4C,KAAK,EAAE,CAACvC,MAAM,CAAC4E,MAAM,EAAEhE,KAAK,CAACiE,WAAW;IAAE,CAAE;EAAC,CAC/C,CAAC;AAEX","ignoreList":[]}