@artsy/palette-mobile 23.14.0 → 24.0.0

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 (220) hide show
  1. package/dist/Theme.js +16 -11
  2. package/dist/animation/CssTransition.js +71 -26
  3. package/dist/animation/index.js +17 -1
  4. package/dist/constants.js +12 -8
  5. package/dist/elements/ArtsyKeyboardAvoidingView/ArtsyKeyboardAvoidingView.js +116 -69
  6. package/dist/elements/ArtsyKeyboardAvoidingView/index.js +17 -1
  7. package/dist/elements/Autocomplete/Autocomplete.js +32 -23
  8. package/dist/elements/Autocomplete/Autocomplete.tests.js +128 -56
  9. package/dist/elements/Autocomplete/index.js +17 -1
  10. package/dist/elements/Avatar/Avatar.js +20 -15
  11. package/dist/elements/Avatar/Avatar.stories.js +29 -15
  12. package/dist/elements/Avatar/Avatar.tests.js +12 -10
  13. package/dist/elements/Avatar/index.js +17 -1
  14. package/dist/elements/BackButton/BackButton.js +16 -9
  15. package/dist/elements/BackButton/BackButton.stories.js +12 -8
  16. package/dist/elements/BackButton/index.js +17 -1
  17. package/dist/elements/Banner/Banner.js +45 -18
  18. package/dist/elements/Banner/Banner.stories.js +12 -8
  19. package/dist/elements/Banner/index.js +17 -1
  20. package/dist/elements/BorderBox/BorderBox.js +16 -11
  21. package/dist/elements/BorderBox/index.js +17 -1
  22. package/dist/elements/Box/Box.js +16 -14
  23. package/dist/elements/Box/Box.stories.js +21 -15
  24. package/dist/elements/Box/index.js +17 -1
  25. package/dist/elements/Button/Button.js +85 -64
  26. package/dist/elements/Button/Button.stories.js +48 -23
  27. package/dist/elements/Button/CTAButton.js +18 -3
  28. package/dist/elements/Button/FollowButton.js +38 -11
  29. package/dist/elements/Button/LinkButton.js +19 -4
  30. package/dist/elements/Button/colors.js +7 -3
  31. package/dist/elements/Button/index.js +20 -4
  32. package/dist/elements/ButtonNew/Button.js +114 -49
  33. package/dist/elements/ButtonNew/Button.stories.js +64 -38
  34. package/dist/elements/ButtonNew/Button.tests.js +23 -21
  35. package/dist/elements/ButtonNew/CTAButton.js +18 -3
  36. package/dist/elements/ButtonNew/FollowButton.js +36 -9
  37. package/dist/elements/ButtonNew/LinkButton.js +19 -4
  38. package/dist/elements/ButtonNew/colors.js +7 -3
  39. package/dist/elements/ButtonNew/index.js +20 -4
  40. package/dist/elements/Checkbox/Check.js +83 -46
  41. package/dist/elements/Checkbox/Checkbox.js +83 -47
  42. package/dist/elements/Checkbox/Checkbox.stories.js +10 -9
  43. package/dist/elements/Checkbox/index.js +18 -2
  44. package/dist/elements/Chip/Chip.js +23 -18
  45. package/dist/elements/Chip/Chip.stories.js +12 -8
  46. package/dist/elements/Chip/index.js +17 -1
  47. package/dist/elements/ClassTheme/ClassTheme.js +10 -5
  48. package/dist/elements/ClassTheme/index.js +17 -1
  49. package/dist/elements/Collapse/Collapse.js +9 -4
  50. package/dist/elements/Collapse/Collapse.stories.js +13 -9
  51. package/dist/elements/Collapse/index.js +17 -1
  52. package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.js +32 -27
  53. package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.stories.js +62 -37
  54. package/dist/elements/CollapsibleMenuItem/index.js +17 -1
  55. package/dist/elements/Dialog/Dialog.js +52 -26
  56. package/dist/elements/Dialog/Dialog.stories.js +41 -22
  57. package/dist/elements/Dialog/Dialog.tests.js +33 -31
  58. package/dist/elements/Dialog/index.js +17 -1
  59. package/dist/elements/EntityHeader/EntityHeader.js +42 -15
  60. package/dist/elements/EntityHeader/EntityHeader.stories.js +26 -18
  61. package/dist/elements/EntityHeader/index.js +17 -1
  62. package/dist/elements/Flex/Flex.js +32 -4
  63. package/dist/elements/Flex/index.js +17 -1
  64. package/dist/elements/Header/ArtsyLogoHeader.js +15 -8
  65. package/dist/elements/Header/index.js +17 -1
  66. package/dist/elements/Histogram/Histogram.js +19 -14
  67. package/dist/elements/Histogram/index.js +17 -1
  68. package/dist/elements/Image/Image.js +60 -28
  69. package/dist/elements/Image/Image.stories.js +35 -23
  70. package/dist/elements/Image/__tests__/getImageURL.tests.js +10 -8
  71. package/dist/elements/Image/helpers/getImageURL.js +13 -8
  72. package/dist/elements/Image/index.js +17 -1
  73. package/dist/elements/Input/Input.js +216 -168
  74. package/dist/elements/Input/Input.stories.js +15 -11
  75. package/dist/elements/Input/Input.tests.js +85 -39
  76. package/dist/elements/Input/InputTitle.js +9 -4
  77. package/dist/elements/Input/helpers.js +35 -27
  78. package/dist/elements/Input/index.js +19 -3
  79. package/dist/elements/Input/maskValue.js +25 -9
  80. package/dist/elements/Input/maskValue.tests.js +19 -17
  81. package/dist/elements/Join/Join.js +14 -9
  82. package/dist/elements/Join/index.js +17 -1
  83. package/dist/elements/LazyFlatlist/LazyFlatlist.js +11 -8
  84. package/dist/elements/LazyFlatlist/index.js +18 -2
  85. package/dist/elements/LazyFlatlist/useHasSeenItem.js +19 -12
  86. package/dist/elements/LegacyScreen/LegacyScreen.js +124 -83
  87. package/dist/elements/LegacyScreen/index.js +17 -1
  88. package/dist/elements/LegacyTabs/ContentTabs.js +18 -12
  89. package/dist/elements/LegacyTabs/NavigationalTabs.js +21 -15
  90. package/dist/elements/LegacyTabs/StepTabs.js +25 -19
  91. package/dist/elements/LegacyTabs/Tab.js +31 -19
  92. package/dist/elements/LegacyTabs/TabBarContainer.js +48 -39
  93. package/dist/elements/LegacyTabs/index.js +38 -9
  94. package/dist/elements/List/BulletedItem.js +34 -7
  95. package/dist/elements/List/List.stories.js +12 -8
  96. package/dist/elements/List/index.js +17 -1
  97. package/dist/elements/MeasuredView/MeasuredView.js +18 -12
  98. package/dist/elements/MeasuredView/index.js +17 -1
  99. package/dist/elements/MenuItem/MenuItem.js +14 -9
  100. package/dist/elements/MenuItem/MenuItem.stories.js +9 -5
  101. package/dist/elements/MenuItem/index.js +17 -1
  102. package/dist/elements/Message/Message.js +35 -19
  103. package/dist/elements/Message/Message.stories.d.ts +1 -1
  104. package/dist/elements/Message/Message.stories.js +23 -17
  105. package/dist/elements/Message/Message.tests.js +38 -36
  106. package/dist/elements/Message/index.js +17 -1
  107. package/dist/elements/Pill/Pill.js +116 -138
  108. package/dist/elements/Pill/Pill.stories.js +28 -20
  109. package/dist/elements/Pill/Pill.tests.js +15 -13
  110. package/dist/elements/Pill/index.js +17 -1
  111. package/dist/elements/PopIn/PopIn.js +13 -8
  112. package/dist/elements/PopIn/index.js +17 -1
  113. package/dist/elements/Popover/Popover.js +45 -15
  114. package/dist/elements/Popover/Popover.stories.js +25 -19
  115. package/dist/elements/Popover/index.js +17 -1
  116. package/dist/elements/ProgressBar/ProgressBar.js +68 -23
  117. package/dist/elements/ProgressBar/ProgressBar.stories.js +11 -7
  118. package/dist/elements/ProgressBar/ProgressBar.tests.js +48 -23
  119. package/dist/elements/ProgressBar/index.js +17 -1
  120. package/dist/elements/Radio/RadioButton.js +80 -44
  121. package/dist/elements/Radio/RadioButton.stories.js +17 -13
  122. package/dist/elements/Radio/RadioDot.js +31 -15
  123. package/dist/elements/Radio/index.js +7 -2
  124. package/dist/elements/Screen/Background.js +10 -3
  125. package/dist/elements/Screen/Body.js +37 -10
  126. package/dist/elements/Screen/BottomView.js +17 -9
  127. package/dist/elements/Screen/FloatingHeader.js +36 -9
  128. package/dist/elements/Screen/FullWidthDivider.js +20 -5
  129. package/dist/elements/Screen/FullWidthItem.js +20 -5
  130. package/dist/elements/Screen/Header.js +79 -26
  131. package/dist/elements/Screen/Screen.stories.js +46 -30
  132. package/dist/elements/Screen/ScreenBase.js +39 -11
  133. package/dist/elements/Screen/ScreenFlatList.js +26 -9
  134. package/dist/elements/Screen/ScreenScrollContext.js +21 -15
  135. package/dist/elements/Screen/ScreenScrollView.js +27 -9
  136. package/dist/elements/Screen/StickySubHeader.js +62 -23
  137. package/dist/elements/Screen/constants.js +8 -5
  138. package/dist/elements/Screen/hooks/useListenForScreenScroll.js +13 -9
  139. package/dist/elements/Screen/hooks/useShowLargeTitle.js +19 -14
  140. package/dist/elements/Screen/hooks/useTitleStyles.js +14 -10
  141. package/dist/elements/Screen/index.js +48 -31
  142. package/dist/elements/SearchInput/RoundSearchInput.js +79 -46
  143. package/dist/elements/SearchInput/SearchInput.js +43 -14
  144. package/dist/elements/SearchInput/index.js +18 -2
  145. package/dist/elements/Separator/Separator.js +20 -12
  146. package/dist/elements/Separator/Separator.stories.js +10 -6
  147. package/dist/elements/Separator/ShadowSeparator.js +14 -7
  148. package/dist/elements/Separator/index.js +18 -2
  149. package/dist/elements/SimpleMessage/SimpleMessage.js +47 -11
  150. package/dist/elements/SimpleMessage/index.js +17 -1
  151. package/dist/elements/Skeleton/Skeleton.js +50 -19
  152. package/dist/elements/Skeleton/Skeleton.stories.js +14 -10
  153. package/dist/elements/Skeleton/index.js +17 -1
  154. package/dist/elements/Spacer/Spacer.js +32 -3
  155. package/dist/elements/Spacer/Spacer.stories.js +35 -19
  156. package/dist/elements/Spacer/index.js +17 -1
  157. package/dist/elements/Spinner/Spinner.js +62 -33
  158. package/dist/elements/Spinner/index.js +17 -1
  159. package/dist/elements/Switch/Switch.js +50 -17
  160. package/dist/elements/Switch/Switch.stories.js +31 -14
  161. package/dist/elements/Switch/index.js +17 -1
  162. package/dist/elements/Tabs/SubTabBar.js +29 -20
  163. package/dist/elements/Tabs/TabFlashList.js +24 -12
  164. package/dist/elements/Tabs/TabFlatList.js +24 -12
  165. package/dist/elements/Tabs/TabMasonry.js +24 -12
  166. package/dist/elements/Tabs/TabScrollView.js +27 -14
  167. package/dist/elements/Tabs/Tabs.js +27 -24
  168. package/dist/elements/Tabs/Tabs.stories.js +93 -46
  169. package/dist/elements/Tabs/TabsContainer.js +62 -38
  170. package/dist/elements/Tabs/TabsWithHeader.js +41 -13
  171. package/dist/elements/Tabs/hooks/useListenForTabContentScroll.js +13 -9
  172. package/dist/elements/Tabs/index.js +17 -1
  173. package/dist/elements/Text/LinkText.js +32 -3
  174. package/dist/elements/Text/Text.js +61 -23
  175. package/dist/elements/Text/Text.stories.js +37 -28
  176. package/dist/elements/Text/Text.tests.js +7 -5
  177. package/dist/elements/Text/helpers.js +13 -7
  178. package/dist/elements/Text/index.js +19 -3
  179. package/dist/elements/ToolTip/ToolTip.js +67 -53
  180. package/dist/elements/ToolTip/ToolTip.stories.js +21 -14
  181. package/dist/elements/ToolTip/ToolTip.tests.js +15 -13
  182. package/dist/elements/ToolTip/ToolTipFlyout.js +68 -28
  183. package/dist/elements/ToolTip/index.js +17 -1
  184. package/dist/elements/Touchable/Touchable.js +41 -13
  185. package/dist/elements/Touchable/Touchable.stories.js +13 -9
  186. package/dist/elements/Touchable/TouchableHighlightColor.js +38 -12
  187. package/dist/elements/Touchable/TouchableWithScale.js +38 -11
  188. package/dist/elements/Touchable/index.js +19 -3
  189. package/dist/elements/VisualClue/VisualClue.stories.js +11 -7
  190. package/dist/elements/VisualClue/VisualClueDot.js +24 -14
  191. package/dist/elements/VisualClue/VisualClueText.js +26 -15
  192. package/dist/elements/VisualClue/index.js +18 -2
  193. package/dist/elements/index.js +62 -46
  194. package/dist/index.js +24 -8
  195. package/dist/setupJest.js +11 -6
  196. package/dist/storybook/decorators.js +36 -27
  197. package/dist/storybook/helpers.js +40 -22
  198. package/dist/tokens.js +28 -67
  199. package/dist/types.js +10 -5
  200. package/dist/utils/Wrap.js +16 -8
  201. package/dist/utils/colors.stories.js +31 -25
  202. package/dist/utils/createGeminiUrl.js +28 -22
  203. package/dist/utils/flattenChildren.js +20 -7
  204. package/dist/utils/formatLargeNumber.js +8 -4
  205. package/dist/utils/formatLargeNumbers.tests.js +15 -13
  206. package/dist/utils/hooks/index.js +20 -4
  207. package/dist/utils/hooks/useColor.js +6 -2
  208. package/dist/utils/hooks/useMeasure.js +40 -14
  209. package/dist/utils/hooks/useScreenDimensions.js +31 -20
  210. package/dist/utils/hooks/useSpace.js +6 -2
  211. package/dist/utils/hooks/useTheme.js +31 -23
  212. package/dist/utils/normalizeText.js +11 -6
  213. package/dist/utils/space.stories.js +15 -10
  214. package/dist/utils/tests/flattenChildren.tests.js +8 -6
  215. package/dist/utils/tests/isTestEnvironment.js +5 -1
  216. package/dist/utils/tests/renderWithWrappers.js +15 -7
  217. package/dist/utils/text.js +13 -9
  218. package/dist/utils/types.js +2 -0
  219. package/dist/utils/webTokensToMobile.js +16 -10
  220. package/package.json +30 -36
