@gympass/yoga 7.66.0 → 7.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/cjs/Dialog/web/Dialog.js +12 -7
  2. package/cjs/Drawer/web/Drawer.js +5 -1
  3. package/cjs/Feedback/web/Feedback.js +16 -10
  4. package/esm/Accordion/web/Accordion.test.js +19 -0
  5. package/esm/ActionRequirement/index.native.js +2 -0
  6. package/esm/ActionRequirement/native/ActionRequirement.js +48 -0
  7. package/esm/ActionRequirement/native/ActionRequirement.test.js +45 -0
  8. package/esm/ActionRequirement/native/ActionRequirementStyles.js +25 -0
  9. package/esm/ActionRequirement/native/index.js +6 -0
  10. package/esm/ActionRequirement/web/ActionRequirement.test.js +36 -0
  11. package/esm/AutoComplete/web/AutoComplete.test.js +139 -0
  12. package/esm/Avatar/index.native.js +4 -0
  13. package/esm/Avatar/native/Avatar.js +96 -0
  14. package/esm/Avatar/native/Avatar.test.js +46 -0
  15. package/esm/Avatar/native/AvatarCircle.js +24 -0
  16. package/esm/Avatar/web/Avatar.test.js +63 -0
  17. package/esm/Banner/index.native.js +2 -0
  18. package/esm/Banner/native/Banner.js +128 -0
  19. package/esm/Banner/native/Banner.test.js +103 -0
  20. package/esm/Banner/native/index.js +2 -0
  21. package/esm/Banner/web/Banner.test.js +109 -0
  22. package/esm/BottomSheet/web/BottomSheet.test.js +48 -0
  23. package/esm/Box/index.native.js +2 -0
  24. package/esm/Box/native/Box.js +4 -0
  25. package/esm/Box/native/Box.test.js +16 -0
  26. package/esm/Box/native/index.js +2 -0
  27. package/esm/Box/web/Box.test.js +16 -0
  28. package/esm/Button/index.native.js +8 -0
  29. package/esm/Button/native/Button.js +110 -0
  30. package/esm/Button/native/Button.test.js +475 -0
  31. package/esm/Button/native/Icon.js +82 -0
  32. package/esm/Button/native/Link.js +35 -0
  33. package/esm/Button/native/Text.js +74 -0
  34. package/esm/Button/native/withTouchable.js +63 -0
  35. package/esm/Button/web/Button.test.js +772 -0
  36. package/esm/Card/index.native.js +2 -0
  37. package/esm/Card/native/Card/Actions.js +12 -0
  38. package/esm/Card/native/Card/Card.js +92 -0
  39. package/esm/Card/native/Card/Card.test.js +15 -0
  40. package/esm/Card/native/Card/Content.js +8 -0
  41. package/esm/Card/native/Card/Header.js +8 -0
  42. package/esm/Card/native/Card/index.js +8 -0
  43. package/esm/Card/native/EventCard/EventCard.js +169 -0
  44. package/esm/Card/native/EventCard/EventCard.test.js +65 -0
  45. package/esm/Card/native/EventCard/index.js +2 -0
  46. package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
  47. package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
  48. package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
  49. package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
  50. package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
  51. package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
  52. package/esm/Card/native/GymCard/index.js +5 -0
  53. package/esm/Card/native/PlanCard/Actions.js +22 -0
  54. package/esm/Card/native/PlanCard/Content.js +75 -0
  55. package/esm/Card/native/PlanCard/List.js +73 -0
  56. package/esm/Card/native/PlanCard/PlanCard.js +51 -0
  57. package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
  58. package/esm/Card/native/PlanCard/Subtitle.js +15 -0
  59. package/esm/Card/native/PlanCard/Tag.js +34 -0
  60. package/esm/Card/native/PlanCard/index.js +15 -0
  61. package/esm/Card/native/index.js +5 -0
  62. package/esm/Card/web/Card/Card.test.js +14 -0
  63. package/esm/Card/web/EventCard/EventCard.test.js +27 -0
  64. package/esm/Card/web/PlanCard/PlanCard.test.js +94 -0
  65. package/esm/Checkbox/index.native.js +3 -0
  66. package/esm/Checkbox/native/Checkbox.js +179 -0
  67. package/esm/Checkbox/native/Checkbox.test.js +115 -0
  68. package/esm/Checkbox/native/Switch.js +115 -0
  69. package/esm/Checkbox/native/Switch.test.js +54 -0
  70. package/esm/Checkbox/native/index.js +3 -0
  71. package/esm/Checkbox/web/Checkbox.test.js +153 -0
  72. package/esm/Checkbox/web/Switch.test.js +56 -0
  73. package/esm/Chips/index.native.js +2 -0
  74. package/esm/Chips/native/Chips.js +104 -0
  75. package/esm/Chips/native/Chips.test.js +143 -0
  76. package/esm/Chips/native/Counter.js +20 -0
  77. package/esm/Chips/native/index.js +2 -0
  78. package/esm/Chips/web/Chips.test.js +128 -0
  79. package/esm/Datepicker/web/Datepicker.test.js +247 -0
  80. package/esm/Dialog/web/Dialog.js +13 -8
  81. package/esm/Dialog/web/Dialog.test.js +62 -0
  82. package/esm/Divider/index.native.js +2 -0
  83. package/esm/Divider/native/Divider.js +29 -0
  84. package/esm/Divider/native/Divider.test.js +29 -0
  85. package/esm/Divider/native/index.js +2 -0
  86. package/esm/Divider/web/Divider.test.js +29 -0
  87. package/esm/Drawer/web/Drawer.js +6 -2
  88. package/esm/Drawer/web/Drawer.test.js +33 -0
  89. package/esm/Dropdown/index.native.js +2 -0
  90. package/esm/Dropdown/native/Backdrop.js +93 -0
  91. package/esm/Dropdown/native/Backdrop.test.js +26 -0
  92. package/esm/Dropdown/native/Dropdown.js +142 -0
  93. package/esm/Dropdown/native/Dropdown.test.js +78 -0
  94. package/esm/Dropdown/native/Options.android.js +66 -0
  95. package/esm/Dropdown/native/Options.ios.js +71 -0
  96. package/esm/Dropdown/native/index.js +2 -0
  97. package/esm/Dropdown/web/Dropdown.test.js +93 -0
  98. package/esm/Feedback/web/Feedback.js +17 -11
  99. package/esm/Feedback/web/Feedback.test.js +94 -0
  100. package/esm/Grid/web/Col.test.js +48 -0
  101. package/esm/Grid/web/Container.test.js +14 -0
  102. package/esm/Grid/web/Hide.test.js +31 -0
  103. package/esm/Grid/web/Row.test.js +14 -0
  104. package/esm/Header/web/Header.test.js +38 -0
  105. package/esm/Heading/web/Heading.test.js +58 -0
  106. package/esm/Icon/index.native.js +2 -0
  107. package/esm/Icon/native/Icon.test.js +47 -0
  108. package/esm/Icon/native/index.js +2 -0
  109. package/esm/Icon/web/Icon.test.js +47 -0
  110. package/esm/Input/index.native.js +6 -0
  111. package/esm/Input/native/Email.js +15 -0
  112. package/esm/Input/native/Email.test.js +13 -0
  113. package/esm/Input/native/Helper.js +62 -0
  114. package/esm/Input/native/Input.js +234 -0
  115. package/esm/Input/native/Input.test.js +181 -0
  116. package/esm/Input/native/Number.js +12 -0
  117. package/esm/Input/native/Number.test.js +13 -0
  118. package/esm/Input/native/Password.js +112 -0
  119. package/esm/Input/native/Password.test.js +125 -0
  120. package/esm/Input/native/Tel.js +14 -0
  121. package/esm/Input/native/Tel.test.js +13 -0
  122. package/esm/Input/native/index.js +6 -0
  123. package/esm/Input/web/Email.test.js +13 -0
  124. package/esm/Input/web/Input.test.js +145 -0
  125. package/esm/Input/web/Number.test.js +13 -0
  126. package/esm/Input/web/Password.test.js +90 -0
  127. package/esm/Input/web/Phone.test.js +95 -0
  128. package/esm/Input/web/Tel.test.js +13 -0
  129. package/esm/List/index.native.js +3 -0
  130. package/esm/List/native/List.js +22 -0
  131. package/esm/List/native/List.test.js +106 -0
  132. package/esm/List/native/ListItem.js +51 -0
  133. package/esm/List/native/index.js +3 -0
  134. package/esm/List/web/List.test.js +62 -0
  135. package/esm/Menu/web/Menu.test.js +115 -0
  136. package/esm/Popover/web/Popover.test.js +19 -0
  137. package/esm/Progress/index.native.js +2 -0
  138. package/esm/Progress/native/Progress.js +103 -0
  139. package/esm/Progress/native/Progress.test.js +222 -0
  140. package/esm/Progress/native/index.js +2 -0
  141. package/esm/Progress/web/Progress.test.js +222 -0
  142. package/esm/RadioGroup/index.native.js +4 -0
  143. package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
  144. package/esm/RadioGroup/native/Button/RadioButton.test.js +96 -0
  145. package/esm/RadioGroup/native/Radio/Radio.js +88 -0
  146. package/esm/RadioGroup/native/Radio/Radio.test.js +112 -0
  147. package/esm/RadioGroup/native/RadioGroup.js +66 -0
  148. package/esm/RadioGroup/native/RadioGroup.test.js +50 -0
  149. package/esm/RadioGroup/native/index.js +4 -0
  150. package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
  151. package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
  152. package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
  153. package/esm/Rating/index.native.js +2 -0
  154. package/esm/Rating/native/Rating.js +186 -0
  155. package/esm/Rating/native/Rating.test.js +121 -0
  156. package/esm/Rating/native/index.js +2 -0
  157. package/esm/Rating/web/Rating.test.js +184 -0
  158. package/esm/Result/index.native.js +8 -0
  159. package/esm/Result/native/Attendances.js +55 -0
  160. package/esm/Result/native/Details.js +97 -0
  161. package/esm/Result/native/Rate.js +35 -0
  162. package/esm/Result/native/Result.js +86 -0
  163. package/esm/Result/native/Result.test.js +107 -0
  164. package/esm/Result/native/ResultButton.js +13 -0
  165. package/esm/Result/native/Tags.js +41 -0
  166. package/esm/Result/native/TinyTextIcon.js +18 -0
  167. package/esm/Result/native/index.js +2 -0
  168. package/esm/Skeleton/index.native.js +2 -0
  169. package/esm/Skeleton/native/Skeleton.js +94 -0
  170. package/esm/Skeleton/native/Skeleton.test.js +78 -0
  171. package/esm/Skeleton/native/index.js +2 -0
  172. package/esm/Skeleton/web/Skeleton.test.js +77 -0
  173. package/esm/Slider/index.native.js +2 -0
  174. package/esm/Slider/native/Label.js +19 -0
  175. package/esm/Slider/native/Marker.js +68 -0
  176. package/esm/Slider/native/Slider.js +156 -0
  177. package/esm/Slider/native/Slider.test.js +122 -0
  178. package/esm/Slider/native/Step.js +14 -0
  179. package/esm/Slider/native/Tooltip.js +90 -0
  180. package/esm/Slider/web/Slider.test.js +86 -0
  181. package/esm/Snackbar/index.native.js +2 -0
  182. package/esm/Snackbar/native/Snackbar.js +199 -0
  183. package/esm/Snackbar/native/Snackbar.test.js +100 -0
  184. package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
  185. package/esm/Snackbar/native/index.js +2 -0
  186. package/esm/Snackbar/web/Snackbar.test.js +118 -0
  187. package/esm/Stepper/index.native.js +3 -0
  188. package/esm/Stepper/native/Dots.js +45 -0
  189. package/esm/Stepper/native/Line.js +35 -0
  190. package/esm/Stepper/native/Step.js +19 -0
  191. package/esm/Stepper/native/Stepper.js +52 -0
  192. package/esm/Stepper/native/Stepper.test.js +70 -0
  193. package/esm/Stepper/native/index.js +3 -0
  194. package/esm/Stepper/web/Stepper.test.js +67 -0
  195. package/esm/Tag/index.native.js +4 -0
  196. package/esm/Tag/native/Informative.js +72 -0
  197. package/esm/Tag/native/Tag.js +75 -0
  198. package/esm/Tag/native/Tag.test.js +94 -0
  199. package/esm/Tag/native/index.js +2 -0
  200. package/esm/Tag/web/Tag.test.js +79 -0
  201. package/esm/Text/index.native.js +16 -0
  202. package/esm/Text/native/Text.js +69 -0
  203. package/esm/Text/native/Text.test.js +149 -0
  204. package/esm/Text/native/index.js +2 -0
  205. package/esm/Text/web/Text.test.js +149 -0
  206. package/esm/TextArea/index.native.js +2 -0
  207. package/esm/TextArea/native/TextArea.js +59 -0
  208. package/esm/TextArea/native/TextArea.test.js +11 -0
  209. package/esm/TextArea/native/index.js +2 -0
  210. package/esm/TextArea/web/TextArea.test.js +11 -0
  211. package/esm/Theme/Provider/index.native.js +2 -0
  212. package/esm/Theme/Provider/native/index.js +2 -0
  213. package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
  214. package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
  215. package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
  216. package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
  217. package/esm/Theme/index.native.js +5 -0
  218. package/esm/index.native.js +26 -0
  219. package/esm/shared/index.native.js +2 -0
  220. package/package.json +2 -2
