@openedx/frontend-app-authn 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (505) hide show
  1. package/dist/Main.d.ts +3 -0
  2. package/{src/Main.tsx → dist/Main.js} +4 -15
  3. package/dist/Main.js.map +1 -0
  4. package/dist/app.d.ts +3 -0
  5. package/dist/app.js +41 -0
  6. package/dist/app.js.map +1 -0
  7. package/{src → dist}/app.scss +1 -1
  8. package/dist/base-container/components/default-layout/LargeLayout.d.ts +2 -0
  9. package/dist/base-container/components/default-layout/LargeLayout.js +11 -0
  10. package/dist/base-container/components/default-layout/LargeLayout.js.map +1 -0
  11. package/dist/base-container/components/default-layout/MediumLayout.d.ts +2 -0
  12. package/dist/base-container/components/default-layout/MediumLayout.js +11 -0
  13. package/dist/base-container/components/default-layout/MediumLayout.js.map +1 -0
  14. package/dist/base-container/components/default-layout/SmallLayout.d.ts +2 -0
  15. package/dist/base-container/components/default-layout/SmallLayout.js +11 -0
  16. package/dist/base-container/components/default-layout/SmallLayout.js.map +1 -0
  17. package/dist/base-container/components/default-layout/index.d.ts +3 -0
  18. package/{src/base-container/components/default-layout/index.jsx → dist/base-container/components/default-layout/index.js} +1 -0
  19. package/dist/base-container/components/default-layout/index.js.map +1 -0
  20. package/dist/base-container/components/default-layout/messages.d.ts +13 -0
  21. package/dist/base-container/components/default-layout/messages.js +15 -0
  22. package/dist/base-container/components/default-layout/messages.js.map +1 -0
  23. package/dist/base-container/components/image-layout/ExtraSmallLayout.d.ts +2 -0
  24. package/dist/base-container/components/image-layout/ExtraSmallLayout.js +10 -0
  25. package/dist/base-container/components/image-layout/ExtraSmallLayout.js.map +1 -0
  26. package/dist/base-container/components/image-layout/LargeLayout.d.ts +2 -0
  27. package/dist/base-container/components/image-layout/LargeLayout.js +11 -0
  28. package/dist/base-container/components/image-layout/LargeLayout.js.map +1 -0
  29. package/dist/base-container/components/image-layout/MediumLayout.d.ts +2 -0
  30. package/dist/base-container/components/image-layout/MediumLayout.js +11 -0
  31. package/dist/base-container/components/image-layout/MediumLayout.js.map +1 -0
  32. package/dist/base-container/components/image-layout/SmallLayout.d.ts +2 -0
  33. package/dist/base-container/components/image-layout/SmallLayout.js +10 -0
  34. package/dist/base-container/components/image-layout/SmallLayout.js.map +1 -0
  35. package/dist/base-container/components/image-layout/index.d.ts +4 -0
  36. package/{src/base-container/components/image-layout/index.jsx → dist/base-container/components/image-layout/index.js} +1 -0
  37. package/dist/base-container/components/image-layout/index.js.map +1 -0
  38. package/dist/base-container/components/image-layout/messages.d.ts +13 -0
  39. package/dist/base-container/components/image-layout/messages.js +15 -0
  40. package/dist/base-container/components/image-layout/messages.js.map +1 -0
  41. package/dist/base-container/components/welcome-page-layout/LargeLayout.d.ts +10 -0
  42. package/dist/base-container/components/welcome-page-layout/LargeLayout.js +14 -0
  43. package/dist/base-container/components/welcome-page-layout/LargeLayout.js.map +1 -0
  44. package/dist/base-container/components/welcome-page-layout/MediumLayout.d.ts +10 -0
  45. package/dist/base-container/components/welcome-page-layout/MediumLayout.js +14 -0
  46. package/dist/base-container/components/welcome-page-layout/MediumLayout.js.map +1 -0
  47. package/dist/base-container/components/welcome-page-layout/SmallLayout.d.ts +10 -0
  48. package/dist/base-container/components/welcome-page-layout/SmallLayout.js +14 -0
  49. package/dist/base-container/components/welcome-page-layout/SmallLayout.js.map +1 -0
  50. package/dist/base-container/components/welcome-page-layout/index.d.ts +3 -0
  51. package/{src/base-container/components/welcome-page-layout/index.jsx → dist/base-container/components/welcome-page-layout/index.js} +1 -0
  52. package/dist/base-container/components/welcome-page-layout/index.js.map +1 -0
  53. package/dist/base-container/components/welcome-page-layout/messages.d.ts +18 -0
  54. package/dist/base-container/components/welcome-page-layout/messages.js +20 -0
  55. package/dist/base-container/components/welcome-page-layout/messages.js.map +1 -0
  56. package/dist/base-container/index.d.ts +20 -0
  57. package/dist/base-container/index.js +27 -0
  58. package/dist/base-container/index.js.map +1 -0
  59. package/dist/common-components/EmbeddedRegistrationRoute.d.ts +14 -0
  60. package/{src/common-components/EmbeddedRegistrationRoute.jsx → dist/common-components/EmbeddedRegistrationRoute.js} +9 -13
  61. package/dist/common-components/EmbeddedRegistrationRoute.js.map +1 -0
  62. package/dist/common-components/EnterpriseSSO.d.ts +29 -0
  63. package/dist/common-components/EnterpriseSSO.js +55 -0
  64. package/dist/common-components/EnterpriseSSO.js.map +1 -0
  65. package/dist/common-components/FormGroup.d.ts +60 -0
  66. package/dist/common-components/FormGroup.js +66 -0
  67. package/dist/common-components/FormGroup.js.map +1 -0
  68. package/dist/common-components/InstitutionLogistration.d.ts +34 -0
  69. package/dist/common-components/InstitutionLogistration.js +38 -0
  70. package/dist/common-components/InstitutionLogistration.js.map +1 -0
  71. package/dist/common-components/NotFoundPage.d.ts +2 -0
  72. package/dist/common-components/NotFoundPage.js +5 -0
  73. package/dist/common-components/NotFoundPage.js.map +1 -0
  74. package/dist/common-components/PasswordField.d.ts +39 -0
  75. package/dist/common-components/PasswordField.js +94 -0
  76. package/dist/common-components/PasswordField.js.map +1 -0
  77. package/dist/common-components/RedirectLogistration.d.ts +39 -0
  78. package/dist/common-components/RedirectLogistration.js +68 -0
  79. package/dist/common-components/RedirectLogistration.js.map +1 -0
  80. package/dist/common-components/RegisterFaIcons.d.ts +1 -0
  81. package/dist/common-components/RegisterFaIcons.js +6 -0
  82. package/dist/common-components/RegisterFaIcons.js.map +1 -0
  83. package/dist/common-components/SocialAuthProviders.d.ts +23 -0
  84. package/dist/common-components/SocialAuthProviders.js +42 -0
  85. package/dist/common-components/SocialAuthProviders.js.map +1 -0
  86. package/dist/common-components/ThirdPartyAuth.d.ts +42 -0
  87. package/dist/common-components/ThirdPartyAuth.js +56 -0
  88. package/dist/common-components/ThirdPartyAuth.js.map +1 -0
  89. package/dist/common-components/ThirdPartyAuthAlert.d.ts +15 -0
  90. package/dist/common-components/ThirdPartyAuthAlert.js +32 -0
  91. package/dist/common-components/ThirdPartyAuthAlert.js.map +1 -0
  92. package/dist/common-components/UnAuthOnlyRoute.d.ts +14 -0
  93. package/dist/common-components/UnAuthOnlyRoute.js +31 -0
  94. package/dist/common-components/UnAuthOnlyRoute.js.map +1 -0
  95. package/dist/common-components/data/actions.d.ts +26 -0
  96. package/{src → dist}/common-components/data/actions.js +8 -13
  97. package/dist/common-components/data/actions.js.map +1 -0
  98. package/dist/common-components/data/reducers.d.ts +62 -0
  99. package/dist/common-components/data/reducers.js +39 -0
  100. package/dist/common-components/data/reducers.js.map +1 -0
  101. package/dist/common-components/data/sagas.d.ts +12 -0
  102. package/dist/common-components/data/sagas.js +21 -0
  103. package/dist/common-components/data/sagas.js.map +1 -0
  104. package/dist/common-components/data/selectors.d.ts +98 -0
  105. package/dist/common-components/data/selectors.js +11 -0
  106. package/dist/common-components/data/selectors.js.map +1 -0
  107. package/dist/common-components/data/service.d.ts +5 -0
  108. package/dist/common-components/data/service.js +31 -0
  109. package/dist/common-components/data/service.js.map +1 -0
  110. package/dist/common-components/index.d.ts +13 -0
  111. package/{src/common-components/index.jsx → dist/common-components/index.js} +1 -0
  112. package/dist/common-components/index.js.map +1 -0
  113. package/dist/common-components/messages.d.ts +113 -0
  114. package/dist/common-components/messages.js +126 -0
  115. package/dist/common-components/messages.js.map +1 -0
  116. package/dist/constants.d.ts +1 -0
  117. package/{src/constants.ts → dist/constants.js} +1 -0
  118. package/dist/constants.js.map +1 -0
  119. package/dist/data/configureStore.d.ts +3 -0
  120. package/{src → dist}/data/configureStore.js +11 -20
  121. package/dist/data/configureStore.js.map +1 -0
  122. package/dist/data/constants.d.ts +24 -0
  123. package/{src → dist}/data/constants.js +4 -8
  124. package/dist/data/constants.js.map +1 -0
  125. package/dist/data/countries.d.ts +26 -0
  126. package/{src/data/countries.ts → dist/data/countries.js} +6 -9
  127. package/dist/data/countries.js.map +1 -0
  128. package/dist/data/oneTrust.d.ts +2 -0
  129. package/dist/data/oneTrust.js +3 -0
  130. package/dist/data/oneTrust.js.map +1 -0
  131. package/dist/data/reducers.d.ts +254 -0
  132. package/dist/data/reducers.js +17 -0
  133. package/dist/data/reducers.js.map +1 -0
  134. package/dist/data/sagas.d.ts +1 -0
  135. package/{src → dist}/data/sagas.js +9 -10
  136. package/dist/data/sagas.js.map +1 -0
  137. package/dist/data/utils/cookies.d.ts +1 -0
  138. package/dist/data/utils/cookies.js +12 -0
  139. package/dist/data/utils/cookies.js.map +1 -0
  140. package/dist/data/utils/dataUtils.d.ts +11 -0
  141. package/dist/data/utils/dataUtils.js +67 -0
  142. package/dist/data/utils/dataUtils.js.map +1 -0
  143. package/dist/data/utils/index.d.ts +3 -0
  144. package/dist/data/utils/index.js +4 -0
  145. package/dist/data/utils/index.js.map +1 -0
  146. package/dist/data/utils/reduxUtils.d.ts +15 -0
  147. package/dist/data/utils/reduxUtils.js +29 -0
  148. package/dist/data/utils/reduxUtils.js.map +1 -0
  149. package/dist/data/utils/useMobileResponsive.d.ts +7 -0
  150. package/dist/data/utils/useMobileResponsive.js +22 -0
  151. package/dist/data/utils/useMobileResponsive.js.map +1 -0
  152. package/dist/field-renderer/FieldRenderer.d.ts +34 -0
  153. package/dist/field-renderer/FieldRenderer.js +70 -0
  154. package/dist/field-renderer/FieldRenderer.js.map +1 -0
  155. package/dist/field-renderer/index.d.ts +1 -0
  156. package/{src/field-renderer/index.jsx → dist/field-renderer/index.js} +1 -0
  157. package/dist/field-renderer/index.js.map +1 -0
  158. package/dist/forgot-password/ForgotPasswordAlert.d.ts +16 -0
  159. package/dist/forgot-password/ForgotPasswordAlert.js +66 -0
  160. package/dist/forgot-password/ForgotPasswordAlert.js.map +1 -0
  161. package/dist/forgot-password/ForgotPasswordPage.d.ts +36 -0
  162. package/dist/forgot-password/ForgotPasswordPage.js +91 -0
  163. package/dist/forgot-password/ForgotPasswordPage.js.map +1 -0
  164. package/dist/forgot-password/data/actions.d.ts +30 -0
  165. package/{src → dist}/forgot-password/data/actions.js +10 -16
  166. package/dist/forgot-password/data/actions.js.map +1 -0
  167. package/dist/forgot-password/data/reducers.d.ts +13 -0
  168. package/dist/forgot-password/data/reducers.js +46 -0
  169. package/dist/forgot-password/data/reducers.js.map +1 -0
  170. package/dist/forgot-password/data/sagas.d.ts +4 -0
  171. package/dist/forgot-password/data/sagas.js +28 -0
  172. package/dist/forgot-password/data/sagas.js.map +1 -0
  173. package/dist/forgot-password/data/selectors.d.ts +23 -0
  174. package/dist/forgot-password/data/selectors.js +5 -0
  175. package/dist/forgot-password/data/selectors.js.map +1 -0
  176. package/dist/forgot-password/data/service.d.ts +1 -0
  177. package/dist/forgot-password/data/service.js +26 -0
  178. package/dist/forgot-password/data/service.js.map +1 -0
  179. package/dist/forgot-password/index.d.ts +5 -0
  180. package/{src → dist}/forgot-password/index.js +1 -0
  181. package/dist/forgot-password/index.js.map +1 -0
  182. package/dist/forgot-password/messages.d.ts +123 -0
  183. package/dist/forgot-password/messages.js +128 -0
  184. package/dist/forgot-password/messages.js.map +1 -0
  185. package/dist/i18n/index.d.ts +25 -0
  186. package/dist/i18n/index.js +26 -0
  187. package/dist/i18n/index.js.map +1 -0
  188. package/dist/index.js +4 -0
  189. package/dist/index.js.map +1 -0
  190. package/dist/login/AccountActivationMessage.d.ts +14 -0
  191. package/dist/login/AccountActivationMessage.js +49 -0
  192. package/dist/login/AccountActivationMessage.js.map +1 -0
  193. package/dist/login/ChangePasswordPrompt.d.ts +18 -0
  194. package/dist/login/ChangePasswordPrompt.js +45 -0
  195. package/dist/login/ChangePasswordPrompt.js.map +1 -0
  196. package/dist/login/LoginFailure.d.ts +25 -0
  197. package/dist/login/LoginFailure.js +109 -0
  198. package/dist/login/LoginFailure.js.map +1 -0
  199. package/dist/login/LoginPage.d.ts +10 -0
  200. package/dist/login/LoginPage.js +216 -0
  201. package/dist/login/LoginPage.js.map +1 -0
  202. package/dist/login/data/actions.d.ts +36 -0
  203. package/{src → dist}/login/data/actions.js +12 -19
  204. package/dist/login/data/actions.js.map +1 -0
  205. package/dist/login/data/constants.d.ts +17 -0
  206. package/{src → dist}/login/data/constants.js +4 -4
  207. package/dist/login/data/constants.js.map +1 -0
  208. package/dist/login/data/reducers.d.ts +82 -0
  209. package/dist/login/data/reducers.js +44 -0
  210. package/dist/login/data/reducers.js.map +1 -0
  211. package/dist/login/data/sagas.d.ts +10 -0
  212. package/dist/login/data/sagas.js +34 -0
  213. package/dist/login/data/sagas.js.map +1 -0
  214. package/dist/login/data/service.d.ts +4 -0
  215. package/dist/login/data/service.js +32 -0
  216. package/dist/login/data/service.js.map +1 -0
  217. package/dist/login/index.d.ts +4 -0
  218. package/{src → dist}/login/index.js +1 -1
  219. package/dist/login/index.js.map +1 -0
  220. package/dist/login/messages.d.ts +198 -0
  221. package/dist/login/messages.js +210 -0
  222. package/dist/login/messages.js.map +1 -0
  223. package/dist/logistration/Logistration.d.ts +32 -0
  224. package/dist/logistration/Logistration.js +106 -0
  225. package/dist/logistration/Logistration.js.map +1 -0
  226. package/dist/progressive-profiling/ProgressiveProfiling.d.ts +46 -0
  227. package/dist/progressive-profiling/ProgressiveProfiling.js +167 -0
  228. package/dist/progressive-profiling/ProgressiveProfiling.js.map +1 -0
  229. package/dist/progressive-profiling/ProgressiveProfilingPageModal.d.ts +13 -0
  230. package/dist/progressive-profiling/ProgressiveProfilingPageModal.js +24 -0
  231. package/dist/progressive-profiling/ProgressiveProfilingPageModal.js.map +1 -0
  232. package/dist/progressive-profiling/data/actions.d.ts +19 -0
  233. package/{src → dist}/progressive-profiling/data/actions.js +6 -10
  234. package/dist/progressive-profiling/data/actions.js.map +1 -0
  235. package/dist/progressive-profiling/data/reducers.d.ts +22 -0
  236. package/dist/progressive-profiling/data/reducers.js +23 -0
  237. package/dist/progressive-profiling/data/reducers.js.map +1 -0
  238. package/dist/progressive-profiling/data/sagas.d.ts +4 -0
  239. package/dist/progressive-profiling/data/sagas.js +17 -0
  240. package/dist/progressive-profiling/data/sagas.js.map +1 -0
  241. package/dist/progressive-profiling/data/selectors.d.ts +39 -0
  242. package/{src → dist}/progressive-profiling/data/selectors.js +4 -9
  243. package/dist/progressive-profiling/data/selectors.js.map +1 -0
  244. package/dist/progressive-profiling/data/service.d.ts +1 -0
  245. package/dist/progressive-profiling/data/service.js +23 -0
  246. package/dist/progressive-profiling/data/service.js.map +1 -0
  247. package/dist/progressive-profiling/index.d.ts +4 -0
  248. package/{src → dist}/progressive-profiling/index.js +1 -1
  249. package/dist/progressive-profiling/index.js.map +1 -0
  250. package/dist/progressive-profiling/messages.d.ts +53 -0
  251. package/dist/progressive-profiling/messages.js +57 -0
  252. package/dist/progressive-profiling/messages.js.map +1 -0
  253. package/dist/register/RegistrationFields/CountryField/CountryField.d.ts +38 -0
  254. package/dist/register/RegistrationFields/CountryField/CountryField.js +95 -0
  255. package/dist/register/RegistrationFields/CountryField/CountryField.js.map +1 -0
  256. package/dist/register/RegistrationFields/CountryField/validator.d.ts +8 -0
  257. package/dist/register/RegistrationFields/CountryField/validator.js +29 -0
  258. package/dist/register/RegistrationFields/CountryField/validator.js.map +1 -0
  259. package/dist/register/RegistrationFields/EmailField/EmailField.d.ts +30 -0
  260. package/dist/register/RegistrationFields/EmailField/EmailField.js +80 -0
  261. package/dist/register/RegistrationFields/EmailField/EmailField.js.map +1 -0
  262. package/dist/register/RegistrationFields/EmailField/constants.d.ts +3 -0
  263. package/dist/register/RegistrationFields/EmailField/constants.js +130 -0
  264. package/dist/register/RegistrationFields/EmailField/constants.js.map +1 -0
  265. package/dist/register/RegistrationFields/EmailField/validator.d.ts +17 -0
  266. package/dist/register/RegistrationFields/EmailField/validator.js +107 -0
  267. package/dist/register/RegistrationFields/EmailField/validator.js.map +1 -0
  268. package/dist/register/RegistrationFields/HonorCodeField/HonorCode.d.ts +21 -0
  269. package/dist/register/RegistrationFields/HonorCodeField/HonorCode.js +40 -0
  270. package/dist/register/RegistrationFields/HonorCodeField/HonorCode.js.map +1 -0
  271. package/dist/register/RegistrationFields/NameField/NameField.d.ts +29 -0
  272. package/dist/register/RegistrationFields/NameField/NameField.js +52 -0
  273. package/dist/register/RegistrationFields/NameField/NameField.js.map +1 -0
  274. package/dist/register/RegistrationFields/NameField/validator.d.ts +5 -0
  275. package/{src → dist}/register/RegistrationFields/NameField/validator.js +9 -12
  276. package/dist/register/RegistrationFields/NameField/validator.js.map +1 -0
  277. package/dist/register/RegistrationFields/TermsOfServiceField/TermsOfService.d.ts +16 -0
  278. package/dist/register/RegistrationFields/TermsOfServiceField/TermsOfService.js +24 -0
  279. package/dist/register/RegistrationFields/TermsOfServiceField/TermsOfService.js.map +1 -0
  280. package/dist/register/RegistrationFields/UsernameField/UsernameField.d.ts +31 -0
  281. package/dist/register/RegistrationFields/UsernameField/UsernameField.js +113 -0
  282. package/dist/register/RegistrationFields/UsernameField/UsernameField.js.map +1 -0
  283. package/dist/register/RegistrationFields/UsernameField/validator.d.ts +4 -0
  284. package/dist/register/RegistrationFields/UsernameField/validator.js +15 -0
  285. package/dist/register/RegistrationFields/UsernameField/validator.js.map +1 -0
  286. package/dist/register/RegistrationFields/index.d.ts +6 -0
  287. package/{src → dist}/register/RegistrationFields/index.js +1 -0
  288. package/dist/register/RegistrationFields/index.js.map +1 -0
  289. package/dist/register/RegistrationPage.d.ts +18 -0
  290. package/dist/register/RegistrationPage.js +216 -0
  291. package/dist/register/RegistrationPage.js.map +1 -0
  292. package/dist/register/components/ConfigurableRegistrationForm.d.ts +37 -0
  293. package/dist/register/components/ConfigurableRegistrationForm.js +145 -0
  294. package/dist/register/components/ConfigurableRegistrationForm.js.map +1 -0
  295. package/dist/register/components/RegistrationFailure.d.ts +19 -0
  296. package/dist/register/components/RegistrationFailure.js +57 -0
  297. package/dist/register/components/RegistrationFailure.js.map +1 -0
  298. package/dist/register/data/actions.d.ts +80 -0
  299. package/{src → dist}/register/data/actions.js +26 -42
  300. package/dist/register/data/actions.js.map +1 -0
  301. package/dist/register/data/constants.d.ts +10 -0
  302. package/{src → dist}/register/data/constants.js +4 -4
  303. package/dist/register/data/constants.js.map +1 -0
  304. package/dist/register/data/reducers.d.ts +237 -0
  305. package/dist/register/data/reducers.js +86 -0
  306. package/dist/register/data/reducers.js.map +1 -0
  307. package/dist/register/data/sagas.d.ts +19 -0
  308. package/dist/register/data/sagas.js +45 -0
  309. package/dist/register/data/sagas.js.map +1 -0
  310. package/dist/register/data/selectors.d.ts +26 -0
  311. package/dist/register/data/selectors.js +25 -0
  312. package/dist/register/data/selectors.js.map +1 -0
  313. package/dist/register/data/service.d.ts +8 -0
  314. package/dist/register/data/service.js +46 -0
  315. package/dist/register/data/service.js.map +1 -0
  316. package/dist/register/data/utils.d.ts +6 -0
  317. package/dist/register/data/utils.js +128 -0
  318. package/dist/register/data/utils.js.map +1 -0
  319. package/dist/register/index.d.ts +3 -0
  320. package/{src → dist}/register/index.js +1 -0
  321. package/dist/register/index.js.map +1 -0
  322. package/dist/register/messages.d.ts +193 -0
  323. package/dist/register/messages.js +205 -0
  324. package/dist/register/messages.js.map +1 -0
  325. package/dist/reset-password/ResetPasswordFailure.d.ts +15 -0
  326. package/dist/reset-password/ResetPasswordFailure.js +44 -0
  327. package/dist/reset-password/ResetPasswordFailure.js.map +1 -0
  328. package/dist/reset-password/ResetPasswordPage.d.ts +32 -0
  329. package/dist/reset-password/ResetPasswordPage.js +150 -0
  330. package/dist/reset-password/ResetPasswordPage.js.map +1 -0
  331. package/dist/reset-password/ResetPasswordSuccess.d.ts +2 -0
  332. package/dist/reset-password/ResetPasswordSuccess.js +10 -0
  333. package/dist/reset-password/ResetPasswordSuccess.js.map +1 -0
  334. package/dist/reset-password/data/actions.d.ts +56 -0
  335. package/{src → dist}/reset-password/data/actions.js +17 -26
  336. package/dist/reset-password/data/actions.js.map +1 -0
  337. package/dist/reset-password/data/constants.d.ts +13 -0
  338. package/{src → dist}/reset-password/data/constants.js +6 -7
  339. package/dist/reset-password/data/constants.js.map +1 -0
  340. package/dist/reset-password/data/reducers.d.ts +19 -0
  341. package/dist/reset-password/data/reducers.js +25 -0
  342. package/dist/reset-password/data/reducers.js.map +1 -0
  343. package/dist/reset-password/data/sagas.d.ts +7 -0
  344. package/dist/reset-password/data/sagas.js +63 -0
  345. package/dist/reset-password/data/sagas.js.map +1 -0
  346. package/dist/reset-password/data/selectors.d.ts +23 -0
  347. package/dist/reset-password/data/selectors.js +5 -0
  348. package/dist/reset-password/data/selectors.js.map +1 -0
  349. package/dist/reset-password/data/service.d.ts +3 -0
  350. package/dist/reset-password/data/service.js +62 -0
  351. package/dist/reset-password/data/service.js.map +1 -0
  352. package/dist/reset-password/index.d.ts +5 -0
  353. package/{src → dist}/reset-password/index.js +1 -0
  354. package/dist/reset-password/index.js.map +1 -0
  355. package/dist/reset-password/messages.d.ts +83 -0
  356. package/dist/reset-password/messages.js +87 -0
  357. package/dist/reset-password/messages.js.map +1 -0
  358. package/dist/routes.d.ts +18 -0
  359. package/dist/routes.js +75 -0
  360. package/dist/routes.js.map +1 -0
  361. package/package.json +12 -5
  362. package/src/__mocks__/file.js +0 -1
  363. package/src/__mocks__/svg.js +0 -1
  364. package/src/app.ts +0 -43
  365. package/src/base-container/components/default-layout/DefaultLayout.test.jsx +0 -48
  366. package/src/base-container/components/default-layout/LargeLayout.jsx +0 -42
  367. package/src/base-container/components/default-layout/MediumLayout.jsx +0 -49
  368. package/src/base-container/components/default-layout/SmallLayout.jsx +0 -37
  369. package/src/base-container/components/default-layout/messages.js +0 -16
  370. package/src/base-container/components/image-layout/ExtraSmallLayout.jsx +0 -31
  371. package/src/base-container/components/image-layout/LargeLayout.jsx +0 -32
  372. package/src/base-container/components/image-layout/MediumLayout.jsx +0 -32
  373. package/src/base-container/components/image-layout/SmallLayout.jsx +0 -31
  374. package/src/base-container/components/image-layout/messages.js +0 -16
  375. package/src/base-container/components/welcome-page-layout/LargeLayout.jsx +0 -46
  376. package/src/base-container/components/welcome-page-layout/MediumLayout.jsx +0 -49
  377. package/src/base-container/components/welcome-page-layout/SmallLayout.jsx +0 -38
  378. package/src/base-container/components/welcome-page-layout/messages.js +0 -21
  379. package/src/base-container/index.jsx +0 -70
  380. package/src/base-container/tests/BaseContainer.test.jsx +0 -44
  381. package/src/common-components/EnterpriseSSO.jsx +0 -110
  382. package/src/common-components/FormGroup.jsx +0 -106
  383. package/src/common-components/InstitutionLogistration.jsx +0 -102
  384. package/src/common-components/NotFoundPage.jsx +0 -15
  385. package/src/common-components/PasswordField.jsx +0 -175
  386. package/src/common-components/RedirectLogistration.jsx +0 -94
  387. package/src/common-components/RegisterFaIcons.jsx +0 -8
  388. package/src/common-components/SocialAuthProviders.jsx +0 -75
  389. package/src/common-components/ThirdPartyAuth.jsx +0 -123
  390. package/src/common-components/ThirdPartyAuthAlert.jsx +0 -49
  391. package/src/common-components/UnAuthOnlyRoute.jsx +0 -41
  392. package/src/common-components/data/reducers.js +0 -63
  393. package/src/common-components/data/sagas.js +0 -32
  394. package/src/common-components/data/selectors.js +0 -28
  395. package/src/common-components/data/service.js +0 -23
  396. package/src/common-components/data/tests/reducer.test.js +0 -82
  397. package/src/common-components/data/tests/sagas.test.js +0 -71
  398. package/src/common-components/messages.jsx +0 -127
  399. package/src/common-components/tests/EmbeddedRegistrationRoute.test.jsx +0 -76
  400. package/src/common-components/tests/FormField.test.jsx +0 -289
  401. package/src/common-components/tests/SocialAuthProviders.test.jsx +0 -75
  402. package/src/common-components/tests/ThirdPartyAuthAlert.test.jsx +0 -39
  403. package/src/common-components/tests/UnAuthOnlyRoute.test.jsx +0 -73
  404. package/src/common-components/tests/__snapshots__/SocialAuthProviders.test.jsx.snap +0 -156
  405. package/src/common-components/tests/__snapshots__/ThirdPartyAuthAlert.test.jsx.snap +0 -53
  406. package/src/data/oneTrust.js +0 -3
  407. package/src/data/reducers.js +0 -36
  408. package/src/data/tests/cookies.test.js +0 -42
  409. package/src/data/tests/dataUtils.test.js +0 -19
  410. package/src/data/tests/reduxUtils.test.js +0 -14
  411. package/src/data/utils/cookies.js +0 -12
  412. package/src/data/utils/dataUtils.js +0 -81
  413. package/src/data/utils/index.js +0 -11
  414. package/src/data/utils/reduxUtils.js +0 -34
  415. package/src/data/utils/useMobileResponsive.js +0 -24
  416. package/src/field-renderer/FieldRenderer.jsx +0 -156
  417. package/src/field-renderer/tests/FieldRenderer.test.jsx +0 -201
  418. package/src/forgot-password/ForgotPasswordAlert.jsx +0 -97
  419. package/src/forgot-password/ForgotPasswordPage.jsx +0 -193
  420. package/src/forgot-password/data/reducers.js +0 -58
  421. package/src/forgot-password/data/sagas.js +0 -35
  422. package/src/forgot-password/data/selectors.js +0 -10
  423. package/src/forgot-password/data/service.js +0 -21
  424. package/src/forgot-password/data/tests/reducers.test.js +0 -34
  425. package/src/forgot-password/data/tests/sagas.test.js +0 -67
  426. package/src/forgot-password/messages.js +0 -128
  427. package/src/forgot-password/tests/ForgotPasswordPage.test.jsx +0 -269
  428. package/src/i18n/index.js +0 -25
  429. package/src/login/AccountActivationMessage.jsx +0 -78
  430. package/src/login/ChangePasswordPrompt.jsx +0 -91
  431. package/src/login/LoginFailure.jsx +0 -231
  432. package/src/login/LoginPage.jsx +0 -368
  433. package/src/login/data/reducers.js +0 -76
  434. package/src/login/data/sagas.js +0 -45
  435. package/src/login/data/service.js +0 -27
  436. package/src/login/data/tests/reducers.test.js +0 -155
  437. package/src/login/data/tests/sagas.test.js +0 -110
  438. package/src/login/messages.jsx +0 -211
  439. package/src/login/tests/AccountActivationMessage.test.jsx +0 -122
  440. package/src/login/tests/ChangePasswordPrompt.test.jsx +0 -75
  441. package/src/login/tests/LoginFailure.test.jsx +0 -323
  442. package/src/login/tests/LoginPage.test.jsx +0 -839
  443. package/src/logistration/Logistration.jsx +0 -189
  444. package/src/logistration/Logistration.test.jsx +0 -275
  445. package/src/progressive-profiling/ProgressiveProfiling.jsx +0 -313
  446. package/src/progressive-profiling/ProgressiveProfilingPageModal.jsx +0 -56
  447. package/src/progressive-profiling/data/reducers.js +0 -38
  448. package/src/progressive-profiling/data/sagas.js +0 -24
  449. package/src/progressive-profiling/data/service.js +0 -17
  450. package/src/progressive-profiling/messages.jsx +0 -57
  451. package/src/progressive-profiling/tests/ProgressiveProfiling.test.jsx +0 -322
  452. package/src/register/RegistrationFields/CountryField/CountryField.jsx +0 -164
  453. package/src/register/RegistrationFields/CountryField/CountryField.test.jsx +0 -204
  454. package/src/register/RegistrationFields/CountryField/validator.js +0 -32
  455. package/src/register/RegistrationFields/EmailField/EmailField.jsx +0 -140
  456. package/src/register/RegistrationFields/EmailField/EmailField.test.jsx +0 -236
  457. package/src/register/RegistrationFields/EmailField/constants.js +0 -131
  458. package/src/register/RegistrationFields/EmailField/validator.js +0 -126
  459. package/src/register/RegistrationFields/EmailField/validator.test.js +0 -39
  460. package/src/register/RegistrationFields/HonorCodeField/HonorCode.jsx +0 -104
  461. package/src/register/RegistrationFields/HonorCodeField/HonorCode.test.jsx +0 -70
  462. package/src/register/RegistrationFields/NameField/NameField.jsx +0 -68
  463. package/src/register/RegistrationFields/NameField/NameField.test.jsx +0 -146
  464. package/src/register/RegistrationFields/TermsOfServiceField/TermsOfService.jsx +0 -58
  465. package/src/register/RegistrationFields/TermsOfServiceField/TermsOfService.test.jsx +0 -55
  466. package/src/register/RegistrationFields/UsernameField/UsernameField.jsx +0 -162
  467. package/src/register/RegistrationFields/UsernameField/UsernameField.test.jsx +0 -319
  468. package/src/register/RegistrationFields/UsernameField/validator.js +0 -16
  469. package/src/register/RegistrationPage.jsx +0 -428
  470. package/src/register/RegistrationPage.test.jsx +0 -854
  471. package/src/register/components/ConfigurableRegistrationForm.jsx +0 -244
  472. package/src/register/components/RegistrationFailure.jsx +0 -80
  473. package/src/register/components/tests/ConfigurableRegistrationForm.test.jsx +0 -401
  474. package/src/register/components/tests/RegistrationFailure.test.jsx +0 -212
  475. package/src/register/components/tests/ThirdPartyAuth.test.jsx +0 -439
  476. package/src/register/data/reducers.js +0 -140
  477. package/src/register/data/sagas.js +0 -58
  478. package/src/register/data/selectors.js +0 -34
  479. package/src/register/data/service.js +0 -45
  480. package/src/register/data/tests/reducers.test.js +0 -277
  481. package/src/register/data/tests/sagas.test.js +0 -239
  482. package/src/register/data/tests/utils.test.js +0 -98
  483. package/src/register/data/utils.js +0 -147
  484. package/src/register/messages.jsx +0 -206
  485. package/src/reset-password/ResetPasswordFailure.jsx +0 -55
  486. package/src/reset-password/ResetPasswordPage.jsx +0 -224
  487. package/src/reset-password/ResetPasswordSuccess.jsx +0 -19
  488. package/src/reset-password/data/reducers.js +0 -44
  489. package/src/reset-password/data/sagas.js +0 -67
  490. package/src/reset-password/data/selectors.js +0 -10
  491. package/src/reset-password/data/service.js +0 -61
  492. package/src/reset-password/data/tests/sagas.test.js +0 -185
  493. package/src/reset-password/messages.js +0 -88
  494. package/src/reset-password/tests/ResetPasswordPage.test.jsx +0 -241
  495. package/src/routes.jsx +0 -79
  496. package/src/setupTest.js +0 -68
  497. /package/{src → dist}/base-container/components/image-layout/index.scss +0 -0
  498. /package/{src/index.ts → dist/index.d.ts} +0 -0
  499. /package/{src → dist}/sass/_base_component.scss +0 -0
  500. /package/{src → dist}/sass/_forgot_password.scss +0 -0
  501. /package/{src → dist}/sass/_login_page.scss +0 -0
  502. /package/{src → dist}/sass/_progressive_profiling_page.scss +0 -0
  503. /package/{src → dist}/sass/_registration.scss +0 -0
  504. /package/{src → dist}/sass/_reset_password.scss +0 -0
  505. /package/{src → dist}/sass/_style.scss +0 -0
