@edx/frontend-plugin-advertisements 1.8.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.
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "optimizely", {
21
21
  return _optimizely.optimizely;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "trackDeclineUpgradeClickOptimizely", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _optimizely.trackDeclineUpgradeClickOptimizely;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "trackUpgradeClickOptimizely", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -1 +1 @@
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} 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":[]}
@@ -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_VARIATION_KEYS = 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;
@@ -23,4 +23,9 @@ const trackUpgradeClickOptimizely = function (userId) {
23
23
  optimizely.track('upgrade_button_click', userId, userAttributes);
24
24
  };
25
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;
26
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","OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS","WHY_NOT_SURVEY","CERTIFICATE_PREVIEW","PARTNER_BRANDING","CONTROL","OFF","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 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\nexport {\n optimizely,\n OPTIMIZELY_VTR_EXPERIMENT_KEY,\n OPTIMIZELY_VTR_EXPERIMENT_VARIATION_KEYS,\n trackUpgradeClickOptimizely,\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","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,10 +3,10 @@
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
12
  Object.defineProperty(exports, "UpgradeNotification", {
@@ -16,6 +16,6 @@ Object.defineProperty(exports, "UpgradeNotification", {
16
16
  }
17
17
  });
18
18
  var _upgradeNotification = _interopRequireDefault(require("./upgrade-notification"));
19
- var _paywall = require("./paywall");
19
+ var _paywall = _interopRequireDefault(require("./paywall"));
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_upgradeNotification","_interopRequireDefault","require","_paywall","obj","__esModule","default"],"sources":["../src/index.jsx"],"sourcesContent":["export { default as UpgradeNotification } from './upgrade-notification';\nexport { DefaultLockPaywall } from './paywall';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAA+C,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-plugin-advertisements",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "Frontend plugin for edX in course advertisements",
5
5
  "repository": {
6
6
  "type": "git",