@edx/unit-title-plugin 2.0.0 → 2.2.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 (23) hide show
  1. package/dist/LegacyUnitTitle.js +2 -2
  2. package/dist/LegacyUnitTitle.js.map +1 -1
  3. package/dist/UnitTitle.js +2 -2
  4. package/dist/UnitTitle.js.map +1 -1
  5. package/dist/translation-button/index.js +8 -38
  6. package/dist/translation-button/index.js.map +1 -1
  7. package/dist/translation-button/translation-selection/index.js +4 -21
  8. package/dist/translation-button/translation-selection/index.js.map +1 -1
  9. package/dist/translation-button/translation-selection/messages.js +5 -0
  10. package/dist/translation-button/translation-selection/messages.js.map +1 -1
  11. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +4 -30
  12. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -1
  13. package/dist/translation-button/translation-selection/translation-modal/messages.js +0 -25
  14. package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -1
  15. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +24 -79
  16. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -1
  17. package/package.json +7 -2
  18. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +0 -33
  19. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +0 -1
  20. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +0 -34
  21. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +0 -1
  22. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +0 -67
  23. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +0 -1
@@ -22,8 +22,8 @@ var LegacyUnitTitle = function LegacyUnitTitle(_ref) {
22
22
  var isProcessing = unit.bookmarkedUpdateState === 'loading';
23
23
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
24
24
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
25
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
26
- className: "h3",
25
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h1", {
26
+ className: "unit-title",
27
27
  children: unit.title
28
28
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
29
29
  className: "sr-only",
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyUnitTitle.js","names":["_propTypes","_interopRequireDefault","require","_paragon","_i18n","_messages","_bookmark","_translationButton","_jsxRuntime","e","__esModule","LegacyUnitTitle","_ref","dispatch","id","unitId","unit","_useIntl","useIntl","formatMessage","isProcessing","bookmarkedUpdateState","jsxs","Stack","children","jsx","className","title","messages","headerPlaceholder","unitTitle","isLegacyButton","BookmarkButton","isBookmarked","bookmarked","propTypes","PropTypes","func","isRequired","string","shape","bool","_default","exports"],"sources":["../src/LegacyUnitTitle.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack } from '@openedx/paragon';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport messages from '@src/courseware/course/sequence/messages';\nimport { BookmarkButton } from '@src/courseware/course/bookmark';\n\nimport UnitTranslationSelector from './translation-button';\n\nconst LegacyUnitTitle = ({\n dispatch,\n id,\n unitId,\n unit,\n}) => {\n const { formatMessage } = useIntl();\n const isProcessing = unit.bookmarkedUpdateState === 'loading';\n\n return (\n <Stack>\n <div>\n <h3 className=\"h3\">{unit.title}</h3>\n <p className=\"sr-only\">{formatMessage(messages.headerPlaceholder)}</p>\n </div>\n <UnitTranslationSelector\n {...{\n id,\n unitId,\n unitTitle: unit.title,\n dispatch,\n isLegacyButton: true,\n }}\n />\n <div className=\"float-left\">\n <BookmarkButton\n unitId={unit.id}\n isBookmarked={unit.bookmarked}\n isProcessing={isProcessing}\n dispatch={dispatch}\n />\n </div>\n </Stack>\n );\n};\n\nLegacyUnitTitle.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unit: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n bookmarked: PropTypes.bool.isRequired,\n bookmarkedUpdateState: PropTypes.string,\n }).isRequired,\n};\n\nexport default LegacyUnitTitle;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEA,IAAAK,kBAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA2D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE3D,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAKf;EAAA,IAJJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;EAEJ,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,IAAMC,YAAY,GAAGJ,IAAI,CAACK,qBAAqB,KAAK,SAAS;EAE7D,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAACnB,QAAA,CAAAoB,KAAK;IAAAC,QAAA,gBACJ,IAAAhB,WAAA,CAAAc,IAAA;MAAAE,QAAA,gBACE,IAAAhB,WAAA,CAAAiB,GAAA;QAAIC,SAAS,EAAC,IAAI;QAAAF,QAAA,EAAER,IAAI,CAACW;MAAK,CAAK,CAAC,eACpC,IAAAnB,WAAA,CAAAiB,GAAA;QAAGC,SAAS,EAAC,SAAS;QAAAF,QAAA,EAAEL,aAAa,CAACS,oBAAQ,CAACC,iBAAiB;MAAC,CAAI,CAAC;IAAA,CACnE,CAAC,eACN,IAAArB,WAAA,CAAAiB,GAAA,EAAClB,kBAAA,WAAuB;MAEpBO,EAAE,EAAFA,EAAE;MACFC,MAAM,EAANA,MAAM;MACNe,SAAS,EAAEd,IAAI,CAACW,KAAK;MACrBd,QAAQ,EAARA,QAAQ;MACRkB,cAAc,EAAE;IAAI,CAEvB,CAAC,eACF,IAAAvB,WAAA,CAAAiB,GAAA;MAAKC,SAAS,EAAC,YAAY;MAAAF,QAAA,eACzB,IAAAhB,WAAA,CAAAiB,GAAA,EAACnB,SAAA,CAAA0B,cAAc;QACbjB,MAAM,EAAEC,IAAI,CAACF,EAAG;QAChBmB,YAAY,EAAEjB,IAAI,CAACkB,UAAW;QAC9Bd,YAAY,EAAEA,YAAa;QAC3BP,QAAQ,EAAEA;MAAS,CACpB;IAAC,CACC,CAAC;EAAA,CACD,CAAC;AAEZ,CAAC;AAEDF,eAAe,CAACwB,SAAS,GAAG;EAC1BtB,QAAQ,EAAEuB,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,EAAE,EAAEsB,qBAAS,CAACG,MAAM,CAACD,UAAU;EAC/BvB,MAAM,EAAEqB,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnCtB,IAAI,EAAEoB,qBAAS,CAACI,KAAK,CAAC;IACpB1B,EAAE,EAAEsB,qBAAS,CAACG,MAAM,CAACD,UAAU;IAC/BX,KAAK,EAAES,qBAAS,CAACG,MAAM,CAACD,UAAU;IAClCJ,UAAU,EAAEE,qBAAS,CAACK,IAAI,CAACH,UAAU;IACrCjB,qBAAqB,EAAEe,qBAAS,CAACG;EACnC,CAAC,CAAC,CAACD;AACL,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEahC,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"LegacyUnitTitle.js","names":["_propTypes","_interopRequireDefault","require","_paragon","_i18n","_messages","_bookmark","_translationButton","_jsxRuntime","e","__esModule","LegacyUnitTitle","_ref","dispatch","id","unitId","unit","_useIntl","useIntl","formatMessage","isProcessing","bookmarkedUpdateState","jsxs","Stack","children","jsx","className","title","messages","headerPlaceholder","unitTitle","isLegacyButton","BookmarkButton","isBookmarked","bookmarked","propTypes","PropTypes","func","isRequired","string","shape","bool","_default","exports"],"sources":["../src/LegacyUnitTitle.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Stack } from '@openedx/paragon';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport messages from '@src/courseware/course/sequence/messages';\nimport { BookmarkButton } from '@src/courseware/course/bookmark';\n\nimport UnitTranslationSelector from './translation-button';\n\nconst LegacyUnitTitle = ({\n dispatch,\n id,\n unitId,\n unit,\n}) => {\n const { formatMessage } = useIntl();\n const isProcessing = unit.bookmarkedUpdateState === 'loading';\n\n return (\n <Stack>\n <div>\n <h1 className=\"unit-title\">{unit.title}</h1>\n <p className=\"sr-only\">{formatMessage(messages.headerPlaceholder)}</p>\n </div>\n <UnitTranslationSelector\n {...{\n id,\n unitId,\n unitTitle: unit.title,\n dispatch,\n isLegacyButton: true,\n }}\n />\n <div className=\"float-left\">\n <BookmarkButton\n unitId={unit.id}\n isBookmarked={unit.bookmarked}\n isProcessing={isProcessing}\n dispatch={dispatch}\n />\n </div>\n </Stack>\n );\n};\n\nLegacyUnitTitle.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unit: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n bookmarked: PropTypes.bool.isRequired,\n bookmarkedUpdateState: PropTypes.string,\n }).isRequired,\n};\n\nexport default LegacyUnitTitle;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEA,IAAAK,kBAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA2D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAE3D,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAKf;EAAA,IAJJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;EAEJ,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,IAAMC,YAAY,GAAGJ,IAAI,CAACK,qBAAqB,KAAK,SAAS;EAE7D,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAACnB,QAAA,CAAAoB,KAAK;IAAAC,QAAA,gBACJ,IAAAhB,WAAA,CAAAc,IAAA;MAAAE,QAAA,gBACE,IAAAhB,WAAA,CAAAiB,GAAA;QAAIC,SAAS,EAAC,YAAY;QAAAF,QAAA,EAAER,IAAI,CAACW;MAAK,CAAK,CAAC,eAC5C,IAAAnB,WAAA,CAAAiB,GAAA;QAAGC,SAAS,EAAC,SAAS;QAAAF,QAAA,EAAEL,aAAa,CAACS,oBAAQ,CAACC,iBAAiB;MAAC,CAAI,CAAC;IAAA,CACnE,CAAC,eACN,IAAArB,WAAA,CAAAiB,GAAA,EAAClB,kBAAA,WAAuB;MAEpBO,EAAE,EAAFA,EAAE;MACFC,MAAM,EAANA,MAAM;MACNe,SAAS,EAAEd,IAAI,CAACW,KAAK;MACrBd,QAAQ,EAARA,QAAQ;MACRkB,cAAc,EAAE;IAAI,CAEvB,CAAC,eACF,IAAAvB,WAAA,CAAAiB,GAAA;MAAKC,SAAS,EAAC,YAAY;MAAAF,QAAA,eACzB,IAAAhB,WAAA,CAAAiB,GAAA,EAACnB,SAAA,CAAA0B,cAAc;QACbjB,MAAM,EAAEC,IAAI,CAACF,EAAG;QAChBmB,YAAY,EAAEjB,IAAI,CAACkB,UAAW;QAC9Bd,YAAY,EAAEA,YAAa;QAC3BP,QAAQ,EAAEA;MAAS,CACpB;IAAC,CACC,CAAC;EAAA,CACD,CAAC;AAEZ,CAAC;AAEDF,eAAe,CAACwB,SAAS,GAAG;EAC1BtB,QAAQ,EAAEuB,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,EAAE,EAAEsB,qBAAS,CAACG,MAAM,CAACD,UAAU;EAC/BvB,MAAM,EAAEqB,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnCtB,IAAI,EAAEoB,qBAAS,CAACI,KAAK,CAAC;IACpB1B,EAAE,EAAEsB,qBAAS,CAACG,MAAM,CAACD,UAAU;IAC/BX,KAAK,EAAES,qBAAS,CAACG,MAAM,CAACD,UAAU;IAClCJ,UAAU,EAAEE,qBAAS,CAACK,IAAI,CAACH,UAAU;IACrCjB,qBAAqB,EAAEe,qBAAS,CAACG;EACnC,CAAC,CAAC,CAACD;AACL,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEahC,eAAe","ignoreList":[]}
package/dist/UnitTitle.js CHANGED
@@ -39,8 +39,8 @@ var UnitTitle = function UnitTitle(_ref) {
39
39
  isLegacyButton: false
40
40
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ActionRow.Spacer, {}), navigation]
41
41
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
42
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
43
- className: "h3",
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h1", {
43
+ className: "unit-title",
44
44
  children: unit.title
45
45
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
46
46
  className: "sr-only",
@@ -1 +1 @@
1
- {"version":3,"file":"UnitTitle.js","names":["_propTypes","_interopRequireDefault","require","_paragon","_i18n","_messages","_translationButton","_BookmarkButton","_jsxRuntime","e","__esModule","UnitTitle","_ref","dispatch","id","navigation","unitId","unit","_useIntl","useIntl","formatMessage","isProcessing","bookmarkedUpdateState","jsxs","Stack","gap","className","children","ActionRow","jsx","isBookmarked","bookmarked","unitTitle","title","isLegacyButton","Spacer","messages","headerPlaceholder","propTypes","PropTypes","func","isRequired","string","node","shape","bool","_default","exports"],"sources":["../src/UnitTitle.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { ActionRow, Stack } from '@openedx/paragon';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport messages from '@src/courseware/course/sequence/messages';\nimport UnitTranslationSelector from './translation-button';\nimport BookmarkButton from './BookmarkButton';\n\nconst UnitTitle = ({\n dispatch,\n id,\n navigation,\n unitId,\n unit,\n}) => {\n const { formatMessage } = useIntl();\n const isProcessing = unit.bookmarkedUpdateState === 'loading';\n\n return (\n <Stack gap={3} className=\"mt-n3\">\n <ActionRow className=\"mx-n3\">\n <BookmarkButton\n unitId={unit.id}\n isBookmarked={unit.bookmarked}\n isProcessing={isProcessing}\n dispatch={dispatch}\n />\n <UnitTranslationSelector\n {...{\n id,\n unitId,\n unitTitle: unit.title,\n dispatch,\n isLegacyButton: false,\n }}\n />\n <ActionRow.Spacer />\n {navigation}\n </ActionRow>\n <div>\n <h3 className=\"h3\">{unit.title}</h3>\n <p className=\"sr-only\">{formatMessage(messages.headerPlaceholder)}</p>\n </div>\n </Stack>\n );\n};\n\nUnitTitle.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n navigation: PropTypes.node.isRequired,\n unitId: PropTypes.string.isRequired,\n unit: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n bookmarked: PropTypes.bool.isRequired,\n bookmarkedUpdateState: PropTypes.string,\n }).isRequired,\n};\n\nexport default UnitTitle;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UnitTitle.js","names":["_propTypes","_interopRequireDefault","require","_paragon","_i18n","_messages","_translationButton","_BookmarkButton","_jsxRuntime","e","__esModule","UnitTitle","_ref","dispatch","id","navigation","unitId","unit","_useIntl","useIntl","formatMessage","isProcessing","bookmarkedUpdateState","jsxs","Stack","gap","className","children","ActionRow","jsx","isBookmarked","bookmarked","unitTitle","title","isLegacyButton","Spacer","messages","headerPlaceholder","propTypes","PropTypes","func","isRequired","string","node","shape","bool","_default","exports"],"sources":["../src/UnitTitle.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { ActionRow, Stack } from '@openedx/paragon';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport messages from '@src/courseware/course/sequence/messages';\nimport UnitTranslationSelector from './translation-button';\nimport BookmarkButton from './BookmarkButton';\n\nconst UnitTitle = ({\n dispatch,\n id,\n navigation,\n unitId,\n unit,\n}) => {\n const { formatMessage } = useIntl();\n const isProcessing = unit.bookmarkedUpdateState === 'loading';\n\n return (\n <Stack gap={3} className=\"mt-n3\">\n <ActionRow className=\"mx-n3\">\n <BookmarkButton\n unitId={unit.id}\n isBookmarked={unit.bookmarked}\n isProcessing={isProcessing}\n dispatch={dispatch}\n />\n <UnitTranslationSelector\n {...{\n id,\n unitId,\n unitTitle: unit.title,\n dispatch,\n isLegacyButton: false,\n }}\n />\n <ActionRow.Spacer />\n {navigation}\n </ActionRow>\n <div>\n <h1 className=\"unit-title\">{unit.title}</h1>\n <p className=\"sr-only\">{formatMessage(messages.headerPlaceholder)}</p>\n </div>\n </Stack>\n );\n};\n\nUnitTitle.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n navigation: PropTypes.node.isRequired,\n unitId: PropTypes.string.isRequired,\n unit: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n bookmarked: PropTypes.bool.isRequired,\n bookmarkedUpdateState: PropTypes.string,\n }).isRequired,\n};\n\nexport default UnitTitle;\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _hooks = require("@src/data/hooks");
11
11
  var _modelStore = require("@src/generic/model-store");
12
- var _constants = require("@src/constants");
13
12
  var _translationSelection = _interopRequireDefault(require("./translation-selection"));
14
13
  var _api = require("./data/api");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -29,18 +28,11 @@ var UnitTranslationSelector = function UnitTranslationSelector(_ref) {
29
28
  isLegacyButton = _ref.isLegacyButton;
30
29
  var courseId = (0, _hooks.useContextId)();
31
30
  var _useModel = (0, _modelStore.useModel)('coursewareMeta', courseId),
32
- language = _useModel.language,
33
- enrollmentMode = _useModel.enrollmentMode,
34
- accessExpiration = _useModel.accessExpiration,
35
- datesBannerInfo = _useModel.datesBannerInfo;
31
+ language = _useModel.language;
36
32
  var courseLanguage = language || 'en';
37
33
  var isEnglish = courseLanguage === 'en';
38
34
  var _useModel2 = (0, _modelStore.useModel)('courseHomeMeta', courseId),
39
- courseModes = _useModel2.courseModes,
40
- isStaff = _useModel2.isStaff,
41
- verifiedMode = _useModel2.verifiedMode,
42
35
  org = _useModel2.org,
43
- originalUserIsStaff = _useModel2.originalUserIsStaff,
44
36
  courseName = _useModel2.title;
45
37
  var _useState = (0, _react.useState)({
46
38
  enabled: false,
@@ -49,41 +41,22 @@ var UnitTranslationSelector = function UnitTranslationSelector(_ref) {
49
41
  _useState2 = _slicedToArray(_useState, 2),
50
42
  translationConfig = _useState2[0],
51
43
  setTranslationConfig = _useState2[1];
52
- var hasVerifiedTrack = courseModes === null || courseModes === void 0 ? void 0 : courseModes.some(function (mode) {
53
- return _constants.VERIFIED_MODES.includes(mode.slug);
54
- });
55
- var isFBE = !!accessExpiration && !!(datesBannerInfo !== null && datesBannerInfo !== void 0 && datesBannerInfo.contentTypeGatingEnabled);
56
44
  var logEventProperties = {
57
45
  org_key: org,
58
46
  courserun_key: courseId,
59
47
  course_name: courseName
60
48
  };
49
+
50
+ // Fetch translation configuration
61
51
  (0, _react.useEffect)(function () {
62
- if (hasVerifiedTrack) {
63
- (0, _api.fetchTranslationConfig)(courseId).then(setTranslationConfig);
64
- }
52
+ (0, _api.fetchTranslationConfig)(courseId).then(setTranslationConfig);
65
53
  }, []);
66
54
  var enabled = translationConfig.enabled,
67
55
  availableLanguages = translationConfig.availableLanguages;
68
- if (!hasVerifiedTrack || !enabled || !availableLanguages.length || !isEnglish) {
69
- return null;
70
- }
71
- var isAuditMode = enrollmentMode === 'audit' && !isStaff;
72
56
 
73
- /* 12-20-2024
74
- * This check will render different experiences between the learner audit view and the masquerade
75
- * audit view. The learner view will not see the button, but the masquerade view will show the
76
- * verified version of the button. Currently there is no way to distinguish the enrollmentMode
77
- * when masquerading, as it will always return audit. When masquerading and verifiedMode === null,
78
- * it is impossible to distinguish between the audit and verified experience from the courseware data.
79
- */
80
- if (isAuditMode) {
81
- if (!verifiedMode) {
82
- if (!originalUserIsStaff) {
83
- return null;
84
- }
85
- isAuditMode = false;
86
- }
57
+ // Only show when feature is enabled, there are available languages, and the course language is English
58
+ if (!enabled || !availableLanguages.length || !isEnglish) {
59
+ return null;
87
60
  }
88
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_translationSelection["default"], {
89
62
  dispatch: dispatch,
@@ -93,11 +66,8 @@ var UnitTranslationSelector = function UnitTranslationSelector(_ref) {
93
66
  availableLanguages: availableLanguages,
94
67
  unitId: unitId,
95
68
  unitTitle: unitTitle,
96
- isAuditMode: isAuditMode,
97
- isFBE: isFBE,
98
69
  logEventProperties: logEventProperties,
99
- isLegacyButton: isLegacyButton,
100
- verifiedMode: verifiedMode || {}
70
+ isLegacyButton: isLegacyButton
101
71
  });
102
72
  };
103
73
  UnitTranslationSelector.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_hooks","_modelStore","_constants","_translationSelection","_api","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","UnitTranslationSelector","_ref","dispatch","id","unitId","unitTitle","isLegacyButton","courseId","useContextId","_useModel","useModel","language","enrollmentMode","accessExpiration","datesBannerInfo","courseLanguage","isEnglish","_useModel2","courseModes","isStaff","verifiedMode","org","originalUserIsStaff","courseName","title","_useState","useState","enabled","availableLanguages","_useState2","translationConfig","setTranslationConfig","hasVerifiedTrack","some","mode","VERIFIED_MODES","includes","slug","isFBE","contentTypeGatingEnabled","logEventProperties","org_key","courserun_key","course_name","useEffect","fetchTranslationConfig","then","isAuditMode","jsx","propTypes","PropTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/translation-button/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useContextId } from '@src/data/hooks';\nimport { useModel } from '@src/generic/model-store';\nimport { VERIFIED_MODES } from '@src/constants';\nimport TranslationSelection from './translation-selection';\nimport { fetchTranslationConfig } from './data/api';\n\nconst UnitTranslationSelector = ({\n dispatch,\n id,\n unitId,\n unitTitle,\n isLegacyButton,\n}) => {\n const courseId = useContextId();\n const {\n language,\n enrollmentMode,\n accessExpiration,\n datesBannerInfo,\n } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const isEnglish = courseLanguage === 'en';\n const {\n courseModes,\n isStaff,\n verifiedMode,\n org,\n originalUserIsStaff,\n title: courseName,\n } = useModel('courseHomeMeta', courseId);\n const [translationConfig, setTranslationConfig] = useState({\n enabled: false,\n availableLanguages: [],\n });\n const hasVerifiedTrack = courseModes?.some(mode => VERIFIED_MODES.includes(mode.slug));\n\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n const logEventProperties = {\n org_key: org,\n courserun_key: courseId,\n course_name: courseName,\n };\n\n useEffect(() => {\n if (hasVerifiedTrack) {\n fetchTranslationConfig(courseId).then(setTranslationConfig);\n }\n }, []);\n\n const { enabled, availableLanguages } = translationConfig;\n\n if (!hasVerifiedTrack || !enabled || !availableLanguages.length || !isEnglish) {\n return null;\n }\n\n let isAuditMode = enrollmentMode === 'audit' && !isStaff;\n\n /* 12-20-2024\n * This check will render different experiences between the learner audit view and the masquerade\n * audit view. The learner view will not see the button, but the masquerade view will show the\n * verified version of the button. Currently there is no way to distinguish the enrollmentMode\n * when masquerading, as it will always return audit. When masquerading and verifiedMode === null,\n * it is impossible to distinguish between the audit and verified experience from the courseware data.\n */\n if (isAuditMode) {\n if (!verifiedMode) {\n if (!originalUserIsStaff) {\n return null;\n }\n isAuditMode = false;\n }\n }\n\n return (\n <TranslationSelection\n {...{\n dispatch,\n id,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n logEventProperties,\n isLegacyButton,\n }}\n verifiedMode={verifiedMode || {}}\n />\n );\n};\n\nUnitTranslationSelector.propTypes = {\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unitTitle: PropTypes.string.isRequired,\n dispatch: PropTypes.func.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n};\n\nexport default UnitTranslationSelector;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_hooks","_modelStore","_translationSelection","_api","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","UnitTranslationSelector","_ref","dispatch","id","unitId","unitTitle","isLegacyButton","courseId","useContextId","_useModel","useModel","language","courseLanguage","isEnglish","_useModel2","org","courseName","title","_useState","useState","enabled","availableLanguages","_useState2","translationConfig","setTranslationConfig","logEventProperties","org_key","courserun_key","course_name","useEffect","fetchTranslationConfig","then","jsx","propTypes","PropTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/translation-button/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useContextId } from '@src/data/hooks';\nimport { useModel } from '@src/generic/model-store';\nimport TranslationSelection from './translation-selection';\nimport { fetchTranslationConfig } from './data/api';\n\nconst UnitTranslationSelector = ({\n dispatch,\n id,\n unitId,\n unitTitle,\n isLegacyButton,\n}) => {\n const courseId = useContextId();\n const {\n language,\n } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const isEnglish = courseLanguage === 'en';\n const {\n org,\n title: courseName,\n } = useModel('courseHomeMeta', courseId);\n const [translationConfig, setTranslationConfig] = useState({\n enabled: false,\n availableLanguages: [],\n });\n\n const logEventProperties = {\n org_key: org,\n courserun_key: courseId,\n course_name: courseName,\n };\n\n // Fetch translation configuration\n useEffect(() => {\n fetchTranslationConfig(courseId).then(setTranslationConfig);\n }, []);\n const { enabled, availableLanguages } = translationConfig;\n\n // Only show when feature is enabled, there are available languages, and the course language is English\n if (!enabled || !availableLanguages.length || !isEnglish) {\n return null;\n }\n\n return (\n <TranslationSelection\n {...{\n dispatch,\n id,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n logEventProperties,\n isLegacyButton,\n }}\n />\n );\n};\n\nUnitTranslationSelector.propTypes = {\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unitTitle: PropTypes.string.isRequired,\n dispatch: PropTypes.func.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n};\n\nexport default UnitTranslationSelector;\n"],"mappings":"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","ignoreList":[]}
@@ -37,9 +37,6 @@ var TranslationSelection = function TranslationSelection(_ref) {
37
37
  availableLanguages = _ref.availableLanguages,
38
38
  unitId = _ref.unitId,
39
39
  unitTitle = _ref.unitTitle,
40
- isAuditMode = _ref.isAuditMode,
41
- isFBE = _ref.isFBE,
42
- verifiedMode = _ref.verifiedMode,
43
40
  logEventProperties = _ref.logEventProperties,
44
41
  dispatch = _ref.dispatch;
45
42
  var _useIntl = (0, _i18n.useIntl)(),
@@ -58,11 +55,7 @@ var TranslationSelection = function TranslationSelection(_ref) {
58
55
  }),
59
56
  selectedLanguage = _useSelectLanguage.selectedLanguage,
60
57
  setSelectedLanguage = _useSelectLanguage.setSelectedLanguage;
61
- var logButtonProperties = _objectSpread(_objectSpread({}, logEventProperties), {}, {
62
- is_audit_user: isAuditMode
63
- });
64
- var buttonIcon = isAuditMode ? _icons.Lock : _icons.Translate;
65
- var ariaDescription = isAuditMode ? 'Upgrade to unlock course translations' : 'Select language to translate content into';
58
+ var logButtonProperties = _objectSpread({}, logEventProperties);
66
59
  var handleTranslateClick = function handleTranslateClick() {
67
60
  (0, _analytics.sendTrackEvent)('edx.whole_course_translations.translate_button.clicked', logButtonProperties);
68
61
  open();
@@ -75,7 +68,7 @@ var TranslationSelection = function TranslationSelection(_ref) {
75
68
  courseLanguage: courseLanguage
76
69
  });
77
70
  (0, _react.useEffect)(function () {
78
- if (courseId && selectedLanguage && unitId && userId && courseLanguage !== selectedLanguage && !isAuditMode) {
71
+ if (courseId && selectedLanguage && unitId && userId && courseLanguage !== selectedLanguage) {
79
72
  var eventName = 'edx.whole_course_translations.translation_requested';
80
73
  var eventProperties = {
81
74
  courseId: courseId,
@@ -111,8 +104,8 @@ var TranslationSelection = function TranslationSelection(_ref) {
111
104
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ProductTour, {
112
105
  tours: [translationTour]
113
106
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
114
- iconBefore: buttonIcon,
115
- "aria-description": ariaDescription,
107
+ iconBefore: _icons.Translate,
108
+ "aria-description": formatMessage(_messages["default"].translationButtonAriaDescription),
116
109
  alt: "change-language",
117
110
  variant: isLegacyButton ? 'outline-primary' : 'tertiary',
118
111
  className: isLegacyButton ? 'translation-selection-button' : 'text-primary-500 icon-hover',
@@ -125,11 +118,8 @@ var TranslationSelection = function TranslationSelection(_ref) {
125
118
  courseId: courseId,
126
119
  id: id,
127
120
  isOpen: isOpen,
128
- isAuditMode: isAuditMode,
129
- isFBE: isFBE,
130
121
  selectedLanguage: selectedLanguage,
131
122
  setSelectedLanguage: setSelectedLanguage,
132
- verifiedMode: verifiedMode,
133
123
  logEventProperties: logEventProperties,
134
124
  originalCourseLanguage: courseLanguage
135
125
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_feedbackWidget["default"], {
@@ -153,13 +143,6 @@ TranslationSelection.propTypes = {
153
143
  label: _propTypes["default"].string.isRequired
154
144
  })).isRequired,
155
145
  unitTitle: _propTypes["default"].string.isRequired,
156
- isFBE: _propTypes["default"].bool.isRequired,
157
- verifiedMode: _propTypes["default"].shape({
158
- currencySymbol: _propTypes["default"].string,
159
- price: _propTypes["default"].number,
160
- upgradeUrl: _propTypes["default"].string
161
- }).isRequired,
162
- isAuditMode: _propTypes["default"].bool.isRequired,
163
146
  logEventProperties: _propTypes["default"].shape({
164
147
  org_key: _propTypes["default"].string.isRequired,
165
148
  courserun_key: _propTypes["default"].string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_auth","_paragon","_icons","_queryString","_pluginStore","_messages","_translationModal","_useTranslationTour2","_useSelectLanguage2","_useUnitTitle","_feedbackWidget","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","TranslationSelection","_ref","id","isLegacyButton","courseId","courseLanguage","availableLanguages","unitId","unitTitle","isAuditMode","isFBE","verifiedMode","logEventProperties","dispatch","_useIntl","useIntl","formatMessage","_getAuthenticatedUser","getAuthenticatedUser","userId","_useTranslationTour","useTranslationTour","translationTour","isOpen","open","close","_useSelectLanguage","useSelectLanguage","selectedLanguage","setSelectedLanguage","logButtonProperties","is_audit_user","buttonIcon","Lock","Translate","ariaDescription","handleTranslateClick","sendTrackEvent","useUnitTitle","useEffect","eventName","eventProperties","sourceLanguage","targetLanguage","registerOverrideMethod","pluginName","methodName","method","iframeUrl","finalUrl","stringifyUrl","url","query","src_lang","dest_lang","jsxs","className","children","jsx","ProductTour","tours","Button","iconBefore","alt","variant","onClick","size","messages","translationButtonText","originalCourseLanguage","translationLanguage","propTypes","PropTypes","func","isRequired","string","bool","arrayOf","shape","code","label","currencySymbol","price","number","upgradeUrl","org_key","courserun_key","course_name","defaultProps","_default","exports"],"sources":["../../../src/translation-button/translation-selection/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { Button, ProductTour } from '@openedx/paragon';\nimport { Translate, Lock } from '@openedx/paragon/icons';\nimport { stringifyUrl } from 'query-string';\n\nimport { registerOverrideMethod } from '@src/generic/plugin-store';\n\nimport messages from './messages';\nimport TranslationModal from './translation-modal';\nimport useTranslationTour from './useTranslationTour';\nimport useSelectLanguage from './useSelectLanguage';\nimport useUnitTitle from './useUnitTitle';\nimport FeedbackWidget from '../feedback-widget';\nimport './index.scss';\n\nconst TranslationSelection = ({\n id,\n isLegacyButton,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n verifiedMode,\n logEventProperties,\n dispatch,\n}) => {\n const { formatMessage } = useIntl();\n const { userId } = getAuthenticatedUser();\n const {\n translationTour, isOpen, open, close,\n } = useTranslationTour();\n\n const { selectedLanguage, setSelectedLanguage } = useSelectLanguage({\n courseId,\n courseLanguage,\n availableLanguages,\n });\n\n const logButtonProperties = { ...logEventProperties, is_audit_user: isAuditMode };\n const buttonIcon = isAuditMode ? Lock : Translate;\n const ariaDescription = isAuditMode ? 'Upgrade to unlock course translations' : 'Select language to translate content into';\n\n const handleTranslateClick = () => {\n sendTrackEvent('edx.whole_course_translations.translate_button.clicked', logButtonProperties);\n open();\n };\n\n useUnitTitle({\n courseId,\n selectedLanguage,\n unitId,\n unitTitle,\n courseLanguage,\n });\n\n useEffect(() => {\n if ((courseId && selectedLanguage && unitId && userId) && (courseLanguage !== selectedLanguage) && !isAuditMode) {\n const eventName = 'edx.whole_course_translations.translation_requested';\n const eventProperties = {\n courseId,\n sourceLanguage: courseLanguage,\n targetLanguage: selectedLanguage,\n unitId,\n userId,\n };\n sendTrackEvent(eventName, eventProperties);\n }\n }, [courseId, courseLanguage, selectedLanguage, unitId, userId]);\n\n useEffect(() => {\n sendTrackEvent('edx.whole_course_translations.translate_button', logButtonProperties);\n }, [courseId]);\n\n useEffect(() => {\n dispatch(\n registerOverrideMethod({\n pluginName: id,\n methodName: 'getIFrameUrl',\n method: (iframeUrl) => {\n const finalUrl = stringifyUrl({\n url: iframeUrl,\n query: {\n ...((courseLanguage && selectedLanguage && (courseLanguage !== selectedLanguage)) && {\n src_lang: courseLanguage,\n dest_lang: selectedLanguage,\n }),\n },\n });\n return finalUrl;\n },\n }),\n );\n }, [courseLanguage, selectedLanguage]);\n\n return (\n <div className={isLegacyButton ? '' : 'toolbar-divider'}>\n <ProductTour tours={[translationTour]} />\n <Button\n iconBefore={buttonIcon}\n aria-description={ariaDescription}\n alt=\"change-language\"\n variant={isLegacyButton ? 'outline-primary' : 'tertiary'}\n className={isLegacyButton ? 'translation-selection-button' : 'text-primary-500 icon-hover'}\n onClick={handleTranslateClick}\n size={!isLegacyButton && 'sm'}\n >\n {formatMessage(messages.translationButtonText)}\n </Button>\n <TranslationModal\n {...{\n availableLanguages,\n close,\n courseId,\n id,\n isOpen,\n isAuditMode,\n isFBE,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n logEventProperties,\n originalCourseLanguage: courseLanguage,\n }}\n />\n <FeedbackWidget\n courseId={courseId}\n courseLanguage={courseLanguage}\n translationLanguage={selectedLanguage}\n unitId={unitId}\n userId={userId}\n />\n </div>\n );\n};\n\nTranslationSelection.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n courseId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n courseLanguage: PropTypes.string.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n unitTitle: PropTypes.string.isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nTranslationSelection.defaultProps = {};\n\nexport default TranslationSelection;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAEA,IAAAS,YAAA,GAAAT,OAAA;AAEA,IAAAU,SAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,iBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,oBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,mBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,aAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,eAAA,GAAAb,sBAAA,CAAAF,OAAA;AACAA,OAAA;AAAsB,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAE,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAlB,wBAAAkB,CAAA,EAAAE,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAArB,uBAAA,YAAAA,wBAAAkB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAE,CAAA;AAAA,SAAAQ,QAAAJ,CAAA,sCAAAI,OAAA,wBAAAU,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAf,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAc,MAAA,IAAAd,CAAA,CAAAgB,WAAA,KAAAF,MAAA,IAAAd,CAAA,KAAAc,MAAA,CAAAG,SAAA,qBAAAjB,CAAA,KAAAI,OAAA,CAAAJ,CAAA;AAAA,SAAAkB,QAAAxB,CAAA,EAAAI,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAQ,IAAA,CAAAzB,CAAA,OAAAiB,MAAA,CAAAS,qBAAA,QAAApB,CAAA,GAAAW,MAAA,CAAAS,qBAAA,CAAA1B,CAAA,GAAAI,CAAA,KAAAE,CAAA,GAAAA,CAAA,CAAAqB,MAAA,WAAAvB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAwB,UAAA,OAAA1B,CAAA,CAAA2B,IAAA,CAAAC,KAAA,CAAA5B,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAA6B,cAAA/B,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAF,CAAA,WAAA8B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAoB,OAAA,CAAAP,MAAA,CAAAf,CAAA,OAAAgC,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAnC,CAAA,EAAAI,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAArC,CAAA,EAAAiB,MAAA,CAAAmB,yBAAA,CAAAlC,CAAA,KAAAsB,OAAA,CAAAP,MAAA,CAAAf,CAAA,GAAAgC,OAAA,WAAA9B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAJ,CAAA;AAAA,SAAAmC,gBAAAnC,CAAA,EAAAI,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAkC,cAAA,CAAAlC,CAAA,MAAAJ,CAAA,GAAAiB,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,IAAAmC,KAAA,EAAArC,CAAA,EAAA0B,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAzC,CAAA,CAAAI,CAAA,IAAAF,CAAA,EAAAF,CAAA;AAAA,SAAAsC,eAAApC,CAAA,QAAAK,CAAA,GAAAmC,YAAA,CAAAxC,CAAA,gCAAAQ,OAAA,CAAAH,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAmC,aAAAxC,CAAA,EAAAE,CAAA,oBAAAM,OAAA,CAAAR,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAkB,MAAA,CAAAuB,WAAA,kBAAA3C,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAgB,IAAA,CAAAd,CAAA,EAAAE,CAAA,gCAAAM,OAAA,CAAAH,CAAA,UAAAA,CAAA,YAAAqC,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAA5C,CAAA;AAEtB,IAAM6C,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAapB;EAAA,IAZJC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAClBC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,WAAW,GAAAR,IAAA,CAAXQ,WAAW;IACXC,KAAK,GAAAT,IAAA,CAALS,KAAK;IACLC,YAAY,GAAAV,IAAA,CAAZU,YAAY;IACZC,kBAAkB,GAAAX,IAAA,CAAlBW,kBAAkB;IAClBC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;EAER,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,IAAAC,qBAAA,GAAmB,IAAAC,0BAAoB,EAAC,CAAC;IAAjCC,MAAM,GAAAF,qBAAA,CAANE,MAAM;EACd,IAAAC,mBAAA,GAEI,IAAAC,+BAAkB,EAAC,CAAC;IADtBC,eAAe,GAAAF,mBAAA,CAAfE,eAAe;IAAEC,MAAM,GAAAH,mBAAA,CAANG,MAAM;IAAEC,IAAI,GAAAJ,mBAAA,CAAJI,IAAI;IAAEC,KAAK,GAAAL,mBAAA,CAALK,KAAK;EAGtC,IAAAC,kBAAA,GAAkD,IAAAC,8BAAiB,EAAC;MAClEvB,QAAQ,EAARA,QAAQ;MACRC,cAAc,EAAdA,cAAc;MACdC,kBAAkB,EAAlBA;IACF,CAAC,CAAC;IAJMsB,gBAAgB,GAAAF,kBAAA,CAAhBE,gBAAgB;IAAEC,mBAAmB,GAAAH,kBAAA,CAAnBG,mBAAmB;EAM7C,IAAMC,mBAAmB,GAAA9C,aAAA,CAAAA,aAAA,KAAQ4B,kBAAkB;IAAEmB,aAAa,EAAEtB;EAAW,EAAE;EACjF,IAAMuB,UAAU,GAAGvB,WAAW,GAAGwB,WAAI,GAAGC,gBAAS;EACjD,IAAMC,eAAe,GAAG1B,WAAW,GAAG,uCAAuC,GAAG,2CAA2C;EAE3H,IAAM2B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;IACjC,IAAAC,yBAAc,EAAC,wDAAwD,EAAEP,mBAAmB,CAAC;IAC7FN,IAAI,CAAC,CAAC;EACR,CAAC;EAED,IAAAc,wBAAY,EAAC;IACXlC,QAAQ,EAARA,QAAQ;IACRwB,gBAAgB,EAAhBA,gBAAgB;IAChBrB,MAAM,EAANA,MAAM;IACNC,SAAS,EAATA,SAAS;IACTH,cAAc,EAAdA;EACF,CAAC,CAAC;EAEF,IAAAkC,gBAAS,EAAC,YAAM;IACd,IAAKnC,QAAQ,IAAIwB,gBAAgB,IAAIrB,MAAM,IAAIY,MAAM,IAAMd,cAAc,KAAKuB,gBAAiB,IAAI,CAACnB,WAAW,EAAE;MAC/G,IAAM+B,SAAS,GAAG,qDAAqD;MACvE,IAAMC,eAAe,GAAG;QACtBrC,QAAQ,EAARA,QAAQ;QACRsC,cAAc,EAAErC,cAAc;QAC9BsC,cAAc,EAAEf,gBAAgB;QAChCrB,MAAM,EAANA,MAAM;QACNY,MAAM,EAANA;MACF,CAAC;MACD,IAAAkB,yBAAc,EAACG,SAAS,EAAEC,eAAe,CAAC;IAC5C;EACF,CAAC,EAAE,CAACrC,QAAQ,EAAEC,cAAc,EAAEuB,gBAAgB,EAAErB,MAAM,EAAEY,MAAM,CAAC,CAAC;EAEhE,IAAAoB,gBAAS,EAAC,YAAM;IACd,IAAAF,yBAAc,EAAC,gDAAgD,EAAEP,mBAAmB,CAAC;EACvF,CAAC,EAAE,CAAC1B,QAAQ,CAAC,CAAC;EAEd,IAAAmC,gBAAS,EAAC,YAAM;IACd1B,QAAQ,CACN,IAAA+B,mCAAsB,EAAC;MACrBC,UAAU,EAAE3C,EAAE;MACd4C,UAAU,EAAE,cAAc;MAC1BC,MAAM,EAAE,SAARA,MAAMA,CAAGC,SAAS,EAAK;QACrB,IAAMC,QAAQ,GAAG,IAAAC,yBAAY,EAAC;UAC5BC,GAAG,EAAEH,SAAS;UACdI,KAAK,EAAApE,aAAA,KACEqB,cAAc,IAAIuB,gBAAgB,IAAKvB,cAAc,KAAKuB,gBAAiB,IAAK;YACnFyB,QAAQ,EAAEhD,cAAc;YACxBiD,SAAS,EAAE1B;UACb,CAAC;QAEL,CAAC,CAAC;QACF,OAAOqB,QAAQ;MACjB;IACF,CAAC,CACH,CAAC;EACH,CAAC,EAAE,CAAC5C,cAAc,EAAEuB,gBAAgB,CAAC,CAAC;EAEtC,oBACE,IAAA5E,WAAA,CAAAuG,IAAA;IAAKC,SAAS,EAAErD,cAAc,GAAG,EAAE,GAAG,iBAAkB;IAAAsD,QAAA,gBACtD,IAAAzG,WAAA,CAAA0G,GAAA,EAACpH,QAAA,CAAAqH,WAAW;MAACC,KAAK,EAAE,CAACtC,eAAe;IAAE,CAAE,CAAC,eACzC,IAAAtE,WAAA,CAAA0G,GAAA,EAACpH,QAAA,CAAAuH,MAAM;MACLC,UAAU,EAAE9B,UAAW;MACvB,oBAAkBG,eAAgB;MAClC4B,GAAG,EAAC,iBAAiB;MACrBC,OAAO,EAAE7D,cAAc,GAAG,iBAAiB,GAAG,UAAW;MACzDqD,SAAS,EAAErD,cAAc,GAAG,8BAA8B,GAAG,6BAA8B;MAC3F8D,OAAO,EAAE7B,oBAAqB;MAC9B8B,IAAI,EAAE,CAAC/D,cAAc,IAAI,IAAK;MAAAsD,QAAA,EAE7BzC,aAAa,CAACmD,oBAAQ,CAACC,qBAAqB;IAAC,CACxC,CAAC,eACT,IAAApH,WAAA,CAAA0G,GAAA,EAAC/G,iBAAA,WAAgB;MAEb2D,kBAAkB,EAAlBA,kBAAkB;MAClBmB,KAAK,EAALA,KAAK;MACLrB,QAAQ,EAARA,QAAQ;MACRF,EAAE,EAAFA,EAAE;MACFqB,MAAM,EAANA,MAAM;MACNd,WAAW,EAAXA,WAAW;MACXC,KAAK,EAALA,KAAK;MACLkB,gBAAgB,EAAhBA,gBAAgB;MAChBC,mBAAmB,EAAnBA,mBAAmB;MACnBlB,YAAY,EAAZA,YAAY;MACZC,kBAAkB,EAAlBA,kBAAkB;MAClByD,sBAAsB,EAAEhE;IAAc,CAEzC,CAAC,eACF,IAAArD,WAAA,CAAA0G,GAAA,EAAC3G,eAAA,WAAc;MACbqD,QAAQ,EAAEA,QAAS;MACnBC,cAAc,EAAEA,cAAe;MAC/BiE,mBAAmB,EAAE1C,gBAAiB;MACtCrB,MAAM,EAAEA,MAAO;MACfY,MAAM,EAAEA;IAAO,CAChB,CAAC;EAAA,CACC,CAAC;AAEV,CAAC;AAEDnB,oBAAoB,CAACuE,SAAS,GAAG;EAC/B1D,QAAQ,EAAE2D,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCxE,EAAE,EAAEsE,qBAAS,CAACG,MAAM,CAACD,UAAU;EAC/BvE,cAAc,EAAEqE,qBAAS,CAACI,IAAI,CAACF,UAAU;EACzCtE,QAAQ,EAAEoE,qBAAS,CAACG,MAAM,CAACD,UAAU;EACrCnE,MAAM,EAAEiE,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnCrE,cAAc,EAAEmE,qBAAS,CAACG,MAAM,CAACD,UAAU;EAC3CpE,kBAAkB,EAAEkE,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACM,KAAK,CAAC;IACpDC,IAAI,EAAEP,qBAAS,CAACG,MAAM,CAACD,UAAU;IACjCM,KAAK,EAAER,qBAAS,CAACG,MAAM,CAACD;EAC1B,CAAC,CAAC,CAAC,CAACA,UAAU;EACdlE,SAAS,EAAEgE,qBAAS,CAACG,MAAM,CAACD,UAAU;EACtChE,KAAK,EAAE8D,qBAAS,CAACI,IAAI,CAACF,UAAU;EAChC/D,YAAY,EAAE6D,qBAAS,CAACM,KAAK,CAAC;IAC5BG,cAAc,EAAET,qBAAS,CAACG,MAAM;IAChCO,KAAK,EAAEV,qBAAS,CAACW,MAAM;IACvBC,UAAU,EAAEZ,qBAAS,CAACG;EACxB,CAAC,CAAC,CAACD,UAAU;EACbjE,WAAW,EAAE+D,qBAAS,CAACI,IAAI,CAACF,UAAU;EACtC9D,kBAAkB,EAAE4D,qBAAS,CAACM,KAAK,CAAC;IAClCO,OAAO,EAAEb,qBAAS,CAACG,MAAM,CAACD,UAAU;IACpCY,aAAa,EAAEd,qBAAS,CAACG,MAAM,CAACD,UAAU;IAC1Ca,WAAW,EAAEf,qBAAS,CAACG,MAAM,CAACD;EAChC,CAAC,CAAC,CAACA;AACL,CAAC;AAED1E,oBAAoB,CAACwF,YAAY,GAAG,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAExB1F,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_auth","_paragon","_icons","_queryString","_pluginStore","_messages","_translationModal","_useTranslationTour2","_useSelectLanguage2","_useUnitTitle","_feedbackWidget","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","TranslationSelection","_ref","id","isLegacyButton","courseId","courseLanguage","availableLanguages","unitId","unitTitle","logEventProperties","dispatch","_useIntl","useIntl","formatMessage","_getAuthenticatedUser","getAuthenticatedUser","userId","_useTranslationTour","useTranslationTour","translationTour","isOpen","open","close","_useSelectLanguage","useSelectLanguage","selectedLanguage","setSelectedLanguage","logButtonProperties","handleTranslateClick","sendTrackEvent","useUnitTitle","useEffect","eventName","eventProperties","sourceLanguage","targetLanguage","registerOverrideMethod","pluginName","methodName","method","iframeUrl","finalUrl","stringifyUrl","url","query","src_lang","dest_lang","jsxs","className","children","jsx","ProductTour","tours","Button","iconBefore","Translate","messages","translationButtonAriaDescription","alt","variant","onClick","size","translationButtonText","originalCourseLanguage","translationLanguage","propTypes","PropTypes","func","isRequired","string","bool","arrayOf","shape","code","label","org_key","courserun_key","course_name","defaultProps","_default","exports"],"sources":["../../../src/translation-button/translation-selection/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { Button, ProductTour } from '@openedx/paragon';\nimport { Translate } from '@openedx/paragon/icons';\nimport { stringifyUrl } from 'query-string';\n\nimport { registerOverrideMethod } from '@src/generic/plugin-store';\n\nimport messages from './messages';\nimport TranslationModal from './translation-modal';\nimport useTranslationTour from './useTranslationTour';\nimport useSelectLanguage from './useSelectLanguage';\nimport useUnitTitle from './useUnitTitle';\nimport FeedbackWidget from '../feedback-widget';\nimport './index.scss';\n\nconst TranslationSelection = ({\n id,\n isLegacyButton,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n logEventProperties,\n dispatch,\n}) => {\n const { formatMessage } = useIntl();\n const { userId } = getAuthenticatedUser();\n const {\n translationTour, isOpen, open, close,\n } = useTranslationTour();\n\n const { selectedLanguage, setSelectedLanguage } = useSelectLanguage({\n courseId,\n courseLanguage,\n availableLanguages,\n });\n\n const logButtonProperties = { ...logEventProperties };\n\n const handleTranslateClick = () => {\n sendTrackEvent('edx.whole_course_translations.translate_button.clicked', logButtonProperties);\n open();\n };\n\n useUnitTitle({\n courseId,\n selectedLanguage,\n unitId,\n unitTitle,\n courseLanguage,\n });\n\n useEffect(() => {\n if ((courseId && selectedLanguage && unitId && userId) && (courseLanguage !== selectedLanguage)) {\n const eventName = 'edx.whole_course_translations.translation_requested';\n const eventProperties = {\n courseId,\n sourceLanguage: courseLanguage,\n targetLanguage: selectedLanguage,\n unitId,\n userId,\n };\n sendTrackEvent(eventName, eventProperties);\n }\n }, [courseId, courseLanguage, selectedLanguage, unitId, userId]);\n\n useEffect(() => {\n sendTrackEvent('edx.whole_course_translations.translate_button', logButtonProperties);\n }, [courseId]);\n\n useEffect(() => {\n dispatch(\n registerOverrideMethod({\n pluginName: id,\n methodName: 'getIFrameUrl',\n method: (iframeUrl) => {\n const finalUrl = stringifyUrl({\n url: iframeUrl,\n query: {\n ...((courseLanguage && selectedLanguage && (courseLanguage !== selectedLanguage)) && {\n src_lang: courseLanguage,\n dest_lang: selectedLanguage,\n }),\n },\n });\n return finalUrl;\n },\n }),\n );\n }, [courseLanguage, selectedLanguage]);\n\n return (\n <div className={isLegacyButton ? '' : 'toolbar-divider'}>\n <ProductTour tours={[translationTour]} />\n <Button\n iconBefore={Translate}\n aria-description={formatMessage(messages.translationButtonAriaDescription)}\n alt=\"change-language\"\n variant={isLegacyButton ? 'outline-primary' : 'tertiary'}\n className={isLegacyButton ? 'translation-selection-button' : 'text-primary-500 icon-hover'}\n onClick={handleTranslateClick}\n size={!isLegacyButton && 'sm'}\n >\n {formatMessage(messages.translationButtonText)}\n </Button>\n <TranslationModal\n {...{\n availableLanguages,\n close,\n courseId,\n id,\n isOpen,\n selectedLanguage,\n setSelectedLanguage,\n logEventProperties,\n originalCourseLanguage: courseLanguage,\n }}\n />\n <FeedbackWidget\n courseId={courseId}\n courseLanguage={courseLanguage}\n translationLanguage={selectedLanguage}\n unitId={unitId}\n userId={userId}\n />\n </div>\n );\n};\n\nTranslationSelection.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n courseId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n courseLanguage: PropTypes.string.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n unitTitle: PropTypes.string.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nTranslationSelection.defaultProps = {};\n\nexport default TranslationSelection;\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,11 @@ var messages = (0, _i18n.defineMessages)({
11
11
  defaultMessage: 'Translate',
12
12
  description: 'Button text for the translation selector'
13
13
  },
14
+ translationButtonAriaDescription: {
15
+ id: 'unit-translation-selector-plugin.translationSelection.translationButtonAriaDescription',
16
+ defaultMessage: 'Select language to translate content into',
17
+ description: 'Aria description for the translation selector button'
18
+ },
14
19
  translationTourModalTitle: {
15
20
  id: 'unit-translation-selector-plugin.translationSelection.translationTourModalTitle',
16
21
  defaultMessage: 'New translation feature!',
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","translationButtonText","id","defaultMessage","description","translationTourModalTitle","translationTourModalBody","tryItButtonText","dismissButtonText","_default","exports"],"sources":["../../../src/translation-button/translation-selection/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n translationButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.translationButtonText',\n defaultMessage: 'Translate',\n description: 'Button text for the translation selector',\n },\n translationTourModalTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.translationTourModalTitle',\n defaultMessage: 'New translation feature!',\n description: 'Title for the translation modal.',\n },\n translationTourModalBody: {\n id: 'unit-translation-selector-plugin.translationSelection.translationTourModalBody',\n defaultMessage: 'Now you can easily translate course content.',\n description: 'Body for the translation modal.',\n },\n tryItButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.tryItButtonText',\n defaultMessage: 'Try it',\n description: 'Button text for the translation modal.',\n },\n dismissButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.dismissButtonText',\n defaultMessage: 'Dismiss',\n description: 'Button text for the translation modal.',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,qBAAqB,EAAE;IACrBC,EAAE,EAAE,6EAA6E;IACjFC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACDC,yBAAyB,EAAE;IACzBH,EAAE,EAAE,iFAAiF;IACrFC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDE,wBAAwB,EAAE;IACxBJ,EAAE,EAAE,gFAAgF;IACpFC,cAAc,EAAE,8CAA8C;IAC9DC,WAAW,EAAE;EACf,CAAC;EACDG,eAAe,EAAE;IACfL,EAAE,EAAE,uEAAuE;IAC3EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDI,iBAAiB,EAAE;IACjBN,EAAE,EAAE,yEAAyE;IAC7EC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,cAEYX,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","translationButtonText","id","defaultMessage","description","translationButtonAriaDescription","translationTourModalTitle","translationTourModalBody","tryItButtonText","dismissButtonText","_default","exports"],"sources":["../../../src/translation-button/translation-selection/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n translationButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.translationButtonText',\n defaultMessage: 'Translate',\n description: 'Button text for the translation selector',\n },\n translationButtonAriaDescription: {\n id: 'unit-translation-selector-plugin.translationSelection.translationButtonAriaDescription',\n defaultMessage: 'Select language to translate content into',\n description: 'Aria description for the translation selector button',\n },\n translationTourModalTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.translationTourModalTitle',\n defaultMessage: 'New translation feature!',\n description: 'Title for the translation modal.',\n },\n translationTourModalBody: {\n id: 'unit-translation-selector-plugin.translationSelection.translationTourModalBody',\n defaultMessage: 'Now you can easily translate course content.',\n description: 'Body for the translation modal.',\n },\n tryItButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.tryItButtonText',\n defaultMessage: 'Try it',\n description: 'Button text for the translation modal.',\n },\n dismissButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.dismissButtonText',\n defaultMessage: 'Dismiss',\n description: 'Button text for the translation modal.',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,qBAAqB,EAAE;IACrBC,EAAE,EAAE,6EAA6E;IACjFC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACDC,gCAAgC,EAAE;IAChCH,EAAE,EAAE,wFAAwF;IAC5FC,cAAc,EAAE,2CAA2C;IAC3DC,WAAW,EAAE;EACf,CAAC;EACDE,yBAAyB,EAAE;IACzBJ,EAAE,EAAE,iFAAiF;IACrFC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDG,wBAAwB,EAAE;IACxBL,EAAE,EAAE,gFAAgF;IACpFC,cAAc,EAAE,8CAA8C;IAC9DC,WAAW,EAAE;EACf,CAAC;EACDI,eAAe,EAAE;IACfN,EAAE,EAAE,uEAAuE;IAC3EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDK,iBAAiB,EAAE;IACjBP,EAAE,EAAE,yEAAyE;IAC7EC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEYZ,QAAQ","ignoreList":[]}
@@ -11,33 +11,24 @@ var _paragon = require("@openedx/paragon");
11
11
  var _useTranslationModal2 = _interopRequireDefault(require("./useTranslationModal"));
12
12
  var _messages = _interopRequireDefault(require("./messages"));
13
13
  require("./TranslationModal.scss");
14
+ var _LanguageSelector = _interopRequireDefault(require("./LanguageSelector"));
14
15
  var _ModalFooter = _interopRequireDefault(require("./ModalFooter"));
15
- var _UpgradeModalBody = _interopRequireDefault(require("./UpgradeModalBody"));
16
- var _PaidModalBody = _interopRequireDefault(require("./PaidModalBody"));
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
19
18
  var TranslationModal = function TranslationModal(_ref) {
20
19
  var availableLanguages = _ref.availableLanguages,
21
- isAuditMode = _ref.isAuditMode,
22
- isFBE = _ref.isFBE,
23
20
  isOpen = _ref.isOpen,
24
21
  close = _ref.close,
25
22
  logEventProperties = _ref.logEventProperties,
26
23
  selectedLanguage = _ref.selectedLanguage,
27
24
  setSelectedLanguage = _ref.setSelectedLanguage,
28
- verifiedMode = _ref.verifiedMode,
29
25
  originalCourseLanguage = _ref.originalCourseLanguage;
30
26
  var _useIntl = (0, _i18n.useIntl)(),
31
27
  formatMessage = _useIntl.formatMessage;
32
- var currencySymbol = verifiedMode.currencySymbol,
33
- price = verifiedMode.price,
34
- upgradeUrl = verifiedMode.upgradeUrl;
35
28
  var _useTranslationModal = (0, _useTranslationModal2["default"])({
36
29
  selectedLanguage: selectedLanguage,
37
30
  setSelectedLanguage: setSelectedLanguage,
38
31
  close: close,
39
- isAuditMode: isAuditMode,
40
- upgradeUrl: upgradeUrl,
41
32
  logEventProperties: logEventProperties,
42
33
  availableLanguages: availableLanguages,
43
34
  originalCourseLanguage: originalCourseLanguage
@@ -46,14 +37,8 @@ var TranslationModal = function TranslationModal(_ref) {
46
37
  selectedIndex = _useTranslationModal.selectedIndex,
47
38
  setSelectedIndex = _useTranslationModal.setSelectedIndex,
48
39
  onSubmit = _useTranslationModal.onSubmit;
49
- var buttonText = isAuditMode ? formatMessage(_messages["default"].upgradeButtonText, {
50
- upgradePrice: "".concat(currencySymbol).concat(price)
51
- }) : formatMessage(_messages["default"].submitButtonText);
52
- var title = isAuditMode ? formatMessage(_messages["default"].upgradeLanguageSelectionModalTitle, {
53
- asterisk: /*#__PURE__*/(0, _jsxRuntime.jsx)("sup", {
54
- children: "*"
55
- })
56
- }) : formatMessage(_messages["default"].languageSelectionModalTitle);
40
+ var buttonText = formatMessage(_messages["default"].submitButtonText);
41
+ var title = formatMessage(_messages["default"].languageSelectionModalTitle);
57
42
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.StandardModal, {
58
43
  isOverflowVisible: false,
59
44
  title: title,
@@ -65,11 +50,7 @@ var TranslationModal = function TranslationModal(_ref) {
65
50
  onSubmit: onSubmit,
66
51
  close: close
67
52
  }),
68
- children: isAuditMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpgradeModalBody["default"], {
69
- courseEnabledLanguages: courseEnabledLanguages,
70
- isFBE: isFBE,
71
- originalCourseLanguage: originalCourseLanguage
72
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PaidModalBody["default"], {
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LanguageSelector["default"], {
73
54
  selectedIndex: selectedIndex,
74
55
  setSelectedIndex: setSelectedIndex,
75
56
  courseEnabledLanguages: courseEnabledLanguages,
@@ -86,13 +67,6 @@ TranslationModal.propTypes = {
86
67
  code: _propTypes["default"].string.isRequired,
87
68
  label: _propTypes["default"].string.isRequired
88
69
  })).isRequired,
89
- isFBE: _propTypes["default"].bool.isRequired,
90
- verifiedMode: _propTypes["default"].shape({
91
- currencySymbol: _propTypes["default"].string,
92
- price: _propTypes["default"].number,
93
- upgradeUrl: _propTypes["default"].string
94
- }).isRequired,
95
- isAuditMode: _propTypes["default"].bool.isRequired,
96
70
  logEventProperties: _propTypes["default"].shape({
97
71
  org_key: _propTypes["default"].string.isRequired,
98
72
  courserun_key: _propTypes["default"].string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","_ModalFooter","_UpgradeModalBody","_PaidModalBody","_jsxRuntime","e","__esModule","TranslationModal","_ref","availableLanguages","isAuditMode","isFBE","isOpen","close","logEventProperties","selectedLanguage","setSelectedLanguage","verifiedMode","originalCourseLanguage","_useIntl","useIntl","formatMessage","currencySymbol","price","upgradeUrl","_useTranslationModal","useTranslationModal","courseEnabledLanguages","selectedIndex","setSelectedIndex","onSubmit","buttonText","messages","upgradeButtonText","upgradePrice","concat","submitButtonText","title","upgradeLanguageSelectionModalTitle","asterisk","jsx","children","languageSelectionModalTitle","StandardModal","isOverflowVisible","onClose","isFullscreenScroll","footerNode","propTypes","PropTypes","bool","isRequired","func","string","arrayOf","shape","code","label","number","org_key","courserun_key","course_name","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/TranslationModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { StandardModal } from '@openedx/paragon';\n\nimport useTranslationModal from './useTranslationModal';\nimport messages from './messages';\nimport './TranslationModal.scss';\nimport ModalFooter from './ModalFooter';\nimport UpgradeModalBody from './UpgradeModalBody';\nimport PaidModalBody from './PaidModalBody';\n\nconst TranslationModal = ({\n availableLanguages,\n isAuditMode,\n isFBE,\n isOpen,\n close,\n logEventProperties,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const { currencySymbol, price, upgradeUrl } = verifiedMode;\n const {\n courseEnabledLanguages,\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n } = useTranslationModal({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n });\n\n const buttonText = isAuditMode ? (\n formatMessage(messages.upgradeButtonText, { upgradePrice: `${currencySymbol}${price}` })\n ) : (\n formatMessage(messages.submitButtonText)\n );\n\n const title = isAuditMode ? (\n formatMessage(messages.upgradeLanguageSelectionModalTitle, { asterisk: <sup>*</sup> })\n ) : (\n formatMessage(messages.languageSelectionModalTitle)\n );\n\n return (\n <StandardModal\n isOverflowVisible={false}\n title={title}\n isOpen={isOpen}\n onClose={close}\n isFullscreenScroll\n footerNode={(\n <ModalFooter\n {...{\n buttonText,\n onSubmit,\n close,\n }}\n />\n )}\n >\n {isAuditMode ? (\n <UpgradeModalBody {...{ courseEnabledLanguages, isFBE, originalCourseLanguage }} />\n ) : (\n <PaidModalBody\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n )}\n </StandardModal>\n );\n};\n\nTranslationModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n close: PropTypes.func.isRequired,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default TranslationModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","_LanguageSelector","_ModalFooter","_jsxRuntime","e","__esModule","TranslationModal","_ref","availableLanguages","isOpen","close","logEventProperties","selectedLanguage","setSelectedLanguage","originalCourseLanguage","_useIntl","useIntl","formatMessage","_useTranslationModal","useTranslationModal","courseEnabledLanguages","selectedIndex","setSelectedIndex","onSubmit","buttonText","messages","submitButtonText","title","languageSelectionModalTitle","jsx","StandardModal","isOverflowVisible","onClose","isFullscreenScroll","footerNode","children","propTypes","PropTypes","bool","isRequired","func","string","arrayOf","shape","code","label","org_key","courserun_key","course_name","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/TranslationModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { StandardModal } from '@openedx/paragon';\n\nimport useTranslationModal from './useTranslationModal';\nimport messages from './messages';\nimport './TranslationModal.scss';\nimport LanguageSelector from './LanguageSelector';\nimport ModalFooter from './ModalFooter';\n\nconst TranslationModal = ({\n availableLanguages,\n isOpen,\n close,\n logEventProperties,\n selectedLanguage,\n setSelectedLanguage,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const {\n courseEnabledLanguages,\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n } = useTranslationModal({\n selectedLanguage,\n setSelectedLanguage,\n close,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n });\n\n const buttonText = formatMessage(messages.submitButtonText);\n const title = formatMessage(messages.languageSelectionModalTitle);\n\n return (\n <StandardModal\n isOverflowVisible={false}\n title={title}\n isOpen={isOpen}\n onClose={close}\n isFullscreenScroll\n footerNode={(\n <ModalFooter\n {...{\n buttonText,\n onSubmit,\n close,\n }}\n />\n )}\n >\n <LanguageSelector\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n </StandardModal>\n );\n};\n\nTranslationModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n close: PropTypes.func.isRequired,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default TranslationModal;\n"],"mappings":"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","ignoreList":[]}
@@ -26,11 +26,6 @@ var messages = (0, _i18n.defineMessages)({
26
26
  defaultMessage: 'Submit',
27
27
  description: 'Submit button text for the translation modal.'
28
28
  },
29
- upgradeButtonText: {
30
- id: 'unit-translation-selector-plugin.translationSelection.upgradeButtonText',
31
- defaultMessage: 'Upgrade for {upgradePrice}',
32
- description: 'Upgrade button text for the translation modal.'
33
- },
34
29
  poweredBy: {
35
30
  id: 'unit-translation-selector-plugin.translationSelection.poweredBy',
36
31
  defaultMessage: 'Powered by',
@@ -71,26 +66,6 @@ var messages = (0, _i18n.defineMessages)({
71
66
  defaultMessage: 'Tell us which one to add next.',
72
67
  description: 'text to describe the purpose of survey link'
73
68
  },
74
- upgradeLanguageSelectionModalTitle: {
75
- id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionModalTitle',
76
- defaultMessage: 'Unlock eligible translations{asterisk}, certificate, and more',
77
- description: 'Title for the translation upgrade modal.'
78
- },
79
- upgradeLanguageSectionTitle: {
80
- id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionTitle',
81
- defaultMessage: 'Gain access to high-quality translated content {tooltip}',
82
- description: 'Text for language selection section title'
83
- },
84
- upgradeLanguageSectionTooltip: {
85
- id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionTitle.tooltip',
86
- defaultMessage: 'Eligible content currently includes: HTML/Text blocks, Video Transcripts, and Quiz/Problem Blocks',
87
- description: 'Text for language selection section title tooltip listing the content available for translation'
88
- },
89
- upgradeBenefitsSectionTitle: {
90
- id: 'unit-translation-selector-plugin.translationSelection.upgrade.moreBenefitsTitle',
91
- defaultMessage: 'More benefits of an upgrade',
92
- description: 'Text for more benefits of upgrade section title'
93
- },
94
69
  externalSiteLinkScreenreader: {
95
70
  id: 'ai-translations.link.external-site.screenreader-only.message',
96
71
  defaultMessage: 'external site, in a new tab',
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","languageSelectionModalTitle","id","defaultMessage","description","originalLanguageLabel","cancelButtonText","submitButtonText","upgradeButtonText","poweredBy","googleTranslateLogoAlt","googleTranslateDisclaimer","popoverDisclaimerTitle","popoverDisclaimerContent","popoverDisclaimerWarranties","additionalLanguageMissing","surveyLinkLabel","upgradeLanguageSelectionModalTitle","upgradeLanguageSectionTitle","upgradeLanguageSectionTooltip","upgradeBenefitsSectionTitle","externalSiteLinkScreenreader","newTabLinkScreenreader","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n languageSelectionModalTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle',\n defaultMessage: 'Translate eligible course content',\n description: 'Title for the translation modal.',\n },\n originalLanguageLabel: {\n id: 'unit-translation-selector-plugin.translationSelection.originalCourseLanguage.label',\n defaultMessage: 'Original course language',\n description: 'Label for original course language list option',\n },\n cancelButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.cancelButtonText',\n defaultMessage: 'Cancel',\n description: 'Cancel button text for the translation modal.',\n },\n submitButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.submitButtonText',\n defaultMessage: 'Submit',\n description: 'Submit button text for the translation modal.',\n },\n upgradeButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.upgradeButtonText',\n defaultMessage: 'Upgrade for {upgradePrice}',\n description: 'Upgrade button text for the translation modal.',\n },\n poweredBy: {\n id: 'unit-translation-selector-plugin.translationSelection.poweredBy',\n defaultMessage: 'Powered by',\n description: 'Powered text for the translation modal.',\n },\n googleTranslateLogoAlt: {\n id: 'unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt',\n defaultMessage: 'Google translate logo',\n description: 'Alt text for the Google Translate logo.',\n },\n googleTranslateDisclaimer: {\n id: 'unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer',\n defaultMessage: 'This content has been translated using an AI-powered tool and may contain errors or inaccuracies.',\n description: 'Text for the translation modal.',\n },\n popoverDisclaimerTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerTitle',\n defaultMessage: 'Disclaimers',\n description: 'Disclaimer Popover Title',\n },\n popoverDisclaimerContent: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerContent',\n defaultMessage: 'Eligible content includes most video transcripts, quizzes, and on platform text.',\n description: 'Line explaining the content to be translated in popover.',\n },\n popoverDisclaimerWarranties: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerWarranties',\n defaultMessage: 'This service may contain translations provided by third parties, including artificial intelligence software/services. edX, its affiliates and licensors and the translation provider (the “Entities”) disclaim all warranties related to the translations. The translations are provided \"as is\" and the Entities disclaim all warranties whether express, implied, statutory or otherwise, including but not limited to any warranties of accuracy, reliability, merchantability, fitness for a particular purpose, satisfactory quality and non-infringement.',\n description: 'Line explaining the warranties in popover.',\n },\n additionalLanguageMissing: {\n id: 'unit-translation-selector-plugin.translationSelection.additonalLanguages',\n defaultMessage: 'Not seeing your preferred language? {surveyLink}',\n description: 'Text guiding user to survey link to suggest new translation languages',\n },\n surveyLinkLabel: {\n id: 'unit-translation-selector-plugin.translationSelection.additionalLanguages.link.label',\n defaultMessage: 'Tell us which one to add next.',\n description: 'text to describe the purpose of survey link',\n },\n upgradeLanguageSelectionModalTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionModalTitle',\n defaultMessage: 'Unlock eligible translations{asterisk}, certificate, and more',\n description: 'Title for the translation upgrade modal.',\n },\n upgradeLanguageSectionTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionTitle',\n defaultMessage: 'Gain access to high-quality translated content {tooltip}',\n description: 'Text for language selection section title',\n },\n upgradeLanguageSectionTooltip: {\n id: 'unit-translation-selector-plugin.translationSelection.upgrade.languageSelectionTitle.tooltip',\n defaultMessage: 'Eligible content currently includes: HTML/Text blocks, Video Transcripts, and Quiz/Problem Blocks',\n description: 'Text for language selection section title tooltip listing the content available for translation',\n },\n upgradeBenefitsSectionTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.upgrade.moreBenefitsTitle',\n defaultMessage: 'More benefits of an upgrade',\n description: 'Text for more benefits of upgrade section title',\n },\n externalSiteLinkScreenreader: {\n id: 'ai-translations.link.external-site.screenreader-only.message',\n defaultMessage: 'external site, in a new tab',\n description: 'Screenreader only text for external site link',\n },\n newTabLinkScreenreader: {\n id: 'ai-translations.link.new-tab.screenreader-only.message',\n defaultMessage: 'in a new tab',\n description: 'Screenreader only text for new tab link',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,2BAA2B,EAAE;IAC3BC,EAAE,EAAE,mFAAmF;IACvFC,cAAc,EAAE,mCAAmC;IACnDC,WAAW,EAAE;EACf,CAAC;EACDC,qBAAqB,EAAE;IACrBH,EAAE,EAAE,oFAAoF;IACxFC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDE,gBAAgB,EAAE;IAChBJ,EAAE,EAAE,wEAAwE;IAC5EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDG,gBAAgB,EAAE;IAChBL,EAAE,EAAE,wEAAwE;IAC5EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDI,iBAAiB,EAAE;IACjBN,EAAE,EAAE,yEAAyE;IAC7EC,cAAc,EAAE,4BAA4B;IAC5CC,WAAW,EAAE;EACf,CAAC;EACDK,SAAS,EAAE;IACTP,EAAE,EAAE,iEAAiE;IACrEC,cAAc,EAAE,YAAY;IAC5BC,WAAW,EAAE;EACf,CAAC;EACDM,sBAAsB,EAAE;IACtBR,EAAE,EAAE,8EAA8E;IAClFC,cAAc,EAAE,uBAAuB;IACvCC,WAAW,EAAE;EACf,CAAC;EACDO,yBAAyB,EAAE;IACzBT,EAAE,EAAE,iFAAiF;IACrFC,cAAc,EAAE,mGAAmG;IACnHC,WAAW,EAAE;EACf,CAAC;EACDQ,sBAAsB,EAAE;IACtBV,EAAE,EAAE,8EAA8E;IAClFC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACDS,wBAAwB,EAAE;IACxBX,EAAE,EAAE,gFAAgF;IACpFC,cAAc,EAAE,kFAAkF;IAClGC,WAAW,EAAE;EACf,CAAC;EACDU,2BAA2B,EAAE;IAC3BZ,EAAE,EAAE,mFAAmF;IACvFC,cAAc,EAAE,iiBAAiiB;IACjjBC,WAAW,EAAE;EACf,CAAC;EACDW,yBAAyB,EAAE;IACzBb,EAAE,EAAE,0EAA0E;IAC9EC,cAAc,EAAE,kDAAkD;IAClEC,WAAW,EAAE;EACf,CAAC;EACDY,eAAe,EAAE;IACfd,EAAE,EAAE,sFAAsF;IAC1FC,cAAc,EAAE,gCAAgC;IAChDC,WAAW,EAAE;EACf,CAAC;EACDa,kCAAkC,EAAE;IAClCf,EAAE,EAAE,2FAA2F;IAC/FC,cAAc,EAAE,+DAA+D;IAC/EC,WAAW,EAAE;EACf,CAAC;EACDc,2BAA2B,EAAE;IAC3BhB,EAAE,EAAE,sFAAsF;IAC1FC,cAAc,EAAE,0DAA0D;IAC1EC,WAAW,EAAE;EACf,CAAC;EACDe,6BAA6B,EAAE;IAC7BjB,EAAE,EAAE,8FAA8F;IAClGC,cAAc,EAAE,mGAAmG;IACnHC,WAAW,EAAE;EACf,CAAC;EACDgB,2BAA2B,EAAE;IAC3BlB,EAAE,EAAE,iFAAiF;IACrFC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACDiB,4BAA4B,EAAE;IAC5BnB,EAAE,EAAE,8DAA8D;IAClEC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACDkB,sBAAsB,EAAE;IACtBpB,EAAE,EAAE,wDAAwD;IAC5DC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAmB,QAAA,GAAAC,OAAA,cAEYzB,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","languageSelectionModalTitle","id","defaultMessage","description","originalLanguageLabel","cancelButtonText","submitButtonText","poweredBy","googleTranslateLogoAlt","googleTranslateDisclaimer","popoverDisclaimerTitle","popoverDisclaimerContent","popoverDisclaimerWarranties","additionalLanguageMissing","surveyLinkLabel","externalSiteLinkScreenreader","newTabLinkScreenreader","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n languageSelectionModalTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle',\n defaultMessage: 'Translate eligible course content',\n description: 'Title for the translation modal.',\n },\n originalLanguageLabel: {\n id: 'unit-translation-selector-plugin.translationSelection.originalCourseLanguage.label',\n defaultMessage: 'Original course language',\n description: 'Label for original course language list option',\n },\n cancelButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.cancelButtonText',\n defaultMessage: 'Cancel',\n description: 'Cancel button text for the translation modal.',\n },\n submitButtonText: {\n id: 'unit-translation-selector-plugin.translationSelection.submitButtonText',\n defaultMessage: 'Submit',\n description: 'Submit button text for the translation modal.',\n },\n poweredBy: {\n id: 'unit-translation-selector-plugin.translationSelection.poweredBy',\n defaultMessage: 'Powered by',\n description: 'Powered text for the translation modal.',\n },\n googleTranslateLogoAlt: {\n id: 'unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt',\n defaultMessage: 'Google translate logo',\n description: 'Alt text for the Google Translate logo.',\n },\n googleTranslateDisclaimer: {\n id: 'unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer',\n defaultMessage: 'This content has been translated using an AI-powered tool and may contain errors or inaccuracies.',\n description: 'Text for the translation modal.',\n },\n popoverDisclaimerTitle: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerTitle',\n defaultMessage: 'Disclaimers',\n description: 'Disclaimer Popover Title',\n },\n popoverDisclaimerContent: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerContent',\n defaultMessage: 'Eligible content includes most video transcripts, quizzes, and on platform text.',\n description: 'Line explaining the content to be translated in popover.',\n },\n popoverDisclaimerWarranties: {\n id: 'unit-translation-selector-plugin.translationSelection.popoverDisclaimerWarranties',\n defaultMessage: 'This service may contain translations provided by third parties, including artificial intelligence software/services. edX, its affiliates and licensors and the translation provider (the “Entities”) disclaim all warranties related to the translations. The translations are provided \"as is\" and the Entities disclaim all warranties whether express, implied, statutory or otherwise, including but not limited to any warranties of accuracy, reliability, merchantability, fitness for a particular purpose, satisfactory quality and non-infringement.',\n description: 'Line explaining the warranties in popover.',\n },\n additionalLanguageMissing: {\n id: 'unit-translation-selector-plugin.translationSelection.additonalLanguages',\n defaultMessage: 'Not seeing your preferred language? {surveyLink}',\n description: 'Text guiding user to survey link to suggest new translation languages',\n },\n surveyLinkLabel: {\n id: 'unit-translation-selector-plugin.translationSelection.additionalLanguages.link.label',\n defaultMessage: 'Tell us which one to add next.',\n description: 'text to describe the purpose of survey link',\n },\n externalSiteLinkScreenreader: {\n id: 'ai-translations.link.external-site.screenreader-only.message',\n defaultMessage: 'external site, in a new tab',\n description: 'Screenreader only text for external site link',\n },\n newTabLinkScreenreader: {\n id: 'ai-translations.link.new-tab.screenreader-only.message',\n defaultMessage: 'in a new tab',\n description: 'Screenreader only text for new tab link',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,2BAA2B,EAAE;IAC3BC,EAAE,EAAE,mFAAmF;IACvFC,cAAc,EAAE,mCAAmC;IACnDC,WAAW,EAAE;EACf,CAAC;EACDC,qBAAqB,EAAE;IACrBH,EAAE,EAAE,oFAAoF;IACxFC,cAAc,EAAE,0BAA0B;IAC1CC,WAAW,EAAE;EACf,CAAC;EACDE,gBAAgB,EAAE;IAChBJ,EAAE,EAAE,wEAAwE;IAC5EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDG,gBAAgB,EAAE;IAChBL,EAAE,EAAE,wEAAwE;IAC5EC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE;EACf,CAAC;EACDI,SAAS,EAAE;IACTN,EAAE,EAAE,iEAAiE;IACrEC,cAAc,EAAE,YAAY;IAC5BC,WAAW,EAAE;EACf,CAAC;EACDK,sBAAsB,EAAE;IACtBP,EAAE,EAAE,8EAA8E;IAClFC,cAAc,EAAE,uBAAuB;IACvCC,WAAW,EAAE;EACf,CAAC;EACDM,yBAAyB,EAAE;IACzBR,EAAE,EAAE,iFAAiF;IACrFC,cAAc,EAAE,mGAAmG;IACnHC,WAAW,EAAE;EACf,CAAC;EACDO,sBAAsB,EAAE;IACtBT,EAAE,EAAE,8EAA8E;IAClFC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACDQ,wBAAwB,EAAE;IACxBV,EAAE,EAAE,gFAAgF;IACpFC,cAAc,EAAE,kFAAkF;IAClGC,WAAW,EAAE;EACf,CAAC;EACDS,2BAA2B,EAAE;IAC3BX,EAAE,EAAE,mFAAmF;IACvFC,cAAc,EAAE,iiBAAiiB;IACjjBC,WAAW,EAAE;EACf,CAAC;EACDU,yBAAyB,EAAE;IACzBZ,EAAE,EAAE,0EAA0E;IAC9EC,cAAc,EAAE,kDAAkD;IAClEC,WAAW,EAAE;EACf,CAAC;EACDW,eAAe,EAAE;IACfb,EAAE,EAAE,sFAAsF;IAC1FC,cAAc,EAAE,gCAAgC;IAChDC,WAAW,EAAE;EACf,CAAC;EACDY,4BAA4B,EAAE;IAC5Bd,EAAE,EAAE,8DAA8D;IAClEC,cAAc,EAAE,6BAA6B;IAC7CC,WAAW,EAAE;EACf,CAAC;EACDa,sBAAsB,EAAE;IACtBf,EAAE,EAAE,wDAAwD;IAC5DC,cAAc,EAAE,cAAc;IAC9BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,cAEYpB,QAAQ","ignoreList":[]}
@@ -1,5 +1,6 @@
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
  });
@@ -7,77 +8,32 @@ exports.stateKeys = 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 = 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\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 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.0.0",
3
+ "version": "2.2.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": "f3095178d784700b5f5f7e501669d813925f05d5"
57
+ "gitHead": "bc80f3e144fb4b32abfaa804ec3ef49d4f7c4e9d"
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":[]}