@@ -1,19 +1,32 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Tabs } from "react-native-collapsible-tab-view";
3
- import { useListenForTabContentScroll } from "./hooks/useListenForTabContentScroll";
4
- import { useSpace } from "../../utils/hooks/useSpace";
5
- export const TabScrollView = (props) => {
6
- useListenForTabContentScroll();
7
- const space = useSpace();
8
- const contentContainerStyle = (props.contentContainerStyle ?? {});
9
- return (_jsx(Tabs.ScrollView
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.TabScrollView = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var react_native_collapsible_tab_view_1 = require("react-native-collapsible-tab-view");
17
+ var useListenForTabContentScroll_1 = require("./hooks/useListenForTabContentScroll");
18
+ var useSpace_1 = require("../../utils/hooks/useSpace");
19
+ var TabScrollView = function (props) {
20
+ var _a;
21
+ (0, useListenForTabContentScroll_1.useListenForTabContentScroll)();
22
+ var space = (0, useSpace_1.useSpace)();
23
+ var contentContainerStyle = ((_a = props.contentContainerStyle) !== null && _a !== void 0 ? _a : {});
24
+ return ((0, jsx_runtime_1.jsx)(react_native_collapsible_tab_view_1.Tabs.ScrollView
10
25
  // See: https://github.com/PedroBern/react-native-collapsible-tab-view/issues/158
11
26
  // @ts-ignore
12
- , {
27
+ , __assign({
13
28
  // See: https://github.com/PedroBern/react-native-collapsible-tab-view/issues/158
14
29
  // @ts-ignore
15
- accessibilityComponentType: undefined, accessibilityTraits: undefined, contentContainerStyle: {
16
- marginHorizontal: space(2),
17
- ...contentContainerStyle,
18
- }, ...props }));
30
+ accessibilityComponentType: undefined, accessibilityTraits: undefined, contentContainerStyle: __assign({ marginHorizontal: space(2) }, contentContainerStyle) }, props)));
19
31
  };
32
+ exports.TabScrollView = TabScrollView;
@@ -1,26 +1,29 @@
1
- import { Tabs as BaseTabs, useAnimatedTabIndex, useCurrentTabScrollY, useFocusedTab, useHeaderMeasurements, } from "react-native-collapsible-tab-view";
2
- import { SubTabBar } from "./SubTabBar";
3
- import { TabFlashList } from "./TabFlashList";
4
- import { TabFlatList } from "./TabFlatList";
5
- import { TabMasonry } from "./TabMasonry";
6
- import { TabScrollView } from "./TabScrollView";
7
- import { TabsContainer } from "./TabsContainer";
8
- import { TabsWithHeader } from "./TabsWithHeader";
9
- import { useListenForTabContentScroll } from "./hooks/useListenForTabContentScroll";
10
- export const Tabs = Object.assign(TabsContainer, {
11
- FlatList: TabFlatList,
12
- FlashList: TabFlashList,
13
- Masonry: TabMasonry,
14
- Lazy: BaseTabs.Lazy,
15
- ScrollView: TabScrollView,
16
- SectionList: BaseTabs.SectionList,
17
- SubTabBar,
18
- Tab: BaseTabs.Tab,
19
- TabsWithHeader,
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tabs = void 0;
4
+ var react_native_collapsible_tab_view_1 = require("react-native-collapsible-tab-view");
5
+ var SubTabBar_1 = require("./SubTabBar");
6
+ var TabFlashList_1 = require("./TabFlashList");
7
+ var TabFlatList_1 = require("./TabFlatList");
8
+ var TabMasonry_1 = require("./TabMasonry");
9
+ var TabScrollView_1 = require("./TabScrollView");
10
+ var TabsContainer_1 = require("./TabsContainer");
11
+ var TabsWithHeader_1 = require("./TabsWithHeader");
12
+ var useListenForTabContentScroll_1 = require("./hooks/useListenForTabContentScroll");
13
+ exports.Tabs = Object.assign(TabsContainer_1.TabsContainer, {
14
+ FlatList: TabFlatList_1.TabFlatList,
15
+ FlashList: TabFlashList_1.TabFlashList,
16
+ Masonry: TabMasonry_1.TabMasonry,
17
+ Lazy: react_native_collapsible_tab_view_1.Tabs.Lazy,
18
+ ScrollView: TabScrollView_1.TabScrollView,
19
+ SectionList: react_native_collapsible_tab_view_1.Tabs.SectionList,
20
+ SubTabBar: SubTabBar_1.SubTabBar,
21
+ Tab: react_native_collapsible_tab_view_1.Tabs.Tab,
22
+ TabsWithHeader: TabsWithHeader_1.TabsWithHeader,
20
23
  // Hooks
21
- useAnimatedTabIndex,
22
- useCurrentTabScrollY,
23
- useListenForTabContentScroll,
24
- useFocusedTab,
25
- useHeaderMeasurements,
24
+ useAnimatedTabIndex: react_native_collapsible_tab_view_1.useAnimatedTabIndex,
25
+ useCurrentTabScrollY: react_native_collapsible_tab_view_1.useCurrentTabScrollY,
26
+ useListenForTabContentScroll: useListenForTabContentScroll_1.useListenForTabContentScroll,
27
+ useFocusedTab: react_native_collapsible_tab_view_1.useFocusedTab,
28
+ useHeaderMeasurements: react_native_collapsible_tab_view_1.useHeaderMeasurements,
26
29
  });
@@ -1,74 +1,121 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import Animated, { useAnimatedScrollHandler, useAnimatedStyle, useSharedValue, } from "react-native-reanimated";
3
- import { SafeAreaView } from "react-native-safe-area-context";
4
- import { SubTabBar } from "./SubTabBar";
5
- import { Tabs } from "./Tabs";
6
- import { Button } from "../Button";
7
- import { Flex } from "../Flex";
8
- import { Screen } from "../Screen";
9
- import { Text } from "../Text";
10
- export default {
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Playground = exports.MasonryTabsWithHeader = exports.TabsWithHeader = exports.TabsWithAnimatedHeader = exports.TabsWithIndicator = exports.SimpleTabs = void 0;
37
+ var jsx_runtime_1 = require("react/jsx-runtime");
38
+ var react_native_reanimated_1 = __importStar(require("react-native-reanimated"));
39
+ var react_native_safe_area_context_1 = require("react-native-safe-area-context");
40
+ var SubTabBar_1 = require("./SubTabBar");
41
+ var Tabs_1 = require("./Tabs");
42
+ var Button_1 = require("../Button");
43
+ var Flex_1 = require("../Flex");
44
+ var Screen_1 = require("../Screen");
45
+ var Text_1 = require("../Text");
46
+ exports.default = {
11
47
  title: "Tabs",
12
48
  };
13
- export const SimpleTabs = () => (_jsxs(Tabs, { children: [_jsx(Tabs.Tab, { name: "Tab 1", label: "Tab 1", children: _jsx(Tabs.ScrollView, { children: _jsx(Text, { children: "Tab 1 content" }) }) }), _jsx(Tabs.Tab, { name: "Tab 2", label: "Tab 2", children: _jsx(Tabs.ScrollView, { children: _jsx(Text, { children: "Tab 2 content" }) }) })] }));
14
- export const TabsWithIndicator = () => (_jsxs(Tabs, { indicators: [{ tabName: "tab1", Component: () => _jsx(Text, { textAlign: "right", children: "hi" }) }], children: [_jsx(Tabs.Tab, { name: "tab1", label: "Tab 1", children: _jsx(Tabs.ScrollView, { children: _jsx(Text, { children: "Tab 1 content" }) }) }), _jsx(Tabs.Tab, { name: "tab2", label: "Tab 2", children: _jsx(Tabs.ScrollView, { children: _jsx(Text, { children: "Tab 2 content" }) }) })] }));
15
- TabsWithIndicator.story = {
49
+ var SimpleTabs = function () { return ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "Tab 1", label: "Tab 1", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Tab 1 content" }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "Tab 2", label: "Tab 2", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Tab 2 content" }) }) })] })); };
50
+ exports.SimpleTabs = SimpleTabs;
51
+ var TabsWithIndicator = function () { return ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { indicators: [{ tabName: "tab1", Component: function () { return (0, jsx_runtime_1.jsx)(Text_1.Text, { textAlign: "right", children: "hi" }); } }], children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab1", label: "Tab 1", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Tab 1 content" }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab2", label: "Tab 2", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Tab 2 content" }) }) })] })); };
52
+ exports.TabsWithIndicator = TabsWithIndicator;
53
+ exports.TabsWithIndicator.story = {
16
54
  name: "Tabs with Indicator",
17
55
  };
