@lideralia/alife-uikit 1.2.0 → 1.2.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.
@@ -9,10 +9,18 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.ModalLoginPassCode = void 0;
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
12
18
  var _react = _interopRequireWildcard(require("react"));
13
19
 
14
20
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
21
 
22
+ var _reactGoogleRecaptcha = _interopRequireDefault(require("react-google-recaptcha"));
23
+
16
24
  var _Layout = require("../../atoms/Layout");
17
25
 
18
26
  var _Field = require("../../atoms/Field");
@@ -42,17 +50,54 @@ var ModalLoginPassCode = function ModalLoginPassCode(_ref) {
42
50
  description = _ref.description,
43
51
  labelRetry = _ref.labelRetry,
44
52
  labelRetryAction = _ref.labelRetryAction,
53
+ labelCountDown = _ref.labelCountDown,
45
54
  actionRetry = _ref.actionRetry,
46
55
  labelChange = _ref.labelChange,
47
56
  labelChangeAction = _ref.labelChangeAction,
48
57
  actionChange = _ref.actionChange,
49
58
  hasError = _ref.hasError,
50
59
  errorMessage = _ref.errorMessage,
51
- onSubmit = _ref.onSubmit;
60
+ onSubmit = _ref.onSubmit,
61
+ tokenCaptcha = _ref.tokenCaptcha;
62
+ var seconds = 30;
52
63
  var pass1Ref = (0, _react.useRef)(null);
53
64
  var pass2Ref = (0, _react.useRef)(null);
54
65
  var pass3Ref = (0, _react.useRef)(null);
55
66
  var pass4Ref = (0, _react.useRef)(null);
67
+
68
+ var recaptchaRef = _react.default.createRef();
69
+
70
+ var _useState = (0, _react.useState)(seconds),
71
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
72
+ countdown = _useState2[0],
73
+ setCountdown = _useState2[1];
74
+
75
+ var _useState3 = (0, _react.useState)(true),
76
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
77
+ isCountdown = _useState4[0],
78
+ setIsCountdown = _useState4[1];
79
+
80
+ var labelCountMessage = labelCountDown.replace('{countdown}', countdown);
81
+
82
+ var onChangeCaptcha = function onChangeCaptcha(valueToken) {
83
+ actionInput('token', valueToken);
84
+ actionRetry(valueToken);
85
+ };
86
+
87
+ (0, _react.useEffect)(function () {
88
+ var timer = countdown > 0 && isCountdown && setInterval(function () {
89
+ return setCountdown(countdown - 1);
90
+ }, 1000);
91
+
92
+ if (countdown === 0) {
93
+ setIsCountdown(false);
94
+ setCountdown(seconds);
95
+ }
96
+
97
+ return function () {
98
+ return clearInterval(timer);
99
+ };
100
+ }, [countdown, isCountdown]);
56
101
  return _react.default.createElement(_Modal.Modal, {
57
102
  width: "339px",
58
103
  id: id,
@@ -161,7 +206,15 @@ var ModalLoginPassCode = function ModalLoginPassCode(_ref) {
161
206
  sizeText: "display14",
162
207
  color: "red",
163
208
  marginY: 1
164
- }, errorMessage)), _react.default.createElement(_Modal.Modal.Actions, null, _react.default.createElement(_Layout.Box, {
209
+ }, errorMessage)), _react.default.createElement(_Modal.Modal.Actions, null, _react.default.createElement(_reactGoogleRecaptcha.default, {
210
+ style: {
211
+ display: 'inline-block'
212
+ },
213
+ ref: recaptchaRef,
214
+ sitekey: tokenCaptcha,
215
+ size: "invisible",
216
+ onChange: onChangeCaptcha
217
+ }), _react.default.createElement(_Layout.Box, {
165
218
  width: "100%",
166
219
  textAlign: "center"
167
220
  }, _react.default.createElement(_Typography.Text, {
@@ -169,11 +222,38 @@ var ModalLoginPassCode = function ModalLoginPassCode(_ref) {
169
222
  textAlign: "center",
170
223
  color: "black60",
171
224
  marginY: 2
172
- }, labelRetry), _react.default.createElement(_Typography.LinkText, {
225
+ }, labelRetry), isCountdown ? _react.default.createElement(_Typography.Text, {
226
+ sizeText: "display13",
227
+ textAlign: "center",
228
+ color: "black60",
229
+ marginY: 2
230
+ }, labelCountMessage) : _react.default.createElement(_Typography.LinkText, {
173
231
  underline: true,
174
232
  sizeText: "display13",
175
233
  textAlign: "center",
176
- onClick: actionRetry,
234
+ onClick: function () {
235
+ var _ref2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(e) {
236
+ return _regenerator.default.wrap(function _callee$(_context) {
237
+ while (1) {
238
+ switch (_context.prev = _context.next) {
239
+ case 0:
240
+ e.preventDefault();
241
+ setIsCountdown(true);
242
+ _context.next = 4;
243
+ return recaptchaRef.current.executeAsync();
244
+
245
+ case 4:
246
+ case "end":
247
+ return _context.stop();
248
+ }
249
+ }
250
+ }, _callee);
251
+ }));
252
+
253
+ return function (_x) {
254
+ return _ref2.apply(this, arguments);
255
+ };
256
+ }(),
177
257
  color: "black60"
178
258
  }, labelRetryAction)), _react.default.createElement(_Layout.Box, {
179
259
  width: "100%",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lideralia/alife-uikit",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "Librería y documentación de componentes, basada en el Design System de Alife.",
5
5
  "homepage": "https://github.com/lideralia/alife-frontend-components#readme",
6
6
  "bugs": {