@coorpacademy/components 10.22.24-alpha.5 → 10.22.25
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 +4 -4
- package/es/atom/choice/index.native.js.map +1 -1
- package/es/atom/select-modal/index.native.js +1 -1
- package/es/atom/select-modal/index.native.js.map +1 -1
- package/es/hoc/modal/select/index.native.js.map +1 -1
- package/es/molecule/answer/index.native.js +85 -0
- package/es/molecule/answer/index.native.js.map +1 -0
- package/es/molecule/answer/prop-types.js +22 -3
- package/es/molecule/answer/prop-types.js.map +1 -1
- package/es/molecule/questions/mobile/draggable/index.native.js +8 -29
- package/es/molecule/questions/mobile/draggable/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/switch/index.native.js +57 -54
- package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +18 -23
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/es/molecule/questions/types.js +2 -0
- package/{lib/types/styles.d.js.map → es/molecule/questions/types.js.map} +1 -1
- package/es/organism/review-congrats/index.js +3 -1
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/organism/review-congrats/style.css +5 -0
- package/es/organism/review-slide/index.js +7 -11
- package/es/organism/review-slide/index.js.map +1 -1
- package/es/organism/review-slide/index.native.js +213 -0
- package/es/organism/review-slide/index.native.js.map +1 -0
- package/es/organism/review-slide/prop-types.js +4 -3
- package/es/organism/review-slide/prop-types.js.map +1 -1
- package/es/organism/review-slide/style.css +4 -0
- package/es/organism/review-stacked-slides/index.native.js +34 -0
- package/es/organism/review-stacked-slides/index.native.js.map +1 -0
- package/es/organism/review-stacked-slides/prop-types.js +3 -2
- package/es/organism/review-stacked-slides/prop-types.js.map +1 -1
- package/es/template/app-review/player/index.native.js +33 -230
- package/es/template/app-review/player/index.native.js.map +1 -1
- package/es/template/app-review/player/prop-types.js.map +1 -1
- package/es/template/app-review/player/style.css +7 -0
- package/es/template/app-review/template-context.js +3 -1
- package/es/template/app-review/template-context.js.map +1 -1
- package/es/types/styles.js +2 -0
- package/es/types/{styles.d.js.map → styles.js.map} +1 -1
- package/lib/atom/choice/index.native.js +4 -4
- package/lib/atom/choice/index.native.js.map +1 -1
- package/lib/atom/select-modal/index.native.js +1 -1
- package/lib/atom/select-modal/index.native.js.map +1 -1
- package/lib/hoc/modal/select/index.native.js.map +1 -1
- package/lib/molecule/answer/index.native.js +94 -0
- package/lib/molecule/answer/index.native.js.map +1 -0
- package/lib/molecule/answer/prop-types.js +25 -3
- package/lib/molecule/answer/prop-types.js.map +1 -1
- package/lib/molecule/questions/mobile/draggable/index.native.js +8 -31
- package/lib/molecule/questions/mobile/draggable/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/switch/index.native.js +64 -62
- package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +18 -23
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/lib/molecule/questions/types.js +2 -0
- package/lib/{types/app-review.d.js.map → molecule/questions/types.js.map} +1 -1
- package/lib/organism/review-congrats/index.js +3 -1
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/organism/review-congrats/style.css +5 -0
- package/lib/organism/review-slide/index.js +7 -11
- package/lib/organism/review-slide/index.js.map +1 -1
- package/lib/organism/review-slide/index.native.js +232 -0
- package/lib/organism/review-slide/index.native.js.map +1 -0
- package/lib/organism/review-slide/prop-types.js +6 -5
- package/lib/organism/review-slide/prop-types.js.map +1 -1
- package/lib/organism/review-slide/style.css +4 -0
- package/lib/organism/review-stacked-slides/index.native.js +47 -0
- package/lib/organism/review-stacked-slides/index.native.js.map +1 -0
- package/lib/organism/review-stacked-slides/prop-types.js +3 -2
- package/lib/organism/review-stacked-slides/prop-types.js.map +1 -1
- package/lib/template/app-review/player/index.native.js +36 -233
- package/lib/template/app-review/player/index.native.js.map +1 -1
- package/lib/template/app-review/player/prop-types.js.map +1 -1
- package/lib/template/app-review/player/style.css +7 -0
- package/lib/template/app-review/template-context.js +3 -1
- package/lib/template/app-review/template-context.js.map +1 -1
- package/lib/types/styles.js +2 -0
- package/{es/types/app-review.d.js.map → lib/types/styles.js.map} +1 -1
- package/package.json +2 -2
- package/es/molecule/questions/qcm/index.native.js +0 -50
- package/es/molecule/questions/qcm/index.native.js.map +0 -1
- package/es/types/app-review.d.js +0 -2
- package/es/types/progression-engine.d.js +0 -2
- package/es/types/progression-engine.d.js.map +0 -1
- package/es/types/styles.d.js +0 -2
- package/lib/molecule/questions/qcm/index.native.js +0 -62
- package/lib/molecule/questions/qcm/index.native.js.map +0 -1
- package/lib/types/app-review.d.js +0 -2
- package/lib/types/progression-engine.d.js +0 -2
- package/lib/types/progression-engine.d.js.map +0 -1
- package/lib/types/styles.d.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/index.native.tsx"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","createQuestionStyle","theme","brandTheme","StyleSheet","create","questionHeading","justifyContent","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesContainer","flex","width","validateButton","backgroundColor","borderRadius","validateButtonText","white","Question","props","answerUI","style","setStyle","questionStyle","creatSlideStyle","num","screenWidth","screenHeight","slideWidth","slideHeight","slide","position","top","left","height","alignItems","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","slideStyle","loading","parentContentTitle"],"mappings":"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","sourcesContent":["import React, {useEffect, useMemo, useState} from 'react';\nimport {StyleSheet, useWindowDimensions, View} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\n// import Loader from '../../atom/loader';\n// import ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Touchable from '../../hoc/touchable/index.native';\nimport {Props, SlideProps} from './prop-types';\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 <Text>ReviewCorrectionPopin</Text>\n // <ReviewCorrectionPopin {..._correctionPopinProps} />\n );\n};\n\n// const 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// customStyle: {\n// backgroundColor: primarySkinColor\n// }\n// };\n\n// return <Button title=\"validate todo\" />;\n// };\n\nconst createQuestionStyle = (theme: Theme, brandTheme: any) =>\n StyleSheet.create({\n questionHeading: {\n // backgroundColor: '#f00', // flex-debug\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 // backgroundColor: '#38295b', // flex-debug\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 choicesContainer: {\n flex: 1,\n width: '100%',\n // backgroundColor: '#ff0', // flex-debug\n justifyContent: 'center'\n },\n validateButton: {\n backgroundColor: brandTheme?.colors.primary || theme.colors.text.primary,\n borderRadius: 7,\n width: '100%'\n },\n validateButtonText: {\n fontSize: 14,\n lineHeight: 20,\n fontWeight: '700',\n color: theme.colors.white,\n marginBottom: 16,\n marginTop: 16,\n textAlign: 'center'\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, brandTheme} = useTemplateContext();\n const [style, setStyle] = useState<any | null>(null);\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme, brandTheme);\n setStyle(questionStyle);\n }, [theme, brandTheme]);\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 <View style={style.choicesContainer}>\n <Answer {...answerUI} />\n </View>\n <Touchable style={style.validateButton}>\n <Text style={style.validateButtonText}>@todo validate</Text>\n </Touchable>\n </>\n );\n};\n\nconst creatSlideStyle = (num: number, screenWidth: number, screenHeight: number) => {\n const slideWidth = screenWidth - 40 - num * 8;\n const slideHeight = screenHeight * 0.75;\n\n return StyleSheet.create({\n slide: {\n position: 'absolute',\n top: num * -5,\n left: -slideWidth / 2,\n flex: 1,\n backgroundColor: '#fff', // theme.colors.white\n height: slideHeight,\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: Props) => {\n const {slide, validateButton, correctionPopinProps, num, slideIndex = '0'} = props;\n\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <View style={slideStyle.slide}>\n {loading ? (\n // <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n <Text>@todo loader {num}</Text>\n ) : (\n [\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </View>\n );\n};\n\nexport default Slide;\n"],"file":"index.native.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.default = exports.
|
|
4
|
+
exports.default = exports.SlidePropsTypes = void 0;
|
|
5
5
|
|
|
6
6
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
7
7
|
|
|
@@ -11,7 +11,7 @@ var _propTypes3 = _interopRequireDefault(require("../../molecule/answer/prop-typ
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const SlidePropsTypes = _propTypes.default.shape({
|
|
15
15
|
hidden: _propTypes.default.bool,
|
|
16
16
|
position: _propTypes.default.number,
|
|
17
17
|
loading: _propTypes.default.bool,
|
|
@@ -26,10 +26,10 @@ const SlideProp = _propTypes.default.shape({
|
|
|
26
26
|
answerUI: _propTypes.default.shape(_propTypes3.default)
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
exports.
|
|
30
|
-
|
|
29
|
+
exports.SlidePropsTypes = SlidePropsTypes;
|
|
30
|
+
const propTypes = {
|
|
31
31
|
slideIndex: _propTypes.default.string,
|
|
32
|
-
slide:
|
|
32
|
+
slide: SlidePropsTypes,
|
|
33
33
|
validateButton: _propTypes.default.shape({
|
|
34
34
|
label: _propTypes.default.string.isRequired,
|
|
35
35
|
onClick: _propTypes.default.func.isRequired,
|
|
@@ -48,5 +48,6 @@ var _default = {
|
|
|
48
48
|
type: _propTypes2.default.type
|
|
49
49
|
})
|
|
50
50
|
};
|
|
51
|
+
var _default = propTypes;
|
|
51
52
|
exports.default = _default;
|
|
52
53
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-slide/prop-types.
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-slide/prop-types.ts"],"names":["SlidePropsTypes","PropTypes","shape","hidden","bool","position","number","loading","loadingAriaLabel","string","animationType","isCorrect","animateCorrectionPopin","showCorrectionPopin","parentContentTitle","questionText","answerUI","AnswerPropTypes","propTypes","slideIndex","slide","validateButton","label","isRequired","onClick","func","disabled","correctionPopinProps","klf","ReviewCorrectionPopinPropTypes","information","next","resultLabel","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;AAEO,MAAMA,eAAe,GAAGC,mBAAUC,KAAV,CAAgB;AAC7CC,EAAAA,MAAM,EAAEF,mBAAUG,IAD2B;AAE7CC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFyB;AAG7CC,EAAAA,OAAO,EAAEN,mBAAUG,IAH0B;AAI7CI,EAAAA,gBAAgB,EAAEP,mBAAUQ,MAJiB;AAK7CC,EAAAA,aAAa,EAAET,mBAAUQ,MALoB;AAKZ;AACjCE,EAAAA,SAAS,EAAEV,mBAAUG,IANwB;AAO7CQ,EAAAA,sBAAsB,EAAEX,mBAAUG,IAPW;AAQ7CS,EAAAA,mBAAmB,EAAEZ,mBAAUG,IARc;AAS7CU,EAAAA,kBAAkB,EAAEb,mBAAUQ,MATe;AAU7CM,EAAAA,YAAY,EAAEd,mBAAUQ,MAVqB;AAW7CO,EAAAA,QAAQ,EAAEf,mBAAUC,KAAV,CAAgBe,mBAAhB;AAXmC,CAAhB,CAAxB;;;AAcP,MAAMC,SAAS,GAAG;AAChBC,EAAAA,UAAU,EAAElB,mBAAUQ,MADN;AAEhBW,EAAAA,KAAK,EAAEpB,eAFS;AAGhBqB,EAAAA,cAAc,EAAEpB,mBAAUC,KAAV,CAAgB;AAC9BoB,IAAAA,KAAK,EAAErB,mBAAUQ,MAAV,CAAiBc,UADM;AAE9BC,IAAAA,OAAO,EAAEvB,mBAAUwB,IAAV,CAAeF,UAFM;AAG9BG,IAAAA,QAAQ,EAAEzB,mBAAUG;AAHU,GAAhB,CAHA;AAQhBuB,EAAAA,oBAAoB,EAAE1B,mBAAUC,KAAV,CAAgB;AACpC0B,IAAAA,GAAG,EAAEC,oBAA+BD,GADA;AAEpCE,IAAAA,WAAW,EAAED,oBAA+BC,WAFR;AAGpCC,IAAAA,IAAI,EAAE9B,mBAAUC,KAAV,CAAgB;AACpBoB,MAAAA,KAAK,EAAErB,mBAAUQ,MADG;AAEpB,oBAAcR,mBAAUQ,MAFJ,CAEW;AAC/B;;AAHoB,KAAhB,CAH8B;AAQpCuB,IAAAA,WAAW,EAAEH,oBAA+BG,WARR;AASpCC,IAAAA,IAAI,EAAEJ,oBAA+BI;AATD,GAAhB;AARN,CAAlB;eAqBef,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewCorrectionPopinPropTypes from '../../molecule/review-correction-popin/prop-types';\nimport AnswerPropTypes, {Props as AnswerProps} from '../../molecule/answer/prop-types';\n\nexport const SlidePropsTypes = 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\nconst propTypes = {\n slideIndex: PropTypes.string,\n slide: SlidePropsTypes,\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\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes> & {\n num: number;\n};\n\nexport type SlideProps = {\n hidden: boolean;\n position: number;\n loading: boolean;\n loadingAriaLabel: string;\n animationType: 'unstack' | 'restack';\n isCorrect: boolean;\n animateCorrectionPopin: boolean;\n showCorrectionPopin: boolean;\n parentContentTitle: string;\n questionText: string;\n answerUI: AnswerProps;\n};\n"],"file":"prop-types.js"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.TOTAL_SLIDES_STACK = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _keys = _interopRequireDefault(require("lodash/fp/keys"));
|
|
11
|
+
|
|
12
|
+
var _index = _interopRequireDefault(require("../review-slide/index.native"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
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); }
|
|
17
|
+
|
|
18
|
+
const TOTAL_SLIDES_STACK = 5;
|
|
19
|
+
exports.TOTAL_SLIDES_STACK = TOTAL_SLIDES_STACK;
|
|
20
|
+
|
|
21
|
+
const StackedSlides = props => {
|
|
22
|
+
const {
|
|
23
|
+
slides = {},
|
|
24
|
+
endReview,
|
|
25
|
+
validateButton,
|
|
26
|
+
correctionPopinProps
|
|
27
|
+
} = props;
|
|
28
|
+
const indexes = (0, _keys.default)(slides).reverse();
|
|
29
|
+
const stackedSlides = indexes.map(slideIndex => {
|
|
30
|
+
const slide = slides[slideIndex]; // const {animationType, hidden, position} = slide;
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
|
|
33
|
+
num: Number.parseInt(slideIndex),
|
|
34
|
+
slideIndex,
|
|
35
|
+
slide,
|
|
36
|
+
validateButton,
|
|
37
|
+
correctionPopinProps
|
|
38
|
+
}, {
|
|
39
|
+
key: slideIndex
|
|
40
|
+
}));
|
|
41
|
+
});
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, stackedSlides);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _default = StackedSlides;
|
|
46
|
+
exports.default = _default;
|
|
47
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-stacked-slides/index.native.tsx"],"names":["TOTAL_SLIDES_STACK","StackedSlides","props","slides","endReview","validateButton","correctionPopinProps","indexes","reverse","stackedSlides","map","slideIndex","slide","num","Number","parseInt"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGO,MAAMA,kBAAkB,GAAG,CAA3B;;;AAEP,MAAMC,aAAa,GAAIC,KAAD,IAAkB;AACtC,QAAM;AAACC,IAAAA,MAAM,GAAG,EAAV;AAAcC,IAAAA,SAAd;AAAyBC,IAAAA,cAAzB;AAAyCC,IAAAA;AAAzC,MAAiEJ,KAAvE;AAEA,QAAMK,OAAO,GAAG,mBAAKJ,MAAL,EAAaK,OAAb,EAAhB;AACA,QAAMC,aAAa,GAAGF,OAAO,CAACG,GAAR,CAAYC,UAAU,IAAI;AAC9C,UAAMC,KAAK,GAAGT,MAAM,CAACQ,UAAD,CAApB,CAD8C,CAE9C;;AAEA,wBACE,6BAAC,cAAD,WACM;AACFE,MAAAA,GAAG,EAAEC,MAAM,CAACC,QAAP,CAAgBJ,UAAhB,CADH;AAEFA,MAAAA,UAFE;AAGFC,MAAAA,KAHE;AAIFP,MAAAA,cAJE;AAKFC,MAAAA;AALE,KADN;AAQE,MAAA,GAAG,EAAEK;AARP,OADF;AAYD,GAhBqB,CAAtB;AAkBA,sBAAO,6BAAC,iBAAD,QAAOF,aAAP,CAAP;AACD,CAvBD;;eAyBeR,a","sourcesContent":["import React from 'react';\nimport {View} from 'react-native';\nimport keys from 'lodash/fp/keys';\nimport Slide from '../review-slide/index.native';\nimport {Props} from './prop-types';\n\nexport const TOTAL_SLIDES_STACK = 5;\n\nconst StackedSlides = (props: Props) => {\n const {slides = {}, endReview, validateButton, correctionPopinProps} = props;\n\n const indexes = keys(slides).reverse();\n const stackedSlides = indexes.map(slideIndex => {\n const slide = slides[slideIndex];\n // const {animationType, hidden, position} = slide;\n\n return (\n <Slide\n {...{\n num: Number.parseInt(slideIndex),\n slideIndex,\n slide,\n validateButton,\n correctionPopinProps\n }}\n key={slideIndex}\n />\n );\n });\n\n return <View>{stackedSlides}</View>;\n};\n\nexport default StackedSlides;\n"],"file":"index.native.js"}
|
|
@@ -13,7 +13,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const propTypes = {
|
|
17
17
|
validateButton: _propTypes2.default.validateButton,
|
|
18
18
|
correctionPopinProps: _propTypes2.default.correctionPopinProps,
|
|
19
19
|
slides: _propTypes.default.shape({
|
|
@@ -22,8 +22,9 @@ var _default = {
|
|
|
22
22
|
'2': _propTypes2.SlideProp,
|
|
23
23
|
'3': _propTypes2.SlideProp,
|
|
24
24
|
'4': _propTypes2.SlideProp
|
|
25
|
-
}),
|
|
25
|
+
}).isRequired,
|
|
26
26
|
endReview: _propTypes.default.bool
|
|
27
27
|
};
|
|
28
|
+
var _default = propTypes;
|
|
28
29
|
exports.default = _default;
|
|
29
30
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-stacked-slides/prop-types.ts"],"names":["propTypes","validateButton","ReviewSlideProps","correctionPopinProps","slides","PropTypes","shape","SlideProp","isRequired","endReview","bool"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEA,MAAMA,SAAS,GAAG;AAChBC,EAAAA,cAAc,EAAEC,oBAAiBD,cADjB;AAEhBE,EAAAA,oBAAoB,EAAED,oBAAiBC,oBAFvB;AAGhBC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgB;AACtB,SAAKC,qBADiB;AAEtB,SAAKA,qBAFiB;AAGtB,SAAKA,qBAHiB;AAItB,SAAKA,qBAJiB;AAKtB,SAAKA;AALiB,GAAhB,EAMLC,UATa;AAUhBC,EAAAA,SAAS,EAAEJ,mBAAUK;AAVL,CAAlB;eAaeV,S","sourcesContent":["import PropTypes from 'prop-types';\nimport ReviewSlideProps, {SlideProp} from '../review-slide/prop-types';\n\nconst propTypes = {\n validateButton: ReviewSlideProps.validateButton,\n correctionPopinProps: ReviewSlideProps.correctionPopinProps,\n slides: PropTypes.shape({\n '0': SlideProp,\n '1': SlideProp,\n '2': SlideProp,\n '3': SlideProp,\n '4': SlideProp\n }).isRequired,\n endReview: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"file":"prop-types.js"}
|
|
@@ -3,267 +3,70 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
-
var _react =
|
|
7
|
-
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
7
|
|
|
10
8
|
var _reactNative = require("react-native");
|
|
11
9
|
|
|
12
|
-
var
|
|
10
|
+
var _index = _interopRequireDefault(require("../../../organism/review-stacked-slides/index.native"));
|
|
13
11
|
|
|
14
12
|
var _templateContext = require("../template-context");
|
|
15
13
|
|
|
16
|
-
var _propTypes2 = require("./prop-types");
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
// import translations from '../../../translations';
|
|
22
|
-
// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';
|
|
23
|
-
// import Button from '../../../app-shared/components/button';
|
|
24
|
-
// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';
|
|
25
|
-
// export type _Choice_ = {
|
|
26
|
-
// text?: string,
|
|
27
|
-
// selected: boolean
|
|
28
|
-
// };
|
|
29
|
-
// export type _Slide_ = {
|
|
30
|
-
// category: string,
|
|
31
|
-
// question: string,
|
|
32
|
-
// instruction: string,
|
|
33
|
-
// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',
|
|
34
|
-
// choices?: _Choice_[]
|
|
35
|
-
// };
|
|
36
|
-
// interface Props {
|
|
37
|
-
// slide: _Slide_;
|
|
38
|
-
// num: number;
|
|
39
|
-
// }
|
|
40
|
-
const quizzerStyle = _reactNative.StyleSheet.create({
|
|
41
|
-
container: {
|
|
42
|
-
flex: 1,
|
|
43
|
-
padding: 20,
|
|
44
|
-
// paddingTop: HEADER_HEIGHT + 20, @todo with props
|
|
45
|
-
// backgroundColor: theme.colors.white, @todo with props
|
|
46
|
-
justifyContent: 'space-between',
|
|
47
|
-
alignItems: 'center'
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const SLIDE_HEIGHT = () => (0, _reactNative.useWindowDimensions)().height * 0.75; // const creatSlideStyle = (num: number) =>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const creatSlideStyle = (num, width, height) => _reactNative.StyleSheet.create({
|
|
55
|
-
slide: {
|
|
56
|
-
position: 'absolute',
|
|
57
|
-
top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
|
|
58
|
-
flex: 1,
|
|
59
|
-
backgroundColor: '#fff',
|
|
60
|
-
// backgroundColor: theme.colors.white, @todo with props and useEffect
|
|
61
|
-
height: SLIDE_HEIGHT(),
|
|
62
|
-
width: width - 40 - num * 8,
|
|
63
|
-
justifyContent: 'space-between',
|
|
64
|
-
alignItems: 'center',
|
|
65
|
-
padding: 25,
|
|
66
|
-
shadowColor: '#000',
|
|
67
|
-
shadowOffset: {
|
|
68
|
-
width: 0,
|
|
69
|
-
height: -1
|
|
70
|
-
},
|
|
71
|
-
shadowOpacity: 0.05,
|
|
72
|
-
shadowRadius: 16,
|
|
73
|
-
elevation: 10 - num * 1,
|
|
74
|
-
borderRadius: 16
|
|
75
|
-
},
|
|
76
|
-
category: {
|
|
77
|
-
fontSize: 12,
|
|
78
|
-
lineHeight: 16,
|
|
79
|
-
// color: theme.colors.text.primary, @todo with props
|
|
80
|
-
// marginBottom: theme.spacing.tiny, @todo with props
|
|
81
|
-
// marginTop: theme.spacing.small, @todo with props
|
|
82
|
-
textAlign: 'center'
|
|
83
|
-
},
|
|
84
|
-
question: {
|
|
85
|
-
fontSize: 16,
|
|
86
|
-
lineHeight: 22,
|
|
87
|
-
fontWeight: '700',
|
|
88
|
-
// color: theme.colors.text.primary, @todo with props
|
|
89
|
-
textAlign: 'center'
|
|
90
|
-
},
|
|
91
|
-
instruction: {
|
|
92
|
-
fontSize: 12,
|
|
93
|
-
lineHeight: 16,
|
|
94
|
-
// color: theme.colors.gray.medium, @todo with props
|
|
95
|
-
// marginBottom: theme.spacing.base, @todo with props
|
|
96
|
-
// marginTop: theme.spacing.small, @todo with props
|
|
97
|
-
textAlign: 'center'
|
|
98
|
-
},
|
|
99
|
-
button: {
|
|
100
|
-
width: 287,
|
|
101
|
-
height: 52,
|
|
102
|
-
borderRadius: 7 // marginTop: theme.spacing.base @todo with props
|
|
16
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
103
17
|
|
|
104
|
-
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
const createOptionStyle = selected => {
|
|
108
|
-
// const brandTheme = React.useContext(BrandThemeContext); @todo with props
|
|
109
|
-
return _reactNative.StyleSheet.create({
|
|
110
|
-
box: {
|
|
111
|
-
width: '100%',
|
|
112
|
-
// https://stackoverflow.com/a/66561995/959219
|
|
113
|
-
shadowColor: '#000',
|
|
114
|
-
shadowOffset: {
|
|
115
|
-
width: 0,
|
|
116
|
-
height: -1
|
|
117
|
-
},
|
|
118
|
-
shadowOpacity: 0.2,
|
|
119
|
-
shadowRadius: 16,
|
|
120
|
-
elevation: 8,
|
|
121
|
-
// backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props
|
|
122
|
-
padding: 12,
|
|
123
|
-
marginTop: 4,
|
|
124
|
-
marginBottom: 4,
|
|
125
|
-
borderRadius: 8
|
|
126
|
-
},
|
|
127
|
-
text: {
|
|
128
|
-
fontSize: 15,
|
|
129
|
-
fontWeight: 'bold',
|
|
130
|
-
lineHeight: 24,
|
|
131
|
-
// color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props
|
|
132
|
-
textAlign: 'center'
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
};
|
|
18
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
136
19
|
|
|
137
|
-
const
|
|
20
|
+
const createStyleSheet = (theme, headerHeight) => _reactNative.StyleSheet.create({
|
|
138
21
|
container: {
|
|
139
22
|
flex: 1,
|
|
140
|
-
|
|
141
|
-
|
|
23
|
+
paddingTop: headerHeight,
|
|
24
|
+
backgroundColor: theme.colors.white,
|
|
25
|
+
// justifyContent: 'space-between',
|
|
142
26
|
alignItems: 'center'
|
|
27
|
+
},
|
|
28
|
+
header: {
|
|
29
|
+
width: '100%',
|
|
30
|
+
backgroundColor: '#ded',
|
|
31
|
+
height: 70
|
|
143
32
|
}
|
|
144
33
|
});
|
|
145
|
-
/* {choices.map(({text, selected = false}: _Choice_) => { */
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const Choices = ({
|
|
149
|
-
choices = []
|
|
150
|
-
}) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
151
|
-
style: choicesStyle.container
|
|
152
|
-
}, choices.map(({
|
|
153
|
-
text,
|
|
154
|
-
selected = false
|
|
155
|
-
}, index) => {
|
|
156
|
-
const optionStyle = createOptionStyle(selected);
|
|
157
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
158
|
-
style: optionStyle.box,
|
|
159
|
-
key: `choice-${index}`
|
|
160
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
161
|
-
style: optionStyle.text
|
|
162
|
-
}, text, " ", selected));
|
|
163
|
-
}));
|
|
164
34
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
selected: _propTypes.default.bool
|
|
169
|
-
})
|
|
170
|
-
} : {};
|
|
35
|
+
const ReviewHeader = ({
|
|
36
|
+
style
|
|
37
|
+
}) => /*#__PURE__*/_react.default.createElement(_reactNative.View, style, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "review header @todo"));
|
|
171
38
|
|
|
172
|
-
const
|
|
39
|
+
const Slides = props => {
|
|
173
40
|
const {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
41
|
+
header,
|
|
42
|
+
stack,
|
|
43
|
+
reviewBackgroundAriaLabel,
|
|
44
|
+
congratsProps
|
|
177
45
|
} = props;
|
|
178
46
|
const {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const slideStyle = creatSlideStyle(num, width, height);
|
|
183
|
-
const validateLabel = '__validate'; // translations.validate
|
|
184
|
-
|
|
185
|
-
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
186
|
-
const {
|
|
187
|
-
analytics
|
|
188
|
-
} = templateContext;
|
|
189
|
-
const {
|
|
190
|
-
answerUI: {
|
|
191
|
-
isDisabled = false,
|
|
192
|
-
value = '',
|
|
193
|
-
model: {
|
|
194
|
-
type,
|
|
195
|
-
onChange
|
|
196
|
-
}
|
|
197
|
-
} = {
|
|
198
|
-
isDisabled: false,
|
|
199
|
-
value: '',
|
|
200
|
-
model: {
|
|
201
|
-
type: 'freeText',
|
|
202
|
-
onChange: () => null
|
|
203
|
-
}
|
|
47
|
+
theme,
|
|
48
|
+
display: {
|
|
49
|
+
headerHeight
|
|
204
50
|
}
|
|
205
|
-
} =
|
|
51
|
+
} = (0, _templateContext.useTemplateContext)();
|
|
52
|
+
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
53
|
+
(0, _react.useEffect)(() => {
|
|
54
|
+
const _stylesheet = createStyleSheet(theme, headerHeight);
|
|
206
55
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
{
|
|
210
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
211
|
-
style: slideStyle.slide
|
|
212
|
-
}, /*#__PURE__*/_react.default.createElement(_freeText.default, {
|
|
213
|
-
isDisabled: isDisabled,
|
|
214
|
-
onChange: onChange,
|
|
215
|
-
value: value,
|
|
216
|
-
testID: "free-text",
|
|
217
|
-
questionType: "basic",
|
|
218
|
-
analytics: analytics
|
|
219
|
-
}));
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
default:
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
226
|
-
style: slideStyle.slide
|
|
227
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
228
|
-
style: slideStyle.category
|
|
229
|
-
}, num), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
230
|
-
style: slideStyle.question
|
|
231
|
-
}, slide.question), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
232
|
-
style: slideStyle.instruction
|
|
233
|
-
}, slide.instruction), /*#__PURE__*/_react.default.createElement(Choices, {
|
|
234
|
-
choices: slide.choices
|
|
235
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.Button, {
|
|
236
|
-
style: slideStyle.button,
|
|
237
|
-
onPress: validateSlide,
|
|
238
|
-
testID: `button-quizzer-validate`
|
|
239
|
-
}, validateLabel));
|
|
240
|
-
}; // const Slides = ({slide}: Props) => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const Slides = props => {
|
|
244
|
-
const {
|
|
245
|
-
stack
|
|
246
|
-
} = props;
|
|
247
|
-
const {
|
|
248
|
-
slides,
|
|
249
|
-
validateButton: validateSlide
|
|
250
|
-
} = stack;
|
|
56
|
+
setStylesheet(_stylesheet);
|
|
57
|
+
}, [theme, headerHeight]);
|
|
251
58
|
|
|
252
|
-
if (!
|
|
253
|
-
return
|
|
59
|
+
if (!styleSheet) {
|
|
60
|
+
return null;
|
|
254
61
|
}
|
|
255
62
|
|
|
256
63
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
257
|
-
style:
|
|
258
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
num: 0,
|
|
262
|
-
key: `slide-${0}`
|
|
263
|
-
}));
|
|
64
|
+
style: styleSheet.container
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement(ReviewHeader, {
|
|
66
|
+
style: styleSheet.header
|
|
67
|
+
}), stack ? /*#__PURE__*/_react.default.createElement(_index.default, stack) : null);
|
|
264
68
|
};
|
|
265
69
|
|
|
266
|
-
Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.PlayerReviewPropTypes : {};
|
|
267
70
|
var _default = Slides;
|
|
268
71
|
exports.default = _default;
|
|
269
72
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/player/index.native.tsx"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","backgroundColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","props","validateSlide","slideStyle","validateLabel","templateContext","analytics","answerUI","isDisabled","value","model","type","onChange","Slides","stack","slides","validateButton","PlayerReviewPropTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport FreeText from '../../../molecule/questions/free-text';\nimport {useTemplateContext} from '../template-context';\nimport {PlayerReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n backgroundColor: '#fff',\n // backgroundColor: theme.colors.white, @todo with props and useEffect\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\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 category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices = []}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\nconst Slide = props => {\n const {validateSlide, slide, num} = props;\n const {width, height} = useWindowDimensions();\n\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n answerUI: {isDisabled = false, value = '', model: {type, onChange}} = {\n isDisabled: false,\n value: '',\n model: {type: 'freeText', onChange: () => null}\n }\n } = slide;\n\n switch (type) {\n case 'freeText': {\n return (\n <View style={slideStyle.slide}>\n <FreeText\n isDisabled={isDisabled}\n onChange={onChange}\n value={value}\n testID=\"free-text\"\n questionType=\"basic\"\n analytics={analytics}\n />\n </View>\n );\n }\n default:\n }\n\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>{num}</Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\n// const Slides = ({slide}: Props) => {\nconst Slides = props => {\n const {stack} = props;\n const {slides, validateButton: validateSlide} = stack;\n if (!slides) {\n return <View />;\n }\n\n return (\n <View style={quizzerStyle.container}>\n <Slide validateSlide={validateSlide} slide={slides[0]} num={0} key={`slide-${0}`} />\n {/* {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))} */}\n </View>\n );\n};\n\nSlides.propTypes = PlayerReviewPropTypes;\n\nexport default Slides;\n"],"file":"index.native.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/index.native.tsx"],"names":["createStyleSheet","theme","headerHeight","StyleSheet","create","container","flex","paddingTop","backgroundColor","colors","white","alignItems","header","width","height","ReviewHeader","style","Slides","props","stack","reviewBackgroundAriaLabel","congratsProps","display","styleSheet","setStylesheet","_stylesheet"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAGA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAeC,YAAf,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,UAAU,EAAEL,YAFH;AAGTM,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC,KAHrB;AAIT;AACAC,IAAAA,UAAU,EAAE;AALH,GADK;AAQhBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,KAAK,EAAE,MADD;AAENL,IAAAA,eAAe,EAAE,MAFX;AAGNM,IAAAA,MAAM,EAAE;AAHF;AARQ,CAAlB,CADF;;AAgBA,MAAMC,YAAY,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACnB,6BAAC,iBAAD,EAAUA,KAAV,eACE,6BAAC,iBAAD,8BADF,CADF;;AAMA,MAAMC,MAAM,GAAIC,KAAD,IAAkB;AAC/B,QAAM;AAACN,IAAAA,MAAD;AAASO,IAAAA,KAAT;AAAgBC,IAAAA,yBAAhB;AAA2CC,IAAAA;AAA3C,MAA4DH,KAAlE;AAEA,QAAM;AACJjB,IAAAA,KADI;AAEJqB,IAAAA,OAAO,EAAE;AAACpB,MAAAA;AAAD;AAFL,MAGF,0CAHJ;AAKA,QAAM,CAACqB,UAAD,EAAaC,aAAb,IAA8B,qBAAqB,IAArB,CAApC;AAEA,wBAAU,MAAM;AACd,UAAMC,WAAW,GAAGzB,gBAAgB,CAACC,KAAD,EAAQC,YAAR,CAApC;;AACAsB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHD,EAGG,CAACxB,KAAD,EAAQC,YAAR,CAHH;;AAKA,MAAI,CAACqB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEA,UAAU,CAAClB;AAAxB,kBACE,6BAAC,YAAD;AAAc,IAAA,KAAK,EAAEkB,UAAU,CAACX;AAAhC,IADF,EAEGO,KAAK,gBAAG,6BAAC,cAAD,EAAmBA,KAAnB,CAAH,GAAkC,IAF1C,CADF;AAMD,CAzBD;;eA2BeF,M","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {View, StyleSheet, Text} from 'react-native';\nimport StackedSlides from '../../../organism/review-stacked-slides/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {Props} from './prop-types';\n\nconst createStyleSheet = (theme: Theme, headerHeight: number) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingTop: headerHeight,\n backgroundColor: theme.colors.white,\n // justifyContent: 'space-between',\n alignItems: 'center'\n },\n header: {\n width: '100%',\n backgroundColor: '#ded',\n height: 70\n }\n });\n\nconst ReviewHeader = ({style}) => (\n <View {...style}>\n <Text>review header @todo</Text>\n </View>\n);\n\nconst Slides = (props: Props) => {\n const {header, stack, reviewBackgroundAriaLabel, congratsProps} = props;\n\n const {\n theme,\n display: {headerHeight}\n } = useTemplateContext();\n\n const [styleSheet, setStylesheet] = useState<any | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, headerHeight);\n setStylesheet(_stylesheet);\n }, [theme, headerHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container}>\n <ReviewHeader style={styleSheet.header} />\n {stack ? <StackedSlides {...stack} /> : null}\n </View>\n );\n};\n\nexport default Slides;\n"],"file":"index.native.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/player/prop-types.
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/player/prop-types.ts"],"names":["PlayerReviewPropTypes","header","PropTypes","shape","ReviewHeaderPropTypes","stack","StackedSlidesPropTypes","reviewBackgroundAriaLabel","ReviewBackgroundPropTypes","congratsProps","ReviewCongratsPropTypes"],"mappings":";;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,MAAMA,qBAAqB,GAAG;AACnCC,EAAAA,MAAM,EAAEC,mBAAUC,KAAV,CAAgBC,mBAAhB,CAD2B;AAEnCC,EAAAA,KAAK,EAAEH,mBAAUC,KAAV,CAAgBG,mBAAhB,CAF4B;AAGnCC,EAAAA,yBAAyB,EAAEC,oBAA0B,YAA1B,CAHQ;AAInCC,EAAAA,aAAa,EAAEP,mBAAUC,KAAV,CAAgBO,mBAAhB;AAJoB,CAA9B","sourcesContent":["import PropTypes from 'prop-types';\n\nimport ReviewCongratsPropTypes from '../../../organism/review-congrats/prop-types';\nimport ReviewBackgroundPropTypes from '../../../atom/review-background/prop-types';\nimport ReviewHeaderPropTypes from '../../../organism/review-header/prop-types';\nimport StackedSlidesPropTypes from '../../../organism/review-stacked-slides/prop-types';\n\nexport const PlayerReviewPropTypes = {\n header: PropTypes.shape(ReviewHeaderPropTypes),\n stack: PropTypes.shape(StackedSlidesPropTypes),\n reviewBackgroundAriaLabel: ReviewBackgroundPropTypes['aria-label'],\n congratsProps: PropTypes.shape(ReviewCongratsPropTypes)\n};\n\nexport type Props = PropTypes.InferProps<typeof PlayerReviewPropTypes>;\n"],"file":"prop-types.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","theme","defaultTheme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAAA;;AAGA;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["Context","theme","defaultTheme","translations","display","headerHeight","statusBarHeight","store","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;;;;AAAA;;AAGA;;;;;;;;;;AA0BA,MAAMA,OAAO,GAAG,0BAAc;AAC5BC,EAAAA,KAAK,EAAEC,cADqB;AAE5BC,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,YAAY,EAAE,EADP;AAEPC,IAAAA,eAAe,EAAE;AAFV,GAHmB;AAO5BC,EAAAA,KAAK,EAAE;AAPqB,CAAd,CAAhB;;AAUA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAG,uBAAWT,OAAX,CAAhB;;AAEA,MAAI,CAACS,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD;;;;AAYA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,6BAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD","sourcesContent":["import React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type HandleBlur = () => void;\nexport type HandleFocus = (id: string) => () => void;\nexport type FocusedSelectId = string | null;\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n translations: Translations;\n vibration?: Vibration;\n display: {\n headerHeight: number;\n statusBarHeight: number;\n };\n store: {\n focusedSelectId?: FocusedSelectId;\n handleBlur?: HandleBlur;\n handleFocus?: HandleFocus;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n headerHeight: 67,\n statusBarHeight: 42\n },\n store: {}\n});\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"styles.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "10.22.
|
|
3
|
+
"version": "10.22.25",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -140,5 +140,5 @@
|
|
|
140
140
|
"webpack": "^4.43.0"
|
|
141
141
|
},
|
|
142
142
|
"author": "CoorpAcademy",
|
|
143
|
-
"gitHead": "
|
|
143
|
+
"gitHead": "6e9facb9c3b9b962abe565d779b5a8035e531fa2"
|
|
144
144
|
}
|