18
- export const TabsWithAnimatedHeader = () => (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: "Title" }), _jsx(Screen.Body, { fullwidth: true, children: _jsxs(Tabs, { children: [_jsx(Tabs.Tab, { name: "tab1", label: "Tab 1", children: _jsx(Tabs.ScrollView, { 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(Tabs.Tab, { name: "tab2", label: "Tab 2", children: _jsx(Tabs.ScrollView, { 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))) }) })] }) })] }));
19
- TabsWithAnimatedHeader.story = {
56
+ var TabsWithAnimatedHeader = function () { return ((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, { fullwidth: true, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab1", label: "Tab 1", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: Array.from({ length: 5 }).map(function (_, i) { return ((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)(Tabs_1.Tabs.Tab, { name: "tab2", label: "Tab 2", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: Array.from({ length: 5 }).map(function (_, i) { return ((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)); }) }) })] }) })] })); };
57
+ exports.TabsWithAnimatedHeader = TabsWithAnimatedHeader;
58
+ exports.TabsWithAnimatedHeader.story = {
20
59
  name: "Tabs with AnimatedHeader",
21
60
  };
22
- export const TabsWithHeader = () => {
23
- return (_jsxs(Tabs.TabsWithHeader, { title: "Artist Header", showLargeHeaderText: false, BelowTitleHeaderComponent: () => (_jsxs(Flex, { pointerEvents: "none", p: 2, children: [_jsx(Text, { children: "Info" }), _jsx(Text, { children: "More Info" })] })), children: [_jsx(Tabs.Tab, { name: "tab1", label: "Tab 1", children: _jsx(Tabs.ScrollView, { children: _jsx(Text, { children: "Some long text ".repeat(150) }) }) }), _jsx(Tabs.Tab, { name: "tab2", label: "Tab 2", children: _jsx(Text, { children: "Some long text ".repeat(150) }) })] }));
61
+ var TabsWithHeader = function () {
62
+ return ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs.TabsWithHeader, { title: "Artist Header", showLargeHeaderText: false, BelowTitleHeaderComponent: function () { return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { pointerEvents: "none", p: 2, children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Info" }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "More Info" })] })); }, children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab1", label: "Tab 1", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.ScrollView, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Some long text ".repeat(150) }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab2", label: "Tab 2", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Some long text ".repeat(150) }) })] }));
24
63
  };
25
- TabsWithHeader.story = {
64
+ exports.TabsWithHeader = TabsWithHeader;
65
+ exports.TabsWithHeader.story = {
26
66
  name: "Tabs with header",
27
67
  };
28
- export const MasonryTabsWithHeader = () => {
29
- return (_jsxs(Tabs.TabsWithHeader, { title: "Tabs with Masonry", children: [_jsx(Tabs.Tab, { name: "tab1", label: "Tab 1", children: _jsx(Tabs.Masonry, { data: Array.from({ length: 20 }), numColumns: 2, contentContainerStyle: {
68
+ var MasonryTabsWithHeader = function () {
69
+ return ((0, jsx_runtime_1.jsxs)(Tabs_1.Tabs.TabsWithHeader, { title: "Tabs with Masonry", children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab1", label: "Tab 1", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Masonry, { data: Array.from({ length: 20 }), numColumns: 2, contentContainerStyle: {
30
70
  paddingVertical: 10,
31
71
  }, ListHeaderComponentStyle: {
32
72
  zIndex: 1000,
33
- }, ListHeaderComponent: ListHeaderComponent, renderItem: ({ index }) => _jsx(MasonryArtworkItem, { index: index }) }) }), _jsx(Tabs.Tab, { name: "tab2", label: "Tab 2", children: _jsx(Tabs.FlatList, { contentContainerStyle: {
73
+ }, ListHeaderComponent: ListHeaderComponent, renderItem: function (_a) {
74
+ var index = _a.index;
75
+ return (0, jsx_runtime_1.jsx)(MasonryArtworkItem, { index: index });
76
+ } }) }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { name: "tab2", label: "Tab 2", children: (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.FlatList, { contentContainerStyle: {
34
77
  paddingHorizontal: 0,
35
- }, data: Array.from({ length: 20 }), renderItem: () => _jsx(Flex, { backgroundColor: randomHexColor(), height: 80, width: "100%" }) }) })] }));
78
+ }, data: Array.from({ length: 20 }), renderItem: function () { return (0, jsx_runtime_1.jsx)(Flex_1.Flex, { backgroundColor: randomHexColor(), height: 80, width: "100%" }); } }) })] }));
36
79
  };
37
- const ListHeaderComponent = () => {
38
- return (_jsx(SubTabBar, { children: _jsx(ListHeaderComponentContent, {}) }));
80
+ exports.MasonryTabsWithHeader = MasonryTabsWithHeader;
81
+ var ListHeaderComponent = function () {
82
+ return ((0, jsx_runtime_1.jsx)(SubTabBar_1.SubTabBar, { children: (0, jsx_runtime_1.jsx)(ListHeaderComponentContent, {}) }));
39
83
  };
40
- const ListHeaderComponentContent = () => {
41
- return (_jsxs(Flex, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", mx: 2, px: 2, py: 1, backgroundColor: "mono10", children: [_jsx(Flex, { children: _jsx(Text, { children: "Create Alert" }) }), _jsx(Flex, { children: _jsx(Button, { children: "Sort & Filter" }) })] }));
84
+ var ListHeaderComponentContent = function () {
85
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", mx: 2, px: 2, py: 1, backgroundColor: "mono10", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Create Alert" }) }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { children: (0, jsx_runtime_1.jsx)(Button_1.Button, { children: "Sort & Filter" }) })] }));
42
86
  };
43
- const MasonryArtworkItem = ({ index }) => {
44
- return (_jsxs(Flex, { px: 1, children: [_jsx(Flex, { style: {
87
+ var MasonryArtworkItem = function (_a) {
88
+ var index = _a.index;
89
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { px: 1, children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { style: {
45
90
  height: 200 + Math.random() * 200,
46
91
  backgroundColor: randomHexColor(),
47
92
  width: "100%",
48
- } }), _jsx(Flex, { py: 1, backgroundColor: "mono0", mb: 2, children: _jsxs(Text, { variant: "sm-display", fontWeight: "medium", children: ["Artwork ", index + 1] }) })] }));
93
+ } }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { py: 1, backgroundColor: "mono0", mb: 2, children: (0, jsx_runtime_1.jsxs)(Text_1.Text, { variant: "sm-display", fontWeight: "medium", children: ["Artwork ", index + 1] }) })] }));
49
94
  };
