@ovotech/element-native 5.0.0 → 5.0.1-canary-2c95d85-344
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/components/Link/Link.js +1 -1
- package/dist/components/NavHeader/NavHeader.styles.js +1 -1
- package/dist/components/SelectField/Select.js +3 -1
- package/dist/esm/components/Link/Link.js +1 -1
- package/dist/esm/components/NavHeader/NavHeader.styles.js +1 -1
- package/dist/esm/components/SelectField/Select.js +4 -2
- package/package.json +3 -3
|
@@ -51,12 +51,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
52
|
exports.Link = exports.TextLink = void 0;
|
|
53
53
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
54
|
+
var element_core_1 = require("@ovotech/element-core");
|
|
54
55
|
var react_1 = require("react");
|
|
55
56
|
var styled_native_1 = __importStar(require("../../styled.native"));
|
|
56
57
|
var utils_1 = require("../../utils/utils");
|
|
57
58
|
var Button_1 = require("../Button");
|
|
58
59
|
var Icon_1 = require("../Icon");
|
|
59
|
-
var element_core_1 = require("@ovotech/element-core");
|
|
60
60
|
var Link = (0, react_1.forwardRef)(function (props, ref) { return (0, jsx_runtime_1.jsx)(Button_1.Button, __assign({}, props, { ref: ref })); });
|
|
61
61
|
exports.Link = Link;
|
|
62
62
|
var StyledText = styled_native_1.default.Text(function (_a) {
|
|
@@ -43,7 +43,7 @@ exports.NavWrapper = (0, styled_native_1.default)(react_native_reanimated_1.defa
|
|
|
43
43
|
exports.NavContainer = styled_native_1.default.View(function (_a) {
|
|
44
44
|
var theme = _a.theme, topOffset = _a.topOffset, hasTitle = _a.hasTitle;
|
|
45
45
|
return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n\n /* NavWrapper zIndex + 1 so it is always on top of the wrapper */\n z-index: ", ";\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n position: absolute;\n\n /* NavWrapper zIndex + 1 so it is always on top of the wrapper */\n z-index: ", ";\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), Z_INDEX + 1, topOffset
|
|
46
|
-
? topOffset
|
|
46
|
+
? (0, element_core_1.numToPx)(topOffset)
|
|
47
47
|
: (0, element_core_1.numToPx)(theme.space[hasTitle ? 200 : 400]), (0, element_core_1.numToPx)(theme.space[hasTitle ? 200 : 400]), (0, element_core_1.numToPx)(theme.space[400]), (0, element_core_1.numToPx)(theme.space[400]));
|
|
48
48
|
});
|
|
49
49
|
exports.ExpandedTitle = (0, styled_native_1.default)(react_native_reanimated_1.default.Text)(function (_a) {
|
|
@@ -80,6 +80,8 @@ var Select = function (_a) {
|
|
|
80
80
|
var _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.defaultSelected, defaultSelected = _c === void 0 ? { label: '', value: 'default' } : _c, _d = _a.noOptionMessage, noOptionMessage = _d === void 0 ? 'No option selected' : _d, _e = _a.onSelected, onSelected = _e === void 0 ? function () { return null; } : _e, _f = _a.hasError, hasError = _f === void 0 ? false : _f, _g = _a.testID, testID = _g === void 0 ? 'select' : _g;
|
|
81
81
|
var _h = (0, react_1.useState)(false), isOpen = _h[0], setOpen = _h[1];
|
|
82
82
|
var _j = (0, react_1.useState)(defaultSelected), selected = _j[0], setSelected = _j[1];
|
|
83
|
+
var height = react_native_1.Dimensions.get('window').height;
|
|
84
|
+
var dropdownContainerMaxHeight = height * 0.7;
|
|
83
85
|
var handleOptionPress = function (val) {
|
|
84
86
|
onSelected(val);
|
|
85
87
|
setOpen(false);
|
|
@@ -90,7 +92,7 @@ var Select = function (_a) {
|
|
|
90
92
|
label: "-- ".concat(noOptionMessage, " --"),
|
|
91
93
|
value: 'default',
|
|
92
94
|
};
|
|
93
|
-
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { children: [(0, jsx_runtime_1.jsxs)(SelectInput, { testID: testID, hasError: hasError, onPress: function () { return setOpen(!isOpen); }, children: [(0, jsx_runtime_1.jsx)(P_1.P, { style: { marginTop: 0, marginBottom: 0 }, children: selected.value === 'default' ? '' : selected.label }), (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: "chevron-down", size: 16, style: { marginLeft: 'auto' } })] }), (0, jsx_runtime_1.jsx)(react_native_1.Modal, { transparent: true, visible: isOpen, animationType: "fade", onRequestClose: function () { return setOpen(false); }, children: (0, jsx_runtime_1.jsx)(DropdownWrapper, { onPress: function () { return setOpen(false); }, children: (0, jsx_runtime_1.jsx)(DropdownContainer, { children: (0, jsx_runtime_1.jsxs)(react_native_1.ScrollView, { nestedScrollEnabled: true, testID: "".concat(testID, "-OptionsScrollView"), children: [(0, jsx_runtime_1.jsxs)(SelectOption, { accessible: true, accessibilityRole: "radio", onPress: function () { return handleOptionPress(requiredOption); }, children: [(0, jsx_runtime_1.jsx)(StyledP, { children: (0, jsx_runtime_1.jsx)(Strong_1.Strong, { children: requiredOption.label }) }), (0, jsx_runtime_1.jsx)(Radio, { isChecked: selected.value === requiredOption.value, children: (0, jsx_runtime_1.jsx)(RadioDot, { isChecked: selected.value === requiredOption.value }) })] }), Object.keys(optionsByCategories).map(function (category) { return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [category !== 'undefined' ? ((0, jsx_runtime_1.jsx)(StyledCategory, { children: category })) : null, optionsByCategories[category].map(function (option, i) { return ((0, jsx_runtime_1.jsxs)(SelectOption, { accessible: true, accessibilityRole: "radio", isLastOption: i === optionsByCategories[category].length - 1, onPress: function () { return handleOptionPress(option); }, children: [(0, jsx_runtime_1.jsx)(StyledP, { children: (0, jsx_runtime_1.jsx)(Strong_1.Strong, { children: option.label }) }), (0, jsx_runtime_1.jsx)(Radio, { isChecked: selected.value === option.value, children: (0, jsx_runtime_1.jsx)(RadioDot, { isChecked: selected.value === option.value }) })] }, option.label)); })] }, category)); })] }) }) }) })] }));
|
|
95
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { children: [(0, jsx_runtime_1.jsxs)(SelectInput, { testID: testID, hasError: hasError, onPress: function () { return setOpen(!isOpen); }, children: [(0, jsx_runtime_1.jsx)(P_1.P, { style: { marginTop: 0, marginBottom: 0 }, children: selected.value === 'default' ? '' : selected.label }), (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: "chevron-down", size: 16, style: { marginLeft: 'auto' } })] }), (0, jsx_runtime_1.jsx)(react_native_1.Modal, { transparent: true, visible: isOpen, animationType: "fade", onRequestClose: function () { return setOpen(false); }, children: (0, jsx_runtime_1.jsx)(DropdownWrapper, { onPress: function () { return setOpen(false); }, children: (0, jsx_runtime_1.jsx)(DropdownContainer, { style: { maxHeight: dropdownContainerMaxHeight }, children: (0, jsx_runtime_1.jsxs)(react_native_1.ScrollView, { nestedScrollEnabled: true, testID: "".concat(testID, "-OptionsScrollView"), children: [(0, jsx_runtime_1.jsxs)(SelectOption, { accessible: true, accessibilityRole: "radio", onPress: function () { return handleOptionPress(requiredOption); }, children: [(0, jsx_runtime_1.jsx)(StyledP, { children: (0, jsx_runtime_1.jsx)(Strong_1.Strong, { children: requiredOption.label }) }), (0, jsx_runtime_1.jsx)(Radio, { isChecked: selected.value === requiredOption.value, children: (0, jsx_runtime_1.jsx)(RadioDot, { isChecked: selected.value === requiredOption.value }) })] }), Object.keys(optionsByCategories).map(function (category) { return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [category !== 'undefined' ? ((0, jsx_runtime_1.jsx)(StyledCategory, { children: category })) : null, optionsByCategories[category].map(function (option, i) { return ((0, jsx_runtime_1.jsxs)(SelectOption, { accessible: true, accessibilityRole: "radio", isLastOption: i === optionsByCategories[category].length - 1, onPress: function () { return handleOptionPress(option); }, children: [(0, jsx_runtime_1.jsx)(StyledP, { children: (0, jsx_runtime_1.jsx)(Strong_1.Strong, { children: option.label }) }), (0, jsx_runtime_1.jsx)(Radio, { isChecked: selected.value === option.value, children: (0, jsx_runtime_1.jsx)(RadioDot, { isChecked: selected.value === option.value }) })] }, option.label)); })] }, category)); })] }) }) }) })] }));
|
|
94
96
|
};
|
|
95
97
|
exports.Select = Select;
|
|
96
98
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
|
|
@@ -25,12 +25,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
25
|
return t;
|
|
26
26
|
};
|
|
27
27
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
+
import { numToPx } from '@ovotech/element-core';
|
|
28
29
|
import { forwardRef } from 'react';
|
|
29
30
|
import styled, { css } from '../../styled.native';
|
|
30
31
|
import { getText } from '../../utils/utils';
|
|
31
32
|
import { Button } from '../Button';
|
|
32
33
|
import { Icon } from '../Icon';
|
|
33
|
-
import { numToPx } from '@ovotech/element-core';
|
|
34
34
|
var Link = forwardRef(function (props, ref) { return _jsx(Button, __assign({}, props, { ref: ref })); });
|
|
35
35
|
var StyledText = styled.Text(function (_a) {
|
|
36
36
|
var theme = _a.theme;
|
|
@@ -14,7 +14,7 @@ export var NavWrapper = styled(Animated.View)(function (_a) {
|
|
|
14
14
|
export var NavContainer = styled.View(function (_a) {
|
|
15
15
|
var theme = _a.theme, topOffset = _a.topOffset, hasTitle = _a.hasTitle;
|
|
16
16
|
return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n\n /* NavWrapper zIndex + 1 so it is always on top of the wrapper */\n z-index: ", ";\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n position: absolute;\n\n /* NavWrapper zIndex + 1 so it is always on top of the wrapper */\n z-index: ", ";\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), Z_INDEX + 1, topOffset
|
|
17
|
-
? topOffset
|
|
17
|
+
? numToPx(topOffset)
|
|
18
18
|
: numToPx(theme.space[hasTitle ? 200 : 400]), numToPx(theme.space[hasTitle ? 200 : 400]), numToPx(theme.space[400]), numToPx(theme.space[400]));
|
|
19
19
|
});
|
|
20
20
|
export var ExpandedTitle = styled(Animated.Text)(function (_a) {
|
|
@@ -6,7 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
import { numToPx } from '@ovotech/element-core';
|
|
7
7
|
import groupBy from 'lodash.groupby';
|
|
8
8
|
import { Fragment, useState } from 'react';
|
|
9
|
-
import { Modal, ScrollView, View } from 'react-native';
|
|
9
|
+
import { Dimensions, Modal, ScrollView, View } from 'react-native';
|
|
10
10
|
import styled, { css } from '../../styled.native';
|
|
11
11
|
import { Icon } from '../Icon';
|
|
12
12
|
import { P } from '../P';
|
|
@@ -51,6 +51,8 @@ export var Select = function (_a) {
|
|
|
51
51
|
var _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.defaultSelected, defaultSelected = _c === void 0 ? { label: '', value: 'default' } : _c, _d = _a.noOptionMessage, noOptionMessage = _d === void 0 ? 'No option selected' : _d, _e = _a.onSelected, onSelected = _e === void 0 ? function () { return null; } : _e, _f = _a.hasError, hasError = _f === void 0 ? false : _f, _g = _a.testID, testID = _g === void 0 ? 'select' : _g;
|
|
52
52
|
var _h = useState(false), isOpen = _h[0], setOpen = _h[1];
|
|
53
53
|
var _j = useState(defaultSelected), selected = _j[0], setSelected = _j[1];
|
|
54
|
+
var height = Dimensions.get('window').height;
|
|
55
|
+
var dropdownContainerMaxHeight = height * 0.7;
|
|
54
56
|
var handleOptionPress = function (val) {
|
|
55
57
|
onSelected(val);
|
|
56
58
|
setOpen(false);
|
|
@@ -61,6 +63,6 @@ export var Select = function (_a) {
|
|
|
61
63
|
label: "-- ".concat(noOptionMessage, " --"),
|
|
62
64
|
value: 'default',
|
|
63
65
|
};
|
|
64
|
-
return (_jsxs(View, { children: [_jsxs(SelectInput, { testID: testID, hasError: hasError, onPress: function () { return setOpen(!isOpen); }, children: [_jsx(P, { style: { marginTop: 0, marginBottom: 0 }, children: selected.value === 'default' ? '' : selected.label }), _jsx(Icon, { name: "chevron-down", size: 16, style: { marginLeft: 'auto' } })] }), _jsx(Modal, { transparent: true, visible: isOpen, animationType: "fade", onRequestClose: function () { return setOpen(false); }, children: _jsx(DropdownWrapper, { onPress: function () { return setOpen(false); }, children: _jsx(DropdownContainer, { children: _jsxs(ScrollView, { nestedScrollEnabled: true, testID: "".concat(testID, "-OptionsScrollView"), children: [_jsxs(SelectOption, { accessible: true, accessibilityRole: "radio", onPress: function () { return handleOptionPress(requiredOption); }, children: [_jsx(StyledP, { children: _jsx(Strong, { children: requiredOption.label }) }), _jsx(Radio, { isChecked: selected.value === requiredOption.value, children: _jsx(RadioDot, { isChecked: selected.value === requiredOption.value }) })] }), Object.keys(optionsByCategories).map(function (category) { return (_jsxs(Fragment, { children: [category !== 'undefined' ? (_jsx(StyledCategory, { children: category })) : null, optionsByCategories[category].map(function (option, i) { return (_jsxs(SelectOption, { accessible: true, accessibilityRole: "radio", isLastOption: i === optionsByCategories[category].length - 1, onPress: function () { return handleOptionPress(option); }, children: [_jsx(StyledP, { children: _jsx(Strong, { children: option.label }) }), _jsx(Radio, { isChecked: selected.value === option.value, children: _jsx(RadioDot, { isChecked: selected.value === option.value }) })] }, option.label)); })] }, category)); })] }) }) }) })] }));
|
|
66
|
+
return (_jsxs(View, { children: [_jsxs(SelectInput, { testID: testID, hasError: hasError, onPress: function () { return setOpen(!isOpen); }, children: [_jsx(P, { style: { marginTop: 0, marginBottom: 0 }, children: selected.value === 'default' ? '' : selected.label }), _jsx(Icon, { name: "chevron-down", size: 16, style: { marginLeft: 'auto' } })] }), _jsx(Modal, { transparent: true, visible: isOpen, animationType: "fade", onRequestClose: function () { return setOpen(false); }, children: _jsx(DropdownWrapper, { onPress: function () { return setOpen(false); }, children: _jsx(DropdownContainer, { style: { maxHeight: dropdownContainerMaxHeight }, children: _jsxs(ScrollView, { nestedScrollEnabled: true, testID: "".concat(testID, "-OptionsScrollView"), children: [_jsxs(SelectOption, { accessible: true, accessibilityRole: "radio", onPress: function () { return handleOptionPress(requiredOption); }, children: [_jsx(StyledP, { children: _jsx(Strong, { children: requiredOption.label }) }), _jsx(Radio, { isChecked: selected.value === requiredOption.value, children: _jsx(RadioDot, { isChecked: selected.value === requiredOption.value }) })] }), Object.keys(optionsByCategories).map(function (category) { return (_jsxs(Fragment, { children: [category !== 'undefined' ? (_jsx(StyledCategory, { children: category })) : null, optionsByCategories[category].map(function (option, i) { return (_jsxs(SelectOption, { accessible: true, accessibilityRole: "radio", isLastOption: i === optionsByCategories[category].length - 1, onPress: function () { return handleOptionPress(option); }, children: [_jsx(StyledP, { children: _jsx(Strong, { children: option.label }) }), _jsx(Radio, { isChecked: selected.value === option.value, children: _jsx(RadioDot, { isChecked: selected.value === option.value }) })] }, option.label)); })] }, category)); })] }) }) }) })] }));
|
|
65
67
|
};
|
|
66
68
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ovotech/element-native",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1-canary-2c95d85-344",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@backpackapp-io/react-native-toast": "^0.10.0",
|
|
17
|
+
"@ovotech/element-core": "4.0.0-canary-2c95d85-344",
|
|
17
18
|
"deepmerge": "^4.2.2",
|
|
18
19
|
"lodash.groupby": "^4.6.0",
|
|
19
|
-
"react-native-reanimated-carousel": "^3.5.1"
|
|
20
|
-
"@ovotech/element-core": "4.0.0"
|
|
20
|
+
"react-native-reanimated-carousel": "^3.5.1"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@babel/core": "^7.11.5",
|