@openedx/frontend-app-authn 1.0.0 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.rst +304 -108
  2. package/dist/app.js +1 -27
  3. package/dist/app.js.map +1 -1
  4. package/dist/base-container/components/BrandLogo.d.ts +24 -0
  5. package/dist/base-container/components/BrandLogo.js +28 -0
  6. package/dist/base-container/components/BrandLogo.js.map +1 -0
  7. package/dist/base-container/components/default-layout/LargeLayout.js +3 -3
  8. package/dist/base-container/components/default-layout/LargeLayout.js.map +1 -1
  9. package/dist/base-container/components/default-layout/MediumLayout.js +3 -3
  10. package/dist/base-container/components/default-layout/MediumLayout.js.map +1 -1
  11. package/dist/base-container/components/default-layout/SmallLayout.js +3 -3
  12. package/dist/base-container/components/default-layout/SmallLayout.js.map +1 -1
  13. package/dist/base-container/components/image-layout/ExtraSmallLayout.js +4 -3
  14. package/dist/base-container/components/image-layout/ExtraSmallLayout.js.map +1 -1
  15. package/dist/base-container/components/image-layout/LargeLayout.js +4 -3
  16. package/dist/base-container/components/image-layout/LargeLayout.js.map +1 -1
  17. package/dist/base-container/components/image-layout/MediumLayout.js +4 -3
  18. package/dist/base-container/components/image-layout/MediumLayout.js.map +1 -1
  19. package/dist/base-container/components/image-layout/SmallLayout.js +4 -3
  20. package/dist/base-container/components/image-layout/SmallLayout.js.map +1 -1
  21. package/dist/base-container/components/welcome-page-layout/LargeLayout.js +3 -3
  22. package/dist/base-container/components/welcome-page-layout/LargeLayout.js.map +1 -1
  23. package/dist/base-container/components/welcome-page-layout/MediumLayout.js +3 -3
  24. package/dist/base-container/components/welcome-page-layout/MediumLayout.js.map +1 -1
  25. package/dist/base-container/components/welcome-page-layout/SmallLayout.js +3 -3
  26. package/dist/base-container/components/welcome-page-layout/SmallLayout.js.map +1 -1
  27. package/dist/common-components/components/ThirdPartyAuthContext.js.map +1 -1
  28. package/dist/forgot-password/ForgotPasswordAlert.js +5 -1
  29. package/dist/forgot-password/ForgotPasswordAlert.js.map +1 -1
  30. package/dist/forgot-password/ForgotPasswordPage.js +1 -1
  31. package/dist/forgot-password/ForgotPasswordPage.js.map +1 -1
  32. package/dist/forgot-password/data/apiHook.js.map +1 -1
  33. package/dist/login/AccountActivationMessage.js +5 -1
  34. package/dist/login/AccountActivationMessage.js.map +1 -1
  35. package/dist/login/components/LoginContext.js.map +1 -1
  36. package/dist/login/data/apiHook.js.map +1 -1
  37. package/dist/progressive-profiling/ProgressiveProfiling.js +1 -1
  38. package/dist/progressive-profiling/ProgressiveProfiling.js.map +1 -1
  39. package/dist/progressive-profiling/ProgressiveProfilingPageModal.d.ts +3 -1
  40. package/dist/progressive-profiling/ProgressiveProfilingPageModal.js +7 -4
  41. package/dist/progressive-profiling/ProgressiveProfilingPageModal.js.map +1 -1
  42. package/dist/progressive-profiling/components/ProgressiveProfilingContext.js.map +1 -1
  43. package/dist/progressive-profiling/data/apiHook.js.map +1 -1
  44. package/dist/register/components/RegisterContext.js.map +1 -1
  45. package/dist/register/data/apiHook.js.map +1 -1
  46. package/dist/register/types.js.map +1 -1
  47. package/dist/reset-password/data/apiHook.js.map +1 -1
  48. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aAC1B,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GACrG,EACZ,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,2BAA2B,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACnG,cACE,SAAS,EAAE,UAAU,CACnB,4BAA4B,EAC5B,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAC/C,aAEA,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAC1C,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC9E,IACH,IACD,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,4CAA4C,EAAC,mBAAmB,EAAC,eAAe,YAC7F,YAAG,SAAS,EAAC,cAAc,YACzB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport classNames from 'classnames';\n\nimport messages from './messages';\n\nconst LargeLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"w-50 d-flex\">\n <div className=\"col-md-9 bg-primary-400\">\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"logo position-absolute\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"min-vh-100 d-flex align-items-center\">\n <div className={classNames({ 'large-yellow-line mr-n4.5': getSiteConfig().siteName === 'edX' })} />\n <h1\n className={classNames(\n 'display-2 text-white mw-xs',\n { 'ml-6': getSiteConfig().siteName !== 'edX' },\n )}\n >\n {formatMessage(messages['start.learning'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </div>\n </h1>\n </div>\n </div>\n <div className=\"col-md-3 bg-white p-0\">\n <svg className=\"ml-n1 w-100 h-100 large-screen-svg-primary\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(171.6)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n );\n};\n\nexport default LargeLayout;\n"]}
1
+ {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aAC1B,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,SAAS,IAAC,SAAS,EAAC,wBAAwB,GAAG,EAChD,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,2BAA2B,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACnG,cACE,SAAS,EAAE,UAAU,CACnB,4BAA4B,EAC5B,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAC/C,aAEA,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAC1C,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC9E,IACH,IACD,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,4CAA4C,EAAC,mBAAmB,EAAC,eAAe,YAC7F,YAAG,SAAS,EAAC,cAAc,YACzB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport classNames from 'classnames';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst LargeLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"w-50 d-flex\">\n <div className=\"col-md-9 bg-primary-400\">\n <BrandLogo className=\"logo position-absolute\" />\n <div className=\"min-vh-100 d-flex align-items-center\">\n <div className={classNames({ 'large-yellow-line mr-n4.5': getSiteConfig().siteName === 'edX' })} />\n <h1\n className={classNames(\n 'display-2 text-white mw-xs',\n { 'ml-6': getSiteConfig().siteName !== 'edX' },\n )}\n >\n {formatMessage(messages['start.learning'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </div>\n </h1>\n </div>\n </div>\n <div className=\"col-md-3 bg-white p-0\">\n <svg className=\"ml-n1 w-100 h-100 large-screen-svg-primary\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(171.6)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n );\n};\n\nexport default LargeLayout;\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
3
  import classNames from 'classnames';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const MediumLayout = () => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-100 medium-screen-top-stripe" }), _jsxs("div", { className: "w-100 p-0 mb-3 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-primary-400", children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { alt: getSiteConfig().siteName, className: "logo", src: useAppConfig().LOGO_WHITE_URL }) }), _jsxs("div", { className: "d-flex align-items-center justify-content-center mb-4 ", children: [_jsx("div", { className: classNames({ 'mt-1 medium-yellow-line': getSiteConfig().siteName === 'edX' }) }), _jsx("div", { children: _jsx("h1", { className: classNames('display-1 text-white mt-5 mb-5 mr-2 main-heading', { 'ml-4.5': getSiteConfig().siteName !== 'edX' }), children: _jsxs("span", { children: [formatMessage(messages['start.learning']), ' ', _jsx("span", { className: "text-accent-a d-inline-block", children: formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName }) })] }) }) })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "w-100 h-100 medium-screen-svg-primary", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(168)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] })] }));
8
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-100 medium-screen-top-stripe" }), _jsxs("div", { className: "w-100 p-0 mb-3 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-primary-400", children: [_jsx(BrandLogo, { className: "logo" }), _jsxs("div", { className: "d-flex align-items-center justify-content-center mb-4 ", children: [_jsx("div", { className: classNames({ 'mt-1 medium-yellow-line': getSiteConfig().siteName === 'edX' }) }), _jsx("div", { children: _jsx("h1", { className: classNames('display-1 text-white mt-5 mb-5 mr-2 main-heading', { 'ml-4.5': getSiteConfig().siteName !== 'edX' }), children: _jsxs("span", { children: [formatMessage(messages['start.learning']), ' ', _jsx("span", { className: "text-accent-a d-inline-block", children: formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName }) })] }) }) })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "w-100 h-100 medium-screen-svg-primary", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(168)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] })] }));
9
9
  };
10
10
  export default MediumLayout;
11
11
  //# sourceMappingURL=MediumLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,gCAAgC,GAAG,EAClD,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GACnF,EACZ,eAAK,SAAS,EAAC,wDAAwD,aACrE,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACjG,wBACE,aACE,SAAS,EAAE,UAAU,CACnB,kDAAkD,EAClD,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CACjD,YAED,2BACG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAC/C,eAAM,SAAS,EAAC,8BAA8B,YAC3C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC7E,IACF,GACJ,GACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,uCAAuC,EAAC,mBAAmB,EAAC,eAAe,YACxF,YAAG,SAAS,EAAC,YAAY,YACvB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport classNames from 'classnames';\n\nimport messages from './messages';\n\nconst MediumLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <div className=\"w-100 medium-screen-top-stripe\" />\n <div className=\"w-100 p-0 mb-3 d-flex\">\n <div className=\"col-md-10 bg-primary-400\">\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image alt={getSiteConfig().siteName} className=\"logo\" src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"d-flex align-items-center justify-content-center mb-4 \">\n <div className={classNames({ 'mt-1 medium-yellow-line': getSiteConfig().siteName === 'edX' })} />\n <div>\n <h1\n className={classNames(\n 'display-1 text-white mt-5 mb-5 mr-2 main-heading',\n { 'ml-4.5': getSiteConfig().siteName !== 'edX' },\n )}\n >\n <span>\n {formatMessage(messages['start.learning'])}{' '}\n <span className=\"text-accent-a d-inline-block\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </span>\n </span>\n </h1>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"w-100 h-100 medium-screen-svg-primary\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(168)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n </>\n );\n};\n\nexport default MediumLayout;\n"]}
