@coorpacademy/components 10.22.7 → 10.22.10
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/choice/index.native.js +6 -3
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/atom/resource-miniature/index.js +1 -2
- package/es/atom/resource-miniature/index.js.map +1 -1
- package/es/atom/resource-miniature/style.css +4 -0
- package/es/molecule/cm-popin/index.js +4 -2
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/review-correction-popin/prop-types.js +0 -1
- package/es/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/es/organism/review-congrats/style.css +1 -1
- package/es/organism/review-slide/index.js +194 -0
- package/es/organism/review-slide/index.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +39 -0
- package/es/organism/review-slide/prop-types.js.map +1 -0
- package/es/organism/review-slide/style.css +173 -0
- package/es/organism/review-stacked-slides/index.js +74 -0
- package/es/organism/review-stacked-slides/index.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +15 -0
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/es/organism/review-stacked-slides/style.css +174 -0
- package/es/template/app-player/player/slides/header/learner.css +4 -0
- package/es/template/app-player/player/slides/header/learner.js +2 -3
- package/es/template/app-player/player/slides/header/learner.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +4 -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/player/slides/index.js +3 -4
- package/es/template/app-player/player/slides/index.js.map +1 -1
- package/es/template/app-player/player/slides/style.css +5 -0
- package/es/template/app-player/popin-correction/index.js +3 -4
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-correction/style.css +4 -0
- package/es/template/app-player/popin-end/summary.css +4 -0
- package/es/template/app-player/popin-end/summary.js +3 -4
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +3 -4
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +4 -0
- package/es/template/app-review/index.js +7 -8
- package/es/template/app-review/index.js.map +1 -1
- package/es/template/app-review/index.native.js +6 -10
- package/es/template/app-review/index.native.js.map +1 -1
- package/es/template/app-review/player/index.js +36 -0
- package/es/template/app-review/player/index.js.map +1 -0
- package/es/template/app-review/{slides → player}/index.native.js +15 -13
- package/es/template/app-review/player/index.native.js.map +1 -0
- package/es/template/app-review/player/prop-types.js +12 -0
- package/es/template/app-review/player/prop-types.js.map +1 -0
- package/es/template/app-review/player/style.css +41 -0
- package/es/template/app-review/prop-types.js +3 -3
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/template/common/authors/index.js +1 -2
- package/es/template/common/authors/index.js.map +1 -1
- package/es/template/common/authors/style.css +4 -0
- package/lib/atom/choice/index.native.js +6 -3
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/atom/resource-miniature/index.js +9 -11
- package/lib/atom/resource-miniature/index.js.map +1 -1
- package/lib/atom/resource-miniature/style.css +4 -0
- package/lib/molecule/cm-popin/index.js +4 -2
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/prop-types.js +0 -1
- package/lib/molecule/review-correction-popin/prop-types.js.map +1 -1
- package/lib/organism/review-congrats/style.css +1 -1
- package/lib/organism/review-slide/index.js +217 -0
- package/lib/organism/review-slide/index.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +52 -0
- package/lib/organism/review-slide/prop-types.js.map +1 -0
- package/lib/organism/review-slide/style.css +173 -0
- package/lib/organism/review-stacked-slides/index.js +90 -0
- package/lib/organism/review-stacked-slides/index.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +29 -0
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -0
- package/lib/organism/review-stacked-slides/style.css +174 -0
- package/lib/template/app-player/player/slides/header/learner.css +4 -0
- package/lib/template/app-player/player/slides/header/learner.js +2 -4
- package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +4 -0
- package/lib/template/app-player/player/slides/header/microlearning.js +1 -3
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/template/app-player/player/slides/index.js +23 -25
- package/lib/template/app-player/player/slides/index.js.map +1 -1
- package/lib/template/app-player/player/slides/style.css +5 -0
- package/lib/template/app-player/popin-correction/index.js +20 -22
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/style.css +4 -0
- package/lib/template/app-player/popin-end/summary.css +4 -0
- package/lib/template/app-player/popin-end/summary.js +3 -5
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +32 -34
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +4 -0
- package/lib/template/app-review/index.js +6 -8
- package/lib/template/app-review/index.js.map +1 -1
- package/lib/template/app-review/index.native.js +6 -11
- package/lib/template/app-review/index.native.js.map +1 -1
- package/lib/template/app-review/player/index.js +51 -0
- package/lib/template/app-review/player/index.js.map +1 -0
- package/lib/template/app-review/{slides → player}/index.native.js +14 -12
- package/lib/template/app-review/player/index.native.js.map +1 -0
- package/lib/template/app-review/player/prop-types.js +25 -0
- package/lib/template/app-review/player/prop-types.js.map +1 -0
- package/lib/template/app-review/player/style.css +41 -0
- package/lib/template/app-review/prop-types.js +3 -3
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/template/common/authors/index.js +15 -17
- package/lib/template/common/authors/index.js.map +1 -1
- package/lib/template/common/authors/style.css +4 -0
- package/package.json +2 -2
- package/es/template/app-review/slides/index.js +0 -352
- package/es/template/app-review/slides/index.js.map +0 -1
- package/es/template/app-review/slides/index.native.js.map +0 -1
- package/es/template/app-review/slides/prop-types.js +0 -111
- package/es/template/app-review/slides/prop-types.js.map +0 -1
- package/es/template/app-review/slides/style.css +0 -409
- package/lib/template/app-review/slides/index.js +0 -385
- package/lib/template/app-review/slides/index.js.map +0 -1
- package/lib/template/app-review/slides/index.native.js.map +0 -1
- package/lib/template/app-review/slides/prop-types.js +0 -131
- package/lib/template/app-review/slides/prop-types.js.map +0 -1
- package/lib/template/app-review/slides/style.css +0 -409
|
@@ -22,7 +22,6 @@ const createStyleSheet = theme => StyleSheet.create({
|
|
|
22
22
|
minHeight: 80,
|
|
23
23
|
backgroundColor: theme.colors.white,
|
|
24
24
|
borderRadius: theme.radius.regular,
|
|
25
|
-
overflow: 'hidden',
|
|
26
25
|
flexDirection: 'row',
|
|
27
26
|
alignItems: 'stretch'
|
|
28
27
|
},
|
|
@@ -52,7 +51,10 @@ const createStyleSheet = theme => StyleSheet.create({
|
|
|
52
51
|
},
|
|
53
52
|
imageContainer: {
|
|
54
53
|
height: '100%',
|
|
55
|
-
width: '25%'
|
|
54
|
+
width: '25%',
|
|
55
|
+
overflow: 'hidden',
|
|
56
|
+
borderTopLeftRadius: theme.radius.regular,
|
|
57
|
+
borderBottomLeftRadius: theme.radius.regular
|
|
56
58
|
},
|
|
57
59
|
image: {
|
|
58
60
|
flex: 1
|
|
@@ -89,7 +91,8 @@ const Choice = ({
|
|
|
89
91
|
const selectedStyle = brandTheme && {
|
|
90
92
|
backgroundColor: brandTheme.colors.primary,
|
|
91
93
|
borderColor: brandTheme.colors.primary,
|
|
92
|
-
|
|
94
|
+
borderTopRightRadius: theme.radius.regular,
|
|
95
|
+
borderBottomRightRadius: theme.radius.regular
|
|
93
96
|
};
|
|
94
97
|
const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';
|
|
95
98
|
const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"names":["React","useEffect","useState","View","StyleSheet","Html","ImageBackground","getCleanUri","Touchable","useTemplateContext","createStyleSheet","theme","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","minHeight","colors","white","borderRadius","radius","regular","overflow","flexDirection","alignItems","textContainer","paddingHorizontal","paddingVertical","justifyContent","flex","squeezedTextContainer","padding","spacing","small","paddingLeft","undefined","paddingRight","text","fontWeight","bold","color","black","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","image","Choice","children","isSelected","squeezed","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedStyle","primary","borderColor","common","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","htmlStyle","push","fontSize","medium"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../types/progression-engine';\n\nimport Html from '../html/index.native';\nimport ImageBackground from '../image-background/index.native';\nimport getCleanUri from '../../util/get-clean-uri';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n onPress: () => void;\n children: string;\n isDisabled?: boolean;\n testID?: string;\n media?: Media;\n squeezed?: boolean;\n style?: ViewStyle;\n questionType: QuestionType;\n};\n\ntype StyleSheetType = {\n boxShadow: any;\n container: any;\n text: any;\n textSelected: any;\n textContainer: any;\n squeezedTextContainer: any;\n unselectedImageContainer: any;\n imageContainer: any;\n image: any;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 8,\n backgroundColor: '#0000'\n },\n container: {\n minHeight: 80,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n overflow: 'hidden',\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n textContainer: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n squeezedTextContainer: {\n padding: theme.spacing.small,\n paddingLeft: undefined,\n paddingVertical: undefined,\n paddingRight: undefined,\n flex: 0\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n textSelected: {\n color: theme.colors.white\n },\n unselectedImageContainer: {\n borderRightColor: theme.colors.border\n },\n imageContainer: {\n height: '100%',\n width: '25%'\n },\n image: {\n flex: 1\n }\n });\n\nconst Choice = ({\n children,\n isSelected = false,\n squeezed = false,\n isDisabled,\n onPress,\n media,\n testID: prefixTestID,\n style,\n questionType\n}: Props) => {\n const templateContext = useTemplateContext();\n const {theme, brandTheme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedStyle = brandTheme && {\n backgroundColor: brandTheme.colors.primary,\n borderColor: brandTheme.colors.primary,\n borderRadius: theme.radius.common\n };\n\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();\n const url =\n media &&\n media.type === 'img' &&\n media.src &&\n media.src.length > 0 &&\n getCleanUri(media.src[0].url);\n\n const source = {uri: url ? getCleanUri(url) : undefined};\n const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';\n\n const htmlStyle: ViewStyle[] = [styleSheet.text];\n\n if (isSelected) {\n htmlStyle.push(styleSheet.textSelected);\n }\n\n return (\n <Touchable\n onPress={!isDisabled ? onPress : undefined}\n style={style}\n analyticsID=\"question-choice\"\n analyticsParams={{questionType}}\n >\n <View\n style={[styleSheet.boxShadow, styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {url ? (\n <View style={styleSheet.imageContainer}>\n <ImageBackground\n testID={prefixTestID && `${prefixTestID}${mediaSuffix}`}\n source={source}\n style={styleSheet.image}\n />\n </View>\n ) : null}\n <View\n style={[\n styleSheet.textContainer,\n squeezed && styleSheet.squeezedTextContainer,\n isSelected && selectedStyle\n ]}\n >\n <Html\n fontSize={squeezed ? theme.fontSize.medium : theme.fontSize.regular}\n style={htmlStyle}\n >\n {children}\n </Html>\n </View>\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"file":"index.native.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/choice/index.native.tsx"],"names":["React","useEffect","useState","View","StyleSheet","Html","ImageBackground","getCleanUri","Touchable","useTemplateContext","createStyleSheet","theme","create","boxShadow","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","container","minHeight","colors","white","borderRadius","radius","regular","flexDirection","alignItems","textContainer","paddingHorizontal","paddingVertical","justifyContent","flex","squeezedTextContainer","padding","spacing","small","paddingLeft","undefined","paddingRight","text","fontWeight","bold","color","black","textSelected","unselectedImageContainer","borderRightColor","border","imageContainer","overflow","borderTopLeftRadius","borderBottomLeftRadius","image","Choice","children","isSelected","squeezed","isDisabled","onPress","media","testID","prefixTestID","style","questionType","templateContext","brandTheme","styleSheet","setStylesheet","_stylesheet","selectedStyle","primary","borderColor","borderTopRightRadius","borderBottomRightRadius","selectedSuffix","mediaType","type","toLowerCase","url","src","length","source","uri","mediaSuffix","htmlStyle","push","fontSize","medium"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, ViewStyle} from 'react-native';\nimport type {Media, QuestionType} from '../../types/progression-engine';\n\nimport Html from '../html/index.native';\nimport ImageBackground from '../image-background/index.native';\nimport getCleanUri from '../../util/get-clean-uri';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n onPress: () => void;\n children: string;\n isDisabled?: boolean;\n testID?: string;\n media?: Media;\n squeezed?: boolean;\n style?: ViewStyle;\n questionType: QuestionType;\n};\n\ntype StyleSheetType = {\n boxShadow: any;\n container: any;\n text: any;\n textSelected: any;\n textContainer: any;\n squeezedTextContainer: any;\n unselectedImageContainer: any;\n imageContainer: any;\n image: any;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n boxShadow: {\n shadowColor: '#000',\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.12,\n shadowRadius: 16,\n elevation: 8,\n backgroundColor: '#0000'\n },\n container: {\n minHeight: 80,\n backgroundColor: theme.colors.white,\n borderRadius: theme.radius.regular,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n textContainer: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n squeezedTextContainer: {\n padding: theme.spacing.small,\n paddingLeft: undefined,\n paddingVertical: undefined,\n paddingRight: undefined,\n flex: 0\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n textSelected: {\n color: theme.colors.white\n },\n unselectedImageContainer: {\n borderRightColor: theme.colors.border\n },\n imageContainer: {\n height: '100%',\n width: '25%',\n overflow: 'hidden',\n borderTopLeftRadius: theme.radius.regular,\n borderBottomLeftRadius: theme.radius.regular\n },\n image: {\n flex: 1\n }\n });\n\nconst Choice = ({\n children,\n isSelected = false,\n squeezed = false,\n isDisabled,\n onPress,\n media,\n testID: prefixTestID,\n style,\n questionType\n}: Props) => {\n const templateContext = useTemplateContext();\n const {theme, brandTheme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedStyle = brandTheme && {\n backgroundColor: brandTheme.colors.primary,\n borderColor: brandTheme.colors.primary,\n borderTopRightRadius: theme.radius.regular,\n borderBottomRightRadius: theme.radius.regular\n };\n\n const selectedSuffix = prefixTestID && isSelected ? '-selected' : '';\n const mediaType = media && media.type && media.type === 'img' && media.type.toLowerCase();\n const url =\n media &&\n media.type === 'img' &&\n media.src &&\n media.src.length > 0 &&\n getCleanUri(media.src[0].url);\n\n const source = {uri: url ? getCleanUri(url) : undefined};\n const mediaSuffix = prefixTestID && mediaType ? `-${mediaType}` : '';\n\n const htmlStyle: ViewStyle[] = [styleSheet.text];\n\n if (isSelected) {\n htmlStyle.push(styleSheet.textSelected);\n }\n\n return (\n <Touchable\n onPress={!isDisabled ? onPress : undefined}\n style={style}\n analyticsID=\"question-choice\"\n analyticsParams={{questionType}}\n >\n <View\n style={[styleSheet.boxShadow, styleSheet.container]}\n testID={prefixTestID && `${prefixTestID}${selectedSuffix}`}\n >\n {url ? (\n <View style={styleSheet.imageContainer}>\n <ImageBackground\n testID={prefixTestID && `${prefixTestID}${mediaSuffix}`}\n source={source}\n style={styleSheet.image}\n />\n </View>\n ) : null}\n <View\n style={[\n styleSheet.textContainer,\n squeezed && styleSheet.squeezedTextContainer,\n isSelected && selectedStyle\n ]}\n >\n <Html\n fontSize={squeezed ? theme.fontSize.medium : theme.fontSize.regular}\n style={htmlStyle}\n >\n {children}\n </Html>\n </View>\n </View>\n </Touchable>\n );\n};\n\nexport default Choice;\n"],"file":"index.native.js"}
|
|
@@ -5,7 +5,6 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
import { NovaSolidAudioAudioControlPlay as PlayIcon, NovaLineFilesOfficeFileOfficePdf as PDFIcon, NovaCompositionCoorpacademyMicrophone as PodcastIcon } from '@coorpacademy/nova-icons';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
7
|
import Provider from '../provider';
|
|
8
|
-
import { innerHTML } from '../label/style.css';
|
|
9
8
|
import style from './style.css';
|
|
10
9
|
const TYPES = {
|
|
11
10
|
pdf: {
|
|
@@ -59,7 +58,7 @@ const ResourceMiniature = (props, context) => {
|
|
|
59
58
|
color: white,
|
|
60
59
|
className: style.icon
|
|
61
60
|
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
62
|
-
className: classnames(descriptionClassName, innerHTML) // eslint-disable-next-line react/no-danger
|
|
61
|
+
className: classnames(descriptionClassName, style.innerHTML) // eslint-disable-next-line react/no-danger
|
|
63
62
|
,
|
|
64
63
|
dangerouslySetInnerHTML: {
|
|
65
64
|
__html: description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/resource-miniature/index.js"],"names":["React","PropTypes","NovaSolidAudioAudioControlPlay","PlayIcon","NovaLineFilesOfficeFileOfficePdf","PDFIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","classnames","Provider","
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/resource-miniature/index.js"],"names":["React","PropTypes","NovaSolidAudioAudioControlPlay","PlayIcon","NovaLineFilesOfficeFileOfficePdf","PDFIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","classnames","Provider","style","TYPES","pdf","icon","audio","video","ResourceMiniature","props","context","skin","type","description","poster","onClick","handleOnClick","selected","descriptionClassName","selectedDescription","white","primary","posterOutlineColor","Icon","posterWrapper","borderColor","backgroundImage","innerHTML","__html","propTypes","oneOf","bool","string","func","contextTypes","childContextTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaSolidAudioAudioControlPlay as PlayIcon,\n NovaLineFilesOfficeFileOfficePdf as PDFIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst TYPES = {\n pdf: {style: style.pdf, icon: PDFIcon},\n audio: {style: style.audio, icon: PodcastIcon},\n video: {style: style.video, icon: PlayIcon}\n};\n\nconst ResourceMiniature = (props, context) => {\n const {skin} = context;\n const {type, description, poster, onClick: handleOnClick, selected = false} = props;\n const descriptionClassName = selected ? style.selectedDescription : style.description;\n const white = get('common.white', skin);\n const primary = get('common.primary', skin);\n const posterOutlineColor = selected ? primary : white;\n const Icon = TYPES[type].icon;\n return (\n <div className={TYPES[type].style} onClick={handleOnClick} data-type={type}>\n <div className={style.posterWrapper} style={{borderColor: posterOutlineColor}}>\n <div className={style.poster} style={{backgroundImage: `url(${poster})`}} />\n {!selected ? <Icon color={white} className={style.icon} /> : null}\n </div>\n <div\n className={classnames(descriptionClassName, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n );\n};\n\nResourceMiniature.propTypes = {\n type: PropTypes.oneOf(keys(TYPES)),\n selected: PropTypes.bool,\n description: PropTypes.string,\n poster: PropTypes.string,\n onClick: PropTypes.func\n};\n\nResourceMiniature.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ResourceMiniature;\n"],"file":"index.js"}
|
|
@@ -76,7 +76,8 @@ const CMPopin = props => {
|
|
|
76
76
|
theme,
|
|
77
77
|
details,
|
|
78
78
|
requiredSelection,
|
|
79
|
-
disabled
|
|
79
|
+
disabled,
|
|
80
|
+
id
|
|
80
81
|
} = el;
|
|
81
82
|
return /*#__PURE__*/React.createElement("div", {
|
|
82
83
|
key: index,
|
|
@@ -90,7 +91,8 @@ const CMPopin = props => {
|
|
|
90
91
|
theme,
|
|
91
92
|
details,
|
|
92
93
|
requiredSelection,
|
|
93
|
-
disabled
|
|
94
|
+
disabled,
|
|
95
|
+
id
|
|
94
96
|
}));
|
|
95
97
|
})(listBtnSwicth);
|
|
96
98
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","map","Cta","ButtonLinkIconOnly","InputSwitch","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","string","oneOf","shape","func","bool","boolean","arrayOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","map","Cta","ButtonLinkIconOnly","InputSwitch","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","propTypes","string","oneOf","shape","func","bool","boolean","arrayOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary'])\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.boolean\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["PropTypes","type","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,eAAe;AACbC,EAAAA,IAAI,EAAED,SAAS,CAACE,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEH,SAAS,CAACI,MAFV;AAGbC,EAAAA,WAAW,EAAEL,SAAS,CAACM,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADU;AAE3BI,IAAAA,OAAO,EAAER,SAAS,CAACI;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAET,SAAS,CAACM,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADG;AAEpBM,IAAAA,OAAO,EAAEV,SAAS,CAACW,IAFC;AAGpB,iBAAaX,SAAS,CAACI,MAHH;AAIpB,kBAAcJ,SAAS,CAACI;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEZ,SAAS,CAACM,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADE;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/review-correction-popin/prop-types.js"],"names":["PropTypes","type","oneOf","resultLabel","string","information","shape","label","message","next","onClick","func","klf","tooltip"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,eAAe;AACbC,EAAAA,IAAI,EAAED,SAAS,CAACE,KAAV,CAAgB,CAAC,OAAD,EAAU,OAAV,CAAhB,CADO;AAEbC,EAAAA,WAAW,EAAEH,SAAS,CAACI,MAFV;AAGbC,EAAAA,WAAW,EAAEL,SAAS,CAACM,KAAV,CAAgB;AAC3BC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADU;AAE3BI,IAAAA,OAAO,EAAER,SAAS,CAACI;AAFQ,GAAhB,CAHA;AAObK,EAAAA,IAAI,EAAET,SAAS,CAACM,KAAV,CAAgB;AACpBC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADG;AAEpBM,IAAAA,OAAO,EAAEV,SAAS,CAACW,IAFC;AAGpB,iBAAaX,SAAS,CAACI,MAHH;AAIpB,kBAAcJ,SAAS,CAACI;AAJJ,GAAhB,CAPO;AAabQ,EAAAA,GAAG,EAAEZ,SAAS,CAACM,KAAV,CAAgB;AACnBC,IAAAA,KAAK,EAAEP,SAAS,CAACI,MADE;AAEnBS,IAAAA,OAAO,EAAEb,SAAS,CAACI;AAFA,GAAhB;AAbQ,CAAf","sourcesContent":["import PropTypes from 'prop-types';\n\nexport default {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n tooltip: PropTypes.string\n })\n};\n"],"file":"prop-types.js"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
2
|
+
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import get from 'lodash/fp/get';
|
|
7
|
+
import getOr from 'lodash/fp/getOr';
|
|
8
|
+
import Answer from '../../molecule/answer';
|
|
9
|
+
import ButtonLink from '../../atom/button-link';
|
|
10
|
+
import Loader from '../../atom/loader';
|
|
11
|
+
import Provider from '../../atom/provider';
|
|
12
|
+
import ReviewCorrectionPopin from '../../molecule/review-correction-popin';
|
|
13
|
+
import propTypes from './prop-types';
|
|
14
|
+
import style from './style.css';
|
|
15
|
+
|
|
16
|
+
const CorrectionPopin = ({
|
|
17
|
+
correctionPopinProps,
|
|
18
|
+
slideIndex,
|
|
19
|
+
showCorrectionPopin,
|
|
20
|
+
animateCorrectionPopin
|
|
21
|
+
}) => {
|
|
22
|
+
if (!showCorrectionPopin) return null;
|
|
23
|
+
const klf = getOr({}, 'klf', correctionPopinProps);
|
|
24
|
+
const information = getOr({
|
|
25
|
+
label: '',
|
|
26
|
+
message: ''
|
|
27
|
+
}, 'information', correctionPopinProps);
|
|
28
|
+
const next = get('next', correctionPopinProps);
|
|
29
|
+
const _correctionPopinProps = {
|
|
30
|
+
next: {
|
|
31
|
+
onClick: () => {
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
console.log('Next Slide');
|
|
34
|
+
},
|
|
35
|
+
label: next && next.label,
|
|
36
|
+
'data-name': `next-question-button-${slideIndex}`,
|
|
37
|
+
'aria-label': next && next['aria-label']
|
|
38
|
+
},
|
|
39
|
+
klf,
|
|
40
|
+
information,
|
|
41
|
+
type: correctionPopinProps.type,
|
|
42
|
+
resultLabel: correctionPopinProps.resultLabel
|
|
43
|
+
};
|
|
44
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
45
|
+
className: classnames(style.correctionPopinWrapper, animateCorrectionPopin ? style.popinAnimation : null)
|
|
46
|
+
}, /*#__PURE__*/React.createElement(ReviewCorrectionPopin, _correctionPopinProps));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
CorrectionPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
50
|
+
slideIndex: PropTypes.string,
|
|
51
|
+
showCorrectionPopin: PropTypes.bool,
|
|
52
|
+
animateCorrectionPopin: PropTypes.bool,
|
|
53
|
+
correctionPopinProps: propTypes.correctionPopinProps
|
|
54
|
+
} : {};
|
|
55
|
+
|
|
56
|
+
const ValidateButton = ({
|
|
57
|
+
slideIndex,
|
|
58
|
+
validateButton,
|
|
59
|
+
primarySkinColor
|
|
60
|
+
}) => {
|
|
61
|
+
const {
|
|
62
|
+
label,
|
|
63
|
+
onClick,
|
|
64
|
+
disabled
|
|
65
|
+
} = validateButton;
|
|
66
|
+
const validateButtonProps = {
|
|
67
|
+
type: 'primary',
|
|
68
|
+
label,
|
|
69
|
+
'aria-label': label,
|
|
70
|
+
'data-name': `slide-validate-button-${slideIndex}`,
|
|
71
|
+
onClick,
|
|
72
|
+
disabled,
|
|
73
|
+
className: style.validateButton,
|
|
74
|
+
customStyle: {
|
|
75
|
+
backgroundColor: primarySkinColor
|
|
76
|
+
}
|
|
77
|
+
/*
|
|
78
|
+
slide validation action, this will trigger the correction popin
|
|
79
|
+
(with the useEffect that fires the dispatchers, if there is a nextContent content,
|
|
80
|
+
it will be loaded here) but will not trigger any animations unless the endReview
|
|
81
|
+
signal is received (all slide will disappear, also fired in a useEffect),
|
|
82
|
+
if it is the last slide and the content needs to be different, then that update will
|
|
83
|
+
be handled on the next slide logic but the content will be carried from here.
|
|
84
|
+
onClick: async () => {
|
|
85
|
+
// endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
|
|
86
|
+
await validateSlide();
|
|
87
|
+
},
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
};
|
|
91
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
key: "button-wrapper",
|
|
93
|
+
className: style.validateButtonWrapper
|
|
94
|
+
}, /*#__PURE__*/React.createElement(ButtonLink, validateButtonProps));
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
ValidateButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
98
|
+
slideIndex: PropTypes.string,
|
|
99
|
+
validateButton: propTypes.validateButton,
|
|
100
|
+
primarySkinColor: PropTypes.string
|
|
101
|
+
} : {};
|
|
102
|
+
|
|
103
|
+
const QuestionContainer = props => {
|
|
104
|
+
const {
|
|
105
|
+
answerUI,
|
|
106
|
+
questionText,
|
|
107
|
+
questionOrigin
|
|
108
|
+
} = props;
|
|
109
|
+
if (!answerUI || !questionText) return null;
|
|
110
|
+
const answerProps = get(['model', 'choices'], answerUI) ?
|
|
111
|
+
/* istanbul ignore next */
|
|
112
|
+
_extends(_extends({}, answerUI), {}, {
|
|
113
|
+
model: _extends(_extends({}, answerUI.model), {}, {
|
|
114
|
+
answers: answerUI.model.choices
|
|
115
|
+
})
|
|
116
|
+
}) : answerUI;
|
|
117
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
key: "content-container",
|
|
119
|
+
className: style.slideContentContainer
|
|
120
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
key: "from-course",
|
|
122
|
+
className: style.questionOrigin
|
|
123
|
+
}, questionOrigin), /*#__PURE__*/React.createElement("div", {
|
|
124
|
+
key: "title",
|
|
125
|
+
className: style.question
|
|
126
|
+
}, questionText), /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
key: "help",
|
|
128
|
+
className: style.help
|
|
129
|
+
}, get('help', answerUI)), /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
key: "answer-container",
|
|
131
|
+
className: style.answerContainer
|
|
132
|
+
}, /*#__PURE__*/React.createElement(Answer, _extends({}, answerProps, {
|
|
133
|
+
key: "answer"
|
|
134
|
+
}))));
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
QuestionContainer.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
138
|
+
answerUI: PropTypes.shape(propTypes.slide.answerUI),
|
|
139
|
+
questionText: PropTypes.string,
|
|
140
|
+
questionOrigin: PropTypes.string
|
|
141
|
+
} : {};
|
|
142
|
+
|
|
143
|
+
const Slide = (props, context) => {
|
|
144
|
+
const {
|
|
145
|
+
slide,
|
|
146
|
+
validateButton,
|
|
147
|
+
correctionPopinProps,
|
|
148
|
+
slideIndex = '0'
|
|
149
|
+
} = props;
|
|
150
|
+
const {
|
|
151
|
+
skin
|
|
152
|
+
} = context;
|
|
153
|
+
const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);
|
|
154
|
+
const {
|
|
155
|
+
loading,
|
|
156
|
+
loadingAriaLabel,
|
|
157
|
+
parentContentTitle,
|
|
158
|
+
questionText,
|
|
159
|
+
answerUI,
|
|
160
|
+
showCorrectionPopin,
|
|
161
|
+
animateCorrectionPopin
|
|
162
|
+
} = slide;
|
|
163
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
164
|
+
"data-name": `slide-container`,
|
|
165
|
+
className: style.slide
|
|
166
|
+
}, loading ? /*#__PURE__*/React.createElement(Loader, {
|
|
167
|
+
className: style.loader,
|
|
168
|
+
theme: "default",
|
|
169
|
+
"aria-label": loadingAriaLabel
|
|
170
|
+
}) : [/*#__PURE__*/React.createElement(QuestionContainer, {
|
|
171
|
+
questionOrigin: parentContentTitle,
|
|
172
|
+
questionText: questionText,
|
|
173
|
+
answerUI: answerUI,
|
|
174
|
+
key: "question-container"
|
|
175
|
+
}), /*#__PURE__*/React.createElement(ValidateButton, {
|
|
176
|
+
slideIndex: slideIndex,
|
|
177
|
+
validateButton: validateButton,
|
|
178
|
+
primarySkinColor: primarySkinColor,
|
|
179
|
+
key: "validate-button"
|
|
180
|
+
}), /*#__PURE__*/React.createElement(CorrectionPopin, {
|
|
181
|
+
correctionPopinProps: correctionPopinProps,
|
|
182
|
+
slideIndex: slideIndex,
|
|
183
|
+
showCorrectionPopin: showCorrectionPopin,
|
|
184
|
+
animateCorrectionPopin: animateCorrectionPopin,
|
|
185
|
+
key: "correction-popin"
|
|
186
|
+
})]);
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
Slide.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
190
|
+
Slide.contextTypes = {
|
|
191
|
+
skin: Provider.childContextTypes.skin
|
|
192
|
+
};
|
|
193
|
+
export default Slide;
|
|
194
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","Provider","ReviewCorrectionPopin","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","answerProps","model","answers","choices","slideContentContainer","question","help","answerContainer","shape","slide","Slide","context","skin","loading","loadingAriaLabel","parentContentTitle","loader","contextTypes","childContextTypes"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\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 return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide will disappear, also fired in a useEffect),\n\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin} = props;\n if (!answerUI || !questionText) return null;\n\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string\n};\n\nconst Slide = (props, context) => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nSlide.propTypes = propTypes;\n\nSlide.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default Slide;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';
|
|
3
|
+
import AnswerPropTypes from '../../molecule/answer/prop-types';
|
|
4
|
+
export const SlideProp = PropTypes.shape({
|
|
5
|
+
hidden: PropTypes.bool,
|
|
6
|
+
position: PropTypes.number,
|
|
7
|
+
loading: PropTypes.bool,
|
|
8
|
+
loadingAriaLabel: PropTypes.string,
|
|
9
|
+
animationType: PropTypes.string,
|
|
10
|
+
// 'unstack' | 'restack'
|
|
11
|
+
isCorrect: PropTypes.bool,
|
|
12
|
+
animateCorrectionPopin: PropTypes.bool,
|
|
13
|
+
showCorrectionPopin: PropTypes.bool,
|
|
14
|
+
parentContentTitle: PropTypes.string,
|
|
15
|
+
questionText: PropTypes.string,
|
|
16
|
+
answerUI: PropTypes.shape(AnswerPropTypes)
|
|
17
|
+
});
|
|
18
|
+
export default {
|
|
19
|
+
slideIndex: PropTypes.string,
|
|
20
|
+
slide: SlideProp,
|
|
21
|
+
validateButton: PropTypes.shape({
|
|
22
|
+
label: PropTypes.string.isRequired,
|
|
23
|
+
onClick: PropTypes.func.isRequired,
|
|
24
|
+
disabled: PropTypes.bool
|
|
25
|
+
}),
|
|
26
|
+
correctionPopinProps: PropTypes.shape({
|
|
27
|
+
klf: ReviewCorrectionPopinPropTypes.klf,
|
|
28
|
+
information: ReviewCorrectionPopinPropTypes.information,
|
|
29
|
+
next: PropTypes.shape({
|
|
30
|
+
label: PropTypes.string,
|
|
31
|
+
'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !
|
|
32
|
+
// updateSlidesOnNext: PropTypes.func.isRequired ???
|
|
33
|
+
|
|
34
|
+
}),
|
|
35
|
+
resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,
|
|
36
|
+
type: ReviewCorrectionPopinPropTypes.type
|
|
37
|
+
})
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=prop-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/prop-types.js"],"names":["PropTypes","ReviewCorrectionPopinPropTypes","AnswerPropTypes","SlideProp","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","information","next","resultLabel","type"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,8BAAP,MAA2C,mDAA3C;AACA,OAAOC,eAAP,MAA4B,kCAA5B;AAEA,OAAO,MAAMC,SAAS,GAAGH,SAAS,CAACI,KAAV,CAAgB;AACvCC,EAAAA,MAAM,EAAEL,SAAS,CAACM,IADqB;AAEvCC,EAAAA,QAAQ,EAAEP,SAAS,CAACQ,MAFmB;AAGvCC,EAAAA,OAAO,EAAET,SAAS,CAACM,IAHoB;AAIvCI,EAAAA,gBAAgB,EAAEV,SAAS,CAACW,MAJW;AAKvCC,EAAAA,aAAa,EAAEZ,SAAS,CAACW,MALc;AAKN;AACjCE,EAAAA,SAAS,EAAEb,SAAS,CAACM,IANkB;AAOvCQ,EAAAA,sBAAsB,EAAEd,SAAS,CAACM,IAPK;AAQvCS,EAAAA,mBAAmB,EAAEf,SAAS,CAACM,IARQ;AASvCU,EAAAA,kBAAkB,EAAEhB,SAAS,CAACW,MATS;AAUvCM,EAAAA,YAAY,EAAEjB,SAAS,CAACW,MAVe;AAWvCO,EAAAA,QAAQ,EAAElB,SAAS,CAACI,KAAV,CAAgBF,eAAhB;AAX6B,CAAhB,CAAlB;AAcP,eAAe;AACbiB,EAAAA,UAAU,EAAEnB,SAAS,CAACW,MADT;AAEbS,EAAAA,KAAK,EAAEjB,SAFM;AAGbkB,EAAAA,cAAc,EAAErB,SAAS,CAACI,KAAV,CAAgB;AAC9BkB,IAAAA,KAAK,EAAEtB,SAAS,CAACW,MAAV,CAAiBY,UADM;AAE9BC,IAAAA,OAAO,EAAExB,SAAS,CAACyB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAE1B,SAAS,CAACM;AAHU,GAAhB,CAHH;AAQbqB,EAAAA,oBAAoB,EAAE3B,SAAS,CAACI,KAAV,CAAgB;AACpCwB,IAAAA,GAAG,EAAE3B,8BAA8B,CAAC2B,GADA;AAEpCC,IAAAA,WAAW,EAAE5B,8BAA8B,CAAC4B,WAFR;AAGpCC,IAAAA,IAAI,EAAE9B,SAAS,CAACI,KAAV,CAAgB;AACpBkB,MAAAA,KAAK,EAAEtB,SAAS,CAACW,MADG;AAEpB,oBAAcX,SAAS,CAACW,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCoB,IAAAA,WAAW,EAAE9B,8BAA8B,CAAC8B,WARR;AASpCC,IAAAA,IAAI,EAAE/B,8BAA8B,CAAC+B;AATD,GAAhB;AART,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes from '../../molecule/answer/prop-types';\n\nexport const SlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n loading: PropTypes.bool,\n loadingAriaLabel: PropTypes.string,\n animationType: PropTypes.string, // 'unstack' | 'restack'\n isCorrect: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n showCorrectionPopin: PropTypes.bool,\n parentContentTitle: PropTypes.string,\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(AnswerPropTypes)\n});\n\nexport default {\n slideIndex: PropTypes.string,\n slide: SlideProp,\n validateButton: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopinPropTypes.klf,\n information: ReviewCorrectionPopinPropTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string // Pourquoi le onClick du next n'est pas ici !\n // updateSlidesOnNext: PropTypes.func.isRequired ???\n }),\n resultLabel: ReviewCorrectionPopinPropTypes.resultLabel,\n type: ReviewCorrectionPopinPropTypes.type\n })\n};\n"],"file":"prop-types.js"}
|