@gympass/yoga 7.65.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 (234) hide show
  1. package/cjs/Dialog/web/Dialog.js +12 -7
  2. package/cjs/Drawer/web/Drawer.js +5 -1
  3. package/cjs/Input/index.js +1 -0
  4. package/cjs/Input/web/Input.js +8 -3
  5. package/cjs/Input/web/Phone.js +144 -0
  6. package/cjs/Input/web/Phone.style.js +41 -0
  7. package/cjs/Input/web/data-images.js +10 -0
  8. package/cjs/Input/web/index.js +4 -0
  9. package/cjs/hooks/index.js +8 -0
  10. package/cjs/hooks/useCombinedRefs.js +32 -0
  11. package/esm/Accordion/web/Accordion.test.js +19 -0
  12. package/esm/ActionRequirement/index.native.js +2 -0
  13. package/esm/ActionRequirement/native/ActionRequirement.js +48 -0
  14. package/esm/ActionRequirement/native/ActionRequirement.test.js +45 -0
  15. package/esm/ActionRequirement/native/ActionRequirementStyles.js +25 -0
  16. package/esm/ActionRequirement/native/index.js +6 -0
  17. package/esm/ActionRequirement/web/ActionRequirement.test.js +36 -0
  18. package/esm/AutoComplete/web/AutoComplete.test.js +139 -0
  19. package/esm/Avatar/index.native.js +4 -0
  20. package/esm/Avatar/native/Avatar.js +96 -0
  21. package/esm/Avatar/native/Avatar.test.js +46 -0
  22. package/esm/Avatar/native/AvatarCircle.js +24 -0
  23. package/esm/Avatar/web/Avatar.test.js +63 -0
  24. package/esm/Banner/index.native.js +2 -0
  25. package/esm/Banner/native/Banner.js +128 -0
  26. package/esm/Banner/native/Banner.test.js +103 -0
  27. package/esm/Banner/native/index.js +2 -0
  28. package/esm/Banner/web/Banner.test.js +109 -0
  29. package/esm/BottomSheet/web/BottomSheet.test.js +48 -0
  30. package/esm/Box/index.native.js +2 -0
  31. package/esm/Box/native/Box.js +4 -0
  32. package/esm/Box/native/Box.test.js +16 -0
  33. package/esm/Box/native/index.js +2 -0
  34. package/esm/Box/web/Box.test.js +16 -0
  35. package/esm/Button/index.native.js +8 -0
  36. package/esm/Button/native/Button.js +110 -0
  37. package/esm/Button/native/Button.test.js +475 -0
  38. package/esm/Button/native/Icon.js +82 -0
  39. package/esm/Button/native/Link.js +35 -0
  40. package/esm/Button/native/Text.js +74 -0
  41. package/esm/Button/native/withTouchable.js +63 -0
  42. package/esm/Button/web/Button.test.js +772 -0
  43. package/esm/Card/index.native.js +2 -0
  44. package/esm/Card/native/Card/Actions.js +12 -0
  45. package/esm/Card/native/Card/Card.js +92 -0
  46. package/esm/Card/native/Card/Card.test.js +15 -0
  47. package/esm/Card/native/Card/Content.js +8 -0
  48. package/esm/Card/native/Card/Header.js +8 -0
  49. package/esm/Card/native/Card/index.js +8 -0
  50. package/esm/Card/native/EventCard/EventCard.js +169 -0
  51. package/esm/Card/native/EventCard/EventCard.test.js +65 -0
  52. package/esm/Card/native/EventCard/index.js +2 -0
  53. package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
  54. package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
  55. package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
  56. package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
  57. package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
  58. package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
  59. package/esm/Card/native/GymCard/index.js +5 -0
  60. package/esm/Card/native/PlanCard/Actions.js +22 -0
  61. package/esm/Card/native/PlanCard/Content.js +75 -0
  62. package/esm/Card/native/PlanCard/List.js +73 -0
  63. package/esm/Card/native/PlanCard/PlanCard.js +51 -0
  64. package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
  65. package/esm/Card/native/PlanCard/Subtitle.js +15 -0
  66. package/esm/Card/native/PlanCard/Tag.js +34 -0
  67. package/esm/Card/native/PlanCard/index.js +15 -0
  68. package/esm/Card/native/index.js +5 -0
  69. package/esm/Card/web/Card/Card.test.js +14 -0
  70. package/esm/Card/web/EventCard/EventCard.test.js +27 -0
  71. package/esm/Card/web/PlanCard/PlanCard.test.js +94 -0
  72. package/esm/Checkbox/index.native.js +3 -0
  73. package/esm/Checkbox/native/Checkbox.js +179 -0
  74. package/esm/Checkbox/native/Checkbox.test.js +115 -0
  75. package/esm/Checkbox/native/Switch.js +115 -0
  76. package/esm/Checkbox/native/Switch.test.js +54 -0
  77. package/esm/Checkbox/native/index.js +3 -0
  78. package/esm/Checkbox/web/Checkbox.test.js +153 -0
  79. package/esm/Checkbox/web/Switch.test.js +56 -0
  80. package/esm/Chips/index.native.js +2 -0
  81. package/esm/Chips/native/Chips.js +104 -0
  82. package/esm/Chips/native/Chips.test.js +143 -0
  83. package/esm/Chips/native/Counter.js +20 -0
  84. package/esm/Chips/native/index.js +2 -0
  85. package/esm/Chips/web/Chips.test.js +128 -0
  86. package/esm/Datepicker/web/Datepicker.test.js +247 -0
  87. package/esm/Dialog/web/Dialog.js +13 -8
  88. package/esm/Dialog/web/Dialog.test.js +62 -0
  89. package/esm/Divider/index.native.js +2 -0
  90. package/esm/Divider/native/Divider.js +29 -0
  91. package/esm/Divider/native/Divider.test.js +29 -0
  92. package/esm/Divider/native/index.js +2 -0
  93. package/esm/Divider/web/Divider.test.js +29 -0
  94. package/esm/Drawer/web/Drawer.js +6 -2
  95. package/esm/Drawer/web/Drawer.test.js +33 -0
  96. package/esm/Dropdown/index.native.js +2 -0
  97. package/esm/Dropdown/native/Backdrop.js +93 -0
  98. package/esm/Dropdown/native/Backdrop.test.js +26 -0
  99. package/esm/Dropdown/native/Dropdown.js +142 -0
  100. package/esm/Dropdown/native/Dropdown.test.js +78 -0
  101. package/esm/Dropdown/native/Options.android.js +66 -0
  102. package/esm/Dropdown/native/Options.ios.js +71 -0
  103. package/esm/Dropdown/native/index.js +2 -0
  104. package/esm/Dropdown/web/Dropdown.test.js +93 -0
  105. package/esm/Feedback/web/Feedback.test.js +83 -0
  106. package/esm/Grid/web/Col.test.js +48 -0
  107. package/esm/Grid/web/Container.test.js +14 -0
  108. package/esm/Grid/web/Hide.test.js +31 -0
  109. package/esm/Grid/web/Row.test.js +14 -0
  110. package/esm/Header/web/Header.test.js +38 -0
  111. package/esm/Heading/web/Heading.test.js +58 -0
  112. package/esm/Icon/index.native.js +2 -0
  113. package/esm/Icon/native/Icon.test.js +47 -0
  114. package/esm/Icon/native/index.js +2 -0
  115. package/esm/Icon/web/Icon.test.js +47 -0
  116. package/esm/Input/index.js +2 -1
  117. package/esm/Input/index.native.js +6 -0
  118. package/esm/Input/native/Email.js +15 -0
  119. package/esm/Input/native/Email.test.js +13 -0
  120. package/esm/Input/native/Helper.js +62 -0
  121. package/esm/Input/native/Input.js +234 -0
  122. package/esm/Input/native/Input.test.js +181 -0
  123. package/esm/Input/native/Number.js +12 -0
  124. package/esm/Input/native/Number.test.js +13 -0
  125. package/esm/Input/native/Password.js +112 -0
  126. package/esm/Input/native/Password.test.js +125 -0
  127. package/esm/Input/native/Tel.js +14 -0
  128. package/esm/Input/native/Tel.test.js +13 -0
  129. package/esm/Input/native/index.js +6 -0
  130. package/esm/Input/web/Email.test.js +13 -0
  131. package/esm/Input/web/Input.js +9 -4
  132. package/esm/Input/web/Input.test.js +145 -0
  133. package/esm/Input/web/Number.test.js +13 -0
  134. package/esm/Input/web/Password.test.js +90 -0
  135. package/esm/Input/web/Phone.js +124 -0
  136. package/esm/Input/web/Phone.style.js +27 -0
  137. package/esm/Input/web/Phone.test.js +95 -0
  138. package/esm/Input/web/Tel.test.js +13 -0
  139. package/esm/Input/web/data-images.js +3 -0
  140. package/esm/Input/web/index.js +2 -1
  141. package/esm/List/index.native.js +3 -0
  142. package/esm/List/native/List.js +22 -0
  143. package/esm/List/native/List.test.js +106 -0
  144. package/esm/List/native/ListItem.js +51 -0
  145. package/esm/List/native/index.js +3 -0
  146. package/esm/List/web/List.test.js +62 -0
  147. package/esm/Menu/web/Menu.test.js +115 -0
  148. package/esm/Popover/web/Popover.test.js +19 -0
  149. package/esm/Progress/index.native.js +2 -0
  150. package/esm/Progress/native/Progress.js +103 -0
  151. package/esm/Progress/native/Progress.test.js +222 -0
  152. package/esm/Progress/native/index.js +2 -0
  153. package/esm/Progress/web/Progress.test.js +222 -0
  154. package/esm/RadioGroup/index.native.js +4 -0
  155. package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
  156. package/esm/RadioGroup/native/Button/RadioButton.test.js +96 -0
  157. package/esm/RadioGroup/native/Radio/Radio.js +88 -0
  158. package/esm/RadioGroup/native/Radio/Radio.test.js +112 -0
  159. package/esm/RadioGroup/native/RadioGroup.js +66 -0
  160. package/esm/RadioGroup/native/RadioGroup.test.js +50 -0
  161. package/esm/RadioGroup/native/index.js +4 -0
  162. package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
  163. package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
  164. package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
  165. package/esm/Rating/index.native.js +2 -0
  166. package/esm/Rating/native/Rating.js +186 -0
  167. package/esm/Rating/native/Rating.test.js +121 -0
  168. package/esm/Rating/native/index.js +2 -0
  169. package/esm/Rating/web/Rating.test.js +184 -0
  170. package/esm/Result/index.native.js +8 -0
  171. package/esm/Result/native/Attendances.js +55 -0
  172. package/esm/Result/native/Details.js +97 -0
  173. package/esm/Result/native/Rate.js +35 -0
  174. package/esm/Result/native/Result.js +86 -0
  175. package/esm/Result/native/Result.test.js +107 -0
  176. package/esm/Result/native/ResultButton.js +13 -0
  177. package/esm/Result/native/Tags.js +41 -0
  178. package/esm/Result/native/TinyTextIcon.js +18 -0
  179. package/esm/Result/native/index.js +2 -0
  180. package/esm/Skeleton/index.native.js +2 -0
  181. package/esm/Skeleton/native/Skeleton.js +94 -0
  182. package/esm/Skeleton/native/Skeleton.test.js +78 -0
  183. package/esm/Skeleton/native/index.js +2 -0
  184. package/esm/Skeleton/web/Skeleton.test.js +77 -0
  185. package/esm/Slider/index.native.js +2 -0
  186. package/esm/Slider/native/Label.js +19 -0
  187. package/esm/Slider/native/Marker.js +68 -0
  188. package/esm/Slider/native/Slider.js +156 -0
  189. package/esm/Slider/native/Slider.test.js +122 -0
  190. package/esm/Slider/native/Step.js +14 -0
  191. package/esm/Slider/native/Tooltip.js +90 -0
  192. package/esm/Slider/web/Slider.test.js +86 -0
  193. package/esm/Snackbar/index.native.js +2 -0
  194. package/esm/Snackbar/native/Snackbar.js +199 -0
  195. package/esm/Snackbar/native/Snackbar.test.js +100 -0
  196. package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
  197. package/esm/Snackbar/native/index.js +2 -0
  198. package/esm/Snackbar/web/Snackbar.test.js +118 -0
  199. package/esm/Stepper/index.native.js +3 -0
  200. package/esm/Stepper/native/Dots.js +45 -0
  201. package/esm/Stepper/native/Line.js +35 -0
  202. package/esm/Stepper/native/Step.js +19 -0
  203. package/esm/Stepper/native/Stepper.js +52 -0
  204. package/esm/Stepper/native/Stepper.test.js +70 -0
  205. package/esm/Stepper/native/index.js +3 -0
  206. package/esm/Stepper/web/Stepper.test.js +67 -0
  207. package/esm/Tag/index.native.js +4 -0
  208. package/esm/Tag/native/Informative.js +72 -0
  209. package/esm/Tag/native/Tag.js +75 -0
  210. package/esm/Tag/native/Tag.test.js +94 -0
  211. package/esm/Tag/native/index.js +2 -0
  212. package/esm/Tag/web/Tag.test.js +79 -0
  213. package/esm/Text/index.native.js +16 -0
  214. package/esm/Text/native/Text.js +69 -0
  215. package/esm/Text/native/Text.test.js +149 -0
  216. package/esm/Text/native/index.js +2 -0
  217. package/esm/Text/web/Text.test.js +149 -0
  218. package/esm/TextArea/index.native.js +2 -0
  219. package/esm/TextArea/native/TextArea.js +59 -0
  220. package/esm/TextArea/native/TextArea.test.js +11 -0
  221. package/esm/TextArea/native/index.js +2 -0
  222. package/esm/TextArea/web/TextArea.test.js +11 -0
  223. package/esm/Theme/Provider/index.native.js +2 -0
  224. package/esm/Theme/Provider/native/index.js +2 -0
  225. package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
  226. package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
  227. package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
  228. package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
  229. package/esm/Theme/index.native.js +5 -0
  230. package/esm/hooks/index.js +2 -1
  231. package/esm/hooks/useCombinedRefs.js +25 -0
  232. package/esm/index.native.js +26 -0
  233. package/esm/shared/index.native.js +2 -0
  234. package/package.json +4 -3
