@edx/frontend-plugin-advertisements 1.26.8 → 1.27.1

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 (41) hide show
  1. package/dist/data/index.js +6 -0
  2. package/dist/data/index.js.map +1 -1
  3. package/dist/data/optimizely.js +10 -1
  4. package/dist/data/optimizely.js.map +1 -1
  5. package/dist/upgrade-modal/UpgradeModal.js +1 -1
  6. package/dist/upgrade-modal/UpgradeModal.js.map +1 -1
  7. package/dist/upgrade-notification/DefaultUpgradeNotification.js +33 -288
  8. package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
  9. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +81 -303
  10. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
  11. package/dist/upgrade-notification/UpgradeNotification.js +1 -1
  12. package/dist/upgrade-notification/UpgradeNotification.js.map +1 -1
  13. package/dist/upgrade-notification/generic/AccessExpirationDateBanner.js +57 -0
  14. package/dist/upgrade-notification/generic/AccessExpirationDateBanner.js.map +1 -0
  15. package/dist/upgrade-notification/generic/ExpirationCountdown.js +102 -0
  16. package/dist/upgrade-notification/generic/ExpirationCountdown.js.map +1 -0
  17. package/dist/upgrade-notification/generic/PastExpirationCardContent.js +25 -0
  18. package/dist/upgrade-notification/generic/PastExpirationCardContent.js.map +1 -0
  19. package/dist/upgrade-notification/generic/PastExpirationDateBanner.js +57 -0
  20. package/dist/upgrade-notification/generic/PastExpirationDateBanner.js.map +1 -0
  21. package/dist/upgrade-notification/generic/UpsellFBESoonCardContent.js +81 -0
  22. package/dist/upgrade-notification/generic/UpsellFBESoonCardContent.js.map +1 -0
  23. package/dist/upgrade-notification/generic/UpsellFarAwayCardContent.js +30 -0
  24. package/dist/upgrade-notification/generic/UpsellFarAwayCardContent.js.map +1 -0
  25. package/dist/upgrade-notification/generic/index.js +49 -0
  26. package/dist/upgrade-notification/generic/index.js.map +1 -0
  27. package/dist/upgrade-notification/messages.js +51 -0
  28. package/dist/upgrade-notification/messages.js.map +1 -0
  29. package/dist/upsell-bullets/ExperimentalUpsellBullets.js +75 -31
  30. package/dist/upsell-bullets/ExperimentalUpsellBullets.js.map +1 -1
  31. package/dist/upsell-bullets/ExperimentalUpsellTable.js +157 -0
  32. package/dist/upsell-bullets/ExperimentalUpsellTable.js.map +1 -0
  33. package/dist/upsell-bullets/ExperimentalUpsellTable.scss +61 -0
  34. package/dist/upsell-bullets/UpsellBullets.js +61 -52
  35. package/dist/upsell-bullets/UpsellBullets.js.map +1 -1
  36. package/dist/upsell-bullets/UpsellBullets.scss +0 -5
  37. package/dist/upsell-bullets/index.js +0 -19
  38. package/dist/upsell-bullets/index.js.map +1 -1
  39. package/dist/upsell-bullets/messages.js +66 -0
  40. package/dist/upsell-bullets/messages.js.map +1 -0
  41. package/package.json +1 -6
