@edx/frontend-plugin-advertisements 2.3.0 → 2.4.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 (28) hide show
  1. package/dist/data/index.js +0 -12
  2. package/dist/data/index.js.map +1 -1
  3. package/dist/data/optimizely.js +1 -22
  4. package/dist/data/optimizely.js.map +1 -1
  5. package/dist/paywall/LockPaywall.js +151 -11
  6. package/dist/paywall/LockPaywall.js.map +1 -1
  7. package/dist/upgrade-modal/NextUnitButton.js +2 -2
  8. package/dist/upgrade-modal/NextUnitButton.js.map +1 -1
  9. package/dist/upgrade-modal/{DefaultUpgradeModal.js → UpgradeModal.js} +8 -9
  10. package/dist/upgrade-modal/UpgradeModal.js.map +1 -0
  11. package/dist/upgrade-notification/UpgradeNotification.js +237 -16
  12. package/dist/upgrade-notification/UpgradeNotification.js.map +1 -1
  13. package/package.json +1 -1
  14. package/dist/optimizely/utils.js +0 -45
  15. package/dist/optimizely/utils.js.map +0 -1
  16. package/dist/paywall/DefaultLockPaywall.js +0 -164
  17. package/dist/paywall/DefaultLockPaywall.js.map +0 -1
  18. package/dist/paywall/ExperimentalLockPaywall.js +0 -197
  19. package/dist/paywall/ExperimentalLockPaywall.js.map +0 -1
  20. package/dist/upgrade-modal/DefaultUpgradeModal.js.map +0 -1
  21. package/dist/upgrade-modal/ExperimentalUpgradeModal.js +0 -188
  22. package/dist/upgrade-modal/ExperimentalUpgradeModal.js.map +0 -1
  23. package/dist/upgrade-modal/UpgradeModalWrapper.js +0 -22
  24. package/dist/upgrade-modal/UpgradeModalWrapper.js.map +0 -1
  25. package/dist/upgrade-notification/DefaultUpgradeNotification.js +0 -261
  26. package/dist/upgrade-notification/DefaultUpgradeNotification.js.map +0 -1
  27. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js +0 -309
  28. package/dist/upgrade-notification/ExperimentalUpgradeNotification.js.map +0 -1
