@edx/frontend-plugin-advertisements 1.28.0 → 1.29.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 (67) hide show
  1. package/dist/data/index.js +0 -6
  2. package/dist/data/index.js.map +1 -1
  3. package/dist/data/optimizely.js +1 -9
  4. package/dist/data/optimizely.js.map +1 -1
  5. package/dist/generic/AccessExpirationDateBanner.js.map +1 -0
  6. package/dist/generic/ExpirationCountdown.js.map +1 -0
  7. package/dist/generic/PastExpirationCardContent.js.map +1 -0
  8. package/dist/generic/PastExpirationDateBanner.js.map +1 -0
  9. package/dist/generic/UpsellFBESoonCardContent.js.map +1 -0
  10. package/dist/{upgrade-notification/generic → generic}/UpsellFarAwayCardContent.js +1 -1
  11. package/dist/generic/UpsellFarAwayCardContent.js.map +1 -0
  12. package/dist/generic/index.js.map +1 -0
  13. package/dist/generic/upsell-bullets/ExperimentalUpsellBullets.js.map +1 -0
  14. package/dist/generic/upsell-bullets/ExperimentalUpsellTable.js.map +1 -0
  15. package/dist/generic/upsell-bullets/UpsellBullets.js.map +1 -0
  16. package/dist/generic/upsell-bullets/index.js.map +1 -0
  17. package/dist/{upsell-bullets → generic/upsell-bullets}/messages.js +1 -1
  18. package/dist/generic/upsell-bullets/messages.js.map +1 -0
  19. package/dist/index.js +2 -17
  20. package/dist/index.js.map +1 -1
  21. package/dist/optimizely/utils.js +43 -0
  22. package/dist/optimizely/utils.js.map +1 -0
  23. package/dist/paywall/ExperimentalLockPaywall.js +1 -1
  24. package/dist/paywall/ExperimentalLockPaywall.js.map +1 -1
  25. package/dist/upgrade-modal/BaseModal.js +95 -0
  26. package/dist/upgrade-modal/BaseModal.js.map +1 -0
  27. package/dist/upgrade-modal/DefaultUpgradeModal.js +118 -27
  28. package/dist/upgrade-modal/DefaultUpgradeModal.js.map +1 -1
  29. package/dist/upgrade-modal/ExperimentalUpgradeModal.js +132 -72
  30. package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +1 -1
  31. package/dist/upgrade-modal/NextUnitButton.js +58 -10
  32. package/dist/upgrade-modal/NextUnitButton.js.map +1 -1
  33. package/dist/upgrade-modal/hooks.js +2 -2
  34. package/dist/upgrade-modal/hooks.js.map +1 -1
  35. package/dist/upgrade-modal/index.js +2 -9
  36. package/dist/upgrade-modal/index.js.map +1 -1
  37. package/dist/upgrade-notification/DefaultUpgradeNotification.js +1 -1
  38. package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
  39. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +5 -35
  40. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/upgrade-modal/UpgradeModal.js +0 -289
  43. package/dist/upgrade-modal/UpgradeModal.js.map +0 -1
  44. package/dist/upgrade-notification/generic/AccessExpirationDateBanner.js.map +0 -1
  45. package/dist/upgrade-notification/generic/ExpirationCountdown.js.map +0 -1
  46. package/dist/upgrade-notification/generic/PastExpirationCardContent.js.map +0 -1
  47. package/dist/upgrade-notification/generic/PastExpirationDateBanner.js.map +0 -1
  48. package/dist/upgrade-notification/generic/UpsellFBESoonCardContent.js.map +0 -1
  49. package/dist/upgrade-notification/generic/UpsellFarAwayCardContent.js.map +0 -1
  50. package/dist/upgrade-notification/generic/index.js.map +0 -1
  51. package/dist/upsell-bullets/ExperimentalUpsellBullets.js.map +0 -1
  52. package/dist/upsell-bullets/ExperimentalUpsellTable.js.map +0 -1
  53. package/dist/upsell-bullets/UpsellBullets.js.map +0 -1
  54. package/dist/upsell-bullets/index.js.map +0 -1
  55. package/dist/upsell-bullets/messages.js.map +0 -1
  56. /package/dist/{upgrade-notification/generic → generic}/AccessExpirationDateBanner.js +0 -0
  57. /package/dist/{upgrade-notification/generic → generic}/ExpirationCountdown.js +0 -0
  58. /package/dist/{upgrade-notification/generic → generic}/PastExpirationCardContent.js +0 -0
  59. /package/dist/{upgrade-notification/generic → generic}/PastExpirationDateBanner.js +0 -0
  60. /package/dist/{upgrade-notification/generic → generic}/UpsellFBESoonCardContent.js +0 -0
  61. /package/dist/{upgrade-notification/generic → generic}/index.js +0 -0
  62. /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellBullets.js +0 -0
  63. /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellTable.js +0 -0
  64. /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellTable.scss +0 -0
  65. /package/dist/{upsell-bullets → generic/upsell-bullets}/UpsellBullets.js +0 -0
  66. /package/dist/{upsell-bullets → generic/upsell-bullets}/UpsellBullets.scss +0 -0
  67. /package/dist/{upsell-bullets → generic/upsell-bullets}/index.js +0 -0