50
- const randomHexColor = () => {
51
- return `#${Math.floor(Math.random() * 16777215).toString(16)}`;
95
+ var randomHexColor = function () {
96
+ return "#".concat(Math.floor(Math.random() * 16777215).toString(16));
52
97
  };
53
- MasonryTabsWithHeader.story = {
98
+ exports.MasonryTabsWithHeader.story = {
54
99
  name: "Masonry Tabs with header",
55
100
  };
56
- export const Playground = () => {
57
- const scrollY = useSharedValue(0);
58
- const scrollHandler = useAnimatedScrollHandler({
59
- onScroll: (event) => {
101
+ var Playground = function () {
102
+ var scrollY = (0, react_native_reanimated_1.useSharedValue)(0);
103
+ var scrollHandler = (0, react_native_reanimated_1.useAnimatedScrollHandler)({
104
+ onScroll: function (event) {
60
105
  scrollY.value = event.contentOffset.y;
61
106
  },
62
107
  });
63
- return (_jsx(Flex, { flex: 1, children: _jsx(SafeAreaView, { edges: ["top"], children: _jsxs(Animated.ScrollView, { onScroll: scrollHandler, scrollEventThrottle: 16, children: [_jsx(LongContent, {}), _jsx(StickyView, { scrollY: scrollY })] }) }) }));
108
+ return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flex: 1, children: (0, jsx_runtime_1.jsx)(react_native_safe_area_context_1.SafeAreaView, { edges: ["top"], children: (0, jsx_runtime_1.jsxs)(react_native_reanimated_1.default.ScrollView, { onScroll: scrollHandler, scrollEventThrottle: 16, children: [(0, jsx_runtime_1.jsx)(LongContent, {}), (0, jsx_runtime_1.jsx)(StickyView, { scrollY: scrollY })] }) }) }));
64
109
  };
65
- const StickyView = ({ scrollY }) => {
66
- const animatedStyle = useAnimatedStyle(() => {
110
+ exports.Playground = Playground;
111
+ var StickyView = function (_a) {
112
+ var scrollY = _a.scrollY;
113
+ var animatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(function () {
67
114
  return {
68
115
  transform: [{ translateY: scrollY.value }],
69
116
  };
70
117
  });
71
- return (_jsx(Animated.View, { style: [
118
+ return ((0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
72
119
  {
73
120
  height: 50,
74
121
  width: "100%",
@@ -78,14 +125,14 @@ const StickyView = ({ scrollY }) => {
78
125
  alignItems: "center",
79
126
  },
80
127
  animatedStyle,
81
- ], children: _jsx(Text, { children: "Sticky View" }) }));
128
+ ], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Sticky View" }) }));
82
129
  };
83
- const randomColor = (index) => {
84
- return `#${Math.floor(Math.random() * 16777215).toString(16)}`;
130
+ var randomColor = function () {
131
+ return "#".concat(Math.floor(Math.random() * 16777215).toString(16));
85
132
  };
86
- const LongContent = () => {
87
- return (_jsx(Flex, { children: Array.from({ length: 20 }).map((_, index) => (_jsx(Flex, { style: { height: 100, backgroundColor: randomColor(index) } }, index))) }));
133
+ var LongContent = function () {
134
+ return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { children: Array.from({ length: 20 }).map(function (_, index) { return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { style: { height: 100, backgroundColor: randomColor() } }, index)); }) }));
88
135
  };
89
- Playground.story = {
136
+ exports.Playground.story = {
90
137
  name: "Playground",
91
138
  };
@@ -1,66 +1,90 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { Platform } from "react-native";
4
- import { Tabs as BaseTabs, MaterialTabBar, MaterialTabItem, } from "react-native-collapsible-tab-view";
5
- import { DEFAULT_ACTIVE_OPACITY } from "../../constants";
6
- import { useColor } from "../../utils/hooks/useColor";
7
- import { useSpace } from "../../utils/hooks/useSpace";
8
- import { Box } from "../Box";
9
- import { Flex } from "../Flex";
10
- import { Pill } from "../Pill";
11
- const TAB_BAR_HEIGHT = 50;
12
- const PillTabItem = ({ focusedTab, ...props }) => {
13
- return (_jsx(Pill, { selected: props.name === focusedTab, onPress: () => {
14
- props.onTabPress?.(props.name);
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.TabsContainer = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var react_1 = require("react");
28
+ var react_native_1 = require("react-native");
29
+ var react_native_collapsible_tab_view_1 = require("react-native-collapsible-tab-view");
30
+ var constants_1 = require("../../constants");
31
+ var useColor_1 = require("../../utils/hooks/useColor");
32
+ var useSpace_1 = require("../../utils/hooks/useSpace");
33
+ var Box_1 = require("../Box");
34
+ var Flex_1 = require("../Flex");
35
+ var Pill_1 = require("../Pill");
36
+ var TAB_BAR_HEIGHT = 50;
37
+ var PillTabItem = function (_a) {
38
+ var focusedTab = _a.focusedTab, props = __rest(_a, ["focusedTab"]);
39
+ return ((0, jsx_runtime_1.jsx)(Pill_1.Pill, { selected: props.name === focusedTab, onPress: function () {
40
+ var _a;
41
+ (_a = props.onTabPress) === null || _a === void 0 ? void 0 : _a.call(props, props.name);
15
42
  }, variant: "link", children: props.name }, props.name));
16
43
  };
17
- const DefaultTabItem = (props) => {
18
- const Indicator = props.indicators.find((indicator) => {
44
+ var DefaultTabItem = function (props) {
45
+ var Indicator = props.indicators.find(function (indicator) {
19
46
  return indicator.tabName === props.name;
20
47
  });
21
- return (_jsxs(Box, { flex: 1, children: [_jsx(Flex, { position: "absolute", width: "100%", children: !!Indicator?.Component && _jsx(Indicator.Component, { ...props }) }), _jsx(MaterialTabItem, { pressOpacity: DEFAULT_ACTIVE_OPACITY, ...props })] }));
48
+ return ((0, jsx_runtime_1.jsxs)(Box_1.Box, { flex: 1, children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { position: "absolute", width: "100%", children: !!(Indicator === null || Indicator === void 0 ? void 0 : Indicator.Component) && (0, jsx_runtime_1.jsx)(Indicator.Component, __assign({}, props)) }), (0, jsx_runtime_1.jsx)(react_native_collapsible_tab_view_1.MaterialTabItem, __assign({ pressOpacity: constants_1.DEFAULT_ACTIVE_OPACITY }, props))] }));
22
49
  };
23
- export const TabsContainer = ({ children, indicators = [], initialTabName, onTabPress, renderHeader, stickyTabBarComponent, tabScrollEnabled = false, variant = "tabs", ...tabContainerProps }) => {
24
- const space = useSpace();
25
- const color = useColor();
26
- const [focusedTabState, setFocusedTabState] = useState(initialTabName);
27
- const isIOS = Platform.OS === "ios";
28
- return (_jsx(BaseTabs.Container, { renderHeader: renderHeader, headerContainerStyle: {
50
+ var TabsContainer = function (_a) {
51
+ var children = _a.children, _b = _a.indicators, indicators = _b === void 0 ? [] : _b, initialTabName = _a.initialTabName, onTabPress = _a.onTabPress, renderHeader = _a.renderHeader, stickyTabBarComponent = _a.stickyTabBarComponent, _c = _a.tabScrollEnabled, tabScrollEnabled = _c === void 0 ? false : _c, _d = _a.variant, variant = _d === void 0 ? "tabs" : _d, tabContainerProps = __rest(_a, ["children", "indicators", "initialTabName", "onTabPress", "renderHeader", "stickyTabBarComponent", "tabScrollEnabled", "variant"]);
52
+ var space = (0, useSpace_1.useSpace)();
53
+ var color = (0, useColor_1.useColor)();
54
+ var _e = (0, react_1.useState)(initialTabName), focusedTabState = _e[0], setFocusedTabState = _e[1];
55
+ var isIOS = react_native_1.Platform.OS === "ios";
56
+ return ((0, jsx_runtime_1.jsx)(react_native_collapsible_tab_view_1.Tabs.Container, __assign({ renderHeader: renderHeader, headerContainerStyle: {
29
57
  shadowOpacity: 0,
30
58
  shadowRadius: 0,
31
59
  elevation: 0,
32
60
  backgroundColor: color("background"),
33
61
  }, initialTabName: initialTabName, containerStyle: {
34
62
  paddingTop: space(2),
35
- }, renderTabBar: (tabBarProps) => {
63
+ }, renderTabBar: function (tabBarProps) {
36
64
  if (variant === "pills") {
37
- return (_jsxs(Flex, { flexDirection: "row", gap: 2, alignItems: "center", py: 1, children: [_jsx(MaterialTabBar, { ...tabBarProps, scrollEnabled: true, TabItemComponent: (props) => (_jsx(PillTabItem, { ...props, onTabPress: (tab) => {
38
- onTabPress?.(tab);
65
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", gap: 2, alignItems: "center", py: 1, children: [(0, jsx_runtime_1.jsx)(react_native_collapsible_tab_view_1.MaterialTabBar, __assign({}, tabBarProps, { scrollEnabled: true, TabItemComponent: function (props) { return ((0, jsx_runtime_1.jsx)(PillTabItem, __assign({}, props, { onTabPress: function (tab) {
66
+ onTabPress === null || onTabPress === void 0 ? void 0 : onTabPress(tab);
39
67
  tabBarProps.onTabPress(tab);
40
68
  setFocusedTabState(tab);
41
- }, focusedTab: focusedTabState || tabBarProps.focusedTab.value })), indicatorStyle: {
69
+ }, focusedTab: focusedTabState || tabBarProps.focusedTab.value }))); }, indicatorStyle: {
42
70
  backgroundColor: "transparent",
43
71
  }, contentContainerStyle: {
44
72
  gap: space(1),
45
73
  paddingHorizontal: space(2),
46
- } }), stickyTabBarComponent] }));
74
+ } })), stickyTabBarComponent] }));
47
75
  }
48
- return (_jsx(_Fragment, { children: _jsx(MaterialTabBar, { ...tabBarProps, scrollEnabled: tabScrollEnabled, onTabPress: (tab) => {
76
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(react_native_collapsible_tab_view_1.MaterialTabBar, __assign({}, tabBarProps, { scrollEnabled: tabScrollEnabled, onTabPress: function (tab) {
49
77
  tabBarProps.onTabPress(tab);
50
- onTabPress?.(tab);
78
+ onTabPress === null || onTabPress === void 0 ? void 0 : onTabPress(tab);
51
79
  }, style: {
52
80
  height: TAB_BAR_HEIGHT,
53
81
  borderBottomWidth: 1,
54
82
  borderColor: color("mono30"),
55
- }, TabItemComponent: (props) => _jsx(DefaultTabItem, { ...props, indicators: indicators }), contentContainerStyle: {}, activeColor: color("onBackground"), inactiveColor: color("onBackgroundMedium"), labelStyle: { marginHorizontal: 0 }, indicatorStyle: {
56
- backgroundColor: color("onBackground"),
57
- height: 1,
58
- // on android this line breaks the active indicator and it is not visible
59
- ...(isIOS && { bottom: -1 }),
60
- }, tabStyle: {
83
+ }, TabItemComponent: function (props) { return (0, jsx_runtime_1.jsx)(DefaultTabItem, __assign({}, props, { indicators: indicators })); }, contentContainerStyle: {}, activeColor: color("onBackground"), inactiveColor: color("onBackgroundMedium"), labelStyle: { marginHorizontal: 0 }, indicatorStyle: __assign({ backgroundColor: color("onBackground"), height: 1 }, (isIOS && { bottom: -1 })), tabStyle: {
61
84
  // resets the default padding 10 from the lib
62
85
  // to prevent linebreaks on the tab titles
63
86
  paddingHorizontal: 0,
64
- } }) }));
65
- }, ...tabContainerProps, children: children }));
87
+ } })) }));
88
+ } }, tabContainerProps, { children: children })));
66
89
  };
