@edx/unit-title-plugin 2.1.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.
- package/dist/translation-button/index.js +8 -38
- package/dist/translation-button/index.js.map +1 -1
- package/dist/translation-button/translation-selection/index.js +4 -21
- package/dist/translation-button/translation-selection/index.js.map +1 -1
- package/dist/translation-button/translation-selection/messages.js +5 -0
- package/dist/translation-button/translation-selection/messages.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +4 -30
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-modal/messages.js +0 -25
- package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +24 -79
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -1
- package/package.json +7 -2
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +0 -33
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +0 -1
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +0 -34
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +0 -1
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +0 -67
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +0 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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","
|
|
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(
|
|
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
|
|
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:
|
|
115
|
-
"aria-description":
|
|
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":"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","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;
|
|
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 =
|
|
50
|
-
|
|
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:
|
|
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,
|
package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","
|
|
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","
|
|
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":[]}
|
package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js
CHANGED
|
@@ -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
|
|
11
|
-
function
|
|
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
|
|
27
|
-
var
|
|
28
|
-
|
|
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 (
|
|
75
|
-
var 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 (
|
|
79
|
-
var enabled =
|
|
80
|
-
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(
|
|
95
|
-
var selectedLanguage =
|
|
96
|
-
setSelectedLanguage =
|
|
97
|
-
close =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
115
|
-
|
|
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)('
|
|
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 {
|
package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map
CHANGED
|
@@ -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.
|
|
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": "
|
|
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
|
package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map
DELETED
|
@@ -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
|
package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map
DELETED
|
@@ -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
|
package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map
DELETED
|
@@ -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":[]}
|