@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
@@ -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"]}