@artsy/palette-mobile 13.2.33 → 13.2.35

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 (327) hide show
  1. package/dist/Theme.js +9 -13
  2. package/dist/animation/CssTransition.js +8 -12
  3. package/dist/animation/index.js +1 -17
  4. package/dist/constants.js +4 -8
  5. package/dist/elements/ArtsyKeyboardAvoidingView/ArtsyKeyboardAvoidingView.js +19 -23
  6. package/dist/elements/ArtsyKeyboardAvoidingView/index.js +1 -17
  7. package/dist/elements/Autocomplete/Autocomplete.js +4 -8
  8. package/dist/elements/Autocomplete/Autocomplete.tests.js +9 -11
  9. package/dist/elements/Autocomplete/index.js +1 -17
  10. package/dist/elements/Avatar/Avatar.js +17 -44
  11. package/dist/elements/Avatar/Avatar.stories.js +7 -11
  12. package/dist/elements/Avatar/Avatar.tests.js +8 -10
  13. package/dist/elements/Avatar/index.js +1 -17
  14. package/dist/elements/BackButton/BackButton.js +9 -14
  15. package/dist/elements/BackButton/BackButton.stories.js +8 -12
  16. package/dist/elements/BackButton/index.js +1 -17
  17. package/dist/elements/Banner/Banner.js +14 -18
  18. package/dist/elements/Banner/Banner.stories.js +7 -11
  19. package/dist/elements/Banner/index.js +1 -17
  20. package/dist/elements/BorderBox/BorderBox.js +9 -15
  21. package/dist/elements/BorderBox/index.js +1 -17
  22. package/dist/elements/Box/Box.js +11 -17
  23. package/dist/elements/Box/Box.stories.js +14 -20
  24. package/dist/elements/Box/index.js +1 -17
  25. package/dist/elements/Button/Button.js +30 -37
  26. package/dist/elements/Button/Button.stories.js +18 -25
  27. package/dist/elements/Button/CTAButton.js +3 -7
  28. package/dist/elements/Button/FollowButton.js +7 -11
  29. package/dist/elements/Button/LinkButton.js +4 -8
  30. package/dist/elements/Button/colors.js +3 -7
  31. package/dist/elements/Button/index.js +4 -20
  32. package/dist/elements/ButtonNew/Button.js +32 -62
  33. package/dist/elements/ButtonNew/Button.stories.js +36 -50
  34. package/dist/elements/ButtonNew/Button.tests.js +13 -15
  35. package/dist/elements/ButtonNew/CTAButton.js +3 -7
  36. package/dist/elements/ButtonNew/FollowButton.js +7 -11
  37. package/dist/elements/ButtonNew/LinkButton.js +4 -8
  38. package/dist/elements/ButtonNew/colors.js +3 -7
  39. package/dist/elements/ButtonNew/index.js +4 -20
  40. package/dist/elements/Checkbox/Check.js +29 -56
  41. package/dist/elements/Checkbox/Checkbox.js +22 -30
  42. package/dist/elements/Checkbox/Checkbox.stories.js +8 -12
  43. package/dist/elements/Checkbox/index.js +2 -18
  44. package/dist/elements/ClassTheme/ClassTheme.js +5 -9
  45. package/dist/elements/ClassTheme/index.js +1 -17
  46. package/dist/elements/Collapse/Collapse.js +4 -8
  47. package/dist/elements/Collapse/Collapse.stories.js +9 -13
  48. package/dist/elements/Collapse/index.js +1 -17
  49. package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.js +18 -21
  50. package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.stories.js +30 -38
  51. package/dist/elements/CollapsibleMenuItem/index.js +1 -17
  52. package/dist/elements/Dialog/Dialog.js +20 -24
  53. package/dist/elements/Dialog/Dialog.stories.js +14 -16
  54. package/dist/elements/Dialog/Dialog.tests.js +12 -14
  55. package/dist/elements/Dialog/index.js +1 -17
  56. package/dist/elements/EntityHeader/EntityHeader.js +14 -18
  57. package/dist/elements/EntityHeader/EntityHeader.stories.js +17 -25
  58. package/dist/elements/EntityHeader/index.js +1 -17
  59. package/dist/elements/Flex/Flex.js +4 -7
  60. package/dist/elements/Flex/index.js +1 -17
  61. package/dist/elements/Header/ArtsyLogoHeader.js +8 -12
  62. package/dist/elements/Header/index.js +1 -17
  63. package/dist/elements/Histogram/Histogram.js +6 -10
  64. package/dist/elements/Histogram/index.js +1 -17
  65. package/dist/elements/Image/Image.js +26 -55
  66. package/dist/elements/Image/Image.stories.js +14 -16
  67. package/dist/elements/Image/index.js +1 -17
  68. package/dist/elements/Input/Input.js +127 -157
  69. package/dist/elements/Input/Input.stories.js +9 -11
  70. package/dist/elements/Input/Input.tests.js +17 -19
  71. package/dist/elements/Input/InputTitle.js +4 -8
  72. package/dist/elements/Input/helpers.d.ts +1 -1
  73. package/dist/elements/Input/helpers.js +51 -56
  74. package/dist/elements/Input/index.js +3 -19
  75. package/dist/elements/Input/maskValue.js +5 -10
  76. package/dist/elements/Input/maskValue.tests.js +11 -13
  77. package/dist/elements/Join/Join.js +6 -10
  78. package/dist/elements/Join/index.js +1 -17
  79. package/dist/elements/LazyFlatlist/LazyFlatlist.js +3 -7
  80. package/dist/elements/LazyFlatlist/index.js +2 -18
  81. package/dist/elements/LazyFlatlist/useHasSeenItem.js +6 -10
  82. package/dist/elements/LegacyScreen/LegacyScreen.js +51 -59
  83. package/dist/elements/LegacyScreen/index.js +1 -17
  84. package/dist/elements/LegacyTabs/ContentTabs.js +8 -12
  85. package/dist/elements/LegacyTabs/NavigationalTabs.js +11 -15
  86. package/dist/elements/LegacyTabs/StepTabs.js +15 -19
  87. package/dist/elements/LegacyTabs/Tab.js +9 -13
  88. package/dist/elements/LegacyTabs/TabBarContainer.js +28 -34
  89. package/dist/elements/LegacyTabs/index.js +9 -15
  90. package/dist/elements/List/BulletedItem.js +7 -11
  91. package/dist/elements/List/List.stories.js +8 -10
  92. package/dist/elements/List/index.js +1 -17
  93. package/dist/elements/MeasuredView/MeasuredView.js +10 -15
  94. package/dist/elements/MeasuredView/index.js +1 -17
  95. package/dist/elements/MenuItem/MenuItem.js +9 -13
  96. package/dist/elements/MenuItem/MenuItem.stories.js +5 -9
  97. package/dist/elements/MenuItem/index.js +1 -17
  98. package/dist/elements/Message/Message.js +15 -19
  99. package/dist/elements/Message/Message.stories.js +10 -12
  100. package/dist/elements/Message/Message.tests.js +9 -11
  101. package/dist/elements/Message/index.js +1 -17
  102. package/dist/elements/Pill/Pill.js +53 -83
  103. package/dist/elements/Pill/Pill.stories.js +16 -18
  104. package/dist/elements/Pill/Pill.tests.js +8 -10
  105. package/dist/elements/Pill/index.js +1 -17
  106. package/dist/elements/PopIn/PopIn.js +8 -12
  107. package/dist/elements/PopIn/index.js +1 -17
  108. package/dist/elements/Popover/Popover.js +21 -28
  109. package/dist/elements/Popover/Popover.stories.js +15 -17
  110. package/dist/elements/Popover/index.js +1 -17
  111. package/dist/elements/ProgressBar/ProgressBar.js +16 -43
  112. package/dist/elements/ProgressBar/ProgressBar.stories.js +6 -8
  113. package/dist/elements/ProgressBar/ProgressBar.tests.js +7 -9
  114. package/dist/elements/ProgressBar/index.js +1 -17
  115. package/dist/elements/Radio/RadioButton.js +20 -28
  116. package/dist/elements/Radio/RadioButton.stories.js +13 -15
  117. package/dist/elements/Radio/RadioDot.js +10 -14
  118. package/dist/elements/Radio/index.js +2 -7
  119. package/dist/elements/Screen/Background.js +3 -7
  120. package/dist/elements/Screen/Body.js +9 -13
  121. package/dist/elements/Screen/BottomView.js +9 -16
  122. package/dist/elements/Screen/FloatingHeader.js +9 -13
  123. package/dist/elements/Screen/FullWidthDivider.js +5 -9
  124. package/dist/elements/Screen/FullWidthItem.js +5 -9
  125. package/dist/elements/Screen/Header.js +21 -49
  126. package/dist/elements/Screen/Screen.stories.js +18 -20
  127. package/dist/elements/Screen/ScreenBase.js +9 -13
  128. package/dist/elements/Screen/ScreenFlatList.js +8 -15
  129. package/dist/elements/Screen/ScreenScrollContext.js +9 -14
  130. package/dist/elements/Screen/ScreenScrollView.js +8 -15
  131. package/dist/elements/Screen/StickySubHeader.js +20 -47
  132. package/dist/elements/Screen/constants.js +5 -8
  133. package/dist/elements/Screen/hooks/useAnimatedHeaderScrolling.js +10 -14
  134. package/dist/elements/Screen/hooks/useListenForScreenScroll.js +10 -14
  135. package/dist/elements/Screen/index.js +29 -46
  136. package/dist/elements/SearchInput/SearchInput.js +6 -10
  137. package/dist/elements/SearchInput/index.js +1 -17
  138. package/dist/elements/Separator/Separator.js +9 -15
  139. package/dist/elements/Separator/Separator.stories.js +6 -10
  140. package/dist/elements/Separator/ShadowSeparator.js +3 -9
  141. package/dist/elements/Separator/index.js +2 -18
  142. package/dist/elements/SimpleMessage/SimpleMessage.js +9 -16
  143. package/dist/elements/SimpleMessage/index.js +1 -17
  144. package/dist/elements/Skeleton/Skeleton.js +16 -45
  145. package/dist/elements/Skeleton/Skeleton.stories.js +10 -14
  146. package/dist/elements/Skeleton/index.js +1 -17
  147. package/dist/elements/Spacer/Spacer.js +3 -7
  148. package/dist/elements/Spacer/Spacer.stories.js +15 -20
  149. package/dist/elements/Spacer/index.js +1 -17
  150. package/dist/elements/Spinner/Spinner.js +15 -23
  151. package/dist/elements/Spinner/index.js +1 -17
  152. package/dist/elements/Switch/Switch.js +8 -12
  153. package/dist/elements/Switch/Switch.stories.js +11 -15
  154. package/dist/elements/Switch/index.js +1 -17
  155. package/dist/elements/Tabs/SubTabBar.js +11 -15
  156. package/dist/elements/Tabs/TabFlashList.js +8 -12
  157. package/dist/elements/Tabs/TabFlatList.js +8 -12
  158. package/dist/elements/Tabs/TabMasonry.js +8 -12
  159. package/dist/elements/Tabs/TabScrollView.js +8 -12
  160. package/dist/elements/Tabs/Tabs.js +24 -27
  161. package/dist/elements/Tabs/Tabs.stories.js +11 -13
  162. package/dist/elements/Tabs/TabsContainer.js +15 -19
  163. package/dist/elements/Tabs/TabsWithHeader.js +8 -12
  164. package/dist/elements/Tabs/hooks/useListenForTabContentScroll.js +8 -12
  165. package/dist/elements/Tabs/index.js +1 -17
  166. package/dist/elements/Text/LinkText.js +3 -7
  167. package/dist/elements/Text/Text.js +15 -21
  168. package/dist/elements/Text/Text.stories.js +18 -27
  169. package/dist/elements/Text/Text.tests.js +3 -5
  170. package/dist/elements/Text/helpers.js +5 -10
  171. package/dist/elements/Text/index.js +3 -19
  172. package/dist/elements/ToolTip/ToolTip.js +29 -34
  173. package/dist/elements/ToolTip/ToolTip.stories.js +11 -13
  174. package/dist/elements/ToolTip/ToolTip.tests.js +7 -9
  175. package/dist/elements/ToolTip/ToolTipFlyout.js +19 -47
  176. package/dist/elements/ToolTip/index.js +1 -17
  177. package/dist/elements/Touchable/Touchable.js +12 -19
  178. package/dist/elements/Touchable/Touchable.stories.js +9 -13
  179. package/dist/elements/Touchable/TouchableHighlightColor.js +6 -10
  180. package/dist/elements/Touchable/TouchableWithScale.js +7 -11
  181. package/dist/elements/Touchable/index.js +3 -19
  182. package/dist/elements/VisualClue/VisualClue.stories.js +6 -8
  183. package/dist/elements/VisualClue/VisualClueDot.js +6 -10
  184. package/dist/elements/VisualClue/VisualClueText.js +9 -13
  185. package/dist/elements/VisualClue/index.js +2 -18
  186. package/dist/elements/index.js +45 -61
  187. package/dist/index.js +10 -26
  188. package/dist/setupJest.js +2 -7
  189. package/dist/storybook/decorators.js +20 -28
  190. package/dist/storybook/helpers.js +6 -12
  191. package/dist/svgs/AddCircleFillIcon.js +6 -10
  192. package/dist/svgs/AddCircleIcon.js +6 -10
  193. package/dist/svgs/AddIcon.js +6 -10
  194. package/dist/svgs/AlertCircleFillIcon.js +6 -10
  195. package/dist/svgs/AlertIcon.js +6 -10
  196. package/dist/svgs/ArrowCircleFillIcons.js +7 -12
  197. package/dist/svgs/ArrowDownCircleIcon.js +6 -10
  198. package/dist/svgs/ArrowDownIcon.js +6 -10
  199. package/dist/svgs/ArrowLeftCircleIcon.js +6 -10
  200. package/dist/svgs/ArrowLeftIcon.js +6 -10
  201. package/dist/svgs/ArrowRightCircleIcon.js +6 -10
  202. package/dist/svgs/ArrowRightIcon.js +6 -10
  203. package/dist/svgs/ArrowUpCircleIcon.js +6 -10
  204. package/dist/svgs/ArrowUpIcon.js +6 -10
  205. package/dist/svgs/ArtsyLogoBlackIcon.js +6 -10
  206. package/dist/svgs/ArtsyLogoWhiteIcon.js +4 -8
  207. package/dist/svgs/ArtsyMarkBlackIcon.js +6 -10
  208. package/dist/svgs/ArtsyMarkWhiteIcon.js +4 -8
  209. package/dist/svgs/ArtworkIcon.js +6 -10
  210. package/dist/svgs/AuctionIcon.js +6 -10
  211. package/dist/svgs/BellFillIcon.js +6 -10
  212. package/dist/svgs/BellIcon.js +6 -10
  213. package/dist/svgs/BlueChipIcon.js +6 -10
  214. package/dist/svgs/BoltCircleFill.js +6 -10
  215. package/dist/svgs/BoltFill.js +6 -10
  216. package/dist/svgs/BookmarkFill.js +6 -10
  217. package/dist/svgs/BriefcaseIcon.js +6 -10
  218. package/dist/svgs/CertificateIcon.js +6 -10
  219. package/dist/svgs/CheckCircleFillIcon.js +6 -10
  220. package/dist/svgs/CheckCircleIcon.js +6 -10
  221. package/dist/svgs/CheckIcon.js +6 -10
  222. package/dist/svgs/ChevronIcon.js +11 -15
  223. package/dist/svgs/ClockFill.js +6 -10
  224. package/dist/svgs/CloseCircleFillIcon.js +6 -10
  225. package/dist/svgs/CloseCircleIcon.js +6 -10
  226. package/dist/svgs/CloseIcon.js +6 -10
  227. package/dist/svgs/CollapseIcon.js +6 -10
  228. package/dist/svgs/CreditCardIcon.js +14 -18
  229. package/dist/svgs/DecreaseIcon.js +6 -10
  230. package/dist/svgs/DocumentIcon.js +6 -10
  231. package/dist/svgs/DownloadIcon.js +6 -10
  232. package/dist/svgs/EditIcon.js +6 -10
  233. package/dist/svgs/EmptyCheckCircleIcon.js +6 -10
  234. package/dist/svgs/EnterIcon.js +6 -10
  235. package/dist/svgs/EnvelopeIcon.js +6 -10
  236. package/dist/svgs/EstablishedIcon.js +6 -10
  237. package/dist/svgs/ExclamationMarkCircleFill.js +6 -10
  238. package/dist/svgs/ExpandIcon.js +6 -10
  239. package/dist/svgs/EyeClosedIcon.js +6 -10
  240. package/dist/svgs/EyeOpenedIcon.js +6 -10
  241. package/dist/svgs/FacebookIcon.js +6 -10
  242. package/dist/svgs/FairIcon.js +6 -10
  243. package/dist/svgs/FilterIcon.js +6 -10
  244. package/dist/svgs/FullWidthIcon.js +6 -10
  245. package/dist/svgs/GenomeIcon.js +6 -10
  246. package/dist/svgs/GraphIcon.js +6 -10
  247. package/dist/svgs/GridIcon.js +6 -10
  248. package/dist/svgs/GuaranteeIcon.js +7 -11
  249. package/dist/svgs/HeartFillIcon.js +6 -10
  250. package/dist/svgs/HeartIcon.js +6 -10
  251. package/dist/svgs/HideIcon.js +6 -10
  252. package/dist/svgs/HomeIcon.js +6 -10
  253. package/dist/svgs/Icon.js +15 -30
  254. package/dist/svgs/ImageIcon.js +6 -10
  255. package/dist/svgs/ImageSetIcon.js +6 -10
  256. package/dist/svgs/IncreaseIcon.js +6 -10
  257. package/dist/svgs/InfoCircleIcon.js +6 -10
  258. package/dist/svgs/InstagramAppIcon.js +3 -7
  259. package/dist/svgs/InstitutionIcon.js +6 -10
  260. package/dist/svgs/LinkIcon.js +6 -10
  261. package/dist/svgs/LoaderIcon.js +6 -10
  262. package/dist/svgs/LockIcon.js +6 -10
  263. package/dist/svgs/LogoutIcon.js +6 -10
  264. package/dist/svgs/MagnifyingGlassIcon.js +6 -10
  265. package/dist/svgs/MapPinIcon.js +6 -10
  266. package/dist/svgs/MenuIcon.js +6 -10
  267. package/dist/svgs/MessageIcon.js +7 -11
  268. package/dist/svgs/MessagesAppIcon.js +4 -8
  269. package/dist/svgs/MoneyCircleIcon.js +6 -10
  270. package/dist/svgs/MoneyFillIcon.js +6 -10
  271. package/dist/svgs/MoreIcon.js +6 -10
  272. package/dist/svgs/MultiplePersonsIcon.js +6 -10
  273. package/dist/svgs/NoArtworkIcon.js +6 -10
  274. package/dist/svgs/NoImageIcon.js +6 -10
  275. package/dist/svgs/PageIcon.js +6 -10
  276. package/dist/svgs/Payment2Icon.js +6 -10
  277. package/dist/svgs/PaymentIcon.js +6 -10
  278. package/dist/svgs/PersonIcon.js +6 -10
  279. package/dist/svgs/PublicationIcon.js +6 -10
  280. package/dist/svgs/QuestionCircleIcon.js +6 -10
  281. package/dist/svgs/ReloadIcon.js +6 -10
  282. package/dist/svgs/SecureLockIcon.js +6 -10
  283. package/dist/svgs/SettingsIcon.js +6 -10
  284. package/dist/svgs/ShareIcon.js +6 -10
  285. package/dist/svgs/ShieldFilledIcon.js +6 -10
  286. package/dist/svgs/ShieldIcon.js +6 -10
  287. package/dist/svgs/StarCircleFill.js +6 -10
  288. package/dist/svgs/StarCircleIcon.js +6 -10
  289. package/dist/svgs/Stopwatch.js +6 -10
  290. package/dist/svgs/Tag2Icon.js +7 -11
  291. package/dist/svgs/TagIcon.js +6 -10
  292. package/dist/svgs/TimerIcon.js +6 -10
  293. package/dist/svgs/TopEmergingIcon.js +6 -10
  294. package/dist/svgs/TrashIcon.js +6 -10
  295. package/dist/svgs/TrendingIcon.js +6 -10
  296. package/dist/svgs/TriangleDown.js +6 -10
  297. package/dist/svgs/TwitterIcon.js +6 -10
  298. package/dist/svgs/UserMultiIcon.js +6 -10
  299. package/dist/svgs/UserSingleIcon.js +6 -10
  300. package/dist/svgs/VerifiedIcon.js +6 -10
  301. package/dist/svgs/VerifiedPersonIcon.js +6 -10
  302. package/dist/svgs/WhatsAppAppIcon.js +4 -8
  303. package/dist/svgs/WorldGlobeCircleIcon.js +6 -10
  304. package/dist/svgs/XCircleIcon.js +6 -10
  305. package/dist/svgs/icons.stories.js +11 -38
  306. package/dist/svgs/index.js +113 -129
  307. package/dist/tokens.js +9 -12
  308. package/dist/types.js +5 -10
  309. package/dist/utils/Wrap.js +7 -11
  310. package/dist/utils/colors.stories.js +16 -20
  311. package/dist/utils/createGeminiUrl.js +6 -10
  312. package/dist/utils/flattenChildren.js +5 -9
  313. package/dist/utils/formatLargeNumber.js +1 -5
  314. package/dist/utils/formatLargeNumbers.tests.js +8 -10
  315. package/dist/utils/hooks/index.js +4 -20
  316. package/dist/utils/hooks/useColor.js +2 -6
  317. package/dist/utils/hooks/useMeasure.js +4 -8
  318. package/dist/utils/hooks/useScreenDimensions.js +11 -16
  319. package/dist/utils/hooks/useSpace.js +2 -6
  320. package/dist/utils/hooks/useTheme.js +6 -10
  321. package/dist/utils/normalizeText.js +1 -5
  322. package/dist/utils/space.stories.js +9 -13
  323. package/dist/utils/tests/renderWithWrappers.js +7 -12
  324. package/dist/utils/text.js +9 -13
  325. package/dist/utils/types.js +1 -2
  326. package/dist/utils/webTokensToMobile.js +4 -9
  327. package/package.json +14 -14
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FloatingHeader = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_native_safe_area_context_1 = require("react-native-safe-area-context");
6
- const constants_1 = require("./constants");
7
- const BackButton_1 = require("../BackButton");
8
- const Flex_1 = require("../Flex");
9
- const Spacer_1 = require("../Spacer");
10
- const FloatingHeader = ({ onBack, rightElements, ...flexProps }) => {
11
- const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
12
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { position: "absolute", pointerEvents: "box-none", top: insets.top, left: 0, right: 0, zIndex: constants_1.ZINDEX.floatingHeader, px: 1, py: 1, flexDirection: "row", alignItems: "center", ...flexProps, children: [(0, jsx_runtime_1.jsx)(BackButton_1.BackButtonWithBackground, { onPress: onBack }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flex: 1 }), rightElements && ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(Spacer_1.Spacer, { x: 1 }), rightElements] }))] }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
3
+ import { ZINDEX } from "./constants";
4
+ import { BackButtonWithBackground } from "../BackButton";
5
+ import { Flex } from "../Flex";
6
+ import { Spacer } from "../Spacer";
7
+ export const FloatingHeader = ({ onBack, rightElements, ...flexProps }) => {
8
+ const insets = useSafeAreaInsets();
9
+ return (_jsxs(Flex, { position: "absolute", pointerEvents: "box-none", top: insets.top, left: 0, right: 0, zIndex: ZINDEX.floatingHeader, px: 1, py: 1, flexDirection: "row", alignItems: "center", ...flexProps, children: [_jsx(BackButtonWithBackground, { onPress: onBack }), _jsx(Flex, { flex: 1 }), rightElements && (_jsxs(Flex, { flexDirection: "row", alignItems: "center", children: [_jsx(Spacer, { x: 1 }), rightElements] }))] }));
13
10
  };