1
+ {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,gCAAgC,GAAG,EAClD,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,GAAG,EAC9B,eAAK,SAAS,EAAC,wDAAwD,aACrE,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,yBAAyB,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACjG,wBACE,aACE,SAAS,EAAE,UAAU,CACnB,kDAAkD,EAClD,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CACjD,YAED,2BACG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAC/C,eAAM,SAAS,EAAC,8BAA8B,YAC3C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC7E,IACF,GACJ,GACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,uCAAuC,EAAC,mBAAmB,EAAC,eAAe,YACxF,YAAG,SAAS,EAAC,YAAY,YACvB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport classNames from 'classnames';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst MediumLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <div className=\"w-100 medium-screen-top-stripe\" />\n <div className=\"w-100 p-0 mb-3 d-flex\">\n <div className=\"col-md-10 bg-primary-400\">\n <BrandLogo className=\"logo\" />\n <div className=\"d-flex align-items-center justify-content-center mb-4 \">\n <div className={classNames({ 'mt-1 medium-yellow-line': getSiteConfig().siteName === 'edX' })} />\n <div>\n <h1\n className={classNames(\n 'display-1 text-white mt-5 mb-5 mr-2 main-heading',\n { 'ml-4.5': getSiteConfig().siteName !== 'edX' },\n )}\n >\n <span>\n {formatMessage(messages['start.learning'])}{' '}\n <span className=\"text-accent-a d-inline-block\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </span>\n </span>\n </h1>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"w-100 h-100 medium-screen-svg-primary\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(168)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n </>\n );\n};\n\nexport default MediumLayout;\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
3
  import classNames from 'classnames';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const SmallLayout = () => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs("span", { className: "bg-primary-400 w-100", children: [_jsx("div", { className: "col-md-12 small-screen-top-stripe" }), _jsxs("div", { children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "logo-small", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_WHITE_URL }) }), _jsxs("div", { className: "d-flex align-items-center m-3.5", children: [_jsx("div", { className: classNames({ 'small-yellow-line mr-n2.5': getSiteConfig().siteName === 'edX' }) }), _jsx("h1", { className: classNames('text-white mt-3.5 mb-3.5'), children: _jsxs("span", { children: [formatMessage(messages['start.learning']), ' ', _jsx("span", { className: "text-accent-a d-inline-block", children: formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName }) })] }) })] })] })] }));
8
+ return (_jsxs("span", { className: "bg-primary-400 w-100", children: [_jsx("div", { className: "col-md-12 small-screen-top-stripe" }), _jsxs("div", { children: [_jsx(BrandLogo, { className: "logo-small" }), _jsxs("div", { className: "d-flex align-items-center m-3.5", children: [_jsx("div", { className: classNames({ 'small-yellow-line mr-n2.5': getSiteConfig().siteName === 'edX' }) }), _jsx("h1", { className: classNames('text-white mt-3.5 mb-3.5'), children: _jsxs("span", { children: [formatMessage(messages['start.learning']), ' ', _jsx("span", { className: "text-accent-a d-inline-block", children: formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName }) })] }) })] })] })] }));
9
9
  };
10
10
  export default SmallLayout;
11
11
  //# sourceMappingURL=SmallLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,gBAAM,SAAS,EAAC,sBAAsB,aACpC,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,0BACE,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GACzF,EACZ,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,2BAA2B,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACnG,aACE,SAAS,EAAE,UAAU,CACnB,0BAA0B,CAC3B,YAED,2BACG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAC/C,eAAM,SAAS,EAAC,8BAA8B,YAC3C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC7E,IACF,GACJ,IACD,IACF,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport classNames from 'classnames';\n\nimport messages from './messages';\n\nconst SmallLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <span className=\"bg-primary-400 w-100\">\n <div className=\"col-md-12 small-screen-top-stripe\" />\n <div>\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"logo-small\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"d-flex align-items-center m-3.5\">\n <div className={classNames({ 'small-yellow-line mr-n2.5': getSiteConfig().siteName === 'edX' })} />\n <h1\n className={classNames(\n 'text-white mt-3.5 mb-3.5',\n )}\n >\n <span>\n {formatMessage(messages['start.learning'])}{' '}\n <span className=\"text-accent-a d-inline-block\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </span>\n </span>\n </h1>\n </div>\n </div>\n </span>\n );\n};\n\nexport default SmallLayout;\n"]}
1
+ {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/default-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,gBAAM,SAAS,EAAC,sBAAsB,aACpC,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,0BACE,KAAC,SAAS,IAAC,SAAS,EAAC,YAAY,GAAG,EACpC,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAE,UAAU,CAAC,EAAE,2BAA2B,EAAE,aAAa,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,GAAI,EACnG,aACE,SAAS,EAAE,UAAU,CACnB,0BAA0B,CAC3B,YAED,2BACG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAC/C,eAAM,SAAS,EAAC,8BAA8B,YAC3C,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,GAC7E,IACF,GACJ,IACD,IACF,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport classNames from 'classnames';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst SmallLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <span className=\"bg-primary-400 w-100\">\n <div className=\"col-md-12 small-screen-top-stripe\" />\n <div>\n <BrandLogo className=\"logo-small\" />\n <div className=\"d-flex align-items-center m-3.5\">\n <div className={classNames({ 'small-yellow-line mr-n2.5': getSiteConfig().siteName === 'edX' })} />\n <h1\n className={classNames(\n 'text-white mt-3.5 mb-3.5',\n )}\n >\n <span>\n {formatMessage(messages['start.learning'])}{' '}\n <span className=\"text-accent-a d-inline-block\">\n {formatMessage(messages['with.site.name'], { siteName: getSiteConfig().siteName })}\n </span>\n </span>\n </h1>\n </div>\n </div>\n </span>\n );\n};\n\nexport default SmallLayout;\n"]}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { useAppConfig, useIntl } from '@openedx/frontend-base';
3
+ import BrandLogo from '../BrandLogo';
4
4
  import messages from './messages';
