@edx/frontend-plugin-advertisements 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/data/__factories__/courseHomeMeta.factory.js +1 -1
  2. package/dist/data/__factories__/courseHomeMeta.factory.js.map +1 -1
  3. package/dist/data/{api.js → discovery_api.js} +1 -1
  4. package/dist/data/discovery_api.js.map +1 -0
  5. package/dist/data/index.js +12 -0
  6. package/dist/data/index.js.map +1 -1
  7. package/dist/data/lms_api.js +36 -0
  8. package/dist/data/lms_api.js.map +1 -0
  9. package/dist/data/optimizely.js +13 -1
  10. package/dist/data/optimizely.js.map +1 -1
  11. package/dist/index.js +7 -12
  12. package/dist/index.js.map +1 -1
  13. package/dist/mocks/optimizely/index.js +1 -1
  14. package/dist/mocks/optimizely/index.js.map +1 -1
  15. package/dist/paywall/ExperimentalLockPaywall.js +174 -0
  16. package/dist/paywall/ExperimentalLockPaywall.js.map +1 -0
  17. package/dist/paywall/LockPaywall.js +25 -0
  18. package/dist/paywall/LockPaywall.js.map +1 -0
  19. package/dist/paywall/index.js +3 -7
  20. package/dist/paywall/index.js.map +1 -1
  21. package/dist/paywall/utils.js +27 -0
  22. package/dist/paywall/utils.js.map +1 -0
  23. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +4 -1
  24. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +1 -1
  25. package/dist/upgrade-notification/UpgradeNotification.js +25 -0
  26. package/dist/upgrade-notification/UpgradeNotification.js.map +1 -0
  27. package/dist/upgrade-notification/certificate-preview/CertificatePreview.js +169 -0
  28. package/dist/upgrade-notification/certificate-preview/CertificatePreview.js.map +1 -0
  29. package/dist/upgrade-notification/certificate-preview/CertificatePreview.scss +104 -0
  30. package/dist/upgrade-notification/certificate-preview/Signatory.js +39 -0
  31. package/dist/upgrade-notification/certificate-preview/Signatory.js.map +1 -0
  32. package/dist/upgrade-notification/certificate-preview/assets/signatory-placeholder.png +0 -0
  33. package/dist/upgrade-notification/certificate-preview/index.js +10 -0
  34. package/dist/upgrade-notification/certificate-preview/index.js.map +1 -0
  35. package/dist/upgrade-notification/index.js +3 -14
  36. package/dist/upgrade-notification/index.js.map +1 -1
  37. package/dist/upgrade-notification/partner-branding/PartnerBranding.js +2 -2
  38. package/dist/upgrade-notification/partner-branding/PartnerBranding.js.map +1 -1
  39. package/package.json +5 -4
  40. package/dist/data/api.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  var _rosie = require("rosie");
4
4
  // eslint-disable-line import/no-extraneous-dependencies
5
5
 
