@openedx/frontend-app-authn 1.0.0-alpha.4 → 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 (506) 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/dist/app.scss +2 -0
  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/{src → dist}/sass/_base_component.scss +57 -54
  362. package/{src → dist}/sass/_progressive_profiling_page.scss +1 -3
  363. package/{src → dist}/sass/_registration.scss +7 -8
  364. package/{src → dist}/sass/_style.scss +40 -43
  365. package/package.json +17 -6
  366. package/src/__mocks__/file.js +0 -1
  367. package/src/__mocks__/svg.js +0 -1
  368. package/src/app.scss +0 -6
  369. package/src/app.ts +0 -43
  370. package/src/base-container/components/default-layout/DefaultLayout.test.jsx +0 -48
  371. package/src/base-container/components/default-layout/LargeLayout.jsx +0 -42
  372. package/src/base-container/components/default-layout/MediumLayout.jsx +0 -49
  373. package/src/base-container/components/default-layout/SmallLayout.jsx +0 -37
  374. package/src/base-container/components/default-layout/messages.js +0 -16
  375. package/src/base-container/components/image-layout/ExtraSmallLayout.jsx +0 -31
  376. package/src/base-container/components/image-layout/LargeLayout.jsx +0 -32
  377. package/src/base-container/components/image-layout/MediumLayout.jsx +0 -32
  378. package/src/base-container/components/image-layout/SmallLayout.jsx +0 -31
  379. package/src/base-container/components/image-layout/messages.js +0 -16
  380. package/src/base-container/components/welcome-page-layout/LargeLayout.jsx +0 -46
  381. package/src/base-container/components/welcome-page-layout/MediumLayout.jsx +0 -49
  382. package/src/base-container/components/welcome-page-layout/SmallLayout.jsx +0 -38
  383. package/src/base-container/components/welcome-page-layout/messages.js +0 -21
  384. package/src/base-container/index.jsx +0 -70
  385. package/src/base-container/tests/BaseContainer.test.jsx +0 -44
  386. package/src/common-components/EnterpriseSSO.jsx +0 -110
  387. package/src/common-components/FormGroup.jsx +0 -106
  388. package/src/common-components/InstitutionLogistration.jsx +0 -102
  389. package/src/common-components/NotFoundPage.jsx +0 -15
  390. package/src/common-components/PasswordField.jsx +0 -175
  391. package/src/common-components/RedirectLogistration.jsx +0 -94
  392. package/src/common-components/RegisterFaIcons.jsx +0 -8
  393. package/src/common-components/SocialAuthProviders.jsx +0 -75
  394. package/src/common-components/ThirdPartyAuth.jsx +0 -123
  395. package/src/common-components/ThirdPartyAuthAlert.jsx +0 -49
  396. package/src/common-components/UnAuthOnlyRoute.jsx +0 -41
  397. package/src/common-components/data/reducers.js +0 -63
  398. package/src/common-components/data/sagas.js +0 -32
  399. package/src/common-components/data/selectors.js +0 -28
  400. package/src/common-components/data/service.js +0 -23
  401. package/src/common-components/data/tests/reducer.test.js +0 -82
  402. package/src/common-components/data/tests/sagas.test.js +0 -71
  403. package/src/common-components/messages.jsx +0 -127
  404. package/src/common-components/tests/EmbeddedRegistrationRoute.test.jsx +0 -76
  405. package/src/common-components/tests/FormField.test.jsx +0 -289
  406. package/src/common-components/tests/SocialAuthProviders.test.jsx +0 -75
  407. package/src/common-components/tests/ThirdPartyAuthAlert.test.jsx +0 -39
  408. package/src/common-components/tests/UnAuthOnlyRoute.test.jsx +0 -73
  409. package/src/common-components/tests/__snapshots__/SocialAuthProviders.test.jsx.snap +0 -156
  410. package/src/common-components/tests/__snapshots__/ThirdPartyAuthAlert.test.jsx.snap +0 -53
  411. package/src/data/oneTrust.js +0 -3
  412. package/src/data/reducers.js +0 -36
  413. package/src/data/tests/cookies.test.js +0 -42
  414. package/src/data/tests/dataUtils.test.js +0 -19
  415. package/src/data/tests/reduxUtils.test.js +0 -14
  416. package/src/data/utils/cookies.js +0 -12
  417. package/src/data/utils/dataUtils.js +0 -81
  418. package/src/data/utils/index.js +0 -11
  419. package/src/data/utils/reduxUtils.js +0 -34
  420. package/src/data/utils/useMobileResponsive.js +0 -24
  421. package/src/field-renderer/FieldRenderer.jsx +0 -156
  422. package/src/field-renderer/tests/FieldRenderer.test.jsx +0 -201
  423. package/src/forgot-password/ForgotPasswordAlert.jsx +0 -97
  424. package/src/forgot-password/ForgotPasswordPage.jsx +0 -193
  425. package/src/forgot-password/data/reducers.js +0 -58
  426. package/src/forgot-password/data/sagas.js +0 -35
  427. package/src/forgot-password/data/selectors.js +0 -10
  428. package/src/forgot-password/data/service.js +0 -21
  429. package/src/forgot-password/data/tests/reducers.test.js +0 -34
  430. package/src/forgot-password/data/tests/sagas.test.js +0 -67
  431. package/src/forgot-password/messages.js +0 -128
  432. package/src/forgot-password/tests/ForgotPasswordPage.test.jsx +0 -269
  433. package/src/i18n/index.js +0 -25
  434. package/src/login/AccountActivationMessage.jsx +0 -78
  435. package/src/login/ChangePasswordPrompt.jsx +0 -91
  436. package/src/login/LoginFailure.jsx +0 -231
  437. package/src/login/LoginPage.jsx +0 -368
  438. package/src/login/data/reducers.js +0 -76
  439. package/src/login/data/sagas.js +0 -45
  440. package/src/login/data/service.js +0 -27
  441. package/src/login/data/tests/reducers.test.js +0 -155
  442. package/src/login/data/tests/sagas.test.js +0 -110
  443. package/src/login/messages.jsx +0 -211
  444. package/src/login/tests/AccountActivationMessage.test.jsx +0 -122
  445. package/src/login/tests/ChangePasswordPrompt.test.jsx +0 -75
  446. package/src/login/tests/LoginFailure.test.jsx +0 -323
  447. package/src/login/tests/LoginPage.test.jsx +0 -839
  448. package/src/logistration/Logistration.jsx +0 -189
  449. package/src/logistration/Logistration.test.jsx +0 -275
  450. package/src/progressive-profiling/ProgressiveProfiling.jsx +0 -313
  451. package/src/progressive-profiling/ProgressiveProfilingPageModal.jsx +0 -56
  452. package/src/progressive-profiling/data/reducers.js +0 -38
  453. package/src/progressive-profiling/data/sagas.js +0 -24
  454. package/src/progressive-profiling/data/service.js +0 -17
  455. package/src/progressive-profiling/messages.jsx +0 -57
  456. package/src/progressive-profiling/tests/ProgressiveProfiling.test.jsx +0 -322
  457. package/src/register/RegistrationFields/CountryField/CountryField.jsx +0 -164
  458. package/src/register/RegistrationFields/CountryField/CountryField.test.jsx +0 -204
  459. package/src/register/RegistrationFields/CountryField/validator.js +0 -32
  460. package/src/register/RegistrationFields/EmailField/EmailField.jsx +0 -140
  461. package/src/register/RegistrationFields/EmailField/EmailField.test.jsx +0 -236
  462. package/src/register/RegistrationFields/EmailField/constants.js +0 -131
  463. package/src/register/RegistrationFields/EmailField/validator.js +0 -126
  464. package/src/register/RegistrationFields/EmailField/validator.test.js +0 -39
  465. package/src/register/RegistrationFields/HonorCodeField/HonorCode.jsx +0 -104
  466. package/src/register/RegistrationFields/HonorCodeField/HonorCode.test.jsx +0 -70
  467. package/src/register/RegistrationFields/NameField/NameField.jsx +0 -68
  468. package/src/register/RegistrationFields/NameField/NameField.test.jsx +0 -146
  469. package/src/register/RegistrationFields/TermsOfServiceField/TermsOfService.jsx +0 -58
  470. package/src/register/RegistrationFields/TermsOfServiceField/TermsOfService.test.jsx +0 -55
  471. package/src/register/RegistrationFields/UsernameField/UsernameField.jsx +0 -162
  472. package/src/register/RegistrationFields/UsernameField/UsernameField.test.jsx +0 -319
  473. package/src/register/RegistrationFields/UsernameField/validator.js +0 -16
  474. package/src/register/RegistrationPage.jsx +0 -428
  475. package/src/register/RegistrationPage.test.jsx +0 -854
  476. package/src/register/components/ConfigurableRegistrationForm.jsx +0 -244
  477. package/src/register/components/RegistrationFailure.jsx +0 -80
  478. package/src/register/components/tests/ConfigurableRegistrationForm.test.jsx +0 -401
  479. package/src/register/components/tests/RegistrationFailure.test.jsx +0 -212
  480. package/src/register/components/tests/ThirdPartyAuth.test.jsx +0 -439
  481. package/src/register/data/reducers.js +0 -140
  482. package/src/register/data/sagas.js +0 -58
  483. package/src/register/data/selectors.js +0 -34
  484. package/src/register/data/service.js +0 -45
  485. package/src/register/data/tests/reducers.test.js +0 -277
  486. package/src/register/data/tests/sagas.test.js +0 -239
  487. package/src/register/data/tests/utils.test.js +0 -98
  488. package/src/register/data/utils.js +0 -153
  489. package/src/register/messages.jsx +0 -206
  490. package/src/reset-password/ResetPasswordFailure.jsx +0 -55
  491. package/src/reset-password/ResetPasswordPage.jsx +0 -224
  492. package/src/reset-password/ResetPasswordSuccess.jsx +0 -19
  493. package/src/reset-password/data/reducers.js +0 -44
  494. package/src/reset-password/data/sagas.js +0 -67
  495. package/src/reset-password/data/selectors.js +0 -10
  496. package/src/reset-password/data/service.js +0 -61
  497. package/src/reset-password/data/tests/sagas.test.js +0 -185
  498. package/src/reset-password/messages.js +0 -88
  499. package/src/reset-password/tests/ResetPasswordPage.test.jsx +0 -241
  500. package/src/routes.jsx +0 -79
  501. package/src/setupTest.js +0 -68
  502. /package/{src → dist}/base-container/components/image-layout/index.scss +0 -0
  503. /package/{src/index.ts → dist/index.d.ts} +0 -0
  504. /package/{src → dist}/sass/_forgot_password.scss +0 -0
  505. /package/{src → dist}/sass/_login_page.scss +0 -0
  506. /package/{src → dist}/sass/_reset_password.scss +0 -0
