auth0-lock 11.34.1 → 12.0.0-beta.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 (241) hide show
  1. package/.browserslistrc +1 -0
  2. package/.circleci/config.yml +4 -2
  3. package/.eslintrc.json +5 -5
  4. package/.github/workflows/codeql.yml +41 -0
  5. package/.shiprc +4 -5
  6. package/CHANGELOG.md +32 -0
  7. package/EXAMPLES.md +626 -0
  8. package/README.md +77 -649
  9. package/karma.conf.js +1 -1
  10. package/lib/CSSCore.js +1 -4
  11. package/lib/__tests__/auth_button.js +12 -22
  12. package/lib/__tests__/connection/database/actions.js +48 -49
  13. package/lib/__tests__/connection/database/index.js +22 -28
  14. package/lib/__tests__/connection/database/login_pane.js +20 -41
  15. package/lib/__tests__/connection/database/password_reset_confirmation.js +19 -26
  16. package/lib/__tests__/connection/database/reset_password.js +17 -39
  17. package/lib/__tests__/connection/database/signed_up_confirmation.js +19 -26
  18. package/lib/__tests__/connection/enterprise/actions.js +22 -47
  19. package/lib/__tests__/connection/enterprise/hrd_pane.js +16 -33
  20. package/lib/__tests__/connection/enterprise/hrd_screen.js +26 -40
  21. package/lib/__tests__/connection/enterprise/quick_auth_screen.js +27 -68
  22. package/lib/__tests__/connection/passwordless/ask_vcode.js +29 -51
  23. package/lib/__tests__/connection/passwordless/email_sent_confirmation.js +19 -26
  24. package/lib/__tests__/connection/passwordless/passwordless.js +35 -97
  25. package/lib/__tests__/core/actions.js +23 -46
  26. package/lib/__tests__/core/client/index.js +10 -13
  27. package/lib/__tests__/core/index.js +46 -94
  28. package/lib/__tests__/core/remote_data.js +14 -20
  29. package/lib/__tests__/core/signed_in_confirmation.js +19 -26
  30. package/lib/__tests__/core/sso/last_login_screen.js +27 -50
  31. package/lib/__tests__/core/tenant.js +10 -12
  32. package/lib/__tests__/core/web_api/helper.js +6 -14
  33. package/lib/__tests__/core/web_api/p2_api.js +38 -33
  34. package/lib/__tests__/core/web_api.js +37 -33
  35. package/lib/__tests__/engine/classic/login.js +20 -41
  36. package/lib/__tests__/engine/classic/mfa_login_screen.js +6 -19
  37. package/lib/__tests__/engine/classic/sign_up_pane.js +33 -55
  38. package/lib/__tests__/engine/classic/sign_up_screen.js +18 -45
  39. package/lib/__tests__/engine/classic.js +13 -6
  40. package/lib/__tests__/engine/passwordless.js +2 -5
  41. package/lib/__tests__/field/captcha/recaptcha_enterprise.js +27 -27
  42. package/lib/__tests__/field/captcha/recaptchav2.js +27 -27
  43. package/lib/__tests__/field/captcha.js +39 -51
  44. package/lib/__tests__/field/custom_input.js +23 -47
  45. package/lib/__tests__/field/email.js +2 -3
  46. package/lib/__tests__/field/email_pane.js +25 -48
  47. package/lib/__tests__/field/field.js +9 -13
  48. package/lib/__tests__/field/login_pane.js +30 -34
  49. package/lib/__tests__/field/mfa_code_pane.js +13 -28
  50. package/lib/__tests__/field/option_selection_pane.js +7 -25
  51. package/lib/__tests__/field/password.js +6 -12
  52. package/lib/__tests__/field/password_pane.js +29 -46
  53. package/lib/__tests__/field/phone_number_pane.js +18 -41
  54. package/lib/__tests__/field/social_buttons_pane.js +30 -47
  55. package/lib/__tests__/field/username.js +27 -48
  56. package/lib/__tests__/field/username_pane.js +30 -47
  57. package/lib/__tests__/field/vcode.js +5 -13
  58. package/lib/__tests__/field/vcode_pane.js +20 -44
  59. package/lib/__tests__/i18n.js +28 -53
  60. package/lib/__tests__/quick-auth/actions.js +4 -27
  61. package/lib/__tests__/setup-tests.js +7 -9
  62. package/lib/__tests__/testUtils.js +41 -58
  63. package/lib/__tests__/ui/box/chrome.js +24 -49
  64. package/lib/__tests__/ui/box/confirmation_pane.js +19 -36
  65. package/lib/__tests__/ui/box/container.js +21 -46
  66. package/lib/__tests__/ui/box/global_message.js +60 -37
  67. package/lib/__tests__/ui/input/email_input.js +6 -17
  68. package/lib/__tests__/ui/input/input_wrap.js +6 -19
  69. package/lib/__tests__/ui/input/password/password_strength.js +13 -15
  70. package/lib/__tests__/ui/input/password_input.js +22 -27
  71. package/lib/__tests__/utils/format.js +10 -17
  72. package/lib/__tests__/utils/url_utils.js +2 -5
  73. package/lib/avatar/gravatar_provider.js +13 -28
  74. package/lib/avatar.js +22 -41
  75. package/lib/browser.js +372 -23
  76. package/lib/connection/captcha.js +14 -32
  77. package/lib/connection/database/actions.js +39 -108
  78. package/lib/connection/database/index.js +90 -191
  79. package/lib/connection/database/login_pane.js +107 -147
  80. package/lib/connection/database/login_sign_up_tabs.js +106 -125
  81. package/lib/connection/database/mfa_pane.js +50 -69
  82. package/lib/connection/database/password_reset_confirmation.js +51 -73
  83. package/lib/connection/database/reset_password.js +116 -132
  84. package/lib/connection/database/reset_password_pane.js +45 -56
  85. package/lib/connection/database/sign_up_terms.js +17 -23
  86. package/lib/connection/database/signed_up_confirmation.js +52 -75
  87. package/lib/connection/enterprise/actions.js +23 -52
  88. package/lib/connection/enterprise/hrd_pane.js +60 -76
  89. package/lib/connection/enterprise/hrd_screen.js +60 -75
  90. package/lib/connection/enterprise/kerberos_screen.js +46 -60
  91. package/lib/connection/enterprise/quick_auth_screen.js +46 -64
  92. package/lib/connection/enterprise/single_sign_on_notice.js +14 -26
  93. package/lib/connection/enterprise.js +51 -84
  94. package/lib/connection/passwordless/actions.js +29 -62
  95. package/lib/connection/passwordless/ask_vcode.js +53 -60
  96. package/lib/connection/passwordless/email_sent_confirmation.js +129 -179
  97. package/lib/connection/passwordless/index.js +36 -68
  98. package/lib/connection/social/index.js +12 -15
  99. package/lib/core/actions.js +33 -85
  100. package/lib/core/client/index.js +38 -58
  101. package/lib/core/client/settings.js +12 -20
  102. package/lib/core/error_screen.js +38 -52
  103. package/lib/core/index.js +152 -301
  104. package/lib/core/loading_screen.js +61 -71
  105. package/lib/core/pane_separator.js +10 -10
  106. package/lib/core/remote_data.js +28 -48
  107. package/lib/core/screen.js +85 -79
  108. package/lib/core/signed_in_confirmation.js +51 -73
  109. package/lib/core/sso/data.js +9 -17
  110. package/lib/core/sso/index.js +5 -6
  111. package/lib/core/sso/last_login_screen.js +46 -63
  112. package/lib/core/tenant/index.js +37 -59
  113. package/lib/core/tenant/settings.js +11 -15
  114. package/lib/core/web_api/helper.js +24 -30
  115. package/lib/core/web_api/p2_api.js +156 -165
  116. package/lib/core/web_api.js +101 -90
  117. package/lib/core.js +126 -160
  118. package/lib/engine/classic/login.js +92 -144
  119. package/lib/engine/classic/mfa_login_screen.js +61 -67
  120. package/lib/engine/classic/sign_up_pane.js +89 -123
  121. package/lib/engine/classic/sign_up_screen.js +112 -158
  122. package/lib/engine/classic.js +122 -183
  123. package/lib/engine/passwordless/social_or_email_login_screen.js +71 -106
  124. package/lib/engine/passwordless/social_or_phone_number_login_screen.js +70 -100
  125. package/lib/engine/passwordless.js +75 -104
  126. package/lib/field/actions.js +11 -17
  127. package/lib/field/captcha/captcha_pane.js +82 -102
  128. package/lib/field/captcha/recaptcha.js +140 -145
  129. package/lib/field/captcha.js +7 -10
  130. package/lib/field/custom_input.js +37 -50
  131. package/lib/field/email/email_pane.js +90 -109
  132. package/lib/field/email.js +17 -35
  133. package/lib/field/index.js +51 -88
  134. package/lib/field/mfa-code/mfa_code_pane.js +57 -71
  135. package/lib/field/mfa_code.js +15 -21
  136. package/lib/field/option_selection_pane.js +16 -22
  137. package/lib/field/password/password_pane.js +79 -91
  138. package/lib/field/password.js +8 -14
  139. package/lib/field/phone-number/locations.js +7 -3
  140. package/lib/field/phone-number/phone_number_pane.js +87 -124
  141. package/lib/field/phone_number.js +16 -30
  142. package/lib/field/social/event.js +9 -12
  143. package/lib/field/social/social_buttons_pane.js +93 -121
  144. package/lib/field/username/username_pane.js +105 -123
  145. package/lib/field/username.js +16 -26
  146. package/lib/field/vcode/vcode_pane.js +67 -93
  147. package/lib/field/vcode.js +5 -5
  148. package/lib/i18n/af.js +7 -4
  149. package/lib/i18n/ar.js +7 -4
  150. package/lib/i18n/az.js +7 -4
  151. package/lib/i18n/bg.js +7 -4
  152. package/lib/i18n/ca.js +7 -4
  153. package/lib/i18n/cs.js +7 -4
  154. package/lib/i18n/da.js +7 -4
  155. package/lib/i18n/de.js +7 -3
  156. package/lib/i18n/el.js +7 -4
  157. package/lib/i18n/en.js +9 -4
  158. package/lib/i18n/es.js +7 -3
  159. package/lib/i18n/et.js +7 -4
  160. package/lib/i18n/fa.js +7 -4
  161. package/lib/i18n/fi.js +7 -4
  162. package/lib/i18n/fr.js +7 -4
  163. package/lib/i18n/he.js +7 -4
  164. package/lib/i18n/hr.js +7 -4
  165. package/lib/i18n/hu.js +7 -4
  166. package/lib/i18n/id.js +7 -4
  167. package/lib/i18n/it.js +7 -3
  168. package/lib/i18n/ja.js +7 -4
  169. package/lib/i18n/ko.js +7 -4
  170. package/lib/i18n/lt.js +7 -4
  171. package/lib/i18n/lv.js +7 -4
  172. package/lib/i18n/ms.js +7 -4
  173. package/lib/i18n/nb.js +7 -4
  174. package/lib/i18n/nl.js +7 -4
  175. package/lib/i18n/nn.js +7 -4
  176. package/lib/i18n/no.js +7 -4
  177. package/lib/i18n/pl.js +7 -4
  178. package/lib/i18n/pt-br.js +7 -3
  179. package/lib/i18n/pt.js +7 -4
  180. package/lib/i18n/ro.js +7 -4
  181. package/lib/i18n/ru.js +7 -4
  182. package/lib/i18n/sk.js +7 -4
  183. package/lib/i18n/sl.js +7 -4
  184. package/lib/i18n/sr.js +7 -4
  185. package/lib/i18n/sv.js +7 -4
  186. package/lib/i18n/tr.js +7 -4
  187. package/lib/i18n/ua.js +7 -4
  188. package/lib/i18n/uk.js +7 -4
  189. package/lib/i18n/vi.js +7 -4
  190. package/lib/i18n/zh-tw.js +7 -4
  191. package/lib/i18n/zh.js +7 -4
  192. package/lib/i18n.js +38 -75
  193. package/lib/index.js +14 -17
  194. package/lib/lock.js +29 -32
  195. package/lib/passwordless.js +29 -31
  196. package/lib/quick-auth/actions.js +19 -26
  197. package/lib/quick_auth.js +8 -10
  198. package/lib/sanitizer.js +5 -5
  199. package/lib/store/index.js +22 -42
  200. package/lib/sync.js +21 -42
  201. package/lib/ui/box/button.js +85 -105
  202. package/lib/ui/box/chrome.js +463 -548
  203. package/lib/ui/box/confirmation_pane.js +34 -48
  204. package/lib/ui/box/container.js +305 -339
  205. package/lib/ui/box/global_message.js +51 -60
  206. package/lib/ui/box/header.js +155 -177
  207. package/lib/ui/box/multisize_slide.js +233 -229
  208. package/lib/ui/box/success_pane.js +34 -37
  209. package/lib/ui/box.js +88 -93
  210. package/lib/ui/button/auth_button.js +44 -51
  211. package/lib/ui/input/captcha_input.js +162 -181
  212. package/lib/ui/input/checkbox_input.js +57 -59
  213. package/lib/ui/input/email_input.js +117 -124
  214. package/lib/ui/input/input_wrap.js +65 -80
  215. package/lib/ui/input/location_input.js +130 -150
  216. package/lib/ui/input/mfa_code_input.js +98 -98
  217. package/lib/ui/input/password/password_strength.js +103 -127
  218. package/lib/ui/input/password_input.js +141 -147
  219. package/lib/ui/input/phone_number_input.js +101 -109
  220. package/lib/ui/input/select_input.js +120 -132
  221. package/lib/ui/input/text_input.js +89 -84
  222. package/lib/ui/input/username_input.js +109 -115
  223. package/lib/ui/input/vcode_input.js +110 -118
  224. package/lib/ui/list.js +224 -247
  225. package/lib/ui/pane/quick_auth_pane.js +55 -80
  226. package/lib/utils/atom.js +55 -48
  227. package/lib/utils/cache.js +54 -43
  228. package/lib/utils/cdn_utils.js +17 -31
  229. package/lib/utils/createRef.js +3 -1
  230. package/lib/utils/data_utils.js +10 -16
  231. package/lib/utils/fn_utils.js +5 -4
  232. package/lib/utils/format.js +6 -8
  233. package/lib/utils/id_utils.js +4 -3
  234. package/lib/utils/jsonp_utils.js +20 -17
  235. package/lib/utils/media_utils.js +4 -2
  236. package/lib/utils/preload_utils.js +4 -3
  237. package/lib/utils/string_utils.js +4 -4
  238. package/lib/utils/url_utils.js +4 -3
  239. package/opslevel.yml +6 -0
  240. package/package.json +53 -38
  241. package/webpack.config.js +36 -3
