@edx/frontend-plugin-advertisements 1.28.0 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/index.js +0 -6
- package/dist/data/index.js.map +1 -1
- package/dist/data/optimizely.js +1 -9
- package/dist/data/optimizely.js.map +1 -1
- package/dist/generic/AccessExpirationDateBanner.js.map +1 -0
- package/dist/generic/ExpirationCountdown.js.map +1 -0
- package/dist/generic/PastExpirationCardContent.js.map +1 -0
- package/dist/generic/PastExpirationDateBanner.js.map +1 -0
- package/dist/generic/UpsellFBESoonCardContent.js.map +1 -0
- package/dist/{upgrade-notification/generic → generic}/UpsellFarAwayCardContent.js +1 -1
- package/dist/generic/UpsellFarAwayCardContent.js.map +1 -0
- package/dist/generic/index.js.map +1 -0
- package/dist/generic/upsell-bullets/ExperimentalUpsellBullets.js.map +1 -0
- package/dist/generic/upsell-bullets/ExperimentalUpsellTable.js.map +1 -0
- package/dist/generic/upsell-bullets/UpsellBullets.js.map +1 -0
- package/dist/generic/upsell-bullets/index.js.map +1 -0
- package/dist/generic/upsell-bullets/messages.js.map +1 -0
- package/dist/index.js +2 -17
- package/dist/index.js.map +1 -1
- package/dist/optimizely/utils.js +43 -0
- package/dist/optimizely/utils.js.map +1 -0
- package/dist/paywall/ExperimentalLockPaywall.js +1 -1
- package/dist/paywall/ExperimentalLockPaywall.js.map +1 -1
- package/dist/upgrade-modal/BaseModal.js +95 -0
- package/dist/upgrade-modal/BaseModal.js.map +1 -0
- package/dist/upgrade-modal/DefaultUpgradeModal.js +118 -27
- package/dist/upgrade-modal/DefaultUpgradeModal.js.map +1 -1
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js +132 -72
- package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +1 -1
- package/dist/upgrade-modal/NextUnitButton.js +58 -10
- package/dist/upgrade-modal/NextUnitButton.js.map +1 -1
- package/dist/upgrade-modal/hooks.js +2 -2
- package/dist/upgrade-modal/hooks.js.map +1 -1
- package/dist/upgrade-modal/index.js +2 -9
- package/dist/upgrade-modal/index.js.map +1 -1
- package/dist/upgrade-notification/DefaultUpgradeNotification.js +1 -1
- package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +1 -1
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +5 -35
- package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
- package/package.json +1 -1
- package/dist/upgrade-modal/UpgradeModal.js +0 -289
- package/dist/upgrade-modal/UpgradeModal.js.map +0 -1
- package/dist/upgrade-notification/generic/AccessExpirationDateBanner.js.map +0 -1
- package/dist/upgrade-notification/generic/ExpirationCountdown.js.map +0 -1
- package/dist/upgrade-notification/generic/PastExpirationCardContent.js.map +0 -1
- package/dist/upgrade-notification/generic/PastExpirationDateBanner.js.map +0 -1
- package/dist/upgrade-notification/generic/UpsellFBESoonCardContent.js.map +0 -1
- package/dist/upgrade-notification/generic/UpsellFarAwayCardContent.js.map +0 -1
- package/dist/upgrade-notification/generic/index.js.map +0 -1
- package/dist/upsell-bullets/ExperimentalUpsellBullets.js.map +0 -1
- package/dist/upsell-bullets/ExperimentalUpsellTable.js.map +0 -1
- package/dist/upsell-bullets/UpsellBullets.js.map +0 -1
- package/dist/upsell-bullets/index.js.map +0 -1
- package/dist/upsell-bullets/messages.js.map +0 -1
- /package/dist/{upgrade-notification/generic → generic}/AccessExpirationDateBanner.js +0 -0
- /package/dist/{upgrade-notification/generic → generic}/ExpirationCountdown.js +0 -0
- /package/dist/{upgrade-notification/generic → generic}/PastExpirationCardContent.js +0 -0
- /package/dist/{upgrade-notification/generic → generic}/PastExpirationDateBanner.js +0 -0
- /package/dist/{upgrade-notification/generic → generic}/UpsellFBESoonCardContent.js +0 -0
- /package/dist/{upgrade-notification/generic → generic}/index.js +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellBullets.js +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellTable.js +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/ExperimentalUpsellTable.scss +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/UpsellBullets.js +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/UpsellBullets.scss +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/index.js +0 -0
- /package/dist/{upsell-bullets → generic/upsell-bullets}/messages.js +0 -0
package/dist/data/index.js
CHANGED
|
@@ -21,12 +21,6 @@ Object.defineProperty(exports, "OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_
|
|
|
21
21
|
return _optimizely.OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
Object.defineProperty(exports, "OPTIMIZELY_VTR_MODAL_EXPERIMENT", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _optimizely.OPTIMIZELY_VTR_MODAL_EXPERIMENT;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
24
|
Object.defineProperty(exports, "OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT", {
|
|
31
25
|
enumerable: true,
|
|
32
26
|
get: function () {
|
package/dist/data/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_optimizely","require"],"sources":["../../src/data/index.jsx"],"sourcesContent":["export {\n getOptimizely,\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY,\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["_optimizely","require"],"sources":["../../src/data/index.jsx"],"sourcesContent":["export {\n getOptimizely,\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT,\n} from './optimizely';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
|
package/dist/data/optimizely.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getOptimizely = exports.OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = exports.
|
|
6
|
+
exports.getOptimizely = exports.OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = exports.OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS = exports.OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY = exports.OPTIMIZELY_EVENT_KEYS = void 0;
|
|
7
7
|
var _reactSdk = require("@optimizely/react-sdk");
|
|
8
8
|
var _frontendPlatform = require("@edx/frontend-platform");
|
|
9
9
|
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; }
|
|
@@ -41,14 +41,6 @@ const OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS = exports.OPTIMIZELY_
|
|
|
41
41
|
CONTROL: 'control',
|
|
42
42
|
OFF: 'off'
|
|
43
43
|
};
|
|
44
|
-
const OPTIMIZELY_VTR_MODAL_EXPERIMENT = exports.OPTIMIZELY_VTR_MODAL_EXPERIMENT = {
|
|
45
|
-
KEY: 'vtr_in_course_popup_modal_all_orgs',
|
|
46
|
-
ACTION: 'modal_upgrade_button_click',
|
|
47
|
-
VARIATIONS: {
|
|
48
|
-
ON: 'on',
|
|
49
|
-
OFF: 'off'
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
44
|
const OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = exports.OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = {
|
|
53
45
|
KEY: 'cta_bullet_points_experiment',
|
|
54
46
|
ACTION: 'upgrade_button_click',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ensureConfig","DEFAULT_OPTIMIZELY_AGENT_CONFIG","eventFlushInterval","eventBatchSize","instance","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","OPTIMIZELY_AGENT_CONFIG","createInstance","sdkKey","exports","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS","CERTIFICATE_PREVIEW","CERTIFICATE_PREVIEW_WITH_COPY","CONTROL","OFF","
|
|
1
|
+
{"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ensureConfig","DEFAULT_OPTIMIZELY_AGENT_CONFIG","eventFlushInterval","eventBatchSize","instance","getOptimizely","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FULL_STACK_SDK_KEY","OPTIMIZELY_AGENT_CONFIG","createInstance","sdkKey","exports","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY","OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS","CERTIFICATE_PREVIEW","CERTIFICATE_PREVIEW_WITH_COPY","CONTROL","OFF","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","KEY","ACTION","VARIATIONS","TABLE","BULLETS","OPTIMIZELY_EVENT_KEYS","UPGRADE_BUTTON_CLICK","DECLINE_UPGRADE_BUTTON_CLICK"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\nimport { ensureConfig, getConfig } from '@edx/frontend-platform';\n\nensureConfig([\n 'OPTIMIZELY_FULL_STACK_SDK_KEY',\n], 'Frontend Plugin Advertisements Optimizely module');\n\nconst DEFAULT_OPTIMIZELY_AGENT_CONFIG = {\n eventFlushInterval: 1000,\n eventBatchSize: 10,\n};\n\n/**\n * Initializing the Optimizely instance at the top-level will not work, becaused it may be initialized before\n * the OPTIMIZELY_FULL_STACK_SDK_KEY is available and will not be reinitialized afterward. Wrapping the initialization\n * in a function allows components to request the instance as-needed.\n */\nlet instance = null;\nconst getOptimizely = () => {\n const OPTIMIZELY_SDK_KEY = getConfig().OPTIMIZELY_FULL_STACK_SDK_KEY;\n const OPTIMIZELY_AGENT_CONFIG = getConfig().OPTIMIZELY_AGENT_CONFIG || {};\n\n if (!instance && OPTIMIZELY_SDK_KEY) {\n instance = createInstance({\n sdkKey: OPTIMIZELY_SDK_KEY,\n ...{\n ...DEFAULT_OPTIMIZELY_AGENT_CONFIG,\n ...OPTIMIZELY_AGENT_CONFIG,\n },\n });\n }\n\n return instance;\n};\n\nconst OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY = 'verified_take_rate_preview_watermark_experimentation';\n\nconst OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS = {\n CERTIFICATE_PREVIEW: 'certificate_preview',\n CERTIFICATE_PREVIEW_WITH_COPY: 'certificate_preview_with_copy',\n CONTROL: 'control',\n OFF: 'off',\n};\n\nconst OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT = {\n KEY: 'cta_bullet_points_experiment',\n ACTION: 'upgrade_button_click',\n VARIATIONS: {\n OFF: 'off',\n TABLE: 'comparison_table',\n BULLETS: 'new_bullets',\n },\n};\n\nconst OPTIMIZELY_EVENT_KEYS = {\n UPGRADE_BUTTON_CLICK: 'upgrade_button_click',\n DECLINE_UPGRADE_BUTTON_CLICK: 'decline_upgrade_button_click',\n};\n\nexport {\n getOptimizely,\n OPTIMIZELY_EVENT_KEYS,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_COPY_CHANGE_EXPERIMENT_VARIATION_KEYS,\n OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/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":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PastExpirationCardContent.js","names":["_i18n","require","_jsxRuntime","PastExpirationCardContent","formatMessage","useIntl","jsx","className","children","id","defaultMessage","description","_default","exports","default"],"sources":["../../src/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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/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":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
-
var _upsellBullets = require("
|
|
8
|
+
var _upsellBullets = require("./upsell-bullets");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
const UpsellFarAwayCardContent = _ref => {
|
|
@@ -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/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;AAK0B,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1B,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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_ExpirationCountdown","_interopRequireDefault","require","_AccessExpirationDateBanner","_PastExpirationDateBanner","_PastExpirationCardContent","_UpsellFarAwayCardContent","_UpsellFBESoonCardContent","obj","__esModule","default"],"sources":["../../src/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 @@
|
|
|
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/generic/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":[]}
|
|
@@ -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/generic/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":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/generic/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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_UpsellBullets","require"],"sources":["../../../src/generic/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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
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/generic/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":[]}
|
package/dist/index.js
CHANGED
|
@@ -3,25 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "ExperimentalUpgradeModal", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _upgradeModal.ExperimentalUpgradeModal;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ExperimentalUpgradeNotification", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _ExperimentalUpgradeNotification.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
6
|
Object.defineProperty(exports, "LockPaywall", {
|
|
19
7
|
enumerable: true,
|
|
20
8
|
get: function () {
|
|
21
9
|
return _paywall.default;
|
|
22
10
|
}
|
|
23
11
|
});
|
|
24
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "NextUnitButton", {
|
|
25
13
|
enumerable: true,
|
|
26
14
|
get: function () {
|
|
27
15
|
return _upgradeModal.default;
|
|
@@ -35,9 +23,6 @@ Object.defineProperty(exports, "UpgradeNotification", {
|
|
|
35
23
|
});
|
|
36
24
|
var _upgradeNotification = _interopRequireDefault(require("./upgrade-notification"));
|
|
37
25
|
var _paywall = _interopRequireDefault(require("./paywall"));
|
|
38
|
-
var _upgradeModal =
|
|
39
|
-
var _ExperimentalUpgradeNotification = _interopRequireDefault(require("./upgrade-notification/ExperimentalUpgradeNotification"));
|
|
40
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
41
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
|
+
var _upgradeModal = _interopRequireDefault(require("./upgrade-modal"));
|
|
42
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","_upgradeModal","obj","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\nimport NextUnitButton from './upgrade-modal';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n NextUnitButton,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA6C,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _data = require("../data");
|
|
8
|
+
var _ExperimentalUpsellTable = _interopRequireDefault(require("../generic/upsell-bullets/ExperimentalUpsellTable"));
|
|
9
|
+
var _ExperimentalUpsellBullets = _interopRequireDefault(require("../generic/upsell-bullets/ExperimentalUpsellBullets"));
|
|
10
|
+
var _generic = require("../generic");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
const getBulletVariation = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
isFBE,
|
|
16
|
+
variationKey,
|
|
17
|
+
enabled
|
|
18
|
+
} = _ref;
|
|
19
|
+
const {
|
|
20
|
+
VARIATIONS
|
|
21
|
+
} = _data.OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;
|
|
22
|
+
if (enabled) {
|
|
23
|
+
switch (variationKey) {
|
|
24
|
+
case VARIATIONS.TABLE:
|
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExperimentalUpsellTable.default, {
|
|
26
|
+
isFBE
|
|
27
|
+
});
|
|
28
|
+
case VARIATIONS.BULLETS:
|
|
29
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExperimentalUpsellBullets.default, {
|
|
30
|
+
isFBE
|
|
31
|
+
});
|
|
32
|
+
default:
|
|
33
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFarAwayCardContent, {
|
|
34
|
+
isFBE
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_generic.UpsellFarAwayCardContent, {
|
|
39
|
+
isFBE
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
var _default = exports.default = getBulletVariation;
|
|
43
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_data","require","_ExperimentalUpsellTable","_interopRequireDefault","_ExperimentalUpsellBullets","_generic","_jsxRuntime","obj","__esModule","default","getBulletVariation","_ref","isFBE","variationKey","enabled","VARIATIONS","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","TABLE","jsx","BULLETS","UpsellFarAwayCardContent","_default","exports"],"sources":["../../src/optimizely/utils.jsx"],"sourcesContent":["import { OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT } from '../data';\n\nimport ExperimentalUpsellTable from '../generic/upsell-bullets/ExperimentalUpsellTable';\nimport ExperimentalUpsellBullets from '../generic/upsell-bullets/ExperimentalUpsellBullets';\nimport {\n UpsellFarAwayCardContent,\n} from '../generic';\n\nconst getBulletVariation = ({ isFBE, variationKey, enabled }) => {\n const { VARIATIONS } = OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT;\n\n if (enabled) {\n switch (variationKey) {\n case VARIATIONS.TABLE:\n return <ExperimentalUpsellTable {...{ isFBE }} />;\n case VARIATIONS.BULLETS:\n return <ExperimentalUpsellBullets {...{ isFBE }} />;\n default:\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n }\n }\n\n return <UpsellFarAwayCardContent {...{ isFBE }} />;\n};\n\nexport default getBulletVariation;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,wBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEoB,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpB,MAAMG,kBAAkB,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,KAAK;IAAEC,YAAY;IAAEC;EAAQ,CAAC,GAAAH,IAAA;EAC1D,MAAM;IAAEI;EAAW,CAAC,GAAGC,uCAAiC;EAExD,IAAIF,OAAO,EAAE;IACX,QAAQD,YAAY;MAClB,KAAKE,UAAU,CAACE,KAAK;QACnB,oBAAO,IAAAX,WAAA,CAAAY,GAAA,EAAChB,wBAAA,CAAAO,OAAuB;UAAOG;QAAK,CAAK,CAAC;MACnD,KAAKG,UAAU,CAACI,OAAO;QACrB,oBAAO,IAAAb,WAAA,CAAAY,GAAA,EAACd,0BAAA,CAAAK,OAAyB;UAAOG;QAAK,CAAK,CAAC;MACrD;QACE,oBAAO,IAAAN,WAAA,CAAAY,GAAA,EAACb,QAAA,CAAAe,wBAAwB;UAAOR;QAAK,CAAK,CAAC;IACtD;EACF;EAEA,oBAAO,IAAAN,WAAA,CAAAY,GAAA,EAACb,QAAA,CAAAe,wBAAwB;IAAOR;EAAK,CAAK,CAAC;AACpD,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAb,OAAA,GAEaC,kBAAkB","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ var _upgradeButton = require("@src/generic/upgrade-button");
|
|
|
17
17
|
var _auth = require("@edx/frontend-platform/auth");
|
|
18
18
|
var _analytics = require("@edx/frontend-platform/analytics");
|
|
19
19
|
var _reactSdk = require("@optimizely/react-sdk");
|
|
20
|
-
var _upsellBullets = require("../upsell-bullets");
|
|
20
|
+
var _upsellBullets = require("../generic/upsell-bullets");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
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; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_auth","_analytics","_reactSdk","_upsellBullets","_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","ExperimentalLockPaywall","_ref","intl","courseId","course","useModel","accessExpiration","marketingUrl","offer","org","verifiedMode","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","eventProperties","org_key","courserun_key","userId","getAuthenticatedUser","logClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","logClickPastExpiration","jsx","Alert","variant","icon","Locked","className","children","jsxs","formatMessage","messages","Hyperlink","destination","onClick","target","classNames","style","float","alt","src","certificateLocked","height","VerifiedCertBullet","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","UpgradeButton","whiteSpace","propTypes","intlShape","isRequired","PropTypes","string","_default","exports","injectIntl","withOptimizely"],"sources":["../../src/paywall/ExperimentalLockPaywall.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Alert, breakpoints, Hyperlink, useWindowSize,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\nimport messages from '@src/courseware/course/sequence/lock-paywall/messages';\nimport certificateLocked from '@src/generic/assets/edX_locked_certificate.png';\nimport { useModel } from '@src/generic/model-store';\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { withOptimizely } from '@optimizely/react-sdk';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '../upsell-bullets';\n\nconst ExperimentalLockPaywall = ({\n intl,\n courseId,\n}) => {\n const course = useModel('coursewareMeta', courseId);\n const {\n accessExpiration,\n marketingUrl,\n offer,\n } = course;\n\n const {\n org, verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n // the following variables are set and used for resposive layout to work with\n // whether the NotificationTray is open or not and if there's an offer with longer text\n const shouldDisplayGatedContentTwoColumnsHalf = useWindowSize().width <= breakpoints.large.minWidth;\n const shouldWrapTextOnButton = useWindowSize().width > breakpoints.extraSmall.minWidth;\n\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;\n\n if (!verifiedMode) {\n return null;\n }\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n\n const { userId } = getAuthenticatedUser();\n\n const logClick = () => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: '(none)',\n linkName: 'in_course_upgrade',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', {\n ...eventProperties,\n linkCategory: 'gated_content',\n linkName: 'course_details',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n return (\n <Alert variant=\"light\" aria-live=\"off\" icon={Locked} className=\"lock-paywall-container\" data-testid=\"lock-paywall-lock-paywall-test-id\">\n <div className=\"row\">\n <div className=\"col\">\n <h4 aria-level=\"3\">\n <span>{intl.formatMessage(messages['learn.lockPaywall.title'])}</span>\n </h4>\n {pastExpirationDeadline ? (\n <div className=\"mb-2 upgrade-intro\" data-testid=\"lock-paywall-past-expiration\">\n {intl.formatMessage(messages['learn.lockPaywall.content.pastExpiration'])}\n <Hyperlink destination={marketingUrl} onClick={logClickPastExpiration(eventProperties)} target=\"_blank\" data-testid=\"lock-paywall-past-expiration-link\">{intl.formatMessage(messages['learn.lockPaywall.courseDetails'])}</Hyperlink>\n </div>\n ) : (\n <div className=\"mb-2 upgrade-intro\">\n {intl.formatMessage(messages['learn.lockPaywall.content'])}\n </div>\n )}\n\n <div className={classNames('d-inline-flex flex-row', { 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf })}>\n <div style={{ float: 'left' }} className=\"mr-3 mb-2\">\n <img\n alt={intl.formatMessage(messages['learn.lockPaywall.example.alt'])}\n src={certificateLocked}\n className=\"border-0 certificate-image-banner\"\n style={{ height: '128px', width: '175px' }}\n />\n </div>\n\n <div className=\"mw-xs list-div\">\n <div className=\"mb-2\">\n {intl.formatMessage(messages['learn.lockPaywall.list.intro'])}\n </div>\n <ul className=\"fa-ul ml-4 pl-2\">\n <VerifiedCertBullet />\n <UnlockGradedBullet />\n <FullAccessBullet />\n <SupportMissionBullet />\n </ul>\n </div>\n </div>\n </div>\n\n {pastExpirationDeadline\n ? null\n : (\n <div\n className={\n classNames('d-flex flex-column align-items-md-center text-right justify-content-center', {\n 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf, 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf,\n })\n }\n >\n <UpgradeButton\n offer={offer}\n onClick={() => logClick(eventProperties, userId)}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testid=\"upgrade-button\"\n />\n </div>\n )}\n </div>\n </Alert>\n );\n};\nExperimentalLockPaywall.propTypes = {\n intl: intlShape.isRequired,\n courseId: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(withOptimizely(ExperimentalLockPaywall));\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_auth","_analytics","_reactSdk","_upsellBullets","_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","ExperimentalLockPaywall","_ref","intl","courseId","course","useModel","accessExpiration","marketingUrl","offer","org","verifiedMode","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","eventProperties","org_key","courserun_key","userId","getAuthenticatedUser","logClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","logClickPastExpiration","jsx","Alert","variant","icon","Locked","className","children","jsxs","formatMessage","messages","Hyperlink","destination","onClick","target","classNames","style","float","alt","src","certificateLocked","height","VerifiedCertBullet","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","UpgradeButton","whiteSpace","propTypes","intlShape","isRequired","PropTypes","string","_default","exports","injectIntl","withOptimizely"],"sources":["../../src/paywall/ExperimentalLockPaywall.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport {\n Alert, breakpoints, Hyperlink, useWindowSize,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\nimport messages from '@src/courseware/course/sequence/lock-paywall/messages';\nimport certificateLocked from '@src/generic/assets/edX_locked_certificate.png';\nimport { useModel } from '@src/generic/model-store';\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { withOptimizely } from '@optimizely/react-sdk';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '../generic/upsell-bullets';\n\nconst ExperimentalLockPaywall = ({\n intl,\n courseId,\n}) => {\n const course = useModel('coursewareMeta', courseId);\n const {\n accessExpiration,\n marketingUrl,\n offer,\n } = course;\n\n const {\n org, verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n // the following variables are set and used for resposive layout to work with\n // whether the NotificationTray is open or not and if there's an offer with longer text\n const shouldDisplayGatedContentTwoColumnsHalf = useWindowSize().width <= breakpoints.large.minWidth;\n const shouldWrapTextOnButton = useWindowSize().width > breakpoints.extraSmall.minWidth;\n\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;\n\n if (!verifiedMode) {\n return null;\n }\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n\n const { userId } = getAuthenticatedUser();\n\n const logClick = () => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: '(none)',\n linkName: 'in_course_upgrade',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', {\n ...eventProperties,\n linkCategory: 'gated_content',\n linkName: 'course_details',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n return (\n <Alert variant=\"light\" aria-live=\"off\" icon={Locked} className=\"lock-paywall-container\" data-testid=\"lock-paywall-lock-paywall-test-id\">\n <div className=\"row\">\n <div className=\"col\">\n <h4 aria-level=\"3\">\n <span>{intl.formatMessage(messages['learn.lockPaywall.title'])}</span>\n </h4>\n {pastExpirationDeadline ? (\n <div className=\"mb-2 upgrade-intro\" data-testid=\"lock-paywall-past-expiration\">\n {intl.formatMessage(messages['learn.lockPaywall.content.pastExpiration'])}\n <Hyperlink destination={marketingUrl} onClick={logClickPastExpiration(eventProperties)} target=\"_blank\" data-testid=\"lock-paywall-past-expiration-link\">{intl.formatMessage(messages['learn.lockPaywall.courseDetails'])}</Hyperlink>\n </div>\n ) : (\n <div className=\"mb-2 upgrade-intro\">\n {intl.formatMessage(messages['learn.lockPaywall.content'])}\n </div>\n )}\n\n <div className={classNames('d-inline-flex flex-row', { 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf })}>\n <div style={{ float: 'left' }} className=\"mr-3 mb-2\">\n <img\n alt={intl.formatMessage(messages['learn.lockPaywall.example.alt'])}\n src={certificateLocked}\n className=\"border-0 certificate-image-banner\"\n style={{ height: '128px', width: '175px' }}\n />\n </div>\n\n <div className=\"mw-xs list-div\">\n <div className=\"mb-2\">\n {intl.formatMessage(messages['learn.lockPaywall.list.intro'])}\n </div>\n <ul className=\"fa-ul ml-4 pl-2\">\n <VerifiedCertBullet />\n <UnlockGradedBullet />\n <FullAccessBullet />\n <SupportMissionBullet />\n </ul>\n </div>\n </div>\n </div>\n\n {pastExpirationDeadline\n ? null\n : (\n <div\n className={\n classNames('d-flex flex-column align-items-md-center text-right justify-content-center', {\n 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf, 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf,\n })\n }\n >\n <UpgradeButton\n offer={offer}\n onClick={() => logClick(eventProperties, userId)}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testid=\"upgrade-button\"\n />\n </div>\n )}\n </div>\n </Alert>\n );\n};\nExperimentalLockPaywall.propTypes = {\n intl: intlShape.isRequired,\n courseId: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(withOptimizely(ExperimentalLockPaywall));\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
10
|
+
var _paragon = require("@openedx/paragon");
|
|
11
|
+
var _certificatePreview = _interopRequireDefault(require("../upgrade-notification/certificate-preview"));
|
|
12
|
+
var _data = require("../data");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const BaseModal = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
isOpen,
|
|
18
|
+
close,
|
|
19
|
+
courseId,
|
|
20
|
+
offer,
|
|
21
|
+
callToActionButton,
|
|
22
|
+
variationKey,
|
|
23
|
+
children
|
|
24
|
+
} = _ref;
|
|
25
|
+
const intl = (0, _i18n.useIntl)();
|
|
26
|
+
const title = intl.formatMessage({
|
|
27
|
+
id: 'learning.upgrade-modal.title',
|
|
28
|
+
defaultMessage: 'Pursue a verified certificate',
|
|
29
|
+
description: 'Upgrade modal title'
|
|
30
|
+
});
|
|
31
|
+
const isTableVariation = variationKey === _data.OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT.VARIATIONS.TABLE;
|
|
32
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.MarketingModal, {
|
|
33
|
+
title: title,
|
|
34
|
+
isOpen: isOpen,
|
|
35
|
+
onClose: close,
|
|
36
|
+
isBlocking: true,
|
|
37
|
+
size: "md",
|
|
38
|
+
heroIsDark: true,
|
|
39
|
+
heroNode: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ModalDialog.Hero, {
|
|
40
|
+
className: "justify-content-center",
|
|
41
|
+
style: {
|
|
42
|
+
background: 'linear-gradient(#001B1E, #0E3639)',
|
|
43
|
+
borderTopLeftRadius: '6.8px',
|
|
44
|
+
borderTopRightRadius: '6.8px'
|
|
45
|
+
},
|
|
46
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ModalDialog.Hero.Content, {
|
|
47
|
+
className: "m-0 text-primary-500",
|
|
48
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_certificatePreview.default, {
|
|
49
|
+
courseId,
|
|
50
|
+
bgColor: 'bg-light-100'
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
}),
|
|
54
|
+
footerNode: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.ActionRow, {
|
|
55
|
+
isStacked: true,
|
|
56
|
+
className: "mb-2",
|
|
57
|
+
children: [callToActionButton, offer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
58
|
+
className: "text-center discount-info",
|
|
59
|
+
children: intl.formatMessage({
|
|
60
|
+
id: 'learning.generic.upgradeNotification.code',
|
|
61
|
+
defaultMessage: 'Use code {code} at checkout',
|
|
62
|
+
values: {
|
|
63
|
+
code: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
64
|
+
className: "font-weight-bold",
|
|
65
|
+
children: offer.code
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
})]
|
|
70
|
+
}),
|
|
71
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
72
|
+
className: "h3 mb-3 mt-2.5",
|
|
73
|
+
children: !isTableVariation && title
|
|
74
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
75
|
+
className: isTableVariation ? 'mx-n4' : 'ml-n4',
|
|
76
|
+
children: children
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
BaseModal.defaultProps = {
|
|
81
|
+
offer: null
|
|
82
|
+
};
|
|
83
|
+
BaseModal.propTypes = {
|
|
84
|
+
offer: _propTypes.default.shape({
|
|
85
|
+
code: _propTypes.default.string
|
|
86
|
+
}),
|
|
87
|
+
variationKey: _propTypes.default.string.isRequired,
|
|
88
|
+
courseId: _propTypes.default.string.isRequired,
|
|
89
|
+
close: _propTypes.default.func.isRequired,
|
|
90
|
+
isOpen: _propTypes.default.bool.isRequired,
|
|
91
|
+
callToActionButton: _propTypes.default.node.isRequired,
|
|
92
|
+
children: _propTypes.default.node.isRequired
|
|
93
|
+
};
|
|
94
|
+
var _default = exports.default = BaseModal;
|
|
95
|
+
//# sourceMappingURL=BaseModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_certificatePreview","_data","_jsxRuntime","obj","__esModule","default","BaseModal","_ref","isOpen","close","courseId","offer","callToActionButton","variationKey","children","intl","useIntl","title","formatMessage","id","defaultMessage","description","isTableVariation","OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT","VARIATIONS","TABLE","jsxs","MarketingModal","onClose","isBlocking","size","heroIsDark","heroNode","jsx","ModalDialog","Hero","className","style","background","borderTopLeftRadius","borderTopRightRadius","Content","bgColor","footerNode","ActionRow","isStacked","values","code","defaultProps","propTypes","PropTypes","shape","string","isRequired","func","bool","node","_default","exports"],"sources":["../../src/upgrade-modal/BaseModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { ActionRow, MarketingModal, ModalDialog } from '@openedx/paragon';\nimport CertificatePreview from '../upgrade-notification/certificate-preview';\nimport { OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT } from '../data';\n\nconst BaseModal = ({\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n variationKey,\n children,\n}) => {\n const intl = useIntl();\n const title = intl.formatMessage({\n id: 'learning.upgrade-modal.title',\n defaultMessage: 'Pursue a verified certificate',\n description: 'Upgrade modal title',\n });\n\n const isTableVariation = variationKey === OPTIMIZELY_VTR_SIDEBAR_EXPERIMENT.VARIATIONS.TABLE;\n\n return (\n <MarketingModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isBlocking\n size=\"md\"\n heroIsDark\n heroNode={(\n <ModalDialog.Hero\n className=\"justify-content-center\"\n style={{\n background: 'linear-gradient(#001B1E, #0E3639)',\n borderTopLeftRadius: '6.8px',\n borderTopRightRadius: '6.8px',\n }}\n >\n <ModalDialog.Hero.Content className=\"m-0 text-primary-500\">\n <CertificatePreview {...{ courseId, bgColor: 'bg-light-100' }} />\n </ModalDialog.Hero.Content>\n </ModalDialog.Hero>\n )}\n footerNode={(\n <ActionRow isStacked className=\"mb-2\">\n {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 {!isTableVariation && title}\n </h2>\n <div className={isTableVariation ? 'mx-n4' : 'ml-n4'}>\n {children}\n </div>\n </MarketingModal>\n );\n};\n\nBaseModal.defaultProps = {\n offer: null,\n};\n\nBaseModal.propTypes = {\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n variationKey: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n callToActionButton: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default BaseModal;\n"],"mappings":"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","ignoreList":[]}
|