@edx/unit-title-plugin 2.1.0 → 2.3.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 (33) hide show
  1. package/dist/translation-button/data/api.js +28 -1
  2. package/dist/translation-button/data/api.js.map +1 -1
  3. package/dist/translation-button/index.js +8 -38
  4. package/dist/translation-button/index.js.map +1 -1
  5. package/dist/translation-button/translation-selection/index.js +82 -37
  6. package/dist/translation-button/translation-selection/index.js.map +1 -1
  7. package/dist/translation-button/translation-selection/messages.js +5 -0
  8. package/dist/translation-button/translation-selection/messages.js.map +1 -1
  9. package/dist/translation-button/translation-selection/translation-dropdown/TranslationDropdown.js +123 -0
  10. package/dist/translation-button/translation-selection/translation-dropdown/TranslationDropdown.js.map +1 -0
  11. package/dist/translation-button/translation-selection/translation-dropdown/constants.js +114 -0
  12. package/dist/translation-button/translation-selection/translation-dropdown/constants.js.map +1 -0
  13. package/dist/translation-button/translation-selection/translation-dropdown/icons/TranslationNotFound.js +46 -0
  14. package/dist/translation-button/translation-selection/translation-dropdown/icons/TranslationNotFound.js.map +1 -0
  15. package/dist/translation-button/translation-selection/translation-dropdown/icons/index.js +14 -0
  16. package/dist/translation-button/translation-selection/translation-dropdown/icons/index.js.map +1 -0
  17. package/dist/translation-button/translation-selection/translation-dropdown/index.js +10 -0
  18. package/dist/translation-button/translation-selection/translation-dropdown/index.js.map +1 -0
  19. package/dist/translation-button/translation-selection/translation-dropdown/messages.js +26 -0
  20. package/dist/translation-button/translation-selection/translation-dropdown/messages.js.map +1 -0
  21. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +4 -30
  22. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -1
  23. package/dist/translation-button/translation-selection/translation-modal/messages.js +0 -25
  24. package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -1
  25. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +25 -80
  26. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -1
  27. package/package.json +7 -2
  28. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +0 -33
  29. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +0 -1
  30. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +0 -34
  31. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +0 -1
  32. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +0 -67
  33. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +0 -1
@@ -1,83 +1,39 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.stateKeys = exports["default"] = void 0;
7
+ exports.stateKeys = exports.getEnabledLanguages = exports["default"] = void 0;
7
8
  var _react = require("react");
8
9
  var _reactUnitTestUtils = require("@edx/react-unit-test-utils");
9
10
  var _analytics = require("@edx/frontend-platform/analytics");
10
- var _cookie = require("../../../utils/cookie");
11
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
+ 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; }
12
+ 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; }
13
+ 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; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
+ 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); }
12
16
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
13
17
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
18
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
19
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
21
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
18
- 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; }
19
- 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; }
20
- 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; }
21
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
22
- 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); }
23
22
  var stateKeys = exports.stateKeys = (0, _reactUnitTestUtils.StrictDict)({
24
23
  selectedIndex: 'selectedIndex'
25
24
  });