@@ -1,23 +1,17 @@
1
- 'use strict';
2
-
3
- var _immutable = require('immutable');
4
-
5
- var _immutable2 = _interopRequireDefault(_immutable);
1
+ "use strict";
6
2
 
3
+ var _immutable = _interopRequireDefault(require("immutable"));
7
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
5
  describe('field/username', function () {
10
- var username = void 0;
11
- var dbConnection = void 0;
6
+ var username;
7
+ var dbConnection;
12
8
  beforeEach(function () {
13
9
  jest.resetModules();
14
-
15
10
  jest.mock('field/index', function () {
16
11
  return {
17
12
  setField: jest.fn()
18
13
  };
19
14
  });
20
-
21
15
  jest.mock('field/email', function () {
22
16
  return {
23
17
  validateEmail: function validateEmail(s) {
@@ -25,7 +19,6 @@ describe('field/username', function () {
25
19
  }
26
20
  };
27
21
  });
28
-
29
22
  jest.mock('connection/database', function () {
30
23
  return {
31
24
  databaseConnection: function databaseConnection(m) {
@@ -33,9 +26,8 @@ describe('field/username', function () {
33
26
  }
34
27
  };
35
28
  });
36
-
37
29
  username = require('field/username');
38
- dbConnection = _immutable2.default.fromJS({
30
+ dbConnection = _immutable.default.fromJS({
39
31
  validation: null
40
32
  });
41
33
  });
@@ -48,23 +40,24 @@ describe('field/username', function () {
48
40
  });
49
41
  });
50
42
  describe('getUsernameValidation()', function () {
51
- it('returns database connection\'s username validation', function () {
52
- expect(username.getUsernameValidation(_immutable2.default.fromJS({
43
+ it("returns database connection's username validation", function () {
44
+ expect(username.getUsernameValidation(_immutable.default.fromJS({
53
45
  validation: {
54
- username: { min: 1, max: 2 }
46
+ username: {
47
+ min: 1,
48
+ max: 2
49
+ }
55
50
  }
56
51
  }))).toMatchSnapshot();
57
52
  });
58
- it('returns null there\'s no db connection username validation', function () {
53
+ it("returns null there's no db connection username validation", function () {
59
54
  expect(username.getUsernameValidation(dbConnection)).toBe(null);
60
55
  });
61
56
  });
62
57
  describe('setUsername()', function () {
63
- it('calls setField', function () {
58
+ it("calls setField", function () {
64
59
  username.setUsername(dbConnection, 'a-username', 'username', true);
65
-
66
60
  var mock = require('field/index').setField.mock;
67
-
68
61
  expect(mock.calls.length).toBe(1);
69
62
  expect(mock.calls[0]).toMatchSnapshot();
70
63
  });
@@ -72,94 +65,80 @@ describe('field/username', function () {
72
65
  it('validates when usernameStyle is `email`', function () {
73
66
  var email = 'a@a.com';
74
67
  username.setUsername(dbConnection, email, 'email', true);
75
-
76
68
  var mock = require('field/index').setField.mock;
77
-
78
69
  expect(mock.calls[0][3](email)).toBe(email);
79
70
  });
80
71
  it('validates when usernameStyle is `username`', function () {
81
72
  var theUsername = 'the_user';
82
73
  username.setUsername(dbConnection, theUsername, 'username', true);
83
-
84
74
  var mock = require('field/index').setField.mock;
85
-
86
75
  expect(mock.calls[0][3](theUsername)).toBe(true);
87
76
  });
88
77
  it('validates when username looks like an email', function () {
89
78
  var email = 'a@a.com';
90
79
  username.setUsername(dbConnection, email, null, true);
91
-
92
80
  var mock = require('field/index').setField.mock;
93
-
94
81
  expect(mock.calls[0][3](email)).toBe(email);
95
82
  });
96
83
  it('validates when username does not look like an email', function () {
97
84
  var theUsername = 'the_user';
98
85
  username.setUsername(dbConnection, theUsername, null, true);
99
-
100
86
  var mock = require('field/index').setField.mock;
101
-
102
87
  expect(mock.calls[0][3](theUsername)).toBe(true);
103
88
  });
104
89
  it('defaults usernameStyle to `username`', function () {
105
90
  var theUsername = 'the_user';
106
91
  username.setUsername(dbConnection, theUsername, undefined, true);
107
-
108
92
  var mock = require('field/index').setField.mock;
109
-
110
93
  expect(mock.calls[0][3](theUsername)).toBe(true);
111
94
  });
112
95
  it('defaults validateUsernameFormat to `true`', function () {
113
96
  var theUsername = 'the_user';
114
97
  username.setUsername(dbConnection, theUsername, 'username', undefined);
115
-
116
98
  var mock = require('field/index').setField.mock;
117
-
118
99
  expect(mock.calls[0][3](theUsername)).toBe(true);
119
100
  });
120
101
  describe('when in username mode', function () {
121
102
  var expectToFailWith = function expectToFailWith(theUsername) {
122
103
  username.setUsername(dbConnection, theUsername, 'username', true);
123
-
124
104
  var mock = require('field/index').setField.mock;
125
-
126
105
  expect(mock.calls[0][3](theUsername)).toBe(false);
127
106
  };
128
107
  var expectToSuccedWith = function expectToSuccedWith(theUsername) {
129
108
  username.setUsername(dbConnection, theUsername, 'username', true);
130
-
131
109
  var mock = require('field/index').setField.mock;
132
-
133
110
  expect(mock.calls[0][3](theUsername)).toBe(true);
134
111
  };
135
112
  describe('validates if the username is not empty', function () {
136
113
  it('when `validateUsernameFormat` is true but there is no db connection validation', function () {
137
114
  var theUsername = '';
138
115
  username.setUsername(dbConnection, theUsername, 'username', true);
139
-
140
116
  var mock = require('field/index').setField.mock;
141
-
142
117
  expect(mock.calls[0][3](theUsername)).toBe(false);
143
118
  });
144
119
  it('when `validateUsernameFormat` is false and there is db connection validation', function () {
145
120
  var theUsername = '';
146
- var customDbConnection = _immutable2.default.fromJS({
121
+ var customDbConnection = _immutable.default.fromJS({
147
122
  validation: {
148
- username: { min: 1, max: 2 }
123
+ username: {
124
+ min: 1,
125
+ max: 2
126
+ }
149
127
  }
150
128
  });
151
129
  username.setUsername(customDbConnection, theUsername, 'username', false);
152
-
153
130
  var mock = require('field/index').setField.mock;
154
-
155
131
  expect(mock.calls[0][3](theUsername)).toBe(false);
156
132
  });
157
133
  });
158
134
  describe('with a db connection validation', function () {
159
135
  beforeEach(function () {
160
- dbConnection = _immutable2.default.fromJS({
136
+ dbConnection = _immutable.default.fromJS({
161
137
  validation: {
162
- username: { min: 3, max: 5 }
138
+ username: {
139
+ min: 3,
140
+ max: 5
141
+ }
163
142
  }
164
143
  });
165
144
  });
@@ -173,15 +152,15 @@ describe('field/username', function () {
173
152
  expectToFailWith('a@a.com');
174
153
  });
175
154
  it('validates invalid chars', function () {
176
- var invalidChars = '{}[],;?/\\%\xA8&*()\xB9\xB2\xB3\xAA\xBA\xA7\xA3\xA2\xAC<>|" '.split('');
155
+ var invalidChars = "{}[],;?/\\%\xA8&*()\xB9\xB2\xB3\xAA\xBA\xA7\xA3\xA2\xAC<>|\" ".split('');
177
156
  invalidChars.forEach(function (i) {
178
- return expectToFailWith('aa' + i);
157
+ return expectToFailWith("aa".concat(i));
179
158
  });
180
159
  });
181
160
  it('accepts letters, numbers, `_`, `-`, `+` and `.`', function () {
182
- var validChars = '_+-.!#$\'^`~@'.split('');
161
+ var validChars = "_+-.!#$'^`~@".split('');
183
162
  validChars.forEach(function (i) {
184
- return expectToSuccedWith('aa' + i);
163
+ return expectToSuccedWith("aa".concat(i));
185
164
  });
186
165
  });
187
166
  });
@@ -1,33 +1,23 @@
1
- 'use strict';
2
-
3
- var _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; };
4
-
5
- var _react = require('react');
6
-
7
- var _react2 = _interopRequireDefault(_react);
8
-
9
- var _enzyme = require('enzyme');
10
-
11
- var _testUtils = require('testUtils');
1
+ "use strict";
12
2
 
3
+ var _react = _interopRequireDefault(require("react"));
4
+ var _enzyme = require("enzyme");
5
+ var _testUtils = require("testUtils");
13
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
7
+ 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); }
15
8
  jest.mock('ui/input/username_input', function () {
16
9
  return (0, _testUtils.mockComponent)('username_input');
17
10
  });
18
-
19
11
  var getComponent = function getComponent() {
20
12
  return require('field/username/username_pane').default;
21
13
  };
22
-
23
14
  describe('UsernamePane', function () {
24
15
  var defaultProps = {
25
16
  i18n: {
26
17
  str: function str() {
27
- for (var _len = arguments.length, keys = Array(_len), _key = 0; _key < _len; _key++) {
18
+ for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
28
19
  keys[_key] = arguments[_key];
29
20
  }
30
-
31
21
  return keys.join(',');
32
22
  }
33
23
  },
@@ -40,10 +30,8 @@ describe('UsernamePane', function () {
40
30
  usernameInputPlaceholder: 'usernameInputPlaceholder',
41
31
  strictValidation: false
42
32
  };
43
-
44
33
  beforeEach(function () {
45
34
  jest.resetModules();
46
-
47
35
  var mockUsername = 'username';
48
36
  jest.mock('field/index', function () {
49
37
  return {
@@ -58,7 +46,6 @@ describe('UsernamePane', function () {
58
46
  }
59
47
  };
60
48
  });
61
-
62
49
  jest.mock('field/username', function () {
63
50
  return {
64
51
  getUsernameValidation: function getUsernameValidation() {
@@ -70,7 +57,6 @@ describe('UsernamePane', function () {
70
57
  setUsername: 'setUsername'
71
58
  };
72
59
  });
73
-
74
60
  jest.mock('core/index', function () {
75
61
  return {
76
62
  id: function id() {
@@ -89,14 +75,12 @@ describe('UsernamePane', function () {
89
75
  }
90
76
  };
91
77
  });
92
-
93
78
  jest.mock('avatar', function () {
94
79
  return {
95
80
  requestAvatar: jest.fn(),
96
81
  debouncedRequestAvatar: jest.fn()
97
82
  };
98
83
  });
99
-
100
84
  jest.mock('store/index', function () {
101
85
  return {
102
86
  swap: jest.fn(),
@@ -104,10 +88,9 @@ describe('UsernamePane', function () {
104
88
  };
105
89
  });
106
90
  });
107
-
108
91
  it('renders correctly', function () {
109
92
  var UsernamePane = getComponent();
110
- (0, _testUtils.expectComponent)(_react2.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
93
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
111
94
  });
112
95
  it('sets `blankErrorHint` when username is empty', function () {
113
96
  var fieldIndexMock = require('field/index');
@@ -118,47 +101,45 @@ describe('UsernamePane', function () {
118
101
  return undefined;
119
102
  };
120
103
  var UsernamePane = getComponent();
121
-
122
- (0, _testUtils.expectComponent)(_react2.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
104
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
123
105
  });
124
106
  it('sets `usernameFormatErrorHint` when usernameLooksLikeEmail() returns false and `validateFormat` is true', function () {
125
107
  var fieldUsernameMock = require('field/username');
126
108
  fieldUsernameMock.getUsernameValidation = function () {
127
- return { min: 'min', max: 'max' };
109
+ return {
110
+ min: 'min',
111
+ max: 'max'
112
+ };
128
113
  };
129
114
  fieldUsernameMock.usernameLooksLikeEmail = function () {
130
115
  return false;
131
116
  };
132
117
  var UsernamePane = getComponent();
133
-
134
- (0, _testUtils.expectComponent)(_react2.default.createElement(UsernamePane, _extends({}, defaultProps, { validateFormat: true }))).toMatchSnapshot();
118
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(UsernamePane, _extends({}, defaultProps, {
119
+ validateFormat: true
120
+ }))).toMatchSnapshot();
135
121
  });
136
122
  it('sets isValid as true when `isFieldVisiblyInvalid` is false', function () {
137
123
  require('field/index').isFieldVisiblyInvalid = function () {
138
124
  return false;
139
125
  };
140
126
  var UsernamePane = getComponent();
141
-
142
- (0, _testUtils.expectComponent)(_react2.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
127
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
143
128
  });
144
129
  it('sets autoComplete to true when `allowAutocomplete` is true', function () {
145
130
  require('core/index').ui.allowAutocomplete = function () {
146
131
  return true;
147
132
  };
148
133
  var UsernamePane = getComponent();
149
-
150
- (0, _testUtils.expectComponent)(_react2.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
134
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps)).toMatchSnapshot();
151
135
  });
152
136
  it('fetches the avatar on componentDidMount if ui.avatar is true and there is a username', function () {
153
137
  require('core/index').ui.avatar = function () {
154
138
  return true;
155
139
  };
156
140
  var UsernamePane = getComponent();
157
-
158
- (0, _enzyme.mount)(_react2.default.createElement(UsernamePane, defaultProps));
159
-
141
+ (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps));
160
142
  var mock = require('avatar').requestAvatar.mock;
161
-
162
143
  expect(mock.calls.length).toBe(1);
163
144
  });
164
145
  it('fetches the avatar onChange if ui.avatar is true', function () {
@@ -166,24 +147,26 @@ describe('UsernamePane', function () {
166
147
  return true;
167
148
  };
168
149
  var UsernamePane = getComponent();
169
-
170
- var wrapper = (0, _enzyme.mount)(_react2.default.createElement(UsernamePane, defaultProps));
150
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps));
171
151
  var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
172
- props.onChange({ target: { value: 'newUser' } });
173
-
152
+ props.onChange({
153
+ target: {
154
+ value: 'newUser'
155
+ }
156
+ });
174
157
  var mock = require('avatar').debouncedRequestAvatar.mock;
175
-
176
158
  expect(mock.calls.length).toBe(1);
177
159
  });
178
160
  it('calls `swap` onChange', function () {
179
161
  var UsernamePane = getComponent();
180
-
181
- var wrapper = (0, _enzyme.mount)(_react2.default.createElement(UsernamePane, defaultProps));
162
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(UsernamePane, defaultProps));
182
163
  var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
183
- props.onChange({ target: { value: 'newUser' } });
184
-
164
+ props.onChange({
165
+ target: {
166
+ value: 'newUser'
167
+ }
168
+ });
185
169
  var mock = require('store/index').swap.mock;
186
-
187
170
  expect(mock.calls.length).toBe(2);
188
171
  expect(mock.calls[1]).toMatchSnapshot();
189
172
  });
@@ -1,30 +1,22 @@
1
- 'use strict';
2
-
3
- var _immutable = require('immutable');
4
-
5
- var _immutable2 = _interopRequireDefault(_immutable);
1
+ "use strict";
6
2
 
3
+ var _immutable = _interopRequireDefault(require("immutable"));
7
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
5
  describe('field/vcode', function () {
10
- var vcode = void 0;
6
+ var vcode;
11
7
  beforeEach(function () {
12
8
  jest.resetModules();
13
-
14
9
  jest.mock('field/index', function () {
15
10
  return {
16
11
  setField: jest.fn()
17
12
  };
18
13
  });
19
-
20
14
  vcode = require('field/vcode');
21
15
  });
22
16
  describe('setVcode()', function () {
23
- it('removes spaces from code', function () {
24
- vcode.setVcode(_immutable2.default.fromJS({}), ' 123 456 ');
25
-
17
+ it("removes spaces from code", function () {
18
+ vcode.setVcode(_immutable.default.fromJS({}), ' 123 456 ');
26
19
  var mock = require('field/index').setField.mock;
27
-
28
20
  expect(mock.calls.length).toBe(1);
29
21
  expect(mock.calls[0]).toMatchSnapshot();
30
22
  });
@@ -1,25 +1,16 @@
1
- 'use strict';
2
-
3
- var _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; };
4
-
5
- var _react = require('react');
6
-
7
- var _react2 = _interopRequireDefault(_react);
8
-
9
- var _enzyme = require('enzyme');
10
-
11
- var _testUtils = require('testUtils');
1
+ "use strict";
12
2
 
3
+ var _react = _interopRequireDefault(require("react"));
4
+ var _enzyme = require("enzyme");
5
+ var _testUtils = require("testUtils");
13
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
7
+ 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); }
15
8
  jest.mock('ui/input/vcode_input', function () {
16
9
  return (0, _testUtils.mockComponent)('vcode_input');
17
10
  });
18
-
19
11
  var getComponent = function getComponent() {
20
12
  return require('field/vcode/vcode_pane').default;
21
13
  };
22
-
23
14
  describe('VcodePane', function () {
24
15
  var defaultProps = {
25
16
  lock: {},
@@ -29,7 +20,6 @@ describe('VcodePane', function () {
29
20
  };
30
21
  beforeEach(function () {
31
22
  jest.resetModules();
32
-
33
23
  jest.mock('field/index', function () {
34
24
  return {
35
25
  vcode: function vcode() {
@@ -40,13 +30,11 @@ describe('VcodePane', function () {
40
30
  }
41
31
  };
42
32
  });
43
-
44
33
  jest.mock('field/phone_number', function () {
45
34
  return {
46
35
  setVcode: 'setVcode'
47
36
  };
48
37
  });
49
-
50
38
  jest.mock('core/index', function () {
51
39
  return {
52
40
  id: function id() {
@@ -60,7 +48,6 @@ describe('VcodePane', function () {
60
48
  }
61
49
  };
62
50
  });
63
-
64
51
  jest.mock('utils/media_utils', function () {
65
52
  return {
66
53
  isSmallScreen: function isSmallScreen() {
@@ -68,7 +55,6 @@ describe('VcodePane', function () {
68
55
  }
69
56
  };
70
57
  });
71
-
72
58
  jest.mock('store/index', function () {
73
59
  return {
74
60
  swap: jest.fn(),
@@ -76,28 +62,22 @@ describe('VcodePane', function () {
76
62
  };
77
63
  });
78
64
  });
79
-
80
65
  it('renders correctly', function () {
81
66
  var VcodePane = getComponent();
82
-
83
- (0, _testUtils.expectComponent)(_react2.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
67
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
84
68
  });
85
69
  it('shows header when instructions are available', function () {
86
70
  var VcodePane = getComponent();
87
-
88
- (0, _testUtils.expectComponent)(_react2.default.createElement(VcodePane, _extends({}, defaultProps, { instructions: _react2.default.createElement(
89
- 'span',
90
- null,
91
- 'instructions'
92
- ) }))).toMatchSnapshot();
71
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(VcodePane, _extends({}, defaultProps, {
72
+ instructions: /*#__PURE__*/_react.default.createElement("span", null, "instructions")
73
+ }))).toMatchSnapshot();
93
74
  });
94
75
  it('disable input when submitting', function () {
95
76
  require('core/index').submitting = function () {
96
77
  return true;
97
78
  };
98
79
  var VcodePane = getComponent();
99
-
100
- (0, _testUtils.expectComponent)(_react2.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
80
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
101
81
  });
102
82
  it('sets isValid as true when `isFieldVisiblyInvalid` is false and globalError() is false', function () {
103
83
  require('field/index').isFieldVisiblyInvalid = function () {
@@ -107,38 +87,34 @@ describe('VcodePane', function () {
107
87
  return false;
108
88
  };
109
89
  var VcodePane = getComponent();
110
-
111
- (0, _testUtils.expectComponent)(_react2.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
90
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
112
91
  });
113
92
  it('sets autoFocus as true when `isSmallScreen` is false', function () {
114
93
  require('utils/media_utils').isSmallScreen = function () {
115
94
  return false;
116
95
  };
117
96
  var VcodePane = getComponent();
118
-
119
- (0, _testUtils.expectComponent)(_react2.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
97
+ (0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps)).toMatchSnapshot();
120
98
  });
121
99
  it('calls `onRestart` when alternative link is clicked', function () {
122
100
  var VcodePane = getComponent();
123
-
124
- var wrapper = (0, _enzyme.mount)(_react2.default.createElement(VcodePane, defaultProps));
101
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps));
125
102
  wrapper.find('.auth0-lock-alternative-link').simulate('click');
126
-
127
103
  var mock = defaultProps.onRestart.mock;
128
-
129
104
  expect(mock.calls.length).toBe(1);
130
105
  expect(mock.calls[0]).toMatchSnapshot();
131
106
  });
132
107
  it('calls `swap` when VcodeInput changes', function () {
133
108
  var VcodePane = getComponent();
134
-
135
- var wrapper = (0, _enzyme.mount)(_react2.default.createElement(VcodePane, defaultProps));
109
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(VcodePane, defaultProps));
136
110
  var props = (0, _testUtils.extractPropsFromWrapper)(wrapper, 1);
137
-
138
- props.onChange({ preventDefault: jest.fn(), target: { value: 'newCode' } });
139
-
111
+ props.onChange({
112
+ preventDefault: jest.fn(),
113
+ target: {
114
+ value: 'newCode'
115
+ }
116
+ });
140
117
  var mock = require('store/index').swap.mock;
141
-
142
118
  expect(mock.calls.length).toBe(1);
143
119
  expect(mock.calls[0]).toMatchSnapshot();
144
120
  });