@gympass/yoga 7.37.0 → 7.38.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 (298) hide show
  1. package/cjs/AutoComplete/web/AutoComplete.test.js +152 -0
  2. package/cjs/Avatar/native/Avatar.test.js +1 -0
  3. package/cjs/Avatar/web/Avatar.test.js +72 -0
  4. package/cjs/Banner/native/Banner.test.js +1 -0
  5. package/cjs/Banner/web/Banner.test.js +121 -0
  6. package/cjs/BottomSheet/web/BottomSheet.test.js +46 -0
  7. package/cjs/Box/native/Box.test.js +1 -0
  8. package/cjs/Box/web/Box.test.js +23 -0
  9. package/cjs/Button/native/Button.test.js +1 -0
  10. package/cjs/Button/web/Button.test.js +778 -0
  11. package/cjs/Card/Card.native.theme.js +9 -7
  12. package/cjs/Card/Card.theme.js +1 -1
  13. package/cjs/Card/Card.web.theme.js +8 -6
  14. package/cjs/Card/native/Card/Card.test.js +1 -0
  15. package/cjs/Card/native/EventCard/EventCard.test.js +1 -0
  16. package/cjs/Card/native/GymCard/CheckIn/CheckIn.test.js +1 -0
  17. package/cjs/Card/native/PlanCard/Actions.js +1 -1
  18. package/cjs/Card/native/PlanCard/Content.js +1 -1
  19. package/cjs/Card/native/PlanCard/PlanCard.test.js +1 -0
  20. package/cjs/Card/web/Card/Card.test.js +22 -0
  21. package/cjs/Card/web/EventCard/EventCard.test.js +35 -0
  22. package/cjs/Card/web/PlanCard/Actions.js +1 -1
  23. package/cjs/Card/web/PlanCard/Content.js +28 -32
  24. package/cjs/Card/web/PlanCard/PlanCard.test.js +95 -0
  25. package/cjs/Checkbox/native/Checkbox.test.js +1 -0
  26. package/cjs/Checkbox/native/Switch.test.js +1 -0
  27. package/cjs/Checkbox/web/Checkbox.test.js +161 -0
  28. package/cjs/Checkbox/web/Switch.test.js +65 -0
  29. package/cjs/Chips/native/Chips.test.js +1 -0
  30. package/cjs/Chips/web/Chips.test.js +138 -0
  31. package/cjs/Dialog/web/Dialog.test.js +70 -0
  32. package/cjs/Divider/native/Divider.test.js +1 -0
  33. package/cjs/Divider/web/Divider.test.js +36 -0
  34. package/cjs/Dropdown/native/Backdrop.test.js +1 -0
  35. package/cjs/Dropdown/native/Dropdown.test.js +1 -0
  36. package/cjs/Dropdown/web/Dropdown.test.js +102 -0
  37. package/cjs/Feedback/web/Feedback.test.js +89 -0
  38. package/cjs/Grid/web/Col.test.js +56 -0
  39. package/cjs/Grid/web/Container.test.js +22 -0
  40. package/cjs/Grid/web/Hide.test.js +39 -0
  41. package/cjs/Grid/web/Row.test.js +22 -0
  42. package/cjs/Header/web/Header.test.js +44 -0
  43. package/cjs/Heading/web/Heading.test.js +55 -0
  44. package/cjs/Heading/web/RightButton.js +1 -1
  45. package/cjs/Icon/native/Icon.test.js +1 -0
  46. package/cjs/Icon/web/Icon.test.js +53 -0
  47. package/cjs/Input/native/Email.test.js +1 -0
  48. package/cjs/Input/native/Input.test.js +1 -0
  49. package/cjs/Input/native/Number.test.js +1 -0
  50. package/cjs/Input/native/Password.test.js +1 -0
  51. package/cjs/Input/native/Tel.test.js +1 -0
  52. package/cjs/Input/web/Email.test.js +20 -0
  53. package/cjs/Input/web/Field.js +1 -1
  54. package/cjs/Input/web/Input.test.js +161 -0
  55. package/cjs/Input/web/Number.test.js +20 -0
  56. package/cjs/Input/web/Password.test.js +103 -0
  57. package/cjs/Input/web/Tel.test.js +20 -0
  58. package/cjs/List/native/List.test.js +1 -0
  59. package/cjs/List/web/List.test.js +69 -0
  60. package/cjs/Progress/native/Progress.test.js +1 -0
  61. package/cjs/Progress/web/Progress.test.js +229 -0
  62. package/cjs/RadioGroup/native/Button/RadioButton.test.js +1 -0
  63. package/cjs/RadioGroup/native/Radio/Radio.test.js +1 -0
  64. package/cjs/RadioGroup/native/RadioGroup.test.js +1 -0
  65. package/cjs/RadioGroup/web/Button/RadioButton.test.js +132 -0
  66. package/cjs/RadioGroup/web/Radio/Radio.test.js +119 -0
  67. package/cjs/RadioGroup/web/RadioGroup.test.js +93 -0
  68. package/cjs/Rating/native/Rating.test.js +1 -0
  69. package/cjs/Rating/web/Rating.test.js +201 -0
  70. package/cjs/Result/native/Result.test.js +1 -0
  71. package/cjs/Slider/native/Slider.test.js +1 -0
  72. package/cjs/Slider/web/Slider.test.js +95 -0
  73. package/cjs/Snackbar/native/Snackbar.test.js +1 -0
  74. package/cjs/Snackbar/web/Snackbar.test.js +135 -0
  75. package/cjs/Stepper/native/Stepper.test.js +1 -0
  76. package/cjs/Stepper/web/Stepper.test.js +75 -0
  77. package/cjs/Tag/native/Tag.test.js +1 -0
  78. package/cjs/Tag/web/Tag.test.js +87 -0
  79. package/cjs/Text/native/Text.test.js +1 -0
  80. package/cjs/Text/sharedTextStyle.js +1 -1
  81. package/cjs/Text/textStyle.android.js +1 -1
  82. package/cjs/Text/textStyle.ios.js +1 -1
  83. package/cjs/Text/textStyle.web.js +1 -1
  84. package/cjs/Text/web/Text.test.js +157 -0
  85. package/cjs/TextArea/native/TextArea.test.js +1 -0
  86. package/cjs/TextArea/web/TextArea.test.js +18 -0
  87. package/cjs/Theme/Provider/web/FontLoader.test.js +19 -0
  88. package/cjs/Theme/Provider/web/GlobalStyle.test.js +27 -0
  89. package/cjs/Theme/helpers/themeReader/native/native.test.js +1 -0
  90. package/cjs/Theme/helpers/themeReader/web/web.test.js +54 -0
  91. package/esm/AutoComplete/web/AutoComplete.test.js +135 -0
  92. package/esm/Avatar/index.native.js +4 -0
  93. package/esm/Avatar/native/Avatar.js +96 -0
  94. package/esm/Avatar/native/Avatar.test.js +46 -0
  95. package/esm/Avatar/native/AvatarCircle.js +24 -0
  96. package/esm/Avatar/web/Avatar.test.js +63 -0
  97. package/esm/Banner/index.native.js +2 -0
  98. package/esm/Banner/native/Banner.js +128 -0
  99. package/esm/Banner/native/Banner.test.js +103 -0
  100. package/esm/Banner/native/index.js +2 -0
  101. package/esm/Banner/web/Banner.test.js +109 -0
  102. package/esm/BottomSheet/web/BottomSheet.test.js +33 -0
  103. package/esm/Box/index.native.js +2 -0
  104. package/esm/Box/native/Box.js +4 -0
  105. package/esm/Box/native/Box.test.js +16 -0
  106. package/esm/Box/native/index.js +2 -0
  107. package/esm/Box/web/Box.test.js +16 -0
  108. package/esm/Button/index.native.js +8 -0
  109. package/esm/Button/native/Button.js +110 -0
  110. package/esm/Button/native/Button.test.js +475 -0
  111. package/esm/Button/native/Icon.js +82 -0
  112. package/esm/Button/native/Link.js +35 -0
  113. package/esm/Button/native/Text.js +74 -0
  114. package/esm/Button/native/withTouchable.js +63 -0
  115. package/esm/Button/web/Button.test.js +764 -0
  116. package/esm/Card/Card.native.theme.js +9 -7
  117. package/esm/Card/Card.theme.js +1 -1
  118. package/esm/Card/Card.web.theme.js +8 -6
  119. package/esm/Card/index.native.js +2 -0
  120. package/esm/Card/native/Card/Actions.js +12 -0
  121. package/esm/Card/native/Card/Card.js +92 -0
  122. package/esm/Card/native/Card/Card.test.js +15 -0
  123. package/esm/Card/native/Card/Content.js +8 -0
  124. package/esm/Card/native/Card/Header.js +8 -0
  125. package/esm/Card/native/Card/index.js +8 -0
  126. package/esm/Card/native/EventCard/EventCard.js +169 -0
  127. package/esm/Card/native/EventCard/EventCard.test.js +65 -0
  128. package/esm/Card/native/EventCard/index.js +2 -0
  129. package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
  130. package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
  131. package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
  132. package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
  133. package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
  134. package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
  135. package/esm/Card/native/GymCard/index.js +5 -0
  136. package/esm/Card/native/PlanCard/Actions.js +24 -0
  137. package/esm/Card/native/PlanCard/Content.js +75 -0
  138. package/esm/Card/native/PlanCard/List.js +73 -0
  139. package/esm/Card/native/PlanCard/PlanCard.js +54 -0
  140. package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
  141. package/esm/Card/native/PlanCard/Subtitle.js +15 -0
  142. package/esm/Card/native/PlanCard/Tag.js +33 -0
  143. package/esm/Card/native/PlanCard/index.js +15 -0
  144. package/esm/Card/native/index.js +5 -0
  145. package/esm/Card/web/Card/Card.test.js +14 -0
  146. package/esm/Card/web/EventCard/EventCard.test.js +27 -0
  147. package/esm/Card/web/PlanCard/Actions.js +1 -1
  148. package/esm/Card/web/PlanCard/Content.js +25 -30
  149. package/esm/Card/web/PlanCard/PlanCard.test.js +85 -0
  150. package/esm/Checkbox/index.native.js +3 -0
  151. package/esm/Checkbox/native/Checkbox.js +179 -0
  152. package/esm/Checkbox/native/Checkbox.test.js +115 -0
  153. package/esm/Checkbox/native/Switch.js +115 -0
  154. package/esm/Checkbox/native/Switch.test.js +54 -0
  155. package/esm/Checkbox/native/index.js +3 -0
  156. package/esm/Checkbox/web/Checkbox.test.js +153 -0
  157. package/esm/Checkbox/web/Switch.test.js +56 -0
  158. package/esm/Chips/index.native.js +2 -0
  159. package/esm/Chips/native/Chips.js +104 -0
  160. package/esm/Chips/native/Chips.test.js +134 -0
  161. package/esm/Chips/native/Counter.js +20 -0
  162. package/esm/Chips/native/index.js +2 -0
  163. package/esm/Chips/web/Chips.test.js +128 -0
  164. package/esm/Dialog/web/Dialog.test.js +54 -0
  165. package/esm/Divider/index.native.js +2 -0
  166. package/esm/Divider/native/Divider.js +29 -0
  167. package/esm/Divider/native/Divider.test.js +29 -0
  168. package/esm/Divider/native/index.js +2 -0
  169. package/esm/Divider/web/Divider.test.js +29 -0
  170. package/esm/Dropdown/index.native.js +2 -0
  171. package/esm/Dropdown/native/Backdrop.js +93 -0
  172. package/esm/Dropdown/native/Backdrop.test.js +26 -0
  173. package/esm/Dropdown/native/Dropdown.js +142 -0
  174. package/esm/Dropdown/native/Dropdown.test.js +78 -0
  175. package/esm/Dropdown/native/Options.android.js +66 -0
  176. package/esm/Dropdown/native/Options.ios.js +71 -0
  177. package/esm/Dropdown/native/index.js +2 -0
  178. package/esm/Dropdown/web/Dropdown.test.js +93 -0
  179. package/esm/Feedback/web/Feedback.test.js +83 -0
  180. package/esm/Grid/web/Col.test.js +48 -0
  181. package/esm/Grid/web/Container.test.js +14 -0
  182. package/esm/Grid/web/Hide.test.js +31 -0
  183. package/esm/Grid/web/Row.test.js +14 -0
  184. package/esm/Header/web/Header.test.js +34 -0
  185. package/esm/Heading/web/Heading.test.js +45 -0
  186. package/esm/Heading/web/RightButton.js +1 -1
  187. package/esm/Icon/index.native.js +2 -0
  188. package/esm/Icon/native/Icon.test.js +47 -0
  189. package/esm/Icon/native/index.js +2 -0
  190. package/esm/Icon/web/Icon.test.js +47 -0
  191. package/esm/Input/index.native.js +6 -0
  192. package/esm/Input/native/Email.js +15 -0
  193. package/esm/Input/native/Email.test.js +13 -0
  194. package/esm/Input/native/Helper.js +62 -0
  195. package/esm/Input/native/Input.js +234 -0
  196. package/esm/Input/native/Input.test.js +181 -0
  197. package/esm/Input/native/Number.js +12 -0
  198. package/esm/Input/native/Number.test.js +13 -0
  199. package/esm/Input/native/Password.js +112 -0
  200. package/esm/Input/native/Password.test.js +125 -0
  201. package/esm/Input/native/Tel.js +14 -0
  202. package/esm/Input/native/Tel.test.js +13 -0
  203. package/esm/Input/native/index.js +6 -0
  204. package/esm/Input/web/Email.test.js +13 -0
  205. package/esm/Input/web/Field.js +1 -1
  206. package/esm/Input/web/Input.test.js +145 -0
  207. package/esm/Input/web/Number.test.js +13 -0
  208. package/esm/Input/web/Password.test.js +90 -0
  209. package/esm/Input/web/Tel.test.js +13 -0
  210. package/esm/List/index.native.js +3 -0
  211. package/esm/List/native/List.js +22 -0
  212. package/esm/List/native/List.test.js +106 -0
  213. package/esm/List/native/ListItem.js +51 -0
  214. package/esm/List/native/index.js +3 -0
  215. package/esm/List/web/List.test.js +62 -0
  216. package/esm/Progress/index.native.js +2 -0
  217. package/esm/Progress/native/Progress.js +103 -0
  218. package/esm/Progress/native/Progress.test.js +222 -0
  219. package/esm/Progress/native/index.js +2 -0
  220. package/esm/Progress/web/Progress.test.js +222 -0
  221. package/esm/RadioGroup/index.native.js +4 -0
  222. package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
  223. package/esm/RadioGroup/native/Button/RadioButton.test.js +94 -0
  224. package/esm/RadioGroup/native/Radio/Radio.js +88 -0
  225. package/esm/RadioGroup/native/Radio/Radio.test.js +102 -0
  226. package/esm/RadioGroup/native/RadioGroup.js +66 -0
  227. package/esm/RadioGroup/native/RadioGroup.test.js +48 -0
  228. package/esm/RadioGroup/native/index.js +4 -0
  229. package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
  230. package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
  231. package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
  232. package/esm/Rating/index.native.js +2 -0
  233. package/esm/Rating/native/Rating.js +186 -0
  234. package/esm/Rating/native/Rating.test.js +121 -0
  235. package/esm/Rating/native/index.js +2 -0
  236. package/esm/Rating/web/Rating.test.js +184 -0
  237. package/esm/Result/index.native.js +8 -0
  238. package/esm/Result/native/Attendances.js +55 -0
  239. package/esm/Result/native/Details.js +97 -0
  240. package/esm/Result/native/Rate.js +35 -0
  241. package/esm/Result/native/Result.js +86 -0
  242. package/esm/Result/native/Result.test.js +107 -0
  243. package/esm/Result/native/ResultButton.js +13 -0
  244. package/esm/Result/native/Tags.js +41 -0
  245. package/esm/Result/native/TinyTextIcon.js +18 -0
  246. package/esm/Result/native/index.js +2 -0
  247. package/esm/Slider/index.native.js +2 -0
  248. package/esm/Slider/native/Label.js +19 -0
  249. package/esm/Slider/native/Marker.js +68 -0
  250. package/esm/Slider/native/Slider.js +156 -0
  251. package/esm/Slider/native/Slider.test.js +115 -0
  252. package/esm/Slider/native/Step.js +14 -0
  253. package/esm/Slider/native/Tooltip.js +90 -0
  254. package/esm/Slider/web/Slider.test.js +86 -0
  255. package/esm/Snackbar/index.native.js +2 -0
  256. package/esm/Snackbar/native/Snackbar.js +199 -0
  257. package/esm/Snackbar/native/Snackbar.test.js +100 -0
  258. package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
  259. package/esm/Snackbar/native/index.js +2 -0
  260. package/esm/Snackbar/web/Snackbar.test.js +116 -0
  261. package/esm/Stepper/index.native.js +3 -0
  262. package/esm/Stepper/native/Dots.js +45 -0
  263. package/esm/Stepper/native/Line.js +35 -0
  264. package/esm/Stepper/native/Step.js +19 -0
  265. package/esm/Stepper/native/Stepper.js +52 -0
  266. package/esm/Stepper/native/Stepper.test.js +68 -0
  267. package/esm/Stepper/native/index.js +3 -0
  268. package/esm/Stepper/web/Stepper.test.js +67 -0
  269. package/esm/Tag/index.native.js +4 -0
  270. package/esm/Tag/native/Informative.js +71 -0
  271. package/esm/Tag/native/Tag.js +75 -0
  272. package/esm/Tag/native/Tag.test.js +92 -0
  273. package/esm/Tag/native/index.js +2 -0
  274. package/esm/Tag/web/Tag.test.js +79 -0
  275. package/esm/Text/index.native.js +16 -0
  276. package/esm/Text/native/Text.js +69 -0
  277. package/esm/Text/native/Text.test.js +149 -0
  278. package/esm/Text/native/index.js +2 -0
  279. package/esm/Text/sharedTextStyle.js +1 -1
  280. package/esm/Text/textStyle.android.js +1 -1
  281. package/esm/Text/textStyle.ios.js +1 -1
  282. package/esm/Text/textStyle.web.js +1 -1
  283. package/esm/Text/web/Text.test.js +149 -0
  284. package/esm/TextArea/index.native.js +2 -0
  285. package/esm/TextArea/native/TextArea.js +59 -0
  286. package/esm/TextArea/native/TextArea.test.js +11 -0
  287. package/esm/TextArea/native/index.js +2 -0
  288. package/esm/TextArea/web/TextArea.test.js +11 -0
  289. package/esm/Theme/Provider/index.native.js +2 -0
  290. package/esm/Theme/Provider/native/index.js +2 -0
  291. package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
  292. package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
  293. package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
  294. package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
  295. package/esm/Theme/index.native.js +5 -0
  296. package/esm/index.native.js +24 -0
  297. package/esm/shared/index.native.js +2 -0
  298. package/package.json +6 -6
