@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.
Files changed (101) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +73 -0
  3. package/dist/BookmarkButton.js +68 -0
  4. package/dist/BookmarkButton.js.map +1 -0
  5. package/dist/LegacyUnitTitle.js +61 -0
  6. package/dist/LegacyUnitTitle.js.map +1 -0
  7. package/dist/UnitTitle.js +65 -0
  8. package/dist/UnitTitle.js.map +1 -0
  9. package/dist/__factories__/courseHomeMeta.factory.js +20 -0
  10. package/dist/__factories__/courseHomeMeta.factory.js.map +1 -0
  11. package/dist/__factories__/coursewareMeta.factory.js +7 -0
  12. package/dist/__factories__/coursewareMeta.factory.js.map +1 -0
  13. package/dist/__factories__/index.js +5 -0
  14. package/dist/__factories__/index.js.map +1 -0
  15. package/dist/i18n/index.js +47 -0
  16. package/dist/i18n/index.js.map +1 -0
  17. package/dist/i18n/messages/ar.json +14 -0
  18. package/dist/i18n/messages/ca.json +14 -0
  19. package/dist/i18n/messages/es_419.json +14 -0
  20. package/dist/i18n/messages/es_AR.json +14 -0
  21. package/dist/i18n/messages/es_ES.json +14 -0
  22. package/dist/i18n/messages/fr.json +14 -0
  23. package/dist/i18n/messages/he.json +14 -0
  24. package/dist/i18n/messages/id.json +14 -0
  25. package/dist/i18n/messages/it_IT.json +14 -0
  26. package/dist/i18n/messages/ko_KR.json +14 -0
  27. package/dist/i18n/messages/pl.json +14 -0
  28. package/dist/i18n/messages/pt_BR.json +14 -0
  29. package/dist/i18n/messages/pt_PT.json +14 -0
  30. package/dist/i18n/messages/ru.json +14 -0
  31. package/dist/i18n/messages/th.json +14 -0
  32. package/dist/i18n/messages/tr_TR.json +14 -0
  33. package/dist/i18n/messages/uk.json +14 -0
  34. package/dist/i18n/messages/zh_CN.json +14 -0
  35. package/dist/index.js +52 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/translation-button/assets/google-translate-logo.png +0 -0
  38. package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js +20 -0
  39. package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js.map +1 -0
  40. package/dist/translation-button/data/__factories__/coursewareMeta.factory.js +7 -0
  41. package/dist/translation-button/data/__factories__/coursewareMeta.factory.js.map +1 -0
  42. package/dist/translation-button/data/__factories__/index.js +5 -0
  43. package/dist/translation-button/data/__factories__/index.js.map +1 -0
  44. package/dist/translation-button/data/api.js +185 -0
  45. package/dist/translation-button/data/api.js.map +1 -0
  46. package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js +138 -0
  47. package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js.map +1 -0
  48. package/dist/translation-button/feedback-widget/index.js +163 -0
  49. package/dist/translation-button/feedback-widget/index.js.map +1 -0
  50. package/dist/translation-button/feedback-widget/index.scss +4 -0
  51. package/dist/translation-button/feedback-widget/messages.js +61 -0
  52. package/dist/translation-button/feedback-widget/messages.js.map +1 -0
  53. package/dist/translation-button/feedback-widget/useFeedbackWidget.js +134 -0
  54. package/dist/translation-button/feedback-widget/useFeedbackWidget.js.map +1 -0
  55. package/dist/translation-button/index.js +117 -0
  56. package/dist/translation-button/index.js.map +1 -0
  57. package/dist/translation-button/translation-selection/index.js +169 -0
  58. package/dist/translation-button/translation-selection/index.js.map +1 -0
  59. package/dist/translation-button/translation-selection/index.scss +26 -0
  60. package/dist/translation-button/translation-selection/messages.js +36 -0
  61. package/dist/translation-button/translation-selection/messages.js.map +1 -0
  62. package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js +77 -0
  63. package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map +1 -0
  64. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js +68 -0
  65. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js.map +1 -0
  66. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.scss +18 -0
  67. package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js +53 -0
  68. package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js.map +1 -0
  69. package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js +36 -0
  70. package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js.map +1 -0
  71. package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js +36 -0
  72. package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js.map +1 -0
  73. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +33 -0
  74. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +1 -0
  75. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +101 -0
  76. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -0
  77. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.scss +12 -0
  78. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +34 -0
  79. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +1 -0
  80. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +64 -0
  81. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +1 -0
  82. package/dist/translation-button/translation-selection/translation-modal/index.js +10 -0
  83. package/dist/translation-button/translation-selection/translation-modal/index.js.map +1 -0
  84. package/dist/translation-button/translation-selection/translation-modal/messages.js +106 -0
  85. package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -0
  86. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +124 -0
  87. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -0
  88. package/dist/translation-button/translation-selection/useSelectLanguage.js +44 -0
  89. package/dist/translation-button/translation-selection/useSelectLanguage.js.map +1 -0
  90. package/dist/translation-button/translation-selection/useTranslationTour.js +76 -0
  91. package/dist/translation-button/translation-selection/useTranslationTour.js.map +1 -0
  92. package/dist/translation-button/translation-selection/useUnitTitle.js +100 -0
  93. package/dist/translation-button/translation-selection/useUnitTitle.js.map +1 -0
  94. package/dist/translation-button/translations-loader/SVGLoader.js +83 -0
  95. package/dist/translation-button/translations-loader/SVGLoader.js.map +1 -0
  96. package/dist/translation-button/translations-loader/index.js +63 -0
  97. package/dist/translation-button/translations-loader/index.js.map +1 -0
  98. package/dist/translation-button/translations-loader/index.scss +43 -0
  99. package/dist/translation-button/translations-loader/messages.js +16 -0
  100. package/dist/translation-button/translations-loader/messages.js.map +1 -0
  101. 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