@@ -1,197 +0,0 @@
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 _i18n = require("@edx/frontend-platform/i18n");
11
- var _paragon = require("@openedx/paragon");
12
- var _icons = require("@openedx/paragon/icons");
13
- var _messages = _interopRequireDefault(require("@src/courseware/course/sequence/lock-paywall/messages"));
14
- var _edX_locked_certificate = _interopRequireDefault(require("@src/generic/assets/edX_locked_certificate.png"));
15
- var _modelStore = require("@src/generic/model-store");
16
- var _upgradeButton = require("@src/generic/upgrade-button");
17
- var _auth = require("@edx/frontend-platform/auth");
18
- var _analytics = require("@edx/frontend-platform/analytics");
19
- var _reactSdk = require("@optimizely/react-sdk");
20
- var _data = require("../data");
21
- var _upsellBullets = require("../generic/upsell-bullets");
22
- var _cohesion = require("../cohesion");
23
- var _jsxRuntime = require("react/jsx-runtime");
24
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
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
- courseId,
33
- optimizely
34
- } = _ref;
35
- const intl = (0, _i18n.useIntl)();
36
- const course = (0, _modelStore.useModel)('coursewareMeta', courseId);
37
- const {
38
- accessExpiration,
39
- marketingUrl,
40
- offer
41
- } = course;
42
-
43
- /*
44
- Update the following line with the new experiment constants.
45
- KEY and ANY_CLICK_ACTION are required and used in the later in the code.
46
- To update the variables, make changes in ../optimizely/utils
47
- */
48
- const {
49
- KEY: experimentKey,
50
- ANY_CLICK_ACTION
51
- } = _data.OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT;
52
- const [decision] = (0, _reactSdk.useDecision)(experimentKey);
53
- const {
54
- variationKey
55
- } = decision;
56
- const {
57
- org,
58
- verifiedMode
59
- } = (0, _modelStore.useModel)('courseHomeMeta', courseId);
60
- const {
61
- conversion
62
- } = (0, _cohesion.useCohesion)(courseId);
63
-
64
- // the following variables are set and used for resposive layout to work with
65
- // whether the NotificationTray is open or not and if there's an offer with longer text
66
- const shouldDisplayGatedContentTwoColumnsHalf = (0, _paragon.useWindowSize)().width <= _paragon.breakpoints.large.minWidth;
67
- const shouldWrapTextOnButton = (0, _paragon.useWindowSize)().width > _paragon.breakpoints.extraSmall.minWidth;
68
- const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;
69
- const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;
70
- if (!verifiedMode) {
71
- return null;
72
- }
73
-
74
- // Experiment specific properties or data should not be sent to the tracking logs, so break this
75
- // object out to ensure it is only sent to Segment and not the tracking logs.
76
- const experimentProperties = {
77
- experiment_key: experimentKey,
78
- variation_key: variationKey
79
- };
80
- const eventProperties = {
81
- org_key: org,
82
- courserun_key: courseId
83
- };
84
- const {
85
- userId
86
- } = (0, _auth.getAuthenticatedUser)();
87
- const handleUpgradeClick = () => {
88
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread(_objectSpread({}, eventProperties), experimentProperties), {}, {
89
- linkCategory: '(none)',
90
- linkName: 'in_course_upgrade',
91
- linkType: 'link',
92
- pageName: 'in_course'
93
- }));
94
-
95
- /*
96
- Confirm that the ANY_CLICK_ACTION matches the event key in Optimizely.
97
- Add any additional tracking for Optimizely here.
98
- */
99
- optimizely.track(ANY_CLICK_ACTION);
100
- conversion('Upgraded');
101
- };
102
- const handleUpgradeClickPastExpiration = () => {
103
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
104
- linkCategory: 'gated_content',
105
- linkName: 'course_details',
106
- linkType: 'link',
107
- pageName: 'in_course'
108
- }));
109
- };
110
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Alert, {
111
- variant: "light",
112
- "aria-live": "off",
113
- icon: _icons.Locked,
114
- className: "lock-paywall-container",
115
- "data-testid": "lock-paywall-lock-paywall-test-id",
116
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
117
- className: "row",
118
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
119
- className: "col",
120
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h4", {
121
- "aria-level": "3",
122
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
123
- children: intl.formatMessage(_messages.default['learn.lockPaywall.title'])
124
- })
125
- }), pastExpirationDeadline ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
126
- className: "mb-2 upgrade-intro",
127
- "data-testid": "lock-paywall-past-expiration",
128
- children: [intl.formatMessage(_messages.default['learn.lockPaywall.content.pastExpiration']), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Hyperlink, {
129
- destination: marketingUrl,
130
- onClick: handleUpgradeClickPastExpiration(eventProperties),
131
- target: "_blank",
132
- "data-testid": "lock-paywall-past-expiration-link",
133
- children: [intl.formatMessage(_messages.default['learn.lockPaywall.courseDetails']), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
134
- children: intl.formatMessage({
135
- id: 'learn.lockPaywall.content.link.new-tab.screenreader-only.message',
136
- defaultMessage: 'in a new tab',
137
- description: 'Screenreader only text for new tab link'
138
- })
139
- })]
140
- })]
141
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
142
- className: "mb-2 upgrade-intro",
143
- children: intl.formatMessage(_messages.default['learn.lockPaywall.content'])
144
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
145
- className: (0, _classnames.default)('d-inline-flex flex-row', {
146
- 'flex-wrap': shouldDisplayGatedContentTwoColumnsHalf
147
- }),
148
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
149
- style: {
150
- float: 'left'
151
- },
152
- className: "mr-3 mb-2",
153
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
154
- alt: intl.formatMessage(_messages.default['learn.lockPaywall.example.alt']),
155
- src: _edX_locked_certificate.default,
156
- className: "border-0 certificate-image-banner",
157
- style: {
158
- height: '128px',
159
- width: '175px'
160
- }
161
- })
162
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
163
- className: "mw-xs list-div",
164
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
165
- className: "mb-2",
166
- children: intl.formatMessage(_messages.default['learn.lockPaywall.list.intro'])
167
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
168
- className: "fa-ul ml-4 pl-2",
169
- 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, {})]
170
- })]
171
- })]
172
- })]
173
- }), pastExpirationDeadline ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
174
- className: (0, _classnames.default)('d-flex flex-column align-items-md-center text-right justify-content-center', {
175
- 'col-md-4 mx-md-3': !shouldDisplayGatedContentTwoColumnsHalf,
176
- 'col-md-6': shouldDisplayGatedContentTwoColumnsHalf
177
- }),
178
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_upgradeButton.UpgradeButton, {
179
- offer: offer,
180
- onClick: () => handleUpgradeClick(eventProperties, userId),
181
- verifiedMode: verifiedMode,
182
- style: {
183
- whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null
184
- },
185
- "data-testid": "upgrade-button"
186
- })
187
- })]
188
- })
189
- });
190
- };
191
- ExperimentalLockPaywall.propTypes = {
192
- courseId: _propTypes.default.string.isRequired,
193
- /* eslint-disable-next-line react/forbid-prop-types */
194
- optimizely: _propTypes.default.object.isRequired
195
- };
196
- var _default = exports.default = (0, _reactSdk.withOptimizely)(ExperimentalLockPaywall);
197
- //# sourceMappingURL=ExperimentalLockPaywall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExperimentalLockPaywall.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_i18n","_paragon","_icons","_messages","_edX_locked_certificate","_modelStore","_upgradeButton","_auth","_analytics","_reactSdk","_data","_upsellBullets","_cohesion","_jsxRuntime","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ExperimentalLockPaywall","_ref","courseId","optimizely","intl","useIntl","course","useModel","accessExpiration","marketingUrl","offer","KEY","experimentKey","ANY_CLICK_ACTION","OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT","decision","useDecision","variationKey","org","verifiedMode","conversion","useCohesion","shouldDisplayGatedContentTwoColumnsHalf","useWindowSize","width","breakpoints","large","minWidth","shouldWrapTextOnButton","extraSmall","accessExpirationDate","Date","expirationDate","pastExpirationDeadline","now","experimentProperties","experiment_key","variation_key","eventProperties","org_key","courserun_key","userId","getAuthenticatedUser","handleUpgradeClick","sendTrackEvent","linkCategory","linkName","linkType","pageName","track","handleUpgradeClickPastExpiration","jsx","Alert","variant","icon","Locked","className","children","jsxs","formatMessage","messages","Hyperlink","destination","onClick","target","id","defaultMessage","description","classNames","style","float","alt","src","certificateLocked","height","VerifiedCertBullet","UnlockGradedBullet","FullAccessBullet","SupportMissionBullet","UpgradeButton","whiteSpace","propTypes","PropTypes","string","isRequired","object","_default","exports","withOptimizely"],"sources":["../../src/paywall/ExperimentalLockPaywall.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Alert, breakpoints, Hyperlink, useWindowSize,\n} from '@openedx/paragon';\nimport { Locked } from '@openedx/paragon/icons';\nimport messages from '@src/courseware/course/sequence/lock-paywall/messages';\nimport certificateLocked from '@src/generic/assets/edX_locked_certificate.png';\nimport { useModel } from '@src/generic/model-store';\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\n\nimport { OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT } from '../data';\nimport {\n VerifiedCertBullet,\n UnlockGradedBullet,\n FullAccessBullet,\n SupportMissionBullet,\n} from '../generic/upsell-bullets';\nimport { useCohesion } from '../cohesion';\n\nconst ExperimentalLockPaywall = ({\n courseId,\n optimizely,\n}) => {\n const intl = useIntl();\n const course = useModel('coursewareMeta', courseId);\n const {\n accessExpiration,\n marketingUrl,\n offer,\n } = course;\n\n /*\n Update the following line with the new experiment constants.\n KEY and ANY_CLICK_ACTION are required and used in the later in the code.\n To update the variables, make changes in ../optimizely/utils\n */\n const { KEY: experimentKey, ANY_CLICK_ACTION } = OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT;\n\n const [decision] = useDecision(experimentKey);\n const { variationKey } = decision;\n\n const {\n org, verifiedMode,\n } = useModel('courseHomeMeta', courseId);\n\n const { conversion } = useCohesion(courseId);\n\n // the following variables are set and used for resposive layout to work with\n // whether the NotificationTray is open or not and if there's an offer with longer text\n const shouldDisplayGatedContentTwoColumnsHalf = useWindowSize().width <= breakpoints.large.minWidth;\n const shouldWrapTextOnButton = useWindowSize().width > breakpoints.extraSmall.minWidth;\n\n const accessExpirationDate = accessExpiration ? new Date(accessExpiration.expirationDate) : null;\n const pastExpirationDeadline = accessExpiration ? new Date(Date.now()) > accessExpirationDate : false;\n\n if (!verifiedMode) {\n return null;\n }\n\n // Experiment specific properties or data should not be sent to the tracking logs, so break this\n // object out to ensure it is only sent to Segment and not the tracking logs.\n const experimentProperties = {\n experiment_key: experimentKey,\n variation_key: variationKey,\n };\n\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n\n const { userId } = getAuthenticatedUser();\n\n const handleUpgradeClick = () => {\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n ...experimentProperties,\n linkCategory: '(none)',\n linkName: 'in_course_upgrade',\n linkType: 'link',\n pageName: 'in_course',\n });\n\n /*\n Confirm that the ANY_CLICK_ACTION matches the event key in Optimizely.\n Add any additional tracking for Optimizely here.\n */\n optimizely.track(ANY_CLICK_ACTION);\n\n conversion('Upgraded');\n };\n\n const handleUpgradeClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.gated_content.past_expiration.link_clicked', {\n ...eventProperties,\n linkCategory: 'gated_content',\n linkName: 'course_details',\n linkType: 'link',\n pageName: 'in_course',\n });\n };\n\n return (\n <Alert variant=\"light\" aria-live=\"off\" icon={Locked} className=\"lock-paywall-container\" data-testid=\"lock-paywall-lock-paywall-test-id\">\n <div className=\"row\">\n <div className=\"col\">\n <h4 aria-level=\"3\">\n <span>{intl.formatMessage(messages['learn.lockPaywall.title'])}</span>\n </h4>\n {pastExpirationDeadline ? (\n <div className=\"mb-2 upgrade-intro\" data-testid=\"lock-paywall-past-expiration\">\n {intl.formatMessage(messages['learn.lockPaywall.content.pastExpiration'])}\n <Hyperlink\n destination={marketingUrl}\n onClick={handleUpgradeClickPastExpiration(eventProperties)}\n target=\"_blank\"\n data-testid=\"lock-paywall-past-expiration-link\"\n >\n {intl.formatMessage(messages['learn.lockPaywall.courseDetails'])}\n <span>\n {intl.formatMessage({\n id: 'learn.lockPaywall.content.link.new-tab.screenreader-only.message',\n defaultMessage: 'in a new tab',\n description: 'Screenreader only text for new tab link',\n })}\n </span>\n </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={() => handleUpgradeClick(eventProperties, userId)}\n verifiedMode={verifiedMode}\n style={{ whiteSpace: shouldWrapTextOnButton ? 'nowrap' : null }}\n data-testid=\"upgrade-button\"\n />\n </div>\n )}\n </div>\n </Alert>\n );\n};\nExperimentalLockPaywall.propTypes = {\n courseId: PropTypes.string.isRequired,\n /* eslint-disable-next-line react/forbid-prop-types */\n optimizely: PropTypes.object.isRequired,\n};\n\nexport default withOptimizely(ExperimentalLockPaywall);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_paragon","_upgradeButton","_generic","_BaseModal","_cohesion","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DefaultUpgradeModal","_ref","isOpen","close","verifiedMode","org","courseId","offer","marketingUrl","accessExpiration","datesBannerInfo","learningAssistantEnabled","upsellPageName","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","conversion","useCohesion","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","logClickPastExpiration","intl","useIntl","dateNow","Date","now","upgradeDeadlineDate","upgradeDeadline","pastDeadline","isFBE","contentTypeGatingEnabled","callToActionButton","jsx","UpgradeButton","onClick","block","Button","className","href","children","formatMessage","id","defaultMessage","description","UpsellTable","defaultProps","propTypes","PropTypes","shape","price","number","isRequired","currencySymbol","string","upgradeUrl","code","bool","func","_default","exports"],"sources":["../../src/upgrade-modal/DefaultUpgradeModal.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport { UpsellTable } from '../generic';\nimport BaseModal from './BaseModal';\nimport { useCohesion } from '../cohesion';\n\nconst DefaultUpgradeModal = ({\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n datesBannerInfo,\n learningAssistantEnabled,\n}) => {\n const upsellPageName = 'course_sequence_modal';\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n const promotionEventProperties = {\n creative: 'marketmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'marketing-modal-message',\n promotion_id: 'courseware_verified_certificate_upsell',\n ...eventProperties,\n };\n\n const { conversion } = useCohesion(courseId);\n\n useEffect(() => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const logClick = () => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'marketing-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n\n conversion('Upgraded');\n };\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', {\n ...eventProperties,\n linkCategory: 'upgrade_modal',\n linkName: `${upsellPageName}_course_details`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const intl = useIntl();\n const dateNow = Date.now();\n const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n\n let callToActionButton = (\n <UpgradeButton\n data-testid=\"upgrade-button\"\n offer={offer}\n onClick={logClick}\n verifiedMode={verifiedMode}\n block\n />\n );\n\n if (pastDeadline) {\n callToActionButton = (\n <Button\n className=\"w-100\"\n onClick={logClickPastExpiration}\n href={marketingUrl}\n >\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.upgrade-button.label',\n defaultMessage: 'View course details',\n description: 'Label for upgrade button',\n },\n )}\n </Button>\n );\n }\n\n return (\n <BaseModal\n {...{\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n }}\n >\n <UpsellTable {...{ isFBE, learningAssistantEnabled }} />\n </BaseModal>\n );\n};\n\nDefaultUpgradeModal.defaultProps = {\n verifiedMode: {},\n offer: null,\n accessExpiration: null,\n datesBannerInfo: null,\n};\nDefaultUpgradeModal.propTypes = {\n verifiedMode: PropTypes.shape({\n price: PropTypes.number.isRequired,\n currencySymbol: PropTypes.string.isRequired,\n upgradeUrl: PropTypes.string.isRequired,\n }),\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n accessExpiration: PropTypes.shape({\n upgradeDeadline: PropTypes.string,\n }),\n datesBannerInfo: PropTypes.shape({\n contentTypeGatingEnabled: PropTypes.bool,\n }),\n marketingUrl: PropTypes.string.isRequired,\n org: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n learningAssistantEnabled: PropTypes.bool.isRequired,\n};\n\nexport default DefaultUpgradeModal;\n"],"mappings":"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","ignoreList":[]}
@@ -1,188 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _reactSdk = require("@optimizely/react-sdk");
10
- var _analytics = require("@edx/frontend-platform/analytics");
11
- var _i18n = require("@edx/frontend-platform/i18n");
12
- var _paragon = require("@openedx/paragon");
13
- var _upgradeButton = require("@src/generic/upgrade-button");
14
- var _utils = _interopRequireDefault(require("../optimizely/utils"));
15
- var _data = require("../data");
16
- var _BaseModal = _interopRequireDefault(require("./BaseModal"));
17
- var _cohesion = require("../cohesion");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
- 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; }
23
- 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; }
24
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
26
- 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); } /* All of this code includes the necessary functions to run and track an A/B experiment
27
- using Optimizely. Please fully read through the code to know where changes
28
- need to be made specifically for a new test.
29
-
30
- As of 2025-01-08, this code is functionally the same as the DefaultUpgradeModal.
31
- */ /* eslint import/no-unresolved: 0 */
32
- const ExperimentalUpgradeModal = _ref => {
33
- let {
34
- isOpen,
35
- close,
36
- verifiedMode,
37
- org,
38
- courseId,
39
- offer,
40
- marketingUrl,
41
- accessExpiration,
42
- datesBannerInfo,
43
- optimizely,
44
- learningAssistantEnabled
45
- } = _ref;
46
- /*
47
- Update the following line with the new experiment constants.
48
- KEY and ANY_CLICK_ACTION are required and used in the later in the code.
49
- To update the variables, make changes in ../optimizely/utils
50
- */
51
- const {
52
- KEY: experimentKey,
53
- ANY_CLICK_ACTION
54
- } = _data.OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT;
55
- const [decision] = (0, _reactSdk.useDecision)(experimentKey);
56
- const {
57
- variationKey,
58
- enabled
59
- } = decision;
60
-
61
- // Experiment specific properties or data should not be sent to the tracking logs, so break this
62
- // object out to ensure it is only sent to Segment and not the tracking logs.
63
- const experimentProperties = {
64
- experiment_key: experimentKey,
65
- variation_key: variationKey
66
- };
67
- const upsellPageName = 'course_sequence_modal';
68
- const eventProperties = {
69
- org_key: org,
70
- courserun_key: courseId
71
- };
72
- const promotionEventProperties = _objectSpread(_objectSpread({
73
- creative: 'marketmodalupsell',
74
- name: 'In-Course Verification Prompt',
75
- position: 'marketing-modal-message',
76
- promotion_id: 'courseware_verified_certificate_upsell'
77
- }, eventProperties), experimentProperties);
78
- const {
79
- conversion
80
- } = (0, _cohesion.useCohesion)(courseId);
81
- (0, _react.useEffect)(() => {
82
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);
83
- (0, _analytics.sendTrackEvent)('Promotion Viewed', promotionEventProperties);
84
- // eslint-disable-next-line react-hooks/exhaustive-deps
85
- }, []);
86
- const logClick = () => {
87
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);
88
- (0, _analytics.sendTrackingLogEvent)('edx.course.enrollment.upgrade.clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
89
- location: 'marketing-modal-message'
90
- }));
91
- (0, _analytics.sendTrackEvent)('Promotion Clicked', promotionEventProperties);
92
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread(_objectSpread({}, eventProperties), experimentProperties), {}, {
93
- linkCategory: 'green_upgrade',
94
- linkName: `${upsellPageName}_green`,
95
- linkType: 'button',
96
- pageName: upsellPageName
97
- }));
98
-
99
- /*
100
- Confirm that the ANY_CLICK_ACTION matches the event key in Optimizely.
101
- Add any additional tracking for Optimizely here.
102
- */
103
- optimizely.track(ANY_CLICK_ACTION);
104
- conversion('Upgraded');
105
- };
106
- const logClickPastExpiration = () => {
107
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', _objectSpread(_objectSpread(_objectSpread({}, eventProperties), experimentProperties), {}, {
108
- linkCategory: 'upgrade_modal',
109
- linkName: `${upsellPageName}_course_details`,
110
- linkType: 'button',
111
- pageName: upsellPageName
112
- }));
113
- };
114
- const intl = (0, _i18n.useIntl)();
115
- const dateNow = Date.now();
116
- const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;
117
- const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;
118
- const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;
119
-
120
- /*
121
- Update the enabled variation according to your experiment
122
- */
123
- const upsellMessage = (0, _utils.default)({
124
- enabled,
125
- // temporary assignement while not running experiment to force component
126
- variationKey: 'table',
127
- isFBE,
128
- learningAssistantEnabled
129
- });
130
- let callToActionButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_upgradeButton.UpgradeButton, {
131
- offer: offer,
132
- onClick: logClick,
133
- verifiedMode: verifiedMode,
134
- block: true
135
- });
136
- if (pastDeadline) {
137
- callToActionButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
138
- className: "w-100",
139
- onClick: logClickPastExpiration,
140
- href: marketingUrl,
141
- children: intl.formatMessage({
142
- id: 'learning.upgrade-modal.upgrade-button.label',
143
- defaultMessage: 'View course details',
144
- description: 'Label for upgrade button'
145
- })
146
- });
147
- }
148
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseModal.default, {
149
- isOpen,
150
- close,
151
- courseId,
152
- offer,
153
- callToActionButton,
154
- children: upsellMessage
155
- });
156
- };
157
- ExperimentalUpgradeModal.defaultProps = {
158
- verifiedMode: {},
159
- offer: null,
160
- accessExpiration: null,
161
- datesBannerInfo: null
162
- };
163
- ExperimentalUpgradeModal.propTypes = {
164
- verifiedMode: _propTypes.default.shape({
165
- price: _propTypes.default.number.isRequired,
166
- currencySymbol: _propTypes.default.string.isRequired,
167
- upgradeUrl: _propTypes.default.string.isRequired
168
- }),
169
- offer: _propTypes.default.shape({
170
- code: _propTypes.default.string
171
- }),
172
- accessExpiration: _propTypes.default.shape({
173
- upgradeDeadline: _propTypes.default.string
174
- }),
175
- datesBannerInfo: _propTypes.default.shape({
176
- contentTypeGatingEnabled: _propTypes.default.bool
177
- }),
178
- marketingUrl: _propTypes.default.string.isRequired,
179
- org: _propTypes.default.string.isRequired,
180
- courseId: _propTypes.default.string.isRequired,
181
- close: _propTypes.default.func.isRequired,
182
- isOpen: _propTypes.default.bool.isRequired,
183
- /* eslint-disable-next-line react/forbid-prop-types */
184
- optimizely: _propTypes.default.object.isRequired,
185
- learningAssistantEnabled: _propTypes.default.bool.isRequired
186
- };
187
- var _default = exports.default = (0, _reactSdk.withOptimizely)(ExperimentalUpgradeModal);
188
- //# sourceMappingURL=ExperimentalUpgradeModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExperimentalUpgradeModal.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactSdk","_analytics","_i18n","_paragon","_upgradeButton","_utils","_data","_BaseModal","_cohesion","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ExperimentalUpgradeModal","_ref","isOpen","close","verifiedMode","org","courseId","offer","marketingUrl","accessExpiration","datesBannerInfo","optimizely","learningAssistantEnabled","KEY","experimentKey","ANY_CLICK_ACTION","OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT","decision","useDecision","variationKey","enabled","experimentProperties","experiment_key","variation_key","upsellPageName","eventProperties","org_key","courserun_key","promotionEventProperties","creative","name","position","promotion_id","conversion","useCohesion","useEffect","sendTrackingLogEvent","sendTrackEvent","logClick","location","linkCategory","linkName","linkType","pageName","track","logClickPastExpiration","intl","useIntl","dateNow","Date","now","upgradeDeadlineDate","upgradeDeadline","pastDeadline","isFBE","contentTypeGatingEnabled","upsellMessage","getBulletVariation","callToActionButton","jsx","UpgradeButton","onClick","block","Button","className","href","children","formatMessage","id","defaultMessage","description","defaultProps","propTypes","PropTypes","shape","price","number","isRequired","currencySymbol","string","upgradeUrl","code","bool","func","object","_default","exports","withOptimizely"],"sources":["../../src/upgrade-modal/ExperimentalUpgradeModal.jsx"],"sourcesContent":["/* All of this code includes the necessary functions to run and track an A/B experiment\n using Optimizely. Please fully read through the code to know where changes\n need to be made specifically for a new test.\n\n As of 2025-01-08, this code is functionally the same as the DefaultUpgradeModal.\n*/\n\n/* eslint import/no-unresolved: 0 */\nimport React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDecision, withOptimizely } from '@optimizely/react-sdk';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport { UpgradeButton } from '@src/generic/upgrade-button';\nimport getBulletVariation from '../optimizely/utils';\nimport { OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT } from '../data';\nimport BaseModal from './BaseModal';\nimport { useCohesion } from '../cohesion';\n\nconst ExperimentalUpgradeModal = ({\n isOpen,\n close,\n verifiedMode,\n org,\n courseId,\n offer,\n marketingUrl,\n accessExpiration,\n datesBannerInfo,\n optimizely,\n learningAssistantEnabled,\n}) => {\n /*\n Update the following line with the new experiment constants.\n KEY and ANY_CLICK_ACTION are required and used in the later in the code.\n To update the variables, make changes in ../optimizely/utils\n */\n const { KEY: experimentKey, ANY_CLICK_ACTION } = OPTIMIZELY_AUDIT_TRIAL_EXPERIMENT;\n\n const [decision] = useDecision(experimentKey);\n const { variationKey, enabled } = decision;\n\n // Experiment specific properties or data should not be sent to the tracking logs, so break this\n // object out to ensure it is only sent to Segment and not the tracking logs.\n const experimentProperties = {\n experiment_key: experimentKey,\n variation_key: variationKey,\n };\n\n const upsellPageName = 'course_sequence_modal';\n const eventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n const promotionEventProperties = {\n creative: 'marketmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'marketing-modal-message',\n promotion_id: 'courseware_verified_certificate_upsell',\n ...eventProperties,\n ...experimentProperties,\n };\n\n const { conversion } = useCohesion(courseId);\n\n useEffect(() => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketmodalupsell.displayed', eventProperties);\n sendTrackEvent('Promotion Viewed', promotionEventProperties);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const logClick = () => {\n sendTrackingLogEvent('edx.bi.course.upgrade.marketingmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'marketing-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n ...experimentProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n\n /*\n Confirm that the ANY_CLICK_ACTION matches the event key in Optimizely.\n Add any additional tracking for Optimizely here.\n */\n optimizely.track(ANY_CLICK_ACTION);\n\n conversion('Upgraded');\n };\n const logClickPastExpiration = () => {\n sendTrackEvent('edx.bi.ecommerce.upgrade_modal.past_expiration.button_clicked', {\n ...eventProperties,\n ...experimentProperties,\n linkCategory: 'upgrade_modal',\n linkName: `${upsellPageName}_course_details`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n };\n\n const intl = useIntl();\n const dateNow = Date.now();\n const upgradeDeadlineDate = accessExpiration ? new Date(accessExpiration.upgradeDeadline) : null;\n const pastDeadline = accessExpiration ? new Date(dateNow) > upgradeDeadlineDate : false;\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n\n /*\n Update the enabled variation according to your experiment\n */\n const upsellMessage = getBulletVariation({\n enabled,\n // temporary assignement while not running experiment to force component\n variationKey: 'table',\n isFBE,\n learningAssistantEnabled,\n });\n\n let callToActionButton = (\n <UpgradeButton\n offer={offer}\n onClick={logClick}\n verifiedMode={verifiedMode}\n block\n />\n );\n\n if (pastDeadline) {\n callToActionButton = (\n <Button\n className=\"w-100\"\n onClick={logClickPastExpiration}\n href={marketingUrl}\n >\n {intl.formatMessage(\n {\n id: 'learning.upgrade-modal.upgrade-button.label',\n defaultMessage: 'View course details',\n description: 'Label for upgrade button',\n },\n )}\n </Button>\n );\n }\n\n return (\n <BaseModal\n {...{\n isOpen,\n close,\n courseId,\n offer,\n callToActionButton,\n }}\n >\n {upsellMessage}\n </BaseModal>\n );\n};\n\nExperimentalUpgradeModal.defaultProps = {\n verifiedMode: {},\n offer: null,\n accessExpiration: null,\n datesBannerInfo: null,\n};\nExperimentalUpgradeModal.propTypes = {\n verifiedMode: PropTypes.shape({\n price: PropTypes.number.isRequired,\n currencySymbol: PropTypes.string.isRequired,\n upgradeUrl: PropTypes.string.isRequired,\n }),\n offer: PropTypes.shape({\n code: PropTypes.string,\n }),\n accessExpiration: PropTypes.shape({\n upgradeDeadline: PropTypes.string,\n }),\n datesBannerInfo: PropTypes.shape({\n contentTypeGatingEnabled: PropTypes.bool,\n }),\n marketingUrl: PropTypes.string.isRequired,\n org: PropTypes.string.isRequired,\n courseId: PropTypes.string.isRequired,\n close: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n /* eslint-disable-next-line react/forbid-prop-types */\n optimizely: PropTypes.object.isRequired,\n learningAssistantEnabled: PropTypes.bool.isRequired,\n};\n\nexport default withOptimizely(ExperimentalUpgradeModal);\n"],"mappings":"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","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _optimizely = require("../optimizely");
8
- var _DefaultUpgradeModal = _interopRequireDefault(require("./DefaultUpgradeModal"));
9
- var _ExperimentalUpgradeModal = _interopRequireDefault(require("./ExperimentalUpgradeModal"));
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- 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; }
13
- 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; }
14
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
- 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); }
17
- const UpgradeModalWrapper = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_optimizely.OptimizelyProviderWrapper, _objectSpread({
18
- defaultComponent: _DefaultUpgradeModal.default,
19
- experimentalComponent: _ExperimentalUpgradeModal.default
20
- }, props));
21
- var _default = exports.default = UpgradeModalWrapper;
22
- //# sourceMappingURL=UpgradeModalWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeModalWrapper.js","names":["_optimizely","require","_DefaultUpgradeModal","_interopRequireDefault","_ExperimentalUpgradeModal","_jsxRuntime","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","UpgradeModalWrapper","props","jsx","OptimizelyProviderWrapper","defaultComponent","DefaultUpgradeModal","experimentalComponent","ExperimentalUpgradeModal","_default","exports"],"sources":["../../src/upgrade-modal/UpgradeModalWrapper.jsx"],"sourcesContent":["import { OptimizelyProviderWrapper } from '../optimizely';\nimport DefaultUpgradeModal from './DefaultUpgradeModal';\nimport ExperimentalUpgradeModal from './ExperimentalUpgradeModal';\n\nconst UpgradeModalWrapper = (props) => (\n <OptimizelyProviderWrapper\n defaultComponent={DefaultUpgradeModal}\n experimentalComponent={ExperimentalUpgradeModal}\n {...props}\n />\n);\n\nexport default UpgradeModalWrapper;\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAElE,MAAM8B,mBAAmB,GAAIC,KAAK,iBAChC,IAAArC,WAAA,CAAAsC,GAAA,EAAC3C,WAAA,CAAA4C,yBAAyB,EAAAvB,aAAA;EACxBwB,gBAAgB,EAAEC,4BAAoB;EACtCC,qBAAqB,EAAEC;AAAyB,GAC5CN,KAAK,CACV,CACF;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAA1C,OAAA,GAEaiC,mBAAmB","ignoreList":[]}