@@ -0,0 +1,24 @@
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 styled from 'styled-components';
6
+ import Actions from '../Card/Actions';
7
+ import Button from '../../../Button';
8
+ import theme from '../../../Theme/helpers/themeReader';
9
+ var _theme$components = theme.components,
10
+ cardnative = _theme$components.cardnative,
11
+ card = _theme$components.card;
12
+ var PlanCardButton = styled(Button).attrs({
13
+ small: false,
14
+ full: true
15
+ })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
16
+ var PlanCardButtonText = styled(Button.Text).attrs({
17
+ small: true,
18
+ full: true
19
+ })(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n margin-top: ", "px;\n margin-bottom: ", "px;\n"])), cardnative.plan.actions.buttonText.margin.top, card.plan.actions.buttonText.margin.bottom);
20
+ var PlanCardActions = styled(Actions)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n margin-top: ", "px;\n"])), cardnative.plan.actions.margin.top);
21
+ PlanCardActions.displayName = 'PlanCard.Actions';
22
+ PlanCardButton.displayName = 'PlanCard.Button';
23
+ PlanCardButtonText.displayName = 'PlanCard.ButtonText';
24
+ export { PlanCardActions as Actions, PlanCardButton as Button, PlanCardButtonText as ButtonText };
@@ -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-top: ", "px;\n margin-bottom: ", "px;\n line-height: ", "px;\n "])), card.plan.title.color, cardnative.plan.title.margin.top, 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,54 @@
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 theme from '../../../Theme/helpers/themeReader';
13
+ import Card from '../Card';
14
+ export var PLAN_LINE_HEIGHT = 8;
15
+ var Plan = styled(Card)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n max-width: 288px;\n width: 100%;\n position: relative;\n\n ", "\n"])), function (props) {
16
+ var _theme = theme(props),
17
+ colors = _theme.colors,
18
+ plan = _theme.components.card.plan;
19
+
20
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n padding: ", "px ", "px\n ", "px ", "px;\n\n border-radius: ", "px;\n\n background-color: ", ";\n "])), plan.padding.top, plan.padding.right, plan.padding.bottom, plan.padding.left, plan.radius, colors.white);
21
+ });
22
+ 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) {
23
+ var variant = _ref.variant,
24
+ _ref$theme$yoga$color = _ref.theme.yoga.colors,
25
+ deepPurple = _ref$theme$yoga$color.deepPurple,
26
+ _ref$theme$yoga$color2 = _ref$theme$yoga$color[variant],
27
+ color = _ref$theme$yoga$color2 === void 0 ? deepPurple : _ref$theme$yoga$color2;
28
+ return color;
29
+ });
30
+
31
+ var PlanCard = function PlanCard(_ref2) {
32
+ var children = _ref2.children,
33
+ variant = _ref2.variant,
34
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
35
+
36
+ return /*#__PURE__*/React.createElement(Plan, rest, /*#__PURE__*/React.createElement(Border, {
37
+ variant: variant
38
+ }), children);
39
+ };
40
+
41
+ PlanCard.propTypes = {
42
+ children: node,
43
+
44
+ /** style the card border top color following the theme (primary, secondary,
45
+ * vibin, hope, energy, relax, peace, verve, uplift, deepPurple, deep,
46
+ * stamina, dark, medium, light, clear, white) */
47
+ variant: oneOf(['primary', 'secondary', 'vibin', 'hope', 'energy', 'relax', 'peace', 'verve', 'uplift', 'deepPurple', 'stamina', 'dark', 'medium', 'deep', 'light', 'clear', 'white'])
48
+ };
49
+ PlanCard.defaultProps = {
50
+ children: undefined,
51
+ variant: 'deepPurple'
52
+ };
53
+ PlanCard.displayName = 'PlanCard';
54
+ 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
+ planCard = _renderPlan2.container;
51
+
52
+ expect(planCard).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
+ container = _render.container;
65
+
66
+ expect(container).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
+ container = _render2.container;
80
+
81
+ expect(container).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,33 @@
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
+ import theme from '../../../Theme/helpers/themeReader';
15
+ var StyledTag = styled(Tag.Informative)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n position: absolute;\n align-items: center;\n justify-content: center;\n\n ", "\n"])), function (props) {
16
+ var _theme = theme(props),
17
+ plan = _theme.components.card.plan;
18
+
19
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n top: ", "px;\n left: ", "px;\n "])), plan.tag.position.top + PLAN_LINE_HEIGHT, plan.tag.position.left);
20
+ });
21
+
22
+ var PlanCardTag = function PlanCardTag(_ref) {
23
+ var children = _ref.children,
24
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
25
+
26
+ return /*#__PURE__*/React.createElement(StyledTag, rest, children);
27
+ };
28
+
29
+ PlanCardTag.displayName = 'PlanCard.Tag';
30
+ PlanCardTag.propTypes = {
31
+ children: node.isRequired
32
+ };
33
+ 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
+ });
@@ -10,7 +10,7 @@ var _theme$components = theme.components,
10
10
  card = _theme$components.card,
