@gympass/yoga 7.37.1 → 7.37.2

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 (274) 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/native/Card/Card.test.js +1 -0
  12. package/cjs/Card/native/EventCard/EventCard.test.js +1 -0
  13. package/cjs/Card/native/GymCard/CheckIn/CheckIn.test.js +1 -0
  14. package/cjs/Card/native/PlanCard/PlanCard.test.js +1 -0
  15. package/cjs/Card/web/Card/Card.test.js +22 -0
  16. package/cjs/Card/web/EventCard/EventCard.test.js +35 -0
  17. package/cjs/Card/web/PlanCard/PlanCard.test.js +95 -0
  18. package/cjs/Checkbox/native/Checkbox.test.js +1 -0
  19. package/cjs/Checkbox/native/Switch.test.js +1 -0
  20. package/cjs/Checkbox/web/Checkbox.test.js +161 -0
  21. package/cjs/Checkbox/web/Switch.test.js +65 -0
  22. package/cjs/Chips/native/Chips.test.js +1 -0
  23. package/cjs/Chips/web/Chips.test.js +138 -0
  24. package/cjs/Dialog/web/Dialog.test.js +70 -0
  25. package/cjs/Divider/native/Divider.test.js +1 -0
  26. package/cjs/Divider/web/Divider.test.js +36 -0
  27. package/cjs/Dropdown/native/Backdrop.test.js +1 -0
  28. package/cjs/Dropdown/native/Dropdown.test.js +1 -0
  29. package/cjs/Dropdown/web/Dropdown.test.js +102 -0
  30. package/cjs/Feedback/web/Feedback.test.js +89 -0
  31. package/cjs/Grid/web/Col.test.js +56 -0
  32. package/cjs/Grid/web/Container.test.js +22 -0
  33. package/cjs/Grid/web/Hide.test.js +39 -0
  34. package/cjs/Grid/web/Row.test.js +22 -0
  35. package/cjs/Header/web/Header.test.js +44 -0
  36. package/cjs/Heading/web/Heading.test.js +55 -0
  37. package/cjs/Icon/native/Icon.test.js +1 -0
  38. package/cjs/Icon/web/Icon.test.js +53 -0
  39. package/cjs/Input/native/Email.test.js +1 -0
  40. package/cjs/Input/native/Input.test.js +1 -0
  41. package/cjs/Input/native/Number.test.js +1 -0
  42. package/cjs/Input/native/Password.test.js +1 -0
  43. package/cjs/Input/native/Tel.test.js +1 -0
  44. package/cjs/Input/web/Email.test.js +20 -0
  45. package/cjs/Input/web/Input.test.js +161 -0
  46. package/cjs/Input/web/Number.test.js +20 -0
  47. package/cjs/Input/web/Password.test.js +103 -0
  48. package/cjs/Input/web/Tel.test.js +20 -0
  49. package/cjs/List/native/List.test.js +1 -0
  50. package/cjs/List/web/List.test.js +69 -0
  51. package/cjs/Progress/native/Progress.test.js +1 -0
  52. package/cjs/Progress/web/Progress.test.js +229 -0
  53. package/cjs/RadioGroup/native/Button/RadioButton.test.js +1 -0
  54. package/cjs/RadioGroup/native/Radio/Radio.test.js +1 -0
  55. package/cjs/RadioGroup/native/RadioGroup.test.js +1 -0
  56. package/cjs/RadioGroup/web/Button/RadioButton.test.js +132 -0
  57. package/cjs/RadioGroup/web/Radio/Radio.test.js +119 -0
  58. package/cjs/RadioGroup/web/RadioGroup.test.js +93 -0
  59. package/cjs/Rating/native/Rating.test.js +1 -0
  60. package/cjs/Rating/web/Rating.test.js +201 -0
  61. package/cjs/Result/native/Result.test.js +1 -0
  62. package/cjs/Slider/native/Slider.test.js +1 -0
  63. package/cjs/Slider/web/Slider.test.js +95 -0
  64. package/cjs/Snackbar/native/Snackbar.test.js +1 -0
  65. package/cjs/Snackbar/web/Snackbar.test.js +135 -0
  66. package/cjs/Stepper/native/Stepper.test.js +1 -0
  67. package/cjs/Stepper/web/Stepper.test.js +75 -0
  68. package/cjs/Tag/native/Tag.test.js +1 -0
  69. package/cjs/Tag/web/Tag.test.js +87 -0
  70. package/cjs/Text/native/Text.test.js +1 -0
  71. package/cjs/Text/web/Text.test.js +157 -0
  72. package/cjs/TextArea/native/TextArea.test.js +1 -0
  73. package/cjs/TextArea/web/TextArea.test.js +18 -0
  74. package/cjs/Theme/Provider/web/FontLoader.test.js +19 -0
  75. package/cjs/Theme/Provider/web/GlobalStyle.test.js +27 -0
  76. package/cjs/Theme/helpers/themeReader/native/native.test.js +1 -0
  77. package/cjs/Theme/helpers/themeReader/web/web.test.js +54 -0
  78. package/esm/AutoComplete/web/AutoComplete.test.js +135 -0
  79. package/esm/Avatar/index.native.js +4 -0
  80. package/esm/Avatar/native/Avatar.js +96 -0
  81. package/esm/Avatar/native/Avatar.test.js +46 -0
  82. package/esm/Avatar/native/AvatarCircle.js +24 -0
  83. package/esm/Avatar/web/Avatar.test.js +63 -0
  84. package/esm/Banner/index.native.js +2 -0
  85. package/esm/Banner/native/Banner.js +128 -0
  86. package/esm/Banner/native/Banner.test.js +103 -0
  87. package/esm/Banner/native/index.js +2 -0
  88. package/esm/Banner/web/Banner.test.js +109 -0
  89. package/esm/BottomSheet/web/BottomSheet.test.js +33 -0
  90. package/esm/Box/index.native.js +2 -0
  91. package/esm/Box/native/Box.js +4 -0
  92. package/esm/Box/native/Box.test.js +16 -0
  93. package/esm/Box/native/index.js +2 -0
  94. package/esm/Box/web/Box.test.js +16 -0
  95. package/esm/Button/index.native.js +8 -0
  96. package/esm/Button/native/Button.js +110 -0
  97. package/esm/Button/native/Button.test.js +475 -0
  98. package/esm/Button/native/Icon.js +82 -0
  99. package/esm/Button/native/Link.js +35 -0
  100. package/esm/Button/native/Text.js +74 -0
  101. package/esm/Button/native/withTouchable.js +63 -0
  102. package/esm/Button/web/Button.test.js +764 -0
  103. package/esm/Card/index.native.js +2 -0
  104. package/esm/Card/native/Card/Actions.js +12 -0
  105. package/esm/Card/native/Card/Card.js +92 -0
  106. package/esm/Card/native/Card/Card.test.js +15 -0
  107. package/esm/Card/native/Card/Content.js +8 -0
  108. package/esm/Card/native/Card/Header.js +8 -0
  109. package/esm/Card/native/Card/index.js +8 -0
  110. package/esm/Card/native/EventCard/EventCard.js +169 -0
  111. package/esm/Card/native/EventCard/EventCard.test.js +65 -0
  112. package/esm/Card/native/EventCard/index.js +2 -0
  113. package/esm/Card/native/GymCard/CheckIn/Avatar.js +17 -0
  114. package/esm/Card/native/GymCard/CheckIn/CheckIn.js +66 -0
  115. package/esm/Card/native/GymCard/CheckIn/CheckIn.test.js +39 -0
  116. package/esm/Card/native/GymCard/CheckIn/Content.js +11 -0
  117. package/esm/Card/native/GymCard/CheckIn/Header.js +11 -0
  118. package/esm/Card/native/GymCard/CheckIn/index.js +2 -0
  119. package/esm/Card/native/GymCard/index.js +5 -0
  120. package/esm/Card/native/PlanCard/Actions.js +24 -0
  121. package/esm/Card/native/PlanCard/Content.js +82 -0
  122. package/esm/Card/native/PlanCard/List.js +73 -0
  123. package/esm/Card/native/PlanCard/PlanCard.js +54 -0
  124. package/esm/Card/native/PlanCard/PlanCard.test.js +84 -0
  125. package/esm/Card/native/PlanCard/Subtitle.js +15 -0
  126. package/esm/Card/native/PlanCard/Tag.js +33 -0
  127. package/esm/Card/native/PlanCard/index.js +15 -0
  128. package/esm/Card/native/index.js +5 -0
  129. package/esm/Card/web/Card/Card.test.js +14 -0
  130. package/esm/Card/web/EventCard/EventCard.test.js +27 -0
  131. package/esm/Card/web/PlanCard/PlanCard.test.js +85 -0
  132. package/esm/Checkbox/index.native.js +3 -0
  133. package/esm/Checkbox/native/Checkbox.js +179 -0
  134. package/esm/Checkbox/native/Checkbox.test.js +115 -0
  135. package/esm/Checkbox/native/Switch.js +115 -0
  136. package/esm/Checkbox/native/Switch.test.js +54 -0
  137. package/esm/Checkbox/native/index.js +3 -0
  138. package/esm/Checkbox/web/Checkbox.test.js +153 -0
  139. package/esm/Checkbox/web/Switch.test.js +56 -0
  140. package/esm/Chips/index.native.js +2 -0
  141. package/esm/Chips/native/Chips.js +104 -0
  142. package/esm/Chips/native/Chips.test.js +134 -0
  143. package/esm/Chips/native/Counter.js +20 -0
  144. package/esm/Chips/native/index.js +2 -0
  145. package/esm/Chips/web/Chips.test.js +128 -0
  146. package/esm/Dialog/web/Dialog.test.js +54 -0
  147. package/esm/Divider/index.native.js +2 -0
  148. package/esm/Divider/native/Divider.js +29 -0
  149. package/esm/Divider/native/Divider.test.js +29 -0
  150. package/esm/Divider/native/index.js +2 -0
  151. package/esm/Divider/web/Divider.test.js +29 -0
  152. package/esm/Dropdown/index.native.js +2 -0
  153. package/esm/Dropdown/native/Backdrop.js +93 -0
  154. package/esm/Dropdown/native/Backdrop.test.js +26 -0
  155. package/esm/Dropdown/native/Dropdown.js +142 -0
  156. package/esm/Dropdown/native/Dropdown.test.js +78 -0
  157. package/esm/Dropdown/native/Options.android.js +66 -0
  158. package/esm/Dropdown/native/Options.ios.js +71 -0
  159. package/esm/Dropdown/native/index.js +2 -0
  160. package/esm/Dropdown/web/Dropdown.test.js +93 -0
  161. package/esm/Feedback/web/Feedback.test.js +83 -0
  162. package/esm/Grid/web/Col.test.js +48 -0
  163. package/esm/Grid/web/Container.test.js +14 -0
  164. package/esm/Grid/web/Hide.test.js +31 -0
  165. package/esm/Grid/web/Row.test.js +14 -0
  166. package/esm/Header/web/Header.test.js +34 -0
  167. package/esm/Heading/web/Heading.test.js +45 -0
  168. package/esm/Icon/index.native.js +2 -0
  169. package/esm/Icon/native/Icon.test.js +47 -0
  170. package/esm/Icon/native/index.js +2 -0
  171. package/esm/Icon/web/Icon.test.js +47 -0
  172. package/esm/Input/index.native.js +6 -0
  173. package/esm/Input/native/Email.js +15 -0
  174. package/esm/Input/native/Email.test.js +13 -0
  175. package/esm/Input/native/Helper.js +62 -0
  176. package/esm/Input/native/Input.js +234 -0
  177. package/esm/Input/native/Input.test.js +181 -0
  178. package/esm/Input/native/Number.js +12 -0
  179. package/esm/Input/native/Number.test.js +13 -0
  180. package/esm/Input/native/Password.js +112 -0
  181. package/esm/Input/native/Password.test.js +125 -0
  182. package/esm/Input/native/Tel.js +14 -0
  183. package/esm/Input/native/Tel.test.js +13 -0
  184. package/esm/Input/native/index.js +6 -0
  185. package/esm/Input/web/Email.test.js +13 -0
  186. package/esm/Input/web/Input.test.js +145 -0
  187. package/esm/Input/web/Number.test.js +13 -0
  188. package/esm/Input/web/Password.test.js +90 -0
  189. package/esm/Input/web/Tel.test.js +13 -0
  190. package/esm/List/index.native.js +3 -0
  191. package/esm/List/native/List.js +22 -0
  192. package/esm/List/native/List.test.js +106 -0
  193. package/esm/List/native/ListItem.js +51 -0
  194. package/esm/List/native/index.js +3 -0
  195. package/esm/List/web/List.test.js +62 -0
  196. package/esm/Progress/index.native.js +2 -0
  197. package/esm/Progress/native/Progress.js +103 -0
  198. package/esm/Progress/native/Progress.test.js +222 -0
  199. package/esm/Progress/native/index.js +2 -0
  200. package/esm/Progress/web/Progress.test.js +222 -0
  201. package/esm/RadioGroup/index.native.js +4 -0
  202. package/esm/RadioGroup/native/Button/RadioButton.js +64 -0
  203. package/esm/RadioGroup/native/Button/RadioButton.test.js +94 -0
  204. package/esm/RadioGroup/native/Radio/Radio.js +88 -0
  205. package/esm/RadioGroup/native/Radio/Radio.test.js +102 -0
  206. package/esm/RadioGroup/native/RadioGroup.js +66 -0
  207. package/esm/RadioGroup/native/RadioGroup.test.js +48 -0
  208. package/esm/RadioGroup/native/index.js +4 -0
  209. package/esm/RadioGroup/web/Button/RadioButton.test.js +121 -0
  210. package/esm/RadioGroup/web/Radio/Radio.test.js +108 -0
  211. package/esm/RadioGroup/web/RadioGroup.test.js +83 -0
  212. package/esm/Rating/index.native.js +2 -0
  213. package/esm/Rating/native/Rating.js +186 -0
  214. package/esm/Rating/native/Rating.test.js +121 -0
  215. package/esm/Rating/native/index.js +2 -0
  216. package/esm/Rating/web/Rating.test.js +184 -0
  217. package/esm/Result/index.native.js +8 -0
  218. package/esm/Result/native/Attendances.js +55 -0
  219. package/esm/Result/native/Details.js +97 -0
  220. package/esm/Result/native/Rate.js +35 -0
  221. package/esm/Result/native/Result.js +86 -0
  222. package/esm/Result/native/Result.test.js +107 -0
  223. package/esm/Result/native/ResultButton.js +13 -0
  224. package/esm/Result/native/Tags.js +41 -0
  225. package/esm/Result/native/TinyTextIcon.js +18 -0
  226. package/esm/Result/native/index.js +2 -0
  227. package/esm/Slider/index.native.js +2 -0
  228. package/esm/Slider/native/Label.js +19 -0
  229. package/esm/Slider/native/Marker.js +68 -0
  230. package/esm/Slider/native/Slider.js +156 -0
  231. package/esm/Slider/native/Slider.test.js +115 -0
  232. package/esm/Slider/native/Step.js +14 -0
  233. package/esm/Slider/native/Tooltip.js +90 -0
  234. package/esm/Slider/web/Slider.test.js +86 -0
  235. package/esm/Snackbar/index.native.js +2 -0
  236. package/esm/Snackbar/native/Snackbar.js +199 -0
  237. package/esm/Snackbar/native/Snackbar.test.js +98 -0
  238. package/esm/Snackbar/native/SnackbarAnimationWrapper.js +124 -0
  239. package/esm/Snackbar/native/index.js +2 -0
  240. package/esm/Snackbar/web/Snackbar.test.js +116 -0
  241. package/esm/Stepper/index.native.js +3 -0
  242. package/esm/Stepper/native/Dots.js +45 -0
  243. package/esm/Stepper/native/Line.js +35 -0
  244. package/esm/Stepper/native/Step.js +19 -0
  245. package/esm/Stepper/native/Stepper.js +52 -0
  246. package/esm/Stepper/native/Stepper.test.js +68 -0
  247. package/esm/Stepper/native/index.js +3 -0
  248. package/esm/Stepper/web/Stepper.test.js +67 -0
  249. package/esm/Tag/index.native.js +4 -0
  250. package/esm/Tag/native/Informative.js +71 -0
  251. package/esm/Tag/native/Tag.js +75 -0
  252. package/esm/Tag/native/Tag.test.js +92 -0
  253. package/esm/Tag/native/index.js +2 -0
  254. package/esm/Tag/web/Tag.test.js +79 -0
  255. package/esm/Text/index.native.js +16 -0
  256. package/esm/Text/native/Text.js +69 -0
  257. package/esm/Text/native/Text.test.js +149 -0
  258. package/esm/Text/native/index.js +2 -0
  259. package/esm/Text/web/Text.test.js +149 -0
  260. package/esm/TextArea/index.native.js +2 -0
  261. package/esm/TextArea/native/TextArea.js +59 -0
  262. package/esm/TextArea/native/TextArea.test.js +11 -0
  263. package/esm/TextArea/native/index.js +2 -0
  264. package/esm/TextArea/web/TextArea.test.js +11 -0
  265. package/esm/Theme/Provider/index.native.js +2 -0
  266. package/esm/Theme/Provider/native/index.js +2 -0
  267. package/esm/Theme/Provider/web/FontLoader.test.js +11 -0
  268. package/esm/Theme/Provider/web/GlobalStyle.test.js +17 -0
  269. package/esm/Theme/helpers/themeReader/native/native.test.js +53 -0
  270. package/esm/Theme/helpers/themeReader/web/web.test.js +41 -0
  271. package/esm/Theme/index.native.js +5 -0
  272. package/esm/index.native.js +24 -0
  273. package/esm/shared/index.native.js +2 -0
  274. package/package.json +6 -6