90
+ exports.TabsContainer = TabsContainer;
@@ -1,17 +1,45 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { TabsContainer } from "./TabsContainer";
3
- import { Flex } from "../Flex";
4
- import { Screen } from "../Screen";
5
- import { Text } from "../Text";
6
- export const TabsWithHeader = ({ headerProps = {}, hideScreen = false, disableKeyboardAvoidance = false, title, ...rest }) => {
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.TabsWithHeader = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var TabsContainer_1 = require("./TabsContainer");
28
+ var Flex_1 = require("../Flex");
29
+ var Screen_1 = require("../Screen");
30
+ var Text_1 = require("../Text");
31
+ var TabsWithHeader = function (_a) {
32
+ var _b = _a.headerProps, headerProps = _b === void 0 ? {} : _b, _c = _a.hideScreen, hideScreen = _c === void 0 ? false : _c, _d = _a.disableKeyboardAvoidance, disableKeyboardAvoidance = _d === void 0 ? false : _d, title = _a.title, rest = __rest(_a, ["headerProps", "hideScreen", "disableKeyboardAvoidance", "title"]);
7
33
  if (hideScreen) {
8
- return _jsx(Content, { title: title, ...rest });
34
+ return (0, jsx_runtime_1.jsx)(Content, __assign({ title: title }, rest));
9
35
  }
10
- return (_jsxs(Screen, { children: [_jsx(Screen.AnimatedHeader, { title: title, ...headerProps }), _jsx(Screen.Body, { fullwidth: true, disableKeyboardAvoidance: disableKeyboardAvoidance, children: _jsx(Content, { title: title, ...rest }) })] }));
36
+ return ((0, jsx_runtime_1.jsxs)(Screen_1.Screen, { children: [(0, jsx_runtime_1.jsx)(Screen_1.Screen.AnimatedHeader, __assign({ title: title }, headerProps)), (0, jsx_runtime_1.jsx)(Screen_1.Screen.Body, { fullwidth: true, disableKeyboardAvoidance: disableKeyboardAvoidance, children: (0, jsx_runtime_1.jsx)(Content, __assign({ title: title }, rest)) })] }));
11
37
  };
12
- const Content = ({ BelowTitleHeaderComponent, children, showLargeHeaderText = true, title, ...rest }) => {
13
- const showTitle = showLargeHeaderText && !!title;
14
- return (_jsx(TabsContainer, { ...rest, renderHeader: () => {
15
- return (_jsxs(_Fragment, { children: [!!showTitle && (_jsx(Flex, { my: 1, px: 2, justifyContent: "center", pointerEvents: "none", children: _jsx(Text, { variant: "lg-display", numberOfLines: 2, children: title }) })), !!BelowTitleHeaderComponent && _jsx(BelowTitleHeaderComponent, {})] }));
16
- }, children: children }));
38
+ exports.TabsWithHeader = TabsWithHeader;
39
+ var Content = function (_a) {
40
+ var BelowTitleHeaderComponent = _a.BelowTitleHeaderComponent, children = _a.children, _b = _a.showLargeHeaderText, showLargeHeaderText = _b === void 0 ? true : _b, title = _a.title, rest = __rest(_a, ["BelowTitleHeaderComponent", "children", "showLargeHeaderText", "title"]);
41
+ var showTitle = showLargeHeaderText && !!title;
42
+ return ((0, jsx_runtime_1.jsx)(TabsContainer_1.TabsContainer, __assign({}, rest, { renderHeader: function () {
43
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!!showTitle && ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { my: 1, px: 2, justifyContent: "center", pointerEvents: "none", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "lg-display", numberOfLines: 2, children: title }) })), !!BelowTitleHeaderComponent && (0, jsx_runtime_1.jsx)(BelowTitleHeaderComponent, {})] }));
44
+ }, children: children })));
17
45
  };