14
- exports.FloatingHeader = FloatingHeader;
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FullWidthDivider = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Screen_1 = require("../Screen");
6
- const Separator_1 = require("../Separator");
7
- const FullWidthDivider = (flexProps) => {
8
- return ((0, jsx_runtime_1.jsx)(Screen_1.Screen.FullWidthItem, { children: (0, jsx_runtime_1.jsx)(Separator_1.Separator, { my: 2, ...flexProps }) }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Screen } from "../Screen";
3
+ import { Separator } from "../Separator";
4
+ export const FullWidthDivider = (flexProps) => {
5
+ return (_jsx(Screen.FullWidthItem, { children: _jsx(Separator, { my: 2, ...flexProps }) }));
9
6
  };
10
- exports.FullWidthDivider = FullWidthDivider;
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FullWidthItem = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const constants_1 = require("./constants");
6
- const Flex_1 = require("../Flex");
7
- const FullWidthItem = (props) => {
8
- return (0, jsx_runtime_1.jsx)(Flex_1.Flex, { ...props, mx: -constants_1.SCREEN_HORIZONTAL_PADDING });
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SCREEN_HORIZONTAL_PADDING } from "./constants";
3
+ import { Flex } from "../Flex";
4
+ export const FullWidthItem = (props) => {
5
+ return _jsx(Flex, { ...props, mx: -SCREEN_HORIZONTAL_PADDING });
9
6
  };
10
- exports.FullWidthItem = FullWidthItem;
@@ -1,69 +1,41 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Header = exports.AnimatedHeader = void 0;
27
- const jsx_runtime_1 = require("react/jsx-runtime");
28
- const moti_1 = require("moti");
29
- const react_native_reanimated_1 = __importStar(require("react-native-reanimated"));
30
- const ScreenScrollContext_1 = require("./ScreenScrollContext");
31
- const constants_1 = require("./constants");
32
- const constants_2 = require("../../constants");
33
- const ArrowLeftIcon_1 = require("../../svgs/ArrowLeftIcon");
34
- const Flex_1 = require("../Flex");
35
- const Text_1 = require("../Text");
36
- const Touchable_1 = require("../Touchable");
37
- const AnimatedHeader = (props) => {
38
- return (0, jsx_runtime_1.jsx)(exports.Header, { animated: true, ...props });
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { MotiView } from "moti";
3
+ import Animated, { Easing, FadeIn, FadeOut } from "react-native-reanimated";
4
+ import { useScreenScrollContext } from "./ScreenScrollContext";
5
+ import { NAVBAR_HEIGHT, ZINDEX } from "./constants";
6
+ import { DEFAULT_HIT_SLOP } from "../../constants";
7
+ import { ArrowLeftIcon } from "../../svgs/ArrowLeftIcon";
8
+ import { Flex } from "../Flex";
9
+ import { Text } from "../Text";
10
+ import { Touchable } from "../Touchable";
11
+ export const AnimatedHeader = (props) => {
12
+ return _jsx(Header, { animated: true, ...props });
39
13
  };
40
- exports.AnimatedHeader = AnimatedHeader;
41
- const Header = ({ animated = false, hideLeftElements, hideRightElements, hideTitle, leftElements, onBack, rightElements, title, titleProps = {}, }) => {
42
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { height: constants_1.NAVBAR_HEIGHT, flexDirection: "row", px: 2, zIndex: constants_1.ZINDEX.header, backgroundColor: "background", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { flex: 1, children: (0, jsx_runtime_1.jsx)(Left, { leftElements: leftElements, onBack: onBack, hideLeftElements: hideLeftElements }) }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { ...titleProps, children: (0, jsx_runtime_1.jsx)(Center, { animated: animated, title: title, hideTitle: hideTitle }) }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flex: 1, alignItems: "flex-end", children: (0, jsx_runtime_1.jsx)(Right, { rightElements: rightElements, hideRightElements: hideRightElements }) })] }));
14
+ export const Header = ({ animated = false, hideLeftElements, hideRightElements, hideTitle, leftElements, onBack, rightElements, title, titleProps = {}, }) => {
15
+ return (_jsxs(Flex, { height: NAVBAR_HEIGHT, flexDirection: "row", px: 2, zIndex: ZINDEX.header, backgroundColor: "background", alignItems: "center", children: [_jsx(Flex, { flex: 1, children: _jsx(Left, { leftElements: leftElements, onBack: onBack, hideLeftElements: hideLeftElements }) }), _jsx(Flex, { ...titleProps, children: _jsx(Center, { animated: animated, title: title, hideTitle: hideTitle }) }), _jsx(Flex, { flex: 1, alignItems: "flex-end", children: _jsx(Right, { rightElements: rightElements, hideRightElements: hideRightElements }) })] }));
43
16
  };