@@ -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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOA,IAAAG,oBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAkC,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElC,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAwB;EAAA,IAAlBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EACrC,IAAMC,YAAY,GAAG,IAAAC,eAAS,EAAC,CAAC;EAChC,IAAMC,GAAG,GAAG,IAAAC,WAAK,EAACH,YAAY,CAAC,GAAG,KAAK,GAAG,KAAK;EAC/C,IAAAI,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EAErB,oBACE,IAAAZ,WAAA,CAAAa,GAAA;IAAKL,GAAG,EAAEA,GAAI;IAAAM,QAAA,eACZ,IAAAd,WAAA,CAAAe,IAAA,EAAClB,QAAA,CAAAmB,KAAK;MAACC,GAAG,EAAE,CAAE;MAAAH,QAAA,gBACZ,IAAAd,WAAA,CAAAa,GAAA;QAAAC,QAAA,eACE,IAAAd,WAAA,CAAAe,IAAA,EAAClB,QAAA,CAAAmB,KAAK;UAACE,SAAS,EAAC,qBAAqB;UAACC,SAAS,EAAC,YAAY;UAAAL,QAAA,GAC1DF,aAAa,CAACQ,oBAAQ,CAACC,SAAS,CAAC,eAClC,IAAArB,WAAA,CAAAe,IAAA,EAAClB,QAAA,CAAAyB,SAAS;YACRC,WAAW,EAAC,8BAA8B;YAC1CC,MAAM,EAAC,QAAQ;YACfC,cAAc,EAAE,KAAM;YAAAX,QAAA,gBAEtB,IAAAd,WAAA,CAAAa,GAAA;cAAKK,SAAS,EAAC,mBAAmB;cAACQ,GAAG,EAAEC,+BAAoB;cAACC,GAAG,EAAEhB,aAAa,CAACQ,oBAAQ,CAACS,sBAAsB;YAAE,CAAE,CAAC,eACpH,IAAA7B,WAAA,CAAAa,GAAA;cAAMK,SAAS,EAAC,SAAS;cAAAJ,QAAA,EAAEF,aAAa,CAACQ,oBAAQ,CAACU,4BAA4B;YAAC,CAAO,CAAC;UAAA,CAC9E,CAAC;QAAA,CACP;MAAC,CACL,CAAC,eACN,IAAA9B,WAAA,CAAAa,GAAA,EAAChB,QAAA,CAAAkC,cAAc;QACbC,OAAO,EAAC,OAAO;QAEfC,SAAS,EAAC,OAAO;QACjBC,OAAO,eACL,IAAAlC,WAAA,CAAAe,IAAA,EAAClB,QAAA,CAAAsC,OAAO;UAACC,EAAE,EAAC,2BAA2B;UAAAtB,QAAA,gBACrC,IAAAd,WAAA,CAAAa,GAAA,EAAChB,QAAA,CAAAsC,OAAO,CAACE,KAAK;YAACC,EAAE,EAAC,IAAI;YAAAxB,QAAA,EAAEF,aAAa,CAACQ,oBAAQ,CAACmB,sBAAsB;UAAC,CAAgB,CAAC,eACvF,IAAAvC,WAAA,CAAAe,IAAA,EAAClB,QAAA,CAAAsC,OAAO,CAACK,OAAO;YAAA1B,QAAA,gBACd,IAAAd,WAAA,CAAAa,GAAA;cAAAC,QAAA,EACGF,aAAa,CAACQ,oBAAQ,CAACqB,wBAAwB;YAAC,CAChD,CAAC,eACJ,IAAAzC,WAAA,CAAAa,GAAA;cAAAC,QAAA,EACGF,aAAa,CAACQ,oBAAQ,CAACsB,2BAA2B;YAAC,CACnD,CAAC;UAAA,CACW,CAAC;QAAA,CACX,CACT;QAAA5B,QAAA,eAEF,IAAAd,WAAA,CAAAe,IAAA;UAAAD,QAAA,GACGT,WAAW,iBAAI,IAAAL,WAAA,CAAAa,GAAA;YAAAC,QAAA,EAAK;UAAC,CAAK,CAAC,eAC5B,IAAAd,WAAA,CAAAa,GAAA;YAAMK,SAAS,EAAC,qBAAqB;YAAAJ,QAAA,EAClCF,aAAa,CAACQ,oBAAQ,CAACmB,sBAAsB;UAAC,CAC3C,CAAC;QAAA,CACH;MAAC,GArBH,OAsBU,CAAC;IAAA,CACZ;EAAC,CACL,CAAC;AAEV,CAAC;AAEDpC,gBAAgB,CAACwC,YAAY,GAAG;EAC9BtC,WAAW,EAAE;AACf,CAAC;AAEDF,gBAAgB,CAACyC,SAAS,GAAG;EAC3BvC,WAAW,EAAEwC,qBAAS,CAACC;AACzB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEa7C,gBAAgB","ignoreList":[]}