@@ -0,0 +1,128 @@
1
+ import { snakeCaseObject } from '@openedx/frontend-base';
2
+ import { LETTER_REGEX, NUMBER_REGEX } from '../../data/constants';
3
+ import messages from '../messages';
4
+ import validateEmail from '../RegistrationFields/EmailField/validator';
5
+ import validateName from '../RegistrationFields/NameField/validator';
6
+ import validateUsername from '../RegistrationFields/UsernameField/validator';
7
+ /**
8
+ * It validates the password field value
9
+ * @param value
10
+ * @param formatMessage
11
+ * @returns {string}
12
+ */
13
+ export const validatePasswordField = (value, formatMessage) => {
14
+ let fieldError = '';
15
+ if (!value || !LETTER_REGEX.test(value) || !NUMBER_REGEX.test(value) || value.length < 8) {
16
+ fieldError = formatMessage(messages['password.validation.message']);
17
+ }
18
+ return fieldError;
19
+ };
20
+ /**
21
+ * It accepts complete registration data as payload and checks if the form is valid.
22
+ * @param payload
23
+ * @param errors
24
+ * @param configurableFormFields
25
+ * @param fieldDescriptions
26
+ * @param formatMessage
27
+ * @returns {{fieldErrors, isValid: boolean}}
28
+ */
29
+ export const isFormValid = (payload, errors, configurableFormFields, fieldDescriptions, formatMessage) => {
30
+ var _a, _b;
31
+ const fieldErrors = Object.assign({}, errors);
32
+ let isValid = true;
33
+ let emailSuggestion = { suggestion: '', type: '' };
34
+ Object.keys(payload).forEach(key => {
35
+ switch (key) {
36
+ case 'name':
37
+ fieldErrors.name || (fieldErrors.name = validateName(payload.name, formatMessage));
38
+ if (fieldErrors.name) {
39
+ isValid = false;
40
+ }
41
+ break;
42
+ case 'email': {
43
+ if (!fieldErrors.email) {
44
+ const { fieldError, confirmEmailError, suggestion, } = validateEmail(payload.email, configurableFormFields === null || configurableFormFields === void 0 ? void 0 : configurableFormFields.confirm_email, formatMessage);
45
+ if (fieldError) {
46
+ fieldErrors.email = fieldError;
47
+ isValid = false;
48
+ }
49
+ if (confirmEmailError) {
50
+ fieldErrors.confirm_email = confirmEmailError;
51
+ isValid = false;
52
+ }
53
+ emailSuggestion = suggestion;
54
+ }
55
+ if (fieldErrors.email) {
56
+ isValid = false;
57
+ }
58
+ break;
59
+ }
60
+ case 'username':
61
+ fieldErrors.username || (fieldErrors.username = validateUsername(payload.username, formatMessage));
62
+ if (fieldErrors.username) {
63
+ isValid = false;
64
+ }
65
+ break;
66
+ case 'password':
67
+ fieldErrors.password || (fieldErrors.password = validatePasswordField(payload.password, formatMessage));
68
+ if (fieldErrors.password) {
69
+ isValid = false;
70
+ }
71
+ break;
72
+ default:
73
+ break;
74
+ }
75
+ });
76
+ // Don't validate when country field is optional or hidden and not present on registration form
77
+ if ((configurableFormFields === null || configurableFormFields === void 0 ? void 0 : configurableFormFields.country) && !((_a = configurableFormFields.country) === null || _a === void 0 ? void 0 : _a.displayValue)) {
78
+ fieldErrors.country = formatMessage(messages['empty.country.field.error']);
79
+ isValid = false;
80
+ }
81
+ else if ((configurableFormFields === null || configurableFormFields === void 0 ? void 0 : configurableFormFields.country) && !((_b = configurableFormFields.country) === null || _b === void 0 ? void 0 : _b.countryCode)) {
82
+ fieldErrors.country = formatMessage(messages['invalid.country.field.error']);
83
+ isValid = false;
84
+ }
85
+ Object.keys(fieldDescriptions).forEach(key => {
86
+ var _a;
87
+ if (key === 'country' && !((_a = configurableFormFields === null || configurableFormFields === void 0 ? void 0 : configurableFormFields.country) === null || _a === void 0 ? void 0 : _a.displayValue)) {
88
+ fieldErrors[key] = formatMessage(messages['empty.country.field.error']);
89
+ }
90
+ else if (!configurableFormFields[key]) {
91
+ fieldErrors[key] = fieldDescriptions[key].error_message;
92
+ }
93
+ if (fieldErrors[key]) {
94
+ isValid = false;
95
+ }
96
+ });
97
+ return { isValid, fieldErrors, emailSuggestion };
98
+ };
99
+ /**
100
+ * It prepares a payload for registration data that can be passed to registration API endpoint.
101
+ * @param initPayload
102
+ * @param configurableFormFields
103
+ * @param showMarketingEmailOptInCheckbox
104
+ * @param totalRegistrationTime
105
+ * @param queryParams
106
+ * @returns {*}
107
+ */
108
+ export const prepareRegistrationPayload = (initPayload, configurableFormFields, showMarketingEmailOptInCheckbox, totalRegistrationTime, queryParams) => {
109
+ let payload = Object.assign({}, initPayload);
110
+ Object.keys(configurableFormFields).forEach((fieldName) => {
111
+ if (fieldName === 'country') {
112
+ payload[fieldName] = configurableFormFields[fieldName].countryCode;
113
+ }
114
+ else {
115
+ payload[fieldName] = configurableFormFields[fieldName];
116
+ }
117
+ });
118
+ // Don't send the marketing email opt-in value if the flag is turned off
119
+ if (!showMarketingEmailOptInCheckbox) {
120
+ delete payload.marketingEmailsOptIn;
121
+ }
122
+ payload.totalRegistrationTime = totalRegistrationTime;
123
+ payload = snakeCaseObject(payload);
124
+ // add query params to the payload
125
+ payload = Object.assign(Object.assign({}, payload), queryParams);
126
+ return payload;
127
+ };
128
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/register/data/utils.js"],"names":[],"mappings":"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","sourcesContent":["import { snakeCaseObject } from '@openedx/frontend-base';\n\nimport { LETTER_REGEX, NUMBER_REGEX } from '../../data/constants';\nimport messages from '../messages';\nimport validateEmail from '../RegistrationFields/EmailField/validator';\nimport validateName from '../RegistrationFields/NameField/validator';\nimport validateUsername from '../RegistrationFields/UsernameField/validator';\n\n/**\n * It validates the password field value\n * @param value\n * @param formatMessage\n * @returns {string}\n */\nexport const validatePasswordField = (value, formatMessage) => {\n let fieldError = '';\n if (!value || !LETTER_REGEX.test(value) || !NUMBER_REGEX.test(value) || value.length < 8) {\n fieldError = formatMessage(messages['password.validation.message']);\n }\n return fieldError;\n};\n\n/**\n * It accepts complete registration data as payload and checks if the form is valid.\n * @param payload\n * @param errors\n * @param configurableFormFields\n * @param fieldDescriptions\n * @param formatMessage\n * @returns {{fieldErrors, isValid: boolean}}\n */\nexport const isFormValid = (\n payload,\n errors,\n configurableFormFields,\n fieldDescriptions,\n formatMessage,\n) => {\n const fieldErrors = { ...errors };\n let isValid = true;\n let emailSuggestion = { suggestion: '', type: '' };\n\n Object.keys(payload).forEach(key => {\n switch (key) {\n case 'name':\n fieldErrors.name ||= validateName(payload.name, formatMessage);\n if (fieldErrors.name) {\n isValid = false;\n }\n break;\n case 'email': {\n if (!fieldErrors.email) {\n const {\n fieldError, confirmEmailError, suggestion,\n } = validateEmail(payload.email, configurableFormFields?.confirm_email, formatMessage);\n if (fieldError) {\n fieldErrors.email = fieldError;\n isValid = false;\n }\n if (confirmEmailError) {\n fieldErrors.confirm_email = confirmEmailError;\n isValid = false;\n }\n emailSuggestion = suggestion;\n }\n if (fieldErrors.email) {\n isValid = false;\n }\n break;\n }\n case 'username':\n fieldErrors.username ||= validateUsername(payload.username, formatMessage);\n if (fieldErrors.username) {\n isValid = false;\n }\n break;\n case 'password':\n fieldErrors.password ||= validatePasswordField(payload.password, formatMessage);\n if (fieldErrors.password) {\n isValid = false;\n }\n break;\n default:\n break;\n }\n });\n\n // Don't validate when country field is optional or hidden and not present on registration form\n if (configurableFormFields?.country && !configurableFormFields.country?.displayValue) {\n fieldErrors.country = formatMessage(messages['empty.country.field.error']);\n isValid = false;\n } else if (configurableFormFields?.country && !configurableFormFields.country?.countryCode) {\n fieldErrors.country = formatMessage(messages['invalid.country.field.error']);\n isValid = false;\n }\n\n Object.keys(fieldDescriptions).forEach(key => {\n if (key === 'country' && !configurableFormFields?.country?.displayValue) {\n fieldErrors[key] = formatMessage(messages['empty.country.field.error']);\n } else if (!configurableFormFields[key]) {\n fieldErrors[key] = fieldDescriptions[key].error_message;\n }\n if (fieldErrors[key]) {\n isValid = false;\n }\n });\n\n return { isValid, fieldErrors, emailSuggestion };\n};\n\n/**\n * It prepares a payload for registration data that can be passed to registration API endpoint.\n * @param initPayload\n * @param configurableFormFields\n * @param showMarketingEmailOptInCheckbox\n * @param totalRegistrationTime\n * @param queryParams\n * @returns {*}\n */\nexport const prepareRegistrationPayload = (\n initPayload,\n configurableFormFields,\n showMarketingEmailOptInCheckbox,\n totalRegistrationTime,\n queryParams,\n) => {\n let payload = { ...initPayload };\n Object.keys(configurableFormFields).forEach((fieldName) => {\n if (fieldName === 'country') {\n payload[fieldName] = configurableFormFields[fieldName].countryCode;\n } else {\n payload[fieldName] = configurableFormFields[fieldName];\n }\n });\n\n // Don't send the marketing email opt-in value if the flag is turned off\n if (!showMarketingEmailOptInCheckbox) {\n delete payload.marketingEmailsOptIn;\n }\n\n payload.totalRegistrationTime = totalRegistrationTime;\n payload = snakeCaseObject(payload);\n\n // add query params to the payload\n payload = { ...payload, ...queryParams };\n return payload;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export { default as RegistrationPage } from "./RegistrationPage";
2
+ export { default as saga } from "./data/sagas";
3
+ export { default as reducer, storeName } from "./data/reducers";
@@ -2,3 +2,4 @@ export { default as RegistrationPage } from './RegistrationPage';
2
2
  export { default as reducer } from './data/reducers';
3
3
  export { default as saga } from './data/sagas';
4
4
  export { storeName } from './data/reducers';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/register/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { default as RegistrationPage } from './RegistrationPage';\nexport { default as reducer } from './data/reducers';\nexport { default as saga } from './data/sagas';\nexport { storeName } from './data/reducers';\n"]}
@@ -0,0 +1,193 @@
1
+ export default messages;
2
+ declare const messages: {
3
+ 'register.page.title': {
4
+ id: string;
5
+ defaultMessage: string;
6
+ description: string;
7
+ };
8
+ 'registration.fullname.label': {
9
+ id: string;
10
+ defaultMessage: string;
11
+ description: string;
12
+ };
13
+ 'registration.email.label': {
14
+ id: string;
15
+ defaultMessage: string;
16
+ description: string;
17
+ };
18
+ 'registration.username.label': {
19
+ id: string;
20
+ defaultMessage: string;
21
+ description: string;
22
+ };
23
+ 'registration.password.label': {
24
+ id: string;
25
+ defaultMessage: string;
26
+ description: string;
27
+ };
28
+ 'registration.country.label': {
29
+ id: string;
30
+ defaultMessage: string;
31
+ description: string;
32
+ };
33
+ 'registration.opt.in.label': {
34
+ id: string;
35
+ defaultMessage: string;
36
+ description: string;
37
+ };
38
+ 'help.text.name': {
39
+ id: string;
40
+ defaultMessage: string;
41
+ description: string;
42
+ };
43
+ 'help.text.username.1': {
44
+ id: string;
45
+ defaultMessage: string;
46
+ description: string;
47
+ };
48
+ 'help.text.username.2': {
49
+ id: string;
50
+ defaultMessage: string;
51
+ description: string;
52
+ };
53
+ 'help.text.email': {
54
+ id: string;
55
+ defaultMessage: string;
56
+ description: string;
57
+ };
58
+ 'create.account.for.free.button': {
59
+ id: string;
60
+ defaultMessage: string;
61
+ description: string;
62
+ };
63
+ 'create.account.cta.button': {
64
+ id: string;
65
+ defaultMessage: string;
66
+ description: string;
67
+ };
68
+ 'register.institution.login.page.title': {
69
+ id: string;
70
+ defaultMessage: string;
71
+ description: string;
72
+ };
73
+ 'empty.name.field.error': {
74
+ id: string;
75
+ defaultMessage: string;
76
+ description: string;
77
+ };
78
+ 'empty.email.field.error': {
79
+ id: string;
80
+ defaultMessage: string;
81
+ description: string;
82
+ };
83
+ 'empty.username.field.error': {
84
+ id: string;
85
+ defaultMessage: string;
86
+ description: string;
87
+ };
88
+ 'empty.password.field.error': {
89
+ id: string;
90
+ defaultMessage: string;
91
+ description: string;
92
+ };
93
+ 'empty.country.field.error': {
94
+ id: string;
95
+ defaultMessage: string;
96
+ description: string;
97
+ };
98
+ 'invalid.country.field.error': {
99
+ id: string;
100
+ defaultMessage: string;
101
+ description: string;
102
+ };
103
+ 'email.do.not.match': {
104
+ id: string;
105
+ defaultMessage: string;
106
+ description: string;
107
+ };
108
+ 'email.invalid.format.error': {
109
+ id: string;
110
+ defaultMessage: string;
111
+ description: string;
112
+ };
113
+ 'username.validation.message': {
114
+ id: string;
115
+ defaultMessage: string;
116
+ description: string;
117
+ };
118
+ 'name.validation.message': {
119
+ id: string;
120
+ defaultMessage: string;
121
+ description: string;
122
+ };
123
+ 'password.validation.message': {
124
+ id: string;
125
+ defaultMessage: string;
126
+ description: string;
127
+ };
128
+ 'username.format.validation.message': {
129
+ id: string;
130
+ defaultMessage: string;
131
+ description: string;
132
+ };
133
+ 'registration.request.failure.header': {
134
+ id: string;
135
+ defaultMessage: string;
136
+ description: string;
137
+ };
138
+ 'registration.empty.form.submission.error': {
139
+ id: string;
140
+ defaultMessage: string;
141
+ description: string;
142
+ };
143
+ 'registration.request.server.error': {
144
+ id: string;
145
+ defaultMessage: string;
146
+ description: string;
147
+ };
148
+ 'registration.rate.limit.error': {
149
+ id: string;
150
+ defaultMessage: string;
151
+ description: string;
152
+ };
153
+ 'registration.tpa.session.expired': {
154
+ id: string;
155
+ defaultMessage: string;
156
+ description: string;
157
+ };
158
+ 'registration.tpa.authentication.failure': {
159
+ id: string;
160
+ defaultMessage: string;
161
+ description: string;
162
+ };
163
+ 'terms.of.service.and.honor.code': {
164
+ id: string;
165
+ defaultMessage: string;
166
+ description: string;
167
+ };
168
+ 'privacy.policy': {
169
+ id: string;
170
+ defaultMessage: string;
171
+ description: string;
172
+ };
173
+ 'honor.code': {
174
+ id: string;
175
+ defaultMessage: string;
176
+ description: string;
177
+ };
178
+ 'terms.of.service': {
179
+ id: string;
180
+ defaultMessage: string;
181
+ description: string;
182
+ };
183
+ 'registration.username.suggestion.label': {
184
+ id: string;
185
+ defaultMessage: string;
186
+ description: string;
187
+ };
188
+ 'did.you.mean.alert.text': {
189
+ id: string;
190
+ defaultMessage: string;
191
+ description: string;
192
+ };
193
+ };
@@ -0,0 +1,205 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ 'register.page.title': {
4
+ id: 'register.page.title',
5
+ defaultMessage: 'Register | {siteName}',
6
+ description: 'register page title',
7
+ },
8
+ // Field labels
9
+ 'registration.fullname.label': {
10
+ id: 'registration.fullname.label',
11
+ defaultMessage: 'Full name',
12
+ description: 'Label that appears above fullname field',
13
+ },
14
+ 'registration.email.label': {
15
+ id: 'registration.email.label',
16
+ defaultMessage: 'Email',
17
+ description: 'Label that appears above email field on register page',
18
+ },
19
+ 'registration.username.label': {
20
+ id: 'registration.username.label',
21
+ defaultMessage: 'Public username',
22
+ description: 'Label that appears above username field',
23
+ },
24
+ 'registration.password.label': {
25
+ id: 'registration.password.label',
26
+ defaultMessage: 'Password',
27
+ description: 'Label that appears above password field',
28
+ },
29
+ 'registration.country.label': {
30
+ id: 'registration.country.label',
31
+ defaultMessage: 'Country/Region',
32
+ description: 'Placeholder for the country options dropdown.',
33
+ },
34
+ 'registration.opt.in.label': {
35
+ id: 'registration.opt.in.label',
36
+ defaultMessage: 'I agree that {siteName} may send me marketing messages.',
37
+ description: 'Text for opt in option on register page.',
38
+ },
39
+ // Help text
40
+ 'help.text.name': {
41
+ id: 'help.text.name',
42
+ defaultMessage: 'This name will be used by any certificates that you earn.',
43
+ description: 'Help text for fullname field on registration page',
44
+ },
45
+ 'help.text.username.1': {
46
+ id: 'help.text.username.1',
47
+ defaultMessage: 'The name that will identify you in your courses.',
48
+ description: 'Part of help text for username field on registration page',
49
+ },
50
+ 'help.text.username.2': {
51
+ id: 'help.text.username.2',
52
+ defaultMessage: 'This can not be changed later.',
53
+ description: 'Part of help text for username field on registration page',
54
+ },
55
+ 'help.text.email': {
56
+ id: 'help.text.email',
57
+ defaultMessage: 'For account activation and important updates',
58
+ description: 'Help text for email field on registration page',
59
+ },
60
+ // Form buttons
61
+ 'create.account.for.free.button': {
62
+ id: 'create.account.for.free.button',
63
+ defaultMessage: 'Create an account for free',
64
+ description: 'Label text for registration form submission button',
65
+ },
66
+ 'create.account.cta.button': {
67
+ id: 'create.account.cta.button',
68
+ defaultMessage: '{label}',
69
+ description: 'Label text for registration form submission button for those users who are landing through redirections',
70
+ },
71
+ // Institution login
72
+ 'register.institution.login.page.title': {
73
+ id: 'register.institution.login.page.title',
74
+ defaultMessage: 'Register with institution/campus credentials',
75
+ description: 'Heading of institution page',
76
+ },
77
+ // Validation messages
78
+ 'empty.name.field.error': {
79
+ id: 'empty.name.field.error',
80
+ defaultMessage: 'Enter your full name',
81
+ description: 'Error message for empty fullname field',
82
+ },
83
+ 'empty.email.field.error': {
84
+ id: 'empty.email.field.error',
85
+ defaultMessage: 'Enter your email',
86
+ description: 'Error message for empty email field',
87
+ },
88
+ 'empty.username.field.error': {
89
+ id: 'empty.username.field.error',
90
+ defaultMessage: 'Username must be between 2 and 30 characters',
91
+ description: 'Error message for empty username field',
92
+ },
93
+ 'empty.password.field.error': {
94
+ id: 'empty.password.field.error',
95
+ defaultMessage: 'Password criteria has not been met',
96
+ description: 'Error message for empty password field',
97
+ },
98
+ 'empty.country.field.error': {
99
+ id: 'empty.country.field.error',
100
+ defaultMessage: 'Select your country or region of residence',
101
+ description: 'Error message when no country/region is selected',
102
+ },
103
+ 'invalid.country.field.error': {
104
+ id: 'invalid.country.field.error',
105
+ defaultMessage: 'Country must match with an option available in the dropdown.',
106
+ description: 'Error message when country is invalid',
107
+ },
108
+ 'email.do.not.match': {
109
+ id: 'email.do.not.match',
110
+ defaultMessage: 'The email addresses do not match.',
111
+ description: 'Email not match to confirm email',
112
+ },
113
+ 'email.invalid.format.error': {
114
+ id: 'email.invalid.format.error',
115
+ defaultMessage: 'Enter a valid email address',
116
+ description: 'Validation error for invalid email address',
117
+ },
118
+ 'username.validation.message': {
119
+ id: 'username.validation.message',
120
+ defaultMessage: 'Username must be between 2 and 30 characters',
121
+ description: 'Error message for empty username field',
122
+ },
123
+ 'name.validation.message': {
124
+ id: 'name.validation.message',
125
+ defaultMessage: 'Enter a valid name',
126
+ description: 'Validation message that appears when fullname contain URL',
127
+ },
128
+ 'password.validation.message': {
129
+ id: 'password.validation.message',
130
+ defaultMessage: 'Password criteria has not been met',
131
+ description: 'Error message for empty or invalid password',
132
+ },
133
+ 'username.format.validation.message': {
134
+ id: 'username.format.validation.message',
135
+ defaultMessage: 'Usernames can only contain letters (A-Z, a-z), numerals (0-9), underscores (_), and hyphens (-). Usernames cannot contain spaces',
136
+ description: 'Validation message that appears when username format is invalid',
137
+ },
138
+ // Error messages
139
+ 'registration.request.failure.header': {
140
+ id: 'registration.request.failure.header',
141
+ defaultMessage: 'We couldn\'t create your account.',
142
+ description: 'error message when registration failure.',
143
+ },
144
+ 'registration.empty.form.submission.error': {
145
+ id: 'registration.empty.form.submission.error',
146
+ defaultMessage: 'Please check your responses and try again.',
147
+ description: 'Error message that appears on top of the form when empty form is submitted',
148
+ },
149
+ 'registration.request.server.error': {
150
+ id: 'registration.request.server.error',
151
+ defaultMessage: 'An error has occurred. Try refreshing the page, or check your internet connection.',
152
+ description: 'Error message for internal server error.',
153
+ },
154
+ 'registration.rate.limit.error': {
155
+ id: 'registration.rate.limit.error',
156
+ defaultMessage: 'Too many failed registration attempts. Try again later.',
157
+ description: 'Error message that appears when an anonymous user has made too many failed registration attempts',
158
+ },
159
+ 'registration.tpa.session.expired': {
160
+ id: 'registration.tpa.session.expired',
161
+ defaultMessage: 'Registration using {provider} has timed out.',
162
+ description: 'Error message that appears when a user has not registered in the required timeframe for the registration method they chose.',
163
+ },
164
+ 'registration.tpa.authentication.failure': {
165
+ id: 'registration.tpa.authentication.failure',
166
+ defaultMessage: 'We are sorry, you are not authorized to access {platform_name} via this channel. '
167
+ + 'Please contact your learning administrator or manager in order to access {platform_name}.'
168
+ + '{lineBreak}{lineBreak}Error Details:{lineBreak}{errorMessage}',
169
+ description: 'Error message third party authentication pipeline fails',
170
+ },
171
+ // Terms of Service and Honor Code
172
+ 'terms.of.service.and.honor.code': {
173
+ id: 'terms.of.service.and.honor.code',
174
+ defaultMessage: 'Terms of Service and Honor Code',
175
+ description: 'Text for the hyperlink that redirects user to terms of service and honor code',
176
+ },
177
+ 'privacy.policy': {
178
+ id: 'privacy.policy',
179
+ defaultMessage: 'Privacy Policy',
180
+ description: 'Text for the hyperlink that redirects user to privacy policy',
181
+ },
182
+ 'honor.code': {
183
+ id: 'honor.code',
184
+ defaultMessage: 'Honor Code',
185
+ description: 'Text for the hyperlink that redirects user to the honor code',
186
+ },
187
+ 'terms.of.service': {
188
+ id: 'terms.of.service',
189
+ defaultMessage: 'Terms of Service',
190
+ description: 'Text for the hyperlink that redirects user to the terms of service',
191
+ },
192
+ // miscellaneous strings
193
+ 'registration.username.suggestion.label': {
194
+ id: 'registration.username.suggestion.label',
195
+ defaultMessage: 'Suggested:',
196
+ description: 'Suggested usernames label text.',
197
+ },
198
+ 'did.you.mean.alert.text': {
199
+ id: 'did.you.mean.alert.text',
200
+ defaultMessage: 'Did you mean',
201
+ description: 'Did you mean alert suggestion',
202
+ },
203
+ });
204
+ export default messages;
205
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/register/messages.jsx"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'register.page.title': {\n id: 'register.page.title',\n defaultMessage: 'Register | {siteName}',\n description: 'register page title',\n },\n // Field labels\n 'registration.fullname.label': {\n id: 'registration.fullname.label',\n defaultMessage: 'Full name',\n description: 'Label that appears above fullname field',\n },\n 'registration.email.label': {\n id: 'registration.email.label',\n defaultMessage: 'Email',\n description: 'Label that appears above email field on register page',\n },\n 'registration.username.label': {\n id: 'registration.username.label',\n defaultMessage: 'Public username',\n description: 'Label that appears above username field',\n },\n 'registration.password.label': {\n id: 'registration.password.label',\n defaultMessage: 'Password',\n description: 'Label that appears above password field',\n },\n 'registration.country.label': {\n id: 'registration.country.label',\n defaultMessage: 'Country/Region',\n description: 'Placeholder for the country options dropdown.',\n },\n 'registration.opt.in.label': {\n id: 'registration.opt.in.label',\n defaultMessage: 'I agree that {siteName} may send me marketing messages.',\n description: 'Text for opt in option on register page.',\n },\n // Help text\n 'help.text.name': {\n id: 'help.text.name',\n defaultMessage: 'This name will be used by any certificates that you earn.',\n description: 'Help text for fullname field on registration page',\n },\n 'help.text.username.1': {\n id: 'help.text.username.1',\n defaultMessage: 'The name that will identify you in your courses.',\n description: 'Part of help text for username field on registration page',\n },\n 'help.text.username.2': {\n id: 'help.text.username.2',\n defaultMessage: 'This can not be changed later.',\n description: 'Part of help text for username field on registration page',\n },\n 'help.text.email': {\n id: 'help.text.email',\n defaultMessage: 'For account activation and important updates',\n description: 'Help text for email field on registration page',\n },\n // Form buttons\n 'create.account.for.free.button': {\n id: 'create.account.for.free.button',\n defaultMessage: 'Create an account for free',\n description: 'Label text for registration form submission button',\n },\n 'create.account.cta.button': {\n id: 'create.account.cta.button',\n defaultMessage: '{label}',\n description: 'Label text for registration form submission button for those users who are landing through redirections',\n },\n // Institution login\n 'register.institution.login.page.title': {\n id: 'register.institution.login.page.title',\n defaultMessage: 'Register with institution/campus credentials',\n description: 'Heading of institution page',\n },\n // Validation messages\n 'empty.name.field.error': {\n id: 'empty.name.field.error',\n defaultMessage: 'Enter your full name',\n description: 'Error message for empty fullname field',\n },\n 'empty.email.field.error': {\n id: 'empty.email.field.error',\n defaultMessage: 'Enter your email',\n description: 'Error message for empty email field',\n },\n 'empty.username.field.error': {\n id: 'empty.username.field.error',\n defaultMessage: 'Username must be between 2 and 30 characters',\n description: 'Error message for empty username field',\n },\n 'empty.password.field.error': {\n id: 'empty.password.field.error',\n defaultMessage: 'Password criteria has not been met',\n description: 'Error message for empty password field',\n },\n 'empty.country.field.error': {\n id: 'empty.country.field.error',\n defaultMessage: 'Select your country or region of residence',\n description: 'Error message when no country/region is selected',\n },\n 'invalid.country.field.error': {\n id: 'invalid.country.field.error',\n defaultMessage: 'Country must match with an option available in the dropdown.',\n description: 'Error message when country is invalid',\n },\n 'email.do.not.match': {\n id: 'email.do.not.match',\n defaultMessage: 'The email addresses do not match.',\n description: 'Email not match to confirm email',\n },\n 'email.invalid.format.error': {\n id: 'email.invalid.format.error',\n defaultMessage: 'Enter a valid email address',\n description: 'Validation error for invalid email address',\n },\n 'username.validation.message': {\n id: 'username.validation.message',\n defaultMessage: 'Username must be between 2 and 30 characters',\n description: 'Error message for empty username field',\n },\n 'name.validation.message': {\n id: 'name.validation.message',\n defaultMessage: 'Enter a valid name',\n description: 'Validation message that appears when fullname contain URL',\n },\n 'password.validation.message': {\n id: 'password.validation.message',\n defaultMessage: 'Password criteria has not been met',\n description: 'Error message for empty or invalid password',\n },\n 'username.format.validation.message': {\n id: 'username.format.validation.message',\n defaultMessage: 'Usernames can only contain letters (A-Z, a-z), numerals (0-9), underscores (_), and hyphens (-). Usernames cannot contain spaces',\n description: 'Validation message that appears when username format is invalid',\n },\n // Error messages\n 'registration.request.failure.header': {\n id: 'registration.request.failure.header',\n defaultMessage: 'We couldn\\'t create your account.',\n description: 'error message when registration failure.',\n },\n 'registration.empty.form.submission.error': {\n id: 'registration.empty.form.submission.error',\n defaultMessage: 'Please check your responses and try again.',\n description: 'Error message that appears on top of the form when empty form is submitted',\n },\n 'registration.request.server.error': {\n id: 'registration.request.server.error',\n defaultMessage: 'An error has occurred. Try refreshing the page, or check your internet connection.',\n description: 'Error message for internal server error.',\n },\n 'registration.rate.limit.error': {\n id: 'registration.rate.limit.error',\n defaultMessage: 'Too many failed registration attempts. Try again later.',\n description: 'Error message that appears when an anonymous user has made too many failed registration attempts',\n },\n 'registration.tpa.session.expired': {\n id: 'registration.tpa.session.expired',\n defaultMessage: 'Registration using {provider} has timed out.',\n description: 'Error message that appears when a user has not registered in the required timeframe for the registration method they chose.',\n },\n 'registration.tpa.authentication.failure': {\n id: 'registration.tpa.authentication.failure',\n defaultMessage: 'We are sorry, you are not authorized to access {platform_name} via this channel. '\n + 'Please contact your learning administrator or manager in order to access {platform_name}.'\n + '{lineBreak}{lineBreak}Error Details:{lineBreak}{errorMessage}',\n description: 'Error message third party authentication pipeline fails',\n },\n // Terms of Service and Honor Code\n 'terms.of.service.and.honor.code': {\n id: 'terms.of.service.and.honor.code',\n defaultMessage: 'Terms of Service and Honor Code',\n description: 'Text for the hyperlink that redirects user to terms of service and honor code',\n },\n 'privacy.policy': {\n id: 'privacy.policy',\n defaultMessage: 'Privacy Policy',\n description: 'Text for the hyperlink that redirects user to privacy policy',\n },\n 'honor.code': {\n id: 'honor.code',\n defaultMessage: 'Honor Code',\n description: 'Text for the hyperlink that redirects user to the honor code',\n },\n 'terms.of.service': {\n id: 'terms.of.service',\n defaultMessage: 'Terms of Service',\n description: 'Text for the hyperlink that redirects user to the terms of service',\n },\n // miscellaneous strings\n 'registration.username.suggestion.label': {\n id: 'registration.username.suggestion.label',\n defaultMessage: 'Suggested:',\n description: 'Suggested usernames label text.',\n },\n 'did.you.mean.alert.text': {\n id: 'did.you.mean.alert.text',\n defaultMessage: 'Did you mean',\n description: 'Did you mean alert suggestion',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,15 @@
1
+ export default ResetPasswordFailure;
2
+ declare function ResetPasswordFailure(props: any): import("react/jsx-runtime").JSX.Element | null;
3
+ declare namespace ResetPasswordFailure {
4
+ namespace defaultProps {
5
+ let errorCode: null;
6
+ let errorMsg: null;
7
+ }
8
+ namespace propTypes {
9
+ let errorCode_1: PropTypes.Requireable<string>;
10
+ export { errorCode_1 as errorCode };
11
+ let errorMsg_1: PropTypes.Requireable<string>;
12
+ export { errorMsg_1 as errorMsg };
13
+ }
14
+ }
15
+ import PropTypes from 'prop-types';
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useIntl } from '@openedx/frontend-base';
3
+ import { Alert } from '@openedx/paragon';
4
+ import { Error } from '@openedx/paragon/icons';
5
+ import PropTypes from 'prop-types';
6
+ import { FORM_SUBMISSION_ERROR, PASSWORD_RESET, PASSWORD_VALIDATION_ERROR } from './data/constants';
7
+ import messages from './messages';
8
+ const ResetPasswordFailure = (props) => {
9
+ const { formatMessage } = useIntl();
10
+ const { errorCode, errorMsg } = props;
11
+ let errorMessage = null;
12
+ let heading = formatMessage(messages['reset.password.failure.heading']);
13
+ switch (errorCode) {
14
+ case PASSWORD_RESET.FORBIDDEN_REQUEST:
15
+ heading = formatMessage(messages['reset.server.rate.limit.error']);
16
+ errorMessage = formatMessage(messages['rate.limit.error']);
17
+ break;
18
+ case PASSWORD_RESET.INTERNAL_SERVER_ERROR:
19
+ errorMessage = formatMessage(messages['internal.server.error']);
20
+ break;
21
+ case PASSWORD_VALIDATION_ERROR:
22
+ errorMessage = errorMsg;
23
+ break;
24
+ case FORM_SUBMISSION_ERROR:
25
+ errorMessage = formatMessage(messages['reset.password.form.submission.error']);
26
+ break;
27
+ default:
28
+ break;
29
+ }
30
+ if (errorMessage) {
31
+ return (_jsxs(Alert, { id: "validation-errors", className: "mb-5", variant: "danger", icon: Error, children: [_jsx(Alert.Heading, { children: heading }), _jsx("p", { children: errorMessage })] }));
32
+ }
33
+ return null;
34
+ };
35
+ ResetPasswordFailure.defaultProps = {
36
+ errorCode: null,
37
+ errorMsg: null,
38
+ };
39
+ ResetPasswordFailure.propTypes = {
40
+ errorCode: PropTypes.string,
41
+ errorMsg: PropTypes.string,
42
+ };
43
+ export default ResetPasswordFailure;
44
+ //# sourceMappingURL=ResetPasswordFailure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPasswordFailure.js","sourceRoot":"","sources":["../../src/reset-password/ResetPasswordFailure.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE;IACrC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEtC,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACxE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,cAAc,CAAC,iBAAiB;YACnC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACnE,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,cAAc,CAAC,qBAAqB;YACvC,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,yBAAyB;YAC5B,YAAY,GAAG,QAAQ,CAAC;YACxB,MAAM;QACR,KAAK,qBAAqB;YACxB,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAC/E,MAAM;QACR;YACE,MAAM;IACV,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,MAAC,KAAK,IAAC,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAK,aACzE,KAAC,KAAK,CAAC,OAAO,cAAE,OAAO,GAAiB,EACxC,sBAAI,YAAY,GAAK,IACf,CACT,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,oBAAoB,CAAC,YAAY,GAAG;IAClC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,oBAAoB,CAAC,SAAS,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,QAAQ,EAAE,SAAS,CAAC,MAAM;CAC3B,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import { useIntl } from '@openedx/frontend-base';\nimport { Alert } from '@openedx/paragon';\nimport { Error } from '@openedx/paragon/icons';\nimport PropTypes from 'prop-types';\n\nimport { FORM_SUBMISSION_ERROR, PASSWORD_RESET, PASSWORD_VALIDATION_ERROR } from './data/constants';\nimport messages from './messages';\n\nconst ResetPasswordFailure = (props) => {\n const { formatMessage } = useIntl();\n const { errorCode, errorMsg } = props;\n\n let errorMessage = null;\n let heading = formatMessage(messages['reset.password.failure.heading']);\n switch (errorCode) {\n case PASSWORD_RESET.FORBIDDEN_REQUEST:\n heading = formatMessage(messages['reset.server.rate.limit.error']);\n errorMessage = formatMessage(messages['rate.limit.error']);\n break;\n case PASSWORD_RESET.INTERNAL_SERVER_ERROR:\n errorMessage = formatMessage(messages['internal.server.error']);\n break;\n case PASSWORD_VALIDATION_ERROR:\n errorMessage = errorMsg;\n break;\n case FORM_SUBMISSION_ERROR:\n errorMessage = formatMessage(messages['reset.password.form.submission.error']);\n break;\n default:\n break;\n }\n\n if (errorMessage) {\n return (\n <Alert id=\"validation-errors\" className=\"mb-5\" variant=\"danger\" icon={Error}>\n <Alert.Heading>{heading}</Alert.Heading>\n <p>{errorMessage}</p>\n </Alert>\n );\n }\n\n return null;\n};\n\nResetPasswordFailure.defaultProps = {\n errorCode: null,\n errorMsg: null,\n};\n\nResetPasswordFailure.propTypes = {\n errorCode: PropTypes.string,\n errorMsg: PropTypes.string,\n};\n\nexport default ResetPasswordFailure;\n"]}