@@ -0,0 +1,103 @@
1
+ var _excluded = ["label", "max", "value", "variant"];
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
10
+
11
+ import React from 'react';
12
+ import styled from 'styled-components';
13
+ import { string, number, shape, oneOfType, oneOf } from 'prop-types';
14
+ import { backgroundColor, borders, elevation, positions, display, spacing as systemSpacing } from '@gympass/yoga-system';
15
+ import { charLength } from '../../shared';
16
+ var ProgressWrapper = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n width: 100%;\n\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref) {
17
+ var isNumber = _ref.isNumber,
18
+ align = _ref.align;
19
+ return "\n\n " + (isNumber ? "\n flex-direction: row;\n " : "\n flex-direction: column;\n ") + "\n\n " + (isNumber && align === 'left' ? 'flex-direction: row-reverse;' : '') + "\n ";
20
+ }, backgroundColor, borders, elevation, positions, display, systemSpacing);
21
+ var ProgressBar = styled.View(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n position: relative;\n flex-grow: 1;\n\n margin: auto 0;\n\n ", ";\n"])), function (_ref2) {
22
+ var progress = _ref2.theme.yoga.components.progress;
23
+ return "\n height: " + progress.height + "px;\n\n background-color: " + progress.backgroundColor.bar + ";\n\n border-radius: " + progress.border.radius + "px;\n ";
24
+ });
25
+ var ProgressValue = styled.View(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n position: absolute;\n\n height: 100%;\n\n ", "\n"])), function (_ref3) {
26
+ var variant = _ref3.variant,
27
+ width = _ref3.width,
28
+ _ref3$theme$yoga = _ref3.theme.yoga,
29
+ color = _ref3$theme$yoga.colors[variant],
30
+ progress = _ref3$theme$yoga.components.progress;
31
+ return "\n width: " + width + "%;\n\n background-color: " + color + ";\n\n border-radius: " + progress.border.radius + "px;\n ";
32
+ });
33
+ var Label = styled.Text(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref4) {
34
+ var isNumber = _ref4.isNumber,
35
+ align = _ref4.align,
36
+ _ref4$theme$yoga = _ref4.theme.yoga,
37
+ baseFont = _ref4$theme$yoga.baseFont,
38
+ spacing = _ref4$theme$yoga.spacing,
39
+ colors = _ref4$theme$yoga.colors,
40
+ progress = _ref4$theme$yoga.components.progress;
41
+ return "\n font-family: " + baseFont.family + ";\n font-size: " + progress.label.font.size + "px;\n text-align: " + align + ";\n color: " + colors.deep + ";\n\n " + (isNumber ? "\n width: 22px;\n\n margin-" + (align === 'right' ? 'left' : 'right') + ": " + spacing.xxsmall + "px;\n " : "\n margin-top: " + spacing.xxxsmall + "px;\n ") + "\n";
42
+ });
43
+ /** The Progress Bar is a component used to indicate a progress of an indicator
44
+ * of quantity. The use of labels numeric or alphabetic can increase the user
45
+ * understanding. */
46
+
47
+ var Progress = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
48
+ var label = _ref5.label,
49
+ max = _ref5.max,
50
+ value = _ref5.value,
51
+ variant = _ref5.variant,
52
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded);
53
+
54
+ var isNumber = !/[a-zA-Z]/g.test(label.value);
55
+ var align = label.placement || 'left';
56
+ return /*#__PURE__*/React.createElement(ProgressWrapper, _extends({
57
+ ref: ref
58
+ }, props, {
59
+ isNumber: isNumber,
60
+ align: align
61
+ }), /*#__PURE__*/React.createElement(ProgressBar, null, /*#__PURE__*/React.createElement(ProgressValue, {
62
+ width: value / max * 100,
63
+ variant: variant
64
+ })), Object.keys(label).length > 0 && (isNumber || label.value) && /*#__PURE__*/React.createElement(Label, {
65
+ isNumber: isNumber,
66
+ align: align
67
+ }, label.value));
68
+ });
69
+ Progress.propTypes = {
70
+ /** Use labels to increase users understanding. If the value is numeric, make
71
+ * sure it has a maximum of 3 characters */
72
+ label: shape({
73
+ value: charLength(3, oneOfType([number, string])),
74
+ placement: oneOf(['left', 'right'])
75
+ }),
76
+
77
+ /** This attribute describes how much work the task indicated by the progress
78
+ * element requires. The max attribute, if present, must have a value greater
79
+ * than zero and be a valid floating point number. The default value is 1. */
80
+ max: number,
81
+
82
+ /** This attribute specifies how much of the task that has been completed. It
83
+ * must be a valid floating point number between 0 and max, or between 0 and 1
84
+ * if max is omitted. If there is no value attribute, the progress bar is
85
+ * indeterminate; this indicates that an activity is ongoing with no
86
+ * indication of how long it is expected to take. */
87
+ value: number,
88
+
89
+ /** style the card following the theme (primary, secondary, vibin, hope,
90
+ * energy, relax, peace, verve, uplift, deepPurple, deep, stamina, dark,
91
+ * medium, light, clear, white) */
92
+ variant: oneOf(['primary', 'secondary', 'vibin', 'hope', 'energy', 'relax', 'peace', 'verve', 'uplift', 'deepPurple', 'stamina', 'dark', 'medium', 'deep', 'light', 'clear', 'white'])
93
+ };
94
+ Progress.defaultProps = {
95
+ label: {
96
+ value: undefined,
97
+ placement: 'left'
98
+ },
99
+ max: 1,
100
+ value: undefined,
101
+ variant: 'verve'
102
+ };
103
+ export default Progress;
@@ -0,0 +1,222 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { ThemeProvider, Progress } from '../..';
4
+ describe('<Progress />', function () {
5
+ it('should match snapshot', function () {
6
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, null), /*#__PURE__*/React.createElement(Progress, {
7
+ max: 100
8
+ }), /*#__PURE__*/React.createElement(Progress, {
9
+ max: 100,
10
+ value: 60
11
+ }))),
12
+ toJSON = _render.toJSON;
13
+
14
+ expect(toJSON()).toMatchSnapshot();
15
+ });
16
+ it('should match snapshot with label string', function () {
17
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
18
+ max: 100,
19
+ label: {
20
+ value: 'Some decription here'
21
+ }
22
+ }), /*#__PURE__*/React.createElement(Progress, {
23
+ max: 100,
24
+ value: 65,
25
+ label: {
26
+ value: 'Some decription here',
27
+ placement: 'right'
28
+ }
29
+ }))),
30
+ toJSON = _render2.toJSON;
31
+
32
+ expect(toJSON()).toMatchSnapshot();
33
+ });
34
+ it('should match snapshot with label number', function () {
35
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
36
+ max: 100,
37
+ value: 20,
38
+ label: {
39
+ value: 20
40
+ }
41
+ }), /*#__PURE__*/React.createElement(Progress, {
42
+ max: 100,
43
+ value: 65,
44
+ label: {
45
+ value: 65,
46
+ placement: 'right'
47
+ }
48
+ }))),
49
+ toJSON = _render3.toJSON;
50
+
51
+ expect(toJSON()).toMatchSnapshot();
52
+ });
53
+ it('should match snapshot with all variants', function () {
54
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
55
+ max: 100,
56
+ value: 20,
57
+ label: {
58
+ value: 20
59
+ },
60
+ variant: "primary"
61
+ }), /*#__PURE__*/React.createElement(Progress, {
62
+ max: 100,
63
+ value: 20,
64
+ label: {
65
+ value: 20
66
+ },
67
+ variant: "secondary"
68
+ }), /*#__PURE__*/React.createElement(Progress, {
69
+ max: 100,
70
+ value: 20,
71
+ label: {
72
+ value: 20
73
+ },
74
+ variant: "vibin"
75
+ }), /*#__PURE__*/React.createElement(Progress, {
76
+ max: 100,
77
+ value: 20,
78
+ label: {
79
+ value: 20
80
+ },
81
+ variant: "hope"
82
+ }), /*#__PURE__*/React.createElement(Progress, {
83
+ max: 100,
84
+ value: 20,
85
+ label: {
86
+ value: 20
87
+ },
88
+ variant: "energy"
89
+ }), /*#__PURE__*/React.createElement(Progress, {
90
+ max: 100,
91
+ value: 20,
92
+ label: {
93
+ value: 20
94
+ },
95
+ variant: "relax"
96
+ }), /*#__PURE__*/React.createElement(Progress, {
97
+ max: 100,
98
+ value: 20,
99
+ label: {
100
+ value: 20
101
+ },
102
+ variant: "peace"
103
+ }), /*#__PURE__*/React.createElement(Progress, {
104
+ max: 100,
105
+ value: 20,
106
+ label: {
107
+ value: 20
108
+ },
109
+ variant: "verve"
110
+ }), /*#__PURE__*/React.createElement(Progress, {
111
+ max: 100,
112
+ value: 20,
113
+ label: {
114
+ value: 20
115
+ },
116
+ variant: "uplift"
117
+ }), /*#__PURE__*/React.createElement(Progress, {
118
+ max: 100,
119
+ value: 20,
120
+ label: {
121
+ value: 20
122
+ },
123
+ variant: "deepPurple"
124
+ }), /*#__PURE__*/React.createElement(Progress, {
125
+ max: 100,
126
+ value: 20,
127
+ label: {
128
+ value: 20
129
+ },
130
+ variant: "stamina"
131
+ }), /*#__PURE__*/React.createElement(Progress, {
132
+ max: 100,
133
+ value: 20,
134
+ label: {
135
+ value: 20
136
+ },
137
+ variant: "dark"
138
+ }), /*#__PURE__*/React.createElement(Progress, {
139
+ max: 100,
140
+ value: 20,
141
+ label: {
142
+ value: 20
143
+ },
144
+ variant: "medium"
145
+ }), /*#__PURE__*/React.createElement(Progress, {
146
+ max: 100,
147
+ value: 20,
148
+ label: {
149
+ value: 20
150
+ },
151
+ variant: "deep"
152
+ }), /*#__PURE__*/React.createElement(Progress, {
153
+ max: 100,
154
+ value: 20,
155
+ label: {
156
+ value: 20
157
+ },
158
+ variant: "light"
159
+ }), /*#__PURE__*/React.createElement(Progress, {
160
+ max: 100,
161
+ value: 20,
162
+ label: {
163
+ value: 20
164
+ },
165
+ variant: "clear"
166
+ }), /*#__PURE__*/React.createElement(Progress, {
167
+ max: 100,
168
+ value: 20,
169
+ label: {
170
+ value: 20
171
+ },
172
+ variant: "white"
173
+ }))),
174
+ toJSON = _render4.toJSON;
175
+
176
+ expect(toJSON()).toMatchSnapshot();
177
+ });
178
+ it('should match snapshot with positions prop system', function () {
179
+ var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
180
+ position: "absolute",
181
+ top: "small",
182
+ left: "small"
183
+ }))),
184
+ toJSON = _render5.toJSON;
185
+
186
+ expect(toJSON()).toMatchSnapshot();
187
+ });
188
+ it('should match snapshot with spacing prop system', function () {
189
+ var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
190
+ m: "small",
191
+ padding: "medium"
192
+ }))),
193
+ toJSON = _render6.toJSON;
194
+
195
+ expect(toJSON()).toMatchSnapshot();
196
+ });
197
+ it('should match snapshot with background color prop system', function () {
198
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
199
+ backgroundColor: "primary"
200
+ }))),
201
+ toJSON = _render7.toJSON;
202
+
203
+ expect(toJSON()).toMatchSnapshot();
204
+ });
205
+ it('should match snapshot with border prop system', function () {
206
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
207
+ b: "small",
208
+ bRadius: "small"
209
+ }))),
210
+ toJSON = _render8.toJSON;
211
+
212
+ expect(toJSON()).toMatchSnapshot();
213
+ });
214
+ it('should match snapshot with elevation prop system', function () {
215
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
216
+ elevation: "small"
217
+ }))),
218
+ toJSON = _render9.toJSON;
219
+
220
+ expect(toJSON()).toMatchSnapshot();
221
+ });
222
+ });
@@ -0,0 +1,2 @@
1
+ import Progress from './Progress';
2
+ export default Progress;
@@ -0,0 +1,222 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider, Progress } from '../..';
4
+ describe('<Progress />', function () {
5
+ it('should match snapshot', function () {
6
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, null), /*#__PURE__*/React.createElement(Progress, {
7
+ max: 100
8
+ }), /*#__PURE__*/React.createElement(Progress, {
9
+ max: 100,
10
+ value: 60
11
+ }))),
12
+ container = _render.container;
13
+
14
+ expect(container).toMatchSnapshot();
15
+ });
16
+ it('should match snapshot with label string', function () {
17
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
18
+ max: 100,
19
+ label: {
20
+ value: 'Some decription here'
21
+ }
22
+ }), /*#__PURE__*/React.createElement(Progress, {
23
+ max: 100,
24
+ value: 65,
25
+ label: {
26
+ value: 'Some decription here',
27
+ placement: 'right'
28
+ }
29
+ }))),
30
+ container = _render2.container;
31
+
32
+ expect(container).toMatchSnapshot();
33
+ });
34
+ it('should match snapshot with label number', function () {
35
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
36
+ max: 100,
37
+ value: 20,
38
+ label: {
39
+ value: 20
40
+ }
41
+ }), /*#__PURE__*/React.createElement(Progress, {
42
+ max: 100,
43
+ value: 65,
44
+ label: {
45
+ value: 65,
46
+ placement: 'right'
47
+ }
48
+ }))),
49
+ container = _render3.container;
50
+
51
+ expect(container).toMatchSnapshot();
52
+ });
53
+ it('should match snapshot with all variants', function () {
54
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
55
+ max: 100,
56
+ value: 20,
57
+ label: {
58
+ value: 20
59
+ },
60
+ variant: "primary"
61
+ }), /*#__PURE__*/React.createElement(Progress, {
62
+ max: 100,
63
+ value: 20,
64
+ label: {
65
+ value: 20
66
+ },
67
+ variant: "secondary"
68
+ }), /*#__PURE__*/React.createElement(Progress, {
69
+ max: 100,
70
+ value: 20,
71
+ label: {
72
+ value: 20
73
+ },
74
+ variant: "vibin"
75
+ }), /*#__PURE__*/React.createElement(Progress, {
76
+ max: 100,
77
+ value: 20,
78
+ label: {
79
+ value: 20
80
+ },
81
+ variant: "hope"
82
+ }), /*#__PURE__*/React.createElement(Progress, {
83
+ max: 100,
84
+ value: 20,
85
+ label: {
86
+ value: 20
87
+ },
88
+ variant: "energy"
89
+ }), /*#__PURE__*/React.createElement(Progress, {
90
+ max: 100,
91
+ value: 20,
92
+ label: {
93
+ value: 20
94
+ },
95
+ variant: "relax"
96
+ }), /*#__PURE__*/React.createElement(Progress, {
97
+ max: 100,
98
+ value: 20,
99
+ label: {
100
+ value: 20
101
+ },
102
+ variant: "peace"
103
+ }), /*#__PURE__*/React.createElement(Progress, {
104
+ max: 100,
105
+ value: 20,
106
+ label: {
107
+ value: 20
108
+ },
109
+ variant: "verve"
110
+ }), /*#__PURE__*/React.createElement(Progress, {
111
+ max: 100,
112
+ value: 20,
113
+ label: {
114
+ value: 20
115
+ },
116
+ variant: "uplift"
117
+ }), /*#__PURE__*/React.createElement(Progress, {
118
+ max: 100,
119
+ value: 20,
120
+ label: {
121
+ value: 20
122
+ },
123
+ variant: "deepPurple"
124
+ }), /*#__PURE__*/React.createElement(Progress, {
125
+ max: 100,
126
+ value: 20,
127
+ label: {
128
+ value: 20
129
+ },
130
+ variant: "stamina"
131
+ }), /*#__PURE__*/React.createElement(Progress, {
132
+ max: 100,
133
+ value: 20,
134
+ label: {
135
+ value: 20
136
+ },
137
+ variant: "dark"
138
+ }), /*#__PURE__*/React.createElement(Progress, {
139
+ max: 100,
140
+ value: 20,
141
+ label: {
142
+ value: 20
143
+ },
144
+ variant: "medium"
145
+ }), /*#__PURE__*/React.createElement(Progress, {
146
+ max: 100,
147
+ value: 20,
148
+ label: {
149
+ value: 20
150
+ },
151
+ variant: "deep"
152
+ }), /*#__PURE__*/React.createElement(Progress, {
153
+ max: 100,
154
+ value: 20,
155
+ label: {
156
+ value: 20
157
+ },
158
+ variant: "light"
159
+ }), /*#__PURE__*/React.createElement(Progress, {
160
+ max: 100,
161
+ value: 20,
162
+ label: {
163
+ value: 20
164
+ },
165
+ variant: "clear"
166
+ }), /*#__PURE__*/React.createElement(Progress, {
167
+ max: 100,
168
+ value: 20,
169
+ label: {
170
+ value: 20
171
+ },
172
+ variant: "white"
173
+ }))),
174
+ container = _render4.container;
175
+
176
+ expect(container).toMatchSnapshot();
177
+ });
178
+ it('should match snapshot with positions prop system', function () {
179
+ var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
180
+ position: "fixed",
181
+ top: "small",
182
+ left: "small"
183
+ }))),
184
+ container = _render5.container;
185
+
186
+ expect(container).toMatchSnapshot();
187
+ });
188
+ it('should match snapshot with spacing prop system', function () {
189
+ var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
190
+ m: "small",
191
+ padding: "medium"
192
+ }))),
193
+ container = _render6.container;
194
+
195
+ expect(container).toMatchSnapshot();
196
+ });
197
+ it('should match snapshot with background color prop system', function () {
198
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
199
+ backgroundColor: "primary"
200
+ }))),
201
+ container = _render7.container;
202
+
203
+ expect(container).toMatchSnapshot();
204
+ });
205
+ it('should match snapshot with border prop system', function () {
206
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
207
+ b: "small",
208
+ bRadius: "small"
209
+ }))),
210
+ container = _render8.container;
211
+
212
+ expect(container).toMatchSnapshot();
213
+ });
214
+ it('should match snapshot with elevation prop system', function () {
215
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Progress, {
216
+ elevation: "small"
217
+ }))),
218
+ container = _render9.container;
219
+
220
+ expect(container).toMatchSnapshot();
221
+ });
222
+ });
@@ -0,0 +1,4 @@
1
+ import { RadioGroup, RadioButton, Radio } from './native';
2
+ RadioGroup.Button = RadioButton;
3
+ RadioGroup.Radio = Radio;
4
+ export default RadioGroup;
@@ -0,0 +1,64 @@
1
+ var _excluded = ["value", "children"],
2
+ _excluded2 = ["onChange", "small", "selectedValue"];
3
+
4
+ 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); }
5
+
6
+ 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; }
7
+
8
+ import React, { useContext } from 'react';
9
+ import { string, oneOfType, number, node } from 'prop-types';
10
+ import { TouchableWithoutFeedback } from 'react-native';
11
+ import styled from 'styled-components';
12
+ import RadioGroupContext from '../../RadioGroupContext';
13
+ var RadioMark = styled.View(function (_ref) {
14
+ var radiogroup = _ref.theme.yoga.components.radiogroup,
15
+ small = _ref.small,
16
+ checked = _ref.checked;
17
+ return "\n align-items: center;\n justify-content: center;\n\n height: " + (small ? radiogroup.button.height.small : radiogroup.button.height.normal) + "px;\n padding-left: " + radiogroup.button.padding.left + "px;\n padding-right: " + radiogroup.button.padding.right + "px;\n\n background-color: " + radiogroup.button.backgroundColor + ";\n border-radius: " + radiogroup.button.border.radius + "px;\n\n font-size: " + radiogroup.font.size + "px;\n\n " + (checked ? "\n background-color: " + radiogroup.checked.backgroundColor + ";\n " : "") + "\n";
18
+ });
19
+ var Text = styled.Text(function (_ref2) {
20
+ var _ref2$theme$yoga = _ref2.theme.yoga,
21
+ baseFont = _ref2$theme$yoga.baseFont,
22
+ radiogroup = _ref2$theme$yoga.components.radiogroup,
23
+ checked = _ref2.checked;
24
+ return "\n font-family: " + baseFont.family + ";\n color: " + radiogroup.font.color + ";\n\n " + (checked ? "\n color: " + radiogroup.checked.font.color + ";\n font-weight: " + radiogroup.checked.font.weight + ";\n " : '') + "\n ";
25
+ });
26
+ /** Radio group allows user to select one option from a set of options. Use
27
+ value on group to set the selected option. */
28
+
29
+ var RadioGroupButton = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
30
+ var value = _ref3.value,
31
+ children = _ref3.children,
32
+ rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
33
+
34
+ var _useContext = useContext(RadioGroupContext),
35
+ onChange = _useContext.onChange,
36
+ small = _useContext.small,
37
+ selectedValue = _useContext.selectedValue,
38
+ context = _objectWithoutPropertiesLoose(_useContext, _excluded2);
39
+
40
+ var inputValue = value || children;
41
+ var checked = inputValue === selectedValue;
42
+ return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, _extends({
43
+ onPress: function onPress() {
44
+ onChange({
45
+ value: inputValue
46
+ });
47
+ }
48
+ }, context), /*#__PURE__*/React.createElement(RadioMark, _extends({
49
+ small: small,
50
+ checked: checked,
51
+ ref: ref
52
+ }, rest), /*#__PURE__*/React.createElement(Text, {
53
+ checked: checked
54
+ }, children)));
55
+ });
56
+ RadioGroupButton.displayName = 'RadioGroup.Button';
57
+ RadioGroupButton.propTypes = {
58
+ value: oneOfType([string, number]),
59
+ children: node.isRequired
60
+ };
61
+ RadioGroupButton.defaultProps = {
62
+ value: ''
63
+ };
64
+ export default RadioGroupButton;