6
- _rosie.Factory.define('courseHomeMeta').option('host', 'http://localhost:18000').attr('org', 'edX').attr('userTimezone', null).attr('verifiedMode', ['host'], host => ({
6
+ _rosie.Factory.define('courseHomeMeta').option('host', 'http://localhost:18000').attr('number', 'DemoX').attr('title', 'Demonstration Course').attr('org', 'edX').attr('userTimezone', null).attr('verifiedMode', ['host'], host => ({
7
7
  access_expiration_date: '2050-01-01T12:00:00',
8
8
  currency: 'USD',
9
9
  currencySymbol: '$',
@@ -1 +1 @@
1
- {"version":3,"file":"courseHomeMeta.factory.js","names":["_rosie","require","Factory","define","option","attr","host","access_expiration_date","currency","currencySymbol","price","sku","upgradeUrl"],"sources":["../../../src/data/__factories__/courseHomeMeta.factory.js"],"sourcesContent":["import { Factory } from 'rosie'; // eslint-disable-line import/no-extraneous-dependencies\n\nFactory.define('courseHomeMeta')\n .option('host', 'http://localhost:18000')\n .attr('org', 'edX')\n .attr('userTimezone', null)\n .attr('verifiedMode', ['host'], (host) => ({\n access_expiration_date: '2050-01-01T12:00:00',\n currency: 'USD',\n currencySymbol: '$',\n price: 149,\n sku: 'ABCD1234',\n upgradeUrl: `${host}/dashboard`,\n }));\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAiC;;AAEjCC,cAAO,CAACC,MAAM,CAAC,gBAAgB,CAAC,CAC7BC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACxCC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAClBA,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAC1BA,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAGC,IAAI,KAAM;EACzCC,sBAAsB,EAAE,qBAAqB;EAC7CC,QAAQ,EAAE,KAAK;EACfC,cAAc,EAAE,GAAG;EACnBC,KAAK,EAAE,GAAG;EACVC,GAAG,EAAE,UAAU;EACfC,UAAU,EAAG,GAAEN,IAAK;AACtB,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"courseHomeMeta.factory.js","names":["_rosie","require","Factory","define","option","attr","host","access_expiration_date","currency","currencySymbol","price","sku","upgradeUrl"],"sources":["../../../src/data/__factories__/courseHomeMeta.factory.js"],"sourcesContent":["import { Factory } from 'rosie'; // eslint-disable-line import/no-extraneous-dependencies\n\nFactory.define('courseHomeMeta')\n .option('host', 'http://localhost:18000')\n .attr('number', 'DemoX')\n .attr('title', 'Demonstration Course')\n .attr('org', 'edX')\n .attr('userTimezone', null)\n .attr('verifiedMode', ['host'], (host) => ({\n access_expiration_date: '2050-01-01T12:00:00',\n currency: 'USD',\n currencySymbol: '$',\n price: 149,\n sku: 'ABCD1234',\n upgradeUrl: `${host}/dashboard`,\n }));\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAiC;;AAEjCC,cAAO,CAACC,MAAM,CAAC,gBAAgB,CAAC,CAC7BC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACxCC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACvBA,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CACrCA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAClBA,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAC1BA,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAGC,IAAI,KAAM;EACzCC,sBAAsB,EAAE,qBAAqB;EAC7CC,QAAQ,EAAE,KAAK;EACfC,cAAc,EAAE,GAAG;EACnBC,KAAK,EAAE,GAAG;EACVC,GAAG,EAAE,UAAU;EACfC,UAAU,EAAG,GAAEN,IAAK;AACtB,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -24,4 +24,4 @@ async function fetchOrg(courseRunId) {
24
24
  } = await (0, _auth.getAuthenticatedHttpClient)().get(coursesUrl.href);
25
25
  return data.owners[0]; // only retrieve first org related to course
26
26
  }
27
- //# sourceMappingURL=api.js.map
27
+ //# sourceMappingURL=discovery_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery_api.js","names":["_frontendPlatform","require","_auth","fetchCourseId","courseRunId","discoveryApiUrl","getConfig","DISCOVERY_API_BASE_URL","courseRunsUrl","URL","data","getAuthenticatedHttpClient","get","href","course","fetchOrg","courseId","coursesUrl","owners"],"sources":["../../src/data/discovery_api.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nexport async function fetchCourseId(courseRunId) {\n const discoveryApiUrl = getConfig().DISCOVERY_API_BASE_URL;\n const courseRunsUrl = new URL(`${discoveryApiUrl}/api/v1/course_runs/${courseRunId}`);\n const { data } = await getAuthenticatedHttpClient().get(courseRunsUrl.href);\n return data.course;\n}\n\nexport async function fetchOrg(courseRunId) {\n const courseId = await fetchCourseId(courseRunId);\n const discoveryApiUrl = getConfig().DISCOVERY_API_BASE_URL;\n const coursesUrl = new URL(`${discoveryApiUrl}/api/v1/courses/${courseId}`);\n const { data } = await getAuthenticatedHttpClient().get(coursesUrl.href);\n return data.owners[0]; // only retrieve first org related to course\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEO,eAAeE,aAAaA,CAACC,WAAW,EAAE;EAC/C,MAAMC,eAAe,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,sBAAsB;EAC1D,MAAMC,aAAa,GAAG,IAAIC,GAAG,CAAE,GAAEJ,eAAgB,uBAAsBD,WAAY,EAAC,CAAC;EACrF,MAAM;IAAEM;EAAK,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAACC,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC;EAC3E,OAAOH,IAAI,CAACI,MAAM;AACpB;AAEO,eAAeC,QAAQA,CAACX,WAAW,EAAE;EAC1C,MAAMY,QAAQ,GAAG,MAAMb,aAAa,CAACC,WAAW,CAAC;EACjD,MAAMC,eAAe,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,sBAAsB;EAC1D,MAAMU,UAAU,GAAG,IAAIR,GAAG,CAAE,GAAEJ,eAAgB,mBAAkBW,QAAS,EAAC,CAAC;EAC3E,MAAM;IAAEN;EAAK,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAACC,GAAG,CAACK,UAAU,CAACJ,IAAI,CAAC;EACxE,OAAOH,IAAI,CAACQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB","ignoreList":[]}
@@ -9,12 +9,24 @@ Object.defineProperty(exports, "OPTIMIZELY_VTR_EXPERIMENT_KEY", {
9
9
  return _optimizely.OPTIMIZELY_VTR_EXPERIMENT_KEY;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _optimizely.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "optimizely", {
13
19
  enumerable: true,
14
20
  get: function () {
15
21
  return _optimizely.optimizely;
16
22
  }
17
23
  });
24
+ Object.defineProperty(exports, "trackDeclineUpgradeClickOptimizely", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _optimizely.trackDeclineUpgradeClickOptimizely;
28
+ }
29
+ });
18
30
  Object.defineProperty(exports, "trackUpgradeClickOptimizely", {
19
31
  enumerable: true,
20
32
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_optimizely","require"],"sources":["../../src/data/index.jsx"],"sourcesContent":["export { optimizely, OPTIMIZELY_VTR_EXPERIMENT_KEY, trackUpgradeClickOptimizely } from './optimizely';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_optimizely","require"],"sources":["../../src/data/index.jsx"],"sourcesContent":["export {\n optimizely,\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n trackUpgradeClickOptimizely,\n trackDeclineUpgradeClickOptimizely,\n} from './optimizely';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchOrg = fetchOrg;
7
+ exports.fetchVerifiedName = fetchVerifiedName;
8
+ var _frontendPlatform = require("@edx/frontend-platform");
9
+ var _auth = require("@edx/frontend-platform/auth");
10
+ async function fetchOrg(org) {
11
+ const LmsApiUrl = (0, _frontendPlatform.getConfig)().LMS_BASE_URL;
12
+ const orgUrl = new URL(`${LmsApiUrl}/api/organizations/v0/organizations/${org}/`);
13
+ let data;
14
+ try {
15
+ ({
16
+ data
17
+ } = await (0, _auth.getAuthenticatedHttpClient)().get(orgUrl.href));
18
+ } catch (error) {
19
+ data = null;
20
+ }
21
+ return (0, _frontendPlatform.camelCaseObject)(data);
22
+ }
23
+ async function fetchVerifiedName() {
24
+ const LmsApiUrl = (0, _frontendPlatform.getConfig)().LMS_BASE_URL;
25
+ const verifiedNameUrl = new URL(`${LmsApiUrl}/api/edx_name_affirmation/v1/verified_name`);
26
+ let data;
27
+ try {
28
+ ({
29
+ data
30
+ } = await (0, _auth.getAuthenticatedHttpClient)().get(verifiedNameUrl.href));
31
+ } catch (error) {
32
+ data = null;
33
+ }
34
+ return (0, _frontendPlatform.camelCaseObject)(data);
35
+ }
36
+ //# sourceMappingURL=lms_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lms_api.js","names":["_frontendPlatform","require","_auth","fetchOrg","org","LmsApiUrl","getConfig","LMS_BASE_URL","orgUrl","URL","data","getAuthenticatedHttpClient","get","href","error","camelCaseObject","fetchVerifiedName","verifiedNameUrl"],"sources":["../../src/data/lms_api.js"],"sourcesContent":["import { getConfig, camelCaseObject } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nexport async function fetchOrg(org) {\n const LmsApiUrl = getConfig().LMS_BASE_URL;\n const orgUrl = new URL(`${LmsApiUrl}/api/organizations/v0/organizations/${org}/`);\n\n let data;\n try {\n ({ data } = await getAuthenticatedHttpClient().get(orgUrl.href));\n } catch (error) {\n data = null;\n }\n return camelCaseObject(data);\n}\n\nexport async function fetchVerifiedName() {\n const LmsApiUrl = getConfig().LMS_BASE_URL;\n const verifiedNameUrl = new URL(`${LmsApiUrl}/api/edx_name_affirmation/v1/verified_name`);\n let data;\n try {\n ({ data } = await getAuthenticatedHttpClient().get(verifiedNameUrl.href));\n } catch (error) {\n data = null;\n }\n return camelCaseObject(data);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEO,eAAeE,QAAQA,CAACC,GAAG,EAAE;EAClC,MAAMC,SAAS,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,YAAY;EAC1C,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAAE,GAAEJ,SAAU,uCAAsCD,GAAI,GAAE,CAAC;EAEjF,IAAIM,IAAI;EACR,IAAI;IACF,CAAC;MAAEA;IAAK,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAACC,GAAG,CAACJ,MAAM,CAACK,IAAI,CAAC;EACjE,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdJ,IAAI,GAAG,IAAI;EACb;EACA,OAAO,IAAAK,iCAAe,EAACL,IAAI,CAAC;AAC9B;AAEO,eAAeM,iBAAiBA,CAAA,EAAG;EACxC,MAAMX,SAAS,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,YAAY;EAC1C,MAAMU,eAAe,GAAG,IAAIR,GAAG,CAAE,GAAEJ,SAAU,4CAA2C,CAAC;EACzF,IAAIK,IAAI;EACR,IAAI;IACF,CAAC;MAAEA;IAAK,CAAC,GAAG,MAAM,IAAAC,gCAA0B,EAAC,CAAC,CAACC,GAAG,CAACK,eAAe,CAACJ,IAAI,CAAC;EAC1E,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdJ,IAAI,GAAG,IAAI;EACb;EACA,OAAO,IAAAK,iCAAe,EAACL,IAAI,CAAC;AAC9B","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.trackUpgradeClickOptimizely = exports.optimizely = exports.OPTIMIZELY_VTR_EXPERIMENT_KEY = void 0;
6
+ exports.trackUpgradeClickOptimizely = exports.trackDeclineUpgradeClickOptimizely = exports.optimizely = exports.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS = exports.OPTIMIZELY_VTR_EXPERIMENT_KEY = void 0;
7
7
  var _reactSdk = require("@optimizely/react-sdk");
8
8
  var _frontendPlatform = require("@edx/frontend-platform");
9
9
  const OPTIMIZELY_SDK_KEY = (0, _frontendPlatform.getConfig)().OPTIMIZELY_FEATURE_EXPERIMENTATION_SDK_KEY;
@@ -11,9 +11,21 @@ const optimizely = exports.optimizely = (0, _reactSdk.createInstance)({
11
11
  sdkKey: OPTIMIZELY_SDK_KEY
12
12
  });
13
13
  const OPTIMIZELY_VTR_EXPERIMENT_KEY = exports.OPTIMIZELY_VTR_EXPERIMENT_KEY = 'verified_take_rate_experimentation';
14
+ const OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS = exports.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS = {
15
+ WHY_NOT_SURVEY: 'why_not_survey',
16
+ CERTIFICATE_PREVIEW: 'certificate_preview',
17
+ PARTNER_BRANDING: 'partner_branding',
18
+ CONTROL: 'control',
19
+ OFF: 'off'
20
+ };
14
21
  const trackUpgradeClickOptimizely = function (userId) {
15
22
  let userAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
23
  optimizely.track('upgrade_button_click', userId, userAttributes);
17
24
  };
18
25
  exports.trackUpgradeClickOptimizely = trackUpgradeClickOptimizely;
26
+ const trackDeclineUpgradeClickOptimizely = function (userId) {
27
+ let userAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
+ optimizely.track('decline_upgrade_button_click', userId, userAttributes);
29
+ };
30
+ exports.trackDeclineUpgradeClickOptimizely = trackDeclineUpgradeClickOptimizely;
19
31
  //# sourceMappingURL=optimizely.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FEATURE_EXPERIMENTATION_SDK_KEY","optimizely","exports","createInstance","sdkKey","OPTIMIZELY_VTR_EXPERIMENT_KEY","trackUpgradeClickOptimizely","userId","userAttributes","arguments","length","undefined","track"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\n\nimport { getConfig } from '@edx/frontend-platform';\n\nconst OPTIMIZELY_SDK_KEY = getConfig().OPTIMIZELY_FEATURE_EXPERIMENTATION_SDK_KEY;\n\nconst optimizely = createInstance({\n sdkKey: OPTIMIZELY_SDK_KEY,\n});\n\nconst OPTIMIZELY_VTR_EXPERIMENT_KEY = 'verified_take_rate_experimentation';\n\nconst trackUpgradeClickOptimizely = (userId, userAttributes = {}) => {\n optimizely.track('upgrade_button_click', userId, userAttributes);\n};\n\nexport { optimizely, OPTIMIZELY_VTR_EXPERIMENT_KEY, trackUpgradeClickOptimizely };\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,MAAME,kBAAkB,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,0CAA0C;AAEjF,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,wBAAc,EAAC;EAChCC,MAAM,EAAEN;AACV,CAAC,CAAC;AAEF,MAAMO,6BAA6B,GAAAH,OAAA,CAAAG,6BAAA,GAAG,oCAAoC;AAE1E,MAAMC,2BAA2B,GAAG,SAAAA,CAACC,MAAM,EAA0B;EAAA,IAAxBC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC9DR,UAAU,CAACW,KAAK,CAAC,sBAAsB,EAAEL,MAAM,EAAEC,cAAc,CAAC;AAClE,CAAC;AAACN,OAAA,CAAAI,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"file":"optimizely.js","names":["_reactSdk","require","_frontendPlatform","OPTIMIZELY_SDK_KEY","getConfig","OPTIMIZELY_FEATURE_EXPERIMENTATION_SDK_KEY","optimizely","exports","createInstance","sdkKey","OPTIMIZELY_VTR_EXPERIMENT_KEY","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","CERTIFICATE_PREVIEW","PARTNER_BRANDING","CONTROL","OFF","trackUpgradeClickOptimizely","userId","userAttributes","arguments","length","undefined","track","trackDeclineUpgradeClickOptimizely"],"sources":["../../src/data/optimizely.js"],"sourcesContent":["import { createInstance } from '@optimizely/react-sdk';\n\nimport { getConfig } from '@edx/frontend-platform';\n\nconst OPTIMIZELY_SDK_KEY = getConfig().OPTIMIZELY_FEATURE_EXPERIMENTATION_SDK_KEY;\n\nconst optimizely = createInstance({\n sdkKey: OPTIMIZELY_SDK_KEY,\n});\n\nconst OPTIMIZELY_VTR_EXPERIMENT_KEY = 'verified_take_rate_experimentation';\n\nconst OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS = {\n WHY_NOT_SURVEY: 'why_not_survey',\n CERTIFICATE_PREVIEW: 'certificate_preview',\n PARTNER_BRANDING: 'partner_branding',\n CONTROL: 'control',\n OFF: 'off',\n};\n\nconst trackUpgradeClickOptimizely = (userId, userAttributes = {}) => {\n optimizely.track('upgrade_button_click', userId, userAttributes);\n};\n\nconst trackDeclineUpgradeClickOptimizely = (userId, userAttributes = {}) => {\n optimizely.track('decline_upgrade_button_click', userId, userAttributes);\n};\n\nexport {\n optimizely,\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n trackUpgradeClickOptimizely,\n trackDeclineUpgradeClickOptimizely,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,MAAME,kBAAkB,GAAG,IAAAC,2BAAS,EAAC,CAAC,CAACC,0CAA0C;AAEjF,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,wBAAc,EAAC;EAChCC,MAAM,EAAEN;AACV,CAAC,CAAC;AAEF,MAAMO,6BAA6B,GAAAH,OAAA,CAAAG,6BAAA,GAAG,oCAAoC;AAE1E,MAAMC,wCAAwC,GAAAJ,OAAA,CAAAI,wCAAA,GAAG;EAC/CC,cAAc,EAAE,gBAAgB;EAChCC,mBAAmB,EAAE,qBAAqB;EAC1CC,gBAAgB,EAAE,kBAAkB;EACpCC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,2BAA2B,GAAG,SAAAA,CAACC,MAAM,EAA0B;EAAA,IAAxBC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC9Dd,UAAU,CAACiB,KAAK,CAAC,sBAAsB,EAAEL,MAAM,EAAEC,cAAc,CAAC;AAClE,CAAC;AAACZ,OAAA,CAAAU,2BAAA,GAAAA,2BAAA;AAEF,MAAMO,kCAAkC,GAAG,SAAAA,CAACN,MAAM,EAA0B;EAAA,IAAxBC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACrEd,UAAU,CAACiB,KAAK,CAAC,8BAA8B,EAAEL,MAAM,EAAEC,cAAc,CAAC;AAC1E,CAAC;AAACZ,OAAA,CAAAiB,kCAAA,GAAAA,kCAAA","ignoreList":[]}
package/dist/index.js CHANGED
@@ -3,24 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "DefaultLockPaywall", {
6
+ Object.defineProperty(exports, "LockPaywall", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _paywall.DefaultLockPaywall;
9
+ return _paywall.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "DefaultUpgradeNotification", {
12
+ Object.defineProperty(exports, "UpgradeNotification", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _upgradeNotification.DefaultUpgradeNotification;
15
+ return _upgradeNotification.default;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "ExperimentalUpgradeNotification", {
19
- enumerable: true,
20
- get: function () {
21
- return _upgradeNotification.ExperimentalUpgradeNotification;
22
- }
23
- });
24
- var _upgradeNotification = require("./upgrade-notification");
25
- var _paywall = require("./paywall");
18
+ var _upgradeNotification = _interopRequireDefault(require("./upgrade-notification"));
19
+ var _paywall = _interopRequireDefault(require("./paywall"));
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_upgradeNotification","require","_paywall"],"sources":["../src/index.jsx"],"sourcesContent":["export { DefaultUpgradeNotification, ExperimentalUpgradeNotification } from './upgrade-notification';\nexport { DefaultLockPaywall } from './paywall';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","obj","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["import UpgradeNotification from './upgrade-notification';\nimport LockPaywall from './paywall';\n\nexport {\n UpgradeNotification,\n LockPaywall,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
@@ -8,7 +8,7 @@ exports.useDecision = exports.createInstance = exports.OptimizelyProvider = void
8
8
  /* eslint-disable react/prop-types */
9
9
 
10
10
  const useDecision = experimentKey => [{
11
- enabled: false,
11
+ enabled: true,
12
12
  variationKey: 'fill me in'
13
13
  }];
14
14
  exports.useDecision = useDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useDecision","experimentKey","enabled","variationKey","exports","OptimizelyProvider","_ref","optimizely","user","children","createInstance","args"],"sources":["../../../src/mocks/optimizely/index.jsx"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable react/prop-types */\n\nconst useDecision = (experimentKey) => (\n [{ enabled: false, variationKey: 'fill me in' }]\n);\n\nconst OptimizelyProvider = ({ optimizely, user, children = null }) => children;\n\nconst createInstance = (args) => (null);\n\nexport { createInstance, useDecision, OptimizelyProvider };\n"],"mappings":";;;;;;AAAA;AACA;;AAEA,MAAMA,WAAW,GAAIC,aAAa,IAChC,CAAC;EAAEC,OAAO,EAAE,KAAK;EAAEC,YAAY,EAAE;AAAa,CAAC,CAChD;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAEF,MAAMK,kBAAkB,GAAGC,IAAA;EAAA,IAAC;IAAEC,UAAU;IAAEC,IAAI;IAAEC,QAAQ,GAAG;EAAK,CAAC,GAAAH,IAAA;EAAA,OAAKG,QAAQ;AAAA;AAACL,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAE/E,MAAMK,cAAc,GAAIC,IAAI,IAAM,IAAK;AAACP,OAAA,CAAAM,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useDecision","experimentKey","enabled","variationKey","exports","OptimizelyProvider","_ref","optimizely","user","children","createInstance","args"],"sources":["../../../src/mocks/optimizely/index.jsx"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable react/prop-types */\n\nconst useDecision = (experimentKey) => (\n [{ enabled: true, variationKey: 'fill me in' }]\n);\n\nconst OptimizelyProvider = ({ optimizely, user, children = null }) => children;\n\nconst createInstance = (args) => (null);\n\nexport { createInstance, useDecision, OptimizelyProvider };\n"],"mappings":";;;;;;AAAA;AACA;;AAEA,MAAMA,WAAW,GAAIC,aAAa,IAChC,CAAC;EAAEC,OAAO,EAAE,IAAI;EAAEC,YAAY,EAAE;AAAa,CAAC,CAC/C;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAEF,MAAMK,kBAAkB,GAAGC,IAAA;EAAA,IAAC;IAAEC,UAAU;IAAEC,IAAI;IAAEC,QAAQ,GAAG;EAAK,CAAC,GAAAH,IAAA;EAAA,OAAKG,QAAQ;AAAA;AAACL,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAE/E,MAAMK,cAAc,GAAIC,IAAI,IAAM,IAAK;AAACP,OAAA,CAAAM,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,174 @@
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 _classnames = _interopRequireDefault(require("classnames"));
10
+ var _analytics = require("@edx/frontend-platform/analytics");
11
+ var _i18n = require("@edx/frontend-platform/i18n");
12
+ var _paragon = require("@openedx/paragon");
13
+ var _icons = require("@openedx/paragon/icons");
14
+ var _messages = _interopRequireDefault(require("@src/courseware/course/sequence/lock-paywall/messages"));
15
+ var _edX_locked_certificate = _interopRequireDefault(require("@src/generic/assets/edX_locked_certificate.png"));
16
+ var _modelStore = require("@src/generic/model-store");
17
+ var _upgradeButton = require("@src/generic/upgrade-button");
18
+ var _UpsellBullets = require("@src/generic/upsell-bullets/UpsellBullets");
19
+ var _reactSdk = require("@optimizely/react-sdk");
20
+ var _auth = require("@edx/frontend-platform/auth");
21
+ var _data = require("../data");
22
+ var _utils = _interopRequireDefault(require("./utils"));
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+ 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; }
26
+ 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; }
27
+ 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; }
28
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
29
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint import/no-unresolved: 0 */
30
+ const ExperimentalLockPaywall = _ref => {
31
+ let {
32
+ intl,
33
+ courseId
34
+ } = _ref;
35
+ const course = (0, _modelStore.useModel)('coursewareMeta', courseId);
36
+ const {
37
+ accessExpiration,
38
+ marketingUrl,
39
+ offer
40
+ } = course;
41
+ const {
42
+ org,
43
+ verifiedMode
44
+ } = (0, _modelStore.useModel)('courseHomeMeta', courseId);
45
+ const [decision] = (0, _reactSdk.useDecision)(_data.OPTIMIZELY_VTR_EXPERIMENT_KEY);
46
+ const {
47
+ variationKey
48
+ } = decision;
49
+
50
+ // the following variables are set and used for resposive layout to work with
51
+ // whether the NotificationTray is open or not and if there's an offer with longer text
52
+ const shouldDisplayGatedContentTwoColumnsHalf = (0, _paragon.useWindowSize)().width <= _paragon.breakpoints.large.minWidth;
53
+ const shouldWrapTextOnButton = (0, _paragon.useWindowSize)().width > _paragon.breakpoints.extraSmall.minWidth;
54
+ const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;
55
+ const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;
56
+ if (!verifiedMode) {
57
+ return null;
58
+ }
59
+ const eventProperties = {
60
+ org_key: org,
61
+ courserun_key: courseId,
62
+ experiment_key: _data.OPTIMIZELY_VTR_EXPERIMENT_KEY,
63
+ variation_key: variationKey
64
+ };
65
+ const {
66
+ userId
67
+ } = (0, _auth.getAuthenticatedUser)();
68
+ const logClick = () => {
69
+ (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
70
+ linkCategory: '(none)',
71
+ linkName: 'in_course_upgrade_experimental',
72
+ linkType: 'link',
73
+ pageName: 'in_course'
74
+ }));
75
+ (0, _data.trackUpgradeClickOptimizely)(userId.toString());
76
+ };
77
+ const logClickPastExpiration = () => {
78
+ (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
79
+ linkCategory: 'gated_content',
80
+ linkName: 'course_details_experimental',
81
+ linkType: 'link',
82
+ pageName: 'in_course'
83
+ }));
84
+ };
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert, {
86
+ variant: "light",
87
+ "aria-live": "off",
88
+ icon: _icons.Locked,
89
+ className: "lock-paywall-container",
90
+ "data-testId": "lock-paywall-lock-paywall-test-id",
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
92
+ className: "row",
93
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
94
+ className: "col",
95
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h4", {
96
+ "aria-level": "3",
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
98
+ children: intl.formatMessage(_messages.default['learn.lockPaywall.title'])
99
+ })
100
+ }), pastExpirationDeadline ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
101
+ className: "mb-2 upgrade-intro",
102
+ "data-testId": "lock-paywall-past-expiration",
103
+ children: [intl.formatMessage(_messages.default['learn.lockPaywall.content.pastExpiration']), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
104
+ destination: marketingUrl,
105
+ onClick: logClickPastExpiration,
106
+ target: "_blank",
107
+ "data-testId": "lock-paywall-past-expiration-link",
108
+ children: intl.formatMessage(_messages.default['learn.lockPaywall.courseDetails'])
109
+ })]
110
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
+ className: "mb-2 upgrade-intro",
112
+ children: intl.formatMessage(_messages.default['learn.lockPaywall.content'])
113
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
114
+ className: (0, _classnames.default)('d-inline-flex flex-row', {
115
+ 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf
116
+ }),
117
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
118
+ style: {
119
+ float: 'left'
120
+ },
121
+ className: "mr-3 mb-2",
122
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
123
+ alt: intl.formatMessage(_messages.default['learn.lockPaywall.example.alt']),
124
+ src: _edX_locked_certificate.default,
125
+ className: "border-0 certificate-image-banner",
126
+ style: {
127
+ height: '128px',
128
+ width: '175px'
129
+ }
130
+ })
131
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
132
+ className: "mw-xs list-div",
133
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
134
+ className: "mb-2",
135
+ children: intl.formatMessage(_messages.default['learn.lockPaywall.list.intro'])
136
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
137
+ className: "fa-ul ml-4 pl-2",
138
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_UpsellBullets.VerifiedCertBullet, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpsellBullets.UnlockGradedBullet, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpsellBullets.FullAccessBullet, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpsellBullets.SupportMissionBullet, {})]
139
+ })]
140
+ })]
141
+ })]
142
+ }), pastExpirationDeadline ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
143
+ className: (0, _classnames.default)('d-flex flex-column align-items-md-center text-right justify-content-center', {
144
+ 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf,
145
+ 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf
146
+ }),
147
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_upgradeButton.UpgradeButton, {
148
+ offer: offer,
149
+ onClick: logClick(),
150
+ verifiedMode: verifiedMode,
151
+ style: {
152
+ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null
153
+ },
154
+ "data-testId": "upgrade-button"
155
+ }), variationKey === _data.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.WHY_NOT_SURVEY ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Hyperlink, {
156
+ variant: "outline-primary",
157
+ className: "mt-3",
158
+ onClick: () => {
159
+ (0, _data.trackDeclineUpgradeClickOptimizely)(userId.toString());
160
+ (0, _utils.default)();
161
+ },
162
+ "data-testId": "lock-paywall-upgrade-decline-button",
163
+ children: "Take our 1-question survey"
164
+ }) : null]
165
+ })]
166
+ })
167
+ });
168
+ };
169
+ ExperimentalLockPaywall.propTypes = {
170
+ intl: _i18n.intlShape.isRequired,
171
+ courseId: _propTypes.default.string.isRequired
172
+ };
173
+ var _default = exports.default = (0, _i18n.injectIntl)(ExperimentalLockPaywall);
174
+ //# sourceMappingURL=ExperimentalLockPaywall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_analytics","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_UpsellBullets","_reactSdk","_auth","_data","_utils","_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","decision","useDecision","OPTIMIZELY_VTR_EXPERIMENT_KEY","variationKey","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","eventProperties","org_key","courserun_key","experiment_key","variation_key","userId","getAuthenticatedUser","logClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","trackUpgradeClickOptimizely","toString","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","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","trackDeclineUpgradeClickOptimizely","showSurvey","propTypes","intlShape","isRequired","PropTypes","string","_default","exports","injectIntl"],"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 { sendTrackEvent } from '@edx/frontend-platform/analytics';\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 {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '@src/generic/upsell-bullets/UpsellBullets';\nimport { useDecision } from '@optimizely/react-sdk';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport {\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n trackUpgradeClickOptimizely,\n trackDeclineUpgradeClickOptimizely,\n} from '../data';\nimport showSurvey from './utils';\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 const [decision] = useDecision(OPTIMIZELY_VTR_EXPERIMENT_KEY);\n const { variationKey } = decision;\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 experiment_key: OPTIMIZELY_VTR_EXPERIMENT_KEY,\n variation_key: variationKey,\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_experimental',\n linkType: 'link',\n pageName: 'in_course',\n });\n trackUpgradeClickOptimizely(userId.toString());\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_experimental',\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} 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()}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testId=\"upgrade-button\"\n />\n {variationKey === OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.WHY_NOT_SURVEY\n ? (\n <Hyperlink\n variant=\"outline-primary\"\n className=\"mt-3\"\n onClick={() => {\n trackDeclineUpgradeClickOptimizely(userId.toString());\n showSurvey();\n }}\n data-testId=\"lock-paywall-upgrade-decline-button\"\n >\n Take our 1-question survey\n </Hyperlink>\n )\n : null}\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(ExperimentalLockPaywall);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _DefaultLockPaywall = _interopRequireDefault(require("./DefaultLockPaywall"));
8
+ var _ExperimentalLockPaywall = _interopRequireDefault(require("./ExperimentalLockPaywall"));
9
+ var _Optimizely = _interopRequireDefault(require("../optimizely/Optimizely"));
10
+ var _optimizely = require("../data/optimizely");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
+ 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); }
18
+ const LockPaywall = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Optimizely.default, _objectSpread({
19
+ defaultComponent: _DefaultLockPaywall.default,
20
+ experimentalComponent: _ExperimentalLockPaywall.default,
21
+ defaultVariationKey: "off",
22
+ experimentKey: _optimizely.OPTIMIZELY_VTR_EXPERIMENT_KEY
23
+ }, props));
24
+ var _default = exports.default = LockPaywall;
25
+ //# sourceMappingURL=LockPaywall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockPaywall.js","names":["_DefaultLockPaywall","_interopRequireDefault","require","_ExperimentalLockPaywall","_Optimizely","_optimizely","_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","LockPaywall","props","jsx","defaultComponent","DefaultLockPaywall","experimentalComponent","ExperimentalLockPaywall","defaultVariationKey","experimentKey","OPTIMIZELY_VTR_EXPERIMENT_KEY","_default","exports"],"sources":["../../src/paywall/LockPaywall.jsx"],"sourcesContent":["import DefaultLockPaywall from './DefaultLockPaywall';\nimport ExperimentalLockPaywall from './ExperimentalLockPaywall';\nimport OptimizelyExperiment from '../optimizely/Optimizely';\nimport { OPTIMIZELY_VTR_EXPERIMENT_KEY } from '../data/optimizely';\n\nconst LockPaywall = (props) => (\n <OptimizelyExperiment\n defaultComponent={DefaultLockPaywall}\n experimentalComponent={ExperimentalLockPaywall}\n defaultVariationKey=\"off\"\n experimentKey={OPTIMIZELY_VTR_EXPERIMENT_KEY}\n {...props}\n />\n);\n\nexport default LockPaywall;\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAmE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,uCAAAuB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAyB,MAAA,CAAAC,WAAA,kBAAA5B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA6B,IAAA,CAAA3B,CAAA,EAAAD,CAAA,uCAAAwB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA7B,CAAA,GAAA8B,MAAA,GAAAC,MAAA,EAAA9B,CAAA;AAEnE,MAAM+B,WAAW,GAAIC,KAAK,iBACxB,IAAAvC,WAAA,CAAAwC,GAAA,EAAC1C,WAAA,CAAAK,OAAoB,EAAAc,aAAA;EACnBwB,gBAAgB,EAAEC,2BAAmB;EACrCC,qBAAqB,EAAEC,gCAAwB;EAC/CC,mBAAmB,EAAC,KAAK;EACzBC,aAAa,EAAEC;AAA8B,GACzCR,KAAK,CACV,CACF;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAA9C,OAAA,GAEamC,WAAW","ignoreList":[]}
@@ -3,12 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "DefaultLockPaywall", {
7
- enumerable: true,
8
- get: function () {
9
- return _DefaultLockPaywall.default;
10
- }
11
- });
12
- var _DefaultLockPaywall = _interopRequireDefault(require("./DefaultLockPaywall"));
6
+ exports.default = void 0;
7
+ var _LockPaywall = _interopRequireDefault(require("./LockPaywall"));
13
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _default = exports.default = _LockPaywall.default;
14
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_DefaultLockPaywall","_interopRequireDefault","require","obj","__esModule","default"],"sources":["../../src/paywall/index.jsx"],"sourcesContent":["export { default as DefaultLockPaywall } from './DefaultLockPaywall'; // eslint-disable-line import/prefer-default-export\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqE,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_LockPaywall","_interopRequireDefault","require","obj","__esModule","default","_default","exports","LockPaywall"],"sources":["../../src/paywall/index.jsx"],"sourcesContent":["import LockPaywall from './LockPaywall';\n\nexport default LockPaywall;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEzBG,oBAAW","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /* eslint-disable func-names,no-unused-expressions,no-param-reassign,no-sequences */
8
+
9
+ // This function contains the script provided by SuveryMonkey,
10
+ // Which is used to embed the survey in the html upon this function
11
+ // being called onClick of the "Take our survey" button
12
+ // For more info: https://help.surveymonkey.com/en/surveymonkey/send/website-collector/
13
+ const showSurvey = () => {
14
+ // SurveyMonkey uses a cookie to determine if the user has already taken the survey.
15
+ // This causes the survey to only ever appear once per user, even when the pages is refreshed.
16
+ // We reset its value here to allow the survey to appear more than once.
17
+ // There may be a better way to do this but this is the simplest workaround we found.
18
+ document.cookie = 'smcx_455874507_last_shown_at=';
19
+ (function (t, e, s, o) {
20
+ let n;
21
+ let c;
22
+ let l;
23
+ t.SMCX = t.SMCX || [], e.getElementById(o) || (n = e.getElementsByTagName(s), c = n[n.length - 1], l = e.createElement(s), l.type = 'text/javascript', l.async = !0, l.id = o, l.src = 'https://widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgdxIz34JHrCL7ZtslnQemQr9Ugsg12ofPY9us6g_2FYL315.js', c.parentNode.insertBefore(l, c));
24
+ })(window, document, 'script', 'smcx-sdk');
25
+ };
26
+ var _default = exports.default = showSurvey;
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["showSurvey","document","cookie","t","e","s","o","n","c","l","SMCX","getElementById","getElementsByTagName","length","createElement","type","async","id","src","parentNode","insertBefore","window","_default","exports","default"],"sources":["../../src/paywall/utils.jsx"],"sourcesContent":["/* eslint-disable func-names,no-unused-expressions,no-param-reassign,no-sequences */\n\n// This function contains the script provided by SuveryMonkey,\n// Which is used to embed the survey in the html upon this function\n// being called onClick of the \"Take our survey\" button\n// For more info: https://help.surveymonkey.com/en/surveymonkey/send/website-collector/\nconst showSurvey = () => {\n // SurveyMonkey uses a cookie to determine if the user has already taken the survey.\n // This causes the survey to only ever appear once per user, even when the pages is refreshed.\n // We reset its value here to allow the survey to appear more than once.\n // There may be a better way to do this but this is the simplest workaround we found.\n document.cookie = 'smcx_455874507_last_shown_at=';\n (function (t, e, s, o) { let n; let c; let l; t.SMCX = t.SMCX || [], e.getElementById(o) || (n = e.getElementsByTagName(s), c = n[n.length - 1], l = e.createElement(s), l.type = 'text/javascript', l.async = !0, l.id = o, l.src = 'https://widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgdxIz34JHrCL7ZtslnQemQr9Ugsg12ofPY9us6g_2FYL315.js', c.parentNode.insertBefore(l, c)); }(window, document, 'script', 'smcx-sdk'));\n};\n\nexport default showSurvey;\n"],"mappings":";;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA,MAAMA,UAAU,GAAGA,CAAA,KAAM;EACvB;EACA;EACA;EACA;EACAC,QAAQ,CAACC,MAAM,GAAG,+BAA+B;EAChD,WAAUC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;IAAE,IAAIC,CAAC;IAAE,IAAIC,CAAC;IAAE,IAAIC,CAAC;IAAEN,CAAC,CAACO,IAAI,GAAGP,CAAC,CAACO,IAAI,IAAI,EAAE,EAAEN,CAAC,CAACO,cAAc,CAACL,CAAC,CAAC,KAAKC,CAAC,GAAGH,CAAC,CAACQ,oBAAoB,CAACP,CAAC,CAAC,EAAEG,CAAC,GAAGD,CAAC,CAACA,CAAC,CAACM,MAAM,GAAG,CAAC,CAAC,EAAEJ,CAAC,GAAGL,CAAC,CAACU,aAAa,CAACT,CAAC,CAAC,EAAEI,CAAC,CAACM,IAAI,GAAG,iBAAiB,EAAEN,CAAC,CAACO,KAAK,GAAG,CAAC,CAAC,EAAEP,CAAC,CAACQ,EAAE,GAAGX,CAAC,EAAEG,CAAC,CAACS,GAAG,GAAG,0HAA0H,EAAEV,CAAC,CAACW,UAAU,CAACC,YAAY,CAACX,CAAC,EAAED,CAAC,CAAC,CAAC;EAAE,CAAC,EAACa,MAAM,EAAEpB,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;AAC9a,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaxB,UAAU","ignoreList":[]}
@@ -19,6 +19,7 @@ var _UpsellBullets = require("@src/generic/upsell-bullets/UpsellBullets");
19
19
  var _messages = _interopRequireDefault(require("@src/generic/messages"));
20
20
  var _modelStore = require("@src/generic/model-store");
21
21
  var _data = require("../data");
22
+ var _certificatePreview = _interopRequireDefault(require("./certificate-preview"));
22
23
  var _PartnerBranding = _interopRequireDefault(require("./partner-branding/PartnerBranding"));
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -468,8 +469,10 @@ const ExperimentalUpgradeNotification = _ref5 => {
468
469
  }),
469
470
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
470
471
  id: "courseHome-upgradeNotification",
471
- children: [variationKey === 'partner_branding' && enabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PartnerBranding.default, {
472
+ children: [variationKey === _data.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.PARTNER_BRANDING && enabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PartnerBranding.default, {
472
473
  courseRunId: courseId
474
+ }) : null, variationKey === _data.OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS.CERTIFICATE_PREVIEW && enabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_certificatePreview.default, {
475
+ courseId: courseId
473
476
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
474
477
  className: (0, _classnames.default)('h5 upgrade-notification-header', {
475
478
  'd-flex align-items-center mr-2 ml-4 my-1.5 font-size-18': !!toggleSidebar