@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.
- package/dist/Theme.js +16 -11
- package/dist/animation/CssTransition.js +71 -26
- package/dist/animation/index.js +17 -1
- package/dist/constants.js +12 -8
- package/dist/elements/ArtsyKeyboardAvoidingView/ArtsyKeyboardAvoidingView.js +116 -69
- package/dist/elements/ArtsyKeyboardAvoidingView/index.js +17 -1
- package/dist/elements/Autocomplete/Autocomplete.js +32 -23
- package/dist/elements/Autocomplete/Autocomplete.tests.js +128 -56
- package/dist/elements/Autocomplete/index.js +17 -1
- package/dist/elements/Avatar/Avatar.js +20 -15
- package/dist/elements/Avatar/Avatar.stories.js +29 -15
- package/dist/elements/Avatar/Avatar.tests.js +12 -10
- package/dist/elements/Avatar/index.js +17 -1
- package/dist/elements/BackButton/BackButton.js +16 -9
- package/dist/elements/BackButton/BackButton.stories.js +12 -8
- package/dist/elements/BackButton/index.js +17 -1
- package/dist/elements/Banner/Banner.js +45 -18
- package/dist/elements/Banner/Banner.stories.js +12 -8
- package/dist/elements/Banner/index.js +17 -1
- package/dist/elements/BorderBox/BorderBox.js +16 -11
- package/dist/elements/BorderBox/index.js +17 -1
- package/dist/elements/Box/Box.js +16 -14
- package/dist/elements/Box/Box.stories.js +21 -15
- package/dist/elements/Box/index.js +17 -1
- package/dist/elements/Button/Button.js +85 -64
- package/dist/elements/Button/Button.stories.js +48 -23
- package/dist/elements/Button/CTAButton.js +18 -3
- package/dist/elements/Button/FollowButton.js +38 -11
- package/dist/elements/Button/LinkButton.js +19 -4
- package/dist/elements/Button/colors.js +7 -3
- package/dist/elements/Button/index.js +20 -4
- package/dist/elements/ButtonNew/Button.js +114 -49
- package/dist/elements/ButtonNew/Button.stories.js +64 -38
- package/dist/elements/ButtonNew/Button.tests.js +23 -21
- package/dist/elements/ButtonNew/CTAButton.js +18 -3
- package/dist/elements/ButtonNew/FollowButton.js +36 -9
- package/dist/elements/ButtonNew/LinkButton.js +19 -4
- package/dist/elements/ButtonNew/colors.js +7 -3
- package/dist/elements/ButtonNew/index.js +20 -4
- package/dist/elements/Checkbox/Check.js +83 -46
- package/dist/elements/Checkbox/Checkbox.js +83 -47
- package/dist/elements/Checkbox/Checkbox.stories.js +10 -9
- package/dist/elements/Checkbox/index.js +18 -2
- package/dist/elements/Chip/Chip.js +23 -18
- package/dist/elements/Chip/Chip.stories.js +12 -8
- package/dist/elements/Chip/index.js +17 -1
- package/dist/elements/ClassTheme/ClassTheme.js +10 -5
- package/dist/elements/ClassTheme/index.js +17 -1
- package/dist/elements/Collapse/Collapse.js +9 -4
- package/dist/elements/Collapse/Collapse.stories.js +13 -9
- package/dist/elements/Collapse/index.js +17 -1
- package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.js +32 -27
- package/dist/elements/CollapsibleMenuItem/CollapsibleMenuItem.stories.js +62 -37
- package/dist/elements/CollapsibleMenuItem/index.js +17 -1
- package/dist/elements/Dialog/Dialog.js +52 -26
- package/dist/elements/Dialog/Dialog.stories.js +41 -22
- package/dist/elements/Dialog/Dialog.tests.js +33 -31
- package/dist/elements/Dialog/index.js +17 -1
- package/dist/elements/EntityHeader/EntityHeader.js +42 -15
- package/dist/elements/EntityHeader/EntityHeader.stories.js +26 -18
- package/dist/elements/EntityHeader/index.js +17 -1
- package/dist/elements/Flex/Flex.js +32 -4
- package/dist/elements/Flex/index.js +17 -1
- package/dist/elements/Header/ArtsyLogoHeader.js +15 -8
- package/dist/elements/Header/index.js +17 -1
- package/dist/elements/Histogram/Histogram.js +19 -14
- package/dist/elements/Histogram/index.js +17 -1
- package/dist/elements/Image/Image.js +60 -28
- package/dist/elements/Image/Image.stories.js +35 -23
- package/dist/elements/Image/__tests__/getImageURL.tests.js +10 -8
- package/dist/elements/Image/helpers/getImageURL.js +13 -8
- package/dist/elements/Image/index.js +17 -1
- package/dist/elements/Input/Input.js +216 -168
- package/dist/elements/Input/Input.stories.js +15 -11
- package/dist/elements/Input/Input.tests.js +85 -39
- package/dist/elements/Input/InputTitle.js +9 -4
- package/dist/elements/Input/helpers.js +35 -27
- package/dist/elements/Input/index.js +19 -3
- package/dist/elements/Input/maskValue.js +25 -9
- package/dist/elements/Input/maskValue.tests.js +19 -17
- package/dist/elements/Join/Join.js +14 -9
- package/dist/elements/Join/index.js +17 -1
- package/dist/elements/LazyFlatlist/LazyFlatlist.js +11 -8
- package/dist/elements/LazyFlatlist/index.js +18 -2
- package/dist/elements/LazyFlatlist/useHasSeenItem.js +19 -12
- package/dist/elements/LegacyScreen/LegacyScreen.js +124 -83
- package/dist/elements/LegacyScreen/index.js +17 -1
- package/dist/elements/LegacyTabs/ContentTabs.js +18 -12
- package/dist/elements/LegacyTabs/NavigationalTabs.js +21 -15
- package/dist/elements/LegacyTabs/StepTabs.js +25 -19
- package/dist/elements/LegacyTabs/Tab.js +31 -19
- package/dist/elements/LegacyTabs/TabBarContainer.js +48 -39
- package/dist/elements/LegacyTabs/index.js +38 -9
- package/dist/elements/List/BulletedItem.js +34 -7
- package/dist/elements/List/List.stories.js +12 -8
- package/dist/elements/List/index.js +17 -1
- package/dist/elements/MeasuredView/MeasuredView.js +18 -12
- package/dist/elements/MeasuredView/index.js +17 -1
- package/dist/elements/MenuItem/MenuItem.js +14 -9
- package/dist/elements/MenuItem/MenuItem.stories.js +9 -5
- package/dist/elements/MenuItem/index.js +17 -1
- package/dist/elements/Message/Message.js +35 -19
- package/dist/elements/Message/Message.stories.d.ts +1 -1
- package/dist/elements/Message/Message.stories.js +23 -17
- package/dist/elements/Message/Message.tests.js +38 -36
- package/dist/elements/Message/index.js +17 -1
- package/dist/elements/Pill/Pill.js +116 -138
- package/dist/elements/Pill/Pill.stories.js +28 -20
- package/dist/elements/Pill/Pill.tests.js +15 -13
- package/dist/elements/Pill/index.js +17 -1
- package/dist/elements/PopIn/PopIn.js +13 -8
- package/dist/elements/PopIn/index.js +17 -1
- package/dist/elements/Popover/Popover.js +45 -15
- package/dist/elements/Popover/Popover.stories.js +25 -19
- package/dist/elements/Popover/index.js +17 -1
- package/dist/elements/ProgressBar/ProgressBar.js +68 -23
- package/dist/elements/ProgressBar/ProgressBar.stories.js +11 -7
- package/dist/elements/ProgressBar/ProgressBar.tests.js +48 -23
- package/dist/elements/ProgressBar/index.js +17 -1
- package/dist/elements/Radio/RadioButton.js +80 -44
- package/dist/elements/Radio/RadioButton.stories.js +17 -13
- package/dist/elements/Radio/RadioDot.js +31 -15
- package/dist/elements/Radio/index.js +7 -2
- package/dist/elements/Screen/Background.js +10 -3
- package/dist/elements/Screen/Body.js +37 -10
- package/dist/elements/Screen/BottomView.js +17 -9
- package/dist/elements/Screen/FloatingHeader.js +36 -9
- package/dist/elements/Screen/FullWidthDivider.js +20 -5
- package/dist/elements/Screen/FullWidthItem.js +20 -5
- package/dist/elements/Screen/Header.js +79 -26
- package/dist/elements/Screen/Screen.stories.js +46 -30
- package/dist/elements/Screen/ScreenBase.js +39 -11
- package/dist/elements/Screen/ScreenFlatList.js +26 -9
- package/dist/elements/Screen/ScreenScrollContext.js +21 -15
- package/dist/elements/Screen/ScreenScrollView.js +27 -9
- package/dist/elements/Screen/StickySubHeader.js +62 -23
- package/dist/elements/Screen/constants.js +8 -5
- package/dist/elements/Screen/hooks/useListenForScreenScroll.js +13 -9
- package/dist/elements/Screen/hooks/useShowLargeTitle.js +19 -14
- package/dist/elements/Screen/hooks/useTitleStyles.js +14 -10
- package/dist/elements/Screen/index.js +48 -31
- package/dist/elements/SearchInput/RoundSearchInput.js +79 -46
- package/dist/elements/SearchInput/SearchInput.js +43 -14
- package/dist/elements/SearchInput/index.js +18 -2
- package/dist/elements/Separator/Separator.js +20 -12
- package/dist/elements/Separator/Separator.stories.js +10 -6
- package/dist/elements/Separator/ShadowSeparator.js +14 -7
- package/dist/elements/Separator/index.js +18 -2
- package/dist/elements/SimpleMessage/SimpleMessage.js +47 -11
- package/dist/elements/SimpleMessage/index.js +17 -1
- package/dist/elements/Skeleton/Skeleton.js +50 -19
- package/dist/elements/Skeleton/Skeleton.stories.js +14 -10
- package/dist/elements/Skeleton/index.js +17 -1
- package/dist/elements/Spacer/Spacer.js +32 -3
- package/dist/elements/Spacer/Spacer.stories.js +35 -19
- package/dist/elements/Spacer/index.js +17 -1
- package/dist/elements/Spinner/Spinner.js +62 -33
- package/dist/elements/Spinner/index.js +17 -1
- package/dist/elements/Switch/Switch.js +50 -17
- package/dist/elements/Switch/Switch.stories.js +31 -14
- package/dist/elements/Switch/index.js +17 -1
- package/dist/elements/Tabs/SubTabBar.js +29 -20
- package/dist/elements/Tabs/TabFlashList.js +24 -12
- package/dist/elements/Tabs/TabFlatList.js +24 -12
- package/dist/elements/Tabs/TabMasonry.js +24 -12
- package/dist/elements/Tabs/TabScrollView.js +27 -14
- package/dist/elements/Tabs/Tabs.js +27 -24
- package/dist/elements/Tabs/Tabs.stories.js +93 -46
- package/dist/elements/Tabs/TabsContainer.js +62 -38
- package/dist/elements/Tabs/TabsWithHeader.js +41 -13
- package/dist/elements/Tabs/hooks/useListenForTabContentScroll.js +13 -9
- package/dist/elements/Tabs/index.js +17 -1
- package/dist/elements/Text/LinkText.js +32 -3
- package/dist/elements/Text/Text.js +61 -23
- package/dist/elements/Text/Text.stories.js +37 -28
- package/dist/elements/Text/Text.tests.js +7 -5
- package/dist/elements/Text/helpers.js +13 -7
- package/dist/elements/Text/index.js +19 -3
- package/dist/elements/ToolTip/ToolTip.js +67 -53
- package/dist/elements/ToolTip/ToolTip.stories.js +21 -14
- package/dist/elements/ToolTip/ToolTip.tests.js +15 -13
- package/dist/elements/ToolTip/ToolTipFlyout.js +68 -28
- package/dist/elements/ToolTip/index.js +17 -1
- package/dist/elements/Touchable/Touchable.js +41 -13
- package/dist/elements/Touchable/Touchable.stories.js +13 -9
- package/dist/elements/Touchable/TouchableHighlightColor.js +38 -12
- package/dist/elements/Touchable/TouchableWithScale.js +38 -11
- package/dist/elements/Touchable/index.js +19 -3
- package/dist/elements/VisualClue/VisualClue.stories.js +11 -7
- package/dist/elements/VisualClue/VisualClueDot.js +24 -14
- package/dist/elements/VisualClue/VisualClueText.js +26 -15
- package/dist/elements/VisualClue/index.js +18 -2
- package/dist/elements/index.js +62 -46
- package/dist/index.js +24 -8
- package/dist/setupJest.js +11 -6
- package/dist/storybook/decorators.js +36 -27
- package/dist/storybook/helpers.js +40 -22
- package/dist/tokens.js +28 -67
- package/dist/types.js +10 -5
- package/dist/utils/Wrap.js +16 -8
- package/dist/utils/colors.stories.js +31 -25
- package/dist/utils/createGeminiUrl.js +28 -22
- package/dist/utils/flattenChildren.js +20 -7
- package/dist/utils/formatLargeNumber.js +8 -4
- package/dist/utils/formatLargeNumbers.tests.js +15 -13
- package/dist/utils/hooks/index.js +20 -4
- package/dist/utils/hooks/useColor.js +6 -2
- package/dist/utils/hooks/useMeasure.js +40 -14
- package/dist/utils/hooks/useScreenDimensions.js +31 -20
- package/dist/utils/hooks/useSpace.js +6 -2
- package/dist/utils/hooks/useTheme.js +31 -23
- package/dist/utils/normalizeText.js +11 -6
- package/dist/utils/space.stories.js +15 -10
- package/dist/utils/tests/flattenChildren.tests.js +8 -6
- package/dist/utils/tests/isTestEnvironment.js +5 -1
- package/dist/utils/tests/renderWithWrappers.js +15 -7
- package/dist/utils/text.js +13 -9
- package/dist/utils/types.js +2 -0
- package/dist/utils/webTokensToMobile.js +16 -10
- package/package.json +30 -36
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22
|
+
exports.default = {
|
|
20
23
|
title: "Input",
|
|
21
24
|
};
|
|
22
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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("
|
|
16
|
-
renderWithWrappers(
|
|
17
|
-
|
|
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("
|
|
21
|
-
renderWithWrappers(
|
|
22
|
-
screen.
|
|
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("
|
|
25
|
-
renderWithWrappers(
|
|
26
|
-
|
|
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
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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(
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 (
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
for (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
59
|
+
var unmaskText = function (mask) { return mask.replace(/\W/g, ""); };
|
|
60
|
+
exports.unmaskText = unmaskText;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
}
|