@@ -0,0 +1,181 @@
1
+ import React from 'react';
2
+ import { render, fireEvent } from '@testing-library/react-native';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ it('should match with label', function () {
13
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
14
+ label: "Input"
15
+ }))),
16
+ container = _render2.container;
17
+
18
+ expect(container).toMatchSnapshot();
19
+ });
20
+ it('should match when input is focused', function () {
21
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
22
+ label: "Input",
23
+ testID: "input"
24
+ }))),
25
+ container = _render3.container,
26
+ getByTestId = _render3.getByTestId;
27
+
28
+ fireEvent.focus(getByTestId('input'));
29
+ expect(container).toMatchSnapshot();
30
+ });
31
+ it('should match with disabled input', function () {
32
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
33
+ disabled: true
34
+ }))),
35
+ container = _render4.container;
36
+
37
+ expect(container).toMatchSnapshot();
38
+ });
39
+ it('should match with error', function () {
40
+ var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
41
+ error: "Error message"
42
+ }))),
43
+ container = _render5.container;
44
+
45
+ expect(container).toMatchSnapshot();
46
+ });
47
+ it('should match with helper text and max length', function () {
48
+ var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
49
+ helper: "Helper text",
50
+ maxLength: 20
51
+ }))),
52
+ container = _render6.container;
53
+
54
+ expect(container).toMatchSnapshot();
55
+ });
56
+ it('should match with helper text, max length and hideMaxLength', function () {
57
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
58
+ helper: "Helper text",
59
+ maxLength: 20,
60
+ hideMaxLength: true
61
+ }))),
62
+ container = _render7.container;
63
+
64
+ expect(container).toMatchSnapshot();
65
+ });
66
+ it('should match with full width', function () {
67
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
68
+ label: "Label",
69
+ full: true
70
+ }))),
71
+ container = _render8.container;
72
+
73
+ expect(container).toMatchSnapshot();
74
+ });
75
+ });
76
+ describe('Events', function () {
77
+ it('should call onChangeText', function () {
78
+ var onChangeTextMock = jest.fn();
79
+
80
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
81
+ label: "Input",
82
+ testID: "input",
83
+ onChangeText: onChangeTextMock
84
+ }))),
85
+ getByTestId = _render9.getByTestId;
86
+
87
+ fireEvent.changeText(getByTestId('input'), 'foo');
88
+ expect(onChangeTextMock).toHaveBeenCalled();
89
+ });
90
+ it('should not call onChangeText when input is disabled', function () {
91
+ var onChangeTextMock = jest.fn();
92
+
93
+ var _render10 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
94
+ label: "Input",
95
+ testID: "input",
96
+ onChangeText: onChangeTextMock,
97
+ disabled: true
98
+ }))),
99
+ getByTestId = _render10.getByTestId;
100
+
101
+ fireEvent.changeText(getByTestId('input'), 'foo');
102
+ expect(onChangeTextMock).not.toHaveBeenCalled();
103
+ });
104
+ it('should call onFocus', function () {
105
+ var onFocusMock = jest.fn();
106
+
107
+ var _render11 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
108
+ label: "Input",
109
+ testID: "input",
110
+ onFocus: onFocusMock
111
+ }))),
112
+ getByTestId = _render11.getByTestId;
113
+
114
+ fireEvent.focus(getByTestId('input'));
115
+ expect(onFocusMock).toHaveBeenCalled();
116
+ });
117
+ it('should call onBlur', function () {
118
+ var onBlurMock = jest.fn();
119
+
120
+ var _render12 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
121
+ label: "Input",
122
+ testID: "input",
123
+ onBlur: onBlurMock
124
+ }))),
125
+ getByTestId = _render12.getByTestId;
126
+
127
+ fireEvent.focus(getByTestId('input'));
128
+ fireEvent.blur(getByTestId('input'));
129
+ expect(onBlurMock).toHaveBeenCalled();
130
+ });
131
+ });
132
+ describe('maxLength', function () {
133
+ it('should update maxLength counter when add character', function () {
134
+ var _render13 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
135
+ label: "Input",
136
+ testID: "input",
137
+ maxLength: 10
138
+ }))),
139
+ getByText = _render13.getByText,
140
+ rerender = _render13.rerender;
141
+
142
+ expect(getByText('0/10').children.join('')).toBe('0/10');
143
+ rerender( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
144
+ label: "Input",
145
+ value: "foo",
146
+ maxLength: 10
147
+ })));
148
+ expect(getByText('3/10').children.join('')).toBe('3/10');
149
+ });
150
+ });
151
+ describe('clean button', function () {
152
+ it('should call onClean when press clean button', function () {
153
+ var onCleanMock = jest.fn();
154
+
155
+ var _render14 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
156
+ label: "Input",
157
+ value: "foo",
158
+ onClean: onCleanMock
159
+ }))),
160
+ getByRole = _render14.getByRole;
161
+
162
+ fireEvent.press(getByRole('button'));
163
+ expect(onCleanMock).toHaveBeenCalledWith('');
164
+ });
165
+ it('should test if clean button is present', function () {
166
+ var _render15 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
167
+ label: "Input"
168
+ }))),
169
+ rerender = _render15.rerender,
170
+ queryByRole = _render15.queryByRole; // closeButton
171
+
172
+
173
+ expect(queryByRole('button')).toBeNull();
174
+ rerender( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
175
+ label: "Input",
176
+ value: "foo"
177
+ })));
178
+ expect(queryByRole('button')).not.toBeNull();
179
+ });
180
+ });
181
+ });
@@ -0,0 +1,12 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import Input from './Input';
5
+ var InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ return /*#__PURE__*/React.createElement(Input, _extends({
7
+ ref: ref
8
+ }, props, {
9
+ keyboardType: "numeric"
10
+ }));
11
+ });
12
+ export default InputNumber;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input.Number />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Number, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ });
13
+ });
@@ -0,0 +1,112 @@
1
+ var _excluded = ["disabled", "style", "full", "onBlur", "onFocus", "theme"];
2
+
3
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+
5
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
+
7
+ import React, { useState } from 'react';
8
+ import { TouchableWithoutFeedback, Keyboard } from 'react-native';
9
+ import styled, { withTheme } from 'styled-components';
10
+ import { bool, func, shape } from 'prop-types';
11
+ import { Visibility, VisibilityOff } from '@gympass/yoga-icons';
12
+ import Input from './Input';
13
+ var Wrapper = styled.View(function (_ref) {
14
+ var full = _ref.full,
15
+ input = _ref.theme.yoga.components.input;
16
+ return "\n position: relative;\n\n width: " + (full ? '100%' : input.width + "px") + ";\n ";
17
+ });
18
+ var IconWrapper = styled.View(function (_ref2) {
19
+ var spacing = _ref2.theme.yoga.spacing;
20
+ return "\n position: absolute;\n top: 0;\n right: 0;\n\n padding-right: " + spacing.small + "px;\n padding-left: " + spacing.xxsmall + "px;\n ";
21
+ });
22
+ var Password = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
23
+ var disabled = _ref3.disabled,
24
+ style = _ref3.style,
25
+ full = _ref3.full,
26
+ _onBlur = _ref3.onBlur,
27
+ _onFocus = _ref3.onFocus,
28
+ _ref3$theme$yoga = _ref3.theme.yoga,
29
+ colors = _ref3$theme$yoga.colors,
30
+ input = _ref3$theme$yoga.components.input,
31
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded);
32
+
33
+ var _useState = useState(false),
34
+ showPassword = _useState[0],
35
+ toggleShowPassword = _useState[1];
36
+
37
+ var _useState2 = useState(false),
38
+ focused = _useState2[0],
39
+ setFocused = _useState2[1];
40
+
41
+ var iconColor = function iconColor() {
42
+ if (disabled) {
43
+ return colors.elements.backgroundAndDisabled;
44
+ }
45
+
46
+ if (focused) {
47
+ return input.font.color.focus;
48
+ }
49
+
50
+ return input.font.color["default"];
51
+ };
52
+
53
+ return /*#__PURE__*/React.createElement(Wrapper, {
54
+ style: style,
55
+ full: full
56
+ }, /*#__PURE__*/React.createElement(Input, _extends({
57
+ ref: ref
58
+ }, props, {
59
+ autoCompleteType: "password",
60
+ blurOnSubmit: false,
61
+ cleanable: false,
62
+ clearTextOnFocus: false,
63
+ disabled: disabled,
64
+ full: full,
65
+ secureTextEntry: !showPassword,
66
+ textContentType: "password",
67
+ onSubmitEditing: function onSubmitEditing() {
68
+ return Keyboard.dismiss();
69
+ },
70
+ onBlur: function onBlur(e) {
71
+ setFocused(false);
72
+
73
+ _onBlur(e);
74
+ },
75
+ onFocus: function onFocus(e) {
76
+ setFocused(true);
77
+
78
+ _onFocus(e);
79
+ }
80
+ })), /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
81
+ accessibilityRole: "button",
82
+ onPress: function onPress() {
83
+ if (disabled) return;
84
+ toggleShowPassword(!showPassword);
85
+ }
86
+ }, /*#__PURE__*/React.createElement(IconWrapper, {
87
+ disabled: disabled
88
+ }, showPassword ? /*#__PURE__*/React.createElement(Visibility, {
89
+ height: input.height,
90
+ width: 20,
91
+ fill: iconColor()
92
+ }) : /*#__PURE__*/React.createElement(VisibilityOff, {
93
+ height: input.height,
94
+ width: 20,
95
+ fill: iconColor()
96
+ }))));
97
+ });
98
+ Password.propTypes = {
99
+ disabled: bool,
100
+ full: bool,
101
+ style: shape({}),
102
+ onBlur: func,
103
+ onFocus: func
104
+ };
105
+ Password.defaultProps = {
106
+ disabled: false,
107
+ full: false,
108
+ style: undefined,
109
+ onBlur: function onBlur() {},
110
+ onFocus: function onFocus() {}
111
+ };
112
+ export default withTheme(Password);
@@ -0,0 +1,125 @@
1
+ import React from 'react';
2
+ import { render, fireEvent } from '@testing-library/react-native';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input.Password />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ it('should match when input is focused', function () {
13
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
14
+ label: "Input",
15
+ testID: "input"
16
+ }))),
17
+ container = _render2.container,
18
+ getByTestId = _render2.getByTestId;
19
+
20
+ fireEvent.focus(getByTestId('input'));
21
+ expect(container).toMatchSnapshot();
22
+ });
23
+ it('should match with disabled input', function () {
24
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
25
+ disabled: true
26
+ }))),
27
+ container = _render3.container;
28
+
29
+ expect(container).toMatchSnapshot();
30
+ });
31
+ it('should match with full width', function () {
32
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
33
+ label: "Label",
34
+ full: true
35
+ }))),
36
+ container = _render4.container;
37
+
38
+ expect(container).toMatchSnapshot();
39
+ });
40
+ });
41
+ describe('Events', function () {
42
+ it('should call onChangeText', function () {
43
+ var onChangeTextMock = jest.fn();
44
+
45
+ var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
46
+ label: "Input",
47
+ testID: "input",
48
+ onChangeText: onChangeTextMock
49
+ }))),
50
+ getByTestId = _render5.getByTestId;
51
+
52
+ fireEvent.changeText(getByTestId('input'), 'foo');
53
+ expect(onChangeTextMock).toHaveBeenCalled();
54
+ });
55
+ it('should not call onChangeText when input is readOnly', function () {
56
+ var onChangeTextMock = jest.fn();
57
+
58
+ var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
59
+ label: "Input",
60
+ testID: "input",
61
+ onChangeText: onChangeTextMock,
62
+ readOnly: true
63
+ }))),
64
+ getByTestId = _render6.getByTestId;
65
+
66
+ fireEvent.focus(getByTestId('input'));
67
+ expect(onChangeTextMock).not.toHaveBeenCalled();
68
+ });
69
+ it('should not call onChangeText when input is disabled', function () {
70
+ var onChangeTextMock = jest.fn();
71
+
72
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
73
+ label: "Input",
74
+ testID: "input",
75
+ onChangeText: onChangeTextMock,
76
+ disabled: true
77
+ }))),
78
+ getByTestId = _render7.getByTestId;
79
+
80
+ fireEvent.changeText(getByTestId('input'), 'foo');
81
+ expect(onChangeTextMock).not.toHaveBeenCalled();
82
+ });
83
+ it('should call onFocus', function () {
84
+ var onFocusMock = jest.fn();
85
+
86
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
87
+ label: "Input",
88
+ testID: "input",
89
+ onFocus: onFocusMock
90
+ }))),
91
+ getByTestId = _render8.getByTestId;
92
+
93
+ fireEvent.focus(getByTestId('input'));
94
+ expect(onFocusMock).toHaveBeenCalled();
95
+ });
96
+ it('should call onBlur', function () {
97
+ var onBlurMock = jest.fn();
98
+
99
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
100
+ label: "Input",
101
+ testID: "input",
102
+ onBlur: onBlurMock
103
+ }))),
104
+ getByTestId = _render9.getByTestId;
105
+
106
+ fireEvent.focus(getByTestId('input'));
107
+ fireEvent.blur(getByTestId('input'));
108
+ expect(onBlurMock).toHaveBeenCalled();
109
+ });
110
+ });
111
+ describe('visibility button', function () {
112
+ it('should toggle password visibility when press visibility button', function () {
113
+ var _render10 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Password, {
114
+ label: "Input",
115
+ testID: "input"
116
+ }))),
117
+ getByRole = _render10.getByRole,
118
+ getByTestId = _render10.getByTestId;
119
+
120
+ expect(getByTestId('input').props.secureTextEntry).toBe(true);
121
+ fireEvent.press(getByRole('button'));
122
+ expect(getByTestId('input').props.secureTextEntry).toBe(false);
123
+ });
124
+ });
125
+ });
@@ -0,0 +1,14 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import Input from './Input';
5
+ var Tel = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ return /*#__PURE__*/React.createElement(Input, _extends({
7
+ ref: ref
8
+ }, props, {
9
+ keyboardType: "phone-pad",
10
+ autoCompleteType: "tel",
11
+ textContentType: "telephoneNumber"
12
+ }));
13
+ });
14
+ export default Tel;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input.Tel />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Tel, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ });
13
+ });
@@ -0,0 +1,6 @@
1
+ import Input from './Input';
2
+ import Password from './Password';
3
+ import InputNumber from './Number';
4
+ import Tel from './Tel';
5
+ import Email from './Email';
6
+ export { Input, Password, InputNumber, Tel, Email };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input.Email />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Email, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ });
13
+ });
@@ -0,0 +1,145 @@
1
+ import React from 'react';
2
+ import { render, fireEvent, screen } from '@testing-library/react';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ it('should match with label', function () {
13
+ var _render2 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
14
+ label: "Input"
15
+ }))),
16
+ container = _render2.container;
17
+
18
+ expect(container).toMatchSnapshot();
19
+ });
20
+ it('should match with disabled input', function () {
21
+ var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
22
+ disabled: true
23
+ }))),
24
+ container = _render3.container;
25
+
26
+ expect(container).toMatchSnapshot();
27
+ });
28
+ it('should match with error', function () {
29
+ var _render4 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
30
+ error: "Error message"
31
+ }))),
32
+ container = _render4.container;
33
+
34
+ expect(container).toMatchSnapshot();
35
+ });
36
+ it('should match with helper text and max length', function () {
37
+ var _render5 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
38
+ helper: "Helper text",
39
+ maxLength: 20
40
+ }))),
41
+ container = _render5.container;
42
+
43
+ expect(container).toMatchSnapshot();
44
+ });
45
+ it('should match with helper text, max length and hideMaxLength', function () {
46
+ var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
47
+ helper: "Helper text",
48
+ maxLength: 20,
49
+ hideMaxLength: true
50
+ }))),
51
+ container = _render6.container;
52
+
53
+ expect(container).toMatchSnapshot();
54
+ });
55
+ it('should match with full width', function () {
56
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
57
+ label: "Label",
58
+ full: true
59
+ }))),
60
+ container = _render7.container;
61
+
62
+ expect(container).toMatchSnapshot();
63
+ });
64
+ });
65
+ describe('Events', function () {
66
+ it('should call onChange', function () {
67
+ var onChangeMock = jest.fn();
68
+ render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
69
+ label: "Input",
70
+ onChange: onChangeMock,
71
+ "data-testid": "input"
72
+ })));
73
+ fireEvent.change(screen.getByTestId('input'), {
74
+ target: {
75
+ value: 'foo'
76
+ }
77
+ });
78
+ expect(onChangeMock).toHaveBeenCalled();
79
+ });
80
+ it('should call onFocus', function () {
81
+ var onFocusMock = jest.fn();
82
+ render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
83
+ label: "Input",
84
+ "data-testid": "input",
85
+ onFocus: onFocusMock
86
+ })));
87
+ fireEvent.focus(screen.getByTestId('input'));
88
+ expect(onFocusMock).toHaveBeenCalled();
89
+ });
90
+ it('should call onBlur', function () {
91
+ var onBlurMock = jest.fn();
92
+ render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
93
+ label: "Input",
94
+ "data-testid": "input",
95
+ onBlur: onBlurMock
96
+ })));
97
+ fireEvent.focus(screen.getByTestId('input'));
98
+ fireEvent.blur(screen.getByTestId('input'));
99
+ expect(onBlurMock).toHaveBeenCalled();
100
+ });
101
+ });
102
+ describe('maxLength', function () {
103
+ it('should update maxLength counter when add character', function () {
104
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
105
+ label: "Input",
106
+ maxLength: 10
107
+ }))),
108
+ rerender = _render8.rerender;
109
+
110
+ expect(screen.getByText('0/10').textContent).toBe('0/10');
111
+ rerender( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
112
+ label: "Input",
113
+ value: "foo",
114
+ maxLength: 10
115
+ })));
116
+ expect(screen.getByText('3/10').textContent).toBe('3/10');
117
+ });
118
+ });
119
+ describe('clean button', function () {
120
+ it('should call onClean when press clean button', function () {
121
+ var onClean = jest.fn();
122
+ render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
123
+ label: "Input",
124
+ value: "foo",
125
+ onClean: onClean
126
+ })));
127
+ fireEvent.click(screen.queryByRole('button'));
128
+ expect(onClean).toHaveBeenCalled();
129
+ });
130
+ it('should test if clean button is present', function () {
131
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
132
+ label: "Input"
133
+ }))),
134
+ rerender = _render9.rerender; // closeButton
135
+
136
+
137
+ expect(screen.queryByRole('button')).toBeNull();
138
+ rerender( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input, {
139
+ label: "Input",
140
+ value: "foo"
141
+ })));
142
+ expect(screen.queryByRole('button')).not.toBeNull();
143
+ });
144
+ });
145
+ });
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider, Input } from '../..';
4
+ describe('<Input.Number />', function () {
5
+ describe('Snapshots', function () {
6
+ it('should match with default input', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Input.Number, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ });
13
+ });