11
11
  cardweb = _theme$components.cardweb;
12
12
  var PlanCardButton = styled(Button).attrs({
13
- small: true,
13
+ small: false,
14
14
  full: true
15
15
  })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
16
16
  var PlanCardButtonText = styled(Button.Text).attrs({
@@ -1,6 +1,6 @@
1
1
  var _excluded = ["title", "subtitle", "description", "currency", "suffix", "price", "period", "children"];
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
4
 
5
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
6
 
@@ -13,49 +13,44 @@ import theme from '../../../Theme/helpers/themeReader';
13
13
  import Text from '../../../Text';
14
14
  import Content from '../Card/Content';
15
15
  import Subtitle from './Subtitle';
16
- var Title = styled(Text.H5)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (props) {
16
+ import Divider from '../../../Divider';
17
+ var Title = styled(Text.Medium)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (props) {
17
18
  var _theme = theme(props),
18
19
  _theme$components = _theme.components,
19
20
  card = _theme$components.card,
20
21
  cardweb = _theme$components.cardweb;
21
22
 
22
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: ", ";\n margin-bottom: ", "px;\n "])), card.plan.title.color, cardweb.plan.title.margin.bottom);
23
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: ", ";\n margin-bottom: ", "px;\n line-height: ", "px;\n "])), card.plan.title.color, cardweb.plan.title.margin.bottom, cardweb.plan.title.lineHeight);
23
24
  });
24
25
  var Description = styled(Text.Small)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n height: 40px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n\n color: ", ";\n\n overflow: hidden;\n text-overflow: ellipsis;\n text-overflow: -o-ellipsis-lastline;\n"])), theme.components.card.plan.description.color);
25
26
  var Price = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n display: flex;\n\n ", "\n"])), function (props) {
26
27
  var _theme2 = theme(props),
27
- _theme2$components = _theme2.components,
28
- card = _theme2$components.card,
29
- cardweb = _theme2$components.cardweb;
28
+ cardweb = _theme2.components.cardweb;
30
29
 
31
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-top: ", "px;\n margin-bottom: ", "px;\n "])), card.plan.price.margin.top, cardweb.plan.price.margin.bottom);
30
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n margin-bottom: ", "px;\n "])), cardweb.plan.price.margin.bottom);
32
31
  });