44
- exports.Header = Header;
45
17
  const Right = ({ hideRightElements, rightElements }) => {
46
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: !hideRightElements && rightElements });
18
+ return _jsx(_Fragment, { children: !hideRightElements && rightElements });
47
19
  };
48
20
  const Center = ({ animated, hideTitle, title }) => {
49
- const { scrollYOffset = 0, currentScrollY = 0 } = (0, ScreenScrollContext_1.useScreenScrollContext)();
21
+ const { scrollYOffset = 0, currentScrollY = 0 } = useScreenScrollContext();
50
22
  if (hideTitle) {
51
23
  return null;
52
24
  }
53
- const titleTextElement = ((0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "sm-display", numberOfLines: 1, children: title }));
25
+ const titleTextElement = (_jsx(Text, { variant: "sm-display", numberOfLines: 1, children: title }));
54
26
  if (!animated) {
55
27
  return titleTextElement;
56
28
  }
57
29
  // Show / hide the title to avoid rerenders, which retrigger the animation
58
- const display = currentScrollY < constants_1.NAVBAR_HEIGHT + scrollYOffset ? "none" : "flex";
59
- return ((0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { entering: react_native_reanimated_1.FadeIn.duration(400).easing(react_native_reanimated_1.Easing.out(react_native_reanimated_1.Easing.exp)), exiting: react_native_reanimated_1.FadeOut.duration(400).easing(react_native_reanimated_1.Easing.out(react_native_reanimated_1.Easing.exp)), style: {
30
+ const display = currentScrollY < NAVBAR_HEIGHT + scrollYOffset ? "none" : "flex";
31
+ return (_jsx(Animated.View, { entering: FadeIn.duration(400).easing(Easing.out(Easing.exp)), exiting: FadeOut.duration(400).easing(Easing.out(Easing.exp)), style: {
60
32
  display,
61
- }, children: (0, jsx_runtime_1.jsx)(moti_1.MotiView, { animate: {
33
+ }, children: _jsx(MotiView, { animate: {
62
34
  opacity: display === "flex" ? 1 : 0,
63
35
  }, children: titleTextElement }) }));
64
36
  };
65
37
  const Left = ({ hideLeftElements, leftElements, onBack }) => {
66
38
  if (hideLeftElements)
67
39
  return null;
68
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: leftElements || ((0, jsx_runtime_1.jsx)(Touchable_1.Touchable, { onPress: onBack, underlayColor: "transparent", hitSlop: constants_2.DEFAULT_HIT_SLOP, children: (0, jsx_runtime_1.jsx)(ArrowLeftIcon_1.ArrowLeftIcon, { fill: "onBackgroundHigh" }) })) }));
40
+ return (_jsx(_Fragment, { children: leftElements || (_jsx(Touchable, { onPress: onBack, underlayColor: "transparent", hitSlop: DEFAULT_HIT_SLOP, children: _jsx(ArrowLeftIcon, { fill: "onBackgroundHigh" }) })) }));
69
41
  };
@@ -1,21 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_native_1 = require("@storybook/react-native");
5
- const Flex_1 = require("../Flex");
6
- const Screen_1 = require("../Screen");
7
- const Text_1 = require("../Text");
8
- (0, react_native_1.storiesOf)("Screen", module)
9
- .add("With Header and BottomView", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.Header, { title: "Title" }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.BottomView, { children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: "black30", height: 100, width: "100%", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Footer" }) }) })] })))
10
- .add("With Header and Right Element", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.Header, { title: "Title", rightElements: (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", children: "Very long right element" }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) })] })))
11
- .add("With Header, Without Left Element and Right Element", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.Header, { title: "Title", hideLeftElements: true, rightElements: (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", children: "Very long right element" }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) })] })))
12
- .add("With Right Element & Custom Left Element", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.Header, { title: "Title", leftElements: (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", children: "Very long left element" }), rightElements: (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", children: "right element" }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.BottomView, { children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: "black30", height: 100, width: "100%", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Footer" }) }) })] })))
13
- .add("ScrollView With AnimatedHeader", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.AnimatedHeader, { title: "Title" }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { children: (0, jsx_runtime_1.jsxs)(Screen_1.Screen.ScrollView, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", children: "Title" }), Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i)))] }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.BottomView, { children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: "black30", height: 100, width: "100%", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Footer" }) }) })] })))
14
- .add("ScrollView With AnimatedHeader and Right Element", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.AnimatedHeader, { title: "Title", rightElements: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Right" }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { children: (0, jsx_runtime_1.jsxs)(Screen_1.Screen.ScrollView, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", children: "Title" }), Array.from({ length: 5 }).map((_, i) => ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i)))] }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.BottomView, { children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: "black30", height: 100, width: "100%", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Footer" }) }) })] })))
15
- .add("FlatList With AnimatedHeader", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.AnimatedHeader, { title: "Title" }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { children: (0, jsx_runtime_1.jsx)(Screen_1.Screen.FlatList, { ListHeaderComponent: () => (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", children: "Title" }), data: Array.from({ length: 50 }).map((_, i) => "Item " + i), renderItem: ({ item, index }) => {
16
- return ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: item }, index));
17
- } }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.BottomView, { children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: "black30", height: 100, width: "100%", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Footer" }) }) })] })))
18
- .add("FlatList With AnimatedHeader and StickySubHeader", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.AnimatedHeader, { title: "Title" }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.StickySubHeader, { title: "Title", children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { width: "100%", height: 60, backgroundColor: "red10" }) }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { children: (0, jsx_runtime_1.jsx)(Screen_1.Screen.FlatList, { data: Array.from({ length: 50 }).map((_, i) => "Item " + i), renderItem: ({ item, index }) => {
19
- return ((0, jsx_runtime_1.jsx)(Text_1.Text, { my: 1, children: item }, index));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { storiesOf } from "@storybook/react-native";
3
+ import { Flex } from "../Flex";
4
+ import { Screen } from "../Screen";
5
+ import { Text } from "../Text";
6
+ storiesOf("Screen", module)
7
+ .add("With Header and BottomView", () => (_jsxs(Screen, { children: [_jsx(Screen.Header, { title: "Title" }), _jsx(Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) }), _jsx(Screen.BottomView, { children: _jsx(Flex, { backgroundColor: "black30", height: 100, width: "100%", children: _jsx(Text, { children: "Footer" }) }) })] })))
8
+ .add("With Header and Right Element", () => (_jsxs(Screen, { children: [_jsx(Screen.Header, { title: "Title", rightElements: _jsx(Text, { variant: "xs", children: "Very long right element" }) }), _jsx(Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) })] })))
9
+ .add("With Header, Without Left Element and Right Element", () => (_jsxs(Screen, { children: [_jsx(Screen.Header, { title: "Title", hideLeftElements: true, rightElements: _jsx(Text, { variant: "xs", children: "Very long right element" }) }), _jsx(Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) })] })))
10
+ .add("With Right Element & Custom Left Element", () => (_jsxs(Screen, { children: [_jsx(Screen.Header, { title: "Title", leftElements: _jsx(Text, { variant: "xs", children: "Very long left element" }), rightElements: _jsx(Text, { variant: "xs", children: "right element" }) }), _jsx(Screen.Body, { scroll: true, children: Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i))) }), _jsx(Screen.BottomView, { children: _jsx(Flex, { backgroundColor: "black30", height: 100, width: "100%", children: _jsx(Text, { children: "Footer" }) }) })] })))
11
+ .add("ScrollView With AnimatedHeader", () => (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: "Title" }), _jsx(Screen.Body, { children: _jsxs(Screen.ScrollView, { children: [_jsx(Text, { variant: "lg-display", children: "Title" }), Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i)))] }) }), _jsx(Screen.BottomView, { children: _jsx(Flex, { backgroundColor: "black30", height: 100, width: "100%", children: _jsx(Text, { children: "Footer" }) }) })] })))
12
+ .add("ScrollView With AnimatedHeader and Right Element", () => (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: "Title", rightElements: _jsx(Text, { children: "Right" }) }), _jsx(Screen.Body, { children: _jsxs(Screen.ScrollView, { children: [_jsx(Text, { variant: "lg-display", children: "Title" }), Array.from({ length: 5 }).map((_, i) => (_jsx(Text, { my: 1, children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }, i)))] }) }), _jsx(Screen.BottomView, { children: _jsx(Flex, { backgroundColor: "black30", height: 100, width: "100%", children: _jsx(Text, { children: "Footer" }) }) })] })))
13
+ .add("FlatList With AnimatedHeader", () => (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: "Title" }), _jsx(Screen.Body, { children: _jsx(Screen.FlatList, { ListHeaderComponent: () => _jsx(Text, { variant: "lg-display", children: "Title" }), data: Array.from({ length: 50 }).map((_, i) => "Item " + i), renderItem: ({ item, index }) => {
14
+ return (_jsx(Text, { my: 1, children: item }, index));
15
+ } }) }), _jsx(Screen.BottomView, { children: _jsx(Flex, { backgroundColor: "black30", height: 100, width: "100%", children: _jsx(Text, { children: "Footer" }) }) })] })))
16
+ .add("FlatList With AnimatedHeader and StickySubHeader", () => (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: "Title" }), _jsx(Screen.StickySubHeader, { title: "Title", children: _jsx(Flex, { width: "100%", height: 60, backgroundColor: "red10" }) }), _jsx(Screen.Body, { children: _jsx(Screen.FlatList, { data: Array.from({ length: 50 }).map((_, i) => "Item " + i), renderItem: ({ item, index }) => {
17
+ return (_jsx(Text, { my: 1, children: item }, index));
20
18
  } }) })] })))
