@draftbit/core 48.4.8-f6d6b8.2 → 48.4.8-fa5021.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 (298) hide show
  1. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  2. package/package.json +3 -3
  3. package/src/Provider.js +10 -0
  4. package/src/Provider.js.map +1 -0
  5. package/src/components/AccordionGroup.js +45 -0
  6. package/src/components/AccordionGroup.js.map +1 -0
  7. package/src/components/ActionSheet/ActionSheet.js +46 -0
  8. package/src/components/ActionSheet/ActionSheet.js.map +1 -0
  9. package/src/components/ActionSheet/ActionSheetCancel.js +7 -0
  10. package/src/components/ActionSheet/ActionSheetCancel.js.map +1 -0
  11. package/src/components/ActionSheet/ActionSheetItem.js +31 -0
  12. package/src/components/ActionSheet/ActionSheetItem.js.map +1 -0
  13. package/src/components/ActionSheet/index.js +4 -0
  14. package/src/components/ActionSheet/index.js.map +1 -0
  15. package/src/components/AspectRatio.js +19 -0
  16. package/src/components/AspectRatio.js.map +1 -0
  17. package/src/components/BottomSheet/BottomSheet.js +72 -0
  18. package/src/components/BottomSheet/BottomSheet.js.map +1 -0
  19. package/src/components/BottomSheet/BottomSheetComponent.js +438 -0
  20. package/src/components/BottomSheet/BottomSheetComponent.js.map +1 -0
  21. package/src/components/BottomSheet/index.js +2 -0
  22. package/src/components/BottomSheet/index.js.map +1 -0
  23. package/src/components/Button.js +121 -0
  24. package/src/components/Button.js.map +1 -0
  25. package/src/components/Checkbox/Checkbox.js +63 -0
  26. package/src/components/Checkbox/Checkbox.js.map +1 -0
  27. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  28. package/src/components/Checkbox/CheckboxGroupRow.js.map +1 -0
  29. package/src/components/Checkbox/CheckboxRow.js +78 -0
  30. package/src/components/Checkbox/CheckboxRow.js.map +1 -0
  31. package/src/components/Checkbox/context.js +15 -0
  32. package/src/components/Checkbox/context.js.map +1 -0
  33. package/src/components/Checkbox/index.js +3 -0
  34. package/src/components/Checkbox/index.js.map +1 -0
  35. package/src/components/Config.js +65 -0
  36. package/src/components/Config.js.map +1 -0
  37. package/src/components/DatePicker/DatePicker.js +384 -0
  38. package/src/components/DatePicker/DatePicker.js.map +1 -0
  39. package/src/components/DatePicker/DatePickerComponent.js +14 -0
  40. package/src/components/DatePicker/DatePickerComponent.js.map +1 -0
  41. package/src/components/DatePicker/DatePickerComponent.web.js +31 -0
  42. package/src/components/DatePicker/DatePickerComponent.web.js.map +1 -0
  43. package/src/components/DatePicker/DatePickerComponentType.js +2 -0
  44. package/src/components/DatePicker/DatePickerComponentType.js.map +1 -0
  45. package/src/components/DeckSwiper/DeckSwiper.js +91 -0
  46. package/src/components/DeckSwiper/DeckSwiper.js.map +1 -0
  47. package/src/components/DeckSwiper/DeckSwiperCard.js +21 -0
  48. package/src/components/DeckSwiper/DeckSwiperCard.js.map +1 -0
  49. package/src/components/DeckSwiper/index.js +3 -0
  50. package/src/components/DeckSwiper/index.js.map +1 -0
  51. package/src/components/Divider.js +14 -0
  52. package/src/components/Divider.js.map +1 -0
  53. package/src/components/Elevation.js +21 -0
  54. package/src/components/Elevation.js.map +1 -0
  55. package/src/components/FormRow.js +20 -0
  56. package/src/components/FormRow.js.map +1 -0
  57. package/src/components/IconButton.js +36 -0
  58. package/src/components/IconButton.js.map +1 -0
  59. package/src/components/Image.js +48 -0
  60. package/src/components/Image.js.map +1 -0
  61. package/src/components/Layout/AspectRatio.js +7 -0
  62. package/src/components/Layout/AspectRatio.js.map +1 -0
  63. package/src/components/Layout/Center.js +15 -0
  64. package/src/components/Layout/Center.js.map +1 -0
  65. package/src/components/Layout/Circle.js +16 -0
  66. package/src/components/Layout/Circle.js.map +1 -0
  67. package/src/components/Layout/HStack.js +12 -0
  68. package/src/components/Layout/HStack.js.map +1 -0
  69. package/src/components/Layout/LayoutCommon.js +8 -0
  70. package/src/components/Layout/LayoutCommon.js.map +1 -0
  71. package/src/components/Layout/Spacer.js +15 -0
  72. package/src/components/Layout/Spacer.js.map +1 -0
  73. package/src/components/Layout/Square.js +25 -0
  74. package/src/components/Layout/Square.js.map +1 -0
  75. package/src/components/Layout/VStack.js +12 -0
  76. package/src/components/Layout/VStack.js.map +1 -0
  77. package/src/components/Layout/ZStack.js +20 -0
  78. package/src/components/Layout/ZStack.js.map +1 -0
  79. package/src/components/Layout/index.js +9 -0
  80. package/src/components/Layout/index.js.map +1 -0
  81. package/src/components/Markdown.js +11 -0
  82. package/src/components/Markdown.js.map +1 -0
  83. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.js +2 -0
  84. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerCommon.js.map +1 -0
  85. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.js +126 -0
  86. package/src/components/MediaPlayer/AudioPlayer/AudioPlayerWithInterface.js.map +1 -0
  87. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +93 -0
  88. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -0
  89. package/src/components/MediaPlayer/AudioPlayer/index.js +15 -0
  90. package/src/components/MediaPlayer/AudioPlayer/index.js.map +1 -0
  91. package/src/components/MediaPlayer/MediaPlaybackWrapper.js +42 -0
  92. package/src/components/MediaPlayer/MediaPlaybackWrapper.js.map +1 -0
  93. package/src/components/MediaPlayer/MediaPlayerCommon.js +24 -0
  94. package/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -0
  95. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +75 -0
  96. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -0
  97. package/src/components/MediaPlayer/VideoPlayer/index.js +2 -0
  98. package/src/components/MediaPlayer/VideoPlayer/index.js.map +1 -0
  99. package/src/components/NumberInput.js +60 -0
  100. package/src/components/NumberInput.js.map +1 -0
  101. package/src/components/Picker/Picker.js +288 -0
  102. package/src/components/Picker/Picker.js.map +1 -0
  103. package/src/components/Picker/PickerComponent.android.js +70 -0
  104. package/src/components/Picker/PickerComponent.android.js.map +1 -0
  105. package/src/components/Picker/PickerComponent.ios.js +80 -0
  106. package/src/components/Picker/PickerComponent.ios.js.map +1 -0
  107. package/src/components/Picker/PickerComponent.web.js +71 -0
  108. package/src/components/Picker/PickerComponent.web.js.map +1 -0
  109. package/src/components/Picker/PickerTypes.js +2 -0
  110. package/src/components/Picker/PickerTypes.js.map +1 -0
  111. package/src/components/PinInput/CustomPinInputCell.js +11 -0
  112. package/src/components/PinInput/CustomPinInputCell.js.map +1 -0
  113. package/src/components/PinInput/PinInput.js +70 -0
  114. package/src/components/PinInput/PinInput.js.map +1 -0
  115. package/src/components/PinInput/PinInputText.js +14 -0
  116. package/src/components/PinInput/PinInputText.js.map +1 -0
  117. package/src/components/PinInput/index.js +4 -0
  118. package/src/components/PinInput/index.js.map +1 -0
  119. package/src/components/Portal/Portal.js +36 -0
  120. package/src/components/Portal/Portal.js.map +1 -0
  121. package/src/components/Portal/PortalConsumer.js +28 -0
  122. package/src/components/Portal/PortalConsumer.js.map +1 -0
  123. package/src/components/Portal/PortalHost.js +108 -0
  124. package/src/components/Portal/PortalHost.js.map +1 -0
  125. package/src/components/Portal/PortalManager.js +33 -0
  126. package/src/components/Portal/PortalManager.js.map +1 -0
  127. package/src/components/Pressable.js +13 -0
  128. package/src/components/Pressable.js.map +1 -0
  129. package/src/components/Progress/CircularProgress/CircularProgress.js +103 -0
  130. package/src/components/Progress/CircularProgress/CircularProgress.js.map +1 -0
  131. package/src/components/Progress/CircularProgress/index.js +14 -0
  132. package/src/components/Progress/CircularProgress/index.js.map +1 -0
  133. package/src/components/Progress/IndeterminateProgress.js +39 -0
  134. package/src/components/Progress/IndeterminateProgress.js.map +1 -0
  135. package/src/components/Progress/LinearProgress/LinearProgress.js +56 -0
  136. package/src/components/Progress/LinearProgress/LinearProgress.js.map +1 -0
  137. package/src/components/Progress/LinearProgress/index.js +14 -0
  138. package/src/components/Progress/LinearProgress/index.js.map +1 -0
  139. package/src/components/Progress/ProgressCommon.js +2 -0
  140. package/src/components/Progress/ProgressCommon.js.map +1 -0
  141. package/src/components/ProgressIndicator.js +28 -0
  142. package/src/components/ProgressIndicator.js.map +1 -0
  143. package/src/components/RadioButton/RadioButton.js +18 -0
  144. package/src/components/RadioButton/RadioButton.js.map +1 -0
  145. package/src/components/RadioButton/RadioButtonGroup.js +44 -0
  146. package/src/components/RadioButton/RadioButtonGroup.js.map +1 -0
  147. package/src/components/RadioButton/RadioButtonRow.js +77 -0
  148. package/src/components/RadioButton/RadioButtonRow.js.map +1 -0
  149. package/src/components/RadioButton/context.js +15 -0
  150. package/src/components/RadioButton/context.js.map +1 -0
  151. package/src/components/RadioButton/index.js +4 -0
  152. package/src/components/RadioButton/index.js.map +1 -0
  153. package/src/components/Row.js +49 -0
  154. package/src/components/Row.js.map +1 -0
  155. package/src/components/SVG.js +14 -0
  156. package/src/components/SVG.js.map +1 -0
  157. package/src/components/ScreenContainer.js +36 -0
  158. package/src/components/ScreenContainer.js.map +1 -0
  159. package/src/components/SectionList/SectionHeader.js +14 -0
  160. package/src/components/SectionList/SectionHeader.js.map +1 -0
  161. package/src/components/SectionList/SectionList.js +101 -0
  162. package/src/components/SectionList/SectionList.js.map +1 -0
  163. package/src/components/SectionList/index.js +3 -0
  164. package/src/components/SectionList/index.js.map +1 -0
  165. package/src/components/Shadow.js +26 -0
  166. package/src/components/Shadow.js.map +1 -0
  167. package/src/components/Slider.js +64 -0
  168. package/src/components/Slider.js.map +1 -0
  169. package/src/components/StarRating.js +51 -0
  170. package/src/components/StarRating.js.map +1 -0
  171. package/src/components/StepIndicator.js +347 -0
  172. package/src/components/StepIndicator.js.map +1 -0
  173. package/src/components/Stepper.js +42 -0
  174. package/src/components/Stepper.js.map +1 -0
  175. package/src/components/Surface.js +33 -0
  176. package/src/components/Surface.js.map +1 -0
  177. package/src/components/SwipeableItem/SwipeableItem.js +119 -0
  178. package/src/components/SwipeableItem/SwipeableItem.js.map +1 -0
  179. package/src/components/SwipeableItem/SwipeableItemButton.js +6 -0
  180. package/src/components/SwipeableItem/SwipeableItemButton.js.map +1 -0
  181. package/src/components/SwipeableItem/SwipeableItemCommon.js +44 -0
  182. package/src/components/SwipeableItem/SwipeableItemCommon.js.map +1 -0
  183. package/src/components/SwipeableItem/SwipeableList.js +29 -0
  184. package/src/components/SwipeableItem/SwipeableList.js.map +1 -0
  185. package/src/components/SwipeableItem/index.js +4 -0
  186. package/src/components/SwipeableItem/index.js.map +1 -0
  187. package/src/components/Swiper/Swiper.js +74 -0
  188. package/src/components/Swiper/Swiper.js.map +1 -0
  189. package/src/components/Swiper/SwiperItem.js +10 -0
  190. package/src/components/Swiper/SwiperItem.js.map +1 -0
  191. package/src/components/Swiper/index.js +3 -0
  192. package/src/components/Swiper/index.js.map +1 -0
  193. package/src/components/Switch.js +57 -0
  194. package/src/components/Switch.js.map +1 -0
  195. package/src/components/TabView/TabView.js +55 -0
  196. package/src/components/TabView/TabView.js.map +1 -0
  197. package/src/components/TabView/TabViewItem.js +12 -0
  198. package/src/components/TabView/TabViewItem.js.map +1 -0
  199. package/src/components/TabView/index.js +3 -0
  200. package/src/components/TabView/index.js.map +1 -0
  201. package/src/components/Table/Table.js +94 -0
  202. package/src/components/Table/Table.js.map +1 -0
  203. package/src/components/Table/TableCell.js +34 -0
  204. package/src/components/Table/TableCell.js.map +1 -0
  205. package/src/components/Table/TableCommon.js +13 -0
  206. package/src/components/Table/TableCommon.js.map +1 -0
  207. package/src/components/Table/TableRow.js +40 -0
  208. package/src/components/Table/TableRow.js.map +1 -0
  209. package/src/components/Table/index.js +4 -0
  210. package/src/components/Table/index.js.map +1 -0
  211. package/src/components/Text.js +34 -0
  212. package/src/components/Text.js.map +1 -0
  213. package/src/components/TextField.js +430 -0
  214. package/src/components/TextField.js.map +1 -0
  215. package/src/components/TextInput.js +15 -0
  216. package/src/components/TextInput.js.map +1 -0
  217. package/src/components/Touchable.js +13 -0
  218. package/src/components/Touchable.js.map +1 -0
  219. package/src/components/Touchable.web.js +3 -0
  220. package/src/components/Touchable.web.js.map +1 -0
  221. package/src/components/Typography.js +37 -0
  222. package/src/components/Typography.js.map +1 -0
  223. package/src/components/YoutubePlayer/YoutubePlayer.js +21 -0
  224. package/src/components/YoutubePlayer/YoutubePlayer.js.map +1 -0
  225. package/src/components/YoutubePlayer/YoutubePlayer.native.js +10 -0
  226. package/src/components/YoutubePlayer/YoutubePlayer.native.js.map +1 -0
  227. package/src/components/YoutubePlayer/YoutubePlayerProps.js +2 -0
  228. package/src/components/YoutubePlayer/YoutubePlayerProps.js.map +1 -0
  229. package/src/components/YoutubePlayer/index.js +2 -0
  230. package/src/components/YoutubePlayer/index.js.map +1 -0
  231. package/src/components/useAuthState.js +35 -0
  232. package/src/components/useAuthState.js.map +1 -0
  233. package/src/constants.js +11 -0
  234. package/src/constants.js.map +1 -0
  235. package/src/deprecated-components/AccordionItem.js +36 -0
  236. package/src/deprecated-components/AccordionItem.js.map +1 -0
  237. package/src/deprecated-components/AnimatedCircularProgress.js +47 -0
  238. package/src/deprecated-components/AnimatedCircularProgress.js.map +1 -0
  239. package/src/deprecated-components/AvatarEdit.js +34 -0
  240. package/src/deprecated-components/AvatarEdit.js.map +1 -0
  241. package/src/deprecated-components/Banner.js +113 -0
  242. package/src/deprecated-components/Banner.js.map +1 -0
  243. package/src/deprecated-components/Card.js +61 -0
  244. package/src/deprecated-components/Card.js.map +1 -0
  245. package/src/deprecated-components/CheckboxGroup.js +25 -0
  246. package/src/deprecated-components/CheckboxGroup.js.map +1 -0
  247. package/src/deprecated-components/CircleImage.js +12 -0
  248. package/src/deprecated-components/CircleImage.js.map +1 -0
  249. package/src/deprecated-components/CircularProgress.js +85 -0
  250. package/src/deprecated-components/CircularProgress.js.map +1 -0
  251. package/src/deprecated-components/Container.js +47 -0
  252. package/src/deprecated-components/Container.js.map +1 -0
  253. package/src/deprecated-components/DeprecatedButton.js +87 -0
  254. package/src/deprecated-components/DeprecatedButton.js.map +1 -0
  255. package/src/deprecated-components/DeprecatedCardWrapper.js +22 -0
  256. package/src/deprecated-components/DeprecatedCardWrapper.js.map +1 -0
  257. package/src/deprecated-components/DeprecatedFAB.js +118 -0
  258. package/src/deprecated-components/DeprecatedFAB.js.map +1 -0
  259. package/src/deprecated-components/FAB.js +50 -0
  260. package/src/deprecated-components/FAB.js.map +1 -0
  261. package/src/deprecated-components/FieldSearchBarFull.js +57 -0
  262. package/src/deprecated-components/FieldSearchBarFull.js.map +1 -0
  263. package/src/deprecated-components/Layout.js +69 -0
  264. package/src/deprecated-components/Layout.js.map +1 -0
  265. package/src/deprecated-components/ProgressBar.js +122 -0
  266. package/src/deprecated-components/ProgressBar.js.map +1 -0
  267. package/src/deprecated-components/ProgressCircle.js +17 -0
  268. package/src/deprecated-components/ProgressCircle.js.map +1 -0
  269. package/src/deprecated-components/RadioButtonFieldGroup.js +21 -0
  270. package/src/deprecated-components/RadioButtonFieldGroup.js.map +1 -0
  271. package/src/deprecated-components/RowBodyIcon.js +12 -0
  272. package/src/deprecated-components/RowBodyIcon.js.map +1 -0
  273. package/src/deprecated-components/RowHeadlineImageCaption.js +16 -0
  274. package/src/deprecated-components/RowHeadlineImageCaption.js.map +1 -0
  275. package/src/deprecated-components/RowHeadlineImageIcon.js +18 -0
  276. package/src/deprecated-components/RowHeadlineImageIcon.js.map +1 -0
  277. package/src/deprecated-components/ToggleButton.js +43 -0
  278. package/src/deprecated-components/ToggleButton.js.map +1 -0
  279. package/src/hooks.js +25 -0
  280. package/src/hooks.js.map +1 -0
  281. package/src/index.js +66 -0
  282. package/src/index.js.map +1 -0
  283. package/src/interfaces/Icon.js +9 -0
  284. package/src/interfaces/Icon.js.map +1 -0
  285. package/src/styles/DarkTheme.js +27 -0
  286. package/src/styles/DarkTheme.js.map +1 -0
  287. package/src/styles/DefaultTheme.js +112 -0
  288. package/src/styles/DefaultTheme.js.map +1 -0
  289. package/src/styles/fonts.js +63 -0
  290. package/src/styles/fonts.js.map +1 -0
  291. package/src/styles/overlay.js +61 -0
  292. package/src/styles/overlay.js.map +1 -0
  293. package/src/styles/shadow.js +52 -0
  294. package/src/styles/shadow.js.map +1 -0
  295. package/src/theming.js +4 -0
  296. package/src/theming.js.map +1 -0
  297. package/src/utilities.js +180 -0
  298. package/src/utilities.js.map +1 -0