@@ -1,269 +0,0 @@
1
- import { Provider } from 'react-redux';
2
-
3
- import {
4
- configureI18n, injectIntl, IntlProvider, mergeAppConfig
5
- } from '@openedx/frontend-base';
6
- import {
7
- fireEvent, render, screen,
8
- } from '@testing-library/react';
9
- import { MemoryRouter } from 'react-router-dom';
10
- import configureStore from 'redux-mock-store';
11
-
12
- import { INTERNAL_SERVER_ERROR, LOGIN_PAGE } from '../../data/constants';
13
- import { PASSWORD_RESET } from '../../reset-password/data/constants';
14
- import { appId } from '../../constants';
15
- import { setForgotPasswordFormData } from '../data/actions';
16
- import ForgotPasswordPage from '../ForgotPasswordPage';
17
-
18
- const mockedNavigator = jest.fn();
19
-
20
- jest.mock('@openedx/frontend-base', () => ({
21
- ...jest.requireActual('@openedx/frontend-base'),
22
- sendPageEvent: jest.fn(),
23
- sendTrackEvent: jest.fn(),
24
- getAuthenticatedUser: jest.fn(() => ({
25
- userId: 3,
26
- username: 'test-user',
27
- })),
28
- }));
29
-
30
- jest.mock('react-router-dom', () => ({
31
- ...(jest.requireActual('react-router-dom')),
32
- useNavigate: () => mockedNavigator,
33
- }));
34
-
35
- const IntlForgotPasswordPage = injectIntl(ForgotPasswordPage);
36
- const mockStore = configureStore();
37
-
38
- const initialState = {
39
- forgotPassword: {
40
- status: '',
41
- },
42
- };
43
-
44
- describe('ForgotPasswordPage', () => {
45
- mergeAppConfig(appId, {
46
- LOGIN_ISSUE_SUPPORT_LINK: '',
47
- INFO_EMAIL: '',
48
- });
49
-
50
- let props = {};
51
- let store = {};
52
-
53
- const reduxWrapper = children => (
54
- <IntlProvider locale="en">
55
- <MemoryRouter>
56
- <Provider store={store}>{children}</Provider>
57
- </MemoryRouter>
58
- </IntlProvider>
59
- );
60
-
61
- beforeEach(() => {
62
- store = mockStore(initialState);
63
-
64
- configureI18n({
65
- messages: { 'es-419': {}, de: {}, 'en-us': {} },
66
- });
67
- props = {
68
- forgotPassword: jest.fn(),
69
- status: null,
70
- };
71
- });
72
- const findByTextContent = (container, text) => Array.from(container.querySelectorAll('*')).find(
73
- element => element.textContent === text,
74
- );
75
-
76
- it('not should display need other help signing in button', () => {
77
- const { queryByTestId } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
78
- const forgotPasswordButton = queryByTestId('forgot-password');
79
- expect(forgotPasswordButton).toBeNull();
80
- });
81
-
82
- it('should display need other help signing in button', () => {
83
- mergeAppConfig(appId, {
84
- LOGIN_ISSUE_SUPPORT_LINK: '/support',
85
- });
86
- render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
87
- const forgotPasswordButton = screen.findByText('Need help signing in?');
88
- expect(forgotPasswordButton).toBeDefined();
89
- });
90
-
91
- it('should display email validation error message', async () => {
92
- const validationMessage = 'We were unable to contact you.Enter a valid email address below.';
93
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
94
-
95
- const emailInput = screen.getByLabelText('Email');
96
-
97
- fireEvent.change(emailInput, { target: { value: 'invalid-email' } });
98
-
99
- const submitButton = screen.getByText('Submit');
100
- fireEvent.click(submitButton);
101
-
102
- const alertElements = container.querySelectorAll('.alert-danger');
103
- const validationErrors = alertElements[0].textContent;
104
- expect(validationErrors).toBe(validationMessage);
105
- });
106
-
107
- it('should show alert on server error', () => {
108
- store = mockStore({
109
- forgotPassword: { status: INTERNAL_SERVER_ERROR },
110
- });
111
- const expectedMessage = 'We were unable to contact you.'
112
- + 'An error has occurred. Try refreshing the page, or check your internet connection.';
113
-
114
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
115
-
116
- const alertElements = container.querySelectorAll('.alert-danger');
117
- const validationErrors = alertElements[0].textContent;
118
- expect(validationErrors).toBe(expectedMessage);
119
- });
120
-
121
- it('should display empty email validation message', async () => {
122
- const validationMessage = 'We were unable to contact you.Enter your email below.';
123
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
124
-
125
- const submitButton = screen.getByText('Submit');
126
- fireEvent.click(submitButton);
127
-
128
- const alertElements = container.querySelectorAll('.alert-danger');
129
- const validationErrors = alertElements[0].textContent;
130
-
131
- expect(validationErrors).toBe(validationMessage);
132
- });
133
-
134
- it('should display request in progress error message', () => {
135
- const rateLimitMessage = 'An error occurred.Your previous request is in progress, please try again in a few moments.';
136
- store = mockStore({
137
- forgotPassword: { status: 'forbidden' },
138
- });
139
-
140
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
141
-
142
- const alertElements = container.querySelectorAll('.alert-danger');
143
- const validationErrors = alertElements[0].textContent;
144
- expect(validationErrors).toBe(rateLimitMessage);
145
- });
146
-
147
- it('should not display any error message on change event', () => {
148
- render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
149
-
150
- const emailInput = screen.getByLabelText('Email');
151
-
152
- fireEvent.change(emailInput, { target: { value: 'invalid-email' } });
153
-
154
- const errorElement = screen.queryByTestId('email-invalid-feedback');
155
- expect(errorElement).toBeNull();
156
- });
157
-
158
- it('should set error in redux store on onBlur', () => {
159
- const forgotPasswordFormData = {
160
- email: 'test@gmail',
161
- emailValidationError: 'Enter a valid email address',
162
- };
163
-
164
- props = {
165
- ...props,
166
- email: 'test@gmail',
167
- emailValidationError: '',
168
- };
169
-
170
- store.dispatch = jest.fn(store.dispatch);
171
- render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
172
- const emailInput = screen.getByLabelText('Email');
173
-
174
- fireEvent.blur(emailInput);
175
-
176
- expect(store.dispatch).toHaveBeenCalledWith(setForgotPasswordFormData(forgotPasswordFormData));
177
- });
178
-
179
- it('should display error message if available in props', async () => {
180
- const validationMessage = 'Enter your email';
181
- props = {
182
- ...props,
183
- emailValidationError: validationMessage,
184
- email: '',
185
- };
186
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
187
- const validationElement = container.querySelector('.pgn__form-text-invalid');
188
- expect(validationElement.textContent).toEqual(validationMessage);
189
- });
190
-
191
- it('should clear error in redux store on onFocus', () => {
192
- const forgotPasswordFormData = {
193
- emailValidationError: '',
194
- };
195
-
196
- props = {
197
- ...props,
198
- email: 'test@gmail',
199
- emailValidationError: 'Enter a valid email address',
200
- };
201
-
202
- store.dispatch = jest.fn(store.dispatch);
203
-
204
- render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
205
- const emailInput = screen.getByLabelText('Email');
206
-
207
- fireEvent.focus(emailInput);
208
-
209
- expect(store.dispatch).toHaveBeenCalledWith(setForgotPasswordFormData(forgotPasswordFormData));
210
- });
211
-
212
- it('should clear error message when cleared in props on focus', async () => {
213
- props = {
214
- ...props,
215
- emailValidationError: '',
216
- email: '',
217
- };
218
- render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
219
- const errorElement = screen.queryByTestId('email-invalid-feedback');
220
- expect(errorElement).toBeNull();
221
- });
222
-
223
- it('should display success message after email is sent', () => {
224
- store = mockStore({
225
- ...initialState,
226
- forgotPassword: {
227
- status: 'complete',
228
- },
229
- });
230
-
231
- const successMessage = 'Check your emailWe sent an email to with instructions to reset your password. If you do not '
232
- + 'receive a password reset message after 1 minute, verify that you entered the correct email address,'
233
- + ' or check your spam folder. If you need further assistance, contact technical support.';
234
-
235
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
236
- const successElement = findByTextContent(container, successMessage);
237
-
238
- expect(successElement).toBeDefined();
239
- expect(successElement.textContent).toEqual(successMessage);
240
- });
241
-
242
- it('should display invalid password reset link error', () => {
243
- store = mockStore({
244
- ...initialState,
245
- forgotPassword: {
246
- status: PASSWORD_RESET.INVALID_TOKEN,
247
- },
248
- });
249
- const successMessage = 'Invalid password reset link'
250
- + 'This password reset link is invalid. It may have been used already. '
251
- + 'Enter your email below to receive a new link.';
252
-
253
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
254
- const successElement = findByTextContent(container, successMessage);
255
-
256
- expect(successElement).toBeDefined();
257
- expect(successElement.textContent).toEqual(successMessage);
258
- });
259
-
260
- it('should redirect onto login page', async () => {
261
- const { container } = render(reduxWrapper(<IntlForgotPasswordPage {...props} />));
262
-
263
- const navElement = container.querySelector('nav');
264
- const anchorElement = navElement.querySelector('a');
265
- fireEvent.click(anchorElement);
266
-
267
- expect(mockedNavigator).toHaveBeenCalledWith(LOGIN_PAGE);
268
- });
269
- });
package/src/i18n/index.js DELETED
@@ -1,25 +0,0 @@
1
- // Placeholder be overridden by `make pull_translations`
2
- export default {
3
- ar: {},
4
- 'zh-hk': {},
5
- 'zh-cn': {},
6
- uk: {},
7
- 'tr-tr': {},
8
- th: {},
9
- te: {},
10
- ru: {},
11
- 'pt-pt': {},
12
- 'pt-br': {},
13
- 'it-it': {},
14
- id: {},
15
- hi: {},
16
- he: {},
17
- 'fr-ca': {},
18
- fa: {},
19
- 'es-es': {},
20
- 'es-419': {},
21
- el: {},
22
- 'de-de': {},
23
- da: {},
24
- bo: {},
25
- };
@@ -1,78 +0,0 @@
1
- import { FormattedMessage, useAppConfig, useIntl } from '@openedx/frontend-base';
2
- import { Alert } from '@openedx/paragon';
3
- import { CheckCircle, Error } from '@openedx/paragon/icons';
4
- import PropTypes from 'prop-types';
5
-
6
- import { ACCOUNT_ACTIVATION_MESSAGE } from './data/constants';
7
- import messages from './messages';
8
-
9
- const AccountActivationMessage = ({ messageType }) => {
10
- const { formatMessage } = useIntl();
11
-
12
- if (!messageType) {
13
- return null;
14
- }
15
-
16
- const variant = messageType === ACCOUNT_ACTIVATION_MESSAGE.ERROR ? 'danger' : messageType;
17
- const activationOrConfirmation = useAppConfig().MARKETING_EMAILS_OPT_IN ? 'confirmation' : 'activation';
18
- const iconMapping = {
19
- [ACCOUNT_ACTIVATION_MESSAGE.SUCCESS]: CheckCircle,
20
- [ACCOUNT_ACTIVATION_MESSAGE.ERROR]: Error,
21
- };
22
-
23
- let activationMessage;
24
- let heading;
25
- switch (messageType) {
26
- case ACCOUNT_ACTIVATION_MESSAGE.SUCCESS: {
27
- heading = formatMessage(messages[`account.${activationOrConfirmation}.success.message.title`]);
28
- activationMessage = <span>{formatMessage(messages[`account.${activationOrConfirmation}.success.message`])}</span>;
29
- break;
30
- }
31
- case ACCOUNT_ACTIVATION_MESSAGE.INFO: {
32
- activationMessage = formatMessage(messages[`account.${activationOrConfirmation}.info.message`]);
33
- break;
34
- }
35
- case ACCOUNT_ACTIVATION_MESSAGE.ERROR: {
36
- const supportLink = (
37
- <Alert.Link href={useAppConfig().ACTIVATION_EMAIL_SUPPORT_LINK}>
38
- {formatMessage(messages['account.activation.support.link'])}
39
- </Alert.Link>
40
- );
41
-
42
- heading = formatMessage(messages[`account.${activationOrConfirmation}.error.message.title`]);
43
- activationMessage = (
44
- <FormattedMessage
45
- id="account.activation.error.message"
46
- defaultMessage="Something went wrong, please {supportLink} to resolve this issue."
47
- description="Account activation error message"
48
- values={{ supportLink }}
49
- />
50
- );
51
- break;
52
- }
53
- default:
54
- break;
55
- }
56
-
57
- return activationMessage ? (
58
- <Alert
59
- id="account-activation-message"
60
- className="mb-5"
61
- variant={variant}
62
- icon={iconMapping[messageType]}
63
- >
64
- {heading && <Alert.Heading>{heading}</Alert.Heading>}
65
- {activationMessage}
66
- </Alert>
67
- ) : null;
68
- };
69
-
70
- AccountActivationMessage.propTypes = {
71
- messageType: PropTypes.string,
72
- };
73
-
74
- AccountActivationMessage.defaultProps = {
75
- messageType: null,
76
- };
77
-
78
- export default AccountActivationMessage;
@@ -1,91 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
- import {
5
- ActionRow, ModalDialog, useToggle,
6
- } from '@openedx/paragon';
7
- import classNames from 'classnames';
8
- import PropTypes from 'prop-types';
9
- import { Link, useNavigate } from 'react-router-dom';
10
-
11
- import { DEFAULT_REDIRECT_URL, RESET_PAGE } from '../data/constants';
12
- import { updatePathWithQueryParams } from '../data/utils';
13
- import useMobileResponsive from '../data/utils/useMobileResponsive';
14
- import messages from './messages';
15
-
16
- const ChangePasswordPrompt = ({ variant, redirectUrl }) => {
17
- const isMobileView = useMobileResponsive();
18
- const [redirectToResetPasswordPage, setRedirectToResetPasswordPage] = useState(false);
19
- const handlers = {
20
- handleToggleOff: () => {
21
- if (variant === 'block') {
22
- setRedirectToResetPasswordPage(true);
23
- } else {
24
- window.location.href = redirectUrl || getSiteConfig().lmsBaseUrl.concat(DEFAULT_REDIRECT_URL);
25
- }
26
- },
27
- };
28
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
- const [isOpen, open, close] = useToggle(true, handlers);
30
- const { formatMessage } = useIntl();
31
- const navigate = useNavigate();
32
-
33
- useEffect(() => {
34
- if (redirectToResetPasswordPage) {
35
- navigate(updatePathWithQueryParams(RESET_PAGE));
36
- }
37
- }, [redirectToResetPasswordPage, navigate]);
38
-
39
- return (
40
- <ModalDialog
41
- title="Password security"
42
- isOpen={isOpen}
43
- onClose={close}
44
- size={isMobileView ? 'sm' : 'md'}
45
- hasCloseButton={false}
46
- >
47
- <ModalDialog.Header>
48
- <ModalDialog.Title>
49
- {formatMessage(messages[`password.security.${variant}.title`])}
50
- </ModalDialog.Title>
51
- </ModalDialog.Header>
52
- <ModalDialog.Body>
53
- {formatMessage(messages[`password.security.${variant}.body`])}
54
- </ModalDialog.Body>
55
- <ModalDialog.Footer>
56
- <ActionRow className={classNames(
57
- { 'd-flex flex-column': isMobileView },
58
- )}
59
- >
60
- {variant === 'nudge' ? (
61
- <ModalDialog.CloseButton id="password-security-close" variant="tertiary">
62
- {formatMessage(messages['password.security.close.button'])}
63
- </ModalDialog.CloseButton>
64
- ) : null}
65
- <Link
66
- id="password-security-reset-password"
67
- className={classNames(
68
- 'btn btn-primary',
69
- { 'w-100': isMobileView },
70
- )}
71
- to={updatePathWithQueryParams(RESET_PAGE)}
72
- >
73
- {formatMessage(messages['password.security.redirect.to.reset.password.button'])}
74
- </Link>
75
- </ActionRow>
76
- </ModalDialog.Footer>
77
- </ModalDialog>
78
- );
79
- };
80
-
81
- ChangePasswordPrompt.defaultProps = {
82
- variant: 'block',
83
- redirectUrl: null,
84
- };
85
-
86
- ChangePasswordPrompt.propTypes = {
87
- variant: PropTypes.oneOf(['nudge', 'block']),
88
- redirectUrl: PropTypes.string,
89
- };
90
-
91
- export default ChangePasswordPrompt;
@@ -1,231 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- import {
4
- FormattedMessage, getAuthService, getSiteConfig, useIntl
5
- } from '@openedx/frontend-base';
6
- import { Alert, Hyperlink } from '@openedx/paragon';
7
- import { Error } from '@openedx/paragon/icons';
8
- import PropTypes from 'prop-types';
9
-
10
- import { windowScrollTo } from '../data/utils';
11
- import ChangePasswordPrompt from './ChangePasswordPrompt';
12
- import {
13
- ACCOUNT_LOCKED_OUT,
14
- ALLOWED_DOMAIN_LOGIN_ERROR,
15
- FAILED_LOGIN_ATTEMPT,
16
- FORBIDDEN_REQUEST,
17
- INACTIVE_USER,
18
- INCORRECT_EMAIL_PASSWORD,
19
- INTERNAL_SERVER_ERROR,
20
- INVALID_FORM,
21
- NON_COMPLIANT_PASSWORD_EXCEPTION,
22
- NUDGE_PASSWORD_CHANGE,
23
- REQUIRE_PASSWORD_CHANGE,
24
- TPA_AUTHENTICATION_FAILURE,
25
- } from './data/constants';
26
- import messages from './messages';
27
-
28
- const LoginFailureMessage = (props) => {
29
- const { formatMessage } = useIntl();
30
- const authService = getAuthService();
31
- const {
32
- context,
33
- errorCode,
34
- errorCount, // This is used to trigger the useEffect, facilitating the scrolling to the top.
35
- } = props;
36
-
37
- useEffect(() => {
38
- windowScrollTo({ left: 0, top: 0, behavior: 'smooth' });
39
- }, [errorCode, errorCount]);
40
-
41
- if (!errorCode) {
42
- return null;
43
- }
44
-
45
- let resetLink = (
46
- <Hyperlink destination="reset" isInline>
47
- {formatMessage(messages['login.incorrect.credentials.error.reset.link.text'])}
48
- </Hyperlink>
49
- );
50
-
51
- let errorMessage;
52
- switch (errorCode) {
53
- case NON_COMPLIANT_PASSWORD_EXCEPTION: {
54
- errorMessage = (
55
- <>
56
- <strong>{formatMessage(messages['non.compliant.password.title'])}</strong>
57
- <p>{formatMessage(messages['non.compliant.password.message'])}</p>
58
- </>
59
- );
60
- break;
61
- }
62
- case FORBIDDEN_REQUEST:
63
- errorMessage = <p>{formatMessage(messages['login.rate.limit.reached.message'])}</p>;
64
- break;
65
- case INACTIVE_USER: {
66
- const supportLink = (
67
- <a href={context.supportLink}>
68
- {formatMessage(messages['contact.support.link'], { platformName: context.platformName })}
69
- </a>
70
- );
71
- errorMessage = (
72
- <p>
73
- <FormattedMessage
74
- id="login.inactive.user.error"
75
- defaultMessage="In order to sign in, you need to activate your account.{lineBreak}
76
- {lineBreak}We just sent an activation link to {email}. If you do not receive an email,
77
- check your spam folders or {supportLink}."
78
- description="An error message shown to users when they sign in if they have not yet activated their account. It attempts to explain to them how to activate their account by looking for an email from the system."
79
- values={{
80
- lineBreak: <br />,
81
- email: <strong className="data-hj-suppress">{context.email}</strong>,
82
- supportLink,
83
- }}
84
- />
85
- </p>
86
- );
87
- break;
88
- }
89
- case ALLOWED_DOMAIN_LOGIN_ERROR: {
90
- const url = `${getSiteConfig().lmsBaseUrl}/dashboard/?tpa_hint=${context.tpaHint}`;
91
- const tpaLink = (
92
- <a href={url}>
93
- {formatMessage(messages['tpa.account.link'], { provider: context.provider })}
94
- </a>
95
- );
96
- errorMessage = (
97
- <p>
98
- <FormattedMessage
99
- id="allowed.domain.login.error"
100
- description="Display this error message when staff user try to login through password"
101
- defaultMessage="As {allowedDomain} user, You must login with your {allowedDomain} {tpaLink}."
102
- values={{ allowedDomain: context.allowedDomain, tpaLink }}
103
- />
104
- </p>
105
- );
106
- break;
107
- }
108
- case INVALID_FORM:
109
- errorMessage = <p>{formatMessage(messages['login.form.invalid.error.message'])}</p>;
110
- break;
111
- case FAILED_LOGIN_ATTEMPT: {
112
- resetLink = (
113
- <Hyperlink destination="reset" isInline>
114
- {formatMessage(messages['login.incorrect.credentials.error.before.account.blocked.text'])}
115
- </Hyperlink>
116
- );
117
- errorMessage = (
118
- <>
119
- <p>
120
- <FormattedMessage
121
- id="login.incorrect.credentials.error.attempts.text.1"
122
- description="Error message for incorrect email or password"
123
- defaultMessage="The username, email or password you entered is incorrect. You have {remainingAttempts} more sign in
124
- attempts before your account is temporarily locked."
125
- values={{ remainingAttempts: context.remainingAttempts }}
126
- />
127
- </p>
128
- <p>
129
- <FormattedMessage
130
- id="login.incorrect.credentials.error.attempts.text.2"
131
- description="Part of error message for incorrect email or password"
132
- defaultMessage="If you've forgotten your password, {resetLink}"
133
- values={{ resetLink }}
134
- />
135
- </p>
136
- </>
137
- );
138
- break;
139
- }
140
- case ACCOUNT_LOCKED_OUT: {
141
- errorMessage = (
142
- <>
143
- <p>{formatMessage(messages['account.locked.out.message.1'])}</p>
144
- <p>
145
- <FormattedMessage
146
- id="account.locked.out.message.2"
147
- description="Part of message for when user account has been locked out after multiple failed login attempts"
148
- defaultMessage="To be on the safe side, you can {resetLink} before trying again."
149
- values={{ resetLink }}
150
- />
151
- </p>
152
- </>
153
- );
154
- break;
155
- }
156
- case INCORRECT_EMAIL_PASSWORD:
157
- if (context.failureCount <= 1) {
158
- errorMessage = <p>{formatMessage(messages['login.incorrect.credentials.error'])}</p>;
159
- } else if (context.failureCount === 2) {
160
- errorMessage = (
161
- <p>
162
- <FormattedMessage
163
- id="login.incorrect.credentials.error.with.reset.link"
164
- defaultMessage="The username, email, or password you entered is incorrect. Please try again or {resetLink}."
165
- description="An error message shown to users if some part of their login information was incorrect."
166
- values={{ resetLink }}
167
- />
168
- </p>
169
- );
170
- }
171
- break;
172
- case NUDGE_PASSWORD_CHANGE:
173
- // Need to clear the CSRF token here to fetch a new one because token is already rotated after successful login.
174
- if (authService) {
175
- authService.getCsrfTokenService().clearCsrfTokenCache();
176
- }
177
- return (
178
- <ChangePasswordPrompt
179
- redirectUrl={context.redirectUrl}
180
- variant="nudge"
181
- />
182
- );
183
- case REQUIRE_PASSWORD_CHANGE:
184
- return <ChangePasswordPrompt />;
185
- case TPA_AUTHENTICATION_FAILURE:
186
- errorMessage = (
187
- <p>
188
- {formatMessage(messages['login.tpa.authentication.failure'], {
189
- platform_name: getSiteConfig().siteName,
190
- lineBreak: <br />,
191
- errorMessage: context.errorMessage,
192
- })}
193
- </p>
194
- );
195
- break;
196
- case INTERNAL_SERVER_ERROR:
197
- default:
198
- errorMessage = <p>{formatMessage(messages['internal.server.error.message'])}</p>;
199
- break;
200
- }
201
-
202
- return (
203
- <Alert id="login-failure-alert" className="mb-5" variant="danger" icon={Error}>
204
- <Alert.Heading>{formatMessage(messages['login.failure.header.title'])}</Alert.Heading>
205
- {errorMessage}
206
- </Alert>
207
- );
208
- };
209
-
210
- LoginFailureMessage.defaultProps = {
211
- context: {},
212
- };
213
-
214
- LoginFailureMessage.propTypes = {
215
- context: PropTypes.shape({
216
- supportLink: PropTypes.string,
217
- platformName: PropTypes.string,
218
- tpaHint: PropTypes.string,
219
- provider: PropTypes.string,
220
- allowedDomain: PropTypes.string,
221
- remainingAttempts: PropTypes.number,
222
- failureCount: PropTypes.number,
223
- errorMessage: PropTypes.string,
224
- email: PropTypes.string,
225
- redirectUrl: PropTypes.string,
226
- }),
227
- errorCode: PropTypes.string.isRequired,
228
- errorCount: PropTypes.number.isRequired,
229
- };
230
-
231
- export default LoginFailureMessage;