33
- var EnhancePrice = styled(Text.Small)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
34
- var align = _ref.align;
35
- return "\n align-self: " + align + ";\n ";
36
- });
37
- var Currency = styled(EnhancePrice)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n margin-right: ", "px;\n"])), theme.components.card.plan.price.currency.margin.right);
32
+ var EnhancePrice = styled(Text.Medium)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n align-self: center;\n"])));
38
33
 
39
- var PlanCardContent = function PlanCardContent(_ref2) {
40
- var title = _ref2.title,
41
- subtitle = _ref2.subtitle,
42
- description = _ref2.description,
43
- currency = _ref2.currency,
44
- suffix = _ref2.suffix,
45
- price = _ref2.price,
46
- period = _ref2.period,
47
- children = _ref2.children,
48
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
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);
49
44
 
50
- 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, null, description), /*#__PURE__*/React.createElement(Price, null, currency && /*#__PURE__*/React.createElement(Currency, {
51
- as: "sup",
52
- align: "flex-start"
53
- }, currency), price && /*#__PURE__*/React.createElement(Text.H1, {
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, null, description), /*#__PURE__*/React.createElement(Price, null, currency && /*#__PURE__*/React.createElement(Text.H4, {
46
+ as: "sup"
47
+ }, currency), price && /*#__PURE__*/React.createElement(Text.H4, {
54
48
  as: "strong"
55
- }, price), period && /*#__PURE__*/React.createElement(EnhancePrice, {
56
- as: "sub",
57
- align: "flex-end"
58
- }, (suffix || '') + " " + period)), children);
49
+ }, price), suffix && /*#__PURE__*/React.createElement(Text.H4, {
50
+ as: "sup"
51
+ }, suffix), period && /*#__PURE__*/React.createElement(EnhancePrice, {
52
+ as: "sub"
53
+ }, period)), /*#__PURE__*/React.createElement(Divider, null), children);
59
54
  };
60
55
 
61
56
  PlanCardContent.propTypes = {
@@ -0,0 +1,85 @@
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
+ });
85
+ });
@@ -0,0 +1,3 @@
1
+ import { Checkbox, Switch } from './native';
2
+ Checkbox.Switch = Switch;
3
+ export default Checkbox;