21
- .add("Fullwidth", () => ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.Header, { title: "Title" }), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { fullwidth: true, children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }) })] })));
19
+ .add("Fullwidth", () => (_jsxs(Screen, { children: [_jsx(Screen.Header, { title: "Title" }), _jsx(Screen.Body, { fullwidth: true, children: _jsx(Text, { children: "\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"" }) })] })));
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScreenBase = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_native_safe_area_context_1 = require("react-native-safe-area-context");
6
- const ScreenScrollContext_1 = require("./ScreenScrollContext");
7
- const Flex_1 = require("../Flex");
8
- const ScreenBase = ({ children, safeArea = true, ...flexProps }) => {
9
- const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
10
- return ((0, jsx_runtime_1.jsx)(ScreenScrollContext_1.ScreenScrollContextProvider, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flex: 1, backgroundColor: "background", mt: safeArea ? insets.top : 0, ...flexProps, children: [children, (0, jsx_runtime_1.jsx)(SafeAreaCover, { safeArea: true })] }) }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
3
+ import { ScreenScrollContextProvider } from "./ScreenScrollContext";
4
+ import { Flex } from "../Flex";
5
+ export const ScreenBase = ({ children, safeArea = true, ...flexProps }) => {
6
+ const insets = useSafeAreaInsets();
7
+ return (_jsx(ScreenScrollContextProvider, { children: _jsxs(Flex, { flex: 1, backgroundColor: "background", mt: safeArea ? insets.top : 0, ...flexProps, children: [children, _jsx(SafeAreaCover, { safeArea: true })] }) }));
11
8
  };
12
- exports.ScreenBase = ScreenBase;
13
9
  const SafeAreaCover = ({ safeArea }) => {
14
- const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
15
- return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { position: "absolute", left: 0, right: 0, top: safeArea ? -insets.top : 0, height: insets.top, backgroundColor: "background" }));
10
+ const insets = useSafeAreaInsets();
11
+ return (_jsx(Flex, { position: "absolute", left: 0, right: 0, top: safeArea ? -insets.top : 0, height: insets.top, backgroundColor: "background" }));
16
12
  };
@@ -1,22 +1,15 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ScreenFlatList = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const lodash_1 = require("lodash");
9
- const react_native_reanimated_1 = __importDefault(require("react-native-reanimated"));
10
- const useListenForScreenScroll_1 = require("./hooks/useListenForScreenScroll");
11
- function ScreenFlatList(props) {
12
- const { scrollHandler } = (0, useListenForScreenScroll_1.useListenForScreenScroll)();
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { flowRight } from "lodash";
3
+ import Animated from "react-native-reanimated";
4
+ import { useListenForScreenScroll } from "./hooks/useListenForScreenScroll";
5
+ export function ScreenFlatList(props) {
6
+ const { scrollHandler } = useListenForScreenScroll();
13
7
  let handleScroll;
14
8
  if (props.onScroll) {
15
- handleScroll = (0, lodash_1.flowRight)(scrollHandler, props.onScroll);
9
+ handleScroll = flowRight(scrollHandler, props.onScroll);
16
10
  }
17
11
  else {
18
12
  handleScroll = scrollHandler;
19
13
  }
20
- return (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.FlatList, { ref: props.innerRef, ...props, onScroll: handleScroll });
14
+ return _jsx(Animated.FlatList, { ref: props.innerRef, ...props, onScroll: handleScroll });
21
15
  }
22
- exports.ScreenFlatList = ScreenFlatList;
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useScreenScrollContext = exports.ScreenScrollContextProvider = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const ScreenScrollContext = (0, react_1.createContext)({
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext, createContext, useState } from "react";
3
+ const ScreenScrollContext = createContext({
7
4
  currentScrollY: 0,
8
5
  updateCurrentScrollY: () => { },
9
6
  scrollYOffset: undefined,
10
7
  updateScrollYOffset: () => { },
11
8
  });
12
- const ScreenScrollContextProvider = ({ children, }) => {
13
- const [currentScrollY, setCurrentScrollY] = (0, react_1.useState)(0);
14
- const [scrollYOffset, setScrollYOffset] = (0, react_1.useState)(undefined);
9
+ export const ScreenScrollContextProvider = ({ children, }) => {
10
+ const [currentScrollY, setCurrentScrollY] = useState(0);
11
+ const [scrollYOffset, setScrollYOffset] = useState(undefined);
15
12
  const providerValue = {
16
13
  currentScrollY,
17
14
  scrollYOffset,
@@ -22,14 +19,12 @@ const ScreenScrollContextProvider = ({ children, }) => {
22
19
  setScrollYOffset(yOffset);
23
20
  },
24
21
  };
25
- return ((0, jsx_runtime_1.jsx)(ScreenScrollContext.Provider, { value: providerValue, children: children }));
22
+ return (_jsx(ScreenScrollContext.Provider, { value: providerValue, children: children }));
26
23
  };
27
- exports.ScreenScrollContextProvider = ScreenScrollContextProvider;
28
- const useScreenScrollContext = () => {
29
- const context = (0, react_1.useContext)(ScreenScrollContext);
24
+ export const useScreenScrollContext = () => {
25
+ const context = useContext(ScreenScrollContext);
30
26
  if (!context) {
31
27
  throw new Error("useScreenScrollContext must be used within a Screen.ScreenScrollContextProvider component");
32
28
  }
33
29
  return context;
34
30
  };
35
- exports.useScreenScrollContext = useScreenScrollContext;
@@ -1,22 +1,15 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ScreenScrollView = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const lodash_1 = require("lodash");
9
- const react_native_reanimated_1 = __importDefault(require("react-native-reanimated"));
10
- const useListenForScreenScroll_1 = require("./hooks/useListenForScreenScroll");
11
- const ScreenScrollView = (props) => {
12
- const { scrollHandler } = (0, useListenForScreenScroll_1.useListenForScreenScroll)();
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { flowRight } from "lodash";
3
+ import Animated from "react-native-reanimated";
4
+ import { useListenForScreenScroll } from "./hooks/useListenForScreenScroll";
5
+ export const ScreenScrollView = (props) => {
6
+ const { scrollHandler } = useListenForScreenScroll();
13
7
  let handleScroll;
14
8
  if (props.onScroll) {
15
- handleScroll = (0, lodash_1.flowRight)(scrollHandler, props.onScroll);
9
+ handleScroll = flowRight(scrollHandler, props.onScroll);
16
10
  }
17
11
  else {
18
12
  handleScroll = scrollHandler;
19
13
  }
20
- return (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.ScrollView, { ...props, onScroll: handleScroll, scrollEventThrottle: 16 });
14
+ return _jsx(Animated.ScrollView, { ...props, onScroll: handleScroll, scrollEventThrottle: 16 });
21
15
  };
22
- exports.ScreenScrollView = ScreenScrollView;
@@ -1,49 +1,23 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.StickySubHeader = void 0;
27
- const jsx_runtime_1 = require("react/jsx-runtime");
28
- const react_1 = require("react");
29
- const react_native_reanimated_1 = __importStar(require("react-native-reanimated"));
30
- const ScreenScrollContext_1 = require("./ScreenScrollContext");
31
- const constants_1 = require("./constants");
32
- const hooks_1 = require("../../utils/hooks");
33
- const Flex_1 = require("../Flex");
34
- const Separator_1 = require("../Separator");
35
- const Text_1 = require("../Text");
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import Animated, { useAnimatedStyle, useDerivedValue, withTiming } from "react-native-reanimated";
4
+ import { useScreenScrollContext } from "./ScreenScrollContext";
5
+ import { NAVBAR_HEIGHT } from "./constants";
6
+ import { useSpace } from "../../utils/hooks";
7
+ import { Flex } from "../Flex";
8
+ import { Separator } from "../Separator";
9
+ import { Text } from "../Text";
36
10
  const STICKY_BAR_HEIGHT = 42;
37
- const DEFAULT_SEPARATOR_COMPONENT = (0, jsx_runtime_1.jsx)(Separator_1.Separator, { borderColor: "black5" });
38
- const StickySubHeader = ({ title, separatorComponent = DEFAULT_SEPARATOR_COMPONENT, subTitle, children, }) => {
39
- const { currentScrollY, scrollYOffset = 0 } = (0, ScreenScrollContext_1.useScreenScrollContext)();
40
- const space = (0, hooks_1.useSpace)();
41
- const [stickyBarHeight, setStickyHeaderHeight] = (0, react_1.useState)(null);
42
- const visible = (0, react_native_reanimated_1.useDerivedValue)(() => {
11
+ const DEFAULT_SEPARATOR_COMPONENT = _jsx(Separator, { borderColor: "black5" });
12
+ export const StickySubHeader = ({ title, separatorComponent = DEFAULT_SEPARATOR_COMPONENT, subTitle, children, }) => {
13
+ const { currentScrollY, scrollYOffset = 0 } = useScreenScrollContext();
14
+ const space = useSpace();
15
+ const [stickyBarHeight, setStickyHeaderHeight] = useState(null);
16
+ const visible = useDerivedValue(() => {
43
17
  if (stickyBarHeight === null) {
44
18
  return true;
45
19
  }
46
- return currentScrollY < constants_1.NAVBAR_HEIGHT + scrollYOffset;
20
+ return currentScrollY < NAVBAR_HEIGHT + scrollYOffset;
47
21
  }, [currentScrollY, scrollYOffset, stickyBarHeight]);
48
22
  const handleLayout = (event) => {
49
23
  setStickyHeaderHeight(event.nativeEvent.layout.height);
@@ -52,20 +26,19 @@ const StickySubHeader = ({ title, separatorComponent = DEFAULT_SEPARATOR_COMPONE
52
26
  const sharedStyles = {
53
27
  paddingHorizontal: space(2),
54
28
  };
55
- const animatedStyles = (0, react_native_reanimated_1.useAnimatedStyle)(() => {
29
+ const animatedStyles = useAnimatedStyle(() => {
56
30
  return {
57
- height: (0, react_native_reanimated_1.withTiming)(visible.value ? stickyBarHeight || STICKY_BAR_HEIGHT : 0, {
31
+ height: withTiming(visible.value ? stickyBarHeight || STICKY_BAR_HEIGHT : 0, {
58
32
  duration: 100,
59
33
  }),
60
34
  transform: [
61
35
  {
62
- translateY: (0, react_native_reanimated_1.withTiming)(visible.value ? 0 : -(stickyBarHeight || STICKY_BAR_HEIGHT), {
36
+ translateY: withTiming(visible.value ? 0 : -(stickyBarHeight || STICKY_BAR_HEIGHT), {
63
37
  duration: 100,
64
38
  }),
65
39
  },
66
40
  ],
67
41
  };
68
42
  });
69
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { children: [stickyBarHeight === null && ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { onLayout: (event) => handleLayout(event), position: "absolute", backgroundColor: "white100", zIndex: -1000, style: sharedStyles, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { mb: 1, children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", color: "white100", children: title }), !!subTitle && ((0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", mt: 0.5, color: "white100", children: subTitle }))] }) })), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [sharedStyles, animatedStyles], children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { style: { height: stickyBarHeight }, mb: 1, children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", children: title }), subTitle && ((0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "xs", mt: 0.5, children: subTitle }))] }) }), children, children !== undefined && separatorComponent] }));
43
+ return (_jsxs(Flex, { children: [stickyBarHeight === null && (_jsx(Flex, { onLayout: (event) => handleLayout(event), position: "absolute", backgroundColor: "white100", zIndex: -1000, style: sharedStyles, children: _jsxs(Flex, { mb: 1, children: [_jsx(Text, { variant: "lg-display", color: "white100", children: title }), !!subTitle && (_jsx(Text, { variant: "xs", mt: 0.5, color: "white100", children: subTitle }))] }) })), _jsx(Animated.View, { style: [sharedStyles, animatedStyles], children: _jsxs(Flex, { style: { height: stickyBarHeight }, mb: 1, children: [_jsx(Text, { variant: "lg-display", children: title }), subTitle && (_jsx(Text, { variant: "xs", mt: 0.5, children: subTitle }))] }) }), children, children !== undefined && separatorComponent] }));
70
44
  };
71
- exports.StickySubHeader = StickySubHeader;
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZINDEX = exports.SCREEN_TRANSITION_TIME = exports.SCREEN_HORIZONTAL_PADDING = exports.NAVBAR_HEIGHT = exports.LARGE_TITLE_HEIGHT = void 0;
4
- exports.LARGE_TITLE_HEIGHT = 64;
5
- exports.NAVBAR_HEIGHT = 50;
6
- exports.SCREEN_HORIZONTAL_PADDING = 2;
7
- exports.SCREEN_TRANSITION_TIME = 400;
8
- exports.ZINDEX = {
1
+ export const LARGE_TITLE_HEIGHT = 64;
2
+ export const NAVBAR_HEIGHT = 50;
3
+ export const SCREEN_HORIZONTAL_PADDING = 2;
4
+ export const SCREEN_TRANSITION_TIME = 400;
5
+ export const ZINDEX = {
9
6
  artworkContent: 10,
10
7
  bottomSheetModalView: 1,
11
8
  floatingHeader: 2,
@@ -1,18 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useAnimatedHeaderScrolling = void 0;
4
- const react_1 = require("react");
5
- const react_native_reanimated_1 = require("react-native-reanimated");
6
- const constants_1 = require("../constants");
7
- const useAnimatedHeaderScrolling = (scrollY, scrollYOffset = 0) => {
8
- const listenForScroll = (0, react_native_reanimated_1.useSharedValue)(true);
9
- const [currScrollY, setCurrScrollY] = (0, react_1.useState)(scrollY.value);
10
- const HEADER_HEIGHT = (0, react_1.useMemo)(() => constants_1.NAVBAR_HEIGHT + scrollYOffset, [scrollYOffset]);
1
+ import { useEffect, useMemo, useState } from "react";
2
+ import { runOnJS, useAnimatedReaction, useSharedValue } from "react-native-reanimated";
3
+ import { NAVBAR_HEIGHT } from "../constants";
4
+ export const useAnimatedHeaderScrolling = (scrollY, scrollYOffset = 0) => {
5
+ const listenForScroll = useSharedValue(true);
6
+ const [currScrollY, setCurrScrollY] = useState(scrollY.value);
7
+ const HEADER_HEIGHT = useMemo(() => NAVBAR_HEIGHT + scrollYOffset, [scrollYOffset]);
11
8
  // Needed to run on JS thread
12
9
  const update = (y) => {
13
10
  setCurrScrollY(y);
14
11
  };
15
- (0, react_1.useEffect)(() => {
12
+ useEffect(() => {
16
13
  const timer = setTimeout(() => {
17
14
  listenForScroll.value = false;
18
15
  }, 1000);
@@ -20,7 +17,7 @@ const useAnimatedHeaderScrolling = (scrollY, scrollYOffset = 0) => {
20
17
  clearTimeout(timer);
21
18
  };
22
19
  }, [listenForScroll]);
23
- (0, react_native_reanimated_1.useAnimatedReaction)(() => {
20
+ useAnimatedReaction(() => {
24
21
  return [scrollY.value, listenForScroll.value];
25
22
  }, ([animatedScrollY, isListeningForScroll], previousScroll) => {
26
23
  const [prevScrollY] = previousScroll ?? [0, false];
@@ -35,8 +32,7 @@ const useAnimatedHeaderScrolling = (scrollY, scrollYOffset = 0) => {
35
32
  if (prevTitleShown === currTitleShown) {
36
33
  return;
37
34
  }
38
- (0, react_native_reanimated_1.runOnJS)(update)(Math.floor(animatedScrollY));
35
+ runOnJS(update)(Math.floor(animatedScrollY));
39
36
  }, [scrollY, HEADER_HEIGHT]);
40
37
  return currScrollY;
41
38
  };
42
- exports.useAnimatedHeaderScrolling = useAnimatedHeaderScrolling;
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useListenForScreenScroll = void 0;
4
- const react_1 = require("react");
5
- const react_native_reanimated_1 = require("react-native-reanimated");
6
- const useAnimatedHeaderScrolling_1 = require("./useAnimatedHeaderScrolling");
7
- const ScreenScrollContext_1 = require("../ScreenScrollContext");
8
- const useListenForScreenScroll = () => {
9
- const { updateCurrentScrollY, scrollYOffset } = (0, ScreenScrollContext_1.useScreenScrollContext)();
10
- const animatedScrollY = (0, react_native_reanimated_1.useSharedValue)(0);
11
- const scrollY = (0, useAnimatedHeaderScrolling_1.useAnimatedHeaderScrolling)(animatedScrollY, scrollYOffset);
12
- const scrollHandler = (0, react_native_reanimated_1.useAnimatedScrollHandler)({
1
+ import { useEffect } from "react";
2
+ import { useAnimatedScrollHandler, useSharedValue } from "react-native-reanimated";
3
+ import { useAnimatedHeaderScrolling } from "./useAnimatedHeaderScrolling";
4
+ import { useScreenScrollContext } from "../ScreenScrollContext";
5
+ export const useListenForScreenScroll = () => {
6
+ const { updateCurrentScrollY, scrollYOffset } = useScreenScrollContext();
7
+ const animatedScrollY = useSharedValue(0);
8
+ const scrollY = useAnimatedHeaderScrolling(animatedScrollY, scrollYOffset);
9
+ const scrollHandler = useAnimatedScrollHandler({
13
10
  onScroll: (event) => {
14
11
  animatedScrollY.value = event.contentOffset.y;
15
12
  },
16
13
  });
17
- (0, react_1.useEffect)(() => {
14
+ useEffect(() => {
18
15
  updateCurrentScrollY(scrollY);
19
16
  }, [scrollY, updateCurrentScrollY]);
20
17
  return {
21
18
  scrollHandler,
22
19
  };
23
20
  };
24
- exports.useListenForScreenScroll = useListenForScreenScroll;