@edx/unit-title-plugin 0.0.1
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/LICENSE +661 -0
- package/README.md +73 -0
- package/dist/BookmarkButton.js +68 -0
- package/dist/BookmarkButton.js.map +1 -0
- package/dist/LegacyUnitTitle.js +61 -0
- package/dist/LegacyUnitTitle.js.map +1 -0
- package/dist/UnitTitle.js +65 -0
- package/dist/UnitTitle.js.map +1 -0
- package/dist/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/__factories__/index.js +5 -0
- package/dist/__factories__/index.js.map +1 -0
- package/dist/i18n/index.js +47 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/ar.json +14 -0
- package/dist/i18n/messages/ca.json +14 -0
- package/dist/i18n/messages/es_419.json +14 -0
- package/dist/i18n/messages/es_AR.json +14 -0
- package/dist/i18n/messages/es_ES.json +14 -0
- package/dist/i18n/messages/fr.json +14 -0
- package/dist/i18n/messages/he.json +14 -0
- package/dist/i18n/messages/id.json +14 -0
- package/dist/i18n/messages/it_IT.json +14 -0
- package/dist/i18n/messages/ko_KR.json +14 -0
- package/dist/i18n/messages/pl.json +14 -0
- package/dist/i18n/messages/pt_BR.json +14 -0
- package/dist/i18n/messages/pt_PT.json +14 -0
- package/dist/i18n/messages/ru.json +14 -0
- package/dist/i18n/messages/th.json +14 -0
- package/dist/i18n/messages/tr_TR.json +14 -0
- package/dist/i18n/messages/uk.json +14 -0
- package/dist/i18n/messages/zh_CN.json +14 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/translation-button/assets/google-translate-logo.png +0 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/index.js +5 -0
- package/dist/translation-button/data/__factories__/index.js.map +1 -0
- package/dist/translation-button/data/api.js +185 -0
- package/dist/translation-button/data/api.js.map +1 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js +138 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.js +163 -0
- package/dist/translation-button/feedback-widget/index.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.scss +4 -0
- package/dist/translation-button/feedback-widget/messages.js +61 -0
- package/dist/translation-button/feedback-widget/messages.js.map +1 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js +134 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js.map +1 -0
- package/dist/translation-button/index.js +117 -0
- package/dist/translation-button/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.js +169 -0
- package/dist/translation-button/translation-selection/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.scss +26 -0
- package/dist/translation-button/translation-selection/messages.js +36 -0
- package/dist/translation-button/translation-selection/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js +77 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js +68 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.scss +18 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js +53 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +33 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +101 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.scss +12 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +34 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +64 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js +10 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js +106 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +124 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js +44 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js.map +1 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js +76 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js.map +1 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js +100 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js.map +1 -0
- package/dist/translation-button/translations-loader/SVGLoader.js +83 -0
- package/dist/translation-button/translations-loader/SVGLoader.js.map +1 -0
- package/dist/translation-button/translations-loader/index.js +63 -0
- package/dist/translation-button/translations-loader/index.js.map +1 -0
- package/dist/translation-button/translations-loader/index.scss +43 -0
- package/dist/translation-button/translations-loader/messages.js +16 -0
- package/dist/translation-button/translations-loader/messages.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFeedbackWidget.js","names":["_react","require","_api","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useFeedbackWidget","_ref","courseId","courseLanguage","translationLanguage","unitId","userId","_useState","useState","_useState2","isLoading","setIsLoading","_useState3","_useState4","showFeedbackWidget","setShowFeedbackWidget","_useState5","_useState6","showGratitudeText","setShowGratitudeText","closeFeedbackWidget","useCallback","openFeedbackWidget","useEffect","_callee","showWidget","translationFeedback","_callee$","_context","getTranslationFeedback","openGratitudeText","setTimeout","sendFeedback","_ref3","_callee2","feedbackValue","feedbackDetails","emailMe","reasonList","_args2","_callee2$","_context2","createTranslationFeedback","_x","onSendPositiveFeedback","onSendNegativeFeedback","_default","exports"],"sources":["../../../src/translation-button/feedback-widget/useFeedbackWidget.js"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { createTranslationFeedback, getTranslationFeedback } from '../data/api';\n\nconst useFeedbackWidget = ({\n courseId,\n courseLanguage,\n translationLanguage,\n unitId,\n userId,\n}) => {\n const [isLoading, setIsLoading] = useState(false);\n const [showFeedbackWidget, setShowFeedbackWidget] = useState(false);\n const [showGratitudeText, setShowGratitudeText] = useState(false);\n\n const closeFeedbackWidget = useCallback(() => {\n setShowFeedbackWidget(false);\n }, [setShowFeedbackWidget]);\n\n const openFeedbackWidget = useCallback(() => {\n setShowFeedbackWidget(true);\n }, [setShowFeedbackWidget]);\n\n useEffect(async () => {\n let showWidget = false;\n if (courseLanguage !== translationLanguage) {\n const translationFeedback = await getTranslationFeedback({\n courseId,\n translationLanguage,\n unitId,\n userId,\n });\n showWidget = !translationFeedback;\n }\n setShowFeedbackWidget(showWidget);\n }, [\n courseId,\n courseLanguage,\n translationLanguage,\n unitId,\n userId,\n ]);\n\n const openGratitudeText = useCallback(() => {\n setShowGratitudeText(true);\n setTimeout(() => {\n setShowGratitudeText(false);\n }, 3000);\n }, [setShowGratitudeText]);\n\n const sendFeedback = useCallback(async (feedbackValue, feedbackDetails = '', emailMe = true, reasonList = []) => {\n setIsLoading(true);\n await createTranslationFeedback({\n courseId,\n translationLanguage,\n unitId,\n userId,\n feedbackValue,\n feedbackDetails,\n emailMe,\n reasonList,\n });\n setIsLoading(false);\n closeFeedbackWidget();\n openGratitudeText();\n }, [\n courseId,\n translationLanguage,\n unitId,\n userId,\n closeFeedbackWidget,\n openGratitudeText,\n ]);\n\n const onSendPositiveFeedback = useCallback((feedbackDetails, emailMe) => {\n sendFeedback(true, feedbackDetails, emailMe);\n }, [sendFeedback]);\n\n const onSendNegativeFeedback = useCallback((reasonList, feedbackDetails, emailMe) => {\n sendFeedback(false, feedbackDetails, emailMe, reasonList);\n }, [sendFeedback]);\n\n return {\n closeFeedbackWidget,\n isLoading,\n openFeedbackWidget,\n openGratitudeText,\n sendFeedback,\n showFeedbackWidget,\n showGratitudeText,\n onSendPositiveFeedback,\n onSendNegativeFeedback,\n };\n};\n\nexport default useFeedbackWidget;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
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); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "TranslationsLoader", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _translationsLoader["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
exports["default"] = void 0;
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
|
+
var _hooks = require("@src/data/hooks");
|
|
17
|
+
var _modelStore = require("@src/generic/model-store");
|
|
18
|
+
var _constants = require("@src/constants");
|
|
19
|
+
var _translationSelection = _interopRequireDefault(require("./translation-selection"));
|
|
20
|
+
var _api = require("./data/api");
|
|
21
|
+
var _translationsLoader = _interopRequireDefault(require("./translations-loader"));
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
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."); }
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
30
|
+
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; } }
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
var UnitTranslationSelectorPlugin = function UnitTranslationSelectorPlugin(_ref) {
|
|
33
|
+
var dispatch = _ref.dispatch,
|
|
34
|
+
id = _ref.id,
|
|
35
|
+
unitId = _ref.unitId,
|
|
36
|
+
unitTitle = _ref.unitTitle,
|
|
37
|
+
isLegacyButton = _ref.isLegacyButton;
|
|
38
|
+
var courseId = (0, _hooks.useContextId)();
|
|
39
|
+
var _useModel = (0, _modelStore.useModel)('coursewareMeta', courseId),
|
|
40
|
+
language = _useModel.language,
|
|
41
|
+
enrollmentMode = _useModel.enrollmentMode,
|
|
42
|
+
accessExpiration = _useModel.accessExpiration,
|
|
43
|
+
datesBannerInfo = _useModel.datesBannerInfo;
|
|
44
|
+
var courseLanguage = language || 'en';
|
|
45
|
+
var isEnglish = courseLanguage === 'en';
|
|
46
|
+
var _useModel2 = (0, _modelStore.useModel)('courseHomeMeta', courseId),
|
|
47
|
+
courseModes = _useModel2.courseModes,
|
|
48
|
+
isStaff = _useModel2.isStaff,
|
|
49
|
+
verifiedMode = _useModel2.verifiedMode,
|
|
50
|
+
org = _useModel2.org,
|
|
51
|
+
originalUserIsStaff = _useModel2.originalUserIsStaff;
|
|
52
|
+
var _useState = (0, _react.useState)({
|
|
53
|
+
enabled: false,
|
|
54
|
+
availableLanguages: []
|
|
55
|
+
}),
|
|
56
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
57
|
+
translationConfig = _useState2[0],
|
|
58
|
+
setTranslationConfig = _useState2[1];
|
|
59
|
+
var hasVerifiedTrack = courseModes.some(function (mode) {
|
|
60
|
+
return _constants.VERIFIED_MODES.includes(mode.slug);
|
|
61
|
+
});
|
|
62
|
+
var isFBE = !!accessExpiration && !!(datesBannerInfo !== null && datesBannerInfo !== void 0 && datesBannerInfo.contentTypeGatingEnabled);
|
|
63
|
+
var logEventProperties = {
|
|
64
|
+
org_key: org,
|
|
65
|
+
courserun_key: courseId
|
|
66
|
+
};
|
|
67
|
+
(0, _react.useEffect)(function () {
|
|
68
|
+
if (hasVerifiedTrack) {
|
|
69
|
+
(0, _api.fetchTranslationConfig)(courseId).then(setTranslationConfig);
|
|
70
|
+
}
|
|
71
|
+
}, []);
|
|
72
|
+
var enabled = translationConfig.enabled,
|
|
73
|
+
availableLanguages = translationConfig.availableLanguages;
|
|
74
|
+
if (!hasVerifiedTrack || !enabled || !availableLanguages.length || !isEnglish) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
var isAuditMode = enrollmentMode === 'audit' && !isStaff;
|
|
78
|
+
|
|
79
|
+
/* 12-20-2024
|
|
80
|
+
* This check will render different experiences between the learner audit view and the masquerade
|
|
81
|
+
* audit view. The learner view will not see the button, but the masquerade view will show the
|
|
82
|
+
* verified version of the button. Currently there is no way to distinguish the enrollmentMode
|
|
83
|
+
* when masquerading, as it will always return audit. When masquerading and verifiedMode === null,
|
|
84
|
+
* it is impossible to distinguish between the audit and verified experience from the courseware data.
|
|
85
|
+
*/
|
|
86
|
+
if (isAuditMode) {
|
|
87
|
+
if (!verifiedMode) {
|
|
88
|
+
if (!originalUserIsStaff) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
isAuditMode = false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_translationSelection["default"], {
|
|
95
|
+
dispatch: dispatch,
|
|
96
|
+
id: id,
|
|
97
|
+
courseId: courseId,
|
|
98
|
+
courseLanguage: courseLanguage,
|
|
99
|
+
availableLanguages: availableLanguages,
|
|
100
|
+
unitId: unitId,
|
|
101
|
+
unitTitle: unitTitle,
|
|
102
|
+
isAuditMode: isAuditMode,
|
|
103
|
+
isFBE: isFBE,
|
|
104
|
+
logEventProperties: logEventProperties,
|
|
105
|
+
isLegacyButton: isLegacyButton,
|
|
106
|
+
verifiedMode: verifiedMode || {}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
UnitTranslationSelectorPlugin.propTypes = {
|
|
110
|
+
id: _propTypes["default"].string.isRequired,
|
|
111
|
+
unitId: _propTypes["default"].string.isRequired,
|
|
112
|
+
unitTitle: _propTypes["default"].string.isRequired,
|
|
113
|
+
dispatch: _propTypes["default"].func.isRequired,
|
|
114
|
+
isLegacyButton: _propTypes["default"].bool.isRequired
|
|
115
|
+
};
|
|
116
|
+
var _default = exports["default"] = UnitTranslationSelectorPlugin;
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_hooks","_modelStore","_constants","_translationSelection","_api","_translationsLoader","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","isArray","UnitTranslationSelectorPlugin","_ref","dispatch","id","unitId","unitTitle","isLegacyButton","courseId","useContextId","_useModel","useModel","language","enrollmentMode","accessExpiration","datesBannerInfo","courseLanguage","isEnglish","_useModel2","courseModes","isStaff","verifiedMode","org","originalUserIsStaff","_useState","useState","enabled","availableLanguages","_useState2","translationConfig","setTranslationConfig","hasVerifiedTrack","some","mode","VERIFIED_MODES","includes","slug","isFBE","contentTypeGatingEnabled","logEventProperties","org_key","courserun_key","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';\nimport TranslationsLoader from './translations-loader';\n\nconst UnitTranslationSelectorPlugin = ({\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 } = 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 };\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\nUnitTranslationSelectorPlugin.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 UnitTranslationSelectorPlugin;\nexport { TranslationsLoader };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _analytics = require("@edx/frontend-platform/analytics");
|
|
10
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
11
|
+
var _auth = require("@edx/frontend-platform/auth");
|
|
12
|
+
var _paragon = require("@openedx/paragon");
|
|
13
|
+
var _icons = require("@openedx/paragon/icons");
|
|
14
|
+
var _queryString = require("query-string");
|
|
15
|
+
var _pluginStore = require("@src/generic/plugin-store");
|
|
16
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
17
|
+
var _translationModal = _interopRequireDefault(require("./translation-modal"));
|
|
18
|
+
var _useTranslationTour2 = _interopRequireDefault(require("./useTranslationTour"));
|
|
19
|
+
var _useSelectLanguage2 = _interopRequireDefault(require("./useSelectLanguage"));
|
|
20
|
+
var _useUnitTitle = _interopRequireDefault(require("./useUnitTitle"));
|
|
21
|
+
var _feedbackWidget = _interopRequireDefault(require("../feedback-widget"));
|
|
22
|
+
require("./index.scss");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
27
|
+
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); }
|
|
28
|
+
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; }
|
|
29
|
+
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; }
|
|
30
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
32
|
+
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); }
|
|
33
|
+
var TranslationSelection = function TranslationSelection(_ref) {
|
|
34
|
+
var id = _ref.id,
|
|
35
|
+
isLegacyButton = _ref.isLegacyButton,
|
|
36
|
+
courseId = _ref.courseId,
|
|
37
|
+
courseLanguage = _ref.courseLanguage,
|
|
38
|
+
availableLanguages = _ref.availableLanguages,
|
|
39
|
+
unitId = _ref.unitId,
|
|
40
|
+
unitTitle = _ref.unitTitle,
|
|
41
|
+
isAuditMode = _ref.isAuditMode,
|
|
42
|
+
isFBE = _ref.isFBE,
|
|
43
|
+
verifiedMode = _ref.verifiedMode,
|
|
44
|
+
logEventProperties = _ref.logEventProperties,
|
|
45
|
+
dispatch = _ref.dispatch;
|
|
46
|
+
var _useIntl = (0, _i18n.useIntl)(),
|
|
47
|
+
formatMessage = _useIntl.formatMessage;
|
|
48
|
+
var _getAuthenticatedUser = (0, _auth.getAuthenticatedUser)(),
|
|
49
|
+
userId = _getAuthenticatedUser.userId;
|
|
50
|
+
var _useTranslationTour = (0, _useTranslationTour2["default"])(),
|
|
51
|
+
translationTour = _useTranslationTour.translationTour,
|
|
52
|
+
isOpen = _useTranslationTour.isOpen,
|
|
53
|
+
open = _useTranslationTour.open,
|
|
54
|
+
close = _useTranslationTour.close;
|
|
55
|
+
var _useSelectLanguage = (0, _useSelectLanguage2["default"])({
|
|
56
|
+
courseId: courseId,
|
|
57
|
+
courseLanguage: courseLanguage
|
|
58
|
+
}),
|
|
59
|
+
selectedLanguage = _useSelectLanguage.selectedLanguage,
|
|
60
|
+
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';
|
|
66
|
+
var handleTranslateClick = function handleTranslateClick() {
|
|
67
|
+
(0, _analytics.sendTrackEvent)('edx.whole_course_translations.translate_button.clicked', logButtonProperties);
|
|
68
|
+
open();
|
|
69
|
+
};
|
|
70
|
+
(0, _useUnitTitle["default"])({
|
|
71
|
+
courseId: courseId,
|
|
72
|
+
selectedLanguage: selectedLanguage,
|
|
73
|
+
unitId: unitId,
|
|
74
|
+
unitTitle: unitTitle,
|
|
75
|
+
courseLanguage: courseLanguage
|
|
76
|
+
});
|
|
77
|
+
(0, _react.useEffect)(function () {
|
|
78
|
+
if (courseId && selectedLanguage && unitId && userId && courseLanguage !== selectedLanguage && !isAuditMode) {
|
|
79
|
+
var eventName = 'edx.whole_course_translations.translation_requested';
|
|
80
|
+
var eventProperties = {
|
|
81
|
+
courseId: courseId,
|
|
82
|
+
sourceLanguage: courseLanguage,
|
|
83
|
+
targetLanguage: selectedLanguage,
|
|
84
|
+
unitId: unitId,
|
|
85
|
+
userId: userId
|
|
86
|
+
};
|
|
87
|
+
(0, _analytics.sendTrackEvent)(eventName, eventProperties);
|
|
88
|
+
}
|
|
89
|
+
}, [courseId, courseLanguage, selectedLanguage, unitId, userId]);
|
|
90
|
+
(0, _react.useEffect)(function () {
|
|
91
|
+
(0, _analytics.sendTrackEvent)('edx.whole_course_translations.translate_button', logButtonProperties);
|
|
92
|
+
}, [courseId]);
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
dispatch((0, _pluginStore.registerOverrideMethod)({
|
|
95
|
+
pluginName: id,
|
|
96
|
+
methodName: 'getIFrameUrl',
|
|
97
|
+
method: function method(iframeUrl) {
|
|
98
|
+
var finalUrl = (0, _queryString.stringifyUrl)({
|
|
99
|
+
url: iframeUrl,
|
|
100
|
+
query: _objectSpread({}, courseLanguage && selectedLanguage && courseLanguage !== selectedLanguage && {
|
|
101
|
+
src_lang: courseLanguage,
|
|
102
|
+
dest_lang: selectedLanguage
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
return finalUrl;
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
}, [courseLanguage, selectedLanguage]);
|
|
109
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
110
|
+
className: isLegacyButton ? 'translation-selection-button' : 'toolbar-button',
|
|
111
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.ProductTour, {
|
|
112
|
+
tours: [translationTour]
|
|
113
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
|
|
114
|
+
iconBefore: buttonIcon,
|
|
115
|
+
"aria-description": ariaDescription,
|
|
116
|
+
alt: "change-language",
|
|
117
|
+
variant: isLegacyButton ? 'outline-primary' : 'link',
|
|
118
|
+
onClick: handleTranslateClick,
|
|
119
|
+
size: !isLegacyButton && 'sm',
|
|
120
|
+
children: formatMessage(_messages["default"].translationButtonText)
|
|
121
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_translationModal["default"], {
|
|
122
|
+
availableLanguages: availableLanguages,
|
|
123
|
+
close: close,
|
|
124
|
+
courseId: courseId,
|
|
125
|
+
id: id,
|
|
126
|
+
isOpen: isOpen,
|
|
127
|
+
isAuditMode: isAuditMode,
|
|
128
|
+
isFBE: isFBE,
|
|
129
|
+
selectedLanguage: selectedLanguage,
|
|
130
|
+
setSelectedLanguage: setSelectedLanguage,
|
|
131
|
+
verifiedMode: verifiedMode,
|
|
132
|
+
logEventProperties: logEventProperties,
|
|
133
|
+
originalCourseLanguage: courseLanguage
|
|
134
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_feedbackWidget["default"], {
|
|
135
|
+
courseId: courseId,
|
|
136
|
+
courseLanguage: courseLanguage,
|
|
137
|
+
translationLanguage: selectedLanguage,
|
|
138
|
+
unitId: unitId,
|
|
139
|
+
userId: userId
|
|
140
|
+
})]
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
TranslationSelection.propTypes = {
|
|
144
|
+
dispatch: _propTypes["default"].func.isRequired,
|
|
145
|
+
id: _propTypes["default"].string.isRequired,
|
|
146
|
+
isLegacyButton: _propTypes["default"].bool.isRequired,
|
|
147
|
+
courseId: _propTypes["default"].string.isRequired,
|
|
148
|
+
unitId: _propTypes["default"].string.isRequired,
|
|
149
|
+
courseLanguage: _propTypes["default"].string.isRequired,
|
|
150
|
+
availableLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
151
|
+
code: _propTypes["default"].string.isRequired,
|
|
152
|
+
label: _propTypes["default"].string.isRequired
|
|
153
|
+
})).isRequired,
|
|
154
|
+
unitTitle: _propTypes["default"].string.isRequired,
|
|
155
|
+
isFBE: _propTypes["default"].bool.isRequired,
|
|
156
|
+
verifiedMode: _propTypes["default"].shape({
|
|
157
|
+
currencySymbol: _propTypes["default"].string,
|
|
158
|
+
price: _propTypes["default"].number,
|
|
159
|
+
upgradeUrl: _propTypes["default"].string
|
|
160
|
+
}).isRequired,
|
|
161
|
+
isAuditMode: _propTypes["default"].bool.isRequired,
|
|
162
|
+
logEventProperties: _propTypes["default"].shape({
|
|
163
|
+
org_key: _propTypes["default"].string.isRequired,
|
|
164
|
+
courserun_key: _propTypes["default"].string.isRequired
|
|
165
|
+
}).isRequired
|
|
166
|
+
};
|
|
167
|
+
TranslationSelection.defaultProps = {};
|
|
168
|
+
var _default = exports["default"] = TranslationSelection;
|
|
169
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","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","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 });\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 ? 'translation-selection-button' : 'toolbar-button'}>\n <ProductTour tours={[translationTour]} />\n <Button\n iconBefore={buttonIcon}\n aria-description={ariaDescription}\n alt=\"change-language\"\n variant={isLegacyButton ? 'outline-primary' : 'link'}\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 }).isRequired,\n};\n\nTranslationSelection.defaultProps = {};\n\nexport default TranslationSelection;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@import "~@edx/brand/paragon/fonts";
|
|
2
|
+
@import "~@edx/brand/paragon/variables";
|
|
3
|
+
@import "~@openedx/paragon/scss/core/core";
|
|
4
|
+
@import "~@edx/brand/paragon/overrides";
|
|
5
|
+
|
|
6
|
+
.translation-selection-button {
|
|
7
|
+
color: #0A3055;
|
|
8
|
+
border-color: #0A3055;
|
|
9
|
+
border-radius: 0.375rem;
|
|
10
|
+
background-color: transparent;
|
|
11
|
+
font-weight: 400;
|
|
12
|
+
|
|
13
|
+
&:focus::before {
|
|
14
|
+
border: solid 2px #0A3055;
|
|
15
|
+
border-radius: calc(0.375rem + 4px);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.toolbar-button {
|
|
20
|
+
padding-left: 8px;
|
|
21
|
+
border-left: 1px solid #eaeaea;
|
|
22
|
+
|
|
23
|
+
.btn-link {
|
|
24
|
+
color: $primary-500;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
8
|
+
var messages = (0, _i18n.defineMessages)({
|
|
9
|
+
translationButtonText: {
|
|
10
|
+
id: 'unit-translation-selector-plugin.translationSelection.translationButtonText',
|
|
11
|
+
defaultMessage: 'Translate',
|
|
12
|
+
description: 'Button text for the translation selector'
|
|
13
|
+
},
|
|
14
|
+
translationTourModalTitle: {
|
|
15
|
+
id: 'unit-translation-selector-plugin.translationSelection.translationTourModalTitle',
|
|
16
|
+
defaultMessage: 'New translation feature!',
|
|
17
|
+
description: 'Title for the translation modal.'
|
|
18
|
+
},
|
|
19
|
+
translationTourModalBody: {
|
|
20
|
+
id: 'unit-translation-selector-plugin.translationSelection.translationTourModalBody',
|
|
21
|
+
defaultMessage: 'Now you can easily translate course content.',
|
|
22
|
+
description: 'Body for the translation modal.'
|
|
23
|
+
},
|
|
24
|
+
tryItButtonText: {
|
|
25
|
+
id: 'unit-translation-selector-plugin.translationSelection.tryItButtonText',
|
|
26
|
+
defaultMessage: 'Try it',
|
|
27
|
+
description: 'Button text for the translation modal.'
|
|
28
|
+
},
|
|
29
|
+
dismissButtonText: {
|
|
30
|
+
id: 'unit-translation-selector-plugin.translationSelection.dismissButtonText',
|
|
31
|
+
defaultMessage: 'Dismiss',
|
|
32
|
+
description: 'Button text for the translation modal.'
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var _default = exports["default"] = messages;
|
|
36
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
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 _googleTranslateLogo = _interopRequireDefault(require("../../assets/google-translate-logo.png"));
|
|
11
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
var GoogleDisclaimer = function GoogleDisclaimer(_ref) {
|
|
15
|
+
var isAuditMode = _ref.isAuditMode;
|
|
16
|
+
var siteLanguage = (0, _i18n.getLocale)();
|
|
17
|
+
var dir = (0, _i18n.isRtl)(siteLanguage) ? 'rtl' : 'ltr';
|
|
18
|
+
var _useIntl = (0, _i18n.useIntl)(),
|
|
19
|
+
formatMessage = _useIntl.formatMessage;
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
21
|
+
dir: dir,
|
|
22
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
|
|
23
|
+
gap: 1,
|
|
24
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
25
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
|
|
26
|
+
className: "text-dark-300 micro",
|
|
27
|
+
direction: "horizontal",
|
|
28
|
+
children: [formatMessage(_messages["default"].poweredBy), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Hyperlink, {
|
|
29
|
+
destination: "http://translate.google.com/",
|
|
30
|
+
target: "_blank",
|
|
31
|
+
showLaunchIcon: false,
|
|
32
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
33
|
+
className: "inline-image pl-1",
|
|
34
|
+
src: _googleTranslateLogo["default"],
|
|
35
|
+
alt: formatMessage(_messages["default"].googleTranslateLogoAlt)
|
|
36
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
37
|
+
className: "sr-only",
|
|
38
|
+
children: formatMessage(_messages["default"].externalSiteLinkScreenreader)
|
|
39
|
+
})]
|
|
40
|
+
})]
|
|
41
|
+
})
|
|
42
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.OverlayTrigger, {
|
|
43
|
+
trigger: "click",
|
|
44
|
+
placement: "right",
|
|
45
|
+
overlay: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Popover, {
|
|
46
|
+
id: "google-disclainer-popover",
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Popover.Title, {
|
|
48
|
+
as: "h3",
|
|
49
|
+
children: formatMessage(_messages["default"].popoverDisclaimerTitle)
|
|
50
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Popover.Content, {
|
|
51
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
52
|
+
children: formatMessage(_messages["default"].popoverDisclaimerContent)
|
|
53
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
54
|
+
children: formatMessage(_messages["default"].popoverDisclaimerWarranties)
|
|
55
|
+
})]
|
|
56
|
+
})]
|
|
57
|
+
}),
|
|
58
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
59
|
+
children: [isAuditMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("sup", {
|
|
60
|
+
children: "*"
|
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
62
|
+
className: "text-info-500 small",
|
|
63
|
+
children: formatMessage(_messages["default"].popoverDisclaimerTitle)
|
|
64
|
+
})]
|
|
65
|
+
})
|
|
66
|
+
}, "right")]
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
GoogleDisclaimer.defaultProps = {
|
|
71
|
+
isAuditMode: false
|
|
72
|
+
};
|
|
73
|
+
GoogleDisclaimer.propTypes = {
|
|
74
|
+
isAuditMode: _propTypes["default"].bool
|
|
75
|
+
};
|
|
76
|
+
var _default = exports["default"] = GoogleDisclaimer;
|
|
77
|
+
//# sourceMappingURL=GoogleDisclaimer.js.map
|
package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleDisclaimer.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_googleTranslateLogo","_messages","_jsxRuntime","obj","__esModule","GoogleDisclaimer","_ref","isAuditMode","siteLanguage","getLocale","dir","isRtl","_useIntl","useIntl","formatMessage","jsx","children","jsxs","Stack","gap","className","direction","messages","poweredBy","Hyperlink","destination","target","showLaunchIcon","src","GoogleTranslateLogo","alt","googleTranslateLogoAlt","externalSiteLinkScreenreader","OverlayTrigger","trigger","placement","overlay","Popover","id","Title","as","popoverDisclaimerTitle","Content","popoverDisclaimerContent","popoverDisclaimerWarranties","defaultProps","propTypes","PropTypes","bool","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/GoogleDisclaimer.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl, isRtl, getLocale } from '@edx/frontend-platform/i18n';\nimport {\n Hyperlink,\n OverlayTrigger,\n Popover,\n Stack,\n} from '@openedx/paragon';\n\nimport GoogleTranslateLogo from '../../assets/google-translate-logo.png';\nimport messages from './messages';\n\nconst GoogleDisclaimer = ({ isAuditMode }) => {\n const siteLanguage = getLocale();\n const dir = isRtl(siteLanguage) ? 'rtl' : 'ltr';\n const { formatMessage } = useIntl();\n\n return (\n <div dir={dir}>\n <Stack gap={1}>\n <div>\n <Stack className=\"text-dark-300 micro\" direction=\"horizontal\">\n {formatMessage(messages.poweredBy)}\n <Hyperlink\n destination=\"http://translate.google.com/\"\n target=\"_blank\"\n showLaunchIcon={false}\n >\n <img className=\"inline-image pl-1\" src={GoogleTranslateLogo} alt={formatMessage(messages.googleTranslateLogoAlt)} />\n <span className=\"sr-only\">{formatMessage(messages.externalSiteLinkScreenreader)}</span>\n </Hyperlink>\n </Stack>\n </div>\n <OverlayTrigger\n trigger=\"click\"\n key=\"right\"\n placement=\"right\"\n overlay={(\n <Popover id=\"google-disclainer-popover\">\n <Popover.Title as=\"h3\">{formatMessage(messages.popoverDisclaimerTitle)}</Popover.Title>\n <Popover.Content>\n <p>\n {formatMessage(messages.popoverDisclaimerContent)}\n </p>\n <p>\n {formatMessage(messages.popoverDisclaimerWarranties)}\n </p>\n </Popover.Content>\n </Popover>\n )}\n >\n <span>\n {isAuditMode && <sup>*</sup>}\n <span className=\"text-info-500 small\">\n {formatMessage(messages.popoverDisclaimerTitle)}\n </span>\n </span>\n </OverlayTrigger>\n </Stack>\n </div>\n );\n};\n\nGoogleDisclaimer.defaultProps = {\n isAuditMode: false,\n};\n\nGoogleDisclaimer.propTypes = {\n isAuditMode: PropTypes.bool,\n};\n\nexport default GoogleDisclaimer;\n"],"mappings":"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","ignoreList":[]}
|