@@ -0,0 +1,75 @@
1
+ var _excluded = ["title", "subtitle", "description", "currency", "suffix", "price", "period", "children"];
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
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 React from 'react';
10
+ import styled, { css } from 'styled-components';
11
+ import { string, node } from 'prop-types';
12
+ import Content from '../Card/Content';
13
+ import Text from '../../../Text';
14
+ import theme from '../../../Theme/helpers/themeReader';
15
+ import Subtitle from './Subtitle';
16
+ import Divider from '../../../Divider';
17
+ var Title = styled(Text.Medium)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (props) {
18
+ var _theme = theme(props),
19
+ _theme$components = _theme.components,
20
+ cardnative = _theme$components.cardnative,
21
+ card = _theme$components.card;
22
+
23
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: ", ";\n margin-bottom: ", "px;\n line-height: ", "px;\n "])), card.plan.title.color, cardnative.plan.title.margin.bottom, cardnative.plan.title.lineHeight);
24
+ });
25
+ var Description = styled(Text.Small)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n height: 40px;\n\n color: ", ";\n"])), theme.components.card.plan.description.color);
26
+ var Price = styled.View(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n flex-direction: row;\n\n ", "\n"])), function (props) {
27
+ var _theme2 = theme(props),
28
+ plan = _theme2.components.cardnative.plan;
29
+
30
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-bottom: ", "px;\n "])), plan.price.margin.bottom);
31
+ });
32
+ var EnhancePrice = styled.View(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n align-self: center;\n"])));
33
+
34
+ var PlanCardContent = function PlanCardContent(_ref) {
35
+ var title = _ref.title,
36
+ subtitle = _ref.subtitle,
37
+ description = _ref.description,
38
+ currency = _ref.currency,
39
+ suffix = _ref.suffix,
40
+ price = _ref.price,
41
+ period = _ref.period,
42
+ children = _ref.children,
43
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
44
+
45
+ return /*#__PURE__*/React.createElement(Content, rest, subtitle && /*#__PURE__*/React.createElement(Subtitle, null, subtitle), title && /*#__PURE__*/React.createElement(Title, null, title), description && /*#__PURE__*/React.createElement(Description, {
46
+ numberOfLines: 2
47
+ }, description), /*#__PURE__*/React.createElement(Price, null, currency && /*#__PURE__*/React.createElement(Text.H4, null, currency), price && /*#__PURE__*/React.createElement(Text.H4, null, price), suffix && /*#__PURE__*/React.createElement(Text.H4, null, suffix), period && /*#__PURE__*/React.createElement(EnhancePrice, null, /*#__PURE__*/React.createElement(Text.Medium, null, "" + period))), /*#__PURE__*/React.createElement(Divider, null), children);
48
+ };
49
+
50
+ PlanCardContent.propTypes = {
51
+ /** plan name */
52
+ title: string.isRequired,
53
+
54
+ /** currency of the current country */
55
+ currency: string,
56
+
57
+ /** suffix currency of the current country */
58
+ suffix: string,
59
+ price: string.isRequired,
60
+
61
+ /** period that this price will be charged */
62
+ period: string.isRequired,
63
+ description: string,
64
+ subtitle: string,
65
+ children: node
66
+ };
67
+ PlanCardContent.defaultProps = {
68
+ children: null,
69
+ description: null,
70
+ subtitle: null,
71
+ currency: null,
72
+ suffix: null
73
+ };
74
+ PlanCardContent.displayName = 'PlanCard.Content';
75
+ export default PlanCardContent;
@@ -0,0 +1,73 @@
1
+ var _excluded = ["children"];
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
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 React, { isValidElement } from 'react';
10
+ import styled, { withTheme } from 'styled-components';
11
+ import { TouchableWithoutFeedback } from 'react-native';
12
+ import { string, node, shape, oneOfType, func } from 'prop-types';
13
+ import get from 'lodash.get';
14
+ import Text from '../../../Text';
15
+ import Icon from '../../../Icon';
16
+ import theme from '../../../Theme/helpers/themeReader';
17
+ var _theme$components = theme.components,
18
+ card = _theme$components.card,
19
+ cardnative = _theme$components.cardnative;
20
+ var List = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n margin-top: ", "px;\n"])), cardnative.plan.list.margin.top);
21
+ var Item = styled.View(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n margin-bottom: ", "px;\n"])), card.plan.list.item.margin.bottom);
22
+ var Wrapper = styled.View(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n flex-direction: row;\n align-items: center;\n"])));
23
+ var IconWrapper = styled.View(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n margin-right: ", "px;\n"])), cardnative.plan.list.item.icon.margin.right);
24
+ var Button = styled.View(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-top: ", "px;\n"])), card.plan.list.button.margin.top);
25
+ var ButtonText = styled(Text.Medium)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n font-size: ", "px;\n color: ", ";\n"])), card.plan.list.button.font.size, card.plan.list.button.font.color);
26
+ var ItemText = styled(Text.Small)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n color: ", ";\n"])), function (_ref) {
27
+ var color = _ref.color;
28
+ return color || card.plan.list.item.font.color;
29
+ });
30
+ var ListItem = withTheme(function (_ref2) {
31
+ var text = _ref2.text,
32
+ variant = _ref2.variant,
33
+ yogaTheme = _ref2.theme,
34
+ icon = _ref2.icon,
35
+ _ref2$buttonProps = _ref2.buttonProps,
36
+ children = _ref2$buttonProps.children,
37
+ buttonProps = _objectWithoutPropertiesLoose(_ref2$buttonProps, _excluded);
38
+
39
+ var itemColor = get(yogaTheme.yoga.colors, variant);
40
+ if (variant && !itemColor) // eslint-disable-next-line no-console
41
+ console.warn("Invalid token " + variant + ", you can use " + JSON.stringify(Object.keys(yogaTheme.yoga.colors)));
42
+ return /*#__PURE__*/React.createElement(Item, null, /*#__PURE__*/React.createElement(Wrapper, null, icon && /*#__PURE__*/React.createElement(IconWrapper, null, /*#__PURE__*/isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(Icon, {
43
+ as: icon,
44
+ size: "small",
45
+ fill: variant || 'text.primary'
46
+ })), /*#__PURE__*/React.createElement(ItemText, {
47
+ color: itemColor
48
+ }, text)), Boolean(Object.keys(buttonProps).length) && /*#__PURE__*/React.createElement(TouchableWithoutFeedback, buttonProps, /*#__PURE__*/React.createElement(Button, null, /*#__PURE__*/React.createElement(ButtonText, null, children))));
49
+ });
50
+ List.displayName = 'PlanCard.List';
51
+ ListItem.displayName = 'PlanCard.ListItem';
52
+ Button.displayName = 'PlanCard.ListButton';
53
+ ListItem.propTypes = {
54
+ text: string.isRequired,
55
+
56
+ /** an icon to be displayed on the begin of the item */
57
+ icon: oneOfType([node, func]),
58
+
59
+ /** if provided displays a button below the item text. It accepts all button
60
+ * element props */
61
+ buttonProps: shape({}),
62
+
63
+ /** if provided a color variant, like "vibin", "hope", "energy" the icon and
64
+ * the item text will be rendered on this color.
65
+ */
66
+ variant: string
67
+ };
68
+ ListItem.defaultProps = {
69
+ icon: undefined,
70
+ buttonProps: {},
71
+ variant: undefined
72
+ };
73
+ export { List, ListItem };
@@ -0,0 +1,51 @@
1
+ var _excluded = ["children", "variant"];
2
+
3
+ var _templateObject, _templateObject2, _templateObject3;
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 React from 'react';
10
+ import styled, { css } from 'styled-components';
11
+ import { node, oneOf } from 'prop-types';
12
+ import Box from '../../../Box';
13
+ export var PLAN_LINE_HEIGHT = 8;
14
+ var Plan = styled(Box)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n max-width: 312px;\n width: 100%;\n position: relative;\n overflow: hidden;\n\n ", "\n"])), function (props) {
15
+ var theme = props.theme.yoga;
16
+ var plan = theme.components.card.plan;
17
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n padding: ", "px ", "px\n ", "px ", "px;\n border: ", "px solid ", ";\n border-radius: ", "px;\n\n background-color: ", ";\n "])), plan.padding.top, plan.padding.right, plan.padding.bottom, plan.padding.left, theme.borders.small, theme.colors.light, plan.radius, theme.colors.white);
18
+ });
19
+ var Border = styled.View(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n\n height: 8px;\n background-color: ", ";\n"])), function (_ref) {
20
+ var variant = _ref.variant,
21
+ _ref$theme$yoga$color = _ref.theme.yoga.colors,
22
+ deepPurple = _ref$theme$yoga$color.deepPurple,
23
+ _ref$theme$yoga$color2 = _ref$theme$yoga$color[variant],
24
+ color = _ref$theme$yoga$color2 === void 0 ? deepPurple : _ref$theme$yoga$color2;
25
+ return color;
26
+ });
27
+
28
+ var PlanCard = function PlanCard(_ref2) {
29
+ var children = _ref2.children,
30
+ variant = _ref2.variant,
31
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
32
+
33
+ return /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Plan, rest, /*#__PURE__*/React.createElement(Border, {
34
+ variant: variant
35
+ }), children));
36
+ };
37
+
38
+ PlanCard.propTypes = {
39
+ children: node,
40
+
41
+ /** style the card border top color following the theme (primary, secondary,
42
+ * vibin, hope, energy, relax, peace, verve, uplift, deepPurple, deep,
43
+ * stamina, dark, medium, light, clear, white) */
44
+ variant: oneOf(['primary', 'secondary', 'vibin', 'hope', 'energy', 'relax', 'peace', 'verve', 'uplift', 'deepPurple', 'stamina', 'dark', 'medium', 'deep', 'light', 'clear', 'white'])
45
+ };
46
+ PlanCard.defaultProps = {
47
+ children: undefined,
48
+ variant: 'deepPurple'
49
+ };
50
+ PlanCard.displayName = 'PlanCard';
51
+ export default PlanCard;
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import { render, fireEvent } from '@testing-library/react-native';
3
+ import { Star, MapPin } from '@gympass/yoga-icons';
4
+ import { ThemeProvider, Button, Icon } from '../../..';
5
+ import PlanCard from '.';
6
+ describe('<PlanCard />', function () {
7
+ var buttonOnPressMock = jest.fn();
8
+
9
+ var renderPlan = function renderPlan() {
10
+ return render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, null, /*#__PURE__*/React.createElement(PlanCard.Tag, {
11
+ variant: "informative"
12
+ }, "Recommended Plan"), /*#__PURE__*/React.createElement(PlanCard.Content, {
13
+ subtitle: "plan",
14
+ title: "Basic",
15
+ currency: "$",
16
+ price: "99.90",
17
+ period: "/month"
18
+ }, /*#__PURE__*/React.createElement(PlanCard.Subtitle, null, "Get access to"), /*#__PURE__*/React.createElement(PlanCard.List, null, /*#__PURE__*/React.createElement(PlanCard.ListItem, {
19
+ icon: /*#__PURE__*/React.createElement(Icon, {
20
+ as: MapPin,
21
+ height: "small",
22
+ width: "small",
23
+ stroke: "medium"
24
+ }),
25
+ text: "gyms and studios"
26
+ }), /*#__PURE__*/React.createElement(PlanCard.ListItem, {
27
+ icon: Star,
28
+ text: "list item",
29
+ buttonProps: {
30
+ children: 'button',
31
+ onPress: buttonOnPressMock
32
+ }
33
+ }))), /*#__PURE__*/React.createElement(PlanCard.Actions, null, /*#__PURE__*/React.createElement(Button, {
34
+ full: true
35
+ }, "Select this plan")))));
36
+ };
37
+
38
+ describe('Events', function () {
39
+ it('should call onPress when ListItem has a button', function () {
40
+ var _renderPlan = renderPlan(),
41
+ getByText = _renderPlan.getByText;
42
+
43
+ fireEvent.press(getByText('button'));
44
+ expect(buttonOnPressMock).toHaveBeenCalled();
45
+ });
46
+ });
47
+ describe('Snapshots', function () {
48
+ it('should match snapshot with default PlanCard', function () {
49
+ var _renderPlan2 = renderPlan(),
50
+ toJSON = _renderPlan2.toJSON;
51
+
52
+ expect(toJSON()).toMatchSnapshot();
53
+ });
54
+ it('should match snapshot with variant', function () {
55
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, {
56
+ variant: "hope"
57
+ }, /*#__PURE__*/React.createElement(PlanCard.Content, {
58
+ subtitle: "plan",
59
+ title: "Basic",
60
+ currency: "$",
61
+ price: "99.90",
62
+ period: "/month"
63
+ })))),
64
+ toJSON = _render.toJSON;
65
+
66
+ expect(toJSON()).toMatchSnapshot();
67
+ });
68
+ it('should match snapshot with suffix', function () {
69
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, {
70
+ variant: "hope"
71
+ }, /*#__PURE__*/React.createElement(PlanCard.Content, {
72
+ subtitle: "plan",
73
+ title: "Basic",
74
+ currency: "$",
75
+ suffix: "MXN",
76
+ price: "99.90",
77
+ period: "/month"
78
+ })))),
79
+ toJSON = _render2.toJSON;
80
+
81
+ expect(toJSON()).toMatchSnapshot();
82
+ });
83
+ });
84
+ });
@@ -0,0 +1,15 @@
1
+ var _templateObject, _templateObject2;
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 theme from '../../../Theme/helpers/themeReader';
7
+ import Text from '../../../Text';
8
+ var Subtitle = styled(Text.Medium)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n text-transform: uppercase;\n\n ", "\n"])), function (props) {
9
+ var _theme = theme(props),
10
+ plan = _theme.components.card.plan;
11
+
12
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n margin-bottom: ", "px;\n\n color: ", ";\n font-size: ", "px;\n "])), plan.subtitle.margin.bottom, plan.subtitle.font.color, plan.subtitle.font.size);
13
+ });
14
+ Subtitle.displayName = 'PlanCard.Subtitle';
15
+ export default Subtitle;
@@ -0,0 +1,34 @@
1
+ var _excluded = ["children"];
2
+
3
+ var _templateObject, _templateObject2;
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 React from 'react';
10
+ import styled, { css } from 'styled-components';
11
+ import { node } from 'prop-types';
12
+ import { PLAN_LINE_HEIGHT } from './PlanCard';
13
+ import Tag from '../../../Tag';
14
+ var StyledTag = styled(Tag.Informative).attrs(function () {
15
+ return {
16
+ small: true
17
+ };
18
+ })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n position: absolute;\n align-items: center;\n justify-content: center;\n\n ", "\n"])), function (props) {
19
+ var plan = props.theme.yoga.components.card.plan;
20
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n top: ", "px;\n left: ", "px;\n "])), plan.tag.position.top + PLAN_LINE_HEIGHT, plan.tag.position.left);
21
+ });
22
+
23
+ var PlanCardTag = function PlanCardTag(_ref) {
24
+ var children = _ref.children,
25
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
26
+
27
+ return /*#__PURE__*/React.createElement(StyledTag, rest, children);
28
+ };
29
+
30
+ PlanCardTag.displayName = 'PlanCard.Tag';
31
+ PlanCardTag.propTypes = {
32
+ children: node.isRequired
33
+ };
34
+ export default PlanCardTag;
@@ -0,0 +1,15 @@
1
+ import { Actions, Button, ButtonText } from './Actions';
2
+ import Content from './Content';
3
+ import PlanCard from './PlanCard';
4
+ import Subtitle from './Subtitle';
5
+ import Tag from './Tag';
6
+ import { List, ListItem } from './List';
7
+ PlanCard.Actions = Actions;
8
+ PlanCard.Button = Button;
9
+ PlanCard.ButtonText = ButtonText;
10
+ PlanCard.Content = Content;
11
+ PlanCard.List = List;
12
+ PlanCard.ListItem = ListItem;
13
+ PlanCard.Subtitle = Subtitle;
14
+ PlanCard.Tag = Tag;
15
+ export default PlanCard;
@@ -0,0 +1,5 @@
1
+ import Card from './Card';
2
+ import PlanCard from './PlanCard';
3
+ import EventCard from './EventCard';
4
+ import GymCard from './GymCard';
5
+ export { Card, PlanCard, EventCard, GymCard };
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider, Button } from '../../..';
4
+ import Card from '.';
5
+ describe('<Card />', function () {
6
+ describe('Snapshots', function () {
7
+ it('should match snapshot with default Card', function () {
8
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Card, null, /*#__PURE__*/React.createElement(Card.Header, null, "Hello World"), /*#__PURE__*/React.createElement(Card.Content, null, "It's fine here"), /*#__PURE__*/React.createElement(Card.Actions, null, /*#__PURE__*/React.createElement(Button, null, "Action's children must be Button"))))),
9
+ container = _render.container;
10
+
11
+ expect(container).toMatchSnapshot();
12
+ });
13
+ });
14
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider } from '../../..';
4
+ import EventCard from '.';
5
+ var event = {
6
+ name: 'Yoga Class',
7
+ place: 'Gympass',
8
+ time: '19 am'
9
+ };
10
+ var date = {
11
+ day: '19',
12
+ weekday: 'thu',
13
+ month: 'dec'
14
+ };
15
+ describe('<Card />', function () {
16
+ describe('Snapshots', function () {
17
+ it('should match snapshot with default EventCard', function () {
18
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(EventCard, {
19
+ event: event,
20
+ date: date
21
+ }))),
22
+ container = _render.container;
23
+
24
+ expect(container).toMatchSnapshot();
25
+ });
26
+ });
27
+ });
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+ import { render, fireEvent } from '@testing-library/react';
3
+ import { Star, MapPin } from '@gympass/yoga-icons';
4
+ import { ThemeProvider, Button, Icon } from '../../..';
5
+ import PlanCard from '.';
6
+ describe('<PlanCard />', function () {
7
+ var buttonOnClickMock = jest.fn();
8
+
9
+ var renderPlan = function renderPlan() {
10
+ return render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, null, /*#__PURE__*/React.createElement(PlanCard.Tag, {
11
+ variant: "informative"
12
+ }, "Recommended Plan"), /*#__PURE__*/React.createElement(PlanCard.Content, {
13
+ subtitle: "plan",
14
+ title: "Basic",
15
+ currency: "$",
16
+ price: "99.90",
17
+ period: "/month"
18
+ }, /*#__PURE__*/React.createElement(PlanCard.Subtitle, null, "Get access to"), /*#__PURE__*/React.createElement(PlanCard.List, null, /*#__PURE__*/React.createElement(PlanCard.ListItem, {
19
+ icon: /*#__PURE__*/React.createElement(Icon, {
20
+ as: MapPin,
21
+ height: "small",
22
+ width: "small",
23
+ stroke: "medium"
24
+ }),
25
+ text: "gyms and studios"
26
+ }), /*#__PURE__*/React.createElement(PlanCard.ListItem, {
27
+ icon: Star,
28
+ text: "list item",
29
+ buttonProps: {
30
+ children: 'button',
31
+ as: 'a',
32
+ onClick: buttonOnClickMock
33
+ }
34
+ }))), /*#__PURE__*/React.createElement(PlanCard.Actions, null, /*#__PURE__*/React.createElement(Button, {
35
+ full: true
36
+ }, "Select this plan")))));
37
+ };
38
+
39
+ describe('Events', function () {
40
+ it('should call onClick when ListItem has a button', function () {
41
+ var _renderPlan = renderPlan(),
42
+ getByText = _renderPlan.getByText;
43
+
44
+ fireEvent.click(getByText('button'));
45
+ expect(buttonOnClickMock).toHaveBeenCalled();
46
+ });
47
+ });
48
+ describe('Snapshots', function () {
49
+ it('should match snapshot with default PlanCard', function () {
50
+ var _renderPlan2 = renderPlan(),
51
+ planCard = _renderPlan2.container;
52
+
53
+ expect(planCard).toMatchSnapshot();
54
+ });
55
+ it('should match snapshot with variant', function () {
56
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, {
57
+ variant: "hope"
58
+ }, /*#__PURE__*/React.createElement(PlanCard.Content, {
59
+ subtitle: "plan",
60
+ title: "Basic",
61
+ currency: "$",
62
+ price: "99.90",
63
+ period: "/month"
64
+ })))),
65
+ container = _render.container;
66
+
67
+ expect(container).toMatchSnapshot();
68
+ });
69
+ it('should match snapshot with suffix', function () {
70
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, {
71
+ variant: "hope"
72
+ }, /*#__PURE__*/React.createElement(PlanCard.Content, {
73
+ subtitle: "plan",
74
+ title: "Basic",
75
+ currency: "$",
76
+ suffix: "MXN",
77
+ price: "99.90",
78
+ period: "/month"
79
+ })))),
80
+ container = _render2.container;
81
+
82
+ expect(container).toMatchSnapshot();
83
+ });
84
+ it('should render the extra content', function () {
85
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(PlanCard, null, /*#__PURE__*/React.createElement(PlanCard.Content, {
86
+ title: "Basic",
87
+ extra: /*#__PURE__*/React.createElement("p", null, "Hello")
88
+ })))),
89
+ container = _render3.container;
90
+
91
+ expect(container).toMatchSnapshot();
92
+ });
93
+ });
94
+ });
@@ -0,0 +1,3 @@
1
+ import { Checkbox, Switch } from './native';
2
+ Checkbox.Switch = Switch;
3
+ export default Checkbox;