@@ -0,0 +1,438 @@
1
+ /**
2
+ * Slightly modfied version as taken from https://github.com/rgommezz/react-native-scroll-bottom-sheet
3
+ * Main previously breaking change:
4
+ * const node = this.props.innerRef.current?.getNode() ==> const node = this.props.innerRef.current as any
5
+ */
6
+ /**
7
+ * Copyright (c) 2020 Raul Gomez Acuna
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ *
12
+ */
13
+ import React, { Component } from "react";
14
+ import { Dimensions, FlatList, Platform, ScrollView, SectionList, StyleSheet, View, } from "react-native";
15
+ import Animated, { abs, add, and, call, Clock, clockRunning, cond, Easing as EasingDeprecated,
16
+ // @ts-ignore: this property is only present in Reanimated 2
17
+ EasingNode, eq, event, Extrapolate, greaterOrEq, greaterThan, multiply, not, onChange, or, set, startClock, stopClock, sub, spring, timing, Value, } from "react-native-reanimated";
18
+ import { NativeViewGestureHandler, PanGestureHandler, State as GestureState, TapGestureHandler, } from "react-native-gesture-handler";
19
+ const {
20
+ //@ts-ignore
21
+ interpolate: interpolateDeprecated,
22
+ // @ts-ignore: this property is only present in Reanimated 2
23
+ interpolateNode, } = Animated;
24
+ const interpolate = interpolateNode !== null && interpolateNode !== void 0 ? interpolateNode : interpolateDeprecated;
25
+ //@ts-ignore
26
+ const Easing = EasingNode !== null && EasingNode !== void 0 ? EasingNode : EasingDeprecated;
27
+ const FlatListComponentType = "FlatList";
28
+ const ScrollViewComponentType = "ScrollView";
29
+ const SectionListComponentType = "SectionList";
30
+ const TimingAnimationType = "timing";
31
+ const SpringAnimationType = "spring";
32
+ const DEFAULT_SPRING_PARAMS = {
33
+ damping: 50,
34
+ mass: 0.3,
35
+ stiffness: 121.6,
36
+ overshootClamping: true,
37
+ restSpeedThreshold: 0.3,
38
+ restDisplacementThreshold: 0.3,
39
+ };
40
+ const { height: windowHeight } = Dimensions.get("window");
41
+ const IOS_NORMAL_DECELERATION_RATE = 0.998;
42
+ const ANDROID_NORMAL_DECELERATION_RATE = 0.985;
43
+ const DEFAULT_ANIMATION_DURATION = 250;
44
+ const DEFAULT_EASING = Easing.inOut(Easing.linear);
45
+ const imperativeScrollOptions = {
46
+ [FlatListComponentType]: {
47
+ method: "scrollToIndex",
48
+ args: {
49
+ index: 0,
50
+ viewPosition: 0,
51
+ viewOffset: 1000,
52
+ animated: true,
53
+ },
54
+ },
55
+ [ScrollViewComponentType]: {
56
+ method: "scrollTo",
57
+ args: {
58
+ x: 0,
59
+ y: 0,
60
+ animated: true,
61
+ },
62
+ },
63
+ [SectionListComponentType]: {
64
+ method: "scrollToLocation",
65
+ args: {
66
+ itemIndex: 0,
67
+ sectionIndex: 0,
68
+ viewPosition: 0,
69
+ viewOffset: 1000,
70
+ animated: true,
71
+ },
72
+ },
73
+ };
74
+ export class ScrollBottomSheet extends Component {
75
+ constructor(props) {
76
+ var _a;
77
+ super(props);
78
+ /**
79
+ * Gesture Handler references
80
+ */
81
+ this.masterDrawer = React.createRef();
82
+ this.drawerHandleRef = React.createRef();
83
+ this.drawerContentRef = React.createRef();
84
+ this.scrollComponentRef = React.createRef();
85
+ /**
86
+ * Flag to indicate imperative snapping
87
+ */
88
+ this.isManuallySetValue = new Value(0);
89
+ /**
90
+ * Manual snapping amount
91
+ */
92
+ this.manualYOffset = new Value(0);
93
+ this.prevSnapIndex = -1;
94
+ this.dragY = new Value(0);
95
+ this.prevDragY = new Value(0);
96
+ this.tempDestSnapPoint = new Value(0);
97
+ this.isAndroid = new Value(Number(Platform.OS === "android"));
98
+ this.animationClock = new Clock();
99
+ this.animationPosition = new Value(0);
100
+ this.animationFinished = new Value(0);
101
+ this.animationFrameTime = new Value(0);
102
+ this.velocityY = new Value(0);
103
+ this.lastStartScrollY = new Value(0);
104
+ this.destSnapPoint = new Value(0);
105
+ this.dragWithHandle = new Value(0);
106
+ this.scrollUpAndPullDown = new Value(0);
107
+ this.convertPercentageToDp = (str) => (Number(str.split("%")[0]) * (windowHeight - this.props.topInset)) / 100;
108
+ this.getNormalisedSnapPoints = () => {
109
+ return this.props.snapPoints.map((p) => {
110
+ if (typeof p === "string") {
111
+ return this.convertPercentageToDp(p);
112
+ }
113
+ else if (typeof p === "number") {
114
+ return p;
115
+ }
116
+ throw new Error(`Invalid type for value ${p}: ${typeof p}. It should be either a percentage string or a number`);
117
+ });
118
+ };
119
+ this.getScrollComponent = () => {
120
+ switch (this.props.componentType) {
121
+ case "FlatList":
122
+ return FlatList;
123
+ case "ScrollView":
124
+ return ScrollView;
125
+ case "SectionList":
126
+ return SectionList;
127
+ default:
128
+ throw new Error("Component type not supported: it should be one of `FlatList`, `ScrollView` or `SectionList`");
129
+ }
130
+ };
131
+ this.snapTo = (index) => {
132
+ const snapPoints = this.getNormalisedSnapPoints();
133
+ this.isManuallySetValue.setValue(1);
134
+ this.manualYOffset.setValue(snapPoints[index]);
135
+ this.nextSnapIndex.setValue(index);
136
+ };
137
+ const { initialSnapIndex, animationType } = props;
138
+ const animationDriver = animationType === "timing" ? 0 : 1;
139
+ const animationDuration = (props.animationType === "timing" && ((_a = props.animationConfig) === null || _a === void 0 ? void 0 : _a.duration)) ||
140
+ DEFAULT_ANIMATION_DURATION;
141
+ const ScrollComponent = this.getScrollComponent();
142
+ // @ts-ignore
143
+ this.scrollComponent = Animated.createAnimatedComponent(ScrollComponent);
144
+ const snapPoints = this.getNormalisedSnapPoints();
145
+ const openPosition = snapPoints[0];
146
+ const closedPosition = this.props.enableOverScroll
147
+ ? windowHeight
148
+ : snapPoints[snapPoints.length - 1];
149
+ const initialSnap = snapPoints[initialSnapIndex];
150
+ this.nextSnapIndex = new Value(initialSnapIndex);
151
+ const initialDecelerationRate = Platform.select({
152
+ android: props.initialSnapIndex === 0 ? ANDROID_NORMAL_DECELERATION_RATE : 0,
153
+ ios: IOS_NORMAL_DECELERATION_RATE,
154
+ });
155
+ this.decelerationRate = new Value(initialDecelerationRate);
156
+ //@ts-ignore
157
+ const handleGestureState = new Value(-1);
158
+ //@ts-ignore
159
+ const handleOldGestureState = new Value(-1);
160
+ //@ts-ignore
161
+ const drawerGestureState = new Value(-1);
162
+ //@ts-ignore
163
+ const drawerOldGestureState = new Value(-1);
164
+ const lastSnapInRange = new Value(1);
165
+ this.prevTranslateYOffset = new Value(initialSnap);
166
+ this.translationY = new Value(initialSnap);
167
+ this.lastSnap = new Value(initialSnap);
168
+ this.onHandleGestureEvent = event([
169
+ {
170
+ nativeEvent: {
171
+ translationY: this.dragY,
172
+ oldState: handleOldGestureState,
173
+ state: handleGestureState,
174
+ velocityY: this.velocityY,
175
+ },
176
+ },
177
+ ]);
178
+ this.onDrawerGestureEvent = event([
179
+ {
180
+ nativeEvent: {
181
+ translationY: this.dragY,
182
+ oldState: drawerOldGestureState,
183
+ state: drawerGestureState,
184
+ velocityY: this.velocityY,
185
+ },
186
+ },
187
+ ]);
188
+ this.onScrollBeginDrag = event([
189
+ {
190
+ nativeEvent: {
191
+ contentOffset: { y: this.lastStartScrollY },
192
+ },
193
+ },
194
+ ]);
195
+ const didHandleGestureBegin = eq(handleGestureState, GestureState.ACTIVE);
196
+ const isAnimationInterrupted = and(or(eq(handleGestureState, GestureState.BEGAN), eq(drawerGestureState, GestureState.BEGAN), and(eq(this.isAndroid, 0), eq(animationDriver, 1), or(eq(drawerGestureState, GestureState.ACTIVE), eq(handleGestureState, GestureState.ACTIVE)))), clockRunning(this.animationClock));
197
+ this.didGestureFinish = or(and(eq(handleOldGestureState, GestureState.ACTIVE), eq(handleGestureState, GestureState.END)), and(eq(drawerOldGestureState, GestureState.ACTIVE), eq(drawerGestureState, GestureState.END)));
198
+ // Function that determines if the last snap point is in the range {snapPoints}
199
+ // In the case of interruptions in the middle of an animation, we'll get
200
+ // lastSnap values outside the range
201
+ const isLastSnapPointInRange = (i = 0) => i === snapPoints.length
202
+ ? lastSnapInRange
203
+ : cond(eq(this.lastSnap, snapPoints[i]), [set(lastSnapInRange, 1)], isLastSnapPointInRange(i + 1));
204
+ const scrollY = [
205
+ set(lastSnapInRange, 0),
206
+ isLastSnapPointInRange(),
207
+ cond(or(didHandleGestureBegin, and(this.isManuallySetValue, not(eq(this.manualYOffset, snapPoints[0])))), [set(this.dragWithHandle, 1), 0]),
208
+ cond(
209
+ // This is to account for a continuous scroll on the drawer from a snap point
210
+ // Different than top, bringing the drawer to the top position, so that if we
211
+ // change scroll direction without releasing the gesture, it doesn't pull down the drawer again
212
+ and(eq(this.dragWithHandle, 1), greaterThan(snapPoints[0], add(this.lastSnap, this.dragY)), and(not(eq(this.lastSnap, snapPoints[0])), lastSnapInRange)), [
213
+ set(this.lastSnap, snapPoints[0]),
214
+ set(this.dragWithHandle, 0),
215
+ this.lastStartScrollY,
216
+ ], cond(eq(this.dragWithHandle, 1), 0, this.lastStartScrollY)),
217
+ ];
218
+ this.didScrollUpAndPullDown = cond(and(greaterOrEq(this.dragY, this.lastStartScrollY), greaterThan(this.lastStartScrollY, 0)), set(this.scrollUpAndPullDown, 1));
219
+ this.setTranslationY = cond(and(not(this.dragWithHandle), not(greaterOrEq(this.dragY, this.lastStartScrollY))), set(this.translationY, sub(this.dragY, this.lastStartScrollY)), set(this.translationY, this.dragY));
220
+ this.extraOffset = cond(eq(this.scrollUpAndPullDown, 1), this.lastStartScrollY, 0);
221
+ const endOffsetY = add(this.lastSnap, this.translationY, multiply(1 - props.friction, this.velocityY));
222
+ this.calculateNextSnapPoint = (i = 0) => i === snapPoints.length
223
+ ? this.tempDestSnapPoint
224
+ : cond(greaterThan(abs(sub(this.tempDestSnapPoint, endOffsetY)), abs(sub(add(snapPoints[i], this.extraOffset), endOffsetY))), [
225
+ set(this.tempDestSnapPoint, add(snapPoints[i], this.extraOffset)),
226
+ set(this.nextSnapIndex, i),
227
+ this.calculateNextSnapPoint(i + 1),
228
+ ], this.calculateNextSnapPoint(i + 1));
229
+ const runAnimation = ({ clock, from, to, position, finished, velocity, frameTime, }) => {
230
+ var _a;
231
+ const state = {
232
+ finished,
233
+ velocity: new Value(0),
234
+ position,
235
+ time: new Value(0),
236
+ frameTime,
237
+ };
238
+ const timingConfig = {
239
+ duration: animationDuration,
240
+ easing: (props.animationType === "timing" && ((_a = props.animationConfig) === null || _a === void 0 ? void 0 : _a.easing)) ||
241
+ DEFAULT_EASING,
242
+ toValue: new Value(0),
243
+ };
244
+ const springConfig = {
245
+ ...DEFAULT_SPRING_PARAMS,
246
+ ...((props.animationType === "spring" && props.animationConfig) || {}),
247
+ toValue: new Value(0),
248
+ };
249
+ return [
250
+ cond(and(not(clockRunning(clock)), not(eq(finished, 1))), [
251
+ // If the clock isn't running, we reset all the animation params and start the clock
252
+ set(state.finished, 0),
253
+ set(state.velocity, velocity),
254
+ set(state.time, 0),
255
+ set(state.position, from),
256
+ set(state.frameTime, 0),
257
+ set(timingConfig.toValue, to),
258
+ set(springConfig.toValue, to),
259
+ startClock(clock),
260
+ ]),
261
+ // We run the step here that is going to update position
262
+ cond(eq(animationDriver, 0),
263
+ //@ts-ignore
264
+ timing(clock, state, timingConfig), spring(clock, state, springConfig)),
265
+ cond(state.finished, [
266
+ call([this.nextSnapIndex], ([value]) => {
267
+ var _a, _b;
268
+ if (value !== this.prevSnapIndex) {
269
+ (_b = (_a = this.props).onSettle) === null || _b === void 0 ? void 0 : _b.call(_a, value);
270
+ }
271
+ this.prevSnapIndex = value;
272
+ }),
273
+ // Resetting appropriate values
274
+ set(drawerOldGestureState, GestureState.END),
275
+ set(handleOldGestureState, GestureState.END),
276
+ set(this.prevTranslateYOffset, state.position),
277
+ cond(eq(this.scrollUpAndPullDown, 1), [
278
+ set(this.prevTranslateYOffset, sub(this.prevTranslateYOffset, this.lastStartScrollY)),
279
+ set(this.lastStartScrollY, 0),
280
+ set(this.scrollUpAndPullDown, 0),
281
+ ]),
282
+ cond(eq(this.destSnapPoint, snapPoints[0]), [
283
+ set(this.dragWithHandle, 0),
284
+ ]),
285
+ set(this.isManuallySetValue, 0),
286
+ set(this.manualYOffset, 0),
287
+ stopClock(clock),
288
+ this.prevTranslateYOffset,
289
+ ],
290
+ // We made the block return the updated position,
291
+ state.position),
292
+ ];
293
+ };
294
+ const translateYOffset = cond(isAnimationInterrupted, [
295
+ // set(prevTranslateYOffset, animationPosition) should only run if we are
296
+ // interrupting an animation when the drawer is currently in a different
297
+ // position than the top
298
+ cond(or(this.dragWithHandle, greaterOrEq(abs(this.prevDragY), this.lastStartScrollY)), set(this.prevTranslateYOffset, this.animationPosition)),
299
+ set(this.animationFinished, 1),
300
+ set(this.translationY, 0),
301
+ // Resetting appropriate values
302
+ set(drawerOldGestureState, GestureState.END),
303
+ set(handleOldGestureState, GestureState.END),
304
+ // By forcing that frameTime exceeds duration, it has the effect of stopping the animation
305
+ set(this.animationFrameTime, add(animationDuration, 1000)),
306
+ set(this.velocityY, 0),
307
+ stopClock(this.animationClock),
308
+ this.prevTranslateYOffset,
309
+ ], cond(or(this.didGestureFinish, this.isManuallySetValue, clockRunning(this.animationClock)), [
310
+ runAnimation({
311
+ clock: this.animationClock,
312
+ from: cond(this.isManuallySetValue, this.prevTranslateYOffset, add(this.prevTranslateYOffset, this.translationY)),
313
+ to: this.destSnapPoint,
314
+ position: this.animationPosition,
315
+ finished: this.animationFinished,
316
+ frameTime: this.animationFrameTime,
317
+ velocity: this.velocityY,
318
+ }),
319
+ ], [
320
+ set(this.animationFrameTime, 0),
321
+ set(this.animationFinished, 0),
322
+ // @ts-ignore
323
+ this.prevTranslateYOffset,
324
+ ]));
325
+ this.translateY = interpolate(add(translateYOffset, this.dragY, multiply(scrollY, -1)), {
326
+ inputRange: [openPosition, closedPosition],
327
+ outputRange: [openPosition, closedPosition],
328
+ extrapolate: Extrapolate.CLAMP,
329
+ });
330
+ this.position = interpolate(this.translateY, {
331
+ inputRange: [openPosition, snapPoints[snapPoints.length - 1]],
332
+ outputRange: [1, 0],
333
+ extrapolate: Extrapolate.CLAMP,
334
+ });
335
+ }
336
+ render() {
337
+ const { renderHandle, initialSnapIndex, containerStyle, ...rest } = this.props;
338
+ const AnimatedScrollableComponent = this.scrollComponent;
339
+ const normalisedSnapPoints = this.getNormalisedSnapPoints();
340
+ const initialSnap = normalisedSnapPoints[initialSnapIndex];
341
+ const Content = (React.createElement(Animated.View, { style: [
342
+ StyleSheet.absoluteFillObject,
343
+ containerStyle,
344
+ // @ts-ignore
345
+ {
346
+ transform: [{ translateY: this.translateY }],
347
+ },
348
+ ] },
349
+ React.createElement(PanGestureHandler, { ref: this.drawerHandleRef, shouldCancelWhenOutside: false, simultaneousHandlers: this.masterDrawer, onGestureEvent: this.onHandleGestureEvent, onHandlerStateChange: this.onHandleGestureEvent },
350
+ React.createElement(Animated.View, null, renderHandle())),
351
+ React.createElement(PanGestureHandler, { ref: this.drawerContentRef, simultaneousHandlers: [this.scrollComponentRef, this.masterDrawer], shouldCancelWhenOutside: false, onGestureEvent: this.onDrawerGestureEvent, onHandlerStateChange: this.onDrawerGestureEvent },
352
+ React.createElement(Animated.View, { style: styles.container },
353
+ React.createElement(NativeViewGestureHandler, { ref: this.scrollComponentRef, waitFor: this.masterDrawer, simultaneousHandlers: this.drawerContentRef },
354
+ React.createElement(AnimatedScrollableComponent, { overScrollMode: "never", bounces: false, ...rest, ref: this.props.innerRef,
355
+ // @ts-ignore
356
+ decelerationRate: this.decelerationRate, onScrollBeginDrag: this.onScrollBeginDrag, scrollEventThrottle: 1, contentContainerStyle: [
357
+ rest.contentContainerStyle,
358
+ { paddingBottom: this.getNormalisedSnapPoints()[0] },
359
+ ] })))),
360
+ this.props.animatedPosition && (React.createElement(Animated.Code, { exec: onChange(this.position, set(this.props.animatedPosition, this.position)) })),
361
+ React.createElement(Animated.Code, { exec: onChange(this.dragY, cond(not(eq(this.dragY, 0)), set(this.prevDragY, this.dragY))) }),
362
+ React.createElement(Animated.Code, { exec: onChange(this.didGestureFinish, cond(this.didGestureFinish, [
363
+ this.didScrollUpAndPullDown,
364
+ this.setTranslationY,
365
+ set(this.tempDestSnapPoint, add(normalisedSnapPoints[0], this.extraOffset)),
366
+ set(this.nextSnapIndex, 0),
367
+ set(this.destSnapPoint, this.calculateNextSnapPoint()),
368
+ cond(and(greaterThan(this.dragY, this.lastStartScrollY), this.isAndroid, not(this.dragWithHandle)), call([], () => {
369
+ var _a, _b;
370
+ // This prevents the scroll glide from happening on Android when pulling down with inertia.
371
+ // It's not perfect, but does the job for now
372
+ const { method, args } = imperativeScrollOptions[this.props.componentType];
373
+ // @ts-ignore
374
+ const node = this.props.innerRef.current;
375
+ if (node &&
376
+ node[method] &&
377
+ ((this.props.componentType === "FlatList" &&
378
+ (((_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0) ||
379
+ (this.props.componentType === "SectionList" &&
380
+ this.props.sections.length > 0) ||
381
+ this.props.componentType === "ScrollView")) {
382
+ node[method](args);
383
+ }
384
+ })),
385
+ set(this.dragY, 0),
386
+ set(this.velocityY, 0),
387
+ set(this.lastSnap, sub(this.destSnapPoint, cond(eq(this.scrollUpAndPullDown, 1), this.lastStartScrollY, 0))),
388
+ call([this.lastSnap], ([value]) => {
389
+ var _a, _b;
390
+ // This is the TapGHandler trick
391
+ // @ts-ignore
392
+ (_b = (_a = this.masterDrawer) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setNativeProps({
393
+ maxDeltaY: value - this.getNormalisedSnapPoints()[0],
394
+ });
395
+ }),
396
+ set(this.decelerationRate, cond(eq(this.isAndroid, 1), cond(eq(this.lastSnap, normalisedSnapPoints[0]), ANDROID_NORMAL_DECELERATION_RATE, 0), IOS_NORMAL_DECELERATION_RATE)),
397
+ ])) }),
398
+ React.createElement(Animated.Code, { exec: onChange(this.isManuallySetValue, [
399
+ cond(this.isManuallySetValue, [
400
+ set(this.destSnapPoint, this.manualYOffset),
401
+ set(this.animationFinished, 0),
402
+ set(this.lastSnap, this.manualYOffset),
403
+ call([this.lastSnap], ([value]) => {
404
+ var _a, _b;
405
+ // This is the TapGHandler trick
406
+ // @ts-ignore
407
+ (_b = (_a = this.masterDrawer) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setNativeProps({
408
+ maxDeltaY: value - this.getNormalisedSnapPoints()[0],
409
+ });
410
+ }),
411
+ ], [set(this.nextSnapIndex, 0)]),
412
+ ]) })));
413
+ // On Android, having an intermediary view with pointerEvents="box-none", breaks the
414
+ // waitFor logic
415
+ if (Platform.OS === "android") {
416
+ return (React.createElement(TapGestureHandler, { maxDurationMs: 100000, ref: this.masterDrawer, maxDeltaY: initialSnap - this.getNormalisedSnapPoints()[0], shouldCancelWhenOutside: false }, Content));
417
+ }
418
+ // On iOS, We need to wrap the content on a view with PointerEvents box-none
419
+ // So that we can start scrolling automatically when reaching the top without
420
+ // Stopping the gesture
421
+ return (React.createElement(TapGestureHandler, { maxDurationMs: 100000, ref: this.masterDrawer, maxDeltaY: initialSnap - this.getNormalisedSnapPoints()[0] },
422
+ React.createElement(View, { style: StyleSheet.absoluteFillObject, pointerEvents: "box-none" }, Content)));
423
+ }
424
+ }
425
+ ScrollBottomSheet.defaultProps = {
426
+ topInset: 0,
427
+ friction: 0.95,
428
+ animationType: "timing",
429
+ innerRef: React.createRef(),
430
+ enableOverScroll: false,
431
+ };
432
+ export default ScrollBottomSheet;
433
+ const styles = StyleSheet.create({
434
+ container: {
435
+ flex: 1,
436
+ },
437
+ });
438
+ //# sourceMappingURL=BottomSheetComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheetComponent.js","sourceRoot":"","sources":["BottomSheetComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as BottomSheet } from "./BottomSheet";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,121 @@
1
+ import * as React from "react";
2
+ import { Text, Pressable, Platform, StyleSheet, ActivityIndicator, } from "react-native";
3
+ import { withTheme } from "../theming";
4
+ const CONSTANTS = {
5
+ baseHeight: 42,
6
+ borderRadius: 4,
7
+ padding: 8,
8
+ icon: 24,
9
+ };
10
+ function Base({ Icon, icon, title, loading, disabled, style, activeOpacity = 0.8, disabledOpacity = 0.8, ...props }) {
11
+ const { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...buttonStyles } = StyleSheet.flatten(style || {});
12
+ const titleStyles = {
13
+ color,
14
+ fontFamily,
15
+ fontWeight,
16
+ fontSize,
17
+ lineHeight,
18
+ letterSpacing,
19
+ textTransform,
20
+ textAlign,
21
+ textDecorationLine,
22
+ textDecorationColor,
23
+ textDecorationStyle,
24
+ };
25
+ if (textAlign === "left") {
26
+ buttonStyles.justifyContent = "flex-start";
27
+ }
28
+ if (textAlign === "right") {
29
+ buttonStyles.justifyContent = "flex-end";
30
+ }
31
+ return (React.createElement(Pressable, { disabled: disabled || loading, style: ({ pressed }) => {
32
+ return [
33
+ styles.base,
34
+ {
35
+ opacity: pressed ? activeOpacity : disabled ? disabledOpacity : 1,
36
+ },
37
+ buttonStyles,
38
+ ];
39
+ }, ...props },
40
+ loading ? (React.createElement(ActivityIndicator, { size: "small", color: color, style: styles.loading })) : null,
41
+ icon && !loading ? (React.createElement(Icon, { name: icon, color: color, style: styles.icon, size: CONSTANTS.icon })) : null,
42
+ React.createElement(Text, { style: titleStyles }, title)));
43
+ }
44
+ const Solid = ({ style, theme, ...props }) => {
45
+ return (React.createElement(Base, { style: [
46
+ {
47
+ color: "#FFF",
48
+ borderRadius: theme.roundness,
49
+ backgroundColor: theme.colors.primary,
50
+ },
51
+ style,
52
+ ], ...props }));
53
+ };
54
+ /**
55
+ * @deprecated DEPRECATED: Use Button
56
+ */
57
+ const ButtonSolid = withTheme(Solid);
58
+ export { ButtonSolid };
59
+ const Button = withTheme(Solid);
60
+ export { Button };
61
+ const Outline = ({ style, theme, ...props }) => {
62
+ return (React.createElement(Base, { style: [
63
+ styles.outline,
64
+ {
65
+ borderRadius: theme.roundness,
66
+ borderColor: theme.colors.primary,
67
+ color: theme.colors.primary,
68
+ },
69
+ style,
70
+ ], ...props }));
71
+ };
72
+ /**
73
+ * @deprecated DEPRECATED: Use Button
74
+ */
75
+ const ButtonOutline = withTheme(Outline);
76
+ export { ButtonOutline };
77
+ const styles = StyleSheet.create({
78
+ base: {
79
+ position: "relative",
80
+ flexDirection: "row",
81
+ alignItems: "center",
82
+ justifyContent: "center",
83
+ minHeight: CONSTANTS.baseHeight,
84
+ paddingHorizontal: 12,
85
+ fontFamily: "System",
86
+ fontWeight: "700",
87
+ ...Platform.select({
88
+ web: {
89
+ cursor: "pointer",
90
+ userSelect: "none",
91
+ },
92
+ }),
93
+ },
94
+ outline: {
95
+ backgroundColor: "transparent",
96
+ borderWidth: 1,
97
+ },
98
+ bare: {
99
+ backgroundColor: "transparent",
100
+ padding: 0,
101
+ minHeight: undefined,
102
+ },
103
+ loading: {
104
+ marginRight: 6,
105
+ },
106
+ icon: {
107
+ ...Platform.select({
108
+ web: {
109
+ marginTop: 1,
110
+ marginRight: 4,
111
+ alignSelf: "center",
112
+ },
113
+ default: {
114
+ marginBottom: 2,
115
+ marginRight: 4,
116
+ alignSelf: "center",
117
+ },
118
+ }),
119
+ },
120
+ });
121
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["Button.tsx"],"names":[],"mappings":"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"}