@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,22 +1,26 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SearchIcon } from "@artsy/icons/native";
3
- import { Input } from "./Input";
4
- import { List } from "../../storybook/helpers";
5
- import { Join } from "../Join";
6
- import { Separator } from "../Separator";
7
- import { Text } from "../Text";
8
- const artworkSearchPlaceholders = [
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Variants = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var native_1 = require("@artsy/icons/native");
6
+ var Input_1 = require("./Input");
7
+ var helpers_1 = require("../../storybook/helpers");
8
+ var Join_1 = require("../Join");
9
+ var Separator_1 = require("../Separator");
10
+ var Text_1 = require("../Text");
11
+ var artworkSearchPlaceholders = [
9
12
  "Search by artist, artwork title, gallery, fair, or collecting category",
10
13
  "Search by artist, artwork title, gallery, or fair",
11
14
  "Search by artist, artwork, or gallery",
12
15
  "Search artworks",
13
16
  ];
14
- const shippingAddressPlaceholders = [
17
+ var shippingAddressPlaceholders = [
15
18
  "Street address, apartment or suite, delivery instructions",
16
19
  "Street address and apartment or suite",
17
20
  "Street address",
18
21
  ];
19
- export default {
22
+ exports.default = {
20
23
  title: "Input",
21
24
  };
22
- export const Variants = () => (_jsx(List, { contentContainerStyle: { marginHorizontal: 20, alignItems: "stretch" }, children: _jsxs(Join, { separator: _jsx(Separator, { my: 2 }), children: [_jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Default" }), _jsx(Input, {})] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title" }), _jsx(Input, { title: "Title" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and required" }), _jsx(Input, { title: "Title", required: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and optional" }), _jsx(Input, { title: "Title", optional: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and clear button" }), _jsx(Input, { title: "Title", enableClearButton: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and loading" }), _jsx(Input, { title: "Title", loading: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and icon" }), _jsx(Input, { title: "Title", icon: _jsx(SearchIcon, {}) })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and error" }), _jsx(Input, { title: "Title", error: "this is an error" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and disabled" }), _jsx(Input, { title: "Disabled", disabled: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title, clear button and value" }), _jsx(Input, { value: "5", enableClearButton: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With fixed right placeholder" }), _jsx(Input, { fixedRightPlaceholder: "cm" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder (single string)" }), _jsx(Input, { placeholder: "Search artworks" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder (array, longest to shortest)" }), _jsx(Input, { placeholder: artworkSearchPlaceholders })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder with title (array, adaptive)" }), _jsx(Input, { title: "Search", placeholder: artworkSearchPlaceholders })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and placeholder" }), _jsx(Input, { title: "full text", value: "Wow this is a long text, I wonder if I can read the whole thing!" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With text limit" }), _jsx(Input, { title: "Text with limit", maxLength: 100, showLimit: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "multine Without limit" }), _jsx(Input, { title: "Text area", multiline: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "multine With limit" }), _jsx(Input, { title: "Text area with limit", multiline: true, maxLength: 150, showLimit: true })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Multiline with placeholder (single string)" }), _jsx(Input, { title: "Text area", multiline: true, placeholder: "Enter your message" })] }), _jsxs(_Fragment, { children: [_jsx(Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Multiline with placeholder (array, adaptive)" }), _jsx(Input, { title: "Shipping address", multiline: true, placeholder: shippingAddressPlaceholders })] })] }) }));
25
+ var Variants = function () { return ((0, jsx_runtime_1.jsx)(helpers_1.List, { contentContainerStyle: { marginHorizontal: 20, alignItems: "stretch" }, children: (0, jsx_runtime_1.jsxs)(Join_1.Join, { separator: (0, jsx_runtime_1.jsx)(Separator_1.Separator, { my: 2 }), children: [(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Default" }), (0, jsx_runtime_1.jsx)(Input_1.Input, {})] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and required" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", required: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and optional" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", optional: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and clear button" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", enableClearButton: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and loading" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", loading: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and icon" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", icon: (0, jsx_runtime_1.jsx)(native_1.SearchIcon, {}) })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and error" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Title", error: "this is an error" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and disabled" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Disabled", disabled: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title, clear button and value" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { value: "5", enableClearButton: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With fixed right placeholder" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { fixedRightPlaceholder: "cm" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder (single string)" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { placeholder: "Search artworks" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder (array, longest to shortest)" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { placeholder: artworkSearchPlaceholders })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Placeholder with title (array, adaptive)" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Search", placeholder: artworkSearchPlaceholders })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With title and placeholder" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "full text", value: "Wow this is a long text, I wonder if I can read the whole thing!" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "With text limit" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Text with limit", maxLength: 100, showLimit: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "multine Without limit" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Text area", multiline: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "multine With limit" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Text area with limit", multiline: true, maxLength: 150, showLimit: true })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Multiline with placeholder (single string)" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Text area", multiline: true, placeholder: "Enter your message" })] }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { mb: 1, variant: "sm-display", fontWeight: "bold", children: "Multiline with placeholder (array, adaptive)" }), (0, jsx_runtime_1.jsx)(Input_1.Input, { title: "Shipping address", multiline: true, placeholder: shippingAddressPlaceholders })] })] }) })); };
26
+ exports.Variants = Variants;
@@ -1,47 +1,93 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fireEvent, screen } from "@testing-library/react-native";
3
- import { Input } from "./Input";
4
- import { renderWithWrappers } from "../../utils/tests/renderWithWrappers";
5
- describe("Input", () => {
6
- const testID = "input";
7
- it("renders an instance of native TextInput", () => {
8
- renderWithWrappers(_jsx(Input, { testID: testID }));
9
- expect(screen.getByTestId(testID).type).toEqual("TextInput");
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
9
  });
11
- it("uses correct font family", () => {
12
- renderWithWrappers(_jsx(Input, { testID: testID, placeholder: "input" }));
13
- expect(screen.getByPlaceholderText("input").props.style[0].fontFamily).toEqual("Unica77LL-Regular");
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var jsx_runtime_1 = require("react/jsx-runtime");
40
+ var react_native_1 = require("@testing-library/react-native");
41
+ var Input_1 = require("./Input");
42
+ var renderWithWrappers_1 = require("../../utils/tests/renderWithWrappers");
43
+ describe("Input", function () {
44
+ var testID = "input";
45
+ it("renders an instance of native TextInput", function () {
46
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { testID: testID }));
47
+ expect(react_native_1.screen.getByTestId(testID).type).toEqual("TextInput");
14
48
  });
15
- it("mutates given text as value", () => {
16
- renderWithWrappers(_jsx(Input, { testID: testID }));
17
- fireEvent.changeText(screen.getByTestId(testID), "mockStr");
18
- screen.getByDisplayValue("mockStr");
49
+ it("uses correct font family", function () {
50
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { testID: testID, placeholder: "input" }));
51
+ expect(react_native_1.screen.getByPlaceholderText("input").props.style[0].fontFamily).toEqual("Unica77LL-Regular");
19
52
  });
20
- it("Shows an error message when input has an error", () => {
21
- renderWithWrappers(_jsx(Input, { value: "", error: "input has an error" }));
22
- screen.getByText("input has an error");
53
+ it("mutates given text as value", function () {
54
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { testID: testID }));
55
+ react_native_1.fireEvent.changeText(react_native_1.screen.getByTestId(testID), "mockStr");
56
+ react_native_1.screen.getByDisplayValue("mockStr");
23
57
  });
24
- it("should render the clear button when input is not empty and pressing it should clear the input", async () => {
25
- renderWithWrappers(_jsx(Input, { testID: testID, placeholder: "USD", enableClearButton: true }));
26
- fireEvent(screen.getByTestId(testID), "onChangeText", "Banksy");
27
- await screen.findByLabelText("Clear");
28
- fireEvent.press(screen.getByLabelText("Clear"));
29
- expect(screen.queryByDisplayValue("Banksy")).toBeFalsy();
58
+ it("Shows an error message when input has an error", function () {
59
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { value: "", error: "input has an error" }));
60
+ react_native_1.screen.getByText("input has an error");
30
61
  });
31
- it("should show the correct show/hide password icon", () => {
32
- renderWithWrappers(_jsx(Input, { placeholder: "password", secureTextEntry: true }));
33
- screen.getByPlaceholderText("password");
34
- screen.getByLabelText("show password icon");
35
- fireEvent(screen.getByPlaceholderText("password"), "onChangeText", "123456");
36
- fireEvent.press(screen.getByLabelText("show password icon"));
37
- expect(screen.queryByLabelText("show password icon")).toBeFalsy();
38
- screen.getByLabelText("hide password icon");
39
- fireEvent.press(screen.getByLabelText("hide password icon"));
40
- expect(screen.queryByLabelText("hide password icon")).toBeFalsy();
41
- screen.getByLabelText("show password icon");
62
+ it("should render the clear button when input is not empty and pressing it should clear the input", function () { return __awaiter(void 0, void 0, void 0, function () {
63
+ return __generator(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0:
66
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { testID: testID, placeholder: "USD", enableClearButton: true }));
67
+ (0, react_native_1.fireEvent)(react_native_1.screen.getByTestId(testID), "onChangeText", "Banksy");
68
+ return [4 /*yield*/, react_native_1.screen.findByLabelText("Clear")];
69
+ case 1:
70
+ _a.sent();
71
+ react_native_1.fireEvent.press(react_native_1.screen.getByLabelText("Clear"));
72
+ expect(react_native_1.screen.queryByDisplayValue("Banksy")).toBeFalsy();
73
+ return [2 /*return*/];
74
+ }
75
+ });
76
+ }); });
77
+ it("should show the correct show/hide password icon", function () {
78
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { placeholder: "password", secureTextEntry: true }));
79
+ react_native_1.screen.getByPlaceholderText("password");
80
+ react_native_1.screen.getByLabelText("show password icon");
81
+ (0, react_native_1.fireEvent)(react_native_1.screen.getByPlaceholderText("password"), "onChangeText", "123456");
82
+ react_native_1.fireEvent.press(react_native_1.screen.getByLabelText("show password icon"));
83
+ expect(react_native_1.screen.queryByLabelText("show password icon")).toBeFalsy();
84
+ react_native_1.screen.getByLabelText("hide password icon");
85
+ react_native_1.fireEvent.press(react_native_1.screen.getByLabelText("hide password icon"));
86
+ expect(react_native_1.screen.queryByLabelText("hide password icon")).toBeFalsy();
87
+ react_native_1.screen.getByLabelText("show password icon");
42
88
  });
43
- it("enables scrolling when multiline is true", () => {
44
- renderWithWrappers(_jsx(Input, { testID: testID, multiline: true }));
45
- expect(screen.getByTestId(testID).props.scrollEnabled).toBe(true);
89
+ it("enables scrolling when multiline is true", function () {
90
+ (0, renderWithWrappers_1.renderWithWrappers)((0, jsx_runtime_1.jsx)(Input_1.Input, { testID: testID, multiline: true }));
91
+ expect(react_native_1.screen.getByTestId(testID).props.scrollEnabled).toBe(true);
46
92
  });
47
93
  });
@@ -1,8 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Text } from "../Text";
3
- export const InputTitle = ({ children: title, optional, required }) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InputTitle = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var Text_1 = require("../Text");
6
+ var InputTitle = function (_a) {
7
+ var title = _a.children, optional = _a.optional, required = _a.required;
4
8
  if (!title) {
5
9
  return null;
6
10
  }
7
- return (_jsxs(Text, { variant: "md", style: { fontSize: 13, marginBottom: 2, textTransform: "uppercase" }, children: [title, !!required && (_jsx(Text, { variant: "md", style: { fontSize: 13, textTransform: "none" }, color: "onBackgroundMedium", children: "Required" })), !!optional && (_jsxs(Text, { variant: "md", style: { fontSize: 13, textTransform: "none" }, color: "onBackgroundMedium", children: [" ", "Optional"] }))] }));
11
+ return ((0, jsx_runtime_1.jsxs)(Text_1.Text, { variant: "md", style: { fontSize: 13, marginBottom: 2, textTransform: "uppercase" }, children: [title, !!required && ((0, jsx_runtime_1.jsx)(Text_1.Text, { variant: "md", style: { fontSize: 13, textTransform: "none" }, color: "onBackgroundMedium", children: "Required" })), !!optional && ((0, jsx_runtime_1.jsxs)(Text_1.Text, { variant: "md", style: { fontSize: 13, textTransform: "none" }, color: "onBackgroundMedium", children: [" ", "Optional"] }))] }));
8
12
  };
13
+ exports.InputTitle = InputTitle;
@@ -1,99 +1,104 @@
1
- import { THEME } from "@artsy/palette-tokens";
2
- export const SHRINKED_LABEL_TOP = 13;
3
- export const EXPANDED_LABEL_TOP = 40;
4
- const getDefaultVariantStates = (theme) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInputVariant = exports.getInputState = exports.getInputVariants = exports.EXPANDED_LABEL_TOP = exports.SHRINKED_LABEL_TOP = void 0;
4
+ var palette_tokens_1 = require("@artsy/palette-tokens");
5
+ exports.SHRINKED_LABEL_TOP = 13;
6
+ exports.EXPANDED_LABEL_TOP = 40;
7
+ var getDefaultVariantStates = function (theme) {
5
8
  return {
6
9
  // Unfocused input with no value
7
10
  untouched: {
8
11
  inputBorderColor: theme.colors.mono30,
9
- labelFontSize: parseInt(THEME.textVariants["sm-display"].fontSize, 10),
12
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants["sm-display"].fontSize, 10),
10
13
  labelColor: theme.colors.mono60,
11
- labelTop: EXPANDED_LABEL_TOP,
14
+ labelTop: exports.EXPANDED_LABEL_TOP,
12
15
  inputTextColor: theme.colors.mono100,
13
16
  },
14
17
  // Unfocused input with value
15
18
  touched: {
16
19
  inputBorderColor: theme.colors.mono60,
17
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
20
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
18
21
  labelColor: theme.colors.mono60,
19
- labelTop: SHRINKED_LABEL_TOP,
22
+ labelTop: exports.SHRINKED_LABEL_TOP,
20
23
  inputTextColor: theme.colors.mono100,
21
24
  },
22
25
  // Focused input with or without value
23
26
  focused: {
24
27
  inputBorderColor: theme.colors.blue100,
25
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
28
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
26
29
  labelColor: theme.colors.blue100,
27
- labelTop: SHRINKED_LABEL_TOP,
30
+ labelTop: exports.SHRINKED_LABEL_TOP,
28
31
  inputTextColor: theme.colors.mono100,
29
32
  },
30
33
  };
31
34
  };
32
- const getErrorVariantStates = (theme) => {
35
+ var getErrorVariantStates = function (theme) {
33
36
  return {
34
37
  // Unfocused error input with no value
35
38
  untouched: {
36
39
  inputBorderColor: theme.colors.red100,
37
- labelFontSize: parseInt(THEME.textVariants["sm-display"].fontSize, 10),
40
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants["sm-display"].fontSize, 10),
38
41
  labelColor: theme.colors.red100,
39
- labelTop: EXPANDED_LABEL_TOP,
42
+ labelTop: exports.EXPANDED_LABEL_TOP,
40
43
  inputTextColor: theme.colors.mono100,
41
44
  },
42
45
  // Unfocused error input with value
43
46
  touched: {
44
47
  inputBorderColor: theme.colors.red100,
45
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
48
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
46
49
  labelColor: theme.colors.red100,
47
- labelTop: SHRINKED_LABEL_TOP,
50
+ labelTop: exports.SHRINKED_LABEL_TOP,
48
51
  inputTextColor: theme.colors.mono100,
49
52
  },
50
53
  // Focused error input with or without value
51
54
  focused: {
52
55
  inputBorderColor: theme.colors.red100,
53
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
56
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
54
57
  labelColor: theme.colors.red100,
55
- labelTop: SHRINKED_LABEL_TOP,
58
+ labelTop: exports.SHRINKED_LABEL_TOP,
56
59
  inputTextColor: theme.colors.mono100,
57
60
  },
58
61
  };
59
62
  };
60
- const getDisabledVariantStates = (theme) => {
63
+ var getDisabledVariantStates = function (theme) {
61
64
  return {
62
65
  // Unfocused disabled input with no value
63
66
  untouched: {
64
67
  inputBorderColor: theme.colors.mono30,
65
- labelFontSize: parseInt(THEME.textVariants["sm-display"].fontSize, 10),
68
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants["sm-display"].fontSize, 10),
66
69
  labelColor: theme.colors.mono30,
67
- labelTop: EXPANDED_LABEL_TOP,
70
+ labelTop: exports.EXPANDED_LABEL_TOP,
68
71
  inputTextColor: theme.colors.mono30,
69
72
  },
70
73
  // Unfocused disabled input with value
71
74
  touched: {
72
75
  inputBorderColor: theme.colors.mono30,
73
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
76
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
74
77
  labelColor: theme.colors.mono30,
75
- labelTop: SHRINKED_LABEL_TOP,
78
+ labelTop: exports.SHRINKED_LABEL_TOP,
76
79
  inputTextColor: theme.colors.mono30,
77
80
  },
78
81
  // Focused disabled input with or without value
79
82
  // Adding this just to satisfy typescript because a disabled input can't be focused
80
83
  focused: {
81
84
  inputBorderColor: theme.colors.mono30,
82
- labelFontSize: parseInt(THEME.textVariants.xs.fontSize, 10),
85
+ labelFontSize: parseInt(palette_tokens_1.THEME.textVariants.xs.fontSize, 10),
83
86
  labelColor: theme.colors.mono30,
84
- labelTop: SHRINKED_LABEL_TOP,
87
+ labelTop: exports.SHRINKED_LABEL_TOP,
85
88
  inputTextColor: theme.colors.mono30,
86
89
  },
87
90
  };
88
91
  };
89
- export const getInputVariants = (theme) => {
92
+ var getInputVariants = function (theme) {
90
93
  return {
91
94
  default: getDefaultVariantStates(theme),
92
95
  error: getErrorVariantStates(theme),
93
96
  disabled: getDisabledVariantStates(theme),
94
97
  };
95
98
  };
96
- export const getInputState = ({ isFocused, value, }) => {
99
+ exports.getInputVariants = getInputVariants;
100
+ var getInputState = function (_a) {
101
+ var isFocused = _a.isFocused, value = _a.value;
97
102
  if (isFocused) {
98
103
  return "focused";
99
104
  }
@@ -104,7 +109,9 @@ export const getInputState = ({ isFocused, value, }) => {
104
109
  return "untouched";
105
110
  }
106
111
  };
107
- export const getInputVariant = ({ disabled, hasError, }) => {
112
+ exports.getInputState = getInputState;
113
+ var getInputVariant = function (_a) {
114
+ var disabled = _a.disabled, hasError = _a.hasError;
108
115
  if (hasError) {
109
116
  return "error";
110
117
  }
@@ -113,3 +120,4 @@ export const getInputVariant = ({ disabled, hasError, }) => {
113
120
  }
114
121
  return "default";
115
122
  };
123
+ exports.getInputVariant = getInputVariant;
@@ -1,3 +1,19 @@
1
- export * from "./Input";
2
- export * from "./helpers";
3
- export * from "./InputTitle";
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("./Input"), exports);
18
+ __exportStar(require("./helpers"), exports);
19
+ __exportStar(require("./InputTitle"), exports);
@@ -1,6 +1,19 @@
1
- const maskString = (value, mask) => {
2
- let result = mask.replace(/9/g, "_");
3
- for (const digit of value.replace(/\D/g, "")) {
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.unmaskText = exports.maskValue = void 0;
13
+ var maskString = function (value, mask) {
14
+ var result = mask.replace(/9/g, "_");
15
+ for (var _i = 0, _a = value.replace(/\D/g, ""); _i < _a.length; _i++) {
16
+ var digit = _a[_i];
4
17
  if (result.includes("_")) {
5
18
  result = result.replace("_", digit);
6
19
  }
@@ -13,11 +26,12 @@ const maskString = (value, mask) => {
13
26
  }
14
27
  return result;
15
28
  };
16
- export const maskValue = ({ currentValue, mask, previousValue = "", }) => {
29
+ var maskValue = function (_a) {
30
+ var currentValue = _a.currentValue, mask = _a.mask, _b = _a.previousValue, previousValue = _b === void 0 ? "" : _b;
17
31
  if (!currentValue || !mask || mask.length === 0) {
18
32
  return currentValue;
19
33
  }
20
- const value = unmaskText(currentValue);
34
+ var value = (0, exports.unmaskText)(currentValue);
21
35
  if (previousValue && previousValue.length > currentValue.length) {
22
36
  // user is deleting, don't mess with the format
23
37
  return currentValue;
@@ -26,12 +40,12 @@ export const maskValue = ({ currentValue, mask, previousValue = "", }) => {
26
40
  return maskString(currentValue, mask);
27
41
  }
28
42
  else {
29
- if (value.length <= unmaskText(mask[0]).length) {
43
+ if (value.length <= (0, exports.unmaskText)(mask[0]).length) {
30
44
  return maskString(value, mask[0]);
31
45
  }
32
46
  else {
33
- const nearestMask = [...mask].reverse().find((m) => {
34
- if (value.length >= unmaskText(m).length) {
47
+ var nearestMask = __spreadArray([], mask, true).reverse().find(function (m) {
48
+ if (value.length >= (0, exports.unmaskText)(m).length) {
35
49
  return true;
36
50
  }
37
51
  return false;
@@ -40,5 +54,7 @@ export const maskValue = ({ currentValue, mask, previousValue = "", }) => {
40
54
  }
41
55
  }
42
56
  };
57
+ exports.maskValue = maskValue;
43
58
  // Helper method to clean the mask and remove all non-digits and spaces
44
- export const unmaskText = (mask) => mask.replace(/\W/g, "");
59
+ var unmaskText = function (mask) { return mask.replace(/\W/g, ""); };
60
+ exports.unmaskText = unmaskText;
@@ -1,5 +1,7 @@
1
- import { maskValue } from "./maskValue";
2
- const GERMANY_PHONE_MASKS = [
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var maskValue_1 = require("./maskValue");
4
+ var GERMANY_PHONE_MASKS = [
3
5
  "999 999",
4
6
  "999 9999",
5
7
  "999 99999",
@@ -8,47 +10,47 @@ const GERMANY_PHONE_MASKS = [
8
10
  "999 99999999",
9
11
  "9999 99999999",
10
12
  ];
11
- const TUNISIA_PHONE_MASK = "99 999 999";
12
- const UNITED_STATES_PHONE_MASK = "999 999 9999";
13
- describe(maskValue, () => {
14
- it("leaves the value value alone if the user is deleting characters", () => {
15
- expect(maskValue({
13
+ var TUNISIA_PHONE_MASK = "99 999 999";
14
+ var UNITED_STATES_PHONE_MASK = "999 999 9999";
15
+ describe(maskValue_1.maskValue, function () {
16
+ it("leaves the value value alone if the user is deleting characters", function () {
17
+ expect((0, maskValue_1.maskValue)({
16
18
  currentValue: "017672458053",
17
19
  mask: GERMANY_PHONE_MASKS,
18
20
  })).toBe("0176 72458053");
19
- expect(maskValue({
21
+ expect((0, maskValue_1.maskValue)({
20
22
  currentValue: "17672458053",
21
23
  mask: GERMANY_PHONE_MASKS,
22
24
  })).toBe("176 72458053");
23
- expect(maskValue({
25
+ expect((0, maskValue_1.maskValue)({
24
26
  currentValue: "030901820",
25
27
  mask: GERMANY_PHONE_MASKS,
26
28
  })).toBe("030 901820");
27
- expect(maskValue({
29
+ expect((0, maskValue_1.maskValue)({
28
30
  currentValue: "901820",
29
31
  mask: GERMANY_PHONE_MASKS,
30
32
  })).toBe("901 820");
31
- expect(maskValue({
33
+ expect((0, maskValue_1.maskValue)({
32
34
  currentValue: "20335902",
33
35
  mask: TUNISIA_PHONE_MASK,
34
36
  })).toBe("20 335 902");
35
37
  });
36
- it("works with empty strings", () => {
37
- expect(maskValue({
38
+ it("works with empty strings", function () {
39
+ expect((0, maskValue_1.maskValue)({
38
40
  currentValue: "",
39
41
  mask: GERMANY_PHONE_MASKS,
40
42
  })).toBe("");
41
- expect(maskValue({
43
+ expect((0, maskValue_1.maskValue)({
42
44
  currentValue: "",
43
45
  mask: "",
44
46
  })).toBe("");
45
47
  });
46
- it("formats a given phone number to the given country's default format", () => {
47
- expect(maskValue({
48
+ it("formats a given phone number to the given country's default format", function () {
49
+ expect((0, maskValue_1.maskValue)({
48
50
  currentValue: "7825577664",
49
51
  mask: UNITED_STATES_PHONE_MASK,
50
52
  })).toBe("782 557 7664");
51
- expect(maskValue({
53
+ expect((0, maskValue_1.maskValue)({
52
54
  currentValue: "782557766",
53
55
  mask: UNITED_STATES_PHONE_MASK,
54
56
  })).toBe("782 557 766");
@@ -1,5 +1,8 @@
1
- import { Children, cloneElement } from "react";
2
- import { flattenChildren } from "../../utils/flattenChildren";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Join = void 0;
4
+ var react_1 = require("react");
5
+ var flattenChildren_1 = require("../../utils/flattenChildren");
3
6
  /**
4
7
  * `Join` is a higher order component that renders a separator component
5
8
  * between each of `Join`'s direct children.
@@ -20,18 +23,20 @@ import { flattenChildren } from "../../utils/flattenChildren";
20
23
  * <SomeComponent/>
21
24
  * <child3/>
22
25
  */
23
- export const Join = ({ separator, children, flatten = false }) => {
24
- const childArray = flatten ? flattenChildren(children) : Children.toArray(children);
25
- return childArray.reduce((acc, curr, currentIndex) => {
26
- acc.push(cloneElement(curr, {
27
- key: `join-${currentIndex}`,
26
+ var Join = function (_a) {
27
+ var separator = _a.separator, children = _a.children, _b = _a.flatten, flatten = _b === void 0 ? false : _b;
28
+ var childArray = flatten ? (0, flattenChildren_1.flattenChildren)(children) : react_1.Children.toArray(children);
29
+ return childArray.reduce(function (acc, curr, currentIndex) {
30
+ acc.push((0, react_1.cloneElement)(curr, {
31
+ key: "join-".concat(currentIndex),
28
32
  }));
29
33
  if (currentIndex !== childArray.length - 1) {
30
34
  acc.push(separator &&
31
- cloneElement(separator, {
32
- key: `join-sep-${currentIndex}`,
35
+ (0, react_1.cloneElement)(separator, {
36
+ key: "join-sep-".concat(currentIndex),
33
37
  }));
34
38
  }
35
39
  return acc;
36
40
  }, []);
37
41
  };
42
+ exports.Join = Join;
@@ -1 +1,17 @@
1
- export * from "./Join";
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("./Join"), exports);
@@ -1,15 +1,18 @@
1
- import { useHasSeenItem } from "./useHasSeenItem";
2
- export function LazyFlatlist(props) {
3
- const { viewabilityConfig, onViewableItemsChanged, hasSeenItem, viewedItems } = useHasSeenItem({
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LazyFlatlist = LazyFlatlist;
4
+ var useHasSeenItem_1 = require("./useHasSeenItem");
5
+ function LazyFlatlist(props) {
6
+ var _a = (0, useHasSeenItem_1.useHasSeenItem)({
4
7
  keyExtractor: props.keyExtractor,
5
- });
8
+ }), viewabilityConfig = _a.viewabilityConfig, onViewableItemsChanged = _a.onViewableItemsChanged, hasSeenItem = _a.hasSeenItem, viewedItems = _a.viewedItems;
6
9
  if (!props.children || typeof props.children !== "function") {
7
10
  throw new Error("LazyScrollContext requires children");
8
11
  }
9
12
  return props.children({
10
- viewedItems,
11
- viewabilityConfig,
12
- onViewableItemsChanged,
13
- hasSeenItem,
13
+ viewedItems: viewedItems,
14
+ viewabilityConfig: viewabilityConfig,
15
+ onViewableItemsChanged: onViewableItemsChanged,
16
+ hasSeenItem: hasSeenItem,
14
17
  });
15
18
  }