5
5
  const ExtraSmallLayout = () => {
6
6
  const { formatMessage } = useIntl();
7
- return (_jsxs("span", { className: "w-100 bg-primary-500 banner__image extra-small-layout", style: { backgroundImage: `url(${useAppConfig().BANNER_IMAGE_EXTRA_SMALL})` }, children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "company-logo", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_WHITE_URL }) }), _jsx("div", { className: "ml-4.5 mr-1 pb-3.5 pt-3.5", children: _jsxs("h1", { className: "banner__heading", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
7
+ const bannerImage = useAppConfig().BANNER_IMAGE_EXTRA_SMALL;
8
+ return (_jsxs("span", { className: "w-100 bg-primary-500 banner__image extra-small-layout", style: bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined, children: [_jsx(BrandLogo, { className: "company-logo" }), _jsx("div", { className: "ml-4.5 mr-1 pb-3.5 pt-3.5", children: _jsxs("h1", { className: "banner__heading", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
8
9
  };
9
10
  export default ExtraSmallLayout;
10
11
  //# sourceMappingURL=ExtraSmallLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtraSmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/ExtraSmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,gBACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,YAAY,EAAE,CAAC,wBAAwB,GAAG,EAAE,aAE7E,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GAC3F,EACZ,cAAK,SAAS,EAAC,2BAA2B,YACxC,cAAI,SAAS,EAAC,iBAAiB,aAC7B,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst ExtraSmallLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <span\n className=\"w-100 bg-primary-500 banner__image extra-small-layout\"\n style={{ backgroundImage: `url(${useAppConfig().BANNER_IMAGE_EXTRA_SMALL})` }}\n >\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"company-logo\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"ml-4.5 mr-1 pb-3.5 pt-3.5\">\n <h1 className=\"banner__heading\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </span>\n );\n};\n\nexport default ExtraSmallLayout;\n"]}
1
+ {"version":3,"file":"ExtraSmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/ExtraSmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC,wBAAwB,CAAC;IAE5D,OAAO,CACL,gBACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,aAE3E,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,EACtC,cAAK,SAAS,EAAC,2BAA2B,YACxC,cAAI,SAAS,EAAC,iBAAiB,aAC7B,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { useAppConfig, useIntl } from '@openedx/frontend-base';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst ExtraSmallLayout = () => {\n const { formatMessage } = useIntl();\n const bannerImage = useAppConfig().BANNER_IMAGE_EXTRA_SMALL;\n\n return (\n <span\n className=\"w-100 bg-primary-500 banner__image extra-small-layout\"\n style={bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined}\n >\n <BrandLogo className=\"company-logo\" />\n <div className=\"ml-4.5 mr-1 pb-3.5 pt-3.5\">\n <h1 className=\"banner__heading\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </span>\n );\n};\n\nexport default ExtraSmallLayout;\n"]}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { useAppConfig, useIntl } from '@openedx/frontend-base';
4
3
  import './index.scss';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const LargeLayout = () => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs("div", { className: "w-50 bg-primary-500 banner__image large-layout", style: { backgroundImage: `url(${useAppConfig().BANNER_IMAGE_LARGE})` }, children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "company-logo position-absolute", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_WHITE_URL }) }), _jsx("div", { className: "min-vh-100 p-5 d-flex align-items-end", children: _jsxs("h1", { className: "display-2 mw-sm mb-3 d-flex flex-column flex-shrink-0 justify-content-center", children: [_jsx("span", { className: "text-light-500", children: formatMessage(messages['your.career.turning.point']) }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
8
+ const bannerImage = useAppConfig().BANNER_IMAGE_LARGE;
9
+ return (_jsxs("div", { className: "w-50 bg-primary-500 banner__image large-layout", style: bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined, children: [_jsx(BrandLogo, { className: "company-logo position-absolute" }), _jsx("div", { className: "min-vh-100 p-5 d-flex align-items-end", children: _jsxs("h1", { className: "display-2 mw-sm mb-3 d-flex flex-column flex-shrink-0 justify-content-center", children: [_jsx("span", { className: "text-light-500", children: formatMessage(messages['your.career.turning.point']) }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
9
10
  };
10
11
  export default LargeLayout;
11
12
  //# sourceMappingURL=LargeLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eACE,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,YAAY,EAAE,CAAC,kBAAkB,GAAG,EAAE,aAEvE,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,gCAAgC,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GAC7G,EACZ,cAAK,SAAS,EAAC,uCAAuC,YACpD,cAAI,SAAS,EAAC,8EAA8E,aAC1F,eAAM,SAAS,EAAC,gBAAgB,YAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,GAChD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\n\nimport './index.scss';\nimport messages from './messages';\n\nconst LargeLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <div\n className=\"w-50 bg-primary-500 banner__image large-layout\"\n style={{ backgroundImage: `url(${useAppConfig().BANNER_IMAGE_LARGE})` }}\n >\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"company-logo position-absolute\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"min-vh-100 p-5 d-flex align-items-end\">\n <h1 className=\"display-2 mw-sm mb-3 d-flex flex-column flex-shrink-0 justify-content-center\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </div>\n );\n};\n\nexport default LargeLayout;\n"]}
1
+ {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,cAAc,CAAC;AACtB,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC,kBAAkB,CAAC;IAEtD,OAAO,CACL,eACE,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,aAE3E,KAAC,SAAS,IAAC,SAAS,EAAC,gCAAgC,GAAG,EACxD,cAAK,SAAS,EAAC,uCAAuC,YACpD,cAAI,SAAS,EAAC,8EAA8E,aAC1F,eAAM,SAAS,EAAC,gBAAgB,YAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,GAChD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, useIntl } from '@openedx/frontend-base';\n\nimport './index.scss';\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst LargeLayout = () => {\n const { formatMessage } = useIntl();\n const bannerImage = useAppConfig().BANNER_IMAGE_LARGE;\n\n return (\n <div\n className=\"w-50 bg-primary-500 banner__image large-layout\"\n style={bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined}\n >\n <BrandLogo className=\"company-logo position-absolute\" />\n <div className=\"min-vh-100 p-5 d-flex align-items-end\">\n <h1 className=\"display-2 mw-sm mb-3 d-flex flex-column flex-shrink-0 justify-content-center\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </div>\n );\n};\n\nexport default LargeLayout;\n"]}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { useAppConfig, useIntl } from '@openedx/frontend-base';
4
3
  import './index.scss';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const MediumLayout = () => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs("div", { className: "w-100 mb-3 bg-primary-500 banner__image medium-layout", style: { backgroundImage: `url(${useAppConfig().BANNER_IMAGE_MEDIUM})` }, children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "company-logo", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_WHITE_URL }) }), _jsx("div", { className: "ml-5 pb-4 pt-4", children: _jsxs("h1", { className: "display-2 banner__heading", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300 d-inline-block", children: formatMessage(messages['is.here']) })] }) })] }));
8
+ const bannerImage = useAppConfig().BANNER_IMAGE_MEDIUM;
9
+ return (_jsxs("div", { className: "w-100 mb-3 bg-primary-500 banner__image medium-layout", style: bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined, children: [_jsx(BrandLogo, { className: "company-logo" }), _jsx("div", { className: "ml-5 pb-4 pt-4", children: _jsxs("h1", { className: "display-2 banner__heading", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300 d-inline-block", children: formatMessage(messages['is.here']) })] }) })] }));
9
10
  };
10
11
  export default MediumLayout;
11
12
  //# sourceMappingURL=MediumLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,YAAY,EAAE,CAAC,mBAAmB,GAAG,EAAE,aAExE,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GAC3F,EACZ,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAI,SAAS,EAAC,2BAA2B,aACvC,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,iCAAiC,YAC9C,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\n\nimport './index.scss';\nimport messages from './messages';\n\nconst MediumLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <div\n className=\"w-100 mb-3 bg-primary-500 banner__image medium-layout\"\n style={{ backgroundImage: `url(${useAppConfig().BANNER_IMAGE_MEDIUM})` }}\n >\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"company-logo\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"ml-5 pb-4 pt-4\">\n <h1 className=\"display-2 banner__heading\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300 d-inline-block\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </div>\n );\n};\n\nexport default MediumLayout;\n"]}
1
+ {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,cAAc,CAAC;AACtB,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC;IAEvD,OAAO,CACL,eACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,aAE3E,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,EACtC,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAI,SAAS,EAAC,2BAA2B,aACvC,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,iCAAiC,YAC9C,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useAppConfig, useIntl } from '@openedx/frontend-base';\n\nimport './index.scss';\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst MediumLayout = () => {\n const { formatMessage } = useIntl();\n const bannerImage = useAppConfig().BANNER_IMAGE_MEDIUM;\n\n return (\n <div\n className=\"w-100 mb-3 bg-primary-500 banner__image medium-layout\"\n style={bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined}\n >\n <BrandLogo className=\"company-logo\" />\n <div className=\"ml-5 pb-4 pt-4\">\n <h1 className=\"display-2 banner__heading\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300 d-inline-block\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </div>\n );\n};\n\nexport default MediumLayout;\n"]}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { useAppConfig, useIntl } from '@openedx/frontend-base';
3
+ import BrandLogo from '../BrandLogo';
4
4
  import messages from './messages';
5
5
  const SmallLayout = () => {
6
6
  const { formatMessage } = useIntl();
7
- return (_jsxs("span", { className: "w-100 bg-primary-500 banner__image small-layout", style: { backgroundImage: `url(${useAppConfig().BANNER_IMAGE_SMALL})` }, children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "company-logo", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_WHITE_URL }) }), _jsx("div", { className: "ml-5 mr-1 pb-3.5 pt-3.5", children: _jsxs("h1", { className: "display-2", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
7
+ const bannerImage = useAppConfig().BANNER_IMAGE_SMALL;
8
+ return (_jsxs("span", { className: "w-100 bg-primary-500 banner__image small-layout", style: bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined, children: [_jsx(BrandLogo, { className: "company-logo" }), _jsx("div", { className: "ml-5 mr-1 pb-3.5 pt-3.5", children: _jsxs("h1", { className: "display-2", children: [_jsxs("span", { className: "text-light-500", children: [formatMessage(messages['your.career.turning.point']), ' '] }), _jsx("span", { className: "text-warning-300", children: formatMessage(messages['is.here']) })] }) })] }));
8
9
  };
9
10
  export default SmallLayout;
10
11
  //# sourceMappingURL=SmallLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,gBACE,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,YAAY,EAAE,CAAC,kBAAkB,GAAG,EAAE,aAEvE,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,cAAc,GAAI,GAC3F,EACZ,cAAK,SAAS,EAAC,yBAAyB,YACtC,cAAI,SAAS,EAAC,WAAW,aACvB,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst SmallLayout = () => {\n const { formatMessage } = useIntl();\n\n return (\n <span\n className=\"w-100 bg-primary-500 banner__image small-layout\"\n style={{ backgroundImage: `url(${useAppConfig().BANNER_IMAGE_SMALL})` }}\n >\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"company-logo\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_WHITE_URL} />\n </Hyperlink>\n <div className=\"ml-5 mr-1 pb-3.5 pt-3.5\">\n <h1 className=\"display-2\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </span>\n );\n};\n\nexport default SmallLayout;\n"]}
1
+ {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/image-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC,kBAAkB,CAAC;IAEtD,OAAO,CACL,gBACE,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,aAE3E,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,EACtC,cAAK,SAAS,EAAC,yBAAyB,YACtC,cAAI,SAAS,EAAC,WAAW,aACvB,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,IACrD,EACP,eAAM,SAAS,EAAC,kBAAkB,YAC/B,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAC9B,IACJ,GACD,IACD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, useIntl } from '@openedx/frontend-base';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst SmallLayout = () => {\n const { formatMessage } = useIntl();\n const bannerImage = useAppConfig().BANNER_IMAGE_SMALL;\n\n return (\n <span\n className=\"w-100 bg-primary-500 banner__image small-layout\"\n style={bannerImage ? { backgroundImage: `url(${bannerImage})` } : undefined}\n >\n <BrandLogo className=\"company-logo\" />\n <div className=\"ml-5 mr-1 pb-3.5 pt-3.5\">\n <h1 className=\"display-2\">\n <span className=\"text-light-500\">\n {formatMessage(messages['your.career.turning.point'])}{' '}\n </span>\n <span className=\"text-warning-300\">\n {formatMessage(messages['is.here'])}\n </span>\n </h1>\n </div>\n </span>\n );\n};\n\nexport default SmallLayout;\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
3
  import PropTypes from 'prop-types';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const LargeLayout = ({ fullName }) => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs("div", { className: "w-50 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-light-200 p-0", children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "logo position-absolute", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_URL }) }), _jsxs("div", { className: "min-vh-100 d-flex align-items-center", children: [_jsx("div", { className: "large-screen-left-container mr-n4.5 large-yellow-line mt-5" }), _jsxs("div", { children: [_jsx("h1", { className: "welcome-to-platform data-hj-suppress", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "complete-your-profile", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "m1-n1 w-100 h-100 large-screen-svg-light", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(171.6)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] }));
8
+ return (_jsxs("div", { className: "w-50 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-light-200 p-0", children: [_jsx(BrandLogo, { className: "logo position-absolute", variant: "default" }), _jsxs("div", { className: "min-vh-100 d-flex align-items-center", children: [_jsx("div", { className: "large-screen-left-container mr-n4.5 large-yellow-line mt-5" }), _jsxs("div", { children: [_jsx("h1", { className: "welcome-to-platform data-hj-suppress", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "complete-your-profile", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "m1-n1 w-100 h-100 large-screen-svg-light", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(171.6)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] }));
9
9
  };
10
10
  LargeLayout.propTypes = {
11
11
  fullName: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aAC1B,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,QAAQ,GAAI,GAC/F,EACZ,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAC,4DAA4D,GAAG,EAC9E,0BACE,aAAI,SAAS,EAAC,sCAAsC,YACjD,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,uBAAuB,aAClC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,0CAA0C,EAAC,mBAAmB,EAAC,eAAe,YAC3F,YAAG,SAAS,EAAC,cAAc,YACzB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport PropTypes from 'prop-types';\n\nimport messages from './messages';\n\nconst LargeLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"w-50 d-flex\">\n <div className=\"col-md-10 bg-light-200 p-0\">\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"logo position-absolute\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_URL} />\n </Hyperlink>\n <div className=\"min-vh-100 d-flex align-items-center\">\n <div className=\"large-screen-left-container mr-n4.5 large-yellow-line mt-5\" />\n <div>\n <h1 className=\"welcome-to-platform data-hj-suppress\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"complete-your-profile\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"m1-n1 w-100 h-100 large-screen-svg-light\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(171.6)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n );\n};\n\nLargeLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default LargeLayout;\n"]}
1
+ {"version":3,"file":"LargeLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/LargeLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aAC1B,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,SAAS,IAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAC,SAAS,GAAG,EAClE,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAC,4DAA4D,GAAG,EAC9E,0BACE,aAAI,SAAS,EAAC,sCAAsC,YACjD,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,uBAAuB,aAClC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,0CAA0C,EAAC,mBAAmB,EAAC,eAAe,YAC3F,YAAG,SAAS,EAAC,cAAc,YACzB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport PropTypes from 'prop-types';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst LargeLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"w-50 d-flex\">\n <div className=\"col-md-10 bg-light-200 p-0\">\n <BrandLogo className=\"logo position-absolute\" variant=\"default\" />\n <div className=\"min-vh-100 d-flex align-items-center\">\n <div className=\"large-screen-left-container mr-n4.5 large-yellow-line mt-5\" />\n <div>\n <h1 className=\"welcome-to-platform data-hj-suppress\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"complete-your-profile\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"m1-n1 w-100 h-100 large-screen-svg-light\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(171.6)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n );\n};\n\nLargeLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default LargeLayout;\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
3
  import PropTypes from 'prop-types';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const MediumLayout = ({ fullName }) => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-100 medium-screen-top-stripe" }), _jsxs("div", { className: "w-100 p-0 mb-3 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-light-200", children: [_jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "logo", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_URL }) }), _jsxs("div", { className: "d-flex align-items-center justify-content-center mb-4 ml-5", children: [_jsx("div", { className: "medium-yellow-line mt-5 mr-n2" }), _jsxs("div", { children: [_jsx("h1", { className: "h3 data-hj-suppress mw-320", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "display-1", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "w-100 h-100 medium-screen-svg-light", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(168)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] })] }));
8
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-100 medium-screen-top-stripe" }), _jsxs("div", { className: "w-100 p-0 mb-3 d-flex", children: [_jsxs("div", { className: "col-md-10 bg-light-200", children: [_jsx(BrandLogo, { className: "logo", variant: "default" }), _jsxs("div", { className: "d-flex align-items-center justify-content-center mb-4 ml-5", children: [_jsx("div", { className: "medium-yellow-line mt-5 mr-n2" }), _jsxs("div", { children: [_jsx("h1", { className: "h3 data-hj-suppress mw-320", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "display-1", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }), _jsx("div", { className: "col-md-2 bg-white p-0", children: _jsx("svg", { className: "w-100 h-100 medium-screen-svg-light", preserveAspectRatio: "xMaxYMin meet", children: _jsx("g", { transform: "skewX(168)", children: _jsx("rect", { x: "0", y: "0", height: "100%", width: "100%" }) }) }) })] })] }));
9
9
  };
10
10
  MediumLayout.propTypes = {
11
11
  fullName: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,gCAAgC,GAAG,EAClD,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,QAAQ,GAAI,GAC7E,EACZ,eAAK,SAAS,EAAC,4DAA4D,aACzE,cAAK,SAAS,EAAC,+BAA+B,GAAG,EACjD,0BACE,aAAI,SAAS,EAAC,4BAA4B,YACvC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,WAAW,aACtB,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,qCAAqC,EAAC,mBAAmB,EAAC,eAAe,YACtF,YAAG,SAAS,EAAC,YAAY,YACvB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport PropTypes from 'prop-types';\n\nimport messages from './messages';\n\nconst MediumLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <div className=\"w-100 medium-screen-top-stripe\" />\n <div className=\"w-100 p-0 mb-3 d-flex\">\n <div className=\"col-md-10 bg-light-200\">\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"logo\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_URL} />\n </Hyperlink>\n <div className=\"d-flex align-items-center justify-content-center mb-4 ml-5\">\n <div className=\"medium-yellow-line mt-5 mr-n2\" />\n <div>\n <h1 className=\"h3 data-hj-suppress mw-320\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"display-1\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"w-100 h-100 medium-screen-svg-light\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(168)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n </>\n );\n};\n\nMediumLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default MediumLayout;\n"]}
1
+ {"version":3,"file":"MediumLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/MediumLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,gCAAgC,GAAG,EAClD,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,GAAG,EAChD,eAAK,SAAS,EAAC,4DAA4D,aACzE,cAAK,SAAS,EAAC,+BAA+B,GAAG,EACjD,0BACE,aAAI,SAAS,EAAC,4BAA4B,YACvC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,WAAW,aACtB,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,EACN,cAAK,SAAS,EAAC,uBAAuB,YACpC,cAAK,SAAS,EAAC,qCAAqC,EAAC,mBAAmB,EAAC,eAAe,YACtF,YAAG,SAAS,EAAC,YAAY,YACvB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,GAC7C,GACA,GACF,IACF,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport PropTypes from 'prop-types';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst MediumLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <div className=\"w-100 medium-screen-top-stripe\" />\n <div className=\"w-100 p-0 mb-3 d-flex\">\n <div className=\"col-md-10 bg-light-200\">\n <BrandLogo className=\"logo\" variant=\"default\" />\n <div className=\"d-flex align-items-center justify-content-center mb-4 ml-5\">\n <div className=\"medium-yellow-line mt-5 mr-n2\" />\n <div>\n <h1 className=\"h3 data-hj-suppress mw-320\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"display-1\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n <div className=\"col-md-2 bg-white p-0\">\n <svg className=\"w-100 h-100 medium-screen-svg-light\" preserveAspectRatio=\"xMaxYMin meet\">\n <g transform=\"skewX(168)\">\n <rect x=\"0\" y=\"0\" height=\"100%\" width=\"100%\" />\n </g>\n </svg>\n </div>\n </div>\n </>\n );\n};\n\nMediumLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default MediumLayout;\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
- import { Hyperlink, Image } from '@openedx/paragon';
2
+ import { getSiteConfig, useIntl } from '@openedx/frontend-base';
4
3
  import PropTypes from 'prop-types';
4
+ import BrandLogo from '../BrandLogo';
5
5
  import messages from './messages';
6
6
  const SmallLayout = ({ fullName }) => {
7
7
  const { formatMessage } = useIntl();
8
- return (_jsxs("div", { className: "min-vw-100 bg-light-200", children: [_jsx("div", { className: "col-md-12 small-screen-top-stripe" }), _jsx(Hyperlink, { destination: useAppConfig().MARKETING_SITE_BASE_URL, children: _jsx(Image, { className: "logo-small", alt: getSiteConfig().siteName, src: useAppConfig().LOGO_URL }) }), _jsxs("div", { className: "d-flex align-items-center m-3.5", children: [_jsx("div", { className: "small-yellow-line mt-4.5" }), _jsxs("div", { children: [_jsx("h1", { className: "h5 data-hj-suppress", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "h1", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }));
8
+ return (_jsxs("div", { className: "min-vw-100 bg-light-200", children: [_jsx("div", { className: "col-md-12 small-screen-top-stripe" }), _jsx(BrandLogo, { className: "logo-small", variant: "default" }), _jsxs("div", { className: "d-flex align-items-center m-3.5", children: [_jsx("div", { className: "small-yellow-line mt-4.5" }), _jsxs("div", { children: [_jsx("h1", { className: "h5 data-hj-suppress", children: formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName }) }), _jsxs("h2", { className: "h1", children: [formatMessage(messages['complete.your.profile.1']), _jsx("div", { className: "text-accent-a", children: formatMessage(messages['complete.your.profile.2']) })] })] })] })] }));
9
9
  };
10
10
  SmallLayout.propTypes = {
11
11
  fullName: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,KAAC,SAAS,IAAC,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,YAC5D,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,QAAQ,GAAI,GACnF,EACZ,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAC,0BAA0B,GAAG,EAC5C,0BACE,aAAI,SAAS,EAAC,qBAAqB,YAChC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,IAAI,aACf,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { useAppConfig, getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport { Hyperlink, Image } from '@openedx/paragon';\nimport PropTypes from 'prop-types';\n\nimport messages from './messages';\n\nconst SmallLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"min-vw-100 bg-light-200\">\n <div className=\"col-md-12 small-screen-top-stripe\" />\n <Hyperlink destination={useAppConfig().MARKETING_SITE_BASE_URL}>\n <Image className=\"logo-small\" alt={getSiteConfig().siteName} src={useAppConfig().LOGO_URL} />\n </Hyperlink>\n <div className=\"d-flex align-items-center m-3.5\">\n <div className=\"small-yellow-line mt-4.5\" />\n <div>\n <h1 className=\"h5 data-hj-suppress\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"h1\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n );\n};\n\nSmallLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default SmallLayout;\n"]}
1
+ {"version":3,"file":"SmallLayout.js","sourceRoot":"","sources":["../../../../src/base-container/components/welcome-page-layout/SmallLayout.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,KAAC,SAAS,IAAC,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,SAAS,GAAG,EACtD,eAAK,SAAS,EAAC,iCAAiC,aAC9C,cAAK,SAAS,EAAC,0BAA0B,GAAG,EAC5C,0BACE,aAAI,SAAS,EAAC,qBAAqB,YAChC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAC9F,EACL,cAAI,SAAS,EAAC,IAAI,aACf,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,GAC/C,IACH,IACD,IACF,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,SAAS,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACtC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { getSiteConfig, useIntl } from '@openedx/frontend-base';\nimport PropTypes from 'prop-types';\n\nimport BrandLogo from '../BrandLogo';\nimport messages from './messages';\n\nconst SmallLayout = ({ fullName }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"min-vw-100 bg-light-200\">\n <div className=\"col-md-12 small-screen-top-stripe\" />\n <BrandLogo className=\"logo-small\" variant=\"default\" />\n <div className=\"d-flex align-items-center m-3.5\">\n <div className=\"small-yellow-line mt-4.5\" />\n <div>\n <h1 className=\"h5 data-hj-suppress\">\n {formatMessage(messages['welcome.to.platform'], { siteName: getSiteConfig().siteName, fullName })}\n </h1>\n <h2 className=\"h1\">\n {formatMessage(messages['complete.your.profile.1'])}\n <div className=\"text-accent-a\">\n {formatMessage(messages['complete.your.profile.2'])}\n </div>\n </h2>\n </div>\n </div>\n </div>\n );\n};\n\nSmallLayout.propTypes = {\n fullName: PropTypes.string.isRequired,\n};\n\nexport default SmallLayout;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ThirdPartyAuthContext.js","sourceRoot":"","sources":["../../../src/common-components/components/ThirdPartyAuthContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext, FC, ReactNode, useCallback, useContext, useMemo, useState,\n} from 'react';\n\nimport { COMPLETE_STATE, FAILURE_STATE, PENDING_STATE } from '../../data/constants';\n\ninterface ThirdPartyAuthContextType {\n fieldDescriptions: any,\n optionalFields: {\n fields: any,\n extended_profile: any[],\n },\n thirdPartyAuthApiStatus: string | null,\n thirdPartyAuthContext: {\n platformName: string | null,\n autoSubmitRegForm: boolean,\n currentProvider: string | null,\n finishAuthUrl: string | null,\n countryCode: string | null,\n providers: any[],\n secondaryProviders: any[],\n pipelineUserDetails: any | null,\n errorMessage: string | null,\n welcomePageRedirectUrl: string | null,\n },\n setThirdPartyAuthContextBegin: () => void,\n setThirdPartyAuthContextSuccess: (fieldDescData: any, optionalFieldsData: any, contextData: any) => void,\n setThirdPartyAuthContextFailure: () => void,\n clearThirdPartyAuthErrorMessage: () => void,\n}\n\nconst ThirdPartyAuthContext = createContext<ThirdPartyAuthContextType | undefined>(undefined);\n\ninterface ThirdPartyAuthProviderProps {\n children: ReactNode,\n}\n\nexport const ThirdPartyAuthProvider: FC<ThirdPartyAuthProviderProps> = ({ children }) => {\n const [fieldDescriptions, setFieldDescriptions] = useState({});\n const [optionalFields, setOptionalFields] = useState({\n fields: {},\n extended_profile: [],\n });\n const [thirdPartyAuthApiStatus, setThirdPartyAuthApiStatus] = useState<string | null>(null);\n const [thirdPartyAuthContext, setThirdPartyAuthContext] = useState({\n platformName: null,\n autoSubmitRegForm: false,\n currentProvider: null,\n finishAuthUrl: null,\n countryCode: null,\n providers: [],\n secondaryProviders: [],\n pipelineUserDetails: null,\n errorMessage: null,\n welcomePageRedirectUrl: null,\n });\n\n // Function to handle begin state - mirrors THIRD_PARTY_AUTH_CONTEXT.BEGIN\n const setThirdPartyAuthContextBegin = useCallback(() => {\n setThirdPartyAuthApiStatus(PENDING_STATE);\n }, []);\n\n // Function to handle success - mirrors THIRD_PARTY_AUTH_CONTEXT.SUCCESS\n const setThirdPartyAuthContextSuccess = useCallback((fieldDescData, optionalFieldsData, contextData) => {\n setFieldDescriptions(fieldDescData?.fields || {});\n setOptionalFields(optionalFieldsData || { fields: {}, extended_profile: [] });\n setThirdPartyAuthContext(contextData || {\n platformName: null,\n autoSubmitRegForm: false,\n currentProvider: null,\n finishAuthUrl: null,\n countryCode: null,\n providers: [],\n secondaryProviders: [],\n pipelineUserDetails: null,\n errorMessage: null,\n welcomePageRedirectUrl: null,\n });\n setThirdPartyAuthApiStatus(COMPLETE_STATE);\n }, []);\n\n // Function to handle failure - mirrors THIRD_PARTY_AUTH_CONTEXT.FAILURE\n const setThirdPartyAuthContextFailure = useCallback(() => {\n setThirdPartyAuthApiStatus(FAILURE_STATE);\n setThirdPartyAuthContext(prev => ({\n ...prev,\n errorMessage: null,\n }));\n }, []);\n\n // Function to clear error message - mirrors THIRD_PARTY_AUTH_CONTEXT_CLEAR_ERROR_MSG\n const clearThirdPartyAuthErrorMessage = useCallback(() => {\n setThirdPartyAuthApiStatus(PENDING_STATE);\n setThirdPartyAuthContext(prev => ({\n ...prev,\n errorMessage: null,\n }));\n }, []);\n\n const value = useMemo(() => ({\n fieldDescriptions,\n optionalFields,\n thirdPartyAuthApiStatus,\n thirdPartyAuthContext,\n setThirdPartyAuthContextBegin,\n setThirdPartyAuthContextSuccess,\n setThirdPartyAuthContextFailure,\n clearThirdPartyAuthErrorMessage,\n }), [\n fieldDescriptions,\n optionalFields,\n thirdPartyAuthApiStatus,\n thirdPartyAuthContext,\n setThirdPartyAuthContextBegin,\n setThirdPartyAuthContextSuccess,\n setThirdPartyAuthContextFailure,\n clearThirdPartyAuthErrorMessage,\n ]);\n\n return (\n <ThirdPartyAuthContext.Provider value={value}>\n {children}\n </ThirdPartyAuthContext.Provider>\n );\n};\n\nexport const useThirdPartyAuthContext = (): ThirdPartyAuthContextType => {\n const context = useContext(ThirdPartyAuthContext);\n if (context === undefined) {\n throw new Error('useThirdPartyAuthContext must be used within a ThirdPartyAuthProvider');\n }\n return context;\n};\n"]}
1
+ {"version":3,"file":"ThirdPartyAuthContext.js","sourceRoot":"","sources":["../../../src/common-components/components/ThirdPartyAuthContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext, FC, ReactNode, useCallback, useContext, useMemo, useState,\n} from 'react';\n\nimport { COMPLETE_STATE, FAILURE_STATE, PENDING_STATE } from '../../data/constants';\n\ninterface ThirdPartyAuthContextType {\n fieldDescriptions: any;\n optionalFields: {\n fields: any;\n extended_profile: any[];\n };\n thirdPartyAuthApiStatus: string | null;\n thirdPartyAuthContext: {\n platformName: string | null;\n autoSubmitRegForm: boolean;\n currentProvider: string | null;\n finishAuthUrl: string | null;\n countryCode: string | null;\n providers: any[];\n secondaryProviders: any[];\n pipelineUserDetails: any | null;\n errorMessage: string | null;\n welcomePageRedirectUrl: string | null;\n };\n setThirdPartyAuthContextBegin: () => void;\n setThirdPartyAuthContextSuccess: (fieldDescData: any, optionalFieldsData: any, contextData: any) => void;\n setThirdPartyAuthContextFailure: () => void;\n clearThirdPartyAuthErrorMessage: () => void;\n}\n\nconst ThirdPartyAuthContext = createContext<ThirdPartyAuthContextType | undefined>(undefined);\n\ninterface ThirdPartyAuthProviderProps {\n children: ReactNode;\n}\n\nexport const ThirdPartyAuthProvider: FC<ThirdPartyAuthProviderProps> = ({ children }) => {\n const [fieldDescriptions, setFieldDescriptions] = useState({});\n const [optionalFields, setOptionalFields] = useState({\n fields: {},\n extended_profile: [],\n });\n const [thirdPartyAuthApiStatus, setThirdPartyAuthApiStatus] = useState<string | null>(null);\n const [thirdPartyAuthContext, setThirdPartyAuthContext] = useState({\n platformName: null,\n autoSubmitRegForm: false,\n currentProvider: null,\n finishAuthUrl: null,\n countryCode: null,\n providers: [],\n secondaryProviders: [],\n pipelineUserDetails: null,\n errorMessage: null,\n welcomePageRedirectUrl: null,\n });\n\n // Function to handle begin state - mirrors THIRD_PARTY_AUTH_CONTEXT.BEGIN\n const setThirdPartyAuthContextBegin = useCallback(() => {\n setThirdPartyAuthApiStatus(PENDING_STATE);\n }, []);\n\n // Function to handle success - mirrors THIRD_PARTY_AUTH_CONTEXT.SUCCESS\n const setThirdPartyAuthContextSuccess = useCallback((fieldDescData, optionalFieldsData, contextData) => {\n setFieldDescriptions(fieldDescData?.fields || {});\n setOptionalFields(optionalFieldsData || { fields: {}, extended_profile: [] });\n setThirdPartyAuthContext(contextData || {\n platformName: null,\n autoSubmitRegForm: false,\n currentProvider: null,\n finishAuthUrl: null,\n countryCode: null,\n providers: [],\n secondaryProviders: [],\n pipelineUserDetails: null,\n errorMessage: null,\n welcomePageRedirectUrl: null,\n });\n setThirdPartyAuthApiStatus(COMPLETE_STATE);\n }, []);\n\n // Function to handle failure - mirrors THIRD_PARTY_AUTH_CONTEXT.FAILURE\n const setThirdPartyAuthContextFailure = useCallback(() => {\n setThirdPartyAuthApiStatus(FAILURE_STATE);\n setThirdPartyAuthContext(prev => ({\n ...prev,\n errorMessage: null,\n }));\n }, []);\n\n // Function to clear error message - mirrors THIRD_PARTY_AUTH_CONTEXT_CLEAR_ERROR_MSG\n const clearThirdPartyAuthErrorMessage = useCallback(() => {\n setThirdPartyAuthApiStatus(PENDING_STATE);\n setThirdPartyAuthContext(prev => ({\n ...prev,\n errorMessage: null,\n }));\n }, []);\n\n const value = useMemo(() => ({\n fieldDescriptions,\n optionalFields,\n thirdPartyAuthApiStatus,\n thirdPartyAuthContext,\n setThirdPartyAuthContextBegin,\n setThirdPartyAuthContextSuccess,\n setThirdPartyAuthContextFailure,\n clearThirdPartyAuthErrorMessage,\n }), [\n fieldDescriptions,\n optionalFields,\n thirdPartyAuthApiStatus,\n thirdPartyAuthContext,\n setThirdPartyAuthContextBegin,\n setThirdPartyAuthContextSuccess,\n setThirdPartyAuthContextFailure,\n clearThirdPartyAuthErrorMessage,\n ]);\n\n return (\n <ThirdPartyAuthContext.Provider value={value}>\n {children}\n </ThirdPartyAuthContext.Provider>\n );\n};\n\nexport const useThirdPartyAuthContext = (): ThirdPartyAuthContextType => {\n const context = useContext(ThirdPartyAuthContext);\n if (context === undefined) {\n throw new Error('useThirdPartyAuthContext must be used within a ThirdPartyAuthProvider');\n }\n return context;\n};\n"]}
@@ -9,6 +9,10 @@ import messages from './messages';
9
9
  const ForgotPasswordAlert = (props) => {
10
10
  const { formatMessage } = useIntl();
11
11
  const { email, emailError } = props;
12
+ // Without a support link configured there is nowhere to point; the sentence still
13
+ // reads correctly with the phrase as plain text.
14
+ const passwordResetSupportLink = useAppConfig().PASSWORD_RESET_SUPPORT_LINK;
15
+ const supportLinkText = formatMessage(messages['confirmation.support.link']);
12
16
  let message = '';
13
17
  let heading = formatMessage(messages['forgot.password.error.alert.title']);
14
18
  let { status } = props;
@@ -20,7 +24,7 @@ const ForgotPasswordAlert = (props) => {
20
24
  heading = formatMessage(messages['confirmation.message.title']);
21
25
  message = (_jsx(FormattedMessage, { id: "forgot.password.confirmation.message", defaultMessage: "We sent an email to {email} with instructions to reset your password.\n If you do not receive a password reset message after 1 minute, verify that you entered\n the correct email address, or check your spam folder. If you need further assistance, {supportLink}.", description: "Forgot password confirmation message", values: {
22
26
  email: _jsx("span", { className: "data-hj-suppress", children: email }),
23
- supportLink: (_jsx(Alert.Link, { href: useAppConfig().PASSWORD_RESET_SUPPORT_LINK, target: "_blank", children: formatMessage(messages['confirmation.support.link']) })),
27
+ supportLink: passwordResetSupportLink ? (_jsx(Alert.Link, { href: passwordResetSupportLink, target: "_blank", children: supportLinkText })) : supportLinkText,
24
28
  } }));
25
29
  break;
26
30
  case INTERNAL_SERVER_ERROR:
@@ -1 +1 @@
1
- {"version":3,"file":"ForgotPasswordAlert.js","sourceRoot":"","sources":["../../src/forgot-password/ForgotPasswordAlert.jsx"],"names":[],"mappings":"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","sourcesContent":["import { FormattedMessage, useAppConfig, useIntl } from '@openedx/frontend-base';\nimport { Alert } from '@openedx/paragon';\nimport { CheckCircle, Error } from '@openedx/paragon/icons';\nimport PropTypes from 'prop-types';\n\nimport {\n COMPLETE_STATE, FORBIDDEN_STATE, FORM_SUBMISSION_ERROR, INTERNAL_SERVER_ERROR,\n} from '../data/constants';\nimport { PASSWORD_RESET } from '../reset-password/data/constants';\nimport messages from './messages';\n\nconst ForgotPasswordAlert = (props) => {\n const { formatMessage } = useIntl();\n const { email, emailError } = props;\n let message = '';\n let heading = formatMessage(messages['forgot.password.error.alert.title']);\n let { status } = props;\n\n if (emailError) {\n status = FORM_SUBMISSION_ERROR;\n }\n\n switch (status) {\n case COMPLETE_STATE:\n heading = formatMessage(messages['confirmation.message.title']);\n message = (\n <FormattedMessage\n id=\"forgot.password.confirmation.message\"\n defaultMessage=\"We sent an email to {email} with instructions to reset your password.\n If you do not receive a password reset message after 1 minute, verify that you entered\n the correct email address, or check your spam folder. If you need further assistance, {supportLink}.\"\n description=\"Forgot password confirmation message\"\n values={{\n email: <span className=\"data-hj-suppress\">{email}</span>,\n supportLink: (\n <Alert.Link href={useAppConfig().PASSWORD_RESET_SUPPORT_LINK} target=\"_blank\">\n {formatMessage(messages['confirmation.support.link'])}\n </Alert.Link>\n ),\n }}\n />\n );\n break;\n case INTERNAL_SERVER_ERROR:\n message = formatMessage(messages['internal.server.error']);\n break;\n case FORBIDDEN_STATE:\n heading = formatMessage(messages['forgot.password.error.message.title']);\n message = formatMessage(messages['forgot.password.request.in.progress.message']);\n break;\n case FORM_SUBMISSION_ERROR:\n message = formatMessage(messages['extend.field.errors'], { emailError });\n break;\n case PASSWORD_RESET.INVALID_TOKEN:\n heading = formatMessage(messages['invalid.token.heading']);\n message = formatMessage(messages['invalid.token.error.message']);\n break;\n case PASSWORD_RESET.FORBIDDEN_REQUEST:\n heading = formatMessage(messages['token.validation.rate.limit.error.heading']);\n message = formatMessage(messages['token.validation.rate.limit.error']);\n break;\n case PASSWORD_RESET.INTERNAL_SERVER_ERROR:\n heading = formatMessage(messages['token.validation.internal.sever.error.heading']);\n message = formatMessage(messages['token.validation.internal.sever.error']);\n break;\n default:\n break;\n }\n\n if (message) {\n return (\n <Alert\n id=\"validation-errors\"\n className=\"mb-4\"\n variant={`${status === 'complete' ? 'success' : 'danger'}`}\n icon={status === 'complete' ? CheckCircle : Error}\n >\n <Alert.Heading>{heading}</Alert.Heading>\n <p>{message}</p>\n </Alert>\n );\n }\n return null;\n};\n\nForgotPasswordAlert.defaultProps = {\n email: '',\n emailError: '',\n};\n\nForgotPasswordAlert.propTypes = {\n status: PropTypes.string.isRequired,\n email: PropTypes.string,\n emailError: PropTypes.string,\n};\n\nexport default ForgotPasswordAlert;\n"]}
1
+ {"version":3,"file":"ForgotPasswordAlert.js","sourceRoot":"","sources":["../../src/forgot-password/ForgotPasswordAlert.jsx"],"names":[],"mappings":"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","sourcesContent":["import { FormattedMessage, useAppConfig, useIntl } from '@openedx/frontend-base';\nimport { Alert } from '@openedx/paragon';\nimport { CheckCircle, Error } from '@openedx/paragon/icons';\nimport PropTypes from 'prop-types';\n\nimport {\n COMPLETE_STATE, FORBIDDEN_STATE, FORM_SUBMISSION_ERROR, INTERNAL_SERVER_ERROR,\n} from '../data/constants';\nimport { PASSWORD_RESET } from '../reset-password/data/constants';\nimport messages from './messages';\n\nconst ForgotPasswordAlert = (props) => {\n const { formatMessage } = useIntl();\n const { email, emailError } = props;\n // Without a support link configured there is nowhere to point; the sentence still\n // reads correctly with the phrase as plain text.\n const passwordResetSupportLink = useAppConfig().PASSWORD_RESET_SUPPORT_LINK;\n const supportLinkText = formatMessage(messages['confirmation.support.link']);\n let message = '';\n let heading = formatMessage(messages['forgot.password.error.alert.title']);\n let { status } = props;\n\n if (emailError) {\n status = FORM_SUBMISSION_ERROR;\n }\n\n switch (status) {\n case COMPLETE_STATE:\n heading = formatMessage(messages['confirmation.message.title']);\n message = (\n <FormattedMessage\n id=\"forgot.password.confirmation.message\"\n defaultMessage=\"We sent an email to {email} with instructions to reset your password.\n If you do not receive a password reset message after 1 minute, verify that you entered\n the correct email address, or check your spam folder. If you need further assistance, {supportLink}.\"\n description=\"Forgot password confirmation message\"\n values={{\n email: <span className=\"data-hj-suppress\">{email}</span>,\n supportLink: passwordResetSupportLink ? (\n <Alert.Link href={passwordResetSupportLink} target=\"_blank\">\n {supportLinkText}\n </Alert.Link>\n ) : supportLinkText,\n }}\n />\n );\n break;\n case INTERNAL_SERVER_ERROR:\n message = formatMessage(messages['internal.server.error']);\n break;\n case FORBIDDEN_STATE:\n heading = formatMessage(messages['forgot.password.error.message.title']);\n message = formatMessage(messages['forgot.password.request.in.progress.message']);\n break;\n case FORM_SUBMISSION_ERROR:\n message = formatMessage(messages['extend.field.errors'], { emailError });\n break;\n case PASSWORD_RESET.INVALID_TOKEN:\n heading = formatMessage(messages['invalid.token.heading']);\n message = formatMessage(messages['invalid.token.error.message']);\n break;\n case PASSWORD_RESET.FORBIDDEN_REQUEST:\n heading = formatMessage(messages['token.validation.rate.limit.error.heading']);\n message = formatMessage(messages['token.validation.rate.limit.error']);\n break;\n case PASSWORD_RESET.INTERNAL_SERVER_ERROR:\n heading = formatMessage(messages['token.validation.internal.sever.error.heading']);\n message = formatMessage(messages['token.validation.internal.sever.error']);\n break;\n default:\n break;\n }\n\n if (message) {\n return (\n <Alert\n id=\"validation-errors\"\n className=\"mb-4\"\n variant={`${status === 'complete' ? 'success' : 'danger'}`}\n icon={status === 'complete' ? CheckCircle : Error}\n >\n <Alert.Heading>{heading}</Alert.Heading>\n <p>{message}</p>\n </Alert>\n );\n }\n return null;\n};\n\nForgotPasswordAlert.defaultProps = {\n email: '',\n emailError: '',\n};\n\nForgotPasswordAlert.propTypes = {\n status: PropTypes.string.isRequired,\n email: PropTypes.string,\n emailError: PropTypes.string,\n};\n\nexport default ForgotPasswordAlert;\n"]}
@@ -86,7 +86,7 @@ const ForgotPasswordPage = () => {
86
86
  return (_jsxs(BaseContainer, { children: [_jsx(Helmet, { children: _jsx("title", { children: formatMessage(messages['forgot.password.page.title'], { siteName: getSiteConfig().siteName }) }) }), _jsxs("div", { children: [_jsx(Tabs, { activeKey: "", id: "controlled-tab", onSelect: () => navigate(updatePathWithQueryParams(getUrlByRouteRole(loginRole))), children: _jsx(Tab, { title: tabTitle, eventKey: loginPath }) }), _jsx("div", { id: "main-content", className: "main-content", children: _jsxs(Form, { id: "forget-password-form", name: "forget-password-form", className: "mw-xs", children: [_jsx(ForgotPasswordAlert, { email: bannerEmail, emailError: formErrors, status: status }), _jsx("h2", { className: "h4", children: formatMessage(messages['forgot.password.page.heading']) }), _jsx("p", { className: "mb-4", children: formatMessage(messages['forgot.password.page.instructions']) }), _jsx(FormGroup, { floatingLabel: formatMessage(messages['forgot.password.page.email.field.label']), name: "email", value: email, autoComplete: "on", errorMessage: validationError, handleChange: (e) => setEmail(e.target.value), handleBlur: handleBlur, handleFocus: handleFocus, helpText: [formatMessage(messages['forgot.password.email.help.text'], { platformName })] }), _jsx(StatefulButton, { id: "submit-forget-password", name: "submit-forget-password", type: "submit", variant: "brand", className: "forgot-password--button", state: submitState, labels: {
87
87
  default: formatMessage(messages['forgot.password.page.submit.button']),
88
88
  pending: '',
89
- }, onClick: handleSubmit, onMouseDown: (e) => e.preventDefault() }), (appConfig.LOGIN_ISSUE_SUPPORT_LINK) && (_jsx(Hyperlink, { id: "forgot-password", name: "forgot-password", className: "ml-4 font-weight-500 text-body", destination: appConfig.LOGIN_ISSUE_SUPPORT_LINK, target: "_blank", showLaunchIcon: false, children: formatMessage(messages['need.help.sign.in.text']) })), _jsxs("p", { className: "mt-5.5 small text-gray-700", children: [formatMessage(messages['additional.help.text'], { platformName }), _jsx("span", { className: "mx-1", children: _jsx(Hyperlink, { isInline: true, destination: `mailto:${appConfig.INFO_EMAIL}`, children: appConfig.INFO_EMAIL }) })] })] }) })] })] }));
89
+ }, onClick: handleSubmit, onMouseDown: (e) => e.preventDefault() }), (appConfig.LOGIN_ISSUE_SUPPORT_LINK) && (_jsx(Hyperlink, { id: "forgot-password", name: "forgot-password", className: "ml-4 font-weight-500 text-body", destination: appConfig.LOGIN_ISSUE_SUPPORT_LINK, target: "_blank", showLaunchIcon: false, children: formatMessage(messages['need.help.sign.in.text']) })), (appConfig.INFO_EMAIL) && (_jsxs("p", { className: "mt-5.5 small text-gray-700", children: [formatMessage(messages['additional.help.text'], { platformName }), _jsx("span", { className: "mx-1", children: _jsx(Hyperlink, { isInline: true, destination: `mailto:${appConfig.INFO_EMAIL}`, children: appConfig.INFO_EMAIL }) })] }))] }) })] })] }));
90
90
  };
91
91
  export default ForgotPasswordPage;
92
92
  //# sourceMappingURL=ForgotPasswordPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ForgotPasswordPage.js","sourceRoot":"","sources":["../../src/forgot-password/ForgotPasswordPage.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n getSiteConfig, getUrlByRouteRole, sendPageEvent, sendTrackEvent, useAppConfig, useIntl,\n} from '@openedx/frontend-base';\nimport {\n Form,\n Hyperlink,\n Icon,\n StatefulButton,\n Tab,\n Tabs,\n} from '@openedx/paragon';\nimport { ChevronLeft } from '@openedx/paragon/icons';\nimport { Helmet } from 'react-helmet';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useForgotPassword } from './data/apiHook';\nimport ForgotPasswordAlert from './ForgotPasswordAlert';\nimport messages from './messages';\nimport BaseContainer from '../base-container';\nimport { FormGroup } from '../common-components';\nimport { loginPath, loginRole } from '../constants';\nimport { VALID_EMAIL_REGEX } from '../data/constants';\nimport { updatePathWithQueryParams, windowScrollTo } from '../data/utils';\n\nconst ForgotPasswordPage = () => {\n const platformName = getSiteConfig().siteName;\n const emailRegex = new RegExp(VALID_EMAIL_REGEX, 'i');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const location = useLocation();\n const appConfig = useAppConfig();\n const [email, setEmail] = useState('');\n const [bannerEmail, setBannerEmail] = useState('');\n const [formErrors, setFormErrors] = useState('');\n const [validationError, setValidationError] = useState('');\n const [status, setStatus] = useState(location.state?.status || null);\n\n // React Query hook for forgot password\n const { mutate: sendForgotPassword, isPending: isSending } = useForgotPassword();\n\n const submitState = isSending ? 'pending' : 'default';\n\n useEffect(() => {\n sendPageEvent('login_and_registration', 'reset');\n sendTrackEvent('edx.bi.password_reset_form.viewed', { category: 'user-engagement' });\n }, []);\n\n useEffect(() => {\n if (status === 'complete') {\n setEmail('');\n }\n }, [status]);\n\n const getValidationMessage = (value) => {\n let error = '';\n\n if (value === '') {\n error = formatMessage(messages['forgot.password.empty.email.field.error']);\n } else if (!emailRegex.test(value)) {\n error = formatMessage(messages['forgot.password.page.invalid.email.message']);\n }\n\n return error;\n };\n\n const handleBlur = () => {\n setValidationError(getValidationMessage(email));\n };\n\n const handleFocus = () => {\n setValidationError('');\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n setBannerEmail(email);\n\n const validateError = getValidationMessage(email);\n if (validateError) {\n setFormErrors(validateError);\n setValidationError(validateError);\n windowScrollTo({ left: 0, top: 0, behavior: 'smooth' });\n } else {\n setFormErrors('');\n sendForgotPassword(email, {\n onSuccess: (data, emailUsed) => {\n setStatus('complete');\n setBannerEmail(emailUsed);\n setFormErrors('');\n },\n onError: (error) => {\n if (error.response && error.response.status === 403) {\n setStatus('forbidden');\n } else {\n setStatus('server-error');\n }\n },\n });\n }\n };\n\n const tabTitle = (\n <div className=\"d-inline-flex flex-wrap align-items-center\">\n <Icon src={ChevronLeft} />\n <span className=\"ml-2\">{formatMessage(messages['sign.in.text'])}</span>\n </div>\n );\n\n return (\n <BaseContainer>\n <Helmet>\n <title>{formatMessage(messages['forgot.password.page.title'],\n { siteName: getSiteConfig().siteName })}\n </title>\n </Helmet>\n <div>\n <Tabs activeKey=\"\" id=\"controlled-tab\" onSelect={() => navigate(updatePathWithQueryParams(getUrlByRouteRole(loginRole)))}>\n <Tab title={tabTitle} eventKey={loginPath} />\n </Tabs>\n <div id=\"main-content\" className=\"main-content\">\n <Form id=\"forget-password-form\" name=\"forget-password-form\" className=\"mw-xs\">\n <ForgotPasswordAlert email={bannerEmail} emailError={formErrors} status={status} />\n <h2 className=\"h4\">\n {formatMessage(messages['forgot.password.page.heading'])}\n </h2>\n <p className=\"mb-4\">\n {formatMessage(messages['forgot.password.page.instructions'])}\n </p>\n <FormGroup\n floatingLabel={formatMessage(messages['forgot.password.page.email.field.label'])}\n name=\"email\"\n value={email}\n autoComplete=\"on\"\n errorMessage={validationError}\n handleChange={(e) => setEmail(e.target.value)}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n helpText={[formatMessage(messages['forgot.password.email.help.text'], { platformName })]}\n />\n <StatefulButton\n id=\"submit-forget-password\"\n name=\"submit-forget-password\"\n type=\"submit\"\n variant=\"brand\"\n className=\"forgot-password--button\"\n state={submitState}\n labels={{\n default: formatMessage(messages['forgot.password.page.submit.button']),\n pending: '',\n }}\n onClick={handleSubmit}\n onMouseDown={(e) => e.preventDefault()}\n />\n {(appConfig.LOGIN_ISSUE_SUPPORT_LINK) && (\n <Hyperlink\n id=\"forgot-password\"\n name=\"forgot-password\"\n className=\"ml-4 font-weight-500 text-body\"\n destination={appConfig.LOGIN_ISSUE_SUPPORT_LINK}\n target=\"_blank\"\n showLaunchIcon={false}\n >\n {formatMessage(messages['need.help.sign.in.text'])}\n </Hyperlink>\n )}\n <p className=\"mt-5.5 small text-gray-700\">\n {formatMessage(messages['additional.help.text'], { platformName })}\n <span className=\"mx-1\">\n <Hyperlink isInline destination={`mailto:${appConfig.INFO_EMAIL}`}>{appConfig.INFO_EMAIL}</Hyperlink>\n </span>\n </p>\n </Form>\n </div>\n </div>\n </BaseContainer>\n );\n};\n\nexport default ForgotPasswordPage;\n"]}
1
+ {"version":3,"file":"ForgotPasswordPage.js","sourceRoot":"","sources":["../../src/forgot-password/ForgotPasswordPage.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n getSiteConfig, getUrlByRouteRole, sendPageEvent, sendTrackEvent, useAppConfig, useIntl,\n} from '@openedx/frontend-base';\nimport {\n Form,\n Hyperlink,\n Icon,\n StatefulButton,\n Tab,\n Tabs,\n} from '@openedx/paragon';\nimport { ChevronLeft } from '@openedx/paragon/icons';\nimport { Helmet } from 'react-helmet';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useForgotPassword } from './data/apiHook';\nimport ForgotPasswordAlert from './ForgotPasswordAlert';\nimport messages from './messages';\nimport BaseContainer from '../base-container';\nimport { FormGroup } from '../common-components';\nimport { loginPath, loginRole } from '../constants';\nimport { VALID_EMAIL_REGEX } from '../data/constants';\nimport { updatePathWithQueryParams, windowScrollTo } from '../data/utils';\n\nconst ForgotPasswordPage = () => {\n const platformName = getSiteConfig().siteName;\n const emailRegex = new RegExp(VALID_EMAIL_REGEX, 'i');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const location = useLocation();\n const appConfig = useAppConfig();\n const [email, setEmail] = useState('');\n const [bannerEmail, setBannerEmail] = useState('');\n const [formErrors, setFormErrors] = useState('');\n const [validationError, setValidationError] = useState('');\n const [status, setStatus] = useState(location.state?.status || null);\n\n // React Query hook for forgot password\n const { mutate: sendForgotPassword, isPending: isSending } = useForgotPassword();\n\n const submitState = isSending ? 'pending' : 'default';\n\n useEffect(() => {\n sendPageEvent('login_and_registration', 'reset');\n sendTrackEvent('edx.bi.password_reset_form.viewed', { category: 'user-engagement' });\n }, []);\n\n useEffect(() => {\n if (status === 'complete') {\n setEmail('');\n }\n }, [status]);\n\n const getValidationMessage = (value) => {\n let error = '';\n\n if (value === '') {\n error = formatMessage(messages['forgot.password.empty.email.field.error']);\n } else if (!emailRegex.test(value)) {\n error = formatMessage(messages['forgot.password.page.invalid.email.message']);\n }\n\n return error;\n };\n\n const handleBlur = () => {\n setValidationError(getValidationMessage(email));\n };\n\n const handleFocus = () => {\n setValidationError('');\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n setBannerEmail(email);\n\n const validateError = getValidationMessage(email);\n if (validateError) {\n setFormErrors(validateError);\n setValidationError(validateError);\n windowScrollTo({ left: 0, top: 0, behavior: 'smooth' });\n } else {\n setFormErrors('');\n sendForgotPassword(email, {\n onSuccess: (data, emailUsed) => {\n setStatus('complete');\n setBannerEmail(emailUsed);\n setFormErrors('');\n },\n onError: (error) => {\n if (error.response && error.response.status === 403) {\n setStatus('forbidden');\n } else {\n setStatus('server-error');\n }\n },\n });\n }\n };\n\n const tabTitle = (\n <div className=\"d-inline-flex flex-wrap align-items-center\">\n <Icon src={ChevronLeft} />\n <span className=\"ml-2\">{formatMessage(messages['sign.in.text'])}</span>\n </div>\n );\n\n return (\n <BaseContainer>\n <Helmet>\n <title>{formatMessage(messages['forgot.password.page.title'],\n { siteName: getSiteConfig().siteName })}\n </title>\n </Helmet>\n <div>\n <Tabs activeKey=\"\" id=\"controlled-tab\" onSelect={() => navigate(updatePathWithQueryParams(getUrlByRouteRole(loginRole)))}>\n <Tab title={tabTitle} eventKey={loginPath} />\n </Tabs>\n <div id=\"main-content\" className=\"main-content\">\n <Form id=\"forget-password-form\" name=\"forget-password-form\" className=\"mw-xs\">\n <ForgotPasswordAlert email={bannerEmail} emailError={formErrors} status={status} />\n <h2 className=\"h4\">\n {formatMessage(messages['forgot.password.page.heading'])}\n </h2>\n <p className=\"mb-4\">\n {formatMessage(messages['forgot.password.page.instructions'])}\n </p>\n <FormGroup\n floatingLabel={formatMessage(messages['forgot.password.page.email.field.label'])}\n name=\"email\"\n value={email}\n autoComplete=\"on\"\n errorMessage={validationError}\n handleChange={(e) => setEmail(e.target.value)}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n helpText={[formatMessage(messages['forgot.password.email.help.text'], { platformName })]}\n />\n <StatefulButton\n id=\"submit-forget-password\"\n name=\"submit-forget-password\"\n type=\"submit\"\n variant=\"brand\"\n className=\"forgot-password--button\"\n state={submitState}\n labels={{\n default: formatMessage(messages['forgot.password.page.submit.button']),\n pending: '',\n }}\n onClick={handleSubmit}\n onMouseDown={(e) => e.preventDefault()}\n />\n {(appConfig.LOGIN_ISSUE_SUPPORT_LINK) && (\n <Hyperlink\n id=\"forgot-password\"\n name=\"forgot-password\"\n className=\"ml-4 font-weight-500 text-body\"\n destination={appConfig.LOGIN_ISSUE_SUPPORT_LINK}\n target=\"_blank\"\n showLaunchIcon={false}\n >\n {formatMessage(messages['need.help.sign.in.text'])}\n </Hyperlink>\n )}\n {(appConfig.INFO_EMAIL) && (\n <p className=\"mt-5.5 small text-gray-700\">\n {formatMessage(messages['additional.help.text'], { platformName })}\n <span className=\"mx-1\">\n <Hyperlink isInline destination={`mailto:${appConfig.INFO_EMAIL}`}>{appConfig.INFO_EMAIL}</Hyperlink>\n </span>\n </p>\n )}\n </Form>\n </div>\n </div>\n </BaseContainer>\n );\n};\n\nexport default ForgotPasswordPage;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"apiHook.js","sourceRoot":"","sources":["../../../src/forgot-password/data/apiHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAmBvC,MAAM,iBAAiB,GAAG,CAAC,UAAoC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;IAChF,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAC7B,cAAc,CAAC,KAAK,CAAC,CACtB;IACD,SAAS,EAAE,CAAC,IAA0B,EAAE,KAAa,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE;;QAC3B,iDAAiD;QACjD,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EACL,iBAAiB,GAClB,CAAC","sourcesContent":["import { logError, logInfo } from '@openedx/frontend-base';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { forgotPassword } from './api';\n\ninterface ForgotPasswordResult {\n success: boolean,\n message?: string,\n}\n\ninterface UseForgotPasswordOptions {\n onSuccess?: (data: ForgotPasswordResult, email: string) => void,\n onError?: (error: Error) => void,\n}\n\ninterface ApiError extends Error {\n response?: {\n status: number,\n data: Record<string, unknown>,\n },\n}\n\nconst useForgotPassword = (options: UseForgotPasswordOptions = {}) => useMutation({\n mutationFn: (email: string) => (\n forgotPassword(email)\n ),\n onSuccess: (data: ForgotPasswordResult, email: string) => {\n if (options.onSuccess) {\n options.onSuccess(data, email);\n }\n },\n onError: (error: ApiError) => {\n // Handle different error types like the saga did\n if (error.response?.status === 403) {\n logInfo(error);\n } else {\n logError(error);\n }\n if (options.onError) {\n options.onError(error);\n }\n },\n});\n\nexport {\n useForgotPassword,\n};\n"]}
1
+ {"version":3,"file":"apiHook.js","sourceRoot":"","sources":["../../../src/forgot-password/data/apiHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAmBvC,MAAM,iBAAiB,GAAG,CAAC,UAAoC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;IAChF,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAC7B,cAAc,CAAC,KAAK,CAAC,CACtB;IACD,SAAS,EAAE,CAAC,IAA0B,EAAE,KAAa,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE;;QAC3B,iDAAiD;QACjD,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EACL,iBAAiB,GAClB,CAAC","sourcesContent":["import { logError, logInfo } from '@openedx/frontend-base';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { forgotPassword } from './api';\n\ninterface ForgotPasswordResult {\n success: boolean;\n message?: string;\n}\n\ninterface UseForgotPasswordOptions {\n onSuccess?: (data: ForgotPasswordResult, email: string) => void;\n onError?: (error: Error) => void;\n}\n\ninterface ApiError extends Error {\n response?: {\n status: number;\n data: Record<string, unknown>;\n };\n}\n\nconst useForgotPassword = (options: UseForgotPasswordOptions = {}) => useMutation({\n mutationFn: (email: string) => (\n forgotPassword(email)\n ),\n onSuccess: (data: ForgotPasswordResult, email: string) => {\n if (options.onSuccess) {\n options.onSuccess(data, email);\n }\n },\n onError: (error: ApiError) => {\n // Handle different error types like the saga did\n if (error.response?.status === 403) {\n logInfo(error);\n } else {\n logError(error);\n }\n if (options.onError) {\n options.onError(error);\n }\n },\n});\n\nexport {\n useForgotPassword,\n};\n"]}
@@ -29,7 +29,11 @@ const AccountActivationMessage = ({ messageType }) => {
29
29
  break;
30
30
  }
31
31
  case ACCOUNT_ACTIVATION_MESSAGE.ERROR: {
32
- const supportLink = (_jsx(Alert.Link, { href: useAppConfig().ACTIVATION_EMAIL_SUPPORT_LINK, children: formatMessage(messages['account.activation.support.link']) }));
32
+ // Without a support link configured there is nowhere to point; the sentence
33
+ // still reads correctly with the phrase as plain text.
34
+ const activationEmailSupportLink = useAppConfig().ACTIVATION_EMAIL_SUPPORT_LINK;
35
+ const supportLinkText = formatMessage(messages['account.activation.support.link']);
36
+ const supportLink = activationEmailSupportLink ? (_jsx(Alert.Link, { href: activationEmailSupportLink, children: supportLinkText })) : supportLinkText;
33
37
  heading = formatMessage(messages[`account.${activationOrConfirmation}.error.message.title`]);
34
38
  activationMessage = (_jsx(FormattedMessage, { id: "account.activation.error.message", defaultMessage: "Something went wrong, please {supportLink} to resolve this issue.", description: "Account activation error message", values: { supportLink } }));
35
39
  break;