@gympass/yoga 7.66.0 → 7.66.1
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/cjs/Dialog/web/Dialog.js +12 -7
- package/cjs/Drawer/web/Drawer.js +5 -1
- package/esm/Accordion/web/Accordion.test.js +19 -0
- package/esm/ActionRequirement/index.native.js +2 -0
- package/esm/ActionRequirement/native/ActionRequirement.js +48 -0
- package/esm/ActionRequirement/native/ActionRequirement.test.js +45 -0
- package/esm/ActionRequirement/native/ActionRequirementStyles.js +25 -0
- package/esm/ActionRequirement/native/index.js +6 -0
- package/esm/ActionRequirement/web/ActionRequirement.test.js +36 -0
- package/esm/AutoComplete/web/AutoComplete.test.js +139 -0
- package/esm/Avatar/index.native.js +4 -0
- package/esm/Avatar/native/Avatar.js +96 -0
- package/esm/Avatar/native/Avatar.test.js +46 -0
- package/esm/Avatar/native/AvatarCircle.js +24 -0
- package/esm/Avatar/web/Avatar.test.js +63 -0
- package/esm/Banner/index.native.js +2 -0
- package/esm/Banner/native/Banner.js +128 -0
- package/esm/Banner/native/Banner.test.js +103 -0
- package/esm/Banner/native/index.js +2 -0
- package/esm/Banner/web/Banner.test.js +109 -0
- package/esm/BottomSheet/web/BottomSheet.test.js +48 -0
- package/esm/Box/index.native.js +2 -0
- package/esm/Box/native/Box.js +4 -0
- package/esm/Box/native/Box.test.js +16 -0
- package/esm/Box/native/index.js +2 -0
- package/esm/Box/web/Box.test.js +16 -0
- package/esm/Button/index.native.js +8 -0
- package/esm/Button/native/Button.js +110 -0
- package/esm/Button/native/Button.test.js +475 -0
- package/esm/Button/native/Icon.js +82 -0
- package/esm/Button/native/Link.js +35 -0
- package/esm/Button/native/Text.js +74 -0
- package/esm/Button/native/withTouchable.js +63 -0
- package/esm/Button/web/Button.test.js +772 -0
- package/esm/Card/index.native.js +2 -0
- package/esm/Card/native/Card/Actions.js +12 -0
- package/esm/Card/native/Card/Card.js +92 -0
- package/esm/Card/native/Card/Card.test.js +15 -0
- package/esm/Card/native/Card/Content.js +8 -0
- package/esm/Card/native/Card/Header.js +8 -0
- package/esm/Card/native/Card/index.js +8 -0
- package/esm/Card/native/EventCard/EventCard.js +169 -0
- package/esm/Card/native/EventCard/EventCard.test.js +65 -0
- package/esm/Card/native/EventCard/index.js +2 -0
- package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
- package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
- package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
- package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
- package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
- package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
- package/esm/Card/native/GymCard/index.js +5 -0
- package/esm/Card/native/PlanCard/Actions.js +22 -0
- package/esm/Card/native/PlanCard/Content.js +75 -0
- package/esm/Card/native/PlanCard/List.js +73 -0
- package/esm/Card/native/PlanCard/PlanCard.js +51 -0
- package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
- package/esm/Card/native/PlanCard/Subtitle.js +15 -0
- package/esm/Card/native/PlanCard/Tag.js +34 -0
- package/esm/Card/native/PlanCard/index.js +15 -0
- package/esm/Card/native/index.js +5 -0
- package/esm/Card/web/Card/Card.test.js +14 -0
- package/esm/Card/web/EventCard/EventCard.test.js +27 -0
- package/esm/Card/web/PlanCard/PlanCard.test.js +94 -0
- package/esm/Checkbox/index.native.js +3 -0
- package/esm/Checkbox/native/Checkbox.js +179 -0
- package/esm/Checkbox/native/Checkbox.test.js +115 -0
- package/esm/Checkbox/native/Switch.js +115 -0
- package/esm/Checkbox/native/Switch.test.js +54 -0
- package/esm/Checkbox/native/index.js +3 -0
- package/esm/Checkbox/web/Checkbox.test.js +153 -0
- package/esm/Checkbox/web/Switch.test.js +56 -0
- package/esm/Chips/index.native.js +2 -0
- package/esm/Chips/native/Chips.js +104 -0
- package/esm/Chips/native/Chips.test.js +143 -0
- package/esm/Chips/native/Counter.js +20 -0
- package/esm/Chips/native/index.js +2 -0
- package/esm/Chips/web/Chips.test.js +128 -0
- package/esm/Datepicker/web/Datepicker.test.js +247 -0
- package/esm/Dialog/web/Dialog.js +13 -8
- package/esm/Dialog/web/Dialog.test.js +62 -0
- package/esm/Divider/index.native.js +2 -0
- package/esm/Divider/native/Divider.js +29 -0
- package/esm/Divider/native/Divider.test.js +29 -0
- package/esm/Divider/native/index.js +2 -0
- package/esm/Divider/web/Divider.test.js +29 -0
- package/esm/Drawer/web/Drawer.js +6 -2
- package/esm/Drawer/web/Drawer.test.js +33 -0
- package/esm/Dropdown/index.native.js +2 -0
- package/esm/Dropdown/native/Backdrop.js +93 -0
- package/esm/Dropdown/native/Backdrop.test.js +26 -0
- package/esm/Dropdown/native/Dropdown.js +142 -0
- package/esm/Dropdown/native/Dropdown.test.js +78 -0
- package/esm/Dropdown/native/Options.android.js +66 -0
- package/esm/Dropdown/native/Options.ios.js +71 -0
- package/esm/Dropdown/native/index.js +2 -0
- package/esm/Dropdown/web/Dropdown.test.js +93 -0
- package/esm/Feedback/web/Feedback.test.js +83 -0
- package/esm/Grid/web/Col.test.js +48 -0
- package/esm/Grid/web/Container.test.js +14 -0
- package/esm/Grid/web/Hide.test.js +31 -0
- package/esm/Grid/web/Row.test.js +14 -0
- package/esm/Header/web/Header.test.js +38 -0
- package/esm/Heading/web/Heading.test.js +58 -0
- package/esm/Icon/index.native.js +2 -0
- package/esm/Icon/native/Icon.test.js +47 -0
- package/esm/Icon/native/index.js +2 -0
- package/esm/Icon/web/Icon.test.js +47 -0
- package/esm/Input/index.native.js +6 -0
- package/esm/Input/native/Email.js +15 -0
- package/esm/Input/native/Email.test.js +13 -0
- package/esm/Input/native/Helper.js +62 -0
- package/esm/Input/native/Input.js +234 -0
- package/esm/Input/native/Input.test.js +181 -0
- package/esm/Input/native/Number.js +12 -0
- package/esm/Input/native/Number.test.js +13 -0
- package/esm/Input/native/Password.js +112 -0
- package/esm/Input/native/Password.test.js +125 -0
- package/esm/Input/native/Tel.js +14 -0
- package/esm/Input/native/Tel.test.js +13 -0
- package/esm/Input/native/index.js +6 -0
- package/esm/Input/web/Email.test.js +13 -0
- package/esm/Input/web/Input.test.js +145 -0
- package/esm/Input/web/Number.test.js +13 -0
- package/esm/Input/web/Password.test.js +90 -0
- package/esm/Input/web/Phone.test.js +95 -0
- package/esm/Input/web/Tel.test.js +13 -0
- package/esm/List/index.native.js +3 -0
- package/esm/List/native/List.js +22 -0
- package/esm/List/native/List.test.js +106 -0
- package/esm/List/native/ListItem.js +51 -0
- package/esm/List/native/index.js +3 -0
- package/esm/List/web/List.test.js +62 -0
- package/esm/Menu/web/Menu.test.js +115 -0
- package/esm/Popover/web/Popover.test.js +19 -0
- package/esm/Progress/index.native.js +2 -0
- package/esm/Progress/native/Progress.js +103 -0
- package/esm/Progress/native/Progress.test.js +222 -0
- package/esm/Progress/native/index.js +2 -0
- package/esm/Progress/web/Progress.test.js +222 -0
- package/esm/RadioGroup/index.native.js +4 -0
- package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
- package/esm/RadioGroup/native/Button/RadioButton.test.js +96 -0
- package/esm/RadioGroup/native/Radio/Radio.js +88 -0
- package/esm/RadioGroup/native/Radio/Radio.test.js +112 -0
- package/esm/RadioGroup/native/RadioGroup.js +66 -0
- package/esm/RadioGroup/native/RadioGroup.test.js +50 -0
- package/esm/RadioGroup/native/index.js +4 -0
- package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
- package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
- package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
- package/esm/Rating/index.native.js +2 -0
- package/esm/Rating/native/Rating.js +186 -0
- package/esm/Rating/native/Rating.test.js +121 -0
- package/esm/Rating/native/index.js +2 -0
- package/esm/Rating/web/Rating.test.js +184 -0
- package/esm/Result/index.native.js +8 -0
- package/esm/Result/native/Attendances.js +55 -0
- package/esm/Result/native/Details.js +97 -0
- package/esm/Result/native/Rate.js +35 -0
- package/esm/Result/native/Result.js +86 -0
- package/esm/Result/native/Result.test.js +107 -0
- package/esm/Result/native/ResultButton.js +13 -0
- package/esm/Result/native/Tags.js +41 -0
- package/esm/Result/native/TinyTextIcon.js +18 -0
- package/esm/Result/native/index.js +2 -0
- package/esm/Skeleton/index.native.js +2 -0
- package/esm/Skeleton/native/Skeleton.js +94 -0
- package/esm/Skeleton/native/Skeleton.test.js +78 -0
- package/esm/Skeleton/native/index.js +2 -0
- package/esm/Skeleton/web/Skeleton.test.js +77 -0
- package/esm/Slider/index.native.js +2 -0
- package/esm/Slider/native/Label.js +19 -0
- package/esm/Slider/native/Marker.js +68 -0
- package/esm/Slider/native/Slider.js +156 -0
- package/esm/Slider/native/Slider.test.js +122 -0
- package/esm/Slider/native/Step.js +14 -0
- package/esm/Slider/native/Tooltip.js +90 -0
- package/esm/Slider/web/Slider.test.js +86 -0
- package/esm/Snackbar/index.native.js +2 -0
- package/esm/Snackbar/native/Snackbar.js +199 -0
- package/esm/Snackbar/native/Snackbar.test.js +100 -0
- package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
- package/esm/Snackbar/native/index.js +2 -0
- package/esm/Snackbar/web/Snackbar.test.js +118 -0
- package/esm/Stepper/index.native.js +3 -0
- package/esm/Stepper/native/Dots.js +45 -0
- package/esm/Stepper/native/Line.js +35 -0
- package/esm/Stepper/native/Step.js +19 -0
- package/esm/Stepper/native/Stepper.js +52 -0
- package/esm/Stepper/native/Stepper.test.js +70 -0
- package/esm/Stepper/native/index.js +3 -0
- package/esm/Stepper/web/Stepper.test.js +67 -0
- package/esm/Tag/index.native.js +4 -0
- package/esm/Tag/native/Informative.js +72 -0
- package/esm/Tag/native/Tag.js +75 -0
- package/esm/Tag/native/Tag.test.js +94 -0
- package/esm/Tag/native/index.js +2 -0
- package/esm/Tag/web/Tag.test.js +79 -0
- package/esm/Text/index.native.js +16 -0
- package/esm/Text/native/Text.js +69 -0
- package/esm/Text/native/Text.test.js +149 -0
- package/esm/Text/native/index.js +2 -0
- package/esm/Text/web/Text.test.js +149 -0
- package/esm/TextArea/index.native.js +2 -0
- package/esm/TextArea/native/TextArea.js +59 -0
- package/esm/TextArea/native/TextArea.test.js +11 -0
- package/esm/TextArea/native/index.js +2 -0
- package/esm/TextArea/web/TextArea.test.js +11 -0
- package/esm/Theme/Provider/index.native.js +2 -0
- package/esm/Theme/Provider/native/index.js +2 -0
- package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
- package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
- package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
- package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
- package/esm/Theme/index.native.js +5 -0
- package/esm/index.native.js +26 -0
- package/esm/shared/index.native.js +2 -0
- package/package.json +2 -2
package/cjs/Dialog/web/Dialog.js
CHANGED
|
@@ -17,7 +17,7 @@ var _hooks = require("../../hooks");
|
|
|
17
17
|
|
|
18
18
|
var _ = require("../..");
|
|
19
19
|
|
|
20
|
-
var _excluded = ["isOpen", "hideCloseButton", "children", "onClose"];
|
|
20
|
+
var _excluded = ["isOpen", "hideCloseButton", "children", "onClose", "zIndex"];
|
|
21
21
|
|
|
22
22
|
var _templateObject, _templateObject2;
|
|
23
23
|
|
|
@@ -41,15 +41,17 @@ var StyledDialog = (0, _styledComponents["default"])(_.Card)(_templateObject ||
|
|
|
41
41
|
exports.StyledDialog = StyledDialog;
|
|
42
42
|
|
|
43
43
|
var Overlay = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
|
|
44
|
-
var
|
|
45
|
-
|
|
44
|
+
var zIndex = _ref2.zIndex,
|
|
45
|
+
dialog = _ref2.theme.yoga.components.dialog;
|
|
46
|
+
return "\n display: flex;\n z-index: " + zIndex + ";\n justify-content: center;\n align-items: center;\n\n position: fixed;\n top: " + dialog.position["default"] + ";\n right: " + dialog.position["default"] + ";\n left: " + dialog.position["default"] + ";\n bottom: " + dialog.position["default"] + ";\n\n background-color: rgba(35, 27, 34, 0.48);\n ";
|
|
46
47
|
});
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
function Dialog(_ref3) {
|
|
49
50
|
var isOpen = _ref3.isOpen,
|
|
50
51
|
hideCloseButton = _ref3.hideCloseButton,
|
|
51
52
|
children = _ref3.children,
|
|
52
53
|
onClose = _ref3.onClose,
|
|
54
|
+
zIndex = _ref3.zIndex,
|
|
53
55
|
props = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
54
56
|
|
|
55
57
|
var dialogRef = (0, _react.useRef)(null);
|
|
@@ -78,7 +80,8 @@ var Dialog = function Dialog(_ref3) {
|
|
|
78
80
|
return isOpen ? /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
79
81
|
onClick: closeDialog,
|
|
80
82
|
onClose: onClose,
|
|
81
|
-
ref: dialogRef
|
|
83
|
+
ref: dialogRef,
|
|
84
|
+
zIndex: zIndex
|
|
82
85
|
}, /*#__PURE__*/_react["default"].createElement(StyledDialog, _extends({
|
|
83
86
|
onClose: onClose
|
|
84
87
|
}, props), isCloseButtonVisible && /*#__PURE__*/_react["default"].createElement(_.Box, {
|
|
@@ -90,7 +93,7 @@ var Dialog = function Dialog(_ref3) {
|
|
|
90
93
|
inverted: true,
|
|
91
94
|
onClick: onClose
|
|
92
95
|
})), children)), dialogElement) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
|
|
93
|
-
}
|
|
96
|
+
}
|
|
94
97
|
|
|
95
98
|
Dialog.propTypes = {
|
|
96
99
|
/** Control the dialog visibility. */
|
|
@@ -101,12 +104,14 @@ Dialog.propTypes = {
|
|
|
101
104
|
|
|
102
105
|
/** Function to close the dialog. */
|
|
103
106
|
onClose: _propTypes.func,
|
|
107
|
+
zIndex: _propTypes.number,
|
|
104
108
|
children: _propTypes.node.isRequired
|
|
105
109
|
};
|
|
106
110
|
Dialog.defaultProps = {
|
|
107
111
|
isOpen: false,
|
|
108
112
|
hideCloseButton: false,
|
|
109
|
-
onClose: undefined
|
|
113
|
+
onClose: undefined,
|
|
114
|
+
zIndex: 3
|
|
110
115
|
};
|
|
111
116
|
Dialog.displayName = 'Dialog';
|
|
112
117
|
var _default = Dialog;
|
package/cjs/Drawer/web/Drawer.js
CHANGED
|
@@ -27,7 +27,11 @@ function Drawer(props) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
Drawer.propTypes = {
|
|
30
|
-
children: _propTypes.node.isRequired
|
|
30
|
+
children: _propTypes.node.isRequired,
|
|
31
|
+
zIndex: _propTypes.number
|
|
32
|
+
};
|
|
33
|
+
Drawer.defaultProps = {
|
|
34
|
+
zIndex: 3
|
|
31
35
|
};
|
|
32
36
|
var _default = Drawer;
|
|
33
37
|
exports["default"] = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, cleanup } from '@testing-library/react';
|
|
3
|
+
import { Text, Button } from '@gympass/yoga';
|
|
4
|
+
import { ThemeProvider } from '../..';
|
|
5
|
+
import Accordion from '.';
|
|
6
|
+
describe('<Accordion />', function () {
|
|
7
|
+
afterEach(cleanup);
|
|
8
|
+
it('should match snapshot', function () {
|
|
9
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Accordion, {
|
|
10
|
+
title: "Title"
|
|
11
|
+
}, /*#__PURE__*/React.createElement(Accordion.Content, null, /*#__PURE__*/React.createElement(Text, null, "Content"), /*#__PURE__*/React.createElement(Button, {
|
|
12
|
+
small: true,
|
|
13
|
+
inverted: true
|
|
14
|
+
}, "Small button"))))),
|
|
15
|
+
baseElement = _render.baseElement;
|
|
16
|
+
|
|
17
|
+
expect(baseElement).toMatchSnapshot();
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
|
|
3
|
+
function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
|
|
4
|
+
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { arrayOf, node, oneOfType, string } from 'prop-types';
|
|
7
|
+
import styled from 'styled-components/native';
|
|
8
|
+
import { View } from 'react-native';
|
|
9
|
+
import Box from '../../Box';
|
|
10
|
+
import { Title } from './ActionRequirementStyles';
|
|
11
|
+
import Text from '../../Text';
|
|
12
|
+
var StyledActionRequirement = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
|
|
13
|
+
|
|
14
|
+
function ActionRequirement(props) {
|
|
15
|
+
var title = props.title,
|
|
16
|
+
description = props.description,
|
|
17
|
+
children = props.children,
|
|
18
|
+
checkable = props.checkable,
|
|
19
|
+
illustration = props.illustration,
|
|
20
|
+
list = props.list;
|
|
21
|
+
return /*#__PURE__*/React.createElement(StyledActionRequirement, props, illustration && /*#__PURE__*/React.createElement(Box, null, illustration), /*#__PURE__*/React.createElement(Title, null, title), /*#__PURE__*/React.createElement(Text, {
|
|
22
|
+
mt: "small",
|
|
23
|
+
color: "deep"
|
|
24
|
+
}, description), list && /*#__PURE__*/React.createElement(Text, {
|
|
25
|
+
mt: "small",
|
|
26
|
+
color: "deep"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
28
|
+
mt: "xxxlarge"
|
|
29
|
+
}, list)), checkable && /*#__PURE__*/React.createElement(Box, {
|
|
30
|
+
mt: "xxxlarge"
|
|
31
|
+
}, checkable), /*#__PURE__*/React.createElement(View, null, children));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ActionRequirement.propTypes = {
|
|
35
|
+
title: string.isRequired,
|
|
36
|
+
children: oneOfType([arrayOf(node), node]),
|
|
37
|
+
description: string.isRequired,
|
|
38
|
+
checkable: oneOfType([arrayOf(node), node]),
|
|
39
|
+
illustration: oneOfType([arrayOf(node), node]),
|
|
40
|
+
list: oneOfType([arrayOf(node), node])
|
|
41
|
+
};
|
|
42
|
+
ActionRequirement.defaultProps = {
|
|
43
|
+
children: undefined,
|
|
44
|
+
checkable: undefined,
|
|
45
|
+
illustration: undefined,
|
|
46
|
+
list: undefined
|
|
47
|
+
};
|
|
48
|
+
export default ActionRequirement;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react-native';
|
|
3
|
+
import { Box, Checkbox, Text } from '@gympass/yoga';
|
|
4
|
+
import { Img2d01 } from '@gympass/yoga-illustrations';
|
|
5
|
+
import { Dumbbell, User, Star } from '@gympass/yoga-icons';
|
|
6
|
+
import { ThemeProvider } from '../..';
|
|
7
|
+
import ActionRequirement from './ActionRequirement';
|
|
8
|
+
|
|
9
|
+
function handleGetCheckableContent() {
|
|
10
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
11
|
+
display: "flex",
|
|
12
|
+
flexDirection: "row",
|
|
13
|
+
alignItems: "center"
|
|
14
|
+
}, /*#__PURE__*/React.createElement(Checkbox, null), /*#__PURE__*/React.createElement(Text, null, "I have read and agree to the Terms of Use and Privacy Policy."));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function handleGetIllustration() {
|
|
18
|
+
return /*#__PURE__*/React.createElement(Img2d01, {
|
|
19
|
+
width: 375,
|
|
20
|
+
height: 375
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function handleGetList() {
|
|
25
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(Dumbbell, null), " 1x/day standard access"), /*#__PURE__*/React.createElement(Text, {
|
|
26
|
+
mt: "small"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(User, null), " 4x/month 1-on-1 sessions"), /*#__PURE__*/React.createElement(Text, {
|
|
28
|
+
mt: "small"
|
|
29
|
+
}, /*#__PURE__*/React.createElement(Star, null), " 2x/month premium classes"));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
describe('<ActionRequirement />', function () {
|
|
33
|
+
it('should match snapshot', function () {
|
|
34
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(ActionRequirement, {
|
|
35
|
+
title: "Welcome to the world of feeling good!",
|
|
36
|
+
description: "Lets make it a good day!",
|
|
37
|
+
illustration: handleGetIllustration(),
|
|
38
|
+
checkable: handleGetCheckableContent(),
|
|
39
|
+
list: handleGetList()
|
|
40
|
+
}))),
|
|
41
|
+
toJSON = _render.toJSON;
|
|
42
|
+
|
|
43
|
+
expect(toJSON()).toMatchSnapshot();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
2
|
+
|
|
3
|
+
function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
|
|
4
|
+
|
|
5
|
+
import styled, { css } from 'styled-components';
|
|
6
|
+
import Text from '../../Text/index.native';
|
|
7
|
+
import Box from '../../Box/index.native';
|
|
8
|
+
import Button from '../../Button/index.native';
|
|
9
|
+
export var Title = styled(Text.H4)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
10
|
+
var fontSizes = _ref.theme.yoga.fontSizes;
|
|
11
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n max-width: 700px;\n font-size: ", "px;\n line-height: ", "px;\n }\n "])), fontSizes.huge, fontSizes.huge);
|
|
12
|
+
});
|
|
13
|
+
export var Actions = styled(Box)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
|
|
14
|
+
var spacing = _ref2.theme.yoga.spacing;
|
|
15
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n\n @media (min-width: 769px) {\n flex-direction: row;\n margin-top: ", "px;\n }\n "])), spacing.xlarge);
|
|
16
|
+
});
|
|
17
|
+
var buttonsStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref3) {
|
|
18
|
+
var spacing = _ref3.theme.yoga.spacing;
|
|
19
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n width: 100%;\n\n :last-child(:not(:first-child)) {\n margin-top: ", "px;\n }\n\n @media (min-width: 769px) {\n width: auto;\n\n :last-child(:not(:first-child)) {\n margin-top: 0;\n margin-left: ", "px;\n }\n }\n "])), spacing.small, spacing.large);
|
|
20
|
+
});
|
|
21
|
+
export var PrimaryButton = styled(Button)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
|
|
22
|
+
export var SecondaryButton = styled(Button.Text)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
|
|
23
|
+
Title.displayName = 'ActionRequirement.Title';
|
|
24
|
+
PrimaryButton.displayName = 'ActionRequirement.PrimaryButton';
|
|
25
|
+
SecondaryButton.displayName = 'ActionRequirement.SecondaryButton';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import ActionRequirement from './ActionRequirement';
|
|
2
|
+
import { Title, PrimaryButton, SecondaryButton } from './ActionRequirementStyles';
|
|
3
|
+
ActionRequirement.Title = Title;
|
|
4
|
+
ActionRequirement.PrimaryButton = PrimaryButton;
|
|
5
|
+
ActionRequirement.SecondaryButton = SecondaryButton;
|
|
6
|
+
export default ActionRequirement;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { Text } from '@gympass/yoga';
|
|
4
|
+
import { Dumbbell, User, Star } from '@gympass/yoga-icons';
|
|
5
|
+
import ActionRequirement from './ActionRequirement';
|
|
6
|
+
import { ThemeProvider } from '../..';
|
|
7
|
+
|
|
8
|
+
function handleGetList() {
|
|
9
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(Dumbbell, null), " 1x/day standard access"), /*#__PURE__*/React.createElement(Text, {
|
|
10
|
+
mt: "small"
|
|
11
|
+
}, /*#__PURE__*/React.createElement(User, null), " 4x/month 1-on-1 sessions"), /*#__PURE__*/React.createElement(Text, {
|
|
12
|
+
mt: "small"
|
|
13
|
+
}, /*#__PURE__*/React.createElement(Star, null), " 2x/month premium classes"));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
describe('<ActionRequirement />', function () {
|
|
17
|
+
it('should default match snapshot', function () {
|
|
18
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(ActionRequirement, {
|
|
19
|
+
title: "title",
|
|
20
|
+
description: "description"
|
|
21
|
+
}))),
|
|
22
|
+
container = _render.container;
|
|
23
|
+
|
|
24
|
+
expect(container).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
it('should match snapshot with list', function () {
|
|
27
|
+
var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(ActionRequirement, {
|
|
28
|
+
title: "title",
|
|
29
|
+
description: "description",
|
|
30
|
+
list: handleGetList()
|
|
31
|
+
}))),
|
|
32
|
+
container = _render2.container;
|
|
33
|
+
|
|
34
|
+
expect(container).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, fireEvent } from '@testing-library/react';
|
|
3
|
+
import { ThemeProvider, AutoComplete } from '../..';
|
|
4
|
+
describe('<AutoComplete />', function () {
|
|
5
|
+
describe('Snapshots', function () {
|
|
6
|
+
it('should match with default component', function () {
|
|
7
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, null))),
|
|
8
|
+
container = _render.container;
|
|
9
|
+
|
|
10
|
+
expect(container).toMatchSnapshot();
|
|
11
|
+
});
|
|
12
|
+
it('should match with a full width component', function () {
|
|
13
|
+
var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
14
|
+
full: true
|
|
15
|
+
}))),
|
|
16
|
+
container = _render2.container;
|
|
17
|
+
|
|
18
|
+
expect(container).toMatchSnapshot();
|
|
19
|
+
});
|
|
20
|
+
it('should match with options list', function () {
|
|
21
|
+
var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
22
|
+
value: "s",
|
|
23
|
+
options: ['first', 'second']
|
|
24
|
+
}))),
|
|
25
|
+
getByDisplayValue = _render3.getByDisplayValue,
|
|
26
|
+
container = _render3.container;
|
|
27
|
+
|
|
28
|
+
fireEvent.focus(getByDisplayValue('s'));
|
|
29
|
+
expect(container).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
it('should match with full width options list', function () {
|
|
32
|
+
var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
33
|
+
value: "s",
|
|
34
|
+
full: true,
|
|
35
|
+
options: ['first', 'second']
|
|
36
|
+
}))),
|
|
37
|
+
getByDisplayValue = _render4.getByDisplayValue,
|
|
38
|
+
container = _render4.container;
|
|
39
|
+
|
|
40
|
+
fireEvent.focus(getByDisplayValue('s'));
|
|
41
|
+
expect(container).toMatchSnapshot();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('Options list', function () {
|
|
45
|
+
it('should filter the options', function () {
|
|
46
|
+
var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
47
|
+
value: "secon",
|
|
48
|
+
options: ['first', 'second', 'third']
|
|
49
|
+
}))),
|
|
50
|
+
container = _render5.container,
|
|
51
|
+
getByDisplayValue = _render5.getByDisplayValue;
|
|
52
|
+
|
|
53
|
+
fireEvent.focus(getByDisplayValue('secon'));
|
|
54
|
+
expect(container.querySelector('ul').firstChild.textContent).toBe('second');
|
|
55
|
+
});
|
|
56
|
+
it('should close options list when clean button is clicked', function () {
|
|
57
|
+
var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
58
|
+
value: "secon",
|
|
59
|
+
options: ['first', 'second', 'third']
|
|
60
|
+
}))),
|
|
61
|
+
container = _render6.container,
|
|
62
|
+
getByDisplayValue = _render6.getByDisplayValue,
|
|
63
|
+
getByRole = _render6.getByRole;
|
|
64
|
+
|
|
65
|
+
fireEvent.focus(getByDisplayValue('secon'));
|
|
66
|
+
fireEvent.click(getByRole('button', {
|
|
67
|
+
name: /clear/i
|
|
68
|
+
}));
|
|
69
|
+
expect(container.querySelector('ul')).toBe(null);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('Event listeners', function () {
|
|
73
|
+
it('should call onChangeMock', function () {
|
|
74
|
+
var onChangeMock = jest.fn();
|
|
75
|
+
var onCleanMock = jest.fn();
|
|
76
|
+
var onSelectMock = jest.fn();
|
|
77
|
+
|
|
78
|
+
var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
79
|
+
value: "New",
|
|
80
|
+
options: ['New York'],
|
|
81
|
+
onChange: onChangeMock
|
|
82
|
+
}))),
|
|
83
|
+
getByDisplayValue = _render7.getByDisplayValue;
|
|
84
|
+
|
|
85
|
+
fireEvent.change(getByDisplayValue('New'), {
|
|
86
|
+
target: {
|
|
87
|
+
value: 'a'
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
expect(onChangeMock).toHaveBeenCalledWith('a');
|
|
91
|
+
expect(onSelectMock).not.toHaveBeenCalled();
|
|
92
|
+
expect(onCleanMock).not.toHaveBeenCalled();
|
|
93
|
+
});
|
|
94
|
+
it('should call onCleanMock', function () {
|
|
95
|
+
var onCleanMock = jest.fn();
|
|
96
|
+
var onSelectMock = jest.fn();
|
|
97
|
+
var onChangeMock = jest.fn();
|
|
98
|
+
|
|
99
|
+
var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
100
|
+
value: "New",
|
|
101
|
+
options: ['New York'],
|
|
102
|
+
onClean: onCleanMock,
|
|
103
|
+
onSelect: onSelectMock,
|
|
104
|
+
onChange: onChangeMock
|
|
105
|
+
}))),
|
|
106
|
+
getByDisplayValue = _render8.getByDisplayValue,
|
|
107
|
+
getByRole = _render8.getByRole;
|
|
108
|
+
|
|
109
|
+
fireEvent.focus(getByDisplayValue('New'));
|
|
110
|
+
fireEvent.click(getByRole('button', {
|
|
111
|
+
name: /clear/i
|
|
112
|
+
}));
|
|
113
|
+
expect(onCleanMock).toHaveBeenCalledWith('');
|
|
114
|
+
expect(onSelectMock).not.toHaveBeenCalled();
|
|
115
|
+
expect(onChangeMock).toHaveBeenCalledWith('');
|
|
116
|
+
});
|
|
117
|
+
it('should call onSelectMock', function () {
|
|
118
|
+
var onSelectMock = jest.fn();
|
|
119
|
+
var onCleanMock = jest.fn();
|
|
120
|
+
var onChangeMock = jest.fn();
|
|
121
|
+
|
|
122
|
+
var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
|
|
123
|
+
value: "New",
|
|
124
|
+
options: ['New York'],
|
|
125
|
+
onSelect: onSelectMock,
|
|
126
|
+
onClean: onCleanMock,
|
|
127
|
+
onChange: onChangeMock
|
|
128
|
+
}))),
|
|
129
|
+
getByDisplayValue = _render9.getByDisplayValue,
|
|
130
|
+
getByRole = _render9.getByRole;
|
|
131
|
+
|
|
132
|
+
fireEvent.focus(getByDisplayValue('New'));
|
|
133
|
+
fireEvent.click(getByRole('option'));
|
|
134
|
+
expect(onSelectMock).toHaveBeenCalledWith('New York');
|
|
135
|
+
expect(onChangeMock).toHaveBeenCalledWith('New York');
|
|
136
|
+
expect(onCleanMock).not.toHaveBeenCalled();
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
});
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var _excluded = ["icon", "src", "children", "fill", "stroke"];
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
5
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
|
+
|
|
7
|
+
import React, { forwardRef } from 'react';
|
|
8
|
+
import { BuildingFilled } from '@gympass/yoga-icons';
|
|
9
|
+
import { string, func } from 'prop-types';
|
|
10
|
+
import { Image } from 'react-native';
|
|
11
|
+
import Box from '../../Box';
|
|
12
|
+
import Icon from '../../Icon';
|
|
13
|
+
|
|
14
|
+
var Content = function Content(_ref) {
|
|
15
|
+
var icon = _ref.icon,
|
|
16
|
+
src = _ref.src,
|
|
17
|
+
fill = _ref.fill,
|
|
18
|
+
content = _ref.content,
|
|
19
|
+
stroke = _ref.stroke;
|
|
20
|
+
|
|
21
|
+
if (src) {
|
|
22
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
23
|
+
as: Image,
|
|
24
|
+
width: "100%",
|
|
25
|
+
height: "100%",
|
|
26
|
+
source: src
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (content) {
|
|
31
|
+
return content;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
35
|
+
as: icon,
|
|
36
|
+
width: "50%",
|
|
37
|
+
height: "50%",
|
|
38
|
+
fill: fill,
|
|
39
|
+
stroke: stroke
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The Avatar component is used to display the image.
|
|
44
|
+
* It has two shapes: default and circle
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
var Avatar = /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
49
|
+
var _ref2$icon = _ref2.icon,
|
|
50
|
+
icon = _ref2$icon === void 0 ? BuildingFilled : _ref2$icon,
|
|
51
|
+
src = _ref2.src,
|
|
52
|
+
children = _ref2.children,
|
|
53
|
+
fill = _ref2.fill,
|
|
54
|
+
stroke = _ref2.stroke,
|
|
55
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded);
|
|
56
|
+
|
|
57
|
+
return /*#__PURE__*/React.createElement(Box, _extends({
|
|
58
|
+
ref: ref,
|
|
59
|
+
bgColor: "elements.selectionAndIcons",
|
|
60
|
+
display: "flex",
|
|
61
|
+
alignItems: "center",
|
|
62
|
+
justifyContent: "center",
|
|
63
|
+
width: 48,
|
|
64
|
+
height: 48,
|
|
65
|
+
borderRadius: "small",
|
|
66
|
+
elevation: "small",
|
|
67
|
+
overflow: "hidden"
|
|
68
|
+
}, props), /*#__PURE__*/React.createElement(Content, {
|
|
69
|
+
icon: icon,
|
|
70
|
+
src: src,
|
|
71
|
+
fill: fill,
|
|
72
|
+
stroke: stroke,
|
|
73
|
+
content: children
|
|
74
|
+
}));
|
|
75
|
+
});
|
|
76
|
+
Content.propTypes = _extends({
|
|
77
|
+
src: Image.propTypes.source,
|
|
78
|
+
icon: func,
|
|
79
|
+
fill: string
|
|
80
|
+
}, Box.propTypes);
|
|
81
|
+
Content.defaultProps = {
|
|
82
|
+
src: undefined,
|
|
83
|
+
fill: 'white',
|
|
84
|
+
icon: BuildingFilled
|
|
85
|
+
};
|
|
86
|
+
Avatar.propTypes = _extends({
|
|
87
|
+
src: Image.propTypes.source,
|
|
88
|
+
icon: func,
|
|
89
|
+
fill: string
|
|
90
|
+
}, Box.propTypes);
|
|
91
|
+
Avatar.defaultProps = _extends({
|
|
92
|
+
src: undefined,
|
|
93
|
+
fill: 'white'
|
|
94
|
+
}, Box.defaultProps);
|
|
95
|
+
Avatar.displayName = 'Avatar';
|
|
96
|
+
export default Avatar;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react-native';
|
|
3
|
+
import { UserFilled } from '@gympass/yoga-icons';
|
|
4
|
+
import { ThemeProvider } from '../..';
|
|
5
|
+
import Avatar from './Avatar';
|
|
6
|
+
import Text from '../../Text';
|
|
7
|
+
describe('<Avatar />', function () {
|
|
8
|
+
it('should match snapshot in default avatar', function () {
|
|
9
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
10
|
+
width: 78,
|
|
11
|
+
height: 78,
|
|
12
|
+
fill: "black"
|
|
13
|
+
}))),
|
|
14
|
+
toJSON = _render.toJSON;
|
|
15
|
+
|
|
16
|
+
expect(toJSON()).toMatchSnapshot();
|
|
17
|
+
});
|
|
18
|
+
it('should match snapshot in default avatar with placeholder prop', function () {
|
|
19
|
+
var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
20
|
+
placeholder: UserFilled
|
|
21
|
+
}))),
|
|
22
|
+
toJSON = _render2.toJSON;
|
|
23
|
+
|
|
24
|
+
expect(toJSON()).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
it('should match snapshot in circle avatar', function () {
|
|
27
|
+
var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar.Circle, null))),
|
|
28
|
+
toJSON = _render3.toJSON;
|
|
29
|
+
|
|
30
|
+
expect(toJSON()).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
it('should match snapshot in circle avatar with placeholder prop', function () {
|
|
33
|
+
var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar.Circle, {
|
|
34
|
+
placeholder: UserFilled
|
|
35
|
+
}))),
|
|
36
|
+
toJSON = _render4.toJSON;
|
|
37
|
+
|
|
38
|
+
expect(toJSON()).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
it('should match snapshot in avatar with children prop', function () {
|
|
41
|
+
var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, null, /*#__PURE__*/React.createElement(Text, null, "AL")))),
|
|
42
|
+
toJSON = _render5.toJSON;
|
|
43
|
+
|
|
44
|
+
expect(toJSON()).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var _excluded = ["src"];
|
|
2
|
+
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
|
|
5
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
|
+
|
|
7
|
+
import React, { forwardRef } from 'react';
|
|
8
|
+
import { UserFilled } from '@gympass/yoga-icons';
|
|
9
|
+
import Avatar from './Avatar';
|
|
10
|
+
var AvatarCircle = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
11
|
+
var src = _ref.src,
|
|
12
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
13
|
+
|
|
14
|
+
return /*#__PURE__*/React.createElement(Avatar, _extends({}, props, {
|
|
15
|
+
src: src,
|
|
16
|
+
borderRadius: "circle",
|
|
17
|
+
icon: !src ? UserFilled : undefined,
|
|
18
|
+
ref: ref
|
|
19
|
+
}));
|
|
20
|
+
});
|
|
21
|
+
AvatarCircle.propTypes = Avatar.propTypes;
|
|
22
|
+
AvatarCircle.defaultProps = Avatar.defaultProps;
|
|
23
|
+
AvatarCircle.displayName = 'Avatar.Circle';
|
|
24
|
+
export default AvatarCircle;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { UserFilled } from '@gympass/yoga-icons';
|
|
4
|
+
import { ThemeProvider } from '../..';
|
|
5
|
+
import Avatar from './Avatar';
|
|
6
|
+
describe('<Avatar />', function () {
|
|
7
|
+
it('should match snapshot in default avatar', function () {
|
|
8
|
+
var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
9
|
+
width: 78,
|
|
10
|
+
height: 78,
|
|
11
|
+
fill: "black"
|
|
12
|
+
}))),
|
|
13
|
+
container = _render.container;
|
|
14
|
+
|
|
15
|
+
expect(container).toMatchSnapshot();
|
|
16
|
+
});
|
|
17
|
+
it('should match snapshot in default avatar with src and alt prop', function () {
|
|
18
|
+
var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
19
|
+
src: "https://github.com/Gympass.png",
|
|
20
|
+
alt: "Gympass brand logo"
|
|
21
|
+
}))),
|
|
22
|
+
container = _render2.container;
|
|
23
|
+
|
|
24
|
+
expect(container).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
it('should match snapshot in default avatar with placeholder prop', function () {
|
|
27
|
+
var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
28
|
+
icon: UserFilled
|
|
29
|
+
}))),
|
|
30
|
+
container = _render3.container;
|
|
31
|
+
|
|
32
|
+
expect(container).toMatchSnapshot();
|
|
33
|
+
});
|
|
34
|
+
it('should match snapshot in circle avatar', function () {
|
|
35
|
+
var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar.Circle, null))),
|
|
36
|
+
container = _render4.container;
|
|
37
|
+
|
|
38
|
+
expect(container).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
it('should match snapshot in circle avatar with placeholder prop', function () {
|
|
41
|
+
var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar.Circle, {
|
|
42
|
+
icon: UserFilled
|
|
43
|
+
}))),
|
|
44
|
+
container = _render5.container;
|
|
45
|
+
|
|
46
|
+
expect(container).toMatchSnapshot();
|
|
47
|
+
});
|
|
48
|
+
it('should match snapshot in circle avatar with src and alt prop', function () {
|
|
49
|
+
var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar.Circle, {
|
|
50
|
+
src: "https://github.com/Gympass.png",
|
|
51
|
+
alt: "Gympass brand logo"
|
|
52
|
+
}))),
|
|
53
|
+
container = _render6.container;
|
|
54
|
+
|
|
55
|
+
expect(container).toMatchSnapshot();
|
|
56
|
+
});
|
|
57
|
+
it('should match snapshot in avatar with children prop', function () {
|
|
58
|
+
var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Avatar, null, /*#__PURE__*/React.createElement("p", null, "LC")))),
|
|
59
|
+
container = _render7.container;
|
|
60
|
+
|
|
61
|
+
expect(container).toMatchSnapshot();
|
|
62
|
+
});
|
|
63
|
+
});
|