@coorpacademy/components 10.19.12 → 10.19.13-alpha.8

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.
Files changed (70) hide show
  1. package/es/organism/review-skills/index.js +2 -0
  2. package/es/organism/review-skills/index.js.map +1 -1
  3. package/es/template/app-review/index.js +35 -0
  4. package/es/template/app-review/index.js.map +1 -0
  5. package/es/template/app-review/{root-view/root-view.native.js → index.native.js} +2 -3
  6. package/es/template/app-review/index.native.js.map +1 -0
  7. package/es/template/app-review/onboarding/index.js +3 -0
  8. package/es/template/app-review/onboarding/index.js.map +1 -0
  9. package/es/template/app-review/onboarding/index.native.js +84 -0
  10. package/es/template/app-review/onboarding/index.native.js.map +1 -0
  11. package/es/template/app-review/{root-view/prop-types.js → prop-types.js} +11 -7
  12. package/es/template/app-review/prop-types.js.map +1 -0
  13. package/es/template/app-review/skills/index.js +3 -0
  14. package/es/template/app-review/skills/index.js.map +1 -0
  15. package/es/template/app-review/skills/index.native.js +179 -0
  16. package/es/template/app-review/skills/index.native.js.map +1 -0
  17. package/es/template/app-review/skills/stories.js +15 -0
  18. package/es/template/app-review/skills/stories.js.map +1 -0
  19. package/es/template/app-review/slides/index.js +338 -0
  20. package/es/template/app-review/slides/index.js.map +1 -0
  21. package/es/template/app-review/slides/index.native.js +212 -0
  22. package/es/template/app-review/slides/index.native.js.map +1 -0
  23. package/es/template/app-review/slides/prop-types.js +67 -0
  24. package/es/template/app-review/slides/prop-types.js.map +1 -0
  25. package/es/template/app-review/{slides-review → slides}/style.css +0 -0
  26. package/lib/organism/review-skills/index.js +5 -1
  27. package/lib/organism/review-skills/index.js.map +1 -1
  28. package/lib/template/app-review/index.js +52 -0
  29. package/lib/template/app-review/index.js.map +1 -0
  30. package/lib/template/app-review/{root-view/root-view.native.js → index.native.js} +5 -9
  31. package/lib/template/app-review/index.native.js.map +1 -0
  32. package/lib/template/app-review/onboarding/index.js +12 -0
  33. package/lib/template/app-review/onboarding/index.js.map +1 -0
  34. package/lib/template/app-review/onboarding/index.native.js +100 -0
  35. package/lib/template/app-review/onboarding/index.native.js.map +1 -0
  36. package/lib/template/app-review/prop-types.js +33 -0
  37. package/lib/template/app-review/prop-types.js.map +1 -0
  38. package/lib/template/app-review/skills/index.js +12 -0
  39. package/lib/template/app-review/skills/index.js.map +1 -0
  40. package/lib/template/app-review/skills/index.native.js +197 -0
  41. package/lib/template/app-review/skills/index.native.js.map +1 -0
  42. package/lib/template/app-review/skills/stories.js +16 -0
  43. package/lib/template/app-review/skills/stories.js.map +1 -0
  44. package/lib/template/app-review/slides/index.js +367 -0
  45. package/lib/template/app-review/slides/index.js.map +1 -0
  46. package/lib/template/app-review/slides/index.native.js +229 -0
  47. package/lib/template/app-review/slides/index.native.js.map +1 -0
  48. package/lib/template/app-review/slides/prop-types.js +84 -0
  49. package/lib/template/app-review/slides/prop-types.js.map +1 -0
  50. package/lib/template/app-review/{slides-review → slides}/style.css +0 -0
  51. package/package.json +2 -2
  52. package/es/template/app-review/root-view/common.js +0 -6
  53. package/es/template/app-review/root-view/common.js.map +0 -1
  54. package/es/template/app-review/root-view/prop-types.js.map +0 -1
  55. package/es/template/app-review/root-view/root-view.js +0 -14
  56. package/es/template/app-review/root-view/root-view.js.map +0 -1
  57. package/es/template/app-review/root-view/root-view.modules.css +0 -8
  58. package/es/template/app-review/root-view/root-view.native.js.map +0 -1
  59. package/es/template/app-review/slides-review/index.js +0 -427
  60. package/es/template/app-review/slides-review/index.js.map +0 -1
  61. package/lib/template/app-review/root-view/common.js +0 -11
  62. package/lib/template/app-review/root-view/common.js.map +0 -1
  63. package/lib/template/app-review/root-view/prop-types.js +0 -28
  64. package/lib/template/app-review/root-view/prop-types.js.map +0 -1
  65. package/lib/template/app-review/root-view/root-view.js +0 -25
  66. package/lib/template/app-review/root-view/root-view.js.map +0 -1
  67. package/lib/template/app-review/root-view/root-view.modules.css +0 -8
  68. package/lib/template/app-review/root-view/root-view.native.js.map +0 -1
  69. package/lib/template/app-review/slides-review/index.js +0 -453
  70. package/lib/template/app-review/slides-review/index.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var React = _interopRequireWildcard(require("react"));
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _propTypes2 = _interopRequireDefault(require("./prop-types"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
17
+
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; }
19
+
20
+ // import theme from '../../../modules/theme';
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
+ // backgroundColor: theme.colors.white, @todo with props
58
+ top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,
59
+ flex: 1,
60
+ height: SLIDE_HEIGHT(),
61
+ width: width - 40 - num * 8,
62
+ justifyContent: 'space-between',
63
+ alignItems: 'center',
64
+ padding: 25,
65
+ shadowColor: '#000',
66
+ shadowOffset: {
67
+ width: 0,
68
+ height: -1
69
+ },
70
+ shadowOpacity: 0.05,
71
+ shadowRadius: 16,
72
+ elevation: 10 - num * 1,
73
+ borderRadius: 16
74
+ },
75
+ category: {
76
+ fontSize: 12,
77
+ lineHeight: 16,
78
+ // color: theme.colors.text.primary, @todo with props
79
+ // marginBottom: theme.spacing.tiny, @todo with props
80
+ // marginTop: theme.spacing.small, @todo with props
81
+ textAlign: 'center'
82
+ },
83
+ question: {
84
+ fontSize: 16,
85
+ lineHeight: 22,
86
+ fontWeight: '700',
87
+ // color: theme.colors.text.primary, @todo with props
88
+ textAlign: 'center'
89
+ },
90
+ instruction: {
91
+ fontSize: 12,
92
+ lineHeight: 16,
93
+ // color: theme.colors.gray.medium, @todo with props
94
+ // marginBottom: theme.spacing.base, @todo with props
95
+ // marginTop: theme.spacing.small, @todo with props
96
+ textAlign: 'center'
97
+ },
98
+ button: {
99
+ width: 287,
100
+ height: 52,
101
+ borderRadius: 7 // marginTop: theme.spacing.base @todo with props
102
+
103
+ }
104
+ });
105
+
106
+ const createOptionStyle = selected => {
107
+ // const brandTheme = React.useContext(BrandThemeContext); @todo with props
108
+ return _reactNative.StyleSheet.create({
109
+ box: {
110
+ width: '100%',
111
+ // https://stackoverflow.com/a/66561995/959219
112
+ shadowColor: '#000',
113
+ shadowOffset: {
114
+ width: 0,
115
+ height: -1
116
+ },
117
+ shadowOpacity: 0.2,
118
+ shadowRadius: 16,
119
+ elevation: 8,
120
+ // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props
121
+ padding: 12,
122
+ marginTop: 4,
123
+ marginBottom: 4,
124
+ borderRadius: 8
125
+ },
126
+ text: {
127
+ fontSize: 15,
128
+ fontWeight: 'bold',
129
+ lineHeight: 24,
130
+ // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props
131
+ textAlign: 'center'
132
+ }
133
+ });
134
+ };
135
+
136
+ const choicesStyle = _reactNative.StyleSheet.create({
137
+ container: {
138
+ flex: 1,
139
+ width: '100%',
140
+ justifyContent: 'center',
141
+ alignItems: 'center'
142
+ }
143
+ }); // -----------------------------------------------------------------------------
144
+
145
+ /* {choices.map(({text, selected = false}: _Choice_) => { */
146
+
147
+
148
+ const Choices = ({
149
+ choices
150
+ }) => /*#__PURE__*/React.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.createElement(_reactNative.View, {
158
+ style: optionStyle.box,
159
+ key: `choice-${index}`
160
+ }, /*#__PURE__*/React.createElement(_reactNative.Text, {
161
+ style: optionStyle.text
162
+ }, text, " ", selected));
163
+ }));
164
+
165
+ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
166
+ choices: _propTypes.default.arrayOf({
167
+ text: _propTypes.default.text,
168
+ selected: _propTypes.default.bool
169
+ })
170
+ } : {}; // -----------------------------------------------------------------------------
171
+ // const Slide = ({slide, num}: Props) => {
172
+
173
+ const Slide = ({
174
+ validateSlide,
175
+ slide,
176
+ num
177
+ }) => {
178
+ const {
179
+ width,
180
+ height
181
+ } = (0, _reactNative.useWindowDimensions)();
182
+ const slideStyle = creatSlideStyle(num, width, height);
183
+ const validateLabel = '__validate'; // translations.validate
184
+ // TODO replace choices with <Answer>; move mobile answers in the package..
185
+
186
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
187
+ style: slideStyle.slide
188
+ }, /*#__PURE__*/React.createElement(_reactNative.Text, {
189
+ style: slideStyle.category
190
+ }, slide.category, " ", num), /*#__PURE__*/React.createElement(_reactNative.Text, {
191
+ style: slideStyle.question
192
+ }, slide.question), /*#__PURE__*/React.createElement(_reactNative.Text, {
193
+ style: slideStyle.instruction
194
+ }, slide.instruction), /*#__PURE__*/React.createElement(Choices, {
195
+ choices: slide.choices
196
+ }), /*#__PURE__*/React.createElement(_reactNative.Button, {
197
+ style: slideStyle.button,
198
+ onPress: validateSlide,
199
+ testID: `button-quizzer-validate`
200
+ }, validateLabel));
201
+ };
202
+
203
+ Slide.propTypes = process.env.NODE_ENV !== "production" ? {
204
+ slide: _propTypes2.default.slide,
205
+ validateSlide: _propTypes2.default.validateSlide,
206
+ num: _propTypes.default.number
207
+ } : {}; // -----------------------------------------------------------------------------
208
+ // const Slides = ({slide}: Props) => {
209
+
210
+ const Slides = ({
211
+ slide,
212
+ validateSlide
213
+ }) => {
214
+ const slides = [slide, slide, slide, slide, slide];
215
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
216
+ style: quizzerStyle.container
217
+ }, slides.reverse().map((_slide, index) => /*#__PURE__*/React.createElement(Slide, {
218
+ validateSlide: validateSlide,
219
+ slide: _slide,
220
+ num: slides.length - index,
221
+ key: `slide-${index}`
222
+ })));
223
+ };
224
+
225
+ Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {}; // -----------------------------------------------------------------------------
226
+
227
+ var _default = Slides;
228
+ exports.default = _default;
229
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.js"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","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","validateSlide","slideStyle","validateLabel","number","Slides","slides","reverse","_slide","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport propTypes 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 // backgroundColor: theme.colors.white, @todo with props\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\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// -----------------------------------------------------------------------------\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\n// -----------------------------------------------------------------------------\n\n// const Slide = ({slide, num}: Props) => {\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n // TODO replace choices with <Answer>; move mobile answers in the package..\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>\n {slide.category} {num}\n </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\nSlide.propTypes = {\n slide: propTypes.slide,\n validateSlide: propTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slide, validateSlide}) => {\n const slides = [slide, slide, slide, slide, slide];\n return (\n <View style={quizzerStyle.container}>\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 = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.StackedSlidesPropTypes = exports.SlidePropTypes = exports.SlidesReviewPropTypes = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var _omit = _interopRequireDefault(require("lodash/fp/omit"));
9
+
10
+ var _reviewCongrats = _interopRequireDefault(require("../../../organism/review-congrats"));
11
+
12
+ var _reviewCorrectionPopin = _interopRequireDefault(require("../../../molecule/review-correction-popin"));
13
+
14
+ var _reviewBackground = _interopRequireDefault(require("../../../atom/review-background"));
15
+
16
+ var _reviewHeader = _interopRequireDefault(require("../../../organism/review-header"));
17
+
18
+ var _answer = _interopRequireDefault(require("../../../molecule/answer"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ const SlidesReviewPropTypes = {
23
+ headerProps: _propTypes.default.shape((0, _omit.default)('steps', _reviewHeader.default.propTypes)),
24
+ reviewBackgroundAriaLabel: _reviewBackground.default.propTypes['aria-label'],
25
+ validate: _propTypes.default.shape({
26
+ label: _propTypes.default.string
27
+ }),
28
+ slides: _propTypes.default.instanceOf(Map),
29
+ finishedSlides: _propTypes.default.instanceOf(Map),
30
+ stepItems: _propTypes.default.instanceOf(Map),
31
+ reviewStatus: _propTypes.default.oneOfType(['finished', 'ongoing']),
32
+ correctionPopinProps: _propTypes.default.shape({
33
+ // ---------------
34
+ klf: _reviewCorrectionPopin.default.propTypes.klf,
35
+ information: _reviewCorrectionPopin.default.propTypes.information,
36
+ next: _propTypes.default.shape({
37
+ label: _propTypes.default.string,
38
+ 'aria-label': _propTypes.default.string
39
+ }),
40
+ successLabel: _reviewCorrectionPopin.default.propTypes.resultLabel,
41
+ failureLabel: _reviewCorrectionPopin.default.propTypes.resultLabel
42
+ }),
43
+ congratsProps: _propTypes.default.shape(_reviewCongrats.default.propTypes),
44
+ // ---------------
45
+ // Dispatchers
46
+ validateSlide: _propTypes.default.func.isRequired,
47
+ updateSlidesOnValidation: _propTypes.default.func.isRequired,
48
+ updateSlidesOnNext: _propTypes.default.func.isRequired,
49
+ updateReviewStatus: _propTypes.default.func.isRequired,
50
+ updateStepItemsOnValidation: _propTypes.default.func.isRequired,
51
+ updateStepItemsOnNext: _propTypes.default.func.isRequired,
52
+ updateFinishedSlides: _propTypes.default.func.isRequired,
53
+ slideValidationResult: _propTypes.default.shape({
54
+ slideNumber: _propTypes.default.number,
55
+ result: _propTypes.default.oneOfType(['success', 'failure']),
56
+ exitNode: _propTypes.default.oneOfType(['successExitNode', 'failExitNode', undefined]),
57
+ nextSlide: _propTypes.default.shape({
58
+ questionText: _propTypes.default.string,
59
+ answerUI: _propTypes.default.shape(_answer.default.propTypes)
60
+ })
61
+ })
62
+ };
63
+ exports.SlidesReviewPropTypes = SlidesReviewPropTypes;
64
+ const SlidePropTypes = {
65
+ slideNumber: _propTypes.default.number,
66
+ slides: SlidesReviewPropTypes.slides,
67
+ validate: SlidesReviewPropTypes.validate,
68
+ finishedSlides: SlidesReviewPropTypes.finishedSlides,
69
+ correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,
70
+ // ---------------
71
+ // Dispatchers
72
+ validateSlide: SlidesReviewPropTypes.validateSlide,
73
+ updateSlidesOnValidation: SlidesReviewPropTypes.updateSlidesOnValidation,
74
+ updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,
75
+ updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,
76
+ updateStepItemsOnValidation: SlidesReviewPropTypes.updateStepItemsOnValidation,
77
+ updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,
78
+ updateFinishedSlides: SlidesReviewPropTypes.updateFinishedSlides,
79
+ slideValidationResult: SlidesReviewPropTypes.slideValidationResult
80
+ };
81
+ exports.SlidePropTypes = SlidePropTypes;
82
+ const StackedSlidesPropTypes = (0, _omit.default)('slideNumber', SlidePropTypes);
83
+ exports.StackedSlidesPropTypes = StackedSlidesPropTypes;
84
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["SlidesReviewPropTypes","headerProps","PropTypes","shape","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackground","validate","label","string","slides","instanceOf","Map","finishedSlides","stepItems","reviewStatus","oneOfType","correctionPopinProps","klf","ReviewCorrectionPopin","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongrats","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","slideValidationResult","slideNumber","number","result","exitNode","undefined","nextSlide","questionText","answerUI","Answer","SlidePropTypes","StackedSlidesPropTypes"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport omit from 'lodash/fp/omit';\n\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewHeader from '../../../organism/review-header';\nimport Answer from '../../../molecule/answer';\n\nexport const SlidesReviewPropTypes = {\n headerProps: PropTypes.shape(omit('steps', ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackground.propTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string\n }),\n slides: PropTypes.instanceOf(Map),\n finishedSlides: PropTypes.instanceOf(Map),\n stepItems: PropTypes.instanceOf(Map),\n reviewStatus: PropTypes.oneOfType(['finished', 'ongoing']),\n correctionPopinProps: PropTypes.shape({\n // ---------------\n klf: ReviewCorrectionPopin.propTypes.klf,\n information: ReviewCorrectionPopin.propTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n successLabel: ReviewCorrectionPopin.propTypes.resultLabel,\n failureLabel: ReviewCorrectionPopin.propTypes.resultLabel\n }),\n congratsProps: PropTypes.shape(ReviewCongrats.propTypes),\n // ---------------\n // Dispatchers\n validateSlide: PropTypes.func.isRequired,\n updateSlidesOnValidation: PropTypes.func.isRequired,\n updateSlidesOnNext: PropTypes.func.isRequired,\n updateReviewStatus: PropTypes.func.isRequired,\n updateStepItemsOnValidation: PropTypes.func.isRequired,\n updateStepItemsOnNext: PropTypes.func.isRequired,\n updateFinishedSlides: PropTypes.func.isRequired,\n slideValidationResult: PropTypes.shape({\n slideNumber: PropTypes.number,\n result: PropTypes.oneOfType(['success', 'failure']),\n exitNode: PropTypes.oneOfType(['successExitNode', 'failExitNode', undefined]),\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\n })\n })\n};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnValidation: SlidesReviewPropTypes.updateSlidesOnValidation,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnValidation: SlidesReviewPropTypes.updateStepItemsOnValidation,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n updateFinishedSlides: SlidesReviewPropTypes.updateFinishedSlides,\n slideValidationResult: SlidesReviewPropTypes.slideValidationResult\n};\n\nexport const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);\n"],"file":"prop-types.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.19.12",
3
+ "version": "10.19.13-alpha.8+78b219b1f",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -129,5 +129,5 @@
129
129
  "webpack": "^4.43.0"
130
130
  },
131
131
  "author": "CoorpAcademy",
132
- "gitHead": "4fc0ae07513c922d7cbe6e5fddfbcb316ccf6fa5"
132
+ "gitHead": "78b219b1f697fdc10dae58a4a6000cd155321a2a"
133
133
  }
@@ -1,6 +0,0 @@
1
- export const ViewNames = {
2
- home: 'home',
3
- onboarding: 'onboarding',
4
- slides: 'slides'
5
- };
6
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/root-view/common.js"],"names":["ViewNames","home","onboarding","slides"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,MADiB;AAEvBC,EAAAA,UAAU,EAAE,YAFW;AAGvBC,EAAAA,MAAM,EAAE;AAHe,CAAlB","sourcesContent":["export const ViewNames = {\n home: 'home',\n onboarding: 'onboarding',\n slides: 'slides'\n};\n"],"file":"common.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/root-view/prop-types.js"],"names":["PropTypes","keys","ReviewDashboardSkills","SlidesReview","ViewNames","viewName","oneOf","navigateBack","func","navigateTo","onboarding","shape","propTypes","slidesReview"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,SAAQC,SAAR,QAAwB,UAAxB;AAEA,eAAe;AACbC,EAAAA,QAAQ,EAAEL,SAAS,CAACM,KAAV,CAAgBL,IAAI,CAACG,SAAD,CAApB,CADG;AAEbG,EAAAA,YAAY,EAAEP,SAAS,CAACQ,IAFX;AAGbC,EAAAA,UAAU,EAAET,SAAS,CAACQ,IAHT;AAIbE,EAAAA,UAAU,EAAEV,SAAS,CAACW,KAAV,cAAoBT,qBAAqB,CAACU,SAA1C,EAJC;AAKbC,EAAAA,YAAY,EAAEb,SAAS,CAACW,KAAV,cAAoBR,YAAY,CAACS,SAAjC;AALD,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport keys from 'lodash/fp/keys';\nimport ReviewDashboardSkills from '../../review-dashboard-skills';\nimport SlidesReview from '../slides-review';\nimport {ViewNames} from './common';\n\nexport default {\n viewName: PropTypes.oneOf(keys(ViewNames)),\n navigateBack: PropTypes.func,\n navigateTo: PropTypes.func,\n onboarding: PropTypes.shape({...ReviewDashboardSkills.propTypes}),\n slidesReview: PropTypes.shape({...SlidesReview.propTypes})\n};\n"],"file":"prop-types.js"}
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import SlidesReview from '../slides-review';
3
- import propTypes from './prop-types'; // -----------------------------------------------------------------------------
4
-
5
- const RootView = ({
6
- slidesReview
7
- }) => {
8
- return /*#__PURE__*/React.createElement(SlidesReview, slidesReview);
9
- };
10
-
11
- RootView.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {}; // -----------------------------------------------------------------------------
12
-
13
- export default RootView;
14
- //# sourceMappingURL=root-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/root-view/root-view.js"],"names":["React","SlidesReview","propTypes","RootView","slidesReview"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,SAAP,MAAsB,cAAtB,C,CAEA;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAoB;AACnC,sBAAO,oBAAC,YAAD,EAAkBA,YAAlB,CAAP;AACD,CAFD;;AAIAD,QAAQ,CAACD,SAAT,2CAAqBA,SAArB,M,CAEA;;AAEA,eAAeC,QAAf","sourcesContent":["import React from 'react';\nimport SlidesReview from '../slides-review';\nimport propTypes from './prop-types';\n\n// -----------------------------------------------------------------------------\n\nconst RootView = ({slidesReview}) => {\n return <SlidesReview {...slidesReview} />;\n};\n\nRootView.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default RootView;\n"],"file":"root-view.js"}
@@ -1,8 +0,0 @@
1
- .textButton {
2
- background-color: aquamarine;
3
- padding: 20px;
4
- border-radius: 10px;
5
- user-select: none;
6
- cursor: pointer;
7
- font-size: 25px;
8
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/root-view/root-view.native.js"],"names":["React","useEffect","Text","StyleSheet","Pressable","View","BackHandler","propTypes","ViewNames","styles","create","rootView","flex","alignItems","justifyContent","NavText","viewName","navigateTo","handlePress","v","home","onboarding","slides","RootView","navigateBack","backAction","backHandler","addEventListener","remove"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,SAA1B,EAAqCC,IAArC,EAA2CC,WAA3C,QAA6D,cAA7D;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,SAAQC,SAAR,QAAwB,UAAxB,C,CAEA;;AAEA,MAAMC,MAAM,GAAGN,UAAU,CAACO,MAAX,CAAkB;AAC/BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRC,IAAAA,cAAc,EAAE;AAHR;AADqB,CAAlB,CAAf,C,CAQA;;AAEA,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA;AAAX,CAAD,KAA4B;AAC1C,QAAMC,WAAW,GAAGC,CAAC,IAAI,MAAMF,UAAU,CAACE,CAAD,CAAzC;;AAEA,UAAQH,QAAR;AACE,SAAKR,SAAS,CAACY,IAAf;AACE,0BACE,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAEF,WAAW,CAAC,YAAD;AAA/B,sBACE,oBAAC,IAAD,oBADF,CADF;;AAKF,SAAKV,SAAS,CAACa,UAAf;AACE,0BACE,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAEH,WAAW,CAAC,SAAD;AAA/B,sBACE,oBAAC,IAAD,0BADF,CADF;;AAKF,SAAKV,SAAS,CAACc,MAAf;AACE,0BACE,oBAAC,SAAD;AAAW,QAAA,OAAO,EAAEJ,WAAW,CAAC,MAAD;AAA/B,sBACE,oBAAC,IAAD,uBADF,CADF;;AAKF;AACE,0BAAO,oBAAC,IAAD,+BAAP;AApBJ;AAsBD,CAzBD,C,CA2BA;;;AAEA,MAAMK,QAAQ,GAAG,CAAC;AAACP,EAAAA,QAAD;AAAWQ,EAAAA,YAAX;AAAyBP,EAAAA;AAAzB,CAAD,KAA0C;AACzDhB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMwB,UAAU,GAAG,MAAM;AACvBD,MAAAA,YAAY;AACZ,aAAO,IAAP;AACD,KAHD,CADc,CAMd;;;AACA,UAAME,WAAW,GAAGpB,WAAW,CAACqB,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;AAEA,WAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;AACD,GAVQ,EAUN,CAACJ,YAAD,CAVM,CAAT;AAYA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEf,MAAM,CAACE;AAApB,kBACE,oBAAC,OAAD;AAAS,IAAA,QAAQ,EAAEK,QAAnB;AAA6B,IAAA,UAAU,EAAEC;AAAzC,IADF,CADF;AAKD,CAlBD,C,CAoBA;;;AAEAM,QAAQ,CAAChB,SAAT,2CAAqBA,SAArB;AACAQ,OAAO,CAACR,SAAR,2CAAoBgB,QAAQ,CAAChB,SAA7B,M,CAEA;;AAEA,eAAegB,QAAf","sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, Pressable, View, BackHandler} from 'react-native';\nimport propTypes from './prop-types';\nimport {ViewNames} from './common';\n\n// -----------------------------------------------------------------------------\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst NavText = ({viewName, navigateTo}) => {\n const handlePress = v => () => navigateTo(v);\n\n switch (viewName) {\n case ViewNames.home:\n return (\n <Pressable onPress={handlePress('onboarding')}>\n <Text>view home</Text>\n </Pressable>\n );\n case ViewNames.onboarding:\n return (\n <Pressable onPress={handlePress('quizzer')}>\n <Text>view onboarding</Text>\n </Pressable>\n );\n case ViewNames.slides:\n return (\n <Pressable onPress={handlePress('home')}>\n <Text>view quizzer</Text>\n </Pressable>\n );\n default:\n return <Text>view (none selected)</Text>;\n }\n};\n\n// -----------------------------------------------------------------------------\n\nconst RootView = ({viewName, navigateBack, navigateTo}) => {\n useEffect(() => {\n const backAction = () => {\n navigateBack();\n return true;\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <NavText viewName={viewName} navigateTo={navigateTo} />\n </View>\n );\n};\n\n// -----------------------------------------------------------------------------\n\nRootView.propTypes = propTypes;\nNavText.propTypes = RootView.propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default RootView;\n"],"file":"root-view.native.js"}