@edx/frontend-app-subscription-learner-dashboard 1.52.0 → 1.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/dist/components/ConfirmCourseUpgradeActionModal.d.ts +5 -1
  2. package/dist/components/ConfirmCourseUpgradeActionModal.js +5 -2
  3. package/dist/components/ConfirmCourseUpgradeActionModal.js.map +1 -1
  4. package/dist/containers/CourseCard/components/CourseCardBanners/CourseUpgradeButton.d.ts +6 -0
  5. package/dist/containers/CourseCard/components/CourseCardBanners/CourseUpgradeButton.js +24 -0
  6. package/dist/containers/CourseCard/components/CourseCardBanners/CourseUpgradeButton.js.map +1 -0
  7. package/dist/containers/CourseCard/components/CourseCardBanners/UpgradeBanner.d.ts +5 -3
  8. package/dist/containers/CourseCard/components/CourseCardBanners/UpgradeBanner.js +6 -4
  9. package/dist/containers/CourseCard/components/CourseCardBanners/UpgradeBanner.js.map +1 -1
  10. package/dist/containers/CourseCard/components/CourseCardBanners/index.d.ts +1 -1
  11. package/dist/containers/CourseCard/components/CourseCardBanners/index.js +25 -25
  12. package/dist/containers/CourseCard/components/CourseCardBanners/index.js.map +1 -1
  13. package/dist/containers/CourseCard/components/CourseCardBanners/messages.d.ts +32 -0
  14. package/dist/containers/CourseCard/components/CourseCardBanners/messages.js +22 -2
  15. package/dist/containers/CourseCard/components/CourseCardBanners/messages.js.map +1 -1
  16. package/dist/containers/Dashboard/LoadingView.d.ts +4 -1
  17. package/dist/containers/Dashboard/LoadingView.js +2 -3
  18. package/dist/containers/Dashboard/LoadingView.js.map +1 -1
  19. package/dist/containers/ProgramDashboard/assets/professional-certificate-program-details.svg +8 -1
  20. package/dist/containers/ProgramDashboard/assets/xseries-program-details.svg +14 -1
  21. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  export default ConfirmCourseUpgradeActionModal;
