@coorpacademy/components 11.9.2 → 11.9.3-alpha.23
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/es/atom/review-presentation/index.d.ts.map +1 -1
- package/es/atom/review-presentation/index.js +12 -62
- package/es/atom/review-presentation/index.js.map +1 -1
- package/es/atom/review-presentation/style.css +7 -67
- package/es/atom/tooltip/index.d.ts +22 -0
- package/es/atom/tooltip/index.d.ts.map +1 -0
- package/es/atom/tooltip/index.js +117 -0
- package/es/atom/tooltip/index.js.map +1 -0
- package/es/atom/tooltip/style.css +96 -0
- package/es/molecule/answer/index.d.ts.map +1 -1
- package/es/molecule/answer/index.js +6 -3
- package/es/molecule/answer/index.js.map +1 -1
- package/es/template/activity/engine-stars.css +16 -33
- package/es/template/activity/engine-stars.d.ts +15 -17
- package/es/template/activity/engine-stars.d.ts.map +1 -1
- package/es/template/activity/engine-stars.js +128 -115
- package/es/template/activity/engine-stars.js.map +1 -1
- package/es/template/activity/index.d.ts +1 -0
- package/es/template/activity/index.d.ts.map +1 -1
- package/es/template/activity/index.js +18 -9
- package/es/template/activity/index.js.map +1 -1
- package/es/template/activity/progression-item.js +1 -1
- package/es/template/activity/progression-item.js.map +1 -1
- package/es/template/activity/stars-summary.d.ts +1 -0
- package/es/template/activity/stars-summary.d.ts.map +1 -1
- package/es/template/activity/stars-summary.js +10 -5
- package/es/template/activity/stars-summary.js.map +1 -1
- package/lib/atom/review-presentation/index.d.ts.map +1 -1
- package/lib/atom/review-presentation/index.js +13 -66
- package/lib/atom/review-presentation/index.js.map +1 -1
- package/lib/atom/review-presentation/style.css +7 -67
- package/lib/atom/tooltip/index.d.ts +22 -0
- package/lib/atom/tooltip/index.d.ts.map +1 -0
- package/lib/atom/tooltip/index.js +137 -0
- package/lib/atom/tooltip/index.js.map +1 -0
- package/lib/atom/tooltip/style.css +96 -0
- package/lib/molecule/answer/index.d.ts.map +1 -1
- package/lib/molecule/answer/index.js +6 -3
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/template/activity/engine-stars.css +16 -33
- package/lib/template/activity/engine-stars.d.ts +15 -17
- package/lib/template/activity/engine-stars.d.ts.map +1 -1
- package/lib/template/activity/engine-stars.js +135 -116
- package/lib/template/activity/engine-stars.js.map +1 -1
- package/lib/template/activity/index.d.ts +1 -0
- package/lib/template/activity/index.d.ts.map +1 -1
- package/lib/template/activity/index.js +21 -9
- package/lib/template/activity/index.js.map +1 -1
- package/lib/template/activity/progression-item.js +1 -1
- package/lib/template/activity/progression-item.js.map +1 -1
- package/lib/template/activity/stars-summary.d.ts +1 -0
- package/lib/template/activity/stars-summary.d.ts.map +1 -1
- package/lib/template/activity/stars-summary.js +10 -5
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/locales/cs/global.json +1 -0
- package/locales/de/global.json +1 -0
- package/locales/en/global.json +1 -0
- package/locales/es/global.json +1 -0
- package/locales/et/global.json +1 -0
- package/locales/fr/global.json +1 -0
- package/locales/hr/global.json +1 -0
- package/locales/hu/global.json +1 -0
- package/locales/it/global.json +1 -0
- package/locales/ja/global.json +1 -0
- package/locales/ko/global.json +1 -0
- package/locales/nl/global.json +1 -0
- package/locales/pl/global.json +1 -0
- package/locales/pt/global.json +1 -0
- package/locales/ro/global.json +1 -0
- package/locales/ru/global.json +1 -0
- package/locales/sk/global.json +1 -0
- package/locales/th/global.json +90 -0
- package/locales/tl/global.json +1 -0
- package/locales/zh/global.json +1 -0
- package/locales/zh_TW/global.json +1 -0
- package/package.json +4 -3
|
@@ -25,7 +25,7 @@ var _template = _interopRequireDefault(require("../questions/template"));
|
|
|
25
25
|
|
|
26
26
|
var _audio = _interopRequireDefault(require("../audio"));
|
|
27
27
|
|
|
28
|
-
var _provider = require("../../atom/provider");
|
|
28
|
+
var _provider = _interopRequireWildcard(require("../../atom/provider"));
|
|
29
29
|
|
|
30
30
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
31
31
|
|
|
@@ -88,11 +88,11 @@ MediaView.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.MediaVi
|
|
|
88
88
|
const Switch = ({
|
|
89
89
|
model,
|
|
90
90
|
help
|
|
91
|
-
}) => {
|
|
91
|
+
}, legacyContext) => {
|
|
92
92
|
const {
|
|
93
93
|
type
|
|
94
94
|
} = model;
|
|
95
|
-
const translate = (0, _provider.GetTranslateFromContext)();
|
|
95
|
+
const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
|
|
96
96
|
|
|
97
97
|
switch (type) {
|
|
98
98
|
case 'qcmDrag':
|
|
@@ -135,6 +135,9 @@ Switch.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
135
135
|
model: _propTypes.default.model,
|
|
136
136
|
help: _propTypes.default.help
|
|
137
137
|
} : {};
|
|
138
|
+
Switch.contextTypes = {
|
|
139
|
+
translate: _provider.default.childContextTypes.translate
|
|
140
|
+
};
|
|
138
141
|
|
|
139
142
|
const Answer = props => {
|
|
140
143
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","translate","GetTranslateFromContext","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}) => {\n const {type} = model;\n const translate = GetTranslateFromContext();\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,SAAS,GAAG,CAAC;EAACC;AAAD,CAAD,KAAa;EAC7B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAiCF,KAAvC;EAAA,MAAyBG,UAAzB,iCAAuCH,KAAvC;;EACA,QAAQE,IAAR;IACE,KAAKE,qBAAL;MACE,oBACE;QACE,SAAS,EAAEC,cAAA,CAAML,KADnB;QAEE,KAAK,EAAE;UACLM,eAAe,EAAG,OAAMN,KAAK,CAACO,GAAI;QAD7B;MAFT,EADF;;IAQF,KAAKC,qBAAL;MACE,oBACE;QAAK,SAAS,EAAEH,cAAA,CAAMI;MAAtB,gBACE,6BAAC,oBAAD,eAAiB,oBAAK,IAAL,EAAWN,UAAX,CAAjB;QAAyC,EAAE,EAAEF,OAA7C;QAAsD,MAAM,EAAC,MAA7D;QAAoE,KAAK,EAAC;MAA1E,GADF,CADF;;IAKF,KAAKS,qBAAL;MACE,oBACE;QAAK,SAAS,EAAEL,cAAA,CAAMM;MAAtB,gBACE,6BAAC,cAAD,eAAW,oBAAK,IAAL,EAAWR,UAAX,CAAX;QAAmC,MAAM,EAAC,MAA1C;QAAiD,KAAK,EAAC;MAAvD,GADF,CADF;;IAKF;MACE,OAAO,IAAP;EAvBJ;AAyBD,CA3BD;;AA6BAJ,SAAS,CAACa,SAAV,2CAAsBC,6BAAtB;;AAEA,MAAMC,MAAM,GAAG,CAAC;EAACC,KAAD;EAAQC;AAAR,CAAD,
|
|
1
|
+
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","legacyContext","translate","GetTranslateFromContext","contextTypes","Provider","childContextTypes","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}, legacyContext) => {\n const {type} = model;\n const translate = GetTranslateFromContext(legacyContext);\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nSwitch.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
|
|
22
22
|
user-select: none;
|
|
23
23
|
position: relative;
|
|
24
|
+
border-bottom: none;
|
|
25
|
+
border-right: 0px;
|
|
26
|
+
border-width: 1px 0 0 1px;
|
|
27
|
+
background: inherit;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
.engineIcon {
|
|
@@ -156,28 +160,22 @@
|
|
|
156
160
|
opacity: 0.4;
|
|
157
161
|
}
|
|
158
162
|
|
|
159
|
-
.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
background-color: transparent !important;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.toolTip::after {
|
|
167
|
-
border-left-color: transparent !important;
|
|
163
|
+
.textBase {
|
|
164
|
+
font-family: "Gilroy";
|
|
165
|
+
font-style: normal;
|
|
166
|
+
color: white;
|
|
168
167
|
}
|
|
169
168
|
|
|
170
169
|
.toolTipContent {
|
|
171
|
-
|
|
172
|
-
margin: 0;
|
|
173
|
-
border-radius: 3px;
|
|
174
|
-
font-family: 'Gilroy';
|
|
175
|
-
font-size: 12px;
|
|
170
|
+
composes: textBase;
|
|
176
171
|
width: 270px;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
172
|
+
font-weight: 500;
|
|
173
|
+
font-size: 14px;
|
|
174
|
+
display: inline-block;
|
|
175
|
+
border-radius: 3px;
|
|
176
|
+
word-wrap: break-word;
|
|
177
|
+
padding: 8px 14px;
|
|
178
|
+
text-align: center;
|
|
181
179
|
}
|
|
182
180
|
|
|
183
181
|
.toolTipContent > a {
|
|
@@ -191,21 +189,6 @@
|
|
|
191
189
|
text-decoration: underline;
|
|
192
190
|
}
|
|
193
191
|
|
|
194
|
-
.toolTipContent::after {
|
|
195
|
-
content: '';
|
|
196
|
-
width: 0;
|
|
197
|
-
height: 0;
|
|
198
|
-
position: absolute;
|
|
199
|
-
border-left-color: inherit;
|
|
200
|
-
border-left-style: solid;
|
|
201
|
-
border-left-width: 6px;
|
|
202
|
-
border-top: 5px solid transparent;
|
|
203
|
-
border-bottom: 5px solid transparent;
|
|
204
|
-
right: -6px;
|
|
205
|
-
top: 50%;
|
|
206
|
-
margin-top: -4px;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
192
|
/* ------------------------------------------------------ */
|
|
210
193
|
|
|
211
194
|
@media tablet, mobile {
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
export default EngineStars;
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
declare function EngineStars(props: any, legacyContext: any): JSX.Element;
|
|
3
|
+
declare namespace EngineStars {
|
|
4
|
+
namespace propTypes {
|
|
5
|
+
const type: PropTypes.Validator<string>;
|
|
6
|
+
const stars: PropTypes.Validator<number>;
|
|
7
|
+
const title: PropTypes.Validator<string>;
|
|
8
|
+
const active: PropTypes.Requireable<boolean>;
|
|
9
|
+
const disabled: PropTypes.Requireable<boolean>;
|
|
10
|
+
const onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
const className: PropTypes.Requireable<string>;
|
|
12
|
+
const toolTip: PropTypes.Requireable<PropTypes.InferProps<{
|
|
11
13
|
preMessage: PropTypes.Requireable<string>;
|
|
12
14
|
linkMessage: PropTypes.Requireable<string>;
|
|
13
15
|
endMessage: PropTypes.Requireable<string>;
|
|
14
16
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
15
17
|
}>>;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
18
|
+
}
|
|
19
|
+
namespace contextTypes {
|
|
20
|
+
const skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
19
21
|
common: PropTypes.Requireable<{
|
|
20
22
|
[x: string]: any;
|
|
21
23
|
}>;
|
|
@@ -36,11 +38,7 @@ declare class EngineStars extends React.Component<any, any, any> {
|
|
|
36
38
|
[x: string]: any;
|
|
37
39
|
}>;
|
|
38
40
|
}>>;
|
|
39
|
-
}
|
|
40
|
-
constructor(props: any, context: any);
|
|
41
|
-
handleClick: (e: any) => void;
|
|
42
|
-
render(): JSX.Element;
|
|
41
|
+
}
|
|
43
42
|
}
|
|
44
|
-
import React from "react";
|
|
45
43
|
import PropTypes from "prop-types";
|
|
46
44
|
//# sourceMappingURL=engine-stars.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-stars.d.ts","sourceRoot":"","sources":["../../../src/template/activity/engine-stars.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"engine-stars.d.ts","sourceRoot":"","sources":["../../../src/template/activity/engine-stars.js"],"names":[],"mappings":";AAuEA,0EAwIC"}
|
|
@@ -9,22 +9,30 @@ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
|
9
9
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
|
|
12
|
-
var _react =
|
|
13
|
-
|
|
14
|
-
var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
13
|
|
|
16
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
15
|
|
|
16
|
+
var _uuid = require("uuid");
|
|
17
|
+
|
|
18
18
|
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
19
19
|
|
|
20
|
-
var _provider =
|
|
20
|
+
var _provider = _interopRequireWildcard(require("../../atom/provider"));
|
|
21
|
+
|
|
22
|
+
var _tooltip = _interopRequireWildcard(require("../../atom/tooltip"));
|
|
21
23
|
|
|
22
24
|
var _link = _interopRequireDefault(require("../../atom/link"));
|
|
23
25
|
|
|
24
26
|
var _engineStars = _interopRequireDefault(require("./engine-stars.css"));
|
|
25
27
|
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
26
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
33
|
|
|
34
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
35
|
+
|
|
28
36
|
const ICONS = {
|
|
29
37
|
microlearning: _novaIcons.NovaCompositionCoorpacademyTimer,
|
|
30
38
|
learner: _novaIcons.NovaSolidContentContentBook1,
|
|
@@ -38,125 +46,132 @@ const ICONS = {
|
|
|
38
46
|
review: _novaIcons.NovaCompositionCoorpacademyRevision
|
|
39
47
|
};
|
|
40
48
|
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
const ToolTipContent = ({
|
|
50
|
+
preMessage,
|
|
51
|
+
linkMessage,
|
|
52
|
+
endMessage,
|
|
53
|
+
onClick,
|
|
54
|
+
color,
|
|
55
|
+
handleContentMouseOver
|
|
56
|
+
}) => /*#__PURE__*/_react.default.createElement("p", {
|
|
57
|
+
className: _engineStars.default.toolTipContent,
|
|
58
|
+
onMouseOver: handleContentMouseOver,
|
|
59
|
+
"data-testid": "react-tooltip-content"
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, preMessage), /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
61
|
+
onClick: onClick,
|
|
62
|
+
style: {
|
|
63
|
+
color
|
|
47
64
|
}
|
|
65
|
+
}, linkMessage), /*#__PURE__*/_react.default.createElement("span", null, endMessage));
|
|
48
66
|
|
|
67
|
+
ToolTipContent.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
68
|
+
preMessage: _propTypes.default.string,
|
|
69
|
+
linkMessage: _propTypes.default.string,
|
|
70
|
+
endMessage: _propTypes.default.string,
|
|
71
|
+
color: _propTypes.default.string,
|
|
72
|
+
onClick: _propTypes.default.func,
|
|
73
|
+
handleContentMouseOver: _propTypes.default.func
|
|
74
|
+
} : {};
|
|
75
|
+
|
|
76
|
+
const EngineStars = (props, legacyContext) => {
|
|
77
|
+
const skin = (0, _provider.GetSkinFromContext)(legacyContext);
|
|
78
|
+
const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
|
|
49
79
|
const {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
onClick
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
80
|
+
toolTip = null,
|
|
81
|
+
disabled,
|
|
82
|
+
type,
|
|
83
|
+
stars,
|
|
84
|
+
title,
|
|
85
|
+
active = false,
|
|
86
|
+
onClick = _noop2.default,
|
|
87
|
+
className
|
|
88
|
+
} = props;
|
|
89
|
+
|
|
90
|
+
const handleClick = e => {
|
|
91
|
+
e.stopPropagation();
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
onClick(e);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const dark = (0, _get2.default)('common.dark', skin);
|
|
97
|
+
const light = (0, _get2.default)('common.light', skin);
|
|
98
|
+
const IconType = ICONS[type];
|
|
99
|
+
const primary = (0, _get2.default)('common.primary', skin); // to replace by useId when React17 is bumped to React18
|
|
100
|
+
|
|
101
|
+
const [engineStarsContentId] = (0, _react.useState)(disabled ? (0, _uuid.v5)('engine-stars', _uuid.v5.URL) : undefined);
|
|
102
|
+
const [toolTipIsVisible, setToolTipIsVisible] = (0, _react.useState)(false);
|
|
103
|
+
const [mouseLeaveTimer, setMouseLeaveTimer] = (0, _react.useState)(undefined);
|
|
104
|
+
const buttonRef = (0, _react.useRef)(null);
|
|
105
|
+
const handleKeyPress = (0, _react.useCallback)(event => {
|
|
106
|
+
(0, _tooltip.toggleStateOnKeyPress)(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);
|
|
107
|
+
}, [toolTipIsVisible]);
|
|
108
|
+
const handleMouseOver = (0, _react.useCallback)(() => {
|
|
109
|
+
mouseLeaveTimer && clearTimeout(mouseLeaveTimer);
|
|
110
|
+
setToolTipIsVisible(true);
|
|
111
|
+
}, [mouseLeaveTimer]);
|
|
112
|
+
const handleContentMouseOver = (0, _react.useCallback)(() => {
|
|
113
|
+
mouseLeaveTimer &&
|
|
114
|
+
/* istanbul ignore next */
|
|
115
|
+
clearTimeout(mouseLeaveTimer);
|
|
116
|
+
}, [mouseLeaveTimer]);
|
|
117
|
+
const handleMouseLeave = (0, _react.useCallback)(() => {
|
|
118
|
+
setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), 500));
|
|
119
|
+
}, []);
|
|
120
|
+
const toolTipContentProps = (0, _react.useMemo)(() => toolTip ? {
|
|
121
|
+
preMessage: toolTip.preMessage,
|
|
122
|
+
linkMessage: toolTip.linkMessage,
|
|
123
|
+
endMessage: toolTip.endMessage,
|
|
124
|
+
color: primary,
|
|
125
|
+
onClick: toolTip.onClick
|
|
126
|
+
} : null, [primary, toolTip]);
|
|
127
|
+
const toolTipProps = {
|
|
128
|
+
closeToolTipInformationTextAriaLabel: translate('Press the escape key to close the information text')
|
|
129
|
+
};
|
|
130
|
+
const TooltipContent = (0, _react.useCallback)(_props => /*#__PURE__*/_react.default.createElement(ToolTipContent, _extends({}, _extends({}, toolTipContentProps, _props), {
|
|
131
|
+
handleContentMouseOver: handleContentMouseOver
|
|
132
|
+
})), [handleContentMouseOver, toolTipContentProps]);
|
|
133
|
+
return /*#__PURE__*/_react.default.createElement("button", {
|
|
134
|
+
ref: buttonRef,
|
|
135
|
+
"data-tip": disabled,
|
|
136
|
+
"data-engine": type,
|
|
137
|
+
"data-testid": `engine-stars-${type}` // eslint-disable-next-line no-nested-ternary
|
|
138
|
+
,
|
|
139
|
+
onClick: disabled ? handleKeyPress : active ? _noop2.default : handleClick,
|
|
140
|
+
"data-for": engineStarsContentId,
|
|
141
|
+
className: (0, _classnames.default)([_engineStars.default.engineStars, disabled ? _engineStars.default.disabled : '', active ? _engineStars.default.active : '', onClick !== _noop2.default ? _engineStars.default.clickable : null, className]),
|
|
142
|
+
type: "button",
|
|
143
|
+
"data-tooltip-place": "left",
|
|
144
|
+
onKeyDown: handleKeyPress,
|
|
145
|
+
onMouseLeave: handleMouseLeave,
|
|
146
|
+
onMouseOver: handleMouseOver
|
|
147
|
+
}, disabled ? /*#__PURE__*/_react.default.createElement(_tooltip.default, _extends({}, toolTipProps, {
|
|
148
|
+
anchorId: engineStarsContentId,
|
|
149
|
+
toolTipIsVisible: toolTipIsVisible,
|
|
150
|
+
TooltipContent: TooltipContent,
|
|
151
|
+
mouseLeaveTimer: mouseLeaveTimer
|
|
152
|
+
})) : null, /*#__PURE__*/_react.default.createElement("span", {
|
|
153
|
+
className: _engineStars.default.engineIcon,
|
|
71
154
|
style: {
|
|
72
|
-
|
|
155
|
+
backgroundColor: onClick === _noop2.default ? light : primary
|
|
73
156
|
}
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
81
|
-
toolTip: _propTypes.default.shape({
|
|
82
|
-
preMessage: _propTypes.default.string,
|
|
83
|
-
linkMessage: _propTypes.default.string,
|
|
84
|
-
endMessage: _propTypes.default.string,
|
|
85
|
-
onClick: _propTypes.default.func
|
|
86
|
-
}),
|
|
87
|
-
id: _propTypes.default.string.isRequired
|
|
88
|
-
} : {};
|
|
89
|
-
|
|
90
|
-
class EngineStars extends _react.default.Component {
|
|
91
|
-
constructor(props, context) {
|
|
92
|
-
super(props, context);
|
|
93
|
-
|
|
94
|
-
this.handleClick = e => {
|
|
95
|
-
e.stopPropagation();
|
|
96
|
-
e.preventDefault();
|
|
97
|
-
const {
|
|
98
|
-
onClick
|
|
99
|
-
} = this.props;
|
|
100
|
-
onClick && onClick(e);
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
this.handleClick = this.handleClick.bind(this);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
render() {
|
|
107
|
-
const {
|
|
108
|
-
skin
|
|
109
|
-
} = this.context;
|
|
110
|
-
const {
|
|
111
|
-
disabled,
|
|
112
|
-
type,
|
|
113
|
-
stars,
|
|
114
|
-
title,
|
|
115
|
-
active = false,
|
|
116
|
-
onClick = _noop2.default,
|
|
117
|
-
toolTip = null
|
|
118
|
-
} = this.props;
|
|
119
|
-
const dark = (0, _get2.default)('common.dark', skin);
|
|
120
|
-
const light = (0, _get2.default)('common.light', skin);
|
|
121
|
-
const primary = (0, _get2.default)('common.primary', skin);
|
|
122
|
-
const IconType = ICONS[type];
|
|
123
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
-
"data-tip": disabled,
|
|
125
|
-
"data-engine": type,
|
|
126
|
-
onClick: disabled || active ? _noop2.default : this.handleClick,
|
|
127
|
-
"data-for": disabled && type,
|
|
128
|
-
className: (0, _classnames.default)([_engineStars.default.engineStars, disabled ? _engineStars.default.disabled : '', active ? _engineStars.default.active : '', onClick !== _noop2.default ? _engineStars.default.clickable : null])
|
|
129
|
-
}, /*#__PURE__*/_react.default.createElement(ToolTip, {
|
|
130
|
-
toolTip: toolTip,
|
|
131
|
-
id: type
|
|
132
|
-
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
133
|
-
className: _engineStars.default.engineIcon,
|
|
134
|
-
style: {
|
|
135
|
-
backgroundColor: onClick === _noop2.default ? light : primary
|
|
136
|
-
}
|
|
137
|
-
}, /*#__PURE__*/_react.default.createElement(IconType, {
|
|
138
|
-
className: _engineStars.default.iconHeader,
|
|
139
|
-
width: "30"
|
|
140
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
141
|
-
className: _engineStars.default.score,
|
|
142
|
-
style: {
|
|
143
|
-
color: active ? primary : dark
|
|
144
|
-
}
|
|
145
|
-
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
146
|
-
"data-name": "star-counter"
|
|
147
|
-
}, stars), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
|
|
148
|
-
className: _engineStars.default.iconStar,
|
|
157
|
+
}, /*#__PURE__*/_react.default.createElement(IconType, {
|
|
158
|
+
className: _engineStars.default.iconHeader,
|
|
159
|
+
width: "30"
|
|
160
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
+
className: _engineStars.default.score,
|
|
162
|
+
style: {
|
|
149
163
|
color: active ? primary : dark
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
164
|
+
}
|
|
165
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
166
|
+
"data-name": "star-counter"
|
|
167
|
+
}, stars), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
|
|
168
|
+
className: _engineStars.default.iconStar,
|
|
169
|
+
color: active ? primary : dark
|
|
170
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
171
|
+
className: _engineStars.default.scoreTitle
|
|
172
|
+
}, title));
|
|
159
173
|
};
|
|
174
|
+
|
|
160
175
|
EngineStars.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
161
176
|
type: _propTypes.default.string.isRequired,
|
|
162
177
|
stars: _propTypes.default.number.isRequired,
|
|
@@ -164,6 +179,7 @@ EngineStars.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
164
179
|
active: _propTypes.default.bool,
|
|
165
180
|
disabled: _propTypes.default.bool,
|
|
166
181
|
onClick: _propTypes.default.func,
|
|
182
|
+
className: _propTypes.default.string,
|
|
167
183
|
toolTip: _propTypes.default.shape({
|
|
168
184
|
preMessage: _propTypes.default.string,
|
|
169
185
|
linkMessage: _propTypes.default.string,
|
|
@@ -171,6 +187,9 @@ EngineStars.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
171
187
|
onClick: _propTypes.default.func
|
|
172
188
|
})
|
|
173
189
|
} : {};
|
|
190
|
+
EngineStars.contextTypes = {
|
|
191
|
+
skin: _provider.default.childContextTypes.skin
|
|
192
|
+
};
|
|
174
193
|
var _default = EngineStars;
|
|
175
194
|
exports.default = _default;
|
|
176
195
|
//# sourceMappingURL=engine-stars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-stars.js","names":["ICONS","microlearning","TimerIcon","learner","LearnerIcon","battle","BoltIcon","certifications","CertificationIcon","bonus","BonusIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ToolTip","toolTip","id","context","skin","preMessage","endMessage","linkMessage","onClick","primary","handleClick","style","toolTipContent","color","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","string","func","isRequired","EngineStars","React","Component","constructor","props","e","stopPropagation","preventDefault","bind","render","disabled","type","stars","title","active","dark","light","IconType","classnames","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","number","bool"],"sources":["../../../src/template/activity/engine-stars.js"],"sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\nimport ReactTooltip from 'react-tooltip';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaSolidVoteRewardsRewardsBadge1 as BonusIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Link from '../../atom/link';\nimport style from './engine-stars.css';\n\nconst ICONS = {\n microlearning: TimerIcon,\n learner: LearnerIcon,\n battle: BoltIcon,\n certifications: CertificationIcon,\n bonus: BonusIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ToolTip = ({toolTip, id}, context) => {\n if (!toolTip) {\n return null;\n }\n\n const {skin} = context;\n const {preMessage, endMessage, linkMessage, onClick} = toolTip;\n const primary = get('common.primary', skin);\n\n const handleClick = onClick;\n\n return (\n <ReactTooltip\n id={id}\n className={style.toolTip}\n data-event-off=\"click\"\n place=\"left\"\n effect=\"solid\"\n delayHide={500}\n >\n <p className={style.toolTipContent}>\n <span>{`${preMessage}`}</span>\n <Link\n onClick={handleClick}\n style={{\n color: primary\n }}\n >\n {`${linkMessage}`}\n </Link>\n <span>{`${endMessage}`}</span>\n </p>\n </ReactTooltip>\n );\n};\n\nToolTip.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nToolTip.propTypes = {\n toolTip: PropTypes.shape({\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n onClick: PropTypes.func\n }),\n id: PropTypes.string.isRequired\n};\n\nclass EngineStars extends React.Component {\n static propTypes = {\n type: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n toolTip: PropTypes.shape({\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n onClick: PropTypes.func\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick = e => {\n e.stopPropagation();\n e.preventDefault();\n const {onClick} = this.props;\n onClick && onClick(e);\n };\n\n render() {\n const {skin} = this.context;\n const {\n disabled,\n type,\n stars,\n title,\n active = false,\n onClick = noop,\n toolTip = null\n } = this.props;\n const dark = get('common.dark', skin);\n const light = get('common.light', skin);\n const primary = get('common.primary', skin);\n const IconType = ICONS[type];\n\n return (\n <div\n data-tip={disabled}\n data-engine={type}\n onClick={disabled || active ? noop : this.handleClick}\n data-for={disabled && type}\n className={classnames([\n style.engineStars,\n disabled ? style.disabled : '',\n active ? style.active : '',\n onClick !== noop ? style.clickable : null\n ])}\n >\n <ToolTip toolTip={toolTip} id={type} />\n\n <span\n className={style.engineIcon}\n style={{\n backgroundColor: onClick === noop ? light : primary\n }}\n >\n <IconType className={style.iconHeader} width=\"30\" />\n </span>\n <div\n className={style.score}\n style={{\n color: active ? primary : dark\n }}\n >\n <p data-name=\"star-counter\">{stars}</p>\n <span>\n <StarIcon className={style.iconStar} color={active ? primary : dark} />\n </span>\n </div>\n <div className={style.scoreTitle}>{title}</div>\n </div>\n );\n }\n}\n\nexport default EngineStars;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine-stars.js","names":["ICONS","microlearning","TimerIcon","learner","LearnerIcon","battle","BoltIcon","certifications","CertificationIcon","bonus","BonusIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ToolTipContent","preMessage","linkMessage","endMessage","onClick","color","handleContentMouseOver","style","toolTipContent","propTypes","PropTypes","string","func","EngineStars","props","legacyContext","skin","GetSkinFromContext","translate","GetTranslateFromContext","toolTip","disabled","type","stars","title","active","className","handleClick","e","stopPropagation","preventDefault","dark","light","IconType","primary","engineStarsContentId","useState","uuidV5","URL","undefined","toolTipIsVisible","setToolTipIsVisible","mouseLeaveTimer","setMouseLeaveTimer","buttonRef","useRef","handleKeyPress","useCallback","event","toggleStateOnKeyPress","handleMouseOver","clearTimeout","handleMouseLeave","setTimeout","toolTipContentProps","useMemo","toolTipProps","closeToolTipInformationTextAriaLabel","TooltipContent","_props","classnames","engineStars","clickable","engineIcon","backgroundColor","iconHeader","score","iconStar","scoreTitle","isRequired","number","bool","shape","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/engine-stars.js"],"sourcesContent":["import classnames from 'classnames';\nimport React, {useCallback, useMemo, useState, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport {v5 as uuidV5} from 'uuid';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaSolidVoteRewardsRewardsBadge1 as BonusIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip, {toggleStateOnKeyPress} from '../../atom/tooltip';\nimport Link from '../../atom/link';\nimport style from './engine-stars.css';\n\nconst ICONS = {\n microlearning: TimerIcon,\n learner: LearnerIcon,\n battle: BoltIcon,\n certifications: CertificationIcon,\n bonus: BonusIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ToolTipContent = ({\n preMessage,\n linkMessage,\n endMessage,\n onClick,\n color,\n handleContentMouseOver\n}) => (\n <p\n className={style.toolTipContent}\n onMouseOver={handleContentMouseOver}\n data-testid=\"react-tooltip-content\"\n >\n <span>{preMessage}</span>\n <Link\n onClick={onClick}\n style={{\n color\n }}\n >\n {linkMessage}\n </Link>\n <span>{endMessage}</span>\n </p>\n);\n\nToolTipContent.propTypes = {\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n color: PropTypes.string,\n onClick: PropTypes.func,\n handleContentMouseOver: PropTypes.func\n};\n\nconst EngineStars = (props, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const {\n toolTip = null,\n disabled,\n type,\n stars,\n title,\n active = false,\n onClick = noop,\n className\n } = props;\n\n const handleClick = e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n };\n const dark = get('common.dark', skin);\n const light = get('common.light', skin);\n const IconType = ICONS[type];\n\n const primary = get('common.primary', skin);\n\n // to replace by useId when React17 is bumped to React18\n const [engineStarsContentId] = useState(\n disabled ? uuidV5('engine-stars', uuidV5.URL) : undefined\n );\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n const buttonRef = useRef(null);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible, buttonRef)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleContentMouseOver = useCallback(() => {\n mouseLeaveTimer && /* istanbul ignore next */ clearTimeout(mouseLeaveTimer);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), 500));\n }, []);\n\n const toolTipContentProps = useMemo(\n () =>\n toolTip\n ? {\n preMessage: toolTip.preMessage,\n linkMessage: toolTip.linkMessage,\n endMessage: toolTip.endMessage,\n color: primary,\n onClick: toolTip.onClick\n }\n : null,\n [primary, toolTip]\n );\n\n const toolTipProps = {\n closeToolTipInformationTextAriaLabel: translate(\n 'Press the escape key to close the information text'\n )\n };\n\n const TooltipContent = useCallback(\n _props => (\n <ToolTipContent\n {...{...toolTipContentProps, ..._props}}\n handleContentMouseOver={handleContentMouseOver}\n />\n ),\n [handleContentMouseOver, toolTipContentProps]\n );\n\n return (\n <button\n ref={buttonRef}\n data-tip={disabled}\n data-engine={type}\n data-testid={`engine-stars-${type}`}\n // eslint-disable-next-line no-nested-ternary\n onClick={disabled ? handleKeyPress : active ? noop : handleClick}\n data-for={engineStarsContentId}\n className={classnames([\n style.engineStars,\n disabled ? style.disabled : '',\n active ? style.active : '',\n onClick !== noop ? style.clickable : null,\n className\n ])}\n type=\"button\"\n data-tooltip-place=\"left\"\n onKeyDown={handleKeyPress}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n {disabled ? (\n <ToolTip\n {...toolTipProps}\n anchorId={engineStarsContentId}\n toolTipIsVisible={toolTipIsVisible}\n TooltipContent={TooltipContent}\n mouseLeaveTimer={mouseLeaveTimer}\n />\n ) : null}\n <span\n className={style.engineIcon}\n style={{\n backgroundColor: onClick === noop ? light : primary\n }}\n >\n <IconType className={style.iconHeader} width=\"30\" />\n </span>\n <div\n className={style.score}\n style={{\n color: active ? primary : dark\n }}\n >\n <p data-name=\"star-counter\">{stars}</p>\n <span>\n <StarIcon className={style.iconStar} color={active ? primary : dark} />\n </span>\n </div>\n <div className={style.scoreTitle}>{title}</div>\n </button>\n );\n};\n\nEngineStars.propTypes = {\n type: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string,\n toolTip: PropTypes.shape({\n preMessage: PropTypes.string,\n linkMessage: PropTypes.string,\n endMessage: PropTypes.string,\n onClick: PropTypes.func\n })\n};\n\nEngineStars.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default EngineStars;\n"],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ declare namespace Progression {
|
|
|
39
39
|
active: PropTypes.Requireable<boolean>;
|
|
40
40
|
disabled: PropTypes.Requireable<boolean>;
|
|
41
41
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
42
|
+
className: PropTypes.Requireable<string>;
|
|
42
43
|
toolTip: PropTypes.Requireable<PropTypes.InferProps<{
|
|
43
44
|
preMessage: PropTypes.Requireable<string>;
|
|
44
45
|
linkMessage: PropTypes.Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/activity/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/activity/index.js"],"names":[],"mappings":";AAmBA,0EA0GC"}
|
|
@@ -9,6 +9,10 @@ var _get = _interopRequireDefault(require("lodash/fp/get"));
|
|
|
9
9
|
|
|
10
10
|
var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
|
|
11
11
|
|
|
12
|
+
var _map = _interopRequireDefault(require("lodash/fp/map"));
|
|
13
|
+
|
|
14
|
+
var _noop = _interopRequireDefault(require("lodash/fp/noop"));
|
|
15
|
+
|
|
12
16
|
var _omit = _interopRequireDefault(require("lodash/fp/omit"));
|
|
13
17
|
|
|
14
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -39,6 +43,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
43
|
|
|
40
44
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
41
45
|
|
|
46
|
+
const mapWithIndex = _map.default.convert({
|
|
47
|
+
cap: false
|
|
48
|
+
});
|
|
49
|
+
|
|
42
50
|
const Progression = (props, legacyContext) => {
|
|
43
51
|
const {
|
|
44
52
|
mainTitle,
|
|
@@ -59,9 +67,9 @@ const Progression = (props, legacyContext) => {
|
|
|
59
67
|
e.stopPropagation();
|
|
60
68
|
e.preventDefault();
|
|
61
69
|
const {
|
|
62
|
-
onClick
|
|
70
|
+
onClick = _noop.default
|
|
63
71
|
} = recommendation;
|
|
64
|
-
onClick
|
|
72
|
+
onClick(e);
|
|
65
73
|
}, [recommendation]);
|
|
66
74
|
const handleSelectTheme = (0, _react.useCallback)(e => {
|
|
67
75
|
themeFilterOnChange && themeFilterOnChange(e);
|
|
@@ -70,10 +78,10 @@ const Progression = (props, legacyContext) => {
|
|
|
70
78
|
const loader = loading ? /*#__PURE__*/_react.default.createElement("div", {
|
|
71
79
|
className: _style.default.loader
|
|
72
80
|
}, /*#__PURE__*/_react.default.createElement(_loader.default, null)) : null;
|
|
73
|
-
const allProgressions =
|
|
74
|
-
key: progression.ref
|
|
81
|
+
const allProgressions = mapWithIndex((progression, index) => /*#__PURE__*/_react.default.createElement(_progressionItem.default, _extends({}, (0, _omit.default)(['ref'], progression), {
|
|
82
|
+
key: `${index}-${progression.ref}`,
|
|
75
83
|
adaptiveAriaLabel: adaptiveAriaLabel
|
|
76
|
-
})));
|
|
84
|
+
})), progressions);
|
|
77
85
|
|
|
78
86
|
const coreProgression = /*#__PURE__*/_react.default.createElement("div", {
|
|
79
87
|
"data-name": "activityCore",
|
|
@@ -111,13 +119,17 @@ const Progression = (props, legacyContext) => {
|
|
|
111
119
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
112
120
|
className: _style.default.default
|
|
113
121
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
-
"data-name": "activity-header"
|
|
122
|
+
"data-name": "activity-header",
|
|
123
|
+
tabIndex: 0
|
|
115
124
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
116
|
-
className: _style.default.mainTitle
|
|
125
|
+
className: _style.default.mainTitle,
|
|
126
|
+
tabIndex: 0
|
|
117
127
|
}, /*#__PURE__*/_react.default.createElement("span", null, mainTitle), " ", mainSubtitle), /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
-
className: _style.default.headerProgression
|
|
128
|
+
className: _style.default.headerProgression,
|
|
129
|
+
tabIndex: 0
|
|
119
130
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
120
|
-
className: _style.default.wrapperCta
|
|
131
|
+
className: _style.default.wrapperCta,
|
|
132
|
+
tabIndex: 0
|
|
121
133
|
}, themeSelect, recommendationSection), /*#__PURE__*/_react.default.createElement(_starsSummary.default, {
|
|
122
134
|
engines: engines,
|
|
123
135
|
total: total
|