@edx/frontend-plugin-advertisements 1.37.1 → 1.39.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 (86) hide show
  1. package/dist/data/index.js +1 -1
  2. package/dist/data/index.js.map +1 -1
  3. package/dist/data/optimizely.js +1 -1
  4. package/dist/data/optimizely.js.map +1 -1
  5. package/dist/generic/AccessExpirationDateBanner.js +2 -2
  6. package/dist/generic/AccessExpirationDateBanner.js.map +1 -1
  7. package/dist/generic/ExpirationCountdown.js +1 -1
  8. package/dist/generic/ExpirationCountdown.js.map +1 -1
  9. package/dist/generic/PastExpirationDateBanner.js +2 -2
  10. package/dist/generic/PastExpirationDateBanner.js.map +1 -1
  11. package/dist/generic/UpsellFBESoonCardContent.js +2 -2
  12. package/dist/generic/UpsellFBESoonCardContent.js.map +1 -1
  13. package/dist/generic/index.js +1 -1
  14. package/dist/generic/index.js.map +1 -1
  15. package/dist/generic/upsell-bullets/PaywallUpsellBullets.js +1 -1
  16. package/dist/generic/upsell-bullets/PaywallUpsellBullets.js.map +1 -1
  17. package/dist/generic/upsell-bullets/UpsellBullets.js +1 -1
  18. package/dist/generic/upsell-bullets/UpsellBullets.js.map +1 -1
  19. package/dist/generic/upsell-bullets/UpsellTable.js +1 -1
  20. package/dist/generic/upsell-bullets/UpsellTable.js.map +1 -1
  21. package/dist/generic/upsell-bullets/index.js +1 -1
  22. package/dist/generic/upsell-bullets/index.js.map +1 -1
  23. package/dist/index.js +8 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/mocks/optimizely/index.js +1 -1
  26. package/dist/optimizely/Optimizely.js +4 -4
  27. package/dist/optimizely/Optimizely.js.map +1 -1
  28. package/dist/paywall/DefaultLockPaywall.js +2 -2
  29. package/dist/paywall/DefaultLockPaywall.js.map +1 -1
  30. package/dist/paywall/ExperimentalLockPaywall.js +2 -2
  31. package/dist/paywall/ExperimentalLockPaywall.js.map +1 -1
  32. package/dist/paywall/LockPaywall.js +2 -2
  33. package/dist/paywall/LockPaywall.js.map +1 -1
  34. package/dist/paywall/index.js +1 -1
  35. package/dist/paywall/index.js.map +1 -1
  36. package/dist/section-outline/SectionHeader.js +49 -0
  37. package/dist/section-outline/SectionHeader.js.map +1 -0
  38. package/dist/section-outline/SectionItem.js +112 -0
  39. package/dist/section-outline/SectionItem.js.map +1 -0
  40. package/dist/section-outline/SectionList.js +85 -0
  41. package/dist/section-outline/SectionList.js.map +1 -0
  42. package/dist/section-outline/SequenceHeader.js +60 -0
  43. package/dist/section-outline/SequenceHeader.js.map +1 -0
  44. package/dist/section-outline/SequenceLink.js +63 -0
  45. package/dist/section-outline/SequenceLink.js.map +1 -0
  46. package/dist/section-outline/UpgradeBanner.js +49 -0
  47. package/dist/section-outline/UpgradeBanner.js.map +1 -0
  48. package/dist/section-outline/constants.js +10 -0
  49. package/dist/section-outline/constants.js.map +1 -0
  50. package/dist/section-outline/data/api.js +42 -0
  51. package/dist/section-outline/data/api.js.map +1 -0
  52. package/dist/section-outline/hooks.js +79 -0
  53. package/dist/section-outline/hooks.js.map +1 -0
  54. package/dist/section-outline/index.js +10 -0
  55. package/dist/section-outline/index.js.map +1 -0
  56. package/dist/section-outline/messages.js +41 -0
  57. package/dist/section-outline/messages.js.map +1 -0
  58. package/dist/upgrade-modal/BaseModal.js +2 -1
  59. package/dist/upgrade-modal/BaseModal.js.map +1 -1
  60. package/dist/upgrade-modal/DefaultUpgradeModal.js +2 -2
  61. package/dist/upgrade-modal/DefaultUpgradeModal.js.map +1 -1
  62. package/dist/upgrade-modal/ExperimentalUpgradeModal.js +2 -2
  63. package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +1 -1
  64. package/dist/upgrade-modal/NextUnitButton.js +3 -1
  65. package/dist/upgrade-modal/NextUnitButton.js.map +1 -1
  66. package/dist/upgrade-modal/UpgradeModalWrapper.js +2 -2
  67. package/dist/upgrade-modal/UpgradeModalWrapper.js.map +1 -1
  68. package/dist/upgrade-modal/index.js +1 -1
  69. package/dist/upgrade-modal/index.js.map +1 -1
  70. package/dist/upgrade-notification/DefaultUpgradeNotification.js +2 -2
  71. package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
  72. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +2 -2
  73. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
  74. package/dist/upgrade-notification/UpgradeNotification.js +2 -2
  75. package/dist/upgrade-notification/UpgradeNotification.js.map +1 -1
  76. package/dist/upgrade-notification/certificate-preview/CertificatePreview.js +1 -1
  77. package/dist/upgrade-notification/certificate-preview/CertificatePreview.js.map +1 -1
  78. package/dist/upgrade-notification/certificate-preview/Signatory.js +1 -1
  79. package/dist/upgrade-notification/certificate-preview/Signatory.js.map +1 -1
  80. package/dist/upgrade-notification/certificate-preview/index.js +1 -1
  81. package/dist/upgrade-notification/certificate-preview/index.js.map +1 -1
  82. package/dist/upgrade-notification/index.js +1 -1
  83. package/dist/upgrade-notification/index.js.map +1 -1
  84. package/dist/upgrade-notification/utils.js +1 -1
  85. package/dist/upgrade-notification/utils.js.map +1 -1
  86. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceHeader.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_SequenceTitle","_messages","_constants","_jsxRuntime","e","__esModule","default","SequenceHeader","_ref","complete","id","lockedStatus","sequence","showLink","title","intl","useIntl","isLocked","UNLOCKED","jsxs","Stack","direction","gap","children","jsx","IconButtonWithTooltip","tooltipPlacement","src","Locked","tooltipContent","formatMessage","messages","sequenceTooltipContent","variant","iconAs","Icon","propTypes","PropTypes","bool","isRequired","string","shape","_default","exports"],"sources":["../../src/section-outline/SequenceHeader.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Icon, IconButtonWithTooltip, Stack } from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\n\nimport SequenceTitle from '@src/course-home/outline-tab/section-outline/SequenceTitle';\nimport messages from './messages';\nimport { UNLOCKED } from './constants';\n\nconst SequenceHeader = ({\n complete,\n id,\n lockedStatus,\n sequence,\n showLink,\n title,\n}) => {\n const intl = useIntl();\n const isLocked = lockedStatus !== UNLOCKED;\n\n return (\n <Stack direction=\"horizontal\" gap={2}>\n <SequenceTitle\n {...{\n complete,\n showLink,\n title,\n sequence,\n id,\n }}\n />\n {isLocked && (\n <IconButtonWithTooltip\n tooltipPlacement=\"top\"\n src={Locked}\n tooltipContent={(\n <span>\n {intl.formatMessage(messages.sequenceTooltipContent, { lockedStatus })}\n </span>\n )}\n variant=\"primary\"\n iconAs={Icon}\n />\n )}\n </Stack>\n );\n};\n\nSequenceHeader.propTypes = {\n complete: PropTypes.bool.isRequired,\n id: PropTypes.string.isRequired,\n lockedStatus: PropTypes.string.isRequired,\n sequence: PropTypes.shape().isRequired,\n showLink: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n};\n\nexport default SequenceHeader;\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAAuC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AARvC;;AAUA,MAAMG,cAAc,GAAGC,IAAA,IAOjB;EAAA,IAPkB;IACtBC,QAAQ;IACRC,EAAE;IACFC,YAAY;IACZC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC,GAAAN,IAAA;EACC,MAAMO,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EACtB,MAAMC,QAAQ,GAAGN,YAAY,KAAKO,mBAAQ;EAE1C,oBACE,IAAAf,WAAA,CAAAgB,IAAA,EAACrB,QAAA,CAAAsB,KAAK;IAACC,SAAS,EAAC,YAAY;IAACC,GAAG,EAAE,CAAE;IAAAC,QAAA,gBACnC,IAAApB,WAAA,CAAAqB,GAAA,EAACxB,cAAA,CAAAM,OAAa;MAEVG,QAAQ;MACRI,QAAQ;MACRC,KAAK;MACLF,QAAQ;MACRF;IAAE,CAEL,CAAC,EACDO,QAAQ,iBACP,IAAAd,WAAA,CAAAqB,GAAA,EAAC1B,QAAA,CAAA2B,qBAAqB;MACpBC,gBAAgB,EAAC,KAAK;MACtBC,GAAG,EAAEC,aAAO;MACZC,cAAc,eACZ,IAAA1B,WAAA,CAAAqB,GAAA;QAAAD,QAAA,EACGR,IAAI,CAACe,aAAa,CAACC,iBAAQ,CAACC,sBAAsB,EAAE;UAAErB;QAAa,CAAC;MAAC,CAClE,CACN;MACFsB,OAAO,EAAC,SAAS;MACjBC,MAAM,EAAEC;IAAK,CACd,CACF;EAAA,CACI,CAAC;AAEZ,CAAC;AAED5B,cAAc,CAAC6B,SAAS,GAAG;EACzB3B,QAAQ,EAAE4B,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnC7B,EAAE,EAAE2B,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC/B5B,YAAY,EAAE0B,kBAAS,CAACG,MAAM,CAACD,UAAU;EACzC3B,QAAQ,EAAEyB,kBAAS,CAACI,KAAK,CAAC,CAAC,CAACF,UAAU;EACtC1B,QAAQ,EAAEwB,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnCzB,KAAK,EAAEuB,kBAAS,CAACG,MAAM,CAACD;AAC1B,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEaC,cAAc","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _SequenceDueDate = _interopRequireDefault(require("@src/course-home/outline-tab/section-outline/SequenceDueDate"));
10
+ var _HiddenSequenceLink = _interopRequireDefault(require("@src/course-home/outline-tab/section-outline/HiddenSequenceLink"));
11
+ var _SequenceHeader = _interopRequireDefault(require("./SequenceHeader"));
12
+ var _constants = require("./constants");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /* eslint import/no-unresolved: 0 */
16
+
17
+ const SequenceLink = _ref => {
18
+ let {
19
+ id,
20
+ first,
21
+ sequence,
22
+ sequenceData
23
+ } = _ref;
24
+ const {
25
+ complete,
26
+ description,
27
+ due,
28
+ showLink,
29
+ title,
30
+ hideFromTOC
31
+ } = sequence;
32
+ const lockedStatus = sequenceData[id];
33
+ const isLocked = lockedStatus !== _constants.UNLOCKED;
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
36
+ className: (0, _classnames.default)('px-3 py-2', {
37
+ 'border-top border-light': !first
38
+ }, {
39
+ 'bg-primary-100': isLocked
40
+ }),
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SequenceHeader.default, {
42
+ complete,
43
+ id,
44
+ lockedStatus,
45
+ sequence,
46
+ showLink,
47
+ title
48
+ }), hideFromTOC && /*#__PURE__*/(0, _jsxRuntime.jsx)(_HiddenSequenceLink.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SequenceDueDate.default, {
49
+ due,
50
+ id,
51
+ description
52
+ })]
53
+ })
54
+ });
55
+ };
56
+ SequenceLink.propTypes = {
57
+ id: _propTypes.default.string.isRequired,
58
+ first: _propTypes.default.bool.isRequired,
59
+ sequence: _propTypes.default.shape().isRequired,
60
+ sequenceData: _propTypes.default.shape().isRequired
61
+ };
62
+ var _default = exports.default = SequenceLink;
63
+ //# sourceMappingURL=SequenceLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceLink.js","names":["_propTypes","_interopRequireDefault","require","_classnames","_SequenceDueDate","_HiddenSequenceLink","_SequenceHeader","_constants","_jsxRuntime","e","__esModule","default","SequenceLink","_ref","id","first","sequence","sequenceData","complete","description","due","showLink","title","hideFromTOC","lockedStatus","isLocked","UNLOCKED","jsx","children","jsxs","className","classNames","propTypes","PropTypes","string","isRequired","bool","shape","_default","exports"],"sources":["../../src/section-outline/SequenceLink.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport SequenceDueDate from '@src/course-home/outline-tab/section-outline/SequenceDueDate';\nimport HiddenSequenceLink from '@src/course-home/outline-tab/section-outline/HiddenSequenceLink';\nimport SequenceHeader from './SequenceHeader';\nimport { UNLOCKED } from './constants';\n\nconst SequenceLink = ({\n id,\n first,\n sequence,\n sequenceData,\n}) => {\n const {\n complete,\n description,\n due,\n showLink,\n title,\n hideFromTOC,\n } = sequence;\n\n const lockedStatus = sequenceData[id];\n const isLocked = lockedStatus !== UNLOCKED;\n\n return (\n <li>\n <div className={classNames('px-3 py-2', { 'border-top border-light': !first }, { 'bg-primary-100': isLocked })}>\n <SequenceHeader\n {...{\n complete,\n id,\n lockedStatus,\n sequence,\n showLink,\n title,\n }}\n />\n {hideFromTOC && (\n <HiddenSequenceLink />\n )}\n <SequenceDueDate {...{ due, id, description }} />\n </div>\n </li>\n );\n};\n\nSequenceLink.propTypes = {\n id: PropTypes.string.isRequired,\n first: PropTypes.bool.isRequired,\n sequence: PropTypes.shape().isRequired,\n sequenceData: PropTypes.shape().isRequired,\n};\n\nexport default SequenceLink;\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAuC,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAPvC;;AASA,MAAMG,YAAY,GAAGC,IAAA,IAKf;EAAA,IALgB;IACpBC,EAAE;IACFC,KAAK;IACLC,QAAQ;IACRC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAM;IACJK,QAAQ;IACRC,WAAW;IACXC,GAAG;IACHC,QAAQ;IACRC,KAAK;IACLC;EACF,CAAC,GAAGP,QAAQ;EAEZ,MAAMQ,YAAY,GAAGP,YAAY,CAACH,EAAE,CAAC;EACrC,MAAMW,QAAQ,GAAGD,YAAY,KAAKE,mBAAQ;EAE1C,oBACE,IAAAlB,WAAA,CAAAmB,GAAA;IAAAC,QAAA,eACE,IAAApB,WAAA,CAAAqB,IAAA;MAAKC,SAAS,EAAE,IAAAC,mBAAU,EAAC,WAAW,EAAE;QAAE,yBAAyB,EAAE,CAAChB;MAAM,CAAC,EAAE;QAAE,gBAAgB,EAAEU;MAAS,CAAC,CAAE;MAAAG,QAAA,gBAC7G,IAAApB,WAAA,CAAAmB,GAAA,EAACrB,eAAA,CAAAK,OAAc;QAEXO,QAAQ;QACRJ,EAAE;QACFU,YAAY;QACZR,QAAQ;QACRK,QAAQ;QACRC;MAAK,CAER,CAAC,EACDC,WAAW,iBACV,IAAAf,WAAA,CAAAmB,GAAA,EAACtB,mBAAA,CAAAM,OAAkB,IAAE,CACtB,eACD,IAAAH,WAAA,CAAAmB,GAAA,EAACvB,gBAAA,CAAAO,OAAe;QAAOS,GAAG;QAAEN,EAAE;QAAEK;MAAW,CAAK,CAAC;IAAA,CAC9C;EAAC,CACJ,CAAC;AAET,CAAC;AAEDP,YAAY,CAACoB,SAAS,GAAG;EACvBlB,EAAE,EAAEmB,kBAAS,CAACC,MAAM,CAACC,UAAU;EAC/BpB,KAAK,EAAEkB,kBAAS,CAACG,IAAI,CAACD,UAAU;EAChCnB,QAAQ,EAAEiB,kBAAS,CAACI,KAAK,CAAC,CAAC,CAACF,UAAU;EACtClB,YAAY,EAAEgB,kBAAS,CAACI,KAAK,CAAC,CAAC,CAACF;AAClC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEaC,YAAY","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _i18n = require("@edx/frontend-platform/i18n");
9
+ var _paragon = require("@openedx/paragon");
10
+ var _icons = require("@openedx/paragon/icons");
11
+ var _messages = _interopRequireDefault(require("./messages"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const UpgradeBanner = _ref => {
15
+ let {
16
+ upgradeUrl
17
+ } = _ref;
18
+ const intl = (0, _i18n.useIntl)();
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.ActionRow, {
20
+ className: "my-3 p-4 bg-primary rounded",
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
22
+ direction: "horizontal",
23
+ gap: 3,
24
+ className: "text-white align-items-start",
25
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
26
+ src: _icons.Locked
27
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
29
+ className: "h4 text-white",
30
+ children: intl.formatMessage(_messages.default.upgradeBannerHeader)
31
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
32
+ className: "small",
33
+ children: intl.formatMessage(_messages.default.upgradeBannerMessage)
34
+ })]
35
+ })]
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ActionRow.Spacer, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
37
+ size: "sm",
38
+ variant: "inverse-primary",
39
+ as: "a",
40
+ href: upgradeUrl,
41
+ children: intl.formatMessage(_messages.default.upgradeBannerButtonLabel)
42
+ })]
43
+ });
44
+ };
45
+ UpgradeBanner.propTypes = {
46
+ upgradeUrl: _propTypes.default.string.isRequired
47
+ };
48
+ var _default = exports.default = UpgradeBanner;
49
+ //# sourceMappingURL=UpgradeBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpgradeBanner.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_messages","_jsxRuntime","e","__esModule","default","UpgradeBanner","_ref","upgradeUrl","intl","useIntl","jsxs","ActionRow","className","children","Stack","direction","gap","jsx","Icon","src","Locked","formatMessage","messages","upgradeBannerHeader","upgradeBannerMessage","Spacer","Button","size","variant","as","href","upgradeBannerButtonLabel","propTypes","PropTypes","string","isRequired","_default","exports"],"sources":["../../src/section-outline/UpgradeBanner.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n ActionRow,\n Button,\n Icon,\n Stack,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\n\nimport messages from './messages';\n\nconst UpgradeBanner = ({ upgradeUrl }) => {\n const intl = useIntl();\n\n return (\n <ActionRow className=\"my-3 p-4 bg-primary rounded\">\n <Stack direction=\"horizontal\" gap={3} className=\"text-white align-items-start\">\n <Icon src={Locked} />\n <Stack>\n <div className=\"h4 text-white\">\n {intl.formatMessage(messages.upgradeBannerHeader)}\n </div>\n <div className=\"small\">\n {intl.formatMessage(messages.upgradeBannerMessage)}\n </div>\n </Stack>\n </Stack>\n <ActionRow.Spacer />\n <Button\n size=\"sm\"\n variant=\"inverse-primary\"\n as=\"a\"\n href={upgradeUrl}\n >\n {intl.formatMessage(messages.upgradeBannerButtonLabel)}\n </Button>\n </ActionRow>\n );\n};\n\nUpgradeBanner.propTypes = {\n upgradeUrl: PropTypes.string.isRequired,\n};\n\nexport default UpgradeBanner;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAMA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAkC,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,aAAa,GAAGC,IAAA,IAAoB;EAAA,IAAnB;IAAEC;EAAW,CAAC,GAAAD,IAAA;EACnC,MAAME,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EAEtB,oBACE,IAAAR,WAAA,CAAAS,IAAA,EAACZ,QAAA,CAAAa,SAAS;IAACC,SAAS,EAAC,6BAA6B;IAAAC,QAAA,gBAChD,IAAAZ,WAAA,CAAAS,IAAA,EAACZ,QAAA,CAAAgB,KAAK;MAACC,SAAS,EAAC,YAAY;MAACC,GAAG,EAAE,CAAE;MAACJ,SAAS,EAAC,8BAA8B;MAAAC,QAAA,gBAC5E,IAAAZ,WAAA,CAAAgB,GAAA,EAACnB,QAAA,CAAAoB,IAAI;QAACC,GAAG,EAAEC;MAAO,CAAE,CAAC,eACrB,IAAAnB,WAAA,CAAAS,IAAA,EAACZ,QAAA,CAAAgB,KAAK;QAAAD,QAAA,gBACJ,IAAAZ,WAAA,CAAAgB,GAAA;UAAKL,SAAS,EAAC,eAAe;UAAAC,QAAA,EAC3BL,IAAI,CAACa,aAAa,CAACC,iBAAQ,CAACC,mBAAmB;QAAC,CAC9C,CAAC,eACN,IAAAtB,WAAA,CAAAgB,GAAA;UAAKL,SAAS,EAAC,OAAO;UAAAC,QAAA,EACnBL,IAAI,CAACa,aAAa,CAACC,iBAAQ,CAACE,oBAAoB;QAAC,CAC/C,CAAC;MAAA,CACD,CAAC;IAAA,CACH,CAAC,eACR,IAAAvB,WAAA,CAAAgB,GAAA,EAACnB,QAAA,CAAAa,SAAS,CAACc,MAAM,IAAE,CAAC,eACpB,IAAAxB,WAAA,CAAAgB,GAAA,EAACnB,QAAA,CAAA4B,MAAM;MACLC,IAAI,EAAC,IAAI;MACTC,OAAO,EAAC,iBAAiB;MACzBC,EAAE,EAAC,GAAG;MACNC,IAAI,EAAEvB,UAAW;MAAAM,QAAA,EAEhBL,IAAI,CAACa,aAAa,CAACC,iBAAQ,CAACS,wBAAwB;IAAC,CAChD,CAAC;EAAA,CACA,CAAC;AAEhB,CAAC;AAED1B,aAAa,CAAC2B,SAAS,GAAG;EACxBzB,UAAU,EAAE0B,kBAAS,CAACC,MAAM,CAACC;AAC/B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEaC,aAAa","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UNLOCKED = exports.PARTIALLY_LOCKED = exports.LOCKED = void 0;
7
+ const UNLOCKED = exports.UNLOCKED = 'unlocked';
8
+ const LOCKED = exports.LOCKED = 'locked';
9
+ const PARTIALLY_LOCKED = exports.PARTIALLY_LOCKED = 'partial';
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["UNLOCKED","exports","LOCKED","PARTIALLY_LOCKED"],"sources":["../../src/section-outline/constants.js"],"sourcesContent":["const UNLOCKED = 'unlocked';\nconst LOCKED = 'locked';\nconst PARTIALLY_LOCKED = 'partial';\n\nexport {\n UNLOCKED,\n LOCKED,\n PARTIALLY_LOCKED,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,UAAU;AAC3B,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAAG,QAAQ;AACvB,MAAMC,gBAAgB,GAAAF,OAAA,CAAAE,gBAAA,GAAG,SAAS","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _frontendPlatform = require("@edx/frontend-platform");
8
+ var _auth = require("@edx/frontend-platform/auth");
9
+ var _constants = require("../constants");
10
+ async function fetchSequenceBlocks(id) {
11
+ const LmsApiUrl = (0, _frontendPlatform.getConfig)().LMS_BASE_URL;
12
+ const sequenceUrl = `${LmsApiUrl}/api/courseware/sequence/${id}`;
13
+ const gatedContent = {};
14
+ try {
15
+ let gatedContentCount = 0;
16
+ const {
17
+ data: {
18
+ items
19
+ }
20
+ } = await (0, _auth.getAuthenticatedHttpClient)().get(sequenceUrl);
21
+ (0, _frontendPlatform.camelCaseObject)(items).forEach(item => {
22
+ const {
23
+ containsContentTypeGatedContent
24
+ } = item;
25
+ if (containsContentTypeGatedContent) {
26
+ gatedContentCount += 1;
27
+ }
28
+ });
29
+ if (gatedContentCount === 0) {
30
+ gatedContent[id] = _constants.UNLOCKED;
31
+ } else if (gatedContentCount === items.length) {
32
+ gatedContent[id] = _constants.LOCKED;
33
+ } else {
34
+ gatedContent[id] = _constants.PARTIALLY_LOCKED;
35
+ }
36
+ } catch (error) {
37
+ gatedContent[id] = _constants.UNLOCKED;
38
+ }
39
+ return gatedContent;
40
+ }
41
+ var _default = exports.default = fetchSequenceBlocks;
42
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","names":["_frontendPlatform","require","_auth","_constants","fetchSequenceBlocks","id","LmsApiUrl","getConfig","LMS_BASE_URL","sequenceUrl","gatedContent","gatedContentCount","data","items","getAuthenticatedHttpClient","get","camelCaseObject","forEach","item","containsContentTypeGatedContent","UNLOCKED","length","LOCKED","PARTIALLY_LOCKED","error","_default","exports","default"],"sources":["../../../src/section-outline/data/api.js"],"sourcesContent":["import { getConfig, camelCaseObject } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\nimport { LOCKED, PARTIALLY_LOCKED, UNLOCKED } from '../constants';\n\nasync function fetchSequenceBlocks(id) {\n const LmsApiUrl = getConfig().LMS_BASE_URL;\n const sequenceUrl = `${LmsApiUrl}/api/courseware/sequence/${id}`;\n const gatedContent = {};\n\n try {\n let gatedContentCount = 0;\n const { data: { items } } = await getAuthenticatedHttpClient().get(sequenceUrl);\n camelCaseObject(items).forEach(item => {\n const { containsContentTypeGatedContent } = item;\n if (containsContentTypeGatedContent) {\n gatedContentCount += 1;\n }\n });\n\n if (gatedContentCount === 0) {\n gatedContent[id] = UNLOCKED;\n } else if (gatedContentCount === items.length) {\n gatedContent[id] = LOCKED;\n } else {\n gatedContent[id] = PARTIALLY_LOCKED;\n }\n } catch (error) {\n gatedContent[id] = UNLOCKED;\n }\n\n return gatedContent;\n}\n\nexport default fetchSequenceBlocks;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,eAAeG,mBAAmBA,CAACC,EAAE,EAAE;EACrC,MAAMC,SAAS,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,YAAY;EAC1C,MAAMC,WAAW,GAAG,GAAGH,SAAS,4BAA4BD,EAAE,EAAE;EAChE,MAAMK,YAAY,GAAG,CAAC,CAAC;EAEvB,IAAI;IACF,IAAIC,iBAAiB,GAAG,CAAC;IACzB,MAAM;MAAEC,IAAI,EAAE;QAAEC;MAAM;IAAE,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAACC,GAAG,CAACN,WAAW,CAAC;IAC/E,IAAAO,iCAAe,EAACH,KAAK,CAAC,CAACI,OAAO,CAACC,IAAI,IAAI;MACrC,MAAM;QAAEC;MAAgC,CAAC,GAAGD,IAAI;MAChD,IAAIC,+BAA+B,EAAE;QACnCR,iBAAiB,IAAI,CAAC;MACxB;IACF,CAAC,CAAC;IAEF,IAAIA,iBAAiB,KAAK,CAAC,EAAE;MAC3BD,YAAY,CAACL,EAAE,CAAC,GAAGe,mBAAQ;IAC7B,CAAC,MAAM,IAAIT,iBAAiB,KAAKE,KAAK,CAACQ,MAAM,EAAE;MAC7CX,YAAY,CAACL,EAAE,CAAC,GAAGiB,iBAAM;IAC3B,CAAC,MAAM;MACLZ,YAAY,CAACL,EAAE,CAAC,GAAGkB,2BAAgB;IACrC;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdd,YAAY,CAACL,EAAE,CAAC,GAAGe,mBAAQ;EAC7B;EAEA,OAAOV,YAAY;AACrB;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcvB,mBAAmB","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _api = _interopRequireDefault(require("./data/api"));
9
+ var _constants = require("./constants");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ const getAllSequenceIds = _ref => {
17
+ let {
18
+ sections
19
+ } = _ref;
20
+ let allSequenceIds = [];
21
+ const sectionToSequenceMap = {};
22
+ Object.entries(sections).forEach(_ref2 => {
23
+ let [id, section] = _ref2;
24
+ const {
25
+ sequenceIds
26
+ } = section;
27
+ allSequenceIds = [...allSequenceIds, ...sequenceIds];
28
+ sectionToSequenceMap[id] = sequenceIds;
29
+ });
30
+ return [sectionToSequenceMap, allSequenceIds];
31
+ };
32
+ const useSequenceContext = _ref3 => {
33
+ let {
34
+ sections,
35
+ isFBE
36
+ } = _ref3;
37
+ const [isLoading, setIsLoading] = (0, _react.useState)(true);
38
+ const [sequenceData, setSequenceData] = (0, _react.useState)({});
39
+ const [courseHasLockedContent, setCourseHasLockedContent] = (0, _react.useState)(false);
40
+ const [sectionToSequenceMap, sequenceIds] = (0, _react.useMemo)(() => getAllSequenceIds({
41
+ sections
42
+ }), [sections]);
43
+ const fetchSectionHasLockedContent = sectionId => {
44
+ const currentSequenceIds = sectionToSequenceMap[sectionId];
45
+ const hasLockedContent = currentSequenceIds.some(id => sequenceData[id] === _constants.LOCKED || sequenceData[id] === _constants.PARTIALLY_LOCKED);
46
+ return hasLockedContent;
47
+ };
48
+ (0, _react.useEffect)(() => {
49
+ const fetchData = async () => {
50
+ let lockedSequencesData = {};
51
+ await Promise.all(sequenceIds.map(async id => {
52
+ await (0, _api.default)(id).then(data => {
53
+ lockedSequencesData = _objectSpread(_objectSpread({}, lockedSequencesData), data);
54
+ });
55
+ }));
56
+ const hasLockedContent = Object.values(lockedSequencesData).some(sequenceLockedStatus => sequenceLockedStatus === _constants.LOCKED || sequenceLockedStatus === _constants.PARTIALLY_LOCKED);
57
+ setCourseHasLockedContent(hasLockedContent);
58
+ setSequenceData(lockedSequencesData);
59
+ };
60
+ if (isFBE) {
61
+ fetchData();
62
+ } else {
63
+ const lockedSequencesData = {};
64
+ sequenceIds.forEach(sequenceId => {
65
+ lockedSequencesData[sequenceId] = _constants.UNLOCKED;
66
+ setSequenceData(lockedSequencesData);
67
+ });
68
+ }
69
+ setIsLoading(false);
70
+ }, [sections, isFBE, sequenceIds]);
71
+ return {
72
+ courseHasLockedContent,
73
+ fetchSectionHasLockedContent,
74
+ isLoading,
75
+ sequenceData
76
+ };
77
+ };
78
+ var _default = exports.default = useSequenceContext;
79
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","names":["_react","require","_api","_interopRequireDefault","_constants","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getAllSequenceIds","_ref","sections","allSequenceIds","sectionToSequenceMap","entries","_ref2","id","section","sequenceIds","useSequenceContext","_ref3","isFBE","isLoading","setIsLoading","useState","sequenceData","setSequenceData","courseHasLockedContent","setCourseHasLockedContent","useMemo","fetchSectionHasLockedContent","sectionId","currentSequenceIds","hasLockedContent","some","LOCKED","PARTIALLY_LOCKED","useEffect","fetchData","lockedSequencesData","Promise","all","map","fetchSequenceBlocks","then","data","values","sequenceLockedStatus","sequenceId","UNLOCKED","_default","exports"],"sources":["../../src/section-outline/hooks.jsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport fetchSequenceBlocks from './data/api';\nimport { LOCKED, PARTIALLY_LOCKED, UNLOCKED } from './constants';\n\nconst getAllSequenceIds = ({ sections }) => {\n let allSequenceIds = [];\n const sectionToSequenceMap = {};\n\n Object.entries(sections).forEach(([id, section]) => {\n const { sequenceIds } = section;\n\n allSequenceIds = [...allSequenceIds, ...sequenceIds];\n sectionToSequenceMap[id] = sequenceIds;\n });\n return [sectionToSequenceMap, allSequenceIds];\n};\n\nconst useSequenceContext = ({ sections, isFBE }) => {\n const [isLoading, setIsLoading] = useState(true);\n const [sequenceData, setSequenceData] = useState({});\n const [courseHasLockedContent, setCourseHasLockedContent] = useState(false);\n\n const [sectionToSequenceMap, sequenceIds] = useMemo(() => getAllSequenceIds({ sections }), [sections]);\n\n const fetchSectionHasLockedContent = (sectionId) => {\n const currentSequenceIds = sectionToSequenceMap[sectionId];\n const hasLockedContent = currentSequenceIds.some(id => (\n sequenceData[id] === LOCKED || sequenceData[id] === PARTIALLY_LOCKED\n ));\n\n return hasLockedContent;\n };\n\n useEffect(() => {\n const fetchData = async () => {\n let lockedSequencesData = {};\n\n await Promise.all(sequenceIds.map(async (id) => {\n await fetchSequenceBlocks(id).then((data) => {\n lockedSequencesData = { ...lockedSequencesData, ...data };\n });\n }));\n\n const hasLockedContent = Object.values(lockedSequencesData).some(\n sequenceLockedStatus => (\n sequenceLockedStatus === LOCKED || sequenceLockedStatus === PARTIALLY_LOCKED\n ),\n );\n\n setCourseHasLockedContent(hasLockedContent);\n setSequenceData(lockedSequencesData);\n };\n\n if (isFBE) {\n fetchData();\n } else {\n const lockedSequencesData = {};\n sequenceIds.forEach(sequenceId => {\n lockedSequencesData[sequenceId] = UNLOCKED;\n setSequenceData(lockedSequencesData);\n });\n }\n\n setIsLoading(false);\n }, [sections, isFBE, sequenceIds]);\n\n return {\n courseHasLockedContent,\n fetchSectionHasLockedContent,\n isLoading,\n sequenceData,\n };\n};\n\nexport default useSequenceContext;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _SectionList = _interopRequireDefault(require("./SectionList"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _default = exports.default = _SectionList.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_SectionList","_interopRequireDefault","require","e","__esModule","default","_default","exports","SectionList"],"sources":["../../src/section-outline/index.js"],"sourcesContent":["import SectionList from './SectionList';\n\nexport default SectionList;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEzBG,oBAAW","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _i18n = require("@edx/frontend-platform/i18n");
8
+ const messages = (0, _i18n.defineMessages)({
9
+ sectionChipText: {
10
+ id: 'course-home.section-outline.section-item.chip.text',
11
+ defaultMessage: 'Limited content. Upgrade for full access.',
12
+ description: 'Message notifying user that some of the content in the section is locked'
13
+ },
14
+ sectionUpgradeButtonText: {
15
+ id: 'course-home.section-outline.section-item.button.label',
16
+ defaultMessage: 'Upgrade for full access',
17
+ description: 'Message for button that is used to upgrade'
18
+ },
19
+ sequenceTooltipContent: {
20
+ id: 'course-home.section-outline.sequence-item.tooltip.content',
21
+ defaultMessage: '{lockedStatus, select, partial {Limited content} other {Not Available}}.\nUpgrade for full access.',
22
+ description: 'Tooltip content dependent on the locked status of units in the sequence.'
23
+ },
24
+ upgradeBannerHeader: {
25
+ id: 'course-home.section-outline.upgrade-banner.header',
26
+ defaultMessage: 'Unlock graded assessments and assignments',
27
+ description: 'Header message for the upgrade banner above the section outline'
28
+ },
29
+ upgradeBannerMessage: {
30
+ id: 'course-home.section-outline.upgrade-banner.message',
31
+ defaultMessage: 'Upgrade today and enjoy unlimited access to all course material.',
32
+ description: 'Body message for the upgrade banner above the section outline'
33
+ },
34
+ upgradeBannerButtonLabel: {
35
+ id: 'course-home.section-outline.upgrade-banner.button.label',
36
+ defaultMessage: 'Upgrade now',
37
+ description: 'Button label for the upgrade button in the upgrade banner above the section outline'
38
+ }
39
+ });
40
+ var _default = exports.default = messages;
41
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","sectionChipText","id","defaultMessage","description","sectionUpgradeButtonText","sequenceTooltipContent","upgradeBannerHeader","upgradeBannerMessage","upgradeBannerButtonLabel","_default","exports","default"],"sources":["../../src/section-outline/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n sectionChipText: {\n id: 'course-home.section-outline.section-item.chip.text',\n defaultMessage: 'Limited content. Upgrade for full access.',\n description: 'Message notifying user that some of the content in the section is locked',\n },\n sectionUpgradeButtonText: {\n id: 'course-home.section-outline.section-item.button.label',\n defaultMessage: 'Upgrade for full access',\n description: 'Message for button that is used to upgrade',\n },\n sequenceTooltipContent: {\n id: 'course-home.section-outline.sequence-item.tooltip.content',\n defaultMessage: '{lockedStatus, select, partial {Limited content} other {Not Available}}.\\nUpgrade for full access.',\n description: 'Tooltip content dependent on the locked status of units in the sequence.',\n },\n upgradeBannerHeader: {\n id: 'course-home.section-outline.upgrade-banner.header',\n defaultMessage: 'Unlock graded assessments and assignments',\n description: 'Header message for the upgrade banner above the section outline',\n },\n upgradeBannerMessage: {\n id: 'course-home.section-outline.upgrade-banner.message',\n defaultMessage: 'Upgrade today and enjoy unlimited access to all course material.',\n description: 'Body message for the upgrade banner above the section outline',\n },\n upgradeBannerButtonLabel: {\n id: 'course-home.section-outline.upgrade-banner.button.label',\n defaultMessage: 'Upgrade now',\n description: 'Button label for the upgrade button in the upgrade banner above the section outline',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,eAAe,EAAE;IACfC,EAAE,EAAE,oDAAoD;IACxDC,cAAc,EAAE,2CAA2C;IAC3DC,WAAW,EAAE;EACf,CAAC;EACDC,wBAAwB,EAAE;IACxBH,EAAE,EAAE,uDAAuD;IAC3DC,cAAc,EAAE,yBAAyB;IACzCC,WAAW,EAAE;EACf,CAAC;EACDE,sBAAsB,EAAE;IACtBJ,EAAE,EAAE,2DAA2D;IAC/DC,cAAc,EAAE,oGAAoG;IACpHC,WAAW,EAAE;EACf,CAAC;EACDG,mBAAmB,EAAE;IACnBL,EAAE,EAAE,mDAAmD;IACvDC,cAAc,EAAE,2CAA2C;IAC3DC,WAAW,EAAE;EACf,CAAC;EACDI,oBAAoB,EAAE;IACpBN,EAAE,EAAE,oDAAoD;IACxDC,cAAc,EAAE,kEAAkE;IAClFC,WAAW,EAAE;EACf,CAAC;EACDK,wBAAwB,EAAE;IACxBP,EAAE,EAAE,yDAAyD;IAC7DC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYb,QAAQ","ignoreList":[]}
@@ -10,7 +10,7 @@ var _i18n = require("@edx/frontend-platform/i18n");
10
10
  var _paragon = require("@openedx/paragon");
11
11
  var _certificatePreview = _interopRequireDefault(require("../upgrade-notification/certificate-preview"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  const BaseModal = _ref => {
15
15
  let {
16
16
  isOpen,
@@ -78,6 +78,7 @@ BaseModal.propTypes = {
78
78
  offer: _propTypes.default.shape({
79
79
  code: _propTypes.default.string
80
80
  }),
81
+ // eslint-disable-next-line react/no-unused-prop-types
81
82
  variationKey: _propTypes.default.string.isRequired,
82
83
  courseId: _propTypes.default.string.isRequired,
83
84
  close: _propTypes.default.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_certificatePreview","_jsxRuntime","obj","__esModule","default","BaseModal","_ref","isOpen","close","courseId","offer","callToActionButton","children","intl","useIntl","title","formatMessage","id","defaultMessage","description","jsx","MarketingModal","onClose","isBlocking","size","heroIsDark","heroNode","ModalDialog","Hero","className","style","background","borderTopLeftRadius","borderTopRightRadius","Content","bgColor","footerNode","jsxs","ActionRow","isStacked","code","defaultProps","propTypes","PropTypes","shape","string","variationKey","isRequired","func","bool","node","_default","exports"],"sources":["../../src/upgrade-modal/BaseModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { ActionRow, MarketingModal, ModalDialog } from '@openedx/paragon';\nimport CertificatePreview from '../upgrade-notification/certificate-preview';\n\nconst BaseModal = ({\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n children,\n}) => {\n const intl = useIntl();\n const title = intl.formatMessage({\n id: 'learning.upgrade-modal.title',\n defaultMessage: 'Pursue a verified certificate',\n description: 'Upgrade modal title',\n });\n\n return (\n <MarketingModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isBlocking\n size=\"md\"\n heroIsDark\n heroNode={(\n <ModalDialog.Hero\n className=\"justify-content-center\"\n style={{\n background: 'linear-gradient(#001B1E, #0E3639)',\n borderTopLeftRadius: '6.8px',\n borderTopRightRadius: '6.8px',\n }}\n >\n <ModalDialog.Hero.Content className=\"m-0 text-primary-500\">\n <CertificatePreview {...{ courseId, bgColor: 'bg-light-100' }} />\n </ModalDialog.Hero.Content>\n </ModalDialog.Hero>\n )}\n footerNode={(\n <ActionRow isStacked className=\"mb-2\">\n {offer && (\n <div className=\"text-center\">\n {intl.formatMessage(\n {\n id: 'learning.generic.upgradeNotification.code',\n defaultMessage: 'Use code {code} at checkout',\n description: 'Message to user with code for discounted course price',\n },\n {\n code: (<span className=\"font-weight-bold\">{offer.code}</span>),\n },\n )}\n </div>\n )}\n {callToActionButton}\n </ActionRow>\n )}\n >\n <div className=\"mx-n4\">\n {children}\n </div>\n </MarketingModal>\n );\n};\n\nBaseModal.defaultProps = {\n offer: null,\n};\n\nBaseModal.propTypes = {\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n variationKey: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n callToActionButton: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default BaseModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BaseModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_certificatePreview","_jsxRuntime","e","__esModule","default","BaseModal","_ref","isOpen","close","courseId","offer","callToActionButton","children","intl","useIntl","title","formatMessage","id","defaultMessage","description","jsx","MarketingModal","onClose","isBlocking","size","heroIsDark","heroNode","ModalDialog","Hero","className","style","background","borderTopLeftRadius","borderTopRightRadius","Content","bgColor","footerNode","jsxs","ActionRow","isStacked","code","defaultProps","propTypes","PropTypes","shape","string","variationKey","isRequired","func","bool","node","_default","exports"],"sources":["../../src/upgrade-modal/BaseModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { ActionRow, MarketingModal, ModalDialog } from '@openedx/paragon';\nimport CertificatePreview from '../upgrade-notification/certificate-preview';\n\nconst BaseModal = ({\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n children,\n}) => {\n const intl = useIntl();\n const title = intl.formatMessage({\n id: 'learning.upgrade-modal.title',\n defaultMessage: 'Pursue a verified certificate',\n description: 'Upgrade modal title',\n });\n\n return (\n <MarketingModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isBlocking\n size=\"md\"\n heroIsDark\n heroNode={(\n <ModalDialog.Hero\n className=\"justify-content-center\"\n style={{\n background: 'linear-gradient(#001B1E, #0E3639)',\n borderTopLeftRadius: '6.8px',\n borderTopRightRadius: '6.8px',\n }}\n >\n <ModalDialog.Hero.Content className=\"m-0 text-primary-500\">\n <CertificatePreview {...{ courseId, bgColor: 'bg-light-100' }} />\n </ModalDialog.Hero.Content>\n </ModalDialog.Hero>\n )}\n footerNode={(\n <ActionRow isStacked className=\"mb-2\">\n {offer && (\n <div className=\"text-center\">\n {intl.formatMessage(\n {\n id: 'learning.generic.upgradeNotification.code',\n defaultMessage: 'Use code {code} at checkout',\n description: 'Message to user with code for discounted course price',\n },\n {\n code: (<span className=\"font-weight-bold\">{offer.code}</span>),\n },\n )}\n </div>\n )}\n {callToActionButton}\n </ActionRow>\n )}\n >\n <div className=\"mx-n4\">\n {children}\n </div>\n </MarketingModal>\n );\n};\n\nBaseModal.defaultProps = {\n offer: null,\n};\n\nBaseModal.propTypes = {\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n // eslint-disable-next-line react/no-unused-prop-types\n variationKey: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n callToActionButton: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default BaseModal;\n"],"mappings":"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","ignoreList":[]}
@@ -13,12 +13,12 @@ var _upgradeButton = require("@src/generic/upgrade-button");
13
13
  var _generic = require("../generic");
14
14
  var _BaseModal = _interopRequireDefault(require("./BaseModal"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
22
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
23
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint import/no-unresolved: 0 */
24
24
  const DefaultUpgradeModal = _ref => {
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_paragon","_upgradeButton","_generic","_BaseModal","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DefaultUpgradeModal","_ref","isOpen","close","verifiedMode","org","courseId","offer","marketingUrl","accessExpiration","datesBannerInfo","learningAssistantEnabled","upsellPageName","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","logClickPastExpiration","intl","useIntl","dateNow","Date","now","upgradeDeadlineDate","upgradeDeadline","pastDeadline","isFBE","contentTypeGatingEnabled","callToActionButton","jsx","UpgradeButton","onClick","block","Button","className","href","children","formatMessage","id","defaultMessage","description","UpsellTable","defaultProps","propTypes","PropTypes","shape","price","number","isRequired","currencySymbol","string","upgradeUrl","code","bool","func","_default","exports"],"sources":["../../src/upgrade-modal/DefaultUpgradeModal.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { UpsellTable } from '../generic';\nimport BaseModal from './BaseModal';\n\nconst DefaultUpgradeModal = ({\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n datesBannerInfo,\n learningAssistantEnabled,\n}) => {\n const upsellPageName = 'course_sequence_modal';\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n const promotionEventProperties = {\n creative: 'marketmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'marketing-modal-message',\n promotion_id: 'courseware_verified_certificate_upsell',\n ...eventProperties,\n };\n\n useEffect(() => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const logClick = () => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'marketing-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', {\n ...eventProperties,\n linkCategory: 'upgrade_modal',\n linkName: `${upsellPageName}_course_details`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const intl = useIntl();\n const dateNow = Date.now();\n const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n\n let callToActionButton = (\n <UpgradeButton\n offer={offer}\n onClick={logClick}\n verifiedMode={verifiedMode}\n block\n />\n );\n\n if (pastDeadline) {\n callToActionButton = (\n <Button\n className=\"w-100\"\n onClick={logClickPastExpiration}\n href={marketingUrl}\n >\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.upgrade-button.label',\n defaultMessage: 'View course details',\n description: 'Label for upgrade button',\n },\n )}\n </Button>\n );\n }\n\n return (\n <BaseModal\n {...{\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n }}\n >\n <UpsellTable {...{ isFBE, learningAssistantEnabled }} />\n </BaseModal>\n );\n};\n\nDefaultUpgradeModal.defaultProps = {\n verifiedMode: {},\n offer: null,\n accessExpiration: null,\n datesBannerInfo: null,\n};\nDefaultUpgradeModal.propTypes = {\n verifiedMode: PropTypes.shape({\n price: PropTypes.number.isRequired,\n currencySymbol: PropTypes.string.isRequired,\n upgradeUrl: PropTypes.string.isRequired,\n }),\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n accessExpiration: PropTypes.shape({\n upgradeDeadline: PropTypes.string,\n }),\n datesBannerInfo: PropTypes.shape({\n contentTypeGatingEnabled: PropTypes.bool,\n }),\n marketingUrl: PropTypes.string.isRequired,\n org: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n learningAssistantEnabled: PropTypes.bool.isRequired,\n};\n\nexport default DefaultUpgradeModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DefaultUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_paragon","_upgradeButton","_generic","_BaseModal","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DefaultUpgradeModal","_ref","isOpen","close","verifiedMode","org","courseId","offer","marketingUrl","accessExpiration","datesBannerInfo","learningAssistantEnabled","upsellPageName","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","logClickPastExpiration","intl","useIntl","dateNow","Date","now","upgradeDeadlineDate","upgradeDeadline","pastDeadline","isFBE","contentTypeGatingEnabled","callToActionButton","jsx","UpgradeButton","onClick","block","Button","className","href","children","formatMessage","id","defaultMessage","description","UpsellTable","defaultProps","propTypes","PropTypes","shape","price","number","isRequired","currencySymbol","string","upgradeUrl","code","bool","func","_default","exports"],"sources":["../../src/upgrade-modal/DefaultUpgradeModal.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { UpsellTable } from '../generic';\nimport BaseModal from './BaseModal';\n\nconst DefaultUpgradeModal = ({\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n datesBannerInfo,\n learningAssistantEnabled,\n}) => {\n const upsellPageName = 'course_sequence_modal';\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n const promotionEventProperties = {\n creative: 'marketmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'marketing-modal-message',\n promotion_id: 'courseware_verified_certificate_upsell',\n ...eventProperties,\n };\n\n useEffect(() => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const logClick = () => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'marketing-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', {\n ...eventProperties,\n linkCategory: 'upgrade_modal',\n linkName: `${upsellPageName}_course_details`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const intl = useIntl();\n const dateNow = Date.now();\n const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n\n let callToActionButton = (\n <UpgradeButton\n offer={offer}\n onClick={logClick}\n verifiedMode={verifiedMode}\n block\n />\n );\n\n if (pastDeadline) {\n callToActionButton = (\n <Button\n className=\"w-100\"\n onClick={logClickPastExpiration}\n href={marketingUrl}\n >\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.upgrade-button.label',\n defaultMessage: 'View course details',\n description: 'Label for upgrade button',\n },\n )}\n </Button>\n );\n }\n\n return (\n <BaseModal\n {...{\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n }}\n >\n <UpsellTable {...{ isFBE, learningAssistantEnabled }} />\n </BaseModal>\n );\n};\n\nDefaultUpgradeModal.defaultProps = {\n verifiedMode: {},\n offer: null,\n accessExpiration: null,\n datesBannerInfo: null,\n};\nDefaultUpgradeModal.propTypes = {\n verifiedMode: PropTypes.shape({\n price: PropTypes.number.isRequired,\n currencySymbol: PropTypes.string.isRequired,\n upgradeUrl: PropTypes.string.isRequired,\n }),\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n accessExpiration: PropTypes.shape({\n upgradeDeadline: PropTypes.string,\n }),\n datesBannerInfo: PropTypes.shape({\n contentTypeGatingEnabled: PropTypes.bool,\n }),\n marketingUrl: PropTypes.string.isRequired,\n org: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n learningAssistantEnabled: PropTypes.bool.isRequired,\n};\n\nexport default DefaultUpgradeModal;\n"],"mappings":"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","ignoreList":[]}
@@ -15,12 +15,12 @@ var _utils = _interopRequireDefault(require("../optimizely/utils"));
15
15
  var _data = require("../data");
16
16
  var _BaseModal = _interopRequireDefault(require("./BaseModal"));
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
24
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
25
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* All of this code includes the necessary functions to run and track an A/B experiment
26
26
  using Optimizely. Please fully read through the code to know where changes