@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.
Files changed (218) hide show
  1. package/cjs/Dialog/web/Dialog.js +12 -7
  2. package/cjs/Drawer/web/Drawer.js +5 -1
  3. package/esm/Accordion/web/Accordion.test.js +19 -0
  4. package/esm/ActionRequirement/index.native.js +2 -0
  5. package/esm/ActionRequirement/native/ActionRequirement.js +48 -0
  6. package/esm/ActionRequirement/native/ActionRequirement.test.js +45 -0
  7. package/esm/ActionRequirement/native/ActionRequirementStyles.js +25 -0
  8. package/esm/ActionRequirement/native/index.js +6 -0
  9. package/esm/ActionRequirement/web/ActionRequirement.test.js +36 -0
  10. package/esm/AutoComplete/web/AutoComplete.test.js +139 -0
  11. package/esm/Avatar/index.native.js +4 -0
  12. package/esm/Avatar/native/Avatar.js +96 -0
  13. package/esm/Avatar/native/Avatar.test.js +46 -0
  14. package/esm/Avatar/native/AvatarCircle.js +24 -0
  15. package/esm/Avatar/web/Avatar.test.js +63 -0
  16. package/esm/Banner/index.native.js +2 -0
  17. package/esm/Banner/native/Banner.js +128 -0
  18. package/esm/Banner/native/Banner.test.js +103 -0
  19. package/esm/Banner/native/index.js +2 -0
  20. package/esm/Banner/web/Banner.test.js +109 -0
  21. package/esm/BottomSheet/web/BottomSheet.test.js +48 -0
  22. package/esm/Box/index.native.js +2 -0
  23. package/esm/Box/native/Box.js +4 -0
  24. package/esm/Box/native/Box.test.js +16 -0
  25. package/esm/Box/native/index.js +2 -0
  26. package/esm/Box/web/Box.test.js +16 -0
  27. package/esm/Button/index.native.js +8 -0
  28. package/esm/Button/native/Button.js +110 -0
  29. package/esm/Button/native/Button.test.js +475 -0
  30. package/esm/Button/native/Icon.js +82 -0
  31. package/esm/Button/native/Link.js +35 -0
  32. package/esm/Button/native/Text.js +74 -0
  33. package/esm/Button/native/withTouchable.js +63 -0
  34. package/esm/Button/web/Button.test.js +772 -0
  35. package/esm/Card/index.native.js +2 -0
  36. package/esm/Card/native/Card/Actions.js +12 -0
  37. package/esm/Card/native/Card/Card.js +92 -0
  38. package/esm/Card/native/Card/Card.test.js +15 -0
  39. package/esm/Card/native/Card/Content.js +8 -0
  40. package/esm/Card/native/Card/Header.js +8 -0
  41. package/esm/Card/native/Card/index.js +8 -0
  42. package/esm/Card/native/EventCard/EventCard.js +169 -0
  43. package/esm/Card/native/EventCard/EventCard.test.js +65 -0
  44. package/esm/Card/native/EventCard/index.js +2 -0
  45. package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
  46. package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
  47. package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
  48. package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
  49. package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
  50. package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
  51. package/esm/Card/native/GymCard/index.js +5 -0
  52. package/esm/Card/native/PlanCard/Actions.js +22 -0
  53. package/esm/Card/native/PlanCard/Content.js +75 -0
  54. package/esm/Card/native/PlanCard/List.js +73 -0
  55. package/esm/Card/native/PlanCard/PlanCard.js +51 -0
  56. package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
  57. package/esm/Card/native/PlanCard/Subtitle.js +15 -0
  58. package/esm/Card/native/PlanCard/Tag.js +34 -0
  59. package/esm/Card/native/PlanCard/index.js +15 -0
  60. package/esm/Card/native/index.js +5 -0
  61. package/esm/Card/web/Card/Card.test.js +14 -0
  62. package/esm/Card/web/EventCard/EventCard.test.js +27 -0
  63. package/esm/Card/web/PlanCard/PlanCard.test.js +94 -0
  64. package/esm/Checkbox/index.native.js +3 -0
  65. package/esm/Checkbox/native/Checkbox.js +179 -0
  66. package/esm/Checkbox/native/Checkbox.test.js +115 -0
  67. package/esm/Checkbox/native/Switch.js +115 -0
  68. package/esm/Checkbox/native/Switch.test.js +54 -0
  69. package/esm/Checkbox/native/index.js +3 -0
  70. package/esm/Checkbox/web/Checkbox.test.js +153 -0
  71. package/esm/Checkbox/web/Switch.test.js +56 -0
  72. package/esm/Chips/index.native.js +2 -0
  73. package/esm/Chips/native/Chips.js +104 -0
  74. package/esm/Chips/native/Chips.test.js +143 -0
  75. package/esm/Chips/native/Counter.js +20 -0
  76. package/esm/Chips/native/index.js +2 -0
  77. package/esm/Chips/web/Chips.test.js +128 -0
  78. package/esm/Datepicker/web/Datepicker.test.js +247 -0
  79. package/esm/Dialog/web/Dialog.js +13 -8
  80. package/esm/Dialog/web/Dialog.test.js +62 -0
  81. package/esm/Divider/index.native.js +2 -0
  82. package/esm/Divider/native/Divider.js +29 -0
  83. package/esm/Divider/native/Divider.test.js +29 -0
  84. package/esm/Divider/native/index.js +2 -0
  85. package/esm/Divider/web/Divider.test.js +29 -0
  86. package/esm/Drawer/web/Drawer.js +6 -2
  87. package/esm/Drawer/web/Drawer.test.js +33 -0
  88. package/esm/Dropdown/index.native.js +2 -0
  89. package/esm/Dropdown/native/Backdrop.js +93 -0
  90. package/esm/Dropdown/native/Backdrop.test.js +26 -0
  91. package/esm/Dropdown/native/Dropdown.js +142 -0
  92. package/esm/Dropdown/native/Dropdown.test.js +78 -0
  93. package/esm/Dropdown/native/Options.android.js +66 -0
  94. package/esm/Dropdown/native/Options.ios.js +71 -0
  95. package/esm/Dropdown/native/index.js +2 -0
  96. package/esm/Dropdown/web/Dropdown.test.js +93 -0
  97. package/esm/Feedback/web/Feedback.test.js +83 -0
  98. package/esm/Grid/web/Col.test.js +48 -0
  99. package/esm/Grid/web/Container.test.js +14 -0
  100. package/esm/Grid/web/Hide.test.js +31 -0
  101. package/esm/Grid/web/Row.test.js +14 -0
  102. package/esm/Header/web/Header.test.js +38 -0
  103. package/esm/Heading/web/Heading.test.js +58 -0
  104. package/esm/Icon/index.native.js +2 -0
  105. package/esm/Icon/native/Icon.test.js +47 -0
  106. package/esm/Icon/native/index.js +2 -0
  107. package/esm/Icon/web/Icon.test.js +47 -0
  108. package/esm/Input/index.native.js +6 -0
  109. package/esm/Input/native/Email.js +15 -0
  110. package/esm/Input/native/Email.test.js +13 -0
  111. package/esm/Input/native/Helper.js +62 -0
  112. package/esm/Input/native/Input.js +234 -0
  113. package/esm/Input/native/Input.test.js +181 -0
  114. package/esm/Input/native/Number.js +12 -0
  115. package/esm/Input/native/Number.test.js +13 -0
  116. package/esm/Input/native/Password.js +112 -0
  117. package/esm/Input/native/Password.test.js +125 -0
  118. package/esm/Input/native/Tel.js +14 -0
  119. package/esm/Input/native/Tel.test.js +13 -0
  120. package/esm/Input/native/index.js +6 -0
  121. package/esm/Input/web/Email.test.js +13 -0
  122. package/esm/Input/web/Input.test.js +145 -0
  123. package/esm/Input/web/Number.test.js +13 -0
  124. package/esm/Input/web/Password.test.js +90 -0
  125. package/esm/Input/web/Phone.test.js +95 -0
  126. package/esm/Input/web/Tel.test.js +13 -0
  127. package/esm/List/index.native.js +3 -0
  128. package/esm/List/native/List.js +22 -0
  129. package/esm/List/native/List.test.js +106 -0
  130. package/esm/List/native/ListItem.js +51 -0
  131. package/esm/List/native/index.js +3 -0
  132. package/esm/List/web/List.test.js +62 -0
  133. package/esm/Menu/web/Menu.test.js +115 -0
  134. package/esm/Popover/web/Popover.test.js +19 -0
  135. package/esm/Progress/index.native.js +2 -0
  136. package/esm/Progress/native/Progress.js +103 -0
  137. package/esm/Progress/native/Progress.test.js +222 -0
  138. package/esm/Progress/native/index.js +2 -0
  139. package/esm/Progress/web/Progress.test.js +222 -0
  140. package/esm/RadioGroup/index.native.js +4 -0
  141. package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
  142. package/esm/RadioGroup/native/Button/RadioButton.test.js +96 -0
  143. package/esm/RadioGroup/native/Radio/Radio.js +88 -0
  144. package/esm/RadioGroup/native/Radio/Radio.test.js +112 -0
  145. package/esm/RadioGroup/native/RadioGroup.js +66 -0
  146. package/esm/RadioGroup/native/RadioGroup.test.js +50 -0
  147. package/esm/RadioGroup/native/index.js +4 -0
  148. package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
  149. package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
  150. package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
  151. package/esm/Rating/index.native.js +2 -0
  152. package/esm/Rating/native/Rating.js +186 -0
  153. package/esm/Rating/native/Rating.test.js +121 -0
  154. package/esm/Rating/native/index.js +2 -0
  155. package/esm/Rating/web/Rating.test.js +184 -0
  156. package/esm/Result/index.native.js +8 -0
  157. package/esm/Result/native/Attendances.js +55 -0
  158. package/esm/Result/native/Details.js +97 -0
  159. package/esm/Result/native/Rate.js +35 -0
  160. package/esm/Result/native/Result.js +86 -0
  161. package/esm/Result/native/Result.test.js +107 -0
  162. package/esm/Result/native/ResultButton.js +13 -0
  163. package/esm/Result/native/Tags.js +41 -0
  164. package/esm/Result/native/TinyTextIcon.js +18 -0
  165. package/esm/Result/native/index.js +2 -0
  166. package/esm/Skeleton/index.native.js +2 -0
  167. package/esm/Skeleton/native/Skeleton.js +94 -0
  168. package/esm/Skeleton/native/Skeleton.test.js +78 -0
  169. package/esm/Skeleton/native/index.js +2 -0
  170. package/esm/Skeleton/web/Skeleton.test.js +77 -0
  171. package/esm/Slider/index.native.js +2 -0
  172. package/esm/Slider/native/Label.js +19 -0
  173. package/esm/Slider/native/Marker.js +68 -0
  174. package/esm/Slider/native/Slider.js +156 -0
  175. package/esm/Slider/native/Slider.test.js +122 -0
  176. package/esm/Slider/native/Step.js +14 -0
  177. package/esm/Slider/native/Tooltip.js +90 -0
  178. package/esm/Slider/web/Slider.test.js +86 -0
  179. package/esm/Snackbar/index.native.js +2 -0
  180. package/esm/Snackbar/native/Snackbar.js +199 -0
  181. package/esm/Snackbar/native/Snackbar.test.js +100 -0
  182. package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
  183. package/esm/Snackbar/native/index.js +2 -0
  184. package/esm/Snackbar/web/Snackbar.test.js +118 -0
  185. package/esm/Stepper/index.native.js +3 -0
  186. package/esm/Stepper/native/Dots.js +45 -0
  187. package/esm/Stepper/native/Line.js +35 -0
  188. package/esm/Stepper/native/Step.js +19 -0
  189. package/esm/Stepper/native/Stepper.js +52 -0
  190. package/esm/Stepper/native/Stepper.test.js +70 -0
  191. package/esm/Stepper/native/index.js +3 -0
  192. package/esm/Stepper/web/Stepper.test.js +67 -0
  193. package/esm/Tag/index.native.js +4 -0
  194. package/esm/Tag/native/Informative.js +72 -0
  195. package/esm/Tag/native/Tag.js +75 -0
  196. package/esm/Tag/native/Tag.test.js +94 -0
  197. package/esm/Tag/native/index.js +2 -0
  198. package/esm/Tag/web/Tag.test.js +79 -0
  199. package/esm/Text/index.native.js +16 -0
  200. package/esm/Text/native/Text.js +69 -0
  201. package/esm/Text/native/Text.test.js +149 -0
  202. package/esm/Text/native/index.js +2 -0
  203. package/esm/Text/web/Text.test.js +149 -0
  204. package/esm/TextArea/index.native.js +2 -0
  205. package/esm/TextArea/native/TextArea.js +59 -0
  206. package/esm/TextArea/native/TextArea.test.js +11 -0
  207. package/esm/TextArea/native/index.js +2 -0
  208. package/esm/TextArea/web/TextArea.test.js +11 -0
  209. package/esm/Theme/Provider/index.native.js +2 -0
  210. package/esm/Theme/Provider/native/index.js +2 -0
  211. package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
  212. package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
  213. package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
  214. package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
  215. package/esm/Theme/index.native.js +5 -0
  216. package/esm/index.native.js +26 -0
  217. package/esm/shared/index.native.js +2 -0
  218. package/package.json +2 -2
