@edx/frontend-plugin-advertisements 2.23.0 → 2.24.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.
@@ -23,7 +23,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
23
23
  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; }
24
24
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
25
  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 */
26
- const AUDIT_EXPIRY_LOG_VERSION = 'audit-expiry-v10';
26
+ const AUDIT_EXPIRY_LOG_VERSION = 'audit-expiry-v11';
27
27
  const initializeOptimizelyExperimentContext = async (optimizely, experimentKey, variant) => {
28
28
  (0, _logging.logInfo)('AuditExpiry experimentContext start', {
29
29
  debugVersion: AUDIT_EXPIRY_LOG_VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"AccessExpirationAlert.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactSdk","_analytics","_i18n","_logging","_paragon","_icons","_modelStore","_optimizely","_messages","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AUDIT_EXPIRY_LOG_VERSION","initializeOptimizelyExperimentContext","optimizely","experimentKey","variant","logInfo","debugVersion","hasOptimizely","Boolean","onReady","readyResult","readySuccess","success","readyReason","reason","setForcedVariation","forced","activate","activatedVariation","trackOptimizelyEvent","eventKey","eventTags","track","hasTrack","hasOnReady","undefined","AccessExpirationAlertInnerBase","_ref","courseId","intl","useIntl","hasTrackedBannerView","useRef","isExperimentContextReady","setIsExperimentContextReady","useState","org","userTimezone","useModel","accessExpiration","timezoneFormatArgs","timeZone","expiryDays","useEffect","isMounted","setupExperimentContext","isReady","error","logError","source","alreadyTracked","current","trackBannerShown","didTrack","masqueradingExpiredCourse","expirationDate","upgradeDeadline","upgradeUrl","logClick","analyticsPageName","sendTrackEvent","org_key","courserun_key","linkCategory","linkName","linkType","pageName","deadlineMessage","jsxs","Fragment","children","jsx","FormattedMessage","id","defaultMessage","description","values","date","FormattedDate","day","month","year","Hyperlink","className","style","textDecoration","destination","onClick","formatMessage","messages","upgradeNow","Alert","icon","Info","AccessExpirationAlertInner","withOptimizely","propTypes","PropTypes","string","isRequired","shape","func","defaultProps","AccessExpirationAlert","_ref2","enrollmentMode","OptimizelyProviderWrapper","defaultComponent","experimentalComponent","userAttributes","lms_enrollment_mode","_default","exports"],"sources":["../../src/access-expiration-alert/AccessExpirationAlert.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { withOptimizely } from '@optimizely/react-sdk';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport {\n FormattedMessage, FormattedDate, useIntl,\n} from '@edx/frontend-platform/i18n';\nimport { logError, logInfo } from '@edx/frontend-platform/logging';\nimport { Alert, Hyperlink } from '@openedx/paragon';\nimport { Info } from '@openedx/paragon/icons';\n\nimport { useModel } from '@src/generic/model-store';\nimport { OptimizelyProviderWrapper } from '../optimizely';\n\nimport messages from './messages';\n\nconst AUDIT_EXPIRY_LOG_VERSION = 'audit-expiry-v10';\n\nconst initializeOptimizelyExperimentContext = async (optimizely, experimentKey, variant) => {\n logInfo('AuditExpiry experimentContext start', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n hasOptimizely: Boolean(optimizely),\n });\n\n if (!optimizely) {\n logInfo('AuditExpiry experimentContext no optimizely', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n });\n return false;\n }\n\n if (typeof optimizely.onReady === 'function') {\n const readyResult = await optimizely.onReady();\n logInfo('AuditExpiry experimentContext onReady result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n readySuccess: readyResult?.success,\n readyReason: readyResult?.reason,\n });\n }\n\n if (typeof optimizely.setForcedVariation !== 'function') {\n logInfo('AuditExpiry experimentContext missing setForcedVariation', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n });\n return false;\n }\n\n const forced = optimizely.setForcedVariation(experimentKey, variant);\n logInfo('AuditExpiry experimentContext forced variation result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n forced,\n });\n\n if (!forced) {\n return false;\n }\n\n if (typeof optimizely.activate === 'function') {\n const activatedVariation = optimizely.activate(experimentKey);\n logInfo('AuditExpiry experimentContext activate result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n activatedVariation,\n });\n }\n\n return true;\n};\n\nconst trackOptimizelyEvent = (optimizely, eventKey, eventTags) => {\n logInfo('AuditExpiry trackOptimizelyEvent start', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n hasOptimizely: Boolean(optimizely),\n eventTags,\n });\n\n if (!optimizely) {\n logInfo('AuditExpiry trackOptimizelyEvent no optimizely', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n });\n return false;\n }\n\n if (typeof optimizely.track !== 'function') {\n logInfo('AuditExpiry trackOptimizelyEvent missing track method', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n hasTrack: typeof optimizely.track === 'function',\n hasOnReady: typeof optimizely.onReady === 'function',\n });\n return false;\n }\n\n logInfo('AuditExpiry trackOptimizelyEvent calling track', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n eventTags,\n hasOnReady: typeof optimizely.onReady === 'function',\n });\n\n optimizely.track(eventKey, undefined, undefined, eventTags);\n\n logInfo('AuditExpiry trackOptimizelyEvent track called', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n });\n return true;\n};\n\nconst AccessExpirationAlertInnerBase = ({\n courseId,\n optimizely,\n}) => {\n const intl = useIntl();\n const hasTrackedBannerView = useRef(false);\n const [isExperimentContextReady, setIsExperimentContextReady] = useState(false);\n\n const { org, userTimezone } = useModel('courseHomeMeta', courseId);\n const { accessExpiration } = useModel('coursewareMeta', courseId);\n\n const timezoneFormatArgs = userTimezone ? { timeZone: userTimezone } : {};\n const experimentKey = accessExpiration?.experimentKey;\n const expiryDays = accessExpiration?.expiryDays;\n const variant = accessExpiration?.variant;\n\n useEffect(() => {\n let isMounted = true;\n\n const setupExperimentContext = async () => {\n if (!experimentKey || !variant || !optimizely) {\n setIsExperimentContextReady(false);\n logInfo('AuditExpiry experimentContext skipped', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n hasOptimizely: Boolean(optimizely),\n });\n return;\n }\n\n try {\n const isReady = await initializeOptimizelyExperimentContext(optimizely, experimentKey, variant);\n if (isMounted) {\n setIsExperimentContextReady(isReady);\n }\n logInfo('AuditExpiry experimentContext ready state', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n isExperimentContextReady: isReady,\n });\n } catch (error) {\n if (isMounted) {\n setIsExperimentContextReady(false);\n }\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry experimentContext setup',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n setupExperimentContext();\n\n return () => {\n isMounted = false;\n };\n }, [courseId, experimentKey, optimizely, variant]);\n\n useEffect(() => {\n logInfo('AuditExpiry bannerTrack effect entered', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n expiryDays,\n alreadyTracked: hasTrackedBannerView.current,\n hasOptimizely: Boolean(optimizely),\n isExperimentContextReady,\n });\n\n if (!experimentKey || !variant || hasTrackedBannerView.current || !isExperimentContextReady) {\n logInfo('AuditExpiry bannerTrack effect skipped', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n alreadyTracked: hasTrackedBannerView.current,\n isExperimentContextReady,\n });\n return undefined;\n }\n\n let isMounted = true;\n\n const trackBannerShown = async () => {\n try {\n const didTrack = trackOptimizelyEvent(\n optimizely,\n 'audit_expiry_urgency_banner_shown',\n {\n experimentKey,\n variant,\n expiryDays,\n courseId,\n },\n );\n\n if (didTrack && isMounted) {\n hasTrackedBannerView.current = true;\n logInfo('AuditExpiry trackBannerShown marked tracked', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n });\n }\n } catch (error) {\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry trackBannerShown',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n trackBannerShown();\n\n return () => {\n isMounted = false;\n };\n }, [courseId, experimentKey, expiryDays, isExperimentContextReady, optimizely, variant]);\n\n if (!accessExpiration || accessExpiration.masqueradingExpiredCourse) {\n return null;\n }\n\n const {\n expirationDate,\n upgradeDeadline,\n upgradeUrl,\n } = accessExpiration;\n\n const logClick = () => {\n logInfo('AuditExpiry logClick entered', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n expiryDays,\n isExperimentContextReady,\n });\n\n const analyticsPageName = 'in_course';\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n org_key: org,\n courserun_key: courseId,\n linkCategory: 'FBE_banner',\n linkName: `${analyticsPageName}_audit_access_expires`,\n linkType: 'link',\n pageName: analyticsPageName,\n });\n\n if (!experimentKey || !variant || !optimizely || !isExperimentContextReady) {\n logInfo('AuditExpiry logClick skipped Optimizely track', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n isExperimentContextReady,\n });\n return;\n }\n\n try {\n trackOptimizelyEvent(\n optimizely,\n 'audit_expiry_urgency_upgrade_clicked',\n {\n experimentKey,\n variant,\n expiryDays,\n courseId,\n },\n );\n } catch (error) {\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry logClick',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n let deadlineMessage = null;\n if (upgradeDeadline && upgradeUrl) {\n deadlineMessage = (\n <>\n <br />\n <FormattedMessage\n id=\"learning.accessExpiration.deadline\"\n defaultMessage=\"Upgrade by {date} to get unlimited access to the course as long as it exists on the site.\"\n description=\"Warning shown to learner to upgrade while they are enrolled on the audit version and it's possible to upgrade\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationUpgradeDeadline\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={upgradeDeadline}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n &nbsp;\n <Hyperlink\n className=\"font-weight-bold\"\n style={{ textDecoration: 'underline' }}\n destination={upgradeUrl}\n onClick={logClick}\n >\n {intl.formatMessage(messages.upgradeNow)}\n </Hyperlink>\n </>\n );\n }\n\n return (\n <Alert variant=\"info\" icon={Info}>\n <span className=\"font-weight-bold\">\n <FormattedMessage\n id=\"learning.accessExpiration.header\"\n defaultMessage=\"Audit Access Expires {date}\"\n description=\"Headline for auditing deadline\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationHeaderDate\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={expirationDate}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n </span>\n <br />\n <FormattedMessage\n id=\"learning.accessExpiration.body\"\n defaultMessage=\"You lose all access to this course, including your progress, on {date}.\"\n description=\"Message body to tell learner the consequences of course expiration.\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationBodyDate\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={expirationDate}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n {deadlineMessage}\n </Alert>\n );\n};\n\nconst AccessExpirationAlertInner = withOptimizely(AccessExpirationAlertInnerBase);\n\nAccessExpirationAlertInnerBase.propTypes = {\n courseId: PropTypes.string.isRequired,\n optimizely: PropTypes.shape({\n activate: PropTypes.func,\n onReady: PropTypes.func,\n setForcedVariation: PropTypes.func,\n track: PropTypes.func,\n }),\n};\n\nAccessExpirationAlertInnerBase.defaultProps = {\n optimizely: null,\n};\n\nconst AccessExpirationAlert = ({\n courseId,\n}) => {\n const { enrollmentMode } = useModel('coursewareMeta', courseId);\n\n logInfo('AuditExpiry provider setup', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n enrollmentMode,\n });\n\n return (\n <OptimizelyProviderWrapper\n defaultComponent={AccessExpirationAlertInnerBase}\n experimentalComponent={AccessExpirationAlertInner}\n courseId={courseId}\n userAttributes={{\n ...(enrollmentMode ? { lms_enrollment_mode: enrollmentMode } : {}),\n }}\n />\n );\n};\n\nAccessExpirationAlert.propTypes = {\n courseId: PropTypes.string.isRequired,\n};\n\nexport default AccessExpirationAlert;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AccessExpirationAlert.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactSdk","_analytics","_i18n","_logging","_paragon","_icons","_modelStore","_optimizely","_messages","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AUDIT_EXPIRY_LOG_VERSION","initializeOptimizelyExperimentContext","optimizely","experimentKey","variant","logInfo","debugVersion","hasOptimizely","Boolean","onReady","readyResult","readySuccess","success","readyReason","reason","setForcedVariation","forced","activate","activatedVariation","trackOptimizelyEvent","eventKey","eventTags","track","hasTrack","hasOnReady","undefined","AccessExpirationAlertInnerBase","_ref","courseId","intl","useIntl","hasTrackedBannerView","useRef","isExperimentContextReady","setIsExperimentContextReady","useState","org","userTimezone","useModel","accessExpiration","timezoneFormatArgs","timeZone","expiryDays","useEffect","isMounted","setupExperimentContext","isReady","error","logError","source","alreadyTracked","current","trackBannerShown","didTrack","masqueradingExpiredCourse","expirationDate","upgradeDeadline","upgradeUrl","logClick","analyticsPageName","sendTrackEvent","org_key","courserun_key","linkCategory","linkName","linkType","pageName","deadlineMessage","jsxs","Fragment","children","jsx","FormattedMessage","id","defaultMessage","description","values","date","FormattedDate","day","month","year","Hyperlink","className","style","textDecoration","destination","onClick","formatMessage","messages","upgradeNow","Alert","icon","Info","AccessExpirationAlertInner","withOptimizely","propTypes","PropTypes","string","isRequired","shape","func","defaultProps","AccessExpirationAlert","_ref2","enrollmentMode","OptimizelyProviderWrapper","defaultComponent","experimentalComponent","userAttributes","lms_enrollment_mode","_default","exports"],"sources":["../../src/access-expiration-alert/AccessExpirationAlert.jsx"],"sourcesContent":["/* eslint import/no-unresolved: 0 */\nimport React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { withOptimizely } from '@optimizely/react-sdk';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport {\n FormattedMessage, FormattedDate, useIntl,\n} from '@edx/frontend-platform/i18n';\nimport { logError, logInfo } from '@edx/frontend-platform/logging';\nimport { Alert, Hyperlink } from '@openedx/paragon';\nimport { Info } from '@openedx/paragon/icons';\n\nimport { useModel } from '@src/generic/model-store';\nimport { OptimizelyProviderWrapper } from '../optimizely';\n\nimport messages from './messages';\n\nconst AUDIT_EXPIRY_LOG_VERSION = 'audit-expiry-v11';\n\nconst initializeOptimizelyExperimentContext = async (optimizely, experimentKey, variant) => {\n logInfo('AuditExpiry experimentContext start', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n hasOptimizely: Boolean(optimizely),\n });\n\n if (!optimizely) {\n logInfo('AuditExpiry experimentContext no optimizely', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n });\n return false;\n }\n\n if (typeof optimizely.onReady === 'function') {\n const readyResult = await optimizely.onReady();\n logInfo('AuditExpiry experimentContext onReady result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n readySuccess: readyResult?.success,\n readyReason: readyResult?.reason,\n });\n }\n\n if (typeof optimizely.setForcedVariation !== 'function') {\n logInfo('AuditExpiry experimentContext missing setForcedVariation', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n });\n return false;\n }\n\n const forced = optimizely.setForcedVariation(experimentKey, variant);\n logInfo('AuditExpiry experimentContext forced variation result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n forced,\n });\n\n if (!forced) {\n return false;\n }\n\n if (typeof optimizely.activate === 'function') {\n const activatedVariation = optimizely.activate(experimentKey);\n logInfo('AuditExpiry experimentContext activate result', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n experimentKey,\n variant,\n activatedVariation,\n });\n }\n\n return true;\n};\n\nconst trackOptimizelyEvent = (optimizely, eventKey, eventTags) => {\n logInfo('AuditExpiry trackOptimizelyEvent start', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n hasOptimizely: Boolean(optimizely),\n eventTags,\n });\n\n if (!optimizely) {\n logInfo('AuditExpiry trackOptimizelyEvent no optimizely', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n });\n return false;\n }\n\n if (typeof optimizely.track !== 'function') {\n logInfo('AuditExpiry trackOptimizelyEvent missing track method', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n hasTrack: typeof optimizely.track === 'function',\n hasOnReady: typeof optimizely.onReady === 'function',\n });\n return false;\n }\n\n logInfo('AuditExpiry trackOptimizelyEvent calling track', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n eventTags,\n hasOnReady: typeof optimizely.onReady === 'function',\n });\n\n optimizely.track(eventKey, undefined, undefined, eventTags);\n\n logInfo('AuditExpiry trackOptimizelyEvent track called', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n eventKey,\n });\n return true;\n};\n\nconst AccessExpirationAlertInnerBase = ({\n courseId,\n optimizely,\n}) => {\n const intl = useIntl();\n const hasTrackedBannerView = useRef(false);\n const [isExperimentContextReady, setIsExperimentContextReady] = useState(false);\n\n const { org, userTimezone } = useModel('courseHomeMeta', courseId);\n const { accessExpiration } = useModel('coursewareMeta', courseId);\n\n const timezoneFormatArgs = userTimezone ? { timeZone: userTimezone } : {};\n const experimentKey = accessExpiration?.experimentKey;\n const expiryDays = accessExpiration?.expiryDays;\n const variant = accessExpiration?.variant;\n\n useEffect(() => {\n let isMounted = true;\n\n const setupExperimentContext = async () => {\n if (!experimentKey || !variant || !optimizely) {\n setIsExperimentContextReady(false);\n logInfo('AuditExpiry experimentContext skipped', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n hasOptimizely: Boolean(optimizely),\n });\n return;\n }\n\n try {\n const isReady = await initializeOptimizelyExperimentContext(optimizely, experimentKey, variant);\n if (isMounted) {\n setIsExperimentContextReady(isReady);\n }\n logInfo('AuditExpiry experimentContext ready state', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n isExperimentContextReady: isReady,\n });\n } catch (error) {\n if (isMounted) {\n setIsExperimentContextReady(false);\n }\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry experimentContext setup',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n setupExperimentContext();\n\n return () => {\n isMounted = false;\n };\n }, [courseId, experimentKey, optimizely, variant]);\n\n useEffect(() => {\n logInfo('AuditExpiry bannerTrack effect entered', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n expiryDays,\n alreadyTracked: hasTrackedBannerView.current,\n hasOptimizely: Boolean(optimizely),\n isExperimentContextReady,\n });\n\n if (!experimentKey || !variant || hasTrackedBannerView.current || !isExperimentContextReady) {\n logInfo('AuditExpiry bannerTrack effect skipped', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n alreadyTracked: hasTrackedBannerView.current,\n isExperimentContextReady,\n });\n return undefined;\n }\n\n let isMounted = true;\n\n const trackBannerShown = async () => {\n try {\n const didTrack = trackOptimizelyEvent(\n optimizely,\n 'audit_expiry_urgency_banner_shown',\n {\n experimentKey,\n variant,\n expiryDays,\n courseId,\n },\n );\n\n if (didTrack && isMounted) {\n hasTrackedBannerView.current = true;\n logInfo('AuditExpiry trackBannerShown marked tracked', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n });\n }\n } catch (error) {\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry trackBannerShown',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n trackBannerShown();\n\n return () => {\n isMounted = false;\n };\n }, [courseId, experimentKey, expiryDays, isExperimentContextReady, optimizely, variant]);\n\n if (!accessExpiration || accessExpiration.masqueradingExpiredCourse) {\n return null;\n }\n\n const {\n expirationDate,\n upgradeDeadline,\n upgradeUrl,\n } = accessExpiration;\n\n const logClick = () => {\n logInfo('AuditExpiry logClick entered', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n expiryDays,\n isExperimentContextReady,\n });\n\n const analyticsPageName = 'in_course';\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n org_key: org,\n courserun_key: courseId,\n linkCategory: 'FBE_banner',\n linkName: `${analyticsPageName}_audit_access_expires`,\n linkType: 'link',\n pageName: analyticsPageName,\n });\n\n if (!experimentKey || !variant || !optimizely || !isExperimentContextReady) {\n logInfo('AuditExpiry logClick skipped Optimizely track', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n experimentKey,\n variant,\n isExperimentContextReady,\n });\n return;\n }\n\n try {\n trackOptimizelyEvent(\n optimizely,\n 'audit_expiry_urgency_upgrade_clicked',\n {\n experimentKey,\n variant,\n expiryDays,\n courseId,\n },\n );\n } catch (error) {\n logError(error, {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n source: 'AuditExpiry logClick',\n courseId,\n experimentKey,\n variant,\n });\n }\n };\n\n let deadlineMessage = null;\n if (upgradeDeadline && upgradeUrl) {\n deadlineMessage = (\n <>\n <br />\n <FormattedMessage\n id=\"learning.accessExpiration.deadline\"\n defaultMessage=\"Upgrade by {date} to get unlimited access to the course as long as it exists on the site.\"\n description=\"Warning shown to learner to upgrade while they are enrolled on the audit version and it's possible to upgrade\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationUpgradeDeadline\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={upgradeDeadline}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n &nbsp;\n <Hyperlink\n className=\"font-weight-bold\"\n style={{ textDecoration: 'underline' }}\n destination={upgradeUrl}\n onClick={logClick}\n >\n {intl.formatMessage(messages.upgradeNow)}\n </Hyperlink>\n </>\n );\n }\n\n return (\n <Alert variant=\"info\" icon={Info}>\n <span className=\"font-weight-bold\">\n <FormattedMessage\n id=\"learning.accessExpiration.header\"\n defaultMessage=\"Audit Access Expires {date}\"\n description=\"Headline for auditing deadline\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationHeaderDate\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={expirationDate}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n </span>\n <br />\n <FormattedMessage\n id=\"learning.accessExpiration.body\"\n defaultMessage=\"You lose all access to this course, including your progress, on {date}.\"\n description=\"Message body to tell learner the consequences of course expiration.\"\n values={{\n date: (\n <FormattedDate\n key=\"accessExpirationBodyDate\"\n day=\"numeric\"\n month=\"short\"\n year=\"numeric\"\n value={expirationDate}\n {...timezoneFormatArgs}\n />\n ),\n }}\n />\n {deadlineMessage}\n </Alert>\n );\n};\n\nconst AccessExpirationAlertInner = withOptimizely(AccessExpirationAlertInnerBase);\n\nAccessExpirationAlertInnerBase.propTypes = {\n courseId: PropTypes.string.isRequired,\n optimizely: PropTypes.shape({\n activate: PropTypes.func,\n onReady: PropTypes.func,\n setForcedVariation: PropTypes.func,\n track: PropTypes.func,\n }),\n};\n\nAccessExpirationAlertInnerBase.defaultProps = {\n optimizely: null,\n};\n\nconst AccessExpirationAlert = ({\n courseId,\n}) => {\n const { enrollmentMode } = useModel('coursewareMeta', courseId);\n\n logInfo('AuditExpiry provider setup', {\n debugVersion: AUDIT_EXPIRY_LOG_VERSION,\n courseId,\n enrollmentMode,\n });\n\n return (\n <OptimizelyProviderWrapper\n defaultComponent={AccessExpirationAlertInnerBase}\n experimentalComponent={AccessExpirationAlertInner}\n courseId={courseId}\n userAttributes={{\n ...(enrollmentMode ? { lms_enrollment_mode: enrollmentMode } : {}),\n }}\n />\n );\n};\n\nAccessExpirationAlert.propTypes = {\n courseId: PropTypes.string.isRequired,\n};\n\nexport default AccessExpirationAlert;\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAGA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAEA,IAAAW,SAAA,GAAAT,sBAAA,CAAAF,OAAA;AAAkC,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAE,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,CAAAc,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,QAAAnB,CAAA,EAAAK,CAAA,QAAAF,CAAA,GAAAa,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAd,CAAA,GAAAS,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAK,CAAA,KAAAE,CAAA,GAAAA,CAAA,CAAAe,MAAA,WAAAjB,CAAA,WAAAW,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAK,CAAA,EAAAkB,UAAA,OAAApB,CAAA,CAAAqB,IAAA,CAAAC,KAAA,CAAAtB,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAuB,cAAA1B,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAF,CAAA,WAAAwB,SAAA,CAAAtB,CAAA,IAAAsB,SAAA,CAAAtB,CAAA,QAAAA,CAAA,OAAAc,OAAA,CAAAH,MAAA,CAAAb,CAAA,OAAA0B,OAAA,WAAAxB,CAAA,IAAAyB,eAAA,CAAA9B,CAAA,EAAAK,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAW,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA5B,CAAA,KAAAgB,OAAA,CAAAH,MAAA,CAAAb,CAAA,GAAA0B,OAAA,WAAAxB,CAAA,IAAAW,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAK,CAAA,EAAAW,MAAA,CAAAE,wBAAA,CAAAf,CAAA,EAAAE,CAAA,iBAAAL,CAAA;AAAA,SAAA8B,gBAAA9B,CAAA,EAAAK,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAA4B,cAAA,CAAA5B,CAAA,MAAAL,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAK,CAAA,IAAA6B,KAAA,EAAA/B,CAAA,EAAAoB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAApC,CAAA,CAAAK,CAAA,IAAAF,CAAA,EAAAH,CAAA;AAAA,SAAAiC,eAAA9B,CAAA,QAAAK,CAAA,GAAA6B,YAAA,CAAAlC,CAAA,uCAAAK,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA6B,aAAAlC,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAmC,MAAA,CAAAC,WAAA,kBAAAvC,CAAA,QAAAQ,CAAA,GAAAR,CAAA,CAAAe,IAAA,CAAAZ,CAAA,EAAAE,CAAA,uCAAAG,CAAA,SAAAA,CAAA,YAAAgC,SAAA,yEAAAnC,CAAA,GAAAoC,MAAA,GAAAC,MAAA,EAAAvC,CAAA,KAhBlC;AAkBA,MAAMwC,wBAAwB,GAAG,kBAAkB;AAEnD,MAAMC,qCAAqC,GAAG,MAAAA,CAAOC,UAAU,EAAEC,aAAa,EAAEC,OAAO,KAAK;EAC1F,IAAAC,gBAAO,EAAC,qCAAqC,EAAE;IAC7CC,YAAY,EAAEN,wBAAwB;IACtCG,aAAa;IACbC,OAAO;IACPG,aAAa,EAAEC,OAAO,CAACN,UAAU;EACnC,CAAC,CAAC;EAEF,IAAI,CAACA,UAAU,EAAE;IACf,IAAAG,gBAAO,EAAC,6CAA6C,EAAE;MACrDC,YAAY,EAAEN,wBAAwB;MACtCG,aAAa;MACbC;IACF,CAAC,CAAC;IACF,OAAO,KAAK;EACd;EAEA,IAAI,OAAOF,UAAU,CAACO,OAAO,KAAK,UAAU,EAAE;IAC5C,MAAMC,WAAW,GAAG,MAAMR,UAAU,CAACO,OAAO,CAAC,CAAC;IAC9C,IAAAJ,gBAAO,EAAC,8CAA8C,EAAE;MACtDC,YAAY,EAAEN,wBAAwB;MACtCG,aAAa;MACbC,OAAO;MACPO,YAAY,EAAED,WAAW,EAAEE,OAAO;MAClCC,WAAW,EAAEH,WAAW,EAAEI;IAC5B,CAAC,CAAC;EACJ;EAEA,IAAI,OAAOZ,UAAU,CAACa,kBAAkB,KAAK,UAAU,EAAE;IACvD,IAAAV,gBAAO,EAAC,0DAA0D,EAAE;MAClEC,YAAY,EAAEN,wBAAwB;MACtCG,aAAa;MACbC;IACF,CAAC,CAAC;IACF,OAAO,KAAK;EACd;EAEA,MAAMY,MAAM,GAAGd,UAAU,CAACa,kBAAkB,CAACZ,aAAa,EAAEC,OAAO,CAAC;EACpE,IAAAC,gBAAO,EAAC,uDAAuD,EAAE;IAC/DC,YAAY,EAAEN,wBAAwB;IACtCG,aAAa;IACbC,OAAO;IACPY;EACF,CAAC,CAAC;EAEF,IAAI,CAACA,MAAM,EAAE;IACX,OAAO,KAAK;EACd;EAEA,IAAI,OAAOd,UAAU,CAACe,QAAQ,KAAK,UAAU,EAAE;IAC7C,MAAMC,kBAAkB,GAAGhB,UAAU,CAACe,QAAQ,CAACd,aAAa,CAAC;IAC7D,IAAAE,gBAAO,EAAC,+CAA+C,EAAE;MACvDC,YAAY,EAAEN,wBAAwB;MACtCG,aAAa;MACbC,OAAO;MACPc;IACF,CAAC,CAAC;EACJ;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAACjB,UAAU,EAAEkB,QAAQ,EAAEC,SAAS,KAAK;EAChE,IAAAhB,gBAAO,EAAC,wCAAwC,EAAE;IAChDC,YAAY,EAAEN,wBAAwB;IACtCoB,QAAQ;IACRb,aAAa,EAAEC,OAAO,CAACN,UAAU,CAAC;IAClCmB;EACF,CAAC,CAAC;EAEF,IAAI,CAACnB,UAAU,EAAE;IACf,IAAAG,gBAAO,EAAC,gDAAgD,EAAE;MACxDC,YAAY,EAAEN,wBAAwB;MACtCoB;IACF,CAAC,CAAC;IACF,OAAO,KAAK;EACd;EAEA,IAAI,OAAOlB,UAAU,CAACoB,KAAK,KAAK,UAAU,EAAE;IAC1C,IAAAjB,gBAAO,EAAC,uDAAuD,EAAE;MAC/DC,YAAY,EAAEN,wBAAwB;MACtCoB,QAAQ;MACRG,QAAQ,EAAE,OAAOrB,UAAU,CAACoB,KAAK,KAAK,UAAU;MAChDE,UAAU,EAAE,OAAOtB,UAAU,CAACO,OAAO,KAAK;IAC5C,CAAC,CAAC;IACF,OAAO,KAAK;EACd;EAEA,IAAAJ,gBAAO,EAAC,gDAAgD,EAAE;IACxDC,YAAY,EAAEN,wBAAwB;IACtCoB,QAAQ;IACRC,SAAS;IACTG,UAAU,EAAE,OAAOtB,UAAU,CAACO,OAAO,KAAK;EAC5C,CAAC,CAAC;EAEFP,UAAU,CAACoB,KAAK,CAACF,QAAQ,EAAEK,SAAS,EAAEA,SAAS,EAAEJ,SAAS,CAAC;EAE3D,IAAAhB,gBAAO,EAAC,+CAA+C,EAAE;IACvDC,YAAY,EAAEN,wBAAwB;IACtCoB;EACF,CAAC,CAAC;EACF,OAAO,IAAI;AACb,CAAC;AAED,MAAMM,8BAA8B,GAAGC,IAAA,IAGjC;EAAA,IAHkC;IACtCC,QAAQ;IACR1B;EACF,CAAC,GAAAyB,IAAA;EACC,MAAME,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EACtB,MAAMC,oBAAoB,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAC1C,MAAM,CAACC,wBAAwB,EAAEC,2BAA2B,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE/E,MAAM;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAG,IAAAC,oBAAQ,EAAC,gBAAgB,EAAEV,QAAQ,CAAC;EAClE,MAAM;IAAEW;EAAiB,CAAC,GAAG,IAAAD,oBAAQ,EAAC,gBAAgB,EAAEV,QAAQ,CAAC;EAEjE,MAAMY,kBAAkB,GAAGH,YAAY,GAAG;IAAEI,QAAQ,EAAEJ;EAAa,CAAC,GAAG,CAAC,CAAC;EACzE,MAAMlC,aAAa,GAAGoC,gBAAgB,EAAEpC,aAAa;EACrD,MAAMuC,UAAU,GAAGH,gBAAgB,EAAEG,UAAU;EAC/C,MAAMtC,OAAO,GAAGmC,gBAAgB,EAAEnC,OAAO;EAEzC,IAAAuC,gBAAS,EAAC,MAAM;IACd,IAAIC,SAAS,GAAG,IAAI;IAEpB,MAAMC,sBAAsB,GAAG,MAAAA,CAAA,KAAY;MACzC,IAAI,CAAC1C,aAAa,IAAI,CAACC,OAAO,IAAI,CAACF,UAAU,EAAE;QAC7CgC,2BAA2B,CAAC,KAAK,CAAC;QAClC,IAAA7B,gBAAO,EAAC,uCAAuC,EAAE;UAC/CC,YAAY,EAAEN,wBAAwB;UACtC4B,QAAQ;UACRzB,aAAa;UACbC,OAAO;UACPG,aAAa,EAAEC,OAAO,CAACN,UAAU;QACnC,CAAC,CAAC;QACF;MACF;MAEA,IAAI;QACF,MAAM4C,OAAO,GAAG,MAAM7C,qCAAqC,CAACC,UAAU,EAAEC,aAAa,EAAEC,OAAO,CAAC;QAC/F,IAAIwC,SAAS,EAAE;UACbV,2BAA2B,CAACY,OAAO,CAAC;QACtC;QACA,IAAAzC,gBAAO,EAAC,2CAA2C,EAAE;UACnDC,YAAY,EAAEN,wBAAwB;UACtC4B,QAAQ;UACRzB,aAAa;UACbC,OAAO;UACP6B,wBAAwB,EAAEa;QAC5B,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;QACd,IAAIH,SAAS,EAAE;UACbV,2BAA2B,CAAC,KAAK,CAAC;QACpC;QACA,IAAAc,iBAAQ,EAACD,KAAK,EAAE;UACdzC,YAAY,EAAEN,wBAAwB;UACtCiD,MAAM,EAAE,qCAAqC;UAC7CrB,QAAQ;UACRzB,aAAa;UACbC;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAEDyC,sBAAsB,CAAC,CAAC;IAExB,OAAO,MAAM;MACXD,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EAAE,CAAChB,QAAQ,EAAEzB,aAAa,EAAED,UAAU,EAAEE,OAAO,CAAC,CAAC;EAElD,IAAAuC,gBAAS,EAAC,MAAM;IACd,IAAAtC,gBAAO,EAAC,wCAAwC,EAAE;MAChDC,YAAY,EAAEN,wBAAwB;MACtC4B,QAAQ;MACRzB,aAAa;MACbC,OAAO;MACPsC,UAAU;MACVQ,cAAc,EAAEnB,oBAAoB,CAACoB,OAAO;MAC5C5C,aAAa,EAAEC,OAAO,CAACN,UAAU,CAAC;MAClC+B;IACF,CAAC,CAAC;IAEF,IAAI,CAAC9B,aAAa,IAAI,CAACC,OAAO,IAAI2B,oBAAoB,CAACoB,OAAO,IAAI,CAAClB,wBAAwB,EAAE;MAC3F,IAAA5B,gBAAO,EAAC,wCAAwC,EAAE;QAChDC,YAAY,EAAEN,wBAAwB;QACtC4B,QAAQ;QACRzB,aAAa;QACbC,OAAO;QACP8C,cAAc,EAAEnB,oBAAoB,CAACoB,OAAO;QAC5ClB;MACF,CAAC,CAAC;MACF,OAAOR,SAAS;IAClB;IAEA,IAAImB,SAAS,GAAG,IAAI;IAEpB,MAAMQ,gBAAgB,GAAG,MAAAA,CAAA,KAAY;MACnC,IAAI;QACF,MAAMC,QAAQ,GAAGlC,oBAAoB,CACnCjB,UAAU,EACV,mCAAmC,EACnC;UACEC,aAAa;UACbC,OAAO;UACPsC,UAAU;UACVd;QACF,CACF,CAAC;QAED,IAAIyB,QAAQ,IAAIT,SAAS,EAAE;UACzBb,oBAAoB,CAACoB,OAAO,GAAG,IAAI;UACnC,IAAA9C,gBAAO,EAAC,6CAA6C,EAAE;YACrDC,YAAY,EAAEN,wBAAwB;YACtC4B,QAAQ;YACRzB,aAAa;YACbC;UACF,CAAC,CAAC;QACJ;MACF,CAAC,CAAC,OAAO2C,KAAK,EAAE;QACd,IAAAC,iBAAQ,EAACD,KAAK,EAAE;UACdzC,YAAY,EAAEN,wBAAwB;UACtCiD,MAAM,EAAE,8BAA8B;UACtCrB,QAAQ;UACRzB,aAAa;UACbC;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAEDgD,gBAAgB,CAAC,CAAC;IAElB,OAAO,MAAM;MACXR,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EAAE,CAAChB,QAAQ,EAAEzB,aAAa,EAAEuC,UAAU,EAAET,wBAAwB,EAAE/B,UAAU,EAAEE,OAAO,CAAC,CAAC;EAExF,IAAI,CAACmC,gBAAgB,IAAIA,gBAAgB,CAACe,yBAAyB,EAAE;IACnE,OAAO,IAAI;EACb;EAEA,MAAM;IACJC,cAAc;IACdC,eAAe;IACfC;EACF,CAAC,GAAGlB,gBAAgB;EAEpB,MAAMmB,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAArD,gBAAO,EAAC,8BAA8B,EAAE;MACtCC,YAAY,EAAEN,wBAAwB;MACtC4B,QAAQ;MACRzB,aAAa;MACbC,OAAO;MACPsC,UAAU;MACVT;IACF,CAAC,CAAC;IAEF,MAAM0B,iBAAiB,GAAG,WAAW;IACrC,IAAAC,yBAAc,EAAC,uCAAuC,EAAE;MACtDC,OAAO,EAAEzB,GAAG;MACZ0B,aAAa,EAAElC,QAAQ;MACvBmC,YAAY,EAAE,YAAY;MAC1BC,QAAQ,EAAE,GAAGL,iBAAiB,uBAAuB;MACrDM,QAAQ,EAAE,MAAM;MAChBC,QAAQ,EAAEP;IACZ,CAAC,CAAC;IAEF,IAAI,CAACxD,aAAa,IAAI,CAACC,OAAO,IAAI,CAACF,UAAU,IAAI,CAAC+B,wBAAwB,EAAE;MAC1E,IAAA5B,gBAAO,EAAC,+CAA+C,EAAE;QACvDC,YAAY,EAAEN,wBAAwB;QACtC4B,QAAQ;QACRzB,aAAa;QACbC,OAAO;QACP6B;MACF,CAAC,CAAC;MACF;IACF;IAEA,IAAI;MACFd,oBAAoB,CAClBjB,UAAU,EACV,sCAAsC,EACtC;QACEC,aAAa;QACbC,OAAO;QACPsC,UAAU;QACVd;MACF,CACF,CAAC;IACH,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACd,IAAAC,iBAAQ,EAACD,KAAK,EAAE;QACdzC,YAAY,EAAEN,wBAAwB;QACtCiD,MAAM,EAAE,sBAAsB;QAC9BrB,QAAQ;QACRzB,aAAa;QACbC;MACF,CAAC,CAAC;IACJ;EACF,CAAC;EAED,IAAI+D,eAAe,GAAG,IAAI;EAC1B,IAAIX,eAAe,IAAIC,UAAU,EAAE;IACjCU,eAAe,gBACb,IAAA/G,WAAA,CAAAgH,IAAA,EAAAhH,WAAA,CAAAiH,QAAA;MAAAC,QAAA,gBACE,IAAAlH,WAAA,CAAAmH,GAAA,UAAK,CAAC,eACN,IAAAnH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAA2H,gBAAgB;QACfC,EAAE,EAAC,oCAAoC;QACvCC,cAAc,EAAC,2FAA2F;QAC1GC,WAAW,EAAC,+GAA+G;QAC3HC,MAAM,EAAE;UACNC,IAAI,eACF,IAAAzH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAAiI,aAAa,EAAA/F,aAAA;YAEZgG,GAAG,EAAC,SAAS;YACbC,KAAK,EAAC,OAAO;YACbC,IAAI,EAAC,SAAS;YACd1F,KAAK,EAAEiE;UAAgB,GACnBhB,kBAAkB,GALlB,iCAML;QAEL;MAAE,CACH,CAAC,QAEF,mBAAApF,WAAA,CAAAmH,GAAA,EAACxH,QAAA,CAAAmI,SAAS;QACRC,SAAS,EAAC,kBAAkB;QAC5BC,KAAK,EAAE;UAAEC,cAAc,EAAE;QAAY,CAAE;QACvCC,WAAW,EAAE7B,UAAW;QACxB8B,OAAO,EAAE7B,QAAS;QAAAY,QAAA,EAEjBzC,IAAI,CAAC2D,aAAa,CAACC,iBAAQ,CAACC,UAAU;MAAC,CAC/B,CAAC;IAAA,CACZ,CACH;EACH;EAEA,oBACE,IAAAtI,WAAA,CAAAgH,IAAA,EAACrH,QAAA,CAAA4I,KAAK;IAACvF,OAAO,EAAC,MAAM;IAACwF,IAAI,EAAEC,WAAK;IAAAvB,QAAA,gBAC/B,IAAAlH,WAAA,CAAAmH,GAAA;MAAMY,SAAS,EAAC,kBAAkB;MAAAb,QAAA,eAChC,IAAAlH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAA2H,gBAAgB;QACfC,EAAE,EAAC,kCAAkC;QACrCC,cAAc,EAAC,6BAA6B;QAC5CC,WAAW,EAAC,gCAAgC;QAC5CC,MAAM,EAAE;UACNC,IAAI,eACF,IAAAzH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAAiI,aAAa,EAAA/F,aAAA;YAEZgG,GAAG,EAAC,SAAS;YACbC,KAAK,EAAC,OAAO;YACbC,IAAI,EAAC,SAAS;YACd1F,KAAK,EAAEgE;UAAe,GAClBf,kBAAkB,GALlB,4BAML;QAEL;MAAE,CACH;IAAC,CACE,CAAC,eACP,IAAApF,WAAA,CAAAmH,GAAA,UAAK,CAAC,eACN,IAAAnH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAA2H,gBAAgB;MACfC,EAAE,EAAC,gCAAgC;MACnCC,cAAc,EAAC,yEAAyE;MACxFC,WAAW,EAAC,qEAAqE;MACjFC,MAAM,EAAE;QACNC,IAAI,eACF,IAAAzH,WAAA,CAAAmH,GAAA,EAAC1H,KAAA,CAAAiI,aAAa,EAAA/F,aAAA;UAEZgG,GAAG,EAAC,SAAS;UACbC,KAAK,EAAC,OAAO;UACbC,IAAI,EAAC,SAAS;UACd1F,KAAK,EAAEgE;QAAe,GAClBf,kBAAkB,GALlB,0BAML;MAEL;IAAE,CACH,CAAC,EACD2B,eAAe;EAAA,CACX,CAAC;AAEZ,CAAC;AAED,MAAM2B,0BAA0B,GAAG,IAAAC,wBAAc,EAACrE,8BAA8B,CAAC;AAEjFA,8BAA8B,CAACsE,SAAS,GAAG;EACzCpE,QAAQ,EAAEqE,kBAAS,CAACC,MAAM,CAACC,UAAU;EACrCjG,UAAU,EAAE+F,kBAAS,CAACG,KAAK,CAAC;IAC1BnF,QAAQ,EAAEgF,kBAAS,CAACI,IAAI;IACxB5F,OAAO,EAAEwF,kBAAS,CAACI,IAAI;IACvBtF,kBAAkB,EAAEkF,kBAAS,CAACI,IAAI;IAClC/E,KAAK,EAAE2E,kBAAS,CAACI;EACnB,CAAC;AACH,CAAC;AAED3E,8BAA8B,CAAC4E,YAAY,GAAG;EAC5CpG,UAAU,EAAE;AACd,CAAC;AAED,MAAMqG,qBAAqB,GAAGC,KAAA,IAExB;EAAA,IAFyB;IAC7B5E;EACF,CAAC,GAAA4E,KAAA;EACC,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAnE,oBAAQ,EAAC,gBAAgB,EAAEV,QAAQ,CAAC;EAE/D,IAAAvB,gBAAO,EAAC,4BAA4B,EAAE;IACpCC,YAAY,EAAEN,wBAAwB;IACtC4B,QAAQ;IACR6E;EACF,CAAC,CAAC;EAEF,oBACE,IAAArJ,WAAA,CAAAmH,GAAA,EAACrH,WAAA,CAAAwJ,yBAAyB;IACxBC,gBAAgB,EAAEjF,8BAA+B;IACjDkF,qBAAqB,EAAEd,0BAA2B;IAClDlE,QAAQ,EAAEA,QAAS;IACnBiF,cAAc,EAAA9H,aAAA,KACR0H,cAAc,GAAG;MAAEK,mBAAmB,EAAEL;IAAe,CAAC,GAAG,CAAC,CAAC;EACjE,CACH,CAAC;AAEN,CAAC;AAEDF,qBAAqB,CAACP,SAAS,GAAG;EAChCpE,QAAQ,EAAEqE,kBAAS,CAACC,MAAM,CAACC;AAC7B,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,CAAAzJ,OAAA,GAEagJ,qBAAqB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-plugin-advertisements",
3
- "version": "2.23.0",
3
+ "version": "2.24.0",
4
4
  "description": "Frontend plugin for edX in course advertisements",
5
5
  "main": "dist/index.js",
6
6
  "repository": {