26
- var logUpgradeClick = function logUpgradeClick(_ref) {
27
- var _getCookies, _window$tagular, _window, _logEventProperties$o;
28
- var logEventProperties = _ref.logEventProperties;
29
- var eventProperties = {
30
- org_key: logEventProperties.org_key,
31
- courserun_key: logEventProperties.courserun_key
32
- };
33
- var upsellPageName = 'course_translation_modal';
34
- var promotionEventProperties = _objectSpread({
35
- creative: 'translationmodalupsell',
36
- name: 'In-Course Verification Prompt',
37
- position: 'translation-modal-message',
38
- promotion_id: 'courseware_translation_upsell'
39
- }, eventProperties);
40
- (0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.translationmodal.clicked', eventProperties);
41
- (0, _analytics.sendTrackingLogEvent)('edx.course.enrollment.upgrade.clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
42
- location: 'translation-modal-message'
43
- }));
44
- (0, _analytics.sendTrackEvent)('Promotion Clicked', promotionEventProperties);
45
- (0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
46
- linkCategory: 'green_upgrade',
47
- linkName: "".concat(upsellPageName, "_green"),
48
- linkType: 'button',
49
- pageName: upsellPageName
50
- }));
51
- var correlationId = (_getCookies = (0, _cookie.getCookies)()) === null || _getCookies === void 0 ? void 0 : _getCookies.tglr_correlation_id;
52
- (_window$tagular = (_window = window).tagular) === null || _window$tagular === void 0 || _window$tagular.call(_window, 'beam', {
53
- '@type': 'core.conversions.ConversionTracked.v2',
54
- correlation: {
55
- id: correlationId
56
- },
57
- metadata: {
58
- category: 'Enrollment',
59
- action: 'Upgraded',
60
- timestamp: new Date().toISOString(),
61
- productList: [{
62
- brand: (_logEventProperties$o = logEventProperties.org_key) === null || _logEventProperties$o === void 0 ? void 0 : _logEventProperties$o.toLowerCase(),
63
- variant: 'courses',
64
- name: logEventProperties.course_name
65
- }]
66
- }
67
- });
68
- };
69
- var getEnabledLanguages = function getEnabledLanguages(_ref2) {
70
- var availableLanguages = _ref2.availableLanguages,
71
- originalCourseLanguage = _ref2.originalCourseLanguage;
25
+ var getEnabledLanguages = exports.getEnabledLanguages = function getEnabledLanguages(_ref) {
26
+ var availableLanguages = _ref.availableLanguages,
27
+ originalCourseLanguage = _ref.originalCourseLanguage;
72
28
  var enabledLanguages = [];
73
29
  var excludeEnglish = originalCourseLanguage !== 'en';
74
- var missingLanguage = !availableLanguages.some(function (_ref3) {
75
- var code = _ref3.code;
30
+ var missingLanguage = !availableLanguages.some(function (_ref2) {
31
+ var code = _ref2.code;
76
32
  return code === originalCourseLanguage;
77
33
  });
78
- enabledLanguages = availableLanguages.filter(function (_ref4) {
79
- var enabled = _ref4.enabled,
80
- code = _ref4.code;
34
+ enabledLanguages = availableLanguages.filter(function (_ref3) {
35
+ var enabled = _ref3.enabled,
36
+ code = _ref3.code;
81
37
  if (excludeEnglish && code === 'en') {
82
38
  return false;
83
39
  }
@@ -91,15 +47,13 @@ var getEnabledLanguages = function getEnabledLanguages(_ref2) {
91
47
  }
92
48
  return enabledLanguages;
93
49
  };
94
- var useTranslationModal = function useTranslationModal(_ref5) {
95
- var selectedLanguage = _ref5.selectedLanguage,
96
- setSelectedLanguage = _ref5.setSelectedLanguage,
97
- close = _ref5.close,
98
- isAuditMode = _ref5.isAuditMode,
99
- upgradeUrl = _ref5.upgradeUrl,
100
- logEventProperties = _ref5.logEventProperties,
101
- availableLanguages = _ref5.availableLanguages,
102
- originalCourseLanguage = _ref5.originalCourseLanguage;
50
+ var useTranslationModal = function useTranslationModal(_ref4) {
51
+ var selectedLanguage = _ref4.selectedLanguage,
52
+ setSelectedLanguage = _ref4.setSelectedLanguage,
53
+ close = _ref4.close,
54
+ logEventProperties = _ref4.logEventProperties,
55
+ availableLanguages = _ref4.availableLanguages,
56
+ originalCourseLanguage = _ref4.originalCourseLanguage;
103
57
  var courseEnabledLanguages = getEnabledLanguages({
104
58
  availableLanguages: availableLanguages,
105
59
  originalCourseLanguage: originalCourseLanguage
@@ -111,15 +65,8 @@ var useTranslationModal = function useTranslationModal(_ref5) {
111
65
  selectedIndex = _useKeyedState2[0],
112
66
  setSelectedIndex = _useKeyedState2[1];
113
67
  var onSubmit = (0, _react.useCallback)(function () {
114
- if (isAuditMode) {
115
- logUpgradeClick({
116
- logEventProperties: logEventProperties
117
- });
118
- window.open(upgradeUrl, '_self');
119
- } else {
120
- var newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;
121
- setSelectedLanguage(newSelectedLanguage);
122
- }
68
+ var newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;
69
+ setSelectedLanguage(newSelectedLanguage);
123
70
  close();
124
71
  }, [selectedIndex]);
125
72
 
@@ -130,9 +77,7 @@ var useTranslationModal = function useTranslationModal(_ref5) {
130
77
  is actually used.
131
78
  */
132
79
  var logSurveyClick = function logSurveyClick() {
133
- (0, _analytics.sendTrackEvent)('addtional_languages_survey_clicked', _objectSpread(_objectSpread({}, logEventProperties), {}, {
134
- isAuditUser: isAuditMode
135
- }));
80
+ (0, _analytics.sendTrackEvent)('additional_languages_survey_clicked', _objectSpread({}, logEventProperties));
136
81
  window.open('https://participant.use2.usertesting.com/se/invite/8145e5f3-4f48-46b7-8d97-78e1bec900d0', '_blank');
137
82
  };
138
83
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslationModal.js","names":["_react","require","_reactUnitTestUtils","_analytics","_cookie","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","name","Array","from","test","length","n","l","i","u","f","next","Object","done","push","value","isArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","stateKeys","exports","StrictDict","selectedIndex","logUpgradeClick","_ref","_getCookies","_window$tagular","_window","_logEventProperties$o","logEventProperties","eventProperties","org_key","courserun_key","upsellPageName","promotionEventProperties","creative","position","promotion_id","sendTrackingLogEvent","location","sendTrackEvent","linkCategory","linkName","concat","linkType","pageName","correlationId","getCookies","tglr_correlation_id","window","tagular","correlation","id","metadata","category","action","timestamp","Date","toISOString","productList","brand","toLowerCase","variant","course_name","getEnabledLanguages","_ref2","availableLanguages","originalCourseLanguage","enabledLanguages","excludeEnglish","missingLanguage","some","_ref3","code","_ref4","enabled","label","useTranslationModal","_ref5","selectedLanguage","setSelectedLanguage","close","isAuditMode","upgradeUrl","courseEnabledLanguages","_useKeyedState","useKeyedState","findIndex","lang","_useKeyedState2","setSelectedIndex","onSubmit","useCallback","open","newSelectedLanguage","logSurveyClick","isAuditUser","_default"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/useTranslationModal.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { getCookies } from '../../../utils/cookie';\n\nexport const stateKeys = StrictDict({\n selectedIndex: 'selectedIndex',\n});\n\nconst logUpgradeClick = ({ logEventProperties }) => {\n const eventProperties = {\n org_key: logEventProperties.org_key,\n courserun_key: logEventProperties.courserun_key,\n };\n const upsellPageName = 'course_translation_modal';\n const promotionEventProperties = {\n creative: 'translationmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'translation-modal-message',\n promotion_id: 'courseware_translation_upsell',\n ...eventProperties,\n };\n sendTrackingLogEvent('edx.bi.course.upgrade.translationmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'translation-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 const correlationId = getCookies()?.tglr_correlation_id;\n window.tagular?.('beam', {\n '@type': 'core.conversions.ConversionTracked.v2',\n correlation: {\n id: correlationId,\n },\n metadata: {\n category: 'Enrollment',\n action: 'Upgraded',\n timestamp: new Date().toISOString(),\n productList: [{\n brand: logEventProperties.org_key?.toLowerCase(),\n variant: 'courses',\n name: logEventProperties.course_name,\n }],\n },\n });\n};\n\nconst getEnabledLanguages = ({ availableLanguages, originalCourseLanguage }) => {\n let enabledLanguages = [];\n const excludeEnglish = originalCourseLanguage !== 'en';\n const missingLanguage = !availableLanguages.some(({ code }) => code === originalCourseLanguage);\n\n enabledLanguages = availableLanguages.filter(({ enabled, code }) => {\n if (excludeEnglish && code === 'en') {\n return false;\n }\n\n return enabled;\n });\n\n if (missingLanguage) {\n enabledLanguages.push({ code: originalCourseLanguage, label: 'original' });\n }\n\n return enabledLanguages;\n};\n\nconst useTranslationModal = ({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n}) => {\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const [selectedIndex, setSelectedIndex] = useKeyedState(\n stateKeys.selectedIndex,\n courseEnabledLanguages.findIndex((lang) => lang.code === selectedLanguage),\n );\n\n const onSubmit = useCallback(() => {\n if (isAuditMode) {\n logUpgradeClick({ logEventProperties });\n window.open(upgradeUrl, '_self');\n } else {\n const newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;\n setSelectedLanguage(newSelectedLanguage);\n }\n close();\n }, [selectedIndex]);\n\n /*\n 2025-01-21\n This function not currently in use, but may be used again in the future so not removing the code here.\n The import and pasing of this function have been removed except in `./NewLanguageFeedback.jsx` where it\n is actually used.\n */\n const logSurveyClick = () => {\n sendTrackEvent('addtional_languages_survey_clicked', {\n ...logEventProperties,\n isAuditUser: isAuditMode,\n });\n window.open('https://participant.use2.usertesting.com/se/invite/8145e5f3-4f48-46b7-8d97-78e1bec900d0', '_blank');\n };\n\n return {\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n logSurveyClick,\n courseEnabledLanguages,\n };\n};\n\nexport default useTranslationModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useTranslationModal.js","names":["_react","require","_reactUnitTestUtils","_analytics","ownKeys","e","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","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","stateKeys","exports","StrictDict","selectedIndex","getEnabledLanguages","_ref","availableLanguages","originalCourseLanguage","enabledLanguages","excludeEnglish","missingLanguage","some","_ref2","code","_ref3","enabled","label","useTranslationModal","_ref4","selectedLanguage","setSelectedLanguage","close","logEventProperties","courseEnabledLanguages","_useKeyedState","useKeyedState","findIndex","lang","_useKeyedState2","setSelectedIndex","onSubmit","useCallback","newSelectedLanguage","logSurveyClick","sendTrackEvent","window","open","_default"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/useTranslationModal.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\n\nexport const stateKeys = StrictDict({\n selectedIndex: 'selectedIndex',\n});\n\nexport const getEnabledLanguages = ({ availableLanguages, originalCourseLanguage }) => {\n let enabledLanguages = [];\n const excludeEnglish = originalCourseLanguage !== 'en';\n const missingLanguage = !availableLanguages.some(({ code }) => code === originalCourseLanguage);\n\n enabledLanguages = availableLanguages.filter(({ enabled, code }) => {\n if (excludeEnglish && code === 'en') {\n return false;\n }\n\n return enabled;\n });\n\n if (missingLanguage) {\n enabledLanguages.push({ code: originalCourseLanguage, label: 'original' });\n }\n\n return enabledLanguages;\n};\n\nconst useTranslationModal = ({\n selectedLanguage,\n setSelectedLanguage,\n close,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n}) => {\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const [selectedIndex, setSelectedIndex] = useKeyedState(\n stateKeys.selectedIndex,\n courseEnabledLanguages.findIndex((lang) => lang.code === selectedLanguage),\n );\n\n const onSubmit = useCallback(() => {\n const newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;\n setSelectedLanguage(newSelectedLanguage);\n close();\n }, [selectedIndex]);\n\n /*\n 2025-01-21\n This function not currently in use, but may be used again in the future so not removing the code here.\n The import and pasing of this function have been removed except in `./NewLanguageFeedback.jsx` where it\n is actually used.\n */\n const logSurveyClick = () => {\n sendTrackEvent('additional_languages_survey_clicked', {\n ...logEventProperties,\n });\n window.open('https://participant.use2.usertesting.com/se/invite/8145e5f3-4f48-46b7-8d97-78e1bec900d0', '_blank');\n };\n\n return {\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n logSurveyClick,\n courseEnabledLanguages,\n };\n};\n\nexport default useTranslationModal;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/unit-title-plugin",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "description": "Unit title plugin in frontend-app-learning",
5
5
  "main": "dist",
6
6
  "author": "edX",
@@ -46,8 +46,13 @@
46
46
  "@edx/react-unit-test-utils": "^4.0.0",
47
47
  "@testing-library/react": "^16.3.0",
48
48
  "@testing-library/user-event": "^14.5.2",
49
+ "axios-mock-adapter": "^2.1.0",
50
+ "baseline-browser-mapping": "^2.9.14",
51
+ "core-js": "3.33.0",
49
52
  "jest-transform-stub": "^2.0.0",
53
+ "jest-when": "^3.7.0",
54
+ "regenerator-runtime": "^0.14.1",
50
55
  "rosie": "^2.1.1"
51
56
  },
52
- "gitHead": "3e1a710a994a08a38b315d9410da51cf083e5022"
57
+ "gitHead": "7e92ebb82a69e766abcd80ac97f107f870d337b2"
53
58
  }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _LanguageSelector = _interopRequireDefault(require("./LanguageSelector"));
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- var PaidModalBody = function PaidModalBody(_ref) {
12
- var selectedIndex = _ref.selectedIndex,
13
- setSelectedIndex = _ref.setSelectedIndex,
14
- courseEnabledLanguages = _ref.courseEnabledLanguages,
15
- originalCourseLanguage = _ref.originalCourseLanguage;
16
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LanguageSelector["default"], {
17
- selectedIndex: selectedIndex,
18
- setSelectedIndex: setSelectedIndex,
19
- courseEnabledLanguages: courseEnabledLanguages,
20
- originalCourseLanguage: originalCourseLanguage
21
- });
22
- };
23
- PaidModalBody.propTypes = {
24
- courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
25
- code: _propTypes["default"].string.isRequired,
26
- label: _propTypes["default"].string.isRequired
27
- })).isRequired,
28
- selectedIndex: _propTypes["default"].number.isRequired,
29
- setSelectedIndex: _propTypes["default"].func.isRequired,
30
- originalCourseLanguage: _propTypes["default"].string.isRequired
31
- };
32
- var _default = exports["default"] = PaidModalBody;
33
- //# sourceMappingURL=PaidModalBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaidModalBody.js","names":["_propTypes","_interopRequireDefault","require","_LanguageSelector","_jsxRuntime","e","__esModule","PaidModalBody","_ref","selectedIndex","setSelectedIndex","courseEnabledLanguages","originalCourseLanguage","jsx","propTypes","PropTypes","arrayOf","shape","code","string","isRequired","label","number","func","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/PaidModalBody.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport LanguageSelector from './LanguageSelector';\n\nconst PaidModalBody = ({\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n}) => (\n <LanguageSelector\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n);\n\nPaidModalBody.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n selectedIndex: PropTypes.number.isRequired,\n setSelectedIndex: PropTypes.func.isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default PaidModalBody;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAElD,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IACjBC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;IAChBC,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IACtBC,sBAAsB,GAAAJ,IAAA,CAAtBI,sBAAsB;EAAA,oBAEtB,IAAAR,WAAA,CAAAS,GAAA,EAACV,iBAAA,WAAgB;IAEbM,aAAa,EAAbA,aAAa;IACbC,gBAAgB,EAAhBA,gBAAgB;IAChBC,sBAAsB,EAAtBA,sBAAsB;IACtBC,sBAAsB,EAAtBA;EAAsB,CAEzB,CAAC;AAAA,CACH;AAEDL,aAAa,CAACO,SAAS,GAAG;EACxBH,sBAAsB,EAAEI,qBAAS,CAACC,OAAO,CACvCD,qBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,qBAAS,CAACI,MAAM,CAACC,UAAU;IACjCC,KAAK,EAAEN,qBAAS,CAACI,MAAM,CAACC;EAC1B,CAAC,CACH,CAAC,CAACA,UAAU;EACZX,aAAa,EAAEM,qBAAS,CAACO,MAAM,CAACF,UAAU;EAC1CV,gBAAgB,EAAEK,qBAAS,CAACQ,IAAI,CAACH,UAAU;EAC3CR,sBAAsB,EAAEG,qBAAS,CAACI,MAAM,CAACC;AAC3C,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEalB,aAAa","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _i18n = require("@edx/frontend-platform/i18n");
9
- var _frontendPluginAdvertisements = require("@edx/frontend-plugin-advertisements");
10
- var _messages = _interopRequireDefault(require("./messages"));
11
- var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
- var UpgradeBenefits = function UpgradeBenefits(_ref) {
14
- var isFBE = _ref.isFBE;
15
- var _useIntl = (0, _i18n.useIntl)(),
16
- formatMessage = _useIntl.formatMessage;
17
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
18
- className: "mt-3.5",
19
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("hr", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
20
- className: "lead text-primary-500",
21
- children: formatMessage(_messages["default"].upgradeBenefitsSectionTitle)
22
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
- className: "ml-n4 mt-n3",
24
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_frontendPluginAdvertisements.UpsellBullets, {
25
- isFBE: isFBE
26
- })
27
- })]
28
- });
29
- };
30
- UpgradeBenefits.propTypes = {
31
- isFBE: _propTypes["default"].bool.isRequired
32
- };
33
- var _default = exports["default"] = UpgradeBenefits;
34
- //# sourceMappingURL=UpgradeBenefits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeBenefits.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_frontendPluginAdvertisements","_messages","_jsxRuntime","e","__esModule","UpgradeBenefits","_ref","isFBE","_useIntl","useIntl","formatMessage","jsxs","className","children","jsx","messages","upgradeBenefitsSectionTitle","UpsellBullets","propTypes","PropTypes","bool","isRequired","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/UpgradeBenefits.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport { UpsellBullets } from '@edx/frontend-plugin-advertisements';\n\nimport messages from './messages';\n\nconst UpgradeBenefits = ({ isFBE }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"mt-3.5\">\n <hr />\n <span className=\"lead text-primary-500\">\n {formatMessage(messages.upgradeBenefitsSectionTitle)}\n </span>\n <div className=\"ml-n4 mt-n3\">\n <UpsellBullets {...{ isFBE }} />\n </div>\n </div>\n );\n};\n\nUpgradeBenefits.propTypes = {\n isFBE: PropTypes.bool.isRequired,\n};\n\nexport default UpgradeBenefits;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,6BAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAElC,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAkB;EAAA,IAAZC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAC9B,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EAErB,oBACE,IAAAR,WAAA,CAAAS,IAAA;IAAKC,SAAS,EAAC,QAAQ;IAAAC,QAAA,gBACrB,IAAAX,WAAA,CAAAY,GAAA,UAAK,CAAC,eACN,IAAAZ,WAAA,CAAAY,GAAA;MAAMF,SAAS,EAAC,uBAAuB;MAAAC,QAAA,EACpCH,aAAa,CAACK,oBAAQ,CAACC,2BAA2B;IAAC,CAChD,CAAC,eACP,IAAAd,WAAA,CAAAY,GAAA;MAAKF,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1B,IAAAX,WAAA,CAAAY,GAAA,EAACd,6BAAA,CAAAiB,aAAa;QAAOV,KAAK,EAALA;MAAK,CAAK;IAAC,CAC7B,CAAC;EAAA,CACH,CAAC;AAEV,CAAC;AAEDF,eAAe,CAACa,SAAS,GAAG;EAC1BX,KAAK,EAAEY,qBAAS,CAACC,IAAI,CAACC;AACxB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEalB,eAAe","ignoreList":[]}
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _i18n = require("@edx/frontend-platform/i18n");
9
- var _paragon = require("@openedx/paragon");
10
- var _icons = require("@openedx/paragon/icons");
11
- var _LockedLanguages = _interopRequireDefault(require("./LockedLanguages"));
12
- var _UpgradeBenefits = _interopRequireDefault(require("./UpgradeBenefits"));
13
- var _messages = _interopRequireDefault(require("./messages"));
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
- var UpgradeModalBody = function UpgradeModalBody(_ref) {
17
- var courseEnabledLanguages = _ref.courseEnabledLanguages,
18
- isFBE = _ref.isFBE,
19
- originalCourseLanguage = _ref.originalCourseLanguage;
20
- var _useIntl = (0, _i18n.useIntl)(),
21
- formatMessage = _useIntl.formatMessage;
22
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
23
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
24
- className: "lead text-primary mb-2",
25
- style: {
26
- display: 'inline-block',
27
- position: 'relative'
28
- },
29
- children: formatMessage(_messages["default"].upgradeLanguageSectionTitle, {
30
- tooltip: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.OverlayTrigger, {
31
- placement: "right",
32
- overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Tooltip, {
33
- id: "langauge-translations-selection-tooltip",
34
- children: formatMessage(_messages["default"].upgradeLanguageSectionTooltip)
35
- }),
36
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
37
- style: {
38
- "float": 'right',
39
- display: 'inline',
40
- position: 'absolute',
41
- bottom: 8
42
- },
43
- src: _icons.InfoOutline,
44
- size: "xs",
45
- className: "ml-1",
46
- "aria-label": "info"
47
- })
48
- })
49
- })
50
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockedLanguages["default"], {
51
- courseEnabledLanguages: courseEnabledLanguages,
52
- originalCourseLanguage: originalCourseLanguage
53
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpgradeBenefits["default"], {
54
- isFBE: isFBE
55
- })]
56
- });
57
- };
58
- UpgradeModalBody.propTypes = {
59
- courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
60
- code: _propTypes["default"].string.isRequired,
61
- label: _propTypes["default"].string.isRequired
62
- })).isRequired,
63
- isFBE: _propTypes["default"].bool.isRequired,
64
- originalCourseLanguage: _propTypes["default"].string.isRequired
65
- };
66
- var _default = exports["default"] = UpgradeModalBody;
67
- //# sourceMappingURL=UpgradeModalBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpgradeModalBody.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_LockedLanguages","_UpgradeBenefits","_messages","_jsxRuntime","e","__esModule","UpgradeModalBody","_ref","courseEnabledLanguages","isFBE","originalCourseLanguage","_useIntl","useIntl","formatMessage","jsxs","Fragment","children","jsx","className","style","display","position","messages","upgradeLanguageSectionTitle","tooltip","OverlayTrigger","placement","overlay","Tooltip","id","upgradeLanguageSectionTooltip","Icon","bottom","src","InfoOutline","size","propTypes","PropTypes","arrayOf","shape","code","string","isRequired","label","bool","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/UpgradeModalBody.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';\nimport { InfoOutline } from '@openedx/paragon/icons';\n\nimport LockedLanguages from './LockedLanguages';\nimport UpgradeBenefits from './UpgradeBenefits';\nimport messages from './messages';\n\nconst UpgradeModalBody = ({\n courseEnabledLanguages,\n isFBE,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <span className=\"lead text-primary mb-2\" style={{ display: 'inline-block', position: 'relative' }}>\n {formatMessage(messages.upgradeLanguageSectionTitle, {\n tooltip: (\n <OverlayTrigger\n placement=\"right\"\n overlay={(\n <Tooltip id=\"langauge-translations-selection-tooltip\">\n {formatMessage(messages.upgradeLanguageSectionTooltip)}\n </Tooltip>\n )}\n >\n <Icon\n style={{\n float: 'right',\n display: 'inline',\n position: 'absolute',\n bottom: 8,\n }}\n src={InfoOutline}\n size=\"xs\"\n className=\"ml-1\"\n aria-label=\"info\"\n />\n </OverlayTrigger>\n ),\n })}\n </span>\n <LockedLanguages {...{ courseEnabledLanguages, originalCourseLanguage }} />\n <UpgradeBenefits {...{ isFBE }} />\n </>\n );\n};\n\nUpgradeModalBody.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default UpgradeModalBody;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,gBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAkC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAElC,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAIhB;EAAA,IAHJC,sBAAsB,GAAAD,IAAA,CAAtBC,sBAAsB;IACtBC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;EAEtB,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,oBACE,IAAAV,WAAA,CAAAW,IAAA,EAAAX,WAAA,CAAAY,QAAA;IAAAC,QAAA,gBACE,IAAAb,WAAA,CAAAc,GAAA;MAAMC,SAAS,EAAC,wBAAwB;MAACC,KAAK,EAAE;QAAEC,OAAO,EAAE,cAAc;QAAEC,QAAQ,EAAE;MAAW,CAAE;MAAAL,QAAA,EAC/FH,aAAa,CAACS,oBAAQ,CAACC,2BAA2B,EAAE;QACnDC,OAAO,eACL,IAAArB,WAAA,CAAAc,GAAA,EAACnB,QAAA,CAAA2B,cAAc;UACbC,SAAS,EAAC,OAAO;UACjBC,OAAO,eACL,IAAAxB,WAAA,CAAAc,GAAA,EAACnB,QAAA,CAAA8B,OAAO;YAACC,EAAE,EAAC,yCAAyC;YAAAb,QAAA,EAClDH,aAAa,CAACS,oBAAQ,CAACQ,6BAA6B;UAAC,CAC/C,CACT;UAAAd,QAAA,eAEF,IAAAb,WAAA,CAAAc,GAAA,EAACnB,QAAA,CAAAiC,IAAI;YACHZ,KAAK,EAAE;cACL,SAAO,OAAO;cACdC,OAAO,EAAE,QAAQ;cACjBC,QAAQ,EAAE,UAAU;cACpBW,MAAM,EAAE;YACV,CAAE;YACFC,GAAG,EAAEC,kBAAY;YACjBC,IAAI,EAAC,IAAI;YACTjB,SAAS,EAAC,MAAM;YAChB,cAAW;UAAM,CAClB;QAAC,CACY;MAEpB,CAAC;IAAC,CACE,CAAC,eACP,IAAAf,WAAA,CAAAc,GAAA,EAACjB,gBAAA,WAAe;MAAOQ,sBAAsB,EAAtBA,sBAAsB;MAAEE,sBAAsB,EAAtBA;IAAsB,CAAK,CAAC,eAC3E,IAAAP,WAAA,CAAAc,GAAA,EAAChB,gBAAA,WAAe;MAAOQ,KAAK,EAALA;IAAK,CAAK,CAAC;EAAA,CAClC,CAAC;AAEP,CAAC;AAEDH,gBAAgB,CAAC8B,SAAS,GAAG;EAC3B5B,sBAAsB,EAAE6B,qBAAS,CAACC,OAAO,CACvCD,qBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,qBAAS,CAACI,MAAM,CAACC,UAAU;IACjCC,KAAK,EAAEN,qBAAS,CAACI,MAAM,CAACC;EAC1B,CAAC,CACH,CAAC,CAACA,UAAU;EACZjC,KAAK,EAAE4B,qBAAS,CAACO,IAAI,CAACF,UAAU;EAChChC,sBAAsB,EAAE2B,qBAAS,CAACI,MAAM,CAACC;AAC3C,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEaxC,gBAAgB","ignoreList":[]}