2
- declare function ConfirmCourseUpgradeActionModal({ isOpen, title, body, navigateLabel, reloadLabel, onSuccess, onReload, navigateTo, }: {
2
+ declare function ConfirmCourseUpgradeActionModal({ isOpen, title, body, navigateLabel, reloadLabel, onSuccess, onReload, navigateTo, isLoading, loadingTitle, }: {
3
3
  isOpen: any;
4
4
  title: any;
5
5
  body: any;
@@ -8,6 +8,8 @@ declare function ConfirmCourseUpgradeActionModal({ isOpen, title, body, navigate
8
8
  onSuccess: any;
9
9
  onReload: any;
10
10
  navigateTo: any;
11
+ isLoading?: boolean | undefined;
12
+ loadingTitle?: string | undefined;
11
13
  }): import("react/jsx-runtime").JSX.Element;
12
14
  declare namespace ConfirmCourseUpgradeActionModal {
13
15
  namespace propTypes {
@@ -19,6 +21,8 @@ declare namespace ConfirmCourseUpgradeActionModal {
19
21
  let onSuccess: PropTypes.Requireable<(...args: any[]) => any>;
20
22
  let onReload: PropTypes.Requireable<(...args: any[]) => any>;
21
23
  let navigateTo: PropTypes.Requireable<string>;
24
+ let isLoading: PropTypes.Validator<boolean>;
25
+ let loadingTitle: PropTypes.Requireable<string>;
22
26
  }
23
27
  namespace defaultProps {
24
28
  let title_1: null;
@@ -2,8 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import PropTypes from 'prop-types';
3
3
  import { ModalDialog, ActionRow, Button } from '@openedx/paragon';
4
4
  import { Link } from 'react-router-dom';
5
- const ConfirmCourseUpgradeActionModal = ({ isOpen, title, body, navigateLabel, reloadLabel, onSuccess, onReload, navigateTo, }) => {
6
- return (_jsxs(ModalDialog, { isOpen: isOpen, title: title, hasCloseButton: false, isBlocking: true, children: [title && (_jsx(ModalDialog.Header, { children: _jsx(ModalDialog.Title, { children: title }) })), body && (_jsx(ModalDialog.Body, { children: _jsx("p", { children: body }) })), _jsx(ModalDialog.Footer, { children: _jsxs(ActionRow, { children: [_jsx(Button, { variant: "tertiary", onClick: onReload, children: reloadLabel }), _jsx(Button, { variant: "primary", as: Link, to: navigateTo, children: navigateLabel })] }) })] }));
5
+ import LoadingView from '../containers/Dashboard/LoadingView';
6
+ const ConfirmCourseUpgradeActionModal = ({ isOpen, title, body, navigateLabel, reloadLabel, onSuccess, onReload, navigateTo, isLoading = false, loadingTitle = '', }) => {
7
+ return (_jsxs(ModalDialog, { isOpen: isOpen, title: title, hasCloseButton: false, isBlocking: true, children: [title && (_jsx(ModalDialog.Header, { children: _jsx(ModalDialog.Title, { style: { fontSize: '22px', lineHeight: '1.2' }, children: isLoading ? loadingTitle : title }) })), _jsxs(ModalDialog.Body, { children: [_jsx("div", { className: "d-flex justify-content-center align-items-center", children: isLoading && _jsx(LoadingView, { variant: "primary" }) }), !isLoading && body && _jsx("p", { children: body })] }), _jsx(ModalDialog.Footer, { children: !isLoading && (_jsxs(ActionRow, { children: [_jsx(Button, { variant: "tertiary", onClick: onReload, children: reloadLabel }), _jsx(Button, { variant: "primary", as: Link, to: navigateTo, children: navigateLabel })] })) })] }));
7
8
  };
8
9
  ConfirmCourseUpgradeActionModal.propTypes = {
9
10
  isOpen: PropTypes.bool.isRequired,
@@ -14,6 +15,8 @@ ConfirmCourseUpgradeActionModal.propTypes = {
14
15
  onSuccess: PropTypes.func,
15
16
  onReload: PropTypes.func,
16
17
  navigateTo: PropTypes.string,
18
+ isLoading: PropTypes.bool.isRequired,
19
+ loadingTitle: PropTypes.string,
17
20
  };
18
21
  ConfirmCourseUpgradeActionModal.defaultProps = {
19
22
  title: null,
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmCourseUpgradeActionModal.js","sourceRoot":"","sources":["../../src/components/ConfirmCourseUpgradeActionModal.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,+BAA+B,GAAG,CAAC,EACrC,MAAM,EACN,KAAK,EACL,IAAI,EACJ,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,GACb,EAAE,EAAE;IACD,OAAO,CACH,MAAC,WAAW,IACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,KAAK,EACrB,UAAU,mBAET,KAAK,IAAI,CACN,KAAC,WAAW,CAAC,MAAM,cACf,KAAC,WAAW,CAAC,KAAK,cAAE,KAAK,GAAqB,GAC7B,CACxB,EACA,IAAI,IAAI,CACL,KAAC,WAAW,CAAC,IAAI,cACb,sBAAI,IAAI,GAAK,GACE,CACtB,EACD,KAAC,WAAW,CAAC,MAAM,cACf,MAAC,SAAS,eACN,KAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,QAAQ,YAAG,WAAW,GAAU,EACpE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,YAAG,aAAa,GAAU,IACpE,GACK,IACX,CACjB,CAAC;AACN,CAAC,CAAC;AAEF,+BAA+B,CAAC,SAAS,GAAG;IACxC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IACjC,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,aAAa,EAAE,SAAS,CAAC,MAAM;IAC/B,WAAW,EAAE,SAAS,CAAC,MAAM;IAC7B,SAAS,EAAE,SAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,UAAU,EAAE,SAAS,CAAC,MAAM;CAC/B,CAAC;AAEF,+BAA+B,CAAC,YAAY,GAAG;IAC3C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,OAAO;IACpB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,eAAe,+BAA+B,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { ModalDialog, ActionRow, Button } from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\n\nconst ConfirmCourseUpgradeActionModal = ({\n isOpen,\n title,\n body,\n navigateLabel,\n reloadLabel,\n onSuccess,\n onReload,\n navigateTo,\n}) => {\n return (\n <ModalDialog\n isOpen={isOpen}\n title={title}\n hasCloseButton={false}\n isBlocking\n >\n {title && (\n <ModalDialog.Header>\n <ModalDialog.Title>{title}</ModalDialog.Title>\n </ModalDialog.Header>\n )}\n {body && (\n <ModalDialog.Body>\n <p>{body}</p>\n </ModalDialog.Body>\n )}\n <ModalDialog.Footer>\n <ActionRow>\n <Button variant=\"tertiary\" onClick={onReload}>{reloadLabel}</Button>\n <Button variant=\"primary\" as={Link} to={navigateTo}>{navigateLabel}</Button>\n </ActionRow>\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nConfirmCourseUpgradeActionModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n title: PropTypes.string,\n body: PropTypes.string,\n navigateLabel: PropTypes.string,\n reloadLabel: PropTypes.string,\n onSuccess: PropTypes.func,\n onReload: PropTypes.func,\n navigateTo: PropTypes.string,\n}; \n\nConfirmCourseUpgradeActionModal.defaultProps = {\n title: null,\n body: null,\n navigateLabel: 'Resume Course',\n reloadLabel: 'Close',\n onSuccess: () => {},\n onReload: () => {},\n navigateTo: '',\n};\n\nexport default ConfirmCourseUpgradeActionModal;"]}
1
+ {"version":3,"file":"ConfirmCourseUpgradeActionModal.js","sourceRoot":"","sources":["../../src/components/ConfirmCourseUpgradeActionModal.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,WAAW,MAAM,uCAAuC,CAAC;AAEhE,MAAM,+BAA+B,GAAG,CAAC,EACvC,MAAM,EACN,KAAK,EACL,IAAI,EACJ,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,EAAE,GAClB,EAAE,EAAE;IACH,OAAO,CACL,MAAC,WAAW,IACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,KAAK,EACrB,UAAU,mBAET,KAAK,IAAI,CACR,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,WAAW,CAAC,KAAK,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAC9D,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GACf,GACD,CACtB,EAED,MAAC,WAAW,CAAC,IAAI,eACf,cAAK,SAAS,EAAC,kDAAkD,YAC9D,SAAS,IAAI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,GAAG,GAC3C,EACL,CAAC,SAAS,IAAI,IAAI,IAAI,sBAAI,IAAI,GAAK,IACnB,EAEnB,KAAC,WAAW,CAAC,MAAM,cAChB,CAAC,SAAS,IAAI,CACb,MAAC,SAAS,eACR,KAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,QAAQ,YACzC,WAAW,GACL,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,YAC/C,aAAa,GACP,IACC,CACb,GACkB,IACT,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,+BAA+B,CAAC,SAAS,GAAG;IAC1C,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IACjC,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,aAAa,EAAE,SAAS,CAAC,MAAM;IAC/B,WAAW,EAAE,SAAS,CAAC,MAAM;IAC7B,SAAS,EAAE,SAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IACpC,YAAY,EAAE,SAAS,CAAC,MAAM;CAC/B,CAAC;AAEF,+BAA+B,CAAC,YAAY,GAAG;IAC7C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,OAAO;IACpB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,eAAe,+BAA+B,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { ModalDialog, ActionRow, Button } from '@openedx/paragon';\nimport { Link } from 'react-router-dom';\nimport LoadingView from '@src/containers/Dashboard/LoadingView';\n\nconst ConfirmCourseUpgradeActionModal = ({\n isOpen,\n title,\n body,\n navigateLabel,\n reloadLabel,\n onSuccess,\n onReload,\n navigateTo,\n isLoading = false,\n loadingTitle = '',\n}) => {\n return (\n <ModalDialog\n isOpen={isOpen}\n title={title}\n hasCloseButton={false}\n isBlocking\n >\n {title && (\n <ModalDialog.Header>\n <ModalDialog.Title style={{ fontSize: '22px', lineHeight: '1.2' }}>\n {isLoading ? loadingTitle : title}\n </ModalDialog.Title>\n </ModalDialog.Header>\n )}\n\n <ModalDialog.Body>\n <div className=\"d-flex justify-content-center align-items-center\">\n {isLoading && <LoadingView variant=\"primary\" />}\n </div>\n {!isLoading && body && <p>{body}</p>}\n </ModalDialog.Body>\n\n <ModalDialog.Footer>\n {!isLoading && (\n <ActionRow>\n <Button variant=\"tertiary\" onClick={onReload}>\n {reloadLabel}\n </Button>\n <Button variant=\"primary\" as={Link} to={navigateTo}>\n {navigateLabel}\n </Button>\n </ActionRow>\n )}\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nConfirmCourseUpgradeActionModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n title: PropTypes.string,\n body: PropTypes.string,\n navigateLabel: PropTypes.string,\n reloadLabel: PropTypes.string,\n onSuccess: PropTypes.func,\n onReload: PropTypes.func,\n navigateTo: PropTypes.string,\n isLoading: PropTypes.bool.isRequired,\n loadingTitle: PropTypes.string,\n};\n\nConfirmCourseUpgradeActionModal.defaultProps = {\n title: null,\n body: null,\n navigateLabel: 'Resume Course',\n reloadLabel: 'Close',\n onSuccess: () => {},\n onReload: () => {},\n navigateTo: '',\n};\n\nexport default ConfirmCourseUpgradeActionModal;\n"]}
@@ -0,0 +1,6 @@
1
+ interface CourseUpgradeButtonProps {
2
+ title: string;
3
+ courseId: string;
4
+ }
5
+ export default function CourseUpgradeButton({ title, courseId, }: CourseUpgradeButtonProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useQueryClient } from '@tanstack/react-query';
3
+ import { Button } from '@openedx/paragon';
4
+ import { useIntl } from '@openedx/frontend-base';
5
+ import { useUpgradeCourseEnrollment } from '../../../../data/hooks/mutationHooks';
6
+ import { useActionWithModal } from '../../../../hooks';
7
+ import { learnerDashboardQueryKeys } from '../../../../data/hooks/queryKeys';
8
+ import messages from './messages';
9
+ import ConfirmCourseUpgradeActionModal from '../../../../components/ConfirmCourseUpgradeActionModal';
10
+ export default function CourseUpgradeButton({ title, courseId, }) {
11
+ const { formatMessage } = useIntl();
12
+ const queryClient = useQueryClient();
13
+ const { mutateAsync, isPending } = useUpgradeCourseEnrollment();
14
+ const { isTriggering, trigger, handleCancelAction, isModalOpen } = useActionWithModal(() => mutateAsync({ courseRunKey: courseId }), {
15
+ shouldOpenModal: (response) => (response === null || response === void 0 ? void 0 : response.success) === true,
16
+ onCancel: () => queryClient.invalidateQueries({
17
+ queryKey: learnerDashboardQueryKeys.initializeSubsCourseDashboard(),
18
+ }),
19
+ });
20
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline-dark", size: "md", onClick: trigger, disabled: !courseId || isTriggering || isPending, children: formatMessage(messages.upgradeAction) }), _jsx(ConfirmCourseUpgradeActionModal, { isLoading: isTriggering, isOpen: isModalOpen || isTriggering, title: formatMessage(messages.upgradeCourseCompleteText, {
21
+ title,
22
+ }), loadingTitle: formatMessage(messages.upgradeCourseloadingText), onReload: handleCancelAction, reloadLabel: formatMessage(messages.closeAction), navigateLabel: "Resume Course", navigateTo: `/courses/${courseId}` })] }));
23
+ }
24
+ //# sourceMappingURL=CourseUpgradeButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseUpgradeButton.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/CourseUpgradeButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAO9F,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,KAAK,EACL,QAAQ,GACiB;IACzB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAEhE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,kBAAkB,CACnF,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAC7C;QACE,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,MAAK,IAAI;QACzD,QAAQ,EAAE,GAAG,EAAE,CACb,WAAW,CAAC,iBAAiB,CAAC;YAC5B,QAAQ,EAAE,yBAAyB,CAAC,6BAA6B,EAAE;SACpE,CAAC;KACL,CACF,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,MAAM,IACL,OAAO,EAAC,cAAc,EACtB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,QAAQ,IAAI,YAAY,IAAI,SAAS,YAE/C,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,GAC/B,EAET,KAAC,+BAA+B,IAC9B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,WAAW,IAAI,YAAY,EACnC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,yBAAyB,EAAE;oBACvD,KAAK;iBACN,CAAC,EACF,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC9D,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAChD,aAAa,EAAC,eAAe,EAC7B,UAAU,EAAE,YAAY,QAAQ,EAAE,GAClC,IACD,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import { useQueryClient } from '@tanstack/react-query';\nimport { Button } from '@openedx/paragon';\nimport { useIntl } from '@openedx/frontend-base';\n\nimport { useUpgradeCourseEnrollment } from '@src/data/hooks/mutationHooks';\nimport { useActionWithModal } from '@src/hooks';\nimport { learnerDashboardQueryKeys } from '@src/data/hooks/queryKeys';\nimport messages from './messages';\nimport ConfirmCourseUpgradeActionModal from '@src/components/ConfirmCourseUpgradeActionModal';\n\ninterface CourseUpgradeButtonProps {\n title: string,\n courseId: string,\n}\n\nexport default function CourseUpgradeButton({\n title,\n courseId,\n}: CourseUpgradeButtonProps) {\n const { formatMessage } = useIntl();\n const queryClient = useQueryClient();\n const { mutateAsync, isPending } = useUpgradeCourseEnrollment();\n\n const { isTriggering, trigger, handleCancelAction, isModalOpen } = useActionWithModal(\n () => mutateAsync({ courseRunKey: courseId }),\n {\n shouldOpenModal: (response) => response?.success === true,\n onCancel: () =>\n queryClient.invalidateQueries({\n queryKey: learnerDashboardQueryKeys.initializeSubsCourseDashboard(),\n }),\n },\n );\n\n return (\n <>\n <Button\n variant=\"outline-dark\"\n size=\"md\"\n onClick={trigger}\n disabled={!courseId || isTriggering || isPending}\n >\n {formatMessage(messages.upgradeAction)}\n </Button>\n\n <ConfirmCourseUpgradeActionModal\n isLoading={isTriggering}\n isOpen={isModalOpen || isTriggering}\n title={formatMessage(messages.upgradeCourseCompleteText, {\n title,\n })}\n loadingTitle={formatMessage(messages.upgradeCourseloadingText)}\n onReload={handleCancelAction}\n reloadLabel={formatMessage(messages.closeAction)}\n navigateLabel=\"Resume Course\"\n navigateTo={`/courses/${courseId}`}\n />\n </>\n );\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  export default UpgradeBanner;
2
- declare function UpgradeBanner({ upgradeUrl }: {
3
- upgradeUrl: any;
2
+ declare function UpgradeBanner({ title, courseId }: {
3
+ title: any;
4
+ courseId: any;
4
5
  }): import("react/jsx-runtime").JSX.Element;
5
6
  declare namespace UpgradeBanner {
6
7
  namespace propTypes {
7
- let upgradeUrl: PropTypes.Requireable<string>;
8
+ let title: PropTypes.Requireable<string>;
9
+ let courseId: PropTypes.Requireable<string>;
8
10
  }
9
11
  }
10
12
  import PropTypes from 'prop-types';
@@ -1,14 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import PropTypes from 'prop-types';
3
3
  import { useIntl } from '@openedx/frontend-base';
4
- import { Button, Card, Col, Row } from '@openedx/paragon';
4
+ import { Card, Col, Row } from '@openedx/paragon';
5
5
  import messages from './messages';
6
- const UpgradeBanner = ({ upgradeUrl }) => {
6
+ import CourseUpgradeButton from './CourseUpgradeButton';
7
+ const UpgradeBanner = ({ title, courseId }) => {
7
8
  const { formatMessage } = useIntl();
8
- return (_jsx(Card.Status, { variant: "warning", className: "bg-light-200", "data-testid": "subscription-upgrade-banner", children: _jsxs(Row, { className: "align-items-center mt-1", children: [_jsx(Col, { xs: 12, lg: 8, className: "pe-lg-3", children: _jsx("p", { className: "mb-0 font-weight-semi-bold", children: formatMessage(messages.subscriptionUpgradeBannerText) }) }), _jsx(Col, { xs: 12, sm: 4, className: "d-flex justify-content-end mt-2 mt-lg-0", children: _jsx(Button, { variant: "outline-dark", size: "md", href: upgradeUrl || undefined, "data-testid": "subscription-upgrade-button", children: formatMessage(messages.upgradeAction) }) })] }) }));
9
+ return (_jsx(Card.Status, { variant: "warning", className: "bg-light-200", "data-testid": "subscription-upgrade-banner", children: _jsxs(Row, { className: "align-items-center mt-1", children: [_jsx(Col, { xs: 12, lg: 8, className: "pe-lg-3", children: _jsx("p", { className: "mb-0 font-weight-semi-bold", children: formatMessage(messages.subscriptionUpgradeBannerText) }) }), _jsx(Col, { xs: 12, sm: 4, className: "d-flex justify-content-end mt-2 mt-lg-0", children: _jsx(CourseUpgradeButton, { courseId: courseId, title: title }) })] }) }));
9
10
  };
10
11
  UpgradeBanner.propTypes = {
11
- upgradeUrl: PropTypes.string,
12
+ title: PropTypes.string,
13
+ courseId: PropTypes.string,
12
14
  };
13
15
  export default UpgradeBanner;
14
16
  //# sourceMappingURL=UpgradeBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeBanner.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/UpgradeBanner.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,aAAa,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,KAAC,IAAI,CAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,cAAc,iBAAa,6BAA6B,YAC/F,MAAC,GAAG,IAAC,SAAS,EAAC,yBAAyB,aACtC,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,SAAS,YACrC,YAAG,SAAS,EAAC,4BAA4B,YACtC,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GACpD,GACA,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,yCAAyC,YACrE,KAAC,MAAM,IACL,OAAO,EAAC,cAAc,EACtB,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,UAAU,IAAI,SAAS,iBACjB,6BAA6B,YAExC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,GAC/B,GACL,IACF,GACM,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,aAAa,CAAC,SAAS,GAAG;IACxB,UAAU,EAAE,SAAS,CAAC,MAAM;CAC7B,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Button, Card, Col, Row } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst UpgradeBanner = ({ upgradeUrl }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card.Status variant=\"warning\" className=\"bg-light-200\" data-testid=\"subscription-upgrade-banner\">\n <Row className=\"align-items-center mt-1\">\n <Col xs={12} lg={8} className=\"pe-lg-3\">\n <p className=\"mb-0 font-weight-semi-bold\">\n {formatMessage(messages.subscriptionUpgradeBannerText)}\n </p>\n </Col>\n <Col xs={12} sm={4} className=\"d-flex justify-content-end mt-2 mt-lg-0\">\n <Button\n variant=\"outline-dark\"\n size=\"md\"\n href={upgradeUrl || undefined}\n data-testid=\"subscription-upgrade-button\"\n >\n {formatMessage(messages.upgradeAction)}\n </Button>\n </Col>\n </Row>\n </Card.Status>\n );\n};\n\nUpgradeBanner.propTypes = {\n upgradeUrl: PropTypes.string,\n};\n\nexport default UpgradeBanner;\n"]}
1
+ {"version":3,"file":"UpgradeBanner.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/UpgradeBanner.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,KAAC,IAAI,CAAC,MAAM,IACV,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,cAAc,iBACZ,6BAA6B,YAEzC,MAAC,GAAG,IAAC,SAAS,EAAC,yBAAyB,aACtC,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,SAAS,YACrC,YAAG,SAAS,EAAC,4BAA4B,YACtC,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GACpD,GACA,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,yCAAyC,YACrE,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,GACrD,IACF,GACM,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,aAAa,CAAC,SAAS,GAAG;IACxB,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,QAAQ,EAAE,SAAS,CAAC,MAAM;CAC3B,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Card, Col, Row } from '@openedx/paragon';\n\nimport messages from './messages';\nimport CourseUpgradeButton from './CourseUpgradeButton';\n\nconst UpgradeBanner = ({ title, courseId }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card.Status\n variant=\"warning\"\n className=\"bg-light-200\"\n data-testid=\"subscription-upgrade-banner\"\n >\n <Row className=\"align-items-center mt-1\">\n <Col xs={12} lg={8} className=\"pe-lg-3\">\n <p className=\"mb-0 font-weight-semi-bold\">\n {formatMessage(messages.subscriptionUpgradeBannerText)}\n </p>\n </Col>\n <Col xs={12} sm={4} className=\"d-flex justify-content-end mt-2 mt-lg-0\">\n <CourseUpgradeButton courseId={courseId} title={title} />\n </Col>\n </Row>\n </Card.Status>\n );\n};\n\nUpgradeBanner.propTypes = {\n title: PropTypes.string,\n courseId: PropTypes.string,\n};\n\nexport default UpgradeBanner;\n"]}
@@ -1,4 +1,4 @@
1
- export function CourseCardBanners({ cardId, verifiedCourse, isHistoryTab, isAudit, isAuditAccessExpired, canUpgrade }: {
1
+ export function CourseCardBanners({ cardId, verifiedCourse, isHistoryTab, isAudit, isAuditAccessExpired, canUpgrade, }: {
2
2
  cardId: any;
3
3
  verifiedCourse: any;
4
4
  isHistoryTab: any;
@@ -6,36 +6,36 @@ import UpgradeBanner from './UpgradeBanner';
6
6
  import ViewCertificateBanner from './ViewCertificateBanner';
7
7
  import ViewGradesBanner from './ViewGradesBanner';
8
8
  import ViewCourseDetailBanner from './ViewCourseDetailBanner';
9
- export const CourseCardBanners = ({ cardId, verifiedCourse, isHistoryTab, isAudit, isAuditAccessExpired, canUpgrade }) => {
10
- var _a, _b, _c, _d, _e, _f, _g, _h;
9
+ export const CourseCardBanners = ({ cardId, verifiedCourse, isHistoryTab, isAudit, isAuditAccessExpired, canUpgrade, }) => {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
11
11
  const courseData = useCourseData(cardId);
12
12
  if (!courseData) {
13
13
  return null;
14
14
  }
15
- const upgradeUrl = (_b = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _a === void 0 ? void 0 : _a.marketingUrl) !== null && _b !== void 0 ? _b : '';
15
+ const courseId = (_b = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _a === void 0 ? void 0 : _a.courseId) !== null && _b !== void 0 ? _b : '';
16
+ const title = (_d = (_c = courseData === null || courseData === void 0 ? void 0 : courseData.course) === null || _c === void 0 ? void 0 : _c.courseName) !== null && _d !== void 0 ? _d : '';
17
+ const upgradeUrl = (_f = (_e = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _e === void 0 ? void 0 : _e.marketingUrl) !== null && _f !== void 0 ? _f : '';
16
18
  const findCourseUrl = '/subscription-search';
17
- const showFindCourseBanner = (isHistoryTab
18
- && isAuditAccessExpired
19
- && isAudit
20
- && ((_c = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _c === void 0 ? void 0 : _c.isArchived)
21
- && !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses));
22
- const showViewCourseDetailBanner = (isHistoryTab
23
- && isAudit
24
- && isAuditAccessExpired
25
- && !canUpgrade
26
- && !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses));
27
- const showUpgradeBanner = (isAudit
28
- && canUpgrade
29
- && !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses)
30
- && (!isHistoryTab || isAuditAccessExpired));
31
- const isDownloadable = ((_d = courseData === null || courseData === void 0 ? void 0 : courseData.certificate) === null || _d === void 0 ? void 0 : _d.isDownloadable) || false;
32
- const isCompletedButNotPassed = !!((_e = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _e === void 0 ? void 0 : _e.isArchived)
33
- && ((_f = courseData === null || courseData === void 0 ? void 0 : courseData.gradeData) === null || _f === void 0 ? void 0 : _f.isPassing) === false
34
- && !((_g = courseData === null || courseData === void 0 ? void 0 : courseData.certificate) === null || _g === void 0 ? void 0 : _g.isEarned);
35
- const homeUrl = (_h = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _h === void 0 ? void 0 : _h.homeUrl;
36
- return (_jsxs("div", { className: "course-card-banners", "data-testid": "CourseCardBanners", children: [showUpgradeBanner && (_jsx(UpgradeBanner, { upgradeUrl: upgradeUrl })), isDownloadable &&
37
- _jsx(ViewCertificateBanner, { cardId: cardId }), isCompletedButNotPassed &&
38
- _jsx(ViewGradesBanner, { cardId: cardId }), showFindCourseBanner && (_jsx(FindCourseBanner, { findCourseUrl: findCourseUrl })), showViewCourseDetailBanner && (_jsx(ViewCourseDetailBanner, { viewCourseDetailUrl: homeUrl }))] }));
19
+ const showFindCourseBanner = isHistoryTab &&
20
+ isAuditAccessExpired &&
21
+ isAudit &&
22
+ ((_g = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _g === void 0 ? void 0 : _g.isArchived) &&
23
+ !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses);
24
+ const showViewCourseDetailBanner = isHistoryTab &&
25
+ isAudit &&
26
+ isAuditAccessExpired &&
27
+ !canUpgrade &&
28
+ !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses);
29
+ const showUpgradeBanner = isAudit &&
30
+ canUpgrade &&
31
+ !(courseData === null || courseData === void 0 ? void 0 : courseData.isFromNonUpgradeableCourses) &&
32
+ (!isHistoryTab || isAuditAccessExpired);
33
+ const isDownloadable = ((_h = courseData === null || courseData === void 0 ? void 0 : courseData.certificate) === null || _h === void 0 ? void 0 : _h.isDownloadable) || false;
34
+ const isCompletedButNotPassed = !!((_j = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _j === void 0 ? void 0 : _j.isArchived) &&
35
+ ((_k = courseData === null || courseData === void 0 ? void 0 : courseData.gradeData) === null || _k === void 0 ? void 0 : _k.isPassing) === false &&
36
+ !((_l = courseData === null || courseData === void 0 ? void 0 : courseData.certificate) === null || _l === void 0 ? void 0 : _l.isEarned);
37
+ const homeUrl = (_m = courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) === null || _m === void 0 ? void 0 : _m.homeUrl;
38
+ return (_jsxs("div", { className: "course-card-banners", "data-testid": "CourseCardBanners", children: [showUpgradeBanner && (_jsx(UpgradeBanner, { courseId: courseId, title: title, upgradeUrl: upgradeUrl })), isDownloadable && _jsx(ViewCertificateBanner, { cardId: cardId }), isCompletedButNotPassed && _jsx(ViewGradesBanner, { cardId: cardId }), showFindCourseBanner && (_jsx(FindCourseBanner, { findCourseUrl: findCourseUrl })), showViewCourseDetailBanner && (_jsx(ViewCourseDetailBanner, { viewCourseDetailUrl: homeUrl }))] }));
39
39
  };
40
40
  CourseCardBanners.propTypes = {
41
41
  cardId: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport FindCourseBanner from './FindCourseBanner';\nimport { useCourseData } from '@src/hooks';\nimport UpgradeBanner from './UpgradeBanner';\nimport ViewCertificateBanner from './ViewCertificateBanner';\nimport ViewGradesBanner from './ViewGradesBanner';\nimport ViewCourseDetailBanner from './ViewCourseDetailBanner';\n\nexport const CourseCardBanners = ({ cardId, verifiedCourse, isHistoryTab, isAudit, isAuditAccessExpired, canUpgrade }) => {\n const courseData = useCourseData(cardId);\n if (!courseData) {\n return null;\n }\n\n const upgradeUrl = courseData?.courseRun?.marketingUrl ?? '';\n const findCourseUrl = '/subscription-search';\n const showFindCourseBanner = (\n isHistoryTab\n && isAuditAccessExpired\n && isAudit\n && courseData?.courseRun?.isArchived\n && !courseData?.isFromNonUpgradeableCourses\n );\n const showViewCourseDetailBanner = (\n isHistoryTab\n && isAudit\n && isAuditAccessExpired\n && !canUpgrade\n && !courseData?.isFromNonUpgradeableCourses\n );\n const showUpgradeBanner = (\n isAudit\n && canUpgrade\n && !courseData?.isFromNonUpgradeableCourses\n && (!isHistoryTab || isAuditAccessExpired)\n );\n const isDownloadable = courseData?.certificate?.isDownloadable || false;\n const isCompletedButNotPassed = !!courseData?.courseRun?.isArchived\n && courseData?.gradeData?.isPassing === false\n && !courseData?.certificate?.isEarned;\n const homeUrl = courseData?.courseRun?.homeUrl;\n\n\n return (\n <div className=\"course-card-banners\" data-testid=\"CourseCardBanners\">\n {showUpgradeBanner && (\n <UpgradeBanner upgradeUrl={upgradeUrl} />\n )}\n {isDownloadable &&\n <ViewCertificateBanner cardId={cardId} />\n }\n {isCompletedButNotPassed &&\n <ViewGradesBanner cardId={cardId} />\n }\n {showFindCourseBanner && (\n <FindCourseBanner\n findCourseUrl={findCourseUrl}\n />\n )}\n {showViewCourseDetailBanner && (\n <ViewCourseDetailBanner\n viewCourseDetailUrl={homeUrl}\n />\n )}\n </div>\n );\n};\nCourseCardBanners.propTypes = {\n cardId: PropTypes.string.isRequired,\n verifiedCourse: PropTypes.bool,\n isHistoryTab: PropTypes.bool,\n isAudit: PropTypes.bool,\n isAuditAccessExpired: PropTypes.bool,\n canUpgrade: PropTypes.bool,\n};\n\nexport default CourseCardBanners;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport FindCourseBanner from './FindCourseBanner';\nimport { useCourseData } from '@src/hooks';\nimport UpgradeBanner from './UpgradeBanner';\nimport ViewCertificateBanner from './ViewCertificateBanner';\nimport ViewGradesBanner from './ViewGradesBanner';\nimport ViewCourseDetailBanner from './ViewCourseDetailBanner';\n\nexport const CourseCardBanners = ({\n cardId,\n verifiedCourse,\n isHistoryTab,\n isAudit,\n isAuditAccessExpired,\n canUpgrade,\n}) => {\n const courseData = useCourseData(cardId);\n if (!courseData) {\n return null;\n }\n\n const courseId = courseData?.courseRun?.courseId ?? '';\n const title = courseData?.course?.courseName ?? '';\n\n const upgradeUrl = courseData?.courseRun?.marketingUrl ?? '';\n const findCourseUrl = '/subscription-search';\n const showFindCourseBanner =\n isHistoryTab &&\n isAuditAccessExpired &&\n isAudit &&\n courseData?.courseRun?.isArchived &&\n !courseData?.isFromNonUpgradeableCourses;\n const showViewCourseDetailBanner =\n isHistoryTab &&\n isAudit &&\n isAuditAccessExpired &&\n !canUpgrade &&\n !courseData?.isFromNonUpgradeableCourses;\n const showUpgradeBanner =\n isAudit &&\n canUpgrade &&\n !courseData?.isFromNonUpgradeableCourses &&\n (!isHistoryTab || isAuditAccessExpired);\n const isDownloadable = courseData?.certificate?.isDownloadable || false;\n const isCompletedButNotPassed =\n !!courseData?.courseRun?.isArchived &&\n courseData?.gradeData?.isPassing === false &&\n !courseData?.certificate?.isEarned;\n const homeUrl = courseData?.courseRun?.homeUrl;\n\n return (\n <div className=\"course-card-banners\" data-testid=\"CourseCardBanners\">\n {showUpgradeBanner && (\n <UpgradeBanner\n courseId={courseId}\n title={title}\n upgradeUrl={upgradeUrl}\n />\n )}\n {isDownloadable && <ViewCertificateBanner cardId={cardId} />}\n {isCompletedButNotPassed && <ViewGradesBanner cardId={cardId} />}\n {showFindCourseBanner && (\n <FindCourseBanner findCourseUrl={findCourseUrl} />\n )}\n {showViewCourseDetailBanner && (\n <ViewCourseDetailBanner viewCourseDetailUrl={homeUrl} />\n )}\n </div>\n );\n};\nCourseCardBanners.propTypes = {\n cardId: PropTypes.string.isRequired,\n verifiedCourse: PropTypes.bool,\n isHistoryTab: PropTypes.bool,\n isAudit: PropTypes.bool,\n isAuditAccessExpired: PropTypes.bool,\n canUpgrade: PropTypes.bool,\n};\n\nexport default CourseCardBanners;\n"]}
@@ -261,4 +261,36 @@ declare namespace messages {
261
261
  let defaultMessage_32: string;
262
262
  export { defaultMessage_32 as defaultMessage };
263
263
  }
264
+ namespace upgradeCourseCompleteText {
265
+ let defaultMessage_33: string;
266
+ export { defaultMessage_33 as defaultMessage };
267
+ let id_33: string;
268
+ export { id_33 as id };
269
+ let description_33: string;
270
+ export { description_33 as description };
271
+ }
272
+ namespace upgradeCourseloadingText {
273
+ let defaultMessage_34: string;
274
+ export { defaultMessage_34 as defaultMessage };
275
+ let id_34: string;
276
+ export { id_34 as id };
277
+ let description_34: string;
278
+ export { description_34 as description };
279
+ }
280
+ namespace closeAction {
281
+ let id_35: string;
282
+ export { id_35 as id };
283
+ let description_35: string;
284
+ export { description_35 as description };
285
+ let defaultMessage_35: string;
286
+ export { defaultMessage_35 as defaultMessage };
287
+ }
288
+ namespace resumeCourseAction {
289
+ let id_36: string;
290
+ export { id_36 as id };
291
+ let description_36: string;
292
+ export { description_36 as description };
293
+ let defaultMessage_36: string;
294
+ export { defaultMessage_36 as defaultMessage };
295
+ }
264
296
  }
@@ -93,12 +93,12 @@ const messages = defineMessages({
93
93
  prerequisitesNotMet: {
94
94
  id: 'learner-dash.courseCard.banners.prerequisitesNotMet',
95
95
  description: 'Message to learners with unmet prerequisites',
96
- defaultMessage: 'You can\'t access this course just yet because you have not met the pre-requisites.',
96
+ defaultMessage: "You can't access this course just yet because you have not met the pre-requisites.",
97
97
  },
98
98
  courseHasNotStarted: {
99
99
  id: 'learner-dash.courseCard.banners.courseHasNotStarted',
100
100
  description: 'Course has not started message',
101
- defaultMessage: 'You can\'t access this course just yet because the course hasn\'t started yet. The course will start on {startDate}.',
101
+ defaultMessage: "You can't access this course just yet because the course hasn't started yet. The course will start on {startDate}.",
102
102
  },
103
103
  redeem: {
104
104
  id: 'learner-dash.courseCard.banners.redeem',
@@ -165,6 +165,26 @@ const messages = defineMessages({
165
165
  description: 'Find course action link text for verified courses',
166
166
  defaultMessage: 'Find a course',
167
167
  },
168
+ upgradeCourseCompleteText: {
169
+ defaultMessage: 'You now have full course access to {title}',
170
+ id: 'learner-dash.courseCard.banners.upgrade.complete.text',
171
+ description: 'text to display when a user has upgraded a course',
172
+ },
173
+ upgradeCourseloadingText: {
174
+ defaultMessage: 'We are upgrading your course to the verified track.',
175
+ id: 'learner-dash.courseCard.banners.upgrade.loading.text',
176
+ description: 'text to display when a user is upgrading a course',
177
+ },
178
+ closeAction: {
179
+ id: 'learner-dash.courseCard.banners.closeModal',
180
+ description: 'Close button text for closing upgrade modal',
181
+ defaultMessage: 'Close',
182
+ },
183
+ resumeCourseAction: {
184
+ id: 'learner-dash.courseCard.banners.ResumeCourse',
185
+ description: 'Resume button text for resume course modal',
186
+ defaultMessage: 'Resume Course',
187
+ },
168
188
  });
169
189
  export default messages;
170
190
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/messages.js"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n auditAccessExpired: {\n id: 'learner-dash.courseCard.banners.auditAccessExpired',\n description: 'Audit access expiration banner message',\n defaultMessage: 'Your audit access to this course has expired.',\n },\n findAnotherCourse: {\n id: 'learner-dash.courseCard.banners.findAnotherCourse',\n description: 'Action prompt taking learners to course exploration',\n defaultMessage: 'Find another course',\n },\n certRestricted: {\n id: 'learner-dash.courseCard.banners.certificateRestricted',\n description: 'Restricted certificate warning message',\n defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting {supportEmail}.',\n },\n certRestrictedNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRestrictedNoEmail',\n description: 'Restricted certificate warning message',\n defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know.',\n },\n certRefundContactBilling: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBilling',\n description: 'Message to learners to contact billing for certificate refunds',\n defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact our billing address {billingEmail}',\n },\n certRefundContactBillingNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBillingNoEmail',\n description: 'Message to learners to contact billing for certificate refunds',\n defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact us.',\n },\n passingGrade: {\n id: 'learner-dash.courseCard.banners.passingGrade',\n description: 'Message to learners with minimum passing grade for the course',\n defaultMessage: 'Grade required to pass the course: {minPassingGrade}\\u200f%',\n },\n notEligibleForCert: {\n id: 'learner-dash.courseCard.banners.notEligibleForCert',\n description: 'Certificate inelligibility message',\n defaultMessage: 'You are not eligible for a certificate.',\n },\n viewGrades: {\n id: 'learner-dash.courseCard.banners.viewGrades',\n description: 'Gradses link text',\n defaultMessage: 'View grades.',\n },\n certReady: {\n id: 'learner-dash.courseCard.banners.certReady',\n description: 'Certificate ready message',\n defaultMessage: 'Congratulations. Your certificate is ready.',\n },\n viewCertificate: {\n id: 'learner-dash.courseCard.banners.viewCertificate',\n description: 'Certificate link text',\n defaultMessage: 'View certificate',\n },\n certMinGrade: {\n id: 'learner-dash.courseCard.banners.certMinGrade',\n description: 'Passing grade requirement message',\n defaultMessage: 'Grade required for a certificate: {minPassingGrade}\\u200f%',\n },\n downloadCertificate: {\n id: 'learner-dash.courseCard.banners.downloadCertificate',\n description: 'Certificate download link text',\n defaultMessage: 'Download Certificate.',\n },\n gradeAndCertReadyAfter: {\n id: 'learner-dash.courseCard.banners.gradseAndCertReadyAfter',\n description: 'Grade and certificate availability date message',\n defaultMessage: 'Your grade and certificate will be ready after {availableDate}.',\n },\n entitlementUnavailable: {\n id: 'learner-dash.courseCard.banners.entitlementUnavailable',\n description: 'Entitlement course message when no sessions are available',\n defaultMessage: 'There are no sessions available at the moment. The course team will create new sessions soon. If no sessions appear, please contact {emailLink} for information.',\n },\n entitlementExpiringSoon: {\n id: 'learner-dash.courseCard.banners.entitlementExpiringSoon',\n description: 'Entitlement course message when the entitlement is expiring soon.',\n defaultMessage: 'You must {selectSessionButton} by {changeDeadline} to access the course.',\n },\n entitlementExpired: {\n id: 'learner-dash.courseCard.banners.entitlementExpired',\n description: 'Entitlement course message when the entitlement is expired.',\n defaultMessage: 'You can no longer change sessions.',\n },\n selectSession: {\n id: 'learner-dash.courseCard.banners.selectSession',\n description: 'Entitlement session selection link text',\n defaultMessage: 'select a session',\n },\n prerequisitesNotMet: {\n id: 'learner-dash.courseCard.banners.prerequisitesNotMet',\n description: 'Message to learners with unmet prerequisites',\n defaultMessage: 'You can\\'t access this course just yet because you have not met the pre-requisites.',\n },\n courseHasNotStarted: {\n id: 'learner-dash.courseCard.banners.courseHasNotStarted',\n description: 'Course has not started message',\n defaultMessage: 'You can\\'t access this course just yet because the course hasn\\'t started yet. The course will start on {startDate}.',\n },\n redeem: {\n id: 'learner-dash.courseCard.banners.redeem',\n description: 'Redeem link text',\n defaultMessage: 'Redeem',\n },\n subscriptionUpgradeBannerText: {\n id: 'learner-dash.courseCard.banners.subscriptionUpgradeBannerText',\n description: 'Banner text for subscription courses where audit access has expired',\n defaultMessage: 'This course is included in your subscription. Upgrade to get full course access.',\n },\n subscriptionRedeemBannerText: {\n id: 'learner-dash.courseCard.banners.subscriptionRedeemBannerText',\n description: 'Banner text for subscription courses where audit access has expired',\n defaultMessage: 'This course is included in your subscription. Redeem to get full course access.',\n },\n upgradeAction: {\n id: 'learner-dash.courseCard.banners.upgradeAction',\n description: 'Upgrade button text for subscription upgrade banner',\n defaultMessage: 'Upgrade',\n },\n verifiedBannerText: {\n id: 'learner-dash.courseCard.banners.verifiedBannerText',\n description: 'Banner text for verified courses',\n defaultMessage: 'You passed this course on {date} and earned a verified certificate.',\n },\n completedAndPassedBannerText: {\n id: 'learner-dash.courseCard.banners.completedAndPassedBannerText',\n description: 'Banner text for completed and passed courses',\n defaultMessage: 'You completed and passed this course on {date}.',\n },\n congratulationsText: {\n id: 'learner-dash.courseCard.banners.congratulationsText',\n description: 'Congratulations text for verified courses',\n defaultMessage: 'Congratulations!',\n },\n courseCompletedBannerText: {\n id: 'learner-dash.courseCard.banners.courseCompletedBannerText',\n description: 'Course completed banner text for verified courses',\n defaultMessage: 'You completed this course on {date}.',\n },\n viewGradesText: {\n id: 'learner-dash.courseCard.banners.viewGradesText',\n description: 'View grades link text for verified courses',\n defaultMessage: 'View grades',\n },\n viewCourseDetailBannerText: {\n id: 'learner-dash.courseCard.banners.viewCourseDetailBannerText',\n description: 'View course detail banner text for verified courses',\n defaultMessage: 'Enroll in a new course-run with your subscription.',\n },\n viewCourseDetailAction: {\n id: 'learner-dash.courseCard.banners.viewCourseDetailAction',\n description: 'View course detail action link text for verified courses',\n defaultMessage: 'View course details',\n },\n findCourseBannerText: {\n id: 'learner-dash.courseCard.banners.findCourseBannerText',\n description: 'Find course banner text for verified courses',\n defaultMessage: 'This course-run is no longer available. Enroll in a new session or similar course.',\n },\n findCourseAction: {\n id: 'learner-dash.courseCard.banners.findCourseAction',\n description: 'Find course action link text for verified courses',\n defaultMessage: 'Find a course',\n },\n});\n\nexport default messages;\n"]}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/messages.js"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n auditAccessExpired: {\n id: 'learner-dash.courseCard.banners.auditAccessExpired',\n description: 'Audit access expiration banner message',\n defaultMessage: 'Your audit access to this course has expired.',\n },\n findAnotherCourse: {\n id: 'learner-dash.courseCard.banners.findAnotherCourse',\n description: 'Action prompt taking learners to course exploration',\n defaultMessage: 'Find another course',\n },\n certRestricted: {\n id: 'learner-dash.courseCard.banners.certificateRestricted',\n description: 'Restricted certificate warning message',\n defaultMessage:\n 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting {supportEmail}.',\n },\n certRestrictedNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRestrictedNoEmail',\n description: 'Restricted certificate warning message',\n defaultMessage:\n 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know.',\n },\n certRefundContactBilling: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBilling',\n description:\n 'Message to learners to contact billing for certificate refunds',\n defaultMessage:\n 'If you would like a refund on your Certificate of Achievement, please contact our billing address {billingEmail}',\n },\n certRefundContactBillingNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBillingNoEmail',\n description:\n 'Message to learners to contact billing for certificate refunds',\n defaultMessage:\n 'If you would like a refund on your Certificate of Achievement, please contact us.',\n },\n passingGrade: {\n id: 'learner-dash.courseCard.banners.passingGrade',\n description:\n 'Message to learners with minimum passing grade for the course',\n defaultMessage:\n 'Grade required to pass the course: {minPassingGrade}\\u200f%',\n },\n notEligibleForCert: {\n id: 'learner-dash.courseCard.banners.notEligibleForCert',\n description: 'Certificate inelligibility message',\n defaultMessage: 'You are not eligible for a certificate.',\n },\n viewGrades: {\n id: 'learner-dash.courseCard.banners.viewGrades',\n description: 'Gradses link text',\n defaultMessage: 'View grades.',\n },\n certReady: {\n id: 'learner-dash.courseCard.banners.certReady',\n description: 'Certificate ready message',\n defaultMessage: 'Congratulations. Your certificate is ready.',\n },\n viewCertificate: {\n id: 'learner-dash.courseCard.banners.viewCertificate',\n description: 'Certificate link text',\n defaultMessage: 'View certificate',\n },\n certMinGrade: {\n id: 'learner-dash.courseCard.banners.certMinGrade',\n description: 'Passing grade requirement message',\n defaultMessage:\n 'Grade required for a certificate: {minPassingGrade}\\u200f%',\n },\n downloadCertificate: {\n id: 'learner-dash.courseCard.banners.downloadCertificate',\n description: 'Certificate download link text',\n defaultMessage: 'Download Certificate.',\n },\n gradeAndCertReadyAfter: {\n id: 'learner-dash.courseCard.banners.gradseAndCertReadyAfter',\n description: 'Grade and certificate availability date message',\n defaultMessage:\n 'Your grade and certificate will be ready after {availableDate}.',\n },\n entitlementUnavailable: {\n id: 'learner-dash.courseCard.banners.entitlementUnavailable',\n description: 'Entitlement course message when no sessions are available',\n defaultMessage:\n 'There are no sessions available at the moment. The course team will create new sessions soon. If no sessions appear, please contact {emailLink} for information.',\n },\n entitlementExpiringSoon: {\n id: 'learner-dash.courseCard.banners.entitlementExpiringSoon',\n description:\n 'Entitlement course message when the entitlement is expiring soon.',\n defaultMessage:\n 'You must {selectSessionButton} by {changeDeadline} to access the course.',\n },\n entitlementExpired: {\n id: 'learner-dash.courseCard.banners.entitlementExpired',\n description: 'Entitlement course message when the entitlement is expired.',\n defaultMessage: 'You can no longer change sessions.',\n },\n selectSession: {\n id: 'learner-dash.courseCard.banners.selectSession',\n description: 'Entitlement session selection link text',\n defaultMessage: 'select a session',\n },\n prerequisitesNotMet: {\n id: 'learner-dash.courseCard.banners.prerequisitesNotMet',\n description: 'Message to learners with unmet prerequisites',\n defaultMessage:\n \"You can't access this course just yet because you have not met the pre-requisites.\",\n },\n courseHasNotStarted: {\n id: 'learner-dash.courseCard.banners.courseHasNotStarted',\n description: 'Course has not started message',\n defaultMessage:\n \"You can't access this course just yet because the course hasn't started yet. The course will start on {startDate}.\",\n },\n redeem: {\n id: 'learner-dash.courseCard.banners.redeem',\n description: 'Redeem link text',\n defaultMessage: 'Redeem',\n },\n subscriptionUpgradeBannerText: {\n id: 'learner-dash.courseCard.banners.subscriptionUpgradeBannerText',\n description:\n 'Banner text for subscription courses where audit access has expired',\n defaultMessage:\n 'This course is included in your subscription. Upgrade to get full course access.',\n },\n subscriptionRedeemBannerText: {\n id: 'learner-dash.courseCard.banners.subscriptionRedeemBannerText',\n description:\n 'Banner text for subscription courses where audit access has expired',\n defaultMessage:\n 'This course is included in your subscription. Redeem to get full course access.',\n },\n upgradeAction: {\n id: 'learner-dash.courseCard.banners.upgradeAction',\n description: 'Upgrade button text for subscription upgrade banner',\n defaultMessage: 'Upgrade',\n },\n verifiedBannerText: {\n id: 'learner-dash.courseCard.banners.verifiedBannerText',\n description: 'Banner text for verified courses',\n defaultMessage:\n 'You passed this course on {date} and earned a verified certificate.',\n },\n completedAndPassedBannerText: {\n id: 'learner-dash.courseCard.banners.completedAndPassedBannerText',\n description: 'Banner text for completed and passed courses',\n defaultMessage: 'You completed and passed this course on {date}.',\n },\n congratulationsText: {\n id: 'learner-dash.courseCard.banners.congratulationsText',\n description: 'Congratulations text for verified courses',\n defaultMessage: 'Congratulations!',\n },\n courseCompletedBannerText: {\n id: 'learner-dash.courseCard.banners.courseCompletedBannerText',\n description: 'Course completed banner text for verified courses',\n defaultMessage: 'You completed this course on {date}.',\n },\n viewGradesText: {\n id: 'learner-dash.courseCard.banners.viewGradesText',\n description: 'View grades link text for verified courses',\n defaultMessage: 'View grades',\n },\n viewCourseDetailBannerText: {\n id: 'learner-dash.courseCard.banners.viewCourseDetailBannerText',\n description: 'View course detail banner text for verified courses',\n defaultMessage: 'Enroll in a new course-run with your subscription.',\n },\n viewCourseDetailAction: {\n id: 'learner-dash.courseCard.banners.viewCourseDetailAction',\n description: 'View course detail action link text for verified courses',\n defaultMessage: 'View course details',\n },\n findCourseBannerText: {\n id: 'learner-dash.courseCard.banners.findCourseBannerText',\n description: 'Find course banner text for verified courses',\n defaultMessage:\n 'This course-run is no longer available. Enroll in a new session or similar course.',\n },\n findCourseAction: {\n id: 'learner-dash.courseCard.banners.findCourseAction',\n description: 'Find course action link text for verified courses',\n defaultMessage: 'Find a course',\n },\n upgradeCourseCompleteText: {\n defaultMessage: 'You now have full course access to {title}',\n id: 'learner-dash.courseCard.banners.upgrade.complete.text',\n description: 'text to display when a user has upgraded a course',\n },\n upgradeCourseloadingText: {\n defaultMessage: 'We are upgrading your course to the verified track.',\n id: 'learner-dash.courseCard.banners.upgrade.loading.text',\n description: 'text to display when a user is upgrading a course',\n },\n closeAction: {\n id: 'learner-dash.courseCard.banners.closeModal',\n description: 'Close button text for closing upgrade modal',\n defaultMessage: 'Close',\n },\n resumeCourseAction: {\n id: 'learner-dash.courseCard.banners.ResumeCourse',\n description: 'Resume button text for resume course modal',\n defaultMessage: 'Resume Course',\n },\n});\n\nexport default messages;\n"]}
@@ -1,2 +1,5 @@
1
- export function LoadingView(): import("react/jsx-runtime").JSX.Element;
1
+ interface LoadingViewProps {
2
+ variant?: string;
3
+ }
4
+ export declare const LoadingView: ({ variant }: LoadingViewProps) => import("react/jsx-runtime").JSX.Element;
2
5
  export default LoadingView;
@@ -1,10 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
2
  import { Spinner } from '@openedx/paragon';
4
3
  import hooks from './hooks';
5
- export const LoadingView = () => {
4
+ export const LoadingView = ({ variant }) => {
6
5
  const { spinnerScreenReaderText } = hooks.useDashboardMessages();
7
- return (_jsx("div", { className: "course-list-loading", children: _jsx(Spinner, { animation: "border", className: "mie-3", screenReaderText: spinnerScreenReaderText }) }));
6
+ return (_jsx("div", { className: "course-list-loading", children: _jsx(Spinner, { variant: variant, animation: "border", className: "mie-3", screenReaderText: spinnerScreenReaderText }) }));
8
7
  };
9
8
  export default LoadingView;
10
9
  //# sourceMappingURL=LoadingView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingView.js","sourceRoot":"","sources":["../../../src/containers/Dashboard/LoadingView.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAEjE,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,YAClC,KAAC,OAAO,IACN,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAC,OAAO,EACjB,gBAAgB,EAAE,uBAAuB,GACzC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import React from 'react';\nimport { Spinner } from '@openedx/paragon';\n\nimport hooks from './hooks';\n\nexport const LoadingView = () => {\n const { spinnerScreenReaderText } = hooks.useDashboardMessages();\n\n return (\n <div className=\"course-list-loading\">\n <Spinner\n animation=\"border\"\n className=\"mie-3\"\n screenReaderText={spinnerScreenReaderText}\n />\n </div>\n );\n};\n\nexport default LoadingView;\n"]}
1
+ {"version":3,"file":"LoadingView.js","sourceRoot":"","sources":["../../../src/containers/Dashboard/LoadingView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,MAAM,SAAS,CAAC;AAM5B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC3D,MAAM,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAEjE,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,YAClC,KAAC,OAAO,IACN,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAC,OAAO,EACjB,gBAAgB,EAAE,uBAAuB,GACzC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { Spinner } from '@openedx/paragon';\nimport hooks from './hooks';\n\ninterface LoadingViewProps {\n variant?: string,\n}\n\nexport const LoadingView = ({ variant }: LoadingViewProps) => {\n const { spinnerScreenReaderText } = hooks.useDashboardMessages();\n\n return (\n <div className=\"course-list-loading\">\n <Spinner\n variant={variant}\n animation=\"border\"\n className=\"mie-3\"\n screenReaderText={spinnerScreenReaderText}\n />\n </div>\n );\n};\n\nexport default LoadingView;\n"]}
@@ -1 +1,8 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2116.96 151"><title>Professional Certificate Logo</title><path d="M219,42A42,42,0,0,0,153.33,7.33,3,3,0,0,0,152,7H3a3,3,0,0,0-3,3V125a3,3,0,0,0,3,3H146v20a3,3,0,0,0,5.12,2.12l25.41-25.41,12,11.69c3.55,3.44,7.11,6.88,9.79,9.46C203.71,151,203.71,151,205,151a3,3,0,0,0,3-3V71a3,3,0,0,0-.07-.62A41.84,41.84,0,0,0,219,42Zm-6,0A36,36,0,1,1,177,6,36,36,0,0,1,213,42ZM6,122V13H146.66a41.9,41.9,0,0,0-.6,57.38A3,3,0,0,0,146,71v51Zm172.59-3.65a3,3,0,0,0-4.21,0L152,140.76v-65a41.91,41.91,0,0,0,50,0V141C196.07,135.33,186,125.54,178.59,118.35Z"/><path d="M170.88,56.12a3,3,0,0,0,4.24,0l21-21a3,3,0,0,0-4.24-4.24L173,49.76,161.12,37.88a3,3,0,1,0-4.24,4.24Z"/><path d="M97.31,37.79H57.55a3.46,3.46,0,1,0,0,6.92H89L45.36,88.3a3.46,3.46,0,0,0,4.89,4.89L93.85,49.6V81a3.46,3.46,0,0,0,6.92,0V41.25A3.46,3.46,0,0,0,97.31,37.79Z"/><path d="M316,56.23q0,13.42-8.79,20.57t-25,7.15h-8.91V116h-14V30.34H284Q300,30.34,308,36.9T316,56.23ZM273.31,72.17h7.44q10.78,0,15.82-3.75t5-11.72q0-7.38-4.51-11T283,42.05h-9.73Z"/><path d="M364.54,50a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14V116H331.67V51.2h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,364.54,50Z"/><path d="M440.89,83.48q0,15.88-8.14,24.79t-22.68,8.91a31.07,31.07,0,0,1-16.05-4.1,27.07,27.07,0,0,1-10.72-11.78,40.11,40.11,0,0,1-3.75-17.81q0-15.76,8.09-24.61T410.42,50q14.06,0,22.27,9.05T440.89,83.48Zm-47.17,0q0,22.44,16.58,22.44,16.4,0,16.41-22.44,0-22.21-16.52-22.21-8.67,0-12.57,5.74T393.72,83.48Z"/><path d="M489.23,61.63H473.41V116H459.58V61.63H448.92V55.18L459.58,51V46.74q0-11.48,5.39-17t16.46-5.54a44,44,0,0,1,14.3,2.4L492.1,37a31.76,31.76,0,0,0-9.73-1.64q-4.69,0-6.83,2.9T473.41,47V51.2h15.82Z"/><path d="M528.55,117.17q-15.12,0-23.64-8.82t-8.53-24.29q0-15.88,7.91-25T526,50q12.83,0,20.27,7.79t7.44,21.45V86.7H510.56q.29,9.43,5.1,14.5t13.54,5.07a50,50,0,0,0,10.69-1.08,56.05,56.05,0,0,0,10.63-3.6v11.19a42.31,42.31,0,0,1-10.2,3.4A62.52,62.52,0,0,1,528.55,117.17ZM526,60.45a13.84,13.84,0,0,0-10.52,4.16q-4,4.16-4.72,12.13h29.41q-.12-8-3.87-12.16T526,60.45Z"/><path d="M612.92,97.54q0,9.49-6.91,14.56t-19.8,5.07q-13,0-20.8-3.93V101.35q11.43,5.27,21.27,5.27,12.71,0,12.71-7.68a6.08,6.08,0,0,0-1.41-4.1,16.66,16.66,0,0,0-4.63-3.4,79.66,79.66,0,0,0-9-4q-11.19-4.34-15.15-8.67t-4-11.25A14.77,14.77,0,0,1,572,54.62Q578.7,50,590.25,50a51.7,51.7,0,0,1,21.62,4.63L607.41,65q-10.49-4.34-17.64-4.34-10.9,0-10.9,6.21a6.25,6.25,0,0,0,2.84,5.16q2.84,2.11,12.39,5.8a56.67,56.67,0,0,1,11.66,5.68,17,17,0,0,1,5.39,5.95A17.21,17.21,0,0,1,612.92,97.54Z"/><path d="M671.34,97.54q0,9.49-6.91,14.56t-19.8,5.07q-13,0-20.8-3.93V101.35q11.43,5.27,21.27,5.27,12.71,0,12.71-7.68a6.08,6.08,0,0,0-1.41-4.1,16.66,16.66,0,0,0-4.63-3.4,79.66,79.66,0,0,0-9-4q-11.19-4.34-15.15-8.67t-4-11.25a14.77,14.77,0,0,1,6.71-12.92q6.71-4.6,18.25-4.6a51.7,51.7,0,0,1,21.62,4.63L665.83,65q-10.49-4.34-17.64-4.34-10.9,0-10.9,6.21a6.25,6.25,0,0,0,2.84,5.16q2.84,2.11,12.39,5.8a56.67,56.67,0,0,1,11.66,5.68,17,17,0,0,1,5.39,5.95A17.21,17.21,0,0,1,671.34,97.54Z"/><path d="M685.4,34a7.62,7.62,0,0,1,2-5.68,7.88,7.88,0,0,1,5.77-2,7.71,7.71,0,0,1,5.65,2,7.62,7.62,0,0,1,2,5.68,7.48,7.48,0,0,1-2,5.54,7.64,7.64,0,0,1-5.65,2,7.81,7.81,0,0,1-5.77-2A7.48,7.48,0,0,1,685.4,34ZM700,116H686.22V51.2H700Z"/><path d="M777.16,83.48q0,15.88-8.14,24.79t-22.68,8.91a31.07,31.07,0,0,1-16.05-4.1,27.07,27.07,0,0,1-10.72-11.78,40.11,40.11,0,0,1-3.75-17.81q0-15.76,8.09-24.61T746.69,50q14.06,0,22.27,9.05T777.16,83.48Zm-47.17,0q0,22.44,16.58,22.44,16.4,0,16.41-22.44,0-22.21-16.52-22.21-8.67,0-12.57,5.74T730,83.48Z"/><path d="M850,116H836.16V76.16q0-7.5-3-11.19t-9.58-3.69q-8.73,0-12.77,5.16t-4,17.29V116H793V51.2h10.78l1.93,8.5h.7a19.17,19.17,0,0,1,8.32-7.15,27.89,27.89,0,0,1,12-2.52Q850,50,850,73.75Z"/><path d="M909.7,116l-2.75-9h-.47q-4.69,5.92-9.43,8.06a29.84,29.84,0,0,1-12.19,2.14q-9.55,0-14.91-5.16t-5.36-14.59q0-10,7.44-15.12t22.68-5.57l11.19-.35V72.93q0-6.21-2.9-9.29t-9-3.08A31.11,31.11,0,0,0,884.45,62a72.23,72.23,0,0,0-8.79,3.46l-4.45-9.84a48,48,0,0,1,11.54-4.19A53.14,53.14,0,0,1,894.58,50q12.36,0,18.66,5.39t6.3,16.93V116Zm-20.51-9.37q7.5,0,12-4.19t4.54-11.75V85.06l-8.32.35q-9.73.35-14.15,3.25t-4.42,8.88a8.66,8.66,0,0,0,2.58,6.71Q884,106.63,889.19,106.63Z"/><path d="M952.53,116H938.76V24.83h13.77Z"/><path d="M1041.3,41.12q-12.07,0-19,8.55t-6.91,23.61q0,15.76,6.65,23.85t19.25,8.09a50.58,50.58,0,0,0,10.55-1.08q5.1-1.08,10.61-2.78v12a64.3,64.3,0,0,1-22.85,3.81q-18.81,0-28.89-11.4t-10.08-32.61q0-13.36,4.89-23.38a34.91,34.91,0,0,1,14.15-15.35q9.26-5.33,21.74-5.33a54,54,0,0,1,24.26,5.51l-5,11.66a75.46,75.46,0,0,0-9.17-3.6A33.06,33.06,0,0,0,1041.3,41.12Z"/><path d="M1107.75,117.17q-15.12,0-23.64-8.82t-8.53-24.29q0-15.88,7.91-25T1105.23,50q12.83,0,20.27,7.79t7.44,21.45V86.7h-43.18q.29,9.43,5.1,14.5t13.54,5.07a50,50,0,0,0,10.69-1.08,56.05,56.05,0,0,0,10.63-3.6v11.19a42.31,42.31,0,0,1-10.2,3.4A62.52,62.52,0,0,1,1107.75,117.17Zm-2.52-56.72a13.84,13.84,0,0,0-10.52,4.16q-4,4.16-4.72,12.13h29.41q-.12-8-3.87-12.16T1105.23,60.45Z"/><path d="M1181.46,50a33.18,33.18,0,0,1,6.86.59L1187,63.44a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14V116h-13.77V51.2h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,1181.46,50Z"/><path d="M1224.46,106a33.49,33.49,0,0,0,10.08-1.58v10.37a27.8,27.8,0,0,1-5.89,1.67,40.66,40.66,0,0,1-7.47.67q-19.57,0-19.57-20.62V61.63h-8.85V55.53l9.49-5,4.69-13.71h8.5V51.2h18.46V61.63h-18.46V96.31q0,5,2.49,7.35A9.08,9.08,0,0,0,1224.46,106Z"/><path d="M1246.67,34a7.62,7.62,0,0,1,2-5.68,7.88,7.88,0,0,1,5.77-2,7.71,7.71,0,0,1,5.65,2,7.62,7.62,0,0,1,2,5.68,7.48,7.48,0,0,1-2,5.54,7.64,7.64,0,0,1-5.65,2,7.81,7.81,0,0,1-5.77-2A7.48,7.48,0,0,1,1246.67,34Zm14.59,82h-13.77V51.2h13.77Z"/><path d="M1313.47,61.63h-15.82V116h-13.83V61.63h-10.66V55.18L1283.82,51V46.74q0-11.48,5.39-17t16.46-5.54a44,44,0,0,1,14.3,2.4L1316.34,37a31.76,31.76,0,0,0-9.73-1.64q-4.69,0-6.83,2.9t-2.14,8.7V51.2h15.82Zm10.2-27.6a7.62,7.62,0,0,1,2-5.68,7.88,7.88,0,0,1,5.77-2,7.71,7.71,0,0,1,5.65,2,7.62,7.62,0,0,1,2,5.68,7.48,7.48,0,0,1-2,5.54,7.64,7.64,0,0,1-5.65,2,7.81,7.81,0,0,1-5.77-2A7.48,7.48,0,0,1,1323.66,34Zm14.59,82h-13.77V51.2h13.77Z"/><path d="M1384.13,117.17q-14.71,0-22.35-8.58t-7.65-24.64q0-16.35,8-25.14T1385.25,50a43.33,43.33,0,0,1,18.46,3.81l-4.16,11.07q-8.73-3.4-14.41-3.4-16.82,0-16.82,22.32,0,10.9,4.19,16.38t12.28,5.48a35.22,35.22,0,0,0,17.4-4.57v12a27.2,27.2,0,0,1-7.88,3.11A47.35,47.35,0,0,1,1384.13,117.17Z"/><path d="M1458,116l-2.75-9h-.47q-4.69,5.92-9.43,8.06a29.84,29.84,0,0,1-12.19,2.14q-9.55,0-14.91-5.16t-5.36-14.59q0-10,7.44-15.12T1443,76.74l11.19-.35V72.93q0-6.21-2.9-9.29t-9-3.08a31.11,31.11,0,0,0-9.55,1.46,72.23,72.23,0,0,0-8.79,3.46l-4.45-9.84A48,48,0,0,1,1431,51.46,53.14,53.14,0,0,1,1442.84,50q12.36,0,18.66,5.39t6.3,16.93V116Zm-20.51-9.37q7.5,0,12-4.19T1454,90.69V85.06l-8.32.35q-9.73.35-14.15,3.25t-4.42,8.88a8.66,8.66,0,0,0,2.58,6.71Q1432.3,106.63,1437.45,106.63Z"/><path d="M1511.16,106a33.49,33.49,0,0,0,10.08-1.58v10.37a27.8,27.8,0,0,1-5.89,1.67,40.66,40.66,0,0,1-7.47.67q-19.57,0-19.57-20.62V61.63h-8.85V55.53l9.49-5,4.69-13.71h8.5V51.2h18.46V61.63h-18.46V96.31q0,5,2.49,7.35A9.08,9.08,0,0,0,1511.16,106Z"/><path d="M1562.49,117.17q-15.12,0-23.64-8.82t-8.53-24.29q0-15.88,7.91-25T1560,50q12.83,0,20.27,7.79t7.44,21.45V86.7H1544.5q.29,9.43,5.1,14.5t13.54,5.07a50,50,0,0,0,10.69-1.08,56.05,56.05,0,0,0,10.63-3.6v11.19a42.31,42.31,0,0,1-10.2,3.4A62.52,62.52,0,0,1,1562.49,117.17ZM1560,60.45a13.84,13.84,0,0,0-10.52,4.16q-4,4.16-4.72,12.13h29.41q-.12-8-3.87-12.16T1560,60.45Z"/><path d="M1692.69,56.23q0,13.42-8.79,20.57t-25,7.15H1650V116h-14V30.34h24.67q16.05,0,24.05,6.56T1692.69,56.23ZM1650,72.17h7.44q10.78,0,15.82-3.75t5-11.72q0-7.38-4.51-11t-14.06-3.63H1650Z"/><path d="M1741.2,50a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14V116h-13.77V51.2h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,1741.2,50Z"/><path d="M1817.55,83.48q0,15.88-8.14,24.79t-22.68,8.91a31.07,31.07,0,0,1-16.05-4.1A27.07,27.07,0,0,1,1760,101.29a40.11,40.11,0,0,1-3.75-17.81q0-15.76,8.09-24.61T1787.08,50q14.06,0,22.27,9.05T1817.55,83.48Zm-47.17,0q0,22.44,16.58,22.44,16.4,0,16.41-22.44,0-22.21-16.52-22.21-8.67,0-12.57,5.74T1770.38,83.48Z"/><path d="M1888.1,51.2v7.56L1877,60.8a17.91,17.91,0,0,1,2.52,5,19.88,19.88,0,0,1,1,6.33q0,10-6.91,15.76t-19,5.74a30.86,30.86,0,0,1-5.62-.47q-4.45,2.75-4.45,6.45a3.58,3.58,0,0,0,2.08,3.34q2.08,1.11,7.65,1.11h11.31q10.72,0,16.29,4.57t5.57,13.18a19.17,19.17,0,0,1-9.08,17q-9.08,6-26.25,6-13.24,0-20.21-4.69a15.15,15.15,0,0,1-7-13.36,14.22,14.22,0,0,1,3.78-10,20.25,20.25,0,0,1,10.58-5.65,10.34,10.34,0,0,1-4.54-3.78,9.53,9.53,0,0,1-1.79-5.48,9.43,9.43,0,0,1,2.05-6.15,23.66,23.66,0,0,1,6.09-5,18,18,0,0,1-8.17-7.06,20.77,20.77,0,0,1-3.13-11.46q0-10.55,6.65-16.35t19-5.8a46.24,46.24,0,0,1,5.77.38,36.55,36.55,0,0,1,4.54.79Zm-50.92,74.88a7.58,7.58,0,0,0,4,6.86q4,2.4,11.28,2.4,11.25,0,16.76-3.22t5.51-8.55q0-4.22-3-6t-11.22-1.79h-10.43q-5.92,0-9.4,2.78A9.13,9.13,0,0,0,1837.18,126.08Zm5.92-53.91q0,6.09,3.13,9.38t9,3.28q12,0,12-12.77,0-6.33-3-9.76t-9-3.43q-6,0-9.05,3.4T1843.1,72.17Z"/><path d="M1933,50a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14V116h-13.77V51.2h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,1933,50Z"/><path d="M1992.39,116l-2.75-9h-.47q-4.69,5.92-9.43,8.06a29.84,29.84,0,0,1-12.19,2.14q-9.55,0-14.91-5.16t-5.36-14.59q0-10,7.44-15.12t22.68-5.57l11.19-.35V72.93q0-6.21-2.9-9.29t-9-3.08a31.11,31.11,0,0,0-9.55,1.46,72.23,72.23,0,0,0-8.79,3.46l-4.45-9.84a48,48,0,0,1,11.54-4.19A53.14,53.14,0,0,1,1977.28,50q12.36,0,18.66,5.39t6.3,16.93V116Zm-20.51-9.37q7.5,0,12-4.19t4.54-11.75V85.06l-8.32.35q-9.73.35-14.15,3.25t-4.42,8.88a8.66,8.66,0,0,0,2.58,6.71Q1966.73,106.63,1971.89,106.63Z"/><path d="M2076.07,116h-13.83V76q0-7.44-2.81-11.1t-8.79-3.66q-8,0-11.69,5.19t-3.72,17.26V116h-13.77V51.2h10.78l1.93,8.5h.7a18,18,0,0,1,7.82-7.15A25.23,25.23,0,0,1,2054,50q14.94,0,19.8,10.2h.94a19.75,19.75,0,0,1,8.09-7.5,25.67,25.67,0,0,1,12-2.7q11.6,0,16.9,5.86t5.3,17.87V116H2103.2V76q0-7.44-2.84-11.1t-8.82-3.66q-8,0-11.75,5t-3.72,15.38Z"/></svg>
1
+ <svg width="64" height="40" viewBox="0 0 64 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="64" height="40" fill="white"/>
3
+ <rect x="6.5" y="6.5" width="37" height="25" fill="white" stroke="#991F5F"/>
4
+ <path d="M18.3113 12.3139C17.7607 12.3139 17.3143 12.7602 17.3143 13.3109C17.3143 13.8617 17.7605 14.3083 18.3113 14.3088L24.9716 14.3148C25.0606 14.3148 25.1052 14.4225 25.0422 14.4855L14.6494 24.879C14.2589 25.2695 14.2589 25.9027 14.6494 26.2932C15.0399 26.6837 15.6731 26.6837 16.0636 26.2932L26.4394 15.9167C26.5086 15.8475 26.6271 15.8965 26.6271 15.9944L26.6331 22.631C26.6336 23.1815 27.08 23.6276 27.6305 23.6276C28.1814 23.6276 28.628 23.181 28.628 22.6301L28.628 13.3139C28.628 12.7616 28.1803 12.3139 27.628 12.3139L18.3113 12.3139Z" fill="#991F5F" stroke="white" stroke-width="0.3"/>
5
+ <path d="M54.5 11.5V37.0488L47.2832 32.0879L47 31.8936L46.7168 32.0879L39.5 37.0488V11.5H54.5Z" fill="white" stroke="#991F5F"/>
6
+ <circle cx="47" cy="12" r="9.5" fill="white" stroke="#991F5F"/>
7
+ <path d="M45.9316 14.45C45.8923 14.4899 45.828 14.4899 45.7888 14.4499L44.0945 12.7214C43.8923 12.5151 43.5602 12.5145 43.3573 12.7201C43.159 12.9209 43.1584 13.2437 43.356 13.4452L45.4317 15.5628C45.6669 15.8029 46.0534 15.8029 46.2886 15.5628L51.6464 10.0967C51.8428 9.89637 51.8428 9.57567 51.6464 9.37529C51.4444 9.16922 51.1126 9.16914 50.9105 9.37511L45.9316 14.45Z" fill="#991F5F"/>
8
+ </svg>
@@ -1 +1,14 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1198.33 151"><title>XSeries Program Logo</title><path d="M219,42A42,42,0,0,0,153.33,7.33,3,3,0,0,0,152,7H3a3,3,0,0,0-3,3V125a3,3,0,0,0,3,3H146v20a3,3,0,0,0,5.12,2.12l25.41-25.41,12,11.69c3.55,3.44,7.11,6.88,9.79,9.46C203.71,151,203.71,151,205,151a3,3,0,0,0,3-3V71a3,3,0,0,0-.07-.62A41.84,41.84,0,0,0,219,42Zm-6,0A36,36,0,1,1,177,6,36,36,0,0,1,213,42ZM6,122V13H146.66a41.9,41.9,0,0,0-.6,57.38A3,3,0,0,0,146,71v51Zm172.59-3.65a3,3,0,0,0-4.21,0L152,140.76v-65a41.91,41.91,0,0,0,50,0V141C196.07,135.33,186,125.54,178.59,118.35Z"/><path d="M170.88,56.12a3,3,0,0,0,4.24,0l21-21a3,3,0,0,0-4.24-4.24L173,49.76,161.12,37.88a3,3,0,1,0-4.24,4.24Z"/><path d="M109,99h-4.62l-27-31.5L105.24,35h2.91a3,3,0,1,0,0-6H92.71a3,3,0,0,0,0,6h4.62L73.43,62.89,49.52,35h3.76a3,3,0,0,0,0-6H37.86a3,3,0,0,0,0,6h3.76L69.48,67.5,42.48,99H37a3,3,0,0,0,0,6H54.14a3,3,0,1,0,0-6H50.38l23-26.89L96.48,99H91.86a3,3,0,1,0,0,6H109a3,3,0,0,0,0-6Z"/><path d="M326.75,116.67H310.63l-21.45-35-21.62,35h-15L281,72.25,254.38,31H270l19.8,32.4L309.58,31H324.7L297.92,72.49Z"/><path d="M387.68,93.41q0,11.43-8.26,17.93t-22.79,6.5q-14.53,0-23.79-4.51V100.08a64.64,64.64,0,0,0,12.45,4.34A52.79,52.79,0,0,0,357.57,106q8.32,0,12.28-3.16a10.32,10.32,0,0,0,4-8.5,10.65,10.65,0,0,0-3.63-8.14q-3.63-3.34-15-7.91-11.72-4.75-16.52-10.84a22.93,22.93,0,0,1-4.8-14.65q0-10.72,7.62-16.87t20.45-6.15a60.09,60.09,0,0,1,24.49,5.39l-4.45,11.43q-11.43-4.8-20.39-4.8-6.8,0-10.31,3a9.72,9.72,0,0,0-3.52,7.82,11,11,0,0,0,1.41,5.71,14.36,14.36,0,0,0,4.63,4.48,78.15,78.15,0,0,0,11.6,5.57q9.43,3.93,13.83,7.32a21.56,21.56,0,0,1,6.45,7.68A23.09,23.09,0,0,1,387.68,93.41Z"/><path d="M431.1,117.84q-15.12,0-23.64-8.82t-8.53-24.29q0-15.88,7.91-25t21.74-9.08q12.83,0,20.27,7.79t7.44,21.45v7.44H413.11q.29,9.43,5.1,14.5t13.54,5.07a50,50,0,0,0,10.69-1.08,56.05,56.05,0,0,0,10.63-3.6v11.19a42.31,42.31,0,0,1-10.2,3.4A62.6,62.6,0,0,1,431.1,117.84Zm-2.52-56.72a13.84,13.84,0,0,0-10.52,4.16q-4,4.16-4.72,12.13h29.41q-.12-8-3.87-12.16T428.58,61.12Z"/><path d="M504.81,50.69a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14v33.87H471.94V51.86h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,504.81,50.69Z"/><path d="M522.86,34.69a7.62,7.62,0,0,1,2-5.68,7.88,7.88,0,0,1,5.77-2,7.71,7.71,0,0,1,5.65,2,7.62,7.62,0,0,1,2,5.68,7.48,7.48,0,0,1-2,5.54,7.64,7.64,0,0,1-5.65,2,7.81,7.81,0,0,1-5.77-2A7.48,7.48,0,0,1,522.86,34.69Zm14.59,82H523.68V51.86h13.77Z"/><path d="M585.44,117.84q-15.12,0-23.64-8.82t-8.53-24.29q0-15.88,7.91-25t21.74-9.08q12.83,0,20.27,7.79t7.44,21.45v7.44H567.45q.29,9.43,5.1,14.5t13.54,5.07a50,50,0,0,0,10.69-1.08,56.05,56.05,0,0,0,10.63-3.6v11.19a42.31,42.31,0,0,1-10.2,3.4A62.6,62.6,0,0,1,585.44,117.84Zm-2.52-56.72a13.84,13.84,0,0,0-10.52,4.16q-4,4.16-4.72,12.13H597.1q-.12-8-3.87-12.16T582.92,61.12Z"/><path d="M669.81,98.21q0,9.49-6.91,14.56t-19.8,5.07q-13,0-20.8-3.93V102q11.43,5.27,21.27,5.27,12.71,0,12.71-7.68a6.08,6.08,0,0,0-1.41-4.1,16.66,16.66,0,0,0-4.63-3.4,79.66,79.66,0,0,0-9-4q-11.19-4.34-15.15-8.67t-4-11.25a14.77,14.77,0,0,1,6.71-12.92q6.71-4.6,18.25-4.6a51.7,51.7,0,0,1,21.62,4.63l-4.45,10.37q-10.49-4.34-17.64-4.34-10.9,0-10.9,6.21a6.25,6.25,0,0,0,2.84,5.16q2.84,2.11,12.39,5.8a56.67,56.67,0,0,1,11.66,5.68,17,17,0,0,1,5.39,5.95A17.21,17.21,0,0,1,669.81,98.21Z"/><path d="M774.05,56.9q0,13.42-8.79,20.57t-25,7.15h-8.91v32.05h-14V31H742q16.05,0,24.05,6.56T774.05,56.9ZM731.34,72.84h7.44q10.78,0,15.82-3.75t5-11.72q0-7.38-4.51-11t-14.06-3.63h-9.73Z"/><path d="M822.57,50.69a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14v33.87H789.7V51.86h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,822.57,50.69Z"/><path d="M898.92,84.15q0,15.88-8.14,24.79t-22.68,8.91a31.07,31.07,0,0,1-16.05-4.1A27.07,27.07,0,0,1,841.32,102a40.11,40.11,0,0,1-3.75-17.81q0-15.76,8.09-24.61t22.79-8.85q14.06,0,22.27,9.05T898.92,84.15Zm-47.17,0q0,22.44,16.58,22.44,16.4,0,16.41-22.44,0-22.21-16.52-22.21-8.67,0-12.57,5.74T851.75,84.15Z"/><path d="M969.46,51.86v7.56l-11.07,2.05a17.91,17.91,0,0,1,2.52,5,19.88,19.88,0,0,1,1,6.33q0,10-6.91,15.76t-19,5.74a30.86,30.86,0,0,1-5.62-.47q-4.45,2.75-4.45,6.45a3.58,3.58,0,0,0,2.08,3.34q2.08,1.11,7.65,1.11H946.9q10.72,0,16.29,4.57t5.57,13.18a19.17,19.17,0,0,1-9.08,17q-9.08,6-26.25,6-13.24,0-20.21-4.69a15.15,15.15,0,0,1-7-13.36,14.21,14.21,0,0,1,3.78-10,20.25,20.25,0,0,1,10.58-5.65,10.34,10.34,0,0,1-4.54-3.78,9.53,9.53,0,0,1-1.79-5.48,9.43,9.43,0,0,1,2.05-6.15,23.66,23.66,0,0,1,6.09-5,18,18,0,0,1-8.17-7.06,20.77,20.77,0,0,1-3.13-11.46q0-10.55,6.65-16.35t19-5.8a46.24,46.24,0,0,1,5.77.38,36.55,36.55,0,0,1,4.54.79Zm-50.92,74.88a7.57,7.57,0,0,0,4,6.86q4,2.4,11.28,2.4,11.25,0,16.76-3.22t5.51-8.55q0-4.22-3-6t-11.22-1.79H931.43q-5.92,0-9.4,2.78A9.12,9.12,0,0,0,918.54,126.74Zm5.92-53.91q0,6.09,3.13,9.38t9,3.28q12,0,12-12.77,0-6.33-3-9.76t-9-3.43q-6,0-9.05,3.4T924.46,72.84Z"/><path d="M1014.34,50.69a33.18,33.18,0,0,1,6.86.59l-1.35,12.83a26,26,0,0,0-6.09-.7q-8.26,0-13.39,5.39t-5.13,14v33.87H981.47V51.86h10.78l1.82,11.43h.7a25.67,25.67,0,0,1,8.41-9.2A20,20,0,0,1,1014.34,50.69Z"/><path d="M1073.76,116.67l-2.75-9h-.47q-4.69,5.92-9.43,8.06a29.85,29.85,0,0,1-12.19,2.14q-9.55,0-14.91-5.16t-5.36-14.59q0-10,7.44-15.12t22.68-5.57l11.19-.35V73.6q0-6.21-2.9-9.29t-9-3.08a31.11,31.11,0,0,0-9.55,1.46,72.23,72.23,0,0,0-8.79,3.46l-4.45-9.84a48,48,0,0,1,11.54-4.19,53.14,53.14,0,0,1,11.84-1.44q12.36,0,18.66,5.39T1083.6,73v43.65Zm-20.51-9.37q7.5,0,12-4.19t4.54-11.75V85.73l-8.32.35q-9.73.35-14.15,3.25t-4.42,8.88a8.66,8.66,0,0,0,2.58,6.71Q1048.09,107.29,1053.25,107.29Z"/><path d="M1157.43,116.67H1143.6v-40q0-7.44-2.81-11.1T1132,61.94q-8,0-11.69,5.19t-3.72,17.26v32.29h-13.77V51.86h10.78l1.93,8.5h.7a18,18,0,0,1,7.82-7.15,25.23,25.23,0,0,1,11.28-2.52q14.94,0,19.8,10.2h.94a19.75,19.75,0,0,1,8.09-7.5,25.67,25.67,0,0,1,12-2.7q11.6,0,16.9,5.86t5.3,17.87v42.25h-13.77v-40q0-7.44-2.84-11.1t-8.82-3.66q-8,0-11.75,5t-3.72,15.38Z"/></svg>
1
+ <svg
2
+ width="40"
3
+ height="40"
4
+ viewBox="0 0 40 40"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ >
7
+ <g transform="translate(0 0) scale(0.18)">
8
+ <path d="M219,42A42,42,0,0,0,153.33,7.33,3,3,0,0,0,152,7H3a3,3,0,0,0-3,3V125a3,3,0,0,0,3,3H146v20a3,3,0,0,0,5.12,2.12l25.41-25.41,12,11.69c3.55,3.44,7.11,6.88,9.79,9.46C203.71,151,203.71,151,205,151a3,3,0,0,0,3-3V71a3,3,0,0,0-.07-.62A41.84,41.84,0,0,0,219,42Zm-6,0A36,36,0,1,1,177,6,36,36,0,0,1,213,42ZM6,122V13H146.66a41.9,41.9,0,0,0-.6,57.38A3,3,0,0,0,146,71v51Zm172.59-3.65a3,3,0,0,0-4.21,0L152,140.76v-65a41.91,41.91,0,0,0,50,0V141C196.07,135.33,186,125.54,178.59,118.35Z"/>
9
+
10
+ <path d="M170.88,56.12a3,3,0,0,0,4.24,0l21-21a3,3,0,0,0-4.24-4.24L173,49.76,161.12,37.88a3,3,0,1,0-4.24,4.24Z"/>
11
+
12
+ <path d="M109,99h-4.62l-27-31.5L105.24,35h2.91a3,3,0,1,0,0-6H92.71a3,3,0,0,0,0,6h4.62L73.43,62.89,49.52,35h3.76a3,3,0,0,0,0-6H37.86a3,3,0,0,0,0,6h3.76L69.48,67.5,42.48,99H37a3,3,0,0,0,0,6H54.14a3,3,0,1,0,0-6H50.38l23-26.89L96.48,99H91.86a3,3,0,1,0,0,6H109a3,3,0,0,0,0-6Z"/>
13
+ </g>
14
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-app-subscription-learner-dashboard",
3
- "version": "1.52.0",
3
+ "version": "1.53.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",