@@ -1,12 +1,16 @@
1
- import { useCurrentTabScrollY } from "react-native-collapsible-tab-view";
2
- import { useAnimatedReaction } from "react-native-reanimated";
3
- import { useScreenScrollContext } from "../../Screen/ScreenScrollContext";
4
- export const useListenForTabContentScroll = () => {
5
- const { currentScrollYAnimated } = useScreenScrollContext();
6
- const currentTabScrollY = useCurrentTabScrollY();
7
- useAnimatedReaction(() => currentTabScrollY.value,
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useListenForTabContentScroll = void 0;
4
+ var react_native_collapsible_tab_view_1 = require("react-native-collapsible-tab-view");
5
+ var react_native_reanimated_1 = require("react-native-reanimated");
6
+ var ScreenScrollContext_1 = require("../../Screen/ScreenScrollContext");
7
+ var useListenForTabContentScroll = function () {
8
+ var currentScrollYAnimated = (0, ScreenScrollContext_1.useScreenScrollContext)().currentScrollYAnimated;
9
+ var currentTabScrollY = (0, react_native_collapsible_tab_view_1.useCurrentTabScrollY)();
10
+ (0, react_native_reanimated_1.useAnimatedReaction)(function () { return currentTabScrollY.value; },
8
11
  // TODO: improve the conditions here
9
- (current) => {
10
- currentScrollYAnimated?.set(current);
12
+ function (current) {
13
+ currentScrollYAnimated === null || currentScrollYAnimated === void 0 ? void 0 : currentScrollYAnimated.set(current);
11
14
  });
12
15
  };
16
+ exports.useListenForTabContentScroll = useListenForTabContentScroll;
@@ -1 +1,17 @@
1
- export * from "./Tabs";
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Tabs"), exports);
@@ -1,3 +1,32 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Text } from "./Text";
3
- export const LinkText = ({ style, ...props }) => (_jsx(Text, { accessibilityRole: "link", color: "mono100", ...props, style: [style, { textDecorationLine: "underline" }] }));
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.LinkText = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var Text_1 = require("./Text");
28
+ var LinkText = function (_a) {
29
+ var style = _a.style, props = __rest(_a, ["style"]);
30
+ return ((0, jsx_runtime_1.jsx)(Text_1.Text, __assign({ accessibilityRole: "link", color: "mono100" }, props, { style: [style, { textDecorationLine: "underline" }] })));
31
+ };
32
+ exports.LinkText = LinkText;