@edx/unit-title-plugin 2.4.4 → 2.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/translation-button/translation-selection/translation-dropdown/TranslationDropdown.js +15 -8
- package/dist/translation-button/translation-selection/translation-dropdown/TranslationDropdown.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-dropdown/messages.js +6 -1
- package/dist/translation-button/translation-selection/translation-dropdown/messages.js.map +1 -1
- package/package.json +2 -2
package/dist/translation-button/translation-selection/translation-dropdown/TranslationDropdown.js
CHANGED
|
@@ -82,14 +82,21 @@ var TranslationDropdown = function TranslationDropdown(_ref) {
|
|
|
82
82
|
tours: [translationDropdownTour]
|
|
83
83
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Dropdown, {
|
|
84
84
|
className: "translation-dropdown",
|
|
85
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.OverlayTrigger, {
|
|
86
|
+
placement: "top",
|
|
87
|
+
overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Tooltip, {
|
|
88
|
+
id: "translation-dropdown-toggle-tooltip",
|
|
89
|
+
children: formatMessage(_messages["default"].translationDropdownToggleDescriptionText)
|
|
90
|
+
}),
|
|
91
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Dropdown.Toggle, {
|
|
92
|
+
id: "translation-dropdown-toggle",
|
|
93
|
+
as: _paragon.IconButton,
|
|
94
|
+
src: _icons.Translate,
|
|
95
|
+
iconAs: _paragon.Icon,
|
|
96
|
+
variant: "tertiary",
|
|
97
|
+
alt: formatMessage(_messages["default"].translationButtonText),
|
|
98
|
+
className: "rounded-circle text-primary-500 icon-hover"
|
|
99
|
+
})
|
|
93
100
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Dropdown.Menu, {
|
|
94
101
|
style: {
|
|
95
102
|
minWidth: '220px'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_i18n","_paragon","_icons","_messages","_icons2","_useTranslationModal","_useTranslationDropdownTour","_constants","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TranslationDropdown","_ref","originalCourseLanguage","selectedLanguage","setSelectedLanguage","availableLanguages","siteLocale","_useIntl","useIntl","formatMessage","courseEnabledLanguages","getEnabledLanguages","localeSupported","some","lang","code","useEffect","getLanguageName","language","siteLanguageList","find","toLowerCase","name","handleSelect","langCode","originalLanguageLabel","siteLanguageLabel","_useTranslationDropdo","useTranslationDropdownTour","translationDropdownTour","jsx","OverlayTrigger","placement","overlay","Tooltip","id","children","messages","translationNotAvailable","className","style","cursor","Icon","src","TranslationNotFound","jsxs","Fragment","ProductTour","tours","Dropdown","Toggle","as","IconButton","Translate","iconAs","variant","alt","translationButtonText","Menu","minWidth","Item","onClick","active","originalLanguageOption","Check","Divider","propTypes","PropTypes","string","isRequired","func","arrayOf","shape","label","defaultProps","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-dropdown/TranslationDropdown.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Dropdown, IconButton, Icon, OverlayTrigger, Tooltip, ProductTour,\n} from '@openedx/paragon';\nimport { Translate, Check } from '@openedx/paragon/icons';\n\nimport messages from './messages';\nimport { TranslationNotFound } from './icons';\nimport { getEnabledLanguages } from '../translation-modal/useTranslationModal';\nimport useTranslationDropdownTour from './useTranslationDropdownTour';\nimport siteLanguageList from './constants';\n\nconst TranslationDropdown = ({\n originalCourseLanguage,\n selectedLanguage,\n setSelectedLanguage,\n availableLanguages,\n siteLocale,\n}) => {\n const { formatMessage } = useIntl();\n\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const localeSupported = courseEnabledLanguages.some(lang => lang.code === siteLocale);\n\n useEffect(() => {\n // If the locale is a language we support, on mount set it as the selected language\n if (localeSupported) {\n setSelectedLanguage(siteLocale);\n } else {\n // Otherwise, default to original course language\n setSelectedLanguage(originalCourseLanguage);\n }\n }, [localeSupported, siteLocale]);\n\n const getLanguageName = (code) => {\n const language = siteLanguageList.find(lang => lang.code === code?.toLowerCase());\n return language ? language.name : code;\n };\n\n const handleSelect = (langCode) => {\n setSelectedLanguage(langCode);\n };\n\n const originalLanguageLabel = getLanguageName(originalCourseLanguage);\n const siteLanguageLabel = getLanguageName(siteLocale);\n const { translationDropdownTour } = useTranslationDropdownTour();\n\n if (originalCourseLanguage === siteLocale) {\n return null;\n }\n if (!localeSupported) {\n return (\n <OverlayTrigger\n placement=\"top\"\n overlay={(\n <Tooltip id=\"translation-not-available-tooltip\">\n {formatMessage(messages.translationNotAvailable)}\n </Tooltip>\n )}\n >\n <span\n data-testid=\"translation-unavailable-state\"\n className=\"d-inline-flex align-items-center justify-content-center p-2 text-primary-500\"\n style={{ cursor: 'default' }}\n >\n <Icon src={TranslationNotFound} />\n </span>\n </OverlayTrigger>\n );\n }\n return (\n <>\n <ProductTour tours={[translationDropdownTour]} />\n <Dropdown className=\"translation-dropdown\">\n <Dropdown.Toggle\n id=\"translation-dropdown-toggle\"\n as={IconButton}\n src={Translate}\n iconAs={Icon}\n variant=\"tertiary\"\n alt={formatMessage(messages.translationButtonText)}\n className=\"rounded-circle text-primary-500 icon-hover\"\n />\n\n <Dropdown.Menu style={{ minWidth: '220px' }}>\n <Dropdown.Item\n data-testid=\"original-language-item\"\n onClick={() => handleSelect(originalCourseLanguage)}\n className=\"d-flex align-items-center justify-content-between\"\n active={selectedLanguage === originalCourseLanguage && originalCourseLanguage !== siteLocale}\n >\n <span className=\"mr-3\">\n {formatMessage(\n messages.originalLanguageOption,\n { language: originalLanguageLabel },\n )}\n </span>\n {selectedLanguage === originalCourseLanguage && originalCourseLanguage !== siteLocale && (\n <Icon src={Check} data-testid=\"checkmark-icon\" />\n )}\n </Dropdown.Item>\n\n <Dropdown.Divider />\n\n <Dropdown.Item\n data-testid=\"site-language-item\"\n onClick={() => handleSelect(siteLocale)}\n className=\"d-flex align-items-center justify-content-between\"\n active={selectedLanguage === siteLocale}\n >\n <span>{siteLanguageLabel}</span>\n {selectedLanguage === siteLocale && (\n <Icon src={Check} data-testid=\"checkmark-icon\" />\n )}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </>\n );\n};\n\nTranslationDropdown.propTypes = {\n originalCourseLanguage: PropTypes.string,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n siteLocale: PropTypes.string.isRequired,\n};\n\nTranslationDropdown.defaultProps = {\n originalCourseLanguage: 'en',\n};\n\nexport default TranslationDropdown;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TranslationDropdown.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_i18n","_paragon","_icons","_messages","_icons2","_useTranslationModal","_useTranslationDropdownTour","_constants","_jsxRuntime","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TranslationDropdown","_ref","originalCourseLanguage","selectedLanguage","setSelectedLanguage","availableLanguages","siteLocale","_useIntl","useIntl","formatMessage","courseEnabledLanguages","getEnabledLanguages","localeSupported","some","lang","code","useEffect","getLanguageName","language","siteLanguageList","find","toLowerCase","name","handleSelect","langCode","originalLanguageLabel","siteLanguageLabel","_useTranslationDropdo","useTranslationDropdownTour","translationDropdownTour","jsx","OverlayTrigger","placement","overlay","Tooltip","id","children","messages","translationNotAvailable","className","style","cursor","Icon","src","TranslationNotFound","jsxs","Fragment","ProductTour","tours","Dropdown","translationDropdownToggleDescriptionText","Toggle","as","IconButton","Translate","iconAs","variant","alt","translationButtonText","Menu","minWidth","Item","onClick","active","originalLanguageOption","Check","Divider","propTypes","PropTypes","string","isRequired","func","arrayOf","shape","label","defaultProps","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-dropdown/TranslationDropdown.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Dropdown, IconButton, Icon, OverlayTrigger, Tooltip, ProductTour,\n} from '@openedx/paragon';\nimport { Translate, Check } from '@openedx/paragon/icons';\n\nimport messages from './messages';\nimport { TranslationNotFound } from './icons';\nimport { getEnabledLanguages } from '../translation-modal/useTranslationModal';\nimport useTranslationDropdownTour from './useTranslationDropdownTour';\nimport siteLanguageList from './constants';\n\nconst TranslationDropdown = ({\n originalCourseLanguage,\n selectedLanguage,\n setSelectedLanguage,\n availableLanguages,\n siteLocale,\n}) => {\n const { formatMessage } = useIntl();\n\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const localeSupported = courseEnabledLanguages.some(lang => lang.code === siteLocale);\n\n useEffect(() => {\n // If the locale is a language we support, on mount set it as the selected language\n if (localeSupported) {\n setSelectedLanguage(siteLocale);\n } else {\n // Otherwise, default to original course language\n setSelectedLanguage(originalCourseLanguage);\n }\n }, [localeSupported, siteLocale]);\n\n const getLanguageName = (code) => {\n const language = siteLanguageList.find(lang => lang.code === code?.toLowerCase());\n return language ? language.name : code;\n };\n\n const handleSelect = (langCode) => {\n setSelectedLanguage(langCode);\n };\n\n const originalLanguageLabel = getLanguageName(originalCourseLanguage);\n const siteLanguageLabel = getLanguageName(siteLocale);\n const { translationDropdownTour } = useTranslationDropdownTour();\n\n if (originalCourseLanguage === siteLocale) {\n return null;\n }\n if (!localeSupported) {\n return (\n <OverlayTrigger\n placement=\"top\"\n overlay={(\n <Tooltip id=\"translation-not-available-tooltip\">\n {formatMessage(messages.translationNotAvailable)}\n </Tooltip>\n )}\n >\n <span\n data-testid=\"translation-unavailable-state\"\n className=\"d-inline-flex align-items-center justify-content-center p-2 text-primary-500\"\n style={{ cursor: 'default' }}\n >\n <Icon src={TranslationNotFound} />\n </span>\n </OverlayTrigger>\n );\n }\n return (\n <>\n <ProductTour tours={[translationDropdownTour]} />\n <Dropdown className=\"translation-dropdown\">\n <OverlayTrigger\n placement=\"top\"\n overlay={(\n <Tooltip id=\"translation-dropdown-toggle-tooltip\">\n {formatMessage(messages.translationDropdownToggleDescriptionText)}\n </Tooltip>\n )}\n >\n <Dropdown.Toggle\n id=\"translation-dropdown-toggle\"\n as={IconButton}\n src={Translate}\n iconAs={Icon}\n variant=\"tertiary\"\n alt={formatMessage(messages.translationButtonText)}\n className=\"rounded-circle text-primary-500 icon-hover\"\n />\n </OverlayTrigger>\n\n <Dropdown.Menu style={{ minWidth: '220px' }}>\n <Dropdown.Item\n data-testid=\"original-language-item\"\n onClick={() => handleSelect(originalCourseLanguage)}\n className=\"d-flex align-items-center justify-content-between\"\n active={selectedLanguage === originalCourseLanguage && originalCourseLanguage !== siteLocale}\n >\n <span className=\"mr-3\">\n {formatMessage(\n messages.originalLanguageOption,\n { language: originalLanguageLabel },\n )}\n </span>\n {selectedLanguage === originalCourseLanguage && originalCourseLanguage !== siteLocale && (\n <Icon src={Check} data-testid=\"checkmark-icon\" />\n )}\n </Dropdown.Item>\n\n <Dropdown.Divider />\n\n <Dropdown.Item\n data-testid=\"site-language-item\"\n onClick={() => handleSelect(siteLocale)}\n className=\"d-flex align-items-center justify-content-between\"\n active={selectedLanguage === siteLocale}\n >\n <span>{siteLanguageLabel}</span>\n {selectedLanguage === siteLocale && (\n <Icon src={Check} data-testid=\"checkmark-icon\" />\n )}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </>\n );\n};\n\nTranslationDropdown.propTypes = {\n originalCourseLanguage: PropTypes.string,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n siteLocale: PropTypes.string.isRequired,\n};\n\nTranslationDropdown.defaultProps = {\n originalCourseLanguage: 'en',\n};\n\nexport default TranslationDropdown;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ var messages = (0, _i18n.defineMessages)({
|
|
|
13
13
|
},
|
|
14
14
|
translationNotAvailable: {
|
|
15
15
|
id: 'translation.dropdown.not.available',
|
|
16
|
-
defaultMessage: '
|
|
16
|
+
defaultMessage: 'This course is not currently offered in your selected language',
|
|
17
17
|
description: 'Tooltip message for when translation is not available.'
|
|
18
18
|
},
|
|
19
19
|
translationButtonText: {
|
|
@@ -35,6 +35,11 @@ var messages = (0, _i18n.defineMessages)({
|
|
|
35
35
|
id: 'translation.dropdown.productTour.dismissButton.text',
|
|
36
36
|
defaultMessage: 'Dismiss',
|
|
37
37
|
description: 'Dismiss button text for the translation dropdown product tour modal.'
|
|
38
|
+
},
|
|
39
|
+
translationDropdownToggleDescriptionText: {
|
|
40
|
+
id: 'translation.dropdown.toggle.description.text',
|
|
41
|
+
defaultMessage: 'Toggle translation of course content',
|
|
42
|
+
description: 'Tooltip on hover for translation dropdown'
|
|
38
43
|
}
|
|
39
44
|
});
|
|
40
45
|
var _default = exports["default"] = messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","originalLanguageOption","id","defaultMessage","description","translationNotAvailable","translationButtonText","translationDropdownProductTourModalTitle","translationDropdownProductTourModalBody","translationDropdownProductTourDismissButtonText","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-dropdown/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n originalLanguageOption: {\n id: 'translation.selection.dropdown.option.original',\n defaultMessage: 'Original course language ({language})',\n description: 'Menu option to revert the content to the course’s native language.',\n },\n translationNotAvailable: {\n id: 'translation.dropdown.not.available',\n defaultMessage: '
|
|
1
|
+
{"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","originalLanguageOption","id","defaultMessage","description","translationNotAvailable","translationButtonText","translationDropdownProductTourModalTitle","translationDropdownProductTourModalBody","translationDropdownProductTourDismissButtonText","translationDropdownToggleDescriptionText","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-dropdown/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n originalLanguageOption: {\n id: 'translation.selection.dropdown.option.original',\n defaultMessage: 'Original course language ({language})',\n description: 'Menu option to revert the content to the course’s native language.',\n },\n translationNotAvailable: {\n id: 'translation.dropdown.not.available',\n defaultMessage: 'This course is not currently offered in your selected language',\n description: 'Tooltip message for when translation is not available.',\n },\n translationButtonText: {\n id: 'translation.selection.dropdown.button.alt',\n defaultMessage: 'Translate',\n description: 'The alt text and aria-label for the translation dropdown toggle button.',\n },\n translationDropdownProductTourModalTitle: {\n id: 'translation.dropdown.productTour.modal.title',\n defaultMessage: 'Translated course content',\n description: 'Title for the translation dropdown product tour modal.',\n },\n translationDropdownProductTourModalBody: {\n id: 'translation.dropdown.productTour.modal.body',\n defaultMessage: 'Quickly switch between the original and translated version of course content.',\n description: 'Body text for the translation dropdown product tour modal.',\n },\n translationDropdownProductTourDismissButtonText: {\n id: 'translation.dropdown.productTour.dismissButton.text',\n defaultMessage: 'Dismiss',\n description: 'Dismiss button text for the translation dropdown product tour modal.',\n },\n translationDropdownToggleDescriptionText: {\n id: 'translation.dropdown.toggle.description.text',\n defaultMessage: 'Toggle translation of course content',\n description: 'Tooltip on hover for translation dropdown',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,sBAAsB,EAAE;IACtBC,EAAE,EAAE,gDAAgD;IACpDC,cAAc,EAAE,uCAAuC;IACvDC,WAAW,EAAE;EACf,CAAC;EACDC,uBAAuB,EAAE;IACvBH,EAAE,EAAE,oCAAoC;IACxCC,cAAc,EAAE,gEAAgE;IAChFC,WAAW,EAAE;EACf,CAAC;EACDE,qBAAqB,EAAE;IACrBJ,EAAE,EAAE,2CAA2C;IAC/CC,cAAc,EAAE,WAAW;IAC3BC,WAAW,EAAE;EACf,CAAC;EACDG,wCAAwC,EAAE;IACxCL,EAAE,EAAE,8CAA8C;IAClDC,cAAc,EAAE,2BAA2B;IAC3CC,WAAW,EAAE;EACf,CAAC;EACDI,uCAAuC,EAAE;IACvCN,EAAE,EAAE,6CAA6C;IACjDC,cAAc,EAAE,+EAA+E;IAC/FC,WAAW,EAAE;EACf,CAAC;EACDK,+CAA+C,EAAE;IAC/CP,EAAE,EAAE,qDAAqD;IACzDC,cAAc,EAAE,SAAS;IACzBC,WAAW,EAAE;EACf,CAAC;EACDM,wCAAwC,EAAE;IACxCR,EAAE,EAAE,8CAA8C;IAClDC,cAAc,EAAE,sCAAsC;IACtDC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,cAEYb,QAAQ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edx/unit-title-plugin",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.6",
|
|
4
4
|
"description": "Unit title plugin in frontend-app-learning",
|
|
5
5
|
"main": "dist",
|
|
6
6
|
"author": "edX",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"regenerator-runtime": "^0.14.1",
|
|
55
55
|
"rosie": "^2.1.1"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "205824a094f80b309b8f90a802aba78e997a4ffe"
|
|
58
58
|
}
|