@coorpacademy/components 11.10.0 → 11.10.2
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/avatar/index.js +0 -1
- package/es/atom/avatar/index.js.map +1 -1
- package/es/atom/avatar/style.css +1 -0
- package/es/atom/card-image-preview/index.d.ts.map +1 -1
- package/es/atom/card-image-preview/index.js +3 -1
- package/es/atom/card-image-preview/index.js.map +1 -1
- package/es/atom/difficulty-level/index.js +4 -8
- package/es/atom/difficulty-level/index.js.map +1 -1
- package/es/atom/difficulty-level/style.css +1 -0
- package/es/atom/input-html/index.js +6 -2
- package/es/atom/input-html/index.js.map +1 -1
- package/es/atom/life/index.js +9 -3
- package/es/atom/life/index.js.map +1 -1
- package/es/atom/resource-miniature/index.js +3 -1
- package/es/atom/resource-miniature/index.js.map +1 -1
- package/es/molecule/answer/style.css +6 -5
- package/es/molecule/audio/index.js +3 -1
- package/es/molecule/audio/index.js.map +1 -1
- package/es/molecule/battle-request/index.js +3 -1
- package/es/molecule/battle-request/index.js.map +1 -1
- package/es/molecule/brand-download-box/index.js +3 -1
- package/es/molecule/brand-download-box/index.js.map +1 -1
- package/es/molecule/brand-upload-box/index.js +3 -1
- package/es/molecule/brand-upload-box/index.js.map +1 -1
- package/es/molecule/card/favorite.js +6 -2
- package/es/molecule/card/favorite.js.map +1 -1
- package/es/molecule/card/index.d.ts.map +1 -1
- package/es/molecule/card/index.js +6 -2
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/notification.js +3 -1
- package/es/molecule/card/notification.js.map +1 -1
- package/es/molecule/card-content/index.d.ts.map +1 -1
- package/es/molecule/card-content/index.js +1 -2
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/style.css +1 -0
- package/es/molecule/dashboard/cards-list/index.js +9 -3
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/discipline-partners/index.js +3 -1
- package/es/molecule/discipline-partners/index.js.map +1 -1
- package/es/molecule/drag-and-drop/overlay.js +3 -1
- package/es/molecule/drag-and-drop/overlay.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +3 -1
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/filters/index.js +6 -2
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/pdf/index.js +3 -1
- package/es/molecule/pdf/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-drag/index.js +13 -7
- package/es/molecule/questions/qcm-drag/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/style.css +3 -0
- package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-graphic/index.js +12 -5
- package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/style.css +3 -0
- package/es/molecule/questions/types.d.ts +25 -0
- package/es/molecule/questions/types.d.ts.map +1 -1
- package/es/molecule/questions/types.js.map +1 -1
- package/es/molecule/resource-player/index.js +3 -1
- package/es/molecule/resource-player/index.js.map +1 -1
- package/es/molecule/search-form/index.js +3 -1
- package/es/molecule/search-form/index.js.map +1 -1
- package/es/molecule/select-multiple/index.js +6 -2
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/setup-section/index.js +3 -1
- package/es/molecule/setup-section/index.js.map +1 -1
- package/es/molecule/table/index.js +6 -2
- package/es/molecule/table/index.js.map +1 -1
- package/es/molecule/titled-checkbox/index.js +1 -2
- package/es/molecule/titled-checkbox/index.js.map +1 -1
- package/es/molecule/titled-checkbox/style.css +1 -0
- package/es/molecule/uploading-file-progress/index.d.ts +35 -0
- package/es/molecule/uploading-file-progress/index.d.ts.map +1 -0
- package/es/molecule/uploading-file-progress/index.js +39 -0
- package/es/molecule/uploading-file-progress/index.js.map +1 -0
- package/es/molecule/uploading-file-progress/style.css +74 -0
- package/es/molecule/uploading-file-progress/types.d.ts +31 -0
- package/es/molecule/uploading-file-progress/types.d.ts.map +1 -0
- package/es/molecule/uploading-file-progress/types.js +31 -0
- package/es/molecule/uploading-file-progress/types.js.map +1 -0
- package/es/molecule/video-player-mobile/index.native.d.ts +8 -0
- package/es/molecule/video-player-mobile/index.native.d.ts.map +1 -0
- package/es/molecule/video-player-mobile/index.native.js +45 -0
- package/es/molecule/video-player-mobile/index.native.js.map +1 -0
- package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/es/organism/accordion/coorp-manager/part/index.js +13 -6
- package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/part/style.css +1 -0
- package/es/organism/accordion/part/index.js +7 -4
- package/es/organism/accordion/part/index.js.map +1 -1
- package/es/organism/accordion/part/style.css +1 -0
- package/es/organism/brand-form/index.js +3 -1
- package/es/organism/brand-form/index.js.map +1 -1
- package/es/organism/get-the-app/index.js +3 -1
- package/es/organism/get-the-app/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts +6 -0
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +91 -15
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +46 -0
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +48 -2
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/es/organism/slider/index.js +6 -2
- package/es/organism/slider/index.js.map +1 -1
- package/es/template/activity/progression-item.js +12 -4
- package/es/template/activity/progression-item.js.map +1 -1
- package/es/template/activity/stars-summary.js +9 -3
- package/es/template/activity/stars-summary.js.map +1 -1
- package/es/template/app-player/player/slides/footer/index.d.ts.map +1 -1
- package/es/template/app-player/player/slides/footer/index.js +0 -1
- package/es/template/app-player/player/slides/footer/index.js.map +1 -1
- package/es/template/app-player/player/slides/header/learner.css +1 -0
- package/es/template/app-player/player/slides/header/learner.js +1 -2
- package/es/template/app-player/player/slides/header/learner.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +1 -0
- package/es/template/app-player/player/slides/header/microlearning.js +1 -2
- package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +4 -3
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-correction/style.css +1 -0
- package/es/template/app-player/popin-end/summary.js +3 -1
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +6 -3
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +1 -0
- package/es/template/back-office/brand-update/index.d.ts +29 -0
- package/es/template/back-office/brand-update/index.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.js +7 -0
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/teams-dashboard/index.d.ts +2 -0
- package/lib/atom/avatar/index.js +0 -1
- package/lib/atom/avatar/index.js.map +1 -1
- package/lib/atom/avatar/style.css +1 -0
- package/lib/atom/card-image-preview/index.d.ts.map +1 -1
- package/lib/atom/card-image-preview/index.js +3 -1
- package/lib/atom/card-image-preview/index.js.map +1 -1
- package/lib/atom/difficulty-level/index.js +4 -8
- package/lib/atom/difficulty-level/index.js.map +1 -1
- package/lib/atom/difficulty-level/style.css +1 -0
- package/lib/atom/input-html/index.js +6 -2
- package/lib/atom/input-html/index.js.map +1 -1
- package/lib/atom/life/index.js +9 -3
- package/lib/atom/life/index.js.map +1 -1
- package/lib/atom/resource-miniature/index.js +3 -1
- package/lib/atom/resource-miniature/index.js.map +1 -1
- package/lib/molecule/answer/style.css +6 -5
- package/lib/molecule/audio/index.js +3 -1
- package/lib/molecule/audio/index.js.map +1 -1
- package/lib/molecule/battle-request/index.js +3 -1
- package/lib/molecule/battle-request/index.js.map +1 -1
- package/lib/molecule/brand-download-box/index.js +3 -1
- package/lib/molecule/brand-download-box/index.js.map +1 -1
- package/lib/molecule/brand-upload-box/index.js +3 -1
- package/lib/molecule/brand-upload-box/index.js.map +1 -1
- package/lib/molecule/card/favorite.js +6 -2
- package/lib/molecule/card/favorite.js.map +1 -1
- package/lib/molecule/card/index.d.ts.map +1 -1
- package/lib/molecule/card/index.js +6 -2
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/notification.js +3 -1
- package/lib/molecule/card/notification.js.map +1 -1
- package/lib/molecule/card-content/index.d.ts.map +1 -1
- package/lib/molecule/card-content/index.js +1 -2
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/style.css +1 -0
- package/lib/molecule/dashboard/cards-list/index.js +9 -3
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/discipline-partners/index.js +3 -1
- package/lib/molecule/discipline-partners/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/overlay.js +3 -1
- package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +3 -1
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/filters/index.js +6 -2
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/pdf/index.js +3 -1
- package/lib/molecule/pdf/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.js +13 -7
- package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/style.css +3 -0
- package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-graphic/index.js +12 -5
- package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/style.css +3 -0
- package/lib/molecule/questions/types.d.ts +25 -0
- package/lib/molecule/questions/types.d.ts.map +1 -1
- package/lib/molecule/questions/types.js.map +1 -1
- package/lib/molecule/resource-player/index.js +3 -1
- package/lib/molecule/resource-player/index.js.map +1 -1
- package/lib/molecule/search-form/index.js +3 -1
- package/lib/molecule/search-form/index.js.map +1 -1
- package/lib/molecule/select-multiple/index.js +6 -2
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/setup-section/index.js +3 -1
- package/lib/molecule/setup-section/index.js.map +1 -1
- package/lib/molecule/table/index.js +6 -2
- package/lib/molecule/table/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/index.js +1 -2
- package/lib/molecule/titled-checkbox/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/style.css +1 -0
- package/lib/molecule/uploading-file-progress/index.d.ts +35 -0
- package/lib/molecule/uploading-file-progress/index.d.ts.map +1 -0
- package/lib/molecule/uploading-file-progress/index.js +51 -0
- package/lib/molecule/uploading-file-progress/index.js.map +1 -0
- package/lib/molecule/uploading-file-progress/style.css +74 -0
- package/lib/molecule/uploading-file-progress/types.d.ts +31 -0
- package/lib/molecule/uploading-file-progress/types.d.ts.map +1 -0
- package/lib/molecule/uploading-file-progress/types.js +41 -0
- package/lib/molecule/uploading-file-progress/types.js.map +1 -0
- package/lib/molecule/video-player-mobile/index.native.d.ts +8 -0
- package/lib/molecule/video-player-mobile/index.native.d.ts.map +1 -0
- package/lib/molecule/video-player-mobile/index.native.js +56 -0
- package/lib/molecule/video-player-mobile/index.native.js.map +1 -0
- package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/index.js +13 -6
- package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/style.css +1 -0
- package/lib/organism/accordion/part/index.js +7 -4
- package/lib/organism/accordion/part/index.js.map +1 -1
- package/lib/organism/accordion/part/style.css +1 -0
- package/lib/organism/brand-form/index.js +3 -1
- package/lib/organism/brand-form/index.js.map +1 -1
- package/lib/organism/get-the-app/index.js +3 -1
- package/lib/organism/get-the-app/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts +6 -0
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +90 -14
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +46 -0
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +49 -1
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/lib/organism/slider/index.js +6 -2
- package/lib/organism/slider/index.js.map +1 -1
- package/lib/template/activity/progression-item.js +12 -4
- package/lib/template/activity/progression-item.js.map +1 -1
- package/lib/template/activity/stars-summary.js +9 -3
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/lib/template/app-player/player/slides/footer/index.d.ts.map +1 -1
- package/lib/template/app-player/player/slides/footer/index.js +0 -1
- package/lib/template/app-player/player/slides/footer/index.js.map +1 -1
- package/lib/template/app-player/player/slides/header/learner.css +1 -0
- package/lib/template/app-player/player/slides/header/learner.js +1 -2
- package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +1 -0
- package/lib/template/app-player/player/slides/header/microlearning.js +1 -2
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +4 -3
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/style.css +1 -0
- package/lib/template/app-player/popin-end/summary.js +3 -1
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +6 -3
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +1 -0
- package/lib/template/back-office/brand-update/index.d.ts +29 -0
- package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.js +8 -0
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/teams-dashboard/index.d.ts +2 -0
- package/locales/bs/global.json +1 -0
- package/locales/hy/global.json +1 -0
- package/locales/tr/global.json +1 -0
- package/locales/uk/global.json +1 -0
- package/locales/vi/global.json +1 -0
- package/package.json +4 -3
- package/locales/.mtslconfig.json +0 -1
|
@@ -501,6 +501,52 @@
|
|
|
501
501
|
color: dark;
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
+
.homeIcon {
|
|
505
|
+
width: 16px;
|
|
506
|
+
height: 14px;
|
|
507
|
+
margin-left: 16px;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.toolTipText {
|
|
511
|
+
font-family: 'Gilroy';
|
|
512
|
+
font-size: 14px;
|
|
513
|
+
width: 121px;
|
|
514
|
+
height: 24px;
|
|
515
|
+
line-height: 27px;
|
|
516
|
+
order: 0;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
[role="tooltip"],
|
|
520
|
+
.logo .tooltipIconContainer + [role="tooltip"] {
|
|
521
|
+
border: none;
|
|
522
|
+
border-radius: 8px;
|
|
523
|
+
display: flex;
|
|
524
|
+
flex-direction: row;
|
|
525
|
+
align-items: center;
|
|
526
|
+
gap: 8px;
|
|
527
|
+
position: absolute;
|
|
528
|
+
background-color: white;
|
|
529
|
+
bottom: -2.5em;
|
|
530
|
+
height: 32px;
|
|
531
|
+
width: 160px;
|
|
532
|
+
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.08);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.tooltipIconContainer::after {
|
|
536
|
+
content: ' ';
|
|
537
|
+
display: inline-block;
|
|
538
|
+
visibility: inherit;
|
|
539
|
+
opacity: inherit;
|
|
540
|
+
width: 15px;
|
|
541
|
+
height: 15px;
|
|
542
|
+
transform: rotate(-45deg);
|
|
543
|
+
background-color: white;
|
|
544
|
+
position: inherit;
|
|
545
|
+
top: -6px;
|
|
546
|
+
right: 40%;
|
|
547
|
+
border-radius: 2px;
|
|
548
|
+
}
|
|
549
|
+
|
|
504
550
|
@media desktop {
|
|
505
551
|
.item {
|
|
506
552
|
padding: 0 11px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AAyBA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AA2MtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA8CrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import { Animated, Easing, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
2
|
+
import { Animated, Easing, Image, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
3
3
|
import get from 'lodash/fp/get';
|
|
4
4
|
import getOr from 'lodash/fp/getOr';
|
|
5
5
|
import { useTranslateY } from '@coorpacademy/react-native-animation';
|
|
@@ -8,7 +8,23 @@ import Answer from '../../molecule/answer/index.native';
|
|
|
8
8
|
import ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';
|
|
9
9
|
import { useTemplateContext } from '../../template/app-review/template-context';
|
|
10
10
|
import Button from '../../atom/button/index.native';
|
|
11
|
+
import { TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO } from '../../molecule/answer/prop-types';
|
|
12
|
+
import Video from '../../molecule/video-player-mobile/index.native';
|
|
11
13
|
const styles = StyleSheet.create({
|
|
14
|
+
mediaContainer: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
justifyContent: 'center',
|
|
18
|
+
marginTop: 20,
|
|
19
|
+
width: '100%',
|
|
20
|
+
minHeight: 150,
|
|
21
|
+
borderRadius: 10,
|
|
22
|
+
overflow: 'hidden'
|
|
23
|
+
},
|
|
24
|
+
image: {
|
|
25
|
+
flex: 1,
|
|
26
|
+
width: '100%'
|
|
27
|
+
},
|
|
12
28
|
correctionPopinWrapper: {
|
|
13
29
|
position: 'absolute',
|
|
14
30
|
bottom: 16,
|
|
@@ -16,6 +32,32 @@ const styles = StyleSheet.create({
|
|
|
16
32
|
}
|
|
17
33
|
});
|
|
18
34
|
|
|
35
|
+
const MediaView = ({
|
|
36
|
+
media
|
|
37
|
+
}) => {
|
|
38
|
+
switch (media.type) {
|
|
39
|
+
case TYPE_VIDEO:
|
|
40
|
+
return /*#__PURE__*/React.createElement(Video, {
|
|
41
|
+
media: media
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
case TYPE_IMAGE:
|
|
45
|
+
{
|
|
46
|
+
const uri = `https://${media.url?.split('//')[1]}`;
|
|
47
|
+
return /*#__PURE__*/React.createElement(Image, {
|
|
48
|
+
style: styles.image,
|
|
49
|
+
source: {
|
|
50
|
+
uri
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
case TYPE_AUDIO:
|
|
56
|
+
default:
|
|
57
|
+
return /*#__PURE__*/React.createElement(Text, null, `media type ${media.type} is not handled`);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
19
61
|
const CorrectionPopin = ({
|
|
20
62
|
correctionPopinProps,
|
|
21
63
|
slideIndex,
|
|
@@ -116,7 +158,11 @@ const Question = props => {
|
|
|
116
158
|
style: style.questionText
|
|
117
159
|
}, questionText), /*#__PURE__*/React.createElement(Text, {
|
|
118
160
|
style: style.questionHelp
|
|
119
|
-
}, get('help', answerUI))), /*#__PURE__*/React.createElement(
|
|
161
|
+
}, get('help', answerUI))), answerUI.media ? /*#__PURE__*/React.createElement(View, {
|
|
162
|
+
style: styles.mediaContainer
|
|
163
|
+
}, /*#__PURE__*/React.createElement(MediaView, {
|
|
164
|
+
media: answerUI.media
|
|
165
|
+
})) : null, /*#__PURE__*/React.createElement(ScrollView, {
|
|
120
166
|
style: style.choicesScrollView,
|
|
121
167
|
contentContainerStyle: style.choicesScrollContent,
|
|
122
168
|
centerContent: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","Animated","Easing","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Text","Answer","ReviewCorrectionPopin","useTemplateContext","Button","styles","create","correctionPopinWrapper","position","bottom","width","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","marginVertical","choicesScrollContent","padding","Question","props","answerUI","setStyle","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","backgroundColor","height","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","Slide","validateButton","slideStyle","loading","parentContentTitle","handleValidatePress","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {\n Animated,\n Easing,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginVertical: 20,\n width: '100%'\n },\n choicesScrollContent: {\n padding: 10\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n <Answer {...answerUI} />\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n const {onClick: handleValidatePress} = validateButton;\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n <Button\n disabled={validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","Animated","Easing","Image","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Text","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","styles","create","mediaContainer","flex","alignItems","justifyContent","marginTop","width","minHeight","borderRadius","overflow","image","correctionPopinWrapper","position","bottom","MediaView","media","type","uri","url","split","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","marginVertical","choicesScrollContent","padding","Question","props","answerUI","setStyle","questionStyle","createSlideStyle","num","screenWidth","slideWidth","slide","left","backgroundColor","height","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","slideStyle","loading","parentContentTitle","handleValidatePress","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: 20,\n width: '100%',\n minHeight: 150,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media}: {media: Media}) => {\n switch (media.type) {\n case TYPE_VIDEO:\n return <Video media={media} />;\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={styles.image} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return <Text>{`media type ${media.type} is not handled`}</Text>;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginVertical: 20,\n width: '100%'\n },\n choicesScrollContent: {\n padding: 10\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n {answerUI.media ? (\n <View style={styles.mediaContainer}>\n <MediaView media={answerUI.media} />\n </View>\n ) : null}\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n <Answer {...answerUI} />\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n const {onClick: handleValidatePress} = validateButton;\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n <Button\n disabled={validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
|
|
@@ -107,12 +107,16 @@ class Slider extends React.Component {
|
|
|
107
107
|
const controlColor = _getOr(false, 'light', currentSlide_) ? '#FFF' : '#000';
|
|
108
108
|
const leftControl = totalSlide > 1 ? /*#__PURE__*/React.createElement(ArrowLeft, {
|
|
109
109
|
className: style.leftControl,
|
|
110
|
-
|
|
110
|
+
style: {
|
|
111
|
+
color: controlColor
|
|
112
|
+
},
|
|
111
113
|
onClick: this.handlePreviousSlide
|
|
112
114
|
}) : null;
|
|
113
115
|
const rightControl = totalSlide > 1 ? /*#__PURE__*/React.createElement(ArrowRight, {
|
|
114
116
|
className: style.rightControl,
|
|
115
|
-
|
|
117
|
+
style: {
|
|
118
|
+
color: controlColor
|
|
119
|
+
},
|
|
116
120
|
onClick: this.handleNextSlide
|
|
117
121
|
}) : null;
|
|
118
122
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionNavigationArrowLeft","ArrowLeft","style","mapWithIndex","convert","cap","Hammer","window","require","undefined","Slider","Component","constructor","props","state","currentSlide","interval","handleNextSlide","bind","handlePreviousSlide","autoPlay","setSlider","componentDidMount","hammer","slider","on","componentWillUnmount","stop","destroy","clearTimeout","timer","el","setState","prevState","children","totalSlide","length","nextSlide","setTimeout","render","myslides","child","index","isActive","activeSlide","slide","currentSlide_","controlColor","leftControl","rightControl","slidesWrapper","propTypes","arrayOf","node"],"sources":["../../../src/organism/slider/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowLeft as ArrowLeft\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst mapWithIndex = map.convert({cap: false});\n// eslint-disable-next-line no-undef\nconst Hammer = typeof window !== 'undefined' ? require('hammerjs') : undefined;\n\nclass Slider extends React.Component {\n static propTypes = {\n children: PropTypes.arrayOf(PropTypes.node)\n };\n\n constructor(props) {\n super(props);\n this.state = {\n currentSlide: 0\n };\n this.interval = 8000;\n this.handleNextSlide = this.handleNextSlide.bind(this);\n this.handlePreviousSlide = this.handlePreviousSlide.bind(this);\n this.autoPlay = this.autoPlay.bind(this);\n this.setSlider = this.setSlider.bind(this);\n }\n\n componentDidMount() {\n if (Hammer) {\n this.hammer = new Hammer(this.slider);\n this.hammer.on('swipeleft', this.handlePreviousSlide);\n this.hammer.on('swiperight', this.handleNextSlide);\n }\n\n this.autoPlay();\n }\n\n componentWillUnmount() {\n if (this.hammer) {\n this.hammer.stop();\n this.hammer.destroy();\n }\n this.hammer = null;\n clearTimeout(this.timer);\n }\n\n setSlider(el) {\n this.slider = el;\n }\n\n handleNextSlide() {\n this.setState(prevState => {\n const {children} = this.props;\n const totalSlide = children.length;\n const nextSlide = prevState.currentSlide + 1;\n\n return {\n currentSlide: nextSlide >= totalSlide ? 0 : nextSlide\n };\n });\n\n this.autoPlay();\n }\n\n handlePreviousSlide() {\n this.setState(prevState => {\n const {children} = this.props;\n const totalSlide = children.length;\n const nextSlide = prevState.currentSlide - 1;\n\n return {\n currentSlide: nextSlide < 0 ? totalSlide - 1 : nextSlide\n };\n });\n\n this.autoPlay();\n }\n\n autoPlay() {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.handleNextSlide();\n this.autoPlay();\n }, this.interval);\n }\n\n render() {\n const {currentSlide} = this.state;\n const {children} = this.props;\n const totalSlide = children.length;\n\n const myslides = mapWithIndex((child, index) => {\n const isActive = currentSlide === index;\n\n return (\n <div key={index} className={isActive ? style.activeSlide : style.slide}>\n {child}\n </div>\n );\n }, children);\n\n const currentSlide_ = get(currentSlide, children);\n const controlColor = getOr(false, 'light', currentSlide_) ? '#FFF' : '#000';\n const leftControl =\n totalSlide > 1 ? (\n <ArrowLeft\n className={style.leftControl}\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionNavigationArrowLeft","ArrowLeft","style","mapWithIndex","convert","cap","Hammer","window","require","undefined","Slider","Component","constructor","props","state","currentSlide","interval","handleNextSlide","bind","handlePreviousSlide","autoPlay","setSlider","componentDidMount","hammer","slider","on","componentWillUnmount","stop","destroy","clearTimeout","timer","el","setState","prevState","children","totalSlide","length","nextSlide","setTimeout","render","myslides","child","index","isActive","activeSlide","slide","currentSlide_","controlColor","leftControl","color","rightControl","slidesWrapper","propTypes","arrayOf","node"],"sources":["../../../src/organism/slider/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowLeft as ArrowLeft\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst mapWithIndex = map.convert({cap: false});\n// eslint-disable-next-line no-undef\nconst Hammer = typeof window !== 'undefined' ? require('hammerjs') : undefined;\n\nclass Slider extends React.Component {\n static propTypes = {\n children: PropTypes.arrayOf(PropTypes.node)\n };\n\n constructor(props) {\n super(props);\n this.state = {\n currentSlide: 0\n };\n this.interval = 8000;\n this.handleNextSlide = this.handleNextSlide.bind(this);\n this.handlePreviousSlide = this.handlePreviousSlide.bind(this);\n this.autoPlay = this.autoPlay.bind(this);\n this.setSlider = this.setSlider.bind(this);\n }\n\n componentDidMount() {\n if (Hammer) {\n this.hammer = new Hammer(this.slider);\n this.hammer.on('swipeleft', this.handlePreviousSlide);\n this.hammer.on('swiperight', this.handleNextSlide);\n }\n\n this.autoPlay();\n }\n\n componentWillUnmount() {\n if (this.hammer) {\n this.hammer.stop();\n this.hammer.destroy();\n }\n this.hammer = null;\n clearTimeout(this.timer);\n }\n\n setSlider(el) {\n this.slider = el;\n }\n\n handleNextSlide() {\n this.setState(prevState => {\n const {children} = this.props;\n const totalSlide = children.length;\n const nextSlide = prevState.currentSlide + 1;\n\n return {\n currentSlide: nextSlide >= totalSlide ? 0 : nextSlide\n };\n });\n\n this.autoPlay();\n }\n\n handlePreviousSlide() {\n this.setState(prevState => {\n const {children} = this.props;\n const totalSlide = children.length;\n const nextSlide = prevState.currentSlide - 1;\n\n return {\n currentSlide: nextSlide < 0 ? totalSlide - 1 : nextSlide\n };\n });\n\n this.autoPlay();\n }\n\n autoPlay() {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.handleNextSlide();\n this.autoPlay();\n }, this.interval);\n }\n\n render() {\n const {currentSlide} = this.state;\n const {children} = this.props;\n const totalSlide = children.length;\n\n const myslides = mapWithIndex((child, index) => {\n const isActive = currentSlide === index;\n\n return (\n <div key={index} className={isActive ? style.activeSlide : style.slide}>\n {child}\n </div>\n );\n }, children);\n\n const currentSlide_ = get(currentSlide, children);\n const controlColor = getOr(false, 'light', currentSlide_) ? '#FFF' : '#000';\n const leftControl =\n totalSlide > 1 ? (\n <ArrowLeft\n className={style.leftControl}\n style={{color: controlColor}}\n onClick={this.handlePreviousSlide}\n />\n ) : null;\n\n const rightControl =\n totalSlide > 1 ? (\n <ArrowRight\n className={style.rightControl}\n style={{color: controlColor}}\n onClick={this.handleNextSlide}\n />\n ) : null;\n\n return (\n <div className={style.slidesWrapper} ref={this.setSlider}>\n {myslides}\n {leftControl}\n {rightControl}\n </div>\n );\n }\n}\n\nexport default Slider;\n"],"mappings":"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"}
|
|
@@ -52,7 +52,9 @@ const ProgressionItem = (props, context) => {
|
|
|
52
52
|
backgroundColor: primary
|
|
53
53
|
}
|
|
54
54
|
}, /*#__PURE__*/React.createElement(AdaptiveIcon, {
|
|
55
|
-
|
|
55
|
+
style: {
|
|
56
|
+
color: white
|
|
57
|
+
},
|
|
56
58
|
height: 14,
|
|
57
59
|
"aria-label": adaptiveAriaLabel
|
|
58
60
|
})) : null;
|
|
@@ -70,7 +72,9 @@ const ProgressionItem = (props, context) => {
|
|
|
70
72
|
}, /*#__PURE__*/React.createElement("span", {
|
|
71
73
|
className: style.cta
|
|
72
74
|
}, state, " ", /*#__PURE__*/React.createElement(ArrowRightIcon, {
|
|
73
|
-
|
|
75
|
+
style: {
|
|
76
|
+
color: primary
|
|
77
|
+
},
|
|
74
78
|
height: 12,
|
|
75
79
|
width: 20
|
|
76
80
|
})));
|
|
@@ -80,7 +84,9 @@ const ProgressionItem = (props, context) => {
|
|
|
80
84
|
className: style.wrapperTitle
|
|
81
85
|
}, /*#__PURE__*/React.createElement(IconType, {
|
|
82
86
|
className: style.iconType,
|
|
83
|
-
|
|
87
|
+
style: {
|
|
88
|
+
color: dark
|
|
89
|
+
}
|
|
84
90
|
}), /*#__PURE__*/React.createElement("div", {
|
|
85
91
|
"data-name": "activityLabel",
|
|
86
92
|
className: style.label,
|
|
@@ -101,7 +107,9 @@ const ProgressionItem = (props, context) => {
|
|
|
101
107
|
className: style.smallStars
|
|
102
108
|
}, maxStars) : null, ' ', /*#__PURE__*/React.createElement(StarIcon, {
|
|
103
109
|
className: style.iconStar,
|
|
104
|
-
|
|
110
|
+
style: {
|
|
111
|
+
color: primary
|
|
112
|
+
}
|
|
105
113
|
}))), /*#__PURE__*/React.createElement(ProgressBar, {
|
|
106
114
|
className: style.completion,
|
|
107
115
|
value: completion * 100,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","handleCTAClick","e","stopPropagation","preventDefault","link","
|
|
1
|
+
{"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","color","handleCTAClick","e","stopPropagation","preventDefault","link","cta","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","number","isRequired","bool","string","func","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\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 ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, context) => {\n const {skin} = context;\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0,\n adaptiveAriaLabel\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon style={{color: white}} height={14} aria-label={adaptiveAriaLabel} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon style={{color: primary}} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} style={{color: dark}} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} style={{color: primary}} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":"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"}
|
|
@@ -89,7 +89,9 @@ const StarsSummary = (props, legacyContext) => {
|
|
|
89
89
|
"data-testid": "stars-summary-left-arrow",
|
|
90
90
|
type: "button"
|
|
91
91
|
}, /*#__PURE__*/React.createElement(ArrowLeft, {
|
|
92
|
-
|
|
92
|
+
style: {
|
|
93
|
+
color: dark
|
|
94
|
+
},
|
|
93
95
|
className: style.left,
|
|
94
96
|
width: 10,
|
|
95
97
|
height: 10
|
|
@@ -100,7 +102,9 @@ const StarsSummary = (props, legacyContext) => {
|
|
|
100
102
|
"data-name": "right-arrow",
|
|
101
103
|
"data-testid": "stars-summary-right-arrow"
|
|
102
104
|
}, /*#__PURE__*/React.createElement(ArrowRight, {
|
|
103
|
-
|
|
105
|
+
style: {
|
|
106
|
+
color: dark
|
|
107
|
+
},
|
|
104
108
|
className: style.right,
|
|
105
109
|
width: 10,
|
|
106
110
|
height: 10
|
|
@@ -135,7 +139,9 @@ const StarsSummary = (props, legacyContext) => {
|
|
|
135
139
|
className: style.iconBubble
|
|
136
140
|
}, /*#__PURE__*/React.createElement(StarIcon, {
|
|
137
141
|
className: style.iconHeader,
|
|
138
|
-
|
|
142
|
+
style: {
|
|
143
|
+
color: primary
|
|
144
|
+
}
|
|
139
145
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
140
146
|
className: style.navigationLeft
|
|
141
147
|
}, leftArrowView), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stars-summary.js","names":["React","useCallback","useMemo","useState","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyStar","StarIcon","Provider","GetSkinFromContext","EngineStars","style","EngineTab","engine","engineIndex","firstItemIndex","type","state","dataName","hidden","active","propTypes","shape","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","setFirstItemIndex","totalItems","length","dark","primary","scrollTo","page","handleOnLeft","handleOnRight","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n key={type}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <button\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n type=\"button\"\n >\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </button>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars} tabIndex={0}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n tabIndex={0}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n tabIndex={0}\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stars-summary.js","names":["React","useCallback","useMemo","useState","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyStar","StarIcon","Provider","GetSkinFromContext","EngineStars","style","EngineTab","engine","engineIndex","firstItemIndex","type","state","dataName","hidden","active","propTypes","shape","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","setFirstItemIndex","totalItems","length","dark","primary","scrollTo","page","handleOnLeft","handleOnRight","leftArrowView","circle","color","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n key={type}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <button\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n type=\"button\"\n >\n <ArrowLeft style={{color: dark}} className={style.left} width={10} height={10} />\n </button>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight style={{color: dark}} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars} tabIndex={0}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n tabIndex={0}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n tabIndex={0}\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} style={{color: primary}} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/footer/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/footer/index.js"],"names":[],"mappings":";AAqIA,8DAaC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyFilterVideo2","MediaIcon","NovaCompositionCoorpacademyClue","ClueIcon","NovaCompositionCoorpacademyMap","ContextIcon","NovaCompositionCoorpacademyChat","CoachIcon","NovaCompositionCoorpacademyListBullets3","QuestionIcon","Provider","style","TABS","question","icon","media","clue","coach","className","context","Button","Component","constructor","props","handleMouseEnter","onMouseEnter","setState","prevState","hovered","handleMouseLeave","onMouseLeave","state","render","skin","grey","primaryColor","disabled","notify","selected","highlighted","title","type","onClick","colorIcon","selectedColor","borderTopColor","hoverStyle","IconType","button","notifyView","logo","color","contextTypes","childContextTypes","propTypes","bool","string","oneOf","isRequired","func","SlidesFooter","buttons","length","Buttons","map","key","wrapper","arrayOf","shape"],"sources":["../../../../../../src/template/app-player/player/slides/footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyFilterVideo2 as MediaIcon,\n NovaCompositionCoorpacademyClue as ClueIcon,\n NovaCompositionCoorpacademyMap as ContextIcon,\n NovaCompositionCoorpacademyChat as CoachIcon,\n NovaCompositionCoorpacademyListBullets3 as QuestionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../../../atom/provider';\nimport style from './style.css';\n\nconst TABS = {\n question: {\n icon: QuestionIcon\n },\n media: {\n icon: MediaIcon\n },\n clue: {\n icon: ClueIcon\n },\n coach: {\n icon: CoachIcon,\n className: style.coach\n },\n context: {\n icon: ContextIcon\n }\n};\n\nclass Button extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n notify: PropTypes.bool,\n selected: PropTypes.bool,\n highlighted: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf(keys(TABS)).isRequired,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onClick: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n hovered: false\n };\n }\n\n handleMouseEnter = () => {\n const {onMouseEnter} = this.props;\n\n this.setState(prevState => ({\n hovered: true\n }));\n onMouseEnter && onMouseEnter();\n };\n\n handleMouseLeave = () => {\n const {onMouseLeave} = this.props;\n this.setState(prevState => ({\n hovered: false\n }));\n\n onMouseLeave && onMouseLeave();\n };\n\n render() {\n const {skin} = this.context;\n const {hovered} = this.state;\n const grey = get('common.grey', skin);\n const primaryColor = get('common.primary', skin);\n const {disabled, notify, selected, highlighted, title, type, onClick} = this.props;\n const colorIcon = selected ? primaryColor : grey;\n const selectedColor = (selected && {borderTopColor: primaryColor}) || {};\n\n const hoverStyle =\n !disabled && hovered\n ? {\n borderTopColor: primaryColor\n }\n : {};\n\n const IconType = get([type, 'icon'], TABS);\n const className = classnames(\n style.button,\n get([type, 'className'], TABS),\n selected && style.selected,\n disabled && style.disabled\n );\n\n const notifyView = notify ? <span className={style.notify} /> : null;\n return (\n <div\n data-name={`button`}\n data-type={type}\n data-selected={selected}\n data-disabled={disabled}\n className={className}\n onClick={onClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ...hoverStyle,\n ...selectedColor\n }}\n >\n <div className={highlighted ? style.highlighted : style.logo}>\n {notifyView}\n <IconType\n style={{\n color: colorIcon\n }}\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyFilterVideo2","MediaIcon","NovaCompositionCoorpacademyClue","ClueIcon","NovaCompositionCoorpacademyMap","ContextIcon","NovaCompositionCoorpacademyChat","CoachIcon","NovaCompositionCoorpacademyListBullets3","QuestionIcon","Provider","style","TABS","question","icon","media","clue","coach","className","context","Button","Component","constructor","props","handleMouseEnter","onMouseEnter","setState","prevState","hovered","handleMouseLeave","onMouseLeave","state","render","skin","grey","primaryColor","disabled","notify","selected","highlighted","title","type","onClick","colorIcon","selectedColor","borderTopColor","hoverStyle","IconType","button","notifyView","logo","color","contextTypes","childContextTypes","propTypes","bool","string","oneOf","isRequired","func","SlidesFooter","buttons","length","Buttons","map","key","wrapper","arrayOf","shape"],"sources":["../../../../../../src/template/app-player/player/slides/footer/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyFilterVideo2 as MediaIcon,\n NovaCompositionCoorpacademyClue as ClueIcon,\n NovaCompositionCoorpacademyMap as ContextIcon,\n NovaCompositionCoorpacademyChat as CoachIcon,\n NovaCompositionCoorpacademyListBullets3 as QuestionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../../../atom/provider';\nimport style from './style.css';\n\nconst TABS = {\n question: {\n icon: QuestionIcon\n },\n media: {\n icon: MediaIcon\n },\n clue: {\n icon: ClueIcon\n },\n coach: {\n icon: CoachIcon,\n className: style.coach\n },\n context: {\n icon: ContextIcon\n }\n};\n\nclass Button extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n notify: PropTypes.bool,\n selected: PropTypes.bool,\n highlighted: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf(keys(TABS)).isRequired,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onClick: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n hovered: false\n };\n }\n\n handleMouseEnter = () => {\n const {onMouseEnter} = this.props;\n\n this.setState(prevState => ({\n hovered: true\n }));\n onMouseEnter && onMouseEnter();\n };\n\n handleMouseLeave = () => {\n const {onMouseLeave} = this.props;\n this.setState(prevState => ({\n hovered: false\n }));\n\n onMouseLeave && onMouseLeave();\n };\n\n render() {\n const {skin} = this.context;\n const {hovered} = this.state;\n const grey = get('common.grey', skin);\n const primaryColor = get('common.primary', skin);\n const {disabled, notify, selected, highlighted, title, type, onClick} = this.props;\n const colorIcon = selected ? primaryColor : grey;\n const selectedColor = (selected && {borderTopColor: primaryColor}) || {};\n\n const hoverStyle =\n !disabled && hovered\n ? {\n borderTopColor: primaryColor\n }\n : {};\n\n const IconType = get([type, 'icon'], TABS);\n const className = classnames(\n style.button,\n get([type, 'className'], TABS),\n selected && style.selected,\n disabled && style.disabled\n );\n\n const notifyView = notify ? <span className={style.notify} /> : null;\n return (\n <div\n data-name={`button`}\n data-type={type}\n data-selected={selected}\n data-disabled={disabled}\n className={className}\n onClick={onClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ...hoverStyle,\n ...selectedColor\n }}\n >\n <div className={highlighted ? style.highlighted : style.logo}>\n {notifyView}\n <IconType\n style={{\n color: colorIcon\n }}\n height={30}\n />\n </div>\n <div data-name=\"title\" className={style.title}>\n {title}\n </div>\n </div>\n );\n }\n}\n\nconst SlidesFooter = props => {\n const {buttons = []} = props;\n if (buttons.length === 0) return null;\n\n const Buttons = buttons.map((button, key) => {\n return <Button {...button} key={key} />;\n });\n\n return (\n <div data-name=\"slidesFooter\" className={style.wrapper}>\n {Buttons}\n </div>\n );\n};\n\nSlidesFooter.propTypes = {\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n disabled: PropTypes.bool,\n notify: PropTypes.bool,\n selected: PropTypes.bool,\n highlighted: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf(keys(TABS)).isRequired,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onClick: PropTypes.func\n })\n )\n};\n\nexport default SlidesFooter;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"learner.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowLeft","BackIcon","Link","Provider","style","LearnerHeaderWrapper","props","children","mode","onClick","contentWrapperScorm","backIcon","contentWrapper","propTypes","string","oneOfType","arrayOf","node","isRequired","Content","title","details","context","skin","primarySkinColor","content","contentDetails","color","contentTitle","innerHTML","__html","contextTypes","childContextTypes","Subcontent","subcontent","subcontentDetails","subcontentTitle","LearnerHeader","wrapper","shape"],"sources":["../../../../../../src/template/app-player/player/slides/header/learner.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../../../../atom/link';\nimport Provider from '../../../../../atom/provider';\nimport style from './learner.css';\n\nconst LearnerHeaderWrapper = props => {\n const {children, mode, onClick} = props;\n if (mode === 'scorm')\n return (\n <div className={style.contentWrapperScorm}>\n <div className={style.backIcon} />\n {children}\n </div>\n );\n return (\n <Link onClick={onClick} className={style.contentWrapper}>\n <BackIcon className={style.backIcon}
|
|
1
|
+
{"version":3,"file":"learner.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowLeft","BackIcon","Link","Provider","style","LearnerHeaderWrapper","props","children","mode","onClick","contentWrapperScorm","backIcon","contentWrapper","propTypes","string","oneOfType","arrayOf","node","isRequired","Content","title","details","context","skin","primarySkinColor","content","contentDetails","color","contentTitle","innerHTML","__html","contextTypes","childContextTypes","Subcontent","subcontent","subcontentDetails","subcontentTitle","LearnerHeader","wrapper","shape"],"sources":["../../../../../../src/template/app-player/player/slides/header/learner.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../../../../atom/link';\nimport Provider from '../../../../../atom/provider';\nimport style from './learner.css';\n\nconst LearnerHeaderWrapper = props => {\n const {children, mode, onClick} = props;\n if (mode === 'scorm')\n return (\n <div className={style.contentWrapperScorm}>\n <div className={style.backIcon} />\n {children}\n </div>\n );\n return (\n <Link onClick={onClick} className={style.contentWrapper}>\n <BackIcon className={style.backIcon} />\n {children}\n </Link>\n );\n};\n\nLearnerHeaderWrapper.propTypes = {\n onClick: Link.propTypes.onClick,\n mode: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nconst Content = ({onClick, title, details, mode}, context) => {\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <LearnerHeaderWrapper mode={mode} onClick={onClick}>\n <div className={style.content}>\n <div\n className={style.contentDetails}\n style={{\n color: primarySkinColor\n }}\n >\n {details}\n </div>\n\n <span\n data-name=\"contentTitle\"\n className={classnames(style.contentTitle, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </LearnerHeaderWrapper>\n );\n};\n\nContent.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContent.propTypes = {\n onClick: Link.propTypes.onClick,\n title: PropTypes.string.isRequired,\n details: PropTypes.string,\n mode: PropTypes.string\n};\n\nconst Subcontent = ({title, details}, context) => (\n <div className={style.subcontent}>\n <div className={style.subcontentDetails}>{details}</div>\n <div\n className={classnames(style.subcontentTitle, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n);\n\nSubcontent.propTypes = {\n title: PropTypes.string.isRequired,\n details: PropTypes.string\n};\n\nconst LearnerHeader = (props, context) => {\n const {content, subcontent, mode} = props;\n\n return (\n <div className={style.wrapper}>\n <Content {...content} mode={mode} />\n <Subcontent {...subcontent} />\n </div>\n );\n};\n\nLearnerHeader.propTypes = {\n content: PropTypes.shape(Content.propTypes).isRequired,\n subcontent: PropTypes.shape(Subcontent.propTypes).isRequired,\n mode: PropTypes.string\n};\n\nexport default LearnerHeader;\n"],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@ const Content = ({
|
|
|
12
12
|
onClick: onClick,
|
|
13
13
|
className: style.content
|
|
14
14
|
}, /*#__PURE__*/React.createElement(BackIcon, {
|
|
15
|
-
className: style.backIcon
|
|
16
|
-
color: "inherit"
|
|
15
|
+
className: style.backIcon
|
|
17
16
|
}), /*#__PURE__*/React.createElement("div", {
|
|
18
17
|
"data-name": "contentTitle",
|
|
19
18
|
className: classnames(style.contentTitle, style.innerHTML) // eslint-disable-next-line react/no-danger
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microlearning.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowLeft","BackIcon","Link","style","Content","onClick","title","context","content","backIcon","contentTitle","innerHTML","__html","propTypes","node","MicrolearningHeader","props","shape","string","isRequired"],"sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../../../../atom/link';\nimport style from './microlearning.css';\n\nconst Content = ({onClick, title}, context) => (\n <Link onClick={onClick} className={style.content}>\n <BackIcon className={style.backIcon}
|
|
1
|
+
{"version":3,"file":"microlearning.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowLeft","BackIcon","Link","style","Content","onClick","title","context","content","backIcon","contentTitle","innerHTML","__html","propTypes","node","MicrolearningHeader","props","shape","string","isRequired"],"sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../../../../atom/link';\nimport style from './microlearning.css';\n\nconst Content = ({onClick, title}, context) => (\n <Link onClick={onClick} className={style.content}>\n <BackIcon className={style.backIcon} />\n <div\n data-name=\"contentTitle\"\n className={classnames(style.contentTitle, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </Link>\n);\n\nContent.propTypes = {\n onClick: Link.propTypes.onClick,\n title: PropTypes.node\n};\n\nconst MicrolearningHeader = (props, context) => {\n const {content} = props;\n return <Content {...content} />;\n};\n\nMicrolearningHeader.propTypes = {\n content: PropTypes.shape({\n onClick: Link.propTypes.onClick,\n title: PropTypes.string.isRequired\n })\n};\n\nexport default MicrolearningHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,kCAAkC,IAAIC,QAA9C,QAA6D,0BAA7D;AACA,OAAOC,IAAP,MAAiB,0BAAjB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;;AAEA,MAAMC,OAAO,GAAG,CAAC;EAACC,OAAD;EAAUC;AAAV,CAAD,EAAmBC,OAAnB,kBACd,oBAAC,IAAD;EAAM,OAAO,EAAEF,OAAf;EAAwB,SAAS,EAAEF,KAAK,CAACK;AAAzC,gBACE,oBAAC,QAAD;EAAU,SAAS,EAAEL,KAAK,CAACM;AAA3B,EADF,eAEE;EACE,aAAU,cADZ;EAEE,SAAS,EAAEV,UAAU,CAACI,KAAK,CAACO,YAAP,EAAqBP,KAAK,CAACQ,SAA3B,CAFvB,CAGE;EAHF;EAIE,uBAAuB,EAAE;IAACC,MAAM,EAAEN;EAAT;AAJ3B,EAFF,CADF;;AAYAF,OAAO,CAACS,SAAR,2CAAoB;EAClBR,OAAO,EAAEH,IAAI,CAACW,SAAL,CAAeR,OADN;EAElBC,KAAK,EAAER,SAAS,CAACgB;AAFC,CAApB;;AAKA,MAAMC,mBAAmB,GAAG,CAACC,KAAD,EAAQT,OAAR,KAAoB;EAC9C,MAAM;IAACC;EAAD,IAAYQ,KAAlB;EACA,oBAAO,oBAAC,OAAD,EAAaR,OAAb,CAAP;AACD,CAHD;;AAKAO,mBAAmB,CAACF,SAApB,2CAAgC;EAC9BL,OAAO,EAAEV,SAAS,CAACmB,KAAV,CAAgB;IACvBZ,OAAO,EAAEH,IAAI,CAACW,SAAL,CAAeR,OADD;IAEvBC,KAAK,EAAER,SAAS,CAACoB,MAAV,CAAiBC;EAFD,CAAhB;AADqB,CAAhC;AAOA,eAAeJ,mBAAf"}
|