@@ -0,0 +1,30 @@
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 _upsellBullets = require("../../upsell-bullets");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const UpsellFarAwayCardContent = _ref => {
12
+ let {
13
+ isFBE
14
+ } = _ref;
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
16
+ role: "list",
17
+ className: "pl-4 text-gray-700 pt-0 mb-4",
18
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_upsellBullets.VerifiedCertBullet, {}), isFBE && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
19
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_upsellBullets.UnlockGradedBullet, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_upsellBullets.FullAccessBullet, {})]
20
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_upsellBullets.SupportMissionBullet, {})]
21
+ });
22
+ };
23
+ UpsellFarAwayCardContent.defaultProps = {
24
+ isFBE: false
25
+ };
26
+ UpsellFarAwayCardContent.propTypes = {
27
+ isFBE: _propTypes.default.bool
28
+ };
29
+ var _default = exports.default = UpsellFarAwayCardContent;
30
+ //# sourceMappingURL=UpsellFarAwayCardContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpsellFarAwayCardContent.js","names":["_propTypes","_interopRequireDefault","require","_upsellBullets","_jsxRuntime","obj","__esModule","default","UpsellFarAwayCardContent","_ref","isFBE","jsxs","role","className","children","jsx","VerifiedCertBullet","Fragment","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","defaultProps","propTypes","PropTypes","bool","_default","exports"],"sources":["../../../src/upgrade-notification/generic/UpsellFarAwayCardContent.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '../../upsell-bullets';\n\nconst UpsellFarAwayCardContent = ({ isFBE }) => (\n <div role=\"list\" className=\"pl-4 text-gray-700 pt-0 mb-4\">\n <VerifiedCertBullet />\n {isFBE && (\n <>\n <UnlockGradedBullet />\n <FullAccessBullet />\n </>\n )}\n <SupportMissionBullet />\n </div>\n);\n\nUpsellFarAwayCardContent.defaultProps = {\n isFBE: false,\n};\n\nUpsellFarAwayCardContent.propTypes = {\n isFBE: PropTypes.bool,\n};\n\nexport default UpsellFarAwayCardContent;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAK8B,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9B,MAAMG,wBAAwB,GAAGC,IAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAAA,oBACzC,IAAAL,WAAA,CAAAO,IAAA;IAAKC,IAAI,EAAC,MAAM;IAACC,SAAS,EAAC,8BAA8B;IAAAC,QAAA,gBACvD,IAAAV,WAAA,CAAAW,GAAA,EAACZ,cAAA,CAAAa,kBAAkB,IAAE,CAAC,EACrBN,KAAK,iBACJ,IAAAN,WAAA,CAAAO,IAAA,EAAAP,WAAA,CAAAa,QAAA;MAAAH,QAAA,gBACE,IAAAV,WAAA,CAAAW,GAAA,EAACZ,cAAA,CAAAe,kBAAkB,IAAE,CAAC,eACtB,IAAAd,WAAA,CAAAW,GAAA,EAACZ,cAAA,CAAAgB,gBAAgB,IAAE,CAAC;IAAA,CACpB,CACH,eACD,IAAAf,WAAA,CAAAW,GAAA,EAACZ,cAAA,CAAAiB,oBAAoB,IAAE,CAAC;EAAA,CACrB,CAAC;AAAA,CACP;AAEDZ,wBAAwB,CAACa,YAAY,GAAG;EACtCX,KAAK,EAAE;AACT,CAAC;AAEDF,wBAAwB,CAACc,SAAS,GAAG;EACnCZ,KAAK,EAAEa,kBAAS,CAACC;AACnB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEaC,wBAAwB","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AccessExpirationDateBanner", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AccessExpirationDateBanner.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ExpirationCountdown", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ExpirationCountdown.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "PastExpirationCardContent", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _PastExpirationCardContent.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "PastExpirationDateBanner", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _PastExpirationDateBanner.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "UpsellFBESoonCardContent", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _UpsellFBESoonCardContent.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "UpsellFarAwayCardContent", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _UpsellFarAwayCardContent.default;
40
+ }
41
+ });
42
+ var _ExpirationCountdown = _interopRequireDefault(require("./ExpirationCountdown"));
43
+ var _AccessExpirationDateBanner = _interopRequireDefault(require("./AccessExpirationDateBanner"));
44
+ var _PastExpirationDateBanner = _interopRequireDefault(require("./PastExpirationDateBanner"));
45
+ var _PastExpirationCardContent = _interopRequireDefault(require("./PastExpirationCardContent"));
46
+ var _UpsellFarAwayCardContent = _interopRequireDefault(require("./UpsellFarAwayCardContent"));
47
+ var _UpsellFBESoonCardContent = _interopRequireDefault(require("./UpsellFBESoonCardContent"));
48
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_ExpirationCountdown","_interopRequireDefault","require","_AccessExpirationDateBanner","_PastExpirationDateBanner","_PastExpirationCardContent","_UpsellFarAwayCardContent","_UpsellFBESoonCardContent","obj","__esModule","default"],"sources":["../../../src/upgrade-notification/generic/index.jsx"],"sourcesContent":["import ExpirationCountdown from './ExpirationCountdown';\nimport AccessExpirationDateBanner from './AccessExpirationDateBanner';\nimport PastExpirationDateBanner from './PastExpirationDateBanner';\nimport PastExpirationCardContent from './PastExpirationCardContent';\nimport UpsellFarAwayCardContent from './UpsellFarAwayCardContent';\nimport UpsellFBESoonCardContent from './UpsellFBESoonCardContent';\n\nexport {\n ExpirationCountdown,\n AccessExpirationDateBanner,\n PastExpirationDateBanner,\n PastExpirationCardContent,\n UpsellFarAwayCardContent,\n UpsellFBESoonCardContent,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,2BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,yBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,0BAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,yBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
@@ -0,0 +1,51 @@
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
+ pursueCertificateMessage: {
10
+ id: 'advertisements.header.pursue-certificate',
11
+ defaultMessage: 'Pursue a verified certificate',
12
+ description: 'Text used as header for certificate advertisement'
13
+ },
14
+ closeAlt: {
15
+ id: 'advertisements.close',
16
+ defaultMessage: 'Close',
17
+ description: 'Alternative text for close icon'
18
+ },
19
+ firstTimeLearnerDiscountHeader: {
20
+ id: 'learning.generic.upgradeNotification.firstTimeLearnerDiscount',
21
+ defaultMessage: '{percentage}% First-Time Learner Discount',
22
+ description: 'Header for first time leaner discount'
23
+ },
24
+ accessExpirationHeader: {
25
+ id: 'learning.generic.upgradeNotification.accessExpiration',
26
+ defaultMessage: 'Upgrade your course today',
27
+ description: 'Header for access expiration countdown'
28
+ },
29
+ accessExpirationUrgentHeader: {
30
+ id: 'learning.generic.upgradeNotification.accessExpirationUrgent',
31
+ defaultMessage: 'Course Access Expiration',
32
+ description: 'Header for access expiration countdown banner'
33
+ },
34
+ accessExpirationPastHeader: {
35
+ id: 'learning.generic.upgradeNotification.accessExpirationPast',
36
+ defaultMessage: 'Course Access Expiration',
37
+ description: 'Header for past expiration countdown banner'
38
+ },
39
+ pastExpirationCallToActionLabel: {
40
+ id: 'learning.generic.upgradeNotification.past-expiration.call-to-action-button.label',
41
+ defaultMessage: 'View course details',
42
+ description: 'Button label to navigate to course details for expired upgrades'
43
+ },
44
+ discountCodeMessage: {
45
+ id: 'learning.generic.upgradeNotification.code',
46
+ defaultMessage: 'Use code {code} at checkout',
47
+ description: 'Message that provides user with a code to use at checkout'
48
+ }
49
+ });
50
+ var _default = exports.default = messages;
51
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","pursueCertificateMessage","id","defaultMessage","description","closeAlt","firstTimeLearnerDiscountHeader","accessExpirationHeader","accessExpirationUrgentHeader","accessExpirationPastHeader","pastExpirationCallToActionLabel","discountCodeMessage","_default","exports","default"],"sources":["../../src/upgrade-notification/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n pursueCertificateMessage: {\n id: 'advertisements.header.pursue-certificate',\n defaultMessage: 'Pursue a verified certificate',\n description: 'Text used as header for certificate advertisement',\n },\n closeAlt: {\n id: 'advertisements.close',\n defaultMessage: 'Close',\n description: 'Alternative text for close icon',\n },\n firstTimeLearnerDiscountHeader: {\n id: 'learning.generic.upgradeNotification.firstTimeLearnerDiscount',\n defaultMessage: '{percentage}% First-Time Learner Discount',\n description: 'Header for first time leaner discount',\n },\n accessExpirationHeader: {\n id: 'learning.generic.upgradeNotification.accessExpiration',\n defaultMessage: 'Upgrade your course today',\n description: 'Header for access expiration countdown',\n },\n accessExpirationUrgentHeader: {\n id: 'learning.generic.upgradeNotification.accessExpirationUrgent',\n defaultMessage: 'Course Access Expiration',\n description: 'Header for access expiration countdown banner',\n },\n accessExpirationPastHeader: {\n id: 'learning.generic.upgradeNotification.accessExpirationPast',\n defaultMessage: 'Course Access Expiration',\n description: 'Header for past expiration countdown banner',\n },\n pastExpirationCallToActionLabel: {\n id: 'learning.generic.upgradeNotification.past-expiration.call-to-action-button.label',\n defaultMessage: 'View course details',\n description: 'Button label to navigate to course details for expired upgrades',\n },\n discountCodeMessage: {\n id: 'learning.generic.upgradeNotification.code',\n defaultMessage: 'Use code {code} at checkout',\n description: 'Message that provides user with a code to use at checkout',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,wBAAwB,EAAE;IACxBC,EAAE,EAAE,0CAA0C;IAC9CC,cAAc,EAAE,+BAA+B;IAC/CC,WAAW,EAAE;EACf,CAAC;EACDC,QAAQ,EAAE;IACRH,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,OAAO;IACvBC,WAAW,EAAE;EACf,CAAC;EACDE,8BAA8B,EAAE;IAC9BJ,EAAE,EAAE,+DAA+D;IACnEC,cAAc,EAAE,2CAA2C;IAC3DC,WAAW,EAAE;EACf,CAAC;EACDG,sBAAsB,EAAE;IACtBL,EAAE,EAAE,uDAAuD;IAC3DC,cAAc,EAAE,2BAA2B;IAC3CC,WAAW,EAAE;EACf,CAAC;EACDI,4BAA4B,EAAE;IAC5BN,EAAE,EAAE,6DAA6D;IACjEC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDK,0BAA0B,EAAE;IAC1BP,EAAE,EAAE,2DAA2D;IAC/DC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDM,+BAA+B,EAAE;IAC/BR,EAAE,EAAE,kFAAkF;IACtFC,cAAc,EAAE,qBAAqB;IACrCC,WAAW,EAAE;EACf,CAAC;EACDO,mBAAmB,EAAE;IACnBT,EAAE,EAAE,2CAA2C;IAC/CC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYf,QAAQ","ignoreList":[]}
@@ -3,37 +3,81 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LifetimeAccessBullet = exports.GradesAndFeedbackBullet = exports.AdditionalToolsBullet = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _faCheck = require("@fortawesome/free-solid-svg-icons/faCheck");
9
- var _reactFontawesome = require("@fortawesome/react-fontawesome");
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 _frontendPlatform = require("@edx/frontend-platform");
12
+ var _messages = _interopRequireDefault(require("./messages"));
10
13
  var _jsxRuntime = require("react/jsx-runtime");
11
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- const CheckmarkBullet = () => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
13
- className: "fa-li",
14
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
15
- icon: _faCheck.faCheck
16
- })
17
- });
18
-
19
- // Must be child of a <ul className="fa-ul">
20
- const LifetimeAccessBullet = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
21
- className: "upsell-bullet",
22
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CheckmarkBullet, {}), "Lifetime access to course materials"]
23
- });
24
-
25
- // Must be child of a <ul className="fa-ul">
26
- exports.LifetimeAccessBullet = LifetimeAccessBullet;
27
- const GradesAndFeedbackBullet = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
28
- className: "upsell-bullet",
29
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CheckmarkBullet, {}), "Graded assignments and instructor feedback"]
30
- });
31
-
32
- // Must be child of a <ul className="fa-ul">
33
- exports.GradesAndFeedbackBullet = GradesAndFeedbackBullet;
34
- const AdditionalToolsBullet = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
35
- className: "upsell-bullet",
36
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CheckmarkBullet, {}), "Additional learning tools such as the AI-Powered Xpert Learning Assistant"]
37
- });
38
- exports.AdditionalToolsBullet = AdditionalToolsBullet;
15
+ const ExperimentalUpsellBullets = _ref => {
16
+ let {
17
+ isFBE
18
+ } = _ref;
19
+ const intl = (0, _i18n.useIntl)();
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
21
+ role: "list",
22
+ gap: 3,
23
+ className: "m-4",
24
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
25
+ direction: "horizontal",
26
+ role: "listitem",
27
+ gap: 2,
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
29
+ src: _icons.ArrowForward,
30
+ size: "xs",
31
+ className: "text-brand-500"
32
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
33
+ children: intl.formatMessage(_messages.default.access)
34
+ })]
35
+ }), isFBE && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
36
+ direction: "horizontal",
37
+ role: "listitem",
38
+ gap: 2,
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
40
+ src: _icons.ArrowForward,
41
+ size: "xs",
42
+ className: "text-brand-500"
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
44
+ children: intl.formatMessage(_messages.default.grades)
45
+ })]
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
47
+ direction: "horizontal",
48
+ role: "listitem",
49
+ gap: 2,
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
51
+ src: _icons.ArrowForward,
52
+ size: "xs",
53
+ className: "text-brand-500"
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
55
+ children: intl.formatMessage(_messages.default.certificate, {
56
+ certificateLink: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
57
+ destination: `${(0, _frontendPlatform.getConfig)().MARKETING_BASE_URL}/verified-certificate`,
58
+ children: intl.formatMessage(_messages.default.certificateLinkText)
59
+ })
60
+ })
61
+ })]
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
63
+ direction: "horizontal",
64
+ role: "listitem",
65
+ gap: 2,
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
67
+ src: _icons.ArrowForward,
68
+ size: "xs",
69
+ className: "text-brand-500"
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
71
+ children: intl.formatMessage(_messages.default.learningAssistant)
72
+ })]
73
+ })]
74
+ });
75
+ };
76
+ ExperimentalUpsellBullets.defaultProps = {
77
+ isFBE: false
78
+ };
79
+ ExperimentalUpsellBullets.propTypes = {
80
+ isFBE: _propTypes.default.bool
81
+ };
82
+ var _default = exports.default = ExperimentalUpsellBullets;
39
83
  //# sourceMappingURL=ExperimentalUpsellBullets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExperimentalUpsellBullets.js","names":["_react","_interopRequireDefault","require","_faCheck","_reactFontawesome","_jsxRuntime","obj","__esModule","default","CheckmarkBullet","jsx","className","children","FontAwesomeIcon","icon","faCheck","LifetimeAccessBullet","jsxs","exports","GradesAndFeedbackBullet","AdditionalToolsBullet"],"sources":["../../src/upsell-bullets/ExperimentalUpsellBullets.jsx"],"sourcesContent":["import React from 'react';\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst CheckmarkBullet = () => (\n <span className=\"fa-li\"><FontAwesomeIcon icon={faCheck} /></span>\n);\n\n// Must be child of a <ul className=\"fa-ul\">\nexport const LifetimeAccessBullet = () => (\n <li className=\"upsell-bullet\">\n <CheckmarkBullet />\n Lifetime access to course materials\n </li>\n);\n\n// Must be child of a <ul className=\"fa-ul\">\nexport const GradesAndFeedbackBullet = () => (\n <li className=\"upsell-bullet\">\n <CheckmarkBullet />\n Graded assignments and instructor feedback\n </li>\n);\n\n// Must be child of a <ul className=\"fa-ul\">\nexport const AdditionalToolsBullet = () => (\n <li className=\"upsell-bullet\">\n <CheckmarkBullet />\n Additional learning tools such as the AI-Powered Xpert Learning Assistant\n </li>\n);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,QAAA,GAAAD,OAAA;AAE1B,IAAAE,iBAAA,GAAAF,OAAA;AAAiE,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEjE,MAAMG,eAAe,GAAGA,CAAA,kBACtB,IAAAJ,WAAA,CAAAK,GAAA;EAAMC,SAAS,EAAC,OAAO;EAAAC,QAAA,eAAC,IAAAP,WAAA,CAAAK,GAAA,EAACN,iBAAA,CAAAS,eAAe;IAACC,IAAI,EAAEC;EAAQ,CAAE;AAAC,CAAM,CACjE;;AAED;AACO,MAAMC,oBAAoB,GAAGA,CAAA,kBAClC,IAAAX,WAAA,CAAAY,IAAA;EAAIN,SAAS,EAAC,eAAe;EAAAC,QAAA,gBAC3B,IAAAP,WAAA,CAAAK,GAAA,EAACD,eAAe,IAAE,CAAC,uCAErB;AAAA,CAAI,CACL;;AAED;AAAAS,OAAA,CAAAF,oBAAA,GAAAA,oBAAA;AACO,MAAMG,uBAAuB,GAAGA,CAAA,kBACrC,IAAAd,WAAA,CAAAY,IAAA;EAAIN,SAAS,EAAC,eAAe;EAAAC,QAAA,gBAC3B,IAAAP,WAAA,CAAAK,GAAA,EAACD,eAAe,IAAE,CAAC,8CAErB;AAAA,CAAI,CACL;;AAED;AAAAS,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AACO,MAAMC,qBAAqB,GAAGA,CAAA,kBACnC,IAAAf,WAAA,CAAAY,IAAA;EAAIN,SAAS,EAAC,eAAe;EAAAC,QAAA,gBAC3B,IAAAP,WAAA,CAAAK,GAAA,EAACD,eAAe,IAAE,CAAC,6EAErB;AAAA,CAAI,CACL;AAACS,OAAA,CAAAE,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"file":"ExperimentalUpsellBullets.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_frontendPlatform","_messages","_jsxRuntime","obj","__esModule","default","ExperimentalUpsellBullets","_ref","isFBE","intl","useIntl","jsxs","Stack","role","gap","className","children","direction","jsx","Icon","src","ArrowForward","size","formatMessage","messages","access","grades","certificate","certificateLink","Hyperlink","destination","getConfig","MARKETING_BASE_URL","certificateLinkText","learningAssistant","defaultProps","propTypes","PropTypes","bool","_default","exports"],"sources":["../../src/upsell-bullets/ExperimentalUpsellBullets.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Hyperlink, Icon, Stack } from '@openedx/paragon';\nimport { ArrowForward } from '@openedx/paragon/icons';\nimport { getConfig } from '@edx/frontend-platform';\n\nimport messages from './messages';\n\nconst ExperimentalUpsellBullets = ({ isFBE }) => {\n const intl = useIntl();\n return (\n <Stack role=\"list\" gap={3} className=\"m-4\">\n <Stack direction=\"horizontal\" role=\"listitem\" gap={2}>\n <Icon src={ArrowForward} size=\"xs\" className=\"text-brand-500\" />\n <span>\n {intl.formatMessage(messages.access)}\n </span>\n </Stack>\n {isFBE && (\n <Stack direction=\"horizontal\" role=\"listitem\" gap={2}>\n <Icon src={ArrowForward} size=\"xs\" className=\"text-brand-500\" />\n <span>\n {intl.formatMessage(messages.grades)}\n </span>\n </Stack>\n )}\n <Stack direction=\"horizontal\" role=\"listitem\" gap={2}>\n <Icon src={ArrowForward} size=\"xs\" className=\"text-brand-500\" />\n <span>\n {intl.formatMessage(\n messages.certificate,\n {\n certificateLink: (\n <Hyperlink destination={`${getConfig().MARKETING_BASE_URL}/verified-certificate`}>\n {intl.formatMessage(messages.certificateLinkText)}\n </Hyperlink>\n ),\n },\n )}\n </span>\n </Stack>\n <Stack direction=\"horizontal\" role=\"listitem\" gap={2}>\n <Icon src={ArrowForward} size=\"xs\" className=\"text-brand-500\" />\n <span>\n {intl.formatMessage(messages.learningAssistant)}\n </span>\n </Stack>\n </Stack>\n );\n};\n\nExperimentalUpsellBullets.defaultProps = {\n isFBE: false,\n};\n\nExperimentalUpsellBullets.propTypes = {\n isFBE: PropTypes.bool,\n};\n\nexport default ExperimentalUpsellBullets;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,157 @@
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 _frontendPlatform = require("@edx/frontend-platform");
12
+ require("./ExperimentalUpsellTable.scss");
13
+ var _messages = _interopRequireDefault(require("./messages"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ const ExperimentalUpsellTable = _ref => {
17
+ let {
18
+ isFBE
19
+ } = _ref;
20
+ const intl = (0, _i18n.useIntl)();
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Col, {
22
+ className: "px-4 pb-4 small",
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
24
+ className: "mb-4 primary-500",
25
+ children: intl.formatMessage(_messages.default.tableSectionHeader)
26
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
27
+ className: "m-0 text-center",
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
30
+ className: "sr-only",
31
+ children: intl.formatMessage(_messages.default.featureHeader)
32
+ })
33
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
34
+ className: "audit-cell top-audit-border col-2 ",
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
36
+ className: "center-items",
37
+ children: intl.formatMessage(_messages.default.auditHeader)
38
+ })
39
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
40
+ className: "verified-cell top-verified-border font-weight-bold col-2",
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
42
+ className: "center-items",
43
+ children: intl.formatMessage(_messages.default.verifiedHeader)
44
+ })
45
+ })]
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
47
+ className: "m-0",
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
49
+ className: "feature-cell",
50
+ children: intl.formatMessage(_messages.default.certificate, {
51
+ certificateLink: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
52
+ destination: `${(0, _frontendPlatform.getConfig)().MARKETING_SITE_BASE_URL}/verified-certificate`,
53
+ children: intl.formatMessage(_messages.default.certificateLinkText)
54
+ })
55
+ })
56
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
57
+ className: "audit-cell col-2",
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
+ className: "center-items",
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
61
+ src: _icons.CloseSmall,
62
+ alt: intl.formatMessage(_messages.default.notIncludedAltMessage)
63
+ })
64
+ })
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
66
+ className: "verified-cell col-2",
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
+ className: "center-items",
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
70
+ src: _icons.CheckCircle,
71
+ alt: intl.formatMessage(_messages.default.includedAltMessage)
72
+ })
73
+ })
74
+ })]
75
+ }), isFBE && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
76
+ className: "m-0",
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
78
+ className: "feature-cell",
79
+ children: intl.formatMessage(_messages.default.grades)
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
81
+ className: "audit-cell col-2",
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
+ className: "center-items",
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
85
+ src: _icons.CloseSmall,
86
+ alt: intl.formatMessage(_messages.default.notIncludedAltMessage)
87
+ })
88
+ })
89
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
90
+ className: "verified-cell col-2",
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
92
+ className: "center-items",
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
94
+ src: _icons.CheckCircle,
95
+ alt: intl.formatMessage(_messages.default.includedAltMessage)
96
+ })
97
+ })
98
+ })]
99
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
100
+ className: "m-0",
101
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
102
+ className: "feature-cell",
103
+ children: intl.formatMessage(_messages.default.access)
104
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
105
+ className: "audit-cell col-2",
106
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
107
+ className: "center-items",
108
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
109
+ src: _icons.CloseSmall,
110
+ alt: intl.formatMessage(_messages.default.notIncludedAltMessage)
111
+ })
112
+ })
113
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
114
+ className: "verified-cell col-2",
115
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
116
+ className: "center-items",
117
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
118
+ src: _icons.CheckCircle,
119
+ alt: intl.formatMessage(_messages.default.includedAltMessage)
120
+ })
121
+ })
122
+ })]
123
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Row, {
124
+ className: "m-0",
125
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
126
+ className: "bottom-feature-cell",
127
+ children: intl.formatMessage(_messages.default.learningAssistant)
128
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
129
+ className: "audit-cell bottom-audit-border col-2",
130
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
+ className: "center-items",
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
133
+ src: _icons.CloseSmall,
134
+ alt: intl.formatMessage(_messages.default.notIncludedAltMessage)
135
+ })
136
+ })
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Col, {
138
+ className: "verified-cell bottom-verified-border col-2",
139
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
140
+ className: "center-items",
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
142
+ src: _icons.CheckCircle,
143
+ alt: intl.formatMessage(_messages.default.includedAltMessage)
144
+ })
145
+ })
146
+ })]
147
+ })]
148
+ });
149
+ };
150
+ ExperimentalUpsellTable.defaultProps = {
151
+ isFBE: false
152
+ };
153
+ ExperimentalUpsellTable.propTypes = {
154
+ isFBE: _propTypes.default.bool
155
+ };
156
+ var _default = exports.default = ExperimentalUpsellTable;
157
+ //# sourceMappingURL=ExperimentalUpsellTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperimentalUpsellTable.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_frontendPlatform","_messages","_jsxRuntime","obj","__esModule","default","ExperimentalUpsellTable","_ref","isFBE","intl","useIntl","jsxs","Col","className","children","jsx","formatMessage","messages","tableSectionHeader","Row","featureHeader","auditHeader","verifiedHeader","certificate","certificateLink","Hyperlink","destination","getConfig","MARKETING_SITE_BASE_URL","certificateLinkText","Icon","src","CloseSmall","alt","notIncludedAltMessage","CheckCircle","includedAltMessage","grades","access","learningAssistant","defaultProps","propTypes","PropTypes","bool","_default","exports"],"sources":["../../src/upsell-bullets/ExperimentalUpsellTable.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Col,\n Hyperlink,\n Icon,\n Row,\n} from '@openedx/paragon';\nimport { CheckCircle, CloseSmall } from '@openedx/paragon/icons';\nimport { getConfig } from '@edx/frontend-platform';\n\nimport './ExperimentalUpsellTable.scss';\nimport messages from './messages';\n\nconst ExperimentalUpsellTable = ({ isFBE }) => {\n const intl = useIntl();\n return (\n <Col className=\"px-4 pb-4 small\">\n <h3 className=\"mb-4 primary-500\">\n {intl.formatMessage(messages.tableSectionHeader)}\n </h3>\n <Row className=\"m-0 text-center\">\n <Col>\n <span className=\"sr-only\">\n {intl.formatMessage(messages.featureHeader)}\n </span>\n </Col>\n <Col className=\"audit-cell top-audit-border col-2 \">\n <div className=\"center-items\">\n {intl.formatMessage(messages.auditHeader)}\n </div>\n </Col>\n <Col className=\"verified-cell top-verified-border font-weight-bold col-2\">\n <div className=\"center-items\">\n {intl.formatMessage(messages.verifiedHeader)}\n </div>\n </Col>\n </Row>\n <Row className=\"m-0\">\n <Col className=\"feature-cell\">\n {intl.formatMessage(\n messages.certificate,\n {\n certificateLink: (\n <Hyperlink destination={`${getConfig().MARKETING_SITE_BASE_URL}/verified-certificate`}>\n {intl.formatMessage(messages.certificateLinkText)}\n </Hyperlink>\n ),\n },\n )}\n </Col>\n <Col className=\"audit-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </div>\n </Col>\n <Col className=\"verified-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\n </div>\n </Col>\n </Row>\n {isFBE && (\n <Row className=\"m-0\">\n <Col className=\"feature-cell\">\n {intl.formatMessage(messages.grades)}\n </Col>\n <Col className=\"audit-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </div>\n </Col>\n <Col className=\"verified-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\n </div>\n </Col>\n </Row>\n )}\n <Row className=\"m-0\">\n <Col className=\"feature-cell\">\n {intl.formatMessage(messages.access)}\n </Col>\n <Col className=\"audit-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </div>\n </Col>\n <Col className=\"verified-cell col-2\">\n <div className=\"center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\n </div>\n </Col>\n </Row>\n <Row className=\"m-0\">\n <Col className=\"bottom-feature-cell\">\n {intl.formatMessage(messages.learningAssistant)}\n </Col>\n <Col className=\"audit-cell bottom-audit-border col-2\">\n <div className=\"center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </div>\n </Col>\n <Col className=\"verified-cell bottom-verified-border col-2\">\n <div className=\"center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\n </div>\n </Col>\n </Row>\n </Col>\n );\n};\n\nExperimentalUpsellTable.defaultProps = {\n isFBE: false,\n};\n\nExperimentalUpsellTable.propTypes = {\n isFBE: PropTypes.bool,\n};\n\nexport default ExperimentalUpsellTable;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ @import '~@openedx/paragon/scss/core/core.scss';
2
+ .verified-cell {
3
+ color: $success-700;
4
+ background-color: $success-100;
5
+ border-left: 3px solid $success-500;
6
+ border-right: 3px solid $success-500;
7
+ padding: 8px;
8
+ width: 74px;
9
+ }
10
+
11
+ .bottom-verified-border {
12
+ border-bottom-left-radius: 0.375rem;
13
+ border-bottom-right-radius: 0.375rem;
14
+ border-bottom: 3px solid $success-500;
15
+ padding-bottom: 16px;
16
+ }
17
+
18
+ .top-verified-border {
19
+ border-top-left-radius: 0.375rem;
20
+ border-top-right-radius: 0.375rem;
21
+ border-top: 3px solid $success-500;
22
+ }
23
+
24
+ .bottom-audit-border {
25
+ border-bottom-left-radius: 0.375rem;
26
+ border-bottom-right-radius: 0.375rem;
27
+ border-bottom: 1px solid $light-500;
28
+ padding-bottom: 16px;
29
+ }
30
+
31
+ .top-audit-border {
32
+ border-top-left-radius: 0.375rem;
33
+ border-top-right-radius: 0.375rem;
34
+ border-top: 1px solid $light-500;
35
+ }
36
+
37
+ .audit-cell {
38
+ color: $gray-500;
39
+ background-color: $light-200;
40
+ border-left: 1px solid $light-500;
41
+ border-right: 1px solid $light-500;
42
+ margin-right: 8px;
43
+ padding: 8px;
44
+ }
45
+
46
+ .feature-cell {
47
+ border-bottom: 1px solid $light-500;
48
+ color: $gray-700;
49
+ padding: 8px 8px 8px 0;
50
+ }
51
+
52
+ .bottom-feature-cell {
53
+ color: $gray-700;
54
+ padding: 8px 16px 8px 0;
55
+ }
56
+
57
+ .center-items {
58
+ display: flex;
59
+ align-items: top;
60
+ justify-content: center;
61
+ }