@@ -0,0 +1,86 @@
1
+ var _templateObject, _templateObject2, _templateObject3;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import React, { isValidElement } from 'react';
6
+ import styled from 'styled-components';
7
+ import { arrayOf, string, shape, func, bool, node } from 'prop-types';
8
+ import Text from '../../Text';
9
+ import Attendances from './Attendances';
10
+ import Box from '../../Box';
11
+ var StyledBox = styled(Box)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n width: 100%;\n ", "\n"])), function (_ref) {
12
+ var divided = _ref.divided,
13
+ light = _ref.theme.yoga.colors.light;
14
+ return divided ? "\n border-bottom-width: 1px;\n border-bottom-color: " + light + ";\n " : '';
15
+ });
16
+ var Content = styled.View(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n flex: 1;\n ", "\n"])), function (_ref2) {
17
+ var _ref2$theme$yoga$spac = _ref2.theme.yoga.spacing,
18
+ small = _ref2$theme$yoga$spac.small,
19
+ large = _ref2$theme$yoga$spac.large;
20
+ return "\n margin-left: " + small + "px;\n margin-bottom: " + large + "px;\n ";
21
+ });
22
+ var Title = styled(Text.Medium)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref3) {
23
+ var medium = _ref3.theme.yoga.lineHeights.medium;
24
+ return "\n line-height: " + medium + "px;\n ";
25
+ });
26
+ /**
27
+ * The Result component is used when you have a list to show. It is applied to
28
+ * the item individually, and has the option of being applied to different
29
+ * formats based on the applied context. */
30
+
31
+ var Result = function Result(_ref4) {
32
+ var Avatar = _ref4.avatar,
33
+ attendances = _ref4.attendances,
34
+ rate = _ref4.rate,
35
+ title = _ref4.title,
36
+ subTitle = _ref4.subTitle,
37
+ divided = _ref4.divided,
38
+ children = _ref4.children;
39
+ return /*#__PURE__*/React.createElement(StyledBox, {
40
+ divided: divided,
41
+ display: "flex",
42
+ flexDirection: "row"
43
+ }, Avatar && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/isValidElement(Avatar) ? Avatar : /*#__PURE__*/React.createElement(Avatar, null)), /*#__PURE__*/React.createElement(Content, null, !!(attendances != null && attendances.length) && /*#__PURE__*/React.createElement(Attendances, {
44
+ attendances: attendances,
45
+ rate: rate
46
+ }), /*#__PURE__*/React.createElement(Title, {
47
+ numberOfLines: 1
48
+ }, title), subTitle && subTitle !== '' && /*#__PURE__*/React.createElement(Text.Small, {
49
+ numberOfLines: 1,
50
+ variant: "stamina"
51
+ }, subTitle), children));
52
+ };
53
+
54
+ Result.propTypes = {
55
+ /** The component Avatar */
56
+ avatar: node.isRequired,
57
+
58
+ /** A list with the attendances */
59
+ attendances: arrayOf(shape({
60
+ description: string,
61
+ icon: func
62
+ })),
63
+
64
+ /** The evaluation of the partner */
65
+ rate: string,
66
+
67
+ /** The main title */
68
+ title: string.isRequired,
69
+
70
+ /** The text below the main title */
71
+ subTitle: string,
72
+
73
+ /** If it is to show the divide in the bottom */
74
+ divided: bool,
75
+
76
+ /** The chidren necessary */
77
+ children: node
78
+ };
79
+ Result.defaultProps = {
80
+ rate: undefined,
81
+ divided: false,
82
+ subTitle: undefined,
83
+ children: undefined,
84
+ attendances: undefined
85
+ };
86
+ export default Result;
@@ -0,0 +1,107 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { BuildingFilled } from '@gympass/yoga-icons';
4
+ import { ThemeProvider } from '../..';
5
+ import Result from './Result';
6
+ import Avatar from '../../Avatar';
7
+ import Text from '../../Text';
8
+ var attendanceList = [{
9
+ description: 'Attendance 01',
10
+ icon: BuildingFilled
11
+ }, {
12
+ description: 'Attendance 02',
13
+ icon: BuildingFilled
14
+ }];
15
+ var entranceList = [{
16
+ children: 'From 7:30 am to 9:00 pm',
17
+ variant: 'stamina'
18
+ }];
19
+ var activitiesList = [{
20
+ children: 'Yoga',
21
+ variant: 'deep'
22
+ }, {
23
+ children: 'Meditation',
24
+ variant: 'deep'
25
+ }, {
26
+ children: 'Pilates',
27
+ variant: 'deep'
28
+ }, {
29
+ children: 'Activity4',
30
+ variant: 'deep'
31
+ }, {
32
+ children: 'Activity5',
33
+ variant: 'deep'
34
+ }];
35
+ var tagsList = [{
36
+ children: 'Plan x Product availability',
37
+ variant: 'informative'
38
+ }, {
39
+ children: 'Restriction',
40
+ variant: 'attention'
41
+ }];
42
+ describe('<Result />', function () {
43
+ it('should match snapshot', function () {
44
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Result, {
45
+ rate: "5.0",
46
+ avatar: /*#__PURE__*/React.createElement(Avatar.Circle, null),
47
+ attendances: attendanceList,
48
+ title: "Jane Doe",
49
+ subTitle: "Activity",
50
+ divided: true
51
+ }, /*#__PURE__*/React.createElement(Result.Details, {
52
+ items: entranceList,
53
+ dots: true,
54
+ renderItem: Text.Small
55
+ }), /*#__PURE__*/React.createElement(Result.Details, {
56
+ items: activitiesList,
57
+ dots: true,
58
+ limit: 3,
59
+ renderItem: Text.Small,
60
+ limitLabel: "activities"
61
+ }), /*#__PURE__*/React.createElement(Result.Tags, {
62
+ items: tagsList
63
+ }), /*#__PURE__*/React.createElement(Result.Button, null, "See Details")))),
64
+ toJSON = _render.toJSON;
65
+
66
+ expect(toJSON()).toMatchSnapshot();
67
+ });
68
+ it('should match snapshot without limitLabel prop', function () {
69
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Result, {
70
+ rate: "5.0",
71
+ avatar: /*#__PURE__*/React.createElement(Avatar.Circle, null),
72
+ attendances: attendanceList,
73
+ title: "John Doe",
74
+ subTitle: "Activity",
75
+ divided: true
76
+ }, /*#__PURE__*/React.createElement(Result.Details, {
77
+ items: entranceList,
78
+ dots: true,
79
+ renderItem: Text.Small
80
+ }), /*#__PURE__*/React.createElement(Result.Details, {
81
+ items: activitiesList,
82
+ dots: true,
83
+ limit: 2,
84
+ renderItem: Text.Small
85
+ }), /*#__PURE__*/React.createElement(Result.Tags, {
86
+ items: tagsList
87
+ }), /*#__PURE__*/React.createElement(Result.Button, null, "See Details")))),
88
+ toJSON = _render2.toJSON;
89
+
90
+ expect(toJSON()).toMatchSnapshot();
91
+ });
92
+ it('should match snapshot without attendence', function () {
93
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Result, {
94
+ avatar: /*#__PURE__*/React.createElement(Avatar, null),
95
+ title: "Gym"
96
+ }, /*#__PURE__*/React.createElement(Result.Details, {
97
+ items: entranceList,
98
+ dots: true
99
+ }), /*#__PURE__*/React.createElement(Result.Details, {
100
+ items: activitiesList,
101
+ dots: true
102
+ })))),
103
+ toJSON = _render3.toJSON;
104
+
105
+ expect(toJSON()).toMatchSnapshot();
106
+ });
107
+ });
@@ -0,0 +1,13 @@
1
+ var _templateObject;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import styled from 'styled-components';
6
+ import Button from '../../Button';
7
+ var ResultButton = styled(Button.Link)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
8
+ var _ref$theme$yoga$spaci = _ref.theme.yoga.spacing,
9
+ xxsmall = _ref$theme$yoga$spaci.xxsmall,
10
+ xlarge = _ref$theme$yoga$spaci.xlarge;
11
+ return "\n margin-top: " + xxsmall + "px;\n margin-right: " + xlarge + "px;\n ";
12
+ });
13
+ export default ResultButton;
@@ -0,0 +1,41 @@
1
+ var _templateObject, _templateObject2;
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 _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
6
+
7
+ import React from 'react';
8
+ import { arrayOf, shape } from 'prop-types';
9
+ import styled from 'styled-components';
10
+ import Tag from '../../Tag';
11
+ var TagStyled = styled(Tag.Informative)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n"])));
12
+ var Wrapper = styled.ScrollView(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n ", "\n"])), function (_ref) {
13
+ var xxsmall = _ref.theme.yoga.spacing.xxsmall;
14
+ return "\n margin-top: " + xxsmall + "px;\n ";
15
+ });
16
+
17
+ var ResultTags = function ResultTags(_ref2) {
18
+ var items = _ref2.items;
19
+ return /*#__PURE__*/React.createElement(Wrapper, {
20
+ horizontal: true,
21
+ showsHorizontalScrollIndicator: false
22
+ }, items.map(function (_ref3, index) {
23
+ var props = _extends({}, _ref3);
24
+
25
+ return (
26
+ /*#__PURE__*/
27
+ // eslint-disable-next-line react/no-array-index-key
28
+ React.createElement(TagStyled, _extends({
29
+ small: true,
30
+ key: index
31
+ }, props))
32
+ );
33
+ }));
34
+ };
35
+
36
+ ResultTags.displayName = 'Result.Tags';
37
+ ResultTags.propTypes = {
38
+ /** Props to generate each Tag. See Tag for details */
39
+ items: arrayOf(shape({})).isRequired
40
+ };
41
+ export default ResultTags;
@@ -0,0 +1,18 @@
1
+ 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); }
2
+
3
+ import React from 'react';
4
+ import Box from '../../Box';
5
+ import Icon from '../../Icon';
6
+
7
+ var TinyTextIcon = function TinyTextIcon(props) {
8
+ return /*#__PURE__*/React.createElement(Box, {
9
+ height: "xsmall",
10
+ width: "xsmall"
11
+ }, /*#__PURE__*/React.createElement(Icon, _extends({}, props, {
12
+ size: "xsmall",
13
+ mt: "2px"
14
+ })));
15
+ };
16
+
17
+ TinyTextIcon.propTypes = Icon.propTypes;
18
+ export default TinyTextIcon;
@@ -0,0 +1,2 @@
1
+ import Result from './Result';
2
+ export default Result;
@@ -0,0 +1,2 @@
1
+ import Skeleton from './native';
2
+ export default Skeleton;
@@ -0,0 +1,94 @@
1
+ var _excluded = ["animation"];
2
+
3
+ var _templateObject;
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
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
8
+
9
+ import { checkPropTypes, oneOf } from 'prop-types';
10
+ import React, { useEffect, useState } from 'react';
11
+ import { Animated, Easing } from 'react-native';
12
+ import styled from 'styled-components';
13
+ import { margins, widths, heights } from '@gympass/yoga-system';
14
+ var StyledSkeleton = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n"])), margins, widths, heights, function (_ref) {
15
+ var type = _ref.type,
16
+ variant = _ref.variant,
17
+ _ref$theme$yoga = _ref.theme.yoga,
18
+ colors = _ref$theme$yoga.colors,
19
+ _ref$theme$yoga$compo = _ref$theme$yoga.components.skeleton,
20
+ borderRadius = _ref$theme$yoga$compo.border[type],
21
+ _ref$theme$yoga$compo2 = _ref$theme$yoga$compo.height[type];
22
+ _ref$theme$yoga$compo2 = _ref$theme$yoga$compo2 === void 0 ? {} : _ref$theme$yoga$compo2;
23
+ var height = _ref$theme$yoga$compo2[variant];
24
+ return "\n background-color: " + colors.elements.backgroundAndDisabled + ";\n " + (borderRadius ? "border-radius: " + borderRadius + "px;" : '') + "\n " + (height ? "height: " + height + "px;" : '') + "\n ";
25
+ });
26
+
27
+ function Skeleton(_ref2) {
28
+ var _ref2$animation = _ref2.animation,
29
+ animation = _ref2$animation === void 0 ? 'pulse' : _ref2$animation,
30
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded);
31
+
32
+ var _useState = useState(new Animated.Value(0.4)),
33
+ opacity = _useState[0];
34
+
35
+ useEffect(function () {
36
+ if (animation) {
37
+ Animated.loop(Animated.sequence([Animated.timing(opacity, {
38
+ toValue: 1,
39
+ delay: 500,
40
+ duration: 1000,
41
+ easing: Easing.inOut(Easing.linear),
42
+ useNativeDriver: true
43
+ }), Animated.timing(opacity, {
44
+ toValue: 0.4,
45
+ duration: 500,
46
+ easing: Easing.inOut(Easing.linear),
47
+ useNativeDriver: true
48
+ })])).start();
49
+ }
50
+ }, [opacity]);
51
+ return /*#__PURE__*/React.createElement(Animated.View, {
52
+ style: {
53
+ opacity: opacity
54
+ }
55
+ }, /*#__PURE__*/React.createElement(StyledSkeleton, props));
56
+ }
57
+
58
+ Skeleton.propTypes = {
59
+ /**
60
+ * Determines which type will be rendered. It can be
61
+ * 'circular', 'rectangular' or 'text'.
62
+ */
63
+ type: oneOf(['circular', 'rectangular', 'text']).isRequired,
64
+
65
+ /**
66
+ * style the skeleton following the theme (the variant prop can only be used assemble to type "text").
67
+ * It can be 'h1', 'h2', 'h3', 'h4', 'h5', 'body1', 'body2', 'overline', or 'exception'
68
+ */
69
+ variant: function variant(props, propName, componentName) {
70
+ var type = props.type;
71
+
72
+ if (type !== 'text' && !!props[propName]) {
73
+ return new Error("The " + propName + " prop must only be used when the type is equal to \"text\".");
74
+ }
75
+
76
+ if (type === 'text') {
77
+ var _checkPropTypes;
78
+
79
+ return checkPropTypes((_checkPropTypes = {}, _checkPropTypes[propName] = oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'body1', 'body2', 'overline', 'exception']).isRequired, _checkPropTypes), props, 'prop', componentName);
80
+ }
81
+
82
+ return null;
83
+ },
84
+
85
+ /**
86
+ * Determine if the animation will 'pulse' or false;
87
+ */
88
+ animation: oneOf(['pulse', false])
89
+ };
90
+ Skeleton.defaultProps = {
91
+ variant: undefined,
92
+ animation: 'pulse'
93
+ };
94
+ export default Skeleton;
@@ -0,0 +1,78 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { ThemeProvider, Skeleton } from '../..';
4
+ describe('<Skeleton />', function () {
5
+ it('should render the circular skeleton', function () {
6
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
7
+ type: "circular",
8
+ width: 64,
9
+ height: 64
10
+ }))),
11
+ toJSON = _render.toJSON;
12
+
13
+ expect(toJSON()).toMatchSnapshot();
14
+ });
15
+ it('should render the rectangular skeleton', function () {
16
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
17
+ type: "rectangular",
18
+ width: 400,
19
+ height: 200
20
+ }))),
21
+ toJSON = _render2.toJSON;
22
+
23
+ expect(toJSON()).toMatchSnapshot();
24
+ });
25
+ it('should render the text skeleton', function () {
26
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
27
+ type: "text",
28
+ variant: "body1",
29
+ width: 61,
30
+ height: 32
31
+ }))),
32
+ toJSON = _render3.toJSON;
33
+
34
+ expect(toJSON()).toMatchSnapshot();
35
+ });
36
+ it('should render all text skeleton variants correctly', function () {
37
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
38
+ type: "text",
39
+ variant: "h1",
40
+ width: "100"
41
+ }), /*#__PURE__*/React.createElement(Skeleton, {
42
+ type: "text",
43
+ variant: "h2",
44
+ width: "100"
45
+ }), /*#__PURE__*/React.createElement(Skeleton, {
46
+ type: "text",
47
+ variant: "h3",
48
+ width: "100"
49
+ }), /*#__PURE__*/React.createElement(Skeleton, {
50
+ type: "text",
51
+ variant: "h4",
52
+ width: "100"
53
+ }), /*#__PURE__*/React.createElement(Skeleton, {
54
+ type: "text",
55
+ variant: "h5",
56
+ width: "100"
57
+ }), /*#__PURE__*/React.createElement(Skeleton, {
58
+ type: "text",
59
+ variant: "body1",
60
+ width: "100"
61
+ }), /*#__PURE__*/React.createElement(Skeleton, {
62
+ type: "text",
63
+ variant: "body2",
64
+ width: "100"
65
+ }), /*#__PURE__*/React.createElement(Skeleton, {
66
+ type: "text",
67
+ variant: "overline",
68
+ width: "100"
69
+ }), /*#__PURE__*/React.createElement(Skeleton, {
70
+ type: "text",
71
+ variant: "exception",
72
+ width: "100"
73
+ }))),
74
+ toJSON = _render4.toJSON;
75
+
76
+ expect(toJSON()).toMatchSnapshot();
77
+ });
78
+ });
@@ -0,0 +1,2 @@
1
+ import Skeleton from './Skeleton';
2
+ export default Skeleton;
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider, Skeleton } from '../..';
4
+ describe('<Skeleton />', function () {
5
+ it('should render the circular skeleton', function () {
6
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
7
+ type: "circular",
8
+ width: 64,
9
+ height: 64
10
+ }))),
11
+ container = _render.container;
12
+
13
+ expect(container).toMatchSnapshot();
14
+ });
15
+ it('should render the rectangular skeleton', function () {
16
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
17
+ type: "rectangular",
18
+ width: 400,
19
+ height: 200
20
+ }))),
21
+ container = _render2.container;
22
+
23
+ expect(container).toMatchSnapshot();
24
+ });
25
+ it('should render the text skeleton', function () {
26
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
27
+ type: "text",
28
+ variant: "body1",
29
+ width: 61
30
+ }))),
31
+ container = _render3.container;
32
+
33
+ expect(container).toMatchSnapshot();
34
+ });
35
+ it('should render all text skeleton variants correctly', function () {
36
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Skeleton, {
37
+ type: "text",
38
+ variant: "h1",
39
+ width: "100"
40
+ }), /*#__PURE__*/React.createElement(Skeleton, {
41
+ type: "text",
42
+ variant: "h2",
43
+ width: "100"
44
+ }), /*#__PURE__*/React.createElement(Skeleton, {
45
+ type: "text",
46
+ variant: "h3",
47
+ width: "100"
48
+ }), /*#__PURE__*/React.createElement(Skeleton, {
49
+ type: "text",
50
+ variant: "h4",
51
+ width: "100"
52
+ }), /*#__PURE__*/React.createElement(Skeleton, {
53
+ type: "text",
54
+ variant: "h5",
55
+ width: "100"
56
+ }), /*#__PURE__*/React.createElement(Skeleton, {
57
+ type: "text",
58
+ variant: "body1",
59
+ width: "100"
60
+ }), /*#__PURE__*/React.createElement(Skeleton, {
61
+ type: "text",
62
+ variant: "body2",
63
+ width: "100"
64
+ }), /*#__PURE__*/React.createElement(Skeleton, {
65
+ type: "text",
66
+ variant: "overline",
67
+ width: "100"
68
+ }), /*#__PURE__*/React.createElement(Skeleton, {
69
+ type: "text",
70
+ variant: "exception",
71
+ width: "100"
72
+ }))),
73
+ container = _render4.container;
74
+
75
+ expect(container).toMatchSnapshot();
76
+ });
77
+ });
@@ -0,0 +1,2 @@
1
+ import Slider from './native/Slider';
2
+ export default Slider;
@@ -0,0 +1,19 @@
1
+ var _templateObject;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import styled from 'styled-components';
6
+ import { oneOf } from 'prop-types';
7
+ var LabelView = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n"])));
8
+ var LabelText = styled.Text(function (_ref) {
9
+ var placement = _ref.placement,
10
+ baseFont = _ref.theme.yoga.baseFont;
11
+ return "\n position: relative;\n bottom: 5;\n left: " + (placement === 'left' ? -8 : 0) + "px;\n\n font-family: " + baseFont.family + ";\n\n text-align: " + placement + ";\n ";
12
+ });
13
+ LabelText.propTypes = {
14
+ placement: oneOf(['left', 'right'])
15
+ };
16
+ LabelText.defaultProps = {
17
+ placement: 'left'
18
+ };
19
+ export { LabelView, LabelText };
@@ -0,0 +1,68 @@
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 { TouchableOpacity, View } from 'react-native';
7
+ import { bool, number, shape, string } from 'prop-types';
8
+ import styled from 'styled-components';
9
+ import { hexToRgb } from '@gympass/yoga-common';
10
+ import Tooltip from './Tooltip';
11
+ import Box from '../../Box';
12
+ var Circle = styled(Box).attrs(function (_ref) {
13
+ var slider = _ref.theme.yoga.components.slider;
14
+ return {
15
+ bgColor: slider.marker.backgroundColor,
16
+ border: 6,
17
+ borderColor: slider.marker.border.color,
18
+ borderRadius: slider.marker.border.radius,
19
+ elevation: slider.marker.shadow,
20
+ height: 24,
21
+ width: 24,
22
+ top: '2px',
23
+ position: 'relative',
24
+ as: TouchableOpacity
25
+ };
26
+ })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
27
+ var CirclePressed = styled(Circle)(function (_ref2) {
28
+ var pressed = _ref2.pressed,
29
+ slider = _ref2.theme.yoga.components.slider;
30
+ return "\n " + (pressed ? "\n background-color: " + hexToRgb(slider.marker.backgroundColor, 0.2) + ";\n border: none;\n width: 40px;\n height: 40px;\n position: absolute;\n elevation: 0;\n top: -6px;\n " : 'display: none; border: none;') + "\n ";
31
+ });
32
+ CirclePressed.propTypes = {
33
+ pressed: bool
34
+ };
35
+ CirclePressed.defaultProps = {
36
+ pressed: false
37
+ };
38
+
39
+ var Marker = function Marker(_ref3) {
40
+ var pressed = _ref3.pressed,
41
+ tooltip = _ref3.tooltip;
42
+ return /*#__PURE__*/React.createElement(React.Fragment, null, pressed && tooltip && /*#__PURE__*/React.createElement(Tooltip, {
43
+ description: tooltip.description,
44
+ title: tooltip.title,
45
+ ribbon: tooltip.ribbon
46
+ }), /*#__PURE__*/React.createElement(CirclePressed, {
47
+ as: View,
48
+ pressed: pressed
49
+ }), /*#__PURE__*/React.createElement(Circle, {
50
+ accessibilityRole: "adjustable"
51
+ }));
52
+ };
53
+
54
+ Marker.propTypes = {
55
+ pressed: bool,
56
+ tooltip: shape({
57
+ description: string,
58
+ title: string,
59
+ ribbon: string,
60
+ visible: bool,
61
+ step: number
62
+ })
63
+ };
64
+ Marker.defaultProps = {
65
+ pressed: false,
66
+ tooltip: undefined
67
+ };
68
+ export default Marker;