@@ -1,289 +0,0 @@
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 _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _reactSdk = require("@optimizely/react-sdk");
10
- var _frontendPlatform = require("@edx/frontend-platform");
11
- var _analytics = require("@edx/frontend-platform/analytics");
12
- var _i18n = require("@edx/frontend-platform/i18n");
13
- var _paragon = require("@openedx/paragon");
14
- var _icons = require("@openedx/paragon/icons");
15
- var _data = require("../data");
16
- var _certificatePreview = _interopRequireDefault(require("../upgrade-notification/certificate-preview"));
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
- 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; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
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); }
24
- const UpgradeModal = _ref => {
25
- let {
26
- isOpen,
27
- close,
28
- verifiedMode,
29
- org,
30
- courseId,
31
- offer,
32
- marketingUrl,
33
- accessExpiration,
34
- optimizely
35
- } = _ref;
36
- const [decision] = (0, _reactSdk.useDecision)(_data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.KEY);
37
- const {
38
- variationKey,
39
- enabled
40
- } = decision;
41
-
42
- // Experiment specific properties or data should not be sent to the tracking logs, so break this
43
- // object out to ensure it is only sent to Segment and not the tracking logs.
44
- const experimentProperties = {
45
- experiment_key: _data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.KEY,
46
- variation_key: variationKey
47
- };
48
- const upsellPageName = 'course_sequence_modal';
49
- const eventProperties = {
50
- org_key: org,
51
- courserun_key: courseId
52
- };
53
- const promotionEventProperties = _objectSpread(_objectSpread({
54
- creative: 'marketmodalupsell',
55
- name: 'In-Course Verification Prompt',
56
- position: 'marketing-modal-message',
57
- promotion_id: 'courseware_verified_certificate_upsell'
58
- }, eventProperties), experimentProperties);
59
- (0, _react.useEffect)(() => {
60
- if (variationKey === _data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.ON) {
61
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);
62
- (0, _analytics.sendTrackEvent)('Promotion Viewed', promotionEventProperties);
63
- } else if (variationKey === _data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.OFF) {
64
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.marketmodalupsell.not_displayed', eventProperties);
65
- }
66
- // eslint-disable-next-line react-hooks/exhaustive-deps
67
- }, [variationKey]);
68
- const logClick = () => {
69
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);
70
- (0, _analytics.sendTrackingLogEvent)('edx.course.enrollment.upgrade.clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
71
- location: 'marketing-modal-message'
72
- }));
73
- (0, _analytics.sendTrackEvent)('Promotion Clicked', promotionEventProperties);
74
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread(_objectSpread({}, eventProperties), experimentProperties), {}, {
75
- linkCategory: 'green_upgrade',
76
- linkName: `${upsellPageName}_green`,
77
- linkType: 'button',
78
- pageName: upsellPageName
79
- }));
80
- optimizely.track(_data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.ACTION);
81
- };
82
- const logClickPastExpiration = () => {
83
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', _objectSpread(_objectSpread(_objectSpread({}, eventProperties), experimentProperties), {}, {
84
- linkCategory: 'upgrade_modal',
85
- linkName: `${upsellPageName}_course_details`,
86
- linkType: 'button',
87
- pageName: upsellPageName
88
- }));
89
- };
90
- const intl = (0, _i18n.useIntl)();
91
- const dateNow = Date.now();
92
- const {
93
- currencySymbol,
94
- price,
95
- upgradeUrl
96
- } = verifiedMode || {};
97
- const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;
98
- const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;
99
- const modalTitle = intl.formatMessage({
100
- id: 'learning.upgrade-modal.title',
101
- defaultMessage: 'Pursue a verified certificate',
102
- description: 'Upgrade modal title'
103
- });
104
- let callToActionButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
105
- className: "w-100",
106
- onClick: logClick,
107
- href: upgradeUrl,
108
- children: intl.formatMessage({
109
- id: 'learning.upgrade-modal.upgrade-button.label',
110
- defaultMessage: 'Upgrade for {currencySymbol}{price}',
111
- description: 'Label for upgrade button'
112
- }, {
113
- currencySymbol,
114
- price
115
- })
116
- });
117
- if (pastDeadline) {
118
- callToActionButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
119
- className: "w-100",
120
- onClick: logClickPastExpiration,
121
- href: marketingUrl,
122
- children: intl.formatMessage({
123
- id: 'learning.upgrade-modal.upgrade-button.label',
124
- defaultMessage: 'View course details',
125
- description: 'Label for upgrade button'
126
- })
127
- });
128
- }
129
- if (variationKey === _data.OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.OFF) {
130
- close();
131
- }
132
- if (!enabled) {
133
- return null;
134
- }
135
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.MarketingModal, {
136
- title: modalTitle,
137
- isOpen: isOpen,
138
- onClose: close,
139
- isBlocking: true,
140
- size: "md",
141
- heroIsDark: true,
142
- heroNode: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ModalDialog.Hero, {
143
- className: "justify-content-center",
144
- style: {
145
- background: 'linear-gradient(#001B1E, #0E3639)',
146
- borderTopLeftRadius: '6.8px',
147
- borderTopRightRadius: '6.8px'
148
- },
149
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ModalDialog.Hero.Content, {
150
- className: "m-0 text-primary-500",
151
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_certificatePreview.default, {
152
- courseId,
153
- bgColor: 'bg-light-100'
154
- })
155
- })
156
- }),
157
- footerNode: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.ActionRow, {
158
- isStacked: true,
159
- className: "mb-2",
160
- children: [callToActionButton, offer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
- className: "text-center discount-info",
162
- children: intl.formatMessage({
163
- id: 'learning.generic.upgradeNotification.code',
164
- defaultMessage: 'Use code {code} at checkout',
165
- values: {
166
- code: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
167
- className: "font-weight-bold",
168
- children: offer.code
169
- })
170
- }
171
- })
172
- })]
173
- }),
174
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
175
- className: "h3 mb-3 mt-2.5",
176
- children: modalTitle
177
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
178
- role: "list",
179
- className: "pl-2 text-gray-700",
180
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
181
- gap: 3,
182
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
183
- role: "listitem",
184
- direction: "horizontal",
185
- gap: 3,
186
- className: "align-items-start",
187
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
188
- size: "md",
189
- src: _icons.Check
190
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
191
- children: intl.formatMessage({
192
- id: 'learning.upgrade-modal.body-list.first-item',
193
- defaultMessage: 'Earn a {linkedContent} of completion to showcase your résumé',
194
- description: 'Message for first list item'
195
- }, {
196
- linkedContent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
197
- className: "font-weight-bold text-primary-500 inline-link-underline",
198
- destination: `${(0, _frontendPlatform.getConfig)().MARKETING_SITE_BASE_URL}/verified-certificate`,
199
- children: "verified certificate"
200
- })
201
- })
202
- })]
203
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
204
- direction: "horizontal",
205
- gap: 3,
206
- role: "listitem",
207
- className: "align-items-start",
208
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
209
- size: "md",
210
- src: _icons.Check
211
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
212
- children: intl.formatMessage({
213
- id: 'learning.upgrade-modal.body-list.second-item',
214
- defaultMessage: 'Unlock your access to all course activities, including {boldContent}',
215
- description: 'Message for second list item'
216
- }, {
217
- boldContent: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
218
- className: "font-weight-bold",
219
- children: "graded assignments"
220
- })
221
- })
222
- })]
223
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
224
- direction: "horizontal",
225
- gap: 3,
226
- role: "listitem",
227
- className: "align-items-start",
228
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
229
- size: "md",
230
- src: _icons.Check
231
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
232
- children: intl.formatMessage({
233
- id: 'learning.upgrade-modal.body-list.third-item',
234
- defaultMessage: '{boldContent} to course content and materials, even after the course ends',
235
- description: 'Message for third list item'
236
- }, {
237
- boldContent: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
238
- className: "font-weight-bold",
239
- children: "Full access"
240
- })
241
- })
242
- })]
243
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
244
- direction: "horizontal",
245
- gap: 3,
246
- role: "listitem",
247
- className: "align-items-start",
248
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
249
- size: "md",
250
- src: _icons.Check
251
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
252
- children: intl.formatMessage({
253
- id: 'learning.upgrade-modal.body-list.fourth-item',
254
- defaultMessage: 'Support our mission at edX',
255
- description: 'Message for fourth list item'
256
- })
257
- })]
258
- })]
259
- })
260
- })]
261
- });
262
- };
263
- UpgradeModal.defaultProps = {
264
- verifiedMode: {},
265
- offer: null,
266
- accessExpiration: null
267
- };
268
- UpgradeModal.propTypes = {
269
- verifiedMode: _propTypes.default.shape({
270
- price: _propTypes.default.number.isRequired,
271
- currencySymbol: _propTypes.default.string.isRequired,
272
- upgradeUrl: _propTypes.default.string.isRequired
273
- }),
274
- offer: _propTypes.default.shape({
275
- code: _propTypes.default.string
276
- }),
277
- accessExpiration: _propTypes.default.shape({
278
- upgradeDeadline: _propTypes.default.string
279
- }),
280
- marketingUrl: _propTypes.default.string.isRequired,
281
- org: _propTypes.default.string.isRequired,
282
- courseId: _propTypes.default.string.isRequired,
283
- close: _propTypes.default.func.isRequired,
284
- isOpen: _propTypes.default.bool.isRequired,
285
- /* eslint-disable-next-line react/forbid-prop-types */
286
- optimizely: _propTypes.default.object.isRequired
287
- };
288
- var _default = exports.default = (0, _reactSdk.withOptimizely)(UpgradeModal);
289
- //# sourceMappingURL=UpgradeModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeModal.js","names":["_react","require","_propTypes","_interopRequireDefault","_reactSdk","_frontendPlatform","_analytics","_i18n","_paragon","_icons","_data","_certificatePreview","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","UpgradeModal","_ref","isOpen","close","verifiedMode","org","courseId","offer","marketingUrl","accessExpiration","optimizely","decision","useDecision","OPTIMIZELY_VTR_MODAL_EXPERIMENT","KEY","variationKey","enabled","experimentProperties","experiment_key","variation_key","upsellPageName","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","useEffect","VARIATIONS","ON","sendTrackingLogEvent","sendTrackEvent","OFF","logClick","location","linkCategory","linkName","linkType","pageName","track","ACTION","logClickPastExpiration","intl","useIntl","dateNow","Date","now","currencySymbol","price","upgradeUrl","upgradeDeadlineDate","upgradeDeadline","pastDeadline","modalTitle","formatMessage","id","defaultMessage","description","callToActionButton","jsx","Button","className","onClick","href","children","jsxs","MarketingModal","title","onClose","isBlocking","size","heroIsDark","heroNode","ModalDialog","Hero","style","background","borderTopLeftRadius","borderTopRightRadius","Content","bgColor","footerNode","ActionRow","isStacked","values","code","role","Stack","gap","direction","Icon","src","Check","linkedContent","Hyperlink","destination","getConfig","MARKETING_SITE_BASE_URL","boldContent","defaultProps","propTypes","PropTypes","shape","number","isRequired","string","func","bool","object","_default","exports","withOptimizely"],"sources":["../../src/upgrade-modal/UpgradeModal.jsx"],"sourcesContent":["import { useEffect, React } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\nimport { getConfig } from '@edx/frontend-platform';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n ActionRow, Button, Hyperlink, Icon, MarketingModal, ModalDialog, Stack,\n} from '@openedx/paragon';\nimport { Check } from '@openedx/paragon/icons';\nimport { OPTIMIZELY_VTR_MODAL_EXPERIMENT } from '../data';\nimport CertificatePreview from '../upgrade-notification/certificate-preview';\n\nconst UpgradeModal = ({\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n optimizely,\n}) => {\n const [decision] = useDecision(OPTIMIZELY_VTR_MODAL_EXPERIMENT.KEY);\n const { variationKey, enabled } = decision;\n\n // Experiment specific properties or data should not be sent to the tracking logs, so break this\n // object out to ensure it is only sent to Segment and not the tracking logs.\n const experimentProperties = {\n experiment_key: OPTIMIZELY_VTR_MODAL_EXPERIMENT.KEY,\n variation_key: variationKey,\n };\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 ...experimentProperties,\n };\n\n useEffect(() => {\n if (variationKey === OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.ON) {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n } else if (variationKey === OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.OFF) {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.not_displayed', eventProperties);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [variationKey]);\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 ...experimentProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n optimizely.track(OPTIMIZELY_VTR_MODAL_EXPERIMENT.ACTION);\n };\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', {\n ...eventProperties,\n ...experimentProperties,\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 { currencySymbol, price, upgradeUrl } = verifiedMode || {};\n const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;\n const modalTitle = intl.formatMessage({\n id: 'learning.upgrade-modal.title',\n defaultMessage: 'Pursue a verified certificate',\n description: 'Upgrade modal title',\n });\n let callToActionButton = (\n <Button\n className=\"w-100\"\n onClick={logClick}\n href={upgradeUrl}\n >\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.upgrade-button.label',\n defaultMessage: 'Upgrade for {currencySymbol}{price}',\n description: 'Label for upgrade button',\n },\n { currencySymbol, price },\n )}\n </Button>\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 if (variationKey === OPTIMIZELY_VTR_MODAL_EXPERIMENT.VARIATIONS.OFF) {\n close();\n }\n if (!enabled) {\n return null;\n }\n\n return (\n <MarketingModal\n title={modalTitle}\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 {/* TODO: replace with simplified */}\n <CertificatePreview {...{ courseId, bgColor: 'bg-light-100' }} />\n </ModalDialog.Hero.Content>\n </ModalDialog.Hero>\n )}\n footerNode={(\n <ActionRow isStacked className=\"mb-2\">\n {callToActionButton}\n {offer && (\n <div className=\"text-center discount-info\">\n {intl.formatMessage({\n id: 'learning.generic.upgradeNotification.code',\n defaultMessage: 'Use code {code} at checkout',\n values: {\n code: (<span className=\"font-weight-bold\">{offer.code}</span>),\n },\n })}\n </div>\n )}\n </ActionRow>\n )}\n >\n <h2 className=\"h3 mb-3 mt-2.5\">\n {modalTitle}\n </h2>\n <div role=\"list\" className=\"pl-2 text-gray-700\">\n <Stack gap={3}>\n <Stack role=\"listitem\" direction=\"horizontal\" gap={3} className=\"align-items-start\">\n <Icon size=\"md\" src={Check} />\n <span>\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.body-list.first-item',\n defaultMessage: 'Earn a {linkedContent} of completion to showcase your résumé',\n description: 'Message for first list item',\n },\n {\n linkedContent: (\n <Hyperlink\n className=\"font-weight-bold text-primary-500 inline-link-underline\"\n destination={`${getConfig().MARKETING_SITE_BASE_URL}/verified-certificate`}\n >\n verified certificate\n </Hyperlink>\n ),\n },\n )}\n </span>\n </Stack>\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\">\n <Icon size=\"md\" src={Check} />\n <span>\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.body-list.second-item',\n defaultMessage: 'Unlock your access to all course activities, including {boldContent}',\n description: 'Message for second list item',\n },\n {\n boldContent: (\n <span className=\"font-weight-bold\">\n graded assignments\n </span>\n ),\n },\n )}\n </span>\n </Stack>\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\">\n <Icon size=\"md\" src={Check} />\n <span>\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.body-list.third-item',\n defaultMessage: '{boldContent} to course content and materials, even after the course ends',\n description: 'Message for third list item',\n },\n {\n boldContent: (\n <span className=\"font-weight-bold\">\n Full access\n </span>\n ),\n },\n )}\n </span>\n </Stack>\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\">\n <Icon size=\"md\" src={Check} />\n <span>\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.body-list.fourth-item',\n defaultMessage: 'Support our mission at edX',\n description: 'Message for fourth list item',\n },\n )}\n </span>\n </Stack>\n </Stack>\n </div>\n </MarketingModal>\n );\n};\n\nUpgradeModal.defaultProps = {\n verifiedMode: {},\n offer: null,\n accessExpiration: null,\n};\nUpgradeModal.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 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 /* eslint-disable-next-line react/forbid-prop-types */\n optimizely: PropTypes.object.isRequired,\n};\n\nexport default withOptimizely(UpgradeModal);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccessExpirationDateBanner.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_localStorage","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AccessExpirationDateBanner","_ref","courseId","accessExpirationDate","timezoneFormatArgs","setupgradeNotificationCurrentState","intl","useIntl","setLocalStorage","jsx","className","children","formatMessage","id","defaultMessage","description","date","formatDate","day","month","propTypes","PropTypes","string","isRequired","instanceOf","Date","shape","timeZone","func","defaultProps","_default","exports"],"sources":["../../../src/upgrade-notification/generic/AccessExpirationDateBanner.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport { setLocalStorage } from '@src/data/localStorage';\n\nconst AccessExpirationDateBanner = ({\n courseId, accessExpirationDate, timezoneFormatArgs, setupgradeNotificationCurrentState,\n}) => {\n const intl = useIntl();\n if (setupgradeNotificationCurrentState) {\n setupgradeNotificationCurrentState('accessDateView');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'accessDateView');\n }\n return (\n <div className=\"upsell-warning-light\">\n {intl.formatMessage(\n {\n id: 'advertisements.upgradeNotification.expiration',\n defaultMessage: 'Course access will expire {date}',\n description: 'Message notifying user when upgrade deadline will pass',\n },\n {\n date: intl.formatDate(accessExpirationDate, {\n key: 'accessExpireDate',\n day: 'numeric',\n month: 'long',\n ...timezoneFormatArgs,\n }),\n },\n )}\n </div>\n );\n};\n\nAccessExpirationDateBanner.propTypes = {\n courseId: PropTypes.string.isRequired,\n accessExpirationDate: PropTypes.PropTypes.instanceOf(Date).isRequired,\n timezoneFormatArgs: PropTypes.shape({\n timeZone: PropTypes.string,\n }),\n setupgradeNotificationCurrentState: PropTypes.func,\n};\n\nAccessExpirationDateBanner.defaultProps = {\n timezoneFormatArgs: {},\n setupgradeNotificationCurrentState: null,\n};\n\nexport default AccessExpirationDateBanner;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpirationCountdown.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_localStorage","_jsxRuntime","obj","__esModule","default","ExpirationCountdown","_ref","courseId","hoursToExpiration","setupgradeNotificationCurrentState","type","intl","useIntl","expirationText","setLocalStorage","formatMessage","id","defaultMessage","description","dayCount","Math","floor","hourCount","jsx","className","children","propTypes","PropTypes","string","isRequired","number","func","defaultProps","_default","exports"],"sources":["../../../src/upgrade-notification/generic/ExpirationCountdown.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport { setLocalStorage } from '@src/data/localStorage';\n\nconst ExpirationCountdown = ({\n courseId, hoursToExpiration, setupgradeNotificationCurrentState, type,\n}) => {\n const intl = useIntl();\n let expirationText;\n if (hoursToExpiration >= 24) { // More than 1 day left\n // setupgradeNotificationCurrentState is available in NotificationTray (not course home)\n if (setupgradeNotificationCurrentState) {\n if (type === 'access') {\n setupgradeNotificationCurrentState('accessDaysLeft');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'accessDaysLeft');\n }\n if (type === 'offer') {\n setupgradeNotificationCurrentState('FPDdaysLeft');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'FPDdaysLeft');\n }\n }\n expirationText = intl.formatMessage(\n {\n id: 'advertisements.upgradeNotification.expirationDays',\n defaultMessage: `{dayCount, number} {dayCount, plural,\n one {day}\n other {days}} left`,\n description: 'Text notifying users how many days are left till upgrade expiration',\n },\n {\n dayCount: (Math.floor(hoursToExpiration / 24)),\n },\n );\n } else if (hoursToExpiration >= 1) { // More than 1 hour left\n // setupgradeNotificationCurrentState is available in NotificationTray (not course home)\n if (setupgradeNotificationCurrentState) {\n if (type === 'access') {\n setupgradeNotificationCurrentState('accessHoursLeft');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'accessHoursLeft');\n }\n if (type === 'offer') {\n setupgradeNotificationCurrentState('FPDHoursLeft');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'FPDHoursLeft');\n }\n }\n expirationText = intl.formatMessage(\n {\n id: 'advertisements.upgradeNotification.expirationHours',\n defaultMessage: `{hourCount, number} {hourCount, plural,\n one {hour}\n other {hours}} left`,\n description: 'Text notifying users how many hours are left till upgrade expiration',\n },\n {\n hourCount: (hoursToExpiration),\n },\n );\n } else { // Less than 1 hour\n // setupgradeNotificationCurrentState is available in NotificationTray (not course home)\n if (setupgradeNotificationCurrentState) {\n if (type === 'access') {\n setupgradeNotificationCurrentState('accessLastHour');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'accessLastHour');\n }\n if (type === 'offer') {\n setupgradeNotificationCurrentState('FPDLastHour');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'FPDLastHour');\n }\n }\n expirationText = intl.formatMessage({\n id: 'advertisements.upgradeNotification.expirationMinutes',\n defaultMessage: 'Less than 1 hour left',\n description: 'Text notifying user that how much time is left to upgrade',\n });\n }\n return (<div className=\"upsell-warning\">{expirationText}</div>);\n};\n\nExpirationCountdown.propTypes = {\n courseId: PropTypes.string.isRequired,\n hoursToExpiration: PropTypes.number.isRequired,\n setupgradeNotificationCurrentState: PropTypes.func,\n type: PropTypes.string,\n};\n\nExpirationCountdown.defaultProps = {\n setupgradeNotificationCurrentState: null,\n type: null,\n};\n\nexport default ExpirationCountdown;\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAAyD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAJzD;;AAMA,MAAMG,mBAAmB,GAAGC,IAAA,IAEtB;EAAA,IAFuB;IAC3BC,QAAQ;IAAEC,iBAAiB;IAAEC,kCAAkC;IAAEC;EACnE,CAAC,GAAAJ,IAAA;EACC,MAAMK,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EACtB,IAAIC,cAAc;EAClB,IAAIL,iBAAiB,IAAI,EAAE,EAAE;IAAE;IAC7B;IACA,IAAIC,kCAAkC,EAAE;MACtC,IAAIC,IAAI,KAAK,QAAQ,EAAE;QACrBD,kCAAkC,CAAC,gBAAgB,CAAC;QACpD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,gBAAgB,CAAC;MAClF;MACA,IAAIG,IAAI,KAAK,OAAO,EAAE;QACpBD,kCAAkC,CAAC,aAAa,CAAC;QACjD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,aAAa,CAAC;MAC/E;IACF;IACAM,cAAc,GAAGF,IAAI,CAACI,aAAa,CACjC;MACEC,EAAE,EAAE,mDAAmD;MACvDC,cAAc,EAAE;AACxB;AACA,6BAA6B;MACrBC,WAAW,EAAE;IACf,CAAC,EACD;MACEC,QAAQ,EAAGC,IAAI,CAACC,KAAK,CAACb,iBAAiB,GAAG,EAAE;IAC9C,CACF,CAAC;EACH,CAAC,MAAM,IAAIA,iBAAiB,IAAI,CAAC,EAAE;IAAE;IACnC;IACA,IAAIC,kCAAkC,EAAE;MACtC,IAAIC,IAAI,KAAK,QAAQ,EAAE;QACrBD,kCAAkC,CAAC,iBAAiB,CAAC;QACrD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,iBAAiB,CAAC;MACnF;MACA,IAAIG,IAAI,KAAK,OAAO,EAAE;QACpBD,kCAAkC,CAAC,cAAc,CAAC;QAClD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,cAAc,CAAC;MAChF;IACF;IACAM,cAAc,GAAGF,IAAI,CAACI,aAAa,CACjC;MACEC,EAAE,EAAE,oDAAoD;MACxDC,cAAc,EAAE;AACxB;AACA,8BAA8B;MACtBC,WAAW,EAAE;IACf,CAAC,EACD;MACEI,SAAS,EAAGd;IACd,CACF,CAAC;EACH,CAAC,MAAM;IAAE;IACP;IACA,IAAIC,kCAAkC,EAAE;MACtC,IAAIC,IAAI,KAAK,QAAQ,EAAE;QACrBD,kCAAkC,CAAC,gBAAgB,CAAC;QACpD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,gBAAgB,CAAC;MAClF;MACA,IAAIG,IAAI,KAAK,OAAO,EAAE;QACpBD,kCAAkC,CAAC,aAAa,CAAC;QACjD,IAAAK,6BAAe,EAAC,mCAAmCP,QAAQ,EAAE,EAAE,aAAa,CAAC;MAC/E;IACF;IACAM,cAAc,GAAGF,IAAI,CAACI,aAAa,CAAC;MAClCC,EAAE,EAAE,sDAAsD;MAC1DC,cAAc,EAAE,uBAAuB;MACvCC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ;EACA,oBAAQ,IAAAjB,WAAA,CAAAsB,GAAA;IAAKC,SAAS,EAAC,gBAAgB;IAAAC,QAAA,EAAEZ;EAAc,CAAM,CAAC;AAChE,CAAC;AAEDR,mBAAmB,CAACqB,SAAS,GAAG;EAC9BnB,QAAQ,EAAEoB,kBAAS,CAACC,MAAM,CAACC,UAAU;EACrCrB,iBAAiB,EAAEmB,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC9CpB,kCAAkC,EAAEkB,kBAAS,CAACI,IAAI;EAClDrB,IAAI,EAAEiB,kBAAS,CAACC;AAClB,CAAC;AAEDvB,mBAAmB,CAAC2B,YAAY,GAAG;EACjCvB,kCAAkC,EAAE,IAAI;EACxCC,IAAI,EAAE;AACR,CAAC;AAAC,IAAAuB,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEaC,mBAAmB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PastExpirationCardContent.js","names":["_i18n","require","_jsxRuntime","PastExpirationCardContent","formatMessage","useIntl","jsx","className","children","id","defaultMessage","description","_default","exports","default"],"sources":["../../../src/upgrade-notification/generic/PastExpirationCardContent.jsx"],"sourcesContent":["import { useIntl } from '@edx/frontend-platform/i18n';\n\nconst PastExpirationCardContent = () => {\n const { formatMessage } = useIntl();\n return (\n <div className=\"upgrade-notification-text\">\n <p>\n {formatMessage({\n id: 'advertisements.upgradeNotification.pastExpiration.content',\n defaultMessage: 'The upgrade deadline for this course passed. To upgrade, enroll in the next available session.',\n description: 'Content text notifying the user that the deadline passed and how to access course content.',\n })}\n </p>\n </div>\n );\n};\n\nexport default PastExpirationCardContent;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAsD,IAAAC,WAAA,GAAAD,OAAA;AAEtD,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnC,oBACE,IAAAH,WAAA,CAAAI,GAAA;IAAKC,SAAS,EAAC,2BAA2B;IAAAC,QAAA,eACxC,IAAAN,WAAA,CAAAI,GAAA;MAAAE,QAAA,EACGJ,aAAa,CAAC;QACbK,EAAE,EAAE,2DAA2D;QAC/DC,cAAc,EAAE,gGAAgG;QAChHC,WAAW,EAAE;MACf,CAAC;IAAC,CACD;EAAC,CACD,CAAC;AAEV,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaX,yBAAyB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PastExpirationDateBanner.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_localStorage","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PastExpirationDateBanner","_ref","courseId","accessExpirationDate","timezoneFormatArgs","setupgradeNotificationCurrentState","intl","useIntl","setLocalStorage","jsx","className","children","formatMessage","id","defaultMessage","description","date","formatDate","day","month","propTypes","PropTypes","string","isRequired","instanceOf","Date","shape","timeZone","func","defaultProps","_default","exports"],"sources":["../../../src/upgrade-notification/generic/PastExpirationDateBanner.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport { setLocalStorage } from '@src/data/localStorage';\n\nconst PastExpirationDateBanner = ({\n courseId, accessExpirationDate, timezoneFormatArgs, setupgradeNotificationCurrentState,\n}) => {\n const intl = useIntl();\n if (setupgradeNotificationCurrentState) {\n setupgradeNotificationCurrentState('PastExpirationDate');\n setLocalStorage(`upgradeNotificationCurrentState.${courseId}`, 'PastExpirationDate');\n }\n return (\n <div className=\"upsell-warning\">\n {intl.formatMessage(\n {\n id: 'advertisements.upgradeNotification.pastExpiration.banner',\n defaultMessage: 'Upgrade deadline passed on {date}',\n description: 'Message notifying user when upgrade deadline passed',\n },\n {\n date: intl.formatDate(accessExpirationDate, {\n key: 'accessExpireDate',\n day: 'numeric',\n month: 'long',\n ...timezoneFormatArgs,\n }),\n },\n )}\n </div>\n );\n};\n\nPastExpirationDateBanner.propTypes = {\n courseId: PropTypes.string.isRequired,\n accessExpirationDate: PropTypes.PropTypes.instanceOf(Date).isRequired,\n timezoneFormatArgs: PropTypes.shape({\n timeZone: PropTypes.string,\n }),\n setupgradeNotificationCurrentState: PropTypes.func,\n};\n\nPastExpirationDateBanner.defaultProps = {\n timezoneFormatArgs: {},\n setupgradeNotificationCurrentState: null,\n};\n\nexport default PastExpirationDateBanner;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpsellFBESoonCardContent.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_jsxRuntime","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","UpsellFBESoonCardContent","_ref","accessExpirationDate","timezoneFormatArgs","formatMessage","formatDate","useIntl","includingAnyProgress","jsx","className","children","id","defaultMessage","description","date","Date","day","month","benefitsOfUpgrading","rel","target","href","jsxs","propTypes","PropTypes","instanceOf","isRequired","shape","timeZone","string","defaultProps","_default","exports"],"sources":["../../../src/upgrade-notification/generic/UpsellFBESoonCardContent.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nconst UpsellFBESoonCardContent = ({ accessExpirationDate, timezoneFormatArgs }) => {\n const { formatMessage, formatDate } = useIntl();\n const includingAnyProgress = (\n <span className=\"font-weight-bold\">\n {formatMessage({\n id: 'advertisements.upgradeNotification.expirationAccessLoss.progress',\n defaultMessage: 'including any progress',\n description: 'Bolded text inside of the access loss bullet point',\n })}\n </span>\n );\n\n const date = formatDate(\n new Date(accessExpirationDate),\n {\n key: 'accessDate',\n day: 'numeric',\n month: 'long',\n ...timezoneFormatArgs,\n },\n );\n\n const benefitsOfUpgrading = (\n <a className=\"inline-link-underline font-weight-bold\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://support.edx.org/hc/en-us/articles/360013426573-What-are-the-differences-between-audit-free-and-verified-paid-courses-\">\n {formatMessage({\n id: 'advertisements.upgradeNotification.expirationVerifiedCert.benefits',\n defaultMessage: 'benefits of upgrading',\n description: 'Text for link to edX support website',\n })}\n </a>\n );\n\n return (\n <div className=\"upgrade-notification-text\">\n <p>\n {formatMessage(\n {\n id: 'advertisements.upgradeNotification.expirationAccessLoss',\n defaultMessage: 'You will lose all access to this course, {includingAnyProgress}, on {date}.',\n description: 'Text for access loss bullet point',\n },\n { includingAnyProgress, date },\n )}\n </p>\n <p>\n {formatMessage(\n {\n id: 'advertisements.upgradeNotification.expirationVerifiedCert',\n defaultMessage: 'Upgrading your course enables you to pursue a verified certificate and unlocks numerous features. Learn more about the {benefitsOfUpgrading}.',\n description: 'Text for verified certificate bullet point',\n },\n { benefitsOfUpgrading },\n )}\n </p>\n </div>\n );\n};\n\nUpsellFBESoonCardContent.propTypes = {\n accessExpirationDate: PropTypes.PropTypes.instanceOf(Date).isRequired,\n timezoneFormatArgs: PropTypes.shape({\n timeZone: PropTypes.string,\n }),\n};\n\nUpsellFBESoonCardContent.defaultProps = {\n timezoneFormatArgs: {},\n};\n\nexport default UpsellFBESoonCardContent;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
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":[]}
@@ -1 +0,0 @@
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":[]}
@@ -1 +0,0 @@
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_SITE_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_SITE_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":[]}
@@ -1 +0,0 @@
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 center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </Col>\n <Col className=\"verified-cell col-2 center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\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 center-items\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </Col>\n <Col className=\"verified-cell col-2 center-items\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\n </Col>\n </Row>\n <Row className=\"m-0\">\n <Col className=\"feature-cell bottom-no-border flex align-items-center pb-3\">\n <span>\n {intl.formatMessage(messages.learningAssistant)}\n </span>\n </Col>\n <Col className=\"audit-cell bottom-audit-border col-2 center-items pb-3\">\n <Icon src={CloseSmall} alt={intl.formatMessage(messages.notIncludedAltMessage)} />\n </Col>\n <Col className=\"verified-cell bottom-verified-border col-2 center-items pb-3\">\n <Icon src={CheckCircle} alt={intl.formatMessage(messages.includedAltMessage)} />\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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAMA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEAA,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAkC,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElC,MAAMG,uBAAuB,GAAGC,IAAA,IAAe;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EACxC,MAAME,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EACtB,oBACE,IAAAR,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAc,GAAG;IAACC,SAAS,EAAC,iBAAiB;IAAAC,QAAA,gBAC9B,IAAAZ,WAAA,CAAAa,GAAA;MAAIF,SAAS,EAAC,kBAAkB;MAAAC,QAAA,EAC7BL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACC,kBAAkB;IAAC,CAC9C,CAAC,eACL,IAAAhB,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAqB,GAAG;MAACN,SAAS,EAAC,iBAAiB;MAAAC,QAAA,gBAC9B,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAAAE,QAAA,eACF,IAAAZ,WAAA,CAAAa,GAAA;UAAMF,SAAS,EAAC,SAAS;UAAAC,QAAA,EACtBL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACG,aAAa;QAAC,CACvC;MAAC,CACJ,CAAC,eACN,IAAAlB,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,oCAAoC;QAAAC,QAAA,eACjD,IAAAZ,WAAA,CAAAa,GAAA;UAAKF,SAAS,EAAC,cAAc;UAAAC,QAAA,EAC1BL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACI,WAAW;QAAC,CACtC;MAAC,CACH,CAAC,eACN,IAAAnB,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,0DAA0D;QAAAC,QAAA,eACvE,IAAAZ,WAAA,CAAAa,GAAA;UAAKF,SAAS,EAAC,cAAc;UAAAC,QAAA,EAC1BL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACK,cAAc;QAAC,CACzC;MAAC,CACH,CAAC;IAAA,CACH,CAAC,eACN,IAAApB,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAqB,GAAG;MAACN,SAAS,EAAC,KAAK;MAAAC,QAAA,gBAClB,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,cAAc;QAAAC,QAAA,EAC1BL,IAAI,CAACO,aAAa,CACjBC,iBAAQ,CAACM,WAAW,EACpB;UACEC,eAAe,eACb,IAAAtB,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAA2B,SAAS;YAACC,WAAW,EAAE,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,uBAAuB,uBAAwB;YAAAd,QAAA,EACnFL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACY,mBAAmB;UAAC,CACxC;QAEf,CACF;MAAC,CACE,CAAC,eACN,IAAA3B,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,kBAAkB;QAAAC,QAAA,eAC/B,IAAAZ,WAAA,CAAAa,GAAA;UAAKF,SAAS,EAAC,cAAc;UAAAC,QAAA,eAC3B,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;YAACC,GAAG,EAAEC,iBAAW;YAACC,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACiB,qBAAqB;UAAE,CAAE;QAAC,CAC/E;MAAC,CACH,CAAC,eACN,IAAAhC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,qBAAqB;QAAAC,QAAA,eAClC,IAAAZ,WAAA,CAAAa,GAAA;UAAKF,SAAS,EAAC,cAAc;UAAAC,QAAA,eAC3B,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;YAACC,GAAG,EAAEI,kBAAY;YAACF,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACmB,kBAAkB;UAAE,CAAE;QAAC,CAC7E;MAAC,CACH,CAAC;IAAA,CACH,CAAC,EACL5B,KAAK,iBACJ,IAAAN,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAqB,GAAG;MAACN,SAAS,EAAC,KAAK;MAAAC,QAAA,gBAClB,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,cAAc;QAAAC,QAAA,EAC1BL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACoB,MAAM;MAAC,CACjC,CAAC,eACN,IAAAnC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,+BAA+B;QAAAC,QAAA,eAC5C,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEC,iBAAW;UAACC,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACiB,qBAAqB;QAAE,CAAE;MAAC,CAC/E,CAAC,eACN,IAAAhC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,kCAAkC;QAAAC,QAAA,eAC/C,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEI,kBAAY;UAACF,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACmB,kBAAkB;QAAE,CAAE;MAAC,CAC7E,CAAC;IAAA,CACH,CACN,eACD,IAAAlC,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAqB,GAAG;MAACN,SAAS,EAAC,KAAK;MAAAC,QAAA,gBAClB,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,cAAc;QAAAC,QAAA,EAC1BL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACqB,MAAM;MAAC,CACjC,CAAC,eACN,IAAApC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,+BAA+B;QAAAC,QAAA,eAC5C,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEC,iBAAW;UAACC,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACiB,qBAAqB;QAAE,CAAE;MAAC,CAC/E,CAAC,eACN,IAAAhC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,kCAAkC;QAAAC,QAAA,eAC/C,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEI,kBAAY;UAACF,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACmB,kBAAkB;QAAE,CAAE;MAAC,CAC7E,CAAC;IAAA,CACH,CAAC,eACN,IAAAlC,WAAA,CAAAS,IAAA,EAACb,QAAA,CAAAqB,GAAG;MAACN,SAAS,EAAC,KAAK;MAAAC,QAAA,gBAClB,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,4DAA4D;QAAAC,QAAA,eACzE,IAAAZ,WAAA,CAAAa,GAAA;UAAAD,QAAA,EACGL,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACsB,iBAAiB;QAAC,CAC3C;MAAC,CACJ,CAAC,eACN,IAAArC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,wDAAwD;QAAAC,QAAA,eACrE,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEC,iBAAW;UAACC,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACiB,qBAAqB;QAAE,CAAE;MAAC,CAC/E,CAAC,eACN,IAAAhC,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAc,GAAG;QAACC,SAAS,EAAC,8DAA8D;QAAAC,QAAA,eAC3E,IAAAZ,WAAA,CAAAa,GAAA,EAACjB,QAAA,CAAAgC,IAAI;UAACC,GAAG,EAAEI,kBAAY;UAACF,GAAG,EAAExB,IAAI,CAACO,aAAa,CAACC,iBAAQ,CAACmB,kBAAkB;QAAE,CAAE;MAAC,CAC7E,CAAC;IAAA,CACH,CAAC;EAAA,CACH,CAAC;AAEV,CAAC;AAED9B,uBAAuB,CAACkC,YAAY,GAAG;EACrChC,KAAK,EAAE;AACT,CAAC;AAEDF,uBAAuB,CAACmC,SAAS,GAAG;EAClCjC,KAAK,EAAEkC,kBAAS,CAACC;AACnB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxC,OAAA,GAEaC,uBAAuB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpsellBullets.js","names":["_react","_interopRequireDefault","require","_icons","_paragon","_i18n","_frontendPlatform","_jsxRuntime","obj","__esModule","default","CheckmarkBullet","jsx","Icon","src","Check","VerifiedCertBullet","verifiedCertLink","className","rel","target","href","getConfig","MARKETING_SITE_BASE_URL","children","FormattedMessage","id","defaultMessage","description","jsxs","Stack","direction","gap","role","values","exports","UnlockGradedBullet","gradedAssignmentsInBoldText","FullAccessBullet","fullAccessInBoldText","SupportMissionBullet","missionInBoldText","siteName","SITE_NAME"],"sources":["../../src/upsell-bullets/UpsellBullets.jsx"],"sourcesContent":["import React from 'react';\nimport { Check } from '@openedx/paragon/icons';\nimport { Icon, Stack } from '@openedx/paragon';\nimport { FormattedMessage } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\nconst CheckmarkBullet = () => (\n <Icon src={Check} />\n);\n\nexport const VerifiedCertBullet = () => {\n const verifiedCertLink = (\n <a className=\"inline-link-underline font-weight-bold\" rel=\"noopener noreferrer\" target=\"_blank\" href={`${getConfig().MARKETING_SITE_BASE_URL}/verified-certificate`}>\n <FormattedMessage\n id=\"advertisements.upsell.verifiedCertBullet.verifiedCert\"\n defaultMessage=\"verified certificate\"\n description=\"Bolded words 'verified certificate', which is the name of credential the learner receives.\"\n />\n </a>\n );\n return (\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\" data-testid=\"verified-cert-bullet\">\n <CheckmarkBullet />\n <span>\n <FormattedMessage\n id=\"advertisements.upsell.verifiedCertBullet\"\n defaultMessage=\"Earn a {verifiedCertLink} of completion to showcase on your resumé\"\n description=\"Bullet showcasing benefit of earned credential.\"\n values={{ verifiedCertLink }}\n />\n </span>\n </Stack>\n );\n};\n\nexport const UnlockGradedBullet = () => {\n const gradedAssignmentsInBoldText = (\n <span className=\"font-weight-bold\">\n <FormattedMessage\n id=\"advertisements.upsell.unlockGradedBullet.gradedAssignments\"\n defaultMessage=\"graded assignments\"\n description=\"Bolded words 'graded assignments', which are the bolded portion of a bullet point highlighting that course content is unlocked when purchasing an upgrade. Graded assignments are any course content that is graded and are unlocked by upgrading to verified certificates.\"\n />\n </span>\n );\n return (\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\" data-testid=\"unlock-graded-bullet\">\n <CheckmarkBullet />\n <span>\n <FormattedMessage\n id=\"advertisements.upsell.unlockGradedBullet\"\n defaultMessage=\"Unlock your access to all course activities, including {gradedAssignmentsInBoldText}\"\n description=\"Bullet showcasing benefit of additional course material.\"\n values={{ gradedAssignmentsInBoldText }}\n />\n </span>\n </Stack>\n );\n};\n\nexport const FullAccessBullet = () => {\n const fullAccessInBoldText = (\n <span className=\"font-weight-bold\">\n <FormattedMessage\n id=\"advertisements.upsell.fullAccessBullet.fullAccess\"\n defaultMessage=\"Full access\"\n description=\"Bolded phrase 'Full access', which is the bolded portion of a bullet point highlighting that access to course content will not have time limits.\"\n />\n </span>\n );\n return (\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\" data-testid=\"full-access-bullet\">\n <CheckmarkBullet />\n <span>\n <FormattedMessage\n id=\"advertisements.upsell.fullAccessBullet\"\n defaultMessage=\"{fullAccessInBoldText} to course content and materials, even after the course ends\"\n description=\"Bullet showcasing upgrade lifts access durations.\"\n values={{ fullAccessInBoldText }}\n />\n </span>\n </Stack>\n );\n};\n\nexport const SupportMissionBullet = () => {\n const missionInBoldText = (\n <span className=\"font-weight-bold\">\n <FormattedMessage\n id=\"advertisements.upsell.supportMissionBullet.mission\"\n defaultMessage=\"mission\"\n description=\"Bolded word 'mission', which is the bolded portion of a bullet point encouraging the learner to support the goals of the website.\"\n />\n </span>\n );\n return (\n <Stack direction=\"horizontal\" gap={3} role=\"listitem\" className=\"align-items-start\" data-testid=\"support-mission-bullet\">\n <CheckmarkBullet />\n <span>\n <FormattedMessage\n id=\"advertisements.upsell.supportMissionBullet\"\n defaultMessage=\"Support our {missionInBoldText} at {siteName}\"\n description=\"Bullet encouraging user to support edX's goals.\"\n values={{ missionInBoldText, siteName: getConfig().SITE_NAME }}\n />\n </span>\n </Stack>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_UpsellBullets","require"],"sources":["../../src/upsell-bullets/index.jsx"],"sourcesContent":["export {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from './UpsellBullets';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","featureHeader","id","defaultMessage","description","auditHeader","verifiedHeader","certificateLinkText","certificate","grades","access","learningAssistant","notIncludedAltMessage","includedAltMessage","tableSectionHeader","_default","exports","default"],"sources":["../../src/upsell-bullets/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n featureHeader: {\n id: 'upsell-table.table-header.features',\n defaultMessage: 'Features',\n description: 'Screenreader text for feature column header',\n },\n auditHeader: {\n id: 'upsell-table.table-header.audit',\n defaultMessage: 'Audit Track',\n description: 'Text for the audit track column header',\n },\n verifiedHeader: {\n id: 'upsell-table.table-header.verified',\n defaultMessage: 'Verified Track',\n description: 'Text for the verified track column header',\n },\n certificateLinkText: {\n id: 'upsell.features.certificate.hyperlink',\n defaultMessage: 'verified certificate',\n description: 'Text for verfied certificate explanation link',\n },\n certificate: {\n id: 'upsell.features.certificate',\n defaultMessage: 'Shareable {certificateLink}',\n description: 'Text for certificate feature cell',\n },\n grades: {\n id: 'upsell.features.grades',\n defaultMessage: 'Graded assessments and assignments',\n description: 'Text for grades feature cell',\n },\n access: {\n id: 'upsell.features.access',\n defaultMessage: 'Unlimited access to all course materials',\n description: 'Text for access feature cell',\n },\n learningAssistant: {\n id: 'upsell.features.learning-assistant',\n defaultMessage: 'Xpert AI Learning Assistant',\n description: 'Text for learning assistant feature cell',\n },\n notIncludedAltMessage: {\n id: 'upsell-table.table-row.audit.not-included',\n defaultMessage: 'This feature is not included in the audit track',\n description: 'Alt message for x icon in the audit track column',\n },\n includedAltMessage: {\n id: 'upsell-table.table-row.audit.not-included',\n defaultMessage: 'This feature is included in the verified track',\n description: 'Alt message for check icon in the verified track column',\n },\n tableSectionHeader: {\n id: 'upsell-table.section.header',\n defaultMessage: 'Compare benefits of upgrading',\n description: 'Header for section dispaly audit and verified comparison',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,aAAa,EAAE;IACbC,EAAE,EAAE,oCAAoC;IACxCC,cAAc,EAAE,UAAU;IAC1BC,WAAW,EAAE;EACf,CAAC;EACDC,WAAW,EAAE;IACXH,EAAE,EAAE,iCAAiC;IACrCC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACDE,cAAc,EAAE;IACdJ,EAAE,EAAE,oCAAoC;IACxCC,cAAc,EAAE,gBAAgB;IAChCC,WAAW,EAAE;EACf,CAAC;EACDG,mBAAmB,EAAE;IACnBL,EAAE,EAAE,uCAAuC;IAC3CC,cAAc,EAAE,sBAAsB;IACtCC,WAAW,EAAE;EACf,CAAC;EACDI,WAAW,EAAE;IACXN,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACDK,MAAM,EAAE;IACNP,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,oCAAoC;IACpDC,WAAW,EAAE;EACf,CAAC;EACDM,MAAM,EAAE;IACNR,EAAE,EAAE,wBAAwB;IAC5BC,cAAc,EAAE,0CAA0C;IAC1DC,WAAW,EAAE;EACf,CAAC;EACDO,iBAAiB,EAAE;IACjBT,EAAE,EAAE,oCAAoC;IACxCC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACDQ,qBAAqB,EAAE;IACrBV,EAAE,EAAE,2CAA2C;IAC/CC,cAAc,EAAE,iDAAiD;IACjEC,WAAW,EAAE;EACf,CAAC;EACDS,kBAAkB,EAAE;IAClBX,EAAE,EAAE,2CAA2C;IAC/CC,cAAc,EAAE,gDAAgD;IAChEC,WAAW,EAAE;EACf,CAAC;EACDU,kBAAkB,EAAE;IAClBZ,EAAE,EAAE,6BAA6B;IACjCC,cAAc,EAAE,+BAA+B;IAC/CC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYlB,QAAQ","ignoreList":[]}