@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,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _i18n = require("@edx/frontend-platform/i18n");
9
+ var _paragon = require("@openedx/paragon");
10
+ var _icons = require("@openedx/paragon/icons");
11
+ var _GoogleDisclaimer = _interopRequireDefault(require("./GoogleDisclaimer"));
12
+ var _messages = _interopRequireDefault(require("./messages"));
13
+ require("./LanguageSelector.scss");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var LanguageSelector = function LanguageSelector(_ref) {
17
+ var selectedIndex = _ref.selectedIndex,
18
+ setSelectedIndex = _ref.setSelectedIndex,
19
+ courseEnabledLanguages = _ref.courseEnabledLanguages,
20
+ originalCourseLanguage = _ref.originalCourseLanguage;
21
+ var _useIntl = (0, _i18n.useIntl)(),
22
+ formatMessage = _useIntl.formatMessage;
23
+ var handleChange = function handleChange(e) {
24
+ return setSelectedIndex(Number(e.target.value));
25
+ };
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
27
+ className: "pgn__card small",
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.SelectableBox.Set, {
29
+ value: selectedIndex,
30
+ onChange: handleChange,
31
+ name: "languages",
32
+ columns: 1,
33
+ ariaLabel: "language selection",
34
+ className: "language-set",
35
+ children: courseEnabledLanguages.map(function (_ref2, index) {
36
+ var code = _ref2.code,
37
+ label = _ref2.label;
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.SelectableBox, {
39
+ value: index,
40
+ "aria-label": "".concat(label, " radio"),
41
+ className: "option shadow-none",
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
43
+ gap: 3,
44
+ direction: "horizontal",
45
+ children: [code === originalCourseLanguage ? formatMessage(_messages["default"].originalLanguageLabel) : label, selectedIndex === index && /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
46
+ src: _icons.Check,
47
+ className: "text-success"
48
+ })]
49
+ })
50
+ }, code);
51
+ })
52
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ className: "p-3",
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GoogleDisclaimer["default"], {})
55
+ })]
56
+ });
57
+ };
58
+ LanguageSelector.propTypes = {
59
+ courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
60
+ code: _propTypes["default"].string.isRequired,
61
+ label: _propTypes["default"].string.isRequired
62
+ })).isRequired,
63
+ selectedIndex: _propTypes["default"].number.isRequired,
64
+ setSelectedIndex: _propTypes["default"].func.isRequired,
65
+ originalCourseLanguage: _propTypes["default"].string.isRequired
66
+ };
67
+ var _default = exports["default"] = LanguageSelector;
68
+ //# sourceMappingURL=LanguageSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageSelector.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_GoogleDisclaimer","_messages","_jsxRuntime","obj","__esModule","LanguageSelector","_ref","selectedIndex","setSelectedIndex","courseEnabledLanguages","originalCourseLanguage","_useIntl","useIntl","formatMessage","handleChange","e","Number","target","value","jsxs","className","children","jsx","SelectableBox","Set","onChange","name","columns","ariaLabel","map","_ref2","index","code","label","concat","Stack","gap","direction","messages","originalLanguageLabel","Icon","src","Check","propTypes","PropTypes","arrayOf","shape","string","isRequired","number","func","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/LanguageSelector.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n Icon,\n SelectableBox,\n Stack,\n} from '@openedx/paragon';\nimport { Check } from '@openedx/paragon/icons';\n\nimport GoogleDisclaimer from './GoogleDisclaimer';\nimport messages from './messages';\nimport './LanguageSelector.scss';\n\nconst LanguageSelector = ({\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const handleChange = (e) => setSelectedIndex(Number(e.target.value));\n\n return (\n <div className=\"pgn__card small\">\n <SelectableBox.Set\n value={selectedIndex}\n onChange={handleChange}\n name=\"languages\"\n columns={1}\n ariaLabel=\"language selection\"\n className=\"language-set\"\n >\n {courseEnabledLanguages.map(({ code, label }, index) => (\n <SelectableBox\n key={code}\n value={index}\n aria-label={`${label} radio`}\n className=\"option shadow-none\"\n >\n <Stack gap={3} direction=\"horizontal\">\n {code === originalCourseLanguage ? formatMessage(messages.originalLanguageLabel) : label}\n {selectedIndex === index && <Icon src={Check} className=\"text-success\" />}\n </Stack>\n </SelectableBox>\n ))}\n </SelectableBox.Set>\n <div className=\"p-3\">\n <GoogleDisclaimer />\n </div>\n </div>\n );\n};\n\nLanguageSelector.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n selectedIndex: PropTypes.number.isRequired,\n setSelectedIndex: PropTypes.func.isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default LanguageSelector;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ .language-set {
2
+ outline: none;
3
+ &.pgn__selectable_box-set {
4
+ grid-gap: 0;
5
+ }
6
+
7
+ .option {
8
+ border-radius: 0;
9
+
10
+ &.pgn__selectable_box-active {
11
+ z-index: 1;
12
+ }
13
+
14
+ &.pgn__selectable_box{
15
+ border-bottom: 1px solid #E7E4DB;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,53 @@
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 _paragon = require("@openedx/paragon");
9
+ var _icons = require("@openedx/paragon/icons");
10
+ var _GoogleDisclaimer = _interopRequireDefault(require("./GoogleDisclaimer"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ var LockedLanguages = function LockedLanguages(_ref) {
14
+ var courseEnabledLanguages = _ref.courseEnabledLanguages;
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Card, {
16
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Card.Body, {
17
+ children: [courseEnabledLanguages.map(function (_ref2) {
18
+ var code = _ref2.code,
19
+ label = _ref2.label;
20
+ var availableIcon = code === 'en' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
21
+ src: _icons.Check,
22
+ className: "text-success-500",
23
+ "aria-label": "available"
24
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
25
+ src: _icons.Locked,
26
+ "aria-label": "locked"
27
+ });
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
29
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Card.Section, {
30
+ className: "small",
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Stack, {
32
+ direction: "horizontal",
33
+ gap: 3,
34
+ children: [label, availableIcon]
35
+ })
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Card.Divider, {})]
37
+ }, "".concat(code, "-option"));
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Card.Section, {
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GoogleDisclaimer["default"], {
40
+ isAuditMode: true
41
+ })
42
+ })]
43
+ })
44
+ });
45
+ };
46
+ LockedLanguages.propTypes = {
47
+ courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
48
+ code: _propTypes["default"].string.isRequired,
49
+ label: _propTypes["default"].string.isRequired
50
+ })).isRequired
51
+ };
52
+ var _default = exports["default"] = LockedLanguages;
53
+ //# sourceMappingURL=LockedLanguages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockedLanguages.js","names":["_propTypes","_interopRequireDefault","require","_paragon","_icons","_GoogleDisclaimer","_jsxRuntime","obj","__esModule","LockedLanguages","_ref","courseEnabledLanguages","jsx","Card","children","jsxs","Body","map","_ref2","code","label","availableIcon","Icon","src","Check","className","Locked","Section","Stack","direction","gap","Divider","concat","isAuditMode","propTypes","PropTypes","arrayOf","shape","string","isRequired","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/LockedLanguages.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {\n Card,\n Icon,\n Stack,\n} from '@openedx/paragon';\nimport { Check, Locked } from '@openedx/paragon/icons';\n\nimport GoogleDisclaimer from './GoogleDisclaimer';\n\nconst LockedLanguages = ({ courseEnabledLanguages }) => (\n <Card>\n <Card.Body>\n {courseEnabledLanguages.map(({ code, label }) => {\n const availableIcon = code === 'en' ? (\n <Icon src={Check} className=\"text-success-500\" aria-label=\"available\" />\n ) : (\n <Icon src={Locked} aria-label=\"locked\" />\n );\n return (\n <div key={`${code}-option`}>\n <Card.Section className=\"small\">\n <Stack direction=\"horizontal\" gap={3}>\n {label}\n {availableIcon}\n </Stack>\n </Card.Section>\n <Card.Divider />\n </div>\n );\n })}\n <Card.Section>\n <GoogleDisclaimer isAuditMode />\n </Card.Section>\n </Card.Body>\n </Card>\n);\n\nLockedLanguages.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n};\n\nexport default LockedLanguages;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA;EAAA,IAAMC,sBAAsB,GAAAD,IAAA,CAAtBC,sBAAsB;EAAA,oBAC/C,IAAAL,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAU,IAAI;IAAAC,QAAA,eACH,IAAAR,WAAA,CAAAS,IAAA,EAACZ,QAAA,CAAAU,IAAI,CAACG,IAAI;MAAAF,QAAA,GACPH,sBAAsB,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAqB;QAAA,IAAlBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;UAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;QACxC,IAAMC,aAAa,GAAGF,IAAI,KAAK,IAAI,gBACjC,IAAAb,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAmB,IAAI;UAACC,GAAG,EAAEC,YAAM;UAACC,SAAS,EAAC,kBAAkB;UAAC,cAAW;QAAW,CAAE,CAAC,gBAExE,IAAAnB,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAmB,IAAI;UAACC,GAAG,EAAEG,aAAO;UAAC,cAAW;QAAQ,CAAE,CACzC;QACD,oBACE,IAAApB,WAAA,CAAAS,IAAA;UAAAD,QAAA,gBACE,IAAAR,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAU,IAAI,CAACc,OAAO;YAACF,SAAS,EAAC,OAAO;YAAAX,QAAA,eAC7B,IAAAR,WAAA,CAAAS,IAAA,EAACZ,QAAA,CAAAyB,KAAK;cAACC,SAAS,EAAC,YAAY;cAACC,GAAG,EAAE,CAAE;cAAAhB,QAAA,GAClCM,KAAK,EACLC,aAAa;YAAA,CACT;UAAC,CACI,CAAC,eACf,IAAAf,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAU,IAAI,CAACkB,OAAO,IAAE,CAAC;QAAA,MAAAC,MAAA,CAPLb,IAAI,YAQZ,CAAC;MAEV,CAAC,CAAC,eACF,IAAAb,WAAA,CAAAM,GAAA,EAACT,QAAA,CAAAU,IAAI,CAACc,OAAO;QAAAb,QAAA,eACX,IAAAR,WAAA,CAAAM,GAAA,EAACP,iBAAA,WAAgB;UAAC4B,WAAW;QAAA,CAAE;MAAC,CACpB,CAAC;IAAA,CACN;EAAC,CACR,CAAC;AAAA,CACR;AAEDxB,eAAe,CAACyB,SAAS,GAAG;EAC1BvB,sBAAsB,EAAEwB,qBAAS,CAACC,OAAO,CACvCD,qBAAS,CAACE,KAAK,CAAC;IACdlB,IAAI,EAAEgB,qBAAS,CAACG,MAAM,CAACC,UAAU;IACjCnB,KAAK,EAAEe,qBAAS,CAACG,MAAM,CAACC;EAC1B,CAAC,CACH,CAAC,CAACA;AACJ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEahC,eAAe","ignoreList":[]}
@@ -0,0 +1,36 @@
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 _messages = _interopRequireDefault(require("./messages"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ var ModalFooter = function ModalFooter(_ref) {
14
+ var onSubmit = _ref.onSubmit,
15
+ close = _ref.close,
16
+ buttonText = _ref.buttonText;
17
+ var _useIntl = (0, _i18n.useIntl)(),
18
+ formatMessage = _useIntl.formatMessage;
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.ActionRow, {
20
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
21
+ variant: "tertiary",
22
+ onClick: close,
23
+ children: formatMessage(_messages["default"].cancelButtonText)
24
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Button, {
25
+ onClick: onSubmit,
26
+ children: buttonText
27
+ })]
28
+ });
29
+ };
30
+ ModalFooter.propTypes = {
31
+ onSubmit: _propTypes["default"].func.isRequired,
32
+ close: _propTypes["default"].func.isRequired,
33
+ buttonText: _propTypes["default"].node.isRequired
34
+ };
35
+ var _default = exports["default"] = ModalFooter;
36
+ //# sourceMappingURL=ModalFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_messages","_jsxRuntime","obj","__esModule","ModalFooter","_ref","onSubmit","close","buttonText","_useIntl","useIntl","formatMessage","jsxs","ActionRow","children","jsx","Button","variant","onClick","messages","cancelButtonText","propTypes","PropTypes","func","isRequired","node","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/ModalFooter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport {\n ActionRow,\n Button,\n} from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst ModalFooter = ({\n onSubmit,\n close,\n buttonText,\n}) => {\n const { formatMessage } = useIntl();\n return (\n <ActionRow>\n <Button variant=\"tertiary\" onClick={close}>\n {formatMessage(messages.cancelButtonText)}\n </Button>\n <Button onClick={onSubmit}>\n {buttonText}\n </Button>\n </ActionRow>\n );\n};\n\nModalFooter.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n close: PropTypes.func.isRequired,\n buttonText: PropTypes.node.isRequired,\n};\n\nexport default ModalFooter;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElC,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAIX;EAAA,IAHJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAEV,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,oBACE,IAAAV,WAAA,CAAAW,IAAA,EAACb,QAAA,CAAAc,SAAS;IAAAC,QAAA,gBACR,IAAAb,WAAA,CAAAc,GAAA,EAAChB,QAAA,CAAAiB,MAAM;MAACC,OAAO,EAAC,UAAU;MAACC,OAAO,EAAEX,KAAM;MAAAO,QAAA,EACvCH,aAAa,CAACQ,oBAAQ,CAACC,gBAAgB;IAAC,CACnC,CAAC,eACT,IAAAnB,WAAA,CAAAc,GAAA,EAAChB,QAAA,CAAAiB,MAAM;MAACE,OAAO,EAAEZ,QAAS;MAAAQ,QAAA,EACvBN;IAAU,CACL,CAAC;EAAA,CACA,CAAC;AAEhB,CAAC;AAEDJ,WAAW,CAACiB,SAAS,GAAG;EACtBf,QAAQ,EAAEgB,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCjB,KAAK,EAAEe,qBAAS,CAACC,IAAI,CAACC,UAAU;EAChChB,UAAU,EAAEc,qBAAS,CAACG,IAAI,CAACD;AAC7B,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,cAEavB,WAAW","ignoreList":[]}
@@ -0,0 +1,36 @@
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 _messages = _interopRequireDefault(require("./messages"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ var NewLanguageFeedback = function NewLanguageFeedback(_ref) {
14
+ var logSurveyClick = _ref.logSurveyClick;
15
+ var _useIntl = (0, _i18n.useIntl)(),
16
+ formatMessage = _useIntl.formatMessage;
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
18
+ className: "small row m-0 mt-2 align-items-center",
19
+ children: formatMessage(_messages["default"].additionalLanguageMissing, {
20
+ surveyLink: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_paragon.Button, {
21
+ variant: "link",
22
+ onClick: logSurveyClick,
23
+ size: "inline",
24
+ children: [formatMessage(_messages["default"].surveyLinkLabel), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
25
+ className: "sr-only",
26
+ children: formatMessage(_messages["default"].externalSiteLinkScreenreader)
27
+ })]
28
+ })
29
+ })
30
+ });
31
+ };
32
+ NewLanguageFeedback.propTypes = {
33
+ logSurveyClick: _propTypes["default"].func.isRequired
34
+ };
35
+ var _default = exports["default"] = NewLanguageFeedback;
36
+ //# sourceMappingURL=NewLanguageFeedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewLanguageFeedback.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_messages","_jsxRuntime","obj","__esModule","NewLanguageFeedback","_ref","logSurveyClick","_useIntl","useIntl","formatMessage","jsx","className","children","messages","additionalLanguageMissing","surveyLink","jsxs","Button","variant","onClick","size","surveyLinkLabel","externalSiteLinkScreenreader","propTypes","PropTypes","func","isRequired","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/NewLanguageFeedback.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst NewLanguageFeedback = ({ logSurveyClick }) => {\n const { formatMessage } = useIntl();\n return (\n <span className=\"small row m-0 mt-2 align-items-center\">\n {formatMessage(\n messages.additionalLanguageMissing,\n {\n surveyLink: (\n <Button\n variant=\"link\"\n onClick={logSurveyClick}\n size=\"inline\"\n >\n {formatMessage(messages.surveyLinkLabel)}\n <span className=\"sr-only\">{formatMessage(messages.externalSiteLinkScreenreader)}</span>\n </Button>\n ),\n },\n )}\n </span>\n );\n};\n\nNewLanguageFeedback.propTypes = {\n logSurveyClick: PropTypes.func.isRequired,\n};\n\nexport default NewLanguageFeedback;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElC,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;EAC3C,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,oBACE,IAAAR,WAAA,CAAAS,GAAA;IAAMC,SAAS,EAAC,uCAAuC;IAAAC,QAAA,EACpDH,aAAa,CACZI,oBAAQ,CAACC,yBAAyB,EAClC;MACEC,UAAU,eACR,IAAAd,WAAA,CAAAe,IAAA,EAACjB,QAAA,CAAAkB,MAAM;QACLC,OAAO,EAAC,MAAM;QACdC,OAAO,EAAEb,cAAe;QACxBc,IAAI,EAAC,QAAQ;QAAAR,QAAA,GAEZH,aAAa,CAACI,oBAAQ,CAACQ,eAAe,CAAC,eACxC,IAAApB,WAAA,CAAAS,GAAA;UAAMC,SAAS,EAAC,SAAS;UAAAC,QAAA,EAAEH,aAAa,CAACI,oBAAQ,CAACS,4BAA4B;QAAC,CAAO,CAAC;MAAA,CACjF;IAEZ,CACF;EAAC,CACG,CAAC;AAEX,CAAC;AAEDlB,mBAAmB,CAACmB,SAAS,GAAG;EAC9BjB,cAAc,EAAEkB,qBAAS,CAACC,IAAI,CAACC;AACjC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEaxB,mBAAmB","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _LanguageSelector = _interopRequireDefault(require("./LanguageSelector"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+ var PaidModalBody = function PaidModalBody(_ref) {
12
+ var selectedIndex = _ref.selectedIndex,
13
+ setSelectedIndex = _ref.setSelectedIndex,
14
+ courseEnabledLanguages = _ref.courseEnabledLanguages,
15
+ originalCourseLanguage = _ref.originalCourseLanguage;
16
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LanguageSelector["default"], {
17
+ selectedIndex: selectedIndex,
18
+ setSelectedIndex: setSelectedIndex,
19
+ courseEnabledLanguages: courseEnabledLanguages,
20
+ originalCourseLanguage: originalCourseLanguage
21
+ });
22
+ };
23
+ PaidModalBody.propTypes = {
24
+ courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
25
+ code: _propTypes["default"].string.isRequired,
26
+ label: _propTypes["default"].string.isRequired
27
+ })).isRequired,
28
+ selectedIndex: _propTypes["default"].number.isRequired,
29
+ setSelectedIndex: _propTypes["default"].func.isRequired,
30
+ originalCourseLanguage: _propTypes["default"].string.isRequired
31
+ };
32
+ var _default = exports["default"] = PaidModalBody;
33
+ //# sourceMappingURL=PaidModalBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaidModalBody.js","names":["_propTypes","_interopRequireDefault","require","_LanguageSelector","_jsxRuntime","obj","__esModule","PaidModalBody","_ref","selectedIndex","setSelectedIndex","courseEnabledLanguages","originalCourseLanguage","jsx","propTypes","PropTypes","arrayOf","shape","code","string","isRequired","label","number","func","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/PaidModalBody.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport LanguageSelector from './LanguageSelector';\n\nconst PaidModalBody = ({\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n}) => (\n <LanguageSelector\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n);\n\nPaidModalBody.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n selectedIndex: PropTypes.number.isRequired,\n setSelectedIndex: PropTypes.func.isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default PaidModalBody;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IACjBC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;IAChBC,sBAAsB,GAAAH,IAAA,CAAtBG,sBAAsB;IACtBC,sBAAsB,GAAAJ,IAAA,CAAtBI,sBAAsB;EAAA,oBAEtB,IAAAR,WAAA,CAAAS,GAAA,EAACV,iBAAA,WAAgB;IAEbM,aAAa,EAAbA,aAAa;IACbC,gBAAgB,EAAhBA,gBAAgB;IAChBC,sBAAsB,EAAtBA,sBAAsB;IACtBC,sBAAsB,EAAtBA;EAAsB,CAEzB,CAAC;AAAA,CACH;AAEDL,aAAa,CAACO,SAAS,GAAG;EACxBH,sBAAsB,EAAEI,qBAAS,CAACC,OAAO,CACvCD,qBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,qBAAS,CAACI,MAAM,CAACC,UAAU;IACjCC,KAAK,EAAEN,qBAAS,CAACI,MAAM,CAACC;EAC1B,CAAC,CACH,CAAC,CAACA,UAAU;EACZX,aAAa,EAAEM,qBAAS,CAACO,MAAM,CAACF,UAAU;EAC1CV,gBAAgB,EAAEK,qBAAS,CAACQ,IAAI,CAACH,UAAU;EAC3CR,sBAAsB,EAAEG,qBAAS,CAACI,MAAM,CAACC;AAC3C,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEalB,aAAa","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _i18n = require("@edx/frontend-platform/i18n");
10
+ var _paragon = require("@openedx/paragon");
11
+ var _useTranslationModal2 = _interopRequireDefault(require("./useTranslationModal"));
12
+ var _messages = _interopRequireDefault(require("./messages"));
13
+ require("./TranslationModal.scss");
14
+ var _ModalFooter = _interopRequireDefault(require("./ModalFooter"));
15
+ var _UpgradeModalBody = _interopRequireDefault(require("./UpgradeModalBody"));
16
+ var _PaidModalBody = _interopRequireDefault(require("./PaidModalBody"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+ var TranslationModal = function TranslationModal(_ref) {
20
+ var availableLanguages = _ref.availableLanguages,
21
+ isAuditMode = _ref.isAuditMode,
22
+ isFBE = _ref.isFBE,
23
+ isOpen = _ref.isOpen,
24
+ close = _ref.close,
25
+ logEventProperties = _ref.logEventProperties,
26
+ selectedLanguage = _ref.selectedLanguage,
27
+ setSelectedLanguage = _ref.setSelectedLanguage,
28
+ verifiedMode = _ref.verifiedMode,
29
+ originalCourseLanguage = _ref.originalCourseLanguage;
30
+ var _useIntl = (0, _i18n.useIntl)(),
31
+ formatMessage = _useIntl.formatMessage;
32
+ var currencySymbol = verifiedMode.currencySymbol,
33
+ price = verifiedMode.price,
34
+ upgradeUrl = verifiedMode.upgradeUrl;
35
+ var _useTranslationModal = (0, _useTranslationModal2["default"])({
36
+ selectedLanguage: selectedLanguage,
37
+ setSelectedLanguage: setSelectedLanguage,
38
+ close: close,
39
+ isAuditMode: isAuditMode,
40
+ upgradeUrl: upgradeUrl,
41
+ logEventProperties: logEventProperties,
42
+ availableLanguages: availableLanguages,
43
+ originalCourseLanguage: originalCourseLanguage
44
+ }),
45
+ courseEnabledLanguages = _useTranslationModal.courseEnabledLanguages,
46
+ selectedIndex = _useTranslationModal.selectedIndex,
47
+ setSelectedIndex = _useTranslationModal.setSelectedIndex,
48
+ onSubmit = _useTranslationModal.onSubmit;
49
+ var buttonText = isAuditMode ? formatMessage(_messages["default"].upgradeButtonText, {
50
+ upgradePrice: "".concat(currencySymbol).concat(price)
51
+ }) : formatMessage(_messages["default"].submitButtonText);
52
+ var title = isAuditMode ? formatMessage(_messages["default"].upgradeLanguageSelectionModalTitle, {
53
+ asterisk: /*#__PURE__*/(0, _jsxRuntime.jsx)("sup", {
54
+ children: "*"
55
+ })
56
+ }) : formatMessage(_messages["default"].languageSelectionModalTitle);
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.StandardModal, {
58
+ title: title,
59
+ isOpen: isOpen,
60
+ onClose: close,
61
+ isFullscreenScroll: true,
62
+ footerNode: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalFooter["default"], {
63
+ buttonText: buttonText,
64
+ onSubmit: onSubmit,
65
+ close: close
66
+ }),
67
+ children: isAuditMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpgradeModalBody["default"], {
68
+ courseEnabledLanguages: courseEnabledLanguages,
69
+ isFBE: isFBE
70
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PaidModalBody["default"], {
71
+ selectedIndex: selectedIndex,
72
+ setSelectedIndex: setSelectedIndex,
73
+ courseEnabledLanguages: courseEnabledLanguages,
74
+ originalCourseLanguage: originalCourseLanguage
75
+ })
76
+ });
77
+ };
78
+ TranslationModal.propTypes = {
79
+ isOpen: _propTypes["default"].bool.isRequired,
80
+ close: _propTypes["default"].func.isRequired,
81
+ selectedLanguage: _propTypes["default"].string.isRequired,
82
+ setSelectedLanguage: _propTypes["default"].func.isRequired,
83
+ availableLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
84
+ code: _propTypes["default"].string.isRequired,
85
+ label: _propTypes["default"].string.isRequired
86
+ })).isRequired,
87
+ isFBE: _propTypes["default"].bool.isRequired,
88
+ verifiedMode: _propTypes["default"].shape({
89
+ currencySymbol: _propTypes["default"].string,
90
+ price: _propTypes["default"].number,
91
+ upgradeUrl: _propTypes["default"].string
92
+ }).isRequired,
93
+ isAuditMode: _propTypes["default"].bool.isRequired,
94
+ logEventProperties: _propTypes["default"].shape({
95
+ org_key: _propTypes["default"].string.isRequired,
96
+ courserun_key: _propTypes["default"].string.isRequired
97
+ }).isRequired,
98
+ originalCourseLanguage: _propTypes["default"].string.isRequired
99
+ };
100
+ var _default = exports["default"] = TranslationModal;
101
+ //# sourceMappingURL=TranslationModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","_ModalFooter","_UpgradeModalBody","_PaidModalBody","_jsxRuntime","obj","__esModule","TranslationModal","_ref","availableLanguages","isAuditMode","isFBE","isOpen","close","logEventProperties","selectedLanguage","setSelectedLanguage","verifiedMode","originalCourseLanguage","_useIntl","useIntl","formatMessage","currencySymbol","price","upgradeUrl","_useTranslationModal","useTranslationModal","courseEnabledLanguages","selectedIndex","setSelectedIndex","onSubmit","buttonText","messages","upgradeButtonText","upgradePrice","concat","submitButtonText","title","upgradeLanguageSelectionModalTitle","asterisk","jsx","children","languageSelectionModalTitle","StandardModal","onClose","isFullscreenScroll","footerNode","propTypes","PropTypes","bool","isRequired","func","string","arrayOf","shape","code","label","number","org_key","courserun_key","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/TranslationModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { StandardModal } from '@openedx/paragon';\n\nimport useTranslationModal from './useTranslationModal';\nimport messages from './messages';\nimport './TranslationModal.scss';\nimport ModalFooter from './ModalFooter';\nimport UpgradeModalBody from './UpgradeModalBody';\nimport PaidModalBody from './PaidModalBody';\n\nconst TranslationModal = ({\n availableLanguages,\n isAuditMode,\n isFBE,\n isOpen,\n close,\n logEventProperties,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const { currencySymbol, price, upgradeUrl } = verifiedMode;\n const {\n courseEnabledLanguages,\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n } = useTranslationModal({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n });\n\n const buttonText = isAuditMode ? (\n formatMessage(messages.upgradeButtonText, { upgradePrice: `${currencySymbol}${price}` })\n ) : (\n formatMessage(messages.submitButtonText)\n );\n\n const title = isAuditMode ? (\n formatMessage(messages.upgradeLanguageSelectionModalTitle, { asterisk: <sup>*</sup> })\n ) : (\n formatMessage(messages.languageSelectionModalTitle)\n );\n\n return (\n <StandardModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isFullscreenScroll\n footerNode={(\n <ModalFooter\n {...{\n buttonText,\n onSubmit,\n close,\n }}\n />\n )}\n >\n {isAuditMode ? (\n <UpgradeModalBody {...{ courseEnabledLanguages, isFBE }} />\n ) : (\n <PaidModalBody\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n )}\n </StandardModal>\n );\n};\n\nTranslationModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n close: PropTypes.func.isRequired,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n }).isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default TranslationModal;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ .listbox-container {
2
+ max-height: 400px;
3
+ overflow: scroll;
4
+
5
+ :last-child {
6
+ margin-bottom: 5px;
7
+ }
8
+ }
9
+
10
+ .inline-image {
11
+ height: 1em;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _i18n = require("@edx/frontend-platform/i18n");
9
+ var _frontendPluginAdvertisements = require("@edx/frontend-plugin-advertisements");
10
+ var _messages = _interopRequireDefault(require("./messages"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ var UpgradeBenefits = function UpgradeBenefits(_ref) {
14
+ var isFBE = _ref.isFBE;
15
+ var _useIntl = (0, _i18n.useIntl)(),
16
+ formatMessage = _useIntl.formatMessage;
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
18
+ className: "mt-3.5",
19
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("hr", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
20
+ className: "lead text-primary-500",
21
+ children: formatMessage(_messages["default"].upgradeBenefitsSectionTitle)
22
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
+ className: "ml-n4 mt-n3",
24
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_frontendPluginAdvertisements.UpsellBullets, {
25
+ isFBE: isFBE
26
+ })
27
+ })]
28
+ });
29
+ };
30
+ UpgradeBenefits.propTypes = {
31
+ isFBE: _propTypes["default"].bool.isRequired
32
+ };
33
+ var _default = exports["default"] = UpgradeBenefits;
34
+ //# sourceMappingURL=UpgradeBenefits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpgradeBenefits.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_frontendPluginAdvertisements","_messages","_jsxRuntime","obj","__esModule","UpgradeBenefits","_ref","isFBE","_useIntl","useIntl","formatMessage","jsxs","className","children","jsx","messages","upgradeBenefitsSectionTitle","UpsellBullets","propTypes","PropTypes","bool","isRequired","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/UpgradeBenefits.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\n\nimport { UpsellBullets } from '@edx/frontend-plugin-advertisements';\n\nimport messages from './messages';\n\nconst UpgradeBenefits = ({ isFBE }) => {\n const { formatMessage } = useIntl();\n\n return (\n <div className=\"mt-3.5\">\n <hr />\n <span className=\"lead text-primary-500\">\n {formatMessage(messages.upgradeBenefitsSectionTitle)}\n </span>\n <div className=\"ml-n4 mt-n3\">\n <UpsellBullets {...{ isFBE }} />\n </div>\n </div>\n );\n};\n\nUpgradeBenefits.propTypes = {\n isFBE: PropTypes.bool.isRequired,\n};\n\nexport default UpgradeBenefits;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,6BAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElC,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAkB;EAAA,IAAZC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAC9B,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EAErB,oBACE,IAAAR,WAAA,CAAAS,IAAA;IAAKC,SAAS,EAAC,QAAQ;IAAAC,QAAA,gBACrB,IAAAX,WAAA,CAAAY,GAAA,UAAK,CAAC,eACN,IAAAZ,WAAA,CAAAY,GAAA;MAAMF,SAAS,EAAC,uBAAuB;MAAAC,QAAA,EACpCH,aAAa,CAACK,oBAAQ,CAACC,2BAA2B;IAAC,CAChD,CAAC,eACP,IAAAd,WAAA,CAAAY,GAAA;MAAKF,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1B,IAAAX,WAAA,CAAAY,GAAA,EAACd,6BAAA,CAAAiB,aAAa;QAAOV,KAAK,EAALA;MAAK,CAAK;IAAC,CAC7B,CAAC;EAAA,CACH,CAAC;AAEV,CAAC;AAEDF,eAAe,CAACa,SAAS,GAAG;EAC1BX,KAAK,EAAEY,qBAAS,CAACC,IAAI,CAACC;AACxB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEalB,eAAe","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _i18n = require("@edx/frontend-platform/i18n");
9
+ var _paragon = require("@openedx/paragon");
10
+ var _icons = require("@openedx/paragon/icons");
11
+ var _LockedLanguages = _interopRequireDefault(require("./LockedLanguages"));
12
+ var _UpgradeBenefits = _interopRequireDefault(require("./UpgradeBenefits"));
13
+ var _messages = _interopRequireDefault(require("./messages"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var UpgradeModalBody = function UpgradeModalBody(_ref) {
17
+ var courseEnabledLanguages = _ref.courseEnabledLanguages,
18
+ isFBE = _ref.isFBE;
19
+ var _useIntl = (0, _i18n.useIntl)(),
20
+ formatMessage = _useIntl.formatMessage;
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
22
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
23
+ className: "lead text-primary mb-2",
24
+ style: {
25
+ display: 'inline-block',
26
+ position: 'relative'
27
+ },
28
+ children: formatMessage(_messages["default"].upgradeLanguageSectionTitle, {
29
+ tooltip: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.OverlayTrigger, {
30
+ placement: "right",
31
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Tooltip, {
32
+ id: "langauge-translations-selection-tooltip",
33
+ children: formatMessage(_messages["default"].upgradeLanguageSectionTooltip)
34
+ }),
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_paragon.Icon, {
36
+ style: {
37
+ "float": 'right',
38
+ display: 'inline',
39
+ position: 'absolute',
40
+ bottom: 8
41
+ },
42
+ src: _icons.InfoOutline,
43
+ size: "xs",
44
+ className: "ml-1",
45
+ "aria-label": "info"
46
+ })
47
+ })
48
+ })
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockedLanguages["default"], {
50
+ courseEnabledLanguages: courseEnabledLanguages
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UpgradeBenefits["default"], {
52
+ isFBE: isFBE
53
+ })]
54
+ });
55
+ };
56
+ UpgradeModalBody.propTypes = {
57
+ courseEnabledLanguages: _propTypes["default"].arrayOf(_propTypes["default"].shape({
58
+ code: _propTypes["default"].string.isRequired,
59
+ label: _propTypes["default"].string.isRequired
60
+ })).isRequired,
61
+ isFBE: _propTypes["default"].bool.isRequired
62
+ };
63
+ var _default = exports["default"] = UpgradeModalBody;
64
+ //# sourceMappingURL=UpgradeModalBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpgradeModalBody.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_paragon","_icons","_LockedLanguages","_UpgradeBenefits","_messages","_jsxRuntime","obj","__esModule","UpgradeModalBody","_ref","courseEnabledLanguages","isFBE","_useIntl","useIntl","formatMessage","jsxs","Fragment","children","jsx","className","style","display","position","messages","upgradeLanguageSectionTitle","tooltip","OverlayTrigger","placement","overlay","Tooltip","id","upgradeLanguageSectionTooltip","Icon","bottom","src","InfoOutline","size","propTypes","PropTypes","arrayOf","shape","code","string","isRequired","label","bool","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/UpgradeModalBody.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { Icon, OverlayTrigger, Tooltip } from '@openedx/paragon';\nimport { InfoOutline } from '@openedx/paragon/icons';\n\nimport LockedLanguages from './LockedLanguages';\nimport UpgradeBenefits from './UpgradeBenefits';\nimport messages from './messages';\n\nconst UpgradeModalBody = ({\n courseEnabledLanguages,\n isFBE,\n}) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <span className=\"lead text-primary mb-2\" style={{ display: 'inline-block', position: 'relative' }}>\n {formatMessage(messages.upgradeLanguageSectionTitle, {\n tooltip: (\n <OverlayTrigger\n placement=\"right\"\n overlay={(\n <Tooltip id=\"langauge-translations-selection-tooltip\">\n {formatMessage(messages.upgradeLanguageSectionTooltip)}\n </Tooltip>\n )}\n >\n <Icon\n style={{\n float: 'right',\n display: 'inline',\n position: 'absolute',\n bottom: 8,\n }}\n src={InfoOutline}\n size=\"xs\"\n className=\"ml-1\"\n aria-label=\"info\"\n />\n </OverlayTrigger>\n ),\n })}\n </span>\n <LockedLanguages {...{ courseEnabledLanguages }} />\n <UpgradeBenefits {...{ isFBE }} />\n </>\n );\n};\n\nUpgradeModalBody.propTypes = {\n courseEnabledLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n};\n\nexport default UpgradeModalBody;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,gBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAkC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElC,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAGhB;EAAA,IAFJC,sBAAsB,GAAAD,IAAA,CAAtBC,sBAAsB;IACtBC,KAAK,GAAAF,IAAA,CAALE,KAAK;EAEL,IAAAC,QAAA,GAA0B,IAAAC,aAAO,EAAC,CAAC;IAA3BC,aAAa,GAAAF,QAAA,CAAbE,aAAa;EACrB,oBACE,IAAAT,WAAA,CAAAU,IAAA,EAAAV,WAAA,CAAAW,QAAA;IAAAC,QAAA,gBACE,IAAAZ,WAAA,CAAAa,GAAA;MAAMC,SAAS,EAAC,wBAAwB;MAACC,KAAK,EAAE;QAAEC,OAAO,EAAE,cAAc;QAAEC,QAAQ,EAAE;MAAW,CAAE;MAAAL,QAAA,EAC/FH,aAAa,CAACS,oBAAQ,CAACC,2BAA2B,EAAE;QACnDC,OAAO,eACL,IAAApB,WAAA,CAAAa,GAAA,EAAClB,QAAA,CAAA0B,cAAc;UACbC,SAAS,EAAC,OAAO;UACjBC,OAAO,eACL,IAAAvB,WAAA,CAAAa,GAAA,EAAClB,QAAA,CAAA6B,OAAO;YAACC,EAAE,EAAC,yCAAyC;YAAAb,QAAA,EAClDH,aAAa,CAACS,oBAAQ,CAACQ,6BAA6B;UAAC,CAC/C,CACT;UAAAd,QAAA,eAEF,IAAAZ,WAAA,CAAAa,GAAA,EAAClB,QAAA,CAAAgC,IAAI;YACHZ,KAAK,EAAE;cACL,SAAO,OAAO;cACdC,OAAO,EAAE,QAAQ;cACjBC,QAAQ,EAAE,UAAU;cACpBW,MAAM,EAAE;YACV,CAAE;YACFC,GAAG,EAAEC,kBAAY;YACjBC,IAAI,EAAC,IAAI;YACTjB,SAAS,EAAC,MAAM;YAChB,cAAW;UAAM,CAClB;QAAC,CACY;MAEpB,CAAC;IAAC,CACE,CAAC,eACP,IAAAd,WAAA,CAAAa,GAAA,EAAChB,gBAAA,WAAe;MAAOQ,sBAAsB,EAAtBA;IAAsB,CAAK,CAAC,eACnD,IAAAL,WAAA,CAAAa,GAAA,EAACf,gBAAA,WAAe;MAAOQ,KAAK,EAALA;IAAK,CAAK,CAAC;EAAA,CAClC,CAAC;AAEP,CAAC;AAEDH,gBAAgB,CAAC6B,SAAS,GAAG;EAC3B3B,sBAAsB,EAAE4B,qBAAS,CAACC,OAAO,CACvCD,qBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,qBAAS,CAACI,MAAM,CAACC,UAAU;IACjCC,KAAK,EAAEN,qBAAS,CAACI,MAAM,CAACC;EAC1B,CAAC,CACH,CAAC,CAACA,UAAU;EACZhC,KAAK,EAAE2B,qBAAS,CAACO,IAAI,CAACF;AACxB,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEavC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _TranslationModal = _interopRequireDefault(require("./TranslationModal"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var _default = exports["default"] = _TranslationModal["default"];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_TranslationModal","_interopRequireDefault","require","obj","__esModule","_default","exports","TranslationModal"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/index.jsx"],"sourcesContent":["import TranslationModal from './TranslationModal';\n\nexport default TranslationModal;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,IAAAE,QAAA,GAAAC,OAAA,cAEnCC,4BAAgB","ignoreList":[]}