@edx/unit-title-plugin 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +73 -0
- package/dist/BookmarkButton.js +68 -0
- package/dist/BookmarkButton.js.map +1 -0
- package/dist/LegacyUnitTitle.js +61 -0
- package/dist/LegacyUnitTitle.js.map +1 -0
- package/dist/UnitTitle.js +65 -0
- package/dist/UnitTitle.js.map +1 -0
- package/dist/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/__factories__/index.js +5 -0
- package/dist/__factories__/index.js.map +1 -0
- package/dist/i18n/index.js +47 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/ar.json +14 -0
- package/dist/i18n/messages/ca.json +14 -0
- package/dist/i18n/messages/es_419.json +14 -0
- package/dist/i18n/messages/es_AR.json +14 -0
- package/dist/i18n/messages/es_ES.json +14 -0
- package/dist/i18n/messages/fr.json +14 -0
- package/dist/i18n/messages/he.json +14 -0
- package/dist/i18n/messages/id.json +14 -0
- package/dist/i18n/messages/it_IT.json +14 -0
- package/dist/i18n/messages/ko_KR.json +14 -0
- package/dist/i18n/messages/pl.json +14 -0
- package/dist/i18n/messages/pt_BR.json +14 -0
- package/dist/i18n/messages/pt_PT.json +14 -0
- package/dist/i18n/messages/ru.json +14 -0
- package/dist/i18n/messages/th.json +14 -0
- package/dist/i18n/messages/tr_TR.json +14 -0
- package/dist/i18n/messages/uk.json +14 -0
- package/dist/i18n/messages/zh_CN.json +14 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/translation-button/assets/google-translate-logo.png +0 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/index.js +5 -0
- package/dist/translation-button/data/__factories__/index.js.map +1 -0
- package/dist/translation-button/data/api.js +185 -0
- package/dist/translation-button/data/api.js.map +1 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js +138 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.js +163 -0
- package/dist/translation-button/feedback-widget/index.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.scss +4 -0
- package/dist/translation-button/feedback-widget/messages.js +61 -0
- package/dist/translation-button/feedback-widget/messages.js.map +1 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js +134 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js.map +1 -0
- package/dist/translation-button/index.js +117 -0
- package/dist/translation-button/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.js +169 -0
- package/dist/translation-button/translation-selection/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.scss +26 -0
- package/dist/translation-button/translation-selection/messages.js +36 -0
- package/dist/translation-button/translation-selection/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js +77 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js +68 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.scss +18 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js +53 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +33 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +101 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.scss +12 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +34 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +64 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js +10 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js +106 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +124 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js +44 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js.map +1 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js +76 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js.map +1 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js +100 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js.map +1 -0
- package/dist/translation-button/translations-loader/SVGLoader.js +83 -0
- package/dist/translation-button/translations-loader/SVGLoader.js.map +1 -0
- package/dist/translation-button/translations-loader/index.js +63 -0
- package/dist/translation-button/translations-loader/index.js.map +1 -0
- package/dist/translation-button/translations-loader/index.scss +43 -0
- package/dist/translation-button/translations-loader/messages.js +16 -0
- package/dist/translation-button/translations-loader/messages.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,83 @@
|
|
|
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 _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
var SVGLoader = function SVGLoader() {
|
|
11
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
|
|
12
|
+
width: "81",
|
|
13
|
+
height: "65",
|
|
14
|
+
viewBox: "0 0 81 65",
|
|
15
|
+
fill: "none",
|
|
16
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
18
|
+
clipPath: "url(#clip0_462_27196)",
|
|
19
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
20
|
+
d: "M37.311 27.7001C37.5512 25.9911 39.145 24.6056 40.8709 24.6056H74.3088C76.0347 24.6056 77.2391 25.9911 76.9989 27.7002L72.6577 58.5894C72.4175 60.2985 70.8237 61.684 69.0978 61.684H35.6599C33.934 61.684 32.7296 60.2985 32.9698 58.5894L37.311 27.7001Z",
|
|
21
|
+
fill: "white",
|
|
22
|
+
stroke: "#00262B",
|
|
23
|
+
strokeWidth: "2.75"
|
|
24
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
25
|
+
d: "M14.3344 0.242266C10.8942 0.242266 7.7173 3.00392 7.23852 6.41059L2.89732 37.2999C2.41854 40.7065 4.81922 43.4682 8.25937 43.4682H24.9783H41.6973C45.1374 43.4682 48.3144 40.7065 48.7931 37.2999L53.1343 6.4106C53.6131 3.00392 51.2124 0.242266 47.7723 0.242266H14.3344Z",
|
|
26
|
+
fill: "white",
|
|
27
|
+
stroke: "white",
|
|
28
|
+
strokeWidth: "3.45791"
|
|
29
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
30
|
+
d: "M10.3425 6.41059C10.5827 4.7015 12.1765 3.31601 13.9024 3.31601H47.3403C49.0662 3.31601 50.2706 4.70151 50.0304 6.4106L45.6892 37.2999C45.449 39.0089 43.8552 40.3944 42.1293 40.3944H8.69136C6.96547 40.3944 5.76107 39.0089 6.00127 37.2999L10.3425 6.41059Z",
|
|
31
|
+
fill: "white",
|
|
32
|
+
stroke: "#00262B",
|
|
33
|
+
strokeWidth: "2.75"
|
|
34
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
35
|
+
d: "M48.2786 52.4212H45.342L54.7009 33.868H57.8753L62.0192 52.4212H59.0826L55.8894 37.1927H55.7431L48.2786 52.4212ZM49.829 45.1648H59.5535L59.2289 47.4749H49.5043L49.829 45.1648Z",
|
|
36
|
+
fill: "#00262B"
|
|
37
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
38
|
+
d: "M32.6534 16.7597L35.2022 17.5199C31.5485 24.9163 26.108 29.2308 18.357 31.5319C18.1532 30.9156 17.5323 29.7239 17.1181 29.1281C24.5594 27.2584 29.5543 23.4575 32.6534 16.7597ZM24.6218 16.924C25.8626 23.0055 29.729 27.3817 36.8841 29.0254C36.2015 29.6006 35.2278 30.7717 34.7325 31.4908C27.2352 29.4774 23.6225 24.7724 22.0281 17.6637L24.6218 16.924ZM19.4175 15.4242H38.4221L38.0814 17.8486H19.0768L19.4175 15.4242ZM28.0274 12.178H30.6001L29.936 16.9035H27.3633L28.0274 12.178Z",
|
|
39
|
+
fill: "#00262B"
|
|
40
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
41
|
+
opacity: "0.7",
|
|
42
|
+
d: "M-36.0829 -23.699L10.3068 -18.5847L-4.25464 85.0256L-50.6443 79.9114L-36.0829 -23.699Z",
|
|
43
|
+
fill: "url(#paint0_linear_462_27196)"
|
|
44
|
+
})]
|
|
45
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("defs", {
|
|
46
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("linearGradient", {
|
|
47
|
+
id: "paint0_linear_462_27196",
|
|
48
|
+
x1: "-26.0031",
|
|
49
|
+
y1: "29.1409",
|
|
50
|
+
x2: "3.02628",
|
|
51
|
+
y2: "33.2207",
|
|
52
|
+
gradientUnits: "userSpaceOnUse",
|
|
53
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
|
|
54
|
+
offset: "0.0257592",
|
|
55
|
+
stopColor: "white",
|
|
56
|
+
stopOpacity: "0"
|
|
57
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
|
|
58
|
+
offset: "0.471089",
|
|
59
|
+
stopColor: "white",
|
|
60
|
+
stopOpacity: "0.450872"
|
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
|
|
62
|
+
offset: "0.982847",
|
|
63
|
+
stopColor: "white",
|
|
64
|
+
stopOpacity: "0.8"
|
|
65
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("stop", {
|
|
66
|
+
offset: "1",
|
|
67
|
+
stopColor: "white",
|
|
68
|
+
stopOpacity: "0"
|
|
69
|
+
})]
|
|
70
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
|
|
71
|
+
id: "clip0_462_27196",
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
|
|
73
|
+
width: "80",
|
|
74
|
+
height: "64",
|
|
75
|
+
fill: "white",
|
|
76
|
+
transform: "translate(0.5 0.5)"
|
|
77
|
+
})
|
|
78
|
+
})]
|
|
79
|
+
})]
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
var _default = exports["default"] = SVGLoader;
|
|
83
|
+
//# sourceMappingURL=SVGLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SVGLoader.js","names":["_react","_interopRequireDefault","require","_jsxRuntime","obj","__esModule","SVGLoader","jsxs","width","height","viewBox","fill","xmlns","children","clipPath","jsx","d","stroke","strokeWidth","opacity","id","x1","y1","x2","y2","gradientUnits","offset","stopColor","stopOpacity","transform","_default","exports"],"sources":["../../../src/translation-button/translations-loader/SVGLoader.jsx"],"sourcesContent":["import React from 'react';\n\nconst SVGLoader = () => (\n <svg\n width=\"81\"\n height=\"65\"\n viewBox=\"0 0 81 65\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_462_27196)\">\n <path\n d=\"M37.311 27.7001C37.5512 25.9911 39.145 24.6056 40.8709 24.6056H74.3088C76.0347 24.6056 77.2391 25.9911 76.9989 27.7002L72.6577 58.5894C72.4175 60.2985 70.8237 61.684 69.0978 61.684H35.6599C33.934 61.684 32.7296 60.2985 32.9698 58.5894L37.311 27.7001Z\"\n fill=\"white\"\n stroke=\"#00262B\"\n strokeWidth=\"2.75\"\n />\n <path\n d=\"M14.3344 0.242266C10.8942 0.242266 7.7173 3.00392 7.23852 6.41059L2.89732 37.2999C2.41854 40.7065 4.81922 43.4682 8.25937 43.4682H24.9783H41.6973C45.1374 43.4682 48.3144 40.7065 48.7931 37.2999L53.1343 6.4106C53.6131 3.00392 51.2124 0.242266 47.7723 0.242266H14.3344Z\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth=\"3.45791\"\n />\n <path\n d=\"M10.3425 6.41059C10.5827 4.7015 12.1765 3.31601 13.9024 3.31601H47.3403C49.0662 3.31601 50.2706 4.70151 50.0304 6.4106L45.6892 37.2999C45.449 39.0089 43.8552 40.3944 42.1293 40.3944H8.69136C6.96547 40.3944 5.76107 39.0089 6.00127 37.2999L10.3425 6.41059Z\"\n fill=\"white\"\n stroke=\"#00262B\"\n strokeWidth=\"2.75\"\n />\n <path\n d=\"M48.2786 52.4212H45.342L54.7009 33.868H57.8753L62.0192 52.4212H59.0826L55.8894 37.1927H55.7431L48.2786 52.4212ZM49.829 45.1648H59.5535L59.2289 47.4749H49.5043L49.829 45.1648Z\"\n fill=\"#00262B\"\n />\n <path\n d=\"M32.6534 16.7597L35.2022 17.5199C31.5485 24.9163 26.108 29.2308 18.357 31.5319C18.1532 30.9156 17.5323 29.7239 17.1181 29.1281C24.5594 27.2584 29.5543 23.4575 32.6534 16.7597ZM24.6218 16.924C25.8626 23.0055 29.729 27.3817 36.8841 29.0254C36.2015 29.6006 35.2278 30.7717 34.7325 31.4908C27.2352 29.4774 23.6225 24.7724 22.0281 17.6637L24.6218 16.924ZM19.4175 15.4242H38.4221L38.0814 17.8486H19.0768L19.4175 15.4242ZM28.0274 12.178H30.6001L29.936 16.9035H27.3633L28.0274 12.178Z\"\n fill=\"#00262B\"\n />\n <path\n opacity=\"0.7\"\n d=\"M-36.0829 -23.699L10.3068 -18.5847L-4.25464 85.0256L-50.6443 79.9114L-36.0829 -23.699Z\"\n fill=\"url(#paint0_linear_462_27196)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_462_27196\"\n x1=\"-26.0031\"\n y1=\"29.1409\"\n x2=\"3.02628\"\n y2=\"33.2207\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0.0257592\" stopColor=\"white\" stopOpacity=\"0\" />\n <stop offset=\"0.471089\" stopColor=\"white\" stopOpacity=\"0.450872\" />\n <stop offset=\"0.982847\" stopColor=\"white\" stopOpacity=\"0.8\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n <clipPath id=\"clip0_462_27196\">\n <rect\n width=\"80\"\n height=\"64\"\n fill=\"white\"\n transform=\"translate(0.5 0.5)\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default SVGLoader;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAE1B,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAA;EAAA,oBACb,IAAAH,WAAA,CAAAI,IAAA;IACEC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC,4BAA4B;IAAAC,QAAA,gBAElC,IAAAV,WAAA,CAAAI,IAAA;MAAGO,QAAQ,EAAC,uBAAuB;MAAAD,QAAA,gBACjC,IAAAV,WAAA,CAAAY,GAAA;QACEC,CAAC,EAAC,4PAA4P;QAC9PL,IAAI,EAAC,OAAO;QACZM,MAAM,EAAC,SAAS;QAChBC,WAAW,EAAC;MAAM,CACnB,CAAC,eACF,IAAAf,WAAA,CAAAY,GAAA;QACEC,CAAC,EAAC,6QAA6Q;QAC/QL,IAAI,EAAC,OAAO;QACZM,MAAM,EAAC,OAAO;QACdC,WAAW,EAAC;MAAS,CACtB,CAAC,eACF,IAAAf,WAAA,CAAAY,GAAA;QACEC,CAAC,EAAC,gQAAgQ;QAClQL,IAAI,EAAC,OAAO;QACZM,MAAM,EAAC,SAAS;QAChBC,WAAW,EAAC;MAAM,CACnB,CAAC,eACF,IAAAf,WAAA,CAAAY,GAAA;QACEC,CAAC,EAAC,gLAAgL;QAClLL,IAAI,EAAC;MAAS,CACf,CAAC,eACF,IAAAR,WAAA,CAAAY,GAAA;QACEC,CAAC,EAAC,8dAA8d;QACheL,IAAI,EAAC;MAAS,CACf,CAAC,eACF,IAAAR,WAAA,CAAAY,GAAA;QACEI,OAAO,EAAC,KAAK;QACbH,CAAC,EAAC,wFAAwF;QAC1FL,IAAI,EAAC;MAA+B,CACrC,CAAC;IAAA,CACD,CAAC,eACJ,IAAAR,WAAA,CAAAI,IAAA;MAAAM,QAAA,gBACE,IAAAV,WAAA,CAAAI,IAAA;QACEa,EAAE,EAAC,yBAAyB;QAC5BC,EAAE,EAAC,UAAU;QACbC,EAAE,EAAC,SAAS;QACZC,EAAE,EAAC,SAAS;QACZC,EAAE,EAAC,SAAS;QACZC,aAAa,EAAC,gBAAgB;QAAAZ,QAAA,gBAE9B,IAAAV,WAAA,CAAAY,GAAA;UAAMW,MAAM,EAAC,WAAW;UAACC,SAAS,EAAC,OAAO;UAACC,WAAW,EAAC;QAAG,CAAE,CAAC,eAC7D,IAAAzB,WAAA,CAAAY,GAAA;UAAMW,MAAM,EAAC,UAAU;UAACC,SAAS,EAAC,OAAO;UAACC,WAAW,EAAC;QAAU,CAAE,CAAC,eACnE,IAAAzB,WAAA,CAAAY,GAAA;UAAMW,MAAM,EAAC,UAAU;UAACC,SAAS,EAAC,OAAO;UAACC,WAAW,EAAC;QAAK,CAAE,CAAC,eAC9D,IAAAzB,WAAA,CAAAY,GAAA;UAAMW,MAAM,EAAC,GAAG;UAACC,SAAS,EAAC,OAAO;UAACC,WAAW,EAAC;QAAG,CAAE,CAAC;MAAA,CACvC,CAAC,eACjB,IAAAzB,WAAA,CAAAY,GAAA;QAAUK,EAAE,EAAC,iBAAiB;QAAAP,QAAA,eAC5B,IAAAV,WAAA,CAAAY,GAAA;UACEP,KAAK,EAAC,IAAI;UACVC,MAAM,EAAC,IAAI;UACXE,IAAI,EAAC,OAAO;UACZkB,SAAS,EAAC;QAAoB,CAC/B;MAAC,CACM,CAAC;IAAA,CACP,CAAC;EAAA,CACJ,CAAC;AAAA,CACP;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEazB,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stateKeys = exports.selectedLanguageKey = exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _reactUnitTestUtils = require("@edx/react-unit-test-utils");
|
|
10
|
+
var _modelStore = require("@src/generic/model-store");
|
|
11
|
+
var _i18n = require("@edx/frontend-platform/i18n");
|
|
12
|
+
var _localStorage = require("@src/data/localStorage");
|
|
13
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
14
|
+
var _SVGLoader = _interopRequireDefault(require("./SVGLoader"));
|
|
15
|
+
require("./index.scss");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
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."); }
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
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; } }
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
|
+
var selectedLanguageKey = exports.selectedLanguageKey = 'selectedLanguages';
|
|
25
|
+
var stateKeys = exports.stateKeys = (0, _reactUnitTestUtils.StrictDict)({
|
|
26
|
+
selectedLanguage: 'selectedLanguage'
|
|
27
|
+
});
|
|
28
|
+
var TranslationsLoader = function TranslationsLoader(_ref) {
|
|
29
|
+
var courseId = _ref.courseId,
|
|
30
|
+
defaultLoaderComponent = _ref.defaultLoaderComponent;
|
|
31
|
+
var _useIntl = (0, _i18n.useIntl)(),
|
|
32
|
+
formatMessage = _useIntl.formatMessage;
|
|
33
|
+
var _useModel = (0, _modelStore.useModel)('coursewareMeta', courseId),
|
|
34
|
+
language = _useModel.language;
|
|
35
|
+
var courseLanguage = language || 'en';
|
|
36
|
+
var selectedLanguageItem = (0, _localStorage.getLocalStorage)(selectedLanguageKey) || {};
|
|
37
|
+
var _useKeyedState = (0, _reactUnitTestUtils.useKeyedState)(stateKeys.selectedLanguage, selectedLanguageItem[courseId] || courseLanguage),
|
|
38
|
+
_useKeyedState2 = _slicedToArray(_useKeyedState, 1),
|
|
39
|
+
selectedLanguage = _useKeyedState2[0];
|
|
40
|
+
return courseLanguage !== selectedLanguage ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
41
|
+
className: "d-flex justify-content-center align-items-center flex-column",
|
|
42
|
+
id: "translating-loader-container",
|
|
43
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SVGLoader["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
|
|
44
|
+
className: "mt-2",
|
|
45
|
+
children: [formatMessage(_messages["default"].translatingLoaderText), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
46
|
+
className: "ellipsis-container",
|
|
47
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
48
|
+
children: "."
|
|
49
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
50
|
+
children: "."
|
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
52
|
+
children: "."
|
|
53
|
+
})]
|
|
54
|
+
})]
|
|
55
|
+
})]
|
|
56
|
+
}) : defaultLoaderComponent;
|
|
57
|
+
};
|
|
58
|
+
TranslationsLoader.propTypes = {
|
|
59
|
+
courseId: _propTypes["default"].string.isRequired,
|
|
60
|
+
defaultLoaderComponent: _propTypes["default"].node.isRequired
|
|
61
|
+
};
|
|
62
|
+
var _default = exports["default"] = TranslationsLoader;
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactUnitTestUtils","_modelStore","_i18n","_localStorage","_messages","_SVGLoader","_jsxRuntime","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","selectedLanguageKey","exports","stateKeys","StrictDict","selectedLanguage","TranslationsLoader","_ref","courseId","defaultLoaderComponent","_useIntl","useIntl","formatMessage","_useModel","useModel","language","courseLanguage","selectedLanguageItem","getLocalStorage","_useKeyedState","useKeyedState","_useKeyedState2","jsxs","className","id","children","jsx","messages","translatingLoaderText","propTypes","PropTypes","string","isRequired","node","_default"],"sources":["../../../src/translation-button/translations-loader/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { useModel } from '@src/generic/model-store';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getLocalStorage } from '@src/data/localStorage';\n\nimport messages from './messages';\nimport SVGLoader from './SVGLoader';\nimport './index.scss';\n\nexport const selectedLanguageKey = 'selectedLanguages';\nexport const stateKeys = StrictDict({\n selectedLanguage: 'selectedLanguage',\n});\n\nconst TranslationsLoader = ({ courseId, defaultLoaderComponent }) => {\n const { formatMessage } = useIntl();\n const { language } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const selectedLanguageItem = getLocalStorage(selectedLanguageKey) || {};\n const [selectedLanguage] = useKeyedState(\n stateKeys.selectedLanguage,\n selectedLanguageItem[courseId] || courseLanguage,\n );\n\n return courseLanguage !== selectedLanguage ? (\n <div\n className=\"d-flex justify-content-center align-items-center flex-column\"\n id=\"translating-loader-container\"\n >\n <SVGLoader />\n <p className=\"mt-2\">\n {formatMessage(messages.translatingLoaderText)}\n <span className=\"ellipsis-container\">\n <span>.</span>\n <span>.</span>\n <span>.</span>\n </span>\n </p>\n </div>\n ) : (\n defaultLoaderComponent\n );\n};\n\nTranslationsLoader.propTypes = {\n courseId: PropTypes.string.isRequired,\n defaultLoaderComponent: PropTypes.node.isRequired,\n};\n\nexport default TranslationsLoader;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#translating-loader-container {
|
|
2
|
+
height: 50vh;
|
|
3
|
+
width: 100%;
|
|
4
|
+
|
|
5
|
+
p {
|
|
6
|
+
font-weight: 400;
|
|
7
|
+
font-size: 1.125rem;
|
|
8
|
+
line-height: 1.75rem;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.ellipsis-container span {
|
|
13
|
+
opacity: 0;
|
|
14
|
+
-webkit-animation: ellipsis-dot 1.2s infinite;
|
|
15
|
+
animation: ellipsis-dot 1.2s infinite;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ellipsis-container span:nth-child(1) {
|
|
19
|
+
-webkit-animation-delay: 0.1s;
|
|
20
|
+
animation-delay: 0.1s;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ellipsis-container span:nth-child(2) {
|
|
24
|
+
-webkit-animation-delay: 0.2s;
|
|
25
|
+
animation-delay: 0.2s;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.ellipsis-container span:nth-child(3) {
|
|
29
|
+
-webkit-animation-delay: 0.3s;
|
|
30
|
+
animation-delay: 0.3s;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@-webkit-keyframes ellipsis-dot {
|
|
34
|
+
0% { opacity: 0; }
|
|
35
|
+
50% { opacity: 1; }
|
|
36
|
+
100% { opacity: 0; }
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes ellipsis-dot {
|
|
40
|
+
0% { opacity: 0; }
|
|
41
|
+
50% { opacity: 1; }
|
|
42
|
+
100% { opacity: 0; }
|
|
43
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
translatingLoaderText: {
|
|
10
|
+
id: 'unit-translation-selector-plugin.translationsLoader.loaderText',
|
|
11
|
+
defaultMessage: 'Translating',
|
|
12
|
+
description: 'Translating text shown when translating to a language'
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var _default = exports["default"] = messages;
|
|
16
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","translatingLoaderText","id","defaultMessage","description","_default","exports"],"sources":["../../../src/translation-button/translations-loader/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n translatingLoaderText: {\n id: 'unit-translation-selector-plugin.translationsLoader.loaderText',\n defaultMessage: 'Translating',\n description: 'Translating text shown when translating to a language',\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,gEAAgE;IACpEC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEYP,QAAQ","ignoreList":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@edx/unit-title-plugin",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Unit title plugin in frontend-app-learning",
|
|
5
|
+
"main": "dist",
|
|
6
|
+
"author": "edX",
|
|
7
|
+
"license": "AGPL-3.0",
|
|
8
|
+
"homepage": "https://github.com/edx/frontend-plugins#readme",
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/edx/frontend-plugins/issues"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/edx/frontend-plugins.git"
|
|
15
|
+
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"dev": "make dev",
|
|
24
|
+
"clean": "make clean",
|
|
25
|
+
"build": "make build",
|
|
26
|
+
"i18n_compile": "formatjs compile-folder --format transifex ./src/i18n/messages ./src/i18n/messages",
|
|
27
|
+
"i18n_extract": "formatjs extract 'src/**/*.{jsx,js,tsx,ts}' --out-file ./src/i18n/transifex_input.json --ignore='**/*.d.ts' --format transifex",
|
|
28
|
+
"pull_translations": "make pull_translations",
|
|
29
|
+
"lint": "fedx-scripts eslint --ext .js --ext .jsx .",
|
|
30
|
+
"lint:fix": "fedx-scripts eslint --fix --ext .js --ext .jsx .",
|
|
31
|
+
"snapshot": "fedx-scripts jest --updateSnapshot",
|
|
32
|
+
"test": "fedx-scripts jest --coverage --passWithNoTests",
|
|
33
|
+
"test:watch": "npm run test -- --watch",
|
|
34
|
+
"prepublish": "npm run build"
|
|
35
|
+
},
|
|
36
|
+
"sideEffects": false,
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"@edx/frontend-platform": "*",
|
|
39
|
+
"@edx/react-unit-test-utils": "*",
|
|
40
|
+
"@openedx/frontend-plugin-framework": "^1.0.0",
|
|
41
|
+
"@openedx/paragon": "*",
|
|
42
|
+
"jest-transform-stub": "*",
|
|
43
|
+
"prop-types": "*",
|
|
44
|
+
"query-string": "*",
|
|
45
|
+
"react": "*"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"rosie": "^2.1.1"
|
|
49
|
+
},
|
|
50
|
+
"gitHead": "5c5e45e6915fcb82a0c497ceca499a9bc90326b5"
|
|
51
|
+
}
|